PHP Kılavuzu

Yazan:
Mehdi Achour
Friedhelm Betz
Antony Dovgal
Nuno Lopes
Hannes Magnusson
Georg Richter
Damien Seguy
Jakub Vrana
Devamı burada
16-12-2023
Düzenleyen: Peter Cowburn
Mustafa Aldemir
Nilgün Belma Bugüner
Yücel Haluk Bugüner
Emre Çamalan
Yaşar Dereli
Faruk Enes
Behzat Erte
Alper Ersoy
Hilmi Erdem Keren
Ekin Koç
Buğra Gökalp Okçu
Cumhur Onat
Onur Özgür Özkan
Sinan Polat
Serdar Soydemir
Mesut Tunga
Aydın Uzun
Bünyamin Vıcıl
Sezer Yalçın
çeviriye katkıda bulunmuşlardır.
© 1997-2023 PHP Belgelendirme Grubu
  • Telif Hakkı
  • PHP Kılavuzu
    • Önsöz
  • Başlarken
    • Giriş
    • Basit bir eğitmen
  • Yapılandırma ve Kurulum
    • Genel Kurulum Değerlendirmesi
    • Unix Sistemlere Kurulum
    • macOS üzerine Kurulum
    • Windows Sistemlerine Kurulum
    • Bulut Bilişim Platformlarına Kurulum
    • FastCGI Process Manager (FPM)
    • PECL eklentilerinin kurulması
    • Sorunlar?
    • Çalışma Anı Yapılandırması
  • Dil Başvuru Kılavuzu
    • Temel Sözdizimi
    • Türler
    • Değişkenler
    • Sabitler
    • İfadeler
    • İşleçler
    • Denetim Yapıları
    • İşlevler
    • Sınıflar ve Nesneler
    • İsim Alanları
    • Sayılamalar
    • Hatalar
    • İstisnalar
    • Fiberler
    • Üreteçler
    • Öznitelikler
    • Gönderimlerle İlgili Herşey
    • Öntanımlı Değişkenler
    • Öntanımlı İstisnalar
    • Öntanımlı Arayüzler ve Sınıflar
    • Ön tanımlı Öznitelikler
    • Bağlam seçenekleri ve bağımsız değişkenleri
    • Desteklenen Protokoller ve Sarmalayıcılar
  • Güvenlik
    • Giriş
    • Genel değerlendirmeler
    • Installed as CGI binary
    • Apache'ye modül olarak kurulum
    • Oturum Güvenliği
    • Dosya Sistemi Güvenliği
    • Database Security
    • Error Reporting
    • Kullanıcıdan Gelen Bilgi
    • PHP'yi gizlemek
    • Güncel Tutmak
  • Özellikler
    • PHP ile HTTP Kimlik Doğrulaması
    • Çerezler
    • Oturumlar
    • XForms ile çalışmak
    • Karşıya dosya yükleme
    • Uzak dosyaların kullanımı
    • Bağlantı yönetimi
    • Kalıcı Bağlantılı Veritabanı Bağlantıları
    • Komut satırından kullanım — PHP'nin komut satırından kullanımı
    • Garbage Collection
    • DTrace Dynamic Tracing
  • İşlev Başvuru Kılavuzu
    • PHP'nin Davranışını Etkileyenler
    • Ses Biçemleme İşlemleri
    • Kimlik Doğrulama Hizmetleri
    • Komut Satırına Özgü Eklentiler
    • Sıkıştırma ve Arşivleme Eklentileri
    • Şifresel Eklentiler
    • Veritabanı Eklentileri
    • Tarih ve Saat ile İlgili Eklentiler
    • Dosya Sistemiyle İlgili Eklentiler
    • İnsan Dilleri ve Karakter Kodlaması Desteği
    • Resim İşleme ve Resim Üretimi
    • Postayla İlgili Eklentiler
    • Matematiksel Eklentiler
    • Salt Metin Olmayan MIME Çıktılama
    • Süreç Denetim Eklentileri
    • Diğer Temel Eklentiler
    • Diğer Hizmetler
    • Arama Motoru Eklentileri
    • Sunuculara Özgü Eklentiler
    • Oturum Eklentileri
    • Metin İşleme
    • Değişkenler ve Veri Türleriyle İlgili Eklentiler
    • HTTP Hizmetleri
    • Windows’a Özgü Eklentiler
    • XML İşleme
    • GUI Eklentileri
  • SSS — Sıkça Sorulan Sorular
    • Genel Bilgi
    • Eposta listeleri — Posta Listeleri
    • PHP'nin Temini
    • Veritabanı Sorunları
    • Kurulum
    • Derleme Sorunları
    • PHP Kullanımı
    • Parola aşlama — Güvenli Parola aşlama
    • PHP ve HTML
    • PHP ve COM
    • Çeşitli Sorular
  • Ekler
    • History of PHP and Related Projects
    • Migrating from PHP 8.2.x to PHP 8.3.x
    • Migrating from PHP 8.1.x to PHP 8.2.x
    • Migrating from PHP 8.0.x to PHP 8.1.x
    • Migrating from PHP 7.4.x to PHP 8.0.x
    • Migrating from PHP 7.3.x to PHP 7.4.x
    • Migrating from PHP 7.2.x to PHP 7.3.x
    • Migrating from PHP 7.1.x to PHP 7.2.x
    • Migrating from PHP 7.0.x to PHP 7.1.x
    • Migrating from PHP 5.6.x to PHP 7.0.x
    • Migrating from PHP 5.5.x to PHP 5.6.x
    • PHP'de Hata Ayıklama
    • Yapılandırma Seçenekleri
    • php.ini Yönergeleri
    • Eklenti Grupları/Listesi
    • İşlev Takma Adlarının Listesi
    • Yerleşik Sözcüklerin Listesi
    • Özkaynak Türlerinin Listesi
    • Kullanılabilir Süzgeçlerin Listesi
    • Desteklenen Soket Aktarımlarının Listesi
    • PHP Tür Karşılaştırma Tabloları
    • Çözümleyici Dizgeciklerinin Listesi
    • Kullanıcı Alanı İsimlendirme Kılavuzu
    • About the manual
    • Creative Commons Attribution 3.0
    • Genel Dizin
    • Sürüm Bilgisi
  • HTML Yardım Dosyası (.chm) Sürümü
    • About This Edition
    • Using PHP Manual CHM Edition
    • The Full Text Search
    • Integrating the PHP Manual


Telif Hakkı

Copyright © 1997 - 2023 PHP Belgelendirme Grubu. Bu belge, sadece Creative Commons Attribution lisansının 3.0 veya sonraki sürümlerinin koşullarına bağlı kalınarak dağıtılabilir. Creative Commons Attribution lisansının 3.0 sürümü bu kılavuzla birlikte dağıtılmaktadır. Şu anki son sürümü » http://creativecommons.org/licenses/by/3.0/ adresinden temin edilebilir.

Bu belgenin kısmen veya tamamen, değiştirilerek veya aynen yayınlanması veya dağıtılması ile ilgileniyorsanız ve bu konuda sorularınız varsa, lütfen » doc-license@lists.php.net adresinden telif hakkı sahiplerine yazınız. Bu adres içeriği halka açık olarak arşivlenen bir eposta listesine aittir.


  • « Telif Hakkı
  • Önsöz »
  • PHP Manual
  • PHP Kılavuzu

PHP Kılavuzu

  • Önsöz


Önsöz

PHP, "PHP: Hypertext Preprocessor" sözcüklerinin baş harfleriyle temsil edilen HTML içine gömülebilir açık kaynak kodlu, genel amaçlı, özellikle site geliştirmeye uygun bir betik dilidir. Dil yapısının önemli bir kısmını C, Java ve Perl gibi dillerden almış, kendisine has özelliklerle bu yapıyı pekiştirmiş, kolay öğrenilen bir dildir. Dilin ana amacı, site geliştiricilerinin devingen sayfalar oluşturmasını çabuklaştırmaksa da PHP ile çok daha fazlasını yapabilirsiniz.

Bu kılavuz temel olarak bir işlev başvuru kılavuzudur. Fakat bunun yanında bir dil kılavuzu, PHP'nin önemli özelliklerinin bazılarının açıklamaları ile tamamlayıcı bazı bilgiler de içermektedir.

Bu kılavuzu çeşitli biçemlerde » https://www.php.net/download-docs.php adresinden temin edebilirsiniz. Bu kılavuzun nasıl geliştirildiğiyle ilgili daha ayrıntılı bilgi edinmek için eklerdeki 'Kılavuz Hakkında' bölümüne bakabilirsiniz. PHP'nin tarihçesi ile ilgileniyorsanız onu da ek bölümler arasında bulabilirsiniz.

Yazarlar ve Katkıda Bulunanlar

Kılavuzun ön sayfasında şu anda en etkin kişileri ön plana çıkartıyoruz, ancak çalışmamıza halen katkıda bulunmakta olan birçok kişi ve geçmişte önemli katkılarda bulunmuş birçok insan var. Kılavuz sayfalarında kullanıcı önerileri üzerinden katılımda bulunarak destek veren birçok isimsiz kişi var. Bu kişiler düzenli olarak buradaki listelere ekleniyor, tüm katılımcılara destekleri için müteşekkiriz. Aşağıdaki listelerde isimler alfabetik olarak sıralanmıştır.

Yazarlar ve Düzeltmenler

Burada yer alan katılımcılar kılavuzun içeriğine yaptıkları ve/veya yapmakta oldukları eklemelerden dolayı takdir edilmelidirler: Bill Abt, Jouni Ahto, Alexander Aulbach, Stig Bakken, George Peter Banyard, Christoph M. Becker, Daniel Beckham, Nilgün Belma Bugüner, Jesus M. Castagnetto, Ron Chmara, Sean Coates, John Coggeshall, Simone Cortesi, Peter Cowburn, Daniel Egeberg, Markus Fischer, Wez Furlong, Sara Golemon, Rui Hirokawa, Brad House, Pierre-Alain Joye, Etienne Kneuss, Moriyoshi Koizumi, Rasmus Lerdorf, Andrew Lindeman, Stanislav Malyshev, Justin Martin, Rafael Martinez, Rick McGuire, Moacir de Oliveira Miranda Júnior, Kalle Sommer Nielsen, Yasuo Ohgaki, Philip Olson, Richard Quadling, Derick Rethans, Rob Richards, Sander Roobol, Egon Schmid, Thomas Schoefbeck, Sascha Schumann, Dan Scott, Masahiro Takagi, Yoshinari Takaoka, Yannick Torres, Michael Wallner, Lars Torben Wilson, Jim Winstead, Jeroen van Wolffelaar ve Andrei Zmievski.

Burada yer alan katılımcılar kılavuzun düzenlenmesi çalışmasında kayda değer katkılarda bulunmuşlardır: Stig Bakken, Gabor Hojtsy, Hartmut Holzgraefe, Philip Olson ve Egon Schmid.

Kullanıcı Önerilerini Sürdürenler

Şu anki en etkin geliştiriciler: Daniel Brown, Nuno Lopes, Felipe Pena, Thiago Pojda ve Maciek Sokolewicz.

Bu kişiler kullanıcı önerilerinin yönetiminde çok ciddi çaba sarfetmişlerdir: Mehdi Achour, Daniel Beckham, Friedhelm Betz, Victor Boivie, Jesus M. Castagnetto, Nicolas Chaillan, Ron Chmara, Sean Coates, James Cox, Vincent Gevers, Sara Golemon, Zak Greant, Szabolcs Heilig, Oliver Hinckel, Hartmut Holzgraefe, Etienne Kneuss, Rasmus Lerdorf, Matthew Li, Andrew Lindeman, Aidan Lister, Hannes Magnusson, Maxim Maletsky, Bobby Matthis, James Moore, Philip Olson, Sebastian Picklum, Derick Rethans, Sander Roobol, Damien Seguy, Jason Sheets, Tom Sommer, Jani Taskinen, Yasuo Ohgaki, Jakub Vrana, Lars Torben Wilson, Jim Winstead, Jared Wyles ve Jeroen van Wolffelaar.


Başlarken

  • Giriş
    • PHP nedir?
    • PHP neler yapabilir?
  • Basit bir eğitmen
    • Neye ihtiyaç var?
    • İlk PHP-etkin sayfa
    • İşe yarar bir şey
    • Form Kullanımı
    • Sonraki adım nedir?


  • « Başlarken
  • PHP nedir? »
  • PHP Manual
  • Başlarken
  • Giriş

Giriş

İçindekiler

  • PHP nedir?
  • PHP neler yapabilir?


PHP nedir?

PHP (açılımı PHP: Hypertext Preprocessor) geniş bir kitle tarafından kullanılan, özellikle sanal yöreler üzerinde geliştirme için tasarlanmış HTML içine gömülebilen bir betik dilidir.

Tamam da, bu tam olarak ne anlama gelmektedir? Bir örnek:

Örnek 1 - Başlangıç olarak bir örnek

<!DOCTYPE html>
<html>
<head>
<title>Örnek</title>
</head>
<body>

<?php
echo "Merhaba, ben bir PHP betiğiyim!";
?>

</body>
</html>

Bir PHP betiğinin Perl ya da C gibi dillerden ne kadar farklı bir yapıda olduğuna dikkat edin. HTML kodu oluşturmak için bir sürü kod yazacağınıza, istediğiniz işi yapan bir PHP kodu yazıp onu HTML kodunun içine gömüyorsunuz (bu örnekte, yapılan iş ekrana yazı yazmak). PHP kodu <?php ve ?> özel başlangıç ve bitiş etiketleri arasına yazılır. Bu etiketler "PHP kipine" rahatlıkla girip çıkabilmenizi sağlarlar.

PHP'yi Javascript gibi kullanıcı tarafında çalışan dillerden ayıran, sunucu tarafında çalıştırılıyor olmasıdır. Yukardaki örnekteki kodu kendi sunucunuzda çalıştırırsanız, sitenize bağlanan kullanıcılar kodu göremeyecekler ve müdahale edemeyecekler, yalnızca sonucu görebileceklerdir. Dilerseniz HTTP sunucunuzu bütün HTML dosyalarınızı PHP dosyası olarak görüp işleyecek hale bile getirebilirsiniz. Buna rağmen kullanıcılar sizin gerçekte sunucu taraflı bir uygulama kullandığınızı fark edemeyebilirler.

PHP kullanmanın en güzel yanlarından biri, yeni kullanıcılar için öğreniminin oldukça kolay olması ve aynı zamanda profesyonel kullanıcılar için ileri seviyede özellikler içermesidir. PHP'nin uzun özellikler listesini okumaktan korkmayın. Kısa sürede PHP ile programlamaya başlayabilir ve birkaç saat içersinde basit programlar yazmaya başlayabilirsiniz.

PHP'nin gelişimi sunucu-taraflı programlamaya odaklanmışsa da, çok daha fazlasını yapmanıza olanak tanıyan araçlara da sahiptir. PHP neler yapabilir? bölümünde bu araçlar hakkında daha fazla bilgiye ulaşabilirsiniz. Eğer yalnızca site programlama ile ilgileniyorsanız, Basit bir eğitmen bölümünden devam edebilirsiniz.


PHP neler yapabilir?

Her şeyi. PHP temel olarak sunucu-taraflı programlamaya odaklanmıştır, bu nedenle CGI uygulamalarının yaptığı her şeyi, örneğin formdan veri toplama, dinamik sayfa içeriği oluşturma, ya da çerez alıp gönderme gibi işlemleri yapabilirsiniz. Ancak PHP bunlardan çok daha fazlasını yapabilecek yetenektedir.

PHP betiklerinin kullanıldığı başlıca üç alan vardır.

  • Sunucu-taraflı programlama. Bu PHP için en geleneksel ve en temel olan alandır. Sunucu-taraflı programlama için üç şeye sahip olmanız gerekir: PHP çözümleyici (CGI ya da sunucu modülü), bir HTTP sunucusu ve bir tarayıcı. PHP programlamada deneyimliyseniz tüm bunları evinizdeki makinede çalıştırabilirsiniz. Yapılandırma ve Kurulum bölümünden bununla ilgili daha fazla bilgiye ulaşabilirsiniz.
  • Komut satırı uygulamaları. Bir PHP uygulamasını komut satırından hiçbir sunucu ya da tarayıcı uygulama kullanmadan çalıştırabilirsiniz. Burada tek ihtiyacınız olan PHP çözümleyicidir. Bu tür kullanım cron üzerinden (Windows eşdeğeri görev yöneticisi) düzenli çalıştırılan işlemler ya da basit metin işleme görevleri için idealdir. PHP'nin komut satırında kullanımı bölümünde daha ayrıntılı bilgiye ulaşabilirsiniz.
  • Masaüstü uygulamalarının yazımı. PHP için görsel uygulamaların yazılabileceği en iyi dil diyemeyiz, ancak PHP'yi iyi biliyorsanız ve PHP'nin birtakım ileri seviye özelliklerini kendi istemci taraflı uygulamalarınızda kullanmak istiyorsanız, PHP-GTK eklentisini bu tip programlar yazmak için kullanabilirsiniz. Bu şekilde platformdan bağımsız uygulamalar yazma şansına da kavuşacaksınız. PHP-GTK, PHP için bir eklentidir ve ana dağıtımda yer almaz. PHP-GTK ilginizi çektiyse, » kendi sitesini ziyaret edebilirsiniz.

PHP bütün büyük işletim sistemlerinde, Linux, birçok Unix türevi (HP-UX, Solaris, OpenBSD vb.), Microsoft Windows, MacOS, RISC OS dahil olmak üzere çok çeşitli platformlarda çalışabilir. PHP benzer biçimde bugün yaygın biçimde kullanılan HTTP sunucularının büyük kısmını destekler. Bunlara Apache, IIS ve daha birçok sunucuyu örnek gösterebiliriz. Bunlara FastCGI PHP çalıştırılabilirini kullanan lighttpd ve nginx gibi sunucular da dahildir. PHP modül olarak kullanılabildiği gibi bir CGI işleyici olarak da çalıştırılabilir.

Sonuç olarak, PHP ile işletim sistemi ve HTTP sunucusu seçme özgürlüğüne sahipsiniz. Dahası, hangi programlama yöntemini kullanacağınıza, işlevsel yaklaşımı mı yoksa nesne yönelimli yaklaşımı mı yoksa her ikisini birden mi kullanacağınıza kendiniz karar verebilirsiniz.

PHP'nin yetenekleri yalnızca HTML çıktı üretmekle sınırlı değildir. Örneğin, görüntüler ve PDF dosyaları gibi zengin çeşitlilikte dosya türünün çıktılanması, veri şifreleme, epostaların gönderilmesi ve daha pek işlem PHP'nin yetenekleri arasındadır. Aynı şekilde Jason ya da XML gibi her türden metin tabanlı dosyayı oluşturabilmek mümkündür. PHP bu dosyaları otomatik olarak oluşturabilir ve ekrana yazdırmanın yanında dosya sisteminde saklayabilir, böylece dinamik içerik için sunucu-taraflı bir depo sistemini kullanıma sunabilir.

PHP'nin en güçlü ve en çok üstünde durulan özelliklerinden biri, sahip olduğu geniş ve gelişmiş veritabanı desteğidir. Veritabanlarına özgü eklentilerden birini (örn. mysql) kullanarak veya PDO gibi bir soyutlama katmanı kullanarak PHP ile veritabanı bağlantılı site sayfaları oluşturmak ya da ODBC eklentisi üzerinden bu standardı destekleyen bir bağlantı açmak son derece basittir. Diğer veritabanları için cURL eklentisi veya soketler (CouchDB gibi) kullanılabilir.

PHP, farklı hizmetlerle LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (Windows için) ve daha sayısız protokol aracılığıyla iletişim kurabilecek bir altyapıya da sahiptir. Hazır modüllerin haricinde ham ağ soketleri açıp bu soketler üzerinden istediğiniz bütün protokollerle çalışabilirsiniz. PHP, WDDX üzerinden sanal olarak sanal doku üzerinde hangi dilde yazılmış olursa olsun tüm uygulamalarla haberleşebilir. Ayrıca Java nesnelerinin oluşturulabilmesi ve şeffaf biçimde PHP nesneleri olarak kullanılabilmeleri önemli bir diğer özelliktir.

PHP oldukça faydalı belge işleme özelliklerine sahiptir. Bu yelpaze Genişletilmiş POSIX ya da Perl düzenli ifade komutlarından (PCRE) XML dosyalarını okumaya ve çözümlemeye kadar uzanır. PHP tüm XML uzantılarını libxml2 tabanında tek bir standartta toplamış ve SimpleXML ile XMLReader ve XMLWriter desteğini de bünyesine katarak sunduğu imkan yelpazesini genişletmiştir.

Alfabetik olarak ve sınıflandırılarak belgelenmiş daha pek çok ilginç eklenti vardır. Bunlara ek olarak » XDebug gibi PHP kılavuzu içinde belgelenmiş ya da belgelenmemiş PECL eklentileri de mevcuttur.

Sizin de görebildiğiniz gibi bu sayfa PHP'nin sunabileceği bütün özellikleri ve faydaları anlatabilmek için yeterli değil. Yapılandırma ve Kurulum bölümünde ve İşlev başvuru kılavuzunda listelenen eklentilerin başlangıç bölümlerindeki açıklamalardan her bir eklenti için daha fazla bilgiye ulaşabilirsiniz.


Basit bir eğitmen

İçindekiler

  • Neye ihtiyaç var?
  • İlk PHP-etkin sayfa
  • İşe yarar bir şey
  • Form Kullanımı
  • Sonraki adım nedir?

Bu bölümde PHP ile ilgili en temel bilgilerdan bahsedilecek, kısa ve basit bir eğitmenden yararlanılacaktır. Bu eğitmen yalnızca PHP ile etkileşimli site sayfaları geliştirmeyi ele alır, ancak PHP'nin yeteneği yalnızca site sayfaları oluşturmakla sınırlı değildir. Daha fazla bilgi için PHP'nin yapabildikleri bölümü incelenebilir.

PHP tarafından etkinleştirilen site sayfaları normal HTML sayfaları gibidir ve bu sayfaları normal HTML sayfaları için kullanılan yöntemlerle oluşturulabilir ve düzenlenebilir.


Neye ihtiyaç var?

Bu eğitmen süresince HTTP sunucusunda PHP desteğinin etkinleştirilmiş olduğu ve tüm .php uzantılı dosyaların PHP tarafından yorumlandığı varsayılacaktır. Çoğu sunucuda, bu uzantı PHP dosyaları için öntanımlı dosya uzantısıdır, ancak emin olmak için sunucunun yöneticisinden doğru bilgi edinilebilir. Kullanılan sunucu PHP'yi destekliyorsa, başka hiçbir şeye ihtiyaç yok demektir. Yalnızca .php uzantılı dosyaları oluşturup sunucunun belge dizinlerine koymak, sunucunun bu dosyayı otomatik olarak işleme koyması için yeterli olacaktır. Herhangi bir şeyi derlemek ya da fazladan bir araç kurulumu yapmak gerekmemektedir. PHP tarafından etkinleştirilen dosyalar yeni bir tür HTML dosyası olarak düşünülebilir. Öyle ki, artık HTML dosyasının içine sihirli birtakım etiketler konabilir ve bu etiketler sayesinde istenen her tür işlem gerçekleştirilebilir.

Çok değerli olan band genişliği boşa harcanmadan yerel olarak geliştirme yapılmak isteniyor olsun. Bu durumda, » Apache gibi bir HTTP sunucusunun ve elbette » PHP'nin indirilmesi ve kurulması gerekecektir. Bu ikilinin yanında, » MySQL gibi bir veritabanının da indirilip kurulması iyi olacaktır.

Bu üçlüyü tek tek kurmak yerine daha basit bir yol izlenebilir. Bu kılavuz PHP için kurulum bilgileri (HTTP sunucunuzun halihazırda kurulu olduğunu varsayılır) bölümüne sahiptir. PHP'yi kurmakta sorun yaşanırsa, sorunların çözümü için » kurulum posta listesi'ne başvurulabilir. Daha basit bir yoldan gitmek istenirse, işletim sistemine uygun olan » ön yapılandırmalı paketler seçilebilir ve tüm bu araçlar bir kaç fare tıklamasıyla otomatik olarak yüklenebilir. MacOSX, Linux ve Windows dahil olmak üzere birçok işletim sistemine PHP destekli bir HTTP sunucusu kurmak oldukça kolaydır. Linux üzerinde, » rpmfind ve » PBone gibi araçlar RPM dosyalarını bulmakta yardımcı olacaktır. Debian için ise » apt-get sayfası ziyaret edilebilir.


İlk PHP-etkin sayfa

merhaba.php isimli bir dosya oluşturulup HTTP sunucusunun belge kök dizinine (DOCUMENT_ROOT) aşağıdaki içerikle kaydedilebilir:

Örnek 1 - İlk PHP betiği: merhaba.php

<html>
<head>
<title>PHP Denemesi</title>
</head>
<body>
<?php echo '<p>Merhaba Dünya</p>'; ?>
 </body>
</html>

Tarayıcıyı kullanarak HTTP sunucusunun adresine erişilebilir, bunun için sunucu alan adının sonuna /merhaba.php eklemek yeterli olacaktır. Yerel olarak geliştirme yaparken bu URL http://localhost/merhaba.php veya http://127.0.0.1/merhaba.php ya da http://[::1]/merhaba.php gibi bir şey olacaktır, ancak bu HTTP sunucusunun yapılandırma ayarlarına bağlıdır. Eğer her şey düzgün yapılandırılmışsa, bu dosya PHP tarafından işlenecek ve aşağıdaki çıktı tarayıcıya gönderilecektir:

<html>
  <head>
    <title>PHP Denemesi</title>
  </head>
  <body>
    <p>Merhaba Dünya</p>
  </body>
</html>

Bu kod gördüğünüz gibi son derece basittir ve esasında böyle bir sayfa oluşturmak için PHP'ye gereksinim yoktur. Görüntülenen: PHP'nin echo deyimi kullanılarak elde edilen Merhaba Dünya cümlesidir. Bu dosyanın hiçbir şekilde çalıştırılabilir olmasına ya da özel bir türde olmasına ihtiyaç duyulmaz. Sunucu, bu dosyanın PHP tarafından işlenmesi gerektiğini bilir, çünkü dosyaya ".php" uzantısı tanımlanmıştır. Sunucu bu uzantıya sahip dosyaları PHP'ye aktaracak biçimde yapılandırılmıştır. Bu dosya birtakım özel etiketlerle birçok ilginç işlem yapılmasını sağlayan bir tür HTML dosyası olarak düşünülebilir.

Bu örnek denendiği halde hiçbir çıktı alınamazsa, dosyanın indirilmesi istendiyse ya da dosyanın tüm içeriği metin olarak ekranda görünüyorsa, büyük ihtimalle sunucunun PHP desteği etkinleştirilmemiştir ya da sunucu doğru yapılandırılmamıştır. Sistem yöneticisinden kılavuzdaki Kurulum bölümünü kullanarak PHP'yi etkinleştirmesi istenebilir. Yerel olarak geliştirme yapılıyorsa, kurulum bölümü okunarak herşeyin doğru yapılandırılması sağlanabilir. Çıktıyı sağlayan sunucudaki dosyaya http:// üzerinden erişilmelidir. Dosya file:// üzerinden isteniyorsa, PHP tarafından işlenmeyecektir. Sorun her şeye rağmen devam ediyorsa, » PHP desteği alma yöntemleri kullanılabilir.

Bu örneğin amacı özel PHP etiketi biçemini göstermektir. Örnekte <?php ile PHP başlangıç etiketi belirtilmektedir. Sonra PHP komutu yazılmış ve kapanış etiketi ?> kullanarak PHP kipinden çıkılmıştır. Bir HTML dosyasında bu yöntem kullanılarak gereken yerde PHP kipine girip çıkılabilir. Daha fazla bilgi için, kılavuzun temel PHP sözdimi bölümünü okunabilir.

Bilginize: Satır-sonları hakkında

Satır-sonu karakterlerinin HTML içinde bir önemi yoktur, bununla birlikte HTML kodunun göze hoş görünmesi için satır-sonu karakterlerini kullanmak gerekir. ?> kapama etiketinin hemen ardından gelen satır-sonu karakterini PHP silecektir. Dosyanın içine çok sayıda PHP kodu konulması veya hiçbir şey çıktılamayan betiklerin dosyaya dahil edilmesi durumunda bu çok işe yarar. Ancak bu biraz kafa karıştırıcı olabilir. ?> kapama etiketinden sonra bir satır-sonu karakterinin çıktılanması istenirse, ya kapama etiketinden sonra bir boşluk bırakıp onun ardına satır-sonu karakteri konulmalı ya da PHP kodunun son echo/print deyiminin sonuna bir satır-sonu karakteri eklenmelidir.

Bilginize: Metin Düzenleyiciler Hakkında

PHP dosyalarını oluşturmak, düzenlemek ve yönetmek için birçok metin düzenleyici ve Bütünleşik Geliştirme Ortamı (BGO) bulunmaktadır. Bu araçların bir kısmı » PHP Düzenleyicileri Listesi bölümünde listelenmiştir. Önerilmesi istenen bir düzenleyici varsa, yukarıdaki sayfayı ziyaret edilip sayfa idarecisinden önerilmek istenen düzenleyicinin bu listeye eklemesi rica edilmelidir. Söz dizimi vurgulaması olan bir düzenleyicinin büyük yardımı olur.

Bilginize: Kelime İşlemciler Hakkında

StarOffice Writer, Microsoft Word ve Abiword gibi kelime işlemciler PHP dosyalarını düzenlemek için uygun değildir. Eğer bu deneme betiği için bunlardan biri kullanılmak istenirse, dosyanın salt metin olarak kaydedildiğinden emin olunmalıdır, aksi takdirde PHP'nin betiği okuması ve çalıştırması mümkün olmayacaktır.

Artık çalışır bir PHP betiği başarıyla oluşturulduğuna göre, PHP betiklerinin en ünlüsünü oluşturma zamanı geldi demektir! phpinfo() işlevi çalıştırılıp sistem ve yapılandırma ilgili öntanımlı değişkenler, yüklü PHP modülleri ve yapılandırma ayarları gibi konularda faydalı birçok bilgiye ulaşılabilir. Bu önemli bilgiler için biraz vakit ayrılması ve bunların incelenmesi önerilir.

Örnek 2 - PHP ile sistem bilgisine ulaşmak

<?php phpinfo(); ?>


İşe yarar bir şey

Bu kez kod daha işe yarar bir şey yapsın. Ziyaretçinin hangi tarayıcıyı kullandığı tespit edilebilir. Bunun için, ziyaretçinin tarayıcısı tarafından HTTP isteği ile birlikte gönderilen kullanıcı aracısı dizgesine bakılır. Bu bilgi bir değişkende saklanır. Değişkenler PHP'de her zaman dolar imi ile başlar. Şu an için ilgilenilen değişken $_SERVER['HTTP_USER_AGENT']'tir.

Bilginize:

$_SERVER PHP kullanımına ayrılmış özel bir değişken olup HTTP sunucusunun tüm bilgilerini içerir. Bu tür değişkenlere süper küreseller denir. Bu konuda daha ayrıntılı bilgi Süper Küreseller bölümünde bulunabilir.

Bu değişkenin değerinin görüntülenmesi için yapılacaklar:

Örnek 1 - Bir değişkeni (dizi öğesini) yazdırmak

<?php echo $_SERVER['HTTP_USER_AGENT']; ?>

Bu betiğin çıktısı şöyle bir dizge olabilirdi:

Mozilla/5.0 (Linux) Firefox/112.0

PHP'de birçok farklı değişken türü mevcuttur. Yukardaki örnekte bir diziye ait bir öğe yazdırıldı. Diziler çok daha kullanışlı olabilir.

$_SERVER PHP tarafından kullanıma otomatik olarak sunulan bir değişkendir. Kullanım kılavuzunun Öntanımlı Değişkenler bölümünden tümünün listesine ulaşılabilir ya da önceki örnekte kullanılan phpinfo() işlevi ile üretilen çıktıya bakarak bütün listeye ulaşılabilir.

PHP etiketinin içine birden çok PHP komutu konabilir ve tek bir echo komutundan daha fazlasını yapan küçük kodlar oluşturulabilir. Örneğin, ziyaretçin Firefox kullanıp kullanmadığı şöyle saptanabilir:

Örnek 2 - Denetim yapılarının ve işlevlerin kullanım örneği

<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
echo 'Firefox kullanıldığı saptandı';
}
?>

Bu betiğin çıktısı şöyle olabilirdi:

Firefox kullanıldığı saptandı.

Burada birkaç yeni kavram devreye sokuldu. Örneğin, if deyimi; C dilinde kullanılan temel sözdizimine aşinalık varsa, bu kullanım tanıdık gelecektir. Aksi takdirde, giriş düzeyinde bir PHP kitabı edinilmesi ve ilk birkaç bölümünün okunması ya da kılavuzun Dil Başvuru Kılavuzu bölümünün okunması faydalı olacaktır.

Devreye sokulan ikinci kavram, str_contains() işlevi ile yapılan çağrı oldu. str_contains(), bir dizgeyi başka bir dizgenin içinde arayan yerleşik bir PHP işlevidir. Burada $_SERVER['HTTP_USER_AGENT'] içinde (samanlık) 'Firefox' dizgesi (iğne) aranıyor. İğne samanlıkta bulunursa true, aksi takdirde false döner. if ifadesinin sonucu true olduğu takdirde kaşlı ayraçlar arasındaki kod çalıştırılır. Aksi takdirde kod çalıştırılmaz. If, else gibi denetim yapıları ile strtoupper() ve strlen() gibi işlevler kullanılarak benzer örnekler yazılabilir. İlgili her kılavuz sayfası aynı zamanda örnekler de içermektedir. Bu işlevlerin nasıl kullanması gerektiğinden emin olunamıyorsa, kılavuzdaki bir işlev tanımı nasıl okunur ve PHP işlevleri bölümleri okunabilir.

Bu bir adım öteye taşınabilir ve bir PHP kodunun tam ortasındayken bile HTML kipine nasıl girilip çıkılabileceği gösterilebilir:

Örnek 3 - HTML ve PHP kiplerini karıştırmak

<?php
if (str_contains($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
?>
<h3>str_contains() false döndürmemiş olmalı</h3>
<p>Firefox kullanıldığı saptandı.</p>
<?php
} else {
?>
<h3>str_contains() false döndürmüş olmalı</h3>
<p>Firefox kullanılmadığı saptandı.</p>
<?php
}
?>

Bu betikten elde edilebilecek sonuçlardan biri:

<h3>str_contains() false döndürmemiş olmalı</h3>
<p>Firefox kullanıldığı saptandı.</p>

Bir çıktı üretmek için PHP echo komutunu kullanmak yerine, PHP kipinden çıkıldı ve düz HTML gönderildi. Burada dikkat edilmesi gereken önemli nokta, betiğin mantıksal akışının değişmiyor olmasıdır. str_contains() işlevinden edinilen sonuca göre HTML kod çiftlerinden yalnızca biri görüntüleyiciye gönderilmektedir. Başka bir deyişle, bu işleyiş Firefox dizgesinin bulunup bulunmamasına bağlıdır.


Form Kullanımı

PHP'nin en güçlü özelliklerinden biri HTML formlarına yaklaşım biçimidir. Bilinmesi gereken ilk önemli durum, form içindeki tüm elemanların PHP tarafından otomatik olarak kullanılabilir olacağıdır. PHP ile formların kullanımı ve daha ayrıntılı bilgi için Dış kaynaklı değişkenler bölümü okunabilir. Örnek HTML formu:

Örnek 1 - Örnek HTML formu

<form action="action.php" method="post">
    <label for="name">İsminiz:</label>
    <input name="name" id="name" type="text">

    <label for="age">Yaşınız:</label>
    <input name="age" id="age" type="number">

    <button type="submit">Gönder</button>
</form>

Bu formda özel hiçbir şey yoktur. Hiçbir özel etiket içermeyen düz bir HTML formudur. Kullanıcı formu doldurup 'Gönder' tuşuna bastığında, action.php sayfası çağrılır. Bu dosyaya aşağıdakiler yazılabilir:

Örnek 2 - Formdan veri yazdırmak

Merhaba <?php echo htmlspecialchars($_POST['name']); ?>.
Siz <?php echo (int)$_POST['age']; ?> yaşındasınız.

Bu betikten elde edilecek örnek çıktı:

Merhaba Ahmet. Siz 22 yaşındasınız.

htmlspecialchars() ve (int) kısımları haricinde yapılan iş oldukça açıktır. htmlspecialchars() işlevi HTML'ye özel karakterlerin doğru şekilde kodlandığından emin olunmasını sağlar, dolayısıyla başkaları sayfanıza dışardan HTML etiketleri veya Javascript yerleştiremez. Yaş alanınında ise değerin bir tamsayı olması gerektiği bilindiğinden değerin int türüne dönüştürülmesiyle otomatik olarak bu alana girilmesi olası başı boş karakterlerden de kurtulmuş olunmaktadır. Ayrıca, bunun PHP'de otomatik olarak yapılmasını sağlamak için süzgeç eklentisi de kullanılabilirdi. $_POST['isim'] değişkeni ve $_POST['yaş'] değişkenleri PHP tarafından otomatik olarak oluşturulur. Daha önce $_SERVER süper küresel değişkeni kullanılmıştı, yukarıda ise tüm POST verisini içeren $_POST süper küresel değişkeni tanıtıldı. Formda tanımlı yöntemin POST oluşuna dikkat edilmelidir. GET yöntemi kullanılmış olsaydı, form bilgileri $_GET süper küresel değişkenine atanmış olacaktı. Bunların haricinde, istemciden gelen verinin hangi kaynaktan geldiği önemli değilse $_REQUEST süper küreseli de kullanılabilirdi. Bu değişken GET, POST ve COOKIE verilerinin birleşiminden oluşur.

PHP içinde XForms öğeleri de kullanılabilir, ancak başlangıç aşamasında çok iyi desteklenen HTML formları iş görecektir. XForms ile çalışmak yeni başlayanlar için uygun olmasa da, ilginç olabilir. XForms ile çalışmak belgesinde bu konu ile ilgili daha fazla bilgi bulunabilir.


Sonraki adım nedir?

Edinilen yeni bilgilerle kılavuzun birçok bölümünün daha kolay anlaşılabilmesi ve okuyucunun örnek arşivinde bulunan birçok betiği kolayca okuyabilir duruma gelmesi amaçlanmıştır.

PHP ile neler yapabileceği ile ilgili sunumlara ulaşmak için, » http://talks.php.net/ adresindeki PHP Konferans Malzemeleri Sitesi ziyaret edilebilir.


Yapılandırma ve Kurulum

  • Genel Kurulum Değerlendirmesi
  • Unix Sistemlere Kurulum
    • Unix sistemler ve Apache 2.x
    • Nginx 1.4.x on Unix systems
    • Unix sistemlerde Lighttpd 1.4
    • LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems
    • CGI ve Komut Satırı Ayarları
    • OpenBSD Kurulum Bilgiler
    • Solaris'e özgü Kurulum İpuçları
    • Debian GNU/Linux Kurulum Bilgileri
  • macOS üzerine Kurulum
    • Paketlerin Kullanımı
    • macOS Monterey öncesinde dağıtımla gelen PHP Kullanımı
    • macOS üzerine PHP kurulumu
  • Windows Sistemlerine Kurulum
    • Kurulum Gereksinimleri
    • PECL
    • Windows'ta PHP Kurulum Araçları
    • Windows sistemlerinde Önerilen Yapılandırma
    • Windows üzerine Elle PHP Kurulum Adımları
    • Kaynaktan derleme
    • Microsoft Windows üzerinde PHP Komut Satırı
    • Microsoft Windows üzerinde Apache 2.x
    • Windows'ta PHP Sorunlarını Giderme
  • Bulut Bilişim Platformlarına Kurulum
    • Azure Uygulama Hizmetleri
    • Amazon EC2
  • FastCGI Process Manager (FPM)
    • Installation
    • Configuration
  • PECL eklentilerinin kurulması
    • PECL Kurulumları Hakkında
    • PECL Eklentilerinin İndirilmesi
    • Bir PHP Eklentisinin Windows Kurulumu
    • Paylaşımlı PECL eklentilerinin pecl komutu ile derlenmesi
    • Paylaşımlı PECL eklentilerinin phpize ile derlenmesi
    • php-config
    • PECL eklentilerinin PHP içinde duruk olarak derlenmesi
  • Sorunlar?
    • SSS'yi okuyun
    • Diğer Sorunlar
    • Hata Bildirme
  • Çalışma Anı Yapılandırması
    • Yapılandırma Dosyası
    • .user.ini dosyaları
    • Yapılandırma ayarlarının yeri
    • Yapılandırma ayarlarının değiştirilmesi


Genel Kurulum Değerlendirmesi

Kuruluma başlamadan önce PHP'yi ne amaçla kullanacağınızı bilmeniz faydalı olur. Kullanım amaçları PHP ile ne yapılabilir? bölümünde anlatıldığı üzere 3 bölümde incelenebilir:

  • Genel Ağ siteleri ve uygulamaları (Sunucu taraflı)
  • Komut satırı uygulamaları
  • Masaüstü uygulamaları

İlk ve en önemli amaç için üç şeye ihtiyacınız bulunmaktadır: PHP'nin kendisi, bir HTTP Sunucusu ve bir tarayıcı. Muhtemelen bir tarayıcınız zaten vardır. Kullanmakta olduğunuz işletim sistemine bağlı olarak bir HTTP Sunucunuz da olabilir (Linux ve macOS üzerinde Apache, Windows üzerinde IIS gibi). Yoksa, bir firmadan site barındırma hizmeti alabilirsiniz. Böylece herşeyi kendiniz ayarlamak zorunda kalmazsınız. Sadece PHP betiklerinizi yazmakla ilgilenir ve onları kiraladığınız alana yükleyip tarayıcınızla sonuçları görürsünüz.

Sunucuyu ve PHP'yi kendiniz yapılandıracaksanız, PHP'yi sunucuya bağlamak için iki seçeneğiniz olacak. Bir çok sunucunun PHP için (SAPI de denilen) bir modülü vardır. Apache, Microsoft Internet Information Server, Netscape and iPlanet sunucuları bu tür sunuculardandır. Eğer sunucunuzda PHP için modül desteği yoksa sunucunuz ne türde olursa olsun onu bir CGI veya FastCGI işlemcisi olarak kullanabilirsiniz. Yani, sunucuya gelen tüm PHP dosyası isteklerini işleme sokmak için PHP'nin CGI çalıştırılabilirini kullanmak üzere sunucunuzu yapılandırabilirsiniz.

PHP'yi komut satırı betikleri yazmak için kullanmayı düşünüyorsanız (otomatik olarak görüntü üreten veya komut satırından aktardığınız bağımsız değişkenlerle metin dosyalarını işleyen betikler gibi), bir komut satırı betik yorumlayıcısına ihtiyacınız var demektir. Bu konuda daha fazla bigi edinmek için Komut satırı PHP uygulamalarının yazılması bölümüne bakınız. Bu durumda ne sunucuya ne de tarayıcıya ihtiyacınız olur.

PHP ile PHP-GTK eklentisini kullanarak masaüstü uygulamaları da yazabilirsiniz. Herhangi bir HTML çıktı üretilmediği için Genel Ağ sayfaları yazmaktan tamamen farklı bir yaklaşıma sahiptir. Bu araçlarla sadece pencereleri ve nesneleri yönetirsiniz. PHP-GTK hakkında daha ayrıntılı bilgi edinmek için lütfen » bu eklentinin kendi sitesini ziyaret ediniz. PHP-GTK, resmi PHP dağıtımlarıyla gelmez.

Bu noktadan itibaren belgede, daha çok Unix ve Windows üzerinde çalışan modüllü HTTP sunucuları ve CGI çalıştırılabilirlerinin yapılandırılması üzerinde durulacaktır. Ayrıca, komut satırı çalıştırılabiliri hakkında da bilgi bulabileceksiniz.

PHP'nin kaynak kodu ve Windows için çalıştırılabilir sürümleri » https://www.php.net/downloads.php adresinden temin edilebilir.


Unix Sistemlere Kurulum

İçindekiler

  • Unix sistemler ve Apache 2.x
  • Nginx 1.4.x on Unix systems
  • Unix sistemlerde Lighttpd 1.4
  • LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems
  • CGI ve Komut Satırı Ayarları
  • OpenBSD Kurulum Bilgiler
  • Solaris'e özgü Kurulum İpuçları
  • Debian GNU/Linux Kurulum Bilgileri

Bu bölümde, PHP'nin Unix sistemleri üzerindeki yapılandırmasından ve kurulumundan ana hatları ile bahsedilecektir. Kuruluma başlamadan önce platformunuza ve kullandığınız HTTP sunucusuna özgü bölümleri incelemenizi öneririz.

Kılavuzun Genel Kurulum Değerlendirmesi bölümünde ana hatlarıyla bahsettiğimiz gibi, bu bölümde esas olarak HTTP sunucusunu ilgilendiren ayarlardan bahseceksek de PHP'nin komut satırından kullanımı ile ilgili ayarlara da değineceğiz.

PHP'yi Unix platformlarına kurmanın çeşitli yolları vardır. Kaynak kod paketinden kendiniz derleyip kurabileceğiniz gibi başkaları tarafından derlenip paketlenmiş sürümleri de kurabilirsiniz. Bu belgelerde esas olarak kaynak kod paketinden derleme, kurulum ve yapılandırma sürecinden bahsedeceğiz. Çoğu Unix benzeri sistemin kendine özgü paket kurulum yöntemi vardır. Bu, standart yapılandırmaya yardımcı olabilirse de farklı özelliklere ihtiyaç duyduğunuzda (örneğin, güvenli sunucu veya veritabanı sunucusu), HTTP sunucunuzu ve PHP'yi kendiniz derlemek zorunda kalırsınız. Yazılımları kendiniz derleyip kuracak bilgiye sahip değilseniz, sizin istediğiniz özelliklerde başkaları paket derlemiş mi diye bir araştırma yapmanızı öneririz.

Derleme işlemi için gerekli bilgi ve yazılımlar:

  • Temel Unix kullanım bilgisi ("make" komutunu ve bir C derleyicisini kullanabiliyor olmak)
  • Bir ANSI C derleyici
  • Bir HTTP sunucusu
  • Modüllere özgü bileşenler (GD, PDF kütüphaneleri, vs.)

Git kaynaklarıdan derlerken veya özel değişiklikler yaptıktan sonra şunlar da gerekebilir:

  • autoconf: 2.59+ (PHP >= 7.0.0 için), 2.64+ (PHP >= 7.2.0 için)
  • automake: 1.4+
  • libtool: 1.4.x+ (1.4.2 hariç)
  • re2c: 0.13.4+
  • bison:
    • PHP 7.0 - 7.3: 2.4 ve sonrası (Bison 3.x dahil)
    • PHP 7.4: > 3.0

PHP kaynak kod paketinin derleme için ayar ve yapılandırma işlemi configure betiğinin komut satırı seçenekleri kullanılarak yapılır. Bu seçeneklerin neler olduğunu görmek için kaynak paketinin kök dizininde komut satırından ./configure --help komutunu verebilirsiniz. Ayrıca, bu kılavuzda da bazı seçeneklerin açıklamalarına yer verilmiştir. Temel yapılandırma seçeneklerini eklerde bulabilirsiniz. Eklentilere özgü yapılandırma seçenekleri ise eklentilerin kılavuzdaki belgelerinde bulunabilir.

PHP'yi yapılandırdığınızda modülleri ve çalıştırılabilirleri derlemeye hazırsınız demektir. Artık make komutunu verebilirsiniz. Derleme işlemi bir noktada başarısız olursa ve bunun sebebini anlayamazsanız, Sorunlar bölümüne bakınız.

Bilginize:

Bazı Unix sistemleri (OpenBSD ve SELinux gibi), PaX MPROTECT veya W^X ihlal koruması olarak adlandırılan koruma, güvenlik nedenleriyle hem yazılabilir hem de çalıştırılabilir eşleme sayfalarına izin vermeyebilir. Bununla birlikte, bu tür bir bellek eşlemesi PCRE'nin JIT desteği için gereklidir, bu nedenle ya PHP'nin PCRE JIT desteği olmadan kurulması ya da ikili sistemin sistem tarafından sağlanan herhangi bir yolla beyaz listeye alınması gerekir.

Bilginize: ARM için Android araç zinciriyle çapraz derleme şu anda desteklenmemektedir.


Unix sistemler ve Apache 2.x

Bu bölüm Unix sistemlerde PHP'nin Apache 2.x'e kurulumu hakkında bilgiler ve ipuçları içerir.

Uyarı

Apache 2'nin bir hizmet ortamında evreli MPM'lerle kullanımını önerilmemektedir. Bunun yerine Apache 2.0 ve 2.2'de öntanımlı MPM olan Prefork MPM'sini kullanmanızı önerilir. Bunun sebebini SSS altında Apache ve evreli MPM'ler başlığı altında bulunabilir.

Apache 2.x HTTP Sunucusu hakkında temel bir bilgi edinmek için mutlaka » Apache HTTP Sunucusu Sürüm 2.x Belgelerine bakmanızı öneririz.

En son sürümü » Apache 2.x indirme sitesinden ve buna uygun PHP sürümünü yukarıda bahsedilen yerlerden indirebilirsiniz. Bu kısa kılavuz Apache 2.x ve PHP hakkında sadece temel bilgi sağlar. Daha ayrıntılı bilgi edinmek için » Apache HTTP Sunucusu Belgelerine bakınız. Kurulum talimatlarının sürüm numaralarından ötürü geçerliliğini yitirmemesi için sürüm numaraları 'NN' şeklinde belirtilmiştir, NN yerine kurulan Apache sürümünün sürüm numarası yazılmalıdır.

Apache 2.x'in şu an iki sürümü mevcuttur: 2.4 ve 2.2. Bunlardan birini seçmek için çeşitli sebepler olabilirse de 2.4 şu an için en son ve önerilen sürümdür. Ancak, burada sözü edilen talimatlar hem 2.4 hem de 2.2 için çalışır. Apache httpd 2.2 resmen sonlandırılmış olup yeni geliştirmeler yapılmamakta ve yama çıkarılmamaktadır.

  1. Apache HTTP sunucusunu edindikten sonra şu komutları verin:

    tar -xzf httpd-2.x.NN.tar.gz

  2. Benzer işlemleri PHP için de yapın:

    tar -xzf php-NN.tar.gz

  3. Apache'yi derleyip kurun. Apache'nin nasıl derleneceğini Apache kurulumu belgesinden öğrenebilirsinz.

    cd httpd-2_x_NN
./configure --enable-so
make
make install

  4. Böylece standart prefork MPM'si ve yüklenebilir modül desteği ile Apache 2.x.NN /usr/local/apache2 altına kurulmuş oldu. Kurulumu denemek için Apache HTTP sunucusunu normal yollardan başlatabilirsiniz. Örnek:

    /usr/local/apache2/bin/apachectl start
    PHP yapılandırması ile çalıştırmak üzere sunucuyu durdurun:
    /usr/local/apache2/bin/apachectl stop

  5. Şimdi PHP'yi yapılandırıp kurun. Bunu hangi eklentileri etkin kılacaksanız onların seçeneklerini kullanarak yapabilirsiniz. Olası seçeneklerin listesini almak için komut satırına ./configure --help yazın. Örneğimizde Apache ve MySQL desteğini etkin kılacağız.

    Apache'yi yukarıda açklandığı gibi kaynak paketinden derlediyseniz aşağıdaki örnek sizin apxs yolunuzla eşleşecektir. Fakat Apache'yi başka bir şekilde kurduysanız apxs yolunu buna uygun olarak ayarlamalısınız. Bazı dağıtımlar apxs yerine apxs2 ismini kullanır, buna dikkat edin.

    cd ../php-NN
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-pdo-mysql
make
make install

    Eğer kurulumdan sonra yapılandırmanızı değiştirmek isterseniz sadece configure, make ve make install adımlarını yinelemeniz yeterli olacaktır. Yeni modülün etkin olabilmesi için Apache'yi yeniden başlatmanız gerekir. Apache'yi yeniden derlemeniz gerekmez. Aksi özellikle belirtilmedikçe 'make install' ile phpize gibi çeşitli PHP araçları, PEAR, PHP CLI ve bir takım başka şeylerin de kurulumu yapılır.

    Aksi belirtilmedikçe, 'make install' ile phpize gibi çeşitli PHP araçları, PEAR, PHP CLI ve benzerleri de kurulacaktır.

  6. php.ini dosyanızı yapılandırın.

    cp php.ini-development /usr/local/lib/php.ini

    PHP seçeneklerini ayarlamak için .ini dosyanızı düzenleyebilirsiniz. .ini dosyanızın başka bir yerde durmasını istiyorsanız, 5. şıkta --with-config-file-path=/başka/bir/yer seçeneği ile dosyanız için başka bir yer belirtebilirsiniz.

    php.ini-dist yerine php.ini-production (dağıtımın standart .ini dosyası yerine önerilen yapılandırmalar dosyasını) kullanmayı tercih ederseniz, değişiklik listesini okumayı ihmal etmeyin, çünkü bunlar PHP'nin davranışını etkileyecektir.

  7. PHP modülünün yüklenmesi için httpd.conf dosyasını düzenlemelisiniz. LoadModule yönergesinin değeri PHP modülünün sistemdeki yerini göstermelidir. Yukarıdaki 'make install' bunu sizin yerinize yapmıştır ama emin olmak için siz yine de bir bakın.

    PHP 8 için:

    LoadModule php7_module modules/libphp.so

    PHP 7 için:

    LoadModule php5_module modules/libphp7.so

  8. Apache'ye belli dosya uzantılarını PHP uzantıları olarak ele almasını söyleyin. Örneğin, .php uzantılı dosyaları Apache'nin PHP dosyaları olarak ele almasını isteyebiliriz. Apache AddType yönergesini kullanmamak suretiyle, PHP tarafından çalıştırılmak üzere istismar.php.jpg gibi dosyaların oluşturulması ve yüklenmesi gibi tehlikeli durumlardan kaçınmak isteyebilirsiniz. Biz örnek olsun diye .php uzantısını ekledik. Başka uzantıları da buraya ekleyebilirsiniz. Bunları aralarında boşluk bırakarak aynı satıra yazabilirsiniz.

    <FilesMatch \.php$>
 SetHandler application/x-httpd-php
</FilesMatch>

    Veya .php, .php2, .php3, .php4, .php5, .php6 ve .phtml gibi dosyalar dışında hiçbir dosyanın PHP tarafından çalıştırılmamasını şöyle sağlayabilirsiniz:

    <FilesMatch "\.ph(p[2-6]?|tml)$">
 SetHandler application/x-httpd-php
</FilesMatch>

    PHP kaynak kodlarını renklendirilmiş olarak göstermek için .phps uzantısını da yapılandırmanıza ekleyebilirsiniz. Bu, şöyle yapılır:

    <FilesMatch "\.phps$">
 SetHandler application/x-httpd-php-source
</FilesMatch>

    .php dosyalarının uzantılarını .phps olarak değiştirmeden kaynak kodlarını renklendirilmiş olarak göstermek isterseniz bunu şöyle yapabilirsiniz:

    RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]

    PHP kaynak süzgeci, gizli kalması gereken bilgiler içeren genel kullanıma açık sunucularda kullanılmamalıdır. Aksi takdirde gizli kalması gereken bilgiler kaynak koda eklenebilir.

  9. Artık Apache'yi başlatabilirsiniz. Bunun için Apache'yi her zaman ki gibi başlatmanız yetecektir:

    /usr/local/apache2/bin/apachectl start

    VEYA

    service httpd restart

Yukarıdaki adımları izleyerek PHP'nin bir SAPI modülü olarak çalıştığı bir Apache 2 HTTP sunucusuna sahip olursunuz. Apache ve PHP için şüphesiz birçok farklı yapılandırma seçeneği vardır. Yapılandırma seçeneklerinin listesi için her kaynak ağacında ./configure --help çalıştırabilirsiniz.

Apache derlenirken prefork MPM modülü yerine , worker MPM modülü seçilerek çok evreli derlenebilir. Bunu yapmak için 3. şıkta derleme seçeneklerinize şu seçeneğini ekleyebilirsiniz:

--with-mpm=worker

Bunu yapmadan önce, bunun olası sonuçları hakkında bilgi sahibi olmaya, azından ne gibi etkilerinin olacağını anlamaya çalışın. Bu konuda daha ayrıntılı bilgi edinmek için Apache HTTP sunucusunun belgelerinden » Çok Süreçlilik Modülleri (MPM'ler) belgesini okuyunuz.

Bilginize:

İçerik dili uzlaşımı kullanmak isterseniz Apache MultiViews SSS'ine bakınız.

Bilginize:

Ayrıca, PHP'yi Zend Thread Safety (ZTS) motoru ile de derleyebilirsiniz. Böyle bir yapılandırmada bütün eklentiler kullanılamayacaktır. Bu bakımdan Apache'yi standart prefork MPM'si ile derlemenizi öneriyoruz.


Nginx 1.4.x on Unix systems

This documentation will cover installing and configuring PHP with PHP-FPM for a Nginx 1.4.x HTTP server.

This guide will assume that you have built Nginx from source and therefore all binaries and configuration files are located at /usr/local/nginx. If this is not the case and you have obtained Nginx through other means then please refer to the » Nginx Wiki in order to translate this manual to your setup.

This guide will cover the basics of configuring an Nginx server to process PHP applications and serve them on port 80, it is recommended that you study the Nginx and PHP-FPM documentation if you wish to optimise your setup past the scope of this documentation.

Please note that throughout this documentation version numbers have been replaced with an 'x' to ensure this documentation stays correct in the future, please replace these as necessary with the corresponding version numbers.

  1. It is recommended that you visit the Nginx Wiki » install page in order to obtain and install Nginx on your system.

  2. Obtain and unpack the PHP source:

    tar zxf php-x.x.x

  3. Configure and build PHP. This is where you customize PHP with various options, like which extensions will be enabled. Run ./configure --help for a list of available options. In our example we'll do a simple configure with PHP-FPM and MySQLi support.

    cd ../php-x.x.x
./configure --enable-fpm --with-mysqli
make
sudo make install

  4. Obtain and move configuration files to their correct locations

    cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
cp sapi/fpm/php-fpm /usr/local/bin

  5. It is important that we prevent Nginx from passing requests to the PHP-FPM backend if the file does not exist, allowing us to prevent arbitrarily script injection.

    We can fix this by setting the cgi.fix_pathinfo directive to 0 within our php.ini file.

    Load up php.ini:

    vim /usr/local/php/php.ini

    Locate cgi.fix_pathinfo= and modify it as follows:

    cgi.fix_pathinfo=0

  6. php-fpm.conf must be modified to specify that php-fpm must run as the user www-data and the group www-data before we can start the service:

    vim /usr/local/etc/php-fpm.d/www.conf

    Find and modify the following:

    ; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
user = www-data
group = www-data

    The php-fpm service can now be started:

    /usr/local/bin/php-fpm

    This guide will not configure php-fpm any further, if you are interested in further configuring php-fpm then please consult the documentation.

  7. Nginx must now be configured to support the processing of PHP applications:

    vim /usr/local/nginx/conf/nginx.conf

    Modify the default location block to be aware it must attempt to serve .php files:

    location / {
    root   html;
    index  index.php index.html index.htm;
}

    The next step is to ensure that .php files are passed to the PHP-FPM backend. Below the commented default PHP location block, enter the following:

    location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

    Restart Nginx.

    sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

  8. Create a test file

    rm /usr/local/nginx/html/index.html
echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php

    Now navigate to http://localhost. The phpinfo() should now be shown.

Following the steps above you will have a running Nginx web server with support for PHP as an FPM SAPI module. Of course there are many more configuration options available for Nginx and PHP. For more information type ./configure --help in the corresponding source tree.


Unix sistemlerde Lighttpd 1.4

Bu bölüm PHP'nin Unix sistemlerde Lighttpd 1.4 ile kurulumu hakkında bilgiler ve ipuçları içerir.

Lütfen devam etmeden önce » Lighttpd redmine sitesini ziyaret edip Lighttpd'nin doğru düzgün nasıl kurulacağını öğreniniz.

PHP ve Lighttpd'ye bağlanmak için tercih edilen SAPI FastCGI'dir. FastCGI, php-cgi'yi otosihirli bir şekilde etkin kılar.

Lighttpd'ye PHP süreçlerini çatallattırmak

Lighttpd'nin PHP'ye bağlanmasını ve fastcgi süreçlerini çatallamasını sağlamak üzere yapılandırmak için lighttpd.conf dosyasını düzenlemeniz gerekir. FastCGI süreçlerine yerel sistemden bağlanmak için soketler tercih edilir.

Örnek 1 - lighttpd.conf'tan bir bölüm

server.modules += ( "mod_fastcgi" )

fastcgi.server = ( ".php" =>
  ((
    "socket" => "/tmp/php.socket",
    "bin-path" => "/usr/local/bin/php-cgi",
    "bin-environment" => (
      "PHP_FCGI_CHILDREN" => "16",
      "PHP_FCGI_MAX_REQUESTS" => "10000"
    ),
    "min-procs" => 1,
    "max-procs" => 1,
    "idle-timeout" => 20
  ))
)

bin-path yönergesi lighttpd'nin fastcgi süreçlerini dinamik olarak çatallamasına izin verir. PHP kendi çocuklarını PHP_FCGI_CHILDREN ortam değişkenine göre çatallayacaktır. Çatallanan sürecin ortamını bin-environment yönergesi tanımlar. PHP, PHP_FCGI_MAX_REQUESTS değerinin aşılmasına sebep olan çocuk süreci öldürür. PHP'de min-procs ve max-procs yönergelerinden genel olarak kaçınılması gerekir. PHP kendi çocuklarını yönetir ve makine kodu önbelleklerini APC gibi çocukları arasında paylaştırır. min-procs yönergesine 1'den büyük bir değer atanmışsa PHP yanıtçılarının sayısı PHP_FCGI_CHILDREN değerinin katları olacaktır (2 min-procs * 16 çocuk eşittir 32 yanıtçı).

Spawn-fcgi ile çatallama

Lighttpd, FastCGI süreçlerinin çatallanmasını kolaylaştırmak için spawn-fcgi adında bir uygulamayla gelir.

php-cgi'nin çatallanması

Süreçleri spawn-fcgi kullanmaksızın çatallamak mümkünse de, biraz ağır kaldırma çalışmak gerekir. Gelen istekleri karşılamak için PHP'nin kaç çocuk çatallayacağı PHP_FCGI_CHILDREN ortam değişkeni ile belirlenir. PHP'nin her çocuğunun kaç isteklik yaşayacağını ise PHP_FCGI_MAX_REQUESTS belirler. Aşağıda, PHP yanıtçılarının çatallanmasına yardımcı olan basit bir bash betiği verilmiştir.

Örnek 2 - FastCGI Yanıtçılarının Çatallanması

#!/bin/sh

# php-cgi çalıştırılabilirinin yeri
PHP=/usr/local/bin/php-cgi

# PID dosyasının yeri
PHP_PID=/tmp/php.pid

# Dinlenecek adres
#FCGI_BIND_ADDRESS=10.0.1.1:10000
# Dinlenecek soket
FCGI_BIND_ADDRESS=/tmp/php.sock

PHP_FCGI_CHILDREN=16
PHP_FCGI_MAX_REQUESTS=10000

env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
       PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
       $PHP -b $FCGI_BIND_ADDRESS &

echo $! > "$PHP_PID"

Uzak FCGI (nesnel) örneklerine bağlanmak

Uygulamaları dengelemek için FastCGI örnekleri çok sayıda uzak makineye çatallanabilir.

Örnek 3 - Uzak FCGI örneklerine bağlanmak

fastcgi.server = ( ".php" =>
   (( "host" => "10.0.0.2", "port" => 1030 ),
    ( "host" => "10.0.0.3", "port" => 1030 ))
)


LiteSpeed Web Server/OpenLiteSpeed Web Server on Unix systems

LiteSpeed PHP is an optimized compilation of PHP built to work with LiteSpeed products through the LiteSpeed SAPI. LSPHP runs as its own process and has its own standalone binary, which can be used as a simple command line binary to execute PHP scripts from the command line.

The LSAPI is a highly optimized API that allows communication between LiteSpeed and third party web engines. Its protocol is similar to FCGI, but is more efficient.

This documentation will cover installing and configuring PHP with LSAPI for a LiteSpeed Web Server and OpenLiteSpeed Web Server.

This guide will assume that either LSWS or OLS is installed with their default paths and flags. The default installation directory for both web servers is /usr/local/lsws and both can be run from the bin subdirectory.

Please note that throughout this documentation, version numbers have been replaced with an x to ensure this documentation stays correct in the future, please replace these, as necessary, with the corresponding version numbers.

  1. To obtain and install either LiteSpeed Web Server or OpenLiteSpeed Web Server, visit the LiteSpeed Web Server documentation » install page or OpenLiteSpeed documentation » install page.

  2. Obtain and unpack the php source:

    mkdir /home/php
cd /home/php
wget http://us1.php.net/get/php-x.x.x.tar.gz/from/this/mirror
tar -zxvf php-x.x.x.tar.gz
cd php-x.x.x

  3. Configure and build PHP. This is where PHP can be customized with various options, such as which extensions will be enabled. Run ./configure --help for a list of available options. In the example, we'll use the default recommended configuration options for LiteSpeed Web Server:

    ./configure ... '--with-litespeed'
make
sudo make install

  4. Checking The LSPHP Installation

    One of the simplest ways to check whether the installation of PHP was successful is to run the following code:

    cd /usr/local/lsws/fcgi-bin/
./lsphp5 -v

    This should return information about the new PHP build:

    PHP 5.6.17 (litespeed) (built: Mar 22 2016 11:34:19)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

    Notice the litespeed in parenthesis. This means that the PHP binary has been built with LSAPI support.

Following the steps above, LiteSpeed / OpenLiteSpeed Web Server should now be running with support for PHP as an SAPI extension. There are many more configuration options available for LSWS / OLS and PHP. For more information, check out the LiteSpeed documentation about » PHP.

Using LSPHP from the command line:

LSPHP(LSAPI + PHP) command line mode is used to process PHP scripts running on a remote server that does not necessarily have a web server running. It is used to process PHP scripts residing on a local web server (separate). This setup is suitable for service scalability as PHP processing is offloaded to a remote server.

Start lsphp from the command line on a remote server: LSPHP is an executable and can be started manually and bound to IPv4, IPv6, or Unix domain socket addresses with the command line option -b socket_address

Examples:

Have LSPHP bind to port 3000 on all IPv4 and IPv6 addresses:

/path/to/lsphp -b [::]:3000

Have LSPHP bind to port 3000 on all IPv4 addresses:

/path/to/lsphp -b *:3000

Have LSPHP bind to address 192.168.0.2:3000:

/path/to/lsphp -b 192.168.0.2:3000

Have LSPHP accept requests on Unix domain socket /tmp/lsphp_manual.sock:

/path/to/lsphp -b /tmp/lsphp_manual.sock

Environment variables can be added before the LSPHP executable:

PHP_LSAPI_MAX_REQUESTS=500 PHP_LSAPI_CHILDREN=35 /path/to/lsphp -b IP_address:port

Currently LiteSpeed PHP can be used with LiteSpeed Web Server, OpenLiteSpeed Web Server, and Apache mod_lsapi. For steps on server-side configuration, visit the documentation pages for » LiteSpeed Web Server and » OpenLiteSpeed.

LSPHP can be installed in several other ways as well.

CentOS: On CentOS, LSPHP can be installed from the LiteSpeed Repository or the Remi Repository using » RPM.

Debian: On Debian, LSPHP can be installed from the LiteSpeed Repository using » apt.

cPanel: Visit the respective » documentation page about how to install LSPHP with cPanel and LSWS/OLS using EasyApache 4.

Plesk: Plesk can be used with LSPHP on CentOS, CloudLinux, Debian, and Ubuntu, for more details on this, visit the respective » documentation page


CGI ve Komut Satırı Ayarları

PHP, CGI işlemleri için öntanımlı olarak hem bir CLI hem de bir CGI programı olarak derlenir. Bu sayede HTTP sunucuda çalışmayacak betikleri yorumlamak için veya CGI işlemleri için kullanılabilecek bir komut satırı yorumlayıcısı oluşturulmuş olur. PHP'nin bir modül olarak çalıştığı bir HTTP sunucusu genellikle başarım sorunlarına bir çözüm olarak kullanılır. Bununla birlikte, CGI sürümü, farklı PHP sayfalarını farklı kullanıcı kimlikleriyle çalıştırabilme imkanı sunar.

Uyarı

CGI kipinde çalışan bir sunucu olası saldırılara açık hale gelir. Sunucunuzun böyle saldırılardan nasıl korunacağınızı öğrenmek için CGI güvenliği bölümü okunabilir.

Sınama

PHP'yi bir CGI programı olarak derlediyseniz, derlemenizi make test komutunu vererek sınayabilirsiniz. Derlemenizi sınamak daima iyidir. Bu yolla sonradan karşılaşabileceğiniz sorunları daha ortaya çıkmadan yakalama şansınız olur.

Değişkenlerin kullanımı

Bazı sunucu kaynaklı ortam değişkenleri geçerli » CGI/1.1 belirtiminde tanımlanmamıştır; sadece şu değişkenler tanımlıdır: AUTH_TYPE, CONTENT_LENGTH, CONTENT_TYPE, GATEWAY_INTERFACE, PATH_INFO, PATH_TRANSLATED, QUERY_STRING, REMOTE_ADDR, REMOTE_HOST, REMOTE_IDENT, REMOTE_USER, REQUEST_METHOD, SCRIPT_NAME, SERVER_NAME, SERVER_PORT, SERVER_PROTOCOL ve SERVER_SOFTWARE. Bunların dışında kalan herşey 'üretici eklentileri' olarak ele alınmalıdır.


OpenBSD Kurulum Bilgiler

Bu bölüm PHP'nin » OpenBSD sistemlere kurulumu hakkında bilgiler ve ipuçları içerir.

İkil Paketlerin Kullanımı

PHP'yi OpenBSD üzerine kurmak için ikil paketlerin kullanımı en basit ve önerilen bir yoldur. Temel paket, modül paketlerinden ayrıdır ve her modül paketi diğerlerinden bağımsız olarak kurulup kaldırılabilir. İhtiyaç duyacağınız dosyaları OpenBSD CD'nizde veya FTP sitesinde bulabilirsiniz.

İhtiyacınız olan ana paket php olup, temel motoru (artı fpm, gettext ve iconv) içerir ve aralarından seçim yapabileceğiniz çeşitli sürümler de mevcut olabilir. Modül paketleri ise php-mysql veya php-imap gibi isimler alırlar. Bu modülleri php.ini dosyanızda etkin ve etkisiz kılmak için phpxs komutuna ihtiyacınız olacak.

Örnek 1 - OpenBSD Paket Kurulum Örneği

# pkg_add php
# pkg_add php-apache
# pkg_add php-mysqli
  (PEAR kütüphanesini kur)
# pkg_add pear

Paketlerle ilgili talimatları izle
  (paketleri kaldırmak için)
# pkg_delete php
# pkg_delete php-apache
# pkg_delete php-mysqli
# pkg_delete pear

OpenBSD'deki ikil paketler hakkında ayrıntılı bilgi edinmek için » packages(7) kılavuz sayfasını okuyunuz.

Portların Kullanımı

Ayrıca, PHP'yi kaynak paketinden » port ağacını kullanarak da derleyebilirsiniz. Ancak, bu sadece OpenBSD üzerinde tecrübeli kullanıcılar için önerilebilecek bir yoldur. PHP portu iki alt dizine ayrılır: çekirdek ve eklentiler. Eklentilerin bulunduğu dizin desteklenen tüm PHP modülleri için alt paketler üretir. Bu modüllerden üretilmesini istemedikleriniz için no_* FLAVOR'unu kullanınız. Örneğin imap modülünün derlenmeden geçilmesi için FLAVOR'a no_imap atayınız.

Bilinen Sorunlar

  • Apache ve Nginx artık OpenBSD'nin öntanımlı sunucusu olmamakla beraber her ikiksi de portlarda ve paketlerde kolayca bulunabilir. Yeni öntanımlı sunucu 'httpd'dir.
  • httpd'nin öntanımlı kurulumu bir » chroot(2) hücresinde çalışır, böylece PHP betiklerinin /var/www altındaki dosyalara erişmesi engellenir. Bu bakımdan PHP oturum dosyalarının saklanması için ya /var/www/tmp diye bir dizine ya da başka bir oturum arayüzü kullanmaya ihtiyacınız olacaktır. Buna ek olarak, veritabanı soketlerinin de hücre içine yerleştirilmesi veya localhost arayüzünü dinlemesi gerekir. Ağ işlevleri kullanıyorsanız, /etc dizinindeki /etc/resolv.conf ve /etc/services gibi dosyaların /var/www/etc dizinine taşınması gerekecektir. OpenBSD PEAR paketi otomatik olarak doğru chroot dizinlerine kurulur.
  • » gd eklentisi için, OpenBSD paketi Xorg'un kurulu olmasını gerektirir. xbase.tgz dosya kümesi eklenerek temel kurulumda zaten kurulmadıysa, kurulum sonrasında eklenebilir (Bkz: » OpenBSD FAQ#4).


Solaris'e özgü Kurulum İpuçları

Bu bölüm PHP'nin Solaris sistemlere kurulumu hakkında bilgiler ve ipuçları içerir.

Gerekli Yazılımlar

Solaris kurulumlarında sıklıkla C derleyicilerin ve bunlarla ilgili araçların yokluğu sözkonusu olur. Bu araçların GNU sürümlerinin gerekliliği hakkında bilgi edinmek için lütfen SSS'nin bu bölümünü okuyunuz.

PHP paketini açmak için gerekenler:

  • tar
  • gzip veya
  • bzip2

PHP'yi derlemek için gerekenler:

  • gcc (önerilir, fakat başka C derleyiciler de iş görür)
  • make
  • GNU sed

PHP koduyla oynamak veya eklentileri derlemek için ayrıca gerekenler:

  • re2c
  • bison
  • m4
  • autoconf
  • automake
Bunlara ek olarak, Oracle veya MySQL gibi yapılandırmanıza özgü bir takım ek yazılımların kurulması da gerekebilir.

Paketlerin kullanımı

Kurulması gereken bileşinlerin çoğunu kurmak için pkgadd kullanarak Solaris kurulum işlemlerini kolaylaştırabilirsiniz. Solaris 11 Express için Image Packaging System (IPS) de pkg komutunu kullanarak kurulum için gereken bileşenlerin çoğunu içermektedir.


Debian GNU/Linux Kurulum Bilgileri

Bu bölüm Unix sistemlerde PHP'nin » Debian GNU/Linux kurulumu hakkında bilgiler ve ipuçları içerir.

Uyarı

Üçüncü partilerdeki resmi olmayan derlemeler burada desteklenmemektedir. » İndirme alanımızdaki en son paketi alıp aynı hatanın devam ettiğini görmedikçe Debian ekibine herhangi bir yazılım hatası raporlanmamalıdır.

PHP'nin Unix üzerinde derlenmesi ile ilgili talimatlar Debian için de geçerli olsa da bu kılavuz sayfasında ayrıca, hem apt hem de aptitude komutlarının kullanımı gibi diğer seçeneklere özgü bilgilere de yer verilmiştir. Bu kılavuz sayfasında bu iki komut kimi zaman diğerinin yerine kullanılmıştır.

APT kullanımı

Öncelikle dikkat edeceğiniz şey, Apache2 ile tümleştirmek için libapache-mod-php ve PEAR ile tümleştirmek için php-pear gibi PHP ile ilgili diğer paketlerinde gerekli olabileceğidir.

İkinci olarak, bir paketi kurmadan önce paket listesini güncellemeniz yerinde bir hareket olacaktır. Bu işlem genellikle apt update komutu çalıştırılarık yapılır.

Örnek 1 - Apache2 ile kurulum örneği

# apt install php5-common libapache2-mod-php5 php5-cli

APT, Apache2 için hazırlanmış PHP modülünü ve bu modülü etkinleştirmek için bağımlı olduğu diğer paketleri otomatik olarak kuracaktır. Yapılan değişikliğin geçerli olması için Apache2 yeniden başlatılmalıdır. Örnek:

Artık herşey yerli yerine oturduğuna göre aşağıdaki örneği izleyerek Apache ve PHP'yi kurabilirsiniz:

Örnek 2 - PHP kurulduktan sonra Apache2'nin dirdirilip yeniden başlatılması

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Yapılandırma üzerinde daha iyi denetim

Bir önceki bölümde PHP sadece çekirdek modüllerle kurulmuştu. Çok geçmeden MySQL, cURL, GD ve benzeri modülleri etkinleştirme ihtiyacı duyabilirsiniz. Bunları da apt komutuyla kurabilirsiniz.

Örnek 3 - Ek PHP paketleri listesinin alınma yöntemleri

# apt-cache search php
# apt search php | grep -i mysql
# aptitude search php

Bu örnek komutların çıktısından da görebileceğiniz gibi, php-cgi, php-cli ve php-dev gibi özel paketlerde dahil olmak üzere kurabileceğiniz çok sayıda PHP modülü vardır. Listeyi dikkatlice inceleyip ihtiyacınız olanları seçtikten sonra apt veya aptitude ile bunları kurabilirsiniz. Debian bunlar içinde bağımlılık denetimleri yapacağından, örneğin MySQL ve cURL kurmak istediğinizde bunların bağımlı olduğu paketleri de kurmayı teklif edecektir:

Örnek 4 - MySQL ve cURL PHP modüllerinin kurulumu

# apt install php5-mysql php5-curl

APT otomatik olarak farklı php.ini (/etc/php/7.4/apache2/php.ini, /etc/php/7.4/conf.d/pdo.ini ve benzeri) dosyalarına uygun satırları ve eklentinin türüne bağlı olarak extension=foo.so benzeri girdileri ekleyecektir. Bu değişikliklerin de etkili olabilmesi için Apache2'nin yeniden başlatılması gerekir.

Bilinen sorunlar

  • Bir betiğin sonucu yerine betiğin PHP kaynak kodlarını görüyorsanız, Debian muhtemelen /etc/apache2/apache2.conf dosyasına (veya benzeri bir dosyaya) PHP ile ilgili satırları eklememiştir. Bu konu ile ilgili ayrıntılar için Debian kılavuzuna bakınız.
  • Eğer bir eklenti tanımlı gibi gözüktüğü halde işlevlerini kullanamıyorsanız ilgili ini dosyasının yüklendiğinden ve Apache2'nin yeniden başlatıldığından emin olmalısınız.
  • Debian üzerinde paket kurmak için kullanılabilecek iki temel komut vardır: apt ve aptitude. Bu iki komut arasındaki farklar için dağıtımınızla gelen belgelere bakınız.


macOS üzerine Kurulum

İçindekiler

  • Paketlerin Kullanımı
  • macOS Monterey öncesinde dağıtımla gelen PHP Kullanımı
  • macOS üzerine PHP kurulumu

Bu bölümde, PHP'nin macOS üzerindeki kurulumlarına özgü bilgilere ve ipuçlarına yer verilmiştir. PHP, Mac OS X'in 10.0.0 sürümünden Monterey (12.0.0) sürümüne kadar macOS ile birlikte gelmektedir. PHP'nin kurulumu Unix kurulum kılavuzundakine benzer şekilde yapılır.


Paketlerin Kullanımı

PHP'nin macOS için bir kaç tane paketlenmiş ve derlenmiş sürümü vardır. Standart bir yapılandırma için bunlar yeterlidir, ancak farklı özelliklere ihtiyaç duyarsanız (güvenli sunucu, farklı bir veritabanı sürücüsü gibi), kendi PHP'nizi ve/veya HTTP sunucunuzu derlemeniz gerekebilir. Bu işleri yapacak tecrübeniz yoksa, sizin ihtiyaçlarınıza uygun olarak derlenmiş paketlerin olup olmadığını araştırmalısınız.

PHP'yi macOS üzerinde kurmanın en hızlı yolu homebrew kullanmaktır.

  1. » brew.sh içindeki talimatları izleyerek homebrew'i kurun.

  2. brew install php

Aşağıdakiler, macOS üzerinde PHP için paket ve derlenmiş ikillerin kurulumunu kolaylaştıracaktır:

  • MacPorts: » http://www.macports.org/
  • Liip: » http://php-osx.liip.ch/ (PHP 5.3 - PHP 7.3; kullanımı önerilmiyor)
  • Fink: » http://www.finkproject.org/


macOS Monterey öncesinde dağıtımla gelen PHP Kullanımı

PHP, Mac OS X'in 10.0.0 sürümünden Monterey (12.0.0) sürümüne kadar macOS ile birlikte gelmektedir. PHP'yi öntanımlı HTTP sunucusunda etkin kılmak için Apache yapılandırma dosyası httpd.conf'ta bir kaç satırı etkin duruma getirmek gerekir, bunun yanında CGI ve/veya CLI öntanımlı olarak etkin (Terminal programından kolayca erişilebilir) kılınabilir.

Aşağıdaki talimatları kullanarak PHP'yi etkin kılmak demek çabucak bir yerel geliştirme ortamına sahip olmak demektir. Daima PHP'nin en yeni sürümünü kullanmanızı hararetle öneririz. Gelişimi sürmekte olan çoğu yazılım gibi yeni sürümlerde eski hatalar sürekli düzeltilmekte ve yeni özellikler eklenmektedir. Ayrıntılar için macOS kurulum belgelerine bakınız. Aşağıdaki talimatların ayrıntı düzeyi başlangıç düzeyinde bir kullanıcıya göre olup öntanımlı ayarlarla çalışmak üzere düzenlenmiştir. Daha yeni sürümlerin derlenmesi veya daha yeni paketlerin kurulması tüm kullanıcılara tavsiye edilmektedir.

Standard kurulum türü mod_php kullanmak olup macOS üzerinde Apache HTTP Sunucusu için mod_php'yi etkin kılmak (öntanımlı HTTP sunucusuna Sistem Tercihlerinden erişilebilir) amacıyla şu adımlar izlenmelidir:

  1. Apache yapılandırma dosyasını bulup açın. Öntanımlı olarak yeri: /etc/apache2/httpd.conf Bu dosyanın sahibi root olduğundan ve öntanımlı olarak onun özelinde olduğundan Finder veya Spotlight kullanarak dosyayı bulmak zor olabilir.

    Bilginize: Dosyayı açmanın tek yolu Terminal'de nano gibi Unix temelli bir metin düzenleyici kullanmaktır. Dosyanın sahibi root olduğundan dosyayı (root olarak) açmak için Terminal'de sudo komutunu kullanmalıyız (root parolası istenecektir): sudo nano /etc/apache2/httpd.conf Önemli nano komutları: ^w (arama), ^o (kayıt), and ^x (çıkış). Burada ^ imi, Ctrl tuşu anlamındadır.

    Bilginize: Mac OS X'in 10.5'ten önceki sürümleri PHP ve Apache'nin eski sürümleriyle gelir. Böyle makinelerde Apache yapılandırma dosyası /etc/httpd/httpd.conf olabilir.

  2. Bir metin düzenleyici ile aşağıdaki satırların başlarındaki # imlerini kaldırın (bu iki satır genelde birarada değildir, onları arayıp bulmalısınız):

    # LoadModule php5_module libexec/httpd/libphp5.so

# AddModule mod_php5.c
    Konuma/yola dikkat. PHP'yi gelecekte tekrar derlerseniz yukarıdaki dosyaların yerine yenilerini koymayı unutmayın. Yoksa bu satırları tekrar açıklama haline getirmelisiniz.

  3. PHP olarak yorumlanacak uzantıları belirleyiniz (örnekler: .php .html ve .inc)

    (Mac Panther'den itibaren) httpd.conf dosyasında bulunan aşağıdaki deyimden dolayı PHP etkin kılındığı anda .php uzantılı dosyalar otomatik olarak PHP tarafından yorumlanır.

    <IfModule mod_php5.c>
    # php etkinse, .php ve .phps dosyalarını yorumlasın isteriz.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Çoğu kullanıcı index.php'yi ister
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

    Bilginize:

    Mac OS X 10.5 (Leopard) öncesinde, PHP 5 yerine PHP 4 kullanılırdı; dolayısıyla yukarıdaki 5'leri 4'lere çevirmeniz gerekir.

  4. DirectoryIndex yönergesinde belirtilen öntanımlı dizin içerik dosyasının yüklendiğinden emin olun. Bu ayrıca httpd.conf içinde de atanır. Bu amaçla genellikle index.php ve index.html kullanılır. PHP'nin varlığını sınayan yukarıdakı satırlardan dolayı öntanımlı olarak index.php etkindir. Gerekirse bu ayarı kendinize göre değiştirin.
  5. Ya php.ini dosyasının yerini ayarlayın ya da öntanımlıyı kullanın Mac OS X üzerindeki öntanımlı yeri genellikle /usr/local/php/php.ini olup bir phpinfo() işlev çağrısı da yerini gösterecektir. Eğer bir php.ini kullanılmamışsa, PHP öntanımlı değerleri kullanacaktır. php.ini'yi bulmak için SSS'ye bakabilirsiniz.
  6. DocumentRoot'u belirleyip ayarlayın. Bu, HTTP sunucusunun belge kök dizinidir. Bu dizindeki dosyalar HTTP sunucusu tarafından sunulur. Dolayısıyla PHP dosyaları da tarayıcıya gönderilmeden önce PHP tarafından yorumlanır. Genelde öntanımlı belge kök dizini /Library/WebServer/Documents olup httpd.conf dosyasında belirtilmesi gerekir. Ayrıca, her kullanıcının kendi öntanımlı belge kök dizini vardır: /Users/kullanıcı/Sites
  7. Bir phpinfo() dosyası oluşturun

    phpinfo() işlevi PHP ile ilgili bilgileri gösterir. Aşağıdaki içeriğe sahip bir dosyayı belge kök dizininde oluşturun:

    <?php phpinfo(); ?>

  8. Apache'yi yeniden başlatın ve yukarıdaki PHP dosyasını yükleyin

    Apache'yi başlatmak için ya kabukta sudo apachectl graceful komutunu verin ya da macOS Sistem Tercihlerinden "Kişisel HTTP Sunucusu" seçeneğini durdurup başlatın. Öntanımlı olarak, yerel dosyaları tarayıcıya yüklemek için şöyle bir URL kullanılır: http://localhost/info.php. Kullanıcı dizinizdeki belge kök dizinini kullanarak bunu şöyle yapabilirsiniz: http://localhost/~kullanıcı/info.php

CLI (veya eski sürümlerde CGI) çalıştırılabilirinin ismi php olup genellikle bulunduğu yer /usr/bin/php'dir. PHP kılavuzunun komut satırı bölümünü okuyun ve Terminal'i açıp PHP çalıştırılabilirinin sürümünü öğrenmek için php -v komutunu çalıştırın. phpinfo() işlevine yapılacak bir çağrı da bu bilgiyi gösterecektir.


  • « macOS Monterey öncesinde dağıtımla gelen PHP Kullanımı
  • Windows Sistemlerine Kurulum »
  • PHP Manual
  • macOS üzerine Kurulum
  • macOS üzerine PHP kurulumu

macOS üzerine PHP kurulumu

macOS üzerine PHP kurmak için Unix kurulum rehberini kullanın.


Windows Sistemlerine Kurulum

İçindekiler

  • Kurulum Gereksinimleri
  • PECL
  • Windows'ta PHP Kurulum Araçları
  • Windows sistemlerinde Önerilen Yapılandırma
  • Windows üzerine Elle PHP Kurulum Adımları
  • Kaynaktan derleme
  • Microsoft Windows üzerinde PHP Komut Satırı
  • Microsoft Windows üzerinde Apache 2.x
  • Windows'ta PHP Sorunlarını Giderme

PHP'nin günümüz Microsoft Windows sistemlerine kurulumu ve bilinen HTTP sunucularında yapılandırma önerileri.

PHP'nin Windows üzerindeki Resmi sürümleri, üretimde kullanım için önerilir. Bununla birlikte, PHP'yi kaynak paketinden de derleyebilirsiniz. Bunun için Visual Studio ortamına ihtiyacınız olacak. Bkz. » Adım Adım Kurulum Talimatları.

  • Windows üzerinde PHP'nin komut satırından kullanımı

  • Azure App Services üzerinde PHP kurulumu (nam-ı diğer Microsoft Azure, Windows Azure veya (Windows) Azure Web Apps).


Kurulum Gereksinimleri

PHP en azından Windows 2008/Vista gerektirir; 32 Bit ya da 64 bit (yani X86 veya X64. PHP, Windows RT/WOA/ARM üzerinde çalışmaz). PHP 7.2.0 itibariyle Windows 2008 ve Vista artık desteklenmiyor.

PHP, Visual C runtime(CRT) gerektirir. Birçok uygulama, zaten kurulu olmak için bunu gerektirir.

Microsoft Visual C++ Redistributable for Visual Studio 2019 tüm PHP sürümleri için uygundur, bkz » https://visualstudio.microsoft.com/downloads/.

PHP x86 derlemeleri için x86 CRT'yi ve PHP x64 derlemeleri için x64 CRT'yi indirmelisiniz.

CRT zaten kurulmuşsa, yükleyici size bunu söyleyecek ve hiçbir şeyi değiştirmeyecektir.

CRT yükleyicisi /quiet ve /norestart komut satırı anahtarlarını destekler, böylece onu çalıştıran komut dosyasını oluşturabilirsiniz.


PECL

PECL eklentileri Windows için önceden derlenmiş olup » http://windows.php.net/downloads/pecl/releases/ adresinden edinilebilir.

Bazı eklentiler, bazı Unix sistemlerine özgü özellikler kullanır ve bu nedenle Windows'ta mevcut değildir. Bunlar dışında kalan tüm eklentiler Windows için kullanılabilir.


Windows'ta PHP Kurulum Araçları

PHP Kurulum Araçları

» XAMPP, WampServer ve BitNami, Windows üzerinde Apache ile kullanım için PHP uygulamalarını kuracaktır.

Windows'ta Nginx'i kurmak ve yapılandırmak biraz daha fazla yapılandırma gerektirir. Daha fazala bilgi için bkz: » Nginx belgeleri


Windows sistemlerinde Önerilen Yapılandırma

OpCache

OpCache'i etkinleştirmeniz önemle tavsiye edilir. Bu eklenti, Windows için PHP'ye dahildir. PHP betiklerini derler, en iyilendirir ve sayfa her yüklendiğinde yeniden derlenmemeleri için onları bellekte önbelleğe alır.

php.ini dosyasında şunu yapın:

Örnek 1 Önerilen OpCache Yapılandırması

opcache.enable=On
opcache.enable_cli=On
Ve http sunucusunu yeniden başlatın. Daha fazla bilgi için bkz: OpCache Yapılandırması

WinCache

Özellikle paylaşılan bir web barındırma ortamında IIS kullanılıyorsa veya ağ bağlantılı dosya depolama (NAS) kullanılıyorsa, WinCache kullanılması önerilir. WinCache, PHP 8.0.0'dan itibaren artık desteklenmemektedir.

Tüm PHP Uygulamaları, WinCache dosya önbelleği özelliğinden otomatik olarak yararlanır. Dosya sistemi işlemleri bellekte önbelleğe alınır.

WinCache ayrıca kullanıcı nesnelerini bellekte önbelleğe alabilir ve bunları php.exe veya php-cgi.exe süreçleri arasında paylaşabilir (nesneleri istekler arasında paylaşır).

Birçok büyük http uygulamasının, WinCache kullanıcı nesnesi önbelleğini kullanmak için bir eklenti, uzantı veya yapılandırma seçeneği vardır.

Yüksek başarıma ihtiyacınız varsa uygulamalarınızda nesne önbelleğini kullanmalısınız.

PHP eklentilerini dizininize bir WinCache DLL (veya tgz) indirmek için (php.ini'nizdeki extensions_dir) bkz: » http://pecl.php.net/package/WinCache

php.ini dosyasında şunu yapın:

Örnek 2 Önerilen WinCache Yapılandırması

extension=php_wincache.dll
wincache.fcenabled=1
wincache.ocenabled=1 ; removed as of wincache 2.0.0.0
Daha fazla bilgi için bkz: WinCache Yapılandırması

IIS Yapılandırması

IIS Yöneticisinde, FastCGI modülünü kurun ve PHP-CGI.exe (PHP.exe değil) yoluna `.php` için bir işleyici eşlemi ekleyin.

IIS yapılandırmasını betik olarak oluşturmak için APPCMD komut satırı aracını kullanabilirsiniz.

Veritabanı

Muhtemelen bir Veritabanı Sunucusuna ihtiyacınız olacaktır. Çoğu veritabanının PHP eklentisi vardır. Siteniz çok fazla trafik almıyorsa, veritabanı sunucunuzu http sunucunuzla aynı sunucuda çalıştırabilirsiniz. Birçok veritabanı sunucusu Windows üzerinde çalışır.

PHP, mysqli ve pdo_mysql eklentilerini içerir.

Bkz: » https://dev.mysql.com/downloads/windows/


Windows üzerine Elle PHP Kurulum Adımları

Web Sunucusunu seçin

IIS

IIS Windows'ta yerleşiktir. Windows Sunucusunda, IIS rolü Sunucu Yöneticisi üzerinden eklenebilir.CGI Rol Özelliği dahil edilmelidir. Windows Masaüstünde, IIS'nin Denetim Masası'ndaki Program Ekle/Kaldır aracılığıyla eklenmesi gerekir. Microsoft belgelerinde » ayrıntılı talimatlar bulunmaktadır. Masaüstü web uygulamaları ve web geliştirme için IIS/Express veya PHP Desktop da kullanılabilir.

Örnek 1 IIS ve PHP'yi yapılandırmak için komut satırı kullanımı

@echo off

REM http://windows.php.net/downloads/ adresinden PHP kurulumu için
REM .ZIP dosyasını indirin

REM PHP .ZIP dosyasını açtığınız dizinin yolunu phppath=c:\php
REM (sonda \ yok) olarak ayarlayın

REM Geçerli PHP işleyicilerini temizleyin:
%windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI

REM PHP kurulu değilse aşağıdaki komut bir hata iletisi üretir.
REM Bu yok sayılabilir.
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI']

REM PHP işleyicisini ayarlayın
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phppath%\php-cgi.exe']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath%\php-cgi.exe',resourceType='Unspecified']
%windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script

REM FastCGI Değişkenlerini Yapılandırın
%windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phppath%\php-cgi.exe'].instanceMaxRequests:10000
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']"
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"

Apache

Windows için çeşitli Apache2 derlemeleri mevcuttur. ApacheLounge'un Apache2 derlemeleri önerilir, fakat but diğer seçenekler arasında otomatik kurulum araçları sağlayan XAMPP, WampServer ve BitNami bulunur. PHP, Apache'de mod_php veya mod_fastcgi aracılığıyla kullanılabilir. mod_php, aynı Visual C sürümü ve aynı CPU (x86 veya x64) ile oluşturulmuş bir TS Apache derlemesi gerektirir.

Derlenmiş paket seçimi

PHP'nin Windows derlemeleri » http://windows.php.net/download/ adresinden indirilebilir. Tüm derlemeler (PGO) en iyilenmiş olup QA ve GA sürümleri kapsamlı bir şekilde denenmiştir.

4 tür PHP derlemesi vardır:

  • Thread-Safe(TS) - tek süreçli web sunucular için - Apache ve mod_php gibi

  • Non-Thread-Safe(NTS) - IIS ve diğer FastCGI web sunucuları için - (Apache ve mod_fastcgi)- komut satırı betikleri için önerilir.

  • x86 - 32 bitlik sistemler için

  • x64 - 64 bitlik sistemler için


Kaynaktan derleme

Bu bölümde, Microsoft araçları kullanılarak Windews üzerinde PHP'nin nasıl derleneceği anlatılmaktadır. PHP'yi cygwin ile derlemek için bkz: Unix Sistemlere Kurulum.

Wiki belgeleri için bkz: » https://wiki.php.net/internals/windows/stepbystepbuild


Microsoft Windows üzerinde PHP Komut Satırı

Bu bölüm, PHP'nin Windows üzerinde komut satırından çalıştırılmasına özgü bilgiler ve ipuçları içerir.

Bilginize:

Lütfen önce elle kurulum adımlarını okuyun!

PHP'nin komut satırından çalıştırılması, Windows'ta herhangi bir değişiklik yapılmadan gerçekleştirilebilir.

C:\php\php.exe -f "C:\PHP Betikler\betik.php" -- -dğş1 -dğş2 -dğş3

Ancak bunu daha basit hale getirmek için izlenebilecek bazı kolay adımlar var. Bu adımlardan bazıları daha önce atılmış olmalıdır, ancak tam bir adım adım sıralama sağlayabilmek için bunlar burada tekrarlanmıştır.

    Bilginize:

    PATH ve PATHEXT, Windows'ta önceden tanımlanmış önemli sistem değişkenleridir ve bunlara ekleme yaparken mevcut değerlerin geçersiz kılınmamasına dikkat edilmelidir.

  • PHP çalıştırılabilirinin (PHP sürümünüze ve görüntüleme tercihlerinize bağlı olarak php.exe, php-win.exe veya php-cli.exe) konumunu PATH ortam değişkenine ekleyin. İlgili SSS girdisine bakıp PHP dizininizi PATH ortam değişkenine nasıl ekleyeceğinizi öğrenebilirsiniz.

  • .PHP uzantısını PATHEXT ortam değişkenine ekleyin. Bu, PATH ortam değişkenine ekleme yapılırken yapılabilir. SSS bölümünde açıklanan adımları izleyin ancak PATH ortam değişkeni yerine PATHEXT ortam değişkenini değiştirin.

    Bilginize:

    .PHP uzantısını yerleştirdiğiniz konum, dosya adlarının eşleşmesi durumunda hangi betiğin veya programın önce yürütüleceğini belirleyecektir. Örneğin, .PHP'yi .BAT'nin önüne yerleştirmek, aynı ada sahip bir betik dosyası varsa, php betiğinizin bat betiğinin yerine çalıştırılmasına neden olur.

  • .PHP uzantısının bir dosya türü ile ilişkilendirilmesi, aşağıdaki komut çalıştırılarak yapılır:

    assoc .php=phpfile

  • phpfile dosya türünün uygun PHP çalıştırılabiliri ile ilişkilendirilmesi aşağıdaki komut çalıştırılarak yapılır:

    ftype phpfile="C:\php\php.exe" -f "%1" -- %~2

Aşağıdaki adımlar takip edilerek, PHP çalıştırılabilir dosyasının veya .PHP uzantısının yazılmasına gerek kalmadan PHP komut dosyaları herhangi bir dizinden çalıştırılabilir ve tüm bağımsız değişkenler işlenmek üzere betik dosyasına aktarılabilir.

Aşağıdaki örnek, elle yapılabilecek bazı kayıt defteri değişikliklerinin ayrıntılarını vermektedir.

Örnek 1 Kayıt Defteri değişiklikleri

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\php\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\php\\php.exe\" -f \"%1\" -- %~2"

Bu değişikliklerle aynı komut şu şekilde yazılabilir:

"C:\PHP Betikler\betik" dğş1 -dğş2 -dğş3
veya "C:\PHP Betikler" yolu PATH ortam değişkeninde mevcutsa:
betik dğş1 -dğş2 -dğş3

Bilginize:

Bu tekniği kullanmayı ve PHP betiklerinizi aşağıdaki örnekte olduğu gibi bir komut satırı süzgeci olarak kullanmayı düşünüyorsanız küçük bir sorun var demektir:

dir | "C:\PHP Betikler\betik" dğş1 -dğş2 -dğş3
veya
dir | betik dğş1 -dğş2 -dğş3
Betiğinizin basitçe askıda kaldığını ve hiçbir şey çıkmadığını görebilirsiniz. Bunu çalışır hale getirmek için başka bir kayıt defteri değişikliği yapmanız gerekir.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001
Bu sorunla ilgili daha fazla bilgiyi bu » Microsoft Bilgi Bankası Makalesi : 321788'de bulabilirsiniz. Windows 10'dan itibaren, bu ayar tersine çevrilmiş gibi görünür ve öntanımlı Windows 10 kurulumu devralınan konsol işlemlerinin otomatik olarak yapılmasını desteklemektedir. Bu » Microsoft forum gönderisinde bir açıklama bulunmaktadır.


Microsoft Windows üzerinde Apache 2.x

Bu bölüm, PHP'nin Microsoft Windows sistemlerinde Apache 2.x kurulumlarına özel notlar ve ipuçları içerir.

Bilginize:

Lütfen önce elle kurulum adımlarını okuyun!

Apache 2.x Sunucusu hakkında temel bir anlayışa sahip olmak için » Apache Belgelerine başvurmanız şiddetle tavsiye edilir. Ayrıca, burayı okumadan önce » Windows'a özgü Apache 2.x notlarını okumanız yararlı olur.

» Apache 2.x'in en son sürümünü ve uygun bir PHP sürümünü indirin. Elle Kurulum Adımlarını izleyin ve PHP'nin Apache ile bütünleştirilmesine devam etmek için geri gelin.

PHP'yi Windows'ta Apache 2.x ile çalışacak şekilde kurmanın üç yolu vardır. PHP, işleyici olarak, CGI olarak veya FastCGI altında çalıştırılabilir.

Bilginize: Windows üzerinde, Apache yapılandırma dosyalarına c:\dizin\dosya.uzn gibi dosya yollarını eklerken tüm tersbölü çizgilerini normal bölü çizgilerine çevirmeyi unutmayınız: c:/dizin/dosya.uzn. Dizin yollarını eklerken sona da bir bölü çizgisi eklemeniz gerekebilir.

Apache işleyicisi olarak kurulum

Apache 2.x PHP modülünü yüklemek için Apache httpd.conf yapılandırma dosyasına aşağıdaki satırlar eklenmelidir:

Örnek 1 Apache 2.x işleyicisi olarak PHP

# PHP 8.0.0 öncesinde modülün ismi php7_module idi
LoadModule php_module "c:/php/php8apache2_4.dll"
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
# php.ini yolunu yapılandır
PHPIniDir "C:/php"

Bilginize: Yukarıdaki örneklerde C:/php/ yerine PHP'nin gerçek yolu yazılmalıdır. LoadModule yönergesinde başvurulan dosyanın belirtilen konumda olduğundan emin olun. PHP 7 için php7apache2_4.dll, PHP 8 için php8apache2_4.dll kullanın.

PHP'yi CGI olarak çalıştırmak

Apache'de CGI çalıştırmanın daha iyi bir şekilde anlaşılması için » Apache CGI belgelerine başvurmanız şiddetle tavsiye edilir.

PHP'yi CGI olarak çalıştırmak için, php-cgi dosyalarının ScriptAlias yönergesi kullanılarak CGI dizini olarak belirlenmiş bir dizine yerleştirilmesi gerekecektir.

PHP dosyalarının başına PHP çalıştırılabilirinin konumuna işaret eden #! satırının yerleştirilmesi gerekir:

Örnek 2 CGI olarak PHP ve Apache 2.x

#!C:/php/php.exe
<?php
  phpinfo();
?>

Uyarı

CGI kipinde çalışan bir sunucu olası saldırılara açık hale gelir. Sunucunuzun böyle saldırılardan nasıl korunacağınızı öğrenmek için CGI güvenliği bölümü okunabilir.

PHP'yi FastCGI altında çalıştırmak

PHP'yi FastCGI altında çalıştırmanın, bir CGI olarak çalıştırmaya göre bir takım getirileri vardır. Bu şekilde ayarlamak oldukça basittir:

mod_fcgid modülünü » https://www.apachelounge.com adresinden edinin. Win32 ikili dosyaları bu siteden indirilebilir. Modülü beraberinde gelen talimatlara göre kurun.

Web sunucunuzu, sisteminize yüklediğiniz yeri belirten dosya yolunu ayarlamaya özen göstererek aşağıda gösterildiği gibi yapılandırın:

Örnek 3 PHP'yi FastCGI altında çalıştırmak için Apache yapılandırması

LoadModule fcgid_module modules/mod_fcgid.so
# php.ini dosyanızın yeri
FcgidInitialEnv PHPRC        "c:/php"
<FilesMatch \.php$>
    SetHandler fcgid-script
</FilesMatch>
FcgidWrapper "c:/php/php-cgi.exe" .php
.php uzantılı dosyalar artık PHP FastCGI sarmalayıcısı tarafından yürütülecektir.


Windows'ta PHP Sorunlarını Giderme

Geçici Dizin İzinlerini Kontrol Edin

  1. İzinleri almak için Dosya Gezgini'nde geçici dizine sağ tıklayın.

  2. IIS için, IIS_User kullanıcısı DEĞİŞTİRME iznine sahip olmalıdır. Geçici dizini yapılandırmadan veya php info sayfasından alabilirsiniz.


  • « Windows'ta PHP Sorunlarını Giderme
  • Azure Uygulama Hizmetleri »
  • PHP Manual
  • Yapılandırma ve Kurulum
  • Bulut Bilişim Platformlarına Kurulum

Bulut Bilişim Platformlarına Kurulum

İçindekiler

  • Azure Uygulama Hizmetleri
  • Amazon EC2

PHP buluta kurulur. PHP bulutuna!


Azure Uygulama Hizmetleri

PHP, Azure Uygulama Hizmetlerine sıklıkla kurulmaktadır (nam-ı diğer Microsoft Azure, Windows Azure, Azure Web Apps).

Azure Uygulama Hizmetleri http uygulamalarınızı barındıracak Windows HTTP Sunucuları havuzlarını yönetir. Ayrıca, kendi HTTP sunucularınızı, kendi Azure Bilişim Sanal Makinelerinizde veya diğer sunucularda da yönetebilirsiniz.

Azure Uygulama Hizmetleri HTTP sitesinde PHP otomatik olarak zaten etkin olur. Azure Portalında, kendi sitenizi seçtikten sonra kullanacağınız PHP sürümünü seçebilirsiniz. Öntanımlı sürüm yerine daha yeni bir sürümü seçmeniz de mümkündür.

Bu nedenle PHP ve eklentileri, diğer Windows sunucularında olduğu gibi Azure Uygulama Hizmetleri üzerinde de çalışacaktır. Bilgi tabanının çoğu da taşınabilirdir, bu nedenle Windows Sorun Giderme Sayfasına da bakın. Ancak Azure Uygulama Hizmetleri için yönetim arabirimi farklıdır:

  • » Azure portalı: Kendi sitenizi oluşturun, ayarları düzenleyin ve silin.

  • Kudu Panosu: [sitenizin adı].azurewebsites.net. Ardından, Kudu panosu » https://[sitenizin adı].scm.azurewebsites.net/ olur. Pano, bazı hata ayıklama yeteneklerine, dosya yönetimine ve site eklentilerine erişmenizi sağlar. Site eklentileri,sitenize PHP önizleme yapıları gibi ek programlar ekleyebilmeniz sağlayan bir Azure mekanizmasıdır.

  • IIS Yöneticisi, Sunucu Yöneticisi veya RDP kullanamazsınız.

PHP kodunuzdan birçok Azure Hizmetini yazılımsal olarak olarak kullanmak için bir PHP SDK'sı da vardır. Bkz: » PHP için Azure SDK'sı'.

Daha fazla bilgi için bkz: » Azure PHP Geliştirici Merkezi

WinCache

WinCache, Azure Uygulama Hizmetleri üzerinde öntanımlı olarak etkindir ve etkin durumda bırakmanız önerilir. Kendi PHP kurulumunuzu yapmak isterseniz WinCache'yi de etkinleştirmelisiniz.

Özel PHP Kurulumu

Kendi PHP derlemenizi D:\Home (C:\ yazılabilir değildir) dizini altına yükleyebilirsiniz. Ardından Azure Portalında, .php için SCRIPT_PROCESSOR'e yapınızdaki php-cgi.exe dosyasının mutlak yoluna atayın.


  • « Azure Uygulama Hizmetleri
  • FastCGI Process Manager (FPM) »
  • PHP Manual
  • Bulut Bilişim Platformlarına Kurulum
  • Amazon EC2

Amazon EC2

PHP » EC2 bulut platformuna kurulabilmektedir.

Ayrıca bkz: » PHP için AWS SDK.


FastCGI Process Manager (FPM)

İçindekiler

  • Installation
  • Configuration

FPM (FastCGI Process Manager - FastCGI Sğreç Yöneticisi) ağır yüklü siteler için (çoğunlukla) yararlı bazı özellikleri içeren birincil PHP FastCGI uygulamasıdır.

These features include:

  • advanced process management with graceful stop/start;

  • pools that give ability to start workers with different uid/gid/chroot/environment, listening on different ports and using different php.ini (replaces safe_mode);

  • configurable stdout and stderr logging;

  • emergency restart in case of accidental opcode cache destruction;

  • accelerated upload support;

  • "slowlog" - logging scripts (not just their names, but their PHP backtraces too, using ptrace and similar things to read remote process' execute_data) that are executed unusually slow;

  • fastcgi_finish_request() - special function to finish request and flush all data while continuing to do something time-consuming (video converting, stats processing etc.);

  • dynamic/ondemand/static child spawning;

  • basic and extended status info (similar to Apache mod_status) with various formats like json, xml and openmetrics supported;

  • php.ini-based config file.


Installation

Compiling from sources

In order to enable FPM in your PHP build you need to add --enable-fpm to your configure line.

There are several other FPM-specific configure options (all of them optional):

  • --with-fpm-user - set FPM user (default - nobody).

  • --with-fpm-group - set FPM group (default - nobody).

  • --with-fpm-systemd - Activate systemd integration (default - no).

  • --with-fpm-acl - Use POSIX Access Control Lists (default - no).

  • --with-fpm-apparmor - Activate AppArmor integration (default - no).

  • --with-fpm-selinux - Activate SELinux integration (default - no).

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The --with-fpm-selinux option was added.
8.0.0 | The --with-fpm-apparmor option was added.


Configuration

FPM uses php.ini syntax for its configuration file - php-fpm.conf, and pool configuration files.

List of global php-fpm.conf directives

pid string

Path to PID file. Default value: none.

error_log string

Path to error log file. Default value: #INSTALL_PREFIX#/log/php-fpm.log. If it's set to "syslog", log is sent to syslogd instead of being written in a local file.

log_level string

Error log level. Possible values: alert, error, warning, notice, debug. Default value: notice.

log_limit int

Log limit for the logged lines which allows to log messages longer than 1024 characters without wrapping. Default value: 1024. Available as of PHP 7.3.0.

log_buffering bool

Experimental logging without extra buffering. Default value: yes. Available as of PHP 7.3.0.

syslog.facility string

used to specify what type of program is logging the message. Default value: daemon.

syslog.ident string

Prepended to every message. If you have multiple FPM instances running on the same server, you can change the default value which must suit common needs. Default value: php-fpm.

emergency_restart_threshold int

If this number of child processes exit with SIGSEGV or SIGBUS within the time interval set by emergency_restart_interval, then FPM will restart. A value of 0 means 'Off'. Default value: 0 (Off).

emergency_restart_interval mixed

Interval of time used by emergency_restart_interval to determine when a graceful restart will be initiated. This can be useful to work around accidental corruptions in an accelerator's shared memory. Available Units: s(econds), m(inutes), h(ours), or d(ays). Default Unit: seconds. Default value: 0 (Off).

process_control_timeout mixed

Time limit for child processes to wait for a reaction on signals from master. Available units: s(econds), m(inutes), h(ours), or d(ays) Default Unit: seconds. Default value: 0.

process.max int

The maximum number of processes FPM will fork. This has been design to control the global number of processes when using dynamic PM within a lot of pools. Use it with caution. Default value: 0.

process.priority int

Specify the nice(2) priority to apply to the master process (only if set). The value can vary from -19 (highest priority) to 20 (lower priority). Default value: not set.

daemonize bool

Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. Default value: yes.

rlimit_files int

Set open file descriptor rlimit for the master process. Default value: system defined value.

rlimit_core int

Set max core size rlimit for the master process. Default value: 0.

events.mechanism string

Specify the event mechanism FPM will use. The following is available: select, pool, epoll, kqueue (*BSD), port (Solaris). Default value: not set (auto detection).

systemd_interval int

When FPM is build with systemd integration, specify the interval, in second, between health report notification to systemd. Set to 0 to disable. Default value: 10.

List of pool directives

With FPM you can run several pools of processes with different setting. These are settings that can be tweaked per pool.

listen string

The address on which to accept FastCGI requests. Valid syntaxes are: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. This option is mandatory for each pool.

listen.backlog int

Set listen(2) backlog. A value of -1 means maximum on BSD systems. Default value: -1 (FreeBSD or OpenBSD) or 511 (Linux and other platforms).

listen.allowed_clients string

List of IPv4 or IPv6 addresses of FastCGI clients which are allowed to connect. Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original PHP FastCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address must be separated by a comma. If this value is left blank, connections will be accepted from any ip address. Default value: not set (any ip address accepted).

listen.owner string

Set permissions for unix socket, if one is used. In Linux, read/write permissions must be set in order to allow connections from a web server. Many BSD-derived systems allow connections regardless of permissions. Default values: user and group are set as the running user, mode is set to 0660.

listen.group string

See listen.owner.

listen.mode string

See listen.owner.

listen.acl_users string

When POSIX Access Control Lists are supported you can set them using this option. When set, listen.owner and listen.group are ignored. Value is a comma separated list of user names.

listen.acl_groups string

See listen.acl_users. Value is a comma separated list of group names.

user string

Unix user of FPM processes. This option is mandatory.

group string

Unix group of FPM processes. If not set, the default user's group is used.

pm string

Choose how the process manager will control the number of child processes. Possible values: static, ondemand, dynamic. This option is mandatory.

static - the number of child processes is fixed (pm.max_children).

ondemand - the processes spawn on demand (when requested, as opposed to dynamic, where pm.start_servers are started when the service is started.

dynamic - the number of child processes is set dynamically based on the following directives: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.

pm.max_children int

The number of child processes to be created when pm is set to static and the maximum number of child processes to be created when pm is set to dynamic. This option is mandatory.

This option sets the limit on the number of simultaneous requests that will be served. Equivalent to the ApacheMaxClients directive with mpm_prefork and to the PHP_FCGI_CHILDREN environment variable in the original PHP FastCGI.

pm.start_servers int

The number of child processes created on startup. Used only when pm is set to dynamic. Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.

pm.min_spare_servers int

The desired minimum number of idle server processes. Used only when pm is set to dynamic. Also mandatory in this case.

pm.max_spare_servers int

The desired maximum number of idle server processes. Used only when pm is set to dynamic. Also mandatory in this case.

pm.max_spawn_rate int

The number of rate to spawn child processes at once. Used only when pm is set to dynamic. Default value: 32

pm.process_idle_timeout mixed

The number of seconds after which an idle process will be killed. Used only when pm is set to ondemand. Available units: s(econds)(default), m(inutes), h(ours), or d(ays). Default value: 10s.

pm.max_requests int

The number of requests each child process should execute before respawning. This can be useful to work around memory leaks in 3rd party libraries. For endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. Default value: 0.

pm.status_listen string

The address on which to accept FastCGI status request. This creates a new invisible pool that can handle requests independently. This is useful if the main pool is busy with long running requests because it is still possible to get the FPM status page before finishing the long running requests. The syntax is the same as for listen directive. Default value: none.

pm.status_path string

The URI to view the FPM status page. This value must start with a leading slash (/). If this value is not set, no URI will be recognized as a status page. Default value: none.

ping.path string

The ping URI to call the monitoring page of FPM. If this value is not set, no URI will be recognized as a ping page. This could be used to test from outside that FPM is alive and responding. Please note that the value must start with a leading slash (/).

ping.response string

This directive may be used to customize the response to a ping request. The response is formatted as text/plain with a 200 response code. Default value: pong.

process.priority int

Specify the nice(2) priority to apply to the worker process (only if set). The value can vary from -19 (highest priority) to 20 (lower priority). Default value: not set.

process.dumpable bool

Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user or group is different than the master process user. It allows to create process core dump and ptrace the process for the pool user. Default Value: no. Since PHP 7.0.29, 7.1.17 and 7.2.5.

prefix string

Specify prefix for path evaluation

request_terminate_timeout mixed

The timeout for serving a single request after which the worker process will be killed. This option should be used when the 'max_execution_time' ini option does not stop script execution for some reason. A value of '0' means 'Off'. Available units: s(econds)(default), m(inutes), h(ours), or d(ays). Default value: 0.

request_terminate_timeout_track_finished bool

The timeout set by request_terminate_timeout is not engaged after a fastcgi_finish_request or when application has finished and internal shutdown functions are being called. This directive will enable timeout limit to be applied unconditionally even in such cases. Default value: no. Since PHP 7.3.0.

request_slowlog_timeout mixed

The timeout for serving a single request after which a PHP backtrace will be dumped to the 'slowlog' file. A value of '0' means 'Off'. Available units: s(econds)(default), m(inutes), h(ours), or d(ays). Default value: 0.

request_slowlog_trace_depth int

The depth of slowlog log stack trace. Default value: 20. Since PHP 7.2.0.

slowlog string

The log file for slow requests. Default value: #INSTALL_PREFIX#/log/php-fpm.log.slow.

rlimit_files int

Set open file descriptor rlimit for child processes in this pool. Default value: system defined value.

rlimit_core int

Set max core size rlimit for child processes in this pool. Possible Values: 'unlimited' or an integer greater or equal to 0. Default value: system defined value.

chroot string

Chroot to this directory at the start. This value must be defined as an absolute path. When this value is not set, chroot is not used.

chdir string

Chdir to this directory at the start. This value must be an absolute path. Default value: current directory or / when chroot.

catch_workers_output bool

Redirect worker stdout and stderr into main error log. If not set, stdout and stderr will be redirected to /dev/null according to FastCGI specs. Default value: no.

decorate_workers_output bool

Enable the output decoration for workers output when catch_workers_output is enabled. Default value: yes. Available as of PHP 7.3.0.

clear_env bool

Clear environment in FPM workers. Prevents arbitrary environment variables from reaching FPM worker processes by clearing the environment in workers before env vars specified in this pool configuration are added. Default value: Yes.

security.limit_extensions string

Limits the extensions of the main script FPM will allow to parse. This can prevent configuration mistakes on the web server side. You should only limit FPM to .php extensions to prevent malicious users to use other extensions to execute php code. Default value: .php .phar

apparmor_hat string

If AppArmor is enabled, it allows to change a hat. Default value: not set

access.log string

The access log file. Default value: not set

access.format string

The access log format. Default value: "%R - %u %t \"%m %r\" %s":

Valid options
Placeholder | Description
%C | %CPU
%d | duration µs
%e | fastcgi env
%f | script
%l | content length
%m | method
%M | memory
%n | pool name
%o | header output
%p | PID
%q | query string
%Q | the glue between %q and %r
%r | request URI
%R | remote IP address
%s | status
%T | time
%t | time
%u | remote user

It's possible to pass additional environment variables and update PHP settings of a certain pool. To do this, you need to add the following options to the pool configuration file.

Örnek 1 Passing environment variables and PHP settings to a pool

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/fpm-php.www.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 32M
PHP settings passed with php_value or php_flag will overwrite their previous value. Please note that defining disable_functions or disable_classes will not overwrite previously defined php.ini values, but will append the new value instead.

Settings defined with php_admin_value and php_admin_flag cannot be overridden with ini_set().

PHP settings can be set in the webserver configuration.

Örnek 2 set PHP settings in nginx.conf

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";
Dikkat

Because these settings are passed to php-fpm as fastcgi headers, php-fpm should not be bound to a worldwide accessible address. Otherwise, anyone could alter the PHP configuration options. See also listen.allowed_clients.

Bilginize: Pools are not a security mechanism, because they do not provide full separation; e.g. all pools would use a single OPcache instance.


PECL eklentilerinin kurulması

İçindekiler

  • PECL Kurulumları Hakkında
  • PECL Eklentilerinin İndirilmesi
  • Bir PHP Eklentisinin Windows Kurulumu
  • Paylaşımlı PECL eklentilerinin pecl komutu ile derlenmesi
  • Paylaşımlı PECL eklentilerinin phpize ile derlenmesi
  • php-config
  • PECL eklentilerinin PHP içinde duruk olarak derlenmesi


PECL Kurulumları Hakkında

» PECL, » PEAR üzerinden kullanılabililen bir PHP eklentileri deposudur. Kılavuzun bu bölümü PECL eklentilerinin nasıl edinileceği ve nasıl kurulacağını göstermek için tasarlanmıştır.

Bu talimatlarda, PHP kaynak kodunun /php/kaynak/dizininiz/ altında bulunduğu ve PECL eklentisinin isminin eklenti olduğu varsayılacaktır. Hazırlıkları buna göre yapılmalıdır. Bu talimatlarda ayrıca, » pear komutunun kullanılmasının bilindiği varsayılacaktır. PEAR kılavuzundaki pear komutu ile ilgili bilgiler pecl komutu için de geçerlidir.

Burada genel olarak eklentinin paylaşımlı olarak derlenmesi, kurulması ve yüklenmesi üzerinde durulacaktır. Sonraki bölümlerde açıklanan yöntemler eklentiyi nasıl derleyip kuracağınızla ilgili çeşitli talimatlar içerir, fakat bunlar otomatik olarak yüklenmez. Eklentiler bir extension yönergesi eklenerek yüklenebilirler. Bunun için php.ini dosyası veya dl() işlevi kullanılabilir.

PHP modüllerini derlerken, derleme için gerekli araçların (autoconf, automake, libtool gibi) birbirleriyle en uyumlu sürümlerini kullanıyor olmak önemlidir. Gerekli araçlar ve bunların gerekli sürümleriyle ilgili ayrıntılı bilgi » Anonim Git Talimatları sayfasında bulunabilir.


PECL Eklentilerinin İndirilmesi

PECL eklentilerini indirmek için çeşitli seçenekler vardır:

  • pecl install eklenti komutu eklenti kodunu otomatik olarak indirir, dolayısıyla ayrı bir indirme işlemine gerek kalmaz.
  • » https://pecl.php.net/ PECL sitesi, PHP Geliştirme Ekibi tarafından önerilen farklı eklentiler hakkında bilgiler içerir. Burada bulunan bilgilerden bazıları: ChangeLog dosyaları, dağıtım notları, gereksinimler ve benzeri ayrıntılar.
  • pecl download eklenti komutu PECL sitesinine dağıtım listesinde bulunan eklentileri indirip kurmak için » pecl komutu kullanılabilir. İstenen sürümler ayrıca belirtilebilir.
  • git Birçok PECL uzantısı GitHub'da bulunabilir.
  • SVN Bazı PECL eklentileri ayrıca SVN'de de bulunmaktadır. SVN içeriği » https://svn.php.net/pecl/ adresinde incelenebilir. Eklentileri doğrudan SVN'den indirmek için sırayla aşağıdaki komutlar verilebilir.

    $ svn checkout https://svn.php.net/repository/pecl/extname/trunk eklenti

  • Windows için PHP projesi çoğu PECL eklentisinin Windows çalıştırılabilirlerini derlemekte ve ilgili yere kurmaktadır.


Bir PHP Eklentisinin Windows Kurulumu

Windows'ta bir PHP eklentisini yüklemenin iki yolu vardır: Ya eklenti PHP içinde derlenir ya da DLL olarak yüklenir. Derlenmiş bir eklentiyi yüklemek en kolay ve en çok tercih edilen yoldur.

Bir eklentiyi yüklemek için sistemde o eklentinin .dll dosyasının bulunması gerekir. Tüm eklentiler otomatik olarak belirli aralıklarla PHP Grubu tarafından derlenirler (bunları indirilmesi sonraki bölümde açıklanmıştır.

Bir eklentiyi PHP içinde derlemek için Kaynak kod paketinden derleme belgesine bakılabilir.

Bir eklentiyi tek başına (yani bir DLL olarak) derlemek için Kaynak kod paketinden derleme belgesine bakılabilir. Eğer DLL dosyası ne PHP dağıtımında ne de PECL sitesinde mevcutsa, eklentiyi kullanmaya başlamadan önce derlemek gerekebilir.

Bir eklenti nereden bulunur?

PHP eklentileri genellikle php_*.dll biçeminde isimlendirilir (yıldız iminin yerine eklentinin ismi gelir) ve PHP\ext dizini altında bulunur.

PHP, geliştiricilerin büyük çoğunluğunca en faydalı bulunan eklentilerle birlikte gelir. Bu tür paketlere toplu paket adı verilir.

Bununla birlikte, çekirdek eklentilerle sağlanmamış bir işlevselliğe ihtiyaç duyulursa, bunları edinmek için » PECL sitesinde bulunabilir. PHP Eklentileri Halk Kütüphanesi (PECL - PHP Extension Community Library) bir PHP Eklentileri deposu olup PHP eklentilerinin geliştirilmesi ve indirilmesi için barındırma oluşumlarını ve bilinen tüm eklentilerin bir dizinini içerir.

Kendi kullanımı için eklenti geliştirenler bu eklentinin PECL'de barındırılmasını isteyebilir, böylece ihtiyaçları aynı olan başkaları da bu eklentiden yararlanabilir. Bunun bazı olumlu yan etkileri de vardır: Geribildirim, teşekkür, hata bildirimi, hatta düzeltme ve yama alma şansı olur. Eklentiyi barındırılmak üzere PECL'ye göndermeden önce » PECL adresinin incelenmesi önerilir.

Hangi eklenti indirilecek?

Çoğu zaman her DLL'nin çok sayıda sürümü vardır:

  • Farklı sürüm numaraları (en azından ilk iki sayı tutmalı)
  • Farklı evre güvenceli olanlar
  • Farklı işlemciler için olanlar (x86, x64, ...)
  • Farklı hata ayıklama seçenekli olanlar
  • vs.

Şuna da dikkat edilmelidir: Eklenti ayarları kullanılan PHP çalıştırılabilirinin ayarları ile aynı olmalıdır. Aşağıdaki PHP betiği PHP ayarlarının tamamını içerecektir:

Örnek 1 - phpinfo() kullanımı

<?php
phpinfo();
?>

Ya da komut satırından:

sürücü:\dizin\yolu\php\executable\php.exe -i

Bir eklentinin yüklenmesi

Bir PHP eklentisini yüklemenin en bilinen yolu eklentiyi php.ini dosyasına eklemektir. Dikkatle incelenirse php.ini dosyasında bir çok eklentinin zaten ekli olduğunu görülür. Eklentiyi etkin kılmak için yapılacak tek değişiklik eklentinin belirtildiği satırın başındaki noktalı virgülü silmek olacaktır.

PHP 7.2.0 ve üzeri sürümlerde, eklentinin dosya adı yerine eklenti adı da kullanılabilir. Bu işletim sisteminden bağımsız ve daha kolay olduğundan, özellikle yeni başlayanlar için, yüklenecek eklentileri belirlemenin önerilen yolu haline gelir. Dosya adları, önceki sürümlerle uyumluluk için desteklenmeye devam etmektedir.

;extension=php_eklenti.dll

extension=php_eklenti.dll

; PHP 7.2 ve sonrasında önerilen:
extension=eklenti
zend_extension=diğer_eklenti

Bununla birlikte, bazı HTTP sunucuları, PHP çalıştırılabilirinin yanına konmuş php.ini dosyasını kullanmadıklarından eklentiyi göremeyebilir. HTTP sunucusunun kullandığı php.ini dosyasının bulunduğu yer phpinfo() işlevi kullanılarak şöyle öğrenilebilir:

Configuration File (php.ini) Path C:\WINDOWS

Loaded Configuration File         C:\Program Files\PHP\8.2\php.ini

Eklentiyi etkin kıldıktan sonra php.ini dosyası kaydedilmeli ve HTTP sunucusu yeniden başlatıldıktan sonra tekrar phpinfo() çıktısına bakılmalıdır. Yeni eklentinin artık kendi bölümünde görünüyor olması gerekir.

Sorunların çözümlenmesi

Eğer eklenti phpinfo() çıktısında görünmüyorsa sorunun kaynağını bulmak için günlük dosyalarına bakılmalıdır.

PHP, komut satırından kullanılıyorsa (CGI), eklenti yükleme hatası doğrudan ekranda görülebilir.

PHP bir HTTP sunucusu ile kullanılıyorsa günlük dosyalarının yeri ve biçemi kullanılan yazılıma göre değişir. Günlüklerin yerini bulmak için kullanılan HTTP sunucusunun belgelerine bakılmalıdır.

Sorunların çoğu DLL dosyasının ve bu dosyanın bağımlı olduğu DLL'lerin yeri ile ilgilidir. php.ini içindeki "extension_dir" yönergesinin değeri ile derleme sırasında yapılan ayarlar arasında bir tutarsızlık olabilir.

Eğer sorun derleme sırasında yapılan ayarlarla uyumsuzluktan kaynaklanıyorsa muhtemelen indirilen DLL dosyası doğru yere konulmamış demektir. Eklentinin doğru ayarlarla tekrar indirilmesi gerekebilir. Bu yapıldıktan sonra phpinfo() çıktısının tekrar incelenmesi uygun olacaktır.


Paylaşımlı PECL eklentilerinin pecl komutu ile derlenmesi

PECL, paylaşımlı PHP eklentilerinin oluşturulmasını kolaylaştırır. » pecl komutu şöyle kullanılabilir:

$ pecl install eklenti

Bu komutla eklentinin kaynak kodu indirilecek, derlenecek ve eklenti.so adıyla extension_dir yönergesinde belirtilen dizine kurulacaktır. Böylece eklenti.so php.ini üzerinden yüklenebilir duruma gelmiş olacaktır.

Öntanımlı olarak, pecl komutu, alfa veya beta olarak imlenmiş paketleri kurmaz. Eklentinin henüz kararlı bir sürümü yoksa, beta sürümü şöyle kurulabilir:

$ pecl install eklenti-beta

Ayrıca belli bir sürüm şu şekilde kurulabilir:

$ pecl install eklenti-0.1

Bilginize:

Eklentiyi php.ini dosyasında etkin kıldıktan sonra değişikliklerin etkin olması için HTTP sunucusunun yeniden başlatııması gerekir.


Paylaşımlı PECL eklentilerinin phpize ile derlenmesi

pecl komutu ile kurulumun mümkün olmadığı durumlar olabilir. Bir güvenlik duvarı etkin olabilir veya eklentinin PECL uyumlu paketi yoktur ya da henüz dağıtılmamış git sürümü kurulmak isteniyordur, vs. Böyle bir eklentinin derleme işlemi daha temel derleme araçları (make gibi) kullanılarak gerçekleştirilebilir.

Bir PHP eklentisini derleme işlemine hazırlamak için phpize komutu kullanılır. Aşağıdaki örnekte, eklentinin kaynak kod paketinin eklenti dizininde bulunduğu varsayılmıştır:

$ cd eklenti
$ phpize
$ ./configure
$ make
# make install

Başarılı bir kurulum sonucunda eklenti PHP eklentileri dizinine eklenti.so adıyla yerleştirilir. Eklentiyi etkin kılmak için php.ini dosyasına bir extension=eklenti.so satırı eklemek gerekecektir.

Eğer sistemde phpize komutu yoksa ve RPM gibi önceden derlenmiş paketler kullanılabiliyorsa, phpize komutunu ve PHP eklentilerini derlemek için gerekli başlık dosyalarını içermesi muhtemel uygun bir PHP geliştirme sürümünü kurmak gerekebilir.

Komutun kullanım bilgilerini görmek için phpize --help komutu verilmelidir.


php-config

php-config basit bir kabuk betiği olup kurulu PHP yapılandırması hakkında bilgi edinmek için kullanılır.

Eklentiler derlenirken, birden fazla PHP sürümü kuruluysa yapılandırma sırasında --with-php-config seçeneğinde ilgili php-config betiğinin yolu belirtilerek hangi sürümün kurulmak istendiği belirtilebilir.

php-config betiği tarafından sağlanan komut satırı seçeneklerinin listesi, betiği -h seçeneği ile çalıştırarak alınabilir:

Usage: /usr/local/bin/php-config [OPTION]
Options:
  --prefix            [...]
  --includes          [...]
  --ldflags           [...]
  --libs              [...]
  --extension-dir     [...]
  --include-dir       [...]
  --php-binary        [...]
  --php-sapis         [...]
  --configure-options [...]
  --version           [...]
  --vernum            [...]

Komut satırı seçenekleri
Seçenek | Açıklama
--prefix | PHP'nin kurulu olduğu dizinin öneki, /usr/local gibi.
--includes | Tüm başlık dosyaları ile -I seçeneklerinin listesi
--ldflags | PHP'nin birlikte derlendiği LD seçenekleri
--libs | PHP'nin birlikte derlendiği ek kütüphaneler
--extension-dir | Eklentilerin aranacağı öntanımlı dizin
--include-dir | Başlık dosyalarının bulunduğu öntanımlı dizininin öneki
--php-binary | PHP CLI veya CGI çalıştırılabilirinin tam yolu
--php-sapis | Kullanılabilir tüm SAPI modüllerini gösterir
--configure-options | Geçerli PHP kurulumunu yeniden oluşturmak için yapılandırma seçenekleri
--version | PHP sürümü
--vernum | Tamsayı olarak PHP sürümü


PECL eklentilerinin PHP içinde duruk olarak derlenmesi

Bazen bir PECL eklentisini PHP çalıştırılabilirinin içinde duruk olarak derlemek gerekebilir. Bunu yapmak için eklentinin /php/kaynak/dizininiz/ext/ dizinine yerleştirilmesi ve PHP kaynak paketinin configure betiğinin yeniden çalıştırılması gerekir.

$ cd /php/kaynak/dizininiz/ext
$ pecl download eklenti
$ gzip -d < eklenti.tgz | tar -xvf -
$ mv eklenti-x.x.x eklenti

Bu işlemin sonucunda eklenti şöyle bir dizinin altına yerleştirilmiş olacaktır:

/php/kaynak/dizininiz/ext/eklenti

Artık PHP kaynak paketinin configure betiğini yeniden oluşturulup PHP her zamanki gibi derlenebilir:

$ cd /php/kaynak/dizininiz/
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-eklenti --enable-baskabireklenti --with-filanca
$ make
$ make install

Bilginize: buildconf betiğini çalıştırabilmek için autoconf 2.68 ve automake 1.4+ paketlerinin sistemde kurulu olması gerekir (daha yeni autoconf sürümleri de çalışabilir ama onlar desteklenmemektedir).

--enable-eklenti seçeneğinin mi yoksa --with-eklenti seçeneğinin mi kullanılacağı eklentiye bağlıdır. Genellikle harici kütüphanelere ihtiyacı olmayan eklentiler --enable seçeneğini kullanır. Hangisinin kullanılacağından emin olmak için buildconf'tan sonra şu çalıştırılabilir:

$ ./configure --help | grep eklenti


  • « PECL eklentilerinin PHP içinde duruk olarak derlenmesi
  • SSS'yi okuyun »
  • PHP Manual
  • Yapılandırma ve Kurulum
  • Sorunlar?

Sorunlar?

İçindekiler

  • SSS'yi okuyun
  • Diğer Sorunlar
  • Hata Bildirme


SSS'yi okuyun

Bazı sorunlar diğerlerine göre daha sık karşımıza çıkar. En bilinenlerini bu kılavuzun SSS bölümünde liste halinde bulabilirsiniz.


Diğer Sorunlar

Hala bir çözüme ulaşamadıysanız, PHP kurulum posta listesinden birileri belki size yardımcı olabilir. Sizin sorununuzla daha önce karşılaşan biri olmuş mu acaba diye önce liste arşivlerini bir araştırın, hala uygun bir çözüm bulamadıysanız sorununuzu listeye yazın, aynı sorunla daha önce karşılaşmış biri size yardımcı olabilir. Liste arşivlerine » https://www.php.net/support.php adresindeki destek sayfasından erişebilirsiniz. PHP kurulum listesine üye olmak için » php-install-subscribe@lists.php.net adresine boş bir ileti gönderiniz. Posta listesinin adresi: » php-install@lists.php.net.

Posta listesinde yardım almak istiyorsanız, ortamınız hakkında gerekli bilgiler (kullandığınız işletim sistemi, PHP sürümü, HTTP sunucusu, PHP'yi CGI olarak mı yoksa modül olarak mı çalıştırdığınız, vs.) dikkatlice ve ayrıntılı olarak vermeye çalışın. Bunun yanında sorununuzu denemeyi veya aynı sorunu üretmeyi mümkün kılacak kodları veya ayrıntıları vermeye çalışın.


Hata Bildirme

PHP'de bir hata bulduğunuzu düşünüyorsanız, lütfen bize bildirin. Siz bildirmezseniz PHP geliştiricilerinin muhtemelen bundan haberleri olmayacak ve gerekli değişiklikleri yapmayacaklardır. Hataları » https://github.com/php/php-src/issues adresindeki hata izleme sistemini kullanarak bildirebilirsiniz. Hataları lütfen posta listelerine ve kişisel posta adreslerine bildirmeyiniz. Hata izleme sistemine özellik isteklerinizi de bildirebilirsiniz.

Bir hatayı bildirmeden önce lütfen » Hata nasıl bildirilir? sayfasını okuyunuz!


Çalışma Anı Yapılandırması

İçindekiler

  • Yapılandırma Dosyası
  • .user.ini dosyaları
  • Yapılandırma ayarlarının yeri
  • Yapılandırma ayarlarının değiştirilmesi


Yapılandırma Dosyası

Yapılandırma dosyası (php.ini) PHP başlatıldığında okunur. PHP'nin sunucu modülü sürümlerinde bu işlem bir kereliğine HTTP sunucusu başlatıldığında gerçekleşir. CGI ve CLI sürümlerinde ise PHP'nin her çağrılışında işlem tekrarlanır.

php.ini sırasıyla şuralarda aranır:

  • SAPI modülüne özgü konum (Apache 2'de PHPIniDir yönergesi, CGI ve CLI için -c komut satırı seçeneği)

  • PHPRC ortam değişkeni.

  • php.ini dosyasının konumu PHP'nin farklı sürümleri için ayarlanabilmektedir. Kayıt defteri anahtarlarının kökü, kurulu işletim sistemi ve PHP'nin 32 veya 64 bit oluşuna bağlıdır. 32 bit işletim sisteminde 32 bit PHP veya 64 bit işletim sisteminde 64 bit PHP için [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP], 64 bit işletim sisteminde 32 bit PHP sürümü için bunu yerine [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP]] kullanın. Aynı bitlik kurulum için kayıt defteri anahtarları aşağıdaki sırayla incelenir: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] ve [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x]. Burada x, y ve z harfleri PHP'nin ana, alt ve yama sürümlerini belirtir. 64 bit işletim sisteminde PHP'nin 32 bit sürümleri için kayıt defteri anahtarları aşağıdaki sırayla incelenir: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] ve [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x]. Burada x, y ve z harfleri PHP'nin ana, alt ve yama sürümlerini belirtir. Bu anahtarlarda bir IniFilePath değeri varsa ilk bulunan php.ini konumu kullanılır (sadece Windows).

  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] or [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] anahtarının \IniFilePath değeri (sadece Windows).

  • Geçerli çalışma dizini (CLI dışında)

  • HTTP sunucusunun dizini (SAPI modülleri için) veya PHP dizini (Windows için)

  • Windows dizini (C:\windows veya C:\winnt) (Windows için) veya --with-config-file-path derleme seçeneği ile belirtilen dizin.

php-SAPI.ini mevcutsa (burada SAPI, kullanılan SAPI'dir, dolayısıyla php-cli.ini veya php-apache.ini gibi bir dosya ismidir), php.ini yerine bu dosya kullanılır. SAPI ismi php_sapi_name() işlevi ile saptanabilir.

Bilginize:

Apache HTTP sunucusunun başlatıldığında kök dizine geçmesi PHP'nin php.ini dosyasını dosya sisteminin kök dizininde aramasına sebep olur.

php.ini içinde kullanılabilen ortam değişkenlerinin kullanımı aşağıda gösterilmiştir.

Örnek 1 - php.ini Ortam Değişkenleri

; PHP_MEMORY_LIMIT'in ortamdan alınışı
memory_limit = ${PHP_MEMORY_LIMIT}

php.ini yönergelerinin eklentilerle ilgili olanlarının belgeleri her eklentinin kendi belgeleri içindedir. Temel yönergelerin listesini eklerde bulabilirsiniz. Tamamı olmasa da yönergelerin büyük çoğunluğu kılavuzda belgelenmiş durumdadır. Kurulu PHP sürümünüzde geçerli yönergelerin tam listesi için kendi içinde iyi açıklanmış php.ini dosyanızı okuyun. Ayrıca, Git'te bulunan » en son php.ini dosyası da bu konuda size yardımcı olabilir.

Örnek 2 - php.ini örneği

; bir noktalı virgülden (;) sonra gelen tüm metin parçaları yok sayılır
[php] ; bölüm imleyiciler de (köşeli ayraç içindeki metinler) yok sayılır
; Mantıksal değerler için şu değerlerden herhangi biri kullanılabilir:
;      true,  on,  yes
;      false, off, no, none
register_globals = off
track_errors = yes

; Dizgeleri çift tırnak imlerinin arasında belirtebilirsiniz
include_path = ".:/usr/local/lib/php"

; tersbölü karakterleri diğer karakterler gibi ele alınır
include_path = ".;c:\php\lib"

.ini dosyalarında bulunan yönergelere isimleriyle değişken olarak erişilebilir. Örnek: open_basedir = ${open_basedir} ":/new/dir".

Tarama Dizinleri

PHP'yi, php.ini'yi okuduktan sonra bir dizindeki .ini dosyalarını tarayacak şekilde yapılandırmak mümkündür. Bu, --with-config-file-scan-dir seçeneği ayarlanarak derleme sırasında yapılabilir. Tarama dizini daha sonra çalışma anında PHP_INI_SCAN_DIR ortam değişkeni ayarlanarak geçersiz kılınabilir.

Birden fazla dizini platforma özgü yol ayırıcıyla ayırarak taramak mümkündür (Windows, NetWare ve RISC OS için ; diğer tüm platformlarda : kullanılır. PHP'nin kullandığı değer PATH_SEPARATOR sabiti olarak mevcuttur). PHP_INI_SCAN_DIR'de boş bir dizin verilmişse, PHP ayrıca derleme sırasında --with-config-file-scan-dir seçeneği ile verilen dizini de tarayacaktır.

PHP her dizinde, PHP .ini uzantılı tüm dosyaları alfabetik sırayla tarar. php_ini_scanned_files() işlevi ile veya PHP'yi --ini seçeneğiyle çalıştırarak yüklenen dosyaların bir listesi ve sırası elde edilebilir.

PHP'nin --with-config-file-scan-dir=/etc/php.d ile yapılandırıldığını
ve yol ayırıcının : olduğunu varsayalım ...

$ php
  PHP /etc/php.d/*.ini dosyalarının tamamını
  yapılandırma dosyaları olarak yükler

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php
  PHP /usr/local/etc/php.d/*.ini dosyalarının tamamını
  yapılandırma dosyaları olarak yükler

$ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php
  PHP /etc/php.d/*.ini ve ardından /usr/local/etc/php.d/*.ini
  dosyalarının tamamını yapılandırma dosyaları olarak yükler

$ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php
  PHP /usr/local/etc/php.d/*.ini ve ardından /etc/php.d/*.ini
  dosyalarının tamamını yapılandırma dosyaları olarak yükler


.user.ini dosyaları

Dizinler için .htaccess tarzı INI dosyaları desteklenmektedir. Bu dosyalar sadece CGI/FastCGI SAPI tarafından işlenir. Bu işlevsellik ile PECL htscanner eklentisi atıl duruma düşmüştür. PHP'yi Apache modülü olarak çalıştırıyorsanız aynı etkiyi elde etmek için .htaccess dosyalarını kullanın.

Ana php.ini dosyasına ek olarak, PHP istenen PHP dosyasının bulunduğu dizinden itibaren her dizini INI dosyaları için tarar ve bunları geçerli belge kök dizinine uygulanıyormuş gibi uygular ($_SERVER['DOCUMENT_ROOT'] değişkenine atandığı gibi). PHP dosyasının belge kökü dışında olduğu durumlarda sadece onun dizini taranır.

.user.ini tarzı INI dosyalarında sadece PHP_INI_PERDIR ve PHP_INI_USER kipindeki INI ayarları işleme sokulur.

Kullanıcı INI dosyalarını denetlemek için iki yeni INI yönergesi kullanılmaktadır: user_ini.filename ve user_ini.cache_ttl

user_ini.filename ile PHP'nin dizinlerde arayacağı dosyanın ismi belirtilir. .user.ini öntanımlı değerdir.

user_ini.cache_ttl ile kullanıcı INI dosyalarının ne sıklıkta denetleneceği belirtilir. 300 saniye (5 dakika) öntanımlı değerdir.


Yapılandırma ayarlarının yeri

Bu kipler, bir PHP yönergesinin nerede ve ne zaman atanabileceğini belirlerler ve bu kılavuzdaki her yönerge bu kiplerden biri ile ilişkilidir. Örneğin, bazı ayarlar bir PHP betiğinin içinde ini_set() kullanarak atanabilirken bazıları da php.ini veya httpd.conf dosyasında atanabilirler.

Örneğin, output_buffering ayarı için kip PHP_INI_PERDIR olup ini_set() kullanarak atanamaz. Bununla birlikte, display_errors yönergesinin kipi PHP_INI_ALL olup ini_set() kullanımı dahil her yerde atanabilir.

PHP_INI_* kiplerinin tanımları
Kip | Anlamı
PHP_INI_USER | Girdi Windows registry veya kullanıcı betiklerinde (örneğin ini_set() ile) ya da .user.ini dosyasında atanabilir.
PHP_INI_PERDIR | Girdi php.ini, .htaccess, httpd.conf veya .user.ini dosyasında atanabilir.
PHP_INI_SYSTEM | Girdi php.ini veya httpd.conf dosyasında atanabilir.
PHP_INI_ALL | Girdi herhangi bir yerde atanabilir.


Yapılandırma ayarlarının değiştirilmesi

PHP'nin bir Apache modülü olarak çalıştırılması

PHP'yi bir Apache modülü olarak kullanırken, yapılandırma ayarlarını Apache yapılandırma dosyalarındaki (httpd.conf ve .htaccess dosyaları) yönergeleri kullanarak da değiştirebilirsiniz. Bunu yapabilmek için Apache yapılandırmasında "AllowOverride Options" veya "AllowOverride All" olması gerekir.

PHP yapılandırmasını Apache yapılandırma dosyaları içinden değiştirmenize imkan veren çeşitli Apache yönergeleri vardır. PHP_INI_ALL, PHP_INI_PERDIR veya PHP_INI_SYSTEM olarak belirtilebilen yönergeleri eklerdeki php.ini yönergelerinin listesi sayfasında bulabilirsiniz.

php_value isim değer

Belirtilen değeri ismi belirtilen yönergeye atar. Sadece PHP_INI_ALL ve PHP_INI_PERDIR türü yönergeler için kullanılabilir. Önceki atanan değeri silmek için değer olarak none kullanın.

Bilginize: Mantıksal değer atamak için php_value yönergesini değil, php_flag (aşağıya bakınız) yönergesini kullanmalısınız.

php_flag isim on|off

Bir mantıksal yapılandırma yönergesi atamak için kullanılır. Sadece PHP_INI_ALL ve PHP_INI_PERDIR türü yönergeler için kullanılabilir.

php_admin_value isim değer

İsmi belirtilen yönergeye belirtilen değeri atar. .htaccess dosyalarında kullanılamaz. Bu yönerge ile atanan hiçbir yönerge türü ini_set() veya .htaccess tarafından geçersiz kılınamaz. Önceki atanan değeri silmek için değer olarak none kullanın.

php_admin_flag isim on|off

Bir mantıksal yapılandırma yönergesi atamak için kullanılır. .htaccess dosyalarında kullanılamaz. Bu yönerge ile atanan hiçbir yönerge türü .htaccess veya ini_set() tarafından geçersiz kılınamaz.

Örnek 1 - Apache yapılandırma örneği

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>

Dikkat

PHP sabitleri PHP dışında mevcut değildir. Örneğin, httpd.conf dosyasında error_reporting yönergesine E_ALL veya E_NOTICE PHP sabitlerini atayamazsınız. Bunu yaparsanız daima 0 olarak değerlendirileceklerdir. Sabitleri kullanmak yerine bunların bit maskelerini kullanın. Bu sabitler php.ini içinde kullanılabilir.

PHP yapılandırmasının Windows kayıt defteri üzerinden değiştirilmesi

PHP, Windows üzerinde çalışırken, yapılandırma değerleri Windows kayıt defteri kullanılarak her dizin için ayrı ayrı değiştirilebilir. Yapılandırma değerleri defterde HKLM\SOFTWARE\PHP\Per Directory Values anahtarının dizin isimlerine karşılık gelen alt anahtarlarında saklanır. Örneğin, c:\inetpub\wwwroot dizini için yapılandırma değerleri HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot anahtarında saklanır. Dizin ile ilgili ayarlar, dizin içinde ve alt dizinlerde çalıştırılan her betik için geçerli olur. Anahtar altındaki değerler PHP yapılandırma yönergelerinin isimlerini ve dizge değerlerini içermelidir. Değerlerde bulunan PHP sabitleri çözümlenmez. Sadece, PHP_INI_USER türü değişebilir yapılandırma değerleri bu yolla atanabilir, PHP_INI_PERDIR değerleri atanamaz, çünkü bu yapılandırma değerleri her istekte yeniden okunur.

Diğer PHP arayüzleri

PHP'yi nasıl çalıştırdığınızdan bağımsız olarak, belli değerleri betiğinizin çalışması sırasında ini_set() işlevi sayesinde değiştirebilirsiniz. Bu konuda daha ayrıntılı bilgi için ini_set() sayfasına bakınız.

Sistem yapılandırmanızla ilgili ayarlar ve mevcut değerleri ilginizi çekiyorsa phpinfo() işlevini çalıştırabilir ve elde ettiğiniz sayfayı inceleyebilirsiniz. Ayrıca, yapılandırma yönergelerinin her birine çalışma anında ini_get() veya get_cfg_var() işlevini kullanarak erişebilirsiniz.


Dil Başvuru Kılavuzu

  • Temel Sözdizimi
    • PHP etiketleri
    • HTML'den Kaçmak
    • Deyim Ayrımı
    • Açıklamalar
  • Türler
    • Giriş
    • Tür Sistemi
    • null
    • bool
    • int
    • float
    • string
    • Sayısal Dizeler
    • array
    • object
    • Sayılamalar
    • resource
    • Geriçağırımlar / Çağrılılabilirler
    • mixed
    • void
    • never
    • parent, self, static
    • false ve true
    • iterable
    • Tür bildirimleri
    • Tür Dönüşümü
  • Değişkenler
    • Temeller
    • Öntanımlı Değişkenler
    • Değişken etki alanı
    • Değişken değişkenler
    • Dış Kaynaklı Değişkenler
  • Sabitler
    • Söz dizimi
    • Öntanımlı Sabitler
    • Sihirli Sabitler
  • İfadeler
  • İşleçler
    • İşleç Önceliği
    • Aritmetik İşleçler
    • Artırım ve Eksiltim İşleçleri
    • Atama İşleçleri
    • Bitsel İşleçler
    • Karşılaştırma İşleçleri
    • Hata Denetim İşleçleri
    • Çalıştırma İşleci
    • Mantıksal İşleçler
    • Dizge İşleçleri
    • Dizi İşleçleri
    • Tür İşleçleri
  • Denetim Yapıları
    • Giriş
    • if
    • else
    • elseif/else if
    • Denetim yapıları için diğer sözdizimi
    • while
    • do-while
    • for
    • foreach
    • break
    • continue
    • switch
    • match
    • declare
    • return
    • require
    • include
    • require_once
    • include_once
    • goto
  • İşlevler
    • Kullanıcı tanımlı işlevler
    • İşlev bağımsız değişkenleri
    • Dönen değerler
    • Değişken işlevler
    • Yerleşik işlevler
    • Anonim işlevler
    • Ok İşlevleri
    • Birinci sınıf çağrılabilir sözdizimi
  • Sınıflar ve Nesneler
    • Giriş
    • Temel Kavramlar
    • Özellikler
    • Sınıf Sabitleri
    • Otomatik Yüklenen Sınıflar
    • Kurucular ve Yıkıcılar
    • Görünürlük
    • Nesnelerin Kalıtımı
    • Etki Alanı Çözünürlük İşleci (::)
    • static Anahtar Sözcüğü
    • Sınıf Soyutlama
    • Nesne Arayüzleri
    • Nitelikler
    • Anonim Sınıflar
    • Aşırı Yükleme
    • Nesne Yineleme
    • Sihirli Yöntemler
    • final Anahtar Sözcüğü
    • Nesne Kopyalama
    • Nesnelerin Karşılaştırılması
    • Statik İçselleştirim
    • Nesneler ve Gönderimler
    • Nesne Dizgeleştirme
    • Çok Özgüllük ve Az Özgüllük
    • NYP Değişiklik Güncesi
  • İsim Alanları
    • Giriş
    • İsim Alanlarının Tanımlanması
    • Alt İsim Alanlarının Bildirilmesi
    • Birden Fazla İsim Alanının Aynı Dosyada Tanımlanması
    • İsim alanlarının kullanımı: Temeller
    • İsim alanları ve dinamik dil özellikleri
    • namespace sözcüğü ve __NAMESPACE__ sabiti
    • İsim alanlarının kullanımı: İthal/Rumuz
    • Küresel Alan
    • İsim alanlarının kullanımı: son çare olarak küresel işlev ve sabitler
    • İsim çözünürlük kuralları
    • SSS: İsim alanları hakkında bilinmesi gerekenler
  • Sayılamalar
    • Sayılamalara giriş
    • Temel Sayılamalar
    • Destekli Sayılamalar
    • Sayılama Yöntemleri
    • Statik Sayılama Yöntemleri
    • Sayılama Sabitleri
    • Nitelikler
    • Sabit ifadelerinde sayılama değerleri
    • Nesnelerden farkları
    • Değer Listeleme
    • Dizgeleştirme
    • - Sayılamalar neden genişletilemez?
    • Örnekler
  • Hatalar
    • Temeller
    • PHP 7'de hatalar
  • İstisnalar
    • İstisnaları Genişletmek
  • Fiberler
  • Üreteçler
    • Üreteçlere giriş
    • Generator sözdizimi
    • Üreteçlerin Iterator nesneleriyle karşılaştırılması
  • Öznitelikler
    • Özniteliklere giriş
    • Öznitelik Sözdizimi
    • Özniteliklerin Yansıtma Arayüzü ile Okunması
    • Öznitelik Sınıflarının Bildirimi
  • Gönderimlerle İlgili Herşey
    • Gönderim Nedir?
    • Gönderim Ne Yapar?
    • Gönderimler Ne Değildir?
    • Gönderimle Aktarım
    • Gönderimle Döndürme
    • Gönderimi Tanımsız Yapmak
    • Gönderimleri kullanan diğer oluşumlar
  • Öntanımlı Değişkenler
    • Süper küreseller — Bütün etki alanlarında daima mevcut olan yerleşik değişkenler
    • $GLOBALS — Küresel alanda bulunan bütün değişkenleri içerir
    • $_SERVER — Sunucu ve işletme ortamı bilgisi
    • $_GET — HTTP GET değişkenleri
    • $_POST — HTTP POST değişkenleri
    • $_FILES — HTTP Dosya Yükleme değişkenleri
    • $_REQUEST — HTTP İstek değişkenleri
    • $_SESSION — Oturum değişkenleri
    • $_ENV — Ortam değişkenleri
    • $_COOKIE — HTTP Çerezleri
    • $php_errormsg — Önceki hata iletisi
    • $http_response_header — HTTP yanıt başlıkları
    • $argc — Betiğe geçirilen ifade sayısı
    • $argv — Betiğe geçirilen ifade dizisi
  • Öntanımlı İstisnalar
    • Exception — Exception Sınıfı
    • ErrorException — ErrorException Sınıfı
    • Error
    • ArgumentCountError
    • ArithmeticError — ArithmeticError istisnası
    • AssertionError
    • DivisionByZeroError
    • CompileError
    • ParseError
    • TypeError
    • ValueError — ValueError istisnası
    • UnhandledMatchError — UnhandledMatchError istisnası
    • FiberError — FiberError istisnası
  • Öntanımlı Arayüzler ve Sınıflar
    • Traversable — Traversable arayüzü
    • Iterator — Iterator Arayüzü
    • IteratorAggregate — IteratorAggregate Arayüzü
    • InternalIterator — InternalIterator sınıfı
    • Throwable — Throwable Arayüzü
    • ArrayAccess — ArrayAccess arayüzü
    • Serializable — Serializable arayüzü
    • Closure — Closure sınıfı
    • stdClass — stdClass sınıfı
    • Generator — Generator sınıfı
    • Fiber — Fiber sınıfı
    • WeakReference — WeakReference sınıfı
    • WeakMap — WeakMap sınıfı
    • Stringable — Stringable arayüzü
    • UnitEnum — UnitEnum arayüzü
    • BackedEnum — BackedEnum arayüzü
    • SensitiveParameterValue — SensitiveParameterValue sınıfı
  • Ön tanımlı Öznitelikler
    • Attribute — Attribute sınıfı
    • AllowDynamicProperties — AllowDynamicProperties sınıfı
    • ReturnTypeWillChange — ReturnTypeWillChange sınıfı
    • SensitiveParameter — SensitiveParameter sınıfı
  • Bağlam seçenekleri ve bağımsız değişkenleri
    • Soket bağlamı seçenekleri — Soket bağlamı seçeneklerinin listesi
    • HTTP bağlamı seçenekleri — HTTP bağlamı seçeneklerinin listesi
    • FTP bağlamı seçenekleri — FTP bağlamı seçeneklerinin listesi
    • SSL bağlamı seçenekleri — SSL bağlamı seçeneklerinin listesi
    • Phar bağlam seçenekleri — Phar bağlamı seçeneklerinin listesi
    • Bağlam bağımsız değişkenleri — Bağlam bağımsız değişkeni listeleme
    • Zip bağlamı seçenekleri — Zip bağlamı seçeneklerinin listesi
    • Zlib bağlam seçenekleri — Zlib bağlam seçeneklerinin listesi
  • Desteklenen Protokoller ve Sarmalayıcılar
    • file:// — Yerel dosya sistemine erişim
    • http:// — HTTP'lere erişim
    • ftp:// — FTP'lere Erişim
    • php:// — Çeşitli G/Ç akımlarına erişim
    • zlib:// — Sıkıştırma Akımları
    • data:// — Data (RFC 2397)
    • glob:// — Kalıpla eşleşen dosya yollarını bulur
    • phar:// — PHP Arşivi
    • ssh2:// — Güvenli Kabuk 2
    • rar:// — RAR
    • ogg:// — Ses akımları
    • expect:// — Süreçlerle Etkileşim Akımları


  • « Dil Başvuru Kılavuzu
  • PHP etiketleri »
  • PHP Manual
  • Dil Başvuru Kılavuzu
  • Temel Sözdizimi

Temel Sözdizimi

İçindekiler

  • PHP etiketleri
  • HTML'den Kaçmak
  • Deyim Ayrımı
  • Açıklamalar


PHP etiketleri

PHP bir dosyayı çözümlerken, hangi bölümü yorumlayıp hangi bölümü yorumlamadan geçeceğine karar vermek için <?php ve ?> açılış ve kapanış etiketlerine bakar. Bu şekilde çözümleme PHP'nin her çeşit farklı belgeye gömülmesini sağlar, çünkü bir çift açılış ve kapanış etiketinin dışındaki her şey PHP çözümleyicisi tarafından gözardı edilir.

PHP daha açıklayıcı olan <?php echo etiketine bir kısaltma olarak <?= kısa echo etiketini içerir.

Örnek 1 - PHP Açılış ve Kapanış Etiketleri

1. <?php echo 'XHTML veya XML belgelerde PHP kodu sunmak isterseniz,
bu etiketleri kullanın'; ?>

2. Kısa echo etiketi kullanabilirsiniz: <?= 'print this string' ?>.
<?php echo 'print this string' ?> koduna eşdeğerdir.

3. <? echo 'bu kod kısa etiketler arasında olmakla birlikte sadece,'.
'short_open_tag etkinse çalışır.'; ?>

PHP ayrıca kısa başlangıç etiketine de <? izin verir. Bu sadece, PHP --enable-short-tags yapılandırma seçeneği ile derlenerek veya php.ini yapılandırma dosyası yönergesi short_open_tag kullanılarak etkinleştirilebilir.

Bilginize:

Kısa etiketler iptal edilebileceğinden uyumluluk adına sadece normal etiketlerin (<?php ?> ve <?= ?>) kullanılması önerilir.

Bir dosya sadece PHP kodu içeriyorsa, dosyanın sonunda PHP kapanış etiketini koymamak tercih edilir. Yazılımcıdan herhangi bir çıktı gönderme isteği gelmezse PHP betiğin bu noktasında çıktı tamponlamasını başlatacağından kapama etiketinden sonra istenmeyen etkilere neden olabilecek boşluk veya yeni satırların yanlışlıkla eklenmesi böylece engellenmiş olur.

<?php
echo "Merhaba Dünya";

// ... daha kod

echo "İletişimin sonu";

// PHP kapama etiketi olmadan betik burada biter


HTML'den Kaçmak

Başlangıç ve bitiş etiketlerinin dışında kalan her şey PHP çözümleyicisi tarafından gözardı edilerek PHP dosyalarının karışık içeriğe sahip olabilmesi sağlanır. Çoğu zaman, bu örnekte olduğu gibi PHP'nin HTML içine gömülmüş olduğunu göreceksiniz.

<p>Bu bölüm PHP tarafından gözardı edilecek ve tarayıcıda gösterilecektir.</p>
<?php echo 'Bu bölüm PHP tarafından çözümlenecektir.'; ?>
<p>Bu bölüm de PHP tarafından gözardı edilecek ve tarayıcıda gösterilecektir.</p>
Bu beklendiği gibi çalışır, çünkü PHP çözümleyicisi ?> kapanış etiketine rastlayınca (hemen ardından bir satırsonu karakteri gelmesi durumu hariç - bak: deyim ayırma) başka bir açılış etiketine rastlayıncaya kadar (etiketin koşullu bir ifadenin ortasında olması durumu hariç - bu durumda çözümleyici neyin atlanacağına karar vermek için ifadenin sonucun saptamaya çalışacaktır) herşeyi çıktılamaya başlar. Aşağıdaki örneğe bakınız:

Yapıların koşullu kullanımı

Örnek 1 - Koşul kullanan gelişmiş önceleme

<?php if (ifade == true): ?>
 İfade doğruysa bu gösterilir.
<?php else: ?>
 İfade doğru değilse bu gösterilir.
<?php endif; ?>
?>
Bu örnekte PHP, açılış/kapanış etiketlerinin dışında olsa bile koşulun karşılanmadığı blokları atlayacaktır, çünkü PHP yorumlayıcısı koşulun karşılanmadığı durumda koşulun içinde bulunan blokları atlar.

Büyük metin bloklarını görüntülemek istediğimizde PHP'yi çözümleme kipinden çıkartmak çoğu zaman tüm metni echo ya da print ile görüntülemekten daha verimlidir.

Bilginize:

PHP'yi XML ya da XHTML içine gömmek istiyorsanız standartlarla uyumlu kalabilmek için normal PHP <?php ?> etiketlerini kullanmalısınız.


Deyim Ayrımı

C ya da Perl'de olduğu gibi, PHP de deyimlerin birbirlerinden her bir deyimin sonuna konulacak noktalı virgülle ayrılmasını gerektirir. Bir PHP kod bloğunun sonunda yer alan kapanış etiketi kendinden önceki deyim için noktalı virgül işlevi görür; yani, bir PHP bloğunun son satırının sonuna noktalı virgül koymak zorunda değilsiniz. Kapanış etiketi aynı zamanda satırsonu karakterini de kendisi ekleyecektir.

Örnek 1 - Sondaki satırsonu karakterini kapsayan kapanış etiketini gösteren örnek

Satırsonu karakteri yok
<?= "Ama şimdi var" ?>

Yukarıdaki örneğin çıktısı:

Some textSatırsonu karakteri yok
Ama şimdi var

PHP ayrıştırıcısına girme ve çıkma örnekleri:

<?php
echo 'Bu bir denemedir';
?>

<?php echo 'Bu bir denemedir' ?>

<?php echo 'Son kapanış etiketini koymadık';

Bilginize:

Dosya sonunda PHP kapanış etiketini kullanmak isteğe bağlıdır, hatta dosya sonlarında istemdışı boş satırlar oluşması gibi durumlarda include, require gibi işlevlerin kullanımında yararlı bile olabilir, dahası sonradan yanıta başlık eklemeye devam edebilirsiniz. Bu özellik ayrıca, çıktı tamponlama kullanıyorsanız ve betiğe include ile eklediğiniz dosyalar tarafından üretilen kısımların sonunda gereksiz boş satırların oluşmasını istemediğinizde de işe yarar.


Açıklamalar

PHP, 'C', 'C++' ve Unix kabuk tarzı (Perl tarzı) açıklamaların hepsini destekler. Örnegin:

<?php
echo 'Bu bir denemedir'; // Bu tek satırlık c++ tarzı açıklamadır
/* Bu, C tarzı çok satırlı
bir açıklamadır */
echo 'Bir deneme daha';
echo 'Bu da sonuncusu'; # Bu tek satırlık kabuk tarzı açıklamadır
?>

"Tek satırlık" bir açıklamanın etki alanı yalnızca satır sonuna ya da PHP kod bloğunun sonuna kadardır. Yani, // ... ?> ya da # ... ?> kullanımından sonra gelecek HTML kodu YAZDIRILACAKTIR: ?> etiketi PHP kipinden çıkılmasına ve HTML kipine dönülmesini sağlar, // ya da # kullanımı bunu etkileyemez.

<h1>Bu <?php # echo 'basit';?> bir örnektir.</h1>
<p>Yukarıdaki başlık 'Bu bir örnektir' diye gösterilecektir.</p>

Bir 'C' tarzı açıklama ilk */ ile karşılaşıldığı noktada sona erer. 'C' tarzı açıklamaları iç içe kullanmamalısınız. Büyük miktarda kod bloğunu açıklama haline getirirken bu yanlış genellikle yapılır.

<?php
/*
echo 'Bu bir denemedir'; /* Bu açıklama sorun çıkaracak. */
*/
?>


Türler

İçindekiler

  • Giriş
  • Tür Sistemi
  • null
  • bool
  • int
  • float
  • string
  • Sayısal Dizeler
  • array
  • object
  • Sayılamalar
  • resource
  • Geriçağırımlar / Çağrılılabilirler
  • mixed
  • void
  • never
  • parent, self, static
  • false ve true
  • iterable
  • Tür bildirimleri
  • Tür Dönüşümü


Giriş

PHP'deki her ifadenin türü, değerine bağlı olarak aşağıdaki yerleşik türlerden biridir:

  • null
  • bool (mantıksal)
  • int (tamsayı)
  • float (gerçek sayı)
  • string (dizge)
  • array (dizi)
  • object (nesne)
  • callable (çağrılabilen)
  • resource (özkaynak)

PHP dinamik olarak yazılan bir dildir, yani bir değişkenin türü çalışma anında belirleneceği için türü belirtmeye gerek olmadığı varsayılır. Bununla birlikte, tür bildirimlerini kullanarak dilin bazı yönlerini statik olarak yazmak mümkündür.

Türler, üzerlerinde gerçekleştirilebilecek işlem türlerini kısıtlar. Bununla birlikte, bir işlemde türünün desteklemediği bir ifade veya değişken kullanılırsa, PHP değerin türünü işlemi destekleyen türe dönüştürmeye çalışır. Bu süreç, değerin kullanıldığı bağlama bağlıdır. Daha fazla bilgi Tür Dönüşümü bölümünde bulunabilir.

İpucu

Farklı türdeki değerler arasında karşılaştırma örnekleri tür karşılaştırma tablolarında bulunabilir.

Bilginize: Tür çarpıtma kullanarak bir ifadenin belirli bir türe göre değerlendirilmesini sağlamak mümkündür. Bir değişkenin türü ayrıca, settype() işlevi ile kullanıldığı bağlamda da değiştirilebilir.

Bir ifadenin değerini ve türünü denetlemek için var_dump() işlevi kullanılabilir. Bir ifadenin yalnızca türü öğrenilmek istenirse get_debug_type() işlevi kullanılabilir. Ancak, bir ifadenin belirli bir türde olup olmadığını saptamak için is_tür işlevleri kullanılmalıdır.

<?php
$a_bool = true; // bool türünde
$a_str = "foo"; // string türünde
$a_str2 = 'foo'; // string türünde
$an_int = 12; // int türünde

echo get_debug_type($a_bool), "\n";
echo get_debug_type($a_str), "\n";

// Değişken bir tamsayı ise değeri dört arttır
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);

// $a_bool bir dizge ise değeri çıktıla
if (is_string($a_bool)) {
echo "Dizge: $a_bool";
}
?>

Yukarıdaki örneğin PHP 8 çıktısı:

bool
string
int(16)

Bilginize: PHP 8.0.0 öncesinde, get_debug_type() kullanılamadığından, yerine gettype() kullanılabilir. Ancak, bu işlevin döndürdüğü bazı tür adları bu belgedekinden farklı olabilir.


Tür Sistemi

PHP, davranışsal alt tür ilişkileri ile güçlendirilmiş sembolik bir tür sistemi kullanır. Alt türlerle ilişkiler derleme sırasında sınanırken türlerin doğrulanması çalışma anında dinamik olarak gerçekleştirilir.

PHP'nin tür sistemi, daha karmaşık türler oluşturmak için bir araya getirilebilecek çeşitli temel türleri destekler. Bu türlerden bazıları tür bildirimleri olarak yazılabilir.

Temel türler

Bazı temel türler, dille sıkı bir şekilde bütünleşmiş yerleşik türler olup kullanıcı tanımlı türlerle yeniden türetilemez.

Temel türler:

  • Yerleşik türler
    • null türü
    • Sayıl türler:
      • bool türü
      • int türü
      • float türü
      • string türü
    • array türü
    • object türü
    • resource türü
    • never türü
    • void türü
    • Göreli sınıf türleri: self, parent, static
  • Kendisi tür olanlar
    • false
    • true
  • Kullanıcı tanımlı türler (genelde sınıf türleri olarak bilinir)
    • Arayüzler
    • Sınıflar
    • Sayılamalar
  • callable türü

Birleşim türleri

Temel türleri birleşik türler halinde birleştirmek mümkündür. PHP, türlerin aşağıdaki şekillerde birleştirilmesine izin verir:

  • Sınıf türlerinin (arayüz ve sınıf isimlerinin) kesişimi.
  • Tür birleşimleri.

Tür kesişimleri (& ile birleşim)

Tür kesişiminde, tek bir sınıf yerine birden çok sınıf türü bildirimine karşılık gelen değerler kabul edilir. Kesişimi oluşturan tekil türler & simgesi ile birleştirilir. Örneğin, T, U ve V türlerinden oluşan bir tür kesişimi T&U&V biçeminde yazılır.

Bileşik türler (| ile birleşim)

Bileşik tür (union), tek bir değer yerine birden fazla türde değer kabul eder. Bileşik türü oluşturan tekil türler | simgesi ile birleştirilir. Örneğin, T, U ve V türlerinden oluşan bir bileşik tür T|U|V biçeminde yazılır. Türlerden biri kesişim içeriyorsa, kesişimin yaylı ayraçlar arasına alınması gerekir: T|(X&Y).

Tür takma adları

PHP iki tür-takma-adı destekler: object|resource|array|string|float|int|bool|null karşılığı olarak mixed ve Traversable|array karşılığı olarak iterable.

Bilginize: PHP kullanıcı tanımlı tür takma adlarını desteklemez.


null

null PHP'nin yokluk türü olup olası tek değeri null'dur.

Tanımsızdır ve değişkenler unset() ile null değere çözümlenir.

Sözdizimi

null türünde, harf büyüklüğüne duyarsız tek bir sabit vardır: null.

<?php
$var = NULL;
?>

null türüne çarpıtım

Uyarı

Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

(unset) $var kullanarak bir değişken null türüne çarpıtılırsa değişken kaldırılmaz fakat değersiz hale getirilmiş olur ve sadece null değer döndürür.

Ayrıca Bakınız

  • is_null()
  • unset()


bool

Yalnızca iki değer bool türünde olabilir ve bunlar true ve false (doğru ve yanlış) olup doğruluk değerleri adını alır.

Sözdizimi

Bir bool sayılını belirtmek için true veya false sabiti kullanılır. Her ikisi de harf büyüklüğüne duyarsızdır.

<?php
$foo = True; // $foo değişkenine TRUE değeri atanır.
?>

Genelde, bool türünde bir değer döndüren bir işleç ifadesinin sonucu bir denetim yapısına aktarılır.

<?php
// == işleci, eşitliği sınar ve
// bool türünde bir değer döndürür
if ($eylem == "sürümü göster") {
echo "Sürüm numarası 1.23'tür.";
}

// Bu gereksizdir çünkü aynı manada kullanılır
if ($ayırıcı_göster == TRUE) {
echo "<hr>\n";
}

// ... böylesi daha iyidir:
if ($ayırıcı_göster) {
echo "<hr>\n";
}
?>

bool türüne dönüşüm

Bir değeri doğrudan bool türüne dönüştürmek için (bool) çarpıtması kullanılabilir. Genelde bu gereksizdir, çünkü mantıksal bir bağlamda kullanılan bir değer otomatik olarak bool türünde bir değer olarak yorumlanır. Daha ayrıntılı bilgi için Tür Dönüşümü sayfasına bakılabilir.

Ayrıca, Tür Dönüşümü bölümüne de bakınız.

Aşağıdaki değerler bool türüne dönüşümde false olarak ele alınırlar:

  • mantıksal false (kendisi)
  • tamsayı 0 (sıfır)
  • gerçel 0.0 ve -0.0 (sıfır)
  • boş dizge "" ve dizgesel "0"
  • hiç elemanı olmayan dizi
  • tür olarak NULL (tanımsız değişkenler dahil)
  • bool türüne dönüşmek için (bool) çarpıtmasını aşırı yükleyen dahili nesneler. Örneğin, SimpleXML nesneleri özniteliksiz boş elemanlardan oluşturulur.

Bunların dışında kalan tüm değerler true olarak ele alınır (resource türler ve NAN dahil).

Uyarı

-1 ve sıfırdan farklı diğer değerler (pozitif veya negatif) true olarak ele alınır.

<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) "0"); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>


int

Bir int türünde değer şu kümeden bir tamsayıdır: Z = {..., -2, -1, 0, 1, 2, ...}.

Ayrıca Bakınız

  • Kayan noktalı sayılar
  • Keyfi ondalık hassasiyet / BCMath
  • Keyfi uzunlukta tamsayı / GMP

Sözdizimi

int türünde değerler onluk, sekizlik veya onaltılık tabanda belirtilebilirler. değil işleci negatif bir int belirtmekte kullanılabilir.

Sekizlik gösterimde sayıların önüne 0 (sıfır), onaltılık gösterimde 0x ve ikil gösterimde 0b getirilir. PHP 8.1.0 ve sonrasında sekizlik gösterim ayrıca, 0o veya 0O ile öncelenmiş de olabilir.

PHP 7.4.0'dan itibaren, tamsayı değişmezleri, değişmez değerlerin daha iyi okunabilirliği için rakamlar arasında alt çizgi (_) içerebilir. Bu alt çizgiler PHP'nin tarayıcısı tarafından kaldırılır.

Örnek 1 - Tamsayı değişmezler

<?php
$a = 1234; // onluk sayı
$a = -123; // negatif sayı
$a = 0123; // sekizlik sayı (onluk: 83)
$a = 0o123; // sekizlik sayı (PHP 8.1.0 ve sonrası)
$a = 0x1A; // onaltılık sayı (onluk: 26)
$a = 0b11111111; // ikil sayı (onluk: 255)
$a = 1_234.567; // onluk sayı (PHP 7.4.0 ve sonrası)
?>

PHP 8.1.0'dan itibaren, biçimsel olarak, int değişmezlerinin yapısı (evvelce, 0o ve 0O sekizlik öneklerine ve PHP 7.4.0'dan önce alt çizgilere izin verilmezdi):

onluk     : [1-9][0-9]*(_[0-9]+)*
          | 0

onaltılık : 0[xX][0-9a-fA-F]+(_[0-9a-fA-F]+)*

sekizlik  : 0[oO]?[0-7]+(_[0-7]+)*

ikil      : 0[bB][01]+(_[01]+)*

tamsayı   : onluk
          | onaltılık
          | sekizlik
          | ikil

Bir intr türün genişliği platforma göre değişir. 32 bitlik sistemlerde azami değer 2 milyon civarında iken 64 bitlik sistemlerde 9E18 civarındadır. PHP işaretsiz tamsayıları (C'deki unsigned) desteklemez. int türün genişliği PHP_INT_SIZE sabitine, olası en büyük değeri PHP_INT_MAX sabitine ve en küçük değeri ise PHP_INT_MIN sabitine atanmıştır.

Tamsayılarda taşma

PHP, int türünde bir değerin bellekte int türüne ayrılan genişliğe sığmadığını saptarsa float türünde bir değer olarak ele alır ve bu durum yapılan bir işlem sırasında ortaya çıkmışsa işlemden dönen değer float türünde olur.

Örnek 2 - 32 bitlik sistemlerde tamsayı taşması

<?php
$büyük_sayı = 2147483647;
var_dump($büyük_sayı);

$büyük_sayı = 2147483648;
var_dump($büyük_sayı);

$milyon = 1000000;
$büyük_sayı = 50000 * $million;
var_dump($büyük_sayı);
?>

Örnek 3 64 bitlik sistemlerde tamsayı taşması

<?php
$büyük_sayı = 9223372036854775807;
var_dump($büyük_sayı); // int(9223372036854775807)

$büyük_sayı = 9223372036854775808;
var_dump($büyük_sayı); // float(9.2233720368548E+18)

$milyon = 1000000;
$büyük_sayı= 50000000000000 * $milyon;
var_dump($büyük_sayı); // float(5.0E+19)
?>

PHP'de sonucun int türünde elde edileceği bir bölme işleci mevcut değildir, bunu sağlamak için intdiv() işlevini kullanın. 1/2 işleminin sonucu float türünde 0.5 değeridir. Bu değer (int) ile çarpıtılarak sıfıra yuvarlamak suretiyle bir tamsayıya dönüştürülebilirse de round() işlevini kullanırsanız dönüşümün nasıl yapılacağını kendiniz belirleyebilirsiniz.

<?php
var_dump(25/7); // float(3.5714285714286)
var_dump((int) (25/7)); // int(3)
var_dump(round(25/7)); // float(4)
?>

int türüne dönüşüm

Bir değeri doğrudan int türüne dönüştürmek için (int) veya (integer) çarpıtmasını kullanabilirsiniz. Ancak, çoğu durumda türü çarpıtmak gerekmez, bir int değer gerektiren bir işlev veya denetim yapısı, değeri kendiliğinden int türüne dönüştürecektir. Ayrıca, bir değer int türüne intval() işleviyle de dönüştürülebilir.

Bir resource bir inte sayıya dönüştürülürse, sonuç, PHP tarafından çalışma anında özkaynağa atanan eşsiz özkaynak numarası olacaktır.

Ayrıca, Tür Dönüşümü bölümüne de bakınız.

bool türünden dönüşüm

false, 0'a (sıfır); true, 1'e (bir) dönüştürülür.

float türünden dönüşüm

float türünden int türüne dönüşümde sayı sıfıra yaklaştırılarak yuvarlanır. PHP 8.1.0 ve sonrasında, örtük dönüşümdeki hassasiyet kaybından dolayı işlemin önerilmediğini belirten bir uyarı çıktılanmaktadır.

<?php

function foo($value): int {
return $value;
}

var_dump(foo(8.1)); // "Önerilmiyor: float 8.1 değerin int türüne örtük
// olarak dönüştürülmesi hassasiyet kaybı oluşturduğundan PHP 8.1.0 ve
// sonrasında önerilmemektedir.
var_dump(foo(8.1)); // PHP 8.1.0 öncesinde 8
var_dump(foo(8.0)); // Her iki durumda 8

var_dump((int)8.1); // Her iki durumda 8
var_dump(intval(8.1)); // Her iki durumda 8
?>

Dönüşüm sonucu int türüne ayrılan genişliğe (normalde 32 bitlik sistemlerde +/- 2.15e+9 = 2^31, 64 bitlik sistemlerde ise +/- 9.22e+18 = 2^63) sığmıyorsa, float türün hassasiyeti int türünde tam bir sonuç vermeyeceğinden sonuç tanımsızdır. Bu durumda ne bir uyarı ne de bir bilgi verilir!

Bilginize:

int türüne çarpıtıldığında NaN ve Infinity daima sıfır olacaktır.

Uyarı

Ondalık kısmı int türüne asla dönüştürmeyin, yoksa beklenmedik sonuçlar elde edebilirsiniz.

<?php
echo (int) ( (0.1+0.7) * 10 ); // çıktısı: 7!
?>

Ayrıca bakınız: Kayan noktalı sayılarda hassasiyet uyarısı.

string türünden dönüşüm

Dize sayısal veya öncü sayısal ise, karşılık gelen tamsayı değerine çözümlenir, aksi takdirde sıfıra (0) dönüştürülür.

NULL türünden dönüşüm

null daima sıfıra dönüşür (0).

Diğer türlerden dönüşüm

Dikkat

Diğer türlerden int türüne dönüşümün nasıl davranacağı henüz kesin olarak tanımlanmamıştır. Gözlemlediğiniz bir davranışın doğruluğuna güvenmeyiniz, ileride bu davranış hiçbir bilgi verilmeden değiştirilebilir.


float

Gerçek sayılar (veya kayan noktalı sayılar) şu sözdizimleri ile belirtilebilir:

<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
$d = 1_234.567; // PHP 7.4.0 ve sonrası
?>

Biçimsel olarak PHP 7.4.0 ve sonrasında (öncesinde altçizgilere izin verilmezdi):

LNUM          [0-9]+(_[0-9]+)*
DNUM          ([0-9]*(_[0-9]+)*[\.]{LNUM}) | ({LNUM}[\.][0-9]*(_[0-9]+)*)
EXPONENT_DNUM (({LNUM} | {DNUM}) [eE][+-]? {LNUM})

Bir gerçek sayının bellekte kapladığı genişlik platforma göre değişmekteyse de kabaca 14 hanelik bir hassasiyetle 1.8e308'lik olası bir en büyük değer (64 bitlik IEEE biçemi) hepsi için sağlanır.

Uyarı

Kayan nokta hassasiyeti

Kayan noktalı sayılar sınırlı bir hassasiyete sahiptir. Sisteme bağımlı olmakla birlikte PHP normalde (1.11e-16'lık bir yuvarlamadan dolayı görece en büyük hatayı verecek olan) IEEE 754 çift hassasiyetli biçimi kullanır. 4 temel işlemden daha karmaşık aritmetik işlemler daha büyük hatalar verebilir, dolayısıyla işlemler karmaşık hale gelmeye başlayınca hatanın açıklanması bir önkabul olarak ele alınmalıdır.

Ek olarak, 0.1 veya 0.7 gibi 10 tabanında kayan noktalı sayılar olarak tamamiyle gösterilebilen gerçel sayılar, 2 tabanında kayan noktalı sayılar olarak tamamiyle gösterilemezler. Bu bakımdan, az da olsa bir kayıp olmaksızın dahili ikil karşılıklarına dönüştürülemezler. Bunun şöyle bir sonucu olur: örneğin, floor((0.1+0.7)*10) işlevinden beklendiği gibi 8 değil, 7 döner; bunun sebebi dahili gösterimin aslında 7.9999999999999991118... gibi bir değer olmasıdır.

Bu bakımdan, son ondalık hanesine bakarak sonucun ne olacağına karar verilemez, bu bakımdan kayan noktalı sayılar arasında asla eşitlik karşılaştırmaları yapılmaz. Eğer daha yüksek hassasiyet isteniyorsa keyfi hassasiyetli matematik işlevleri ve gmp işlevleri kullanılabilir.

"Basit" bir açıklama için » kayan noktalı sayılar kılavuzuna bakınız.

float türüne dönüşüm

Dizelerden

Dize sayısal veya öncü sayısal ise, karşılık gelen float değere çözümlenir, aksi takdirde sıfıra (0) dönüştürülür.

Diğer türlerden

Diğer türlerdeki değerler için, dönüşüm, değerin önce int'e ardından float'a dönüştürülmesiyle gerçekleştirilir. Daha fazla bilgi için bkz. int türüne dönüşüm.

Bilginize:

Belirli türlerin int türüne dönüştürülürken tanımlanmamış davranışları olup, bu ayrıca float türüne dönüştürülürken de geçerlidir.

Kayan noktalı sayıların karşılaştırılması

Yukarıdaki uyarıda kısaca değinildiği gibi kayan noktalı sayılar arasında eşitlik karşılaştırmaları, bunların dahili gösterimlerinden dolayı biraz sorunludur. Bununla birlikte, bu sınırlamaların aşılmasını ve kayan noktalı sayılar arasında karşılaştırma yapılmasını sağlayan yollar vardır.

Kayan noktalı değerlerin eşitliğini sınamak için yuvarlamadan dolayı ortaya çıkan göreli hatanın bir üst sınırı kullanılır. Bu değer makine epsilonu veya yuvarlama birimi olarak bilinir ve hesaplamalardaki kabul edilebilir en küçük farktır.

$a ve $b 5 haneli hassasiyetle eşittir.

<?php
$a = 1.23456789;
$b = 1.23456780;
$epsilon = 0.00001;

if(abs($a-$b) < $epsilon) {
echo "doğru";
}
?>

NaN

Bazı sayısal işlemler NAN sabiti ile gösterilen bir değerle sonuçlanabilir. Bu sonuç, kayan noktalı hesaplamalarda tanımlanamayan veya gösterilemeyen bir değeri gösterir. Bu değerin, kendisi dahil herhangi bir değerle gevşek ya da sıkı bir karşılaştırması false sonucuna sebep olur.

NAN farklı değerdeki herhangi bir sayıyı temsil ettiğinden kendisi dahil fakat true hariç, başka bir değerle karşılaştırılmamalı, bunun yerine değer is_nan() ile sınanmalıdır.


string

Bir dize string türünde bir sayıl değer olup bir dizi tek baytlık karakterden oluşur. Yani, olası karakter sayısı 256'dan ibarettir. Bu yüzden PHP Unicode için yerleşik desteğe sahip olamıyor. Dize türünün ayrıntıları belgesine bakınız.

Bilginize: 32 bitlik derlemelerde, dize uzunluğu en fazla 2GB (2147483647 bayt) olabilir.

Sözdizimi

string türünde bir sayıl dört şekilde belirtilebilir:

  • tek tırnaklı dize
  • çift tırnaklı dize
  • yorumlu metin (heredoc)
  • yorumsuz metin (nowdoc)

Tek tırnaklı dizeler

Bir dizeyi belirtmenin en basit yolu dizeyi tek tırnak (') imlerinin arasına almaktır.

Tek tırnaklı bir dize içinde tek tırnağı sayıl değeriyle kullanmak isterseniz önüne bir tersbölü imi getirmelisiniz (\). Bir tersbölü imini sayıl değeriyle kullanmak isterseniz onun da önüne bir tersbölü imi getirmelisiniz (\\). Tersbölü imini bunlardan başka bir karakterin önünde kullanırsanız, tersbölü imi karakterle birlikte basılır. \r veya \n gibi özel anlamı olan öncelemeler özel anlamı yoksayılarak olduğu gibi basılır.

Bilginize: çift tırnak ve yorumlu metin sözdizimlerinin aksine, değişkenler ve özel karakterlerin öncelemleri tek tırnaklı dizelerin içinde kullanıldıklarında yorumlanmazlar.

<?php
echo 'Bu basit bir dizedir';

echo 'Dizgelerin içinde satırsonu karakterlerini
tıpkı buradaki gibi
kullanabilirsiniz';

// Çıktısı: Arnold dedi ki: "I'll be back"
echo 'Arnold dedi ki: "I\'ll be back"';

// Çıktısı: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';

// Çıktısı: You deleted C:\*.*?
echo 'You deleted C:\*.*?';

// Çıktısı: This will not expand: \n a newline
echo 'This will not expand: \n a newline';

// Çıktısı: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>

Çift tırnaklı dizeler

Eğer bir dize çift tırnak (") içine alınmışsa PHP, aşağıdaki özel karakter öncelemlerini yorumlayacaktır:

Tersbölü ile öncelenmiş karakterler
Öncelem | Anlamı
\n | satırsonu (LF veya ASCII 10 (0x0A))
\r | satırbaşı (CR veya ASCII 13 (0x0D))
\t | yatay sekme (HT veya ASCII 9 (0x09))
\v | düşey sekme (VT veya ASCII 11 (0x0B))
\e | escape (ESC veya ASCII 27 (0x1B)
\f | sayfa ileri (FF veya ASCII 12 (0x0C))
\\ | tersbölü
\$ | dolar imi
\" | çift tırnak
\[0-7]{1,3} | Sekizlik: Bu düzenli ifade ile eşleşen dizilim, karakterin sekizlik gösterimi (örn, "\101" === "A") olup bir bayta sığmak için sessizce taşar (örn, "\400" === "\000").
\x[0-9A-Fa-f]{1,2} | Onaltılık: Bu düzenli ifade ile eşleşen dizilim, karakterin onaltılık gösterimidir (örn, "\x41" === "A").
\u{[0-9A-Fa-f]+} | Unicode: Bu düzenli ifade ile eşleşen dizilim bir Unicode karakter kodu olup, dizeye karakter kodunun UTF-8 gösterimini çıktılar. Kod kaşlı ayraçlarla sarmalanmalıdır (örn, "\u{41}" === "A").

Tersbölü imini bunlardan başka bir karakterin önünde kullanırsanız, tersbölü imi karakterle birlikte basılır.

Çift tırnaklı dizelerin en önemli özelliği içerdiği değişkenlerin yorumlanmasıdır. Bu konuda daha ayrıntılı bilgi edinmek için Değişken çözümleme bölümüne bakınız.

Yorumlu metinler

Bir dizenin sınırlarını belirlemenin üçüncü yolu, yorumlu metin sözdizimidir. Bir yorumlu metin daima <<< karakterleri ile başlar ve hemen ardından bir betimleyici ve bir satırsonu karakteri gelir. Asıl dize satırsonu karakterinden sonra yer alır. Dizgenin sonunu belirtmek üzere dizenin sonuna, baştaki betimleyici konur.

Kapanış betimleyicisinin dizeden sonraki satırın başında olması gerekmez. Boşluk veya sekme karakterleriyle girintilenebilir. Bu durumda girinti miktarı dizedeki tüm satırlardan ayıklanır. PHP 7.3.0 öncesinde kapanış betimleyicisinin satırın başında olması gerekirdi.

Ayrıca, betimleyici PHP'deki diğer isimlere uygulanan kurallara uygun olmalıdır: Sadece bir harfle veya alt çizgi imi ile başlayabilir; sadece harfler, rakamlar veya alt çizgi imleri içerebilir.

Örnek 1 - PHP 7.3.0 ve sonrası için Yorumlu Metin örneği

<?php
// girintisiz
echo <<<END
 a
b
c
\n
END;

// 4 boşluk girintili
echo <<<END
 a
b
c
 END;

Yukarıdaki örneğin PHP 7.3 çıktısı:

      a
     b
    c

  a
 b
c

Kapanış betimleyicisi, dizedeki tüm satırlardan daha uzun girintilenmişse ParseError istisnası yavrulanır:

Örnek 2 - Kapanış betimleyicisi, dizedeki tüm satırlardan daha uzun girintilenmemeli

<?php
echo <<<END
 a
b
c
 END;

Yukarıdaki örneğin PHP 7.3 çıktısı:

PHP Parse error:  Invalid body indentation level (expecting an indentation level of at least 3) in example.php on line 4

Kapanış betimleyicisi ve metin girintilenirken sekmeler kullanılabilir, ancak sekmeler ve boşluklar birlikte kullanılmamalıdır. Böyle bir durumda ParseError istisnası yavrulanır. Girinti için sekmeleri ve boşlukları karıştırmak okunabilirliğe zararlı olduğundan bu kısıtlamaya gidilmiştir.

Örnek 3 - Kapanış betimleyicisin girintilenirken sekmeler ve boşluklar birlikte kullanılmamalı

<?php
// Aşağıdaki kod çalışmaz.

// Metin boşluklarla kapanış betimleyici sekmelerle girintilenmiş
{
echo <<<END
 a
 END;
}

// Metinde boşluk ve sekmelerin karışık kullanımı
{
echo <<<END
 a
 END;
}

// Kapanış betimleyicide boşluk ve sekmelerin karışık kullanımı
{
echo <<<END
 a
 END;
}

Yukarıdaki örneğin PHP 7.3 çıktısı:

PHP Parse error:  Invalid indentation - tabs and spaces cannot be mixed in example.php line 8

Kapanış betimleyicisinin noktalı virgül ve satırsonu ile sonlandırılması gerekmez. Örneğin PHP 7.3.0 ve sonrasında aşağıdaki gibi bir kod çalışır:

Örnek 4 - Kapanış betimleyicisinden sonra devam eden ifade

<?php
$values = [<<<END
a
b
c
END, 'd e f'];
var_dump($values);

Yukarıdaki örneğin PHP 7.3 çıktısı:

array(2) {
  [0] =>
  string(11) "a
  b
    c"
  [1] =>
  string(5) "d e f"
}
Uyarı

Kapanış betimleyicisi satırın hemen başındaysa başka bir sözcüğün parçası olup olmadığında bakılmaksızın kapanış betimleyici olarak ele alınır ve ParseError istisnasına sebep olur.

Örnek 5 - Metin içindeki kapanış betimleyici dizesi ParseError yavrulatır

<?php
$values = [<<<END
a
b
END ING
END, 'd e f'];

Yukarıdaki örneğin PHP 7.3 çıktısı:

PHP Parse error:  syntax error, unexpected identifier "ING", expecting "]" in example.php on line 6

Bu sorundan kaçınmak için basit bir kurala uymak yeterlidir: betimleyiciyi metin gövdesi içinde görünenlerden seçme..

Uyarı

PHP 7.3.0 öncesinde, kapanış betimleyicisinin bulunduğu satırda betimleyicinin hemen ardına konan muhtemel bir noktalı virgül (;) dışında hiçbir karakter bulunmaması çok önemli olup buna özellikle dikkat etmelisiniz. Yani, betimleyici özellikle girintilenmemeli; noktalı virgülden önce ve sonra herhangi bir boşluk karakteri bulunmamalıdır. Ayrıca, kapanış betimleyicisinden hemen önce gelen karakterin yerel işletim sistemine özgü satırsonu karakteri olması çok önemlidir. Bu karakter Unix ve macOS için \n'dir. Kapanış betimleyicisinden (ve olası noktalı virgül karakterinden) sonraki karakter de böyle bir satırsonu karakteri olmalıdır.

Eğer bu kurallara uyulmaz ve kapanış betimleyicisinin etrafı temiz tutulmazsa kapanış betimleyicisi algılanamayacağından PHP kapanış betimleyicisini aramaya devam edecektir. Eğer dosyanın sonuna kadar uygun bir kapanış betimleyicisi bulunamazsa son satırda bir çözümleme hatası oluşacaktır.

Yorumlu metinler sınıf özelliklerini ilklendirmek için kullanılamazlar. PHP 5.3'ten beri bu sınırlama sadece değişken içeren yorumlu metinler için geçerlidir. Bunun yerine yorumsuz metinler kullanılabilir.

Örnek 6 - PHP 7.3.0 öncesi için geçersiz örnek

<?php
class foo {
public $bar = <<<EOT
bar
 EOT;
}
// Betimleyici girintilenmez
?>

Örnek 7 - PHP 7.3.0 öncesi için bile geçerli örnek

<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>

Değişken içeren yorumlu metinler sınıf özelliklerini ilklendirmek için kullanılamaz.

Yorumlu metinler tıpkı çift tırnaklı dizeler gibi davranırlar. Yorumlu metin çift tırnaklar arasına alınmaz ve metin içindeki çift tırnak imlerinin tersbölü ile öncelenmesi gerekmez, ancak yukarıda çift tırnaklı dizeler için belirtilen öncelem kodları kullanılabilir. Değişkenler yorumlanır, fakat yorumlanan metin içinde yer alan karmaşık değişkenler ifade edilirken dizelerde dikkate alınması gerekenler yorumlu metinlerde de dikkate alınmalıdır.

Örnek 8 - Yorumlu metin örneği

<?php
$str = <<<EOD
Yorumlu metin sözdizimi
kullanılarak çok sayıda
satıra bölünmüş dize örneği.
EOD;

/* Değişkenlerin de kullanıldığı daha karmaşık bir örnek */
class foo
{
var $foo;
var $bar;

function __construct()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'Kimimben';

echo <<<EOT
Adım "$name" ve işim $foo->foo basmak.
Şimdi {$foo->bar[1]} basıyorum.
Bu büyük 'A' basmalı: \x41\n
EOT;
?>

Yukarıdaki örneğin çıktısı:

Adım "Kimimben" ve işim Foo basmak.
Şimdi Bar2 basıyorum.
Bu büyük 'A' basmalı: A

Ayrıca işlev bağımsız değişkeninde veri aktarırken de yorumlu metin kullanılabilir:

Örnek 9 - Bağımsız değişkenlerde yorumlu metin kullanımı

<?php
var_dump(array(<<<EOD
foobar!
EOD
));
?>

Statik değişkenleri ve sınıf özelliklerini veya sabitlerini yorumlu metin sözdizimini kullanarak ilklendirmek mümkündür:

Örnek 10 - Statik değer olarak yorumlu metin kullanımı

<?php
// Statik değişkenler
function foo()
{
static $bar = <<<LABEL
Burada hiçbir şey yok...
LABEL;
}

// Sınıf özellikleri ve sabitleri
class foo
{
const BAR = <<<FOOBAR
Sınıf sabiti örneği
FOOBAR;

public $baz = <<<FOOBAR
Özellik örneği
FOOBAR;
}
?>

Yorumlu metinlerin açılış betimleyicisi seçimlik olarak çift tırnaklarla kapatılabilir:

Örnek 11 - Yorumlu metin bildiriminde çift tırnak kullanımı

<?php
echo <<<"TIRNAKLI"
Merhaba Dünya!
TIRNAKLI;
?>

Yorumsuz metinler

Yorumlu metinlerin çift tırnaklı dizelere karşılık gelmesi gibi yorumsuz metinler de tek tırnaklı dizelere karşılık gelir. Yorumsuz metinler de yorumlular gibi belirtilir ama, yorumsuz metin içinde çözümleme yapılmaz. Yorumsuz metinler, PHP kodlarını veya büyük metin bloklarını herhangi bir önlem almaksızın içine yerleştirmek için elverişlidirler. Belirtilen metin bloğunun çözümlenmemesinden dolayı SGML'nin <![CDATA[ ]]> oluşumu ile benzer özelliklere sahiptir.

Yorumsuz metin de yorumlu metindeki <<< dizesini kullanır fakat betimleyicisi tek tırnak içine alınır; yani, şuna benzer: <<<'EOT'. Yorumlu metin için geçerli tüm diğer kurallar yorumsuz metin için de geçerlidir; özellikle de kapanış betimleyici ile ilgili olanlar.

Örnek 12 - Yorumsuz metin örneği

<?php
$str = <<<'EOD'
Yorumlu metin sözdizimi kullanılarak çok sayıda satıra bölünmüş
dize örneği. Tersbölüler daima birebir ele alınır,
örn, \\ and \'
EOD;

Yukarıdaki örneğin çıktısı:

Yorumlu metin sözdizimi kullanılarak çok sayıda satıra bölünmüş
dize örneği. Tersbölüler daima birebir ele alınır,
örn, \\ and \'

Örnek 13 - Değişkenli yorumsuz metin örneği

<?php
class foo
{
public $foo;
public $bar;

function __construct()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'Kimimben';

echo <<<'EOT'
İsmim "$name" ve işim $foo->foo basmak.
Artık {$foo->bar[1]} basıyorum.
Bu büyük 'A' basmalı: \x41
EOT;
?>

Yukarıdaki örneğin çıktısı:

İsmim "$name" ve işim $foo->foo basmak.
Artık {$foo->bar[1]} basıyorum.
Bu büyük 'A' basmalı: \x41

Örnek 14 - Statik veri örneği

<?php
class foo {
public $bar = <<<'EOT'
bar
EOT;
}
?>

Değişken çözümleme

Bir dize çift tırnaklar arasında veya bir yorumlu metin olarak belirtilmişse içindeki değişkenler çözümlenir.

İki sözdizimi türü vardır: Biri basit, diğeri karmaşık. Basit sözdizimi en çok kullanılanı ve elverişli olanıdır; bir değişken, bir dizi değeri veya bir nesne özelliğini bir dize içinde en az çabayla kullanmayı sağlar.

Karmaşık sözdizimi ifadeyi sarmalayan kaşlı ayraçlar biçiminde kendini gösterir.

Basit Sözdizimi

Çözümleyici, bir dolar imine ($) rastlandığında, geçerli bir değişken ismi oluşturmak için alabildiği bütün dizecikleri açgözlülükle toplar. Değişken isminin kaşlı ayraçlar arasına alınması ismin sonunun açıkça belirtilmesini sağlar.

<?php
$juice = "apple";

echo "He drank some $juice juice.".PHP_EOL;

// "s" değişken ismi olarak geçerli karakterdir fakat, $juice değişkendir.
echo "He drank some juice made of $juices.";

// Kaşlı ayraçların içine alınarak değişken isminin bitimi açıkça belirtilmiş
echo "He drank some juice made of ${juice}s.";
?>

Yukarıdaki örneğin çıktısı:

He drank some apple juice.
He drank some juice made of .
He drank some juice made of apples.

Bir dizi indisi veya bir nesne özelliği de benzer şekilde çözümlenebilir. Dizi indislerinde indis sonunu, kapayan köşeli ayraç (]) belirler. Aynı kural, basit değişkenler olarak nesne özelliklerine de uygulanır.

Örnek 15 - Basit sözdizimi örneği

<?php
$juices = array("apple", "orange", "koolaid1" => "purple");

echo "He drank some $juices[0] juice.".PHP_EOL;
echo "He drank some $juices[1] juice.".PHP_EOL;
echo "He drank some $juices[koolaid1] juice.".PHP_EOL;

class people {
public $john = "John Smith";
public $jane = "Jane Smith";
public $robert = "Robert Paulsen";

public $smith = "Smith";
}
$people = new people();

echo "$people->john drank some $juices[0] juice.".PHP_EOL;
echo "$people->john then said hello to $people->jane.".PHP_EOL;
echo "$people->john's wife greeted $people->robert.".PHP_EOL;
echo "$people->robert greeted the two $people->smiths."; // Won't work
?>

Yukarıdaki örneğin çıktısı:

He drank some apple juice.
He drank some orange juice.
He drank some purple juice.
John Smith drank some apple juice.
John Smith then said hello to Jane Smith.
John Smith's wife greeted Robert Paulsen.
Robert Paulsen greeted the two .

PHP 7.1.0 ve sonrasında negatif sayısal indisler desteklenir.

Örnek 16 - Negatif sayısal indisler

<?php
$string = 'string';
echo "The character at index -2 is $string[-2].", PHP_EOL;
$string[-3] = 'o';
echo "Changing the character at index -3 to o gives $string.", PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

The character at index -2 is n.
Changing the character at index -3 to o gives strong.

Bunlardan daha karmaşık herşey için karmaşık sözdizimini kullanmalısınız.

Karmaşık (kaşlı ayraçlı) sözdizimi

Buna karmaşık denmesinin sebebi sözdiziminin karmaşıklığı değil, karmaşık ifadelerin kullanımını mümkün kılmasıdır.

Herhangi bir sayıl değer, dizi elemanı veya nesne özelliği bir dize içinde bu sözdizimi ile yer alabilir. İfade dize dışındaki gösterimiyle yazılıp { ve } arasına alınır. { öncelenemeyeceğinden bu sözdizimi sadece $ iminin { iminin hemen ardında yer aldığı durumlarda tanınır. {\$ kullanımı {$ imlerinin kendilerinin alınmasıyla sonuçlanır. Bazı örnekler:

<?php
// Tüm hataları görelim
error_reporting(E_ALL);

$şahane = 'harika';

// Çalışmaz, çıktısı: Bu çok { harika}
echo "Bu çok { $şahane}";

// Çalışır, çıktısı: Bu çok harika
echo "Bu çok {$şahane}";

// Çalışır
echo "Bu karenin bir kenarı {$square->width}00 santimetre uzunluktadır.";

// Çalışır, tırnaklı anahtarlar sadece kaşlı ayraç sözdizimi kullanılarak çalışır
echo "Bu çalışır: {$arr['key']}";

// Çalışır
echo "Bu çalışır: {$arr[4][3]}";

// $foo[bar] bir dize dışında neden yanlışsa bu da o yüzden yanlıştır.
// Yani, bu yine de çalışır fakat PHP önce foo adında bir sabit
// arayacağından çalışır; bununla birlikte E_NOTICE seviyesinde
// bir hata oluşacaktır (tanımsız sabit).
echo "Bu yanlış: {$arr[foo][3]}";

// Çalışır. Çok boyutlu dizileri dizelerin içinde kullanılırken,
// dizileri daima kaşlı ayraçlar arasına alın.
echo "Bu çalışır: {$arr['foo'][3]}";

// Çalışır.
echo "Bu çalışır: " . $arr['foo'][3];

echo "Bu da çalışır: {$obj->values[3]->name}";

echo "$name adlı değişkenin değeri: {${$name}}";

echo "Adı getName() işlevinin dönüş değeri olan değişkenin değeri: {${getName()}}";

echo "Adı \$object->getName() yönteminin dönüş değeri olan değişkenin değeri: {${$object->getName()}}";

// Çalışmaz, çıktısı: This is the return value of getName(): {getName()}
echo "This is the return value of getName(): {getName()}";

// Çalışmaz, çıktısı: C:\folder\{harika}.txt
echo "C:\folder\{$şahane}.txt"
// Çalışır, çıktısı: C:\folder\harika.txt
echo "C:\\folder\\{$şahane}.txt"
?>

Bu sözdizimini kullanan dizeler içindeki değişkenler üzerinden de sınıf özelliklerine erişmek mümkündür.

<?php
class foo {
var $bar = 'I am bar.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo "{$foo->$bar}\n";
echo "{$foo->{$baz[1]}}\n";
?>

Yukarıdaki örneğin çıktısı:

 I am bar.
 I am bar.

Bilginize:

{$} içindeki işlev ve yöntem çağrılarından, statik sınıf değişkenlerinden ve sınıf sabitlerinden erişilen değer, dizenin tanımlandığı etki alanındaki bir değişkenin ismi olarak yorumlanır. Kaşlı ayraçların tek başına kullanımı ({}), statik sınıf değişkenlerinin veya sınıf sabitlerinin değerlerine veya işlev ve yöntemlerin dönüş değerlerine erişim için kullanılmaz.

<?php
// Tüm hatalar gösterilsin.
error_reporting(E_ALL);

class beers {
const softdrink = 'rootbeer';
public static $ale = 'ipa';
}

$rootbeer = 'A & W';
$ipa = 'Alexander Keith\'s';

// Bu çalışır; çıktısı: I'd like an A & W
echo "I'd like an {${beers::softdrink}}\n";

// Bu da çalışır; çıktısı: I'd like an Alexander Keith's
echo "I'd like an {${beers::$ale}}\n";
?>

Dizge erişimi ve karaktere göre değişiklik

Dizgelerin içindeki karakterlere, dizilerin köşeli ayraçları arasında karakterin dizinin başlangıcından itibaren (ilk karakterin indisi sıfır olmak üzere) kaçıncı karakter olduğu belirtilerek ($dize[42] gibi) erişilebilir veya o karakterde değişiklik yapılabilir. Dizgeler bu nedenle bir karakter dizisi olarak düşünülür. 1 karakterden fazlasını elde etmek veya yer değiştirmek isterseniz substr() ve substr_replace() işlevlerini kullanabilirsiniz.

Bilginize: PHP 7.1.0 ve sonrasında, negatif dize başlangıçları da desteklenmektedir. Öncesinde, bunların okunması boş bir dizeyle ve E_NOTICE çıktılanmasıyla, yazılması ise dizenin olduğu gibi bırakılması ve E_WARNING çıktılanması ile sonuçlanırdı.

Bilginize: PHP 8.0.0 öncesinde, dizge karakterlerine ayrıca $str{42} biçeminde kaşlı ayraçlar kullanılarak da erişilebiliyordu. Bu tür kaşlı ayraç kullanımı PHP 7.4.0 itibariyle önerilmemekte olup PHP 8.0.0 ve sonrasında desteklenmemektedir.

Uyarı

Karakter indisi olarak dizenin uzunluğundan büyük bir değer belirtmek, dizenin sonuna boşlukların eklenmesine sebep olur. Tamsayı olmayan indis değerleri tamsayıya dönüştürülür. Kuraldışı indis belirtimi E_WARNING'e sebep olur. Atanmış bir dizenin sadece ilk karakteri kullanılır. PHP 7.1.0 ve sonrasında, boş dize ataması ölümcül hata ile sonuçlanır. Evvelce, bir NULL bayt atanırdı.

Uyarı

Dahili olarak, PHP dizeleri bayt dizileridir. Sonuç olarak, dizi ayraçları kullanarak bir dizeye erişmek ve değişklik yapmak, çok baytlı gösterimde güvenli değildir. Bu işlem dizelere sadece ASCII gibi tek baytlık kodlamalarda yapılmalıdır.

Bilginize: PHP 7.1.0 ve sonrasında, boş dize üzerinde boş indis işleci kullanımı ölümcül hataya yol açar. Evvelce, boş dize sessizce bir diziye dönüştürülürdü.

Örnek 17 - Bazı dize örnekleri

<?php
// Dizgenin ilk karakterini alalım
$str = 'This is a test.';
$first = $str[0];

// Dizgenin üçüncü karakterini alalım
$third = $str[2];

// Dizgenin son karakterini alalım
$str = 'This is still a test.';
$last = $str[strlen($str)-1];

// Dizgenin son karakterini değiştirelim
$str = 'Look at the sea';
$str[strlen($str)-1] = 'e';

?>

Dizi başlangıçları ya tamsayı ya da tamsayı benzeri dize olmalıdır, aksi takdirde bir uyarı yavrulanır.

Örnek 18 - Geçersiz dize başlangıçları örneği

<?php
$str = 'abc';

var_dump($str['1']);
var_dump(isset($str['1']));

var_dump($str['1.0']);
var_dump(isset($str['1.0']));

var_dump($str['x']);
var_dump(isset($str['x']));

var_dump($str['1x']);
var_dump(isset($str['1x']));
?>

Yukarıdaki örneğin çıktısı:

string(1) "b"
bool(true)

Warning: Illegal string offset '1.0' in /tmp/t.php on line 7
string(1) "b"
bool(false)

Warning: Illegal string offset 'x' in /tmp/t.php on line 9
string(1) "a"
bool(false)
string(1) "b"
bool(false)

Bilginize:

Dize değişmezleri içindeki karakterlere [] veya {} kullanılarak erişilebilir.

Bilginize:

{} sözdizimini kullanarak dize değişmezleri içindeki karakterlere erişim PHP 7.4'te kullanımdan kaldırılmıştır. PHP 8.0'da ise tamemen kaldırılmıştır.

Kullanışlı işlevler ve işleçler

Dizgeler '.' (nokta) işleci kullanılarak ardarda eklenebilir. '+' (toplama) işlecinin bu amaçla kullanımının yararsız oluşuna dikkat ediniz. Daha ayrıntılı bilgi edinmek için Dizge İşleçleri belgesine bakınız.

Dizgelerde değişiklik yapmak için çok sayıda yararlı işlev mevcuttur.

Genel işlevler için Dize İşlevlerine, ileri düzey bul ve değiştir işlevselliği için Perl uyumlu düzenli ifade işlevlerine bakınız.

Ayrıca, URL dizeleri için işlevler ve dizeleri şifrelemek veya şifrelerini çözmek için Sodium ve Hash işlevleri vardır.

Son olarak, karakter türü işlevlerine de bakabilirsiniz.

Dizgeye dönüşüm

Bir değer bir dizeye (string) tür çarpıtması veya strval() işleviyle dönüştürülür. Bir dizenin gerekli olduğu ifade bağlamlarında dizeye dönüşüm otomatik olarak gerçekleşir. Bu genellikle, echo veya print işlevleri kullanılırken veya bir değişken bir dize ile karşılaştırılırken gerçekleşir. Aşağıdakilere, Türler ve Tür Dönüşümü bölümlerinde daha ayrıntılı değinilmiştir. Ayrıca, settype() işlevine de bakabilirsiniz.

bool türündeki true değeri string türündeki "1" değerine dönüştürülür. bool türündeki false değeri string türündeki "" değerine (boş dizeye) dönüştürülür. Bu şekilde, bool ve string değerler arasında her iki yönde de dönüşüm yapılabilmektedir.

integer veya float türünde bir değerin string türüne dönüşümü sayının dizesel gösterimiyle (üstel gösterim dahil) sonuçlanır. Kayan noktalı sayılar üstel gösterim kullanılarak dönüştürülebilir (4.1E+6 gibi).

Bilginize:

PHP 8.0.0 itibariyle, ondalık nokta karakteri daima noktadır ("."). PHP 8.0.0 öncesinde betiğin çalıştığı yerele (LC_NUMERIC) özgüdür. Bakınız: setlocale() işlevi.

Diziler daima "Array" dizesine dönüştürülür; bundan dolayı echo ve print bir dizinin içeriğini kendiliklerinden gösteremezler. Tek bir dizi elemanını görüntüleyebilmek için echo $arr['foo'] gibi bir oluşum kullanınız. İçeriğin tamamının görüntülenebilmesiyle ilgili ipuçları için aşağıya bakınız.

object türleri string türüne dönüştürmek için __toString sihirli yöntemi kullanılmalıdır.

resource türler daima "Resource id #1" benzeri bir dizeye dönüştürülürler; buradaki 1, özkaynağa PHP tarafından çalışma anında atanan eşsiz bir sayıdır. Bu dizenin tam yapısı değişikliğe konu olduğundan güvenilmemelidir ve değişime tabi tutulmalıdır. Çalıştırılan bir betiğin (bir sayfa isteği veya CLI işlemi) ömrü boyunca, belirli bir özkaynak için daima benzersiz olacak ve yeniden kullanılabilir olmayacaktır. Özkaynağın türünü öğrenmek için get_resource_type() işlevini kullanınız.

null daima boş bir dizeye dönüştürülür.

Yukarıda bahsedildiği gibi, bir diziyi, nesneyi veya özkaynağı doğrudan dönüştürmek, bunların değerleri hakkında işe yarar hiçbir bilgi sağlamaz. Bu tür içerikleri daha verimli şekilde incelemek isterseniz print_r() ve var_dump() işlevlerine bakınız.

Çoğu PHP değeri kalıcı olarak saklamak amacıyla dizelere dönüştürülebilir. Bu yönteme dizeleştirme adı verilir ve serialize() işlevi tarafından gerçekleştirilir.

String Türü ve Ayrıntılar

PHP'de string türü bir bayt dizisi ve tampon uzumlığunu belirten bir tamsayı olarak gerçeklenmiştir. Bu baytların nasıl karakterlere dönüştüğü hakkında bir bilgiye sahip değildir, bu görev yazılımcıya bırakılmıştır. Bir dizeyi oluşturan değerlerle ilgili bir sınırlama yoktur. Özellikle 0 değerli baytlara (NUL baytlar) dizenin her yerinde izin verilir. (Bununla birlikte, bu kılavuzda "ikil olarak güvenli" olmadığı belirtilen bir kaç işlev, dizeleri, NULL baytından sonra verileri yok sayan kitaplıklara dağıtabilir.)

string türünün bu doğası, PHP'de neden ayrı bir bayt türünün olmadığını açıklar; bu rolü dizeler üstlenir. Örneğin metin veri döndürmeyen işlevler, ham veriyi bir ağ soketinden okuyup yine de dize döndürecektir.

PHP dizelere belli bir karakter kodlaması dayatmaz, dizelerin nasıl baytlara dönüştüğü merak edilebilir. Örneğin, "Ã¡" dizesi "\xE1" (ISO-8859-1), "\xC3\xA1" (UTF-8, C form), "\x61\xCC\x81" (UTF-8, D form) olarak mı yoksa olası başka bir gösterime göre mi kodlanacak? Bunun yanıtı, betiğin karakter kodlaması neyse ona göre karakterler kodlanır, olacaktır. Bu bakımdan, betik örneğin ISO-8859-1'de yazılmışsa dize de ISO-8859-1'de kodlanacaktır. Ancak, Zend Çokbaytlılık etkinse bu uygulanmaz; bu durumda betik keyfi bir kodlamada (açıkça belirtilmiş veya algılanmış olabilir) yazılabilir ve ardından belli bir dahili kodlamaya (dizeler için kullanılacak kodlama) dönüştürülebilir. Betiğin kodlanmasında (veya dahili kodlamada, Zend Çokbaytlılık etkin olmalıdır) bazı kısıtlamalar olduğunu unutmayın. Bu hemen hemen her zaman, bu kodlamanın UTF-8 veya ISO-8859-1 gibi ASCII'nin uyumlu bir üst kümesi olması gerektiği anlamına gelir. Bununla birlikte, büyük/küçük harf durumlarında aynı bayt değerlerinin kullanılabildiği durum bağımlı kodlamaların sorunlu olabileceğini unutmayın.

Şüphesiz, kullanışlı olmak noktasında, metinler üzerinde çalışan işlevler dizenin nasıl kodlanacağına ilşkin bazı varsayımlarda bulunabilir. Ne yazık ki, işlevler arasında bu konuda çok farklı varsayımlar mevcuttur:

  • Bazı işlevler dizenin tek baytlı bir kodlamayla kodlanacağını varsayar, fakat bu baytları belli karakterlere yorumlama gereği duymazlar. substr(), strpos(), strlen() ve strcmp() işlevleri bu durumdadır. Bu işlevlerin bellek tamponlarında, yani baytlar ve bayt adresleriyle çalıştıkları için böyle oldukları düşünülebilir.
  • Diğer bir işlev grubu, dizgenin kodlamasının aktarıldığını ya da bir öntanımlı kodlamanın olduğunu varsayar. mbstring eklentisindeki işlevler ve htmlentities() böyledir.
  • Bir başka işlev grubu geçerli yereli kullanır (bak setlocale()), fakat bayt bayt çalışır.
  • Son grup, dizenin belli bir kodlamayı, normal olarak UTF-8 kullandığını varsayar. intl ve PCRE eklentilerindeki işlevlerin çoğu böyledir (PCRE eklentilerindeki işlevlerde sadece u değiştircisi kullanıldığında).

Sonuç olarak, Unicode kullanarak doğru programların yazılması, çalışmayan ve büyük olasılıkla verileri bozacak işlevlerden itinayla kaçınmaya ve bunun yerine doğru davranan, genellikle intl ve mbstring eklentilerindeki işlevleri kullanmaya bağlıdır. Bununla birlikte, Unicode kodlamaları işleyebilen işlevleri kullanmak sadece başlangıçtır. Dilin sağladığı işlevler ne olursa olsun, asıl olan Unicode belirtimini bilmektir. Örneğin, sadece büyük ve küçük harfler olduğunu varsayan bir yazılım yanlış kabul yapıyor demektir.


Sayısal Dizeler

Bir PHP dizesi, int veya float olarak yorumlanabiliyorsa sayısal kabul edilir.

Resmi olarak PHP 8.0.0'dan itibaren:

WHITESPACES      \s*
LNUM             [0-9]+
DNUM             ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
EXPONENT_DNUM    (({LNUM} | {DNUM}) [eE][+-]? {LNUM})
INT_NUM_STRING   {WHITESPACES} [+-]? {LNUM} {WHITESPACES}
FLOAT_NUM_STRING {WHITESPACES} [+-]? ({DNUM} | {EXPONENT_DNUM}) {WHITESPACES}
NUM_STRING       ({INT_NUM_STRING} | {FLOAT_NUM_STRING})

PHP ayrıca öncü sayısal dizeler kavramına sahiptir. Bu, sayısal bir dizge gibi başlayan ve ardından herhangi bir karakter gelen bir dizedir.

Bilginize:

Sayılarla sınırlanmış (harfe büyüklüğüne duyarsız) E harfini içeren herhangi bir dizge, bilimsel gösterimiyle ifade edilen bir sayı olarak görülecektir. Bu beklenmedik sonuçlar doğurabilir.

<?php
var_dump("0D1" == "000"); // yanlış, "0D1" bilimsel gösterim değil
var_dump("0E1" == "000"); // doğru, "0E1" => 0 * (10 ^ 1), yani 0
var_dump("2E1" == "020"); // doğru, "2E1" => 2 * (10 ^ 1), yani 20
?>

Sayısal bağlamlarda kullanılan dizeler

Bir dizenin sayı olarak değerlendirilmesi gerektiğinde (örneğin, aritmetik işlemler, int tür bildirimi, vb.), Sonucu belirlemek için aşağıdaki adımlar atılır:

  1. Dize sayısal ise, (PHP_INT_MAX tarafından tanımlandığı gibi) int türü sınırlarına uyuyorsa ve dize bir tamsayı sayısal dizeyse, int olarak çözümlenir, aksi takdirde bir float olarak çözümlenir.
  2. Bağlam, öncü sayısal dizelere izin veriyorsa ve dize tek ise, (PHP_INT_MAX tarafından tanımlandığı gibi) int türü sınırlarına uyuyorsa ve dizenin baştaki bölümü bir tamsayı sayısal dizeyse, int olarak çözümlenir, aksi takdirde bir float olarak çözümlenir. Ek olarak E_WARNING seviyesinde bir hata ortaya çıkar.
  3. Dize sayısal değilse, bir TypeError yavrulanır.

PHP 8.0.0 öncesindeki davranış

PHP 8.0.0 öncesinde, bir dize yalnızca, önünde beyaz boşluklar varsa sayısal, sonunda beyaz boşluklar varsa öncü sayısal dize olduğu kabul edilirdi.

PHP 8.0.0 öncesinde, bir dize sayısal bir bağlamda kullanıldığında, yukarıdaki adımlar aşağıdaki farklılıklarla uygulanırdı:

  • Öncü sayısal dize kullanımı E_WARNING yerine E_NOTICE seviyesinde bir hataya sebep olurdu.
  • Dize sayısal değilse, E_WARNING seviyesinde bir hata ortaya çıkar ve değer olarak 0 dönerdi.
PHP 7.1.0 öncesinde, ne E_NOTICE ne de E_WARNING seviyesinde bir hata ortaya çıkardı.

<?php
$foo = 1 + "10.5"; // $foo bir float (11.5)
$foo = 1 + "-1.3e3"; // $foo bir float (-1299)
$foo = 1 + "bob-1.3e3"; // PHP 8.0.0 sonrasında TypeError, öncesinde int (1)
$foo = 1 + "bob3"; // PHP 8.0.0 sonrasında TypeError, öncesinde int (1)
$foo = 1 + "10 Small Pigs"; // $foo bir int (11) ve PHP 8.0.0 sonrasında E_WARNING, öncesinde E_NOTICE
$foo = 4 + "10.2 Little Piggies"; // $foo bir float (14.2) ve PHP 8.0.0 sonrasında E_WARNING, öncesinde E_NOTICE
$foo = "10.0 pigs " + 1; // $foo bir float (11) ve PHP 8.0.0 sonrasında E_WARNING, öncesinde E_NOTICE
$foo = "10.0 pigs " + 1.0; // $foo bir float (11) ve PHP 8.0.0 sonrasında E_WARNING, öncesinde E_NOTICE
?>


array

PHP'de bir dizi aslında sıralı bir eşlemdir. Bir eşlem, değerleri anahtarlarla ilişkilendiren bir veri türüdür. Bu veri türü farklı kullanım amaçları için en iyilenebilir; bir dizi, bir yöneysel liste, bir isim-değer çiftleri tablosu, bir sözlük, bir nesne listesi, yığıt, kuyruk ve daha bir sürü başka şey olarak ele alınabilir. Dizilerin değerleri, ağaçlar, diziler ve hatta çok boyutlu diziler bile olabilir.

Tüm bu veri yapılarının açıklanması bu kılavuzun amacını aşar. Fakat, en azından her biri için birer örnek verilebilir. Bu konuda daha fazla bilgi edinmek için bu konuyla ilgili olarak yayımlanmış eserleri inceleyiniz.

Sözdizimi

Bir dizinin array() ile belirtilmesi

Bir dizi array() işlevi kullanılarak belirtilebilir. Bağımsız değişken olarak, birbirlerinden virgüllerle ayrılmış çok sayıda anahtar => değer çifti alabilir.

array(
    anahtar  => değer,
    anahtar2 => değer2,
    anahtar3 => değer3,
    ...
)

Son dizi elemanından sonraki virgül seçimliktir ve konmayabilir. Bu genellikle tek satırlık dizilerde yapılır. Yani, array(1, 2, ) yerine array(1, 2) yazmak tercih edilir. Diğer taraftan, çok satırlı dizilerde yeni elemanların sona eklenmesini kolaylaştırdığından sondaki virgülün konulması tercih edilir.

Bilginize:

array() yerine [] kullanılan kısa bir dizi sözdizimi de vardır.

Örnek 1 - Basit bir dizi

<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);

// Kısa dizi sözdizimi kullanımı
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>

Bir anahtar ya int ya da string türünde olabilir. Bir değer ise herhangi bir türde olabilir.

Ek olarak anahtar için şu tür çarpıtmaları oluşur:

  • Geçerli onluk tamsayı içeren bir string + imi ile başlamadıkça int türüne çarpıtılır. Yani, "8" anahtarı aslında 8 olarak saklanır. Diğer yandan, "08" geçerli bir onluk tamsayı olmadığından tür çarpıtmasına uğramaz.
  • Float türler ondalık kısmı kırpılarak int türüne çarpıtılır. Yani, 8.7 anahtarı aslında 8 olarak saklanır.
  • Bool türler int türüne çarpıtılır. Yani true anahtarı 1, false anahtarı da 0 olarak saklanır.
  • Null türler boş dizeye çarpıtılır. Yani null aslında "" olarak saklanır.
  • Array ve object türler anahtar olarak kullanılaMAZ. Bunu yapmak Illegal offset type uyarısına sebep olur.

Dizi bildiriminde çok sayıda eleman aynı anahtarı kullanıyorsa, diğerleri birbirlerinin üzerine yazıyormuşçasına sadece son eleman kullanılır.

Örnek 2 - Tür Çarpıtma ve Üzerine Yazma örneği

<?php
$array = array(
1 => "a",
"1" => "b",
1.5 => "c",
true => "d",
);
var_dump($array);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [1]=>
  string(1) "d"
}

Yukarıdaki örnekte tüm anahtarlar 1'e çarpıtıldığından her yeni eleman değeri bir öncekinin üzerie yazılır ve dizide sadece son atanan değer kalır.

PHP indisli ve ilişkisel diziler arasında bir ayrım yapmadığından int ve string türündeki anahtarlar aynı anda bulunabilir.

Örnek 3 - Karışık int ve string anahtarlar

<?php
dizi = array(
"foo" => "bar",
"bar" => "foo",
100 => -100,
-100 => 100,
);
var_dump($dizi);

Yukarıdaki örneğin çıktısı:

array(4) {
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "foo"
  [100]=>
  int(-100)
  [-100]=>
  int(100)
}

anahtar belirtmek isteğe bağlıdır. Bir anahtar belirtmeksizin bir değer atanıyorsa bu değer, mevcut int anahtarların en büyüğüne bir eklenerek elde edilen int anahtarlı elemana atanır.

Örnek 4 - Anahtarsız indisli diziler

<?php
$dizi = array("foo", "bar", "hello", "world");
var_dump($dizi);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(5) "hello"
  [3]=>
  string(5) "world"
}

Bazı değerlere anahtar belirtirken bazılarına belirtmemek mümkündür.

Örnek 5 - Tüm elemanlar için birer anahtar belirtilmeyebilir

<?php
$dizi = array(
"a",
"b",
6 => "c",
"d",
);
var_dump($dizi);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [6]=>
  string(1) "c"
  [7]=>
  string(1) "d"
}

Gördüğünüz gibi son değer "d", 7 anahtarına atanmıştı. Bunun sebebi önceki en büyük tamsayılı indisin 6 olmasıdır.

Örnek 6 - Karmaşık Tür Çarpıtma ve Geçersizleştirme örneği

Bu örnekte anahtarlar üzerinde tür çarpıtmanın ve öğelerin üzerine yazılmasının tüm çeşitleri gösterilmiştir.

<?php
$array = array(
1 => 'a',
'1' => 'b', // "a" değeri "b" ile geçersiz olur
1.5 => 'c', // "b" değeri "c" ile geçersiz olur
-1 => 'd',
'01' => 'e', // tamsayı dizesi olmadığından korunur
'1.5' => 'f', // tamsayı dizesi olmadığından korunur
true => 'g', // "c" değeri "g" ile geçersiz olur
false => 'h',
'' => 'i',
null => 'j', // "i" değeri "j" ile geçersiz olur
'k', // 2 anahtarına "k" değeri atanır, çünkü önceki en büyük tamsayı: 1
2 => 'l', // "k" değeri "l" ile geçersiz olur
);

var_dump($array);
?>

Yukarıdaki örneğin çıktısı:

array(7) {
  [1]=>
  string(1) "g"
  [-1]=>
  string(1) "d"
  ["01"]=>
  string(1) "e"
  ["1.5"]=>
  string(1) "f"
  [0]=>
  string(1) "h"
  [""]=>
  string(1) "j"
  [2]=>
  string(1) "l"
}

Köşeli ayraç sözdizimi ile belirtilen dizilere erişim

Dizi elemanlarına array[anahtar] sözdizimi kullanılarak erişilir.

Örnek 7 - Dizi elemenlarına erişim

<?php
$dizi = array(
"foo" => "bar",
42 => 24,
"çok" => array(
"boyutlu" => array(
"dizi" => "foo"
)
)
);

var_dump($dizi["foo"]);
var_dump($dizi[42]);
var_dump($dizi["çok"]["boyutlu"]["dizi"]);
?>

Yukarıdaki örneğin çıktısı:

string(3) "bar"
int(24)
string(3) "foo"

Bilginize:

PHP 8.0.0 öncesinde, dizilere erişmek için köşeli ayraçların yerine kaşlı ayraçlar da kullanılabilirdi (yani, yukarıdaki örnekte $dizi[42] ve $dizi{42} aynı şeyi yapar). Dizilere erişirken köşeli ayraçların yerine kaşlı ayraç kullanımı PHP 7.4.0 itibariyle önerilmemekte olup PHP 8.0.0 ve sonrasında desteklenmemektedir.

Örnek 8 - Dizi başvurusu

<?php
function getArray() {
return array(1, 2, 3);
}

$ikinciEleman = getArray()[1];
?>

Bilginize:

Atanmamış bir dizi elemanına erişme çabası, atanmamış bir değişkene erişme çabasıyla aynı sonucu verir: E_WARNING seviyesinde (PHP 8.0.0 öncesinde E_NOTICE seviyesinde) bir hata çıktılanır ve sonuç null olur.

Bilginize:

string türünde olmayan bir sayıl değeri başka bir diziye atama işlemi sessiz bir null atamasıyla sonuçlanır. PHP 7.4.0 öncesinde, bir hata iletisi çıktılanmazdı. PHP 7.4.0 ve sonrasında, bir E_NOTICE çıktılanırken, PHP 8.0.0 ve sonrasında, bir E_WARNING çıktılanır.

Köşeli ayraçlarla atama ve değişiklik yapmak

Mevcut bir dizi, doğrudan değer atamak suretiyle değiştirilebilir.

Bu işlem, diziye köşeli ayraçlar arasında belirtilen bir anahtar kullanılarak değer atamak biçeminde yapılır. Diziye yeni bir değer atamak için köşeli ayraçlar boş olarak ([]) belirtilebilir.

$dizi[anahtar] = değer;
$dizi[] = değer;

// anahtar sadece int veya string türünde olabilir.
// değer herhangi bir türde olabilir.

$dizi mevcut değilse, değer olarak null veya false atanmışsa dizi oluşturulur. Yani bu işlem yeni bir dizi oluşturmak için kullanılabilir. Ancak bunun yapılması önerilmez. Çünkü $dizi bir dize değer içeriyor olabileceğinden bu değer yerinde kalır ve [] aslında bir dize erişim işleci haline gelir. Bir değişkeni doğrudan atamayla ilkendirmek daha iyidir.

Bilginize: PHP 7.1.0 ve sonrasında, boş indis işlecini bir dizeye uygulamak ölümcül hataya sebep olur. Evvelce, dize sessizce bir diziye dönüştürülürdü.

Bilginize: PHP 8.1.0 itibariyle, false değerden yeni bir dizi oluşturulması önerilmemektedir. null ve tanımsız değerlerden yeni bir dizi oluşturulması ise hala mümkündür.

Anahtar kullanarak bir elemana yeni bir değer atamak bu elemanın değerinin değiştirilmesi demektir. Belli bir anahtar/değer çiftini silmek için unset() işlevini kullanın.

<?php
$dizi = array(5 => 1, 12 => 2);

$dizi[] = 56; // Betiğin bu noktasında bu atama
// $dizi[13] = 56; ile aynıdır

$dizi["x"] = 42; // "x" anahtarlı yeni bir eleman atar

unset($dizi[5]); // Elemanı diziden siler

unset($dizi); // Dizinin tamamını siler
?>

Bilginize:

Yukarıda değinildiği gibi, bir diziye yeni değeri bir anahtar belirtmeden atamak, mevcut en büyük int indisine bir eklenerek elde edilen anahtar (en azından 0 değil) kullanılarak gerçekleşir. Dizide henüz bir int indis yoksa anahtar olarak 0 (sıfır) kullanılır.

Dikkat ederseniz, dizinin mevcut olması halinde, yeni bir değer atamak için en büyük tamsayı indisli anahtar kullanmaya gerek yoktur. Buna sadece dizi yeniden indislenmişse gerek olabilir. Aşağıdaki örnek anlatımı pekiştirecektir:

<?php
// Basit bir dizi oluşturalım.
$dizi = array(1, 2, 3, 4, 5);
print_r($dizi);

// Şimdi bütün elemanları silelim ama dizi kalsın:
foreach ($dizi as $i => $value) {
unset($dizi[$i]);
}
print_r($dizi);

// Bir eleman ekleyelim (dikkat: yeni anahtar 0 değil 5 olacak!)
$dizi[] = 6;
print_r($dizi);

// Yeniden indisleyelim:
$dizi = array_values($dizi);
$dizi[] = 7;
print_r($dizi);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)
Array
(
)
Array
(
    [5] => 6
)
Array
(
    [0] => 6
    [1] => 7
)

Dizilerin Yeniden Yapılandırılması

Diziler, [] (PHP 7.1.0 ve sonrası) veya list() dil yapıları kullanılarak yeniden yapılandırılabilir. Bu dil yapıları bir dizinin içindeki farklı değişkenleri yeniden yapılandırmakta da kullanılabilir.

<?php
$source_array = ['foo', 'bar', 'baz'];

[$foo, $bar, $baz] = $source_array;

echo $foo; // "foo" basar
echo $bar; // "bar" basar
echo $baz; // "baz" basar
?>

Dizilerin yeniden yapılandırmasında çok boyutlu bir dizi, foreach kullanılarak yinelemeli olarak yeniden yapılandırılabilir.

<?php
$source_array = [
[1, 'John'],
[2, 'Jane'],
];

foreach ($source_array as [$id, $name]) {
// $id ve $name ile ilgili yinelemeler
}
?>

Bir değişken sağlanmamış dizi elemanları yok sayılır. Yeniden yapılandırma daima 0. indisten başlar.

<?php
$source_array = ['foo', 'bar', 'baz'];

// 2. indisteki elemana $baz ile atama
[, , $baz] = $source_array;

echo $baz; // "baz" basar
?>

PHP 7.1.0 ve sonrasında, ilişkisel diziler de yeniden yapılandırılabilmektedir. Ayrıca, sayısal indisli dizilerde indisler doğrudan belirtilebildiğinden doğru elemanın daha kolay belirlenebilmesini de sağlar.

<?php
$source_array = ['foo' => 1, 'bar' => 2, 'baz' => 3];

// 'baz' indisli elemana $üç değişkenini atamak
['baz' => $üç] = $source_array;

echo $üç; // 3 basar

$source_array = ['foo', 'bar', 'baz'];

// 2. indisteki elemana $baz değişkenini atamak
[2 => $baz] = $source_array;

echo $baz; // "baz" basar
?>

Dizi yeniden yapılandırması iki değişkeni kolayca takaslamak için de kullanılabilir.

<?php
$a = 1;
$b = 2;

[$b, $a] = [$a, $b];

echo $a; // 2 basar
echo $b; // 1 basar
?>

Bilginize:

Atamalarda çoğaltma işleci (...) desteklenmemektedir.

Bilginize:

Tanımlanmamış bir dizi anahtarına erişmeye çalışmak, diğer tanımsız değişkenlere erişmekle aynıdır: E_WARNING seviyesinde (PHP 8.0.0 öncesinde E_NOTICE seviyesinde) bir hata çıktılanır ve sonuç null olur.

Kullanışlı işlevler

Dizilerle çalışmak için kullanılabilecek işlevlerin tamamını Dizi İşlevleri bölümünde bulabilirsiniz.

Bilginize:

unset() işlevi bir diziden anahtar silmeyi mümkün kılar. Ama bu silme işlemi dizinin yeniden indislenmesiyle sonuçlanmaz. Eğer silme işleminin gerçekten "sil ve kaydır" yapmasını istiyorsanız, anahtarı sildikten sonra array_values() işlevini kullanarak diziyi yeniden indislemelisiniz.

<?php
$a = array(1 => 'bir', 2 => 'iki', 3 => 'üç');
unset($a[2]);
/* Bu silme işlemi dizi şöyle tanımlanmış gibi sonuçlanacaktır:
$a = array(1 => 'bir', 3 => 'üç');
böyle DEĞİL:
$a = array(1 => 'bir', 2 =>'üç');
*/

$b = array_values($a);
// $b artık array(0 => 'bir', 1 =>'üç') olmuştur
?>

foreach denetim yapısı özellikle diziler için tasarlanmıştır. Diziler üzerinde hareket edilmesini kolaylaştırır.

Diziler ne yapar, ne yapmaz?

$foo[bar] niye yanlıştır?

Bir dize sayıllı indis daima tırnak içinde kullanılır. Örneğin, $foo[bar] yanlışken $foo['bar'] doğrudur. Ama, neden? Eski betiklerde şu sözdizimine sıkça rastlanır:

<?php
$foo[bar] = 'düşman';
echo $foo[bar];
// ve saire
?>

Bu yanlıştır, ama çalışır. Bunun sebebi, bu kodun bir dizeden ziyade tanımsız bir sabit (bar) belirtiyor olmasıdır. PHP ilerde şans eseri ismi aynı zamanda değeri olan bir sabit tanımlayabilir. PHP otomatik olarak bir çıplak dizeyi (tırnak içine alınmamış bir dizeyi), bu çıplak dizeyi içeren bir dizeye dönüştüreceğinden bu çalışır. Örneğin, bar isminde tanımlanmış bir sabit yoksa, PHP bar sabitine 'bar' dizesini yerleştirecek ve bunu kullanacaktır.

Uyarı

Son çare olarak, tanımlanmamış bir sabitin çıplak bir dize olarak işleme sokulması E_NOTICE seviyesinde bir hata çıktılanmasına sebep olur. Bu, PHP 7.2.0'dan itibaren kullanımdan kaldırılmış olup E_WARNING seviyesinde bir hataya sebep olur. PHP 8.0.0 ve sonrasında, bu durumda, bir Error istisnası yavrulanmaktadır.

Bilginize: Bu, "anahtarlar daima tırnak içine alınır" demek değildir. sabitleri ve değişkenleri tek tırnak içine almayın, çünkü o zaman yorumlanmazlar.

<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
ini_set('html_errors', false);
// Basit bir dizi:
$dizi = array(1, 2);
$sayaç = count($dizi);
for ($i = 0; $i < $sayaç; $i++) {
echo "\n$i indisi inceleniyor: \n";
echo "Kötü: " . $dizi['$i'] . "\n";
echo "İyi: " . $dizi[$i] . "\n";
echo "Kötü: {$dizi['$i']}\n";
echo "İyi: {$dizi[$i]}\n";
}
?>

Yukarıdaki örneğin çıktısı:

0 indisi inceleniyor:

Notice: Undefined index: $i in /dosya/yolu/betik.php on line 10
Kötü:
İyi: 1

Notice: Undefined index: $i in /dosya/yolu/betik.php on line 12
Kötü:
İyi: 1

1 indisi inceleniyor:

Notice: Undefined index: $i in /dosya/yolu/betik.php on line 10
Kötü:
İyi: 2

Notice: Undefined index: $i in /dosya/yolu/betik.php on line 12
Kötü:
İyi: 2

Bu davranışla ilgili diğer örnekler:

<?php
// Tüm hataları görelim
error_reporting(E_ALL);

$dizi = array('meyve' => 'elma', 'sebze' => 'havuç');

// Doğru
print $dizi['meyve']; // elma
print $dizi['sebze']; // havuç

// Yanlış. Bu çalışır, fakat meyve tanımlanmamış bir sabit
// olmadığından E_NOTICE seviyesinde bir PHP hatası oluşur
//
// Notice: Use of undefined constant meyve - assumed 'meyve'...
print $dizi[meyve]; // elma

// Bu, neler olup bittiğini gösteren bir sabit tanımlar;
// 'sebze' değeri meyve sabitine atanır.
define('meyve', 'sebze');

// Şimdi farkı görelim
print $dizi['meyve']; // elma
print $dizi[meyve]; // havuç

// Bir dize içinde olduğundan bu da doğrudur.
// Dizge içinde kalan sabitler, sabit olarak ele alınmazlar;
// dolayısıyla burada bir E_NOTICE oluşmaz.
print "Turfanda $dizi[meyve]"; // Turfanda elma

// Bir istisna: Dizge içinde kaşlı ayraç içine alınmış
// sabitler, sabit olarak ele alınırlar.
print "Turfanda {$dizi[meyve]}"; // Turfanda havuç
print "Turfanda {$dizi['meyve']}"; // Turfanda elma

// Bu çalışmaz ve şöyle bir çözümleme hatasıyla sonuçlanır:
// Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'
// Bu, dizeler içindeki süper küresellere de uygulanır.
print "Turfanda $dizi['meyve']";
print "Turfanda $_GET['foo']";

// Ard arda eklemek de bir seçenektir
print "Turfanda " . $dizi['meyve']; // Turfanda elma
?>

error_reporting yönergesine E_NOTICE seviyesinden hataları gösterecek bir atama yapılırsa (örneğin, E_ALL atanarak), böyle kullanımlar hemen görünür duruma gelir. error_reporting yönergesinin öntanımlı değeriyle E_NOTICE seviyesinden hatalar gösterilmez.

Sözdizimi bölümünde değinildiği gibi, köşeli ayraçlar ('[' ve ']') içinde belirtilenlerin birer ifade olması gerekir. Yani, aşağıdaki gibi bir kod çalışacaktır:

<?php
echo $dizi[birişlev($bar)];
?>

Bu, bir işlevin dönüş değerinin dizi indisi olarak kullanımına bir örnektir. PHP kendi sabitlerini de tanır:

<?php
$error_descriptions[E_ERROR] = "Ölümcül bir hata oluştu";
$error_descriptions[E_WARNING] = "PHP bir uyarı verdi";
$error_descriptions[E_NOTICE] = "Bu sadece bilgilendirici bir uyarı";
?>

E_ERROR sabitinin de ilk örnekteki bar kadar geçerli bir betimleyici oluşuna dikkat ediniz. Fakat, E_ERROR eşittir 1, vb. olduğundan aşağıdaki örnek de aynı işi yapar:

<?php
$error_descriptions[1] = "Ölümcül bir hata oluştu";
$error_descriptions[2] = "PHP bir uyarı verdi";
$error_descriptions[8] = "Bu sadece bilgilendirici bir uyarı";
?>

O halde bunun nesi kötü?

Bilinmeyen bir gelecekte PHP ekibi başkalarının kodlarıyla çelişen bir sabit, bir anahtar sözcük veya bir değişken eklemek isteyebilir. Örneğin, empty ve default birer anahtar sözcük olduklarından bu amaçla kullanılmaları yanlıştır.

Bilginize: Yinelemek gerekirse, çift tırnak imleri arasına alınmış bir dize, dizi indisini tırnak içine almadığından geçerlidir; yani, "$foo[bar]" geçeridir. Yukarıdaki örnekleri bu gözle tekrar inceleyin ve ayrıca dizelerin içinde değişken çözümleme bölümüne de bakın.

Diziye dönüşüm

int, float, string, bool veya resource türünde bir değeri array türünde bir değere dönüştürme işlemi, sıfır indisli bir elemana bu değerin atanması ile sonuçlanır. Başka bir deyişle, (array)$sayılDeğer ile array($sayılDeğer) arasında bir fark yoktur.

Bir object türü array türüne dönüştürme işlemi, elemanları nesnenin üyeleri olan bir dizi ile sonuçlanır. Anahtarlar, bir kaç istisnai durum dışında üyelerin isimleridir: Tamsayı özellikler erişilebilir değildir; private değişkenlerin önüne sınıf isimleri getirilir; public değişkenlerin önünde bir '*' olur. Diğer taraftan, başlarına birşeyler eklenmiş böyle değişkenlerin değerleri null olur. Veri türüne sahip özellikler ilklendirilmemişse sessizce yok sayılır.

<?php

class A {
private $B;
protected $C;
public $D;
function __construct()
{
$this->{1} = null;
}
}

var_export((array) new A());
?>

Yukarıdaki örneğin çıktısı:

array (
  '' . "\0" . 'A' . "\0" . 'B' => NULL,
  '' . "\0" . '*' . "\0" . 'C' => NULL,
  'D' => NULL,
  1 => NULL,
)

Bu durum beklenmedik davranışlara yol açabilir:

<?php

class A {
private $A; // Bu '\0A\0A' haline gelir.
}

class B extends A {
private $A; // Bu '\0B\0A' haline gelir.
public $AA; // Bu 'AA' haline gelir.
}

var_dump((array) new B());
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["BA"]=>
  NULL
  ["AA"]=>
  NULL
  ["AA"]=>
  NULL
}

Bu örneğin çıktısı 'AA' isimli iki anahtar görüntülerse de onlardan birinin ismi aslında '\0A\0A''dır.

null, bir diziye dönüştürülmek istenirse sonuç boş bir dizi olur.

Karşılaştırma

Dizileri array_diff() işleviyle veya dizi işleçleri kullanılarak karşılaştırmak mümkündür.

Dizi genişletme

... ile öncelenmiş bir dizi dizinin tanımlanması sırasında bulunduğu yerde genişletilir. Yalnızca Traversable arayüzünü gerçekleyen diziler genişletilebilir. ... ile genişletme PHP 7.4.0 ve sonrasında kullanılabilmektedir.

Defalarca genişletme yapmak ve ... işlecinin önüne ve ardına normal elemanları eklemek mümkündür:

Örnek 9 - Basit dizi genişletmesi

<?php
// Kısa dizi sözdizimi kullanarak.
// Ayrıca, array() sözdizimi da çalışır.
$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; //[1, 2, 3]
$arr3 = [0, ...$arr1]; //[0, 1, 2, 3]
$arr4 = [...$arr1, ...$arr2, 111]; //[1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; //[1, 2, 3, 1, 2, 3]

function getArr() {
return ['a', 'b'];
}
$arr6 = [...getArr(), 'c' => 'd']; //['a', 'b', 'c' => 'd']
?>

... işleci ile bir diziyi genişletme işlemi array_merge() işlevindeki gibi yapılır. Yani, sonraki dizge anahtarlar öncekileri geçersiz kılarken tamsayı anahtarlar yeniden sıralanır:

Örnek 10 - Yinelenen anahtarlarla dizi genişletme

<?php
// dizge anahtar
$arr1 = ["a" => 1];
$arr2 = ["a" => 2];
$arr3 = ["a" => 0, ...$arr1, ...$arr2];
var_dump($arr3); // ["a" => 2]

// integer key
$arr4 = [1, 2, 3];
$arr5 = [4, 5, 6];
$arr6 = [...$arr4, ...$arr5];
var_dump($arr6); // [1, 2, 3, 4, 5, 6]
// [0 => 1, 1 => 2, 2 => 3, 3 => 4, 4 => 5, 5 => 6]
// Burada özgün tamsayı anahtarlar korunmamıştır.
?>

Bilginize:

Dizge ya da tamsayı olmayan anahtarlar TypeError istisnasına yol açar. Böyle anahtarlar sadece Traversable nesnesi tarafından üretilebilir.

Bilginize:

PHP 8.1 öncesinde, dizge anahtarlı bir dizi genişletilmiyordu:

<?php

$arr1 = [1, 2, 3];
$arr2 = ['a' => 4];
$arr3 = [...$arr1, ...$arr2];
// Ölümcül hata: Dizge anahtarlı diziler genişletilemez: example.php:5

$arr4 = [1, 2, 3];
$arr5 = [4, 5];
$arr6 = [...$arr4, ...$arr5]; // works. [1, 2, 3, 4, 5]
?>

Örnekler

PHP'nin array türü çok yeteneklidir. Bazı örnekler:

<?php
// Bu:
$a = array( 'renk' => 'kırmızı',
'lezzet' => 'tatlı',
'şekil' => 'yuvarlak',
'isim' => 'elma',
4 // anahtarı 0 olacaktır
);

$b = array('a', 'b', 'c');

// . . . buna tamamen eşdeğerdir:
$a = array();
$a['renk'] = 'kırmızı';
$a['lezzet'] = 'tatlı';
$a['şekil'] = 'yuvarlak';
$a['isim'] = 'elma';
$a[] = 4; // anahtarı 0 olacaktır

$b = array();
$b[] = 'a';
$b[] = 'b';
$b[] = 'c';

// Yukarıdaki kod çalıştırıldığında $a, array('renk' => 'kırmızı',
// 'lezzet' => 'tatlı', 'şekil' => 'yuvarlak', 'isim' => 'elma', 0 => 4)
// dizisiyle, $b ise array(0 => 'a', 1 => 'b', 2 => 'c') veya basitçe
// array('a', 'b', 'c') dizisiyle sonuçlanacaktır.
?>

Örnek 11 - array() kullanımı

<?php
// Özellik eşlemeli dizi
$map = array( 'sürüm' => 4,
'sistem' => 'Linux',
'dil' => 'english',
'kısaltma' => true
);

// tamamen sayısal anahtarlar
$dizi = array( 7,
8,
0,
156,
-10
);
// Bu, array(0 => 7, 1 => 8, ...) ile aynıdır

$geçişli = array( 10, // key = 0
5 => 6,
3 => 7,
'a' => 4,
11, // anahtar = 6 (en büyük tamsayı indis 5 idi)
'8' => 2, // anahtar = 8 (tamsayı!)
'02' => 77, // anahtar = '02'
0 => 12 // 10 değerinin üzerine 12 yazılacak
);

// boş dizi
$boş = array();
?>

Örnek 12 - Döngü içinde elemen değiştirme

<?php
$renkler = array('Turuncu', 'Pembe', 'Mor', 'Turkuaz');

foreach ($renkler as $renk) {
echo "$renk rengi sever misiniz?\n";
}

?>

Yukarıdaki örneğin çıktısı:

Turuncu rengi sever misiniz?
Pembe rengi sever misiniz?
Mor rengi sever misiniz?
Turkuaz rengi sever misiniz?

Dizi değerleri gönderimli aktarıldıklarından dizi değerlerini doğrudan değiştirmek mümkündür. Fakat arada bazı şeyler yapmak gerekir:

Örnek 13 - Derlem

<?php
<?php
$renkler = array('Turuncu', 'Pembe', 'Mor', 'Turkuaz');

foreach ($renkler as &$renk) {
$renk = strtoupper($renk);
}

unset($renk); /* Aşağıdaki atamalarda $renk son
dizi elemanını değiştirmesin */

print_r($renkler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => TURUNCU
    [1] => PEMBE
    [2] => MOR
    [3] => TURKUAZ
)

Bu örnekte dizi indisleri 1'den başlatılmaktadır.

Örnek 14 - İndisi 1'den başlatmak

<?php
$ilkçeyrek = array(1 => 'Ocak', 'Şubat', 'Mart');
print_r($ilkçeyrek);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [1] => Ocak
    [2] => Şubat
    [3] => Mart
)

Örnek 15 - Diziyi doldurmak

<?php
// bir diziyi bir dizin'in içeriği ile dolduralım
$tutamak = opendir('.');
while (false !== ($dosya = readdir($tutamak))) {
$dosyalar[] = $dosya;
}
closedir($tutamak);
?>

Diziler sıralıdır. Sıralama çeşitli sıralama işlevleri ile değiştirilebilir. Daha fazla bilgi için Dizi İşlevleri bölümüne bakınız. Bir dizinin eleman sayısını öğrenmek için count()işlevi kullanılabilir.

Örnek 16 - Dizi elemanlarının sıraya sokulması

<?php
sort($dosyalar);
print_r($dosyalar);
?>

Bir dizinin elemanlarına her türlü değer atanabileceğinden başka bir dizi de atanabilir. Böylece iç içe ve çok boyutlu dizilerin oluşturulması mümkün olur.

Örnek 17 - İç içe ve çok boyutlu diziler

<?php
$yemişler = array ( "yemişler" => array ( "a" => "iğde",
"b" => "badem",
"c" => "ceviz"
),
"sayılar" => array ( 1,
2,
3,
4,
5,
6
),
"yuvalar" => array ( "birinci",
5 => "ikinci",
"üçüncü"
)
);

// Yukarıdaki dizinin değerlerinin kullanıldığı bazı örnekler
echo $yemişler["yuvalar"][5]; // "ikinci" basar
echo $yemişler["meyveler"]["a"]; // "iğde" basar
unset($yemişler["yuvalar"][0]); // "birinci" silinir

// Yeni bir çok boyutlu dizi oluşturalım
$meyveler["elma"]["yeşil"] = "ekşi";
?>

Dizi atamaları daima değerleri kopyalamak şeklinde gerçekleşir. Bir diziyi gönderimli olarak kopyalamak için gönderim işleci kullanılır.

<?php
$dizi1 = array(2, 3);
$dizi2 = $dizi1;
$dizi2[] = 4; // $dizi2 değişti,
// $dizi1 hala array(2, 3)

$dizi3 = &$dizi1;
$dizi3[] = 4; // şimdi $dizi1 ve $dizi3 aynı
?>


object

Nesne İlklendirme

Yeni bir nesne oluşturmak için (bir sınıfın bir örneğini oluşturmak için) new deyimi kullanılır:

<?php
class kediler
{
function birŞeySöyle()
{
echo "Miyav.";
}
}

$kedi = new kediler;
$kedi->birŞeySöyle();
?>

Çok daha ayrıntılı bilgiyi Sınıflar ve Nesneler faslında bulabilirsiniz.

object türüne dönüşüm

Eğer object türünde bir değer object türüne dönüştürülürse bir değişiklik olmaz. Başka türde bir değer object türüne dönüştürülürse yerleşik stdClass sınıfının yeni bir örneği oluşturulmuş olur. Eğer değer null ise yeni örnek boş olur. Bir dizi object türüne dönüştürülürse dizi elemanlarının isimleri değerleriyle birlikte nesnenin özellikleri haline gelirler. Bu durumda PHP 7.2.0 öncesinde, sayısal anahtarların yinelenmedikçe erişilmez olacağını unutmayın.

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // PHP 7.2.0 ve sonrasında 'bool(true)'
// öncesinde 'bool(false)' basar
var_dump(key($obj)); // PHP 7.2.0 ve sonrasında 'string(1) "1"
// öncesinde 'int(1)' basar
?>

Herhangi bir başka değer için, scalar isimli bir üye değişken, değeri içerecektir.

<?php
$nesne = (object) 'heyo';
echo $nesne->scalar; // çıktısı: 'heyo'
?>


Sayılamalar

(PHP 8 >= 8.1.0)

Temel Sayılamalar

Sayılamalar, bir veri türü için kapalı bir olası değerler kümesi tanımlamanın bir yolunu sağlamayı amaçlayan sınıfların ve sınıf sabitlerinin üzerinde kısıtlayıcı bir katmandır.

<?php
enum Deste
{
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
}
function do_stuff(Deste $s)
{
// ...
}
do_stuff(Deste::Maçalar);
?>

Daha ayrıntılı bilgi için Sayılamalar bölümüne bakılabilir.

Dönüşüm

Bir enum tür bir object türe dönüştülürse, değişikliğe uğramaz. Bir enum tür bir array türe dönüştülürse, ya sadece name anahtarı olan bir dizi (saf sayılama) ya da name ve value anahtarlarına sahip bir dizi (Destekli sayılama) oluşur. Tüm diğer dönüşüm türleri bir hatayla sonuçlanır.


resource

resource türünde bir değişken harici bir özkaynağa bir gönderim içeren özel bir değişkendir. Özkaynaklar özel işlevler tarafından oluşturulur ve kullanılırlar. resource türüyle ilişkilendirilebilen özkaynakların ve özel işlevlerin bir listesini eklerde bulabilirsiniz.

Ayrıca, get_resource_type() işlevine de bakınız.

resource türüne dönüşüm

Açık dosyalara, veritabanı bağlantılarına, görüntü tuval alanlarına ve benzerlerine birer tanıtıcı sağlayan değişkenleri resource türüne dönüştürmenin bir anlamı yoktur.

Özkaynakları serbest bırakmak

Zend Motoru sayesinde gönderimsiz kalan özkaynaklar otomatik olarak saptanarak bunlara ayrılan bellek çöp toplayıcı tarafından serbest bırakılmaktadır. Bu sebeple bir özkaynağa ayrılan belleği serbest bırakmak ihtiyacı nadiren ortaya çıkar.

Bilginize: Kalıcı veritabanı bağlantıları bu kuralın bir istisnasıdır. Çöp toplayıcı tarafından yok edilmezler. Bu konuda daha ayrıntılı bilgi edinmek için kalıcı bağlantılar bölümüne bakınız.


Geriçağırımlar / Çağrılılabilirler

Geriçağırımlar callable tür ipucu ile belirtilebilir.

call_user_func() ya da usort() gibi bazı işlevler bağımsız değişken olarak kullanıcı tarafından belirlenen geriçağırım işlevleri kabul eder. Geriçağırım işlevleri basit işlevler olabileceği gibi, statik işlevler de dâhil olmak üzere object türünde nesne yöntemleri de olabilirler.

Aktarım

 Bir PHP işlevi adı ile string türünde aktarılır. Her türlü
 yerleşik ve kullanıcı tanımlı işlev kullanılabilir, ancak;
array(), echo,
empty(), eval(),
exit(), isset(),
list(), print ya da
unset() gibi dil sabitleri müstesna.

Örneklenmiş bir nesne yöntemi, 0 indisinde nesne, 1 indisinde yöntem adı olan bir dizi ile aktarılır. Korumalı ve özel yöntemlere sınıf içinden erişilebilir.

Statik sınıf yöntemleri, 0 indisinde nesne yerine sınıf adı kullanılarak, sınıfın nesnesi örneklendirilmeden ya da 'SınıfAdı::yöntemAdı' kullanılarak aktarılabilir.

Kullanıcı tanımlı işlevler haricinde, isimsiz işlevler ve ok işlevleri de geriçağırım bağımsız değişkeni olarak aktarılabilir.

Bilginize:

PHP 8.1.0 itibariyle, anonim işlevler de birinci sınıf çağrılabilir sözdizimi kullanılarak oluşturulabiliyor.

Genel olarak, __invoke() gerçekleyen her nesne bir geriçağırım bağımsız değişkeni olarak aktarılabilir.

Örnek 1 - Geriçağırım işlev örnekleri

<?php

// Örnek bir geriçağırım işlevi
function benim_gericagirim_islevim() {
echo 'merhaba dünya!';
}

// Örnek bir geriçağırım yöntemi
class BenimSinifim {
static function benimGericagirimYontemim() {
echo 'Merhaba Dünya!';
}
}

// Tür 1: Basit geriçağırım
call_user_func('benim_gericagirim_islevim');

// Tür 2: Statik sınıf yöntemi çağrısı
call_user_func(array('BenimSinifim', 'benimGericagirimYontemim'));

// Tür 3: Nesne yöntem çağrısı
$nesne = new BenimSinifim();
call_user_func(array($nesne, 'benimGericagirimYontemim'));

// Tür 4: Statik sınıf yöntemi çağrısı
call_user_func('BenimSinifim::benimGericagirimYontemim');

// Tür 5: İlişkisel statik sınıf yöntem çağrısı
class A {
public static function kim() {
echo "A\n";
}
}

class B extends A {
public static function kim() {
echo "B\n";
}
}

call_user_func(array('B', 'parent::kim')); // A, PHP 8.2.0 ve sonrasında önerilmiyor

// Tür 6: Nesneler, __invoke uyguluyorlarsa çağırılabilir olarak kullanılabilirler
class C {
public function __invoke($ad) {
echo 'Merhaba ', $ad, "\n";
}
}

$c = new C();
call_user_func($c, 'PHP!');
?>

Örnek 2 - Örtme kullanan Geriçağırım örneği

<?php
// Bizim örtücümüz
$iki_misli = function($a) {
return $a * 2;
};

// Bu bizim sayı aralığımız
$sayilar = range(1, 5);

// Sayı aralığımızın her bir elemanını
// ikiye katlamak için burada örtücüyü
// bir geriçağırım olarak kullandık
$yeni_sayilar = array_map($iki_misli, $sayilar);

print implode(' ', $yeni_sayilar);
?>

Yukarıdaki örneğin çıktısı:

2 4 6 8 10

Bilginize:

call_user_func() ve call_user_func_array() gibi işlevlerle tanımlanmış geriçağırım işlevleri, bir önceki geriçağırım işlevinde yavrulanmış ve yakalanmamış bir istisna varsa çağrılmaz.


mixed

mixed (karışık) her değeri kabul eden bir türdür. object|resource|array|string|float|int|bool|null türlerinin birleşimi olarak union türüne eşdeğerdir. PHP 8.0.0 ve sonrasında kullanılabilir.

mixed tür teorisi tabiriyle en üst türdür. Yani bütün türler alt türü olabilir.


void

void işlevin değer döndürmeden sonlanabildiğini belirten bir bildirim türüdür. Bir değerin türü olmadığından union (birleşik) türün parçası olamaz. PHP 7.1.0 ve sonrasında kullanılabilir.

Bilginize: void dönüş türü bildirimli bir işlev yine de değer döndürür ancak bu değer daima null olur.


never

never işlevin sonlanmayacağı belirten bir dönüş türüdür. Yani ya exit() çağrısıyla bir istisna oluşturur ya da sonsuz döngüde kalır. Bu bakımdan union (birleşik) türün parçası olamaz. PHP 8.1.0 ve sonrasında kullanılabilir.

never tür teorisi tabiriyle en alt türdür. Yani diğer her türün alt türü olabilir ve kalıtım sırasında yerini başka bir tür alabilir.


parent, self, static

Bu türlerin bildirimleri yalnızca sınıfların içinde kullanılabilir.

self

Bu türden bir nesne, tür bildiriminin kullanıldığı sınıfın örneği (instanceof) olmalıdır.

parent

Bu türden bir nesne, tür bildiriminin kullanıldığı sınıfın ebeveyninin örneği (instanceof) olmalıdır.

static

static, döndürülen nesnenin yöntemin çağrıldığı sınıfın örneği (instanceof) olmasını gerektiren dönüş türüdür. PHP 8.0.0 ve sonrasında kullanılabilir.


false ve true

Bunlar hem değerin türü hem de değerin kendisidir: PHP 8.0.0 ve sonrasında false, PHP 8.2.0 ve sonrasında true.

Uyarı

PHP 8.2.0 öncesinde, false türü yalnızca union (birleşik) türün parçası olarak bildirilebiliyordu.

Bilginize: Kendisi tür olan özel bir tür tanımlanamaz. Bunun yerine sayılamalar kullanılabilir.


iterable

Iterable (yinelenebilir tür) yerleşik olarak derleme sırasında array|Traversable türüne bir takma ad olarak tanımlanmıştır. PHP 7.1.0'dan PHP 8.2.0'a kadar yukarıda belirtilen tür takma adı olarak işlev gören ve bir tür bildirimi olarak kullanılabilen yerleşik bir sözde türdü. Yinelenebilir tür, üreteç içinde yield from ile ve foreach içinde kullanılabilir.

Bilginize:

Dönüş türü olarak iterable bildiren bir işlev ayrıca, bir üreteç olarak da kullanılabilir.

Örnek 1 - Yinelenebilir üreteç dönüş türü örneği

<?php

function gen(): iterable {
yield 1;
yield 2;
yield 3;
}

?>


Tür bildirimleri

Tür bildirimleri işlev bağımsız değişkenlerine, dönüş değerlerine ve PHP 7.4.0 ve sonrasında sınıf özelliklerine eklenebilir. Çağrı sırasında değerin belirtilen türde olmasını gerektirir, aksi takdirde TypeError oluşur.

resource türü dışında PHP'nin desteklediği her tür, kullanıcı bildirimi olarak kullanılabilir. Bu sayfa, farklı türlerin kullanılabilirliğine ilişkin bir değişiklik günlüğü ve bunların tür bildirimlerinde kullanımına ilişkin belgeleri içerir.

Bilginize:

Bir sınıf, bir arayüz yöntemini gerçeklediğinde veya bir üst sınıf tarafından zaten tanımlanmış bir yöntemi yeniden gerçeklediğinde, gerçeklediği tanımla uyumlu olması gerekir. Bir yöntem, özgüllük kurallarına uyuyorsa uyumludur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Sınıf, arayüz, nitelik ve sayılama sabit türleri için destek eklendi.
8.2.0 | DNF türleri desteklenmeye başlandı.
8.2.0 | true kendisi tür olanlardan biri olarak eklendi.
8.2.0 | null ve false tek başlarına kullanılabilir oldu.
8.1.0 | Kesişim türleri desteklenmeye başlandı.
8.1.0 | void dönüş türünde bir işlevden dönen değere başvuru artık önerilmiyor.
8.1.0 | never dönüş türü desteklenmeye başlandı.
8.0.0 | mixed türü desteklenmeye başlandı.
8.0.0 | static dönüş türü desteklenmeye başlandı.
8.0.0 | Birleşik türler desteklenmeye başlandı.
7.4.0 | Sınıf özellik türü bildirim desteği eklendi.
7.2.0 | object türü desteklenmeye başlandı.
7.1.0 | iterable türü desteklenmeye başlandı.
7.1.0 | void türü desteklenmeye başlandı.
7.1.0 | Null olabilen türler desteklenmeye başlandı.

Temel türlerle ilgili kullanım bilgileri

Temel türler, bu bölümde açıklanan bazı küçük yetersizlikler dışında basit şekilde davranır.

Sayıl türler

Uyarı

Sayıl türler (bool, int, float, string) için takma adlar desteklenmemekte, bunlar bir sınıf veya arayüz adı olarak ele alınmaktadır. Örneğin, tür bildirimi olarak boolean, değerin bool türünden ziyade boolean isimli sınıfın veya arayüzün bir örneği olmasını gerektirir:

<?php
function test(boolean $param) {}
test(true);
?>

Yukarıdaki örneğin PHP 8 çıktısı:

Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/9YrUX on line 2
Fatal error: Uncaught TypeError: test(): Argument #1 ($param) must be of type boolean, bool given, called in - on line 3 and defined in -:2
Stack trace:
#0 -(3): test(true)
#1 {main}
  thrown in - on line 2

void

Bilginize:

void dönüş türünde bir işlevden dönen değere başvuru çelişki sebebiyle PHP 8.1.0 ve sonrasında önerilmemektedir. Evvelce böyle bir çağrı şöyle bir E_NOTICE çıktılıyordu: Only variable references should be returned by reference (Yalnızca değişkene atıflar atıf olarak döndürülebilir).

<?php
function &test(): void {}
?>

Çağrılabilir türler

Bu türler sınıf özelliği türü olarak kullanılamaz.

Bilginize: İşlev bildirimi olarak belirtilemez.

Atıf olarak aktarılan bağımsız değişkenlerde tür bildirimi

Atıf olarak aktarılan bir bağımsız değişkende tür bildirimi yapılmışsa değişkenin türü işlev dönerken değil, yalnızca çağrının başında işlev girdisi olarak sınanır. Yani işlev atıf yapılan değişkenin türünü değiştirebilir.

Örnek 1 - Atıf olarak aktarılan tür bildirimli bağımsız değişkenler

<?php
function array_baz(array &$param)
{
$param = 1;
}
$var = [];
array_baz($var);
var_dump($var);
array_baz($var);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
Fatal error: Uncaught TypeError: array_baz(): Argument #1 ($param) must be of type array, int given, called in - on line 9 and defined in -:2
Stack trace:
#0 -(9): array_baz(1)
#1 {main}
  thrown in - on line 2

Birleşik türlerle ilgili kullanım bilgileri

Birleşik tür bildirimleri ile ilgili birkaç kısıtlama vardır ve basit hataları önlemek için derleme sırasında gereksiz fazlalık denetimi yapılır.

Dikkat

PHP 8.2.0 öncesinde ve DNF türler desteklenmeye başlandığında kesişim türlerini bileşik türlerle birleştirmek mümkün değildi.

Bileşik türler

Uyarı

false ve true türlerini aynı bileşik tür altında bildirmek mümkün değildir.

Dikkat

PHP 8.2.0 öncesinde, false ve null tek başlarına kullanılamadığından yalnızca bu türlerden ibaret bir bileşik türe izin verilmezdi. İzin verilmeyen tür bildirimleri: false, false|null ve ?false.

Null olabilen türde sözdizimsel nane

Temel tür bildirimlerinden yalnızca biri, türün önüne bir soru imi (?) konularak null olabilir olarak imlenebilir. Bu bakımdan ?T ve T|null aynıdır.

Bilginize: Bu sözdizimi PHP 7.1.0 ve sonrasında desteklenmekte olup genelleştirilmiş bileşik tür desteğinden önce desteklenmekteydi.

Bilginize:

null öntanımlı değer yapılarak null olabilir bağımsız değişkenler elde etmek de mümkündür. Bir alt sınıfta öntanımlı değer değiştirilirse, tür bildirimine null türün eklenmesini gerektireceğinden ve dolayısıyla tür uyumluluğunu bozacağından bu önerilmez.

Örnek 2 - Bağımsız değişkenlerin null olabilmesinin eski yolu

<?php
class C {}
function f(C $c = null) {
var_dump($c);
}
f(new C);
f(null);
?>

Yukarıdaki örneğin çıktısı:

object(C)#1 (0) {
}
NULL

Yinelenen ve gereksiz türler

Birleşik tür bildirimlerindeki basit hataları yakalamak için, sınıf yüklemeden algılanabilen gereksiz türler, derleme zamanı hatasına neden olur. Bunlar:

  • Adla çözümlenen her tür bir bildirimde yalnızca bir kez var olabilir. int|string|INT ve Countable&Traversable&COUNTABLE gibi türler hataya neden olur.
  • mixed kullanımı hataya yol açar.
  • Birleşik türler için:
    • bool türün yanına, false veya true eklenemez.
    • object türün yanına, sınıf türleri eklenemez.
    • iterable türün yanına, array ve Traversable eklenemez.
  • Kesişim türleri için:
    • Sınıf türünde olmayan türlerin kullanımı hataya yol açar.
    • self, parent veya static kullanımı hataya yol açar.
  • DNF türleri için:
    • Genel bir türün yanına kısıtlayıcı bir türü eklemek gereksizdir.
    • İki eşdeğer kesişim türü kullanımı.

Bilginize: Bu, türün "en az" olasılığını garanti etmez çünkü bunu yapmak, kullanılan tüm sınıf türlerinin yüklenmesini gerektirir.

Örneğin, A ve B sınıf takma adlarıysa, A or B'ye indirgenebilse bile A|B uygun bir bileşik tür olarak kalır. Benzer şekilde, B extends A {} ise, yalnızca A'ya indirgenebilse bile A|B uygun bir bileşik türdür.

<?php
function foo(): int|INT {} // izin verilmez
function foo(): bool|false {} // izin verilmez
function foo(): int&Traversable {} // izin verilmez
function foo(): self&Traversable {} // izin verilmez
use A as B;
function foo(): A|B {} // izin verilmez ("use" ad çözünürlüğünün parçasıdır)
function foo(): A&B {} // izin verilmez ("use" ad çözünürlüğünün parçasıdır)
class_alias('X', 'Y');
function foo(): X|Y {} // izin verilir (gereksizlik yalnızca çalışma anında saptanabilir)
function foo(): X&Y {} // izin verilir (gereksizlik yalnızca çalışma anında saptanabilir)
?>

Örnekler

Örnek 3 - Temel sınıf türü bildirimi

<?php
class C {}
class D extends C {}
// C'yi genişletmiyor.
class E {}
function f(C $c) {
echo get_class($c)."\n";
}
f(new C);
f(new D);
f(new E);
?>

Yukarıdaki örneğin PHP 8 çıktısı:

C
D
Fatal error: Uncaught TypeError: f(): Argument #1 ($c) must be of type C, E given, called in /in/gLonb on line 14 and defined in /in/gLonb:8
Stack trace:
#0 -(14): f(Object(E))
#1 {main}
  thrown in - on line 8

Örnek 4 - Temel arayüz türü bildirimi

<?php
interface I { public function f(); }
class C implements I { public function f() {} }
// I'yi gerçeklemiyor.
class E {}
function f(I $i) {
echo get_class($i)."\n";
}
f(new C);
f(new E);
?>

Yukarıdaki örneğin PHP 8 çıktısı:

C
Fatal error: Uncaught TypeError: f(): Argument #1 ($i) must be of type I, E given, called in - on line 13 and defined in -:8
Stack trace:
#0 -(13): f(Object(E))
#1 {main}
  thrown in - on line 8

Örnek 5 - Temel dönüş türü bildirimi

<?php
function sum($a, $b): float {
return $a + $b;
}
// dikkat: float dönecek
var_dump(sum(1, 2));
?>

Yukarıdaki örneğin çıktısı:

float(3)

Örnek 6 - Bir nesne döndürmek

<?php
class C {}
function getC(): C {
return new C;
}
var_dump(getC());
?>

Yukarıdaki örneğin çıktısı:

object(C)#1 (0) {
}

Örnek 7 - Null olabilen bağımsız değişken bildirimi

<?php
class C {}
function f(?C $c) {
var_dump($c);
}
f(new C);
f(null);
?>

Yukarıdaki örneğin çıktısı:

object(C)#1 (0) {
}
NULL

Örnek 8 - Null olabilen dönüş türü bildirimi

<?php
function get_item(): ?string {
if (isset($_GET['item'])) {
return $_GET['item'];
} else {
return null;
}
}
?>

Katı kodlama

PHP öntanımlı olarak, yanlış türdeki değerleri mümkün olduğunca beklenen sayıl türe zorlar. Örneğin, bir dizge aktarılması gereken bir bağımsız değişkene tamsayı bir değer aktarılırsa, işlev int değil string türünde bir değişken alır.

Katı kipi her dosya için ayrı ayrı etkinleştirmek mümkündür. Katı kipte, yalnızca tür bildirimine tam olarak karşılık gelen değer kabul edilir, aksi takdirde bir TypeError oluşur. Bu kuralın tek istisnası, float tür bildirimine rağmen int türünde değer aktarmaktır.

Uyarı

Dahili işlevler içinden yapılan işlev çağrıları, strict_types bildiriminden etkilenmez.

Katı kipi etkinleştirmek için, strict_types bildirimi declare deyiminde kullanılır:

Bilginize:

Katı kodlama, katı kodlamanın etkinleştirildiği dosya içindeki işlev tanımlarına değil, işlev çağrılarına uygulanır. Katı kodlama etkin olmayan bir dosyadan, katı kodlamanın etkinleştirildiği dosya içinde tanımlanmış bir işleve çağrı yapılırsa, çağrıyı yapanın tercihine (zorlayıcı kodlama) saygı gösterilecek ve değer zorlanacaktır.

Bilginize:

Katı kodlama yalnızca sayıl tür bildirimleri için tanımlanmıştır.

Örnek 9 - Bağımsız değişken değerlerinde katı kodlama

<?php
declare(strict_types=1);
function sum(int $a, int $b) {
return $a + $b;
}
var_dump(sum(1, 2));
var_dump(sum(1.5, 2.5));
?>

Yukarıdaki örneğin PHP 8 çıktısı:

int(3)
Fatal error: Uncaught TypeError: sum(): Argument #1 ($a) must be of type int, float given, called in - on line 9 and defined in -:4
Stack trace:
#0 -(9): sum(1.5, 2.5)
#1 {main}
  thrown in - on line 4

Örnek 10 - Bağımsız değişken değerlerinde zorlayıcı kodlama

<?php
function sum(int $a, int $b) {
return $a + $b;
}
var_dump(sum(1, 2));
// Değerler tamsayıya zorlanır. Çıktıya dikkat!
var_dump(sum(1.5, 2.5));
?>

Yukarıdaki örneğin çıktısı:

int(3)
int(3)

Örnek 11 - Dönüş değerlerinde katı kodlama

<?php
declare(strict_types=1);
function sum($a, $b): int {
return $a + $b;
}
var_dump(sum(1, 2));
var_dump(sum(1, 2.5));
?>

Yukarıdaki örneğin çıktısı:

int(3)
Fatal error: Uncaught TypeError: sum(): Return value must be of type int, float returned in -:5
Stack trace:
#0 -(9): sum(1, 2.5)
#1 {main}
  thrown in - on line 5

Örnek 12 - Sınıf özellik türü bildirimi

<?php
class User {
public static string $foo = 'foo';

public int $id;
public string $username;

public function __construct(int $id, string $username) {
$this->id = $id;
$this->username = $username;
}
}
?>


Tür Dönüşümü

PHP değişken bildiriminde tür tanımlamayı gerektirmez. Bu durumda değişkenin türü saklanan değere göre saptanır. Yani, string türünde bir değer $var değişkenine atanırsa, $var string türünde bir değişken haline gelir. $var değişkenine bir int değer atanırsa, $var int türünde bir değişken haline gelir.

PHP belli bağlamlarda bir değerin türünü otomatik olarak dönüştürmeyi deneyebilir:

  • Sayısal
  • Dizgesel
  • Mantıksal
  • Tamsayılar ve dizge
  • Karşılaştırmalı
  • İşlevsel

Bilginize: Bir değerin farklı bir türde yorumlanması gerektiğinde değerin kendisinde tür değişikliği yapılmaz.

Bir değişkeni belli bir türde değerlendirilmeye zorlamak için Tür Çarpıtma, bir değişkenin türünü değiştirmek için ise settype() işlevinin açıklamasına bakılabilir.

Sayısal bağlamlar

Aritmetik işleçlerin kullanıldığı bağlamlardır.

Bu bağlamlarda, terimlerden biri float türündeyse her iki terim float olarak ele alınır ve sonuç float türünde olur. Aksi takdirde, terimler int olarak yorumlanır ve sonuç int türünde olur. PHP 8.0.0 ve sonrasında, terimlerden birinin yorumlanamaması TypeError istisnasına yol açabilir.

Dizgesel bağlamlar

echo, print, dizge çözümlemesi veya dizge birleştirme işleci kullanılan bağlamlardır.

Bu bağlamlarda değer string olarak yorumlanır. Değer yorumlanabilir değilse TypeError oluşur.. PHP 7.4.0 öncesinde E_RECOVERABLE_ERROR hatası oluşurdu.

Mantıksal bağlamlar

Üç terimli işleç veya mantıksal işleçlerin kullanıldığı koşullu deyimler içeren bağlamlardır.

Bu bağlamlarda değer bool türünde ele alınır.

Tamsayı ve dizge bağlamlar

Bitsel işleç kullanılan bağlamlardır.

Bu bağlamlarda tüm terimler string türündeyse sonuç da string türünde olur. Aksi takdirde, terimler int türünde yorumlanır ve sonuç da int türünde olur. PHP 8.0.0 ve sonrasında, terimlerden birinin yorumlanamaması TypeError istisnasına yol açabilir.

Kaşılaştırmalı bağlamlar

Karşılaştıma işleçleri kullanılan bağlamlardır.

Bu bağlamlarda görülen tür dönüşümleri Çeşitli Türlerin Karşılaştırılması tablosunda açıklanmıştır.

İşlevsel bağlamlar

Bir değerin belli bir türdeki bir bağımsız değişkene veya özelliğe atandığı veya dönüş türü bildiren bir işlevden döndürüldüğü bağlamlardır.

Bu bağlamlarda değerin bir türü olmalıdır. Bunun iki istisnası vardır. İlk istisna: Değer int türündeyse ve bildirilen tür float ise tamsayı gerçek sayıya dönüştürülür. İkinci istisna: Bildirim türü sayıl türlerden biriyse değer bir sayıl türe dönüştürülebilir, zorlayıcı tür kipi etkinse (öntanımlıdır), değer uygun bir sayıl türe dönüştürülebilir. Bu davranışın açıklaması aşağıda bulunabilir.

Uyarı

Dahili işlevler sayıl türleri otomatik olarak null'a dönüşmeye zorlar; bu davranışın PHP 8.1.0 itibariyle KULLANIMI ÖNERİLMEMEKTEDİR.

Basit tür bildirimli zorlayıcı tür kipi

  • bool türünde bildirim: değer bool türünde değerlendirilir.
  • int türünde bildirim: dönüşüm olması gerektiği gibi ise değer int türünde değerlendirilir. Örnek: Sayısal dizgeler.
  • float türünde bildirim: dönüşüm olması gerektiği gibi ise değer float türünde değerlendirilir. Örnek: Sayısal dizgeler.
  • string türünde bildirim: değer string türünde değerlendirilir.

Birleşim türleriyle zorlanmış tür dönüşümü

strict_types etkin olduğunda sayıl tür bildirimlerine örtük olarak sınırlı tür zorlamaları uygulanır. Değerin asıl türü birleşimin (union) parçası değilse hedef tür aşağıdaki öncelik sırasına göre belirlenir:

  1. int
  2. float
  3. string
  4. bool
Tür hem birleşimde hem de değerde mevcutsa, PHP'nin mevcut tür sınama anlamlandırmasına uygun olarak değerin türü zorlanarak tür seçilir, değilse birleşimin sonraki türü denenir.

Dikkat

Bir istisna olarak, değer bir dizgeyse ve hem int hem de float birleşime dahilse tercihli tür mevcut "sayısal dizge" anlamlandırmasına göre belirlenir. Örneğin, "42" değeri için int seçilirken, "42.0" değeri için float seçilir.

Bilginize:

Yukarıdaki tercih listesine dahil olmayan türler örtük zorlama için seçilebilir hedefler değildir. Özellikle, null, false ve true değerlere hiçbir örtük zorlama uygulanmaz.

Örnek 1 - Birleşimin türlerinden birine zorlama örneği

<?php
// int|string
42 --> 42 // kesin tür
"42" --> "42" // kesin tür
new ObjectWithToString --> "__toString() sonucu"
// nesne int ile uyumsuz, son çare: string
42.0 --> 42 // float ile int uyumlu
42.1 --> 42 // float ile int uyumlu
1e100 --> "1.0E+100" // float; int için çok büyük, son çare: string
INF --> "INF" // float; int için çok büyük, son çare: string
true --> 1 // bool ile int uyumlu
[] --> TypeError // array ile int veya string uyumlu değil

// int|float|bool
"45" --> 45 // int sayısal dizge
"45.0" --> 45.0 // float sayısal dizge

"45X" --> true // sayısal dizge değil, son çare: bool
"" --> false // sayısal dizge değil, son çare: bool
"X" --> true // sayısal dizge değil, son çare: bool
[] --> TypeError // array ile int, float veya bool uyumlu değil
?>

Tür Çarpıtma

İstenen türün ismi yaylı ayraçlar arasında türü çarpıtılacak değişkenin önüne yazılır.

<?php
$foo = 10; // $foo bir tamsayıdır
$bar = (bool) $foo; // $bar mantıksal türdedir
?>

İzin verilen çarpıtmalar:

  • (int) - int türüne dönüşüm
  • (bool) - bool türüne dönüşüm
  • (float) - float türüne dönüşüm
  • (string) - string türüne dönüşüm
  • (array) - array türüne dönüşüm
  • (object) - object türüne dönüşüm
  • (unset) - NULL'a dönüşüm

Bilginize:

(integer) çarpıtması (int) için takma addır. (boolean) çarpıtması (bool) için takma addır. (binary) çarpıtması (string) için takma addır. (double) ve (real) çarpıtması (float) için takma addır. Meşru tür isimleri kullanılmayan bu çarpıtmaların kullanımı önerilmemektedir.

Uyarı

PHP 8.0.0 ve sonrasında (real) dönüşüm takma adının kullanımı önerilmemektedir.

Uyarı

(unset) çarpıtması PHP 7.2.0 ve sonrasında önerilmemektedir. (unset) çarpıtması değişken veya çağrıya NULL değer atanmasıyla aynıdır. (unset) çarpıtması PHP 8.0.0 sürümünde kaldırılmıştır.

Dikkat

(binary) çarpıtması ve b öneki ileriye dönük desteklenmektedir. Halen (binary) çarpıtması (string) ile aynı olsa da buna güvenilmemelidir.

Bilginize:

Çarpıtmada yaylı ayraçların içinde sekmelere ve boşluklara izin verildiğinden aşağıdaki iki deyim eşdeğerdir:

<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>

Normal dizgelerin ikil dizgelere dönüştürülmesi:

<?php
$binary = (binary) $string;
$binary = b"ikil dizge";
?>

Bilginize: Bir değişkenin türünü string türüne çarpıtmak yerine değişkeni çift tırnak içine almak aynı sonucu sağlar:

<?php
$foo = 10; // $foo integer türündedir
$str = "$foo"; // $str string türündedir
$fst = (string) $foo; // $fst de string türündedir

// "bunlar aynı" basar
if ($fst === $str) {
echo "bunlar aynı";
}
?>

Belli türler arasında çarpıtma yapılırken tam olarak ne olup bittiği açıkça belli olmayabilir. Daha fazla bilgi için şu bölümlere bakınız:

  • bool türüne dönüşüm
  • integer türüne dönüşüm
  • float türüne dönüşüm
  • string türüne dönüşüm
  • array türüne dönüşüm
  • object türüne dönüşüm
  • resource türüne dönüşüm
  • NULL'a dönüşüm
  • Tür karşılaştırma tabloları

Bilginize: PHP dizgelerde dizge içi konumlar üzerinden dizilerdeki gibi indislemeyi desteklemektedir. Aşağıdaki örnekler tüm PHP sürümlerinde çalışır:

<?php
$a = 'car'; // $a bir dizgedir
$a[0] = 'b'; // $a hala bir dizgedir
echo $a; // bar
?>
Daha ayrıntılı bilgi için bkz: Karakter Karakter Dizgeye Erişim.


Değişkenler

İçindekiler

  • Temeller
  • Öntanımlı Değişkenler
  • Değişken etki alanı
  • Değişken değişkenler
  • Dış Kaynaklı Değişkenler


Temeller

PHP'de değişkenler dolar işaretini takip eden bir değişken adı ile gösterilir. Değişken adı büyük-küçük harf duyarlıdır.

Değişken isimleri PHP'deki diğer yaftalarla aynı kurallara tabidir. Geçerli bir değişken ismi bir harf veya alt çizgi imi ile başlar, herhangi sayıda harf, sayı veya alt çizgi iminden oluşur. Düzenli ifade olarak, şu şekilde ifade edilebilir: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

Bilginize: Burada kastedilen harf a-z veya A-Z arasındaki ASCII harfler ve 128 ile 255 (0x80-0xff) arasındaki baytlardır.

Bilginize: $this atama yapılamayan özel bir değişkendir. PHP 7.1.0'dan önce dolaylı atama (örn. değişken değişkenler kullanılarak) mümkündü.

İpucu

Ayrıca Kullanıcı Alanı İsimlendirme Kılavuzu belgesine de bakılabilir.

Değişkenlerle ilgili işlevler hakkında bilgi için, Değişkenlerle ilgili işlevler belgesine bakınız.

<?php
$var = 'Kemal';
$Var = 'gel';
echo "$var, $Var"; // "Kemal, gel" yazdırır

$4site = 'dene bakalım'; // geçersiz; sayı ile başlar
$_4site = 'dene bakalım'; // geçerli; alt çizgi ile başlar
$diğer = 'gerekirse diye'; // geçerli; ISO-8859-9'da 'ğ' harfi 127-255
// arasında, UTF-8'de ise iki baytı 127-255
// arasındadır.
?>

Öntanımlı olarak, değişkenler her zaman değerleriyle atanır. Başka bir deyişle, bir değişkene bir ifade atandığında özgün ifade bütün değeriyle hedef değişkene kopyalanır. Bu demektir ki, örneğin, bir değişkenin değerini başka bir değişkene atadıktan sonra, değişkenlerden birisinin değerini değiştirmenin diğeri üzerinde etkisi olmayacaktır. Bu çeşit atama hakkında daha fazla bilgi için, İfadeler bölümüne bakınız.

PHP değişkenlere değer atamak için başka bir yol daha sunar: Gönderimli atama. Yani, yeni değişken sadece asıl değişkene gönderim yapar (diğer bir deyişle, "onun takma adı olur" veya "onu gösterir") Gönderim yapılan değişkendeki değişiklikler aslını da etkiler, tersi de geçerlidir.

Gönderimli atama için, gönderim yapılacak (daha önce değer atanmış) değişkenin başına ve imi (&) ekleyin. Örneğin, aşağıdaki kod parçası iki kez 'Benim adım Mustafa' yazar:

<?php
$foo = 'Mustafa'; // 'Mustafa' değerini $foo değişkenine ata
$bar = &$foo; // $foo değişkenini $bar değişkenine gönderimli ata
$bar = "Benim adım $bar"; // $bar değişkenini değiştir ...
echo $bar;
echo $foo; // $foo değişkeninin değeri de değişti.
?>

Dikkat edilmesi gereken önemli bir şey de sadece isimli değişkenlerin gönderimle atanabileceğidir.

<?php
$foo = 25;
$bar = &$foo; // Bu geçerli bir atamadır.
$bar = &(24 * 7); // Geçersiz; isimlendirilmemiş bir ifadeye gönderim yapıyor

function test()
{
return 25;
}

$bar = &test(); // Geçersiz.
?>

PHP'de değişkenleri ilklendirmek gerekmez ancak baştan bir değer atamak oldukça iyi bir alışkanlıktır. İlklendirilmeyen değişkenlerin kullanıldıkları bağlamda türlerine bağlı olarak öntanımlı değerleri vardır; öntanımlı değer boolean için false, integer ve float için sıfır, string için boş metin (örnekte echo da kullanıldı), array için ise boş bir dizidir.

Örnek 1 - İlklendirilmemiş değişkenlerin öntanımlı değerleri

<?php
// Herhangi bir bağlamda tanımlanmamış veya
// gönderim yapılmamış değişken; NULL sonuç verir.
var_dump($tanımsız_değişken);

// Mantıksal değer kullanımı; 'false' çıktısı verir
// (Bu sözdizimi için üç terimli işlecine bakınız)
echo $tanımsız_mantıksallık ? "true\n" : "false\n";

// Dizge kullanımı; çıktısı: 'string(3) "abc"'
$tanımsız_metin .= 'abc';
var_dump($tanımsız_metin);

// Tamsayı kullanımı; 'int(25)' çıktılar.
$tanımsız_tamsayı += 25; // 0 + 25 => 25
var_dump($tanımsız_tamsayı);

// Gerçek sayı kullanımı; 'float(1.25)' çıktılar.
$tanımsız_sayı += 1.25;
var_dump($tanımsız_sayı);

// Dizi kullanımı; çıktısı: array(1) { [3]=> string(3) "def" }
$tanımsız_dizi[3] = "def"; // array() + array(3 => "def") => array(3 => "def")
var_dump($tanımsız_dizi);

// Nesne kullanımı; yeni stdClass nesnesi oluşturur
// (Öntanımlı sınıflar belgesine bakınız:
// http://www.php.net/manual/tr/reserved.classes.php)
// Çıktısı: object(stdClass)#1 (1) { ["foo"]=> string(3) "bar" }
$tanımsız_nesne->foo = 'bar';
var_dump($tanımsız_nesne);
?>

İlklendirilmemiş bir değişkenin öntanımlı değerine güvenmek, içinde aynı değişken isminin kullanıldığı bir dosyayı betiğe dahil ettiğinizde sorun çıkarır. İlklendirilmemiş değişken kullanımı E_WARNING (PHP 8.0.0 öncesinde, E_NOTICE) seviyesinde hata oluşturur, ancak ilklendirilmemiş bir diziye eleman eklenmesi halinde hata oluşmaz. isset() dil oluşumu bir değişkenin ilklendirilip ilklendirilmediğini öğrenmek için kullanılabilir.


Öntanımlı Değişkenler

PHP çalıştırdığı herhangi bir betiğe çok sayıda önceden tanımlı değişken sağlar. Ancak, bu değişkenlerin çoğu hangi sunucunun çalıştığına, sunucunun sürümüne ve kurulumuna ve başka bir çok şeye bağlı olduğu için tam olarak belgelendirilememektedir. Bu değişkenlerden bazıları PHP komut satırından çalıştığında mevcut olmayacaktır. Ayrıntılar için, öntanımlı değişkenler listesine bakınız.

PHP, ayrıca, ortam değişkenleri ve kullanıcı girdi değişkenleri ile HTTP sunucusundaki değişkenleri (eğer uygulanabiliyorsa) içeren bir takım önceden tanımlı diziler sağlamaktadır. Bu diziler özel olmaktan ziyade otomatik olarak küreseldir, yani, otomatik olarak her etki alanında bulunurlar. Bu nedenle, "Süper küreseller" olarak bilinirler. (PHP'de kullanıcı-tanımlı süper küreseller için bir mekanizma yoktur.) Ayrıntılar için bkz, list of süper küresellerin listesi.

Bilginize: Değişken değişkenler

İşlevler veya sınıf yöntemleri içinde süper küreseller değişken değişkenleri olarak kullanılamazlar.

Eğer variables_order yönergesine uygun değişkenler atanmamışsa, ilgili oldukları PHP önceden tanımlı dizileri de boş bırakılır.


Değişken etki alanı

Bir değişkenin etki alanı içinde tanımlandığı bağlamdır. Hemen her PHP değişkeninin sadece tek bir etki alanı vardır. Bu tek etki alanı betiğe include ve require ile dahil edilen dosyalara da uzanır. Örneğin:

<?php
$a = 1;
include 'b.inc';
?>

Burada $a değişkeni içerilen b.inc betiğinin içinde mevcut olacaktır. Fakat, kullanıcı tanımlı işlevlerin etki alanı işleve özeldir. Yani, bir işlev içinde kullanılan herhangi bir değişkenin etki alanı öntanımlı olarak işlevin yerel etki alanı ile sınırlıdır. Örneğin:

<?php
$a = 1; /* küresel etki alanı */

function deneme()
{
echo $a; /* işlevin etki alanı */
}

deneme();
?>

Bu betik tanı iletisi olarak E_WARNING (PHP 8.0.0 öncesinde E_NOTICE) üretir. display_errors INI yönergesi tanı iletilerini gizlemek üzere atanırsa bu betik herhangi bir çıktı üretmeyecektir, çünkü echo ifadesi $a değişkeninin yerel sürümüne atıf yapmakta olup bu etki alanı içinde değişkene bir değer atanmamıştır. Bunun C dilinden bir miktar farklı olduğuna dikkat edilmelidir, C dilinde küresel değişkenler, özellikle yerel bir tanımla geçersiz kılınmadıkları sürece, işlevler tarafından otomatik olarak erişilebilir olacaktır. Bu bazı sorunlara yol açabilir, öyle ki birileri dikkatsizlikle küresel değişkeni değiştirebilir. PHP'de küresel değişkenler eğer bir işlev içinde kullanılacaksa, o işlev içinde global sözcüğü ile bildirilmeleri gerekir.

global anahtar sözcüğü

İlk olarak, global kullanımına bir örnek verelim:

Örnek 1 - global kullanımı

<?php
$a = 1;
$b = 2;

function topla()
{
global $a, $b;

$b = $a + $b;
}

topla();
echo $b;
?>

Yukarıdaki betik 3 çıktısı verecektir. $a ve $b işlev içinde küresel tanımlanarak, her iki değişkene yapılan bütün atıflar küresel sürüme yapılmış olacaktır. Bir işlev tarafından işlenebilecek küresel değişken sayısında bir sınır yoktur.

Küresel etki alanındaki değişkenlere erişimin ikinci yolu PHP tarafından tanımlanmış özel $GLOBALS dizisini kullanmaktır. Önceki örnek şu şekilde yazılabilir:

Örnek 2 - global yerine $GLOBALS kullanımı

<?php
$a = 1;
$b = 2;

function topla()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

topla();
echo $b;
?>

$GLOBALS dizisi, anahtarı küresel değişkenin ismi, elemanının değeri değişkenin içeriği olan bir ilişkisel dizidir. $GLOBALS dizisinin her etki alanında mevcut oluşuna dikkat edin, bunun sebebi$GLOBALS dizisinin bir süper küresel olmasıdır. Süper küresellerin gücünü gösteren bir örnek aşağıda verilmiştir:

Örnek 3 - Süper küreselleri ve etki alanlarını gösteren örnek

<?php
function test_superglobal()
{
echo $_POST['isim'];
}
?>

Bilginize:

Eğer içerildiği dosya bir işlevin içinde içerilmişse global anahtar sözcüğünün işlevlerin dışında kullanımı bir hataya yol açmaz.

Statik değişkenlerin kullanımı

Değişken etki alanı ile ilgili önemli özelliklerden biri statik değişkenlerdir. Bir statik bir değişken sadece işlevin etki alanında geçerli olup, programın çalışması bu etki alanını terkettiği zaman değerini kaybetmez. Aşağıdaki örneğı ele alalım:

Örnek 4 - Statik değişkenlere ihtiyacı gösteren örnek

<?php
function dene()
{
$a = 0;
echo $a;
$a++;
}
?>

Bu işlev her çağrıldığında $a'yı 0 yapar ve 0 yazdırır, bu nedenle oldukça kullanışsızdır. Değişkeni artıran $a++ bir işe yaramaz çünkü işlev çıktığı gibi $a değişkeni kaybolur. Kaldığı değeri kaybetmeyecek kullanışlı bir sayaç işlevi yapması için $a değişkeni aşağıda static olarak bildirilmiştir.

Örnek 5 - Statik değişkenlerin kullanım örneği

<?php
function dene()
{
static $a = 0;
echo $a;
$a++;
}
?>

Artık, $a değişkeni sadece dene() işlevinin ilk çağrılışında ilklendirilecek ve işlevin her çağrılışında $a değişkeninin değerini bastıktan sonra değerini bir artıracaktır.

Statik değişkenler aynı zamanda kendini çağıran işlevlerle çalışmak için de bir yol sunar. Kendini çağıran (recursive) işlev kendi kendini çağırır. Böyle bir işlev dikkatli yazılmazsa sonsuza kadar kendi kendini çağırır. Kendini çağırmayı bir noktada sonlandıracak uygun bir yönteminiz olmalıdır. Aşağıdaki basit işlev, kendini çağırmayı nerede durduracağını bilerek 10'a kadar sayar:

Örnek 6 - Kendini çağıran işlevlerle statik değişkenler

<?php
function say()
{
static $sayaç = 0;

$sayaç++;
echo "$sayaç\n";
if ($sayaç < 10) {
say();
}
$sayaç--;
}
say();
?>

Statik değişkenlere sabit ifadelerin sonucu olan değerler atanabilir, ancak işlev çağrıları gibi dinamik ifadeler bir ayrıştırma hatasına sebep olur.

Örnek 7 - Statik değişkenlerin bildirimi

<?php
function foo(){
static $int = 0; // doğru
static $int = 1+2; // doğru
static $int = sqrt(121); // yanlış (bir işlevle atandığı için)

$int++;
echo $int;
}
?>

PHP 8.1.0 ve sonrasında, statik değişken kullanan bir yöntem miras alındığında (geçersiz kılınmamak şartıyla), statik değişkenlerini ebeveyn yöntemle paylaşmaktadır. Yani, yöntemlerdeki statik değişkenler artık birer statik özellik gibi davranmaktadır.

Örnek 8 - Miras alınan yöntemlerde statik değişken kullanımı

<?php
class Foo {
public static function counter() {
static $counter = 0;
$counter++;
return $counter;
}
}
class Bar extends Foo {}
var_dump(Foo::counter()); // int(1)
var_dump(Foo::counter()); // int(2)
var_dump(Bar::counter()); // int(3), PHP 8.1.0 öncesi int(1)
var_dump(Bar::counter()); // int(4), PHP 8.1.0 öncesi int(2)
?>

Bilginize:

Statik bildirimler derleme sırasında çözümlenir.

global ve static değişkenlere gönderim

static ve global değişken niteleyicileri gönderim olarak gerçeklenmiştir. Örneğin, global deyimi ile bir işlevin etki alanında geçerli kılınan bir küresel değişken aslında kendine bir gönderim oluşturur. Bu durum aşağıdaki örnekte de görüldüğü gibi beklenmedik davranışlara yol açabilir:

<?php
function gönderimli_küresel_dene() {
global $nesne;
$yeni = new stdClass;
$nesne = &$yeni;
}

function gönderimsiz_küresel_dene() {
global $nesne;
$yeni = new stdClass;
$nesne = $yeni;
}

gönderimli_küresel_dene();
var_dump($nesne);
gönderimsiz_küresel_dene();
var_dump($nesne);
?>

Yukarıdaki örneğin çıktısı:

NULL
object(stdClass)#1 (0) {
}

Aynı davranış static deyimine de uyar. Gönderimler statik olarak saklanmazlar:

<?php
function &gönderimli_örnek() {
static $obj;

echo 'Statik nesne: ';
var_dump($obj);
if (!isset($obj)) {
$new = new stdClass;
// Statik değişkene gönderim atayalım
$obj = &$new;
}
if (!isset($obj->property)) {
$obj->property = 1;
} else {
$obj->property++;
}
return $obj;
}

function &gönderimsiz_örnek() {
static $obj;

echo 'Statik nesne: ';
var_dump($obj);
if (!isset($obj)) {
// Statik değişkene nesne atayalım
$obj = new stdClass;
}
$obj->property++;
return $obj;
}

$nesne1 = gönderimli_örnek();
$bu_da_nesne1 = gönderimli_örnek();
echo "\n";
$nesne2 = gönderimsiz_örnek();
$bu_da_nesne2 = gönderimsiz_örnek();
?>

Yukarıdaki örneğin çıktısı:

Statik nesne: NULL
Statik nesne: NULL

Statik nesne: NULL
Statik nesne: object(stdClass)#3 (1) {
  ["property"]=>
  int(1)
}

Bu örnek, bir statik değişkene gönderimli atama yapılması halinde, &gönderimli_örnek() işlevi ikinci kez çağrıldığında değişkene atanan değerin saklanmadığını gösterir.


Değişken değişkenler

Bazen değişken değişken isimlerine sahip olabilmek kullanışlı olur. Bu, dinamik olarak belirtilebilen ve kullanılabilen bir değişken ismidir. Normal bir değişken şöyle bir deyimle atanır:

<?php
$a = 'merhaba';
?>

Bir değişken değişken bir değişkenin değerini alır ve bir değişkenin ismi gibi davranır. Yukarıdaki örnekteki, merhaba, iki tane dolar imi ile bir değişken ismi olarak kullanlabilir

<?php
$$a = 'dünya';
?>

Bu noktada PHP sembol ağacında iki değişken tanımlanmış ve saklanmış olur: $a "merhaba" içerirken $merhaba ise "dünya" içerir. Bu nedenle, aşağıdaki iki örnek aynı sonucu üretir:

<?php
echo "$a {$$a}";
?>
<?php
echo "$a $merhaba";
?>

Her ikisi de 'merhaba dünya' üretir.

Değişken değişkenleri dizilerle kullanmak için, bir anlam karmaşası sorununu çözümlemeniz gerekir. $$a[1] yazdığınızda değişken olarak $a[1]'i mi kastettiğiniz, yoksa $$a'nın değişken olmasını isteyip [1] ile o değişkenin indisini mi kastettiğinizi çözümleyicinin bilmesi gerekir. Bu anlam karmaşasını çözümleyen söz dizimi, birinci durum için ${$a[1]} ve ikinci için ${$a}[1]'dir.

Sınıf özelliklerine değişken özellik isimlerinden de erişilebilir. Değişken özellik ismi çağrının yapıldığı etki alanı içinde çözümlenir. Örneğin, $foo->$zam gibi bir değişkeniniz olsun; burada $zam'ın etki alanı incelenir ve $foo özelliğinin ismi olarak kullanılır. $zam, bir diziye erişim için kullanılıyorsa yine aynı durum geçerlidir.

Kaşlı ayraçlar, özellik ismini açıkça sınırlamak için de kullanılabilir. Bir dizi içinde bulunan bir özelliğin değerlerine erişmek için ya da özellik ismi başka türlü geçerli olmayan karakterler (örn, json_decode() veya SimpleXML ile üretilmiş) içeriyorsa çok kullanışlıdır.

Örnek 1 - Değişken özellik örneği

<?php
class foo {
var $bar = 'I am bar.';
var $arr = array('I am A.', 'I am B.', 'I am C.');
var $r = 'I am r.';
}

$foo = new foo();
$bar = 'bar';
$baz = array('foo', 'bar', 'baz', 'quux');
echo $foo->$bar . "\n";
echo $foo->{$baz[1]} . "\n";

$start = 'b';
$end = 'ar';
echo $foo->{$start . $end} . "\n";

$arr = 'arr';
echo $foo->{$arr[1]} . "\n";

?>

Yukarıdaki örneğin çıktısı:

I am bar.
I am bar.
I am bar.
I am r.

Uyarı

Değişken değişkenlerin işlev ve sınıf yöntemleri içinde PHP'nin Süper küresel dizileri ile kullanılamayacağını unutmayınız. $this değişkeni de dinamik olarak gönderimli olamayan özel bir değişkendir.


Dış Kaynaklı Değişkenler

HTML Formları (GET ve POST)

Bir PHP betiğine bir form gönderildiğinde o formdaki bilgi betik tarafından otomatik olarak kullanılır. Bu bilgiye erişmek için birçok yol vardır, örneğin:

Örnek 1 - Basit bir HTML formu

<form action="foo.php" method="post">
Name: <input type="text" name="kullanici_adi" /><br />
Email: <input type="text" name="eposta" /><br />
<input type="submit" name="submit" value="Beni gönder!" />
</form>

HTML formlarınızdaki bilgiye erişimin iki yolu vardır. Şu an için kullanılabilen yöntemler aşağıda sıralanmıştır:

Örnek 2 - Basit bir POST HTML formundan bilgiye erişim

<?php

echo $_POST['kullanici_adi'];
echo $_REQUEST['kullanici_adi'];
?>

Bunun yerine önceden tanımlı uygun bir GET değişkeni kullanmak dışında, GET formunun kullanımı aynıdır. GET ayrıca QUERY_STRING (Bir URL'de '?' iminden sonraki bilgi) sorgu dizgesine de uygulanır. Bu bakımdan örneğin, http://mesela.dom/dnm.php?id=3 $_GET['id'] ile erişilebilen GET verisini içerir. Ayrıca, $_REQUEST değişkenine de bakınız.

Bilginize:

Değişken isimlerindeki noktalar ve boşluklar altçizgi karakterine dönüştürülür. Örneğin, <input name="a.b" /> ifadesi $_REQUEST["a_b"] haline gelir.

PHP form değişkenleri bağlamında dizileri de anlar (ilgili SSS'ye bakınız). Örneğin, ilgili değişkenleri birlikte gruplayabilir veya bu özelliği çoklu seçim girdisinden değerleri almak için kullanabilirsiniz. Örneğin, bir formu kendine gönderelim ve gönderilen veriyi gösterelim:

Örnek 3 - Daha karmaşık form değişkenleri

<?php
if ($_POST) {
echo '<pre>';
echo htmlspecialchars(print_r($_POST, true));
echo '</pre>';
}
?>
<form action="" method="post">
Adı: <input type="text" name="personal[isim]" /><br />
Eposta: <input type="text" name="personal[eposta]" /><br />
Bira: <br />
<select multiple name="bira[]">
<option value="efes">Efes</option>
<option value="tuborg">Tuborg</option>
<option value="venus">Venüs</option>
</select><br />
<input type="submit" value="Gönder!" />
</form>

Bilginize: Harici değişken ismi geçerli bir dizi sözdizimi ile başlıyorsa sondaki karakterler sessizce yoksayılır. Örneğin, <input name="foo[bar]baz"> girdisi $_REQUEST['foo'] ['bar'] haline gelir.

Gönder düğmesi değişken isimleri

Bir formu gönderirken, şöyle bir etiketle standart gönder düğmesi yerine görüntü kullanılabilir:

<input type="image" src="image.gif" name="sub" />

Kullanıcı görüntü üzerinde bir yere tıkladığında, eşlik eden form iki ek değişkenle sunucuya iletilmiş olur: sub_x ve sub_y. Bunlar kullanıcın görüntü üzerinde tıkladığı noktanın koordinatlarını içerir. Deneyimliler tarayıcı tarafından gönderilen asıl değişken isimlerinin alt çizgi yerine nokta içerdiğine dikkat etmiş olabilirler, fakat PHP noktaları otomatik olarak alt çizgiye çevirir.

HTTP Çerezleri

PHP, » RFC 6265'de tanımlandığı gibi HTTP çerezlerini şeffaf olarak destekler. Çerezler kullanıcıları izleyip tanımlamak amacıyla kullanıcının tarayıcısında veri saklamak için kullanılan bir yöntemdir. Çerezleri setcookie() işlevini kullanarak belirtebilirsiniz. Çerezler HTTP başlığının bir parçasıdır, bu nedenle setcookie() işlevi tarayıcıya herhangi bir çıktı gönderilmeden önce çağrılmak zorundadır. Bu kısıtlama header() işlevi için de geçerlidir. Çerez verisi $_COOKIE veya $_REQUEST gibi uygun çerez veri dizisinde bulunur. Ayrıntılar ve örnekler için setcookie() kılavuz sayfasına bakınız.

Bilginize: Sırasıyla PHP 7.2.34, 7.3.23 ve 7.4.11'den itibaren, gelen çerezlerin isimleri güvenlik kaygıları nedeniyle artık url-kodlu değildir.

Eğer tek bir çerez değişkenine birden fazla değer atamak isterseniz, değişkeni bir dizi olarak atayabilirsiniz. Örneğin:

<?php
setcookie("Cerezim[foo]", 'Deneme 1', time()+3600);
setcookie("Cerezim[bar]", 'Deneme 2', time()+3600);
?>

Her ne kadar betiğinizde Cerezim tek bir dizi olsa da bu iki ayrı çerez oluşturacaktır. Eğer birden fazla değere sahip tek bir çerez atamak isterseniz, önce değer üzerinde serialize() veya explode() kullanmayı düşünün.

Yolu veya alan adı farklı olmadığı sürece aynı isimdeki bir çerez önceki çerezin üzerine yazılır. Böylece, isterseniz örneğin bir alışveriş sepeti uygulaması için bir sayaç tutabilir ve bunu karşıya aktarabilirsiniz.

Örnek 4 - setcookie() örneği

<?php
if (isset($_COOKIE['sayac'])) {
$sayac = $_COOKIE['sayac'] + 1;
} else {
$sayac = 1;
}
setcookie('sayac', $sayac, time()+3600);
setcookie("Sepet[$sayac]", $mal, time()+3600);
?>

Gelen değişken isimleri içindeki noktalar

Genellikle, PHP bir betiğe aktarılan değişken isimlerini değiştirmez. Fakat, nokta iminin PHP'de değişken isimlerinde geçerli bir karakter olmadığına dikkat edilmelidir. Örnek:

<?php
$varname.ext; /* geçersiz değişken ismi */
?>
Burada, yazım denetleyicinin gördüğü $varname isimli bir değişkeni takip eden bir dizge birleştirme işlemi ve çıplak bir (tırnaklarla çevrilmemiş, herhangi bir anahtar veya anahtar sözcük ile eşleşmeyen dizge) 'ext' metnidir. Açıkça görülüyor ki, bu istenen sonucu vermemektedir.

Bu nedenle, PHP'nin gelen değişken isimlerindeki nokta imlerini alt çizgi imi ile değiştirdiğini bilmekte yarar vardır.

Değişken türlerini belirlemek

Değişken türlerini PHP belirlediği ve (genellikle) gerektiği gibi değiştirdiği için, verilen bir değişkenin herhangi bir anda hangi türde olduğu sorgulanmadan bilinemez. PHP'de bir değişkenin hangi türde olduğunu bulan birçok işlev vardır. Örnek: gettype(), is_array(), is_float(), is_int(), is_object() ve is_string(). Ayrıca Türler bölümüne de bakınız.

Bir metin protokolü olarak HTTP'de, çoğunlukla, tamamen olmasa da, Süper küresel diziler içinde gelen içerik dizge olarak kalır. PHP değerleri belli bir türe dönüştürmeyi denemez. Aşağıdaki örnekte, $_GET["var1"] değişkeni "null" ve $_GET["var2"]ise "123" dizgesini içerecektir.

/index.php?var1=null&var2=123

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.34, 7.3.23, 7.4.11 | Gelen çerezlerin isimleri güvenlik kaygıları nedeniyle artık url-kodlu değildir.


Sabitler

İçindekiler

  • Söz dizimi
  • Öntanımlı Sabitler
  • Sihirli Sabitler

Bir sabit basit bir değerin betimleyicisidir (ismidir). İsminden de anlaşılacağı gibi, betiğin çalışması sırasında bu değer değiştirilemez (aslında birer sabit olmayan sihirli sabitler hariç). Sabitler harf büyüklüğüne duyarlıdır. Geleneksel olarak, sabit isimleri daima büyük harfle yazılır.

Bilginize:

PHP 8.0.0'dan önce, define() işlevi kullanılarak tanımlanan sabitler harf büyüklüğüne duyarsız olabilir.

Bir sabite verilen isim PHP'de varolan diğer tüm isimlerle aynı kurallara tabidir. Geçerli bir sabit ismi bir harfle ya da alt çizgi imi ile başlar, herhangi bir sayıda harf, rakam ya da alt çizgi ile devam eder. Bir sabit ismi düzenli ifade olarak, şu şekilde ifade edilebilir: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$

Geçersiz ismleri ve PHP kullanımına ayrılmış isimleri define() işlevi ile tanımlamak mümkünse de bunların değeri sadece constant() işlevi ile elde edilebilir. Ancak, bu tavsiye edilmez.

İpucu

Ayrıca Kullanıcı Alanı İsimlendirme Kılavuzu belgesine de bakılabilir.

Örnek 1 - Geçerli ve geçersiz sabit isimleri

<?php

// Geçerli sabit isimleri
define("FOO", "bir şey");
define("FOO2", "başka bir şey");
define("FOO_BAR", "daha başka bir şey");

// Geçersiz sabit isimleri
define("2FOO", "bir şey");

// Bu geçerli olmasına rağmen kullanmaktan kaçınılmalıdır.
// PHP bir gün betiğinizin çalışmasını bozacak bir sihirli
// sabit kullanmaya karar verebilir.
define("__FOO__", "bir şey");

?>

Bilginize: Burada bir harften söz ettiğimiz zaman, ASCII a-Z, A-Z ve karakter kodu 128-255 (0x80-0xff) arasındaki bir karakterden bahsetmiş oluyoruz.

Süper küresellerde olduğu gibi, sabitlerin etki alanı da küreseldir. Sabitlere etki alanı dikkate alınmaksızın bir komut dosyasının herhangi bir yerinden erişilebilir."Etki alanı" hakkında daha ayrıntılı bilgi edinmek için Değişken Etki Alanı bölümünü okuyunuz.

Bilginize: PHP 7.4.0'dan itibaren, bir sınıf sabitinin görünürlüğü protected veya private olarak bildirebilir, bu da onları yalnızca tanımlandığı sınıfın hiyerarşik etki alanında kullanılabilir hale getirir.


Söz dizimi

Bir sabit define() işlevi veya const anahtar sözcüğü kullanılarak tanımlanabilir. define() bir sabitin rastgele bir ifadede tanımlanmasına izin verir. const anahtar sözcüğünün ise aşağıdaki paragrafta açıklanan bazı kısıtlamaları vardır. Bir sabit tanımlandıktan sonra asla değiştirilemez ve tanımsız yapılamaz.

const anahtar sözcüğü kullanılırken, yalnızca sayıl (bool, int, float ve string) ifadeler ve yalnızca sayıl ifadeler içeren sabit dizileri kabul edilir. Sabitleri resource olarak tanımlamak mümkünse de, umulmadık sonuçlara yol açabileceğinden bundan kaçınılmalıdır.

Bir sabitin değerine basitçe ismi belirtilerek erişilebilir. Değişkenlerin aksine, sabitlerin önüne $ imi eklemeMEniz gerekir. Bir sabitin ismi dinamik olarak belirtiliyorsa, sabitin değerini okumak için constant() işlevini kullanmak mümkündür. Tanımlanmış sabitlerin tamamının bir listesini almak için, get_defined_constants() işlevini kullanabilirsiniz.

Bilginize: Sabitlerin ve (genel) değişkenlerin isim alanları farklıdır. Bu, örneğin true ile $TRUE değerlerinin farklı olabilecekleri anlamına gelir.

Tanımlanmamış bir sabit kullanırsanız, bir Error yavrulanır. PHP 8.0.0 öncesinde, tanımsız sabitler çıplak bir kelime dizesi olarak yorumlanır (SABIT yerine "SABIT" gibi). PHP 7.2.0 ve sonrasında bu kullanım önerilmemekte olup böyle bir durumda bir E_WARNING çıktılanır. PHP 7.2.0 öncesinde ise E_NOTICE seviyesinde bir hata çıktılanırdı. Ayrıca $foo[bar]'ın (bar bir sabit olmadıkça) neden yanlış olduğuna dair açıklamaya da bakın. Bu durum, tanımlanmadıkları takdirde daima bir Error yavrulayan (tamamen) nitelenmiş sabitlere uygulanmaz.

Bilginize: Bir sabitin atanıp atanmadığına bakmak için defined() işlevini kullanın.

Sabitler ve değişkenler arasındaki farklar:

  • Bir sabit ismi $ imi ile başlamaz.
  • Sabitler, değişken etki alanı kurallarına bağlı olmaksızın her yerde tanımlanabilir ve her yerden erişilebilir.
  • Sabitler tanımlandıktan sonra yeniden tanımlanamaz ya da tanımsız duruma getirilemez.
  • Bir sabit sadece sayıl değerlere veya dizilere çözümlenebilir.

Örnek 1 - Sabitlerin Tanımlanması

<?php
define("CONSTANT", "Merhaba dünya.");
echo CONSTANT; // "Merhaba dünya" çıktılar.
echo Constant; // Hata verir: Tanımlanmamış sabit "Constant"
// PHP 8.0.0 öncesinde. "Constant" çıktılanıp bir uyarı verilirdi.
?>

Örnek 2 - Sabitlerin const ile tanımlanması

<?php
// Basit sayıl değer
const SABIT = 'Merhaba Dünya';

echo SABIT;

// Sayıl ifade
const DIGER_SABIT = SABIT.'; Elveda Dünya';
echo DIGER_SABIT;

const HAYVANLAR = array('köpek', 'kedi', 'kuş');
echo HAYVANLAR[1]; // "kedi" çıktılanır

// Sabit dizisi
define('HAYVANLAR', array(
'köpek',
'kedi',
'kuş'
));
echo HAYVANLAR[1]; // "kedi" çıktılanır
?>

Bilginize:

Sabitlerin define() kullanılarak tanımlanmasının tersine, const anahtar sözcüğü ile tanımlanan sabitler derleme sırasında tanımlandıklarından en üst seviye etki alanında bildirilmiş olmalıdır. Yani bunlar işlevlerin, döngülerin, if deyimlerinin veya try/catch bloklarının içinde bildirilemez.

Ayrıca Bakınız

  • Sınıf Sabitleri


Öntanımlı Sabitler

PHP, çalışan her betiğe çok sayıda öntanımlı sabit sağlar. Öte yandan, bu sabitlerin çoğu, çeşitli eklentiler tarafından tanımlandığından, sadece eklenti bir modül olarak veya PHP içinde derlenmişse kullanılabilir.


Sihirli Sabitler

Değerleri kullanıldıkları yere göre değişen dokuz sihirli sabit vardır. Örneğin, __LINE__ sabitinin değeri betiğin hangi satırında kullanıldığına bağlıdır. Çalışma zamanında çözümlenen sırada sabitlerin tersine "sihirli" sabitlerin tamamı derleme sırasında çözümlenir. Bu özel sabitler büyük-küçük harf farkına duyarsızdır ve aşağıda listelenmişlerdir:

PHP'nin sihirli sabitleri
İsim | Açıklama
__LINE__ | Dosyada geçerli satırın numarası.
__FILE__ | Dosyanın veya sembolik bağdan çözümlenen dosyanın tam dosya yolu ve dosya ismi. include işlevi ile betiğe eklenen bir dosyanın içinde kullanıldığında betiğin ismini değil, eklenen dosyanın ismini içerir.
__DIR__ | Dosyanın bulurduğu dizin. Dahil edilen bir dosyanın içinde kullanıldığında dahil edilen dosyanın dizini döner. Bu dirname(__FILE__) işlevine eşdeğerder. Bu dizin isminin sonuna bir kök dizin olmadıkça bir bölü imi konmaz.
__FUNCTION__ | İşlev ismi veya anonim işlevler için {closure}.
__CLASS__ | Sınıf ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir. Kalıtsal özelliklerin içinde kullanıldığında __CLASS__, içinde kullanıldığı sınıfın ismidir.
__TRAIT__ | Kalıtsal özellik ismi. Bildirildiği isim alanını (Foo\Bar gibi) içerir.
__METHOD__ | Yöntem ismi.
__NAMESPACE__ | Geçerli isim alanının adı.
SınıfAdı::class | Tamamen nitelenmiş sınıf ismi.

Ayrıca Bakınız

  • ::class
  • get_class()
  • get_object_vars()
  • file_exists()
  • function_exists()


İfadeler

İfadeler, PHP'nin en önemli yapı taşlarındandır. PHP'de, hemen hemen yazdığınız her şey bir ifadedir. Bir ifadenin en basit ama en etkili tanımı şudur: "Bir değere sahip olan herşey".

İfadelerin en basit şekli sabitler ve değişkenlerdir. "$a = 5" yazdığınızda, '5' değerini $a değişkenine atamış olursunuz. '5', açık bir şekilde, 5 değerine sahiptir, ya da başka bir deyişle '5', değeri 5 olan bir ifadedir (bu durumda, '5' bir tamsayı sabittir).

Bu atamadan sonra, $a'nın değerinin 5 olmasını beklersiniz, dolayısıyla $b = $a yazdığınızda, bunun $b = 5 yazmışsınız gibi davranmasını beklersiniz. Başka bir deyişle, $a da değeri 5 olan ifadedir. Her şey doğru çalışırsa, olması gereken de tam budur.

İşlevler, ifadelerin biraz daha karmaşık örnekleridir. Örneğin, aşağıdaki işleve bakalım:

<?php
function foo ()
{
return 5;
}
?>

İşlev kavramına aşina iseniz (değilseniz, işlevler bölümünü inceleyebilirsiniz), şu örnekten hareketle $c = foo() yazmak ile $c = 5 yazmak arasında bir fark olmadığını bilirsiniz. İşlevler, değeri dönüş değeri olan ifadelerdir. foo() işlevi 5 değerini döndürdüğünden, "foo()" ifadesinin değeri 5'tir. İşlevlerin amacı normalde statik bir değer döndürmek değildir, bir hesaplamanın sonucunu döndürürler.

Elbette, PHP'deki değerlerin hep tamsayılar olması gerekmez, zaten çoğunlukla değildirler. PHP dört çeşit sayıl değer destekler: Tamsayı (int) değerler, kayan noktalı (float) değerler, dizge (string) değerler ve mantıksal bool değerler (sayıl değerler, dizilerin aksine daha küçük parçalara bölemeyeceğiniz değerlerdir). PHP ayrıca iki bileşik (sayıl olmayan) tür destekler: Diziler ve nesneler. Bu değer türlerinden her biri bir değişkene atanabilir ya da bir işlevden döndürülebilir.

PHP, birçok başka dilin yaptığı gibi ifadeleri çok ileriye götürmüştür. PHP ifade-yönelimli bir dildir, bunun sebebi hemen hemen her şeyin bir ifade olmasıdır. Az önce üzerinde çalıştığımız '$a = 5' örneğini ele alalım. Burada iki değer kullanımı sözkonusudur, bir tamsayı sabit olan '5' ve 5 olarak değiştirilmiş $a'nın değeri. Ancak gerçek şu ki, burada bu ikiliye ek olarak başka bir değer daha vardır, o da atamanın kendi değeridir. Atamanın kendisi atanan değerle değerlendirilir, bu örnekte bu 5'tir. Uygulamada, ne yaptığından bağımsız olarak "$a = 5", değeri 5 olan bir ifadedir. Böylece, "$b = ($a = 5)" yazmak, "$a = 5; $b = 5;" yazmak gibidir (noktalı virgül deyimin sonlandırıldığını gösterir). Atamalar sağdan sola doğru işlendiğinden, "$b = $a = 5" de yazabilirsiniz.

İfade yönelimi ile ilgili diğer güzel bir örnek atama öncesi ve sonrası arttırma ve eksiltme işlemleridir. PHP ve diğer birçok dilin kullanıcıları, değişken++ ve değişken-- gösterimine az çok aşinadır. Bunlar arttırma ve eksiltme işleçleridir. PHP'de, C'de olduğu gibi önceden arttırma ve sonradan arttırma diye iki tür arttırma vardır. Bunların her ikisi de değişkenin değerini bir arttırır ve değişken üzerindeki etkileri aynıdır. Fark, arttırma ifadesinin değerindedir. Önceden arttırma, ++$değişken olarak yazılır ve arttırılmış değer öncelik alır (PHP değişkenin değerini önce arttırır, sonra okur, bu sebeple önceden arttırma ismi verilmiştir). Sonradan arttırma ise, $değişken++ olarak yazılır ve değer arttırılmadan önceki özgün değer önceliklidir (PHP değişkenin değerini okuduktan sonra değerini arttırır, bu sebeple sonradan arttırma ismi verilmiştir).

Çok geniş bir kullanıma sahip olan ifade türlerinden birisi de karşılaştırma ifadeleridir. Bu ifadeler false ya da true değerlerinden birini alırlar. PHP > (büyüktür), >= (büyüktür ya da eşittir), == (eşittir), != (eşit değildir), < (küçüktür) ve <= (küçüktür ya da eşittir) gösterimlerini destekler. Dil aynı zamanda aynılık işleçlerini de destekler: === (eşit ve aynı türdedir) ve !== (ne eşit ne de aynı türdedir). Bu ifadeler çoğunlukla if deyimleri gibi koşula bağlı işlemlerde kullanılmaktadırlar.

Vereceğimiz son ifade örneği işleçli atama ifadeleridir. $a'nın değerini 1 arttırmak istediğinizde, basitçe '$a++' ya da '++$a' yazmanızın yeterli olduğunu zaten biliyorsunuz. Ama ya birden daha büyük bir değer, örneğin 3 eklemek isterseniz? '$a++' ifadesini birkaç kez yazabilirsiniz, ama bunun pek verimli ya da kullanışlı yöntem olmadığı oldukça açık. '$a = $a + 3' çok daha yaygın bir kullanımdır. '$a + 3' ifadesi $a'nın değerini önce 3 arttırır sonra sonucu $a'ya atar, böylece $a'nın değeri 3 arttırılmış olur. PHP'de, birkaç dilde olduğu gibi C benzeri, daha temiz gözükecek ve daha kısa biçimde yazabileceğiniz bir gösterim daha vardır. $a'nın mevcut değerine 3 ekleme işlemi '$a += 3' biçiminde yazılabilir. Bunun anlamı tam olarak "$a'nın değerini al, 3 ekle ve yeni değeri $a'ya ata" olacaktır. Daha kısa ve temiz olmasının yanında, bu kod daha hızlı çalıştırılacaktır. '$a += 3' işleminin değeri, normal bir atama işleminde olduğu gibi, atanan değerdir. Bu değerin 3 OLMADIĞINA dikkat edin, bu değer $a ile 3'ün toplamıdır ($a'ya bu değer atanır). İşleçli atama kipinde herhangi bir iki terimli işleç kullanılabilir, örneğin '$a -= 5' ($a'nın değerinden 5 çıkarılır), '$b *= 7' ($b'nin değeri 7 ile çarpılır), vs.

Diğer dillerde görmediyseniz size farklı gözükebilecek bir ifade daha vardır, o da üç terimli koşul işlecidir:

<?php
$birinci ? $ikinci : $üçüncü
?>

İlk alt ifadenin değeri true (sıfırdan farklı) ise, ikinci alt ifade değerlendirilir ve koşullu ifadenin sonucu bu olur. Aksi takdirde, üçüncü alt ifade değerlendirilir ve koşullu ifadenin sonucu bu olur.

Aşağıdaki örnek, önceden ve sonradan arttırma işleçlerini ve ifadelerini genelde biraz daha iyi anlamanıza yardımcı olacaktır:

<?php
function double($i)
{
return $i*2;
}
$b = $a = 5; /* beş değerini $a ve $b değişkenlerine atar */
$c = $a++; /* sonradan arttırma, $a'nın özgün değerini (5) $c'ye atar */
$e = $d = ++$b; /* önceden arttırma, $b'nin arttırılmış değerini (6) $d
ve $e'ye atar */

/* bu noktada, $d ve $e 6'ya eşittir */

$f = double($d++); /* $d'nin değerini arttırmadan önce $d'nin değerinin iki
katını $f'ye atar, 2*6 = 12 */
$g = double(++$e); /* $e'nin değerini arttırdıktan sonra iki katını alıp
$g'ye atar, 2*7 = 14 */
$h = $g += 10; /* önce, $g 10 arttırılır ve değeri 24 olur. Sonra bu
değer (24) $h'ye atanır ve onun da değeri 24 olur. */
?>

Bazı ifadeler deyim olarak ele alınabilir. Bu durumda, deyim 'ifade' ';' şeklinde, noktalı virgülle sonlandırılmış bir ifade şeklinde olacaktır. '$=$a=5;' olduğunda, $a=5 geçerli bir ifadedir, ancak kendi başına bir deyim değildir. '$b=$a=5;' ise geçerli bir deyimdir.

Son olarak bahsetmemiz gereken bir konu da ifadelerin gerçek değeridir. Birçok olayda, çoğunlukla da koşula bağlı çalışmalarda ve döngülerde, ifadenin kendi değeri ile değil, true ya da false olması ile ilgileniyor olacaksınız. true ve false sabitleri (büyük-küçük harf duyarsız) olası iki mantıksal değerdir. Gerektiğinde, bir ifade otomatik olarak mantıksal değere dönüştürülür. Tür çarpıtma bölümünde bunun nasıl gerçekleştiği ayrıntılı olarak anlatılmıştır.

PHP ifadeleri tümüyle ve çok güçlü bir biçimde uygulamaya geçirmiştir ve bunların tamamını belgelemek bu kılavuzun kapsamının dışında kalır. Yukarıdaki örnekler hangi ifadelerle nasıl kullanışlı ifadeler oluşturabileceğiniz hakkında yeterli fikir verecektir. Bu kılavuzun geri kalanında, geçerli herhangi bir PHP ifadesini belirtmek için ifade sözcüğünü kullanacağız.


İşleçler

İçindekiler

  • İşleç Önceliği
  • Aritmetik İşleçler
  • Artırım ve Eksiltim İşleçleri
  • Atama İşleçleri
  • Bitsel İşleçler
  • Karşılaştırma İşleçleri
  • Hata Denetim İşleçleri
  • Çalıştırma İşleci
  • Mantıksal İşleçler
  • Dizge İşleçleri
  • Dizi İşleçleri
  • Tür İşleçleri

Bir işleç, başka bir değer üretmek üzere bir veya daha fazla değer (programcı dilinde ifade) alan bir şeydir (yani, bu yapı bir ifade haline gelir).

İşleçler aldıkları değer sayısına göre gruplanabilir. Tek terimli işleçler yalnızca bir değer alır, örneğin, ! (mantıksal değil işleci) veya ++ (artırım işleci). İki terimli işleçler iki değer alır, PHP'nin desteklediği işleçlerin çoğunluğu bu grupta olup aritmetik işleçler + (artı) ve - (eksi) örnek olarak verilebilir. Son olarak tek bir üç terimli işleci, ? : vardır ve üç terim alır. Koşul işleci olarak da bilinir.

PHP işleçleri tam liste halinde, aşağıda İşleç Önceliği bölümünde bulunabilir. Bölüm ayrıca, çeşitli farklı işleçleri içeren ifadelerin değerlendirilişini yöneten işleç önceliğini ve ilişkilendirmeyi de açıklamaktadır.


İşleç Önceliği

İşleç önceliği iki ifadenin birbirine hangi sıkılıkta bağlı olduğunu belirtir. Örneğin, 1 + 5 * 3 ifadesinin sonucu 18 değil, 16'dır. Çünkü, çarpma ("*") işlecinin önceliği toplama ("+") işlecinden yüksektir. Önceliği arttırmak için gerekirse parantezler kullanılabilir. Örneğin, (1 + 5) * 3 ifadesinin sonucu 18 olacaktır.

İşleçler eşit önceliğe sahip olduklarında aralarındaki ilişkiye işleçlerin gruplanışına göre karar verilir. Örneğin "-" isoldan ilişkilendirmelidir, dolayısıyla, 1 - 2 - 3 ifadesi (1 - 2) - 3 olarak gruplanır ve -4 olarak değerlendirlir. "=" ise sağdan ilişkilendirmelidir, dolayısıyla, $a = $b = $c ifadesi $a = ($b = $c) olarak gruplanır. Özetle, soldan ilişkilendirme, ifadenin soldan sağa, sağdan ilişkilendirme ise sağdan sola değerlendirileceği anlamına gelir.

İlişkisel olmayan eş öncelikli işleçler birbirlerinin ardından kullanılamazlar, örneğin 1 < 2 > 1 ifadesi PHP için uygun değilken 1 <= 1 == 1 ifadesi uygundur. Sebebi == işlecinin <= işlecinden daha az öncelikli olmasıdır.

İlişkisellik sadece iki terimli (ve üç terimli) işleçler için anlamlıdır. Tek terimli işleçlerin önüne veya ardına ekleme yapıldığından bu fikir tek terimlilere uygulanabilir değildir. Örneğin, !!$a ifadesi sadece !(!$a) olarak gruplanabilir.

Parantez kullanımı gerekli olmasa bile çoğunlukla kodun okunabilirliğini arttırır. Örtük işleç önceliğine ve ilişkiselliğine güvenmektense kodu açıkça gruplamak daha iyidir.

Aşağıdaki listede işleçler en yüksek öncelikliden başlayıp en düşük öncelikliye doğru sıralanmışlardır. Aynı satırda yer alan işleçler eş öncelikli olup hangi sırada ele alınacaklarına değerlendirme sırasında karar verilir.

İşleç Öncelikleri
İlişkilendirme | İşleçler | Ek bilgi
(yok) | clone new | clone ve new
(yok) | ** | aritmetik
sağdan | + - ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | aritmetik (tek terimli + ve -), arttırım/eksiltim, bitsel, tür çarpıtma ve hata denetimi
soldan | instanceof | Tür
(yok) | ! | mantıksal
soldan | * / % | aritmetik
soldan | + - . | aritmetik (iki terimli + ve -), dizi ve dize (PHP 8.0.0 öncesinde .)
soldan | << >> | bitsel
soldan | . | dize (PHP 8.0.0 öncesinde .)
yönsüz | < <= > >= | karşılaştırma
yönsüz | == != === !== <> <=> | karşılaştırma
left | & | bitsel ve gönderimler
soldan | ^ | bitsel
soldan | | | bitsel
soldan | && | mantıksal
soldan | || | mantıksal
right | ?? | null birleşimi
yönsüz | ? : | üç terimli (PHP 8.0.0 öncesinde soldan)
sağdan | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | atama
(yok) | yield from | yield from
(yok) | yield | yield
(yok) | print | print
soldan | and | mantıksal
soldan | xor | mantıksal
soldan | or | mantıksal

Örnek 1 - Öncelik yönü

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
// üç terimli işlecin değerlendirilmesi C/C++ dillerinden farklıdır
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 (PHP 8.0.0 öncesi)

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>

İşleç önceliklerini ve işlem yönünü ifadeni gruplanışı belirler. PHP (genelde) ifadenin hangi sırayla değerlendirileceğini belirmez ve kodlamada özel bir değerlendirme sırası kabulünden kaçınılmalıdır. Çünkü davranış PHP'nin sürümleri arasında farklı olabildiği gibi sarmalayan koda bağlı olarak da değişebilir.

Örnek 2 - Tanımsız değerlendirme sırası

<?php
$a = 1;
echo $a + $a++; // 2 veya 3 basabilir

$i = 1;
$array[$i] = $i++; // indis 1 veya 2 olabilir
?>

Örnek 3 +, - ve . aynı önceliğe sahiptir (PHP 8.0.0 öncesi)

<?php
$x = 4;
// bu satır beklenmedik bir çıktı ile sonuçlanabilir:
echo "x eksi bir eşittir " . $x-1 . ", ya da ben öyle umdum\n";

// çünkü aşağıdaki satır gibi değerlendirilir:
echo (("x eksi bir eşittir " . $x) - 1) . ", ya da ben öyle umdum\n";

// istenen öncelik parantez kullanarak elde edilebilir:
echo "x eksi bir eşittir " . ($x-1) . ", ya da ben öyle umdum\n";
?>

Yukarıdaki örneğin çıktısı:

-1, ya da ben öyle umdum
-1, ya da ben öyle umdum
x eksi bir eşittir 3, ya da ben öyle umdum

Bilginize:

Eşitlik (=) işleci çoğu işleçten daha düşük önceliğe sahip olduğundan PHP halen şuna benzer ifadelere izin vermektedir: foo() işlevinin dönüş değerini $a değişkenine atayan if (!$a = foo()) ifadesi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Dizelerin ard arda eklenmesi (.) artık aritmetik toplama ve çıkarma (+ ve -) ve bitsel sola/sağa kaydırma (<< ve >>) işleçlerinden daha düşük öncelikli oldu; evvelce + ve - ile aynı önceliğe, << ve >> işleçlerinden daha yüksek önceliğe sahipti.
8.0.0 | Üç terimli işleç (? :) artık ilişkisel değil; evvelce soldan ilişkili idi.
7.4.0 | Dizelerin ard arda eklenmesinin (.) toplama ve çıkarma (+ ve -) ve bitsel sola/sağa kaydırma (<< ve >>) işleçlerine göre önceliğine (yani parantezsiz birlikte kullanımlarına) güvenilmesi artık önerilmiyor.
7.4.0 | Üç terimli işlecin (? :) soldan ilişkiselliğine güvenmek artık önerilmiyor; yani, çok sayıda parantezsiz üç terimli artık iç içe yazılmamalıdır.


Aritmetik İşleçler

Okulda öğrendiğiniz temel aritmetiği hatırlıyor musunuz? Bu işleçler tam da öyle çalışır.

Aritmetik İşleçler
Örnek | İsim | Sonuç
+$a | Özdeşlik | $a'nın int veya float'a dönüşümü.
-$a | Olumsuzlama | $a'nın eksi işaretlisi.
$a + $b | Toplama | $a ile $b'nin toplamı.
$a - $b | Çıkarma | $a'nın $b'den farkı.
$a * $b | Çarpma | $a ile $b'nin çarpımı.
$a / $b | Bölme | $a'nın $b'ye bölümü.
$a % $b | Kalan | $a'nın $b'ye bölümünden kalan.
$a ** $b | Üs | $a üssü $b.

Bölme işlecinin tamsayı bölüm vermesi için iki teriminin de tamsayı (veya dönüşüm sonucu tamsayı olan dizge) olması ve birbirlerine tam olarak bölünmesi gerekir, aksi takdirde bölüm gerçek sayı olacaktır. Tamsayı bölme için intdiv() işlevine bakınız.

Kalan işlecinin (%) terimleri gerçek sayılarsa tamsayıya (int türüne) dönüştürülürler. Gerçek sayı bölmeden kalan için fmod() işlevine bakınız.

% kalan işlecinin sonucu bölünenin işaretini alır. Yani $a % $b işlemini sonucu $a ile aynı işaretli olacaktır. Örnek:

<?php

echo (5 % 3)."\n"; // 2 basar
echo (5 % -3)."\n"; // 2 basar
echo (-5 % 3)."\n"; // -2 basar
echo (-5 % -3)."\n"; // -2 basar

?>

Ayrıca Bakınız

  • Matematik işlevleri


Artırım ve Eksiltim İşleçleri

PHP, önceden ve sonradan artırım ve eksiltim işleçlerini destekler. Bunlar değeri bir artıran veya eksilten tek terimli işleçlerdir.

Arttırım ve Eksiltim İşleçleri
Örnek | İsim | Etkisi
++$a | Önceden artırım | $a bir artırıldıktan sonra döndürülür.
$a++ | Sonradan artırım | $a döndürüldükten sonra değeri bir artırılır.
--$a | Önceden eksiltim | $a bir eksiltildikten sonra döndürülür.
$a-- | Sonradan eksiltim | $a döndürüldükten sonra değeri bir eksiltilir.

Basit bir betik örneği:

<?php
echo "Sonradan artırım\n";
$a = 5;
var_dump($a++);
var_dump($a);

echo "Önceden artırım\n";
$a = 5;
var_dump(++$a);
var_dump($a);

echo "Sonradan eksiltim\n";
$a = 5;
var_dump($a--);
var_dump($a);

echo "Sonradan eksiltim\n";
$a = 5;
var_dump(--$a);
var_dump($a);
?>

Yukarıdaki örneğin çıktısı:

Sonradan artırım:
int(5)
int(6)
Önceden artırım:
int(6)
int(6)
Sonradan eksiltim:
int(5)
int(4)
Sonradan eksiltim:
int(4)
int(4)
Uyarı

Artırım ve eksiltim işleçlerinin bool türündeki değerler üstünde etkisi yoktur. İleri sürümlerde değer örtük olarak int türüne dönüşüm uygulanacağından PHP 8.3.0 ve sonrasında bir E_WARNING çıktılanır.

Eksiltim işlecinin null türünde değerler üzerinde etkisi yoktur. İleri sürümlerde değer örtük olarak int türüne dönüşüm uygulanacağından PHP 8.3.0 ve sonrasında bir E_WARNING çıktılanır.

Değer sayısal dizge değilse eksiltim işleci etkisizdir. İleri sürümlerde TypeError oluşturacak olan bu durum PHP 8.3.0 ve sonrasında bir E_WARNING çıktılanmasına sebep olur.

Bilginize:

Aşırı yüklemeyi destekleyen dahili nesnelerin toplama ve çıkarma işlemlerinde de artırım ve eksiltim yapılabilir. Böyle bir dahili nesneye örnek olarak GMP verilebilir.

PERL dizge artırım özelliği

Uyarı

Bu özelliğin PHP 8.3.0 ve sonrasında kullanımı bazı durumlarda önerilmemekte olup böyle bir durumun ortaya çıkmaması için bu özellik yerine str_increment() işlevi kullanılmalıdır.

Değer sayısal dizge değilse dizgeye artırım uygulanabilir. Bunun için dizgenin abecesaysal ASCII dizge olması gerekir. Harflerin bir sonraki harfe kadar artırılması durumunda, Z harfine ulaşıldığında artış soldaki değere taşınır. Örneğin, $a = 'Z'; $a++; için $a değeri 'AA' olur.

Örnek 1 - PERL dizge artırım örneği

<?php
echo '== Abecesel dizgeler ==' . PHP_EOL;
$i = 'W';
for ($n=0; $n<6; $n++) {
echo ++$s . PHP_EOL;
}
// Sayısal dizgeler farklı davranır
echo '== Sayısal dizgeler ==' . PHP_EOL;
$d = 'A8';
for ($n=0; $n<6; $n++) {
echo ++$d . PHP_EOL;
}
$d = 'A08';
for ($n=0; $n<6; $n++) {
echo ++$d . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

== Abecesel dizgeler ==
X
Y
Z
AA
AB
AC
== Sayısal dizgeler ==
A9
B0
B1
B2
B3
B4
A09
A10
A11
A12
A13
A14
Uyarı

Abecesayısal dizge, sayısal dizge olarak yorumlanırsa değer int veya float türüne dönüştürülür. Bu özellikle üstel gösterimle yazılmış gerçel bir sayı gibi görünen dizgelerde ortaya çıkar. str_increment() işlevi böyle örtük tür dönüşümlerinden etkilenmez.

Örnek 2 - float türüne dönüştürülen abecesayısal dizge

<?php
$s = "5d9";
var_dump(++$s);
var_dump(++$s);
?>

Yukarıdaki örneğin çıktısı:

string(3) "5e0"
float(6)

Bunun nedeni, "5e0" değerinin float olarak yorumlanması ve artırılmadan önce 5,0 değerine dönüştürülmesidir.


Atama İşleçleri

Temel atama işleci "=" imidir. Programlamaya yeni başlayanlar bu işleci"eşittir" diye okurlar. Aslında yapılan işlem bir şeyleri birbirlerine eşitlemek değildir. Yaptığı iş sağındaki ifadenin değerini solundaki terimin değeri haline getirmektir, yani imleci içeren ifadeyi birşey'in değeri diye okumak daha doğrudur.

Bir atama ifadesinin değeri atanan değerdir. Yani, "$a = 3" ifadesinin değeri 3'tür. Bunun bir takım yan sonuçları da vardır:

<?php

$a = ($b = 4) + 5; // $a'nın değeri 9, $b'nin değeri 4 olur.

?>

Temel atama işlecinden başka atama işlemini temel aritmetik, ikil aritmetik işlemleriyle veya dizi ya da dizge birleştirme işlemleriyle birleştiren, "birleşik atama işleçleri" vardır. Örnek:

<?php

$a = 3;
$a += 5; // $a'nın değeri 8 olur, asıl işlem: $a = $a + 5;
$b = "Herkese ";
$b .= "Merhaba!"; // $b'nin değeri "Herkese Merhaba!" olur.
// asıl işlem: $b = $b . "Merhaba!";

?>

Atama işleminin özgün değişkeni yeni değişkene kopyaladığına (değeriyle atadığına) dikkat ediniz. Dolayısıyla birinde yapılan değişiklik diğerini etkilemeyecektir. Kapalı bir döngü içinde büyükçe bir diziye atama işlemleri yapma ihtiyacı duyarsanız bu ayrı bir anlam kazanır.

PHP içindeki değere göre olağan atama davranışının bir istisnası, gönderimle atanan nesnelerle gerçekleşir. Nesneler clone anahtar sözcüğü ile doğrudan kopyalanabilir.

Gönderimli atama

Gönderimli atama $değişken = &$diğerdeğişken; sözdizimi ile desteklenmektedir. 'Gönderimli atama', iki değişkenin aynı veriyi gösterdiği ve birbirlerinden birşeyler kopyalamadıkları anlamına gelir.

Örnek 1 - Gönderimli atama

<?php
$a = 3;
$b = &$a; // $b, $a'ya bir gönderimdir

print "$a\n"; // 3 basar
print "$b\n"; // 3 basar

$a = 4; // $a değişir

print "$a\n"; // 4 basar
print "$b\n"; // bu da 4 basar, $b, $a'ya bir gönderimdi ve $a değişti

?>

new işleci otomatik olarak bir gönderim döndürür. Dolayısıyla, new sonucunu gönderimli atamak bir hatadır.

Örneğin bu kod bir hata veya uyarı ile sonuçlanır:

<?php
class C {}

$o = &new C;
?>

Yukarıdaki örneğin çıktısı:

Parse error: syntax error, unexpected 'new' (T_NEW) in ...
// Çözümleme hatası: sözdizimi hatası, beklenmeyen 'new' (T_NEW) in ...

Gönderimler hakkında daha ayrıntılı bilgi edinmek için Gönderimlerle ilgili herşey bölümüne bakınız.

Aritmetik Atams İşleçleri

Örnek | Eşdeğeri | İşlem
$a += $b | $a = $a + +$b | Toplama
$a -= $b | $a = $a - $b | Çıkarma
$a *= $b | $a = $a * $b | Çarpma
$a /= $b | $a = $a / $b | Bölme
$a %= $b | $a = $a % $b | Mod
$a **= $b | $a = $a ** $b | Üs alma

Bitsel Atama İşleçleri

Örnek | Eşdeğeri | İşlem
$a &= $b | $a = $a & $b | Bitsel VE
$a |= $b | $a = $a | $b | Bitsel VEYA
$a ^= $b | $a = $a ^ $b | Bitsel XOR
$a <<= $b | $a = $a << $b | Sola Öteleme
$a >>= $b | $a = $a >> $b | Sağa Öteleme

Diğer Atama İşleçleri

Örnek | Eşdeğeri | İşlem
$a .= $b | $a = $a . $b | Dize Birleştirme
$a ??= $b | $a = $a ?? $b | Null Birleşimi

Ayrıca Bakınız

  • aritmetik işleçler
  • bitsel işleçler
  • null birleşim işleçleri


Bitsel İşleçler

Bitsel işleçler, bir tamsayının içindeki belli bitleri 0 ya da 1 yaparlar.

Bitsel İşleçler
Örnek | İsim | Sonuç
$a & $b | Ve | Hem $a hem de $b'de 1 olan bitler sonuçta 1 yapılır.
$a | $b | Veya | $a veya $b'de 1 olan bitler sonuçta 1 yapılır.
$a ^ $b | Ayrıcalıklı Veya | Hem $a hem de $b'de 0 veya 1 olan bitler sonuçta 0, diğerleri 1 yapılır.
~ $a | Değil | $a'nın 0 olan bitleri 1, 1 olanları 0 yapılır.
$a << $b | Sola kaydırma | $a'nın bitleri $b adım sola kaydırılır (her adım ikiyle çarpma işlemine denktir).
$a >> $b | Sağa kaydırma | $a'nın bitleri $b adım sağa kaydırılır (her adım ikiye bölme işlemine denktir).

PHP'de bit kaydırma bir aritmetik işlemdir. Kaydırma sonucu her iki uçtan da taşan bitler silinir. Sola kaydırmada sağdan eksilen bitler sıfırlarla doldurulur, bu arada işaret biti soldan taşarak silinir, yani sola kaydırmada terimin işareti korunmaz. Sağa kaldırmada ise işaret biti yerinden oynatılmaz, yani sağa kaydırmada terimin işareti korunur.

Bir işlemin öncelik alması gerekiyorsa yaylı ayraçlar kullanılmalıdır. Örneğin, $a & $b == true işleminde önce eşitlik sonra bitsel VE uygulanırken ($a & $b) == true işleminde ise önce bitsel VE sonra eşitlik uygulanır.

Eğer &, | ve ^ için her iki terim de dize ise terimlerdeki karakterlerin ASCII değerleri üzerinde işlem yapılır ve sonuç bir dize olur. Tüm diğer durumlarda, her iki terim tamsayıya dönüştürülür ve sonuç tamsayı olur.

~ işleci için terim bir dize ise, terimdeki karakterlerin ASCII değerleri üzerinde işlem yapılır ve sonuç bir dize olur. Aksi takdirde, terim ve sonuç tamsayı olarak ele alınır.

<< ve >> işleçleri için her iki terim ve sonuç daima tamsayı olarak ele alınır.

PHP'nin error_reporting yönergesi gerçekte neler olup bittiğini göstermek
için bitsel değerler kullanır. Sadece bilgilendirmeleri değil hataların
tümünü görmek için php.ini dosyasında ilgili yere şu yazılabilir:
E_ALL & ~E_NOTICE

Bu E_ALL için şöyle çalışır:
00000000000000000111011111111111
Keza E_NOTICE...
00000000000000000000000000001000
... ve ~ ile ters çevrilerek:
11111111111111111111111111110111
Son olarak, her iki değer üzerinde etkin bitleri bulmak için
VE (&) işlecini kullanır:
00000000000000000111011111110111

Bunu sağlamanın bir başka yolu da sadece bir değerde veya diğerinde etkin
bitleri bulmak için XOR (^) kullanmaktır:
E_ALL ^ E_NOTICE

error_reporting yönergesi bitleri etkin kılmayı göstermek için de
kullanılabilir. Sadece hataları ve kurtarılabilir göstermenin yolu:
E_ERROR | E_RECOVERABLE_ERROR

Bu işlem etkin bitleri almak için
00000000000000000000000000000001
ve
00000000000000000001000000000000
E_ERROR'ları üzerinde VEYA (|) işlecini kullanır:
00000000000000000001000000000001

Örnek 1 - Tamsayılar üzerinde bitsel işlemler

<?php
/*
* Üstteki bölümü yoksay,
* çıktıyı iyileştirmek için biçemlemekten başka birşey yapmıyor.
*/

$format = '(%1$2d = %1$04b) = (%2$2d = %2$04b)'
. ' %3$s (%4$2d = %4$04b)' . "\n";

echo <<<EOH
 --------- --------- -- ---------
sonuç değer işl dnm
--------- --------- -- ---------
EOH;

/*
* Örnekler burada.
*/

$değerler = array(0, 1, 2, 4, 8);
$dnm = 1 + 4;

echo "\n Bitsel VE \n";
foreach ($değerler as $değer) {
$sonuç = $değer & $dnm;
printf($format, $sonuç, $değer, '&', $dnm);
}

echo "\n Bitsel Ayrıcalıklı VEYA \n";
foreach ($değerler as $değer) {
$sonuç = $değer | $dnm;
printf($format, $sonuç, $değer, '|', $dnm);
}

echo "\n Bitsel Ayrıcalıklı VEYA (XOR) \n";
foreach ($değerler as $değer) {
$sonuç = $değer ^ $dnm;
printf($format, $sonuç, $değer, '^', $dnm);
}
?>

Yukarıdaki örneğin çıktısı:

 ---------     ---------  -- ---------
   sonuç         değer    işl   dnm
 ---------     ---------  -- ---------
 Bitsel VE
( 0 = 0000) = ( 0 = 0000) & ( 5 = 0101)
( 1 = 0001) = ( 1 = 0001) & ( 5 = 0101)
( 0 = 0000) = ( 2 = 0010) & ( 5 = 0101)
( 4 = 0100) = ( 4 = 0100) & ( 5 = 0101)
( 0 = 0000) = ( 8 = 1000) & ( 5 = 0101)

 Bitsel Ayrıcalıklı VEYA
( 5 = 0101) = ( 0 = 0000) | ( 5 = 0101)
( 5 = 0101) = ( 1 = 0001) | ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) | ( 5 = 0101)
( 5 = 0101) = ( 4 = 0100) | ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) | ( 5 = 0101)

 Bitsel Ayrıcalıklı VEYA (XOR)
( 5 = 0101) = ( 0 = 0000) ^ ( 5 = 0101)
( 4 = 0100) = ( 1 = 0001) ^ ( 5 = 0101)
( 7 = 0111) = ( 2 = 0010) ^ ( 5 = 0101)
( 1 = 0001) = ( 4 = 0100) ^ ( 5 = 0101)
(13 = 1101) = ( 8 = 1000) ^ ( 5 = 0101)

Örnek 2 - Dizgeler üzerinde bitsel işlemler

<?php
echo 12 ^ 9; // '5' çıktılar

echo "12" ^ "9"; // Gerisilme karakterini çıktılar (ASCII 8)
// ('1' (ascii 49)) ^ ('9' (ascii 57)) = ASCII 8

echo "hallo" ^ "hello"; // Çıktılanan ASCII değerler #0 #4 #0 #0 #0
// 'a' ^ 'e' = #4

echo 2 ^ "3"; // 1 çıktılar
// 2 ^ ((int)"3") == 1

echo "2" ^ 3; // 1 çıktılar
// ((int)"2") ^ 3 == 1
?>

Örnek 3 - Tamsayılarda bit kaydırma

<?php
/*
* Bunlar örnektir.
*/

echo "\n--- POZİTİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---\n";

$dgr = 4;
$hane = 1;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'işaret bitinin kopyası sola kaydırıldı');

$dgr = 4;
$hane = 2;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane);

$dgr = 4;
$hane = 3;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'bitler sağa kaydırıldı');

$dgr = 4;
$hane = 4;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'yukarıdakiyle aynı; 0\'dan sonrası kaydırılamaz');

echo "\n--- NEGATİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---\n";

$dgr = -4;
$hane = 1;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'işaret bitinin kopyası sola kaydırıldı');

$dgr = -4;
$hane = 2;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'bitler sağa kaydırıldı');

$dgr = -4;
$hane = 3;
$snç = $dgr >> $hane;
p($snç, $dgr, '>>', $hane, 'yukarıdakiyle aynı; -1\'dan sonrası kaydırılamaz');

echo "\n--- POZİTİF TAMSAYILARDA SOLA BİT KAYDIRMA ---\n";

$dgr = 4;
$hane = 1;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane, 'sağ taraf sıfırlarla doldurulur');

$dgr = 4;
$hane = (PHP_INT_SIZE * 8) - 4;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane);

$dgr = 4;
$hane = (PHP_INT_SIZE * 8) - 3;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane, 'işaret bitleri dışa kaydırılır');

$dgr = 4;
$hane = (PHP_INT_SIZE * 8) - 2;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane, 'bitler sola kaydırıldı');

echo "\n--- NEGATİF TAMSAYILARDA SOLA BİT KAYDIRMA ---\n";

$dgr = -4;
$hane = 1;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane, 'sağ taraf sıfırlarla doldurulur');

$dgr = -4;
$hane = (PHP_INT_SIZE * 8) - 3;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane);

$dgr = -4;
$hane = (PHP_INT_SIZE * 8) - 2;
$snç = $dgr << $hane;
p($snç, $dgr, '<<', $hane, 'işaret biti dahil, bitler soldan dışa kaydırıldı');

/*
* Bundan sonrasını yoksayın; çıktıyı biçemlemekten başka bir şey yapmıyor.
*/

function p($snç, $dgr, $op, $hane, $ilt = '') {
$format = '%0' . (PHP_INT_SIZE * 8) . "b\n";

printf("İfade: %d = %d %s %d\n", $snç, $dgr, $op, $hane);

echo " Onluk:\n";
printf(" değer=%d\n", $dgr);
printf(" sonuç=%d\n", $snç);

echo " İkilik:\n";
printf(' değer=' . $format, $dgr);
printf(' sonuç=' . $format, $snç);

if ($ilt) {
echo " DİKKAT: $ilt\n";
}

echo "\n";
}
?>

Yukarıdaki örneğin 32 bitlik makinelerdeki çıktısı:

--- POZİTİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---
İfade: 2 = 4 >> 1
 Onluk:
  değer=4
  sonuç=2
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000000010
 DİKKAT: işaret bitinin kopyası sola kaydırıldı

İfade: 1 = 4 >> 2
 Onluk:
  değer=4
  sonuç=1
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000000001

İfade: 0 = 4 >> 3
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000000000
 DİKKAT: bitler sağa kaydırıldı

İfade: 0 = 4 >> 4
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000000000
 DİKKAT: yukarıdakiyle aynı; 0'dan sonrası kaydırılamaz

--- NEGATİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---
İfade: -2 = -4 >> 1
 Onluk:
  değer=-4
  sonuç=-2
 İkilik:
  değer=111111111111111111111111111100
  sonuç=111111111111111111111111111110
 DİKKAT: işaret bitinin kopyası sola kaydırıldı

İfade: -1 = -4 >> 2
 Onluk:
  değer=-4
  sonuç=-1
 İkilik:
  değer=111111111111111111111111111100
  sonuç=111111111111111111111111111111
 DİKKAT: bitler sağa kaydırıldı

İfade: -1 = -4 >> 3
 Onluk:
  değer=-4
  sonuç=-1
 İkilik:
  değer=111111111111111111111111111100
  sonuç=111111111111111111111111111111
 DİKKAT: yukarıdakiyle aynı; -1'dan sonrası kaydırılamaz

--- POZİTİF TAMSAYILARDA SOLA BİT KAYDIRMA ---
İfade: 8 = 4 << 1
 Onluk:
  değer=4
  sonuç=8
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000001000
 DİKKAT: sağ taraf sıfırlarla doldurulur

İfade: 4611686018427387904 = 4 << 60
 Onluk:
  değer=4
  sonuç=4611686018427387904
 İkilik:
  değer=000000000000000000000000000100
  sonuç=010000000000000000000000000000

İfade: -9223372036854775808 = 4 << 61
 Onluk:
  değer=4
  sonuç=-9223372036854775808
 İkilik:
  değer=000000000000000000000000000100
  sonuç=100000000000000000000000000000
 DİKKAT: işaret bitleri dışa kaydırılır

İfade: 0 = 4 << 62
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=000000000000000000000000000100
  sonuç=000000000000000000000000000000
 DİKKAT: bitler sola kaydırıldı

--- NEGATİF TAMSAYILARDA SOLA BİT KAYDIRMA ---
İfade: -8 = -4 << 1
 Onluk:
  değer=-4
  sonuç=-8
 İkilik:
  değer=111111111111111111111111111100
  sonuç=111111111111111111111111111000
 DİKKAT: sağ taraf sıfırlarla doldurulur

İfade: -9223372036854775808 = -4 << 61
 Onluk:
  değer=-4
  sonuç=-9223372036854775808
 İkilik:
  değer=111111111111111111111111111100
  sonuç=100000000000000000000000000000

İfade: 0 = -4 << 62
 Onluk:
  değer=-4
  sonuç=0
 İkilik:
  değer=111111111111111111111111111100
  sonuç=000000000000000000000000000000
 DİKKAT: işaret biti dahil, bitler soldan dışa kaydırıldı

Yukarıdaki örneğin 64 bitlik makinelerdeki çıktısı:

--- POZİTİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---
İfade: 2 = 4 >> 1
 Onluk:
  değer=4
  sonuç=2
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000000010
 DİKKAT: işaret bitinin kopyası sola kaydırıldı

İfade: 1 = 4 >> 2
 Onluk:
  değer=4
  sonuç=1
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000000001

İfade: 0 = 4 >> 3
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000000000
 DİKKAT: bitler sağa kaydırıldı

İfade: 0 = 4 >> 4
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000000000
 DİKKAT: yukarıdakiyle aynı; 0'dan sonrası kaydırılamaz

--- NEGATİF TAMSAYILARDA SAĞA BİT KAYDIRMA ---
İfade: -2 = -4 >> 1
 Onluk:
  değer=-4
  sonuç=-2
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=1111111111111111111111111111111111111111111111111111111111111110
 DİKKAT: işaret bitinin kopyası sola kaydırıldı

İfade: -1 = -4 >> 2
 Onluk:
  değer=-4
  sonuç=-1
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=1111111111111111111111111111111111111111111111111111111111111111
 DİKKAT: bitler sağa kaydırıldı

İfade: -1 = -4 >> 3
 Onluk:
  değer=-4
  sonuç=-1
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=1111111111111111111111111111111111111111111111111111111111111111
 DİKKAT: yukarıdakiyle aynı; -1'dan sonrası kaydırılamaz

--- POZİTİF TAMSAYILARDA SOLA BİT KAYDIRMA ---
İfade: 8 = 4 << 1
 Onluk:
  değer=4
  sonuç=8
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000001000
 DİKKAT: sağ taraf sıfırlarla doldurulur

İfade: 4611686018427387904 = 4 << 60
 Onluk:
  değer=4
  sonuç=4611686018427387904
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0100000000000000000000000000000000000000000000000000000000000000

İfade: -9223372036854775808 = 4 << 61
 Onluk:
  değer=4
  sonuç=-9223372036854775808
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=1000000000000000000000000000000000000000000000000000000000000000
 DİKKAT: işaret bitleri dışa kaydırılır

İfade: 0 = 4 << 62
 Onluk:
  değer=4
  sonuç=0
 İkilik:
  değer=0000000000000000000000000000000000000000000000000000000000000100
  sonuç=0000000000000000000000000000000000000000000000000000000000000000
 DİKKAT: bitler sola kaydırıldı

--- NEGATİF TAMSAYILARDA SOLA BİT KAYDIRMA ---
İfade: -8 = -4 << 1
 Onluk:
  değer=-4
  sonuç=-8
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=1111111111111111111111111111111111111111111111111111111111111000
 DİKKAT: sağ taraf sıfırlarla doldurulur

İfade: -9223372036854775808 = -4 << 61
 Onluk:
  değer=-4
  sonuç=-9223372036854775808
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=1000000000000000000000000000000000000000000000000000000000000000

İfade: 0 = -4 << 62
 Onluk:
  değer=-4
  sonuç=0
 İkilik:
  değer=1111111111111111111111111111111111111111111111111111111111111100
  sonuç=0000000000000000000000000000000000000000000000000000000000000000
 DİKKAT: işaret biti dahil, bitler soldan dışa kaydırıldı

Uyarı

PHP_INT_MAX'ın ötesindeki sayılar üzerinde bitsel işlemler için gmp eklentisindeki işlevler kullanılmalıdır.

Ayrıca Bakınız

  • pack()
  • unpack()
  • gmp_and()
  • gmp_or()
  • gmp_xor()
  • gmp_testbit()
  • gmp_clrbit()


Karşılaştırma İşleçleri

Karşılaştırma işleçleri isminden de anlaşılacağı üzere iki değerin karşılaştırılmasını sağlar. Çeşitli veri türleri arasındaki karşılaştırma örneklerinin yer aldığı tür karşılaştırma tabloları sayfasına da bakılabilir.

Karşılaştırma İşleçleri
Örnek | İsim | Sonuç
$a == $b | Eşittir | Tür dönüşümünden sonra, $a ve $b aynı değere sahipse sonuç true olur.
$a === $b | Aynıdır | $a ve $b aynı değere sahipse ve türleri de aynıysa sonuç true olur.
$a != $b | Eşit değildir | Tür dönüşümünden sonra, $a ve $b aynı değere sahip değilse sonuç true olur.
$a <> $b | Eşit değildir | Tür dönüşümünden sonra, $a ve $b aynı değere sahip değilse sonuç true olur.
$a !== $b | Farklıdır | $a ve $b aynı değere sahip değilse veya türleri aynı değilse sonuç true olur.
$a < $b | Küçüktür | $a kesin olarak $b'den küçükse sonuç true olur.
$a > $b | Büyüktür | $a kesin olarak $b'den büyükse sonuç true olur.
$a <= $b | Küçük veya eşittir | $a, $b'den küçük veya ona eşitse sonuç true olur.
$a >= $b | Büyük veya eşittir | $a, $b'den büyük veya ona eşitse sonuç true olur.
$a <=> $b | Mekik | $a küçük, eşit veya büyük $b olduğunda, bir tamsayı da sırasıyla küçük, eşit veya büyük sıfırdır.

Her iki terim de sayısal dize ise veya bir terim sayı ve diğeri sayısal dizeyse, karşılaştırma sayısal olarak yapılır. Bu kurallar ayrıca switch deyimine de uygulanır. === veya !== ile tür ve dolayısıyla değer karşılaştırıldığından böyle karşılaştırmalarda tür dönüşümü yapılmaz.

Uyarı

PHP 8.0.0'dan önce, bir dize bir sayı veya sayısal bir dizeyle karşılaştırılırsa, karşılaştırma yapılmadan önce dize bir sayıya dönüştürülürdü. Bu, aşağıdaki örnekte görülebileceği gibi şaşırtıcı sonuçlara yol açabilir:

<?php
var_dump(0 == "a");
var_dump("1" == "01");
var_dump("10" == "1e1");
var_dump(100 == "1e2");

switch ("a") {
case 0:
echo "0";
break;
case "a":
echo "a";
break;
}
?>

Yukarıdaki örneğin PHP 7 çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)
0

Yukarıdaki örneğin PHP 8 çıktısı:

bool(false)
bool(true)
bool(true)
bool(true)
a

<?php
// Tamsayılar
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Gerçeller
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Dizeler
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

echo "a" <=> "aa"; // -1
echo "zz" <=> "aa"; // 1

// Diziler
echo [] <=> []; // 0
echo [1, 2, 3] <=> [1, 2, 3]; // 0
echo [1, 2, 3] <=> []; // 1
echo [1, 2, 3] <=> [1, 2, 1]; // 1
echo [1, 2, 3] <=> [1, 2, 4]; // -1

// Nesneler
$a = (object) ["a" => "b"];
$b = (object) ["a" => "b"];
echo $a <=> $b; // 0

$a = (object) ["a" => "b"];
$b = (object) ["a" => "c"];
echo $a <=> $b; // -1

$a = (object) ["a" => "c"];
$b = (object) ["a" => "b"];
echo $a <=> $b; // 1

// sadece değerler karşılaştırılmaz, anahtarlar da eşleşmeli
$a = (object) ["a" => "b"];
$b = (object) ["b" => "b"];
echo $a <=> $b; // 1

?>

Çeşitli türler arasında karşılaştırma aşağıdaki tabloya ve tablodaki sıralamaya uygun olarak yapılır.

Çeşitli Türlerin Karşılaştırılması
1. Terimin Türü | 2. Terimin Türü | Sonuç
null veya string | string | null, "" dizgesine dönüştürülür, sayısal veya alfabetik karşılaştırma yapılır.
bool veya null | herhangi bir tür | Her iki tarafta bool türüne dönüşümden sonra false < true karşılaştırması yapılır
object | object | Yerleşik sınıflar kendi karşılaştırmalarını tanımlayabilir. Farklı sınıflar eşsizdir. Aynı sınıflar için bkz: Nesne karşılaştırması
string, resource, int veya float | string, resource, int veya float | Diziler ve özkaynaklar sayılara dönüştürülür, sayısal karşılaştırma yapılır.
array | array | Daha az üyeye sahip dizi diğerinden küçüktür. Eğer 1. terimin anahtarı 2. terimde yoksa diziler eşsizdir. Karşılaştırma daima değerler karşılaştırılarak yapılır (aşağıdaki örneğe bakınız).
object | herhangi bir tür | object daima büyüktür.
array | herhangi bir tür | array daima büyüktür

Örnek 1 - Bool/null karşılaştırması

<?php
// Bool ve null daima bool gibi karşılaştırılır.
var_dump(1 == TRUE); // TRUE - (bool)1 == TRUE ile aynı
var_dump(0 == FALSE); // TRUE - (bool)0 == FALSE ile aynı
var_dump(100 < TRUE); // FALSE - (bool)100 < TRUE ile aynı
var_dump(-10 < FALSE);// FALSE - (bool)-10 < FALSE ile aynı
var_dump(min(-100, -10, NULL, 10, 100)); // NULL - (bool)NULL < (bool)-100 is FALSE < TRUE
?>

Örnek 2 - Özetle Standard Dizi Karşılaştırması

<?php
// Diziler mekik işlecinin yanı sıra standart karşılaştırma işleçleri ile
// böyle karşılaştırılır
function standard_dizi_karşılaştır($trm1, $trm2)
{
if (count($ter1) < count($ter2)) {
return -1; // $ter1 < $ter2
} elseif (count($op1) > count($op2)) {
return 1; // $ter1 > $ter2
}
foreach ($ter1 as $anh => $değ) {
if (!array_key_exists($anh, $ter2)) {
return 1;
} elseif ($değ < $ter2[$anh]) {
return -1;
} elseif ($değ > $ter2[$anh]) {
return 1;
}
}
return 0; // $ter1 == $ter2
}
?>

Uyarı

Kayan noktalı sayıların karşılaştırılması

float türlerinin dahili gösteriminden dolayı iki float sayının eşitliğine bakılamaz.

Bu konuda daha ayrıntılı bilgi için float türünün belgesine bakılabilir.

Bilginize: Farklı türdeki değerleri karşılaştırırken, özellikle tamsayıları mantıksal değerlerle veya dizgelerle karşılaştırırken, PHP'nin otomatik tür dönüşümünün her zaman açık olmadığı unutmamalıdır. Bu nedenle, çoğu durumda == ve != yerine genellikle === and !== karşılaştırmalarının kullanılması önerilir.

Eşsiz Değerler

Benzerlik karşılaştırması (=== and !==) her değere uygulanabilirken, diğer karşılaştırma işleçlerinin sadece karşılaştırılabilir değerlere uygulanması gerekir. Eşsiz değerlerin karşılaştırma sonucu tanımsızdır ve bu sonuca güvenilmemelidir.

Ayrıca Bakınız

  • strcasecmp()
  • strcmp()
  • Dizi işleçleri
  • Türler

Üç Terimli İşleç

Diğer bir karşılaştırma işleci ?: (üç terimli) işlecidir.

Örnek 3 - Öntanımlı bir değer atama

<?php
// Üç terimli işleç için kullanım örneği
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// Yukarıdaki kod ile buradaki if/else deyimi aynı işlemi yapar.
if (empty($_POST['action'])) {
$action = 'default';
} else {
$action = $_POST['action'];
}

?>
(ifade1) ? (ifade2) : (ifade3) ifadesinin sonucu, ifade1 doğruysa ifade2 değilse ifade3'tür.

Üç terimli işlecin orta parçasını dışarda bırakmak mümkündür. ifade1 ?: ifade3 ifadesinin sonucu, ifade1 doğruysa ifade1 değilse ifade3'tür.

Bilginize: Üç terimli işleç aslında bir ifadedir, dolayısıyla sonucu bir değişkene atanamaz, fakat bir deyimin sonucuna atanabilir. Bir değişkenin gönderimli döndürülmesi gerekiyorsa bu önem kazanır. Gönderimli olarak değer döndüren bir işlevde return $var == 42 ? $a : $b; deyimi bu bakımdan çalışmaz ve bir uyarı gösterilir.

Bilginize:

Üç terimli işleçleri parantezsiz olarak iç içe kullanmanız önerilmez. PHP'nin böyle bir işlemin tek bir deyimde yapılmak istenmesi durumundaki davranışı diğer dillerle karşılaştırıldığında beklendiği gibi olmayabilir. Aslında PHP 8.0.0'dan önce, üçlü ifadeler diğer programlama dilleri gibi sağdan sola yerine soldan sağa değerlendiriliyordu. PHP 7.4.0 itibariyle soldan sağa ilişkilendirmeye güvenilmesi önerilmemekte olup PHP 8.0.0 itibariyle üçlü işlecin değerlendirmesi yönsüzdür.

Örnek 4 - İç içe üç terimli davranışı

<?php
// ilk bakışta aşağıdaki deyimin sonucu 'true' olacak sanılır.
echo (true ? 'true' : false ? 't' : 'f');

// ancak gerçekte çıktı 't' olur, PHP 8.0.0 öncesinde.
// Çünkü üç terimli ifade soldan ilişkilendirilir.

// Aynı deyimi şöyle yazarsanız, durum anlaşılır hale gelir
echo ((true ? 'true' : false) ? 't' : 'f');

// Burada, ilk ifade mantıksal olarak doğru olduğundan sonuç 'true'
// olacak, böylece ikinci üç terimlinin ilk terimi 'true' olacak ve
// ikinci üç terimliden 't' dönecektir.
?>

Bilginize:

Ancak kısa üç terimli (?:) zincirleri kararlıdır ve beklendiği gibi davranır. Yanlış olmayan ilk bağımsız değişken değerlendirilir. Tanımsız değerlerin yine de bir uyarı vereceği unutulmamalıdır.

Örnek 5 - Kısa üç terimli zinciri

<?php
echo 0 ?: 1 ?: 2 ?: 3, PHP_EOL; //1
echo 0 ?: 0 ?: 2 ?: 3, PHP_EOL; //2
echo 0 ?: 0 ?: 0 ?: 3, PHP_EOL; //3
?>

Null kaynaşma işleci

Diğer bir kullanışlı işleç kısaltması olan "??" null kaynaşma işleci adını alır.

Örnek 6 - Öntanımlı değer atama

<?php
// Null kaynaşma işleci için kullanım örneği
$action = $_POST['action'] ?? 'default';

// Yukarıdaki satır, bu if/else deyimine eşdeğerdir.
if (isset($_POST['action'])) {
$action = $_POST['action'];
} else {
$action = 'default';
}

?>
(ifade1) ?? (ifade2) ifadesinin sonucu, ifade1 null ise ifade2 değilse ifade1'dir.

Aslında, bu işleç sol taraf değeri mevcut değilse isset() gibi bir uyarı ya da bilgi çıktılamaz. Bu, özellikle dizi anahtarlarında kullanışlıdır.

Bilginize: Null kaynaşma işleci bir ifade olup bir değişkene atanmaz ama bir deyimin sonucuna atanabilir. Bir değişkenin gönderimli döndürülmesi gerekiyorsa bunu belirtmek önemlidir. Gönderimli döndüren bir işlevde return $foo ?? $bar; deyimi bu nedenle çalışmaz ve bir uyarı çıktılanır.

Bilginize:

Null kaynaşma işleci düşük önceliğe sahiptir. Yani, diğer işleçlerle (dizge bitiştirme veya aritmetik işleçler gibi) birlikte kullanıldığında yay ayraçlar gerekli olabilir.

<?php
// $name tanımsızsa uyarı verilir
print 'Mr. ' . $name ?? 'Anonymous';

// "Mr. Anonymous" basar
print 'Mr. ' . ($name ?? 'Anonymous');
?>

Bilginize:

Null kaynaşma işleci basit iç içeliğe izin verir:

Örnek 7 - İçiçe null kaynaşma işleci

<?php

$foo = null;
$bar = null;
$baz = 1;
$qux = 2;

echo $foo ?? $bar ?? $baz ?? $qux; // 1 basar

?>


Hata Denetim İşleçleri

PHP tek bir hata denetim işlecini destekler: kuyruklu a imi (@). PHP'de bir deyimin başına getirildiğinde, bu deyimin üreteceği olası hata iletileri engellenir.

set_error_handler() ile özel bir hata işleyici işlevi ayarlanırsa, tanılama bastırılmış olsa bile işlev çağrılır.

Uyarı

PHP 8.0.0'dan önce, özel hata işleyicisinden çağrılan error_reporting() işlevi, hata @ işleci ile bastırılmış olsa bile daima 0 döndürürdü. PHP 8.0.0 ve sonrasında E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR | E_USER_ERROR | E_RECOVERABLE_ERROR | E_PARSE bitsel ifadesinin değeri dönmektedir.

İfade tarafından üretilenhata iletisi, get_error_last() işlevinden dönen dizinin "message" elemanında bulunur. Bu işlevin sonucu her hatada değişir, bu bakımdan sonuca yeterince kısa sürede bakmak gerekir.

<?php
/* Kasıtlı dosya hatası */
$dosyam = @file ('var_olmayan_dosya') or
die ("Dosya açılamadı: hata '" . get_error_last()['message'] . "'");

// İfadelerle çalışır ama işlevlerle çalışmaz:
$değer = @$cache[$key];
// $key indisi mevcut değilse bir uyarı çıktılanır.

?>

Bilginize: Kuyruklu a işleci sadece ifadelerin başında kullanıldığında çalışır. Kısaca: Bir değer elde edilebilen herşeyin başına @ getirilebilir. Örneğin, değişkenlerin işlev veya include çağrılarının, sabitlerin ve benzerlerinin başına @ getirilebilir. Ama işlev veya sınıf tanımlarının veya if ve foreach gibi denetim yapılarının başına @ konamaz.

Uyarı

PHP 8.0.0 öncesinde, @ hata denetim işleci ile betiğin çalışmasını sonlandıracak önemli hataların raporlanmasını iptal etmek mümkündü. Bu bakımdan, işleç örneğin bir işlevden kaynaklanabilecek hataları bastırmak için kullanılıyorsa, işlev tanımında yapılan yazım hataları nedeniyle veya işlevin yokluğu halinde, ne olup bittiği anlaşılamadan betik sonlanabiliyordu.

Ayrıca Bakınız

  • error_reporting()
  • Hata İşleme İşlevleri


Çalıştırma İşleci

PHP tek bir çalıştırma işlecini destekmektedir: ters tırnak imleri (``). Bunların sıradan tek tırnaklar olmadığına dikkat edilmelidir! Ters tırnak imlerinin arasına yazılmış komutları PHP komut satırında çalıştıracak ve çıktısını döndürecektir. Yani, komut satırına birşey çıktılanmaz; ama sonucu bir değişkene atayabilirsiniz. Çalıştırma işleci shell_exec() işlevinin yaptığı işi yapar.

<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>

Bilginize:

shell_exec() işlevi etkin değilse, çalıştırma işleci etkin değildir.

Bilginize:

Bazı başka dillerin aksine, tek tırnak imlerinin çift tırnaklı dizeler içinde özel bir anlamı yoktur.

Ayrıca Bakınız

  • Program Çalıştırma İşlevleri
  • popen()
  • proc_open()
  • PHP'nin komut satırından kullanılması


Mantıksal İşleçler

Mantıksal İşleçler
Örnek | İsim | Sonuç
$a and $b | Ve | $a ve $b her ikisi de doğruysa sonuç doğrudur (true).
$a or $b | Veya | $a veya $b doğruysa sonuç doğrudur.
$a xor $b | Ayrıcalıklı Veya | $a veya $b doğruysa sonuç doğru, her ikiside doğruysa sonuç yanlıştır (false).
! $a | Değil | $a doğru değilse sonuç doğrudur.
$a && $b | Ve | $a ve $b her ikisi de doğruysa sonuç doğrudur.
$a || $b | Veya | $a veya $b doğruysa sonuç doğrudur.

Ve, Veya işleçlerinin iki farklı türü olmasının sebebi önceliklerinin farklı oluşudur. (Bakınız: İşleç Önceliği.)

Örnek 1 - Örneklerle mantıksal işleçler

<?php
// --------------------
// Aşağıdaki ifadelerde ilk terim sonucu belirlediğinden ikinci
// terime hiç bakılmayacak, yani foo() işlevi hiç çağrılmayacaktır.
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());

// --------------------
// "||" işlecinin önceliği "or" işlecinden yüksektir.
// İfadenin sonucu $e'ye atanır (false || true)
// Tıpkı şöyle: ($e = (false || true))
$e = false || true;

// "or" işleminden önce false sabiti $f'ye atanır ve true yoksayılır
// Tıpkı böyle: (($f = false) or true)
$f = false or true;

var_dump($e, $f);

// --------------------
// "&&" işlecinin önceliği "and" işlecinden yüksektir.
// İfadenin sonucu $g'ye atanır (true && false)
// Tıpkı böyle: ($g = (true && false))
$g = true && false;

// "and" işleminden önce true sabiti $h'ya atanır ve false yoksayılır
// Tıpkı böyle: (($h = true) and false)
$h = true and false;

var_dump($g, $h);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)
bool(false)
bool(true)


Dizge İşleçleri

İki tane dizge işleci vardır. İlki sol ve sağ terimlerini ard arda ekleyen birleştirme işleci ('.'), ikincisi ise sağ taraftaki bağımsız değişkeni sol taraftaki bağımsız değişkene ekleyen birleştirerek atama işlecidir (.=). Daha fazla bilgi için bkz: atama işleçleri.

<?php
$a = "Merhaba ";
$b = $a . "Dünyalı!"; // $b artık "Merhaba Dünyalı!" içeriyor

$a = "Merhaba ";
$a .= "Dünyalı!"; // $a artık "Merhaba Dünyalı!" içeriyor
?>

Ayrıca Bakınız

  • string türü
  • Dizge İşlevleri


Dizi İşleçleri

Dizi İşleçleri
Örnek | İsim | Sonuç
$a + $b | Birleşim | $a ve $b'nin birleşimi.
$a == $b | Eşitlik | $a ve $b aynı anahtar/değer çiftlerine sahipse sonuç doğrudur.
$a === $b | Aynılık | $a ve $b aynı anahtar/değer çiftlerine sahipse ve bunların sırası ve türleri aynıysa sonuç doğrudur.
$a != $b | Eşitsizlik | $a ve $b birbirine eşit değilse sonuç doğrudur.
$a <> $b | Eşitsizlik | $a ve $b birbirine eşit değilse sonuç doğrudur.
$a !== $b | Farklılık | $a ve $b aynı dizi değilse sonuç doğrudur.

+ işleci sol taraf dizisini sağ taraf dizisine ekleyip sağ taraf dizisini döndürür. Her iki dizinin anahtarları alınır, sol taraf dizisinin elemenları alınır ve sağ taraf dizisindeki eşleşen elemanlar yok sayılır.

<?php
$a = array("a" => "elma", "b" => "armut");
$b = array("a" => "vişne", "b" => "kiraz", "c" => "çilek");

$c = $a + $b;
echo "\$a ve \$b'nin birleşimi: \n";
var_dump($c);

$c = $b + $a;
echo "\$b ve \$a'nın birleşimi: \n";
var_dump($c);

$a += $b; // $a += $b'nin birleşimi $a ve $b'dir
echo "\$a += \$b'nin birleşimi: \n";
var_dump($a);
?>
Betik çalıştırıldığında şu çıktıyı verir:
$a ve $b'nin birleşimi:
array(3) {
  ["a"]=>
  string(4) "elma"
  ["b"]=>
  string(5) "armut"
  ["c"]=>
  string(6) "çilek"
}
$b ve $a'nın birleşimi:
array(3) {
  ["a"]=>
  string(6) "vişne"
  ["b"]=>
  string(5) "kiraz"
  ["c"]=>
  string(6) "çilek"
}
$a += $b'nin birleşimi:
array(3) {
  ["a"]=>
  string(5) "elma"
  ["b"]=>
  string(6) "muz"
  ["c"]=>
  string(6) "çilek"
}

Aynı anahtar ve değere sahip dizi elemanları birbirine eşit kabul edilir.

Örnek 1 - Dizilerin karşılaştırılması

<?php
$a = array("elma", "armut");
$b = array(1 => "armut", "0" => "elma");

var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>

Ayrıca Bakınız

  • array türü
  • Dizi İşlevleri


Tür İşleçleri

instanceof işleci, bir PHP değişkeninin belli bir sınıfın nesnel örneği olup olmadığını saptar:

Örnek 1 - instanceof ve sınıflar

<?php
class Sınıfım
{
}

class BaşkaSınıf
{
}
$a = new Sınıfım;

var_dump($a instanceof Sınıfım);
var_dump($a instanceof BaşkaSınıf);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

instanceof ayrıca, bir değişkenin, bir ebeveyn sınıftan miras alınan bir sınıfın nesnel örneği olup olmadığını saptamak için de kullanılabilir:

Örnek 2 - Miras alınan sınıflar ve instanceof kullanımı

<?php
class EbeveynSınıf
{
}

class Sınıfım extends EbeveynSınıf
{
}

$a = new Sınıfım;

var_dump($a instanceof Sınıfım);
var_dump($a instanceof EbeveynSınıf);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)

Bir nesne bir sınıfın örneği değilse bunu sınamak için mantıksal değil işleci kullanılabilir.

Örnek 3 - Bir sınıfın örneği olmayan bir sınıfın instanceof ile sınanması

<?php
class Sınıfım
{
}

$a = new Sınıfım;
var_dump(!($a instanceof stdClass));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Son olarak, instanceof işleci, bir değişkenin, bir arayüzü gerçekleyen bir sınıfın örneği olup olmadığını sınamak için kullanılabilir:

Örnek 4 - Arayüzler için instanceof kullanımı

<?php
interface Arayüzüm
{
}

class Sınıfım implements Arayüzüm
{
}

$a = new Sınıfım;

var_dump($a instanceof Sınıfım);
var_dump($a instanceof Arayüzüm);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)

instanceof işlecinin normal olarak bir sayıl sınıf ismi ile kullanılmasının yanında başka bir nesne veya bir dizge değişkeni ile de kullanılabilir:

Örnek 5 - Başka değişkenlerle instanceof kullanımı

<?php
interface Arayüzüm
{
}

class Sınıfım implements Arayüzüm
{
}

$a = new Sınıfım;
$b = new Sınıfım;
$c = 'Sınıfım';
$d = 'BaşkaSınıf';

var_dump($a instanceof $b); // $b, Sınıfım sınıfının bir nesnesidir
var_dump($a instanceof $c); // $c 'Sınıfım' dizgesini içerir
var_dump($a instanceof $d); // $d 'BaşkaSınıf' dizgesini içerir
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)

Sınanan değişken bir nesne değilse instanceof hata çıktılamaz, basitçe false döndürür. Sabitlere, her nasılsa, PHP 7.3.0 öncesinde izin verilmezdi.

Örnek 6 - Değişkenleri sınamak için instanceof kullanımı

<?php
$a = 1;
$b = NULL;
$c = imagecreate(5, 5);
var_dump($a instanceof stdClass); // $a bir tamsayıdır
var_dump($b instanceof stdClass); // $b NULL'dur
var_dump($c instanceof stdClass); // $c bir özkaynaktır
var_dump(FALSE instanceof stdClass);
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(false)
PHP Fatal error:  instanceof expects an object instance, constant given

PHP 7.3.0 ve sonrasında, instanceof işlecinin sol tarafında sabitlere izin verilmektedir.

Örnek 7 - Sabit kullanımını sınamak için instanceof kullanımı

<?php
var_dump(FALSE instanceof stdClass);
?>

Yukarıdaki örneğin PHP 7.3 çıktısı:

bool(false)

PHP 8.0.0 ve sonrasında, instanceof keyfi ifadelerde kullanılabilmektedir. Bu ifadeler parantezlerle sarmalanmalı ve bir dizge üretmelidir.

Örnek 8 - Keyfi ifadelerde instanceof kullanımı

<?php

class ClassA extends \stdClass {}
class ClassB extends \stdClass {}
class ClassC extends ClassB {}
class ClassD extends ClassA {}

function getSomeClass(): string
{
return ClassA::class;
}

var_dump(new ClassA instanceof ('std' . 'Class'));
var_dump(new ClassB instanceof ('Class' . 'B'));
var_dump(new ClassC instanceof ('Class' . 'A'));
var_dump(new ClassD instanceof (getSomeClass()));
?>

Yukarıdaki örneğin PHP 8 çıktısı:

bool(true)
bool(true)
bool(false)
bool(true)

instanceof işleci yerine kullanılabilecek bir işlev de vardır: is_a()

Ayrıca Bakınız

  • get_class()
  • is_a()


Denetim Yapıları

İçindekiler

  • Giriş
  • if
  • else
  • elseif/else if
  • Denetim yapıları için diğer sözdizimi
  • while
  • do-while
  • for
  • foreach
  • break
  • continue
  • switch
  • match
  • declare
  • return
  • require
  • include
  • require_once
  • include_once
  • goto


Giriş

Bütün PHP betikleri bir dizi deyimden oluşur. Bir deyim; bir atama, bir işlev çağrısı, bir döngü, bir koşullu deyim hatta hiçbir şey yapmayan bir deyim (boş bir deyim) olabilir. Deyimler bir noktalı virgülle sonlandırılır. Ek olarak, deyimler kaşlı ayraçlar içine alınarak deyim grupları haline getirilebilirler. Bir deyim grubu da kendi başına bir deyim olarak kabul edilir. Bu fasılda deyim türlerinden bahsedeğiz.

Ayrıca Bakınız

Aşağıdakiler, kılavuzda işlevler altında bulunmalarına rağmen dil yapıları olarak kabul edilir.

  • list()
  • array()
  • echo
  • eval()
  • print


if

(PHP 4, PHP 5, PHP 7, PHP 8)

if oluşumu, PHP dahil olmak üzere birçok programlama dilindeki en önemli yapı taşlarından biri olup kod bölümlerinin koşullu olarak çalıştırılabilmelerini sağlar. PHP, C dilindekine benzer bir if yapısı sunar:

if (ifade)
    deyim

İfadelerle ilgili bölümde de anlatıldığı gibi, ifade kendi mantıksal değeri üzerinden değerlendirilir. ifade'nin sonucu true ise, PHP deyim'i çalıştırır, false ise gözardı eder. Hangi değerlerin false olarak değerlendirildiği hakkında daha fazla bilgiyi boolean türüne dönüşüm bölümünde bulabilirsiniz.

Aşağıdaki örnek, $a değeri $b değerinden büyük olduğu takdirde a büyüktür b metnini görüntüleyecektir:

<?php
if ($a > $b)
echo "a büyüktür b";
?>

Çoğunlukla birden çok deyimin koşullu olarak çalıştırılmasını isteyeceksiniz. Elbette, her deyimi ayrı ayrı if cümlecikleri içine almanıza gerek yoktur. Birden çok deyimi tek bir deyim grubu içine toplayabilirsiniz. Örneğin, aşağıdaki kod $a değeri $b değerinden büyük olduğu takdirde a büyüktür b metnini görüntüleyecektir ve sonrasında $a değişkeninin değerini $b değişkenine atayacaktır:

<?php
if ($a > $b) {
echo "a büyüktür b";
$b = $a;
}
?>

Sonsuz sayıda if deyimi bir başka if deyiminin içine gömülebilir. Bu, uygulamanızın çeşitli bölümlerine koşullu deyimler uygulayabilmeniz için tam bir esneklik sağlar.


else

(PHP 4, PHP 5, PHP 7, PHP 8)

Çoğu zaman belli bir koşul sağlandığında bir deyimin, o koşul sağlanmadığında başka bir deyimin çalıştırılmasını isteyeceksiniz. Bunun için else kullanılmaktadır. Else, bir if deyimini false döndürdüğü takdirde bir deyim çalıştırmak üzere genişletir. Örneğin, aşağıdaki kod $a değeri $b değerinden büyükse a büyüktür b, büyük değilse a büyük değildir b iletisini görüntüleyecektir:

<?php
if ($a > $b) {
echo "a büyüktür b";
} else {
echo "a büyük değildir b";
}
?>
Else deyimi yalnızca if deyiminin false döndürdüğü durumda çalıştırılacaktır. Aynı durum, false döndüren herhangi bir elseif ifadesinin olması durumunda da geçerlidir (bakınız elseif).

Bilginize: Sarkan else

if-else deyimlerinin iç içe olduğu durumda, else deyimleri daima en yakın if ile ilişkilendirilir.

<?php
$a = false;
$b = true;
if ($a)
if ($b)
echo "b";
else
echo "c";
?>
Girintiye (PHP için bu da yoksayılacak boşluklardan biridir) rağmen, else beklenenin aksine if ($b) ile ilişkilendirilir, bu nedenle örnek herhangi bir çıktı üretmez. Bu davranışa güvenilebilirse de, kaşlı ayraçları kullanarak olası belirsizlikleri gidermek daha iyidir.


elseif/else if

(PHP 4, PHP 5, PHP 7, PHP 8)

elseif, isminden de anlaşılacağı gibi, if ve else deyimlerinin biraraya gelmesiyle oluşur. else gibi, orijinal if ifadesinin false döndürdüğü durumda farklı bir deyimin çalıştırılması için kullanılır. Ancak, else'ten farklı olarak, ilgili deyimi sadece kendisine ait koşullu ifade true değerini döndürdüğü takdirde çalıştıracaktır. Örneğin, aşağıdaki kod a büyüktür b, a eşittir b ya da a küçüktür b iletisini görüntüleyecektir:

<?php
if ($a > $b) {
echo "a büyüktür b";
} elseif ($a == $b) {
echo "a eşittir b";
} else {
echo "a küçüktür b";
}
?>

Aynı if deyimine ait birden çok elseif bulunabilir. İlk önce hangi elseif deyimi true değerini döndürürse (eğer döndüren varsa) o deyim çalıştırılır. Bu deyim 'elseif' biçiminde tek sözcük olarak kullanılabileceği gibi, 'else if' biçiminde iki sözcük olarak da kullanılabilir, sonuç aynı olacaktır. Sözdiziminin anlamlandırılması açısından küçük bir farklılık olsa da (C dilinde de böyledir) sonuç olarak her ikisi de aynı sonucu üretecektir.

elseif ifadesi yalnızca kendisinden önceki if ifadesi ve bu ifadeye bağlı kendisinden önce gelen diğer tüm elseif ifadeleri false ile sonuçlandığında çalıştırılır ve true olarak değerlendirilir.

Bilginize: elseif (tek sözcük) ve else if (iki sözcük), yukarıdaki örnekten anlaşılacağı üzere sadece kaşlı ayraçlar kullanıldığı zaman tamamen aynı şekilde ele alınır. if ve elseif için iki noktalı sözdizimi kullanıldığında elseif iki sözcüğe ayrılmamalıdır, yoksa PHP bir çözümleme hatası vererek başarısız olur.

<?php

/* Yanlış Yöntem: */
if ($a > $b):
echo $a." büyüktür ".$b;
else if ($a == $b): // Bu derlenmez.
echo "Üstteki satır bir çözümleme hatasına yol açar.";
endif;

/* Doğru Yöntem: */
if ($a > $b):
echo $a." büyüktür ".$b;
elseif ($a == $b): // Sözcüklerin birleşik oluşuna dikkat!
echo $a." eşittir ".$b;
else:
echo $a." ne büyük ne de eşittir ".$b;
endif;

?>


Denetim yapıları için diğer sözdizimi

(PHP 4, PHP 5, PHP 7, PHP 8)

PHP bazı denetim yapıları için farklı bir sözdizimi sağlar. Bu yapılar if, while, for, foreach ve switch yapılarıdır. Her durumda, bu farklı sözdiziminin basit şekli açılışta kullanılan kaşlı ayracın yerine iki nokta imi (:) ve kapanışta kullanılan kaşlı ayraç yerine de sırasıyla endif;, endwhile;, endfor;, endforeach; ya da endswitch; deyimlerinden birini kullanmaktır.

<?php if ($a == 5): ?>
A eşittir 5
<?php endif; ?>

Yukarıdaki örnekte, içeriği "A eşittir 5" olan HTML bloğu iki noktalı sözdimi kullanılarak yazılmış bir if deyiminin içine gömülmüştür. HTML bloğu yalnızca $a değişkeni 5'e eşit olduğunda gösterilecektir.

İki noktalı sözdimi, else ve elseif için de kullanılabilir. Birazdan vereceğimiz örnek, iki noktalı sözdizimi ile yazılmış elseif ve else içeren bir if yapısıdır:

<?php
if ($a == 5):
echo "a eşittir 5";
echo "...";
elseif ($a == 6):
echo "a eşittir 6";
echo "!!!";
else:
echo "a ne 5 ne de 6'dır";
endif;
?>

Bilginize:

Aynı denetim kümesi içinde karışık sözdizimi desteklenmemektedir.

Uyarı

switch deyimi ile ilk case deyimi arasındaki herhangi bir çıktı (boşluklar dahil) sözdizimi hatasına yol açar. Örneğin, aşağıdaki kod geçersizdir:

<?php switch ($foo): ?>
 <?php case 1: ?>
 ...
<?php endswitch; ?>

Fakat bu örnek geçerlidir. switch deyiminden sonraki satırsonu karakteri ?> kapama etiketinin parçası olarak ele alınıp switch ile case arasında hiçbir şey çıktılanmaz:

<?php switch ($foo): ?>

<?php case 1: ?>
 ...
<?php endswitch; ?>

Daha fazla örnek için while, for ve if cümleciklerine bakabilirsiniz.


while

(PHP 4, PHP 5, PHP 7, PHP 8)

while döngüsü PHP'de yer alan en basit döngü türüdür. C'deki karşılığı ile aynı şekilde çalışır. Bir while deyiminin basit kullanımı:

while (ifade)
    deyim

While deyiminin anlamı basittir. while deyimindeki ifade true olduğu müddetçe etki alanındaki deyimleri PHP tekrar tekrar çalıştırır. İfadenin değeri döngünün her yinelenişinde yeniden değerlendirilir, deyimlerin çalıştırılması sırasında bu ifadenin değeri false olsa bile, etki alanındaki deyimlerin tamamı çalıştırılıncaya kadar işlem devam eder. (PHP döngü içindeki deyimleri her yinelemede bir kere çalıştırır.) while ifadesi daha başlangıçta false değerini verirse while etki alanındaki deyimler tek bir defa bile çalıştırılmaz.

if deyiminde olduğu gibi, birden çok deyimi aynı while döngüsü içinde kaşlı ayraçlar arasında veya iki noktalı sözdizimini kullanarak gruplayabilirsiniz:

while (ifade):
    deyimler
    ...
endwhile;

Aşağıdaki örnekler birbirleri ile aynıdırlar, her ikisi de sayıları 1'den 10'a kadar yazacaktır:

<?php
/* örnek 1 */

$i = 1;
while ($i <= 10) {
echo $i++; /* yazdırılan değer $i
değerinin artıştan önceki
değeridir (sonda-arttırım) */
}

/* örnek 2 */

$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>


do-while

(PHP 4, PHP 5, PHP 7, PHP 8)

do-while döngüsü, while döngüsüne çok benzer; farkı, doğrulama ifadesinin her yinelemenin başında değil sonunda değerlendiriliyor olmasıdır. while döngüsü ile temek farklılık, do-while kullanıldığında ilk yinelemenin daima yapılıyor olmasıdır (ifadenin doğruluğuna yalnızca yinelemenin sonunda bakılır); halbuki while döngüsünde, ifadenin doğruluğuna her yinelemenin öncesinde bakılmakta ve ifadenin sonucu doğru değilse yineleme hiç başlatılmadan döngü sonlandırılmaktadır.

do-while döngüsü için yalnızca tek bir sözdizimi mevcuttur:

<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>

Yukarıdaki döngü tam olarak bir defa çalışacaktır, ilk tekrardan sonra ifadenin doğruluğuna bakıldığında false değerini verecek ($i sıfırdan büyük değildir) ve döngünün çalışması sonlanacaktır.

<?php
do {
if ($i < 5) {
echo "i yeterince büyük değil";
break;
}
$i *= $çarpan;
if ($i < $alt_sınır) {
break;
}
echo "i uygun";

/* i değerini işle */

} while (0);
?>

Bu özelliğin yerine goto kullanılabilir.


for

(PHP 4, PHP 5, PHP 7, PHP 8)

for döngüsü, PHP'deki en karmaşık döngü yapısıdır. C'deki karşılığıyla aynı biçimde çalışır. for döngüsünün sözdimi:

for (ifade1; ifade2; ifade3)
    deyim

İlk ifade (ifade1) döngünün en başında bir kereliğine koşulsuz olarak çalıştırılır.

Her yinelemenin başında ifade2 yeniden değerlendirilir. Bu ifadeden true sonucu elde edilirse, döngüye devam edilir ve döngünün etki alanındaki deyimler çalıştırılır. Bu ifadeden false sonucu elde edildiğinde etki alanındaki deyimler çalıştırılmaksızın döngü sonlandırılır.

ifade3 ise her yinelemenin sonunda çalıştırılır.

Bu ifadelerin herbirini boş bırakmak da mümkündür. ifade2nin boş olması, döngünün sonsuza kadar çalıştırılacağı anlamına gelir (PHP, C'deki gibi bu durumu true olarak değerlendirir). Döngülerden genellikle bir şarta bağlı olarak break deyimi ile çıkmak isteyeceğiniz düşünüldüğünde, bu durum düşündüğünüz kadar kullanışsız değildir.

Aşağıdaki örnekleri ele alalım. Hepsi de 1'den 10'a kadar sayıları görüntülemektedir:

<?php
/* örnek 1 */

for ($i = 1; $i <= 10; $i++) {
echo $i;
}

/* örnek 2 */

for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}

/* örnek 3 */

$i = 1;
for (; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}

/* örnek 4 */

for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
?>

Elbette, kullandığımız ilk örnek en güzel örnek olarak gözükmektedir (ya da belki dördüncü örnek), ancak birçok durumda for döngüsü içerisinde boş ifadeler kullanmayı oldukça kullanışlı bulabilirsiniz.

PHP, iki noktalı sözdizimini for döngüleri için de desteklemektedir.

for (ifade1; ifade2; ifade3):
    deyimler
    ...
endfor;

Çoğu kullanıcının yaptığı gibi diziler üzerindeki yinelemeleri şöyle yapabilirsiniz:

<?php
/*
* Diziye baştan bir kaç veri atıp daha sonra
* döngü içinde verilerde değişiklik yapacağız.
*/
$bizimkiler = Array(
Array('isim' => 'Ali', 'tuz' => 856412),
Array('isim' => 'Veli', 'tuz' => 215863)
);

for($i = 0; $i < count($bizimkiler); ++$i)
{
$bizimkiler[$i]['tuz'] = mt_rand(000000, 999999);
}
?>

Her yinelemede dizinin boyutları yeniden hesaplandığından kod yavaş çalışabilir. Örnekte boyut değişmediğinden count() işlevini defalarca çağırmak yerine dizi boyutunu bir değişkene atıp ifadede bu değişken kullanılarak kod en iyilenebilir:

<?php
$bizimkiler = Array(
Array('isim' => 'Ali', 'tuz' => 856412),
Array('isim' => 'Veli', 'tuz' => 215863)
);

for($i = 0, $size = count($bizimkiler); $i < $size; ++$i)
{
$bizimkiler[$i]['salt'] = mt_rand(000000, 999999);
}
?>


foreach

(PHP 4, PHP 5, PHP 7, PHP 8)

foreach yapısı diziler üzerinde yineleme yapmayı kolaylaştırmaktadır. foreach yalnızca diziler ve nesneler için kullanılabilir; farklı veri türünde veya ilklendirilmemiş bir değişken ile kullanmak istediğinizde hata verir. İki sözdizimi mevcuttur:

foreach (yinelenebilir_ifade as $değer)
    deyim
foreach (yinelenebilir_ifade as $isim => $değer)
    deyim

İlk sözdizimi yinelenebilir_ifade ile belirtilen yinelenebilirin etrafında döner. Her yinelemede, sırası gelen elemanın değeri $değer değişkenine atanır.

İkinci yöntem de aynı şeyi yapar, ek olarak her yinelemede sırası gelen elemanın anahtarı $isim değişkenine atanır.

foreach işlevinin, current() ve key() gibi işlevler tarafından kullanılan dahili dizi göstericisini değiştirmediği unutulmamalıdır.

PHP 5'den itibaren, nesneleri yinelemek mümkün olmuştur.

$değer değişkeninin önüne & koyarak dizi elemanları üzerinde kolayca değişiklik yapılabilir. Böylece değer gönderimli hale gelir.

<?php
$dizi = array(1, 2, 3, 4);
foreach ($dizi as &$değer) {
$değer = $değer * 2;
}
// $dizi artık array(2, 4, 6, 8) olmuştur
unset($değer); // son eleman da işlendiğine göre gönderimi kaldıralım
?>

Uyarı

$değer gönderim için kullanıldığından foreach döngüsünün sonunda son dizi elemanına gönderimli olarak kalır, bu bakımdan döngünün sonunda bu gönderimin unset() işlevi kullanılarak kaldırılması önerilir. Yoksa aşağıdaki davranışla karşılaşırsınız:

<?php
$dizi = array(1, 2, 3, 4);
foreach ($dizi as &$değer) {
$değer = $değer * 2;
}
// $dizi şimdi array(2, 4, 6, 8)

// unset($değer) olmaksızın, $değer hala son öğeye gösterimli olur: $dizi[3]

foreach ($dizi as $key => $değer) {
// $dizi[3] artık $dizi içindeki her değerle güncellenecek
echo "{$key} => {$değer} ";
print_r($dizi);
}
// ...ikinciden son değere kadar son değere kopyalanacak.

// çıktı:
// 0 => 2 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 2 )
// 1 => 4 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 4 )
// 2 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
// 3 => 6 Array ( [0] => 2, [1] => 4, [2] => 6, [3] => 6 )
?>

Bir sabit dizinin değerini gönderim olarak yinelemek mümkündür:

<?php
foreach (array(1, 2, 3, 4) as &$değer) {
$değer = $değer * 2;
}
?>

Bilginize:

foreach @ kullanarak hata iletilerini göstermeme yeteneğini desteklemez.

Değişik kullanımlara örnekler:

<?php
/* foreach örneği 1: yalnızca değer */

$a = array(1, 2, 3, 17);

foreach ($a as $v) {
echo "\$a değişkeninin şu anki değeri: $v.\n";
}

/* foreach örneği 2: değer (örnek olması için anahtar
* ile birlikte yazdırılmıştır) */

$a = array(1, 2, 3, 17);

$i = 0; /* yalnızca örnekleme için */

foreach ($a as $v) {
echo "\$a[$i] => $v.\n";
$i++;
}

/* foreach örneği 3: anahtar ve değer */

$a = array(
"bir" => 1,
"iki" => 2,
"üç" => 3,
"on yedi" => 17
);

foreach ($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}

/* foreach örneği 4: çok boyutlu diziler */
$a = array();
$a[0][0] = "a";
$a[0][1] = "b";
$a[1][0] = "y";
$a[1][1] = "z";

foreach ($a as $v1) {
foreach ($v1 as $v2) {
echo "$v2\n";
}
}

/* foreach örneği 5: dinamik diziler */

foreach (array(1, 2, 3, 4, 5) as $v) {
echo "$v\n";
}
?>

İç içe dizilerin list() ile ayrıştırılması

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Dizi dizileri üzerinde döngü oluşturmak ve list() işlevini değer olarak kullanmak suretiyle içteki diziyi döngü değişkenlerine atayarak onu da açmak artık mümkündür.

Örneğin:

<?php
$dizi = [
[1, 2],
[3, 4],
];

foreach ($dizi as list($a, $b)) {
// $a içteki dizinin ilk elemanını,
// $b ikinci elemanını içerecektir.
echo "A: $a; B: $b\n";
}
?>

Yukarıdaki örneğin çıktısı:

A: 1; B: 2
A: 3; B: 4

İçteki dizinin gerekmeyen elemanlarını list() içinde içermeyebilirsiniz:

<?php
$dizi = [
[1, 2],
[3, 4],
];

foreach ($dizi as list($a)) {
// Burada artık $b yok.
echo "$a\n";
}
?>

Yukarıdaki örneğin çıktısı:

1
3

list() için yeterli sayıda dizi elemanı yoksa bir uyarı üretilir.:

<?php
$dizi = [
[1, 2],
[3, 4],
];

foreach ($dizi as list($a, $b, $c)) {
echo "A: $a; B: $b; C: $c\n";
}
?>

Yukarıdaki örneğin çıktısı:

Notice: Undefined offset: 2 in example.php on line 7
A: 1; B: 2; C:

Notice: Undefined offset: 2 in example.php on line 7
A: 3; B: 4; C:


break

(PHP 4, PHP 5, PHP 7, PHP 8)

break deyimi, for, foreach, while, do-while ve switch yapılarının çalışmasını sonlandırmak için kullanılır.

break deyiminde istenirse bir sayısal ifade belirtilebilir. Bu sayı iç içe yapılardan içten dışa kaç yapının aynı anda durdurulacağını belirler. Öntanımlı değer 1 olup sadece ilk yapının çalışması sonlandırılır.

<?php
$arr = array('sıfır', 'bir', 'iki', 'üç', 'dur', 'dört', 'beş');
foreach ($arr as $val) {
if ($val == 'dur') {
break; /* Burada 'break 1;' de yazabilirsiniz. */
}
echo "$val<br />\n";
}

/* Sayısal değer kullanımı. */

$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "5'de<br />\n";
break 1; /* Yalnızca switch'ten çıkar. */
case 10:
echo "10'da; çıkılıyor<br />\n";
break 2; /* switch ve while'dan aynı anda çıkılır. */
default:
break;
}
}
?>


continue

(PHP 4, PHP 5, PHP 7, PHP 8)

continue deyimi döngü yapılarının içinde kullanılır. Bu deyim kullanıldığında, döngünün kalan kısmı atlanır ve sonraki yineleme başlatılır.

Bilginize: PHP'de switch deyimi continue deyiminin kullanılabileceği döngülerden biri olarak kabul edilmektedir. continue deyimi sayısal değer içermeyen break gibi davranır, ancak bu muhtemelen bir hata olduğundan bir uyarıya sebep olacaktır. Eğer switch bir döngü içindeyse continue 2 dıştaki döngünün sonraki yinelemesinden devam eder.

continue deyimi ile seçime bağlı sayısal bir değer kullanılarak, kaç seviye döngünün sonuna atlanacağı belirtilebilir. Öntanımlı değer 1 olup geçerli döngünün sonuna atlanır.

<?php
$arr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six'];
foreach ($arr as $key => $value) {
if (0 === ($key % 2)) { // tek anahtarlı üyeleri atla
continue;
}
echo $value . "\n";
}
?>

Yukarıdaki örneklerin çıktısı:

one
three
five
<?php

$i = 0;
while ($i++ < 5) {
echo "Dış\n";
while (1) {
echo "Orta\n";
while (1) {
echo "İç\n";
continue 3;
}
echo "Bu hiçbir zaman çıktı vermez.\n";
}
echo "Bundan da çıktı alamazsınız.\n";
}
?>

Yukarıdaki örneklerin çıktısı:

Dış
Orta
İç
Dış
Orta
İç
Dış
Orta
İç
Dış
Orta
İç
Dış
Orta
İç

continue deyiminden sonra noktalı virgül konmazsa bu durum karışıklığa yol açabilir. Yapmamanız gereken ile ilgili bir örnek:

<?php
for ($i = 0; $i < 5; ++$i) {
if ($i == 2)
continue
print "$i\n";
}
?>

Şu biçimde bir çıktı almayı bekleyebilirsiniz:

0
1
3
4

continue ile ilgili değişiklikler
Sürüm: | Açıklama
7.3.0 | switch içinde bir break deyimi gibi davranmaya çalışan bir continue bir E_WARNING tetikleyecektir.


switch

(PHP 4, PHP 5, PHP 7, PHP 8)

switch deyimi, aynı ifade içersinde yer alan bir dizi IF deyimine benzer. Birçok durumda, aynı değişkeni (ya da ifadeyi) birden çok değerle karşılaştırmak ve her karşılaştırmanın sonucunu ayrı bir kod parçası çalıştırarak değerlendirmek istersiniz. İşte bu, switch deyiminin varlık sebebidir.

Bilginize: Başka bazı dillerden farklı olarak, continue deyimi switch ile uygulanabilir ve break ile benzerlik gösterir. Bir döngü içerisinde switch kullandıysanız ve kodun yürütülmesine dıştaki döngünün sonraki yinelemeden devam etmesini istiyorsanız, continue 2 kullanabilirsiniz.

Bilginize:

switch ve case gevşek karşılaştırma yapar.

Aşağıdaki iki örnek aynı şeyi yazmanın iki farklı yolunu göstermektedir. Birincisi bir dizi if ve elseif deyiminin kullanımını, ikincisi ise switch deyiminin kullanımını örneklemektedir:

Örnek 1 - switch yapısı

<?php
// Bu switch deyimi:

switch ($i) {
case 0:
echo "i eşittir 0";
break;
case 1:
echo "i eşittir 1";
break;
case 2:
echo "i eşittir 2";
break;
}

// bunlara eşdeğerdir:

if ($i == 0) {
echo "i eşittir 0";
} elseif ($i == 1) {
echo "i eşittir 1";
} elseif ($i == 2) {
echo "i eşittir 2";
}

?>

Hatalardan kaçınmak için switch deyiminin nasıl çalıştığını anlamak önemlidir. switch deyimi satır satır ele alınır (aslında deyim deyim). Başlangıçta, hiçbir kod çalıştırılmaz. Yalnızca switch ifadesiyle birlikte verilen değer ile uyuşan case deyimi bulunduğunda PHP ilgili deyimleri çalıştırmaya başlar. PHP switch bloğu sonlanana kadar ya da ilk break deyimi ile karşılaşıncaya kadar çalışmasına devam eder. Bir case bloğunun sonuna break koymazsanız, PHP sonraki case deyiminden kodları çalıştırmaya devam eder. Örnek:

<?php
switch ($i) {
case 0:
echo "i eşittir 0";
case 1:
echo "i eşittir 1";
case 2:
echo "i eşittir 2";
}
?>

Burada, $i 0'a eşit ise, PHP tüm echo deyimlerini çalıştıracaktır! $i 1'e eşit ise, PHP son iki echo deyimini çalıştıracaktır! Beklediğiniz sonucu ('i eşittir 2' metninin görüntülenmesi) yalnızca $i 2'ye eşitse almanız mümkün olacaktır. Bu durumun oluşmaması için, break deyimini kullanmayı unutmamanız önemlidir (yine de, bazı durumlarda break deyimini kullanmak istemeyebilirsiniz).

Bir switch deyiminde, koşul yalnızca bir defa sorgulanır ve sonuç her bir case deyimi ile karşılaştırılır. Bir elseif deyiminde ise, koşul tekrar sorgulanır. Kullanmak istediğiniz koşul basit bir karşılaştırma işleminden daha karmaşıksa ve/veya bir döngü içerisindeyse, switch kullanmak daha hızlı olabilir.

case bloğu kod içermeyebilir ve amacı yalnızca denetimi bir sonraki case bloğuna geçirmek olabilir.

<?php
switch ($i) {
case 0:
case 1:
case 2:
echo "i 3'ten küçüktür ama negatif değildir";
break;
case 3:
echo "i eşittir 3";
}
?>

default durumu özel bir durumdur. Bu durum diğer hiçbir case ile uyuşmayan değerler için kullanılır ve en sonda yer almalıdır. Örneğin:

<?php
switch ($i) {
case 0:
echo "i eşittir 0";
break;
case 1:
echo "i eşittir 1";
break;
case 2:
echo "i eşittir 2";
break;
default:
echo "i ne 0, ne 1 ne de 2'ye eşittir";
}
?>

Bilginize: Çok sayıda default kullanımı E_COMPILE_ERROR hatasını tetikler.

Bilginize: Teknik olarak default en sonda olmak zorunda değildir, herhangi bir yerde olabilir. Yanızca başka bir eşleşme olmazsa kullanılır. Ancak, geleneksel olarak, son dal olarak en sona yerleştirmek en iyisidir.

Hiçbir case eşleşmezse ve default dalı da yoksa tıpkı doğrulanmayan if deyiminde olduğu gibi hiçbir kod çalıştırılmaz.

case değeri bir ifade olarak belirtilebilir. Ancak, bu ifade kendi başına değerlendirilecek ve daha sonra switch değeri ile gevşek bir şekilde karşılaştırılacaktır. Yani, switch değeri karmaşık değerlendirmeler için kullanılamaz. Örnek:

<?php
$hedef = 1;
$ilk = 3;

switch ($hedef) {
case $ilk - 1:
print "A";
break;
case $ilk - 2:
print "B";
break;
case $ilk - 3:
print "C";
break;
case $ilk - 4:
print "D";
break;
}

// "B" basar.
?>

Daha karmaşık karşılaştırmalarda true değeri switch değeri olarak kullanılabilir. Veya, switch yerine if-else deyimleri kullanılabilir.

<?php
$konum = 1;
$ilk = 3;

switch (true) {
case $ilk - $konum === 1:
print "A";
break;
case $ilk - $konum === 2:
print "B";
break;
case $ilk - $konum === 3:
print "C";
break;
case $ilk - $konum === 4:
print "D";
break;
}

// "B" basar.
?>

İki noktalı sözdizimi switch deyimi için de desteklenmektedir. Daha fazla bilgi için, Denetim yapıları için diğer sözdizimi bölümünü inceleyebilirsiniz.

<?php
switch ($i):
case 0:
echo "i eşittir 0";
break;
case 1:
echo "i eşittir 1";
break;
case 2:
echo "i eşittir 2";
break;
default:
echo "i ne 0, ne 1 ne de 2'ye eşittir;
endswitch;
?>

case'ten sonraki iki nokta yerine aşağıdaki gibi deyim sonunda noktalı virgül kullanmak da mümkündür:

<?php
switch($içecek)
{
case 'su';
case 'süt';
case 'ayran';
echo 'İyi seçim';
break;
default;
echo 'Lütfen yeniden seçiniz...';
break;
}
?>

Ayrıca Bakınız

  • match


match

(PHP 8)

match (eşleşme) ifadesi, bir değerin özdeşlik denetimine dayalı olarak değerlendirmesini dallara ayırır. Switch deyimine benzer şekilde, bir match ifadesinin birden çok alternatifle karşılaştırılan bir özne ifadesi vardır. switch'in aksine, üçlü ifadeler gibi bir değere indirgeyecektir. switch aksine, karşılaştırma zayıf bir eşitlik denetiminden (==) ziyade bir özdeşlik denetimidir (===). Eşleşme ifadeleri PHP 8.0.0'dan itibaren mevcuttur.

Örnek 1 match ifadesinin yapısı

<?php
$dönüş değeri = match (özne_ifade) {
tekil_koşullu_ifade => dönüş_ifadesi,
koşullu_ifade1, koşullu_ifade2 => dönüş_ifadesi,
};
?>

Örnek 2 match temel kullanım örneği

<?php
$yiyecek = 'börek';

$dönen_değer = match ($yiyecek) {
'meyva' => 'Bu bir meyva',
'çorba' => 'Bu bir çorba',
'börek' => 'Bu bir börek',
};

var_dump($dönen_değer);
?>

Yukarıdaki örneğin çıktısı:

string(13) "Bu bir börek"

Bilginize: match ifadesinin sonucunun kullanılmasına gerek yoktur.

Bilginize: match ifadesi mutlaka bir noktalı virgül ; ile sonlandırılmalıdır.

match ifadesi switch deyimine benzemekle birlikte bazı önemli farklar vardır:

  • Bir match kolu, değeri birebir (===) değerlendirir, switch deyimin yaptığı gibi gevşekçe değil.
  • match ifadesi bir değer döndürür.
  • match kolları switch deyimlerini yaptığı gibi sonraki durumlarda başarısız olmaz.
  • match ifadesi kapsamlı olmalıdır.

switch deyimleri gibi, match ifadeleri de eşleşmeleri sırayla değerlendirir. Başlangıçta hiçbir kod çalıştırılmaz. Koşullu ifadeler yalnızca, tüm önceki koşullu ifadeler özne ifadeyle eşleşmede başarısız olmuşlarsa değerlendirilir. Yalnızca eşleşen koşullu ifadeye karşılık gelen dönüş ifadesi değerlendirilir. Örneğin:

<?php
$sonuç = match ($x) {
foo() => ...,
$this->bar() => ..., // foo() === $x ise $this->bar çağrılmaz
$this->baz => beep(), // $x === $this->baz olmadıkça beep() çağrılmaz
// vb.
};
?>

match ifadesinin kolları virgüllerle ayrılmış çok sayıda ifade içerebilir. Bu bir mantıksal VEYA olup, aynı sağ taraflı çok sayıda eşleşme kolu için bir kısa yoldur.

<?php
$sonuç = match ($x) {
// Bu eşleşme kolu:
$a, $b, $c => 5,
// Aşağıdaki üç eşleşme koluna eşdeğerdir:
$a => 5,
$b => 5,
$c => 5,
};
?>

Özel bir durum default kalıbıdır. Bu kalıp evvelce eşleşmemiş herşeyle eşleşir. Örnek:

<?php
$ifadeSonucu = match ($koşul) {
1, 2 => foo(),
3, 4 => bar(),
default => baz(),
};
?>

Bilginize: Çok sayıda default kalıbı bir E_FATAL_ERROR hatasına (ölümcül hataya) yol açar.

match ifadesi kapsamlı olmalıdır. Konu ifadesi herhangi bir eşleşme kolu tarafından işlenmezse, bir UnhandledMatchError (başarısız eşleşme hatası) yavrulanır.

Örnek 3 - Başarısız eşleşme hatası örneği

<?php
$özne = 5;

try {
match ($özne) {
1, 2 => foo(),
3, 4 => bar(),
};
} catch (\UnhandledMatchError $e) {
var_dump($e);
}
?>

Yukarıdaki örneğin çıktısı:

object(UnhandledMatchError)#1 (7) {
  ["message":protected]=>
  string(33) "Unhandled match value of type int"
  ["string":"Error":private]=>
  string(0) ""
  ["code":protected]=>
  int(0)
  ["file":protected]=>
  string(9) "/in/ICgGK"
  ["line":protected]=>
  int(6)
  ["trace":"Error":private]=>
  array(0) {
  }
  ["previous":"Error":private]=>
  NULL
}

- Başarısız eşleşmeleri işlemek için match ifadelerin kullanımı

Özne ifadesi olarak true kullanarak özdeş olmayan koşullu durumları ele almak için bir match ifadesi kullanmak mümkündür.

Örnek 4 - Tamsayı aralıklarında dallanmak için genelleştirilmiş eşleşme ifadelerinin kullanılması

<?php

$yaş = 23;

$result = match (true) {
$yaş >= 65 => 'yaşlı',
$yaş >= 25 => 'yetişkin',
$yaş >= 18 => 'genç',
default => 'çocuk',
};

var_dump($result);
?>

Yukarıdaki örneğin çıktısı:

string(11) "genç"

Örnek 5 - Dize içeriklerde dallanmak için genelleştirilmiş eşleşme ifadelerinin kullanılması

<?php

$text = 'Bienvenue chez nous';

$result = match (true) {
str_contains($text, 'Welcome') || str_contains($text, 'Hello') => 'en',
str_contains($text, 'Bienvenue') || str_contains($text, 'Bonjour') => 'fr',
// ...
};

var_dump($result);
?>

Yukarıdaki örneğin çıktısı:

string(2) "fr"


declare

(PHP 4, PHP 5, PHP 7, PHP 8)

declare yapısı bir kod bloğunun çalıştırılması esnasında uygulanacak yönergeleri belirlemek için kullanılır. declare yapısının sözdizimi diğer akış denetim yapılarının söz dizimi ile benzerdir:

declare (yönerge)
    deyim

yönerge bölümü, declare bloğunun davranışını belirlemek için kullanılır. Şimdilik yalnızca üç yönerge kullanılabilmektedir: ticks yönergesi (Daha fazla bilgi edinmek için aşağıya, ticks yönergesine bakınız.), encoding yönergesi ve strict_types yönergesi. Daha fazla bilgi için tür bildirimleri sayfasındaki strict bölümüne bakınız.

Yönergeler dosya derlendikçe ele alındığından, sadece birebir değerler yönergelere değer olarak verilebilir. Değişkenler ve sabitler kullanılamaz. Örnek:

<?php
// Bu geçerlidir:
declare(ticks=1);

// Bu geçersizdir:
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
?>

declare bloğunun deyim bölümünün nasıl çalıştırılacağı ve çalışma esnasındaki yan etkilerinin ne olacağı yönerge bölümünde belirtilen yönergeye bağlı olabilir.

declare bloğu kendinden sonra gelen tüm kodu etkilemesi için genel betik kapsamında da kullanılabilir. Bununla birlikte, declare bloğu dahil edilen bir dosyanın içindeyse ebeveyn dosya bundan etkilenmez.

<?php
// aşağıdaki iki örnek aynıdır:

// bunu kullanabilirsiniz:
declare(ticks=1) {
// betiğin tamamı burada
}

// ya da bunu kullanabilirsiniz:
declare(ticks=1);
// betiğin tamamı burada
?>

Tikler

Bir "tik", declare bloğu içersinde çözümleyici tarafından çalıştırılan her N tiklenebilir deyimde bir ortaya çıkan bir olaydır. N değeri, declare bloğunun yönerge bölümünde ticks=N kullanılarak belirtilir.

Her deyim tik sayımına dahil edilebilir değildir. Koşullu ifadeler ve bağımsız değişken ifadeleri bu tür deyimlerdendir.

Her tik ile oluşturulacak eylem register_tick_function() işlevi ile belirtilir. Daha ayrıntılı bilgi için aşağıdaki örneğe bakınız. Her tik için birden fazla olayın oluşabileceğini gözardı etmeyiniz.

Örnek 1 - Tik kullanım örneği

<?php

declare(ticks=1);

// Her tik deyimde bir çalıştırılacak işlev
function tik_eylemci()
{
echo "tik_eylemci() çağrıldı\n" ;
}

// Tik eylemcisini belirtelim
register_tick_function("tik_eylemci"); //tik olayına sebep olur

$a = 1; //tik olayına sebep olur

if ($a > 0) {
$a += 2; //tik olayına sebep olur
print($a); //tik olayına sebep olur
}
?>

Ayrıca, register_tick_function() ve unregister_tick_function() işlevlerini de inceleyin.

encoding

Her betiğin karakter kodlaması betiğin başında encoding yönergesi ile belirtilebilir.

Örnek 2 - Betik için kodlama belirtmek

<?php
declare(encoding='ISO-8859-1');
// kodlar burada
?>

Dikkat

İsim alanları ile birlikte kullanıldığında, tek geçerli sözdizimi declare(encoding='...'); olup, buradaki ... kodlama değeridir. declare(encoding='...') {} sözdizimi isim alanları ile birlikte kullanıldığında bir çözümleme hatası ile sonuçlanacaktır.

Ayrıca bak: zend.script_encoding.


return

(PHP 4, PHP 5, PHP 7, PHP 8)

return uygulamanın denetimini çağrıldığı modüle döndürür ve uygulama kendinden sonra gelen ifadeden itibaren çalışmayı sürdürür

Bir işlevin içinde kullanıldığında, return deyimi çalışmakta olan işlevi hemen sonlandırıp bağımlı değişkeninin değerini işlevin değeri olarak döndürür. return ayrıca, bir betiğin veya bir eval() deyiminin çalışmasını sonlandırmak için de kullanılabilir.

Betik genelinde çağrıldığında, betik dosyasının çalışmasını sonlandırılır. Eğer dosya include ya da require ile betik dosyasına dahil edilmiş bir dosya ise, return deyimi akış denetiminin ana dosyaya aktarılmasını sağlar. Dahası, return deyiminin çağrıldığı dosya include ile dahil edilmişse return değeri include çağrısının değeri olarak dönecektir. return ana betik dosyasının içinden çağrıldığı takdirde, betiğin çalışması sonlandırılacaktır. Eğer return deyiminin çağrıldığı dosya, ismi php.ini içindeki auto_prepend_file veya auto_append_file yapılandırma seçenekleri ile atanan bir dosya ise bu betik dosyasının da çalışmasını sonlandıracaktır.

Daha fazla bilgi için, Dönüş değerleri bölümüne bakınız.

Bilginize: return bir işlev değil bir dil oluşumu olduğundan, bağımlı değişkenini içeren yaylı ayraç yalnızca değişken bir ifade içeriyorsa zorunludur. Bir bağımlı değişken döndürülürken genellikle yaylı ayraç kullanılmaz ve kullanılmaması önerilir.

Bilginize: Değişkensiz kullanılacaksa yaylı ayraç konulmamalıdır bu durumda dönen değer null olur. Bağımlı değişkeni içermeyen yaylı ayraç kullanımı bir çözümleme hatası ile sonuçlanır.

PHP 7.1.0'dan itibaren, bir dönüş türü bildiren işlevlerde bağımlı değişkenli dönüş ifadelerinin E_COMPILE_ERROR'u tetiklediği durumda, dönüş türü void olmadığı sürece bağımlı değişkensiz return deyimleri de E_COMPILE_ERROR'u tetikler.


require

(PHP 4, PHP 5, PHP 7, PHP 8)

require deyimi bir başarısızlıkta E_COMPILE_ERROR seviyesinden ölümcül bir hata vermesi dışında include deyimi ile aynıdır. Başka bir deyişle, include deyiminin sadece bir uyarı (E_WARNING) vererek çalışmayı sürdürdüğü durumda require deyimi betiğin hata vererek durmasına sebep olur.

Deyimin nasıl çalıştığını öğrenmek için include belgesine bakınız.


include

(PHP 4, PHP 5, PHP 7, PHP 8)

include ifadesi belirtilen dosyayı betiğe ekler ve içeriğini değerlendirir.

Betiğe dahil edilecek dosyalar önce belirtilen dizinde aranır, eğer bir dizin belirtilmemişse include_path yönergesinde belirtilen yollarda aranır. Dosya include_path içinde yoksa include son çare olarak çağrıcı betiğin kendi dizinine ve o anki çalışma dizinine bakar, bulamazsa bir E_WARNING çıktılar; require için bu davranış bir E_ERROR olarak kendini gösterir.

Son E_WARNING veya E_ERROR çıktılanmadan önce, dosyaya erişilemiyorsa, include ve require, her ikisi de sırayla ek E_WARNING'leri çıktılar.

Bir dizin belirtilmişse - mutlak (Windows'ta bir sürücü harfi veya \ ile başlıyorsa veya Unix sistemlerinde / ile başlıyorsa) veya geçerli dizine göreli (. veya .. ile başlıyorsa)- include_path yönergesine bakılmaz. Örneğin bir dosya ../ ili başlıyorsa PHP çözümleyicisi dosyayı betiğin bulunduğu dizinin üst dizininde arayacaktır.

PHP'nin dahil edilen dosyaları nasıl ele aldığı include_path yönergesinin açıklamasında ayrıntılı olarak anlatılmıştır.

Bir dosya bir betiğe dahil edildiğinde, bu dosyanın içerdiği kod, dosyanın dahil edildiği satır itibariyle ana betikte geçerli olan değişken uzayını miras alır. Yani, dosyanın dahil edildiği satıra kadar mevcut değişkenlerin hepsi dahil edilen dosyanın içinde kullanılabilir olacaktır. Bunun yanında, dahil edilen dosyada tanımlanmış işlevlerin ve sınıfların tamamı ana betiğin genelinde tanımlanmış sayılır.

Örnek 1 - Basit bir include örneği

vars.php
<?php

$renk = 'yeşil';
$meyve = 'elma';

?>

dnm.php
<?php

echo "Bir $renk $meyve"; // -> Bir

include 'vars.php';

echo "Bir $renk $meyve"; // -> Bir yeşil elma

?>

include deyimi, bir işlevin içinde kullanılırsa dahil edilmek istenen dosyanın içindeki tüm kodlar sanki o işlev içinde tanımlanmış gibi çalıştırılacaktır. Bu durumda dahil edilen dosyadaki kodlar, işlevin, dosyanın dahil edildiği noktadaki değişken uzayını miras alacaktır. Bu kuralın istisnası dosya dahil edilmeden önce çözümleyici tarafından işleme sokulan sihirli sabitlerdir.

Örnek 2 - İşlev içi include kullanımı

<?php

function foo()
{
global $renk;

include 'vars.php';

echo 'Bir $renk $meyve';
}

/* vars.php, foo() işlevinin etki alanındadır
* dolayısıyla $meyve bu alanın dışında
* kullanılamamaktadır. $renk ise global olarak
* tanımlandığından kullanılabilir
*/
foo(); // Bir yeşil elma
echo 'Bir $renk $meyve'; // Bir yeşil

?>

Bir dosya bir betiğe dahil edildiğinde, çözümleme işlemi PHP kipinden çıkıp hedef dosyanın başlangıcında HTML kipine geçer ve dosyanın sonuna kadar HTML kipinde kalır. Bu sebeple, hedef dosyanın içindeki kodlardan PHP kodları olarak çalıştırılacaklar PHP başlangıç ve bitiş etiketleri arasına alınmalıdır.

"URL include sarmalayıcıları" PHP'de etkinleştirilmiş ise (öntanımlı yapılandırmada etkindirler), include deyiminde yerel dosya yolu belirtmek yerine (HTTP ya da desteklenen başka bir sarmalayıcı üzerinden - Desteklenen Protokoller ve Sarmalayıcılar bölümününe bakınız) bir URL kullanabilirsiniz. Hedef sunucu, hedef dosyayı PHP kodu olarak çalıştırabiliyorsa, ana betikteki değişkenler dahil edilen dosyaya bir URL istek dizgesi olarak HTTP GET ile aktarılabilir. Bu durum dahil edilen dosyaya ana dosyanın değişken uzayını miras olarak bırakmaktan biraz farklı bir şeydir; betik aslında uzak sunucuda çalıştırılıp yerel betiğe sonuçlar dahil edilmektedir.

Örnek 3 - HTTP üzerinden include

<?php

/* Bu örnekte mesela.dom sitesinin .php uzantılı dosyaları
* çalıştırabildiği ama .txt uzantılıları çalıştırmadığı
* varsayılmıştır. Ayrıca, buradaki 'Çalışır'ın manası
* $foo ve $bar değişkenlerinin dahil edilen dosyada kullanılabilir
* olduğudur. */

// Çalışmaz; dosya.txt dosyası mesela.dom sitesinde çalıştırılmaz
include 'http://mesela.dom/dosya.txt?foo=1&bar=2';

// Çalışmaz; yerel dosya sisteminde 'dosya.php?foo=1&bar=2'
// adında bir dosya olarak aranır.
include 'dosya.php?foo=1&bar=2';

// Çalışır.
include 'http://www.example.com/dosya.php?foo=1&bar=2';
?>

Uyarı

Güvenlik uyarısı

Uzaktaki dosya uzaktaki sunucu tarafından işlenebilir (dosyanın uzantısına ve uzaktaki sunucunun PHP çalıştırıp çalıştırmadığına bağlı olarak). Ancak, elde edilecek çıktı yerel sunucuda çalıştırılacağından bu işlemin sonucu mutlaka geçerli bir PHP betiği üretmek olmalıdır. Dosyanın uzaktaki sunucuda işlenip sadece sonucun çıktılanmasını istiyorsanız readfile() işlevi daha iyi bir seçim olacaktır. Aksi takdirde, uzakta çalıştırılan betiğin geçerli ve istenen kodu üretebilmesini güvence altına alabilmek için özel bir çaba harcamak gerekir.

Ayrıca, bu konuyla ilgili olarak Uzaktaki dosyaların kullanımı belgesiyle fopen() ve file() işlevlerine de bakınız.

return kullanımı: include başarısız olursa FALSE döndürür ve bir uyarı verir. Başarılı olursa, içerildikleri dosya tarafından aksi belirtilmedikçe 1 döndürür. Dahil edilen dosyanın içersinde, bu dosyanın işlenmesi durdurmak ve dahil eden betiğe geri dönmek için return kullanılabilir. Ayrıca, dahil edilen dosyalardan değer döndürmek de mümkündür. Normal bir işlevde olduğu gibi, include çağrısından elde edilen değeri bir değişkene atayabilirsiniz. Ancak bu durum, uzaktaki dosyalar için, sadece uzaktaki dosyanın çıktısı geçerli PHP başlangıç ve bitiş etiketlerine sahipse (herhangi yerel bir dosyada olduğu gibi), kullanılabilir. Gerekli değişkenler bu etiketlerin arasında tanımlandığında dosyanın dahil edildiği noktadan itibaren kullanılabilir olacaklardır.

include özel bir dil oluşumu olduğundan, bağımsız değişkeninin parantez içine alınması gerekmez. Dönüş değerini karşılaştırırken buna dikkat edin.

Örnek 4 - include dönüş değerinin karşılaştırılması

<?php
// çalışmaz, include(('vars.php') == TRUE) olarak değerlendirilir,
// sonuç include('1') olur
if (include('vars.php') == TRUE) {
echo 'TAMAM';
}

// çalışır
if ((include 'vars.php') == TRUE) {
echo 'TAMAM';
}
?>

Örnek 5 - include ve return deyimleri

return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // 'PHP' basar

$bar = include 'noreturn.php';

echo $bar; // 1 basar

?>

include işlemi başarılı olduğundan $bar, 1 değerine sahiptir. Yukarıdaki örnekler arasındaki farklara dikkat edin. Birincisi return deyimini dahil edilen dosyada kullanırken ikincisi kullanmıyor. Dosya dahil edilemediği durumda, false döndürülüyor ve bir E_WARNING üretiliyor.

Dahil edilen dosyanın içinde tanımlanmış işlevler varsa, return deyiminden önce ya da sonra olduğundan bağımsız olarak ana betik içersinde kullanılabilirler. Dosya iki defa dahil edilmişse, PHP ölümcül hata verir çünkü bildirilmiş işlevler tekrar bildirilmeye calışılmış olur. Dosyanın halihazırda dahil edilip edilmediğini kendiniz tespit edip koşula bağlı return çalıştırmak yerine, include_once kullanmanız önerilir.

Bir PHP dosyasını bir değişkene "dahil" etmenin diğer bir yolu, çıktıyı Çıktı Denetim İşlevlerini include ile birlikte kullanarak yakalamaktır. Örnek:

Örnek 6 - Bir PHP dosyasını bir dizgeye dahil etmek için tampon kullanımı

<?php
$string = get_include_contents('somefile.php');

function get_include_contents($filename) {
if (is_file($filename)) {
ob_start();
include $filename;
return ob_get_clean();
}
return false;
}

?>

Betiğinize dosyaları otomatik olarak dahil etmek için, php.ini içersindeki auto_prepend_file ve auto_append_file yapılandırma seçeneklerini inceleyebilirsiniz.

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Ayrıca, require, require_once, include_once, readfile(), virtual() ve include_path'a da bakınız.


require_once

(PHP 4, PHP 5, PHP 7, PHP 8)

require_once ifadesi, dosyayı evvelce dahil edilmişse tekrar dahil etmemesi dışında require deyimiyle aynıdır.

_once eki olup olmamasının ne gibi farklara yol açtığı ve varlığının davranışı nasıl değiştirdiğini öğrenmek için include_once belgesine bakınız.


include_once

(PHP 4, PHP 5, PHP 7, PHP 8)

include_once deyimi belirtilen dosyayı betiğin çalışması esnasında okur ve çalıştırır. Bu deyimin çalışma biçimi include deyimi ile benzerdir, tek farkı kendisiyle dahil edilmiş bir dosya, betiğin başka bir yerinde tekrar dahil edilmek istenirse buna izin vermemesidir. include_once true döndürür.

include_once deyimi, bir betiğin çalışması esnasında aynı dosyanın bir kereden fazla dahil edilme ihtimaline karşı, bu dosyanın yalnızca bir kere dahil edileceğinden emin olunmak istenirse kullanılmalıdır. Bu sayede işlev bildirimlerinin yinelenmesi, değişkenlere tekrar değer atanması gibi sorunlar ortaya çıkmaz.

Bu işlevin nasıl çalıştığı hakkında ayrıntılı bilgi edinmek için include belgesine bakınız.


goto

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Goto kullanırsan daha kötü olan şey nedir?
Goto kullanırsan daha kötü olan şey nedir?

Karikatür, » xkcd'nin izniyle.

Çevirisi:

Program akışını yapılandırabilir ya da yerine küçük bir goto kullanırım.

Boşver iyi kodu, ne olabilir ki?
goto ...

goto işleci betik içinde başka bir komuta atlamak için kullanılabilir. Hedefin yeri, harf büyüklüğüne duyarlı bir yafta ve iki nokta imi ile belirtilebilir. goto bu yaftaya göre hedefi bulur. Bu, goto deyiminin tamamen sınırsız olduğu anlamına gelmez. Hedef yaftasının aynı dosya ve aynı bağlam içinde kalması gerekir, yani bir işlev veya yöntemin dışına atlayamayacağınız gibi bir başka işlev veya yöntemin içine de atlayamazsınız. Ayrıca bir switch veya döngünün içine de atlayamazsınız, fakat bunların dışına atlayabilirsiniz, yani çok seviyeli bir break yerine bir goto kullanabilirsiniz.

Örnek 1 - goto örneği

<?php
goto a;
echo 'Foo';

a:
echo 'Bar';
?>

Yukarıdaki örneğin çıktısı:

Bar

Örnek 2 - Döngüden goto ile çıkma örneği

<?php
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
if($j==17) goto end;
}
}
echo "i = $i";
end:
echo 'j hit 17';
?>

Yukarıdaki örneğin çıktısı:

j hit 17

Örnek 3 - Bu çalışmaz

<?php
goto loop;
for($i=0,$j=50; $i<100; $i++) {
while($j--) {
loop:
}
}
echo "$i = $i";
?>

Yukarıdaki örneğin çıktısı:

Fatal error: 'goto' into loop or switch statement is disallowed in
script on line 2


İşlevler

İçindekiler

  • Kullanıcı tanımlı işlevler
  • İşlev bağımsız değişkenleri
  • Dönen değerler
  • Değişken işlevler
  • Yerleşik işlevler
  • Anonim işlevler
  • Ok İşlevleri
  • Birinci sınıf çağrılabilir sözdizimi


Kullanıcı tanımlı işlevler

Bir işlev, şöyle bir söz dizimi kullanılarak tanımlanabilir:

Örnek 1 - İşlev kullanımını gösteren sözde kod

<?php
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
{
echo "Örnek işlev.\n";
return $retval;
}
?>

Bir işlevin içerisinde geçerli her tür PHP kodu kullanılabilir, buna başka işlevler ve sınıf tanımları da dahildir.

İşlev isimleri, PHP'deki diğer isimlerle aynı kurallara tabidir. Geçerli bir işlev ismi bir harf ya da alt çizgi ile başlar, herhangi bir sayıda geçerli harf, sayı ya da alt çizgi ile devam eder. Düzenli ifade olarak, şu şekilde ifade edebiliriz: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.

İşlevlerin çağrılmadan önce tanımlanmaları, aşağıdaki iki örnekte görüldüğü gibi koşullu olarak tanımlandıkları durumlar haricinde gerekmez.

Bir işlev aşağıdaki iki örnekte gösterildiği gibi koşullu olarak tanımlandıysa, bu işlev tanımının işlev çağrılmadan önce yapılması gerekmektedir.

Örnek 2 - Koşula bağlı işlevler

<?php

$makefoo = true;

/* Henüz varolmadığı için foo() buradan çağrılamaz,
ancak bar() çağrılabilir */

bar();

if ($makefoo) {
function foo()
{
echo "Uygulamanın çalışması bana erişene kadar ben yokum.\n";
}
}

/* $makefoo doğru olduğundan
artık foo() çağrılabilir */

if ($makefoo) foo();

function bar()
{
echo "Program başlatıldığı anda ben de varolurum.\n";
}

?>

Örnek 3 - İşlev içinde işlev

<?php
function foo()
{
function bar()
{
echo "foo() çağrılana kadar yokum.\n";
}
}

/* Henüz varolmadığı için
bar() çağrılamaz. */

foo();

/* Artık bar() çağrılabilir,
foo() çağrıldığında bar()
erişilebilir hale gelir */

bar();

?>

PHP'de tüm işlevler ve sınıflar betik genelinde geçerlidir - bir işlevin içinden tanımlanmış olsalar bile işlevin dışından çağrılabilirler.

PHP işlevlerin farklı bağımsız değişkenli yeni tanımlarının yapılmasını desteklemediği gibi, işlevler yeniden tanımlanamaz veya tanımsız kılınamaz.

Bilginize: İşlev isimleri A'dan Z'ye kadar ASCII karakterler için büyük-küçük harf duyarsızdır, ancak işlev isimlerini tanımlandıkları halleriyle kullanmak daha iyidir.

Bağımsız değişken sayısı değişken işlevler desteklendiği gibi işlevlerde öntanımlı bağımsız değişken kullanımı da desteklenmektedir. Daha ayrıntılı bilgi edinmek için func_num_args(), func_get_arg() ve func_get_args() işlevlerine de bakınız.

PHP'de işlevlerin kendilerini çağırması da mümkündür.

Örnek 4 - Kendini çağıran işlev

<?php
function recursion($a)
{
if ($a < 20) {
echo "$a\n";
recursion($a + 1);
}
}
?>

Bilginize: Kendini çağıran işlev ve yöntemler bunu 100-200 kere yaparsa yığıt taşabilir ve çalışan betiğin durdurulmasına sebep olabilir. Özellikle, kendini çağırma sayısı sonsuza giderse bu bir programlama hatası sayılır.


İşlev bağımsız değişkenleri

Bir işleve veri, virgül ayraçlı ifadelerden oluşan bir bağımsız değişken listesi ile aktarılır. İşlev çalıştırılmadan önce bağımsız değişkenler soldan sağa doğru değerlendirilir (hevesli değerlendirme).

PHP, bağımsız değişkenlerin değerleriyle aktarılmalarını (öntanımlı), gönderimli aktarımı ve öntanımlı bağımsız değişken kullanımını destekler. Bağımsız değişken sayısı değişken işlevler ve İsimli bağımsız değişkenler de desteklenmektedir.

Örnek 1 - İşlevlere dizi aktarımı

<?php
function dizi_kabul_eder($girdi)
{
echo "$girdi[0] + $girdi[1] = ", $girdi[0]+$girdi[1];
}
?>

PHP 8.0.0'dan itibaren, işlev bağımsız değişkenlerinin sonunda göz ardı edilecek bir virgül bulunabilir. Bu, özellikle bağımsız değişken listesinin uzun olduğu veya uzun isimler içerdiği durumlarda, bağımsız değişkenleri alt alta sıralamayı kolaylaştırır.

Örnek 2 - Virgül ile sonlanan işlev bağımsız değişkenleri örneği

<?php
function takes_many_args(
$first_arg,
$second_arg,
$a_very_long_argument_name,
$arg_with_default = 5,
$again = 'a default string', // 8.0.0 öncesinde bu virgüle izin verilmezdi.
)
{
// ...
}
?>

Gönderimli bağımsız değişken kullanımı

Öntanımlı olarak, işlev bağımsız değişkenleri değerleriyle aktarılırlar (bu durumda bir bağımsız değişkenin değeri işlev içinde değiştirildiğinde işlevin çağrıldığı yerdeki değeri bundan etkilenmez. İşlevin çağrıldığı yerdeki değerinin de değişmesini istiyorsanız gönderimli bağımsız değişken kullanmalısınız.

Bir işleve bir bağımsız değişkenin daima gönderimli olarak aktarılmasını istiyorsanız, işlev bildiriminde o bağımsız değişkenin başına & karakterini koyarak bunu sağlayabilirsiniz:

Örnek 3 - Gönderimli işlev bağımsız değişkenlerinin aktarımı

<?php
function şunu_da_ekle(&$dizge)
{
$dizge .= 've bir kaç karakter eklenmiştir.';
}
$dzg = 'Bu bir dizgedir ';
şunu_da_ekle($dzg);
echo $dzg; // 'Bu bir dizgedir ve bir kaç karakter eklenmiştir.'
// çıktısını verir.
?>

Gönderimli aktarılması beklenen bir değeri değişkeniyle değil değeriyle aktarmak bir hatadır.

Öntanımlı bağımsız değişken değerleri

Bir işlevde, bağımsız değişkenler için öntanımlı değerler, değişken ataması biçiminde tanımlanabilir. Öntanımlı değer sadece işlev çağrısı sırasında bağımsız değişken belirtilmemişse kullanılır. Şuna özellikle dikkat edilmelidir: null değer öntanımlı değer olarak tanımlanamaz.

Örnek 4 - İşlev içinde öntanımlı bağımsız değişken kullanımı

<?php
function kahveyap($hangisi = "orta şekerli")
{
return "Bir fincan $hangisi kahve yapalım.\n";
}
echo kahveyap();
echo makecoffee(null);
echo kahveyap("az şekerli");
?>

Yukarıdaki örneğin çıktısı:

Bir fincan orta şekerli kahve yapalım.
Bir fincan kahve yapalım.
Bir fincan az şekerli kahve yapalım.

Öntanımlı değer olarak, diziler, özel null türü ve PHP 8.1.0 itibariyle new SınıfAdı() sözdizimi ile nesneler kullanılabilir.

Örnek 5 - Sayıl olmayan türlerin öntanımlı değer olarak kullanımı

<?php
function kahveyap($hangi = array("orta şekerli"), $neyde = NULL)
{
$neyde = is_null($neyde) ? "ocakta" : $neyde;
return "Bir fincan ".join(" bir fincan ", $hangi)." kahve $neyde yapıldı.\n";
}
echo kahveyap();
echo kahveyap(array("çok şekerli", "az şekerli"), "mangalda");
?>

Örnek 6 - Öntanımlı değer olarak nesne kullanımı (PHP 8.1.0 ve sonrası)

<?php
class ÖntanımlıDemleyici {
public function demle() {
return 'Çay demleniyor.';
}
}
class PorselenDemleyici {
public function demle() {
return 'Özel çayınız demleniyor.';
}
}
function çayyap($demleyici = new ÖntanımlıDemleyici)
{
return $demleyici->demle();
}
echo çayyap();
echo çayyap(new PorselenDemleyici);
?>

Öntanımlı değer bir değişken, bir sınıf üyesi ya da bir işlev çağrısı değil, bir sabit ifadesi olmalıdır.

Öntanımlı bağımsız değişkenleri kullanırken, öntanımlama yapılmış tüm bağımsız değişkenlerin öntanımlama yapılmamış tüm bağımsız değişkenlerden sonra yer alması gerektiğine dikkat edin. Aksi takdirde çağrı sırasında bunlar atlanamaz. Aşağıdaki örneği inceleyin:

Örnek 7 - Öntanımlı bağımsız değişkenlerin hatalı kullanımı

<?php
function yoğurtyap($miktar = "az", $katkı)
{
return "Bir kase $miktar $katkı içeren yoğurt yapılıyor.\n";
}

echo yoğurtyap("çilek"); // "çilek" $miktar olarak işleme alınır ve
// tek bağımsız değişken aktarımı hataya yol açar.
?>

Yukarıdaki örneğin çıktısı:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function yoğurtyap(), 1 passed in dnm.php on line 7 and exactly 2 expected in dnm.php:2
Stack trace:
#0 dnm.php(7): yoğurtyap('\xC3\xA7ilekli')
#1 {main}
  thrown in dnm.php on line 2

Şimdi, yukarıdakini bununla karşılaştıralım:

Örnek 8 - Öntanımlı bağımsız değişkenlerin doğru kullanımı

<?php
function yoğurtyap($katkı, $miktar = "az")
{
return "Bir kase $miktar $katkı içeren yoğurt yapılıyor.\n";
}

echo yoğurtyap("çilek"); // "çilek" $katkı olarak işleme alınır
?>

Yukarıdaki örneğin çıktısı:

Bir kase az çilek içeren yoğurt yapılıyor.

PHP 8.0.0 ve sonrasında, çok sayıda seçimlik bağımsız değişkeni atlamak için isimli bağımsız değişkenler kullanılabilir.

Örnek 9 - Öntanımlı işlev bağımsız değişkenlerinin doğru kullanımı

<?php
function yoğurtyap($katkı = "şeker", $miktar = "az", $tarz = "doğal")
{
return "Bir kase $miktar $katkı içeren $tarz yoğurt yapılıyor.\n";
}
echo makeyogurt($tarz: "süzme");
?>

Yukarıdaki örneğin çıktısı:

Bir kase az çilek içeren süzme yoğurt yapılıyor.

PHP 8.0.0 ve sonrasında, işlev çağrısında zorunlu bağımsız değişkenlerin seçimliklerden sonra tanımlanması kullanımdan kaldırılmıştır. Bu genellikle, kullanılmayacak olan öntanımlı değer atlanarak çözümlenir. Bunun tek istisnası, türü örtük olarak null yapan Tür $param = null biçimindeki bağımsız değişkenlerdir. Bunun kullanımına hala izin verilmekteyse de bunun yerine, null olabilen tür kullanımı önerilmektedir.

Örnek 10 - Seçimliklerin zorunlu bağımsız değişkenlerden sonra bildirimi

<?php
function foo($a = [], $b) {} // Öntanımlı bağımsız değişken böyle kullanılamaz;
// PHP 8.0.0 ve sonrasında kullanımda değil

function foo($a, $b) {} // İşlevsel olarak aynı, bir uyarı verilmez
function bar(A $a = null, $b) {} // Hala izin veriliyor; $a null olabiliyor
function bar(?A $a, $b) {} // Önerilen kullanım
?>

Bilginize: PHP 7.1.0 ve sonrasında, öntanımlı değer belirtilmemiş bir bağımsız değişkenin atlanması ArgumentCountError yavrulanmasına yol açmaktadır; önceki sürümlerde sadece bir uyarı çıktılanırdı.

Bilginize: Gönderimli aktarılabilen bağımsız değişkenler öntanımlı değer içerebilir.

Değişken uzunlukta bağımsız değişken listesi

PHP, kullanıcı tanımlı işlevlerde bağımsız değişken listesinin sonuna ... konarak listenin uzatılmasını destekler.

Bağımsız değişken listeleri, işlevin değişken sayıda bağımsız değişken kabul ettiğini belirtmek için ... simgesini içerebilir. Bu durumda bağımsız değişkenler değişkene bir dizi olarak aktarılır:

Örnek 11 - Değişken uzunlukta bağımsız değişkenler için ... kullanımı

<?php
<?php
function sum(...$numbers) {
$acc = 0;
foreach ($numbers as $n) {
$acc += $n;
}
return $acc;
}

echo sum(1, 2, 3, 4);
?>

Yukarıdaki örneğin çıktısı:

10

Bir diziyi, bir Traversable değişkeni veya bir sabiti bağımsız değişken listesi haline getirmek için işlev çağrılırken de ... kullanılabilir. Örnek:

Örnek 12 -Bağımsız değişkenlere erişmek için ... kullanımı

<?php
function add($a, $b) {
return $a + $b;
}

echo add(...[1, 2])."\n";

$a = [1, 2];
echo add(...$a);
?>

Yukarıdaki örneğin çıktısı:

3
3

... dizgeciğinden önce normal konumsal bağımsız değişkenler belirtilebilir. Bu durumda ... ile üretilen diziye sadece konumsal bağımsız değişkenlerle eşleşen sonuncu bağımsız değişkeni izleyen eşleşmeyen bağımsız değişkenler eklenir.

... dizgeciğinin önüne tür bildirimi de eklenebilir. Bu durumda ... kapsamındaki tüm bağımsız değişkenlerin bu tür bildirimi ile eşleşmesi gerekir.

Örnek 13 Değişken bağımsız değişkenlerde tür bildirimi

<?php
function total_intervals($unit, DateInterval ...$intervals) {
$time = 0;
foreach ($intervals as $interval) {
$time += $interval->$unit;
}
return $time;
}

$a = new DateInterval('P1D');
$b = new DateInterval('P2D');
echo total_intervals('d', $a, $b).' gün';

// Bir DateInterval nesnesi olmadığından bu başarısız olur.
echo total_intervals('d', null);
?>

Yukarıdaki örneğin çıktısı:

3 gün
Catchable fatal error: Argument 2 passed to total_intervals() must be an instance of DateInterval, null given, called in - on line 14 and defined in - on line 2

Son olarak, ... dizgeciğinin önüne bir & ekleyerek değişken bağımsız değişkenleri gönderimli olarak da aktarabilirsiniz.

İsimli bağımsız değişkenler

PHP 8.0.0, var olan konumsal bağımsız değişkenlerin bir uzantısı olarak isimli bağımsız değişkenleri tanıttı. İsimli bağımsız değişkenler, bağımsız değişkenlerin konuma göre değil bağımsız değişken adına göre işleve iletilmesine izin verir. Bu, bağımsız değişkeni kendini belgelendiren bağımsız değişken haline, bağımsız değişkenleri de sıralamadan bağımsız hale getirir ve öntanımlı değerlerin keyfi olarak atlanmasına izin verir.

İsimli bağımsız değişkenler, değerin önüne iki nokta üst üste ile bağımsız değişken adı eklenerek iletilir. Ayrılmış anahtar sözcüklerin bağımsız değişken adları olarak kullanılmasına izin verilir. Bağımsız değişken adı bir tanımlayıcı olmalıdır, bir değişkenle belirtilmesine izin verilmez.

Örnek 14 - İsimli bağımsız değişken sözdizimi

<?php
işlevim(değişkenAdı: $değer);
array_foobar(array: $değer);

// desteklenmiyor
işlev_adı($değişkeneSaklanmışBağımsızDeğişkenAdı: $$değer);
?>

Örnek 15 - Konumsal ve isimli bağımsız değişkenler

<?php
// Konumsal bağımsız değişkenler:
array_fill(0, 100, 50);

// İsimli bağımsız değişkenler:
array_fill(start_index: 0, count: 100, value: 50);
?>

İsimli bağımsız değişkenlerin aktarılma sırasının bir önemi yoktur.

Örnek 16 - Farklı bağımsız değişken sırasıyla yukarıdaki örnek

<?php
array_fill(value: 50, count: 100, start_index: 0);
?>

İsimli bağımsız değişkenler konumsal bağımsız değişkenlerle birleştirilebilir. Bu durumda, isimli bağımsız değişkenler konumsal bağımsız değişkenlerden sonra gelmelidir. Sıralarına bakılmaksızın, bir işlevin isteğe bağlı bağımsız değişkenlerinden yalnızca bazılarını belirtmek de mümkündür.

Örnek 17 - İsimli bağımsız değişkenlerle konumsal bağımsız değişkenleri birleştirmek

<?php
htmlspecialchars($string, double_encode: false);
// Same as
htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8', false);
?>

Aynı bağımsız değişkeni birden fazla kullanmak bir Error istisnasına yol açar.

Örnek 18 - Aynı bağımsız değişkenin birden fazla kullanımında Error yavrulanması

<?php
function foo($param) { ... }
foo(param: 1, param: 2);
// Hata: $param isimli bağımsız değişkeni önceki bağımsız değişkeni geçersiz kılıyor
foo(1, param: 2);
// Hata: $param isimli bağımsız değişkeni önceki bağımsız değişkeni geçersiz kılıyor
?>

PHP 8.1.0 itibariyle, bağımsız değişken genişletmesinden sonra isimli bağımsız değişken kullanımına izin verilmektedir ancak, isimli bağımsız değişkenin genişletmedeki bağımsız değişkeni geçersiz kılmaması gerekir.

Örnek 19 - Genişletme sonrası isimli bağımsız değişken kullanımı

<?php
function foo($a, $b, $c = 3, $d = 4) {
return $a + $b + $c + $d;
}
var_dump(foo(...[1, 2], d: 40)); // 46
var_dump(foo(...['b' => 2, 'a' => 1], d: 40)); // 46
var_dump(foo(...[1, 2], b: 20)); // Ölümcül hata. İsimli bağımsız değişken $b, genişletmedekini geçersiz kılıyor
?>


Dönen değerler

Değerler, isteğe bağlı return deyimi kullanılarak döndürülür. Diziler ve nesneler dahil herhangi bir tür döndürülebilir. Bu, işlevin çalıştırmayı hemen bitirmesine ve denetimi çağrıldığı satıra geri aktarmasına neden olur. Daha fazla bilgi için return işlevine bakın.

Bilginize:

return kullanılmazsa null değeri döndürülür.

Örnek 1 - return kullanımı

<?php
function square($num)
{
return $num * $num;
}
echo square(4); // çıktısı: '16'.
?>

Bir işlev çok sayıda değer döndürebildiği gibi bir dizi döndürerek de aynı sonuç sağlanabilir.

Örnek 2 - Çok sayıda değeri bir diziyle döndürmek

<?php
function small_numbers()
{
return (0, 1, 2);
}

// Burada dizi üyeleri tek tek toplanmaktadır
[$zero, $one, $two] = small_numbers();

// 7.1.0 öncesinde, bu sadece list() oluşumu ile sağlanabilirdi
list($zero, $one, $two) = small_numbers();

?>

Bir işlevden gönderim döndürmek için hem işlev bildiriminde hem de dönen değer bir değişkene atandığında gönderim işleci & kullanılır:

Örnek 3 - Bir işlevden gönderim döndürmek

<?php
function &returns_reference()
{
return $someref;
}
?>

$newref =& returns_reference();

Gönderimler hakkında daha fazla bilgi için Gönderimlerle İlgili Herşey bölümüne bakınız.


Değişken işlevler

PHP değişken işlev kavramını desteklemektedir. Yani, bir değişken isminin sonuna parantez eklenmişse, PHP aynı isimde bir işlev olup olmadığına bakar ve bulduğu takdirde bu işlevi çalıştırmaya çalışır. Başka olası işlemlerin yanında, bu özellik geri çağırımların, işlev tablolarının ve benzerlerinin gerçeklenmesinde kullanılabilir.

Değişken işlevler, echo, print, unset(), isset(), empty(), include, require ve benzeri dil yapılarında çalışmayacaktır. Bu yapıları değişken işlev olarak kullanmak istediğiniz takdirde, gerekli sarmalayıcı işlevleri kendiniz yazmalısınız.

Örnek 1 - Değişken işlev örneği

<?php
function foo() {
echo "In foo()<br />\n";
}

function bar($arg = '')
{
echo "In bar(); argument was '$arg'.<br />\n";
}

// Bu echo için sarmalayıcı işlevdir
function echoit($string)
{
echo $string;
}

$func = 'foo';
$func(); // foo() çağrılır

$func = 'bar';
$func('test'); // bar() çağrılır

$func = 'echoit';
$func('test'); // echoit() çağrılır
?>

Değişken işlev özelliğini kullanarak bir nesnenin bir yöntemini de çağırabilmeniz mümkündür.

Örnek 2 - Değişken yöntem örneği

<?php
class Foo
{
function Variable()
{
$name = 'Bar';
$this->$name(); // Bu Bar() yöntemini çağıracaktır
}

function Bar()
{
echo "Bu bir Bar";
}
}

$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // Bu $foo->Variable() işlevini çağıracaktır

?>

Static türünden yöntemleri çağırırken işlev çağrısı 'static property' işlecinden daha güçlüdür:

Örnek 3 Statik özellikli yöntem çağrısı örneği

<?php
class Foo
{
static $variable = 'static property';
static function Variable()
{
echo 'Method Variable called';
}
}

echo Foo::$variable; // Bu 'static property' basar. Bu bağlamda $variable gerekmez.
$variable = "Variable";
Foo::$variable(); // Bu bağlamda $variable değişkenini okuyan $foo->Variable() çağrılır.

?>

Örnek 4 Karmaşık çağrılar

<?php
class Foo
{
static function bar()
{
echo "bar\n";
}
function baz()
{
echo "baz\n";
}
}

$func = array("Foo", "bar");
$func(); // prints "bar"
$func = array(new Foo, "baz");
$func(); // prints "baz"
$func = "Foo::bar";;
$func(); // "bar" basar
?>

Ayrıca Bakınız

  • is_callable()
  • call_user_func()
  • function_exists()
  • değişken değişkenler


Yerleşik işlevler

PHP standart olarak birçok işlev ve oluşum ile birlikte gelmektedir. Bunun yanında, özel PHP eklentilerinin derlenmesini gerektiren, aksi takdirde "tanımsız işlev" hatası üreten işlevler de mevcuttur. Örneğin, imagecreatetruecolor() gibi görüntü işlevlerini kullanabilmek için, PHP'yi GD desteğiyle derlemiş olmanız gerekir. Ya da, mysqli_connect() işlevini kullanabilmek için, PHP'nin MySQLi desteği ile derlenmiş olması gerekmektedir. Bunların yanında, bütün PHP sürümlerine eklenen dizge ve değişken işlevleri gibi birçok çekirdek işlev de mevcuttur. phpinfo() ya da get_loaded_extensions() işlevlerine yapılacak bir çağrı ile PHP'ye hangi eklentilerin yüklenmiş olduğunu görebilirsiniz. Birçok uzantı öntanımlı olarak etkinleştirilmiş olup PHP Kılavuzunda bu eklentilerle ilgili geniş bilgi verilmiştir. PHP'yi nasıl yapılandırmanız gerektiğiyle ilgili bilgiyi yapılandırma ve kurulum bölümleri ile eklerdeki özel bölümlerde bulabilirsiniz.

Kılavuzun işlev tanımı nasıl okunur bölümünde bir işlev tanımının nasıl okunup anlaşılabileceği ile ilgili bilgiler bulunmaktadır. Bir işlevin bir değer mi döndürdüğü yoksa aktarılan değerlerle sadece işlem mi yaptığını anlamak önemlidir. Örneğin, str_replace() değiştirilmiş dizgeyle dönerken, usort() sadece kendisine aktarılan değer üzerinde çalışır. Ayrıca, her kılavuz sayfasında her işlevin bağımsız değişkenleri, davranış değişiklikleri, başarı ya da başarısızlık durumunda döndürülen değerler ve kullanılabilirlik bilgileri bulunmaktadır. Bu önemli (ve sıklıkla algılanması güç) farklılıkların bilinmesi, doğru PHP kodunun yazılabilmesi için büyük önem taşımaktadır.

Bilginize: Bir işleve, işlevin kabul etmeyeceği bir bağımsız değişken (örneğin, bir dizge gerekirken bir dizi) belirtilmesi durumunda işlevin döndüreceği değer tanımsızdır (beklenen değer olmayabilir). Böyle bir durumda çoğunlukla null döner, fakat bu böyle düzenlenmiş demek değildir ve buna güvenilmemelidir. PHP 8.0.0 itibariyle, böyle bir durumda bir TypeError istisnası yavrulanması gerekir.

Bilginize:

Sayıl türler, zorlanmış kipteyken yerleşik işlevlerde öntanımlı olarak null olabilmektedir. PHP 8.1.0'dan itibaren nullable türünde bildirilmeyen bir dahili işlev bağımsız değişkenine null aktarılması önerilmemekte ve sayıl türlerin açıkça nullable olarak bildirilmesini gerektiren kullanıcı tanımlı işlevlerin davranışıyla uyum sağlamak için zorlanmış kipte kullanımdan kaldırma uyarısı çıktılanmaktadır.

Örneğin, strlen() işlevinin $dizge bağımsız değişkeninde string türünde bir değer alabileceği belirtilmiş, null olabileceği belirtilmemiştir. Geriye uyumluluk adına PHP zorlayıcı kipte bu bağımsız değişkene değer olarak null aktarılmasına izin vermekte olup bağımsız değişken örtük olarak string türüne dönüştürülmekte ve sonuçta değer "" olmaktadır. Katı kipte ise bunun aksine, TypeError çıktılanmaktadır.

<?php
var_dump(strlen(null));
// "Önerilmiyor: string türündeki 1. bağımsız değişkene ($dizge) null aktarımı PHP 8.1.0 itibariyle önerilmiyor.
// int(0)

var_dump(str_contains("foobar", null));
// "Önerilmiyor: string türündeki 2. bağımsız değişkene ($iğne) null aktarımı PHP 8.1.0 itibariyle önerilmiyor.
// bool(true)
?>

Ayrıca Bakınız

  • function_exists()
  • İşlev Başvuru Kılavuzu
  • get_extension_funcs()
  • dl()


Anonim işlevler

Anonim işlevler isim belirtmeksizin oluşturulabilen işlevlerdir. Çoğunlukla callable türünde bağımsız değişkenler olarak işlev bağımsız değişkenlerinde kullanılırsa da kullanımı bununla sınırlı değildir.

Anonim işlevler Closure sınıfı kullanılarak gerçeklenir.

Örnek 1 - Anonim işlev örneği

<?php
echo preg_replace_callback('~-([a-z])~',
function ($match) {
return strtoupper($match[1]);
},
'hello-world');
// Çıktısı: helloWorld
?>

Anonim işlevler birer değişken değeri olarak da bildirilebilir. Bu durumda PHP, işlevi otomatik olarak sınıfının nesnel bir örneği haline getirir. Bir anonim işlev, bir değişkene sıradan bir deyim gibi, bir noktalı virgül ile biten bir işlev olarak atanabilir:

Örnek 2 - Değişkene anonim işlev atama örneği

<?php
$greet = function($isim) {
printf("Merhaba %s\r\n", $isim);
};

$greet('Dünya');
$greet('PHP');
?>

Anonim işlevler değişkenleri üst etki alanından miras alabilirler. Böyle değişkenler use dil oluşumuna aktarılmalıdır. PHP 7.1 itibariyle, bu değişkenler süper küreseller, $this veya bir bağımsız değişken ile aynı isimdeki değişkenleri içeremez. İşlevin dönüş türü bildirimi use sözcüğünden sonra gelmelidir.

Örnek 3 Değikenleri üst etki alanından miras almak

<?php
$message = 'hello';

// "use" olmaksızın
$example = function () {
var_dump($message);
};
$example();

// $message miras alınır
$example = function () use ($message) {
var_dump($message);
};
$example();

// Miras alınan değişkenin değeri işlevin tanımından gelir, çağrısından değil.
$message = 'world';
$example();

// message sıfırlanır
$message = 'hello';

// Gönderimle miras alma
$example = function () use (&$message) {
var_dump($message);
};
$example();

// Üst etki alanında değişen değer
// işlev çağrısı içinde yansıtılır.
$message = 'world';
$example();

// Anonim işlevler sıradan bağımsız değişkenleri de kabul edebilir
$example = function ($arg) use ($message) {
var_dump($arg . ' ' . $message);
};
$example("hello");

// Dönüş türü bildirimi use sözcüğündan sonra gelir
$example = function () use ($message): string {
return "hello $message";
};
var_dump($example());
>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Notice: Undefined variable: message in /example.php on line 6
NULL
string(5) "hello"
string(5) "hello"
string(5) "hello"
string(5) "world"
string(11) "hello world"
string(11) "hello world"

Etki alanından miras alınan değişkenler listesinin sonunda bir virgül varsa PHP 8.0.0 itibariyle bu virgül yoksayılmaktadır.

Üst etki alanından miras alınan değişkenler küresel değişkenler gibi ele alınmazlar. Küresel değişkenler, işlevin çalıştığı etki alanında tanımlı değişkenlerdir. Anonim işlevin üst etki alanı ise içinde bildirildiği işlevin etki alanıdır (Anonim işlevin bildirildiği etki alanı ile çağrıldığı etki alanı aynı olmak zorunda değildir). Aşağıdaki örneğe bakalım:

Örnek 4 - Anonim işlevler ve etki alanı

<?php
// Ürünleri eklemek üzere bir Sepet oluşturalım.
// Eklenen ürünlerin toplam fiyatını döndürmek
// üzere bir geriçağırım işlevi kullanalım.
class Sepet
{
const PRICE_BUTTER = 1.00;
const PRICE_MILK = 3.00;
const PRICE_EGGS = 6.95;

protected $ürünler = Array();

public static function ekle($ürün, $miktar)
{
$this->ürünler[$ürün] = $miktar;
}

public static function miktarıGetir($ürün)
{
return isset($this->ürünler[$ürün]) ? $this->ürünler[$ürün] : FALSE;

}

public function Toplam($kdv)
{
$toplam = 0.00;

$işlev =
function ($miktar, $ürün) use ($kdv, &$toplam)
{
$birimFiyat = constant(__CLASS__ . "::FiYAT_" .
strtoupper($ürün));
$toplam += ($birimFiyat * $miktar) * ($kdv + 1.0);
};

array_walk($this->ürünler, $işlev);
return round($toplam, 2);
}
}

$sepetim = new Sepet;

// Sepete birşeyler ekleyelim
$sepetim->ekle('Peynir', 1);
$sepetim->ekle('Süt', 3);
$sepetim->ekle('Yumurta', 6);

// %5 KDV ile toplamı döndürelim
print $sepetim->Toplam(0.05) . "\n";
// sonuç: is 54.29
?>

Örnek 5 $this'in otomatik bağlanması

<?php

class Test
{
public function testing()
{
return function() {
var_dump($this);
};
}
}

$object = new Test;
$function = $object->testing();
$function();

?>

Yukarıdaki örneğin çıktısı:

object(Test)#1 (0) {
}

Bir sınıf başka bir sınıfın içinde bildirildiğinde $this'i işlevin etki alanı içinde kullanılabilir kılarak otomatik olarak ona bağlanır. Bu otomatik bağlantı istenmiyorsa bunun yerine statik anonim işlevler kullanılabilir.

Statik anonim işlevler

Anonim işlevler statik olarak bildirilebilmektedir. Böylece, geçerli sınıfın otomatik olarak bunlara bağlanamaması sağlanabilir. Çalışma anında nesneler de otomatik olarak bunlara bağlanamayacaktır.

Örnek 6 - Statik anonim bir işlevin içinde $this kullanmaya çalışmak

<?php

class Foo
{
function __construct()
{
$func = static function() {
var_dump($this);
};
$func();
}
};
new Foo();

?>

Yukarıdaki örneğin çıktısı:

Notice: Undefined variable: this in %s on line %d
NULL

Örnek 7 - Statik anonim bir işleve bir nesne bağlamaya çalışmak

<?php

$func = static function() {
// işlev gövdesi
};

$func = $func->bindTo(new stdClass);
$func();

?>

Yukarıdaki örneğin çıktısı:

Warning: Cannot bind an instance to a static closure in %s on line %d

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Anonim işlev değişkenleri süper küreseller, $this veya bir bağımsız değişken ile aynı isimdeki değişkenleri içeremez.

Notlar

Bilginize: func_num_args(), func_get_args() ve func_get_args() işlevini bir anonim işlev içinde kullanmak mümkündür.


Ok İşlevleri

Ok işlevleri PHP 7.4'te anonim işlevler için daha kısa bir sözdizimi olarak tanıtılmıştır.

Anonim işlevler ve ok işlevlerinin ikisi de Closure sınıfı kullanılarak gerçeklenmiştir.

Ok işlevlerinin temel biçimi: fn (bağımsız değişkenler) => ifade

Ok işlevleri, üst etki alanındaki değişkenleri daima otomatik kullanması dışında anonim işlevlerin desteklediği özelliklerin tümünü destekler.

İfadede kullanılan bir değişken üst etki alanında tanımlandığında, örtük olarak değeriyle aktarılır. Aşağıdaki örnekte $fn1 ve $fn2 işlevleri aynı şekilde davranır.

Örnek 1 - Ok işlevleri otomatik olarak değişkenleri üst etki alanından daima değerleriyle alır

<?php

$y = 1;

$fn1 = fn($x) => $x + $y;
// $y bağımsız değişkenini değeriyle kullanmaya eşdeğerdir:
$fn2 = function ($x) use ($y) {
return $x + $y;
};

var_export($fn1(3));
?>

Yukarıdaki örneğin çıktısı:

4

Aşağıdaki örnek, ok işlevleri iç içe kullanılsa da çalışır:

Örnek 2 - Ok işlevleri otomatik olarak değişkenleri iç içe olsalar bile üst etki alanından daima değerleriyle alır

<?php

$z = 1;
$fn = fn($x) => fn($y) => $x * $y + $z;
// 51 çıktılanır
var_export($fn(5)(10));
?>

Anonim işlevlere benzer olarak, ok işlevleri sözdizimi de, bağımsız değişken ve dönüş türleri dahil, öntanımlı değerler, değişken sayıda bağımsız değişkenler, gönderimli aktarım ve dönüşler gibi rasgele işlev imzalarına da izin verir. Aşağıdaki ok işlevlerinin tamamı geçerli örneklerdir:

Örnek 3 - Ok işlevi örnekleri

<?php

fn(array $x) => $x;
static fn(): int => $x;
fn($x = 42) => $x;
fn(&$x) => $x;
fn&($x) => $x;
fn($x, ...$rest) => $rest;

?>

Ok işlevleri değişken bağlamını değeriyle kullanır. Bu kabaca, ok işlevi içinde kullanılan her $x değişkeni için bir use($x) çalıştırmaya eşdeğerdir. Değişken bağlamını değeriyle kullanmaktan kasıt, dış etki alanındaki herhangi bir değerin değiştirilmesinin mümkün olmayacağıdır. Değişken bağlamını gönderimiyle kullanmak için anonim işlevler kullanılabilir.

Örnek 4 - Dış etki alanındaki değerler ok işlevleri kullanılarak değiştirilemez

<?php

$x = 1;
$fn = fn() => $x++; // Etkisiz
$fn();
var_export($x); // 1 çıktılanır

?>

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Ok işlevleri kullanılabilir oldu.

Notlar

Bilginize: Bir ok işlevi içinden func_num_args(), func_get_arg() ve func_get_args() kullanmak mümkündür.


Birinci sınıf çağrılabilir sözdizimi

PHP 8.1.0 itibariyle kullanılabilen birinci sınıf çağrılabilir sözdizimi çağrılabilir anonim işlevler oluşturmanın bir yoludur. Dizgeleri ve dizileri kullanan mevcut çağrılabilir sözdiziminin yerini alır. Bu sözdiziminin getirisi statik analiz için erişilebilir olması ve çağrılabilirin elde edildiği etki alanın kullanılabilmesidir.

Çağrılabilirden Closure nesne oluşturmakta CallableExpr(...) sözdizimi kullanılır. CallableExpr PHP dil yapısı içinde doğrudan çözümlenebilen her ifadeyi kabul eder:

Örnek 1 - Basit birinci sınıf çağrılabilir sözdizimi

<?php

class Foo {
public function yöntem() {}
public static function statikyöntem() {}
public function __invoke() {}
}

$obj = new Foo();
$sınıfDizgesi = 'Foo';
$yöntemDizgesi = 'method';
$statikYöntemDizgesi = 'staticmethod';

$f1 = strlen(...);
$f2 = $obj(...); // çağrılabilir nesne
$f3 = $obj->yöntem(...);
$f4 = $obj->$yöntemDizgesi(...);
$f5 = Foo::statikyöntem(...);
$f6 = $sınıfDizgesi::$statikYöntemDizgesi(...);

// dizi, dizge kullanan geleneksel çağrılabilir
$f7 = 'strlen'(...);
$f8 = [$obj, 'method'](...);
$f9 = [Foo::class, 'staticmethod'](...);
?>

Bilginize:

... sözdiziminin bir parçası olup ihmal edilmemelidir.

CallableExpr(...) sözdizimi Closure::fromCallable() ile aynı yapıdadır. Yani, dizi ve dizge kullanan çağrılabilirlerin tersine CallableExpr(...) oluşturulduğu etki alanına bağlıdır:

Örnek 2 - Geleneksel çağrılabilir ile CallableExpr(...) karşılaştırması

<?php

class Foo {
public function getPrivateMethod() {
return [$this, 'privateMethod'];
}

private function privateMethod() {
echo __METHOD__, "\n";
}
}

$foo = new Foo;
$privateMethod = $foo->getPrivateMethod();
$privateMethod();
// Ölümcül hata: private yöntem Foo::privateMethod() küresel etki alanında çağrılıyor.
// Bunun nedeni, çağrının Foo dışında yapılması ve
// görünürlüğün bu noktadan denetlenmesidir.

class Foo1 {
public function getPrivateMethod() {
// Çağrılabilirin oluşturulduğu etki alanı kullanılıyor.
return $this->privateMethod(...); // Closure::fromCallable([$this, 'privateMethod']); ile eşdeğer
}

private function privateMethod() {
echo __METHOD__, "\n";
}
}

$foo1 = new Foo1;
$privateMethod = $foo1->getPrivateMethod();
$privateMethod(); // Foo1::privateMethod
?>

Bilginize:

Bu sözdizimini kullanarak nesne oluşturmak (new Foo(...) gibi) desteklenmemektedir. Bunun sebebi new Foo() sözdiziminin bir işlev/yöntem çağrısı olarak ele alınmamasıdır.

Bilginize:

Basit birinci sınıf çağrılabilir sözdizimi ile güvenli null işleci ?-> birlikte kullanılmamalıdır. Aşağıdakilerin her biri bir derleme hatasıyla sonuçlanır:

<?php
$obj?->method(...);
$obj?->prop->method(...);
?>


Sınıflar ve Nesneler

İçindekiler

  • Giriş
  • Temel Kavramlar
  • Özellikler
  • Sınıf Sabitleri
  • Otomatik Yüklenen Sınıflar
  • Kurucular ve Yıkıcılar
  • Görünürlük
  • Nesnelerin Kalıtımı
  • Etki Alanı Çözünürlük İşleci (::)
  • static Anahtar Sözcüğü
  • Sınıf Soyutlama
  • Nesne Arayüzleri
  • Nitelikler
  • Anonim Sınıflar
  • Aşırı Yükleme
  • Nesne Yineleme
  • Sihirli Yöntemler
  • final Anahtar Sözcüğü
  • Nesne Kopyalama
  • Nesnelerin Karşılaştırılması
  • Statik İçselleştirim
  • Nesneler ve Gönderimler
  • Nesne Dizgeleştirme
  • Çok Özgüllük ve Az Özgüllük
  • NYP Değişiklik Güncesi


Giriş

PHP tam bir nesne modeline sahiptir. Özelliklerinden bazıları şunlardır: Görünürlük, Sınıf Soyutlama, final sınıflar ve yöntemlerine ek olarak, Sihirli Yöntemler, Nesne Arayüzleri ve Nesne Kopyalama.

PHP'deki her nesne değişkeni nesnenin tamamının bir kopyasını değil, nesne başvurusunu içerir. Ayrıntılar için Nesneler ve Gönderimler bölümüne bakınız.

İpucu

Ayrıca Kullanıcı Alanı İsimlendirme Kılavuzu belgesine de bakılabilir.


Temel Kavramlar

class Anahtar Sözcüğü

Temel sınıf tanımı class anahtar sözcüğü ile başlar sınıf isminin ardından gelen bir çift kaşlı ayracın arasında sınıfa ait özelliklerin ve yöntemlerin tanımları bulunur.

Sınıf ismi olarak herhangi bir geçerli yafta kullanılabilir ancak bu PHP için ayrılmış sözcüklerden biri olmamalıdır. Geçerli bir sınıf ısmı bir harf veya alt çizgi ile başlar, sayılar, harfler veya alt çizgiler içerebilir. Bir düzenli ifade olarak şöyle bir şablonla eşleşmelidir: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.

Bir sınıfın kendi sabitleri, değişkenleri (bunlara "özellik" de denir) ve işlevleri (bunlara "yöntem" de denir) olabilir.

Örnek 1 - Basit bir sınıf tanımı

<?php
class BasitSınıf
{
// özellik bildirimi
public $öntanımlı = 'öntanımlı bir değer';

// yöntem tanımı
public function ÖntanımlıyıGöster() {
echo $this->öntanımlı;
}
}
?>

Bir nesne bağlamı içinden bir yöntem çağırmak için $this diye bir sözde değişken kullanılır. $this çağrılan nesnenin değeridir.

Uyarı

Statik olmayan yöntemin statik olarak çağrılması Error yavrulanmasına sebep olur. PHP 8.0.0 öncesinde bunun kullanımdışı olduğuna dair bir uyarı verilir ve tanımlanmamış olarak $this ile sonuçlanırdı.

Örnek 2 - $this sözde değişkeninin kullanımı

<?php
class A
{
function foo()
{
if (isset($this)) {
echo '$this tanımlı (';
echo get_class($this);
echo ")\n";
} else {
echo "\$this tanımsız.\n";
}
}
}

class B
{
function bar()
{
A::foo();
}
}

$a = new A();
$a->foo();

A::foo();

$b = new B();
$b->bar();

B::bar();
?>

Yukarıdaki örneğin PHP 7 çıktısı:

$this is defined (A)

Deprecated: Non-static method A::foo() should not be called statically in %s  on line 27
$this is not defined.

Deprecated: Non-static method A::foo() should not be called statically in %s  on line 20
$this is not defined.

Deprecated: Non-static method B::bar() should not be called statically in %s  on line 32

Deprecated: Non-static method A::foo() should not be called statically in %s  on line 20
$this is not defined.

Yukarıdaki örneğin PHP 8 çıktısı:

$this is defined (A)

Fatal error: Uncaught Error: Non-static method A::foo() cannot be called statically in %s :27
Stack trace:
#0 {main}
  thrown in %s  on line 27

Salt okunur sınıflar

PHP 8.2.0 ve sonrasında, bir sınıf readonly değiştiricisi ile imlenebilmektedir. Bir sınıfın readonly imlenmesi bildirilen her özelliğe readonly değiştiricisi eklenmesine ve dinamik özelliklerin oluşturulmasının engellenmesine neden olur. Dahası, AllowDynamicProperties özniteliği kullanılarak bu engelleme kaldırılamamakta, böyle bir çaba bir derleme anı hatasını tetiklemektedir.

<?php
#[\AllowDynamicProperties]
readonly class Foo {
}

// Ölümcül hata: #[AllowDynamicProperties] readonly class Foo'ya uygulanamaz
?>

Türsüz ve statik özellikler readonly değiştiricisi ile imlenemez ve salt okunur sınıflarda bildirilemez:

<?php
readonly class Foo
{
public $bar;
}

// Ölümcül hata: Salt okunur Foo::$bar özelliğinin bir türü olmalı
?>
<?php
readonly class Foo
{
public static int $bar;
}

// Ölümcül hata: Salt okunur class Foo statik özellikler bildiremez
?>

Salt okunur (readonly bildirimli) bir sınıfın genişletilebilmesi için gerek ve yeter koşul çocuk sınıfının da salt okunur sınıf olmasıdır.

new Anahtar Sözcüğü

Bir sınıfın örneğini oluşturmak için new anahtar sözcüğü kullanılmalıdır. Nesnenin hata durumunda daima yeni bir değişkene atanarak oluşturulması için kurucusunun bir istisna oluşturmaması gerekir. Sınıflar, örnekleme öncesi tanımlanmış olmalıdır (ve bu, bazı durumlarda bir gereksinimdir).

Bir string türünde dizge new ile kullanılmış bir sınıf ismi içeriyorsa bu sınıfın yeni bir örneği oluşturulur. Eğer sınıf bir isim alanı içersindeyse bu yapılırken sınıfın tam nitelenmiş ismi kullanılmalıdır.

Bilginize:

Sınıfın yapıcısına iletilecek hiçbir bağımsız değişken yoksa, sınıf adından sonra parantez kullanmak gerekmez.

Örnek 3 - Bir sınıf örneğinin oluşturulması

<?php
$örnek = new BasitSınıf();

// Bu bir değişkenle de yapılabilir:
$sınıf = 'BasitSınıf';
$örnek = new $sınıf(); // new BasitSınıf()
?>

PHP 8.0.0 ve sonrasında, keyfi ifadelerde new kullanımı desteklenmektedir. İfade bir dizge üretiyorsa daha karmaşık örneklemeler mümkündür. İfadelerin parantez içine alınması gerekir.

Örnek 4 - Keyfi ifadelerle örnekleme

Örnekte sınıf ismini üretmekte kullanılan çeşitli ifadeler gösterilmiştir. Bir işlev çağrısı, dizge birleştirme ve ::class sabiti.

<?php

class ClassA extends \stdClass {}
class ClassB extends \stdClass {}
class ClassC extends ClassB {}
class ClassD extends ClassA {}

function getSomeClass(): string
{
return 'ClassA';
}

var_dump(new (getSomeClass()));
var_dump(new ('Class' . 'B'));
var_dump(new ('Class' . 'C'));
var_dump(new (ClassD::class));
?>

Yukarıdaki örneğin PHP 8 çıktısı:

object(ClassA)#1 (0) {
}
object(ClassB)#1 (0) {
}
object(ClassC)#1 (0) {
}
object(ClassD)#1 (0) {
}

Sınıf bağlamında yeni bir nesneyi new self veya new parent kullanarak oluşturmak mümkündür.

Oluşturulmuş bir sınıf örneğinin yeni bir değişkene atanması sırasında, yeni değişken, atanan nesneyle aynı örneğe erişecektir. Bu davranışın örneklerin bir işleve aktarılmasından bir farkı yoktur. Kopyalamak suretiyle oluşturulmuş bir nesnenin daima bir kopyası yapılabilir.

Örnek 5 - Nesne Atama

<?php
$örnek = new BasitSınıf();

$atama = $örnek;
$gönderim =& $örnek;

$örnek->var = '$atama bu değere sahip olacak';

$örnek = null; // $örnek ve $gönderim null olur

var_dump($örnek);
var_dump($gönderim);
var_dump($atama);
?>

Yukarıdaki örneğin çıktısı:

NULL
NULL
object(BasitSınıf)#1 (1) {
  ["var"]=>
  string(30) "$atama bu değere sahip olacak"
}

Bir nesnenin örneğini oluşturmak için yeni yollar kullanılabilmektedir:

Örnek 6 - Yeni nesneler oluşturmak

<?php
class Test
{
static public function getNew()
{
return new static;
}
}

class Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)

Yeni oluşturulmuş bir nesnenin üyesine tek bir ifadede erişmek mümkündür:

Örnek 7 - Yeni oluşturulmuş bir nesnenin üyesine erişim

<?php
echo (new DateTime())->format('Y');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2016

Bilginize: PHP 7.1'den önce, bir yapıcı işlev tanımlanmamışsa bağımsız değişkenler değerlendirilmez.

Özellikler ve Yöntemler

Sınıf özellikleri ve yöntemleri ayrı isim alanlarında ("namespace") yer alır, dolayısıyla bunlar aynı isimde olabilir. Sadece bağlama bağlı kalarak, bir özelliğin mi yoksa bir yöntemin mi çağrıldığına (yani, bir değişkene erişim veya işlev çağrısı) bakmadan her ikisi de aynı gösterimle kullanılabilir.

Örnek 8 - Özelliğe erişim ya da yöntem çağrısı

<?php
class Foo
{
public $bar = 'özellik';

public function bar() {
return 'yöntem';
}
}

$obj = new Foo();
echo $obj->bar, PHP_EOL, $obj->bar(), PHP_EOL;

Yukarıdaki örneğin çıktısı:

özellik
yöntem

Bunun anlamı: Bir özelliğe atanmış bir anonim işlevi doğrudan çağırmak mümkün değildir. Bunun yerine, özellik önce örneğin bir değişkene atanmalıdır. Böyle bir özelliği parantez içine alarak doğrudan çağırmak mümkündür.

Örnek 9 - Bir özelliğe atanmış bir anonim işlevi çağırmak

<?php
class Foo
{
public $bar;

public function __construct() {
$this->bar = function() {
return 42;
};
}
}

$obj = new Foo();

echo ($obj->bar)(), PHP_EOL;

Yukarıdaki örneğin çıktısı:

42

extends Anahtar Sözcüğü

Bir sınıfın bildiriminde extends anahtar sözcüğü kullanılarak başka bir sınıfın sabit, yöntem ve özellikleri miras alınabilir. Çok sayıda sınıfı miras alarak genişlemek mümkün değildir, bir sınıf sadece bir ana sınıfı miras alabilir.

Miras alınan sabit, yöntem ve özellikler, ebeveyn sınıfta tanımlı isimleriyle yeniden bildirilerek geçersiz kılınabilir; bu sadece ebeveyn sınıfın final tanımlı yöntemleri ve sabitleri için yapılamaz. Geçersiz kılınmış yöntemlere ve statik özelliklere parent:: öneki ile atıfta bulunarak erişilebilir.

Bilginize: PHP 8.1.0 itibariyle, sabitler final olarak bildirilebilmektedir.

Örnek 10 - Basit bir sınıfın miras alınması

<?php
class EkSınıf extends BasitSınıf
{
// ebeveyn yöntemi yeniden bildirelim
function değerGöster()
{
echo "Sınıf genişletiliyor\n";
parent::değerGöster();
}
}

$ek = new EkSınıf();
$ek->değerGöster();
?>

Yukarıdaki örneğin çıktısı:

Sınıf genişletiliyor
bir öntanımlı değer

Bağımsız değişken sırası uyumluluk kuralları

Bir yöntem geçersiz kılınırken bağımsız değişkenlerin yerleri ebeveyn yöntem ile uyumlu olmalıdır. Aksi takdirde, ölümcül bir hata üretilir. PHP 8.0.0 öncesinde E_WARNING seviyesinde bir hata üretilirdi. Bağımsız değişkenlerin yerleri, özgüllük kurallarına uyuyorsa, zorunlu bir bağımsız değişkeni isteğe bağlı duruma getiriyorsa ve yalnızca isteğe bağlı yeni bağımsız değişkenler ekliyor ve görünürlüğü kısıtlamıyor, yalnızca rahatlatıyorsa uyumludur. Bu, Liskov İkame İlkesi olarak bilinir. Kurucu ve özel yöntemler bu uyumluluk kurallarından muaf olduğundan bir uyuşmazlık durumunda ölümcül bir hata oluşmaz.

Örnek 11 - Uyumlu çocuk yöntemler

<?php

class Base
{
public function foo(int $a) {
echo "Geçerli\n";
}
}

class Extend1 extends Base
{
function foo(int $a = 5)
{
parent::foo($a);
}
}

class Extend2 extends Base
{
function foo(int $a, $b = 5)
{
parent::foo($a);
}
}

$extended1 = new Extend1();
$extended1->foo();
$extended2 = new Extend2();
$extended2->foo(1);

Yukarıdaki örneğin çıktısı:

Geçerli
Geçerli

Aşağıdaki örnekler, bir bağımsız değişkeni kaldıran veya isteğe bağlı bir bağımsız değişkeni zorunlu kılan bir çocuk yöntemin ebeveyn yöntemle uyumlu olmadığını gösterir.

Örnek 12 - Bir çocuk yöntem bir bağımsız değişkeni kaldırdığında ölümcül hata oluşur

<?php

class Base
{
public function foo(int $a = 5) {
echo "Geçerli\n";
}
}

class Extend extends Base
{
function foo()
{
parent::foo(1);
}
}

Yukarıdaki örneğin PHP 8.0 çıktısı şuna benzer:

Fatal error: Declaration of Extend::foo() must be compatible with Base::foo(int $a = 5) in /in/evtlq on line 13

Örnek 13 - Bir çocuk yöntem isteğe bağlı bir bağımsız değişkeni zorunlu kıldığında ölümcül hata oluşur

<?php

class Base
{
public function foo(int $a = 5) {
echo "Geçerli\n";
}
}

class Extend extends Base
{
function foo(int $a)
{
parent::foo($a);
}
}

Yukarıdaki örneğin PHP 8.0 çıktısı şuna benzer:

Fatal error: Declaration of Extend::foo(int $a) must be compatible with Base::foo(int $a = 5) in /in/qJXVC on line 13
Uyarı

Bir çocuk sınıfta bir yöntemin bağımsız değişkenini yeniden adlandırmak bağımsız değişken sırası uyumsuzluğu değildir. Ancak, isimli bağımsız değişkenler kullanılırsa çalışma zamanı hatasına (Error) neden olacağından bu önerilmez.

Örnek 14 - Bir çocuk sınıfta isimli bağımsız değişkenler yeniden adlandırıldığında hata oluşur

<?php

class A {
public function test($foo, $bar) {}
}

class B extends A {
public function test($a, $b) {}
}

$obj = new B;

// Pass parameters according to A::test() contract
$obj->test(foo: "foo", bar: "bar"); // HATA!

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Fatal error: Uncaught Error: Unknown named parameter $foo in /in/XaaeN:14
Stack trace:
#0 {main}
  thrown in /in/XaaeN on line 14

::class

class anahtar sözcüğü, ayrıca sınıf isim çözünürlüğü için de kullanılabilmektedir. SınıfAdı sınıfının tam nitelenmiş ismini SınıfAdı::class biçeminde kullanarak bir dizge elde edilebilir. Bu, özellikle isim alanlı sınıflarda çok kullanışlıdır.

Örnek 15 - Sınıf adı çözünürlüğü

<?php
namespace NS {
class SınıfAdı {
}

echo SınıfAdı::class;
}
?>

Yukarıdaki örneğin çıktısı:

NS\SınıfAdı

Bilginize:

::class kullanarak sınıf ismi çözünürlüğü bir derleme zamanı dönüşümüdür. Yani, sınıf ismi dizgesi oluşturulduğu sırada otomatik bir yükleme henüz oluşmamıştır. Sonuç olarak, sınıf henüz mevcut değilken bile sınıf isimleri genişletilir. Bu durumda hiçbir hata oluşmaz.

Örnek 16 - Eksik sınıf adı çözümlemesi

<?php
print Does\Not\Exist::class;
?>

Yukarıdaki örneğin çıktısı:

Does\Not\Exist

PHP 8.0.0'dan itibaren, ::class nesnelerde de kullanılabilir. Bu çözümleme derleme zamanında değil çalışma zamanında gerçekleşir. Etkisi, nesne üzerinde get_class() işlevini çağırmakla aynıdır.

Örnek 17 - Nesne adı çözümlemesi

<?php
namespace NS {
class ClassName {
}
}
$c = new ClassName();
print $c::class;
?>

Yukarıdaki örneğin çıktısı:

NS\ClassName

Güvenli Null yöntemler ve özellikler

PHP 8.0.0'dan itibaren, özelliklere ve yöntemlere, "güvenli null" işleci ile de erişilebilir: ?->. Güvenli null işleci, yukarıdaki özellik veya yöntem erişimiyle aynı şekilde çalışır, tek fark, başvurulan nesne null ise bir istisna yerine null döner. Başvurulan nesne bir zincirin parçasıysa, zincirin geri kalanı atlanır.

Etkisi, her bir erişimi önce is_null() denetiminden geçirmeye benzer, ancak daha karmaşıktır.

Örnek 18 - Güvenli Null İşleci

<?php

// PHP 8.0.0 ve sonrasında, bu satır:
$result = $repository?->getUser(5)?->name;

// aşağıdaki kod kümesi ile aynıdır:
if (is_null($repository)) {
$result = null;
} else {
$user = $repository->getUser(5);
if (is_null($user)) {
$result = null;
} else {
$result = $user->name;
}
}
?>

Bilginize:

Güvenli Null işleci işleci, en iyi, null değerinin bir özellik veya yöntem dönüşü için geçerli ve beklenen olası bir değer olarak kabul edilmesi durumunda kullanılır. Bir hatayı belirtmek için, bir istisna oluşturmak tercih edilebilir.


Özellikler

Sınıf üyesi değişkenlere özellik denir. Bunlara bazan öznitelik veya alan dendiği de olur, fakat bu kılavuzun amaçları doğrultusunda biz özellik terimini kullanacağız. PHP 7.4 itibariyle, özellikler normal değişken bildiriminin önüne isteğe bağlı (Görünürlük sözcüklerinden biri, language.oop5.static.html veya PHP 8.1.0 itibariyle readonly gibi) bir değiştirici ve ardından isteğe bağlı bir tür belirtimi getirilerek bildirilir. Bu bildirim, bir ilklendirme olarak da yapılabilir; bu durumda sabit bir değerle ilklendirme yapılmalıdır.

Bilginize:

Sınıf özelliklerini bildirmenin artık kullanılmayan bir yolu da, bu değiştiriciler yerine var sözcüğünü kullanmaktır.

Bilginize: Görünürlük sözcüklerinden biri kullanılmadan bildirilen bir özellik public olarak bildirilmiş olur.

Statik olmayan özelliklere, yöntemleri içinden -> (Nesne İşleci): $this->özellik (burada özellik özelliğin ismidir) kullanarak erişilir. Statik özelliklere ise :: (Çift İki nokta imi): self::özellik kullanarak erişilir. Statik ve statik olmayan özellikler arasıdaki fark hakkında daha ayrıntılı bilgi için static Anahtar Sözcüğü bölümüne bakınız.

Yöntem bir nesne bağlamından çağrılıyorsa $this sözde değişkeni sınıf yöntemleri içinde de kullanılabilir. $this, yöntemi çağıran nesnenin değeridir.

Örnek 1 - Özellik bildirimi

<?php
class SimpleClass
{
public $var1 = 'hello ' . 'world';

public $var2 = <<<EOD
hello world
EOD;
public $var3 = 1+2;

// geçersiz özellik bildirimleri:
public $var4 = self::myStaticMethod();
public $var5 = $myVar;

// geçerli özellik bildirimleri:
public $var6 = myConstant;
public $var7 = [true, false];

public $var8 = <<<'EOD'
hello world
EOD;

// Örtük public bildirim:
static $var9;
readonly int $var10;
var $var11;
}
?>

Bilginize:

Sınıflar ve nesnelerle çalışan bazı işlevler vardır. Bunlar için Sınıf ve Nesne İşlevleri bölümüne bakınız.

Tür Bildirimleri

PHP 7.4.0 ve sonrasında özellik tanımı callable istisnası ile tür bildirimi içerebilmektedir.

Örnek 2 - Tür ile özellik bildirimi

<?php

class User
{
public int $id;
public ?string $name;

public function __construct(int $id, ?string $name)
{
$this->id = $id;
$this->name = $name;
}
}

$user = new User(1234, null);

var_dump($user->id);
var_dump($user->name);

?>

Yukarıdaki örneğin çıktısı:

int(1234)
NULL

Tür bildirimli özellikler erişilmeden önce ilklendirilmelidir, aksi takdirde bir Error yavrulanır.

Örnek 3 - Özelliklere erişim

<?php

class Shape
{
public int $numberOfSides;
public string $name;

public function setNumberOfSides(int $numberOfSides): void
{
$this->numberOfSides = $numberOfSides;
}

public function setName(string $name): void
{
$this->name = $name;
}

public function getNumberOfSides(): int
{
return $this->numberOfSides;
}

public function getName(): string
{
return $this->name;
}
}

$triangle = new Shape();
$triangle->setName("triangle");
$triangle->setNumberofSides(3);
var_dump($triangle->getName());
var_dump($triangle->getNumberOfSides());

$circle = new Shape();
$circle->setName("circle");
var_dump($circle->getName());
var_dump($circle->getNumberOfSides());
?>

Yukarıdaki örneğin çıktısı:

string(8) "triangle"
int(3)
string(6) "circle"

Fatal error: Uncaught Error: Typed property Shape::$numberOfSides must not be accessed before initialization

Salt-okunur Özellikler

PHP 8.1.0 itibariyle, bir özellik readonly ile bildirilebilmekte ve böylece ilklendirmeden sonra özellik üzerinde değişiklik yapılması engellenebilmektedir.

Örnek 4 - Salt-okunur özellik örneği

<?php

class Test {
public readonly string $prop;

public function __construct(string $prop) {
// Geçerli ilklendirme
$this->prop = $prop;
}
}
// dolaylı ilklendirme
$test = new Test("foobar");
// Geçerli değerin okunması
var_dump($test->prop); // string(6) "foobar"

// Geçersiz atama. Aynı değer yeniden atanıyor olsa bile geçerli değil.
$test->prop = "foobar";
// Hata: Salt-okunur özellik Test::$prop üzerinde değişiklik yapılamaz
?>

Bilginize:

readonly betimleyicisi sadece özelliklere veri türü bildirimi yapılırken uygulanabilir. Bir salt-okunur özelliği veri türü kısıtlaması olmaksızın bildirmek için mixed türü kullanılabilir.

Bilginize:

Salt-okunur statik özellikler desteklenmemektedir.

Bir salt-okunur özellik yalnızca bir kere, sadece bildirildiği bağlamda ilklendirilebilir ve bunun dışındaki her türlü ilklendirme ya da değişiklik hata ile sonuçlanır (Error istisnası yavrulanır).

Örnek 5 - Salt-okunur özelliklerde hatalı ilklendirme örneği

<?php
class Test1 {
public readonly string $prop;
}

$test1 = new Test1;
// Özel bağlamı dışında (küresel bağlamda) ilklendirme hatası
$test1->prop = "foobar";
// Error: Cannot initialize readonly property Test1::$prop from global scope
?>

Bilginize:

Salt-okunur özelliklerde öntanımlı değerin açıkça belirtilmesine izin verilmez. Çünkü, salt-okunur bir özelliği bir değerle bildirmek, özünde bir sabitten farksız olduğundan bu yararsızdır.

<?php

class Test {
// Ölümcül hata: Salt-okunur özellik Test::$prop öntanımlı değere sahip olamaz
public readonly int $prop = 42;
}
?>

Bilginize:

Salt-okunur özellikler ilklendirildikten sonra unset() gibi bir işlevle yok edilemez. Bu ancak, özelliğin bildirildiği bağlamda, ilklendirilmeden önce mümkündür.

Aşağıdaki gibi düz atamalarla yapılmayan değişiklikler de Error istisnasına yol açar:

<?php

class Test {
public function __construct(
public readonly int $i = 0,
public readonly array $ary = [],
) {}
}

$test = new Test;
$test->i += 1;
$test->i++;
++$test->i;
$test->ary[] = 1;
$test->ary[0][] = 1;
$ref =& $test->i;
$test->i =& $ref;
byRef($test->i);
foreach ($test as &$prop);
?>

Bununla birlikte salt-okunur özellikler, içerik değişikliğini engellemez. Nesneler (veya özkaynaklar) salt-okunur özelliklerde saklansa bile içerikleri değiştirilebilir:

<?php

class Test {
public function __construct(public readonly object $obj) {}
}

$test = new Test(new stdClass);
// Geçerli içerik değişikliği.
$test->obj->foo = 1;
// Geçersiz atama
$test->obj = new stdClass;
?>

Dinamik özellikler

Bir nesnede mevcut olmayan bir özelliğe atama yapılmaya çalışılırsa PHP olmayan özelliği otomatik olarak oluşturmaya çalışır. Böyle dinamik olarak oluşturulan bir özellik sınıfın yalnızca bu nesnesinde kullanılabilir.

Uyarı

PHP 8.2.0 ve sonrasında dinamik özelliklerin kullanımı önerilmemektedir. Özelliğe atama yapmadan önce bildirilmesi önerilir. Keyfi özellik isimlerini işleme sokabilmek için sınıfın sihirli __get() ve __set() yöntemlerini gerçeklemesi gerekir. Son çare olarak, sınıf #[\AllowDynamicProperties] özelliği ile imlenebilir.


Sınıf Sabitleri

Sabit değerlerinin her sınıf için ayrı ayrı tanımlanabilmesi mümkündür. Sabit sınıflarının öntanımlı görünülüğü public'tir.

Bilginize:

Sınıf sabitlerini bir çocuk sınıf yeniden tanımlayabilir. PHP 8.1.0 itibariyle, final olarak tanımlanmış sınıf sabitlerini çocuk sınıflar yeniden tanımlayamaz.

Ayrıca, nesne arayüzlerinin de kendi sabitlerinin olması mümkündür. Örnekler için Nesne Arayüzleri belgesine bakınız.

Bir sınıfa bir değişken kullanarak atıfta bulunmak mümkündür. Değişkenin değeri, self, parent, static gibi bir anahtar sözcük olamaz.

Sınıf sabitlerinin her sınıf örneği için değil her sınıf için bir kere ayrıldığını unutmayın.

Örnek 1 - Bir sabitin tanımlanması ve kullanımı

<?php
class MyClass
{
const CONSTANT = 'sabit değer';

function showConstant() {
echo self::CONSTANT . "\n";
}
}

echo MyClass::constant . "\n";

$classname = "MyClass";
echo $classname::CONSTANT . "\n";

$class = new MyClass();
$class->showConstant();

echo $class::CONSTANT."\n";
?>

Özel ::class sabiti ile derleme sırasında tamamen nitelenmiş sınıf ismi çözünürlüğü mümkün olup isim alanlı sınıflar için kulllanışlıdır:

Örnek 2 - İsim alanlı ::class örneği

<?php
namespace foo {
class bar {
}

echo bar::class; // foo\bar
}
?>

Örnek 3 - Sınıf sabitinde ifade kullanımı

<?php
const BİR = 1;

class foo {
const İKİ = BİR * 2;
const ÜÇ = BİR + self::İKİ;
const CÜMLE = 'ÜÇ için değer: '.self::THREE;
}
?>

Örnek 4 - Sınıf sabiti görünürlük değiştiricileri (PHP 7.1.0 ve sonrası)

<?php
class Foo {
public const BAR = 'bar';
private const BAZ = 'baz';
}
echo Foo::BAR, PHP_EOL;
echo Foo::BAZ, PHP_EOL;
?>

Yukarıdaki örneğin PHP 7.1 çıktısı:

bar

Fatal error: Uncaught Error: Cannot access private const Foo::BAZ in ...

Bilginize:

Sınıf sabitlerinde görünürlük değiştiricileri desteği PHP 7.1.0'da eklendi.


Otomatik Yüklenen Sınıflar

Nesne-yönelimli uygulama yazan birçok geliştirici, her bir sınıf tanımı için ayrı bir PHP kaynak dosyası oluşturmaktadır. Bu kullanımın en can sıkıcı noktalarından bir tanesi, betiklerin en tepesinde bir sürü dosyanın betiğe dahil edilmesini gerektirmesidir (her bir sınıf için ayrı bir dosya).

spl_autoload_register() işlevi, henüz tanımlanmamışlarsa, sınıfların ve arayüzlerin otomatik olarak yüklenmesini sağlayacak sayıda otomatik yükleyiciyi kaydeder. Otomatik yükleyicileri kaydederek, bir hatayla başarısızlığa uğramadan önce PHP'ye sınıf veya arayüzü yüklemek için son bir şans verilir.

Dikkat

PHP 8.0.0 öncesinde sınıf ve arayüzleri otomatik yüklemek için __autoload() işlevini kullanmak mümkündü. Bununla birlikte, __autoload() işlevi spl_autoload_register() işlevinin daha az esnek benzeridir ve __autoload() işlevinin kullanılması PHP 7.2.0 itibariyle önerilmemekte olup PHP 8.0.0 itibariyle kullanımdan kaldırılmıştır.

Kurucu benzeri her sınıf aynı yolla otomatik yüklenebilir. Buna sınıflar, arayüzler, nitelikler ve sayılamalar dahildir.

Bilginize:

spl_autoload_register(), birden çok otomatik yükleyiciyi kaydetmek için bir çok kez çağrılabilir. Ancak bir otomatik yükleme işlevinden bir istisna yavrulanması, bu işlemi kesintiye uğratır ve diğer otomatik yükleme işlevleri çalışamaz. Bu nedenle, bir otomatik yükleme işlevinden istisna yavrulanması kesinlikle önerilmez.

Örnek 1 - Otomatik yükleme örneği

Bu örnek MyClass1 ve MyClass2 sınıflarını yüklemeye çalışmaktadır. Sınıflar aynı isimli MyClass1.php ve MyClass2.php dosyalarının içinde yer almaktadırlar.

<?php
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});

$obj = new MyClass1();
$obj2 = new MyClass2();
?>

Örnek 2 - Başka bir otomatik yükleme örneği

Bu örnek DenemeA arayüzünü yüklemeye çalışır.

<?php

spl_autoload_register(function ($name) {
var_dump($isim);
});

class Fan implements DenemeA {
}

/*
string(5) "DenemeA"

Fatal error: Interface 'DenemeA' not found in ...
*/
?>

Ayrıca Bakınız

  • unserialize()
  • unserialize_callback_func
  • unserialize_max_depth
  • spl_autoload_register()
  • spl_autoload()
  • __autoload()


Kurucular ve Yıkıcılar

Kurucular

__construct(mixed ...$değerler = ""): void

PHP geliştiricilerin sınıflar için kurucu yöntemler bildirmesine imkan verir. Bir kurucu yöntemi olan sınıflar her yeni nesne oluşturuluşunda bu yöntemi çağırırlar, bu bakımdan nesne kullanılmadan önce yapılması gereken ilklendirmeler için kurucular çok uygundur.

Bilginize: Çocuk sınıflardan kurucusu olanlar için örtük olarak ebeveyn sınıfın kurucusu çağrılmaz. Ebeveyn sınıfın kurucusunu çocuk sınıftan çağırmak için, çocuk sınıf içinden parent::__construct() çağrısı yapılması gerekir. Çocuğun bir kurucu tanımlamaması halinde, normal sınıf yöntemi gibi (eğer private olarak tanımlanmadıysa) ana sınıftan miras alınabilir.

Örnek 1 - Miras almada kurucuların kullanımı

<?php
class AnaSınıf {
function __construct() {
print "AnaSınıf kurucusundayız\n";
}
}

class AltSınıf extends AnaSınıf {
function __construct() {
parent::__construct();
print "AltSınıf kurucusundayız\n";
}
}

class DiğerAltSınıf extends AnaSınıf {
// AnaSınıf'ın kurucusunu miras alır
}

// AnaSınıf kurucusunda
$obj = new AnaSınıf();

// AnaSınıf kurucusunda
// AltSınıf kurucusunda
$obj = new AltSınıf();

// AnaSınıf kurucusunda
$obj = new DiğerAltSınıf();
?>

Diğer yöntemlerin tersine, __construct() genişletilirken olağan bağımsız değişken sırası uyumluluk kurallarından muaftır.

Kurucular, karşılık gelen nesnelerinin somutlaştırılması sırasında çağrılan sıradan yöntemlerdir. Bu nedenle, gerekli olabilen, bir türe ve öntanımlı bir değere sahip olabilen rastgele sayıda bağımsız değişken tanımlayabilirler. Kurucu bağımsız değişkenleri, sınıf adından sonra gelen parantezlerin içine yerleştirilerek çağrılır.

Örnek 2 - Kurucu bağımsız değişkenlerinin kullanımı

<?php
class Point {
protected int $x;
protected int $y;

public function __construct(int $x, int $y = 0) {
$this->x = $x;
$this->y = $y;
}
}
// Bağımsız değişkenlerin ikisini de aktaralım
$p1 = new Point(4, 5);
// Yalnız gerekli bağımsız değişkeni aktaralım.
// $y öntanımlı olan 0 değerini alır.
$p2 = new Point(4);
// isimli bağımsız değişken kullanımı (PHP 8.0 ve sonrası):
$p3 = new Point(y: 5, x: 4);
?>

Bir sınıf kurucuya sahip değilse veya kurucu bağımsız değişkensizse yaylı ayraçlar konmayabilir.

Eski tarz kurucular

PHP 8.0.0'dan önce, genel isim alanındaki sınıflar, eski tarz kurucu ile aynı adı taşıyan bir yöntemi yorumlar. Bu sözdizimi kaldırılmış olup bir E_DEPRECATED hatasıyla sonuçlanırsa da yöntem yine de bir kurucu olarak çağrılır. Hem __construct() hem de aynı adı taşıyan yöntem tanımlanmışsa __construct() çağrılır.

İsim alanlı sınıflarda veya PHP 8.0.0 öncesinde herhangi bir sınıfta, sınıfla aynı ismi taşıyan bir yöntemin özel bir anlamı yoktur.

Yeni kodlarda daima __construct() kullanın.

Kurucu Tanıtımı

PHP 8.0.0'dan itibaren, kurucu bağımsız değişkenleri de bir nesne özelliğine karşılık gelecek şekilde tanıtılabilir. Kurucu bağımsız değişkenlerinin kurucudaki bir özelliğe atanması, ancak başka şekilde çalıştırılmaması çok yaygındır. Kurucu tanıtımı, bu kullanım durumu için kestirme bir yol sağlar. Yukarıdaki örnek aşağıdaki gibi yeniden yazılabilir.

Örnek 3 - Kurucu özelliği tanıtımının kullanımı

<?php
class Point {
public function __construct(protected int $x, protected int $y = 0) {
}
}

Bir kurucu bağımsız değişkeni değiştirici içerdiğinde, PHP bunu hem nesne özelliği hem de kurucu bağımsız değişkeni olarak yorumlar ve özelliğe bağımsız değişkenin değerini atar. Kurucu gövdesi boş olabilir veya başka ifadeler içerebilir. Bu ifadeler, bağımsız değişken değerleri karşılık gelen özelliklere atandıktan sonra yorumlanır.

Tüm bağımsız değişkenlerin tanıtımı gerekmez. Tanıtılan ve tanıtılmayan bağımsız değişkenleri herhangi bir sırayla karıştırmak ve eşleştirmek mümkündür. Tanıtılan bağımsız değişkenlerin kurucuyu çağıran kod üzerinde hiçbir etkisi yoktur.

Bilginize:

Görünürlük değiştirici (public, protected veya private) kullanımı, özellik tanıtımı yapmanın en olası yoludur, ancak diğer herhangi bir tek değiştirici de (salt okunur gibi) aynı etkiye sahip olacaktır.

Bilginize:

Nesne özellikleri, ortaya çıkabilecek motor belirsizliği nedeniyle callable türde olamaz. Tanıtılan bağımsız değişkenler de bu nedenle callable türde olamaz. Bununla birlikte, başka herhangi bir tür bildirimine izin verilir.

Bilginize:

Tanıtılan özellikler, hem özellik hem de işlev bağımsız değişkenlerinin yeniden yorumlanmasını sağladığından, hem özellikler hem de bağımsız değişkenler için tüm adlandırma kısıtlamaları geçerlidir.

Bilginize:

Tanıtılan kurucu bağımsız değişkenlerine yerleştirilen öznitelikler, hem özelliğe hem de bağımsız değişkene atanır. Tanıtılan kurucu bağımsız değişkenindeki öntanımlı değerler, özelliğe değil, yalnızca bağımsız değişkene atanır.

İlkendiricilerde new kullanımı

PHP 8.1.0 ve sonrasında, nesneler öznitelik bağımsız değişkenlerinin yanısıra öntanımlı bağımsız değişkenler, statik bağımsız değişkenler ve küresel sabitler olarak kullanılabilmektedir. Buna ek olarak, nesneler define()'a da aktarılabilmektedir.

Bilginize:

Dinamik veya dizge olmayan bir sınıf adının veya anonim bir sınıfın kullanımına izin verilmez. Bağımsız değişken genişletmeye izin verilmez. Desteklenmeyen ifadelerin bağımsız değişken olarak kullanımına izin verilmez.

Örnek 4 Using new in initializers

<?php

// All allowed:
static $x = new Foo;

const C = new Foo;

function test($param = new Foo) {}

#[AnAttribute(new Foo)]
class Test {
public function __construct(
public $prop = new Foo,
) {}
}

// Hiçbirine izin verilmez (derleme-anı hatası):
function test(
$a = new (CLASS_NAME_CONSTANT)(), // dinamik sınıf adı
$b = new class {}, // anonim sınıf
$c = new A(...[]), // bağımsız değişken genişletme
$d = new B($abc), // desteklenmeyen sabit ifadesi
) {}
?>

Statik kurucu yöntemleri

PHP, sınıf başına yalnızca tek bir kurucuyu destekler. Bununla birlikte, bazı durumlarda, bir nesnenin farklı girdilere sahip farklı yollarla oluşturulabilmesi istenebilir. Bunu yapmanın önerilen yolu, kurucu sarmalayıcıları olarak statik yöntemler kullanmaktır.

Örnek 5 - Statik kurucu yöntemlerinin kullanımı

<?php
class Product {

private ?int $id;
private ?string $name;

private function __construct(?int $id = null, ?string $name = null) {
$this->id = $id;
$this->name = $name;
}

public static function fromBasicData(int $id, string $name): static {
$new = new static($id, $name);
return $new;
}

public static function fromJson(string $json): static {
$data = json_decode($json);
return new static($data['id'], $data['name']);
}

public static function fromXml(string $xml): static {
// Özelleştirmeler buraya.
$data = convert_xml_to_array($xml);
$new = new static();
$new->id = $data['id'];
$new->name = $data['name'];
return $new;
}
}

$p1 = Product::fromBasicData(5, 'Widget');
$p2 = Product::fromJson($some_json_string);
$p3 = Product::fromXml($some_xml_string);

Kurucu, haricen çağrılmasını önlemek için özel veya korumalı yapılabilir. Bu durumda, sınıfı yalnızca statik bir yöntem örnekleyebilir. Aynı sınıf tanımında olduklarından, aynı nesne örneğinde olmasa bile özel yöntemlere erişebilirler. Özel kurucu isteğe bağlıdır ve kullanım durumuna bağlı olarak anlamlı olabilir veya olmayabilir.

Nesneyi örneklemenin farklı yollarını göstermek için üç tür public static yöntem vardır.

  • fromBasicData() gerekli bağımsız değişkenleri alıp kurucuyu çalıştırarak nesney oluşturur vesonucu döndürür.
  • fromJson() bir JSON dizesi alıp bazı önişlemlerden geçirip kurucuya gereken biçime dönüştürür ve yeni nesneyi döndürür.
  • fromXml() bir XML dizesi alıp önişemden geçirerek çıplak bir nesne oluşurur. Kurucu hala çağrılabilirse de bağımsız değişkenlerin tamamı seçimlik olduğundan yöntem bunları yoksayar. Sonucu döndürmeden önce değerleri doğrudan nesne özelliklerine atar.

Üç durumda da, static anahtar sözcüğü, kodun bulunduğu sınıfın adına çevrilir. Bu durumda, Product.

Yıkıcılar

__destruct(): void

PHP C++ gibi nesne yönelimli dillerdekine benzer bir yıkıcı tasarımına sahiptir. Yıkıcı yöntem, belli bir nesneye başka bir gönderim yoksa veya nesne kapanma sırasında açıkça yok edildiği anda çalıştırılacaktır.

Örnek 6 - Yıkıcı Örneği

<?php
class YıkıcıSınıf
{
function __construct()
{
print "Kurucu çalıştı\n";
}

function __destruct()
{
print "" . __CLASS__ . " yok ediliyor\n";
}
}

$obj = new YıkıcıSınıf();
?>

Kurucularda olduğu gibi ebeveyn yıkıcılar çocuk sınıflar için dolaylı olarak çağrılmayacaktır. Ebeveyn sınıfın yıkıcısının çalışması için çocuk sınıfın yıkıcısından parent::__destruct() çağrısının yapılması gerekir. Ayrıca, kuruculardaki gibi, bir çocuk sınıf kendisininkini gerçeklemediyse ebeveyninin yıkıcısını miras alabilir.

Betiğin icrası exit() kullanılarak durdurulsa bile yıkıcı çağrılacaktır. exit() işlevinin bir yıkıcı içersinde çağrılması kalan kapanma yordamlarının icrasını engelleyecektir.

Bilginize:

Yıkıcılar, HTTP başlıklarının gönderilmiş olmasını sağlamak için betik sonlanırken çağrılırlar. Betiğin kapanma aşamasındaki çalışma dizini bazı SAPI'lerde (Apache gibi) farklı olabilir.

Bilginize:

Bir yıkıcı içinden bir istisna oluşturmaya çalışmak (betiğin sonlandırılması sırasında) ölümcül hata ile sonuçlanır.


Görünürlük

Bir özelliğin ya da bir yöntemin (PHP 7.1.0 ve sonrası) görünürlüğü, bildirim sırasında önüne şu anahtar sözcüklerden biri getirilerek belirlenebilir: public, protected ya da private. public olarak bildirilmiş özelliklere ve yöntemlere her yerden erişilebilir. protected bildirimli özelliklere ve yöntemlere sadece tanımlandığı sınıfdan, ebeveyn sınıflardan ve miras alınarak private bildirimli özelliklere ve yöntemlere ise sadece özelliğin tanımlandığı sınıfın içinden erişilebilir.

Özelliklerin Görünürlüğü

Sınıf özellikleri public, protected ya da private olarak tanımlanabilir. Görünürlük belirtilmeden bildirilen özelliklerin görünürlüğünün public olduğu varsayılır.

Örnek 1 - Özellik bildirimi

<?php
/**
* Sınıfım tanımı
*/
class Sınıfım
{
public $genel = 'Genel';
protected $korumalı = 'Korumalı';
private $özel = 'Özel';

function selamVer()
{
echo $this->genel;
echo $this->korumalı;
echo $this->özel;
}
}

$nesne = new Sınıfım();
echo $nesne->genel; // Çalışır
echo $nesne->korumalı; // Ölümcül Hata
echo $nesne->özel; // Ölümcül Hata
$nesne->selamVer(); // Genel, Korumalı ve Özel görüntüler

/**
* ÖbürSınıfım tanımı
*/
class ÖbürSınıfım extends Sınıfım
{
// public ve protected özellikleri yeniden tanımlayabiliriz,
// ancak private olanlar tanımlanamaz
public $genel = 'Genel2';
protected $korumalı = 'Öbür korumalı';

function selamVer()
{
echo $this->genel;
echo $this->korumalı;
echo $this->özel;
}
}

$nesne2 = new ÖbürSınıfım();
echo $nesne2->genel; // Çalışır
echo $nesne2->korumalı; // Ölümcül Hata
echo $nesne2->özel; // Tanımsız

$nesne2->selamVer(); // Genel2, Öbür korumalı ve Undefined görüntülenir

?>

Yöntem Görünürlüğü

Sınıf yöntemleri public, protected ya da private olarak tanımlanmalıdır. Bunlardan herhangi biri kullanılmadan yapılmış yöntem tanımlarının public kullanılarak yapıldığı varsayılır.

Örnek 2 - Yöntem bildirimi

<?php
/**
* Sınıfım tanımı
*/
class Sınıfım
{
// public kurucu bildirimi
public function __construct() { }

// public yöntem bildirimi
public function Genel() { }

// protected yöntem bildirimi
protected function Korumalı() { }

// private yöntem bildirimi
private function Özel() { }

// Bu da public bir yöntem
function Falanca()
{
$this->Genel();
$this->Korumalı();
$this->Özel();
}
}

$sınıfım = new Sınıfım;
$sınıfım->Genel(); // Çalışır
$sınıfım->Korumalı(); // Ölümcül Hata
$sınıfım->Özel(); // Ölümcül Hata
$sınıfım->Falanca(); // Public, Protected ve Private çalışır

/**
* ÖbürSınıfım tanımı
*/
class ÖbürSınıfım extends Sınıfım
{
// Bu public bir yöntemdir
function Filanca()
{
$this->Genel();
$this->Korumalı();
$this->Özel(); // Ölümcül Hata
}
}

$öbürSınıfım = new Sınıfım;
$öbürSınıfım->Genel(); // Çalışır
$öbürSınıfım->Filanca(); // Genel ve Korumalı çalışır, Özel çalışmaz

class Bar
{
public function dnm() {
$this->dnmÖzel();
$this->dnmGenel();
}

public function dnmGenel() {
echo "Bar::dnmGenel\n";
}

private function dnmÖzel() {
echo "Bar::dnmÖzel\n";
}
}

class Foo extends Bar
{
public function dnmGenel() {
echo "Foo::dnmGenel\n";
}

private function dnmÖzel() {
echo "Foo::dnmÖzel\n";
}
}

$fo = new Foo();
$fo->dnm(); // Bar::dnmÖzel
// Foo::dnmGenel

?>

Sabit Görünürlüğü

PHP 7.1.0 ve sonrasında, sınıf sabitleri public, private veya protected olarak tanımlanabilir. Bu sözcükler olmaksızın tanımlanmış sabitlerin public olarak tanımlandıkları varsayılır.

Örnek 3 - PHP 7.1.0 ve sonrasında sabit bildirimleri

<?php
/**
* Tanımla: MyClass
*/
class MyClass
{
// public sabit bildirimi
public const MY_PUBLIC = 'genel';

// protected sabit bildirimi
protected const MY_PROTECTED = 'korumalı';

// private sabit bildirimi
private const MY_PRIVATE = 'özel';

public function foo()
{
echo self::MY_PUBLIC;
echo self::MY_PROTECTED;
echo self::MY_PRIVATE;
}
}

$myclass = new MyClass();
MyClass::MY_PUBLIC; // Çalışır
MyClass::MY_PROTECTED; // Ölümcül hata
MyClass::MY_PRIVATE; // Ölümcül hata
$myclass->foo(); // genel, korumalı ve özel çalışır

/**
* Tanımla: MyClass2
*/
class MyClass2 extends MyClass
{
// public
function foo2()
{
echo self::MY_PUBLIC;
echo self::MY_PROTECTED;
echo self::MY_PRIVATE; // Ölümcül hata
}
}

$myclass2 = new MyClass2;
echo MyClass2::MY_PUBLIC; // Çalışır
$myclass2->foo2(); // genel ve korumalı çalışır, özel çalışmaz
?>

Diğer nesnelerden görünürlük

Aynı türdeki nesneler, aynı örnekler olmasalar bile, diğerlerinin özel ve korunan üyelerine erişime sahip olacaktır. Bunun sebebi, gerçeklenime özgü ayrıntıların bu nesnelerin içindeyken zaten biliniyor olmasıdır.

Örnek 4 - Aynı nesne türündeki özel üyelere erişim

<?php
class Test
{
private $foo;

public function __construct($foo)
{
$this->foo = $foo;
}

private function bar()
{
echo 'Private yönteme erişildi.';
}

public function baz(Test $other)
{
// private özelliği değiştirilebilir:
$other->foo = 'hello';
var_dump($other->foo);

// private yöntemi de çağırılabilir:
$other->bar();
}
}

$test = new Test('test');

$test->baz(new Test('other'));
?>

Yukarıdaki örneğin çıktısı:

string(5) "hello"
Private yönteme erişildi.


Nesnelerin Kalıtımı

Kalıtım iyi kurgulanmış bir programlama prensibidir ve PHP bu prensibi kendi nesne modelinde kullanır. Bu prensip çoğu sınıf ve nesnenin bir diğeri ile ilişkisini düzenler.

Örneğin, bir sınıf (extend ile) genişletildiğinde alt sınıf üst sınıftaki genel ve korunmuş yöntemlerin tümünü miras alır. Bir sınıf bu yöntemleri aynı isimdeki yöntemlerle geçersizleştirmedikçe bunlar özgün işlevselliklerini korur.

Bu, işlevselliği tanımlamak ve soyutlamak için ve paylaşılan işlevselliğin tamamını yeni baştan gerçeklemeksizin benzer nesnelerde ek işlevsellikleri gerçeklemek için kullanışlıdır.

Bir ebeveyn sınıfın private yöntemlerine bir çocuk sınıftan erişilemez. Sonuç olarak, normal miras alma kurallarına aldırmadan çocuk sınıfların bu private yöntemleri yeniden gerçeklemesi gerekebilir. PHP 8.0.0 öncesinde, private yöntemlere bunun yanında final ve static sınırlamaları da uygulanırdı. PHP 8.0.0 ve sonrasında zorunlu olan tek private yöntem kısıtlaması, private final kuruculardır, çünkü bu, yerleşik statik yöntemleri kullanırken kurucuyu "devre dışı" bırakmanın yaygın bir yoludur.

Yöntemlerin, özelliklerin ve sabitlerin görünürlüğü gevşetilebilir, örn. protected bir yöntem public olarak imlenebilir; ancak sınırlandırılamaz, örneğin bir public özellik, private olarak imlenebilir. Görünürlüğü kısıtlanabilen kurucular istisnadır, örn. bir public kurucu, bir çocuk sınıfta private olarak imlenebilir.

Bilginize:

Otomatik yükleme kullanılmadıkça, sınıflar kullanılmadan önce tanımlanmalıdır. Eğer bir sınıf diğerini genişletiyorsa ebeveyn sınıf çocuk sınıfın yapısı kurulmadan önce bildirilmiş olmalıdır. Bu kural diğer sınıfları ve arayüzleri miras alan tüm sınıflara uygulanır.

Bilginize:

Okunup yazılabilir bir özellik salt-okunur özellik vb. ile geçersiz kılınamaz.

<?php

class A {
public int $prop;
}
class B extends A {
// Geçersiz: oku-yaz özellik salt-okunur yapılamaz
public readonly int $prop;
}
?>

Örnek 1 Kalıtım Örneği

<?php

class Foo
{
public function printItem($string)
{
echo 'Foo: ' . $string . PHP_EOL;
}

public function printPHP()
{
echo 'PHP is great.' . PHP_EOL;
}
}

class Bar extends Foo
{
public function printItem($string)
{
echo 'Bar: ' . $string . PHP_EOL;
}
}

$foo = new Foo();
$bar = new Bar();
$foo->printItem('baz'); // Çıktısı: 'Foo: baz'
$foo->printPHP(); // Çıktısı: 'PHP is great'
$bar->printItem('baz'); // Çıktısı: 'Bar: baz'
$bar->printPHP(); // Çıktısı: 'PHP is great'

?>

Dahili Sınıflar ve Dönüş Türü Uyumluluğu

PHP 8.1 öncesinde, dahili sınıfların vaya yöntemlerin çoğunda dönüş türü bildirimi yoktu ve bunları genişletirken dönüş türüne izin veriliyordu.

PHP 8.1.0 ve sonrasında, çoğu dahili yöntem dönüş türlerini "geçici olarak" bildirmeye başladı, bu durumda yöntemin dönüş türü, genişletilen ebeveyn ile uyumlu olmalıdır; aksi takdirde, bir kullanımdan kaldırma bildirimi çıktılanır. Açık bir dönüş türü bildiriminin olmayışı, ayrıca yapısal bir uyuşmazlık olarak kabul edilmekte ve dolayısıyla kullanımdan kaldırma bildirimiyle sonuçlanmaktadır.

PHP'nin sürümler arası uyumluluk endişeleri nedeniyle geçersiz kılma yöntemi için dönüş türü bildirilemezse, kullanımdan kaldırma bildirimini sessizleştirmek için ReturnTypeWillChange özniteliği eklenebilir.

Örnek 2 - Dönüş türünü bildirmeyen geçersiz kılma yöntemi

<?php
class MyDateTime extends DateTime
{
public function modify(string $modifier) { return false; }
}

// "Deprecated: Return type of MyDateTime::modify(string $modifier) should either be compatible with DateTime::modify(string $modifier): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" as of PHP 8.1.0
// Kullanımı önerilmiyor: MyDateTime::modify(string $modifier) için dönüş türü ya DateTime::modify(string $modifier): DateTime|false ile uymlu olmalı ya da PHP 8.1.0 ve sonrasında uyarıyı susturmak için #[\ReturnTypeWillChange] özniteliği kullanılmış olmalıdır.
?>

Örnek 3 - Yanlış dönüş türü bildiren geçersiz kılma yöntemi

<?php
class MyDateTime extends DateTime
{
public function modify(string $modifier): ?DateTime { return null; }
}

// "Deprecated: Return type of MyDateTime::modify(string $modifier): ?DateTime should either be compatible with DateTime::modify(string $modifier): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice" as of PHP 8.1.0
// Kullanımı önerilmiyor: MyDateTime::modify(string $modifier): ?DateTime için dönüş türü ya DateTime::modify(string $modifier): DateTime|false ile uymlu olmalı ya da PHP 8.1.0 ve sonrasında uyarıyı susturmak için #[\ReturnTypeWillChange] özniteliği kullanılmış olmalıdır.
?>

Örnek 4 - Yanlış dönüş türü bildiren ama kullanımı önerilmiyor uyarısı vermeyen geçersiz kılma yöntemi

<?php
class MyDateTime extends DateTime
{
/**
* @return DateTime|false
*/
#[\ReturnTypeWillChange]
public function modify(string $modifier) { return false; }
}

// Bir uyarı tetiklenmez
?>


Etki Alanı Çözünürlük İşleci (::)

Etki Alanı Çözünürlük İşleci (Paamayim Nekudotayim de denirmiş), basitçe bir çift iki nokta iminden ibaret olup (biz "iki nokta çifti" diyebiliriz), bir sınıfın statik, sabit ve geçersiz kılınmış özellik ve yöntemlerine erişilebilmesini sağlayan bir simgedir.

Bu öğelere sınıf tanımının dışından erişirken bu işlecin solunda sınıfın ismini kullanın.

Bu işlecin solunda sınıf ismi yerine bir değişken kullanmak da mümkündür. Değişken ismi, (self, parent, static gibi) bir anahtar sözcük olmamalıdır.

Paamayim Nekudotayim ilk bakışta iki nokta üst üste için garip bir adlandırma gibi gözükebilir. Ancak, Zend Engine 0.5 (php 3'ün kalbidir) yazıldığı esnada Zend ekibinin kullanmak istediği terim bu oldu. Esasında bu iki sözcük de iki nokta çifti anlamına gelmektedir - İbranice'de!

Örnek 1 - Sınıf tanımı dışında ::

<?php
class Sınıfım {
const SABİT_DEĞER = 'Bir sabit değer';
}

echo Sınıfım::SABİT_DEĞER;
?>

Bir sınıfın özellik ve yöntemlerine bu işleç sayesinde sınıfın içinden erişilmek istendiğinde işlecin solunda self, parent veya static anahtar sözcüğü kullanılır.

Örnek 2 - Sınıf tanımı içinde ::

<?php
class BaşkaSınıf extends Sınıfım
{
public static $statik = 'Bir statik değişken';

public static function ikiNoktaÇifti() {
echo parent::SABİT_DEĞER . "\n";
echo self::$statik . "\n";
}
}

$sınıfadı = 'BaşkaSınıf';
$sınıfadı::ikiNoktaÇifti();

BaşkaSınıf::ikiNoktaÇifti();
?>

Çocuk sınıf ebeveyninin yöntem tanımlarından bazılarını geçersiz kılarsa PHP bu yöntemlerin ebeveyn tanımlarına çağrı yapmaz. Ebeveynin yönteminin çağrılıp çağrılmayacağı çocuk sınıfın inisiyatifindedir. Bu durum aynı zamanda Kurucular ve Yıkıcılar, Aşırı Yükleme ve Sihirli yöntem tanımları için de geçerlidir.

Örnek 3 - Ebeveynin yöntemini çağırmak

<?php
class Sınıfım
{
protected function işlevim() {
echo "Sınıfım::işlevim()\n";
}
}

class BaşkaSınıf extends Sınıfım
{
// Ebeveynin tanımını geçersiz kılalım
public function işlevim()
{
// Ama hala ebeveynin işlevini çağırabiliriz
parent::işlevim();
echo "BaşkaSınıf::işlevim()\n";
}
}

$class = new BaşkaSınıf();
$class->işlevim();
?>

Ayrıca, statik çağrı hilesi örneklerine de bakınız.


static Anahtar Sözcüğü

İpucu

Bu sayfada statik yöntem ve özellikleri tanımlamak için static anahtar sözcüğünün kullanımı açıklanmıştır. static ayrıca, statik değişkenler ile statik isimsiz işlevlerin tanımlanması ve statik içselleştirim için de kullanılır. static anahtar sözcüğünün anlamları hakkında bilgi edinmek için bu sayfalara bakılabilir.

Sınıf özelliklerinin ya da yöntemlerinin static olarak tanımlanması, o özelliklerin ve yöntemlerin sınıf örneğinin oluşturulmasına gerek kalmadan erişilebilir olmalarını sağlar.

Statik Yöntemler

Statik yöntemlerin, nesnenin bir örneği oluşturulmadan erişilebilir olmalarından dolayı, $this sözde değişkeni, static olarak bildirilmiş yöntemlerin içinde kullanılamaz.

Uyarı

Statik olmayan yöntemlerin statik olarak çağrılması bir Error yavrulanmasına sebep olur.

PHP 8.0.0 öncesinde ise, statik olmayan yöntemlerin statik olarak çağrılması önerilmemekte ve bir E_DEPRECATED uyarısı üretmekteydi.

Örnek 1 - Statik yöntem örneği

<?php
class Foo {
public static function statikYöntem() {
// ...
}
}

Foo::statikYöntem();
$classname = 'Foo';
$classname::statikYöntem();
?>

Statik Özellikler

Statik özelliklere, nesne üzerinden ok işleci (->) kullanılarak değil, Etki Alanı Çözünürlük İşleci (::) (::) kullanılarak erişilebilir.

Diğer statik değişkenlerde olduğu gibi statik özellikler const ifadeleri için geçerli kurallarla ilklendirilebilir: Bazı sınırlı ifadeler mümkündür, bunlar derleme sırasında değerlendirilir.

Bir sınıfa bir değişken kullanarak gönderim yapılabilir. Böyle bir değişkenin değeri self, parent veya static gibi bir anahtar sözcük olamaz.

Örnek 2 - Statik özellik örneği

<?php
class Falanca
{
public static $statik = 'falanca';

public function statikDeğer() {
return self::$statik;
}
}

class Feşmekan extends Falanca
{
public function falancaStatik() {
return parent::$statik;
}
}

print Falanca::$statik . "\n";

$falanca = new Falanca();
print $falanca->statikDeğer() . "\n";
print $falanca->statik . "\n"; // Tanımsız "Özellik" statik

print $falanca::$statik . "\n";
$sınıfadı = 'Falanca';
print $sınıfadı::$statik . "\n";

print Feşmekan::$statik . "\n";
$feşmekan = new Feşmekan();
print $feşmekan->falancaStatik() . "\n";
?>

Yukarıdaki örneğin PHP 8.0 çıktısı şuna benzer:

falanca
falanca

Notice: Accessing static property Falanca::$statik as non static in /in/V0Rvv on line 23

Warning: Undefined property: Falanca::$statik in /in/V0Rvv on line 23

falanca
falanca
falanca
falanca


Sınıf Soyutlama

PHP soyut sınıf ve yöntemlerin kullanımını mümkün kılmıştır. Soyut olarak tanımlanmış bir sınıf örneklenemez ve en az bir soyut yöntem içeren bir sınıf da soyut olmalıdır. Soyut olarak tanımlanmış yöntemler o yöntemlerin imzasıdırlar, gerçeklemenin bütününü temsil edemezler.

Soyut bir sınıftan kalıtsal özellikler devralınırken, ebeveyn sınıf bildiriminde soyut olarak bildirilmiş tüm yöntemlerin çocuk sınıf tarafından da tanımlanmasına ek olarak, kalıtım ve bağımsız değişken yerlerinin uyumluluğu kurallarına da uyması gerekir.

Örnek 1 - Soyut sınıf örneği

<?php
abstract class SoyutSınıf
{
// Genişletilen sınıfı bu yöntemi tanımlamaya zorla
abstract protected function değeriAl();
abstract protected function önekDeğeri($önek);

// Ortak yöntem
public function yazdır() {
print $this->değeriAl() . "\n";
}
}

class SomutSınıf1 extends SoyutSınıf
{
protected function değeriAl() {
return "SomutSınıf1";
}

public function önekDeğeri($önek) {
return "{$önek}SomutSınıf1";
}
}

class SomutSınıf2 extends SoyutSınıf
{
public function değeriAl() {
return "SomutSınıf2";
}

public function önekDeğeri($önek) {
return "{$önek}SomutSınıf2";
}
}

$class1 = new SomutSınıf1;
$class1->yazdır();
echo $class1->önekDeğeri('FOO_') ."\n";

$class2 = new SomutSınıf2;
$class2->yazdır();
echo $class2->önekDeğeri('FOO_') ."\n";
?>

Yukarıdaki örneğin çıktısı:

SomutSınıf1
FOO_SomutSınıf1
SomutSınıf2
FOO_SomutSınıf2

Örnek 2 -Soyut sınıf örneği

<?php
abstract class AbstractClass
{
// Soyut sınıfımız sadece gerekli bağımsız değişkenleri tanımlamalı
abstract protected function prefixName($name);

}

class ConcreteClass extends AbstractClass
{

// Çocuk sınıfımız seçimlik bağımsız değişkenleri tanımlamalı
// ebeveynin imzasındakileri değil
public function prefixName($name, $separator = ".") {
if ($name == "Pacman") {
$prefix = "Mr";
} elseif ($name == "Pacwoman") {
$prefix = "Mrs";
} else {
$prefix = "";
}
return "{$prefix}{$separator} {$name}";
}
}

$class = new ConcreteClass;
echo $class->prefixName("Pacman"), "\n";
echo $class->prefixName("Pacwoman"), "\n";
?>

Yukarıdaki örneğin çıktısı:

Mr. Pacman
Mrs. Pacwoman


Nesne Arayüzleri

Nesne arayüzleri, bir sınıfın gerçeklemesi gereken yöntemlerin belirtildiği kodu, bu yöntemlerin nasıl gerçekleneceğini tanımlamaksızın oluşturmanıza imkan sağlar. Arayüzler, sınıflar ve niteliklerle aynı isim alanını paylaşır, bu nedenle aynı adı kullanmayabilirler.

Arayüzler, sınıflardan farklı olarak class yerine interface anahtar sözcüğü kullanılarak ve içeriğinde hiçbir tanımlı yöntem olmaksızın tanımlanırlar.

Bir arayüzdeki tüm yöntemler, arayüzün doğası gereği public olarak bildirilmelidir.

Uygulamada, arayüzler birbirlerini tamamlayan iki amaca hizmet eder::

  • Geliştiricilerin, aynı arayüzü veya arayüzleri gerçekledikleri için birbirlerinin yerine kullanılabilecek farklı sınıflardan nesneler oluşturabilmelerini sağlamak. Böylece, kullanıldıkları kodda herhangi bir değişiklik yapılmasına gerek kalmadan bu farklı gerçeklenimler arasında geçiş yapılabilir. Yaygın bir örnek, çoklu veritabanı erişim hizmetleri, çoklu ödeme ağ geçitleri veya farklı önbelleğe alma stratejileridir.
  • Nesnenin başka ne yapabileceğini veya nasıl uygulandığını umursamadan, bir işlev veya yöntemin arayüze uyan bir bağımsız değişkeni kabul etmesini ve üzerinde çalışmasını sağlamak. Bu arayüzler, davranışın önemini açıklamak için genellikle Iterable (Yinelenebilir), Cacheable (Önbelleğe Alınabilir), Renderable (Yorumlanabilir) vb. şeklinde adlandırılır.

Arayüzler, bu yöntemleri gerçeklemek için sınıfların gerçeklenmesini gerektiren sihirli yöntemler tanımlayabilir.

Bilginize:

Destekleniyor olsa bile, arayüzlere kurucuların dahil edilmesi kesinlikle önerilmez. Bunu yapmak, arayüzü gerçekleyen nesnenin esnekliğini önemli ölçüde azaltır. Ek olarak, kurucular, tutarsız ve beklenmeyen davranışlara neden olabilecek miras alma kuralları tarafından zorlanmaz.

implements işleci

Bir arayüzü gerçeklemek için, implements işleci kullanılır. Arayüzdeki tüm yöntemler bir sınıf içersinde gerçeklenmelidir; aksi takdirde bir ölümcül hata alırsınız. Bir sınıfın, aralarına virgül koyarak birden fazla arayüzü gerçeklemesi sağlanabilir.

Uyarı

Bir arayüzü gerçekleyen bir sınıf, bağımsız değişkenleri için arayüzdekinden farklı bir ad kullanabilir. Bununla birlikte, PHP 8.0'dan itibaren dil, isimli bağımsız değişkenleri desteklemektedir, bu da çağrıcıların arayüzdeki bağımsız değişken adına güvenebileceği anlamına gelir. Bu nedenle, geliştiricilerin gerçeklenen arayüzle aynı bağımsız değişken adlarını kullanmaları şiddetle tavsiye edilir.

Bilginize:

Arayüzler, sınıflar gibi extends işleciyle genişletilebilir.

Bilginize:

Bir sınıf bir arayüzü gerçeklerken, bunu bağımsız değişken adı ve sırası arayüzle uyumlu yöntemler kullanarak yapmalıdır. Bir sınıf, aynı adlı yöntem bildiren birden çok arayüz gerçekleyebilir. Bu durumda gerçeklenim, tüm arayüzler için bağımsız değişken adı ve sırası uyumluk kurallarına uygun olmalıdır. Böylece, özgüllük uygulanabilir olur.

Sabitler

Arayüzlerin sabitlerinin olması mümkündür. Arayüz sabitleri, tıpkı sınıf sabitleri gibi çalışır. PHP 8.1.0 öncesinde, kendilerini miras alan sınıflar veya arayüzler tarafından geçersiz kılınamazlardı.

Örnekler

Örnek 1 - Arayüz örneği

<?php
// 'Template' arayüzünü tanımlayalım
interface Template
{
public function setVariable($name, $var);
public function getHtml($template);
}

// Arayüzü gerçekleyelim
// Bu çalışacaktır
class WorkingTemplate implements Template
{
private $vars = [];

public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}

public function getHtml($template)
{
foreach($this->vars as $name => $value) {
$template = str_replace('{' . $name . '}', $value, $template);
}

return $template;
}
}

// Bu çalışmayacaktır
// Ölümcül hata: BadTemplate sınıfı 1 soyut yöntem içermektedir
// dolayısıyla soyut olarak tanımlanması gerekir (Template::getHtml)
class BadTemplate implements Template
{
private $vars = [];

public function setVariable($name, $var)
{
$this->vars[$name] = $var;
}
}

?>

Örnek 2 - Genişletilebilir Arayüzler

<?php
interface A
{
public function foo();
}

interface B extends A
{
public function baz(Baz $baz);
}

// Bu çalışır
class C implements B
{
public function foo()
{
}

public function baz(Baz $baz)
{
}
}

// Bu çalışmaz, ölümcül hatayla sonuçlanır
class D implements B
{
public function foo()
{
}

public function baz(Foo $foo)
{
}
}
?>

Örnek 3 - Çoklu arayüzlerle özgüllük uyumluluğu

<?php
class Foo {}
class Bar extends Foo {}

interface A {
public function myfunc(Foo $arg): Foo;
}

interface B {
public function myfunc(Bar $arg): Bar;
}

class MyClass implements A, B
{
public function myfunc(Foo $arg): Bar
{
return new Bar();
}
}
?>

Örnek 4 - Çok sayıda arayüz oluşturma

<?php
interface A
{
public function foo();
}

interface B
{
public function bar();
}

interface C extends A, B
{
public function baz();
}

class D implements C
{
public function foo()
{
}

public function bar()
{
}

public function baz()
{
}
}
?>

Örnek 5 - Arayüzler ve sabitleri

<?php
interface A
{
const B = 'Arayüz sabiti';
}

// Şunu basar: Arayüz sabiti
echo A::B;

class B implements A
{
const B = 'Sınıf sabiti';
}

// Şunu basar: Sınıf sabiti
// PHP 8.1.0 öncesinde, sabitler geçersiz kılınamadığından bu çalışmazdı.
echo B::B;
?>

Örnek 6 - Soyut sınıflı arayüzler

<?php
interface A
{
public function foo(string $s): string;

public function bar(int $i): int;
}

// Bir soyut sınıf bir arayüzün sadece bir bölümünü gerçekleyebilir.
// Kalanını soyut sınıfı genişleten sınıflar gerçeklemelidir.
abstract class B implements A
{
public function foo(string $s): string
{
return $s . PHP_EOL;
}
}

class C extends B
{
public function bar(int $i): int
{
return $i * 2;
}
}
?>

Örnek 7 - Aynı anda genişletme ve gerçekleme

<?php

class One
{
/* ... */
}

interface Usable
{
/* ... */
}

interface Updatable
{
/* ... */
}

// Burada sözcük sırası önemli: 'extends' önce gelmeli.
class Two extends One implements Usable, Updatable
{
/* ... */
}
?>

Bir arayüz tür bildirimiyle belli bir nesnenin belli yöntemleri içermesini sağlayabilir. Ayrıca bakınız: instanceof işleci ve Tür Bildirimleri.


Nitelikler

PHP tekrar tekrar kullanılabilen bir yöntem kodu olarak trait ismini kullanarak nitelikleri tanımlamıştır.

Nitelikler, PHP gibi tek kalıtımlı dillerde kodun yeniden kullanımını sağlayan bir mekanizmadır. Yöntem kümelerini farklı sınıf hiyerarşilerinde yaşayan birçok bağımsız sınıfın içinde özgürce yeniden kullanımını mümkün kılarak tek kalıtımlı dillerdeki bazı sınırlamaları azaltmak için tasarlanmıştır. Sınıfların ve niteliklerin birleşiminden doğan anlamlılık, karmaşıklığı azaltan ve çoklu kalıtım ve iç içeliklerle ilgili bilinen sorunlardan kaçınan bir yol izlenerek tanımlanmıştır.

Nitelikler sınıflara benzemekle birlikte işlevselliği gruplamak için daha bir ince elenip sık dokunarak tasarlanmıştır. Bir niteliği kendi içinde örneklemek mümkün değildir. Geleneksel kalıtıma bir ekleme olup yatay davranış düzenini, yani kalıtım gerekmeksizin sınıf üyesi olmayı mümkün kılar.

Örnek 1 - Nitelik örneği

<?php
trait ezcReflectionReturnInfo {
function getReturnType() { /*1*/ }
function getReturnDescription() { /*2*/ }
}

class ezcReflectionMethod extends ReflectionMethod {
use ezcReflectionReturnInfo;
/* ... */
}

class ezcReflectionFunction extends ReflectionFunction {
use ezcReflectionReturnInfo;
/* ... */
}
?>

Öncelik sırası

Bir nitelikle gelen bir üye, bir temel sınıftan miras alınan bir üyenin yerine geçerse onu geçersiz kılar; sınıfın kendi üyeleri de niteliğin yerine geçerse onu geçersiz kılar.

Örnek 2 - Öncelik sırası örneği

Temel sınıftan miras alınan yöntem, DünyaDe niteliğinden MerhabaDünyam içine yerleştirilen üye tarafından geçersizleştirilmektedir. MerhabaDünyam sınıfı içinde tanımlı yöntemler için de davranış aynıdır. Öncelik sırası şöyledir: Temel sınıftan alınan yöntemleri geçersizleştiren nitelikleri geçerli sınıfın yöntemleri geçersizleştirir.

<?php
class Temel {
public function merhabaDe() {
echo 'Merhaba ';
}
}

trait DünyaDe {
public function merhabaDe() {
parent::merhabaDe();
echo 'Dünya!';
}
}

class MerhabaDünyam extends Temel {
use DünyaDe;
}

$o = new MerhabaDünyam();
$o->merhabaDe();
?>

Yukarıdaki örneğin çıktısı:

Merhaba Dünya!

Örnek 3 - Bir diğer öncelik sırası örneği

<?php
trait MerhabaDünya {
public function merhabaDe() {
echo 'Merhaba Dünya!';
}
}

class DünyaYetmez {
use MerhabaDünya;
public function merhabaDe() {
echo 'Merhaba Evren!';
}
}

$o = new DünyaYetmez();
$o->merhabaDe();
?>

Yukarıdaki örneğin çıktısı:

Merhaba Evren!

Çoklu Nitelikler

Çok sayıda nitelik bir sınıfın içine use deyiminde virgüllerle ayrılarak yerleştirilebilir.

Örnek 4 - Çok sayıda niteliğin kullanımı

<?php
trait Merhaba {
public function merhabaDe() {
echo 'Merhaba ';
}
}

trait Dünya {
public function dünyaDe() {
echo 'Dünya';
}
}

class MerhabaDünyam {
use Merhaba, Dünya;
public function Bağır() {
echo '!';
}
}

$o = new MerhabaDünyam();
$o->merhabaDe();
$o->dünyaDe();
$o->Bağır();
?>

Yukarıdaki örneğin çıktısı:

Merhaba Dünya!

Çelişki Çözümleme

Bir yönteme aynı isme sahip iki nitelik yerleştirilirse çelişki açıkça çözümlenmediği takdirde ölümcül bir hataya sebep olur.

Aynı sınıfta kullanılan nitelikler arasındaki adlandırma çakışmasını çözümlemek için insteadof işleci birini seçmek amacıyla kullanılabilir.

Bu işlem yöntemi dışlamayı sağladığından as işleci yönteme takma ad eklemek için kullanılabilir. as işlecinin yöntemin ismini değiştirmediğini ve diğer yöntemleri etkilemediğini unutmayın.

Örnek 5 - Çelişki çözümleme örneği

Bu örnekte, Talker A ve B niteliklerini kullanıyor. A ve B çakışan yöntemlere sahip olduğundan B niteliğinden smallTalk ve A niteliğinden bigTalk kullanılmaktadır.

Aliased_Talker ise B'nin bigTalk gerçeklenimini talk diye bir takma ad altında kullanmak için as işlecinden yararlanmaktadır.

<?php
trait A {
public function smallTalk() {
echo 'a';
}
public function bigTalk() {
echo 'A';
}
}

trait B {
public function smallTalk() {
echo 'b';
}
public function bigTalk() {
echo 'B';
}
}

class Talker {
use A, B {
B::smallTalk insteadof A;
A::bigTalk insteadof B;
}
}

class Aliased_Talker {
use A, B {
B::smallTalk insteadof A;
A::bigTalk insteadof B;
B::bigTalk as talk;
}
}
?>

Yöntem Görünürlüğünü Değiştirme

Sergileyen sınıf içinde yöntemin görünürlüğünü ayarlamak için as sözdizimi kullanılabilir.

Örnek 6 - Yöntem görünürlüğünü değiştirme örneği

<?php
trait MerhabaDünya {
public function merhabaDe() {
echo 'Merhaba Dünya!';
}
}

// merhabaDe görünürlüğünü değiştir
class Sınıfım1 {
use MerhabaDünya { merhabaDe as protected; }
}

// Görünürlüğü ve ismi değişmiş yöntem
// merhabaDe görünürlüğü değişmedi
class Sınıfım2 {
use MerhabaDünya { merhabaDe as private özelMerhabam; }
}
?>

Niteliklerden oluşturulmuş Nitelikler

Sınıflarda olduğu gibi nitelikler de bir diğerinin içinde kullanılabilir. Birden fazla nitelik kısmen veya tamamen bir diğer niteliğin içinde kullanılabilir.

Örnek 7 - Niteliklerden nitelik oluşturma örneği

<?php
trait Merhaba {
public function merhabaDe() {
echo 'Merhaba ';
}
}

trait Dünya {
public function dünyaDe() {
echo 'Dünya!';
}
}

trait MerhabaDünya {
use Merhaba, Dünya;
}

class MerhabaDünyam {
use MerhabaDünya;
}

$o = new MerhabaDünyam();
$o->merhabaDe();
$o->dünyaDe();
?>

Yukarıdaki örneğin çıktısı:

Merhaba Dünya!

Soyut Nitelik Yöntemleri

Nitelikler, kullanılacakları sınıfa yüklenmelerini sağlamak amacıyla soyut yöntemlerin kullanımını destekler. Public, protected ve private yöntemler desteklenir. PHP 8.0.0 öncesinde, sadece public ve protected soyut yöntemler destekleniyordu.

Dikkat

Somut bir sınıf aynı adı taşıyan somut bir yöntemi tanımlayarak bu gerekliliğini yerine getirir; imzası farklı olabilir.

Örnek 8 - Gereksinimlerin soyut yöntemlerle ifadesi

<?php
trait Merhaba {
public function merhabaDünyaDe() {
echo 'Merhaba'.$this->dünyaGetir();
}
abstract public function dünyaGetir();
}

class MerhabaDünyam {
private $dünya;
use Merhaba;
public function dünyaGetir() {
return $this->dünya;
}
public function dünyaAta($val) {
$this->dünya = $val;
}
}
?>

Statik Nitelik Yöntemleri

Nitelikler statik değişkenleri, statik yöntemleri ve statik özellikleri tanımlayabilir.

Bilginize:

PHP 8.1.0 itibariyle, bir nitelik üzerinde doğrudan statik bir özelliğe erişim veya statik yöntem çağrısı önerilmemektedir. Statik yöntem ve özelliklere sadece niteliği kullanan sınıftan erişilmelidir.

Örnek 9 - Statik Değişkenler

<?php
trait Sayaç {
public function arttır() {
static $c = 0;
$c = $c + 1;
echo "$c\n";
}
}

class C1 {
use Sayaç;
}

class C2 {
use Sayaç;
}

$o = new C1(); $o->arttır(); // 1 basar
$p = new C2(); $p->arttır(); // 1 basar
?>

Örnek 10 - Statik Yöntemler

<?php
trait StatikÖrnek {
public static function bişeyYap() {
return 'Bir şey yapıyorum';
}
}

class Örnek {
use StatikÖrnek;
}

Örnek::bişeyYap();
?>

Örnek 11 - Statik Özellikler

<?php
trait StatikÖrnek {
public static $statik = 'foo';
}

class Örnek {
use StatikÖrnek;
}

echo Örnek::$statik;
?>

Özellikler

Nitelikler özellik tanımlayabilir.

Örnek 12 - Özellik tanımlama örneği

<?php
trait NitelikliÖzellik {
public $x = 1;
}

class ÖzellikÖrneği {
use NitelikliÖzellik;
}

$örnek = new ÖzellikÖrneği;
örnek->x;
?>

Bir nitelik bir özellik tanımlarsa sınıf aynı isimde bir özelliği uyumlu (aynı görünürlük ve tür, salt okunur değiştirici ve ilk değer) olmadıkça tanımlayamaz, aksi takdirde ölümcül hata oluşur.

Örnek 13 - Çelişki yaratma örneği

<?php
trait ÖzellikliNitelik {
public $aynı = true;
public $farklı1 = false;
public bool $farklı2;
public bool $farklı3;
}

class ÖzellikliÖrnek {
use ÖzellikliNitelik;
public $aynı = true;
public $farklı1 = true; // ölümcül hata
public string $farklı2; // ölümcül hata
readonly protected bool $farklı3; // ölümcül hata
}
?>

Sabitler

PHP 8.2.0 itibariyle nitelikler sabitleri de tanımlayabilmektedir.

Örnek 14 - Sabitlerin Tanımlanması

<?php
trait SabitliNitelik {
public const FLAG_MUTABLE = 1;
final public const FLAG_IMMUTABLE = 5;
}

class SabitliÖrnek {
use SabitliNitelik;
}

$örnek = new SabitliÖrnek;
echo $örnek::FLAG_MUTABLE; // 1
?>

Bir niteliğin tanımladığı sabiti bir sınıf uyumluluk kurallarına (aynı görünürlük, aynı ilk değer ve aynı sonuç) uymadan aynı isimle tekrar tanımlayamaz, aksi takdirde ölümcül hata oluşur.

Örnek 15 - Çelişki Çözümleme

<?php
trait SabitliNitelik {
public const FLAG_MUTABLE = 1;
final public const FLAG_IMMUTABLE = 5;
}

class SabitliÖrnek {
use SabitliNitelik;
public const FLAG_IMMUTABLE = 5; // Ölümcül hata
}
?>


Anonim Sınıflar

Anonim sınıflar basit, tek seferlik nesnelerin oluşturulması gerektiğinde kullanışlıdır.

<?php

// Örtük sınıf kullanarak
class Logger
{
public function log($msg)
{
echo $msg;
}
}

$util->setLogger(new Logger());

// Anonim sınıf kullanarak
$util->setLogger(new class {
public function log($msg)
{
echo $msg;
}
});

Bağımsız değişkenlerini kurucularına iletebilir, diğer sınıfları genişletebilir, arayüzleri gerçekleyebilir ve normal bir sınıf gibi nitelikleri kullanabilirler:

<?php

class SomeClass {}
interface SomeInterface {}
trait SomeTrait {}

var_dump(new class(10) extends SomeClass implements SomeInterface {
private $num;

public function __construct($num)
{
$this->num = $num;
}

use SomeTrait;
});

Yukarıdaki örneğin çıktısı:

object(class@anonymous)#1 (1) {
  ["Command line code0x104c5b612":"class@anonymous":private]=>
  int(10)
}

Anonim bir sınıfı başka bir sınıfta yerleştirmek, herhangi bir özel veya korunan yönteme veya bu dış sınıfın özelliklerine erişim sağlamaz. Dış sınıfın korumalı özelliklerini veya yöntemlerini kullanabilmek için, anonim sınıf dış sınıfı genişletebilir. Dış sınıfın anonim sınıftaki özel özelliklerini kullanmak için kurucusundan geçirilmesi gerekir:

<?php

class Outer
{
private $prop = 1;
protected $prop2 = 2;

protected function func1()
{
return 3;
}

public function func2()
{
return new class($this->prop) extends Outer {
private $prop3;

public function __construct($prop)
{
$this->prop3 = $prop;
}

public function func3()
{
return $this->prop2 + $this->prop3 + $this->func1();
}
};
}
}

echo (new Outer)->func2()->func3();

Yukarıdaki örneğin çıktısı:

6

Aynı anonim sınıf bildirimiyle oluşturulan tüm nesneler, bu sınıfın örnekleridir.

<?php
function anonymous_class()
{
return new class {};
}

if (get_class(anonymous_class()) === get_class(anonymous_class())) {
echo 'aynı sınıf';
} else {
echo 'farklı sınıf';
}

Yukarıdaki örneğin çıktısı:

aynı sınıf

Bilginize:

Aşağıdaki örnekte gösterildiği gibi, anonim sınıflara motor tarafından bir ad verildiğini unutmayın. Bu isim, güvenilmemesi gereken bir gerçekleme ayrıntısı olarak görülmelidir.

<?php
echo get_class(new class {});

Yukarıdaki örnek şuna benzer bir çıktı üretir:

class@anonymous/in/oNi1A0x7f8636ad2021


Aşırı Yükleme

PHP'deki aşırı yükleme, bir sınıfın özelliklerini ve yöntemlerini dinamik olarak oluşturmak anlamına gelmektedir. Bu dinamik öğeler, çeşitli eylem türleri için sınıf içinde oluşturulabilen sihirli yöntemler üzerinden işleme sokulurlar.

Aşırı yükleme yöntemleri, henüz bildirilmemiş veya geçerli etki alanında görünür olmayan özellik ve yöntemlerle etkileşilmek istendiğinde çağrılırlar. Bu bölümün kalanında bu bildirim ve görünürlükle ilgili durumdan bahsederken erişilemeyen özellikler ve erişilemeyen yöntemler terimlerini kullanacağız.

Tüm aşırı yükleme yöntemlerinin public olarak tanımlanması gerekir.

Bu sihirli yöntemlerin bağımsız değişkenlerinin hiçbiri gönderimli olarak aktarılamaz.

Bilginize:

PHP'nin aşırı yükleme konusundaki yorumu çoğu nesne yönelimli dilden farklıdır. Aşırı yükleme geleneksel olarak, dile, farklı miktar ve türde bağımsız değişkene sahip aynı isimde çok sayıda yönteme sahip olabilme yeteneği sağlar.

Özelliklerde aşırı yükleme

public __set(string $isim, mixed $değer): void
public __get(string $isim): mixed
public __isset(string $isim): bool
public __unset(string $isim): void

__set() erişilemeyen (protected veya private) veya varolmayan özelliklere veri yazarken çalıştırılır.

__get() erişilemeyen (protected veya private) veya varolmayan özelliklerden veri okurken devreye sokulur.

__isset() erişilemeyen (protected veya private) veya varolmayan özellikler için isset() veya empty() çağrıldığında tetiklenir.

__unset() erişilemeyen (protected veya private) veya varolmayan özellikler için unset() kullanıldığında çağrılır.

$isim bağımsız değişkeni etkileşime girilecek özelliğin ismidir. __set() yönteminin $değer bağımsız değişkeni, $isim adlı özelliğe atanacak değeri belirler.

Özellikler üzerindeki aşırı yükleme sadece nesne bağlamında çalışır. Bu sihirli yöntemler statik bağlamda tetiklenmeyecektir. Bu bakımdan, bu yöntemler static bildirilmemelidir. Sihirli aşırı yükleme yöntemleri static bildirilirse bir uyarı çıktılar.

Bilginize:

PHP'nin atama işlecini ele alış yönteminden dolayı __set() yönteminin dönüş değeri yoksayılır. Benzer şekilde,

 $a = $obj->b = 8;
örneğindeki gibi zincirleme atamalarda __get() asla çağrılmaz.

Bilginize:

PHP aşırı yüklü bir yöntemi aynı aşırı yüklü yöntemin içinden çağırmaz. Yani, __get() içinde return $this->foo yazılırsa null dönecek ve __get() işlevini ikinci kez çağırmak yerine foo diye bir özellik tanımlı olmadığından bir E_WARNING tetiklenecektir. Ancak, aşırı yüklü yöntemler örtük olarak başka aşırı yüklü yöntemleri çağırabilir (__set()'i tetikleyen __get() gibi).

Örnek 1 - __get(),
    __set(),
    __isset() ve
    __unset() ile
    aşırı yükleme örneği

<?php
class ÖzellikSınama
{
/* Aşırı yüklemeye konu veriler burada. */
private $veri = array();

/* Bildirilmiş özellikler için aşırı yükleme kullanılmaz. */
public $bildirilmiş = 1;

/* Aşırı yükleme sadece sınıf dışından erişilemeyen özellikler içindir.
*/
private $gizli = 2;

public function __set($isim, $değer)
{
echo "'$isim' adlı özelliğe '$değer' atanıyor.\n";
$this->veri[$isim] = $değer;
}

public function __get($isim)
{
echo "'$isim' adlı özelliğin değeri isteniyor\n";
if (array_key_exists($isim, $this->veri)) {
return $this->veri[$isim];
}

$trace = debug_backtrace();
trigger_error(
$trace[0]['file'] . ' dosyasının ' .
$trace[0]['line'] . '. satırında ' .
'__get() ile tanımsız özellik istendi: ' . $isim,
E_USER_NOTICE);
return null;
}

/** PHP 5.1.0'dan itibaren */
public function __isset($isim)
{
echo "'$isim' atanmış mı?\n";
return isset($this->veri[$isim]);
}

/** PHP 5.1.0'dan itibaren */
public function __unset($isim)
{
echo "'$name' siliniyor\n";
unset($this->veri[$isim]);
}

/** Sihirli bir yöntem değil; sadece örnek olsun diye. */
public function gizliyiOku()
{
return $this->gizli;
}
}

echo "<pre>\n";

$obj = new ÖzellikSınama;

$obj->a = 1;
echo $obj->a . "\n\n";

var_dump(isset($obj->a));
unset($obj->a);
var_dump(isset($obj->a));
echo "\n";

echo $obj->bildirilmiş . "\n\n";

echo "'gizli' isimli 'private' özellik ile bir deneme yapalım:\n";
echo "'private' özellikler sadece sınıf içinde görünürdürler,\n";
echo "bu yüzden __get() kullanılmaz...\n";
echo $obj->gizliyiOku() . "\n";
echo "'private' özellikler sınıf dışında görünür değildirler,\n";
echo "dolayısıyla __get() kullanılır...\n";
echo $obj->gizli . "\n";
?>

Yukarıdaki örneğin çıktısı:

'a' adlı özelliğe '1' atanıyor.
'a' adlı özelliğin değeri isteniyor
1

'a' atanmış mı?
bool(true)
'' siliniyor
'a' atanmış mı?
bool(false)

1

'gizli' isimli 'private' özellik ile bir deneme yapalım:
'private' özellikler sadece sınıf içinde görünürdürler,
bu yüzden __get() kullanılmaz...
2
'private' özellikler sınıf dışında görünür değildirler,
dolayısıyla __get() kullanılır...
'gizli' adlı özelliğin değeri isteniyor

Notice: <dosya> dosyasının 71. satırında __get() ile tanımsız özellik istendi: gizli

Yöntemlerde aşırı yükleme

public __call(string $isim, array $bağımsız_değişkenler): mixed
public static __callStatic(string $isim, array $bağımsız_değişkenler): mixed

__call(), erişilemeyen yöntemler bir nesne bağlamından çağrıldığında tetiklenir.

__callStatic(), erişilemeyen yöntemler statik bir bağlamdan çağrıldığında tetiklenir.

$isim bağımsız değişkeni çağrılan yöntemin ismidir. $bağımsız_değişkenler bağımsız değişkeni ise $isim adlı yönteme aktarılan bağımsız değişkenleri içeren numararalı bir dizidir.

Örnek 2 - __call() ve __callStatic() ile aşırı yüklü örneklenmiş yöntemler

<?php
class YöntemSınama
{
public function __call($isim, $bağımsız_değişkenler)
{
// Bilgi: $isim değeri büyük-küçük harfe duyarlıdır.
echo "Nesnenin '$isim' yöntemi çağrılıyor: "
. implode(', ', $bağımsız_değişkenler). "\n";
}

public static function __callStatic($isim, $bağımsız_değişkenler)
{
// Bilgi: $isim değeri büyük-küçük harfe duyarlıdır.
echo "Statik yöntem '$isim' çağrılıyor: "
. implode(', ', $bağımsız_değişkenler). "\n";
}
}

$obj = new YöntemSınama;
$obj->deneBakalım('nesne bağlamında');

YöntemSınama::deneBakalım('statik bağlamda');
?>

Yukarıdaki örneğin çıktısı:

Nesnenin 'deneBakalım' yöntemi çağrılıyor: nesne bağlamında
Statik yöntem 'deneBakalım' çağrılıyor: statik bağlamda


Nesne Yineleme

Tanımlanan nesneler, foreach gibi bir deyim kullanılarak bir öğe listesi üzerinden yinelenebilirler. Öntanımlı olarak, tüm görünür özellikler yineleme için kullanılacaktır.

Örnek 1 - Basit Nesne Yineleme

<?php
class MyClass
{
public $var1 = 'değer 1';
public $var2 = 'değer 2';
public $var3 = 'değer 3';

protected $protected = 'protected var';
private $private = 'private var';

function iterateVisible() {
echo "MyClass::iterateVisible:\n";
foreach ($this as $key => $value) {
print "$key => $value\n";
}
}
}

$class = new MyClass();

foreach($class as $key => $value) {
print "$key => $value\n";
}
echo "\n";

$class->iterateVisible();

?>

Yukarıdaki örneğin çıktısı:

var1 => değer 1
var2 => değer 2
var3 => değer 3

MyClass::iterateVisible:
var1 => değer 1
var2 => değer 2
var3 => değer 3
protected => protected var
private => private var

Çıktıdan görüleceği gibi, foreach erişilebilir olan tüm görünür özellikleri yineledi.

Ayrıca Bakınız

  • Üreteçler
  • Iterator
  • IteratorAggregate
  • SPL Yineleyicileri


Sihirli Yöntemler

Sihirli yöntemler, bir nesne üzerinde belirli eylemler gerçekleştirildiğinde PHP'nin öntanımlı eylemini geçersiz kılan özel yöntemlerdir.

Dikkat

__ ile başlayan tüm yöntem isimleri PHP tarafından ayrılmıştır. Bu nedenle, PHP'nin davranışını geçersiz kılmadıkça bu tür yöntem adlarının kullanılması önerilmez.

Aşağıdakiler sihirli yöntem olarak ele alınır:

__construct(),
__destruct(),
__call(),
__callStatic(),
__get(),
__set(),
__isset(),
__unset(),
__sleep(),
__wakeup(),
__serialize(),
__unserialize(),
__toString(),
__invoke(),
__set_state(),
__clone(),
__debugInfo(),
__clone() ve
__debugInfo().

Uyarı

__construct(),
__destruct() ve
__clone() hariç tüm sihirli yöntemler
mutlaka public olarak
bildirilmelidir, aksi takdirde bir E_WARNING
çıktılanır. PHP 8.0.0 öcesinde,
__sleep(),
__wakeup(),
__serialize(),
__unserialize() ve
__set_state() sihirli yöntemleri
için böyle bir uyarı yapılmazdı.

Uyarı

Bir sihirli yöntemin tanımında yapılan tür bildirimleri bu belgede açıklandığı gibi yapılmalıdır. Aksi takdirde, ölümcül hata çıktılanır. PHP 8.0.0 öncesinde hiçbir uyarı yapılmazdı. Bundan başka, __construct() ve __destruct() yöntemleri de bir dönüş türü bildirmemelidir, yoksa ölümcül hata oluşur.

__sleep() ve __wakeup()

public __sleep(): array
public __wakeup(): void

serialize() işlevi, sınıfın __sleep() adında sihirli bir işleve sahip olup olmadığına bakar. Böyle bir işlev varsa herhangi bir dizileştirme işleminden önce bu işlev çalıştırılır. Bu işlev ile nesne üzerinde temizlik yapılabilir ve dizileştirilmesi gereken nesnenin tüm değişken isimlerinin bir dizi halinde döndürülmesi sağlanabilir. Eğer işlev hiçbir şey döndürmemişse null dizileştirilir ve bir E_NOTICE çıktılanır.

Bilginize:

Ebeveyn sınıflardaki private özelliklerin isimlerini döndürmek __sleep() için imkansızdır. Bu yapılırsa E_NOTICE seviyesinde bir hata iletisi çıktılanır. Bunun yerine Serializable arayüzünü kullanılabilir.

Bilginize:

PHP 8.0.0 ve sonrasında, __sleep() işlevinden dizi olmayan bir değerin döndürülmesi uyarı üretimine sebep olur. Evvelce, bildirim üretimine sebep oluyordu.

__sleep() işlevinin asıl kullanım amacı askıdaki veriyi göndermek gibi temizliğe benzer işlemler yapmaktır. Ayrıca, tümüyle kaydedilmesi gerekmeyen büyük bir nesne sözkonusu olduğunda da bu işlevden yararlanılabilir.

unserialize() işlevi tersine bir işlem yaparak __wakeup() adında bir sihirli işlevin varlığını araştırır. Böyle bir işlev varsa, bu işlev nesnenin sahip olduğu tüm özkaynakları yeniden oluşturabilir.

__wakeup() işlevinin asıl kullanım amacı, dizileştirme sırasında kaybedilebilen veritabanı bağlantılarını yeniden oluşturmak ve diğer ilklendirme işlemlerini yeniden yapmaktır.

Örnek 1 - Uyutma ve uyandırma

<?php
class Bağlantı
{
protected $hat;
private $dsn, $kullanıcı, $parola, $db;

public function __construct($dsn, $kullanıcı, $parola, $db)
{
$this->dsn = $dsn;
$this->kullanıcı = $kullanıcı;
$this->parola = $parola;
$this->db = $db;
$this->bağlan();
}

private function bağlan()
{
$this->hat = new PDO($this->dsn, $this->kullanıcı, $this->parola);
}

public function __sleep()
{
return array('dsn', 'kullanıcı', 'parola');
}

public function __wakeup()
{
$this->bağlan();
}
}?>

__serialize() ve __unserialize()

public __serialize(): array
public __unserialize(array $data): void

serialize() işlevi, sınıfın __serialize() sihirli adına sahip bir işlevinin olup olmadığına bakar. Varsa, bu işlev herhangi bir dizileştirmeden önce çalıştırılır. Nesnenin dizileştirilmiş biçimini temsil eden ilişkisel bir anahtar/değer çiftleri dizisi oluşturmalı ve döndürmelidir. Hiçbir dizi döndürülmezse, bir TypeError yavrulanır.

Bilginize:

Aynı nesnede hem __serialize()
hem de __sleep() tanımlanmışsa,
sadece __serialize()
çağrılır. __sleep() ise yok
sayılır. Nesne Serializable
arayüzünü gerçekliyorsa, arayüzün serialize() yöntemi
yok sayılır ve yerine __serialize()
kullanılır.

__serialize() yönteminin amaçlanan kullanımı, nesnenin dizileştirmeye uygun keyfi bir gösterimini tanımlamaktır. Dizinin öğeleri, nesnenin özelliklerine karşılık gelebilir, ancak bu gerekli değildir.

unserialize() işlevi ise tersine sınıfın __unserialize() sihirli adına sahip bir işlevinin olup olmadığına bakar. Varsa, bu işlev __serialize() işlevinden döndürülen geri yüklenmiş diziye aktarılır. Daha sonra nesnenin özelliklerini uygun şekilde bu diziden geri yükleyebilir.

Bilginize:

Aynı nesnede hem __unserialize()
hem de __wakeup() tanımlanmışsa,
yalnızca __unserialize()
çağrılır. __wakeup() ise yok sayılır.

Bilginize:

Özellik PHP 7.4.0'dan beri kullanılabilmektedir.

Örnek 2 - Dizileştirme ve Nesneleştirme

<?php
class Connection
{
protected $link;
private $dsn, $username, $password;

public function __construct($dsn, $username, $password)
{
$this->dsn = $dsn;
$this->username = $username;
$this->password = $password;
$this->connect();
}

private function connect()
{
$this->link = new PDO($this->dsn, $this->username, $this->password);
}

public function __serialize(): array
{
return [
'dsn' => $this->dsn,
'user' => $this->username,
'pass' => $this->password,
];
}

public function __unserialize(array $data): void
{
$this->dsn = $data['dsn'];
$this->username = $data['user'];
$this->password = $data['pass'];

$this->connect();
}
}?>

__toString()

public __toString(): string

__toString() yöntemi, sınıf bir dizgeye dönüştürüldüğünde sınıfın nasıl tepki vereceğine karar vermeyi sağlar. Örneğin, echo $obj; ile ne basılacağı gibi.

Uyarı

PHP 8.0.0'dan itibaren, dönüş değerine standart PHP tür anlamlandırması uygulanmaktadır, yani katı kodlama devre dışı bırakılırsa, mümkün olduğu takdirde değer string türe zorlanır.

strict typing etkinken Stringable nesnesi string tür bildirimi tarafından kabul edilmez. Bunun olması isteniyorsa Stringable ve string türleri birleşim türü bildirimi içinde birleştirilmelidir.

PHP 8.0.0'dan itibaren, __toString() yöntemi içeren her sınıf örtük olarak Stringable arayüzünü de gerçekler ve dolayısıyla bu arayüz için tür sınamaları yapılmaz. Bu durumda, arayüzün doğrudan gerçeklenmesi tercih edilmelidir.

PHP 7.4'te, döndürülen değer mutlaka string türünde olmalıdır, aksi takdirde bir Error yavrulanır.

PHP 7.4.0 öncesinde, döndürülen değer mutlaka string türünde olmalıydı, aksi takdirde ölümcül bir E_RECOVERABLE_ERROR çıktılanırdı.

Uyarı

__toString() yönteminin içinden bir istisna yavrulatılamaz. PHP 7.4.0 öncesinde, bunun yapılması ölümcül hata ile sonuçlanırdı.

Örnek 3 - Basit bir örnek

<?php
// Basit bir sınıf tanımlayalım
class TestClass
{
public $foo;

public function __construct($foo)
{
$this->foo = $foo;
}

public function __toString()
{
return $this->foo;
}
}

$class = new TestClass('Merhaba');
echo $class;
?>

Yukarıdaki örneğin çıktısı:

Merhaba

__invoke()

__invoke( ...$values): mixed

__invoke() yöntemi, bir betik bir nesneyi bir işlev olarak çağırmaya çalışırsa çağrılır.

Örnek 4 - __invoke() kullanımı

<?php
class CallableClass
{
public function __invoke($x)
{
var_dump($x);
}
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

Yukarıdaki örneğin çıktısı:

int(5)
bool(true)

Örnek 5 - __invoke() kullanımı

<?php
class Sort
{
private $key;

public function __construct(string $key)
{
$this->key = $key;
}

public function __invoke(array $a, array $b): int
{
return $a[$this->key] <=> $b[$this->key];
}
}

$müşteriler = [
['no' => 1, 'isim' => 'John', 'soyisim' => 'Do'],
['no' => 3, 'isim' => 'Alice', 'soyisim' => 'Gustav'],
['no' => 2, 'isim' => 'Bob', 'soyisim' => 'Filipe']
];

// $müşterileri isme göre sırala
usort($müşteriler, new Sort('isim'));
print_r($müşteriler);

// $müşterileri soyisme göre sırala
usort($müşteriler, new Sort('soyisim'));
print_r($müşteriler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [no] => 3
            [isim] => Alice
            [soyisim] => Gustav
        )

    [1] => Array
        (
            [no] => 2
            [isim] => Bob
            [soyisim] => Filipe
        )

    [2] => Array
        (
            [no] => 1
            [isim] => John
            [soyisim] => Do
        )

)
Array
(
    [0] => Array
        (
            [no] => 1
            [isim] => John
            [soyisim] => Do
        )

    [1] => Array
        (
            [no] => 2
            [isim] => Bob
            [soyisim] => Filipe
        )

    [2] => Array
        (
            [no] => 3
            [isim] => Alice
            [soyisim] => Gustav
        )

)

__set_state()

static __set_state(array $özellikler): object

Bu statik yöntem, var_export() tarafından ihraç edilen sınıflar için çağrılır.

Bu yöntemin tek bağımsız değişkeni ['özellik' => değer, ...] biçeminde ihraç edilen özellikleri içeren bir dizidir.

Örnek 6 - __set_state() kullanımı

<?php

class A
{
public $var1;
public $var2;

public static function __set_state($bir_dizi)
{
$obj = new A;
$obj->var1 = $bir_dizi['var1'];
$obj->var2 = $bir_dizi['var2'];
return $obj;
}
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

$b = var_export($a, true);
var_dump($b);

eval('$c = ' . $b . ';');
var_dump($c);
?>

Yukarıdaki örneğin çıktısı:

string(60) "A::__set_state(array(
   'var1' => 5,
   'var2' => 'foo',
))"
object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Bilginize: Bir nesne ihraç edilirken, var_export() işlevi __set_state() nesnenin sınıfı tarafından gerçeklenmiş mi diye bakmaz, dolayısıyla böyle nesnelerin yeniden ithali __set_state() hiç gerçeklenmemiş gibi bir Error istisnası yavrulanmasına sebep olur. Bu kısmen bazı dahili sınıfları da etkiler. Sadece, __set_state() gerçekleyen sınıfın nesnelerinin yeniden ithal edilmesini sağlamak yazılımcının sorumluluğundadır.

__debugInfo()

__debugInfo(): array

Gösterilmesi gereken özelliklerini döndürmek için bir nesne dökümleneceği zaman bu yöntem var_dump() tarafından çağrılır.

Örnek 7 - __debugInfo() kullanımı

<?php
class C {
private $prop;

public function __construct($val) {
$this->prop = $val;
}

public function __debugInfo() {
return [
'propSquared' => $this->prop ** 2,
];
}
}

var_dump(new C(42));
?>

Yukarıdaki örneğin çıktısı:

object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}


final Anahtar Sözcüğü

Tanımı final anahtar sözcüğü ile başlayan yöntem veya sabiti çocuk sınıflar geçersiz kılamaz. Tanımı final sözcüğüyle ile başlayan bir sınıf ise genişletilemez.

Örnek 1 - final yöntem örneği

<?php
class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}

final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}

class ÇocukSınıf extends AnaSınıf {
public function başkaDeneme() {
echo "ÇocukSınıf::başkaDeneme() çağrıldı\n";
}
}
// Ölümcül hata ile sonuçlanır: AnaSınıf:başkaDeneme() final yöntemi
// ÇocukSınıf::başkaDeneme() yöntemiyle geçersiz kılınamaz
?>

Örnek 2 - final sınıf örneği

<?php
final class AnaSınıf {
public function deneme() {
echo "AnaSınıf::deneme() çağrıldı\n";
}

// Sınıf zaten final olduğundan buradaki final gereksizdir
final public function başkaDeneme() {
echo "AnaSınıf::başkaDeneme() çağrıldı\n";
}
}

class ÇocukSınıf extends AnaSınıf {
}
// Ölümcül hata ile sonuçlanır: ÇocukSınıf final bir sınıf
// olan AnaSınıf'ın çocuğu olarak oluşturulamaz
?>

Örnek 3 - PHP 8.1.0 ve sonrasında Final sabit örneği

<?php
class Foo
{
final public const X = "foo";
}

class Bar extends Foo
{
public const X = "bar";
}

// Ölümcül hata: Bar::X, final constant Foo::X ile geçersiz kılınamaz
?>

Bilginize: Özellikler final olarak bildirilemez, sadece sınıflar, yöntemler ve sabitler final olarak bildirilebilir. PHP 8.0.0 itibariyle, private yöntemler, kurucular hariç final olarak bildirilememektedir.


Nesne Kopyalama

Bir nesnenin tüm özelliklerinin aynen kopyalanarak çoğaltılması her zaman istenilen durum değildir. Kurucuların kopyalanması iyi bir örnektir, bir GTK penceresini temsil eden bir nesneniz varsa ve bu nesne GTK penceresine ait özkaynağı tutuyorsa, bu nesnenin kopyasını oluşturduğunuzda, yeni nesnenin önceki pencere ile aynı özelliklere sahip yeni bir pencereye sahip olmasını ve önceki nesne ile aynı şekilde pencereye ait özkaynağı tutuyor olmasını isteyebilirsiniz. Bir diğer örnek, nesneniz kullandığı başka bir nesneye ait bir gönderim tutuyorsa, ebeveyn nesne kopyalandığında diğer nesnenin de yeni bir örneğinin oluşturulmasını isteyebilirsiniz, yani ebeveynin kopyasının kendine ait ayrı bir kopyası olur.

Bir nesnenin kopyası (mümkünse nesnenin __clone() yöntemini çağıran) clone anahtar sözcüğü kullanılarak oluşturulur.

$nesnenin_kopyası = clone $object;

Bir nesne kopyalandığında, PHP nesnenin tüm özelliklerinin yüzeysel bir kopyasını çıkartacaktır. Diğer değişkenlere birer gönderim olan tüm özellikler gönderim olarak kalacaktır.

__clone(): void

Kopyalama tamamlanır tamamlanmaz, bir __clone() yöntemi tanımlanmışsa, değişmesi gereken lüzumlu tüm özelliklere izin vermek için yeni oluşturulan nesnenin __clone() yöntemi çağrılacaktır.

Örnek 1 - Bir nesnenin kopyalanması

<?php
class AltNesne
{
static $örnek_sayısı = 0;
public $örnek;

public function __construct()
{
$this->örnek = ++self::$örnek_sayısı;
}

public function __clone()
{
$this->örnek = ++self::$örnek_sayısı;
}
}

class KopyalanabilirNesnem
{
public $nesne1;
public $nesne2;

function __clone()
{
// this->nesne1'in bir kopyasını oluşturmak için
// zorlayalım, yoksa aynı nesneyi gösterecek.
$this->nesne1 = clone $this->nesne1;
}
}

$nes = new KopyalanabilirNesnem();

$nes->nesne1 = new AltNesne();
$nes->nesne2 = new AltNesne();

$nes2 = clone $nes;

print("Özgün Nesne:\n");
print_r($nes);

print("Kopya Nesne:\n");
print_r($nes2);
?>

Yukarıdaki örneğin çıktısı:

Özgün Nesne:
KopyalanabilirNesnem Object
(
    [nesne1] => AltNesne Object
        (
            [örnek] => 1
        )

    [nesne2] => AltNesne Object
        (
            [örnek] => 2
        )

)
Kopya Nesne:
KopyalanabilirNesnem Object
(
    [nesne1] => AltNesne Object
        (
            [örnek] => 3
        )

    [nesne2] => AltNesne Object
        (
            [örnek] => 2
        )

)

Yeni kopyalanmış bir nesnenin üyesine tek bir ifadede erişmek mümkündür:

Örnek 2 - Yeni kopyalanmış nesnenin üyesine erişim

<?php
$dateTime = new DateTime();
echo (clone $dateTime)->format('Y');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2016


Nesnelerin Karşılaştırılması

Eşitlik işleci (==) kullanıldığında, nesne değişkenleri basit bir mantıkla karşılaştırılır: İki nesne örneği aynı özniteliklere ve aynı (== ile karşılaştırılan) değerlere sahipse ve ikisi de aynı sınıf tarafından oluşturulmuşsa bu iki nesne örneği birbirine eşittir.

Aynılık işleci (===) kullanıldığında, iki nesne değişkeni yalnız ve yalnız aynı sınıfın aynı örneği iseler birbirlerinin aynısıdırlar.

Bu kuralları bir örnek ile pekiştirelim.

Örnek 1 - Nesne karşılaştırma örneği

<?php
function bool2str($bool)
{
if ($bool === false) {
return 'YANLIŞ';
} else {
return 'DOĞRU';
}
}

function compareObjects(&$o1, &$o2)
{
echo 'o1 == o2 : ' . bool2str($o1 == $o2) . "\n";
echo 'o1 != o2 : ' . bool2str($o1 != $o2) . "\n";
echo 'o1 === o2 : ' . bool2str($o1 === $o2) . "\n";
echo 'o1 !== o2 : ' . bool2str($o1 !== $o2) . "\n";
}

class Flag
{
public $flag;

function __construct($flag = true) {
$this->flag = $flag;
}
}

class OtherFlag
{
public $flag;

function OtherFlag($flag = true) {
$this->__construct = $flag;
}
}

$o = new Flag();
$p = new Flag();
$q = $o;
$r = new OtherFlag();

echo "Aynı sınıfın iki örneği\n";
compareObjects($o, $p);

echo "\nAynı örneğe iki gönderim\n";
compareObjects($o, $q);

echo "\nİki farklı sınıfın örnekleri\n";
compareObjects($o, $r);
?>

Yukarıdaki örneğin çıktısı:

Aynı sınıfın iki örneği
o1 == o2 : DOĞRU
o1 != o2 : YANLIŞ
o1 === o2 : FALSE
o1 !== o2 : DOĞRU

Aynı örneğe iki gönderim
o1 == o2 : DOĞRU
o1 != o2 : YANLIŞ
o1 === o2 : DOĞRU
o1 !== o2 : YANLIŞ

İki farklı sınıfın örnekleri
o1 == o2 : YANLIŞ
o1 != o2 : DOĞRU
o1 === o2 : YANLIŞ
o1 !== o2 : DOĞRU

Bilginize:

Eklentiler, kendi nesne karşılaştırmaları (==) için kendi kurallarını tanımlayabilir.


Statik İçselleştirim

Statik içselleştirim (İng.: late static bindings) ile miras alınan statik bağlam, tanımlandığı nesnenin bağlamında değil, çağrıldığı nesnenin bağlamında değerlendirilir.

Daha kesin olarak, statik içselleştirim son "ötelenmeyen çağrıda" bahsi geçen sınıfın saklanmasıyla çalışır. Statik yöntem çağrısı durumunda sınıfın adı açıkça (genellikle :: işlecinin sol tarafında) belirtilmiştir. Statik olmayan yöntem çağrısı durumunda söz konusu sınıf, nesnenin sınıfıdır. Bir "ötelenen çağrı", bir self::, parent::, static:: yöntemi veya sınıf hiyerarşisi üzerinden gidiliyorsa forward_static_call() çağrısıdır. get_called_class() işlevi, çağrılan sınıfın ismini bir dize olarak almakta kullanılabilir ve bağlamını static:: belirler.

"Statik içselleştirme", static:: yöntemin çalışma anında, tanımlandığı nesnenin bağlamında değil, çağrıldığı nesnenin bağlamında değerlendirilmesi olgusunu betimler.

self:: ile ilgili sınırlamalar

self:: veya __CLASS__ gibi bulunduğu sınıfa statik gönderim yapan öğeler, örnekten de görüleceği üzere, yöntemi miras alan sınıf bağlamında değil, yöntemin ait olduğu sınıf bağlamında değerlendirilirler:

Örnek 1 - self:: kullanımı

<?php
class A {
public static function kimsin() {
echo __CLASS__;
}
public static function dene() {
self::kimsin();
}
}

class B extends A {
public static function kimsin() {
echo __CLASS__;
}
}

B::dene();
?>

Yukarıdaki örneğin çıktısı:

A

Statik İçselleştirimin uygulanması

Statik içselleştirimde çözümlemenin, gönderimin çalışma anında ilk çağrıldığı sınıfla sınırlandırılması, gönderim için özel bir anahtar sözcük kullanılarak sağlanır. Temel olarak, böyle bir anahtar sözcük, yukarıdaki örnekteki dene() yönteminin aşağıdaki gibi B döndürmesini sağlar. Bunun için yeni bir anahtar sözcük atamaktansa, zaten bir anahtar sözcük olan static sözcüğü kullanılmıştır.

Örnek 2 - static:: kullanımı

<?php
class A {
public static function kimsin() {
echo __CLASS__;
}
public static function dene() {
static::kimsin(); // Burada statik içselleştirim yapılıyor
}
}

class B extends A {
public static function kimsin() {
echo __CLASS__;
}
}

B::dene();
?>

Yukarıdaki örneğin çıktısı:

B

Bilginize:

Statik olmayan bağlamlarda, çağrılan sınıf, nesne örneğinin sınıfı olacaktır. $this-> aynı bağlamdaki private yöntemleri çağırmayı denerken, static:: kullanımı farklı sonuçlar verebilir. static:: ile ilgili diğer bir fark, sadece statik özellikler için kullanılabilmesidir.

Örnek 3 - Statik olmayan bağlamda static:: kullanımı

<?php
class A {
private function foo() {
echo "success!\n";
}

public function dene() {
$this->foo();
static::foo();
}
}

class B extends A {
/* foo() B'ye kopyalanacak, dolayısıyls bağlamı hala A olacak ve
* çağrı başarılı olacaktır. */
}

class C extends A {
private function foo() {
/* özgün yöntem değişti; yenisinin bağlamı C'dir */
}
}

$b = new B();
$b->test();
$c = new C();
$c->test(); //hata verir
?>

Yukarıdaki örneğin çıktısı:

success!
success!
success!

Fatal error:  Call to private method C::foo() from context 'A' in /tmp/test.php on line 9

Bilginize:

Statik içselleştirimin çözümlemesi statik çağrının tamamen çözümlendiği noktada durdurulur, daha öteye gidilmez. Diğer taraftan, parent:: veya self:: gibi anahtar sözcükler kullanılarak yapılan statik çağrılar çağrı bilgisini öteler.

Örnek 4 - Ötelenen ve ötelenmeyen çağrılar

<?php
class A {
public static function nesin() {
static::kimsin();
}

public static function kimsin() {
echo __CLASS__."\n";
}
}

class B extends A {
public static function dene() {
A::nesin();
parent::nesin();
self::nesin();
}

public static function kimsin() {
echo __CLASS__."\n";
}
}
class C extends B {
public static function kimsin() {
echo __CLASS__."\n";
}
}

C::dene();
?>

Yukarıdaki örneğin çıktısı:

A
C
C


Nesneler ve Gönderimler

Nesne yönelimli programlama ile ilgili olarak "öntanımlı olarak nesneler gönderimli aktarılır" diye bir kanı oluşmuştur, fakat bu tamamen doğru değildir. Bu bölümde bir örnek üzerinden bu genel kanı düzeltilmeye çalışılmıştır.

Bir PHP gönderimi, aynı değeri iki farklı değişkene yazmayı mümkün kılan bir takma addır. Bir nesne değişkeni değer olarak nesnenin kendisini içeremez. Bunun yerine, nesne erişimcilerin asıl nesneyi bulmasını sağlayacak bir nesne tanıtıcısı içerebilir. Bir nesne bağımsız değişkeni ile aktarılırken, döndürülürken veya başka bir değişkene atanırken bunlar takma ad değil, farklı değişkenlerdir: Aynı nesneyi gösteren tanıtıcının birer kopyasını içerirler.

Örnek 1 - Gönderimler ve Nesneler

<?php
class A {
public $foo = 1;
}

$a = new A;
$b = $a; // $a ve $b aynı nesne tanıtıcısının kopyalarını içerir
// ($a) = ($b) = <tanıtıcı>
$b->foo = 2;
echo $a->foo."\n";

$c = new A;
$d = &$c; // $c ve $d gönderimdir
// ($c,$d) = <tanıtıcı>

$d->foo = 2;
echo $c->foo."\n";

$e = new A;

function foo($obj) {
// ($obj) = ($e) = <tanıtıcı>
$obj->foo = 2;
}

foo($e);
echo $e->foo."\n";

?>

Yukarıdaki örneğin çıktısı:

2
2
2


Nesne Dizgeleştirme

Oturumlardaki nesnelerin dizgeleştirilmesi

serialize() işlevi PHP'de saklanmış bir değerin bayt-akımı gösterimini içeren bir dizge döndürür. Özgün değişken değerlerini yeniden oluşturmak için unserialize() işlevi kullanılabilir. Bir nesneyi saklamak için dizgeleştirme kullanımı nesnenin içindeki tüm değişkenleri saklar. Nesnenin yöntemleri saklanmaz sadece sınıf ismi saklanır.

Bir nesne için unserialize() kullanabilmek için sınıf nesnesinin tanımlı olması gerekir. Yani, A sınıfının bir nesnesi varsa ve dizgeleştirilirse, A sınıfının ismini ve içerdiği tüm değişkenlerin değerlerini içeren bir dizge elde edilir. Başka bir dosyada bu dizge unserialize() ile dönüştürülmek istenirse, bu dosyada daha önce A sınıfı tanımlanmış ve nesnesi oluşturulmuş olmalıdır. Bu, örneğin, A sınıfının tanımı bir include dosyasında saklanıp bu dosya betiğe dahil edilerek veya spl_autoload_register() işlevi kullanılarak yapılabilir.

<?php
// classa.inc:

class A {
public $one = 1;

public function show_one() {
echo $this->one;
}
}

// page1.php:

include("classa.inc");

$a = new A;
$s = serialize($a);
// $s'i page2.php'nin bulabileceği bir yere sakla
file_put_contents('store', $s);

// page2.php:

// unserialize işlevinin düzgün çalışması için gerekli
include("classa.inc");

$s = file_get_contents('store');
$a = unserialize($s);

// şimdi show_one() işlevi kullanılabilir.
$a->show_one();
?>

Bir uygulama, uygulamada daha sonra kullanmak için nesneleri dizgeleştiriyorsa, uygulamanın o nesnenin sınıf tanımını uygulama boyunca içermesi şiddetle tavsiye edilir. Bunu yapmamak, bir nesnenin sınıf tanımlaması olmaksızın nesneleştirilmesiyle sonuçlanabilir, bu da PHP'nin nesneyi hiçbir yöntemi olmayan bir __PHP_Incomplete_Class_Name sınıfına sokmasına neden olur ve sonuçta nesne işe yaramaz hale gelir.

Yani, yukarıdaki örnekte, eğer $_SESSION süper küresel dizisine yeni bir anahtar ekleyerek $a bir oturumun parçası haline gelirse, classa.inc dosyası yalnız page1.php ve page2.php dosyalarına değil tüm sayfa dosyalarına dahil edilmelidir.

Yukarıdaki tavsiyenin ötesinde, __sleep() ve __wakeup() yöntemlerini kullanarak da bir nesne üzerinde dizgeleştirme ve yeniden nesneleştirme yapabilir. __sleep() kullanımı ayrıca, nesne özelliklerinin tamamının değil sadece bir kısmının dizgeleştirilmesini de sağlar.


Çok Özgüllük ve Az Özgüllük

PHP 7.2.0'da, bir çocuk yöntem bağımsız değişkenlerindeki tür sınırlamaları kaldırılarak az özgüllüklere kısmen girildi. PHP 7.4.0'dan itibaren, az ve çok özgüllüklere tam destek eklendi.

Çok özgüllük, bir çocuk yöntemin ebeveyn yönteminden daha özellikli bir tür döndürmesine izin verir. Buna karşın, az özgüllük, bir bağımsız değişkenin bir çocuk yöntemin içinde ebeveyndekinden daha az özellikli olmasına izin verir.

Aşağıdaki durumda tür belirtiminin daha belirgin olduğu varsayılır:

  • Birleşim türlerinden bir türü çıkarmak.
  • Kesişim türlerine bir türü eklemek.
  • Bir sınıf türü yerine çocuk sınıf türü belirtmek.
  • iterable yerine array veya Traversable belirtmek.
Tersi doğruysa, o tür sınıfının daha az belirgin olduğu varsayılır.

Çok Özgüllük

Çok özgüllüğün nasıl çalıştığını göstermek için, basit bir soyut ebeveyn sınıf olarak Hayvan sınıfı oluşturulup Kedi ve Köpek çocuk sınıflarına genişletildi.

<?php

abstract class Hayvan
{
protected string $isim;

public function __construct(string $isim)
{
$this->name = $isim;
}

abstract public function konuş();
}

class Köpek extends Hayvan
{
public function konuş()
{
echo $this->name . " havlar";
}
}

class Kedi extends Hayvan
{
public function konuş()
{
echo $this->name . " miyavlar";
}
}

Bu örnekte yöntemlerin hiçbiri değer döndürmemektedir. Hayvan, Kedi ve Köpek sınıfı türünde yeni bir nesne döndüren birkaç arayüz eklenecektir.

<?php

interface HayvanYuvası
{
public function sahiplen(string $isim): Hayvan;
}

class KediYuvası implements HayvanYuvası
{
public function sahiplen(string $isim): Kedi // Hayvan türünde bir sınıf yerine Kedi türünde bir sınıf döner
{
return new Kedi($isim);
}
}

class KöpekYuvası implements HayvanYuvası
{
public function sahiplen(string $isim): Köpek // Hayvan türünde bir sınıf yerine Köpek türünde bir sınıf döner
{
return new Köpek($isim);
}
}

$mırnav = (new KediYuvası)->sahiplen("Tekir");
$mırnav->konuş();
echo "\n";

$kuçu = (new KöpekYuvası)->sahiplen("Çomar");
$kuçu->konuş();

Yukarıdaki örneğin çıktısı:

Tekir miyavlar
Çomar havlar

Az Özgüllük

Hayvan, Kedi ve Köpek sınıflarıyla önceki örneğe devam ederek, bunlara Yem ve HayvanYemi sınıflarını dahil edip Hayvan soyut sınıfına ye(HayvanYemi $yem) yöntemini ekleyelim.

<?php

class Yem {}

class HayvanYemi extends Yem {}

abstract class Hayvan
{
protected string $isim;

public function __construct(string $isim)
{
$this->name = $isim;
}

public function ye(HayvanYemi $yem)
{
echo $this->name . " " . get_class($yem) . "yer";
}
}

Az özgüllüğün davranışını görmek için, herhangi bir Yem türü nesneye izin vermek için Köpek sınıfında ye yöntemi geçersiz kılınır. Kedi sınıfı değişmeden kalır.

<?php

class Köpek extends Hayvan
{
public function ye(Yem $yem) {
echo $this->name . " " . get_class($yem) . "yer";
}
}

Aşağıdaki örnek az özgüllüğün davranışını gösterir:

<?php

$mırnav = (new KediYuvası)->sahiplen("Tekir");
$kediYemi = new HayvanYemi();
$mırnav->ye($kediYemi);
echo "\n";

$kuçu = (new KöpekYuvası)->sahiplen("Çomar");
$kemik = new Yem();
$kuçu->ye($kemik);

Yukarıdaki örneğin çıktısı:

Tekir HayvanYemi yer
Çomar Yem yer

Peki $mırnav $kemik ye()meye çalışırsa ne olur?

$mırnav->ye($kemik);

Yukarıdaki örneğin çıktısı:

Fatal error: Uncaught TypeError: Argument 1 passed to Hayvan::ye() must be an instance of HayvanYemi, instance of Yem given
Türkçesi: Ölümcül hata: ... : Hayvan::ye() yöntemine aktarılan 1. bağımsız değişken
bir HayvanYemi örneği olmalı, Yem örneği verildi


NYP Değişiklik Güncesi

PHP NYP modelinde yaplan değişiklikler burada sıralanmıştır. Bunlarla ilgili açıklamalar ve diğer bilgiler NYP belgeleri içindedir.

Sürüm: | Açıklama
8.1.0 | Eklendi: Sınıf sabitlerinin final olarak tanımlanması artık destekleniyor. Ayrıca, arayüz sabitleri artık öntanımlı olarak geçersiz kılınabiliyor.
8.0.0 | Eklendi: null olabilen nesne yöntem ve özelliklerine erişim için Güvenli Null İşleci ?-> desteği.
7.4.0 | Değişti: __toString() içinde bir istisna yavrulamak artık mümkün.
7.4.0 | Eklendi: Sınırlı dönüş türü farklılığı ve bağımsız değişken türü farklılığı desteği. Tam farklılık desteği yalnızca otomatik yükleme kullanılıyorsa kullanılabilir. Tek bir dosyanın içinde yalnızca dönüşümlü olmayan tür gönderimleri mümkündür.
7.4.0 | Eklendi: Artık sınıf özelliklerini yazmak mümkün.
7.3.0 | Uyumsuzluk: Traversable bağımsız değişkenlerine int olmayan anahtarlarla ulaşılması artık desteklenmiyor. Böyle bir davranış amaçlanmadığından kaldırıldı.
7.3.0 | Uyumsuzluk: Önceki sürümlerde statik özellikleri bir gönderim atayarak ayırmak mümkündü. Bu kaldırıldı.
7.3.0 | Değişti: instanceof işleci, sonucun daima false olduğu durumlarda, artık, ilk terim olarak değişmezlere izin veriyor.
7.2.0 | Kullanımdan kalktı: spl_autoload_register() yararına __autoload() yöntemi kullanımdan kaldırıldı.
7.2.0 | Değişti: object bir isim olarak sınıf, arayüz ve niteliklerin isimlendirilmesinde artık kullanılamıyor.
7.2.0 | Değişti: İsim alanları için grup kullanım sözdiziminde arda bir virgül eklenebiliyor.
7.2.0 | Değişti: Bağımsız değişken türü genişletmesi. Geçersiz kılınmış yöntemlerdeki ve arayüz gerçekleştirimlerindeki bağımsız değişken türleri artık çıkarıldı.
7.2.0 | Değişti: Soyut bir sınıf başka bir soyut sınıfa genişletildiğinde soyut yöntemler artık geçersiz kılınabiliyor.
7.1.0 | Değişti: void ve iterable bir isim olarak sınıf, arayüz ve niteliklerin isimlendirilmesinde artık kullanılamıyor.
7.1.0 | Eklendi: Sınıf sabitlerinin görünürlüğünü belirtmek artık mümkün.
7.0.0 | Kullanımdan kalktı: Statik yöntem çağrıları artık statik bildirilemiyor.
7.0.0 | Kullanımdan kalktı: PHP 4 tarzı kurucu. Yani, tanımlandıkları sınıfın ismini alan yöntemler.
7.0.0 | Eklendi: Gruplu use bildirimi: Aynı isim alanından ithal edilmiş sınıf, işlev ve sabitler tek bir use deyimi içinde birlikte gruplanabiliyor.
7.0.0 | Eklendi: new class üzerinden anonim sınıf desteği eklendi.
7.0.0 | Uyumsuzluk: Traversable olmayan nesneler üzerinden yineleme, artık, dizileri gönderimleri üzerinden yinelemeyle aynı davranış kalıbına sahip.
7.0.0 | Değişti: Kullanılan iki niteliğin (uyumlu) özelliklerini tanımlamak artık bir hatayı tetiklemiyor.
5.6.0 | Eklendi: __debugInfo() yöntemi.
5.5.0 | Eklendi: ::class sihirli sabiti.
5.5.0 | Eklendi: İstisnaları işlemek için finally bloğu.
5.4.0 | Eklendi: Nitelikler.
5.4.0 | Değişti: Eğer bir abstract sınıfı kurucu için bir imza tanımlıyorsa, o imza artık yürürlüğe konuyor.
5.3.3 | Değişti: Bir isim alanlı sınıf adının son elemanı ile aynı isimdeki yöntemler artık kurucu olarak ele alınmıyor. Bu değişiklik isim alanlı olmayan sınıfları etkilemez.
5.3.0 | Değişti: Prototipte öntanımlı değerlere sahip olan arayüzleri yöntemlerle gerçekleyen sınıfların artık arayüzün öntanımlı değeriyle eşleşmesi gerekmiyor.
5.3.0 | Değişti: Sınıflara bir değişken kullanarak başvurmak artık mümkün (örn., echo $classname::constant;). Değişkenin değeri bir anahtar sözcük olmamalıdır (örn., self, parent veya static).
5.3.0 | Değişti: Sihirli aşırı yükleme yöntemleri static bildirilirse E_WARNING seviyesinde bir hata oluşur.
5.3.0 | Değişti: 5.3.0 öncesinde, __autoload() işlevinde yavrulanan istisnalar catch bloğunda yakalanamaz ve ölümcül hata oluşur. __autoload işlevinde yavrulanmayan istisnalar catch bloğunda tek bir önlemle yakalanabilir. Özel bir istisna yavrulanıyorsa bu özel istisna sınıfı mevcut olmalıdır. __autoload işlevi özel istisna sınıfını otomatik yüklemek için ardışık olarak kullanılabilir.
5.3.0 | Eklendi: __callStatic yöntemi.
5.3.0 | Eklendi: Sınıf const ve özellik tanımları için yorumlu ve yorumsuz metin desteği. Yorumlu değerlerin çift tırnaklı dizgelerin uyduğu kurallara uyması gerektiğini unutmayın (örn, değişken olmayanların içinde).
5.3.0 | Eklendi: Statik İçselleştirim.
5.3.0 | Eklendi: __invoke() yöntemi.
5.2.0 | Değişti: __toString() yöntemi sadece echo veya print ile doğrudan birleştirilip çağrılabilirdi. Artık, herhangi bir string bağlamında (örn, %s seçenekli printf() içinde) çağrılabilir fakat diğer türlerin bağlamlarında (örn, %d seçeneği ile) çağrılamaz. PHP 5.2.0 itibariyle, nesnelerin __toString yöntemi olmaksızın dizgeye dönüştürülmesi E_RECOVERABLE_ERROR seviyesinde bir hataya sebep olur. PHP 5.2.0'dan itibaren, object türünü __toString yöntemi olmaksızın string türüne dönüştürmek E_RECOVERABLE_ERROR seviyesinde bir hatayı tetiklemektedir.
5.1.3 | Değişti: PHP 5 öcesinde, var kullanımı önerilmezdi ve E_STRICT seviyesinde bir hataya sebep olurdu. Artık, önerilmeme durumu ortadan kalktığından bir hataya sebep olmuyor.
5.1.0 | Değişti: __set_state() statik yöntemi artık var_export() ile ihracedilen sınıflar için çağrılabiliyor.
5.1.0 | Eklendi: __isset() ve __unset() yöntemi.


İsim Alanları

İçindekiler

  • Giriş
  • İsim Alanlarının Tanımlanması
  • Alt İsim Alanlarının Bildirilmesi
  • Birden Fazla İsim Alanının Aynı Dosyada Tanımlanması
  • İsim alanlarının kullanımı: Temeller
  • İsim alanları ve dinamik dil özellikleri
  • namespace sözcüğü ve __NAMESPACE__ sabiti
  • İsim alanlarının kullanımı: İthal/Rumuz
  • Küresel Alan
  • İsim alanlarının kullanımı: son çare olarak küresel işlev ve sabitler
  • İsim çözünürlük kuralları
  • SSS: İsim alanları hakkında bilinmesi gerekenler


Giriş

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

İsim alanı nedir? En dar tanımıyla, öğeleri sarmalamanın bir yoludur. Çoğu bakımdan bu soyut bir kavram gibi görünebilir. Örneğin, bir işletim sisteminin dizinleri bir birleriyle ilgili dosyaları gruplamaya yarar ve içerdiği dosyalar için bir isim alanı görevi yapar. Daha belirgin bir örnek olarak, /home/ali ve /home/veli dizinlerinde mesela.txt adında birer dosya bulunduğunu varsayalım. /home/ali dizinindeki dosyaya dizin dışından erişmek istersek dosyanın önüne dizin ayracı ile dizin adını yerleştiririz. Programcılık dünyasındaki isim alanlarına da aynı kurallar uygulanır.

PHP dünyasında isim alanları, kütüphane ve uygulama yazarlarının aşağıdaki gibi sınıflar ve işlevler gibi yeniden kullanılabilir elemanları oluşturken karşılaştıkları iki soruna çözüm getirmek amacıyla tasarlanmıştır:

  1. Yazdığınız kod ile yerleşik PHP sınıfları/işlevleri/sabitleri veya üçüncü şahısların sınıfları/işlevleri/sabitleri arasındaki isim çakışmaları.
  2. İlk sorunu hafifletmek ve kaynak kodun okunabilirliğini arttırmak için epeyce_uzun_isimlere takma ad tanımlama (veya kısaltma) yeteneği.

PHP isim alanları birbirleriyle ilişkili sınıflar, arayüzler, sabitler ve işlevleri gruplamak için bir yol sunar. PHP'deki isim alanı söz dizimi için bir örnek:

Örnek 1 - İsim alanı söz dizimi örneği

<?php
namespace isim\alanım; // "İsim Alanlarının Tanımlanması" bölümüne bakınız

class Sınıfım {}
function işlevim() {}
const SABİTİM = 1;

$a = new Sınıfım;
$c = new \isim\alanım\Sınıfım; // "Küresel Etki Alanı" bölümüne bakınız

$a = strlen('selam'); // "İsim alanlarının kullanımı: Son çare olarak
// küresel işlev ve sabitler" bölümüne bakınız

$d = \isim\alanım\SABİTİM; // isim alanı işleci ve __NAMESPACE__
$d = __NAMESPACE__ . '\SABİTİM'; // sabiti" bölümüne bakınız
echo constant($d); // "İsim alanları ve dinamik dil özellikleri"
// bölümüne bakınız
?>

Bilginize: İsim alanı isimleri harf büyüklüğüne duyarlıdır.

Bilginize:

İsim alanı ismi olarak PHP ve PHP\Classes gibi bu isimle başlayan bileşik isimler dahili dil kullanımına ayrılmış olup kullanıcı yazılımlarında kullanılmamalıdır.


İsim Alanlarının Tanımlanması

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

İsim alanları içinde her çeşit PHP kodu bulunabilirse de sadece şu tür kod isim alanlarından etkilenir: Sınıflar (nitelikler ve soyutlama dahil), arayüzler, işlevler ve sabitler.

İsim alanları, namespace anahtar sözcüğü ile bildirilirler. Bir isim alanını içeren bir dosyada isim alanı bütün diğer kodlardan önce (ama bir declare satırından önce değil) dosyanın başlarında bildirilmelidir.

Örnek 1 - Tek bir isim alanı bildirimi

<?php
namespace Projem;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }

?>

Bilginize: Tamamen nitelenmiş isimlere (yani, bir ters bölü ile başlayan isimlere) isim alanı bildirimlerinde izin verilmez, çünkü böyle oluşumlar göreli isim alanı ifadeleri olarak yorumlanır.

Bir isim alanı bildiriminden önce bulunmasına izin verilen tek oluşum, kaynak dosyanın kodlamasının tanımlandığı declare deyimidir. Bunun dışında, baştaki fazladan boşluklar da dahil hiçbir PHP-dışı kod, bir isim alanı bildiriminden önce yer alamaz. Örnek:

Örnek 2 - Tek bir isim alanı bildirimi

<html>
<?php
namespace Sınıfım; // ölümcül hata - namespace, betikteki ilk deyim olmalıdır
?>

Diğer tüm PHP oluşumlarının tersine, isim alanının dosya sistemi içinde parçalara bölünebilmesi için aynı isim alanı birden fazla dosyada tanımlanabilir.


Alt İsim Alanlarının Bildirilmesi

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Dizinler ve dosyalardaki gibi PHP isim alanı isimleri arasında da bir hiyeraraşi belirtmek mümkündür. Bu bakımdan, bir isim alanı başka isim alanlarının altında tanımlanabilir:

Örnek 1 - Tek bir isim alanının hiyerarşik bildirimi

<?php
namespace Projem\Alt\Seviye;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }

?>
Yukarıdaki örnekte, Projem\Alt\Seviye\BAĞLANTI_TAMAM sabiti, Projem\Alt\Seviye\Bağlantı sınıfı ve Projem\Alt\Seviye\bağlan işlevi oluşturulmaktadır.


Birden Fazla İsim Alanının Aynı Dosyada Tanımlanması

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Birden fazla isim alanı aynı dosya içinde bildirilebilir. İki çeşit söz dizimine izin verilir.

Örnek 1 - Birden fazla isim alanın ayrımsız ardarda bildirilmesi

<?php
namespace Projem;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }

namespace DiğerProjem;

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
?>

Bu söz dizimi aynı dosya içinde birden fazla isim alanı bildirimi için önerilmez. Bunun yerine ayraçlı söz dizimi önerilir.

Örnek 2 - Birden fazla isim alanın ayraçlı olarak bildirilmesi

<?php
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
}

namespace DiğerProjem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
}
?>

Aynı dosya içinde birden fazla isim alanını birleştirmek iyi bir kodlama uygulaması olarak teşvik edilmektedir. Çoğunlukla çok sayıda PHP betiğini aynı dosyada birleştirmek amacıyla kullanılır.

İsim alansız küresel kodu isim alanlı kodla bir arada kullanmanın tek yolu ayraçlı söz dizimini kullanmaktır (diğerine izin verilmemektedir). Küresel kod isimsiz bir isim alanı bildirimi ile aynı dosyada şöyle bildirilebilir:

Örnek 3 - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi

<?php
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
}

namespace { // küresel kod
session_start();
$a = Projem\bağlan();
echo Projem\Bağlantı::başlat();
}
?>

İsim alanı ayraçlarının dışında, kodlama belirten declare deyimi dışında hiçbir PHP kodu bulunamaz.

Örnek 4 - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi

<?php
declare(encoding='UTF-8');
namespace Projem {

const BAĞLANTI_TAMAM = 1;
class Bağlantı { /* ... */ }
function bağlan() { /* ... */ }
}

namespace { // küresel kod
session_start();
$a = Projem\bağlan();
echo Projem\Bağlantı::başlat();
?>


İsim alanlarının kullanımı: Temeller

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

İsim alanlarının kullanımından önce PHP'nin kodunuzdaki hangi isim alanlı kodu isteğinizi nasıl anlayabildiğinden bahsetmek gerekir. Bunu daha kolay anlayabilmek için PHP isim alanları ile dosya sistemleri arasındaki benzerlikten yola çıkılabilir. Bir dosya sistemindeki bir dosyaya üç yolla erişilebilir:

  1. fan.txt şeklinde göreli dosya ismiyle. Bu isim dosya sisteminde içinde bulunulan dizin geçerlidizin/ olmak üzere geçerlidizin/fan.txt olarak çözümlenir. Dolayısıyla geçerli dizin /home/veli ise dosya ismi /home/veli/fan.txt olarak çözümlenecektir.
  2. altdizin/fan.txt şeklinde göreli dosya yolu. Bu isim dosya sisteminde içinde bulunulan dizin geçerlidizin/ olmak üzere geçerlidizin/altdizin/fan.txt olarak çözümlenir.
  3. /home/veli/fan.txt şeklinde mutlak dosya yolu. Bu, /home/veli/fan.txt olarak çözümlenir.
Aynı kurallar PHP'deki isim alanlı elemanlara da uygulanabilir. Örneğin bir sınıf ismine üç şekilde başvurulabilir:
  1. $a = new fan(); veya fan::statikyöntem(); gibi bir nitelenmemiş isim veya öneksiz bir sınıf ismi. Eğer geçerli isim alanı ismi geçerlisimalanı ise bu isim, geçerlisimalanı\fan olarak çözümlenir. Eğer kod küresel ve isim alansız ise, isim fan olarak çözümlenecektir. Bir ayrıntı: Eğer isim alanlı işlev ve sabitler tanımlı ise nitelenmemiş isimli işlevler ve sabitler küresel işlevler ve sabitler olarak çözümlenir. Ayrıntılar için İsim alanlarının kullanımı: Son çare olarak küresel işlev ve sabitler bölümüne bakınız.
  2. $a = new altisimalanı\fan(); veya altisimalanı\fan::statikyöntem(); gibi bir nitelenmemiş isim veya öneksiz bir sınıf ismi. Eğer geçerli isim alanı ismi geçerlisimalanı ise bu isim, geçerlisimalanı\altisimalanı\fan olarak çözümlenir. Eğer kod küresel ve isim alansız ise, isim altisimalanı\fan olarak çözümlenecektir.
  3. $a = new \geçerlisimalanı\fan(); veya \geçerlisimalanı\fan::statikyöntem(); gibi tamamen nitelenmiş isim veya küresel önekli bir isim. Bu isim daima kodda belirtildiği gibi geçerlisimalanı\fan olarak çözümlenir.

Üç söz dizimi aşağıda örneklenmiştir:

dosya1.php

<?php
namespace Fan\Fin\altisimalanı;

const FAN = 1;
function fan() {}
class fan
{
static function statikyöntem() {}
}
?>

dosya2.php

<?php
namespace Fan\Fin;
include 'dosya1.php';

const FAN = 2;
function fan() {}
class fan
{
static function statikyöntem() {}
}

/* Nitelenmemiş isim */
fan(); // Fan\Fin\fan işlevine çözümlenir
fan::statikyöntem(); // Fan\Fin\fan sınıfının statikyöntem yöntemine çözümlenir
echo FAN; // Fan\Fin\FAN sabitine çözümlenir

/* Nitelenmiş isim */
altisimalanı\fan(); // Fan\Fin\altisimalanı\fan işlevine çözümlenir
altisimalanı\fan::statikyöntem(); // Fan\Fin\altisimalanı\fan sınıfının
// statikyöntem yöntemine çözümlenir
echo altisimalanı\FAN; // Fan\Fin\altisimalanı\FAN sabitine çözümlenir

/* Tamamen nitelenmiş isim */
\Fan\Fin\fan(); // Fan\Fin\fan işlevine,
\Fan\Fin\fan::statikyöntem(); // Fan\Fin\fan sınıfının statikyöntem yöntemine,
echo \Fan\Fin\FAN; // Fan\Fin\FAN sabitine çözümlenir
?>

Herhangi bir küresel sınıf, işlev veya sabite \strlen(), \Exception veya \INI_ALL gibi tamamen nitelenmiş isimleriyle erişilebileceğine dikkat ediniz.

Örnek 1 - Küresel sınıf, işlev ve sabitlere bir isim alanı içinden erişim

<?php
namespace Fan;

function strlen() {}
const INI_ALL = 3;
class Exception {}

$a = \strlen('merhaba'); // strlen küresel işlevini çağırır
$b = \INI_ALL; // INI_ALL küresel sabitini çağırır
$c = new \Exception('error'); // Exception küresel sınıfını örnekler
?>


İsim alanları ve dinamik dil özellikleri

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PHP'nin isim alanları gerçeklenimi bir programlama dili olarak PHP'nin kendi dinamik doğasından etkilenir. Örnek olarak aşağıdaki kodu isim alanlı koda dönüştürmek istersek:

Örnek 1 - Dinamik olarak erişilen elemanlar

örnek1.php:

<?php
class sınıfadı
{
function __construct()
{
echo __METHOD__,"\n";
}
}
function işlevadı()
{
echo __FUNCTION__,"\n";
}
const sabitadı = "küresel";

$a = 'sınıfadı';
$obj = new $a; // sınıfadı::__construct basar
$b = 'işlevadı';
$b(); // işlevadı basar
echo constant('sabitadı'), "\n"; // küresel basar
?>
Tamamen nitelenmiş isim kullanmak gerekir (isim alanı önekli sınıf adı). Bir dinamik sınıf, işlev veya sabit ismi içinde bir nitelenmiş isim ile tamamen nitelenmiş isim arasında bir fark olmadığından baştaki ters bölünün gereksiz oluşuna dikkat edin.

Örnek 2 - Dinamik olarak erişilen isim alanlı elemanlar

<?php
namespace isimalanıadı;
class sınıfadı
{
function __construct()
{
echo __METHOD__,"\n";
}
}
function işlevadı()
{
echo __FUNCTION__,"\n";
}
const sabitadı = "isimalanlı";

/* çift tırnakları kullanacaksanız, "\\isimalanıadı\\sınıfadı"
biçiminde olmalıdır */
$a = '\isimalanıadı\sınıfadı';
$obj = new $a; // isimalanıadı\sınıfadı::__construct basar
$a = 'isimalanıadı\sınıfadı';
$obj = new $a; // bu da isimalanıadı\sınıfadı::__construct basar
$b = 'isimalanıadı\işlevadı';
$b(); // isimalanıadı\işlevadı basar
$b = '\isimalanıadı\işlevadı';
$b(); //bu da isimalanıadı\işlevadı basan
echo constant('\isimalanıadı\sabitadı'), "\n"; // isimalanlı basar
echo constant('isimalanıadı\sabitadı'), "\n"; // bu da isimalanlı basar
?>

SSS arasındaki Dizgelerdeki isim alanı adlarının öncelenmesi konusuna da bakmayı unutmayın.


namespace sözcüğü ve __NAMESPACE__ sabiti

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PHP, geçerli isim alanı içindeki elemanlara mutlak olarak iki yolla erişimi destekler: sihirli __NAMESPACE__ sabiti ve namespace anahtar sözcüğü.

__NAMESPACE__ sabitinin değeri içinde bulunulan isim alanının adını içeren bir dizgedir. Küresel alandaki isim alansız kod için sabitin değeri boş dizgedir.

Örnek 1 - İsim alanlı kod, __NAMESPACE__ örneği

<?php
namespace Projem;

echo '"', __NAMESPACE__, '"'; // "Projem" basar
?>

Örnek 2 - Küresel kod, __NAMESPACE__ örneği

<?php

echo '"', __NAMESPACE__, '"'; // "" basar
?>
__NAMESPACE__ sabiti dinamik olarak oluşturulan isimler için kullanışlıdır.

Örnek 3 - Dinamik isim oluşturmak için __NAMESPACE__ kullanımı

<?php
namespace Projem;

function get($sınıfadı)
{
$a = __NAMESPACE__ . '\\' . $sınıfadı;
return new $a;
}
?>

namespace sözcüğü, geçerli isim alanından veya bir alt isim alanından doğrudan doğruya bir eleman isteği yaparken kullanılabilir. Sınıflardaki self işlecinin isim alanlarındaki karşılığıdır.

Örnek 4 - Bir isim alanı içinde namespace işleci

<?php
namespace Projem;

use fan\fin as fon; // bak: "İsim alanlarının kullanımı: İthal/Rumuz"

fin\fon(); // Projem\fin\fon() işlevini çağırır
namespace\fin\fon(); // Projem\fin\fon() işlevini çağırır

namespace\işlev(); // Projem\işlev() işlevini çağırır
namespace\alt\işlev(); // Projem\alt\işlev() işlevini çağırır
namespace\isim::yöntem(); // Projem\isim sınıfının statik "yöntem"
// yöntemini çağırır
$a = new namespace\alt\isim(); // Projem\alt\isim sınıfını örnekler
$b = namespace\SABİT; // Projem\SABİT sabitinin değerini $b'ye atar
?>

Örnek 5 - Küresel kod içinde namespace işleci

<?php

namespace\işlev(); // işlev() işlevini çağırır
namespace\alt\işlev(); // alt\işlev() işlevini çağırır
namespace\isim::yöntem(); // isim sınıfının statik "yöntem" yöntemini çağırır
$a = new namespace\alt\isim(); // alt\isim sınıfını örnekler
$b = namespace\SABİT; // SABİT sabitinin değerini $b'ye atar
?>


İsim alanlarının kullanımı: İthal/Rumuz

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Dış kaynaklı tamamen nitelenmiş bir isme bir takma adla veya ithal ederek başvurma yeteneği isim alanlarının önemli bir özelliğidir. Bu özellik, Unix dosya sistemlerinin bir dizin veya dosyaya bir sembolik bağ oluşturma yeteneğine benzer.

PHP sabitler, işlevler, sınıflar, arayüzler, nitelikler, sayılamalar ve isim alanlarına takma ad verilmesini ve ithalini destekler.

Takma ad kullanımı use işleci üzerinden sağlanır. Aşağıda 5 çeşidin de ithal örneğine yer verilmiştir:

Örnek 1 - use işleci ile ithal/takma ad kullanımı

<?php
namespace fan;
use Bir\Tam\Sınıfadı as BirBaşkası;

// use Bir\Tam\iAadı as iAadı ile aynıdır
use Bir\Tam\iAadı;

// küresel bir sınıfın ithali
use DiziNesnesi;

// bir işlevin ithali
use function Bir\Tam\işlevAdı;

// bir işleve takma ad
use function Bir\Tam\işlevAdı as func;

// bir sabitin ithali
use const Bir\Tam\SABİT;

$nesne = new namespace\BirBaşkası; // fan\BirBaşkası sınıfını örnekler
$nesne = new BirBaşkası; // Bir\Tam\Sınıfadı sınıfını örnekler
iAadı\altia\işlev(); // Bir\Tam\iAadı\altia\işlev işlevini çağırır
$a = new DiziNesnesi(array(1)); // DiziNesnesi sınıfını örnekler
// "use DiziNesnesi" olmasaydı fan\DiziNesnesi sınıfını örneklerdik
func(); // Bir\Tam\işlevAdı işlevini çağırır
echo SABİT; // Bir\Tam\SABİT değerini basar
?>
İsim alanlı adlar için baştaki terbölü gereksiz olup önerilmediği gibi bunlar geçerli isim alanına göre işlenmezler. İthal edilen isimler ise tamamen nitelenmiş olmalıdır. (Tamamen nitelenmiş isimler Fan\Fin şeklinde isim alanı ayracı içermelerine karşın küresel isimler FanFin şeklinde isim alanı ayracı içermezler.)

PHP bunlara ek olarak çok sayıda use deyiminin aynı satırda kullanılmasına imkan veren bir kısayola da sahiptir.

Örnek 2 - use işleci ile rumuz/ithal, çoklu use kullanımı

<?php
use Bir\Tam\Sınıfadı as BirBaşkası, Bir\Tam\iAadı;

$nesne = new BirBaşkası; // Bir\Tam\Sınıfadı sınıfını örnekler
iAadı\altia\işlev(); // Bir\Tam\iAadı\altia\işlev işlevini çağırır
?>

İthal işlemi derleme sırasında yerine getirilir ve dolayısıyla dinamik sınıf, işlev ve sabit isimlerini etkilemez.

Örnek 3 - İthal işlemi ve dinamik isimler

<?php
use Bir\Tam\Sınıfadı as BirBaşkası, Bir\Tam\iAadı;

$nesne = new BirBaşkası; // Bir\Tam\Sınıfadı sınıfını örnekler
$a = 'BirBaşkası';
$nesne = new $a; // BirBaşkası sınıfını örnekler
?>

Bunlara ek olarak, ithal işlemi sadece nitelenmemiş ve nitelenmiş isimleri etkiler. Tamamen nitelenmiş isimler mutlak olup ithal işleminden etkilenmez.

Örnek 4 - İthal işlemi ve tamamen nitelenmiş isimler

<?php
use Bir\Tam\Sınıfadı as BirBaşkası, Bir\Tam\iAadı;

$nesne = new BirBaşkası; // Bir\Tam\Sınıfadı sınıfını örnekler
$nesne = new \BirBaşkası; // BirBaşkası sınıfını örnekler
$nesne = new BirBaşkası\birşey; // Bir\Tam\Sınıfadı\birşey sınıfını örnekler
$nesne = new \BirBaşkası\birşey; // BirBaşkası\birşey sınıfını örnekler
?>

İthal etki alanı kuralları

use anahtar sözcüğü bir dosyanın en dış etki alanında veya isim alanı bildirimleri içinde kullanılmalıdır. Bunun sebebi ithal işleminin çalışma zamanında değil derleme sırasında yapılmasıdır, dolayısıyla bir bloğun etki alanında olamaz. Aşağıdaki örnekte uygun olmayan use kullanımı gösterilmiştir:

Örnek 5 - Usülsüz ithal kuralı

<?php
namespace Languages;

function toGreenlandic()
{
use Languages\Danish;

// ...
}
?>

Bilginize:

İthal kuralları dosyaya özeldir, yani içerilen dosyalar içeren dosyanın ithal kurallarını miras alMAyacaktır.

Gruplu use bildirimleri

Aynı isim alanından ithal edilen sınıflar, işlevler ve sabitler tek bir use deyiminde gruplanabilir.

<?php

use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// aşağıdaki gruplandırılmış use bildirimine eşdeğerdir
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};


Küresel Alan

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Herhangi bir isim alanı tanımı olmaksızın, tüm sınıf ve işlev tanımları PHP'de isim alanlarının desteklenmediği zamanlardaki gibi küresel alana yerleştirilir. Bir ismin önüne doğrudan doğruya \ konulması, bu ismin bir isim alanı bağlamında bile küresel alandan bir isim olarak işlem görmesini sağlar.

Örnek 1 - Küresel alan belirtiminin kullanımı

<?php
namespace A\B\C;

/* A\B\C\fopen işlevidir */
function fopen() {
/* ... */
$f = \fopen(...); // küresel fopen çağrılır
return $f;
}
?>


İsim alanlarının kullanımı: son çare olarak küresel işlev ve sabitler

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Bir isim alanı içinde PHP, bir sınıf ismi, işlev veya sabitin bağlamında nitelenmemiş isimlere rastlarsa bunları farklı önceliklerle ele alır. Sınıf isimleri daima geçerli isim alanı ismine çözümlenir. Dolayısıyla yerleşik veya isim alansız kullanıcı sınıflarına erişmek için, bunların aşağıdaki gibi tamamen nitelenmiş isimlerinin kullanılması gerekir:

Örnek 1 - Küresel sınıflara bir isim alanı içinde erişim

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a, A\B\C\Exception sınıfının bir nesnesidir
$b = new \Exception('hi'); // $b, Exception sınıfının bir nesnesidir

$c = new ArrayObject; // ölümcül hata, A\B\C\ArrayObject yoktur
?>

İşlevler ve sabitler açısından PHP, bir isim alanlı işlev veya sabit mevcut değilse son çare olarak küresel işlevlere ve sabitlere başvurur.

Örnek 2 - Bir isim alanı içinde son çare olarak küresel işlev ve sabitlerin kullanımı

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // "45" basar
echo INI_ALL, "\n"; // "7" basar - son çare olarak küresel INI_ALL

echo strlen('hi'), "\n"; // "1" basar
if (is_array('hi')) { // "dizi değil" basar
echo "dizi\n";
} else {
echo "dizi değil\n";
}
?>


İsim çözünürlük kuralları

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

İsim çözünürlük kurallarının amaçları gereği bazı önemli tanımlar:

İsim alanı adı tanımları
Nitelenmemiş isim

Fan gibi bir isim alanı ayracı içermeyen bir betimleyici.

Nitelenmiş isim

Fan\Fin gibi bir isim alanı ayracı içeren bir betimleyici.

Tamamen nitelenmiş isim

\Fan\Fin gibi bir isim alanı ayracı ile başlayan isim alanı ayraçlı bir betimleyici. \Fan isim alanı da tamamen nitelenmiş bir isimdir.

Göreli isim

namespace\Fan\Fin gibi namespace ile başlayan bit tanımlayıcıdır.

İsimler şu kurallara göre çözümlenir:

  1. Tamamen nitelenmiş isimler daima önünde ters bölü imi olmayan isimlere çözümlenir. Örneğin, new \A\B deyimi A\B sınıfı olarak çözümlenir.
  2. Göreli isimler ise daima namespace\ öneki geçerli isim alanı ile değiştirilerek çözümlenir. Eğer isim küresel isim alanındaysa namespace\ öneki konmaz. Örneğin, X\Y isim alanındaki namespace\A, X\Y\A olarak çözümlenirken aynı isim küresel isim alanı içindeyse A olarak çözümlenir.
  3. Nitelenmiş isimlerde ismin ilk bölümü geçerli sınıf/isimalanı ithal tablosuna göre dönüştürülür. Örneğin, A\B\C isim alanı C olarak ithal edilmişse C\D\E ismi A\B\C\D\E ismine dönüştürülür.
  4. Nitelenmiş isimlerde ithal kurallarına göre dönüştürülmeyen tüm isimlerin önüne geçerli isim alanı ismi getirilir. Örneğin, A\B isim alanınındaki bir C\D\E ismi A\B\C\D\E ismine dönüştürülecektir.
  5. Nitelenmemiş isimler derleme sırasında ilgili türün geçerli ithal kurallarına göre dönüştürülür. Yani, sınıf benzeri isimler sınıf/isimalanı ithal tablosuna göre, işlevler işlev ithal tablosuna göre, sabitler sabit ithal tablosuna göre dönüştürülür. Örneğin, use A\B\C; sonrasında new C() gibi bir kullanım A\B\C() olarak çözümlenir. benzer şekilde, use function A\B\fan; sonrasında fan() gibi bir kullanım A\B\fan ismine dönüştürülür.
  6. İthal kuralları uygulanamayan nitelenmemiş sınıf benzeri isimler geçerli isim alanı ile öncelenerek dönüştürülür. Örneğin, A\B isim alanındaki new C() bildirimi A\B\C ismine çözümlenir.
  7. İthal kuralları uygulanamayan nitelenmemiş işlev veya sabit benzeri isimler ve küresel isim alanı dışındaki kod isimleri çalışma sırasında çözümlenir. Kodun A\B isim alanında olduğunu varsayalım, fan() işlev çağrısı şöyle gerçekleşir:
    1. Geçerli isim alanında A\B\fan() işlevi aranır.
    2. Küresel fan() işlevi bulunmaya ve çağrılmaya çalışılır.

Örnek 1 - Örneklerle İsim Çözünürlüğü

<?php
namespace A;
use B\D, C\E as F;

// işlev çağrıları

fan(); // Varsa "A" isim alanında tanımlı "fan", yoksa küresel "fan"

\fan(); // Küresel alanda tanımlı "fan" çağrılır

my\fan(); // "A\my" isim alanında tanımlı "fan" çağrılır

F(); // Varsa "A" isim alanında tanımlı "F", yoksa küresel "F"

//sınıf adı çağrıları

new B(); // Varsa "A" isim alanında tanımlı "B" örneklenir
// Yoksa "A\B" sınıfı otomatik olarak yüklenmeye çalışılır

new D(); // ithal kuralları ile, "B" isim alanında tanımlı "D" örneklenir
// yoksa "B\D" sınıfı otomatik olarak yüklenmeye çalışılır

new F(); // ithal kuralları ile, "C" isim alanında tanımlı "E" örneklenir
// yoksa "C\E" sınıfı otomatik olarak yüklenmeye çalışılır

new \B(); // Varsa küresel alanda tanımlı "B" örneklenir
// yoksa "B" sınıfı otomatik olarak yüklenmeye çalışılır

new \D(); // Varsa küresel alanda tanımlı "D" örneklenir
// yoksa "D" sınıfı otomatik olarak yüklenmeye çalışılır

new \F(); // Varsa küresel alanda tanımlı "F" örneklenir
// yoksa "F" sınıfı otomatik olarak yüklenmeye çalışılır

// başka bir isim alanından statik yöntem/isim alanı işlevleri

B\fan(); // "A\B" isim alanında tanımlı "fan" çağrılır

B::fan(); // "A" isim alanında tanımlı "B" sınıfının "fan" yöntemi çağrılır
// "A\B" sınıfı yoksa, "A\B" otomatik yüklenmeye çalışılır

D::fan(); // ithal kuralları ile, "B" isim alanında tanımlı "D" sınıfının
// "fan" yöntemi çağrılır; "B\D" sınıfı yoksa, "B\D"
// otomatik yüklenmeye çalışılır

\B\fan(); // "B" isim alanında tanımlı "fan" çağrılır

\B::fan(); // Küresel alandaki "B" sınıfının "fan" yöntemi çağrılır
// "B" sınıfı yoksa, "B" otomatik yüklenmeye çalışılır

// geçerli isim alanının statik yöntemleri ve isim alanı işlevleri

A\B::fan(); // "A\A" isim alanında tanımlı "B" sınıfının "fan" yöntemi
// çağrılır; "A\A\B" sınıfı yoksa, "A\A\B" otomatik
// yüklenmeye çalışılır

\A\B::fan(); // "A" isim alanında tanımlı "B" sınıfının "fan" yöntemi
// çağrılır; "A\B" sınıfı yoksa, "A\B" otomatik yüklenmeye
// çalışılır
?>


SSS: İsim alanları hakkında bilinmesi gerekenler

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Bu SSS iki bölüme ayrılır: genel sorular ve isim alanlarını tamamen anlamaya yardımcı olacak gerçeklenime özgü ayrıntılar.

Önce genel sorularla başlıyoruz.

  1. İsim alanlarını kullanmayacak olsam bile bu konuyla yine de ilgilenmeli miyim?
  2. Yerleşik ve küresel sınıfları bir isim alanı içinde nasıl kullanabilirim?
  3. İsim alanlarının sınıflarını, işlevlerini ve sabitlerini kendi isim alanlarında nasıl kullanabilirim?
  4. \bir\isim veya \isim gibi bir isim nasıl çözümlenir?
  5. bir\isim gibi bir isim nasıl çözümlenir?
  6. isim gibi bir nitelenmemiş sınıf ismi nasıl çözümlenir?
  7. isim gibi bir nitelenmemiş işlev veya sabit ismi nasıl çözümlenir?

İsim alanları gerçeklenimini tamamen anlamaya yardımcı olacak gerçeklenime özgü bir kaç ayrıntı vardır.

  1. İthal edilen isimler aynı dosyada tanımlı sınıflarla çelişmemelidir.
  2. İç içe isim alanlarına izin verilmez.
  3. Dinamik isim alanları isimlerinin (tırnak içine alınmış betimleyiciler) içindeki tersbölülerin öncelenmesi gerekir.
  4. Tersbölü kullanılarak atıf yapılan tanımsız sabitler ölümcül hataya sebep olur.
  5. Özel NULL, TRUE, FALSE, ZEND_THREAD_SAFE ve ZEND_DEBUG_BUILD sabitleri geçersiz kılınamaz.

İsim alanlarını kullanmayacak olsam bile bu konuyla yine de ilgilenmeli miyim?

Hayır. Ne isim alanları mevcut koddan etkilenir ne de isim alanlarını içermeyen kodlar isim alanlarından etkilenir. İsterseniz kodu böyle yazabilirsiniz:

Örnek 1 - Küresel sınıflara bir isim alanı dışından erişim

<?php
$a = new \stdClass;
?>

Bu kod şuna eşdeğerdir:

Örnek 2 - Küresel sınıflara bir isim alanı dışından erişim

<?php
$a = new stdClass;
?>

Yerleşik ve küresel sınıfları bir isim alanı içinde nasıl kullanabilirim?

Örnek 3 - İsim alanı içinden yerleşik sınıflara erişim

<?php
namespace fan;
$a = new \stdClass;

function test(\ArrayObject $bağımsız_değişken_türü_örneği = null) {}

$a = \DirectoryIterator::CURRENT_AS_FILEINFO;

// Bir yerleşik veya küresel sınıfın genişletilmesi
class MyException extends \Exception {}
?>

İsim alanlarının sınıflarını, işlevlerini ve sabitlerini kendi isim alanlarında nasıl kullanabilirim?

Örnek 4 - İsim alanındaki dahili sınıf, işlev ve sabitlere erişim

<?php
namespace fan;

class Sınıfım {}

// bağımsız değişken türü olarak geçerli isim alanındaki bir sınıfın kullanımı
function dnm(Sınıfım $bağımsız_değişken_türü_örneği = null) {}
// bağımsız değişken türü olarak geçerli isim alanındaki bir sınıfın başka
// bir yolla kullanımı
function dnm(\fan\Sınıfım $bağımsız_değişken_türü_örneği = null) {}

// geçerli isim alanındaki bir sınıfın genişletilmesi
class AltSınıfım extends Sınıfım {}

// bir küresel işleve erişim
$a = \küreselişlev();

// bir küresel sabite erişim
$b = \INI_ALL;
?>

\bir\isim veya \isim gibi bir isim nasıl çözümlenir?

\ ile başlayan isimler daima yazıldıkları gibi çözümlenirler, bu bakımdan \bir\isim aslında bir\isim'dir; \Exception da aslında Exception'dır.

Örnek 5 - Tamamen nitelenmiş isimler

<?php
namespace fan;
$a = new \bir\isim(); // "bir\isim" sınıfını örnekler
echo \strlen('hi'); // "strlen" işlevini çağırır
$a = \INI_ALL; // $a değişkenine "INI_ALL" sabitinin değeri atanır
?>

bir\isim gibi bir isim nasıl çözümlenir?

Bir tersbölü içeren, ancak tersbölü ile başlamayan bir\isim gibi isimler iki farklı yolla çözümlenebilir.

bir ismini başka bir isimle ithal eden bir deyim varsa bu takma isim bir\isim içindeki bir'e uygulanır.

Aksi takdirde, bir\isim isminin önüne geçerli isim alanı adı getirilir.

Örnek 6 - Nitelenmiş isimler

<?php
namespace fon;
use fan\fin as fon;

$a = new bir\isim(); // "fon\bir\isim" sınıfını örnekler
fon\bar::isim(); // "fan\fin\bar" sınıfının "isim" statik yöntemi çağrılır
bir\bar(); // "fon\bir\bar" işlevi çağrılır
$a = bir\BAR; // $a değişkenine "fon\bir\BAR" sabitinin değeri atanır
?>

isim gibi bir nitelenmemiş sınıf ismi nasıl çözümlenir?

isim gibi tersbölü içermeyen sınıf isimleri 2 farklı yolla çözümlenebilir.

isim ismini başka bir isimle ithal eden bir deyim varsa bu takma isim isim'e uygulanır.

Aksi takdirde, isim ismininin önüne geçerli isim alanı getirilir.

Örnek 7 - Nitelenmemiş sınıf isimleri

<?php
namespace fon;
use fan\fin as fon;

$a = new isim(); // "fon\isim" sınıfı örneklenir
fon::isim(); // "fan\fin" sınıfının "isim" statik yöntemi çağrılır
?>

isim gibi bir nitelenmemiş işlev veya sabit ismi nasıl çözümlenir?

isim gibi tersbölü içermeyen işlev ve sabit isimleri 2 farklı yolla çözümlenebilir.

Önce isim isminin önüne geçerli isim alanı ismi getirilir.

Son olarak, eğer isim alanında isim diye bir işlev veya sabit yoksa ve isim diye bir küresel işlev veya sabit varsa küresel alandaki kullanılır.

Örnek 8 - Nitelenmemiş işlev veya sabit isimleri

<?php
namespace fon;
use fan\fin as fon;

const FON = 1;

function bir() {}
function fon() {}
function sort(&$a)
{
\sort($a); küresel "sort" işlevi çağrılıyor
$a = array_flip($a);
return $a;
}

bir(); // "fon\bir" çarılır
$a = strlen('hi'); // "fon\strlen" mevcut olmadığından küresel
// "strlen" işlevi çağrılır
$arr = array(1,3,2);
$b = sort($arr); // "fon\sort" işlevi çağrılır
$c = fon(); // "fon\fon" işlevi çağrılır - ithal işlemi uygulanmaz

$a = FON; // $a değişkenine "fon\FON" sabitinin değeri
// atanır - ithal işlemi uygulanmaz
$b = INI_ALL; // $b değişkenine "INI_ALL" küresel sabitinin değeri atanır
?>

İthal edilen isimler aynı dosyada tanımlı sınıflarla çelişmemelidir.

Aşağıdaki iki betik birlikte kurallara uygundur:

dosya1.php

<?php
namespace bir\isim;
class Sınıfım {}
?>

dosya2.php

<?php
namespace diğer;
class BirŞey {}
?>

dosya.php

<?php
namespace bir\isim;
include 'dosya1.php';
include 'dosya2.php';

use diğer\BirŞey as Sınıfım;
$a = new Sınıfım; // "diğer" isim alanındaki "BirŞey" sınıfını örnekler
?>

Sınıfım sınıfı bir\isim isim alanında mevcut olduğu halde Sınıfım ayrı bir dosyada tanımlandığından herhangi bir isim çakışması olmaz. Ancak, sonraki örnekte, Sınıfım sınıfı use deyimi ile aynı dosyada tanımlandığından isim çakışmasından dolayı ölümcül hata oluşur.

<?php
namespace bir\isim;
use diğer\BirŞey as Sınıfım;
class Sınıfım {} // ölümcül hata: Sınıfım ithal edilen sınıfla çakışır
$a = new Sınıfım;
?>

İç içe isim alanlarına izin verilmez.

PHP isim alanlarının böyle iç içe tanımlanmasına izin vermez:

<?php
namespace bir\isim {
namespace içiçe {
class fan {}
}
}
?>
Bununla birlikte, isim alanlarını birbirinin içinde şöyle tanımlamak mümkündür:
<?php
namespace bir\isim\içiçe {
class fan {}
}
?>

Dinamik isim alanları isimlerinin (tırnak içine alınmış betimleyiciler) içindeki tersbölülerin öncelenmesi gerekir.

Tersbölü imi dizgelerin içinde bir önceleme karakteri olarak kullanıldığından çift tırnaklar arasına alınmış bir dizge içindeki bir tersbölü karakterinin tersbölü ile öncelenmesi gerekir. Aksi takdirde, istenmeyen durumlar ortaya çıkabilir:

Örnek 9 - İsim alanlı isimleri çift tırnaklar arasında kullanmak tehlikelidir

<?php
$a = "tehlikeli\nesne"; // \n, çift tırnaklı dizge içinde
// satırsonu karakteridir!
$obj = new $a;

$a = 'bu\tamamen\tehlikesiz\nesne'; // burada sorun yok.
$obj = new $a;
?>
Tersbölüleri tek tırnakları arasına alınmış bir dizge içinde kullanmak daha güvenli olsa da her iki dizge türünde de tersbölüleri öncelemek en güvenlisidir.

Tersbölü kullanılarak atıf yapılan tanımsız sabitler ölümcül hataya sebep olur.

FAN gibi nitelenmemiş olarak tanımsız sabitlere rastlandığında PHP, bunun FAN değerli bir sabit varsayıldığını belirten bir uyarı üretecektir. İster nitelenmiş olsun ister tamamen nitelenmiş olsun tanımsız bir sabit daima ölümcül hataya sebep olur.

Örnek 10 - Tanımsız sabitler

<?php
namespace bar;
$a = FAN; // uyarı üretir - "FAN" sabit olarak tanımsız olduğundan
// bir sabit ismi değil, bir sabit değer olarak ele alınır.
$a = \FAN; // ölümcül hata, isim alanlı tanımsız sabit: FAN
$a = Fin\FAN; // ölümcül hata, isim alanlı tanımsız sabit: bar\Fin\FAN
$a = \Fin\FAN; // ölümcül hata, isim alanlı tanımsız sabit: Fin\FAN
?>

Özel NULL, TRUE, FALSE, ZEND_THREAD_SAFE ve ZEND_DEBUG_BUILD sabitleri geçersiz kılınamaz.

Bir özel, yerleşik sabiti bir isim alanlı sabit olarak tanımlamaya kalkışmak ölümcül hatayla sonuçlanır.

Örnek 11 - Tanımsız sabitler

<?php
namespace bar;
const NULL = 0; // ölümcül hata;
const true = 'ahmak'; // bu da ölümcül hata;
// etc.
?>


Sayılamalar

İçindekiler

  • Sayılamalara giriş
  • Temel Sayılamalar
  • Destekli Sayılamalar
  • Sayılama Yöntemleri
  • Statik Sayılama Yöntemleri
  • Sayılama Sabitleri
  • Nitelikler
  • Sabit ifadelerinde sayılama değerleri
  • Nesnelerden farkları
  • Değer Listeleme
  • Dizgeleştirme
  • - Sayılamalar neden genişletilemez?
  • Örnekler


Sayılamalara giriş

(PHP 8 >= 8.1.0)

Sayılamalar (veya tür adı olarak "enum") tanımlamalarda, olası değer kümelerinden biriyle sınırlanabilen özel bir veri türünü kullanabilmeyi sağlar. Bu, "geçersiz durumların devre dışı bırakılmasını" sağladığından, bir etki alanı modeli tanımlarken özellikle yararlı olabilir.

Sayılamalar çoğu yazılım dilinde çok çeşitli farklı özelliklerle yer almaktadır. PHP'de ise, enum özel bir nesne çeşididir. Kendisi bir sınıf olup içeriği kılıflar (case) bu sınıfın tekil olarak örneklenmiş nesneleridir. Yani, bir sayılama kılıfı (enum case) geçerli bir nesne olup, tür sınamaları dahil, bir nesnenin kullanılabildiği her yerde kullanılabilir.

Sayılamaların en bilinen örneği, true ve false değerlerini (ikil) sayılı tür olarak içeren yerleşik mantıksal türdür. Sayılamalar geliştiricinin kendi keyfi sayılamalarını tanımlayabilmesini sağlar.


Temel Sayılamalar

Sayılamalar sınıflara benzer ve sınıflar, arayüzler ve niteliklerle aynı isim alanını paylaşır. Ayrıca, aynı yolla otomatik yüklenebilir. Her sayılama, sınırlı ve sabit sayıda olası değer içeren yeni bir tür tanımlar.

<?php
enum Deste
{
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
}
?>

Bu bildirim Deste adında yalnız ve yalnız dört meşru değer içeren yeni bir sayılama türü oluşturur: Deste::Kupalar, Deste::Karolar, Deste::Sinekler ve Deste::Maçalar. Değişkenlere bu dört değerden biri atanabilir. Yalnızca sayılama türünde değerlerin aktarılabileceği bir işlevin türü sadece o sayılama türüne karşı tür denetimine tabi tutulabilir.

<?php
function kart_seç(Deste $deste) { ... }
$val = Deste::Karolar;
// OK
kart_seç($val);
// OK
kart_seç(Deste::Sinekler);
// Tür hatası: kart_seç(): Bağımsız değişken #1 ($deste) Deste türünde olmalıyken string türünde
kart_seç('Sinekler');
?>

Bir sayılama sıfır veya daha fazla sayıda case tanımı içerebilir ve azami bir sınır yoktur. case içermeyen sayılamalar sözdizimsel olarak geçerli olsa da yararsızdır.

Sayılama kılıflarında PHP'nın yaftalara uyguladığı sözdizimi kuralları uygulanır, daha fazla bilgi Sabitler bölümünde bulunabilir.

Öntanımlı olarak, bir case özünde bir sayıl değerle desteklenmez. Yani, Deste::Kupalar sayıl olarak "0" değerine eşit değildir. Bunun yerine, her case taşıdığı isimde tekil bir nesneyle desteklenir. Şöyle ki:

<?php
$a = Deste::Sinekler;
$b = Deste::Sinekler;
$a === $b; // true
$a instanceof Deste; // true
?>

Bu ayrıca, sayılama değerlerin birbirlerinden büyük veya küçük olamayacağı anlamına da gelir (zaten nesneler arasında böyle bir karşılaştıma anlamsızdır). Sayılama değerleri ile çalışırken bu karşılaştırmalar daima false döndürür.

Bir değer içermeyen case türüne "Desteksiz Kılıf" denir. Sadece desteksiz kılıflar içeren sayılamalara "Desteksiz Sayılama" denir.

Tüm desteksiz kılıflar içerildikleri sayılamayı gerçekleyen örneklerdir. enum türü dahili olarak bir sınıfla ifade edilir.

Tüm kılıflar birer salt-okunur özellik olup name harf büyüklüğüne duyarsız olarak kılıfın kendi ismidir.

<?php
print Deste::Sinekler->name;
// çıktısı: "Sinekler"
?>

name dinamik olarak elde edilmişse, bir enum durumunun varlığına bakmak veya okumak için defined() ve constant() işlevlerini kullanmak da mümkündür. Bununla birlikte, Destekli sayılamaların kullanımı çoğu kullanım durumunda çalışması gerektiğinden bu önerilmez.


Destekli Sayılamalar

Öntanımlı olarak sayıl kılıfların sayıl bir karşılığı yoktur. Basitçe tekil nesnelerdir. Bununla birlikte, bir sayılama kılıfının bir veritabanına veya benzer bir veri deposuna giriş-çıkış yapabilmesini gerektiren çok sayıda durum vardır, dolayısıyla, dahili olarak tanımlanmış yerleşik bir sayıl (ve dolayısıyla dizgeleştirilebilir) eşdeğerin varlığı yararlıdır.

Bir sayılamaya sayıl bir eşdeğer tanımlama sözdizimi:

<?php
enum Deste: string
{
case Kupalar = 'Ku';
case Karolar = 'Ka';
case Sinekler = 'S';
case Maçalar = 'M';
}
?>

Basitçe bir değerle "desteklenmiş" olduğundan sayıl eşdeğeri olan kılıflara "Destekli Kılıf" denir. Yalnızca destekli kılıflar içeren sayılamalara "Destekli Sayılama" denir. Destekli bir sayılama sadece destekli kılıfları içerir, desteksiz kılıf içermez. Desteksiz bir sayılama ise sadece desteksiz kılıfları içerir, destekli kılıf içermez.

Destekli bir sayılama, int veya string türünde bir değerle ama daima tek bir türdeki değerlerle desteklenebilir (yani ya hepsi int ya da hepsi string türünde olabilir). Bir sayılama sayıl bir eşdeğere sahip olarak imlenmişse, tüm kılıflarına açıkça eşsiz birer değer tanımlanmış olmalıdır. Sayıl eşdeğerler otomatik olarak üretilmeyecektir (örneğin, sıralı tamsayılar). Destekli kılıflar diğer kılıflar arasında eşsiz olmalı, aynı sayıl eşdeğere sahip birden fazla kılıf olmamalıdır. Ancak, bir takma ad oluşturmak amacıyla bir sabite atanabilir. Bkz: Sayılama Sabitleri.

Sayıl eşdeğerler sayılların kendileri olabileceği gibi sayıl ifadeleri de olabilir. Sabitler ve sabit ifadeleri desteklenmez. Yani, 1 + 1 geçerli, fakat 1 + SOME_CONST geçersizdir.

Destekli Kılıflar ayrıca salt-okunur özellikler olup, value tanımda belirtilen değerdir.

<?php
print Deste::Sinekler->value;
// Çıktısı: "S"
?>

value özelliğin salt-okunurluğunu zorlamak amacıyla bir değişkene gönderimli atanamaz. Yani, aşağıdaki örnek bir hata üretir:

<?php
$deste = Deste::Sinekler;
$ref = &$deste->value;
// hata: Deste::$value özelliğine gönderim sağlanamıyor
?>

Destekli sayılamalar dahili olarak iki ek yöntem sağlayan BackedEnum arayüzü ile gerçeklenir:

  • from(int|string): self yöntemi bir sayıl değer alır ve karşılığı olan sayılama kılıfını döndürür. Böyle bir kılıf yoksa ValueError istisnası oluşur. Girdi olarak sayıl değere güvenildiği ancak karşılığında bir sayılama değerinin olmadığı durumda uygulamayı durduracak bir hata gerekiyorsa yararlı olabilir.
  • tryFrom(int|string): ?self yöntemi bir sayıl değer alır ve karşılığı olan sayılama kılıfını döndürür. Böyle bir kılıf yoksa, yönrem null döndürür. Girdi olarak sayıl değere güvenilmediği durumda geliştirici hatayı kendi ele almak isterse veya bir öntanımlama yapmak isterse yararlı olabilir.

from() ve tryFrom() yöntemleri standart gevşek/katı kodlama kurallarını izler. Gevşek kodlama kipinde, bir tamsayı veya dizge aktarımı kabul edilebilir ve sistem değeri buna göre zorlar. Bir gerçel sayı da çalışır ve bu da zorlanır. Katı kodlama kipinde, bir dizge kılıf değeri durumunda from() yöntemine bir tamsayı (veya gerçel sayı) aktarımı (veya tersi) TypeError istisnasına yol açar. Her iki kipte, tüm diğer bağımsız değişken türleri TypeError istisnasına yol açar.

<?php
$record = get_stuff_from_database($id);
print $record['deste'];
$deste = Deste::from($record['deste']);
// Geçersiz veri ValueError yavrulatır: "X" değeri enum "Deste" için geçerli bir sayıl değer değildir
print $deste->value;
$deste = Deste::tryFrom('A') ?? Deste::Sinekler;
// Geçersiz veri null döndürür, yerine Deste::Sinekler kullanılır.
print $deste->value;
?>

from() veya tryFrom() yöntemini destekli bir sayılama üzerinde geliştirici kendi tanımlarsa sonuç ölümcül hata olur.


Sayılama Yöntemleri

Sayılamalar (destekli ve desteksiz, her ikiside) yöntemler içerebilir ve arayüzleri gerçekleyebilir. Bir sayılama, bir arayüzü gerçekliyorsa bu arayüz için her tür sınaması bu sayılamanın tüm sınıflarını kabul edecektir.

<?php
interface Renkli
{
public function renk(): string;
}
enum Deste implements Renkli
{
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
// Arayüzle anlaşmayı sağlar.
public function renk(): string
{
return match($this) {
Deste::Kupalar, Deste::Karolar => 'Kırmızı',
Deste::Sinekler, Deste::Maçalar => 'Siyah',
};
}
// bir arayüzün parçası değil; ama geçerli.
public function kesim(): string
{
return "Dörtgen";
}
}
function boya(Renkli $c) { ... }
boya(Deste::Sinekler); // çalışır
print Deste::Karolar->kesim(); // "Dörtgen"
?>

Bu örnekte, dört Deste örneğinin hepsi iki yönteme sahiptir: renk() ve kesim(). Kod çağrılır çağrılmaz tür sınamaları yapılır. Bu, diğer nesne örneklerine uygulanandan farklı değildir.

Destekli sayılamada arayüz bildirimi, desteki tür bildiriminden sonra ele alınır.

<?php
interface Renkli
{
public function renk(): string;
}
enum Deste: string implements Renkli
{
case Kupalar = 'Ku';
case Karolar = 'Ka';
case Sinekler = 'S';
case Maçalar = 'M';
// arayüzle anlaşmayı sağlar
public function renk(): string
{
return match($this) {
Deste::Kupalar, Deste::Karolar => 'Kırmızı',
Deste::Sinekler, Deste::Maçalar => 'Siyah',
};
}
}
?>

Yöntemin içindeki $this değişkeni değer olarak kılıf örneği alır.

Yöntemler keyfi olarak karmaşık olabilir, ancak uygulamada, farklı durumlara farklı sonuçlar sağlamak için genellikle statik bir değer döner veya $this ile match ifadesine eşlenir.

Bu durumda, Kırmızı ve Siyah değerleriyle bir RenkliDeste Enum türü tanımlamak ve bunun yerine onu döndürmek daha iyi bir veri modelleme uygulaması olacaktır. Ancak bu, örneği daha da karmaşıklaştıracaktır.

Yukarıdaki hiyerarşi mantıksal olarak aşağıdaki sınıf yapısına benzer (bu, çalışan asıl kod olmasa da):

<?php
interface Renkli
{
public function renk(): string;
}
final class Deste implements UnitEnum, Renkli
{
public const Kupalar = new self('Kupalar');
public const Karolar = new self('Karolar');
public const Sinekler = new self('Sinekler');
public const Maçalar = new self('Maçalar');
private function __construct(public readonly string $name) {}
public function renk(): string
{
return match($this) {
Deste::Kupalar, Deste::Karolar => 'Kırmızı',
Deste::Sinekler, Deste::Maçalar => 'Siyah',
};
}
public function kesim(): string
{
return "Dörtgen";
}
public static function cases(): array
{
// Geçersiz yöntem
// Bir Enum üzerinde cases() yöntemini geliştirici tanımlayamaz.
// "Değer listeleme" bölümüne bakınız.
}
}
?>

Yöntemler public, private veya protected olabilir, ancak uygulamada private ve protected kalıtıma izin verilmediğinden eşdeğerdir.


Statik Sayılama Yöntemleri

Sayılamaların statik yöntemleri de olabilir. Statik yöntemlerin sayılamalar üzerinde kullanımının birincil amacı kurucu oluşturmaktır. Örnek:

<?php
enum Boyut
{
case Küçük;
case Normal;
case Büyük;
public static function uzunluğaGöre(int $cm): static
{
return match(true) {
$cm < 50 => static::Küçük,
$cm < 100 => static::Normal,
default => static::Büyük,
};
}
}
?>

Statik yöntemler public, private veya protected olabilirse de kalıtıma izin verilmediğinden uygulamada private ve protected eşdeğerdir.


Sayılama Sabitleri

Sayılamalar public, private veya protected olabilen sabitler içerebilir.

Bir enum sabiti, bir kılıfa atıfta bulunabilir:

<?php
enum Boyut
{
case Küçük;
case Normal;
case Büyük;
public const Kocaman = self::Büyük;
}
?>


Nitelikler

Sayılamalar, sınıflardaki gibi davranan niteliklerden yararlanabilir. Ancak, bir sayılama içinde kullanılan niteliklerin özelliklerinin olmamasına dikkat edilmelidir; sadece yöntemler ve statik yöntemler içerebilir. Özellikleri olan bir nitelik ölümcül hata ile sonuçlanır.

<?php
interface Renkli
{
public function renk(): string;
}
trait Dörtgen
{
public function kesim(): string {
return "Dörtgen";
}
}
enum Deste implements Renkli
{
use Dörtgen;
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
public function renk(): string
{
return match($this) {
Deste::Kupalar, Deste::Karolar => 'Kırmızı',
Deste::Sinekler, Deste::Maçalar => 'Siyah',
};
}
}
?>


Sabit ifadelerinde sayılama değerleri

Kılıflar enum üzerinde sabitler olarak temsil edildiğinden, çoğu sabit ifadesinde statik değerler olarak kullanılabilir: özellik öntanımlıları, statik değişken öntanımlıları, bağımsız değişken öntanımlıları, küresel ve sınıf sabitlerinin değerleri. Ancak diğer kılıf değerlerinde kullanılamaz, sadece enum sabitleri bir kılıfa atıfta bulunabilir.

Ancak, sonuç değerinin belirleyici olduğunu veya yöntem çağrılarının yan etkilerden arınmış olduğunu kesinlikle garanti edemediğimiz için, sayılamalarda ArrayAccess gibi örtük sihirli yöntem çağrılarına statik veya sabit tanımlar içinde izin verilmez. İşlev çağrıları, yöntem çağrıları ve özellik erişimi, sabit ifadeler içinde geçersiz işlemler olarak kalmaya devam eder.

<?php
// Bu tamamen geçerli bir sayılama tanımıdır.
enum Direction implements ArrayAccess
{
case Up;
case Down;
public function offsetGet($val) { ... }
public function offsetExists($val) { ... }
public function offsetSet($val) { throw new Exception(); }
public function offsetUnset($val) { throw new Exception(); }
}
class Foo
{
// Buna izin verilir.
const Bar = Direction::Down;
// Buna izin verilmez, belirleyici olmayabilir.
const Bar = Direction::Up['short'];
// Ölümcül Hata: enum üzerinde sabit ifadesi içinde [] kullanılamaz
}
// Bu, bir sabit ifadesi olmadığından tamamen geçerlidir.
$x = Direction::Up['short'];
?>


Nesnelerden farkları

Sayılamalar, sınıflar ve nesnelerde yerleşik bulunabilirse de, nesnelerle ilgili işlevselliğin tamamını kullanamaz. Özellikle, sayılamalar durumlu olamaz.

  • Kurucular ve yıkıcılar kullanılamaz.
  • Kalıtım desteklenmez. Sayılamalar ne genişletebilir ne de genişletilebilir.
  • Statik ve nesne özelliklere izin verilmez.
  • Bir sayılamanın kopyalanması, kılıfların tekil örnekler olması gerektiğinden desteklenmez.
  • Aşağıda sıralananlar dışında kalan Sihirli yöntemlere izin verilmez.
  • Sayılamalar kullanılmadan önce bildirilmelidir.

Aşağıdaki nesne işlevselliği kullanılabilir ve diğer nesnelerdeki davranış elde edilir:

  • Public, private ve protected yöntemler.
  • Public, private ve protected static yöntemler.
  • Public, private ve protected sabitler.
  • Sayılamalar çok sayıda arayüz gerçekleyebilir.
  • Sayılamalar ve kılıfların kendilerine ekli öznitelikleri olabilir. TARGET_CLASS hedef süzgeci sayılamaların kendilerini içerir. TARGET_CLASS_CONST hedef süzgeci ise sayılama kılıflarını içerir.
  • __call, __callStatic, ve __invoke sihirli yöntemleri
  • __CLASS__ ve __FUNCTION__ sabitleri normal olarak davranır.

Bir sayılama türündeki ::class sihirli sabiti, tamamen bir nesnedeki gibi isim alanlı tür adı olarak değerlendirilir. Bir kılıf örneğindeki ::class sihirli sabiti ise, o türün tekil örneği olduğu için sayılama olarak değerlendirilir.

Ayrıca, sayılama kılıfları doğrudan new ile örneklenemediği gibi yansıtma içinde ReflectionClass::newInstanceWithoutConstructor() ile de örneklenemez.

<?php
$trefl = new Deste();
// Hata: enum Deste örneklenemez
$kör = (new ReflectionClass(Deste::class))->KurucusuzYeniÖrnek()
// Hata: enum Deste örneklenemez
?>


Değer Listeleme

Destekli ya da desteksiz, sayılamaların her ikisi de UnitEnum adlı dahili bir arayüzü gerçekler. UnitEnum arayüzü cases() statik yöntemini içerir. cases() yöntemi, bildirim sırasında tanımlanmış tüm kılıfları içeren bir dizi döndürür.

<?php
Deste::cases();
// Şunları üretir: [Deste::Kupalar, Deste::Karolar, Deste::Sinekler, Deste::Maçalar]
?>

Bir sayılamada cases() yöntemini kendiniz tanımlarsanız ölümcül bir hata alırsınız.


Dizgeleştirme

Sayılamaların dizgeleştirmesi nesnelerden farklıdır. Özellikle, kendilerine özgü bir dizgeleştirme kodu olarak sayılama kılıfı ismini belirten "E" koduna sahiptir. Nesneleştirme sırasında kod bunu mevcut tekil değeri bir değişkene atamakta kullanır. Sonuçta aşağıdaki gibi bir durumun gerçeklenmesi sağlanır:

<?php
Deste::Kupalar === unserialize(serialize(Deste::Kupalar));
print serialize(Deste::Kupalar);
// E:14:"Deste::Kupalar";
?>

Nesneleştirme sırasında bir sayılama ve kılıfın eşleşeceği dizgeleştirilmiş bir değer yoksa bir uyarı çıktılayıp false döndürülür.

Desteksiz bir sayılamayı JSON'a dizgeleştirme bir hataya yol açar. Destekli bir sayılamayı JSON'a dizgeleştirme ise uygun türdeki sayıl değeri ile gösterilir. Her iki davranış JsonSerializable gerçeklenerek geçersiz kılınabilir.

print_r() için, sayılama kılıfı çıktısı, karışıklığı azaltmak için nesnelerdekinden oldukça farklıdır.

<?php
enum Foo {
case Bar;
}
enum Baz: int {
case Beep = 5;
}
print_r(Foo::Bar);
print_r(Baz::Beep);
/* Çıktısı:
Foo Enum (
[name] => Bar
)
Baz Enum:int {
[name] => Beep
[value] => 5
}
*/
?>


- Sayılamalar neden genişletilemez?

Sınıfların yöntemleri üzerinde sözleşmeleri vardır:

<?php

class A {}
class B extends A {}

function foo(A $a) {}

function bar(B $b) {
foo($b);
}
?>

Bu kod tür açısından güvenlidir, çünkü B, A'nın sözleşmesini takip eder ve az/çok-özgüllüğün büyüsü aracılığıyla, istisnalar dışında, yöntemlerden beklentiler korunur.

Sayılamalar yöntemlerle değil kılıflarla yönetilir:

<?php
enum ErrorCode {
case SOMETHING_BROKE;
}

function quux(ErrorCode $errorCode)
{
// Bu kod tüm kılıfları kapsıyor gibi görünüyor
match ($errorCode) {
ErrorCode::SOMETHING_BROKE => true,
}
}

?>

quux işlevindeki match deyimi, ErrorCode sayılamasındaki tüm kılıfları kapsayacak şekilde statik olarak incelenebilir.

Ancak, sayılamaların genişletilmesine izin verildiği varsayılırsa:

<?php
// Sayılamaların değişmez olmadığı deneysel kod.
// Dikkat, bu kod aslında PHP'de çalışmaz.
enum MoreErrorCode extends ErrorCode {
case PEBKAC;
}

function fot(MoreErrorCode $errorCode) {
quux($errorCode);
}

fot(MoreErrorCode::PEBKAC);

?>

Normal kalıtım kurallarına göre, diğerini genişleten bir sınıf tür denetimini geçecektir.

quux() içindeki match deyiminin artık tüm kılıfları kapsamaması sorun olur. MoreErrorCode::PEBKAC hakkında bilgisi olmadığı için match deyimi bir istisna oluşturur.

Bu nedenle sayılamalar değişmezdir ve genişletilemez.


Örnekler

Örnek 1 - Basit sınırlı değerler

<?php
enum Sırala
{
case Art;
case Azal;
}
function sorgu($alanlar, $süzgeç, Sırala $sırala = Sırala::Art) { ... }
?>

sorgu() işlevi, $sırala'nın Sırala::Art veya Sırala::Azal olduğunun garanti edildiği bilgisiyle artık güvenli bir şekilde ilerleyebilir. Başka herhangi bir değer TypeError ile sonuçlanırdı, bu nedenle daha fazla hata denetimi veya sınaması yapmak gerekmez.

Örnek 2 - Daha ileri özel değerler

<?php
enum UserStatus: string
{
case Pending = 'B';
case Active = 'E';
case Suspended = 'A';
case CanceledByUser = 'V';
public function yafta(): string
{
return match($this) {
static::Pending => 'Beklemede',
static::Active => 'Etkin',
static::Suspended => 'Askıda',
static::CanceledByUser => 'Kullanıcı Vazgeçti',
};
}
}
?>

Bu örnekte kullanıcının durumu, özellikle şu durumlardan biri olabilir: UserStatus::Pending, UserStatus::Active, UserStatus::Suspended veya UserStatus::CanceledByUser. UserStatus türünde bağımsız değişken içeren bir işlev sadece bu dört değerden birini kabul edebilir.

Dört değer için, insan okuyabilir dizge döndüren yafta() yöntemi kullanılmıştır. Bu dizge, bir veritabanı alanında veya HTML seçim kutusunda kullanılabilen "makine adı" sayıl eşdeğeri olan dizgeden farklı ve bağımsızdır.

<?php
foreach (UserStatus::cases() as $case) {
printf('<option value="%s">%s</option>\n', $case->value, $case->yafta());
}
?>


Hatalar

İçindekiler

  • Temeller
  • PHP 7'de hatalar

Giriş

Ne yazık ki, kodumuzu yazarken ne kadar dikkatli olursak olalım, hatalar hayatın bir gerçeğidir. PHP birçok ortak kodlama ve çalışma zamanı sorunu için hatalar, uyarılar ve bildirimler çıktılar. Bu hataların nasıl algılandığını ve işlendiğini bilmek hata ayıklama işlemini daha kolay hale getirir.


Temeller

PHP, hataları bir takım iç hata koşuluna karşılık olarak raporlar. Bu hatalar, farklı koşullarda bir işaretçi olarak kullanılabilir ve ihtiyaca göre gösterilip / günlüklenebilir.

PHP tarafından oluşturulan her hata bir türe sahiptir. Bu hata türlerinin bir listesi, hangi durumlarda karşılaşılacağı ve davranışın kısa bir açıklaması ile birlikte mevcuttur.

PHP ile hata işlemek

Eğer hiçbir hata işleyici belirlenmemişse, PHP hataları yapılandırmasına bağlı olarak işleyecektir. Hangi hataların raporlandığı ve hangilerinin gözardı edildiği error_reporting adlı php.ini yönergesi ile kontrol edilir ya da işleyiş sürecinde error_reporting() işlevi çağırılır. Bununla birlikte, bazı hatalar betiğiniz çalıştırılmaya başlanmadan meydana gelebildiğinden, yapılandırma yönergelerinin ayarlanması şiddetle tavsiye edilir.

Bir geliştirme ortamında, PHP tarafından üretilen sorunları fark etmeniz ve çözmeniz gerektiğinden, error_reporting yönergesini daima E_ALL olarak yapılandırmalısınız. Üretimde ise hata seviyelerini, E_ALL & ~E_NOTICE & ~E_DEPRECATED gibi daha ayrıntılı ayarlamak isteyebilirsiniz. Ancak bir çok durumda olası sorunlar hakkında erken uyarı sağlayabileceği için E_ALL daha uygundur.

PHP'nin bu hatalarla ne yapacağı az sonra değineceğimiz iki php.ini yönergesine bağlıdır. display_errors hatanın betik çıktısının bir parçası olarak gösterilip gösterilmeyeceğini denetler. Hata veritabanı parolaları gibi hassas bilgiler içerebileceğinden, üretim ortamında bu ayar her zaman etkisiz kılınmış olmalıdır. Ancak geliştirme ortamında, hataların anında raporlandığından emin olabilmek için etkin hale getirmek çoğu zaman kullanışlı olacaktır.

Hataların gösterilmesine ek olarak, PHP log_errors yönergesi etkinleştirildiğinde hataları günlükleyebilir. Bu tüm hataları error_log ile belirlenen bir dosyaya ya da sistem raporlama aracına günlükleyecektir. Hataları günlükleyebildiğiniz ve daha sonra bu hataları temel alarak raporlama yapabileceğiniz için bu yönerge üretim ortamlarında ziyadesiyle kullanışlı olabilir.

Kullanıcı hata işleyiciler

Eğer PHP'nin öntanımlı hata işleyicileri yetersizse, bir çok hata türünü kendi hata işleyicilerinizle set_error_handler() yönergesini kurarak işleyebilirsiniz. Bazı hata türleri bu şekilde işlenemese de, işlenebilen hatalar betiğinizin uygun gördüğü şekilde işlenebilecektir. Örneğin, bu özelleştirilmiş bir hata sayfasının kullanıcıya gösterilmesi ve daha sonra ayrıntılı bilginin e-posta aracılığı ile günlüklenmesi olabilir.


PHP 7'de hatalar

PHP 7'de hataların PHP tarafından bildirilişi değişmiştir. PHP5'te kullanılan geleneksel hata bildirme mekanizması üzerinden bildirmek yerine hataların çoğu Error istisnası yavrulanarak bildirilir.

Normal istisnalardaki gibi bu Error istisnaları da catch bloğuyla ilk eşleşmeye kadar kaynamaya devam eder. Eşleşecek blok yoksa, set_exception_handler() ile kurulmuş öntanımlı işleyicilerden herhangi biri çağrılır, öntanımlı bir istisna işleyicisi yoksa istisna ölümcül hataya dönüştürülüp geleneksel bir hata gibi işlem görür.

Error hiyerarşisi Exception sınıfından miras almadığından, PHP 5'te yakalanmayan istisnaları işleyecek catch (Exception $e) { ... } bloklarını kullanan kod, bu hataların (Error) bu bloklarca yakalanmadığını bulacaktır. Ya bir catch (Error $e) { ... } bloğu ya da bir set_exception_handler() işleyicisi gerekir.

Error hiyerarşisi

  • Throwable
    • Error
      • ArithmeticError
        • DivisionByZeroError
      • AssertionError
      • CompileError
        • ParseError
      • TypeError
        • ArgumentCountError
      • ValueError
      • UnhandledMatchError
      • FiberError
    • Exception
      • ...


İstisnalar

İçindekiler

  • İstisnaları Genişletmek

PHP diğer programlama dillerindekine benzer bir istisna modeline sahiptir. Bir istisna oluşturulabilir (throw) ve yakalanabilir (catch). Olası istisnaların yakalanabilmesi için, kod bir try bloğu içine alınabilir. Her try bloğuna karşılık en az bir tane catch veya finally bloğu olması gerekir.

Bir istisna oluşturulursa ve geçerli işlev bağlamında catch bloğu yoksa, istisna, eşleşen bir catch bloğu bulana kadar çağrı yığıtını çağıran işleve "kabarcıklandırır". Yol boyunca karşılaşılan tüm finally blokları çalıştırılır. Eğer çağrı yığıtı, eşleşen bir catch bloğu bulamadan küresel bağlama kadar boşalırsa ve bir küresel istisna işleyici de atanmamışsa, ölümcül hata vererek sonlanır.

Oluşturulan nesne ya bir Throwable örneği olmalıdır. Bunu sağlamayan bir nesne oluşturmaya çalışmak (throw) ölümcül bir PHP hatasına yol açmaz.

PHP 8.0.0 ve sonrasında, throw sözcüğü bir ifade olup herhangi bir ifadenin içinde kullanılabilir. Önceki sürümlerde bir deyimdi ve kendi satırına sahip olması gerekiyordu.

catch

Bir catch bloğu oluşturulan bir istisnaya nasıl yanıt verileceğini tanımlar. Bir catch bloğu işleyebileceği bir veya daha fazla istisna veya hata türünü ve isteğe bağlı olarak istisnanın atanacağı değişkeni tanımlar. (PHP 8.0.0 öncesinde değişken gerekliydi.) İlk catch bloğu, nesneyi işleyecek throw nesnesinin türüyle eşleşen bir hata veya istisnayla karşılaştığında bunları engelleyecektir.

Farklı sınıflara ait istisnaları yakalamak için birden fazla catch bloğu kullanılabilir. Normal çalışma sıradaki son catch bloğundan sonra devam eder. Buradaki normal çalışma (try bloğu içinde hiçbir istisna oluşmadığında) sıradaki tanımlanmış son catch bloğundan sora devam eder. İstisnalar bir catch bloğu içerisinde oluşmuş olabileceği gibi yeniden de oluşabilir (throw). Aksi takdirde, çalışma, tetiklenen catch bloğundan sonra devam eder.

Bir istisna oluştuğunda, istisnanın oluştuğu yerden sonraki kodlar çalıştırılmaz ve PHP oluşan istisna ile uyuşan ilk catch bloğunu bulmaya çalışır. Bir istisnanın yakalanmaması durumunda, set_exception_handler() işlevi ile evvelce bir istisna eylemcisi tanımlanmamışsa, PHP bir ölümcül hata durumu oluşturur ve bir "Uncaught Exception ..." ("Yakalanmamış istisna ...") iletisi çıktılar.

PHP 7.1.0 ve sonrasında, boru (|) karakteri kullanarak bir catch bloğunda çok sayıda istisna belirtilebilir. Farklı sınıf hiyerarşilerindeki farklı istisnalar aynı şekilde elde edildiğinde kullanışlıdır.

PHP 8.0.0 ve sonrasında, değişken ismi yakalama istisnası için isteğe bağlıdır. Belirtilmezse, catch bloğu çalışmaya yine de devam eder fakat istisnayı oluşturacak nesneye erişemez.

finally

catch bloklarının yerine veya sonrasında bir finally bloğu da belirtilebilir. Bir istisnanın oluşmamışsa bile ve normal çalışmaya dönülmeden önce finally bloğu içindeki kodlar daima try ve catch bloklarından sonra çalıştırılır.

Dikkate değer tek etkileşim, finally bloğu ile return deyimi arasında olur. try veya catch bloklarının içinde bir return deyimine rastlansa bile finally bloğu çalışmasına devam edeceği gibi, return deyimi de çalıştırılır fakat finally bloğu işini bitirdikten sonra sonuç döndürülür. Ek olarak, finally bloğu da bir return içeriyorsa finally bloğundaki değer döndürülür.

Küresel istisna işleyici

Eğer bir istisnanın küresel bağlama kadar kabarcıklanmasına izin verilirse, atandığı takdirde bir küresel istisna işleyici tarafından yakalanabilir. Başka bir blok çalıştırılmazsa bir catch bloğu yerine çağrılmak üzere bir işlev set_exception_handler() işlevi ile atanabilir. Etkisi esasen, tüm programın, catch olarak bu işleve sahip bir try- catch bloğu ile sarmalanmasıyla aynıdır.

Notlar

Bilginize:

Yerleşik PHP işlevleri aslında hata raporlama yapmakta, istisnaları sadece nesne yönelimli güncel eklentiler kullanmaktadır. Bununla birlikte hatalar ErrorException ile kolayca istisnalara dönüştürülebilir. Bununla birlikte, bu teknik sadece ölümcül hatalarda çalışır.

Örnek 1 - Hata raporlamayı istisnalara dönüştürme örneği

<?php
function exceptions_error_handler($severity, $message, $filename, $lineno) {
throw new ErrorException($message, 0, $severity, $filename, $lineno);
}

set_error_handler('exceptions_error_handler');
?>

İpucu

Standard PHP Kütüphanesi (SPL) bol bol yerleşik istisna içerir.

Örnekler

Örnek 2 - Bir İstisna Oluşturmak

<?php
function inverse($x) {
if (!$x) {
throw new Exception('Sıfıra bölme.');
}
else return 1/$x;
}

try {
echo inverse(5) . "\n";
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'Yakalanan olağandışılık: ', $e->getMessage(), "\n";
}

// Çalışma sürer
echo 'Merhaba Dünya';
?>

Yukarıdaki örneğin çıktısı:

0.2
Yakalanan olağandışılık: Sıfıra bölme.
Merhaba Dünya

Örnek 3 - Bir finally bloğu ile istisnanın işleme sokulması

<?php
function inverse($x) {
if (!$x) {
throw new Exception('Sıfıra bölme.');
}
return 1/$x;
}

try {
echo inverse(5) . "\n";
} catch (Exception $e) {
echo 'İstisna yakalandı: ', $e->getMessage(), "\n";
} finally {
echo "İlk finally bloğu.\n";
}

try {
echo inverse(0) . "\n";
} catch (Exception $e) {
echo 'İstisna yakalandı: ', $e->getMessage(), "\n";
} finally {
echo "İkinci finally bloğu.\n";
}

// İcra sürer
echo "Merhaba Dünya\n";
?>

Yukarıdaki örneğin çıktısı:

0.2
İlk finally bloğu.
İstisna yakalandı: Sıfıra bölme..
İkinci finally bloğu.
Merhaba Dünya

Örnek 4 - finally bloğu ile return arasındaki etkileşim örneği

<?php

function test() {
try {
throw new Exception('foo');
} catch (Exception $e) {
return 'catch';
} finally {
return 'finally';
}
}

echo test();
?>

Yukarıdaki örneğin çıktısı:

finally

Örnek 5 - İç içe istisnalar

<?php

class MyException extends Exception { }

class Test {
public function testing() {
try {
try {
throw new MyException('foo!');
} catch (MyException $e) {
/* yeniden yakala */
throw $e;
}
} catch (Exception $e) {
var_dump($e->getMessage());
}
}
}

$foo = new Test;
$foo->testing();

?>

Yukarıdaki örneğin çıktısı:

string(4) "foo!"

Örnek 6 Çoklu catch istisna eldesi

<?php

class MyException extends Exception { }

class MyOtherException extends Exception { }

class Test {
public function testing() {
try {
throw new MyException();
} catch (MyException | MyOtherException $e) {
var_dump(get_class($e));
}
}
}

$foo = new Test;
$foo->testing();

?>

Yukarıdaki örneğin çıktısı:

string(11) "MyException"

Örnek 7 - Yakalama değişkeninin olmayışı

Sadece PHP 8.0.0 ve sonrası için geçerlidir.

<?php

class Özelİstisna extends Exception {}

function test() {
throw new Özelİstisna('Oopsie');
}

try {
test();
} catch (Özelİstisna) {
print "Bir Özelİstisna oluştu, fakat ayrıntılar önemsiz.";
}
?>

Örnek 8 - Bir ifade olarak throw

Sadece PHP 8.0.0 ve sonrası için geçerlidir.

<?php

function test() {
do_something_risky() or throw new Exception('Çalışmadı...');
}

try {
test();
} catch (Exception $e) {
print $e->getMessage();
}
?>


İstisnaları Genişletmek

Yerleşik Exception sınıfını genişleten kullanıcı tanımlı bir istisna sınıfı tanımlanabilir. Aşağıdaki üyeler ve özellikler, yerleşik Exception sınıfından türetilen alt sınıf içerisinde nelerin erişilebilir olduğunu göstermektedir.

Örnek 1 - Yerleşik Exception sınıfı

<?php
class Exception implements Throwable
{
protected $message = 'Bilinmeyen istisna'; // istisna iletisi
private $string; // __toString önbelleği
protected $code = 0; // kullanıcı tanımlı istisna kodu
protected $file; // istisnanın kaynak dosyası
protected $line; // istisnanın kaynak dosyasındaki satırı
private $trace; // geriye doğru hata izleme
private $previous; // istisnalar iç içe ise önceki istisna

public function __construct($message = '', $code = 0,
Throwable $previous = null);

final private function __clone(); // İstisna kopyalamayı engeller
final public function getMessage(); // istisna iletisi
final public function getCode(); // istisnanın kodu
final public function getFile(); // kaynak dosya
final public function getLine(); // kaynak dosya satırı
final public function getTrace(); // backtrace() dizisi
final public function getTraceAsString(); // biçemli hata izleme dizgesi
final public function getPrevious(); // önceki istisna

// Geçersiz kılınabilir //
public function __toString(); // görüntüleme için biçemlenmiş dizge
}
?>

Bir sınıf yerleşik Exception sınıfını genişletiyor ve nesne kurucuyu yeniden tanımlıyorsa, mevcut tüm verinin düzgün biçimde atandığından emin olmak için parent::__construct() işlevinin de çağrılması hararetle önerilir. Nesne bir karakter dizisi olarak sunulduğunda özelleştirilmiş bir çıktı sağlayabilmek için __toString() yöntemi geçersiz kılınabilir.

Bilginize:

İstisnaların kopyaları yapılamaz. Bir istisnanın kopyasını yapmaya çalışmak ölümcül hatayla (E_FATAL seviyesinden bir hata) ile sonuçlanır.

Örnek 2 - Exception sınıfının genişletilmesi

<?php
/**
* Özelleştirilmiş bir istisna sınıfı tanımlayalım
*/
class MyException extends Exception
{
// İstisnayı yeniden tanımlayalım, böylece ileti seçimlik olmaktan çıkar
public function __construct($message, $code = 0,
Throwable $previous = null) {
// biraz kod

// her şeyin düzgün atandığından emin olalım
parent::__construct($message, $code, $previous);
}

// nesnenin özelleştirilmiş karakter dizisi gösterimi
public function __toString() {
return __CLASS__ . ": [{$this->code}]: {$this->message}\n";
}

public function customFunction() {
echo "Bu türdeki istisnalar için özelleştirilmiş işlev\n";
}
}

/**
* İstisnayı denemek için bir sınıf oluşturalım
*/
class TestException
{
public $var;

const THROW_NONE = 0;
const THROW_CUSTOM = 1;
const THROW_DEFAULT = 2;

function __construct($avalue = self::THROW_NONE) {

switch ($avalue) {
case self::THROW_CUSTOM:
// özelleştirilmiş istisna oluştur
throw new MyException('1 geçersiz bir bağımsız değişkendir', 5);
break;

case self::THROW_DEFAULT:
// öntanımlı olarak bir oluşturulur.
throw new Exception('2 geçerli bir bağımsız değişken değildir', 6);
break;

default:
// İstisna yok; nesne oluşturulacak.
$this->var = $avalue;
break;
}
}
}

// Örnek 1
try {
$o = new TestException(TestException::THROW_CUSTOM);
} catch (MyException $e) { // Yakalanacaktır
echo "Benim istisnam yakalandı\n", $e;
$e->customFunction();
} catch (Exception $e) { // Bu atlanır
echo "Öntanımlı istisna yakalandı\n", $e;
}

// Çalışmaya devam et
var_dump($o); // Null
echo "\n\n";

// Örnek 2
try {
$o = new TestException(TestException::THROW_DEFAULT);
} catch (MyException $e) { // Bu tür ile uyuşmuyor
echo "Benim istisnam yakalandı\n", $e;
$e->customFunction();
} catch (Exception $e) { // Bu yakalanacaktır
echo "Öntanımlı istisna yakalandı\n", $e;
}

// Çalışmaya devam et
var_dump($o); // Null
echo "\n\n";

// Örnek 3
try {
$o = new TestException(TestException::THROW_CUSTOM);
} catch (Exception $e) { // Yakalanacaktır
echo "Öntanımlı İstisna yakalandı\n", $e;
}

// Çalışmaya devam et
var_dump($o); // Null
echo "\n\n";

// Örnek 4
try {
$o = new TestException();
} catch (Exception $e) { // Bu atlandır; istisna yok
echo "Öntanımlı İstisna yakalandı\n", $e;
}

// Çalışmaya devam et
var_dump($o); // TestException
echo "\n\n";
?>


Fiberler

Fiberlere giriş

(PHP 8 >= 8.1.0)

Fiberler, tamamen yığıtlanabilen ve yürütmeyi kesintiye uğratılabilen işlevlerdir. Fiberin çağrı yığıtının herhangi bir yerinde askıya alınmasıyla yürütmenin bekletilmesi ve daha sonra fiberin yürütmeyi kaldığı yerden devam ettirmesi sağlanabilir.

Fiberler icra yığıtınını tamamını bekletebilir, böylece işlevin davranışını değiştirmek için işlevin doğrudan çağrılması gerekmez.

Fiber::suspend() çağrısı ile çağrı yığıtının herhangi bir yerinde yürütme kesintiye uğratılabilir (yani, Fiber::suspend() oldukça iç içe çağrıların derinlerinde yer alabileceği gibi hiçbir yerde de var olmayabilir).

Yığıtsız üreteçlerin (Generator) tersine, her Fiber sınıfının kendi çağrı yığıtı vardır. Böylece, oldukça iç içe işlev çağrılarında bile bekletme sağlanabilmektedir. Bir kesinti noktası belirten bir işlev (yani, Fiber::suspend() çağrısı), Fiber::suspend() dönüş türünün değiştirilmemesini gerektirir (bir Generator örneğinden dönen yield deyimini kullanan bir işlevin tersine).

Fiberler PHP VM içinden çağrılanlar dahil, array_map() işlevine sağlanan işlevler veya Iterator nesnesi üzerinde foreach ile çağrılan yöntemler gibi, herhangi bir işlev çağrısını askıya alabilir.

Bir kere askıya alınınca, Fiber::resume() işlevi herhangi bir değerle çağrılarak veya Fiber::throw() kullanarak fiber içinde bir istisna yavrulatarak, fiber yürütmesi kaldığı yerden devam ettirilebilir. Değer, Fiber::suspend() yönteminden veya yavrulanan istisnadan döndürülür.

Bilginize: Geçerli sınırlamalar nedeniyle, bir nesnenin yıkıcısında fiberler arasında seçim yapmak mümkün değildir.

Örnek 1 - Temel kullanım örneği

<?php
$fiber = new Fiber(function (): void {
$value = Fiber::suspend('fiber');
echo "Fiberi devam ettirmekte kullanılan değer: ", $value, PHP_EOL;
});
$value = $fiber->start();
echo "Fiber askıya alındığındaki değer: ", $value, PHP_EOL;
$fiber->resume('test');
?>

Yukarıdaki örneğin çıktısı:

Fiber askıya alınırken kullanılan değer: fiber
Fiberi devam ettirmekte kullanılan değer: test


Üreteçler

İçindekiler

  • Üreteçlere giriş
  • Generator sözdizimi
  • Üreteçlerin Iterator nesneleriyle karşılaştırılması


Üreteçlere giriş

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Üreteçler, Iterator arayüzünü gerçekleyen bir sınıfı gerçeklemenin karmaşıklığı ve giderleri olmaksızın basit yineleyicileri gerçeklemek için kolay bir yol sağlar.

Bir üreteç, önemli miktarda işlem süresi gerektirmeden ve bellek sınırını aşabilecek bir dizi oluşturmaya gerek kalmadan bir dizi veriyi yinelemek için foreach kullanan bir kod yazmanızı sağlar. Bunun için bir üreteç işlevini normal bir işlev yazar gibi yazabilirsiniz, siz bir kez değer döndürmeyi, beklerken bir üreteç üzerinde yinelenecek değerleri sağlamak için gerektiği kadar çok kez değer döndürebilir.

Buna basit bir örnek range() işlevini bir üreteç olarak tekrar gerçeklemektir. Standard range() işlevi her değeri ve onun dönen değerini içeren devasa boyutlara ulaşabilen bir dizi üretmek zorundadır. Örneğin, range(0, 1000000) çağrısı 100MB üzerinde bellek kullanımıyla sonuçlanabilir.

Bir seçenek olarak, bir xrange() üreteci gerçekleyebiliriz, tek ihtiyacımız bir Iterator nesnesi oluşturmaya yetecek bellek ayırmak ve 1 kilobayttan azıyla dönmesi için üretecin dahili durumunu izlemektir.

Örnek 1 - range() işlevini bir üreteç olarak gerçeklemek

<?php
function xrange($start, $limit, $step = 1) {
if if ($start <= $limit) {
if ($step <= 0) {
throw new LogicException('Step must be positive');
}

for ($i = $start; $i <= $limit; $i += $step) {
yield $i;
}
} else {
if ($step >= 0) {
throw new LogicException('Step must be negative');
}

for ($i = $start; $i >= $limit; $i += $step) {
yield $i;
}
}
}

/*
* range() ve xrange() işlevlerinin ikisi de aşağıda
* benzer çıktıyı verecektir.
*/

echo 'range() içindeki bir haneli tek sayılar: ';
foreach (range(1, 9, 2) as $number) {
echo "$number ";
}
echo "\n";

echo 'xrange() içindeki bir haneli tek sayılar: ';
foreach (xrange(1, 9, 2) as $number) {
echo "$number ";
}
?>

Yukarıdaki örneğin çıktısı:

range() içindeki bir haneli tek sayılar: 1 3 5 7 9
xrange() içindeki bir haneli tek sayılar: 1 3 5 7 9

Generator nesneleri

Bir üreteç işlevi çağrıldığında dahili Generator sınıfının yeni bir nesnesi döner. Bu nesne Iterator arayüzünü gerçekler. Bu, sadece ileri doğru yineleme yapan bir yineleme nesnesinin yaptığını yapacak ve değer gönderme ve döndürme dahil, üretecin durumunu da değiştirmeye yarayacak çağırılabilir yöntemler sağlayacaktır.


Generator sözdizimi

Bir üreteç işlevi, normal bir işlev gibi görünür fakat bir üreteç tek bir değer döndürmek yerine ihtiyaç duyulduğu kadar çok değer üretir (yield). yield içeren her işlev bir üreteç işlevidir.

Bir üreteç işlevi çağrıldığında üzerinde yineleme yapılabilecek bir nesne döndürür. Bu nesne üzerinde yineleme yaptığınızda (örneğin foreach ile), PHP bir değere her ihtiyaç duyuşunda nesnenin yineleme yöntemlerini çağırır ve üreteç bir değer ürettiğinde üretecin durumunu kaydeder, böylece yeni bir değere her ihtiyaç duyuluşunda üreteç kaldığı yerden devam edebilir.

Üretilecek değer kalmadığında, üreteç basitçe çıkar ve adeta bir dizi değerlerini tüketmiş gibi kod çağrılmaya devam eder.

Bilginize:

Bir üreteç değer döndürebilir ve Generator::getReturn() kullanılarak alınabilir.

yield sözcüğü

Üreteç işlevinin kalbi yield sözcüğüdür. En basit halinde, bir yield deyimi çoğunlukla bir return deyimi gibi görünür. İşlevin çalışmasını durdurmak ve değer döndürmek yerine, yield, üreteç üzerindeki kod döngüsüne bir değer verir ve üreteç işlevini bekletir.

Örnek 1 - Basit bir yield örneği

<?php
function gen_one_to_three() {
for ($i = 1; $i <= 3; $i++) {
// yield'ler arasında $i korunur.
yield $i;
}
}

$generator = gen_one_to_three();
foreach ($generator as $value) {
echo "$value\n";
}
?>

Yukarıdaki örneğin çıktısı:

1
2
3

Bilginize:

Dahili olarak, ilişkisel olmayan dizilerdeki gibi sıralı tamsayı anahtarlar üretilen (yield) değerlerle çiftler oluşturur.

Değerleri anahtarlarla üretmek

PHP ilişkisel dizileri de destekler ve üreteçlerin bir farkı yoktur. Basit değerlerin üretilmesinin yanında, yukarıda gösterildiği gibi, aynı anda bir anahtar da üretebilirsiniz.

Bir anahtar/değer çifti üretmenin (yielding) sözdizimi, aşağıda gösterildiği gibi, bir ilişkisel dizi tanımlamada kullanılan sözdizimine çok benzer.

Örnek 2 - Bir anahtar/değer çifti üretimi

<?php
/*
* girdi noktalı virgülle ayrılmış alanlardır,
* ilk alan anahtar olarak kullanılacak ID'dir
*/

$input = <<<'EOF'
1;PHP;Dolar imlerini sever
2;Python;Boşlukları sever
3;Ruby;Blokları sever
EOF;

function input_parser($input) {
foreach (explode("\n", $input) as $line) {
$fields = explode(';', $line);
$id = array_shift($fields);

yield $id => $fields;
}
}

foreach (input_parser($input) as $id => $fields) {
echo "$id:\n";
echo " $fields[0]\n";
echo " $fields[1]\n";
}
?>

Yukarıdaki örneğin çıktısı:

1:
    PHP
    Dolar imlerini sever
2:
    Python
    Boşlukları sever
3:
    Ruby
    Blokları sever

null değerlerin üretini

Yield deyimini bağımsız değişkensiz kullanmak null değerinin otomatik bir anahtarla birlikte üretilmesini sağlar.

Örnek 3 - null üretmek

<?php
function gen_three_nulls() {
foreach (range(1, 3) as $i) {
yield;
}
}

var_dump(iterator_to_array(gen_three_nulls()));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  NULL
  [1]=>
  NULL
  [2]=>
  NULL
}

Başvuruya göre üretim

Üreteç işlevleri üretimi, değerlerle yapabildiği gibi başvurularla da yapabilir. Bu, işlev isminin önüne bir '&' imi yerleştirip işlevlerden başvurları döndürerek yapılabilir:

Örnek 4 - Değerleri başvuruya göre üretmek

<?php
function &gen_reference() {
$value = 3;

while ($value > 0) {
yield $value;
}
}

/*
* $number döngü içinde değiştirilebilir,
* üreteç başvuruları ürettiğinden,
* gen_reference() içindeki $value değişir.
*/
foreach (gen_reference() as &$number) {
echo (--$number).'... ';
}
?>

Yukarıdaki örneğin çıktısı:

2... 1... 0...

yield from üzerinden üreteç ihalesi

Üreteç ihalesi, değerlerin başka bir üreteçte, Traversable nesnesinden veya yield from anahtar sözcüğü kullanılarak bir diziden üretilmesini sağlar. Dış üreteç tüm değerleri iç üreteç, nesne veya diziden geçerliliğini yitirene kadar ürettikten sonra üretime dış üreteçte devam edecektir.

Bir üreteç yield from ile kullanılırsa, yield from ifadesi ayrıca, iç üreteçten döndürülen değerleri de döndürecektir.

Dikkat

Bir dizide saklama (örn, iterator_to_array() ile)

yield from anahtarları sıfırlamaz, Traversable nesnesinden veya diziden döndürülen anahtarları korur. Böylece, bazı değerler başka bir yield veya yield from ile ortaklaşılan bir anahtarla paylaşılır (bir diziye değer girilmesiyle, anahtar ilk değerlerin üzerine yazılmasına sebep olur).

Bu konuda alışılmış durum, iterator_to_array() işlevinin öntanımlı olarak bir anahtarlı dizi döndürmesidir (muhtemelen beklenmedik sonuçlara yol açarak). iterator_to_array() ikinci bir bağımsız değişkene sahiptir: Generator tarafından döndürülen anahtarları yoksayarken tüm değerleri toplamak için false atanabilen preserve_keys bağımsız değişkeni.

Örnek 5 - iterator_to_array() ile yield from

<?php
function inner() {
yield 1; // key 0
yield 2; // key 1
yield 3; // key 2
}
function gen() {
yield 0; // key 0
yield from inner(); // keys 0-2
yield 4; // key 1
}
// [0, 1, 2, 3, 4] dizisini almak için ikinci bağımsız değişkene false aktaralım
var_dump(iterator_to_array(gen()));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(4)
  [2]=>
  int(3)
}

Örnek 6 - yield from için temel kullanım

<?php
function count_to_ten() {
yield 1;
yield 2;
yield from [3, 4];
yield from new ArrayIterator([5, 6]);
yield from seven_eight();
yield 9;
yield 10;
}

function seven_eight() {
yield 7;
yield from eight();
}

function eight() {
yield 8;
}

foreach (count_to_ten() as $num) {
echo "$num ";
}
?>

Yukarıdaki örneğin çıktısı:

1 2 3 4 5 6 7 8 9 10

Örnek 7 - yield from ve dönen değerler

<?php
function count_to_ten() {
yield 1;
yield 2;
yield from [3, 4];
yield from new ArrayIterator([5, 6]);
yield from seven_eight();
return yield from nine_ten();
}

function seven_eight() {
yield 7;
yield from eight();
}

function eight() {
yield 8;
}

function nine_ten() {
yield 9;
return 10;
}

$gen = count_to_ten();
foreach ($gen as $num) {
echo "$num ";
}
echo $gen->getReturn();
?>

Yukarıdaki örneğin çıktısı:

1 2 3 4 5 6 7 8 9 10


Üreteçlerin Iterator nesneleriyle karşılaştırılması

Üreteçlerin başlıca getirisi basitlikleridir. Iterator sınıfının gerçeklenmesine kıyasla çok daha az kod yazılır ve kod genelde çok daha okunabilirdir. Örneğin aşağıdaki işlev ve sınıf eşdeğerdir:

<?php
function getLinesFromFile($fileName) {
if (!$fileHandle = fopen($fileName, 'r')) {
return;
}

while (false !== $line = fgets($fileHandle)) {
yield $line;
}

fclose($fileHandle);
}

// versus...

class LineIterator implements Iterator {
protected $fileHandle;

protected $line;
protected $i;

public function __construct($fileName) {
if (!$this->fileHandle = fopen($fileName, 'r')) {
throw new RuntimeException('Couldn\'t open file "' . $fileName . '"');
}
}

public function rewind() {
fseek($this->fileHandle, 0);
$this->line = fgets($this->fileHandle);
$this->i = 0;
}

public function valid() {
return false !== $this->line;
}

public function current() {
return $this->line;
}

public function key() {
return $this->i;
}

public function next() {
if (false !== $this->line) {
$this->line = fgets($this->fileHandle);
$this->i++;
}
}

public function __destruct() {
fclose($this->fileHandle);
}
}
?>

Bu esnekliğin bir bedeli vardır, üreteçler sadece ileri sayan yineleyiciler olduklarından yineleme bir kere başladı mı bir daha başa sarılamazlar. Bunun bir diğer anlamı, aynı üretecin tekrar tekrar kullanılamamasıdır; üreteç işlevi tekrar çağrılarak üretecin yeniden oluşturulması gerekir.

Ayrıca Bakınız

  • Nesne Yineleme


Öznitelikler

İçindekiler

  • Özniteliklere giriş
  • Öznitelik Sözdizimi
  • Özniteliklerin Yansıtma Arayüzü ile Okunması
  • Öznitelik Sınıflarının Bildirimi


Özniteliklere giriş

(PHP 8)

Öznitelikler, koddaki bildirimlerin üzerine yapılandırılmış, makine tarafından okunabilir meta veri bilgilerinin eklenmesini sağlar: Sınıflar, yöntemler, işlevler, bağımsız değişkenler, özellikler ve sınıf sabitleri bir özniteliğin hedefi olabilir. Özniteliklerle tanımlanan meta veriler daha sonra Yansıtma Arayüzleri kullanılarak çalışma anında incelenebilir. Bu nedenle öznitelikler, doğrudan koda gömülmüş bir yapılandırma dili olarak düşünülebilir.

Özniteliklerle, bir özelliğin kapsamlı gerçeklenimi ile bir uygulamadaki somut kullanımı ayrıştırılabilir. Bir bakıma arayüzler, gerçeklenimleri ile karşılaştırılabilir. Ancak arayüzlerin ve gerçeklenimlerin kodla ilgili olduğu yerlerde öznitelikler, ek bilgi ve yapılandırmaya küçük açıklamalar eklemekle ilgilidir. Arayüzler sınıflarla gerçeklenebilir, ancak öznitelikler ek olarak yöntemler, işlevler, bağımsız değişkenler, özellikler ve sınıf sabitleri üzerinde de bildirilebilir. Bu nedenle arayüzlerden daha esnektir.

Öznitelik kullanımına basit bir örnek, öznitelikleri kullanmak için isteğe bağlı yöntemlere sahip bir arayüzü dönüştürmektir. ActionHandler arayüzünün bir uygulamadaki bir işlemi yerine getirdiğini ve bu arayüzün bazı gerçeklenimlerinin ilklendirilmesi gerekirken diğerlerine bunun gerekmediğini varsayalım. ActionHandler arayüzünü gerçekleyen tüm sınıfların setUp() yöntemini gerçeklemesi gerekirken, bunu yapmak yerine, onun yerini alabilecek bir öznitelik kullanılabilir. Bu yaklaşımın tek yararı, öznitelliğin birkaç kez kullanabilmesidir.

Örnek 1 - Bir arayüzün isteğe bağlı yöntemlerini özniteliklerle gerçeklemek

<?php
interface ActionHandler
{
public function execute();
}

#[Attribute]
class SetUp {}

class CopyFile implements ActionHandler
{
public string $fileName;
public string $targetDirectory;

#[SetUp]
public function fileExists()
{
if (!file_exists($this->fileName)) {
throw new RuntimeException("Dosya yok");
}
}

#[SetUp]
public function targetDirectoryExists()
{
if (!file_exists($this->targetDirectory)) {
mkdir($this->targetDirectory);
} elseif (!is_dir($this->targetDirectory)) {
throw new RuntimeException("Hedef dizin $this->targetDirectory bir dizin değil");
}
}

public function execute()
{
copy($this->fileName, $this->targetDirectory . '/' . basename($this->fileName));
}
}

function executeAction(ActionHandler $actionHandler)
{
$reflection = new ReflectionObject($actionHandler);

foreach ($reflection->getMethods() as $method) {
$attributes = $method->getAttributes(SetUp::class);

if (count($attributes) > 0) {
$methodName = $method->getName();

$actionHandler->$methodName();
}
}

$actionHandler->execute();
}

$copyAction = new CopyFile();
$copyAction->fileName = "/tmp/foo.jpg";
$copyAction->targetDirectory = "/home/user";

executeAction($copyAction);


Öznitelik Sözdizimi

Öznitelik sözdizimi çeşitli parçalardan oluşur. İlk olarak, öznitelik bildirimi her zaman bir #[ ile başlar ve bir ] biter. İçeride, virgüllerle ayrılmış bir veya daha fazla öznitelik bulunur. Öznitelik adı, İsim alanlarının kullanımı: Temeller bölümünde açıklandığı gibi nitelenmemiş, nitelenmiş veya tam nitelenmiş olabilir. Özniteliğin bağımsız değişkenleri isteğe bağlıdır, ancak normalde parantez () içine alınır. Özniteliklerin bağımsız değişkenleri yalnızca değişmez değerler veya sabit ifadeleri olabilir. Hem konumsal hem de isimli bağımsız değişken sözdizimi kullanılabilir.

Öznitelik adları ve bağımsız değişkenleri bir sınıfa çözümlenir, eğer özniteliğin bir örneği yansıtma arayüzü aracılığıyla istenirse bağımsız değişkenler kurucuya iletilir. Her öznitelik için böyle bir sınıf kullanılmalıdır.

Örnek 1 - Öznitelik Sözdizimi

<?php
// a.php
namespace MyExample;

use Attribute;

#[Attribute]
class MyAttribute
{
const VALUE = 'value';

private $value;

public function __construct($value = null)
{
$this->value = $value;
}
}

// b.php

namespace Another;

use MyExample\MyAttribute;

#[MyAttribute]
#[\MyExample\MyAttribute]
#[MyAttribute(1234)]
#[MyAttribute(value: 1234)]
#[MyAttribute(MyAttribute::VALUE)]
#[MyAttribute(array("key" => "value"))]
#[MyAttribute(100 + 200)]
class Thing
{
}

#[MyAttribute(1234), MyAttribute(5678)]
class AnotherThing
{
}


Özniteliklerin Yansıtma Arayüzü ile Okunması

Sınıflar, yöntemler, işlevler, bağımsız değişkenler, özellikler ve sınıf sabitlerinden özniteliklere erişmek için kullanılan yansıtma arayüzü, ilgili Reflection nesnelerinin her birine getAttributes() yöntemini sağlar. Bu yöntem, öznitelik adı, bağımsız değişkenler ve temsil edilen özniteliğin bir örneğini örneklendirmek için sorgulanabilen ReflectionAttribute örneklerini içeren bir dizi döndürür.

Yansıtılan öznitelik temsilinin gerçek örnekten bu şekilde ayrılması, programcının eksik öznitelik sınıfları, yanlış yazılmış veya eksik bağımsız değişkenlerle ilgili hataları elde etme konusundaki denetimini artırır. Öznitelik sınıfının nesneleri, yalnızca ReflectionAttribute::newInstance() çağrıldıktan sonra başlatılırsa bağımsız değişkenlerin doğru eşleşmesi sağlanır, daha önce değil.

Örnek 1 - Özniteliklerin Yansıtma Arayüzü kullanılarak Okunması

<?php

#[Attribute]
class MyAttribute
{
public $value;

public function __construct($value)
{
$this->value = $value;
}
}

#[MyAttribute(value: 1234)]
class Thing
{
}

function dumpAttributeData($reflection) {
$attributes = $reflection->getAttributes();

foreach ($attributes as $attribute) {
var_dump($attribute->getName());
var_dump($attribute->getArguments());
var_dump($attribute->newInstance());
}
}

dumpAttributeData(new ReflectionClass(Thing::class));
/*
string(11) "MyAttribute"
array(1) {
["value"]=>
int(1234)
}
object(MyAttribute)#3 (1) {
["value"]=>
int(1234)
}
*/

Yansıtma örneğindeki tüm öznitelikleri yinelemek yerine, yalnızca belirli bir öznitelik sınıfı, sınıfın ismi bağımsız değişken olarak aktarılarak okunabilir.

Örnek 2 - Yansıtma Arayüzünü kullanarak istenen özniteliklerin okunması

<?php

function dumpMyAttributeData($reflection) {
$attributes = $reflection->getAttributes(MyAttribute::class);

foreach ($attributes as $attribute) {
var_dump($attribute->getName());
var_dump($attribute->getArguments());
var_dump($attribute->newInstance());
}
}

dumpMyAttributeData(new ReflectionClass(Thing::class));


Öznitelik Sınıflarının Bildirimi

Zorunlu olmamakla birlikte, her öznitelik için gerçek bir sınıfın oluşturulması önerilir. En basit durumda, bir use ifadesiyle küresel isim alanından içe aktarılabilen #[Attribute] özniteliğinin bildirimi için yalnızca boş bir sınıfa ihtiyaç vardır.

Örnek 1 - Basit Öznitelik sınıfı

<?php

namespace Example;

use Attribute;

#[Attribute]
class MyAttribute
{
}

Bir özniteliğin atanabileceği bildirim türünü kısıtlamak için, #[Attribute] bildirimine ilk bağımsız değişken olarak bir bit maskesi aktarılabilir.

Örnek 2 - Özniteliklerin kullanılabileceği yerleri kısıtlamak için hedef belirtiminin kullanımı

<?php

namespace Example;

use Attribute;

#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION)]
class MyAttribute
{
}

MyAttribute sınıfının başka bir türde bildirilmesi, ReflectionAttribute::newInstance() çağrısı sırasında bir istisna oluşmasına sebep olur.

Şu hedefler belirtilebilir:

  • Attribute::TARGET_CLASS
  • Attribute::TARGET_FUNCTION
  • Attribute::TARGET_METHOD
  • Attribute::TARGET_PROPERTY
  • Attribute::TARGET_CLASS_CONSTANT
  • Attribute::TARGET_PARAMETER
  • Attribute::TARGET_ALL

Öntanımlı olarak, bir öznitelik her bildirimde yalnızca bir kere kullanılabilir. Özniteliğin bildirimlerde yinelenebilir olması isteniyorsa, #[Attribute] bildiriminde bit maskesinin bir parçası olarak belirtilmelidir.

Örnek 3 - Özniteliğin bir bildirimle defalarca kullanılabilmesi için IS_REPEATABLE kullanımı

<?php

namespace Example;

use Attribute;

#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_FUNCTION | Attribute::IS_REPEATABLE)]
class MyAttribute
{
}


Gönderimlerle İlgili Herşey

İçindekiler

  • Gönderim Nedir?
  • Gönderim Ne Yapar?
  • Gönderimler Ne Değildir?
  • Gönderimle Aktarım
  • Gönderimle Döndürme
  • Gönderimi Tanımsız Yapmak
  • Gönderimleri kullanan diğer oluşumlar


Gönderim Nedir?

PHP'de gönderimler aynı değişken içeriğine farklı isimlerle erişmek demektir. C'deki göstericilere benzemezler; örneğin, üzerlerinde gösterici aritmetiği kullanamazsınız, çünkü gerçekte bellek adresleri değillerdir.Ayrıntılar için Gönderimler Ne Değildir? bölümüne bakınız. daha çok simge tablosu PHP'de şuna dikkat edin: Değişken içeriği ve değişken ismi farklı şeylerdir. Bu bakımdan, aynı içeriğin farklı isimleri olabilir. En yakın benzerlik, Unix dosya isimleri ve dosyaları ile kurulabilir; değişken isimleri dizinlerse, değişken içeriği de dizinin içindeki dosyadır. Gönderimler ise Unix dosya sistemindeki sabit bağlar olarak düşünülebilir.


Gönderim Ne Yapar?

Gönderimleri kullanıldığı üç temel işlem vardır: gönderimli atama, gönderimli aktarma, ve gönderimli döndürme. Bu bölümde bu işlemlerle ilgili bağlantılar verilerek bir başlangıç yapılmıştır.

Gönderimli atama

Bu ilk temel işlemde, iki değişkenin aynı içeriğe atıf yapmasına izin verilir. Örnek:

<?php
$a =& $b;
?>
Bunun anlamı, $a ve $b değişkenlerinin aynı içeriği gösterdiğidir.

Bilginize:

Burada $a ve $b tamamen eşittir; ne $a, $b'yi göstermekte ne de $b, $a'yı göstermektedir; $a ve $b aynı yeri göstermektedir.

Bilginize:

Eğer tanımlanmamış bir değişken gönderimle atanır, aktarılır veya döndürülürse oluşturulmuş olur.

Örnek 1 - Gönderimlerin tanımlanmamış değişkenlerle kullanımı

<?php
function foo(&$var) { }

foo($a); // $a "oluşturulur" ve değer olarak null atanır

$b = array();
foo($b['b']);
var_dump(array_key_exists('b', $b)); // bool(true)

$c = new stdClass;
foo($c->d);
var_dump(property_exists($c, 'd')); // bool(true)
?>

Aynı sözdizimi, gönderim döndüren işlevler ile kullanılabilir:

<?php
$foo =& dğşkn_bul($bar);
?>

Aynı sözdizimini gönderimle dönmeyen bir işlevle kullanmak, işlevin new işlecinin sonucuyla kullanımına benzer bir hata verecektir. Nesneler göstericilerle aktarılsa da bunlar, Nesneler ve Gönderimler. altında açıklanan gönderimlerle aynı değildir.

Uyarı

Bir işlevin içinde global olarak bildirilmiş bir değişkeni gönderimli olarak atarsanız gönderim sadece işlevin içinde görünür olur. $GLOBALS dizisini kullanarak bundan kaçınabilirsiniz.

Örnek 2 - İşlev içinde küresel değişkenlere gönderim

<?php
$var1 = "Örnek değişken";
$var2 = "";

function küresel_gönderimler($küreselleri_kullan)
{
global $var1, $var2;
if (!$küreselleri_kullan) {
$var2 =& $var1; // sadece işlev içinde görünürdür
} else {
$GLOBALS["var2"] =& $var1; // küresel alanda da görünürdür
}
}

küresel_gönderimler(false);
echo "var2'ye '$var2' atanır\n"; // var2'ye '' atanır
küresel_gönderimler(true);
echo "var2'ye '$var2' atanır\n"; // var2'ye 'Örnek değişken' atanır
?>
global $var; deyimi $var =& $GLOBALS['var']; deyimine bir kısayol olarak düşünülür. Bu bakımdan $var'a başka bir gönderim atamak sadece yerel değişkenin gönderimini değiştirir.

Bilginize:

Eğer bir değişkene foreach döngüsü içinde gönderimle bir değer atarsanız gönderimde de değişiklik yapılmış olur.

Örnek 3 - foreach döngüsü içinde gönderim

<?php
$ref = 0;
$row =& $ref;
foreach (array(1, 2, 3) as $row) {
// işlemler
}
echo $ref; // 3 - yinelenen dizinin son elemanı
?>

Tam olarak gönderime göre atama olmamakla birlikte, array() dil oluşumu ile oluşturulan ifadeler, eklenecek dizi öğesi & ile öncelenerek öyleymiş gibi davranabilir. Örnek:

<?php
$a = 1;
$b = array(2, 3);
$arr = array(&$a, &$b[0], &$b[1]);
$arr[0]++; $arr[1]++; $arr[2]++;
/* $a == 2, $b == array(3, 4); */
?>

Bununla birlikte, dizilerdeki gönderimlerin potansiyel olarak tehlikeli olduğunu unutmayın. Bir ifadenin sağ tarafında yapılan bir gönderimli (gönderime göre değil) atama yapılması sol tarafı bir gönderim haline getirmez, fakat dizilerin içinde bu normal atamalar korunur. Bu ayrıca, dizilerin değerleriyle aktarıldığı işlev çağrılarında da uygulanır. Örnek:

<?php
/* Sayısal değikenlerin atanması */
$a = 1;
$b =& $a;
$c = $b;
$c = 7; //$c bir gönderim değildir; $a veya $b değişmez

/* Dizi değişkenlerinin atanması */
$arr = array(1);
$a =& $arr[0]; //$a ve $arr[0] aynı gönderim kümesindedir
$arr2 = $arr; //gönderime göre atama dğildir!
$arr2[0]++;
/* $a == 2, $arr == array(2) */
/* Bir gönderim olmasa bile, $arr'ın içeriği değişti!! */
?>
Başka bir deyişle, dizilerin gönderim davranışı her eleman için ayrı tanımlanır; elemanların tek tek gönderim davranışı dizi taşıyıcısının gönderim durumundan bağımsızdır.

Gönderimli aktarım

Gönderimlerle yapılan ikinci şey değişkenleri gönderimle aktarmaktır. Bir işlev içinde bir yerel değişken oluşturup çağrı etki alanında bir değişkenle aynı içeriğe gönderim yaparak bu gerçeklenebilir. Örnek:

<?php
function foo(&$var)
{
$var++;
}

$a=5;
foo($a);
echo $a; // 6 çıktılar
?>
$a'nın 6 olmasının sebebi foo işlevinde $var değişkeninin $a'nın içeriğine gönderimli olmasıdır. Daha ayrıntılı açıklamayı gönderimle aktarım bölümünde bulabilirsiniz.

Gönderimli değer döndürme

Gönderimlerle yapılan üçüncü şey gönderimli değer döndürmedir.


Gönderimler Ne Değildir?

Evvelce de değinildiği gibi bir gönderim bir gösterici değildir. Yani, aşağıdaki oluşum bekleneni yapmayacaktır:

<?php
function foo(&$var)
{
$var =& $GLOBALS["baz"];
}
foo($bar);
?>

Burada foo işlevindeki $var değişkeni çağrı yapılan yerde $bar değişkenine bağlanmakla kalmayıp bir de işlevin içinde $GLOBALS["baz"] değişkenine bağlanmaktadır. $bar'ın işlev etki alanı içinde gönderim mekanizması ile başka bir değişkene bağlanması mümkün değildir, çünkü $bar değişkeni foo işlevinin etki alanında mevcut değildir (işlev etki alanında $var tarafından temsil edilmekteyse de $var sadece değişkenin içeriğine sahiptir ve çağrı simgeleri tablosunda ismi değere bağlayan şey değildir). İşlev tarafından seçilen değişkenlere gönderim yapabilmek için değeri gönderimle döndürmelisiniz.


Gönderimle Aktarım

Bir değişkeni bir işleve gönderimle aktarabilirsiniz, böylece işlevin bağımsız değişkenlerini değiştirebilirsiniz. Sözdizimi şöyledir:

<?php
function işlev(&$değişken)
{
$değişken++;
}

$a=5;
foo($a);
// Burada $a artık 6'dır
?>

Bilginize: İşlevin çağrıldığı yerde gönderim yapıldığına dair bir belirtinin olmadığına dikkat ediniz; gönderim sadece işlevin üzerindedir. İşlev tanımı bağımsız değişkeni gönderimle gerektiği gibi aktarmak için tek başına yeterlidir.

Aşağıdakiler bir işleve gönderimle aktarılabilir:

  • işlev($a) şeklinde bir değişken.

  • Bir işlevden döndürerek bir gönderim. Örnek:

    <?php
    function foo(&$var)
    {
    $var++;
    }
    function &    bar()
    {
    $a = 5;
    return     $a;
    }
    foo(bar());
    ?>
    Ayrıca, gönderimle değer döndürme konusuna da bakınız.

Sonuç tanımsız olacağından, başka hiçbir ifade gönderimle aktarılamaz. Örneğin, aşağıdaki gönderimle aktarım örneği geçersizdir:

<?php
function foo(&$var)
{
$var++;
}
function bar() // Dikkat, & yok
{
$a = 5;
return $a;
}
foo(bar()); // Bir uyarı üretir

foo($a = 5); // Bir ifade, değişken değil
foo(5); // Ölümcül hata üretir

class Foobar
{
}

foo(new Foobar()) // PHP 7.0.7'dan beri bir uyarı üretmekte
// Uyarı: Sadece değişkenler gönderime göre aktarılmalıdır.
?>


Gönderimle Döndürme

Gönderimle döndürme, gönderimin bağlayacağı değişkeni hedefleyen bir işlev kullanmak istediğiniz takdirde yararlıdır. Gönderimle döndürmeyi başarımı arttırmak amacıyla kullanmayın. Motor, bunu kendine göre en iyileyecek yeteneğe sahiptir. Sadece geçerli bir teknik sebebiniz olduğunda gönderimle döndürme yapın! Gönderimle döndürmek için şu söz dizimi kullanılır:

<?php
class sınıf {
public $değer = 42;

public function &değeriBağla() {
return $this->değer;
}
}

$obj = new sınıf;
$değerim = &$obj->değeriBağla(); // $değerim, $obj->değer için bir gönderimdir
echo $değerim; // 42 basar
$obj->değer = 2;
echo $değerim; // 2 basar
?>
Bu örnekte, değeriBağla işlevi ile döndürülen nesne özelliği değişkene atanmaktadır, eğer gönderim söz dizimi kullanılmamış olsaydı özelliğin kendisi değil bir kopyası atanmış olacaktı.

Bilginize: Bağımsız değişken aktarmanın tersine, burada her iki taraftada (çağıran ve çağrılan) & kullanımı zorunludur. Çağıran tarafta $değerim değişkenine yapılanın bir atama değil gönderim bağlantısı olduğunu, çağrılan tarafta ise yapılanın sıradan bir değer kopyalama değil bir gönderimle döndürme olduğunu belirtmektedir.

Bilginize: return ($this->değer); söz dizimi ile bir işlevden bir gönderim döndürmek isterseniz bir değişkeni değil de bir ifadenin sonucunu döndürmeye çalışmış olacağınızdan bu istediğinizi yapmayacaktır. Bir işlevden gönderimle sadece değişkenleri döndürebilirsiniz, başka bir şey döndüremezsiniz.

Dönen gönderim kullanmak için, gönderim ataması yapmanız gerekir:

<?php
function &collector() {
static $collection = array();
return $collection;
}
$collection = &collector();
$collection[] = 'foo';
?>
Dönen gönderimi bir gönderim umarak başka bir işleve aktarmak için bu sözdizimini kullanabilirsiniz:
<?php
function &collector() {
static $collection = array();
return $collection;
}
array_push(collector(), 'foo');
?>

Bilginize: array_push(&collector(), 'foo'); ifadesinin çalışMAyacağına, ölümcül hatayla sonuçlanacağına dikkat edin.


Gönderimi Tanımsız Yapmak

Bir gönderimi unset() ile tanımsız yapmakla aslında değişken ismiyle değeri arasındaki bağlantıyı bozmuş olursunuz, değişkeni içeriksiz bırakmış olmazsınız (aynı değeri gösteren iki değişkenden sadece birini ortadan kaldırmış olursunuz). Örnek:

<?php
$a = 1;
$b =& $a;
unset($a);
?>
Burada $b değil $a tanımsız olur.

Bu işlem, Unix unlink komutunun yaptığı işlemden pek de farklı değildir.


Gönderimleri kullanan diğer oluşumlar

PHP'deki çoğu söz dizimi oluşumu, gönderim mekanizması üzerinden gerçeklenir, bu bakımdan yukarıda gönderimle ilgili bahsedilenlerin tümü bu oluşumlara da uygulanır. Gönderimle aktarma veya döndürme gibi bazı oluşumlardan yukarıda söz edilmiştir. Gönderimleri kullanan diğer oluşumlar şunlardır:

Küresel Gönderimler

Bir değişkeni global $değişken deyimi ile bildirdiğiniz zaman aslında küresel bir değişkene bir gönderim oluşturmuş olursunuz. Aşağıdaki örnekte de aynı işlem yapılmaktadır:

<?php
$değişken =& $GLOBALS["değişken"];
?>

Yani, küresel olarak bildirildikten sonra unset($değişken) ile küresel değişkeni tanımsız yapamazsınız, sadece yerel değişken tanımsız olur.


Öntanımlı Değişkenler

PHP çalıştırdığı her betiğe çok sayıda evvelce tanımlanmış değişken sağlar. Değişkenler dış kaynaklı değişkenlerden yerleşik ortam değişkenlerine, son hata iletisinden son elde edilen başlıklara kadar geniş bir sahada kendilerini gösterirler.

İçindekiler

  • Süper küreseller — Bütün etki alanlarında daima mevcut olan yerleşik değişkenler
  • $GLOBALS — Küresel alanda bulunan bütün değişkenleri içerir
  • $_SERVER — Sunucu ve işletme ortamı bilgisi
  • $_GET — HTTP GET değişkenleri
  • $_POST — HTTP POST değişkenleri
  • $_FILES — HTTP Dosya Yükleme değişkenleri
  • $_REQUEST — HTTP İstek değişkenleri
  • $_SESSION — Oturum değişkenleri
  • $_ENV — Ortam değişkenleri
  • $_COOKIE — HTTP Çerezleri
  • $php_errormsg — Önceki hata iletisi
  • $http_response_header — HTTP yanıt başlıkları
  • $argc — Betiğe geçirilen ifade sayısı
  • $argv — Betiğe geçirilen ifade dizisi


Bütün etki alanlarında daima mevcut olan yerleşik değişkenler

  • « Öntanımlı Değişkenler
  • $GLOBALS »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Bütün etki alanlarında daima mevcut olan yerleşik değişkenler

Süper küreseller

Süper küreseller — Bütün etki alanlarında daima mevcut olan yerleşik değişkenler

Açıklama

PHP'de öntanımlı değişkenlerin çoğu "süper küresel"dir. Bu, betik boyunca bütün etki alanlarında kullanılabilir oldukları anlamına gelir. İşlevler veya yöntemler içinde bu değişkenlere erişmek için global $değişken; yapmak gerekmez.

Süper küresel değişkenler şunlardır:

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

Notlar

Bilginize: Değişken kullanılabilirliği

Öntanımlı olarak, bütün süper küreseller mevcuttur, fakat bunların kullanılabilirliğini etkileyen yönergeler vardır. Daha fazla bilgi için variables_order yönergesine bakınız.

Bilginize: Değişken değişkenler

Süper küreseller, işlevler veya sınıf yöntemleri içinde değişken değişkenleri olarak kullanılamazlar.

Ayrıca Bakınız

  • değişken etki alanı
  • variables_order yönergesi
  • Süzme eklentisi


Küresel alanda bulunan bütün değişkenleri içerir

  • « Süper küreseller
  • $_SERVER »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Küresel alanda bulunan bütün değişkenleri içerir

$GLOBALS

(PHP 4, PHP 5, PHP 7, PHP 8)

$GLOBALS — Küresel alanda bulunan bütün değişkenleri içerir

Açıklama

Geçerli betiğin küresel alanında tanımlı bütün değişkenleri içeren bütünleşik bir dizidir. Değişken isimleri dizinin anahtarlarıdır.

Örnekler

Örnek 1 - $GLOBALS örneği

<?php
function test() {
$foo = "yerel değişken";

echo '$foo küresel alanda: ' . $GLOBALS["foo"] . "\n";
echo '$foo yerel alanda: ' . $foo . "\n";
}

$foo = "Örnek içerik";
test();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$foo küresel alanda: Örnek içerik
$foo yerel alanda: yerel değişken

Uyarı

PHP 8.1.0 itibariyle, $GLOBALS dizisinin tamamına yazma erişimi artık desteklenmemektedir:

Örnek 2 - $GLOBALS dizisini yeniden yazmak hataya yol açar.

<?php
// Derleme sırasında hata verir:
$GLOBALS = [];
$GLOBALS += [];
$GLOBALS =& $x;
$x =& $GLOBALS;
unset($GLOBALS);
array_pop($GLOBALS);
// ... ve $GLOBALS üzerinde her türlü yaz/oku-yaz işlemi
?>

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Bilginize: Değişken kullanılabilirliği

Diğer süper küresellerden farklı olarak, $GLOBALS PHP'de her zaman var olmuştur.

Bilginize:

PHP 8.1.0 itibariyle, $GLOBALS artık küresel simge tablosunun salt-okunur bir kopyasıdır. Yani, küresel değişkenlerde kopyası üzerinden değişiklik yapılamaz. Evvelce, $GLOBALS dizisine, PHP dizilerinin değerlerle tanımlanması davranışı uygulanmaz ve küresel değişkenlerde kopyaları üzerinden değişiklik yapılabilirdi.

<?php
// PHP 8.1.0 öncesinde
$a = 1;
$globals = $GLOBALS; // Görünüşte değere göre kopya
$globals['a'] = 2;
var_dump($a); // int(2)

// PHP 8.1.0 ve sonrasında
// $a artık $GLOBALS kopyasından değiştirilemez.
// Önceki davranış dizilerde değerle tanımlanma davranışı ile çelişiyordu.
$globals = $GLOBALS;
$globals['a'] = 1;

// Önceki davranışa dönmek istenirse, kopya üzerinde yineleme ile
// her özellik $GLOBALS dizisine yeniden atanmalıdır.
foreach ($globals as $key => $value) {
$GLOBALS[$key] = $value;
}
?>


Sunucu ve işletme ortamı bilgisi

  • « $GLOBALS
  • $_GET »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Sunucu ve işletme ortamı bilgisi

$_SERVER

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_SERVER — Sunucu ve işletme ortamı bilgisi

Açıklama

$_SERVER başlıklar, yollar ve betiklerin yerleri gibi bilgileri içeren bir dizidir. Bu dizideki girdiler HTTP sunucusu tarafından oluşturulur. Her HTTP sunucusu bunları sunacak diye bir garanti yoktur; sunucular bazıları ile işlem yapmayabilir veya burada listelenmeyen başkalarını sağlayabilirler. Bu değişkenlerden çoğu » CGI/1.1 Belirtimi içinde ele alınır.

Bilginize: PHP komut satırından çalıştırıldığında bu girdilerin çoğu ya kullanılamaz ya da anlamsız olur.

Aşağıda listelenen dizi elemenlarına ek olarak, PHP istek başlıklarındaki değerlerle ek elemanlar oluşturur. Bu girdilerin isimleri HTTP_ öneki ile başlar, küçük harfler büyük harfe dönüştürülür ve tirelerin yerini alt çizgiler alır. Örneğin, Accept-Language başlığının dizideki elemanına $_SERVER['HTTP_ACCEPT_LANGUAGE'] ile erişilebilir.

İndisler

'PHP_SELF'
Çalıştırılmakta olan betiğin, belge kök dizinine göreli dosya adıdır. Örneğin, http://example.com/foo/bar.php adresindeki bir betik için $_SERVER['PHP_SELF'] değeri /foo/bar.php olacaktır. __FILE__ sabiti geçerli dosyanın tam yolunu ve dosya adını içerir. PHP komut satırı işlemcisi olarak çalışıyorsa bu değişken betik adını içerir.
'argv'
Betiğe aktarılan bağımsız değişken dizisidir. Betik komut satırında çalıştığında, komut satırı bağımsız değişkenlerine C gibi erişim imkanı verir. Betik GET yöntemi üzerinden çağrıldığında, bu değişken sorgu dizgesini içerir.
'argc'
Betiğe aktarılan komut satırı bağımsız değişkenlerinin sayısını içerir (betik eğer komut satırından çalıştırılıyorsa).
'GATEWAY_INTERFACE'
Sunucunun desteklediği CGI belirtiminin sürümünü içerir; 'CGI/1.1' gibi.
'SERVER_ADDR'
Geçerli betiğin altında çalıştığı sunucunun IP adresidir.
'SERVER_NAME'
Geçerli betiğin altında çalıştığı sunucunun adıdır. Eğer betik bir sanal konak üzerinde çalışıyorsa, o sanal konağın adını içerir.

Bilginize: Apache 2 altında, UseCanonicalName = On ve ServerName atamaları yapılmalıdır. Aksi takdirde, bu değer istemci tarafından belirtilmiş muhtemelen sahte bir konak ismi içerebilir. Güvenliliğin önemli olduğu içeriklerde bu değere güvenmek doğru değildir.

'SERVER_SOFTWARE'
Sunucu kimlik dizgesi, isteklere verilen cevap başlıklarının içinde verilir.
'SERVER_PROTOCOL'
Sayfa isteğinin yapıldığı protokolün ismi ve sürümüdür; 'HTTP/1.1' gibi;
'REQUEST_METHOD'
Sayfaya erişim için kullanılan istek yöntemi; 'GET', 'HEAD', 'POST', 'PUT' gibi.

Bilginize:

Eğer istek yöntemi HEAD ise PHP betiği başlıklar gönderildikten sonra (çıktının çıktı tamponu olmadan üretilmesinden sonra anlamında) sonlandırılır.

'REQUEST_TIME'
İsteğin başlangıç zamanı etiketidir.
'REQUEST_TIME_FLOAT'
Mikrosaniye cinsinden isteğin başlangıç zamanı damgası.
'QUERY_STRING'
Sorgu dizgesi, sayfaya erişirken kullanılabilir.
'DOCUMENT_ROOT'
Sunucunun ayar dosyasında da tanımlandığı gibi, geçerli betiğin altında çalıştığı belge kök dizinidir.
'HTTPS'
Eğer betik HTTPS protokolü ile sorgulanmışsa boş olmayan bir değer atanır.
'REMOTE_ADDR'
Geçerli sayfayı görüntüleyen kullanıcının IP adresidir.
'REMOTE_HOST'
Geçerli sayfayı görüntüleyen kullanıcının sunucu adıdır. Kullanıcının REMOTE_ADDR değerinden ters dns sorgusuyla elde edilir.

Bilginize: HTTP sunucusu bu değişkeni oluşturmak için yapılandırılmalıdır. Bunun için, örneğin Apache'de httpd.conf içinde HostnameLookups On olmalıdır. Ayrıca gethostbyaddr() işlevine de bakılabilir.

'REMOTE_PORT'
Kullanıcının makinesinin HTTP sunucusu ile haberleşmek için kullandığı porttur.
'REMOTE_USER'
Kimliği kanıtlanmış kullanıcı.
'REDIRECT_REMOTE_USER'
İstek dahilen yönlendirilmişse kimliğİ kanıtlanmış kullanıcı.
'SCRIPT_FILENAME'

Geçerli betiğin mutlak yoludur.

Bilginize:

Eğer betik file.php veya ../file.php gibi göreli bir yolla komut satırından çalıştırılırsa, $_SERVER['SCRIPT_FILENAME'] kullanıcı tarafından belirtilen göreli yolu içerir.

'SERVER_ADMIN'
HTTP sunucusu ayar dosyasındaki SERVER_ADMIN (Apache için) yönergesine verilen değerdir. Eğer betik bir sanal konak üzerinde çalışıyorsa, o sanal konak için için tanımlanmış değer olur.
'SERVER_PORT'
Haberleşme için HTTP sunucusu tarafından kullanılan porttur. Öntanımlı kurulumlar için değeri '80'dir; örneğin SSL kullanımında bunu güvenli HTTP portu olarak ne tanımladıysanız ona değiştirebilirsiniz.

Bilginize: Apache 2 altında, fiziksel (gerçek) portu almak için UseCanonicalName = On'dan başka UseCanonicalPhysicalPort = On da tanımlanmalıdır, aksi takdirde, bu değer sahte olabilir ve fiziksel port değerini döndürüp döndürmeyeceği belli olmaz. Güvenliğin önemli olduğu içeriklerde bu değere güvenmek doğru değildir.

'SERVER_SIGNATURE'
Eğer etkinse, sunucu tarafından üretilen sayfalara eklenen, sunucu sürümünü ve sanal konak adını içeren dizgidir.
'PATH_TRANSLATED'
Sunucu gerekli sanaldan gerçeğe dönüşümleri yaptıktan sonra geçerli betiğin dosya sistemini (belge kökü değil) temel alan yoludur.

Bilginize: Apache 2 kullanıcıları PATH_INFO tanımlatmak için httpd.conf içinde AcceptPathInfo = On yapılandırmasını kullanabilirler.

'SCRIPT_NAME'
Geçerli betiğin yolunu içerir. Kendi kendilerini göstermesi gereken sayfalar için kullanışlıdırlar. __FILE__ sabiti geçerli (örn. içerilen) dosyanın tam yolunu vedosya adını içerir.
'REQUEST_URI'
Sayfaya erişim için belirtilen URI; örneğin, '/index.html'.
'PHP_AUTH_DIGEST'
Özetli HTTP kimlik doğrulaması yapılırken bu değişken istemci tarafından gönderilen 'Authorization' başlığında belirtilir (böylece siz de uygun geçerlilik denetimini yapmak için bunu kullanabilirsiniz).
'PHP_AUTH_USER'
HTTP kimlik doğrulaması yapılırken bu değişkene kullanıcı tarafından sağlanan kullanıcı adı atanır.
'PHP_AUTH_PW'
HTTP kimlik doğrulaması yapılırken bu değişkene kullanıcı tarafından sağlanan parola atanır.
'AUTH_TYPE'
Apache altında modül olarak HTTP kimlik doğrulaması yapılırken bu değişkene kullanılan kimlik doğrulama türü atanır.
'PATH_INFO'
İstemci tarafından sağlanan dosya yolunu içerir; dosya isminin ardında bir sorgu dizgesi olsa bile bu gösterilmez. Örneğin, betiğe şöyle erişiliyor olsun: http://www.example.com/php/path_info.php/some/stuff?foo=bar. Bu durumda $_SERVER['PATH_INFO'], /some/stuff değerini içerecektir.
'ORIG_PATH_INFO'
PHP tarafından işlenmeden önceki özgün 'PATH_INFO'.

Örnekler

Örnek 1 - $_SERVER örneği

<?php
echo $_SERVER['SERVER_NAME'];
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

www.example.com

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • Süzme eklentisi


HTTP GET değişkenleri

  • « $_SERVER
  • $_POST »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP GET değişkenleri

$_GET

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_GET — HTTP GET değişkenleri

Açıklama

URL bağımsız değişkenleri (başka bir deyişle, sorgu dizesi) üzerinden geçerli betiğe aktarılan değişkenlerden oluşan bir ilişkisel dizi. Dizinin yalnızca GET isteklerinden değil, bir sorgu dizesindeki tüm isteklerden oluşturulduğunu unutmayın.

Örnekler

Örnek 1 - $_GET örneği

<?php
echo 'Merhaba ' . htmlspecialchars($_GET["isim"]) . '!';
?>

Kullanıcının http://example.com/?isim=Elif adresini çağırdığı varsayılarak

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Merhaba Elif!

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Bilginize:

GET değişkenleri urldecode() üzerinden aktarılır.

Ayrıca Bakınız

  • Dış kaynaklı değişkenlerin ele alınması
  • Süzme eklentisi


HTTP POST değişkenleri

  • « $_GET
  • $_FILES »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP POST değişkenleri

$_POST

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_POST — HTTP POST değişkenleri

Açıklama

İstekte HTTP Content-Type olarak multipart/form-data veya application/x-www-form-urlencoded kullanıldığında HTTP POST yöntemi kullanılarak geçerli betiğe aktarılan ilşkisel değişken dizisi.

Örnekler

Örnek 1 - $_POST örneği

<?php
echo 'Merhaba ' . htmlspecialchars($_POST["isim"]) . '!';
?>

Kullanıcının POST ile isim=Gizem gönderdiği varsayılarak

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Merhaba Gizem!

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • Dış kaynaklı değişkenlerin ele alınması
  • Süzme eklentisi


HTTP Dosya Yükleme değişkenleri

  • « $_POST
  • $_REQUEST »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP Dosya Yükleme değişkenleri

$_FILES

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_FILES — HTTP Dosya Yükleme değişkenleri

Açıklama

HTTP POST yöntemi kullanılarak geçerli betiğe yüklenen ilişkisel öğe dizisi. Bu dizinin yapısı POST yöntemi ile karşıya dosya yükleme bölümünde özetlenmiştir.

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • move_uploaded_file() - Karşıya yüklenen bir dosyayı yeni bir yere taşır
  • Dosya Yüklemelerini İşlemek


HTTP İstek değişkenleri

  • « $_FILES
  • $_SESSION »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP İstek değişkenleri

$_REQUEST

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_REQUEST — HTTP İstek değişkenleri

Açıklama

Öntanımlı olarak $_GET, $_POST ve $_COOKIE değişkenlerini içeren ilişkisel bir dizidir.

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Bilginize:

Komut satırından çalışmada, bu dizi argv ve argc girdilerinde içerilmez; bunlar $_SERVER dizisinde bulunur.

Bilginize:

$_REQUEST içindeki değişkenler betiğe GET, POST, ve COOKIE girdi mekanizmaları ile sağlanır ve bu nedenle uzak kullanıcı tarafından değiştirilebilir ve bunlara güvenilemez. Bu dizide listelenen değişkenlerin varlıkları ve sıraları PHP request_order ve variables_order yapılandırma yönergelerine göre tanımlanır.

Ayrıca Bakınız

  • import_request_variables()
  • Dış kaynaklı değişkenlerle çalışmak
  • Süzme eklentisi


Oturum değişkenleri

  • « $_REQUEST
  • $_ENV »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Oturum değişkenleri

$_SESSION

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_SESSION — Oturum değişkenleri

Açıklama

Geçerli betikte kullanılabilecek oturum değişkenlerini içeren bir ilişkisel dizidir. Nasıl kullanıldığıyla ilgili daha fazla bilgi için Oturum İşlevleri belgesine bakınız.

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar


Ortam değişkenleri

  • « $_SESSION
  • $_COOKIE »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Ortam değişkenleri

$_ENV

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_ENV — Ortam değişkenleri

Açıklama

Ortam yönetimi kullanılarak geçerli betiğe aktarılan bütünleşik ortam değişkenleri dizisi.

Bu değişkenler PHP yazım denetleyicisinin çalıştığı ortamdan PHP'nin küresel isim alanına ithal edilir. Çoğu PHP'nin altında çalıştığı kabuk (shell) tarafından sağlanır. Farklı sistemler farklı türde kabuklar çalıştırırlar, bu bakımdan tam bir tanımlı ortam değişkenleri listesi verilemez. Lütfen tanımlı ortam değişkenleri listesi için kullandığınız kabuğun belgelerine bakınız.

Diğer ortam değişkenleri, CGI değişkenlerini içerir ve PHP'nin bir sunucu hizmeti olarak mı yoksa CGI işlemcisi olarak mı çalıştığına bakmaksızın yerleştirilirler.

Örnekler

Örnek 1 - $_ENV örneği

<?php
echo 'Benim adım ' .$_ENV["USER"] . '!';
?>

Bu betiği "yasar" isimli kullanıcının çalıştırdığı varsayılarak

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Benim adım yasar!

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • getenv() - Ortam değişkenlerinden birinin veya tümünün değerini döndürür
  • Süzme eklentisi


HTTP Çerezleri

  • « $_ENV
  • $php_errormsg »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP Çerezleri

$_COOKIE

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

$_COOKIE — HTTP Çerezleri

Açıklama

Geçerli betiğe HTTP Çerezleri üzerinden aktarılan bütünleşik bir değişken dizisi

Örnekler

Örnek 1 $_COOKIE örneği

<?php
echo 'Merhaba ' . htmlspecialchars($_COOKIE["isim"]) . '!';
?>

"isim" çerezinin önceden atandığı varsayılmıştır.

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Merhaba Yaşar!

Notlar

Bilginize:

Bu bir süper küreseldir. Yani bir betiğin her yerinde geçerlidir. Değişkene işlevler ve yöntemlerin içinden erişmek için global $değişken; deyimine gerek yoktur.

Ayrıca Bakınız

  • setcookie() - Bir çerez gönderir
  • Dış kaynaklı değişkenlerin ele alınması
  • Süzme eklentisi


Önceki hata iletisi

  • « $_COOKIE
  • $http_response_header »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Önceki hata iletisi

$php_errormsg

(PHP 4, PHP 5, PHP 7)

$php_errormsg — Önceki hata iletisi

Uyarı

Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Bunun yerine error_get_last() işlevini kullanın.

Açıklama

$php_errormsg PHP tarafından üretilen son hata iletisinin metnini içeren bir değişkendir. Bu değişken sadece hatanın oluştuğu alan içinde ve sadece track_errors ayar seçeneği açıldıysa (öntanımlı değeri kapalıdır) geçerlidir.

Uyarı

Eğer kullanıcı tanımlı bir hata işleyici (set_error_handler()) atanmışsa $php_errormsg değişkenine sadece hata işleyici false döndürürse bir değer atanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | $php_errormsg'nin kullanımına sebep olan track_errors kaldırıldı.
7.2.0 | $php_errormsg'nin kullanımına sebep olan track_errors kullanımdan kaldırıldı.

Örnekler

Örnek 1 - $php_errormsg örneği

<?php
@strpos();
echo $php_errormsg;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Wrong parameter count for strpos()

Ayrıca Bakınız

  • error_get_last() - Son oluşan hata hakkında bilgi verir


HTTP yanıt başlıkları

  • « $php_errormsg
  • $argc »
  • PHP Manual
  • Öntanımlı Değişkenler
  • HTTP yanıt başlıkları

$http_response_header

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

$http_response_header — HTTP yanıt başlıkları

Açıklama

$http_response_header dizisi get_headers() işlevi gibidir. HTTP sarmalayıcı kullanılırken, $http_response_header HTTP yanıt başlıklarından oluşturulur. $http_response_header yerel etki alanında oluşturulur.

Örnekler

Örnek 1 - $http_response_header örneği

<?php
function get_contents() {
file_get_contents("http://example.com");
var_dump($http_response_header); // değişken yerel etki alanında değerlendirilir
}
// get_contents() çağrısı değişkeni işlev etki alanının dışında değerlendirmez
get_contents();
var_dump($http_response_header);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(9) {
  [0]=>
  string(15) "HTTP/1.1 200 OK"
  [1]=>
  string(35) "Date: Sat, 12 Apr 2008 17:30:38 GMT"
  [2]=>
  string(29) "Server: Apache/2.2.3 (CentOS)"
  [3]=>
  string(44) "Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT"
  [4]=>
  string(27) "ETag: "280100-1b6-80bfd280""
  [5]=>
  string(20) "Accept-Ranges: bytes"
  [6]=>
  string(19) "Content-Length: 438"
  [7]=>
  string(17) "Connection: close"
  [8]=>
  string(38) "Content-Type: text/html; CHARSET=Windows-1254"
}

Warning: Undefined variable $http_response_header
NULL


Betiğe geçirilen ifade sayısı

  • « $http_response_header
  • $argv »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Betiğe geçirilen ifade sayısı

$argc

(PHP 4, PHP 5, PHP 7, PHP 8)

$argc — Betiğe geçirilen ifade sayısı

Açıklama

Komut satırından çalıştığında geçerli betiğe aktarılan ifade sayısını içerir.

Bilginize: Betiğin dosya adı her zaman ilk ifade olarak betiğe geçirilir, bu nedenle $argc'nin asgari değeri 1'dir.

Bilginize: Bu değişken register_argc_argv etkin değilse kullanılamaz.

Örnekler

Örnek 1 - $argc örneği

<?php
var_dump($argc);
?>

Örneği şu şekilde çalıştırınca: php betik.php arg1 arg2 arg3

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(4)

Notlar

Bilginize:

$_SERVER['argc'] olarak da kullanılabilir.

Ayrıca Bakınız

  • getopt() - Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür


Betiğe geçirilen ifade dizisi

  • « $argc
  • Öntanımlı İstisnalar »
  • PHP Manual
  • Öntanımlı Değişkenler
  • Betiğe geçirilen ifade dizisi

$argv

(PHP 4, PHP 5, PHP 7, PHP 8)

$argv — Betiğe geçirilen ifade dizisi

Açıklama

komut satırından çalıştığında betiğe aktarılan ifade dizi'sini içerir.

Bilginize: İlk bağımsız değişken $argv[0] daima geçerli betiğin adıdır.

Bilginize: Bu değişken register_argc_argv etkin değilse kullanılamaz.

Örnekler

Örnek 1 - $argv örneği

<?php
var_dump($argv);
?>

Örneği şu şekilde çalıştırınca: php betik.php arg1 arg2 arg3

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  [0]=>
  string(10) "betik.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
  [3]=>
  string(4) "arg3"
}

Notlar

Bilginize:

$_SERVER['argv'] olarak da kullanılabilir.

Ayrıca Bakınız

  • getopt() - Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür


Öntanımlı İstisnalar

İçindekiler

  • Exception
  • ErrorException
  • Error
  • ArgumentCountError
  • ArithmeticError
  • AssertionError
  • DivisionByZeroError
  • CompileError
  • ParseError
  • TypeError
  • ValueError
  • UnhandledMatchError
  • FiberError

Ayrıca bakınız: SPL İstisnaları


Exception Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Exception tüm kullanıcı istisnaları için temel sınıftır.

Sınıf Sözdizimi

class Exception implements Throwable {
/* Özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public getMessage(): string
final public getPrevious(): ?Throwable
final public getCode(): int
final public getFile(): string
final public getLine(): int
final public getTrace(): array
final public getTraceAsString(): string
public __toString(): string
private __clone(): void
}

Özellikler

message

İstisna iletisi.

code

İstisna kodu.

file

İstisnanın oluştuğu dosyanın ismi.

line

İstisnanın oluştuğu satırın numarası.

previous

Yavrulanan önceki istisna.

string

Yığıt izinin dizgesel gösterimi.

trace

Dizi olarak yığıt izi.

İçindekiler

  • Exception::__construct — İstisna oluşturur
  • Exception::getMessage — İstisna iletisi ile döner
  • Exception::getPrevious — Önceki Throwable nesnesini döndürür
  • Exception::getCode — İstisnanın numarası ile döner
  • Exception::getFile — İstisnanın oluştuğu dosyanın adı ile döner
  • Exception::getLine — İstisnanın oluştuğu satırın numarası ile döner
  • Exception::getTrace — Yığıt iziyle döner
  • Exception::getTraceAsString — Yığıt izini bir dizge olarak döndürür
  • Exception::__toString — İstisnanın dizgesel gösterimiyle döner
  • Exception::__clone — İstisna kopyası


İstisna oluşturur

  • « Exception
  • Exception::getMessage »
  • PHP Manual
  • Exception
  • İstisna oluşturur

Exception::__construct

(PHP 5, PHP 7, PHP 8)

Exception::__construct — İstisna oluşturur

Açıklama

public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)

İstisna oluşturur.

Bağımsız Değişkenler

message

Oluşturulan istisna iletisi.

code

İstisna kodu.

previous

İstisna zincirindeki önceki istisna.

Bilginize: $code ve $message özellikleri zaten atanmışsa, istisna kurucusunu bir alt sınıftan çağırmak öntanımlı bağımsız değişkenleri yok sayar.

Notlar

Bilginize:

message bağımsız değişkeni ikil olarak güvenilir değildir.


İstisna iletisi ile döner

  • « Exception::__construct
  • Exception::getPrevious »
  • PHP Manual
  • Exception
  • İstisna iletisi ile döner

Exception::getMessage

(PHP 5, PHP 7, PHP 8)

Exception::getMessage — İstisna iletisi ile döner

Açıklama

final public Exception::getMessage(): string

İstisna iletisi ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisna iletisi bir dizge olarak döner.

Örnekler

Örnek 1 - Exception::getMessage() örneği

<?php
try {
throw new Exception("Bir hata iletisi");
} catch(Exception $e) {
echo $e->getMessage();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bir hata iletisi

Ayrıca Bakınız

  • Throwable::getMessage() - İleti döndürür


Önceki Throwable nesnesini döndürür

  • « Exception::getMessage
  • Exception::getCode »
  • PHP Manual
  • Exception
  • Önceki Throwable nesnesini döndürür

Exception::getPrevious

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Exception::getPrevious — Önceki Throwable nesnesini döndürür

Açıklama

final public Exception::getPrevious(): ?Throwable

Exception::__construct() kurucusunun üçüncü bağımsız değişkenine aktarılmış olan Throwable nesnesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Mümkünse önceki Throwable nesnesi, yoksa null döner.

Örnekler

Örnek 1 - Exception::getPrevious() örneği

Döngüsel olarak ve çıktılıyarak istisna izleme.

<?php
class MyCustomException extends Exception {}

function doStuff() {
try {
throw new InvalidArgumentException("Yanlış yapıyorsunuz!", 112);
} catch(Exception $e) {
throw new MyCustomException("Bir şeyler oldu", 911, $e);
}
}

try {
doStuff();
} catch(Exception $e) {
do {
printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(),
$e->getMessage(), $e->getCode(), get_class($e));
} while($e = $e->getPrevious());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/bjori/ex.php:8 Bir şeyler oldu (911) [MyCustomException]
/home/bjori/ex.php:6 Yanlış yapıyorsunuz! (112) [InvalidArgumentException]

Ayrıca Bakınız

  • Throwable::getPrevious() - Önceki Throwable sınıfıyla döner


İstisnanın numarası ile döner

  • « Exception::getPrevious
  • Exception::getFile »
  • PHP Manual
  • Exception
  • İstisnanın numarası ile döner

Exception::getCode

(PHP 5, PHP 7, PHP 8)

Exception::getCode — İstisnanın numarası ile döner

Açıklama

final public Exception::getCode(): int

Exception'dan istisna numarasını int olarak döndürür fakat Exception çocuklarından başka türde bir değer de dönebilir (örneğin PDOException'dan string).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisna numarası bir int olarak döner.

Örnekler

Örnek 1 - Exception::getCode() örneği

<?php
try {
throw new Exception("Bir hata iletisi", 30);
} catch(Exception $e) {
echo "İstisna numarası: " . $e->getCode();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

İstisna numarası: 30

Ayrıca Bakınız

  • Throwable::getCode() - İstisna numarasını döndürür


İstisnanın oluştuğu dosyanın adı ile döner

  • « Exception::getCode
  • Exception::getLine »
  • PHP Manual
  • Exception
  • İstisnanın oluştuğu dosyanın adı ile döner

Exception::getFile

(PHP 5, PHP 7, PHP 8)

Exception::getFile — İstisnanın oluştuğu dosyanın adı ile döner

Açıklama

final public Exception::getFile(): string

İstisnanın oluştuğu dosyanın adı ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisnanın oluştuğu dosyanın adı ile döner.

Örnekler

Örnek 1 - Exception::getFile() örneği

<?php
try {
throw new Exception;
} catch(Exception $e) {
echo $e->getFile();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/bjori/tmp/ex.php

Ayrıca Bakınız

  • Throwable::getFile() - Nesnenin oluşturulduğu dosyanın ismini döndürür


İstisnanın oluştuğu satırın numarası ile döner

  • « Exception::getFile
  • Exception::getTrace »
  • PHP Manual
  • Exception
  • İstisnanın oluştuğu satırın numarası ile döner

Exception::getLine

(PHP 5, PHP 7, PHP 8)

Exception::getLine — İstisnanın oluştuğu satırın numarası ile döner

Açıklama

final public Exception::getLine(): int

İstisnanın oluştuğu satırın numarası ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisnanın oluştuğu satırın numarası ile döner.

Örnekler

Örnek 1 - Exception::getLine() örneği

<?php
try {
throw new Exception("Bir hata iletisi");
} catch(Exception $e) {
echo "İstisnanın oluştuğu satırın numarası: " . $e->getLine();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

İstisnanın oluştuğu satırın numarası: 3

Ayrıca Bakınız

  • Throwable::getLine() - Nesnenin örneklendiği satır numarasını döndürür


Yığıt iziyle döner

  • « Exception::getLine
  • Exception::getTraceAsString »
  • PHP Manual
  • Exception
  • Yığıt iziyle döner

Exception::getTrace

(PHP 5, PHP 7, PHP 8)

Exception::getTrace — Yığıt iziyle döner

Açıklama

final public Exception::getTrace(): array

İstisna yığıtının iziyle döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisna yığıtının izini bir dizi olarak döndürür.

Örnekler

Örnek 1 - Exception::getTrace() örneği

<?php
function test() {
throw new Exception;
}

try {
test();
} catch(Exception $e) {
var_dump($e->getTrace());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Ayrıca Bakınız

  • Throwable::getTrace() - Yığıt izini döndürür


Yığıt izini bir dizge olarak döndürür

  • « Exception::getTrace
  • Exception::__toString »
  • PHP Manual
  • Exception
  • Yığıt izini bir dizge olarak döndürür

Exception::getTraceAsString

(PHP 5, PHP 7, PHP 8)

Exception::getTraceAsString — Yığıt izini bir dizge olarak döndürür

Açıklama

final public Exception::getTraceAsString(): string

İstisna yığıtının izini bir dizge olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisna yığıtının izini bir dizge olarak döndürür.

Örnekler

Örnek 1 - Exception::getTraceAsString() örneği

<?php
function test() {
throw new Exception;
}

try {
test();
} catch(Exception $e) {
echo $e->getTraceAsString();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Ayrıca Bakınız

  • Throwable::getTraceAsString() - Yığıt izini bir dize olarak döndürür


İstisnanın dizgesel gösterimiyle döner

  • « Exception::getTraceAsString
  • Exception::__clone »
  • PHP Manual
  • Exception
  • İstisnanın dizgesel gösterimiyle döner

Exception::__toString

(PHP 5, PHP 7, PHP 8)

Exception::__toString — İstisnanın dizgesel gösterimiyle döner

Açıklama

public Exception::__toString(): string

İstisnanın string türündeki gösterimiyle döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisnanın string türündeki gösterimiyle döner.

Örnekler

Örnek 1 - Exception::__toString() örneği

<?php
try {
throw new Exception("Bir hata iletisi");
} catch(Exception $e) {
echo $e;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

exception 'Exception' with message 'Bir hata iletisi' in /home/nilgun/tmp/ex.php:3
Stack trace:
#0 {main}

Ayrıca Bakınız

  • Throwable::__toString() - Yavrulanan nesnenin dize gösterimini döndürür


İstisna kopyası

  • « Exception::__toString
  • ErrorException »
  • PHP Manual
  • Exception
  • İstisna kopyası

Exception::__clone

(PHP 5, PHP 7, PHP 8)

Exception::__clone — İstisna kopyası

Açıklama

private Exception::__clone(): void

Exception nesneleri kopyalanamaz ve kopyalanmaya çalışılırsa Error nesnesi oluşur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

İstisnalar kopyalanabilir değildir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Exception::__clone() artık final değil.


ErrorException Sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Bir hata istisnası.

Sınıf Sözdizimi

class ErrorException extends Exception {
/* Özellikler */
protected int $severity = E_ERROR;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct(
string $message = "",
int $code = 0,
int $severity = E_ERROR,
?string $filename = null,
?int $line = null,
?Throwable $previous = null
)
final public getSeverity(): int
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

severity

İstisnanın önem derecesi

Örnekler

Örnek 1 - Hata iletilerinin set_error_handler() ile ErrorException içinde döndürülmesi

<?php
function exception_error_handler(int $errno, string $errstr, string $errfile = null, int $errline) {
if (!(error_reporting() & $errno)) {
// Bu hata kodu hata bildiriminde bulunmaz
return;
}
throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
}
set_error_handler(exception_error_handler(...));
// PHP 8.1.0'dan ve birinci sınıf çağrılabilir sözdiziminin
kullanıma sunulmasından önce, bunun yerine
// set_error_handler(__NAMESPACE__ . "\\exception_error_handler");
// çağrısının kullanılması gerekirdi

/* İstisnayı tetikle */
strpos();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Fatal error: Uncaught exception 'ErrorException' with message 'strpos() expects at least 2 parameters, 0 given' in /home/bjori/tmp/ex.php:12
Stack trace:
#0 [internal function]: exception_error_handler(2, 'strpos() expect...', '/home/bjori/php...', 12, Array)
#1 /home/bjori/php/cleandocs/test.php(12): strpos()
#2 {main}
  thrown in /home/bjori/tmp/ex.php on line 12

İçindekiler

  • ErrorException::__construct — İstisna oluşturur
  • ErrorException::getSeverity — İstisnanın önem derecesi ile döner


İstisna oluşturur

  • « ErrorException
  • ErrorException::getSeverity »
  • PHP Manual
  • ErrorException
  • İstisna oluşturur

ErrorException::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ErrorException::__construct — İstisna oluşturur

Açıklama

public ErrorException::__construct(
string $message = "",
int $code = 0,
int $severity = E_ERROR,
?string $filename = null,
?int $line = null,
?Throwable $previous = null
)

İstisna oluşturur.

Bağımsız Değişkenler

message

Oluşturulan istisna iletisi.

code

İstisnanın numarası.

severity

İstisnanın önem derecesi.

Bilginize:

Önem derecesi bir herhangi bir int değer olabilirse de, burada hata sabitlerinin kullanılması amaçlanmıştır.

filename

İstisnanın oluştuğu dosyanın adı.

line

İstisnanın oluştuğu satırın numarası.

previous

İstisna zincirleme için kullanılan önceki istisna.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filename and line artık null olabiliyor. Evvelce, öntanımlı değerleri sırasıyla __FILE__ ve __LINE__ idi.


İstisnanın önem derecesi ile döner

  • « ErrorException::__construct
  • Error »
  • PHP Manual
  • ErrorException
  • İstisnanın önem derecesi ile döner

ErrorException::getSeverity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ErrorException::getSeverity — İstisnanın önem derecesi ile döner

Açıklama

final public ErrorException::getSeverity(): int

İstisnanın önem derecesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstisnanın önem derecesini döndürür.

Örnekler

Örnek 1 - ErrorException::getSeverity() örneği

<?php
try {
throw new ErrorException("İstisna iletisi", 0, E_USER_ERROR);
} catch(ErrorException $e) {
echo "Bu istisnanın önem derecesi: " . $e->getSeverity();
var_dump($e->getSeverity() === E_USER_ERROR);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bu istisnanın önem derecesi: 256
bool(true)


Error

(PHP 7, PHP 8)

Giriş

Error tüm dahili PHP hataları için temel sınıftır.

Sınıf Sözdizimi

class Error implements Throwable {
/* Özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public getMessage(): string
final public getPrevious(): ?Throwable
final public getCode(): int
final public getFile(): string
final public getLine(): int
final public getTrace(): array
final public getTraceAsString(): string
public __toString(): string
private __clone(): void
}

Özellikler

message

Hata iletisi

code

Hata kodu

file

Hatanın oluştuğu dosyanın adı

line

Hatanın oluştuğu satır

previous

Yavrulanan önceki istisna.

string

Yığıt izinin dizgesel gösterimi.

trace

Dizi olarak yığıt izi.

İçindekiler

  • Error::__construct — Bir hata nesnesi oluşturur
  • Error::getMessage — Hata iletisini döndürür
  • Error::getPrevious — Önceki hata nesnesini döndürür
  • Error::getCode — Hata koduyla döner
  • Error::getFile — Hatanın oluştuğu dosyanın ismini döndürür
  • Error::getLine — Hatanı oluştuğu satırın numarasını döndürür
  • Error::getTrace — Yığıt dökümünü dizi olarak döndürür
  • Error::getTraceAsString — Yığıt dökümünü dize olarak döndürür
  • Error::__toString — Hatanın dizesel görünümü
  • Error::__clone — Hatayı kopyalayamaz


Bir hata nesnesi oluşturur

  • « Error
  • Error::getMessage »
  • PHP Manual
  • Error
  • Bir hata nesnesi oluşturur

Error::__construct

(PHP 7, PHP 8)

Error::__construct — Bir hata nesnesi oluşturur

Açıklama

public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)

Error nesnesi oluşturur.

Bağımsız Değişkenler

message

Hata iletisi.

code

Hatanın kodu.

previous

Zincirdeki önceki nesne.

Notlar

Bilginize:

message bağımsız değişkeni ikil olarak güvenli değildir.


Hata iletisini döndürür

  • « Error::__construct
  • Error::getPrevious »
  • PHP Manual
  • Error
  • Hata iletisini döndürür

Error::getMessage

(PHP 7, PHP 8)

Error::getMessage — Hata iletisini döndürür

Açıklama

final public Error::getMessage(): string

Hata iletisini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata iletisini bir dize olarak döndürür.

Örnekler

Örnek 1 - Error::getMessage() örneği

<?php
try {
throw new Error("Bu bir hata iletisidir");
} catch(Error $e) {
echo $e->getMessage();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bu bir hata iletisidir

Ayrıca Bakınız

  • Throwable::getMessage() - İleti döndürür


Önceki hata nesnesini döndürür

  • « Error::getMessage
  • Error::getCode »
  • PHP Manual
  • Error
  • Önceki hata nesnesini döndürür

Error::getPrevious

(PHP 7, PHP 8)

Error::getPrevious — Önceki hata nesnesini döndürür

Açıklama

final public Error::getPrevious(): ?Throwable

Önceki Throwable nesnesini (Error::__construct() yöntemini üçüncü bağımsız değişkeni) döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Mevcutsa önceki Throwable nesnesi, değilse null döner.

Örnekler

Örnek 1 - Error::getPrevious() örneği

Hata izleme, döngü, yazdırma.

<?php
class MyCustomError extends Error {}

function doStuff() {
try {
throw new InvalidArgumentError("Yanlış yapıyorsunuz!", 112);
} catch(Error $e) {
throw new MyCustomError("Bir şeyler oldu", 911, $e);
}
}

try {
doStuff();
} catch(Error $e) {
do {
printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
} while($e = $e->getPrevious());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/bjori/ex.php:8 Bir şeyler oldu (911) [MyCustomError]
/home/bjori/ex.php:6 Yanlış yapıyorsunuz! (112) [InvalidArgumentError]

Ayrıca Bakınız

  • Throwable::getPrevious() - Önceki Throwable sınıfıyla döner


Hata koduyla döner

  • « Error::getPrevious
  • Error::getFile »
  • PHP Manual
  • Error
  • Hata koduyla döner

Error::getCode

(PHP 7, PHP 8)

Error::getCode — Hata koduyla döner

Açıklama

final public Error::getCode(): int

Hatanın kodunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata kodu bir int olarak döner.

Örnekler

Örnek 1 - Error::getCode() örneği

<?php
try {
throw new Error("Bu bir hata iletisidir", 30);
} catch(Error $e) {
echo "Hatanın kodu: " . $e->getCode();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hatanın kodu: 30

Ayrıca Bakınız

  • Throwable::getCode() - İstisna numarasını döndürür


Hatanın oluştuğu dosyanın ismini döndürür

  • « Error::getCode
  • Error::getLine »
  • PHP Manual
  • Error
  • Hatanın oluştuğu dosyanın ismini döndürür

Error::getFile

(PHP 7, PHP 8)

Error::getFile — Hatanın oluştuğu dosyanın ismini döndürür

Açıklama

final public Error::getFile(): string

Hatanın oluştuğu dosyanın ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hatanın oluştuğu dosyanın ismini döndürür.

Örnekler

Örnek 1 - Error::getFile() örneği

<?php
try {
throw new Error;
} catch(Error $e) {
echo $e->getFile();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/bjori/tmp/ex.php

Ayrıca Bakınız

  • Throwable::getFile() - Nesnenin oluşturulduğu dosyanın ismini döndürür


Hatanı oluştuğu satırın numarasını döndürür

  • « Error::getFile
  • Error::getTrace »
  • PHP Manual
  • Error
  • Hatanı oluştuğu satırın numarasını döndürür

Error::getLine

(PHP 7, PHP 8)

Error::getLine — Hatanı oluştuğu satırın numarasını döndürür

Açıklama

final public Error::getLine(): int

Hatanı oluştuğu satırın numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hatanı oluştuğu satırın numarasını döndürür.

Örnekler

Örnek 1 - Error::getLine() örneği

<?php
try {
throw new Error("Bu bir hata iletisidir");
} catch(Error $e) {
echo "Hatanın oluştuğu satır: " . $e->getLine();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hatanın oluştuğu satır: 3

Ayrıca Bakınız

  • Throwable::getLine() - Nesnenin örneklendiği satır numarasını döndürür


Yığıt dökümünü dizi olarak döndürür

  • « Error::getLine
  • Error::getTraceAsString »
  • PHP Manual
  • Error
  • Yığıt dökümünü dizi olarak döndürür

Error::getTrace

(PHP 7, PHP 8)

Error::getTrace — Yığıt dökümünü dizi olarak döndürür

Açıklama

final public Error::getTrace(): array

Yığıt dökümünü dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıt dökümünü array türünde döndürür.

Örnekler

Örnek 1 - Error::getTrace() örneği

<?php
function test() {
throw new Error;
}

try {
test();
} catch(Error $e) {
var_dump($e->getTrace());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["file"]=>
    string(22) "/home/bjori/tmp/ex.php"
    ["line"]=>
    int(7)
    ["function"]=>
    string(4) "test"
    ["args"]=>
    array(0) {
    }
  }
}

Ayrıca Bakınız

  • Throwable::getTrace() - Yığıt izini döndürür


Yığıt dökümünü dize olarak döndürür

  • « Error::getTrace
  • Error::__toString »
  • PHP Manual
  • Error
  • Yığıt dökümünü dize olarak döndürür

Error::getTraceAsString

(PHP 7, PHP 8)

Error::getTraceAsString — Yığıt dökümünü dize olarak döndürür

Açıklama

final public Error::getTraceAsString(): string

Yığıt dökümünü dize olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıt dökümünü dize olarak döndürür.

Örnekler

Örnek 1 - Error::getTraceAsString() örneği

<?php
function test() {
throw new Error;
}

try {
test();
} catch(Error $e) {
echo $e->getTraceAsString();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

#0 /home/bjori/tmp/ex.php(7): test()
#1 {main}

Ayrıca Bakınız

  • Throwable::getTraceAsString() - Yığıt izini bir dize olarak döndürür


Hatanın dizesel görünümü

  • « Error::getTraceAsString
  • Error::__clone »
  • PHP Manual
  • Error
  • Hatanın dizesel görünümü

Error::__toString

(PHP 7, PHP 8)

Error::__toString — Hatanın dizesel görünümü

Açıklama

public Error::__toString(): string

Hatanın dizesel görünümünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hatanın dizesel görünümünü döndürür.

Örnekler

Örnek 1 - Error::__toString() örneği

<?php
try {
throw new Error("Bir hata iletisi");
} catch(Error $e) {
echo $e;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Error: Bir hata iletisi in /home/bjori/tmp/ex.php:3
Stack trace:
#0 {main}

Ayrıca Bakınız

  • Throwable::__toString() - Yavrulanan nesnenin dize gösterimini döndürür


Hatayı kopyalayamaz

  • « Error::__toString
  • ArgumentCountError »
  • PHP Manual
  • Error
  • Hatayı kopyalayamaz

Error::__clone

(PHP 7, PHP 8)

Error::__clone — Hatayı kopyalayamaz

Açıklama

private Error::__clone(): void

Hata kopyalanamaz, dolayısıyla bu yöntem ölümcül hataya sebep olur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Hatalar kopyalanabilir değildir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Error::__clone() artık final değil.


ArgumentCountError

(PHP 7 >= PHP 7.1.0, PHP 8)

Giriş

Kullanıcı tanımlı bir işlev veya yönteme gerekenden az bağımsız değişken aktarıldığında ArgumentCountError yavrulanır.

Bu hata ayrıca bağımsız değişken sayısı değişken olmayan yerleşik bir işleve çok fazla bağımsız değişken aktarıldığında da oluşur.

Sınıf Sözdizimi

class ArgumentCountError extends TypeError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


ArithmeticError istisnası

(PHP 7, PHP 8)

Giriş

Matematiksel işlemler yapılırken bir hata oluştuğunda ArithmeticError yavrulanır. Bu hatalara, negatif miktarda bit kaydırma yapmaya çalışırken veya bir int türünün olası sınırlarının dışına çıkan bir değerle sonuçlanan intdiv() çağrıları dahildir.

Sınıf Sözdizimi

class ArithmeticError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


AssertionError

(PHP 7, PHP 8)

Giriş

assert() işlevi başarısız olduğunda AssertionError yavrulanır.

Sınıf Sözdizimi

class AssertionError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


DivisionByZeroError

(PHP 7, PHP 8)

Giriş

DivisionByZeroError bir sayıyı sıfıra bölmeye çalışınca yavrulanır.

Sınıf Sözdizimi

class DivisionByZeroError extends ArithmeticError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


CompileError

(PHP 7 > 7.3.0, PHP 8)

Giriş

CompileError bazı derleme hatalarında yavrulanır, evvelve ölümcül hatalarda yavrulanırdı.

Sınıf Sözdizimi

class CompileError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


ParseError

(PHP 7, PHP 8)

Giriş

ParseError sınıfı eval() çağrıldığında olduğu gibi PHP kodu çözümlenirken bir hata oluştuğunda yavrulanır.

Bilginize: ParseError PHP 7.3.0 ve sonrasında CompileError sınıfından genişletilir. Evvelce Errorsınıfından genişletilirdi.

Sınıf Sözdizimi

class ParseError extends CompileError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


TypeError

(PHP 7, PHP 8)

Giriş

TypeError sınıfının yavrulanabildiği durumlar:

  • Bir sınıf özelliğine atanan değerin türü ile özelliğin bildirilen türünün uyuşmaması.
  • Bir işleve aktarılan bağımsız değişken türünün bildirilen bağımsız değişken türü ile uyuşmaması.
  • Bir işlevden dönen bir değerin işlevin bildirilen dönüş türü ile uyuşmaması.

Sınıf Sözdizimi

class TypeError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Katı kodlama kipinde yerleşik bir PHP işlevine geçersiz sayıda bağımsız değişken aktarımında artık TypeError yerine ArgumentCountError yavrulanıyor.


ValueError istisnası

(PHP 8)

Giriş

Bir bağımsız değişkenin türü doğru, ancak değeri yanlış olduğunda bir ValueError yavrulanır. Örneğin, bir işlev pozitif bir tamsayı beklerken negatif bir tamsayı aktarmak veya bir işlev boş olmayan bir dize/dizi beklerken boş olanı aktarmak gibi.

Sınıf Sözdizimi

class ValueError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


UnhandledMatchError istisnası

(PHP 8)

Giriş

Bir match ifadesine aktarılan özne, match ifadesinin herhangi bir kolu tarafından işlenmediğinde, bir UnhandledMatchError yavrulanır.

Sınıf Sözdizimi

class UnhandledMatchError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


FiberError istisnası

(PHP 8 >= 8.1.0)

Giriş

Bir Fiber üzerinde geçersiz bir işlem yürütüldüğünde bu istisna yavrulanır.

Sınıf Sözdizimi

final class FiberError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct()
/* Miras alınan yöntemler */
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

İçindekiler

  • FiberError::__construct — Doğrudan örneklemeye izin vermemek için kurucu


Doğrudan örneklemeye izin vermemek için kurucu

  • « FiberError
  • Öntanımlı Arayüzler ve Sınıflar »
  • PHP Manual
  • FiberError
  • Doğrudan örneklemeye izin vermemek için kurucu

FiberError::__construct

(PHP 8 >= 8.1.0)

FiberError::__construct — Doğrudan örneklemeye izin vermemek için kurucu

Açıklama

public FiberError::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Çağrıldığında Error istisnası oluşur.


Öntanımlı Arayüzler ve Sınıflar

İçindekiler

  • Traversable
  • Iterator
  • IteratorAggregate
  • InternalIterator
  • Throwable
  • ArrayAccess
  • Serializable
  • Closure
  • stdClass
  • Generator
  • Fiber
  • WeakReference
  • WeakMap
  • Stringable
  • UnitEnum
  • BackedEnum
  • SensitiveParameterValue

Ayrıca bakınız: SPL Arayüzleri ve ayrılmış sınıflar.


Traversable arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Bir sınıf foreach kullanarak çaprazlanabiliyorsa bunu saptayan arayüz.

Tek başına gerçeklenemeyen bir soyut temel arayüz olup ya IteratorAggregate ya da Iterator olarak gerçeklenmelidir.

Arayüz Sözdizimi

interface Traversable {
}

Bu arayüzün yöntemleri yoktur. Tek amacı çaprazlanabilir tüm sınıflar için temel arayüz olmaktır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Traversable arayüzü artık soyut sınıflar tarafından gerçeklenebiliyor. Genişleyen sınıflar Iterator veya IteratorAggregate gerçeklemelidir.

Notlar

Bilginize:

Bu arayüzü gerçekleyen dahili (yerleşik) sınıflar bir foreach oluşumunda kullanılabilir ve IteratorAggregate veya Iterator gerçeklemesi gerekmez.

Bilginize:

PHP 7.4.0 öncesinde, bu dahili motor arayüz PHP betiklerinde gerçeklenemezdi. Yerine ya IteratorAggregate ya da Iterator kullanılması gerekirdi.


Iterator Arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Kendilerini dahili olarak yineleyebilen nesneler ve harici yineleyiciler için arayüz.

Arayüz Sözdizimi

interface Iterator extends Traversable {
/* Yöntemler */
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
}

Öntanımlı Yineleyiciler

PHP birçok günlük görev için bir miktar yineleyici zaten sağlamaktadır. Listesi için bkz: SPL yineleyicileri

Örnekler

Örnek 1 Temel Kullanımı

Bu örnekte, bir yineleyici üzerinde foreach yaparken hangi yöntemlerin çağrıldığı gösterilmiştir.

<?php
class Yineleyicim implements Iterator {
private $position = 0;
private $array = array(
"ilkeleman",
"ikincieleman",
"soneleman",
);

public function __construct() {
$this->position = 0;
}

public function rewind(): void {
var_dump(__METHOD__);
$this->position = 0;
}

#[\ReturnTypeWillChange]
public function current() {
var_dump(__METHOD__);
return $this->array[$this->position];
}

#[\ReturnTypeWillChange]
public function key() {
var_dump(__METHOD__);
return $this->position;
}

public function next(): void {
var_dump(__METHOD__);
++$this->position;
}

public function valid(): bool {
var_dump(__METHOD__);
return isset($this->array[$this->position]);
}
}

$it = new Yineleyicim;

foreach($it as $key => $value) {
var_dump($key, $value);
echo "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(19) "Yineleyicim::rewind"
string(18) "Yineleyicim::valid"
string(20) "Yineleyicim::current"
string(16) "Yineleyicim::key"
int(0)
string(9) "ilkeleman"

string(17) "Yineleyicim::next"
string(18) "Yineleyicim::valid"
string(20) "Yineleyicim::current"
string(16) "Yineleyicim::key"
int(1)
string(12) "ikincieleman"

string(17) "Yineleyicim::next"
string(18) "Yineleyicim::valid"
string(20) "Yineleyicim::current"
string(16) "Yineleyicim::key"
int(2)
string(9) "soneleman"

string(17) "Yineleyicim::next"
string(18) "Yineleyicim::valid"

Ayrıca Bakınız

Ayrıca bkz: Nesne Yineleme

İçindekiler

  • Iterator::current — O anki elemanı döndürür
  • Iterator::key — O anki elemanın anahtarını döndürür
  • Iterator::next — Konumu sonraki elemana ilerletir
  • Iterator::rewind — Yineleyiciyi ilk elemana konumlandırır
  • Iterator::valid — O anki konum geçerli mi diye bakar


O anki elemanı döndürür

  • « Iterator
  • Iterator::key »
  • PHP Manual
  • Iterator
  • O anki elemanı döndürür

Iterator::current

(PHP 5, PHP 7, PHP 8)

Iterator::current — O anki elemanı döndürür

Açıklama

public Iterator::current(): mixed

O anki elemanı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Her türde değer dönebilir.


O anki elemanın anahtarını döndürür

  • « Iterator::current
  • Iterator::next »
  • PHP Manual
  • Iterator
  • O anki elemanın anahtarını döndürür

Iterator::key

(PHP 5, PHP 7, PHP 8)

Iterator::key — O anki elemanın anahtarını döndürür

Açıklama

public Iterator::key(): mixed

O anki elemanın anahtarını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda scalar türünde bir değer, aksi takdirde null döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_NOTICE çıktılanır.


Konumu sonraki elemana ilerletir

  • « Iterator::key
  • Iterator::rewind »
  • PHP Manual
  • Iterator
  • Konumu sonraki elemana ilerletir

Iterator::next

(PHP 5, PHP 7, PHP 8)

Iterator::next — Konumu sonraki elemana ilerletir

Açıklama

public Iterator::next(): void

O anki konumu sonraki elemana ilerletir.

Bilginize:

Bu işlev her foreach döngüsünün ardından çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönen değer olursa yok sayılır.


Yineleyiciyi ilk elemana konumlandırır

  • « Iterator::next
  • Iterator::valid »
  • PHP Manual
  • Iterator
  • Yineleyiciyi ilk elemana konumlandırır

Iterator::rewind

(PHP 5, PHP 7, PHP 8)

Iterator::rewind — Yineleyiciyi ilk elemana konumlandırır

Açıklama

public Iterator::rewind(): void

Yineleyiciyi başa ilk elemana döndürür.

Bilginize:

Bir foreach döngüsü başlatılırkan çağrılan ilk yöntemdir. foreach döngüsünden sonra çalıştırılmaz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönen değer olursa yok sayılır.


O anki konum geçerli mi diye bakar

  • « Iterator::rewind
  • IteratorAggregate »
  • PHP Manual
  • Iterator
  • O anki konum geçerli mi diye bakar

Iterator::valid

(PHP 5, PHP 7, PHP 8)

Iterator::valid — O anki konum geçerli mi diye bakar

Açıklama

public Iterator::valid(): bool

Bu yöntem o anki konumun geçerli olup olmadığını sınamak için Iterator::rewind() ve Iterator::next() yöntemlerinden sonra çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönüş değeri bool türüne dönüştürüldükten sonra döndürülür. Başarı durumunda true, başarısızlık durumunda false döner.


IteratorAggregate Arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Harici bir yineleyici oluşturmak için arayüz.

Arayüz Sözdizimi

interface IteratorAggregate extends Traversable {
/* Yöntemler */
public getIterator(): Traversable
}

Örnek 1 - Temel kullanımı

<?php
class Verilerim implements IteratorAggregate {
public $özellik1 = "Birinci genel özellik";
public $özellik2 = "İkinci genel özellik";
public $özellik3 = "Üçüncü genel özellik";
public $özellik4 = "";

public function __construct() {
$this->özellik4 = "son özellik";
}

/* PHP, tr_TR yerelinde bu yöntemi de arıyor, yoksa
* "Fatal error: Couldn't find implementation for method
* Verilerim::getiterator in Unknown on line 0"
* hatasını veriyor.
*/
public function getiterator() {
return new ArrayIterator($this);
}

public public function getIterator(): Traversable {
return new ArrayIterator($this);
}
}

$obj = new Verilerim;

foreach($obj as $key => $value) {
var_dump($key, $value);
echo "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(9) "özellik1"
string(22) "Birinci genel özellik"

string(9) "özellik2"
string(22) "İkinci genel özellik"

string(9) "özellik3"
string(25) "Üçüncü genel özellik"

string(9) "özellik4"
string(12) "son özellik"

İçindekiler

  • IteratorAggregate::getIterator — Harici bir yineleyici ile döner


Harici bir yineleyici ile döner

  • « IteratorAggregate
  • InternalIterator »
  • PHP Manual
  • IteratorAggregate
  • Harici bir yineleyici ile döner

IteratorAggregate::getIterator

(PHP 5, PHP 7, PHP 8)

IteratorAggregate::getIterator — Harici bir yineleyici ile döner

Açıklama

public IteratorAggregate::getIterator(): Traversable

Harici bir yineleyici ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Traversable veya Iterator arayüzünü gerçekleyen nesnenin bir örneğiyle döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir istisna (Exception) oluşur.


InternalIterator sınıfı

(PHP 8)

Giriş

Dahili sınıflar için IteratorAggregate gerçeklemeyi kolaylaştıran sınıf.

Sınıf Sözdizimi

final class InternalIterator implements Iterator {
/* Yöntemler */
private __construct()
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
}

İçindekiler

  • InternalIterator::__construct — Doğrudan örneklemeye izin vermemek için özel kurucu
  • InternalIterator::current — Geçerli öğeyi döndürür
  • InternalIterator::key — Geçerli öğenin anahtarını döndürür
  • InternalIterator::next — Sonraki öğeye ilerler
  • InternalIterator::rewind — Yineleyicinin ilk öğesine geri gider
  • InternalIterator::valid — Konumu doğrular


Doğrudan örneklemeye izin vermemek için özel kurucu

  • « InternalIterator
  • InternalIterator::current »
  • PHP Manual
  • InternalIterator
  • Doğrudan örneklemeye izin vermemek için özel kurucu

InternalIterator::__construct

(PHP 8)

InternalIterator::__construct — Doğrudan örneklemeye izin vermemek için özel kurucu

Açıklama

private InternalIterator::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Geçerli öğeyi döndürür

  • « InternalIterator::__construct
  • InternalIterator::key »
  • PHP Manual
  • InternalIterator
  • Geçerli öğeyi döndürür

InternalIterator::current

(PHP 8)

InternalIterator::current — Geçerli öğeyi döndürür

Açıklama

public InternalIterator::current(): mixed

Geçerli öğeyi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli öğeyi döndürür.


Geçerli öğenin anahtarını döndürür

  • « InternalIterator::current
  • InternalIterator::next »
  • PHP Manual
  • InternalIterator
  • Geçerli öğenin anahtarını döndürür

InternalIterator::key

(PHP 8)

InternalIterator::key — Geçerli öğenin anahtarını döndürür

Açıklama

public InternalIterator::key(): mixed

Geçerli öğenin anahtarını döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli öğenin anahtarını döndürür


Sonraki öğeye ilerler

  • « InternalIterator::key
  • InternalIterator::rewind »
  • PHP Manual
  • InternalIterator
  • Sonraki öğeye ilerler

InternalIterator::next

(PHP 8)

InternalIterator::next — Sonraki öğeye ilerler

Açıklama

public InternalIterator::next(): void

Sonraki öğenin geçerli konumuna ilerler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Yineleyicinin ilk öğesine geri gider

  • « InternalIterator::next
  • InternalIterator::valid »
  • PHP Manual
  • InternalIterator
  • Yineleyicinin ilk öğesine geri gider

InternalIterator::rewind

(PHP 8)

InternalIterator::rewind — Yineleyicinin ilk öğesine geri gider

Açıklama

public InternalIterator::rewind(): void

Yineleyicinin ilk öğesine geri gider.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Konumu doğrular

  • « InternalIterator::rewind
  • Throwable »
  • PHP Manual
  • InternalIterator
  • Konumu doğrular

InternalIterator::valid

(PHP 8)

InternalIterator::valid — Konumu doğrular

Açıklama

public InternalIterator::valid(): bool

Konum için doğrulama yapar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Konum geçerliyse true, değilse false döner.


Throwable Arayüzü

(PHP 7, PHP 8)

Giriş

Throwable bir throw deyimi üzerinden yavrulanabilen Error ve Exception gibi nesneler için temel arayüzdür.

Bilginize:

PHP sınıfları doğrudan Throwable arayüzünden gerçeklenemez, bunun yerine Exception sınıfı genişletilerek gerçeklenir.

Arayüz Sözdizimi

interface Throwable extends Stringable {
/* Yöntemler */
public getMessage(): string
public getCode(): int
public getFile(): string
public getLine(): int
public getTrace(): array
public getTraceAsString(): string
public getPrevious(): ?Throwable
public __toString(): string
/* Miras alınan yöntemler */
public Stringable::__toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Throwable artık Stringable arayüzünü gerçekliyor.

İçindekiler

  • Throwable::getMessage — İleti döndürür
  • Throwable::getCode — İstisna numarasını döndürür
  • Throwable::getFile — Nesnenin oluşturulduğu dosyanın ismini döndürür
  • Throwable::getLine — Nesnenin örneklendiği satır numarasını döndürür
  • Throwable::getTrace — Yığıt izini döndürür
  • Throwable::getTraceAsString — Yığıt izini bir dize olarak döndürür
  • Throwable::getPrevious — Önceki Throwable sınıfıyla döner
  • Throwable::__toString — Yavrulanan nesnenin dize gösterimini döndürür


İleti döndürür

  • « Throwable
  • Throwable::getCode »
  • PHP Manual
  • Throwable
  • İleti döndürür

Throwable::getMessage

(PHP 7, PHP 8)

Throwable::getMessage — İleti döndürür

Açıklama

public Throwable::getMessage(): string

Yavrulanan nesne ile ilgili bir ileti döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yavrulanan nesne ile ilgili bir ileti döndürür.

Ayrıca Bakınız

  • Exception::getMessage() - İstisna iletisi ile döner


İstisna numarasını döndürür

  • « Throwable::getMessage
  • Throwable::getFile »
  • PHP Manual
  • Throwable
  • İstisna numarasını döndürür

Throwable::getCode

(PHP 7, PHP 8)

Throwable::getCode — İstisna numarasını döndürür

Açıklama

public Throwable::getCode(): int

Yavrulanan nesne ile ilgili hata numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Exception'dan istisna numarasını int olarak döndürür fakat Exception çocuklarından başka türde bir değer de dönebilir (örneğin PDOException'dan string).

Ayrıca Bakınız

  • Exception::getCode() - İstisnanın numarası ile döner


Nesnenin oluşturulduğu dosyanın ismini döndürür

  • « Throwable::getCode
  • Throwable::getLine »
  • PHP Manual
  • Throwable
  • Nesnenin oluşturulduğu dosyanın ismini döndürür

Throwable::getFile

(PHP 7, PHP 8)

Throwable::getFile — Nesnenin oluşturulduğu dosyanın ismini döndürür

Açıklama

public Throwable::getFile(): string

Nesnenin oluşturulduğu dosyanın ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Nesnenin oluşturulduğu dosyanın ismini döndürür.

Ayrıca Bakınız

  • Exception::getFile() - İstisnanın oluştuğu dosyanın adı ile döner


Nesnenin örneklendiği satır numarasını döndürür

  • « Throwable::getFile
  • Throwable::getTrace »
  • PHP Manual
  • Throwable
  • Nesnenin örneklendiği satır numarasını döndürür

Throwable::getLine

(PHP 7, PHP 8)

Throwable::getLine — Nesnenin örneklendiği satır numarasını döndürür

Açıklama

public Throwable::getLine(): int

Yavrulanan nesnenin örneklendiği satır numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yavrulanan nesnenin örneklendiği satır numarasını döndürür

Ayrıca Bakınız

  • Exception::getLine() - İstisnanın oluştuğu satırın numarası ile döner


Yığıt izini döndürür

  • « Throwable::getLine
  • Throwable::getTraceAsString »
  • PHP Manual
  • Throwable
  • Yığıt izini döndürür

Throwable::getTrace

(PHP 7, PHP 8)

Throwable::getTrace — Yığıt izini döndürür

Açıklama

public Throwable::getTrace(): array

Yığıt izini array türünde döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıt izini array türünde debug_backtrace() işlevinin döndürdüğü biçimde döndürür.

Ayrıca Bakınız

  • Exception::getTrace() - Yığıt iziyle döner


Yığıt izini bir dize olarak döndürür

  • « Throwable::getTrace
  • Throwable::getPrevious »
  • PHP Manual
  • Throwable
  • Yığıt izini bir dize olarak döndürür

Throwable::getTraceAsString

(PHP 7, PHP 8)

Throwable::getTraceAsString — Yığıt izini bir dize olarak döndürür

Açıklama

public Throwable::getTraceAsString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıt izini bir dize olarak döndürür

Ayrıca Bakınız

  • Exception::getTraceAsString() - Yığıt izini bir dizge olarak döndürür


Önceki Throwable sınıfıyla döner

  • « Throwable::getTraceAsString
  • Throwable::__toString »
  • PHP Manual
  • Throwable
  • Önceki Throwable sınıfıyla döner

Throwable::getPrevious

(PHP 7, PHP 8)

Throwable::getPrevious — Önceki Throwable sınıfıyla döner

Açıklama

public Throwable::getPrevious(): ?Throwable

Önceki herhangi bir Throwable'ı döndürür (örneğin, Exception::__construct()'a üçüncü bağımsız değişken olarak sağlanan).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Varsa önceki Throwable'ı yoksa null döndürür.

Ayrıca Bakınız

  • Exception::getPrevious() - Önceki Throwable nesnesini döndürür


Yavrulanan nesnenin dize gösterimini döndürür

  • « Throwable::getPrevious
  • ArrayAccess »
  • PHP Manual
  • Throwable
  • Yavrulanan nesnenin dize gösterimini döndürür

Throwable::__toString

(PHP 7, PHP 8)

Throwable::__toString — Yavrulanan nesnenin dize gösterimini döndürür

Açıklama

public Throwable::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yavrulanan nesnenin dize gösterimini döndürür,

Ayrıca Bakınız

  • Exception::__toString() - İstisnanın dizgesel gösterimiyle döner


ArrayAccess arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Nesnelere birer dizi olarak erişmeyi sağlayan arayüz.

Arayüz Sözdizimi

interface ArrayAccess {
/* Yöntemler */
public offsetExists(mixed $offset): bool
public offsetGet(mixed $offset): mixed
public offsetSet(mixed $offset, mixed $value): void
public offsetUnset(mixed $offset): void
}

Örnek 1 Temel kullanım

<?php
class Obj implements ArrayAccess {
public $container = [
"bir" => 1,
"iki" => 2,
"üç" => 3,
];

public function offsetSet($offset, $value): void {
if (is_null($offset)) {
$this->container[] = $value;
} else {
$this->container[$offset] = $value;
}
}

public function offsetExists($offset): bool {
return isset($this->container[$offset]);
}

ublic function offsetUnset($offset): void {
unset($this->container[$offset]);
}

public function offsetGet($offset): mixed {
return isset($this->container[$offset]) ? $this->container[$offset] : null;
}
}

$obj = new Obj;

var_dump(isset($obj["iki"]));
var_dump($obj["iki"]);
unset($obj["iki"]);
var_dump(isset($obj["iki"]));
$obj["iki"] = "Bir değer";
var_dump($obj["iki"]);

$obj[] = 'Ek 1';
$obj[] = 'Ek 2';
$obj[] = 'Ek 3';
print_r($obj);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
int(2)
bool(false)
string(7) "Bir değer"
obj Object
(
    [container:obj:private] => Array
        (
            [bir] => 1
            [üç] => 3
            [iki] => Bir değer
            [0] => Ek 1
            [1] => Ek 2
            [2] => Ek 3
        )

)

İçindekiler

  • ArrayAccess::offsetExists — Bir konumun mevcut olup olmadığına bakar
  • ArrayAccess::offsetGet — Konumdaki değeri döndürür
  • ArrayAccess::offsetSet — Belirtilen konuma bir değer atar
  • ArrayAccess::offsetUnset — Belirtilen konum boşaltılır


Bir konumun mevcut olup olmadığına bakar

  • « ArrayAccess
  • ArrayAccess::offsetGet »
  • PHP Manual
  • ArrayAccess
  • Bir konumun mevcut olup olmadığına bakar

ArrayAccess::offsetExists

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetExists — Bir konumun mevcut olup olmadığına bakar

Açıklama

public ArrayAccess::offsetExists(mixed $offset): bool

Bir konumun mevcut olup olmadığına bakar.

ArrayAccess arayüzünü gerçekleyen nesneler üzerinde isset() veya empty() kullanıldığında bu yöntem çalıştırılır.

Bilginize:

empty() işlevi kullanıldığında ArrayAccess::offsetGet() çağrılır ve sadece dönen değer true olduğu takdirde konumun boş olup olmadığına bakılır.

Bağımsız Değişkenler

offset

Varlığı sınanacak konum.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Bilginize:

Dönüş değeri bool türünde değilse tür dönüşümü yapıldıktan sonra döndürülür.

Örnekler

Örnek 1 - ArrayAccess::offsetExists() örneği

<?php
class Sınıf implements ArrayAccess {
public function offsetSet($konum, $değer): void {
var_dump(__METHOD__);
}
public function offsetExists($var): bool {
var_dump(__METHOD__);
if ($var == "filanca") {
return true;
}
return false;
}
public function offsetUnset($var): void {
var_dump(__METHOD__);
}
#[\ReturnTypeWillChange]
public function offsetGet($var) {
var_dump(__METHOD__);
return "değer";
}
}

$nesne = new Sınıf;

echo "Sınıf::offsetExists() çalışır\n";
var_dump(isset($nesne["filanca"]));

echo "\nSınıf::offsetExists() ve Sınıf::offsetGet() çalışır\n";
var_dump(empty($nesne["filanca"]));

echo "\nSınıf::offsetExists() çalışır, alınacak bir şey olmadığından Sınıf::offsetGet() çalışmaz\n";
var_dump(empty($nesne["falanca"]));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sınıf::offsetExists() çalışır
string(21) "Sınıf::offsetExists"
bool(true)

Sınıf::offsetExists() ve Sınıf::offsetGet() çalışır
string(21) "Sınıf::offsetExists"
string(18) "Sınıf::offsetGet"
bool(false)

Sınıf::offsetExists() çalışır, alınacak bir şey olmadığından Sınıf::offsetGet() çalışmaz
string(21) "Sınıf::offsetExists"
bool(true)


Konumdaki değeri döndürür

  • « ArrayAccess::offsetExists
  • ArrayAccess::offsetSet »
  • PHP Manual
  • ArrayAccess
  • Konumdaki değeri döndürür

ArrayAccess::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetGet — Konumdaki değeri döndürür

Açıklama

public ArrayAccess::offsetGet(mixed $offset): mixed

Belirtilen konumdaki değeri döndürür.

Bu yöntem, empty() işlevi ile konumun boş olup olmadığına bakılırken çalıştırılır.

Bağımsız Değişkenler

offset

Değerin döndürüleceği konum.

Dönen Değerler

Her türde değer dönebilir.

Notlar

Bilginize:

Bu yöntemin gerçeklemeleri gönderimli değer döndürebilir. Bu, olası ArrayAccess nesnelerinin aşırı yüklenmiş dizi boyutlarında dolaylı değişiklikleri mümkün kılar.

Doğrudan değişiklikte, $obj[6] = 7 örneğindeki gibi dizi boyutu değeri tamamen değişir. Dolaylı değişiklikte ise, ya boyutun bir kısmı değişir ya da boyut gönderimli olarak başka bir değişkene atanmaya çalışılır ($obj[6][7] = 7 veya $var =& $obj[6] gibi). ++ ile arttırım ve -- ile eksiltim dolaylı değişiklikteki gibi gerçeklenir.

Doğrudan değişiklik  ArrayAccess::offsetSet() çağrısını
tetiklerken, dolaylı değişiklik ArrayAccess::offsetGet()
çağrısını tetikler. Bu durumda, ArrayAccess::offsetGet()
gerçeklenimi gönderimli değer dönürebilmelidir, aksi takdirde bir
E_NOTICE iletisi çıktılanır.

Ayrıca Bakınız

  • ArrayAccess::offsetExists() - Bir konumun mevcut olup olmadığına bakar


Belirtilen konuma bir değer atar

  • « ArrayAccess::offsetGet
  • ArrayAccess::offsetUnset »
  • PHP Manual
  • ArrayAccess
  • Belirtilen konuma bir değer atar

ArrayAccess::offsetSet

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetSet — Belirtilen konuma bir değer atar

Açıklama

public ArrayAccess::offsetSet(mixed $offset, mixed $value): void

Belirtilen konuma belirtilen değer atanır.

Bağımsız Değişkenler

offset

Değerin atanacağı konum.

value

Atanacak değer.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

Aşağıdaki örnekte olduğu gibi, başka bir değer mümkün değilse offset bağımsız değişkenine null atanır.

<?php
$arrayaccess[] = "ilk değer";
$arrayaccess[] = "ikinci değer";
print_r($arrayaccess);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => ilk değer
    [1] => ikinci değer
)

Bilginize:

Bu işlev gönderimli atamalarda çağrılmaz, aksi takdirde ArrayAccess ile dizi boyutlarında yapılan dolaylı değişiklikler aşırı yüklemeye yol açar. Dolaylı değişiklik, boyutu doğrudan değiştirerek değil, bir alt boyutu veya alt özelliği değiştirerek ya da dizi boyutunu gönderimli olarak başka bir değişkene atayarak yapılır. Bunun için ArrayAccess::offsetGet() çağrılır. İşlem sadece yöntem gönderimli değer döndürürse başarılı olur.


Belirtilen konum boşaltılır

  • « ArrayAccess::offsetSet
  • Serializable »
  • PHP Manual
  • ArrayAccess
  • Belirtilen konum boşaltılır

ArrayAccess::offsetUnset

(PHP 5, PHP 7, PHP 8)

ArrayAccess::offsetUnset — Belirtilen konum boşaltılır

Açıklama

public ArrayAccess::offsetUnset(mixed $offset): void

Bir konumu boşaltır.

Bilginize:

(unset) tür çarpıtması yapıldığında bu yöntem çağrılmaz.

Bağımsız Değişkenler

offset

Boşaltılacak konum.

Dönen Değerler

Hiçbir değer dönmez.


Serializable arayüzü

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Dizgeleştirmeyi özelleştirme arayüzü.

Bu arayüzü gerçekleyen sınıflar __sleep() ve __wakeup() işlevlerini desteklemezler. Bir örneğin dizgeleştirilmesi gerektiğinde serialize yöntemi çağrılır. Bunun __destruct() çağırmak veya yöntem içinde tanımlanmamış bir işlemi yapmak gibi bir yan etkisi yoktur. Dizgeleştirilmiş nesne yeniden oluşturulmak istendiğinde sınıf bilinmekte olur ve kurucu olarak __construct() yerine ilgili unserialize() yöntemi çağrılır. Eğer standart kurucuyu çalıştırmak isterseniz bunu yöntemin içinde yapmanız gerekir.

Uyarı

PHP 8.1.0 itibariyle, __serialize() ve __unserialize()'yi de gerçeklemeden sadece Serializable arayüzünü gerçekleyen bir sınıf bunun önerilmediğini belirten bir uyarı üretir.

Arayüz Sözdizimi

interface Serializable {
/* Yöntemler */
public serialize(): ?string
public unserialize(string $data): void
}

Örnek 1 - Temel kullanım

<?php
class obj implements Serializable {
private $data;
public function __construct() {
$this->data = "My private data";
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->data = unserialize($data);
}
public function getData() {
return $this->data;
}
}

$obj = new obj;
$ser = serialize($obj);

var_dump($ser);

$newobj = unserialize($ser);

var_dump($newobj->getData());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(38) "C:3:"obj":23:{s:15:"My private data";}"
string(15) "My private data"

İçindekiler

  • Serializable::serialize — Nesnenin dizgesel gösterimiyle döner
  • Serializable::unserialize — Dizgeleştirilmiş nesneyi yeniden oluşturur


Nesnenin dizgesel gösterimiyle döner

  • « Serializable
  • Serializable::unserialize »
  • PHP Manual
  • Serializable
  • Nesnenin dizgesel gösterimiyle döner

Serializable::serialize

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Serializable::serialize — Nesnenin dizgesel gösterimiyle döner

Açıklama

public Serializable::serialize(): ?string

Nesnenin dizgesel gösterimi ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir hata oluşmamışsa nesnenin dizgesel gösterimi ile, aksi takdirde null ile döner.

Hatalar/İstisnalar

Dönüş türü string veya null değilse bir istisna (Exception) oluşur.

Ayrıca Bakınız

  • __sleep()
  • __serialize()


Dizgeleştirilmiş nesneyi yeniden oluşturur

  • « Serializable::serialize
  • Closure »
  • PHP Manual
  • Serializable
  • Dizgeleştirilmiş nesneyi yeniden oluşturur

Serializable::unserialize

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Serializable::unserialize — Dizgeleştirilmiş nesneyi yeniden oluşturur

Açıklama

public Serializable::unserialize(string $data): void

Dizgeleştirilmiş nesne yeniden oluşturulmak istendiğinde çağrılır.

Bilginize:

Bu yöntem nesnenin kurucusu olarak işlem görür. Bu yöntemin ardından __construct() yöntemi çağrılmaz.

Bağımsız Değişkenler

data

Nesnenin dizgesel gösterimi.

Dönen Değerler

Bu yöntemden dönen değer yoksayılır.

Ayrıca Bakınız

  • __wakeup()
  • __unserialize()


Closure sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Sınıf anonim işlevleri denetler.

Anonim işlevler bu tür nesneler üretir. Bu sınıf oluşturulduktan sonra, anonim işlevlerin daha iyi denetlenmesini sağlayan yöntemlere sahiptir.

Burada listelenen yöntemlerden başka __invoke yöntemine de sahiptir. Bu sınıf, sihirli çağrıları gerçekleyen sınıflarla tutarlılık için vardır ve bu yöntem işlev çağrısı için kullanılmaz.

Sınıf Sözdizimi

final class Closure {
/* Yöntemler */
private __construct()
public static bind(Closure $closure, ?object $newThis, object|string|null $newScope = "static"): ?Closure
public bindTo(?object $newThis, object|string|null $newScope = "static"): ?Closure
public call(object $newThis, mixed ...$args): mixed
public static fromCallable(callable $callback): Closure
}

İçindekiler

  • Closure::__construct — Örneklemeye izin vermeyen kurucu
  • Closure::bind — Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.
  • Closure::bindTo — Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar
  • Closure::call — Bir closure nesnesini bağlar ve çağırır
  • Closure::fromCallable — Bir işlevi bir closure yöntemine dönüştürür


Örneklemeye izin vermeyen kurucu

  • « Closure
  • Closure::bind »
  • PHP Manual
  • Closure
  • Örneklemeye izin vermeyen kurucu

Closure::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Closure::__construct — Örneklemeye izin vermeyen kurucu

Açıklama

private Closure::__construct()

Bu yöntem, Closure sınıfının örneklenmesini engellemek için mevcuttur. Bu sınıfın nesneleri anonim işlevler sayfasında açıklanan şekilde oluşturulur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • Anonim işlevler


Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.

  • « Closure::__construct
  • Closure::bindTo »
  • PHP Manual
  • Closure
  • Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.

Closure::bind

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Closure::bind — Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.

Açıklama

public static Closure::bind(Closure $closure, ?object $newThis, object|string|null $newScope = "static"): ?Closure

Bu yöntem Closure::bindTo() yönteminin statik sürümüdür. Daha fazla bilgi için bu yöntemin belgesine bakınız.

Bağımsız Değişkenler

closure

Bağlanacak anonim işlevin adı.

newThis

Anonim işleve bağlaması için verilen nesne ya da bağın kaldırılması için null.

newScope

İlişkili closure'un ilişkilendirileceği sınıf bağlamı ya da ilişkili olanı tutmak için 'static'. Bir nesne belirtilirse bu nesnenin sınıfı geçerli olur. Bu, bağlı nesnenin protected ve private yöntemlerinin görünürlüğünü saptamaya yarar. Bu bağımsız değişkende dahili bir sınıfı (nesnesini) aktarmaya izin verilmez.

Dönen Değerler

Yeni Closure nesnesi ile döner, başarısızlık durumunda null döner.

Örnekler

Örnek 1 - Closure::bind() örneği

<?php
class A {
private static $sfoo = 1;
private $ifoo = 2;
}
$cl1 = static function() {
return A::$sfoo;
};
$cl2 = function() {
return $this->ifoo;
};

$bcl1 = Closure::bind($cl1, null, 'A');
$bcl2 = Closure::bind($cl2, new A(), 'A');
echo $bcl1(), "\n";
echo $bcl2(), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1
2

Ayrıca Bakınız

  • Anonim işlevler
  • Closure::bindTo() - Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar


Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar

  • « Closure::bind
  • Closure::call »
  • PHP Manual
  • Closure
  • Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar

Closure::bindTo

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Closure::bindTo — Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar

Açıklama

public Closure::bindTo(?object $newThis, object|string|null $newScope = "static"): ?Closure

Yeni bir anonim işlevi mevcutla aynı gövde ve bağlı değişkenlerde, farklı bir "bağlı nesne" ve yeni bir "sınıf bağlamı"yla oluşturup döndürür.

"Bağlı nesne", işlev gövdesinde bulunacak $this değerini, "sınıf bağlamı" ise, anonim işlevin erişebileceği private ve protected üyeleri belirleyen bir sınıfı temsil eder. Yani, görünür olacak üyeler, anonim işlevin newScope bağımsız değişkeninde değer olarak belirtilen sınıfın yöntemleri olan anonim işlevlerle aynıdır.

Statik closure'lar herhangi bir bağlı nesneye sahip olamadıkları gibi (newThis değeri null olmalıdır) bu işlev de onların sınıf bağlamını değiştirmekte kullanılamaz.

Bu işlev, statik-olmayan bir closure için, sahip olunan bağlı bir örneğin bağlamda olup olmadığını görmek içindir.

Bilginize:

Anonim işlevleri sadece yinelemek istiyorsanız basitçe kopyalama yapabilirsiniz.

Bağımsız Değişkenler

newThis

Anonim işleve bağlaması için verilen nesne ya da bağın kaldırılması için null.

newScope

İlişkili closure'un ilişkilendirileceği sınıf bağlamı ya da ilişkili olanı tutmak için 'static'. Bir nesne belirtilirse bu nesnenin sınıfı geçerli olur. Bu, bağlı nesnenin protected ve private yöntemlerinin görünürlüğünü saptamaya yarar. Bu bağımsız değişkende dahili bir sınıfı (nesnesini) aktarmaya izin verilmez.

Dönen Değerler

Yeni oluşturulan Closure nesnesiyle döner. Başarısız olursa null döner.

Örnekler

Örnek 1 - Closure::bindTo() örneği

<?php

class A {
private $val;
function __construct($val) {
$this->val = $val;
}
function getClosure() {
//bu nesne ve bağlama bağlı closure ile döner
return function() { return $this->val; };
}
}

$ob1 = new A(1);
$ob2 = new A(2);

$cl = $ob1->getClosure();
echo $cl(), "\n";
$cl = $cl->bindTo($ob2);
echo $cl(), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1
2

Ayrıca Bakınız

  • Anonim işlevler
  • Closure::bind() - Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.


Bir closure nesnesini bağlar ve çağırır

  • « Closure::bindTo
  • Closure::fromCallable »
  • PHP Manual
  • Closure
  • Bir closure nesnesini bağlar ve çağırır

Closure::call

(PHP 7, PHP 8)

Closure::call — Bir closure nesnesini bağlar ve çağırır

Açıklama

public Closure::call(object $newThis, mixed ...$args): mixed

Closure geçici olarak newThise bağlanır ve belirtilen bağımsız değişkenlerle çağrılır.

Bağımsız Değişkenler

newThis

Çağrı süresince closure'u bağlayacak nesne.

args

Closure nesnesine aktarılacak bağımsız değişkenler; bağımsız değişken belirtme zorunluluğu yoktur.

Dönen Değerler

Closure çağrısından dönen değer.

Örnekler

Örnek 1 - Closure::call() örneği

<?php
class Value {
protected $value;

public function __construct($value) {
$this->value = $value;
}

public function getValue() {
return $this->value;
}
}

$three = new Value(3);
$four = new Value(4);

$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, 4);
$closure->call($four, 4);
?>

Yukarıdaki örneğin çıktısı:

int(7)
int(8)


Bir işlevi bir closure yöntemine dönüştürür

  • « Closure::call
  • stdClass »
  • PHP Manual
  • Closure
  • Bir işlevi bir closure yöntemine dönüştürür

Closure::fromCallable

(PHP 7 >= 7.1.0)

Closure::fromCallable — Bir işlevi bir closure yöntemine dönüştürür

Açıklama

public static Closure::fromCallable(callable $callback): Closure

Geçerli bağlamı kullanarak callback bağımsız değişkeninde belirtilen işlevden yeni bir anonim işlev oluşturur ve döner. Bu yöntem callback işlevinin geçerli bağlamda çağrılabilirliğini sınar ve çağrılabilir değilse bir TypeError yavrular.

Bilginize:

PHP 8.1.0 itibariyle, Birinci sınıf çağrılabilir sözdizimine bu yöntemle aynı sözdizimsel kurallar uygulanmaktadır.

Bağımsız Değişkenler

callback

Dönüştürülecek işlev.

Dönen Değerler

callback işlevi geçerli bağlamda çağrılabiliyorsa yeni oluşturulan Closure ile, çağrılamıyorsa bir TypeError ile döner.

Ayrıca Bakınız

  • Anonim işlevler
  • Birinci sınıf çağrılabilir sözdizimi


stdClass sınıfı

(PHP 4, PHP 5, PHP 7, PHP 8)

Giriş

Dinamik özellikleri olabilen boş genel sınıf.

Bu sınıfın nesneleri new işleci ile örneklenerek veya nesneye dönüşümle oluşturulabilir. Ayrıca, json_decode(), mysqli_fetch_object(), PDOStatement::fetchObject() gibi çeşitli PHP işlevleri de bu sınıfın örneklerini oluşturabilir.

__get()/__set() sihirli yöntemlerini uygulamamasına rağmen, bu sınıf dinamik özelliklere izin verir ve #[\AllowDynamicProperties] özniteliğini gerektirmez.

PHP'nin evrensel temel sınıf kavramı olmadığı için bu temel bir sınıf değildir. Ancak, stdClass'tan genişleyen ve sonuç olarak dinamik özelliklerin işlevselliğini devralan özel bir sınıf oluşturmak mümkündür.

Sınıf Sözdizimi

class stdClass {
}

Bu sınıfın yöntemleri ve öntanımlı özellikleri yoktur.

Örnekler

Örnek 1 - Tür dönüşümüyle nesneye dönüştürerek örnekleme

<?php
$obj = (object) array('foo' => 'bar');
var_dump($obj);

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Örnek 2 - json_decode() ile örnekleme

<?php
$json = '{"foo":"bar"}';
var_dump(json_decode($json));

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["foo"]=>
  string(3) "bar"
}

Örnek 3 - Dinamik özelliklerin bildirilmesi

<?php
$obj = new stdClass();
$obj->foo = 42;
$obj->{1} = 42;
var_dump($obj);

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (2) {
  ["foo"]=>
  int(42)
  ["1"]=>
  int(42)
}


Generator sınıfı

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

Generator nesneleri üreteçlerden döndürülür.

Dikkat

Generator nesneleri new üzerinden örneklenemez.

Sınıf Sözdizimi

final class Generator implements Iterator {
/* Yöntemler */
public current(): mixed
public getReturn(): mixed
public key(): mixed
public next(): void
public rewind(): void
public send(mixed $value): mixed
public throw(Throwable $exception): mixed
public valid(): bool
public __wakeup(): void
}

Ayrıca Bakınız

Ayrıca bkz: Nesne Yineleme

İçindekiler

  • Generator::current — Getirilen değeri döndürür
  • Generator::getReturn — Üretecin dönüş değerini döndürür
  • Generator::key — Getirilen anahtarı döndürür
  • Generator::next — Üretecin çalışmasını kaldığı yerden sürdürür
  • Generator::rewind — Yineleyiciyi başa sarar
  • Generator::send — Üretece bir değer gönderir
  • Generator::throw — Üreteç için bir istisna oluşturur
  • Generator::valid — Yineleyici kapanmış mı diye bakar
  • Generator::__wakeup — Dizeleştirememe istisnası


Getirilen değeri döndürür

  • « Generator
  • Generator::getReturn »
  • PHP Manual
  • Generator
  • Getirilen değeri döndürür

Generator::current

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::current — Getirilen değeri döndürür

Açıklama

public Generator::current(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Getirilen değeri döndürür.


Üretecin dönüş değerini döndürür

  • « Generator::current
  • Generator::key »
  • PHP Manual
  • Generator
  • Üretecin dönüş değerini döndürür

Generator::getReturn

(PHP 7, PHP 8)

Generator::getReturn — Üretecin dönüş değerini döndürür

Açıklama

public Generator::getReturn(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çalışmasını bitirdiğinde üretecin dönüş değerini döndürür.

Örnekler

Örnek 1 - Generator::getReturn() örneği

<?php

$gen = (function() {
yield 1;
yield 2;

return 3;
})();

foreach ($gen as $val) {
echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

Yukarıdaki örneğin çıktısı:

1
2
3


Getirilen anahtarı döndürür

  • « Generator::getReturn
  • Generator::next »
  • PHP Manual
  • Generator
  • Getirilen anahtarı döndürür

Generator::key

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::key — Getirilen anahtarı döndürür

Açıklama

public Generator::key(): mixed

Getirilen değerin anahtarını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Getirilen anahtarı döndürür.

Örnekler

Örnek 1 - Generator::key() örneği

<?php

function Gen()
{
yield 'key' => 'value';
}

$gen = Gen();

echo "{$gen->key()} => {$gen->current()}";

Yukarıdaki örneğin çıktısı:

key => value


Üretecin çalışmasını kaldığı yerden sürdürür

  • « Generator::key
  • Generator::rewind »
  • PHP Manual
  • Generator
  • Üretecin çalışmasını kaldığı yerden sürdürür

Generator::next

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::next — Üretecin çalışmasını kaldığı yerden sürdürür

Açıklama

public Generator::next(): void

Generator::next() çağrısı null bağımsız değişkenli Generator::send() çağrısıyla aynı etkiye sahiptir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Yineleyiciyi başa sarar

  • « Generator::next
  • Generator::send »
  • PHP Manual
  • Generator
  • Yineleyiciyi başa sarar

Generator::rewind

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::rewind — Yineleyiciyi başa sarar

Açıklama

public Generator::rewind(): void

Yineleyici zaten başlamışsa bu bir istisna oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Üretece bir değer gönderir

  • « Generator::rewind
  • Generator::throw »
  • PHP Manual
  • Generator
  • Üretece bir değer gönderir

Generator::send

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::send — Üretece bir değer gönderir

Açıklama

public Generator::send(mixed $value): mixed

Geçerli yield ifadesinin sonucu olarak belirtilen değeri gönderir ve üretecin kaldığı yerden devam etmesini sağlar.

Bu yöntem çağrıldığında üreteç bir yield ifadesinde değilse, değeri göndermeden önce üreteci ilk yield ifadesine ilerletir. Yani, PHP üretecini bir Generator::next() çağrısıyla "iteklemek" gerekmez(Python'da yapıldığı gibi).

Bağımsız Değişkenler

value

Üretece gönderilecek değer. Bu değer üretecin geçerli yield ifadesinin dönüş değeri olacaktır.

Dönen Değerler

yield ifadesinin sonucu ile döner.

Örnekler

Örnek 1 - Değer yerleştirmek içinGenerator::send() kullanımı

<?php
function printer() {
echo "Ben yazıcıyım!".PHP_EOL;
while (true) {
$string = yield;
echo $string.PHP_EOL;
}
}

$printer = printer();
$printer->send('Merhaba Dünya!');
$printer->send('Elveda Dünya!');
?>

Yukarıdaki örneğin çıktısı:

Ben yazıcıyım!
Merhaba Dünya!
Elveda Dünya!


Üreteç için bir istisna oluşturur

  • « Generator::send
  • Generator::valid »
  • PHP Manual
  • Generator
  • Üreteç için bir istisna oluşturur

Generator::throw

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::throw — Üreteç için bir istisna oluşturur

Açıklama

public Generator::throw(Throwable $exception): mixed

Üreteç için bir istisna oluşturur ve üretecin kaldığı yerden devam etmesini sağlar. Geçerli yield ifadesine throw $exception deyimini yerleştirmek gibidir.

Bu yöntem çağrıldığında üreteç kapalıysa istisna çağrıcının bağlamında oluşur.

Bağımsız Değişkenler

exception

Üreteç içinde oluşturulacak istisna.

Dönen Değerler

Verilen değeri döndürür.

Örnekler

Örnek 1 - Bir üreteçte istisna yavrulama

<?php
function gen() {
echo "Foo\n";
try {
yield;
} catch (Exception $e) {
echo "Exception: {$e->getMessage()}\n";
}
echo "Bar\n";
}

$gen = gen();
$gen->rewind();
$gen->throw(new Exception('Test'));
?>

Yukarıdaki örneğin çıktısı:

Foo
Exception: Test
Bar


Yineleyici kapanmış mı diye bakar

  • « Generator::throw
  • Generator::__wakeup »
  • PHP Manual
  • Generator
  • Yineleyici kapanmış mı diye bakar

Generator::valid

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::valid — Yineleyici kapanmış mı diye bakar

Açıklama

public Generator::valid(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yineleyici kapanmışsa false değilse true döner.


Dizeleştirememe istisnası

  • « Generator::valid
  • Fiber »
  • PHP Manual
  • Generator
  • Dizeleştirememe istisnası

Generator::__wakeup

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::__wakeup — Dizeleştirememe istisnası

Açıklama

public Generator::__wakeup(): void

Üreteçler dizeleştirilemediğinden bir istisna oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Fiber sınıfı

(PHP 8 >= 8.1.0)

Giriş

Fiberler, tamamen yığıtlanabilen ve yürütmeyi kesintiye uğratılabilen işlevlerdir. Fiberin çağrı yığıtının herhangi bir yerinde askıya alınmasıyla yürütmenin bekletilmesi ve daha sonra fiberin yürütmeyi kaldığı yerden devam ettirmesi sağlanabilir.

Sınıf Sözdizimi

final class Fiber {
/* Yöntemler */
public __construct(callable $callback)
public start(mixed ...$değerler): mixed
public resume(mixed $değer = null): mixed
public throw(Throwable $istisna): mixed
public getReturn(): mixed
public isStarted(): bool
public isSuspended(): bool
public isRunning(): bool
public isTerminated(): bool
public static suspend(mixed $değer = null): mixed
public static getCurrent(): ?Fiber
}

Ayrıca Bakınız

Fiberlere giriş

İçindekiler

  • Fiber::__construct — Yeni bir Fiber örneği oluşturur
  • Fiber::start — Fiberin çalışmasını başlatır
  • Fiber::resume — Fiberin bir değerle çalışmasını sürdürmesini sağlar
  • Fiber::throw — Fiberin çalışmasını bir istisna ile devam ettirir
  • Fiber::getReturn — Fiber tarafından döndürülen değeri döndürür
  • Fiber::isStarted — Fiber başlatılmış mı diye bakar
  • Fiber::isSuspended — Fiber askıda mı diye bakar
  • Fiber::isRunning — Fiber çalışıyor mu diye bakar
  • Fiber::isTerminated — Fiber sonlanmış mı diye bakar
  • Fiber::suspend — Çalışmakta olan fiberi askıya alır
  • Fiber::getCurrent — Çalışmakta olan Fiber örneğini döndürür


Yeni bir Fiber örneği oluşturur

  • « Fiber
  • Fiber::start »
  • PHP Manual
  • Fiber
  • Yeni bir Fiber örneği oluşturur

Fiber::__construct

(PHP 8 >= 8.1.0)

Fiber::__construct — Yeni bir Fiber örneği oluşturur

Açıklama

public Fiber::__construct(callable $callback)

Bağımsız Değişkenler

callback

Fiber başlatılırken kullanılacak geri çağırım işlevi. İşleve aktarılan bağımsız değişkenler Fiber::start() yöntemine aktarılan bağımsız değişkenlerdir.


Fiberin çalışmasını başlatır

  • « Fiber::__construct
  • Fiber::resume »
  • PHP Manual
  • Fiber
  • Fiberin çalışmasını başlatır

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::start — Fiberin çalışmasını başlatır

Açıklama

public Fiber::start(mixed ...$değerler): mixed

Fiberin başlatılırken çağrılacak geri çağırım işlevine sağlanacak bağımsız değişken sayısı değişiklik gösterebilir.

Fiber zaten bu yöntem çağrılarak başlatılmışsa FiberError istisnası oluşur.

Bağımsız Değişkenler

değerler

Fiber kurucusunun çağıracağı geri çağırım işlevine aktarılacak değerler.

Dönen Değerler

İlk Fiber::suspend() çağrısına aktarılan değer veya fiber zaten dönmüşse null döner. Fiber askıya alınmadan önce bir istisna oluşmuşsa, o istisna bu yöntemin çağrısında yavrulanır.


Fiberin bir değerle çalışmasını sürdürmesini sağlar

  • « Fiber::start
  • Fiber::throw »
  • PHP Manual
  • Fiber
  • Fiberin bir değerle çalışmasını sürdürmesini sağlar

Fiber::resume

(PHP 8 >= 8.1.0)

Fiber::resume — Fiberin bir değerle çalışmasını sürdürmesini sağlar

Açıklama

public Fiber::resume(mixed $değer = null): mixed

Fiber::suspend() çağrısının sonucu olarak belirtilen değeri kullanarak fiberin çalışmasını devam ettirir.

Bu yöntem çağrıldığında fiber askıda değilse FiberError istisnası oluşur.

Bağımsız Değişkenler

değer

Fiberin çalışmasını devam ettirecek değer. Bu değer, geçerli Fiber::suspend() çağrısının dönüş değeri olacaktır.

Dönen Değerler

Sonraki Fiber::suspend() çağrısına sağlanan değer veya fiber dönmüşse null döner. Fiber askıya alınmadan önce bir istisna oluşmuşsa, o istisna bu çağrıdan yavrulanır.


Fiberin çalışmasını bir istisna ile devam ettirir

  • « Fiber::resume
  • Fiber::getReturn »
  • PHP Manual
  • Fiber
  • Fiberin çalışmasını bir istisna ile devam ettirir

Fiber::throw

(PHP 8 >= 8.1.0)

Fiber::throw — Fiberin çalışmasını bir istisna ile devam ettirir

Açıklama

public Fiber::throw(Throwable $istisna): mixed

Geçerli Fiber::suspend() çağrısında belirtilen istisnanın oluşması fiberin çalışmasını sağlar.

Bu yöntem çağrıldığında fiber askıda değilse FiberError istisnası oluşur.

Bağımsız Değişkenler

istisna

Geçerli Fiber::suspend() çağrısındaki fiberin içinde oluşturulacak istisna.

Dönen Değerler

Sonraki Fiber::suspend() çağrısına sağlanan değer veya fiber zaten dönmüşse null döner. Fiber askıya alınmadan önce bir istisna oluşmuşsa, oluşan istisna bu yöntem çağrısında yavrulanır.


Fiber tarafından döndürülen değeri döndürür

  • « Fiber::throw
  • Fiber::isStarted »
  • PHP Manual
  • Fiber
  • Fiber tarafından döndürülen değeri döndürür

Fiber::getReturn

(PHP 8 >= 8.1.0)

Fiber::getReturn — Fiber tarafından döndürülen değeri döndürür

Açıklama

public Fiber::getReturn(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Fiber::__construct() yönteminde belirtilen geri çağırım işlevi tarafından döndürülen değeri döndürür. Fiber bir değer döndürmemişse ya henüz başlatılmamış veya sonlanmış ya da bir istisna yavrulanmış olabilir ve böyle bir durumda FiberError yavrulanır.


Fiber başlatılmış mı diye bakar

  • « Fiber::getReturn
  • Fiber::isSuspended »
  • PHP Manual
  • Fiber
  • Fiber başlatılmış mı diye bakar

Fiber::isStarted

(PHP 8 >= 8.1.0)

Fiber::isStarted — Fiber başlatılmış mı diye bakar

Açıklama

public Fiber::isStarted(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Fiber başlatılmışsa true yoksa false döner.


Fiber askıda mı diye bakar

  • « Fiber::isStarted
  • Fiber::isRunning »
  • PHP Manual
  • Fiber
  • Fiber askıda mı diye bakar

Fiber::isSuspended

(PHP 8 >= 8.1.0)

Fiber::isSuspended — Fiber askıda mı diye bakar

Açıklama

public Fiber::isSuspended(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Fiber askıya alınmışsa true, yoksa false döner.


Fiber çalışıyor mu diye bakar

  • « Fiber::isSuspended
  • Fiber::isTerminated »
  • PHP Manual
  • Fiber
  • Fiber çalışıyor mu diye bakar

Fiber::isRunning

(PHP 8 >= 8.1.0)

Fiber::isRunning — Fiber çalışıyor mu diye bakar

Açıklama

public Fiber::isRunning(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Fiber çalışmaktaysa true döner. Fiber::start(),
Fiber::resume() veya
Fiber::throw() yöntemlerinden birine bir çağrı henüz
dönmemişse fiber çalışıyor demektir. Fiber çalışmıyorsa false döner.


Fiber sonlanmış mı diye bakar

  • « Fiber::isRunning
  • Fiber::suspend »
  • PHP Manual
  • Fiber
  • Fiber sonlanmış mı diye bakar

Fiber::isTerminated

(PHP 8 >= 8.1.0)

Fiber::isTerminated — Fiber sonlanmış mı diye bakar

Açıklama

public Fiber::isTerminated(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Fiber değer döndürerek ya da istisna yavrulayarak sonlanmışsa true, yoksa false döner.


Çalışmakta olan fiberi askıya alır

  • « Fiber::isTerminated
  • Fiber::getCurrent »
  • PHP Manual
  • Fiber
  • Çalışmakta olan fiberi askıya alır

Fiber::suspend

(PHP 8 >= 8.1.0)

Fiber::suspend — Çalışmakta olan fiberi askıya alır

Açıklama

public static Fiber::suspend(mixed $değer = null): mixed

Çalışmakta olan fiberi askıya alır. Bu yönteme aktarılacak değer,
yürütmeyi fibere aktaran Fiber::start(),
Fiber::resume() veya
Fiber::throw() çağrısından sağlanır.

Fiberin çalışmayı sürdürmesi sağlandığında bu yöntem Fiber::resume() yöntemine aktarılan değeri döndürür. Fiberin çalışmayı sürdürmesi Fiber::throw() ile sağlanmışsa, oluşan istisna bu yöntemden yavrulanır.

Yöntem fiber dışından çağrılmışsa FiberError istisnası oluşur.

Bağımsız Değişkenler

değer

Yürütmeyi geçerli fibere aktaran Fiber::start(),
Fiber::resume() veya
Fiber::throw() çağrısından dönecek değer.

Dönen Değerler

Fiber::resume() çağrısına sağlanan değer.


Çalışmakta olan Fiber örneğini döndürür

  • « Fiber::suspend
  • WeakReference »
  • PHP Manual
  • Fiber
  • Çalışmakta olan Fiber örneğini döndürür

Fiber::getCurrent

(PHP 8 >= 8.1.0)

Fiber::getCurrent — Çalışmakta olan Fiber örneğini döndürür

Açıklama

public static Fiber::getCurrent(): ?Fiber

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çalışmakta olan Fiber örneğini veya bu işlev fiber dışından çağrılmışsa null döndürür.


WeakReference sınıfı

(PHP 7 >= 7.4.0, PHP 8)

Giriş

Zayıf gönderimler, programcının, nesnenin yok edilmesini engellemeyen bir nesneye gönderim tutmasına izin verir. Önbellek benzeri yapıları gerçeklemek için kullanışlıdır.

WeakReference örnekleri dizileştirilemez.

Sınıf Sözdizimi

final class WeakReference {
/* Yöntemler */
public __construct()
public static create(object $object): WeakReference
public get(): ?object
}

- WeakReference Örnekleri

Örnek 1 - Temel WeakReference Kullanımı

<?php
$obj = new stdClass;
$weakref = WeakReference::create($obj);
var_dump($weakref->get());
unset($obj);
var_dump($weakref->get());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#1 (0) {
}
NULL

İçindekiler

  • WeakReference::__construct — Örneklemeye izin vermeyen kurucu
  • WeakReference::create — Yeni bir zayıf gönderim oluşturur
  • WeakReference::get — Zayıf gönderimli bir nesne döndürür


Örneklemeye izin vermeyen kurucu

  • « WeakReference
  • WeakReference::create »
  • PHP Manual
  • WeakReference
  • Örneklemeye izin vermeyen kurucu

WeakReference::__construct

(PHP 7 >= 7.4.0, PHP 8)

WeakReference::__construct — Örneklemeye izin vermeyen kurucu

Açıklama

public WeakReference::__construct()

Bu yöntem yalnızca WeakReference sınıfının örneklenmesine izin vermemek için vardır. Zayıf gönderimler WeakReference::create() yöntemi ile gerçeklenir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • WeakReference::create() - Yeni bir zayıf gönderim oluşturur


Yeni bir zayıf gönderim oluşturur

  • « WeakReference::__construct
  • WeakReference::get »
  • PHP Manual
  • WeakReference
  • Yeni bir zayıf gönderim oluşturur

WeakReference::create

(PHP 7 >= 7.4.0, PHP 8)

WeakReference::create — Yeni bir zayıf gönderim oluşturur

Açıklama

public static WeakReference::create(object $object): WeakReference

Yeni bir WeakReference sınıfı örnekler.

Bağımsız Değişkenler

object

Zayıfça başvurulacak nesne.

Dönen Değerler

Taze bir nesne döndürür.


Zayıf gönderimli bir nesne döndürür

  • « WeakReference::create
  • WeakMap »
  • PHP Manual
  • WeakReference
  • Zayıf gönderimli bir nesne döndürür

WeakReference::get

(PHP 7 >= 7.4.0, PHP 8)

WeakReference::get — Zayıf gönderimli bir nesne döndürür

Açıklama

public WeakReference::get(): ?object

Zayıf gönderimli bir nesne döndürür Nesne yok edilmişse, null döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Zayıfça gönderimli bir nesne döndürür. Nesne zaten yok edilmişse, null döndürülür.


WeakMap sınıfı

(PHP 8)

Giriş

WeakMap nesneleri anahtar olarak kabul eden bir haritadır (veya sözlüktür). Ancak, SplObjectStorage'dan farklı olarak, WeakMap anahtarındaki nesne, nesnenin gönderim sayısına katkıda bulunmaz. Yani, herhangi bir noktada bir nesneye kalan tek gönderim bir WeakMap anahtarı ise, nesne çöp olarak toplanacak ve WeakMap'ten kaldırılacaktır. Birincil kullanım durumu, nesneden daha uzun yaşaması gerekmeyen bir nesneden türetilen verilerin arabelleklerini oluşturmak içindir.

WeakMap sınıfı ArrayAccess, Iterator ve Countable arayüzlerini gerçekler, bu yüzden çoğu durumda ilişkili bir dizi gibi kullanılabilir.

Sınıf Sözdizimi

final class WeakMap implements ArrayAccess, Countable, IteratorAggregate {
/* Yöntemler */
public count(): int
public getIterator(): Iterator
public offsetExists(object $nesne): bool
public offsetGet(object $nesne): mixed
public offsetSet(object $nesne, mixed $değer): void
public offsetUnset(object $girdi): void
}

Örnekler

Örnek 1 - Weakmap kullanım örneği

<?php
$wm = new WeakMap();

$o = new stdClass;

class A {
public function __destruct() {
echo "Öldü!\n";
}
}

$wm[$o] = new A;

var_dump(count($wm));
echo "Yok ediliyor...\n";
unset($o);
echo "İşi bitti\n";
var_dump(count($wm));

Yukarıdaki örneğin çıktısı:

int(1)
Yok ediliyor...
Öldü!
İşi bitti
int(0)

İçindekiler

  • WeakMap::count — Haritadaki canlı girdileri sayar
  • WeakMap::getIterator — Harici bir yineleyici ile döner
  • WeakMap::offsetExists — Haritada belli bir nesnenin varlığına bakar
  • WeakMap::offsetGet — Belirli bir nesnenin işaret ettiği değeri verir
  • WeakMap::offsetSet — Yeni bir anahtar-değer çiftiyle haritayı günceller
  • WeakMap::offsetUnset — Haritadan bir girdiyi siler


Haritadaki canlı girdileri sayar

  • « WeakMap
  • WeakMap::getIterator »
  • PHP Manual
  • WeakMap
  • Haritadaki canlı girdileri sayar

WeakMap::count

(PHP 8)

WeakMap::count — Haritadaki canlı girdileri sayar

Açıklama

public WeakMap::count(): int

Haritadaki canlı girdileri sayar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Haritadaki canlı girdilerin sayısını döndürür.


Harici bir yineleyici ile döner

  • « WeakMap::count
  • WeakMap::offsetExists »
  • PHP Manual
  • WeakMap
  • Harici bir yineleyici ile döner

WeakMap::getIterator

(PHP 8)

WeakMap::getIterator — Harici bir yineleyici ile döner

Açıklama

public WeakMap::getIterator(): Iterator

Harici bir yineleyici ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Iterator veya Traversable gerçekleyen bir nesne örneği.

Hatalar/İstisnalar

Başarısızlık durumunda bir Exception yavrular.


Haritada belli bir nesnenin varlığına bakar

  • « WeakMap::getIterator
  • WeakMap::offsetGet »
  • PHP Manual
  • WeakMap
  • Haritada belli bir nesnenin varlığına bakar

WeakMap::offsetExists

(PHP 8)

WeakMap::offsetExists — Haritada belli bir nesnenin varlığına bakar

Açıklama

public WeakMap::offsetExists(object $nesne): bool

Belirtilen nesneye haritada gönderim varsa truedöner.

Bağımsız Değişkenler

nesne

Varlığına bakılacak nesne.

Dönen Değerler

Belirtilen nesne haritada varsa true yoksa false döner.


Belirli bir nesnenin işaret ettiği değeri verir

  • « WeakMap::offsetExists
  • WeakMap::offsetSet »
  • PHP Manual
  • WeakMap
  • Belirli bir nesnenin işaret ettiği değeri verir

WeakMap::offsetGet

(PHP 8)

WeakMap::offsetGet — Belirli bir nesnenin işaret ettiği değeri verir

Açıklama

public WeakMap::offsetGet(object $nesne): mixed

Belirtilen nesnenin işaret ettiği değeri döndürür.

Bağımsız Değişkenler

nesne

Haritada bir anahtar olarak içerilen nesne.

Dönen Değerler

Başarı durumunda belirtilen nesne ile ilişkili değeri, yoksa null döndürür. otherwise.


Yeni bir anahtar-değer çiftiyle haritayı günceller

  • « WeakMap::offsetGet
  • WeakMap::offsetUnset »
  • PHP Manual
  • WeakMap
  • Yeni bir anahtar-değer çiftiyle haritayı günceller

WeakMap::offsetSet

(PHP 8)

WeakMap::offsetSet — Yeni bir anahtar-değer çiftiyle haritayı günceller

Açıklama

public WeakMap::offsetSet(object $nesne, mixed $değer): void

Haritayı yeni anahtar-değer çiftiyle günceller. Belirtilen anahtar haritada mevcutsa yeni değer eskisinin üzerine yazılır.

Bağımsız Değişkenler

nesne

Anahtar-değer çiftinde anahtar olan nesne.

değer

Anahtar-değer çiftinde değer olan keyfi veri.

Dönen Değerler

Hiçbir değer dönmez.


Haritadan bir girdiyi siler

  • « WeakMap::offsetSet
  • Stringable »
  • PHP Manual
  • WeakMap
  • Haritadan bir girdiyi siler

WeakMap::offsetUnset

(PHP 8)

WeakMap::offsetUnset — Haritadan bir girdiyi siler

Açıklama

public WeakMap::offsetUnset(object $girdi): void

Haritadan belirtilen girdiyi siler.

Bağımsız Değişkenler

girdi

Haritadan silinecek nesne.

Dönen Değerler

Hiçbir değer dönmez.


Stringable arayüzü

(PHP 8)

Giriş

Stringable arayüzü sahip olduğu __toString() yöntemiyle dolaylı olarak gerçeklenir. Çoğu arayüzün tersine Stringable açıkça bildirilmiş olsun ya da olmasın, sahip olduğu sihirli __toString() yöntemini tanımlayan her sınıfı dolaylı olarak tanımlar.

Birincil kullanımı, bir dizge veya dizgeye dönüştürülebilir bir nesne kabul edecek bir işlevin bağımsız değişkenine tür olarak string|Stringable birleşimini belirterek tür sınaması yapmasını sağlamaktır.

Sınıf Sözdizimi

interface Stringable {
/* Yöntemler */
public __toString(): string
}

Stringable örnekleri

Örnek 1 - Stringable Temel Kullanımı

<?php
class IPv4Address implements Stringable {
private string $oct1;
private string $oct2;
private string $oct3;
private string $oct4;

public function __construct(string $oct1, string $oct2, string $oct3, string $oct4) {
$this->oct1 = $oct1;
$this->oct2 = $oct2;
$this->oct3 = $oct3;
$this->oct4 = $oct4;
}

public function __toString(): string {
return "$this->oct1.$this->oct2.$this->oct3.$this->oct4";
}
}

function showStuff(string|Stringable $değer) {
// Stringable burada, __toString çağırarak
// değeri dizgeye dönüştürür.
print $değer;
}

$ip = new IPv4Address('123', '234', '42', '9');

showStuff($ip);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

123.234.42.9

İçindekiler

  • Stringable::__toString — Nesnenin dizgesel gösterimini döndürür


Nesnenin dizgesel gösterimini döndürür

  • « Stringable
  • UnitEnum »
  • PHP Manual
  • Stringable
  • Nesnenin dizgesel gösterimini döndürür

Stringable::__toString

(PHP 8)

Stringable::__toString — Nesnenin dizgesel gösterimini döndürür

Açıklama

public Stringable::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Nesnenin dizgesel gösterimi olan dizge döner.

Ayrıca Bakınız

  • __toString()


UnitEnum arayüzü

(PHP 8 >= 8.1.0)

Giriş

UnitEnum arayüzü tüm sayılamalara motor tarafından özdevinimsel uygulanır. Kullanıcı tanımlı sınıflarla gerçeklenemez. Öntanımlı olarak motor tarafından sağlanan yöntemlerini sayılamalar geçersiz kılamaz. Yalnızca tür sınamaları için kullanılabilir.

Arayüz Sözdizimi

interface UnitEnum {
/* Yöntemler */
public static cases(): array
}

İçindekiler

  • UnitEnum::cases — Bir sayılamadan kılıf listesi oluşturur


Bir sayılamadan kılıf listesi oluşturur

  • « UnitEnum
  • BackedEnum »
  • PHP Manual
  • UnitEnum
  • Bir sayılamadan kılıf listesi oluşturur

UnitEnum::cases

(PHP 8 >= 8.1.0)

UnitEnum::cases — Bir sayılamadan kılıf listesi oluşturur

Açıklama

public static UnitEnum::cases(): array

Bu yöntem, bir sayılamadaki tüm kılıfları bildirildikleri sıraya göre içeren bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sayılamadaki tüm kılıfları bildirildikleri sıraya göre içeren bir dizi döner.

Örnekler

Örnek 1 - Temel kullanım örneği

Bu örnekte sayılama kılıflarının nasıl döndürüleceği gösterilmiştir.

<?php
enum Deste
{
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
}
var_dump(Deste::cases());
?>

Yukarıdaki örneğin çıktısı:

array(4) {
    [0]=>
    enum(Deste::Kupalar)
    [1]=>
    enum(Deste::Karolar)
    [2]=>
    enum(Deste::Sinekler)
    [3]=>
    enum(Deste::Maçalar)
}


BackedEnum arayüzü

(PHP 8 >= 8.1.0)

Giriş

BackedEnum arayüzü destekli sayılamalara motor tarafından özdevinimsel uygulanır. Kullanıcı tanımlı sınıflarla gerçeklenemez. Öntanımlı olarak motor tarafından sağlanan yöntemlerini sayılamalar geçersiz kılamaz. Yalnızca tür sınamaları için kullanılabilir.

Arayüz Sözdizimi

interface BackedEnum extends UnitEnum {
/* Yöntemler */
public static from(int|string $değer): static
public static tryFrom(int|string $değer): ?static
/* Miras alınan yöntemler */
public static UnitEnum::cases(): array
}

İçindekiler

  • BackedEnum::from — Belirtilen değeri sayılama nesnesine eşler
  • BackedEnum::tryFrom — Belirtilen değeri sayılama nesnesine eşler, yoksa null döner


Belirtilen değeri sayılama nesnesine eşler

  • « BackedEnum
  • BackedEnum::tryFrom »
  • PHP Manual
  • BackedEnum
  • Belirtilen değeri sayılama nesnesine eşler

BackedEnum::from

(PHP 8 >= 8.1.0)

BackedEnum::from — Belirtilen değeri sayılama nesnesine eşler

Açıklama

public static BackedEnum::from(int|string $değer): static

from() yöntemi, string veya int türünde bir değeri, varsa ilgili sayılama kılıfına eşler. Eşleşeceği kılıf tanımlı değilse ValueError istisnası yavrulanır.

Bağımsız Değişkenler

değer

Sayılama kılıfına eşlenecek sayıl değer.

Dönen Değerler

Varsa sayılama kılıfı örneği döner.

Örnekler

Örnek 1 - Temel kullanım örneği

Bu örnekte sayılama kılıflarının nasıl döndürüleceği gösterilmiştir.

<?php
enum Deste: string
{
case Kupalar = 'Ku';
case Karolar = 'Ka';
case Sinekler = 'S';
case Maçalar = 'M';
}
$h = Deste::from('M');
var_dump($h);
$b = Deste::from('B');
?>

Yukarıdaki örneğin çıktısı:

enum(Deste::Maçalar)
Fatal error: Uncaught ValueError: "B" is not a valid backing value for enum "Deste" in /file.php:15

Ayrıca Bakınız

  • UnitEnum::cases() - Bir sayılamadan kılıf listesi oluşturur
  • BackedEnum::tryFrom() - Belirtilen değeri sayılama nesnesine eşler, yoksa null döner


Belirtilen değeri sayılama nesnesine eşler, yoksa null döner

  • « BackedEnum::from
  • SensitiveParameterValue »
  • PHP Manual
  • BackedEnum
  • Belirtilen değeri sayılama nesnesine eşler, yoksa null döner

BackedEnum::tryFrom

(PHP 8 >= 8.1.0)

BackedEnum::tryFrom — Belirtilen değeri sayılama nesnesine eşler, yoksa null döner

Açıklama

public static BackedEnum::tryFrom(int|string $değer): ?static

tryFrom() yöntemi string veya int türündeki bir değeri ilgili sayılama kılıfına eşler. Eşlenecek kılıf tanımlı değilse null döner.

Bağımsız Değişkenler

değer

Sayılama kılıfına eşlenecek sayıl değer.

Dönen Değerler

Varsa sayılama kılıfı örneği, yoksa null döner.

Örnekler

Örnek 1 - Temel kullanım örneği

Bu örnekte sayılama kılıflarının nasıl döndürüleceği gösterilmiştir.

<?php
enum Deste: string
{
case Kupalar = 'Ku';
case Karolar = 'Ka';
case Sinekler = 'S';
case Maçalar = 'M';
}
$h = Deste::from('Ku');
var_dump($h);
$b = Deste::tryFrom('T') ?? Deste::Sinekler;
var_dump($b);
?>

Yukarıdaki örneğin çıktısı:

enum(Deste::Kupalar)
enum(Deste::Sinekler)

Ayrıca Bakınız

  • UnitEnum::cases() - Bir sayılamadan kılıf listesi oluşturur
  • BackedEnum::from() - Belirtilen değeri sayılama nesnesine eşler


SensitiveParameterValue sınıfı

(PHP 8 >= 8.2.0)

Giriş

SensitiveParameterValue sınıfı hassas değerlerin yanlışlıkla açığa çıkmasını engellemek için sarmalanmasını sağlar.

SensitiveParameter özniteliğine sahip bağımsız değişken değerleri yığıt izlerinde bir SensitiveParameterValue nesnesi içinde otomatik olarak sarmalanır.

Sınıf Sözdizimi

final class SensitiveParameterValue {
/* Özellikler */
private readonly mixed $value;
/* Yöntemler */
public __construct(mixed $value)
public __debugInfo(): array
public getValue(): mixed
}

Özellikler

value

Yanlışlıkla açığa çıkmaya karşı korunacak hassas değer.

İçindekiler

  • SensitiveParameterValue::__construct — Yeni bir SensitiveParameterValue nesnesi oluşturur
  • SensitiveParameterValue::__debugInfo — Hassas değeri yanlışlıkla açığa çıkmaya karşı korur
  • SensitiveParameterValue::getValue — Hassas değeri döndürür


Yeni bir SensitiveParameterValue nesnesi oluşturur

  • « SensitiveParameterValue
  • SensitiveParameterValue::__debugInfo »
  • PHP Manual
  • SensitiveParameterValue
  • Yeni bir SensitiveParameterValue nesnesi oluşturur

SensitiveParameterValue::__construct

(PHP 8 >= 8.2.0)

SensitiveParameterValue::__construct — Yeni bir SensitiveParameterValue nesnesi oluşturur

Açıklama

public SensitiveParameterValue::__construct(mixed $value)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

value

SensitiveParameterValue nesnesi içinde saklanması gereken herhangi bir değer.


Hassas değeri yanlışlıkla açığa çıkmaya karşı korur

  • « SensitiveParameterValue::__construct
  • SensitiveParameterValue::getValue »
  • PHP Manual
  • SensitiveParameterValue
  • Hassas değeri yanlışlıkla açığa çıkmaya karşı korur

SensitiveParameterValue::__debugInfo

(PHP 8 >= 8.2.0)

SensitiveParameterValue::__debugInfo — Hassas değeri yanlışlıkla açığa çıkmaya karşı korur

Açıklama

public SensitiveParameterValue::__debugInfo(): array

var_dump() kullanıldığında yanlışlıkla açığa çıkmaması için korunacak boş bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Boş dizi.

Örnekler

Örnek 1 - var_dump() işlevine SensitiveParameterValue nesnesinin aktarılması

<?php
$s = new \SensitiveParameterValue('sır');
var_dump($s);
?>

Yukarıdaki örneğin çıktısı:

object(SensitiveParameterValue)#1 (0) {
}


Hassas değeri döndürür

  • « SensitiveParameterValue::__debugInfo
  • Ön tanımlı Öznitelikler »
  • PHP Manual
  • SensitiveParameterValue
  • Hassas değeri döndürür

SensitiveParameterValue::getValue

(PHP 8 >= 8.2.0)

SensitiveParameterValue::getValue — Hassas değeri döndürür

Açıklama

public SensitiveParameterValue::getValue(): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hassas değer.

Örnekler

Örnek 1 - SensitiveParameterValue::getValue() örneği

<?php
$s = new \SensitiveParameterValue('sır');
echo "Meraklı gözlerden korunan değer: ", $s->getValue(), "\n";
?>

Yukarıdaki örneğin çıktısı:

Meraklı gözlerden korunan değer: sır


Ön tanımlı Öznitelikler

İçindekiler

  • Attribute
  • AllowDynamicProperties
  • ReturnTypeWillChange
  • SensitiveParameter

PHP, ön tanımlı bazı öznitelikler sağlar.


Attribute sınıfı

(PHP 8)

Giriş

Öznitelikler, yapılandırılmış, makine tarafından okunabilen meta verilerin koddaki bildirimlerle eklenebilmesini sağlar: Sınıflar, yöntemler, işlevler, bağımsız değişkenler, özellikler ve sınıf sabitleri bir özniteliğin hedefi olabilir. Öznitelikler tarafından tanımlanan meta veriler, daha sonra Reflection arayüzleri kullanılarak çalışma anında incelenebilir. Bu nedenle öznitelikler, doğrudan koda gömülü bir yapılandırma dili olarak düşünülebilir.

Sınıf Sözdizimi

final class Attribute {
/* Sabitler */
const int TARGET_CLASS;
const int TARGET_FUNCTION;
const int TARGET_METHOD;
const int TARGET_PROPERTY;
const int TARGET_CLASS_CONSTANT;
const int TARGET_PARAMETER;
const int TARGET_ALL;
const int IS_REPEATABLE;
/* Özellikler */
public int $flags;
/* Yöntemler */
public __construct(int $flags = Attribute::TARGET_ALL)
}

Öntanımlı Sabitler

Attribute::TARGET_CLASS

Attribute::TARGET_FUNCTION

Attribute::TARGET_METHOD

Attribute::TARGET_PROPERTY

Attribute::TARGET_CLASS_CONSTANT

Attribute::TARGET_PARAMETER

Attribute::TARGET_ALL

Attribute::IS_REPEATABLE

Özellikler

flags

Ayrıca Bakınız

Genelde Öznitelikler

İçindekiler

  • Attribute::__construct — Yeni bir öznitelik (Attribute nesnesi) örnekler


Yeni bir öznitelik (Attribute nesnesi) örnekler

  • « Attribute
  • AllowDynamicProperties »
  • PHP Manual
  • Attribute
  • Yeni bir öznitelik (Attribute nesnesi) örnekler

Attribute::__construct

(PHP 8)

Attribute::__construct — Yeni bir öznitelik (Attribute nesnesi) örnekler

Açıklama

public Attribute::__construct(int $flags = Attribute::TARGET_ALL)

Yeni bir Attribute nesnesi oluşturur.

Bağımsız Değişkenler

flags


AllowDynamicProperties sınıfı

(PHP 8 >= 8.2.0)

Giriş

Bu öznitelik dinamik özelliklere izin veren sınıfları imlemekte kullanılır.

Sınıf Sözdizimi

final class AllowDynamicProperties {
/* Yöntemler */
public __construct()
}

Örnekler

PHP 8.2.0 ve sonrasında dinamik özelliklerin kullanımı önerilmemektedir. Bu öznitelik ile imlenmeden kullanılan sınıflar bunu vurgulayan bir uyarı çıktılar.

<?php
class DefaultBehaviour { }
#[\AllowDynamicProperties]
class ClassAllowsDynamicProperties { }
$o1 = new DefaultBehaviour();
$o2 = new ClassAllowsDynamicProperties();
$o1->nonExistingProp = true;
$o2->nonExistingProp = true;
?>

Yukarıdaki örneğin PHP 8.2 çıktısı:

Deprecated: Creation of dynamic property DefaultBehaviour::$nonExistingProp is deprecated in file on line 10

Ayrıca Bakınız

Öznitelikler

İçindekiler

  • AllowDynamicProperties::__construct — AllowDynamicProperties özniteliğinin yeni bir örneğini oluşturur


AllowDynamicProperties özniteliğinin yeni bir örneğini oluşturur

  • « AllowDynamicProperties
  • ReturnTypeWillChange »
  • PHP Manual
  • AllowDynamicProperties
  • AllowDynamicProperties özniteliğinin yeni bir örneğini oluşturur

AllowDynamicProperties::__construct

(PHP 8 >= 8.2.0)

AllowDynamicProperties::__construct — AllowDynamicProperties özniteliğinin yeni bir örneğini oluşturur

Açıklama

public AllowDynamicProperties::__construct()

Yeni bir AllowDynamicProperties nesnesi oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


ReturnTypeWillChange sınıfı

(PHP 8 >= 8.1.0)

Giriş

Final olarak nitelenmemiş dahili yöntemlerin çoğu artık uyumlu bir dönüş türü bildirmek için geçersiz kılma yöntemleri gerektiriyor, aksi takdirde kalıtım doğrulaması sırasında kullanımın önerilmediğini belirten bir uyarı çıktılanıyor. PHP sürümler arası uyumluluk endişeleri nedeniyle geçersiz kılma yöntemi için dönüş türünün bildirilmemesi durumunda, bu uyarıyı susturmak için bir #[\ReturnTypeWillChange] özniteliği eklenebilir.

Sınıf Sözdizimi

final class ReturnTypeWillChange {
/* Yöntemler */
public __construct()
}

Ayrıca Bakınız

Öznitelikler

İçindekiler

  • ReturnTypeWillChange::__construct — Yeni bir ReturnTypeWillChange özniteliği örneği oluşturur


Yeni bir ReturnTypeWillChange özniteliği örneği oluşturur

  • « ReturnTypeWillChange
  • SensitiveParameter »
  • PHP Manual
  • ReturnTypeWillChange
  • Yeni bir ReturnTypeWillChange özniteliği örneği oluşturur

ReturnTypeWillChange::__construct

(PHP 8 >= 8.1.0)

ReturnTypeWillChange::__construct — Yeni bir ReturnTypeWillChange özniteliği örneği oluşturur

Açıklama

public ReturnTypeWillChange::__construct()

Yeni bir ReturnTypeWillChange nesnesi oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


SensitiveParameter sınıfı

(PHP 8 >= 8.2.0)

Giriş

Bu öznitelik, hassas olan ve bir yığın izlemede, varsa değerinin gizlenmesini gerektiren bir bağımsız değişkeni imlemek için kullanılır.

Sınıf Sözdizimi

final class SensitiveParameter {
/* Yöntemler */
public __construct()
}

Örnekler

<?php
function defaultBehavior(
string $secret,
string $normal
) {
throw new Exception('Error!');
}
function sensitiveParametersWithAttribute(
#[\SensitiveParameter]
string $secret,
string $normal
) {
throw new Exception('Error!');
}
try {
defaultBehavior('password', 'normal');
} catch (Exception $e) {
echo $e, PHP_EOL, PHP_EOL;
}
try {
sensitiveParametersWithAttribute('password', 'normal');
} catch (Exception $e) {
echo $e, PHP_EOL, PHP_EOL;
}
?>

Yukarıdaki örneğin PHP 8.2 çıktısı şuna benzer:

Exception: Error! in example.php:7
Stack trace:
#0 example.php(19): defaultBehavior('password', 'normal')
#1 {main}
Exception: Error! in example.php:15
Stack trace:
#0 example.php(25): sensitiveParametersWithAttribute(Object(SensitiveParameterValue), 'normal')
#1 {main}

Ayrıca Bakınız

  • Öznitelikler
  • SensitiveParameterValue

İçindekiler

  • SensitiveParameter::__construct — Yeni bir SensitiveParameter özniteliği örneği oluşturur


Yeni bir SensitiveParameter özniteliği örneği oluşturur

  • « SensitiveParameter
  • Bağlam seçenekleri ve bağımsız değişkenleri »
  • PHP Manual
  • SensitiveParameter
  • Yeni bir SensitiveParameter özniteliği örneği oluşturur

SensitiveParameter::__construct

(PHP 8 >= 8.2.0)

SensitiveParameter::__construct — Yeni bir SensitiveParameter özniteliği örneği oluşturur

Açıklama

public SensitiveParameter::__construct()

Yeni bir SensitiveParameter nesnesi oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Bağlam seçenekleri ve bağımsız değişkenleri

PHP, tüm dosya sistemi ve akım sarmalayıcılarla kullanılabilen
çeşitli bağlam seçenekleri ve bağımsız değişkenlerine sahiptir. Bağlam
stream_context_create() ile oluşturulur. Seçenekler
stream_context_set_option() ile bağımsız değişkenleri ise
stream_context_set_params() ile atanır.

İçindekiler

  • Soket bağlamı seçenekleri — Soket bağlamı seçeneklerinin listesi
  • HTTP bağlamı seçenekleri — HTTP bağlamı seçeneklerinin listesi
  • FTP bağlamı seçenekleri — FTP bağlamı seçeneklerinin listesi
  • SSL bağlamı seçenekleri — SSL bağlamı seçeneklerinin listesi
  • Phar bağlam seçenekleri — Phar bağlamı seçeneklerinin listesi
  • Bağlam bağımsız değişkenleri — Bağlam bağımsız değişkeni listeleme
  • Zip bağlamı seçenekleri — Zip bağlamı seçeneklerinin listesi
  • Zlib bağlam seçenekleri — Zlib bağlam seçeneklerinin listesi


Soket bağlamı seçeneklerinin listesi

  • « Bağlam seçenekleri ve bağımsız değişkenleri
  • HTTP bağlamı seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • Soket bağlamı seçeneklerinin listesi

Soket bağlamı seçenekleri

Soket bağlamı seçenekleri — Soket bağlamı seçeneklerinin listesi

Açıklama

Soket bağlamı seçenekleri, tcp, http ve ftp gibi soketler üzerinde çalışan tüm sarmalayıcılar için kullanılabilir.

Seçenekler

bindto

PHP'nin ağa erişmek için kullanacağı IP adresini (IPv4 veya IPv6) ve port numarasını belirtmek için kullanılır. Söz dizimi: IPV4 adreslsr için ip:port ve IPV6 adreslsr için [ip]:port. IP veya porta 0 belirtilirse IP veya portu sistem seçer.

Bilginize:

FTP'de normal işlem sırasında iki soket bağlantısı oluşturulur, port numarası bu seçenek kullanılarak belirtilemez.

backlog

Soketin dinleme kuyruğundaki çıkan bağlantıların sayısını kısıtlamakta kullanılır.

Bilginize:

Sadece stream_socket_server() işlevi için uygulanabilir.

ipv6_v6only

IPv4'ün IPv6'ya eşleştirilmesiyle ilgili işletim sistemi öntanımlısını geçersiz kılar.

Bilginize:

Bu, özellikle [::] üzerinde bir bağ mevcutken IPv4 adreslerini ayrı ayrı dinlemeye çalışırken önemlidir.

Sadece stream_socket_server() işlevine uygulanabilir.

so_reuseport

Ayrı süreçlerden bile olsa aynı ip:port çiftine çok sayıda bağlanma sağlar.

Bilginize:

Sadece stream_socket_server() işlevine uygulanabilir.

so_broadcast

Yayın adresleri/ne/nden veri gönderip alır.

Bilginize:

Sadece stream_socket_server() işlevine uygulanabilir.

tcp_nodelay

Bu seçeneğe true atanması TCP Nagle algoritmasını iptal edeceğinden SOL_TCP,NO_DELAY=1 atamasına sebep olacaktır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | tcp_nodelay eklendi.
7.0.1 | ipv6_v6only eklendi.

Örnekler

Örnek 1 - Temel bindto kullanım örneği

<?php
// internete '192.168.0.100' IP'yi kullanarak bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);

// internete '192.168.0.100' IP ve port '7000' üzerinden bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '192.168.0.100:7000',
),
);

// internete '2001:db8::1' IPv6 adresini kullanarak bağlanalım
// and port '7000'
$opts = array(
'socket' => array(
'bindto' => '[2001:db8::1]:7000',
),
);

// internete port '7000' üzerinden bağlanalım
$seçenekler = array(
'socket' => array(
'bindto' => '0:7000',
),
);

// bağlamı oluşturalım...
$bağlam = stream_context_create($seçenekler);

// ...ve veri çekmek için kullanalım
echo file_get_contents('http://misal.dom', false, $bağlam);

?>


HTTP bağlamı seçeneklerinin listesi

  • « Soket bağlamı seçenekleri
  • FTP bağlamı seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • HTTP bağlamı seçeneklerinin listesi

HTTP bağlamı seçenekleri

HTTP bağlamı seçenekleri — HTTP bağlamı seçeneklerinin listesi

Açıklama

http:// ve https:// aktarımları için bağlam seçenekleri.

Seçenekler

method string

Uzak sunucu tarafından desteklenen GET, POST veya başka bir HTTP yöntemi.

GET öntanımlıdır.

header array veya string

İstek sırasında gönderilecek ek başlıklar. Bu seçenekte belirtilen değerler, ardından gelen Location: yönlendirmelerinde bile, diğer değerleri geçersiz kılar (User-agent:, Host:, Authentication: gibi). Bu bakımdan, follow_location etkinken Host: başlığının atanması önerilmez.

user_agent string

User-Agent: başlığı ile gönderilecek değer. Bu değer sadece, tarayıcı header seçeneği ile belirtilmemişse kullanılır.

Öntanımlı olarak, php.ini dosyasındaki user_agent değeri kullanılır.

content string

Başlıklardan sonra gönderilecek ek veri. Normalde POST veya PUT istekleriyle kullanılır.

proxy string

Vekil sunucunun adresini belirten URI (tcp://vekil.example.com:5100 gibi).

request_fulluri bool

true atanırsa, istek oluşturulurken URI'nin tamamı kullanılır (GET http://example.com/dizin/yolu/dosya.html HTTP/1.0 gibi). Bu standart dışı bir istek biçimi olsa da bazı vekil sunucular bunun böyle olmasını gerektirirler.

false öntanımlıdır.

follow_location int

Location başlık yönlendirmelerini izler. İptal etmek için 0 atayın.

1 öntanımlıdır.

max_redirects int

İzlenecek yönlendirmelerin azami sayısı. 1 veya daha az bir değer belirtilmesi hiçbir yönlendirmenin izlenmeyeceği anlamına gelir.

20 öntanımlıdır.

protocol_version float

HTTP protokolünün sürümü.

PHP 8.0.0 itibariyle 1.1 öntanımlıdır, evvelce 1.0 sürümü öntanımlıydı.

timeout float

Bir float değer olarak saniye cinsinden okuma zaman aşımı. (10.5 gibi).

Öntanımlı olarak, php.ini dosyasındaki default_socket_timeout yönergesinin değeri kullanılır.

ignore_errors bool

Başarısızlık durumu kodlarında bile içerik alınır.

false öntanımlıdır.

Örnekler

Örnek 1 - Bir sayfayı çekip veriyi POST ile göndermek

<?php

$postverisi = http_build_query(
array(
'var1' => 'biraz içerik',
'var2' => 'eh işte'
)
);

$seçenekler = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postverisi
)
);

$bağlam = stream_context_create($seçenekler);

$sonuç = file_get_contents('http://example.com/submit.php', false, $bağlam);

?>

Örnek 2 - Başlıklar ve içerik alınırken yönlendirmeleri yoksaymak

<?php

$url = "http://www.example.org/header.php";

$opts = array('http' =>
array(
'method' => 'GET',
'max_redirects' => '0',
'ignore_errors' => '1'
)
);

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// meta veri ve başlıklar
var_dump(stream_get_meta_data($stream));

// esas veri
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Notlar

Bilginize: Temel soket akımı bağlamı seçenekleri
Ek bağlamsal seçenekler temel aktarım tarafından desteklenebilir. http:// akımları için tcp:// aktarımının bağlamsal seçeneklerine atıf yapılır. https:// akımları için ise ssl:// aktarımının bağlamsal seçeneklerine atıf yapılır.

Bilginize: HTTP durum satırı
Bu akım sarmalayıcı bir yönlendirmeyi izlerken stream_get_meta_data() tarafından döndürülen wrapper_data, gerçekte 0 indisinde içerik verisine uygulanan HTTP durum satırını içermeyebilir.

array (
  'wrapper_data' =>
  array (
    0 => 'HTTP/1.0 301 Moved Permantenly',
    1 => 'Cache-Control: no-cache',
    2 => 'Connection: close',
    3 => 'Location: http://example.com/foo.jpg',
    4 => 'HTTP/1.1 200 OK',
    ...
İlk istek 301 (kalıcı yönlendirme) ile döndü, dolayısıyla akım sarmalayıcı otomatik olarak yönlendirmeyi izleyip bir 200 yanıtı aldı (indis = 4).

Ayrıca Bakınız

  • http://
  • Soket bağlamı seçenekleri
  • SSL bağlamı seçenekleri


FTP bağlamı seçeneklerinin listesi

  • « HTTP bağlamı seçenekleri
  • SSL bağlamı seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • FTP bağlamı seçeneklerinin listesi

FTP bağlamı seçenekleri

FTP bağlamı seçenekleri — FTP bağlamı seçeneklerinin listesi

Açıklama

ftp:// ve ftps:// aktarımları için bağlamsal seçenekler.

Seçenekler

overwrite bool

Uzak sunucuda mevcut dosyaların üzerine yazılmasına izin verir. Sadece yazma kipine (dosya gönderme) uygulanır.

false öntanımlıdır.

resume_pos int

Aktarımın başlatılacağı dosya konumu. Sadece okuma kipine (indirme) uygulanır.

0 (dosyanın başlangıcı) öntanımlıdır.

proxy string

HTTP vekil sunucu üzerinden vekil FTP isteği. Sadece dosya okuma işlemlerine uygulanır. Örnek: tcp://vekil.mesela.dom:8000.

Notlar

Bilginize: Temel soket akımı bağlamı seçenekleri
Ek bağlamsal seçenekler temel aktarım tarafından desteklenebilir. ftp://akımları için tcp:// aktarımının bağlamsal seçeneklerine atıf yapılır. ftps:// akımları için ise ssl:// aktarımının bağlamsal seçeneklerine atıf yapılır.

Ayrıca Bakınız

  • ftp://
  • Soket bağlamı seçenekleri
  • SSL bağlamı seçenekleri


SSL bağlamı seçeneklerinin listesi

  • « FTP bağlamı seçenekleri
  • Phar bağlam seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • SSL bağlamı seçeneklerinin listesi

SSL bağlamı seçenekleri

SSL bağlamı seçenekleri — SSL bağlamı seçeneklerinin listesi

Açıklama

ssl:// ve tls:// aktarımları için bağlamsal seçenekler.

Seçenekler

peer_name string

Kullanılan görevdeşin ismi.Bu değer yoksa akım açılırken kullanılan konağın ismine dayalı olarak tahmin edilir.

verify_peer bool

SSL sertifikası kullanımının doğrulanmasını gerektirir.

true öntanımlıdır.

verify_peer_name bool

Görevdeş isminin doğrulanması gerekir.

true öntanımlıdır.

allow_self_signed bool

Öz imzalı sertifikalara izin verilir. verify_peer gerekir.

false öntanımlıdır.

cafile string

Uzak görevdeşin kimliğini doğrulamak için verify_peer bağlam seçeneği ile kullanmak üzere yerel dosya sistemindeki Sertifika Yetkilisi dosyasının yeri.

capath string

cafile belirtilmemişse veya sertifika yerinde yoksa uygun sertifikayı bulmak için capath tarafından işaret edilen dizin araştırılır. capath doğru olarak betimlenmiş sertifika dizini olmalıdır.

local_cert string

Yerel sertifikanın dosya sistemindeki yeri. Sertifikanızı ve özel anahtarınızı içeren PEM kodlamalı bir dosya olmalıdır. Seçimlik olarak sertifika sağlayıcıların sertifika zincirini içerebilir. Ayrıca, özel anahtar local_pk ile belirtilen bir dosyayı da içerebilir.

local_pk string

Dosya sisteminde sertifika (local_cert) ve özel anahtar için ayrı dosyalar olması durumunda yerel özel anahtar dosyasının yolu.

passphrase string

local_cert dosyanızı kodlayan anahtar parolası.

verify_depth int

Sertifika zinciri çok derinse çıkılır.

Doğrulama yapılmaması öntanımlıdır.

ciphers string

Kullanılabilir şifrelerin listesi belirtilir. Dizge biçemi » ciphers(1) kılavuz sayfasında açıklanmıştır.

DEFAULT öntanımlıdır.

capture_peer_cert bool

true belirtilirse peer_certificate bağlam seçeneği görevdeşin sertifikasını içererek oluşturulur.

capture_peer_cert_chain bool

true belirtilirse peer_certificate_chain bağlam seçeneği sertifika zincirini içererek oluşturulur.

SNI_enabled bool

true atanırsa sunucu ismi belirteci (SNI) etkin olur. Böylece aynı IP adresinde çok sayıda sertifika mümkün olur.

disable_compression bool

true atanırsa TLS sıkıştırması yapılmaz. Bu, CRIME (SUÇ) saldırı vektörünü azaltmaya yardımcı olabililir.

peer_fingerprint string | array

Uzak sertifika özeti belirtilenle eşleşmezse çıkar.

Değer string türünde belirtilmişse, uzunluk aşlama algoritmasından belirlenir ("md5" için 32, "sha1" için 40 gibi).

Değer array türünde belirtilmişse, anahtarlar aşlama algoritmasının ismini, değerler umulan aşı içerir.

security_level int

Güvenlik seviyesini belirler. Belirtilmezse kütüphane öntanımlı güvenlik seviyesi kullanılır. Güvenlik seviyeleri için bkz: » SSL_CTX_get_security_level(3).

PHP 7.2.0 ve OpenSSL 1.1.0 itibariyle kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | security_level bağımsız değişkeni eklendi. OpenSSL >= 1.1.0. gerekir.

Notlar

Bilginize: https:// ve ftps:// sarmalayıcıları için ssl:// temel aktarım olduğundan, ssl://'e uygulanan bağlamsal seçenekler ayrıca https:// ve ftps://'e de uygulanır.

Bilginize: SNI'nin (Server Name Indication - Sunucu ismi belirteci) kullanılabilmesi için PHP'nin OpenSSL 0.9.8j veya daha üst sürümü ile derlenmesi gerekir. SNI desteği olup olmadığını anlamak için OPENSSL_TLSEXT_SERVER_NAME kullanılır.

Ayrıca Bakınız

  • Soket bağlamı seçenekleri


Phar bağlamı seçeneklerinin listesi

  • « SSL bağlamı seçenekleri
  • Bağlam bağımsız değişkenleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • Phar bağlamı seçeneklerinin listesi

Phar bağlam seçenekleri

Phar bağlam seçenekleri — Phar bağlamı seçeneklerinin listesi

Açıklama

phar:// sarmalayıcısı için bağlam seçenekleri.

Seçenekler

compress int

Phar sıkıştırma sabitlerinden biri.

metadata mixed

Phar meta verisi. Bakınız: Phar::setMetadata().

Ayrıca Bakınız

  • phar://
  • Phar akım sarmalayıcısı


Bağlam bağımsız değişkeni listeleme

  • « Phar bağlam seçenekleri
  • Zip bağlamı seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • Bağlam bağımsız değişkeni listeleme

Bağlam bağımsız değişkenleri

Bağlam bağımsız değişkenleri — Bağlam bağımsız değişkeni listeleme

Açıklama

Bu bağımsız değişkenler bir bağlama stream_context_set_params() işlevi kullanılarak atanabilir.

Bağımsız Değişkenler

notification callable

Bir akımda bir olayın sonucunda tetiklenecek geri çağırım işlevi.

Daha fazla bilgi için stream_notification_callback() işlevine bakınız.


Zip bağlamı seçeneklerinin listesi

  • « Bağlam bağımsız değişkenleri
  • Zlib bağlam seçenekleri »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • Zip bağlamı seçeneklerinin listesi

Zip bağlamı seçenekleri

Zip bağlamı seçenekleri — Zip bağlamı seçeneklerinin listesi

Açıklama

Zip bağlamı seçenekleri zip sarmalayıcılar için kullanılabilir.

Seçenekler

password

Şifreli arşiv için kullanılacak parolayı belirtmek için kullanılır.

Sürüm Bilgisi

Sürüm: | Açıklama
PHP 7.2.0, PECL zip 1.14.0 | password eklendi.

Örnekler

Örnek 1 - Basit password kullanım örneği

<?php
// Şifreli arşivi oku
$opts = array(
'zip' => array(
'password' => 'secret',
),
);
// bağlamı oluştur...
$context = stream_context_create($opts);

// ...ve veriyi çekip almak için onu kullan
echo file_get_contents('zip://test.zip#test.txt', false, $context);

?>


Zlib bağlam seçeneklerinin listesi

  • « Zip bağlamı seçenekleri
  • Desteklenen Protokoller ve Sarmalayıcılar »
  • PHP Manual
  • Bağlam seçenekleri ve bağımsız değişkenleri
  • Zlib bağlam seçeneklerinin listesi

Zlib bağlam seçenekleri

Zlib bağlam seçenekleri — Zlib bağlam seçeneklerinin listesi

Açıklama

Zlib bağlam seçenekleri zlibsarmalayıcılar için kullanılabilir.

Seçenekler

level

Sıkıştırma düzeyini (0 - 9) belirtmekte kullanılır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | level eklendi.


Desteklenen Protokoller ve Sarmalayıcılar

PHP fopen(), copy(), file_exists() ve filesize() gibi dosya sistemi işlevleriyle kullanmak için URL tarzı protokollere atanmış çeşitli sarmalayıcılarla birlikte gelir. Bu sarmalayıcılara ek olarak, stream_wrapper_register() işlevini kullanarak özel sarmalayıcılar kaydetmek de mümkündür.

Bilginize: Bir sarmalayıcıyı açıklamakta kullanılan URL sözdizimi sadece düzen://... sözdizimini destekler. düzen:/ ve düzen: sözdizimleri desteklenmez.

İçindekiler

  • file:// — Yerel dosya sistemine erişim
  • http:// — HTTP'lere erişim
  • ftp:// — FTP'lere Erişim
  • php:// — Çeşitli G/Ç akımlarına erişim
  • zlib:// — Sıkıştırma Akımları
  • data:// — Data (RFC 2397)
  • glob:// — Kalıpla eşleşen dosya yollarını bulur
  • phar:// — PHP Arşivi
  • ssh2:// — Güvenli Kabuk 2
  • rar:// — RAR
  • ogg:// — Ses akımları
  • expect:// — Süreçlerle Etkileşim Akımları


Yerel dosya sistemine erişim

  • « Desteklenen Protokoller ve Sarmalayıcılar
  • http:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Yerel dosya sistemine erişim

file://

file:// — Yerel dosya sistemine erişim

Açıklama

file:// sarmalayıcısı PHP ile kullanılan öntanımlı sarmalayıcı olup yerel dosya sistemini temsil eder. Göreli (/, \, \\ veya bir Windows sürücü harfi ile başlamayan) bir dosya yolu belirtilirse, bu çalışma dizininize göre uygulanır. Çoğu durumda bu, değiştirilmediği sürece betiğin bulunduğu dizindir. CLI sapi kullanıldığında, komut dosyasının çağrıldığı dizin, öntanımlı dizin olur.

fopen() ve file_get_contents() gibi bazı işlevlerle, include_path isteğe bağlı olarak göreli yollar için de aranabilir.

Kullanımı

  • /dosyaya/yol/dosya.ext
  • göreli/dosyaya/yol/dosya.ext
  • fileInCwd.ext
  • C:/dosyaya/yol/winfile.ext
  • C:\dosyaya\yol\winfile.ext
  • \\smbserver\share\dosyaya\yol\dosya\winfile.ext
  • file:///dosyaya/yol/dosya/dosya.ext

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
Okuma izni | Evet
Yazma izni | Evet
Ekleme izni | Evet
Aynı anda okuma ve yazma izni | Evet
stat() desteği | Evet
unlink() desteği | Evet
rename() desteği | Evet
mkdir() desteği | Evet
rmdir() desteği | Evet


HTTP'lere erişim

  • « file://
  • ftp:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • HTTP'lere erişim

http://

https://

http:// -- https:// — HTTP'lere erişim

Açıklama

Sarmalayıcı, HTTP GET yöntemini kullanarak HTTP üzerinden dosyalara/kaynaklara salt okunur erişim sağlar. Öntanımlı olarak HTTP 1.0 GET kullanılır. İsme dayalı sanal konakları işleme isteği ile birlikte bir Host: başlığı gönderilir. php.ini dosyası veya akım bağlamı kullanılarak bir user_agent dizesi yapılandırılırsa, o da isteğe dahil edilir.

Akım, kaynağın gövdesine (body) erişime izin verir; başlıklar $http_response_header değişkeninde saklanır.

Belgeninin geldiği kaynağın URL'sini bilmek önemliyse (tüm yönlendirmeler işlendikten sonra), akım tarafından döndürülen yanıt başlıklarının işlenmesi gerekir.

from yönergesi, eğer ayarlanmışsa ve Bağlam seçenekleri ve bağımsız değişkenleri tarafından geçersiz kılınmamışsa From: başlığı için kullanılacaktır.

Kullanımı

  • http://example.com
  • http://example.com/dosya.php?var1=val1&var2=val2
  • http://kullanıcı:parola@example.com
  • https://example.com
  • https://example.com/dosya.php?var1=val1&var2=val2
  • https://kullanıcı:parola@example.com

Seçenekler

Sarmalayıcı Seçenekleri
Özellik | Destek
allow_url_fopen ile sınırlı | Evet
Okuma izni | Evet
Yazma izni | Hayır
Ekleme izni | Hayır
Aynı anda okuma ve yazma izni | Kullanılamaz
stat() desteği | Hayır
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Örnekler

Örnek 1 - Yönlendirmelerin ardından nereye geldiğimizi saptamak

<?php
$url = 'http://www.example.com/redirecting_page.php';

$fp = fopen($url, 'r');

$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {

/* Yönlendirildik mi? */
if (strtolower(substr($response, 0, 10)) == 'location: ') {

/* $url'yi yönlendirildiğimiz yere güncelle' */
$url = substr($response, 10);
}

}

?>

Notlar

Bilginize: HTTPS sadece openssl eklentisi etkin olduğunda desteklenir.

HTTP bağlantıları salt-okunurdur; bir HTTP kaynağına dosya kopyalamak veya veri yazmak desteklenmez.

Örneğin, POST ve PUT isteklerinin gönderilmesi HTTP Bağlamlarının yardımıyla yapılabilir.

Ayrıca Bakınız

  • HTTP bağlamı seçenekleri
  • $http_response_header
  • stream_get_meta_data() - Akımdan başlıkları/meta verileri döndürür


FTP'lere Erişim

  • « http://
  • php:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • FTP'lere Erişim

ftp://

ftps://

ftp:// -- ftps:// — FTP'lere Erişim

Açıklama

FTP üzerinden mevcut dosyaların okunmasına, yeni dosyaların oluşturulmasına erişim sağlar. Sunucu edilgen kip FTP'yi desteklemiyorsa bağlantı başarısız olur.

Dosyaları okumak veya yazmak için açabilirsiniz ama ikisini aynı anda yapamazsınız. Uzak dosya, ftp sunucusunda zaten mevcutsa ve üzerine yazmak için açmaya çalışırsanız ancak bağlama overwrite seçeneğini belirtmezseniz, bağlantı başarısız olur. FTP üzerinden mevcut dosyaların üzerine yazmanız gerekiyorsa, bağlamda overwrite seçeneğini belirtin ve dosyayı yazmak için açın. Diğer bir yöntem, FTP eklentisini kullanmaktır.

php.ini'de from yönergesine atadığınız bir parola varsa anonim FTP parolası olarak gönderilecektir.

Kullanımı

  • ftp://example.com/pub/dosya.txt
  • ftp://kullanıcı:parola@example.com/pub/dosya.txt
  • ftps://example.com/pub/dosya.txt
  • ftps://kullanıcı:parola@example.com/pub/dosya.txt

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Evet
Okuma izni | Evet
Yazma izni | Evet(yeni dosyalar; mevcut dosyalar için overwrite ile)
Ekleme izni | Evet
Aynı anda okuma ve yazma izni | Hayır
stat() desteği | Sadece filesize(), filemtime(), filetype(), file_exists(), is_file() ve is_dir() için.
unlink() desteği | Evet
rename() desteği | Evet
mkdir() desteği | Evet
rmdir() desteği | Evet

Notlar

Bilginize:

FTPS sadece openssl eklentisi etkinse desteklenir.

Sunucuda SSL desteği yoksa, bağlantı sıradan şifresiz ftp'ye dönüşür.

Bilginize: Ekleme
Dosyalara ftp:// URL sarmalayıcısı üzerinden ekleme yapılabilir.

Ayrıca Bakınız

  • FTP bağlamı seçenekleri


Çeşitli G/Ç akımlarına erişim

  • « ftp://
  • zlib:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Çeşitli G/Ç akımlarına erişim

php://

php:// — Çeşitli G/Ç akımlarına erişim

Açıklama

PHP, PHP'nin kendi girdi ve çıktı akımlarına, standart girdi, çıktı ve hata dosya tanıtıcılarına, bellek içi ve disk destekli geçici dosya akımlarına ve diğer dosya kaynaklarını okundukları ve yazıldıkları gibi işleyebilen süzgeçlere erişime izin veren bir dizi G/Ç akımı sağlar.

php://stdin, php://stdout ve php://stderr

php://stdin, php://stdout ve php://stderr, PHP sürecinin karşılık gelen girdi veya çıktı akımına doğrudan erişime izin verir. Akım, bir kopya dosya tanıtıcısına başvurur, bu nedenle php://stdin'i açar ve daha sonra kapatırsanız, yalnızca tanıtıcı kopyanızı kapatırsınız; STDIN içindeki gerçek akım etkilenmez. Bu sarmalayıcıları kullanarak akımları elle açmak yerine basitçe STDIN, STDOUT ve STDERR sabitlerini kullanmanız önerilir.

php://stdin salt-okunur, php://stdout ve php://stderr ise salt-yazılırdır.

php://input

php://input, istek gövdesinden ham verileri okumanıza izin veren salt okunur bir akımdır. enable_post_data_reading seçeneği etkinse php://input akımı, enctype="multipart/form-data" ile kullanılamaz.

php://output

php://output, çıktı tamponuna print ve echo gibi yazmanıza izin veren salt-yazılır bir akımdır.

php://fd

php://fd, verilen dosya tanıtıcısına doğrudan erişime izin verir. Örneğin php://fd/3, dosya tanıtıcı 3'ü ifade eder.

php://memory ve php://temp

php://memory ve php://temp, geçici verilerin dosya benzeri bir sarmalayıcıda depolanmasına izin veren okuma-yazma akımlarıdır. İkisi arasındaki tek fark, php://memory akımının verilerini her zaman bellekte depolamasıdır, oysa php://temp, bellekte depolanan veri miktarı önceden tanımlanmış bir sınıra ulaştığında (öntanımlı değer 2 MB'dir) geçici bir dosya kullanır. Bu geçici dosyanın konumu, sys_get_temp_dir() işlevindeki gibi belirlenir.

php://temp bellek sınırı, /maxmemory:NN eklenerek denetlenebilir, burada NN, bayt cinsinden, geçici bir dosya kullanmadan önce bellekte saklanacak azami veri miktarıdır.

Dikkat

Bazı PHP eklentileri standart G/Ç akımı gerektirebilir ve belirli bir akımı standart G/Ç akımına dönüştürmeye çalışabilir. Bu dönüşüm C fopencookie() işlevini gerektirdiğinden bellek akımlarında başarısız olabilir. Bu C işlevi Windows'ta mevcut değildir.

php://filter

php://filter, açılış anında süzgeçlerin bir akıma uygulanmasını sağlamak için tasarlanmış bir meta sarmalayıcı çeşididir. Bu, içerikler okunmadan önce akışa başka türlü süzgeç uygulama imkanının olmadığı yerlerde, readfile(), file() ve file_get_contents() gibi hepsi bir arada dosya işlevlerinde kullanışlıdır.

php://filter hedefi, yolunun bir parçası olarak aşağıdaki seçenekleri alır. Tek bir yolda birden çok süzgeç zinciri belirtilebilir. Lütfen bu seeneklerin kullanımıyla ilgili ayrıntılar için örneklere bakın.

php://filter seçenekleri
Seçenek | Açıklama
resource=<süzülecek akım> | Bu seçenek gereklidir. Süzülecek akımı belirtir.
read=<okuma zincirine uygulanacak süzgeç listesi> | Bu seçenek isteğe bağlıdır. Burada, süzgeçler arasına boru (|) karakteri konarak bir veya daha fazla süzgeç belirtilebilir.
write=<yazma zincirine uygulanacak süzgeç listesi> | Bu seçenek isteğe bağlıdır. Burada, süzgeçler arasına boru (|) karakteri konarak bir veya daha fazla süzgeç belirtilebilir.
<her iki zincire uygulanacak süzgeç listesi> | read= veya write= ile öncelenmemiş süzgeç listeleri uygun olduğu takdirde okuma ve yazma zincirlerinin ikisine de uygulanır.

Seçenekler

Sarmalayıcı Özeti (php://filter için, süzülen sarmalayıcı özetine bakın)
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
allow_url_include ile sınırlı | Sadece php://input, php://stdin, php://memory ve php://temp için.
Okuma izni | Sadece php://stdin, php://input, php://fd, php://memory ve php://temp için.
Yazma izni | Sadece php://stdout, php://stderr, php://output, php://fd, php://memory ve php://temp için.
Ekleme izni | Sadece php://stdout, php://stderr, php://output, php://fd, php://memory ve php://temp için. (Yazmaya eşdeğer)
Aynı anda okuma ve yazma izni | Sadece php://fd, php://memory ve php://temp için.
stat() desteği | Hayır. Ancak, php://memory ve php://temp akımları fstat() işlevini destekler.
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır
stream_select() desteği | Sadece php://stdin, php://stdout, php://stderr, php://fd ve php://temp için.

Örnekler

Örnek 1 - php://temp/maxmemory

Bu isteğe bağlı seçenek, php://temp geçici bir dosya kullanmaya başlamadan önce bellek sınırının ayarlanmasına izin verir.

<?php
// Sınırı 5 MB yapalım.
$fiveMBs = 5 * 1024 * 1024;
$fp = fopen("php://temp/maxmemory:$fiveMBs", 'r+');

fputs($fp, "hello\n");

// Yazdığımızı oku.
rewind($fp);
echo stream_get_contents($fp);
?>

Örnek 2 - php://filter/resource=<süzülecek akım>

Bu seçenek php://filter belirtiminizin sonunda bulunmalı ve süzülmesini istediğiniz akımı göstermelidir.T

<?php
/* Aslında hiçbir süzgeç belirtilmediğinden
readfile("http://www.example.com");
ile eşdeğerdir */

readfile("php://filter/resource=http://www.example.com");
?>

Örnek 3 - php://filter/read=<okuma zincirine uygulanacak süzgeç listesi>

Bu seçenek, boru karakteri | ile ayrılmış bir veya daha fazla dosya adı alır.

<?php
/* www.example.com içeriğini tamamen büyük harflerle çıktılar. */
readfile("php://filter/read=string.toupper/resource=http://www.example.com");

/* Ayrıca ROT13 kodlaması dışında yukarıdaki ile aynı*/
readfile("php://filter/read=string.toupper|string.rot13/resource=http://www.example.com");
?>

Örnek 4 - php://filter/write=<yazma zincirine uygulanacak süzgeç listesi>

Bu seçenek, boru karakteri | ile ayrılmış bir veya daha fazla dosya adı alır.

<?php
/* rot13 süzgeci üzerinden "Hello World" dizesini süzer ve
çıktıyı geçerli dizindeki example.txt dosyasına yazar */
file_put_contents("php://filter/write=string.rot13/resource=example.txt","Hello World");
?>

Örnek 5 - php://memory ve php://temp yeniden kullanılamaz

php://memory ve php://temp yeniden kullanılamaz, yani akımlar kapatıldıktan sonra bunlara tekrar başvurmanın bir yolu yoktur.

file_put_contents('php://memory', 'PHP');
echo file_get_contents('php://memory'); // hiçbir şey basmaz


Sıkıştırma Akımları

  • « php://
  • data:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Sıkıştırma Akımları

zlib://

bzip2://

zip://

zlib:// -- bzip2:// -- zip:// — Sıkıştırma Akımları

Açıklama

compress.zlib:// ve compress.bzip2://

zlib: akımın fread() ve diğer dosya sistemi işlevleriyle birlikte kullanılabilmesi dışında gzopen() gibi çalışır. Bu, ':' karakterleri içeren dosya adlarındankaynaklanan belirsizlikler nedeniyle kullanımdan kaldırılmıştır; yerine compress.zlib:// kullanın.

compress.zlib:// ve compress.bzip2:// sırasıyla gzopen() ve bzopen() ile eşdeğer olup fopencookie'yi desteklemeyen sistemlerde bile çalışır.

ZIP eklentisi zip: sarmalayıcı kaydeder. PHP 7.2.0 ve libzip 1.2.0+ sürümlerinden itibaren, şifrelenmiş arşivler için parola desteği eklendi ve parolaların akım bağlamları tarafından sağlanmasına izin verildi. Parolalar, 'password' akım bağlamı seçeneği kullanılarak atanabilir.

Kullanımı

  • compress.zlib://dosya.gz
  • compress.bzip2://dosya.bz2
  • zip://archive.zip#dizin/dosya.txt

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
Okuma izni | Evet
Yazma izni | Evet (zip:// hariç)
Ekleme izni | Evet (zip:// hariç)
Aynı anda okumaya ve yazmaya izin | Hayır
stat() desteği | Hayır, sıkıştırlmış dosyaların durum bilgilerini almak için normal file:// sarmalayıcısını kullanın.
unlink() desteği | Hayır, sıkıştırlmış dosyaları silmek için normal file:// sarmalayıcısını kullanın.
rename() desteği | Hayır
mkdir() desteği | Hayır
Supports rmdir() | Hayır

Ayrıca Bakınız

  • Zlib bağlam seçenekleri


Data (RFC 2397)

  • « zlib://
  • glob:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Data (RFC 2397)

data://

data:// — Data (RFC 2397)

Açıklama

data: (» RFC 2397) akım sarmalayıcı.

Kullanımı

  • data://text/plain;base64,

Seçenekler

Sarmalayıcı Seçenekleri
Özellik | Destek
allow_url_fopen ile sınırlı | Evet
allow_url_include ile sınırlı | Evet
Okuma izni | Evet
Yazma izni | Hayır
Ekleme izni | Hayır
Aynı anda okuma ve yazma izni | Hayır
stat() desteği | Hayır
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Örnekler

Örnek 1 - data:// içeriğini basmak

<?php
// "I love PHP" basar
echo file_get_contents('data://text/plain;base64,SSBsb3ZlIFBIUAo=');
?>

Örnek 2 - Ortam türünü alıp getirmek

<?php
$fp = fopen('data://text/plain;base64,', 'r');
$meta = stream_get_meta_data($fp);

// prints "text/plain"
echo $meta['mediatype'];
?>


Kalıpla eşleşen dosya yollarını bulur

  • « data://
  • phar:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Kalıpla eşleşen dosya yollarını bulur

glob://

glob:// — Kalıpla eşleşen dosya yollarını bulur

Açıklama

glob: akım sarmalayıcısı.

Kullanımı

  • glob://

Seçenekler

Sarmalayıcı Seçenekleri
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
allow_url_include ile sınırlı | Hayır
Okuma izni | Hayır
Yazma izni | Hayır
Ekleme izni | Hayır
Aynı anda okuma ve yazma izni | Hayır
stat() desteği | Hayır
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Örnekler

Örnek 1 - Temel kullanım

<?php
// ext/spl/examples/ dizinideki tüm *.php dosyalarını al
// hepsinin dosya ismini ve boyutunu bas

$it = new DirectoryIterator("glob://ext/spl/examples/*.php");
foreach($it as $f) {
printf("%s: %.1FK\n", $f->getFilename(), $f->getSize()/1024);
}
?>
tree.php: 1.0K
findregex.php: 0.6K
findfile.php: 0.7K
dba_dump.php: 0.9K
nocvsdir.php: 1.1K
phar_from_dir.php: 1.0K
ini_groups.php: 0.9K
directorytree.php: 0.9K
dba_array.php: 1.1K
class_tree.php: 1.8K


PHP Arşivi

  • « glob://
  • ssh2:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • PHP Arşivi

phar://

phar:// — PHP Arşivi

Açıklama

phar:// akım sarmalayıcısı. Ayrıntılı bilgi için Phar akım sarmalayıcısı bölümüne bakınız.

Kullanımı

  • phar://

Seçenekler

Wrapper Summary
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
allow_url_include ile sınırlı | Hayır
Okuma izni | Evet
Yazma izni | Evet
Ekleme izni | Hayır
Aynı anda okuma ve yazma izni | Evet
stat() desteği | Evet
unlink() desteği | Evet
rename() desteği | Evet
mkdir() desteği | Evet
rmdir() desteği | Evet

Ayrıca Bakınız

  • Phar bağlam seçenekleri


Güvenli Kabuk 2

  • « phar://
  • rar:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Güvenli Kabuk 2

ssh2://

ssh2:// — Güvenli Kabuk 2

Açıklama

ssh2.shell:// ssh2.exec:// ssh2.tunnel:// ssh2.sftp:// ssh2.scp:// (PECL)

Bilginize: Bu sarmalayıcı öntanımlı olarak etkin değildir
ssh2.*:// sarmalayıcısını kullanmak için, » PECL'de bulunan » SSH2 eklentisinin kurulması gerekir.

Geleneksel URI oturum açma ayrıntılarını kabul etmenin yanı sıra, ssh2 sarmalayıcıları, URL'nin konak bölümündeki bağlantı kaynağını aktararak açık bağlantıları yeniden kullanır.

Kullanımı

  • ssh2.shell://user:pass@example.com:22/xterm
  • ssh2.exec://user:pass@example.com:22/usr/local/bin/somecmd
  • ssh2.tunnel://user:pass@example.com:22/192.168.0.1:14
  • ssh2.sftp://user:pass@example.com:22/path/to/filename

Seçenekler

Sarmalayıcı Özeti
Özellik | ssh2.shell | ssh2.exec | ssh2.tunnel | ssh2.sftp | ssh2.scp
allow_url_fopen ile sınırlı | Evet | Evet | Evet | Evet | Evet
Okuma izni | Evet | Evet | Evet | Evet | Evet
Yazma izni | Evet | Evet | Evet | Evet | Hayır
Ekleme izni | Hayır | Hayır | Hayır | Yes (Sunucu desteklerse) | Hayır
Aynı anda okuma ve yazma | Evet | Evet | Evet | Evet | Hayır
stat() desteği | Hayır | Hayır | Hayır | Evet | Hayır
unlink() desteği | Hayır | Hayır | Hayır | Evet | Hayır
rename() desteği | Hayır | Hayır | Hayır | Evet | Hayır
mkdir() desteği | Hayır | Hayır | Hayır | Evet | Hayır
rmdir() desteği | Hayır | Hayır | Hayır | Evet | Hayır

Bağlam Seçenekleri
İsim | Kullanım | Öntanımlı
session | Yeniden kullanılacak önceden bağlanmış ssh2 kaynağı |
sftp | Yeniden kullanılacak önceden tahsis edilmiş sftp kaynağı |
methods | Anahtar değişimi, ana anahtar, şifre, sıkıştırma ve kullanılacak MAC yöntemleri |
callbacks |  |
username | Bağlantı için kullanıcı adı |
password | Kimlik kanıtlama için parola |
pubkey_file | Kimlik kanıtlamada kullanılacak genel anahtar dosyasının ismi |
privkey_file | Kimlik kanıtlamada kullanılacak özel anahtar dosyasının ismi |
env | Atanacak ortam değişkenlerinin ilişkisel dizisi |
term | Bir pty tahsis ederken talep edilecek terminal türü |
term_width | Bir pty tahsis ederken talep edilecek terminal genişliği |
term_height | Bir pty tahsis ederken talep edilecek terminal yüksekliği |
term_units | term_width ve term_height ile kullanılacak birimler | SSH2_TERM_UNIT_CHARS

Örnekler

Örnek 1 - Etkin bir bağlantıda bir akım açmak

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$stream = fopen("ssh2.tunnel://$session/remote.example.com:1234", 'r');
?>

Örnek 2 - Bu $session değişkeni hazır tutulmalıdır!

ssh2.*://$session sarmalayıcılarını kullanmak için $session özkaynak değişkeni korunmalıdır. Aşağıdaki kod istenen etkiyi sağlamayacaktır:

<?php
$session = ssh2_connect('example.com', 22);
ssh2_auth_pubkey_file($session, 'username', '/home/username/.ssh/id_rsa.pub',
'/home/username/.ssh/id_rsa', 'secret');
$connection_string = "ssh2.sftp://$session/";
unset($session);
$stream = fopen($connection_string . "path/to/file", 'r');
?>

unset() oturumu kapatır, çünkü $connection_string $session değişkenine bir gönderim tutmaz, sadece ondan türetilmiş bir dizge ataması içerir. unset() örtük olduğunda da etki alanından çıktığından dolayı (bir işlevdeki gibi) bu olur.


RAR

  • « ssh2://
  • ogg:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • RAR

rar://

rar:// — RAR

Açıklama

Sarmalayıcı, arşivde depolandığı şekliyle, RAR arşivi için URL kodlu yol (göreli veya mutlak), isteğe bağlı bir yıldız işareti (*), isteğe bağlı bir diyez işareti (#) ve isteğe bağlı bir url kodlu girdi adı alır. Bir girdi adı belirtmek, numara işaretini gerektirir; girdi adında önde bir eğik çizgi isteğe bağlıdır.

Bu sarmalayıcı hem dosyaları hem de dizinleri açabilir. Dizinleri açarken, yıldız işareti dizin girdilerinin adlarını kodlanmamış olarak döndürülmeye zorlar. Belirtilmezse, URL olarak kodlanmış biçimde döndürülür - bunun nedeni, URL kodlu veriler gibi görünen dosya adlarının varlığında sarmalayıcının RecursiveDirectoryIterator gibi yerleşik işlevsellik ile doğru şekilde kullanılmasını sağlamaktır.

Diyez işareti ve girdi adı kısmı dahil edilmemişse, arşivin kökü gösterilir. Bu, kök dizin arşivdeki tek bir girdide depolanmadığından normal dizinlerden farklıdır, çünkü ortaya çıkan akım değişiklik zamanı gibi bilgileri içermez. RecursiveDirectoryIterator ile sarmalayıcının kullanımı, alt öğelerin URL'lerinin doğru bir şekilde yapılandırılabilmesi için, köke erişirken diyez işaretinin URL'ye dahil edilmesini gerektirir.

Bilginize: Bu sarmalayıcı öntanımlı olarak etkin değildir
rar:// sarmalayıcısını kullanmak için, » PECL'de bulunan » rar eklentisinin kurulması gerekir.

rar:// PECL rar 3.0.0'dan beri kullanılabilmektedir.

Kullanımı

  • rar://<url kodlu arşiv ismi>[*][#[<url kodlu girdi ismi>]]

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
allow_url_include ile sınırlı | Hayır
Okuma izni | Evet
Yazma izni | Hayır
Ekleme izni | Hayır
Aynı anda okuma ve yazma izni | Hayır
stat() desteği | Evet
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Bağlam Seçenekleri
İsim | Kullanım | Öntanımlı
open_password | Varsa, arşivin başlıklarını şifrelemek için kullanılan parola. WinRAR, daha sonra mevcut olduğunda başlık parolası ile aynı parolaya sahip tüm dosyaları şifreleyecektir, bu nedenle şifrelenmiş başlıklara sahip arşivler için file_password göz ardı edilecektir. |
file_password | Varsa, bir dosyayı şifrelemek için kullanılan parola. Başlıklar da şifrelenmişse, bu seçenek open_password lehine göz ardı edilecektir. İki seçeneğin olmasının nedeni, arşivlerin ortaya çıkması durumunda farklı başlık ve dosya şifrelerine sahip arşivleri destekleme olasılığını elde tutmaktır. Arşivin başlıkları şifrelenmemişse, open_password'un yok sayılacağını ve onun yerine bu seçeneğin kullanılmasının gerektiği unutulmamalıdır. |
volume_callback | Eksik bölümlerin yolunu belirlemek için bir geriçağırım. Daha fazla bilgi için bkz. RarArchive::open(). |

Örnekler

Örnek 1 - Bir RAR arşinde gezinmek

<?php

class MyRecDirIt extends RecursiveDirectoryIterator {
function current() {
return rawurldecode($this->getSubPathName()) .
(is_dir(parent::current())?" [DIR]":"");
}
}

$f = "rar://" . rawurlencode(dirname(__FILE__)) .
DIRECTORY_SEPARATOR . 'dirs_and_extra_headers.rar#';

$it = new RecursiveTreeIterator(new MyRecDirIt($f));

foreach ($it as $s) {
echo $s, "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

|-allow_everyone_ni [DIR]
|-file1.txt
|-file2_?.txt
|-with_streams.txt
\-? [DIR]
  |-?\%2Fempty%2E [DIR]
  | \-?\%2Fempty%2E\file7.txt
  |-?\empty [DIR]
  |-?\file3.txt
  |-?\file4_?.txt
  \-?\?_2 [DIR]
    |-?\?_2\file5.txt
    \-?\?_2\file6_?.txt

Örnek 2 - Şifreli bir dosyanın açılması (başlık şifreleme)

<?php
$stream = fopen("rar://" .
rawurlencode(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
'encrypted_headers.rar' . '#encfile1.txt', "r", false,
stream_context_create(
array(
'rar' =>
array(
'open_password' => 'samplepassword'
)
)
)
);
var_dump(stream_get_contents($stream));
/* çoğu dosyanın sahip olmadığı oluşturma ve
* son erişim tarihi WinRAR'a dahil edilmiştir
*/
var_dump(fstat($stream));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(26) "Encrypted file 1 contents."
Array
(
    [0] => 0
    [1] => 0
    [2] => 33206
    [3] => 1
    [4] => 0
    [5] => 0
    [6] => 0
    [7] => 26
    [8] => 0
    [9] => 1259550052
    [10] => 0
    [11] => -1
    [12] => -1
    [dev] => 0
    [ino] => 0
    [mode] => 33206
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 26
    [atime] => 0
    [mtime] => 1259550052
    [ctime] => 0
    [blksize] => -1
    [blocks] => -1
)


Ses akımları

  • « rar://
  • expect:// »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Ses akımları

ogg://

ogg:// — Ses akımları

Açıklama

ogg:// sarmalayıcısı aracılığıyla okumak için açılan dosyalar, OGG/Vorbis çözücü bileşeni kullanılarak kodlanmış sıkıştırılmış ses olarak değerlendirilir. Benzer şekilde, ogg:// sarmalayıcı aracılığıyla yazmak veya eklemek için açılan dosyalar sıkıştırılmış ses verileri olarak yazılır. stream_get_meta_data() işlevi, okuma için açılmış bir OGG/Vorbis dosyasında kullanıldığında, satıcı etiketi, dahil edilen yorumlar, kanal sayısı, örnekleme hızı ve bitrate_lower, bitrate_upper, bitrate_nominal ve bitrate_window tarafından açıklanan kodlama oranı aralığı dahil olmak üzere akış hakkında çeşitli ayrıntıları döndürür.

ogg:// (PECL)

Bilginize: Bu sarmalayıcı öntanımlı olarak etkin değildir
ogg:// sarmalayıcısını kullanmak için, » PECL'de bulunan » OGG/Vorbis uzantısının kurulması gerekir.

Kullanımı

  • ogg://soundfile.ogg
  • ogg:///dosyaya/yol/soundfile.ogg
  • ogg://http://www.example.com/path/to/soundstream.ogg

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
Okumaya izin | Evet
Yazmaya izin | Evet
Eklemeye izin | Evet
Aynı anda okumaya ve yazmaya izin | Hayır
stat() desteği | Hayır
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Bağlam seçenekleri
İsim | Kullanım | Öntanımlı | Kip
pcm_mode | Okurken uygulanacak PCM kodlaması: OGGVORBIS_PCM_U8, OGGVORBIS_PCM_S8, OGGVORBIS_PCM_U16_BE, OGGVORBIS_PCM_S16_BE, OGGVORBIS_PCM_U16_LE, veya OGGVORBIS_PCM_S16_LE. (8'e karşı 16 bit, işaretli veya işaretsiz, büyük veya küçük dip) | OGGVORBIS_PCM_S16_LE | Okuma
rate | Girdi verisinin Hz cinsinden örnekleme hızı | 44100 | Yazma/Ekleme
bitrate | Tamsayı olarak verildiğinde, kodlanacak sabit bit hızı (16000'den 131072'ye kadar). Gerçek sayı olarak verildiğinde, kullanılacak değişken bit hızı (-1.0'dan 1.0'a kadar) | 128000 | Yazma/Ekleme
channels | Kodlanacak ses kanalı sayısı, genelde 1 (Mono) veya 2 (Stereo). 16'ya kadar çıkabilir. | 2 | Yazma/Ekleme
comments | Parça başlığına kodlanacak dize değerleri dizisi. |  | Yazma/Ekleme

Örnekler


Süreçlerle Etkileşim Akımları

  • « ogg://
  • Güvenlik »
  • PHP Manual
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Süreçlerle Etkileşim Akımları

expect://

expect:// — Süreçlerle Etkileşim Akımları

Açıklama

expect:// sarmalayıcısı ile açılan akımlar sürecin standart girdi, standart çıktı ve standart hatasına PTY üzerinden erişim sağlar.

Bilginize: Bu sarmalayıcı öntanımlı olarak etkin değildir
expect:// sarmalayıcısını kullanmak için, » PECL'de bulunan » Expect eklentisinin kurulması gerekir.

expect:// (PECL)

Kullanımı

  • expect://command

Seçenekler

Sarmalayıcı Özeti
Özellik | Destek
allow_url_fopen ile sınırlı | Hayır
Okuma izni | Evet
Yazma izni | Evet
Ekleme izni | Evet
Aynı anda okuma ve yazma izni | Hayır
stat() desteği | Hayır
unlink() desteği | Hayır
rename() desteği | Hayır
mkdir() desteği | Hayır
rmdir() desteği | Hayır

Örnekler


Güvenlik

  • Giriş
  • Genel değerlendirmeler
  • Installed as CGI binary
    • Possible attacks
    • Case 1: only public files served
    • Case 2: using cgi.force_redirect
    • Case 3: setting doc_root or user_dir
    • Case 4: PHP parser outside of web tree
  • Apache'ye modül olarak kurulum
  • Oturum Güvenliği
  • Dosya Sistemi Güvenliği
    • Boş baytlı girdiler
  • Database Security
    • Designing Databases
    • Connecting to Database
    • Encrypted Storage Model
    • SQL Injection
  • Error Reporting
  • Kullanıcıdan Gelen Bilgi
  • PHP'yi gizlemek
  • Güncel Tutmak


Giriş

PHP güçlü bir dil ve yorumlayıcıdır. İster bir HTTP sunucusunun modülü olarak ister ayrı bir CGI çalıştırılabiliri olarak çalışıyor olsun, sunucu üzerinde ağ bağlantıları açabilir, dosyalara erişebilir ve onları çalıştırabilir. Herşeyi çalıştırılabilir yapan bu özellikler öntanımlı haliyle bir HTTP sunucusunu güvensiz duruma getirir. PHP, CGI programları yazmak için özellikle Perl ve C'den daha güvenli bir dil olması için tasarlanmıştır. Doğru derleme seçenekleri ile derlenir, doğru çalışma anı seçenekleriyle yapılandırılır ve uygun bir kodlama deneyimiyle kullanılırsa arzuladığınız güvenlik ve özgürlüğü size sunar.

PHP ile birçok şey yapmak mümkün olduğu gibi, ayarları da oldukça fazladır. Bu ayarların çokluğu size istediğiniz şekilde bir sunucu ortamını kurmanızı sağlarsa da bu seçeneklerle sunucunun yapılandırması bir araya geldiğinde güvensiz bir ortam oluşma riski anlamına da gelebilir.

PHP yapılandırmasındaki bu esneklik, kod esnekliğiyle rekabet halinde gelişir. PHP ile bir kabuk kullanıcısının tüm gücüne sahip eksiksiz sunucu uygulamaları geliştirlebileceği gibi sıkı bir şekilde denetlenen bir ortamda küçük bir güvenlik riskiyle sunucu taraflı sayfalar oluşturmakta da kullanılabilir. Bu ortamın nasıl kurulacağı ve güvenliğinin nasıl sağlanacağı büyük oranda PHP geliştiricisine bırakılmıştır.

Bu kısıma genel güvenlik tavsiyeleri vererek başlayacağız. Ardından değişik ayarların nasıl yapıldığına dair bilgiler verecek ve hangi güvenlik seviyesinde hangi güvenlik ayarlarının kullanılması gerektiğinden bahsedeceğiz.


Genel değerlendirmeler

Tamamen güvenli ve korunaklı bir sistem oluşturduk diyebilmek neredeyse imkansızdır. Bu sebepten dolayı en uygun davranış riskleri ve kullanılabilirliği uygun şekilde dengelemek olmalıdır. Eğer kullanıcıların bilgi göndermeden önce parmak izi ve gözbebeği taraması gibi ileri güvenlikli bir sistemden geçmesi gerekirse, çok güvenli bir sistem oluşturulduğundan söz edebiliriz. Ancak bu şekilde kullanımı çok zor bir sistem halini alacaktır. Aynı şekilde basit bir amaç için hazırlanmış bir formu doldurmak çok zorsa ve vakit alıyorsa, bunu dolduran kullanıcı güvenliği atlatıp bazı kestirme yolları deneyerek formu göndermek isteyebilir.

En iyi güvenlik sisteminin yolu istenen güvenlik denetimlerinin kullanıcı çok uğraştırılıp bıktırılmadan, yapmak istediği şeye engel olunmadan kurulan bir sistemden geçer. Güvenliği etkileyen bazı saldırıların asıl amacı bazen güvenlik amaçlı kurulan bazı sistemlerin kullanıcıları bıktırması ve bunların kullanıcıyı farklı birşeyler yapmaya itmesidir.

Unutmayın ki, bir zincir ancak en zayıf halkası kadar güçlü olabilir. Tüm hareketleri, zaman, mekan, hareket türü gibi en ince ayrıntısına kadar günlüklere kaydetseniz bile kullanıcı sadece basit bir çerez ile doğrulanıyorsa, kullanıcılarla hareket günlükleri arasındaki ilişki zayıf olacaktır.

Yaptıklarınızı denerken, en basit sayfada bile tüm olasılıkları denemenin imkansız olduğunu unutmayınız. Uygulamanıza ulaşan bilgi şirketinizde çalışan bir tanıdıktan gelebileceği gibi, klavyenin üzerinde dolaşan bir kediden veya dünyanın öteki ucundan sistemlerde açıklar arayan sistem kırıcı birinden de gelebilir. Bu yüzden beklenmeyen bir bilgi geldiğinde nasıl davranılacağını önceden tespit edip, bu durumda kullanıcının uygulamayı kullanarak sisteme erişmesini engellemelisiniz.

Günümüz Genel Ağ'ı, kodunuzu kırarak, sitenizi çökerterek, uygunsuz içerik göndererek veya gününüzü bir şekilde ziyan ederek kendilerine isim yapmaya çalışan kişilerle doludur. Sitenizin küçük ya da büyük olmasının bir önemi yoktur, siz basitçe hatta kalmayı, bağlanacağınız bir sunucu olmasını hedeflersiniz fakat, çoğu kırıcı program için büyüklüğün önemi yoktur, basitçe devasa IP bloklarını tarayarak kendilerine kurban ararlar. Onların kurbanlarından biri olmamaya çalışın.


Installed as CGI binary

İçindekiler

  • Possible attacks
  • Case 1: only public files served
  • Case 2: using cgi.force_redirect
  • Case 3: setting doc_root or user_dir
  • Case 4: PHP parser outside of web tree


Possible attacks

Using PHP as a CGI binary is an option for setups that for some reason do not wish to integrate PHP as a module into server software (like Apache), or will use PHP with different kinds of CGI wrappers to create safe chroot and setuid environments for scripts. This setup usually involves installing executable PHP binary to the web server cgi-bin directory. CERT advisory » CA-96.11 recommends against placing any interpreters into cgi-bin. Even if the PHP binary can be used as a standalone interpreter, PHP is designed to prevent the attacks this setup makes possible:

  • Accessing system files: http://my.host/cgi-bin/php?/etc/passwd The query information in a URL after the question mark (?) is passed as command line arguments to the interpreter by the CGI interface. Usually interpreters open and execute the file specified as the first argument on the command line. When invoked as a CGI binary, PHP refuses to interpret the command line arguments.
  • Accessing any web document on server: http://my.host/cgi-bin/php/secret/doc.html The path information part of the URL after the PHP binary name, /secret/doc.html is conventionally used to specify the name of the file to be opened and interpreted by the CGI program. Usually some web server configuration directives (Apache: Action) are used to redirect requests to documents like http://my.host/secret/script.php to the PHP interpreter. With this setup, the web server first checks the access permissions to the directory /secret, and after that creates the redirected request http://my.host/cgi-bin/php/secret/script.php. Unfortunately, if the request is originally given in this form, no access checks are made by web server for file /secret/script.php, but only for the /cgi-bin/php file. This way any user able to access /cgi-bin/php is able to access any protected document on the web server. In PHP, runtime configuration directives cgi.force_redirect, doc_root and user_dir can be used to prevent this attack, if the server document tree has any directories with access restrictions. See below for full the explanation of the different combinations.


Case 1: only public files served

If your server does not have any content that is not restricted by password or ip based access control, there is no need for these configuration options. If your web server does not allow you to do redirects, or the server does not have a way to communicate to the PHP binary that the request is a safely redirected request, you can enable the cgi.force_redirect ini directive. You still have to make sure your PHP scripts do not rely on one or another way of calling the script, neither by directly http://my.host/cgi-bin/php/dir/script.php nor by redirection http://my.host/dir/script.php.

Redirection can be configured in Apache by using AddHandler and Action directives (see below).


Case 2: using cgi.force_redirect

The configuration directive cgi.force_redirect prevents anyone from calling PHP directly with a URL like http://my.host/cgi-bin/php/secretdir/script.php. Instead, PHP will only parse in this mode if it has gone through a web server redirect rule.

Usually the redirection in the Apache configuration is done with the following directives:

Action php-script /cgi-bin/php
AddHandler php-script .php

This option has only been tested with the Apache web server, and relies on Apache to set the non-standard CGI environment variable REDIRECT_STATUS on redirected requests. If your web server does not support any way of telling if the request is direct or redirected, you cannot use this option and you must use one of the other ways of running the CGI version documented here.


Case 3: setting doc_root or user_dir

To include active content, like scripts and executables, in the web server document directories is sometimes considered an insecure practice. If, because of some configuration mistake, the scripts are not executed but displayed as regular HTML documents, this may result in leakage of intellectual property or security information like passwords. Therefore many sysadmins will prefer setting up another directory structure for scripts that are accessible only through the PHP CGI, and therefore always interpreted and not displayed as such.

Also if the method for making sure the requests are not redirected, as described in the previous section, is not available, it is necessary to set up a script doc_root that is different from web document root.

You can set the PHP script document root by the configuration directive doc_root in the configuration file, or you can set the environment variable PHP_DOCUMENT_ROOT. If it is set, the CGI version of PHP will always construct the file name to open with this doc_root and the path information in the request, so you can be sure no script is executed outside this directory (except for user_dir below).

Another option usable here is user_dir. When user_dir is unset, only thing controlling the opened file name is doc_root. Opening a URL like http://my.host/~user/doc.php does not result in opening a file under users home directory, but a file called ~user/doc.php under doc_root (yes, a directory name starting with a tilde [~]).

If user_dir is set to for example public_php, a request like http://my.host/~user/doc.php will open a file called doc.php under the directory named public_php under the home directory of the user. If the home of the user is /home/user, the file executed is /home/user/public_php/doc.php.

user_dir expansion happens regardless of the doc_root setting, so you can control the document root and user directory access separately.


Case 4: PHP parser outside of web tree

A very secure option is to put the PHP parser binary somewhere outside of the web tree of files. In /usr/local/bin, for example. The only real downside to this option is that you will now have to put a line similar to:

#!/usr/local/bin/php
as the first line of any file containing PHP tags. You will also need to make the file executable. That is, treat it exactly as you would treat any other CGI script written in Perl or sh or any other common scripting language which uses the #! shell-escape mechanism for launching itself.

To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the cgi.discard_path ini directive has to be enabled.


Apache'ye modül olarak kurulum

PHP bir Apache modülü olarak kullanıldığında Apache kullanıcısının (Apache yapılandırma dosyasında user yönergesine bakın) yetkilerini miras alır. Bu kullanıcı genellikle 'nobody' kullanıcısı olur fakat bunun güvenlikle ve kimlik doğrulama ile ilgili olumsuz etkileri olabilir. Örneğin PHP'yi bir veritabanına erişmek için kullanıyorsanız ve bu veritabanına yerleşik olarak erişim izniniz yoksa "nobody" kullanıcısına bu veritabanına erişim izni vermek zorunda kalırsınız. Bu, kötücül bir betiğin bir kullanıcı ismi ve parola belirtmeksizin veritabanına erişebilmesi ve değişiklik yapabilmesi anlamına gelir. Bir ağ örümceğinin veritabanı yönetici sayfasına rast gelmesi ve tüm veritabanınızı yok etmesi çok mümkündür. Bu gibi durumlardan Apache kimlik doğrulaması ile korunabileceğiniz gibi LDAP, .htaccess dosyaları, vs. kullanarak kendi erişim modelinizi tasarlayabilir ve bu kodu PHP betiklerinize dahil edebilirsiniz.

Güvenliğin sağlanması, PHP'nin tamamen etkisiz hale getirilmesi, dosya yazma, veritabanı erişiminin kısıtlanması demek değildir. Bunlar sağlanırsa güvenli bir işlem ortamı oluşmuş olabilir ancak PHP özellikleri kaybolmuş olur.

Sık yapılan bir güvenlik hatası Apache'yi root kullanıcısının aidiyetinde çalıştırmak veya Apache'nin yeteneklerini başka yollarla arttırmaktır.

Apache kullanıcısının yetkilerini root seviyesine yükseltmek, oldukça tehlikeli olup sistemin tamamını tehlikeye atmak demektir. Dolayısıyla, güvenlik profesyoneli olmayanların sudo veya chroot yapmayı ya da Apache'yi root olarak başka bir şekilde çalıştırmayı düşünmemesi gerekir.

PHP bazı basit çözümler içermektedir. Örneğin, open_basedir kullanarak PHP tarafından kullanımına izin verilen dizinlere erişimi denetleyebilir ve kısıtlayabilirsiniz. Ayrıca, sadece Apache'nin erişimine açık bölgeler tanımlayabilir, kullanıcılara ve sisteme ait dosyalara erişimi kısıtlayabilirsiniz.


Oturum Güvenliği

HTTP oturum yönetiminin güvenliğini sağlamak önemlidir. Oturum ile ilgili güvenlik Oturum bölümünde Oturum Güvenliği başlığı altında açıklanmıştır.


Dosya Sistemi Güvenliği

İçindekiler

  • Boş baytlı girdiler

PHP, çoğu sunucu sisteminde bulunan dizin ve dosya erişim izinleri ile ilgili yerleşik güvenlik önlemlerinden etkilenir. Bu izinlerle dosya sisteminden kimin hangi dosyaları okuyabileceğini denetleyebilirsiniz. Dosya sistemine erişimi olan tüm kullanıcıların sadece herkesçe okunabilen dosyaları okuyabilmesini sağlamalısınız.

PHP, dosya sistemine kullanıcı seviyesinde düşük seviyeli erişime izin verecek şekilde tasarlandığından, /etc/passwd gibi sistem dosyalarını okumak, eternet bağlantılarını değiştirmek, yazıcılara iş göndermek ve benzerleri tamamen mümkündür. Bu durum sizin bazı önlemler almanızı gerektirir; dosyaları kimlerin okuyabileceğine ve kimlerin yazabileceğine karar vermeniz gerekir.

Örneğin, aşağıdaki betiği ele alalım. Kullanıcı, ev dizinindeki bazı dosyaları silmek istiyor olsun. Bir sayfanın, kullanıcının ev dizinindeki bazı dosyaları Apache kullanıcısına sildirmek için bir arayüz olarak kullanıldığını varsayalım.

Örnek 1 - Değişkenler başınıza iş açabilir...

<?php
// Kullanıcının ev dizininden bir dosya silelim
$kullanıcı = $_POST['kullanıcının_belirttiği_isim'];
$kullanıcı_dosyası = $_POST['kullanıcının_belirttiği_dosyaismi'];
$evdizini = "/home/$kullanıcı";

unlink("$evdizini/$kullanıcı_dosyası");

echo "Dosya silindi!";
?>
Birine ait bir kullanıcı ve dosya ismi bir formdan gönderilebileceğinden bunu yapmaya izni olmayan biri bile bu betikle dosya silebilir. Bu durumda kimlik doğrulaması yapabilen bir betik kullanmak daha iyi olabilir. Birinin formu kullanarak "../etc/" ve "passwd" girdiğini varsayalım ve betikte neler oluyor bakalım:

Örnek 2 ... Bir dosya sistemi saldırısı

<?php
// PHP kullanıcısının erişebildiği bir yerden bir dosyayı silelim.
// PHP root yetkilerine sahip olsun.
$kullanıcı = $_POST['kullanıcının_belirttiği_isim']; // "../etc"
$kullanıcı_dosyası = $_POST['kullanıcının_belirttiği_dosyaismi']; // "passwd"
$evdizini = "/home/$kullanıcı"; // "/home/../etc"

unlink("$evdizini/$kullanıcı_dosyası"); // "/home/../etc/passwd"

echo "Dosya silindi!";
?>
Bu saldırıyı önlemek için dikkate alacağınız iki ölçüt vardır.
  • PHP çalıştırılabilirini çalıştıran kullanıcının izinlerini sınırlamak.
  • Form ile gönderilen tüm değişkenleri denetlemek.
Düzeltilmiş betik:

Örnek 3 - Daha güvenilir bir dosya silme betiği

<?php
// PHP kullanıcısının erişebildiği bir dosyayı silelim.
$kullanıcı = $_SERVER['REMOTE_USER']; // kimlik doğrulaması yapıyoruz
$dosya = basename($_POST['kullanıcının_belirttiği_dosyaismi']);
$evdizini = "/home/$kullanıcı";

$dosyayolu = "$evdizini/$dosya";

if (file_exists($dosyayolu) && unlink($dosyayolu)) {
$günce = "$dosyayolu silindi\n";
} else {
$günce = "$dosyayolu silinemedi\n";
}
$dt = fopen("/home/logging/filedelete.log", "a");
fwrite($dt, $günce);
fclose($dt);

echo htmlentities($logstring, ENT_QUOTES);

?>
Ancak, bu bile kusurları örtmeye yetmez. Eğer kimlik doğrulama sisteminiz kullanıcıya kendi ev dizinini belirtmesine izin veriyorsa ve kullanıcı "../etc/" dizinine oturum açmayı istiyorsa sistem hala tehdit altında demektir. Bu nedenle, sınanacak noktaları genişletmelisiniz:

Örnek 4 - Daha da güvenilir bir dosya silme betiği

<?php
$kullanıcı = $_SERVER['REMOTE_USER']; // kimlik doğrulaması yapıyoruz
$dosya = $_POST['kullanıcının_belirttiği_dosyaismi'];
$evdizini = "/home/$kullanıcı";

$dosyayolu = "$evdizini/$dosya";

if (!ctype_alnum($kullanıcı) ||
!preg_match('/^(?:[a-z0-9_-]|\.(?!\.))+$/iD', $dosyayolu)) {
die("Kullanıcı veya dosya ismi hatalı");
}

//vs...
?>

Kullandığınız işletim sistemine bağlı olarak, dikkate alacağınız geniş bir dosya isimleri yelpazesi vardır: aygıt dosyaları (/dev/ veya COM1 gibi), yapılandırma dosyaları (/etc/ ve .ini dosyaları), bildik saklama alanları (/home/, My Documents), vb. Bu nedenle, açıkça izin verilenler dışında kalan herşeyi yasaklamak en kolayıdır.


Boş baytlı girdiler

PHP, dosya sistemi ile ilgili işlemler için kod seviyesinde C işlevlerini kullandığından boş baytlı (\0) dizgeler beklenmedik davranışlara yol açabilir. Boş bayt, C'de dizgeleri sonlandırmak için kullanıldığından boş bayt içeren dizgelerin tamamı değil, boş bayta kadar olan bölüm işleme sokulur. Aşağıdaki örnekte bunun sebep olduğu bir sorun ele alınmıştır:

Örnek 1 - Boş baytlardan olumsuz etkilenen bir betik

<?php
$dosya = $_GET['dosya']; // "../../etc/passwd\0"
if (file_exists('/home/siteler/'.$dosya.'.php')) {
/* /home/siteler/../../etc/passwd mevcut olduğundan
file_exists işlevi TRUE döndürür */
include '/home/siteler/'.$dosya.'.php';
// /etc/passwd dosyası betiğe dahil edildi
}
?>

Bu bakımdan, bir dosya sistemi işleminde kullanılan her dizge daima denetlenmelidir. Aşağıda, önceki örneğin iyileştirilmişi verilmiştir:

Örnek 2 - Girdiyi doğru şekilde ele almak

<?php
$dosya = $_GET['dosya'];

// Kabul edilebilir değerlerin listesi
switch ($file) {
case 'main':
case 'foo':
case 'bar':
include '/home/siteler/include/'.$dosya.'.php';
break;
default:
include '/home/siteler/include/main.php';
}
?>


Database Security

İçindekiler

  • Designing Databases
  • Connecting to Database
  • Encrypted Storage Model
  • SQL Injection

Nowadays, databases are cardinal components of any web based application by enabling websites to provide varying dynamic content. Since very sensitive or secret information can be stored in a database, you should strongly consider protecting your databases.

To retrieve or to store any information you need to connect to the database, send a legitimate query, fetch the result, and close the connection. Nowadays, the commonly used query language in this interaction is the Structured Query Language (SQL). See how an attacker can tamper with an SQL query.

As you can surmise, PHP cannot protect your database by itself. The following sections aim to be an introduction into the very basics of how to access and manipulate databases within PHP scripts.

Keep in mind this simple rule: defense in depth. The more places you take action to increase the protection of your database, the less probability of an attacker succeeding in exposing or abusing any stored information. Good design of the database schema and the application deals with your greatest fears.


Designing Databases

The first step is always to create the database, unless you want to use one from a third party. When a database is created, it is assigned to an owner, who executed the creation statement. Usually, only the owner (or a superuser) can do anything with the objects in that database, and in order to allow other users to use it, privileges must be granted.

Applications should never connect to the database as its owner or a superuser, because these users can execute any query at will, for example, modifying the schema (e.g. dropping tables) or deleting its entire content.

You may create different database users for every aspect of your application with very limited rights to database objects. The most required privileges should be granted only, and avoid that the same user can interact with the database in different use cases. This means that if intruders gain access to your database using your applications credentials, they can only effect as many changes as your application can.


Connecting to Database

You may want to establish the connections over SSL to encrypt client/server communications for increased security, or you can use ssh to encrypt the network connection between clients and the database server. If either of these is used, then monitoring your traffic and gaining information about your database will be difficult for a would-be attacker.


Encrypted Storage Model

SSL/SSH protects data travelling from the client to the server: SSL/SSH does not protect persistent data stored in a database. SSL is an on-the-wire protocol.

Once an attacker gains access to your database directly (bypassing the webserver), stored sensitive data may be exposed or misused, unless the information is protected by the database itself. Encrypting the data is a good way to mitigate this threat, but very few databases offer this type of data encryption.

The easiest way to work around this problem is to first create your own encryption package, and then use it from within your PHP scripts. PHP can assist you in this with several extensions, such as OpenSSL and Sodium, covering a wide variety of encryption algorithms. The script encrypts the data before inserting it into the database, and decrypts it when retrieving. See the references for further examples of how encryption works.

Hashing

In the case of truly hidden data, if its raw representation is not needed (i.e. will not be displayed), hashing should be taken into consideration. The well-known example for hashing is storing the cryptographic hash of a password in a database, instead of the password itself.

The password functions provide a convenient way to hash sensitive data and work with these hashes.

password_hash() is used to hash a given string using the strongest algorithm currently available and password_verify() checks whether the given password matches the hash stored in database.

Örnek 1 Hashing password field

<?php

// storing password hash
$query = sprintf("INSERT INTO users(name,pwd) VALUES('%s','%s');",
pg_escape_string($username),
password_hash($password, PASSWORD_DEFAULT));
$result = pg_query($connection, $query);

// querying if user submitted the right password
$query = sprintf("SELECT pwd FROM users WHERE name='%s';",
pg_escape_string($username));
$row = pg_fetch_assoc(pg_query($connection, $query));

if ($row && password_verify($password, $row['pwd'])) {
echo 'Welcome, ' . htmlspecialchars($username) . '!';
} else {
echo 'Authentication failed for ' . htmlspecialchars($username) . '.';
}

?>


SQL Injection

SQL injection is a technique where an attacker exploits flaws in application code responsible for building dynamic SQL queries. The attacker can gain access to privileged sections of the application, retrieve all information from the database, tamper with existing data, or even execute dangerous system-level commands on the database host. The vulnerability occurs when developers concatenate or interpolate arbitrary input in their SQL statements.

Örnek 1 Splitting the result set into pages ... and making superusers (PostgreSQL)

In the following example, user input is directly interpolated into the SQL query allowing the attacker to gain a superuser account in the database.

<?php

$offset = $_GET['offset']; // beware, no input validation!
$query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);

?>
Normal users click on the 'next', 'prev' links where the $offset is encoded into the URL. The script expects that the incoming $offset is a number. However, what if someone tries to break in by appending the following to the URL
0;
insert into pg_shadow(usename,usesysid,usesuper,usecatupd,passwd)
    select 'crack', usesysid, 't','t','crack'
    from pg_shadow where usename='postgres';
--
If it happened, the script would present a superuser access to the attacker. Note that 0; is to supply a valid offset to the original query and to terminate it.

Bilginize:

It is a common technique to force the SQL parser to ignore the rest of the query written by the developer with -- which is the comment sign in SQL.

A feasible way to gain passwords is to circumvent your search result pages. The only thing the attacker needs to do is to see if there are any submitted variables used in SQL statements which are not handled properly. These filters can be set commonly in a preceding form to customize WHERE, ORDER BY, LIMIT and OFFSET clauses in SELECT statements. If your database supports the UNION construct, the attacker may try to append an entire query to the original one to list passwords from an arbitrary table. It is strongly recommended to store only secure hashes of passwords instead of the passwords themselves.

Örnek 2 Listing out articles ... and some passwords (any database server)

<?php

$query = "SELECT id, name, inserted, size FROM products
WHERE size = '$size'";
$result = odbc_exec($conn, $query);

?>
The static part of the query can be combined with another SELECT statement which reveals all passwords:
'
union select '1', concat(uname||'-'||passwd) as name, '1971-01-01', '0' from usertable;
--

UPDATE and INSERT statements are also susceptible to such attacks.

Örnek 3 From resetting a password ... to gaining more privileges (any database server)

<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
If a malicious user submits the value ' or uid like'%admin% to $uid to change the admin's password, or simply sets $pwd to hehehe', trusted=100, admin='yes to gain more privileges, then the query will be twisted:
<?php

// $uid: ' or uid like '%admin%
$query = "UPDATE usertable SET pwd='...' WHERE uid='' or uid like '%admin%';";

// $pwd: hehehe', trusted=100, admin='yes
$query = "UPDATE usertable SET pwd='hehehe', trusted=100, admin='yes' WHERE
...;";

?>

While it remains obvious that an attacker must possess at least some knowledge of the database architecture to conduct a successful attack, obtaining this information is often very simple. For example, the code may be part of an open-source software and be publicly available. This information may also be divulged by closed-source code - even if it's encoded, obfuscated, or compiled - and even by your own code through the display of error messages. Other methods include the use of typical table and column names. For example, a login form that uses a 'users' table with column names 'id', 'username', and 'password'.

Örnek 4 Attacking the database host operating system (MSSQL Server)

A frightening example of how operating system-level commands can be accessed on some database hosts.

<?php

$query = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);

?>
If attacker submits the value a%' exec master..xp_cmdshell 'net user test testpass /ADD' -- to $prod, then the $query will be:
<?php

$query = "SELECT * FROM products
WHERE id LIKE '%a%'
exec master..xp_cmdshell 'net user test testpass /ADD' --%'";
$result = mssql_query($query);

?>
MSSQL Server executes the SQL statements in the batch including a command to add a new user to the local accounts database. If this application were running as sa and the MSSQLSERVER service was running with sufficient privileges, the attacker would now have an account with which to access this machine.

Bilginize:

Some examples above are tied to a specific database server, but it does not mean that a similar attack is impossible against other products. Your database server may be similarly vulnerable in another manner.

A funny example of the issues regarding SQL injection
Image courtesy of » xkcd

Avoidance Techniques

The recommended way to avoid SQL injection is by binding all data via prepared statements. Using parameterized queries isn't enough to entirely avoid SQL injection, but it is the easiest and safest way to provide input to SQL statements. All dynamic data literals in WHERE, SET, and VALUES clauses must be replaced with placeholders. The actual data will be bound during the execution and sent separately from the SQL command.

Parameter binding can only be used for data. Other dynamic parts of the SQL query must be filtered against a known list of allowed values.

Örnek 5 Avoiding SQL injection by using PDO prepared statements

<?php

// The dynamic SQL part is validated against expected values
$sortingOrder = $_GET['sortingOrder'] === 'DESC' ? 'DESC' : 'ASC';
$productId = $_GET['productId'];
// The SQL is prepared with a placeholder
$stmt = $pdo->prepare("SELECT * FROM products WHERE id LIKE ? ORDER BY price {$sortingOrder}");
// The value is provided with LIKE wildcards
$stmt->execute(["%{$productId}%"]);

?>

Prepared statements are provided by PDO, by MySQLi, and by other database libraries.

SQL injection attacks are mainly based on exploiting the code not being written with security in mind. Never trust any input, especially from the client side, even though it comes from a select box, a hidden input field, or a cookie. The first example shows that such a simple query can cause disasters.

A defense-in-depth strategy involves several good coding practices:

  • Never connect to the database as a superuser or as the database owner. Use always customized users with minimal privileges.
  • Check if the given input has the expected data type. PHP has a wide range of input validating functions, from the simplest ones found in Variable Functions and in Character Type Functions (e.g. is_numeric(), ctype_digit() respectively) and onwards to the Perl Compatible Regular Expressions support.
  • If the application expects numerical input, consider verifying data with ctype_digit(), silently change its type using settype(), or use its numeric representation by sprintf().
  • If the database layer doesn't support binding variables then quote each non-numeric user-supplied value that is passed to the database with the database-specific string escape function (e.g. mysql_real_escape_string(), sqlite_escape_string(), etc.). Generic functions like addslashes() are useful only in a very specific environment (e.g. MySQL in a single-byte character set with disabled NO_BACKSLASH_ESCAPES), so it is better to avoid them.
  • Do not print out any database-specific information, especially about the schema, by fair means or foul. See also Error Reporting and Error Handling and Logging Functions.

Besides these, you benefit from logging queries either within your script or by the database itself, if it supports logging. Obviously, the logging is unable to prevent any harmful attempt, but it can be helpful to trace back which application has been circumvented. The log is not useful by itself but through the information it contains. More detail is generally better than less.


Error Reporting

With PHP security, there are two sides to error reporting. One is beneficial to increasing security, the other is detrimental.

A standard attack tactic involves profiling a system by feeding it improper data, and checking for the kinds, and contexts, of the errors which are returned. This allows the system cracker to probe for information about the server, to determine possible weaknesses. For example, if an attacker had gleaned information about a page based on a prior form submission, they may attempt to override variables, or modify them:

Örnek 1 Attacking Variables with a custom HTML page

<form method="post" action="attacktarget?username=badfoo&amp;password=badfoo">
<input type="hidden" name="username" value="badfoo" />
<input type="hidden" name="password" value="badfoo" />
</form>

The PHP errors which are normally returned can be quite helpful to a developer who is trying to debug a script, indicating such things as the function or file that failed, the PHP file it failed in, and the line number which the failure occurred in. This is all information that can be exploited. It is not uncommon for a php developer to use show_source(), highlight_string(), or highlight_file() as a debugging measure, but in a live site, this can expose hidden variables, unchecked syntax, and other dangerous information. Especially dangerous is running code from known sources with built-in debugging handlers, or using common debugging techniques. If the attacker can determine what general technique you are using, they may try to brute-force a page, by sending various common debugging strings:

Örnek 2 Exploiting common debugging variables

<form method="post" action="attacktarget?errors=Y&amp;showerrors=1&amp;debug=1">
<input type="hidden" name="errors" value="Y" />
<input type="hidden" name="showerrors" value="1" />
<input type="hidden" name="debug" value="1" />
</form>

Regardless of the method of error handling, the ability to probe a system for errors leads to providing an attacker with more information.

For example, the very style of a generic PHP error indicates a system is running PHP. If the attacker was looking at an .html page, and wanted to probe for the back-end (to look for known weaknesses in the system), by feeding it the wrong data they may be able to determine that a system was built with PHP.

A function error can indicate whether a system may be running a specific database engine, or give clues as to how a web page or programmed or designed. This allows for deeper investigation into open database ports, or to look for specific bugs or weaknesses in a web page. By feeding different pieces of bad data, for example, an attacker can determine the order of authentication in a script, (from the line number errors) as well as probe for exploits that may be exploited in different locations in the script.

A filesystem or general PHP error can indicate what permissions the web server has, as well as the structure and organization of files on the web server. Developer written error code can aggravate this problem, leading to easy exploitation of formerly "hidden" information.

There are three major solutions to this issue. The first is to scrutinize all functions, and attempt to compensate for the bulk of the errors. The second is to disable error reporting entirely on the running code. The third is to use PHP's custom error handling functions to create your own error handler. Depending on your security policy, you may find all three to be applicable to your situation.

One way of catching this issue ahead of time is to make use of PHP's own error_reporting(), to help you secure your code and find variable usage that may be dangerous. By testing your code, prior to deployment, with E_ALL, you can quickly find areas where your variables may be open to poisoning or modification in other ways. Once you are ready for deployment, you should either disable error reporting completely by setting error_reporting() to 0, or turn off the error display using the php.ini option display_errors, to insulate your code from probing. If you choose to do the latter, you should also define the path to your log file using the error_log ini directive, and turn log_errors on.

Örnek 3 Finding dangerous variables with E_ALL

<?php
if ($username) { // Not initialized or checked before usage
$good_login = 1;
}
if ($good_login == 1) { // If above test fails, not initialized or checked before usage
readfile ("/highly/sensitive/data/index.html");
}
?>


Kullanıcıdan Gelen Bilgi

PHP de yazılmış bir uygulamanın en zayıf noktası, dilin kendisinde olan bir sorun değil, yazılan uygulamanın bazı varsayımlara dayanarak güvenliği göz önünde bulundurmamasıdır. Bundan dolayı bir uygulama yazarken güvenliğe önem vermeli ve kullanıcıdan gelen bilginin varsayıma dayanmadan denetlenmesini sağlamasınız.

Örnek 1 - Tehlikeli Değişken Kullanımı

<?php
// kullanıcının ev dizininden bir dosyayı silelim...
// acaba başka birininkini mi silecek?
unlink ($fena_veri);

// Girişle ilgili kayıt tutalım...
// acaba /etc/passwd dosyasına mı yazacak?
fwrite ($fp, $fena_veri);

// Denemek için birşeyler çalıştıralım...
// acaba tüm dosyaları silecek bir 'rm -rf' komutu mu?
exec ($fena_veri);

?>

Kod yazarken her zaman yazdıklarınızı dikkatlice inceleyip, kullanıcıdan gelen bilgilerin doğru ve tam şekilde denetlenip onaylandığına emin olmanız gerekir. Kullanıcıdan gelen bilgiyi alıp işleme koyduğunuz her durumda kendinize şu soruları sorabilirsiniz:

  • Bu betik benim istemediğim dosyalara erişim, değişiklik veya silme imkanı veriyor mu?
  • Beklenmeyen bir bilgi geldiğinde de istenilen işlem yapılacak mı?
  • Bu betik başka bir amaç için kullanılabilir mi?
  • Bu betik sistemde varolan başka betiklerle birlikte kötü amaçlı kullanılabilir mi?
  • Yapılan işlemler daha sonra inceleme amacıyla kayda alınacak mı?

Yaptığınız projenin uygunluğuna göre kod yazmadan önce ve yazarken bu soruları sık sık kendinize sormanız, proje bittiğinde değerlendirme yapıp değişiklikler yapmanızdan çok daha faydalı olacaktır. Bu sayede proje tasarımını güvenlik düşünülerek yapmış olacak ve daha sonra güvenlik dolayısıyla ciddi değişiklikler yapma zorunluluğunuz ortadan kalkacaktır. Güvenliğe vereceğiniz öncelikli önem, daha sonra yapacağınız ve güvenliği riske atacak değişikliklerden çok daha faydalıdır.

Belirtilen bir değişkenin değerini, kaynağı veya geçerliliği bozacağını düşündüğünüz register_globals, magic_quotes ve benzeri ayarlarları kapatmanız iyi olabilir. Hata bildirim kipi 'error_reporting(E_ALL)' kullanımı, aynı zamanda uyarıları da göstereceği için kodunuzda sorun olup olmadığı hakkında daha iyi bilgi verebilir.


PHP'yi gizlemek

Bazı şeyleri gizleyerek güvenlik sağlama girişimleri en alt düzeydeki çabalardır. Ancak bazı durumlarda en küçük güvenlik arttırıcı önlem bile yararlı olabilir.

Bir kaç basit teknikle PHP'yi gizleyebilir, sisteminizin zayıflıklarını keşfetmeye çalışan bir saldırganı belki de yavaşlatabilirsiniz. php.ini dosyanızda expose_php = off yaparak bir saldırganın erişebileceği bilgiyi en aza indirebilirsiniz.

Başka bir yol da HTTP sunucusuna PHP kodu olarak başka dosya uzantıları belirtmektir. Bu işlem Apache yapılandırma dosyasında veya .htaccess dosyalarında yapılabilir. Yanıltıcı dosya uzantılarını şöyle kullanabilirsiniz:

Örnek 1 - PHP'yi başka bir dil olarak göstermek

# PHP kodlarını başka bir dilin kodları gibi gösterelim
AddType application/x-httpd-php .asp .py .pl
Veya tamamen gizleyelim:

Örnek 2 - PHP uzantısı olarak bilinmeyen bir uzantı kullanmak

# PHP kodunu türü bilinmeyen bir dosya gibi gösterelim
AddType application/x-httpd-php .hop .yep
Ya da HTML kodu gibi gösterek gizleyelim. Ancak tüm HTML dosyalarını PHP işleyeceği için bu bir miktar başarım kaybına sebep olur:

Örnek 3 - PHP uzantısı olarak HTML uzantılarını kullanmak

# Tüm PHP kodu HTML kodu gibi görünsün
AddType application/x-httpd-php .htm .html
Bunun verimli çalışması için tüm PHP dosyalarınızın uzantılarını yukardaki uzantılarla değiştirmeniz gerekir. Dosya adı değiştirme zorunluluğu için bu alt düzey güvenlik önleminin size çıkardığı bir zorluktur diyebiliriz.


Güncel Tutmak

PHP, diğer büyük sistemler gibi devamlı ilerlemeler ve yenilikler içermektedir. Her yeni sürümde sistemin güvenliğini ve kararlılığını etkileyen yapılandırma kazalarını ve diğer açıkları kapatmak veya güvenliği arttırmak amacıyla mutlaka büyük ya da küçük değişiklikler ortaya çıkmaktadır.

Yapılması gereken en akılcı yaklaşım, benzeri diğer sistem secviyesinde betik dilleri ve programlarında olduğu gibi, sık sık güncellemeleri takip etmek ve kullanılan sürüme göre daha yeni bir sürüme geçiş yapmak olmalıdır.


Özellikler

  • PHP ile HTTP Kimlik Doğrulaması
  • Çerezler
  • Oturumlar
  • XForms ile çalışmak
  • Karşıya dosya yükleme
    • POST yöntemi ile karşıya dosya yükleme
    • Hata İletilerinin Açıklamaları
    • Bilinen zorluklar
    • Çoklu dosya yükleme
    • PUT yöntemi desteği
    • Ayrıca Bakınız
  • Uzak dosyaların kullanımı
  • Bağlantı yönetimi
  • Kalıcı Bağlantılı Veritabanı Bağlantıları
  • Komut satırından kullanım — PHP'nin komut satırından kullanımı
    • Giriş
    • Diğer SAPI'lerden dikkate değer farklılıklar
    • Seçenekler — Komut satırı seçenekleri
    • Kullanım — PHP dosyalarının çalıştırılması
    • G/Ç Akımları — Giriş/Çıkış Akımları
    • Etkileşimli kabuk
    • Yerleşik HTTP sunucusu
    • INI Ayarları
  • Garbage Collection
    • Reference Counting Basics
    • Collecting Cycles
    • Performance Considerations
  • DTrace Dynamic Tracing
    • Introduction to PHP and DTrace
    • Using PHP and DTrace
    • Using SystemTap with PHP DTrace Static Probes


PHP ile HTTP Kimlik Doğrulaması

header() işlevi kullanılarak istemci tarayıcısına "Kimlik Doğrulaması Gerekli" ("Authentication Required") iletisini göndererilir ve bunun sonucunda Kullanıcı Adı/Parola giriş penceresi açılır. Kullanıcı kullanıcı adı ve parolasını girdiğinde, PHP betiğini içeren URL, kullanıcı adı, parola ve kimlik doğrulama türünü atayan PHP_AUTH_USER, PHP_AUTH_PW ve AUTH_TYPE öntanımlı değişkenleri ile tekrar çağrılır. Bu öntanımlı değişkenler $_SERVER dizileri içinde bulunur. Sadece "Temel" (Basic) ve "Özet" (Digest) kimlik doğrulama yöntemleri desteklenir. Daha fazla bilgi için header() işlevine bakınız.

İstemci sayfasını kimlik doğrulamaya zorlayacak örnek betik aşağıdaki gibidir:

Örnek 1 - Temel HTTP Kimlik Doğrulaması örneği

<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="Benim bölgem"');
header('HTTP/1.0 401 Unauthorized');
echo 'Kullanıcı İptal düğmesine basınca çıkacak metin';
exit;
} else {
echo "<p>Merhaba {$_SERVER['PHP_AUTH_USER']}.</p>";
echo "<p>Parola olarak {$_SERVER['PHP_AUTH_PW']} verdiniz.</p>";
}
?>

Örnek 2 - Özet HTTP Kimlik Doğrulaması örneği

Bu örnek basit bir Özet HTTP kimlik doğrulama betiğinin nasıl uygulanacağını gösterir. Daha fazla bilgi için » RFC 2617 belgesini okuyunuz.

<?php
$saha = 'Kısıtlanmış alan';

// kullanici => parola
$kullanicilar = array('yonetici' => 'gizlisifre', 'misafir' => 'misafir');

if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Digest realm="'.$saha.
'",qop="auth",nonce="'.uniqid().'",opaque="'.md5($saha).'"');

die('Kullanıcı İptal düğmesine basınca çıkacak metin');
}

// PHP_AUTH_DIGEST değişkenini inceleyelim
if (!($veri = http_ozet_cozumle($_SERVER['PHP_AUTH_DIGEST'])) ||
!isset($kullanicilar[$veri['username']]))
die('Kimlik Doğrulama Hatası!');

// geçerli yanıt üretimi
$A1 = md5($veri['username'] . ':' . $saha . ':' .
$kullanicilar[$veri['username']]);
$A2 = md5($_SERVER['REQUEST_METHOD'].':'.$veri['uri']);
$gecerli_yanit = md5($A1.':'.$veri['nonce'].':'.$veri['nc'].':'.
$veri['cnonce'].':'.$veri['qop'].':'.$A2);

if ($veri['response'] != $gecerli_yanit)
die('Kimlik Doğrulama Hatası!');

// tamam, geçerli kullanıcı adı & parolası
echo 'Hoşgeldiniz : ' . $veri['username'];

// http kimlik doğrulama başlığını çözümleyecek işlev
function http_ozet_cozumle($metin)
{
// eksik veriye karşı koruma
$gerekli_kisimlar = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1,
'username'=>1, 'uri'=>1, 'response'=>1);
$veri = array();
$keys = implode('|', array_keys($gerekli_kisimlar));

preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@',
$metin, $eslesen, PREG_SET_ORDER);

foreach ($eslesen as $m) {
$veri[$m[1]] = $m[3] ? $m[3] : $m[4];
unset($gerekli_kisimlar[$m[1]]);
}

return $gerekli_kisimlar ? false : $veri;
}
?>

Bilginize: Uyumluluk Bilgisi

Lütfen HTTP başlık satırlarını kodlarken dikkatli olun. Bütün istemcilerle uyumluluğu garantilemek için, "Basic" anahtar sözcüğünün "B" harfi büyük yazılmalı, realm metni çift tırnak (tek tırnak değil) ile yazılmalı, ve HTTP/1.0 401 başlık satırındaki 401 kodundan önce tam olarak bir adet boşluk olmalıdır. Yukarıdaki özet örneğinde olduğu gibi kimlik doğrulama bağımsız değişkenleri virgülle ayrılmış olmalıdır.

Yukarıdaki örnekte yapıldığı gibi sadece PHP_AUTH_USER ve PHP_AUTH_PW yazdırmak yerine, kullanıcı adı ve parolasının doğruluğunu denetlemek isteyebilirsiniz. Bunun için belki bir veritabanı sorgusu gönderebilir veya kullanıcıyı bir dbm dosyası içinde arayabilirsiniz.

Burada hatalı Internet Explorer tarayıcılarına dikkat ediniz. Başlıkların sırası konusunda çok seçici görünürler. WWW-Authenticate başlığını HTTP/1.0 401 başlığından önce göndermek hileye neden olabilir.

Bilginize: Yapılandırma Bilgisi

PHP harici kimlik doğrulamasının etkin olup olmadığnı tespit etmek için AuthType yönergesininin varlığını bakar.

Yukarıdaki örnek, aynı sunucudaki kimlik doğrulamalı URL'lerden girilen parolaları çalmak için kimlik doğrulamasız bir URL'yi kullanmak isteyenleri önlemez.

Hem Netscape Navigator hem de Internet Explorer, 401 sunucu yanıtını almak için yerel tarayıcı penceresinin kimlik doğrulama önbelleğini temizler. Bu işlem, kullanıcıları tekrar kullanıcı adı ve parolasını girmeye zorlayacak şekilde "oturumu kapatır". Bazıları bunu "zaman aşımlı" kullanıcı girişi için kullanırlar veya bir "Çıkış" düğmesi sunarlar.

Örnek 3 - Yeni kullanıcı adı va parolası girmeye zorlayan bir HTTP kimlik doğrulama örneği

<?php
function authenticate() {
header('WWW-Authenticate: Basic realm="Kimlik Doğrulaması Deneme Sistemi"');
header('HTTP/1.0 401 Unauthorized');
echo "Bu kaynağa erişmek için geçerli bir kullanıcı adı ve " .
"parolası girmelisiniz.\n";
exit;
}

if (!isset($_SERVER['PHP_AUTH_USER']) ||
($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
authenticate();
} else {
echo "<p>Merhaba: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
echo "Eski: " . htmlspecialchars($_REQUEST['OldAuth']);
echo "<form action='' method='post'>\n";
echo "<input type='hidden' name='SeenBefore' value='1' />\n";
echo "<input type='hidden' name='OldAuth' value='{$_SERVER['PHP_AUTH_USER']}' />\n";
echo "<input type='submit' value='Kimliği Yeniden Doğrula />\n";
echo "</form></p>\n";
}
?>

Bu davranış şekli HTTP Temel kimlik doğrulama standardı için gerekli değildir, bu nedenle buna güvenmemelisiniz. Lynx ile denendiğinde Lynx'in kimlik doğrulama kartlarını 401 sunucu yanıtı ile temizlemediğini göstermiştir, bu nedenle kimlik bilgisi değişmediği sürece geri ve ileri düğmesine basmak aynı kaynağı açacaktır. Kullanıcı '_' tuşu ile kimlik doğrulama bilgisini temizleyebilir.

HTTP kimlik doğrulamasının çalışması için IIS yapılandırmasındaki "Dizin Güvenliği"ni değiştirmelisiniz. "Düzenle"ye basınız ve sadece "Anonim Erişim"leri seçiniz, diğer bütün sahalar seçimsiz olmalıdır.

Bilginize: IIS Bilgisi:
HTTP kimlik doğrulamasının IIS ile çalışması için, PHP yönergesi cgi.rfc2616_headers değeri 0 olmaldır (öntanımlı değer).


Çerezler

PHP HTTP çerezlerini şeffaf olarak destekler. Çerezler, uzak tarayıcıda veri saklamayı ve böylece geri dönen kullanıcılar hakkında veri takibi yapmayı sağlar. Çerezleri, setcookie() ya da setrawcookie() işlevleri ile atayabilirsiniz. Çerezler, HTTP başlığının birer parçasıdır, bu yüzden tarayıcıya bir veri göndermeden önce setcookie() işlevini çağırmalısınız. Aynı kısıtlama header() işlevi için de vardır. çıktı tamponlama işlevlerini kullanarak betik çıktısını, herhangi bir başlık ya da çerez atayıp atamayacağınıza karar verene kadar geciktirebilirsiniz.

İstemci tarafından sunucuya gönderilen herhangi bir çerez, variables_order yönergesi "C" değerini içeriyorsa $_COOKIE süper küresel dizisine atanır. Eğer tek bir çereze, birden fazla değer atamak isterseniz, çerez ismine [] eklemeniz yeterli olacaktır.

Tarayıcı hataları dahil, daha fazla bilgi edinmek için setcookie() ve setrawcookie() işlevlerine bakınız.


Oturumlar

PHP'de oturum desteği belirli bir veriyi birbirini izleyen erişimler arasında korumak üzere bulunur. Bu size daha özelleştirilmiş uygulamalar yapma ve sitenizin cazibesini artırma imkanı verir. Bu konuyla ilgili bütün bilgi Oturum kılavuzu bölümündedir.


XForms ile çalışmak

» XForms geleneksel HTML formları üzerinde bir çeşitleme tanımlayarak, formların daha çeşitli platformlarda, tarayıcılarda ve hatta PDF belgeleri gibi geleneksel olmayan ortamlarda kullanılmasına imkan verir.

XForms'daki ilk önemli fark formun istemciye nasıl gönderildiğidir. » HTML Yazarları için XForms altında XForms yaratılışıyla ilgili ayrıntılı açıklama bulunur. Bu öğreticinin amacı için aşağıdaki basit örnek verilmiştir:

Örnek 1 - Basit bir XForms arama formu

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Arama</h:title>
 <model>
  <submission action="http://ornek.dom/arama"
              method="post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Bul</label></input>
  <submit submission="s"><label>Gönder</label></submit>
 </h:p>
</h:body>
</h:html>

Yukarıdaki form (q isimli) bir metin kutusu ve gönder düğmesi gösterir. Gönder düğmesine tıklandığında, form action ile gösterilen sayfaya gönderilir.

Normal bir HTML formunda, veri application/x-www-form-urlencoded olarak gönderilir, XForms'da ise bu bilgi XML biçimli veri olarak gönderilir.

Eğer XForms ile çalışmayı seçerseniz muhtemelen bu verinin XML olmasını istiyorsunuz demektir, bu durumda, $HTTP_RAW_POST_DATA içine bakınız, orada tarayıcı tarafından üretilen XML belgesini bulacaksınız; bunu istediğiniz XSLT motoruna veya belge çözümleyiciye aktarabilirsiniz.

Eğer biçimlendirmeyle ilgilenmiyorsanız ve sadece verinizin geleneksel $_POST değişkenine yüklenmesini istiyorsanız, method özelliğini urlencoded-post olarak değiştirebilir ve istemci tarayacıya veriyi application/x-www-form-urlencoded olarak gönderme talimatı verebilirsiniz.

Örnek 2 - $_POST elde etmek için bir XFrom kullanımı

<h:html xmlns:h="http://www.w3.org/1999/xhtml"
        xmlns="http://www.w3.org/2002/xforms">
<h:head>
 <h:title>Ara</h:title>
 <model>
  <submission action="http://ornek.dom/arama"
              method="urlencoded-post" id="s"/>
 </model>
</h:head>
<h:body>
 <h:p>
  <input ref="q"><label>Bul</label></input>
  <submit submission="s"><label>Gönder</label></submit>
 </h:p>
</h:body>
</h:html>

Bilginize: Bu belge yazılırken birçok tarayıcı XForms'u destemiyordu. Eğer yukarıdaki örnek çalışmıyorsa tarayıcınızın sürümüne bakınız.


Karşıya dosya yükleme

İçindekiler

  • POST yöntemi ile karşıya dosya yükleme
  • Hata İletilerinin Açıklamaları
  • Bilinen zorluklar
  • Çoklu dosya yükleme
  • PUT yöntemi desteği
  • Ayrıca Bakınız


POST yöntemi ile karşıya dosya yükleme

Bu özellik metin ve ikil dosyaları yükleme imkanı verir. PHP'nin kimlik doğrulama ve dosya işletim işlevleri ile kimin karşıya dosya yükleme yetkisi olacağına ve yüklenen dosya ile ne yapılacağı hakkında tam denetime sahip olursunuz.

PHP, herhangi bir RFC 1867 uyumlu tarayıcıdan gelen dosya yüklemelerini alabilir.

Bilginize: İlgili Yapılandırmalar

Ayrıca php.ini içindeki file_uploads, upload_max_filesize, upload_tmp_dir, post_max_size ve max_input_time yönergelerine bakınız.

PHP ayrıca Netscape Composer ve W3C'nin Amaya istemcileri tarafından kullanılan PUT yöntemiyle dosya yüklemeleri de destekler. Ayrıntılı bilgi için PUT Yöntemi Desteği'ne bakınız.

Örnek 1 - Karşıya Dosya Yükleme Formu

Bir dosya yükleme ekranı aşağıdaki gibi özel bir form ile oluşturulabilir:

<!-- Veri kodlama türü, enctype, aşağıdaki gibi belirtilmek ZORUNDADIR -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE dosya giriş alanından önce bulunmak zorundadır -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- input elemanının adı $_FILES dizisinin içindeki ismi belirler -->
    Bu dosyayı gönder: <input name="kullanici_dosyasi" type="file" />
    <input type="submit" value="Dosyayı Gönder" />
</form>

Yukarıdaki örnekteki __URL__ bir PHP dosyası ile değiştirilmelidir.

MAX_FILE_SIZE gizli alanı (bayt cinsinden) dosya giriş alanından önce bulunmak zorundadır ve değeri PHP tarafından kabul edilecek azami dosya boyutudur. Bu form elemanı azami-büyüklüğü aşan bir dosyanın gönderilmesini baştan engelleyeceği için büyük dosyaları boşuna beklememek açısından kullanıcılara zaman kazandırır; bu nedenle her zaman kullanılmalıdır. Ancak unutmayın: Bu ayarı tarayıcı tarafında devre dışı bırakmak oldukça kolaydır, bu nedenle daha büyük boyuttaki dosyaların bu özellik tarafından engelleneceğine güvenmeyiniz. Bunula birlikte, PHP'nin azami-büyüklük ayarı devre dışı bırakılamaz.

Bilginize:

Dosya yükleme formunuzun enctype="multipart/form-data" özniteliğine sahip olduğundan emin olun, aksi takdirde dosya yükleme çalışmaz.

Küresel $_FILES karşıdan yüklenen tüm dosyaların bilgisini içerir. Örnek formdaki $_FILES içeriği aşağıda verilmiştir. Yukarıdaki örneğe göre yüklenen dosya adı kullanici_dosyasi'dır. Bu herhangi bir isim olabilir.

$_FILES['kullanici_dosyasi']['name']

İstemci makinasındaki asıl dosya adıdır.

$_FILES['kullanici_dosyasi']['type']

Eğer tarayıcı bu bilgiyi sağladıysa dosyanın MIME türüdür. Örneğin, "image/gif". Bu MIME türü PHP tarafında denetlenmez; bu bakımdan bu değeri dikkate almayın.

$_FILES['kullanici_dosyasi']['size']

Yüklenen dosyanın bayt cinsinden boyutudur.

$_FILES['kullanici_dosyasi']['tmp_name']

Yüklenen dosyanın sunucuda saklandığı sıradaki geçici dosya adıdır.

$_FILES['kullanici_dosyasi']['error']

Bu dosya yüklemesiyle ilişkili hata kodudur.

$_FILES['kullanici_dosyasi']['full_path']

Tam dosya yolu (full_path) tarayıcı tarafından gönderilir. Bu yol her zaman gerçek dizin yapısını içermediğinden güvenilmemelidir. PHP 8.1.0 ve sonrasında kullanılabilir.

php.ini içindeki upload_tmp_dir yönergesi ile başka bir yer belirtilmediyse, dosyalar, öntanımlı olarak sunucunun öntanımlı geçici dizininde saklanır. Sunucunun öntanımlı geçici dizini PHP'nin içinde çalıştığı ortamdaki TMPDIR ortam değişkenine başka bir değer vererek değiştirilebilir. Buna PHP betiği içinden putenv() işlevi ile değer verirseniz çalışmaz. Bu ortam değişkeni diğer işlemlerin yüklenen dosyalar üzerinde çalıştığından emin olmak için de kullanılabilir.

Örnek 2 - Dosya yüklemelerinin doğrulanması

Daha fazla bilgi için is_uploaded_file() ve move_uploaded_file() işlev girdilerine de bakınız. Aşağıdaki örnek bir formdan gelen dosya yükleme isteğini işleyecektir.

<?php
$dizin = '/var/siteler/uploads/';
$yuklenecek_dosya = $dizin . basename($_FILES['kulldosyasi']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['kulldosyasi']['tmp_name'], $yuklenecek_dosya))
{
echo "Dosya geçerli ve başarıyla yüklendi.\n";
} else {
echo "Olası dosya yükleme saldırısı!\n";
}

echo 'Diğer hata ayıklama bilgileri:';
print_r($_FILES);

print "</pre>";

?>

Yüklenen dosyayı alan PHP betiği yüklenen dosya ile ne yapılacağını belirlemek için gerekli mantığı uygulamalıdır. Örneğin, $_FILES['kullanici_dosyasi']['size'] değişkenini çok küçük ve büyük dosyaları engellemek için kullanabilirsiniz. $_FILES['kullanici_dosyasi']['type'] değişkenini belirli türlere uymayan dosyaları engellemek için kullanabilirsiniz, fakat bunu sadece birincil denetimlerde kullanın, çünkü bu değer tamamen istemci kontrolündedir ve PHP tarafında denetlenmez. Ayrıca $_FILES['kullanici_dosyasi']['error'] kullanabileceği gibi mantığınızı da hata kodlarına göre planlayabilirsiniz. Her şartta dosyayı ya geçici dizinden silmeli ya da başka bir yere taşımalısınız.

Eğer formunuzda yüklemek için bir dosya seçilmediyse, PHP $_FILES['kullanici_dosyasi']['size'] değerini 0 ve $_FILES['kullanici_dosyasi']['tmp_name'] değerini boş döndürür.

İstemin sonunda dosya başka bir yere taşınmadı veya adı değiştirilmediyse geçici dizinden silinir.

Örnek 3 - Dosya dizisi yükleme

PHP HTML dizisi özelliğini dosyalar için de destekler.

<form action="" method="post" enctype="multipart/form-data">
<p>Resimler:
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="file" name="resimler[]" />
<input type="submit" value="Gönder" />
</p>
</form>
<?php
foreach ($_FILES["resimler"]["error"] as $anahtar => $hata) {
if ($hata == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["resimler"]["tmp_name"][$anahtar];
$name = $_FILES["resimler"]["name"][$anahtar];
// basename() dosya sisteminin geçiş saldırılarını engelleyebilir;
// dosya adının daha fazla doğrulanması/temizliği uygun olabilir
$name = basename($_FILES["resimler"]["name"][$anahtar]);
move_uploaded_file($tmp_name, "data/$name");
}
}
?>

Dosya yükleme ilerleme çubuğu Dosya Yüklemeyi İzleme seçeneği kullanılarak gerçeklenebilir.


Hata İletilerinin Açıklamaları

PHP, dosya dizisi ile birlikte uygun bir hata kodu döndürür. Hata kodu PHP tarafından dosya yüklenirken oluşturulan dosya dizisinin error bölümünde bulunur. Diğer bir deyişle, hata $_FILES['kullanici_dosyasi']['error'] içinde olabilir.

UPLOAD_ERR_OK

Değeri: 0; Hata yoktur, dosya yükleme başarılıdır.

UPLOAD_ERR_INI_SIZE

Değeri: 1; Yüklenen dosya php.ini içindeki upload_max_filesize yönergesindeki değeri aşmaktadır.

UPLOAD_ERR_FORM_SIZE

Değeri: 2; Yüklenen dosya HTML form içinde belirtilen MAX_FILE_SIZE değerini aşmaktadır.

UPLOAD_ERR_PARTIAL

Değeri: 3; Dosya kısmen yüklenmiştir.

UPLOAD_ERR_NO_FILE

Değeri: 4; Dosya yüklenmemiştir.

UPLOAD_ERR_NO_TMP_DIR

Değeri: 6; Geçici dizin yoktur.

UPLOAD_ERR_CANT_WRITE

Değeri: 7; Dosya diske yazılamamıştır.

UPLOAD_ERR_EXTENSION

Değeri: 8; Dosya yükleme bir PHP eklentisi nedeniyle durmuştur. PHP buna hangi eklentinin sebep olduğunu bulmak için bir yol sağlamaz. phpinfo() ile yüklenen eklentilerin listesini alıp incelemek işe yarayabilir


Bilinen zorluklar

MAX_FILE_SIZE dosya boyutu php.ini dosyasında upload_max_filesize yönergesinde belirtilenden büyük olamaz. Öntanımlı değeri 2 Megabayt'tır.

Eğer bir bellek sınırı etkinleştirildiyse, daha büyük bir memory_limit gerekebilir. memory_limit değerinin yeterli olduğundan emin olun.

Eğer max_execution_time çok küçük verildiyse, betiğin çalışma süresi bu süreyi aşabilir. max_execution_time değerinin yeterli olduğundan emin olun.

Bilginize: max_execution_time sadece betiğin kendi çalışma süresini etkiler. Sistem çağrıları system(), sleep() işlevleri, veritabanı sorguları, dosya yükleme işlemi gibi betiğin işletimi dışında yaşanan etkinliklerde harcanan zaman betiğin azami çalışma süresinin belirlenmesinde hesaba katılmaz.

Uyarı

max_input_time betiğin girdi almak için harcayacağı azami süreyi saniye cinsinden belirler, buna dosya yüklemeleri de dahildir. Büyük veya çoklu dosyalar için veya yavaş bağlantılı kullanıcılar için 60 saniyelik öntanımlı değer aşılabilir.

Eğer post_max_size çok küçük verildiyse, büyük dosyalar yüklenemez. post_max_size değerinin yeterli olduğundan emin olun.

max_file_uploads yapılandırma seçeneği bir istekte yüklenebilecek azami dosya sayısını belirtmek için kullanılabilmektedir. Bu sayıdan fazla dosya yüklenmek istendiğinde $_FILES bu sayıya ulaşıldığında dosya yüklemeyi durduracaktır. Örneğin, max_file_uploads için 10 belirtilmişse $_FILES asla 10 üyeden fazlasını içermeyecektir.

Üzerinde çalıştığınız dosyanın doğrulanmaması kullanıcıların diğer dizinlerde bulunan hassas bilgilere erişebileceği anlamına gelebilir.

Bir çok dizin listeleme şeklinin olmasından dolayı özgün isimlerin (örneğin boşluk içerenler) uygun şekilde işlenebileceğinin garantisi yoktur.

Normal girdi alanlarıyla dosya yükleme alanları karıştırılıp aynı form değişkeninde (örneğin foo[] gibi) kullanılamaz.


Çoklu dosya yükleme

inputlar için farklı name değerleri kullanarak çoklu dosya gönderilebilir.

Ayrıca bilgilerin otomatik olarak dizilerde düzenlendiği bir eşzamanlı dosya gönderimi de mümkündür. Bunun için, HTML formunda birden fazla input için aynı dizi söz dizimini kullanmalısınız:

Örnek 1 - Çoklu dosya yükleme

<form action="dosya-yukle.php" method="post" enctype="multipart/form-data">
  Bu dosyaları gönder:<br />
  <input name="kullanici_dosyasi[]" type="file" /><br />
  <input name="kullanici_dosyasi[]" type="file" /><br />
  <input type="submit" value="Dosyaları gönder" />
</form>

Yukarıdaki form gönderildiğinde, $_FILES['kullanici_dosyasi'], $_FILES['kullanici_dosyasi']['name'] ve $_FILES['kullanici_dosyasi']['size'] dizileri ilklendirilir.

Örneğin, gönderilen dosya isimleri /home/test/review.html ve /home/test/xwp.out olsun. Bu durumda, $_FILES['kullanici_dosyasi']['name'][0] review.html değerini içerir ve $_FILES['kullanici_dosyasi']['name'][1] xwp.out değerini içerir. Benzer şekilde, $_FILES['kullanici_dosyasi']['size'][0] review.html'in dosya boyutunu içerir ve böyle devam eder.

$_FILES['kullanici_dosyasi']['name'][0], $_FILES['kullanici_dosyasi']['tmp_name'][0], $_FILES['kullanici_dosyasi']['size'][0] ve $_FILES['kullanici_dosyasi']['type'][0]'a da ayrıca değerleri atanır.

Uyarı

max_file_uploads yapılandırma seçeneği bir istekte yüklenebilecek azami dosya sayısını belirtmek için kullanılabilmektedir. Formunuzun bir istekte bu sayıdan fazla dosya yüklemeye çalışmamasını sağlamalısınız.

Örnek 2 - Dizinin tamamen karşıya yüklenmesi

HTML dosya karşıya yükleme alanlarında, webkitdirectory özniteliği ile bir dizinin tamamı karşıya yüklenebilir. Bu özellik günümüz tarayıcılarının çoğu tarafından desteklenmektedir.

full_path bilgisi ile göreli dosya yolunu saklamak ve sunucuda aynı dizini oluşturmak mümkündür.

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Bu dizini gönder:<br />
  <input name="userfile[]" type="file" webkitdirectory multiple />
  <input type="submit" value="Dosyaları gönder" />
</form>
Uyarı

webkitdirectory özniteliği standart değildir ve standartlaşma sürecinde değildir. İnternete açık üretim sitelerinde kullanılmamalıdır: her kullanıcı için çalışmayacaktır. Ayrıca uygulamalar arasında büyük uyumsuzluklar olabilir ve davranış gelecekte değişebilir.

PHP sadece tarayıcının gönderdiği göreli dizin yapısını çözümler ve bu bilgiyi $_FILES dizisinde aktarır. full_path dizisindeki değerlerin gerçek dizin yapısını içermesinin bir garantisi yoktur ve PHP uygulamalarında bu bilgiye güvenilmemelidir.


PUT yöntemi desteği

PHP bazı istemciler tarafından sunucuda dosya saklamak için kullanılan HTTP PUT yöntemini de destekler. PUT istemleri POST istemleri ile dosya yüklemesinden daha basittir ve şu şekildedir:

PUT /dizin_adi/dosyaismi.html HTTP/1.1

Bu normalde uzak istemci /dizin_adi/dosyaismi.html içeriğini site ağacında saklamak istiyor anlamına gelir. Bu Apache veya PHP'nin herkese site ağacındaki herhangi bir dosya üzerine yazma yetkisi verme anlamına geleceği için iyi bir fikir değildir. Bu nedenle böyle bir istem geldiğinde öncelikle HTTP sunucunuza bu istemin belirli bir PHP betiği tarafından karşılanacağını söylemelisiniz. Apache'de bunu Script yönergesi ile yapabilirsiniz. Bu Apache yapılandırma dosyasının herhangi bir yerine konulabilir. Genellikle <Directory> bloğu içine veya <VirtualHost> bloğu içine konulur. Bu, aşağıdaki gibi bir satır olabilir:

Script PUT /put.php

Bu Apache'ye URI'ler için bütün PUT istemlerinin put.php betiğine gönderilmesini söyler. Tabii ki bu durumda .php uzantısının ve PHP'nin etkin olduğu varsayılmaktadır. Bu betiğe gelen bütün PUT istemleri için hedef kaynağı betiğin kendisi olmalıdır.

PHP ile put.php içinde şunu yapabilirsiniz. Bu yüklenen dosyanın içeriğini sunucudaki myputfile.ext dosyasına kopyalar. Bu dosya kopyalamayı gerçekleştirmeden önce bazı denetimlerin yanında kimlik doğrulaması da yapmak isteyebilirsiniz.

Örnek 1 - HTTP PUT dosyalarının kaydedilmesi

<?php
/* PUT verisi stdin akımına gelir */
$putdata = fopen("php://input", "r");

/* Yazmak için bir dosya aç */
$fp = fopen("put_dosyam.ekl", "w");

/* Bir kerede 1 KB veri oku ve dosyaya yaz */
while ($veri = fread($putdata, 1024))
fwrite($fp, $veri);

/* Akımları kapat */
fclose($fp);
fclose($putdata);
?>


  • « PUT yöntemi desteği
  • Uzak dosyaların kullanımı »
  • PHP Manual
  • Karşıya dosya yükleme
  • Ayrıca Bakınız

Ayrıca Bakınız

  • Dosya Sistemi Güvenliği


Uzak dosyaların kullanımı

php.ini içinde allow_url_fopen seçeneği etkin olduğu sürece, dosya adını bağımsız değişken olarak alan birçok işlevde HTTP ve FTP URL'lerini kullanabilirsiniz. Ek olarak, URL'ler include, include_once, require ve require_once deyimleri ile kullanılabilir (Bunun için allow_url_include seçeneğini etkinleştirmek gerekmektedir). PHP tarafından desteklenen protokoller hakkında daha fazla bilgi için bakınız: Desteklenen Protokoller ve Sarmalayıcılar

Örneğin, bunu uzak web sunucusunda bir dosya açmak, istediğiniz veri için çıktıyı çözümlemek ve bu veriyi bir veritabanı sorgusunda kullanmak veya sadece çıktılamak için kullanabilirsiniz.

Örnek 1 - Uzak sayfanın başlığını elde etmek

<?php
$dosya = fopen ("http://www.ornek_bir_site.com/", "r");
if (!$dosya) {
echo "<p>Uzak dosya açılamıyor.\n";
exit;
}
while (!feof ($dosya)) {
$satir = fgets ($dosya, 1024);
/* Bu sadece başlığın title etiketleri aynı satır üzerindeyse çalışır */
if (preg_match ("@\<title\>(.*)\</title\>@i", $satir, $cikti)) {
$baslik = $cikti[1];
break;
}
}
fclose($dosya);
?>

Aynı zamanda bir FTP sunucusundaki dosyalara da yazabilirsiniz (doğru erişim haklarına sahip bir kullanıcı olarak bağlandığınızda). Bu yöntemi kullanarak sadece yeni dosyalar oluşturabilirsiniz; eğer varolan bir dosyanın üzerine yazmayı denerseniz, fopen() çağrısı başarısız olur.

'anonymous' haricinde bir kullanıcı olarak bağlanmak için, 'ftp://kullanici:parola@ftp.ornek_bir_site.com/ornek/bir/dosya' örneğindeki gibi kullanıcı adı (ve parola) URL içinde belirtilmelidir. (Basit kimlik doğrulaması gerektiren HTTP dosya erişimleri içinde aynı söz dizimini kullanabilirsiniz.)

Örnek 2 - Veriyi uzak sunucuda saklamak

<?php
$dosya = fopen ("ftp://ftp.ornek_bir_site.com/gelen/yazilan_dosya", "w");
if (!$dosya) {
echo "<p>Uzak dosya yazmak için açılamıyor.\n";
exit;
}
/* Veriyi burada yaz. */
fwrite ($dosya, $_SERVER['HTTP_USER_AGENT'] . "\n");
fclose ($dosya);
?>

Bilginize:

Yukarıdaki örnek, bu tekniğin uzak günlük dosyası yazmak için kullanılabileceği fikrini vermiş olabilir. Ne yazık ki bu çalışmaz çünkü eğer uzak dosya zaten varsa fopen() çağrısı başarısız olur. Böyle bir dağıtık günlüklerle için syslog() işlevine göz atmalısınız.


Bağlantı yönetimi

PHP içinde yerleşik olarak bağlantı durumu saklanır. Olası 4 durum vardır:

  • 0 - NORMAL
  • 1 - ABORTED
  • 2 - TIMEOUT
  • 3 - ABORTED ve TIMEOUT

PHP betiği normal olarak çalıştığında, NORMAL durumu etkindir. Eğer uzak istemci bağlantıyı keserse ABORTED durumu etkin olur. Uzak istemci bağlantı kesilmesi genellikle kullanıcının DUR düğmesine basmasından kaynaklanır. Eğer PHP tarafından bir zaman sınırı (set_time_limit() işlevine bakınız) tetiklendiyse, TIMEOUT durumu etkin olur.

Kullanıcının bağlantı kesmesiyle betiğinizin iptal edilip edilmeyeceğine karar verebilirsiniz. Bazen uzak tarayıcı çıktıyı almasa da betiğinizin işini bitirinceye kadar çalışmasını gerektiren durumlar olabilir. Öntanımlı davranış uzak istemci bağlantıyı kestiğinde betik çalışmasının iptal edilmesidir. Bu davranış şekli ignore_user_abort php.ini yönergesi veya ona ilişkin php_value ignore_user_abort Apache httpd.conf yapılandırma yönergesi veya ignore_user_abort() işlevi ile belirlenebilir. Eğer PHP'ye kullanıcı iptallerini gözardı etmesini söylemezseniz ve kullanıcı iptal ederse betiğiniz sonlanır. Tek istisnası register_shutdown_function() işleviyle kapatma işlevinin kayıtlanmasıdır. Bir kapatma işlevi ile, uzak kullanıcı DUR düğmesine bastığında, betiğinizin sonraki çıktılama denemesinde PHP bağlantının iptal edildiğini tespit eder ve kapatma işlevi çağrılır. Bu kapatma işlevi ayrıca normal olarak sonlandırmada betiğinizin sonunda çağrılacaktır, istemci tarafından bağlantı iptalinde farklı birşey yapmak için connection_aborted() işlevini kullanabilirsiniz. Eğer bağlantı iptal edilirse bu işlev true döndürecektir.

Betiğinizi yerleşik betik zamanlayıcı ile de sonlandırabilirsiniz. Öntanımlı zaman aşımı 30 saniyedir. Bu max_execution_time php.ini yönergesi veya ilişkili php_value max_execution_time Apache httpd.conf yapılandırma yönergesi veya set_time_limit() işlevi ile değiştirilebilir. Zaman aşımında betik iptal edilir ve yukarıdaki istemci bağlantı kesilmesindeki gibi, eğer kayıtlı bir kapatma işlevi varsa çağrılır. Bu kapatma işlevi içinde connection_status() işlevi ile kapatma işlevinin zaman aşımı nedeniyle mi çağrıldığını denetleyebilirsiniz. Kapatma işlevinin çağrılmasına zaman aşımı neden olduysa bu işlev 2 döndürür.

ABORTED ve TIMEOUT durumlarının aynı zamanda etkin olabileceğine dikkat edilmesi gerekir. Eğer PHP'ye kullanıcı iptallerini gözardı etmesini söylediyseniz bu mümkündür. PHP kullanıcının bağlantıyı koparmış olabileceğini bilir, fakat betik çalışmaya devam eder. Eğer zaman sınırına ulaşırsa çalışması iptal edilir ve kapatma işleviniz varsa çağrılır. Bu noktada connection_status() işlevinin 3 döndürdüğünü göreceksiniz.


Kalıcı Bağlantılı Veritabanı Bağlantıları

Kalıcı bağlantılar betiğinizin çalışması bittiğinde kapanmayan bağlantılardır. Bir kalıcı bağlantı istendiğinde PHP evvelce açılmış eşdeğer bir kalıcı bağlantı var mı diye bakar ve varsa onu kullanır. Yoksa yeni bir bağlantı oluşturur. Bir 'eşdeğer' bağlantı, aynı konağa (uygulanabildiği takdirde) aynı kullanıcı adı ve parola kullanılarak açılmış bağlantıdır.

HTTP sunucuları hakkında tam bilgi sahibi olmayan kişiler ne yaptıklarını bilmeden yükü yanlış kalıcı bağlantılara dağıtabilir ve bu yanlış bağlantılarla çalışabilirler. Özellikle, size aynı bağlantı üzerinde 'kullanıcı oturumları' açma olanağını, verimli hareket işlemleri kurulmasını ve başka birçok şeyi bir bütün halinde sağlamazlar. Aslında, son derece net olarak, kalıcı bağlantılar, kalıcı olmayan bağlantılarla mümkün olmayan işlevselliği size sağlayamazlar.

Neden?

Bu HTTP sunucusunun işi nasıl yaptığı ile ilgilidir. PHP'nin HTML sayfalarını üretmek için HTTP sunucusunu üç şekilde kullanabilir.

İlk yöntem, PHP'yi bir CGI "sarmalayıcı" olarak kullanmaktır. Bu yolla, HTTP sunucusundan her PHP sayfası isteğinde PHP yorumlayıcısının yeni bir örneği oluşturulup yok edilir. Yorumlayıcı her istekten sonra yok edildiğinden kazanılan özkaynaklar da (bir SQL veritabanı bağlantısı gibi) kaybedilir. Bu durumda, kalıcı bağlantılar kullanarak hiç bir şey kazanamazsınız; çünkü özkaynaklar kalıcı olmayacaktır.

İkinci ve en çok kullanılan yöntem, PHP'yi çok süreçli bir sunucuda bir modül olarak çalıştırmaktır. Bu olanak şimdilik sadece Apache HTTP sunucusu ile mümkündür. Çok süreçli bir sunucu, işleri sayfaları sunmak olan bir çok (alt) süreci denetimi altında tutan bir ana sürece sahiptir. Bir istemciden bir istek geldiğinde, başka istemcilere hizmet sunmayan alt süreçlerden birini bu isteğe tahsis eder. Eğer aynı istemci ikinci bir istek yaparsa bu isteğe başka bir alt süreç yanıt verebilir. Kalıcı bir bağlantı açıldığında SQL hizmeti isteği yapılan her sayfa isteği SQL sunucuya tahsis edilen aynı bağlantıdan sunulur.

Son yöntem, PHP'yi çok evreli bir sunucuda bir eklenti olarak kullanmaktır. PHP şimdilik, PHP'nin bir eklenti olarak kullanımına izin veren Netscape FastTrack (iPlanet), Microsoft's Internet Information Server (IIS) ve O'Reilly's WebSite Pro gibi çok evreli HTTP sunucularında ISAPI, WSAPI ve (Windows üzerinde) NSAPI için destek vermektedir. Davranış esas olarak ikinci yöntemde açıklanan çok süreçli yöntemle aynıdır.

Kalıcı bağlantılar ek bir işlevselliğe sahip değilseler bunlar neden tercih ediliyorlar?

Yanıtı oldukça basittir: Verimlilik. SQL sunucunuza bağlantı açmak çok masraflıysa kalıcı bağlantılar kurmak daha iyidir. Bu bedel gerçekte birçok sebebe bağlı olabileceği gibi olmayabilir de. Bu, veritabanının, HTTP sunucunun bulunduğu makinede olup olmamasından SQL sunucusunun makineye ne kadar yük bindirdiğine kadar geniş bir yelpazede değerlendirilebilir. Son değerlendirmede, eğer bu bedel yüksekse kalıcı bağlantıların büyük ölçüde yardımı olacaktır. SQL sunucuya yapılan her bağlantı isteğinde alt süreç sadece o sayfayı işleyeceği yerde, kalıcı bağlantı durumunda her alt sürecin ömrü boyunca bir bağlantı kurmasına olanak tanınır. Yani, bir kalıcı bağlantı açmış her alt sürecin kendine ait bir kalıcı bağlantısı vardır. Örneğin, SQl sunucunuza kalıcı bağlantı açan betiğiniz 20 ayrı alt süreç çalıştırıyorsa alt süreç başına bir tane olmak 20 ayrı bağlantı var demektir.

Ancak şuna dikkat edin, bağlantı sayısı sınırlı bir veritabanını bu sınırın üstünde kalıcı bağlantılarla kullanıyorsanız bunun bazı götürüleri olabilir. Eğer veritabanınız aynı anda 16 bağlantılık bir sınıra sahipse ve çok meşgul bir sunucu oturumunda 17 alt evre bağlantı açmaya çalışıyorsa biri bunu başaramayacaktır. Eğer betiğinizde (sonsuz döngü gibi durumlarda) bağlantıların kapatılmasına izin vermeyen hatalar varsa, veritabanı sadece 16 bağlantı ile hızla batağa saplanacaktır. Terkedilmiş ve boştaki bağlantıların devreye sokulması hakkında bilgi edinmek için veritabanınızın belgelerine bakınız.

Uyarı

Kalıcı bağlantıları kullanırken hesaba katmanız gereken bir çok yetersizlik vardır. Bunlardan biri, bir kalıcı bağlantı üzerinden tablo kilitlemesi yapıyorsanız ve betiğiniz herhangi bir şekilde kilidi serbest bırakamazsa aynı bağlantıyı kullanan sonraki betikler sonsuza kadar engellenebilir ve bunun sonucu olarak HTTP sunucunuzu veya veritabanı sunucunuzu yeniden başlatmak zorunda kalabilirsiniz. Bir diğer durumda, hareketleri (transaction) kullanırken, bir hareket bloğu tamamlanmadan betiğiniz çalışmasını bitirirse aynı bağlantıyı kullanan sonraki betiklerin işleri başlarından aşacaktır. Her durumda, tablolarınızın kilitlerini açmak ve hareketleri başa sarmak için register_shutdown_function() işlevini kullanarak bir temizlik işlevi tanımlayabilirsiniz. Daha da iyisi, tablo kilitleri veya hareket blokları kullanan betiklerde kalıcı bağlantıları kullanmayarak bu sorunlardan tamamiyle kurtulabilirsiniz.

Özetle, kalıcı bağlantılar normal bağlantılarla bire bir eşleşecek şekilde tasarlanmışlardır. Yani, betiğinizin davranışını değiştirmeden kalıcı bağlantılar yerine her zaman kalıcı olmayan bağlantılar kullanabilirsiniz. Bu, muhtemelen betiğinizin verimliliğini etkileyecektir ama davranışında bir değişikliğe yol açmayacaktır!

Ayrıca bakınız:
ibase_pconnect(), ociplogon(),
odbc_pconnect(), oci_pconnect(),
pfsockopen() ve pg_pconnect().


PHP'nin komut satırından kullanımı

İçindekiler

  • Giriş
  • Diğer SAPI'lerden dikkate değer farklılıklar
  • Seçenekler
  • Kullanım
  • G/Ç Akımları
  • Etkileşimli kabuk
  • Yerleşik HTTP sunucusu
  • INI Ayarları


Giriş

CLI SAPI'nin ana odağı PHP ile kabuk (veya masaüstü) uygulamaları geliştirmektir. CLI SAPI'nin bu bölümde anlatılan diğer SAPI'lerden az bir farkı vardır. Söylemek gerekir ki, her ne kadar CLI ve CGI birçok aynı davranışı paylaşsa da farklı SAPI'lerdir.

CLI SAPI --enable-cli ile öntanımlı olarak etkin kılınır. Etkinliğini kaldırmak için ./configure betiğinde --disable-cli seçeneğini kullanabilirsiniz.

PHP 4.3.0'dan beri, CLI/CGI çalıştırılabilirinin adı, yeri ve mevcudiyeti PHP'nin sisteminize nasıl kurulduğuna bağlı olarak değişecektir. make çalıştırıldığında öntanımlı olarak, hem CGI hem de CLI derlenir ve PHP kaynak ağacında sapi/cgi/php-cgi ve sapi/cli/php dizinlerine ayrı yerleştirilirler. Her ikisinin de adının php olduğunu farkedeceksiniz. make install çalıştırıldığında ne yaşanacağı yapılandırma satırınıza bağlıdır. Eğer yapılandırma sırasında apxs gibi bir SAPI modülü seçildiyse, veya --disable-cgi seçeneği kullanıldıysa, make install sırasında CLI {PREFIX}/bin/php dizinine kopyalanır, aksi takdirde buraya CGI yerleştirilir. Örneğin, --with-apxs yapılandırma satırınızda ise make install sırasında CLI {PREFIX}/bin/php dizinine kopyalanır. Eğer CGI kurulumunu etkisiz kılmak isterseniz, make install'dan sonra make install-cli kullanın. Ya da yapılandırma satırınızda --disable-cgi belirtebilirsiniz.

Bilginize:

--enable-cli ve --enable-cgi öntanımlı olarak etkinleştirildiği için, yapılandırma satırınızda sadece --enable-cli olması CLI'nin make install sırasında {PREFIX}/bin/php dizinine kopyalanacağı anlamına gelmez.

PHP 4.2.0 ve PHP 4.2.3 arasındaki Windows paketlerinde CLI php-cli.exe olarak, CGI da aynı dizinde php.exe olarak dağıtılmıştır. PHP 4.3.0'la başlayarak Windows paketlerinde CLI, cli adlı farklı bir dizinde php.exe olarak dağıtılmıştır, böylece cli/php.exe olmuştur. PHP 5'le başlayarak, CLI ana dizinde php.exe adıyla dağıtılmıştır. CGI sürümü php-cgi.exe olarak dağıtılmaktadır.

CLI sürümü ana dizinde php.exe isminde CGI sürümü ise php-cgi.exe isminde bir dosya ile dağıtılmaktadır. Buna ek olarak, PHP'nin --enable-cli-win32 ile yapılandırılması halinde dağıtım php-win.exe dosyasını da içerir. php-win.exe CLI sürümü ile aynıdır, fakatphp-win.exe herhangi çıktı vermez, bu nedenle konsolu desteklemez (ekranda "dos penceresi" görünmez).

Bilginize: Bende hangi SAPI var?

Kabuktan, php -v yazımı php CGI mı CLI mi olduğunu söyler. Ayrıca php_sapi_name() işlevine ve PHP_SAPI sabitine bakınız.

Bilginize:

PHP 4.3.2'de bir Unix kılavuz (man) sayfası eklendi. Bunu kabuk ortamında man php yazarak görüntüleyebilirsiniz.


Diğer SAPI'lerden dikkate değer farklılıklar

CLI SAPI'nin diğer SAPI'lerden dikkate değer farklılıkları:

  • CLI SAPI'den farklı olarak, çıktıya hiçbir başlık yazılmaz.

    CGI SAPI HTTP başlıklarını önlemek için bir yol sunsa da, CLI SAPI'de onları etkinleştirecek eşdeğer bir seçenek yoktur.

    CLI öntanımlı olarak sessiz kipte başlar, -q ve --no-header seçenekleri eski CGI betiklerinin kullanımına uyumluluk için tutulmaktadır.

    Çalışma dizinini betiğinki ile aynı yapmaz. (-C ve --no-chdir seçenekleri uyumluluk için tutulmaktadır)

    Düz metin hata iletileri (HTML biçimlendirmesi yok).

  • Kabuk ortamında birşey ifade etmedikleri için CLI SAPI tarafından geçersiz kılınan bazı php.ini yönergeleri vardır:

    Geçersiz kılınan php.ini yönergeleri
    Yönerge | CLI SAPI öntanımlı değeri | Yorum
    html_errors | false | Hata iletileri HTML etiketleri ile karıştırılmışken, kabukta bunları okumak oldukça zor olacağı için bu yönerge öntanımlı olarak false değerlidir.
    implicit_flush | true | Kabuk ortamında, print, echo ve arkadaşlarından gelen çıktıların önbellekte tutulmadan hemen çıktıya yazılması istenir. Eğer standart çıktıyı ertelemek veya işlemek isterseniz çıktı önbellekleme kullanabilirsiniz.
    max_execution_time | 0 (sınırsız) | HTML üretmek için yazılan uygulamalar genellikle çok çabuk işletilse de, kabuk ortamlarında PHP kullanımının sonsuz olasılığı olduğu için, kabuk uygulamaları daha fazla işletim zamanı harcama eğilimindedirler, bu nedenle azami işletim süresi sınırsız olarak belirtilmiştir.
    register_argc_argv true

    Bu ayarın true olması, CLI SAPIde çalıştırılan betiklerin argc (uygulamaya aktarılan bağımsız değişken sayısı) ve argv (gerçek bağımsız değişkenler dizisi) değerlerine her zaman erişebilmesi anlamına gelir.

    CLI SAPI kullanırken $argc ve $argv PHP değişkenleri uygun değerlere ayarlanır. Bu değerleri $_SERVER dizisinde de bulabilirsiniz. Örnek: $_SERVER['argv']

    output_buffering false

    Bu yönergenin öntanımlı değeri false olmasına rağmen Çıktı tamponlama işlevleri kullanılabilmektedir. functions are available.

    max_input_time false

    PHP CLI, GET, POST ve dosyaların karşıya yüklenmesini desteklemez.

    Bilginize:

    Bu yönergeler php.ini yapılandırma dosyasından veya özel bir yapılandırma dosyasından başka bir değerle ilklendirilemezler. Bu sınırlamanın sebebi bu değerlerin bütün yapılandırma dosyaları çözümlendikten sonra uygulanmasıdır. Fakat, çalışma anında bunların değerleri değişirilebilir (olsa da register_argc_argv gibi bazıları için bu bir şey değiştirmez).

    Bilginize:

    Komut satırı betikleri için ignore_user_abort yönergesinin On olması önerilir. Daha fazla bilgi için ignore_user_abort() işlevine bakınız.

  • Kabuk ortamında G/Ç akımları ile kolay çalışmak için bazı sabitler tanımlanmıştır.

  • CLI SAPI geçerli dizini betiğin işletildiği dizine değiştirmez.

    Örnek 1 - CLI SAPI farkını gösteren örnek:

    <?php
    // deneme.php isimli basit deneme uygulamamız
    echo getcwd(), "\n";
    ?>

    CGI sürümününü kullanınca, çıktı şöyle olur:

    $ pwd
/tmp

$ php -q bir_dizin/deneme.php
/tmp/bir_dizin

    Bu açıkça gösteriyor ki PHP geçerli dizinini betiğin çalıştığı dizine değiştiriyor.

    CLI SAPI kullanımı sonucu:

    $ pwd
/tmp

$ php -f bir_dizin/deneme.php
/tmp

    Bu, PHP'de kabuk araçları yazarken daha fazla esneklik imkanı verir.

    Bilginize:

    CGI SAPI bu CLI SAPI davranışını komut satırından çalışırken -C seçeneği ile destekler.


Komut satırı seçenekleri

PHP çalıştırılabiliri tarafından desteklenen komut satırı seçenekleri listesi istenirse PHP -h seçeneği ile çalıştırılarak sorgulanabilir:

Kullanım: php [seçenekler] [-f] <dosya> [--] [bağımsız değişkenler...]
  php [seçenekler] -r <kod> [--] [bağımsız değişkenler...]
  php [seçenekler] [-B <başlangıç_kodu>] -R <kod> [-E <bitiş_kodu>] [--] [bağımsız değişkenler...]
  php [seçenekler] [-B <başlangıç_kodu>] -F <dosya> [-E <bitiş_kodu>] [--] [bağımsız değişkenler...]
  php [seçenekler] -- [bağımsız değişkenler...]
  php [seçenekler] -a

  -a               Etkileşimli çalışır
  -c <yol>|<dosya> php.ini dosyası bu dizinde aranır
  -n               Hiçbir php.ini dosyası kullanılmayacak
  -d foo[=bar]     'bar' değerli bir foo INI girdisi tanımlar
  -e               Hata ayıklayıcı/profilci için genişletilmiş bilgi üretir
  -f <dosya>       <dosya>'yı çözümler ve çalıştırır
  -h               Bu yardım iletisini gösterir
  -i               PHP bilgisi
  -l               Sadece söz dizimi denetimi (lint)
  -m               Modül olarak derlenenleri gösterir
  -r <kod>         PHP <kod>unu <?..?> betik etiketleri olmadan çalıştırır
  -B <başlangıç_kodu>  PHP <başlangıç_kodu>nu girdi satırlarından önce
                   çalıştırır
  -R <kod>         PHP <kod>unu her girdi satırı için çalıştırır
  -F <dosya>       Her girdi satırı için <dosya>yı çözümler ve çalıştırır
  -E <bitiş_kodu>  PHP <bitiş_kodu>nu bütün girdi satırlarını işledikten
                   sonra çalıştırır
  -H               Harici araçlardan aktarılan bütün bağımsız değişkenleri gizler
  -S <addr>:<port> Yerleşik HTTP sunucusu ile çalıştırır
  -t <belgekök>     Yerleşik HTTP sunucusu için belge kök dizini belirtilir
  -s               Kaynağı renklendirilmiş söz dizimi ile çıktılar
  -v               Sürüm bilgilerini gösterir
  -w               Kaynağı boşluklar ve yorumlardan arındırılmış olarak
                   çıktılar
  -z <dosya>       <dosya> Zend eklentisini yükler

  bağımsız değişkenler... Betiğe aktarılan bağımsız değişkenler. Eğer betik stdin'den
                   okunuyorsa veya ilk bağımsız değişken - ile başlıyorsa
                   -- bağımsız değişkenler kullanın

  --ini            Yapılandırma dosyası isimlerini gösterir

  --rf <isim>      <isim> işlevi hakkında bilgi gösterir
  --rc <isim>      <isim> sınıfı hakkında bilgi gösterir
  --re <isim>      <isim> eklentisi hakkında bilgi gösterir
  --rz <isim>      <isim> Zend eklentisi hakkında bilgi gösterir
  --ri <isim>      <isim> eklentisi için yapılandırmayı gösterir

Komut satırı seçenekleri
Seçenek | Uzun Seçenek | Açıklama
-a --interactive

PHP'yi etkileşimli çalıştırır.Daha ayrıntılı bilgi için Etkileşimli kabuk konusuna bakınız.

-b --bindpath

Harici FASTCGI Sunucusu kipi için dizin yolu (sadece CGI için).

-C --no-chdir

Betiğin bulunduğu dizine chdir yapılmaz (sadece CGI için).

-q --no-header

Sessiz kip. HTTP başlığının çıktılanmasını engeller (sadece CGI için).

-T --timing

Betiğin çalışma süresini sayı kere ölçer (sadece CGI için).

-c --php-ini

Bu seçenek php.ini dosyasının aranacağı dizini veya özel bir INI dosyasını (adı php.ini olmak zorunda değildir) belirtebilir. Örneğin:

$ php -c /ozel/dizin/ ornek_betik.php

$ php -c /ozel/dizin/ozel-dosya.ini ornek_betik.php

Eğer bu seçeneği belirtmezseniz, php.ini öntanımlı dizinlerde aranır.

-n --no-php-ini

php.iniyi tamamen görmezden gel.

-d --define

php.inide izin verilen yapılandırma yönergelerinden herhangi birine özel değer atamanıza imkan verir. Söz dizimi:

-d ayar_yönergesi[=değer]

# Değer kısmını atlamak yapılandırma yönergesini "1" yapar
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# Boş değer aktarınca yapılandırma yönergesinine "" atanır
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# Yapılandırma yönergesine '=' karakterinden sonra aktarılan değer atanır
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=herhangi_bir_sey
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "herhangi_bir_sey"

-e --profile-info

Hata ayıklayıcı/profilci için kullanılmak üzere genişletilmiş bilgi kipini etkinleştirir.

-f --file

Belirtilen dosya adını çözümler ve çalıştırır. -f seçeneği isteğe bağlıdır; verilmese de olur. Sadece çalıştırılacak dosya adını belirtmek yeterlidir.

-h ve -? | --help ve --usage | Komut satırı seçenekleri tek satırlık açıklamalarıyla listelenir.
-i | --info | phpinfo() işlevini çağırır ve sonuçları yazdırır. Eğer PHP doğru çalışmıyorsa, php -i komutunu kullanmanız ve bilgi tablolarından önce herhangi bir hata iletisi yazdırılmış mı diye bakmanız tavsiye edilir. CGI kipini kullanırken çıktının HTML biçiminde olacağını ve bu nedenle çok büyük ve karmaşık olacağını dikkate alınız.
-l --syntax-check

Bu seçenek verilen PHP kodunun sadece söz dizimini denetlemek için uygun bir yol sağlar. Başarı halinde, No syntax errors detected in <filename> metni standart çıktıya yazılır ve kabuk dönüş kodu 0 olur. Başarısızlık halinde, iç çözümleyici hatasına ilaveten Errors parsing <filename> metni standart çıktıya yazılır ve kabuk dönüş kodu -1 olur.

Bu seçenek ölümcül hataları bulamaz (tanımlanmamış işlevler gibi). Ölümcül hataları da denetlemek için -f seçeneğini kullanın.

Bilginize:

Bu seçenek -r seçeneği ile birlikte kullanılamaz.

-m --modules

Örnek 1 - Yerleşik (ve yüklü) PHP ve Zend modüllerinin listelenmesi

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

PHP'nin komut satırından çalıştırılmasına izin verir. PHP başlangıç ve bitiş etiketleri (<?php ve ?>) gerekmez ve eğer bulunurlarsa çözümleme hatasına neden olurlar.

Bilginize:

PHP'nin bu şekilde kullanımı halinde kabuk tarafından yapılan komut satırı değişken değişimleri ile çakışmamak için özen göstermek gerekir.

Örnek 2 - Çift tırnak kullanımında bir çözümleme hatasının gösterilmesi

$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='

Buradaki sorun sh/bash kabuklarının çift tırnak " kullanıldığında bile değişken değişimi yapmalarından kaynaklanır. $foo değişkeni kabukta tanımlanmış olmayacağı için, PHP'ye çalıştırılmak üzere aktarılan kodda hiçbir şey olarak yorumlanacaktır:

$ php -r " = get_defined_constants();"

Doğru yol tek tırnak ' kullanımıdır. Tek tırnak içindeki değişkenler sh/bash tarafından dönüştürülmezler.

Örnek 3 - Kabuğun değişken dönüşümü yapmasını engellemek için tek tırnakların kullanımı

$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]

Eğer sh/bash haricinde bir kabuk kullanıyorsanız, daha farklı sorunlarla karşılaşabilirsiniz. Bu gibi durumlarda » https://github.com/php/php-src/issues adresinde hata raporu açmaktan çekinmeyiniz. Kabuk değişkenlerini kodunuza almaya çalıştığınızda veya önceleme için ters bölü kullanımında sıkıntılar yaşayabilirsiniz.

Bilginize:

-r seçeneği CLI SAPI'de bulunur, CGI SAPI'de bulunmaz.

Bilginize:

Bu seçenek çok temel kodlar için tasarlanmıştır. Bazı yapılandırma yönergeleri (örn. auto_prepend_file ve auto_append_file) bu kipte görmezden gelinir.

-B --process-begin

Standart girdi işlenmeden çalıştırılacak PHP kodudur.

-R --process-code

Her girdi satırı için işletilecek PHP kodudur.

Bu kipte iki özel değişken bulunur: $argn ve $argi. $argn PHP'nin o anda işlediği satırı içerirken, $argi satır numarasını içerir.

-F --process-file

Her girdi satırı için işletilecek PHP dosyasıdır.

-E --process-end

Girdi işlendikten sonra işletilecek PHP kodudur.

Örnek 4 - Bir projedeki satır sayısını saymak için -B, -R ve -E seçeneklerinin kullanımı

$ find projem | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Toplam Satır Sayısı: $l\n";'
Toplam Satır Sayısı: 37328

-S --server

Yerleşik HTTP sunucusunu başlatır.

-t | --docroot | Yerleşik HTTP sunucusuna belge kökünü belirtir.
-s --syntax-highlight ve --syntax-highlighting

Renklendirilmiş söz dizimi ile kaynak gösterimi.

Bu seçenek dosyayı çözümlemek için içsel yöntemleri kullanır ve renklendirilmiş bir HTML sürümü üreterek standart çıktıya yazar. Bütün yaptığı HTML başlıkları olmadan <code> [...] </code> HTML etiketlerinden oluşan bir blok üretmektir.

Bilginize:

Bu seçenek -r seçeneği ile birlikte çalışmaz.

-v --version

Örnek 5 - PHP ve Zend sürümleri ile SAPI ismini çıktılamak için -v kullanımı

$ php -v
PHP 5.3.0alpha3-dev (cli) (built: Nov 13 2008 18:20:00)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2008 Zend Technologies

-w --strip

Kaynağı boşluklar ve yorumlardan arındırılmış olarak gösterir.

Bilginize:

Bu seçenek -r seçeneği ile birlikte çalışmaz.

-z --zend-extension

Zend eklentisini yükler. Eğer sadece dosya ismi verilirse, PHP bu eklentiyi sisteminizde geçerli öntanımlı kütüphane yolundan yüklemeye çalışır (Linux sistemlerde genellikle /etc/ld.so.conf dosyasında belirtilir). Dosya adı tam yol bilgisi ile aktarılırsa sistem kütüphanesi arama yolu kullanılmaz. Bir dizin bilgisiyle göreceli bir dosya ismi kullanımı PHP'ye sadece geçerli dizine göreceli eklentinin yüklenmesini söyler.

--ini

Yapılandırma dosya isimlerini ve taranan dizinleri gösterir.

Örnek 6 - --ini örneği

$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File:         /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)
--rf --rfunction

Verilen işlev veya sınıf yöntemi hakkında bilgi gösterir (örneğin, bağımsız değişken adlarını ve sayısını).

Bu seçenek sadece PHP Reflection desteği ile derlendiyse mevcuttur.

Örnek 7 - Temel --rf kullanımı

$ php --rf var_dump
Function [ <internal> public function var_dump ] {

  - Parameters [2] {
    Parameter #0 [ <required> $var ]
    Parameter #1 [ <optional> $... ]
  }
}
--rc --rclass

Verilen sınıf hakkında bilgi gösterir (sabitler, özellikler ve yöntemler listesi).

Bu seçenek sadece PHP Reflection desteği ile derlendiyse mevcuttur.

Örnek 8 - --rc örneği

$ php --rc Directory
Class [ <internal:standard> class Directory ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [3] {
    Method [ <internal> public method close ] {
    }

    Method [ <internal> public method rewind ] {
    }

    Method [ <internal> public method read ] {
    }
  }
}
--re --rextension

Verilen eklenti hakkında bilgi gösterir (php.ini seçenekleri, tanımlı işlevler, sabitler ve sınıflar listesi).

Bu seçenek sadece PHP Reflection desteği ile derlendiyse mevcuttur.

Örnek 9 - --re örneği

$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {

  - Functions {
    Function [ <internal> function json_encode ] {
    }
    Function [ <internal> function json_decode ] {
    }
  }
}
--rz --rzendextension

Belirtilen Zend eklentisi için yapılandırma bilgisini gösterir (bu bilgi phpinfo() ile de elde edilebilir).

--ri --rextinfo

Verilen eklenti için yapılandırma bilgisini gösterir (phpinfo() ile aynı bilgiyi döndürür). Çekirdek yapılandırma bilgisi "main" eklenti adı kullanılarak bulunabilir.

Örnek 10 - --ri örneği

$ php --ri date

date

date/time support => enabled
"Olson" Timezone Database Version => 2008.20
Timezone Database => internal
Default timezone => Europe/Helsinki

Directive => Local Value => Master Value
date.timezone => no value => no value
date.default_latitude => 31.7667 => 31.7667
date.default_longitude => 35.2333 => 35.2333
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333

Bilginize:

Uzun seçenekler (--no-chdir gibi) PHP 4.3.3'ten beri kullanılabilmektedir.

Bilginize:

-rBRFEH, --ini ve --r[fcezi] seçenekleri sadece CLI'de kullanılabilir.


PHP dosyalarının çalıştırılması

CLI SAPI çalıştırmak istediğiniz PHP kodunu getirmek için üç farklı yola sahiptir:

  1. PHP'ye belli bir dosyayı çalıştırmasını söyleyerek.

    php ornek_betik.php

php -f ornek_betik.php

    Her iki yolla da (-f seçeneğini olsun olmasın) ornek_betik.php dosyası çalıştırılır. Çalıştırmak için herhangi bir dosyayı seçebilirsiniz - PHP betikleriniz .php uzantısı ile bitmek zorunda değildir, istediğiniz herhangi bir isim ve uzantıya sahip olabilirler.

  2. Doğrudan komut satırında işletmek üzere PHP kodunu aktararak.

    php -r 'print_r(get_defined_constants());'

    Kabuk değişken değişimi ve tırnak kullanımı için özel bir çaba sarfetmek gerekir.

    Bilginize:

    Örneği dikkatle okuyunuz, hiçbir başlangıç veya bitiş etiketi yok! -r seçeneği bunlara ihtiyaç duymaz. Bunların kullanımı çözümleme hatasına yol açar.

  3. Çalıştırılacak PHP kodunu standart girdiden (stdin) yollamak suretiyle.

    Bu, PHP kodunu dinamik olarak oluşturma ve bunu çalıştırma yeteneği sağlar. Örneğin:

    $ bir_uygulama | bir_suzgec | php | sort -u > nihai_sonuc.txt
Kodu çalıştırmak için bu üç yol birlikte kullanılamaz.

Her kabuk uygulamasındaki gibi, PHP çalıştırılabiliri bir takım bağımsız değişkenler alabildiği gibi PHP betiğiniz de bağımsız değişkenler alabilir. Betiğinize aktarabileceğiniz bağımsız değişken sayısı PHP tarafından sınırlandırılmamıştır (kabukta aktarılabilecek karakter sayısı sınırlıdır; genellikle bu sınıra ulaşmazsınız). Betiğinize aktarılan bağımsız değişkenler $argv küresel dizisinde bulunur. Sıfır indisi her zaman betik adını içerir. PHP kodu standart girdiden veya -r komut satırı seçeneğiyle çalıştıysa betik adı "Standard input code" olur; PHP 7.2.0 öncesinde - idi. Eğer kod standart girdiden bir boru ile çalıştırılırsa bu yine geçerlidir.

İkinci kayıtlı küresel değişken $argc'dir ve $argv dizisindeki eleman sayısını içerir (betiğe aktarılan bağımsız değişken sayısını değil).

Betiğinize aktarmak istediğiniz bağımsız değişkenler - karakteriyle başlamadığı sürece, özel bir şeye dikkat etmeniz gerekmez. Betiğinize - ile başlayan bir bağımsız değişken aktarımı sorun yaratır çünkü PHP yorumlayıcısı bunu kendisinin işlemesi gerektiğini düşünecektir. Bunu önlemek için, bağımsız değişken listesi ayracı olan -- kullanın, bunu izleyen her bağımsız değişken ellenmeden betiğinize aktarılır.

# Bu verilen kodu çalıştırmaz fakat PHP kullanımını gösterir
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Bu '-h' bağımsız değişkenini betiğinize aktarır ve
# PHP'nin bağımsız değişkeni görmesini önler
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Kabuk betikleri için PHP farklı bir yoldan kullanılabilir. İlk satırı #!/usr/bin/php ile başlayan bir betik yazabilirsiniz. Bunu takip eden satırlara başlangıç ve bitiş etiketlerine sahip normal PHP kodunuzu yerleştirebilirsiniz. Dosyanın çalıştırma izinlerini ayarladığınızda (örn. chmod +x deneme) betiğiniz normal bir kabuk veya perl betiği gibi işletilir.

Örnek 1 - PHP betiğini kabuk betiği olarak çalıştırmak

#!/usr/bin/php
<?php
var_dump($argv);
?>

Geçerli dizindeki bu dosyanın isminin deneme olduğunu varsayarsak, aşağıdakini yapabiliriz:

$ chmod +x deneme
$ ./deneme -h -- foo
array(4) {
  [0]=>
  string(6) "./deneme"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

Gördüğünüz gibi, bu durumda betiğinize - ile başlayan bağımsız değişken aktarırken hiçbir şeye dikkat etmeniz gerekmez.

PHP çalıştırılabiliri HTTP sunucusundan tamamen bağımsız olarak PHP betikleri çalıştırmak için kullanılabilir. Eğer Unix sistemi üzerindeyseniz, PHP betiğinizin başına özel bir #! satırı eklemeli ve dosyanızı çalıştırılabilir yapmalısınız; böylece sistem betiğinizi hangi programın çalıştıracağını bilir. Windows üzerinde .php dosyalarına çift tıklama seçeneği ile php.exeilişkilendirebilir veya betiği PHP üzerinden çalıştıracak bir yığın dosyası yapabilirsiniz. Unix'de çalışması için betiğe eklenen ilk satır Windows'da sorun çıkarmaz, böylece platformdan bağımsız programlar yazabilirsiniz. Örnek basit bir komut satırı PHP programı aşağıdaki gibi olabilir.

Örnek 2 - Komut satırından çalıştırılması planlanan betik (betik.php)

#!/usr/bin/php
<?php

if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>
Bu tek seçenekli bir komut satırı PHP betiğidir.

Kullanımı:
<?php echo $argv[0]; ?> <secenek>

<secenek> yazdırmak istediğiniz bir kelime olabilir.
--help, -help, -h,
veya -? seçenekleriyle, bu yardımı alabilirsiniz.

<?php
} else {
echo $argv[1];
}
?>

Yukarıdaki betikte, bu dosyanın PHP tarafından çalıştırılması gerektiğini belirten özel bir ilk satır kullandık. Burada CLI sürümü ile çalışıyoruz, böylece HTTP başlık çıktıları olmayacak. PHP ile komut satırı uygulamaları yazarken kullanabileceğiniz iki değişken vardır: $argc ve $argv. Birincisi bağımsız değişken sayısından bir fazlasıdır (çalışan betiğin adı). İkincisi bağımsız değişkenleri içeren bir dizidir, sıfır numarayla başlar ve ilk elemanında betik adını içerir ($argv[0]).

Yukarıdaki programda birden farklı sayıda bağımsız değişken olup olmadığı kontrol ettik. Ayrıca eğer bağımsız değişken --help, -help, -h veya -? ise yardım iletisini yazdırdık ve $argv[0] ile betik adını dinamik olarak yazdırdık. Bunlardan başka bağımsız değişkenler aldıysak bunlar yerine onları yazdırdık.

Eğer yukarıdaki betiği Unix üzerinde çalıştırmak isterseniz betiği çalıştırılabilir yapmalı ve betik.php echothis veya betik.php -h ile çağırmalısınız. Windows'da bu iş için bir yığın dosyası yapabilirsiniz:

Örnek 3 - Bir komut satırı PHP betiği çalıştırmak için yığın dosyası (betik.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Yukarıdaki programı betik.php olarak adlandırdığınız ve C:\php\php.exe içinde CLI'nin php.exe olduğu varsayılarak bu yığın dosyası sizin eklediğiniz seçeneklerle çalışacaktır: betik.bat echothis veya betik.bat -h.

PHP'deki komut satırı uygulamalarını iyileştirmek için kullanabileceğiniz işlevlerle ilgili bilgi için Readline eklentisinin belgesine bakınız.

Windows üzerindeyseniz PHP, Microsoft Windows üzerinde PHP Komut Satırı bölümünde açıklandığı gibi .php uzantısına veya C:\php\php.exe çalıştırılabilirinin belirtilmesine gerek kalmadan çalıştırılmak üzere yapılandırılabilir.

Bilginize:

Windows'ta PHP'yi gerçek bir kullanıcı hesabı altında çalıştırmanız önerilir. Aksi takdirde, bir ağ hizmeti altında çalışırken, "Hesap adları ile güvenlik kimlikleri arasında hiçbir eşleştirme yapılmadığı" için belirli işlemler başarısız olur.


Giriş/Çıkış Akımları

Kabuk ortamında G/Ç akımları ile kolay çalışmak için şu sabitler tanımlanmıştır:

CLI'ye özel Sabitler
Sabit Açıklama
STDIN

stdin'e açılmış bir akımdır. Aşağıdaki örnek akımı açıp geleni kaydeder:

<?php

$stdin = fopen('php://stdin', 'r');

?>
Eğer stdin'den tek satır okumak istenirse şu kullanılabilir:
<?php
$line = trim(fgets(STDIN)); // STDIN'den bir satır okur
fscanf(STDIN, "%d\n", $number); // STDIN'den sayı okur
?>
STDOUT

stdout'a açılmış bir akımdır. Aşağıdaki örnek akımı açıp gideni kaydeder:

<?php

$stdout = fopen('php://stdout', 'w');

?>
STDERR

stderr'e açılmış bir akımdır. Aşağıdaki örnek akımı açıp çıktıyı kaydeder:

<?php

$stderr = fopen('php://stderr', 'w');

?>

Yukarıda verilene göre, örneğin stderr için bir akım açmanız gerekmez, ancak akım kaynağı yerine sabit kullanabilirsiniz:

php -r 'fwrite(STDERR, "stderr\n");'
Betik sonlandığında PHP otomatik olarak akımları kapattığı için sizin ayrıca kapatmanız gerekmez.

Bilginize:

Bu sabitler, PHP betiğinin stdin'den okunması halinde mevcut değildir.


Etkileşimli kabuk

PHP --with-readline seçeneği ile derlenmişse, CLI SAPI -a seçeneği kullanıldığında etkileşimli bir kabuk açar. PHP 7.1.0'dan itibaren etkileşimli kabuk, readline eklentisi etkinse, Windows altında da kullanılabilmektedir.

Etkileşimli kabuğu kullanarak PHP kodu yazabilir ve bunları doğrudan çalıştırabilirsiniz.

Örnek 1 - Etkileşimli kabuk kullanarak kod çalıştırmak

$ php -a
Interactive shell

php > echo 5+8;
13
php > function ikiEkle($n)
php > {
php { return $n + 2;
php { }
php > var_dump(ikiEkle(2));
int(4)
php >

Etkileşimli kabuk ayrıca, işlevler, sabitler, sınıf isimleri, değişkenler statik yöntem çağrıları ve sınıf sabitleri için sekme ile kod tamalama özelliklerine sahiptir.

Örnek 2 - Kod tamamlama

Sekme tuşuna iki kere basarak yazdığınız harflerle başlayan anahtar sözcükleri listeleyebilirsiniz:

php > strp[TAB][TAB]
strpbrk   strpos    strptime
php > strp

Olası tek seçenek olduğunda sekme tuşuna ilk basışınızda sözcük aynı satırda tamamlanır:

php > strpt[TAB]ime(

Tamamlama, bulunduğunuz etkileşimli kabuk ortamında tanımlanmış isimler için de çalışacaktır::

php > $fooThisIsAReallyLongVariableName = 42;
php > $foo[TAB]ThisIsAReallyLongVariableName

Etkileşimli kabukta yukarı ve aşağı ok tuşlerını kullanarak geçmiş üzerinde dolaşabilirsiniz. Geçmiş ~/.php_history dosyasına kaydedilir.

cli.pager ve cli.prompt php.ini değişkenleri devreye girmiştir. cli.pager ile çıktıyı ekranda göstermek yerine çıktıyı sayfalayacak bir programda (less gibi) göstermek mümkündür. cli.prompt ile php > çıktısını değiştirebilirsiniz.

php.ini ayarlarını etkileşimli kabukta bir kısayol ile değiştirmek de mümkündür.

Örnek 3 - Etkileşimli kabukta php.ini ayarlarını değiştirmek

cli.prompt ile:

php > #cli.prompt=hello world :>
hello world :>

Ters tırnakları kullanarak komut isteminde kod çalıştırabilirsiniz:

php > #cli.prompt=`echo date('H:i:s');` php >
15:49:35 php > echo 'hi';
hi
15:49:43 php > sleep(2);
15:49:45 php >

Sayfalayıcı olarak less belirtmek:

php > #cli.pager=less
php > phpinfo();
(çıktı less içinde gösterilir)
php >

cli.prompt içinde bir kaç öncelem belirtilebilir:

- cli.prompt öcelemleri
Öncelem | Açıklama
\e | Komut istemine renk eklemek için kullanılır. Örnek: \e[032m\v \e[031m\b \e[34m\> \e[0m
\v | PHP sürümü.
\b | Neyin içindekinin engelleneceğini belirtir. Örneğin, çok satırlı bir açıklama içinde olmayı belirtmek için: /* Dış kapsam php tarafından belirtilir.
\> | Komut istemi karakterini belirtir. By default this is > öntanımlı olsa da kabuk sonlandırılmamış bir dizge veya blok içindeyse bu değişir. Olası karakterler: ' " { ( >

Bilginize:

auto_prepend_file ve auto_append_file ile içselleştirilen dosyalar bu kipte bazı sınırlamalarla çözümlenebilir; örneğin çağrılmadan önce işlevler bu dosyalarda tanımlanabilir.

Etkileşimli kip

Readline eklentisi kullanılabiliyorsa PHP 8.1.0 öncesinde, -a seçeneği kullanılarak yapılan bir CLI SAPI çağrısı etkileşimli kipe girilmesini sağlardı. Bu kipte, eksiksiz bir PHP betiğinin standart girdiden verilmesi gerekir. POSIX'te CRTL+d veya Windows'ta CTRL+z ve ardından ENTER tuşlanmasıyla bu betik çalıştırılır. Bu temelde -a seçeneği kullanmaksızın yapılan bir CLI SAPI çağrısına eşdeğerdir.

PHP 8.1.0 itibariyle, -a seçeneği kullanılarak yapılan bir CLI SAPI çağrısı, readline eklentisi kullanılabilir değilse başarısız olur.


Yerleşik HTTP sunucusu

Uyarı

Bu HTTP sunucusu uygulama geliştirmeye yardımcı olmak üzere tasarlanmıştır. Ayrıca, denetimli bir ortam olarak uygulamaların denenmesi amacıyla da kullanılabilir. Herşeyiyle eksiksiz bir HTTP sunucusu olarak tasarlanmamıştır. Halka açık ağlarda kullanılmamalıdır.

CLI SAPI yerleşik bir HTTP sunucusu içerir.

Bu HTTP sunucusu tek evreli bir süreç çalıştırır. Dolayısıyla, PHP uygulamaları istek engellendiği zaman yavaşlayıp duracaktır.

İstenen adres PHP'nin başlatıldığı çalışma dizinine göre sunulur. Bu kök dizin PHP çalıştırılırken -t seçeneği kullanılarak değiştirlebilir. İstek bir dosya belirtmiyorsa belirtilen dizindeki index.php veya index.html dosyası sunulur. Bu iki dosya da mevcut değilse index.php veya index.html araması üst dizinde devam eder ve bu belge kök dizinine ulaşılıncaya dek devam eder. Bulunduğu takdirde, döndürülür ve URI'nin devamına $_SERVER['PATH_INFO'] atanır. Aksi takdirde 404 yanıt kodu döndürülür.

İstenen adres bir dosya belirtmezse, belirtilen dizindeki index.php veya index.html gösterilir. Bu dosyalar da mevcut değilse, bir 404 yanıtı döndürülür.

.3gp,.apk, .avi, .bmp, .css, .csv, .doc, .docx, .flac, .gif, .gz, .gzip, .htm, .html, .ics, .jpe, .jpeg, .jpg, .js, .kml, .kmz, .m4a, .mov, .mp3, .mp4, .mpeg, .mpg, .odp, .ods, .odt, .oga, .ogg, .ogv, .pdf, .pdf, .png, .pps, .pptx, .qt, .svg, .swf, .tar, .text, .tif, .txt, .wav, .webm, .wmv, .xls, .xlsx, .xml, .xsl, .xsd ve .zip uzantılı dosyalar için standart MIME türleri döndürülür.

Desteklenen MIME Türleri (dosya uzantıları) için değişiklik bilgisi
Sürüm: | Açıklama
5.5.12 | .xml, .xsl ve .xsd
5.5.7 | .3gp, .apk, .avi, .bmp, .csv, .doc, .docx, .flac, .gz, .gzip, .ics, .kml, .kmz, .m4a, .mp3, .mp4, .mpg, .mpeg, .mov, .odp, .ods, .odt, .oga, .pdf, .pptx, .pps, .qt, .swf, .tar, .text, .tif, .wav, .wmv, .xls, .xlsx ve .zip
5.5.5 | .pdf
5.4.11 | .ogg, .ogv ve .webm
5.4.4 | .htm ve .svg
Changelog
Sürüm: | Açıklama
7.4.0 | Yerleşik HTTP sunucusuna birden çok eşzamanlı istek gerektiren kodu sınamak için sunucuyu birden çok workers modülünü çatallayacak şekilde yapılandırabilirsiniz. Sunucuyu başlatmadan önce PHP_CLI_SERVER_WORKERS ortam değişkenini istenen workers modülü sayısına ayarlayın. Bu, Windows'ta desteklenmez. Uyarı Bu deneysel özellik, üretimde kullanım için tasarlanmamıştır. Genel olarak, yerleşik HTTP Sunucuları üretimde kullanım için tasarlanmamıştır.

Örnek 1 - HTTP sunucusunun başlatılması

$ cd ~/public_html
$ php -S localhost:8000

Uçbirim çıktısı:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

http://localhost:8000/ ve http://localhost:8000/myscript.html isteklerinden sonra uçbirim çıktısı şuna benzer:

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

PHP 7.4.0'dan önce, sembolik bağlantılı statik kaynaklara, yönlendirici betiği bunları işlemediği sürece Windows'ta erişilemezdi.

Örnek 2 - Belge kök dizini belirterek başlatma

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

Uçbirim çıktısı:

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

Örnek 3 - Yönlendirici betik belirtmek

Görüntü isteklerinde görüntüler gösterildiği halde bir HTML dosyası istendiğinde "Welcome to PHP" göstermek:

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // kaynak olduğu gibi gösterilir.
} else {
echo "<p>Welcome to PHP</p>";
}
?>
$ php -S localhost:8000 router.php

Örnek 4 - CLI Sunucusunda kullanmadan önce betiği sınamak

Bir yönlendirici betiği geliştirici CLI sunucusunda kullandıktan sonra asıl HTTP sunucusunda yeniden kullanmak:

<?php
// router.php
if (php_sapi_name() == 'cli-server') {
/* statik varlıkları yönlendir ve false ile dön */
}
/* normal index.php işlemleri ile devam et */
?>
$ php -S localhost:8000 router.php

Örnek 5 - Desteklenmeyen Dosya Türlerinin İşlenmesi

MIME türleri CLI sunucusu tarafından işlenmeyen statik kaynakları sunmanız gerekirse:

<?php
// router.php
$path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
if ($path["extension"] == "el") {
header("Content-Type: text/x-script.elisp");
readfile($_SERVER["SCRIPT_FILENAME"]);
}
else {
return FALSE;
}
?>
$ php -S localhost:8000 router.php

Örnek 6 - CLI sunucusuna uzak makinelerden erişim

HTTP sunucusuna port 8000'den şöyle erişebilirsiniz:

$ php -S 0.0.0.0:8000
Uyarı

Yerleşik HTTP sunucusu internette kullanılmamalıdır.


INI Ayarları

CLI SAPI Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
cli_server.color | "0" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

cli_server.color bool

Geliştirici HTTP sunucusunun uçbirim çıktısında ANSI renk kodlaması kullanımını etkinleştirir.


Garbage Collection

İçindekiler

  • Reference Counting Basics
  • Collecting Cycles
  • Performance Considerations

This section explains the merits of the new Garbage Collection (also known as GC) mechanism that is part of PHP 5.3.


Reference Counting Basics

A PHP variable is stored in a container called a "zval". A zval container contains, besides the variable's type and value, two additional bits of information. The first is called "is_ref" and is a boolean value indicating whether or not the variable is part of a "reference set". With this bit, PHP's engine knows how to differentiate between normal variables and references. Since PHP allows user-land references, as created by the & operator, a zval container also has an internal reference counting mechanism to optimize memory usage. This second piece of additional information, called "refcount", contains how many variable names (also called symbols) point to this one zval container. All symbols are stored in a symbol table, of which there is one per scope. There is a scope for the main script (i.e., the one requested through the browser), as well as one for every function or method.

A zval container is created when a new variable is created with a constant value, such as:

Örnek 1 Creating a new zval container

<?php
$a = "new string";
?>

In this case, the new symbol name, a, is created in the current scope, and a new variable container is created with the type string and the value new string. The "is_ref" bit is by default set to false because no user-land reference has been created. The "refcount" is set to 1 as there is only one symbol that makes use of this variable container. Note that references (i.e. "is_ref" is true) with "refcount" 1, are treated as if they are not references (i.e. as "is_ref" was false). If you have » Xdebug installed, you can display this information by calling xdebug_debug_zval().

Örnek 2 Displaying zval information

<?php
$a = "new string";
xdebug_debug_zval('a');
?>

Yukarıdaki örneğin çıktısı:

a: (refcount=1, is_ref=0)='new string'

Assigning this variable to another variable name will increase the refcount.

Örnek 3 Increasing refcount of a zval

<?php
$a = "new string";
$b = $a;
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örneğin çıktısı:

a: (refcount=2, is_ref=0)='new string'

The refcount is 2 here, because the same variable container is linked with both a and b. PHP is smart enough not to copy the actual variable container when it is not necessary. Variable containers get destroyed when the "refcount" reaches zero. The "refcount" gets decreased by one when any symbol linked to the variable container leaves the scope (e.g. when the function ends) or when a symbol is unassigned (e.g. by calling unset()). The following example shows this:

Örnek 4 Decreasing zval refcount

<?php
$a = "new string";
$c = $b = $a;
xdebug_debug_zval( 'a' );
$b = 42;
xdebug_debug_zval( 'a' );
unset( $c );
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örneğin çıktısı:

a: (refcount=3, is_ref=0)='new string'
a: (refcount=2, is_ref=0)='new string'
a: (refcount=1, is_ref=0)='new string'

If we now call unset($a);, the variable container, including the type and value, will be removed from memory.

Compound Types

Things get a tad more complex with compound types such as arrays and objects. As opposed to scalar values, arrays and objects store their properties in a symbol table of their own. This means that the following example creates three zval containers:

Örnek 5 Creating a array zval

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=1, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42
)

Or graphically

Zvals for a simple array

The three zval containers are: a, meaning, and number. Similar rules apply for increasing and decreasing "refcounts". Below, we add another element to the array, and set its value to the contents of an already existing element:

Örnek 6 Adding already existing element to an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a: (refcount=1, is_ref=0)=array (
   'meaning' => (refcount=2, is_ref=0)='life',
   'number' => (refcount=1, is_ref=0)=42,
   'life' => (refcount=2, is_ref=0)='life'
)

Or graphically

Zvals for a simple array with a reference

From the above Xdebug output, we see that both the old and new array elements now point to a zval container whose "refcount" is 2. Although Xdebug's output shows two zval containers with value 'life', they are the same one. The xdebug_debug_zval() function does not show this, but you could see it by also displaying the memory pointer.

Removing an element from the array is like removing a symbol from a scope. By doing so, the "refcount" of a container that an array element points to is decreased. Again, when the "refcount" reaches zero, the variable container is removed from memory. Again, an example to show this:

Örnek 7 Removing an element from an array

<?php
$a = array( 'meaning' => 'life', 'number' => 42 );
$a['life'] = $a['meaning'];
unset( $a['meaning'], $a['number'] );
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a: (refcount=1, is_ref=0)=array (
   'life' => (refcount=1, is_ref=0)='life'
)

Now, things get interesting if we add the array itself as an element of the array, which we do in the next example, in which we also sneak in a reference operator, since otherwise PHP would create a copy:

Örnek 8 Adding the array itself as an element of it self

<?php
$a = array( 'one' );
$a[] =& $a;
xdebug_debug_zval( 'a' );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a: (refcount=2, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=2, is_ref=1)=...
)

Or graphically

Zvals for an array with a circular reference

You can see that the array variable (a) as well as the second element (1) now point to a variable container that has a "refcount" of 2. The "..." in the display above shows that there is recursion involved, which, of course, in this case means that the "..." points back to the original array.

Just like before, unsetting a variable removes the symbol, and the reference count of the variable container it points to is decreased by one. So, if we unset variable $a after running the above code, the reference count of the variable container that $a and element "1" point to gets decreased by one, from "2" to "1". This can be represented as:

Örnek 9 Unsetting $a

(refcount=1, is_ref=1)=array (
   0 => (refcount=1, is_ref=0)='one',
   1 => (refcount=1, is_ref=1)=...
)

Or graphically

Zvals after removal of array with a circular reference demonstrating the memory leak

Cleanup Problems

Although there is no longer a symbol in any scope pointing to this structure, it cannot be cleaned up because the array element "1" still points to this same array. Because there is no external symbol pointing to it, there is no way for a user to clean up this structure; thus you get a memory leak. Fortunately, PHP will clean up this data structure at the end of the request, but before then, this is taking up valuable space in memory. This situation happens often if you're implementing parsing algorithms or other things where you have a child point back at a "parent" element. The same situation can also happen with objects of course, where it actually is more likely to occur, as objects are always implicitly used by reference.

This might not be a problem if this only happens once or twice, but if there are thousands, or even millions, of these memory losses, this obviously starts being a problem. This is especially problematic in long running scripts, such as daemons where the request basically never ends, or in large sets of unit tests. The latter caused problems while running the unit tests for the Template component of the eZ Components library. In some cases, it would require over 2 GB of memory, which the test server didn't quite have.


Collecting Cycles

Traditionally, reference counting memory mechanisms, such as that used previously by PHP, fail to address circular reference memory leaks; however, as of 5.3.0, PHP implements the synchronous algorithm from the » Concurrent Cycle Collection in Reference Counted Systems paper which addresses that issue.

A full explanation of how the algorithm works would be slightly beyond the scope of this section, but the basics are explained here. First of all, we have to establish a few ground rules. If a refcount is increased, it's still in use and therefore, not garbage. If the refcount is decreased and hits zero, the zval can be freed. This means that garbage cycles can only be created when a refcount argument is decreased to a non-zero value. Secondly, in a garbage cycle, it is possible to discover which parts are garbage by checking whether it is possible to decrease their refcount by one, and then checking which of the zvals have a refcount of zero.

Garbage collection algorithm

To avoid having to call the checking of garbage cycles with every possible decrease of a refcount, the algorithm instead puts all possible roots (zvals) in the "root buffer" (marking them "purple"). It also makes sure that each possible garbage root ends up in the buffer only once. Only when the root buffer is full does the collection mechanism start for all the different zvals inside. See step A in the figure above.

In step B, the algorithm runs a depth-first search on all possible roots to decrease by one the refcounts of each zval it finds, making sure not to decrease a refcount on the same zval twice (by marking them as "grey"). In step C, the algorithm again runs a depth-first search from each root node, to check the refcount of each zval again. If it finds that the refcount is zero, the zval is marked "white" (blue in the figure). If it's larger than zero, it reverts the decreasing of the refcount by one with a depth-first search from that point on, and they are marked "black" again. In the last step (D), the algorithm walks over the root buffer removing the zval roots from there, and meanwhile, checks which zvals have been marked "white" in the previous step. Every zval marked as "white" will be freed.

Now that you have a basic understanding of how the algorithm works, we will look back at how this integrates with PHP. By default, PHP's garbage collector is turned on. There is, however, a php.ini setting that allows you to change this: zend.enable_gc.

When the garbage collector is turned on, the cycle-finding algorithm as described above is executed whenever the root buffer runs full. The root buffer has a fixed size of 10,000 possible roots (although you can alter this by changing the GC_THRESHOLD_DEFAULT constant in Zend/zend_gc.c in the PHP source code, and re-compiling PHP). When the garbage collector is turned off, the cycle-finding algorithm will never run. However, possible roots will always be recorded in the root buffer, no matter whether the garbage collection mechanism has been activated with this configuration setting.

If the root buffer becomes full with possible roots while the garbage collection mechanism is turned off, further possible roots will simply not be recorded. Those possible roots that are not recorded will never be analyzed by the algorithm. If they were part of a circular reference cycle, they would never be cleaned up and would create a memory leak.

The reason why possible roots are recorded even if the mechanism has been disabled is because it's faster to record possible roots than to have to check whether the mechanism is turned on every time a possible root could be found. The garbage collection and analysis mechanism itself, however, can take a considerable amount of time.

Besides changing the zend.enable_gc configuration setting, it is also possible to turn the garbage collecting mechanism on and off by calling gc_enable() or gc_disable() respectively. Calling those functions has the same effect as turning on or off the mechanism with the configuration setting. It is also possible to force the collection of cycles even if the possible root buffer is not full yet. For this, you can use the gc_collect_cycles() function. This function will return how many cycles were collected by the algorithm.

The rationale behind the ability to turn the mechanism on and off, and to initiate cycle collection yourself, is that some parts of your application could be highly time-sensitive. In those cases, you might not want the garbage collection mechanism to kick in. Of course, by turning off the garbage collection for certain parts of your application, you do risk creating memory leaks because some possible roots might not fit into the limited root buffer. Therefore, it is probably wise to call gc_collect_cycles() just before you call gc_disable() to free up the memory that could be lost through possible roots that are already recorded in the root buffer. This then leaves an empty buffer so that there is more space for storing possible roots while the cycle collecting mechanism is turned off.


Performance Considerations

We have already mentioned in the previous section that simply collecting the possible roots had a very tiny performance impact, but this is when you compare PHP 5.2 against PHP 5.3. Although the recording of possible roots compared to not recording them at all, like in PHP 5.2, is slower, other changes to the PHP runtime in PHP 5.3 prevented this particular performance loss from even showing.

There are two major areas in which performance is affected. The first area is reduced memory usage, and the second area is run-time delay when the garbage collection mechanism performs its memory cleanups. We will look at both of those issues.

Reduced Memory Usage

First of all, the whole reason for implementing the garbage collection mechanism is to reduce memory usage by cleaning up circular-referenced variables as soon as the prerequisites are fulfilled. In PHP's implementation, this happens as soon as the root-buffer is full, or when the function gc_collect_cycles() is called. In the graph below, we display the memory usage of the script below, in both PHP 5.2 and PHP 5.3, excluding the base memory that PHP itself uses when starting up.

Örnek 1 Memory usage example

<?php
class Foo
{
public $var = '3.14159265359';
public $self;
}

$baseMemory = memory_get_usage();

for ( $i = 0; $i <= 100000; $i++ )
{
$a = new Foo;
$a->self = $a;
if ( $i % 500 === 0 )
{
echo sprintf( '%8d: ', $i ), memory_get_usage() - $baseMemory, "\n";
}
}
?>
Comparison of memory usage between PHP 5.2 and PHP 5.3

In this very academic example, we are creating an object in which a property is set to point back to the object itself. When the $a variable in the script is re-assigned in the next iteration of the loop, a memory leak would typically occur. In this case, two zval-containers are leaked (the object zval, and the property zval), but only one possible root is found: the variable that was unset. When the root-buffer is full after 10,000 iterations (with a total of 10,000 possible roots), the garbage collection mechanism kicks in and frees the memory associated with those possible roots. This can very clearly be seen in the jagged memory-usage graph for PHP 5.3. After each 10,000 iterations, the mechanism kicks in and frees the memory associated with the circular referenced variables. The mechanism itself does not have to do a whole lot of work in this example, because the structure that is leaked is extremely simple. From the diagram, you see that the maximum memory usage in PHP 5.3 is about 9 Mb, whereas in PHP 5.2 the memory usage keeps increasing.

Run-Time Slowdowns

The second area where the garbage collection mechanism influences performance is the time taken when the garbage collection mechanism kicks in to free the "leaked" memory. In order to see how much this is, we slightly modify the previous script to allow for a larger number of iterations and the removal of the intermediate memory usage figures. The second script is here:

Örnek 2 GC performance influences

<?php
class Foo
{
public $var = '3.14159265359';
public $self;
}

for ( $i = 0; $i <= 1000000; $i++ )
{
$a = new Foo;
$a->self = $a;
}

echo memory_get_peak_usage(), "\n";
?>

We will run this script two times, once with the zend.enable_gc setting turned on, and once with it turned off:

Örnek 3 Running the above script

time php -dzend.enable_gc=0 -dmemory_limit=-1 -n example2.php
# and
time php -dzend.enable_gc=1 -dmemory_limit=-1 -n example2.php

On my machine, the first command seems to take consistently about 10.7 seconds, whereas the second command takes about 11.4 seconds. This is a slowdown of about 7%. However, the maximum amount of memory used by the script is reduced by 98% from 931Mb to 10Mb. This benchmark is not very scientific, or even representative of real-life applications, but it does demonstrate the memory usage benefits that this garbage collection mechanism provides. The good thing is that the slowdown is always the same 7%, for this particular script, while the memory saving capabilities save more and more memory as more circular references are found during script execution.

PHP's Internal GC Statistics

It is possible to coax a little bit more information about how the garbage collection mechanism is run from within PHP. But in order to do so, you will have to re-compile PHP to enable the benchmark and data-collecting code. You will have to set the CFLAGS environment variable to -DGC_BENCH=1 prior to running ./configure with your desired options. The following sequence should do the trick:

Örnek 4 Recompiling PHP to enable GC benchmarking

export CFLAGS=-DGC_BENCH=1
./config.nice
make clean
make

When you run the above example code again with the newly built PHP binary, you will see the following being shown after PHP has finished execution:

Örnek 5 GC statistics

GC Statistics
-------------
Runs:               110
Collected:          2072204
Root buffer length: 0
Root buffer peak:   10000

      Possible            Remove from  Marked
        Root    Buffered     buffer     grey
      --------  --------  -----------  ------
ZVAL   7175487   1491291    1241690   3611871
ZOBJ  28506264   1527980     677581   1025731

The most informative statistics are displayed in the first block. You can see here that the garbage collection mechanism ran 110 times, and in total, more than 2 million memory allocations were freed during those 110 runs. As soon as the garbage collection mechanism has run at least one time, the "Root buffer peak" is always 10000.

Conclusion

In general the garbage collector in PHP will only cause a slowdown when the cycle collecting algorithm actually runs, whereas in normal (smaller) scripts there should be no performance hit at all.

However, in the cases where the cycle collection mechanism does run for normal scripts, the memory reduction it will provide allows more of those scripts to run concurrently on your server, since not so much memory is used in total.

The benefits are most apparent for longer-running scripts, such as lengthy test suites or daemon scripts. Also, for » PHP-GTK applications that generally tend to run longer than scripts for the Web, the new mechanism should make quite a bit of a difference regarding memory leaks creeping in over time.


DTrace Dynamic Tracing

İçindekiler

  • Introduction to PHP and DTrace
  • Using PHP and DTrace
  • Using SystemTap with PHP DTrace Static Probes


Introduction to PHP and DTrace

DTrace is an always-available, low overhead, tracing framework available on a number of platforms including Solaris, macOS, Oracle Linux and BSD. DTrace can trace operating system behavior and user program execution. It can display argument values and be used to infer performance statistics. Probes are monitored by user created scripts written in the DTrace D scripting language. This allows efficient analysis of data points.

PHP probes that are not being actively monitored by a user's DTrace D script do not contain instrumented code so there is no performance degradation during normal application execution. Probes that are being monitored incur an overhead low enough to generally allow DTrace monitoring on live production systems.

PHP incorporates "User-level Statically Defined Tracing" (USDT) probes that are triggered at runtime. For example, when a D script is monitoring PHP's function-entry probe, then, every time a PHP script function is called, this probe is fired and the associated D script action code is executed. This action code could, for example, print probe arguments such as the source file location of the PHP function. Or the action could aggregate data such as the number of times each function is called.

Only the PHP USDT probes are described here. Refer to external general and operating system-specific DTrace literature to see how DTrace can be used to trace arbitrary functions, and how it can be used to trace operating system behavior. Note not all DTrace features are available in all DTrace implementations.

The static DTrace probes in PHP can alternatively be used with the SystemTap facility on some Linux distributions.


Using PHP and DTrace

PHP can be configured with DTrace static probes on platforms that support DTrace Dynamic Tracing.

Configuring PHP for DTrace Static Probes

Refer to external platform specific documentation for enabling operating system DTrace support. For example, on Oracle Linux boot a UEK3 kernel and do:

# modprobe fasttrap
# chmod 666 /dev/dtrace/helper

Instead of using chmod, you could instead use an ACL package rule to limit device access to a specific user.

Build PHP with the --enable-dtrace configuration parameter:

# ./configure --enable-dtrace ...
# make
# make install

This enables the static probes in core PHP. Any PHP extensions that provide their own probes should be built separately as shared extensions.

DTrace Static Probes in Core PHP

The following static probes are available in PHP
Probe Name | Probe Description | Probe Arguments
request-startup | Fires when a request starts. | char *file, char *request_uri, char *request_method
request-shutdown | Fires when a request shutdown. | char *file, char *request_uri, char *request_method
compile-file-entry | Fires when the compilation of a script starts. | char *compile_file, char *compile_file_translated
compile-file-return | Fires when the compilation of a script finishes. | char *compile_file, char *compile_file_translated
execute-entry | Fires when an opcode array is to be executed. For example, it fires on function calls, includes, and generator resumes. | char *request_file, int lineno
execute-return | Fires after execution of an opcode array. | char *request_file, int lineno
function-entry | Fires when the PHP engine enters a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
function-return | Fires when the PHP engine returns from a PHP function or method call. | char *function_name, char *request_file, int lineno, char *classname, char *scope
exception-thrown | Fires when an exception is thrown. | char *classname
exception-caught | Fires when an exception is caught. | char *classname
error | Fires when an error occurs, regardless of the error_reporting level. | char *errormsg, char *request_file, int lineno

PHP extensions may also have additional static probes.

Listing DTrace Static Probes in PHP

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
    4   php15271               php               dtrace_compile_file compile-file-entry
    5   php15271               php               dtrace_compile_file compile-file-return
    6   php15271               php                        zend_error error
    7   php15271               php  ZEND_CATCH_SPEC_CONST_CV_HANDLER exception-caught
    8   php15271               php     zend_throw_exception_internal exception-thrown
    9   php15271               php                 dtrace_execute_ex execute-entry
   10   php15271               php           dtrace_execute_internal execute-entry
   11   php15271               php                 dtrace_execute_ex execute-return
   12   php15271               php           dtrace_execute_internal execute-return
   13   php15271               php                 dtrace_execute_ex function-entry
   14   php15271               php                 dtrace_execute_ex function-return
   15   php15271               php              php_request_shutdown request-shutdown
   16   php15271               php               php_request_startup request-startup

The Provider column values consist of php and the process id of the currently running PHP process.

If the Apache web server is running, the module name might be, for example, libphp5.so, and there would be multiple blocks of listings, one per running Apache process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP Example

This example shows the basics of the DTrace D scripting language.

Örnek 1 all_probes.d for tracing all PHP Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::compile-file-entry
{
    printf("PHP compile-file-entry\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::compile-file-return
{
    printf("PHP compile-file-return\n");
    printf("  compile_file              %s\n", copyinstr(arg0));
    printf("  compile_file_translated   %s\n", copyinstr(arg1));
}

php*:::error
{
    printf("PHP error\n");
    printf("  errormsg                  %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
}

php*:::exception-caught
{
    printf("PHP exception-caught\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::exception-thrown
{
    printf("PHP exception-thrown\n");
    printf("  classname                 %s\n", copyinstr(arg0));
}

php*:::execute-entry
{
    printf("PHP execute-entry\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::execute-return
{
    printf("PHP execute-return\n");
    printf("  request_file              %s\n", copyinstr(arg0));
    printf("  lineno                    %d\n", (int)arg1);
}

php*:::function-entry
{
    printf("PHP function-entry\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::function-return
{
    printf("PHP function-return\n");
    printf("  function_name             %s\n", copyinstr(arg0));
    printf("  request_file              %s\n", copyinstr(arg1));
    printf("  lineno                    %d\n", (int)arg2);
    printf("  classname                 %s\n", copyinstr(arg3));
    printf("  scope                     %s\n", copyinstr(arg4));
}

php*:::request-shutdown
{
    printf("PHP request-shutdown\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

php*:::request-startup
{
    printf("PHP request-startup\n");
    printf("  file                      %s\n", copyinstr(arg0));
    printf("  request_uri               %s\n", copyinstr(arg1));
    printf("  request_method            %s\n", copyinstr(arg2));
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate because it knows none of the probes to be monitored are in existence.

The script traces all core PHP static probe points throughout the duration of a running PHP script. Run the D script:

# ./all_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires.

When monitoring is complete, the D script can be terminated with a CTRL+C.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps will help reduce confusion, for example:

php*:::function-entry
{
      printf("%lld: PHP function-entry ", walltimestamp);
      [ . . .]
}

Ayrıca Bakınız

  • OCI8 and DTrace Dynamic Tracing


Using SystemTap with PHP DTrace Static Probes

On some Linux distributions, the SystemTap tracing utility can be used to trace PHP's static DTrace probes. This is available with PHP 5.4.20 and PHP 5.5.

Installing PHP with SystemTap

Install the SystemTap SDT development package:

# yum install systemtap-sdt-devel

Install PHP with the DTrace probes enabled:

# ./configure --enable-dtrace ...
# make

Listing Static Probes with SystemTap

The static probes in PHP can be listed using stap:

# stap -l 'process.provider("php").mark("*")' -c 'sapi/cli/php -i'

This outputs:

process("sapi/cli/php").provider("php").mark("compile__file__entry")
process("sapi/cli/php").provider("php").mark("compile__file__return")
process("sapi/cli/php").provider("php").mark("error")
process("sapi/cli/php").provider("php").mark("exception__caught")
process("sapi/cli/php").provider("php").mark("exception__thrown")
process("sapi/cli/php").provider("php").mark("execute__entry")
process("sapi/cli/php").provider("php").mark("execute__return")
process("sapi/cli/php").provider("php").mark("function__entry")
process("sapi/cli/php").provider("php").mark("function__return")
process("sapi/cli/php").provider("php").mark("request__shutdown")
process("sapi/cli/php").provider("php").mark("request__startup")

SystemTap with PHP Example

Örnek 1 all_probes.stp for tracing all PHP Static Probes with SystemTap

probe process("sapi/cli/php").provider("php").mark("compile__file__entry") {
    printf("Probe compile__file__entry\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("compile__file__return") {
    printf("Probe compile__file__return\n");
    printf("  compile_file %s\n", user_string($arg1));
    printf("  compile_file_translated %s\n", user_string($arg2));
}
probe process("sapi/cli/php").provider("php").mark("error") {
    printf("Probe error\n");
    printf("  errormsg %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
}
probe process("sapi/cli/php").provider("php").mark("exception__caught") {
    printf("Probe exception__caught\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("exception__thrown") {
    printf("Probe exception__thrown\n");
    printf("  classname %s\n", user_string($arg1));
}
probe process("sapi/cli/php").provider("php").mark("execute__entry") {
    printf("Probe execute__entry\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("execute__return") {
    printf("Probe execute__return\n");
    printf("  request_file %s\n", user_string($arg1));
    printf("  lineno %d\n", $arg2);
}
probe process("sapi/cli/php").provider("php").mark("function__entry") {
    printf("Probe function__entry\n");
    printf("  function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("function__return") {
    printf("Probe function__return: %s\n", user_string($arg1));
    printf(" function_name %s\n", user_string($arg1));
    printf("  request_file %s\n", user_string($arg2));
    printf("  lineno %d\n", $arg3);
    printf("  classname %s\n", user_string($arg4));
    printf("  scope %s\n", user_string($arg5));
}
probe process("sapi/cli/php").provider("php").mark("request__shutdown") {
    printf("Probe request__shutdown\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}
probe process("sapi/cli/php").provider("php").mark("request__startup") {
    printf("Probe request__startup\n");
    printf("  file %s\n", user_string($arg1));
    printf("  request_uri %s\n", user_string($arg2));
    printf("  request_method %s\n", user_string($arg3));
}

The above script will trace all core PHP static probe points throughout the duration of a running PHP script:

# stap -c 'sapi/cli/php test.php' all_probes.stp


İşlev Başvuru Kılavuzu

İpucu

Ayrıca bakınız: Eklenti Grupları/Listesi.

  • PHP'nin Davranışını Etkileyenler
    • APCu — APC User Cache
    • Componere
    • Errorfunc — Hata İşleme ve Günlükleme
    • FFI — Foreign Function Interface
    • OPcache
    • Outcontrol — Çıktı Tamponlama Denetimi
    • Info — PHP Seçenek ve Bilgileri
    • phpdbg — Interactive PHP Debugger
    • runkit7
    • uopz — User Operations for Zend
    • WinCache — Windows Cache for PHP
    • Xhprof — Hierarchical Profiler
    • Yac
  • Ses Biçemleme İşlemleri
    • OpenAL — OpenAL Audio Bindings
  • Kimlik Doğrulama Hizmetleri
    • Radius
  • Komut Satırına Özgü Eklentiler
    • Readline — GNU Readline
  • Sıkıştırma ve Arşivleme Eklentileri
    • Bzip2 — Bzip2 Sıkıştırma
    • LZF — LZF Sıkıştırma Algoritması
    • Phar
    • Rar — Rar Archiving
    • Zip
    • Zlib — Zlib Sıkıştırması
  • Şifresel Eklentiler
    • Hash — HASH İleti Aşı Çerçevesi
    • Mcrypt
    • Mhash
    • OpenSSL
    • Password — Parola Aşlama
    • Rnp
    • Sodium
  • Veritabanı Eklentileri
    • Soyutlama Katmanları
    • Sağlayıcıya Göre Veritabanı Eklentileri
  • Tarih ve Saat ile İlgili Eklentiler
    • Calendar — Takvim
    • Date/Time — Tarih ve Zaman
    • HRTime — High resolution timing
  • Dosya Sistemiyle İlgili Eklentiler
    • Dio — Doğrudan G/Ç
    • Dir — Dizinler
    • Fileinfo — Dosya Bilgileri
    • Filesystem — Dosya Sistemi
    • Inotify
    • xattr
    • xdiff
  • İnsan Dilleri ve Karakter Kodlaması Desteği
    • Enchant — Enchant spelling library
    • Gender — Determine gender of firstnames
    • Gettext
    • iconv — Karakter Kümesi Dönüştürme
    • Intl — Uluslararasılaştırma İşlevleri
    • Mbstring — Çok Baytlı Dizgeler
    • Pspell
    • Recode — GNU Recode
  • Resim İşleme ve Resim Üretimi
    • Exif — Değiş Tokuş Edilebilir Görüntü Bilgileri
    • GD — Görüntü İşleme ve GD
    • Gmagick
    • ImageMagick — Görüntü İşleme (ImageMagick)
  • Postayla İlgili Eklentiler
    • IMAP — IMAP, POP3 ve NNTP
    • Mail — Eposta
    • Mailparse
  • Matematiksel Eklentiler
    • BC — BCMath Keyfi Duyarlıklı Matematik
    • GMP — GNU Multiple Precision
    • Math — Mathematical Functions
    • Statistics
    • Trader — Technical Analysis for Traders
  • Salt Metin Olmayan MIME Çıktılama
    • FDF — Forms Data Format
    • GnuPG — GNU Privacy Guard
    • wkhtmltox
    • PS — PostScript document creation
    • RpmInfo
    • XLSWriter
  • Süreç Denetim Eklentileri
    • Eio
    • Ev
    • Expect
    • PCNTL — Süreç Denetimi
    • POSIX
    • Exec — Sistem Programlarının Çalıştırılması
    • parallel
    • pthreads
    • Semaphore — Semaphore, Shared Memory and IPC
    • Shared Memory
    • Sync
  • Diğer Temel Eklentiler
    • GeoIP — Geo IP Location
    • FANN — FANN (Fast Artificial Neural Network)
    • Igbinary
    • JSON — JavaScript Nesne Bildirimi
    • Simdjson
    • Lua
    • LuaSandbox
    • Misc — Çeşitli İşlevler
    • Random — Random Number Generators and Functions Related to Randomness
    • Seaslog
    • SPL — Standard PHP Library (SPL)
    • Stream — Akımlar
    • Swoole
    • Tidy
    • Tokenizer — Simgeleştirici
    • URL'ler
    • V8js — V8 Javascript Engine Integration
    • Yaml — YAML Data Serialization
    • Yaf — Yet Another Framework
    • Yaconf
    • Taint
    • Data Structures
    • var_representation
  • Diğer Hizmetler
    • cURL — İstemci URL Kütüphanesi
    • Event
    • FTP
    • Gearman
    • LDAP — Lightweight Directory Access Protocol
    • Memcache
    • Memcached
    • mqseries
    • Network — Ağ
    • RRD — RRDtool
    • ScoutAPM
    • SNMP
    • Sockets — Soketler
    • SSH2 — Güvenli Kabuk 2
    • Stomp — Stomp Client
    • SVM — Support Vector Machine
    • SVN — Subversion
    • TCP — TCP Sarmalayıcıları
    • Varnish
    • YAZ
    • 0MQ messaging — ZMQ
    • ZooKeeper
  • Arama Motoru Eklentileri
    • Solr — Apache Solr
  • Sunuculara Özgü Eklentiler
    • Apache
    • FastCGI Process Manager
  • Oturum Eklentileri
    • Sessions — Oturum Yönetimi Sistemi
  • Metin İşleme
    • CommonMark
    • Parle — Parsing and lexing
    • PCRE — Perl Uyumlu Düzenli İfadeler
    • ssdeep — ssdeep Fuzzy Hashing
    • Strings — Dizgeler
  • Değişkenler ve Veri Türleriyle İlgili Eklentiler
    • Array — Diziler
    • Classobj — Sınıf ve Nesne Bilgileri
    • Ctype — Karakter Türü Sınaması
    • Filter — Data Filtering
    • Funchand — İşlevlerle İlgili İşlemler
    • Quickhash
    • Reflection — Yansıtma
    • Var — Değişken İşlemleri
  • HTTP Hizmetleri
    • OAuth
    • SOAP
    • Yar — Yet Another RPC Framework
    • XML-RPC
  • Windows’a Özgü Eklentiler
    • COM — COM ve .Net (Windows)
    • win32service
  • XML İşleme
    • DOM — Belge Nesne Modeli
    • libxml
    • SimpleXML — Basit XML
    • WDDX
    • XMLDiff — XML diff and merge
    • XML Çözümleyici
    • XMLReader
    • XMLWriter
    • XSL
  • GUI Eklentileri
    • UI


PHP'nin Davranışını Etkileyenler

  • APCu — APC User Cache
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • APCu İşlevleri
    • APCUIterator — The APCUIterator class
  • Componere
    • Giriş
    • Yapılandırma/Kurulum
    • Componere\Abstract\Definition — The Componere\Abstract\Definition class
    • Componere\Definition — The Componere\Definition class
    • Componere\Patch — The Componere\Patch class
    • Componere\Method — The Componere\Method class
    • Componere\Value — The Componere\Value class
    • Componere İşlevleri
  • Errorfunc — Hata İşleme ve Günlükleme
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Hata İşleme İşlevleri
  • FFI — Foreign Function Interface
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • FFI — Main interface to C code and data
    • FFI\CData — C Data Handles
    • FFI\CType — C Type Handles
    • FFI\Exception — FFI Exceptions
    • FFI\ParserException — FFI Parser Exceptions
  • OPcache
    • Giriş
    • Yapılandırma/Kurulum
    • Preloading
    • OPcache İşlevleri
  • Outcontrol — Çıktı Tamponlama Denetimi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Çıktı Denetim İşlevleri
  • Info — PHP Seçenek ve Bilgileri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • PHP Seçenek/Bilgi İşlevleri
  • phpdbg — Interactive PHP Debugger
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • phpdbg İşlevleri
  • runkit7
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • runkit7 İşlevleri
  • uopz — User Operations for Zend
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Uopz İşlevleri
  • WinCache — Windows Cache for PHP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • WinCache İşlevleri
    • Building for Windows
  • Xhprof — Hierarchical Profiler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Xhprof İşlevleri
  • Yac
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Yac — The Yac class


APC User Cache

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • APCu İşlevleri
    • apcu_add — Cache a new variable in the data store
    • apcu_cache_info — Retrieves cached information from APCu's data store
    • apcu_cas — Updates an old value with a new value
    • apcu_clear_cache — Clears the APCu cache
    • apcu_dec — Decrease a stored number
    • apcu_delete — Removes a stored variable from the cache
    • apcu_enabled — Whether APCu is usable in the current environment
    • apcu_entry — Atomically fetch or generate a cache entry
    • apcu_exists — Checks if entry exists
    • apcu_fetch — Fetch a stored variable from the cache
    • apcu_inc — Increase a stored number
    • apcu_key_info — Get detailed information about the cache key
    • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
    • apcu_store — Cache a variable in the data store
  • APCUIterator — The APCUIterator class
    • APCUIterator::__construct — Constructs an APCUIterator iterator object
    • APCUIterator::current — Get current item
    • APCUIterator::getTotalCount — Get total count
    • APCUIterator::getTotalHits — Get total cache hits
    • APCUIterator::getTotalSize — Get total cache size
    • APCUIterator::key — Get iterator key
    • APCUIterator::next — Move pointer to next item
    • APCUIterator::rewind — Rewinds iterator
    • APCUIterator::valid — Checks if current position is valid


Giriş

APCu is an in-memory key-value store for PHP. Keys are of type string and values can be any PHP variables. APCu only supports userland caching of variables.

The APCu cache is per-process on Windows, so when using a process-based (rather than thread-based) SAPI, it will not be shared between different processes.

APCu is APC stripped of opcode caching.

The first APCu codebase was versioned 4.0.0, it was forked from the head of the APC master branch at the time. PHP 7 support is available as of APCu 5.0.0. PHP 8 support is available as of APCu 5.1.19.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması
  • Özkaynak Türleri


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

Bu eklentiyi derlemek için harici kütüphanelere gerek yoktur.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/apcu.

İpucu

PHP 7 has a separate module (» apcu-bc) for backwards compatibility with APC.

In backward compatibility mode, APCu registers the applicable APC functions with backward compatible prototypes.

Where an APC function accepted cache_type, it is simply ignored by the backward compatible version, and omitted from the prototype for the APCu version.

Uyarı

As of PHP 8.0.0, apcu-bc is no longer supported.

Bilginize: On Windows, APCu needs a temp path to exist, and be writable by the web server. It checks the TMP, TEMP and USERPROFILE environment variables in that order and finally tries the WINDOWS directory if none of those are set.

Bilginize: For more in-depth, highly technical implementation details, see the » developer-supplied TECHNOTES file .

APCu sources can be found » here.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Although the default APCu settings are fine for many installations, serious users should consider tuning the following parameters.

There is one decision to be made configuring APCu. How much memory is going to be allocated to APCu. The ini directive that controls this is apc.shm_size Read the sections on this carefully below.

Once the server is running, the apc.php script that is bundled with the extension should be copied somewhere into the docroot and viewed with a browser as it provides a detailed analysis of the internal workings of APCu. If GD is enabled in PHP, it will even display some interesting graphs.

If APCu is working, the Cache full count number (on the left) will display the number of times the cache has reached maximum capacity and has had to evict entries to free up memory. During eviction, if apc.ttl was specified, APCu will first attempt to remove expired entries, i.e. entries whose TTL has either expired, or entries that have no TTL set and haven't been accessed in the last apc.ttl seconds. If apc.ttl was not set, or removing expired entries did not free up enough space, APCu will clear the entire cache.

The number of evictions should be minimal in a well-configured cache. If the cache is constantly being filled, and thusly forcefully freed, the resulting churning will have disparaging effects on script performance. The easiest way to minimize this number is to allocate more memory for APCu.

When APCu is compiled with mmap support (Memory Mapping), it will use only one memory segment, unlike when APCu is built with SHM (SysV Shared Memory) support that uses multiple memory segments. MMAP does not have a maximum limit like SHM does in /proc/sys/kernel/shmmax. In general MMAP support is recommended because it will reclaim the memory faster when the webserver is restarted and all in all reduces memory allocation impact at startup.

APCu configuration options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
apc.enabled | "1" | PHP_INI_SYSTEM |
apc.shm_segments | "1" | PHP_INI_SYSTEM |
apc.shm_size | "32M" | PHP_INI_SYSTEM |
apc.entries_hint | "4096" | PHP_INI_SYSTEM |
apc.ttl | "0" | PHP_INI_SYSTEM |
apc.gc_ttl | "3600" | PHP_INI_SYSTEM |
apc.mmap_file_mask | NULL | PHP_INI_SYSTEM |
apc.slam_defense | "1" | PHP_INI_SYSTEM |
apc.enable_cli | "0" | PHP_INI_SYSTEM |
apc.use_request_time | "0" | PHP_INI_ALL | Prior to APCu 5.1.19, the default was "1".
apc.serializer | "php" | PHP_INI_SYSTEM | Prior to APCu 5.1.15, the default was "default".
apc.coredump_unmap | "0" | PHP_INI_SYSTEM |
apc.preload_path | NULL | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

apc.enabled bool

apc.enabled can be set to 0 to disable APC. This is primarily useful when APC is statically compiled into PHP, since there is no other way to disable it (when compiled as a DSO, the extension line in php.ini can just be commented-out).

apc.shm_segments int

The number of shared memory segments to allocate for the compiler cache. If APC is running out of shared memory but apc.shm_size is set as high as the system allows, raising this value might prevent APC from exhausting its memory.

apc.shm_size string

The size of each shared memory segment given by a shorthand notation as described in this FAQ. By default, some systems (including most BSD variants) have very low limits on the size of a shared memory segment.

apc.entries_hint int

A "hint" about the number of distinct variables that might be stored. Set to zero or omit if not sure.

apc.ttl int

Consider cache entries without an explicit TTL to be expired if they have not been accessed in this many seconds. Effectively, this allows such entries to be removed opportunistically during a cache insert, or prior to a full expunge. Note that because removal is opportunistic, entries can still be readable even if they are older than apc.ttl seconds. This setting has no effect on cache entries that have an explicit TTL specified.

apc.gc_ttl int

The number of seconds that a cache entry may remain on the garbage-collection list. This value provides a fail-safe in the event that a server process dies while executing a cached source file; if that source file is modified, the memory allocated for the old version will not be reclaimed until this TTL reached. Set to zero to disable this feature.

apc.mmap_file_mask string

If compiled with MMAP support by using --enable-mmap this is the mktemp-style file_mask to pass to the mmap module for determining whether your mmap'ed memory region is going to be file-backed or shared memory backed. For straight file-backed mmap, set it to something like /tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it to /dev/zero to use your kernel's /dev/zero interface to anonymous mmap'ed memory. Leaving it undefined will force an anonymous mmap.

apc.slam_defense int

On very busy servers whenever you start the server or modify files you can create a race of many processes all trying to cache the same file at the same time. This option sets the percentage of processes that will skip trying to cache an uncached file. Or think of it as the probability of a single process to skip caching. For example, setting apc.slam_defense to 75 would mean that there is a 75% chance that the process will not cache an uncached file. So, the higher the setting the greater the defense against cache slams. Setting this to 0 disables this feature.

apc.enable_cli int

Mostly for testing and debugging. Setting this enables APC for the CLI version of PHP. Under normal circumstances, it is not ideal to create, populate and destroy the APC cache on every CLI request, but for various test scenarios it is useful to be able to enable APC for the CLI version of PHP easily.

apc.serializer string

Used to configure APC to use a third party serializer.

apc.coredump_unmap bool

Enables APC handling of signals, such as SIGSEGV, that write core files when signaled. When these signals are received, APC will attempt to unmap the shared memory segment in order to exclude it from the core file. This setting may improve system stability when fatal signals are received and a large APC shared memory segment is configured.

Uyarı

This feature is potentially dangerous. Unmapping the shared memory segment in a fatal signal handler may cause undefined behaviour if a fatal error occurs.

Bilginize:

Although some kernels may provide a facility to ignore various types of shared memory when generating a core dump file, these implementations may also ignore important shared memory segments such as the Apache scoreboard.

apc.preload_path string

Optionally, set a path to the directory that APC will load cache data at startup.

apc.use_request_time bool

Use the SAPI request start time for TTL.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

APC_ITER_ALL (int)
APC_ITER_ATIME (int)
APC_ITER_CTIME (int)
APC_ITER_DEVICE (int)
APC_ITER_DTIME (int)
APC_ITER_FILENAME (int)
APC_ITER_INODE (int)
APC_ITER_KEY (int)
APC_ITER_MD5 (int)
APC_ITER_MEM_SIZE (int)
APC_ITER_MTIME (int)
APC_ITER_NONE (int)
APC_ITER_NUM_HITS (int)
APC_ITER_REFCOUNT (int)
APC_ITER_TTL (int)
APC_ITER_TYPE (int)
APC_ITER_VALUE (int)
APC_LIST_ACTIVE (int)
APC_LIST_DELETED (int)


APCu İşlevleri

İçindekiler

  • apcu_add — Cache a new variable in the data store
  • apcu_cache_info — Retrieves cached information from APCu's data store
  • apcu_cas — Updates an old value with a new value
  • apcu_clear_cache — Clears the APCu cache
  • apcu_dec — Decrease a stored number
  • apcu_delete — Removes a stored variable from the cache
  • apcu_enabled — Whether APCu is usable in the current environment
  • apcu_entry — Atomically fetch or generate a cache entry
  • apcu_exists — Checks if entry exists
  • apcu_fetch — Fetch a stored variable from the cache
  • apcu_inc — Increase a stored number
  • apcu_key_info — Get detailed information about the cache key
  • apcu_sma_info — Retrieves APCu Shared Memory Allocation information
  • apcu_store — Cache a variable in the data store


Cache a new variable in the data store

  • « APCu İşlevleri
  • apcu_cache_info »
  • PHP Manual
  • APCu İşlevleri
  • Cache a new variable in the data store

apcu_add

(PECL apcu >= 4.0.0)

apcu_add — Cache a new variable in the data store

Açıklama

apcu_add(string $key, mixed $var, int $ttl = 0): bool
apcu_add(array $values, mixed $unused = NULL, int $ttl = 0): array

Caches a variable in the data store, only if it's not already stored.

Bilginize: Unlike many other mechanisms in PHP, variables stored using apcu_add() will persist between requests (until the value is removed from the cache).

Bağımsız Değişkenler

key

Store the variable using this name. keys are cache-unique, so attempting to use apcu_add() to store data with a key that already exists will not overwrite the existing data, and will instead return false. (This is the only difference between apcu_add() and apcu_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Dönen Değerler

Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second syntax returns array with error keys.

Örnekler

Örnek 1 A apcu_add() example

<?php
$bar = 'BAR';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
$bar = 'NEVER GETS SET';
apcu_add('foo', $bar);
var_dump(apcu_fetch('foo'));
echo "\n";
?>

Yukarıdaki örneğin çıktısı:

string(3) "BAR"
string(3) "BAR"

Ayrıca Bakınız

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Retrieves cached information from APCu's data store

  • « apcu_add
  • apcu_cas »
  • PHP Manual
  • APCu İşlevleri
  • Retrieves cached information from APCu's data store

apcu_cache_info

(PECL apcu >= 4.0.0)

apcu_cache_info — Retrieves cached information from APCu's data store

Açıklama

apcu_cache_info(bool $limited = false): array|false

Retrieves cached information and meta-data from APC's data store.

Bağımsız Değişkenler

limited

If limited is true, the return value will exclude the individual list of cache entries. This is useful when trying to optimize calls for statistics gathering.

Dönen Değerler

Array of cached data (and meta-data) başarısızlık durumunda false döner

Bilginize: apcu_cache_info() will raise a warning if it is unable to retrieve APC cache data. This typically occurs when APC is not enabled.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL apcu 3.0.11 | The limited parameter was introduced.
PECL apcu 3.0.16 | The "filehits" option for the cache_type parameter was introduced.

Örnekler

Örnek 1 A apcu_cache_info() example

<?php
print_r(apcu_cache_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [num_slots] => 2000
    [ttl] => 0
    [num_hits] => 9
    [num_misses] => 3
    [start_time] => 1123958803
    [cache_list] => Array
        (
            [0] => Array
                (
                    [filename] => /path/to/apcu_test.php
                    [device] => 29954
                    [inode] => 1130511
                    [type] => file
                    [num_hits] => 1
                    [mtime] => 1123960686
                    [creation_time] => 1123960696
                    [deletion_time] => 0
                    [access_time] => 1123962864
                    [ref_count] => 1
                    [mem_size] => 677
                )
            [1] => Array (...iterates for each cached file)
)

Ayrıca Bakınız

  • APCu configuration directives
  • APCUIterator::getTotalSize() - Get total cache size
  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalCount() - Get total count


Updates an old value with a new value

  • « apcu_cache_info
  • apcu_clear_cache »
  • PHP Manual
  • APCu İşlevleri
  • Updates an old value with a new value

apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas — Updates an old value with a new value

Açıklama

apcu_cas(string $key, int $old, int $new): bool

apcu_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

Bağımsız Değişkenler

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 apcu_cas() example

<?php
apcu_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;

echo '$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;

apcu_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;

echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1

Ayrıca Bakınız

  • apcu_dec() - Decrease a stored number
  • apcu_store() - Cache a variable in the data store


Clears the APCu cache

  • « apcu_cas
  • apcu_dec »
  • PHP Manual
  • APCu İşlevleri
  • Clears the APCu cache

apcu_clear_cache

(PECL apcu >= 4.0.0)

apcu_clear_cache — Clears the APCu cache

Açıklama

apcu_clear_cache(): bool

Clears the cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true always

Ayrıca Bakınız

  • apcu_cache_info() - Retrieves cached information from APCu's data store


Decrease a stored number

  • « apcu_clear_cache
  • apcu_delete »
  • PHP Manual
  • APCu İşlevleri
  • Decrease a stored number

apcu_dec

(PECL apcu >= 4.0.0)

apcu_dec — Decrease a stored number

Açıklama

apcu_dec(
string $key,
int $step = 1,
bool &$success = ?,
int $ttl = 0
): int|false

Decreases a stored integer value.

Bağımsız Değişkenler

key

The key of the value being decreased.

step

The step, or value to decrease.

success

Optionally pass the success or fail boolean value to this referenced variable.

ttl

TTL to use if the operation inserts a new value (rather than decrementing an existing one).

Dönen Değerler

Returns the current value of key's value on success, başarısızlık durumunda false döner

Örnekler

Örnek 1 apcu_dec() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_dec('anumber'), PHP_EOL;
echo apcu_dec('anumber', 10), PHP_EOL;
echo apcu_dec('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_dec('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Let's do something with success
42
41
31
21
bool(true)
Now, let's fail

bool(false)
bool(false)

Ayrıca Bakınız

  • apcu_inc() - Increase a stored number


Removes a stored variable from the cache

  • « apcu_dec
  • apcu_enabled »
  • PHP Manual
  • APCu İşlevleri
  • Removes a stored variable from the cache

apcu_delete

(PECL apcu >= 4.0.0)

apcu_delete — Removes a stored variable from the cache

Açıklama

apcu_delete(mixed $key): mixed

Removes a stored variable from the cache.

Bağımsız Değişkenler

key

A key used to store the value as a string for a single key, or as an array of strings for several keys, or as an APCUIterator object.

Dönen Değerler

If key is an array, an indexed array of the keys is returned. Otherwise true is returned on success, or false on failure.

Örnekler

Örnek 1 A apcu_delete() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
apcu_delete('foo');
// this is obviously useless in this form

// Alternatively delete multiple keys.
apcu_delete(['foo', 'bar', 'baz']);

// Or use an Iterator with a regular expression.
apcu_delete(new APCUIterator('#^myprefix_#'));
?>

Ayrıca Bakınız

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_clear_cache() - Clears the APCu cache
  • APCUIterator


Whether APCu is usable in the current environment

  • « apcu_delete
  • apcu_entry »
  • PHP Manual
  • APCu İşlevleri
  • Whether APCu is usable in the current environment

apcu_enabled

(PECL apcu >= 4.0.3)

apcu_enabled — Whether APCu is usable in the current environment

Açıklama

apcu_enabled(): bool

Returns whether APCu is usable in the current environment.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true when APCu is usable in the current environment, false otherwise.


Atomically fetch or generate a cache entry

  • « apcu_enabled
  • apcu_exists »
  • PHP Manual
  • APCu İşlevleri
  • Atomically fetch or generate a cache entry

apcu_entry

(PECL apcu >= 5.1.0)

apcu_entry — Atomically fetch or generate a cache entry

Açıklama

apcu_entry(string $key, callable $generator, int $ttl = 0): mixed

Atomically attempts to find key in the cache, if it cannot be found generator is called, passing key as the only argument. The return value of the call is then cached with the optionally specified ttl, and returned.

Bilginize: When control enters apcu_entry() the lock for the cache is acquired exclusively, it is released when control leaves apcu_entry(): In effect, this turns the body of generator into a critical section, disallowing two processes from executing the same code paths concurrently. In addition, it prohibits the concurrent execution of any other APCu functions, since they will acquire the same lock.

Uyarı

The only APCu function that can be called safely by generator is apcu_entry().

Bağımsız Değişkenler

key

Identity of cache entry

generator

A callable that accepts key as the only argument and returns the value to cache.

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

Dönen Değerler

Returns the cached value

Örnekler

Örnek 1 An apcu_entry() example

<?php
$config = apcu_entry("config", function($key) {
return [
"fruit" => apcu_entry("config.fruit", function($key){
return [
"apples",
"pears"
];
}),
"people" => apcu_entry("config.people", function($key){
return [
"bob",
"joe",
"niki"
];
})
];
});

var_dump($config);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["fruit"]=>
  array(2) {
    [0]=>
    string(6) "apples"
    [1]=>
    string(5) "pears"
  }
  ["people"]=>
  array(3) {
    [0]=>
    string(3) "bob"
    [1]=>
    string(3) "joe"
    [2]=>
    string(4) "niki"
  }
}

Ayrıca Bakınız

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Checks if entry exists

  • « apcu_entry
  • apcu_fetch »
  • PHP Manual
  • APCu İşlevleri
  • Checks if entry exists

apcu_exists

(PECL apcu >= 4.0.0)

apcu_exists — Checks if entry exists

Açıklama

apcu_exists(mixed $keys): mixed

Checks if one or more APCu entries exist.

Bağımsız Değişkenler

keys

A string, or an array of strings, that contain keys.

Dönen Değerler

Returns true if the key exists, otherwise false Or if an array was passed to keys, then an array is returned that contains all existing keys, or an empty array if none exist.

Örnekler

Örnek 1 apcu_exists() example

<?php
$fruit = 'apple';
$veggie = 'carrot';

apcu_store('foo', $fruit);
apcu_store('bar', $veggie);

if (apcu_exists('foo')) {
echo "Foo exists: ";
echo apcu_fetch('foo');
} else {
echo "Foo does not exist";
}

echo PHP_EOL;
if (apcu_exists('baz')) {
echo "Baz exists.";
} else {
echo "Baz does not exist";
}

echo PHP_EOL;

$ret = apcu_exists(array('foo', 'donotexist', 'bar'));
var_dump($ret);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Foo exists: apple
Baz does not exist
array(2) {
  ["foo"]=>
  bool(true)
  ["bar"]=>
  bool(true)
}

Ayrıca Bakınız

  • apcu_cache_info() - Retrieves cached information from APCu's data store
  • apcu_fetch() - Fetch a stored variable from the cache


Fetch a stored variable from the cache

  • « apcu_exists
  • apcu_inc »
  • PHP Manual
  • APCu İşlevleri
  • Fetch a stored variable from the cache

apcu_fetch

(PECL apcu >= 4.0.0)

apcu_fetch — Fetch a stored variable from the cache

Açıklama

apcu_fetch(mixed $key, bool &$success = ?): mixed

Fetches an entry from the cache.

Bağımsız Değişkenler

key

The key used to store the value (with apcu_store()). If an array is passed then each element is fetched and returned.

success

Set to true in success and false in failure.

Dönen Değerler

The stored variable or array of variables on success; false on failure

Sürüm Bilgisi

Sürüm: | Açıklama
PECL apcu 3.0.17 | The success parameter was added.

Örnekler

Örnek 1 A apcu_fetch() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

Yukarıdaki örneğin çıktısı:

string(3) "BAR"

Ayrıca Bakınız

  • apcu_store() - Cache a variable in the data store
  • apcu_delete() - Removes a stored variable from the cache
  • APCUIterator


Increase a stored number

  • « apcu_fetch
  • apcu_key_info »
  • PHP Manual
  • APCu İşlevleri
  • Increase a stored number

apcu_inc

(PECL apcu >= 4.0.0)

apcu_inc — Increase a stored number

Açıklama

apcu_inc(
string $key,
int $step = 1,
bool &$success = ?,
int $ttl = 0
): int|false

Increases a stored number.

Bağımsız Değişkenler

key

The key of the value being increased.

step

The step, or value to increase.

success

Optionally pass the success or fail boolean value to this referenced variable.

ttl

TTL to use if the operation inserts a new value (rather than incrementing an existing one).

Dönen Değerler

Returns the current value of key's value on success, başarısızlık durumunda false döner

Örnekler

Örnek 1 apcu_inc() example

<?php
echo "Let's do something with success", PHP_EOL;

apcu_store('anumber', 42);

echo apcu_fetch('anumber'), PHP_EOL;

echo apcu_inc('anumber'), PHP_EOL;
echo apcu_inc('anumber', 10), PHP_EOL;
echo apcu_inc('anumber', 10, $success), PHP_EOL;

var_dump($success);

echo "Now, let's fail", PHP_EOL, PHP_EOL;

apcu_store('astring', 'foo');

$ret = apcu_inc('astring', 1, $fail);

var_dump($ret);
var_dump($fail);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Let's do something with success
42
43
53
63
bool(true)
Now, let's fail

bool(false)
bool(false)

Ayrıca Bakınız

  • apcu_dec() - Decrease a stored number


Get detailed information about the cache key

  • « apcu_inc
  • apcu_sma_info »
  • PHP Manual
  • APCu İşlevleri
  • Get detailed information about the cache key

apcu_key_info

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

apcu_key_info — Get detailed information about the cache key

Açıklama

apcu_key_info(string $key): ?array

Get detailed information about the cache key

Bağımsız Değişkenler

key

Get detailed information about the cache key

Dönen Değerler

An array containing the detailed information about the cache key, or null if the key does not exist.

Örnekler

Örnek 1 A apcu_key_info() example

<?php
apcu_add('a','b');
var_dump(apcu_key_info('a'));
?>

Yukarıdaki örneğin çıktısı:

array(7) {
  ["hits"]=>
  int(0)
  ["access_time"]=>
  int(1606701783)
  ["mtime"]=>
  int(1606701783)
  ["creation_time"]=>
  int(1606701783)
  ["deletion_time"]=>
  int(0)
  ["ttl"]=>
  int(0)
  ["refs"]=>
  int(0)
}

Ayrıca Bakınız

  • apcu_store() - Cache a variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


Retrieves APCu Shared Memory Allocation information

  • « apcu_key_info
  • apcu_store »
  • PHP Manual
  • APCu İşlevleri
  • Retrieves APCu Shared Memory Allocation information

apcu_sma_info

(PECL apcu >= 4.0.0)

apcu_sma_info — Retrieves APCu Shared Memory Allocation information

Açıklama

apcu_sma_info(bool $limited = false): array|false

Retrieves APCu Shared Memory Allocation information.

Bağımsız Değişkenler

limited

When set to false (default) apcu_sma_info() will return a detailed information about each segment.

Dönen Değerler

Array of Shared Memory Allocation data; false on failure.

Örnekler

Örnek 1 A apcu_sma_info() example

<?php
print_r(apcu_sma_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [num_seg] => 1
    [seg_size] => 31457280
    [avail_mem] => 31448408
    [block_lists] => Array
        (
            [0] => Array
                (
                    [0] => Array
                        (
                            [size] => 31448408
                            [offset] => 8864
                        )

                )

        )

)

Ayrıca Bakınız

  • APCu configuration directives


Cache a variable in the data store

  • « apcu_sma_info
  • APCUIterator »
  • PHP Manual
  • APCu İşlevleri
  • Cache a variable in the data store

apcu_store

(PECL apcu >= 4.0.0)

apcu_store — Cache a variable in the data store

Açıklama

apcu_store(string $key, mixed $var, int $ttl = 0): bool
apcu_store(array $values, mixed $unused = NULL, int $ttl = 0): array

Cache a variable in the data store.

Bilginize: Unlike many other mechanisms in PHP, variables stored using apcu_store() will persist between requests (until the value is removed from the cache).

Bağımsız Değişkenler

key

Store the variable using this name. keys are cache-unique, so storing a second value with the same key will overwrite the original value.

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Second syntax returns array with error keys.

Örnekler

Örnek 1 A apcu_store() example

<?php
$bar = 'BAR';
apcu_store('foo', $bar);
var_dump(apcu_fetch('foo'));
?>

Yukarıdaki örneğin çıktısı:

string(3) "BAR"

Ayrıca Bakınız

  • apcu_add() - Cache a new variable in the data store
  • apcu_fetch() - Fetch a stored variable from the cache
  • apcu_delete() - Removes a stored variable from the cache


The APCUIterator class

(PECL apcu >= 5.0.0)

Giriş

The APCUIterator class makes it easier to iterate over large APCu caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.

Sınıf Sözdizimi

class APCUIterator implements Iterator {
/* Yöntemler */
public __construct(
array|string|null $search = null,
int $format = APC_ITER_ALL,
int $chunk_size = 100,
int $list = APC_LIST_ACTIVE
)
public current(): mixed
public getTotalCount(): int
public getTotalHits(): int
public getTotalSize(): int
public key(): string
public next(): bool
public rewind(): void
public valid(): bool
}

İçindekiler

  • APCUIterator::__construct — Constructs an APCUIterator iterator object
  • APCUIterator::current — Get current item
  • APCUIterator::getTotalCount — Get total count
  • APCUIterator::getTotalHits — Get total cache hits
  • APCUIterator::getTotalSize — Get total cache size
  • APCUIterator::key — Get iterator key
  • APCUIterator::next — Move pointer to next item
  • APCUIterator::rewind — Rewinds iterator
  • APCUIterator::valid — Checks if current position is valid


Constructs an APCUIterator iterator object

  • « APCUIterator
  • APCUIterator::current »
  • PHP Manual
  • APCUIterator
  • Constructs an APCUIterator iterator object

APCUIterator::__construct

(PECL apcu >= 5.0.0)

APCUIterator::__construct — Constructs an APCUIterator iterator object

Açıklama

public APCUIterator::__construct(
array|string|null $search = null,
int $format = APC_ITER_ALL,
int $chunk_size = 100,
int $list = APC_LIST_ACTIVE
)

Constructs an APCUIterator object.

Bağımsız Değişkenler

search

Either a PCRE regular expression that matches against APCu key names, given as a string. Or an array of strings with APCu key names. Or, optionally null to skip the search.

format

The desired format, as configured with one or more of the APC_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED.

Örnekler

Örnek 1 A APCUIterator::__construct() example

<?php
foreach (new APCUIterator('/^counter\./') as $counter) {
echo "$counter[key]: $counter[value]\n";
apc_dec($counter['key'], $counter['value']);
}
?>

Ayrıca Bakınız

  • apcu_exists() - Checks if entry exists
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get current item

  • « APCUIterator::__construct
  • APCUIterator::getTotalCount »
  • PHP Manual
  • APCUIterator
  • Get current item

APCUIterator::current

(PECL apcu >= 5.0.0)

APCUIterator::current — Get current item

Açıklama

public APCUIterator::current(): mixed

Gets the current item from the APCUIterator stack.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current item on success, or false if no more items or exist, or on failure.

Ayrıca Bakınız

  • APCUIterator::next() - Move pointer to next item
  • Iterator::current() - O anki elemanı döndürür


Get total count

  • « APCUIterator::current
  • APCUIterator::getTotalHits »
  • PHP Manual
  • APCUIterator
  • Get total count

APCUIterator::getTotalCount

(PECL apcu >= 5.0.0)

APCUIterator::getTotalCount — Get total count

Açıklama

public APCUIterator::getTotalCount(): int

Get the total count.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The total count.

Ayrıca Bakınız

  • APCUIterator::getTotalHits() - Get total cache hits
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get total cache hits

  • « APCUIterator::getTotalCount
  • APCUIterator::getTotalSize »
  • PHP Manual
  • APCUIterator
  • Get total cache hits

APCUIterator::getTotalHits

(PECL apcu >= 5.0.0)

APCUIterator::getTotalHits — Get total cache hits

Açıklama

public APCUIterator::getTotalHits(): int

Gets the total number of cache hits.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of hits on success, or false on failure.

Ayrıca Bakınız

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalSize() - Get total cache size
  • apcu_cache_info() - Retrieves cached information from APCu's data store


Get total cache size

  • « APCUIterator::getTotalHits
  • APCUIterator::key »
  • PHP Manual
  • APCUIterator
  • Get total cache size

APCUIterator::getTotalSize

(PECL apcu >= 5.0.0)

APCUIterator::getTotalSize — Get total cache size

Açıklama

public APCUIterator::getTotalSize(): int

Gets the total cache size.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The total cache size.

Ayrıca Bakınız

  • APCUIterator::getTotalCount() - Get total count
  • APCUIterator::getTotalHits() - Get total cache hits
  • apc_cache_info()


Get iterator key

  • « APCUIterator::getTotalSize
  • APCUIterator::next »
  • PHP Manual
  • APCUIterator
  • Get iterator key

APCUIterator::key

(PECL apcu >= 5.0.0)

APCUIterator::key — Get iterator key

Açıklama

public APCUIterator::key(): string

Gets the current iterator key.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the key on success, or false upon failure.

Ayrıca Bakınız

  • APCUIterator::current() - Get current item
  • Iterator::key() - O anki elemanın anahtarını döndürür


Move pointer to next item

  • « APCUIterator::key
  • APCUIterator::rewind »
  • PHP Manual
  • APCUIterator
  • Move pointer to next item

APCUIterator::next

(PECL apcu >= 5.0.0)

APCUIterator::next — Move pointer to next item

Açıklama

public APCUIterator::next(): bool

Moves the iterator pointer to the next element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • APCUIterator::current() - Get current item
  • APCUIterator::rewind() - Rewinds iterator
  • Iterator::next() - Konumu sonraki elemana ilerletir


Rewinds iterator

  • « APCUIterator::next
  • APCUIterator::valid »
  • PHP Manual
  • APCUIterator
  • Rewinds iterator

APCUIterator::rewind

(PECL apcu >= 5.0.0)

APCUIterator::rewind — Rewinds iterator

Açıklama

public APCUIterator::rewind(): void

Rewinds back the iterator to the first element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • APCUIterator::next() - Move pointer to next item
  • Iterator::next() - Konumu sonraki elemana ilerletir


Checks if current position is valid

  • « APCUIterator::rewind
  • Componere »
  • PHP Manual
  • APCUIterator
  • Checks if current position is valid

APCUIterator::valid

(PECL apcu >= 5.0.0)

APCUIterator::valid — Checks if current position is valid

Açıklama

public APCUIterator::valid(): bool

Checks if the current iterator position is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current iterator position is valid, otherwise false.

Ayrıca Bakınız

  • APCUIterator::current() - Get current item
  • Iterator::valid() - O anki konum geçerli mi diye bakar


Componere

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • Componere\Abstract\Definition — The Componere\Abstract\Definition class
    • Componere\Abstract\Definition::addInterface — Add Interface
    • Componere\Abstract\Definition::addMethod — Add Method
    • Componere\Abstract\Definition::addTrait — Add Trait
    • Componere\Abstract\Definition::getReflector — Reflection
  • Componere\Definition — The Componere\Definition class
    • Componere\Definition::__construct — Definition Construction
    • Componere\Definition::addConstant — Add Constant
    • Componere\Definition::addProperty — Add Property
    • Componere\Definition::register — Registration
    • Componere\Definition::isRegistered — State Detection
    • Componere\Definition::getClosure — Get Closure
    • Componere\Definition::getClosures — Get Closures
  • Componere\Patch — The Componere\Patch class
    • Componere\Patch::__construct — Patch Construction
    • Componere\Patch::apply — Application
    • Componere\Patch::revert — Reversal
    • Componere\Patch::isApplied — State Detection
    • Componere\Patch::derive — Patch Derivation
    • Componere\Patch::getClosure — Get Closure
    • Componere\Patch::getClosures — Get Closures
  • Componere\Method — The Componere\Method class
    • Componere\Method::__construct — Method Construction
    • Componere\Method::setPrivate — Accessibility Modification
    • Componere\Method::setProtected — Accessibility Modification
    • Componere\Method::setStatic — Accessibility Modification
    • Componere\Method::getReflector — Reflection
  • Componere\Value — The Componere\Value class
    • Componere\Value::__construct — Value Construction
    • Componere\Value::setPrivate — Accessibility Modification
    • Componere\Value::setProtected — Accessibility Modification
    • Componere\Value::setStatic — Accessibility Modification
    • Componere\Value::isPrivate — Accessibility Detection
    • Componere\Value::isProtected — Accessibility Detection
    • Componere\Value::isStatic — Accessibility Detection
    • Componere\Value::hasDefault — Value Interaction
  • Componere İşlevleri
    • Componere\cast — Casting
    • Componere\cast_by_ref — Casting


Giriş

Componere (latin, English: compose) targets production environments and provides an API for composition of classes, monkey patching, and casting.

Composition:

Componere\Definition is used to define (or redefine) a class at runtime; The class can then be registered, and in the case of redefinition it replaces the original class for as long as the Componere\Definition exists.

public Componere\Definition::__construct(string $name)
public Componere\Definition::__construct(string $name, string $parent)
public Componere\Definition::__construct(string $name, array $interfaces)
public Componere\Definition::__construct(string $name, string $parent, array $interfaces)

Patching:

Componere\Patch is used to change the class of a specific instance of an object at runtime; Upon application the patch will remain applied for as long as the Componere\Patch exists, and can be reverted explicitly.

public Componere\Patch::__construct(object $instance)
public Componere\Patch::__construct(object $instance, array $interfaces)

Casting:

Componere\ casting functions can cast among user defined compatible types; Where compatible means Type is sub or super to the type of object.

Componere\cast(Type $type, $object): Type
Componere\cast_by_ref(Type $type, $object): Type


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • Componere
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

Reflection is required


  • « Gereksinimler
  • Componere\Abstract\Definition »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Kurulum

Kurulum

Componere source and releases are available on » github


The Componere\Abstract\Definition class

(Componere 2 >= 2.1.0)

Giriş

This final abstract represents a class entry, and should not be used by the programmer.

Sınıf Sözdizimi

final abstract class Componere\Abstract\Definition {
/* Yöntemler */
public addInterface(string $interface): Definition
public addMethod(string $name, Componere\Method $method): Definition
public addTrait(string $trait): Definition
public getReflector(): ReflectionClass
}

İçindekiler

  • Componere\Abstract\Definition::addInterface — Add Interface
  • Componere\Abstract\Definition::addMethod — Add Method
  • Componere\Abstract\Definition::addTrait — Add Trait
  • Componere\Abstract\Definition::getReflector — Reflection


Add Interface

  • « Componere\Abstract\Definition
  • Componere\Abstract\Definition::addMethod »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Interface

Componere\Abstract\Definition::addInterface

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addInterface — Add Interface

Açıklama

public Componere\Abstract\Definition::addInterface(string $interface): Definition

Shall implement the given interface on the current definition

Bağımsız Değişkenler

interface

The case insensitive name of an interface

Dönen Değerler

The current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered


Add Method

  • « Componere\Abstract\Definition::addInterface
  • Componere\Abstract\Definition::addTrait »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Method

Componere\Abstract\Definition::addMethod

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addMethod — Add Method

Açıklama

public Componere\Abstract\Definition::addMethod(string $name, Componere\Method $method): Definition

Shall create or override a method on the current definition.

Bağımsız Değişkenler

name

The case insensitive name for method

method

Componere\Method not previously added to another Definition

Dönen Değerler

The current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered

Uyarı

Shall throw RuntimeException if Method was added to another Definition


Add Trait

  • « Componere\Abstract\Definition::addMethod
  • Componere\Abstract\Definition::getReflector »
  • PHP Manual
  • Componere\Abstract\Definition
  • Add Trait

Componere\Abstract\Definition::addTrait

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::addTrait — Add Trait

Açıklama

public Componere\Abstract\Definition::addTrait(string $trait): Definition

Shall use the given trait for the current definition

Bağımsız Değişkenler

trait

The case insensitive name of a trait

Dönen Değerler

The current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered


Reflection

  • « Componere\Abstract\Definition::addTrait
  • Componere\Definition »
  • PHP Manual
  • Componere\Abstract\Definition
  • Reflection

Componere\Abstract\Definition::getReflector

(Componere 2 >= 2.1.0)

Componere\Abstract\Definition::getReflector — Reflection

Açıklama

public Componere\Abstract\Definition::getReflector(): ReflectionClass

Shall create or return a ReflectionClass

Dönen Değerler

A ReflectionClass for the current definition (cached)


The Componere\Definition class

(Componere 2 >= 2.1.0)

Giriş

The Definition class allows the programmer to build and register a type at runtime.

Should a Definition replace an existing class, the existing class will be restored when the Definition is destroyed.

Sınıf Sözdizimi

final class Componere\Definition extends Componere\Abstract\Definition {
/* Constructors */
public __construct(string $name)
public __construct(string $name, string $parent)
public __construct(string $name, array $interfaces)
public __construct(string $name, string $parent, array $interfaces)
/* Yöntemler */
public addConstant(string $name, Componere\Value $value): Definition
public addProperty(string $name, Componere\Value $value): Definition
public register(): void
public isRegistered(): bool
public getClosure(string $name): Closure
public getClosures(): array
/* Miras alınan yöntemler */
public Componere\Abstract\Definition::addInterface(string $interface): Definition
public Componere\Abstract\Definition::addMethod(string $name, Componere\Method $method): Definition
public Componere\Abstract\Definition::addTrait(string $trait): Definition
public Componere\Abstract\Definition::getReflector(): ReflectionClass
}

İçindekiler

  • Componere\Definition::__construct — Definition Construction
  • Componere\Definition::addConstant — Add Constant
  • Componere\Definition::addProperty — Add Property
  • Componere\Definition::register — Registration
  • Componere\Definition::isRegistered — State Detection
  • Componere\Definition::getClosure — Get Closure
  • Componere\Definition::getClosures — Get Closures


Definition Construction

  • « Componere\Definition
  • Componere\Definition::addConstant »
  • PHP Manual
  • Componere\Definition
  • Definition Construction

Componere\Definition::__construct

(Componere 2 >= 2.1.0)

Componere\Definition::__construct — Definition Construction

Açıklama

public Componere\Definition::__construct(string $name)
public Componere\Definition::__construct(string $name, string $parent)
public Componere\Definition::__construct(string $name, array $interfaces)
public Componere\Definition::__construct(string $name, string $parent, array $interfaces)

Bağımsız Değişkenler

name

A case insensitive class name

parent

A case insensitive class name

interfaces

An array of case insensitive class names

Exceptions

Uyarı

Shall throw InvalidArgumentException if an attempt is made to replace an internal class

Uyarı

Shall throw InvalidArgumentException if an attempt is made to replace an interface

Uyarı

Shall throw InvalidArgumentException if an attempt is made to replace a trait

Uyarı

Shall throw RuntimeException if a class in interfaces cannot be found

Uyarı

Shall throw RuntimeException if an class in interfaces is not an interface


Add Constant

  • « Componere\Definition::__construct
  • Componere\Definition::addProperty »
  • PHP Manual
  • Componere\Definition
  • Add Constant

Componere\Definition::addConstant

(Componere 2 >= 2.1.0)

Componere\Definition::addConstant — Add Constant

Açıklama

public Componere\Definition::addConstant(string $name, Componere\Value $value): Definition

Shall declare a class constant on the current Definition

Bağımsız Değişkenler

name

The case sensitive name for the constant

value

The Value for the constant, must not be undefined or static

Dönen Değerler

The current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered

Uyarı

Shall throw RuntimeException if name is already declared as a constant

Uyarı

Shall throw RuntimeException if value is static

Uyarı

Shall throw RuntimeException if value is undefined


Add Property

  • « Componere\Definition::addConstant
  • Componere\Definition::register »
  • PHP Manual
  • Componere\Definition
  • Add Property

Componere\Definition::addProperty

(Componere 2 >= 2.1.0)

Componere\Definition::addProperty — Add Property

Açıklama

public Componere\Definition::addProperty(string $name, Componere\Value $value): Definition

Shall declare a class property on the current Definition

Bağımsız Değişkenler

name

The case sensitive name for the property

value

The default Value for the property

Dönen Değerler

The current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered

Uyarı

Shall throw RuntimeException if name is already declared as a property


Registration

  • « Componere\Definition::addProperty
  • Componere\Definition::isRegistered »
  • PHP Manual
  • Componere\Definition
  • Registration

Componere\Definition::register

(Componere 2 >= 2.1.0)

Componere\Definition::register — Registration

Açıklama

public Componere\Definition::register(): void

Shall register the current Definition

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered


State Detection

  • « Componere\Definition::register
  • Componere\Definition::getClosure »
  • PHP Manual
  • Componere\Definition
  • State Detection

Componere\Definition::isRegistered

(Componere 2 >= 2.1.0)

Componere\Definition::isRegistered — State Detection

Açıklama

public Componere\Definition::isRegistered(): bool

Shall detect the registration state of this Definition

Dönen Değerler

Shall return true if this Definition is registered


Get Closure

  • « Componere\Definition::isRegistered
  • Componere\Definition::getClosures »
  • PHP Manual
  • Componere\Definition
  • Get Closure

Componere\Definition::getClosure

(Componere 2 >= 2.1.0)

Componere\Definition::getClosure — Get Closure

Açıklama

public Componere\Definition::getClosure(string $name): Closure

Shall return a Closure for the method specified by name

Bağımsız Değişkenler

name

The case insensitive name of the method

Dönen Değerler

A Closure bound to the correct scope

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered

Uyarı

Shall throw RuntimeException if name could not be found


Get Closures

  • « Componere\Definition::getClosure
  • Componere\Patch »
  • PHP Manual
  • Componere\Definition
  • Get Closures

Componere\Definition::getClosures

(Componere 2 >= 2.1.0)

Componere\Definition::getClosures — Get Closures

Açıklama

public Componere\Definition::getClosures(): array

Shall return an array of Closures

Dönen Değerler

Shall return all methods as an array of Closure objects bound to the correct scope

Exceptions

Uyarı

Shall throw RuntimeException if Definition was registered


The Componere\Patch class

(Componere 2 >= 2.1.0)

Giriş

The Patch class allows the programmer to change the type of an instance at runtime without registering a new Definition

When a Patch is destroyed it is reverted, so that instances that were patched during the lifetime of the Patch are restored to their formal type.

Sınıf Sözdizimi

final class Componere\Patch extends Componere\Abstract\Definition {
/* Constructors */
public __construct(object $instance)
public __construct(object $instance, array $interfaces)
/* Yöntemler */
public apply(): void
public revert(): void
public isApplied(): bool
public derive(object $instance): Patch
public getClosure(string $name): Closure
public getClosures(): array
/* Miras alınan yöntemler */
public Componere\Abstract\Definition::addInterface(string $interface): Definition
public Componere\Abstract\Definition::addMethod(string $name, Componere\Method $method): Definition
public Componere\Abstract\Definition::addTrait(string $trait): Definition
public Componere\Abstract\Definition::getReflector(): ReflectionClass
}

İçindekiler

  • Componere\Patch::__construct — Patch Construction
  • Componere\Patch::apply — Application
  • Componere\Patch::revert — Reversal
  • Componere\Patch::isApplied — State Detection
  • Componere\Patch::derive — Patch Derivation
  • Componere\Patch::getClosure — Get Closure
  • Componere\Patch::getClosures — Get Closures


Patch Construction

  • « Componere\Patch
  • Componere\Patch::apply »
  • PHP Manual
  • Componere\Patch
  • Patch Construction

Componere\Patch::__construct

(Componere 2 >= 2.1.0)

Componere\Patch::__construct — Patch Construction

Açıklama

public Componere\Patch::__construct(object $instance)
public Componere\Patch::__construct(object $instance, array $interfaces)

Bağımsız Değişkenler

instance

The target for this Patch

interfaces

A case insensitive array of class names

Exceptions

Uyarı

Shall throw RuntimeException if a class in interfaces cannot be found

Uyarı

Shall throw RuntimeException if an class in interfaces is not an interface


Application

  • « Componere\Patch::__construct
  • Componere\Patch::revert »
  • PHP Manual
  • Componere\Patch
  • Application

Componere\Patch::apply

(Componere 2 >= 2.1.0)

Componere\Patch::apply — Application

Açıklama

public Componere\Patch::apply(): void

Shall apply the current patch


Reversal

  • « Componere\Patch::apply
  • Componere\Patch::isApplied »
  • PHP Manual
  • Componere\Patch
  • Reversal

Componere\Patch::revert

(Componere 2 >= 2.1.0)

Componere\Patch::revert — Reversal

Açıklama

public Componere\Patch::revert(): void

Shall revert the current patch


State Detection

  • « Componere\Patch::revert
  • Componere\Patch::derive »
  • PHP Manual
  • Componere\Patch
  • State Detection

Componere\Patch::isApplied

(Componere 2 >= 2.1.0)

Componere\Patch::isApplied — State Detection

Açıklama

public Componere\Patch::isApplied(): bool


Patch Derivation

  • « Componere\Patch::isApplied
  • Componere\Patch::getClosure »
  • PHP Manual
  • Componere\Patch
  • Patch Derivation

Componere\Patch::derive

(Componere 2 >= 2.1.1)

Componere\Patch::derive — Patch Derivation

Açıklama

public Componere\Patch::derive(object $instance): Patch

Shall derive a Patch for the given instance

Bağımsız Değişkenler

instance

The target for the derived Patch

Dönen Değerler

Patch for instance derived from the current Patch

Exceptions

Uyarı

Shall throw InvalidArgumentException if instance is not compatible


Get Closure

  • « Componere\Patch::derive
  • Componere\Patch::getClosures »
  • PHP Manual
  • Componere\Patch
  • Get Closure

Componere\Patch::getClosure

(Componere 2 >= 2.1.0)

Componere\Patch::getClosure — Get Closure

Açıklama

public Componere\Patch::getClosure(string $name): Closure

Shall return a Closure for the method specified by name

Bağımsız Değişkenler

name

The case insensitive name of the method

Dönen Değerler

A Closure bound to the correct scope and object

Exceptions

Uyarı

Shall throw RuntimeException if name could not be found


Get Closures

  • « Componere\Patch::getClosure
  • Componere\Method »
  • PHP Manual
  • Componere\Patch
  • Get Closures

Componere\Patch::getClosures

(Componere 2 >= 2.1.0)

Componere\Patch::getClosures — Get Closures

Açıklama

public Componere\Patch::getClosures(): array

Shall return an array of Closures

Dönen Değerler

Shall return all methods as an array of Closure objects bound to the correct scope and object


The Componere\Method class

(Componere 2 >= 2.1.0)

Giriş

A Method represents a function with modifiable accessibility flags

Sınıf Sözdizimi

final class Componere\Method {
/* Constructor */
public __construct(Closure $closure)
/* Yöntemler */
public setPrivate(): Method
public setProtected(): Method
public setStatic(): Method
public getReflector(): ReflectionMethod
}

İçindekiler

  • Componere\Method::__construct — Method Construction
  • Componere\Method::setPrivate — Accessibility Modification
  • Componere\Method::setProtected — Accessibility Modification
  • Componere\Method::setStatic — Accessibility Modification
  • Componere\Method::getReflector — Reflection


Method Construction

  • « Componere\Method
  • Componere\Method::setPrivate »
  • PHP Manual
  • Componere\Method
  • Method Construction

Componere\Method::__construct

(Componere 2 >= 2.1.0)

Componere\Method::__construct — Method Construction

Açıklama

public Componere\Method::__construct(Closure $closure)

Bağımsız Değişkenler

closure


Accessibility Modification

  • « Componere\Method::__construct
  • Componere\Method::setProtected »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setPrivate

(Componere 2 >= 2.1.0)

Componere\Method::setPrivate — Accessibility Modification

Açıklama

public Componere\Method::setPrivate(): Method

Dönen Değerler

The current Method

Exceptions

Uyarı

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Method::setPrivate
  • Componere\Method::setStatic »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setProtected

(Componere 2 >= 2.1.0)

Componere\Method::setProtected — Accessibility Modification

Açıklama

public Componere\Method::setProtected(): Method

Dönen Değerler

The current Method

Exceptions

Uyarı

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Method::setProtected
  • Componere\Method::getReflector »
  • PHP Manual
  • Componere\Method
  • Accessibility Modification

Componere\Method::setStatic

(Componere 2 >= 2.1.0)

Componere\Method::setStatic — Accessibility Modification

Açıklama

public Componere\Method::setStatic(): Method

Dönen Değerler

The current Method


Reflection

  • « Componere\Method::setStatic
  • Componere\Value »
  • PHP Manual
  • Componere\Method
  • Reflection

Componere\Method::getReflector

(Componere 2 >= 2.1.0)

Componere\Method::getReflector — Reflection

Açıklama

public Componere\Method::getReflector(): ReflectionMethod

Shall create or return a ReflectionMethod

Dönen Değerler

A ReflectionMethod for the current method (cached)


The Componere\Value class

(Componere 2 >= 2.1.0)

Giriş

A Value represents a PHP variable of all types, including undefined

Sınıf Sözdizimi

final class Componere\Value {
/* Constructor */
public __construct( $default = ?)
/* Yöntemler */
public setPrivate(): Value
public setProtected(): Value
public setStatic(): Value
public isPrivate(): bool
public isProtected(): bool
public isStatic(): bool
public hasDefault(): bool
}

İçindekiler

  • Componere\Value::__construct — Value Construction
  • Componere\Value::setPrivate — Accessibility Modification
  • Componere\Value::setProtected — Accessibility Modification
  • Componere\Value::setStatic — Accessibility Modification
  • Componere\Value::isPrivate — Accessibility Detection
  • Componere\Value::isProtected — Accessibility Detection
  • Componere\Value::isStatic — Accessibility Detection
  • Componere\Value::hasDefault — Value Interaction


Value Construction

  • « Componere\Value
  • Componere\Value::setPrivate »
  • PHP Manual
  • Componere\Value
  • Value Construction

Componere\Value::__construct

(Componere 2 >= 2.1.0)

Componere\Value::__construct — Value Construction

Açıklama

public Componere\Value::__construct( $default = ?)

Bağımsız Değişkenler

default

Exceptions

Uyarı

Shall throw InvalidArgumentException if default does not have a suitable value


Accessibility Modification

  • « Componere\Value::__construct
  • Componere\Value::setProtected »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setPrivate

(Componere 2 >= 2.1.0)

Componere\Value::setPrivate — Accessibility Modification

Açıklama

public Componere\Value::setPrivate(): Value

Dönen Değerler

The current Value

Exceptions

Uyarı

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Value::setPrivate
  • Componere\Value::setStatic »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setProtected

(Componere 2 >= 2.1.0)

Componere\Value::setProtected — Accessibility Modification

Açıklama

public Componere\Value::setProtected(): Value

Dönen Değerler

The current Value

Exceptions

Uyarı

Shall throw RuntimeException if access level was previously set


Accessibility Modification

  • « Componere\Value::setProtected
  • Componere\Value::isPrivate »
  • PHP Manual
  • Componere\Value
  • Accessibility Modification

Componere\Value::setStatic

(Componere 2 >= 2.1.0)

Componere\Value::setStatic — Accessibility Modification

Açıklama

public Componere\Value::setStatic(): Value

Dönen Değerler

The current Value


Accessibility Detection

  • « Componere\Value::setStatic
  • Componere\Value::isProtected »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isPrivate

(Componere 2 >= 2.1.0)

Componere\Value::isPrivate — Accessibility Detection

Açıklama

public Componere\Value::isPrivate(): bool


Accessibility Detection

  • « Componere\Value::isPrivate
  • Componere\Value::isStatic »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isProtected

(Componere 2 >= 2.1.0)

Componere\Value::isProtected — Accessibility Detection

Açıklama

public Componere\Value::isProtected(): bool


Accessibility Detection

  • « Componere\Value::isProtected
  • Componere\Value::hasDefault »
  • PHP Manual
  • Componere\Value
  • Accessibility Detection

Componere\Value::isStatic

(Componere 2 >= 2.1.0)

Componere\Value::isStatic — Accessibility Detection

Açıklama

public Componere\Value::isStatic(): bool


Value Interaction

  • « Componere\Value::isStatic
  • Componere İşlevleri »
  • PHP Manual
  • Componere\Value
  • Value Interaction

Componere\Value::hasDefault

(Componere 2 >= 2.1.0)

Componere\Value::hasDefault — Value Interaction

Açıklama

public Componere\Value::hasDefault(): bool


  • « Componere\Value::hasDefault
  • Componere\cast »
  • PHP Manual
  • Componere
  • Componere İşlevleri

Componere İşlevleri

İçindekiler

  • Componere\cast — Casting
  • Componere\cast_by_ref — Casting


Casting

  • « Componere İşlevleri
  • Componere\cast_by_ref »
  • PHP Manual
  • Componere İşlevleri
  • Casting

Componere\cast

(Componere 2 >= 2.1.2)

Componere\cast — Casting

Açıklama

Componere\cast(Type $type, $object): Type

Bağımsız Değişkenler

type

A user defined type

object

An object with a user defined type compatible with Type

Dönen Değerler

An object of type Type, cast from object

Hatalar/İstisnalar

Uyarı

Shall throw InvalidArgumentException if the type of object is or is derived from an internal class

Uyarı

Shall throw InvalidArgumentException if Type is an interface

Uyarı

Shall throw InvalidArgumentException if Type is a trait

Uyarı

Shall throw InvalidArgumentException if Type is an abstract

Uyarı

Shall throw InvalidArgumentException if Type is not compatible with the type of object

Ayrıca Bakınız

  • Componere\cast_by_ref


Casting

  • « Componere\cast
  • Errorfunc »
  • PHP Manual
  • Componere İşlevleri
  • Casting

Componere\cast_by_ref

(Componere 2 >= 2.1.2)

Componere\cast_by_ref — Casting

Açıklama

Componere\cast_by_ref(Type $type, $object): Type

Bağımsız Değişkenler

type

A user defined type

object

An object with a user defined type compatible with Type

Dönen Değerler

An object of type Type, cast from object, where members are references to object members

Hatalar/İstisnalar

Uyarı

Shall throw InvalidArgumentException if the type of object is or is derived from an internal class

Uyarı

Shall throw InvalidArgumentException if Type is an interface

Uyarı

Shall throw InvalidArgumentException if Type is a trait

Uyarı

Shall throw InvalidArgumentException if Type is an abstract

Uyarı

Shall throw InvalidArgumentException if Type is not compatible with the type of object

Ayrıca Bakınız

  • Componere\cast


Hata İşleme ve Günlükleme

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Hata İşleme İşlevleri
    • debug_backtrace — Hata izleme raporunu bir dizi olarak üretir
    • debug_print_backtrace — Bir hata izleme raporu basar
    • error_clear_last — Sonuncu hatayı temizler
    • error_get_last — Son oluşan hata hakkında bilgi verir
    • error_log — Tanımlı hata işleme yordamlarına bir hata iletisi gönderir
    • error_reporting — Hangi PHP hatalarının raporlanacağını tanımlar
    • restore_error_handler — Bir önceki hata eylemcisini devreye sokar
    • restore_exception_handler — Bir önceki istisna eylemcisini devreye sokar
    • set_error_handler — Kullanıcı tanımlı bir hata işleyici bildirir
    • set_exception_handler — Kullanıcı tanımlı bir istisna işleyici bildirir
    • trigger_error — Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
    • user_error — trigger_error işlevinin takma adıdır


Giriş

Bu işlevler hataların elde edilmesi ve günlük kayıtlarının tutulması ile ilgilidir. Bu işlevlerle kendi hata işleme kurallarınızı tanımlayabileceğiniz gibi hataların günlük dosyalarına nasıl kaydedileceğiyle ilgili değişiklikler de yapabilirsiniz. Böylece hata bildirimini ihtiyaçlarınıza uygun bir biçimde değiştirebilir veya genişletebilirsiniz.

Hata iletilerini günlük kayıt işlevleriyle doğrudan diğer makinelere, bir eposta adresine, sistem günlüklerine ve benzerlerine gönderebilirsiniz. Dolayısıyla, uygulamanızın veya sitenizin en önemli kısımlarını gözlem altında tutabilir ve bunlardan istediklerinizi günlük dosyalarına kaydedebilirsiniz.

Hata bildirim işlevleri, basit uyarılardan özel işlevlerin döndürdükleri hatalara kadar bir yelpazede geribildirim çeşidini ve seviyesini belirleyebilme olanağını verır.


  • « Gereksinimler
  • Çalışma Anı Yapılandırması »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Kurulum

Kurulum

Bu işlevleri kullanmak için hiçbir şey kurmaya gerek yoktur; PHP çekirdeğinin parçasıdırlar.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Hatalar ve Günlük Kaydı ile ilgili Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
error_reporting | NULL | PHP_INI_ALL |
display_errors | "1" | PHP_INI_ALL |
display_startup_errors | "1" | PHP_INI_ALL | PHP 8.0.0 öncesinde, öntanımlı değer "0" idi.
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL | PHP 8.0.0 ve sonrasında etkisisiz olup PHP 8.1.0 ve sonrasında kaldırılmıştır.
ignore_repeated_errors | "0" | PHP_INI_ALL |
ignore_repeated_source | "0" | PHP_INI_ALL |
report_memleaks | "1" | PHP_INI_ALL |
track_errors | "0" | PHP_INI_ALL | PHP 7.2.0 ve sonrasında kullanımı önerilmemekte olup PHP 8.0.0'da kullanımdan kaldırılmıştır.
html_errors | "1" | PHP_INI_ALL |
xmlrpc_errors | "0" | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | PHP_INI_ALL |
docref_root | "" | PHP_INI_ALL |
docref_ext | "" | PHP_INI_ALL | since PHP 4.3.2'den beri kullanılabilmektedir.
error_prepend_string | NULL | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_log_mode | 0o644 | PHP_INI_ALL | Available as of PHP 8.2.0
syslog.facility | "LOG_USER" | PHP_INI_SYSTEM | PHP 7.3.0 ve sonrasında mevcuttur.
syslog.filter | "no-ctrl" | PHP_INI_ALL | PHP 7.3.0 ve sonrasında mevcuttur.
syslog.ident | "php" | PHP_INI_SYSTEM | PHP 7.3.0 ve sonrasında mevcuttur.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

error_reporting int

Hata raporlama seviyesini tanımlar. Bağımsız değişken olarak ya bir bit alanını ifade eden bir tamsayı ya da isimli sabitler verilebilir. Hata raporlama seviyeleri ve sabitleri Öntanımlı Sabitler sayfasında ve php.ini içinde açıklanmıştır. Hata raporlama seviyesini çalışma anında belirtmek için error_reporting() işlevini kullanabilirsiniz. Ayrıca, display_errors yönergesine de bakınız.

E_ALL öntanımlıdır.

PHP 8.0.0 öncesinde, öntanımlı değer E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED idi. Yani, E_NOTICE, E_STRICT ve E_DEPRECATED seviyesinden hatalar gösterilmiyordu.

Bilginize: PHP dışında PHP sabitleri

httpd.conf gibi PHP dışı yerlerde PHP sabitlerini kullanmak isterseniz, bunların tamsayı değerlerini kullanmak zorunda kalmak anlamlarını anlamayı zorlaştırdığı için elverişli olmayacaktır. Zamanla başka hata seviyeleri ekleneceğinden azami değer de (E_ALL değeri) değişecektir. Bu bakımdan E_ALL yerine şimdiki ve gelecekteki tüm bit alanlarını kapsamak üzere 2147483647 gibi büyük bir değer kullanabilirsiniz (E_ALL'dan başka tüm hataları da içerir).

display_errors string

Hataların çıktının bir parçası olarak ekrana basılıp basılmayacağını veya bunların kullanıcıdan gizlenip gizlenmeyeceğini belirler.

"stderr" değeri hataları stdout (standart çıktı) yerine stderr'e (standart hataya) gönderir.

Bilginize:

Bu özellik sizi geliştirme aşamasında desteklemek amacıyla konmuştur ve kullanıcıya yönelik işlemler için asla kullanılmamalıdır.

Bilginize:

Bu yönergeye çalışma anında (ini_set() ile) değer atanabilse de, eğer betik ölümcül bir hataya sahipse bunun herhangi bir etkisi olmayacaktır. Bunun sebebi çalışma anında istenen eylemin yerine getirilmeyecek olmasıdır.

display_startup_errors bool

display_errors etkin olsa bile PHP ilk başlatılırken oluşan hatalar gösterilmez. Hata ayıklamıyorsanız display_startup_errors yönergesinin değerini off olarak bırakın.

log_errors bool

Betiğin hata iletilerinin sunucunun hata günlüğüne veya error_log ile belirtilen dosyaya kaydedilip kaydedilmeyeceğini belirler. Bu seçenek sunucuya özgüdür.

Bilginize:

Sitenizde hataları kullanıcıya göstermek yerine hata günlüklerine kaydetmenizi hararetle tavsiye ederiz.

log_errors_max_len int

Hata günlüğü iletilerinin azami uzunluğunu bayt cinsinden belirlemek için kullanılır. Kaynak hakkındaki error_log bilgisi buna eklenir. 1024 öntanımlı değer olup, 0 belirtildiği takdirde hata günlüğü iletilerininin uzunlukları sınırlanmaz. Bu uzunluk günlüğe kaydedilen ve gösterilen hata iletilerinden başka $php_errormsg iletilerine de uygulanır fakat error_log() gibi açıkça çağrılan işlevlerde uygulanmaz.

int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.
ignore_repeated_errors bool

Yinelenen hata iletileri günlüğe kaydedilmez. ignore_repeated_source yönergesinin değeri true olmadıkça yinelenen hataların aynı dosyanın aynı satırında oluşması gerekir.

ignore_repeated_source bool

Yinelenen iletiler yok sayılırken ileti kaynağının da yoksayılmasını sağlar. Bu yönergenin değeri On olduğu takdirde, farklı dosyalardan veya farklı satırlardan kaynaklanan yinelenmiş iletileri hata günlüklerine kaydedemezsiniz.

report_memleaks bool

Bu yönergenin değeri Off olduğu takdirde, bellek sızıntıları (stdout'ta veya günlük dosyasında) gösterilmez. Bu sadece, hata ayıklama derlemesinde ve error_reporting yönergesinde E_WARNING listeye dahil edilmişse etkilidir.

track_errors bool

Bu yönergenin değeri On olduğu takdirde, son hata iletisi daima $php_errormsg değişkenine atanır.

html_errors bool

Hata iletilerine HTML etiketleri dahil edilmez. Yeni HTML hataları biçeminde, doğrudan kullanıcıyı hatayı veya hataya sebep olan işlemi açıklayan bir sayfaya yönlendiren tıklanabilir hatalar üretilir. Bu gönderimler docref_root ve docref_ext yönergelerinden etkilenir.

xmlrpc_errors bool

Normal hata raporlaması kapatılıp, hatalar XML-RPC hata iletileri olarak biçemlenir.

xmlrpc_error_number int

XML-RPC hata dizisinin faultCode elemanının değeri olarak bu değer kullanılır (bkz. xmlrpc_is_fault()).

docref_root string

Yeni hata biçemi, hatayı veya hataya sebep olan işlemi açıklayan bir sayfaya bir gönderim içerir. Bu gönderimin bir kılavuz sayfasına yönlendirmesi durumunda, kılavuzun dilinizdeki çevirisini indirebilir ve bu yerel kopyanın bulunduğu yeri bu yönergede belirtebilirsiniz. Örneğin, kılavuzun yerel kopyasına "/manual/" ile erişilebiliyorsa bunu docref_root=/manual/ şeklinde belirtebilirsiniz. Buna ek olarak, kopyanızın dosya uzantısını docref_ext yönergesinde belirtebilirsiniz (örnek: docref_ext=.html). Harici kaynaklara gönderimler de mümkündür. Örnekler: docref_root=http://manual/en/ veya docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F"

Bazı durumlarda docref_root değerinin sonuna bir bölü çizgisi "/" eklemeniz gerekebilir. Fakat yukarıdaki ikinci örnekteki gibi bir durumda buna asla gerek yoktur.

Bilginize:

Bu özellik, bir işlevin açıklamasına bakmayı kolaylaştırması nedeniyle daha ziyade geliştirme aşamasında kullanmanız için tasarlanmıştır. Hataları son kullanıcıya göstermek amacıyla kullanılmamalıdır.

docref_ext string

docref_root yönergesine bakınız.

Bilginize:

docref_ext değeri bir nokta "." ile başlamalıdır.

error_prepend_string string

Hata iletisinden önce çıktılanacak dizge. Sadece hata iletisi ekranda gösterilecekse kullanılır. Asıl amaç hata iletisinin önüne HTML kodu ekleyebilmeyi mümkün kılmaktır.

error_append_string string

Bir hata iletisinden sonra çıktılanacak dizge. Sadece hata iletisi ekranda gösterilecekse kullanılır. Asıl amaç hata iletisinin ardına HTML kodu ekleyebilmeyi mümkün kılmaktır.

error_log string

Hataların kaydedileceği dosyanın adı. Dosya, HTTP sunucunun kullanıcısı tarafından yazılabilir olmalıdır. Eğer syslog özel değeri kullanılmışsa hatalar bir dosya yerine sistemin hata günlüğüne gönderilir (Unix'te syslog(3), Windows NT'de olay günlüğü). Windows 95'te sistem günlükçüsü desteği yoktur. Ayrıca, syslog() işlevine de bakınız. Yönerge tanımsız bırakılmışsa hatalar SAPI hata günlükçüsüne gönderilir. Örneğin bu, Apache'nin hata günlüğü veya CLI için stderr olabilir.

error_log_mode int

error_log yönergesine atanan dosya için dosya kipi.

syslog.facility string

İletiyi ne tür bir uygulamanın günlüklediğini belirtir. Sadece "syslog" içinde error_log etkinse etkilidir.

syslog.filter string

Günlüklenen iletileri süzecek süzgeçleri belirler. İzin verilen karakterler değiştirilmeden yazılır. Diğerleri \x ile öncelenen onaltılık karşılıkları ile belirtilir.

  • all - Günlüklenen ileti satır sonu karakterinden bölünür ve tüm karakterler değiştirilmeden aktarılır.
  • no-ctrl - Günlüklenen ileti satır sonu karakterinden bölünür ve basılamayan 7 bitlik ASCII karakterler öncelenir.
  • ascii - Günlüklenen ileti satır sonu karakterinden bölünür ve basılamayan karakterler öncelenir.
  • raw - Tüm karakterler değiştirilmeden ve iletiler satır sonu karakterleri ile bölünmeden sistem günlükleyicisine aktarılır (PHP 7.3 öncesindeki gibi).
Bu ayarlar error_log ini yönergesine "syslog" atandıktan sonra yapılan syslog() çağrıları ile etkisini gösterir.

Bilginize:

raw süzgeç türü PHP 7.3.8 ve PHP 7.4.0 üstü sürümlerle kullanılabilir.

Bu yönerge Windows üzerinde desteklenmez.
syslog.ident string

Specifies the ident string which is prepended to every message. Only effective if error_log is set to "syslog".


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

Bilginize: Bu sabit isimleri php.ini dosyasında kullanılabilir, fakat httpd.conf gibi PHP dışı yerlerde isimleri değil değerleri bit maskesi olarak kullanılabilir.

Hatalar ve Günlük Kaydı
Değer | Sabit | Açıklama | Ek Bilgi
1 | E_ERROR (int) | Ölümcül çalışma anı hataları. Bellek ayırma sorunu gibi giderilemeyen hatalar bu sınıfa girer. Böyle hatalar betiğin çalışmasının durmasına sebep olur. |
2 | E_WARNING (int) | Çalışma anı uyarıları (ölümcül olmayan hatalar). Betiğin çalışması durmaz. |
4 | E_PARSE (int) | Derleme anı çözümleme hataları. Çözümleme hatalarını sadece çözümleyici üretir. |
8 | E_NOTICE (int) | Çalışma anı bildirimleri. Betikte bir hataya sebep olabilecek fakat betiğin normal çalışmasını esnasında oluşmayabilecek bir şeylerin saptandığını belirtir. |
16 | E_CORE_ERROR (int) | PHP'nin başlatılması sırasında oluşan ölümcül hatalar. PHP çekirdeği tarafından üretilmesi dışında E_ERROR gibidir. |
32 | E_CORE_WARNING (int) | PHP'nin başlatılması sırasında oluşan uyarılar (ölümcül olmayan hatalar). PHP çekirdeği tarafından üretilmesi dışında E_WARNING gibidir. |
64 | E_COMPILE_ERROR (int) | Ölümcül derleme anı hataları. Zend betik motoru tarafından üretilmesi dışında E_ERROR gibidir. |
128 | E_COMPILE_WARNING (int) | Derleme anı uyarıları (ölümcül olmayan hatalar). Zend betik motoru tarafından üretilmesi dışında E_WARNING gibidir. |
256 | E_USER_ERROR (int) | Kullanıcı üretimi hata iletileri. PHP işlevi trigger_error() tarafından PHP kodunda üretilmesi dışında E_ERROR gibidir. |
512 | E_USER_WARNING (int) | Kullanıcı üretimi uyarı iletileri. PHP işlevi trigger_error() tarafından PHP kodunda üretilmesi dışında E_WARNING gibidir. |
1024 | E_USER_NOTICE (int) | Kullanıcı üretimi bildirim iletileri. PHP işlevi trigger_error() tarafından PHP kodunda üretilmesi dışında E_NOTICE gibidir. |
2048 | E_STRICT (int) | Yazılan PHP kodunun ileriye dönük uyumluluğunu ve birlikte çalışabilirliğini en iyilemek amacıyla PHP tarafından yapılan önerileri etkin kılar. |
4096 | E_RECOVERABLE_ERROR (int) | Yakalanabilir ölümcül hata. Tehlikeli olma olasılığı bulunan bir hata oluştuğunu fakat yorumlayıcıyı kararsız durumda bırakmadığını belirtir. Hata, kullanıcı tarafından bir eylemci tanımlanarak yakalanmadığı (set_error_handler() işlevine bakınız) takdirde betik E_ERROR hatasıyla sonlanır. |
8192 | E_DEPRECATED (int) | Çalışma anı bildirimleri. Gelecek sürümlerle çalışmayacak kodlar hakkındaki uyarıları etkin kılar. |
16384 | E_USER_DEPRECATED (int) | Kullanıcı üretimi "kullanımı önerilmiyor" bildirimleri. PHP işlevi trigger_error() tarafından PHP kodunda üretilmesi dışında E_DEPRECATED gibidir. |
32767 | E_ALL (int) | Tüm hatalar, uyarılar ve bildirimler. |

Gerek sayısal gerekse simgesel olarak yukarıdaki değerler raporlanacak hataları belirten bir bit maskesi oluşturmakta kullanılabilir. Bu değerlerden bir bit maskesi oluşturmak veya bunları çözümlemek için bitsel işleçler kullanılabilir. php.ini içinde sadece '|', '~', '!', '^' ve '&' işleç karakterleri tanındığına dikkat edilmelidir.


Örnekler

Aşağıda, PHP hata işleme yeteneklerinin kullanımına ilişkin bir örneğe yer verilmiştir. Hataları işleme sokan işlevin iletilerinin (XML biçeminde) bir dosyaya yazılması; kodlama mantığıyla çelişen önemli hataların ise geliştiriciye eposta ile gönderilmesi sağlanmıştır.

Örnek 1 Bir betikte hataların yakalanıp işleme sokulması

<?php
// Kendi hata işleme sistemimizi oluşturacağız.
error_reporting(0);

// kullanıcı tanımlı hata eylemcisi
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars)
{
// Hata iletisi için zaman damgası
$dt = date("Y-m-d H:i:s (T)");

// Hata iletisi türlerini bir ilişkisel dizi olarak tanımlayalım.
// Aslında sadece E_WARNING, E_NOTICE, E_USER_ERROR,
// E_USER_WARNING ve E_USER_NOTICE kullanılacak.
$errortype = array (
E_ERROR => 'Hata',
E_WARNING => 'Uyarı',
E_PARSE => 'Çözümleme Hatası',
E_NOTICE => 'Bilginize',
E_CORE_ERROR => 'PHP Hatası',
E_CORE_WARNING => 'PHP Uyarısı',
E_COMPILE_ERROR => 'Derleme Hatası',
E_COMPILE_WARNING => 'Derleme Uyarısı',
E_USER_ERROR => 'Kullanıcı Hatası',
E_USER_WARNING => 'Kullanıcı Uyarısı',
E_USER_NOTICE => 'Kullanıcı Bildirimi',
E_STRICT => 'Çalışma Anı Bildirimi',
E_RECOVERABLE_ERROR => 'Yakalanabilir Ölümcül Hata'
);
// Hataların oluşumunu izlemek için hataları bir değişkene kaydedelim
$user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE);

$err = "<errorentry>\n";
$err .= "\t<datetime>" . $dt . "</datetime>\n";
$err .= "\t<errornum>" . $errno . "</errornum>\n";
$err .= "\t<errortype>" . $errortype[$errno] . "</errortype>\n";
$err .= "\t<errormsg>" . $errmsg . "</errormsg>\n";
$err .= "\t<scriptname>" . $filename . "</scriptname>\n";
$err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n";

if (in_array($errno, $user_errors)) {
$err .= "\t<vartrace>" . wddx_serialize_value($vars, "Variables") . "</vartrace>\n";
}
$err .= "</errorentry>\n\n";

// Denemek için:
// echo $err;

// Hatayı günlüğe kaydedelim ve önemliyse ayrıca bana postalayalım
error_log($err, 3, "/usr/local/php4/error.log");
if ($errno == E_USER_ERROR) {
mail("phpdev@example.com", "Critical User Error", $err);
}
}

function distance($vect1, $vect2)
{
if (!is_array($vect1) || !is_array($vect2)) {
trigger_error("Bağımsız değişkenler yanlış, dizi belirtilmesi bekleniyor",
E_USER_ERROR);
return NULL;
}

if (count($vect1) != count($vect2)) {
trigger_error("Vektörlerin aynı boyutta olması gerekir", E_USER_ERROR);
return NULL;
}

for ($i=0; $i<count($vect1); $i++) {
$c1 = $vect1[$i]; $c2 = $vect2[$i];
$d = 0.0;
if (!is_numeric($c1)) {
trigger_error(
"1. vektörün $i konumu bir sayı değil, 0 kullanılıyor",
E_USER_WARNING);
$c1 = 0.0;
}
if (!is_numeric($c2)) {
trigger_error(
"2. vektörün $i konumu bir sayı değil, 0 kullanılıyor",
E_USER_WARNING);
$c2 = 0.0;
}
$d += $c2*$c2 - $c1*$c1;
}
return sqrt($d);
}

$old_error_handler = set_error_handler("userErrorHandler");

// Tanımsız sabit, bir uyarı üretir
$t = TANIMSIZIM;

// bazı "vektörler" tanımlayalım
$a = array(2, 3, "foo");
$b = array(5.5, 4.3, -1.6);
$c = array(1, -3);

// bir kullanıcı hatası üretelim
$t1 = distance($c, $b) . "\n";

// başka bir bir kullanıcı hatası üretelim
$t2 = distance($b, "ben bir dizi değilim") . "\n";

// bir uyarı üretelim
$t3 = distance($a, $b) . "\n";

?>


Hata İşleme İşlevleri

Ayrıca Bakınız

Ayrıca bakınız: syslog().

İçindekiler

  • debug_backtrace — Hata izleme raporunu bir dizi olarak üretir
  • debug_print_backtrace — Bir hata izleme raporu basar
  • error_clear_last — Sonuncu hatayı temizler
  • error_get_last — Son oluşan hata hakkında bilgi verir
  • error_log — Tanımlı hata işleme yordamlarına bir hata iletisi gönderir
  • error_reporting — Hangi PHP hatalarının raporlanacağını tanımlar
  • restore_error_handler — Bir önceki hata eylemcisini devreye sokar
  • restore_exception_handler — Bir önceki istisna eylemcisini devreye sokar
  • set_error_handler — Kullanıcı tanımlı bir hata işleyici bildirir
  • set_exception_handler — Kullanıcı tanımlı bir istisna işleyici bildirir
  • trigger_error — Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
  • user_error — trigger_error işlevinin takma adıdır


Hata izleme raporunu bir dizi olarak üretir

  • « Hata İşleme İşlevleri
  • debug_print_backtrace »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Hata izleme raporunu bir dizi olarak üretir

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

debug_backtrace — Hata izleme raporunu bir dizi olarak üretir

Açıklama

debug_backtrace(int $seçenekler = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $sınır = 0): array

Hata izleme raporunu (backtrace) bir dizi olarak üretir.

Bağımsız Değişkenler

seçenekler

Aşağıdaki seçeneklerin bit maskesidir:

debug_backtrace() seçenekleri
DEBUG_BACKTRACE_PROVIDE_OBJECT | "object" indisinin doldurulup doldurulmayacağı.
DEBUG_BACKTRACE_IGNORE_ARGS | Bellek kazanmak için "args" indisinin ve dolayısıyla tüm işlev/yöntem bağımsız değişkenlerinin atlanıp atlanmayacağı.

Bilginize:

Olası dört durum vardır:

debug_backtrace() seçenekleri
debug_backtrace() | Her iki indis doldurulur.
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS & DEBUG_BACKTRACE_PROVIDE_OBJECT) | "object" indisi atlanır.
debug_backtrace(0)
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) | "object" ve "args" indisi atlanır.
debug_backtrace(2)

sınır

Bu bağımsız değişken döndürülecek yığıt çerçevelerinin sayısını sınırlamak için kullanılmaktadır. Öntanımlı değer, tüm yığıt çerçevelerinin dönmesini sağlayan 0 değeridir.

Dönen Değerler

Bir ilişkisel diziler dizisi döner. Dönmesi olası değerler:

debug_backtrace() işlevinden dönmesi olası elemanlar
İsim | Tür | Açıklama
function | string | O anki işlev ismi. Ayrıca bakınız: __FUNCTION__.
line | int | O anki satır numarası. Ayrıca bakınız: __LINE__.
file | string | O anki dosya ismi. Ayrıca bakınız: __FILE__.
class | string | O anki sınıf ismi. Ayrıca bakınız: __CLASS__
object | object | O anki nesne.
type | string | O anki çağrı türü. Bir yöntem çağrısı ise "->", bir statik yöntem çağrısı ise "::" içerir. Bir işlev çağrısı ise hiçbir şey içermez.
args | array | Bir işlevde, işlevin bağımsız değişkenlerini; bir dosyada, dahil edilen dosyalar varsa dahil edilen dosya isimlerini içerir.

Örnekler

Örnek 1 - debug_backtrace() örneği

<?php
// /tmp/a.php dosyası

function a_test($str)
{
echo "\nHi: $str";
var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// /tmp/b.php dosyası
include_once '/tmp/a.php';
?>

/tmp/b.php çalıştırılırken sonuçlar şuna benzer:

Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}

Ayrıca Bakınız

  • trigger_error() - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
  • debug_print_backtrace() - Bir hata izleme raporu basar


Bir hata izleme raporu basar

  • « debug_backtrace
  • error_clear_last »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Bir hata izleme raporu basar

debug_print_backtrace

(PHP 5, PHP 7, PHP 8)

debug_print_backtrace — Bir hata izleme raporu basar

Açıklama

debug_print_backtrace(int $seçenekler = 0, int $sınır = 0): void

debug_print_backtrace() bir PHP hata izleme raporu (backtrace) basar. İşlev çağrılarını, include/require ile dahil edilen dosyaları ve eval() kodlarını basar.

Bağımsız Değişkenler

seçenekler

Aşağıdaki seçeneklerin bit maskesidir:

debug_print_backtrace() seçenekleri
DEBUG_BACKTRACE_IGNORE_ARGS Bellek kazanmak için "args" indisinin ve dolayısıyla tüm işlev/yöntem bağımsız değişkenlerinin atlanıp atlanmayacağı.

sınır

Bu bağımsız değişken döndürülecek yığıt çerçevelerinin sayısını sınırlamak için kullanılmaktadır. Öntanımlı değer, tüm yığıt çerçevelerinin dönmesini sağlayan 0 değeridir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - debug_print_backtrace() örneği

<?php
// include.php dosyası

function a() {
b();
}

function b() {
c();
}

function c(){
debug_print_backtrace();
}

a();

?>
<?php
// test.php dosyası
// Bu dosya çalıştırılacak.

include 'include.php';
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

#0  c() called at [/tmp/include.php:10]
#1  b() called at [/tmp/include.php:6]
#2  a() called at [/tmp/include.php:17]
#3  include(/tmp/include.php) called at [/tmp/test.php:3]

Ayrıca Bakınız

  • debug_backtrace() - Hata izleme raporunu bir dizi olarak üretir


Sonuncu hatayı temizler

  • « debug_print_backtrace
  • error_get_last »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Sonuncu hatayı temizler

error_clear_last

(PHP 7, PHP 8)

error_clear_last — Sonuncu hatayı temizler

Açıklama

error_clear_last(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

En son oluşan hatayı siler ve hata artık error_get_last() işleviyle döndürülemez.

Örnekler

Örnek 1 - error_clear_last() örneği

<?php
var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());
@$a = $b;
var_dump(error_get_last());
error_clear_last();
var_dump(error_get_last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

NULL
NULL
array(4) {
  ["type"]=>
  int(8)
  ["message"]=>
  string(21) "Undefined variable: b"
  ["file"]=>
  string(9) "%s"
  ["line"]=>
  int(6)
}
NULL

Ayrıca Bakınız

  • Error constants


Son oluşan hata hakkında bilgi verir

  • « error_clear_last
  • error_log »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Son oluşan hata hakkında bilgi verir

error_get_last

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

error_get_last — Son oluşan hata hakkında bilgi verir

Açıklama

error_get_last(): ?array

Son oluşan hata hakkında bilgi verir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son oluşan hata hakkındaki bilgileri "type", "message", "file" ve "line" anahtarlı bir ilişkisel dizi olarak döndürür. Hatanın sebebi PHP'nin dahili işlevlerinden biriyse "message" işlevin ismi ile başlar. Henüz bir hata oluşmamışsa null döner.

Örnekler

Örnek 1 - error_get_last() örneği

<?php
echo $a;
print_r(error_get_last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [type] => 8
    [message] => Undefined variable: a
    [file] => C:\WWW\index.php
    [line] => 2
)

Ayrıca Bakınız

  • Hata sabitleri
  • $php_errormsg değişkeni
  • error_clear_last() - Sonuncu hatayı temizler
  • display_errors yönergesi
  • html_errors yönergesi
  • xmlrpc_errors yönergesi


Tanımlı hata işleme yordamlarına bir hata iletisi gönderir

  • « error_get_last
  • error_reporting »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Tanımlı hata işleme yordamlarına bir hata iletisi gönderir

error_log

(PHP 4, PHP 5, PHP 7, PHP 8)

error_log — Tanımlı hata işleme yordamlarına bir hata iletisi gönderir

Açıklama

error_log(
string $ileti,
int $günlük_türü = 0,
?string $hedef = null,
?string $ek_başlıklar = null
): bool

Bir hata iletisini, HTTP sunucusunun hata günlüğüne veya bir dosyaya gönderir.

Bağımsız Değişkenler

ileti

Günlüğe kaydedilecek hata iletisi.

günlük_türü

Hata iletilerinin nereye gönderileceğini belirler. Olası günlük türleri şunlardır:

error_log() günlük türleri
0 | error_log yönergesinin değerine bağlı olarak, ileti ya işletim sisteminin sistem günlük kayıtları mekanizması kullanılarak PHP'nin sistem günlüğüne ya da bir dosyaya gönderilir.
1 | ileti, hedef bağımsız değişkeninde belirtilen eposta adresine gönderilir. Dördüncü, ek_başlıklar bağımsız değişkeninin kullanıldığı tek günlük türü budur.
2 | Artık bir seçenek değildir.
3 | ileti, hedef dosyasına eklenir. ileti dizgesinin sonuna satırsonu karakteri otomatik olarak eklenir.
4 | ileti doğrudan SAPI günlükleme mekanizmasına gönderilir.

hedef

Bu bağımsız değişkenin değeri yukarıda açıklanan günlük_türü bağımsız değişkenine bağlıdır.

ek_başlıklar

günlük_türü bağımsız değişkeninde 1 belirtildiğinde kullanılır. Bu günlük türü mail() işlevinin kullandığı iç işlevi kullanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. günlük_türü sıfırsa, hatanın günlüğe yazılıp yazılmadığına bakmaksızın, işlev daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve ek_başlıklar artık null olabiliyor.

Örnekler

Örnek 1 - error_log() örnekleri

<?php
// Veritabanına bağlanamazsak sunucunun hata günlüğüne bir bildirim gönderir.
if (!Ora_Logon($username, $password)) {
error_log("Oracle database not available!", 0);
}

// FOO'nun dışına çıkmışsak yöneticiye bir eposta ile durumu bildirelim
if (!($foo = allocate_new_foo())) {
error_log("Büyük bir sorun var, FOO'nun dışına çıktık!", 1,
"operator@example.com");
}

// error_log() işlevini çağırmanın başka bir yolu:
error_log("Herşeyi yüzüne gözüne bulaştırdın!", 3,
"/var/tmp/herkes_hata_yapar.log");
?>

Notlar

Uyarı

error_log() ikil olarak güvenli değildir. ileti boş karakterle kırpılacaktır.

İpucu

ileti boş karakter içermemelidir. ileti'nin dosya, posta, syslog ve benzerlerine gönderilebileciğini unutmayın. error_log() işlevini çağırmadan önce uygun bir dönüşüm/önceleme işlevini, rawurlencode() veya addslashes() işlevini kullanın.


Hangi PHP hatalarının raporlanacağını tanımlar

  • « error_log
  • restore_error_handler »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Hangi PHP hatalarının raporlanacağını tanımlar

error_reporting

(PHP 4, PHP 5, PHP 7, PHP 8)

error_reporting — Hangi PHP hatalarının raporlanacağını tanımlar

Açıklama

error_reporting(?int $hata_seviyesi = null): int

error_reporting() işlevi error_reporting yönergesinin değerini çalışma anında tanımlar. PHP bir çok hata seviyesine sahiptir. Bu işlevi kullanarak betiğinizin çalışması esnasında hangi seviyelerin raporlanacağını belirleyebilirsiniz. Seçimlik hata_seviyesi bağımsız değişkeni atlanmışsa işlev daima geçerli hata raporlama seviyesini döndürür.

Bağımsız Değişkenler

hata_seviyesi

Yeni hata raporlama seviyesi. Bir bit maskesi veya isimli sabitler belirtilebilir. Gelecek sürümlerle uyumluluk bakımından bir bit maskesi değil, isimli sabitlerin kullanılması hararetle tavsiye edilir. Yeni hata seviyeleri eklendikçe tamsayı aralığı genişler. Dolayısıyla tamsayı olarak belirtilmiş hata seviyeleri her zaman beklendiği gibi davranmayabilir.

Kullanılabilecek hata seviyesi sabitleri ve anlamları Öntanımlı Sabitler sayfasında açıklanmıştır.

Dönen Değerler

hata_seviyesi bağımsız değişkenine dönüşmeden önce, error_reporting hata raporlama seviyesi döner.

Bilginize: Hata denetimi için @-işleci hatanın işlenmesi sırasında hata_seviyesini değiştirir.

Örnekler

Örnek 1 - error_reporting() örnekleri

<?php

// Hata raporlamayı tamamen kapatalım
error_reporting(0);

// Basit hataları raporlayalım
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// E_NOTICE de raporlansa iyi olur (ilklendirilmemiş değişkenleri
// veya yanlış yazılmış değişken isimlerini yakalamak için, vb)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// E_NOTICE hariç bütün hatalar raporlansın
// Bu php.ini içindeki öntanımlı değerdir
error_reporting(E_ALL & ~E_NOTICE);

// Tüm PHP hatalarını raporlayalım
error_reporting(E_ALL);

// Tüm PHP hatalarını raporlayalım
error_reporting(-1);

// error_reporting(E_ALL) ile aynı;
ini_set('error_reporting', E_ALL);

?>

Notlar

İpucu

-1 değeri belirtildiği takdirde olası tüm hatalar hatta PHP'nin gelecek sürümlerinde eklenen seviyeler bile raporlanır. Davranış, E_ALL sabitinin aktarımına eşdeğerdir.

Ayrıca Bakınız

  • display_errors yönergesi
  • html_errors yönergesi
  • xmlrpc_errors yönergesi
  • hata denetim işleci
  • ini_set() - Bir yapılandırma yönergesine değer atar


Bir önceki hata eylemcisini devreye sokar

  • « error_reporting
  • restore_exception_handler »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Bir önceki hata eylemcisini devreye sokar

restore_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

restore_error_handler — Bir önceki hata eylemcisini devreye sokar

Açıklama

restore_error_handler(): true

set_error_handler() ile hata eylemcisini değiştirdikten sonra önceki hata eylemcisini (yerleşik veya kullanıcı tanımlı bir işlev) devreye sokmak için kullanılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - restore_error_handler() örneği

unserialize() bir hataya sebep olsun, böylece özgün hata eylemcisini devreye sokalım.

<?php
function unserialize_handler($errno, $errstr)
{
echo "Dizgeleştirilmiş değer geçersiz.\n";
}

$serialized = 'foo';
set_error_handler('unserialize_handler');
$original = unserialize($serialized);
restore_error_handler();
?>

Yukarıdaki örneğin çıktısı:

Dizgeleştirilmiş değer geçersiz.

Ayrıca Bakınız

  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar
  • set_error_handler() - Kullanıcı tanımlı bir hata işleyici bildirir
  • restore_exception_handler() - Bir önceki istisna eylemcisini devreye sokar
  • trigger_error() - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir


Bir önceki istisna eylemcisini devreye sokar

  • « restore_error_handler
  • set_error_handler »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Bir önceki istisna eylemcisini devreye sokar

restore_exception_handler

(PHP 5, PHP 7, PHP 8)

restore_exception_handler — Bir önceki istisna eylemcisini devreye sokar

Açıklama

restore_exception_handler(): true

set_exception_handler() ile istisna eylemcisini değiştirdikten sonra önceki istisna eylemcisini (yerleşik veya kullanıcı tanımlı bir işlev) devreye sokmak için kullanılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - restore_exception_handler() örneği

<?php
function istisna_eylemci_1(Exception $e)
{
echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
}

function istisna_eylemci_2(Exception $e)
{
echo '[' . __FUNCTION__ . '] ' . $e->getMessage();
}

set_exception_handler('istisna_eylemci_1');
set_exception_handler('istisna_eylemci_2');

restore_exception_handler();

throw new Exception('İlk istisna eylemcisi tetiklenir...');
?>

Yukarıdaki örneğin çıktısı:

[istisna_eylemci_1] İlk istisna eylemcisi tetiklenir...

Ayrıca Bakınız

  • set_exception_handler() - Kullanıcı tanımlı bir istisna işleyici bildirir
  • set_error_handler() - Kullanıcı tanımlı bir hata işleyici bildirir
  • restore_error_handler() - Bir önceki hata eylemcisini devreye sokar
  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar


Kullanıcı tanımlı bir hata işleyici bildirir

  • « restore_exception_handler
  • set_exception_handler »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Kullanıcı tanımlı bir hata işleyici bildirir

set_error_handler

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

set_error_handler — Kullanıcı tanımlı bir hata işleyici bildirir

Açıklama

set_error_handler(?callable $hata_işleyici, int $hata_seviyeleri = E_ALL): ?callable

Betikteki hatalarda devreye girmek üzere kullanıcı tanımlı bir işlev (hata_işleyici) bildirir.

Bu işlev çalışma anında özel bir hata işleyici oluşturmakta kullanılabilir. Örneğin, veriler veya dosyalar temizlenirken işlemlerin durmasına yol açacak bir hata oluştuğunda veya belli durumlar için (trigger_error() ile) bir hatayı tetiklemek gerektiğinde PHP tarafından çağrılacak bir işlev tanımlayıp, bu işlevin ismi set_error_handler() ile PHP'ye bildirilebilir.

Bu işlevin çağrılmasıyla PHP'nin standart hata işleyicisi hata_seviyeleri ile belirtilen hata türleri için, geri çağırım işlevi false döndürmedikçe tamamen devre dışı kalacaktır. error_reporting() ayarları etkisiz olacak ve her durumda belirtilen hata işleyisi çağrılacaktır. Ancak, error_reporting yönergesindeki değer hala okubabilir ve buna göre davranılabilir.

Ayrıca, gerektiği takdirde exit() işlevini çağırarak betiğin çalışmasını durdurmak da işleyicinin sorumluluğundadır. hata_işleyici işlevi döndükten sonra betiğin çalışması, hataya sebep olan deyimden sonraki deyimden devam edecektir.

Kullanıcı tanımlı bir işlev ile üzerinde herhangi bir işlem yapılamayacak hatalar vardır, bunlar: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, üretidiği yerden bağımsız E_COMPILE_WARNING ve set_error_handler() işlevinin çağrıldığı dosyada oluşan E_STRICT hatalarının çoğu.

Eğer betik çalıştırılmadan önce oluşan hatalar varsa (karşıya dosya yükleme sırasında oluşan hatalar gibi), bu gibi durumlar için bildirilen hata_işleyici işlevi çağrılamayacaktır.

Bağımsız Değişkenler

hata_işleyici

İşleve null aktarılırsa işleyici öntanımlı durumuna sıfırlanır. Aksi takdirde, aşağıdaki geri çağırım işlevi tanımıyla bir işleyici aktarılmalıdır:

hata_işleyici(
int $errno,
string $errstr,
string $errfile = ?,
int $errline = ?,
array $errcontext = ?
): bool
errno
Oluşan hatanın seviyesinin bir tamsayı olarak aktarılacağı bağımsız değişken. İlk bağımsız değişken olmalıdır.
errstr
Hata iletisinin bir dizge olarak aktarılacağı bağımsız değişken. İkinci bağımsız değişken olmalıdır.
errfile
hata_işleyici 3 bağımsız değişken kabul ediyorsa, hatanın oluştuğu betik dosyasının ismini bir dizge olarak içerecek, belirtilmesi isteğe bağlı üçüncü bağımsız değişken.
errline
hata_işleyici 4 bağımsız değişken kabul ediyorsa, hatanın oluştuğu deyimin satır numarasını bir tamsayı olarak içerecek, belirtilmesi isteğe bağlı dördüncü bağımsız değişken.
errcontext
hata_işleyici 5 bağımsız değişken kabul ediyorsa, hatanın oluştuğu noktada etkin simge tablosuna işaret eden bir diziyi kabul edecek, belirtilmesi isteğe bağlı beşinci bağımsız değişken. Bu bağımsız değişken, başka bir deyişle, hatanın tetiklendiği etki alanında etkin değişkenleri içeren bir dizidir. hata_işleyici bu değişkenlerde bir değişiklik yapmamalıdır.
Uyarı

Bu bağımsız değişken PHP 7.2.0 ve sonrasında kullanımdan kaldırılmıştır. PHP 8.0.0'da tamanen kaldırılmıştır. Eğer işlev bu bağımsız değişkeni bir öntanımlı değer olmaksızın tanımlıyorsa, işlev çağrıldığı takdirde, "too few arguments" (çok az bağımsız değişken) hatası oluşur.

İşlev false döndürdüğü takdirde normal hata işleyici kaldığı yerden devam eder.

hata_seviyeleri

hata_işleyici işlevini tetikleyecek hatalar sabitleriyle, error_reporting yönergesine gösterilecek hataların değerleri belirtilirken yapıldığı gibi bir bit maskesi olarak belirtilebilir. Bu maskenin belirtilmediği durumda, error_reporting yönergesinde belirtilen değere bakılmaksızın her hatada hata_işleyici işlevi çağrılacaktır.

Dönen Değerler

(Varsa) Evvelce tanımlanmış hata işleyicinin ismini dizge olarak döndürür. Eğer yerleşik bir hata işleyici kullanılmışsa null döner. Eğer evvelki hata işleyici bir sınıfın yöntemi ise bu sınıfın ve yöntemin isimlerini içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | errcontext kaldırıldı ve artık kullanıcının geri çağırım işlevine aktarılmayacak.
7.2.0 | errcontext kullanımdan kaldırıldı. Bu bağımsız değişkenin kullanımı bir E_DEPRECATED üretilmesine sebep olur.

Örnekler

Örnek 1 - set_error_handler() ve trigger_error() ile hataların ele alınması

Bu örnekte hatalar tetiklenerek oluşan dahili istisnaların kullanıcı tanımlı bir işlev ile ele alınması gösterilmiştir.

<?php
// hata işleyici işlevi
function hataİşleyicim($hatanum, $ileti, $betik, $satırnum)
{
if (!(error_reporting() & $hatanum)) {
// Bu hata kodu error_reporting'e dahil olmaz, bu yüzden
// standart PHP hata işleyicisine düşmesine izin verin
return false;
}

// $ileti önceleme gerektirebilir
$ileti = htmlspecialchars($ileti);

switch ($hatanum) {
case E_USER_ERROR:
echo "<b>HATA</b> [$hatanum] $ileti<br />\n";
echo " $betik dosyasının $satırnum. satırında ölümcül hata";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Çıkılıyor...<br />\n";
exit(1);

case E_USER_WARNING:
echo "<b>UYARI</b> [$hatanum] $ileti<br />\n";
break;

case E_USER_NOTICE:
echo "<b>BİLGİ</b> [$hatanum] $ileti<br />\n";
break;

default:
echo "Bilinmeyen hata türü: [$hatanum] $ileti<br />\n";
break;
}

/* PHP'nin yerleşik hata işleyici çalışmasın */
return true;
}

// Hatanın oluşacağı işlev
function scale_by_log($vect, $scale)
{
if (!is_numeric($scale) || $scale <= 0) {
trigger_error("x <= 0 için log(x) tanımsız, scale = $scale verilmiş",
E_USER_ERROR);
}

if (!is_array($vect)) {
trigger_error("Yanlış girdi, değerler dizi olarak verilmeliydi",
E_USER_WARNING);
return null;
}

$temp = array();
foreach($vect as $pos => $value) {
if (!is_numeric($value)) {
trigger_error("$pos. değer bir sayı değil, 0 kullanılıyor",
E_USER_NOTICE);
$value = 0;
}
$temp[$pos] = log($scale) * $value;
}

return $temp;
}

// kullanıcı tanımlı hata işleyiciyi bildir
$old_error_handler = set_error_handler("hataİşleyicim");

// Bazı hataları tetikle.
// Önce sayısal olmayan bir eleman içeren bir dizi tanımla.
echo "ilk durum; bir hata: sayı yerine dizge\n";
$a = array(2, 3, "foo", 5.5, 43.3, 21.11);
print_r($a);

// burada ikinci hatayı üret
echo "----\nikinci durum - bir uyarı (b = log(PI) * a)\n";
/* $pos. değer bir sayı değil, 0 kullanılıyor */
$b = scale_by_log($a, M_PI);
print_r($b);

// Bir dizi yerine bir dizge aktarıp yine sorun çıkar
echo "----\nüçüncü durum - bir uyarı\n";
/* Yanlış girdi, değerler dizi olarak verilmeliydi */
$c = scale_by_log("not array", 2.3);
var_dump($c); // NULL

// Bu önemli bir hata; sıfır veya negatif bir sayının logaritması.
echo "----\ndördüncü durum - ölümcül hata\n";
/* x <= 0 için log(x) tanımsız, scale = $scale olmalıydı */
$d = scale_by_log($a, -2.5);
var_dump($d); // Bu satır hiç çalışmayacak.
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

ilk durum; bir hata: sayı yerine dizge
Array
(
    [0] => 2
    [1] => 3
    [2] => foo
    [3] => 5.5
    [4] => 43.3
    [5] => 21.11
)
----
ikinci durum - bir uyarı (b = log(PI) * a)
<b>BİLGİ</b> [1024] 2. değer bir sayı değil, 0 kullanılıyor<br />
Array
(
    [0] => 2.2894597716988
    [1] => 3.4341896575482
    [2] => 0
    [3] => 6.2960143721717
    [4] => 49.566804057279
    [5] => 24.165247890281
)
----
üçüncü durum - bir uyarı
<b>UYARI</b> [512] Yanlış girdi, değerler dizi olarak verilmeliydi<br />
NULL
----
dördüncü durum - ölümcül hata
<b>HATA</b> [256] x <= 0 için log(x) tanımsız, scale = -2.5 verilmiş<br />
  php-dnm dosyasının 36. satırında  ölümcül hata, PHP 5.3.0beta2-dev
  (Linux)<br />
Çıkılıyor...<br />

Ayrıca Bakınız

  • ErrorException
  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar
  • restore_error_handler() - Bir önceki hata eylemcisini devreye sokar
  • trigger_error() - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
  • Hata seviyesi sabitleri


Kullanıcı tanımlı bir istisna işleyici bildirir

  • « set_error_handler
  • trigger_error »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Kullanıcı tanımlı bir istisna işleyici bildirir

set_exception_handler

(PHP 5, PHP 7, PHP 8)

set_exception_handler — Kullanıcı tanımlı bir istisna işleyici bildirir

Açıklama

set_exception_handler(?callable $istisna_işleyici): ?callable

İstisna bir try/catch bloğu içinde yakalanamadığı durumlarda kullanılmak üzere bir istisna işleyici bildirir. istisna_işleyici işlevinin çağrılmasıyla istisna durdurulmuş olur.

Bağımsız Değişkenler

istisna_işleyici

Yakalanmamış bir istisna olduğunda çağrılacak işlev. Yavrulanacak Throwable nesnesi için bir bağımsız değişken kabul etmesi gerekir. Error ve Exception sınıflarının ikisi de Throwable arayüzünü gerçekler. Kullanılacak işleyicinin tanımı:

işleyici(Throwable $istisna): void

Bu işleyiciyi öntanımlı duruma sıfırlamak yerine null aktarılabilir.

Dönen Değerler

Hata durumunda null aksi takdirde evvelce tanımlanmış istisna işleyicinin ismini döndürür. Evvelce tanımlanmış bir işleyici olmaması durumunda da null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.0 | istisna_işleyici'ne aktarılan bağımsız değişkenin türü artık Exception değil, Throwable.

Örnekler

Örnek 1 - set_exception_handler() örneği

<?php
function istisna_işleyici(Throwable $istisna) {
echo "Yakalanmamış istisna: " , $istisna->getMessage(), "\n";
}

set_exception_handler('istisna_işleyici');

throw new Exception('Yakalanmamış İstisna');
echo "Çalışmadı\n";
?>

Ayrıca Bakınız

  • restore_exception_handler() - Bir önceki istisna eylemcisini devreye sokar
  • restore_error_handler() - Bir önceki hata eylemcisini devreye sokar
  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar
  • İstisnalar


Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir

  • « set_exception_handler
  • user_error »
  • PHP Manual
  • Hata İşleme İşlevleri
  • Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir

trigger_error

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

trigger_error — Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir

Açıklama

trigger_error(string $ileti, int $hata_seviyesi = E_USER_NOTICE): bool

Bir kullanıcı hatası durumunu tetiklemek için kullanır. Yerleşik bir hata eylemcisi ile birlikte kullanılabileceği gibi (set_error_handler() ile) yeni bir hata eylemcisi olarak bildirilmiş bir kullanıcı tanımlı işlev ile birlikte de kullanılabilir.

Bu işlev çalışma anında, bir olağandışılık durumunda, belli bir yanıt üretmek gerektiğinde çok kullanışlıdır.

Bağımsız Değişkenler

ileti

Tetiklenen hata için tasarlanmış hata iletisi. En fazla 1024 bayt uzunluğunda olabilir. 1024 bayttan sonraki karakterler kırpılır.

hata_seviyesi

Tetiklenen hata için tasarlanmış hata türü. Sadece E_USER_ ailesinden sabitler belirtilebilir. E_USER_NOTICE öntanımlıdır.

Dönen Değerler

hata_seviyesi yanlış belirtilmişse false aksi takdirde true döner.

Örnekler

Örnek 1 - trigger_error() örneği

Daha kapsamlı bir örnek için set_error_handler() işlevine bakınız.

<?php
if ($divisor == 0) {
trigger_error("Sıfır bir bölen olamaz", E_USER_ERROR);
}
?>

Notlar

Uyarı

ileti içindeki HTML öğeleri öncelenmez. Hata tarayıcıda gösterilecekse htmlentities() kullanın.

Ayrıca Bakınız

  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar
  • set_error_handler() - Kullanıcı tanımlı bir hata işleyici bildirir
  • restore_error_handler() - Bir önceki hata eylemcisini devreye sokar
  • Hata seviyesi sabitleri


trigger_error işlevinin takma adıdır

  • « trigger_error
  • FFI »
  • PHP Manual
  • Hata İşleme İşlevleri
  • trigger_error işlevinin takma adıdır

user_error

(PHP 4, PHP 5, PHP 7, PHP 8)

user_error — trigger_error() işlevinin takma adıdır

Açıklama

Bu işlev, trigger_error() işlevinin takma adıdır.


Foreign Function Interface

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic FFI usage
    • PHP Callbacks
    • A Complete PHP/FFI/preloading Example
  • FFI — Main interface to C code and data
    • FFI::addr — Creates an unmanaged pointer to C data
    • FFI::alignof — Gets the alignment
    • FFI::arrayType — Dynamically constructs a new C array type
    • FFI::cast — Performs a C type cast
    • FFI::cdef — Creates a new FFI object
    • FFI::free — Releases an unmanaged data structure
    • FFI::isNull — Checks whether a FFI\CData is a null pointer
    • FFI::load — Loads C declarations from a C header file
    • FFI::memcmp — Compares memory areas
    • FFI::memcpy — Copies one memory area to another
    • FFI::memset — Fills a memory area
    • FFI::new — Creates a C data structure
    • FFI::scope — Instantiates an FFI object with C declarations parsed during preloading
    • FFI::sizeof — Gets the size of C data or types
    • FFI::string — Creates a PHP string from a memory area
    • FFI::type — Creates an FFI\CType object from a C declaration
    • FFI::typeof — Gets the FFI\CType of FFI\CData
  • FFI\CData — C Data Handles
  • FFI\CType — C Type Handles
    • FFI\CType::getAlignment — Description
    • FFI\CType::getArrayElementType — Description
    • FFI\CType::getArrayLength — Description
    • FFI\CType::getAttributes — Description
    • FFI\CType::getEnumKind — Description
    • FFI\CType::getFuncABI — Description
    • FFI\CType::getFuncParameterCount — Description
    • FFI\CType::getFuncParameterType — Description
    • FFI\CType::getFuncReturnType — Description
    • FFI\CType::getKind — Description
    • FFI\CType::getName — Description
    • FFI\CType::getPointerType — Description
    • FFI\CType::getSize — Description
    • FFI\CType::getStructFieldNames — Description
    • FFI\CType::getStructFieldOffset — Description
    • FFI\CType::getStructFieldType — Description
  • FFI\Exception — FFI Exceptions
  • FFI\ParserException — FFI Parser Exceptions


Giriş

This extension allows the loading of shared libraries (.DLL or .so), calling of C functions and accessing of C data structures in pure PHP, without having to have deep knowledge of the Zend extension API, and without having to learn a third "intermediate" language. The public API is implemented as a single class FFI with several static methods (some of them may be called dynamically), and overloaded object methods, which perform the actual interaction with C data.

Dikkat

FFI is dangerous, since it allows to interface with the system on a very low level. The FFI extension should only be used by developers having a working knowledge of C and the used C APIs. To minimize the risk, the FFI API usage may be restricted with the ffi.enable php.ini directive.

Bilginize:

The FFI extension does not render the classic PHP extension API obsolete; it is merely provided for ad-hoc interfacing with C functions and data structures.

İpucu

Currently, accessing FFI data structures is significantly (about 2 times) slower than accessing native PHP arrays and objects. Therefore, it makes no sense to use the FFI extension for speed; however, it may make sense to use it to reduce memory consumption.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires the » libffi library to be installed.


Kurulum

To enable the FFI extension, PHP has to be configured with --with-ffi.

Windows users have to include php_ffi.dll into php.ini to enable the FFI extension.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

FFI Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
ffi.enable | "preload" | PHP_INI_SYSTEM |
ffi.preload | "" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

ffi.enable string

Allows enabling ("true") or disabling ("false") FFI API usage, or restricting it only to the CLI SAPI and preloaded files ("preload").

The FFI API restrictions only affect the FFI class, but not overloaded functions of FFI\CData objects. This means that it is possible to create some FFI\CData objects in preloaded files, and then to use these directly in PHP scripts.

ffi.preload string

Allows preloading of FFI bindings during startup, which is not possible with FFI::load() if opcache.preload_user is set. This directive accepts a DIRECTORY_SEPARATOR delimited list of filenames. The preloaded bindings can be accessed by calling FFI::scope().


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • FFI
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

İçindekiler

  • Basic FFI usage
  • PHP Callbacks
  • A Complete PHP/FFI/preloading Example


Basic FFI usage

Before diving into the details of the FFI API, lets take a look at a few examples demonstrating the simplicity of the FFI API usage for regular tasks.

Bilginize:

Some of these examples require libc.so.6 and as such will not work on systems where it is not available.

Örnek 1 Calling a function from shared library

<?php
// create FFI object, loading libc and exporting function printf()
$ffi = FFI::cdef(
"int printf(const char *format, ...);", // this is a regular C declaration
"libc.so.6");
// call C's printf()
$ffi->printf("Hello %s!\n", "world");
?>

Yukarıdaki örneğin çıktısı:

Hello world!

Bilginize:

Note that some C functions need specific calling conventions, e.g. __fastcall, __stdcall or ,__vectorcall.

Örnek 2 Calling a function, returning a structure through an argument

<?php
// create gettimeofday() binding
$ffi = FFI::cdef("
typedef unsigned int time_t;
typedef unsigned int suseconds_t;

struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};

struct timezone {
int tz_minuteswest;
int tz_dsttime;
};

int gettimeofday(struct timeval *tv, struct timezone *tz);
", "libc.so.6");
// create C data structures
$tv = $ffi->new("struct timeval");
$tz = $ffi->new("struct timezone");
// call C's gettimeofday()
var_dump($ffi->gettimeofday(FFI::addr($tv), FFI::addr($tz)));
// access field of C data structure
var_dump($tv->tv_sec);
// print the whole C data structure
var_dump($tz);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
int(1555946835)
object(FFI\CData:struct timezone)#3 (2) {
  ["tz_minuteswest"]=>
  int(0)
  ["tz_dsttime"]=>
  int(0)
}

Örnek 3 Accessing existing C variables

<?php
// create FFI object, loading libc and exporting errno variable
$ffi = FFI::cdef(
"int errno;", // this is a regular C declaration
"libc.so.6");
// print C's errno
var_dump($ffi->errno);
?>

Yukarıdaki örneğin çıktısı:

int(0)

Örnek 4 Creating and Modifying C variables

<?php
// create a new C int variable
$x = FFI::new("int");
var_dump($x->cdata);

// simple assignment
$x->cdata = 5;
var_dump($x->cdata);

// compound assignment
$x->cdata += 2;
var_dump($x->cdata);
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(5)
int(7)

Örnek 5 Working with C arrays

<?php
// create C data structure
$a = FFI::new("long[1024]");
// work with it like with a regular PHP array
for ($i = 0; $i < count($a); $i++) {
$a[$i] = $i;
}
var_dump($a[25]);
$sum = 0;
foreach ($a as $n) {
$sum += $n;
}
var_dump($sum);
var_dump(count($a));
var_dump(FFI::sizeof($a));
?>

Yukarıdaki örneğin çıktısı:

int(25)
int(523776)
int(1024)
int(8192)

Örnek 6 Working with C enums

<?php
$a = FFI::cdef('typedef enum _zend_ffi_symbol_kind {
ZEND_FFI_SYM_TYPE,
ZEND_FFI_SYM_CONST = 2,
ZEND_FFI_SYM_VAR,
ZEND_FFI_SYM_FUNC
} zend_ffi_symbol_kind;
');
var_dump($a->ZEND_FFI_SYM_TYPE);
var_dump($a->ZEND_FFI_SYM_CONST);
var_dump($a->ZEND_FFI_SYM_VAR);
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(2)
int(3)


PHP Callbacks

It is possible to assign a PHP closure to a native variable of function pointer type or to pass it as a function argument:

<?php
$zend = FFI::cdef("
typedef int (*zend_write_func_t)(const char *str, size_t str_length);
extern zend_write_func_t zend_write;
");

echo "Hello World 1!\n";

$orig_zend_write = clone $zend->zend_write;
$zend->zend_write = function($str, $len) {
global $orig_zend_write;
$orig_zend_write("{\n\t", 3);
$ret = $orig_zend_write($str, $len);
$orig_zend_write("}\n", 2);
return $ret;
};
echo "Hello World 2!\n";
$zend->zend_write = $orig_zend_write;
echo "Hello World 3!\n";
?>

Yukarıdaki örneğin çıktısı:

Hello World 1!
{
        Hello World 2!
}
Hello World 3!
Although this works, this functionality is not supported on all libffi platforms, is not efficient and leaks resources by the end of request.
İpucu

It is therefore recommended to minimize the usage of PHP callbacks.


A Complete PHP/FFI/preloading Example

php.ini

ffi.enable=preload
opcache.preload=preload.php

preload.php

<?php
FFI::load(__DIR__ . "/dummy.h");
opcache_compile_file(__DIR__ . "/dummy.php");
?>

dummy.h

#define FFI_SCOPE "DUMMY"
#define FFI_LIB "libc.so.6"

int printf(const char *format, ...);

dummy.php

<?php
final class Dummy {
private static $ffi = null;
function __construct() {
if (is_null(self::$ffi)) {
self::$ffi = FFI::scope("DUMMY");
}
}
function printf($format, ...$args) {
return (int)self::$ffi->printf($format, ...$args);
}
}
?>

test.php

<?php
$d = new Dummy();
$d->printf("Hello %s!\n", "world");
?>


Main interface to C code and data

(PHP 7 >= 7.4.0, PHP 8)

Giriş

Objects of this class are created by the factory methods FFI::cdef(), FFI::load() or FFI::scope(). Defined C variables are made available as properties of the FFI instance, and defined C functions are made available as methods of the FFI instance. Declared C types can be used to create new C data structures using FFI::new() and FFI::type().

FFI definition parsing and shared library loading may take significant time. It is not useful to do it on each HTTP request in a Web environment. However, it is possible to preload FFI definitions and libraries at PHP startup, and to instantiate FFI objects when necessary. Header files may be extended with special FFI_SCOPE defines (e.g. #define FFI_SCOPE "foo"; the default scope is "C") and then loaded by FFI::load() during preloading. This leads to the creation of a persistent binding, that will be available to all the following requests through FFI::scope(). Refer to the complete PHP/FFI/preloading example for details.

It is possible to preload more than one C header file into the same scope.

Sınıf Sözdizimi

final class FFI {
/* Sabitler */
public const int __BIGGEST_ALIGNMENT__;
/* Yöntemler */
public static addr(FFI\CData &$ptr): FFI\CData
public static alignof(FFI\CData|FFI\CType &$ptr): int
public static arrayType(FFI\CType $type, array $dimensions): FFI\CType
public static cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData
public cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData
public static cdef(string $code = "", ?string $lib = null): FFI
public static free(FFI\CData &$ptr): void
public static isNull(FFI\CData &$ptr): bool
public static load(string $filename): ?FFI
public static memcmp(string|FFI\CData &$ptr1, string|FFI\CData &$ptr2, int $size): int
public static memcpy(FFI\CData &$to, FFI\CData|string &$from, int $size): void
public static memset(FFI\CData &$ptr, int $value, int $size): void
public static new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public static scope(string $name): FFI
public static sizeof(FFI\CData|FFI\CType &$ptr): int
public static string(FFI\CData &$ptr, ?int $size = null): string
public static type(string $type): ?FFI\CType
public type(string $type): ?FFI\CType
public static typeof(FFI\CData &$ptr): FFI\CType
}

Öntanımlı Sabitler

FFI::__BIGGEST_ALIGNMENT__

İçindekiler

  • FFI::addr — Creates an unmanaged pointer to C data
  • FFI::alignof — Gets the alignment
  • FFI::arrayType — Dynamically constructs a new C array type
  • FFI::cast — Performs a C type cast
  • FFI::cdef — Creates a new FFI object
  • FFI::free — Releases an unmanaged data structure
  • FFI::isNull — Checks whether a FFI\CData is a null pointer
  • FFI::load — Loads C declarations from a C header file
  • FFI::memcmp — Compares memory areas
  • FFI::memcpy — Copies one memory area to another
  • FFI::memset — Fills a memory area
  • FFI::new — Creates a C data structure
  • FFI::scope — Instantiates an FFI object with C declarations parsed during preloading
  • FFI::sizeof — Gets the size of C data or types
  • FFI::string — Creates a PHP string from a memory area
  • FFI::type — Creates an FFI\CType object from a C declaration
  • FFI::typeof — Gets the FFI\CType of FFI\CData


Creates an unmanaged pointer to C data

  • « FFI
  • FFI::alignof »
  • PHP Manual
  • FFI
  • Creates an unmanaged pointer to C data

FFI::addr

(PHP 7 >= 7.4.0, PHP 8)

FFI::addr — Creates an unmanaged pointer to C data

Açıklama

public static FFI::addr(FFI\CData &$ptr): FFI\CData

Creates an unmanaged pointer to the C data represented by the given FFI\CData. The source ptr must survive the resulting pointer. This function is mainly useful to pass arguments to C functions by pointer.

Bağımsız Değişkenler

ptr

The handle of the pointer to a C data structure.

Dönen Değerler

Returns the freshly created FFI\CData object.


Gets the alignment

  • « FFI::addr
  • FFI::arrayType »
  • PHP Manual
  • FFI
  • Gets the alignment

FFI::alignof

(PHP 7 >= 7.4.0, PHP 8)

FFI::alignof — Gets the alignment

Açıklama

public static FFI::alignof(FFI\CData|FFI\CType &$ptr): int

Gets the alignment of the given FFI\CData or FFI\CType object.

Bağımsız Değişkenler

ptr

The handle of the C data or type.

Dönen Değerler

Returns the alignment of the given FFI\CData or FFI\CType object.


Dynamically constructs a new C array type

  • « FFI::alignof
  • FFI::cast »
  • PHP Manual
  • FFI
  • Dynamically constructs a new C array type

FFI::arrayType

(PHP 7 >= 7.4.0, PHP 8)

FFI::arrayType — Dynamically constructs a new C array type

Açıklama

public static FFI::arrayType(FFI\CType $type, array $dimensions): FFI\CType

Dynamically constructs a new C array type with elements of type defined by type, and dimensions specified by dimensions. In the following example $t1 and $t2 are equivalent array types:

<?php
$t1 = FFI::type("int[2][3]");
$t2 = FFI::arrayType(FFI::type("int"), [2, 3]);
?>

Bağımsız Değişkenler

type

A valid C declaration as string, or an instance of FFI\CType which has already been created.

dimensions

The dimensions of the type as array.

Dönen Değerler

Returns the freshly created FFI\CType object.


Performs a C type cast

  • « FFI::arrayType
  • FFI::cdef »
  • PHP Manual
  • FFI
  • Performs a C type cast

FFI::cast

(PHP 7 >= 7.4.0, PHP 8)

FFI::cast — Performs a C type cast

Açıklama

public static FFI::cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData
public FFI::cast(FFI\CType|string $type, FFI\CData|int|float|bool|null &$ptr): ?FFI\CData

FFI::cast() creates a new FFI\CData object, that references the same C data structure, but is associated with a different type. The resulting object does not own the C data, and the source ptr must survive the result. The C type may be specified as a string with any valid C type declaration or as FFI\CType object, created before. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Bağımsız Değişkenler

type

A valid C declaration as string, or an instance of FFI\CType which has already been created.

ptr

The handle of the pointer to a C data structure.

Dönen Değerler

Returns the freshly created FFI\CData object.


Creates a new FFI object

  • « FFI::cast
  • FFI::free »
  • PHP Manual
  • FFI
  • Creates a new FFI object

FFI::cdef

(PHP 7 >= 7.4.0, PHP 8)

FFI::cdef — Creates a new FFI object

Açıklama

public static FFI::cdef(string $code = "", ?string $lib = null): FFI

Creates a new FFI object.

Bağımsız Değişkenler

code

A string containing a sequence of declarations in regular C language (types, structures, functions, variables, etc). Actually, this string may be copy-pasted from C header files.

Bilginize:

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work.

lib

The name of a shared library file, to be loaded and linked with the definitions.

Bilginize:

If lib is omitted or null, platforms supporting RTLD_DEFAULT attempt to lookup symbols declared in code in the normal global scope. Other systems will fail to resolve these symbols.

Dönen Değerler

Returns the freshly created FFI object.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | lib is nullable now.


Releases an unmanaged data structure

  • « FFI::cdef
  • FFI::isNull »
  • PHP Manual
  • FFI
  • Releases an unmanaged data structure

FFI::free

(PHP 7 >= 7.4.0, PHP 8)

FFI::free — Releases an unmanaged data structure

Açıklama

public static FFI::free(FFI\CData &$ptr): void

Manually releases a previously created unmanaged data structure.

Bağımsız Değişkenler

ptr

The handle of the unmanaged pointer to a C data structure.

Dönen Değerler

Hiçbir değer dönmez.


Checks whether a FFI\CData is a null pointer

  • « FFI::free
  • FFI::load »
  • PHP Manual
  • FFI
  • Checks whether a FFI\CData is a null pointer

FFI::isNull

(PHP 7 >= 7.4.0, PHP 8)

FFI::isNull — Checks whether a FFI\CData is a null pointer

Açıklama

public static FFI::isNull(FFI\CData &$ptr): bool

Checks whether a FFI\CData is a null pointer.

Bağımsız Değişkenler

ptr

The handle of the pointer to a C data structure.

Dönen Değerler

Returns whether a FFI\CData is a null pointer.


Loads C declarations from a C header file

  • « FFI::isNull
  • FFI::memcmp »
  • PHP Manual
  • FFI
  • Loads C declarations from a C header file

FFI::load

(PHP 7 >= 7.4.0, PHP 8)

FFI::load — Loads C declarations from a C header file

Açıklama

public static FFI::load(string $filename): ?FFI

Loads C declarations from a C header file. It is possible to specify shared libraries that should be loaded, using special FFI_LIB defines in the loaded C header file.

Bağımsız Değişkenler

filename

The name of a C header file.

C preprocessor directives are not supported, i.e. #include, #define and CPP macros do not work, except for special cases listed below.

The header file should contain a #define statement for the FFI_SCOPE variable, e.g.: #define FFI_SCOPE "MYLIB". Refer to the class introduction for details.

The header file may contain a #define statement for the FFI_LIB variable to specify the library it exposes. If it is a system library only the file name is required, e.g.: #define FFI_LIB "libc.so.6". If it is a custom library, a relative path is required, e.g.: #define FFI_LIB "./mylib.so".

Dönen Değerler

Returns the freshly created FFI object, or null on failure.

Ayrıca Bakınız

  • FFI::scope() - Instantiates an FFI object with C declarations parsed during preloading


Compares memory areas

  • « FFI::load
  • FFI::memcpy »
  • PHP Manual
  • FFI
  • Compares memory areas

FFI::memcmp

(PHP 7 >= 7.4.0, PHP 8)

FFI::memcmp — Compares memory areas

Açıklama

public static FFI::memcmp(string|FFI\CData &$ptr1, string|FFI\CData &$ptr2, int $size): int

Compares size bytes from the memory areas ptr1 and ptr2. Both ptr1 and ptr2 can be any native data structures (FFI\CData) or PHP strings.

Bağımsız Değişkenler

ptr1

The start of one memory area.

ptr2

The start of another memory area.

size

The number of bytes to compare.

Dönen Değerler

Returns a value less than 0 if the contents of the memory area starting at ptr1 are considered less than the contents of the memory area starting at ptr2, a value greater than 0 if the contents of the first memory area are considered greater than the second, and 0 if they are equal.


Copies one memory area to another

  • « FFI::memcmp
  • FFI::memset »
  • PHP Manual
  • FFI
  • Copies one memory area to another

FFI::memcpy

(PHP 7 >= 7.4.0, PHP 8)

FFI::memcpy — Copies one memory area to another

Açıklama

public static FFI::memcpy(FFI\CData &$to, FFI\CData|string &$from, int $size): void

Copies size bytes from the memory area from to the memory area to.

Bağımsız Değişkenler

to

The start of the memory area to copy to.

from

The start of the memory area to copy from.

size

The number of bytes to copy.

Dönen Değerler

Hiçbir değer dönmez.


Fills a memory area

  • « FFI::memcpy
  • FFI::new »
  • PHP Manual
  • FFI
  • Fills a memory area

FFI::memset

(PHP 7 >= 7.4.0, PHP 8)

FFI::memset — Fills a memory area

Açıklama

public static FFI::memset(FFI\CData &$ptr, int $value, int $size): void

Fills size bytes of the memory area pointed to by ptr with the given byte value.

Bağımsız Değişkenler

ptr

The start of the memory area to fill.

value

The byte to fill with.

size

The number of bytes to fill.

Dönen Değerler

Hiçbir değer dönmez.


Creates a C data structure

  • « FFI::memset
  • FFI::scope »
  • PHP Manual
  • FFI
  • Creates a C data structure

FFI::new

(PHP 7 >= 7.4.0, PHP 8)

FFI::new — Creates a C data structure

Açıklama

public static FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData
public FFI::new(FFI\CType|string $type, bool $owned = true, bool $persistent = false): ?FFI\CData

Creates a native data structure of the given C type. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Bağımsız Değişkenler

type

type is a valid C declaration as string, or an instance of FFI\CType which has already been created.

owned

Whether to create owned (i.e. managed) or unmanaged data. Managed data lives together with the returned FFI\CData object, and is released when the last reference to that object is released by regular PHP reference counting or GC. Unmanaged data should be released by calling FFI::free(), when no longer needed.

persistent

Whether to allocate the C data structure permanently on the system heap (using malloc()), or on the PHP request heap (using emalloc()).

Dönen Değerler

Returns the freshly created FFI\CData object, or null on failure.


Instantiates an FFI object with C declarations parsed during preloading

  • « FFI::new
  • FFI::sizeof »
  • PHP Manual
  • FFI
  • Instantiates an FFI object with C declarations parsed during preloading

FFI::scope

(PHP 7 >= 7.4.0, PHP 8)

FFI::scope — Instantiates an FFI object with C declarations parsed during preloading

Açıklama

public static FFI::scope(string $name): FFI

Instantiates an FFI object with C declarations parsed during preloading.

The FFI::scope() method is safe to call multiple times for the same scope. Multiple references to the same scope may be loaded at the same time.

Bağımsız Değişkenler

name

The scope name defined by a special FFI_SCOPE define.

Dönen Değerler

Returns the freshly created FFI object.

Ayrıca Bakınız

  • FFI::load() - Loads C declarations from a C header file


Gets the size of C data or types

  • « FFI::scope
  • FFI::string »
  • PHP Manual
  • FFI
  • Gets the size of C data or types

FFI::sizeof

(PHP 7 >= 7.4.0, PHP 8)

FFI::sizeof — Gets the size of C data or types

Açıklama

public static FFI::sizeof(FFI\CData|FFI\CType &$ptr): int

Returns the size of the given FFI\CData or FFI\CType object.

Bağımsız Değişkenler

ptr

The handle of the C data or type.

Dönen Değerler

The size of the memory area pointed at by ptr.


Creates a PHP string from a memory area

  • « FFI::sizeof
  • FFI::type »
  • PHP Manual
  • FFI
  • Creates a PHP string from a memory area

FFI::string

(PHP 7 >= 7.4.0, PHP 8)

FFI::string — Creates a PHP string from a memory area

Açıklama

public static FFI::string(FFI\CData &$ptr, ?int $size = null): string

Creates a PHP string from size bytes of the memory area pointed to by ptr.

Bağımsız Değişkenler

ptr

The start of the memory area from which to create a string.

size

The number of bytes to copy to the string. If size is omitted or null, ptr must be a zero terminated array of C char.

Dönen Değerler

The freshly created PHP string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | size is nullable now; previously, its default was 0.


Creates an FFI\CType object from a C declaration

  • « FFI::string
  • FFI::typeof »
  • PHP Manual
  • FFI
  • Creates an FFI\CType object from a C declaration

FFI::type

(PHP 7 >= 7.4.0, PHP 8)

FFI::type — Creates an FFI\CType object from a C declaration

Açıklama

public static FFI::type(string $type): ?FFI\CType
public FFI::type(string $type): ?FFI\CType

This function creates and returns a FFI\CType object for the given string containing a C type declaration. If this method is called statically, it must only use predefined C type names (e.g. int, char, etc.); if the method is called as instance method, any type declared for the instance is allowed.

Bağımsız Değişkenler

type

A valid C declaration as string.

Dönen Değerler

Returns the freshly created FFI\CType object, or null on failure.


Gets the FFI\CType of FFI\CData

  • « FFI::type
  • FFI\CData »
  • PHP Manual
  • FFI
  • Gets the FFI\CType of FFI\CData

FFI::typeof

(PHP 7 >= 7.4.0, PHP 8)

FFI::typeof — Gets the FFI\CType of FFI\CData

Açıklama

public static FFI::typeof(FFI\CData &$ptr): FFI\CType

Gets the FFI\CType object representing the type of the given FFI\CData object.

Bağımsız Değişkenler

ptr

The handle of the pointer to a C data structure.

Dönen Değerler

Returns the FFI\CType object representing the type of the given FFI\CData object.


C Data Handles

(PHP 7 >= 7.4.0, PHP 8)

Giriş

FFI\CData objects can be used in a number of ways as a regular PHP data:

  • C data of scalar types can be read and assigned via the $cdata property, e.g. $x = FFI::new('int'); $x->cdata = 42;
  • C struct and union fields can be accessed as regular PHP object property, e.g. $cdata->field
  • C array elements can be accessed as regular PHP array elements, e.g. $cdata[$offset]
  • C arrays can be iterated using foreach statements.
  • C arrays can be used as arguments of count().
  • C pointers can be dereferenced as arrays, e.g. $cdata[0]
  • C pointers can be compared using regular comparison operators (<, <=, ==, !=, >=, >).
  • C pointers can be incremented and decremented using regular +/-/ ++/-- operations, e.g. $cdata += 5
  • C pointers can be subtracted from another using regular - operations.
  • C pointers to functions can be called as a regular PHP closure, e.g. $cdata()
  • Any C data can be duplicated using the clone operator, e.g. $cdata2 = clone $cdata;
  • Any C data can be visualized using var_dump(), print_r(), etc.

Bilginize: Notable limitations are that FFI\CData instances do not support isset(), empty() and unset(), and that wrapped C structs and unions do not implement Traversable.

Sınıf Sözdizimi

final class FFI\CData {
}


C Type Handles

(PHP 7 >= 7.4.0, PHP 8)

Giriş

Sınıf Sözdizimi

final class FFI\CType {
/* Sabitler */
public const int TYPE_VOID;
public const int TYPE_FLOAT;
public const int TYPE_DOUBLE;
public const int TYPE_LONGDOUBLE;
public const int TYPE_UINT8;
public const int TYPE_SINT8;
public const int TYPE_UINT16;
public const int TYPE_SINT16;
public const int TYPE_UINT32;
public const int TYPE_SINT32;
public const int TYPE_UINT64;
public const int TYPE_SINT64;
public const int TYPE_ENUM;
public const int TYPE_BOOL;
public const int TYPE_CHAR;
public const int TYPE_POINTER;
public const int TYPE_FUNC;
public const int TYPE_ARRAY;
public const int TYPE_STRUCT;
public const int ATTR_CONST;
public const int ATTR_INCOMPLETE_TAG;
public const int ATTR_VARIADIC;
public const int ATTR_INCOMPLETE_ARRAY;
public const int ATTR_VLA;
public const int ATTR_UNION;
public const int ATTR_PACKED;
public const int ATTR_MS_STRUCT;
public const int ATTR_GCC_STRUCT;
public const int ABI_DEFAULT;
public const int ABI_CDECL;
public const int ABI_FASTCALL;
public const int ABI_THISCALL;
public const int ABI_STDCALL;
public const int ABI_PASCAL;
public const int ABI_REGISTER;
public const int ABI_MS;
public const int ABI_SYSV;
public const int ABI_VECTORCALL;
/* Yöntemler */
public getAlignment(): int
public getArrayElementType(): FFI\CType
public getArrayLength(): int
public getAttributes(): int
public getEnumKind(): int
public getFuncABI(): int
public getFuncParameterCount(): int
public getFuncParameterType(int $index): FFI\CType
public getFuncReturnType(): FFI\CType
public getKind(): int
public getName(): string
public getPointerType(): FFI\CType
public getSize(): int
public getStructFieldNames(): array
public getStructFieldOffset(string $name): int
public getStructFieldType(string $name): FFI\CType
}

Öntanımlı Sabitler

FFI\CType::TYPE_VOID

FFI\CType::TYPE_FLOAT

FFI\CType::TYPE_DOUBLE

FFI\CType::TYPE_LONGDOUBLE

FFI\CType::TYPE_UINT8

FFI\CType::TYPE_SINT8

FFI\CType::TYPE_UINT16

FFI\CType::TYPE_SINT16

FFI\CType::TYPE_UINT32

FFI\CType::TYPE_SINT32

FFI\CType::TYPE_UINT64

FFI\CType::TYPE_SINT64

FFI\CType::TYPE_ENUM

FFI\CType::TYPE_BOOL

FFI\CType::TYPE_CHAR

FFI\CType::TYPE_POINTER

FFI\CType::TYPE_FUNC

FFI\CType::TYPE_ARRAY

FFI\CType::TYPE_STRUCT

FFI\CType::ATTR_CONST

FFI\CType::ATTR_INCOMPLETE_TAG

FFI\CType::ATTR_VARIADIC

FFI\CType::ATTR_INCOMPLETE_ARRAY

FFI\CType::ATTR_VLA

FFI\CType::ATTR_UNION

FFI\CType::ATTR_PACKED

FFI\CType::ATTR_MS_STRUCT

FFI\CType::ATTR_GCC_STRUCT

FFI\CType::ABI_DEFAULT

FFI\CType::ABI_CDECL

FFI\CType::ABI_FASTCALL

FFI\CType::ABI_THISCALL

FFI\CType::ABI_STDCALL

FFI\CType::ABI_PASCAL

FFI\CType::ABI_REGISTER

FFI\CType::ABI_MS

FFI\CType::ABI_SYSV

FFI\CType::ABI_VECTORCALL

İçindekiler

  • FFI\CType::getAlignment — Description
  • FFI\CType::getArrayElementType — Description
  • FFI\CType::getArrayLength — Description
  • FFI\CType::getAttributes — Description
  • FFI\CType::getEnumKind — Description
  • FFI\CType::getFuncABI — Description
  • FFI\CType::getFuncParameterCount — Description
  • FFI\CType::getFuncParameterType — Description
  • FFI\CType::getFuncReturnType — Description
  • FFI\CType::getKind — Description
  • FFI\CType::getName — Description
  • FFI\CType::getPointerType — Description
  • FFI\CType::getSize — Description
  • FFI\CType::getStructFieldNames — Description
  • FFI\CType::getStructFieldOffset — Description
  • FFI\CType::getStructFieldType — Description


Description

  • « FFI\CType
  • FFI\CType::getArrayElementType »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getAlignment

(PHP 8 >= 8.1.0)

FFI\CType::getAlignment — Description

Açıklama

public FFI\CType::getAlignment(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getAlignment
  • FFI\CType::getArrayLength »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getArrayElementType

(PHP 8 >= 8.1.0)

FFI\CType::getArrayElementType — Description

Açıklama

public FFI\CType::getArrayElementType(): FFI\CType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getArrayElementType
  • FFI\CType::getAttributes »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getArrayLength

(PHP 8 >= 8.1.0)

FFI\CType::getArrayLength — Description

Açıklama

public FFI\CType::getArrayLength(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getArrayLength
  • FFI\CType::getEnumKind »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getAttributes

(PHP 8 >= 8.1.0)

FFI\CType::getAttributes — Description

Açıklama

public FFI\CType::getAttributes(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getAttributes
  • FFI\CType::getFuncABI »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getEnumKind

(PHP 8 >= 8.1.0)

FFI\CType::getEnumKind — Description

Açıklama

public FFI\CType::getEnumKind(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getEnumKind
  • FFI\CType::getFuncParameterCount »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getFuncABI

(PHP 8 >= 8.1.0)

FFI\CType::getFuncABI — Description

Açıklama

public FFI\CType::getFuncABI(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getFuncABI
  • FFI\CType::getFuncParameterType »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getFuncParameterCount

(PHP 8 >= 8.1.0)

FFI\CType::getFuncParameterCount — Description

Açıklama

public FFI\CType::getFuncParameterCount(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getFuncParameterCount
  • FFI\CType::getFuncReturnType »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getFuncParameterType

(PHP 8 >= 8.1.0)

FFI\CType::getFuncParameterType — Description

Açıklama

public FFI\CType::getFuncParameterType(int $index): FFI\CType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

index

Dönen Değerler


Description

  • « FFI\CType::getFuncParameterType
  • FFI\CType::getKind »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getFuncReturnType

(PHP 8 >= 8.1.0)

FFI\CType::getFuncReturnType — Description

Açıklama

public FFI\CType::getFuncReturnType(): FFI\CType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getFuncReturnType
  • FFI\CType::getName »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getKind

(PHP 8 >= 8.1.0)

FFI\CType::getKind — Description

Açıklama

public FFI\CType::getKind(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getKind
  • FFI\CType::getPointerType »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getName

(PHP 7 >= 7.4.0, PHP 8)

FFI\CType::getName — Description

Açıklama

public FFI\CType::getName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getName
  • FFI\CType::getSize »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getPointerType

(PHP 8 >= 8.1.0)

FFI\CType::getPointerType — Description

Açıklama

public FFI\CType::getPointerType(): FFI\CType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getPointerType
  • FFI\CType::getStructFieldNames »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getSize

(PHP 8 >= 8.1.0)

FFI\CType::getSize — Description

Açıklama

public FFI\CType::getSize(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getSize
  • FFI\CType::getStructFieldOffset »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getStructFieldNames

(PHP 8 >= 8.1.0)

FFI\CType::getStructFieldNames — Description

Açıklama

public FFI\CType::getStructFieldNames(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « FFI\CType::getStructFieldNames
  • FFI\CType::getStructFieldType »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getStructFieldOffset

(PHP 8 >= 8.1.0)

FFI\CType::getStructFieldOffset — Description

Açıklama

public FFI\CType::getStructFieldOffset(string $name): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


Description

  • « FFI\CType::getStructFieldOffset
  • FFI\Exception »
  • PHP Manual
  • FFI\CType
  • Description

FFI\CType::getStructFieldType

(PHP 8 >= 8.1.0)

FFI\CType::getStructFieldType — Description

Açıklama

public FFI\CType::getStructFieldType(string $name): FFI\CType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


FFI Exceptions

(PHP 7 >= 7.4.0, PHP 8)

Giriş

Sınıf Sözdizimi

class FFI\Exception extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


FFI Parser Exceptions

(PHP 7 >= 7.4.0, PHP 8)

Giriş

Sınıf Sözdizimi

final class FFI\ParserException extends FFI\Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


OPcache

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Preloading
  • OPcache İşlevleri
    • opcache_compile_file — Compiles and caches a PHP script without executing it
    • opcache_get_configuration — Get configuration information about the cache
    • opcache_get_status — Get status information about the cache
    • opcache_invalidate — Invalidates a cached script
    • opcache_is_script_cached — Tells whether a script is cached in OPCache
    • opcache_reset — Resets the contents of the opcode cache


Giriş

OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request.

This extension is bundled with PHP 5.5.0 and later, and is » available in PECL for PHP versions 5.2, 5.3 and 5.4.


Kurulum

OPcache can only be compiled as a shared extension. If you have disabled the building of default extensions with --disable-all, you must compile PHP with the --enable-opcache option for OPcache to be available.

Once compiled, you can use the zend_extension configuration directive to load the OPcache extension into PHP. This can be done with zend_extension=/full/path/to/opcache.so on non-Windows platforms, and zend_extension=C:\path\to\php_opcache.dll on Windows.

Bilginize:

If you want to use OPcache with » Xdebug, you must load OPcache before Xdebug.

Recommended php.ini settings

The following settings are generally recommended as providing good performance:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1 ; prior to PHP 7.2.0
opcache.enable_cli=1

You may also want to consider disabling opcache.save_comments and enabling opcache.enable_file_override, however note that you will have to test your code before using these in production as they are known to break some frameworks and applications, particularly in cases where documentation comment annotations are used.

On Windows, opcache.file_cache_fallback should be enabled, and opcache.file_cache should be set to an already existing and writable directory.

A full list of configuration directives supported by OPcache is also available.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

OPcache configuration options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM | Between PHP 7.1.2 and 7.1.6 inclusive, the default was "1"
opcache.memory_consumption | "128" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "8" | PHP_INI_SYSTEM |
opcache.max_accelerated_files | "10000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM | Removed in PHP 7.2.0
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0x7FFEBFFF" | PHP_INI_SYSTEM | Changed from 0x7FFFBFFF in PHP 7.3.0
opcache.inherited_hack | "1" | PHP_INI_SYSTEM | Removed in PHP 7.3.0
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL | Disabled as of 8.1.18 and 8.2.5. Removed as of PHP 8.3.0.
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.record_warnings | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | null | PHP_INI_SYSTEM |
opcache.restrict_api | "" | PHP_INI_SYSTEM |
opcache.file_update_protection | "2" | PHP_INI_ALL |
opcache.huge_code_pages | "0" | PHP_INI_SYSTEM |
opcache.lockfile_path | "/tmp" | PHP_INI_SYSTEM |
opcache.opt_debug_level | "0" | PHP_INI_SYSTEM | Available as of PHP 7.1.0
opcache.file_cache | NULL | PHP_INI_SYSTEM |
opcache.file_cache_only | "0" | PHP_INI_SYSTEM |
opcache.file_cache_consistency_checks | "1" | PHP_INI_SYSTEM |
opcache.file_cache_fallback | "1" | PHP_INI_SYSTEM | Windows only.
opcache.validate_permission | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.validate_root | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.preload | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.preload_user | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.cache_id | "" | PHP_INI_SYSTEM | Windows only. Available as of PHP 7.4.0
opcache.jit | "tracing" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_buffer_size | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_debug | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_bisect_limit | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_prof_threshold | "0.005" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_root_traces | "1024" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_side_traces | "128" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_exit_counters | "8192" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_loop | "64" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_func | "127" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_return | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_side_exit | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_blacklist_root_trace | "16" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_blacklist_side_trace | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_loop_unrolls | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_returns | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_polymorphic_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

opcache.enable bool

Enables the opcode cache. When disabled, code is not optimised or cached. The setting opcache.enable can not be enabled at runtime through ini_set(), it can only be disabled. Trying to enable it in a script will generate a warning.

opcache.enable_cli bool

Enables the opcode cache for the CLI version of PHP.

opcache.memory_consumption int

The size of the shared memory storage used by OPcache, in megabytes. The minimum permissible value is "8", which is enforced if a smaller value is set.

opcache.interned_strings_buffer int

The amount of memory used to store interned strings, in megabytes.

opcache.max_accelerated_files int

The maximum number of keys (and therefore scripts) in the OPcache hash table. The actual value used will be the first number in the set of prime numbers { 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987, 262237, 524521, 1048793 } that is greater than or equal to the configured value. The minimum value is 200. The maximum value is 1000000. Values outside of this range are clamped to the permissible range.

opcache.max_wasted_percentage int

The maximum percentage of wasted memory that is allowed before a restart is scheduled, if there is insufficient free memory. The maximum permissible value is "50", which is enforced if a larger value is set.

opcache.use_cwd bool

If enabled, OPcache appends the current working directory to the script key, thereby eliminating possible collisions between files with the same base name. Disabling this directive improves performance, but may break existing applications.

opcache.validate_timestamps bool

If enabled, OPcache will check for updated scripts every opcache.revalidate_freq seconds. When this directive is disabled, you must reset OPcache manually via opcache_reset(), opcache_invalidate() or by restarting the Web server for changes to the filesystem to take effect.

Bilginize: OPcache may still validate the timestamp of a file at compile-time if opcache.file_update_protection or opcache.max_file_size options are set to non-zero values.

opcache.revalidate_freq int

How often to check script timestamps for updates, in seconds. 0 will result in OPcache checking for updates on every request.

This configuration directive is ignored if opcache.validate_timestamps is disabled.

opcache.revalidate_path bool

If disabled, existing cached files using the same include_path will be reused. Thus, if a file with the same name is elsewhere in the include_path, it won't be found.

opcache.save_comments bool

If disabled, all documentation comments will be discarded from the opcode cache to reduce the size of the optimised code. Disabling this configuration directive may break applications and frameworks that rely on comment parsing for annotations, including Doctrine, Zend Framework 2 and PHPUnit.

opcache.fast_shutdown bool

If enabled, a fast shutdown sequence is used that doesn't free each allocated block, but relies on the Zend Engine memory manager to deallocate the entire set of request variables en masse.

This directive has been removed in PHP 7.2.0. A variant of the fast shutdown sequence has been integrated into PHP and will be automatically used if possible.

opcache.enable_file_override bool

When enabled, the opcode cache will be checked for whether a file has already been cached when file_exists(), is_file() and is_readable() are called. This may increase performance in applications that check the existence and readability of PHP scripts, but risks returning stale data if opcache.validate_timestamps is disabled.

opcache.optimization_level int

A bitmask that controls which optimisation passes are executed. The default is to apply all safe optimizations. Changing the default is mostly useful for debugging/developing the optimizer (see also opcache.opt_debug_level).

opcache.inherited_hack bool

This configuration directive is ignored.

opcache.dups_fix bool

This hack should only be enabled to work around "Cannot redeclare class" errors.

opcache.blacklist_filename string

The location of the OPcache blacklist file. A blacklist file is a text file containing the names of files that should not be accelerated, one per line. Wildcards are allowed, and prefixes can also be provided. Lines starting with a semi-colon are ignored as comments.

A simple blacklist file might look as follows:

; Matches a specific file.
/var/www/broken.php
; A prefix that matches all files starting with x.
/var/www/x
; A wildcard match.
/var/www/*-broken.php
opcache.max_file_size int

The maximum file size that will be cached, in bytes. If this is 0, all files will be cached.

opcache.consistency_checks int

If non-zero, OPcache will verify the cache checksum every N requests, where N is the value of this configuration directive. This should only be enabled when debugging, as it will impair performance.

Bilginize:

Disabled as of 8.1.18 and 8.2.5. Removed as of PHP 8.3.0.

opcache.force_restart_timeout int

The length of time to wait for a scheduled restart to begin if the cache isn't active, in seconds. If the timeout is hit, then OPcache assumes that something is wrong and will kill the processes holding locks on the cache to permit a restart.

If opcache.log_verbosity_level is set to 2 or above, a warning will be recorded in the error log when this occurs.

This directive is not supported on Windows.

opcache.error_log string

The error log for OPcache errors. An empty string is treated the same as stderr, and will result in logs being sent to standard error (which will be the Web server error log in most cases).

opcache.log_verbosity_level int

The log verbosity level. By default, only fatal errors (level 0) and errors (level 1) are logged. Other levels available are warnings (level 2), information messages (level 3) and debug messages (level 4).

opcache.record_warnings bool

If enabled, OPcache will record compile-time warnings and replay them on the next include, even if it is served from cache.

opcache.preferred_memory_model string

The preferred memory model for OPcache to use. If left empty, OPcache will choose the most appropriate model, which is the correct behaviour in virtually all cases.

Possible values include mmap, shm, posix and win32.

opcache.protect_memory bool

Protects shared memory from unexpected writes while executing scripts. This is useful for internal debugging only.

opcache.mmap_base string

The base used for shared memory segments on Windows. All PHP processes have to map shared memory into the same address space. Using this directive allows "Unable to reattach to base address" errors to be fixed.

opcache.restrict_api string

Allows calling OPcache API functions only from PHP scripts which path is started from specified string. The default "" means no restriction.

opcache.file_update_protection string

Prevents caching files that are less than this number of seconds old. It protects from caching of incompletely updated files. In case all file updates are atomic, performance can be increased by setting this to 0. This will allow files to be cached immediately.

opcache.huge_code_pages bool

Enables or disables copying of PHP code (text segment) into HUGE PAGES. This should improve performance, but requires appropriate OS configuration. Available on Linux as of PHP 7.0.0, and on FreeBSD as of PHP 7.4.0.

opcache.lockfile_path string

Absolute path used to store shared lockfiles (for *nix only)

opcache.opt_debug_level string

Produces opcode dumps for debugging different stages of optimizations. 0x10000 will output opcodes as the compiler produced them before any optimization occurs while 0x20000 will output optimized codes.

opcache.file_cache string

Enables and sets the second level cache directory. It should improve performance when SHM memory is full, at server restart or SHM reset. The default "" disables file based caching.

opcache.file_cache_only bool

Enables or disables opcode caching in shared memory.

Bilginize:

Prior to PHP 8.1.0, disabling this directive with an already populated file cache required to manually clear the file cache.

opcache.file_cache_consistency_checks bool

Enables or disables checksum validation when script loaded from file cache.

opcache.file_cache_fallback bool

Implies opcache.file_cache_only=1 for a certain process that failed to reattach to the shared memory (for Windows only). Explicitly enabled file cache is required.

Dikkat

Disabling this configuration option may prevent processes to start, and is therefore discouraged.

opcache.validate_permission bool

Validates the cached file permissions against the current user.

opcache.validate_root bool

Prevents name collisions in chroot'ed environments. This should be enabled in all chroot'ed environments to prevent access to files outside the chroot.

opcache.preload string

Specifies a PHP script that is going to be compiled and executed at server start-up, and which may preload other files, either by includeing them or by using the opcache_compile_file() function. All the entities (e.g. functions and classes) defined in these files will be available to requests out of the box, until the server is shut down.

Bilginize:

Preloading is not supported on Windows.

opcache.preload_user string

Lets the preloading to be run as the specified system user. This is useful for servers that startup as root before switching to an unprivileged system user. Preloading as root is not allowed by default for security reasons, unless this directive is explicitly set to root.

opcache.cache_id string

On Windows, all processes running the same PHP SAPI under the same user account having the same cache ID share a single OPcache instance. The value of the cache ID can be freely chosen.

İpucu

For IIS, different application pools can have their own OPcache instance by using the environment variable APP_POOL_ID as opcache.cache_id.

opcache.jit string|int

For typical usage, this option accepts one of four string values:

  • disable: Completely disabled, cannot be enabled at runtime.
  • off: Disabled, but can be enabled at runtime.
  • tracing/on: Use tracing JIT. Enabled by default and recommended for most users.
  • function: Use function JIT.

For advanced usage, this option accepts a 4-digit integer CRTO, where the digits mean:

C (CPU-specific optimization flags)
  • 0: Disable CPU-specific optimization.
  • 1: Enable use of AVX, if the CPU supports it.
R (register allocation)
  • 0: Don't perform register allocation.
  • 1: Perform block-local register allocation.
  • 2: Perform global register allocation.
T (trigger)
  • 0: Compile all functions on script load.
  • 1: Compile functions on first execution.
  • 2: Profile functions on first request and compile the hottest functions afterwards.
  • 3: Profile on the fly and compile hot functions.
  • 4: Currently unused.
  • 5: Use tracing JIT. Profile on the fly and compile traces for hot code segments.
O (optimization level)
  • 0: No JIT.
  • 1: Minimal JIT (call standard VM handlers).
  • 2: Inline VM handlers.
  • 3: Use type inference.
  • 4: Use call graph.
  • 5: Optimize whole script.
The "tracing" mode corresponds to CRTO = 1254, the "function" mode corresponds to CRTO = 1205.

opcache.jit_buffer_size int

The amount of shared memory to reserve for compiled JIT code. A zero value disables the JIT.

int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.
opcache.jit_debug int

A bit mask specifying which JIT debug output to enable. For possible values, please consult » zend_jit.h (search for macro definitions beginning with ZEND_JIT_DEBUG).

opcache.jit_bisect_limit int

Debugging option that disables JIT compilation after compiling a certain number of functions. This may be helpful to bisect the source of a JIT miscompilation. Note: this option only works when JIT trigger is set to 0 (compile on script load) or 1 (compile on first execution), e.g., opcache.jit=1215. See more in opcache.jit option.

opcache.jit_prof_threshold float

When using the "profile on first request" trigger mode, this threshold determines whether a function is considered hot. The number of calls to the function divided by the number of calls to all functions must be above the threshold. For example, a threshold of 0.005 means that functions that made up more than 0.5% of all calls will be JIT compiled.

opcache.jit_max_root_traces int

Maximum number of root traces. The root trace is an execution flow taking one path through the code firstly, which is a unit of JIT compilation. JIT will not compile new code if it reaches this limit.

opcache.jit_max_side_traces int

Maximum number of side traces a root trace may have. The side trace is another execution flow that does not follow the path of compiled root trace. Side traces belonging to the same root trace will not be compiled if it reaches this limit.

opcache.jit_max_exit_counters int

Maximum number of side trace exit counters. This limits the total number of side traces there may be, across all root traces.

opcache.jit_hot_loop int

After how many iterations a loop is considered hot. Valid value range is [0,255]; for any setting out of this range, e.g., -1 or 256, default value will be used instead. Specially, a zero value will disable JIT to trace and compile any loops.

opcache.jit_hot_func int

After how many calls a function is considered hot. Valid value range is [0,255]; for any setting out of this range, e.g., -1 or 256, default value will be used instead. Specially, a zero value will disable JIT to trace and compile any functions.

opcache.jit_hot_return int

After how many returns a return is considered hot. Valid value range is [0,255]; for any setting out of this range, e.g., -1 or 256, default value will be used instead. Specially, a zero value will disable JIT to trace and compile any returns.

opcache.jit_hot_side_exit int

After how many exits a side exit is considered hot. Valid value range is [0,255]; for any setting out of this range, e.g., -1 or 256, default value will be used instead. Specially, a zero value will disable JIT to trace and compile any side exits.

opcache.jit_blacklist_root_trace int

Maximum number of times the compilation of a root trace is attempted before it is blacklisted.

opcache.jit_blacklist_side_trace int

Maximum number of times the compilation of a side trace is attempted before it is blacklisted.

opcache.jit_max_loop_unrolls int

Maximum number of attempts to unroll a loop in a side trace, trying to reach the root trace and close the outer loop.

opcache.jit_max_recursive_calls int

Maximum number of unrolled recursive call loops.

opcache.jit_max_recursive_returns int

Maximum number of unrolled recursive return loops.

opcache.jit_max_polymorphic_calls int

Maximum number of attempts to inline polymorphic (dynamic or method) calls. Calls above this limit are treated as megamorphic and are not inlined.


  • « Çalışma Anı Yapılandırması
  • Preloading »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Preloading

As of PHP 7.4.0, PHP can be configured to preload scripts into the opcache when the engine starts. Any functions, classes, interfaces, or traits (but not constants) in those files will then become globally available for all requests without needing to be explicitly included. That trades convenience and performance (because the code is always available) for baseline memory usage. It also requires restarting the PHP process to clear pre-loaded scripts, meaning this feature is only practical to use in production, not in a development environment.

Note that the optimal tradeoff between performance and memory may vary with the application. "Preload everything" may be the easiest strategy, but not necessarily the best strategy. Additionally, preloading is only useful when there is a persistent process from one request to another. That means while it can work in a CLI script if the opcache is enabled, it's generally pointless. The exception is when using preloading on FFI libraries.

Bilginize:

Preloading is not supported on Windows.

Configuring preloading involves two steps, and requires that the opcache be enabled. First, set the opcache.preload value in php.ini:

opcache.preload=preload.php

preload.php is an arbitrary file that will run once at server startup (PHP-FPM, mod_php, etc.) and load code into persistent memory. In servers that startup as root before switching to an unprivileged system user, or if PHP will be run as root (not recommended), the opcache.preload_user value can specify the system user to run the preloading. Running preloading as root is not allowed by default. Set opcache.preload_user=root to explicitly allow it.

In the preload.php script, any file referenced by include, include_once, require, require_once, or opcache_compile_file() will be parsed into persistent memory. In the following example, all .php files in the src directory will be preloaded, unless they are a Test file.

<?php
$directory = new RecursiveDirectoryIterator(__DIR__ . '/src');
$fullTree = new RecursiveIteratorIterator($directory);
$phpFiles = new RegexIterator($fullTree, '/.+((?<!Test)+\.php$)/i', RecursiveRegexIterator::GET_MATCH);

foreach ($phpFiles as $key => $file) {
require_once $file[0];
}
?>

Both include and opcache_compile_file() will work, but have different implications for how code gets handled.

  • include will execute code in the file, while opcache_compile_file() will not. That means only the former supports conditional declaration (functions declared inside an if-block).
  • Because include will execute code, nested included files will also be parsed and their declarations preloaded.
  • opcache_compile_file() can load files in any order. That is, if a.php defines class A and b.php defines class B that extends A, then opcache_compile_file() can load those two files in any order. When using include, however, a.php must be included first.
  • In either case, if a later script includes a file that has already been preloaded then its contents will still execute, but any symbols it defines will not be re-defined. Using include_once will not prevent the file from being included a second time. It may be necessary to load a file again in order to include global constants defined in it, as those are not handled by preloading.
Which approach is better therefore depends on the desired behavior. With code that would otherwise use an autoloader, opcache_compile_file() allows for greater flexibility. With code that would otherwise be loaded manually, include will be more robust.


OPcache İşlevleri

İçindekiler

  • opcache_compile_file — Compiles and caches a PHP script without executing it
  • opcache_get_configuration — Get configuration information about the cache
  • opcache_get_status — Get status information about the cache
  • opcache_invalidate — Invalidates a cached script
  • opcache_is_script_cached — Tells whether a script is cached in OPCache
  • opcache_reset — Resets the contents of the opcode cache


Compiles and caches a PHP script without executing it

  • « OPcache İşlevleri
  • opcache_get_configuration »
  • PHP Manual
  • OPcache İşlevleri
  • Compiles and caches a PHP script without executing it

opcache_compile_file

(PHP 5 >= 5.5.5, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_compile_file — Compiles and caches a PHP script without executing it

Açıklama

opcache_compile_file(string $filename): bool

This function compiles a PHP script and adds it to the opcode cache without executing it. This can be used to prime the cache after a Web server restart by pre-caching files that will be included in later requests.

Bağımsız Değişkenler

filename

The path to the PHP script to be compiled.

Dönen Değerler

Returns true if filename was compiled successfully başarısızlık durumunda false döner.

Hatalar/İstisnalar

If filename cannot be loaded or compiled, an error of level E_WARNING is generated. You may use @ to suppress this warning.

Ayrıca Bakınız

  • opcache_invalidate() - Invalidates a cached script


Get configuration information about the cache

  • « opcache_compile_file
  • opcache_get_status »
  • PHP Manual
  • OPcache İşlevleri
  • Get configuration information about the cache

opcache_get_configuration

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_get_configuration — Get configuration information about the cache

Açıklama

opcache_get_configuration(): array|false

This function returns configuration information about the cache instance

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of information, including ini, blacklist and version

Hatalar/İstisnalar

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Ayrıca Bakınız

  • opcache_get_status() - Get status information about the cache


Get status information about the cache

  • « opcache_get_configuration
  • opcache_invalidate »
  • PHP Manual
  • OPcache İşlevleri
  • Get status information about the cache

opcache_get_status

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2)

opcache_get_status — Get status information about the cache

Açıklama

opcache_get_status(bool $include_scripts = true): array|false

This function returns state information about the in-memory cache instance. It will not return any information about the file cache.

Bağımsız Değişkenler

include_scripts

Include script specific state information

Dönen Değerler

Returns an array of information, optionally containing script specific state information, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If opcache.restrict_api is in use and the current path is in violation of the rule, an E_WARNING will be raised; no status information will be returned.

Ayrıca Bakınız

  • opcache_get_configuration() - Get configuration information about the cache


Invalidates a cached script

  • « opcache_get_status
  • opcache_is_script_cached »
  • PHP Manual
  • OPcache İşlevleri
  • Invalidates a cached script

opcache_invalidate

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0)

opcache_invalidate — Invalidates a cached script

Açıklama

opcache_invalidate(string $filename, bool $force = false): bool

This function invalidates a particular script from the opcode cache. If force is unset or false, the script will only be invalidated if the modification time of the script is newer than the cached opcodes. This function only invalidates in-memory cache and not file cache.

Bağımsız Değişkenler

filename

The path to the script being invalidated.

force

If set to true, the script will be invalidated regardless of whether invalidation is necessary.

Dönen Değerler

Returns true if the opcode cache for filename was invalidated or if there was nothing to invalidate, or false if the opcode cache is disabled.

Ayrıca Bakınız

  • opcache_compile_file() - Compiles and caches a PHP script without executing it
  • opcache_reset() - Resets the contents of the opcode cache


Tells whether a script is cached in OPCache

  • « opcache_invalidate
  • opcache_reset »
  • PHP Manual
  • OPcache İşlevleri
  • Tells whether a script is cached in OPCache

opcache_is_script_cached

(PHP 5 >= 5.5.11, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.4)

opcache_is_script_cached — Tells whether a script is cached in OPCache

Açıklama

opcache_is_script_cached(string $filename): bool

This function checks if a PHP script has been cached in OPCache. This can be used to more easily detect the "warming" of the cache for a particular script. This function only checks in-memory cache, not file cache.

Bağımsız Değişkenler

filename

The path to the PHP script to be checked.

Dönen Değerler

Returns true if filename is cached in OPCache, false otherwise.

Ayrıca Bakınız

  • opcache_compile_file() - Compiles and caches a PHP script without executing it


Resets the contents of the opcode cache

  • « opcache_is_script_cached
  • Outcontrol »
  • PHP Manual
  • OPcache İşlevleri
  • Resets the contents of the opcode cache

opcache_reset

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0)

opcache_reset — Resets the contents of the opcode cache

Açıklama

opcache_reset(): bool

This function resets the entire opcode cache. After calling opcache_reset(), all scripts will be reloaded and reparsed the next time they are hit. This function only resets in-memory cache, not the file cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the opcode cache was reset, or false if the opcode cache is disabled or the restart is pending or in progress (see opcache_get_status()).

Ayrıca Bakınız

  • opcache_invalidate() - Invalidates a cached script
  • opcache_get_status() - Get status information about the cache


Çıktı Tamponlama Denetimi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
    • - Çıktının yeniden yazılması
  • Çıktı Denetim İşlevleri
    • flush — Sistem çıktı tamponunu boşaltır
    • ob_clean — Çıktı tamponunu temizler (siler)
    • ob_end_clean — Çıktı tamponunu temizler (siler) ve tamponu kapatır
    • ob_end_flush — Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
    • ob_flush — Çıktı tamponunu boşaltır (gönderir)
    • ob_get_clean — Geçerli çıktı tamponun içeriğini döndürüp tamponu siler
    • ob_get_contents — Çıktı tamponunun içeriği ile döner
    • ob_get_flush — Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır
    • ob_get_length — Çıktı tamponunundaki içeriğin uzunluğunu döndürür
    • ob_get_level — Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür
    • ob_get_status — Çıktı tamponlarının durumu ile döner
    • ob_gzhandler — Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi
    • ob_implicit_flush — Örtük boşaltmayı açar/kapar
    • ob_list_handlers — Kullanımdaki çıktı eylemcileri listeler
    • ob_start — Çıktı tamponlamasını başlatır
    • output_add_rewrite_var — URL yeniden yazım değerlerini ekler
    • output_reset_rewrite_vars — URL yeniden yazma değerlerini sıfırlar


Giriş

Çıktı denetim işlevleri, betikten gönderilen çıktıyı denetiminizde tutmaya yardımcı olurlar. Bu özellik, çok çeşitli durumlarda yararlı olabilir, özellikle de betiğiniz veriyi çıktılamaya başladıktan sonra bir başlık göndermek isterseniz. Çıktı denetim işlevleri, header() ve setcookie() işlevlerini kullanarak başlık gönderimini etkilemez, sadece PHP kod blokları arasındaki veriler ve echo gibi işlevler etkilenir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Çıktı Denetimi yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR |
implicit_flush | "0" | PHP_INI_ALL |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | PHP 7.1.0 öncesinde oturumun, trans sid rewrite özelliğini atamakta kullanılırdı. Sonrasında, sadece output_add_rewrite_var() tarafından kullanılmaktadır.
url_rewriter.hosts | $_SERVER['HTTP_HOST'] öntanımlıdır. | PHP_INI_ALL | PHP 7.1.0 ve sonrasında kullanılabilir.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

output_buffering bool/int

Bu yönergeye 'On' değeri atamak suretiyle çıktı tamponlamasını bütün dosyalar için etkin kılabilirsiniz. Tamponun boyunu belli bir değerle sınırlamak isterseniz 'On' yerine bu değeri bayt cinsinden yazabilirsiniz (örnek: output_buffering=4096). PHP-CLI'de bu yönergenin değeri daima 'Off'tur.

output_handler string

Betiğinizin tüm çıktısını bir işleve yönlendirebilirsiniz. Örneğin, bu yönergeye mb_output_handler() atarsanız karakter kodlaması şeffaf olarak belirtilen kodlamaya dönüştürülür. Bu yönergeye herhangi bir çıktı eylemcisinin atanması otomatik olarak çıktı tamponlamasını etkin kılar.

Bilginize:

mb_output_handler() ve
ob_iconv_handler() işlevlerini birlikte
kullanamazsınız, bu durum ob_gzhandler() ve
zlib.output_compression
çifti için de geçerlidir.

Bilginize:

Bu yönergede sadece yerleşik işlevler belirtilebilir. Kullanıcı tanımlı işlevler için ob_start() işlevini kullanın.

implicit_flush bool

false öntanımlıdır. true atandığında her çıktı bloğundan sonra çıktı tamponu kendi kendini otomatik olarak boşaltır. Bu işlem, her HTML bloğundan, her print veya echo çağrısından sonra flush() işlevini çağırmaya eşdeğerdir.

PHP'yi HTTP ortamında kullanırken bu seçeneğe true atandığında bir takım başarım sorunları ortaya çıkabilir, bu bakımdan genellikle sadece hata ayıklama amacıyla kullanılması önerilir. CLI SAPI altında bu yönergenin öntanımlı değeri true'dur.

Ayrıca bakınız: ob_implicit_flush().

url_rewriter.tags string
output_add_rewrite_var() değerleri tarafından yeniden yazılacak HTML etiketlerini belirtmek içindir. a=href,area=href,frame=src,input=src,form= öntanımlıdır. form özel bir etikettir. Form değişkeni olarak <input hidden="session_id" name="session_name"> eklenir.

Bilginize: PHP 7.1.0 öncesinde, url_rewriter.tags, session.trans_sid_tags belirtmek için kullanılırdı. PHP 7.1.0 ve sonrasında, fieldset artık özel bir etiket değildir.

url_rewriter.hosts string
output_add_rewrite_var() değerleri tarafından yeniden yazılacak konakları belirtmek içindir. $_SERVER['HTTP_HOST'] öntanımlıdır. Aralarına "," konarak çok sayıda konak belirtilebilir, aralarında boşluğa izin verilmez. Örnek: php.net,wiki.php.net,bugs.php.net


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

PHP_OUTPUT_HANDLER_START (int)

Çıktı tamponlamanın başladığını gösterir.

PHP_OUTPUT_HANDLER_WRITE (int)

Çıktı tamponunun boşaltılacağını ve çıktılanacak verilerin bulunduğunu gösterir.

PHP_OUTPUT_HANDLER_FLUSH (int)

Çıktı tamponunun boşaltıldığını gösterir.

PHP_OUTPUT_HANDLER_CLEAN (int)

Çıktı tamponunun temizlendiğini gösterir.

PHP_OUTPUT_HANDLER_FINAL (int)

Bunun son çıktı tamponu işlemi olduğunu gösterir.

PHP_OUTPUT_HANDLER_CONT (int)

Çıktı tamponunu boşaltıldığını ancak çıktı tamponlamanın süreceğini gösterir.

Bu sabit PHP_OUTPUT_HANDLER_WRITE sabitinin takma adıdır.

PHP_OUTPUT_HANDLER_END (int)

Çıktı tamponlamanın bittiğini gösterir.

Bu sabit PHP_OUTPUT_HANDLER_FINAL sabitinin takma adıdır.

PHP_OUTPUT_HANDLER_CLEANABLE (int)

ob_start() tarafından oluşturulan bir çıktı tamponunun temizlenebilirliğini denetler.

PHP_OUTPUT_HANDLER_FLUSHABLE (int)

ob_start() tarafından oluşturulan bir çıktı tamponunun boşaltılabilirliğini denetler.

PHP_OUTPUT_HANDLER_REMOVABLE (int)

ob_start() tarafından oluşturulan bir çıktı tamponunun betik sonlanmadan önce silinebilirliğini denetler.

PHP_OUTPUT_HANDLER_STDFLAGS (int)

Öntanımlı çıktı tamponu seçeneklerinin tamamı; şuna eşdeğerdir: PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE.


  • « Öntanımlı Sabitler
  • Basic usage »
  • PHP Manual
  • Outcontrol
  • Örnekler

Örnekler

İçindekiler

  • Basic usage
  • - Çıktının yeniden yazılması


Basic usage

Örnek 1 - Çıktı Denetimi örneği

<?php

ob_start();
echo "Hello\n";

setcookie("cookiename", "cookiedata");

ob_end_flush();

?>

Yukarıdaki örnekte, ob_end_flush() işlevi çağrılana kadar echo çıktısı çıktı tamponunda saklanır. Bu süre zarfında, setcookie() çağrısı çerezi bir hataya yol açmadan başarıyla saklar. (Normalde, tarayıcıya veri gönderildikten sonra başlıkları gönderemezsiniz.)


- Çıktının yeniden yazılması

PHP 7.1.0'dan beri, output_add_rewrite_var() ve output_reset_rewrite_vars() adanmış çıktı tamponunu kullanır. Yani, trans sid çıktı tamponunu kullanmaz.

Örnek 1 - Çıktının yeniden yazılması örneği

<?php
// Bu kod PHP 7.1.0, 7.0.10, 5.6.25 ve üstü ile çalışır.

// HTTP_HOST öntanımlı hedef konaktır. Örnek kodun çalışması için elle atanır
$_SERVER['HTTP_HOST'] = 'php.net';

// Sadece form yeniden yazılır. a=href ekle.
// Etiketler etk_adı=url_özntlk biçeminde belirtilebilir,
// örn. img=src,iframe=src
// Atamalar arasında boşluk bulunmamalıdır.
// Form etiketi özel bir etiket olup gizli (hidden) girdi ekler.
ini_set('url_rewriter.tags','a=href,form=');
var_dump(ini_get('url_rewriter.tags'));

// Bu, URL ve form'a eklenir
output_add_rewrite_var('test', 'value');
?>
<a href="//php.net/index.php?bug=1234">bug1234</a>
<form action="https://php.net/?bug=1234&edit=1" action="post">
<input type="text" name="title" />
</form>

Yukarıdaki örneğin çıktısı:

<a href="//php.net/?bug=1234&test=value">bug1234</a>
<form action="https://php.net/?bug=1234&edit=1" method="post"><input type="hidden" name="test" value="value" />
 <input type="text" name="title" />
</form>

PHP 7.1.0'dan beri, çıktı yeniden yazma işlevleri kendi INI yönergelerine sahiptir: url_rewriter.tags ve url_rewriter.hosts.


Çıktı Denetim İşlevleri

Ayrıca Bakınız

header() ve setcookie().

İçindekiler

  • flush — Sistem çıktı tamponunu boşaltır
  • ob_clean — Çıktı tamponunu temizler (siler)
  • ob_end_clean — Çıktı tamponunu temizler (siler) ve tamponu kapatır
  • ob_end_flush — Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_flush — Çıktı tamponunu boşaltır (gönderir)
  • ob_get_clean — Geçerli çıktı tamponun içeriğini döndürüp tamponu siler
  • ob_get_contents — Çıktı tamponunun içeriği ile döner
  • ob_get_flush — Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır
  • ob_get_length — Çıktı tamponunundaki içeriğin uzunluğunu döndürür
  • ob_get_level — Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür
  • ob_get_status — Çıktı tamponlarının durumu ile döner
  • ob_gzhandler — Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi
  • ob_implicit_flush — Örtük boşaltmayı açar/kapar
  • ob_list_handlers — Kullanımdaki çıktı eylemcileri listeler
  • ob_start — Çıktı tamponlamasını başlatır
  • output_add_rewrite_var — URL yeniden yazım değerlerini ekler
  • output_reset_rewrite_vars — URL yeniden yazma değerlerini sıfırlar


Sistem çıktı tamponunu boşaltır

  • « Çıktı Denetim İşlevleri
  • ob_clean »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Sistem çıktı tamponunu boşaltır

flush

(PHP 4, PHP 5, PHP 7, PHP 8)

flush — Sistem çıktı tamponunu boşaltır

Açıklama

flush(): void

PHP'nin kullandığı ve PHP'nin artalanında kullanılan (CGI, HTTP sunucusu gibi) sistem yazma tamponlarını boşaltır. Bu işlem, çıktı tamponları boşalıncaya kadar çıktının kullanıcının tarayıcısına gönderilmesi demektir.

flush() işlevi HTTP sunucunuzun veya istemci tarafında tarayıcının tamponlama ayarlarını ve PHP'nin kullanıcı alanı çıktı tamponlama mekanizmasını etkilemez. Bu bakımdan, kullanılan çıktı tamponlarını boşaltmak için ob_flush() çağrısı flush() çağrısından önce yapılmalıdır.

Çeşitli sunucular, özellikle de Win32 üstünde, tarayıcıya sonuçların aktarılması bitmemişse betiğiniz sonlanıncaya kadar betiğinizin çıktısı tamponlanmaya devam eder.

mod_gzip gibi Apache sunucu modülleri, verinin istemciye gönderimi bitmeden kendi tamponunu boşaltırken bir flush() işlemine sebep olabilir.

Tarayıcı, göstermeden önce girdisini tamponlayabilir. Örneğin, Netscape, bir satırsonu veya bir kapama etiketi alana kadar metni tamponlar ve en dıştaki tablonun </table> kapama etiketini almadan tabloyu oluşturmaz.

Microsoft Internet Explorer'ın bazı sürümleri 256 baytlık çıktı almadan sayfayı göstermeye başlamaz, yani, bu tarayıcının daha önce birşeyler göstermesini istiyorsanız boşaltma öncesi ek boşluk karakterleri göndermeniz gerekebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)
  • ob_clean() - Çıktı tamponunu temizler (siler)
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır


Çıktı tamponunu temizler (siler)

  • « flush
  • ob_end_clean »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu temizler (siler)

ob_clean

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_clean — Çıktı tamponunu temizler (siler)

Açıklama

ob_clean(): bool

Bu işlev, en üst seviye çıktı tamponunun içeriğini siler.

Bu işlev, ob_end_clean() gibi tamponu yok etmez.

Çıktı tamponu ob_start() tarafından PHP_OUTPUT_HANDLER_CLEANABLE ile başlatılmalıdır. Aksi takdirde ob_clean() çalışmaz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır


Çıktı tamponunu temizler (siler) ve tamponu kapatır

  • « ob_clean
  • ob_end_flush »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu temizler (siler) ve tamponu kapatır

ob_end_clean

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_end_clean — Çıktı tamponunu temizler (siler) ve tamponu kapatır

Açıklama

ob_end_clean(): bool

Bu işlev, en üst seviye çıktı tamponunun içeriğini siler ve bu çıktı tamponunu kapatır. ob_end_clean() çağrısından sonra tampon yok edildiğinden eğer gönderilen tampon içeriğin saklamak istiyorsanız ob_end_clean() çağrısından önce bir ob_get_contents() çağrısı yapmalısınız.

Çıktı tamponu ob_start() tarafından PHP_OUTPUT_HANDLER_CLEANABLE ve PHP_OUTPUT_HANDLER_REMOVABLE ile başlatılmalıdır. Aksi takdirde ob_end_clean() çalışmaz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Başarısızlık sebeplerinden biri etkin bir tamponun bulunmaması diğeri ise tamponun silinememesi (özel bir tamponsa) olabilir.

Hatalar/İstisnalar

İşlev başarısız olursa E_NOTICE seviyesinde bir ileti üretir.

Örnekler

Aşağıda çıktı tamponlarından kurtulmanın kolay bir yolu gösterilmiştir:

Örnek 1 - ob_end_clean() örneği

<?php
ob_start();
echo 'Gösterilmek istenmeyen metin.';
ob_end_clean();
?>

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)


Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır

  • « ob_end_clean
  • ob_flush »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır

ob_end_flush

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_end_flush — Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır

Açıklama

ob_end_flush(): bool

Bu işlev en üst seviye çıktı tamponunun (varsa) içeriğini gönderir ve bu tamponu kapatır. ob_end_flush() çağrısından sonra tampon yok edildiğinden eğer gönderilen tampon içeriğin saklamak istiyorsanız ob_end_flush() çağrısından önce bir ob_get_contents() çağrısı yapmalısınız.

Çıktı tamponu ob_start() tarafından PHP_OUTPUT_HANDLER_CLEANABLE ve PHP_OUTPUT_HANDLER_REMOVABLE ile başlatılmalıdır. Aksi takdirde ob_end_flush() çalışmaz.

Bilginize: ob_get_flush() işlevi, bu işlevden farklı olarak tampon içeriğini bir dizge olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Başarısızlık sebeplerinden biri etkin bir tamponun bulunmaması diğeri ise tamponun silinememesi (özel bir tamponsa) olabilir.

Hatalar/İstisnalar

İşlev başarısız olursa E_NOTICE seviyesinde bir ileti üretir.

Örnekler

Örnek 1 - ob_end_flush() örneği

Aşağıda çıktı tamponlarının boşaltılıp silinmesinin kolay bir yolu gösterilmiştir:

<?php
while (@ob_end_flush());
?>

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_get_flush() - Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır
  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)
  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır


Çıktı tamponunu boşaltır (gönderir)

  • « ob_end_flush
  • ob_get_clean »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu boşaltır (gönderir)

ob_flush

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_flush — Çıktı tamponunu boşaltır (gönderir)

Açıklama

ob_flush(): bool

Bu işlev (varsa) çıktı tamponunun içeriğini gönderir.
ob_flush() sonrası tampon içeriği temizlendiğinden eğer
gönderilen içeriği saklamak istiyorsanız ob_flush()
çağrısından önce bir ob_get_contents() çağrısı
yapmalısınız.

Bu işlev, ob_end_flush() işlevinin yaptığı gibi çıktı tamponunu yok etmez.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_clean() - Çıktı tamponunu temizler (siler)
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır


Geçerli çıktı tamponun içeriğini döndürüp tamponu siler

  • « ob_flush
  • ob_get_contents »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Geçerli çıktı tamponun içeriğini döndürüp tamponu siler

ob_get_clean

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_get_clean — Geçerli çıktı tamponun içeriğini döndürüp tamponu siler

Açıklama

ob_get_clean(): string|false

Geçerli çıktı tamponun içeriğini döndürüp tamponu siler.

ob_get_clean() esasen
ob_get_contents() ve
ob_end_clean() işlevlerini çağırır.

Çıktı tamponu ob_start() tarafından PHP_OUTPUT_HANDLER_CLEANABLE ve PHP_OUTPUT_HANDLER_REMOVABLE ile başlatılmalıdır. Aksi takdirde ob_get_clean() çalışmaz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çıktı tamponlaması etkin değilse false, aksi takdirde çıktı tamponunun içeriğini döndürür.

Örnekler

Örnek 1 - Basit bir ob_get_clean() örneği

<?php

ob_start();

echo "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

Yukarıdaki örneğin çıktısı:

string(11) "hello world"

Ayrıca Bakınız

  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_start() - Çıktı tamponlamasını başlatır


Çıktı tamponunun içeriği ile döner

  • « ob_get_clean
  • ob_get_flush »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunun içeriği ile döner

ob_get_contents

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_get_contents — Çıktı tamponunun içeriği ile döner

Açıklama

ob_get_contents(): string|false

Çıktı tamponunu temizlemeden içeriği ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çıktı tamponlaması etkin değilse false, aksi takdirde çıktı tamponunun içeriğini döndürür.

Örnekler

Örnek 1 - ob_get_contents() örneği

<?php

ob_start();

echo "Hello ";

$out1 = ob_get_contents();

echo "World";

$out2 = ob_get_contents();

ob_end_clean();

var_dump($out1, $out2);
?>

Yukarıdaki örneğin çıktısı:

string(6) "Hello "
string(11) "Hello World"

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_length() - Çıktı tamponunundaki içeriğin uzunluğunu döndürür


Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır

  • « ob_get_contents
  • ob_get_length »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır

ob_get_flush

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_get_flush — Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır

Açıklama

ob_get_flush(): string|false

ob_get_flush() işlevi, çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır.

Çıktı tamponu ob_start() tarafından PHP_OUTPUT_HANDLER_FLUSHABLE ile başlatılmalıdır. Aksi takdirde ob_get_flush() çalışmaz.

Bilginize: Tampon içeriğini bir dizge olarak döndürmesi dışında ob_end_flush() işlevine benzer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çıktı tamponlaması etkin değilse false aksi takdirde çıktı tamponunun içeriğini döndürür.

Örnekler

Örnek 1 - ob_get_flush() örneği

<?php
// output_buffering=On
print_r(ob_list_handlers());

// tamponu bir dosyaya kaydedelim
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => default output handler
)
Array
(
)

Ayrıca Bakınız

  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_list_handlers() - Kullanımdaki çıktı eylemcileri listeler


Çıktı tamponunundaki içeriğin uzunluğunu döndürür

  • « ob_get_flush
  • ob_get_level »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunundaki içeriğin uzunluğunu döndürür

ob_get_length

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ob_get_length — Çıktı tamponunundaki içeriğin uzunluğunu döndürür

Açıklama

ob_get_length(): int|false

Çıktı tamponunundaki içeriğin uzunluğunu bayt cinsinden döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çıktı tamponu etkin değilse false, aksi takdirde bayt cinsinden çıktı tamponunundaki içeriğin uzunluğunu döndürür.

Örnekler

Örnek 1 - ob_get_length() örneği

<?php

ob_start();

echo "Hello ";

$len1 = ob_get_length();

echo "World";

$len2 = ob_get_length();

ob_end_clean();

echo $len1 . ", " . $len2;
?>

Yukarıdaki örneğin çıktısı:

6, 11

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_contents() - Çıktı tamponunun içeriği ile döner


Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür

  • « ob_get_length
  • ob_get_status »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür

ob_get_level

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_get_level — Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür

Açıklama

ob_get_level(): int

Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çıktı tamponlaması etkin değilse sıfır, aksi takdirde çıktı tamponlama eylemcilerinin iç içelik seviyesini döndürür.

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_get_contents() - Çıktı tamponunun içeriği ile döner


Çıktı tamponlarının durumu ile döner

  • « ob_get_level
  • ob_gzhandler »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponlarının durumu ile döner

ob_get_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ob_get_status — Çıktı tamponlarının durumu ile döner

Açıklama

ob_get_status(bool $tam_durum = false): array

ob_get_status() işlevi, tam_durum bağımsız değişkeninde true belirtilmişse her seviyeden etkin çıktı tamponlarının tamamının durumunu, aksi takdirde üst seviye çıktı tamponunun durumunu döndürür.

Bağımsız Değişkenler

tam_durum

true her seviyeden etkin çıktı tamponlarının tamamının durumunu, false ise veya belirtilmezse sadece üst seviye çıktı tamponunun durumunu döndürür.

Dönen Değerler

tam_durum bağımsız değişkeni belirtilmezse veya tam_durum = false olduğunda aşağıdaki elemanlarla basit bir dizi döner:

Array
(
    [level] => 2
    [type] => 0
    [status] => 0
    [name] => URL-Rewriter
    [del] => 1
)
ob_get_status() işlevinin basit sonuçları
Anahtar | Değer
level | Çıktı iç içelik seviyesi
type | 0 (dahili işleyici) veya 1 (kullanıcının işleyicisi)
status | PHP_OUTPUT_HANDLER_START (0), PHP_OUTPUT_HANDLER_CONT (1) veya PHP_OUTPUT_HANDLER_END (2) değerlerinden biri
name | Etkin çıktı eylemcisinin ismi veya atanmamışsa 'öntanımlı çıktı işleyicisi'
del | ob_start() tarafından belirlenen silme seçeneği

İşlev, tam_durum = true değeriyle çağrılırsa, her ektin çıktı tamponu seviyesi için bir eleman içeren bir dizi döner. Çıktı seviyesi üst seviye dizinin anahtarı olarak kullanılır ve bu anahtarların değerleri de kendi etkin çıktı seviyelerine ilişkin durum bilgisi içeren birer dizi içerirler.

Array
(
    [0] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 1
            [status] => 0
            [name] => default output handler
            [del] => 1
        )

    [1] => Array
        (
            [chunk_size] => 0
            [size] => 40960
            [block_size] => 10240
            [type] => 0
            [buffer_size] => 0
            [status] => 0
            [name] => URL-Rewriter
            [del] => 1
        )

)

Tam çıktı ek olarak şu elemanları içerir:

ob_get_status() işlevinin tam sonuçları
Anahtar | Değer
chunk_size | ob_start() tarafından atanan parça boyutu
size | ...
blocksize | ...

Ayrıca Bakınız

  • ob_get_level() - Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür
  • ob_list_handlers() - Kullanımdaki çıktı eylemcileri listeler


Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi

  • « ob_get_status
  • ob_implicit_flush »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi

ob_gzhandler

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ob_gzhandler — Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi

Açıklama

ob_gzhandler(string $veri, int $seçenekler): string|false

ob_gzhandler() işlevi, sıkıştırılmış sayfaları destekleyen tarayıcılara gziplenmiş veri gönderim oluşumuna yardımcı olmak için ob_start() işlevinde bir geriçağırım işlevi olarak belirtilmek üzere tasarlanmıştır. ob_gzhandler() asıl veriyi sıkıştırılmış olarak göndermeden önce tarayıcının kabul edeceği içerik kodlamasının türünü ("gzip", "deflate" veya hiçbiri) tespit edip tampon içeriğini buna uygun olarak kodlayıp çıktılar. Hangi sıkıştırma türünü kabul edeceğini doğru başlıkları göndererek tarayıcı belirlediğinden tüm tarayıcılar desteklenir. Eğer bir tarayıcı sıkıştırılmış sayfaları desteklemiyorsa işlev false döndürecektir.

Bağımsız Değişkenler

veri

seçenekler

Dönen Değerler

Örnekler

Örnek 1 - ob_gzhandler() örneği

<?php

ob_start("ob_gzhandler");

?>
<html>
<body>
<p>Bu sayfa sıkıştırılmış olabilir.</p>
</body>
</html>

Notlar

Bilginize:

ob_gzhandler() işlevi zlib eklentisini gerektirir.

Bilginize:

ob_gzhandler() işlevini ve zlib.output_compression yönergesini birlikte kullanamazsınız. Ayrıca, zlib.output_compression yörengesinin ob_gzhandler() işlevine tercih edildiğini de bilmenizde yarar var.

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır


Örtük boşaltmayı açar/kapar

  • « ob_gzhandler
  • ob_list_handlers »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Örtük boşaltmayı açar/kapar

ob_implicit_flush

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_implicit_flush — Örtük boşaltmayı açar/kapar

Açıklama

ob_implicit_flush(bool $etkin = true): void

ob_implicit_flush() işlevi örtük tampon boşalmayı açar veya kapatır. Örtük boşaltma işlemi, her çıktı çağrısından sonra bir boşaltma işlemiyle sonuçlanır, dolayısıyla açıkça flush() çağrıları yapma gereği ortadan kalkar.

Bağımsız Değişkenler

etkin

true ise örtük boşaltma açılır false ise kapatılır.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | etkin artık bir bool değer alıyor; evvelce int değer alırdı.

Ayrıca Bakınız

  • flush() - Sistem çıktı tamponunu boşaltır
  • ob_start() - Çıktı tamponlamasını başlatır
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır


Kullanımdaki çıktı eylemcileri listeler

  • « ob_implicit_flush
  • ob_start »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Kullanımdaki çıktı eylemcileri listeler

ob_list_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ob_list_handlers — Kullanımdaki çıktı eylemcileri listeler

Açıklama

ob_list_handlers(): array

Kullanımdaki çıktı eylemcileri listeler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanımdaki çıktı eylemcileri (varsa) içeren bir dizi döndürür. Eğer output_buffering etkinse veya ob_start() ile bir anonim işlev belirtilmişse ob_list_handlers() işlevi "default output handler" (öntanımlı çıktı eylemcisi) dizgesini döndürür.

Örnekler

Örnek 1 - ob_list_handlers() işlevi

<?php
// output_buffering=On
print_r(ob_list_handlers());
ob_end_flush();

ob_start("ob_gzhandler");
print_r(ob_list_handlers());
ob_end_flush();

// anonim işlev
ob_start(function($string) { return $string; });
print_r(ob_list_handlers());
ob_end_flush();
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Closure::__invoke
)

Array
(
    [0] => ob_gzhandler
)

Array
(
    [0] => default output handler
)

Ayrıca Bakınız

  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_get_flush() - Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır
  • ob_start() - Çıktı tamponlamasını başlatır


Çıktı tamponlamasını başlatır

  • « ob_list_handlers
  • output_add_rewrite_var »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • Çıktı tamponlamasını başlatır

ob_start

(PHP 4, PHP 5, PHP 7, PHP 8)

ob_start — Çıktı tamponlamasını başlatır

Açıklama

ob_start(callable $geriçağırım = null, int $parça_boyu = 0, int $seçenekler = PHP_OUTPUT_HANDLER_STDFLAGS): bool

Bu işlev çıktı tamponlamasını ektin kılar. Çıktı tamponlaması etkinken betikten (başlıklar dışında) hiçbir çıktı gönderilmez ve çıktı dahili bir tamponda saklanır.

Bu dahili tamponun içeriği ob_get_contents() işleviyle bir dizge değişkenine kopyalanabilir. Dahili tamponda birikenleri çıktılamak için ob_end_flush() işlevini kullanın. Çıktılamak istemiyorsanız, ob_end_clean() işlevi ile tampon içeriğini sessiz sedasız silebilirsiniz.

Uyarı

Bazı HTTP sunucuları (Apache gibi) geriçağırım işlevini çağırırken betiğin çalışma dizinini değiştirir. Geriçağırım işlevinde chdir(dirname($_SERVER['SCRIPT_FILENAME'])) gibi bir çağrıyla betiğin bulunduğu dizine dönebilirsiniz.

Çıktı tamponlaması bir yığıt gibi çalışabilir, bir ob_start() etkinken başka bir ob_start() çağrısı yapabilirsiniz. Yalnız aynı sayıda ob_end_flush() çağrısı yapmayı unutmayın. Eğer çok sayıda çıktı geriçağırım işlevi etkinse, her biri iç içelik sırası gözetilerek çıktıyı süzerler.

Betik sonlandığında çıktı tamponu hala etkinse, içeriği PHP tarafından otomatik olarak çıktılanır.

Bağımsız Değişkenler

geriçağırım

Bu bağımsız değişken ile isteğe bağlı bir çıktı eylemcisi işlev belirtilebilir. Bu işlev bağımsız değişken olarak bir dizge almalı ve bir dizge döndürmelidir. Bu işlev, çıktı tamponu boşaltılırken (gönderim), tampon temizlenirken (ob_flush(), ob_clean() ve benzeri bir işlevle) veya isteğin sonunda çıktı tamponu kullanıcının tarayıcısına boşaltılırken çağrılacaktır. İşlev çağrıldığında çıktı tamponunu bağımsız değişken olarak alması ve sonuçta tarayıcıya gönderilmek üzere yeni bir çıktı tamponu döndürmesi beklenir. Eğer bu bağımsız değişken ile belirtilen işlev çağrılabilir değilse ob_start() false döndürür. İşlevinin sözdizimi:

işlev_ismi(string $tampon, int $kip = ?): string
tampon
Çıktı tamponunun içeriği.
kip
PHP_OUTPUT_HANDLER_* sabitlerinin bit maskesi.

geriçağırım false döndürdüğü takdirde özgün çıktı tarayıcıya gönderilir.

geriçağırım, bağımsız değişkenine bir null değer aktarılarak atlanabilir.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() ve ob_start() bir geriçağırım işlevi olarak belirtilemez. Bunlardan biri belirtilirse, davranışın nasıl olacağı belirsizdir. Bir tamponun içeriğini silmek isterseniz geriçağrıcıdan "" (boş dizge) döndürmelisiniz. Bir geriçağırım işlevinden, çıktı tamponlama işlevlerini kullanarak print_r($ifade, true) veya highlight_file($dosyaismi, true) gibi işlevleri çağıramazsınız.

Bilginize:

Sıkıştırılmış sayfaları destekleyen tarayıcılara gziplenmiş veri göndermek için ob_gzhandler() işlevi kullanılabilmektedir. ob_gzhandler() işlevi tarayıcının kabul edeceği içerik kodlamasının türünü tespit ettikten sonra buna uygun çıktı döndürür.

parça_boyu

İsteğe bağlı parça_boyu belirtildiği takdirde, parça_boyunu aşan veya tamponun tam dolmasına sebep olan bir çıktılama çağrısından sonra tampon boşaltılır. Öntanımlı 0 değerinin anlamı işlevin sadece çıktı tamponu kapandığında çağrılacağı anlamına gelir.

kip

kip, çıktı tamponuna uygulanabilecek işlemleri denetleyen bir bitmaskesidir. Çıktı tamponunun temizlenmesi, boşaltılması ve silinmesine izin vermek öntanımlı olup, bunun karşılığı PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE veya kısaca PHP_OUTPUT_HANDLER_STDFLAGS sabitidir.

Her sabit aşağıda açıklandığı gibi belli bir işlev kümesine erişimi denetler:

Sabit | İşlevler
PHP_OUTPUT_HANDLER_CLEANABLE | ob_clean(), ob_end_clean() ve ob_get_clean().
PHP_OUTPUT_HANDLER_FLUSHABLE | ob_end_flush(), ob_flush() ve ob_get_flush().
PHP_OUTPUT_HANDLER_REMOVABLE | ob_end_clean(), ob_end_flush() ve ob_get_flush().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Kullanıcı tanımlı geriçağırım işlevi örneği

<?php

function geriçağırım($tampon)
{
// elmaları armutlarla değiştirelim
return (str_replace("elmalar", "armutlar", $tampon));
}

ob_start("geriçağırım");

?>
<html>
<body>
<p>Bizden elmalarla armutların karşılaştırılması isteniyor.</p>
</body>
</html>
<?php

ob_end_flush();

?>

Yukarıdaki örneğin çıktısı:

<html>
<body>
<p>Bizden armutlarla armutların karşılaştırılması isteniyor.</p>
</body>
</html>

Örnek 2 - Çıktı tamponunun silinmesini önleyen kod örneği

<?php

ob_start(null, 0, PHP_OUTPUT_HANDLER_STDFLAGS ^ PHP_OUTPUT_HANDLER_REMOVABLE);

?>

Ayrıca Bakınız

  • ob_get_contents() - Çıktı tamponunun içeriği ile döner
  • ob_end_clean() - Çıktı tamponunu temizler (siler) ve tamponu kapatır
  • ob_end_flush() - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
  • ob_implicit_flush() - Örtük boşaltmayı açar/kapar
  • ob_gzhandler() - Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi
  • ob_iconv_handler() - Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar
  • mb_output_handler() - Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi
  • ob_tidyhandler() - Tampon onarımı için ob_start geriçağırım işlevi


URL yeniden yazım değerlerini ekler

  • « ob_start
  • output_reset_rewrite_vars »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • URL yeniden yazım değerlerini ekler

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_add_rewrite_var — URL yeniden yazım değerlerini ekler

Açıklama

output_add_rewrite_var(string $isim, string $değer): bool

Bu işlev URL yeniden yazım mekanizmasına yeni bir isim/değer çifti ekler. İsim ve değer URL'lere (GET bağımsız değişkeni olarak) ve formlara (gizli girdi alanı olarak), session.use_trans_sid ile şeffaf URL yeniden yazımı etkinleştirilmiş gibi oturum ID'sinin eklendiği tarzda eklenir.

Bu işlevin davranışı url_rewriter.tags ve url_rewriter.hosts php.ini yönergesi ile denetlenir.

Bu işlevin istek başına en fazla bir kez başarıyla çağrılabileceği unutulmamalıdır.

Bilginize: Bu işlevin çağrılması örtük olarak çıktı tamponlamasını henüz başlamamışsa başlatır.

Bağımsız Değişkenler

isim

Değişkenin ismi.

değer

Değişkenin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | PHP 7.1.0 öncesinde, output_add_rewrite_var() tarafından yeniden yazılan değişkenler aynı oturum modülünün trans sid çıktı tamponunu kullanırdı. PHP 7.1.0 ve sonrasında, adanmış çıktı tamponu kullanılmaktadır. Çıktı işlevleri için yalnızca url_rewriter.tags kullanılır. url_rewriter.hosts eklendi.

Örnekler

Örnek 1 - output_add_rewrite_var() örneği

<?php
output_add_rewrite_var('var', 'value');

// bazı bağlar
echo '<a href="file.php">bağlantı</a>
<a href="http://example.com">diğer bağlantı</a>';

// bir form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';

print_r(ob_list_handlers());
?>

Yukarıdaki örneğin çıktısı:

<a href="file.php?var=value">bağlantı</a>
<a href="http://example.com">diğer bağlantı</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

Ayrıca Bakınız

  • output_reset_rewrite_vars() - URL yeniden yazma değerlerini sıfırlar
  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)
  • ob_list_handlers() - Kullanımdaki çıktı eylemcileri listeler
  • url_rewriter.tags
  • url_rewriter.hosts
  • session.trans_sid_tags
  • session.trans_sid_hosts


URL yeniden yazma değerlerini sıfırlar

  • « output_add_rewrite_var
  • Info »
  • PHP Manual
  • Çıktı Denetim İşlevleri
  • URL yeniden yazma değerlerini sıfırlar

output_reset_rewrite_vars

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_reset_rewrite_vars — URL yeniden yazma değerlerini sıfırlar

Açıklama

output_reset_rewrite_vars(): bool

Bu işlev URL yeniden yazım mekanizmasını sıfırlar ve oturum mekanizmasıyla evvelce atanmış olan tüm yeniden yazım çiftlerini output_add_rewrite_var() işleviyle siler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | PHP 7.1.0 öncesinde, output_add_rewrite_var() tarafından yeniden yazılan değişkenler aynı oturum modülünün trans sid çıktı tamponunu kullanırdı. PHP 7.1.0 ve sonrasında, adanmış çıktı tamponu kullanılmaktadır. output_reset_rewrite_vars() sadece output_add_rewrite_var() tarafından tanımlanmış yeniden yazım çiftlerini siler.

Örnekler

Örnek 1 - output_reset_rewrite_vars() örneği

<?php
session_start();
output_add_rewrite_var('var', 'value');

echo '<a href="file.php">bağlantı</a>';
ob_flush();

output_reset_rewrite_vars();
echo '<a href="file.php">bağlantı</a>';
?>

Yukarıdaki örneğin çıktısı:

<a href="file.php?PHPSESSID=xxx&var=value">bağlantı</a>
<a href="file.php">bağlantı</a>

Ayrıca Bakınız

  • output_add_rewrite_var() - URL yeniden yazım değerlerini ekler
  • ob_flush() - Çıktı tamponunu boşaltır (gönderir)
  • ob_list_handlers() - Kullanımdaki çıktı eylemcileri listeler
  • url_rewriter.tags
  • url_rewriter.hosts
  • session.trans_sid_tags
  • session.trans_sid_hosts


PHP Seçenek ve Bilgileri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • PHP Seçenek/Bilgi İşlevleri
    • assert_options — Çeşitli kararlılık denetim seçeneklerini açar/kapar
    • assert — Savın doğruluğuna bakar
    • cli_get_process_title — Geçerli sürecin başlığını döndürür
    • cli_set_process_title — Geçerli sürece başlık tanımlar
    • dl — Belirtilen PHP eklentisini çalışma anında yükler
    • extension_loaded — Belirtilen eklenti yüklü mü diye bakar
    • gc_collect_cycles — Çöp döngülerin toplanması için zorlar
    • gc_disable — Döngüsel gönderim toplayıcısını etkisiz kılar
    • gc_enable — Döngüsel gönderim toplayıcısını etkin kılar
    • gc_enabled — Döngüsel gönderim toplayıcısının durumunu döndürür
    • gc_mem_caches — Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır
    • gc_status — Çöp toplayıcı hakkında bilgi döndürür
    • get_cfg_var — Belirtilen PHP yönergesinin değerini döndürür
    • get_current_user — PHP betiğinin sahibininin kullanıcı ismini döndürür
    • get_defined_constants — Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
    • get_extension_funcs — Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür
    • get_include_path — include_path yönergesinin değerini döndürür
    • get_included_files — Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür
    • get_loaded_extensions — Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
    • get_magic_quotes_gpc — magic_quotes_gpc yönergesinin değerini döndürür
    • get_magic_quotes_runtime — magic_quotes_runtime yönergesinin çalışma anı değerini döndürür
    • get_required_files — get_included_files işlevinin takma adıdır
    • get_resources — Etkin özkaynakları döndürür
    • getenv — Ortam değişkenlerinden birinin veya tümünün değerini döndürür
    • getlastmod — Çalışan betiğin son değişiklik zamanını döndürür
    • getmygid — PHP betiğinin sahibinin grup kimliğini döndürür
    • getmyinode — Çalışan betiğin dosya düğümü numarasını döndürür
    • getmypid — PHP'nin süreç kimliğini (PID) döndürür
    • getmyuid — PHP betiğinin sahibinin kullanıcı kimliğini döndürür
    • getopt — Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür
    • getrusage — Geçerli özkaynak kullanımlarını döndürür
    • ini_alter — ini_set işlevinin takma adıdır
    • ini_get_all — Tüm yapılandırma yönergelerini döndürür
    • ini_get — Bir yapılandırma yönergesinin değerini döndürür
    • ini_parse_quantity — Get interpreted size from ini shorthand syntax
    • ini_restore — Bir yapılandırma yönergesine eski değerini atar
    • ini_set — Bir yapılandırma yönergesine değer atar
    • memory_get_peak_usage — PHP'ye ayrılan belleğin azami miktarını döndürür
    • memory_get_usage — PHP'ye ayrılan belleğin miktarını döndürür
    • memory_reset_peak_usage — Reset the peak memory usage
    • php_ini_loaded_file — Yüklü php.ini dosyasının dosya yolunu döndürür
    • php_ini_scanned_files — Ek ini dizininden ayrıştırılan dosyaların listesi ile döner
    • php_sapi_name — HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür
    • php_uname — PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür
    • phpcredits — PHP'ya katkıda bulunanları gösterir
    • phpinfo — PHP yapılandırması hakkında bilgi çıktılar
    • phpversion — Çalışan PHP'nin sürümünü döndürür
    • putenv — Bir ortam değişkenine değer atar
    • restore_include_path — include_path yönergesini eski değerine ayarlar
    • set_include_path — include_path yönergesinin çalışma anı değerini belirler
    • set_time_limit — Azami çalıştırma süresini sınırlar
    • sys_get_temp_dir — Geçici dosyalar için kullanılan dizini döndürür
    • version_compare — PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır
    • zend_thread_id — Geçerli evre için eşsiz bir betimleyici döndürür
    • zend_version — Zend motorunun sürümünü döndürür


Giriş

Bu işlevler PHP'nin kendisi hakkında pek çok bilgi almanızı sağlarlar. Çalışma anı yapılandırması, yüklü eklentiler, sürüm ve daha pek çok bilgi. Ayrıca, çalışmakta olan PHP'nin seçeneklerini atayacak işlevleri de burada bulabilirsiniz. PHP'nin belki de en bilinen işlevi phpinfo()'yu da burada bulabilirsiniz.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PHP Seçenekleri ve Bilgileri için Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.warning | "1" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.quiet_eval | "0" | PHP_INI_ALL | PHP 8.0.0 sürümünde kaldırıldı.
assert.exception | "1" | PHP_INI_ALL | PHP 8.0.0 öncesinde "0" öntanımlıydı.
enable_dl | "1" | PHP_INI_SYSTEM | Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.
max_execution_time | "30" | PHP_INI_ALL |
max_input_time | "-1" | PHP_INI_PERDIR | PHP 4.3.0 ve sonrasında kullanılabilir.
max_input_nesting_level | "64" | PHP_INI_PERDIR |
max_input_vars | 1000 | PHP_INI_PERDIR |
zend.enable_gc | "1" | PHP_INI_ALL |

PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

assert.active bool

assert() değerlendirmesini etkin kılar. assert() işlevinin davranışını denetlemek yerine zend.assertions kullanılmalıdır.

assert.bail bool

Kararlılık denetimleri başarısız olduğunda betiğin çalışmasını sonlandırır.

assert.warning bool

Başarısız olan her kararlılık denetimi için bir PHP uyarısı çıktılar.

assert.callback string

Kararlılık denetimleri başarısız olduğunda çağrılacak kullanıcı işlevi.

assert.quiet_eval bool
Uyarı

Bu özellik PHP 8.0.0 sürümünde KALDIRILMIŞTIR.

Kararlılık denetimini sağlayan ifadenin değerlendirilmesi sırasında error_reporting() işlevinin o anki ayarları kullanılır. Etkin olduğunda değerlendirme sırasında hiçbir hata gösterilmez (örtük error_reporting(0)). Aksi takdirde, hatalar error_reporting() ayarlarına uygun olarak gösterilir.

assert.exception bool

Kararlılık denetimleri başarısız olduğunda AssertionError istisnası çalıştırılır.

enable_dl bool

Bu yönerge ile PHP eklentilerinin dl() işleviyle sanal konak veya dizin temelinde dinamik olarak yüklenip yüklenmeyeceğini belirler.

Dinamik yüklemenin devre dışı bırakılmasının asıl sebebi güvenliktir. Dinamik yükleme ile, tüm open_basedir sınırlamalarını yok saymak mümkündür. Dinamik yüklemeye öntanımlı olarak izin verilir.

max_execution_time int

Çözümleyici tarafından sonlandırılmadan önce bir betiğin çalışabileceği azami süreyi saniye cinsinden tanımlar. Bu, yetersizce yazılmış betiklerin sunucuya bağlanmasına engel olur. Öntanımlı süre 30 saniyedir. PHP komut satırından çalıştırıldığında bu süre 0 saniyedir.

Windows sistemlerinde azami çalışma süresi sistem çağrılarından, akım işlemlerinden ve benzerlerinden etkilenmez. Daha ayrıntılı bilgi için set_time_limit() işlevinin açıklamasına bakınız.

HTTP sunucunuzun PHP'nin çalışmasını kesintiye uğratacak başka zaman aşımı yapılandırmaları olabilir. Apache'nin bir Timeout yönergesi ve IIS'nin bir CGI zaman aşımı işlevi vardır. Bu konuda daha ayrıntılı bilgi edinmek için HTTP sunucunuzun belgelerine bakınız.

max_input_time int

Bir betiğin POST ve GET gibi girdileri çözümlemesi için gereken azami süre saniye cinsinden burada belirtilir. Süre, sunucu PHP'yi çağırdığı an başlar betik çalışmaya başladığı an biter. Öntanımlı değeri -1 olup, yerine max_execution_time kullanıldığı anlamına gelir. Zamanı sınırsız yapmak için 0 atayın.

max_input_nesting_level int

girdi değişkenlerinin ($_GET, $_POST... gibi) azami iç içelik derinliğini ayarlar.

max_input_vars int

Kabul edilebilecek girdi değişkenlerinin sayısı (Bu sınırlama $_GET, $_POST and $_COOKIE değişkenlerine ayrı ayrı uygulanır.). Çırpı çatışmalarını kullanan hizmet reddi saldırıları olasılığını azaltmak için kullanılır. Bu yönergede belirtilenden daha fazla girdi değişkeni varsa bir E_WARNING çıktılanır ve istekteki fazla değişkenler yoksayılır.

zend.enable_gc bool

Döngüsel gönderim toplayıcısını açıp kapar.


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

Öntanımlı phpcredits() sabitleri
Sabitler | Değer | Açıklama
CREDITS_GROUP | 1 | PHP geliştiricilerinin listesi.
CREDITS_GENERAL | 2 | Genel katkıcılar: Dil tasarımı ve kavramlar, PHP ve SAPI modülü yazarları.
CREDITS_SAPI | 4 | PHP için sunucu API modüllerinin listesi ve bunların yazarları.
CREDITS_MODULES | 8 | PHP için eklenti modüllerinin listesi ve bunların yazarları.
CREDITS_DOCS | 16 | Belgelendirme ekibi.
CREDITS_FULLPAGE | 32 | Genellikle diğer seçeneklerle birlikte kullanılır. Diğer seçeneklerin gösterilmesini gerektirdiği bilgilerin tamamının tek bir HTML sayfasına basılmasını sağlar.
CREDITS_QA | 64 | Kalite güvencesi ekibi.
CREDITS_ALL | -1 | Tüm katkıcılar; şu sabitlere eşdeğerdir: CREDITS_DOCS + CREDITS_GENERAL + CREDITS_GROUP + CREDITS_MODULES + CREDITS_QA + CREDITS_FULLPAGE. Bu sabitlerle ilgili bilgilerin uygun başlıklarla tek bir HTML sayfasında gösterilmesini sağlar. Bu öntanımlı değerdir.
phpinfo() sabitleri
Sabitler | Değer | Açıklama
INFO_GENERAL | 1 | Yapılandırma satırı, php.ini dosyasının yeri, derleme tarihi, HTTP Sunucusu, Sistem ve benzerleri.
INFO_CREDITS | 2 | PHP Katkıcıları. Ayrıca bakınız: phpcredits().
INFO_CONFIGURATION | 4 | PHP yönergelerinin geçerli yerel ve asıl değerleri. Ayrıca bakınız: ini_get().
INFO_MODULES | 8 | Yüklü modüller ve bunlarla ilgili ayarlar.
INFO_ENVIRONMENT | 16 | $_ENV ile de kullanılabilen ortam değişkenleri bilgisi.
INFO_VARIABLES | 32 | EGPCS (Environment, GET, POST, Cookie, Server) ile ilgili tüm öntanımlı değişkenleri listeler.
INFO_LICENSE | 64 | PHP Lisans bilgisi. Ayrıca bakınız: » Lisans SSS.
INFO_ALL | -1 | Yukarıdakilerin tamamı gösterilir. Bu öntanımlı değerdir.
INI sabitleri
Sabitler | Değer | Açıklama
INI_USER | 1 | Kullanılmadı
INI_PERDIR | 2 | Kullanılmadı
INI_SYSTEM | 4 | Kullanılmadı
INI_ALL | 7 | Kullanılmadı

Sav sabitleri, bunlar assert_options() işlevinde sav seçeneklerine değer atamakta kullanılır.

assert() sabitleri
Sabitler | INI seçeneği | Açıklama
ASSERT_ACTIVE | assert.active | assert() değerlendirmesi etkin kılınır.
ASSERT_CALLBACK | assert.callback | Savın başarısızlığı halinde çağrılacak geriçağırım işlevi.
ASSERT_BAIL | assert.bail | Savın başarısızlığı halinde çalışma durdurulur.
ASSERT_EXCEPTION | assert.exception | Savın başarısızlığı halinde PHP uyarısı verilir.
ASSERT_WARNING | assert.warning | Her başarısız sav için bir PHP uyarısı çıktılanır.
ASSERT_QUIET_EVAL | assert.quiet_eval | Sav ifadesinin değerlendirilmesi sırasında hata raporlama kapatılır. PHP 8.0.0 itibariyle kaldırıldı.

Aşağıdaki sabitler sadece Windows içindir. Çeşitli özellikleri saptamak için sürüm bilgileri verirler. Bu sabitler PHP 5.3.0'dan itibaren kullanılabilmektedir

Windows'a özgü sabitler
Sabitler | Açıklama
PHP_WINDOWS_VERSION_MAJOR | Windows ana sürüm numarası; 4 (NT4/Me/98/95), 5 (XP/2003 R2/2003/2000) veya 6 (Vista/2008/7/8/8.1) olabilir.
PHP_WINDOWS_VERSION_MINOR | Windows alt sürüm numarası; 0 (Vista/2008/2000/NT4/95), 1 (XP), 2 (2003 R2/2003/XP x64), 10 (98) veya 90 (ME) olabilir.
PHP_WINDOWS_VERSION_BUILD | Windows derleme sürümü (örneğin, Windows Vista + SP1 için 6001'dir).
PHP_WINDOWS_VERSION_PLATFORM | PHP'nin üzerinde çalıştığı platform sürüm numarası; Windows Vista/XP/2000/NT4 ve Server 2008/2003 için 2, Windows ME/98/95 için 1 olabilir.
PHP_WINDOWS_VERSION_SP_MAJOR | Kurulu SP ana sürümü; hiçbir SP kurulu değilse 0'dır. Örneğin SP 3 kurulu Windows XP için bu değer 3'tür.
PHP_WINDOWS_VERSION_SP_MINOR | Kurulu SP ana sürümü; hiçbir SP kurulu değilse 0'dır.
PHP_WINDOWS_VERSION_SUITEMASK | Çeşitli kurulu Windows özelliklerini betimleyen bir bit maskesi, Olası değerler için aşağıdaki tabloya bakınız.
PHP_WINDOWS_VERSION_PRODUCTTYPE | This contains the value used to determine the PHP_WINDOWS_NT_* sabitlerini saptamakta kullanılan değer; platform türünü belirleyen PHP_WINDOWS_NT_*sabitlerinden biri olabilir.
PHP_WINDOWS_NT_DOMAIN_CONTROLLER | Bir etki alanı denetleyicisidir.
PHP_WINDOWS_NT_SERVER | Bir sunucu sistemi belirtir (Server 2008/2003/2000 gibi); ancak, sunucu aynı zamanda bir etki alanı denetleyicisi ise PHP_WINDOWS_NT_DOMAIN_CONTROLLER olarak raporlanır.
PHP_WINDOWS_NT_WORKSTATION | Bir istemci sistemi belirtir (Vista/XP/2000/NT4 gibi).

PHP_WINDOWS_VERSION_SUITEMASK bit maskesinde kullanılabilecek bitsel değerler aşağıdaki tablada gösterilmiştir.

PHP_WINDOWS_VERSION_SUITEMASK bit alanları
Bit alanı | Açıklama
0x00000004 | Microsoft BackOffice bileşenleri kurulu.
0x00000400 | Windows Server 2003, Web Edition kurulu.
0x00004000 | Windows Server 2003, Compute Cluster Edition kurulu.
0x00000080 | Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition veya Windows 2000 Datacenter Server kurulu.
0x00000002 | Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, Windows 2000 Advanced Server veya Windows NT Server 4.0 Enterprise Edition kurulu.
0x00000040 | Windows XP Embedded kurulu.
0x00000200 | Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition kurulu
0x00000100 | Remote Desktop sadece etkileşimli tek oturumla desteklenir. Sistem bir uygulama sunucusu olarak çalışmadıkça bu değer atanır.
0x00000001 | Evvelce sistemde Microsoft Small Business Server kuruluymuş fakat başka bir Windows sürümüne yükseltilmiş.
0x00000020 | Microsoft Small Business Server, sınırlı istemci lisansı ile kurulu.
0x00002000 | Windows Storage Server 2003 R2 veya Windows Storage Server 2003 kurulu.
0x00000010 | Terminal Services kurulu. Bu değer daima atanır. Bu değer atanmışsa ancak 0x00000100 değilse sistem uygulama sunucusu kipinde çalışıyor demektir.
0x00008000 | Windows Home Server kurulu.


PHP Seçenek/Bilgi İşlevleri

İçindekiler

  • assert_options — Çeşitli kararlılık denetim seçeneklerini açar/kapar
  • assert — Savın doğruluğuna bakar
  • cli_get_process_title — Geçerli sürecin başlığını döndürür
  • cli_set_process_title — Geçerli sürece başlık tanımlar
  • dl — Belirtilen PHP eklentisini çalışma anında yükler
  • extension_loaded — Belirtilen eklenti yüklü mü diye bakar
  • gc_collect_cycles — Çöp döngülerin toplanması için zorlar
  • gc_disable — Döngüsel gönderim toplayıcısını etkisiz kılar
  • gc_enable — Döngüsel gönderim toplayıcısını etkin kılar
  • gc_enabled — Döngüsel gönderim toplayıcısının durumunu döndürür
  • gc_mem_caches — Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır
  • gc_status — Çöp toplayıcı hakkında bilgi döndürür
  • get_cfg_var — Belirtilen PHP yönergesinin değerini döndürür
  • get_current_user — PHP betiğinin sahibininin kullanıcı ismini döndürür
  • get_defined_constants — Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
  • get_extension_funcs — Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür
  • get_include_path — include_path yönergesinin değerini döndürür
  • get_included_files — Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür
  • get_loaded_extensions — Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • get_magic_quotes_gpc — magic_quotes_gpc yönergesinin değerini döndürür
  • get_magic_quotes_runtime — magic_quotes_runtime yönergesinin çalışma anı değerini döndürür
  • get_required_files — get_included_files işlevinin takma adıdır
  • get_resources — Etkin özkaynakları döndürür
  • getenv — Ortam değişkenlerinden birinin veya tümünün değerini döndürür
  • getlastmod — Çalışan betiğin son değişiklik zamanını döndürür
  • getmygid — PHP betiğinin sahibinin grup kimliğini döndürür
  • getmyinode — Çalışan betiğin dosya düğümü numarasını döndürür
  • getmypid — PHP'nin süreç kimliğini (PID) döndürür
  • getmyuid — PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • getopt — Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür
  • getrusage — Geçerli özkaynak kullanımlarını döndürür
  • ini_alter — ini_set işlevinin takma adıdır
  • ini_get_all — Tüm yapılandırma yönergelerini döndürür
  • ini_get — Bir yapılandırma yönergesinin değerini döndürür
  • ini_parse_quantity — Get interpreted size from ini shorthand syntax
  • ini_restore — Bir yapılandırma yönergesine eski değerini atar
  • ini_set — Bir yapılandırma yönergesine değer atar
  • memory_get_peak_usage — PHP'ye ayrılan belleğin azami miktarını döndürür
  • memory_get_usage — PHP'ye ayrılan belleğin miktarını döndürür
  • memory_reset_peak_usage — Reset the peak memory usage
  • php_ini_loaded_file — Yüklü php.ini dosyasının dosya yolunu döndürür
  • php_ini_scanned_files — Ek ini dizininden ayrıştırılan dosyaların listesi ile döner
  • php_sapi_name — HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür
  • php_uname — PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür
  • phpcredits — PHP'ya katkıda bulunanları gösterir
  • phpinfo — PHP yapılandırması hakkında bilgi çıktılar
  • phpversion — Çalışan PHP'nin sürümünü döndürür
  • putenv — Bir ortam değişkenine değer atar
  • restore_include_path — include_path yönergesini eski değerine ayarlar
  • set_include_path — include_path yönergesinin çalışma anı değerini belirler
  • set_time_limit — Azami çalıştırma süresini sınırlar
  • sys_get_temp_dir — Geçici dosyalar için kullanılan dizini döndürür
  • version_compare — PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır
  • zend_thread_id — Geçerli evre için eşsiz bir betimleyici döndürür
  • zend_version — Zend motorunun sürümünü döndürür


Çeşitli kararlılık denetim seçeneklerini açar/kapar

  • « PHP Seçenek/Bilgi İşlevleri
  • assert »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çeşitli kararlılık denetim seçeneklerini açar/kapar

assert_options

(PHP 4, PHP 5, PHP 7, PHP 8)

assert_options — Çeşitli kararlılık denetim seçeneklerini açar/kapar

Açıklama

assert_options(int $seçenek, mixed $değer = ?): mixed

assert() işlevi için çeşitli denetim seçeneklerini tanımlar veya mevcut değerlerini sorgular.

Bilginize: assert_options() işlevinin kullanımı önerilmiyor. php.ini yönergelerinde okuma yazma işlemleri için zend.assertions ve assert.exception ile ini_set() ve ini_get() kullanılabilir.

Bağımsız Değişkenler

seçenek

Sav Seçenekleri
Seçenek | INI bağımsız değişkeni | Öntanımlı | Açıklama
ASSERT_ACTIVE | assert.active | 1 | assert() değerlendirmesi etkin kılınır.
ASSERT_EXCEPTION | assert.exception | 1 | Başarısız olan her sav için bir AssertionError oluşur
ASSERT_WARNING | assert.warning | 1 | Her başarısız sav için bir PHP uyarısı çıktılanır
ASSERT_BAIL | assert.bail | 0 | Savın başarısızlığı halinde çalışma durdurulur.
ASSERT_QUIET_EVAL | assert.quiet_eval | 0 | Sav ifadesinin değerlendirilmesi sırasında hata raporlama kapatılır. PHP 8.0.0'da kaldırıldı.
ASSERT_CALLBACK | assert.callback | (null) | Savın başarısızlığı halinde çağrılacak geriçağırım işlevi.

değer

Seçenek için isteğe bağlı yeni değer.

Geriçağırım işlevi ASSERT_CALLBACK seçeneğiyle veya assert.callback işleviyle aşağıdaki sözdizimine göre atanmalıdır:

assert_callback(
string $dosya,
int $satır,
?string $sav,
string $açıklama = ?
): void
dosya
assert() işlevinin çağrıldığı dosya.
satır
assert() işlevinin çağrıldığı satır.
sav
PHP 8.0.0 öncesinde, assert() işlevine yalnızca bir dizge olarak aktarılması gerekiyordu. (Mantıksal değerler boş dizge olarak aktarılırdı.) PHP 8.0.0 ve sonrasında, daima null olarak aktarılmaktadır.
açıklama
assert() işlevine aktarılan açıklama.

değer bağımsız değişkenine boş bir dizge aktarılması assert geriçağırım işlevini sıfırlar.

Dönen Değerler

Belirtilen seçeneğin özgün değeri döner.

Hatalar/İstisnalar

seçenek geçerli bir seçenek değişse ValueError oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenek geçerli bir seçenek değişse ValueError oluşur. Evvelce false dönerdi.

Örnekler

Örnek 1 - assert_options() örneği

<?php
// Sav başarısızlıklarında çalışacak işlevimiz
function assert_failure($dosya, $satr, $sav, $ileti)
{
echo "$dosya dosyasının $satr. satırındaki $sav başarısız: $message";
}

// Sınama işlevimiz
function test_assert($parameter)
{
assert(is_bool($parameter));
}

// Sav seçeneklerini atayalım
assert_options(ASSERT_ACTIVE, true);
assert_options(ASSERT_BAIL, true);
assert_options(ASSERT_WARNING, false);
assert_options(ASSERT_CALLBACK, 'assert_failure');

// Başarısız olmasını umarak bir sav ileri sürelim
test_assert(1);

// ASSERT_BAIL true olduğundan buraya asla gelinmez
echo 'Buraya gelinmemesi gerekir';
?>

Ayrıca Bakınız

  • assert() - Savın doğruluğuna bakar


Savın doğruluğuna bakar

  • « assert_options
  • cli_get_process_title »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Savın doğruluğuna bakar

assert

(PHP 4, PHP 5, PHP 7, PHP 8)

assert — Savın doğruluğuna bakar

Açıklama

assert(mixed $sav, Throwable|string|null $açıklama = null): bool

assert() bir işlev değil beklentilerin tanımlanmasını sağlayan bir dil oluşumudur: geliştirme ve deneme ortamlarında yürürlüğe giren, ancak üretimde sıfır maliyetli olacak şekilde en iyilenmiş savlardır.

Savlar yalnızca hata ayıklama özelliği olarak kullanılmalıdır. Bir kullanımı, her zaman true olması gereken, aksi takdirde bazı yazılım hatalarını gösteren ön koşullar için tutarlılık denetimidir. Başka bir kullanımı ise, eklenti işlevleri veya belirli sistem sınırları ve özellikleri gibi belirli özelliklerin varlığını sınamaktır.

Sav denetimi devre dışı bırakılabilecek şekilde yapılandırılabileceğinden, girdilerin denetlenmesi gibi normal çalışma zamanı işlemleri için kullanılmamalıdır. Genel bir kural olarak, sav denetimi devre dışı bırakılsa bile kod beklendiği gibi davranmalıdır.

assert() oluşumu, sav ile belirtilen beklentinin geçerliliğini sınar.

assert() oluşumunun davranışı aşağıdaki INI ayarları ile değiştirilebilir:

Sav yapılandırma yönergeleri
İsim | Öntanımlı | Açıklama | Sürüm Bilgisi
zend.assertions 1
  • 1: kodu üret ve çalıştır (geliştirme kipi)
  • 0: kodu üret ama çalışma anında etrafından dolaş
  • -1: kod üretme (üretim kipi)
assert.active | true | false ise, assert() beklentiyle ilgilenmez ve koşulsuz olarak true döndürür.
assert.callback null Sav başarısız olduğunda çağrılacak kullanıcı tanımlı işlev. Sözdizimi:
assert_callback(
string $dosya,
int $satır,
null $sav,
string $açıklama = ?
): void
 PHP 8.0.0 öncesnde, işlevin sözdizimi şöyle olmalıydı:
assert_callback(
string $dosya,
int $satır,
string $sav,
string $açıklama = ?
): void
assert.exception 0
  • 1: Sav başarısız olursa istisnayı yavrula: Ya istisna bağımsız değişkeni ile sağlanan nesneyi ya da bir nesne sağlanmamışsa AssertionError nesnesini.
  • 0: Yukarıda açıklandığı gibi bir Throwable kullan veya oluştur, ancak o nesneyi örnekllemek yerine nesneyi temel alan bir uyarı oluştur (PHP 5 davranışıyla uyumlu)
assert.bail | false | true ise, beklenti karşılanmazsa PHP betiğinin yürütülmesini iptal eder.
assert.warning | true | true ise, beklenti karşılanmazsa bir E_WARNING çıktılanır. Bu INI ayarı, assert.exception etkinleştirilmişse etkisizdir.
The options starting with assert.ile başlayan seçenekler assert_options() ile yapıaldırılabilir. Ancak, bu önerilmez.

Bağımsız Değişkenler

sav

Çalıştırılacak ve sonucu, savın başarını belirlemekte kullanılacak değeri döndüren bir ifade olmalıdır.

Uyarı

PHP 8.0.0 öncesinde, sav PHP kodu olarak yorumlanan ve eval() ile yürütülen bir dizge idi. Bu dizge geri çağırım işlevine üçüncü bağımsız değişken olarak aktarılırdı. PHP 7.2.0'da kullanımı artık ÖNERİLMEMEKTE olup PHP 8.0.0'da kullanımdan KALDIRILMIŞTIR.

açıklama

açıklama bir Throwable örneği ise, yalnızca sav yürütülüp başarısız olduğunda yavrulanır.

Bilginize:

PHP 8.0.0 ve sonrasında, bu, olası bir tanımlanmış onaylama geri çağrım işlevi çağrılmadan önce yapılır.

Bilginize:

PHP 8.0.0 ve sonrasında, nesne assert.exception yapılandırmasına bakılmaksızın yavrulanır.

Bilginize:

PHP 8.0.0 ve sonrasında, bu durumda assert.bail etkisizdir.

sav başarısız olursa başarısızlık iletisine dahil edilecek isteğe bağlı bir açıklama. açıklama bir dizge ise bir istisna veya uyarı çıktılanırsa kullanılır.

açıklama kullanılmazsa, derleme zamanında assert() çağrısı için kaynak koduna eşit öntanımlı bir açıklama oluşturulur.

istisna

PHP 7'de, ikinci bağımsız değişken açıklayıcı bir dizge yerine bir Throwable nesnesi olabilir; sav başarısız olursa ve assert.exception yapılandırma yönergesi de etkinse bu nesne örneklenir.

Dönen Değerler

sav başarısız olursa false olmazsa true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | açıklama bir Throwable örneği ise, yalnızca sav yürütülüp başarısız olduğunda yavrulanır.
8.0.0 | açıklama bir Throwable örneği ise, atanmış olsa bile geri çağırım işlevi çağrılmaz.
8.0.0 | assert() artık dizge savları değerlendirmeye almıyor, herhangi bir bağımsız değişken gibi ele alıyor. Örneğin, assert('$a == $b') yerine artık assert($a == $b) kullanılması gerekiyor. assert.quiet_eval php.ini yönergesi ve ASSERT_QUIET_EVAL sabiti de kaldırıldı ve artık herhangi bir etkisi olmayacak.
8.0.0 | Bir isim alanı içinde assert() adlı bir işlevin bildirilmesine artık izin verilmiyor ve böyle bir bildirim olursa E_COMPILE_ERROR çıktılanıyor.
7.3.0 | Bir isim alanı içinde assert() adlı bir işlev bildirimi artık önerilmiyor ve böyle bir bildirim olursa bir E_DEPRECATED uyarısı veriliyor.
7.2.0 | Sav olarak bir dizge kullanımı artık önerilmiyor. Artık hem assert.active hem de zend.assertions için 1 atanmışsa bir E_DEPRECATED uyarısı veriliyor.

Örnekler

- Beklentiler

Örnek 1 - Özel bir sav olmaksızın beklentiler

<?php
assert(true == false);
echo 'Hi!';
?>

zend.assertions yönergesine 0 atandığında yukarıdaki örneğin çıktısı:

Hi!

zend.assertions yönergesine 1 ve assert.exception yönergesine 0 atandığında yukarıdaki örneğin çıktısı:

Warning: assert(): assert(true == false) failed in - on line 2
Hi!

zend.assertions yönergesine 1 ve assert.exception yönergesine 1 atandığında yukarıdaki örneğin çıktısı:

Fatal error: Uncaught AssertionError: assert(true == false) in -:2
Stack trace:
#0 -(2): assert(false, 'assert(true == ...')
#1 {main}
  thrown in - on line 2

Örnek 2 - Özel bir sav varken beklentiler

<?php
class CustomError extends AssertionError {}

assert(true == false, new CustomError('True is not false!'));
echo 'Hi!';
?>

zend.assertions yönergesine 0 atandığında yukarıdaki örneğin çıktısı:

Hi!

zend.assertions yönergesine 1 ve assert.exception yönergesine 0 atandığında yukarıdaki örneğin çıktısı:

Warning: assert(): CustomError: True is not false! in -:4
Stack trace:
#0 {main} failed in - on line 4
Hi!

zend.assertions yönergesine 1 ve assert.exception yönergesine 1 atandığında yukarıdaki örneğin çıktısı:

Fatal error: Uncaught CustomError: True is not false! in -:4
Stack trace:
#0 {main}
  thrown in - on line 4

- Değerlendirilen kod savları (yalnızca, PHP 7)

Değerlendirilen kod savları ile, assert() geri çağırımları savın nerede yapıldığına dair bilgilerin yanı sıra sav için kullanılan kod da geri çağırıma iletildiğinden özellikle yararlı olabilir.

Örnek 3 - Başarısız bir savın özel bir işleyici ile işlenmesi

<?php
// savı etkin ve sessiz yap
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// İşleyici işlev
function my_assert_handler($file, $line, $code)
{
echo "<hr>Assertion Failed:
File '$file'<br />
Line '$line'<br />
Code '$code'<br /><hr />";
}

// geri çağırım işlevi
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Başarısız olması gereken savı öne sür
$array = [];
assert('count($array);');
?>

Yukarıdaki örneğin PHP 7.2 çıktısı::

Deprecated: assert(): Calling assert() with a string argument is deprecated in test.php on line 21
<hr>Assertion Failed:
        File 'test.php'<br />
        Line '21'<br />
        Code 'count($array);'<br /><hr />

Yukarıdaki örneğin PHP 7.1 çıktısı:

<hr>Assertion Failed:
        File 'test.php'<br />
        Line '21'<br />
        Code 'count($array);'<br /><hr />

Örnek 4 - Açıklama basmak için özel işleyici kullanımı

<?php
// savı etkin ve sessiz yap
assert_options(ASSERT_ACTIVE, 1);
assert_options(ASSERT_WARNING, 0);
assert_options(ASSERT_QUIET_EVAL, 1);

// İşleyici işlev
function my_assert_handler($file, $line, $code, $desc = null)
{
echo "sav başarısız - $file:$line: $code";
if ($desc) {
echo ": $desc";
}
echo "\n";
}

// Geri çağırım işlevi
assert_options(ASSERT_CALLBACK, 'my_assert_handler');

// Başarısız olması gereken savı öne sür
assert('2 < 1');
assert('2 < 1', 'İki birden küçüktür');
?>

Yukarıdaki örneğin PHP 7.2 çıktısı::

Deprecated: assert(): Calling assert() with a string argument is deprecated in test.php on line 21
Assertion failed at test.php:21: 2 < 1

Deprecated: assert(): Calling assert() with a string argument is deprecated in test.php on line 22
Assertion failed at test.php:22: 2 < 1: İki birden küçüktür

Yukarıdaki örneğin PHP 7.1 çıktısı:

Assertion failed at test.php:21: 2 < 1
Assertion failed at test.php:22: 2 < 1: İki birden küçüktür

Ayrıca Bakınız

  • assert_options() - Çeşitli kararlılık denetim seçeneklerini açar/kapar


Geçerli sürecin başlığını döndürür

  • « assert
  • cli_set_process_title »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Geçerli sürecin başlığını döndürür

cli_get_process_title

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

cli_get_process_title — Geçerli sürecin başlığını döndürür

Açıklama

cli_get_process_title(): ?string

Geçerli sürece cli_set_process_title() tarafından atanmış başlığı döndürür. Dikkat, kullanılan işletim sistemine bağlı olarak ps veya top çıktısında gösterilenle tam olarak eşleşmeyebilir.

Bu işlev sadece CLI kipinde kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli sürecin başlığını içeren bir dizge veya hata durumunda null döndürür.

Hatalar/İstisnalar

İşletim sistemi desteklenmiyorsa bir E_WARNING üretilir.

Örnekler

Örnek 1 - cli_get_process_title() örneği

<?php
echo "Process title: " . cli_get_process_title() . "\n";
?>

Ayrıca Bakınız

  • cli_set_process_title() - Geçerli sürece başlık tanımlar


Geçerli sürece başlık tanımlar

  • « cli_get_process_title
  • dl »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Geçerli sürece başlık tanımlar

cli_set_process_title

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

cli_set_process_title — Geçerli sürece başlık tanımlar

Açıklama

cli_set_process_title(string $başlık): bool

top ve ps gibi araçlarda görünen süreç başlığını tanımlar. Bu işlev sadece CLI kipinde kullanılabilir.

Bağımsız Değişkenler

başlık

Yeni başlık.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

İşletim sistemi desteklenmiyorsa bir E_WARNING üretilir.

Örnekler

Örnek 1 - cli_set_process_title() örneği

<?php
$title = "Harika PHP Betiğim";
$pid = getmypid(); // süreç başlığını ps çıktısında bulmak için

if (!cli_set_process_title($title)) {
echo "$pid için süreç başlığı atanamadı...\n";
exit(1);
} else {
echo "$pid kimlikli süreç için başlık olarak '$title' tanımlandı!\n";
sleep(5);
}
?>

Betik çıktısı:

6454 kimlikli süreç için başlık olarak 'Harika PHP Betiğim' tanımlandı!

ps çıktısı:

6454 pts/8    S+     0:00 Harika PHP Betiğim

Ayrıca Bakınız

  • cli_get_process_title() - Geçerli sürecin başlığını döndürür
  • setproctitle()


Belirtilen PHP eklentisini çalışma anında yükler

  • « cli_set_process_title
  • extension_loaded »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Belirtilen PHP eklentisini çalışma anında yükler

dl

(PHP 4, PHP 5, PHP 7, PHP 8)

dl — Belirtilen PHP eklentisini çalışma anında yükler

Açıklama

dl(string $eklenti): bool

eklenti bağımsız değişkeni ile belirtilen PHP eklentisini yükler.

Belli bir eklentinin yüklü olup olmadığını sınamak için, hem yerleşik (php.ini ile yüklenen) hem de devingen olarak (dl() ile) yüklenen eklentileri bulan extension_loaded() işlevini kullanın.

Uyarı

Bu işlev komut satırından çağrıldığında yalnızca CGI SAPI, gömülü SAPI'ler ve CLI için kullanılabilir.

Bağımsız Değişkenler

eklenti

Bu bağımsız değişken ile eklentinin platforma özgü kütüphane dosyasının ismi belirtilir. Örneğin sockets eklentisini Windows platformunda yüklemek için php_sockets.dll ismini kullanmak gerekirken Unix platformlarında sockets.so kullanmak gerekir (bir paylaşımlı modül olarak derlenmişse).

Eklentinin yükleneceği dizin platforma göre değişiklik gösterir:

Windows - php.ini içinde açıkça belirtilmemişse, eklenti öntanımlı olarak c:\php5\ dizininden yüklenir.

Unix - php.ini içinde açıkça belirtilmemişse, öntanımlı eklenti dizinin yeri şunlara bağlıdır:

  • PHP'nin --enable-debug seçeneği ile derlenip derlenmediği;
  • PHP'nin ZTS (Zend Thread Safety) desteği ile derlenip derlenmediği;
  • geçerli yerleşik ZEND_MODULE_API_NO sabiti (Zend yerleşik modülü API numarası; genelde API modülünün değişiklik tarihidir. 20010901 gibi).
Bu durumlar hesaba katılarak eklentilerin öntanımlı yeri şöyle saptanır: <kurulum-dizini>/lib/php/extensions/ <debug/no-debug>-<zts/non-zts>-ZEND_MODULE_API_NO. Örnek: /usr/local/php/lib/php/extensions/debug-non-zts-20010901 veya /usr/local/php/lib/php/extensions/no-debug-zts-20010901.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Eğer modül yükleme işlevsel değilse (php.ini içinde enable_dl off yapılarak iptal edilmişse) bir E_ERROR iletisi çıktılanıp çalışma durdurulur. Eğer işlev, kütüphane yüklenemediğinden dolayı başarısız olursa bir E_WARNING iletisi çıktılayarak falsedöndürür.

Örnekler

Örnek 1 - dl() örnekleri

<?php
// Platforma göre eklenti yüklemek
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}

// veya PHP_SHLIB_SUFFIX sabiti de kullanılabilir
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX === 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>

Notlar

Bilginize:

dl() Unix platformlarında harf büyüklüğüne duyarlıdır.

Ayrıca Bakınız

  • Eklenti Yükleme Yönergeleri
  • extension_loaded() - Belirtilen eklenti yüklü mü diye bakar


Belirtilen eklenti yüklü mü diye bakar

  • « dl
  • gc_collect_cycles »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Belirtilen eklenti yüklü mü diye bakar

extension_loaded

(PHP 4, PHP 5, PHP 7, PHP 8)

extension_loaded — Belirtilen eklenti yüklü mü diye bakar

Açıklama

extension_loaded(string $eklenti): bool

Belirtilen eklenti yüklü mü diye bakar.

Bağımsız Değişkenler

eklenti

Eklentinin ismi. Harf büyüklüğüne duyarsızdır.

Eklentilerin isimlerini phpinfo() işlevini kullanarak veya CGI / CLI sürümlerini kullanıyorsanız -m seçeneği ile listeleyebilirsiniz:

$ php -m
[PHP Modules]
xml
tokenizer
standard
sockets
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

Dönen Değerler

İsmi belirtilen eklenti yüklü ise true, değilse false döner.

Örnekler

Örnek 1 - extension_loaded() örneği

<?php
if (!extension_loaded('gd')) {
if (!dl('gd.so')) {
exit;
}
}
?>

Ayrıca Bakınız

  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • get_extension_funcs() - Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • dl() - Belirtilen PHP eklentisini çalışma anında yükler
  • function_exists() - Eğer işlev tanımlanmış ise true döndürür


Çöp döngülerin toplanması için zorlar

  • « extension_loaded
  • gc_disable »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çöp döngülerin toplanması için zorlar

gc_collect_cycles

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_collect_cycles — Çöp döngülerin toplanması için zorlar

Açıklama

gc_collect_cycles(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Çöp döngülerin toplanması için zorlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Toplanan çöp döngü sayısı ile döner.

Ayrıca Bakınız

  • Çöp Toplayıcı


Döngüsel gönderim toplayıcısını etkisiz kılar

  • « gc_collect_cycles
  • gc_enable »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Döngüsel gönderim toplayıcısını etkisiz kılar

gc_disable

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_disable — Döngüsel gönderim toplayıcısını etkisiz kılar

Açıklama

gc_disable(): void

zend.enable_gc yönergesine 0 atayıp döngüsel gönderim toplayıcısını etkisiz kılar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Çöp Toplayıcı


Döngüsel gönderim toplayıcısını etkin kılar

  • « gc_disable
  • gc_enabled »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Döngüsel gönderim toplayıcısını etkin kılar

gc_enable

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_enable — Döngüsel gönderim toplayıcısını etkin kılar

Açıklama

gc_enable(): void

zend.enable_gc yönergesine 1 atayıp döngüsel gönderim toplayıcısını etkin kılar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Çöp Toplayıcı


Döngüsel gönderim toplayıcısının durumunu döndürür

  • « gc_enable
  • gc_mem_caches »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Döngüsel gönderim toplayıcısının durumunu döndürür

gc_enabled

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gc_enabled — Döngüsel gönderim toplayıcısının durumunu döndürür

Açıklama

gc_enabled(): bool

Döngüsel gönderim toplayıcısının (çöp toplayıcı) durumunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çöp toplayıcı etkinse true değilse false döner.

Örnekler

Örnek 1 - gc_enabled() örneği

<?php
if(gc_enabled()) gc_collect_cycles();
?>

Ayrıca Bakınız

  • Çöp Toplayıcı


Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır

  • « gc_enabled
  • gc_status »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır

gc_mem_caches

(PHP 7, PHP 8)

gc_mem_caches — Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır

Açıklama

gc_mem_caches(): int

Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Serbest bırakılan bayt sayısı.

Ayrıca Bakınız

  • Garbage Collection


Çöp toplayıcı hakkında bilgi döndürür

  • « gc_mem_caches
  • get_cfg_var »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çöp toplayıcı hakkında bilgi döndürür

gc_status

(PHP 7 >= 7.3.0, PHP 8)

gc_status — Çöp toplayıcı hakkında bilgi döndürür

Açıklama

gc_status(): array

Çöp toplayıcının geçerli durumu hakkında bilgi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Aşağıdaki anahtarları içeren iklişkisel dizi döner:

  • "runs"
  • "collected"
  • "threshold"
  • "roots"

Örnekler

Örnek 1 - gc_status() örneği

<?php
// çöp toplayıcıya gereken nesne ağacını oluştur
$a = new stdClass();
$a->b = [];
for ($i = 0; $i < 100000; $i++) {
$b = new stdClass();
$b->a = $a;
$a->b[] = $b;
}
unset($a);
unset($b);
gc_collect_cycles();

var_dump(gc_status());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  ["runs"]=>
  int(5)
  ["collected"]=>
  int(100002)
  ["threshold"]=>
  int(50001)
  ["roots"]=>
  int(0)
}

Ayrıca Bakınız

  • Garbage Collection


Belirtilen PHP yönergesinin değerini döndürür

  • « gc_status
  • get_current_user »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Belirtilen PHP yönergesinin değerini döndürür

get_cfg_var

(PHP 4, PHP 5, PHP 7, PHP 8)

get_cfg_var — Belirtilen PHP yönergesinin değerini döndürür

Açıklama

get_cfg_var(string $yönerge): string|array|false

Belirtilen PHP yapılandırma yönergesininin değerini döndürür.

Bu işlev, PHP yapılandırılırken kullanılan yapılandırma seçeneklerini döndürmediği gibi Apache yapılandırma dosyasını da okumaz.

Sistemin bir yapılandırma dosyası kullanıp kullanmadığını cfg_file_path yönergesinin değerine bakarak öğrenebilirsiniz. Bir değer atanmışsa yapılandırma dosyası kullanılıyordur.

Bağımsız Değişkenler

yönerge

Yapılandırma yönergesinin ismi.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde belirtilen PHP yapılandırma yönergesinin değerini döndürür.

Ayrıca Bakınız

  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • ini_get_all() - Tüm yapılandırma yönergelerini döndürür


PHP betiğinin sahibininin kullanıcı ismini döndürür

  • « get_cfg_var
  • get_defined_constants »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP betiğinin sahibininin kullanıcı ismini döndürür

get_current_user

(PHP 4, PHP 5, PHP 7, PHP 8)

get_current_user — PHP betiğinin sahibininin kullanıcı ismini döndürür

Açıklama

get_current_user(): string

Betik sahibininin kullanıcı ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı ismi bir dizge olarak döner.

Örnekler

Örnek 1 - get_current_user() örneği

<?php
echo 'Betiğin sahibi: ' . get_current_user();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Betiğin sahibi: SYSTEM

Ayrıca Bakınız

  • getmyuid() - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • getmygid() - PHP betiğinin sahibinin grup kimliğini döndürür
  • getmypid() - PHP'nin süreç kimliğini (PID) döndürür
  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür

  • « get_current_user
  • get_extension_funcs »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

get_defined_constants — Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür

Açıklama

get_defined_constants(bool $sınıfla = false): array

Tanımlı olan tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür. Eklentilerce oluşturulanların yanında define() işleviyle tanımlananları da döndürür.

Bağımsız Değişkenler

sınıfla

true belirtildiği takdirde, dizinin içerdiği sabitler dizinin ilk anahtarlarının altında sınıflandırılırlar.

<?php
define("SABİT", 1);
print_r(get_defined_constants(true));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [Core] => Array
        (
            [E_ERROR] => 1
            [E_WARNING] => 2
            [E_PARSE] => 4
            [E_NOTICE] => 8
            [E_CORE_ERROR] => 16
            [E_CORE_WARNING] => 32
            [E_COMPILE_ERROR] => 64
            [E_COMPILE_WARNING] => 128
            [E_USER_ERROR] => 256
            [E_USER_WARNING] => 512
            [E_USER_NOTICE] => 1024
            [E_ALL] => 2047
            [TRUE] => 1
        )

    [pcre] => Array
        (
            [PREG_PATTERN_ORDER] => 1
            [PREG_SET_ORDER] => 2
            [PREG_OFFSET_CAPTURE] => 256
            [PREG_SPLIT_NO_EMPTY] => 1
            [PREG_SPLIT_DELIM_CAPTURE] => 2
            [PREG_SPLIT_OFFSET_CAPTURE] => 4
            [PREG_GREP_INVERT] => 1
        )

    [user] => Array
        (
            [SABİT] => 1
        )

)

Dönen Değerler

sabit_adı => sabit_değeri dizisini döndürür. Seçimlik olarak, sabitler eklenti isimlerine göre gruplandırılır.

Örnekler

Örnek 1 - get_defined_constants() örneği

<?php
print_r(get_defined_constants());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [E_ERROR] => 1
    [E_WARNING] => 2
    [E_PARSE] => 4
    [E_NOTICE] => 8
    [E_CORE_ERROR] => 16
    [E_CORE_WARNING] => 32
    [E_COMPILE_ERROR] => 64
    [E_COMPILE_WARNING] => 128
    [E_USER_ERROR] => 256
    [E_USER_WARNING] => 512
    [E_USER_NOTICE] => 1024
    [E_ALL] => 2047
    [TRUE] => 1
)

Ayrıca Bakınız

  • defined() - Belirtilen isimli sabit tanımlı mı diye bakar
  • constant() - Bir sabitin değerini döndürür
  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • get_defined_functions() - Tanımlanmış bütün işlevleri içeren bir dizi döndürür
  • get_defined_vars() - Tüm tanımlı değişkenleri içeren bir dizi döndürür


Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür

  • « get_defined_constants
  • get_include_path »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür

get_extension_funcs

(PHP 4, PHP 5, PHP 7, PHP 8)

get_extension_funcs — Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür

Açıklama

get_extension_funcs(string $eklenti): array|false

eklenti ile belirtilen modülde tanımlı tüm işlevlerin isimlerini bir dizi içinde döndürür.

Bağımsız Değişkenler

eklenti

Modülün ismi.

Bilginize:

Bu bağımsız değişken küçük harflerle yazılmalıdır.

Dönen Değerler

eklenti geçerli bir eklenti ismi değilse false, aksi takdirde tüm işlev isimlerini içeren bir dizi döner.

Örnekler

Örnek 1 - XML işlevlerinin listesi

<?php
print_r(get_extension_funcs("xml"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => xml_parser_create
    [1] => xml_parser_create_ns
    [2] => xml_set_object
    [3] => xml_set_element_handler
    [4] => xml_set_character_data_handler
    [5] => xml_set_processing_instruction_handler
    [6] => xml_set_default_handler
    [7] => xml_set_unparsed_entity_decl_handler
    [8] => xml_set_notation_decl_handler
    [9] => xml_set_external_entity_ref_handler
    [10] => xml_set_start_namespace_decl_handler
    [11] => xml_set_end_namespace_decl_handler
    [12] => xml_parse
    [13] => xml_parse_into_struct
    [14] => xml_get_error_code
    [15] => xml_error_string
    [16] => xml_get_current_line_number
    [17] => xml_get_current_column_number
    [18] => xml_get_current_byte_index
    [19] => xml_parser_free
    [20] => xml_parser_set_option
    [21] => xml_parser_get_option
)

Ayrıca Bakınız

  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • ReflectionExtension::getFunctions() - Eklenti işlevlerini döndürür


include_path yönergesinin değerini döndürür

  • « get_extension_funcs
  • get_included_files »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • include_path yönergesinin değerini döndürür

get_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

get_include_path — include_path yönergesinin değerini döndürür

Açıklama

get_include_path(): string|false

include_path yönergesinin değerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dosya arama yollarını içeren bir dizge, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - get_include_path() örneği

<?php
echo get_include_path();

// veya ini_get kullanarak
echo ini_get('include_path');
?>

Ayrıca Bakınız

  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • restore_include_path() - include_path yönergesini eski değerine ayarlar
  • set_include_path() - include_path yönergesinin çalışma anı değerini belirler
  • include - include


Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür

  • « get_include_path
  • get_loaded_extensions »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür

get_included_files

(PHP 4, PHP 5, PHP 7, PHP 8)

get_included_files — Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür

Açıklama

get_included_files(): array

include, include_once, require veya require_once kullanarak betiğe dahil edilen tüm dosyaların isimlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür.

Betiğin kendisi de içerilmiş bir dosya olarak ele alınır ve ismi dönen diziye dahil edilir.

Betiğe birden fazla dahil edilen dosyaların isimleri dönen dizi içinde bir kere zikredilir.

Örnekler

Örnek 1 - get_included_files() örneği

<?php
// Dosyanın kendi ismi: abc.php

include 'test1.php';
include_once 'test2.php';
require 'test3.php';
require_once 'test4.php';

$included_files = get_included_files();

foreach ($included_files as $filename) {
echo "$filename\n";
}

?>

Yukarıdaki örneğin çıktısı:

/path/to/abc.php
/path/to/test1.php
/path/to/test2.php
/path/to/test3.php
/path/to/test4.php

Ayrıca Bakınız

  • include - include
  • include_once - include_once
  • require - require
  • require_once - require_once
  • get_required_files() - get_included_files işlevinin takma adıdır


Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür

  • « get_included_files
  • get_magic_quotes_gpc »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür

get_loaded_extensions

(PHP 4, PHP 5, PHP 7, PHP 8)

get_loaded_extensions — Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür

Açıklama

get_loaded_extensions(bool $zend_eklentileri = false): array

PHP yorumlayıcı içinde derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür.

Bağımsız Değişkenler

zend_eklentileri

Öntanımlı değeri false olup, bu durumda Zend eklentilerini listelemez, mysqli gibi normal eklentileri listeler.

Dönen Değerler

Tüm modül isimlerini içeren indisli bir dizi ile döner.

Örnekler

Örnek 1 - get_loaded_extensions() örneği

<?php
print_r(get_loaded_extensions());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Core
    [1] => date
    [2] => libxml
    [3] => pcre
    [4] => sqlite3
    [5] => zlib
    [6] => ctype
    [7] => dom
    [8] => fileinfo
    [9] => filter
    [10] => hash
    [11] => json
// Kısaltıldı
    [31] => Zend OPcache
)

Ayrıca Bakınız

  • get_extension_funcs() - Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür
  • extension_loaded() - Belirtilen eklenti yüklü mü diye bakar
  • dl() - Belirtilen PHP eklentisini çalışma anında yükler
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar


magic_quotes_gpc yönergesinin değerini döndürür

  • « get_loaded_extensions
  • get_magic_quotes_runtime »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • magic_quotes_gpc yönergesinin değerini döndürür

get_magic_quotes_gpc

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_gpc — magic_quotes_gpc yönergesinin değerini döndürür

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

get_magic_quotes_gpc(): false

Daima false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlev kullanımdan kaldırıldı.

Ayrıca Bakınız

  • addslashes() - Özel karakterlerin önüne tersbölü yerleştirir
  • stripslashes() - Bir dizgeden tersbölüleri ayıklar
  • get_magic_quotes_runtime() - magic_quotes_runtime yönergesinin çalışma anı değerini döndürür
  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür


magic_quotes_runtime yönergesinin çalışma anı değerini döndürür

  • « get_magic_quotes_gpc
  • get_required_files »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • magic_quotes_runtime yönergesinin çalışma anı değerini döndürür

get_magic_quotes_runtime

(PHP 4, PHP 5, PHP 7)

get_magic_quotes_runtime — magic_quotes_runtime yönergesinin çalışma anı değerini döndürür

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

get_magic_quotes_runtime(): false

Her zaman false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Her zaman false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlevin kullanımı artık önerilmiyor.

Ayrıca Bakınız

  • get_magic_quotes_gpc() - magic_quotes_gpc yönergesinin değerini döndürür


get_included_files işlevinin takma adıdır

  • « get_magic_quotes_runtime
  • get_resources »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • get_included_files işlevinin takma adıdır

get_required_files

(PHP 4, PHP 5, PHP 7, PHP 8)

get_required_files — get_included_files() işlevinin takma adıdır

Açıklama

Bu işlev get_included_files() işlevinin takma adıdır.


Etkin özkaynakları döndürür

  • « get_required_files
  • getenv »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Etkin özkaynakları döndürür

get_resources

(PHP 7, PHP 8)

get_resources — Etkin özkaynakları döndürür

Açıklama

get_resources(?string $tür = null): array

Etkin özkaynakların isteğe bağlı olarak belirtilen türdekilerini veya tümünü döndürür.

Bilginize: Bu işlev, hata ayıklama ve sınama amaçlıdır. Üretim ortamlarında kullanılmamalı, özellikle normalde erişilemeyen kaynaklara erişmemeli ve hatta bunları değiştirmemelidir (SplFileObject örneklerini oluşturan akım kaynağı gibi).

Bağımsız Değişkenler

tür

Belirtilmişse, işlevin sadede bu türdeki etkin özkaynakları döndürmesini sağlar. Bkz: Kullanılabilir özkaynak türlerinin listesi

Tür olarak Unknown dizgesi belirtilirse, sadece 'unknown' türündeki özkaynaklar döner.

Atlanırsa, tüm etkin özkaynaklar döner.

Dönen Değerler

Geçerli etkin özkaynakları numaralarına göre indislenmiş olarak içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tür artık null olabiliyor.

Örnekler

Örnek 1 - Tür'süz get_resources() örneği

<?php
$fp = tmpfile();
var_dump(get_resources());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [1]=>
  resource(1) of type (stream)
}

Örnek 2 - Tür'lüget_resources() örneği

<?php
$fp = tmpfile();
var_dump(get_resources('stream'));
var_dump(get_resources('curl'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [1]=>
  resource(1) of type (stream)
}
array(0) {
}

Ayrıca Bakınız

  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • get_defined_constants() - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
  • get_defined_functions() - Tanımlanmış bütün işlevleri içeren bir dizi döndürür
  • get_defined_vars() - Tüm tanımlı değişkenleri içeren bir dizi döndürür


Ortam değişkenlerinden birinin veya tümünün değerini döndürür

  • « get_resources
  • getlastmod »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Ortam değişkenlerinden birinin veya tümünün değerini döndürür

getenv

(PHP 4, PHP 5, PHP 7, PHP 8)

getenv — Ortam değişkenlerinden birinin veya tümünün değerini döndürür

Açıklama

getenv(?string $değişken = null, bool $yerel = false): string|array|false

Ortam değişkenlerinden birinin veya tümünün değerini döndürür.

Tüm ortam değişkenlerini phpinfo() işlevini kullanarak bir liste halinde görebilirsiniz. Bunların pek çoğunun anlamlarını » RFC 3875 belgesinin özellikle 4.1 "Request Meta-Variables" bölümünde bulabilirsiniz.

Bağımsız Değişkenler

değişken

Ortam değişkeninin ismi, null olabilir.

yerel

true belirtilirse, yalnızca değişken bir dizge ise yalnızca yerel ortam değişkenleri (işletim sistemi veya putenv ile atanır) döner.

Dönen Değerler

değişken diye bir ortam değişkeni yoksa false aksi takdirde belirtilen ortam değişkeninin değerini döndürür. değişken null ise, tüm ortam değişkenlerini içeren ilişkisel bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | değişken artık null olabiliyor.
7.1.0 | değişken artık atlanabiliyor, bu durumda tüm ortam değişkenlerini içeren ilişkisel bir dizi dönüyor.
7.0.9 | yerel bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - getenv() örneği

<?php
// getenv() kullanım örneği
$ip = getenv('REMOTE_ADDR');

//Veya basitçe bir süper küresel kullan ($_SERVER veya $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];

// Bir ortam değişkeninin değeri, bir SAPI tarafından ayarlanıp
// ayarlanmadığına veya putenv ile değiştirilip değiştirilmediğine
// bakılmaksızın rahatça alınabilir
$ip = getenv('REMOTE_ADDR', true) ?: getenv('REMOTE_ADDR')
?>

Notlar

Uyarı

PHP, Fast CGI gibi bir SAPI olarak çalışıyorsa, bu işlev daima SAPI tarafından atanan bir ortam değişkeninin değerini döndürür (putenv() ile aynı isimde yerel bir ortam değişkeni tanımlanmış olsa bile). Yerel olarak tanımlanmış ortam değişkenlerini döndürmek için yerel bağımsız değişkeni kullanılır.

Ayrıca Bakınız

  • putenv() - Bir ortam değişkenine değer atar
  • apache_getenv() - Bir Apache ortam değişkeninin değerini döndürür
  • Süper Küreseller


Çalışan betiğin son değişiklik zamanını döndürür

  • « getenv
  • getmygid »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çalışan betiğin son değişiklik zamanını döndürür

getlastmod

(PHP 4, PHP 5, PHP 7, PHP 8)

getlastmod — Çalışan betiğin son değişiklik zamanını döndürür

Açıklama

getlastmod(): int|false

Çalışan betiğin son değişiklik zamanını döndürür.

Başka bir dosyanın değişiklik zamanıyla ilgileniyorsanız filemtime() işlevine bakın.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli betiğin son değişiklik zamanını date() işlevinde kullanılabilen bir Unix zaman damgası olarak döndürür. Hata oluşursa false döner.

Örnekler

Örnek 1 - getlastmod() örneği

<?php
$fmt = datefmt_create("tr_TR", IntlDateFormatter::FULL,
IntlDateFormatter::FULL,'Europe/Istanbul',
IntlDateFormatter::GREGORIAN, "dd MMMM yyyy HH:mm:ss");
// Çıktısı: 'Son değişiklik: 13 Şubat 2009 14:10:09'
echo "Son değişiklik: " . datefmt_format ($fmt, getlastmod());
?>

Ayrıca Bakınız

  • date() - Unix zaman damgasını biçimlendirir
  • getmyuid() - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • getmygid() - PHP betiğinin sahibinin grup kimliğini döndürür
  • get_current_user() - PHP betiğinin sahibininin kullanıcı ismini döndürür
  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • getmypid() - PHP'nin süreç kimliğini (PID) döndürür
  • filemtime() - Dosyanın değişiklik zamanını döndürür


PHP betiğinin sahibinin grup kimliğini döndürür

  • « getlastmod
  • getmyinode »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP betiğinin sahibinin grup kimliğini döndürür

getmygid

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

getmygid — PHP betiğinin sahibinin grup kimliğini döndürür

Açıklama

getmygid(): int|false

Betik sahibinin grup kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata oluşursa false, aksi takdirde betik sahibinin grup kimliğini döndürür.

Ayrıca Bakınız

  • getmyuid() - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • getmypid() - PHP'nin süreç kimliğini (PID) döndürür
  • get_current_user() - PHP betiğinin sahibininin kullanıcı ismini döndürür
  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


Çalışan betiğin dosya düğümü numarasını döndürür

  • « getmygid
  • getmypid »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çalışan betiğin dosya düğümü numarasını döndürür

getmyinode

(PHP 4, PHP 5, PHP 7, PHP 8)

getmyinode — Çalışan betiğin dosya düğümü numarasını döndürür

Açıklama

getmyinode(): int|false

Çalışan betiğin dosya düğümü numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata oluşursa false, aksi takdirde çalışan betiğin dosya düğümü numarasını bir tamsayı olarak döndürür.

Ayrıca Bakınız

  • getmygid() - PHP betiğinin sahibinin grup kimliğini döndürür
  • getmyuid() - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • getmypid() - PHP'nin süreç kimliğini (PID) döndürür
  • get_current_user() - PHP betiğinin sahibininin kullanıcı ismini döndürür
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


PHP'nin süreç kimliğini (PID) döndürür

  • « getmyinode
  • getmyuid »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP'nin süreç kimliğini (PID) döndürür

getmypid

(PHP 4, PHP 5, PHP 7, PHP 8)

getmypid — PHP'nin süreç kimliğini (PID) döndürür

Açıklama

getmypid(): int|false

PHP'nin süreç kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata oluşursa false, aksi takdirde PHP süreç kimliği döner.

Notlar

Uyarı

Süreç kimlikleri eşsiz değildir, bu bakımdan güvenlikle ilgili konularda güvenilir değildir.

Ayrıca Bakınız

  • getmygid() - PHP betiğinin sahibinin grup kimliğini döndürür
  • getmyuid() - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
  • get_current_user() - PHP betiğinin sahibininin kullanıcı ismini döndürür
  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


PHP betiğinin sahibinin kullanıcı kimliğini döndürür

  • « getmypid
  • getopt »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP betiğinin sahibinin kullanıcı kimliğini döndürür

getmyuid

(PHP 4, PHP 5, PHP 7, PHP 8)

getmyuid — PHP betiğinin sahibinin kullanıcı kimliğini döndürür

Açıklama

getmyuid(): int|false

Betik sahibinin kullanıcı kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata oluşursa false, aksi takdirde betik sahibinin kullanıcı kimliğini döndürür.

Ayrıca Bakınız

  • getmygid() - PHP betiğinin sahibinin grup kimliğini döndürür
  • getmypid() - PHP'nin süreç kimliğini (PID) döndürür
  • get_current_user() - PHP betiğinin sahibininin kullanıcı ismini döndürür
  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür

  • « getmyuid
  • getrusage »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür

getopt

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

getopt — Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür

Açıklama

getopt(string $kısa_seçenekler, array $uzun_seçenekler = [], int &$kalan_indisi = null): array|false

Betiğe aktarılan seçenekleri çözümler.

Bağımsız Değişkenler

kısa_seçenekler
Bir dizge olup, dizgenin her karakteri bir seçenek karakteri olarak kullanılır ve bu karakterlerle eşleşen seçenekler önlerine birer tire imi (-) konarak betik çalıştırılırken komut satırından belirtilebilir. Örneğin, "x" seçenek dizgesi -x seçeneğinin tanınmasını sağlar. Sadece a-z, A-Z ve 0-9 karakterlerine izin verilir.
uzun_seçenekler
Bir dizi olup, dizinin her elemanı bir seçenek dizgesi olarak kullanılır ve bu dizgelerle eşleşen seçenekler önlerine birer çift tire imi (--) konarak betik çalıştırılırken komut satırından belirtilebilir. Örneğin, "opt" elemanı --opt seçeneğinin tanınmasını sağlar.
kalan_indisi
kalan_indisi bağımsız değişkeni belirtilmişse, bağımsız değişken çözümlemesinin durduğu indis bu değişkene yazılacaktır.

kısa_seçenekler bağımsız değişkeni şu bileşenleri içerebilir:

  • Tek tek karakterler (değerler kabul edilmez)
  • Ardına tek bir iki nokta imi konmuş karakterler (bağımsız değişkenin değer gerektirdiğini belirtir)
  • Ardına bir çift iki nokta imi konmuş karakterler (bağımsız değişkenin isteğe bağlı değer kabul ettiğini belirtir)
Seçenek değerleri dizgeden sonraki ilk bağımsız değişkendir. Bir değer gerekliyse değerin sonunda boşluk bulunup bulunmadığına bakılmaz.

Bilginize: İsteğe bağlı değerler bir ayraç olarak " " (boşluk) kabul etmezler.

uzun_seçenekler dizisinin içerebileceği değerler:

  • Sizge (bağımsız değişken değer kabul etmez)
  • Ardına tek bir iki nokta imi konmuş dizge (bağımsız değişken değer gerektirir)
  • Ardına bir çift iki nokta imi konmuş dizge (seçimlik değer)

Bilginize:

kısa_seçenekler ve uzun_seçenekler için biçem hemen hemen aynıdır. Tek fark, birincisinin bir dizge (her karakter bir seçenek) ikincisinin bir dizi (her eleman bir seçenek) almasıdır.

Dönen Değerler

Bağımsız değişken çiftlerini içeren bir dizi, başarısızlık durumunda false döner.

Bilginize:

Seçeneklerin çözümlenmesi seçenek olmayan ilk değerde durur, kalan herşey yok sayılır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | kalan_indisi bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - getopt() örneği - temeller

<?php
// Betik: example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fdeğer -h

Yukarıdaki örneğin çıktısı:

array(2) {
  ["f"]=>
  string(5) "değer"
  ["h"]=>
  bool(false)
}

Örnek 2 - getopt() ve uzun seçenekler

<?php
// Betik: betik.php
$kısalar = "";
$kısalar .= "f:"; // Değer, zorunlu
$kısalar .= "v::"; // Değer, seçimlik
$kısalar .= "abc"; // Bunlar değer kabul etmez

$uzunlar = array(
"gerekli:", // Değer, zorunlu
"seçimlik::", // Değer, seçimlik
"seçenek", // Değer kabul etmez
"sçnk", // Değer kabul etmez
);
$seçenekler = getopt($kısalar, $uzunlar);
var_dump($seçenekler);
?>
shell> php betik.php -f "f değeri" -v -a --gerekli değer --seçimlik="seçimlik değer" --seçenek

Yukarıdaki örneğin çıktısı:

array(6) {
  ["f"]=>
  string(9) "f değeri"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["gerekli"]=>
  string(6) "değer"
  ["seçimlik"]=>
  string(16) "seçimlik değer"
  ["seçenek"]=>
  bool(false)
}

Örnek 3 - getopt() ve çoklu-tek seçenek

Çok sayıda seçeneğin tek bir seçenek olarak verilmesi:

<?php
// Betik: betik.php
$options = getopt("abc");
var_dump($options);
?>
shell> php betik.php -aaac

Yukarıdaki örneğin çıktısı:

array(2) {
  ["a"]=>
  array(3) {
    [0]=>
    bool(false)
    [1]=>
    bool(false)
    [2]=>
    bool(false)
  }
  ["c"]=>
  bool(false)
}

Örnek 4 getopt() ve kalan_indisi kullanımı

<?php
// Betik: example.php
$rest_index = null;
$opts = getopt('a:b:', [], $rest_index);
$pos_args = array_slice($argv, $rest_index);
var_dump($pos_args);
shell> php example.php -a 1 -b 2 -- test

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  string(4) "test"
}

Ayrıca Bakınız

  • $argv


Geçerli özkaynak kullanımlarını döndürür

  • « getopt
  • ini_alter »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Geçerli özkaynak kullanımlarını döndürür

getrusage

(PHP 4, PHP 5, PHP 7, PHP 8)

getrusage — Geçerli özkaynak kullanımlarını döndürür

Açıklama

getrusage(int $kip = 0): array|false

getrusage(2) için bir arayüz olup sistem çağırısından dönen veriyi döndürür.

Bağımsız Değişkenler

kip

1 belirtilirse getrusage RUSAGE_CHILDREN ile çağrılır.

Dönen Değerler

Sistem çağrısından dönen veriyi içeren bir ilişkisel dizi döner. Tüm girdilere belgelenmiş alan isimleri kullanılarak erişilebilir. Başarısız olursa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.0 | Bu işlev artık Windows'ta destekleniyor.

Örnekler

Örnek 1 - getrusage() örneği

<?php
$dat = getrusage();
echo $dat["ru_oublock"]; // küme çıktı işlemlerinin sayısı
echo $dat["ru_inblock"]; // küme girdi işlemlerinin sayısı
echo $dat["ru_msgsnd"]; // gönderilmiş IPC iletilerinin sayısı
echo $dat["ru_msgrcv"]; // alınmış IPC iletilerinin sayısı
echo $dat["ru_maxrss"]; // azami yerleşik atama boyutu
echo $dat["ru_ixrss"]; // bütünleşik paylaşılan bellek boyutu
echo $dat["ru_idrss"]; // bütünleşik paylaşılmamış veri boyutu
echo $dat["ru_minflt"]; // geri kazanılmış sayfa sayısı (bellek sayfası hataları)
echo $dat["ru_majflt"]; // sayfa hatası sayısı (sabit disk sayfası hataları)
echo $dat["ru_nsignals"]; // alınan sinyal sayısı
echo $dat["ru_nvcsw"]; // istemli bağlam anahtarı sayısı
echo $dat["ru_nivcsw"]; // istemsiz bağlam anahtarı sayısı
echo $dat["ru_nswap"]; // takas alanlarının sayısı
echo $dat["ru_utime.tv_usec"]; // kullanılan kullanıcı süresi (mikrosaniye)
echo $dat["ru_utime.tv_sec"]; // kullanılan kullanıcı zamanı (saniye)
echo $dat["ru_stime.tv_usec"]; // kullanılan sistem zamanı (mikrosaniye)
echo $dat["ru_stime.tv_sec"]; // kullanılan sistem zamanı (saniye)
?>

Notlar

Bilginize:

Windows'ta getrusage() sadece aşağıdaki üyeleri döndürür:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"
  • "ru_majflt" (sadece kip RUSAGE_SELF ise)
  • "ru_maxrss" (sadece kip RUSAGE_SELF ise)

getrusage() işlevi kipe 1 atanarak çağrılmışsa (RUSAGE_CHILDREN), evreler için kaynak kullanımı toplanır (yani işlev dahili olarak RUSAGE_THREAD ile çağrılır).

Bilginize:

BeOS 2000 üzerinde, sadece aşağıdaki üyeler döner:

  • "ru_stime.tv_sec"
  • "ru_stime.tv_usec"
  • "ru_utime.tv_sec"
  • "ru_utime.tv_usec"

Ayrıca Bakınız

  • Sisteminizdeki getrusage(2) kılavuz sayfası


ini_set işlevinin takma adıdır

  • « getrusage
  • ini_get_all »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • ini_set işlevinin takma adıdır

ini_alter

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_alter — ini_set() işlevinin takma adıdır

Açıklama

Bu işlev, ini_set() işlevinin takma adıdır.


Tüm yapılandırma yönergelerini döndürür

  • « ini_alter
  • ini_get »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Tüm yapılandırma yönergelerini döndürür

ini_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ini_get_all — Tüm yapılandırma yönergelerini döndürür

Açıklama

ini_get_all(?string $eklenti = null, bool $ayrıntılı = true): array|false

Kayıtlı yapılandırma seçeneklerinin hepsini değerleriyle döndürür.

Bağımsız Değişkenler

eklenti

İsteğe bağlı olarak bir eklenti ismi. null değilse ve core dizgesi belirtilmemişse sadece belirtilen eklentiye özgü yönergeler döndürülür.

ayrıntılı

Ya her ayarın geçerli değeri ya da her ayarın ayrıntılı değerleri döndürülür. Öntanımlı olan true değeri ayrıntılı bir çıktı üretir.

Dönen Değerler

Yönerge isimlerinin dizinin anahtarları olduğu bir dizi döner. eklenti bağımsız değişkeni atlanmışsa false döner ve E_WARNING seviyesinde bir hata oluşur.

ayrıntılı bağımsız değişkeni true (öntanımlı) olduğu takdirde dizinin her elemanı, anahtarları global_value (php.ini'de atanmış değer), local_value (ini_set() veya .htaccess üzerinden atanmış değer), ve access (erişim seviyesi) olan bir alt dizi içerir.

ayrıntılı bağımsız değişkeni false olduğu takdirde her elemanın değeri sadece yönergenin geçerli değerini içerecektir.

Bkz. Yapılandırma ayarlarının yeri

Bilginize:

Bir yönergenin, access anahtarı altında bir bit maskesi değeri olarak çok sayıda erişim seviyesine sahip olması mümkündür.

Örnekler

Örnek 1 - ini_get_all() örnekleri

<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Örnek 2 - Ayrıntısız listeleme

<?php
print_r(ini_get_all("pcre", false)); // PHP 5.3.0'dan itibaren
print_r(ini_get_all(null, false)); // PHP 5.3.0'dan itibaren
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Notlar

Bilginize:

ini_get_all() işlevi pdo.dsn.* gibi "dizi" ini yönergelerini yok sayar.

Ayrıca Bakınız

  • Yapılandırma ayarlarının değiştirilmesi
  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • ini_restore() - Bir yapılandırma yönergesine eski değerini atar
  • ini_set() - Bir yapılandırma yönergesine değer atar
  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • ReflectionExtension::getINIEntries() - Eklentinin ini girdilerini döndürür


Bir yapılandırma yönergesinin değerini döndürür

  • « ini_get_all
  • ini_parse_quantity »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Bir yapılandırma yönergesinin değerini döndürür

ini_get

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_get — Bir yapılandırma yönergesinin değerini döndürür

Açıklama

ini_get(string $yönerge): string|false

Belirtilen yapılandırma yönergesinin değerini döndürür.

Bağımsız Değişkenler

yönerge

yapılandırma yönergesinin ismi.

Dönen Değerler

Başarısızlık durumunda ve null bağımsız değişken için boş bir dizge, belirtilen yapılandırma seçeneği mevcut değilse false, aksi takdirde yapılandırma yönergesinin değeri ile döner.

Örnekler

Örnek 1 - ini_get() örnekleri

<?php
/*
php.ini dosyamız şu ayarları içeriyor:

display_errors = On
register_globals = Off
post_max_size = 8M
*/

echo 'display_errors = ' . ini_get('display_errors') . "\n";
echo 'register_globals = ' . ini_get('register_globals') . "\n";
echo 'post_max_size = ' . ini_get('post_max_size') . "\n";
echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "\n";
echo 'post_max_size (bayt olarak) = ' . return_bytes(ini_get('post_max_size'));

function return_bytes($val) {
$val = trim($val);
$last = strtolower($val[strlen($val)-1]);
switch($last) {
// 'G' birimi kullanılabilir
case 'g':
$val *= 1024;
case 'm':
$val *= 1024;
case 'k':
$val *= 1024;
}

return $val;
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

display_errors = 1
register_globals = 0
post_max_size = 8M
post_max_size+1 = 9
post_max_size (bayt olarak) = 8388608

Notlar

Bilginize: Mantıksal değerleri sorgularken

Bir mantıksal ini değeri olarak off, boş bir dizge veya "0" olarak dönerken, on değeri "1" olarak dönecektir. Bu işlev ayrıca yönergenin değerini birebir dizge olarak da döndürebilir.

Bilginize: Bellek miktarı değerlerini sorgularken

upload_max_filesize yönergesinde olduğu gibi pek çok bellek miktarı değeri, php.ini dosyasında kısa gösterimleriyle saklanabilir. ini_get() işlevi, yönergenin değeri olarak değerin int türündeki eşdeğerini değil, php.ini dosyasında saklandığı haliyle string türündeki değerini döndürür. Bu bakımdan, bu değer üzerindeki aritmetik işlemler beklenen sonuçları vermeyebilir. Yukarıdaki örnekte, kısa gösterimi bayt cinsinden bir değere dönüştürmenin yolu gösterilmektedir.

Bilginize:

ini_get_all() işlevi pdo.dsn.* gibi dizi ini yönergelerini okuyamaz ve bu durumda false döndürür.

Ayrıca Bakınız

  • get_cfg_var() - Belirtilen PHP yönergesinin değerini döndürür
  • ini_get_all() - Tüm yapılandırma yönergelerini döndürür
  • ini_restore() - Bir yapılandırma yönergesine eski değerini atar
  • ini_set() - Bir yapılandırma yönergesine değer atar


Get interpreted size from ini shorthand syntax

  • « ini_get
  • ini_restore »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Get interpreted size from ini shorthand syntax

ini_parse_quantity

(PHP 8 >= 8.2.0)

ini_parse_quantity — Get interpreted size from ini shorthand syntax

Açıklama

ini_parse_quantity(string $shorthand): int

Returns the interpreted size in bytes on success from an ini shorthand.

Bağımsız Değişkenler

shorthand

Ini shorthand to parse, must be a number followed by an optional multiplier. The following multipliers are supported: k/K (1024), m/M (1048576), g/G (1073741824). The number can be a decimal, hex (prefixed with 0x or 0X), octal (prefixed with 0o, 0O or 0) or binary (prefixed with 0b or 0B)

Dönen Değerler

Returns the interpreted size in bytes as an int.

Hatalar/İstisnalar

If the value cannot be parsed, or an invalid multiplier is used, an E_WARNING is raised.

Örnekler

Örnek 1 A few ini_parse_quantity() examples

<?php

var_dump(ini_parse_quantity('1024'));
var_dump(ini_parse_quantity('1024M'));
var_dump(ini_parse_quantity('512K'));
var_dump(ini_parse_quantity('0xFFk'));
var_dump(ini_parse_quantity('0b1010k'));
var_dump(ini_parse_quantity('0o1024'));
var_dump(ini_parse_quantity('01024'));
var_dump(ini_parse_quantity('Foobar'));
var_dump(ini_parse_quantity('10F'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1024)
int(1073741824)
int(524288)
int(261120)
int(10240)
int(532)
int(532)

Warning: Invalid quantity "Foobar": no valid leading digits, interpreting as "0" for backwards compatibility
int(0)

Warning: Invalid quantity "10F": unknown multiplier "F", interpreting as "10" for backwards compatibility
int(10)

Ayrıca Bakınız

  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür


Bir yapılandırma yönergesine eski değerini atar

  • « ini_parse_quantity
  • ini_set »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Bir yapılandırma yönergesine eski değerini atar

ini_restore

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_restore — Bir yapılandırma yönergesine eski değerini atar

Açıklama

ini_restore(string $yönerge): void

Belirtilen yapılandırma yönergesine eski değeri atanır.

Bağımsız Değişkenler

yönerge

Yönergenin ismi.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ini_restore() örneği

<?php
$setting = 'html_errors';

echo '\'' . $setting . '\' yönergesinin şu anki değeri: ' . ini_get($setting), PHP_EOL;

ini_set($setting, ini_get($setting) ? 0 : 1);
echo '\'' . $setting . '\' yönergesinin yeni değeri: ' . ini_get($setting), PHP_EOL;

ini_restore($setting);
echo '\'' . $setting . '\' yönergesinin özgün değeri: ' . ini_get($setting), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

'html_errors' yönergesinin şu anki değeri: 1
'html_errors' yönergesinin yeni değeri: 0
'html_errors' yönergesinin özgün değeri: 1

Ayrıca Bakınız

  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • ini_get_all() - Tüm yapılandırma yönergelerini döndürür
  • ini_set() - Bir yapılandırma yönergesine değer atar


Bir yapılandırma yönergesine değer atar

  • « ini_restore
  • memory_get_peak_usage »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Bir yapılandırma yönergesine değer atar

ini_set

(PHP 4, PHP 5, PHP 7, PHP 8)

ini_set — Bir yapılandırma yönergesine değer atar

Açıklama

ini_set(string $yönerge, string|int|float|bool|null $değer): string|false

Belirtilen yapılandırma yönergesine belirtilen değeri atar. Bu ayarlama betiğinizin çalışma süresince geçerli kalır, betik sonlandığında eski değer geçerli olur.

Bağımsız Değişkenler

yönerge

ini_set() işlevi ile tüm yapılandırma yönergelerine değer atanamaz. Mevcut yapılandırma yönergelerinin listesini eklerde bulabilirsiniz.

değer

Yönergeye atanacak yeni değer.

Dönen Değerler

Atama işlemi başarılı olursa eski değer, aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | değer artık herhangi bir sayıl türü (null dahil) kabul ediyor. Evvelce sadece string türündeki değerleri kabul ediyordu.

Örnekler

Örnek 1 - Bir INI yönergesine değer atamak

<?php
echo ini_get('display_errors');

if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}

echo ini_get('display_errors');
?>

Ayrıca Bakınız

  • get_cfg_var() - Belirtilen PHP yönergesinin değerini döndürür
  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • ini_get_all() - Tüm yapılandırma yönergelerini döndürür
  • ini_restore() - Bir yapılandırma yönergesine eski değerini atar
  • Yapılandırma ayarlarının değiştirilmesi


PHP'ye ayrılan belleğin azami miktarını döndürür

  • « ini_set
  • memory_get_usage »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP'ye ayrılan belleğin azami miktarını döndürür

memory_get_peak_usage

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

memory_get_peak_usage — PHP'ye ayrılan belleğin azami miktarını döndürür

Açıklama

memory_get_peak_usage(bool $gerçek_kullanım = false): int

PHP betiğinize ayrılan azami belleğin bayt cinsinden miktarını döndürür.

Bağımsız Değişkenler

gerçek_kullanım

true olduğu takdirde sistem tarafından PHP'ye ayrılan gerçek bellek miktarı, false olduğunda veya bağımsız değişken belirtilmediğinde emalloc() tarafından kullanılan bellek miktarı raporlanır.

Dönen Değerler

Ayrılan azami belleğin bayt cinsinden miktarı.

Ayrıca Bakınız

  • memory_get_usage() - PHP'ye ayrılan belleğin miktarını döndürür
  • memory_reset_peak_usage() - Reset the peak memory usage
  • memory_limit


PHP'ye ayrılan belleğin miktarını döndürür

  • « memory_get_peak_usage
  • memory_reset_peak_usage »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP'ye ayrılan belleğin miktarını döndürür

memory_get_usage

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

memory_get_usage — PHP'ye ayrılan belleğin miktarını döndürür

Açıklama

memory_get_usage(bool $gerçek_kullanım = false): int

PHP betiğinize ayrılan belleğin bayt cinsinden miktarını döndürür.

Bağımsız Değişkenler

gerçek_kullanım

true olduğu takdirde sistem tarafından PHP'ye ayrılan gerçek bellek miktarı, false olduğunda veya bağımsız değişken belirtilmediğinde emalloc() tarafından kullanılan bellek miktarı raporlanır.

Bilginize:

PHP, emalloc() tarafından ayrılan belleği izlemez.

Dönen Değerler

Ayrılan belleğin bayt cinsinden miktarı.

Örnekler

Örnek 1 - memory_get_usage() örneği

<?php
// Bu sadece bir örnektir.
// Miktarlar, sisteminizde farklı olabilir.

echo memory_get_usage() . "\n"; // 36640

$a = str_repeat("Hello", 4242);

echo memory_get_usage() . "\n"; // 57960

unset($a);

echo memory_get_usage() . "\n"; // 36744

?>

Ayrıca Bakınız

  • memory_get_peak_usage() - PHP'ye ayrılan belleğin azami miktarını döndürür
  • memory_limit


Reset the peak memory usage

  • « memory_get_usage
  • php_ini_loaded_file »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Reset the peak memory usage

memory_reset_peak_usage

(PHP 8 >= 8.2.0)

memory_reset_peak_usage — Reset the peak memory usage

Açıklama

memory_reset_peak_usage(): void

Resets the peak memory usage returned by the memory_get_peak_usage() function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 memory_reset_peak_usage() example

<?php

var_dump(memory_get_peak_usage());

$a = str_repeat("Hello", 424242);
var_dump(memory_get_peak_usage());

unset($a);
memory_reset_peak_usage();

$a = str_repeat("Hello", 2424);
var_dump(memory_get_peak_usage());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(422440)
int(2508672)
int(399208)

Ayrıca Bakınız

  • memory_get_peak_usage() - PHP'ye ayrılan belleğin azami miktarını döndürür


Yüklü php.ini dosyasının dosya yolunu döndürür

  • « memory_reset_peak_usage
  • php_ini_scanned_files »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Yüklü php.ini dosyasının dosya yolunu döndürür

php_ini_loaded_file

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

php_ini_loaded_file — Yüklü php.ini dosyasının dosya yolunu döndürür

Açıklama

php_ini_loaded_file(): string|false

Bir php.ini dosyası yüklü mü diye bakar ve dosyanın yolunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

php.ini yüklüyse dosyanın yolu, değilse false döner.

Örnekler

Örnek 1 - php_ini_loaded_file() örneği

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
echo 'Yüklü php.ini: ' . $inipath;
} else {
echo 'Bir php.ini dosyası yüklü değil';
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yüklü php.ini: /usr/local/php/php.ini

Ayrıca Bakınız

  • php_ini_scanned_files() - Ek ini dizininden ayrıştırılan dosyaların listesi ile döner
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • Yapılandırma Dosyası


Ek ini dizininden ayrıştırılan dosyaların listesi ile döner

  • « php_ini_loaded_file
  • php_sapi_name »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Ek ini dizininden ayrıştırılan dosyaların listesi ile döner

php_ini_scanned_files

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

php_ini_scanned_files — Ek ini dizininden ayrıştırılan dosyaların listesi ile döner

Açıklama

php_ini_scanned_files(): string|false

php_ini_scanned_files() işlevi php.ini dosyasından sonra ayrıştırılan yapılandırma dosyalarını bir virgül ayraçlı liste olarak döndürür. Bu dizinler, derleme sırasında bir seçenek ile ve çalışma zamanında isteğe bağlı olarak bir ortam değişkeni tarafından taranır. Daha fazla bilgi Tarama Dizinleri bölümünde bulunabilir.

Döndürülen yapılandırma dosyaları tam dosya yolunu içerir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda .ini dosyalarının virgül ayraçlı listesini bir dizge olarak döndürür. Derleme sırasında --with-config-file-scan-dir seçeneği kullanılmamışsa ve PHP_INI_SCAN_DIR ortam değişkenine bir dizin atanmamışsa false döner. Bunlara dizin atanmış ama dizin tarandığında boşsa, boş dizge döner. INI dosyası olmayan bir dosyanın varlığı halinde dosya ismi listeye konur, fakat ek olarak bir PHP hatası çıktılanır. Bu PHP hatası hem derleme sırasında hem de php_ini_scanned_files() işlevi kullanıldığında görüntülenir.

Örnekler

Örnek 1 - Dönen ini dosyalarının listelenmesi

<?php
if ($filelist = php_ini_scanned_files()) {
if (strlen($filelist) > 0) {
$files = explode(',', $filelist);

foreach ($files as $file) {
echo "<li>" . trim($file) . "</li>\n";
}
}
}
?>

Ayrıca Bakınız

  • ini_set() - Bir yapılandırma yönergesine değer atar
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • php_ini_loaded_file() - Yüklü php.ini dosyasının dosya yolunu döndürür


HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür

  • « php_ini_scanned_files
  • php_uname »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür

php_sapi_name

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

php_sapi_name — HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür

Açıklama

php_sapi_name(): string|false

PHP'nin kullandığı arayüz (Sunucu API'si, SAPI) türünü belirten küçük harfli bir dizge döndürür. Örneğin CLI PHP için bu dizge "cli" olurken Apache ile kullanılan API'ye bağlı olarak değişiklik gösteribilir. Olası değerler aşağıda listelenmiştir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda küçük harfli bir dizge olarak arayüz türü, başarısızlık durumunda false döner.

Tamamı olmasa da olası değerler şunlardır: apache, apache2handler, cgi (PHP 5.3'e kadar), cgi-fcgi, cli, cli-server, embed, fpm-fcgi, litespeed, phpdbg.

Örnekler

Örnek 1 - php_sapi_name() örneği

Bu örnektecgi-fcgi değerini de kapsayan cgi alt dizgesinin varlığı aranmaktadır.

<?php
$sapi_type = php_sapi_name();
if (substr($sapi_type, 0, 3) == 'cgi') {
echo "CGI PHP kullanıyorsunuz\n";
} else {
echo "CGI PHP kullanmıyorsunuz\n";
}
?>

Notlar

Bilginize: Başka bir yaklaşım

PHP sabiti PHP_SAPI, php_sapi_name() işlevinden dönen değerin aynını içerir.

İpucu

Olası bir yanlış anlama

Tanımlı SAPI her zaman apaçık belli değildir. Apache örneğindeki gibi apache2handler olarak tanımlanmış olabilir.

Ayrıca Bakınız

  • PHP_SAPI


PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür

  • « php_sapi_name
  • phpcredits »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür

php_uname

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

php_uname — PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür

Açıklama

php_uname(string $kip = "a"): string

php_uname() işlevi PHP'nin üzerinde çalıştığı işletim sistemi hakkında bilgi döndürür. Bu bilgiyi phpinfo() çıktısının üst satırlarında da görebilirsiniz. İşletim sisteminin sadece ismini öğrenmek isterseniz PHP_OS sabitini kullanabilirsiniz; fakat bu sabiti kullanırken, sabitin, PHP'nin derlendiği işletim sistemi adını içereceğini unutmayın.

Bazı eski Unix sürümlerinde, üzerinde çalışılan işletim sistemi saptanamaz ve PHP üzerinde derlendiği işletim sistemi bilgisi gösterilir. Buna genellikle uname() kütüphane çağrısının mevcut olmadığı veya çalışmadığı sistemlerde rastlanır.

Bağımsız Değişkenler

kip

kip döndürülecek bilgi çeşidini belirtmek için kullanılan tek bir karakter içerebilir. Olası değerler:

  • 'a': Bu öntanımlıdır. "s n r v m" kiplerinin hepsini içerir.
  • 's': işletim sisteminin ismi. Örnek: FreeBSD.
  • 'n': Konak ismi. Örnek: localhost.example.com.
  • 'r': Dağıtım ismi. Örnek: 5.1.2-RELEASE.
  • 'v': Sürüm bilgisi. İşletim sistemine göre değişiklik gösterir.
  • 'm': Makine türü. Örnek: i386.

Dönen Değerler

Bilgiyi bir dizge olarak döndürür.

Örnekler

Örnek 1 - php_uname() örnekleri

<?php
echo php_uname();
echo PHP_OS;

/* Bazı olası çıktılar:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux

FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD

Windows NT XN1 5.1 build 2600
WINNT
*/

if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'Bu sunucu Windows üzerinde!';
} else {
echo 'Bu sunucu Windows üzerinde değil!';
}

?>

İşinizi yarayacak bazı öntanımlı PHP sabitleri vardır. Örneğin:

Örnek 2 - İşletim sistemine göre bazı sabit örnekleri

<?php
// *nix
echo DIRECTORY_SEPARATOR; // /
echo PHP_SHLIB_SUFFIX; // so
echo PATH_SEPARATOR; // :

// Win*
echo DIRECTORY_SEPARATOR; // \
echo PHP_SHLIB_SUFFIX; // dll
echo PATH_SEPARATOR; // ;
?>

Ayrıca Bakınız

  • phpversion() - Çalışan PHP'nin sürümünü döndürür
  • php_sapi_name() - HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar


PHP'ya katkıda bulunanları gösterir

  • « php_uname
  • phpinfo »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP'ya katkıda bulunanları gösterir

phpcredits

(PHP 4, PHP 5, PHP 7, PHP 8)

phpcredits — PHP'ya katkıda bulunanları gösterir

Açıklama

phpcredits(int $seçenekler = CREDITS_ALL): true

PHP ve eklenti geliştiricilerinin listesini basar. Uygun HTML kodlarını üretip içine bu bilgiyi yerleştirir.

Bağımsız Değişkenler

seçenekler

Bu bağımsız değişkeni özel bir katkıcılar sayfası üretmek için kullanabilirsiniz. Bağımsız değişken isteğe bağlıdır ve CREDITS_ALL öntanımlıdır.

Olası phpcredits() seçenekleri
Seçenek | Açıklama
CREDITS_ALL | Tüm katkıcılar. CREDITS_DOCS, CREDITS_GENERAL, CREDITS_GROUP, CREDITS_MODULES ve CREDITS_FULLPAGE seçeneklerinin tamamına eşdeğerdir. Uygun başlıklarla tek bir HTML sayfası üretilir.
CREDITS_DOCS | Belgelendirme ekibi.
CREDITS_FULLPAGE | Diğer seçeneklerin çıktılarının birleşiminden oluşan tek bir HTML sayfası üretilir.
CREDITS_GENERAL | Genel katkıcılar: Dil tasarımı ve kavramlar, PHP ve SAPI modülünün yazarları.
CREDITS_GROUP | Çekirdek geliştiricilerin listesi
CREDITS_MODULES | Eklenti modüllerinin ve yazarlarının listesi.
CREDITS_SAPI | Sunucu API modüllerinin ve yazarlarının listesi.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - Genel katkıcıların listelenmesi

<?php
phpcredits(CREDITS_GENERAL);
?>

Örnek 2 - Çekirdek geliştiricilerin ve belgelendirme ekibinin listelenmesi

<?php
phpcredits(CREDITS_GROUP | CREDITS_DOCS | CREDITS_FULLPAGE);
?>

Örnek 3 - Tüm katkıcıların listelenmesi

<html>
<head>
<title>Katılımcılar</title>
</head>
<body>
<?php
// bazı kodlar
phpcredits(CREDITS_ALL - CREDITS_FULLPAGE);
// bazı kodlar
?>
 </body>
</html>

Notlar

Bilginize:

CLI kipi kullanıldığında, phpcredits() HTML değil düz metin çıktı verir.

Ayrıca Bakınız

  • phpversion() - Çalışan PHP'nin sürümünü döndürür
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar


PHP yapılandırması hakkında bilgi çıktılar

  • « phpcredits
  • phpversion »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP yapılandırması hakkında bilgi çıktılar

phpinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

phpinfo — PHP yapılandırması hakkında bilgi çıktılar

Açıklama

phpinfo(int $seçenekler = INFO_ALL): true

PHP'nin o anki durumu hakkında büyük miktarda bilgi çıktılar. Bu bilgi, PHP derleme seçenekleri, kurulu eklentiler, PHP sürümü, sunucu bilgisi, (PHP bir modül olarak derlenmişse) sunucu ortam değişkenleri, PHP ortam değişkenleri, işletim sistemi sürüm bilgileri, dosya yolları, asıl ve yerel yapılandırma seçenekleri, HTTP başlıkları ve PHP lisansını içerir.

Her sistemin yapılandırması farklı olduğundan phpinfo() işlevi genellikle, yapılandırma ayarlarını ve kullanılabilecek öntanımlı değişkenleri öğrenmek için kullanılır.

phpinfo() tüm EGPCS (Environment, GET, POST, Cookie, Server) verisini içerdiğinden ayrıca değerli bir hata ayıklama aracıdır.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı bu bağımsız değişkende aşağıdaki sabitlerin bitsel değerlerinin toplamı belirtilerek işlevin çıktısı özelleştirilebilir. Bu sabitleri veya bitsel değerlerini bitsel VEYA işleci ile birleştirerek belirtebilirsiniz.

phpinfo() seçenekleri
Sabit | Değer | Açıklama
INFO_GENERAL | 1 | Yapılandırma satırı, php.ini dosyasının yeri, derleme tarihi, HTTP Sunucusu, Sistem, vesaire.
INFO_CREDITS | 2 | PHP'ye katkıda bulunanlar. Ayrıca, phpcredits() işlevine de bakınız.
INFO_CONFIGURATION | 4 | PHP yönergelerinin asıl ve yerel değerleri. Ayrıca ini_get() işlevine de bakınız.
INFO_MODULES | 8 | Yüklü modüller ve binlerğn ayarları. Ayrıca get_loaded_extensions() işlevine de bakınız.
INFO_ENVIRONMENT | 16 | $_ENV dizisi ile de edinilebilen ortam değişkenleri bilgileri.
INFO_VARIABLES | 32 | EGPCS (Environment, GET, POST, Cookie, Server) verisinden elde edilen tüm öntanımlı değişkenler.
INFO_LICENSE | 64 | PHP Lisans bilgileri. Ayıca bakınız: » Lisans SSS.
INFO_ALL | -1 | Yukarıdakiler hepsi gösterilir.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - phpinfo() örneği

<?php

// Tüm bilgiyi gösterelim (INFO_ALL sabitine eşdeğer)
phpinfo();

// Sadece modül bilgisini gösterelim.
// phpinfo(8) de aynı sonucu verir.
phpinfo(INFO_MODULES);

?>

Notlar

Bilginize:

PHP 5.5 öncesinde expose_php yapılandırma seçeneğine off atanmışsa bazı bilgiler gösterilmezdi. PHP ve Zend logoları ve katkıcılar bunlardan bazılarıdır.

Bilginize:

PHP'yi komut satırından kullanıyorsanız phpinfo() işlevi HTML çıktı yerine düz metin çıktı verir.

Ayrıca Bakınız

  • phpversion() - Çalışan PHP'nin sürümünü döndürür
  • phpcredits() - PHP'ya katkıda bulunanları gösterir
  • ini_get() - Bir yapılandırma yönergesinin değerini döndürür
  • ini_set() - Bir yapılandırma yönergesine değer atar
  • get_loaded_extensions() - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
  • Öntanımlı Değişkenler


Çalışan PHP'nin sürümünü döndürür

  • « phpinfo
  • putenv »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Çalışan PHP'nin sürümünü döndürür

phpversion

(PHP 4, PHP 5, PHP 7, PHP 8)

phpversion — Çalışan PHP'nin sürümünü döndürür

Açıklama

phpversion(?string $eklenti = null): string|false

Çalışan PHP'nin veya belirtilen eklentinin sürüm numarasını bir dizge olarak döndürür.

Bağımsız Değişkenler

eklenti

İsteğe bağlı bir eklenti ismi.

Dönen Değerler

İsteğe bağlı eklenti bağımsız değişkeni string türünde belirtilmişse phpversion() bu eklentinin sürüm bilgisini döndürür. Eklenti ile ilgili bir sürüm bilgisi yoksa veya eklenti etkin değilse false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | eklenti bağımsız değişkeninde artık null belirtilebiliyor.

Örnekler

Örnek 1 - phpversion() örneği

<?php
// prints e.g. 'Current PHP version: 8.0.0'
echo 'Çalışan PHP\'nin sürümü: ' . phpversion();

// eklenti etkinse '2.0' gibi bir değer basar
// eklenti etkin değilse hiçbir şey basılmaz
echo phpversion('tidy');
?>

Örnek 2 - PHP_VERSION_ID örneği

<?php
// PHP_VERSION_ID, PHP 5.2.7'den beri kullanılabilmektedir.
// Kullandığınız sürüm daha düşükse taklit edin
if(!defined('PHP_VERSION_ID'))
{
$version = explode('.',PHP_VERSION);

define('PHP_VERSION_ID',
($version[0] * 10000 + $version[1] * 100 + $version[2]));
}

// PHP_VERSION_ID bir sayı olarak tanımlanır. PHP sürümü yükseldikçe
// sayı büyür. Şu ifade ile tanımlanır:
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// Artık PHP sürümlerinin özellikleri için PHP_VERSION_ID'ye bakabiliriz.
// Kullandığınız PHP sürümü bir özelliği desteklemezse version_compare()
// kullanmanız gerekmez. Örneğin 5.2.7 öncesi sürümlerden birini
// kullanıyorsanız PHP_VERSION_* sabitlerini şöyle tanımlayabilirsiniz:

if(PHP_VERSION_ID < 50207)
{
define('PHP_MAJOR_VERSION', $version[0]);
define('PHP_MINOR_VERSION', $version[1]);
define('PHP_RELEASE_VERSION', $version[2]);

// ve böyle gider, ...
}
?>

Notlar

Bilginize:

Bu bilgi ayrıca PHP_VERSION öntanımlı sabitinde de bulunur.

Bilginize:

Bazı eklentiler kendi sürüm numaralarını tanımlayabilir. Bununla birlikte, toplu paketteki eklentilerin çoğu sürüm numarası olarak PHP sürümünü kullanır.

Ayrıca Bakınız

  • PHP_VERSION sabitleri
  • version_compare() - PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • phpcredits() - PHP'ya katkıda bulunanları gösterir
  • zend_version() - Zend motorunun sürümünü döndürür


Bir ortam değişkenine değer atar

  • « phpversion
  • restore_include_path »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Bir ortam değişkenine değer atar

putenv

(PHP 4, PHP 5, PHP 7, PHP 8)

putenv — Bir ortam değişkenine değer atar

Açıklama

putenv(string $atama_dizgesi): bool

atama_dizgesi'ni sunucu ortamına ekler. Yeni ortam değişkeni sadece o anki istek için istek süresince geçerli olacaktır. İstek sunumunun sonunda ortam özgün durumuna getirilir.

Bağımsız Değişkenler

atama_dizgesi

"FOO=BAR" gibi bir atama dizgesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir ortam değişkeninin atanması

<?php
putenv("UNIQID=$uniqid");
?>

Ayrıca Bakınız

  • getenv() - Ortam değişkenlerinden birinin veya tümünün değerini döndürür
  • apache_setenv() - Bir Apache ortam değişkeni atar


include_path yönergesini eski değerine ayarlar

  • « putenv
  • set_include_path »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • include_path yönergesini eski değerine ayarlar

restore_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

restore_include_path — include_path yönergesini eski değerine ayarlar

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

restore_include_path(): void

include_path yönergesinin çalışma anı değerini tekrar php.ini dosyasında belirtilen değerine ayarlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - restore_include_path() örneği

<?php

echo get_include_path(); // .:/usr/local/lib/php

set_include_path('/inc');

echo get_include_path(); // /inc

restore_include_path();

// veya ini_restore() kullanarak
ini_restore('include_path');

echo get_include_path(); // .:/usr/local/lib/php

?>

Ayrıca Bakınız

  • ini_restore() - Bir yapılandırma yönergesine eski değerini atar
  • get_include_path() - include_path yönergesinin değerini döndürür
  • set_include_path() - include_path yönergesinin çalışma anı değerini belirler
  • include - include


include_path yönergesinin çalışma anı değerini belirler

  • « restore_include_path
  • set_time_limit »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • include_path yönergesinin çalışma anı değerini belirler

set_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

set_include_path — include_path yönergesinin çalışma anı değerini belirler

Açıklama

set_include_path(string $yeni_değer): string|false

include_path yönergesinin, betiğin çalışma süresince geçerli olacak değerini belirler.

Bağımsız Değişkenler

yeni_değer

include_path yönergesinin yeni değeri.

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde include_path yönergesinin eski değeriyle döner.

Örnekler

Örnek 1 - set_include_path() örneği

<?php
set_include_path('/inc');

// veya ini_set() kullanarak
ini_set('include_path', '/usr/lib/pear');
?>

Örnek 2 - İçerilecek dosyaların aranacağı yollara bir yenisini eklemek

PATH_SEPARATOR sabitini kullanarak bu yolları işletim sisteminden bağımsız olarak çoğaltmak mümkündür.

Bu örnekte, include_path yönergesinde belirtilen dosya yollarına /usr/lib/pear dizinini ekleyeceğiz.

<?php
$path = '/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

Ayrıca Bakınız

  • ini_set() - Bir yapılandırma yönergesine değer atar
  • get_include_path() - include_path yönergesinin değerini döndürür
  • restore_include_path() - include_path yönergesini eski değerine ayarlar
  • include - include


Azami çalıştırma süresini sınırlar

  • « set_include_path
  • sys_get_temp_dir »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Azami çalıştırma süresini sınırlar

set_time_limit

(PHP 4, PHP 5, PHP 7, PHP 8)

set_time_limit — Azami çalıştırma süresini sınırlar

Açıklama

set_time_limit(int $saniye): bool

Bir betiğin çalıştırılabileceği süreyi saniye cinsinden belirler. Bu süre aşıldığında betik ölümcül hata ile döner. php.ini dosyasında max_execution_time yönergesi ile başka bir değer belirtilmemişse öntanımlı süre 30 saniyedir.

set_time_limit() işlevi çağrıldığı anda süre sıfırdan başlatılır. Başka bir deyişle, betik örneğin 30 saniyelik öntanımlı zaman aşımı dahilinde 25 saniye çalıştıktan sonra set_time_limit(20) çağrısı yapılırsa süre bitiminde betik 45 saniye çalışmış olacaktır.

Bağımsız Değişkenler

saniye

Betiğin çalıştırılabileceği azami süre (saniye cinsinden). Sıfır belirtilirse bir zaman sınırlaması kaldırılmış olur.

Dönen Değerler

Başarılıysa true, değilse false döner.

Notlar

Bilginize:

max_execution_time yönergesi veya set_time_limit() işlevi sadece betiğin kendi çalışma süresini etkilerler. Betiğin çalışması sırasında, akım işlemleri, veritabanı sorguları ve system() işlevi kullanılarak yapılan sistem çağrıları gibi betiğin dışında gerçekleşen işlemler için harcanan zaman betiğin azami çalışma süresinin hesaplanmasında hesaba katılmaz. Gerçek zamanın ölçüldüğü Windows üzerinde bu geçerli değildir.

Ayrıca Bakınız

  • max_execution_time
  • max_input_time


Geçici dosyalar için kullanılan dizini döndürür

  • « set_time_limit
  • version_compare »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Geçici dosyalar için kullanılan dizini döndürür

sys_get_temp_dir

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

sys_get_temp_dir — Geçici dosyalar için kullanılan dizini döndürür

Açıklama

sys_get_temp_dir(): string

PHP'nin geçici dosyaları sakladığı öntanımlı dizinin tam yolunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçici dosyaların saklandığı dizinin tam yolunu döndürür.

Örnekler

Örnek 1 - sys_get_temp_dir() örneği

<?php
// sys_get_temp_dir() kullanarak geçici dosyaların
// tutulduğu dizinde bir geçici dosya oluşturalım
$temp_file = tempnam(sys_get_temp_dir(), 'Tux');

echo $temp_file;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

C:\Windows\Temp\TuxA318.tmp

Ayrıca Bakınız

  • tmpfile() - Geçici bir dosya oluşturur
  • tempnam() - Eşsiz bir isimle dosya oluşturur


PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır

  • « sys_get_temp_dir
  • zend_thread_id »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır

version_compare

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

version_compare — PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır

Açıklama

version_compare(string $sürüm1, string $sürüm2, ?string $işleç = null): int|bool

version_compare() işlevi PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır.

İşlev önce _, - ve + karakterlerini birer nokta . ile değiştirir, ardından numara olmayan dizgeciklerin önüne ve ardına birer nokta konur. Örneğin, '4.3.2RC1' dizgesi '4.3.2.RC.1' haline gelir. Sonra her bileşen soldan sağa karşılaştırılır. Bileşenlerin içerdiği özel sürüm dizgeleri şu sıralamaya göre ele alınırlar: bu listede olmayan bir dizge < dev < alpha = a < beta = b < RC = rc < # < pl = p. Bu yöntemle, '4.1' ve '4.1.2' gibi farklı seviyelerden sürümler karşılaştırabileceği gibi geliştirme sürümlerinin karşılaştırılması için de kullanılabilir.

Bağımsız Değişkenler

sürüm1

İlk sürüm numarası.

sürüm2

İkinci sürüm numarası.

işleç

Olası işleçler sırasıyla şunlardır: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.

Bu bağımsız değişken harf büyüklüğüne duyarlıdır, yani değerlerin hepsi küçük harfli olmalıdır.

Dönen Değerler

Öntanımlı olarak, version_compare() işlevi, birinci sürüm ikincisinden küçükse -1, büyükse 1, eşitse 0 döndürür.

İsteğe bağlı işleç bağımsız değişkeni kullanılırsa ve sürümler arasında belirtilen ilişki varsa true, aksi takdirde false döner.

Örnekler

Aşağıdaki örnekte, kodu çalıştıran PHP sürümüne içermesi nedeniyle PHP_VERSION sabiti kullanılmıştır.

Örnek 1 - version_compare() örnekleri

<?php
if (version_compare(PHP_VERSION, '7.0.0') >= 1) {
echo 'PHP sürümüm en azından 7.0.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
echo 'PHP sürümüm en azından 5.3.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
echo 'PHP sürümüm en azından 5.0.0, gerçek sürüm: ' . PHP_VERSION . "\n";
}

if (version_compare(PHP_VERSION, '5.0.0', '<')) {
echo 'Hala PHP 4 kullanıyorum, gerçek sürüm: ' . PHP_VERSION . "\n";
}
?>

Notlar

Bilginize:

PHP_VERSION sabiti kullanılan PHP'nin sürüm numarasını içerir.

Bilginize:

5.3.0-dev gibi ön dağıtım sürümleri için, ulaşacakları asıl sürümün numarasının alt sürümün numarası (PHP 5.3.0 gibi) olduğu varsayılır.

Bilginize:

alpha ve beta gibi özel sürüm dizgeleri harf büyüklüğüne duyarlıdır. PHP standardına uymayan gelişigüzel kaynaklardan gelen sürüm dizgelerinin version_compare() çağrılmadan önce strtolower() aracılığıyla küçük harfli yapılması gerekebilir.

Ayrıca Bakınız

  • phpversion() - Çalışan PHP'nin sürümünü döndürür
  • php_uname() - PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür
  • function_exists() - Eğer işlev tanımlanmış ise true döndürür


Geçerli evre için eşsiz bir betimleyici döndürür

  • « version_compare
  • zend_version »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Geçerli evre için eşsiz bir betimleyici döndürür

zend_thread_id

(PHP 5, PHP 7, PHP 8)

zend_thread_id — Geçerli evre için eşsiz bir betimleyici döndürür

Açıklama

zend_thread_id(): int

Bu işlev geçerli evre için eşsiz bir betimleyici döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Evre kimliğini bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - zend_thread_id() örneği

<?php
$thread_id = zend_thread_id();

echo 'Evre kimliği: ' . $thread_id;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Evre kimliği: 7864

Notlar

Bilginize:

Bu işlev, PHP, ZTS (Zend Thread Safety) desteği ve hata ayıklama kipi (--enable-debug) ile derlendiği takdirde kullanılabilir.


Zend motorunun sürümünü döndürür

  • « zend_thread_id
  • phpdbg »
  • PHP Manual
  • PHP Seçenek/Bilgi İşlevleri
  • Zend motorunun sürümünü döndürür

zend_version

(PHP 4, PHP 5, PHP 7, PHP 8)

zend_version — Zend motorunun sürümünü döndürür

Açıklama

zend_version(): string

Kurulu Zend Motorunun sürümünü içeren bir dizge döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Zend Motorunun sürüm numarasını bir dizge olarak döndürür.

Örnekler

Örnek 1 - zend_version() örneği

<?php
echo "Zend motorunun sürümü: " . zend_version();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Zend motorunun sürümü: 2.3.0

Ayrıca Bakınız

  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar
  • phpcredits() - PHP'ya katkıda bulunanları gösterir
  • phpversion() - Çalışan PHP'nin sürümünü döndürür


Interactive PHP Debugger

  • Giriş
  • Yapılandırma/Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • phpdbg İşlevleri
    • phpdbg_break_file — Inserts a breakpoint at a line in a file
    • phpdbg_break_function — Inserts a breakpoint at entry to a function
    • phpdbg_break_method — Inserts a breakpoint at entry to a method
    • phpdbg_break_next — Inserts a breakpoint at the next opcode
    • phpdbg_clear — Clears all breakpoints
    • phpdbg_color — Sets the color of certain elements
    • phpdbg_end_oplog — Açıklama
    • phpdbg_exec — Attempts to set the execution context
    • phpdbg_get_executable — Açıklama
    • phpdbg_prompt — Sets the command prompt
    • phpdbg_start_oplog — Açıklama


Giriş

Implemented as a SAPI module, phpdbg can exert complete control over the environment without impacting the functionality or performance of your code.

phpdbg aims to be a lightweight, powerful, easy to use debugging platform for PHP. It offers the following features:

  • Step-Through Debugging
  • Flexible Breakpoints (Class Method, Function, File:Line, Address, Opcode)
  • Easy Access to PHP with built-in eval()
  • Userland API
  • SAPI Agnostic - Easily Integrated
  • PHP Configuration File Support
  • JIT Super Globals - Set Your Own !!
  • Optional readline Support - Comfortable Terminal Operation
  • Easy Operation - See Help :)

Command line options
Option | Example Argument | Description
-c | -c/my/php.ini | Set php.ini file to load
-d | -dmemory_limit=4G | Set a php.ini directive
-n |  | Disable default php.ini
-q |  | Suppress welcome banner
-v |  | Enable oplog output
-b |  | Disable color
-i | -imy.init | Set .phpdbginit file
-I |  | Ignore default .phpdbginit
-O | -Omy.oplog | Set oplog output file
-r |  | Run execution context
-rr |  | Run execution context and quit after execution (not respecting breakpoints)
-e |  | Generate extended information for debugger/profiler
-E |  | Enable step through eval, careful!
-s | -s=, -s=foo | Read code to execute from stdin with an optional delimiter
-S | -Scli | Override SAPI name, careful!
-l | -l4000 | Setup remote console ports
-a | -a192.168.0.3 | Setup remote console bind address
-x |  | Enable xml output (instead of normal text output)
-p | -p, -p=func, -p* | Output opcodes and quit
-h |  | Print the help overview
-V |  | Print version number
-- | -- arg1 arg2 | Use to delimit phpdbg arguments and php $argv; append any $argv argument after it


  • « Giriş
  • Çalışma Anı Yapılandırması »
  • PHP Manual
  • phpdbg
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Çalışma Anı Yapılandırması


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

phpdbg Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
phpdbg.eol | 2 | PHP_INI_ALL | Removed as of PHP 8.1.0
phpdbg.path |  | 6 | Removed as of PHP 8.1.0

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

phpdbg.eol mixed

The kind of line ending to use for output. For setting the value, one of the string aliases must be used.

int Value | string Alias
0 | CRLF, crlf, DOS, dos
1 | LF, lf, UNIX, unix
2 | CR, cr, MAC, mac

phpdbg.path string


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PHPDBG_VERSION (string)
PHPDBG_FILE (int)
Removed as of PHP 7.3.0.
PHPDBG_METHOD (int)
Removed as of PHP 7.3.0.
PHPDBG_LINENO (int)
Removed as of PHP 7.3.0.
PHPDBG_FUNC (int)
Removed as of PHP 7.3.0.
PHPDBG_COLOR_PROMPT (int)
PHPDBG_COLOR_NOTICE (int)
PHPDBG_COLOR_ERROR (int)


phpdbg İşlevleri

İçindekiler

  • phpdbg_break_file — Inserts a breakpoint at a line in a file
  • phpdbg_break_function — Inserts a breakpoint at entry to a function
  • phpdbg_break_method — Inserts a breakpoint at entry to a method
  • phpdbg_break_next — Inserts a breakpoint at the next opcode
  • phpdbg_clear — Clears all breakpoints
  • phpdbg_color — Sets the color of certain elements
  • phpdbg_end_oplog — Açıklama
  • phpdbg_exec — Attempts to set the execution context
  • phpdbg_get_executable — Açıklama
  • phpdbg_prompt — Sets the command prompt
  • phpdbg_start_oplog — Açıklama


Inserts a breakpoint at a line in a file

  • « phpdbg İşlevleri
  • phpdbg_break_function »
  • PHP Manual
  • phpdbg İşlevleri
  • Inserts a breakpoint at a line in a file

phpdbg_break_file

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_file — Inserts a breakpoint at a line in a file

Açıklama

phpdbg_break_file(string $file, int $line): void

Insert a breakpoint at the given line in the given file.

Bağımsız Değişkenler

file

The name of the file.

line

The line number.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at entry to a function

  • « phpdbg_break_file
  • phpdbg_break_method »
  • PHP Manual
  • phpdbg İşlevleri
  • Inserts a breakpoint at entry to a function

phpdbg_break_function

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_function — Inserts a breakpoint at entry to a function

Açıklama

phpdbg_break_function(string $function): void

Insert a breakpoint at the entry to the given function.

Bağımsız Değişkenler

function

The name of the function.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at entry to a method

  • « phpdbg_break_function
  • phpdbg_break_next »
  • PHP Manual
  • phpdbg İşlevleri
  • Inserts a breakpoint at entry to a method

phpdbg_break_method

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_method — Inserts a breakpoint at entry to a method

Açıklama

phpdbg_break_method(string $class, string $method): void

Insert a breakpoint at the entry to the given method of the given class.

Bağımsız Değişkenler

class

The name of the class.

method

The name of the method.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode
  • phpdbg_clear() - Clears all breakpoints


Inserts a breakpoint at the next opcode

  • « phpdbg_break_method
  • phpdbg_clear »
  • PHP Manual
  • phpdbg İşlevleri
  • Inserts a breakpoint at the next opcode

phpdbg_break_next

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

phpdbg_break_next — Inserts a breakpoint at the next opcode

Açıklama

phpdbg_break_next(): void

Insert a breakpoint at the next opcode.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_clear() - Clears all breakpoints


Clears all breakpoints

  • « phpdbg_break_next
  • phpdbg_color »
  • PHP Manual
  • phpdbg İşlevleri
  • Clears all breakpoints

phpdbg_clear

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_clear — Clears all breakpoints

Açıklama

phpdbg_clear(): void

Clear all breakpoints that have been set, either via one of the phpdbg_break_*() functions or interactively in the console.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_break_file() - Inserts a breakpoint at a line in a file
  • phpdbg_break_function() - Inserts a breakpoint at entry to a function
  • phpdbg_break_method() - Inserts a breakpoint at entry to a method
  • phpdbg_break_next() - Inserts a breakpoint at the next opcode


Sets the color of certain elements

  • « phpdbg_clear
  • phpdbg_end_oplog »
  • PHP Manual
  • phpdbg İşlevleri
  • Sets the color of certain elements

phpdbg_color

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_color — Sets the color of certain elements

Açıklama

phpdbg_color(int $element, string $color): void

Set the color of the given element.

Bağımsız Değişkenler

element

One of the PHPDBG_COLOR_* constants.

color

The name of the color. One of white, red, green, yellow, blue, purple, cyan or black, optionally with either a trailing -bold or -underline, for instance, white-bold or green-underline.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_prompt() - Sets the command prompt


Açıklama

  • « phpdbg_color
  • phpdbg_exec »
  • PHP Manual
  • phpdbg İşlevleri
  • Açıklama

phpdbg_end_oplog

(PHP 7, PHP 8)

phpdbg_end_oplog —

Açıklama

phpdbg_end_oplog(array $options = []): ?array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

options

Dönen Değerler


Attempts to set the execution context

  • « phpdbg_end_oplog
  • phpdbg_get_executable »
  • PHP Manual
  • phpdbg İşlevleri
  • Attempts to set the execution context

phpdbg_exec

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_exec — Attempts to set the execution context

Açıklama

phpdbg_exec(string $context): string|bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

context

Dönen Değerler

If the execution context was set previously it is returned. If the execution context was not set previously true is returned. If the request to set the context fails, false is returned, and an E_WARNING raised.


Açıklama

  • « phpdbg_exec
  • phpdbg_prompt »
  • PHP Manual
  • phpdbg İşlevleri
  • Açıklama

phpdbg_get_executable

(PHP 7, PHP 8)

phpdbg_get_executable —

Açıklama

phpdbg_get_executable(array $options = []): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

options

Dönen Değerler


Sets the command prompt

  • « phpdbg_get_executable
  • phpdbg_start_oplog »
  • PHP Manual
  • phpdbg İşlevleri
  • Sets the command prompt

phpdbg_prompt

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

phpdbg_prompt — Sets the command prompt

Açıklama

phpdbg_prompt(string $string): void

Set the command prompt to the given string.

Bağımsız Değişkenler

string

The string to use as command prompt.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • phpdbg_color() - Sets the color of certain elements


Açıklama

  • « phpdbg_prompt
  • runkit7 »
  • PHP Manual
  • phpdbg İşlevleri
  • Açıklama

phpdbg_start_oplog

(PHP 7, PHP 8)

phpdbg_start_oplog —

Açıklama

phpdbg_start_oplog(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


runkit7

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • runkit7 İşlevleri
    • runkit7_constant_add — Similar to define(), but allows defining in class definitions as well
    • runkit7_constant_redefine — Redefine an already defined constant
    • runkit7_constant_remove — Remove/Delete an already defined constant
    • runkit7_function_add — Add a new function, similar to create_function
    • runkit7_function_copy — Copy a function to a new function name
    • runkit7_function_redefine — Replace a function definition with a new implementation
    • runkit7_function_remove — Remove a function definition
    • runkit7_function_rename — Change a function's name
    • runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit7_method_add — Dynamically adds a new method to a given class
    • runkit7_method_copy — Copies a method from class to another
    • runkit7_method_redefine — Dynamically changes the code of the given method
    • runkit7_method_remove — Dynamically removes the given method
    • runkit7_method_rename — Dynamically changes the name of the given method
    • runkit7_object_id — Return the integer object handle for given object
    • runkit7_superglobals — Return numerically indexed array of registered superglobals
    • runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc


Giriş

The runkit7 extension provides means to modify constants, user-defined functions, and user-defined classes. It also provides for custom superglobal variables.

This package is a fork of the » runkit package providing PHP 7 support.


Gereksinimler

Modifying Constants, Functions, Classes, and Methods as well as Custom Superglobals works with all releases of PHP 7. No special requirements are necessary.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/runkit7.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Runkit Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

runkit.superglobal string
Comma-separated list of variable names to be treated as superglobals. This value should be set in the systemwide php.ini file, but may work in perdir configuration contexts depending on your SAPI.

Örnek 1 Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini

<?php
function show_values() {
echo "Foo is $_FOO\n";
echo "Bar is $_BAR\n";
echo "Baz is $_BAZ\n";
}

$_FOO = 'foo';
$_BAR = 'bar';
$_BAZ = 'baz';

/* Displays foo and bar, but not baz */
show_values();
?>
runkit.internal_override bool
Enables ability to modify/rename/remove internal functions.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

RUNKIT7_IMPORT_FUNCTIONS (int)
runkit7_import() flag indicating that normal functions should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_METHODS (int)
runkit7_import() flag indicating that class methods should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_CONSTS (int)
runkit7_import() flag indicating that class constants should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_PROPS (int)
runkit7_import() flag indicating that class standard properties should be imported from the specified file.
RUNKIT7_IMPORT_CLASS_STATIC_PROPS (int)
runkit7_import() flag indicating that class static properties should be imported from the specified file. Available since Runkit 1.0.1.
RUNKIT7_IMPORT_CLASSES (int)
runkit7_import() flag representing a bitwise OR of the RUNKIT7_IMPORT_CLASS_* constants.
RUNKIT7_IMPORT_OVERRIDE (int)
runkit7_import() flag indicating that if any of the imported functions, methods, constants, or properties already exist, they should be replaced with the new definitions. If this flag is not set, then any imported definitions which already exist will be discarded.
RUNKIT7_ACC_RETURN_REFERENCE (int)
Include this flag to make the function or method being created or redeclared return a reference.
RUNKIT7_ACC_PUBLIC (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method public.
RUNKIT7_ACC_PROTECTED (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method protected.
RUNKIT7_ACC_PRIVATE (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method private.
RUNKIT7_ACC_STATIC (int)
Flag for runkit7_method_add() and runkit7_method_redefine() to make the method static.
RUNKIT7_FEATURE_MANIPULATION (int)
Equal to 1 if runtime manipulation is enabled, and 0 otherwise.
RUNKIT7_FEATURE_SUPERGLOBALS (int)
Equal to 1 if custom superglobals are enabled, and 0 otherwise.
RUNKIT7_FEATURE_SANDBOX (int)
Always 0, it's impractical to implement the sandbox feature in php 7.


runkit7 İşlevleri

İçindekiler

  • runkit7_constant_add — Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_redefine — Redefine an already defined constant
  • runkit7_constant_remove — Remove/Delete an already defined constant
  • runkit7_function_add — Add a new function, similar to create_function
  • runkit7_function_copy — Copy a function to a new function name
  • runkit7_function_redefine — Replace a function definition with a new implementation
  • runkit7_function_remove — Remove a function definition
  • runkit7_function_rename — Change a function's name
  • runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate
  • runkit7_method_add — Dynamically adds a new method to a given class
  • runkit7_method_copy — Copies a method from class to another
  • runkit7_method_redefine — Dynamically changes the code of the given method
  • runkit7_method_remove — Dynamically removes the given method
  • runkit7_method_rename — Dynamically changes the name of the given method
  • runkit7_object_id — Return the integer object handle for given object
  • runkit7_superglobals — Return numerically indexed array of registered superglobals
  • runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc


Similar to define(), but allows defining in class definitions as well

  • « runkit7 İşlevleri
  • runkit7_constant_redefine »
  • PHP Manual
  • runkit7 İşlevleri
  • Similar to define(), but allows defining in class definitions as well

runkit7_constant_add

(PECL runkit7 >= Unknown)

runkit7_constant_add — Similar to define(), but allows defining in class definitions as well

Açıklama

runkit7_constant_add(string $constant_name, mixed $value, int $newVisibility = ?): bool

Bağımsız Değişkenler

constant_name

Name of constant to declare. Either a string to indicate a global constant, or classname::constname to indicate a class constant.

value

NULL, Bool, Long, Double, String, Array, or Resource value to store in the new constant.

newVisibility

Visibility of the constant, for class constants. Public by default. One of the RUNKIT7_ACC_* constants.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • define() - Bir isimli sabit tanımlar
  • runkit7_constant_redefine() - Redefine an already defined constant
  • runkit7_constant_remove() - Remove/Delete an already defined constant


Redefine an already defined constant

  • « runkit7_constant_add
  • runkit7_constant_remove »
  • PHP Manual
  • runkit7 İşlevleri
  • Redefine an already defined constant

runkit7_constant_redefine

(PECL runkit7 >= Unknown)

runkit7_constant_redefine — Redefine an already defined constant

Açıklama

runkit7_constant_redefine(string $constant_name, mixed $value, int $new_visibility = ?): bool

Bağımsız Değişkenler

constant_name

Constant to redefine. Either the name of a global constant, or classname::constname indicating class constant.

value

Value to assign to the constant.

new_visibility

The new visibility of the constant, for class constants. Unchanged by default. One of the RUNKIT7_ACC_* constants.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • runkit7_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_remove() - Remove/Delete an already defined constant


Remove/Delete an already defined constant

  • « runkit7_constant_redefine
  • runkit7_function_add »
  • PHP Manual
  • runkit7 İşlevleri
  • Remove/Delete an already defined constant

runkit7_constant_remove

(PECL runkit7 >= Unknown)

runkit7_constant_remove — Remove/Delete an already defined constant

Açıklama

runkit7_constant_remove(string $constant_name): bool

Bağımsız Değişkenler

constant_name

Name of the constant to remove. Either the name of a global constant, or classname::constname indicating a class constant.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • define() - Bir isimli sabit tanımlar
  • runkit7_constant_add() - Similar to define(), but allows defining in class definitions as well
  • runkit7_constant_redefine() - Redefine an already defined constant


Add a new function, similar to create_function

  • « runkit7_constant_remove
  • runkit7_function_copy »
  • PHP Manual
  • runkit7 İşlevleri
  • Add a new function, similar to create_function

runkit7_function_add

(PECL runkit7 >= Unknown)

runkit7_function_add — Add a new function, similar to create_function()

Açıklama

runkit7_function_add(
string $function_name,
string $argument_list,
string $code,
bool $return_by_reference = null,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool
runkit7_function_add(
string $function_name,
Closure $closure,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool

Bağımsız Değişkenler

function_name

Name of the function to be created

argument_list

Comma separated argument list

code

Code making up the function

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

return_type

The return type of the function.

is_strict

Whether the function should behave as if it were declared in a file with strict_types=1

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 A runkit7_function_add() example

<?php
runkit7_function_add('testme','$a,$b','echo "The value of a is $a\n"; echo "The value of b is $b\n";');
testme(1,2);
?>

Yukarıdaki örneğin çıktısı:

The value of a is 1
The value of b is 2

Ayrıca Bakınız

  • create_function() - Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition
  • runkit7_method_add() - Dynamically adds a new method to a given class


Copy a function to a new function name

  • « runkit7_function_add
  • runkit7_function_redefine »
  • PHP Manual
  • runkit7 İşlevleri
  • Copy a function to a new function name

runkit7_function_copy

(PECL runkit7 >= Unknown)

runkit7_function_copy — Copy a function to a new function name

Açıklama

runkit7_function_copy(string $source_name, string $target_name): bool

Bağımsız Değişkenler

source_name

Name of the existing function

target_name

Name of the new function to copy the definition to

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 A runkit7_function_copy() example

<?php
function original() {
echo "In a function\n";
}
runkit7_function_copy('original','duplicate');
original();
duplicate();
?>

Yukarıdaki örneğin çıktısı:

In a function
In a function

Ayrıca Bakınız

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition


Replace a function definition with a new implementation

  • « runkit7_function_copy
  • runkit7_function_remove »
  • PHP Manual
  • runkit7 İşlevleri
  • Replace a function definition with a new implementation

runkit7_function_redefine

(PECL runkit7 >= Unknown)

runkit7_function_redefine — Replace a function definition with a new implementation

Açıklama

runkit7_function_redefine(
string $function_name,
string $argument_list,
string $code,
bool $return_by_reference = null,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool
runkit7_function_redefine(
string $function_name,
Closure $closure,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool

Bilginize: Öntanımlı olarak, sadece kullanıcı alanı işlevler kaldırılabilir, adı değişebilir ve değişikliğe uğrayabilir. Dahili işlevleri geçersizleştirmek için php.ini içindeki runkit.internal_override seçeneği etkinleştirilmelidir.

Bağımsız Değişkenler

function_name

Name of function to redefine

argument_list

New list of arguments to be accepted by function

code

New code implementation

closure

A closure that defines the function.

return_by_reference

Whether the function should return by reference.

doc_comment

The doc comment of the function.

return_type

The return type of the function.

is_strict

Whether the function behaves as if it was declared in a file with strict_types=1

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 A runkit7_function_redefine() example

<?php
function testme() {
echo "Original Testme Implementation\n";
}
testme();
runkit7_function_redefine('testme','','echo "New Testme Implementation\n";');
testme();
?>

Yukarıdaki örneğin çıktısı:

Original Testme Implementation
New Testme Implementation

Ayrıca Bakınız

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_rename() - Change a function's name
  • runkit7_function_remove() - Remove a function definition
  • runkit7_method_redefine() - Dynamically changes the code of the given method


Remove a function definition

  • « runkit7_function_redefine
  • runkit7_function_rename »
  • PHP Manual
  • runkit7 İşlevleri
  • Remove a function definition

runkit7_function_remove

(PECL runkit7 >= Unknown)

runkit7_function_remove — Remove a function definition

Açıklama

runkit7_function_remove(string $function_name): bool

Bilginize: Öntanımlı olarak, sadece kullanıcı alanı işlevler kaldırılabilir, adı değişebilir ve değişikliğe uğrayabilir. Dahili işlevleri geçersizleştirmek için php.ini içindeki runkit.internal_override seçeneği etkinleştirilmelidir.

Bağımsız Değişkenler

function_name

Name of the function to be deleted

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_rename() - Change a function's name


Change a function's name

  • « runkit7_function_remove
  • runkit7_import »
  • PHP Manual
  • runkit7 İşlevleri
  • Change a function's name

runkit7_function_rename

(PECL runkit7 >= Unknown)

runkit7_function_rename — Change a function's name

Açıklama

runkit7_function_rename(string $source_name, string $target_name): bool

Bilginize: Öntanımlı olarak, sadece kullanıcı alanı işlevler kaldırılabilir, adı değişebilir ve değişikliğe uğrayabilir. Dahili işlevleri geçersizleştirmek için php.ini içindeki runkit.internal_override seçeneği etkinleştirilmelidir.

Bağımsız Değişkenler

source_name

Current function name

target_name

New function name

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • runkit7_function_add() - Add a new function, similar to create_function
  • runkit7_function_copy() - Copy a function to a new function name
  • runkit7_function_redefine() - Replace a function definition with a new implementation
  • runkit7_function_remove() - Remove a function definition


Process a PHP file importing function and class definitions, overwriting where appropriate

  • « runkit7_function_rename
  • runkit7_method_add »
  • PHP Manual
  • runkit7 İşlevleri
  • Process a PHP file importing function and class definitions, overwriting where appropriate

runkit7_import

(PECL runkit7 >= Unknown)

runkit7_import — Process a PHP file importing function and class definitions, overwriting where appropriate

Uyarı

This feature has been removed in PECL runkit7 4.0.0.

Açıklama

runkit7_import(string $filename, int $flags = ?): bool

Similar to include. However, any code residing outside of a function or class is simply ignored. Additionally, depending on the value of flags, any functions or classes which already exist in the currently running environment may be automatically overwritten by their new definitions.

Bağımsız Değişkenler

filename

Filename to import function and class definitions from

flags

Bitwise OR of the RUNKIT7_IMPORT_* family of constants.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Dynamically adds a new method to a given class

  • « runkit7_import
  • runkit7_method_copy »
  • PHP Manual
  • runkit7 İşlevleri
  • Dynamically adds a new method to a given class

runkit7_method_add

(PECL runkit7 >= Unknown)

runkit7_method_add — Dynamically adds a new method to a given class

Açıklama

runkit7_method_add(
string $class_name,
string $method_name,
string $argument_list,
string $code,
int $flags = RUNKIT7_ACC_PUBLIC,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool
runkit7_method_add(
string $class_name,
string $method_name,
Closure $closure,
int $flags = RUNKIT7_ACC_PUBLIC,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool

Bağımsız Değişkenler

class_name

The class to which this method will be added

method_name

The name of the method to add

argument_list

Comma-delimited list of arguments for the newly-created method

code

The code to be evaluated when method_name is called

closure

A closure that defines the method.

flags

The type of method to create, can be RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED or RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT7_ACC_STATIC

doc_comment

The doc comment of the method.

return_type

The return type of the method.

is_strict

Whether the method behaves as if it were declared in a file with strict_types=1

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 runkit7_method_add() example

<?php
class Example {
function foo() {
echo "foo!\n";
}
}

// create an Example object
$e = new Example();

// Add a new public method
runkit7_method_add(
'Example',
'add',
'$num1, $num2',
'return $num1 + $num2;',
RUNKIT7_ACC_PUBLIC
);

// add 12 + 4
echo $e->add(12, 4);
?>

Yukarıdaki örneğin çıktısı:

16

Ayrıca Bakınız

  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_add() - Add a new function, similar to create_function


Copies a method from class to another

  • « runkit7_method_add
  • runkit7_method_redefine »
  • PHP Manual
  • runkit7 İşlevleri
  • Copies a method from class to another

runkit7_method_copy

(PECL runkit7 >= Unknown)

runkit7_method_copy — Copies a method from class to another

Açıklama

runkit7_method_copy(
string $destination_class,
string $destination_method_name,
string $source_class,
string $source_method_name = ?
): bool

Bağımsız Değişkenler

destination_class

Destination class for copied method

destination_method_name

Destination method name

source_class

Source class of the method to copy

source_method_name

Name of the method to copy from the source class. If this parameter is omitted, the value of destination_method_name is assumed.

Dönen Değerler

Örnekler

Örnek 1 runkit7_method_copy() example

<?php
class Foo {
function example() {
return "foo!\n";
}
}

class Bar {
// initially, no methods
}

// copy the example() method from the Foo class to the Bar class, as baz()
runkit7_method_copy('Bar', 'baz', 'Foo', 'example');

// output copied function
echo Bar::baz();
?>

Yukarıdaki örneğin çıktısı:

foo!

Ayrıca Bakınız

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_copy() - Copy a function to a new function name


Dynamically changes the code of the given method

  • « runkit7_method_copy
  • runkit7_method_remove »
  • PHP Manual
  • runkit7 İşlevleri
  • Dynamically changes the code of the given method

runkit7_method_redefine

(PECL runkit7 >= Unknown)

runkit7_method_redefine — Dynamically changes the code of the given method

Açıklama

runkit7_method_redefine(
string $class_name,
string $method_name,
string $argument_list,
string $code,
int $flags = RUNKIT7_ACC_PUBLIC,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool
runkit7_method_redefine(
string $class_name,
string $method_name,
Closure $closure,
int $flags = RUNKIT7_ACC_PUBLIC,
string $doc_comment = null,
string $return_type = ?,
bool $is_strict = ?
): bool

Bağımsız Değişkenler

class_name

The class in which to redefine the method

method_name

The name of the method to redefine

argument_list

Comma-delimited list of arguments for the redefined method

code

The new code to be evaluated when method_name is called

closure

A closure that defines the method.

flags

The redefined method can be RUNKIT7_ACC_PUBLIC, RUNKIT7_ACC_PROTECTED or RUNKIT7_ACC_PRIVATE optionally combined via bitwise OR with RUNKIT7_ACC_STATIC

doc_comment

The doc comment of the method.

return_type

The return type of the method.

is_strict

Whether the method behaves as if it was declared in a file with strict_types=1.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 runkit7_method_redefine() example

<?php
class Example {
function foo() {
return "foo!\n";
}
}

// create an Example object
$e = new Example();

// output Example::foo() (before redefine)
echo "Before: " . $e->foo();

// Redefine the 'foo' method
runkit7_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
RUNKIT7_ACC_PUBLIC
);

// output Example::foo() (after redefine)
echo "After: " . $e->foo();
?>

Yukarıdaki örneğin çıktısı:

Before: foo!
After: bar!

Ayrıca Bakınız

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_redefine() - Replace a function definition with a new implementation


Dynamically removes the given method

  • « runkit7_method_redefine
  • runkit7_method_rename »
  • PHP Manual
  • runkit7 İşlevleri
  • Dynamically removes the given method

runkit7_method_remove

(PECL runkit7 >= Unknown)

runkit7_method_remove — Dynamically removes the given method

Açıklama

runkit7_method_remove(string $class_name, string $method_name): bool

Bilginize: Bu işlev çalışmakta olan yöntemi değiştirmekte kullanılamaz.

Bağımsız Değişkenler

class_name

The class in which to remove the method

method_name

The name of the method to remove

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 runkit7_method_remove() example

<?php
class Example {
function foo() {
return "foo!\n";
}

function bar() {
return "bar!\n";
}
}

// Remove the 'foo' method
runkit7_method_remove(
'Example',
'foo'
);

echo implode(' ', get_class_methods('Example'));

?>

Yukarıdaki örneğin çıktısı:

bar

Ayrıca Bakınız

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_rename() - Dynamically changes the name of the given method
  • runkit7_function_remove() - Remove a function definition


Dynamically changes the name of the given method

  • « runkit7_method_remove
  • runkit7_object_id »
  • PHP Manual
  • runkit7 İşlevleri
  • Dynamically changes the name of the given method

runkit7_method_rename

(PECL runkit7 >= Unknown)

runkit7_method_rename — Dynamically changes the name of the given method

Açıklama

runkit7_method_rename(string $class_name, string $source_method_name, string $target_method_name): bool

Bilginize: Bu işlev çalışmakta olan yöntemi değiştirmekte kullanılamaz.

Bağımsız Değişkenler

class_name

The class in which to rename the method

source_method_name

The name of the method to rename

target_method_name

The new name to give to the renamed method

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 runkit7_method_rename() example

<?php
class Example {
function foo() {
return "foo!\n";
}
}

// Rename the 'foo' method to 'bar'
runkit7_method_rename(
'Example',
'foo',
'bar'
);

// output renamed function
echo (new Example)->bar();
?>

Yukarıdaki örneğin çıktısı:

foo!

Ayrıca Bakınız

  • runkit7_method_add() - Dynamically adds a new method to a given class
  • runkit7_method_copy() - Copies a method from class to another
  • runkit7_method_redefine() - Dynamically changes the code of the given method
  • runkit7_method_remove() - Dynamically removes the given method
  • runkit7_function_rename() - Change a function's name


Return the integer object handle for given object

  • « runkit7_method_rename
  • runkit7_superglobals »
  • PHP Manual
  • runkit7 İşlevleri
  • Return the integer object handle for given object

runkit7_object_id

(PECL runkit7 >= Unknown)

runkit7_object_id — Return the integer object handle for given object

Açıklama

runkit7_object_id(object $obj): int

This function is equivalent to spl_object_id().

This function returns a unique identifier for the object. The object id is unique for the lifetime of the object. Once the object is destroyed, its id may be reused for other objects. This behavior is similar to spl_object_hash().

Bağımsız Değişkenler

obj

Any object.

Dönen Değerler

An integer identifier that is unique for each currently existing object and is always the same for each object.

Notlar

Bilginize:

When an object is destroyed, its id may be reused for other objects.

Ayrıca Bakınız

  • spl_object_id() - Return the integer object handle for given object


Return numerically indexed array of registered superglobals

  • « runkit7_object_id
  • runkit7_zval_inspect »
  • PHP Manual
  • runkit7 İşlevleri
  • Return numerically indexed array of registered superglobals

runkit7_superglobals

(PECL runkit7 >= Unknown)

runkit7_superglobals — Return numerically indexed array of registered superglobals

Açıklama

runkit7_superglobals(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a numerically indexed array of the currently registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES

Ayrıca Bakınız

  • Variable Scope


Returns information about the passed in value with data types, reference counts, etc

  • « runkit7_superglobals
  • uopz »
  • PHP Manual
  • runkit7 İşlevleri
  • Returns information about the passed in value with data types, reference counts, etc

runkit7_zval_inspect

(PECL runkit7 >= Unknown)

runkit7_zval_inspect — Returns information about the passed in value with data types, reference counts, etc

Açıklama

runkit7_zval_inspect(string $value): array

Bağımsız Değişkenler

value

The value to return the representation of

Dönen Değerler

The array returned by this function contains the following elements:

  • address
  • refcount (optional)
  • is_ref (optional)
  • type

Örnekler

Örnek 1 runkit7_zval_inspect() example

<?php

$var = new DateTime();
var_dump(runkit7_zval_inspect($var));

$var = 1;
var_dump(runkit7_zval_inspect($var));
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["address"]=>
  string(14) "0x7f45ab21b1e0"
  ["refcount"]=>
  int(2)
  ["is_ref"]=>
  bool(false)
  ["type"]=>
  int(8)
}

array(2) {
  ["address"]=>
  string(14) "0x7f45ab21b1e0"
  ["type"]=>
  int(4)
}

Ayrıca Bakınız

  • References Explained
  • » References Explained (by Derick Rethans)


User Operations for Zend

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Uopz İşlevleri
    • uopz_add_function — Adds non-existent function or method
    • uopz_allow_exit — Allows control over disabled exit opcode
    • uopz_backup — Backup a function
    • uopz_compose — Compose a class
    • uopz_copy — Copy a function
    • uopz_del_function — Deletes previously added function or method
    • uopz_delete — Delete a function
    • uopz_extend — Extend a class at runtime
    • uopz_flags — Get or set flags on function or class
    • uopz_function — Creates a function at runtime
    • uopz_get_exit_status — Retrieve the last set exit status
    • uopz_get_hook — Gets previously set hook on function or method
    • uopz_get_mock — Get the current mock for a class
    • uopz_get_property — Gets value of class or instance property
    • uopz_get_return — Gets a previous set return value for a function
    • uopz_get_static — Gets the static variables from function or method scope
    • uopz_implement — Implements an interface at runtime
    • uopz_overload — Overload a VM opcode
    • uopz_redefine — Redefine a constant
    • uopz_rename — Rename a function at runtime
    • uopz_restore — Restore a previously backed up function
    • uopz_set_hook — Sets hook to execute when entering a function or method
    • uopz_set_mock — Use mock instead of class for new objects
    • uopz_set_property — Sets value of existing class or instance property
    • uopz_set_return — Provide a return value for an existing function
    • uopz_set_static — Sets the static variables in function or method scope
    • uopz_undefine — Undefine a constant
    • uopz_unset_hook — Removes previously set hook on function or method
    • uopz_unset_mock — Unset previously set mock
    • uopz_unset_return — Unsets a previously set return value for a function


Giriş

The uopz - User Operations for Zend - extension exposes Zend Engine functionality normally used at compilation and execution time in order to allow modification of the internal structures that represent PHP code, and for user code to interact with the VM.

uopz supports the following activities:

  • Overloading some opcodes including ZEND_EXIT and ZEND_NEW
  • Backup and restore functions and methods
  • Renaming functions and methods
  • Copying of functions and methods
  • Deletion of functions and methods
  • Redefinition of global and class constants
  • Deletion of global and class constants
  • Runtime composition and modification of classes

Bilginize:

All of the activities supported are compatible with opcache

Dikkat

PECL uopz 6.1.1 is not compatible with Xdebug >= 2.9.4. Later uopz versions are not compatible with Xdebug < 2.9.4.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

As of uopz 5.0 PHP 7.0 is required. As of uopz 5.1, PHP 7.1+ is required.


Kurulum

uopz releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/uopz.

Windows users can download prebuilt release binaries from the » PECL website.

As of uopz 5.0.0 the extension must be loaded as extension. Before this version it must be loaded as zend_extension.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

uopz Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
uopz.disable | "0" | PHP_INI_SYSTEM | Available as of uopz 5.0.2
uopz.exit | "0" | PHP_INI_SYSTEM | Available as of uopz 6.0.1
uopz.overloads | "1" | PHP_INI_SYSTEM | Available as of uopz 2.0.2. Removed as of uopz 5.0.0.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

uopz.disable bool

If enabled, uopz should stop having any effect on the engine.

uopz.exit bool

Whether to allow the execution of exit opcodes or not. This setting can be overridden during runtime by calling uopz_allow_exit().

uopz.overloads bool

Enables the ability to use uopz_overload().

Bilginize: When running with OPcache enabled, it may be necessary to disable all OPcache optimizations (opcache.optimization_level=0).


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

The following opcodes are defined as constants by uopz before 5.0.0:

ZEND_EXIT (int)
Invoked by exit() and die(), receives no arguments. Return boolean true to exit, false to continue
ZEND_NEW (int)
Invoked by object construction, receives the class of object being created as the only argument
ZEND_THROW (int)
Invoked by the throw construct, receives the class of exception being thrown as the only argument
ZEND_FETCH_CLASS (int)
Invoked upon composure, receives the class the name of the class being fetched as the only argument
ZEND_ADD_TRAIT (int)
Invoked upon composure, receives the class the trait is being added to as the first argument, and the name of the trait as the second argument
ZEND_ADD_INTERFACE (int)
Invoked upon composure, receives the class the interface is being added to as the first argument, and the name of the interface as the second argument
ZEND_INSTANCEOF (int)
Invoked by instanceof operator, receives the object being verified as the first argument, and the name of the class which that object should be as the second argument

The following constants control the VM's behaviour after a user handler is invoked, be extremely careful! These constants are removed as of uopz 5.0.0.

ZEND_USER_OPCODE_CONTINUE (int)
Advance 1 opcode and continuue
ZEND_USER_OPCODE_ENTER (int)
Enter into new op_array without recursion
ZEND_USER_OPCODE_LEAVE (int)
Return to calling op_array within the same executor
ZEND_USER_OPCODE_DISPATCH (int)
Dispatch to original opcode handler
ZEND_USER_OPCODE_DISPATCH_TO (int)
Dispatch to a specific handler (OR'd with ZEND opcode constant)
ZEND_USER_OPCODE_RETURN (int)
Exit from executor (return from function)

The following modifiers are registered as constants by uopz

ZEND_ACC_PUBLIC (int)
Mark function as public, the default
ZEND_ACC_PROTECTED (int)
Mark function as protected
ZEND_ACC_PRIVATE (int)
Mark function as private
ZEND_ACC_STATIC (int)
Mark function as static
ZEND_ACC_FINAL (int)
Mark function as final
ZEND_ACC_ABSTRACT (int)
Mark function as abstract
ZEND_ACC_CLASS (int)
Dummy registered for consistency, the default kind of class entry. Removed as of uopz 5.0.0.
ZEND_ACC_INTERFACE (int)
Mark class as interface. Removed as of uopz 5.0.0.
ZEND_ACC_TRAIT (int)
Mark class as trait. Removed as of uopz 5.0.0.
ZEND_ACC_FETCH (int)
Used for getting flags only. Removed as of uopz 5.0.0.


Uopz İşlevleri

İçindekiler

  • uopz_add_function — Adds non-existent function or method
  • uopz_allow_exit — Allows control over disabled exit opcode
  • uopz_backup — Backup a function
  • uopz_compose — Compose a class
  • uopz_copy — Copy a function
  • uopz_del_function — Deletes previously added function or method
  • uopz_delete — Delete a function
  • uopz_extend — Extend a class at runtime
  • uopz_flags — Get or set flags on function or class
  • uopz_function — Creates a function at runtime
  • uopz_get_exit_status — Retrieve the last set exit status
  • uopz_get_hook — Gets previously set hook on function or method
  • uopz_get_mock — Get the current mock for a class
  • uopz_get_property — Gets value of class or instance property
  • uopz_get_return — Gets a previous set return value for a function
  • uopz_get_static — Gets the static variables from function or method scope
  • uopz_implement — Implements an interface at runtime
  • uopz_overload — Overload a VM opcode
  • uopz_redefine — Redefine a constant
  • uopz_rename — Rename a function at runtime
  • uopz_restore — Restore a previously backed up function
  • uopz_set_hook — Sets hook to execute when entering a function or method
  • uopz_set_mock — Use mock instead of class for new objects
  • uopz_set_property — Sets value of existing class or instance property
  • uopz_set_return — Provide a return value for an existing function
  • uopz_set_static — Sets the static variables in function or method scope
  • uopz_undefine — Undefine a constant
  • uopz_unset_hook — Removes previously set hook on function or method
  • uopz_unset_mock — Unset previously set mock
  • uopz_unset_return — Unsets a previously set return value for a function


Adds non-existent function or method

  • « Uopz İşlevleri
  • uopz_allow_exit »
  • PHP Manual
  • Uopz İşlevleri
  • Adds non-existent function or method

uopz_add_function

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_add_function — Adds non-existent function or method

Açıklama

uopz_add_function(string $function, Closure $handler, int &$flags = ZEND_ACC_PUBLIC): bool
uopz_add_function(
string $class,
string $function,
Closure $handler,
int &$flags = ZEND_ACC_PUBLIC,
int &$all = true
): bool

Adds a non-existent function or method.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

handler

The Closure that defines the new function or method.

flags

Flags to set for the new function or method.

all

Whether all classes that descend from class will also be affected.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

uopz_add_function() throws a RuntimeException if the function or method to add already exists.

Örnekler

Örnek 1 Basic uopz_add_function() Usage

<?php
uopz_add_function('foo', function () {echo 'bar';});
foo();
?>

Yukarıdaki örneğin çıktısı:

bar

Ayrıca Bakınız

  • uopz_del_function() - Deletes previously added function or method
  • uopz_set_return() - Provide a return value for an existing function


Allows control over disabled exit opcode

  • « uopz_add_function
  • uopz_backup »
  • PHP Manual
  • Uopz İşlevleri
  • Allows control over disabled exit opcode

uopz_allow_exit

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_allow_exit — Allows control over disabled exit opcode

Açıklama

uopz_allow_exit(bool $allow): void

By default uopz disables the exit opcode, so exit() calls are practically ignored. uopz_allow_exit() allows to control this behavior.

Bağımsız Değişkenler

allow

Whether to allow the execution of exit opcodes or not.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 uopz_allow_exit() example

<?php
exit(1);
echo 1;
uopz_allow_exit(true);
exit(2);
echo 2;
?>

Yukarıdaki örneğin çıktısı:

1

Notlar

Dikkat

OPcache optimizes away dead code after unconditional exit.

Ayrıca Bakınız

  • uopz_get_exit_status() - Retrieve the last set exit status


Backup a function

  • « uopz_allow_exit
  • uopz_compose »
  • PHP Manual
  • Uopz İşlevleri
  • Backup a function

uopz_backup

(PECL uopz 1 >= 1.0.3, PECL uopz 2)

uopz_backup — Backup a function

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_backup(string $function): void
uopz_backup(string $class, string $function): void

Backup a function at runtime, to be restored on shutdown

Bağımsız Değişkenler

class

The name of the class containing the function to backup

function

The name of the function

Dönen Değerler

Örnekler

Örnek 1 uopz_backup() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
return true;
});
var_dump(fgets());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Compose a class

  • « uopz_backup
  • uopz_copy »
  • PHP Manual
  • Uopz İşlevleri
  • Compose a class

uopz_compose

(PECL uopz 1, PECL uopz 2)

uopz_compose — Compose a class

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_compose(
string $name,
array $classes,
array $methods = ?,
array $properties = ?,
int $flags = ?
): void

Creates a new class of the given name that implements, extends, or uses all of the provided classes

Bağımsız Değişkenler

name

A legal class name

classes

An array of class, interface and trait names

methods

An associative array of methods, values are either closures or [modifiers => closure]

properties

An associative array of properties, keys are names, values are modifiers

flags

Entry type, by default ZEND_ACC_CLASS

Dönen Değerler

Örnekler

Örnek 1 uopz_compose() example

<?php
class myClass {}
trait myTrait {}
interface myInterface {}

uopz_compose(
Composed::class, [
myClass::class,
myTrait::class,
myInterface::class
], [
"__construct" => function() {
/* ... */
}
]);

var_dump(
class_uses(Composed::class),
class_parents(Composed::class),
class_implements(Composed::class));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["myTrait"]=>
  string(7) "myTrait"
}
array(1) {
  ["myClass"]=>
  string(7) "myClass"
}
array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}


Copy a function

  • « uopz_compose
  • uopz_del_function »
  • PHP Manual
  • Uopz İşlevleri
  • Copy a function

uopz_copy

(PECL uopz 1 >= 1.0.4, PECL uopz 2)

uopz_copy — Copy a function

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_copy(string $function): Closure
uopz_copy(string $class, string $function): Closure

Copy a function by name

Bağımsız Değişkenler

class

The name of the class containing the function to copy

function

The name of the function

Dönen Değerler

A Closure for the specified function

Örnekler

Örnek 1 uopz_copy() example

<?php
$strtotime = uopz_copy('strtotime');

uopz_function("strtotime", function($arg1, $arg2) use($strtotime) {
/* can call original strtotime from here */
var_dump($arg1);
});

var_dump(strtotime('dummy'));
?>

Yukarıdaki örneğin çıktısı:

string(5) "dummy"


Deletes previously added function or method

  • « uopz_copy
  • uopz_delete »
  • PHP Manual
  • Uopz İşlevleri
  • Deletes previously added function or method

uopz_del_function

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_del_function — Deletes previously added function or method

Açıklama

uopz_del_function(string $function): bool
uopz_del_function(string $class, string $function, int &$all = true): bool

Deletes a previously added function or method.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

all

Whether all classes that descend from class will also be affected.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

uopz_del_function() throws a RuntimeException if the function or method to delete has not been added by uopz_add_function().

Örnekler

Örnek 1 Basic uopz_del_function() Usage

<?php
uopz_add_function('foo', function () {echo 'bar';});
var_dump(function_exists('foo'));
uopz_del_function('foo');
var_dump(function_exists('foo'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • uopz_add_function() - Adds non-existent function or method
  • uopz_unset_return() - Unsets a previously set return value for a function


Delete a function

  • « uopz_del_function
  • uopz_extend »
  • PHP Manual
  • Uopz İşlevleri
  • Delete a function

uopz_delete

(PECL uopz 1, PECL uopz 2)

uopz_delete — Delete a function

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_delete(string $function): void
uopz_delete(string $class, string $function): void

Deletes a function or method

Bağımsız Değişkenler

class

function

Dönen Değerler

Örnekler

Örnek 1 uopz_delete() example

<?php
uopz_delete("strlen");

echo strlen("Hello World");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP Fatal error: Call to undefined function strlen() in /path/to/script.php on line 4

Örnek 2 uopz_delete() class example

<?php
class My {
public static function strlen($arg) {
return strlen($arg);
}
}

uopz_delete(My::class, "strlen");

echo My::strlen("Hello World");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP Fatal error: Call to undefined method My::strlen() in /path/to/script.php on line 10


Extend a class at runtime

  • « uopz_delete
  • uopz_flags »
  • PHP Manual
  • Uopz İşlevleri
  • Extend a class at runtime

uopz_extend

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7 < 7.1.0)

uopz_extend — Extend a class at runtime

Açıklama

uopz_extend(string $class, string $parent): bool

Makes class extend parent

Bağımsız Değişkenler

class

The name of the class to extend

parent

The name of the class to inherit

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

As of PHP 7.4.0, uopz_extends() throws a RuntimeException, if OPcache is enabled, and the class entry of either class or parent (if it is a trait) is immutable.

Örnekler

Örnek 1 uopz_extend() example

<?php
class A {}
class B {}

uopz_extend(A::class, B::class);

var_dump(class_parents(A::class));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["B"]=>
  string(1) "B"
}


Get or set flags on function or class

  • « uopz_extend
  • uopz_function »
  • PHP Manual
  • Uopz İşlevleri
  • Get or set flags on function or class

uopz_flags

(PECL uopz 2 >= 2.0.2, PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_flags — Get or set flags on function or class

Açıklama

uopz_flags(string $function, int $flags = PHP_INT_MAX): int
uopz_flags(string $class, string $function, int $flags = PHP_INT_MAX): int

Get or set the flags on a class or function entry at runtime

Bağımsız Değişkenler

class

The name of a class

function

The name of the function. If class is given and an empty string is passed as function, uopz_flags() gets or sets the flags of the class entry.

flags

A valid set of ZEND_ACC_ flags. If omitted, uopz_flags() acts as getter.

Dönen Değerler

If setting, returns old flags, else returns flags

Hatalar/İstisnalar

As of PHP 7.4.0, if the parameter flags is passed, uopz_flags() throws a RuntimeException, if OPcache is enabled, and the class entry of class or the function entry of function is immutable.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL uopz 5.0.0 | The flags parameter is now optional. Formerly, ZEND_ACC_FETCH had to be passed to use uopz_flags() as getter.

Örnekler

Örnek 1 uopz_flags() example

<?php
class Test {
public function method() {
return __CLASS__;
}
}

$flags = uopz_flags("Test", "method");

var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_STATIC));

var_dump(uopz_flags("Test", "method", $flags|ZEND_ACC_STATIC|ZEND_ACC_PRIVATE));

var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_PRIVATE));
var_dump((bool) (uopz_flags("Test", "method") & ZEND_ACC_STATIC));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
int(1234567890)
bool(true)
bool(true)

Örnek 2 "Unfinalize" a Class

<?php
final class MyClass
{
}

$flags = uopz_flags(MyClass::class, '');
uopz_flags(MyClass::class, '', $flags & ~ZEND_ACC_FINAL);
var_dump((new ReflectionClass(MyClass::class))->isFinal());
?>

Yukarıdaki örneğin çıktısı:

bool(false)


Creates a function at runtime

  • « uopz_flags
  • uopz_get_exit_status »
  • PHP Manual
  • Uopz İşlevleri
  • Creates a function at runtime

uopz_function

(PECL uopz 1, PECL uopz 2)

uopz_function — Creates a function at runtime

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_function(string $function, Closure $handler, int $modifiers = ?): void
uopz_function(
string $class,
string $function,
Closure $handler,
int $modifiers = ?
): void

Creates a function at runtime

Bağımsız Değişkenler

class

The name of the class to receive the new function

function

The name of the function

handler

The Closure for the function

modifiers

The modifiers for the function, by default copied or ZEND_ACC_PUBLIC

Dönen Değerler

Örnekler

Örnek 1 uopz_function() example

<?php
uopz_function("my_strlen", function($arg) {
return strlen($arg);
});
echo my_strlen("Hello World");
?>

Yukarıdaki örneğin çıktısı:

11

Örnek 2 uopz_function() class example

<?php
class My {}

uopz_function(My::class, "strlen", function($arg) {
return strlen($arg);
}, ZEND_ACC_STATIC);

echo My::strlen("Hello World");
?>

Yukarıdaki örneğin çıktısı:

11


Retrieve the last set exit status

  • « uopz_function
  • uopz_get_hook »
  • PHP Manual
  • Uopz İşlevleri
  • Retrieve the last set exit status

uopz_get_exit_status

(PECL uopz 5, PECL uopz , PECL uopz 7)

uopz_get_exit_status — Retrieve the last set exit status

Açıklama

uopz_get_exit_status(): mixed

Retrieves the last set exit status, i.e. the value passed to exit().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This function returns the last exit status, or null if exit() has not been called.

Örnekler

Örnek 1 uopz_get_exit_status() example

<?php
exit(123);
echo uopz_get_exit_status();?>

Yukarıdaki örneğin çıktısı:

123

Notlar

Dikkat

OPcache optimizes away dead code after unconditional exit.

Ayrıca Bakınız

  • uopz_allow_exit() - Allows control over disabled exit opcode


Gets previously set hook on function or method

  • « uopz_get_exit_status
  • uopz_get_mock »
  • PHP Manual
  • Uopz İşlevleri
  • Gets previously set hook on function or method

uopz_get_hook

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_get_hook — Gets previously set hook on function or method

Açıklama

uopz_get_hook(string $function): Closure
uopz_get_hook(string $class, string $function): Closure

Gets the previously set hook on a function or method.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

Dönen Değerler

Returns the previously set hook on a function or method, or null if no hook has been set.

Örnekler

Örnek 1 Basic uopz_get_hook() Usage

<?php
function foo() {
echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
var_dump(uopz_get_hook('foo'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Closure)#2 (0) {
}

Ayrıca Bakınız

  • uopz_set_hook() - Sets hook to execute when entering a function or method
  • uopz_unset_hook() - Removes previously set hook on function or method


Get the current mock for a class

  • « uopz_get_hook
  • uopz_get_property »
  • PHP Manual
  • Uopz İşlevleri
  • Get the current mock for a class

uopz_get_mock

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_get_mock — Get the current mock for a class

Açıklama

uopz_get_mock(string $class): mixed

Returns the current mock for class.

Bağımsız Değişkenler

class

The name of the mocked class.

Dönen Değerler

Either a string containing the name of the mock, or an object, or null if no mock has been set.

Örnekler

Örnek 1 uopz_get_mock() example

<?php
class A {
public static function who() {
echo "A";
}
}

class mockA {
public static function who() {
echo "mockA";
}
}

uopz_set_mock(A::class, mockA::class);
echo uopz_get_mock(A::class);
?>

Yukarıdaki örneğin çıktısı:

mockA

Ayrıca Bakınız

  • uopz_set_mock() - Use mock instead of class for new objects
  • uopz_unset_mock() - Unset previously set mock


Gets value of class or instance property

  • « uopz_get_mock
  • uopz_get_return »
  • PHP Manual
  • Uopz İşlevleri
  • Gets value of class or instance property

uopz_get_property

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_get_property — Gets value of class or instance property

Açıklama

uopz_get_property(string $class, string $property): mixed
uopz_get_property(object $instance, string $property): mixed

Gets the value of a static class property, if class is given, or the value of an instance property, if instance is given.

Bağımsız Değişkenler

class

The name of the class.

instance

The object instance.

property

The name of the property.

Dönen Değerler

Returns the value of the class or instance property, or null if the property is not defined.

Örnekler

Örnek 1 Basic uopz_get_property() Usage

<?php
class Foo {
private static $staticBar = 10;
private $bar = 100;
}
$foo = new Foo;
var_dump(uopz_get_property('Foo', 'staticBar'));
var_dump(uopz_get_property($foo, 'bar'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(100)

Ayrıca Bakınız

  • uopz_set_property() - Sets value of existing class or instance property


Gets a previous set return value for a function

  • « uopz_get_property
  • uopz_get_static »
  • PHP Manual
  • Uopz İşlevleri
  • Gets a previous set return value for a function

uopz_get_return

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_get_return — Gets a previous set return value for a function

Açıklama

uopz_get_return(string $function): mixed
uopz_get_return(string $class, string $function): mixed

Gets the return value of the function previously set by uopz_set_return().

Bağımsız Değişkenler

class

The name of the class containing the function

function

The name of the function

Dönen Değerler

The return value or Closure previously set.

Örnekler

Örnek 1 uopz_get_return() example

<?php
uopz_set_return("strlen", 42);
echo uopz_get_return("strlen");
?>

Yukarıdaki örneğin çıktısı:

42


Gets the static variables from function or method scope

  • « uopz_get_return
  • uopz_implement »
  • PHP Manual
  • Uopz İşlevleri
  • Gets the static variables from function or method scope

uopz_get_static

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_get_static — Gets the static variables from function or method scope

Açıklama

uopz_get_static(string $class, string $function): array
uopz_get_static(string $function): array

Gets the static variables from function or method scope.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

Dönen Değerler

Returns an associative array of variable names mapped to their current values on success, or null if the function or method does not exist.

Örnekler

Örnek 1 Basic uopz_get_static() Usage

<?php
function foo() {
static $bar = 'baz';
}
var_dump(uopz_get_static('foo'));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bar"]=>
  string(3) "baz"
}

Ayrıca Bakınız

  • uopz_set_static() - Sets the static variables in function or method scope


Implements an interface at runtime

  • « uopz_get_static
  • uopz_overload »
  • PHP Manual
  • Uopz İşlevleri
  • Implements an interface at runtime

uopz_implement

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7 < 7.1.0)

uopz_implement — Implements an interface at runtime

Açıklama

uopz_implement(string $class, string $interface): bool

Makes class implement interface

Bağımsız Değişkenler

class

interface

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

As of PHP 7.4.0, uopz_implements() throws a RuntimeException, if OPcache is enabled, and the class entry of class is immutable.

Örnekler

Örnek 1 uopz_implement() example

<?php
interface myInterface {}

class myClass {}

uopz_implement(myClass::class, myInterface::class);

var_dump(class_implements(myClass::class));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["myInterface"]=>
  string(11) "myInterface"
}


Overload a VM opcode

  • « uopz_implement
  • uopz_redefine »
  • PHP Manual
  • Uopz İşlevleri
  • Overload a VM opcode

uopz_overload

(PECL uopz 1, PECL uopz 2)

uopz_overload — Overload a VM opcode

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_overload(int $opcode, Callable $callable): void

Overloads the specified opcode with the user defined function

Bağımsız Değişkenler

opcode

A valid opcode, see constants for details of supported codes

callable

Dönen Değerler

Örnekler

Örnek 1 uopz_overload() example

<?php
uopz_overload(ZEND_EXIT, function(){});

exit();
echo "Hello World";
?>

Yukarıdaki örneğin çıktısı:

Hello World


Redefine a constant

  • « uopz_overload
  • uopz_rename »
  • PHP Manual
  • Uopz İşlevleri
  • Redefine a constant

uopz_redefine

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_redefine — Redefine a constant

Açıklama

uopz_redefine(string $constant, mixed $value): bool
uopz_redefine(string $class, string $constant, mixed $value): bool

Redefines the given constant as value

Bağımsız Değişkenler

class

The name of the class containing the constant

constant

The name of the constant

value

The new value for the constant, must be a valid type for a constant variable

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 uopz_redefine() example

<?php
define("MY", 100);

uopz_redefine("MY", 1000);

echo MY;
?>

Yukarıdaki örneğin çıktısı:

1000


Rename a function at runtime

  • « uopz_redefine
  • uopz_restore »
  • PHP Manual
  • Uopz İşlevleri
  • Rename a function at runtime

uopz_rename

(PECL uopz 1, PECL uopz 2)

uopz_rename — Rename a function at runtime

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_rename(string $function, string $rename): void
uopz_rename(string $class, string $function, string $rename): void

Renames function to rename

Bilginize:

If both functions exist, this effectively swaps their names

Bağımsız Değişkenler

class

The name of the class containing the function

function

The name of an existing function

rename

The new name for the function

Dönen Değerler

Örnekler

Örnek 1 uopz_rename() example

<?php
uopz_rename("strlen", "original_strlen");

echo original_strlen("Hello World");
?>

Yukarıdaki örneğin çıktısı:

11

Örnek 2 uopz_rename() class example

<?php
class My {
public function strlen($arg) {
return strlen($arg);
}
}

uopz_rename(My::class, "strlen", "original_strlen");

echo My::original_strlen("Hello World");
?>

Yukarıdaki örneğin çıktısı:

11


Restore a previously backed up function

  • « uopz_rename
  • uopz_set_hook »
  • PHP Manual
  • Uopz İşlevleri
  • Restore a previously backed up function

uopz_restore

(PECL uopz 1 >= 1.0.3, PECL uopz 2)

uopz_restore — Restore a previously backed up function

Uyarı

uopz 5.0.0 sürümünde bu işlev PECL'de KALDIRILMIŞTIR.

Açıklama

uopz_restore(string $function): void
uopz_restore(string $class, string $function): void

Restore a previously backed up function

Bağımsız Değişkenler

class

The name of the class containing the function to restore

function

The name of the function

Dönen Değerler

Örnekler

Örnek 1 uopz_restore() example

<?php
uopz_backup("fgets");
uopz_function("fgets", function(){
return true;
});
var_dump(fgets());
uopz_restore('fgets');
fgets();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Warning: fgets() expects at least 1 parameter, 0 given in /path/to/script.php on line 8


Sets hook to execute when entering a function or method

  • « uopz_restore
  • uopz_set_mock »
  • PHP Manual
  • Uopz İşlevleri
  • Sets hook to execute when entering a function or method

uopz_set_hook

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_hook — Sets hook to execute when entering a function or method

Açıklama

uopz_set_hook(string $function, Closure $hook): bool
uopz_set_hook(string $class, string $function, Closure $hook): bool

Sets a hook to execute when entering a function or method.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

hook

A closure to execute when entering the function or method.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Basic uopz_set_hook() Usage

<?php
function foo() {
echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
foo();
?>

Yukarıdaki örneğin çıktısı:

barfoo

Ayrıca Bakınız

  • uopz_get_hook() - Gets previously set hook on function or method
  • uopz_unset_hook() - Removes previously set hook on function or method


Use mock instead of class for new objects

  • « uopz_set_hook
  • uopz_set_property »
  • PHP Manual
  • Uopz İşlevleri
  • Use mock instead of class for new objects

uopz_set_mock

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_mock — Use mock instead of class for new objects

Açıklama

uopz_set_mock(string $class, mixed $mock): void

If mock is a string containing the name of a class then it will be instantiated instead of class. mock can also be an object.

Bilginize:

Only dynamic access to properties and methods will use the mock object. Static access still uses the original class. See example below.

Bağımsız Değişkenler

class

The name of the class to be mocked.

mock

The mock to use in the form of a string containing the name of the class to use or an object. If a string is passed, it has to be the fully qualified class name. It is recommended to use the ::class magic constant in this case.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
uopz 6.0.0 | Mocking static members is no longer supported by this function. uopz_redefine() and uopz_set_return(), or Componere can be used instead.

Örnekler

Örnek 1 uopz_set_mock() example

<?php
class A {
public function who() {
echo "A";
}
}

class mockA {
public function who() {
echo "mockA";
}
}

uopz_set_mock(A::class, mockA::class);
(new A)->who();
?>

Yukarıdaki örneğin çıktısı:

mockA

Örnek 2 uopz_set_mock() example

<?php
class A {
public function who() {
echo "A";
}
}

uopz_set_mock(A::class, new class {
public function who() {
echo "mockA";
}
});
(new A)->who();
?>

Yukarıdaki örneğin çıktısı:

mockA

Örnek 3 uopz_set_mock() and static members

As of uopz 6.0.0 mocking static members is no longer supported.

<?php
class A {
const CON = 'A';
public static function who() {
echo "A";
}
}

uopz_set_mock(A::class, new class {
const CON = 'mockA';
public static function who() {
echo "mockA";
}
});
echo A::CON, PHP_EOL;
A::who();
?>

Yukarıdaki örneğin çıktısı:

A
A

Output of the above example in uopz 5:

mockA
mockA

Ayrıca Bakınız

  • uopz_get_mock() - Get the current mock for a class
  • uopz_unset_mock() - Unset previously set mock


Sets value of existing class or instance property

  • « uopz_set_mock
  • uopz_set_return »
  • PHP Manual
  • Uopz İşlevleri
  • Sets value of existing class or instance property

uopz_set_property

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_property — Sets value of existing class or instance property

Açıklama

uopz_set_property(string $class, string $property, mixed $value): void
uopz_set_property(object $instance, string $property, mixed $value): void

Sets the value of an existing static class property, if class is given, or the value of an instance property (regardless whether the instance property already exists), if instance is given.

Bağımsız Değişkenler

class

The name of the class.

instance

The object instance.

property

The name of the property.

value

The value to assign to the property.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Basic uopz_set_property() Usage

<?php
class Foo {
private static $staticBar;
private $bar;
public static function testStaticBar() {
return self::$staticBar;
}
public function testBar() {
return $this->bar;
}
}
$foo = new Foo;
uopz_set_property('Foo', 'staticBar', 10);
uopz_set_property($foo, 'bar', 100);
var_dump(Foo::testStaticBar());
var_dump($foo->testBar());
?>

Yukarıdaki örneğin çıktısı:

int(10)

Ayrıca Bakınız

  • uopz_get_property() - Gets value of class or instance property


Provide a return value for an existing function

  • « uopz_set_property
  • uopz_set_static »
  • PHP Manual
  • Uopz İşlevleri
  • Provide a return value for an existing function

uopz_set_return

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_set_return — Provide a return value for an existing function

Açıklama

uopz_set_return(string $function, mixed $value, bool $execute = false): bool
uopz_set_return(
string $class,
string $function,
mixed $value,
bool $execute = false
): bool

Sets the return value of the function to value. If value is a Closure and execute is set, the Closure will be executed in place of the original function. It is possible to call the original function from the Closure.

Bilginize:

This function replaces uopz_rename().

Bağımsız Değişkenler

class

The name of the class containing the function

function

The name of an existing function

value

The value the function should return. If a Closure is provided and the execute flag is set, the Closure will be executed in place of the original function.

execute

If true, and a Closure was provided as the value, the Closure will be executed in place of the original function.

Dönen Değerler

True if succeeded, false otherwise.

Örnekler

Örnek 1 uopz_set_return() example

<?php
uopz_set_return("strlen", 42);
echo strlen("Banana");
?>

Yukarıdaki örneğin çıktısı:

42

Örnek 2 uopz_set_return() example

<?php
uopz_set_return("strlen", function($str) { return strlen($str) * 2; }, true );
echo strlen("Banana");
?>

Yukarıdaki örneğin çıktısı:

12

Örnek 3 uopz_set_return() class example

<?php
class My {
public static function strlen($arg) {
return strlen($arg);
}
}
uopz_set_return(My::class, "strlen", function($str) { return strlen($str) * 2; }, true );
echo My::strlen("Banana");
?>

Yukarıdaki örneğin çıktısı:

12


Sets the static variables in function or method scope

  • « uopz_set_return
  • uopz_undefine »
  • PHP Manual
  • Uopz İşlevleri
  • Sets the static variables in function or method scope

uopz_set_static

(PECL uopz 5, PECL uopz , PECL uopz 7)

uopz_set_static — Sets the static variables in function or method scope

Açıklama

uopz_set_static(string $function, array $static): void
uopz_set_static(string $class, string $function, array $static): void

Sets the static variables in function or method scope.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

static

The associative array of variable names mapped to their values.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Basic uopz_set_static() Usage

<?php
function foo() {
static $bar = 'baz';
var_dump($bar);
}
uopz_set_static('foo', ['bar' => 'qux']);
foo();
?>

Yukarıdaki örneğin çıktısı:

string(3) "qux"

Ayrıca Bakınız

  • uopz_get_static() - Gets the static variables from function or method scope


Undefine a constant

  • « uopz_set_static
  • uopz_unset_hook »
  • PHP Manual
  • Uopz İşlevleri
  • Undefine a constant

uopz_undefine

(PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_undefine — Undefine a constant

Açıklama

uopz_undefine(string $constant): bool
uopz_undefine(string $class, string $constant): bool

Removes the constant at runtime

Bağımsız Değişkenler

class

The name of the class containing constant

constant

The name of an existing constant

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 uopz_undefine() example

<?php
define("MY", true);

uopz_undefine("MY");

var_dump(defined("MY"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)


Removes previously set hook on function or method

  • « uopz_undefine
  • uopz_unset_mock »
  • PHP Manual
  • Uopz İşlevleri
  • Removes previously set hook on function or method

uopz_unset_hook

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_unset_hook — Removes previously set hook on function or method

Açıklama

uopz_unset_hook(string $function): bool
uopz_unset_hook(string $class, string $function): bool

Removes the previously set hook on a function or method.

Bağımsız Değişkenler

class

The name of the class.

function

The name of the function or method.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Basic uopz_unset_hook() Usage

<?php
function foo() {
echo 'foo';
}
uopz_set_hook('foo', function () {echo 'bar';});
foo();
echo PHP_EOL;
uopz_unset_hook('foo');
foo();
?>

Yukarıdaki örneğin çıktısı:

barfoo
foo

Ayrıca Bakınız

  • uopz_set_hook() - Sets hook to execute when entering a function or method
  • uopz_get_hook() - Gets previously set hook on function or method


Unset previously set mock

  • « uopz_unset_hook
  • uopz_unset_return »
  • PHP Manual
  • Uopz İşlevleri
  • Unset previously set mock

uopz_unset_mock

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_unset_mock — Unset previously set mock

Açıklama

uopz_unset_mock(string $class): void

Unsets the previously set mock for class.

Bağımsız Değişkenler

class

The name of the mocked class.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

A RuntimeException is thrown, if no mock was previously set for class.

Örnekler

Örnek 1 uopz_unset_mock() example

<?php
class A {
public static function who() {
echo "A";
}
}

class mockA {
public static function who() {
echo "mockA";
}
}

uopz_set_mock(A::class, mockA::class);
uopz_unset_mock(A::class);
A::who();
?>

Yukarıdaki örneğin çıktısı:

A

Ayrıca Bakınız

  • uopz_set_mock() - Use mock instead of class for new objects
  • uopz_get_mock() - Get the current mock for a class


Unsets a previously set return value for a function

  • « uopz_unset_mock
  • WinCache »
  • PHP Manual
  • Uopz İşlevleri
  • Unsets a previously set return value for a function

uopz_unset_return

(PECL uopz 5, PECL uopz 6, PECL uopz 7)

uopz_unset_return — Unsets a previously set return value for a function

Açıklama

uopz_unset_return(string $function): bool
uopz_unset_return(string $class, string $function): bool

Unsets the return value of the function previously set by uopz_set_return().

Bağımsız Değişkenler

class

The name of the class containing the function

function

The name of the function

Dönen Değerler

True on success

Örnekler

Örnek 1 uopz_unset_return() example

<?php
uopz_set_return("strlen", 42);
$len = strlen("Banana");
uopz_unset_return("strlen");
echo $len + strlen("Banana");
?>

Yukarıdaki örneğin çıktısı:

48


Windows Cache for PHP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • WinCache Statistics Script
    • WinCache Session Handler
    • WinCache Functions Reroutes
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • WinCache İşlevleri
    • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo — Retrieves information about file cache memory usage
    • wincache_lock — Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
    • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info — Retrieves information about files cached in the session cache
    • wincache_scache_meminfo — Retrieves information about session cache memory usage
    • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear — Deletes entire content of the user cache
    • wincache_ucache_dec — Decrements the value associated with the key
    • wincache_ucache_delete — Deletes variables from the user cache
    • wincache_ucache_exists — Checks if a variable exists in the user cache
    • wincache_ucache_get — Gets a variable stored in the user cache
    • wincache_ucache_inc — Increments the value associated with the key
    • wincache_ucache_info — Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo — Retrieves information about user cache memory usage
    • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock — Releases an exclusive lock on a given key
  • Building for Windows
    • Prerequisites
    • Compiling and building
    • Verifying the build


Giriş

Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.

The Windows Cache Extension includes 5 different types of caches. The following describes the purpose of each cache type and the benefits it provides.

  • PHP Opcode Cache - PHP is a script processing engine, which reads an input stream of data that contains text and/or PHP instructions and produces another stream of data, most commonly in the HTML format. This means that on a web server the PHP engine reads, parses, compiles and executes a PHP script each time that it is requested by a Web client. The reading, parsing and compilation operations put additional load on the web server's CPU and file system and thus affect the overall performance of a PHP web application. The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so that it can be re-used by PHP engine for subsequent executions of the same script.

    Support for opcode caching was removed in Wincache 2.0.0, all users who wish to have an opcache should use the OPcache extension that is included with PHP.

  • File Cache - Even with the PHP opcode cache enabled, the PHP engine has to accesses the script files on a file system. When PHP scripts are stored on a remote UNC file share, the file operations introduce a significant performance overhead. The Windows Cache Extension for PHP includes a file cache that is used to store the content of the PHP script files in shared memory, which reduces the amount of file system operations performed by PHP engine.

  • Resolve File Path Cache - PHP scripts very often include or operate with files by using relative file paths. Every file path has to be normalized to an absolute file path by the PHP engine. When a PHP application uses many PHP files and accesses them by relative paths, the operation of resolving the paths may negatively impact the application's performance. The Windows Cache Extension for PHP provides a Resolve File Path cache, which is used to store the mappings between relative and absolute file paths, thereby reducing the number of path resolutions that the PHP engine has to perform.

  • User Cache (available since version 1.1.0) - PHP scripts can take advantage of the shared memory cache by using the user cache API's. PHP objects and variables can be stored in the user cache and then re-used on subsequent requests. This can be used to improve performance of PHP scripts and to share the data across multiple PHP processes.

  • Session Handler (available since version 1.1.0) - The WinCache session handler can be used to store the PHP session data in the shared memory cache. This avoids file system operations for reading and writing session data, which improves performance when large amount of data is stored in PHP session.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması
  • WinCache Statistics Script
  • WinCache Session Handler
  • WinCache Functions Reroutes
  • Özkaynak Türleri


Gereksinimler

The extension is currently supported only on the following configurations:

Windows OS:

  • Windows XP SP3 with IIS 5.1 and » FastCGI Extension
  • Windows Server 2003 with IIS 6.0 and » FastCGI Extension
  • Windows Vista SP1 with IIS 7.0 and FastCGI Module
  • Windows Server 2008 with IIS 7.0 and FastCGI Module
  • Windows 7 with IIS 7.5 and FastCGI Module
  • Windows Server 2008 R2 with IIS 7.5 and FastCGI Module

PHP:

  • PHP 5.2.X, Non-thread-safe build
  • PHP 5.3 X86, Non-thread-safe VC9 build

Bilginize: The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/wincache.

There are two packages for this extension: one package is for PHP versions 5.2.X, and the other package is for PHP 5.3.X. Select the package that is appropriate for the PHP version being used.

To install and enable the extension, follow these steps:

  1. Unpack the package into some temporary location.

  2. Copy the php_wincache.dll file into the PHP extensions folder. Typically this folder is called "ext" and it is located in the same folder with all PHP binary files. For example: C:\Program Files\PHP\ext.

  3. Using a text editor, open the php.ini file, which is usually located in the same folder where all PHP binary files are. For example: C:\Program Files\PHP\php.ini.

  4. Add the following line at the end of the php.ini file: extension = php_wincache.dll.

  5. Save and close the php.ini file.

  6. Recycle the IIS Application Pools for PHP to pick up the configuration changes. To check that the extension has been enabled, create a file called phpinfo.php with a PHP code that calls phpinfo function.

  7. Save the phpinfo.php file in the root folder of a IIS web site that uses PHP, then open a browser and make a request to http://localhost/phpinfo.php. Search within the returned web page for a section called wincache. If the extension is enabled, then the phpinfo output will list the configuration settings provided by the WinCache.

Bilginize: Do not forget to remove phpinfo.php file from the web site's root folder after verifying that extension has been enabled.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

The following table lists and explains the configuration settings provided by the WinCache extension:

WinCache configuration options
İsim | Öntanımlı | Minimum | Maximum | Değişlik Yeri | Sürüm Bilgisi
wincache.fcenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.fcenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcachesize | "24" | "5" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.fcndetect | "1" | "0" | "1" | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.maxfilesize | "256" | "10" | "2048" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ocenabled | "1" | "0" | "1" | PHP_INI_ALL | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocenabledfilter | "NULL" | "NULL" | "NULL" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.ocachesize | "96" | "15" | "255" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0. Removed as of 2.0.0.0
wincache.filecount | "4096" | "1024" | "16384" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.chkinterval | "30" | "0" | "300" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ttlmax | "1200" | "0" | "7200" | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.enablecli | 0 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ignorelist | NULL | NULL | NULL | PHP_INI_ALL | Available as of WinCache 1.0.0
wincache.namesalt | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.0.0
wincache.ucenabled | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.ucachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.scachesize | 8 | 5 | 85 | PHP_INI_SYSTEM | Available as of WinCache 1.1.0
wincache.rerouteini | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.2.0. Removed as of 1.3.7
wincache.reroute_enabled | 1 | 0 | 1 | PHP_INI_SYSTEM | PHP_INI_PERDIR | Available as of WinCache 1.3.7
wincache.srwlocks | 1 | 0 | 1 | PHP_INI_SYSTEM | Available as of WinCache 1.3.6.3. Removed as of 2.0.0.0
wincache.filemapdir | NULL | NULL | NULL | PHP_INI_SYSTEM | Available as of WinCache 1.3.7.4
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

wincache.fcenabled bool
Enables or disables the file cache functionality.
wincache.fcenabledfilter string
Defines a comma-separated list of IIS web site identifiers where file cache should be enabled or disabled. This setting works in conjunction with wincache.fcenabled: if wincache.fcenabled is set to 1, then the sites listed in the wincache.fcenabledfilter will have the file cache turned off; if wincache.fcenabled is set to 0, then the sites listed in the wincache.fcenabledfilter will have the file cache turned on.
wincache.fcachesize int
Defines the maximum memory size (in megabytes) that is allocated for the file cache. If the total size of all the cached files exceeds the value specified in this setting, then most stale files will be removed from the file cache.
wincache.fcndetect bool
Enables or disables the file change notification detection functionality. If file change notification is supported then it will be used to refresh the opcode and file cache entries as soon as the corresponding files are modified on a file system. If file change notification is not supported, for example when using network file shares, then wincache will poll for file changes at regular time intervals specified by wincache.chkinterval.
wincache.maxfilesize int
Defines the maximum allowed size (in kilobytes) for a single file to be cached. If a file size exceeds the specified value, the file will not be cached. This setting applies to the file cache only.
wincache.ocenabled bool
Uyarı

This option has been REMOVED as of 2.0.0.0

Enables or disables the opcode cache functionality
wincache.ocenabledfilter string
Uyarı

This option has been REMOVED as of 2.0.0.0

Defines a comma-separated list of IIS web site identifiers where opcode cache should be enabled or disabled. This setting works in conjunction with wincache.ocenabled: if wincache.ocenabled is set to 1, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned off; if wincache.ocenabled is set to 0, then the sites listed in the wincache.ocenabledfilter will have the opcode cache turned on.
wincache.ocachesize int
Uyarı

This option has been REMOVED as of 2.0.0.0

Defines the maximum memory size (in megabytes) that is allocated for the opcode cache. If the cached opcode size exceeds the specified value, then most stale opcode will be removed from the cache. Note that the opcode cache size must be at least 3 times bigger than file cache size. If that is not the case the opcode cache size will be automatically increased.
wincache.filecount int
Defines how many files are expected to be cached by the extension, so that appropriate memory size is allocated at the startup time. If the number of files exceeds the specified value, the WinCache will re-allocate more memory as needed.
wincache.chkinterval int
Defines how often (in seconds) the extension checks for file changes in order to refresh the cache. Setting it to 0 will disable the refreshing of the cache. The file changes will not be reflected in the cache unless the cache entry for that file is removed by scavenger or IIS application pool is recycled or wincache_refresh_if_changed function is called.
wincache.ttlmax int
Defines the maximum time to live (in seconds) for a cached entry without being used. Setting it to 0 will disable the cache scavenger, so the cached entries will never be removed from the cache during the lifetime of the IIS worker process.
wincache.enablecli bool
Defines if caching is enabled when PHP is running in command line (CLI) mode.
wincache.ignorelist string

Defines a list of files that should not be cached by the extension. The files list is specified by using file names only, separated by the pipe symbol - "|".

Örnek 1 wincache.ignorelist example

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Defines a string that will be used when naming the extension specific objects that are stored in shared memory. This is used to avoid conflicts that may be caused if other applications within an IIS worker process tries to access shared memory. The length of the namesalt string cannot exceed 8 characters.
wincache.ucenabled bool
Enables or disables the user cache functionality.
wincache.ucachesize int
Defines the maximum memory size in megabytes that is allocated for the user cache. If the total size of variables stored in the user cache exceeds the specified value, then the most stale variables will be removed from the cache.
wincache.scachesize int
Defines the maximum memory size in megabytes that is allocated for the session cache. If the total size of data stored in the session cache exceeds the specified value, then the most stale data will be removed from the cache.
wincache.rerouteini string
Uyarı

This option has been REMOVED as of 1.3.7. See wincache.reroute_enabled for similar functionality as of 1.3.7.

Specifies an absolute or a relateve path to the reroute.ini file that contains the list of PHP functions whose implementation should be replaced with the WinCache function equivalents. If a relative path is specified then it is assumed to be relative to the location of php-cgi.exe file.
wincache.reroute_enabled bool
Enables or disables the rerouting of certain file I/O functions through the file cache.
wincache.srwlocks bool
Uyarı

This option has been REMOVED as of 2.0.0.0

Enables or disables the use of shared reader/writer locks. Disabling is useful when troubleshooting deadlock conditions in WinCache.
wincache.filemapdir string
Specifies an absolute path to a directory where WinCache will store the temporary files used for shared memory segments. This directory must be on the local machine and not on a networked file system. If the directory is not specified, WinCache will use the Windows System Page File for all shared memory segments.


WinCache Statistics Script

The installation package for WinCache includes a PHP script, wincache.php, that can be used to obtain cache information and statistics.

If the WinCache extension was installed via the Microsoft Web Platform Installer, then this script is located in %SystemDrive%\Program Files\IIS\Windows Cache for PHP\. On a 64-bit version of the Windows Server operating system, the script is located in %SystemDrive%\Program Files (x86)\IIS\Windows Cache for PHP. If the extension was installed manually, then the wincache.php will be located in the same folder from which the content of the installation package was extracted.

To use wincache.php, copy it into a root folder of a Web site or into any subfolder. To protect the script, open it in any text editor and replace the values for USERNAME and PASSWORD constants. If any other IIS authentication is enabled on the server, then follow the instructions in the comments:

Örnek 1 Authentication configuration for wincache.php

<?php
/**
* ======================== CONFIGURATION SETTINGS ==============================
* If you do not want to use authentication for this page, set USE_AUTHENTICATION to 0.
* If you use authentication then replace the default password.
*/
define('USE_AUTHENTICATION', 1);
define('USERNAME', 'wincache');
define('PASSWORD', 'wincache');

/**
* The Basic PHP authentication will work only when IIS is configured to support
* Anonymous Authentication' and nothing else. If IIS is configured to support/use
* any other kind of authentication like Basic/Negotiate/Digest etc, this will not work.
* In that case use the array below to define the names of users in your
* domain/network/workgroup which you want to grant access to.
*/
$user_allowed = array('DOMAIN\user1', 'DOMAIN\user2', 'DOMAIN\user3');

/**
* If the array contains string 'all', then all the users authenticated by IIS
* will have access to the page. Uncomment the below line and comment above line
* to grant access to all users who gets authenticated by IIS.
*/
/* $user_allowed = array('all'); */

/** ===================== END OF CONFIGURATION SETTINGS ========================== */
?>

Bilginize: Always protect the wincache.php script by using either the built-in authentication or the server's authentication mechanism. Leaving this script unprotected may compromise the security of your web application and web server.


WinCache Session Handler

The WinCache session handler (available since WinCache 1.1.0) can be used to configure PHP to store the session data in shared memory session cache. Using shared memory instead of the default file session storage helps improve performance of PHP applications that store large amount of data in session objects. Wincache session cache uses file-backed shared memory, which ensures that the session data is not lost during recycling of IIS application pools.

To configure PHP to use WinCache session handler set the php.ini setting session.save_handler to wincache. By default the Windows temporary file location is used for storing the session data. To change the location of the session file use session.save_path directive.

Örnek 1 Enabling WinCache session handler

session.save_handler = wincache
session.save_path = C:\inetpub\temp\session\


WinCache Functions Reroutes

NOTE: wincache.rerouteini was removed as of WinCache 1.3.7.0. It has been replaced with automatic function reroutes. See: wincache.reroute_enabled.

The WinCache functions reroutes (available since WinCache 1.2.0, removed since WinCache 1.3.7.0) can be used to replace built-in PHP functions with their equivalents that are optimized for a particular purpose. WinCache extension includes Windows-optimized implementation of PHP file functions that may improve performance of PHP applications in cases when PHP has to access files on network shares. The optimized implementation is provided for the following functions:

  • file_exists
  • file_get_contents
  • readfile
  • is_readable
  • is_writable
  • is_dir
  • realpath
  • filesize

To configure WinCache to use the functions reroutes use the file reroute.ini that is included in WinCache installation package. Copy this file into the same directory where php.ini file is located. After that add the wincache.rerouteini setting in php.ini and specify an absolute or relative path to the reroute.ini file.

Örnek 1 Enabling WinCache functions reroutes

wincache.rerouteini = C:\PHP\reroute.ini

Bilginize: If WinCache functions reroutes are enabled it is recommended to increase the WinCache file cache size. This can be done by using wincache.fcachesize setting.

The reroute.ini file contains the mappings between the native PHP functions and their equivalents in WinCache. Each line in the file defines a mapping by using the following syntax:

<PHP function name>:[<number of function parameters>]=<wincache function name>

The example of the file is shown below. In this example the calls to PHP function file_get_contents() will be replaced with calls to wincache_file_get_contents() only if the number of parameters passed to the function is less than or equals to 2. Specifying the number of parameters is useful when replacement function does not handle all the function's parameters.

Örnek 2 Reroute.ini file content

[FunctionRerouteList]
file_exists=wincache_file_exists
file_get_contents:2=wincache_file_get_contents
readfile:2=wincache_readfile
is_readable=wincache_is_readable
is_writable=wincache_is_writable
is_writeable=wincache_is_writable
is_file=wincache_is_file
is_dir=wincache_is_dir
realpath=wincache_realpath
filesize=wincache_filesize


  • « WinCache Functions Reroutes
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


  • « Özkaynak Türleri
  • WinCache İşlevleri »
  • PHP Manual
  • WinCache
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


WinCache İşlevleri

İçindekiler

  • wincache_fcache_fileinfo — Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo — Retrieves information about file cache memory usage
  • wincache_lock — Acquires an exclusive lock on a given key
  • wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo — Retrieves information about opcode cache memory usage
  • wincache_refresh_if_changed — Refreshes the cache entries for the cached files
  • wincache_rplist_fileinfo — Retrieves information about resolve file path cache
  • wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache
  • wincache_scache_info — Retrieves information about files cached in the session cache
  • wincache_scache_meminfo — Retrieves information about session cache memory usage
  • wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_cas — Compares the variable with old value and assigns new value to it
  • wincache_ucache_clear — Deletes entire content of the user cache
  • wincache_ucache_dec — Decrements the value associated with the key
  • wincache_ucache_delete — Deletes variables from the user cache
  • wincache_ucache_exists — Checks if a variable exists in the user cache
  • wincache_ucache_get — Gets a variable stored in the user cache
  • wincache_ucache_inc — Increments the value associated with the key
  • wincache_ucache_info — Retrieves information about data stored in the user cache
  • wincache_ucache_meminfo — Retrieves information about user cache memory usage
  • wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_unlock — Releases an exclusive lock on a given key


Retrieves information about files cached in the file cache

  • « WinCache İşlevleri
  • wincache_fcache_meminfo »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about files cached in the file cache

wincache_fcache_fileinfo

(PECL wincache >= 1.0.0)

wincache_fcache_fileinfo — Retrieves information about files cached in the file cache

Açıklama

wincache_fcache_fileinfo(bool $summaryonly = false): array|false

Retrieves information about file cache content and its usage.

Bağımsız Değişkenler

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the file cache summary.

Dönen Değerler

Array of meta data about file cache başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the file cache has been active
  • total_file_count - total number of files that are currently in the file cache
  • total_hit_count - number of times the files have been served from the file cache
  • total_miss_count - number of times the files have not been found in the file cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the file cache
    • use_time - time in seconds since the file has been accessed in the file cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • file_size - size of the cached file in bytes

Örnekler

Örnek 1 A wincache_fcache_fileinfo() example

<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(   [total_cache_uptime] => 3234
    [total_file_count] => 5
    [total_hit_count] => 0
    [total_miss_count] => 1
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 1
                    [use_time] => 0
                    [last_check] => 1
                    [hit_count] => 1
                    [file_size] => 2435
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ayrıca Bakınız

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about file cache memory usage

  • « wincache_fcache_fileinfo
  • wincache_lock »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about file cache memory usage

wincache_fcache_meminfo

(PECL wincache >= 1.0.0)

wincache_fcache_meminfo — Retrieves information about file cache memory usage

Açıklama

wincache_fcache_meminfo(): array|false

Retrieves information about memory usage by file cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of meta data about file cache memory usage başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the file cache
  • memory_free - amount of free memory in bytes available for the file cache
  • num_used_blks - number of memory blocks used by the file cache
  • num_free_blks - number of free memory blocks available for the file cache
  • memory_overhead - amount of memory in bytes used for the file cache internal structures

Örnekler

Örnek 1 A wincache_fcache_meminfo() example

<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [memory_total] => 134217728
    [memory_free] => 131339120
    [num_used_blks] => 361
    [num_free_blks] => 3
    [memory_overhead] => 5856
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Acquires an exclusive lock on a given key

  • « wincache_fcache_meminfo
  • wincache_ocache_fileinfo »
  • PHP Manual
  • WinCache İşlevleri
  • Acquires an exclusive lock on a given key

wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — Acquires an exclusive lock on a given key

Açıklama

wincache_lock(string $key, bool $isglobal = false): bool

Obtains an exclusive lock on a given key. The execution of the current script will be blocked until the lock can be obtained. Once the lock is obtained, the other scripts that try to request the lock by using the same key will be blocked, until the current script releases the lock by using wincache_unlock().

Uyarı

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Bağımsız Değişkenler

key

Name of the key in the cache to get the lock on.

isglobal

Controls whether the scope of the lock is system-wide or local. Local locks are scoped to the application pool in IIS FastCGI case or to all php processes that have the same parent process identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using wincache_lock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock("lock_txt_lock")) { // do an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
wincache_unlock("lock_txt_lock"); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>

Ayrıca Bakınız

  • wincache_unlock() - Releases an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Retrieves information about files cached in the opcode cache

  • « wincache_lock
  • wincache_ocache_meminfo »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about files cached in the opcode cache

wincache_ocache_fileinfo

(PECL wincache >= 1.0.0)

wincache_ocache_fileinfo — Retrieves information about files cached in the opcode cache

Açıklama

wincache_ocache_fileinfo(bool $summaryonly = false): array|false

Retrieves information about opcode cache content and its usage.

Uyarı

Bu işlev PHP 7.0.0'da tamamen KALDIRILMIŞTIR.

Bağımsız Değişkenler

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the opcode cache summary.

Dönen Değerler

Array of meta data about opcode cache başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the opcode cache has been active
  • total_file_count - total number of files that are currently in the opcode cache
  • total_hit_count - number of times the compiled opcode have been served from the cache
  • total_miss_count - number of times the compiled opcode have not been found in the cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache

  • file_entries - an array that contains the information about all the cached files:

    • file_name - absolute file name of the cached file
    • add_time - time in seconds since the file has been added to the opcode cache
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • hit_count - number of times the file has been served from the cache
    • function_count - number of functions in the cached file
    • class_count - number of classes in the cached file

Örnekler

Örnek 1 A wincache_ocache_fileinfo() example

<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [file_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about opcode cache memory usage

  • « wincache_ocache_fileinfo
  • wincache_refresh_if_changed »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about opcode cache memory usage

wincache_ocache_meminfo

(PECL wincache >= 1.0.0)

wincache_ocache_meminfo — Retrieves information about opcode cache memory usage

Açıklama

wincache_ocache_meminfo(): array|false

Retrieves information about memory usage by opcode cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of meta data about opcode cache memory usage başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the opcode cache
  • memory_free - amount of free memory in bytes available for the opcode cache
  • num_used_blks - number of memory blocks used by the opcode cache
  • num_free_blks - number of free memory blocks available for the opcode cache
  • memory_overhead - amount of memory in bytes used for the opcode cache internal structures

Uyarı

Bu işlev PHP 7.0.0'da tamamen KALDIRILMIŞTIR.

Örnekler

Örnek 1 A wincache_ocache_meminfo() example

<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [memory_total] => 134217728
    [memory_free] => 112106972
    [num_used_blks] => 15469
    [num_free_blks] => 4
    [memory_overhead] => 247600
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Refreshes the cache entries for the cached files

  • « wincache_ocache_meminfo
  • wincache_rplist_fileinfo »
  • PHP Manual
  • WinCache İşlevleri
  • Refreshes the cache entries for the cached files

wincache_refresh_if_changed

(PECL wincache >= 1.0.0)

wincache_refresh_if_changed — Refreshes the cache entries for the cached files

Açıklama

wincache_refresh_if_changed(array $files = NULL): bool

Refreshes the cache entries for the files, whose names were passed in the input argument. If no argument is specified then refreshes all the entries in the cache.

Bağımsız Değişkenler

files

An array of file names for files that need to be refreshed. An absolute or relative file paths can be used.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

WinCache performs regular checks on the cached files to ensure that if any file has changed then the corresponding entry in the cache is updated. By default this check is performed every 30 seconds. If, for example, a PHP script updates another PHP script where the application's configuration settings are stored, then it may happen that after the configuration settings have been saved to a file, the application is still using old settings for some time until the cache is refreshed. In those cases it may be preferrable to refresh the cache right after the file has been changed. The following example shows how this can be done.

Örnek 1 A wincache_refresh_if_changed() example

<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Retrieves information about resolve file path cache

  • « wincache_refresh_if_changed
  • wincache_rplist_meminfo »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about resolve file path cache

wincache_rplist_fileinfo

(PECL wincache >= 1.0.0)

wincache_rplist_fileinfo — Retrieves information about resolve file path cache

Açıklama

wincache_rplist_fileinfo(bool $summaryonly = false): array|false

Retrieves information about cached mappings between relative file paths and corresponding absolute file paths.

Bağımsız Değişkenler

summaryonly

Dönen Değerler

Array of meta data about the resolve file path cache başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • total_file_count - total number of file path mappings stored in the cache

  • rplist_entries - an array that contains the information about all the cached file paths:

    • resolve_path - path to a file
    • subkey_data - corresponding absolute path to a file

Örnekler

Örnek 1 A wincache_rplist_fileinfo() example

<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [total_file_count] => 5
    [rplist_entries] => Array
        (
            [1] => Array
                (
                    [resolve_path] => checkcache.php
                    [subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
                )

            [2] => Array (...iterates for each cached file)
        )
)

Ayrıca Bakınız

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about memory usage by the resolve file path cache

  • « wincache_rplist_fileinfo
  • wincache_scache_info »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about memory usage by the resolve file path cache

wincache_rplist_meminfo

(PECL wincache >= 1.0.0)

wincache_rplist_meminfo — Retrieves information about memory usage by the resolve file path cache

Açıklama

wincache_rplist_meminfo(): array|false

Retrieves information about memory usage by resolve file path cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of meta data that describes memory usage by resolve file path cache. başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the resolve file path cache
  • memory_free - amount of free memory in bytes available for the resolve file path cache
  • num_used_blks - number of memory blocks used by the resolve file path cache
  • num_free_blks - number of free memory blocks available for the resolve file path cache
  • memory_overhead - amount of memory in bytes used for the internal structures of resolve file path cache

Örnekler

Örnek 1 A wincache_rplist_meminfo() example

<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [memory_total] => 9437184
    [memory_free] => 9416744
    [num_used_blks] => 23
    [num_free_blks] => 1
    [memory_overhead] => 416
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about files cached in the session cache

  • « wincache_rplist_meminfo
  • wincache_scache_meminfo »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about files cached in the session cache

wincache_scache_info

(PECL wincache >= 1.1.0)

wincache_scache_info — Retrieves information about files cached in the session cache

Açıklama

wincache_scache_info(bool $summaryonly = false): array|false

Retrieves information about session cache content and its usage.

Bağımsız Değişkenler

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the session cache summary.

Dönen Değerler

Array of meta data about session cache başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the session cache has been active
  • total_item_count - total number of elements that are currently in the session cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • scache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Örnekler

Örnek 1 A wincache_scache_info() example

<pre>
<?php
print_r(wincache_scache_info());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [total_cache_uptime] => 17357
    [total_file_count] => 121
    [total_hit_count] => 36562
    [total_miss_count] => 201
    [scache_entries] => Array
        (
            [1] => Array
                (
                    [file_name] => c:\inetpub\wwwroot\checkcache.php
                    [add_time] => 17356
                    [use_time] => 7
                    [last_check] => 10
                    [hit_count] => 454
                    [function_count] => 0
                    [class_count] => 1
                )
            [2] => Array (...iterates for each cached file)
        )
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about session cache memory usage

  • « wincache_scache_info
  • wincache_ucache_add »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about session cache memory usage

wincache_scache_meminfo

(PECL wincache >= 1.1.0)

wincache_scache_meminfo — Retrieves information about session cache memory usage

Açıklama

wincache_scache_meminfo(): array|false

Retrieves information about memory usage by session cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of meta data about session cache memory usage başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the session cache
  • memory_free - amount of free memory in bytes available for the session cache
  • num_used_blks - number of memory blocks used by the session cache
  • num_free_blks - number of free memory blocks available for the session cache
  • memory_overhead - amount of memory in bytes used for the session cache internal structures

Örnekler

Örnek 1 A wincache_scache_meminfo() example

<pre>
<?php
print_r(wincache_scache_meminfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Adds a variable in user cache only if variable does not already exist in the cache

  • « wincache_scache_meminfo
  • wincache_ucache_cas »
  • PHP Manual
  • WinCache İşlevleri
  • Adds a variable in user cache only if variable does not already exist in the cache

wincache_ucache_add

(PECL wincache >= 1.1.0)

wincache_ucache_add — Adds a variable in user cache only if variable does not already exist in the cache

Açıklama

wincache_ucache_add(string $key, mixed $value, int $ttl = 0): bool
wincache_ucache_add(array $values, mixed $unused = NULL, int $ttl = 0): bool

Adds a variable in user cache, only if this variable doesn't already exist in the cache. The added variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Bağımsız Değişkenler

key

Store the variable using this key name. If a variable with same key is already present the function will fail and return false. key is case sensitive. To override the value even if key is present use wincache_ucache_set() function instad. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass null as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Dönen Değerler

If key is string, the function returns true on success and false on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns false;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Örnekler

Örnek 1 wincache_ucache_add() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
string(3) "BAR"

Örnek 2 wincache_ucache_add() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Yukarıdaki örneğin çıktısı:

array(0) { }
array(4) {
  ["green"]=> int(-1)
  ["Blue"]=> int(-1)
  ["yellow"]=> int(-1)
  ["cyan"]=> int(-1)
}
string(1) "6"

Ayrıca Bakınız

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()


Compares the variable with old value and assigns new value to it

  • « wincache_ucache_add
  • wincache_ucache_clear »
  • PHP Manual
  • WinCache İşlevleri
  • Compares the variable with old value and assigns new value to it

wincache_ucache_cas

(PECL wincache >= 1.1.0)

wincache_ucache_cas — Compares the variable with old value and assigns new value to it

Açıklama

wincache_ucache_cas(string $key, int $old_value, int $new_value): bool

Compares the variable associated with the key with old_value and if it matches then assigns the new_value to it.

Bağımsız Değişkenler

key

The key that is used to store the variable in the cache. key is case sensitive.

old_value

Old value of the variable pointed by key in the user cache. The value should be of type long, otherwise the function returns false.

new_value

New value which will get assigned to variable pointer by key if a match is found. The value should be of type long, otherwise the function returns false.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using wincache_ucache_cas()

<?php
wincache_ucache_set('counter', 2922);
var_dump(wincache_ucache_cas('counter', 2922, 1));
var_dump(wincache_ucache_get('counter'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
int(1)

Ayrıca Bakınız

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_dec() - Decrements the value associated with the key


Deletes entire content of the user cache

  • « wincache_ucache_cas
  • wincache_ucache_dec »
  • PHP Manual
  • WinCache İşlevleri
  • Deletes entire content of the user cache

wincache_ucache_clear

(PECL wincache >= 1.1.0)

wincache_ucache_clear — Deletes entire content of the user cache

Açıklama

wincache_ucache_clear(): bool

Clears/deletes all the values stored in the user cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 using wincache_ucache_clear()

<?php
wincache_ucache_set('green', 1);
wincache_ucache_set('red', 2);
wincache_ucache_set('orange', 4);
wincache_ucache_set('blue', 8);
wincache_ucache_set('cyan', 16);
$array1 = array('green', 'red', 'orange', 'blue', 'cyan');
var_dump(wincache_ucache_get($array1));
var_dump(wincache_ucache_clear());
var_dump(wincache_ucache_get($array1));
?>

Yukarıdaki örneğin çıktısı:

array(5) { ["green"]=> int(1)
           ["red"]=> int(2)
           ["orange"]=> int(4)
           ["blue"]=> int(8)
           ["cyan"]=> int(16) }
bool(true)
bool(false)

Ayrıca Bakınız

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Decrements the value associated with the key

  • « wincache_ucache_clear
  • wincache_ucache_delete »
  • PHP Manual
  • WinCache İşlevleri
  • Decrements the value associated with the key

wincache_ucache_dec

(PECL wincache >= 1.1.0)

wincache_ucache_dec — Decrements the value associated with the key

Açıklama

wincache_ucache_dec(string $key, int $dec_by = 1, bool &$success = ?): mixed

Decrements the value associated with the key by 1 or as specified by dec_by.

Bağımsız Değişkenler

key

The key that was used to store the variable in the cache. key is case sensitive.

dec_by

The value by which the variable associated with the key will get decremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns false.

success

Will be set to true on success and false on failure.

Dönen Değerler

Returns the decremented value on success and false on failure.

Örnekler

Örnek 1 Using wincache_ucache_dec()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_dec('counter', 2923, $success));
var_dump($success);
?>

Yukarıdaki örneğin çıktısı:

int(2922)
bool(true)

Ayrıca Bakınız

  • wincache_ucache_inc() - Increments the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it


Deletes variables from the user cache

  • « wincache_ucache_dec
  • wincache_ucache_exists »
  • PHP Manual
  • WinCache İşlevleri
  • Deletes variables from the user cache

wincache_ucache_delete

(PECL wincache >= 1.1.0)

wincache_ucache_delete — Deletes variables from the user cache

Açıklama

wincache_ucache_delete(mixed $key): bool

Deletes the elements in the user cache pointed by key.

Bağımsız Değişkenler

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

If key is an array then the function returns false if every element of the array fails to get deleted from the user cache, otherwise returns an array which consists of all the keys that are deleted.

Örnekler

Örnek 1 Using wincache_ucache_delete() with key as a string

<?php
wincache_ucache_set('foo', 'bar');
var_dump(wincache_ucache_delete('foo'));
var_dump(wincache_ucache_exists('foo'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Örnek 2 Usingwincache_ucache_delete() with key as an array

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'blue', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Yukarıdaki örneğin çıktısı:

array(4) { [0]=> string(5) "green"
           [1]=> string(4) "Blue"
           [2]=> string(6) "yellow"
           [3]=> string(4) "cyan" }

Örnek 3 Using wincache_ucache_delete() with key as an array where some elements cannot be deleted

<?php
$array1 = array('green' => '5', 'blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('orange', 'red', 'yellow', 'cyan');
var_dump(wincache_ucache_delete($array2));
?>

Yukarıdaki örneğin çıktısı:

array(2) { [0]=> string(6) "yellow"
           [1]=> string(4) "cyan" }

Ayrıca Bakınız

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Checks if a variable exists in the user cache

  • « wincache_ucache_delete
  • wincache_ucache_get »
  • PHP Manual
  • WinCache İşlevleri
  • Checks if a variable exists in the user cache

wincache_ucache_exists

(PECL wincache >= 1.1.0)

wincache_ucache_exists — Checks if a variable exists in the user cache

Açıklama

wincache_ucache_exists(string $key): bool

Checks if a variable with the key exists in the user cache or not.

Bağımsız Değişkenler

key

The key that was used to store the variable in the cache. key is case sensitive.

Dönen Değerler

Returns true if variable with the key exitsts, otherwise returns false.

Örnekler

Örnek 1 Using wincache_ucache_exists()

<?php
if (!wincache_ucache_exists('green'))
wincache_ucache_set('green', 1);
var_dump(wincache_ucache_exists('green'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache


Gets a variable stored in the user cache

  • « wincache_ucache_exists
  • wincache_ucache_inc »
  • PHP Manual
  • WinCache İşlevleri
  • Gets a variable stored in the user cache

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get — Gets a variable stored in the user cache

Açıklama

wincache_ucache_get(mixed $key, bool &$success = ?): mixed

Gets a variable stored in the user cache.

Bağımsız Değişkenler

key

The key that was used to store the variable in the cache. key is case sensitive. key can be an array of keys. In this case the return value will be an array of values of each element in the key array. If an object, or an array containing objects, is returned, then the objects will be unserialized. See __wakeup() for details on unserializing objects.

success

Will be set to true on success and false on failure.

Dönen Değerler

If key is a string, the function returns the value of the variable stored with that key. The success is set to true on success and to false on failure.

The key is an array, the parameter success is always set to true. The returned array (name => value pairs) will contain only those name => value pairs for which the get operation in user cache was successful. If none of the keys in the key array finds a match in the user cache an empty array will be returned.

Örnekler

Örnek 1 wincache_ucache_get() with key as a string

<?php
wincache_ucache_add('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

Yukarıdaki örneğin çıktısı:

string(4) "blue"
bool(true)

Örnek 2 wincache_ucache_get() with key as an array

<?php
$array1 = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

Yukarıdaki örneğin çıktısı:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

Ayrıca Bakınız

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __wakeup()


Increments the value associated with the key

  • « wincache_ucache_get
  • wincache_ucache_info »
  • PHP Manual
  • WinCache İşlevleri
  • Increments the value associated with the key

wincache_ucache_inc

(PECL wincache >= 1.1.0)

wincache_ucache_inc — Increments the value associated with the key

Açıklama

wincache_ucache_inc(string $key, int $inc_by = 1, bool &$success = ?): mixed

Increments the value associated with the key by 1 or as specified by inc_by.

Bağımsız Değişkenler

key

The key that was used to store the variable in the cache. key is case sensitive.

inc_by

The value by which the variable associated with the key will get incremented. If the argument is a floating point number it will be truncated to nearest integer. The variable associated with the key should be of type long, otherwise the function fails and returns false.

success

Will be set to true on success and false on failure.

Dönen Değerler

Returns the incremented value on success and false on failure.

Örnekler

Örnek 1 Using wincache_ucache_inc()

<?php
wincache_ucache_set('counter', 1);
var_dump(wincache_ucache_inc('counter', 2921, $success));
var_dump($success);
?>

Yukarıdaki örneğin çıktısı:

int(2922)
bool(true)

Ayrıca Bakınız

  • wincache_ucache_dec() - Decrements the value associated with the key
  • wincache_ucache_cas() - Compares the variable with old value and assigns new value to it


Retrieves information about data stored in the user cache

  • « wincache_ucache_inc
  • wincache_ucache_meminfo »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about data stored in the user cache

wincache_ucache_info

(PECL wincache >= 1.1.0)

wincache_ucache_info — Retrieves information about data stored in the user cache

Açıklama

wincache_ucache_info(bool $summaryonly = false, string $key = NULL): array|false

Retrieves information about data stored in the user cache.

Bağımsız Değişkenler

summaryonly

Controls whether the returned array will contain information about individual cache entries along with the user cache summary.

key

The key of an entry in the user cache. If specified then the returned array will contain information only about that cache entry. If not specified and summaryonly is set to false then the returned array will contain information about all entries in the cache.

Dönen Değerler

Array of meta data about user cache başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • total_cache_uptime - total time in seconds that the user cache has been active
  • total_item_count - total number of elements that are currently in the user cache
  • is_local_cache - true is the cache metadata is for a local cache instance, false if the metadata is for the global cache
  • total_hit_count - number of times the data has been served from the cache
  • total_miss_count - number of times the data has not been found in the cache

  • ucache_entries - an array that contains the information about all the cached items:

    • key_name - name of the key which is used to store the data
    • value_type - type of value stored by the key
    • use_time - time in seconds since the file has been accessed in the opcode cache
    • last_check - time in seconds since the file has been checked for modifications
    • is_session - indicates if the data is a session variable
    • ttl_seconds - time remaining for the data to live in the cache, 0 meaning infinite
    • age_seconds - time elapsed from the time data has been added in the cache
    • hitcount - number of times data has been served from the cache

Örnekler

Örnek 1 Using wincache_ucache_info()

<?php
wincache_ucache_get('green');
wincache_ucache_set('green', 2922);
wincache_ucache_get('green');
wincache_ucache_get('green');
wincache_ucache_get('green');
print_r(wincache_ucache_info());
?>

Yukarıdaki örneğin çıktısı:

Array
( ["total_cache_uptime"] => int(0)
  ["is_local_cache"] => bool(false)
  ["total_item_count"] => int(1)
  ["total_hit_count"] => int(3)
  ["total_miss_count"] => int(1)
  ["ucache_entries"] => Array(1)
    ( [1] => Array(6)
      (
        ["key_name"] => string(5) "green"
        ["value_type"] => string(4) "long"
        ["is_session"] => int(0)
        ["ttl_seconds"] => int(0)
        ["age_seconds"] => int(0)
        ["hitcount"] => int(3)
       )
    )
)

Ayrıca Bakınız

  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_ocache_meminfo() - Retrieves information about opcode cache memory usage
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Retrieves information about user cache memory usage

  • « wincache_ucache_info
  • wincache_ucache_set »
  • PHP Manual
  • WinCache İşlevleri
  • Retrieves information about user cache memory usage

wincache_ucache_meminfo

(PECL wincache >= 1.1.0)

wincache_ucache_meminfo — Retrieves information about user cache memory usage

Açıklama

wincache_ucache_meminfo(): array|false

Retrieves information about memory usage by user cache.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of meta data about user cache memory usage başarısızlık durumunda false döner

The array returned by this function contains the following elements:

  • memory_total - amount of memory in bytes allocated for the user cache
  • memory_free - amount of free memory in bytes available for the user cache
  • num_used_blks - number of memory blocks used by the user cache
  • num_free_blks - number of free memory blocks available for the user cache
  • memory_overhead - amount of memory in bytes used for the user cache internal structures

Örnekler

Örnek 1 A wincache_ucache_meminfo() example

<pre>
<?php
print_r(wincache_ucache_meminfo());
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [memory_total] => 5242880
    [memory_free] => 5215056
    [num_used_blks] => 6
    [num_free_blks] => 3
    [memory_overhead] => 176
)

Ayrıca Bakınız

  • wincache_fcache_fileinfo() - Retrieves information about files cached in the file cache
  • wincache_fcache_meminfo() - Retrieves information about file cache memory usage
  • wincache_ocache_fileinfo() - Retrieves information about files cached in the opcode cache
  • wincache_rplist_fileinfo() - Retrieves information about resolve file path cache
  • wincache_rplist_meminfo() - Retrieves information about memory usage by the resolve file path cache
  • wincache_refresh_if_changed() - Refreshes the cache entries for the cached files
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache
  • wincache_scache_meminfo() - Retrieves information about session cache memory usage


Adds a variable in user cache and overwrites a variable if it already exists in the cache

  • « wincache_ucache_meminfo
  • wincache_unlock »
  • PHP Manual
  • WinCache İşlevleri
  • Adds a variable in user cache and overwrites a variable if it already exists in the cache

wincache_ucache_set

(PECL wincache >= 1.1.0)

wincache_ucache_set — Adds a variable in user cache and overwrites a variable if it already exists in the cache

Açıklama

wincache_ucache_set(mixed $key, mixed $value, int $ttl = 0): bool
wincache_ucache_set(array $values, mixed $unused = NULL, int $ttl = 0): bool

Adds a variable in user cache. Overwrites a variable if it already exists in the cache. The added or updated variable remains in the user cache unless its time to live expires or it is deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Bağımsız Değişkenler

key

Store the variable using this key name. If a variable with same key is already present the function will overwrite the previous value with the new one. key is case sensitive. key can also take array of name => value pairs where names will be used as keys. This can be used to add multiple values in the cache in one operation, thus avoiding race condition.

value

Value of a variable to store. Value supports all data types except resources, such as file handles. This paramter is ignored if first argument is an array. A general guidance is to pass null as value while using array as key. If value is an object, or an array containing objects, then the objects will be serialized. See __sleep() for details on serializing objects.

values

Associative array of keys and values.

ttl

Time for the variable to live in the cache in seconds. After the value specified in ttl has passed the stored variable will be deleted from the cache. This parameter takes a default value of 0 which means the variable will stay in the cache unless explicitly deleted by using wincache_ucache_delete() or wincache_ucache_clear() functions.

Dönen Değerler

If key is string, the function returns true on success and false on failure.

If key is an array, the function returns:

  • If all the name => value pairs in the array can be set, function returns an empty array;
  • If all the name => value pairs in the array cannot be set, function returns false;
  • If some can be set while others cannot, function returns an array with name=>value pair for which the addition failed in the user cache.

Örnekler

Örnek 1 wincache_ucache_set() with key as a string

<?php
$bar = 'BAR';
var_dump(wincache_ucache_set('foo', $bar));
var_dump(wincache_ucache_get('foo'));
$bar1 = 'BAR1';
var_dump(wincache_ucache_set('foo', $bar1));
var_dump(wincache_ucache_get('foo'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
string(3) "BAR"
bool(true)
string(3) "BAR1"

Örnek 2 wincache_ucache_set() with key as an array

<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_set($colors_array));
var_dump(wincache_ucache_get('Blue'));
?>

Yukarıdaki örneğin çıktısı:

array(0) {}
array(0) {}
string(1) "6"

Ayrıca Bakınız

  • wincache_ucache_add() - Adds a variable in user cache only if variable does not already exist in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • __sleep()


Releases an exclusive lock on a given key

  • « wincache_ucache_set
  • Building for Windows »
  • PHP Manual
  • WinCache İşlevleri
  • Releases an exclusive lock on a given key

wincache_unlock

(PECL wincache >= 1.1.0)

wincache_unlock — Releases an exclusive lock on a given key

Açıklama

wincache_unlock(string $key): bool

Releases an exclusive lock that was obtained on a given key by using wincache_lock(). If any other process was blocked waiting for the lock on this key, that process will be able to obtain the lock.

Uyarı

Using of the wincache_lock() and wincache_unlock() can cause deadlocks when executing PHP scripts in a multi-process environment like FastCGI. Do not use these functions unless you are absolutely sure you need to use them. For the majority of the operations on the user cache it is not necessary to use these functions.

Bağımsız Değişkenler

key

Name of the key in the cache to release the lock on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using wincache_unlock()

<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock("lock_txt_lock")) { // do an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
wincache_unlock("lock_txt_lock"); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>

Ayrıca Bakınız

  • wincache_lock() - Acquires an exclusive lock on a given key
  • wincache_ucache_set() - Adds a variable in user cache and overwrites a variable if it already exists in the cache
  • wincache_ucache_get() - Gets a variable stored in the user cache
  • wincache_ucache_delete() - Deletes variables from the user cache
  • wincache_ucache_clear() - Deletes entire content of the user cache
  • wincache_ucache_exists() - Checks if a variable exists in the user cache
  • wincache_ucache_meminfo() - Retrieves information about user cache memory usage
  • wincache_ucache_info() - Retrieves information about data stored in the user cache
  • wincache_scache_info() - Retrieves information about files cached in the session cache


Building for Windows

İçindekiler

  • Prerequisites
  • Compiling and building
  • Verifying the build


Prerequisites

Building WinCache extension will require:

  1. PHP source code
  2. PHP build environment
  3. WinCache source code

For completing first two steps, follow the step-by-step guide for how to » build PHP on Windows.

For getting the WinCache source code follow the instructions described in Downloading PECL extensions.


Compiling and building

The following steps describe how to compile and build WinCache on Windows OS:

  1. Open a command prompt which is used to build PHP

  2. Go to the root folder where PHP sources are present

  3. Run the command:

    cscript.exe win32\build\buildconf.js

  4. Run the command:

    configure.bat --help
    The output will contain a new flag --enable-wincache.

  5. Run the command:

    configure.js [all options used to build PHP] --enable-wincache
    --enable-wincache is the only extra option which is required to ensure that WinCache extension gets built properly. This option will build WinCache and will statically link it with PHP dll. To build WinCache extension as a stand-alone DLL use the option --enable-wincache=shared.

  6. Run the command:

    nmake


Verifying the build

The following steps describe how to verify that WinCache has been built correctly:

  1. Go to the folder where the PHP binaries are built

  2. Run the command:

    php.exe -n -d extension=php_wincache.dll -re wincache
    If WinCache has been built properly, the output of this command will list the INI directives and functions supported by WinCache.


Hierarchical Profiler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Xhprof İşlevleri
    • xhprof_disable — Stops xhprof profiler
    • xhprof_enable — Start xhprof profiler
    • xhprof_sample_disable — Stops xhprof sample profiler
    • xhprof_sample_enable — Start XHProf profiling in sampling mode


Giriş

XHProf is a light-weight hierarchical and instrumentation based profiler. During the data collection phase, it keeps track of call counts and inclusive metrics for arcs in the dynamic callgraph of a program. It computes exclusive metrics in the reporting/post processing phase, such as wall (elapsed) time, CPU time and memory usage. A functions profile can be broken down by callers or callees. XHProf handles recursive functions by detecting cycles in the callgraph at data collection time itself and avoiding the cycles by giving unique depth qualified names for the recursive invocations.

XHProf includes a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

XHProf reports can often be helpful in understanding the structure of the code being executed. The hierarchical nature of the reports can be used to determine, for example, what chain of calls led to a particular function getting called.

XHProf supports ability to compare two runs (a.k.a. "diff" reports) or aggregate data from multiple runs. Diff and aggregate reports, much like single run reports, offer "flat" as well as "hierarchical" views of the profile.

Additional documentation can be found via the » facebook xhprof website.


Gereksinimler

Although not required, xhprof includes an interface that's written in PHP. It's used to save and display the profiled data in a usable way, where viewing is done via a web browser. So, a PHP enabled web server will likely make the xhprof experience more useful.

There's also a fork of the GUI interface at » http://github.com/preinheimer/xhprof


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/xhprof


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Xhprof Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
xhprof.output_dir | "" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

xhprof.output_dir string

Directory used by the default implementation of the iXHProfRuns interface (namely, the XHProfRuns_Default class) for storing XHProf runs.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XHPROF_FLAGS_NO_BUILTINS (int)
Used to skip all built-in (internal) functions.
XHPROF_FLAGS_CPU (int)
Used to add CPU profiling information to the output.
XHPROF_FLAGS_MEMORY (int)
Used to add memory profiling information to the output.


Örnekler

Örnek 1 Xhprof example with the optional GUI

This example starts and stops the profiler, then uses the bundled GUI interface to save and parse the results. In other words, the code from the extension itself ends at the call to xhprof_disable().

<?php
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);

for ($i = 0; $i <= 1000; $i++) {
$a = $i * $i;
}

$xhprof_data = xhprof_disable();

$XHPROF_ROOT = "/tools/xhprof/";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_lib.php";
include_once $XHPROF_ROOT . "/xhprof_lib/utils/xhprof_runs.php";

$xhprof_runs = new XHProfRuns_Default();
$run_id = $xhprof_runs->save_run($xhprof_data, "xhprof_testing");

echo "http://localhost/xhprof/xhprof_html/index.php?run={$run_id}&source=xhprof_testing\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

http://localhost/xhprof/xhprof_html/index.php?run=t11_4bdf44d21121f&source=xhprof_testing


Xhprof İşlevleri

İçindekiler

  • xhprof_disable — Stops xhprof profiler
  • xhprof_enable — Start xhprof profiler
  • xhprof_sample_disable — Stops xhprof sample profiler
  • xhprof_sample_enable — Start XHProf profiling in sampling mode


Stops xhprof profiler

  • « Xhprof İşlevleri
  • xhprof_enable »
  • PHP Manual
  • Xhprof İşlevleri
  • Stops xhprof profiler

xhprof_disable

(PECL xhprof >= 0.9.0)

xhprof_disable — Stops xhprof profiler

Açıklama

xhprof_disable(): array

Stops the profiler, and returns xhprof data from the run.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of xhprof data, from the run.

Örnekler

Örnek 1 xhprof_disable() example

<?php
xhprof_enable();

$foo = strlen("foo bar");

$xhprof_data = xhprof_disable();

print_r($xhprof_data);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [main()==>strlen] => Array
        (
            [ct] => 1
            [wt] => 279
        )

    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 9
        )

    [main()] => Array
        (
            [ct] => 1
            [wt] => 610
        )

)


Start xhprof profiler

  • « xhprof_disable
  • xhprof_sample_disable »
  • PHP Manual
  • Xhprof İşlevleri
  • Start xhprof profiler

xhprof_enable

(PECL xhprof >= 0.9.0)

xhprof_enable — Start xhprof profiler

Açıklama

xhprof_enable(int $flags = 0, array $options = ?): void

Start xhprof profiling.

Bağımsız Değişkenler

flags

Optional flags to add additional information to the profiling. See the XHprof constants for further information about these flags, e.g., XHPROF_FLAGS_MEMORY to enable memory profiling.

options

An array of optional options, namely, the 'ignored_functions' option to pass in functions to be ignored during profiling.

Dönen Değerler

null

Sürüm Bilgisi

Sürüm: | Açıklama
PECL xhprof 0.9.2 | The optional options parameter was added.

Örnekler

Örnek 1 xhprof_enable() examples

<?php
// 1. elapsed time + memory + CPU profiling; and ignore built-in (internal) functions
xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);

// 2. elapsed time profiling; ignore call_user_func* during profiling
xhprof_enable(
0,
array('ignored_functions' => array('call_user_func',
'call_user_func_array')));

// 3. elapsed time + memory profiling; ignore call_user_func* during profiling
xhprof_enable(
XHPROF_FLAGS_MEMORY,
array('ignored_functions' => array('call_user_func',
'call_user_func_array')));
?>

Ayrıca Bakınız

  • xhprof_disable() - Stops xhprof profiler
  • xhprof_sample_enable() - Start XHProf profiling in sampling mode
  • memory_get_usage() - PHP'ye ayrılan belleğin miktarını döndürür
  • getrusage() - Geçerli özkaynak kullanımlarını döndürür


Stops xhprof sample profiler

  • « xhprof_enable
  • xhprof_sample_enable »
  • PHP Manual
  • Xhprof İşlevleri
  • Stops xhprof sample profiler

xhprof_sample_disable

(PECL xhprof >= 0.9.0)

xhprof_sample_disable — Stops xhprof sample profiler

Açıklama

xhprof_sample_disable(): array

Stops the sample mode xhprof profiler, and

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of xhprof sample data, from the run.

Örnekler

Örnek 1 xhprof_sample_disable() example

<?php
xhprof_sample_enable();

for ($i = 0; $i <= 10000; $i++) {
$a = strlen($i);
$b = $i * $a;
$c = rand();
}

$xhprof_data = xhprof_sample_disable();

print_r($xhprof_data);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [1272935300.800000] => main()
    [1272935300.900000] => main()
)


Start XHProf profiling in sampling mode

  • « xhprof_sample_disable
  • Yac »
  • PHP Manual
  • Xhprof İşlevleri
  • Start XHProf profiling in sampling mode

xhprof_sample_enable

(PECL xhprof >= 0.9.0)

xhprof_sample_enable — Start XHProf profiling in sampling mode

Açıklama

xhprof_sample_enable(): void

Starts profiling in sample mode, which is a lighter weight version of xhprof_enable(). The sampling interval is 0.1 seconds, and samples record the full function call stack. The main use case is when lower overhead is required when doing performance monitoring and diagnostics.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

null

Ayrıca Bakınız

  • xhprof_sample_disable() - Stops xhprof sample profiler
  • xhprof_enable() - Start xhprof profiler
  • memory_get_usage() - PHP'ye ayrılan belleğin miktarını döndürür
  • getrusage() - Geçerli özkaynak kullanımlarını döndürür


Yac

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Yac — The Yac class
    • Yac::add — Store into cache
    • Yac::__construct — Constructor
    • Yac::delete — Remove items from cache
    • Yac::dump — Dump cache
    • Yac::flush — Flush the cache
    • Yac::get — Retrieve values from cache
    • Yac::__get — Getter
    • Yac::info — Status of cache
    • Yac::set — Store into cache
    • Yac::__set — Setter


Giriş

Yac (Yet Another cache), is a lock-free, shared memory user data cache, could be used to replace APC, local memcache.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yac.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Yac Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
yac.compress_threshold | -1 | PHP_INI_SYSTEM |
yac.debug | 0 | PHP_INI_ALL |
yac.enable | 1 | PHP_INI_SYSTEM |
yac.enable_cli | 0 | PHP_INI_SYSTEM |
yac.keys_memory_size | 4M | PHP_INI_SYSTEM |
yac.serializer | php | PHP_INI_SYSTEM |
yac.values_memory_size | 64M | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

yac.compress_threshold int

yac.debug int

yac.enable int

yac.enable_cli int

yac.keys_memory_size string

yac.serializer string

yac.values_memory_size string


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

YAC_VERSION (string)
YAC_MAX_KEY_LEN (int)
Max length of a key could be, it is 48 bytes.
YAC_MAX_VALUE_RAW_LEN (int)
YAC_MAX_RAW_COMPRESSED_LEN (int)
YAC_SERIALIZER_PHP (int)
Use php serialize as serializer
YAC_SERIALIZER_JSON (int)
Use json as serializer(requrie --enable-json)
YAC_SERIALIZER_IGBINARY (int)
Use igbinary as serializer(require --enable-igbinary)
YAC_SERIALIZER_MSGPACK (int)
Use msgpack as serializer(require --enable-msgpack)
YAC_SERIALIZER (string)
Which serialzier is yac used


The Yac class

(PECL yac >= 1.0.0)

Giriş

Sınıf Sözdizimi

class Yac {
/* Özellikler */
protected $_prefix;
/* Yöntemler */
public __construct(string $prefix = "")
public add(string $keys, mixed $value, int $ttl = 0): bool
public add(array $key_vals): bool
public delete(string|array $keys, int $ttl = ?): bool
public dump(int $$num): mixed
public flush(): bool
public get(string|array $key, int &$cas = null): mixed
public __get(string $key): mixed
public info(): array
public set(string $keys, mixed $value, int $ttl = 0): bool
public add(array $key_vals): bool
public __set(string $keys, mixed $value): mixed
}

Özellikler

_prefix

İçindekiler

  • Yac::add — Store into cache
  • Yac::__construct — Constructor
  • Yac::delete — Remove items from cache
  • Yac::dump — Dump cache
  • Yac::flush — Flush the cache
  • Yac::get — Retrieve values from cache
  • Yac::__get — Getter
  • Yac::info — Status of cache
  • Yac::set — Store into cache
  • Yac::__set — Setter


Store into cache

  • « Yac
  • Yac::__construct »
  • PHP Manual
  • Yac
  • Store into cache

Yac::add

(PECL yac >= 1.0.0)

Yac::add — Store into cache

Açıklama

public Yac::add(string $keys, mixed $value, int $ttl = 0): bool
public Yac::add(array $key_vals): bool

Added a item into cache.

Bağımsız Değişkenler

keys

string key

value

mixed value, All php value type could be stored except resource

ttl

expire time

Dönen Değerler

bool, true on success, false on failure

Bilginize:

Yac::add() may fail if cas lock could not obtain, so, if you need the value to be stored properly, you may write codes like:

Örnek 1 Make sure the item is stored

while(!$yac->set("key", "vale));


Constructor

  • « Yac::add
  • Yac::delete »
  • PHP Manual
  • Yac
  • Constructor

Yac::__construct

(PECL yac >= 1.0.0)

Yac::__construct — Constructor

Açıklama

public Yac::__construct(string $prefix = "")

prefix is used to prepended to keys, this could be used to avoiding conflicts between apps.

Bağımsız Değişkenler

prefix

string prefix

Hatalar/İstisnalar

Throws an Exception if Yac is not enabled. Throws Exception if prefix exceeds max key length of 48 (YAC_MAX_KEY_LEN) bytes.


Remove items from cache

  • « Yac::__construct
  • Yac::dump »
  • PHP Manual
  • Yac
  • Remove items from cache

Yac::delete

(PECL yac >= 1.0.0)

Yac::delete — Remove items from cache

Açıklama

public Yac::delete(string|array $keys, int $ttl = ?): bool

remove items from cache

Bağımsız Değişkenler

keys

string key, or array of multiple keys to be removed

ttl

if delay is set, delete will mark the items to be invalid in ttl second.

Dönen Değerler


Dump cache

  • « Yac::delete
  • Yac::flush »
  • PHP Manual
  • Yac
  • Dump cache

Yac::dump

(PECL yac >= 1.0.0)

Yac::dump — Dump cache

Açıklama

public Yac::dump(int $$num): mixed

Dump values stored in cache

Bağımsız Değişkenler

num

Maximum number of items should be returned

Dönen Değerler

mixed


Flush the cache

  • « Yac::dump
  • Yac::get »
  • PHP Manual
  • Yac
  • Flush the cache

Yac::flush

(PECL yac >= 1.0.0)

Yac::flush — Flush the cache

Açıklama

public Yac::flush(): bool

Remove all cached values

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

bool, always true


Retrieve values from cache

  • « Yac::flush
  • Yac::__get »
  • PHP Manual
  • Yac
  • Retrieve values from cache

Yac::get

(PECL yac >= 1.0.0)

Yac::get — Retrieve values from cache

Açıklama

public Yac::get(string|array $key, int &$cas = null): mixed

Retrieve values from cache

Bağımsız Değişkenler

key

string keys, or array of multiple keys.

cas

if not null, it will be set to the retrieved item's cas.

Dönen Değerler

mixed on success, false on failure


Getter

  • « Yac::get
  • Yac::info »
  • PHP Manual
  • Yac
  • Getter

Yac::__get

(PECL yac >= 1.0.0)

Yac::__get — Getter

Açıklama

public Yac::__get(string $key): mixed

Retrieve values from cache

Bağımsız Değişkenler

key

string key

Dönen Değerler

mixed on success, null on failure


Status of cache

  • « Yac::__get
  • Yac::set »
  • PHP Manual
  • Yac
  • Status of cache

Yac::info

(PECL yac >= 1.0.0)

Yac::info — Status of cache

Açıklama

public Yac::info(): array

Get status of cache system

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return an array, consistent with: "memory_size", "slots_memory_size", "values_memory_size", "segment_size", "segment_num", "miss", "hits", "fails", "kicks", "recycles", "slots_size", "slots_used"


Store into cache

  • « Yac::info
  • Yac::__set »
  • PHP Manual
  • Yac
  • Store into cache

Yac::set

(PECL yac >= 1.0.0)

Yac::set — Store into cache

Açıklama

public Yac::set(string $keys, mixed $value, int $ttl = 0): bool
public Yac::add(array $key_vals): bool

Add a item into cache, it the key is already exists, override it.

Bağımsız Değişkenler

keys

string key

value

mixed value, All php value type could be stored except resource

ttl

expire time

Dönen Değerler

the value self


Setter

  • « Yac::set
  • Ses Biçemleme İşlemleri »
  • PHP Manual
  • Yac
  • Setter

Yac::__set

(PECL yac >= 1.0.0)

Yac::__set — Setter

Açıklama

public Yac::__set(string $keys, mixed $value): mixed

store a item into cache

Bağımsız Değişkenler

keys

string key

value

mixed value, All php value type could be stored except resource

Dönen Değerler

Always return the value self


Ses Biçemleme İşlemleri

  • OpenAL — OpenAL Audio Bindings
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • OpenAL İşlevleri


OpenAL Audio Bindings

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • OpenAL İşlevleri
    • openal_buffer_create — Generate OpenAL buffer
    • openal_buffer_data — Load a buffer with data
    • openal_buffer_destroy — Destroys an OpenAL buffer
    • openal_buffer_get — Retrieve an OpenAL buffer property
    • openal_buffer_loadwav — Load a .wav file into a buffer
    • openal_context_create — Create an audio processing context
    • openal_context_current — Make the specified context current
    • openal_context_destroy — Destroys a context
    • openal_context_process — Process the specified context
    • openal_context_suspend — Suspend the specified context
    • openal_device_close — Close an OpenAL device
    • openal_device_open — Initialize the OpenAL audio layer
    • openal_listener_get — Retrieve a listener property
    • openal_listener_set — Set a listener property
    • openal_source_create — Generate a source resource
    • openal_source_destroy — Destroy a source resource
    • openal_source_get — Retrieve an OpenAL source property
    • openal_source_pause — Pause the source
    • openal_source_play — Start playing the source
    • openal_source_rewind — Rewind the source
    • openal_source_set — Set source property
    • openal_source_stop — Stop playing the source
    • openal_stream — Begin streaming on a source


Giriş

Platform independent audio bindings. Requires the » OpenAL library.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/openal.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Kurulum
  • Özkaynak Türleri »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


Özkaynak Türleri

This extension defines four resource types:
Open AL(Device) - Returned by openal_device_open(),
Open AL(Context) - Returned by openal_context_create(),
Open AL(Buffer) - Returned by openal_buffer_create(),
and Open AL(Source) - Returned by openal_source_create().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

ALC_FREQUENCY (int)
Context Attribute
ALC_REFRESH (int)
Context Attribute
ALC_SYNC (int)
Context Attribute
AL_FREQUENCY (int)
Buffer Setting
AL_BITS (int)
Buffer Setting
AL_CHANNELS (int)
Buffer Setting
AL_SIZE (int)
Buffer Setting
AL_BUFFER (int)
Source/Listener Setting (Integer)
AL_SOURCE_RELATIVE (int)
Source/Listener Setting (Integer)
AL_SOURCE_STATE (int)
Source/Listener Setting (Integer)
AL_PITCH (int)
Source/Listener Setting (Float)
AL_GAIN (int)
Source/Listener Setting (Float)
AL_MIN_GAIN (int)
Source/Listener Setting (Float)
AL_MAX_GAIN (int)
Source/Listener Setting (Float)
AL_MAX_DISTANCE (int)
Source/Listener Setting (Float)
AL_ROLLOFF_FACTOR (int)
Source/Listener Setting (Float)
AL_CONE_OUTER_GAIN (int)
Source/Listener Setting (Float)
AL_CONE_INNER_ANGLE (int)
Source/Listener Setting (Float)
AL_CONE_OUTER_ANGLE (int)
Source/Listener Setting (Float)
AL_REFERENCE_DISTANCE (int)
Source/Listener Setting (Float)
AL_POSITION (int)
Source/Listener Setting (Float Vector)
AL_VELOCITY (int)
Source/Listener Setting (Float Vector)
AL_DIRECTION (int)
Source/Listener Setting (Float Vector)
AL_ORIENTATION (int)
Source/Listener Setting (Float Vector)
AL_FORMAT_MONO8 (int)
PCM Format
AL_FORMAT_MONO16 (int)
PCM Format
AL_FORMAT_STEREO8 (int)
PCM Format
AL_FORMAT_STEREO16 (int)
PCM Format
AL_INITIAL (int)
Source State
AL_PLAYING (int)
Source State
AL_PAUSED (int)
Source State
AL_STOPPED (int)
Source State
AL_LOOPING (int)
Source State
AL_TRUE (int)
Boolean value recognized by OpenAL
AL_FALSE (int)
Boolean value recognized by OpenAL


OpenAL İşlevleri

İçindekiler

  • openal_buffer_create — Generate OpenAL buffer
  • openal_buffer_data — Load a buffer with data
  • openal_buffer_destroy — Destroys an OpenAL buffer
  • openal_buffer_get — Retrieve an OpenAL buffer property
  • openal_buffer_loadwav — Load a .wav file into a buffer
  • openal_context_create — Create an audio processing context
  • openal_context_current — Make the specified context current
  • openal_context_destroy — Destroys a context
  • openal_context_process — Process the specified context
  • openal_context_suspend — Suspend the specified context
  • openal_device_close — Close an OpenAL device
  • openal_device_open — Initialize the OpenAL audio layer
  • openal_listener_get — Retrieve a listener property
  • openal_listener_set — Set a listener property
  • openal_source_create — Generate a source resource
  • openal_source_destroy — Destroy a source resource
  • openal_source_get — Retrieve an OpenAL source property
  • openal_source_pause — Pause the source
  • openal_source_play — Start playing the source
  • openal_source_rewind — Rewind the source
  • openal_source_set — Set source property
  • openal_source_stop — Stop playing the source
  • openal_stream — Begin streaming on a source


Generate OpenAL buffer

  • « OpenAL İşlevleri
  • openal_buffer_data »
  • PHP Manual
  • OpenAL İşlevleri
  • Generate OpenAL buffer

openal_buffer_create

(PECL openal >= 0.1.0)

openal_buffer_create — Generate OpenAL buffer

Açıklama

openal_buffer_create(): resource

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an Open AL(Buffer) resource on success or false on failure.

Ayrıca Bakınız

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_buffer_data() - Load a buffer with data


Load a buffer with data

  • « openal_buffer_create
  • openal_buffer_destroy »
  • PHP Manual
  • OpenAL İşlevleri
  • Load a buffer with data

openal_buffer_data

(PECL openal >= 0.1.0)

openal_buffer_data — Load a buffer with data

Açıklama

openal_buffer_data(
resource $buffer,
int $format,
string $data,
int $freq
): bool

Bağımsız Değişkenler

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 ve AL_FORMAT_STEREO16

data

Block of binary audio data in the format and freq specified.

freq

Frequency of data given in Hz.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_buffer_loadwav() - Load a .wav file into a buffer
  • openal_stream() - Begin streaming on a source


Destroys an OpenAL buffer

  • « openal_buffer_data
  • openal_buffer_get »
  • PHP Manual
  • OpenAL İşlevleri
  • Destroys an OpenAL buffer

openal_buffer_destroy

(PECL openal >= 0.1.0)

openal_buffer_destroy — Destroys an OpenAL buffer

Açıklama

openal_buffer_destroy(resource $buffer): bool

Bağımsız Değişkenler

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_buffer_create() - Generate OpenAL buffer


Retrieve an OpenAL buffer property

  • « openal_buffer_destroy
  • openal_buffer_loadwav »
  • PHP Manual
  • OpenAL İşlevleri
  • Retrieve an OpenAL buffer property

openal_buffer_get

(PECL openal >= 0.1.0)

openal_buffer_get — Retrieve an OpenAL buffer property

Açıklama

openal_buffer_get(resource $buffer, int $property): int|false

Bağımsız Değişkenler

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

property

Specific property, one of: AL_FREQUENCY, AL_BITS, AL_CHANNELS ve AL_SIZE.

Dönen Değerler

Returns an integer value appropriate to the property requested başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_buffer_create() - Generate OpenAL buffer


Load a .wav file into a buffer

  • « openal_buffer_get
  • openal_context_create »
  • PHP Manual
  • OpenAL İşlevleri
  • Load a .wav file into a buffer

openal_buffer_loadwav

(PECL openal >= 0.1.0)

openal_buffer_loadwav — Load a .wav file into a buffer

Açıklama

openal_buffer_loadwav(resource $buffer, string $wavfile): bool

Bağımsız Değişkenler

buffer

An Open AL(Buffer) resource (previously created by openal_buffer_create()).

wavfile

Path to .wav file on local file system.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_buffer_data() - Load a buffer with data
  • openal_stream() - Begin streaming on a source


Create an audio processing context

  • « openal_buffer_loadwav
  • openal_context_current »
  • PHP Manual
  • OpenAL İşlevleri
  • Create an audio processing context

openal_context_create

(PECL openal >= 0.1.0)

openal_context_create — Create an audio processing context

Açıklama

openal_context_create(resource $device): resource

Bağımsız Değişkenler

device

An Open AL(Device) resource (previously created by openal_device_open()).

Dönen Değerler

Returns an Open AL(Context) resource on success or false on failure.

Ayrıca Bakınız

  • openal_device_open() - Initialize the OpenAL audio layer
  • openal_context_destroy() - Destroys a context


Make the specified context current

  • « openal_context_create
  • openal_context_destroy »
  • PHP Manual
  • OpenAL İşlevleri
  • Make the specified context current

openal_context_current

(PECL openal >= 0.1.0)

openal_context_current — Make the specified context current

Açıklama

openal_context_current(resource $context): bool

Bağımsız Değişkenler

context

An Open AL(Context) resource (previously created by openal_context_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_context_create() - Create an audio processing context


Destroys a context

  • « openal_context_current
  • openal_context_process »
  • PHP Manual
  • OpenAL İşlevleri
  • Destroys a context

openal_context_destroy

(PECL openal >= 0.1.0)

openal_context_destroy — Destroys a context

Açıklama

openal_context_destroy(resource $context): bool

Bağımsız Değişkenler

context

An Open AL(Context) resource (previously created by openal_context_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_context_create() - Create an audio processing context


Process the specified context

  • « openal_context_destroy
  • openal_context_suspend »
  • PHP Manual
  • OpenAL İşlevleri
  • Process the specified context

openal_context_process

(PECL openal >= 0.1.0)

openal_context_process — Process the specified context

Açıklama

openal_context_process(resource $context): bool

Bağımsız Değişkenler

context

An Open AL(Context) resource (previously created by openal_context_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_suspend() - Suspend the specified context


Suspend the specified context

  • « openal_context_process
  • openal_device_close »
  • PHP Manual
  • OpenAL İşlevleri
  • Suspend the specified context

openal_context_suspend

(PECL openal >= 0.1.0)

openal_context_suspend — Suspend the specified context

Açıklama

openal_context_suspend(resource $context): bool

Bağımsız Değişkenler

context

An Open AL(Context) resource (previously created by openal_context_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_context_create() - Create an audio processing context
  • openal_context_current() - Make the specified context current
  • openal_context_process() - Process the specified context


Close an OpenAL device

  • « openal_context_suspend
  • openal_device_open »
  • PHP Manual
  • OpenAL İşlevleri
  • Close an OpenAL device

openal_device_close

(PECL openal >= 0.1.0)

openal_device_close — Close an OpenAL device

Açıklama

openal_device_close(resource $device): bool

Bağımsız Değişkenler

device

An Open AL(Device) resource (previously created by openal_device_open()) to be closed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_device_open() - Initialize the OpenAL audio layer


Initialize the OpenAL audio layer

  • « openal_device_close
  • openal_listener_get »
  • PHP Manual
  • OpenAL İşlevleri
  • Initialize the OpenAL audio layer

openal_device_open

(PECL openal >= 0.1.0)

openal_device_open — Initialize the OpenAL audio layer

Açıklama

openal_device_open(string $device_desc = ?): resource

Bağımsız Değişkenler

device_desc

Open an audio device optionally specified by device_desc. If device_desc is not specified the first available audio device will be used.

Dönen Değerler

Returns an Open AL(Device) resource on success or false on failure.

Ayrıca Bakınız

  • openal_device_close() - Close an OpenAL device
  • openal_context_create() - Create an audio processing context


Retrieve a listener property

  • « openal_device_open
  • openal_listener_set »
  • PHP Manual
  • OpenAL İşlevleri
  • Retrieve a listener property

openal_listener_get

(PECL openal >= 0.1.0)

openal_listener_get — Retrieve a listener property

Açıklama

openal_listener_get(int $property): mixed

Bağımsız Değişkenler

property

Property to retrieve, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) ve
AL_ORIENTATION (array(float,float,float)).

Dönen Değerler

Returns a float or array of floats (as appropriate) başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_listener_set() - Set a listener property


Set a listener property

  • « openal_listener_get
  • openal_source_create »
  • PHP Manual
  • OpenAL İşlevleri
  • Set a listener property

openal_listener_set

(PECL openal >= 0.1.0)

openal_listener_set — Set a listener property

Açıklama

openal_listener_set(int $property, mixed $setting): bool

Bağımsız Değişkenler

property

Property to set, one of:
AL_GAIN (float),
AL_POSITION (array(float,float,float)),
AL_VELOCITY (array(float,float,float)) ve
AL_ORIENTATION (array(float,float,float)).

setting

Value to set, either float, or an array of floats as appropriate.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_listener_get() - Retrieve a listener property


Generate a source resource

  • « openal_listener_set
  • openal_source_destroy »
  • PHP Manual
  • OpenAL İşlevleri
  • Generate a source resource

openal_source_create

(PECL openal >= 0.1.0)

openal_source_create — Generate a source resource

Açıklama

openal_source_create(): resource

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an Open AL(Source) resource on success or false on failure.

Ayrıca Bakınız

  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source
  • openal_source_destroy() - Destroy a source resource


Destroy a source resource

  • « openal_source_create
  • openal_source_get »
  • PHP Manual
  • OpenAL İşlevleri
  • Destroy a source resource

openal_source_destroy

(PECL openal >= 0.1.0)

openal_source_destroy — Destroy a source resource

Açıklama

openal_source_destroy(resource $source): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_create() - Generate a source resource


Retrieve an OpenAL source property

  • « openal_source_destroy
  • openal_source_pause »
  • PHP Manual
  • OpenAL İşlevleri
  • Retrieve an OpenAL source property

openal_source_get

(PECL openal >= 0.1.0)

openal_source_get — Retrieve an OpenAL source property

Açıklama

openal_source_get(resource $source, int $property): mixed

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to get, one of: AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

Dönen Değerler

Returns the type associated with the property being retrieved başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_create() - Generate a source resource
  • openal_source_set() - Set source property
  • openal_source_play() - Start playing the source


Pause the source

  • « openal_source_get
  • openal_source_play »
  • PHP Manual
  • OpenAL İşlevleri
  • Pause the source

openal_source_pause

(PECL openal >= 0.1.0)

openal_source_pause — Pause the source

Açıklama

openal_source_pause(resource $source): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_stop() - Stop playing the source
  • openal_source_play() - Start playing the source
  • openal_source_rewind() - Rewind the source


Start playing the source

  • « openal_source_pause
  • openal_source_rewind »
  • PHP Manual
  • OpenAL İşlevleri
  • Start playing the source

openal_source_play

(PECL openal >= 0.1.0)

openal_source_play — Start playing the source

Açıklama

openal_source_play(resource $source): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source


Rewind the source

  • « openal_source_play
  • openal_source_set »
  • PHP Manual
  • OpenAL İşlevleri
  • Rewind the source

openal_source_rewind

(PECL openal >= 0.1.0)

openal_source_rewind — Rewind the source

Açıklama

openal_source_rewind(resource $source): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_stop() - Stop playing the source
  • openal_source_pause() - Pause the source
  • openal_source_play() - Start playing the source


Set source property

  • « openal_source_rewind
  • openal_source_stop »
  • PHP Manual
  • OpenAL İşlevleri
  • Set source property

openal_source_set

(PECL openal >= 0.1.0)

openal_source_set — Set source property

Açıklama

openal_source_set(resource $source, int $property, mixed $setting): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

property

Property to set, one of: AL_BUFFER (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float), AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float), AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float), AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float), AL_REFERENCE_DISTANCE (float), AL_POSITION (array(float,float,float)), AL_VELOCITY (array(float,float,float)), AL_DIRECTION (array(float,float,float)).

setting

Value to assign to specified property. Refer to the description of property for a description of the value(s) expected.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_create() - Generate a source resource
  • openal_source_get() - Retrieve an OpenAL source property
  • openal_source_play() - Start playing the source


Stop playing the source

  • « openal_source_set
  • openal_stream »
  • PHP Manual
  • OpenAL İşlevleri
  • Stop playing the source

openal_source_stop

(PECL openal >= 0.1.0)

openal_source_stop — Stop playing the source

Açıklama

openal_source_stop(resource $source): bool

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_play() - Start playing the source
  • openal_source_pause() - Pause the source
  • openal_source_rewind() - Rewind the source


Begin streaming on a source

  • « openal_source_stop
  • Kimlik Doğrulama Hizmetleri »
  • PHP Manual
  • OpenAL İşlevleri
  • Begin streaming on a source

openal_stream

(PECL openal >= 0.1.0)

openal_stream — Begin streaming on a source

Açıklama

openal_stream(resource $source, int $format, int $rate): resource|false

Bağımsız Değişkenler

source

An Open AL(Source) resource (previously created by openal_source_create()).

format

Format of data, one of: AL_FORMAT_MONO8, AL_FORMAT_MONO16, AL_FORMAT_STEREO8 ve AL_FORMAT_STEREO16

rate

Frequency of data to stream given in Hz.

Dönen Değerler

Returns a stream resource on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • openal_source_create() - Generate a source resource
  • fwrite() - Dosyaya ikil kipte yazar


Kimlik Doğrulama Hizmetleri

  • Radius
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Radius İşlevleri


Radius

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
    • RADIUS Options
    • RADIUS Packet Types
    • RADIUS Attribute Types
    • RADIUS Vendor Specific Attribute Types
  • Örnekler
  • Radius İşlevleri
    • radius_acct_open — Creates a Radius handle for accounting
    • radius_add_server — Adds a server
    • radius_auth_open — Creates a Radius handle for authentication
    • radius_close — Frees all ressources
    • radius_config — Causes the library to read the given configuration file
    • radius_create_request — Create accounting or authentication request
    • radius_cvt_addr — Converts raw data to IP-Address
    • radius_cvt_int — Converts raw data to integer
    • radius_cvt_string — Converts raw data to string
    • radius_demangle_mppe_key — Derives mppe-keys from mangled data
    • radius_demangle — Demangles data
    • radius_get_attr — Extracts an attribute
    • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
    • radius_get_vendor_attr — Extracts a vendor specific attribute
    • radius_put_addr — Attaches an IP address attribute
    • radius_put_attr — Attaches a binary attribute
    • radius_put_int — Attaches an integer attribute
    • radius_put_string — Attaches a string attribute
    • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr — Attaches a vendor specific binary attribute
    • radius_put_vendor_int — Attaches a vendor specific integer attribute
    • radius_put_vendor_string — Attaches a vendor specific string attribute
    • radius_request_authenticator — Returns the request authenticator
    • radius_salt_encrypt_attr — Salt-encrypts a value
    • radius_send_request — Sends the request and waits for a reply
    • radius_server_secret — Returns the shared secret
    • radius_strerror — Returns an error message


Giriş

This package is based on the libradius (Remote Authentication Dial In User Service) of FreeBSD. It allows clients to perform authentication and accounting by means of network requests to remote servers.

This PECL extension adds full support for Radius Authentication (» RFC 2865) and Radius Accounting (» RFC 2866). This package is available for Unix (tested on FreeBSD and Linux) and for Windows.

Bilginize:

An exact description for libradius can be found » here. A detailed description of the configuration file can be found » here.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/radius.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Öntanımlı Sabitler

İçindekiler

  • RADIUS Options
  • RADIUS Packet Types
  • RADIUS Attribute Types
  • RADIUS Vendor Specific Attribute Types

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

RADIUS_MPPE_KEY_LEN (int)
The maximum length of MPPE keys.


RADIUS Options

Several RADIUS functions accept option flags as bitmasks. The constants representing those flags are listed below.

RADIUS_OPTION_SALT (int)

When set, this option will result in the attribute value being salt-encrypted.

RADIUS_OPTION_TAGGED (int)

When set, this option will result in the attribute value being tagged with the value of the tag parameter.


RADIUS Packet Types

RADIUS packets, whether requests or responses, always include a type. These constants are provided to make it easier to specify types when using radius_create_request() and when comparing the result of radius_send_request().

RADIUS_ACCESS_REQUEST (int)

An Access-Request, used to authenticate a user against a RADIUS server. Access request packets must include a RADIUS_NAS_IP_ADDRESS or a RADIUS_NAS_IDENTIFIER attribute, must also include a RADIUS_USER_PASSWORD, RADIUS_CHAP_PASSWORD or a RADIUS_STATE attribute, and should include a RADIUS_USER_NAME attribute.

RADIUS_ACCESS_ACCEPT (int)

An Access-Accept response to an Access-Request indicating that the RADIUS server authenticated the user successfully.

RADIUS_ACCESS_REJECT (int)

An Access-Reject response to an Access-Request indicating that the RADIUS server could not authenticate the user.

RADIUS_ACCESS_CHALLENGE (int)

An Access-Challenge response to an Access-Request indicating that the RADIUS server requires further information in another Access-Request before authenticating the user.

RADIUS_ACCOUNTING_REQUEST (int)

An Accounting-Request, used to convey accounting information for a service to the RADIUS server.

RADIUS_ACCOUNTING_RESPONSE (int)

An Accounting-Response response to an Accounting-Request.

RADIUS_COA_REQUEST (int)

A CoA-Request, sent from the RADIUS server to indicate that the authorisations within the user session have changed. A response must be sent in the form of a CoA-ACK or a CoA-NAK.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_ACK (int)

A CoA-ACK, sent to the RADIUS server to indicate that the user authorisations have been updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_COA_NAK (int)

A CoA-NAK, sent to the RADIUS server to indicate that the user authorisations could not be updated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_REQUEST (int)

A Disconnect-Request, sent from the RADIUS server to indicate that the user session must be terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_ACK (int)

A Disconnect-ACK, sent to the RADIUS server to indicate that the user session has been terminated.

This constant is available in PECL radius 1.3.0 and later.

RADIUS_DISCONNECT_NAK (int)

A Disconnect-NAK, sent to the RADIUS server to indicate that the user session could not be terminated.

This constant is available in PECL radius 1.3.0 and later.


RADIUS Attribute Types

These constants define RADIUS attribute types that can be used with
radius_put_addr(), radius_put_attr(),
radius_put_int() and
radius_put_string().

RADIUS_USER_NAME (int)

The User-Name attribute. The attribute value is expected to be a string containing the name of the user being authenticated, and can be set using radius_put_attr().

RADIUS_USER_PASSWORD (int)

The User-Password attribute. The attribute value is expected to be a string containing the user's password, and can be set using radius_put_attr(). This value will be obfuscated on transmission as described in » section 5.2 of RFC 2865.

RADIUS_CHAP_PASSWORD (int)

The Chap-Password attribute. The attribute value is expected to be a string with the first byte containing the CHAP identifier, and the subsequent 16 bytes containing the MD5 hash of the CHAP identifier, the plaintext password and the CHAP challenge value concatenated together. Note that the CHAP challenge value should also be sent separately in a RADIUS_CHAP_CHALLENGE attribute.

Örnek 1 Using CHAP passwords

<?php
// Firstly, we'll create an authentication handle and request.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);

// Assuming $password contains the plaintext password, we now:

// Generate a challenge.
$challenge = mt_rand();

// Specify a CHAP identifier.
$ident = 1;

// Add the Chap-Password attribute.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);

// Add the Chap-Challenge attribute.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);

/* From here, you would add the remaining attributes and
* call radius_send_request(). */
?>

RADIUS_NAS_IP_ADDRESS (int)

The NAS-IP-Address attribute. The attribute value is expected to the IP address of the RADIUS client encoded as an int, which can be set using radius_put_addr().

RADIUS_NAS_PORT (int)

The NAS-Port attribute. The attribute value is expected to be the physical port of the user on the RADIUS client encoded as an int, which can be set using radius_put_int().

RADIUS_SERVICE_TYPE (int)

The Service-Type attribute. The attribute value indicates the service type the user is requesting, and is expected to be an int, which can be set using radius_put_int().

A number of constants are provided to represent the possible values of this attribute. They include:

  • RADIUS_LOGIN
  • RADIUS_FRAMED
  • RADIUS_CALLBACK_LOGIN
  • RADIUS_CALLBACK_FRAMED
  • RADIUS_OUTBOUND
  • RADIUS_ADMINISTRATIVE
  • RADIUS_NAS_PROMPT
  • RADIUS_AUTHENTICATE_ONLY
  • RADIUS_CALLBACK_NAS_PROMPT

RADIUS_FRAMED_PROTOCOL (int)

The Framed-Protocol attribute. The attribute value is expected to be an int indicating the framing to be used for framed access, and can be set using radius_put_int(). The possible attribute values include these constants:

  • RADIUS_PPP
  • RADIUS_SLIP
  • RADIUS_ARAP
  • RADIUS_GANDALF
  • RADIUS_XYLOGICS

RADIUS_FRAMED_IP_ADDRESS (int)

The Framed-IP-Address attribute. The attribute value is expected to be the address of the user's network encoded as an int, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_IP_NETMASK (int)

The Framed-IP-Netmask attribute. The attribute value is expected to be the netmask of the user's network encoded as an int, which can be set using radius_put_addr() and retrieved using radius_cvt_addr().

RADIUS_FRAMED_ROUTING (int)

The Framed-Routing attribute. The attribute value is expected to be an int indicating the routing method for the user, which can be set using radius_put_int().

Possible values include:

  • 0: No routing
  • 1: Send routing packets
  • 2: Listen for routing packets
  • 3: Send and listen

RADIUS_FILTER_ID (int)

The Filter-ID attribute. The attribute value is expected to be an implementation-specific, human-readable string of filters, which can be set using radius_put_attr().

RADIUS_FRAMED_MTU (int)

The Framed-MTU attribute. The attribute value is expected to be an int indicating the MTU to be configured for the user, and can be set using radius_put_int().

RADIUS_FRAMED_COMPRESSION (int)

The Framed-Compression attribute. The attribute value is expected to be an int indicating the compression protocol to be used, and can be set using radius_put_int(). Possible values include these constants:

  • RADIUS_COMP_NONE: No compression
  • RADIUS_COMP_VJ: VJ TCP/IP header compression
  • RADIUS_COMP_IPXHDR: IPX header compression
  • RADIUS_COMP_STAC_LZS: Stac-LZS compression (added in PECL radius 1.3.0b2)

RADIUS_LOGIN_IP_HOST (int)

The Login-IP-Host attribute. The attribute value is expected to the IP address to connect the user to, encoded as an int, which can be set using radius_put_addr().

RADIUS_LOGIN_SERVICE (int)

The Login-Service attribute. The attribute value is an int indicating the service to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_LOGIN_TCP_PORT (int)

The Login-TCP-Port attribute. The attribute value is an int indicating the port to connect the user to on the login host. The value can be converted to a PHP integer via radius_cvt_int().

RADIUS_REPLY_MESSAGE (int)

The Reply-Message attribute. The attribute value is a string containing text that may be displayed to the user in response to an access request.

RADIUS_CALLBACK_NUMBER (int)

The Callback-Number attribute. The attribute value is a string containing the dialing string to use for callback.

RADIUS_CALLBACK_ID (int)

The Callback-Id attribute. The attribute value is a string containing an implementation-specific name of the place to be called.

RADIUS_FRAMED_ROUTE (int)

The Framed-Route attribute. The attribute value is a string containing an implementation-specific set of routes to be configured for the user.

RADIUS_FRAMED_IPX_NETWORK (int)

The Framed-IPX-Network attribute. The attribute value is an int containing the IPX network to be configured for the user, or 0xFFFFFFFE to indicate that the RADIUS client should select the network, and can be accessed via radius_cvt_int().

RADIUS_STATE (int)

The State attribute. The attribute value is an implementation-defined string included in an Access-Challenge from a server that must be included in the subsequent Access-Request, and can be set using radius_put_attr().

RADIUS_CLASS (int)

The Class attribute. The attribute value is an arbitrary string included in an Access-Accept message that should then be sent to the accounting server in Accounting-Request messages, and can be set using radius_put_attr().

RADIUS_VENDOR_SPECIFIC (int)

The Vendor-Specific attribute. In general, vendor attribute values
should be set using radius_put_vendor_addr(),
radius_put_vendor_attr(),
radius_put_vendor_int() and
radius_put_vendor_string(), rather than directly.

This constant is mostly useful when interpreting vendor specific attributes in responses from a RADIUS server; when a vendor specific attribute is received, the radius_get_vendor_attr() function should be used to access the vendor ID, attribute type and attribute value.

RADIUS_SESSION_TIMEOUT (int)

Session timeout

RADIUS_IDLE_TIMEOUT (int)

Idle timeout

RADIUS_TERMINATION_ACTION (int)

Termination action

RADIUS_CALLED_STATION_ID (int)

Called Station Id

RADIUS_CALLING_STATION_ID (int)

Calling Station Id

RADIUS_NAS_IDENTIFIER (int)

NAS ID

RADIUS_PROXY_STATE (int)

Proxy State

RADIUS_LOGIN_LAT_SERVICE (int)

Login LAT Service

RADIUS_LOGIN_LAT_NODE (int)

Login LAT Node

RADIUS_LOGIN_LAT_GROUP (int)

Login LAT Group

RADIUS_FRAMED_APPLETALK_LINK (int)

Framed Appletalk Link

RADIUS_FRAMED_APPLETALK_NETWORK (int)

Framed Appletalk Network

RADIUS_FRAMED_APPLETALK_ZONE (int)

Framed Appletalk Zone

RADIUS_CHAP_CHALLENGE (int)

Challenge

RADIUS_NAS_PORT_TYPE (int)

NAS port type, one of:

  • RADIUS_ASYNC
  • RADIUS_SYNC
  • RADIUS_ISDN_SYNC
  • RADIUS_ISDN_ASYNC_V120
  • RADIUS_ISDN_ASYNC_V110
  • RADIUS_VIRTUAL
  • RADIUS_PIAFS
  • RADIUS_HDLC_CLEAR_CHANNEL
  • RADIUS_X_25
  • RADIUS_X_75
  • RADIUS_G_3_FAX
  • RADIUS_SDSL
  • RADIUS_ADSL_CAP
  • RADIUS_ADSL_DMT
  • RADIUS_IDSL
  • RADIUS_ETHERNET
  • RADIUS_XDSL
  • RADIUS_CABLE
  • RADIUS_WIRELESS_OTHER
  • RADIUS_WIRELESS_IEEE_802_11

RADIUS_PORT_LIMIT (int)

Port Limit

RADIUS_LOGIN_LAT_PORT (int)

Login LAT Port

RADIUS_CONNECT_INFO (int)

Connect info

RADIUS_ACCT_STATUS_TYPE (int)

Accounting status type, one of:

  • RADIUS_START
  • RADIUS_STOP
  • RADIUS_ACCOUNTING_ON
  • RADIUS_ACCOUNTING_OFF

RADIUS_ACCT_DELAY_TIME (int)

Accounting delay time

RADIUS_ACCT_INPUT_OCTETS (int)

Accounting input bytes

RADIUS_ACCT_OUTPUT_OCTETS (int)

Accounting output bytes

RADIUS_ACCT_SESSION_ID (int)

Accounting session ID

RADIUS_ACCT_AUTHENTIC (int)

Accounting authentic, one of:

  • RADIUS_AUTH_RADIUS
  • RADIUS_AUTH_LOCAL
  • RADIUS_AUTH_REMOTE

RADIUS_ACCT_SESSION_TIME (int)

Accounting session time

RADIUS_ACCT_INPUT_PACKETS (int)

Accounting input packets

RADIUS_ACCT_OUTPUT_PACKETS (int)

Accounting output packets

RADIUS_ACCT_TERMINATE_CAUSE (int)

Accounting terminate cause, one of:

  • RADIUS_TERM_USER_REQUEST
  • RADIUS_TERM_LOST_CARRIER
  • RADIUS_TERM_LOST_SERVICE
  • RADIUS_TERM_IDLE_TIMEOUT
  • RADIUS_TERM_SESSION_TIMEOUT
  • RADIUS_TERM_ADMIN_RESET
  • RADIUS_TERM_ADMIN_REBOOT
  • RADIUS_TERM_PORT_ERROR
  • RADIUS_TERM_NAS_ERROR
  • RADIUS_TERM_NAS_REQUEST
  • RADIUS_TERM_NAS_REBOOT
  • RADIUS_TERM_PORT_UNNEEDED
  • RADIUS_TERM_PORT_PREEMPTED
  • RADIUS_TERM_PORT_SUSPENDED
  • RADIUS_TERM_SERVICE_UNAVAILABLE
  • RADIUS_TERM_CALLBACK
  • RADIUS_TERM_USER_ERROR
  • RADIUS_TERM_HOST_REQUEST

RADIUS_ACCT_MULTI_SESSION_ID (int)

Accounting multi session ID

RADIUS_ACCT_LINK_COUNT (int)

Accounting link count


RADIUS Vendor Specific Attribute Types

RADIUS_VENDOR_MICROSOFT (int)

Microsoft specific vendor attributes (» RFC 2548), one of:

  • RADIUS_MICROSOFT_MS_CHAP_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP_ERROR
  • RADIUS_MICROSOFT_MS_CHAP_PW_1
  • RADIUS_MICROSOFT_MS_CHAP_PW_2
  • RADIUS_MICROSOFT_MS_CHAP_LM_ENC_PW
  • RADIUS_MICROSOFT_MS_CHAP_NT_ENC_PW
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY
  • RADIUS_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES
  • RADIUS_MICROSOFT_MS_RAS_VENDOR
  • RADIUS_MICROSOFT_MS_CHAP_DOMAIN
  • RADIUS_MICROSOFT_MS_CHAP_CHALLENGE
  • RADIUS_MICROSOFT_MS_CHAP_MPPE_KEYS
  • RADIUS_MICROSOFT_MS_BAP_USAGE
  • RADIUS_MICROSOFT_MS_LINK_UTILIZATION_THRESHOLD
  • RADIUS_MICROSOFT_MS_LINK_DROP_TIME_LIMIT
  • RADIUS_MICROSOFT_MS_MPPE_SEND_KEY
  • RADIUS_MICROSOFT_MS_MPPE_RECV_KEY
  • RADIUS_MICROSOFT_MS_RAS_VERSION
  • RADIUS_MICROSOFT_MS_OLD_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_NEW_ARAP_PASSWORD
  • RADIUS_MICROSOFT_MS_ARAP_PASSWORD_CHANGE_REASON
  • RADIUS_MICROSOFT_MS_FILTER
  • RADIUS_MICROSOFT_MS_ACCT_AUTH_TYPE
  • RADIUS_MICROSOFT_MS_ACCT_EAP_TYPE
  • RADIUS_MICROSOFT_MS_CHAP2_RESPONSE
  • RADIUS_MICROSOFT_MS_CHAP2_SUCCESS
  • RADIUS_MICROSOFT_MS_CHAP2_PW
  • RADIUS_MICROSOFT_MS_PRIMARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_DNS_SERVER
  • RADIUS_MICROSOFT_MS_PRIMARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_SECONDARY_NBNS_SERVER
  • RADIUS_MICROSOFT_MS_ARAP_CHALLENGE


Örnekler

Howto start?

  • get a radius resource
  • configure the library
  • create the request
  • put attributes
  • send the request
  • receive attributes
  • close the radius resource (optional)
Take also a look at the examples in this package.

The package contains an example php script. This script demonstrates howto authenticate with radius using PAP or CHAP (md5). If you authenticate with Microsoft Radius servers then its not possible to use CHAP (md5). If you would like to authenticate with Microsoft Servers you have to use MS-CHAPv1 or MS-CHAPv2, but its more complicated, because you need md4, sha1 and des to generate the right data. The enclosed examples demonstrate all authentication-methods, including MS-CHAPv1 and MS-CHAPv2. To get the MS-CHAP to work you need the mcrypt and the mhash extension, starting with version 1.2 of the package, the mcrypt extension is no longer needed.


Radius İşlevleri

İçindekiler

  • radius_acct_open — Creates a Radius handle for accounting
  • radius_add_server — Adds a server
  • radius_auth_open — Creates a Radius handle for authentication
  • radius_close — Frees all ressources
  • radius_config — Causes the library to read the given configuration file
  • radius_create_request — Create accounting or authentication request
  • radius_cvt_addr — Converts raw data to IP-Address
  • radius_cvt_int — Converts raw data to integer
  • radius_cvt_string — Converts raw data to string
  • radius_demangle_mppe_key — Derives mppe-keys from mangled data
  • radius_demangle — Demangles data
  • radius_get_attr — Extracts an attribute
  • radius_get_tagged_attr_data — Extracts the data from a tagged attribute
  • radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute
  • radius_get_vendor_attr — Extracts a vendor specific attribute
  • radius_put_addr — Attaches an IP address attribute
  • radius_put_attr — Attaches a binary attribute
  • radius_put_int — Attaches an integer attribute
  • radius_put_string — Attaches a string attribute
  • radius_put_vendor_addr — Attaches a vendor specific IP address attribute
  • radius_put_vendor_attr — Attaches a vendor specific binary attribute
  • radius_put_vendor_int — Attaches a vendor specific integer attribute
  • radius_put_vendor_string — Attaches a vendor specific string attribute
  • radius_request_authenticator — Returns the request authenticator
  • radius_salt_encrypt_attr — Salt-encrypts a value
  • radius_send_request — Sends the request and waits for a reply
  • radius_server_secret — Returns the shared secret
  • radius_strerror — Returns an error message


Creates a Radius handle for accounting

  • « Radius İşlevleri
  • radius_add_server »
  • PHP Manual
  • Radius İşlevleri
  • Creates a Radius handle for accounting

radius_acct_open

(PECL radius >= 1.1.0)

radius_acct_open — Creates a Radius handle for accounting

Açıklama

radius_acct_open(): resource

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a handle on success, false on error. This function only fails if insufficient memory is available.

Örnekler

Örnek 1 radius_acct_open() example

<?php
$res = radius_acct_open ()
or die ("Could not create handle");
print "Handle successfully created";
?>


Adds a server

  • « radius_acct_open
  • radius_auth_open »
  • PHP Manual
  • Radius İşlevleri
  • Adds a server

radius_add_server

(PECL radius >= 1.1.0)

radius_add_server — Adds a server

Açıklama

radius_add_server(
resource $radius_handle,
string $hostname,
int $port,
string $secret,
int $timeout,
int $max_tries
): bool

radius_add_server() may be called multiple times, and it may be used together with radius_config(). At most 10 servers may be specified. When multiple servers are given, they are tried in round-robin fashion until a valid response is received, or until each server's max_tries limit has been reached.

Bağımsız Değişkenler

radius_handle

hostname

The hostname parameter specifies the server host, either as a fully qualified domain name or as a dotted-quad IP address in text form.

port

The port specifies the UDP port to contact on the server. If port is given as 0, the library looks up the radius/udp or radacct/udp service in the network services database, and uses the port found there. If no entry is found, the library uses the standard Radius ports, 1812 for authentication and 1813 for accounting.

secret

The shared secret for the server host is passed to the secret parameter. The Radius protocol ignores all but the leading 128 bytes of the shared secret.

timeout

The timeout for receiving replies from the server is passed to the timeout parameter, in units of seconds.

max_tries

The maximum number of repeated requests to make before giving up is passed into the max_tries.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 radius_add_server() example

<?php
if (!radius_add_server($res, 'radius.example.com', 1812, 'testing123', 3, 3)) {
echo 'RadiusError:' . radius_strerror($res). "\n<br>";
exit;
}
?>

Ayrıca Bakınız

  • radius_config() - Causes the library to read the given configuration file


Creates a Radius handle for authentication

  • « radius_add_server
  • radius_close »
  • PHP Manual
  • Radius İşlevleri
  • Creates a Radius handle for authentication

radius_auth_open

(PECL radius >= 1.1.0)

radius_auth_open — Creates a Radius handle for authentication

Açıklama

radius_auth_open(): resource

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a handle on success, false on error. This function only fails if insufficient memory is available.

Örnekler

Örnek 1 radius_auth_open() example

<?php
$radh = radius_auth_open()
or die ("Could not create handle");
echo "Handle successfully created";
?>


Frees all ressources

  • « radius_auth_open
  • radius_config »
  • PHP Manual
  • Radius İşlevleri
  • Frees all ressources

radius_close

(PECL radius >= 1.1.0)

radius_close — Frees all ressources

Açıklama

radius_close(resource $radius_handle): bool

It is not needed to call this function because php frees all resources at the end of each request.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Causes the library to read the given configuration file

  • « radius_close
  • radius_create_request »
  • PHP Manual
  • Radius İşlevleri
  • Causes the library to read the given configuration file

radius_config

(PECL radius >= 1.1.0)

radius_config — Causes the library to read the given configuration file

Açıklama

radius_config(resource $radius_handle, string $file): bool

Before issuing any Radius requests, the library must be made aware of the servers it can contact. The easiest way to configure the library is to call radius_config(). radius_config() causes the library to read a configuration file whose format is described in » radius.conf.

Bağımsız Değişkenler

radius_handle

file

The pathname of the configuration file is passed as the file argument to radius_config(). The library can also be configured programmatically by calls to radius_add_server().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • radius_add_server() - Adds a server


Create accounting or authentication request

  • « radius_config
  • radius_cvt_addr »
  • PHP Manual
  • Radius İşlevleri
  • Create accounting or authentication request

radius_create_request

(PECL radius >= 1.1.0)

radius_create_request — Create accounting or authentication request

Açıklama

radius_create_request(resource $radius_handle, int $type): bool

A Radius request consists of a code specifying the kind of request, and zero or more attributes which provide additional information. To begin constructing a new request, call radius_create_request().

Bilginize: Attention: You must call this function, before you can put any attribute!

Bağımsız Değişkenler

radius_handle

type

Type is RADIUS_ACCESS_REQUEST or RADIUS_ACCOUNTING_REQUEST.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 radius_create_request() example

<?php
if (!radius_create_request($res, RADIUS_ACCESS_REQUEST)) {
echo 'RadiusError:' . radius_strerror($res). "\n<br />";
exit;
}
?>

Ayrıca Bakınız

  • radius_send_request() - Sends the request and waits for a reply


Converts raw data to IP-Address

  • « radius_create_request
  • radius_cvt_int »
  • PHP Manual
  • Radius İşlevleri
  • Converts raw data to IP-Address

radius_cvt_addr

(PECL radius >= 1.1.0)

radius_cvt_addr — Converts raw data to IP-Address

Açıklama

radius_cvt_addr(string $data): string

Converts raw data to IP-Address

Bağımsız Değişkenler

data

Input data

Dönen Değerler

Returns the IP-Address.

Örnekler

Örnek 1 radius_cvt_addr() example

<?php
while ($resa = radius_get_attr($res)) {

if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];

switch ($attr) {

case RADIUS_FRAMED_IP_ADDRESS:
$ip = radius_cvt_addr($data);
echo "IP: $ip<br>\n";
break;

case RADIUS_FRAMED_IP_NETMASK:
$mask = radius_cvt_addr($data);
echo "MASK: $mask<br>\n";
break;
}
}
?>

Ayrıca Bakınız

  • radius_cvt_int() - Converts raw data to integer
  • radius_cvt_string() - Converts raw data to string


Converts raw data to integer

  • « radius_cvt_addr
  • radius_cvt_string »
  • PHP Manual
  • Radius İşlevleri
  • Converts raw data to integer

radius_cvt_int

(PECL radius >= 1.1.0)

radius_cvt_int — Converts raw data to integer

Açıklama

radius_cvt_int(string $data): int

Converts raw data to integer

Bağımsız Değişkenler

data

Input data

Dönen Değerler

Returns the integer, retrieved from data.

Örnekler

Örnek 1 radius_cvt_int() example

<?php
while ($resa = radius_get_attr($res)) {

if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];

switch ($attr) {

case RADIUS_FRAMED_MTU:
$mtu = radius_cvt_int($data);
echo "MTU: $mtu<br>\n";
break;
}
}
?>

Ayrıca Bakınız

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_string() - Converts raw data to string


Converts raw data to string

  • « radius_cvt_int
  • radius_demangle_mppe_key »
  • PHP Manual
  • Radius İşlevleri
  • Converts raw data to string

radius_cvt_string

(PECL radius >= 1.1.0)

radius_cvt_string — Converts raw data to string

Açıklama

radius_cvt_string(string $data): string

Converts raw data to string

Bağımsız Değişkenler

data

Input data

Dönen Değerler

Returns the string, retrieved from data.

Örnekler

Örnek 1 radius_cvt_string() example

<?php
while ($resa = radius_get_attr($res)) {

if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];

switch ($attr) {

case RADIUS_FILTER_ID:
$id = radius_cvt_string($data);
echo "Filter ID: $id<br>\n";
break;
}
}
?>

Ayrıca Bakınız

  • radius_cvt_addr() - Converts raw data to IP-Address
  • radius_cvt_int() - Converts raw data to integer


Derives mppe-keys from mangled data

  • « radius_cvt_string
  • radius_demangle »
  • PHP Manual
  • Radius İşlevleri
  • Derives mppe-keys from mangled data

radius_demangle_mppe_key

(PECL radius >= 1.2.0)

radius_demangle_mppe_key — Derives mppe-keys from mangled data

Açıklama

radius_demangle_mppe_key(resource $radius_handle, string $mangled): string

When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled (see » RFC 2548), however this function is useless, because I don't think that there is or will be a PPTP-MPPE implementation in PHP.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

mangled

The mangled data to demangle

Dönen Değerler

Returns the demangled string, or false on error.


Demangles data

  • « radius_demangle_mppe_key
  • radius_get_attr »
  • PHP Manual
  • Radius İşlevleri
  • Demangles data

radius_demangle

(PECL radius >= 1.2.0)

radius_demangle — Demangles data

Açıklama

radius_demangle(resource $radius_handle, string $mangled): string

Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security reasons, and must be demangled before you can use them.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

mangled

The mangled data to demangle

Dönen Değerler

Returns the demangled string, or false on error.


Extracts an attribute

  • « radius_demangle
  • radius_get_tagged_attr_data »
  • PHP Manual
  • Radius İşlevleri
  • Extracts an attribute

radius_get_attr

(PECL radius >= 1.1.0)

radius_get_attr — Extracts an attribute

Açıklama

radius_get_attr(resource $radius_handle): mixed

Like Radius requests, each response may contain zero or more attributes. After a response has been received successfully by radius_send_request(), its attributes can be extracted one by one using radius_get_attr(). Each time radius_get_attr() is called, it gets the next attribute from the current response.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

Returns an associative array containing the attribute-type and the data, or error number <= 0.

Örnekler

Örnek 1 radius_get_attr() example

<?php
while ($resa = radius_get_attr($res)) {

if (!is_array($resa)) {
printf("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];
printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
}
?>

Ayrıca Bakınız

  • radius_put_attr() - Attaches a binary attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute
  • radius_send_request() - Sends the request and waits for a reply


Extracts the data from a tagged attribute

  • « radius_get_attr
  • radius_get_tagged_attr_tag »
  • PHP Manual
  • Radius İşlevleri
  • Extracts the data from a tagged attribute

radius_get_tagged_attr_data

(PECL radius >= 1.3.0)

radius_get_tagged_attr_data — Extracts the data from a tagged attribute

Açıklama

radius_get_tagged_attr_data(string $data): string|false

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the data from the attribute.

Bağımsız Değişkenler

data

The tagged attribute to be decoded.

Dönen Değerler

Returns the data from the tagged attribute başarısızlık durumunda false döner.

Örnekler

Örnek 1 radius_get_tagged_attr_data() example

<?php
while ($resa = radius_get_attr($res)) {
if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];

$tag = radius_get_tagged_attr_tag($data);
$value = radius_get_tagged_attr_data($data);

printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Ayrıca Bakınız

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_tag() - Extracts the tag from a tagged attribute


Extracts the tag from a tagged attribute

  • « radius_get_tagged_attr_data
  • radius_get_vendor_attr »
  • PHP Manual
  • Radius İşlevleri
  • Extracts the tag from a tagged attribute

radius_get_tagged_attr_tag

(PECL radius >= 1.3.0)

radius_get_tagged_attr_tag — Extracts the tag from a tagged attribute

Açıklama

radius_get_tagged_attr_tag(string $data): int|false

If a tagged attribute has been returned from radius_get_attr(), radius_get_tagged_attr_data() will return the tag from the attribute.

Bağımsız Değişkenler

data

The tagged attribute to be decoded.

Dönen Değerler

Returns the tag from the tagged attribute başarısızlık durumunda false döner.

Örnekler

Örnek 1 radius_get_tagged_attr_tag() example

<?php
while ($resa = radius_get_attr($res)) {
if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];

$tag = radius_get_tagged_attr_tag($data);
$value = radius_get_tagged_attr_data($data);

printf("Got tagged attribute with tag %d and value %s\n", $tag, $value);
}
?>

Ayrıca Bakınız

  • radius_get_attr() - Extracts an attribute
  • radius_get_tagged_attr_data() - Extracts the data from a tagged attribute


Extracts a vendor specific attribute

  • « radius_get_tagged_attr_tag
  • radius_put_addr »
  • PHP Manual
  • Radius İşlevleri
  • Extracts a vendor specific attribute

radius_get_vendor_attr

(PECL radius >= 1.1.0)

radius_get_vendor_attr — Extracts a vendor specific attribute

Açıklama

radius_get_vendor_attr(string $data): array

If radius_get_attr() returns RADIUS_VENDOR_SPECIFIC, radius_get_vendor_attr() may be called to determine the vendor.

Bağımsız Değişkenler

data

Input data

Dönen Değerler

Returns an associative array containing the attribute-type, vendor and the data, or false on error.

Örnekler

Örnek 1 radius_get_vendor_attr() example

<?php
while ($resa = radius_get_attr($res)) {

if (!is_array($resa)) {
printf ("Error getting attribute: %s\n", radius_strerror($res));
exit;
}

$attr = $resa['attr'];
$data = $resa['data'];
printf("Got Attr:%d %d Bytes %s\n", $attr, strlen($data), bin2hex($data));
if ($attr == RADIUS_VENDOR_SPECIFIC) {

$resv = radius_get_vendor_attr($data);
if (is_array($resv)) {
$vendor = $resv['vendor'];
$attrv = $resv['attr'];
$datav = $resv['data'];
printf("Got Vendor Attr:%d %d Bytes %s\n", $attrv, strlen($datav), bin2hex($datav));
}

}
}
?>

Ayrıca Bakınız

  • radius_get_attr() - Extracts an attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute


Attaches an IP address attribute

  • « radius_get_vendor_attr
  • radius_put_attr »
  • PHP Manual
  • Radius İşlevleri
  • Attaches an IP address attribute

radius_put_addr

(PECL radius >= 1.1.0)

radius_put_addr — Attaches an IP address attribute

Açıklama

radius_put_addr(
resource $radius_handle,
int $type,
string $addr,
int $options = 0,
int $tag = ?
): bool

Attaches an IP address attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

type

The attribute type.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.


Attaches a binary attribute

  • « radius_put_addr
  • radius_put_int »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a binary attribute

radius_put_attr

(PECL radius >= 1.1.0)

radius_put_attr — Attaches a binary attribute

Açıklama

radius_put_attr(
resource $radius_handle,
int $type,
string $value,
int $options = 0,
int $tag = ?
): bool

Attaches a binary attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value, which will be treated as a raw binary string.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Örnekler

Örnek 1 radius_put_attr() example

<?php
mt_srand(time());
$chall = mt_rand();
$chapval = md5(pack('Ca*',1 , 'sepp' . $chall));
$pass = pack('CH*', 1, $chapval);
if (!radius_put_attr($res, RADIUS_CHAP_PASSWORD, $pass)) {
echo 'RadiusError:' . radius_strerror($res). "\n<br />";
exit;
}
?>

Ayrıca Bakınız

  • radius_get_attr() - Extracts an attribute
  • radius_get_vendor_attr() - Extracts a vendor specific attribute
  • radius_put_vendor_attr() - Attaches a vendor specific binary attribute


Attaches an integer attribute

  • « radius_put_attr
  • radius_put_string »
  • PHP Manual
  • Radius İşlevleri
  • Attaches an integer attribute

radius_put_int

(PECL radius >= 1.1.0)

radius_put_int — Attaches an integer attribute

Açıklama

radius_put_int(
resource $radius_handle,
int $type,
int $value,
int $options = 0,
int $tag = ?
): bool

Attaches an integer attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Örnekler

Örnek 1 radius_put_int() example

<?php
if (!radius_put_int($res, RAD_FRAMED_PROTOCOL, RAD_PPP)) {
echo 'RadiusError:' . radius_strerror($res). "\n<br />";
exit;
}
?>

Ayrıca Bakınız

  • radius_put_string() - Attaches a string attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a string attribute

  • « radius_put_int
  • radius_put_vendor_addr »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a string attribute

radius_put_string

(PECL radius >= 1.1.0)

radius_put_string — Attaches a string attribute

Açıklama

radius_put_string(
resource $radius_handle,
int $type,
string $value,
int $options = 0,
int $tag = ?
): bool

Attaches a string attribute to the current RADIUS request. In general, radius_put_attr() is a more useful function for attaching string attributes, as it is binary safe.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

type

The attribute type.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Örnekler

Örnek 1 radius_put_string() example

<?php
if (!radius_put_string($res, RADIUS_USER_NAME, 'billy')) {
echo 'RadiusError:' . radius_strerror($res). "\n<br />";
exit;
}
?>

Ayrıca Bakınız

  • radius_put_int() - Attaches an integer attribute
  • radius_put_vendor_int() - Attaches a vendor specific integer attribute
  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a vendor specific IP address attribute

  • « radius_put_string
  • radius_put_vendor_attr »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a vendor specific IP address attribute

radius_put_vendor_addr

(PECL radius >= 1.1.0)

radius_put_vendor_addr — Attaches a vendor specific IP address attribute

Açıklama

radius_put_vendor_addr(
resource $radius_handle,
int $vendor,
int $type,
string $addr
): bool

Attaches an IP address vendor specific attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

addr

An IPv4 address in string form, such as 10.0.0.1.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.


Attaches a vendor specific binary attribute

  • « radius_put_vendor_addr
  • radius_put_vendor_int »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a vendor specific binary attribute

radius_put_vendor_attr

(PECL radius >= 1.1.0)

radius_put_vendor_attr — Attaches a vendor specific binary attribute

Açıklama

radius_put_vendor_attr(
resource $radius_handle,
int $vendor,
int $type,
string $value,
int $options = 0,
int $tag = ?
): bool

Attaches a vendor specific binary attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value, which will be treated as a raw binary string.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Örnekler

Örnek 1 radius_put_vendor_attr() example

<?php
if (!radius_put_vendor_attr($res, RADIUS_VENDOR_MICROSOFT, RAD_MICROSOFT_MS_CHAP_CHALLENGE, $challenge)) {
echo 'RadiusError:' . radius_strerror($res). "\n<br />";
exit;
}
?>

Ayrıca Bakınız

  • radius_get_vendor_attr() - Extracts a vendor specific attribute


Attaches a vendor specific integer attribute

  • « radius_put_vendor_attr
  • radius_put_vendor_string »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a vendor specific integer attribute

radius_put_vendor_int

(PECL radius >= 1.1.0)

radius_put_vendor_int — Attaches a vendor specific integer attribute

Açıklama

radius_put_vendor_int(
resource $radius_handle,
int $vendor,
int $type,
int $value,
int $options = 0,
int $tag = ?
): bool

Attaches a vendor specific integer attribute to the current RADIUS request.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Ayrıca Bakınız

  • radius_put_vendor_string() - Attaches a vendor specific string attribute


Attaches a vendor specific string attribute

  • « radius_put_vendor_int
  • radius_request_authenticator »
  • PHP Manual
  • Radius İşlevleri
  • Attaches a vendor specific string attribute

radius_put_vendor_string

(PECL radius >= 1.1.0)

radius_put_vendor_string — Attaches a vendor specific string attribute

Açıklama

radius_put_vendor_string(
resource $radius_handle,
int $vendor,
int $type,
string $value,
int $options = 0,
int $tag = ?
): bool

Attaches a vendor specific string attribute to the current RADIUS request. In general, radius_put_vendor_attr() is a more useful function for attaching string attributes, as it is binary safe.

Bilginize:

A request must be created via radius_create_request() before this function can be called.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

vendor

The vendor ID.

type

The attribute type.

value

The attribute value. This value is expected by the underlying library to be null terminated, therefore this parameter is not binary safe.

options

A bitmask of the attribute options. The available options include RADIUS_OPTION_TAGGED and RADIUS_OPTION_SALT.

tag

The attribute tag. This parameter is ignored unless the RADIUS_OPTION_TAGGED option is set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL radius 1.3.0 | The options and tag parameters were added.

Ayrıca Bakınız

  • radius_put_vendor_int() - Attaches a vendor specific integer attribute


Returns the request authenticator

  • « radius_put_vendor_string
  • radius_salt_encrypt_attr »
  • PHP Manual
  • Radius İşlevleri
  • Returns the request authenticator

radius_request_authenticator

(PECL radius >= 1.1.0)

radius_request_authenticator — Returns the request authenticator

Açıklama

radius_request_authenticator(resource $radius_handle): string

The request authenticator is needed for demangling mangled data like passwords and encryption-keys.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

Returns the request authenticator as string, or false on error.

Ayrıca Bakınız

  • radius_demangle() - Demangles data


Salt-encrypts a value

  • « radius_request_authenticator
  • radius_send_request »
  • PHP Manual
  • Radius İşlevleri
  • Salt-encrypts a value

radius_salt_encrypt_attr

(PECL radius >= 1.3.0)

radius_salt_encrypt_attr — Salt-encrypts a value

Açıklama

radius_salt_encrypt_attr(resource $radius_handle, string $data): string|false

Applies the RADIUS salt-encryption algorithm to the given value.

In general, this is achieved automatically by providing the RADIUS_OPTION_SALT option to an attribute setter function, but this function can be used if low-level request construction is required.

Bağımsız Değişkenler

data

The data to be salt-encrypted.

Dönen Değerler

Returns the salt-encrypted data başarısızlık durumunda false döner.

Ayrıca Bakınız

  • radius_put_addr() - Attaches an IP address attribute
  • radius_put_attr() - Attaches a binary attribute
  • radius_put_int() - Attaches an integer attribute
  • radius_put_string() - Attaches a string attribute


Sends the request and waits for a reply

  • « radius_salt_encrypt_attr
  • radius_server_secret »
  • PHP Manual
  • Radius İşlevleri
  • Sends the request and waits for a reply

radius_send_request

(PECL radius >= 1.1.0)

radius_send_request — Sends the request and waits for a reply

Açıklama

radius_send_request(resource $radius_handle): int

After the Radius request has been constructed, it is sent by radius_send_request().

The radius_send_request() function sends the request and waits for a valid reply, retrying the defined servers in round-robin fashion as necessary.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

If a valid response is received, radius_send_request() returns the Radius code which specifies the type of the response. This will typically be RADIUS_ACCESS_ACCEPT, RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid response is received, radius_send_request() returns false.

Ayrıca Bakınız

  • radius_create_request() - Create accounting or authentication request


Returns the shared secret

  • « radius_send_request
  • radius_strerror »
  • PHP Manual
  • Radius İşlevleri
  • Returns the shared secret

radius_server_secret

(PECL radius >= 1.1.0)

radius_server_secret — Returns the shared secret

Açıklama

radius_server_secret(resource $radius_handle): string

The shared secret is needed as salt for demangling mangled data like passwords and encryption-keys.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

Returns the server's shared secret as string, or false on error.


Returns an error message

  • « radius_server_secret
  • Komut Satırına Özgü Eklentiler »
  • PHP Manual
  • Radius İşlevleri
  • Returns an error message

radius_strerror

(PECL radius >= 1.1.0)

radius_strerror — Returns an error message

Açıklama

radius_strerror(resource $radius_handle): string

If Radius-functions fail then they record an error message. This error message can be retrieved with this function.

Bağımsız Değişkenler

radius_handle

The RADIUS resource.

Dönen Değerler

Returns error messages as string from failed radius functions.


Komut Satırına Özgü Eklentiler

  • Readline — GNU Readline
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Readline İşlevleri


GNU Readline

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Readline İşlevleri
    • readline_add_history — Adds a line to the history
    • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history — Clears the history
    • readline_completion_function — Registers a completion function
    • readline_info — Gets/sets various internal readline variables
    • readline_list_history — Lists the history
    • readline_on_new_line — Inform readline that the cursor has moved to a new line
    • readline_read_history — Reads the history
    • readline_redisplay — Redraws the display
    • readline_write_history — Writes the history
    • readline — Reads a line


Giriş

The readline functions implement an interface to the GNU Readline library. These are functions that provide editable command lines. An example being the way Bash allows you to use the arrow keys to insert characters or scroll through command history. Because of the interactive nature of this library, it will be of little use for writing Web applications, but may be useful when writing scripts used from a command line.

As of PHP 7.1.0 this extension is supported on Windows.

Dikkat

The readline extension is not thread-safe! Thus, the usage of it with any true thread safe SAPI (like Apache mod_winnt) is strongly discouraged.


Gereksinimler

To use the readline functions, you need to install libreadline. You can find libreadline on the home page of the GNU Readline project, at » http://cnswww.cns.cwru.edu/~chet/readline/rltop.html. It's maintained by Chet Ramey, who's also the author of Bash.

You can also use these functions with the libedit library, a non-GPL replacement for the readline library. The libedit library is BSD licensed and available for download from » http://www.thrysoee.dk/editline/.


Kurulum

To use these functions you must compile the CGI or CLI version of PHP with readline support. You need to configure PHP --with-readline[=DIR]. If you want to use the libedit readline replacement, configure PHP --with-libedit[=DIR].

On Windows this extension is available by default as of PHP 7.1.0.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Readline Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
cli.pager | "" | PHP_INI_ALL |
cli.prompt | "\\b \\> " | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

cli.pager string

External tool to display output from command line.

cli.prompt string

Command line prompt.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

READLINE_LIB (string)
The library which is used for readline support; currently either readline or libedit.


Readline İşlevleri

İçindekiler

  • readline_add_history — Adds a line to the history
  • readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
  • readline_clear_history — Clears the history
  • readline_completion_function — Registers a completion function
  • readline_info — Gets/sets various internal readline variables
  • readline_list_history — Lists the history
  • readline_on_new_line — Inform readline that the cursor has moved to a new line
  • readline_read_history — Reads the history
  • readline_redisplay — Redraws the display
  • readline_write_history — Writes the history
  • readline — Reads a line


Adds a line to the history

  • « Readline İşlevleri
  • readline_callback_handler_install »
  • PHP Manual
  • Readline İşlevleri
  • Adds a line to the history

readline_add_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_add_history — Adds a line to the history

Açıklama

readline_add_history(string $prompt): bool

This function adds a line to the command line history.

Bağımsız Değişkenler

prompt

The line to be added in the history.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Initializes the readline callback interface and terminal, prints the prompt and returns immediately

  • « readline_add_history
  • readline_callback_handler_remove »
  • PHP Manual
  • Readline İşlevleri
  • Initializes the readline callback interface and terminal, prints the prompt and returns immediately

readline_callback_handler_install

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_install — Initializes the readline callback interface and terminal, prints the prompt and returns immediately

Açıklama

readline_callback_handler_install(string $prompt, callable $callback): bool

Sets up a readline callback interface then prints prompt and immediately returns. Calling this function twice without removing the previous callback interface will automatically and conveniently overwrite the old interface.

The callback feature is useful when combined with stream_select() as it allows interleaving of IO and user input, unlike readline().

Bağımsız Değişkenler

prompt

The prompt message.

callback

The callback function takes one parameter; the user input returned.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Readline Callback Interface Example

<?php
function rl_callback($ret)
{
global $c, $prompting;

echo "You entered: $ret\n";
$c++;

if ($c > 10) {
$prompting = false;
readline_callback_handler_remove();
} else {
readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');
}
}

$c = 1;
$prompting = true;

readline_callback_handler_install("[$c] Enter something: ", 'rl_callback');

while ($prompting) {
$w = NULL;
$e = NULL;
$n = stream_select($r = array(STDIN), $w, $e, null);
if ($n && in_array(STDIN, $r)) {
// read a character, will call the callback when a newline is entered
readline_callback_read_char();
}
}

echo "Prompting disabled. All done.\n";
?>

Ayrıca Bakınız

  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received
  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır


Removes a previously installed callback handler and restores terminal settings

  • « readline_callback_handler_install
  • readline_callback_read_char »
  • PHP Manual
  • Readline İşlevleri
  • Removes a previously installed callback handler and restores terminal settings

readline_callback_handler_remove

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_handler_remove — Removes a previously installed callback handler and restores terminal settings

Açıklama

readline_callback_handler_remove(): bool

Removes a previously installed callback handler and restores terminal settings.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if a previously installed callback handler was removed, or false if one could not be found.

Örnekler

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ayrıca Bakınız

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_read_char() - Reads a character and informs the readline callback interface when a line is received


Reads a character and informs the readline callback interface when a line is received

  • « readline_callback_handler_remove
  • readline_clear_history »
  • PHP Manual
  • Readline İşlevleri
  • Reads a character and informs the readline callback interface when a line is received

readline_callback_read_char

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received

Açıklama

readline_callback_read_char(): void

Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

See readline_callback_handler_install() for an example of how to use the readline callback interface.

Ayrıca Bakınız

  • readline_callback_handler_install() - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
  • readline_callback_handler_remove() - Removes a previously installed callback handler and restores terminal settings


Clears the history

  • « readline_callback_read_char
  • readline_completion_function »
  • PHP Manual
  • Readline İşlevleri
  • Clears the history

readline_clear_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_clear_history — Clears the history

Açıklama

readline_clear_history(): bool

This function clears the entire command line history.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Registers a completion function

  • « readline_clear_history
  • readline_info »
  • PHP Manual
  • Readline İşlevleri
  • Registers a completion function

readline_completion_function

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_completion_function — Registers a completion function

Açıklama

readline_completion_function(callable $callback): bool

This function registers a completion function. This is the same kind of functionality you'd get if you hit your tab key while using Bash.

Bağımsız Değişkenler

callback

You must supply the name of an existing function which accepts a partial command line and returns an array of possible matches.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Gets/sets various internal readline variables

  • « readline_completion_function
  • readline_list_history »
  • PHP Manual
  • Readline İşlevleri
  • Gets/sets various internal readline variables

readline_info

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_info — Gets/sets various internal readline variables

Açıklama

readline_info(?string $var_name = null, int|string|bool|null $value = null): mixed

Gets or sets various internal readline variables.

Bağımsız Değişkenler

var_name

A variable name.

value

If provided, this will be the new value of the setting.

Dönen Değerler

If called with no parameters, this function returns an array of values for all the settings readline uses. The elements will be indexed by the following values: done, end, erase_empty_line, library_version, line_buffer, mark, pending_input, point, prompt, readline_name, and terminal_name. The array will only contain those elements which are supported by the library used to built the readline extension.

If called with one or two parameters, the old value is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | var_name and value are nullable now.


Lists the history

  • « readline_info
  • readline_on_new_line »
  • PHP Manual
  • Readline İşlevleri
  • Lists the history

readline_list_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_list_history — Lists the history

Açıklama

readline_list_history(): array

Gets the entire command line history.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of the entire command line history. The elements are indexed by integers starting at zero.


Inform readline that the cursor has moved to a new line

  • « readline_list_history
  • readline_read_history »
  • PHP Manual
  • Readline İşlevleri
  • Inform readline that the cursor has moved to a new line

readline_on_new_line

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_on_new_line — Inform readline that the cursor has moved to a new line

Açıklama

readline_on_new_line(): void

Tells readline that the cursor has moved to a new line.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

This function is only available if supported by the underlying readline library. It is not supported on Windows.


Reads the history

  • « readline_on_new_line
  • readline_redisplay »
  • PHP Manual
  • Readline İşlevleri
  • Reads the history

readline_read_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_read_history — Reads the history

Açıklama

readline_read_history(?string $filename = null): bool

This function reads a command history from a file.

Bağımsız Değişkenler

filename

Path to the filename containing the command history.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filename is nullable now.


Redraws the display

  • « readline_read_history
  • readline_write_history »
  • PHP Manual
  • Readline İşlevleri
  • Redraws the display

readline_redisplay

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

readline_redisplay — Redraws the display

Açıklama

readline_redisplay(): void

Redraws readline to redraw the display.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Writes the history

  • « readline_redisplay
  • readline »
  • PHP Manual
  • Readline İşlevleri
  • Writes the history

readline_write_history

(PHP 4, PHP 5, PHP 7, PHP 8)

readline_write_history — Writes the history

Açıklama

readline_write_history(?string $filename = null): bool

This function writes the command history to a file.

Bağımsız Değişkenler

filename

Path to the saved file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filename is nullable now.


Reads a line

  • « readline_write_history
  • Sıkıştırma ve Arşivleme Eklentileri »
  • PHP Manual
  • Readline İşlevleri
  • Reads a line

readline

(PHP 4, PHP 5, PHP 7, PHP 8)

readline — Reads a line

Açıklama

readline(?string $prompt = null): string|false

Reads a single line from the user. You must add this line to the history yourself using readline_add_history().

Bağımsız Değişkenler

prompt

You may specify a string with which to prompt the user.

Dönen Değerler

Returns a single string from the user. The line returned has the ending newline removed. If there is no more data to read, then false is returned.

Örnekler

Örnek 1 readline() Example

<?php
//get 3 commands from user
for ($i=0; $i < 3; $i++) {
$line = readline("Command: ");
readline_add_history($line);
}

//dump history
print_r(readline_list_history());

//dump variables
print_r(readline_info());
?>


Sıkıştırma ve Arşivleme Eklentileri

  • Bzip2 — Bzip2 Sıkıştırma
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Bzip2 İşlevleri
  • LZF — LZF Sıkıştırma Algoritması
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • LZF İşlevleri
  • Phar
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Using Phar Archives
    • Creating Phar Archives
    • What makes a phar a phar and not a tar or a zip?
    • Phar — The Phar class
    • PharData — The PharData class
    • PharFileInfo — The PharFileInfo class
    • PharException — The PharException class
  • Rar — Rar Archiving
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Rar İşlevleri
    • RarArchive — The RarArchive class
    • RarEntry — The RarEntry class
    • RarException — The RarException class
  • Zip
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • ZipArchive — ZipArchive sınıfı
    • Zip İşlevleri
  • Zlib — Zlib Sıkıştırması
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Zlib İşlevleri
    • DeflateContext — The DeflateContext class
    • InflateContext — The InflateContext class


Bzip2 Sıkıştırma

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Bzip2 İşlevleri
    • bzclose — Bzip2 dosyasını kapatır
    • bzcompress — Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır
    • bzdecompress — Bzip2 ile sıkıştırılmış veriyi açar
    • bzerrno — Bzip2 hata numarası ile döner
    • bzerror — Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür
    • bzerrstr — Bzip2 hata iletisini döndürür
    • bzflush — Hiçbir şey yapmaz
    • bzopen — Bzip2 sıkıştırmalı bir dosyayı açar
    • bzread — Bzip2 dosyasını ikil olarak okur
    • bzwrite — Bzip2 dosyasını ikil olarak yazar


Giriş

Bzip2 işlevleri bzip2 (.bz2) sıkıştırılmış dosyalarını şeffaf olarak okuyup yazmakta kullanılır.


Gereksinimler

Bu modül Julian Seward tarafından hazırlanan » bzip2 kütüphanesindeki işlevleri kullanır. Bu modül için bzip2/libbzip2 sürüm >= 1.0.x gereklidir.


Kurulum

PHP'de Bzip2 desteği öntanımlı olarak etkin değildir. PHP'yi derlerken bzip2 desteğini etkin kılmak için --with-bz2[=DİZİN] yapılandırma seçeneğini kullanmanız gerekir.


Özkaynak Türleri

Bu eklenti tek bir özkaynak türü tanımlar: çalışılacak bz2 dosyasını betimleyen bir dosya tanıtıcısı.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • Bzip2
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

Bu örnekte geçici bir dosya oluşturup, içine bir deneme dizgesi yazıldıktan sonra dosya içeriği çıktılanmaktadır.

Örnek 1 - Basit bzip2 örneği

<?php

$dosya = '/tmp/deneme.bz2';
$dzg = "Bu dizgi bir denemedir.\n";

// dosyayı yazma amacıyla aç
$bz = bzopen($dosya, 'w');

// dosyaya dizgiyi yaz
bzwrite($bz, $dzg);

// dosyayı kapat
bzclose($bz);

// dosyayı okuma amacıyla aç
$bz = bzopen($dosya, 'r');

// 10 karakter oku
echo bzread($bz, 10);

// dosya bitene kadar (veya sonraki 1024 karaktere kadar)
// çıkışa yazdır ve dosyayı kapat
echo bzread($bz);

bzclose($bz);
?>


Bzip2 İşlevleri

İçindekiler

  • bzclose — Bzip2 dosyasını kapatır
  • bzcompress — Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır
  • bzdecompress — Bzip2 ile sıkıştırılmış veriyi açar
  • bzerrno — Bzip2 hata numarası ile döner
  • bzerror — Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür
  • bzerrstr — Bzip2 hata iletisini döndürür
  • bzflush — Hiçbir şey yapmaz
  • bzopen — Bzip2 sıkıştırmalı bir dosyayı açar
  • bzread — Bzip2 dosyasını ikil olarak okur
  • bzwrite — Bzip2 dosyasını ikil olarak yazar


Bzip2 dosyasını kapatır

  • « Bzip2 İşlevleri
  • bzcompress »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 dosyasını kapatır

bzclose

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzclose — Bzip2 dosyasını kapatır

Açıklama

bzclose(resource $bz): bool

Dosya tanıtıcısı belirtilen bzip2 dosyasını kapatır.

Bağımsız Değişkenler

bz

Dosya tanıtıcı. Geçerli ve bzopen() işlevi tarafından başarılı bir şekilde açılmış olan bir dosyayı göstermelidir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • bzopen() - Bzip2 sıkıştırmalı bir dosyayı açar


Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır

  • « bzclose
  • bzdecompress »
  • PHP Manual
  • Bzip2 İşlevleri
  • Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır

bzcompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzcompress — Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır

Açıklama

bzcompress(string $veri, int $blokboyu = 4, int $katsayı = 0): string|int

bzcompress() verilen dizgiyi bzip2 türünde sıkıştırır ve bzip2 kodlu veri olarak döndürür.

Bağımsız Değişkenler

veri

Sıkıştırılacak dizge.

blokboyu

Sıkıştırma esnasında kullanılacak blok boyu belirtilir. Bu değer 1 ile 9 arasında olmalıdır. 9 değeri en iyi sıkıştırmayı sağlamakla birlikte daha fazla özkaynak kullanır.

katsayı

Bu değer verilen sıkıştırma aşamasının en kötü senaryo durumunda nasıl davranacağını belirtir. (Sık tekrarlı, asimetrik) Bu değer 0 ile 250 arasında değişir. 0 özel bir durumdur.

katsayı değerinden bağımsız olarak, üretilen çıktı aynı olur.

Dönen Değerler

Bir hata oluşmuşsa hata numarası ile, oluşmamışsa sıkıştırılmış dizge ile döner.

Örnekler

Örnek 1 - Veri sıkıştırma

<?php
$bilgi = "örnek bilgi";
$bzbilgi = bzcompress($bilgi, 9);
echo $bzbilgi;
?>

Ayrıca Bakınız

  • bzdecompress() - Bzip2 ile sıkıştırılmış veriyi açar


Bzip2 ile sıkıştırılmış veriyi açar

  • « bzcompress
  • bzerrno »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 ile sıkıştırılmış veriyi açar

bzdecompress

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzdecompress — Bzip2 ile sıkıştırılmış veriyi açar

Açıklama

bzdecompress(string $veri, bool $ufak = false): string|int|false

bzdecompress() verilen bzip2 kodlu verinin sıkıştırmasını açar.

Bağımsız Değişkenler

veri

Sıkıştırılmış haldeki dizge.

ufak

Eğer true ise farklı bir açma algoritması uygulanır ve işlem sırasında daha az bellek kullanılır ancak işlem hızı yarıya düşer. (Gereksinim duyulan azami bellek miktarı yaklaşık 2300K civarına düşer)

Ayrıntılı bilgi için » bzip2 belgelerine bakınız.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ufak bağımsız değişkeninin int iken bool oldu. Evvelce, 0 öntanımlıydı.

Dönen Değerler

Hata oluşmamışsa sıkıştırması açılmış dizge veya false, aksi takdirde hata numarası döner.

Örnekler

Örnek 1 - Bir dizgenin sıkıştırmasının açılması

<?php
$ilk = "Bu dizgiyi sıkıştıralım...";
$bzilk = bzcompress($ilk);

echo "Sıkıştırılmış Dizgi: ";
echo $bzilk;
echo "\n<br />\n";

$ikinci = bzdecompress($bzilk);
echo "Açılmış Dizgi: ";
echo $ikinci;
echo "\n<br />\n";
?>

Ayrıca Bakınız

  • bzcompress() - Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır


Bzip2 hata numarası ile döner

  • « bzdecompress
  • bzerror »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 hata numarası ile döner

bzerrno

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerrno — Bzip2 hata numarası ile döner

Açıklama

bzerrno(resource $bz): int

Verilen dosya tanıtıcı tarafından döndürülen bzip2 hatasının numarasını bildirir.

Bağımsız Değişkenler

bz

Dosya tanıtıcı. Geçerli ve bzopen() işleve tarafından açılmış bir dosyayı göstermelidir.

Dönen Değerler

Hata numarası bir tamsayı olarak döner.

Ayrıca Bakınız

  • bzerror() - Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür
  • bzerrstr() - Bzip2 hata iletisini döndürür


Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür

  • « bzerrno
  • bzerrstr »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür

bzerror

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerror — Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür

Açıklama

bzerror(resource $bz): array

Verilen bzip2 dosya tanıtıcısı tarafından döndürülen hatanın tamsayı karşılığını ve hata iletisini birlikte bir dizi içerisinde döndürür.

Bağımsız Değişkenler

bz

Dosya tanıtıcısı. Geçerli ve bzopen() işlevi tarafından açılmış bir dosyayı göstermelidir.

Dönen Değerler

Geriye bir ilişkisel dizi döndürür. Bu dizide hata numarası errno girdisinde, hata iletisi ise errstr girdisinde bulunur.

Örnekler

Örnek 1 - bzerror() örneği

<?php
$hata = bzerror($bz);

echo $hata["errno"];
echo $hata["errstr"];
?>

Ayrıca Bakınız

  • bzerrno() - Bzip2 hata numarası ile döner
  • bzerrstr() - Bzip2 hata iletisini döndürür


Bzip2 hata iletisini döndürür

  • « bzerror
  • bzflush »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 hata iletisini döndürür

bzerrstr

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzerrstr — Bzip2 hata iletisini döndürür

Açıklama

bzerrstr(resource $bz): string

Verilen dosya tanıtıcısı tarafından döndürülen bzip2 hatasının iletisini döndürür.

Bağımsız Değişkenler

bz

Dosya tanıtıcısı. Gerçek ve bzopen() işlevi tarafından açılmış varolan bir dosyayı göstermelidir.

Dönen Değerler

Hata iletisini içeren bir dizge geri döndürür.

Ayrıca Bakınız

  • bzerrno() - Bzip2 hata numarası ile döner
  • bzerror() - Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür


Hiçbir şey yapmaz

  • « bzerrstr
  • bzopen »
  • PHP Manual
  • Bzip2 İşlevleri
  • Hiçbir şey yapmaz

bzflush

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzflush — Hiçbir şey yapmaz

Açıklama

bzflush(resource $bz): bool

bz dosya tanıtıcısı için tamponda tutulan bzip2 verisinin tümünü yazmaya zorlayacağı düşünülmüştü fakat libbz2'de boş bir işlev olrarak gerçeklendi, dolayısıyla işlev hiçbir şey yapmıyor.

Bağımsız Değişkenler

bz

Dosya tanıtıcısı. Geçerli ve bzopen() işlevi tarafından açılmış bir dosyayı göstermelidir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • bzread() - Bzip2 dosyasını ikil olarak okur
  • bzwrite() - Bzip2 dosyasını ikil olarak yazar


Bzip2 sıkıştırmalı bir dosyayı açar

  • « bzflush
  • bzread »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 sıkıştırmalı bir dosyayı açar

bzopen

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzopen — Bzip2 sıkıştırmalı bir dosyayı açar

Açıklama

bzopen(string|resource $dosya, string $kip): resource|false

bzopen() bzip2 (.bz2) türündeki dosyaları okuma veya yazma amacıyla açar.

Bağımsız Değişkenler

dosya

Açılacak dosyanın adı.

kip

Sadece okuma amaçlı ise 'r', sadece yazma amaçlı ise 'w' desteklenir. Bunlar dışındaki herşey için işlev false döndürür.

Dönen Değerler

Eğer dosya açma işlemi başarılamazsa bzopen() geriye false döndürür. Aksi takdirde yeni açılan dosyaya ait bir bzip2 dosya tanıtıcısı döndürür.

Örnekler

Örnek 1 - bzopen() örneği

<?php

$dosya = '/tmp/abc.bz2';

$bz = bzopen($file, 'r') or die("Belirtilen $dosya dosyası açılamadı.");

bzclose($bz);

?>

Ayrıca Bakınız

  • bzclose() - Bzip2 dosyasını kapatır


Bzip2 dosyasını ikil olarak okur

  • « bzopen
  • bzwrite »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 dosyasını ikil olarak okur

bzread

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzread — Bzip2 dosyasını ikil olarak okur

Açıklama

bzread(resource $bz, int $uzunluk = 1024): string|false

bzread(), bzip2 dosya tanıtıcısı verilen dosyayı okur.

Sıkıştırıması açılmış veri belirtilen uzunluk baytlık uzunluğa eriştiği zaman veya dosya sonuna varıldığı zaman okuma işlemi sona erer. Bir kerede en fazla 8192 sıkıştırılmamış bayt okunur.

Bağımsız Değişkenler

bz

Dosya tanıtıcısı. Geçerli ve bzopen() işlevi tarafından açılmış bir dosyayı göstermelidir.

uzunluk

Eğer belirtilmemişse, bzread() her seferinde 1024 baytlık sıkıştırması açılmış veri okuyacaktır.

Dönen Değerler

Sıkıştırması açılmış veriyi veya hata durumunda false döndürür.

Örnekler

Örnek 1 - bzread() örneği

<?php

$dosya = '/tmp/foo.bz2';
$bz = bzopen($dosya, 'r') or die("Belirtilen $dosya dosyası açılamadı.");

$acilmis_icerik = '';
while (!feof($bz)) {
$acilmis_icerik .= bzread($bz, 4096);
}
bzclose($bz);

echo "Belirtilen dosya $dosya içeriği: <br />\n";
echo $acilmis_icerik;

?>

Ayrıca Bakınız

  • bzwrite() - Bzip2 dosyasını ikil olarak yazar
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • bzopen() - Bzip2 sıkıştırmalı bir dosyayı açar


Bzip2 dosyasını ikil olarak yazar

  • « bzread
  • LZF »
  • PHP Manual
  • Bzip2 İşlevleri
  • Bzip2 dosyasını ikil olarak yazar

bzwrite

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

bzwrite — Bzip2 dosyasını ikil olarak yazar

Açıklama

bzwrite(resource $bz, string $veri, ?int $uzunluk = null): int|false

bzwrite() verilen dizgeyi sıkıştırarak belirtilen bzip2 akımına yazar.

Bağımsız Değişkenler

bz

Dosya tanıtıcı. Geçerli ve bzopen() işlevi tarafından açılmış bir dosyayı göstermelidir.

veri

Yazılacak veri.

uzunluk

Eğer belirtilmişse, belirtilen uzunluk bayta erişilince (açılmış halde) veya belirtilen veri'nin sonuna gelinmişse yazma işlemi sona erer.

Dönen Değerler

Yazılan baytların sayısı ile veya hata durumunda false ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - bzwrite() örneği

<?php

$str = 'bu yazıyı sıkıştırıp yazalım';
$bz = bzopen('/tmp/abc.bz2', 'w');
bzwrite($bz, $str, strlen($str));
bzclose($bz);

?>

Ayrıca Bakınız

  • bzread() - Bzip2 dosyasını ikil olarak okur
  • bzopen() - Bzip2 sıkıştırmalı bir dosyayı açar


LZF Sıkıştırma Algoritması

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • LZF İşlevleri
    • lzf_compress — LZF sıkıştırma işlemi
    • lzf_decompress — LZF sıkıştırmasını açma işlemi
    • lzf_optimized_for — LZF eklentisinin neye göre en iyilendirildiğini bildirir


Giriş

LZF çok hızlı bir sıkıştırma algoritmasıdır ve genellikle hızdan çok az ödün vererek disk alanından tasarruf etmek amacıyla kullanılır. Kullanım alanına göre hızlı çalışması veya daha çok sıkıştırma yapması amacıyla derleme anında ayarlama yapılabilir. Bu eklentide, işlemler için Marc Lehmann tarafından yazılan » liblzf kütüphanesi kullanılmıştır.


Kurulum

Bu » PECL eklentisi PHP ile gelmez. Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/lzf.

Bu işlevleri kullanabilmek için PHP'yi lzf desteğiyle derlemeniz gereklidir. Bunun için derleme derleme sırasında --with-lzf[=DİZİN] yapılandırma seçeneğini kullanmalısınız. Temel ayarlarla LZF hızlı çalışır ancak az sıkıştırma yapar. Dilerseniz derleme sırasında --enable-lzf-better-compression yapılandırma seçeneğini kullanarak daha çok sıkıştırma ancak daha yavaş çalışma kipine ayarlayabilirsiniz.

Windows kullanıcıları bu işlevleri kullanmak için php.ini dosyası içinden php_lzf.dll dosyasını kullanılır hale getirmeleri gerekir. Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Özkaynak Türleri
  • LZF İşlevleri »
  • PHP Manual
  • LZF
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


LZF İşlevleri

İçindekiler

  • lzf_compress — LZF sıkıştırma işlemi
  • lzf_decompress — LZF sıkıştırmasını açma işlemi
  • lzf_optimized_for — LZF eklentisinin neye göre en iyilendirildiğini bildirir


LZF sıkıştırma işlemi

  • « LZF İşlevleri
  • lzf_decompress »
  • PHP Manual
  • LZF İşlevleri
  • LZF sıkıştırma işlemi

lzf_compress

(PECL lzf >= 0.1.0)

lzf_compress — LZF sıkıştırma işlemi

Açıklama

lzf_compress(string $veri): string

lzf_compress() işlevi, belirtilen veri dizgesini LZF kodlamasını kullanarak sıkıştırır.

Bağımsız Değişkenler

veri

Sıkıştırılmak istenen dizge.

Dönen Değerler

Hata oluşmuşsa, false yoksa sıkıştırılmış veriyi döndürür.

Ayrıca Bakınız

  • lzf_decompress() - LZF sıkıştırmasını açma işlemi


LZF sıkıştırmasını açma işlemi

  • « lzf_compress
  • lzf_optimized_for »
  • PHP Manual
  • LZF İşlevleri
  • LZF sıkıştırmasını açma işlemi

lzf_decompress

(PECL lzf >= 0.1.0)

lzf_decompress — LZF sıkıştırmasını açma işlemi

Açıklama

lzf_decompress(string $veri): string

lzf_compress() işlevi verilen lzf sıkıştırmalı dizgi içeren veri dizgisi açar.

Bağımsız Değişkenler

veri

Sıkıştırılmış haldeki dizgi.

Dönen Değerler

Hata oluşursa false oluşmazsa verinin sıkıştırılmamış halini döndürür.

Ayrıca Bakınız

  • lzf_compress() - LZF sıkıştırma işlemi


LZF eklentisinin neye göre en iyilendirildiğini bildirir

  • « lzf_decompress
  • Phar »
  • PHP Manual
  • LZF İşlevleri
  • LZF eklentisinin neye göre en iyilendirildiğini bildirir

lzf_optimized_for

(PECL lzf >= 1.0.0)

lzf_optimized_for — LZF eklentisinin neye göre en iyilendirildiğini bildirir

Açıklama

lzf_optimized_for(): int

LZF uzantısının derleme esnasında hangi amaca yönelik en iyilendirildiğini bildirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Eğer LZF hız için en iyilenmişse 1, daha çok sıkıştırması için en iyilenmişse 0 ile döner.


Phar

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Using Phar Archives
    • Using Phar Archives: Introduction
    • Using Phar Archives: the phar stream wrapper
    • Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives
    • Creating Phar Archives: Introduction
  • What makes a phar a phar and not a tar or a zip?
    • Ingredients of all Phar archives, independent of file format
    • Phar file stub
    • Head-to-head comparison of Phar, Tar and Zip
    • Tar-based phars
    • Zip-based phars
    • Phar File Format
    • Global Phar bitmapped flags
    • Phar manifest file entry definition
    • Phar Signature format
  • Phar — The Phar class
    • Phar::addEmptyDir — Add an empty directory to the phar archive
    • Phar::addFile — Add a file from the filesystem to the phar archive
    • Phar::addFromString — Add a file from a string to the phar archive
    • Phar::apiVersion — Returns the api version
    • Phar::buildFromDirectory — Construct a phar archive from the files within a directory
    • Phar::buildFromIterator — Construct a phar archive from an iterator
    • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite — Returns whether phar extension supports writing and creating phars
    • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressFiles — Compresses all files in the current Phar archive
    • Phar::__construct — Construct a Phar archive object
    • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
    • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
    • Phar::count — Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub — Create a phar-file format specific stub
    • Phar::decompress — Decompresses the entire Phar archive
    • Phar::decompressFiles — Decompresses all files in the current Phar archive
    • Phar::delMetadata — Deletes the global metadata of the phar
    • Phar::delete — Delete a file within a phar archive
    • Phar::__destruct — Destructs a Phar archive object
    • Phar::extractTo — Extract the contents of a phar archive to a directory
    • Phar::getAlias — Get the alias for Phar
    • Phar::getMetadata — Returns phar archive meta-data
    • Phar::getModified — Return whether phar was modified
    • Phar::getPath — Get the real path to the Phar archive on disk
    • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression — Return array of supported compression algorithms
    • Phar::getSupportedSignatures — Return array of supported signature types
    • Phar::getVersion — Return version info of Phar archive
    • Phar::hasMetadata — Returns whether phar has global meta-data
    • Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
    • Phar::isWritable — Returns true if the phar archive can be modified
    • Phar::loadPhar — Loads any phar archive with an alias
    • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount — Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists — Determines whether a file exists in the phar
    • Phar::offsetGet — Gets a PharFileInfo object for a specific file
    • Phar::offsetSet — Set the contents of an internal file to those of an external file
    • Phar::offsetUnset — Remove a file from a phar
    • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias — Set the alias for the Phar archive
    • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata — Sets phar archive meta-data
    • Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
    • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
    • Phar::webPhar — Routes a request from a web browser to an internal file within the phar archive
  • PharData — The PharData class
    • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
    • PharData::addFile — Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString — Add a file from a string to the tar/zip archive
    • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory
    • PharData::buildFromIterator — Construct a tar or zip archive from an iterator
    • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles — Compresses all files in the current tar/zip archive
    • PharData::__construct — Construct a non-executable tar or zip archive object
    • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress — Decompresses the entire Phar archive
    • PharData::decompressFiles — Decompresses all files in the current zip archive
    • PharData::delMetadata — Deletes the global metadata of a zip archive
    • PharData::delete — Delete a file within a tar/zip archive
    • PharData::__destruct — Destructs a non-executable tar or zip archive object
    • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable — Returns true if the tar/zip archive can be modified
    • PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset — Remove a file from a tar/zip archive
    • PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)
    • PharData::setMetadata — Sets phar archive meta-data
    • PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
    • PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)
  • PharFileInfo — The PharFileInfo class
    • PharFileInfo::chmod — Sets file-specific permission bits
    • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::__construct — Construct a Phar entry object
    • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata — Deletes the metadata of the entry
    • PharFileInfo::__destruct — Destructs a Phar entry object
    • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getContent — Get the complete file contents of the entry
    • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags — Returns the Phar file entry flags
    • PharFileInfo::hasMetadata — Returns the metadata of the entry
    • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
    • PharFileInfo::isCompressed — Returns whether the entry is compressed
    • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file
  • PharException — The PharException class


Giriş

The phar extension provides a way to put entire PHP applications into a single file called a "phar" (PHP Archive) for easy distribution and installation. In addition to providing this service, the phar extension also provides a file-format abstraction method for creating and manipulating tar and zip files through the PharData class, much as PDO provides a unified interface for accessing different databases. Unlike PDO, which cannot convert between different databases, Phar also can convert between tar, zip and phar file formats with a single line of code. see Phar::convertToExecutable() for one example.

What is phar? Phar archives are best characterized as a convenient way to group several files into a single file. As such, a phar archive provides a way to distribute a complete PHP application in a single file and run it from that file without the need to extract it to disk. Additionally, phar archives can be executed by PHP as easily as any other file, both on the commandline and from a web server. Phar is kind of like a thumb drive for PHP applications.

Phar implements this functionality through a Stream Wrapper. Normally, to use an external file within a PHP script, you would use include:

Örnek 1 Using an external file

<?php
include '/path/to/external/file.php';
?>

PHP can be thought of as actually translating /path/to/external/file.php into a stream wrapper as file:///path/to/external/file.php, and under the hood it does in fact use the plain file stream wrapper stream functions to access all local files.

To use a file named file.php contained with a phar archive /path/to/myphar.phar, the syntax is very similar to the file:// syntax above.

Örnek 2 Using a file within a phar archive

<?php
include 'phar:///path/to/myphar.phar/file.php';
?>

In fact, one can treat a phar archive exactly as if it were an external disk, using any of fopen()-related functions, opendir() and mkdir()-related functions to read, change, or create new files and directories within the phar archive. This allows complete PHP applications to be distributed in a single file and run directly from that file.

The most common usage for a phar archive is to distribute a complete application in a single file. For instance, the PEAR Installer that is bundled with PHP versions is distributed as a phar archive. To use a phar archive distributed in this way, the archive can be executed on the command-line or via a web server.

Phar archives can be distributed as tar archives, zip archives, or as the custom phar file format designed specifically for the phar extension. Each file format has advantages and disadvantages. The tar and zip file formats can be read or extracted by any third-party tool that can read the format, but require the phar extension in order to run with PHP. The phar file format is customized and unique to the phar extension, and can only be created by the phar extension or the PEAR package » PHP_Archive, but has the advantage that applications created in this format will run even if the phar extension is not enabled.

In other words, even with the phar extension disabled, one can execute or include a phar-based archive. Accessing individual files within a phar archive is only possible with the phar extension unless the phar archive was created by PHP_Archive.

The phar extension is also capable of converting a phar archive from tar to zip or to phar file format in a single command:

Örnek 3 Converting a phar archive from phar to tar file format

<?php
$phar = new Phar('myphar.phar');
$pgz = $phar->convertToExecutable(Phar::TAR, Phar::GZ); // makes myphar.phar.tar.gz
?>

Phar can compress individual files or an entire archive using gzip compression or bzip2 compression, and can verify archive integrity automatically through the use of MD5, SHA-1, SHA-256 or SHA-512 signatures.

Lastly, the Phar extension is security-conscious, and disables write access to executable phar archives by default, and requires system-level disabling of the phar.readonly php.ini setting in order to create or modify phar archives. Normal tar and zip archives without an executable stub can always be created or modified using the PharData class.

If you are creating applications for distribution, you will want to read How to create Phar Archives. If you want more information on the differences between the three file formats that phar supports, you should read Phar, Tar and Zip.

If you are using phar applications, there are helpful tips in How to use Phar Archives.

The word phar is a portmanteau of PHP and Archive and is based loosely on the jar (Java Archive) familiar to Java developers.

The implementation for Phar archives is based on the PEAR package » PHP_Archive, and the implementation details are similar, although the Phar extension is much more powerful. In addition, the Phar extension allows most PHP applications to be run unmodified while PHP_Archive-based phar archives often require extensive modification in order to work.


Gereksinimler

You may optionally wish to enable the zlib and bzip2 extensions to take advantage of compressed phar support. In addition, to take advantage of OpenSSL signing, the OpenSSL extension must be enabled.

If zend.multibyte is enabled, zend.detect_unicode must be enabled as well.


Kurulum

The Phar extension is bundled with PHP, and enabled by default. To disable Phar support, use --disable-phar.

Phar may be installed via the PECL extension with previous PHP versions, and the » Phar PECL page contains further information and history.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Filesystem and Streams Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.cache_list | "" | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

phar.readonly bool

This option disables creation or modification of Phar archives using the phar stream or Phar object's write support. This setting should always be enabled on production machines, as the phar extension's convenient write support could allow straightforward creation of a php-based virus when coupled with other common security vulnerabilities.

Bilginize:

This setting can only be unset in php.ini due to security reasons. If phar.readonly is disabled in php.ini, the user may enable phar.readonly in a script or disable it later. If phar.readonly is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

phar.require_hash bool

This option will force all opened Phar archives to contain some kind of signature (currently MD5, SHA1, SHA256, SHA512 and OpenSSL are supported), and will refuse to process any Phar archive that does not contain a signature.

Bilginize:

This setting can only be unset in php.ini. If phar.require_hash is disabled in php.ini, the user may enable phar.require_hash in a script or disable it later. If phar.require_hash is enabled in php.ini, a script may harmlessly "re-enable" the INI variable, but may not disable it.

This setting does not affect reading plain tar files with the PharData class.

Dikkat

phar.require_hash does not provide any security per se, it is merely a measure against running accidentially corrupted Phar archives, because anyone who would be able to tamper with the Phar could easily fix the signature afterwards.

phar.cache_list string

Allows mapping phar archives to be pre-parsed at web server startup, providing a performance improvement that brings running files out of a phar archive very close to the speed of running those files from a traditional disk-based installation.

Örnek 1 phar.cache_list usage example

in php.ini (windows):
phar.cache_list =C:\path\to\phar1.phar;C:\path\to\phar2.phar
in php.ini (unix):
phar.cache_list =/path/to/phar1.phar:/path/to/phar2.phar


Özkaynak Türleri

The Phar extension provides the phar stream, which allows accessing files contained within a phar transparently. See also the description of the Phar file format.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Phar compression constants
Constant | Value | Description
Phar::NONE (int) | 0x00000000 | no compression
Phar::COMPRESSED (int) | 0x0000F000 | bitmask that can be used with file flags to determine if any compression is present
Phar::GZ (int) | 0x00001000 | zlib (gzip) compression
Phar::BZ2 (int) | 0x00002000 | bzip2 compression
Phar file format constants
Constant | Value | Description
Phar::PHAR (int) | 1 | phar file format
Phar::TAR (int) | 2 | tar file format
Phar::ZIP (int) | 3 | zip file format
Phar signature constants
Constant | Value | Description
Phar::MD5 (int) | 0x0001 | signature with md5 hash algorithm
Phar::SHA1 (int) | 0x0002 | signature with sha1 hash algorithm
Phar::SHA256 (int) | 0x0003 | signature with sha256 hash algorithm (requires hash extension)
Phar::SHA512 (int) | 0x0004 | signature with sha512 hash algorithm (requires hash extension)
Phar::OPENSSL (int) | 0x0010 | signature with OpenSSL public/private key pair. This is a true, asymmetric key signature.
Phar::OPENSSL_SHA256 (int) |  |
Phar::OPENSSL_SHA512 (int) |  |
Phar webPhar mime override constants
Constant | Value | Description
Phar::PHP (int) | 0 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP file
Phar::PHPS (int) | 1 | used to instruct the mimeoverrides parameter of Phar::webPhar() that the extension should be parsed as a PHP source file through highlight_file()


Using Phar Archives

İçindekiler

  • Using Phar Archives: Introduction
  • Using Phar Archives: the phar stream wrapper
  • Using Phar Archives: the Phar and PharData class


Using Phar Archives: Introduction

Phar archives are similar in concept to Java JAR archives, but are tailored to the needs and to the flexibility of PHP applications. A Phar archive is used to distribute a complete PHP application or library in a single file. A Phar archive application is used exactly like any other PHP application:

php coolapplication.phar

Using a Phar archive library is identical to using any other PHP library:

<?php
include 'coollibrary.phar';
?>

The phar stream wrapper provides the core of the phar extension, and is explained in detail here. The phar stream wrapper allows accessing the files within a phar archive using PHP's standard file functions fopen(), opendir(), and others that work on regular files. The phar stream wrapper supports all read/write operations on both files and directories.

<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>

The Phar class implements advanced functionality for accessing files and for creating phar archives. The Phar class is explained in detail here.

<?php
try {
// open an existing phar
$p = new Phar('coollibrary.phar', 0);
// Phar extends SPL's DirectoryIterator class
foreach (new RecursiveIteratorIterator($p) as $file) {
// $file is a PharFileInfo class, and inherits from SplFileInfo
echo $file->getFileName() . "\n";
echo file_get_contents($file->getPathName()) . "\n"; // display contents;
}
if (isset($p['internal/file.php'])) {
var_dump($p['internal/file.php']->getMetadata());
}

// create a new phar - phar.readonly must be 0 in php.ini
// phar.readonly is enabled by default for security reasons.
// On production servers, Phars need never be created,
// only executed.
if (Phar::canWrite()) {
$p = new Phar('newphar.tar.phar', 0, 'newphar.tar.phar');
// make this a tar-based phar archive, compressed with gzip compression (.tar.gz)
$p = $p->convertToExecutable(Phar::TAR, Phar::GZ);

// create transaction - nothing is written to newphar.phar
// until stopBuffering() is called, although temporary storage is needed
$p->startBuffering();
// add all files in /path/to/project, saving in the phar with the prefix "project"
$p->buildFromIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/project')), '/path/to/');

// add a new file via the array access API
$p['file1.txt'] = 'Information';
$fp = fopen('hugefile.dat', 'rb');
// copy all data from the stream
$p['data/hugefile.dat'] = $fp;

if (Phar::canCompress(Phar::GZ)) {
$p['data/hugefile.dat']->compress(Phar::GZ);
}

$p['images/wow.jpg'] = file_get_contents('images/wow.jpg');
// any value can be saved as file-specific meta-data
$p['images/wow.jpg']->setMetadata(array('mime-type' => 'image/jpeg'));
$p['index.php'] = file_get_contents('index.php');
$p->setMetadata(array('bootstrap' => 'index.php'));

// save the phar archive to disk
$p->stopBuffering();
}
} catch (Exception $e) {
echo 'Could not open Phar: ', $e;
}
?>

In addition, verification of phar file contents can be done using any of the supported symmetric hash algorithms (MD5, SHA1, SHA256 and SHA512 if ext/hash is enabled) and using asymmetric public/private key signing using OpenSSL. To take advantage of OpenSSL signing, you need to generate a public/private key pair, and use the private key to set the signature using Phar::setSignatureAlgorithm(). In addition, the public key as extracted using this code:

<?php
$public = openssl_get_publickey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($public, $pkey);
?>
must be saved adjacent to the phar archive it verifies. If the phar archive is saved as /path/to/my.phar, the public key must be saved as /path/to/my.phar.pubkey, or phar will be unable to verify the OpenSSL signature.

The Phar class also provides 3 static methods, Phar::webPhar(), Phar::mungServer() and Phar::interceptFileFuncs() that are crucial to packaging up PHP applications designed for usage on regular filesystems and for web-based applications. Phar::webPhar() implements a front controller that routes HTTP calls to the correct location within the phar archive. Phar::mungServer() is used to modify the values of the $_SERVER array to trick applications that process these values. Phar::interceptFileFuncs() instructs Phar to intercept calls to fopen(), file_get_contents(), opendir(), and all of the stat-based functions (file_exists(), is_readable() and so on) and route all relative paths to locations within the phar archive.

As an example, packaging up a release of the popular phpMyAdmin application for use as a phar archive requires only this simple script and then phpMyAdmin.phar.tar.php can be accessed as a regular file from your web server after modifying the user/password:

<?php
@unlink('phpMyAdmin.phar.tar.php');
copy('phpMyAdmin-2.11.3-english.tar.gz', 'phpMyAdmin.phar.tar.php');
$a = new Phar('phpMyAdmin.phar.tar.php');
$a->startBuffering();
$a["phpMyAdmin-2.11.3-english/config.inc.php"] = '<?php
/* Servers configuration */
$i = 0;

/* Server localhost (config:root) [1] */
$i++;
$cfg[\'Servers\'][$i][\'host\'] = \'localhost\';
$cfg[\'Servers\'][$i][\'extension\'] = \'mysqli\';
$cfg[\'Servers\'][$i][\'connect_type\'] = \'tcp\';
$cfg[\'Servers\'][$i][\'compress\'] = false;
$cfg[\'Servers\'][$i][\'auth_type\'] = \'config\';
$cfg[\'Servers\'][$i][\'user\'] = \'root\';
$cfg[\'Servers\'][$i][\'password\'] = \'\';

/* End of servers configuration */
if (strpos(PHP_OS, \'WIN\') !== false) {
$cfg[\'UploadDir\'] = getcwd();
} else {
$cfg[\'UploadDir\'] = \'/tmp/pharphpmyadmin\';
@mkdir(\'/tmp/pharphpmyadmin\');
@chmod(\'/tmp/pharphpmyadmin\', 0777);
}';
$a->setStub('<?php
Phar::interceptFileFuncs();
Phar::webPhar("phpMyAdmin.phar", "phpMyAdmin-2.11.3-english/index.php");
echo "phpMyAdmin is intended to be executed from a web browser\n";
exit -1;
__HALT_COMPILER();
');
$a->stopBuffering();
?>


Using Phar Archives: the phar stream wrapper

The Phar stream wrapper fully supports fopen() for read and write (not append), unlink(), stat(), fstat(), fseek(), rename() and directory stream operations opendir() and rmdir() and mkdir().

Individual file compression and per-file metadata can also be manipulated in a Phar archive using stream contexts:

<?php
$context = stream_context_create(array('phar' =>
array('compress' => Phar::GZ)),
array('metadata' => array('user' => 'cellog')));
file_put_contents('phar://my.phar/somefile.php', 0, $context);
?>

The phar stream wrapper does not operate on remote files, and cannot operate on remote files, and so is allowed even when the allow_url_fopen and allow_url_include INI options are disabled.

Although it is possible to create phar archives from scratch just using stream operations, it is best to use the functionality built into the Phar class. The stream wrapper is best used for read-only operations.


Using Phar Archives: the Phar and PharData class

The Phar class supports reading and manipulation of Phar archives, as well as iteration through inherited functionality of the RecursiveDirectoryIterator class. With support for the ArrayAccess interface, files inside a Phar archive can be accessed as if they were part of an associative array.

The PharData class extends the Phar, and allows creating and modifying non-executable (data) tar and zip archives even if phar.readonly=1 in php.ini. As such, PharData::setAlias() and PharData::setStub() are both disabled as the concept of alias and stub are unique to executable phar archives.

It is important to note that when creating a Phar archive, the full path should be passed to the Phar object constructor. Relative paths will fail to initialize.

Assuming that $p is a Phar object initialized as follows:

<?php
$p = new Phar('/path/to/myphar.phar', 0, 'myphar.phar');
?>

An empty Phar archive will be created at /path/to/myphar.phar, or if /path/to/myphar.phar already exists, it will be opened again. The literal myphar.phar demonstrates the concept of an alias that can be used to reference /path/to/myphar.phar in URLs as in:

<?php
// these two calls to file_get_contents() are equivalent if
// /path/to/myphar.phar has an explicit alias of "myphar.phar"
// in its manifest, or if the phar was initialized with the
// previous example's Phar object setup
$f = file_get_contents('phar:///path/to/myphar.phar/whatever.txt');
$f = file_get_contents('phar://myphar.phar/whatever.txt');
?>

With the newly created $p Phar object, the following is possible:

  • $a = $p['file.php'] creates a PharFileInfo class that refers to the contents of phar://myphar.phar/file.php
  • $p['file.php'] = $v creates a new file (phar://myphar.phar/file.php), or overwrites an existing file within myphar.phar. $v can be either a string or an open file pointer, in which case the entire contents of the file will be used to create the new file. Note that $p->addFromString('file.php', $v) is functionally equivalent to the above. Also possible is to add the contents of a file with $p->addFile('/path/to/file.php', 'file.php'). Lastly, an empty directory can be created with $p->addEmptyDir('empty').
  • isset($p['file.php']) can be used to determine whether phar://myphar.phar/file.php exists within myphar.phar.
  • unset($p['file.php']) erases phar://myphar.phar/file.php from myphar.phar.

In addition, the Phar object is the only way to access Phar-specific metadata, through Phar::getMetadata(), and the only way to set or retrieve a Phar archive's PHP loader stub through Phar::getStub() and Phar::setStub(). Additionally, compression for the entire Phar archive at once can only be manipulated using the Phar class.

The full list of Phar object functionality is documented below.

The PharFileInfo class extends the SplFileInfo class, and adds several methods for manipulating Phar-specific details of a file contained within a Phar, such as manipulating compression and metadata.


  • « Using Phar Archives: the Phar and PharData class
  • Creating Phar Archives: Introduction »
  • PHP Manual
  • Phar
  • Creating Phar Archives

Creating Phar Archives

İçindekiler

  • Creating Phar Archives: Introduction


Creating Phar Archives: Introduction

To be written fully in the near future. Before reading this, be sure to read How to use Phar Archives.

A great place to start is by reading about Phar::buildFromIterator(), and the specifics of the file format choices available for archives. A healthy understanding of what a stub is and does is crucial to phar archive creation, and so Phar::setStub() and Phar::createDefaultStub() are good places to start as well. If you are distributing a web-based application, it is crucial to know about Phar::webPhar() and related method Phar::mungServer(). Any application that accesses its own files should also consider using Phar::interceptFileFuncs().


What makes a phar a phar and not a tar or a zip?

İçindekiler

  • Ingredients of all Phar archives, independent of file format
  • Phar file stub
  • Head-to-head comparison of Phar, Tar and Zip
  • Tar-based phars
  • Zip-based phars
  • Phar File Format
  • Global Phar bitmapped flags
  • Phar manifest file entry definition
  • Phar Signature format


Ingredients of all Phar archives, independent of file format

All Phar archives contain three to four sections:

  1. a stub

  2. a manifest describing the contents

  3. the file contents

  4. [optional] a signature for verifying Phar integrity (phar file format only)


Phar file stub

A Phar's stub is a simple PHP file. The smallest possible stub follows:

<?php __HALT_COMPILER();

A stub must contain as a minimum, the __HALT_COMPILER(); token at its conclusion. Typically, a stub will contain loader functionality like so:

<?php
Phar::mapPhar();
include 'phar://myphar.phar/index.php';
__HALT_COMPILER();

There are no restrictions on the contents of a Phar stub, except for the requirement that it conclude with __HALT_COMPILER();. The closing PHP tag

?>
may be included or omitted, but there can be no more than 1 space between the ; and the close tag
?>
 or the phar extension will be unable to process the Phar archive's manifest.

In a tar or zip-based phar archive, the stub is stored in the .phar/stub.php file. The default stub for phar-based Phar archives contains approximately 7k of code to extract the contents of the phar and execute them. See Phar::createDefaultStub() for more detail.

The phar alias is stored in a tar or zip-based phar archive in the .phar/alias.txt file as plain text.


Head-to-head comparison of Phar, Tar and Zip

What are the good and the bad things about the three supported file formats in the phar extension? This table attempts to address that question.

Feature matrix: Phar vs. Tar vs. Zip
Feature | Phar | Tar | Zip
Standard File Format | No | Yes | Yes
Can be executed without the Phar Extension [1] | Yes | No | No
Per-file compression | Yes | No | Yes
Whole-archive compression | Yes | Yes | No
Whole-archive signature validation | Yes | Yes | Yes
Web-specific application support | Yes | Yes | Yes
Per-file Meta-data | Yes | Yes | Yes
Whole-Archive Meta-data | Yes | Yes | Yes
Archive creation/modification [2] | Yes | Yes | Yes
Full support for all stream wrapper functions | Yes | Yes | Yes
Can be created/modified even if phar.readonly=1 [3] | No | Yes | Yes

İpucu

[1] PHP can only directly access the contents of a Phar archive without the Phar extension if it is using a stub that extracts the contents of the phar archive. The stub created by Phar::createDefaultStub() extracts the phar archive and runs its contents from a temporary directory if no phar extension is found.

İpucu

[2] All write access requires phar.readonly to be disabled in php.ini or on the command-line directly.

İpucu

[3] Only tar and zip archives without .phar in their filename and without an executable stub .phar/stub.php can be created if phar.readonly=1.


Tar-based phars

Archives based on the tar file format follow the more modern USTAR file format. The design of the tar file header makes them more efficient to access than the zip file format, and almost as efficient as the phar file format. File names are limited to 255 bytes, including full path within the phar archive. There is no limit on the number of files within a tar-based phar archive. These archives can fully compressed in gzip or bzip2 format and still be executed by the Phar extension.

There is limited support for reading tarballs in pax interchange format, but all recognized pax headers (currently, typeflag x and g) are silently ignored. There is also limited support for GNU Tar Archives; currently, ././@LongLink headers are resolved.

To compress an entire archive, use Phar::compress(). To decompress an entire archive, use Phar::decompress().


Zip-based phars

Archives based on the zip file format support several features built into the zip file format. Per-file and whole-archive metadata is stored in the zip file comment and zip archive comment as a serialized string. Pre-existing zip comments will be successfully read as a string. Per-file compression read/write is supported with zlib DEFLATE compression, and read access is supported with bzip2 compression. There is no limit on the number of files within a zip-based phar archive. Empty directories are stored in the zip archive as files with a trailing slash like my/directory/


Phar File Format

The phar file format is literally laid out as stub/manifest/contents/signature, and stores the crucial information of what is included in the phar archive in its manifest.

The Phar manifest is a highly optimized format that allows per-file specification of file compression, file permissions, and even user-defined meta-data such as file user or group. All values greater than 1 byte are stored in little-endian byte order, with the exception of the API version, which for historical reasons is stored as 3 nibbles in big-endian order.

All unused flags are reserved for future use, and must not be used to store custom information. Use the per-file meta-data facility to store customized information about particular files.

The basic file format of a Phar archive manifest is as follows:

Global Phar manifest format
Size in bytes | Description
4 bytes | Length of manifest in bytes (1 MB limit)
4 bytes | Number of files in the Phar
2 bytes | API version of the Phar manifest (currently 1.0.0)
4 bytes | Global Phar bitmapped flags
4 bytes | Length of Phar alias
?? | Phar alias (length based on previous)
4 bytes | Length of Phar metadata (0 for none)
?? | Serialized Phar Meta-data, stored in serialize() format
at least 24 * number of entries bytes | entries for each file


Global Phar bitmapped flags

Here are the bitmapped flags currently recognized by the Phar extension for the global Phar flat bitmap:

Bitmap values recognized
Value | Description
0x00010000 | If set, this Phar contains a verification signature
0x00001000 | If set, this Phar contains at least 1 file that is compressed with zlib DEFLATE compression
0x00002000 | If set, this Phar contains at least 1 file that is compressed with bzip2 compression


Phar manifest file entry definition

Each file in the manifest contains the following information:

Phar Manifest file entry
Size in bytes | Description
4 bytes | Filename length in bytes
?? | Filename (length specified in previous)
4 bytes | Un-compressed file size in bytes
4 bytes | Unix timestamp of file
4 bytes | Compressed file size in bytes
4 bytes | CRC32 checksum of un-compressed file contents
4 bytes | Bit-mapped File-specific flags
4 bytes | Serialized File Meta-data length (0 for none)
?? | Serialized File Meta-data, stored in serialize() format

Note that as of API version 1.1.1, empty directories are stored as filenames with a trailing slash like my/directory/

The File-specific bitmap values recognized are:

Bitmap values recognized
Value | Description
0x000001FF | These bits are reserved for defining specific file permissions of a file. Permissions are used for fstat() and can be used to recreate desired permissions upon extraction.
0x00001000 | If set, this file is compressed with zlib DEFLATE compression
0x00002000 | If set, this file is compressed with bzip2 compression


Phar Signature format

Phars containing a signature always have the signature appended to the end of the Phar archive after the loader, manifest, and file contents. The signature formats supported at this time are MD5, SHA1, SHA256, SHA512, and OPENSSL.

Signature format
Length in bytes | Description
varying | The actual signature, 20 bytes for an SHA1 signature, 16 bytes for an MD5 signature, 32 bytes for an SHA256 signature, and 64 bytes for an SHA512 signature. The length of an OPENSSL signature depends on the size of the private key.
4 bytes | Signature flags. 0x0001 is used to define an MD5 signature, 0x0002 is used to define an SHA1 signature, 0x0003 is used to define an SHA256 signature, and 0x0004 is used to define an SHA512 signature. The SHA256 and SHA512 signature support is available as of API version 1.1.0. 0x0010 is used to define an OPENSSL signature, what is available as of API version 1.1.1, if OpenSSL is available.
4 bytes | Magic GBMB used to define the presence of a signature.


The Phar class

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Giriş

The Phar class provides a high-level interface to accessing and creating phar archives.

Sınıf Sözdizimi

class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Miras alınan sabitler */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Sabitler */
const int BZ2;
const int GZ;
const int NONE;
const int PHAR;
const int TAR;
const int ZIP;
const int COMPRESSED;
const int PHP;
const int PHPS;
const int MD5;
const int OPENSSL;
const int OPENSSL_SHA256;
const int OPENSSL_SHA512;
const int SHA1;
const int SHA256;
const int SHA512;
/* Yöntemler */
public __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias = null)
public addEmptyDir(string $directory): void
public addFile(string $filename, ?string $localName = null): void
public addFromString(string $localName, string $contents): void
final public static apiVersion(): string
public buildFromDirectory(string $directory, string $pattern = ""): array
public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
final public static canCompress(int $compression = 0): bool
final public static canWrite(): bool
public compress(int $compression, ?string $extension = null): ?Phar
public compressFiles(int $compression): void
public convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public copy(string $from, string $to): bool
public count(int $mode = COUNT_NORMAL): int
final public static createDefaultStub(?string $index = null, ?string $webIndex = null): string
public decompress(?string $extension = null): ?Phar
public decompressFiles(): bool
public delMetadata(): bool
public delete(string $localName): bool
public extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public getAlias(): ?string
public getMetadata(array $unserializeOptions = []): mixed
public getModified(): bool
public getPath(): string
public getSignature(): array|false
public getStub(): string
final public static getSupportedCompression(): array
final public static getSupportedSignatures(): array
public getVersion(): string
public hasMetadata(): bool
final public static interceptFileFuncs(): void
public isBuffering(): bool
public isCompressed(): int|false
public isFileFormat(int $format): bool
final public static isValidPharFilename(string $filename, bool $executable = true): bool
public isWritable(): bool
final public static loadPhar(string $filename, ?string $alias = null): bool
final public static mapPhar(?string $alias = null, int $offset = 0): bool
final public static mount(string $pharPath, string $externalPath): void
final public static mungServer(array $variables): void
public offsetExists(string $localName): bool
public offsetGet(string $localName): SplFileInfo
public offsetSet(string $localName, resource|string $value): void
public offsetUnset(string $localName): void
final public static running(bool $returnPhar = true): string
public setAlias(string $alias): bool
public setDefaultStub(?string $index = null, ?string $webIndex = null): bool
public setMetadata(mixed $metadata): void
public setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public setStub(resource|string $stub, int $length = -1): bool
public startBuffering(): void
public stopBuffering(): void
final public static unlinkArchive(string $filename): bool
final public static webPhar(
?string $alias = null,
?string $index = null,
?string $fileNotFoundScript = null,
array $mimeTypes = [],
?callable $rewrite = null
): void
public __destruct()
/* Miras alınan yöntemler */
public RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator
public RecursiveDirectoryIterator::getSubPath(): string
public RecursiveDirectoryIterator::getSubPathname(): string
public RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool
public RecursiveDirectoryIterator::key(): string
public RecursiveDirectoryIterator::next(): void
public RecursiveDirectoryIterator::rewind(): void
public FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator
public FilesystemIterator::getFlags(): int
public FilesystemIterator::key(): string
public FilesystemIterator::next(): void
public FilesystemIterator::rewind(): void
public FilesystemIterator::setFlags(int $flags): void
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string $suffix = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int $offset): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • Phar::addEmptyDir — Add an empty directory to the phar archive
  • Phar::addFile — Add a file from the filesystem to the phar archive
  • Phar::addFromString — Add a file from a string to the phar archive
  • Phar::apiVersion — Returns the api version
  • Phar::buildFromDirectory — Construct a phar archive from the files within a directory
  • Phar::buildFromIterator — Construct a phar archive from an iterator
  • Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::canWrite — Returns whether phar extension supports writing and creating phars
  • Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::compressFiles — Compresses all files in the current Phar archive
  • Phar::__construct — Construct a Phar archive object
  • Phar::convertToData — Convert a phar archive to a non-executable tar or zip file
  • Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format
  • Phar::copy — Copy a file internal to the phar archive to another new file within the phar
  • Phar::count — Returns the number of entries (files) in the Phar archive
  • Phar::createDefaultStub — Create a phar-file format specific stub
  • Phar::decompress — Decompresses the entire Phar archive
  • Phar::decompressFiles — Decompresses all files in the current Phar archive
  • Phar::delMetadata — Deletes the global metadata of the phar
  • Phar::delete — Delete a file within a phar archive
  • Phar::__destruct — Destructs a Phar archive object
  • Phar::extractTo — Extract the contents of a phar archive to a directory
  • Phar::getAlias — Get the alias for Phar
  • Phar::getMetadata — Returns phar archive meta-data
  • Phar::getModified — Return whether phar was modified
  • Phar::getPath — Get the real path to the Phar archive on disk
  • Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::getSupportedCompression — Return array of supported compression algorithms
  • Phar::getSupportedSignatures — Return array of supported signature types
  • Phar::getVersion — Return version info of Phar archive
  • Phar::hasMetadata — Returns whether phar has global meta-data
  • Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
  • Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
  • Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
  • Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename
  • Phar::isWritable — Returns true if the phar archive can be modified
  • Phar::loadPhar — Loads any phar archive with an alias
  • Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest
  • Phar::mount — Mount an external path or file to a virtual location within the phar archive
  • Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::offsetExists — Determines whether a file exists in the phar
  • Phar::offsetGet — Gets a PharFileInfo object for a specific file
  • Phar::offsetSet — Set the contents of an internal file to those of an external file
  • Phar::offsetUnset — Remove a file from a phar
  • Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive
  • Phar::setAlias — Set the alias for the Phar archive
  • Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
  • Phar::setMetadata — Sets phar archive meta-data
  • Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
  • Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::unlinkArchive — Completely remove a phar archive from disk and from memory
  • Phar::webPhar — Routes a request from a web browser to an internal file within the phar archive


Add an empty directory to the phar archive

  • « Phar
  • Phar::addFile »
  • PHP Manual
  • Phar
  • Add an empty directory to the phar archive

Phar::addEmptyDir

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::addEmptyDir — Add an empty directory to the phar archive

Açıklama

public Phar::addEmptyDir(string $directory): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Bağımsız Değişkenler

directory

The name of the empty directory to create in the phar archive

Dönen Değerler

no return value, exception is thrown on failure.

Örnekler

Örnek 1 A Phar::addEmptyDir() example

<?php
try {
$a = new Phar('/path/to/phar.phar');

$a->addEmptyDir('/full/path/to/file');
// demonstrates how this file is stored
$b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
// handle errors here
}
?>

Ayrıca Bakınız

  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addFromString() - Add a file from a string to the phar archive


Add a file from the filesystem to the phar archive

  • « Phar::addEmptyDir
  • Phar::addFromString »
  • PHP Manual
  • Phar
  • Add a file from the filesystem to the phar archive

Phar::addFile

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::addFile — Add a file from the filesystem to the phar archive

Açıklama

public Phar::addFile(string $filename, ?string $localName = null): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

With this method, any file or URL can be added to the phar archive. If the optional second parameter localName is a string, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Bağımsız Değişkenler

filename

Full or relative path to a file on disk to be added to the phar archive.

localName

Path that the file will be stored in the archive.

Dönen Değerler

no return value, exception is thrown on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | localName is now nullable.

Örnekler

Örnek 1 A Phar::addFile() example

<?php
try {
$a = new Phar('/path/to/phar.phar');

$a->addFile('/full/path/to/file');
// demonstrates how this file is stored
$b = $a['full/path/to/file']->getContent();

$a->addFile('/full/path/to/file', 'my/file.txt');
$c = $a['my/file.txt']->getContent();

// demonstrate URL usage
$a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
// handle errors here
}
?>

Notlar

Bilginize:
Phar::addFile(),
Phar::addFromString() ve
Phar::offsetSet() her çağrıldıklarında yeni bir phar
arşivi kaydeder. Başarım önemliyse, yerlerine
Phar::buildFromDirectory() veya
Phar::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • Phar::addFromString() - Add a file from a string to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive


Add a file from a string to the phar archive

  • « Phar::addFile
  • Phar::apiVersion »
  • PHP Manual
  • Phar
  • Add a file from a string to the phar archive

Phar::addFromString

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::addFromString — Add a file from a string to the phar archive

Açıklama

public Phar::addFromString(string $localName, string $contents): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

With this method, any string can be added to the phar archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Bağımsız Değişkenler

localName

Path that the file will be stored in the archive.

contents

The file contents to store

Dönen Değerler

no return value, exception is thrown on failure.

Örnekler

Örnek 1 A Phar::addFromString() example

<?php
try {
$a = new Phar('/path/to/phar.phar');

$a->addFromString('path/to/file.txt', 'my simple file');
$b = $a['path/to/file.txt']->getContent();

// to add contents from a stream handle for large files, use offsetSet()
$c = fopen('/path/to/hugefile.bin');
$a['largefile.bin'] = $c;
fclose($c);
} catch (Exception $e) {
// handle errors here
}
?>

Notlar

Bilginize:
Phar::addFile(),
Phar::addFromString() ve
Phar::offsetSet() her çağrıldıklarında yeni bir phar
arşivi kaydeder. Başarım önemliyse, yerlerine
Phar::buildFromDirectory() veya
Phar::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • PharData::addFromString() - Add a file from a string to the tar/zip archive
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • Phar::addEmptyDir() - Add an empty directory to the phar archive


Returns the api version

  • « Phar::addFromString
  • Phar::buildFromDirectory »
  • PHP Manual
  • Phar
  • Returns the api version

Phar::apiVersion

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::apiVersion — Returns the api version

Açıklama

final public static Phar::apiVersion(): string

Return the API version of the phar file format that will be used when creating phars. The Phar extension supports reading API version 1.0.0 or newer. API version 1.1.0 is required for SHA-256 and SHA-512 hash, and API version 1.1.1 is required to store empty directories.

Bağımsız Değişkenler

Dönen Değerler

The API version string as in "1.0.0".

Örnekler

Örnek 1 A Phar::apiVersion() example

<?php
echo Phar::apiVersion();
?>

Yukarıdaki örneğin çıktısı:

1.1.1


Construct a phar archive from the files within a directory

  • « Phar::apiVersion
  • Phar::buildFromIterator »
  • PHP Manual
  • Phar
  • Construct a phar archive from the files within a directory

Phar::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::buildFromDirectory — Construct a phar archive from the files within a directory

Açıklama

public Phar::buildFromDirectory(string $directory, string $pattern = ""): array

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Populate a phar archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use Phar::buildFromIterator().

Bağımsız Değişkenler

directory

The full or relative path to the directory that contains all files to add to the archive.

pattern

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Dönen Değerler

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Phar::buildFromDirectory() no longer returns false.

Örnekler

Örnek 1 A Phar::buildFromDirectory() example

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));

$phar2 = new Phar('project2.phar', 0, 'project2.phar');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
$phar2->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ayrıca Bakınız

  • Phar::buildFromIterator() - Construct a phar archive from an iterator


Construct a phar archive from an iterator

  • « Phar::buildFromDirectory
  • Phar::canCompress »
  • PHP Manual
  • Phar
  • Construct a phar archive from an iterator

Phar::buildFromIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::buildFromIterator — Construct a phar archive from an iterator

Açıklama

public Phar::buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Populate a phar archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the phar to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Bağımsız Değişkenler

iterator

Any iterator that either associatively maps phar file to location or returns SplFileInfo objects

baseDirectory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the phar archive

Dönen Değerler

Phar::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Hatalar/İstisnalar

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a baseDirectory parameter, or a PharException if there were errors saving the phar archive.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Phar::buildFromIterator() no longer returns false.
8.0.0 | baseDirectory is now nullable.

Örnekler

Örnek 1 A Phar::buildFromIterator() with SplFileInfo

For most phar archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a phar archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.phar" phar archive:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/path/to/project')),
'/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

The file project.phar can then be used immediately. Phar::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the phar archive.

As an interesting note, Phar::buildFromIterator() can also be used to copy the contents of an existing phar archive, as the Phar object descends from DirectoryIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
new RecursiveIteratorIterator(
new Phar('/path/to/anotherphar.phar')),
'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Örnek 2 A Phar::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
// create with alias "project.phar"
$phar = new Phar('project.phar', 0, 'project.phar');
$phar->buildFromIterator(
new ArrayIterator(
array(
'internal/file.php' => dirname(__FILE__) . '/somefile.php',
'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
)));
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Ayrıca Bakınız

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory


Returns whether phar extension supports compression using either zlib or bzip2

  • « Phar::buildFromIterator
  • Phar::canWrite »
  • PHP Manual
  • Phar
  • Returns whether phar extension supports compression using either zlib or bzip2

Phar::canCompress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::canCompress — Returns whether phar extension supports compression using either zlib or bzip2

Açıklama

final public static Phar::canCompress(int $compression = 0): bool

This should be used to test whether compression is possible prior to loading a phar archive containing compressed files.

Bağımsız Değişkenler

compression

Either Phar::GZ or Phar::BZ2 can be used to test whether compression is possible with a specific compression algorithm (zlib or bzip2).

Dönen Değerler

true if compression/decompression is available, false if not.

Örnekler

Örnek 1 A Phar::canCompress() example

<?php
if (Phar::canCompress()) {
echo file_get_contents('phar://compressedphar.phar/internal/file.txt');
} else {
echo 'no compression available';
}
?>

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file


Returns whether phar extension supports writing and creating phars

  • « Phar::canCompress
  • Phar::compress »
  • PHP Manual
  • Phar
  • Returns whether phar extension supports writing and creating phars

Phar::canWrite

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::canWrite — Returns whether phar extension supports writing and creating phars

Açıklama

final public static Phar::canWrite(): bool

This static method determines whether write access has been disabled in the system php.ini via the phar.readonly ini variable.

Bağımsız Değişkenler

Dönen Değerler

true if write access is enabled, false if it is disabled.

Örnekler

Örnek 1 A Phar::canWrite() example

<?php
if (Phar::canWrite()) {
file_put_contents('phar://myphar.phar/file.txt', 'hi there');
}
?>

Ayrıca Bakınız

  • phar.readonly
  • Phar::isWritable() - Returns true if the phar archive can be modified


Compresses the entire Phar archive using Gzip or Bzip2 compression

  • « Phar::canWrite
  • Phar::compressFiles »
  • PHP Manual
  • Phar
  • Compresses the entire Phar archive using Gzip or Bzip2 compression

Phar::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::compress — Compresses the entire Phar archive using Gzip or Bzip2 compression

Açıklama

public Phar::compress(int $compression, ?string $extension = null): ?Phar

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

For tar-based and phar-based phar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Bağımsız Değişkenler

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .phar.gz or .phar.bz2 for compressing phar archives, and .phar.tar.gz or .phar.tar.bz2 for compressing tar archives. For decompressing, the default file extensions are .phar and .phar.tar.

Dönen Değerler

Returns a Phar object, or null on failure.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | extension is now nullable.

Örnekler

Örnek 1 A Phar::compress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Compresses all files in the current Phar archive

  • « Phar::compress
  • Phar::__construct »
  • PHP Manual
  • Phar
  • Compresses all files in the current Phar archive

Phar::compressFiles

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::compressFiles — Compresses all files in the current Phar archive

Açıklama

public Phar::compressFiles(int $compression): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method compresses all files in the Phar archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Bağımsız Değişkenler

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Örnekler

Örnek 1 A Phar::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>

Yukarıdaki örneğin çıktısı:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive


Construct a Phar archive object

  • « Phar::compressFiles
  • Phar::convertToData »
  • PHP Manual
  • Phar
  • Construct a Phar archive object

Phar::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::__construct — Construct a Phar archive object

Açıklama

public Phar::__construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS, ?string $alias = null)

Bağımsız Değişkenler

filename

Path to an existing Phar archive or to-be-created archive. The file name's extension must contain .phar.

flags

Flags to pass to parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

Hatalar/İstisnalar

Throws BadMethodCallException if called twice, UnexpectedValueException if the phar archive can't be opened.

Örnekler

Örnek 1 A Phar::__construct() example

<?php
try {
$p = new Phar('/path/to/my.phar', FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME,
'my.phar');
} catch (UnexpectedValueException $e) {
die('Could not open my.phar');
} catch (BadMethodCallException $e) {
echo 'technically, this cannot happen';
}
// this works now
echo file_get_contents('phar://my.phar/example.txt');
// and works as if we had typed
echo file_get_contents('phar:///path/to/my.phar/example.txt');
?>


Convert a phar archive to a non-executable tar or zip file

  • « Phar::__construct
  • Phar::convertToExecutable »
  • PHP Manual
  • Phar
  • Convert a phar archive to a non-executable tar or zip file

Phar::convertToData

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::convertToData — Convert a phar archive to a non-executable tar or zip file

Açıklama

public Phar::convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData

This method is used to convert an executable phar archive to either a tar or zip file. To make the tar or zip non-executable, the phar stub and phar alias files are removed from the newly created archive.

If no changes are specified, this method throws a BadMethodCallException if the archive is in phar file format. For archives in tar or zip file format, this method converts the archive to a non-executable archive.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Bağımsız Değişkenler

format

This should be one of Phar::TAR or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Dönen Değerler

The method returns a PharData object on success, or null on failure.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | format, compression, and extension are now nullable.

Örnekler

Örnek 1 A Phar::convertToData() example

Using Phar::convertToData():

<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// note that myphar.phar.tar is *not* unlinked
// convert it to the non-executable tar file format
// creates myphar.tar
$tar = $tarphar->convertToData();
// convert to non-executable zip format, creates myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// create myphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// creates myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// handle the error here
}
?>

Ayrıca Bakınız

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Convert a phar archive to another executable phar archive file format

  • « Phar::convertToData
  • Phar::copy »
  • PHP Manual
  • Phar
  • Convert a phar archive to another executable phar archive file format

Phar::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::convertToExecutable — Convert a phar archive to another executable phar archive file format

Açıklama

public Phar::convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This method is used to convert a phar archive to another file format. For instance, it can be used to create a tar-based executable phar archive from a zip-based executable phar archive, or from an executable phar archive in the phar file format. In addition, it can be used to apply whole-archive compression to a tar or phar-based archive.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Bağımsız Değişkenler

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Dönen Değerler

The method returns a Phar object on success, or null on failure.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | format, compression, and extension are now nullable.

Örnekler

Örnek 1 A Phar::convertToExecutable() example

Using Phar::convertToExecutable():

<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// convert it to the phar file format
// note that myphar.phar.tar is *not* unlinked
$phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// creates myphar.phar.tgz
$compressed = $phar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// handle the error here
}
?>

Ayrıca Bakınız

  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Copy a file internal to the phar archive to another new file within the phar

  • « Phar::convertToExecutable
  • Phar::count »
  • PHP Manual
  • Phar
  • Copy a file internal to the phar archive to another new file within the phar

Phar::copy

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::copy — Copy a file internal to the phar archive to another new file within the phar

Açıklama

public Phar::copy(string $from, string $to): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Copy a file internal to the phar archive to another new file within the phar. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Bağımsız Değişkenler

from

to

Dönen Değerler

returns true on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Hatalar/İstisnalar

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Örnekler

Örnek 1 A Phar::copy() example

This example shows using Phar::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All Phar methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
$phar = new Phar('myphar.phar');
$phar['a'] = 'hi';
$phar->copy('a', 'b');
echo $phar['b']; // outputs "hi"
} catch (Exception $e) {
// handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.phar/a', 'phar//myphar.phar/c');
echo file_get_contents('phar://myphar.phar/c'); // outputs "hi"
?>


Returns the number of entries (files) in the Phar archive

  • « Phar::copy
  • Phar::createDefaultStub »
  • PHP Manual
  • Phar
  • Returns the number of entries (files) in the Phar archive

Phar::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::count — Returns the number of entries (files) in the Phar archive

Açıklama

public Phar::count(int $mode = COUNT_NORMAL): int

Bağımsız Değişkenler

mode

mode is an integer value specifying the counting mode to be used. By default, it is set to COUNT_NORMAL, which counts only the number of items in the archive that have not been deleted or hidden. When set to COUNT_RECURSIVE, it counts all items in the archive, including those that have been deleted or hidden.

Dönen Değerler

The number of files contained within this phar, or 0 (the number zero) if none.

Örnekler

Örnek 1 A Phar::count() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p['file.txt'] = 'hi';
echo 'The new phar has ' . $p->count() . " entries\n";
?>

Yukarıdaki örneğin çıktısı:

The new phar has 0 entries
The new phar has 1 entries


Create a phar-file format specific stub

  • « Phar::count
  • Phar::decompress »
  • PHP Manual
  • Phar
  • Create a phar-file format specific stub

Phar::createDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::createDefaultStub — Create a phar-file format specific stub

Açıklama

final public static Phar::createDefaultStub(?string $index = null, ?string $webIndex = null): string

This method is intended for creation of phar-file format-specific stubs, and is not intended for use with tar- or zip-based phar archives.

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

This method provides a simple and easy method to create a stub that will run a startup file from the phar archive. In addition, different files can be specified for running the phar archive from the command line versus through a web server. The loader stub also calls Phar::interceptFileFuncs() to allow easy bundling of a PHP application that accesses the file system. If the phar extension is not present, the loader stub will extract the phar archive to a temporary directory and then operate on the files. A shutdown function erases the temporary files on exit.

Bağımsız Değişkenler

index

Relative path within the phar archive to run if accessed on the command-line

webIndex

Relative path within the phar archive to run if accessed through a web browser

Dönen Değerler

Returns a string containing the contents of a customized bootstrap loader (stub) that allows the created Phar archive to work with or without the Phar extension enabled.

Hatalar/İstisnalar

Throws UnexpectedValueException if either parameter is longer than 400 bytes.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | index and webIndex are now nullable.

Örnekler

Örnek 1 A Phar::createDefaultStub() example

<?php
try {
$phar = new Phar('myphar.phar');
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
// handle errors
}
?>

Ayrıca Bakınız

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive


Decompresses the entire Phar archive

  • « Phar::createDefaultStub
  • Phar::decompressFiles »
  • PHP Manual
  • Phar
  • Decompresses the entire Phar archive

Phar::decompress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::decompress — Decompresses the entire Phar archive

Açıklama

public Phar::decompress(?string $extension = null): ?Phar

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

For tar-based and phar-based phar archives, this method decompresses the entire archive.

For Zip-based phar archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

In addition, this method automatically changes the file extension of the archive, .phar by default for phar archives, or .phar.tar for tar-based phar archives. Alternatively, a file extension may be specified with the second parameter.

Bağımsız Değişkenler

extension

For decompressing, the default file extensions are .phar and .phar.tar. Use this parameter to specify another file extension. Be aware that all executable phar archives must contain .phar in their filename.

Dönen Değerler

A Phar object is returned on success, and null on failure.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or the bzip2 extension is not enabled.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | extension is now nullable.

Örnekler

Örnek 1 A Phar::decompress() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Decompresses all files in the current Phar archive

  • « Phar::decompress
  • Phar::delMetadata »
  • PHP Manual
  • Phar
  • Decompresses all files in the current Phar archive

Phar::decompressFiles

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::decompressFiles — Decompresses all files in the current Phar archive

Açıklama

public Phar::decompressFiles(): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

For tar-based phar archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use Phar::compress() to compress an entire tar-based phar archive.

For Zip-based and phar-based phar archives, this method decompresses all files in the Phar archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Örnekler

Örnek 1 A Phar::decompressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>

Yukarıdaki örneğin çıktısı:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive


Deletes the global metadata of the phar

  • « Phar::decompressFiles
  • Phar::delete »
  • PHP Manual
  • Phar
  • Deletes the global metadata of the phar

Phar::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

Phar::delMetadata — Deletes the global metadata of the phar

Açıklama

public Phar::delMetadata(): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Deletes the global metadata of the phar

Bağımsız Değişkenler

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A Phar::delMetaData() example

<?php
try {
$phar = new Phar('myphar.phar');
var_dump($phar->getMetadata());
$phar->setMetadata("hi there");
var_dump($phar->getMetadata());
$phar->delMetadata();
var_dump($phar->getMetadata());
} catch (Exception $e) {
// handle errors
}
?>

Yukarıdaki örneğin çıktısı:

NULL
string(8) "hi there"
NULL

Ayrıca Bakınız

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Delete a file within a phar archive

  • « Phar::delMetadata
  • Phar::__destruct »
  • PHP Manual
  • Phar
  • Delete a file within a phar archive

Phar::delete

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::delete — Delete a file within a phar archive

Açıklama

public Phar::delete(string $localName): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Bağımsız Değişkenler

localName

Path within an archive to the file to delete.

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A Phar::delete() example

<?php
try {
$phar = new Phar('myphar.phar');
$phar->delete('unlink/me.php');
// this is equivalent to:
unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
// handle errors
}
?>

Ayrıca Bakınız

  • PharData::delete() - Delete a file within a tar/zip archive
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory


Destructs a Phar archive object

  • « Phar::delete
  • Phar::extractTo »
  • PHP Manual
  • Phar
  • Destructs a Phar archive object

Phar::__destruct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::__destruct — Destructs a Phar archive object

Açıklama

public Phar::__destruct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Extract the contents of a phar archive to a directory

  • « Phar::__destruct
  • Phar::getAlias »
  • PHP Manual
  • Phar
  • Extract the contents of a phar archive to a directory

Phar::extractTo

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::extractTo — Extract the contents of a phar archive to a directory

Açıklama

public Phar::extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool

Extract all files within a phar archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Bağımsız Değişkenler

directory

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract, null to skip this param

overwrite

Set to true to enable overwriting existing files

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A Phar::extractTo() example

<?php
try {
$phar = new Phar('myphar.phar');
$phar->extractTo('/full/path'); // extract all files
$phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
$phar->extractTo('/this/path',
array('file1.txt', 'file2.txt')); // extract 2 files only
$phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
// handle errors
}
?>

Notlar

Bilginize:

Windows NTFS dosya sistemi dosya isimlerinde <|>*?": gibi bazı karakterleri desteklemez. Bundan başka nokta ile biten dosya isimleri de desteklenmez. Bazı dosya çıkarma araçlarının aksine, bu yöntem bu karakterleri bir alt çizgi ile değiştirmek yerine bu tür dosyaları çıkarmada başarısız olur.

Ayrıca Bakınız

  • PharData::extractTo() - Extract the contents of a tar/zip archive to a directory


Get the alias for Phar

  • « Phar::extractTo
  • Phar::getMetadata »
  • PHP Manual
  • Phar
  • Get the alias for Phar

Phar::getAlias

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.1)

Phar::getAlias — Get the alias for Phar

Açıklama

public Phar::getAlias(): ?string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the alias or null if there's no alias.


Returns phar archive meta-data

  • « Phar::getAlias
  • Phar::getModified »
  • PHP Manual
  • Phar
  • Returns phar archive meta-data

Phar::getMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::getMetadata — Returns phar archive meta-data

Açıklama

public Phar::getMetadata(array $unserializeOptions = []): mixed

Retrieve archive meta-data. Meta-data can be any PHP variable that can be serialized.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Any PHP value that can be serialized and is stored as meta-data for the Phar archive, or null if no meta-data is stored.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The parameter unserializeOptions has been added.

Örnekler

Örnek 1 A Phar::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.php'] = '<?php echo "hello";';
$p->setMetadata(array('bootstrap' => 'file.php'));
var_dump($p->getMetadata());
} catch (Exception $e) {
echo 'Could not modify phar:', $e;
}
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Ayrıca Bakınız

  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Return whether phar was modified

  • « Phar::getMetadata
  • Phar::getPath »
  • PHP Manual
  • Phar
  • Return whether phar was modified

Phar::getModified

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::getModified — Return whether phar was modified

Açıklama

public Phar::getModified(): bool

This method can be used to determine whether a phar has either had an internal file deleted, or contents of a file changed in some way.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

true if the phar has been modified since opened, false if not.


Get the real path to the Phar archive on disk

  • « Phar::getModified
  • Phar::getSignature »
  • PHP Manual
  • Phar
  • Get the real path to the Phar archive on disk

Phar::getPath

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Phar::getPath — Get the real path to the Phar archive on disk

Açıklama

public Phar::getPath(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

  • « Phar::getPath
  • Phar::getStub »
  • PHP Manual
  • Phar
  • Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Phar::getSignature

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::getSignature — Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive

Açıklama

public Phar::getSignature(): array|false

Returns the verification signature of a phar archive in a hexadecimal string.

Bağımsız Değişkenler

Dönen Değerler

Array with the opened archive's signature in hash key and MD5, SHA-1, SHA-256, SHA-512, or OpenSSL in hash_type. This signature is a hash calculated on the entire phar's contents, and may be used to verify the integrity of the archive. A valid signature is absolutely required of all executable phar archives if the phar.require_hash INI variable is set to true. If there is no signature, the function returns false.


Return the PHP loader or bootstrap stub of a Phar archive

  • « Phar::getSignature
  • Phar::getSupportedCompression »
  • PHP Manual
  • Phar
  • Return the PHP loader or bootstrap stub of a Phar archive

Phar::getStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::getStub — Return the PHP loader or bootstrap stub of a Phar archive

Açıklama

public Phar::getStub(): string

Phar archives contain a bootstrap loader, or stub written in PHP that is executed when the archive is executed in PHP either via include:

<?php
include 'myphar.phar';
?>
or by simple execution:
php myphar.phar

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the contents of the bootstrap loader (stub) of the current Phar archive.

Hatalar/İstisnalar

Throws RuntimeException if it is not possible to read the stub from the Phar archive.

Örnekler

Örnek 1 A Phar::getStub() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
echo $p->getStub();
echo "==NEXT==\n";
$p->setStub("<?php
function __autoload($class)
{
include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>");
echo $p->getStub();
?>

Yukarıdaki örneğin çıktısı:

<?php __HALT_COMPILER(); ?>
==NEXT==
<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER(); ?>

Ayrıca Bakınız

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Return array of supported compression algorithms

  • « Phar::getStub
  • Phar::getSupportedSignatures »
  • PHP Manual
  • Phar
  • Return array of supported compression algorithms

Phar::getSupportedCompression

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

Phar::getSupportedCompression — Return array of supported compression algorithms

Açıklama

final public static Phar::getSupportedCompression(): array

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns an array containing any of Phar::GZ or Phar::BZ2, depending on the availability of the zlib extension or the bz2 extension.

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive


Return array of supported signature types

  • « Phar::getSupportedCompression
  • Phar::getVersion »
  • PHP Manual
  • Phar
  • Return array of supported signature types

Phar::getSupportedSignatures

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)

Phar::getSupportedSignatures — Return array of supported signature types

Açıklama

final public static Phar::getSupportedSignatures(): array

Return array of supported signature types

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns an array containing any of MD5, SHA-1, SHA-256, SHA-512, or OpenSSL.

Ayrıca Bakınız

  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
  • Phar::setSignatureAlgorithm() - Set the signature algorithm for a phar and apply it


Return version info of Phar archive

  • « Phar::getSupportedSignatures
  • Phar::hasMetadata »
  • PHP Manual
  • Phar
  • Return version info of Phar archive

Phar::getVersion

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::getVersion — Return version info of Phar archive

Açıklama

public Phar::getVersion(): string

Returns the API version of an opened Phar archive.

Bağımsız Değişkenler

Dönen Değerler

The opened archive's API version. This is not to be confused with the API version that the loaded phar extension will use to create new phars. Each Phar archive has the API version hard-coded into its manifest. See Phar file format documentation for more information.

Ayrıca Bakınız

  • Phar::apiVersion() - Returns the api version


Returns whether phar has global meta-data

  • « Phar::getVersion
  • Phar::interceptFileFuncs »
  • PHP Manual
  • Phar
  • Returns whether phar has global meta-data

Phar::hasMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

Phar::hasMetadata — Returns whether phar has global meta-data

Açıklama

public Phar::hasMetadata(): bool

Returns whether phar has global meta-data set.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns true if meta-data has been set, and false if not.

Örnekler

Örnek 1 A Phar::hasMetadata() example

<?php
try {
$phar = new Phar('myphar.phar');
var_dump($phar->hasMetadata());
$phar->setMetadata(array('thing' => 'hi'));
var_dump($phar->hasMetadata());
$phar->delMetadata();
var_dump($phar->hasMetadata());
} catch (Exception $e) {
// handle error
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar


Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

  • « Phar::hasMetadata
  • Phar::isBuffering »
  • PHP Manual
  • Phar
  • Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Phar::interceptFileFuncs

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::interceptFileFuncs — Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions

Açıklama

final public static Phar::interceptFileFuncs(): void

instructs phar to intercept fopen(), readfile(), file_get_contents(), opendir(), and all of the stat-related functions. If any of these functions is called from within a phar archive with a relative path, the call is modified to access a file within the phar archive. Absolute paths are assumed to be attempts to load external files from the filesystem.

This function makes it possible to run PHP applications designed to run off of a hard disk as a phar application.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Örnekler

Örnek 1 A Phar::interceptFileFuncs() example

<?php
Phar::interceptFileFuncs();
include 'phar://' . __FILE__ . '/file.php';
?>

Assuming that this phar is at /path/to/myphar.phar and it contains file.php and file2.txt, if file.php contains this code:

Örnek 2 A Phar::interceptFileFuncs() example

<?php
echo file_get_contents('file2.txt');
?>

Normally PHP would search the current directory for file2.txt, which would translate as the directory of file.php, or the current directory of a command-line user. Phar::interceptFileFuncs() instructs PHP to consider the current directory to be phar:///path/to/myphar.phar/ and so opens phar:///path/to/myphar.phar/file2.txt in the above example code.


Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

  • « Phar::interceptFileFuncs
  • Phar::isCompressed »
  • PHP Manual
  • Phar
  • Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Phar::isBuffering

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::isBuffering — Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

Açıklama

public Phar::isBuffering(): bool

This method can be used to determine whether a Phar will save changes to disk immediately, or whether a call to Phar::stopBuffering() is needed to enable saving changes.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the write operations are being buffer, false otherwise.

Örnekler

Örnek 1 A Phar::isBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p2 = new Phar('existingphar.phar');
$p['file1.txt'] = 'hi';
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>
=2=
<?php
$p->startBuffering();
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
$p->stopBuffering();
?>
=3=
<?php
var_dump($p->isBuffering());
var_dump($p2->isBuffering());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
=2=
bool(true)
bool(false)
=3=
bool(false)
bool(false)

Ayrıca Bakınız

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk


Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

  • « Phar::isBuffering
  • Phar::isFileFormat »
  • PHP Manual
  • Phar
  • Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Phar::isCompressed

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::isCompressed — Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)

Açıklama

public Phar::isCompressed(): int|false

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be compressed as a file, and so this method will always return false if a zip-based phar archive is queried.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Phar::GZ, Phar::BZ2 or false.

Örnekler

Örnek 1 A Phar::isCompressed() example

<?php
try {
$phar1 = new Phar('myphar.zip.phar');
var_dump($phar1->isCompressed());
$phar2 = new Phar('myuncompressed.tar.phar');
var_dump($phar2->isCompressed());
$phar2->compress(Phar::GZ);
var_dump($phar2->isCompressed() == Phar::GZ);
} catch (Exception $e) {
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

  • « Phar::isCompressed
  • Phar::isValidPharFilename »
  • PHP Manual
  • Phar
  • Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Phar::isFileFormat

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::isFileFormat — Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

Açıklama

public Phar::isFileFormat(int $format): bool

Bağımsız Değişkenler

format

Either Phar::PHAR, Phar::TAR, or Phar::ZIP to test for the format of the archive.

Dönen Değerler

Returns true if the phar archive matches the file format requested by the parameter

Hatalar/İstisnalar

PharException is thrown if the parameter is an unknown file format specifier.

Ayrıca Bakınız

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file


Returns whether the given filename is a valid phar filename

  • « Phar::isFileFormat
  • Phar::isWritable »
  • PHP Manual
  • Phar
  • Returns whether the given filename is a valid phar filename

Phar::isValidPharFilename

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

Phar::isValidPharFilename — Returns whether the given filename is a valid phar filename

Açıklama

final public static Phar::isValidPharFilename(string $filename, bool $executable = true): bool

Returns whether the given filename is a valid phar filename that will be recognized as a phar archive by the phar extension. This can be used to test a name without having to instantiate a phar archive and catch the inevitable Exception that will be thrown if an invalid name is specified.

Bağımsız Değişkenler

filename

The name or full path to a phar archive not yet created

executable

This parameter determines whether the filename should be treated as a phar executable archive, or a data non-executable archive

Dönen Değerler

Returns true if the filename is valid, false if not.


Returns true if the phar archive can be modified

  • « Phar::isValidPharFilename
  • Phar::loadPhar »
  • PHP Manual
  • Phar
  • Returns true if the phar archive can be modified

Phar::isWritable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::isWritable — Returns true if the phar archive can be modified

Açıklama

public Phar::isWritable(): bool

This method returns true if phar.readonly is 0, and the actual phar archive on disk is not read-only.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns true if the phar archive can be modified

Ayrıca Bakınız

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • PharData::isWritable() - Returns true if the tar/zip archive can be modified


Loads any phar archive with an alias

  • « Phar::isWritable
  • Phar::mapPhar »
  • PHP Manual
  • Phar
  • Loads any phar archive with an alias

Phar::loadPhar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::loadPhar — Loads any phar archive with an alias

Açıklama

final public static Phar::loadPhar(string $filename, ?string $alias = null): bool

This can be used to read the contents of an external Phar archive. This is most useful for assigning an alias to a phar so that subsequent references to the phar can use the shorter alias, or for loading Phar archives that only contain data and are not intended for execution/inclusion in PHP scripts.

Bağımsız Değişkenler

filename

the full or relative path to the phar archive to open

alias

The alias that may be used to refer to the phar archive. Note that many phar archives specify an explicit alias inside the phar archive, and a PharException will be thrown if a new alias is specified in this case.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PharException is thrown if an alias is passed in and the phar archive already has an explicit alias

Örnekler

Örnek 1 A Phar::loadPhar() example

Phar::loadPhar can be used anywhere to load an external Phar archive, whereas Phar::mapPhar should be used in a loader stub for a Phar.

<?php
try {
Phar::loadPhar('/path/to/phar.phar', 'my.phar');
echo file_get_contents('phar://my.phar/file.txt');
} catch (PharException $e) {
echo $e;
}
?>

Ayrıca Bakınız

  • Phar::mapPhar() - Reads the currently executed file (a phar) and registers its manifest


Reads the currently executed file (a phar) and registers its manifest

  • « Phar::loadPhar
  • Phar::mount »
  • PHP Manual
  • Phar
  • Reads the currently executed file (a phar) and registers its manifest

Phar::mapPhar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::mapPhar — Reads the currently executed file (a phar) and registers its manifest

Açıklama

final public static Phar::mapPhar(?string $alias = null, int $offset = 0): bool

This static method can only be used inside a Phar archive's loader stub in order to initialize the phar when it is directly executed, or when it is included in another script.

Bağımsız Değişkenler

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

offset

Unused variable, here for compatibility with PEAR's PHP_Archive.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PharException is thrown if not called directly within PHP execution, if no __HALT_COMPILER(); token is found in the current source file, or if the file cannot be opened for reading.

Örnekler

Örnek 1 A Phar::mapPhar() example

mapPhar should be used only inside a phar's loader stub. Use loadPhar to load an external phar into memory.

Here is a sample Phar loader stub that uses mapPhar.

<?php
function __autoload($class)
{
include 'phar://me.phar/' . str_replace('_', '/', $class) . '.php';
}
try {
Phar::mapPhar('me.phar');
include 'phar://me.phar/startup.php';
} catch (PharException $e) {
echo $e->getMessage();
die('Cannot initialize Phar');
}
__HALT_COMPILER();

Ayrıca Bakınız

  • Phar::loadPhar() - Loads any phar archive with an alias


Mount an external path or file to a virtual location within the phar archive

  • « Phar::mapPhar
  • Phar::mungServer »
  • PHP Manual
  • Phar
  • Mount an external path or file to a virtual location within the phar archive

Phar::mount

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::mount — Mount an external path or file to a virtual location within the phar archive

Açıklama

final public static Phar::mount(string $pharPath, string $externalPath): void

Much like the unix file system concept of mounting external devices to paths within the directory tree, Phar::mount() allows referring to external files and directories as if they were inside of an archive. This allows powerful abstraction such as referring to external configuration files as if they were inside the archive.

Bağımsız Değişkenler

pharPath

The internal path within the phar archive to use as the mounted path location. This must be a relative path within the phar archive, and must not already exist.

externalPath

A path or URL to an external file or directory to mount within the phar archive

Dönen Değerler

No return. PharException is thrown on failure.

Hatalar/İstisnalar

Throws PharException if any problems occur mounting the path.

Örnekler

Örnek 1 A Phar::mount() example

The following example shows accessing an external configuration file as if it were a path within a phar archive.

First, the code inside of a phar archive:

<?php
$configuration = simplexml_load_string(file_get_contents(
Phar::running(false) . '/config.xml'));
?>

Next the external code used to mount the configuration file:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
Phar::mount('phar://config.xml', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>

Another method is to put the mounting code inside the stub of the phar archive. Here is an example of setting up a default configuration file if no user configuration is specified:

<?php
// first set up the association between the abstract config.xml
// and the actual one on disk
if (defined('EXTERNAL_CONFIG')) {
Phar::mount('config.xml', EXTERNAL_CONFIG);
if (file_exists(__DIR__ . '/extra_config.xml')) {
Phar::mount('extra.xml', __DIR__ . '/extra_config.xml');
}
} else {
Phar::mount('config.xml', 'phar://' . __FILE__ . '/default_config.xml');
Phar::mount('extra.xml', 'phar://' . __FILE__ . '/default_extra.xml');
}
// now run the application
include 'phar://' . __FILE__ . '/index.php';
__HALT_COMPILER();
?>

...and the code externally to load this phar archive:

<?php
define('EXTERNAL_CONFIG', '/home/example/config.xml');
// now run the application
include '/path/to/archive.phar';
?>


Defines a list of up to 4 $_SERVER variables that should be modified for execution

  • « Phar::mount
  • Phar::offsetExists »
  • PHP Manual
  • Phar
  • Defines a list of up to 4 $_SERVER variables that should be modified for execution

Phar::mungServer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::mungServer — Defines a list of up to 4 $_SERVER variables that should be modified for execution

Açıklama

final public static Phar::mungServer(array $variables): void

Phar::mungServer() should only be called within the stub of a phar archive.

Defines a list of up to 4 $_SERVER variables that should be modified for execution. Variables that can be modified to remove traces of phar execution are REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME.

On its own, this method does nothing. Only when combined with Phar::webPhar() does it take effect, and only when the requested file is a PHP file to be parsed. Note that the PATH_INFO and PATH_TRANSLATED variables are always modified.

The original values of variables that are modified are stored in the SERVER array with PHAR_ prepended, so for instance SCRIPT_NAME would be saved as PHAR_SCRIPT_NAME.

Bağımsız Değişkenler

variables

An array of any of the strings REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME. Other values trigger an exception, and Phar::mungServer() is case-sensitive.

Dönen Değerler

No return.

Hatalar/İstisnalar

Throws UnexpectedValueException if any problems are found with the passed in data.

Örnekler

Örnek 1 A Phar::mungServer() example

<?php
// example stub
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>

Ayrıca Bakınız

  • Phar::webPhar() - Routes a request from a web browser to an internal file within the phar archive
  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive


Determines whether a file exists in the phar

  • « Phar::mungServer
  • Phar::offsetGet »
  • PHP Manual
  • Phar
  • Determines whether a file exists in the phar

Phar::offsetExists

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::offsetExists — Determines whether a file exists in the phar

Açıklama

public Phar::offsetExists(string $localName): bool

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets.

offsetExists() is called whenever isset() is called.

Bağımsız Değişkenler

localName

The filename (relative path) to look for in a Phar.

Dönen Değerler

Returns true if the file exists within the phar, or false if not.

Örnekler

Örnek 1 A Phar::offsetExists() example

<?php
$p = new Phar(dirname(__FILE__) . '/my.phar', 0, 'my.phar');
$p['firstfile.txt'] = 'first file';
$p['secondfile.txt'] = 'second file';
// the next set of lines call offsetExists() indirectly
var_dump(isset($p['firstfile.txt']));
var_dump(isset($p['nothere.txt']));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - Remove a file from a phar


Gets a PharFileInfo object for a specific file

  • « Phar::offsetExists
  • Phar::offsetSet »
  • PHP Manual
  • Phar
  • Gets a PharFileInfo object for a specific file

Phar::offsetGet

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::offsetGet — Gets a PharFileInfo object for a specific file

Açıklama

public Phar::offsetGet(string $localName): SplFileInfo

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. Phar::offsetGet() is used for retrieving files from a Phar archive.

Bağımsız Değişkenler

localName

The filename (relative path) to look for in a Phar.

Dönen Değerler

A PharFileInfo object is returned that can be used to iterate over a file's contents or to retrieve information about the current file.

Hatalar/İstisnalar

This method throws BadMethodCallException if the file does not exist in the Phar archive.

Örnekler

Örnek 1 Phar::offsetGet() example

As with all classes that implement the ArrayAccess interface, Phar::offsetGet() is automatically called when using the [] angle bracket operator.

<?php
$p = new Phar(dirname(__FILE__) . '/myphar.phar', 0, 'myphar.phar');
$p['exists.txt'] = "file exists\n";
try {
// automatically calls offsetGet()
echo $p['exists.txt'];
echo $p['doesnotexist.txt'];
} catch (BadMethodCallException $e) {
echo $e;
}
?>

Yukarıdaki örneğin çıktısı:

file exists
Entry doesnotexist.txt does not exist

Ayrıca Bakınız

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::offsetUnset() - Remove a file from a phar


Set the contents of an internal file to those of an external file

  • « Phar::offsetGet
  • Phar::offsetUnset »
  • PHP Manual
  • Phar
  • Set the contents of an internal file to those of an external file

Phar::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::offsetSet — Set the contents of an internal file to those of an external file

Açıklama

public Phar::offsetSet(string $localName, resource|string $value): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a Phar archive.

Bağımsız Değişkenler

localName

The filename (relative path) to modify in a Phar.

value

Content of the file.

Dönen Değerler

No return values.

Hatalar/İstisnalar

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Örnekler

Örnek 1 A Phar::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
// calls offsetSet
$p['file.txt'] = 'Hi there';
} catch (Exception $e) {
echo 'Could not modify file.txt:', $e;
}
?>

Notlar

Bilginize:
Phar::addFile(),
Phar::addFromString() ve
Phar::offsetSet() her çağrıldıklarında yeni bir phar
arşivi kaydeder. Başarım önemliyse, yerlerine
Phar::buildFromDirectory() veya
Phar::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetUnset() - Remove a file from a phar


Remove a file from a phar

  • « Phar::offsetSet
  • Phar::running »
  • PHP Manual
  • Phar
  • Remove a file from a phar

Phar::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::offsetUnset — Remove a file from a phar

Açıklama

public Phar::offsetUnset(string $localName): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a Phar archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Bağımsız Değişkenler

localName

The filename (relative path) to modify in a Phar.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

if phar.readonly is 1, BadMethodCallException is thrown, as modifying a Phar is only allowed when phar.readonly is set to 0. Throws PharException if there are any problems flushing changes made to the Phar archive to disk.

Örnekler

Örnek 1 A Phar::offsetUnset() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
try {
// deletes file.txt from my.phar by calling offsetUnset
unset($p['file.txt']);
} catch (Exception $e) {
echo 'Could not delete file.txt: ', $e;
}
?>

Ayrıca Bakınız

  • Phar::offsetExists() - Determines whether a file exists in the phar
  • Phar::offsetGet() - Gets a PharFileInfo object for a specific file
  • Phar::offsetSet() - Set the contents of an internal file to those of an external file
  • Phar::unlinkArchive() - Completely remove a phar archive from disk and from memory
  • Phar::delete() - Delete a file within a phar archive


Returns the full path on disk or full phar URL to the currently executing Phar archive

  • « Phar::offsetUnset
  • Phar::setAlias »
  • PHP Manual
  • Phar
  • Returns the full path on disk or full phar URL to the currently executing Phar archive

Phar::running

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::running — Returns the full path on disk or full phar URL to the currently executing Phar archive

Açıklama

final public static Phar::running(bool $returnPhar = true): string

Returns the full path to the running phar archive. This is intended for use much like the __FILE__ magic constant, and only has effect inside an executing phar archive.

Inside the stub of an archive, Phar::running() returns "". Simply use __FILE__ to access the current running phar inside a stub.

Bağımsız Değişkenler

returnPhar

If false, the full path on disk to the phar archive is returned. If true, a full phar URL is returned.

Dönen Değerler

Returns the filename if valid, empty string otherwise.

Örnekler

Örnek 1 A Phar::running() example

For the following example, assume the phar archive is located at /path/to/phar/my.phar.

<?php
$a = Phar::running(); // $a is "phar:///path/to/my.phar"
$b = Phar::running(false); // $b is "/path/to/my.phar"
?>


Set the alias for the Phar archive

  • « Phar::running
  • Phar::setDefaultStub »
  • PHP Manual
  • Phar
  • Set the alias for the Phar archive

Phar::setAlias

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.1)

Phar::setAlias — Set the alias for the Phar archive

Açıklama

public Phar::setAlias(string $alias): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Set the alias for the Phar archive, and write it as the permanent alias for this phar archive. An alias can be used internally to a phar archive to ensure that use of the phar stream wrapper to access internal files always works regardless of the location of the phar archive on the filesystem. Another alternative is to rely upon Phar's interception of include or to use Phar::interceptFileFuncs() and use relative paths.

Bağımsız Değişkenler

alias

A shorthand string that this archive can be referred to in phar stream wrapper access.

Dönen Değerler

Hatalar/İstisnalar

Throws UnexpectedValueException when write access is disabled, and PharException if the alias is already in use or any problems were encountered flushing changes to disk.

Örnekler

Örnek 1 A Phar::setAlias() example

<?php
try {
$phar = new Phar('myphar.phar');
$phar->setAlias('myp.phar');
} catch (Exception $e) {
// handle error
}
?>

Ayrıca Bakınız

  • Phar::__construct() - Construct a Phar archive object
  • Phar::interceptFileFuncs() - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions


Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

  • « Phar::setAlias
  • Phar::setMetadata »
  • PHP Manual
  • Phar
  • Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Phar::setDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::setDefaultStub — Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader

Açıklama

public Phar::setDefaultStub(?string $index = null, ?string $webIndex = null): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This method is a convenience method that combines the functionality of Phar::createDefaultStub() and Phar::setStub().

Bağımsız Değişkenler

index

Relative path within the phar archive to run if accessed on the command-line

webIndex

Relative path within the phar archive to run if accessed through a web browser

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | webIndex is nullable now.

Örnekler

Örnek 1 A Phar::setDefaultStub() example

<?php
try {
$phar = new Phar('myphar.phar');
$phar->setDefaultStub('cli.php', 'web/index.php');
// this is the same as:
// $phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
} catch (Exception $e) {
// handle errors
}
?>

Ayrıca Bakınız

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Sets phar archive meta-data

  • « Phar::setDefaultStub
  • Phar::setSignatureAlgorithm »
  • PHP Manual
  • Phar
  • Sets phar archive meta-data

Phar::setMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::setMetadata — Sets phar archive meta-data

Açıklama

public Phar::setMetadata(mixed $metadata): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Bağımsız Değişkenler

metadata

Any PHP variable containing information to store that describes the phar archive

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.php'] = '<?php echo "hello"';
$p->setMetadata(array('bootstrap' => 'file.php'));
var_dump($p->getMetadata());
} catch (Exception $e) {
echo 'Could not create and/or modify phar:', $e;
}
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Ayrıca Bakınız

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Set the signature algorithm for a phar and apply it

  • « Phar::setMetadata
  • Phar::setStub »
  • PHP Manual
  • Phar
  • Set the signature algorithm for a phar and apply it

Phar::setSignatureAlgorithm

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0)

Phar::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it

Açıklama

public Phar::setSignatureAlgorithm(int $algo, ?string $privateKey = null): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Note that all executable phar archives have a signature created automatically, SHA1 by default. data tar- or zip-based archives (archives created with the PharData class) must have their signature created and set explicitly via Phar::setSignatureAlgorithm().

Bağımsız Değişkenler

algo

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

privateKey

The contents of an OpenSSL private key, as extracted from a certificate or OpenSSL key file:

<?php
$private = openssl_get_privatekey(file_get_contents('private.pem'));
$pkey = '';
openssl_pkey_export($private, $pkey);
$p->setSignatureAlgorithm(Phar::OPENSSL, $pkey);
?>
See phar introduction for instructions on naming and placement of the public key file.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws UnexpectedValueException for many errors, and a PharException if any problems occur flushing changes to disk.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | privateKey is now nullable.

Ayrıca Bakınız

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive


Used to set the PHP loader or bootstrap stub of a Phar archive

  • « Phar::setSignatureAlgorithm
  • Phar::startBuffering »
  • PHP Manual
  • Phar
  • Used to set the PHP loader or bootstrap stub of a Phar archive

Phar::setStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::setStub — Used to set the PHP loader or bootstrap stub of a Phar archive

Açıklama

public Phar::setStub(resource|string $stub, int $length = -1): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This method is used to add a PHP bootstrap loader stub to a new Phar archive, or to replace the loader stub in an existing Phar archive.

The loader stub for a Phar archive is used whenever an archive is included directly as in this example:

<?php
include 'myphar.phar';
?>

The loader is not accessed when including a file through the phar stream wrapper like so:

<?php
include 'phar://myphar.phar/somefile.php';
?>

Bağımsız Değişkenler

stub

A string or an open stream handle to use as the executable stub for this phar archive.

length

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

UnexpectedValueException is thrown if phar.readonly is enabled in php.ini. PharException is thrown if any problems are encountered flushing changes to disk.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling Phar::setStub() with a resource and a length is now deprecated. Such calls should be replaced by: $phar->setStub(stream_get_contents($resource));

Örnekler

Örnek 1 A Phar::setStub() example

<?php
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['a.php'] = '<?php var_dump("Hello");';
$p->setStub('<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
include 'phar://brandnewphar.phar/a.php';
var_dump($p->getStub());
$p['b.php'] = '<?php var_dump("World");';
$p->setStub('<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>');
include 'phar://brandnewphar.phar/b.php';
var_dump($p->getStub());
} catch (Exception $e) {
echo 'Write operations failed on brandnewphar.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

string(5) "Hello"
string(82) "<?php var_dump("First"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"
string(5) "World"
string(83) "<?php var_dump("Second"); Phar::mapPhar("brandnewphar.phar"); __HALT_COMPILER(); ?>"

Ayrıca Bakınız

  • Phar::getStub() - Return the PHP loader or bootstrap stub of a Phar archive
  • Phar::createDefaultStub() - Create a phar-file format specific stub


Start buffering Phar write operations, do not modify the Phar object on disk

  • « Phar::setStub
  • Phar::stopBuffering »
  • PHP Manual
  • Phar
  • Start buffering Phar write operations, do not modify the Phar object on disk

Phar::startBuffering

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::startBuffering — Start buffering Phar write operations, do not modify the Phar object on disk

Açıklama

public Phar::startBuffering(): void

Although technically unnecessary, the Phar::startBuffering() method can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. the Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A Phar::startBuffering() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
} catch (Exception $e) {
echo 'Could not create phar:', $e;
}
echo 'The new phar has ' . $p->count() . " entries\n";
$p->startBuffering();
$p['file.txt'] = 'hi';
$p['file2.txt'] = 'there';
$p['file2.txt']->setCompressedGZ();
$p['file3.txt'] = 'babyface';
$p['file3.txt']->setMetadata(42);
$p->setStub("<?php
function __autoload($class)
{
include 'phar://myphar.phar/' . str_replace('_', '/', $class) . '.php';
}
Phar::mapPhar('myphar.phar');
include 'phar://myphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
?>

Ayrıca Bakınız

  • Phar::stopBuffering() - Stop buffering write requests to the Phar archive, and save changes to disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk


Stop buffering write requests to the Phar archive, and save changes to disk

  • « Phar::startBuffering
  • Phar::unlinkArchive »
  • PHP Manual
  • Phar
  • Stop buffering write requests to the Phar archive, and save changes to disk

Phar::stopBuffering

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Phar::stopBuffering — Stop buffering write requests to the Phar archive, and save changes to disk

Açıklama

public Phar::stopBuffering(): void

Phar::stopBuffering() is used in conjunction with the Phar::startBuffering() method. Phar::startBuffering() can provide a significant performance boost when creating or modifying a Phar archive with a large number of files. Ordinarily, every time a file within a Phar archive is created or modified in any way, the entire Phar archive will be recreated with the changes. In this way, the archive will be up-to-date with the activity performed on it.

However, this can be unnecessary when simply creating a new Phar archive, when it would make more sense to write the entire archive out at once. Similarly, it is often necessary to make a series of changes and to ensure that they all are possible before making any changes on disk, similar to the relational database concept of transactions. The Phar::startBuffering()/Phar::stopBuffering() pair of methods is provided for this purpose.

Phar write buffering is per-archive, buffering active for the foo.phar Phar archive does not affect changes to the bar.phar Phar archive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

PharException is thrown if any problems are encountered flushing changes to disk.

Örnekler

Örnek 1 A Phar::stopBuffering() example

<?php
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file1.txt'] = 'hi';
$p->startBuffering();
var_dump($p->getStub());
$p->setStub("<?php
function __autoload(\$class)
{
include 'phar://brandnewphar.phar/' . str_replace('_', '/', \$class) . '.php';
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();");
$p->stopBuffering();
var_dump($p->getStub());
?>

Yukarıdaki örneğin çıktısı:

string(24) "<?php __HALT_COMPILER();"
string(195) "<?php
function __autoload($class)
{
    include 'phar://' . str_replace('_', '/', $class);
}
Phar::mapPhar('brandnewphar.phar');
include 'phar://brandnewphar.phar/startup.php';
__HALT_COMPILER();"

Ayrıca Bakınız

  • Phar::startBuffering() - Start buffering Phar write operations, do not modify the Phar object on disk
  • Phar::isBuffering() - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk


Completely remove a phar archive from disk and from memory

  • « Phar::stopBuffering
  • Phar::webPhar »
  • PHP Manual
  • Phar
  • Completely remove a phar archive from disk and from memory

Phar::unlinkArchive

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::unlinkArchive — Completely remove a phar archive from disk and from memory

Açıklama

final public static Phar::unlinkArchive(string $filename): bool

Removes a phar archive from disk and memory.

Bağımsız Değişkenler

filename

The path on disk to the phar archive.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PharException is thrown if there are any open file pointers to the phar archive, or any existing Phar, PharData, or PharFileInfo objects referring to the phar archive.

Örnekler

Örnek 1 A Phar::unlinkArchive() example

<?php
// simple usage
Phar::unlinkArchive('/path/to/my.phar');

// more common example:
$p = new Phar('my.phar');
$fp = fopen('phar://my.phar/file.txt', 'r');
// this creates 'my.phar.gz'
$gp = $p->compress(Phar::GZ);
// remove all references to the archive
unset($p);
fclose($fp);
// now remove all traces of the archive
Phar::unlinkArchive('my.phar');
?>

Ayrıca Bakınız

  • Phar::delete() - Delete a file within a phar archive
  • Phar::offsetUnset() - Remove a file from a phar


Routes a request from a web browser to an internal file within the phar archive

  • « Phar::unlinkArchive
  • PharData »
  • PHP Manual
  • Phar
  • Routes a request from a web browser to an internal file within the phar archive

Phar::webPhar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::webPhar — Routes a request from a web browser to an internal file within the phar archive

Açıklama

final public static Phar::webPhar(
?string $alias = null,
?string $index = null,
?string $fileNotFoundScript = null,
array $mimeTypes = [],
?callable $rewrite = null
): void

Phar::webPhar() serves as Phar::mapPhar() for web-based phars. This method parses $_SERVER['REQUEST_URI'] and routes a request from a web browser to an internal file within the phar archive. It simulates a web server, routing requests to the correct file, echoing the correct headers and parsing PHP files as needed. Combined with Phar::mungServer() and Phar::interceptFileFuncs(), any web application can be used unmodified from a phar archive.

Phar::webPhar() should only be called from the stub of a phar archive (see here for more information on what a stub is).

Bağımsız Değişkenler

alias

The alias that can be used in phar:// URLs to refer to this archive, rather than its full path.

index

The location within the phar of the directory index.

fileNotFoundScript

The location of the script to run when a file is not found. This script should output the proper HTTP 404 headers.

mimeTypes

An array mapping additional file extensions to MIME type. If the default mapping is sufficient, pass an empty array. By default, these extensions are mapped to these MIME types:

<?php
$mimes = array(
'phps' => Phar::PHPS, // pass to highlight_file()
'c' => 'text/plain',
'cc' => 'text/plain',
'cpp' => 'text/plain',
'c++' => 'text/plain',
'dtd' => 'text/plain',
'h' => 'text/plain',
'log' => 'text/plain',
'rng' => 'text/plain',
'txt' => 'text/plain',
'xsd' => 'text/plain',
'php' => Phar::PHP, // parse as PHP
'inc' => Phar::PHP, // parse as PHP
'avi' => 'video/avi',
'bmp' => 'image/bmp',
'css' => 'text/css',
'gif' => 'image/gif',
'htm' => 'text/html',
'html' => 'text/html',
'htmls' => 'text/html',
'ico' => 'image/x-ico',
'jpe' => 'image/jpeg',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'js' => 'application/x-javascript',
'midi' => 'audio/midi',
'mid' => 'audio/midi',
'mod' => 'audio/mod',
'mov' => 'movie/quicktime',
'mp3' => 'audio/mp3',
'mpg' => 'video/mpeg',
'mpeg' => 'video/mpeg',
'pdf' => 'application/pdf',
'png' => 'image/png',
'swf' => 'application/shockwave-flash',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'wav' => 'audio/wav',
'xbm' => 'image/xbm',
'xml' => 'text/xml',
);
?>

rewrite

The rewrites function is passed a string as its only parameter and must return a string or false.

If you are using fast-cgi or cgi then the parameter passed to the function is the value of the $_SERVER['PATH_INFO'] variable. Otherwise, the parameter passed to the function is the value of the $_SERVER['REQUEST_URI'] variable.

If a string is returned it is used as the internal file path. If false is returned then webPhar() will send a HTTP 403 Denied Code.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws PharException when unable to open the internal file to output, or if called from a non-stub. If an invalid array value is passed into mimeTypes or an invalid callback is passed into rewrite, then UnexpectedValueException is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | fileNotFoundScript and rewrite are nullable now.

Örnekler

Örnek 1 A Phar::webPhar() example

With the example below, the created phar will display Hello World if one browses to /myphar.phar/index.php or to /myphar.phar, and will display the source of index.phps if one browses to /myphar.phar/index.phps.

<?php
// creating the phar archive:
try {
$phar = new Phar('myphar.phar');
$phar['index.php'] = '<?php echo "Hello World"; ?>';
$phar['index.phps'] = '<?php echo "Hello World"; ?>';
$phar->setStub('<?php
Phar::webPhar();
__HALT_COMPILER(); ?>');
} catch (Exception $e) {
// handle error here
}
?>

Ayrıca Bakınız

  • Phar::mungServer() - Defines a list of up to 4 $_SERVER variables that should be modified for execution
  • Phar::interceptFileFuncs() - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions


The PharData class

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Giriş

The PharData class provides a high-level interface to accessing and creating non-executable tar and zip archives. Because these archives do not contain a stub and cannot be executed by the phar extension, it is possible to create and manipulate regular zip and tar files using the PharData class even if phar.readonly php.ini setting is 1.

Sınıf Sözdizimi

class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
/* Miras alınan sabitler */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Yöntemler */
public __construct(
string $filename,
int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
?string $alias = null,
int $format = 0
)
public addEmptyDir(string $directory): void
public addFile(string $filename, ?string $localName = null): void
public addFromString(string $localName, string $contents): void
public buildFromDirectory(string $directory, string $pattern = ""): array
public buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array
public compress(int $compression, ?string $extension = null): ?PharData
public compressFiles(int $compression): void
public convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData
public convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar
public copy(string $from, string $to): bool
public decompress(?string $extension = null): ?PharData
public decompressFiles(): bool
public delMetadata(): bool
public delete(string $localName): bool
public extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool
public isWritable(): bool
public offsetSet(string $localName, resource|string $value): void
public offsetUnset(string $localName): void
public setAlias(string $alias): bool
public setDefaultStub(?string $index = null, ?string $webIndex = null): bool
public setMetadata(mixed $metadata): void
public setSignatureAlgorithm(int $algo, ?string $privateKey = null): void
public setStub(string $stub, int $len = -1): bool
public __destruct()
/* Miras alınan yöntemler */
public RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator
public RecursiveDirectoryIterator::getSubPath(): string
public RecursiveDirectoryIterator::getSubPathname(): string
public RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool
public RecursiveDirectoryIterator::key(): string
public RecursiveDirectoryIterator::next(): void
public RecursiveDirectoryIterator::rewind(): void
public FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator
public FilesystemIterator::getFlags(): int
public FilesystemIterator::key(): string
public FilesystemIterator::next(): void
public FilesystemIterator::rewind(): void
public FilesystemIterator::setFlags(int $flags): void
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string $suffix = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int $offset): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • PharData::addEmptyDir — Add an empty directory to the tar/zip archive
  • PharData::addFile — Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString — Add a file from a string to the tar/zip archive
  • PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory
  • PharData::buildFromIterator — Construct a tar or zip archive from an iterator
  • PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::compressFiles — Compresses all files in the current tar/zip archive
  • PharData::__construct — Construct a non-executable tar or zip archive object
  • PharData::convertToData — Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive
  • PharData::copy — Copy a file internal to the phar archive to another new file within the phar
  • PharData::decompress — Decompresses the entire Phar archive
  • PharData::decompressFiles — Decompresses all files in the current zip archive
  • PharData::delMetadata — Deletes the global metadata of a zip archive
  • PharData::delete — Delete a file within a tar/zip archive
  • PharData::__destruct — Destructs a non-executable tar or zip archive object
  • PharData::extractTo — Extract the contents of a tar/zip archive to a directory
  • PharData::isWritable — Returns true if the tar/zip archive can be modified
  • PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string
  • PharData::offsetUnset — Remove a file from a tar/zip archive
  • PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)
  • PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)
  • PharData::setMetadata — Sets phar archive meta-data
  • PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it
  • PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)


Add an empty directory to the tar/zip archive

  • « PharData
  • PharData::addFile »
  • PHP Manual
  • PharData
  • Add an empty directory to the tar/zip archive

PharData::addEmptyDir

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::addEmptyDir — Add an empty directory to the tar/zip archive

Açıklama

public PharData::addEmptyDir(string $directory): void

With this method, an empty directory is created with path dirname. This method is similar to ZipArchive::addEmptyDir().

Bağımsız Değişkenler

directory

The name of the empty directory to create in the phar archive

Dönen Değerler

no return value, exception is thrown on failure.

Örnekler

Örnek 1 A PharData::addEmptyDir() example

<?php
try {
$a = new PharData('/path/to/my.tar');

$a->addEmptyDir('/full/path/to/file');
// demonstrates how this file is stored
$b = $a['full/path/to/file']->isDir();
} catch (Exception $e) {
// handle errors here
}
?>

Ayrıca Bakınız

  • Phar::addEmptyDir() - Add an empty directory to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addFromString() - Add a file from a string to the tar/zip archive


Add a file from the filesystem to the tar/zip archive

  • « PharData::addEmptyDir
  • PharData::addFromString »
  • PHP Manual
  • PharData
  • Add a file from the filesystem to the tar/zip archive

PharData::addFile

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::addFile — Add a file from the filesystem to the tar/zip archive

Açıklama

public PharData::addFile(string $filename, ?string $localName = null): void

With this method, any file or URL can be added to the tar/zip archive. If the optional second parameter localname is specified, the file will be stored in the archive with that name, otherwise the file parameter is used as the path to store within the archive. URLs must have a localname or an exception is thrown. This method is similar to ZipArchive::addFile().

Bağımsız Değişkenler

filename

Full or relative path to a file on disk to be added to the phar archive.

localName

Path that the file will be stored in the archive.

Dönen Değerler

no return value, exception is thrown on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | localName is now nullable.

Örnekler

Örnek 1 A PharData::addFile() example

<?php
try {
$a = new PharData('/path/to/my.tar');

$a->addFile('/full/path/to/file');
// demonstrates how this file is stored
$b = $a['full/path/to/file']->getContent();

$a->addFile('/full/path/to/file', 'my/file.txt');
$c = $a['my/file.txt']->getContent();

// demonstrate URL usage
$a->addFile('http://www.example.com', 'example.html');
} catch (Exception $e) {
// handle errors here
}
?>

Notlar

Bilginize:
PharData::addFile(),
PharData::addFromString() ve
PharData::offsetSet() her çağrıldıklarında yeni
bir phar arşivi kaydeder. Başarım önemliyse, yerlerine
PharData::buildFromDirectory() veya
PharData::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • PharData::offsetSet() - Set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFile() - Add a file from the filesystem to the phar archive
  • PharData::addFromString() - Add a file from a string to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive


Add a file from a string to the tar/zip archive

  • « PharData::addFile
  • PharData::buildFromDirectory »
  • PHP Manual
  • PharData
  • Add a file from a string to the tar/zip archive

PharData::addFromString

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::addFromString — Add a file from a string to the tar/zip archive

Açıklama

public PharData::addFromString(string $localName, string $contents): void

With this method, any string can be added to the tar/zip archive. The file will be stored in the archive with localname as its path. This method is similar to ZipArchive::addFromString().

Bağımsız Değişkenler

localName

Path that the file will be stored in the archive.

contents

The file contents to store

Dönen Değerler

no return value, exception is thrown on failure.

Örnekler

Örnek 1 A PharData::addFromString() example

<?php
try {
$a = new PharData('/path/to/my.tar');

$a->addFromString('path/to/file.txt', 'my simple file');
$b = $a['path/to/file.txt']->getContent();

// to add contents from a stream handle for large files, use offsetSet()
$c = fopen('/path/to/hugefile.bin');
$a['largefile.bin'] = $c;
fclose($c);
} catch (Exception $e) {
// handle errors here
}
?>

Notlar

Bilginize:
PharData::addFile(),
PharData::addFromString() ve
PharData::offsetSet() her çağrıldıklarında yeni
bir phar arşivi kaydeder. Başarım önemliyse, yerlerine
PharData::buildFromDirectory() veya
PharData::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • PharData::offsetSet() - Set the contents of a file within the tar/zip to those of an external file or string
  • Phar::addFromString() - Add a file from a string to the phar archive
  • PharData::addFile() - Add a file from the filesystem to the tar/zip archive
  • PharData::addEmptyDir() - Add an empty directory to the tar/zip archive


Construct a tar/zip archive from the files within a directory

  • « PharData::addFromString
  • PharData::buildFromIterator »
  • PHP Manual
  • PharData
  • Construct a tar/zip archive from the files within a directory

PharData::buildFromDirectory

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::buildFromDirectory — Construct a tar/zip archive from the files within a directory

Açıklama

public PharData::buildFromDirectory(string $directory, string $pattern = ""): array

Populate a tar/zip archive from directory contents. The optional second parameter is a regular expression (pcre) that is used to exclude files. Any filename that matches the regular expression will be included, all others will be excluded. For more fine-grained control, use PharData::buildFromIterator().

Bağımsız Değişkenler

directory

The full or relative path to the directory that contains all files to add to the archive.

pattern

An optional pcre regular expression that is used to filter the list of files. Only file paths matching the regular expression will be included in the archive.

Dönen Değerler

Phar::buildFromDirectory() returns an associative array mapping internal path of file to the full path of the file on the filesystem, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to instantiate the internal directory iterators, or a PharException if there were errors saving the phar archive.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | PharData::buildFromDirectory() no longer returns false.

Örnekler

Örnek 1 A PharData::buildFromDirectory() example

<?php
$phar = new PharData('project.tar');
// add all files in the project
$phar->buildFromDirectory(dirname(__FILE__) . '/project');

$phar2 = new PharData('project2.zip');
// add all files in the project, only include php files
$phar2->buildFromDirectory(dirname(__FILE__) . '/project', '/\.php$/');
?>

Ayrıca Bakınız

  • Phar::buildFromDirectory() - Construct a phar archive from the files within a directory
  • PharData::buildFromIterator() - Construct a tar or zip archive from an iterator


Construct a tar or zip archive from an iterator

  • « PharData::buildFromDirectory
  • PharData::compress »
  • PHP Manual
  • PharData
  • Construct a tar or zip archive from an iterator

PharData::buildFromIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::buildFromIterator — Construct a tar or zip archive from an iterator

Açıklama

public PharData::buildFromIterator(Traversable $iterator, ?string $baseDirectory = null): array

Populate a tar or zip archive from an iterator. Two styles of iterators are supported, iterators that map the filename within the tar/zip to the name of a file on disk, and iterators like DirectoryIterator that return SplFileInfo objects. For iterators that return SplFileInfo objects, the second parameter is required.

Bağımsız Değişkenler

iterator

Any iterator that either associatively maps tar/zip file to location or returns SplFileInfo objects

baseDirectory

For iterators that return SplFileInfo objects, the portion of each file's full path to remove when adding to the tar/zip archive

Dönen Değerler

PharData::buildFromIterator() returns an associative array mapping internal path of file to the full path of the file on the filesystem.

Hatalar/İstisnalar

This method returns UnexpectedValueException when the iterator returns incorrect values, such as an integer key instead of a string, a BadMethodCallException when an SplFileInfo-based iterator is passed without a baseDirectory parameter, or a PharException if there were errors saving the phar archive.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | PharData::buildFromIterator() no longer returns false.
8.0.0 | baseDirectory is now nullable.

Örnekler

Örnek 1 A PharData::buildFromIterator() with SplFileInfo

For most tar/zip archives, the archive will reflect an actual directory layout, and the second style is the most useful. For instance, to create a tar/zip archive containing the files in this sample directory layout:

/path/to/project/
                 config/
                        dist.xml
                        debug.xml
                 lib/
                     file1.php
                     file2.php
                 src/
                     processthing.php
                 www/
                     index.php
                 cli/
                     index.php

This code could be used to add these files to the "project.tar" tar archive:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/path/to/project')),
'/path/to/project');
?>

The file project.tar can then be used immediately. PharData::buildFromIterator() does not set values such as compression, metadata, and this can be done after creating the tar/zip archive.

As an interesting note, PharData::buildFromIterator() can also be used to copy the contents of an existing phar, tar or zip archive, as the PharData object descends from DirectoryIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
new RecursiveIteratorIterator(
new Phar('/path/to/anotherphar.phar')),
'phar:///path/to/anotherphar.phar/path/to/project');
$phar->setStub($phar->createDefaultStub('cli/index.php', 'www/index.php'));
?>

Örnek 2 A PharData::buildFromIterator() with other iterators

The second form of the iterator can be used with any iterator that returns a key => value mapping, such as an ArrayIterator:

<?php
$phar = new PharData('project.tar');
$phar->buildFromIterator(
new ArrayIterator(
array(
'internal/file.php' => dirname(__FILE__) . '/somefile.php',
'another/file.jpg' => fopen('/path/to/bigfile.jpg', 'rb'),
)));
?>

Ayrıca Bakınız

  • Phar::buildFromIterator() - Construct a phar archive from an iterator


Compresses the entire tar/zip archive using Gzip or Bzip2 compression

  • « PharData::buildFromIterator
  • PharData::compressFiles »
  • PHP Manual
  • PharData
  • Compresses the entire tar/zip archive using Gzip or Bzip2 compression

PharData::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::compress — Compresses the entire tar/zip archive using Gzip or Bzip2 compression

Açıklama

public PharData::compress(int $compression, ?string $extension = null): ?PharData

For tar archives, this method compresses the entire archive using gzip compression or bzip2 compression. The resulting file can be processed with the gunzip command/bunzip command, or accessed directly and transparently with the Phar extension.

For zip archives, this method fails with an exception. The zlib extension must be enabled to compress with gzip compression, the bzip2 extension must be enabled in order to compress with bzip2 compression.

In addition, this method automatically renames the archive, appending .gz, .bz2 or removing the extension if passed Phar::NONE to remove compression. Alternatively, a file extension may be specified with the second parameter.

Bağımsız Değişkenler

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

extension

By default, the extension is .tar.gz or .tar.bz2 for compressing a tar, and .tar for decompressing.

Dönen Değerler

A PharData object is returned on success, or null on failure.

Hatalar/İstisnalar

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | extension is now nullable.

Örnekler

Örnek 1 A PharData::compress() example

<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>

Ayrıca Bakınız

  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression


Compresses all files in the current tar/zip archive

  • « PharData::compress
  • PharData::__construct »
  • PHP Manual
  • PharData
  • Compresses all files in the current tar/zip archive

PharData::compressFiles

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::compressFiles — Compresses all files in the current tar/zip archive

Açıklama

public PharData::compressFiles(int $compression): void

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method compresses all files in the archive using the specified compression. The zlib or bzip2 extensions must be enabled to take advantage of this feature. In addition, if any files are already compressed using bzip2/zlib compression, the respective extension must be enabled in order to decompress the files prior to re-compressing.

Bağımsız Değişkenler

compression

Compression must be one of Phar::GZ, Phar::BZ2 to add compression, or Phar::NONE to remove compression.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Örnekler

Örnek 1 A PharData::compressFiles() example

<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>

Yukarıdaki örneğin çıktısı:

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::decompressFiles() - Decompresses all files in the current zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive


Construct a non-executable tar or zip archive object

  • « PharData::compressFiles
  • PharData::convertToData »
  • PHP Manual
  • PharData
  • Construct a non-executable tar or zip archive object

PharData::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::__construct — Construct a non-executable tar or zip archive object

Açıklama

public PharData::__construct(
string $filename,
int $flags = FilesystemIterator::SKIP_DOTS | FilesystemIterator::UNIX_PATHS,
?string $alias = null,
int $format = 0
)

Bağımsız Değişkenler

filename

Path to an existing tar/zip archive or to-be-created archive

flags

Flags to pass to Phar parent class RecursiveDirectoryIterator.

alias

Alias with which this Phar archive should be referred to in calls to stream functionality.

format

One of the file format constants available within the Phar class.

Hatalar/İstisnalar

Throws BadMethodCallException if called twice; UnexpectedValueException if the Phar archive can't be opened.

Örnekler

Örnek 1 A PharData::__construct() example

<?php
try {
$p = new PharData('/path/to/my.tar', Phar::CURRENT_AS_FILEINFO | Phar::KEY_AS_FILENAME);
} catch (UnexpectedValueException $e) {
die('Could not open my.tar');
} catch (BadMethodCallException $e) {
echo 'technically, this cannot happen';
}
echo file_get_contents('phar:///path/to/my.tar/example.txt');
?>


Convert a phar archive to a non-executable tar or zip file

  • « PharData::__construct
  • PharData::convertToExecutable »
  • PHP Manual
  • PharData
  • Convert a phar archive to a non-executable tar or zip file

PharData::convertToData

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::convertToData — Convert a phar archive to a non-executable tar or zip file

Açıklama

public PharData::convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData

This method is used to convert a non-executable tar or zip archive to another non-executable format.

If no changes are specified, this method throws a BadMethodCallException. This method should be used to convert a tar archive to zip format or vice-versa. Although it is possible to simply change the compression of a tar archive using this method, it is better to use the PharData::compress() method for logical consistency.

If successful, the method creates a new archive on disk and returns a PharData object. The old archive is not removed from disk, and should be done manually after the process has finished.

Bağımsız Değişkenler

format

This should be one of Phar::TAR or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that .phar cannot be used anywhere in the filename for a non-executable tar or zip archive.

If converting to a tar-based phar archive, the default extensions are .tar, .tar.gz, and .tar.bz2 depending on specified compression. For zip-based archives, the default extension is .zip.

Dönen Değerler

The method returns a PharData object on success, or null on failure.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), and a PharException if any problems are encountered during the phar creation process.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | format, compression, and extension are now nullable.

Örnekler

Örnek 1 A PharData::convertToData() example

Using PharData::convertToData():

<?php
try {
$tarphar = new PharData('myphar.tar');
// note that myphar.tar is *not* unlinked
// convert it to the non-executable tar file format
// creates myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// create myphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// creates myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// handle the error here
}
?>

Ayrıca Bakınız

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToExecutable() - Convert a non-executable tar/zip archive to an executable phar archive


Convert a non-executable tar/zip archive to an executable phar archive

  • « PharData::convertToData
  • PharData::copy »
  • PHP Manual
  • PharData
  • Convert a non-executable tar/zip archive to an executable phar archive

PharData::convertToExecutable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::convertToExecutable — Convert a non-executable tar/zip archive to an executable phar archive

Açıklama

public PharData::convertToExecutable(?int $format = null, ?int $compression = null, ?string $extension = null): ?Phar

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

This method is used to convert a non-executable tar or zip archive to an executable phar archive. Any of the three executable file formats (phar, tar or zip) can be used, and whole-archive compression can also be performed.

If no changes are specified, this method throws a BadMethodCallException.

If successful, the method creates a new archive on disk and returns a Phar object. The old archive is not removed from disk, and should be done manually after the process has finished.

Bağımsız Değişkenler

format

This should be one of Phar::PHAR, Phar::TAR, or Phar::ZIP. If set to null, the existing file format will be preserved.

compression

This should be one of Phar::NONE for no whole-archive compression, Phar::GZ for zlib-based compression, and Phar::BZ2 for bzip-based compression.

extension

This parameter is used to override the default file extension for a converted archive. Note that all zip- and tar-based phar archives must contain .phar in their file extension in order to be processed as a phar archive.

If converting to a phar-based archive, the default extensions are .phar, .phar.gz, or .phar.bz2 depending on the specified compression. For tar-based phar archives, the default extensions are .phar.tar, .phar.tar.gz, and .phar.tar.bz2. For zip-based phar archives, the default extension is .phar.zip.

Dönen Değerler

The method returns a Phar object on success, or null on failure.

Hatalar/İstisnalar

This method throws BadMethodCallException when unable to compress, an unknown compression method has been specified, the requested archive is buffering with Phar::startBuffering() and has not concluded with Phar::stopBuffering(), an UnexpectedValueException if write support is disabled, and a PharException if any problems are encountered during the phar creation process.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | format, compression, and localName are now nullable.

Örnekler

Örnek 1 A PharData::convertToExecutable() example

Using PharData::convertToExecutable():

<?php
try {
$tarphar = new PharData('myphar.tar');
// convert it to the phar file format
// note that myphar.tar is *not* unlinked
$phar = $tarphar->convertToExecutable(Phar::PHAR); // creates myphar.phar
$phar->setStub($phar->createDefaultStub('cli.php', 'web/index.php'));
// creates myphar.phar.tgz
$compressed = $tarphar->convertToExecutable(Phar::TAR, Phar::GZ, '.phar.tgz');
} catch (Exception $e) {
// handle the error here
}
?>

Ayrıca Bakınız

  • Phar::convertToExecutable() - Convert a phar archive to another executable phar archive file format
  • Phar::convertToData() - Convert a phar archive to a non-executable tar or zip file
  • PharData::convertToData() - Convert a phar archive to a non-executable tar or zip file


Copy a file internal to the phar archive to another new file within the phar

  • « PharData::convertToExecutable
  • PharData::decompress »
  • PHP Manual
  • PharData
  • Copy a file internal to the phar archive to another new file within the phar

PharData::copy

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::copy — Copy a file internal to the phar archive to another new file within the phar

Açıklama

public PharData::copy(string $from, string $to): bool

Copy a file internal to the tar/zip archive to another new file within the same archive. This is an object-oriented alternative to using copy() with the phar stream wrapper.

Bağımsız Değişkenler

from

to

Dönen Değerler

returns true on success, but it is safer to encase method call in a try/catch block and assume success if no exception is thrown.

Hatalar/İstisnalar

throws UnexpectedValueException if the source file does not exist, the destination file already exists, write access is disabled, opening either file fails, reading the source file fails, or a PharException if writing the changes to the phar fails.

Örnekler

Örnek 1 A PharData::copy() example

This example shows using PharData::copy() and the equivalent stream wrapper performance of the same thing. The primary difference between the two approaches is error handling. All PharData methods throw exceptions, whereas the stream wrapper uses trigger_error().

<?php
try {
$phar = new PharData('myphar.tar');
$phar['a'] = 'hi';
$phar->copy('a', 'b');
echo $phar['b']; // outputs "phar://myphar.tar/b"
} catch (Exception $e) {
// handle error
}

// the stream wrapper equivalent of the above code.
// E_WARNINGS are triggered on error rather than exceptions.
copy('phar://myphar.tar/a', 'phar//myphar.tar/c');
echo file_get_contents('phar://myphar.tar/c'); // outputs "hi"
?>


Decompresses the entire Phar archive

  • « PharData::copy
  • PharData::decompressFiles »
  • PHP Manual
  • PharData
  • Decompresses the entire Phar archive

PharData::decompress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::decompress — Decompresses the entire Phar archive

Açıklama

public PharData::decompress(?string $extension = null): ?PharData

For tar-based archives, this method decompresses the entire archive.

For Zip-based archives, this method fails with an exception. The zlib extension must be enabled to decompress an archive compressed with gzip compression, and the bzip2 extension must be enabled in order to decompress an archive compressed with bzip2 compression.

In addition, this method automatically renames the file extension of the archive, .tar by default. Alternatively, a file extension may be specified with the extension parameter.

Bağımsız Değişkenler

extension

For decompressing, the default file extension is .tar. Use this parameter to specify another file extension. Be aware that only executable archives can contain .phar in their filename.

Dönen Değerler

A PharData object is returned on success, or null on failure.

Hatalar/İstisnalar

Throws BadMethodCallException if the zlib extension is not available, or the bzip2 extension is not enabled.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | extension is now nullable.

Örnekler

Örnek 1 A PharData::decompress() example

<?php
$p = new PharData('/path/to/my.tar.gz');
$p->decompress(); // creates /path/to/my.tar
?>

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • PharData::decompressFiles() - Decompresses all files in the current zip archive


Decompresses all files in the current zip archive

  • « PharData::decompress
  • PharData::delMetadata »
  • PHP Manual
  • PharData
  • Decompresses all files in the current zip archive

PharData::decompressFiles

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::decompressFiles — Decompresses all files in the current zip archive

Açıklama

public PharData::decompressFiles(): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

For tar-based archives, this method throws a BadMethodCallException, as compression of individual files within a tar archive is not supported by the file format. Use PharData::compress() to compress an entire tar-based archive.

For Zip-based archives, this method decompresses all files in the archive. The zlib or bzip2 extensions must be enabled to take advantage of this feature if any files are compressed using bzip2/zlib compression.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws BadMethodCallException if the zlib extension is not available, or if any files are compressed using bzip2 compression and the bzip2 extension is not enabled.

Örnekler

Örnek 1 A PharData::decompressFiles() example

<?php
$p = new PharData('/path/to/my.zip');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>

Yukarıdaki örneğin çıktısı:

string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)
string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • PharData::compressFiles() - Compresses all files in the current tar/zip archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • PharData::compress() - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
  • PharData::decompress() - Decompresses the entire Phar archive


Deletes the global metadata of a zip archive

  • « PharData::decompressFiles
  • PharData::delete »
  • PHP Manual
  • PharData
  • Deletes the global metadata of a zip archive

PharData::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::delMetadata — Deletes the global metadata of a zip archive

Açıklama

public PharData::delMetadata(): bool

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Deletes the global metadata of the zip archive

Bağımsız Değişkenler

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A PharData::delMetaData() example

<?php
try {
$phar = new PharData('myphar.zip');
var_dump($phar->getMetadata());
$phar->setMetadata("hi there");
var_dump($phar->getMetadata());
$phar->delMetadata();
var_dump($phar->getMetadata());
} catch (Exception $e) {
// handle errors
}
?>

Yukarıdaki örneğin çıktısı:

NULL
string(8) "hi there"
NULL

Ayrıca Bakınız

  • Phar::delMetadata() - Deletes the global metadata of the phar


Delete a file within a tar/zip archive

  • « PharData::delMetadata
  • PharData::__destruct »
  • PHP Manual
  • PharData
  • Delete a file within a tar/zip archive

PharData::delete

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::delete — Delete a file within a tar/zip archive

Açıklama

public PharData::delete(string $localName): bool

Delete a file within an archive. This is the functional equivalent of calling unlink() on the stream wrapper equivalent, as shown in the example below.

Bağımsız Değişkenler

localName

Path within an archive to the file to delete.

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A PharData::delete() example

<?php
try {
$phar = new PharData('myphar.zip');
$phar->delete('unlink/me.php');
// this is equivalent to:
unlink('phar://myphar.phar/unlink/me.php');
} catch (Exception $e) {
// handle errors
}
?>

Ayrıca Bakınız

  • Phar::delete() - Delete a file within a phar archive


Destructs a non-executable tar or zip archive object

  • « PharData::delete
  • PharData::extractTo »
  • PHP Manual
  • PharData
  • Destructs a non-executable tar or zip archive object

PharData::__destruct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::__destruct — Destructs a non-executable tar or zip archive object

Açıklama

public PharData::__destruct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Extract the contents of a tar/zip archive to a directory

  • « PharData::__destruct
  • PharData::isWritable »
  • PHP Manual
  • PharData
  • Extract the contents of a tar/zip archive to a directory

PharData::extractTo

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::extractTo — Extract the contents of a tar/zip archive to a directory

Açıklama

public PharData::extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool

Extract all files within a tar/zip archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Bağımsız Değişkenler

directory

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to true to enable overwriting existing files

Dönen Değerler

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Hatalar/İstisnalar

Throws PharException if errors occur while flushing changes to disk.

Örnekler

Örnek 1 A PharData::extractTo() example

<?php
try {
$phar = new PharData('myphar.tar');
$phar->extractTo('/full/path'); // extract all files
$phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
$phar->extractTo('/this/path',
array('file1.txt', 'file2.txt')); // extract 2 files only
$phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
// handle errors
}
?>

Notlar

Bilginize:

Windows NTFS dosya sistemi dosya isimlerinde <|>*?": gibi bazı karakterleri desteklemez. Bundan başka nokta ile biten dosya isimleri de desteklenmez. Bazı dosya çıkarma araçlarının aksine, bu yöntem bu karakterleri bir alt çizgi ile değiştirmek yerine bu tür dosyaları çıkarmada başarısız olur.

Ayrıca Bakınız

  • Phar::extractTo() - Extract the contents of a phar archive to a directory


Returns true if the tar/zip archive can be modified

  • « PharData::extractTo
  • PharData::offsetSet »
  • PHP Manual
  • PharData
  • Returns true if the tar/zip archive can be modified

PharData::isWritable

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::isWritable — Returns true if the tar/zip archive can be modified

Açıklama

public PharData::isWritable(): bool

This method returns true if the tar/zip archive on disk is not read-only. Unlike Phar::isWritable(), data-only tar/zip archives can be modified even if phar.readonly is set to 1.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns true if the tar/zip archive can be modified

Ayrıca Bakınız

  • Phar::canWrite() - Returns whether phar extension supports writing and creating phars
  • Phar::isWritable() - Returns true if the phar archive can be modified


Set the contents of a file within the tar/zip to those of an external file or string

  • « PharData::isWritable
  • PharData::offsetUnset »
  • PHP Manual
  • PharData
  • Set the contents of a file within the tar/zip to those of an external file or string

PharData::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::offsetSet — Set the contents of a file within the tar/zip to those of an external file or string

Açıklama

public PharData::offsetSet(string $localName, resource|string $value): void

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetSet is used for modifying an existing file, or adding a new file to a tar/zip archive.

Bağımsız Değişkenler

localName

The filename (relative path) to modify in a tar or zip archive.

value

Content of the file.

Dönen Değerler

No return values.

Hatalar/İstisnalar

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Örnekler

Örnek 1 A PharData::offsetSet() example

offsetSet should not be accessed directly, but instead used via array access with the [] operator.

<?php
$p = new PharData('/path/to/my.tar');
try {
// calls offsetSet
$p['file.txt'] = 'Hi there';
} catch (Exception $e) {
echo 'Could not modify file.txt:', $e;
}
?>

Notlar

Bilginize:
PharData::addFile(),
PharData::addFromString() ve
PharData::offsetSet() her çağrıldıklarında yeni
bir phar arşivi kaydeder. Başarım önemliyse, yerlerine
PharData::buildFromDirectory() veya
PharData::buildFromIterator() kullanılmalıdır.

Ayrıca Bakınız

  • Phar::offsetSet() - Set the contents of an internal file to those of an external file


Remove a file from a tar/zip archive

  • « PharData::offsetSet
  • PharData::setAlias »
  • PHP Manual
  • PharData
  • Remove a file from a tar/zip archive

PharData::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::offsetUnset — Remove a file from a tar/zip archive

Açıklama

public PharData::offsetUnset(string $localName): void

This is an implementation of the ArrayAccess interface allowing direct manipulation of the contents of a tar/zip archive using array access brackets. offsetUnset is used for deleting an existing file, and is called by the unset() language construct.

Bağımsız Değişkenler

localName

The filename (relative path) to modify in the tar/zip archive.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws PharException if there are any problems flushing changes made to the tar/zip archive to disk.

Örnekler

Örnek 1 A PharData::offsetUnset() example

<?php
$p = new PharData('/path/to/my.zip');
try {
// deletes file.txt from my.zip by calling offsetUnset
unset($p['file.txt']);
} catch (Exception $e) {
echo 'Could not delete file.txt: ', $e;
}
?>

Ayrıca Bakınız

  • Phar::offsetUnset() - Remove a file from a phar


Dummy function (Phar::setAlias is not valid for PharData)

  • « PharData::offsetUnset
  • PharData::setDefaultStub »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setAlias is not valid for PharData)

PharData::setAlias

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::setAlias — Dummy function (Phar::setAlias is not valid for PharData)

Açıklama

public PharData::setAlias(string $alias): bool

Non-executable tar/zip archives cannot have an alias, so this method simply throws an exception.

Bağımsız Değişkenler

alias

A shorthand string that this archive can be referred to in phar stream wrapper access. This parameter is ignored.

Dönen Değerler

Hatalar/İstisnalar

Throws PharException on all method calls

Ayrıca Bakınız

  • Phar::setAlias() - Set the alias for the Phar archive


Dummy function (Phar::setDefaultStub is not valid for PharData)

  • « PharData::setAlias
  • PharData::setMetadata »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setDefaultStub is not valid for PharData)

PharData::setDefaultStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::setDefaultStub — Dummy function (Phar::setDefaultStub is not valid for PharData)

Açıklama

public PharData::setDefaultStub(?string $index = null, ?string $webIndex = null): bool

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Bağımsız Değişkenler

index

Relative path within the phar archive to run if accessed on the command-line

webIndex

Relative path within the phar archive to run if accessed through a web browser

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws PharException on all method calls

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | webIndex is nullable now.

Ayrıca Bakınız

  • Phar::setDefaultStub() - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader


Sets phar archive meta-data

  • « PharData::setDefaultStub
  • PharData::setSignatureAlgorithm »
  • PHP Manual
  • PharData
  • Sets phar archive meta-data

PharData::setMetadata

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

PharData::setMetadata — Sets phar archive meta-data

Açıklama

public PharData::setMetadata(mixed $metadata): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Phar::setMetadata() should be used to store customized data that describes something about the phar archive as a complete entity. PharFileInfo::setMetadata() should be used for file-specific meta-data. Meta-data can slow down the performance of loading a phar archive if the data is large.

Some possible uses for meta-data include specifying which file within the archive should be used to bootstrap the archive, or the location of a file manifest like » PEAR's package.xml file. However, any useful data that describes the phar archive may be stored.

Bağımsız Değişkenler

metadata

Any PHP variable containing information to store that describes the phar archive

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A Phar::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.php'] = '<?php echo "hello"';
$p->setMetadata(array('bootstrap' => 'file.php'));
var_dump($p->getMetadata());
} catch (Exception $e) {
echo 'Could not create and/or modify phar:', $e;
}
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bootstrap"]=>
  string(8) "file.php"
}

Ayrıca Bakınız

  • Phar::getMetadata() - Returns phar archive meta-data
  • Phar::delMetadata() - Deletes the global metadata of the phar
  • Phar::hasMetadata() - Returns whether phar has global meta-data


Set the signature algorithm for a phar and apply it

  • « PharData::setMetadata
  • PharData::setStub »
  • PHP Manual
  • PharData
  • Set the signature algorithm for a phar and apply it

PharData::setSignatureAlgorithm

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

PharData::setSignatureAlgorithm — Set the signature algorithm for a phar and apply it

Açıklama

public PharData::setSignatureAlgorithm(int $algo, ?string $privateKey = null): void

Bilginize:

Phar nesneleri ile çalışmak için, bu yöntem phar.readonly php.ini yönergesine 0 atanmış olmasını gerektirir. Aksi takdirde bir PharException istisnası oluşur.

Set the signature algorithm for a phar and apply it. The signature algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256, Phar::SHA512, or Phar::OPENSSL.

Bağımsız Değişkenler

algo

    One of Phar::MD5,
Phar::SHA1, Phar::SHA256,
Phar::SHA512, or Phar::OPENSSL

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws UnexpectedValueException for many errors, BadMethodCallException if called for a zip- or a tar-based phar archive, and a PharException if any problems occur flushing changes to disk.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | privateKey is now nullable.

Ayrıca Bakınız

  • Phar::getSupportedSignatures() - Return array of supported signature types
  • Phar::getSignature() - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive


Dummy function (Phar::setStub is not valid for PharData)

  • « PharData::setSignatureAlgorithm
  • PharFileInfo »
  • PHP Manual
  • PharData
  • Dummy function (Phar::setStub is not valid for PharData)

PharData::setStub

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::setStub — Dummy function (Phar::setStub is not valid for PharData)

Açıklama

public PharData::setStub(string $stub, int $len = -1): bool

Non-executable tar/zip archives cannot have a stub, so this method simply throws an exception.

Bağımsız Değişkenler

stub

A string or an open stream handle to use as the executable stub for this phar archive. This parameter is ignored.

len

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws PharException on all method calls

Ayrıca Bakınız

  • Phar::setStub() - Used to set the PHP loader or bootstrap stub of a Phar archive


The PharFileInfo class

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Giriş

The PharFileInfo class provides a high-level interface to the contents and attributes of a single file within a phar archive.

Sınıf Sözdizimi

class PharFileInfo extends SplFileInfo {
/* Yöntemler */
public __construct(string $filename)
public chmod(int $perms): void
public compress(int $compression): bool
public decompress(): bool
public delMetadata(): bool
public getCRC32(): int
public getCompressedSize(): int
public getContent(): string
public getMetadata(array $unserializeOptions = []): mixed
public getPharFlags(): int
public hasMetadata(): bool
public isCRCChecked(): bool
public isCompressed(?int $compression = null): bool
public setMetadata(mixed $metadata): void
public __destruct()
/* Miras alınan yöntemler */
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • PharFileInfo::chmod — Sets file-specific permission bits
  • PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression
  • PharFileInfo::__construct — Construct a Phar entry object
  • PharFileInfo::decompress — Decompresses the current Phar entry within the phar
  • PharFileInfo::delMetadata — Deletes the metadata of the entry
  • PharFileInfo::__destruct — Destructs a Phar entry object
  • PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified
  • PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::getContent — Get the complete file contents of the entry
  • PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file
  • PharFileInfo::getPharFlags — Returns the Phar file entry flags
  • PharFileInfo::hasMetadata — Returns the metadata of the entry
  • PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified
  • PharFileInfo::isCompressed — Returns whether the entry is compressed
  • PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file


Sets file-specific permission bits

  • « PharFileInfo
  • PharFileInfo::compress »
  • PHP Manual
  • PharFileInfo
  • Sets file-specific permission bits

PharFileInfo::chmod

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::chmod — Sets file-specific permission bits

Açıklama

public PharFileInfo::chmod(int $perms): void

PharFileInfo::chmod() allows setting of the executable file permissions bit, as well as read-only bits. Writeable bits are ignored, and set at runtime based on the phar.readonly INI variable. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Bağımsız Değişkenler

perms

permissions (see chmod())

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A PharFileInfo::chmod() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar('brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.sh'] = '#!/usr/local/lib/php
<?php echo "hi"; ?>';
// set executable bit
$p['file.sh']->chmod(0555);
var_dump($p['file.sh']->isExecutable());
} catch (Exception $e) {
echo 'Could not create/modify phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Compresses the current Phar entry with either zlib or bzip2 compression

  • « PharFileInfo::chmod
  • PharFileInfo::__construct »
  • PHP Manual
  • PharFileInfo
  • Compresses the current Phar entry with either zlib or bzip2 compression

PharFileInfo::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharFileInfo::compress — Compresses the current Phar entry with either zlib or bzip2 compression

Açıklama

public PharFileInfo::compress(int $compression): bool

This method compresses the file inside the Phar archive using either bzip2 compression or zlib compression. The bzip2 or zlib extension must be enabled to take advantage of this feature. In addition, if the file is already compressed, the respective extension must be enabled in order to decompress the file. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Bağımsız Değişkenler

compression

Compression must be Phar::GZ or Phar::BZ2.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Örnekler

Örnek 1 A PharFileInfo::compress() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
var_dump($file->isCompressed(Phar::BZ2));
$p['myfile.txt']->compress(Phar::BZ2);
var_dump($file->isCompressed(Phar::BZ2));
} catch (Exception $e) {
echo 'Create/modify operations on my.phar failed: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Construct a Phar entry object

  • « PharFileInfo::compress
  • PharFileInfo::decompress »
  • PHP Manual
  • PharFileInfo
  • Construct a Phar entry object

PharFileInfo::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::__construct — Construct a Phar entry object

Açıklama

public PharFileInfo::__construct(string $filename)

This should not be called directly. Instead, a PharFileInfo object is initialized by calling Phar::offsetGet() through array access.

Bağımsız Değişkenler

filename

The full url to retrieve a file. If you wish to retrieve the information for the file my/file.php from the phar boo.phar, the entry should be phar://boo.phar/my/file.php.

Hatalar/İstisnalar

Throws BadMethodCallException if __construct() is called twice. Throws UnexpectedValueException if the phar URL requested is malformed, the requested phar cannot be opened, or the file can't be found within the phar.

Örnekler

Örnek 1 A PharFileInfo::__construct() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['testfile.txt'] = "hi\nthere\ndude";
$file = $p['testfile.txt'];
foreach ($file as $line => $text) {
echo "line number $line: $text";
}
// this also works
$file = new PharFileInfo('phar:///path/to/my.phar/testfile.txt');
foreach ($file as $line => $text) {
echo "line number $line: $text";
}
} catch (Exception $e) {
echo 'Phar operations failed: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

line number 1: hi
line number 2: there
line number 3: dude
line number 1: hi
line number 2: there
line number 3: dude


Decompresses the current Phar entry within the phar

  • « PharFileInfo::__construct
  • PharFileInfo::delMetadata »
  • PHP Manual
  • PharFileInfo
  • Decompresses the current Phar entry within the phar

PharFileInfo::decompress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharFileInfo::decompress — Decompresses the current Phar entry within the phar

Açıklama

public PharFileInfo::decompress(): bool

This method decompresses the file inside the Phar archive. Depending on how the file is compressed, the bzip2 or zlib extensions must be enabled to take advantage of this feature. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws BadMethodCallException if the phar.readonly INI variable is on, or if the bzip2/zlib extension is not available.

Örnekler

Örnek 1 A PharFileInfo::decompress() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
$file->compress(Phar::GZ);
var_dump($file->isCompressed());
$p['myfile.txt']->decompress();
var_dump($file->isCompressed());
} catch (Exception $e) {
echo 'Create/modify failed for my.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

int(4096)
bool(false)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compressFiles() - Compresses all files in the current Phar archive
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms


Deletes the metadata of the entry

  • « PharFileInfo::decompress
  • PharFileInfo::__destruct »
  • PHP Manual
  • PharFileInfo
  • Deletes the metadata of the entry

PharFileInfo::delMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

PharFileInfo::delMetadata — Deletes the metadata of the entry

Açıklama

public PharFileInfo::delMetadata(): bool

Deletes the metadata of the entry, if any.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns true if successful, false if the entry had no metadata. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Hatalar/İstisnalar

Throws PharException if errors occurred while flushing changes to disk, and BadMethodCallException if write access is disabled.

Örnekler

Örnek 1 A PharFileInfo::delMetaData() example

<?php
try {
$a = new Phar('myphar.phar');
$a['hi'] = 'hi';
var_dump($a['hi']->delMetadata());
$a['hi']->setMetadata('there');
var_dump($a['hi']->delMetadata());
var_dump($a['hi']->delMetadata());
} catch (Exception $e) {
// handle errors
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Destructs a Phar entry object

  • « PharFileInfo::delMetadata
  • PharFileInfo::getCRC32 »
  • PHP Manual
  • PharFileInfo
  • Destructs a Phar entry object

PharFileInfo::__destruct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::__destruct — Destructs a Phar entry object

Açıklama

public PharFileInfo::__destruct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Returns CRC32 code or throws an exception if CRC has not been verified

  • « PharFileInfo::__destruct
  • PharFileInfo::getCompressedSize »
  • PHP Manual
  • PharFileInfo
  • Returns CRC32 code or throws an exception if CRC has not been verified

PharFileInfo::getCRC32

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::getCRC32 — Returns CRC32 code or throws an exception if CRC has not been verified

Açıklama

public PharFileInfo::getCRC32(): int

This returns the crc32() checksum of the file within the Phar archive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The crc32() checksum of the file within the Phar archive.

Hatalar/İstisnalar

Throws BadMethodCallException if the file has not yet had its CRC32 verified. This should be impossible with normal use, as the CRC is verified upon opening the file for reading or writing.

Örnekler

Örnek 1 A PharFileInfo::getCRC32() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
echo $file->getCRC32();
} catch (Exception $e) {
echo 'Write operations on my.phar.phar failed: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

3633523372


Returns the actual size of the file (with compression) inside the Phar archive

  • « PharFileInfo::getCRC32
  • PharFileInfo::getContent »
  • PHP Manual
  • PharFileInfo
  • Returns the actual size of the file (with compression) inside the Phar archive

PharFileInfo::getCompressedSize

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::getCompressedSize — Returns the actual size of the file (with compression) inside the Phar archive

Açıklama

public PharFileInfo::getCompressedSize(): int

This returns the size of the file within the Phar archive. Uncompressed files will return the same value for getCompressedSize as they will with filesize()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The size in bytes of the file within the Phar archive on disk.

Örnekler

Örnek 1 A PharFileInfo::getCompressedSize() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
echo $file->getCompressedSize();
} catch (Exception $e) {
echo 'Write operations failed on my.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

2

Ayrıca Bakınız

  • PharFileInfo::isCompressed() - Returns whether the entry is compressed
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive


Get the complete file contents of the entry

  • « PharFileInfo::getCompressedSize
  • PharFileInfo::getMetadata »
  • PHP Manual
  • PharFileInfo
  • Get the complete file contents of the entry

PharFileInfo::getContent

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

PharFileInfo::getContent — Get the complete file contents of the entry

Açıklama

public PharFileInfo::getContent(): string

This function behaves like file_get_contents() but for Phar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the file contents.


Returns file-specific meta-data saved with a file

  • « PharFileInfo::getContent
  • PharFileInfo::getPharFlags »
  • PHP Manual
  • PharFileInfo
  • Returns file-specific meta-data saved with a file

PharFileInfo::getMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::getMetadata — Returns file-specific meta-data saved with a file

Açıklama

public PharFileInfo::getMetadata(array $unserializeOptions = []): mixed

Return meta-data that was saved in the Phar archive's manifest for this file.

Bağımsız Değişkenler

Dönen Değerler

any PHP variable that can be serialized and is stored as meta-data for the file, or null if no meta-data is stored.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The parameter unserializeOptions has been added.

Örnekler

Örnek 1 A PharFileInfo::getMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.txt'] = 'hello';
$p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
var_dump($p['file.txt']->getMetadata());
} catch (Exception $e) {
echo 'Could not create/modify brandnewphar.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Ayrıca Bakınız

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Returns the Phar file entry flags

  • « PharFileInfo::getMetadata
  • PharFileInfo::hasMetadata »
  • PHP Manual
  • PharFileInfo
  • Returns the Phar file entry flags

PharFileInfo::getPharFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::getPharFlags — Returns the Phar file entry flags

Açıklama

public PharFileInfo::getPharFlags(): int

This returns the flags set in the manifest for a Phar. This will always return 0 in the current implementation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Phar flags (always 0 in the current implementation)

Örnekler

Örnek 1 A PharFileInfo::getPharFlags() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
var_dump($file->getPharFlags());
} catch (Exception $e) {
echo 'Could not create/modify my.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

int(0)


Returns the metadata of the entry

  • « PharFileInfo::getPharFlags
  • PharFileInfo::isCRCChecked »
  • PHP Manual
  • PharFileInfo
  • Returns the metadata of the entry

PharFileInfo::hasMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

PharFileInfo::hasMetadata — Returns the metadata of the entry

Açıklama

public PharFileInfo::hasMetadata(): bool

Returns the metadata of a file within a phar archive.

Bağımsız Değişkenler

No parameters.

Dönen Değerler

Returns false if no metadata is set or is null, true if metadata is not null

Ayrıca Bakınız

  • PharFileInfo::setMetadata() - Sets file-specific meta-data saved with a file
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


Returns whether file entry has had its CRC verified

  • « PharFileInfo::hasMetadata
  • PharFileInfo::isCompressed »
  • PHP Manual
  • PharFileInfo
  • Returns whether file entry has had its CRC verified

PharFileInfo::isCRCChecked

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::isCRCChecked — Returns whether file entry has had its CRC verified

Açıklama

public PharFileInfo::isCRCChecked(): bool

This returns whether a file within a Phar archive has had its CRC verified.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the file has had its CRC verified, false if not.

Örnekler

Örnek 1 A PharFileInfo::isCRCChecked() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
var_dump($file->isCRCChecked());
} catch (Exception $e) {
echo 'Create/modify operations failed on my.phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Returns whether the entry is compressed

  • « PharFileInfo::isCRCChecked
  • PharFileInfo::setMetadata »
  • PHP Manual
  • PharFileInfo
  • Returns whether the entry is compressed

PharFileInfo::isCompressed

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::isCompressed — Returns whether the entry is compressed

Açıklama

public PharFileInfo::isCompressed(?int $compression = null): bool

This returns whether a file is compressed within a Phar archive with either Gzip or Bzip2 compression.

Bağımsız Değişkenler

compression

One of Phar::GZ or Phar::BZ2, defaults to any compression.

Dönen Değerler

true if the file is compressed within the Phar archive, false if not.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | compression is now nullable.

Örnekler

Örnek 1 A PharFileInfo::isCompressed() example

<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p['myfile2.txt']->setCompressedGZ();
$file = $p['myfile.txt'];
$file2 = $p['myfile2.txt'];
var_dump($file->isCompressed());
var_dump($file2->isCompressed());
} catch (Exception $e) {
echo 'Create/modify on phar my.phar failed: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • PharFileInfo::getCompressedSize() - Returns the actual size of the file (with compression) inside the Phar archive
  • PharFileInfo::decompress() - Decompresses the current Phar entry within the phar
  • PharFileInfo::compress() - Compresses the current Phar entry with either zlib or bzip2 compression
  • Phar::decompress() - Decompresses the entire Phar archive
  • Phar::compress() - Compresses the entire Phar archive using Gzip or Bzip2 compression
  • Phar::canCompress() - Returns whether phar extension supports compression using either zlib or bzip2
  • Phar::isCompressed() - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
  • Phar::getSupportedCompression() - Return array of supported compression algorithms
  • Phar::decompressFiles() - Decompresses all files in the current Phar archive
  • Phar::compressFiles() - Compresses all files in the current Phar archive


Sets file-specific meta-data saved with a file

  • « PharFileInfo::isCompressed
  • PharException »
  • PHP Manual
  • PharFileInfo
  • Sets file-specific meta-data saved with a file

PharFileInfo::setMetadata

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

PharFileInfo::setMetadata — Sets file-specific meta-data saved with a file

Açıklama

public PharFileInfo::setMetadata(mixed $metadata): void

PharFileInfo::setMetadata() should only be used to store customized data in a file that cannot be represented with existing information stored with a file. Meta-data can significantly slow down the performance of loading a phar archive if the data is large, or if there are many files containing meta-data. It is important to note that file permissions are natively supported inside a phar; it is possible to set them with the PharFileInfo::chmod() method. As with all functionality that modifies the contents of a phar, the phar.readonly INI variable must be off in order to succeed if the file is within a Phar archive. Files within PharData archives do not have this restriction.

Some possible uses for meta-data include passing a user/group that should be set when a file is extracted from the phar to disk. Other uses could include explicitly specifying a MIME type to return. However, any useful data that describes a file, but should not be contained inside of it may be stored.

Bağımsız Değişkenler

metadata

Any PHP variable containing information to store alongside a file

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A PharFileInfo::setMetadata() example

<?php
// make sure it doesn't exist
@unlink('brandnewphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/brandnewphar.phar', 0, 'brandnewphar.phar');
$p['file.txt'] = 'hello';
$p['file.txt']->setMetadata(array('user' => 'bill', 'mime-type' => 'text/plain'));
var_dump($p['file.txt']->getMetaData());
} catch (Exception $e) {
echo 'Could not create/modify phar: ', $e;
}
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["user"]=>
  string(4) "bill"
  ["mime-type"]=>
  string(10) "text/plain"
}

Ayrıca Bakınız

  • PharFileInfo::hasMetadata() - Returns the metadata of the entry
  • PharFileInfo::getMetadata() - Returns file-specific meta-data saved with a file
  • PharFileInfo::delMetadata() - Deletes the metadata of the entry
  • Phar::setMetadata() - Sets phar archive meta-data
  • Phar::hasMetadata() - Returns whether phar has global meta-data
  • Phar::getMetadata() - Returns phar archive meta-data


The PharException class

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0)

Giriş

The PharException class provides a phar-specific exception class for try/catch blocks.

Sınıf Sözdizimi

class PharException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Rar Archiving

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Rar İşlevleri
    • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper
  • RarArchive — The RarArchive class
    • RarArchive::close — Close RAR archive and free all resources
    • RarArchive::getComment — Get comment text from the RAR archive
    • RarArchive::getEntries — Get full list of entries from the RAR archive
    • RarArchive::getEntry — Get entry object from the RAR archive
    • RarArchive::isBroken — Test whether an archive is broken (incomplete)
    • RarArchive::isSolid — Check whether the RAR archive is solid
    • RarArchive::open — Open RAR archive
    • RarArchive::setAllowBroken — Whether opening broken archives is allowed
    • RarArchive::__toString — Get text representation
  • RarEntry — The RarEntry class
    • RarEntry::extract — Extract entry from the archive
    • RarEntry::getAttr — Get attributes of the entry
    • RarEntry::getCrc — Get CRC of the entry
    • RarEntry::getFileTime — Get entry last modification time
    • RarEntry::getHostOs — Get entry host OS
    • RarEntry::getMethod — Get pack method of the entry
    • RarEntry::getName — Get name of the entry
    • RarEntry::getPackedSize — Get packed size of the entry
    • RarEntry::getStream — Get file handler for entry
    • RarEntry::getUnpackedSize — Get unpacked size of the entry
    • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory — Test whether an entry represents a directory
    • RarEntry::isEncrypted — Test whether an entry is encrypted
    • RarEntry::__toString — Get text representation of entry
  • RarException — The RarException class
    • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions


Giriş

Rar is a powerful and effective archiver created by Eugene Roshal. This extension gives you possibility to read Rar archives but doesn't support writing Rar archives, because this is not supported by the UnRar library and is directly prohibited by its license.

More information about Rar and UnRar can be found at » http://www.rarlabs.com/.


Kurulum

Rar is currently available through PECL » https://pecl.php.net/package/rar.

Also you can use the PECL installer to install the Rar extension, using the following command: pecl -v install rar.

You can always download the tar.gz package and install Rar by hand:

Örnek 1 Rar installation

gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

Windows users will enable php_rar.dll inside of php.ini in order to use these functions. Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Özkaynak Türleri

This extension registers three internal classes: the archive representations returned by rar_open() - RarArchive, the entry representations returned by rar_list() and rar_entry_get() - RarEntry and the exception type RarException.

This extension also register a stream resource, called "rar" and a URL wrapper called "rar wrapper" and registered under the prefix "rar".


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

RAR_HOST_MSDOS (int)
Use RarEntry::HOST_MSDOS instead.
RAR_HOST_OS2 (int)
Use RarEntry::HOST_OS2 instead.
RAR_HOST_WIN32 (int)
Use RarEntry::HOST_WIN32 instead.
RAR_HOST_UNIX (int)
Use RarEntry::HOST_UNIX instead.
RAR_HOST_BEOS (int)
Use RarEntry::HOST_BEOS instead.


Örnekler

See also the examples under rar:// wrapper.

Örnek 1 On-the-fly decompression

<?php

if (!array_key_exists("i", $_GET) || !is_numeric($_GET["i"]))
die("Index unspecified or non-numeric");
$index = (int) $_GET["i"];

$arch = RarArchive::open("example.rar");
if ($arch === FALSE)
die("Cannot open example.rar");

$entries = $arch->getEntries();
if ($entries === FALSE)
die("Cannot retrieve entries");

if (!array_key_exists($index, $entries))
die("No such index: $index");

$orfilename = $entries[$index]->getName(); //UTF-8 encoded

$filesize = $entries[$index]->getUnpackedSize();

/* you could check HTTP_IF_MODIFIED_SINCE here and compare with
* $entries[$index]->getFileTime(). You could also send a
* "Last modified" header */

$fp = $entries[$index]->getStream();
if ($fp === FALSE)
die("Cannot open file with index $index insided the archive.");

$arch->close(); //no longer needed; stream is independent

function detectUserAgent() {
if (!array_key_exists('HTTP_USER_AGENT', $_SERVER))
return "Other";

$uas = $_SERVER['HTTP_USER_AGENT'];
if (preg_match("@Opera/@", $uas))
return "Opera";
if (preg_match("@Firefox/@", $uas))
return "Firefox";
if (preg_match("@Chrome/@", $uas))
return "Chrome";
if (preg_match("@MSIE ([0-9.]+);@", $uas, $matches)) {
if (((float)$matches[1]) >= 7.0)
return "IE";
}

return "Other";
}

/*
* We have 3 options:
* - For FF and Opera, which support RFC 2231, use that format.
* - For IE and Chrome, use attwithfnrawpctenclong
* (http://greenbytes.de/tech/tc2231/#attwithfnrawpctenclong)
* - For the others, convert to ISO-8859-1, if possible
*/
$formatRFC2231 = 'Content-Disposition: attachment; filename*=UTF-8\'\'%s';
$formatDef = 'Content-Disposition: attachment; filename="%s"';

switch (detectUserAgent()) {
case "Opera":
case "Firefox":
$orfilename = rawurlencode($orfilename);
$format = $formatRFC2231;
break;

case "IE":
case "Chrome":
$orfilename = rawurlencode($orfilename);
$format = $formatDef;
break;
default:
if (function_exists('iconv'))
$orfilename =
@iconv("UTF-8", "ISO-8859-1//TRANSLIT", $orfilename);
$format = $formatDef;
}

header(sprintf($format, $orfilename));
//cannot send error messages from now on (headers already sent)

//replace by real content type, perhaps infering from the file extension
$contentType = "application/octet-stream";
header("Content-Type: $contentType");

header("Content-Transfer-Encoding: binary");

header("Content-Length: $filesize");

if ($_SERVER['REQUEST_METHOD'] == "HEAD")
die();

while (!feof($fp)) {
$s = @fread($fp, 8192);
if ($s === false)
break; //useless to send error messages

echo $s;
}
?>

This example opens a RAR file and presents the requested file inside the RAR archive for download to the client.

Örnek 2 RAR extension filesystem extraction example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entries = rar_list($rar_file);

foreach ($entries as $entry) {
echo 'Filename: ' . $entry->getName() . "\n";
echo 'Packed size: ' . $entry->getPackedSize() . "\n";
echo 'Unpacked size: ' . $entry->getUnpackedSize() . "\n";

$entry->extract('/dir/extract/to/');
}

rar_close($rar_file);

?>

This example opens a RAR file archive and extracts each entry to the specified directory.


Rar İşlevleri

İçindekiler

  • rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper


Cache hits and misses for the URL wrapper

  • « Rar İşlevleri
  • RarArchive »
  • PHP Manual
  • Rar İşlevleri
  • Cache hits and misses for the URL wrapper

rar_wrapper_cache_stats

(PECL rar >= 3.0.0)

rar_wrapper_cache_stats — Cache hits and misses for the URL wrapper

Açıklama

rar_wrapper_cache_stats(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The RarArchive class

(PECL rar >= 2.0.0)

Giriş

This class represents a RAR archive, which may be formed by several volumes (parts) and which contains a number of RAR entries (i.e., files, directories and other special objects such as symbolic links).

Objects of this class can be traversed, yielding the entries stored in the respective RAR archive. Those entries can also be obtained through RarArchive::getEntry() and RarArchive::getEntries().

Sınıf Sözdizimi

final class RarArchive implements Traversable {
/* Yöntemler */
public close(): bool
public getComment(): string
public getEntries(): array|false
public getEntry(string $entryname): RarEntry|false
public isBroken(): bool
public isSolid(): bool
public static open(string $filename, string $password = NULL, callable $volume_callback = NULL): RarArchive|false
public setAllowBroken(bool $allow_broken): bool
public __toString(): string
}

İçindekiler

  • RarArchive::close — Close RAR archive and free all resources
  • RarArchive::getComment — Get comment text from the RAR archive
  • RarArchive::getEntries — Get full list of entries from the RAR archive
  • RarArchive::getEntry — Get entry object from the RAR archive
  • RarArchive::isBroken — Test whether an archive is broken (incomplete)
  • RarArchive::isSolid — Check whether the RAR archive is solid
  • RarArchive::open — Open RAR archive
  • RarArchive::setAllowBroken — Whether opening broken archives is allowed
  • RarArchive::__toString — Get text representation


Close RAR archive and free all resources

  • « RarArchive
  • RarArchive::getComment »
  • PHP Manual
  • RarArchive
  • Close RAR archive and free all resources

RarArchive::close

rar_close

(PECL rar >= 2.0.0)

RarArchive::close -- rar_close — Close RAR archive and free all resources

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::close(): bool

Yordamsal kullanım:

rar_close(RarArchive $rarfile): bool

Close RAR archive and free all allocated resources.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 2.0.0 | The RAR entries returned by RarArchive::getEntry() and RarArchive::getEntries() are now invalidated when calling this method. This means that all instance methods called for such entries and not guaranteed to succeed.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)

Örnek 2 Yordamsal kullanım

<?php
$rar_arch = rar_open('latest_winrar.rar');
echo $rar_arch."\n";
rar_close($rar_arch);
echo $rar_arch."\n";
?>


Get comment text from the RAR archive

  • « RarArchive::close
  • RarArchive::getEntries »
  • PHP Manual
  • RarArchive
  • Get comment text from the RAR archive

RarArchive::getComment

rar_comment_get

(PECL rar >= 2.0.0)

RarArchive::getComment -- rar_comment_get — Get comment text from the RAR archive

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::getComment(): string

Yordamsal kullanım:

rar_comment_get(RarArchive $rarfile): string

Get the (global) comment stored in the RAR archive. It may be up to 64 KiB long.

Bilginize:

This extension does not support comments at the entry level.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

Dönen Değerler

Returns the comment or null if there is none.

Bilginize:

RAR has currently no support for unicode comments. The encoding of the result of this function is not specified, but it will probably be Windows-1252.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$rar_arch = RarArchive::open('commented.rar');
echo $rar_arch->getComment();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

This is the comment of the file commented.rar.

Örnek 2 Yordamsal kullanım

<?php
$rar_arch = rar_open('commented.rar');
echo rar_comment_get($rar_arch);
?>


Get full list of entries from the RAR archive

  • « RarArchive::getComment
  • RarArchive::getEntry »
  • PHP Manual
  • RarArchive
  • Get full list of entries from the RAR archive

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — Get full list of entries from the RAR archive

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::getEntries(): array|false

Yordamsal kullanım:

rar_list(RarArchive $rarfile): array|false

Get entries list (files and directories) from the RAR archive.

Bilginize:

If the archive has entries with the same name, this method, together with RarArchive foreach iteration and array-like access with numeric indexes, are the only ones to access all the entries (i.e., RarArchive::getEntry() and the rar:// wrapper are insufficient).

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

Dönen Değerler

rar_list() returns array of RarEntry objects başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
die("Could not open RAR archive.");

$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
die("Could not retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
echo $e;
echo "\n";
}
$rar_arch->close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Found 2 entries.
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Örnek 2 Yordamsal kullanım

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
die("Could not open RAR archive.");

$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
die("Could retrieve entries.");

echo "Found " . count($rar_entries) . " entries.\n";

foreach ($rar_entries as $e) {
echo $e;
echo "\n";
}
rar_close($rar_arch);
?>

Ayrıca Bakınız

  • RarArchive::getEntry() - Get entry object from the RAR archive
  • rar:// wrapper


Get entry object from the RAR archive

  • « RarArchive::getEntries
  • RarArchive::isBroken »
  • PHP Manual
  • RarArchive
  • Get entry object from the RAR archive

RarArchive::getEntry

rar_entry_get

(PECL rar >= 2.0.0)

RarArchive::getEntry -- rar_entry_get — Get entry object from the RAR archive

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::getEntry(string $entryname): RarEntry|false

Yordamsal kullanım:

rar_entry_get(RarArchive $rarfile, string $entryname): RarEntry|false

Get entry object (file or directory) from the RAR archive.

Bilginize:

You can also get entry objects using RarArchive::getEntries().

Note that a RAR archive can have multiple entries with the same name; this method will retrieve only the first.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

entryname

Path to the entry within the RAR archive.

Bilginize:

The path must be the same returned by RarEntry::getName().

Dönen Değerler

Returns the matching RarEntry object başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
die("Could not open RAR archive.");
$rar_entry = $rar_arch->getEntry('tese.txt');
if ($rar_entry === FALSE)
die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
$rar_arch->close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RarEntry
RarEntry for file "tese.txt" (23b93a7a)

Örnek 2 Yordamsal kullanım

<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
die("Could not open RAR archive.");
$rar_entry = rar_entry_get($rar_arch, 'tese.txt');
if ($rar_entry === FALSE)
die("Could not get such entry");
echo get_class($rar_entry)."\n";
echo $rar_entry;
rar_close($rar_arch);
?>

Ayrıca Bakınız

  • RarArchive::getEntries() - Get full list of entries from the RAR archive
  • rar:// wrapper


Test whether an archive is broken (incomplete)

  • « RarArchive::getEntry
  • RarArchive::isSolid »
  • PHP Manual
  • RarArchive
  • Test whether an archive is broken (incomplete)

RarArchive::isBroken

rar_broken_is

(PECL rar >= 3.0.0)

RarArchive::isBroken -- rar_broken_is — Test whether an archive is broken (incomplete)

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::isBroken(): bool

Yordamsal kullanım:

rar_broken_is(RarArchive $rarfile): bool

This function determines whether an archive is incomplete, i.e., if a volume is missing or a volume is truncated.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

Dönen Değerler

Returns true if the archive is broken, false otherwise. This function may also return false if the passed file has already been closed. The only way to tell the two cases apart is to enable exceptions with RarException::setUsingExceptions(); however, this should be unnecessary as a program should not operate on closed files.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)

Örnek 2 Yordamsal kullanım

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>

Ayrıca Bakınız

  • RarArchive::setAllowBroken() - Whether opening broken archives is allowed


Check whether the RAR archive is solid

  • « RarArchive::isBroken
  • RarArchive::open »
  • PHP Manual
  • RarArchive
  • Check whether the RAR archive is solid

RarArchive::isSolid

rar_solid_is

(PECL rar >= 2.0.0)

RarArchive::isSolid -- rar_solid_is — Check whether the RAR archive is solid

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::isSolid(): bool

Yordamsal kullanım:

rar_solid_is(RarArchive $rarfile): bool

Check whether the RAR archive is solid. Individual file extraction is slower on solid archives.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

Dönen Değerler

Returns true if the archive is solid, false otherwise.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$arch1 = RarArchive::open("store_method.rar");
$arch2 = RarArchive::open("solid.rar");
echo "$arch1: " . ($arch1->isSolid()?'yes':'no') ."\n";
echo "$arch2: " . ($arch2->isSolid()?'yes':'no') . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RAR Archive "C:\php_rar\trunk\tests\store_method.rar": no
RAR Archive "C:\php_rar\trunk\tests\solid.rar": yes

Örnek 2 Yordamsal kullanım

<?php
$arch1 = rar_open("store_method.rar");
$arch2 = rar_open("solid.rar");
echo "$arch1: " . (rar_solid_is($arch1)?'yes':'no') ."\n";
echo "$arch2: " . (rar_solid_is($arch2)?'yes':'no') . "\n";
?>


Open RAR archive

  • « RarArchive::isSolid
  • RarArchive::setAllowBroken »
  • PHP Manual
  • RarArchive
  • Open RAR archive

RarArchive::open

rar_open

(PECL rar >= 2.0.0)

RarArchive::open -- rar_open — Open RAR archive

Açıklama

Nesne yönelimli kullanım (method):

public static RarArchive::open(string $filename, string $password = NULL, callable $volume_callback = NULL): RarArchive|false

Yordamsal kullanım:

rar_open(string $filename, string $password = NULL, callable $volume_callback = NULL): RarArchive|false

Open specified RAR archive and return RarArchive instance representing it.

Bilginize:

If opening a multi-volume archive, the path of the first volume should be passed as the first parameter. Otherwise, not all files will be shown. This is by design.

Bağımsız Değişkenler

filename

Path to the Rar archive.

password

A plain password, if needed to decrypt the headers. It will also be used by default if encrypted files are found. Note that the files may have different passwords in respect to the headers and among them.

volume_callback

A function that receives one parameter - the path of the volume that was not found - and returns a string with the correct path for such volume or null if such volume does not exist or is not known. The programmer should ensure the passed function doesn't cause loops as this function is called repeatedly if the path returned in a previous call did not correspond to the needed volume. Specifying this parameter omits the notice that would otherwise be emitted whenever a volume is not found; an implementation that only returns null can therefore be used to merely omit such notices.

Uyarı

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Dönen Değerler

Returns the requested RarArchive instance başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 3.0.0 | volume_callback was added.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$rar_arch = RarArchive::open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
die("Failed opening file");

$entries = $rar_arch->getEntries();
if ($entries === FALSE)
die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
die("Failed opening first file");

$rar_arch->close();

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Found 2 files.
Content of first one follows:
Encrypted file 1 contents.

Örnek 2 Yordamsal kullanım

<?php
$rar_arch = rar_open('encrypted_headers.rar', 'samplepassword');
if ($rar_arch === FALSE)
die("Failed opening file");

$entries = rar_list($rar_arch);
if ($entries === FALSE)
die("Failed fetching entries");

echo "Found " . count($entries) . " files.\n";

if (empty($entries))
die("No valid entries found.");

$stream = reset($entries)->getStream();
if ($stream === FALSE)
die("Failed opening first file");

rar_close($rar_arch);

echo "Content of first one follows:\n";
echo stream_get_contents($stream);

fclose($stream);
?>

Örnek 3 Volume Callback

<?php
/* In this example, there's a volume named multi_broken.part1.rar
* whose next volume is named multi.part2.rar */
function resolve($vol) {
if (preg_match('/_broken/', $vol))
return str_replace('_broken', '', $vol);
else
return null;
}
$rar_file1 = rar_open(dirname(__FILE__).'/multi_broken.part1.rar', null, 'resolve');
$entry = $rar_file1->getEntry('file2.txt');
$entry->extract(null, dirname(__FILE__) . "/temp_file2.txt");
?>

Ayrıca Bakınız

  • rar:// wrapper


Whether opening broken archives is allowed

  • « RarArchive::open
  • RarArchive::__toString »
  • PHP Manual
  • RarArchive
  • Whether opening broken archives is allowed

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Whether opening broken archives is allowed

Açıklama

Nesne yönelimli kullanım (method):

public RarArchive::setAllowBroken(bool $allow_broken): bool

Yordamsal kullanım:

rar_allow_broken_set(RarArchive $rarfile, bool $allow_broken): bool

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

Bağımsız Değişkenler

rarfile

A RarArchive object, opened with rar_open().

allow_broken

Whether to allow reading broken files (true) or not (false).

Dönen Değerler

Returns true başarısızlık durumunda false döner. It will only fail if the file has already been closed.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
echo "$e\n";
}
var_dump(count($a));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RarEntry for file "file1.txt" (52b28202)
int(1)

Örnek 2 Yordamsal kullanım

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
echo "$e\n";
}
var_dump(count($a));
?>

Ayrıca Bakınız

  • RarArchive::isBroken() - Test whether an archive is broken (incomplete)


Get text representation

  • « RarArchive::setAllowBroken
  • RarEntry »
  • PHP Manual
  • RarArchive
  • Get text representation

RarArchive::__toString

(PECL rar >= 2.0.0)

RarArchive::__toString — Get text representation

Açıklama

public RarArchive::__toString(): string

Provides a string representation for this RarArchive object. It currently shows the full path name of the archive volume that was opened and whether the resource is valid or was already closed through a call to RarArchive::close().

This method may be used only for debugging purposes, as there are no guarantees as to which information the result contains or how it is formatted.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A textual representation of this RarArchive object. The content of this representation is unspecified.

Örnekler

Örnek 1 RarArchive::__toString() example

<?php
$rar_arch = RarArchive::open('latest_winrar.rar');
echo $rar_arch."\n";
$rar_arch->close();
echo $rar_arch."\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar"
RAR Archive "D:\php_rar\trunk\tests\latest_winrar.rar" (closed)


The RarEntry class

(PECL rar >= 0.1)

Giriş

A RAR entry, representing a directory or a compressed file inside a RAR archive.

Sınıf Sözdizimi

final class RarEntry {
/* Sabitler */
const int HOST_MSDOS = 0;
const int HOST_OS2 = 1;
const int HOST_WIN32 = 2;
const int HOST_UNIX = 3;
const int HOST_MACOS = 4;
const int HOST_BEOS = 5;
const int ATTRIBUTE_WIN_READONLY = 1;
const int ATTRIBUTE_WIN_HIDDEN = 2;
const int ATTRIBUTE_WIN_SYSTEM = 4;
const int ATTRIBUTE_WIN_DIRECTORY = 16;
const int ATTRIBUTE_WIN_ARCHIVE = 32;
const int ATTRIBUTE_WIN_DEVICE = 64;
const int ATTRIBUTE_WIN_NORMAL = 128;
const int ATTRIBUTE_WIN_TEMPORARY = 256;
const int ATTRIBUTE_WIN_SPARSE_FILE = 512;
const int ATTRIBUTE_WIN_REPARSE_POINT = 1024;
const int ATTRIBUTE_WIN_COMPRESSED = 2048;
const int ATTRIBUTE_WIN_OFFLINE = 4096;
const int ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192;
const int ATTRIBUTE_WIN_ENCRYPTED = 16384;
const int ATTRIBUTE_WIN_VIRTUAL = 65536;
const int ATTRIBUTE_UNIX_WORLD_EXECUTE = 1;
const int ATTRIBUTE_UNIX_WORLD_WRITE = 2;
const int ATTRIBUTE_UNIX_WORLD_READ = 4;
const int ATTRIBUTE_UNIX_GROUP_EXECUTE = 8;
const int ATTRIBUTE_UNIX_GROUP_WRITE = 16;
const int ATTRIBUTE_UNIX_GROUP_READ = 32;
const int ATTRIBUTE_UNIX_OWNER_EXECUTE = 64;
const int ATTRIBUTE_UNIX_OWNER_WRITE = 128;
const int ATTRIBUTE_UNIX_OWNER_READ = 256;
const int ATTRIBUTE_UNIX_STICKY = 512;
const int ATTRIBUTE_UNIX_SETGID = 1024;
const int ATTRIBUTE_UNIX_SETUID = 2048;
const int ATTRIBUTE_UNIX_FINAL_QUARTET = 61440;
const int ATTRIBUTE_UNIX_FIFO = 4096;
const int ATTRIBUTE_UNIX_CHAR_DEV = 8192;
const int ATTRIBUTE_UNIX_DIRECTORY = 16384;
const int ATTRIBUTE_UNIX_BLOCK_DEV = 24576;
const int ATTRIBUTE_UNIX_REGULAR_FILE = 32768;
const int ATTRIBUTE_UNIX_SYM_LINK = 40960;
const int ATTRIBUTE_UNIX_SOCKET = 49152;
/* Yöntemler */
public extract(
string $dir,
string $filepath = "",
string $password = NULL,
bool $extended_data = false
): bool
public getAttr(): int
public getCrc(): string
public getFileTime(): string
public getHostOs(): int
public getMethod(): int
public getName(): string
public getPackedSize(): int
public getStream(string $password = ?): resource|false
public getUnpackedSize(): int
public getVersion(): int
public isDirectory(): bool
public isEncrypted(): bool
public __toString(): string
}

Öntanımlı Sabitler

RarEntry::HOST_MSDOS

If the return value of RarEntry::getHostOs() equals this constant, MS-DOS was used to add this entry. Use instead of RAR_HOST_MSDOS.

RarEntry::HOST_OS2

If the return value of RarEntry::getHostOs() equals this constant, OS/2 was used to add this entry. Intended to replace RAR_HOST_OS2.

RarEntry::HOST_WIN32

If the return value of RarEntry::getHostOs() equals this constant, Microsoft Windows was used to add this entry. Intended to replace RAR_HOST_WIN32.

RarEntry::HOST_UNIX

If the return value of RarEntry::getHostOs() equals this constant, an unspecified UNIX OS was used to add this entry. Intended to replace RAR_HOST_UNIX.

RarEntry::HOST_MACOS

If the return value of RarEntry::getHostOs() equals this constant, Mac OS was used to add this entry.

RarEntry::HOST_BEOS

If the return value of RarEntry::getHostOs() equals this constant, BeOS was used to add this entry. Intended to replace RAR_HOST_BEOS.

RarEntry::ATTRIBUTE_WIN_READONLY

Bit that represents a Windows entry with a read-only attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_HIDDEN

Bit that represents a Windows entry with a hidden attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SYSTEM

Bit that represents a Windows entry with a system attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DIRECTORY

Bit that represents a Windows entry with a directory attribute (entry is a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_ARCHIVE

Bit that represents a Windows entry with an archive attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_DEVICE

Bit that represents a Windows entry with a device attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NORMAL

Bit that represents a Windows entry with a normal file attribute (entry is NOT a directory). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows. See also RarEntry::isDirectory(), which also works with entries that were not added in WinRAR.

RarEntry::ATTRIBUTE_WIN_TEMPORARY

Bit that represents a Windows entry with a temporary attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_SPARSE_FILE

Bit that represents a Windows entry with a sparse file attribute (file is an NTFS sparse file). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_REPARSE_POINT

Bit that represents a Windows entry with a reparse point attribute (entry is an NTFS reparse point, e.g. a directory junction or a mount file system). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_COMPRESSED

Bit that represents a Windows entry with a compressed attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_OFFLINE

Bit that represents a Windows entry with an offline attribute (entry is offline and not accessible). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED

Bit that represents a Windows entry with a not content indexed attribute (entry is to be indexed). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_ENCRYPTED

Bit that represents a Windows entry with an encrypted attribute (NTFS only). To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_WIN_VIRTUAL

Bit that represents a Windows entry with a virtual attribute. To be used with RarEntry::getAttr() on entries whose host OS is Microsoft Windows.

RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE

Bit that represents a UNIX entry that is world executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE

Bit that represents a UNIX entry that is world writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_WORLD_READ

Bit that represents a UNIX entry that is world readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE

Bit that represents a UNIX entry that is group executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE

Bit that represents a UNIX entry that is group writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_GROUP_READ

Bit that represents a UNIX entry that is group readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE

Bit that represents a UNIX entry that is owner executable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE

Bit that represents a UNIX entry that is owner writable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_OWNER_READ

Bit that represents a UNIX entry that is owner readable. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_STICKY

Bit that represents the UNIX sticky bit. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETGID

Bit that represents the UNIX setgid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_SETUID

Bit that represents the UNIX setuid attribute. To be used with RarEntry::getAttr() on entries whose host OS is UNIX.

RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET

Mask to isolate the last four bits (nibble) of UNIX attributes
      (_S_IFMT, the type of file mask). To be used with
      RarEntry::getAttr() on entries whose host OS is UNIX and with the
      constants RarEntry::ATTRIBUTE_UNIX_FIFO,
      RarEntry::ATTRIBUTE_UNIX_CHAR_DEV,
      RarEntry::ATTRIBUTE_UNIX_DIRECTORY,
      RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV,
      RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE,
      RarEntry::ATTRIBUTE_UNIX_SYM_LINK and
      RarEntry::ATTRIBUTE_UNIX_SOCKET.

RarEntry::ATTRIBUTE_UNIX_FIFO

Unix FIFOs will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_CHAR_DEV

Unix character devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_DIRECTORY

Unix directories will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV

Unix block devices will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE

Unix regular files (not directories) will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET. See also RarEntry::isDirectory(), which also works with entries that were added in other operating systems.

RarEntry::ATTRIBUTE_UNIX_SYM_LINK

Unix symbolic links will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

RarEntry::ATTRIBUTE_UNIX_SOCKET

Unix sockets will have attributes whose last four bits have this value. To be used with RarEntry::getAttr() on entries whose host OS is UNIX and with the constant RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET.

İçindekiler

  • RarEntry::extract — Extract entry from the archive
  • RarEntry::getAttr — Get attributes of the entry
  • RarEntry::getCrc — Get CRC of the entry
  • RarEntry::getFileTime — Get entry last modification time
  • RarEntry::getHostOs — Get entry host OS
  • RarEntry::getMethod — Get pack method of the entry
  • RarEntry::getName — Get name of the entry
  • RarEntry::getPackedSize — Get packed size of the entry
  • RarEntry::getStream — Get file handler for entry
  • RarEntry::getUnpackedSize — Get unpacked size of the entry
  • RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry
  • RarEntry::isDirectory — Test whether an entry represents a directory
  • RarEntry::isEncrypted — Test whether an entry is encrypted
  • RarEntry::__toString — Get text representation of entry


Extract entry from the archive

  • « RarEntry
  • RarEntry::getAttr »
  • PHP Manual
  • RarEntry
  • Extract entry from the archive

RarEntry::extract

(PECL rar >= 0.1)

RarEntry::extract — Extract entry from the archive

Açıklama

public RarEntry::extract(
string $dir,
string $filepath = "",
string $password = NULL,
bool $extended_data = false
): bool

RarEntry::extract() extracts the entry's data. It will create new file in the specified dir with the name identical to the entry's name, unless the second argument is specified. See below for more information.

Bağımsız Değişkenler

dir

Path to the directory where files should be extracted. This parameter is considered if and only if filepath is not. If both parameters are empty an extraction to the current directory will be attempted.

filepath

Path (relative or absolute) containing the directory and filename of the extracted file. This parameter overrides both the parameter dir and the original file name.

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), CRC checking will fail and this method will fail and return false. If no password is given and one is required, this method will fail and return false. You can check whether an entry is encrypted with RarEntry::isEncrypted().

extended_data

If true, extended information such as NTFS ACLs and Unix owner information will be set in the extract files, as long as it's present in the archive.

Uyarı

Prior to version 2.0.0, this function would not handle relative paths correctly. Use realpath() as a workaround.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 3.0.0 | extended_data was added.
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Örnekler

Örnek 1 RarEntry::extract() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

$entry->extract('/dir/to'); // create /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // create /dir/to/new_name.txt

?>

Örnek 2 How to extract all files in archive:

<?php

/* example by Erik Jenssen aka erix */

$filename = "foobar.rar";
$filepath = "/home/foo/bar/";

$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
$entry = rar_entry_get($rar_file, $file);
$entry->extract("."); // extract to the current dir
}
rar_close($rar_file);

?>

Ayrıca Bakınız

  • RarEntry::getStream() - Get file handler for entry
  • rar:// wrapper


Get attributes of the entry

  • « RarEntry::extract
  • RarEntry::getCrc »
  • PHP Manual
  • RarEntry
  • Get attributes of the entry

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttr — Get attributes of the entry

Açıklama

public RarEntry::getAttr(): int

Returns the OS-dependent attributes of the archive entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the attributes or false on error.

Örnekler

Örnek 1 RarEntry::getAttr() example

<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");

$host_os = $entry->getHostOs();
$attr = $entry->getAttr();

switch($host_os) {
case RAR_HOST_MSDOS:
case RAR_HOST_OS2:
case RAR_HOST_WIN32:
case RAR_HOST_MACOS:
printf("%c%c%c%c%c%c\n",
($attr & 0x08) ? 'V' : '.',
($attr & 0x10) ? 'D' : '.',
($attr & 0x01) ? 'R' : '.',
($attr & 0x02) ? 'H' : '.',
($attr & 0x04) ? 'S' : '.',
($attr & 0x20) ? 'A' : '.');
break;
case RAR_HOST_UNIX:
case RAR_HOST_BEOS:
switch ($attr & 0xF000)
{
case 0x4000:
printf("d");
break;
case 0xA000:
printf("l");
break;
default:
printf("-");
break;
}
printf("%c%c%c%c%c%c%c%c%c\n",
($attr & 0x0100) ? 'r' : '-',
($attr & 0x0080) ? 'w' : '-',
($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
($attr & 0x0020) ? 'r' : '-',
($attr & 0x0010) ? 'w' : '-',
($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
($attr & 0x0004) ? 'r' : '-',
($attr & 0x0002) ? 'w' : '-',
($attr & 0x0001) ? 'x' : '-');
break;
}

rar_close($rar_file);

?>

Ayrıca Bakınız

  • RarEntry::getHostOs() - Get entry host OS
  • The constants in RarEntry


Get CRC of the entry

  • « RarEntry::getAttr
  • RarEntry::getFileTime »
  • PHP Manual
  • RarEntry
  • Get CRC of the entry

RarEntry::getCrc

(PECL rar >= 0.1)

RarEntry::getCrc — Get CRC of the entry

Açıklama

public RarEntry::getCrc(): string

Returns an hexadecimal string representation of the CRC of the archive entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the CRC of the archive entry or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 2.0.0 | This method now returns correct values for multiple volume archives.


Get entry last modification time

  • « RarEntry::getCrc
  • RarEntry::getHostOs »
  • PHP Manual
  • RarEntry
  • Get entry last modification time

RarEntry::getFileTime

(PECL rar >= 0.1)

RarEntry::getFileTime — Get entry last modification time

Açıklama

public RarEntry::getFileTime(): string

Gets entry last modification time.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns entry last modification time as string in format YYYY-MM-DD HH:II:SS, or false on error.


Get entry host OS

  • « RarEntry::getFileTime
  • RarEntry::getMethod »
  • PHP Manual
  • RarEntry
  • Get entry host OS

RarEntry::getHostOs

(PECL rar >= 0.1)

RarEntry::getHostOs — Get entry host OS

Açıklama

public RarEntry::getHostOs(): int

Returns the code of the host OS of the archive entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the code of the host OS, or false on error.

Örnekler

Örnek 1 RarEntry::getHostOs() example (version >= 2.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
case RarEntry::HOST_MSDOS:
echo "MS-DOS\n";
break;
case RarEntry::HOST_OS2:
echo "OS2\n";
break;
case RarEntry::HOST_WIN32:
echo "Win32\n";
break;
case RarEntry::HOST_MACOS:
echo "MacOS\n";
break;
case RarEntry::HOST_UNIX:
echo "Unix/Linux\n";
break;
case RarEntry::HOST_BEOS:
echo "BeOS\n";
break;
}

?>

Örnek 2 RarEntry::getHostOs() example (version <= 1.0.0)

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

switch ($entry->getHostOs()) {
case RAR_HOST_MSDOS:
echo "MS-DOS\n";
break;
case RAR_HOST_OS2:
echo "OS2\n";
break;
case RAR_HOST_WIN32:
echo "Win32\n";
break;
case RAR_HOST_MACOS:
echo "MacOS\n";
break;
case RAR_HOST_UNIX:
echo "Unix/Linux\n";
break;
case RAR_HOST_BEOS:
echo "BeOS\n";
break;
}

?>

Ayrıca Bakınız

  • RarEntry::extract() - Extract entry from the archive


Get pack method of the entry

  • « RarEntry::getHostOs
  • RarEntry::getName »
  • PHP Manual
  • RarEntry
  • Get pack method of the entry

RarEntry::getMethod

(PECL rar >= 0.1)

RarEntry::getMethod — Get pack method of the entry

Açıklama

public RarEntry::getMethod(): int

RarEntry::getMethod() returns number of the method used when adding current archive entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the method number or false on error.

Örnekler

Örnek 1 RarEntry::getMethod() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Method number: " . $entry->getMethod();

?>


Get name of the entry

  • « RarEntry::getMethod
  • RarEntry::getPackedSize »
  • PHP Manual
  • RarEntry
  • Get name of the entry

RarEntry::getName

(PECL rar >= 0.1)

RarEntry::getName — Get name of the entry

Açıklama

public RarEntry::getName(): string

Returns the name (with path) of the archive entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the entry name as a string, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 2.0.0 | As of version 2.0.0, the returned string is encoded in Unicode/UTF-8.

Örnekler

Örnek 1 RarEntry::getName() example

<?php

//this example is safe even in pages not encoded in UTF-8
//for those encoded in UTF-8, the call to mb_convert_encoding is unnecessary

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Entry name: " . mb_convert_encoding(
htmlentities(
$entry->getName(),
ENT_COMPAT,
"UTF-8"
),
"HTML-ENTITIES",
"UTF-8"
);

?>


Get packed size of the entry

  • « RarEntry::getName
  • RarEntry::getStream »
  • PHP Manual
  • RarEntry
  • Get packed size of the entry

RarEntry::getPackedSize

(PECL rar >= 0.1)

RarEntry::getPackedSize — Get packed size of the entry

Açıklama

public RarEntry::getPackedSize(): int

Get packed size of the archive entry.

Bilginize:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the packed size, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 2.0.0 | This method now returns correct values of packed sizes bigger than 2 GiB on platforms with 64-bit ints and never returns negative values on other platforms.

Örnekler

Örnek 1 RarEntry::getPackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Packed size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>


Get file handler for entry

  • « RarEntry::getPackedSize
  • RarEntry::getUnpackedSize »
  • PHP Manual
  • RarEntry
  • Get file handler for entry

RarEntry::getStream

(PECL rar >= 2.0.0)

RarEntry::getStream — Get file handler for entry

Açıklama

public RarEntry::getStream(string $password = ?): resource|false

Returns a file handler that supports read operations. This handler provides on-the-fly decompression for this entry.

The handler is not invalidated by calling rar_close().

Uyarı

The resulting stream has no integrity verification. In particular, file corruption and decryption with a wrong a key will not be detected. It is the programmer's responsability to use the entry's CRC to check for integrity, if he so wishes.

Bağımsız Değişkenler

password

The password used to encrypt this entry. If the entry is not encrypted, this value will not be used and can be omitted. If this parameter is omitted and the entry is encrypted, the password given to rar_open(), if any, will be used. If a wrong password is given, either explicitly or implicitly via rar_open(), this method's resulting stream will produce wrong output. If no password is given and one is required, this method will fail and return false. You can check whether an entry is encrypted with RarEntry::isEncrypted().

Dönen Değerler

The file handler başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

Örnekler

Örnek 1 RarEntry::getStream() example

<?php

$rar_file = rar_open('example.rar');
if ($rar_file === false)
die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt');
if ($entry === false)
die("Failed to find such entry");

$stream = $entry->getStream();
if ($stream === false)
die("Failed to obtain stream.");

rar_close($rar_file); //stream is independent from file

while (!feof($stream)) {
$buff = fread($stream, 8192);
if ($buff !== false)
echo $buff;
else
break; //fread error
}

fclose($stream);

?>

Ayrıca Bakınız

  • RarEntry::extract() - Extract entry from the archive
  • rar:// wrapper


Get unpacked size of the entry

  • « RarEntry::getStream
  • RarEntry::getVersion »
  • PHP Manual
  • RarEntry
  • Get unpacked size of the entry

RarEntry::getUnpackedSize

(PECL rar >= 0.1)

RarEntry::getUnpackedSize — Get unpacked size of the entry

Açıklama

public RarEntry::getUnpackedSize(): int

Get unpacked size of the archive entry.

Bilginize:

Note that on platforms with 32-bit longs (that includes Windows x64), the maximum size returned is capped at 2 GiB. Check the constant PHP_INT_MAX.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the unpacked size, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL rar 2.0.0 | This method now returns correct values of unpacked sizes bigger than 2 GiB on platforms with 64-bit ints and never returns negative values on other platforms.

Dönen Değerler

Örnek 1 RarEntry::getUnpackedSize() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Unpacked size of " . $entry->getName() . " = " . $entry->getPackedSize() . " bytes";

?>


Get minimum version of RAR program required to unpack the entry

  • « RarEntry::getUnpackedSize
  • RarEntry::isDirectory »
  • PHP Manual
  • RarEntry
  • Get minimum version of RAR program required to unpack the entry

RarEntry::getVersion

(PECL rar >= 0.1)

RarEntry::getVersion — Get minimum version of RAR program required to unpack the entry

Açıklama

public RarEntry::getVersion(): int

Returns minimum version of RAR program (e.g. WinRAR) required to unpack the entry. It is encoded as 10 * major version + minor version.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the version or false on error.

Örnekler

Örnek 1 RarEntry::getVersion() example

<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");

$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("Failed to find such entry");

echo "Rar version required for unpacking: " . $entry->getVersion();

?>


Test whether an entry represents a directory

  • « RarEntry::getVersion
  • RarEntry::isEncrypted »
  • PHP Manual
  • RarEntry
  • Test whether an entry represents a directory

RarEntry::isDirectory

(PECL rar >= 2.0.0)

RarEntry::isDirectory — Test whether an entry represents a directory

Açıklama

public RarEntry::isDirectory(): bool

Tests whether the current entry is a directory.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this entry is a directory and false otherwise.

Notlar

This function is only available starting with version 2.0.0, but one can also test whether an entry is a directory by checking the entry attributes, like this (only works for files compressed in RAR for Windows or Unix):

<?php
//...
//Open file, get entry and store in variable $e...
//...

$isDirectory = (bool) ((($e->getHostOs() == RAR_HOST_WIN32) && ($e->getAttr() & 0x10)) ||
(($e->getHostOs() == RAR_HOST_UNIX) && (($e->getAttr() & 0xf000) == 0x4000)));
?>


Test whether an entry is encrypted

  • « RarEntry::isDirectory
  • RarEntry::__toString »
  • PHP Manual
  • RarEntry
  • Test whether an entry is encrypted

RarEntry::isEncrypted

(PECL rar >= 2.0.0)

RarEntry::isEncrypted — Test whether an entry is encrypted

Açıklama

public RarEntry::isEncrypted(): bool

Tests whether the current entry contents are encrypted.

Bilginize:

The password used may differ between files inside the same RAR archive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current entry is encrypted and false otherwise.


Get text representation of entry

  • « RarEntry::isEncrypted
  • RarException »
  • PHP Manual
  • RarEntry
  • Get text representation of entry

RarEntry::__toString

(PECL rar >= 2.0.0)

RarEntry::__toString — Get text representation of entry

Açıklama

public RarEntry::__toString(): string

RarEntry::__toString() returns a textual representation for this entry. It includes whether the entry is a file or a directory (symbolic links and other special objects will be treated as files), the UTF-8 name of the entry and its CRC. The form and content of this representation may be changed in the future, so they cannot be relied upon.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A textual representation for the entry.


The RarException class

(PECL rar >= 2.0.0)

Giriş

This class serves two purposes: it is the type of the exceptions thrown by the RAR extension functions and methods and it allows, through static methods to query and define the error behaviour of the extension, i.e., whether exceptions are thrown or only warnings are emitted.

The following error codes are used:

  • -1 - error outside UnRAR library
  • 11 - insufficient memory
  • 12 - bad data
  • 13 - bad archive
  • 14 - unknown format
  • 15 - file open error
  • 16 - file create error
  • 17 - file close error
  • 18 - read error
  • 19 - write error
  • 20 - buffer too small
  • 21 - unknown RAR error
  • 22 - password required but not given

Sınıf Sözdizimi

final class RarException extends Exception {
/* Yöntemler */
public static isUsingExceptions(): bool
public static setUsingExceptions(bool $using_exceptions): void
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

İçindekiler

  • RarException::isUsingExceptions — Check whether error handling with exceptions is in use
  • RarException::setUsingExceptions — Activate and deactivate error handling with exceptions


Check whether error handling with exceptions is in use

  • « RarException
  • RarException::setUsingExceptions »
  • PHP Manual
  • RarException
  • Check whether error handling with exceptions is in use

RarException::isUsingExceptions

(PECL rar >= 2.0.0)

RarException::isUsingExceptions — Check whether error handling with exceptions is in use

Açıklama

public static RarException::isUsingExceptions(): bool

Checks whether the RAR functions will emit warnings and return error values or whether they will throw exceptions in most of the circumstances (does not include some programmatic errors such as passing the wrong type of arguments).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if exceptions are being used, false otherwise.

Örnekler

Örnek 1 RarException::isUsingExceptions() example

<?php
//The default is not to use exceptions
var_dump(RarException::isUsingExceptions());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)

Ayrıca Bakınız

  • RarException::setUsingExceptions() - Activate and deactivate error handling with exceptions


Activate and deactivate error handling with exceptions

  • « RarException::isUsingExceptions
  • Zip »
  • PHP Manual
  • RarException
  • Activate and deactivate error handling with exceptions

RarException::setUsingExceptions

(PECL rar >= 2.0.0)

RarException::setUsingExceptions — Activate and deactivate error handling with exceptions

Açıklama

public static RarException::setUsingExceptions(bool $using_exceptions): void

If and only if the argument is true, then, instead of emitting warnings and returning a special value indicating error when the UnRAR library encounters an error, an exception of type RarException will be thrown.

Exceptions will also be thrown for the following errors, which occur outside the library (their error code will be -1):

  • attempting some operations on a closed RarArchive object or a RarEntry object relative to the first;
  • attempting to get an entry that does not exist with RarArchive::getEntry().

Bağımsız Değişkenler

using_exceptions

Should be true to activate exception throwing, false to deactivate (the default).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 RarException::setUsingExceptions() example

<?php
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch);

RarException::setUsingExceptions(true);
var_dump(RarException::isUsingExceptions());
$arch = RarArchive::open("does_not_exist.rar");
var_dump($arch); //not reached
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)

Warning: RarArchive::open(): Failed to open does_not_exist.rar: ERAR_EOPEN (file open error) in C:\php_rar\trunk\tests\test.php on line 3
bool(false)
bool(true)

Fatal error: Uncaught exception 'RarException' with message 'unRAR internal error: Failed to open does_not_exist.rar: ERAR_EOPEN (file open error)' in C:\php_rar\trunk\tests\test.php:8
Stack trace:
#0 C:\php_rar\trunk\tests\test.php(8): RarArchive::open('does_not_exist....')
#1 {main}
  thrown in C:\php_rar\trunk\tests\test.php on line 8

Ayrıca Bakınız

  • RarException::isUsingExceptions() - Check whether error handling with exceptions is in use


Zip

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • ZipArchive — ZipArchive sınıfı
    • ZipArchive::addEmptyDir — Yeni bir dizin ekler
    • ZipArchive::addFile — Yolu belirtilen dosyayı arşive ekler
    • ZipArchive::addFromString — İsmi ve içeriği belirtilen dosyayı arşive ekler
    • ZipArchive::addGlob — Add files from a directory by glob pattern
    • ZipArchive::addPattern — Add files from a directory by PCRE pattern
    • ZipArchive::clearError — Clear the status error message, system and/or zip messages
    • ZipArchive::close — Etkin (açık veya oluşturulmuş) arşivi kapatır
    • ZipArchive::count — Counts the number of files in the archive
    • ZipArchive::deleteIndex — İndisi belirtilen girdiyi arşivden siler
    • ZipArchive::deleteName — İsmi belirtilen girdiyi siler
    • ZipArchive::extractTo — Arşiv içeriğini çıkarır
    • ZipArchive::getArchiveComment — Zip arşivinin açıklamasını döndürür
    • ZipArchive::getArchiveFlag — Returns the value of a Zip archive global flag
    • ZipArchive::getCommentIndex — İndisi belirtilen girdinin açıklamasını döndürür
    • ZipArchive::getCommentName — İsmi belirtilen girdinin açıklamasını döndürür
    • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex — İndisi belirtilen girdinin içeriğini döndürür
    • ZipArchive::getFromName — İsmi belirtilen girdinin içeriğini döndürür
    • ZipArchive::getNameIndex — İndisi belirtilen girdinin ismini döndürür
    • ZipArchive::GetStatusString — Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür
    • ZipArchive::getStream — İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür
    • ZipArchive::getStreamIndex — Get a file handler to the entry defined by its index (read only)
    • ZipArchive::getStreamName — Get a file handler to the entry defined by its name (read only)
    • ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip
    • ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip
    • ZipArchive::locateName — İsmi belirtilen girdinin indisini döndürür
    • ZipArchive::open — Bir ZIP dosya arşivi açar
    • ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.
    • ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.
    • ZipArchive::renameIndex — İndisi belirtilen girdinin ismini değiştirir
    • ZipArchive::renameName — İsmi belirtilen girdinin ismini değiştirir
    • ZipArchive::replaceFile — Replace file in ZIP archive with a given path
    • ZipArchive::setArchiveComment — Bir ZIP arşivine açıklama ekler
    • ZipArchive::setArchiveFlag — Set a global flag of a ZIP archive
    • ZipArchive::setCommentIndex — İndisi belirtilen girdiye bir açıklama ekler
    • ZipArchive::setCommentName — İsmi belirtilen girdiye bir açıklama ekler
    • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
    • ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index
    • ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
    • ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index
    • ZipArchive::setMtimeName — Set the modification time of an entry defined by its name
    • ZipArchive::setPassword — Set the password for the active archive
    • ZipArchive::statIndex — İndisi belirtilen girdiyle ilgili bilgileri döndürür
    • ZipArchive::statName — İsmi belirtilen girdiyle ilgili bilgileri döndürür
    • ZipArchive::unchangeAll — Arşivde yapılmış değişikliklerin tamamını geri alır
    • ZipArchive::unchangeArchive — Arşiv bilgilerinde yapılmış değişiklikleri geri alır
    • ZipArchive::unchangeIndex — İndisi belirtilen girdideki değişiklikleri geri alır
    • ZipArchive::unchangeName — İsmi belirtilen girdideki değişiklikleri geri alır
  • Zip İşlevleri
    • zip_close — Bir ZIP dosya arşivini kapatır
    • zip_entry_close — Bir dizin girdisini kapatır
    • zip_entry_compressedsize — Dizin girdisinin sıkıştırılmış uzunluğunu döndürür
    • zip_entry_compressionmethod — Dizin girdisinin sıkıştırma yöntemini döndürür
    • zip_entry_filesize — Bir dizin girdisinin uzunluğunu döndürür
    • zip_entry_name — Bir dizin girdisinin ismini döndürür
    • zip_entry_open — Okumak için bir dizin girdisi açar
    • zip_entry_read — Bir açık dizin girdisini okur
    • zip_open — Bir ZIP dosya arşivi açar
    • zip_read — Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Giriş

Bu eklenti, sıkıştırılmış ZIP arşivlerini ve içindeki dosyaları şeffaf olarak okuyup yazmayı etkin kılar.


Gereksinimler

Bu eklenti » libzip kütüphanesini gerektirir. PHP 7.3'e kadar 1.1.12 sürümü PHP paketinde gelirdi

Desteklenen en küçük sürüm 0.11'dir, ancak daha yüksek sürümler önerilir.

  • Şifreleme desteği için 1.2 sürümü gerekir, bkz: ZipArchive::setEncryptionIndex()
  • İlerleme desteği için 1.3 sürümü gerekir, bkz: ZipArchive::registerProgressCallback()
  • İptal desteği için 1.6 sürümü gerekir, bkz: ZipArchive::registerCancelCallback()


Kurulum

Linux sistemleri

PHP 7.4.0 ve sonrasında bu işlevleri kullanmak için PHP'yi --with-zip yapılandırma seçeneğini kullanarak zip desteğiyle derlemelisiniz. Evvelce bu, --enable-zip yapılandırma seçeneğiyle sağlanırdı.

PHP 7.3.0 ve sonrasında, PHP paketinde gelen libzip kullanılarak derleme önerilmemekte olup yapılandırmaya --without-libzip seçeneği eklenerek bu sağlanabilir.

PHP 7.4.0 sürümünde, libzip PHP paketinden kaldırıldı.

Sistem libzip kurulumunu kullanmak için --with-libzip=DİZİN yapılandırma seçeneği eklenmiştir. Libzip 0.11 gerekli olup, 0.11.2 ve sonrası önerilir.

Windows

PHP 8.2.0 ve sonrasında, php_zip.dll php.ini içinde etkin olmalıdır. Evvelce bu eklenti yerleşikti.

PECL üzerinden kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/zip.


Özkaynak Türleri

Zip modülünde kullanılan iki özkaynak türü vardır. İlki, Zip arşivi için Zip dizini, ikincisi ise arşiv girdileri için Zip Girdisi'dir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

ZipArchive, sınıf sabitleri kullanır. Çeşitli sabitler vardır. Bazıları: Seçenekler (FL_ önekli), Küresel seçenekler (AFL_ önekli), hatalar (ER_ önekli) ve kipler (öneksiz).

ZipArchive::CREATE (int)
Bir arşiv yoksa oluşturur.
ZipArchive::OVERWRITE (int)
Arşiv mevcutsa, o anki içeriği yoksayılır. Başka bir deyişle, daima boş bir arşiv başlatır.
ZipArchive::EXCL (int)
Arşiv mevcutsa hata verir.
ZipArchive::RDONLY (int)
Arşiv salt-okunur kipte açılır. libzip ? 1.0.0 ile derlenmişse PHP 7.4.3 ve PECL zip 1.17.1 itibariyle kullanılabilir.
ZipArchive::CHECKCONS (int)
Arşiv üzerinde ek tutarlılık sınamaları yapar; sınamalar başarısız olursa hata verir.
Küresel Arşiv Seçenekleri
ZipArchive::AFL_RDONLY (int)
Arşiv salt-okunur, silinemez. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
ZipArchive::AFL_IS_TORRENTZIP (int)
Geçerli arşiv torrentzip'li. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
ZipArchive::AFL_WANT_TORRENTZIP (int)
Arşiv torrentzip'li yazılır. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE (int)
Arşiv boşsa arşiv dosyası silinmez. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
Arşiv Seçenekleri
ZipArchive::FL_NOCASE (int)
İsim aramasında harf büyüklüğü dikkate alınmaz.
ZipArchive::FL_NODIR (int)
Dizin bileşeni yok sayılır.
ZipArchive::FL_COMPRESSED (int)
Sıkıştırılmış veri okunur.
ZipArchive::FL_UNCHANGED (int)
Özgün veri kullanılır, değişiklikler dikkate alınmaz.
ZipArchive::FL_RECOMPRESS (int)
Verinin yeniden sıkıştırlmasını zorlar. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir. PHP 8.3.0 ve PECL zip 1.22.0 itibariyle önerilmemekte olup gelecek libzip sürümlerinden birinde kaldırılacaktır.
ZipArchive::FL_ENCRYPTED (int)
Şifreli veri okunur (FL_COMPRESSED uygulanır). PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir.
ZipArchive::FL_OVERWRITE (int)
İsmi belirtilen dosya mevcutsa, üzerine yazılır. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir.
ZipArchive::FL_LOCAL (int)
Yerel başlıkta. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir.
ZipArchive::FL_CENTRAL (int)
Merkezî dizinde. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir.
ZipArchive::FL_ENC_GUESS (int)
Dizge kodlaması tahmin edilir (öntanımlıdır). PHP 7.0.8 ve sonrasında geçerlidir.
ZipArchive::FL_ENC_RAW (int)
Değiştirilmemiş dizge döner. PHP 7.0.8 ve sonrasında geçerlidir.
ZipArchive::FL_ENC_STRICT (int)
Kesinlikle belirtime uyulur. PHP 7.0.8 ve sonrasında geçerlidir.
ZipArchive::FL_ENC_UTF_8 (int)
Dizge UTF-8 kodludur. PHP 7.0.8 ve sonrasında geçerlidir.
ZipArchive::FL_ENC_CP437 (int)
Dizge CP437 kodludur. PHP 7.0.8 ve sonrasında geçerlidir.
ZipArchive::FL_OPEN_FILE_NOW (int)
Arşivin kapanmasını beklemek yerine, eklendiğinde dosyayı açar. Dosya tanıtıcı tüketiminin farkında olunur. PHP 8.3.0 ve PECL zip 1.22.1 ve sonrasında geçerlidir.
Sıkıştırma Kipleri
ZipArchive::CM_DEFAULT (int)
Sıkıştırmak veya saklamaktan daha iyisi.
ZipArchive::CM_STORE (int)
Sıkıştırmasız.
ZipArchive::CM_SHRINK (int)
Sıkıştırmalı.
ZipArchive::CM_REDUCE_1 (int)
1 çarpanıyla küçültülmüş.
ZipArchive::CM_REDUCE_2 (int)
2 çarpanıyla küçültülmüş.
ZipArchive::CM_REDUCE_3 (int)
3 çarpanıyla küçültülmüş.
ZipArchive::CM_REDUCE_4 (int)
4 çarpanıyla küçültülmüş.
ZipArchive::CM_IMPLODE (int)
Implode biçemli sıkıştırılmış.
ZipArchive::CM_DEFLATE (int)
Deflate biçemli sıkıştırılmış.
ZipArchive::CM_DEFLATE64 (int)
Deflate64 biçemli sıkıştırılmış.
ZipArchive::CM_PKWARE_IMPLODE (int)
PKWARE implode biçemli sıkıştırılmış.
ZipArchive::CM_BZIP2 (int)
BZIP2 algoritmasıyla sıkıştırılmış.
ZipArchive::CM_LZMA (int)
LZMA algoritması.
ZipArchive::CM_LZMA2 (int)
LZMA2 algoritması. libzip ? 1.6.0 ile derlenmişse PHP 7.4.3 ve PECL zip 1.16.0 itibariyle kullanılabilir.
ZipArchive::CM_ZSTD (int)
Zstandard algoritması. libzip ? 1.8.0 ile derlenmişse PHP 8.0.0 ve PECL zip 1.19.1 itibariyle kullanılabilir.
ZipArchive::CM_XZ (int)
XZ algoritması. libzip ? 1.6.0 ile derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::CM_TERSE (int)
ZipArchive::CM_LZ77 (int)
ZipArchive::CM_WAVPACK (int)
ZipArchive::CM_PPMD (int)
Hatalar
ZipArchive::ER_OK (int)
Hata yok.
ZipArchive::ER_MULTIDISK (int)
Çok diskli zip arşivleri desteklenmiyor.
ZipArchive::ER_RENAME (int)
Geçici dosyanın ismi değiştirilemedi.
ZipArchive::ER_CLOSE (int)
Zip arşivi kapatılamadı.
ZipArchive::ER_SEEK (int)
Konumlama hatası.
ZipArchive::ER_READ (int)
Okuma hatası.
ZipArchive::ER_WRITE (int)
Yazma hatası.
ZipArchive::ER_CRC (int)
CRC hatası
ZipArchive::ER_ZIPCLOSED (int)
İçerilen zip arşivi kapalı.
ZipArchive::ER_NOENT (int)
Böyle bir dosya yok.
ZipArchive::ER_EXISTS (int)
Dosya zaten var.
ZipArchive::ER_OPEN (int)
Dosya açılamadı.
ZipArchive::ER_TMPOPEN (int)
Geçici dosya oluşturulamadı.
ZipArchive::ER_ZLIB (int)
Zlib hatası.
ZipArchive::ER_MEMORY (int)
Bellek ayırmada başarısızlık.
ZipArchive::ER_CHANGED (string)
Girdi değişmiş.
ZipArchive::ER_COMPNOTSUPP (int)
Sıkıştırma yöntemi desteklenmiyor.
ZipArchive::ER_EOF (int)
Dosya sonu eksik.
ZipArchive::ER_INVAL (int)
Geçersiz bağımsız değişken.
ZipArchive::ER_NOZIP (int)
Bir zip arşivi değil.
ZipArchive::ER_INTERNAL (int)
Dahili hata.
ZipArchive::ER_INCONS (int)
Zip arşivi tutarsız.
ZipArchive::ER_REMOVE (int)
Dosya silinemedi.
ZipArchive::ER_DELETED (int)
Girdi silinmiş.
ZipArchive::ER_ENCRNOTSUPP (int)
Şifreleme yöntemi desteklenmiyor. PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_RDONLY (int)
Salt-okunur arşiv. PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_NOPASSWD (int)
Parola girilmedi. PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_WRONGPASSWD (int)
Yanlış parola girildi. PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_OPNOTSUPP (int)
İşlem desteklenmiyor. libzip ? 1.0.0 desteğiyle derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_INUSE (int)
Özkaynak hala kullanımda. libzip ? 1.0.0 desteğiyle derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_TELL (int)
Tell hatası. libzip ? 1.0.0 desteğiyle derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_COMPRESSED_DATA (int)
Sıkıştırlmış veri geçersiz. libzip ? 1.6.0 desteğiyle derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_CANCELLED (int)
İşlem iptal edildi. libzip ? 1.6.0 desteğiyle derlenmişse PHP 7.4.3 ve PECL zip 1.16.1 itibariyle kullanılabilir.
ZipArchive::ER_DATA_LENGTH (int)
Beklenmedik uzunlukta veri. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
ZipArchive::ER_NOT_ALLOWED (int)
torrentzip için izin verilmez. libzip ? 1.10.0 destekli PHP 8.3.0 ve PECL zip 1.22.0 sürümlerinde ve sonrasında kullanılabilir.
Şifreleme Kipleri
ZipArchive::EM_NONE (int)
Şifreleme yok. PHP 7.2.0 ve PECL zip 1.14.0 itibariyle kullanılabilir.
ZipArchive::EM_TRAD_PKWARE (int)
Geleneksel PKWARE şifrelemesi. PHP 8.0.0 ve PECL zip 1.19.0 itibariyle kullanılabilir.
ZipArchive::EM_AES_128 (int)
AES 128 şifrelemesi. libzip ? 1.2.0 desteğiyle derlenmişse PHP 7.2.0 ve PECL zip 1.14.0 itibariyle kullanılabilir.
ZipArchive::EM_AES_192 (int)
AES 192 şifrelemesi. libzip ? 1.2.0 desteğiyle derlenmişse PHP 7.2.0 ve PECL zip 1.14.0 itibariyle kullanılabilir.
ZipArchive::EM_AES_256 (int)
AES 256 şifrelemesi. libzip ? 1.2.0 desteğiyle derlenmişse PHP 7.2.0 ve PECL zip 1.14.0 itibariyle kullanılabilir.
ZipArchive::EM_UNKNOWN (int)
Bilinmeyen şifreleme algoritması. PHP 8.0.0 ve PECL zip 1.19.0 itibariyle kullanılabilir.
Uzunluk girdi sabitleri
ZipArchive::LENGTH_TO_END (int)
Dosya boyutu kullanılır, dosya büyürse ek veriler göz ardı edilir, dosya küçülürse hata ortaya çıkar (ZipArchive::ER_DATA_LENGTH). PHP 8.3.0 ve PECL zip 1.22.2 itibariyle kullanılabilir.
ZipArchive::LENGTH_UNCHECKED (int)
Kullanılabilecek tüm veri kullanılır. Derleme libzip ? 1.10.1 kullanarak yapılmışsa PHP 8.3.0 ve PECL zip 1.22.2 itibariyle kullanılabilir.
Diğer Sabitler
ZipArchive::LIBZIP_VERSION (string)
Zip kütüphanesi sürümü. PHP 7.4.3 ve PECL zip 1.16.0 itibariyle kullanılabilir.
Harici Öznitelikler için İşletim Sistemi Sabitleri
ZipArchive::OPSYS_DOS (int)
ZipArchive::OPSYS_AMIGA (int)
ZipArchive::OPSYS_OPENVMS (int)
ZipArchive::OPSYS_UNIX (int)
ZipArchive::OPSYS_VM_CMS (int)
ZipArchive::OPSYS_ATARI_ST (int)
ZipArchive::OPSYS_OS_2 (int)
ZipArchive::OPSYS_MACINTOSH (int)
ZipArchive::OPSYS_Z_SYSTEM (int)
ZipArchive::OPSYS_CPM (int)
ZipArchive::OPSYS_WINDOWS_NTFS (int)
ZipArchive::OPSYS_MVS (int)
ZipArchive::OPSYS_VSE (int)
ZipArchive::OPSYS_ACORN_RISC (int)
ZipArchive::OPSYS_VFAT (int)
ZipArchive::OPSYS_ALTERNATE_MVS (int)
ZipArchive::OPSYS_BEOS (int)
ZipArchive::OPSYS_TANDEM (int)
ZipArchive::OPSYS_OS_400 (int)
ZipArchive::OPSYS_OS_X (int)
ZipArchive::OPSYS_DEFAULT (int)
PECL zip 1.12.4 itibariyle kullanılabilir


Örnekler

Örnek 1 - Bir Zip arşivi oluşturmak

<?php

$zip = new ZipArchive();
$filename = "./test112.zip";

if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
exit("<$filename> açılamadı\n");
}

$zip->addFromString("testfilephp.txt" . time(),
"#1 Bu, testfilephp.txt olarak eklenen bir deneme dizgesidir.\n");
$zip->addFromString("testfilephp2.txt" . time(),
"#2 Bu, testfilephp2.txt olarak eklenen bir deneme dizgesidir.\n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "dosya sayısı: " . $zip->numFiles . "\n";
echo "durum:" . $zip->status . "\n";
$zip->close();
?>

Örnek 2 - Arşiv bilgilerinin dökümü ve listelenmesi

<?php
$za = new ZipArchive();

$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "Dosya sayısı: " . $za->numFiles . "\n";
echo "Durumu: " . $za->status . "\n";
echo "Sistem durumu: " . $za->statusSys . "\n";
echo "Dosya ismi: " . $za->filename . "\n";
echo "Açıklama: " . $za->comment . "\n";

for ($i=0; $i<$za->numFiles;$i++) {
echo "İndis: $i\n";
print_r($za->statIndex($i));
}
echo "Dosya sayısı:" . $za->numFiles . "\n";
?>

Örnek 3 - Zip akım sarmalayıcı; bir OpenOffice meta bilgisini okur

<?php
$reader = new XMLReader();

$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
if ($reader->nodeType == XMLREADER::ELEMENT) {
$elm = $reader->name;
} else {
if ($reader->nodeType == XMLREADER::END_ELEMENT &&
$reader->name == 'office:meta') {
break;
}
if (!trim($reader->value)) {
continue;
}
$odt_meta[$elm] = $reader->value;
}
}
print_r($odt_meta);
?>

Bu örnekte PHP 4'teki eski eklenti kullanılmıştır. Bir zip dosya arşivi açılmakta, arşivdeki her dosya okunup içeriği basılmaktadır. Bu örnekte ZZIPlib kaynak paketiyle dağıtılan deneme arşivlerinden test2.zip dosyası kullanılmıştır.

Örnek 4 - Zip kullanım örneği (PHP 4)

<?php

$zip = zip_open("/tmp/test2.zip");

if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "İsim: " .
zip_entry_name($zip_entry) . "\n";
echo "Özgün dosya boyu: " .
zip_entry_filesize($zip_entry) . "\n";
echo "Sıkıştırılmış boyut: " .
zip_entry_compressedsize($zip_entry) . "\n";
echo "Sıkıştırma yöntemi: " .
zip_entry_compressionmethod($zip_entry) . "\n";

if (zip_entry_open($zip, $zip_entry, "r")) {
echo "Dosya içeriği:\n";
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
echo "$buf\n";

zip_entry_close($zip_entry);
}
echo "\n";

}

zip_close($zip);

}
?>


ZipArchive sınıfı

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

Giriş

Zip ile sıkıştırılmış bir dosya arşivi.

Sınıf Sözdizimi

class ZipArchive implements Countable {
/* Sabitler */
public const int CREATE;
public const int EXCL;
public const int CHECKCONS;
public const int OVERWRITE;
public const int RDONLY;
public const int FL_NOCASE;
public const int FL_NODIR;
public const int FL_COMPRESSED;
public const int FL_UNCHANGED;
public const int FL_RECOMPRESS;
public const int FL_ENCRYPTED;
public const int FL_OVERWRITE;
public const int FL_LOCAL;
public const int FL_CENTRAL;
public const int FL_ENC_GUESS;
public const int FL_ENC_RAW;
public const int FL_ENC_STRICT;
public const int FL_ENC_UTF_8;
public const int FL_ENC_CP437;
public const int CM_DEFAULT;
public const int CM_STORE;
public const int CM_SHRINK;
public const int CM_REDUCE_1;
public const int CM_REDUCE_2;
public const int CM_REDUCE_3;
public const int CM_REDUCE_4;
public const int CM_IMPLODE;
public const int CM_DEFLATE;
public const int CM_DEFLATE64;
public const int CM_PKWARE_IMPLODE;
public const int CM_BZIP2;
public const int CM_LZMA;
public const int CM_LZMA2;
public const int CM_ZSTD;
public const int CM_XZ;
public const int CM_TERSE;
public const int CM_LZ77;
public const int CM_WAVPACK;
public const int CM_PPMD;
public const int ER_OK;
public const int ER_MULTIDISK;
public const int ER_RENAME;
public const int ER_CLOSE;
public const int ER_SEEK;
public const int ER_READ;
public const int ER_WRITE;
public const int ER_CRC;
public const int ER_ZIPCLOSED;
public const int ER_NOENT;
public const int ER_EXISTS;
public const int ER_OPEN;
public const int ER_TMPOPEN;
public const int ER_ZLIB;
public const int ER_MEMORY;
public const int ER_CHANGED;
public const int ER_COMPNOTSUPP;
public const int ER_EOF;
public const int ER_INVAL;
public const int ER_NOZIP;
public const int ER_INTERNAL;
public const int ER_INCONS;
public const int ER_REMOVE;
public const int ER_DELETED;
public const int ER_ENCRNOTSUPP;
public const int ER_RDONLY;
public const int ER_NOPASSWD;
public const int ER_WRONGPASSWD;
public const int ER_OPNOTSUPP;
public const int ER_INUSE;
public const int ER_TELL;
public const int ER_COMPRESSED_DATA;
public const int ER_CANCELLED;
public const int OPSYS_DOS;
public const int OPSYS_AMIGA;
public const int OPSYS_OPENVMS;
public const int OPSYS_UNIX;
public const int OPSYS_VM_CMS;
public const int OPSYS_ATARI_ST;
public const int OPSYS_OS_2;
public const int OPSYS_MACINTOSH;
public const int OPSYS_Z_SYSTEM;
public const int OPSYS_CPM;
public const int OPSYS_WINDOWS_NTFS;
public const int OPSYS_MVS;
public const int OPSYS_VSE;
public const int OPSYS_ACORN_RISC;
public const int OPSYS_VFAT;
public const int OPSYS_ALTERNATE_MVS;
public const int OPSYS_BEOS;
public const int OPSYS_TANDEM;
public const int OPSYS_OS_400;
public const int OPSYS_OS_X;
public const int OPSYS_DEFAULT;
public const int EM_NONE;
public const int EM_TRAD_PKWARE;
public const int EM_AES_128;
public const int EM_AES_192;
public const int EM_AES_256;
public const int EM_UNKNOWN;
public const string LIBZIP_VERSION;
/* Özellikler */
public readonly int $lastId;
public readonly int $status;
public readonly int $statusSys;
public readonly int $numFiles;
public readonly string $filename;
public readonly string $comment;
/* Yöntemler */
public addEmptyDir(string $dizin, int $seçenekler = 0): bool
public addFile(
string $dosyayolu,
string $girdiadı = "",
int $başlangıç = 0,
int $uzunluk = ZipArchive::LENGTH_TO_END,
int $seçenekler = ZipArchive::FL_OVERWRITE
): bool
public addFromString(string $isim, string $içerik, int $seçenekler = ZipArchive::FL_OVERWRITE): bool
public addGlob(string $pattern, int $flags = 0, array $options = []): array|false
public addPattern(string $pattern, string $path = ".", array $options = []): array|false
public clearError(): void
public close(): bool
public count(): int
public deleteIndex(int $indis): bool
public deleteName(string $isim): bool
public extractTo(string $hedef, array|string|null $girdiler = null): bool
public getArchiveComment(int $seçenekler = 0): string|false
public getArchiveFlag(int $flag = 0, int $flags = 0): int
public getCommentIndex(int $indis, int $seçenekler = 0): string|false
public getCommentName(string $isim, int $seçenekler = 0): string|false
public getExternalAttributesIndex(
int $index,
int &$opsys,
int &$attr,
int $flags = 0
): bool
public getExternalAttributesName(
string $name,
int &$opsys,
int &$attr,
int $flags = 0
): bool
public getFromIndex(int $indis, int $uzunluk = 0, int $seçenekler = 0): string|false
public getFromName(string $isim, int $uzunluk = 0, int $seçenekler = 0): string|false
public getNameIndex(int $indis, int $seçenekler = 0): string|false
public getStatusString(): string
public getStream(string $isim): resource|false
public getStreamIndex(int $index, int $flags = 0): resource|false
public getStreamName(string $name, int $flags = 0): resource|false
public static isCompressionMethodSupported(int $method, bool $enc = true): bool
public static isEncryptionMethodSupported(int $method, bool $enc = true): bool
public locateName(string $isim, int $seçenekler = 0): int|false
public open(string $dosya, int $seçenekler = 0): bool|int
public registerCancelCallback(callable $callback): bool
public registerProgressCallback(float $rate, callable $callback): bool
public renameIndex(int $indis, string $yeni_isim): bool
public renameName(string $isim, string $yenisi): bool
public replaceFile(
string $filepath,
int $index,
int $start = 0,
int $length = ZipArchive::LENGTH_TO_END,
int $flags = 0
): bool
public setArchiveComment(string $açıklama): bool
public setArchiveFlag(int $flag, int $value): bool
public setCommentIndex(int $indis, string $açıklama): bool
public setCommentName(string $isim, string $açıklama): bool
public setCompressionIndex(int $index, int $method, int $compflags = 0): bool
public setCompressionName(string $name, int $method, int $compflags = 0): bool
public setEncryptionIndex(int $index, int $method, ?string $password = null): bool
public setEncryptionName(string $name, int $method, ?string $password = null): bool
public setExternalAttributesIndex(
int $index,
int $opsys,
int $attr,
int $flags = 0
): bool
public setExternalAttributesName(
string $name,
int $opsys,
int $attr,
int $flags = 0
): bool
public setMtimeIndex(int $index, int $timestamp, int $flags = 0): bool
public setMtimeName(string $name, int $timestamp, int $flags = 0): bool
public setPassword(string $password): bool
public statIndex(int $indis, int $seçenekler = 0): array|false
public statName(string $isim, int $seçenekler = 0): array|false
public unchangeAll(): bool
public unchangeArchive(): bool
public unchangeIndex(int $indis): bool
public unchangeName(string $isim): bool
}

Özellikler

lastId

Son eklenen girdinin (dosya veya dizin) indis değeri. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kullanılabilir.

status

Zip Arşivinin durumu. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kapalı arşiv için kullanılabilir.

statusSys

Zip Arşivinin sistem durumu. PHP 8.0.0 ve PECL zip 1.18.0 itibariyle kapalı arşiv için kullanılabilir.

numFiles

Arşivdeki dosya sayısı

filename

Dosya sistemindeki dosya ismi

comment

Arşivle ilgili açıklama

İçindekiler

  • ZipArchive::addEmptyDir — Yeni bir dizin ekler
  • ZipArchive::addFile — Yolu belirtilen dosyayı arşive ekler
  • ZipArchive::addFromString — İsmi ve içeriği belirtilen dosyayı arşive ekler
  • ZipArchive::addGlob — Add files from a directory by glob pattern
  • ZipArchive::addPattern — Add files from a directory by PCRE pattern
  • ZipArchive::clearError — Clear the status error message, system and/or zip messages
  • ZipArchive::close — Etkin (açık veya oluşturulmuş) arşivi kapatır
  • ZipArchive::count — Counts the number of files in the archive
  • ZipArchive::deleteIndex — İndisi belirtilen girdiyi arşivden siler
  • ZipArchive::deleteName — İsmi belirtilen girdiyi siler
  • ZipArchive::extractTo — Arşiv içeriğini çıkarır
  • ZipArchive::getArchiveComment — Zip arşivinin açıklamasını döndürür
  • ZipArchive::getArchiveFlag — Returns the value of a Zip archive global flag
  • ZipArchive::getCommentIndex — İndisi belirtilen girdinin açıklamasını döndürür
  • ZipArchive::getCommentName — İsmi belirtilen girdinin açıklamasını döndürür
  • ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
  • ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name
  • ZipArchive::getFromIndex — İndisi belirtilen girdinin içeriğini döndürür
  • ZipArchive::getFromName — İsmi belirtilen girdinin içeriğini döndürür
  • ZipArchive::getNameIndex — İndisi belirtilen girdinin ismini döndürür
  • ZipArchive::GetStatusString — Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür
  • ZipArchive::getStream — İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür
  • ZipArchive::getStreamIndex — Get a file handler to the entry defined by its index (read only)
  • ZipArchive::getStreamName — Get a file handler to the entry defined by its name (read only)
  • ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip
  • ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip
  • ZipArchive::locateName — İsmi belirtilen girdinin indisini döndürür
  • ZipArchive::open — Bir ZIP dosya arşivi açar
  • ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.
  • ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.
  • ZipArchive::renameIndex — İndisi belirtilen girdinin ismini değiştirir
  • ZipArchive::renameName — İsmi belirtilen girdinin ismini değiştirir
  • ZipArchive::replaceFile — Replace file in ZIP archive with a given path
  • ZipArchive::setArchiveComment — Bir ZIP arşivine açıklama ekler
  • ZipArchive::setArchiveFlag — Set a global flag of a ZIP archive
  • ZipArchive::setCommentIndex — İndisi belirtilen girdiye bir açıklama ekler
  • ZipArchive::setCommentName — İsmi belirtilen girdiye bir açıklama ekler
  • ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index
  • ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
  • ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name
  • ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index
  • ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name
  • ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index
  • ZipArchive::setMtimeName — Set the modification time of an entry defined by its name
  • ZipArchive::setPassword — Set the password for the active archive
  • ZipArchive::statIndex — İndisi belirtilen girdiyle ilgili bilgileri döndürür
  • ZipArchive::statName — İsmi belirtilen girdiyle ilgili bilgileri döndürür
  • ZipArchive::unchangeAll — Arşivde yapılmış değişikliklerin tamamını geri alır
  • ZipArchive::unchangeArchive — Arşiv bilgilerinde yapılmış değişiklikleri geri alır
  • ZipArchive::unchangeIndex — İndisi belirtilen girdideki değişiklikleri geri alır
  • ZipArchive::unchangeName — İsmi belirtilen girdideki değişiklikleri geri alır


Yeni bir dizin ekler

  • « ZipArchive
  • ZipArchive::addFile »
  • PHP Manual
  • ZipArchive
  • Yeni bir dizin ekler

ZipArchive::addEmptyDir

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.8.0)

ZipArchive::addEmptyDir — Yeni bir dizin ekler

Açıklama

public ZipArchive::addEmptyDir(string $dizin, int $seçenekler = 0): bool

Arşive boş bir dizin ekler.

Bağımsız Değişkenler

dizin

Eklenecek dizinin ismi.

seçenekler

ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437 sabitlerinin bit maskesi. Bu sabitlerin davranışı ZIP sabitleri sayfasında açıklanmıştır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 / 1.18.0 | seçenekler eklendi.

Örnekler

Örnek 1 - Bir arşivde boş bir dizin oluşturmak

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
if($zip->addEmptyDir('newDirectory')) {
echo 'Kök dizin oluşturuldu';
} else {
echo 'Dizin oluşturulamadı';
}
$zip->close();
} else {
echo 'başarısız';
}
?>


Yolu belirtilen dosyayı arşive ekler

  • « ZipArchive::addEmptyDir
  • ZipArchive::addFromString »
  • PHP Manual
  • ZipArchive
  • Yolu belirtilen dosyayı arşive ekler

ZipArchive::addFile

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFile — Yolu belirtilen dosyayı arşive ekler

Açıklama

   public
   ZipArchive::addFile(
string $dosyayolu,
string $girdiadı = "",
int $başlangıç = 0,
int $uzunluk = ZipArchive::LENGTH_TO_END,
int $seçenekler = ZipArchive::FL_OVERWRITE
): bool

Yolu belirtilen dosyayı arşive ekler.

Bilginize: Taşınabilirliği arttırmak için ZIP dosya isimlerinde dizin ayracı olarak bölü çizgilerini (/) kullanın.

Bağımsız Değişkenler

dosyayolu

Eklenecek dosyanın yolu.

girdiadı

Belirtilmişse ve boş değilse dosyanın ZIP arşivi içindeki ismi olup dosyayolunu geçersiz kılar.

başlangıç

Kısmi kopya için başlangıç konumu.

uzunluk

Kısmi kopya için kopyalanan uzunluk;
ZipArchive::LENGTH_TO_END (0) ise dosya boyutu,
ZipArchive::LENGTH_UNCHECKED ise dosyanın tamamı
kullanılır.

seçenekler

ZipArchive::FL_OVERWRITE,
ZipArchive::FL_ENC_GUESS,
ZipArchive::FL_ENC_UTF_8,
ZipArchive::FL_ENC_CP437,
ZipArchive::FL_OPEN_FILE_NOW
sabitlerinin bit maskesi.
Bu sabitlerin davranışı ZIP sabitleri
sayfasında açıklanmıştır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 / 1.22.1 | ZipArchive::FL_OPEN_FILE_NOW eklendi.
8.3.0 / 1.22.2 | ZipArchive::LENGTH_TO_END ve ZipArchive::LENGTH_UNCHECKEDsabiti eklendi.
8.0.0 / 1.18.0 | seçenekler eklendi.

Örnekler

Bu örnekte test.zip adında bir ZIP arşivi açılıp /path/to/index.txt dosyası newname.txt ismiyle arşive eklenmektedir.

Örnek 1 - Aç ve ekle

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>

Notlar

Bilginize:

Bir dosya arşive eklenecekse, PHP dosyayı kilitler. Kilit, yalnızca ZipArchive nesnesi kapatıldığında, ZipArchive::close() veya ZipArchive nesnesi yok edildiğinde serbest bırakılır. Kilit serbest bırakılana kadar eklenen dosyayı silmeniz engellenebilir.

Ayrıca Bakınız

  • ZipArchive::replaceFile() - Replace file in ZIP archive with a given path


İsmi ve içeriği belirtilen dosyayı arşive ekler

  • « ZipArchive::addFile
  • ZipArchive::addGlob »
  • PHP Manual
  • ZipArchive
  • İsmi ve içeriği belirtilen dosyayı arşive ekler

ZipArchive::addFromString

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFromString — İsmi ve içeriği belirtilen dosyayı arşive ekler

Açıklama

public ZipArchive::addFromString(string $isim, string $içerik, int $seçenekler = ZipArchive::FL_OVERWRITE): bool

İsmi ve içeriği belirtilen dosyayı arşive ekler.

Bilginize: Taşınabilirliği arttırmak için ZIP dosya isimlerinde dizin ayracı olarak bölü çizgilerini (/) kullanın.

Bağımsız Değişkenler

isim

Oluşturulacak girdinin ismi.

içerik

Oluşturulacak girdinin içeriği. İkil olarak güvenli kipte yazılır.

seçenekler

ZipArchive::FL_OVERWRITE, ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437 sabitlerinin bit maskesi. Bu sabitlerin davranışı ZIP sabitleri sayfasında açıklanmıştır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 / 1.18.0 | seçenekler eklendi.

Örnekler

Örnek 1 - Arşive yeni bir girdi eklemek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'Bu dizge dosyanın içeriğidir.'');
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>

Örnek 2 - Bir dosyayı arşivdeki bir dizine eklemek

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFromString('dir/test.txt', 'Bu dizge dosyanın içeriğidir.'');
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>


Add files from a directory by glob pattern

  • « ZipArchive::addFromString
  • ZipArchive::addPattern »
  • PHP Manual
  • ZipArchive
  • Add files from a directory by glob pattern

ZipArchive::addGlob

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)

ZipArchive::addGlob — Add files from a directory by glob pattern

Açıklama

public ZipArchive::addGlob(string $pattern, int $flags = 0, array $options = []): array|false

Add files from a directory which match the glob pattern.

Bilginize: Taşınabilirliği arttırmak için ZIP dosya isimlerinde dizin ayracı olarak bölü çizgilerini (/) kullanın.

Bağımsız Değişkenler

pattern

A glob() pattern against which files will be matched.

flags

A bit mask of glob() flags.

options

An associative array of options. Available options are:

  • "add_path"

    Prefix to prepend when translating to the local path of the file within the archive. This is applied after any remove operations defined by the "remove_path" or "remove_all_path" options.

  • "remove_path"

    Prefix to remove from matching file paths before adding to the archive.

  • "remove_all_path"

    true to use the file name only and add to the root of the archive.

  • "flags"

    Bitmask consisting of
ZipArchive::FL_OVERWRITE,
ZipArchive::FL_ENC_GUESS,
ZipArchive::FL_ENC_UTF_8,
ZipArchive::FL_ENC_CP437,
ZipArchive::FL_OPEN_FILE_NOW.
The behaviour of these constants is described on the
ZIP constants page.

  • "comp_method"

    Compression method, one of the ZipArchive::CM_* constants, see ZIP constants page.

  • "comp_flags"

    Compression level.

  • "enc_method"

    Encryption method, one of the ZipArchive::EM_* constants, see ZIP constants page.

  • "enc_password"

    Password used for encryption.

Dönen Değerler

An array of added files on success başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 / 1.18.0 | "flags" in options was added.
8.0.0 / 1.18.1 | "comp_method", "comp_flags", "enc_method" and "enc_password" in options were added.
8.3.0 / 1.22.1 | ZipArchive::FL_OPEN_FILE_NOW was added.

Örnekler

Örnek 1 ZipArchive::addGlob() example

Add all php scripts and text files from current working directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('Failed with code %d', $ret);
} else {
$options = array('add_path' => 'sources/', 'remove_all_path' => TRUE);
$zip->addGlob('*.{php,txt}', GLOB_BRACE, $options);
$zip->close();
}
?>

Ayrıca Bakınız

  • ZipArchive::addFile() - Yolu belirtilen dosyayı arşive ekler
  • ZipArchive::addPattern() - Add files from a directory by PCRE pattern


Add files from a directory by PCRE pattern

  • « ZipArchive::addGlob
  • ZipArchive::clearError »
  • PHP Manual
  • ZipArchive
  • Add files from a directory by PCRE pattern

ZipArchive::addPattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0)

ZipArchive::addPattern — Add files from a directory by PCRE pattern

Açıklama

public ZipArchive::addPattern(string $pattern, string $path = ".", array $options = []): array|false

Add files from a directory which match the regular expression pattern. The operation is not recursive. The pattern will be matched against the file name only.

Bağımsız Değişkenler

pattern

A PCRE pattern against which files will be matched.

path

The directory that will be scanned. Defaults to the current working directory.

options

An associative array of options accepted by ZipArchive::addGlob().

Dönen Değerler

An array of added files on success başarısızlık durumunda false döner

Örnekler

Örnek 1 ZipArchive::addPattern() example

Add all php scripts and text files from current directory

<?php
$zip = new ZipArchive();
$ret = $zip->open('application.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
if ($ret !== TRUE) {
printf('Failed with code %d', $ret);
} else {
$directory = realpath('.');
$options = array('add_path' => 'sources/', 'remove_path' => $directory);
$zip->addPattern('/\.(?:php|txt)$/', $directory, $options);
$zip->close();
}
?>

Ayrıca Bakınız

  • ZipArchive::addFile() - Yolu belirtilen dosyayı arşive ekler
  • ZipArchive::addGlob() - Add files from a directory by glob pattern


Clear the status error message, system and/or zip messages

  • « ZipArchive::addPattern
  • ZipArchive::close »
  • PHP Manual
  • ZipArchive
  • Clear the status error message, system and/or zip messages

ZipArchive::clearError

(PHP 8 >= 8.2.0, PECL zip >= 1.20.0)

ZipArchive::clearError — Clear the status error message, system and/or zip messages

Açıklama

public ZipArchive::clearError(): void

Clear the status error message, system and/or zip messages.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ZipArchive::getStatusString() - Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür


Etkin (açık veya oluşturulmuş) arşivi kapatır

  • « ZipArchive::clearError
  • ZipArchive::count »
  • PHP Manual
  • ZipArchive
  • Etkin (açık veya oluşturulmuş) arşivi kapatır

ZipArchive::close

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::close — Etkin (açık veya oluşturulmuş) arşivi kapatır

Açıklama

public ZipArchive::close(): bool

Açılmış veya yeni oluşturulmuş arşivi kapatır ve değişiklikleri kaydeder. Bu yöntem betiğin sonunda otomatik olarak çağrılır.

Arşiv dosya içermiyorsa, arşiv dosyası ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE küresel seçeneğinin değerine uygun olarak silinir (veya silinmez).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ZipArchive::setArchiveFlag() - Set a global flag of a ZIP archive


Counts the number of files in the archive

  • « ZipArchive::close
  • ZipArchive::deleteIndex »
  • PHP Manual
  • ZipArchive
  • Counts the number of files in the archive

ZipArchive::count

(PHP 7 >= 7.2.0, PHP 8, PECL zip >= 1.15.0)

ZipArchive::count — Counts the number of files in the archive

Açıklama

public ZipArchive::count(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of files in the archive.


İndisi belirtilen girdiyi arşivden siler

  • « ZipArchive::count
  • ZipArchive::deleteName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdiyi arşivden siler

ZipArchive::deleteIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::deleteIndex — İndisi belirtilen girdiyi arşivden siler

Açıklama

public ZipArchive::deleteIndex(int $indis): bool

İndisi belirtilen girdiyi arşivden siler.

Bağımsız Değişkenler

indis

Silinecek girdinin indisi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - İndisini kullanarak arşivden bir dosya silmek

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->deleteIndex(2);
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>


İsmi belirtilen girdiyi siler

  • « ZipArchive::deleteIndex
  • ZipArchive::extractTo »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdiyi siler

ZipArchive::deleteName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::deleteName — İsmi belirtilen girdiyi siler

Açıklama

public ZipArchive::deleteName(string $isim): bool

İsmi belirtilen girdiyi arşivden siler.

Bağımsız Değişkenler

isim

Silinecek girdinin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - İsmini kullanarak arşivden bir dosya silmek

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
$zip->deleteName('testfromfile.php');
$zip->deleteName('testDir/');
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>


Arşiv içeriğini çıkarır

  • « ZipArchive::deleteName
  • ZipArchive::getArchiveComment »
  • PHP Manual
  • ZipArchive
  • Arşiv içeriğini çıkarır

ZipArchive::extractTo

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::extractTo — Arşiv içeriğini çıkarır

Açıklama

public ZipArchive::extractTo(string $hedef, array|string|null $girdiler = null): bool

Arşivin tamamını veya belirtilen dosyaları belirtilen hedefe çıkarır.

Uyarı

Çıkarılan dosya ve dizinler için öntanımlı izinler olası en geniş yetkileri sağlar. Bu geçerli umask değeri ile sınırlanabilir. Geçerli umask değeri umask() işlevi ile değiştirilebilir.

Bağımsız Değişkenler

hedef

Dosyaların çıkarılacağı yer.

girdiler

Çıkarılacak girdiler. Tek bir girdi ismi içeren bir dizge veya girdi isimlerini içeren bir dizi kabul eder.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Tüm girdileri çıkarmak

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->extractTo('/my/destination/dir/');
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>

Örnek 2 - İki girdi çıkarmak

<?php
$zip = new ZipArchive;
$res = $zip->open('test_im.zip');
if ($res === TRUE) {
$zip->extractTo('/my/destination/dir/', array('pear_item.gif',
'testfromfile.php'));
$zip->close();
echo 'Tamam';
} else {
echo 'olmadı';
}
?>

Notlar

Bilginize:

Windows NTFS dosya sistemi dosya isimlerinde <|>*?": gibi bazı karakterleri desteklemez. Bundan başka nokta ile biten dosya isimleri de desteklenmez. Bazı dosya çıkarma araçlarının aksine, bu yöntem bu karakterleri bir alt çizgi ile değiştirmek yerine bu tür dosyaları çıkarmada başarısız olur.


Zip arşivinin açıklamasını döndürür

  • « ZipArchive::extractTo
  • ZipArchive::getArchiveFlag »
  • PHP Manual
  • ZipArchive
  • Zip arşivinin açıklamasını döndürür

ZipArchive::getArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getArchiveComment — Zip arşivinin açıklamasını döndürür

Açıklama

public ZipArchive::getArchiveComment(int $seçenekler = 0): string|false

Zip arşivinin açıklamasını döndürür.

Bağımsız Değişkenler

seçenekler

Değer olarak ZipArchive::FL_UNCHANGED belirtilirse özgün açıklama değişmeden döner.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde açıklama dizgesi döner.

Örnekler

Örnek 1 - Bir arşiv açıklamasını basmak

<?php
$zip = new ZipArchive;
$res = $zip->open('test_with_comment.zip');
if ($res === TRUE) {
var_dump($zip->getArchiveComment());
/* Veya arşivin özelliğini kullanalım */
var_dump($zip->comment);
} else {
echo 'olmadı, kod:' . $res;
}
?>


Returns the value of a Zip archive global flag

  • « ZipArchive::getArchiveComment
  • ZipArchive::getCommentIndex »
  • PHP Manual
  • ZipArchive
  • Returns the value of a Zip archive global flag

ZipArchive::getArchiveFlag

(PHP >= 8.3.0, PECL zip >= 1.22.0)

ZipArchive::getArchiveFlag — Returns the value of a Zip archive global flag

Açıklama

public ZipArchive::getArchiveFlag(int $flag = 0, int $flags = 0): int

Returns a Zip archive global flag value.

Bağımsız Değişkenler

flag

The global flag to retrieve, among AFL_* constants:

  • ZipArchive::AFL_RDONLY

  • ZipArchive::AFL_IS_TORRENTZIP

  • ZipArchive::AFL_WANT_TORRENTZIP

  • ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged flag is returned.

Dönen Değerler

Returns 1 if flag is set for archive, 0 if not, and -1 if an error occurred.

Örnekler

Örnek 1 Test if archive is a torrentzip format

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
var_dump($zip->getArchiveFlag(ZipArchive::AFL_IS_TORRENTZIP));
} else {
echo 'failed, code:' . $res;
}
?>

Ayrıca Bakınız

  • ZipArchive::setArchiveFlag() - Set a global flag of a ZIP archive


İndisi belirtilen girdinin açıklamasını döndürür

  • « ZipArchive::getArchiveFlag
  • ZipArchive::getCommentName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdinin açıklamasını döndürür

ZipArchive::getCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::getCommentIndex — İndisi belirtilen girdinin açıklamasını döndürür

Açıklama

public ZipArchive::getCommentIndex(int $indis, int $seçenekler = 0): string|false

İndisi belirtilen girdinin açıklamasını döndürür.

Bağımsız Değişkenler

indis

Girdinin indisi.

seçenekler

Değer olarak ZipArchive::FL_UNCHANGED belirtilirse özgün açıklama değişmeden döner.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde açıklama dizgesi döner.

Örnekler

Örnek 1 - Bir girdinin açıklamasını basmak

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
var_dump($zip->getCommentIndex(1));
} else {
echo 'olmadı, kod:' . $res;
}
?>


İsmi belirtilen girdinin açıklamasını döndürür

  • « ZipArchive::getCommentIndex
  • ZipArchive::getExternalAttributesIndex »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdinin açıklamasını döndürür

ZipArchive::getCommentName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::getCommentName — İsmi belirtilen girdinin açıklamasını döndürür

Açıklama

public ZipArchive::getCommentName(string $isim, int $seçenekler = 0): string|false

İsmi belirtilen girdinin açıklamasını döndürür.

Bağımsız Değişkenler

isim

Girdinin ismi.

seçenekler

Değer olarak ZipArchive::FL_UNCHANGED belirtilirse özgün açıklama değişmeden döner.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde açıklama dizgesi döner.

Örnekler

Örnek 1 - Bir girdinin açıklamasını basmak

<?php
$zip = new ZipArchive;
$res = $zip->open('test1.zip');
if ($res === TRUE) {
var_dump($zip->getCommentName('test/entry1.txt'));
} else {
echo 'olmadı, kod:' . $res;
}
?>


Retrieve the external attributes of an entry defined by its index

  • « ZipArchive::getCommentName
  • ZipArchive::getExternalAttributesName »
  • PHP Manual
  • ZipArchive
  • Retrieve the external attributes of an entry defined by its index

ZipArchive::getExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index

Açıklama

public ZipArchive::getExternalAttributesIndex(
int $index,
int &$opsys,
int &$attr,
int $flags = 0
): bool

Retrieve the external attributes of an entry defined by its index.

Bağımsız Değişkenler

index

Index of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.

Örnek 1 Extract all entries with Unix rights

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip') === TRUE) {
for ($idx=0 ; $s = $zip->statIndex($idx) ; $idx++) {
if ($zip->extractTo('.', $s['name'])) {
if ($zip->getExternalAttributesIndex($idx, $opsys, $attr)
&& $opsys==ZipArchive::OPSYS_UNIX) {
chmod($s['name'], ($attr >> 16) & 0777);
}
}
}
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>


Retrieve the external attributes of an entry defined by its name

  • « ZipArchive::getExternalAttributesIndex
  • ZipArchive::getFromIndex »
  • PHP Manual
  • ZipArchive
  • Retrieve the external attributes of an entry defined by its name

ZipArchive::getExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesName — Retrieve the external attributes of an entry defined by its name

Açıklama

public ZipArchive::getExternalAttributesName(
string $name,
int &$opsys,
int &$attr,
int $flags = 0
): bool

Retrieve the external attributes of an entry defined by its name.

Bağımsız Değişkenler

name

Name of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


İndisi belirtilen girdinin içeriğini döndürür

  • « ZipArchive::getExternalAttributesName
  • ZipArchive::getFromName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdinin içeriğini döndürür

ZipArchive::getFromIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getFromIndex — İndisi belirtilen girdinin içeriğini döndürür

Açıklama

public ZipArchive::getFromIndex(int $indis, int $uzunluk = 0, int $seçenekler = 0): string|false

İndisi belirtilen girdinin içeriğini döndürür.

Bağımsız Değişkenler

indis

Girdi indisi.

uzunluk

Girdiden okunacak uzunluk. 0 belirtilirse, tüm girdi okunur.

seçenekler

Arşivi açmakta kullanılacak seçenekler, Aşağıdaki sabitler VEYAlanarak belirtilir:

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin içeriği döner.

Örnekler

Örnek 1 - Dosya içeriğini basmak

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
echo $zip->getFromIndex(2);
$zip->close();
} else {
echo 'olmadı';
}
?>

Ayrıca Bakınız

  • ZipArchive::getFromName() - İsmi belirtilen girdinin içeriğini döndürür


İsmi belirtilen girdinin içeriğini döndürür

  • « ZipArchive::getFromIndex
  • ZipArchive::getNameIndex »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdinin içeriğini döndürür

ZipArchive::getFromName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getFromName — İsmi belirtilen girdinin içeriğini döndürür

Açıklama

public ZipArchive::getFromName(string $isim, int $uzunluk = 0, int $seçenekler = 0): string|false

İsmi belirtilen girdinin içeriğini döndürür.

Bağımsız Değişkenler

isim

Girdinin ismi.

uzunluk

Girdiden okunacak uzunluk. 0 belirtilirse, tüm girdi okunur.

seçenekler

Girdiyi bulmak için kullanılacak seçenekler, Aşağıdaki sabitler VEYAlanarak belirtilir:

  • ZipArchive::FL_UNCHANGED

  • ZipArchive::FL_COMPRESSED

  • ZipArchive::FL_NOCASE

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin içeriği döner.

Örnekler

Örnek 1 - Dosya içeriğinin basılması

<?php
$zip = new ZipArchive;
if ($zip->open('test1.zip') === TRUE) {
echo $zip->getFromName('testfromfile.php');
$zip->close();
} else {
echo 'failed';
}
?>

Örnek 2 - Bir zip girdisindeki resimde dönüşüm

<?php
$z = new ZipArchive();
if ($z->open(dirname(__FILE__) . '/test_im.zip')) {
$im_string = $z->getFromName("pear_item.gif");
$im = imagecreatefromstring($im_string);
imagepng($im, 'b.png');
}
?>

Ayrıca Bakınız

  • ZipArchive::getFromIndex() - İndisi belirtilen girdinin içeriğini döndürür


İndisi belirtilen girdinin ismini döndürür

  • « ZipArchive::getFromName
  • ZipArchive::GetStatusString »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdinin ismini döndürür

ZipArchive::getNameIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::getNameIndex — İndisi belirtilen girdinin ismini döndürür

Açıklama

public ZipArchive::getNameIndex(int $indis, int $seçenekler = 0): string|false

İndisi belirtilen girdinin ismini döndürür.

Bağımsız Değişkenler

indis

Girdi indisi.

seçenekler

Değer olarak ZipArchive::FL_UNCHANGED belirtilirse özgün isim değişmeden döner.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin ismi döner.

Örnekler

Örnek 1 - ZipArchive::getNameIndex() örneği

<?php
if ($zip->open('test.zip') == TRUE) {
for ($i = 0; $i < $zip->numFiles; $i++) {
$filename = $zip->getNameIndex($i);
// ...
}
}
?>


Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür

  • « ZipArchive::getNameIndex
  • ZipArchive::getStream »
  • PHP Manual
  • ZipArchive
  • Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür

ZipArchive::GetStatusString

(PHP 5 >= 5.2.7, PHP 7, PHP 8)

ZipArchive::GetStatusString — Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür

Açıklama

public ZipArchive::getStatusString(): string

Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Durum iletisini içeren bir dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 / 1.18.0 | Bu yöntem artık kapalı bir arşivde çağrılabiliyor.
8.0.0 / 1.18.0 | Bu yöntem başarısızlık durumunda artık falsedöndürmüyor.


İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür

  • « ZipArchive::GetStatusString
  • ZipArchive::getStreamIndex »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür

ZipArchive::getStream

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::getStream — İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür

Açıklama

public ZipArchive::getStream(string $isim): resource|false

İsmi belirtilen girdi için dosya tanıtıcısı döndürür. Şimdilik sadece okuma işlemleri desteklenmektedir.

Bağımsız Değişkenler

isim

Kullanılacak girdinin ismi.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin dosya tanıtıcısı döner.

Örnekler

Örnek 1 - Girdi içeriğini fread() ile alıp saklamak

<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
$fp = $z->getStream('test');
if(!$fp) exit("olmadı\n");

while (!feof($fp)) {
$contents .= fread($fp, 2);
}

fclose($fp);
file_put_contents('t',$contents);
echo "bitti.\n";
}
?>

Örnek 2 - fopen() ve zip akım sarmalayıcı kullanmak dışında yukarıdaki ile aynı

<?php
$contents = '';
$fp = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
if (!$fp) {
exit("açılamadı\n");
}
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
echo "$contents\n";
fclose($fp);
echo "bitti.\n";
?>

Örnek 3 - Akım sarmalayıcı ve resim, XML işleviyle de kullanılabilir

<?php
$im = imagecreatefromgif('zip://' . dirname(__FILE__) . '/test_im.zip#pear_item.gif');
imagepng($im, 'a.png');
?>

Ayrıca Bakınız

  • ZipArchive::getStreamIndex() - Get a file handler to the entry defined by its index (read only)
  • ZipArchive::getStreamName() - Get a file handler to the entry defined by its name (read only)
  • Sıkıştırma Akımları


Get a file handler to the entry defined by its index (read only)

  • « ZipArchive::getStream
  • ZipArchive::getStreamName »
  • PHP Manual
  • ZipArchive
  • Get a file handler to the entry defined by its index (read only)

ZipArchive::getStreamIndex

(PHP 8 >= 8.2.0, PECL zip >= 1.20.0)

ZipArchive::getStreamIndex — Get a file handler to the entry defined by its index (read only)

Açıklama

public ZipArchive::getStreamIndex(int $index, int $flags = 0): resource|false

Get a file handler to the entry defined by its index. For now, it only supports read operations.

Bağımsız Değişkenler

index

Index of the entry

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged stream is returned.

Dönen Değerler

Returns a file pointer (resource) on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Get the entry contents with fread() and store it

<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
$fp = $z->getStreamIndex(1, ZipArchive::FL_UNCHANGED);
if(!$fp) die($z->getStatusString());

echo stream_get_contents($fp);

fclose($fp);
}
?>

Ayrıca Bakınız

  • ZipArchive::getStreamName() - Get a file handler to the entry defined by its name (read only)


Get a file handler to the entry defined by its name (read only)

  • « ZipArchive::getStreamIndex
  • ZipArchive::isCompressionMethodSupported »
  • PHP Manual
  • ZipArchive
  • Get a file handler to the entry defined by its name (read only)

ZipArchive::getStreamName

(PHP 8 >= 8.2.0, PECL zip >= 1.20.0)

ZipArchive::getStreamName — Get a file handler to the entry defined by its name (read only)

Açıklama

public ZipArchive::getStreamName(string $name, int $flags = 0): resource|false

Get a file handler to the entry defined by its name. For now, it only supports read operations.

Bağımsız Değişkenler

name

The name of the entry to use.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged stream is returned.

Dönen Değerler

Returns a file pointer (resource) on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Get the entry contents with fread() and store it

<?php
$contents = '';
$z = new ZipArchive();
if ($z->open('test.zip')) {
$fp = $z->getStreamName('test', ZipArchive::FL_UNCHANGED);
if(!$fp) die($z->getStatusString());

echo stream_get_contents($fp);

fclose($fp);
}
?>

Ayrıca Bakınız

  • ZipArchive::getStreamIndex() - Get a file handler to the entry defined by its index (read only)


Check if a compression method is supported by libzip

  • « ZipArchive::getStreamName
  • ZipArchive::isEncryptionMethodSupported »
  • PHP Manual
  • ZipArchive
  • Check if a compression method is supported by libzip

ZipArchive::isCompressionMethodSupported

(PHP >= 8.0.0, PECL zip >= 1.19.0)

ZipArchive::isCompressionMethodSupported — Check if a compression method is supported by libzip

Açıklama

public static ZipArchive::isCompressionMethodSupported(int $method, bool $enc = true): bool

Check if a compression method is supported by libzip.

Bağımsız Değişkenler

method

The compression method, one of the ZipArchive::CM_* constants.

enc

If true check for compression, else check for decompression.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

This function is only available if built against libzip ? 1.7.0.

Ayrıca Bakınız

  • ZipArchive::setCompressionIndex() - Set the compression method of an entry defined by its index
  • ZipArchive::setCompressionName() - Set the compression method of an entry defined by its name


Check if a encryption method is supported by libzip

  • « ZipArchive::isCompressionMethodSupported
  • ZipArchive::locateName »
  • PHP Manual
  • ZipArchive
  • Check if a encryption method is supported by libzip

ZipArchive::isEncryptionMethodSupported

(PHP >= 8.0.0, PECL zip >= 1.19.0)

ZipArchive::isEncryptionMethodSupported — Check if a encryption method is supported by libzip

Açıklama

public static ZipArchive::isEncryptionMethodSupported(int $method, bool $enc = true): bool

Check if a compression method is supported by libzip.

Bağımsız Değişkenler

method

The encryption method, one of the ZipArchive::EM_* constants.

enc

If true check for encryption, else check for decryption.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

This function is only available if built against libzip ? 1.7.0.

Ayrıca Bakınız

  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


İsmi belirtilen girdinin indisini döndürür

  • « ZipArchive::isEncryptionMethodSupported
  • ZipArchive::open »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdinin indisini döndürür

ZipArchive::locateName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::locateName — İsmi belirtilen girdinin indisini döndürür

Açıklama

public ZipArchive::locateName(string $isim, int $seçenekler = 0): int|false

İsmi belirtilen girdinin indisini döndürür.

Bağımsız Değişkenler

isim

Girdinin ismi.

seçenekler

İsmin nasıl aranacağı aşağıdaki sabitlerden oluşan bir bit maskesi olarak belirtilir. Hiçbiri belirtilmeyecekse 0 belirtilir.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdinin indisi döner.

Örnekler

Örnek 1 - Bir arşiv oluşturup üzerinde ZipArchive::locateName() kullanmak

<?php
$file = 'testlocate.zip';

$zip = new ZipArchive;
if ($zip->open($file, ZipArchive::CREATE) !== TRUE) {
exit('failed');
}

$zip->addFromString('entry1.txt', 'girdi #1');
$zip->addFromString('entry2.txt', 'girdi #2');
$zip->addFromString('dir/entry2d.txt', 'girdi #2');

if (!$zip->status == ZipArchive::ER_OK) {
echo "ZIP yazılamadı\n";
}
$zip->close();

if ($zip->open($file) !== TRUE) {
exit('Olmadı');
}

echo $zip->locateName('entry1.txt') . "\n";
echo $zip->locateName('eNtry2.txt') . "\n";
echo $zip->locateName('eNtry2.txt', ZipArchive::FL_NOCASE) . "\n";
echo $zip->locateName('enTRy2d.txt',
ZipArchive::FL_NOCASE|ZipArchive::FL_NODIR) . "\n";
$zip->close();

?>

Yukarıdaki örneğin çıktısı:

0

1
2


Bir ZIP dosya arşivi açar

  • « ZipArchive::locateName
  • ZipArchive::registerCancelCallback »
  • PHP Manual
  • ZipArchive
  • Bir ZIP dosya arşivi açar

ZipArchive::open

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::open — Bir ZIP dosya arşivi açar

Açıklama

public ZipArchive::open(string $dosya, int $seçenekler = 0): bool|int

Okumak, yazmak veya değiştirmek amacıyla bir zip arşivi açar.

libzip 1.6.0'dan beri, boş dosya artık geçerli bir arşiv değil.

Bağımsız Değişkenler

dosya

Açılacak ZIP arşivinin dosya ismi.

seçenekler

Arşivin açılacağı kip; şu sabitlerden biridir:

  • ZipArchive::OVERWRITE

  • ZipArchive::CREATE

  • ZipArchive::RDONLY

  • ZipArchive::EXCL

  • ZipArchive::CHECKCONS

Dönen Değerler

Başarı durumunda true yoksa aşağıdaki hata kodarından biri döner:

ZipArchive::ER_EXISTS
Dosya zaten mevcut.
ZipArchive::ER_INCONS
Zip arşivi tutarsız.
ZipArchive::ER_INVAL
Geçersiz bağımsız değişken.
ZipArchive::ER_MEMORY
Malloc hatası.
ZipArchive::ER_NOENT
Böyle bir dosya yok.
ZipArchive::ER_NOZIP
Bir zip arşivi değil.
ZipArchive::ER_OPEN
Dosya açılamiyor.
ZipArchive::ER_READ
Okuma hatası.
ZipArchive::ER_SEEK
Konumlama hatası.

Örnekler

Örnek 1 - Bir arşivi açıp içeriğini dökmek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
echo 'Tamam';
$zip->extractTo('test');
$zip->close();
} else {
echo 'Olmadı, kod:' . $res;
}
?>

Örnek 2 - Bir arşiv oluşturmak

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'Bu dizge dosyanın içeriğidir.');
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>

Örnek 3 - Geçici bir arşiv oluşturma

<?php
$name = tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE); // boş dosya budanmaz
if ($res === TRUE) {
$zip->addFile('data.txt', 'entryname.txt');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>


Register a callback to allow cancellation during archive close.

  • « ZipArchive::open
  • ZipArchive::registerProgressCallback »
  • PHP Manual
  • ZipArchive
  • Register a callback to allow cancellation during archive close.

ZipArchive::registerCancelCallback

(PHP >= 8.0.0, PECL zip >= 1.17.0)

ZipArchive::registerCancelCallback — Register a callback to allow cancellation during archive close.

Açıklama

public ZipArchive::registerCancelCallback(callable $callback): bool

Register a callback function to allow cancellation during archive close.

Bağımsız Değişkenler

callback

If this function return 0 operation will continue, other value it will be cancelled.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example creates a ZIP file archive php.zip and cancel operation on some run condition.

Örnek 1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('php.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
$zip->addFile(PHP_BINARY, 'php');
$zip->registerCancelCallback(function () {
return ($someruncondition ? -1 : 0);
});
$zip->close();
}

Notlar

Bilginize:

This function is only available if built against libzip ? 1.6.0.

Ayrıca Bakınız

  • ZipArchive::registerProgressCallback() - Register a callback to provide updates during archive close.


Register a callback to provide updates during archive close.

  • « ZipArchive::registerCancelCallback
  • ZipArchive::renameIndex »
  • PHP Manual
  • ZipArchive
  • Register a callback to provide updates during archive close.

ZipArchive::registerProgressCallback

(PHP >= 8.0.0, PECL zip >= 1.17.0)

ZipArchive::registerProgressCallback — Register a callback to provide updates during archive close.

Açıklama

public ZipArchive::registerProgressCallback(float $rate, callable $callback): bool

Register a callback function to provide updates during archive close.

Bağımsız Değişkenler

rate

Change between each call of the callback (from 0.0 to 1.0).

callback

This function will receive the current state as a float (from 0.0 to 1.0).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example creates a ZIP file archive php.zip and show progression.

Örnek 1 Archive a file

$zip = new ZipArchive();
if ($zip->open('php.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
$zip->addFile(PHP_BINARY, 'php');
$zip->registerProgressCallback(0.05, function ($r) {
printf("%d%%\n", $r * 100);
});
$zip->close();
}

Notlar

Bilginize:

This function is only available if built against libzip ? 1.3.0.

Ayrıca Bakınız

  • ZipArchive::registerCancelCallback() - Register a callback to allow cancellation during archive close.


İndisi belirtilen girdinin ismini değiştirir

  • « ZipArchive::registerProgressCallback
  • ZipArchive::renameName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdinin ismini değiştirir

ZipArchive::renameIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::renameIndex — İndisi belirtilen girdinin ismini değiştirir

Açıklama

public ZipArchive::renameIndex(int $indis, string $yeni_isim): bool

İndisi belirtilen girdinin ismini değiştirir.

Bağımsız Değişkenler

indis

İsmi değiştirilecek girdinin indisi.

yeni_isim

Girdinin yeni ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir girdinin ismini değiştirmek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
$zip->renameIndex(2,'newname.txt');
$zip->close();
} else {
echo 'olmadı, kod:' . $res;
}
?>


İsmi belirtilen girdinin ismini değiştirir

  • « ZipArchive::renameIndex
  • ZipArchive::replaceFile »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdinin ismini değiştirir

ZipArchive::renameName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::renameName — İsmi belirtilen girdinin ismini değiştirir

Açıklama

public ZipArchive::renameName(string $isim, string $yenisi): bool

İsmi belirtilen girdinin ismini değiştirir.

Bağımsız Değişkenler

isim

Girdinin değiştirilecek ismi.

yenisi

Girdinin yeni ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir girdinin ismini değiştirmek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
$zip->renameName('currentname.txt','newname.txt');
$zip->close();
} else {
echo 'Olmadı, kod:' . $res;
}
?>


Replace file in ZIP archive with a given path

  • « ZipArchive::renameName
  • ZipArchive::setArchiveComment »
  • PHP Manual
  • ZipArchive
  • Replace file in ZIP archive with a given path

ZipArchive::replaceFile

(PHP >= 8.0.0, PECL zip >= 1.18.0)

ZipArchive::replaceFile — Replace file in ZIP archive with a given path

Açıklama

public ZipArchive::replaceFile(
string $filepath,
int $index,
int $start = 0,
int $length = ZipArchive::LENGTH_TO_END,
int $flags = 0
): bool

Replace file in ZIP archive with a given path.

Bilginize: Taşınabilirliği arttırmak için ZIP dosya isimlerinde dizin ayracı olarak bölü çizgilerini (/) kullanın.

Bağımsız Değişkenler

filepath

The path to the file to add.

index

The index of the file to be replaced, its name is unchanged.

start

For partial copy, start position.

length

For partial copy, length to be copied, if ZipArchive::LENGTH_TO_END (0) the file size is used, if ZipArchive::LENGTH_UNCHECKED the whole file is used (starting from start).

flags

Bitmask consisting of ZipArchive::FL_ENC_GUESS, ZipArchive::FL_ENC_UTF_8, ZipArchive::FL_ENC_CP437, ZipArchive::FL_OPEN_FILE_NOW. The behaviour of these constants is described on the ZIP constants page.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 / 1.22.1 | ZipArchive::FL_OPEN_FILE_NOW was added.
8.3.0 / 1.22.2 | ZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.

Örnekler

This example opens a ZIP file archive test.zip and replaces index 1 entry with /path/to/index.txt.

Örnek 1 Open and replace

<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>

Ayrıca Bakınız

  • ZipArchive::addFile() - Yolu belirtilen dosyayı arşive ekler


Bir ZIP arşivine açıklama ekler

  • « ZipArchive::replaceFile
  • ZipArchive::setArchiveFlag »
  • PHP Manual
  • ZipArchive
  • Bir ZIP arşivine açıklama ekler

ZipArchive::setArchiveComment

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setArchiveComment — Bir ZIP arşivine açıklama ekler

Açıklama

public ZipArchive::setArchiveComment(string $açıklama): bool

Bir ZIP arşivine açıklama ekler.

Bağımsız Değişkenler

açıklama

Açıklamanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir arşiv oluşturup bir açıklama eklemek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('test.txt', 'Bu dizge dosyanın içeriğidir.');
$zip->setArchiveComment('Yeni arşiv açıklaması');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>


Set a global flag of a ZIP archive

  • « ZipArchive::setArchiveComment
  • ZipArchive::setCommentIndex »
  • PHP Manual
  • ZipArchive
  • Set a global flag of a ZIP archive

ZipArchive::setArchiveFlag

(PHP >= 8.3.0, PECL zip >= 1.22.0)

ZipArchive::setArchiveFlag — Set a global flag of a ZIP archive

Açıklama

public ZipArchive::setArchiveFlag(int $flag, int $value): bool

Set a global flag of a ZIP archive.

Bağımsız Değişkenler

flag

The global flag to change, among AFL_* constants.

  • ZipArchive::AFL_WANT_TORRENTZIP

  • ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE

value

The new value of the flag.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Create a torrentzip archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->setArchiveFlag(ZipArchive::AFL_WANT_TORRENTZIP, 1);
$zip->addFromString('test.txt', 'file content goes here');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>

Ayrıca Bakınız

  • ZipArchive::getArchiveFlag() - Returns the value of a Zip archive global flag


İndisi belirtilen girdiye bir açıklama ekler

  • « ZipArchive::setArchiveFlag
  • ZipArchive::setCommentName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdiye bir açıklama ekler

ZipArchive::setCommentIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setCommentIndex — İndisi belirtilen girdiye bir açıklama ekler

Açıklama

public ZipArchive::setCommentIndex(int $indis, string $açıklama): bool

İndisi belirtilen girdiye bir açıklama ekler.

Bağımsız Değişkenler

indis

Girdi indisi.

açıklama

Açıklamanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir arşiv açıp bir girdiye açıklama eklemek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
$zip->setCommentIndex(2, 'yeni girdi açıklaması');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>


İsmi belirtilen girdiye bir açıklama ekler

  • « ZipArchive::setCommentIndex
  • ZipArchive::setCompressionIndex »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdiye bir açıklama ekler

ZipArchive::setCommentName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0)

ZipArchive::setCommentName — İsmi belirtilen girdiye bir açıklama ekler

Açıklama

public ZipArchive::setCommentName(string $isim, string $açıklama): bool

İsmi belirtilen girdiye bir açıklama ekler.

Bağımsız Değişkenler

isim

Girdinin ismi.

açıklama

Açıklamanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir arşiv açıp bir girdiye açıklama eklemek

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
$zip->setCommentName('entry1.txt', 'yeni girdi açıklaması');
$zip->close();
echo 'Tamam';
} else {
echo 'Olmadı';
}
?>


Set the compression method of an entry defined by its index

  • « ZipArchive::setCommentName
  • ZipArchive::setCompressionName »
  • PHP Manual
  • ZipArchive
  • Set the compression method of an entry defined by its index

ZipArchive::setCompressionIndex

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionIndex — Set the compression method of an entry defined by its index

Açıklama

public ZipArchive::setCompressionIndex(int $index, int $method, int $compflags = 0): bool

Set the compression method of an entry defined by its index.

Bağımsız Değişkenler

index

Index of the entry.

method

The compression method, one of the ZipArchive::CM_* constants.

compflags

Compression level.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('foo', 'Some text');
$zip->addFromString('bar', 'Some other text');
$zip->setCompressionIndex(0, ZipArchive::CM_STORE);
$zip->setCompressionIndex(1, ZipArchive::CM_DEFLATE);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>


Set the compression method of an entry defined by its name

  • « ZipArchive::setCompressionIndex
  • ZipArchive::setEncryptionIndex »
  • PHP Manual
  • ZipArchive
  • Set the compression method of an entry defined by its name

ZipArchive::setCompressionName

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionName — Set the compression method of an entry defined by its name

Açıklama

public ZipArchive::setCompressionName(string $name, int $method, int $compflags = 0): bool

Set the compression method of an entry defined by its name.

Bağımsız Değişkenler

name

Name of the entry.

method

The compression method, one of the ZipArchive::CM_* constants.

compflags

Compression level.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Add files with different compression methods to an archive

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('foo', 'Some text');
$zip->addFromString('bar', 'Some other text');
$zip->setCompressionName('foo', ZipArchive::CM_STORE);
$zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>

Örnek 2 Add file and set compression method

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFile('foo.jpg', 'bar.jpg');
$zip->setCompressionName('bar.jpg', ZipArchive::CM_XZ);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>


Set the encryption method of an entry defined by its index

  • « ZipArchive::setCompressionName
  • ZipArchive::setEncryptionName »
  • PHP Manual
  • ZipArchive
  • Set the encryption method of an entry defined by its index

ZipArchive::setEncryptionIndex

(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)

ZipArchive::setEncryptionIndex — Set the encryption method of an entry defined by its index

Açıklama

public ZipArchive::setEncryptionIndex(int $index, int $method, ?string $password = null): bool

Set the encryption method of an entry defined by its index.

Bağımsız Değişkenler

index

Index of the entry.

method

The encryption method defined by one of the ZipArchive::EM_ constants.

password

Optional password, default used when missing.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | password is now nullable.

Notlar

Bilginize:

This function is only available if built against libzip ? 1.2.0.

Ayrıca Bakınız

  • ZipArchive::setPassword() - Set the password for the active archive
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


Set the encryption method of an entry defined by its name

  • « ZipArchive::setEncryptionIndex
  • ZipArchive::setExternalAttributesIndex »
  • PHP Manual
  • ZipArchive
  • Set the encryption method of an entry defined by its name

ZipArchive::setEncryptionName

(PHP >= 7.2.0, PHP 8, PECL zip >= 1.14.0)

ZipArchive::setEncryptionName — Set the encryption method of an entry defined by its name

Açıklama

public ZipArchive::setEncryptionName(string $name, int $method, ?string $password = null): bool

Set the encryption method of an entry defined by its name.

Bağımsız Değişkenler

name

Name of the entry.

method

The encryption method defined by one of the ZipArchive::EM_ constants.

password

Optional password, default used when missing.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | password is now nullable.

Örnekler

This example creates a ZIP file archive test.zip and add the file test.txt encrypted using the AES 256 method.

Örnek 1 Archive and encrypt a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->setPassword('secret');
$zip->addFile('text.txt');
$zip->setEncryptionName('text.txt', ZipArchive::EM_AES_256);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>

Notlar

Bilginize:

This function is only available if built against libzip ? 1.2.0.

Ayrıca Bakınız

  • ZipArchive::setPassword() - Set the password for the active archive
  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index


Set the external attributes of an entry defined by its index

  • « ZipArchive::setEncryptionName
  • ZipArchive::setExternalAttributesName »
  • PHP Manual
  • ZipArchive
  • Set the external attributes of an entry defined by its index

ZipArchive::setExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesIndex — Set the external attributes of an entry defined by its index

Açıklama

public ZipArchive::setExternalAttributesIndex(
int $index,
int $opsys,
int $attr,
int $flags = 0
): bool

Set the external attributes of an entry defined by its index.

Bağımsız Değişkenler

index

Index of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the external attributes of an entry defined by its name

  • « ZipArchive::setExternalAttributesIndex
  • ZipArchive::setMtimeIndex »
  • PHP Manual
  • ZipArchive
  • Set the external attributes of an entry defined by its name

ZipArchive::setExternalAttributesName

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setExternalAttributesName — Set the external attributes of an entry defined by its name

Açıklama

public ZipArchive::setExternalAttributesName(
string $name,
int $opsys,
int $attr,
int $flags = 0
): bool

Set the external attributes of an entry defined by its name.

Bağımsız Değişkenler

name

Name of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example opens a ZIP file archive test.zip and add the file test.txt with its Unix rights as external attributes.

Örnek 1 Archive a file, with its Unix rights

<?php
$zip = new ZipArchive();
$stat = stat($filename='test.txt');
if (is_array($stat) && $zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile($filename);
$zip->setExternalAttributesName($filename, ZipArchive::OPSYS_UNIX, $stat['mode'] << 16);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>


Set the modification time of an entry defined by its index

  • « ZipArchive::setExternalAttributesName
  • ZipArchive::setMtimeName »
  • PHP Manual
  • ZipArchive
  • Set the modification time of an entry defined by its index

ZipArchive::setMtimeIndex

(PHP >= 8.0.0, PECL zip >= 1.16.0)

ZipArchive::setMtimeIndex — Set the modification time of an entry defined by its index

Açıklama

public ZipArchive::setMtimeIndex(int $index, int $timestamp, int $flags = 0): bool

Set the modification time of an entry defined by its index.

Bağımsız Değişkenler

index

Index of the entry.

timestamp

The modification time (unix timestamp) of the file.

flags

Optional flags, unused for now.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example creates a ZIP file archive test.zip and add the file test.txt with its modification date.

Örnek 1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile('text.txt');
$zip->setMtimeIndex(0, mktime(0,0,0,12,25,2019));
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>

Notlar

Bilginize:

This function is only available if built against libzip ? 1.0.0.

Ayrıca Bakınız

  • ZipArchive::setMtimeName() - Set the modification time of an entry defined by its name


Set the modification time of an entry defined by its name

  • « ZipArchive::setMtimeIndex
  • ZipArchive::setPassword »
  • PHP Manual
  • ZipArchive
  • Set the modification time of an entry defined by its name

ZipArchive::setMtimeName

(PHP >= 8.0.0, PECL zip >= 1.16.0)

ZipArchive::setMtimeName — Set the modification time of an entry defined by its name

Açıklama

public ZipArchive::setMtimeName(string $name, int $timestamp, int $flags = 0): bool

Set the modification time of an entry defined by its name.

Bağımsız Değişkenler

name

Name of the entry.

timestamp

The modification time (unix timestamp) of the file.

flags

Optional flags, unused for now.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

This example creates a ZIP file archive test.zip and add the file test.txt with its modification date.

Örnek 1 Archive a file

<?php
$zip = new ZipArchive();
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile('text.txt');
$zip->setMtimeName('text.txt', mktime(0,0,0,12,25,2019));
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>

Notlar

Bilginize:

This function is only available if built against libzip ? 1.0.0.

Ayrıca Bakınız

  • ZipArchive::setMtimeIndex() - Set the modification time of an entry defined by its index


Set the password for the active archive

  • « ZipArchive::setMtimeName
  • ZipArchive::statIndex »
  • PHP Manual
  • ZipArchive
  • Set the password for the active archive

ZipArchive::setPassword

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

ZipArchive::setPassword — Set the password for the active archive

Açıklama

public ZipArchive::setPassword(string $password): bool

Sets the password for the active archive.

Bağımsız Değişkenler

password

The password to be used for the archive.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

As of PHP 7.2.0 and libzip 1.2.0 the password is used to decompress the archive, and is also the default password for ZipArchive::setEncryptionName() and ZipArchive::setEncryptionIndex(). Formerly, this function only set the password to be used to decompress the archive; it did not turn a non-password-protected ZipArchive into a password-protected ZipArchive.

Ayrıca Bakınız

  • ZipArchive::setEncryptionIndex() - Set the encryption method of an entry defined by its index
  • ZipArchive::setEncryptionName() - Set the encryption method of an entry defined by its name


İndisi belirtilen girdiyle ilgili bilgileri döndürür

  • « ZipArchive::setPassword
  • ZipArchive::statName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdiyle ilgili bilgileri döndürür

ZipArchive::statIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::statIndex — İndisi belirtilen girdiyle ilgili bilgileri döndürür

Açıklama

public ZipArchive::statIndex(int $indis, int $seçenekler = 0): array|false

İndisi belirtilen girdiyle ilgili bilgileri döndürür.

Bağımsız Değişkenler

indis

Girdi indisi.

seçenekler

Değişiklikleri yok sayarak arşivin özgün dosyası hakkında bilgi istemek için ZipArchive::FL_UNCHANGED sabiti bit maskesine dahil edilebilir.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdi ile ilgili ayrıntıları içeren bir dizi döner.

Örnekler

Örnek 1 - Bir girdiyle ilgili bilgilerin dökümü

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
print_r($zip->statIndex(3));
$zip->close();
} else {
echo 'Başarısız. Çıkış kodu:' . $res;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)


İsmi belirtilen girdiyle ilgili bilgileri döndürür

  • « ZipArchive::statIndex
  • ZipArchive::unchangeAll »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdiyle ilgili bilgileri döndürür

ZipArchive::statName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::statName — İsmi belirtilen girdiyle ilgili bilgileri döndürür

Açıklama

public ZipArchive::statName(string $isim, int $seçenekler = 0): array|false

İsmi belirtilen girdiyle ilgili bilgileri döndürür.

Bağımsız Değişkenler

isim

Girdi ismi.

seçenekler

İsmin nasıl aranacağı aşağıdaki sabitlerden oluşan bir bit maskesi olarak belirtilir. Ayrıca, değişiklikleri yoksayarak arşivin özgün dosyası hakkında bilgi edinmek için ZipArchive::FL_UNCHANGED sabiti de bit maskesine dahil edilebilir. Sabitlerin açıklamaları Öntanımlı Sabitler sayfasında bulunabilir.

  • ZipArchive::FL_NOCASE

  • ZipArchive::FL_NODIR

  • ZipArchive::FL_UNCHANGED

Dönen Değerler

Başarısızlık durumunda false aksi takdirde girdi ile ilgili ayrıntıları içeren bir dizi döner.

Örnekler

Örnek 1 - Bir girdiyle ilgili bilgilerin dökümü

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
print_r($zip->statName('foobar/baz'));
$zip->close();
} else {
echo 'Başarısız. Çıkış kodu:' . $res;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => foobar/baz
    [index] => 3
    [crc] => 499465816
    [size] => 27
    [mtime] => 1123164748
    [comp_size] => 24
    [comp_method] => 8
)


Arşivde yapılmış değişikliklerin tamamını geri alır

  • « ZipArchive::statName
  • ZipArchive::unchangeArchive »
  • PHP Manual
  • ZipArchive
  • Arşivde yapılmış değişikliklerin tamamını geri alır

ZipArchive::unchangeAll

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeAll — Arşivde yapılmış değişikliklerin tamamını geri alır

Açıklama

public ZipArchive::unchangeAll(): bool

Arşivde yapılmış değişikliklerin tamamını geri alır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Arşiv bilgilerinde yapılmış değişiklikleri geri alır

  • « ZipArchive::unchangeAll
  • ZipArchive::unchangeIndex »
  • PHP Manual
  • ZipArchive
  • Arşiv bilgilerinde yapılmış değişiklikleri geri alır

ZipArchive::unchangeArchive

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeArchive — Arşiv bilgilerinde yapılmış değişiklikleri geri alır

Açıklama

public ZipArchive::unchangeArchive(): bool

Arşiv bilgilerinde yapılmış değişiklikleri geri alır. Şimdilik sadece açıklama değişiklikleri geri alınabilmektedir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


İndisi belirtilen girdideki değişiklikleri geri alır

  • « ZipArchive::unchangeArchive
  • ZipArchive::unchangeName »
  • PHP Manual
  • ZipArchive
  • İndisi belirtilen girdideki değişiklikleri geri alır

ZipArchive::unchangeIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::unchangeIndex — İndisi belirtilen girdideki değişiklikleri geri alır

Açıklama

public ZipArchive::unchangeIndex(int $indis): bool

İndisi belirtilen girdideki değişiklikleri geri alır.

Bağımsız Değişkenler

indis

Girdi indisi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


İsmi belirtilen girdideki değişiklikleri geri alır

  • « ZipArchive::unchangeIndex
  • Zip İşlevleri »
  • PHP Manual
  • ZipArchive
  • İsmi belirtilen girdideki değişiklikleri geri alır

ZipArchive::unchangeName

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0)

ZipArchive::unchangeName — İsmi belirtilen girdideki değişiklikleri geri alır

Açıklama

public ZipArchive::unchangeName(string $isim): bool

Belirtilen girdide yapılmış değişiklikleri geri alır.

Bağımsız Değişkenler

isim

Girdinin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Zip İşlevleri

Uyarı

Yordamsal API kullanımı PHP 8.0.0 itibariyle önerilmemektedir. Yerine ZipArchive kullanılmalıdır.

İçindekiler

  • zip_close — Bir ZIP dosya arşivini kapatır
  • zip_entry_close — Bir dizin girdisini kapatır
  • zip_entry_compressedsize — Dizin girdisinin sıkıştırılmış uzunluğunu döndürür
  • zip_entry_compressionmethod — Dizin girdisinin sıkıştırma yöntemini döndürür
  • zip_entry_filesize — Bir dizin girdisinin uzunluğunu döndürür
  • zip_entry_name — Bir dizin girdisinin ismini döndürür
  • zip_entry_open — Okumak için bir dizin girdisi açar
  • zip_entry_read — Bir açık dizin girdisini okur
  • zip_open — Bir ZIP dosya arşivi açar
  • zip_read — Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Bir ZIP dosya arşivini kapatır

  • « Zip İşlevleri
  • zip_entry_close »
  • PHP Manual
  • Zip İşlevleri
  • Bir ZIP dosya arşivini kapatır

zip_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_close — Bir ZIP dosya arşivini kapatır

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_close(resource $zip): void

Belirtilen ZIP dosya arşivini kapatır.

Bağımsız Değişkenler

zip

zip_open() ile açılmış bir ZIP dosyası.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::close().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Bir dizin girdisini kapatır

  • « zip_close
  • zip_entry_compressedsize »
  • PHP Manual
  • Zip İşlevleri
  • Bir dizin girdisini kapatır

zip_entry_close

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_close — Bir dizin girdisini kapatır

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_close(resource $zip_girdisi): bool

Belirtilen dizin girdisini kapatır.

Bağımsız Değişkenler

zip_girdisi

zip_entry_open() ile açılmış bir dizin girdisi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor.

Ayrıca Bakınız

  • zip_entry_open() - Okumak için bir dizin girdisi açar
  • zip_entry_read() - Bir açık dizin girdisini okur


Dizin girdisinin sıkıştırılmış uzunluğunu döndürür

  • « zip_entry_close
  • zip_entry_compressionmethod »
  • PHP Manual
  • Zip İşlevleri
  • Dizin girdisinin sıkıştırılmış uzunluğunu döndürür

zip_entry_compressedsize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_compressedsize — Dizin girdisinin sıkıştırılmış uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_compressedsize(resource $zip_girdisi): int|false

Belirtilen dizin girdisinin sıkıştırılmış uzunluğunu döndürür.

Bağımsız Değişkenler

zip_girdisi

zip_read() ile döndürülmüş bir dizin girdisi.

Dönen Değerler

Sıkıştırılmış uzunluk, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::statIndex().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Dizin girdisinin sıkıştırma yöntemini döndürür

  • « zip_entry_compressedsize
  • zip_entry_filesize »
  • PHP Manual
  • Zip İşlevleri
  • Dizin girdisinin sıkıştırma yöntemini döndürür

zip_entry_compressionmethod

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_compressionmethod — Dizin girdisinin sıkıştırma yöntemini döndürür

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_compressionmethod(resource $zip_girdisi): string|false

zip_girdisi ile belirtilen dizin girdisinin sıkıştırma yöntemini döndürür.

Bağımsız Değişkenler

zip_girdisi

zip_read() ile döndürülmüş bir dizin girdisi.

Dönen Değerler

Sıkıştırma yöntemi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::statIndex().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Bir dizin girdisinin uzunluğunu döndürür

  • « zip_entry_compressionmethod
  • zip_entry_name »
  • PHP Manual
  • Zip İşlevleri
  • Bir dizin girdisinin uzunluğunu döndürür

zip_entry_filesize

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_filesize — Bir dizin girdisinin uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_filesize(resource $zip_girdisi): int|false

Belirtilen dizin girdisinin asıl uzunluğunu döndürür.

Bağımsız Değişkenler

zip_girdisi

zip_read() ile döndürülmüş bir dizin girdisi.

Dönen Değerler

Dizin girdisinin uzunluğu, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::statIndex().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Bir dizin girdisinin ismini döndürür

  • « zip_entry_filesize
  • zip_entry_open »
  • PHP Manual
  • Zip İşlevleri
  • Bir dizin girdisinin ismini döndürür

zip_entry_name

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_name — Bir dizin girdisinin ismini döndürür

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_name(resource $zip_girdisi): string|false

Belirtilen dizin girdisinin ismini döndürür.

Bağımsız Değişkenler

zip_entry

zip_read() ile döndürülmüş bir dizin girdisi.

Dönen Değerler

Dizin girdisinin ismi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::statIndex().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur


Okumak için bir dizin girdisi açar

  • « zip_entry_name
  • zip_entry_read »
  • PHP Manual
  • Zip İşlevleri
  • Okumak için bir dizin girdisi açar

zip_entry_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_open — Okumak için bir dizin girdisi açar

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_open(resource $zip_dt, resource $zip_girdisi, string $kip = "rb"): bool

Bir zip dosyasında okumak için bir dizin girdisi açar.

Bağımsız Değişkenler

zip_dt

zip_open() ile döndürülmüş geçerli bir dosya tanıtıcısı.

zip_girdisi

zip_read() ile döndürülmüş bir dizin girdisi.

kip

fopen() belgesinde belirtilen kiplerden biri.

Bilginize:

Normalde, kip yoksayılıp daima "rb" kipi kullanılır. Bunun sebebi PHP'deki zip desteğinin sadece okuma erişimi sağlamasıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Bilginize:

fopen() ve benzerlerinen aksine, zip_entry_open() işlevinin dönüş değeri sadece işlemin sonucunu gösterir ve dizin girdisini okumak veya kapatmak için gerekli değildir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor.

Ayrıca Bakınız

  • zip_entry_close() - Bir dizin girdisini kapatır
  • zip_entry_read() - Bir açık dizin girdisini okur


Bir açık dizin girdisini okur

  • « zip_entry_open
  • zip_open »
  • PHP Manual
  • Zip İşlevleri
  • Bir açık dizin girdisini okur

zip_entry_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_entry_read — Bir açık dizin girdisini okur

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_entry_read(resource $zip_girdisi, int $uzunluk = 1024): string|false

Açık bir dizin girdisini okur.

Bağımsız Değişkenler

zip_girdisi

zip_read() ile döndürülmüş bir dizin girdisi.

uzunluk

Döndürülecek bayt sayısı.

Bilginize:

Bu sıkıştırılmamış uzunluk olmalıdır.

Dönen Değerler

Dosya sonuna gelinmişse boş dizge, bir hata oluşmuşsa false yoksa okunan veriyi bir dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::getFromIndex().

Ayrıca Bakınız

  • zip_entry_open() - Okumak için bir dizin girdisi açar
  • zip_entry_close() - Bir dizin girdisini kapatır
  • zip_entry_filesize() - Bir dizin girdisinin uzunluğunu döndürür


Bir ZIP dosya arşivi açar

  • « zip_entry_read
  • zip_read »
  • PHP Manual
  • Zip İşlevleri
  • Bir ZIP dosya arşivi açar

zip_open

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_open — Bir ZIP dosya arşivi açar

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_open(string $dosya_adı): resource|int|false

Okumak için yeni bir ZIP dosya arşivi açar.

Bağımsız Değişkenler

dosya_adı

Açılacak ZIP arşivinin dosya ismi.

Dönen Değerler

Normalde, daha sonra zip_read() ve zip_close() ile kullanmak üzere bir dosya tanıtıcısı döndürür veya ya false döndürür ya da dosya_adı diye bir dosya yoksa veya başka bir hata varsa hata numarası döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::open().

Ayrıca Bakınız

  • zip_read() - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur
  • zip_close() - Bir ZIP dosya arşivini kapatır


Bir ZIP dosya arşivindeki bir sonraki girdiyi okur

  • « zip_open
  • Zlib »
  • PHP Manual
  • Zip İşlevleri
  • Bir ZIP dosya arşivindeki bir sonraki girdiyi okur

zip_read

(PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0)

zip_read — Bir ZIP dosya arşivindeki bir sonraki girdiyi okur

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

zip_read(resource $zip): resource|false

Bir ZIP dosya arşivindeki bir sonraki girdiyi okur.

Bağımsız Değişkenler

zip

zip_open() ile açılmış bir ZIP dosyası.

Dönen Değerler

Normalde, daha sonra zip_entry_... işlevleri ile kullanmak üzere bir dizin girdisi özkaynağı döndürür. Okunacak girdi yoksa false, bir hata oluşmuşsa hatanın numarasını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesne arayüzünü desteklemek için bu işlevin kullanımı artık önerilmiyor. Bkz: ZipArchive::statIndex().

Ayrıca Bakınız

  • zip_open() - Bir ZIP dosya arşivi açar
  • zip_close() - Bir ZIP dosya arşivini kapatır
  • zip_entry_open() - Okumak için bir dizin girdisi açar
  • zip_entry_read() - Bir açık dizin girdisini okur


Zlib Sıkıştırması

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Zlib İşlevleri
    • deflate_add — Incrementally deflate data
    • deflate_init — Initialize an incremental deflate context
    • gzclose — Bir açık gzipli dosya tanıtıcısını kapar
    • gzcompress — Bir dizgeyi sıkıştırır
    • gzdecode — Gzipli bir dizgenin sıkıştırmasını açar
    • gzdeflate — Bir dizgeyi deflate biçeminde sıkıştırır
    • gzencode — Gzipli bir dizge oluşturur
    • gzeof — Gzipli dosya tanıtıcında dosya sonunu sınar
    • gzfile — Gzipli dosyayı bir dizi içinde döndürür
    • gzgetc — Gzipli dosya göstericisindeki karakteri döndürür
    • gzgets — Gzipli dosya tanıtıcısından bir satır döndürür
    • gzgetss — Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır
    • gzinflate — Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
    • gzopen — Bir gzipli dosya açar
    • gzpassthru — Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar
    • gzputs — gzwrite işlevinin takma adıdır
    • gzread — Gzipli dosyayı ikil kipte okur
    • gzrewind — Gzipli dosya göstericisini dosya başlangıcına taşır
    • gzseek — Gzipli dosya göstericisini konumlar
    • gztell — Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür
    • gzuncompress — Sıkıştırılmış bir dizgenin sıkıştırmasını açar
    • gzwrite — Bir dizgeyi bir gzipli dosyaya ikil kipte yazar
    • inflate_add — Incrementally inflate encoded data
    • inflate_get_read_len — Get number of bytes read so far
    • inflate_get_status — Get decompression status
    • inflate_init — Initialize an incremental inflate context
    • readgzfile — Bir .gz dosyası çıktılar
    • zlib_decode — Uncompress any raw/gzip/zlib encoded data
    • zlib_encode — Compress data with the specified encoding
    • zlib_get_coding_type — Çıktı sıkıştırması için kullanılan kodlama türünü döndürür
  • DeflateContext — The DeflateContext class
  • InflateContext — The InflateContext class


Giriş

Bu modül, gzip sıkıştırmalı dosyalarla (sıkıştırılmamış olanlarla da fakat soketlerle değil) çalışabilen dosya sistemi işlevlerinin bazıları üzerinden gzip (.gz) sıkıştırmalı dosyaların okunup yazılabilmesini sağlar.

Bilginize:

PHP .gz uzantılı dosyalar için bir fopen sarmalayıcısı da içerir. Bu konuda daha fazla bilgi için bkz: zlib://


Gereksinimler

Bu modül, Jean-loup Gailly ve Mark Adler tarafından geliştirilen » zlib işlevlerini kullanır. Bu modül ile zlib'in 1.2.0.4 ve üstü sürümlerini kullanmalısınız.


Kurulum

Zlib desteği PHP'de öntanımlı olarak etkin değildir. Etkin olması için PHP'yi --with-zlib[=DiZiN] seçeneği ile derlemelisiniz.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Zlib eklentisi, istek yapan tarayıcı desteklediği takdirde, sayfaların şeffaf olarak sıkıştırılmasını sağlar. Eklentinin php.ini yapılandırma dosyasında üç yönergesi vardır.

Zlib Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
zlib.output_compression | "0" | PHP_INI_ALL |
zlib.output_compression_level | "-1" | PHP_INI_ALL |
zlib.output_handler | "" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

zlib.output_compression bool/int

Sayfanın şeffaf olarak sıkıştırılıp sıkıştırılmayacağı. Bu yönergeye php.ini içinde veya Apache yapılandırmasında "On" değerini belirtirseniz ve tarayıcı istek yaparken bir "Accept-Encoding: gzip" veya "deflate" başlığı gönderirse sayfalar sıkıştırılır ve çıktıya istek yapılan başlığa göre (sırasıyla) "Content-Encoding: gzip" veya "Vary: Accept-Encoding" başlığı eklenir. Çalışma anında herhangi bir çıktı göndermeden önce de bu yönergeye "On" atanabilir.

Bu seçenek "On"/"Off" değerlerinden başka tamsayı değerler de kabul eder. Tamsayı değerle çıktı tamponunun boyutunu belirleyebilirsiniz (öntanımlı olarak 4 kB'tır).

Bilginize:

Bu yönergeye "On" atandığı takdirde output_handler boş olmalıdır! Yerine zlib.output_handler kullanılmalıdır.

zlib.output_compression_level int

Çıktının şeffaf olarak sıkıştırılması için kullanılacak sıkıştırma seviyesi. 0 (sıkıştırma yok) ile 9 (en fazla sıkıştırma) arasında bir değer olarak belirtilir. Öntanımlı değer -1 olup, kullanılacak sıkıştırma seviyesine sunucu karar verir.

zlib.output_handler string

php.ini dosyanızda zlib.output_compression yönergesini etkin kılmışsanız ek çıktı eylemcileri belirtemezsiniz. Bu ayar output_handler gibi yapılır fakat birlikle kullanılamazlar.


Özkaynak Türleri

Bu eklenti gzopen() işlevinden dönen bir dosya tanıtıcısı tanımlar. PHP 8.0.0 öncesinde zlib.deflate ve zlib.inflate özkaynakları da tanımlıydı.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

FORCE_GZIP (int)
FORCE_DEFLATE (int)
ZLIB_ENCODING_RAW (int)
RFC 1951'e göre DEFLATE algoritması.
ZLIB_ENCODING_DEFLATE (int)
RFC 1950'ye göre ZLIB sıkıştırma algoritması.
ZLIB_ENCODING_GZIP (int)
RFC 1952'ye göre GZIP algoritması.
ZLIB_FILTERED (int)
ZLIB_HUFFMAN_ONLY (int)
ZLIB_FIXED (int)
ZLIB_RLE (int)
ZLIB_DEFAULT_STRATEGY (int)
ZLIB_BLOCK (int)
ZLIB_NO_FLUSH (int)
ZLIB_PARTIAL_FLUSH (int)
ZLIB_SYNC_FLUSH (int)
ZLIB_FULL_FLUSH (int)
ZLIB_FINISH (int)


Örnekler

Bu örnek geçici bir dosya açar ve içine bir deneme dizgesi yazdıktan sonra dosya içeriğini iki defa basar.

Örnek 1 - Küçük bir Zlib örneği

<?php

$filename = tempnam('/tmp', 'zlibtest') . '.gz';
echo "<html>\n<head></head>\n<body>\n<pre>\n";
$s = "Only a test, test, test, test, test, test, test, test!\n";

// dosyayı azami sıkıştırmayla açalım
$zp = gzopen($filename, "w9");

// dizgeyi dosyaya yazalım
gzwrite($zp, $s);

// dosyayı kapatalım
gzclose($zp);

// dosyayı okumak için açalım
$zp = gzopen($filename, "r");

// 3 karakter okuyalım
echo gzread($zp, 3);

// dosyayı sonuna kadar çıktılayıp kapatalım.
gzpassthru($zp);
gzclose($zp);

echo "\n";

// dosyayı açıp içeriğini basalım (ikinci kez).
if (readgzfile($filename) != strlen($s)) {
echo "Zlib işlevlerinde hata!";
}
unlink($filename);
echo "</pre>\n</body>\n</html>\n";

?>

Örnek 2 - Ardışık sıkıştırma ve açma arayüzü örneği

<?php
// GZIP sıkıştırması gerçekleştirelim:
$deflateContext = deflate_init(ZLIB_ENCODING_GZIP);
$compressed = deflate_add($deflateContext, "Sıkıştırılacak veri", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, ", biraz daha", ZLIB_NO_FLUSH);
$compressed .= deflate_add($deflateContext, " ve biraz daha!", ZLIB_FINISH);

// GZIP sıkıştırmasını açalım:
$inflateContext = inflate_init(ZLIB_ENCODING_GZIP);
$uncompressed = inflate_add($inflateContext, $compressed, ZLIB_NO_FLUSH);
$uncompressed .= inflate_add($inflateContext, NULL, ZLIB_FINISH);
echo $uncompressed;
?>

Yukarıdaki örneğin çıktısı:

Sıkıştırılacak veri, biraz daha, ve biraz daha!


Zlib İşlevleri

İçindekiler

  • deflate_add — Incrementally deflate data
  • deflate_init — Initialize an incremental deflate context
  • gzclose — Bir açık gzipli dosya tanıtıcısını kapar
  • gzcompress — Bir dizgeyi sıkıştırır
  • gzdecode — Gzipli bir dizgenin sıkıştırmasını açar
  • gzdeflate — Bir dizgeyi deflate biçeminde sıkıştırır
  • gzencode — Gzipli bir dizge oluşturur
  • gzeof — Gzipli dosya tanıtıcında dosya sonunu sınar
  • gzfile — Gzipli dosyayı bir dizi içinde döndürür
  • gzgetc — Gzipli dosya göstericisindeki karakteri döndürür
  • gzgets — Gzipli dosya tanıtıcısından bir satır döndürür
  • gzgetss — Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır
  • gzinflate — Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
  • gzopen — Bir gzipli dosya açar
  • gzpassthru — Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar
  • gzputs — gzwrite işlevinin takma adıdır
  • gzread — Gzipli dosyayı ikil kipte okur
  • gzrewind — Gzipli dosya göstericisini dosya başlangıcına taşır
  • gzseek — Gzipli dosya göstericisini konumlar
  • gztell — Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür
  • gzuncompress — Sıkıştırılmış bir dizgenin sıkıştırmasını açar
  • gzwrite — Bir dizgeyi bir gzipli dosyaya ikil kipte yazar
  • inflate_add — Incrementally inflate encoded data
  • inflate_get_read_len — Get number of bytes read so far
  • inflate_get_status — Get decompression status
  • inflate_init — Initialize an incremental inflate context
  • readgzfile — Bir .gz dosyası çıktılar
  • zlib_decode — Uncompress any raw/gzip/zlib encoded data
  • zlib_encode — Compress data with the specified encoding
  • zlib_get_coding_type — Çıktı sıkıştırması için kullanılan kodlama türünü döndürür


Incrementally deflate data

  • « Zlib İşlevleri
  • deflate_init »
  • PHP Manual
  • Zlib İşlevleri
  • Incrementally deflate data

deflate_add

(PHP 7, PHP 8)

deflate_add — Incrementally deflate data

Açıklama

deflate_add(DeflateContext $context, string $data, int $flush_mode = ZLIB_SYNC_FLUSH): string|false

Incrementally deflates data in the specified context.

Bağımsız Değişkenler

context

A context created with deflate_init().

data

A chunk of data to compress.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Dönen Değerler

Returns a chunk of compressed data, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If invalid arguments are given, an error of level E_WARNING is generated.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | context expects a DeflateContext instance now; previously, a resource was expected.

Ayrıca Bakınız

  • deflate_init() - Initialize an incremental deflate context


Initialize an incremental deflate context

  • « deflate_add
  • gzclose »
  • PHP Manual
  • Zlib İşlevleri
  • Initialize an incremental deflate context

deflate_init

(PHP 7, PHP 8)

deflate_init — Initialize an incremental deflate context

Açıklama

deflate_init(int $encoding, array $options = []): DeflateContext|false

Initializes an incremental deflate context using the specified encoding.

Note that the window option here only sets the window size of the algorithm, differently from the zlib filters where the same parameter also sets the encoding to use; the encoding must be set with the encoding parameter.

Limitation: there is currently no way to set the header information on a GZIP compressed stream, which are set as follows: GZIP signature (\x1f\x8B); compression method (\x08 == DEFLATE); 6 zero bytes; the operating system set to the current system (\x00 = Windows, \x03 = Unix, etc.)

Bağımsız Değişkenler

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15. zlib changes a window size of 8 to 9, and as of zlib 1.2.8 fails with a warning, if a window size of 8 is requested for ZLIB_ENCODING_RAW or ZLIB_ENCODING_GZIP.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Dönen Değerler

Returns a deflate context resource (zlib.deflate) on success, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If an invalid option is passed to options or the context couldn't be created, an error of level E_WARNING is generated.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a DeflateContext instance now; previously, a resource was returned.

Ayrıca Bakınız

  • deflate_add() - Incrementally deflate data
  • inflate_init() - Initialize an incremental inflate context


Bir açık gzipli dosya tanıtıcısını kapar

  • « deflate_init
  • gzcompress »
  • PHP Manual
  • Zlib İşlevleri
  • Bir açık gzipli dosya tanıtıcısını kapar

gzclose

(PHP 4, PHP 5, PHP 7, PHP 8)

gzclose — Bir açık gzipli dosya tanıtıcısını kapar

Açıklama

gzclose(resource $dt): bool

Belirtilen dosya tanıtıcısını kapatır.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - gzclose() örneği

<?php
$gz = gzopen('birdosya.gz','w9');
gzputs ($gz, 'birdosya.gz dosyasına eklenecek veri');
gzclose($gz);
?>

Ayrıca Bakınız

  • gzopen() - Bir gzipli dosya açar


Bir dizgeyi sıkıştırır

  • « gzclose
  • gzdecode »
  • PHP Manual
  • Zlib İşlevleri
  • Bir dizgeyi sıkıştırır

gzcompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

gzcompress — Bir dizgeyi sıkıştırır

Açıklama

gzcompress(string $veri, int $seviye = -1, int $kodlama = ZLIB_ENCODING_DEFLATE): string|false

Bu işlev belirtilen dizgeyi ZLIB veri biçemini kullanarak sıkıştırır.

ZLIB sıkıştırma algoritması hakkında daha ayrıntılı bilgi edinmek için "» ZLIB Sıkıştırılmış Veri Biçemi Belirtiminin 3.3 sürümü" (RFC 1950) belgesine bakınız.

Bilginize:

Bu biçem bir takım başlık verileri içeren gzip sıkıştırması ile aynı değildir. Gzip sıkıştırması için gzencode() işlevine bakınız.

Bağımsız Değişkenler

veri

Sıkıştırılacak veri.

seviye

Sıkıştırma seviyesi. Sıkıştırma olmayacağını belirtmek için 0, azami sıkıştırma için 9'a kadar değer belirtilebilir.

-1 belitilirse, zlib kütüphanesinin 6 olan öntanımlı sıkıştırması kullanılır.

kodlama

ZLIB_ENCODING_* sabitlerinden biri.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmış dizgeyi döndürür.

Örnekler

Örnek 1 - gzcompress() örneği

<?php
$sıkıveri = gzcompress('Sıkıştırılacak veri', 9);
echo $sıkıveri;
?>

Ayrıca Bakınız

  • gzdeflate() - Bir dizgeyi deflate biçeminde sıkıştırır
  • gzinflate() - Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
  • gzuncompress() - Sıkıştırılmış bir dizgenin sıkıştırmasını açar
  • gzencode() - Gzipli bir dizge oluşturur


Gzipli bir dizgenin sıkıştırmasını açar

  • « gzcompress
  • gzdeflate »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli bir dizgenin sıkıştırmasını açar

gzdecode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

gzdecode — Gzipli bir dizgenin sıkıştırmasını açar

Açıklama

gzdecode(string $veri, int $uzunluk = 0): string|false

Belirtilen veri dizgesinin gzip sıkıştırmalı biçemini döndürür.

Bağımsız Değişkenler

veri

gzencode() tarafından sıkıştırılmış veri.

uzunluk

Kodu çözülecek verinin azami uzunluğu.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmamış dizgeyi döndürür.

Hatalar/İstisnalar

Bir hata oluşursa, E_WARNING seviyesinde bir hata çıktılanır.

Ayrıca Bakınız

  • gzencode() - Gzipli bir dizge oluşturur


Bir dizgeyi deflate biçeminde sıkıştırır

  • « gzdecode
  • gzencode »
  • PHP Manual
  • Zlib İşlevleri
  • Bir dizgeyi deflate biçeminde sıkıştırır

gzdeflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzdeflate — Bir dizgeyi deflate biçeminde sıkıştırır

Açıklama

gzdeflate(string $veri, int $seviye = -1, int $kodlama = ZLIB_ENCODING_RAW): string|false

Bu işlev belirtilen veriyi DEFLATE veri biçemini kullanarak sıkıştırır.

DEFLATE sıkıştırma algoritması hakkında daha ayrıntılı bilgi edinmek için "» DEFLATE Sıkıştırılmış Veri Biçemi Belirtiminin 1.3 sürümü" (RFC 1951) belgesine bakınız.

Bağımsız Değişkenler

data

Sıkıştırılacak veri.

seviye

Sıkıştırma seviyesi. Sıkıştırma olmayacağını belirtmek için 0, azami sıkıştırma için 9'a kadar değer belirtilebilir. Belirtilmezse, öntanımlı sıkıştırma seviyesi zlib kütüphanesinin öntanımlı sıkıştırma seviyesine eşit olacaktır.

kodlama

ZLIB_ENCODING_* sabitlerinden biri.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmış dizgeyi döndürür.

Örnekler

Örnek 1 - gzdeflate() örneği

<?php
$sıkıveri = gzdeflate('Sıkıştırılacak veri', 9);
echo $sıkıveri;
?>

Ayrıca Bakınız

  • gzinflate() - Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
  • gzcompress() - Bir dizgeyi sıkıştırır
  • gzuncompress() - Sıkıştırılmış bir dizgenin sıkıştırmasını açar
  • gzencode() - Gzipli bir dizge oluşturur


Gzipli bir dizge oluşturur

  • « gzdeflate
  • gzeof »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli bir dizge oluşturur

gzencode

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzencode — Gzipli bir dizge oluşturur

Açıklama

gzencode(string $veri, int $seviye = -1, int $kodlama = ZLIB_ENCODING_GZIP): string|false

Bu işlev veri dizgesinin gzip programının çıktısı ile uyumlu olarak sıkıştırılmış halini döndürür.

GZIP sıkıştırma algoritması hakkında daha ayrıntılı bilgi edinmek için "» GZIP Sıkıştırılmış Dosya Biçemi Belirtiminin 4.3 sürümü" (RFC 1952) belgesine bakınız.

Bağımsız Değişkenler

veri

Sıkıştırılacak veri.

seviye

Sıkıştırma seviyesi. Sıkıştırma olmayacağını belirtmek için 0, azami sıkıştırma için 9'a kadar değer belirtilebilir. Belirtilmezse, öntanımlı sıkıştırma seviyesi zlib kütüphanesinin öntanımlı sıkıştırma seviyesine eşit olacaktır.

kodlama

Kodlama kipi. FORCE_GZIP (öntanımlı) veya FORCE_DEFLATE olabilir.

FORCE_DEFLATE bir zlib başlığı, deflate biçemli veri ve bir Adler sağlama toplamından oluşan RFC 1950 uyumlu bir çıktı üretir.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmış dizgeyi döndürür.

Örnekler

Sonuçlanan dizge, standart bir .gz dosyasının içerebileceği uygun başlıkları ve veri yapısını içerir.

Örnek 1 - Bir gzip dosyası oluşturmak

<?php
$veri = file_get_contents("bigfile.txt");
$sıkıveri = gzencode($veri, 9);
file_put_contents("bigfile.txt.gz", $sıkıveri);
?>

Ayrıca Bakınız

  • gzdecode() - Gzipli bir dizgenin sıkıştırmasını açar
  • gzdeflate() - Bir dizgeyi deflate biçeminde sıkıştırır
  • gzinflate() - Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
  • gzuncompress() - Sıkıştırılmış bir dizgenin sıkıştırmasını açar
  • gzcompress() - Bir dizgeyi sıkıştırır
  • » ZLIB Sıkıştırmalı Veri Biçemi Belirtimi (RFC 1950)


Gzipli dosya tanıtıcında dosya sonunu sınar

  • « gzencode
  • gzfile »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya tanıtıcında dosya sonunu sınar

gzeof

(PHP 4, PHP 5, PHP 7, PHP 8)

gzeof — Gzipli dosya tanıtıcında dosya sonunu sınar

Açıklama

gzeof(resource $dt): bool

Gzipli dosya tanıtıcısında dosya sonuna gelinmişse true döndürür.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Gzipli dosya tanıtıcısında dosya sonuna gelinmişse veya bir hata oluşmuşsa true aksi takdirde false döndürür.

Örnekler

Örnek 1 - gzeof() örneği

<?php
$gz = gzopen('birdosya.gz', 'r');
while (!gzeof($gz)) {
echo gzgetc($gz);
}
gzclose($gz);
?>


Gzipli dosyayı bir dizi içinde döndürür

  • « gzeof
  • gzgetc »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosyayı bir dizi içinde döndürür

gzfile

(PHP 4, PHP 5, PHP 7, PHP 8)

gzfile — Gzipli dosyayı bir dizi içinde döndürür

Açıklama

gzfile(string $dosyaismi, int $include_path_kullan = 0): array|false

Dosyanın içeriğini bir dizide döndürmesi dışında readgzfile() ile aynıdır.

Bağımsız Değişkenler

dosyaismi

Okunacak dosyanın ismi.

include_path_kullan

Bu isteğe bağlı bağımsız değişkenle 1 değerini aktarırsanız dosyanın include_path yönergesindeki yollarda da aranmasını sağlamış olursunuz.

Dönen Değerler

Her elemanında bir satır içermek üzere dosyayı içeren dizi ile döner. Boş satırlar dahildir ve satırsonu karakterleri kaldırılmaz, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - gzfile() örneği

<?php
$satırlar = gzfile('birdosya.gz');
foreach ($satırlar as $satır) {
echo $satır;
}
?>

Ayrıca Bakınız

  • readgzfile() - Bir .gz dosyası çıktılar
  • gzopen() - Bir gzipli dosya açar


Gzipli dosya göstericisindeki karakteri döndürür

  • « gzfile
  • gzgets »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya göstericisindeki karakteri döndürür

gzgetc

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgetc — Gzipli dosya göstericisindeki karakteri döndürür

Açıklama

gzgetc(resource $dt): string|false

Dosya tanıtıcı belirtilen akımdan (sıkıştırılmamış) tek bir karakter içeren bir dizge döndürür.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Sıkıştırılmamış karakteri veya (gzeof()'tan farklı olarak) dosya sonuna gelinmişse false döndürür.

Örnekler

Örnek 1 - gzgetc() örneği

<?php
$gz = gzopen('birdosya.gz', 'r');
while (!gzeof($gz)) {
echo gzgetc($gz);
}
gzclose($gz);
?>

Ayrıca Bakınız

  • gzopen() - Bir gzipli dosya açar
  • gzgets() - Gzipli dosya tanıtıcısından bir satır döndürür


Gzipli dosya tanıtıcısından bir satır döndürür

  • « gzgetc
  • gzgetss »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya tanıtıcısından bir satır döndürür

gzgets

(PHP 4, PHP 5, PHP 7, PHP 8)

gzgets — Gzipli dosya tanıtıcısından bir satır döndürür

Açıklama

gzgets(resource $dt, ?int $uzunluk = null): string|false

Belirtilen dosya tanıtıcısında mevcut konumdan itibaren en fazla (sıkıştırılmamış) uzunluk - 1 bayt okur. Okuma işlemi uzunluk - 1 baytta, ilk satırsonu karakterinde veya dosya sonuna gelindiğinde (hangisi önce olursa) durur.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

uzunluk

Okunacak verinin uzunluğu.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmamış dizgeyi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor; evvelce, 1024 öntanımlıydı.

Örnekler

Örnek 1 - gzgets() örneği

<?php
$dt = gzopen('birdosya.gz', 'r');
while (!gzeof($dt)) {
$tampon = gzgets($dt, 4096);
echo $tampon;
}
gzclose($dt);
?>

Ayrıca Bakınız

  • gzopen() - Bir gzipli dosya açar
  • gzgetc() - Gzipli dosya göstericisindeki karakteri döndürür
  • gzwrite() - Bir dizgeyi bir gzipli dosyaya ikil kipte yazar


Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır

  • « gzgets
  • gzinflate »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır

gzgetss

(PHP 4, PHP 5, PHP 7)

gzgetss — Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır

Uyarı

Bu işlevin kullanımı PHP 7.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

gzgetss(resource $dt, int $uzunluk, string $izinli_etiketler = ?): string

Okuduğu satırdan HTML ve PHP etiketlerini ayıklaması dışında gzgets() işlevi ile aynıdır.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

uzunluk

Okunacak verinin uzunluğu.

izinli_etiketler

Bu isteğe bağlı bağımsız değişkende ayıklanmayacak etiketleri belirtebilirsiniz.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sıkıştırılmamış ve etiketleri ayıklanmış dizgeyi döndürür.

Örnekler

Örnek 1 - gzgetss() örneği

<?php
$dt = gzopen('birdosya.gz', 'r');
while (!gzeof($dt)) {
$tampon = gzgetss($dt, 4096);
echo $tampon;
}
gzclose($dt);
?>

Ayrıca Bakınız

  • gzopen() - Bir gzipli dosya açar
  • gzgets() - Gzipli dosya tanıtıcısından bir satır döndürür
  • strip_tags() - Bir dizgeden HTML ve PHP etiketlerini ayıklar


Deflate sıkıştırmalı bir verinin sıkıştırmasını açar

  • « gzgetss
  • gzopen »
  • PHP Manual
  • Zlib İşlevleri
  • Deflate sıkıştırmalı bir verinin sıkıştırmasını açar

gzinflate

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gzinflate — Deflate sıkıştırmalı bir verinin sıkıştırmasını açar

Açıklama

gzinflate(string $veri, int $uzunluk = 0): string|false

Deflate sıkıştırmalı bir verinin sıkıştırmasını açar.

Bağımsız Değişkenler

veri

gzdeflate() tarafından sıkıştırılmış veri.

uzunluk

Kodu çözülmüş verinin azami uzunluğu.

Dönen Değerler

Bir hata durumunda false aksi takdirde verinin sıkıştırılmamış halini döndürür.

Sıkıştırılmamış veri uzunluğu, sıkıştırılmış veri'nin 32768 mislinden uzunsa veya seçimlik uzunluk bağımsız değişkeninde sıfırdan büyük bir değer belirtilmesi durumunda belirtilen değerden daha uzunsa bu işlev bir hata döndürür.

Örnekler

Örnek 1 - gzinflate() örneği

<?php
$sımsıkı = gzdeflate('Sıkıştırılacak veri', 9);
$normal = gzinflate($sımsıkı);
echo $normal;
?>

Ayrıca Bakınız

  • gzdeflate() - Bir dizgeyi deflate biçeminde sıkıştırır
  • gzcompress() - Bir dizgeyi sıkıştırır
  • gzuncompress() - Sıkıştırılmış bir dizgenin sıkıştırmasını açar
  • gzencode() - Gzipli bir dizge oluşturur


Bir gzipli dosya açar

  • « gzinflate
  • gzpassthru »
  • PHP Manual
  • Zlib İşlevleri
  • Bir gzipli dosya açar

gzopen

(PHP 4, PHP 5, PHP 7, PHP 8)

gzopen — Bir gzipli dosya açar

Açıklama

gzopen(string $dosyaismi, string $kip, int $include_path_kullan = 0): resource|false

Okuma veya yazma amacıyla bir gzipli (.gz) dosya açar.

gzopen() işlevi henüz sıkıştırılmamış dosyaları okumak için açmakta da kullanılabilir. Bu durumda gzread(), sıkıştırmasız dosyayı doğrudan okuyacaktır.

Bağımsız Değişkenler

dosyaismi

Gzipli dosyanın ismi.

kip

fopen() işlevindeki gibi (rb veya wb) olmakla birlikte ayrıca bir sıkıştırma seviyesiyle (wb9 gibi) birlikte bir strateji de belirtilebilir: wb6f örneğindeki gibi süzgeçli veri için f; wb1h örneğindeki gibi sadece Huffman sıkıştırması için h. (Bu strateji bağımsız değişkenleri hakkında daha ayrıntılı bilgi için zlib.h dosyasındaki deflateInit2 açıklamasına bakınız.)

include_path_kullan

Bu isteğe bağlı bağımsız değişkene 1 belirtirseniz dosya ayrıca include_path yönergesinde belirtilen yolarda da aranır.

Dönen Değerler

Açılan dosyaya bir dosya tanıtıcısı döndürür. Bu dosya tanıtıcısını kullanarak, (şeffaf olarak) sıkıştırılmış dosyadan herşeyi sıkıştırılmamış olarak okuyabilir ve dosyaya herşeyi sıkıştırılmış olarak yazabilirsiniz.

Açma işlemi başarısız olursa işlev false döndürür.

Örnekler

Örnek 1 - gzopen() örneği

<?php
$dt = gzopen("/tmp/dosya.gz", "r");
?>

Ayrıca Bakınız

  • gzclose() - Bir açık gzipli dosya tanıtıcısını kapar


Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar

  • « gzopen
  • gzputs »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar

gzpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

gzpassthru — Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar

Açıklama

gzpassthru(resource $dt): int

Belirtilen dosya tanıtıcısında mevcut konumdan dosya sonuna kadar okur ve (sıkıştırılmamış) sonucu standart çıktıya gönderir.

Bilginize:

Veriyi dosyaya yazdıktan sonra çıktılamak isterseniz dosya göstericisini akımın başlangıcına taşımak için gzrewind() işlevini kullanmalısınız.

İpucu

Tek isteğiniz dosya içeriğini değiştirmeden ve dosya içinde belli bir konuma gitmeden içeriği çıktı tamponuna dökümlemekse readgzfile() işlevini kullanarak fazladan bir gzopen() çağrısı yapmaktan kurtulursunuz.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Belirtilen dosya tanıtıcısından okunan sıkıştırılmamış karakter sayısı döner.

Örnekler

Örnek 1 - gzpassthru() örneği

<?php
$dt = gzopen('dosya.gz', 'r');
gzpassthru($dt);
gzclose($dt);
?>


gzwrite işlevinin takma adıdır

  • « gzpassthru
  • gzread »
  • PHP Manual
  • Zlib İşlevleri
  • gzwrite işlevinin takma adıdır

gzputs

(PHP 4, PHP 5, PHP 7, PHP 8)

gzputs — gzwrite() işlevinin takma adıdır

Açıklama

Bu işlev gzwrite() işlevinin takma adıdır.


Gzipli dosyayı ikil kipte okur

  • « gzputs
  • gzrewind »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosyayı ikil kipte okur

gzread

(PHP 4, PHP 5, PHP 7, PHP 8)

gzread — Gzipli dosyayı ikil kipte okur

Açıklama

gzread(resource $dt, int $uzunluk): string|false

gzread() işlevi belirtilen dosya tanıtıcısından uzunluk bayt okur. Okuma işlemi, gzipli dosya akımından (sıkıştırılmamış) uzunluk bayt okununca veya dosya sonuna gelindiğinde (hangisi önce olursa) durur.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

uzunluk

Okunacak sıkıştırılmamış bayt sayısı.

Dönen Değerler

Okunan veri ile döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - gzread() örneği

<?php
// gzipli dosyanın içeriğini dizgeye yazar
$dosya = "/usr/local/birdosya.txt.gz";
$dt = gzopen($dosya, "r");
$içerik = gzread($dt, 10000);
gzclose($dt);
?>

Ayrıca Bakınız

  • gzwrite() - Bir dizgeyi bir gzipli dosyaya ikil kipte yazar
  • gzopen() - Bir gzipli dosya açar
  • gzgets() - Gzipli dosya tanıtıcısından bir satır döndürür
  • gzgetss() - Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır
  • gzfile() - Gzipli dosyayı bir dizi içinde döndürür
  • gzpassthru() - Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar


Gzipli dosya göstericisini dosya başlangıcına taşır

  • « gzread
  • gzseek »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya göstericisini dosya başlangıcına taşır

gzrewind

(PHP 4, PHP 5, PHP 7, PHP 8)

gzrewind — Gzipli dosya göstericisini dosya başlangıcına taşır

Açıklama

gzrewind(resource $dt): bool

Belirtilen dosya tanıtıcısında dosya göstericisini dosya akımının başlangıcına taşır.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • gzseek() - Gzipli dosya göstericisini konumlar
  • gztell() - Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür


Gzipli dosya göstericisini konumlar

  • « gzrewind
  • gztell »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya göstericisini konumlar

gzseek

(PHP 4, PHP 5, PHP 7, PHP 8)

gzseek — Gzipli dosya göstericisini konumlar

Açıklama

gzseek(resource $dt, int $konum, int $nereye = SEEK_SET): int

Belirtilen dosya tanıtıcısında dosya göstericisini belirtilen konuma taşır. gzseek(dt, konum, SEEK_SET) C çağrısına eşdeğerdir.

Dosya okumak için açılmışsa bu işlev yine de taklit edilir ama işlem oldukça yavaşlar. Dosya yazmak için açılmışsa sadece ileri yönde konumlamalar desteklenir; gzseek() konumlamanın ardından yeni konuma kadar olan bölgeyi sıfırlarla doldurur.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

konum

Göstericinin götürüleceği konum.

nereye

Olası nereye değerleri:

  • SEEK_SET - Gösterici, tam konumuncu bayta yerleştirilir.
  • SEEK_CUR - Gösterici, mevcut konum artı konumuncu bayta yerleştirilir.

nereye bağımsız değişkeni belirtilmezse SEEK_SET belirtilmiş gibi işlem yapılır.

Dönen Değerler

Başarı durumunda 0, aksi takdirde -1 döner. Dosya sonunun sonrasına yapılan bir konumlama bir hata olarak değerlendirilmez.

Örnekler

Örnek 1 - gzseek() örneği

<?php
$gz = gzopen('birdosya.gz', 'r');
gzseek($gz,2);
echo gzgetc($gz);
gzclose($gz);
?>

Ayrıca Bakınız

  • gztell() - Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür
  • gzrewind() - Gzipli dosya göstericisini dosya başlangıcına taşır


Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür

  • « gzseek
  • gzuncompress »
  • PHP Manual
  • Zlib İşlevleri
  • Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür

gztell

(PHP 4, PHP 5, PHP 7, PHP 8)

gztell — Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür

Açıklama

gztell(resource $dt): int|false

Belirtilen dosya tanıtıcısının, yani sıkıştırılmamış dosya akımının okuma/yazma konumunu döndürür.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

Dönen Değerler

Dosya göstericisinin yeri veya bir hata oluşmuşsa false döner.

Ayrıca Bakınız

  • gzopen() - Bir gzipli dosya açar
  • gzseek() - Gzipli dosya göstericisini konumlar
  • gzrewind() - Gzipli dosya göstericisini dosya başlangıcına taşır


Sıkıştırılmış bir dizgenin sıkıştırmasını açar

  • « gztell
  • gzwrite »
  • PHP Manual
  • Zlib İşlevleri
  • Sıkıştırılmış bir dizgenin sıkıştırmasını açar

gzuncompress

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

gzuncompress — Sıkıştırılmış bir dizgenin sıkıştırmasını açar

Açıklama

gzuncompress(string $veri, int $uzunluk = 0): string|false

Bu işlev sıkıştırılmış bir dizgenin sıkıştırmasını açar.

Bağımsız Değişkenler

veri

gzcompress() tarafından sıkıştırılmış veri.

uzunluk

Kodu çözülecek verinin azami uzunluğu.

Dönen Değerler

Verinin sıkıştırılmamış halini veya bir hata oluşması halinde false döndürür.

Sıkıştırılmamış veri uzunluğu isteğe bağlı uzunluk ile belirtilenden veya sıkıştırılmış veri'nin 32768 mislinden uzunsa bu işlev bir hata döndürür.

Örnekler

Örnek 1 - gzuncompress() örneği

<?php
$compressed = gzcompress('Sıkıştırılacak veri', 9);
$uncompressed = gzuncompress($compressed);
echo $uncompressed;
?>

Ayrıca Bakınız

  • gzcompress() - Bir dizgeyi sıkıştırır
  • gzinflate() - Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
  • gzdeflate() - Bir dizgeyi deflate biçeminde sıkıştırır
  • gzencode() - Gzipli bir dizge oluşturur


Bir dizgeyi bir gzipli dosyaya ikil kipte yazar

  • « gzuncompress
  • inflate_add »
  • PHP Manual
  • Zlib İşlevleri
  • Bir dizgeyi bir gzipli dosyaya ikil kipte yazar

gzwrite

(PHP 4, PHP 5, PHP 7, PHP 8)

gzwrite — Bir dizgeyi bir gzipli dosyaya ikil kipte yazar

Açıklama

gzwrite(resource $dt, string $dizge, ?int $length = null): int|false

gzwrite() işleve belirtilen dizge dizgesini belirtilen dosya tanıtıcısına sıkıştırarak yazar.

Bağımsız Değişkenler

dt

Gzipli dosya tanıtıcısı. gzopen() tarafından açılmış bir dosyayı gösteren geçerli bir tanıtıcı olmalıdır.

dizge

Sıkıştırılarak dosyaya yazılacak dizge.

uzunluk

Yazılacak sıkıştırılmamış bayt sayısı. Belirtilmişse yazma işlemi sıkıştırılmamış uzunluk bayt yazıldıktan sonra veya dosya sonuna gelindiğinde (hangisi önce olursa) durur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor; evvelce 0 öntanımlıydı.
7.4.0 | Başarısızlık durumunda artık false dönüyor; evvelce 0 dönerdi.

Dönen Değerler

Belirtilen sıkıştırılmış dosya akımına yazılan sıkıştırılmamış bayt sayısı ile döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - gzwrite() örneği

<?php
$dizge = 'Sıkıştırılacak bir takım bilgiler';
$gz = gzopen('birdosya.gz','w9');
gzwrite($gz, $dizge);
gzclose($gz);
?>

Ayrıca Bakınız

  • gzread() - Gzipli dosyayı ikil kipte okur
  • gzopen() - Bir gzipli dosya açar


Incrementally inflate encoded data

  • « gzwrite
  • inflate_get_read_len »
  • PHP Manual
  • Zlib İşlevleri
  • Incrementally inflate encoded data

inflate_add

(PHP 7, PHP 8)

inflate_add — Incrementally inflate encoded data

Açıklama

inflate_add(InflateContext $context, string $data, int $flush_mode = ZLIB_SYNC_FLUSH): string|false

Incrementally inflates encoded data in the specified context.

Limitation: header information from GZIP compressed data are not made available.

Bağımsız Değişkenler

context

A context created with inflate_init().

data

A chunk of compressed data.

flush_mode

One of ZLIB_BLOCK, ZLIB_NO_FLUSH, ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH, ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize compression, and ZLIB_FINISH to terminate with the last chunk of data. See the » zlib manual for a detailed description of these constants.

Dönen Değerler

Returns a chunk of uncompressed data, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If invalid parameters are given, inflating the data requires a preset dictionary, but none is specified, the compressed stream is corrupt or has an invalid checksum, an error of level E_WARNING is generated.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.

Ayrıca Bakınız

  • inflate_init() - Initialize an incremental inflate context


Get number of bytes read so far

  • « inflate_add
  • inflate_get_status »
  • PHP Manual
  • Zlib İşlevleri
  • Get number of bytes read so far

inflate_get_read_len

(PHP 7 >= 7.2.0, PHP 8)

inflate_get_read_len — Get number of bytes read so far

Açıklama

inflate_get_read_len(InflateContext $context): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

context

Dönen Değerler

Returns number of bytes read so far başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.


Get decompression status

  • « inflate_get_read_len
  • inflate_init »
  • PHP Manual
  • Zlib İşlevleri
  • Get decompression status

inflate_get_status

(PHP 7 >= 7.2.0, PHP 8)

inflate_get_status — Get decompression status

Açıklama

inflate_get_status(InflateContext $context): int

Usually returns either ZLIB_OK or ZLIB_STREAM_END.

Bağımsız Değişkenler

context

Dönen Değerler

Returns decompression status.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | context expects an InflateContext instance now; previously, a resource was expected.


Initialize an incremental inflate context

  • « inflate_get_status
  • readgzfile »
  • PHP Manual
  • Zlib İşlevleri
  • Initialize an incremental inflate context

inflate_init

(PHP 7, PHP 8)

inflate_init — Initialize an incremental inflate context

Açıklama

inflate_init(int $encoding, array $options = []): InflateContext|false

Initialize an incremental inflate context with the specified encoding.

Bağımsız Değişkenler

encoding

One of the ZLIB_ENCODING_* constants.

options

An associative array which may contain the following elements:

level

The compression level in range -1..9; defaults to -1.

memory

The compression memory level in range 1..9; defaults to 8.

window

The zlib window size (logarithmic) in range 8..15; defaults to 15.

strategy

One of ZLIB_FILTERED, ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY (the default).

dictionary

A string or an array of strings of the preset dictionary (default: no preset dictionary).

Dönen Değerler

Returns an inflate context resource (zlib.inflate) on success, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If an invalid encoding or option is passed to options, or the context couldn't be created, an error of level E_WARNING is generated.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns an InflateContext instance now; previously, a resource was returned.

Notlar

Dikkat

Unlike gzinflate(), incremental inflate contexts do not constrain the length of the decoded data, so provide no automatic protection against Zip bombs.

Ayrıca Bakınız

  • inflate_add() - Incrementally inflate encoded data
  • deflate_init() - Initialize an incremental deflate context


Bir .gz dosyası çıktılar

  • « inflate_init
  • zlib_decode »
  • PHP Manual
  • Zlib İşlevleri
  • Bir .gz dosyası çıktılar

readgzfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readgzfile — Bir .gz dosyası çıktılar

Açıklama

readgzfile(string $dosyaismi, int $include_path_kullan = 0): int|false

Bir dosyayı okur ve sıkıştırıp standart çıktıya gönderir.

readgzfile() işlevi gzipli olmayan dosyaları da okumakta kullanılabilir; bu durumda readgzfile() sıkıştırılmamış dosyayı doğrudan okur.

Bağımsız Değişkenler

dosyaismi

Dosya sisteminden okunup içeriği standart çıktıya yazılacak dosya.

use_include_path

Bu isteğe bağlı bağımsız değişkenle 1 değerini aktarırsanız dosyanın include_path yönergesindeki yollarda da aranmasını sağlamış olursunuz.

Dönen Değerler

Başarılı olursa dosyadan okunan (sıkıştırılmamış) bayt sayısı ile döner, başarısızlık durumunda false döner

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Ayrıca Bakınız

  • gzpassthru() - Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar
  • gzfile() - Gzipli dosyayı bir dizi içinde döndürür
  • gzopen() - Bir gzipli dosya açar


Uncompress any raw/gzip/zlib encoded data

  • « readgzfile
  • zlib_encode »
  • PHP Manual
  • Zlib İşlevleri
  • Uncompress any raw/gzip/zlib encoded data

zlib_decode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

zlib_decode — Uncompress any raw/gzip/zlib encoded data

Açıklama

zlib_decode(string $data, int $max_length = 0): string|false

Uncompress any raw/gzip/zlib encoded data.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

max_length

Dönen Değerler

Returns the uncompressed data, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • zlib_encode() - Compress data with the specified encoding


Compress data with the specified encoding

  • « zlib_decode
  • zlib_get_coding_type »
  • PHP Manual
  • Zlib İşlevleri
  • Compress data with the specified encoding

zlib_encode

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

zlib_encode — Compress data with the specified encoding

Açıklama

zlib_encode(string $data, int $encoding, int $level = -1): string|false

Compress data with the specified encoding.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The data to compress.

encoding

The compression algorithm. Either ZLIB_ENCODING_RAW, ZLIB_ENCODING_DEFLATE or ZLIB_ENCODING_GZIP.

level

Dönen Değerler

Örnekler

Örnek 1 zlib_encode() example

<?php
$str = 'hello world';
$enc = zlib_encode($str, ZLIB_ENCODING_DEFLATE);
echo bin2hex($enc);
?>

Yukarıdaki örneğin çıktısı:

789ccb48cdc9c95728cf2fca4901001a0b045d

Ayrıca Bakınız

  • zlib_decode() - Uncompress any raw/gzip/zlib encoded data


Çıktı sıkıştırması için kullanılan kodlama türünü döndürür

  • « zlib_encode
  • DeflateContext »
  • PHP Manual
  • Zlib İşlevleri
  • Çıktı sıkıştırması için kullanılan kodlama türünü döndürür

zlib_get_coding_type

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

zlib_get_coding_type — Çıktı sıkıştırması için kullanılan kodlama türünü döndürür

Açıklama

zlib_get_coding_type(): string|false

Çıktı sıkıştırması için kullanılan kodlama türünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Olası dönüş değerleri gzip, deflate, ya da false'tır.

Ayrıca Bakınız

  • zlib.output_compression yönergesi.


The DeflateContext class

(PHP 8)

Giriş

A fully opaque class which replaces zlib.deflate resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class DeflateContext {
}


The InflateContext class

(PHP 8)

Giriş

A fully opaque class which replaces zlib.inflate resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class InflateContext {
}


Şifresel Eklentiler

  • Hash — HASH İleti Aşı Çerçevesi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • HashContext — HashContext sınıfı
    • Hash İşlevleri
  • Mcrypt
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Mcrypt şifreleri
    • Mcrypt İşlevleri
  • Mhash
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Mhash İşlevleri
  • OpenSSL
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Anahtar/Sertifika Bağımsız değişkenleri
    • Sertifika Doğrulama
    • OpenSSL İşlevleri
    • OpenSSLCertificate — The OpenSSLCertificate sınıfı
    • OpenSSLCertificateSigningRequest — The OpenSSLCertificateSigningRequest sınıfı
    • OpenSSLAsymmetricKey — The OpenSSLAsymmetricKey class
  • Password — Parola Aşlama
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Parola Aşlama İşlevleri
  • Rnp
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Rnp İşlevleri
    • RnpFFI — The RnpFFI class
  • Sodium
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Sodium İşlevleri
    • SodiumException — The SodiumException class


HASH İleti Aşı Çerçevesi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • HashContext — HashContext sınıfı
    • HashContext::__construct — Doğrudan örneklemeye izin vermemek için özel kurucu
    • HashContext::__serialize — Serializes the HashContext object
    • HashContext::__unserialize — Deserializes the data parameter into a HashContext object
  • Hash İşlevleri
    • hash_algos — Kayıtlı aşlama algoritmalarının bir listesini döndürür
    • hash_copy — Aşlama bağlamını kopyalar
    • hash_equals — Zamanlama saldırısı güvenli dize karşılaştırması
    • hash_file — Belirtilen dosyanın içeriğinden bir ileti aşı üretir
    • hash_final — Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür
    • hash_hkdf — Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur
    • hash_hmac_algos — hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür
    • hash_hmac_file — Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
    • hash_hmac — HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
    • hash_init — Ardışık aşlama bağlamını ilklendirir
    • hash_pbkdf2 — Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür
    • hash_update_file — Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
    • hash_update_stream — Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
    • hash_update — Veriyi etkin bir aşlama bağlamına dahil eder
    • hash — Bir ileti aşı üretir


Giriş

İleti Aş (hash) motoru. Çeşitli aşlama algoritmalarının keyfi uzunluktaki iletilere doğrudan veya ardışık uygulanmasını sağlar.


Gereksinimler

Bu işlevleri kullanmak için hiçbir şey kurmaya gerek yoktur; PHP çekirdeğinin parçasıdırlar.


Kurulum

PHP 5.1.2 ve sonrasında Hash eklentisi PHP paketinde gelmekte ve öntanımlı olarak derlenmektedir.

İptal edilmek istenirse PHP'yi derlemek için yapılandırırken --disable-hash seçeneğini belirtin. PHP'nin eski sürümleri Hash desteği için » PECL eklentisini kurabilirler.

PHP 7.4.0 ve sonrasında Hash eklentisi PHP'nin temel eklentisi olmuştur. Bu bakımdan, daima etkindir.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin hash_init() işlevinden dönen bir Aşlama Bağlamı özkaynağı vardır.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

HASH_HMAC (int)
hash_init() için isteğe bağlı seçenek. Geçerli aşlama bağlamına HMAC digest anahtar algoritmasının uygulanacağını belirtir.


HashContext sınıfı

(PHP 7 >= 7.2.0, PHP 8)

Giriş

Sınıf Sözdizimi

final class HashContext {
/* Yöntemler */
private __construct()
public __serialize(): array
public __unserialize(array $data): void
}

İçindekiler

  • HashContext::__construct — Doğrudan örneklemeye izin vermemek için özel kurucu
  • HashContext::__serialize — Serializes the HashContext object
  • HashContext::__unserialize — Deserializes the data parameter into a HashContext object


Doğrudan örneklemeye izin vermemek için özel kurucu

  • « HashContext
  • HashContext::__serialize »
  • PHP Manual
  • HashContext
  • Doğrudan örneklemeye izin vermemek için özel kurucu

HashContext::__construct

(PHP 7 >= 7.2.0, PHP 8)

HashContext::__construct — Doğrudan örneklemeye izin vermemek için özel kurucu

Açıklama

private HashContext::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Serializes the HashContext object

  • « HashContext::__construct
  • HashContext::__unserialize »
  • PHP Manual
  • HashContext
  • Serializes the HashContext object

HashContext::__serialize

(PHP 8)

HashContext::__serialize — Serializes the HashContext object

Açıklama

public HashContext::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Deserializes the data parameter into a HashContext object

  • « HashContext::__serialize
  • Hash İşlevleri »
  • PHP Manual
  • HashContext
  • Deserializes the data parameter into a HashContext object

HashContext::__unserialize

(PHP 8)

HashContext::__unserialize — Deserializes the data parameter into a HashContext object

Açıklama

public HashContext::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The value being deserialized.

Dönen Değerler

Hiçbir değer dönmez.


Hash İşlevleri

İçindekiler

  • hash_algos — Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_copy — Aşlama bağlamını kopyalar
  • hash_equals — Zamanlama saldırısı güvenli dize karşılaştırması
  • hash_file — Belirtilen dosyanın içeriğinden bir ileti aşı üretir
  • hash_final — Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür
  • hash_hkdf — Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur
  • hash_hmac_algos — hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür
  • hash_hmac_file — Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_hmac — HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_init — Ardışık aşlama bağlamını ilklendirir
  • hash_pbkdf2 — Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür
  • hash_update_file — Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
  • hash_update_stream — Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
  • hash_update — Veriyi etkin bir aşlama bağlamına dahil eder
  • hash — Bir ileti aşı üretir


Kayıtlı aşlama algoritmalarının bir listesini döndürür

  • « Hash İşlevleri
  • hash_copy »
  • PHP Manual
  • Hash İşlevleri
  • Kayıtlı aşlama algoritmalarının bir listesini döndürür

hash_algos

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_algos — Kayıtlı aşlama algoritmalarının bir listesini döndürür

Açıklama

hash_algos(): array

Kayıtlı aşlama algoritmalarının bir listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Desteklenen aşlama algoritmalarını içeren sayısal indisli bir dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | MurmurHash3 ve xxHash algoritmaları desteği eklendi.
7.4.0 | crc32c için destek eklendi.
7.1.0 | sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 ve sha3-512 için destek eklendi.

Örnekler

Örnek 1 - hash_algos() örneği

PHP 8.1.0 itibariyle, hash_algos() aşağıdaki algoritma isimlerini döndürecektir:

<?php
print_r(hash_algos());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512/224
    [8] => sha512/256
    [9] => sha512
    [10] => sha3-224
    [11] => sha3-256
    [12] => sha3-384
    [13] => sha3-512
    [14] => ripemd128
    [15] => ripemd160
    [16] => ripemd256
    [17] => ripemd320
    [18] => whirlpool
    [19] => tiger128,3
    [20] => tiger160,3
    [21] => tiger192,3
    [22] => tiger128,4
    [23] => tiger160,4
    [24] => tiger192,4
    [25] => snefru
    [26] => snefru256
    [27] => gost
    [28] => gost-crypto
    [29] => adler32
    [30] => crc32
    [31] => crc32b
    [32] => crc32c
    [33] => fnv132
    [34] => fnv1a32
    [35] => fnv164
    [36] => fnv1a64
    [37] => joaat
    [38] => murmur3a
    [39] => murmur3c
    [40] => murmur3f
    [41] => xxh32
    [42] => xxh64
    [43] => xxh3
    [44] => xxh128
    [45] => haval128,3
    [46] => haval160,3
    [47] => haval192,3
    [48] => haval224,3
    [49] => haval256,3
    [50] => haval128,4
    [51] => haval160,4
    [52] => haval192,4
    [53] => haval224,4
    [54] => haval256,4
    [55] => haval128,5
    [56] => haval160,5
    [57] => haval192,5
    [58] => haval224,5
    [59] => haval256,5
)

Ayrıca Bakınız

  • hash_hmac_algos() - hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür


Aşlama bağlamını kopyalar

  • « hash_algos
  • hash_equals »
  • PHP Manual
  • Hash İşlevleri
  • Aşlama bağlamını kopyalar

hash_copy

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

hash_copy — Aşlama bağlamını kopyalar

Açıklama

hash_copy(HashContext $bağlam): HashContext

Aşlama bağlamını kopyalar.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

Dönen Değerler

Aşlama Bağlamının bir kopyasını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor ve döndürülüyor.

Örnekler

Örnek 1 - hash_copy() örneği

<?php
$context = hash_init("sha256");
hash_update($context, "Pijamalı hasta ");

/* kulanmaya devem edebilmek için bağlamı kopyalayalım */
$copy_context = hash_copy($context);

echo hash_final($context), "\n";

hash_update($copy_context, "yağız şoföre çabucak güvendi.");
echo hash_final($copy_context), "\n";
?>

Yukarıdaki örneğin çıktısı:

36ae7cdae49d9a73ac20adb1325eb6855cb11ba7f502e9c549d0aeebd286abab
04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d


Zamanlama saldırısı güvenli dize karşılaştırması

  • « hash_copy
  • hash_file »
  • PHP Manual
  • Hash İşlevleri
  • Zamanlama saldırısı güvenli dize karşılaştırması

hash_equals

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

hash_equals — Zamanlama saldırısı güvenli dize karşılaştırması

Açıklama

hash_equals(string $bilinen_dzg, string $kullanıcı_dzg): bool

Yürütme sırasında bilinen_dzg içeriği hakkında bilgi sızdırmaksızın iki dizgenin eşit olup olmadığına bakar.

Bu işlev, zamanlama saldırılarını azaltmak için kullanılabilir. === ile düzenli karşılaştırma yapmak, iki değerin farklı olup olmadığına ve ilk farkın hangi konumda bulunabileceğine bağlı olarak daha fazla veya daha az zaman alacaktır, dolayısıyla bilinen_dzg içeriği hakkında bilgi sızdırılacaktır.

Dikkat

Kullanıcı tarafından sağlanan dizgenin birinci yerine ikinci bağımsız değişken olarak belirtilmesi önemlidir.

Bağımsız Değişkenler

bilinen_dzg

Gizli tutulması gereken dizge.

kullanıcı_dzg

Karşılaştıma için kullanıcının sağladığı dizge.

Dönen Değerler

İki dizge benzerse true yoksa false döner.

Örnekler

Örnek 1 - hash_equals() örneği

<?php
$gizliAnahtar = '8uRhAeH89naXfFXKGOEj';

// Değer ve imzayı kullanıcı örn. URL içinde sağlar ve
// $_GET kullanılarak alınır.
$değer = 'username=rasmuslerdorf';
$imza = '8c35009d3b50caf7f5d2c1e031842e6b7823a1bb781d33c5237cd27b57b5f327';

if (hash_equals(hash_hmac('sha256', $değer, $gizliAnahtar), $signature)) {
echo "Değer doğru imzalanmış.", PHP_EOL;
} else {
echo "Değer tahrif edilmiş.", PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Değer doğru imzalanmış.

Notlar

Bilginize:

Başarılı bir karşılaştırma için verilen dizgeler eşit uzunlukta olmalıdır. Uzunluklar farklıysa hemen false döner. Zamanlama saldırısı durumunda bilinen dizgenin uzunluğu değişebilir.

Ayrıca Bakınız

  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir


Belirtilen dosyanın içeriğinden bir ileti aşı üretir

  • « hash_equals
  • hash_final »
  • PHP Manual
  • Hash İşlevleri
  • Belirtilen dosyanın içeriğinden bir ileti aşı üretir

hash_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_file — Belirtilen dosyanın içeriğinden bir ileti aşı üretir

Açıklama

hash_file(
string $algo,
string $dosya,
bool $ham_çıktı = false,
array $seçenekler = []
): string|false

Belirtilen dosyanın içeriğinden bir ileti aşı üretir.

Bağımsız Değişkenler

algo

Aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

dosya

Aşı hesaplanacak dosyanın yeri; fopen() sarmalayıcıları desteklenir.

ham_çıktı

true olduğu takdirde ham ikil veri çıktılanır, aksi takdirde (false) küçük harfli onaltılıklar çıktılanır.

seçenekler

Çeşitli aşlama algoritmaları için seçenekleri içeren dizi. Şimdilik sadece, MurmurHash türevleri "seed" bağımsız değişkenini desteklemektedir.

Dönen Değerler

Hesaplanan ileti aşını, ham_çıktı için true belirtilmedikçe küçük harfli onaltılıklardan oluşan bir dizge olarak, aksi takdirde ham ikil gösterimi içeren bir dizge olarak çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - hash_file() örneği

<?php
/* Aşı hesaplanacak dosyayı oluşturalım */
file_put_contents('example.txt',
'Pijamalı hasta yağız şoföre çabucak güvendi.');

echo hash_file('sha256', 'example.txt');
?>

Yukarıdaki örneğin çıktısı:

04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d

Ayrıca Bakınız

  • hash() - Bir ileti aşı üretir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_update_file() - Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
  • md5_file() - Belirtilen dosyanın md5 özetini hesaplar
  • sha1_file() - Bir dosyanın sha1 aşını hesaplar


Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür

  • « hash_file
  • hash_hkdf »
  • PHP Manual
  • Hash İşlevleri
  • Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür

hash_final

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_final — Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür

Açıklama

hash_final(HashContext $bağlam, bool $ham_çıktı = false): string

Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

ham_çıktı

true olduğu takdirde ham ikil veri çıktılanır, aksi takdirde (false) küçük harfli onaltılıklar çıktılanır.

Dönen Değerler

Hesaplanan ileti aşını, ham_çıktı için true belirtilmedikçe küçük harfli onaltılıklardan oluşan bir dizge olarak, aksi takdirde ham ikil gösterimi içeren bir dizge olarak çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor.


Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur

  • « hash_final
  • hash_hmac_algos »
  • PHP Manual
  • Hash İşlevleri
  • Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur

hash_hkdf

(PHP 7 >= 7.1.2, PHP 8)

hash_hkdf — Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur

Açıklama

hash_hkdf(
string $algo,
string $anahtar,
int $uzunluk = 0,
string $bilgi = "",
string $tuz = ""
): string

Bağımsız Değişkenler

algo

Seçilen aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

Bilginize:

Kriptografik olmayan aşlama algoritmalarına izin verilmez.

anahtar

Kullanılacak anahtar (ikil veri). Boş olamaz.

uzunluk

İstenen çıktının bayt cinsinden uzunluğu. En çok algoritma aş uzunluğunun 255 katı olabilir.

uzunluk olarak 0 verilirse, öntanımlı çıktı uzunluğu seçilen aş boyutunun 255 katından büyük olamaz.

bilgi

Application/context-specific bilgi dizgesi.

tuz

Türetme sırasında kullanılacak tuz.

Seçimlik olmasına rağmen, rasgele bir tuz HKDF'nin gücünü önemli ölçüde arttırır.

Dönen Değerler

Türetilen anahtarın ham ikil gösterimini içeren bir dizge döner.

Hatalar/İstisnalar

anahtar boşsa veya algo kriptografik değilse ya da uzunluk negatif veya çok (algoritma aş uzunluğunun 255 katından) büyükse, bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık hata durumunda ValueError istisnası oluşuyor. Evvelce false döner ve bir E_WARNING iletisi çıktılanırdı.

Örnekler

Örnek 1 - hash_hkdf() örneği

<?php
// Rasgele bir anahtar ve türetme sırasında anahtarı güçlendirecek tuz üret
$girdiAnh = random_bytes(32);
$tuz = random_bytes(16);

// yukarıda oluşturulan girdiyi kullanılarak ayrı bir anahtar çifti türet
$şifrelemeAnh = hash_hkdf('sha256', $girdiAnh, 32, 'aes-256-encryption', $tuz);
$kimlikKanıtAnh = hash_hkdf('sha256', $girdiAnh, 32, 'sha-256-authentication', $salt);

var_dump(şifrelemeAnh !== $kimlikKanıtAnh); // bool(true)
?>

Yukarıdaki örnekte, şifreleme için AES-256, kimlik kanıtlama için SHA-256 kullanılarak bir anahtar çifti üretir (encrypt-then-HMAC oluşturmaya uygun)

Ayrıca Bakınız

  • hash_pbkdf2() - Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür
  • » RFC 5869
  • » kullanıcı alanı gerçeklenim


hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür

  • « hash_hkdf
  • hash_hmac_file »
  • PHP Manual
  • Hash İşlevleri
  • hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür

hash_hmac_algos

(PHP 7 >= 7.2.0, PHP 8)

hash_hmac_algos — hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür

Açıklama

hash_hmac_algos(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

hash_hmac() işlevi için elverişli aşlama algoritmalarından desteklenenlerin listesini içeren sayısal indisli bir dizi döndürür.

Örnekler

Örnek 1 - hash_hmac_algos() örneği

<?php
print_r(hash_hmac_algos());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => md2
    [1] => md4
    [2] => md5
    [3] => sha1
    [4] => sha224
    [5] => sha256
    [6] => sha384
    [7] => sha512/224
    [8] => sha512/256
    [9] => sha512
    [10] => sha3-224
    [11] => sha3-256
    [12] => sha3-384
    [13] => sha3-512
    [14] => ripemd128
    [15] => ripemd160
    [16] => ripemd256
    [17] => ripemd320
    [18] => whirlpool
    [19] => tiger128,3
    [20] => tiger160,3
    [21] => tiger192,3
    [22] => tiger128,4
    [23] => tiger160,4
    [24] => tiger192,4
    [25] => snefru
    [26] => snefru256
    [27] => gost
    [28] => gost-crypto
    [29] => haval128,3
    [30] => haval160,3
    [31] => haval192,3
    [32] => haval224,3
    [33] => haval256,3
    [34] => haval128,4
    [35] => haval160,4
    [36] => haval192,4
    [37] => haval224,4
    [38] => haval256,4
    [39] => haval128,5
    [40] => haval160,5
    [41] => haval192,5
    [42] => haval224,5
    [43] => haval256,5
)

Notlar

Bilginize:

PHP 7.2.0 öncesinde, desteklenen aş algoritmaların bir listesini almanın tek yolu, hash_hmac() için uygun olmayan aş algoritmalarını da döndüren hash_algos() işlevini çağırmaktı.

Ayrıca Bakınız

  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür


Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

  • « hash_hmac_algos
  • hash_hmac »
  • PHP Manual
  • Hash İşlevleri
  • Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

hash_hmac_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac_file — Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

Açıklama

hash_hmac_file(
string $algo,
string $dosya,
string $anahtar,
bool $ham_çıktı = false
): string|false

Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir.

Bağımsız Değişkenler

algo

Aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

dosya

Aşı hesaplanacak dosyanın yeri; fopen() sarmalayıcıları desteklenir.

anahtar

HMAC ileti aşının üretiminde kullanılacak paylaşımlı gizli anahtar.

ham_çıktı

true olduğu takdirde ham ikil veri çıktılanır, aksi takdirde (false) küçük harfli onaltılıklar çıktılanır.

Dönen Değerler

Hesaplanan ileti aşını, ham_çıktı için true belirtilmedikçe küçük harfli onaltılıklardan oluşan bir dizge olarak, aksi takdirde ham ikil gösterimi içeren bir dizge olarak çıktılar. dosya okunamıyorsa false döner.

Hatalar/İstisnalar

algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa bir ValueError istisnası oluşuyor. Evvelce false dönerdi.
7.2.0 | Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ve HASH_HMAC sabitinin kullanımı iptal edildi.

Örnekler

Örnek 1 - hash_hmac_file() örneği

<?php
/* Aşı hesaplanacak dosyayı oluşturalım */
file_put_contents('example.txt',
'Pijamalı hasta yağız şoföre çabucak güvendi.');

echo hash_hmac_file('sha256', 'example.txt', 'çokgizli');
?>

Yukarıdaki örneğin çıktısı:

863f6b38ab2a65abe35721011273a251026eb485f8a62926afea24188881391b

Ayrıca Bakınız

  • hash_hmac_algos() - hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir


HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

  • « hash_hmac_file
  • hash_init »
  • PHP Manual
  • Hash İşlevleri
  • HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

hash_hmac

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac — HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir

Açıklama

hash_hmac(
string $algo,
string $veri,
string $anahtar,
bool $ham_çıktı = false
): string

HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir.

Bağımsız Değişkenler

algo

Aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

veri

Aşlanacak ileti.

anahtar

HMAC ileti aşının üretiminde kullanılacak paylaşımlı gizli anahtar.

ham_çıktı

true olduğu takdirde ham ikil veri çıktılanır, aksi takdirde (false) küçük harfli onaltılıklar çıktılanır.

Dönen Değerler

Hesaplanan ileti aşını, ham_çıktı için true belirtilmedikçe küçük harfli onaltılıklardan oluşan bir dizge olarak, aksi takdirde ham ikil gösterimi içeren bir dizge olarak çıktılar.

Hatalar/İstisnalar

algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | algo bilinmiyorsa artık bir ValueError istisnası oluşuyor; evvelce, false dönerdi.
7.2.0 | Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ve HASH_HMAC sabitinin kullanımı iptal edildi.

Örnekler

Örnek 1 - hash_hmac() örneği

<?php
echo hash_hmac('sha256',
'Pijamalı hasta yağız şoföre çabucak güvendi.', 'çokgizli');
?>

Yukarıdaki örneğin çıktısı:

863f6b38ab2a65abe35721011273a251026eb485f8a62926afea24188881391b

Ayrıca Bakınız

  • hash() - Bir ileti aşı üretir
  • hash_hmac_algos() - hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür
  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_equals() - Zamanlama saldırısı güvenli dize karşılaştırması


Ardışık aşlama bağlamını ilklendirir

  • « hash_hmac
  • hash_pbkdf2 »
  • PHP Manual
  • Hash İşlevleri
  • Ardışık aşlama bağlamını ilklendirir

hash_init

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_init — Ardışık aşlama bağlamını ilklendirir

Açıklama

hash_init(
string $algo,
int $sabitler = 0,
string $anahtar = "",
array $seçenekler = []
): HashContext

Ardışık aşlama bağlamını ilklendirir.

Bağımsız Değişkenler

algo

Aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" vb.). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

sabitler

İleti aşının üretimi için isteğe bağlı sabitler. Şimdilik tek bir sabit desteklenmektedir: HASH_HMAC. Bu sabit belirtildiği takdirde, anahtar bağımsız değişkeni de belirtilmelidir.

anahtar

sabitler bağımsız değişkeninde HASH_HMAC belirtildiği takdirde, HMAC aşlama yöntemi ile kullanılacak paylaşımlı gizli anahtar.

seçenekler

Çeşitli aşlama algoritmaları için seçenekleri içeren dizi. Şimdilik sadece, MurmurHash türevleri "seed" bağımsız değişkenini desteklemektedir.

Dönen Değerler

hash_update(), hash_update_stream(), hash_update_file(), ve hash_final() işlevlerinde kullanılmak üzere bir Aşlama Bağlamı özkaynağı döndürür.

Hatalar/İstisnalar

algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeni eklendi.
8.0.0 | Artık algo bilinmiyorsa veya kriptografik olmayan bir aşlama algoritmasıysa ya da anahtar boşsa ValueError istisnası oluşuyor. Evvelce false döner ve bir E_WARNING iletisi çıktılanırdı.
7.2.0 | Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) ve HASH_HMAC sabitinin kullanımı iptal edildi.
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor.

Örnekler

Örnek 1 - Ardışık aşlama örneği

<?php
$hash = hash('sha256', 'Pijamalı hasta yağız şoföre çabucak güvendi.');

$ctx = hash_init('sha256');
hash_update($ctx, 'Pijamalı hasta ');
hash_update($ctx, 'yağız şoföre çabucak güvendi.');
$incremental_hash = hash_final($ctx);

echo $incremental_hash, PHP_EOL;
var_dump($hash === $incremental_hash);
?>

Yukarıdaki örneğin çıktısı:

04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d
bool(true)

Ayrıca Bakınız

  • hash() - Bir ileti aşı üretir
  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir


Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür

  • « hash_init
  • hash_update_file »
  • PHP Manual
  • Hash İşlevleri
  • Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür

hash_pbkdf2

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

hash_pbkdf2 — Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür

Açıklama

hash_pbkdf2(
string $algo,
string $parola,
string $tuz,
int $yineleme,
int $uzunluk = 0,
bool $ikil = false
): string

Bağımsız Değişkenler

algo

Seçilen aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

parola

Türetim için kullanılacak parola.

tuz

Türetim için kullanılacak tuz. Rasgele bir değer üretilmelidir.

yineleme

Türetim için dahili olarak uygulanacak yinelemelerin sayısı.

uzunluk

Çıktı dizgesinin uzunluğu. ikil true ise türetilen anahtarın bayt cinsinden uzunluğudur; false ise türetilen anahtar uzunluğunun iki katı olmalıdır (her bayt için iki harf/rakam döner).

0 ise belirtilen algoritmanın tüm çıktısı kullanılır.

ikil

true ise ham ikil veri, false ise küçük harfli onaltılıklar çıktılanır.

Dönen Değerler

ikil true ise türetilen anahtarın ham ikil gösterimi, false ise küçük harfli onaltılık gösterimi döner

Hatalar/İstisnalar

Algoritma bilinmiyorsa, yineleme sıfırdan küçük veya eşitse, uzunluk sıfırdan küçükse veya tuz çok uzunsa (INT_MAX - 4'ten büyükse), bir ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık hata durumunda ValueError istisnası oluşuyor. Evvelce false döner ve bir E_WARNING iletisi çıktılanırdı.
7.2.0 | Kriptografik olmayan aş işlevlerinin (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) kullanımı iptal edildi.

Örnekler

Örnek 1 - hash_pbkdf2() genel kullanım örneği

<?php
$parola = "password";
$yineleme = 1000;

// random_bytes() kullanarak kriptografik olarak güvenli rastgele tuz üret
$tuz = random_bytes(16);

$aş = hash_pbkdf2("sha256", $parola, $tuz, $yineleme, 20);
var_dump($aş);

// ham ikil durumunda, eşdeğer sonuç için $uzunluk yarıya düşer
$aş = hash_pbkdf2("sha256", $parola, $tuz, $yineleme, 10, true);
var_dump(bin2hex($aş));?>
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(20) "120fb6cffcf8b32c43e7"
string(20) "120fb6cffcf8b32c43e7"

Notlar

Dikkat

PBKDF2 yöntemi depolama için parolaları aşlamada kullanılabilir. Bununla birlikte, password_hash() veya CRYPT_BLOWFISH ile crypt() parola depolamaya daha uygundur.

Ayrıca Bakınız

  • crypt() - Tek yönlü dizge aşlama
  • password_hash() - Parola aşı oluşturur
  • hash() - Bir ileti aşı üretir
  • hash_algos() - Kayıtlı aşlama algoritmalarının bir listesini döndürür
  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_hmac_file() - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • openssl_pbkdf2() - Generates a PKCS5 v2 PBKDF2 string


Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder

  • « hash_pbkdf2
  • hash_update_stream »
  • PHP Manual
  • Hash İşlevleri
  • Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder

hash_update_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update_file — Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder

Açıklama

hash_update_file(HashContext $bağlam, string $dosya, ?resource $akım = null): bool

Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

dosya

Aşlanacak dosyanın yeri; fopen() sarmalayıcıları desteklenir.

akım

stream_context_create() ile oluşturulmuş bir akım bağlamı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | akım null olabiliyor.
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor.

Ayrıca Bakınız

  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_update() - Veriyi etkin bir aşlama bağlamına dahil eder
  • hash_update_stream() - Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
  • hash_final() - Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür
  • hash() - Bir ileti aşı üretir
  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir


Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder

  • « hash_update_file
  • hash_update »
  • PHP Manual
  • Hash İşlevleri
  • Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder

hash_update_stream

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update_stream — Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder

Açıklama

hash_update_stream(HashContext $bağlam, resource $akım, int $uzunluk = -1): int

Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

akım

Bir akım oluşturma işlevi tarafından oluşturulmuş bir dosya tanıtıcısı.

uzunluk

Akımdan aşlama bağlamına kopyalanacak azami karakter sayısı.

Dönen Değerler

akım'dan bağlam'a eklenebilen bayt sayısı.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor.

Örnekler

Örnek 1 - hash_update_stream() örneği

<?php
$fp = tmpfile();
fwrite($fp, 'yağız şoföre çabucak güvendi.');
rewind($fp);

$ctx = hash_init('sha256');
hash_update($ctx, 'Pijamalı hasta ');
hash_update_stream($ctx, $fp);
echo hash_final($ctx);
?>

Yukarıdaki örneğin çıktısı:

04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d

Ayrıca Bakınız

  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_update() - Veriyi etkin bir aşlama bağlamına dahil eder
  • hash_final() - Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür
  • hash() - Bir ileti aşı üretir
  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir


Veriyi etkin bir aşlama bağlamına dahil eder

  • « hash_update_stream
  • hash »
  • PHP Manual
  • Hash İşlevleri
  • Veriyi etkin bir aşlama bağlamına dahil eder

hash_update

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_update — Veriyi etkin bir aşlama bağlamına dahil eder

Açıklama

hash_update(HashContext $bağlam, string $veri): bool

Veriyi etkin bir aşlama bağlamına dahil eder.

Bağımsız Değişkenler

bağlam

hash_init() tarafından döndürülmüş aşlama bağlamı.

veri

İleti aşına dahil edilecek ileti.

Dönen Değerler

true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | resource türünde bir değer yerine HashContext kabul ediliyor.

Ayrıca Bakınız

  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • hash_update_file() - Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
  • hash_update_stream() - Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
  • hash_final() - Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür


Bir ileti aşı üretir

  • « hash_update
  • Mcrypt »
  • PHP Manual
  • Hash İşlevleri
  • Bir ileti aşı üretir

hash

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash — Bir ileti aşı üretir

Açıklama

hash(
string $algo,
string $veri,
bool $ham_çıktı = false,
array $seçenekler = []
): string

Bir ileti özeti üretir.

Bağımsız Değişkenler

algo

Seçilen aşlama algoritmasının ismi ("md5", "sha256", "haval160,4" ve benzerleri). Desteklenen algoritmaların listesi hash_algos() işlevinde bulunabilir.

veri

Aşlanacak ileti.

ham_çıktı

true olduğu takdirde ham ikil veri çıktılanır, aksi takdirde (false) küçük harfli onaltılıklar çıktılanır.

seçenekler

Çeşitli aşlama algoritmaları için seçenekleri içeren dizi. Şimdilik sadece, MurmurHash türevleri "seed" bağımsız değişkenini desteklemektedir.

Dönen Değerler

Hesaplanan ileti aşını, ham_çıktı için true belirtilmedikçe küçük harfli onaltılıklardan oluşan bir dizge olarak, aksi takdirde ham ikil gösterimi içeren bir dizge olarak çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeni eklendi.
8.0.0 | algo bilinmiyorsa hash() işlevi artık bir ValueError istisnası oluşturuyor; evvelce, false dönerdi.

Örnekler

Örnek 1 - hash() örneği

<?php
echo hash('sha256', 'Pijamalı hasta yağız şoföre çabucak güvendi.');
?>

Yukarıdaki örneğin çıktısı:

04eb8190a875ba9b6d05edbb0873e47ad41c48c2fac96e404040568868f3f20d

Ayrıca Bakınız

  • hash_file() - Belirtilen dosyanın içeriğinden bir ileti aşı üretir
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • hash_init() - Ardışık aşlama bağlamını ilklendirir
  • md5() - Bir dizgenin md5 özetini hesaplar
  • sha1() - Bir dizgenin sha1 aşını hesaplar


Mcrypt

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Mcrypt şifreleri
  • Mcrypt İşlevleri
    • mcrypt_create_iv — Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur
    • mcrypt_decrypt — Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer
    • mcrypt_enc_get_algorithms_name — Açık algoritmanın adını döndürür
    • mcrypt_enc_get_block_size — Açık algoritmanın küme boyunu döndürür
    • mcrypt_enc_get_iv_size — Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür
    • mcrypt_enc_get_key_size — Açık kipin desteklediği azami anahtar uzunluğunu döndürür
    • mcrypt_enc_get_modes_name — Açık kipin ismini döndürür
    • mcrypt_enc_get_supported_key_sizes — Açık algoritmanın desteklediği anahtar boylarını listeler
    • mcrypt_enc_is_block_algorithm_mode — Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar
    • mcrypt_enc_is_block_algorithm — Açık kipin algoritması bir küme algoritması mı diye bakar
    • mcrypt_enc_is_block_mode — Açık kip küme çıktılayan türde mi diye bakar
    • mcrypt_enc_self_test — Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar
    • mcrypt_encrypt — Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler
    • mcrypt_generic_deinit — Bir şifreleme tanıtıcısını yeniden ilklendirir
    • mcrypt_generic_init — Şifreleme için gerekli tüm tamponları ilklendirir
    • mcrypt_generic — Veriyi şifreler
    • mcrypt_get_block_size — Belirtilen şifrenin küme uzunluğunu döndürür
    • mcrypt_get_cipher_name — Belirtilen şifrenin ismini döndürür
    • mcrypt_get_iv_size — Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür
    • mcrypt_get_key_size — Belirtilen şifrenin anahtar uzunluğunu döndürür
    • mcrypt_list_algorithms — Desteklenen şifreleri listeler
    • mcrypt_list_modes — Desteklenen kiplerin listesini döndürür
    • mcrypt_module_close — Şifreleme tanıtıcısını kapatır
    • mcrypt_module_get_algo_block_size — Belirtilen algoritmanın küme boyunu döndürür
    • mcrypt_module_get_algo_key_size — Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür
    • mcrypt_module_get_supported_key_sizes — Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler
    • mcrypt_module_is_block_algorithm_mode — Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar
    • mcrypt_module_is_block_algorithm — Belirtilen algoritma bir küme algoritması mı diye bakar
    • mcrypt_module_is_block_mode — Belirtilen kip bir küme kipi mi diye bakar
    • mcrypt_module_open — Kullanılacak kipi ve algoritma modülünü açar
    • mcrypt_module_self_test — Belirtilen modülün kendini kendini sınamasını sağlar
    • mdecrypt_generic — Verinin şifresini çözer


Giriş

Uyarı

Bu özelliğin kullanımı PHP 7.1.0'dan beri ÖNERİLMEMEKTEDİR ve PHP 7.2.0'da tamamen KALDIRILMIŞTIR.

Bu özelliğin yerine kulllanılabilecekler:

  • Sodium (PHP 7.2.0 ve sonrasında mevcuttur.)
  • OpenSSL

Bilginize:

PHP 7.2.0 itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.

Bu eklenti, mcrypt kütüphanesi için bir arayüzdür. Mcrypt eklentisi, CBC, OFB, CFB ve ECB şifre kiplerinde DES, TripleDES, Blowfish (öntanımlı), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 ve GOST gibi bir çok algoritma çeşidini desteklemektedir. Ayrıca, özgür olmadığı düşünülen RC6 ve IDEA da desteklenmektedir. CFB/OFB öntanımlı olarak 8 bittir.


Gereksinimler

Bu işlevler » mcrypt kütüphanesini kullanarak çalışır. » http://mcrypt.sourceforge.net/ adresinden libmcrypt-x.x.tar.gz paketini indirip kurulum yönergelerini izleyerek kütüphaneyi sisteminize kurabilirsiniz.

libmcrypt'in 2.5.6 ve üstü sürümleri gerekir.

Windows kullanıcıları kütüphaneyi PHP 5.2 Windows çalıştırılabilirleri dağıtımında bulacaktır. PHP 5.3 Windows çalıştırılabilirleri MCrypt kütüphanesinin duruk sürümünü kullandığından DLL kütüphaneleri gerekli değildir.

Sisteminizde libmcrypt 2.4.x veya üstü kuruluysa CAST, LOKI97, RIJNDAEL, SAFERPLUS, SERPENT küme algoritmaları ve ENIGMA (crypt), PANAMA, RC4, WAKE akım şifrelerine ek olarak nOFB şifre kipi de destekleniyor olacaktır.


Kurulum

PHP 7.2.0 itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/mcrypt.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Mcrypt yapılandırma yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mcrypt.algorithms_dir | null | PHP_INI_ALL | PHP 4.0.2'den beri kullanılabilmektedir.
mcrypt.modes_dir | null | PHP_INI_ALL | PHP 4.0.2'den beri kullanılabilmektedir.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mcrypt.algorithms_dir string

Algoritmaları içeren dizin. Öntanımlı dizin libmcrypt içinde derlenmiş dizin olup genelde /usr/local/lib/libmcrypt dizinidir. Daha ayrıntılı bilgi için mcrypt_list_algorithms() işlevine bakınız.

mcrypt.modes_dir string

Kipleri içeren dizin. Öntanımlı dizin libmcrypt içinde derlenmiş dizin olup genelde /usr/local/lib/libmcrypt dizinidir. Daha ayrıntılı bilgi için mcrypt_list_modes() işlevine bakınız.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

mcrypt_module_open() işlevi bir şifreleme tanıtıcısı döndürür.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Mcrypt dört şifreleme kipinde çalışabilir: CBC, OFB, CFB ve ECB. Sisteminizde libmcrypt-2.4.x veya üstü bir sürüm kuruluysa işlevler nOFB küme şifreleme kipinde ve STREAM kipinde çalışabilir. Desteklenen tüm şifreleme kiplerini kendileri için tanımlanmış sabitler ve bunların açıklamaları olarak aşağıda bulabilirsiniz. Daha ayrıntılı bilgi için Applied Cryptography by Schneier (ISBN 0-471-11709-9) kitabına bakınız.

  • MCRYPT_MODE_ECB (elektronik kod defteri) çoğu amaç için genellikle uygun olmayan bir blok şifreleme kipidir. Bu kipin kullanılması önerilmez.
  • MCRYPT_MODE_CBC (şifre bloğu zinciri ) ECB kipinden belirgin şekilde daha güvenli olan bir blok şifreleme kipidir.
  • MCRYPT_MODE_CFB (8 bitlik kipte şifre geribeslemesi) bir akım şifreleme kipidir. CFB'den ziyade NCFB kipini kullanmanız önerilir.
  • MCRYPT_MODE_OFB (8 bitlik kipte çıktı geribeslemesi) bir akım şifreleme kipi olup, CFB arasında seçim yapılacaksa, hata yayılımına katlanılamayacak uygulamalarda OFB tercih edilebilir. 8 bitlik kipte çalıştığından güvenilir değildir, dolayısıyla kullanımı önerilmez.
  • MCRYPT_MODE_NOFB (n bitlik kipte çıktı geribeslemesi)) kipi OFB kipi ile karşılaştırılabilir, fakat algoritmaya özgü tam küme genişliğinde çalışır.
  • MCRYPT_MODE_STREAM, "WAKE", "RC4" gibi başka akım algoritmalarını da içeren ek bir kiptir.

Mcrypt, önceden tanımlanmış sabitleri olmayan başka çalışma kiplerini de destekler. Bunlar eksik sabitlerin yerine bir dizge aktararak kullanılabilir.

  • "ctr" (sayaç kipi) bir akım şifreleme kipidir.
  • "ncfb" (n bitlik kipte şifre geribeslemesi) kipi CFB kipiyle karşılaştırılabilir, fakat algoritmaya özgü tam küme genişliğinde çalışır.

Diğer bazı kipler ve rasgele sayı üreteci sabitleri

MCRYPT_ENCRYPT (int)
MCRYPT_DECRYPT (int)
MCRYPT_DEV_RANDOM (int)
MCRYPT_DEV_URANDOM (int)
MCRYPT_RAND (int)


Mcrypt şifreleri

Burada mcrypt eklentisi tarafından desteklenen şifrelere yer verilmiştir. Desteklenen şifrelerin tam listesini mcrypt.h başlık dosyasının sonunda bulabilirsiniz. mcrypt-2.2.x arayüzünün genel kuralı, PHP ile bir şifreye MCRYPT_şifreadı ile erişilebilmesidir. Ayrıca bu sabitler, libmcrypt-2.4.x ve libmcrypt-2.5.x ile de çalışmakta olup bir şifreye mcrypt_module_open() işlevinde ismini bir dizge olarak belirterek erişmek de mümkünür.

  • MCRYPT_3DES
  • MCRYPT_ARCFOUR_IV (sadece libmcrypt > 2.4.x)
  • MCRYPT_ARCFOUR (sadece libmcrypt > 2.4.x)
  • MCRYPT_BLOWFISH
  • MCRYPT_CAST_128
  • MCRYPT_CAST_256
  • MCRYPT_CRYPT
  • MCRYPT_DES
  • MCRYPT_DES_COMPAT (sadece libmcrypt 2.2.xonly)
  • MCRYPT_ENIGMA (sadece libmcrypt > 2.4.x , MCRYPT_CRYPT için takma ad)
  • MCRYPT_GOST
  • MCRYPT_IDEA (özgür değil)
  • MCRYPT_LOKI97 (sadece libmcrypt > 2.4.x)
  • MCRYPT_MARS (sadece libmcrypt > 2.4.x, özgür değil)
  • MCRYPT_PANAMA (sadece libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_128 (sadece libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_192 (sadece libmcrypt > 2.4.x)
  • MCRYPT_RIJNDAEL_256 (sadece libmcrypt > 2.4.x)
  • MCRYPT_RC2
  • MCRYPT_RC4 (sadece libmcrypt 2.2.x)
  • MCRYPT_RC6 (sadece libmcrypt > 2.4.x)
  • MCRYPT_RC6_128 (sadece libmcrypt 2.2.x)
  • MCRYPT_RC6_192 (sadece libmcrypt 2.2.x)
  • MCRYPT_RC6_256 (sadece libmcrypt 2.2.x)
  • MCRYPT_SAFER64
  • MCRYPT_SAFER128
  • MCRYPT_SAFERPLUS (sadece libmcrypt > 2.4.x)
  • MCRYPT_SERPENT(sadece libmcrypt > 2.4.x)
  • MCRYPT_SERPENT_128 (sadece libmcrypt 2.2.x)
  • MCRYPT_SERPENT_192 (sadece libmcrypt 2.2.x)
  • MCRYPT_SERPENT_256 (sadece libmcrypt 2.2.x)
  • MCRYPT_SKIPJACK (sadece libmcrypt > 2.4.x)
  • MCRYPT_TEAN (sadece libmcrypt 2.2.x)
  • MCRYPT_THREEWAY
  • MCRYPT_TRIPLEDES (sadece libmcrypt > 2.4.x)
  • MCRYPT_TWOFISH (eski mcrypt 2.x veya mcrypt > 2.4.x sürümleri için)
  • MCRYPT_TWOFISH128 (TWOFISHxxx şifreleri 2.4.x sürümlerinde değil, yeni 2.x sürümlerinde kullanılabilmektedir)
  • MCRYPT_TWOFISH192
  • MCRYPT_TWOFISH256
  • MCRYPT_WAKE (sadece libmcrypt > 2.4.x)
  • MCRYPT_XTEA (sadece libmcrypt > 2.4.x)

İlgili şifre işlevinde, CBC kipi için bir ilklendirme vektörü (İV) sağlamanız isteğe bağlı iken CFB ve OFB kiplerinde bir ilklendirme vektörü sağlamak zorundasınız. İV eşsiz olmalı ve şifreleme/çözme için aynı İV kullanılmalıdır. Şifreli saklanacak bir veriyi, verinin altında saklandığı indisle ilgili bir işlevinin çıktısı olarak alabilirsiniz (dosyanın MD5 anahtarı gibi). Bundan başka, İV'yi şifreli veri ile birlikte de aktarabilirsiniz. (Bu konuda daha ayrıntılı bilgi için Applied Cryptography by Schneier (ISBN 0-471-11709-9) kitabının 9.3. faslına bakınız.)


Mcrypt İşlevleri

İçindekiler

  • mcrypt_create_iv — Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur
  • mcrypt_decrypt — Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer
  • mcrypt_enc_get_algorithms_name — Açık algoritmanın adını döndürür
  • mcrypt_enc_get_block_size — Açık algoritmanın küme boyunu döndürür
  • mcrypt_enc_get_iv_size — Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür
  • mcrypt_enc_get_key_size — Açık kipin desteklediği azami anahtar uzunluğunu döndürür
  • mcrypt_enc_get_modes_name — Açık kipin ismini döndürür
  • mcrypt_enc_get_supported_key_sizes — Açık algoritmanın desteklediği anahtar boylarını listeler
  • mcrypt_enc_is_block_algorithm_mode — Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar
  • mcrypt_enc_is_block_algorithm — Açık kipin algoritması bir küme algoritması mı diye bakar
  • mcrypt_enc_is_block_mode — Açık kip küme çıktılayan türde mi diye bakar
  • mcrypt_enc_self_test — Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar
  • mcrypt_encrypt — Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler
  • mcrypt_generic_deinit — Bir şifreleme tanıtıcısını yeniden ilklendirir
  • mcrypt_generic_init — Şifreleme için gerekli tüm tamponları ilklendirir
  • mcrypt_generic — Veriyi şifreler
  • mcrypt_get_block_size — Belirtilen şifrenin küme uzunluğunu döndürür
  • mcrypt_get_cipher_name — Belirtilen şifrenin ismini döndürür
  • mcrypt_get_iv_size — Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür
  • mcrypt_get_key_size — Belirtilen şifrenin anahtar uzunluğunu döndürür
  • mcrypt_list_algorithms — Desteklenen şifreleri listeler
  • mcrypt_list_modes — Desteklenen kiplerin listesini döndürür
  • mcrypt_module_close — Şifreleme tanıtıcısını kapatır
  • mcrypt_module_get_algo_block_size — Belirtilen algoritmanın küme boyunu döndürür
  • mcrypt_module_get_algo_key_size — Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür
  • mcrypt_module_get_supported_key_sizes — Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler
  • mcrypt_module_is_block_algorithm_mode — Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar
  • mcrypt_module_is_block_algorithm — Belirtilen algoritma bir küme algoritması mı diye bakar
  • mcrypt_module_is_block_mode — Belirtilen kip bir küme kipi mi diye bakar
  • mcrypt_module_open — Kullanılacak kipi ve algoritma modülünü açar
  • mcrypt_module_self_test — Belirtilen modülün kendini kendini sınamasını sağlar
  • mdecrypt_generic — Verinin şifresini çözer


Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur

  • « Mcrypt İşlevleri
  • mcrypt_decrypt »
  • PHP Manual
  • Mcrypt İşlevleri
  • Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur

mcrypt_create_iv

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_create_iv — Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur

Uyarı

Bu işlevin kullanımı PHP 7.1.0'dan beri ÖNERİLMEMEKTEDİR ve PHP 7.2.0'da tamamen KALDIRILMIŞTIR.

Bu işlevin yerine kulllanılabilecekler:

  • random_bytes()

Açıklama

mcrypt_create_iv(int $boy, int $kaynak = MCRYPT_DEV_URANDOM): string

Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur.

IV dizgesi, şifreleme yordamları için ek bir tohum olarak kullanılır. Bu IV'nin gizli olması gerekmediği gibi istenmez de. Hiçbir güvenlik kaybı oluşmadan şifreli metin ile birlikte gönderebilirsiniz.

Bağımsız Değişkenler

boy

IV boyu.

kaynak

Şu değerlerden biri olabilir: MCRYPT_RAND (sistem rasgele sayı üreteci), MCRYPT_DEV_RANDOM (veri /dev/random'dan okunur), MCRYPT_DEV_URANDOM (veri /dev/urandom'dan okunur). Windows (şüphesiz) /dev/random veya /dev/urandom aygıtlarına sahip olmadığından Windows için sadece MCRYPT_RAND desteklenmektedir. PHP 5.3.0 öncesinde, MCRYPT_RAND Windows üzerinde desteklenen tek sabitti.

PHP 5.6.0 öncesinde, bu bağımsız değişkenin öntanımlı değeri MCRYPT_DEV_RANDOM idi.

Bilginize: MCRYPT_DEV_RANDOM daha fazla döküntü sağlanana kadar engellenebilir.

Dönen Değerler

Bir hata durumunda false yoksa ilklendirme vektörünü bir dizge olarak döndürür.

Örnekler

Örnek 1 - mcrypt_create_iv() örneği

<?php
$boy = mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB);
$iv = mcrypt_create_iv($size, MCRYPT_DEV_RANDOM);
?>

Ayrıca Bakınız

  • » http://www.ciphersbyritter.com/GLOSSARY.HTM#IV
  • » http://www.quadibloc.com/crypto/co0409.htm
  • Applied Cryptography by Schneier (ISBN 0-471-11709-9) kitabının 9.3. faslı
  • random_bytes() - Get cryptographically secure random bytes


Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer

  • « mcrypt_create_iv
  • mcrypt_enc_get_algorithms_name »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer

mcrypt_decrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_decrypt — Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_decrypt(
string $şifre,
string $anahtar,
string $veri,
string $kip,
string $iv = ?
): string|false

Belirtilen verinin şifresini çözer ve şifrelenmemiş dizgeyi döndürür.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

anahtar

Veriyi şifrelemekte kullanılan anahtar. Belirtilen anahtar şifre tarafından desteklenmiyorsa işlev bir uyarı çıktılar ve false döner.

veri

Belirtilen şifre ve kip ile şifresi çözülecek veri. Verinin küme boyunun katları uzunlukta olmasını sağlamak için dolgu olarak "\0" karakteri kullanılır.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

iv

CBC, CFB, OFB kiplerinde ve STREAM kipinde bazı algoritmalarda ilklendirme için kullanılır. Sağlanan ilklendirme vektörü (IV) boyutu zincirleme kipi tarafınan desteklenmiyorsa veya bir IV sağlanmamışsa, fakat zincirleme kipi için bir IV gerekliyse, işlev bir uyarı çıktılar ve false döndürür.

Dönen Değerler

Şifresi çözülmüş veriyi bir dizge olarak döndürür, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mcrypt_encrypt() - Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler


Açık algoritmanın adını döndürür

  • « mcrypt_decrypt
  • mcrypt_enc_get_block_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık algoritmanın adını döndürür

mcrypt_enc_get_algorithms_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_algorithms_name — Açık algoritmanın adını döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_algorithms_name(resource $şt): string

Açık algoritmanın adını döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Açık algoritmanın adını içeren bir dizge döndürür.

Örnekler

Örnek 1 - mcrypt_enc_get_algorithms_name() örneği

<?php
$td = mcrypt_module_open(MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";

$td = mcrypt_module_open('cast-256', '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_algorithms_name($td). "\n";
?>

Yukarıdaki örneğin çıktısı:

CAST-256
CAST-256


Açık algoritmanın küme boyunu döndürür

  • « mcrypt_enc_get_algorithms_name
  • mcrypt_enc_get_iv_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık algoritmanın küme boyunu döndürür

mcrypt_enc_get_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_block_size — Açık algoritmanın küme boyunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_block_size(resource $şt): int

Açık algoritmanın küme boyunu döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Açık algoritmanın küme boyunu bayt sayısı olarak döndürür.


Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür

  • « mcrypt_enc_get_block_size
  • mcrypt_enc_get_key_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür

mcrypt_enc_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_iv_size — Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_iv_size(resource $şt): int

Şifreleme tanıtıcısı ile belirtilen algoritmanın ilklendirme vektörü (iv) uzunluğunu döndürür. CBC, CFB ve OFB kipleri ile akım kipindeki bazı algoritmalar bir ilklendirme vektörü kullanır.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Açık algoritma tarafından iv yok sayılıyorsa 0, aksi takdirde iv boyunu döndürür.


Açık kipin desteklediği azami anahtar uzunluğunu döndürür

  • « mcrypt_enc_get_iv_size
  • mcrypt_enc_get_modes_name »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık kipin desteklediği azami anahtar uzunluğunu döndürür

mcrypt_enc_get_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_key_size — Açık kipin desteklediği azami anahtar uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_key_size(resource $şt): int

Açık kipin desteklediği azami anahtar uzunluğunu döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Açık kipin desteklediği azami anahtar uzunluğunu bayt sayısı olarak döndürür.


Açık kipin ismini döndürür

  • « mcrypt_enc_get_key_size
  • mcrypt_enc_get_supported_key_sizes »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık kipin ismini döndürür

mcrypt_enc_get_modes_name

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_modes_name — Açık kipin ismini döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_modes_name(resource $şt): string

Bu işlev açık kipin ismini döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

İsim bir dizge olarak döner.

Örnekler

Örnek 1 - mcrypt_enc_get_modes_name() örneği

<?php
$td = mcrypt_module_open (MCRYPT_CAST_256, '', MCRYPT_MODE_CFB, '');
echo mcrypt_enc_get_modes_name($td). "\n";

$td = mcrypt_module_open ('cast-256', '', 'ecb', '');
echo mcrypt_enc_get_modes_name($td). "\n";
?>

Yukarıdaki örneğin çıktısı:

CFB
ECB


Açık algoritmanın desteklediği anahtar boylarını listeler

  • « mcrypt_enc_get_modes_name
  • mcrypt_enc_is_block_algorithm_mode »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık algoritmanın desteklediği anahtar boylarını listeler

mcrypt_enc_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_get_supported_key_sizes — Açık algoritmanın desteklediği anahtar boylarını listeler

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_get_supported_key_sizes(resource $şt): array

Açık algoritmanın desteklediği anahtar boylarını bir dizi içinde döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Şifreleme tanıtıcısı ile belirtilen algoritmanın desteklediği anahtar boylarını içeren bir dizi döndürür. Boş bir dizi dönmüşse, 1 ile mcrypt_enc_get_key_size() arasındaki tüm anahtar boyları algoritma tarafından destekleniyor demektir.

Örnekler

Örnek 1 - mcrypt_enc_get_supported_key_sizes() örneği

<?php
$td = mcrypt_module_open('rijndael-256', '', 'ecb', '');
var_dump(mcrypt_enc_get_supported_key_sizes($td));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(16)
  [1]=>
  int(24)
  [2]=>
  int(32)
}


Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar

  • « mcrypt_enc_get_supported_key_sizes
  • mcrypt_enc_is_block_algorithm »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar

mcrypt_enc_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_algorithm_mode — Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_is_block_algorithm_mode(resource $şt): bool

Açık kipte, şifrelemenin kümeler üzerinde çalışıp çalışmadığına bakar (yani, akımlar için false, cbc, cfb, ofb için true döner).

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Kip, küme algoritmaları kullanmak için ise true, değilse false döner.


Açık kipin algoritması bir küme algoritması mı diye bakar

  • « mcrypt_enc_is_block_algorithm_mode
  • mcrypt_enc_is_block_mode »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık kipin algoritması bir küme algoritması mı diye bakar

mcrypt_enc_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_algorithm — Açık kipin algoritması bir küme algoritması mı diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_is_block_algorithm(resource $şt): bool

Açık kipin algoritmasının bir küme algoritması olup olmadığına bakar.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Algoritma bir küme algoritması ise true, bir akım algoritması ise false döner.


Açık kip küme çıktılayan türde mi diye bakar

  • « mcrypt_enc_is_block_algorithm
  • mcrypt_enc_self_test »
  • PHP Manual
  • Mcrypt İşlevleri
  • Açık kip küme çıktılayan türde mi diye bakar

mcrypt_enc_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_is_block_mode — Açık kip küme çıktılayan türde mi diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_is_block_mode(resource $şt): bool

Açık kip küme çıktılayan türde mi diye bakar (yani, cbc ve ecb için true, cfb ve akım kipleri için false döndürür.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Kip, bayt kümeleri halinde çıktılama yapıyorsa true, sadece baytları çıktılıyorsa false döner.


Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar

  • « mcrypt_enc_is_block_mode
  • mcrypt_encrypt »
  • PHP Manual
  • Mcrypt İşlevleri
  • Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar

mcrypt_enc_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_enc_self_test — Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_enc_self_test(resource $şt): int

şt şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Sınama başarılı olursa 0 yoksa negatif bir tamsayı döner.


Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler

  • « mcrypt_enc_self_test
  • mcrypt_generic_deinit »
  • PHP Manual
  • Mcrypt İşlevleri
  • Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler

mcrypt_encrypt

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_encrypt — Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_encrypt(
string $şifre,
string $anahtar,
string $veri,
string $kip,
string $iv = ?
): string|false

Veriyi şifreleyip döndürür.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

anahtar

Veriyi şifreleyecek anahtar. Aanhtar şifre tarafından desteklenmiyorsa işlev bir uyarı çıktır ve false döndürür.

Bir dizgeden bir anahtar oluşturmak için hash işlevlerini kullanmanız önerilir.

veri

Belirtilen şifre ve kip ile şifrelenecek veri. Veri uzunluğu desteklenen küme boyunun katlarından farklıysa eksik kısım '\0' ile doldurulur.

Dönen şifreli veri girilen veriden daha uzun olabilir.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

iv

CBC, CFB, OFB kiplerinde ve STREAM kipinde bazı algoritmalarda ilklendirme için kullanılır. Sağlanan ilklendirme vektörü (IV) boyutu zincirleme kipi tarafınan desteklenmiyorsa veya bir IV sağlanmamışsa, fakat zincirleme kipi için bir IV gerekliyse, işlev bir uyarı çıktılar ve false döndürür.

Dönen Değerler

Şifrelenmiş veriyi bir dizge olarak döndürür, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - mcrypt_encrypt() örneği

<?php
# --- ENCRYPTION ---

# the key should be random binary, use scrypt, bcrypt or PBKDF2 to
# convert a string into a key
# key is specified using hexadecimal
$key = pack('H*', "bcb04b7e103a0cd8b54763051cef08bc55abe029fdebae5e1d417e2ffb2a00a3");

# show key size use either 16, 24 or 32 byte keys for AES-128, 192
# and 256 respectively
$key_size = strlen($key);
echo "Key size: " . $key_size . "\n";

$plaintext = "This string was AES-256 / CBC / ZeroBytePadding encrypted.";

# create a random IV to use with CBC encoding
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

# creates a cipher text compatible with AES (Rijndael block size = 128)
# to keep the text confidential
# only suitable for encoded input that never ends with value 00h
# (because of default zero padding)
$ciphertext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,
$plaintext, MCRYPT_MODE_CBC, $iv);

# prepend the IV for it to be available for decryption
$ciphertext = $iv . $ciphertext;

# encode the resulting cipher text so it can be represented by a string
$ciphertext_base64 = base64_encode($ciphertext);

echo $ciphertext_base64 . "\n";

# === WARNING ===

# Resulting cipher text has no integrity or authenticity added
# and is not protected against padding oracle attacks.

# --- DECRYPTION ---

$ciphertext_dec = base64_decode($ciphertext_base64);

# retrieves the IV, iv_size should be created using mcrypt_get_iv_size()
$iv_dec = substr($ciphertext_dec, 0, $iv_size);

# retrieves the cipher text (everything except the $iv_size in the front)
$ciphertext_dec = substr($ciphertext_dec, $iv_size);

# may remove 00h valued characters from end of plain text
$plaintext_dec = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key,
$ciphertext_dec, MCRYPT_MODE_CBC, $iv_dec);

echo $plaintext_dec . "\n";
?>

Yukarıdaki örneğin çıktısı:

Key size: 32
ENJW8mS2KaJoNB5E5CoSAAu0xARgsR1bdzFWpEn+poYw45q+73az5kYi4j+0haevext1dGrcW8Qi59txfCBV8BBj3bzRP3dFCp3CPQSJ8eU=
This string was AES-256 / CBC / ZeroBytePadding encrypted.

Ayrıca Bakınız

  • mcrypt_decrypt() - Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer
  • mcrypt_module_open() - Kullanılacak kipi ve algoritma modülünü açar


Bir şifreleme tanıtıcısını yeniden ilklendirir

  • « mcrypt_encrypt
  • mcrypt_generic_init »
  • PHP Manual
  • Mcrypt İşlevleri
  • Bir şifreleme tanıtıcısını yeniden ilklendirir

mcrypt_generic_deinit

(PHP 4 >= 4.0.7, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic_deinit — Bir şifreleme tanıtıcısını yeniden ilklendirir

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_generic_deinit(resource $şt): bool

This function terminates encryption specified by the encryption Şifre tanıtıcısı (şt) ile belirtilen şifrelemeyi sonlandırır. Tüm tamporları temizler fakat modülü kapatmaz. Modülü kapatmak için mcrypt_module_close() işlevini kullanmalısınız. (Unutursanız, betik sonunda PHP bunu sizin yerinize yapacaktır).

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mcrypt_module_open() - Kullanılacak kipi ve algoritma modülünü açar
  • mcrypt_generic_init() - Şifreleme için gerekli tüm tamponları ilklendirir


Şifreleme için gerekli tüm tamponları ilklendirir

  • « mcrypt_generic_deinit
  • mcrypt_generic »
  • PHP Manual
  • Mcrypt İşlevleri
  • Şifreleme için gerekli tüm tamponları ilklendirir

mcrypt_generic_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic_init — Şifreleme için gerekli tüm tamponları ilklendirir

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_generic_init(resource $şt, string $anahtar, string $iv): int

mcrypt_generic() veya mdecrypt_generic() işlevinden önce bu işlevi çağırmanız gerekir.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

anahtar

Azami anahtar uzunluğu mcrypt_enc_get_key_size() işlevi ile öğrenilebilir; işlevin döndürdüğü değer ve daha küçük her değer geçerlidir.

iv

Normalde algoritma küme uzunluğundadır, fakat gerçek boyu mcrypt_enc_get_iv_size() işleviyle de öğrenebilirsiniz. ECB kipinde IV yok sayılır. CFB, CBC, STREAM, nOFB ve OFB kipleri için bir IV olması ZORUNLUdur. Rasgele ve eşsiz (fakat gizli değil) olmalıdır. Şifreleme ve şifre çözme amacıyla aynı veri için aynı IV kullanılmalıdır. Bir IV kullanmak istemiyorsanız sıfırlarla (\0) doldubilirsiniz, fakat bunu yapmanız önerilmez.

Dönen Değerler

İşlev bir hata durumunda negatif bir değer döndürür: Anahtar uzunluğu hatalı ise -3, bellek ayırmada sorun çıkmışsa -4, bilinmeyen bir hata türü için bunlar dışında bir negatif değer döner. Hatayla birlikte bir de uyarı gösterilir.Yanlış sayıda bağımsız değişken aktarılması halinde işlev false döndürür.

Ayrıca Bakınız

  • mcrypt_module_open() - Kullanılacak kipi ve algoritma modülünü açar


Veriyi şifreler

  • « mcrypt_generic_init
  • mcrypt_get_block_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Veriyi şifreler

mcrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_generic — Veriyi şifreler

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_generic(resource $şt, string $veri): string

Bu işlev veriyi şifreler ve döndürür. Verinin küme boyunun katları uzunlukta olmasını sağlamak için dolgu olarak "\0" karakteri kullanılır, bu yüzden dönen şifresi çözülmüş veri özgün şifresiz veriden daha uzun olur.

Şifreli veriyi bir veritabanında saklamak isterseniz, işlevden dönen verinin tamamını sakladığınızdan emin olun, yoksa şifresini çözmek mümkün olmayabilir. Özgün dizgeniz 10 karakterlikse ve küme boyu da 8 bayt ise veritabanı alanının genişliği en az 16 bayt olmalıdır (küme boyunu öğrenmek için mcrypt_enc_get_block_size() işlevini kullanın. mdecrypt_generic() işlevi 10 baytlık veri için 16 bayt döndürmüşse fazlalıkları silmek için rtrim($str, "\0") işlevini kullanabilirsiniz.

Veriyi örneğin bir MySQL veritabanında saklıyorsanız varchar alanlarının veriyi saklarken verinin sonundaki fazladan boşlukları kendiliğinden sildiğini unutmayın. Boşluk karakteri (ASCII 32) ile biten bir şifreli veri bu yüzden kullanılmaz hale gelebilir. Bu bakımdan şifreli verileri bir tinyblob/tinytext (veya daha büyük) alanlarda saklamanız önerilir.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Bu işlevi kullanmadan önce şifreleme tanıtıcısını bir anahtar ve bir IV kullanarak mcrypt_generic_init() işlevi ile ilklendirmelisiniz. Şifreleme bittikten sonra şifreleme tampolarını mcrypt_generic_deinit() işlevi ile serbest bırakabilirsiniz. Kullanım örneği için mcrypt_module_open() işlevine bakınız.

veri

Şifrelenecek veri.

Dönen Değerler

Şifrelenmiş veriyi döndürür.

Ayrıca Bakınız

  • mdecrypt_generic() - Verinin şifresini çözer
  • mcrypt_generic_init() - Şifreleme için gerekli tüm tamponları ilklendirir
  • mcrypt_generic_deinit() - Bir şifreleme tanıtıcısını yeniden ilklendirir


Belirtilen şifrenin küme uzunluğunu döndürür

  • « mcrypt_generic
  • mcrypt_get_cipher_name »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen şifrenin küme uzunluğunu döndürür

mcrypt_get_block_size

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_block_size — Belirtilen şifrenin küme uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_get_block_size(int $şifre): int|false
mcrypt_get_block_size(string $şifre, string $kip): int|false

İlk sözdizimi libmcrypt 2.2.x için, ikincisi libmcrypt 2.4.x ve üstü içindir.

mcrypt_get_block_size() işlevi belirtilen kip ve şifre için küme uzunluğunu döndürür.

mcrypt_module_open() ile döndürülen şifreleme tanıtıcısını kullanması nedeniyle mcrypt_enc_get_block_size() işlevi daha kullanışlıdır.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

Dönen Değerler

Blok uzunluğunu bayt sayısı olarak döndürür, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - mcrypt_get_block_size() örneği

Bu örnekteki işlev libmcrypt 2.4.x ve üstü içindir.

<?php

echo mcrypt_get_block_size('tripledes', 'ecb'); // çıktısı: 8

?>

Ayrıca Bakınız

  • mcrypt_get_key_size() - Belirtilen şifrenin anahtar uzunluğunu döndürür
  • mcrypt_enc_get_block_size() - Açık algoritmanın küme boyunu döndürür
  • mcrypt_encrypt() - Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler


Belirtilen şifrenin ismini döndürür

  • « mcrypt_get_block_size
  • mcrypt_get_iv_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen şifrenin ismini döndürür

mcrypt_get_cipher_name

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_cipher_name — Belirtilen şifrenin ismini döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_get_cipher_name(int $şifre): string
mcrypt_get_cipher_name(string $şifre): string

mcrypt_get_cipher_name() işlevi belirtilen şifrenin ismini öğrenmek için kulanılır.

mcrypt_get_cipher_name() işlevi bağımsız değişken olarak bir şifre numarası (libmcrypt 2.2.x) veya bir şifre ismi (libmcrypt 2.4.x ve üstü) alır ve varsa şifrenin ismini yoksa false döndürür.

Bağımsız Değişkenler

cipher

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

Dönen Değerler

Belirtilen şifre yoksa false aksi takdirde şifre ismini içeren bir dizge döndürür.

Örnekler

Örnek 1 - mcrypt_get_cipher_name() örneği

<?php
$şifre = MCRYPT_TripleDES;

echo mcrypt_get_cipher_name($şifre);
?>

Yukarıdaki örneğin çıktısı:

3DES


Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür

  • « mcrypt_get_cipher_name
  • mcrypt_get_key_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür

mcrypt_get_iv_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_iv_size — Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_get_iv_size(string $şifre, string $kip): int

Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür.

mcrypt_module_open() ile döndürülen şifreme tanıtıcısını kullanan mcrypt_enc_get_iv_size() işlevi daha kullanışlıdır.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

ECB kipi yok sayılır. Şifreleme ve şifre çözme için aynı IV'yi kullanmak zorundasınız, aksi takdirde işlem başarısız olur.

Dönen Değerler

İlklendirme Vektörünün (IV) uzunluğu bayt sayısı olarak döner. Hata durumunda false, belirtilen şifre ve kipte IV yok sayılıyorsa 0 döner.

Örnekler

Örnek 1 - mcrypt_get_iv_size() örneği

<?php
echo mcrypt_get_iv_size(MCRYPT_CAST_256, MCRYPT_MODE_CFB) . "\n";

echo mcrypt_get_iv_size('des', 'ecb') . "\n";
?>

Ayrıca Bakınız

  • mcrypt_get_block_size() - Belirtilen şifrenin küme uzunluğunu döndürür
  • mcrypt_enc_get_iv_size() - Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür
  • mcrypt_create_iv() - Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur


Belirtilen şifrenin anahtar uzunluğunu döndürür

  • « mcrypt_get_iv_size
  • mcrypt_list_algorithms »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen şifrenin anahtar uzunluğunu döndürür

mcrypt_get_key_size

(PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_get_key_size — Belirtilen şifrenin anahtar uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_get_key_size(int $şifre): int|false
mcrypt_get_key_size(string $şifre, string $kip): int|false

mcrypt_module_open() işlevinden dönen özkaynağı kullanan mcrypt_enc_get_key_size() işlevini daha kullanışlıdır.

mcrypt_get_key_size() işlevi belirtilen kipte şifre anahtarının uzunluğunu döndürür.

Bağımsız Değişkenler

şifre

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

Dönen Değerler

Algoritmanın desteklediği azami anahtar boyutunu bayt cinsinden döndürür, başarısızlık durumunda false döner.

Örnekler

Bu örnekteki işlev libmcrypt 2.4.x ve 2.5.x destekli sistemler içindir. mcrypt_module_open() ile döndürülen şifreleme tanıtıcısını kullanan mcrypt_enc_get_key_size() işlevi daha kullanışlıdır.

Örnek 1 - mcrypt_get_key_size() örneği

<?php
echo mcrypt_get_key_size('tripledes', 'ecb');
?>

Çıktısı:
24

Ayrıca Bakınız

  • mcrypt_get_block_size() - Belirtilen şifrenin küme uzunluğunu döndürür
  • mcrypt_enc_get_key_size() - Açık kipin desteklediği azami anahtar uzunluğunu döndürür
  • mcrypt_encrypt() - Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler


Desteklenen şifreleri listeler

  • « mcrypt_get_key_size
  • mcrypt_list_modes »
  • PHP Manual
  • Mcrypt İşlevleri
  • Desteklenen şifreleri listeler

mcrypt_list_algorithms

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_list_algorithms — Desteklenen şifreleri listeler

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_list_algorithms(string $lib_dir = ini_get("mcrypt.algorithms_dir")): array

lib_dir ile belirtilen dizinde bulunan dosyalar tarafından desteklenen algoritmaların listesini döndürür.

Bağımsız Değişkenler

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Desteklenen algoritmaları içeren bir dizi döner.

Örnekler

Örnek 1 - mcrypt_list_algorithms() örneği

<?php
$algorithms = mcrypt_list_algorithms();
print_r($algorithms);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => cast-128
    [1] => gost
    [2] => rijndael-128
    [3] => twofish
    [4] => arcfour
    [5] => cast-256
    [6] => loki97
    [7] => rijndael-192
    [8] => saferplus
    [9] => wake
    [10] => blowfish-compat
    [11] => des
    [12] => rijndael-256
    [13] => serpent
    [14] => xtea
    [15] => blowfish
    [16] => enigma
    [17] => rc2
    [18] => tripledes
)


Desteklenen kiplerin listesini döndürür

  • « mcrypt_list_algorithms
  • mcrypt_module_close »
  • PHP Manual
  • Mcrypt İşlevleri
  • Desteklenen kiplerin listesini döndürür

mcrypt_list_modes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_list_modes — Desteklenen kiplerin listesini döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_list_modes(string $lib_dir = ini_get("mcrypt.modes_dir")): array

lib_dir ile belirtilen dizinde bulunan dosyalar tarafından desteklenen kiplerin listesini döndürür.

Bağımsız Değişkenler

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.modes_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Desteklenen kipleri içeren bir dizi döner.

Örnekler

Örnek 1 - mcrypt_list_modes() örneği

<?php
$kipler = mcrypt_list_modes();

foreach ($kipler as $kip) {
echo "$kip <br />\n";
}
?>

Örnek, öntanımlı kip dizininde desteklenen tüm algoritmaları listeler. mcrypt.modes_dir php.ini yönergesi ile bir dizin belirtilmemişse öntanımlı mcrypt dizini kullanılır (genellikle /usr/local/lib/libmcrypt).


Şifreleme tanıtıcısını kapatır

  • « mcrypt_list_modes
  • mcrypt_module_get_algo_block_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Şifreleme tanıtıcısını kapatır

mcrypt_module_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_close — Şifreleme tanıtıcısını kapatır

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_close(resource $şt): bool

Belirtilen şifreleme tanıtıcısını kapatır.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mcrypt_module_open() - Kullanılacak kipi ve algoritma modülünü açar


Belirtilen algoritmanın küme boyunu döndürür

  • « mcrypt_module_close
  • mcrypt_module_get_algo_key_size »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen algoritmanın küme boyunu döndürür

mcrypt_module_get_algo_block_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_algo_block_size — Belirtilen algoritmanın küme boyunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_get_algo_block_size(string $algoritma, string $lib_dir = ?): int

Belirtilen algoritmanın küme boyunu döndürür.

Bağımsız Değişkenler

algoritma

Kullanılacak algoritma.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen algoritmanın küme boyunu bayt sayısı olarak döndürür.


Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür

  • « mcrypt_module_get_algo_block_size
  • mcrypt_module_get_supported_key_sizes »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür

mcrypt_module_get_algo_key_size

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_algo_key_size — Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_get_algo_key_size(string $algoritma, string $lib_dir = ?): int

Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür.

Bağımsız Değişkenler

algoritma

Kullanılacak algoritma.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu bayt sayısı olarak döndürür.


Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler

  • « mcrypt_module_get_algo_key_size
  • mcrypt_module_is_block_algorithm_mode »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler

mcrypt_module_get_supported_key_sizes

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_get_supported_key_sizes — Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_get_supported_key_sizes(string $algoritma, string $lib_dir = ?): array

Belirtilen algoritmanın desteklediği anahtar boyutlarını bir dizi olarak döndürür. Boş bir dizi dönerse 1 ile mcrypt_module_get_algo_key_size() arasındaki tüm anahtar boyutları algoritma tarafından destekleniyor demektir.

Bağımsız Değişkenler

algoritma

Kullanılacak algoritma.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen algoritmanın desteklediği anahtar boyutlarını içeren bir dizi döndürür. Boş bir dizi dönerse 1 ile mcrypt_module_get_algo_key_size() arasındaki tüm anahtar boyutları algoritma tarafından destekleniyor demektir.

Ayrıca Bakınız

  • mcrypt_enc_get_supported_key_sizes() - Açık algoritmanın desteklediği anahtar boylarını listeler


Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar

  • « mcrypt_module_get_supported_key_sizes
  • mcrypt_module_is_block_algorithm »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar

mcrypt_module_is_block_algorithm_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_algorithm_mode — Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_is_block_algorithm_mode(string $kip, string $lib_dir = ?): bool

Belirtilen kip küme algoritmaları ile kullanılıyorsa true, yoksa false döndürür. (Yani, akım algoritmaları için false; cbc, cfb, ofb için true döndürür).

Bağımsız Değişkenler

kip

Sınanacak kip.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen kip küme algoritmaları ile kullanılıyorsa true, yoksa false döndürür. (Yani, akım algoritmaları için false; cbc, cfb, ofb için true döndürür).


Belirtilen algoritma bir küme algoritması mı diye bakar

  • « mcrypt_module_is_block_algorithm_mode
  • mcrypt_module_is_block_mode »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen algoritma bir küme algoritması mı diye bakar

mcrypt_module_is_block_algorithm

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_algorithm — Belirtilen algoritma bir küme algoritması mı diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_is_block_algorithm(string $algoritma, string $lib_dir = ?): bool

Belirtilen algoritma bir küme algoritması ise true akım algoritması ise false döner.

Bağımsız Değişkenler

algoritma

Çıktılama kipine bakılacak algoritma.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen algoritma bir küme algoritması ise true akım algoritması ise false döner.


Belirtilen kip bir küme kipi mi diye bakar

  • « mcrypt_module_is_block_algorithm
  • mcrypt_module_open »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen kip bir küme kipi mi diye bakar

mcrypt_module_is_block_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_is_block_mode — Belirtilen kip bir küme kipi mi diye bakar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_is_block_mode(string $kip, string $lib_dir = ?): bool

Belirtilen kip bayt kümeleri çıktılıyorsa true sadece bir bayt dizisi çıktılıyorsa false döner (örneğin, cbc ve icb için true, vfb ve akım için false döndürür).

Bağımsız Değişkenler

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Belirtilen kip bayt kümeleri çıktılıyorsa true sadece bir bayt dizisi çıktılıyorsa false döner (örneğin, cbc ve icb için true, vfb ve akım için false döndürür).


Kullanılacak kipi ve algoritma modülünü açar

  • « mcrypt_module_is_block_mode
  • mcrypt_module_self_test »
  • PHP Manual
  • Mcrypt İşlevleri
  • Kullanılacak kipi ve algoritma modülünü açar

mcrypt_module_open

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_open — Kullanılacak kipi ve algoritma modülünü açar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_open(
string $algoritma,
string $algoritma_dizini,
string $kip,
string $kip_dizini
): resource

Kullanılacak kipi ve algoritma modülünü açar. Algoritma doğrudan ismiyle belirtilebileceği gibi ("twofish" gibi), MCRYPT_şifre_adı sabitlerinden biri de belirtilebilir. Modülü kapatmak için mcrypt_module_close() kullanılır.

Bağımsız Değişkenler

algoritma

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

algoritma_dizini

algorithm_dizini şifreleme modüllerinin yerlerini belirtmek için kullanılır. Bir dizin yerine boş bir dizge belirtirseniz mcrypt.algorithms_dir php.ini yönergelerinin değerleri kullanılır. Atanmamışsa libmcrypt derlenirken kullanılan öntanımlı dizinler kullanılır (genellikle /usr/local/lib/libmcrypt).

kip

MCRYPT_MODE_kipadı sabitlerinden biri veya şu dizelerden biri: "ecb", "cbc", "cfb", "ofb", "nofb" veya "stream".

kip_dizini

kip_dizini şifreleme modüllerinin yerlerini belirtmek için kullanılır. Bir dizin yerine boş bir dizge belirtirseniz mcrypt.modes_dir php.ini yönergelerinin değerleri kullanılır. Atanmamışsa libmcrypt derlenirken kullanılan öntanımlı dizinler kullanılır (genellikle /usr/local/lib/libmcrypt).

Dönen Değerler

Bir hata durumunda false yoksa bir şifreleme tanıtıcısı döndürür.

Örnekler

Örnek 1 - mcrypt_module_open() örnekleri

<?php
$şt = mcrypt_module_open(MCRYPT_DES, '',
MCRYPT_MODE_ECB, '/usr/lib/mcrypt-modes');

$şt = mcrypt_module_open('rijndael-256', '', 'ofb', '');
?>

Yukarıdaki örnekteki ilk satır öntanımlı dizindeki DES şifre modülünü ve /usr/lib/mcrypt-modes dizinindeki ECB kip modülünü açacaktır. İkinci örnekte şifre ve kip için isimleri kullanılmaktadır. Bu örnek sadece eklenti, libmcrypt 2.4.x veya 2.5.x desteğiyle derlenmişse çalışacaktır.

Örnek 2 - Şifreleme için mcrypt_module_open() kullanımı

<?php
/* Şifre modülünü açalım */
$şt = mcrypt_module_open('rijndael-256', '', 'ofb', '');

/* IV'yi oluşturup anahtar uzunluğunu belirleyelim.
Windows'ta bunun yerine MCRYPT_RAND kullanın */
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($şt), MCRYPT_DEV_RANDOM);
$ks = mcrypt_enc_get_key_size($şt);

/* Anahtarı oluşturalım */
$tuz = substr(md5('çok gizli anahtar'), 0, $ks);

/* Şifreleme işlemini ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);

/* Veriyi şifreleyelim */
$şifreli = mcrypt_generic($şt, 'Bu çok önemli bir veridir.');

/* Şifre tanıtıcısını sonlandıralım */
mcrypt_generic_deinit($şt);

/* Şifreleme modülünü şifre çözmek için ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);

/* Verinin şifresini çözelim */
$şifresiz = mdecrypt_generic($şt, $şifreli);

/* Şifre çözme tanıtıcısını sonlandıralım ve modülü kapatalım */
mcrypt_generic_deinit($şt);
mcrypt_module_close($şt);

/* Dizgeyi gösterelim */
echo trim($şifresiz) . "\n";
?>

Ayrıca Bakınız

  • mcrypt_module_close() - Şifreleme tanıtıcısını kapatır
  • mcrypt_generic() - Veriyi şifreler
  • mdecrypt_generic() - Verinin şifresini çözer
  • mcrypt_generic_init() - Şifreleme için gerekli tüm tamponları ilklendirir
  • mcrypt_generic_deinit() - Bir şifreleme tanıtıcısını yeniden ilklendirir


Belirtilen modülün kendini kendini sınamasını sağlar

  • « mcrypt_module_open
  • mdecrypt_generic »
  • PHP Manual
  • Mcrypt İşlevleri
  • Belirtilen modülün kendini kendini sınamasını sağlar

mcrypt_module_self_test

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mcrypt_module_self_test — Belirtilen modülün kendini kendini sınamasını sağlar

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mcrypt_module_self_test(string $algoritma, string $lib_dir = ?): bool

Belirtilen modülün kendini kendini sınamasını sağlar.

Bağımsız Değişkenler

algoritma

MCRYPT_şifreadı sabitlerinden biri veya dizge olarak algoritma adlarından biri.

lib_dir

Belirtilmesi isteğe bağlı olup algoritma modülünün sistemdeki yerini belirtmek için kullanılır. Belirtilmezse mcrypt.algorithms_dir php.ini yönergesinin değeri kullanılır.

Dönen Değerler

Sınama başarılı olursa true yoksa false döner.

Örnekler

Örnek 1 - mcrypt_module_self_test() örneği

<?php
var_dump(mcrypt_module_self_test(MCRYPT_RIJNDAEL_128)) . "\n";
var_dump(mcrypt_module_self_test(MCRYPT_BOGUS_CYPHER));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)


Verinin şifresini çözer

  • « mcrypt_module_self_test
  • Mhash »
  • PHP Manual
  • Mcrypt İşlevleri
  • Verinin şifresini çözer

mdecrypt_generic

(PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0)

mdecrypt_generic — Verinin şifresini çözer

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTE olup PHP 7.2.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mdecrypt_generic(resource $şt, string $veri): string

Belirtilen verinin şifresini çözer. Şifresi çözülürken verinin sonuna eklenen baytlar yüzünden dönen dizge şifrelenmemiş dizgeden daha uzundur.

Bağımsız Değişkenler

şt

mcrypt_module_open() tarafından döndürülmüş bir şifreleme tanıtıcısı.

data

Şifrelenmiş veri.

Dönen Değerler

Şifresi çözülmüş veri döner.

Örnekler

Örnek 1 - mdecrypt_generic() örneği

<?php
/* Veri */
$tuz = 'Bu anahtar bu şifre için bile gereğinden uzun bir anahtar';
$veri = 'çok önemli veri';

/* Modülü açıp bir İV üretelim */
$şt = mcrypt_module_open('des', '', 'ecb', '');
$tuz = substr($tuz, 0, mcrypt_enc_get_key_size($şt));
$iv_boyu = mcrypt_enc_get_iv_size($şt);
$iv = mcrypt_create_iv($iv_boyu, MCRYPT_RAND);

/* Şifreleme tanıtıcısını ilklendirelim */
if (mcrypt_generic_init($şt, $tuz, $iv) != -1) {

/* Veriyi şifreleyelim */
$şifreli_veri = mcrypt_generic($şt, $veri);
mcrypt_generic_deinit($şt);

/* Şifreyi çözmek için tamponu ilklendirelim */
mcrypt_generic_init($şt, $tuz, $iv);
$sonuç = mdecrypt_generic($şt, $şifreli_veri);

/* Temizlik */
mcrypt_generic_deinit($şt);
mcrypt_module_close($şt);
}

if (strncmp($sonuç, $veri, strlen($veri)) == 0) {
echo "Tamam\n";
} else {
echo "Hata\n";
}
?>

Yukarıdaki örnekte, şifreleme öncesi veri ile şifreleme sonrası şifresi çözülmüş verinin nasıl karşılaştırılacağı gösterilmiştir. Bir verinin şifresini çözmeden önce şifreleme tamponunu mcrypt_generic_init() ile yeniden ilklendirmek çok önemlidir.

Bu işlevi çağırmadan önce, mcrypt_generic_init() işlevini bir tuz ve bir İV (ilklendirme vektörü) ile çağırarak şifreleme tanıtıcısını daima ilklendirmelisiniz. Şifreleme bittikten sonra şifreleme tamponlarını mcrypt_generic_deinit() işleviyle serbest bırakmalısınız. Bununla ilgili bir örneği mcrypt_module_open() işlevinin açıklamasında bulabilirsiniz.

Ayrıca Bakınız

  • mcrypt_generic() - Veriyi şifreler
  • mcrypt_generic_init() - Şifreleme için gerekli tüm tamponları ilklendirir
  • mcrypt_generic_deinit() - Bir şifreleme tanıtıcısını yeniden ilklendirir


Mhash

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Mhash İşlevleri
    • mhash_count — Kullanılabilecek en yüksek algoritmanın kimliğini döndürür
    • mhash_get_block_size — Belirtilen algoritmanın küme boyunu döndürür
    • mhash_get_hash_name — Belirtilen algoritmanın ismini döndürür
    • mhash_keygen_s2k — Bir anahtar üretir
    • mhash — İleti aşını hesaplar


Giriş

Bu işlevler » mhash ile çalışmak için tasarlanmıştır. Mhash, sağlamalar, ileti aşları, ileti kimlik doğrulama kodları ve benzerlerini oluşturmak için kullanılır.

Bu eklenti mhash kütüphanesine bir arayüz olup, MD5, SHA1, GOST ve benzeri aşlama algoritmalarını destekler. Desteklenen aş türlerinin tam listesi sabitler sayfasında bulunabilir. PHP'den bir aşlama algoritmasına erişmek için genel kural MHASH_algoAdı sabitlerini kullanmaktır. Örneğin, TIGER algoritmasına erişim için MHASH_TIGER sabiti kullanılır.

Bilginize:

Bu eklenti yerine artık Hash eklentisi kullanılmalıdır.

Bilginize:

PHP 7.0.0 itibariyle Mhash eklentisi Hash eklentisiyle bütünleşmiştir. Bu nedenle, extension_loaded() ile Mhash desteğini tespit etmek artık mümkün değildir; onun yerine function_exists() işlevini kullanın. Dahası, Mhash artık get_loaded_extensions() ve ilgili özellikler tarafından raporlanmamaktadır.


Gereksinimler

Mhash kullanmak için » Mhash sitesinden kaynak paketini indirip içindeki talimatlara uygun olarak kurun.


Kurulum

Bu eklentiyi etkin kılmak için PHP'yi --with-mhash[=DiZiN] seçeneği ile derlemelisiniz. DiZiN, mhash kurulum dizinidir.

PHP 5.3.0 itibariyle, mhash eklentisi Hash eklentisi ile birleştirilmiştir. Bu mhash kurulum dizinini etkisiz kılar ve mhash desteğini sağlamak için hash eklentisinin etkinleştirilmesini gerektirir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Buradaki sabitler Mhash tarafından desteklenen algoritmaların sabitleridir. Burada bulunmayıp da Mhash tarafından desteklenen bir algoritmanın varlığı bu listenin güncel olmadığını gösterir.

  • MHASH_ADLER32
  • MHASH_CRC32
  • MHASH_CRC32B
  • MHASH_GOST
  • MHASH_HAVAL128
  • MHASH_HAVAL160
  • MHASH_HAVAL192
  • MHASH_HAVAL224
  • MHASH_HAVAL256
  • MHASH_MD2
  • MHASH_MD4
  • MHASH_MD5
  • MHASH_RIPEMD128
  • MHASH_RIPEMD256
  • MHASH_RIPEMD320
  • MHASH_SHA1
  • MHASH_SHA192
  • MHASH_SHA224
  • MHASH_SHA256
  • MHASH_SHA384
  • MHASH_SHA512
  • MHASH_SNEFRU128
  • MHASH_SNEFRU256
  • MHASH_TIGER
  • MHASH_TIGER128
  • MHASH_TIGER160
  • MHASH_WHIRLPOOL


Örnekler

Örnek 1 - Bir dizgenin MD5 ve HMAC aşlarını hesaplayıp sonuçları birer onaltılık dizge olarak çıktılar

<?php
$girdi = "what do ya want for nothing?";
$aş = mhash(MHASH_MD5, $girdi);
echo "MD5 aşı: " . bin2hex($aş) . "<br />\n";
$aş = mhash(MHASH_MD5, $girdi, "Jefe");
echo "HMAC aşı: " . bin2hex($aş) . "<br />\n";
?>

Yukarıdaki örneğin çıktısı:

MD5 aşı: d03cb659cbf9192dcd066272249f8412
HMAC aşı: 750c783e6ab0b503eaa86e310a5db738


Mhash İşlevleri

İçindekiler

  • mhash_count — Kullanılabilecek en yüksek algoritmanın kimliğini döndürür
  • mhash_get_block_size — Belirtilen algoritmanın küme boyunu döndürür
  • mhash_get_hash_name — Belirtilen algoritmanın ismini döndürür
  • mhash_keygen_s2k — Bir anahtar üretir
  • mhash — İleti aşını hesaplar


Kullanılabilecek en yüksek algoritmanın kimliğini döndürür

  • « Mhash İşlevleri
  • mhash_get_block_size »
  • PHP Manual
  • Mhash İşlevleri
  • Kullanılabilecek en yüksek algoritmanın kimliğini döndürür

mhash_count

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_count — Kullanılabilecek en yüksek algoritmanın kimliğini döndürür

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mhash_count(): int

Kullanılabilecek en yüksek algoritmanın kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanılabilecek en büyük algoritmanın kimliğini döndürür. Aşlar 0'dan bu algoritmanın kimliğine kadar numaralıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine hash_*() işlevleri kullanılmalıdır.

Örnekler

Örnek 1 - Tüm algoritmaları sıradan geçmek

<?php

$nr = mhash_count();

for ($i = 0; $i <= $nr; $i++) {
echo sprintf("%s için küme boyu %d bayttır\n",
mhash_get_hash_name($i),
mhash_get_block_size($i));
}
?>


Belirtilen algoritmanın küme boyunu döndürür

  • « mhash_count
  • mhash_get_hash_name »
  • PHP Manual
  • Mhash İşlevleri
  • Belirtilen algoritmanın küme boyunu döndürür

mhash_get_block_size

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_get_block_size — Belirtilen algoritmanın küme boyunu döndürür

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mhash_get_block_size(int $algo): int|false

Belirtilen algoritmanın küme boyunu döndürür.

Bağımsız Değişkenler

algo

MHASH_algoAdı sabitlerinden biri olarak kullanılacak algoritma.

Dönen Değerler

algo algoritması mevcut değilse false mevcutsa bayt cinsinden küme uzunluğu döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine hash_*() işlevleri kullanılmalıdır.

Örnekler

Örnek 1 - mhash_get_block_size() örneği

<?php

echo mhash_get_block_size(MHASH_MD5); // 16

?>


Belirtilen algoritmanın ismini döndürür

  • « mhash_get_block_size
  • mhash_keygen_s2k »
  • PHP Manual
  • Mhash İşlevleri
  • Belirtilen algoritmanın ismini döndürür

mhash_get_hash_name

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash_get_hash_name — Belirtilen algoritmanın ismini döndürür

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mhash_get_hash_name(int $algo): string|false

Belirtilen algoritmanın ismini döndürür.

Bağımsız Değişkenler

algo

MHASH_algoAdı sabitlerinden biri olarak kullanılacak algoritma.

Dönen Değerler

algo algoritması mevcut değilse false mevcutsa algoritmanın ismini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine hash_*() işlevleri kullanılmalıdır.

Örnekler

Örnek 1 - mhash_get_hash_name() örneği

<?php

echo mhash_get_hash_name(MHASH_MD5); // MD5

?>


Bir anahtar üretir

  • « mhash_get_hash_name
  • mhash »
  • PHP Manual
  • Mhash İşlevleri
  • Bir anahtar üretir

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

mhash_keygen_s2k — Bir anahtar üretir

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mhash_keygen_s2k(
int $algo,
string $parola,
string $tuz,
int $uzunluk
): string|false

Belirtilen algo için kullanıcı tarafından sağlanan parola ile bir anahtar üretir.

Kullanılan algoritma OpenPGP belgesinde (» RFC 2440) belirtilen Tuzlu S2K algoritmasıdır.

Kullanıcılar normalde klavyede yazabilecekleri anahtarları seçtikleri için, kullanıcı tarafından sağlanan parolaların kriptografik algoritmalarda anahtar olarak kullanılmaya uygun olmadığını unutmayın. Bu parolalar, karakter başına yalnızca 6 ila 7 bit (veya daha az) kullanır. Kullanıcı tarafından sağlanan anahtara bir dönüşüm (bu işlev gibi) uygulanması şiddetle tavsiye edilir.

Bağımsız Değişkenler

algo

MHASH_algoAdı sabitlerinden biri olarak anahtarı oluşturmak için kullanılacak algoritma.

parola

Kullanıcı tarafından sağlanmış parola.

tuz

Anahtar üretirken her anahtar için farklı bir tuz belirtilmelidir. Anahtarı denetlerken bu tuzu bilmeniz gerekir. Bu bakımdan en iyisi anahtara eklemektir. tuz sabit 8 bayt uzunlukta olmalıdır, eğer daha kısa belirtilirse dolgu karakteri olarak "\0" kullanılır.

uzunluk

Bayt cinsinden anahtar uzunluğu.

Dönen Değerler

Bir hata durumunda false, yoksa üretilen anahtarı bir dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine hash_*() işlevleri kullanılmalıdır.


İleti aşını hesaplar

  • « mhash_keygen_s2k
  • OpenSSL »
  • PHP Manual
  • Mhash İşlevleri
  • İleti aşını hesaplar

mhash

(PHP 4, PHP 5, PHP 7, PHP 8)

mhash — İleti aşını hesaplar

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

mhash(int $algo, string $veri, ?string $anahtar = null): string|false

Belirtilen algoritma kullanılarak belirtilen veri için bir aş üretilir.

Bağımsız Değişkenler

algo

MHASH_algoAdı sabitlerinden biri olarak aş üretiminde kullanılacak algoritma.

veri

Bir dizge olarak aşı üretilecek veri.

anahtar

Belirtilirse işlev bir ileti aşı yerine bir HMAC aşı döndürür. HMAC, ileti kimlik doğrulaması için anahtarlı bir aştır, başka bir deyişle belirtilen anahtara bağlı bir ileti aşıdır. Mhash tarafından desteklenen algoritmaların bazıları HMAC kipinde kullanılamaz.

Dönen Değerler

Bir hata durumunda false, yoksa elde edilen ileti aşını veya HMAC aşını bir dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine hash_*() işlevleri kullanılmalıdır.
8.0.0 | anahtar artık null olabiliyor.


OpenSSL

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
    • Amaç sınama seçenekleri
    • Asimetrik şifreleme için dolgu seçenekleri
    • Anahtar türleri
    • PKCS7 Seçenekleri/Sabitleri
    • CMS Seçenekleri/Sabitleri
    • İmzalama Algoritmaları
    • Şifreler
    • Sürüm sabitleri
    • Sunucu Adı Gösterge sabitler
    • Diğer sabitler
  • Anahtar/Sertifika Bağımsız değişkenleri
  • Sertifika Doğrulama
  • OpenSSL İşlevleri
    • openssl_cipher_iv_length — Gets the cipher iv length
    • openssl_cipher_key_length — Gets the cipher key length
    • openssl_cms_decrypt — Decrypt a CMS message
    • openssl_cms_encrypt — Encrypt a CMS message
    • openssl_cms_read — Export the CMS file to an array of PEM certificates
    • openssl_cms_sign — Bir dosyayı imzalar
    • openssl_cms_verify — Belirtilen CMS imzasını doğrular
    • openssl_csr_export_to_file — Belirtilen CSR'yi bir dosyaya kaydeder
    • openssl_csr_export — Belirtilen CSR'yi bir dizge olarak döndürür
    • openssl_csr_get_public_key — Bir CSR'nin açık anahtarını döndürür
    • openssl_csr_get_subject — Bir CSR'nin öznesini döndürür
    • openssl_csr_new — Bir sertifika imzalama isteği (CSR) üretir
    • openssl_csr_sign — Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir
    • openssl_decrypt — Verinin şifresini çözer
    • openssl_dh_compute_key — Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar
    • openssl_digest — Bir özet hesaplar
    • openssl_encrypt — Veriyi şifreler
    • openssl_error_string — OpenSSL hata iletisini döndürür
    • openssl_free_key — Anahtar özkaynağını serbest bırakır
    • openssl_get_cert_locations — Retrieve the available certificate locations
    • openssl_get_cipher_methods — Kullanılabilecek şifreleme yöntemlerini döndürür
    • openssl_get_curve_names — Gets list of available curve names for ECC
    • openssl_get_md_methods — Kullanılabilecek özet yöntemlerini döndürür
    • openssl_get_privatekey — openssl_pkey_get_private işlevinin takma adıdır
    • openssl_get_publickey — openssl_pkey_get_public işlevinin takma adıdır
    • openssl_open — Mühürlü veriyi açar
    • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string
    • openssl_pkcs12_export_to_file — Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder
    • openssl_pkcs12_export — PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir
    • openssl_pkcs12_read — Bir PKCS#12 Sertifika Deposunu bir diziye çözümler
    • openssl_pkcs7_decrypt — S/MIME şifreli bir iletinin şifresini çözer
    • openssl_pkcs7_encrypt — Bir S/MIME iletiyi şifreler
    • openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
    • openssl_pkcs7_sign — Bir S/MIME iletiyi imzalar
    • openssl_pkcs7_verify — S/MIME imzalı bir iletinin imzasını doğrular
    • openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key
    • openssl_pkey_export_to_file — Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder
    • openssl_pkey_export — Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür
    • openssl_pkey_free — Bir gizli anahtarı serbest bırakır
    • openssl_pkey_get_details — Anahtarla ilgili ayrıntıları bir dizi içinde döndürür
    • openssl_pkey_get_private — Gizli anahtarı döndürür
    • openssl_pkey_get_public — Genel anahtarı sertifikadan elde edip kullanıma hazırlar
    • openssl_pkey_new — Yeni bir gizli anahtar üretir
    • openssl_private_decrypt — Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer
    • openssl_private_encrypt — Veriyi gizli anahtarla şifreler
    • openssl_public_decrypt — Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer
    • openssl_public_encrypt — Veriyi genel anahtarla şifreler
    • openssl_random_pseudo_bytes — Yarı-rasgele bayt dizesi üretir
    • openssl_seal — Veriyi mühürler (şifreler)
    • openssl_sign — İmza üretir
    • openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge
    • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_new — Generate a new signed public key and challenge
    • openssl_spki_verify — Verifies a signed public key and challenge
    • openssl_verify — İmzayı doğrular
    • openssl_x509_check_private_key — Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar
    • openssl_x509_checkpurpose — Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar
    • openssl_x509_export_to_file — Belirtilen sertifikayı bir dosyaya kaydeder
    • openssl_x509_export — Belirtilen sertifikayı dizge olarak döndürür
    • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free — Sertifika özkaynağını serbest bırakır
    • openssl_x509_parse — Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür
    • openssl_x509_read — X.509 sertifikasını çözümleyip sertifika için nesne döndürür
    • openssl_x509_verify — Verifies digital signature of x509 certificate against a public key
  • OpenSSLCertificate — The OpenSSLCertificate sınıfı
  • OpenSSLCertificateSigningRequest — The OpenSSLCertificateSigningRequest sınıfı
  • OpenSSLAsymmetricKey — The OpenSSLAsymmetricKey class


Giriş

Bu eklenti, simetrik ve asimetrik şifreleme ve şifre çözme, PBKDF2, PKCS7, PKCS12, X509 ve diğer kripto işlemleri için » OpenSSL kitaplığının işlevlerini sağlar. Buna ek olarak TLS akışlarının uygulanmasını sağlar.

OpenSSL, bu modülün şu anda desteklemediği birçok özellik sunar. Bunlardan bazıları gelecekte eklenebilir.


Gereksinimler

PHP 7.0 için OpenSSL >= 0.9.8, < 1.2 gerekir. PHP 7.1-8.0 için OpenSSL >= 1.0.1, < 3.0 gerekir. PHP >= 8.1 için OpenSSL >= 1.0.2, < 4.0 gerekir.

Uyarı

Daima OpenSSL'in geliştirmesi devam eden sürümünü kullanmanızı öneririz yoksa HTTP sunucunuz saldırılardan zarar görebilir.


Kurulum

PHP'nin OpenSSL desteğini kullanmak için PHP'yi --with-openssl[=DiZiN] seçeneği ile derlemelisiniz.

OpenSSL kütüphanesi çalışma anındaki normal işlemler için ek gereksinimlere sahiptir. En önemlisi, OpenSSL'in, rasgele veya yarı rasgele bir sayı üretecine erişebilmesi gerekir; çoğu Unix ve Unix benzeri (Linux dahil) platform için bu /dev/urandom veya /dev/random aygıtına erişebilmek anlamına gelir.

PHP'nin sabit kodlanmış bir öntanımlı yerine sistem şifre listesini kullanmasını sağlayan --with-system-ciphers yapılandırma seçeneği mevcuttur.

Bilginize: Win32 kullanıcıları için

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libeay32.dll veya OpenSSL 1.1 itibariyle libcrypto-*.dll

Anahtar üretim ve sertifika imzalama işlevlerini kullanmayı düşünüyorsanız sisteminizde ek olarak geçerli bir openssl.cnf kurulu olmalıdır. Win32 çalıştırılabilir paketlerine örnek bir yapılandırma dosyası eklenmekte ve bu dosya extras/ssl dizinine konmaktadır.

PHP openssl.cnf dosyasını şu mantıksal sırayla araştırır:

  • OPENSSL_CONF ortam değişkeni varsa, değişkenin değeri yapılandırma dosyasının yolu olarak (dosya ismi dahil) kullanılır.
  • SSLEAY_CONF ortam değişkeni varsa, değişkenin değeri yapılandırma dosyasının yolu olarak (dosya ismi dahil) kullanılır.
  • openssl.cnf dosyasının öntanımlı sertifika alanında bulunduğu varsayılır (openssl DLL'i derlenirken böyle yapılandırılır). Yani, dosyanın öntanımlı yeri: C:\Program Files\Common Files\SSL\openssl.cnf (x64) veya C:\Program Files (x86)\Common Files\SSL\openssl.cnf (x86) ya da PHP 7.4.0 öncesinde C:\usr\local\ssl\openssl.cnf.

Kurulum sırasında yapılandırma dosyasının öntanımlı yere mi kurulacağına yoksa başka bir yere kurup yerini ortam değişkenlerini kullanarak mı belirtileceğine karar verilmelidir. Bir yapılandırma dosyası gerektiren işlevlerdeki seçenekler bağımsız değişkenini kullanarak dosyanın öntanımlı yeri geçersiz kılınabilir.
Dikkat

Yetkisiz kullanıcıların openssl.cnf dosyasını değiştirmelerine izin verilmediğinden emin olunmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | OpenSSL öntanımlı yapılandırma dosyasının yeri C:\usr\local\ssl iken artık sırayla şuralarda aranmaktadır: C:\Program Files\Common Files\SSL ve C:\Program Files (x86)\Common Files\SSL.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

openssl Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
openssl.cafile | "" | PHP_INI_PERDIR |
openssl.capath | "" | PHP_INI_PERDIR |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

openssl.cafile string

Uzaktaki görevdeşin kimliğini doğrulamak için verify_peer bağlam seçeneğiyle kullanılması gereken yerel dosya sistemindeki Sertifika Yetkilisi dosyasının konumu.

openssl.capath string

cafile belirtilmezse veya sertifika orada yoksa capath ile gösterilen dizinde uygun bir sertifika aranır. capath, doğru şekilde aşlanmış bir sertifika dizini olmalıdır.

Ayrıca bkz. SSL bağlamı seçenekleri


Özkaynak Türleri

PHP 8.0.0 öncesinde, OpenSSL modülünde 3 özkaynak türü tanımlıydı:

  • OpenSSL key
  • OpenSSL X.509
  • OpenSSL X.509 CSR


Öntanımlı Sabitler

İçindekiler

  • Amaç sınama seçenekleri
  • Asimetrik şifreleme için dolgu seçenekleri
  • Anahtar türleri
  • PKCS7 Seçenekleri/Sabitleri
  • CMS Seçenekleri/Sabitleri
  • İmzalama Algoritmaları
  • Şifreler
  • Sürüm sabitleri
  • Sunucu Adı Gösterge sabitler
  • Diğer sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.


Amaç sınama seçenekleri

X509_PURPOSE_SSL_CLIENT (int)
X509_PURPOSE_SSL_SERVER (int)
X509_PURPOSE_NS_SSL_SERVER (int)
X509_PURPOSE_SMIME_SIGN (int)
X509_PURPOSE_SMIME_ENCRYPT (int)
X509_PURPOSE_CRL_SIGN (int)
X509_PURPOSE_ANY (int)


Asimetrik şifreleme için dolgu seçenekleri

OPENSSL_PKCS1_PADDING (int)
OPENSSL_SSLV23_PADDING (int)
OPENSSL_NO_PADDING (int)
OPENSSL_PKCS1_OAEP_PADDING (int)


Anahtar türleri

OPENSSL_KEYTYPE_RSA (int)
OPENSSL_KEYTYPE_DSA (int)
OPENSSL_KEYTYPE_DH (int)
OPENSSL_KEYTYPE_EC (int)
Bu seçenek sadece PHP, OpenSSL 0.9.8+ ile derlendiği takdirde kullanılabilir.


PKCS7 Seçenekleri/Sabitleri

S/MIME işlevleri seçenek olarak aşağıdaki değerlerin bitsel olarak VEYAlanmasıyla elde edilen değerleri kullanırlar:

PKCS7 CONSTANTS
Sabit | Açıklama
PKCS7_TEXT (int) | Şifreli/imzalı iletiye başlıklar text/plain içerik türüyle eklenir. Şifre çözme veya doğrulama yapılacaksa bu başlıklar çıktıdan ayıklanır; eğer şifresi çözülecek veya doğrulanacak iletinin MIME türü text/plain değilse bir hata oluşur.
PKCS7_BINARY (int) | Normalde girdi iletisi, (S/MIME belirtiminin gereği olarak) satırsonu karakteri olarak CR ve LF kullanan "meşru" biçeme dönüştürülür. Bu seçenek kullanıldığı takdirde hiçbir dönüşüm yapılmaz. MIME biçeminde olmayan ikil verilerle çalışırken yararlıdır.
PKCS7_NOINTERN (int) | Bir ileti doğrulanırken iletiye dahil edilmiş sertifikalar varsa bunlar imzalama sertifikaları olarak ele alınır. Bu seçenekle sadece openssl_pkcs7_verify() işlevinin ek_sertifikalar bağımsız değişkeninde belirtilen sertifikalar kullanılır. Bununla birlikte, sağlanan sertifikalar hala güvencesiz CA olarak kullanılabilir.
PKCS7_NOVERIFY (int) | İmzalı iletinin imzalama sertifikası doğrulanmaz.
PKCS7_NOCHAIN (int) | İmzalama setifikalarına zincir doğrulama yapılmaz; yani, imzalı iletideki sertifikalar güvencesiz CA olarak kullanılmaz.
PKCS7_NOCERTS (int) | Bir ileti imzalanırken normal olarak imzalama sertifikası iletiye eklenir. Bu seçenek belirtilmişse eklenmez. Böylece imzalanan iletinin boyu küçülmüş olur, ancak doğrulayıcının imzalama sertifikasının bir kopyasına sahip olması gerekir (örneğin, openssl_pkcs7_verify() işlevinin ek_sertifikalar bağımsız değişkeninde aktarılabilir).
PKCS7_NOATTR (int) | Normalde bir ileti imzalanırken desteklenen bakışımlı algoritmalar ve imzalama zamanı dahil bazı öznitelikler iletiye eklenir. Bu seçenek belirtilmişse bunlar iletiye eklenmez.
PKCS7_DETACHED (int) | Bir ileti imzalanırken MIME türü "multipart/signed" olan salt metin imzalama yapılır. openssl_pkcs7_sign() işlevinin seçenekler bağımsız değişkeninde hiçbir şey belirtmezseniz öntanımlı olarak bu uygulanır. Bu seçeneği belirtmezseniz ileti şeffaf olmayan bir biçimde imzalanır, ancak eposta aktarımlarına karşı daha dayanıklı olmakla birlikte, ileti S/MIME desteği olmayan eposta araçları ile okunamaz.
PKCS7_NOSIGS (int) | Bir iletideki imzalar doğrulanmaz ve denenmez.
PKCS7_NOOLDMIMETYPE (int) | PHP 8.3.0 ve sonrasında kullanılabilir. Bir iletiyi şifrelemek için içerik türü application/x-pkcs7-mime yerine application/pkcs7-mime yapılır.


CMS Seçenekleri/Sabitleri

CMS işlevleri, aşağıdaki değerlerden bir veya daha fazlasını içerebilen bir bit alanı kullanılarak belirtilen seçenekleri kullanır:

CMS Sabitleri
Sabit | Açıklama
OPENSSL_CMS_TEXT (int) | Şifrelenmiş/imzalanmış iletiye text/plain içerik türü başlıklarını ekler. Şifre çözme veya doğrulama durumunda, bu başlıkları çıktıdan çıkarır - şifresi çözülen veya doğrulanan iletinin MIME türü text/plain değilse bir hata oluşur.
OPENSSL_CMS_BINARY (int) | Normalde girdi iletisi, CMS belirtiminin gerektirdiği şekilde satır sonu olarak CR ve LF'i etkin bir şekilde kullanan "meşru" biçeme dönüştürülür. Bu seçenek mevcut olduğunda, herhangi bir dönüşüm yapılmaz. Bu, CMS biçeminde olmayabilecek ikil veriyi işlerken kullanışlıdır.
OPENSSL_CMS_NOINTERN (int) | Bir ileti doğrulanırken, iletinin içerdiği sertifikalarda (varsa) normalde imza sertifikası aranır. Bu seçenek ile sadece openssl_cms_verify() işlevinin güvenilmeyen_sertifikalar_dosyası bağımsız değişkeninde belirtilen sertifikalar kullanılır. Sağlanan sertifikalar yine de güvenilmeyen sertifikalar olarak kullanılabilir.
OPENSSL_CMS_NOVERIFY (int) | İmzalı bir iletinin imzalayanlar sertifikasını doğrulanmaz. message.
OPENSSL_CMS_NOCERTS (int) | Bir iletiyi imzalarken normalde imzalayanın sertifikası iletiye dahil edilir - bu seçenekle hariç tutulur. Bu, imzalanan iletinin boyutunu azaltır, ancak doğrulayıcının imzalayanlar sertifikasının bir kopyasını yerel olarak bulundurması gerekir (örneğin, sertifika openssl_cms_verify() işlevine güvenilmeyen_sertifikalar_dosyası ile aktarılarak kullanılabilir).
OPENSSL_CMS_NOATTR (int) | Normalde bir ileti imzalandığında, imzalama zamanını ve desteklenen simetrik algoritmaları içeren bir dizi öznitelik iletiye dahil edilir. Bu seçenekle dahil edilmez.
OPENSSL_CMS_DETACHED (int) | Bir ileti imzalanırken, "multipart/signed" S/MIME türü ile açık metin imzalama kullanılır. openssl_cms_sign() işlevine seçenekler ile herhangi bir seçenek belirtilmezse öntanımlı olarak bu yapılır. Bu seçeneği kapatırsanız, ileti mat imzalama kullanılarak imzalanır; ileti, eposta sunucularından aktarılırken dönüşüme daha dirençli olur fakat S/MIME'yi desteklemeyen posta istemcileri tarafından okunamaz.
OPENSSL_CMS_NOSIGS (int) | Bir iletideki imzaları doğrulamaya çalışmaz.
OPENSSL_CMS_OLDMIMETYPE (int) | PHP 8.3.0 ve sonrasında kullanılabilir. Bir iletiyi şifrelemek için içerik türü application/x-pkcs7-mime yerine application/pkcs7-mime yapılır.


İmzalama Algoritmaları

OPENSSL_ALGO_DSS1 (int)
OPENSSL_ALGO_SHA1 (int)
openssl_sign() ve openssl_verify() tarafından öntanımlı algoritma olarak kullanılır.
OPENSSL_ALGO_SHA224 (int)
OPENSSL_ALGO_SHA256 (int)
OPENSSL_ALGO_SHA384 (int)
OPENSSL_ALGO_SHA512 (int)
OPENSSL_ALGO_RMD160 (int)
OPENSSL_ALGO_MD5 (int)
OPENSSL_ALGO_MD4 (int)
OPENSSL_ALGO_MD2 (int)
Bu sabit sadece PHP, MD2 desteğiyle derlenmişse kullanılabilir. OpenSSL 1.0.0+ derlenirken enable-md2 ve PHP derlenirken CFLAG olarak -DHAVE_OPENSSL_MD2_H aktarılmasını gerektirir.


Şifreler

OPENSSL_CIPHER_RC2_40 (int)
OPENSSL_CIPHER_RC2_128 (int)
OPENSSL_CIPHER_RC2_64 (int)
OPENSSL_CIPHER_DES (int)
OPENSSL_CIPHER_3DES (int)
OPENSSL_CIPHER_AES_128_CBC (int)
OPENSSL_CIPHER_AES_192_CBC (int)
OPENSSL_CIPHER_AES_256_CBC (int)


  • « Şifreler
  • Sunucu Adı Gösterge sabitler »
  • PHP Manual
  • Öntanımlı Sabitler
  • Sürüm sabitleri

Sürüm sabitleri

OPENSSL_VERSION_TEXT (string)
OPENSSL_VERSION_NUMBER (int)


Sunucu Adı Gösterge sabitler

OPENSSL_TLSEXT_SERVER_NAME (int)
SNI desteği var mı/yok mu?

Bilginize:

PHP'nin OpenSSL 0.9.8j veya üstü ile derlenmesini gerektirir.


Diğer sabitler

OPENSSL_RAW_DATA (int)
openssl_encrypt() veya openssl_decrypt() işlevine OPENSSL_RAW_DATA aktarılmışsa, veri olduğu gibi döndürülür. Belirtilmezse Base64 kodlu veri döndürülür.
OPENSSL_ZERO_PADDING (int)
Öntanımlı olarak şifreleme işlemleri, standart blok doldurma kullanılarak doldurulur ve şifre çözülürken dolgu kontrol edilip kaldırılır. openssl_encrypt() veya openssl_decrypt() işlevine OPENSSL_ZERO_PADDING aktarılırsa, herhangi bir dolgu yapılmaz. Şifrelenen veya şifresi çözülen toplam veri miktarı blok boyutunun katları olmalıdır, aksi takdirde bir hata oluşur.
OPENSSL_ENCODING_SMIME (int)
Kodlamanın S/MIME olduğunu belirtir.
OPENSSL_ENCODING_DER (int)
Kodlamanın DER olduğunu belirtir. (DER: Distinguished Encoding Rules - Seçkin Kodlama Kuralları).
OPENSSL_ENCODING_PEM (int)
Kodlamanın PEM olduğunu belirtir. (PEM: Privacy-Enhanced Mail - Gizliliği Gelişkin Posta).


Anahtar/Sertifika Bağımsız değişkenleri

Sadece bir kaç openssl işlevi bir anahtar veya sertifika bağımsız değişkeni gerektirir. Aşağıdaki yöntemlerden biri kullanılabilir.

  • Sertifikalar

    1. openssl_x509_read() işlevinden dönen bir OpenSSLCertificate örneği (veya PHP 8.0.0 öncesinde OpenSSL X.509 türünde bir özkaynak).
    2. file://bir/yol/sertifika.pem biçeminde bir dizge; İsmi belirtilen dosya PEM kodlamalı bir sertifika içermelidir.
    3. -----BEGIN CERTIFICATE----- ile başlayabilen PEM kodlamalı bir sertifikanın içeriğinden oluşan bir dizge.

  • Certificate Signing Requests (CSRs)

    1. openssl_csr_new() işlevinden dönen bir OpenSSLCertificateSigningRequest örneği (veya PHP 8.0.0 öncesinde OpenSSL X.509 CSR türünde bir özkaynak).
    2. file://bir/yol/csr.pem biçeminde bir dizge; dosya PEM kodlamalı bir CSR içermelidir.
    3. -----BEGIN CERTIFICATE REQUEST----- ile başlayabilen PEM kodlamalı bir CSR'nin içeriğinden oluşan bir dizge.

  • Genel ve Gizli Anahtarlar

    1. openssl_get_publickey() veya openssl_get_privatekey() işlevinden dönmüş bir OpenSSLAsymmetricKey örneği (veya PHP 8.0.0 öncesinde OpenSSL key türünde bir özkaynak).
    2. Sadece genel anahtarlar için: bir OpenSSLCertificate örneği (veya PHP 8.0.0 öncesinde OpenSSL X.509 türünde bir özkaynak).
    3. file://bir/yol/dosya.pem biçeminde bir dizge; belirtilen dosya PEM kodlamalı bir sertifika veya gizli anahtar (veya her ikisini de) içermelidir.
    4. -----BEGIN PUBLIC KEY----- ile başlayabilen, PEM kodlamalı bir sertifika veya anahtarın içeriğinden oluşan bir dizge.
    5. Gizli anahtarlar için ayrıca, array($anahtar, $parolası) sözdizimini de kullanabilirsiniz; burada $anahtar file:// kullarak belirtilen bir anahtar veya bunun dizgesel içeriği, $parolası ise gizli anahtarın parolasını içeren bir dizge olmalıdır.


Sertifika Doğrulama

Bir imza veya sertifikayı doğrulayacak bir işlev çağrılırken ca_bilgisi bağımsız değişkeninde güvenilir CA dosyalarının yerlerini belirten dosya ve dizin isimlerini içeren bir dizi belirtilir. Bir dizin belirtilirken, dizin dizgesi openssl komutunun kullanabileceği şekilde biçimlendirilmiş olmalıdır.


OpenSSL İşlevleri

İçindekiler

  • openssl_cipher_iv_length — Gets the cipher iv length
  • openssl_cipher_key_length — Gets the cipher key length
  • openssl_cms_decrypt — Decrypt a CMS message
  • openssl_cms_encrypt — Encrypt a CMS message
  • openssl_cms_read — Export the CMS file to an array of PEM certificates
  • openssl_cms_sign — Bir dosyayı imzalar
  • openssl_cms_verify — Belirtilen CMS imzasını doğrular
  • openssl_csr_export_to_file — Belirtilen CSR'yi bir dosyaya kaydeder
  • openssl_csr_export — Belirtilen CSR'yi bir dizge olarak döndürür
  • openssl_csr_get_public_key — Bir CSR'nin açık anahtarını döndürür
  • openssl_csr_get_subject — Bir CSR'nin öznesini döndürür
  • openssl_csr_new — Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign — Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir
  • openssl_decrypt — Verinin şifresini çözer
  • openssl_dh_compute_key — Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar
  • openssl_digest — Bir özet hesaplar
  • openssl_encrypt — Veriyi şifreler
  • openssl_error_string — OpenSSL hata iletisini döndürür
  • openssl_free_key — Anahtar özkaynağını serbest bırakır
  • openssl_get_cert_locations — Retrieve the available certificate locations
  • openssl_get_cipher_methods — Kullanılabilecek şifreleme yöntemlerini döndürür
  • openssl_get_curve_names — Gets list of available curve names for ECC
  • openssl_get_md_methods — Kullanılabilecek özet yöntemlerini döndürür
  • openssl_get_privatekey — openssl_pkey_get_private işlevinin takma adıdır
  • openssl_get_publickey — openssl_pkey_get_public işlevinin takma adıdır
  • openssl_open — Mühürlü veriyi açar
  • openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string
  • openssl_pkcs12_export_to_file — Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder
  • openssl_pkcs12_export — PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir
  • openssl_pkcs12_read — Bir PKCS#12 Sertifika Deposunu bir diziye çözümler
  • openssl_pkcs7_decrypt — S/MIME şifreli bir iletinin şifresini çözer
  • openssl_pkcs7_encrypt — Bir S/MIME iletiyi şifreler
  • openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates
  • openssl_pkcs7_sign — Bir S/MIME iletiyi imzalar
  • openssl_pkcs7_verify — S/MIME imzalı bir iletinin imzasını doğrular
  • openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key
  • openssl_pkey_export_to_file — Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder
  • openssl_pkey_export — Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür
  • openssl_pkey_free — Bir gizli anahtarı serbest bırakır
  • openssl_pkey_get_details — Anahtarla ilgili ayrıntıları bir dizi içinde döndürür
  • openssl_pkey_get_private — Gizli anahtarı döndürür
  • openssl_pkey_get_public — Genel anahtarı sertifikadan elde edip kullanıma hazırlar
  • openssl_pkey_new — Yeni bir gizli anahtar üretir
  • openssl_private_decrypt — Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer
  • openssl_private_encrypt — Veriyi gizli anahtarla şifreler
  • openssl_public_decrypt — Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer
  • openssl_public_encrypt — Veriyi genel anahtarla şifreler
  • openssl_random_pseudo_bytes — Yarı-rasgele bayt dizesi üretir
  • openssl_seal — Veriyi mühürler (şifreler)
  • openssl_sign — İmza üretir
  • openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge
  • openssl_spki_new — Generate a new signed public key and challenge
  • openssl_spki_verify — Verifies a signed public key and challenge
  • openssl_verify — İmzayı doğrular
  • openssl_x509_check_private_key — Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar
  • openssl_x509_checkpurpose — Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar
  • openssl_x509_export_to_file — Belirtilen sertifikayı bir dosyaya kaydeder
  • openssl_x509_export — Belirtilen sertifikayı dizge olarak döndürür
  • openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate
  • openssl_x509_free — Sertifika özkaynağını serbest bırakır
  • openssl_x509_parse — Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür
  • openssl_x509_read — X.509 sertifikasını çözümleyip sertifika için nesne döndürür
  • openssl_x509_verify — Verifies digital signature of x509 certificate against a public key


Gets the cipher iv length

  • « OpenSSL İşlevleri
  • openssl_cipher_key_length »
  • PHP Manual
  • OpenSSL İşlevleri
  • Gets the cipher iv length

openssl_cipher_iv_length

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

openssl_cipher_iv_length — Gets the cipher iv length

Açıklama

openssl_cipher_iv_length(string $cipher_algo): int|false

Gets the cipher initialization vector (iv) length.

Bağımsız Değişkenler

cipher_algo

The cipher method, see openssl_get_cipher_methods() for a list of potential values.

Dönen Değerler

Returns the cipher length on success, or false on failure.

Hatalar/İstisnalar

Emits an E_WARNING level error when the cipher algorithm is unknown.

Örnekler

Örnek 1 openssl_cipher_iv_length() example

<?php
$method = 'AES-128-CBC';
$ivlen = openssl_cipher_iv_length($method);

echo $ivlen;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

16


Gets the cipher key length

  • « openssl_cipher_iv_length
  • openssl_cms_decrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Gets the cipher key length

openssl_cipher_key_length

(PHP 8 >= 8.2.0)

openssl_cipher_key_length — Gets the cipher key length

Açıklama

openssl_cipher_key_length(string $cipher_algo): int|false

Gets the cipher key length.

Bağımsız Değişkenler

cipher_algo

The cipher method, see openssl_get_cipher_methods() for a list of potential values.

Dönen Değerler

Returns the cipher length on success, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Emits an E_WARNING level error when the cipher algorithm is unknown.

Örnekler

Örnek 1 openssl_cipher_key_length() example

<?php
$method = 'AES-128-CBC';

var_dump(openssl_cipher_key_length($method));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(16)


Decrypt a CMS message

  • « openssl_cipher_key_length
  • openssl_cms_encrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Decrypt a CMS message

openssl_cms_decrypt

(PHP 8)

openssl_cms_decrypt — Decrypt a CMS message

Açıklama

openssl_cms_decrypt(
string $input_filename,
string $output_filename,
OpenSSLCertificate|string $certificate,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key = null,
int $encoding = OPENSSL_ENCODING_SMIME
): bool

Decrypts a CMS message.

Bağımsız Değişkenler

input_filename

The name of a file containing encrypted content.

output_filename

The name of the file to deposit the decrypted content.

certificate

The name of the file containing a certificate of the recipient.

private_key

The name of the file containing a PKCS#8 key.

encoding

The encoding of the input file. One of OPENSSL_ENCODING_SMIME, OPENSSL_ENCODING_DER or OPENSSL_ENCODING_PEM.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Encrypt a CMS message

  • « openssl_cms_decrypt
  • openssl_cms_read »
  • PHP Manual
  • OpenSSL İşlevleri
  • Encrypt a CMS message

openssl_cms_encrypt

(PHP 8)

openssl_cms_encrypt — Encrypt a CMS message

Açıklama

openssl_cms_encrypt(
string $input_filename,
string $output_filename,
OpenSSLCertificate|array|string $certificate,
?array $headers,
int $flags = 0,
int $encoding = OPENSSL_ENCODING_SMIME,
int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC
): bool

This function encrypts content to one or more recipients, based on the certificates that are passed to it.

Bağımsız Değişkenler

input_filename

The file to be encrypted.

output_filename

The output file.

certificate

Recipients to encrypt to.

headers

Headers to include when S/MIME is used.

flags

Flags to be passed to CMS_sign.

encoding

An encoding to output. One of OPENSSL_ENCODING_SMIME, OPENSSL_ENCODING_DER or OPENSSL_ENCODING_PEM.

cipher_algo

A cypher to use.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The default cipher algorithm (cipher_algo) is now AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Previously, PKCS7/CMS was used (OPENSSL_CIPHER_RC2_40).


Export the CMS file to an array of PEM certificates

  • « openssl_cms_encrypt
  • openssl_cms_sign »
  • PHP Manual
  • OpenSSL İşlevleri
  • Export the CMS file to an array of PEM certificates

openssl_cms_read

(PHP 8)

openssl_cms_read — Export the CMS file to an array of PEM certificates

Açıklama

openssl_cms_read(string $input_filename, array &$certificates): bool

Performs the exact analog to openssl_pkcs7_read().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

input_filename

certificates

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Bir dosyayı imzalar

  • « openssl_cms_read
  • openssl_cms_verify »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir dosyayı imzalar

openssl_cms_sign

(PHP 8)

openssl_cms_sign — Bir dosyayı imzalar

Açıklama

openssl_cms_sign(
string $girdi_dosyası,
string $çıktı_dosyası,
OpenSSLCertificate|string $sertifika,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $özel_anahtar,
?array $başlıklar,
int $seçenekler = 0,
int $kodlama = OPENSSL_ENCODING_SMIME,
?string $güvenilmeyen_sertifikalar_dosyası = null
): bool

Bu işlev bir dosyayı bir X.509 sertifikası ve anahtarı ile imzalar.

Bağımsız Değişkenler

girdi_dosyası

İmzalanacak dosyanın ismi.

çıktı_dosyası

Sonuçların saklanacağı dosya.

sertifika

İmzalama setifikası. Geçerli değerler için bkz: Anahtar/Sertifika bağımsız değişkenleri

özel_anahtar

sertifika ile ilişkili anahtarı içeren dosyanın ismi. Geçerli değerler için bkz: Anahtar/Sertifika bağımsız değişkenleri

başlıklar

S/MIME çıktıda içerilecek başlıklar dizisi.

seçenekler

cms_sign() işlevine aktarılacak seçenekler.

kodlama

Çıktı dosyasının kodlaması. Şunlardan biri olabilir: OPENSSL_CMS_SMIME, OPENSLL_CMS_DER veya OPENSSL_CMS_PEM.

güvenilmeyen_sertifikalar_dosyası

İmzaya dahil edilecek ara sertifikalar.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - openssl_cms_sign() örneği

<?php

openssl_cms_sign('input.txt', 'output.txt', 'file://cert.pem', 'file://privkey.pem', null, OPENSSL_CMS_BINARY, OPENSSL_ENCODING_DER, 'chain.pem');
?>


Belirtilen CMS imzasını doğrular

  • « openssl_cms_sign
  • openssl_csr_export_to_file »
  • PHP Manual
  • OpenSSL İşlevleri
  • Belirtilen CMS imzasını doğrular

openssl_cms_verify

(PHP 8)

openssl_cms_verify — Belirtilen CMS imzasını doğrular

Açıklama

openssl_cms_verify(
string $girdi_dosyası,
int $seçenekler = 0,
?string $sertifikalar = null,
array $ca_bilgisi = [],
?string $güvenilmeyen_sertifikalar_dosyası = null,
?string $içerik = null,
?string $pk7 = null,
?string $imza_dosyası = null,
int $kodlama = OPENSSL_ENCODING_SMIME
): bool

Bu işlev ekli ya da ayrık bir CMS imzasını belirtilen kodlama ile doğrular.

Bağımsız Değişkenler

girdi_dosyası

Girdi dosyası.

seçenekler

cms_verify() işlevine aktarılacak seçenekler.

sertifikalar

İmzalayan sertifikasını ve isteğe bağlı olarak ara sertifikaları içeren dosya.

ca_bilgisi

Öz imzalı sertifika yetkilisi sertifikalarını içeren dizi.

güvenilmeyen_sertifikalar_dosyası

Ek ara sertifikaları içeren dosya.

içerik

İmzalar çıkarıldığında içeriğe işaret eden dosya.

pk7

imza_dosyası

İmzaların kaydedileceği dosya.

kodlama

Girdi dosyasının kodlaması. Şunlardan biri olabilir: OPENSSL_CMS_SMIME, OPENSLL_CMS_DER veya OPENSSL_CMS_PEM.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Belirtilen CSR'yi bir dosyaya kaydeder

  • « openssl_cms_verify
  • openssl_csr_export »
  • PHP Manual
  • OpenSSL İşlevleri
  • Belirtilen CSR'yi bir dosyaya kaydeder

openssl_csr_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_export_to_file — Belirtilen CSR'yi bir dosyaya kaydeder

Açıklama

openssl_csr_export_to_file(OpenSSLCertificateSigningRequest|string $csr, string $dosya, bool $metinsiz = true): bool

csr ile belirtilen sertifika imzalama isteğini CSR biçemli bir metne dönüştürüp dosyaya kaydeder.

Bağımsız Değişkenler

csr

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

dosya

Çıktı dosyasının yolu.

metinsiz

Belirtilmesi isteğe bağlı olan metinsiz bağımsız değişkeni çıktının ayrıntı seviyesini belirler. false belirtilirse çıktıda insanlar için anlamlı bilgiler bulunmaz. Bağımsız değişkenin öntanımlı değeri: true

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | csr artık OpenSSLCertificateSigningRequest örneği kabul ediyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - openssl_csr_export_to_file() örneği

<?php
$subject = array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha384') );
openssl_pkey_export_to_file($private_key, 'example-priv.key');
// CSR, $subject ile birlikte özel anahtara karşılık gelen genel anahtarı içerir
openssl_csr_export_to_file($csr, 'example-csr.pem');
?>

Ayrıca Bakınız

  • openssl_csr_export() - Belirtilen CSR'yi bir dizge olarak döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Belirtilen CSR'yi bir dizge olarak döndürür

  • « openssl_csr_export_to_file
  • openssl_csr_get_public_key »
  • PHP Manual
  • OpenSSL İşlevleri
  • Belirtilen CSR'yi bir dizge olarak döndürür

openssl_csr_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_export — Belirtilen CSR'yi bir dizge olarak döndürür

Açıklama

openssl_csr_export(OpenSSLCertificateSigningRequest|string $csr, string &$çıktı, bool $metinsiz = true): bool

csr ile belirtilen sertifika imzalama isteğini PEM biçemli bir metne dönüştürüp çıktı bağımsız değişkenine kaydeder.

Bağımsız Değişkenler

csr

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

çıktı

Başarı durumunda bu dizge PEM kodlu CSR içerir.

metinsiz

Belirtilmesi isteğe bağlı olan metinsiz bağımsız değişkeni çıktının ayrıntı seviyesini belirler. false belirtilirse çıktıda insanlar için anlamlı bilgiler bulunmaz. Bağımsız değişkenin öntanımlı değeri: true

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | csr artık OpenSSLCertificateSigningRequest örneği kabul ediyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - openssl_csr_export() örneği

<?php
$subject = array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
'digest_alg' => 'sha256WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $private_key, $configargs);
openssl_csr_export($csr, $csr_string);
echo $csr_string;
?>

Ayrıca Bakınız

  • openssl_csr_export_to_file() - Belirtilen CSR'yi bir dosyaya kaydeder
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Bir CSR'nin açık anahtarını döndürür

  • « openssl_csr_export
  • openssl_csr_get_subject »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir CSR'nin açık anahtarını döndürür

openssl_csr_get_public_key

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_public_key — Bir CSR'nin açık anahtarını döndürür

Açıklama

openssl_csr_get_public_key(OpenSSLCertificateSigningRequest|string $csr, bool $kısa_ad = true): OpenSSLAsymmetricKey|false

openssl_csr_get_public_key() csr'den genel anahtarı çıkarır ve diğer işlevler için kullanıma hazırlar.

Bağımsız Değişkenler

csr

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

kısa_ad
Uyarı

Bu bağımsız değişken yok sayılır.

Dönen Değerler

Başarı durumunda OpenSSLAsymmetricKey, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık OpenSSLAsymmetricKey örneği dönüyor; evvelce OpenSSL key türünde bir özkaynak dönerdi.
8.0.0 | csr artık OpenSSLCertificateSigningRequest örneği kabul ediyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - openssl_csr_get_public_key() örneği

<?php
$subject = array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha256') );
$public_key = openssl_csr_get_public_key($csr);
$info = openssl_pkey_get_details($public_key);
echo $info['key'];
?>

Ayrıca Bakınız

  • openssl_csr_get_subject() - Bir CSR'nin öznesini döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_pkey_get_details() - Anahtarla ilgili ayrıntıları bir dizi içinde döndürür
  • openssl_pkey_export_to_file() - Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder
  • openssl_pkey_export() - Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür


Bir CSR'nin öznesini döndürür

  • « openssl_csr_get_public_key
  • openssl_csr_new »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir CSR'nin öznesini döndürür

openssl_csr_get_subject

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_csr_get_subject — Bir CSR'nin öznesini döndürür

Açıklama

openssl_csr_get_subject(OpenSSLCertificateSigningRequest|string $csr, bool $kısa_ad = true): array|false

openssl_csr_get_subject() commonName (CN), organizationName (O), countryName (C) vb. alanlar dahil olmak üzere csr'de kodlanmış konu ayırt edici ad bilgilerini döndürür.

Bağımsız Değişkenler

csr

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

kısa_ad

kısa_ad verinin dizi içinde nasıl indisleneceğini belirler - kısa_ad true (öntanımlı) ise alanlar kısa isimlerle indislenir, aksi takdirde uzun isimler kullanılır. Örneğin, commonName için kısa isim CN'dir.

Dönen Değerler

Konuyu açıklayan ilişkisel bir dizi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | csr artık OpenSSLCertificateSigningRequest örneği kabul ediyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - openssl_csr_get_subject() örneği

<?php
$subject = array(
"countryName" => "CA",
"stateOrProvinceName" => "Alberta",
"localityName" => "Calgary",
"organizationName" => "XYZ Widgets Inc",
"organizationalUnitName" => "PHP Documentation Team",
"commonName" => "Wez Furlong",
"emailAddress" => "wez@example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$configargs = array(
'digest_alg' => 'sha512WithRSAEncryption'
);
$csr = openssl_csr_new($subject, $privkey, $configargs);
print_r(openssl_csr_get_subject($csr));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [C] => CA
    [ST] => Alberta
    [L] => Calgary
    [O] => XYZ Widgets Inc
    [OU] => PHP Documentation Team
    [CN] => Wez Furlong
    [emailAddress] => wez@example.com
)

Ayrıca Bakınız

  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_get_public_key() - Bir CSR'nin açık anahtarını döndürür
  • openssl_x509_parse() - Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür


Bir sertifika imzalama isteği (CSR) üretir

  • « openssl_csr_get_subject
  • openssl_csr_sign »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir sertifika imzalama isteği (CSR) üretir

openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_new — Bir sertifika imzalama isteği (CSR) üretir

Açıklama

openssl_csr_new(
array $ayırdedici_adlar,
OpenSSLAsymmetricKey &$gizli_anh,
?array $seçenekler = null,
?array $ek_seçenekler = null
): OpenSSLCertificateSigningRequest|false

ayırdedici_adlar ile sağlanan bilgilere dayalı olarak yeni bir sertifika imzalama isteği (CSR) üretir.

Bilginize: Bu işlevin gerektiği gibi çalışması için geçerli bir openssl.cnf kurulu olmalıdır. Daha ayrıntılı bilgi için kurulum bölümüne bakılabilir.

Bağımsız Değişkenler

ayırdedici_adlar

Sertifika için kullanılacak ayırt edilebilir isim veya konu alanları.

gizli_anh

openssl_pkey_new() (veya başka bir openssl_pkey işlevi) ile üretilmiş bir gizli anahtar. Anahtar çiftinin genel anahtar parçası CSR'yi imzalamakta kullanılır.

seçenekler

İsteği ilklendirmek için öntanımlı olarak sisteminizdeki openssl.conf kullanılır. seçenekler dizisinin config_section_section anahtarında başka bir yapılandırma dosyası bölümü belirtebileceğiniz gibi config anahtarında başka bir openssl yapılandırma dosyasının yolunu da belirtebilirsiniz. seçenekler dizisi aşağıdaki anahtarları içerebilir. Bu anahtarlar openssl.conf dosyasındaki eşdeğerleri gibi davranırlar.

Yapılandırma Geçersizleştiricileri
seçenekler anahtarı | Türü | openssl.conf eşdeğeri | Açıklama
digest_alg | string | default_md | Özet yöntemi veya imza aşı, genellikle openssl_get_md_methods() yöntemlerinden biridir.
x509_extensions | string | x509_extensions | Bir x509 sertifikası üretilirken kullanılacak eklentileri belirler.
req_extensions | string | req_extensions | Bir CSR üretilirken kullanılacak eklentileri belirler.
private_key_bits | int | default_bits | Bir gizli anahtarın kaç bitlik olacağını belirler.
private_key_type | int | none | Üretilecek gizli anahtarın türünü belirler. Şu sabitlerden biri olabilir: OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_RSA veya OPENSSL_KEYTYPE_EC. Öntanımlı değer OPENSSL_KEYTYPE_RSA'dır.
encrypt_key | bool | encrypt_key | İhraç edilecek anahtar (bir parola ile) şifrelenececek mi?
encrypt_key_cipher | int | none | şifreleme sabitlerinden biri.
curve_name | string | none | openssl_get_curve_names() adlarından biri.
config | string | N/A | Size özel openssl.conf dosyasının yolu.

ek_seçenekler

CSR için kullanılacak ek seçenekleri belirtmek için kullanılır. ayırdedici_adlar ve ek_seçenekler birer ilişkisel dizi olup anahtarları nesne kimliklerine (OID) dönüştürülerek isteğin ilgili parçasına uygulanır.

Dönen Değerler

Üretilen CSR, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık OpenSSLCertificateSigningRequest örneği dönüyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak dönerdi.
8.0.0 | gizli_anh artık OpenSSLAsymmetricKey örneği kabul ediyor; evvelce OpenSSL key türünde bir özkaynak kabul ederdi.
7.1.0 | seçenekler artık curve_name seçeneğini destekliyor.

Örnekler

Örnek 1 - Öz-imzalı sertifika üretimi

<?php
// SSL sertifikaları için commonName genellikle sertifikanın kullanılacağı
// alanın ismidir. Fakat S/MIME sertifikalar için commonName, eposta adresi/
// sahibinin ismidir. location ve identification alanları ise güvenceye konu
// alan veya eposta sahibinin ismini içerir.
$dn = array(
"countryName" => "GB",
"stateOrProvinceName" => "Somerset",
"localityName" => "Glastonbury",
"organizationName" => "The Brain Room Limited",
"organizationalUnitName" => "PHP Documentation Team",
"commonName" => "Wez Furlong",
"emailAddress" => "wez@example.com"
);

// Yeni bir gizli/genel anahtar çifti üretelim
$privkey = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));

// Bir sertifika imzalama isteği üretelim
$csr = openssl_csr_new($dn, $privkey, array('digest_alg' => 'sha256'));

// 365 günlük, öz-imzalı sertifika üretelim.
$x509 = openssl_csr_sign($csr, null, $privkey, $days=365, array('digest_alg' => 'sha256'));

// Öz-imzali sertifika, CSR ve gizli anahtarı ileride kullanım için saklayalım.
openssl_csr_export($csr, $csrout); var_dump($csrout);
openssl_x509_export($x509, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword"); var_dump($pkeyout);

// Oluşan hatalar varsa gösterelim
while (($e = openssl_error_string()) !== false) {
echo $e . "\n";
}
?>

Örnek 2 - Öz-imzalı ECC sertifikası oluşrurmak (PHP 7.1.0 ve üstü)

<?php
$subject = array(
"commonName" => "docs.php.net",
);

// Gizli/Genel Anahtar çiftini üretelim
$private_key = openssl_pkey_new(array(
"private_key_type" => OPENSSL_KEYTYPE_EC,
"curve_name" => 'prime256v1',
));

// Sertifika imzalama isteği (csr) üretelim
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha384'));

// Öz-imzalı EC setifikası üretelim
$x509 = openssl_csr_sign($csr, null, $private_key, $days=365, array('digest_alg' => 'sha384'));
openssl_x509_export_to_file($x509, 'ecc-cert.pem');
openssl_pkey_export_to_file($private_key, 'ecc-private.key');
?>

Ayrıca Bakınız

  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir

  • « openssl_csr_new
  • openssl_decrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir

openssl_csr_sign

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_csr_sign — Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir

Açıklama

openssl_csr_sign(
OpenSSLCertificateSigningRequest|string $csr,
OpenSSLCertificate|string|null $CA_sert,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anh,
int $gün,
?array $seçenekler = null,
int $sıranum = 0
): OpenSSLCertificate|false

csr ile belirtilen Sertifika İmzalama İsteğinden bir x509 sertifikesı üretir.

Bilginize: Bu işlevin gerektiği gibi çalışması için geçerli bir openssl.cnf kurulu olmalıdır. Daha ayrıntılı bilgi için kurulum bölümüne bakılabilir.

Bağımsız Değişkenler

csr

openssl_csr_new() tarafından üretilmiş bir sertifika imzalama isteği, file://bir/yol/csr biçeminde bir dizge olarak PEM kodlamalı bir CSR'nin dosya yolu veya openssl_csr_export() işlevinden dönen bir dizge olabilir.

CA_sert

Üretilen sertifikayı imzalamak için kullanılacak sertifika. null belirtilirse üretilen sertifika kendisiyle imzalanır.

gizli_anh

CA_sert ile ilişkili gizli anahtar.

gün

Üretilen sertifikanın kaç gün geçerli kalacağı belirtilir.

seçenekler

Üretilen sertifikanın ince ayarları için kullanılır. Bu bağımsız değişken ile ilgili ayrıntılı bilgi için openssl_csr_new() işlevine bakınız.

sıranum

Üretilen sertifikanın sıra numarası. Belirtilmezse 0 öntanımlıdır.

Dönen Değerler

İşlem başarısız olursa false yoksa bir OpenSSLCertificate örneği döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık OpenSSLCertificate örneği dönüyor; evvelce OpenSSL X.509 türünde bir özkaynak dönerdi.
8.0.0 | csr artık OpenSSLCertificateSigningRequest örneği kabul ediyor; evvelce OpenSSL X.509 CSR türünde bir özkaynak kabul ederdi.
8.0.0 | CA_sert artık OpenSSLCertificate örneği kabul ediyor; evvelce OpenSSL X.509 türünde bir özkaynak kabul ederdi.
8.0.0 | gizli_anh artık OpenSSLAsymmetricKey örneği kabul ediyor; evvelce OpenSSL key veya OpenSSL X.509 türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - openssl_csr_sign() örneği - PEM imzalama (Kendi Sertifika Yetkilinizi nasıl oluşturursunuz?)

<?php
// Başka bir sayfadaki bir textarea'ya aktarılmak üzere bir
// CSR alındığını varsayalım
$csrdata = $_POST["CSR"];

// Sertifikayı kendi "sertifika yetkilimizin sertifikası" ile
// imzalayacağız. İmzalamak için başka bir sertifika da kullanılabilirdi,
// fakat imzalama sertifikası yazılım/kulllanıcılar için güvenilir
// olmadıkça işlem işe yaramayacak ve yeni bir imzalı sertifika gerekecektir.

// Kendi CA sertifikamıza ve gizli anahtarımıza ihtiyacımız var
$cacert = "file://bir/yol/ca.crt";
$gizanh = array("file://bir/yol/ca.key", "gizanh_parolası");

$usercert = openssl_csr_sign($csrdata, $cacert, $privkey, 365, array('digest_alg'=>'sha256') );

// Üretilen sertifikayı gösterelim ki, kullanıcı onu kendi alanına
// kopyalayabilsin (örneğin SSL sunucusunun sertifikasının bulunduğu dosyaya)
openssl_x509_export($usercert, $certout);
echo $certout;

// Oluşan hata varsa gösterelim
while (($e = openssl_error_string()) !== false) {
echo $e . "\n";
}
?>


Verinin şifresini çözer

  • « openssl_csr_sign
  • openssl_dh_compute_key »
  • PHP Manual
  • OpenSSL İşlevleri
  • Verinin şifresini çözer

openssl_decrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_decrypt — Verinin şifresini çözer

Açıklama

openssl_decrypt(
string $veri,
string $yöntem,
string $parola,
int $seçenekler = 0,
string $iy = "",
?string $etiket = null,
string $kiml_kntlı_ek_veri = ""
): string|false

Bir ham veya base64 kodlu bir dizgeyi veri olarak alıp belirtilen yöntem ve parola'yı kullanarak verinin şifresini çözer.

Bağımsız Değişkenler

veri

Şifresi çözülecek veri.

yöntem

Şifreleme yöntemi. Kullanılabilir şifreleme yöntemleri için openssl_get_cipher_methods() işlevine bakılabilir.

parola

Anahtar.

seçenekler

OPENSSL_RAW_DATA, OPENSSL_ZERO_PADDING sabitlerinin bitsel birleşimi.

iy

null olmayan bir ilklendirme yöneyi.

etiket

AEAD şifreleme kipinde kimlik kanıtlama etiketi. Yanlışsa, kimlik kanıtlama başarısız olur ve işlev false döndürür.

Dikkat

İşlev etiket uzunluğuna bakmaz. openssl_encrypt() çağrıldığında alınan etiket uzunluğu ile eşleşmesini sağlamak işlevi çağıranın sorumluluğundadır. Aksi takdirde, belirtilen etiket sadece uygun etiketin başlangıcıyla eşleşirse şifre çözme başarılı olabilir.

kiml_kntlı_ek_veri

Kimlik kanıtlamasından geçmiş ek veri.

Dönen Değerler

İşlem başarısız olursa false yoksa şifresi çözülmüş veriyi bir dizge olarak döndürür.

Hatalar/İstisnalar

yöntem bağımsız değişkeni ile bilinmeyen bir şifreleme algoritması belirtilmişse E_WARNING seviyesinde bir hata oluşur.

iy bağımsız değişkeni üzerinden boş bir dizge aktarılırsa E_WARNING seviyesinde bir hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | etiket artık null olabiliyor.
7.1.0 | etiket ve ek_kiml_knt_verisi bağımsız değişkenleri eklendi.

Ayrıca Bakınız

  • openssl_encrypt() - Veriyi şifreler


Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar

  • « openssl_decrypt
  • openssl_digest »
  • PHP Manual
  • OpenSSL İşlevleri
  • Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar

openssl_dh_compute_key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_dh_compute_key — Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar

Açıklama

openssl_dh_compute_key(string $genel_anh, OpenSSLAsymmetricKey $gizli_anh): string|false

openssl_dh_compute_key() tarafından döndürülen paylaşımlı giz, genellikle uzaktaki bir tarafla gizlice iletişim kurmak için bir şifreleme anahtarı olarak kullanılır. Bu, Diffie-Hellman anahtar değişimi olarak bilinir.

Bilginize: ECDH sadece PHP 8.1.0 ve OpenSSL 3.0.0 itibariyle desteklenmektedir.

Bağımsız Değişkenler

genel_anh

Uzak tarafın DH Genel anahtarı.

gizli_anh

Yerel DH Gizli anahtarı, uzak tarafla paylaşılacak Genel anahtara karşılık gelir.

Dönen Değerler

İşlem başarısız olursa false yoksa paylaşımlı giz döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | gizli_anh artık OpenSSLAsymmetricKey örneği kabul ediyor; evvelce OpenSSL key türünde bir özkaynak kabul ederdi.

Örnekler

Örnek 1 - Paylaşımlı gizi hesaplamak

Önce yerel olarak bir genel/gizli DH anahtar çifti oluşturulur ve uzak tarafın da aynısını yapmasını sağlanır. Bunun için openssl komut satırı uygulamasını kullanmak gerekiyor.

# genel/gizli DH anahtar çifti üret
openssl dhparam -out dhparam.pem 2048
openssl genpkey -paramfile dhparam.pem -out privatekey.pem

# sadece genel anahtarı çıktıla
openssl pkey -in privatekey.pem -pubout -out publickey.pem

Sonra, genel anahtarın karşı tarafa gönderilmesi gerekir. Uzak tarafın gönderdiği genel anahtarı görmek için openssl pkey komutu kullanılır.

openssl pkey -pubin -in remotepublickey.pem -text -noout

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PKCS#3 DH Public-Key: (2048 bit)
    public-key:
        67:e5:e5:fa:e0:7b:0f:96:2c:dc:96:44:5f:50:02:
        9e:8d:c2:6c:04:68:b0:d1:1d:75:66:fc:63:f5:e3:
        42:30:b8:96:c1:45:cc:08:60:b4:21:3b:dd:ee:66:
        88:db:77:d9:1e:11:89:d4:5c:f2:7a:f2:f1:fe:1c:
        77:9d:6f:13:b8:b2:56:00:ef:cb:3b:60:79:74:02:
        98:f5:f9:8e:3e:b5:62:08:de:ca:8c:c3:40:4a:80:
        79:d5:43:06:17:a8:19:56:af:cc:95:5e:e2:32:2d:
        d2:14:7b:76:5a:9a:f1:3c:76:76:35:cc:7b:c1:a5:
        f4:39:e5:b6:ca:71:3f:7c:3f:97:e5:ab:86:c1:cd:
        0e:e6:ee:04:c9:e6:2d:80:7e:59:c0:49:eb:b6:64:
        4f:a8:f9:bb:a3:87:b3:3d:76:01:9e:2b:16:94:a4:
        37:30:fb:35:e2:63:be:23:90:b9:ef:3f:46:46:04:
        94:8f:60:79:7a:51:55:d6:1a:1d:f5:d9:7f:4a:3e:
        aa:ac:b0:d0:82:cc:c2:e0:94:e0:54:c1:17:83:0b:
        74:08:4d:5a:79:ae:ff:7f:1c:04:ab:23:39:4a:ae:
        87:83:55:43:ab:7a:7c:04:9d:20:80:bb:af:5f:16:
        a3:e3:20:b9:21:47:8c:f8:7f:a8:60:80:9e:61:77:
        36
 [...kısaltıldı...]

Paylaşımlı gizi hesaplamak için genel anahtar openssl_dh_compute_key() işlevinde bağımsız değişken olarak kullanılır.

<?php
$remote_public_key = '67e5e5fae07b0f962cdc96445f50029e8dc26c0468b0d11d7566fc63f5e34230b896c145cc0860b4213bddee6688db77d91e1189d45cf27af2f1fe1c779d6f13b8b25600efcb3b6079740298f5f98e3eb56208deca8cc3404a8079d5430617a81956afcc955ee2322dd2147b765a9af13c767635cc7bc1a5f439e5b6ca713f7c3f97e5ab86c1cd0ee6ee04c9e62d807e59c049ebb6644fa8f9bba387b33d76019e2b1694a43730fb35e263be2390b9ef3f464604948f60797a5155d61a1df5d97f4a3eaaacb0d082ccc2e094e054c117830b74084d5a79aeff7f1c04ab23394aae87835543ab7a7c049d2080bbaf5f16a3e320b921478cf87fa860809e617736';

$local_priv_key = openssl_pkey_get_private('file://privatekey.pem');

$paylaşımlı_giz = openssl_dh_compute_key(hex2bin($remote_public_key), $local_priv_key);
echo bin2hex($paylaşımlı_giz)."\n";
?>

Örnek 2 - DH genel/gizli anahtar çiftinin PHP ile üretilmesi

Önce DH başat sayısını üret

openssl dhparam -out dhparam.pem 2048
openssl dh -in dhparam.pem -noout  -text

Yukarıdaki örnek şuna benzer bir çıktı üretir:

    PKCS#3 DH Parameters: (2048 bit)
        prime:
            00:a3:25:1e:73:3f:44:b9:2b:ee:f4:9d:9f:37:6a:
            4b:fd:1d:bd:f4:af:da:c8:10:77:59:41:c6:5f:73:
            d2:88:29:39:cd:1c:5f:c3:9f:0f:22:d2:9c:20:c1:
            e4:c0:18:03:b8:b6:d8:da:ad:3b:39:a6:da:8e:fe:
            12:30:e9:03:5d:22:ba:ef:18:d2:7b:69:f9:5b:cb:
            78:c6:0c:8c:6b:f2:49:92:c2:49:e0:45:77:72:b3:
            55:36:30:f2:40:17:89:18:50:03:fa:2d:54:7a:7f:
            34:4c:73:32:b6:88:14:51:14:be:80:57:95:e6:a3:
            f6:51:ff:17:47:4f:15:d6:0e:6c:47:53:72:2c:2a:
            4c:21:cb:7d:f3:49:97:c9:47:5e:40:33:7b:99:52:
            7e:7a:f3:52:27:80:de:1b:26:6b:40:bb:14:11:0b:
            fb:e6:d8:2f:cf:a0:06:2f:96:b9:1c:0b:b4:cb:d3:
            a6:62:9c:48:67:f6:81:f2:c6:ff:45:03:0a:9d:67:
            9d:ce:27:d9:6b:48:5d:ca:fb:c2:5d:84:9b:8b:cb:
            40:c7:a4:0c:8a:6e:f4:ab:ba:b6:10:c3:b8:25:4d:
            cf:60:96:f4:db:e8:00:1c:58:47:7a:fb:51:86:d1:
            22:d7:4e:94:31:7a:d5:da:3d:53:de:da:bb:64:8d:
            62:6b
        generator: 2 (0x2)

Başat ve üreteç değerleri openssl_pkey_new() işlevine p ve g bağımsız değişkenleri olarak aktarılıyor.

<?php
$configargs = array();
$configargs['p'] = hex2bin('00a3251e733f44b92beef49d9f376a4bfd1dbdf4afdac810775941c65f73d2882939cd1c5fc39f0f22d29c20c1e4c01803b8b6d8daad3b39a6da8efe1230e9035d22baef18d27b69f95bcb78c60c8c6bf24992c249e0457772b3553630f2401789185003fa2d547a7f344c7332b688145114be805795e6a3f651ff17474f15d60e6c4753722c2a4c21cb7df34997c9475e40337b99527e7af3522780de1b266b40bb14110bfbe6d82fcfa0062f96b91c0bb4cbd3a6629c4867f681f2c6ff45030a9d679dce27d96b485dcafbc25d849b8bcb40c7a40c8a6ef4abbab610c3b8254dcf6096f4dbe8001c58477afb5186d122d74e94317ad5da3d53dedabb648d626b');
$configargs['g'] = hex2bin('02');
$private_key = openssl_pkey_new(array('dh' => $configargs));
openssl_pkey_export_to_file($private_key,'privatekey.pem',$passphrase='y0urp@s5phr@se');

$details = openssl_pkey_get_details($private_key);
$local_pub_key = $details['dh']['pub_key'];
echo bin2hex($local_pub_key)."\n";//you can send your public key to the remote party

$details = openssl_pkey_get_details(openssl_pkey_get_public("file://remotepublickey.pem"));
$remote_public_key = $details['dh']['pub_key'];
$paylaşımlı_giz = openssl_dh_compute_key($remote_public_key, $private_key);
echo bin2hex($paylaşımlı_giz)."\n";
?>

Ayrıca Bakınız

  • openssl_pkey_new() - Yeni bir gizli anahtar üretir
  • openssl_pkey_get_details() - Anahtarla ilgili ayrıntıları bir dizi içinde döndürür
  • openssl_pkey_get_private() - Gizli anahtarı döndürür
  • openssl_pkey_get_public() - Genel anahtarı sertifikadan elde edip kullanıma hazırlar


Bir özet hesaplar

  • « openssl_dh_compute_key
  • openssl_encrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir özet hesaplar

openssl_digest

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_digest — Bir özet hesaplar

Açıklama

openssl_digest(string $veri, string $yöntem, bool $ikil = false): string|false

Belirtilen verinin belirtilen yöntemle özetini çıkarıp ikil veya onaltılık kodlanmış bir dizge olarak döndürür.

Bağımsız Değişkenler

veri

Özeti hesaplanacak veri.

yöntem

"sha256" gibi bir özet yöntemi. Özet yöntemlerinin listesi için bkz: openssl_get_md_methods()

ikil

Çıktı ikil dizge olacaksa true, onaltılık dizge olacaksa false olmalıdır.

Dönen Değerler

İşlem başarısız olursa false yoksa özet dizgesi döner.

Hatalar/İstisnalar

yöntem bağımsız değişkeni ile bilinmeyen bir imza algoritması belirtilmişse E_WARNING seviyesinde bir hata oluşur.

Ayrıca Bakınız

  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür


Veriyi şifreler

  • « openssl_digest
  • openssl_error_string »
  • PHP Manual
  • OpenSSL İşlevleri
  • Veriyi şifreler

openssl_encrypt

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_encrypt — Veriyi şifreler

Açıklama

openssl_encrypt(
string $veri,
string $yöntem,
string $parola,
int $seçenekler = 0,
string $iy = "",
string &$etiket = null,
string $kiml_kntlı_ek_veri = "",
int $etiket_uzunluğu = 16
): string|false

Belirtilen veri'yi belirtilen yöntem ve parola ile şifreler ve bir base64 kodlu dizge olarak veya ham bir dizge olarak döndürür.

Bağımsız Değişkenler

veri

Şifrelenecek düz metin ileti verisi.

yöntem

Şifreleme yöntemi. Şifreleme yöntemlerinin listesi için bkz: openssl_get_cipher_methods()

parola

Parola. Beklenenden kısaysa null ile dolgu yapılır, uzunsa kırpılır ve bunun için bir uyarı verilmez.

seçenekler

OPENSSL_RAW_DATA ve OPENSSL_ZERO_PADDING sabitlerinin bitsel birleşimi.

iy

null olmayan bir ilklendirme yöneyi.

etiket

AEAD şifreleme kipi (GCM veya CCM) kullanıldığında gönderimli aktarılan kimlik kanıtlama etiketi.

kiml_kntlı_ek_veri

Kimlik kanıtlamasından geçmiş ek veri

etiket_uzunluğu

Kimlik kanıtlama etiketinin uzunluğu. GCM kipinde değer 4-16 arasında olabilir.

Dönen Değerler

İşlem başarısız olursa false yoksa şifrelenmiş veri dizgesi döner.

Hatalar/İstisnalar

yöntem bağımsız değişkeni ile bilinmeyen bir şifreleme algoritması belirtilmişse E_WARNING seviyesinde bir hata oluşur.

iy bağımsız değişkeni üzerinden boş bir dizge aktarılırsa E_WARNING seviyesinde bir hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | etiket, ek_kiml_knt_verisi ve etiket_uzunluğu bağımsız değişkenleri eklendi.

Örnekler

Örnek 1 - PHP 7.1+ için GCM kipinde AES Kimlik Kanıtlamalı Şifreleme örneği

<?php
// $key, daha önce openssl_random_pseudo_bytes gibi kriptografik olarak
// güvenilir bir yolla oluşturulmuş olmalıdır.
$plaintext = "şifrelenecek ileti";
$cipher = "aes-128-gcm";
if (in_array($cipher, openssl_get_cipher_methods()))
{
$ivlen = openssl_cipher_iv_length($cipher);
$iv = openssl_random_pseudo_bytes($ivlen);
$ciphertext = openssl_encrypt($plaintext, $cipher, $key, $options=0, $iv, $tag);
// Şifreyi daha sonra çözmek için $cipher, $iv ve $tag saklanacak
$original_plaintext = openssl_decrypt($ciphertext, $cipher, $key, $options=0, $iv, $tag);
echo $original_plaintext."\n";
}
?>

Örnek 2 - PHP 7.1 öncesi için GCM kipinde AES Kimlik Kanıtlamalı Şifreleme örneği

<?php
//$key evvelce openssl_random_pseudo_bytes gibi güvenli bir yolla üretilmiş olmalı
$plaintext = "şifrelenecek ileti";
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = openssl_random_pseudo_bytes($ivlen);
$ciphertext_raw = openssl_encrypt($plaintext, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
$ciphertext = base64_encode( $iv.$hmac.$ciphertext_raw );

// daha sonra şifreyi çözmek için....
$c = base64_decode($ciphertext);
$ivlen = openssl_cipher_iv_length($cipher="AES-128-CBC");
$iv = substr($c, 0, $ivlen);
$hmac = substr($c, $ivlen, $sha2len=32);
$ciphertext_raw = substr($c, $ivlen+$sha2len);
$original_plaintext = openssl_decrypt($ciphertext_raw, $cipher, $key, $options=OPENSSL_RAW_DATA, $iv);
$calcmac = hash_hmac('sha256', $ciphertext_raw, $key, $as_binary=true);
if (hash_equals($hmac, $calcmac))// timing attack safe comparison
{
echo $original_plaintext."\n";
}
?>

Ayrıca Bakınız

  • openssl_decrypt() - Verinin şifresini çözer


OpenSSL hata iletisini döndürür

  • « openssl_encrypt
  • openssl_free_key »
  • PHP Manual
  • OpenSSL İşlevleri
  • OpenSSL hata iletisini döndürür

openssl_error_string

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_error_string — OpenSSL hata iletisini döndürür

Açıklama

openssl_error_string(): string|false

OpenSSL kütüphanesinde son oluşan hatanın iletisini döndürür. Hata iletileri bir yığına atılır, dolayısıyla tüm hata iletilerini toplamak için bu işlevin defalarca çağrılması gerekir. Son hata ilk alınan olur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Döndürülecek hata iletisi kalmamışsa false, varsa bir hata dizgesi döndürür.

Örnekler

Örnek 1 - openssl_error_string() örneği

<?php
// Bazı openssl işlevlerinin başarısız olduğunu varsayalım
while ($msg = openssl_error_string())
echo $msg . "<br />\n";
?>


Anahtar özkaynağını serbest bırakır

  • « openssl_error_string
  • openssl_get_cert_locations »
  • PHP Manual
  • OpenSSL İşlevleri
  • Anahtar özkaynağını serbest bırakır

openssl_free_key

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_free_key — Anahtar özkaynağını serbest bırakır

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

openssl_free_key(OpenSSLAsymmetricKey $anahtar): void

anahtar kimlikli anahtar için ayrılan belleği serbest bırakır.

Bağımsız Değişkenler

anahtar

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bir etkisi kalmadığından bu işlevin kullanımı önerilmiyor.
8.0.0 | anahtar artık OpenSSLAsymmetricKey nesnesi kabul ediyor; evvelce, OpenSSL key türünde bir özkaynak kabul edilirdi.


Retrieve the available certificate locations

  • « openssl_free_key
  • openssl_get_cipher_methods »
  • PHP Manual
  • OpenSSL İşlevleri
  • Retrieve the available certificate locations

openssl_get_cert_locations

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_get_cert_locations — Retrieve the available certificate locations

Açıklama

openssl_get_cert_locations(): array

openssl_get_cert_locations() returns an array with information about the available certificate locations that will be searched for SSL certificates.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the available certificate locations.

Örnekler

Örnek 1 openssl_get_cert_locations() example

<?php
var_dump(openssl_get_cert_locations());
?>

Yukarıdaki örneğin çıktısı:

array(8) {
  ["default_cert_file"]=>
  string(21) "/usr/lib/ssl/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/usr/lib/ssl/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/usr/lib/ssl/private"
  ["default_default_cert_area"]=>
  string(12) "/usr/lib/ssl"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}


Kullanılabilecek şifreleme yöntemlerini döndürür

  • « openssl_get_cert_locations
  • openssl_get_curve_names »
  • PHP Manual
  • OpenSSL İşlevleri
  • Kullanılabilecek şifreleme yöntemlerini döndürür

openssl_get_cipher_methods

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_get_cipher_methods — Kullanılabilecek şifreleme yöntemlerini döndürür

Açıklama

openssl_get_cipher_methods(bool $rumuzlar = false): array

Kullanılabilecek şifreleme yöntemlerini döndürür.

Bağımsız Değişkenler

rumuzlar

Şifre rumuzları dönen diziye dahil edilecekse true olmalıdır.

Dönen Değerler

OpenSSL 1.1.1 öncesinde şifreleme yöntemlerini içeren dizi büyük ve küçük harfli olabiliyordu. OpenSSL 1.1.1 ve sonrasında sadece küçük harfli dizgeler dönüyor.

Örnekler

Örnek 1 - openssl_get_cipher_methods() örneği

Kullanılabilecek şifreleme yöntemlerini ve varsa rumuzlarını listeler.

<?php
$şifreler = openssl_get_cipher_methods();
$şifreler_ve_rumuzlar = openssl_get_cipher_methods(true);
$rumuzlar = array_diff($şifreler_ve_rumuzlar, $şifreler);

//ECB kipinden kaçınılmalı
$şifreler = array_filter( $ciphers, function($n) { return stripos($n,"ecb")===FALSE; } );

//Aug 2016'ya kadar, Openssl için zayıf olanlar: RC2, RC4, DES, 3DES, MD5 tabanlı
$şifreler = array_filter( $şifreler, function($c) { return stripos($c,"des")===FALSE; } );
$şifreler = array_filter( $şifreler, function($c) { return stripos($c,"rc2")===FALSE; } );
$şifreler = array_filter( $şifreler, function($c) { return stripos($c,"rc4")===FALSE; } );
$şifreler = array_filter( $şifreler, function($c) { return stripos($c,"md5")===FALSE; } );
$rumuzlar = array_filter($rumuzlar,function($c) { return stripos($c,"des")===FALSE; } );
$rumuzlar = array_filter($rumuzlar,function($c) { return stripos($c,"rc2")===FALSE; } );

print_r($şifreler);
print_r($rumuzlar);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => aes-128-cbc
    [1] => aes-128-cbc-hmac-sha1
    [2] => aes-128-cbc-hmac-sha256
    [3] => aes-128-ccm
    [4] => aes-128-cfb
    [5] => aes-128-cfb1
    [6] => aes-128-cfb8
    [7] => aes-128-ctr
    [9] => aes-128-gcm
    [10] => aes-128-ocb
    [11] => aes-128-ofb
    [12] => aes-128-xts
    [13] => aes-192-cbc
    [14] => aes-192-ccm
    [15] => aes-192-cfb
    [16] => aes-192-cfb1
    [17] => aes-192-cfb8
    [18] => aes-192-ctr
    [20] => aes-192-gcm
    [21] => aes-192-ocb
    [22] => aes-192-ofb
    [23] => aes-256-cbc
    [24] => aes-256-cbc-hmac-sha1
    [25] => aes-256-cbc-hmac-sha256
    [26] => aes-256-ccm
    [27] => aes-256-cfb
    [28] => aes-256-cfb1
    [29] => aes-256-cfb8
    [30] => aes-256-ctr
    [32] => aes-256-gcm
    [33] => aes-256-ocb
    [34] => aes-256-ofb
    [35] => aes-256-xts
    [36] => aria-128-cbc
    [37] => aria-128-ccm
    [38] => aria-128-cfb
    [39] => aria-128-cfb1
    [40] => aria-128-cfb8
    [41] => aria-128-ctr
    [43] => aria-128-gcm
    [44] => aria-128-ofb
    [45] => aria-192-cbc
    [46] => aria-192-ccm
    [47] => aria-192-cfb
    [48] => aria-192-cfb1
    [49] => aria-192-cfb8
    [50] => aria-192-ctr
    [52] => aria-192-gcm
    [53] => aria-192-ofb
    [54] => aria-256-cbc
    [55] => aria-256-ccm
    [56] => aria-256-cfb
    [57] => aria-256-cfb1
    [58] => aria-256-cfb8
    [59] => aria-256-ctr
    [61] => aria-256-gcm
    [62] => aria-256-ofb
    [63] => bf-cbc
    [64] => bf-cfb
    [66] => bf-ofb
    [67] => camellia-128-cbc
    [68] => camellia-128-cfb
    [69] => camellia-128-cfb1
    [70] => camellia-128-cfb8
    [71] => camellia-128-ctr
    [73] => camellia-128-ofb
    [74] => camellia-192-cbc
    [75] => camellia-192-cfb
    [76] => camellia-192-cfb1
    [77] => camellia-192-cfb8
    [78] => camellia-192-ctr
    [80] => camellia-192-ofb
    [81] => camellia-256-cbc
    [82] => camellia-256-cfb
    [83] => camellia-256-cfb1
    [84] => camellia-256-cfb8
    [85] => camellia-256-ctr
    [87] => camellia-256-ofb
    [88] => cast5-cbc
    [89] => cast5-cfb
    [91] => cast5-ofb
    [92] => chacha20
    [93] => chacha20-poly1305
    [111] => id-aes128-CCM
    [112] => id-aes128-GCM
    [113] => id-aes128-wrap
    [114] => id-aes128-wrap-pad
    [115] => id-aes192-CCM
    [116] => id-aes192-GCM
    [117] => id-aes192-wrap
    [118] => id-aes192-wrap-pad
    [119] => id-aes256-CCM
    [120] => id-aes256-GCM
    [121] => id-aes256-wrap
    [122] => id-aes256-wrap-pad
    [124] => idea-cbc
    [125] => idea-cfb
    [127] => idea-ofb
    [137] => seed-cbc
    [138] => seed-cfb
    [140] => seed-ofb
    [141] => sm4-cbc
    [142] => sm4-cfb
    [143] => sm4-ctr
    [145] => sm4-ofb
)
Array
(
    [36] => aes128
    [37] => aes128-wrap
    [38] => aes192
    [39] => aes192-wrap
    [40] => aes256
    [41] => aes256-wrap
    [69] => aria128
    [70] => aria192
    [71] => aria256
    [72] => bf
    [77] => blowfish
    [99] => camellia128
    [100] => camellia192
    [101] => camellia256
    [102] => cast
    [103] => cast-cbc
    [146] => idea
    [164] => seed
    [169] => sm4
)

Ayrıca Bakınız

  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür


Gets list of available curve names for ECC

  • « openssl_get_cipher_methods
  • openssl_get_md_methods »
  • PHP Manual
  • OpenSSL İşlevleri
  • Gets list of available curve names for ECC

openssl_get_curve_names

(PHP 7 >= 7.1.0, PHP 8)

openssl_get_curve_names — Gets list of available curve names for ECC

Açıklama

openssl_get_curve_names(): array|false

Gets the list of available curve names for use in Elliptic curve cryptography (ECC) for public/private key operations. The two most widely standardized/supported curves are prime256v1 (NIST P-256) and secp384r1 (NIST P-384).

Approximate Equivalancies of AES, RSA, DSA and ECC Keysizes
AES Symmetric Keysize (Bits) | RSA and DSA Keysize (Bits) | ECC Keysize (Bits)
80 | 1024 | 160
112 | 2048 | 224
128 | 3072 | 256
192 | 7680 | 384
256 | 15360 | 512
» NIST recommends using ECC curves with at least 256 bits.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of available curve names, başarısızlık durumunda false döner.

Örnekler

Örnek 1 openssl_get_curve_names() example

<?php
$curve_names = openssl_get_curve_names();
print_r($curve_names);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => secp112r1
    [1] => secp112r2
    [2] => secp128r1
    [3] => secp128r2
    [4] => secp160k1
    [5] => secp160r1
    [6] => secp160r2
    [7] => secp192k1
    [8] => secp224k1
    [9] => secp224r1
    [10] => secp256k1
    [11] => secp384r1
    [12] => secp521r1
    [13] => prime192v1
    [14] => prime192v2
    [15] => prime192v3
    [16] => prime239v1
    [17] => prime239v2
    [18] => prime239v3
    [19] => prime256v1
    [20] => sect113r1
    [21] => sect113r2
    [22] => sect131r1
    [23] => sect131r2
    [24] => sect163k1
    [25] => sect163r1
    [26] => sect163r2
    [27] => sect193r1
    [28] => sect193r2
    [29] => sect233k1
    [30] => sect233r1
    [31] => sect239k1
    [32] => sect283k1
    [33] => sect283r1
    [34] => sect409k1
    [35] => sect409r1
    [36] => sect571k1
    [37] => sect571r1
    [38] => c2pnb163v1
    [39] => c2pnb163v2
    [40] => c2pnb163v3
    [41] => c2pnb176v1
    [42] => c2tnb191v1
    [43] => c2tnb191v2
    [44] => c2tnb191v3
    [45] => c2pnb208w1
    [46] => c2tnb239v1
    [47] => c2tnb239v2
    [48] => c2tnb239v3
    [49] => c2pnb272w1
    [50] => c2pnb304w1
    [51] => c2tnb359v1
    [52] => c2pnb368w1
    [53] => c2tnb431r1
    [54] => wap-wsg-idm-ecid-wtls1
    [55] => wap-wsg-idm-ecid-wtls3
    [56] => wap-wsg-idm-ecid-wtls4
    [57] => wap-wsg-idm-ecid-wtls5
    [58] => wap-wsg-idm-ecid-wtls6
    [59] => wap-wsg-idm-ecid-wtls7
    [60] => wap-wsg-idm-ecid-wtls8
    [61] => wap-wsg-idm-ecid-wtls9
    [62] => wap-wsg-idm-ecid-wtls10
    [63] => wap-wsg-idm-ecid-wtls11
    [64] => wap-wsg-idm-ecid-wtls12
    [65] => Oakley-EC2N-3
    [66] => Oakley-EC2N-4
    [67] => brainpoolP160r1
    [68] => brainpoolP160t1
    [69] => brainpoolP192r1
    [70] => brainpoolP192t1
    [71] => brainpoolP224r1
    [72] => brainpoolP224t1
    [73] => brainpoolP256r1
    [74] => brainpoolP256t1
    [75] => brainpoolP320r1
    [76] => brainpoolP320t1
    [77] => brainpoolP384r1
    [78] => brainpoolP384t1
    [79] => brainpoolP512r1
    [80] => brainpoolP512t1
)


Kullanılabilecek özet yöntemlerini döndürür

  • « openssl_get_curve_names
  • openssl_get_privatekey »
  • PHP Manual
  • OpenSSL İşlevleri
  • Kullanılabilecek özet yöntemlerini döndürür

openssl_get_md_methods

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_get_md_methods — Kullanılabilecek özet yöntemlerini döndürür

Açıklama

openssl_get_md_methods(bool $rumuzlar = false): array

Kullanılabilecek özet yöntemlerini döndürür.

Bağımsız Değişkenler

rumuzlar

Özet rumuzları dönen diziye dahil edilecekse true olmalıdır.

Dönen Değerler

Kullanılabilecek özet yöntemlerini içeren bir dizi.

Örnekler

Örnek 1 - openssl_get_md_methods() örneği

Kullanılabilecek özet yöntemlerini ve varsa rumuzlarını listeler.

<?php
$yontemler = openssl_get_md_methods();
$yontemler_ve_rumuzlar = openssl_get_md_methods(true);
$rumuzlar = array_diff($yontemler_ve_rumuzlar, $yontemler);

print_r($yontemler);

print_r($rumuzlar);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => DSA
    [1] => DSA-SHA
    [2] => MD2
    [3] => MD4
    [4] => MD5
    [5] => RIPEMD160
    [6] => SHA
    [7] => SHA1
    [8] => SHA224
    [9] => SHA256
    [10] => SHA384
    [11] => SHA512
    [12] => dsaEncryption
    [13] => dsaWithSHA
    [14] => ecdsa-with-SHA1
    [15] => md2
    [16] => md4
    [17] => md5
    [18] => ripemd160
    [19] => sha
    [20] => sha1
    [21] => sha224
    [22] => sha256
    [23] => sha384
    [24] => sha512
)
Array
(
    [2] => DSA-SHA1
    [3] => DSA-SHA1-old
    [4] => DSS1
    [9] => RSA-MD2
    [10] => RSA-MD4
    [11] => RSA-MD5
    [12] => RSA-RIPEMD160
    [13] => RSA-SHA
    [14] => RSA-SHA1
    [15] => RSA-SHA1-2
    [16] => RSA-SHA224
    [17] => RSA-SHA256
    [18] => RSA-SHA384
    [19] => RSA-SHA512
    [28] => dsaWithSHA1
    [29] => dss1
    [32] => md2WithRSAEncryption
    [34] => md4WithRSAEncryption
    [36] => md5WithRSAEncryption
    [37] => ripemd
    [39] => ripemd160WithRSA
    [40] => rmd160
    [43] => sha1WithRSAEncryption
    [45] => sha224WithRSAEncryption
    [47] => sha256WithRSAEncryption
    [49] => sha384WithRSAEncryption
    [51] => sha512WithRSAEncryption
    [52] => shaWithRSAEncryption
    [53] => ssl2-md5
    [54] => ssl3-md5
    [55] => ssl3-sha1
)

Ayrıca Bakınız

  • openssl_digest() - Bir özet hesaplar
  • openssl_get_cipher_methods() - Kullanılabilecek şifreleme yöntemlerini döndürür


openssl_pkey_get_private işlevinin takma adıdır

  • « openssl_get_md_methods
  • openssl_get_publickey »
  • PHP Manual
  • OpenSSL İşlevleri
  • openssl_pkey_get_private işlevinin takma adıdır

openssl_get_privatekey

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_get_privatekey — openssl_pkey_get_private() işlevinin takma adıdır

Açıklama

Bu işlev, openssl_pkey_get_private() işlevinin takma adıdır.


openssl_pkey_get_public işlevinin takma adıdır

  • « openssl_get_privatekey
  • openssl_open »
  • PHP Manual
  • OpenSSL İşlevleri
  • openssl_pkey_get_public işlevinin takma adıdır

openssl_get_publickey

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_get_publickey — openssl_pkey_get_public() işlevinin takma adıdır

Açıklama

Bu işlev, openssl_pkey_get_public() işlevinin takma adıdır.


Mühürlü veriyi açar

  • « openssl_get_publickey
  • openssl_pbkdf2 »
  • PHP Manual
  • OpenSSL İşlevleri
  • Mühürlü veriyi açar

openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_open — Mühürlü veriyi açar

Açıklama

openssl_open(
string $veri,
string &$çıktı,
string $zarf_anahtarı,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
string $algoritma,
?string $ilklendirme_yöneyi = null
): bool

gizli_anahtar ile ilgili gizli anahtar ve zarf_anahtarı kullanılarak veri'nin mühürü ve şifresi çözüldükten sonra çıktı bağımsız değişkenine konur. zarf_anahtarı veri mühürlenirken üretilir ve sadece belli bir gizli anahtarla birlikte kullanılabilir. Daha fazla bilgi için openssl_seal() işlevine bakınız.

Bağımsız Değişkenler

veri

çıktı

İşlem başarılı olursa çözümlenen veri bu bağımsız değişkene konur.

zarf_anahtarı

gizli_anahtar

algoritma

Şifreleme yöntemi.

Dikkat

Öntanımlı değerin ('RC4') güvensiz olduğu varsayılır. Burada güvenli bir şifreleme yöntemi belirtmelisiniz.

ilklendirme_yöneyi

İlklendirme yöneyi

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 CSR özkaynağı kabul edilirdi.
8.0.0 | algoritma artık seçimlik değil.

Örnekler

Örnek 1 - openssl_open() örneği

<?php
// $mühürlü ve $mühür değişkenlerinin zarfı mühürleyen tarafından
// gönderilen mühürlü veriyi ve zarf anahtarını içerdiği varsayılıyor

// Gizli anahtarı dosyadan okuyalım ve hazırlayalım
$dt = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$gizanh = fread($dt, 8192);
fclose($dt);
$gizankim = openssl_get_privatekey($gizanh);

// Şifreyi çözüp veriyi $veri'ye saklayalım
if (openssl_open($mühürlü, $veri, $mühür, $gizankim)) {
echo "Zarftaki veri: ", $veri;
} else {
echo "Zarfın mühürü açılamadı";
}

// Gizli anahtara ayrılan belleği serbest bırakalım
openssl_free_key($gizankim);
?>

Ayrıca Bakınız

  • openssl_seal() - Veriyi mühürler (şifreler)


Generates a PKCS5 v2 PBKDF2 string

  • « openssl_open
  • openssl_pkcs12_export_to_file »
  • PHP Manual
  • OpenSSL İşlevleri
  • Generates a PKCS5 v2 PBKDF2 string

openssl_pbkdf2

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

openssl_pbkdf2 — Generates a PKCS5 v2 PBKDF2 string

Açıklama

openssl_pbkdf2(
string $password,
string $salt,
int $key_length,
int $iterations,
string $digest_algo = "sha1"
): string|false

openssl_pbkdf2() computes PBKDF2 (Password-Based Key Derivation Function 2), a key derivation function defined in PKCS5 v2.

Bağımsız Değişkenler

password

Password from which the derived key is generated.

salt

PBKDF2 recommends a crytographic salt of at least 64 bits (8 bytes).

key_length

Length of desired output key.

iterations

The number of iterations desired. » NIST recommends at least 10,000.

digest_algo

Optional hash or digest algorithm from openssl_get_md_methods(). Defaults to SHA-1.

Dönen Değerler

Returns raw binary string başarısızlık durumunda false döner.

Örnekler

Örnek 1 openssl_pbkdf2() example

<?php
$password = 'password';
$salt = openssl_random_pseudo_bytes(16);
$keyLength = 20;
$iterations = 600000;
$generated_key = openssl_pbkdf2($password, $salt, $keyLength, $iterations, 'sha256');
echo bin2hex($generated_key)."\n";
echo base64_encode($generated_key)."\n";
?>

Ayrıca Bakınız

  • hash_pbkdf2() - Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür
  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür


Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder

  • « openssl_pbkdf2
  • openssl_pkcs12_export »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder

openssl_pkcs12_export_to_file

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_export_to_file — Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder

Açıklama

openssl_pkcs12_export_to_file(
OpenSSLCertificate|string $sertifika,
string $çıktı_dosyası,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
string $parola,
array $seçenekler = []
): bool

Belitilen sertifikayı, PKCS#12 dosya biçeminde belirtilen çıktı_dosyasına kaydeder.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

çıktı_dosyası

Çıktı dosyasının yolu.

gizli_anahtar

PKCS#12 dosyasının gizli anahtar bileşeni. Geçerli değerler için bkz: Gizli/Genel Anahtar bağımsız değişkenleri

parola

PKCS#12 dosyasının şifreleme/çözme parolası.

seçenekler

Seçimlikler dizisi, diğer anahtarlar yok sayılır.

Anahtar | Açıklama
"extracerts" | PKCS#12 dosyasında içerilecek tek bir sertifika ya da ek sertifikalar dizisi.
"friendlyname" | Sağlanan sertifika ve anahtar için kullanılacak dizge

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifita artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 CSR özkaynağı kabul edilirdi.
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir

  • « openssl_pkcs12_export_to_file
  • openssl_pkcs12_read »
  • PHP Manual
  • OpenSSL İşlevleri
  • PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir

openssl_pkcs12_export

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_export — PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir

Açıklama

openssl_pkcs12_export(
OpenSSLCertificate|string $sertifika,
string &$çıktı,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
string $parola,
array $seçenekler = []
): bool

Belitilen sertifikaları, PKCS#12 dosya biçemiyle belirtilen çıktı dizgesine yerleştirir.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

çıktı

İşlem başarılı olursa PKCS#12 bu bağımsız değişkene konur.

gizli_anahtar

PKCS#12 dosyasınının gizli anahtar bileşeni. Geçerli değerler için bkz: Gizli/Genel Anahtar bağımsız değişkenleri

parola

PKCS#12 dosyasının şifreleme/çözme parolası.

seçenekler

Seçimlikler dizisi, diğer anahtarlar yok sayılır.

Anahtar | Açıklama
"extracerts" | PKCS#12 dosyasında içerilecek tek bir sertifika ya da ek sertifikalar dizisi.
"friendlyname" | Sağlanan sertifika ve anahtar için kullanılacak dizge

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifita artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 CSR özkaynağı kabul edilirdi.
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce,OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Bir PKCS#12 Sertifika Deposunu bir diziye çözümler

  • « openssl_pkcs12_export
  • openssl_pkcs7_decrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir PKCS#12 Sertifika Deposunu bir diziye çözümler

openssl_pkcs12_read

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

openssl_pkcs12_read — Bir PKCS#12 Sertifika Deposunu bir diziye çözümler

Açıklama

openssl_pkcs12_read(string $pkcs12, array &$sertifikalar, string $parola): bool

pkcs12 ile belirtilen PKCS#12 sertifika deposunu çözümler ve sertifikaları sertifikalar dizisine yerleştirir.

Bağımsız Değişkenler

pkcs12

PKCS#12 sertifika deposunun içeriği, dosyası değil.

sertifikalar

İşlem başarılı olursa sertifikalar bu diziye konur.

parola

PKCS#12 dosyasının şifresini açmak için parola.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - openssl_pkcs12_read() örneği

<?php
if (!$cert_store = file_get_contents("/certs/file.p12")) {
echo "Hata: Sertifika dosyası okunamadı\n";
exit;
}

if (openssl_pkcs12_read($cert_store, $cert_info, "parola_burada")) {
echo "Sertifika Bilgisi\n";
print_r($cert_info);
} else {
echo "Hata: Sertifika deposu okunamadı\n";
exit;
}
?>


S/MIME şifreli bir iletinin şifresini çözer

  • « openssl_pkcs12_read
  • openssl_pkcs7_encrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • S/MIME şifreli bir iletinin şifresini çözer

openssl_pkcs7_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_decrypt — S/MIME şifreli bir iletinin şifresini çözer

Açıklama

openssl_pkcs7_decrypt(
string $girdi_dosyası,
string $çıktı_dosyası,
OpenSSLCertificate|string $sertifika,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $gizli_anahtar = null
): bool

Şifreli iletiyi girdi_dosyası'ndan okur, sertifika ile belirtilen sertifikaları ve gizli_anahtar ile belirtilen gizli anahtarı kullanarak iletinin şifresini çözer ve sonucu çıktı_dosyası'na kaydeder.

Bağımsız Değişkenler

girdi_dosyası

çıktı_dosyası

Şifresi çözülen iletinin kaydedileceği dosyanın yolu.

sertifika

gizli_anahtar

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 CSR özkaynağı kabul edilirdi.

Örnekler

Örnek 1 - openssl_pkcs7_decrypt() örneği

<?php
// $sert ve $anahtar kişisel sertifikanızı ve gizli anahtarınızı içersin.
$şifreli = "encrypted.msg"; // Şifreli iletinin bulunduğu dosya
$şifresiz = "decrypted.msg"; // Şifresiz iletinin yazılacağı dosya

if (openssl_pkcs7_decrypt($şifreli, $şifresiz, $sert, $anahtar)) {
echo "Şifre çözüldü!";
} else {
echo "Şifre çözülemedi!";
}
?>


Bir S/MIME iletiyi şifreler

  • « openssl_pkcs7_decrypt
  • openssl_pkcs7_read »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir S/MIME iletiyi şifreler

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_encrypt — Bir S/MIME iletiyi şifreler

Açıklama

openssl_pkcs7_encrypt(
string $girdi_dosyası,
string $çıktı_dosyası,
OpenSSLCertificate|array|string $sertifika,
?array $başlıklar,
int $seçenekler = 0,
int $algoritma = OPENSSL_CIPHER_AES_128_CBC
): bool

girdi_dosyasının içeriğini alır ve yalnızca sertifika ile belirtilen alıcılar tarafından okunabilmeleri için bir RC2 40 bit algoritma kullanarak bunları şifreler ve şifreli iletiyi çıktı_dosyası'na kaydeder.

Bağımsız Değişkenler

girdi_dosyası

çıktı_dosyası

sertifika

Ya tek bir X.509 sertifikasını içeren bir dizge ya da X.509 sertifikalarını içeren bir dizi olmalıdır.

başlıklar

İleti şifrelendikten sonra hazırlanan başlıkları içerecek dizi.

Dizi elemanların her biri ya tek bir başlık satırı içermeli ya da başlık ismini anahtar olarak alan bir ilişkisel dizi olmalıdır.

seçenekler

Kodlama işlemini etkileyen seçenekler; PKCS7 sabitlerine bakınız.

algoritma

Şifreleme sabitlerinden biri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Öntanımlı şifreleme algoritması (algoritma) artık AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC) olabiliyor. Evvelce, PKCS7/CMS kullanılırdı (OPENSSL_CIPHER_RC2_40).
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 CSR özkaynağı kabul edilirdi.

Örnekler

Örnek 1 - openssl_pkcs7_encrypt() örneği

<?php
// Bir iletiyi şifreleyip Atmaca kod adlı araştırma
// elemanınıza göndermek istediğinizi varsayalım.
// Sertifikası atmaca.pem dosyasında olsun.
$data = <<<EOD
Atmaca,

Çok gizli, kişiye özel!

8:30'da gizli yerimizde buluşalım.

Başkan
EOD;

// anahtarı yükleyelim
$key = file_get_contents("atmaca.pem");

// iletiyi dosyaya kaydedelim
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
array("To" => "atmaca@example.com", // anahtarlı sözdizimi
"From: CEO <ceo@example.com>", // indisli sözdizimi
"Subject" => "Kişiye özel"))) {
// iletiyi şifreleyip gönderelim!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>


Export the PKCS7 file to an array of PEM certificates

  • « openssl_pkcs7_encrypt
  • openssl_pkcs7_sign »
  • PHP Manual
  • OpenSSL İşlevleri
  • Export the PKCS7 file to an array of PEM certificates

openssl_pkcs7_read

(PHP 7 >= 7.2.0, PHP 8)

openssl_pkcs7_read — Export the PKCS7 file to an array of PEM certificates

Açıklama

openssl_pkcs7_read(string $data, array &$certificates): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The string of data you wish to parse (p7b format).

certificates

The array of PEM certificates from the p7b input data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Get a PEM array from a P7B file

<?php

$file = 'certs.p7b';

$f = file_get_contents($file);
$p7 = array();
$r = openssl_pkcs7_read($f, $p7);

if ($r === false) {
printf("ERROR: %s is not a proper p7b file".PHP_EOL, $file);
for($e = openssl_error_string(), $i = 0; $e; $e = openssl_error_string(), $i++)
printf("SSL l%d: %s".PHP_EOL, $i, $e);
exit(1);
}

print_r($p7);
?>

Ayrıca Bakınız

  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Bir S/MIME iletiyi imzalar

  • « openssl_pkcs7_read
  • openssl_pkcs7_verify »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir S/MIME iletiyi imzalar

openssl_pkcs7_sign

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_sign — Bir S/MIME iletiyi imzalar

Açıklama

openssl_pkcs7_sign(
string $girdi_dosyası,
string $çıktı_dosyası,
OpenSSLCertificate|string $sertifika,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
?array $başlıklar,
int $seçenekler = PKCS7_DETACHED,
?string $güvenilmez_sertifikalar_dosyası = null
): bool

İleti girdi_dosyası'ndan okunur, sertifika ve bununla ilgili gizli_anahtar kullanılarak imzalanır, elde edilen imzalı ileti çıktı_dosyası'na kaydedilir.

Bağımsız Değişkenler

girdi_dosyası

İmzalanacak girdiyi içeren dosya.

çıktı_dosyası

İmzalanan girdinin kaydedileceği dosya.

sertifika

girdi_dosyasını imzalamakta kullanılacak X.509 sertifikası. Geçerli değerler için bkz: Anahtar/Sertifika bağımsız değişkenleri

gizli_anahtar

sertifika ile ilişkili gizli anahtar. Geçerli değerler için bkz: Gizli/Genel Anahtar bağımsız değişkenleri

başlıklar

İleti imzalandıktan sonra hazırlanan başlıkları içeren bir dizidir. Bu bağımsız değişken ile ilgili ayrıntılı bilgi için openssl_pkcs7_encrypt() işlevine bakınız.

seçenekler

Çıktıda değişiklik yapmak için kullanılır. Bkz: PKCS7 sabitleri.

güvenilmez_sertifikalar_dosyası

Alıcının imzayı doğrulamasına yardımcı olması için imzaya eklenecek sertifikaları içeren dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 CSR özkaynağı kabul edilirdi.
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 CSR özkaynağı kabul edilirdi. was accepted.

Örnekler

Örnek 1 - openssl_pkcs7_sign() örneği

<?php
// Alıcının, iletinin sizden geldiğinden emin olması için
// iletiyi imzalamak istediğinizi varsayalım.
$data = <<<EOD

Ağırlama giderleri için sana 10.000 TL harcama yetkisi veriyorum.

Başkan
EOD;

// İletiyi dosyaya kaydedelim
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);

// şifreleyelim
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "file://mycert.pem",
array("file://mycert.pem", "mypassphrase"),
array("To" => "joes@example.com", // ilişkisel
"From: HQ <ceo@example.com>", // indisli
"Subject" => "Kişiye özel")
)) {
// ileti imzalandığına göre gönderebiliriz!
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>


S/MIME imzalı bir iletinin imzasını doğrular

  • « openssl_pkcs7_sign
  • openssl_pkey_derive »
  • PHP Manual
  • OpenSSL İşlevleri
  • S/MIME imzalı bir iletinin imzasını doğrular

openssl_pkcs7_verify

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_pkcs7_verify — S/MIME imzalı bir iletinin imzasını doğrular

Açıklama

openssl_pkcs7_verify(
string $girdi_dosyası,
int $seçenekler,
?string $imzacı_sertifikaları_dosyası = null,
array $CA_bilgisi = [],
?string $güvenilmez_sertifikalar_dosyası = null,
?string $içerik = null,
?string $çıktı_dosyası = null
): bool|int

S/MIME imzalı iletiyi içeren girdi_dosyası okunur ve iletinin imzası doğrulanmaya çalışılır.

Bağımsız Değişkenler

girdi_dosyası

İletinin bulunduğu dosyanın yolu.

seçenekler

İmzanın nasıl doğrulanacağı belirtilir. Ayrıntılı bilgi için PKCS7 sabitlerine bakınız.

imzacı_sertifikaları_dosyası

Belirtildiği takdirde, iletileri imzalamakta kullanılan sertifikaların PEM biçemli olarak saklandığı dosyanın yolu olmalıdır.

CA_bilgisi

Belirtildiği takdirde, doğrulama işleminde kullanılacak güvenilir CA sertifikaları hakkında bilgileri içeren bir dizi olmalıdır. Ayrıntılı bilgi için Sertifika Doğrulama bölümüne bakınız.

güvenilmez_sertifikalar_dosyası

Belirtildiği takdirde, güvenilmez CA'lar olarak kullanılacak sertifikaların bulunduğu dosyanın yolu olmalıdır.

içerik

çıktı_dosyası

Belirtildiği takdirde, imzası doğrulanmış iletinin içeriği imzasız olarak bu dosyaya kaydedilir.

Dönen Değerler

İmza doğru ise true, değilse (ileti kurcalanmışsa veya sertifika geçersizse) false, işlem sırasında bir hata oluşmuşsa -1 döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | imzacı_sertifikaları_dosyası, güvenilmez_sertifikalar_dosyası, içerik ve çıktı_dosyası artık null olabiliyor.
7.2.0 | çıktı_dosyası bağımsız değişkeni eklendi.

Notlar

Bilginize: RFC 2045'te belirtildiği gibi, girdi_dosyası satırları 76 karakterden uzun olamaz.


Computes shared secret for public value of remote and local DH or ECDH key

  • « openssl_pkcs7_verify
  • openssl_pkey_export_to_file »
  • PHP Manual
  • OpenSSL İşlevleri
  • Computes shared secret for public value of remote and local DH or ECDH key

openssl_pkey_derive

(PHP 7 >= 7.3.0, PHP 8)

openssl_pkey_derive — Computes shared secret for public value of remote and local DH or ECDH key

Açıklama

openssl_pkey_derive(OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key, int $key_length = 0): string|false

openssl_pkey_derive() takes a set of a public_key and private_key and derives a shared secret, for either DH or EC keys.

Bağımsız Değişkenler

public_key

public_key is the public key for the derivation. See Public/Private Key parameters for a list of valid values.

private_key

private_key is the private key for the derivation. See Public/Private Key parameters for a list of valid values.

key_length

If not zero, will set the desired length of the derived secret.

Dönen Değerler

The derived secret on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 openssl_pkey_derive() example

<?php
// Load in private key
$priv = openssl_pkey_get_private("-----BEGIN PRIVATE KEY-----
MIICJgIBADCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDy
upojBIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2f
VtCEMPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC
0DCNt4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2
197JGZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/
HnyfVCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsC
AQIEggEEAoIBAGwAYC2E81Y1U2Aox0U7u1+vBcbht/OO87tutMvc4NTLf6NLPHsW
cPqBixs+3rSn4fADzAIvdLBmogjtiIZoB6qyHrllF/2xwTVGEeYaZIupQH3bMK2b
6eUvnpuu4Ytksiz6VpXBBRMrIsj3frM+zUtnq8vKUr+TbjV2qyKR8l3eNDwzqz30
dlbKh9kIhZafclHfRVfyp+fVSKPfgrRAcLUgAbsVjOjPeJ90xQ4DTMZ6vjiv6tHM
hkSjJIcGhRtSBzVF/cT38GyCeTmiIA/dRz2d70lWrqDQCdp9ArijgnpjNKAAulSY
CirnMsGZTDGmLOHg4xOZ5FEAzZI2sFNLlcw=
-----END PRIVATE KEY-----
");

// Load in public key
$pub = openssl_pkey_get_public("-----BEGIN PUBLIC KEY-----
MIICJDCCARcGCSqGSIb3DQEDATCCAQgCggEBAJLxRCaZ933uW+AXmabHFDDyupoj
BIRlbmQLJZfigDaSA1f9YOTsIv+WwVFTX/J1mtCyx9uBcz0Nt2kmVwxWuc2fVtCE
MPsmLsVXX7xRUFLpyX1Y1IYGBVXQOoOvLWYQjpZgnx47Pkh1Ok1+smffztfC0DCN
t4KorWrbsPcmqBejXHN79KvWFjZmXOksRiNu/Bn76RiqvofC4z8Ri3kHXQG2197J
GZzzFXHadGC3xbkg8UxsNbYhVMKbm0iANfafUH7/hoS9UjAVQYtvwe7YNiW/Hnyf
VCrKwcc7sadd8Iphh+3lf5P1AhaQEAMytanrzq9RDXKBxuvpSJifRYasZYsCAQID
ggEFAAKCAQAiCSBpxvGgsTorxAWtcAlSmzAJnJxFgSPef0g7OjhESytnc8G2QYmx
ovMt5KVergcitztWh08hZQUdAYm4rI+zMlAFDdN8LWwBT/mGKSzRkWeprd8E7mvy
ucqC1YXCMqmIwPySvLQUB/Dl8kgau7BLAnIJm8VP+MVrn8g9gghD0qRCgPgtEaDV
vocfgnOU43rhKnIgO0cHOKtw2qybSFB8QuZrYugq4j8Bwkrzh6rdMMeyMl/ej5Aj
c0wamOzuBDtXt0T9+Fx3khHaowjCc7xJZRgZCxg43SbqMWJ9lUg94I7+LTX61Gyv
dtlkbGbtoDOnxeNnN93gwQZngGYZYciu
-----END PUBLIC KEY-----
");

// Outputs the hex version of the derived key
echo bin2hex(openssl_pkey_derive($pub,$priv));


Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder

  • « openssl_pkey_derive
  • openssl_pkey_export »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder

openssl_pkey_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_export_to_file — Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder

Açıklama

openssl_pkey_export_to_file(
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $anahtar,
string $çıktı_dosyası,
?string $parola = null,
?array $seçenekler = null
): bool

Anahtarın ASCII zırhlı (PEM kodlu) eşdeğerini belirtilen çıktı_dosyasına kaydeder.

Bilginize: Bu işlevin gerektiği gibi çalışması için geçerli bir openssl.cnf kurulu olmalıdır. Daha ayrıntılı bilgi için kurulum bölümüne bakılabilir.

Bağımsız Değişkenler

anahtar

çıktı_dosyası

ASCII zırhlı anahtarın kaydedileceği dosyanın yolu.

parola

Belirtilen anahtar bir parola ile korunuyorsa parola burada belirtilir.

seçenekler

İhraç işlemine ince ayar çekmek için ve/veya openssl yapılandırma dosyasındaki seçenekleri geçersiz kılmak için kullanılabilir. Ayrıntılar için openssl_csr_new()işlevine bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür

  • « openssl_pkey_export_to_file
  • openssl_pkey_free »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür

openssl_pkey_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_export — Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür

Açıklama

openssl_pkey_export(
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $anahtar,
string &$çıktı,
?string $parola = null,
?array $seçenekler = null
): bool

Belirtilen anahtar bir PEM kodlu dizge olarak ihraç edilmek üzere (gönderimli belirtilen) çıktı bağımsız değişkenine yerleştirilir.

Bilginize: Bu işlevin gerektiği gibi çalışması için geçerli bir openssl.cnf kurulu olmalıdır. Daha ayrıntılı bilgi için kurulum bölümüne bakılabilir.

Bağımsız Değişkenler

anahtar

çıktı

parola

Belirtilen anahtar bir parola ile korunuyorsa bu parola burada belirtilir.

seçenekler

İhraç işlemine ince ayar çekmek için ve/veya openssl yapılandırma dosyasındaki seçenekleri geçersiz kılmak için kullanılabilir. Ayrıntılar için openssl_csr_new()işlevine bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Bir gizli anahtarı serbest bırakır

  • « openssl_pkey_export
  • openssl_pkey_get_details »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir gizli anahtarı serbest bırakır

openssl_pkey_free

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_free — Bir gizli anahtarı serbest bırakır

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

openssl_pkey_free(OpenSSLAsymmetricKey $anahtar): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

openssl_pkey_new() ile oluşturulmuş bir gizli anahtarı serbest bırakır.

Bağımsız Değişkenler

anahtar

Anahtarı betimleyin özkaynak.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bir etkisi olmadığı için bu işlevin kullanımı önerilmemektedir.
8.0.0 | anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Anahtarla ilgili ayrıntıları bir dizi içinde döndürür

  • « openssl_pkey_free
  • openssl_pkey_get_private »
  • PHP Manual
  • OpenSSL İşlevleri
  • Anahtarla ilgili ayrıntıları bir dizi içinde döndürür

openssl_pkey_get_details

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

openssl_pkey_get_details — Anahtarla ilgili ayrıntıları bir dizi içinde döndürür

Açıklama

openssl_pkey_get_details(OpenSSLAsymmetricKey $anahtar): array|false

Anahtarla ilgili ayrıntıları (bit sayısı, anahtar, türü gibi) bir dizi içinde döndürür.

Bağımsız Değişkenler

anahtar

Anahtarı betimleyen özkaynak.

Dönen Değerler

İşlem başarısız olursa false yoksa anahtarın ayrıntılarını içeren bir dizi döner. Dönen dizi şu indisleri içerir: bits (bit sayısı), key (genel anahtarın metinsel gösterimi) ve type (şunlardan biridir: OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC veya bilinmiyor anlamında -1).

Kullanılan anahtar türüne bağlı olarak, ek ayrıntılar dönebilir. Bazı elemanların her zaman kullanılamayacağına dikkat edin.

  • OPENSSL_KEYTYPE_RSA, ek olarak anahtar verisini içeren "rsa" adlı bir dizi anahtarı döner.
    Anahtar | Açıklama
    "n" | modül
    "e" | genel üs
    "d" | gizli üs
    "p" | asal 1
    "q" | asal 2
    "dmp1" | üs1, d mod (p-1)
    "dmq1" | üs2, d mod (q-1)
    "iqmp" | katsayı, (q'nun tersi) mod p
  • OPENSSL_KEYTYPE_DSA, ek olarak anahtar verisini içeren "dsa" adlı bir dizi anahtarı döner.
    Anahtar | Açıklama
    "p" | asal sayı (genel)
    "q" | 160-bit alt asal, q | p-1 (genel)
    "g" | alt grup üreteci (genel)
    "priv_key" | gizli anahtar x
    "pub_key" | genel anahtar y = g^x
  • OPENSSL_KEYTYPE_DH, ek olarak anahtar verisini içeren "dh" adlı bir dizi anahtarı döner.
    Anahtar | Açıklama
    "p" | asal sayı (paylaşımlı)
    "g" | Z_p üreteci (paylaşımlı)
    "priv_key" | gizli DH değeri x
    "pub_key" | genel DH değeri g^x
  • OPENSSL_KEYTYPE_EC, ek olarak anahtar verisini içeren "ec" adlı bir dizi anahtarı döner.
    Anahtar | Açıklama
    "curve_name" | eğri adı, bkz: openssl_get_curve_names()
    "curve_oid" | EC eğrisi için ASN1 Nesne Kimliği (OID).
    "x" | x koordinatı (genel)
    "y" | y koordinatı (genel)
    "d" | gizli anahtar

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | anahtar artık OpenSSLAsymmetricKey örneği kabul ediyor; evvelce, OpenSSL key özkaynağı kabul edilirdi.


Gizli anahtarı döndürür

  • « openssl_pkey_get_details
  • openssl_pkey_get_public »
  • PHP Manual
  • OpenSSL İşlevleri
  • Gizli anahtarı döndürür

openssl_pkey_get_private

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_get_private — Gizli anahtarı döndürür

Açıklama

openssl_pkey_get_private(OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar, ?string $parola = null): OpenSSLAsymmetricKey|false

Belirtilen gizli_anahtar çözümlenip diğer işlevlerin kullanımına hazırlanır.

Bağımsız Değişkenler

gizli_anahtar

Şunlardan biri olabilir:

  1. file://bir/yol/dosya.pem biçeminde bir dizge. İsmi belirtilen dosya PEM kodlu bir sertifika, bir gizli anahtar veya her ikisini birden içerebilir.
  2. PEM kodlu bir gizli anahtar.

parola

Belirtilen anahtar bir parola ile korunuyorsa bu parola burada belirtilir.

Dönen Değerler

İşlem başarısız olursa false yoksa gizli anahtar için OpenSSLAsymmetricKey örneği, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık OpenSSLAsymmetricKey örneği döndürüyor; evvelce OpenSSL key özkaynağı dönerdi.
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.
8.0.0 | parola artık null olabiliyor.


Genel anahtarı sertifikadan elde edip kullanıma hazırlar

  • « openssl_pkey_get_private
  • openssl_pkey_new »
  • PHP Manual
  • OpenSSL İşlevleri
  • Genel anahtarı sertifikadan elde edip kullanıma hazırlar

openssl_pkey_get_public

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_get_public — Genel anahtarı sertifikadan elde edip kullanıma hazırlar

Açıklama

openssl_pkey_get_public(OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $genel_anahtar): OpenSSLAsymmetricKey|false

Genel anahtarı belirtilen genel_anahtar'dan elde edip diğer işlevlerin kullanımına hazırlar.

Bağımsız Değişkenler

genel_anahtar

Şunlardan biri olabilir:

  1. OpenSSLAsymmetricKey örneği
  2. file://bir/yol/dosya.pem biçeminde bir dizge. İsmi belirtilen dosya PEM kodlu sertifika, genel anahtar veya her ikisini birden içerebilir.
  3. PEM kodlu genel anahtar.

Dönen Değerler

İşlem başarısız olursa false yoksa OpenSSLAsymmetricKey örneği döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık OpenSSLAsymmetricKey örneği döndürüyor; evvelce OpenSSL key özkaynağı dönerdi.
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Yeni bir gizli anahtar üretir

  • « openssl_pkey_get_public
  • openssl_private_decrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Yeni bir gizli anahtar üretir

openssl_pkey_new

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_pkey_new — Yeni bir gizli anahtar üretir

Açıklama

openssl_pkey_new(?array $seçenekler = ?): OpenSSLAsymmetricKey|false

Yeni bir gizli anahtar üretir. Genel anahtarın elde edilişi aşağıdaki örnekte gösterilmiştir.

Bilginize: Bu işlevin gerektiği gibi çalışması için geçerli bir openssl.cnf kurulu olmalıdır. Daha ayrıntılı bilgi için kurulum bölümüne bakılabilir.

Bağımsız Değişkenler

seçenekler

Anahtar üretimine ince ayar çekmek için (bit sayısını belirtmek gibi) kullanılabilir. Daha ayrıntılı bilgi için openssl_csr_new() işlevine bakınız.

Dönen Değerler

İşlem başarısız olursa false yoksa OpenSSLAsymmetricKey örneği döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık OpenSSLAsymmetricKey örneği döndürüyor; evvelce OpenSSL key özkaynağı dönerdi.
7.1.0 | EC anahtarlarının üretilebilmesi için curve_name seçeneği eklendi.

Örnekler

Örnek 1 - Genel anahtarın gizli anahtardan elde edilmesi

<?php
$private_key = openssl_pkey_new();
$public_key_pem = openssl_pkey_get_details($private_key)['key'];
echo $public_key_pem;
$public_key = openssl_pkey_get_public($public_key_pem);
var_dump($public_key);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZFsmN2P6rx1Xt7YV95o
gcdlal0k3ryiIhFNzjwtRNNTXfEfBr6lUuaIJYQ8/XqEBX0hpcfuuF6tTRlonA3t
WLME0QFD93YVsAaXcy76YqjjqcRRodIBphAbYyyMI/lXkQAdn7kbAmr7neSOsMYJ
El9Wo4Hl4oG6e52ZnYHyqW9dxh4hX93eupR2TmcCdVf+r9xoHewP0KJYSHt7vDUX
AQlWYcQiWHIadFsmL0orr6mutlXFReoHbesgKY9/3YLOu0JfxflSjIZ2JeL1NTl1
MsmODsUwgAUrwnWKKx+eQUP5g3GnSB3dPkRh9zRVRiLNWbCugyjrf3e6DgQWrW7j
pwIDAQAB
-----END PUBLIC KEY-----
resource(5) of type (OpenSSL key)


Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer

  • « openssl_pkey_new
  • openssl_private_encrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer

openssl_private_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_private_decrypt — Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer

Açıklama

openssl_private_decrypt(
string $şifreli_veri,
string &$şifresiz_veri,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
int $dolgu = OPENSSL_PKCS1_PADDING
): bool

Evvelce openssl_public_encrypt() tarafından şifrelenmiş şifreli_veri'nin şifresini çözüp sonucu şifresiz_veri bağımsız değişkenine yerleştirir.

Şifreli verinin sadece size yazılıp yazılmadığını bu işlevle öğrenebilirsiniz.

Bağımsız Değişkenler

şifreli_veri

şifresiz_veri

gizli_anahtar

Veriyi şifrelemekte kullanılan genel anahtarın karşılığı olan gizli anahtar.

dolgu

Şunlardan biri belirtilebilir: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Ayrıca Bakınız

  • openssl_public_encrypt() - Veriyi genel anahtarla şifreler
  • openssl_public_decrypt() - Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer


Veriyi gizli anahtarla şifreler

  • « openssl_private_decrypt
  • openssl_public_decrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Veriyi gizli anahtarla şifreler

openssl_private_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_private_encrypt — Veriyi gizli anahtarla şifreler

Açıklama

openssl_private_encrypt(
string $şifresiz_veri,
string &$şifreli_veri,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
int $dolgu = OPENSSL_PKCS1_PADDING
): bool

şifresiz_veri, gizli_anahtar ile şifrelenir ve sonuç şifreli_veri bağımsız değişkenine konur. Şifrelenmiş verinin şifresi openssl_public_decrypt() işlevi ile çözülebilir.

Bu işlev bir iletiyi imzalamakta, dolayısıyla başkası tarafından yazılmadığını kanıtlamakta kullanılabilir.

Bağımsız Değişkenler

şifresiz_veri

Şifrelenecek veri.

şifreli_veri

Şifrelenen veri bu değişkene konur.

gizli_anahtar

Gizli anahtar.

dolgu

Bunlardan biri belirtilebilir: OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Ayrıca Bakınız

  • openssl_public_encrypt() - Veriyi genel anahtarla şifreler
  • openssl_public_decrypt() - Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer


Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer

  • « openssl_private_encrypt
  • openssl_public_encrypt »
  • PHP Manual
  • OpenSSL İşlevleri
  • Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer

openssl_public_decrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_decrypt — Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer

Açıklama

openssl_public_decrypt(
string $şifreli_veri,
string &$şifresiz_veri,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $genel_anahtar,
int $dolgu = OPENSSL_PKCS1_PADDING
): bool

Evvelce openssl_private_encrypt() tarafından şifrelenmiş şifreli_veri'nin şifresini çözüp sonucu veri bağımsız değişkenine yerleştirir.

Bu işlevi, şifrelenmiş iletinin gizli anahtarın sahibi tarafından yazılıp yazılmadığı öğrenmek için kullanabilirsiniz.

Bağımsız Değişkenler

şifreli_veri

şifresiz_veri

genel_anahtar

Veriyi şifrelemekte kullanılan gizli anahtarın karşılığı olan genel anahtar.

dolgu

Şunlardan biri ollabilir: OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Ayrıca Bakınız

  • openssl_private_encrypt() - Veriyi gizli anahtarla şifreler
  • openssl_private_decrypt() - Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer


Veriyi genel anahtarla şifreler

  • « openssl_public_decrypt
  • openssl_random_pseudo_bytes »
  • PHP Manual
  • OpenSSL İşlevleri
  • Veriyi genel anahtarla şifreler

openssl_public_encrypt

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_public_encrypt — Veriyi genel anahtarla şifreler

Açıklama

openssl_public_encrypt(
string $şifresiz_veri,
string &$şifreli_veri,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $genel_anahtar,
int $dolgu = OPENSSL_PKCS1_PADDING
): bool

şifresiz_veri, genel_anahtar ile şifrelenir ve sonuç şifreli_veri bağımsız değişkenine konur. Şifrelenmiş verinin şifresi openssl_private_decrypt() işlevi ile çözülebilir.

Bu işlev, sadece gizli anahtarın sahibi tarafından okunabilecek şifreli iletiler oluşturmak için kullanılabileceği gibi verileri bir veritabanında şifreli saklamak için de kullanılabilir.

Bağımsız Değişkenler

şifresiz_veri

Şifrelenecek veri.

şifreli_veri

Şifrelenen veri bu değişkene konur.

genel_anahtar

Genel anahtar.

dolgu

Şunlardan biri belirtilebilir: OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING, OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Ayrıca Bakınız

  • openssl_private_encrypt() - Veriyi gizli anahtarla şifreler
  • openssl_private_decrypt() - Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer


Yarı-rasgele bayt dizesi üretir

  • « openssl_public_encrypt
  • openssl_seal »
  • PHP Manual
  • OpenSSL İşlevleri
  • Yarı-rasgele bayt dizesi üretir

openssl_random_pseudo_bytes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

openssl_random_pseudo_bytes — Yarı-rasgele bayt dizesi üretir

Açıklama

openssl_random_pseudo_bytes(int $uzunluk, bool &$güçlü_sonuç = null): string

uzunluk karakterlik bir dizge döndürür.

Ayrıca, yarı-rastgele baytları üretmek için kriptografik olarak güçlü bir algoritma kullanılmışsa güçlü_sonuç bağımsız değişkeninde bu bilgi de döner. false değeri nadirdir, ancak bazı sistemler bozulmuş veya eski olabilir.

Bağımsız Değişkenler

uzunluk

İstenen dizgenin uzunluğu. 2147483647'den (dahil) küçük, pozitif bir tamsayı olmalıdır. PHP, bu bağımsız değişkenden bir pozitif tamsayı elde etmek için gerekli tür dönüşümünü yapacaktır.

güçlü_sonuç

Güçlü bir algoritma kullanılmışsa bu bağımsız değişkende true döner. Bir hata oluşursa bu değer null olacaktır (örneğin, GPG parolası kullanımı güvenlidir).

Dönen Değerler

İşlem başarılı olursa üretilen dizge döner.

Hatalar/İstisnalar

openssl_random_pseudo_bytes() başarısızlık durumunda bir Exception örneği oluşturur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | güçlü_sonuç artık null olabiliyor.
7.4.0 | İşlev artık başarısızlık durumunda false döndürmüyor, bunun yerine bir Exception örneği oluşturuyor.

Örnekler

Örnek 1 - openssl_random_pseudo_bytes() örneği

<?php
for ($i = 1; $i <= 4; $i++) {
$bytes = openssl_random_pseudo_bytes($i, $cstrong);
$hex = bin2hex($bytes);
echo "Uzunluklar: Bayt: $i ve Onaltılık: " . strlen($hex) . PHP_EOL;
var_dump($hex);
var_dump($cstrong);
echo PHP_EOL;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Uzunluklar: Bayt: 1 ve Onaltılık: 2
string(2) "42"
bool(true)
Uzunluklar: Bayt: 2 ve Onaltılık: 4
string(4) "dc6e"
bool(true)
Uzunluklar: Bayt: 3 ve Onaltılık: 6
string(6) "288591"
bool(true)
Uzunluklar: Bayt: 4 ve Onaltılık: 8
string(8) "ab86d144"
bool(true)

Ayrıca Bakınız

  • random_bytes() - Get cryptographically secure random bytes
  • bin2hex() - Bir ikil verinin onaltılık gösterimini elde eder
  • crypt() - Tek yönlü dizge aşlama
  • random_int() - Get a cryptographically secure, uniformly selected integer


Veriyi mühürler (şifreler)

  • « openssl_random_pseudo_bytes
  • openssl_sign »
  • PHP Manual
  • OpenSSL İşlevleri
  • Veriyi mühürler (şifreler)

openssl_seal

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_seal — Veriyi mühürler (şifreler)

Açıklama

openssl_seal(
string $veri,
string &$mühürlü_veri,
array &$zarf_anahtarları,
array $genel_anahtar,
string $algoritma,
string &$ilklendirme_yöneyi = null
): int|false

Rasgele üretilmiş bir gizli anahtarla verilen algoritma'yı kullanarak veriyi mühürler (şifreler) ve mühürlü_veri bağımsız değişkeninde döndürür. Gizli anahtar, genel_anahtar içindeki tanımlayıcılarla ilişkili genel anahtarlarla şifrelenir ve zarf_anahtarları dizisinde döndürülür. Bu, bir kişinin birden fazla alıcıya mühürlü veri gönderebileceği anlamına gelir (genel anahtarlarının elinde olması şartıyla). Her alıcının, hem mühürlü veriyi hem de alıcının genel anahtarıyla şifrelenmiş zarf anahtarını alması gerekir.

Bağımsız Değişkenler

veri

Mühürlenecek veri.

mühürlü_veri

Mühürlenen veri bu bağımsız değişkene konur.

zarf_anahtarları

Genel anahtarlarla şirelenmiş gizli anahtarların döndürüldüğü dizi.

genel_anahtar

Genel anahtarları içeren OpenSSLAsymmetricKey örnekleri dizisi.

algoritma

Şifreleme yöntemi.

Dikkat

Öntanımlı değerin ('RC4') günenilmez olduğu varsayılır. Güvenilir bir şifreleme yöntemi belirtilmesi şiddetle önerilir. method.

ilklendirme_yöneyi

İlklendirme yöneyi.

Dönen Değerler

İşlem başarılı olursa mühürlü veri mühürlü_veri bağımsız değişkenine, zarf mühürleri zarf_anahtarları bağımsız değişkenine konup mühürlü verinin uzunluğu döndürülür. Hata oluşursa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.
8.0.0 | algoritma artık seçimlik değil.
8.0.0 | ilklendirme_yöneyi artık null olabiliyor.

Örnekler

Örnek 1 - openssl_seal() örneği

<?php
// $veri'nin mühürlenecek veriyi içerdiği varsayılıyor.

// alıcıların genel anahtarlarını alıp hazırlayalım
$dt = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga1 = openssl_get_publickey($sert);

// İşlemi ikinci alıcı için yineleyelim.
$dt = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga2 = openssl_get_publickey($sert);

// Veriyi mühürleyelim. $muhurlu_veri sadece $ga1 ve $ga2'nin sahipleri
// tarafından sırasıyla $muhurler[0] ve $muhurler[1] anahtarları ile
// çözülebilir.
openssl_seal($data, $muhurlu_veri, $muhurler, array($ga1, $ga2));

// anahtar belleklerini serbest bırakalım
openssl_free_key($ga1);
openssl_free_key($ga2);
?>

Ayrıca Bakınız

  • openssl_open() - Mühürlü veriyi açar


İmza üretir

  • « openssl_seal
  • openssl_spki_export_challenge »
  • PHP Manual
  • OpenSSL İşlevleri
  • İmza üretir

openssl_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_sign — İmza üretir

Açıklama

openssl_sign(
string $veri,
string &$imza,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar,
string|int $algoritma = OPENSSL_ALGO_SHA1
): bool

gizli_anahtarı kullanarak kriptografik bir imza üreterek belirtilen veri için bir imza hesaplar. Veri şifrelenmez.

Bağımsız Değişkenler

veri

İmzalanacak veri.

imza

İşlem başarılı olursa imza bu bağımsız değişkene konur.

gizli_anahtar

İmza bu anahtar kullanılarak oluşturulur. Ya bir OpenSSLAsymmetricKey örneğidir; openssl_get_privatekey() ile üretilir.

Ya da PEM biçemli bir anahtar dizgesidir.

algoritma

int türünde, İmzalama algoritmalarından biri.

string türünde, openssl_get_md_methods() işlevinden döndürülmüş geçerli bir dizge (örn: "sha256WithRSAEncryption" veya "sha384".

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Örnekler

Örnek 1 - openssl_sign() örneği

<?php
// $veri'nin imzalanacak veriyi içerdiği varsayılıyor

// Gizli anahtarı dosyadan alıp hazırla
$pkeyid = openssl_pkey_get_private("file://src/openssl-0.9.6/demos/sign/key.pem");

// İmzayı hesapla
openssl_sign($veri, $imza, $genankim);

// Anahtar belleğini serbest bırak
openssl_free_key($genankim);
?>

Örnek 2 - openssl_sign() örneği

<?php
// imzalanacak veri
$data = 'my data';

// genel ve gizli anahtarları üret
$new_key_pair = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
openssl_pkey_export($new_key_pair, $private_key_pem);

$details = openssl_pkey_get_details($new_key_pair);
$public_key_pem = $details['key'];

// imzayı üret
openssl_sign($data, $signature, $private_key_pem, OPENSSL_ALGO_SHA256);

// kullanmak üzere kaydet
file_put_contents('private_key.pem', $private_key_pem);
file_put_contents('public_key.pem', $public_key_pem);
file_put_contents('signature.dat', $signature);

// imzayı doğrula
$r = openssl_verify($data, $signature, $public_key_pem, "sha256WithRSAEncryption");
// göster
var_dump($r);
?>

Ayrıca Bakınız

  • openssl_verify() - İmzayı doğrular


Exports the challenge associated with a signed public key and challenge

  • « openssl_sign
  • openssl_spki_export »
  • PHP Manual
  • OpenSSL İşlevleri
  • Exports the challenge associated with a signed public key and challenge

openssl_spki_export_challenge

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_export_challenge — Exports the challenge associated with a signed public key and challenge

Açıklama

openssl_spki_export_challenge(string $spki): string|false

Exports challenge from encoded signed public key and challenge

Bağımsız Değişkenler

spki

Expects a valid signed public key and challenge

Dönen Değerler

Returns the associated challenge string or false on failure.

Hatalar/İstisnalar

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Örnekler

Örnek 1 openssl_spki_export_challenge() example

Extracts the associated challenge string or NULL on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $spkac));
?>

Örnek 2 openssl_spki_export_challenge() example from <keygen>

Extracts the associated challenge string issued from the <keygen> element

<?php
$challenge = openssl_spki_export_challenge(preg_replace('/SPKAC=/', '', $_POST['spkac']));
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Ayrıca Bakınız

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Exports a valid PEM formatted public key signed public key and challenge

  • « openssl_spki_export_challenge
  • openssl_spki_new »
  • PHP Manual
  • OpenSSL İşlevleri
  • Exports a valid PEM formatted public key signed public key and challenge

openssl_spki_export

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_export — Exports a valid PEM formatted public key signed public key and challenge

Açıklama

openssl_spki_export(string $spki): string|false

Exports PEM formatted public key from encoded signed public key and challenge

Bağımsız Değişkenler

spki

Expects a valid signed public key and challenge

Dönen Değerler

Returns the associated PEM formatted public key or false on failure.

Hatalar/İstisnalar

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Örnekler

Örnek 1 openssl_spki_export() example

Extracts the associated PEM formatted public key or null on failure.

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');
$pubKey = openssl_spki_export(preg_replace('/SPKAC=/', '', $spkac));

if ($pubKey) {
echo $pubKey;
}
?>

Örnek 2 openssl_spki_export() example from <keygen>

Extracts the associated PEM formatted public key issued from the <keygen> element

<?php
$spkac = openssl_spki_export(preg_replace('/SPKAC=/', '', $_POST['spkac']));
if ($spkac != NULL) {
echo $spkac;
} else {
echo "Extraction of pub key failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Ayrıca Bakınız

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Generate a new signed public key and challenge

  • « openssl_spki_export
  • openssl_spki_verify »
  • PHP Manual
  • OpenSSL İşlevleri
  • Generate a new signed public key and challenge

openssl_spki_new

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_new — Generate a new signed public key and challenge

Açıklama

openssl_spki_new(OpenSSLAsymmetricKey $private_key, string $challenge, int $digest_algo = OPENSSL_ALGO_MD5): string|false

Generates a signed public key and challenge using specified hashing algorithm

Bağımsız Değişkenler

private_key

private_key should be set to a private key that was previously generated by openssl_pkey_new() (or otherwise obtained from the other openssl_pkey family of functions). The corresponding public portion of the key will be used to sign the CSR.

challenge

The challenge associated to associate with the SPKAC

digest_algo

The digest algorithm. See openssl_get_md_method().

Dönen Değerler

Returns a signed public key and challenge string or false on failure.

Hatalar/İstisnalar

Emits an E_WARNING level error if an unknown signature algorithm is passed via the digest_algo parameter.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | private_key accepts an OpenSSLAsymmetricKey instance now; previously, a resource of type OpenSSL key was accepted.

Örnekler

Örnek 1 openssl_spki_new() example

Generate a new SPKAC with the default digest (MD5)

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'testing');

if ($spkac !== NULL) {
echo $spkac;
} else {
echo "SPKAC generation failed";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

MIICRzCCAS8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDM3V3sS4o4
mB9dczziRnjGAmSp+JwPrHoYMAFGvDNmZGyiWfU586X4BKs++BAj7e/FsAfno0Hd
hN9FwpCNFSox30L03nQvLYJE7f/WqigwBeMRT7Op/xvFks4sT70xP2HRYv4KqP9a
WRcKU6cFH8VxhFhqM2txEIxZKdFLaL28yT7bEDmcglf4JLDdgNMb9rET1dkgtKE6
dOaJHPGjf1uvnOH4YwkQr7n4sLUR3Kdbh0ZJAFuQVDZulo+LLzxBBkqJJcB6FhF+
oXCdHTKZnqAhpWDz+NXYytAmevab6IYm5TWPWsJUv1YKJA5lg2mXbbloIZlN9Mgc
i9fi03bdw+crAgMBAAEWB3Rlc3RpbmcwDQYJKoZIhvcNAQEEBQADggEBALyUvP/o
pPSoWBlorFyZ2RnGwKf9qMpE0q2IJP7G3oDR4LyK/m933DUiZ+YnqThrH/CWb4Ek
y5I3OCyl3S4wCuU1ibZZwDVwYShr5ELp0J9PEf7qMQZOhNsizoC7k+Czb2xB6hYW
sKfsfTKm3cXBtH3fdgc/Z1Z7VSWnAzYo38snqm72NTf5yFRnrQdphNNXi+kn1zHA
lxXRyFDXHOcYsOnwAWfyXFA4QDHQ0ezz0UoCY8gJXovcZb4GRYqOLUAsF2HcNboy
29WN8VqE29sL9QxVZFlwMcqyoLcNnyw38GvNvAGqSvzzbnEFP2MAQXJVe0H0hdp/
MML5G2iNVgNozAo=

Ayrıca Bakınız

  • openssl_spki_verify() - Verifies a signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


Verifies a signed public key and challenge

  • « openssl_spki_new
  • openssl_verify »
  • PHP Manual
  • OpenSSL İşlevleri
  • Verifies a signed public key and challenge

openssl_spki_verify

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_spki_verify — Verifies a signed public key and challenge

Açıklama

openssl_spki_verify(string $spki): bool

Validates the supplied signed public key and challenge

Bağımsız Değişkenler

spki

Expects a valid signed public key and challenge

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Emits an E_WARNING level error if an invalid argument is passed via the spki parameter.

Örnekler

Örnek 1 openssl_spki_verify() example

Validates an existing signed public key and challenge

<?php
$pkey = openssl_pkey_new('secret password');
$spkac = openssl_spki_new($pkey, 'challenge string');

if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $spkac))) {
echo $spkac;
} else {
echo "SPKAC validation failed";
}
?>

Örnek 2 openssl_spki_verify() example from <keygen>

Validates an existing signed public key and challenge issued from the <keygen> element

<?php
if (openssl_spki_verify(preg_replace('/SPKAC=/', '', $_POST['spkac']))) {
echo $spkac;
} else {
echo "SPKAC validation failed";
}
?>
<keygen name="spkac" challenge="challenge string" keytype="RSA">

Ayrıca Bakınız

  • openssl_spki_new() - Generate a new signed public key and challenge
  • openssl_spki_export_challenge() - Exports the challenge associated with a signed public key and challenge
  • openssl_spki_export() - Exports a valid PEM formatted public key signed public key and challenge
  • openssl_get_md_methods() - Kullanılabilecek özet yöntemlerini döndürür
  • openssl_csr_new() - Bir sertifika imzalama isteği (CSR) üretir
  • openssl_csr_sign() - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir


İmzayı doğrular

  • « openssl_spki_verify
  • openssl_x509_check_private_key »
  • PHP Manual
  • OpenSSL İşlevleri
  • İmzayı doğrular

openssl_verify

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

openssl_verify — İmzayı doğrular

Açıklama

openssl_verify(
string $veri,
string $imza,
OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $genel_anahtar,
string|int $algoritma = OPENSSL_ALGO_SHA1
): int|false

genel_anahtar kimlikli genel anahtarı kullanarak belirtilen veri için belirtilen imza ile imza doğrulaması yapar.

Bağımsız Değişkenler

veri

İmzayı üretmek için kullanılmış veri.

imza

Doğrulama için kullanılacak imza.

genel_anahtar

OpenSSLAsymmetricKey - openssl_get_publickey() ile döndürülmüş bir anahtar

string - PEM biçemli anahtar, örnek:, -----BEGIN PUBLIC KEY----- MIIBCgK....

algoritma

int türünde, İmzalama algoritmalarından biri.

string türünde, openssl_get_md_methods() işlevinden döndürülmüş geçerli bir dizge (örn: "sha256WithRSAEncryption" veya "sha384".

Dönen Değerler

İmza doğruysa 1, yanlışsa 0, hata oluşmuşsa -1 veya false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.

Örnekler

Örnek 1 - openssl_verify() örneği

<?php
// $veri ve $imza'nın veriyi ve imzayı içerdiği varsayılıyor

// Genel anahtarı sertifikadan alıp hazırla
$pubkeyid = openssl_pkey_get_public("file://src/openssl-0.9.6/demos/sign/cert.pem");

// imza doğru mu?
$ok = openssl_verify($veri, $imza, $genankim);
if ($ok == 1) {
echo "iyi";
} elseif ($ok == 0) {
echo "kötü";
} else {
echo "çirkin, bir hata oluştu";
}
// Anahtar belleğini serbest bırak
openssl_free_key($genankim);
?>

Örnek 2 - openssl_verify() örneği

<?php
// imzalanacak veri
$data = 'my data';

// yeni genel ve gizli anahtar üret
$private_key_res = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$details = openssl_pkey_get_details($private_key_res);
$public_key_res = openssl_pkey_get_public($details['key']);

// imza üret
openssl_sign($data, $signature, $private_key_res, "sha256WithRSAEncryption");

// imzayı doğrula
$ok = openssl_verify($data, $signature, $public_key_res, OPENSSL_ALGO_SHA256);
if ($ok == 1) {
echo "geçerli";
} elseif ($ok == 0) {
echo "geçersiz";
} else {
echo "hata: ".openssl_error_string();
}
?>

Ayrıca Bakınız

  • openssl_sign() - İmza üretir


Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar

  • « openssl_verify
  • openssl_x509_checkpurpose »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar

openssl_x509_check_private_key

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_check_private_key — Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar

Açıklama

openssl_x509_check_private_key(OpenSSLCertificate|string $sertifika, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $gizli_anahtar): bool

Belirtilen gizli_anahtarın belirtilen sertifikaya karşılık olup olmadığına bakar.

Uyarı

İşlev gizli_anahtarın bir gizli anahtar olup olmadığına bakmaz. Sadece genel öğeleri (RSA anahtarının üssü ve modülü gibi) ve/veya anahtar çiftinin anahtar bağımsız değişkenlerini (EC anahtarının EC bağımsız değişkenleri gibi) karşılaştırır.

Yani, örneğin, gizli_anahtar için bir genel anahtar verilebilir ve işlev true döndürebilirdi.

Bağımsız Değişkenler

sertifika

Sertifika nesnesi.

gizli_anahtar

Gizli anahtar.

Dönen Değerler

Gizli anahtar, sertifika'nın karşılığı ise true yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 özkaynağı kabul edilirdi.
8.0.0 | gizli_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar

  • « openssl_x509_check_private_key
  • openssl_x509_export_to_file »
  • PHP Manual
  • OpenSSL İşlevleri
  • Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar

openssl_x509_checkpurpose

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_checkpurpose — Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar

Açıklama

openssl_x509_checkpurpose(
OpenSSLCertificate|string $sertifika,
int $amaç,
array $CA_bilgisi = [],
?string $güvenilmez_sertifikalar_dosyası = null
): bool|int

Belirtilen sertifikanın belirtilen amaç için kullanılıp kullanılmayacağına bakar.

Bağımsız Değişkenler

sertifika

İncelenen sertifika.

amaç

openssl_x509_checkpurpose() amaçlar
Sabit | Açıklama
X509_PURPOSE_SSL_CLIENT | Sertifika, bir SSL bağlantısının istemci tarafı için kullanılabilir mi?
X509_PURPOSE_SSL_SERVER | Sertifika, bir SSL bağlantısının sunucu tarafı için kullanılabilir mi?
X509_PURPOSE_NS_SSL_SERVER | Sertifika, Netscape SSL sunucusu için kullanılabilir mi?
X509_PURPOSE_SMIME_SIGN | Sertifika, S/MIME epostaları imzalamak için kullanılabilir mi?
X509_PURPOSE_SMIME_ENCRYPT | Sertifika, S/MIME epostaları şifrelemek için kullanılabilir mi?
X509_PURPOSE_CRL_SIGN | Sertifika, bir sertifika yürürlükten kaldırma listesi (CRL) için kullanılabilir mi?
X509_PURPOSE_ANY | Sertifika, her türlü amaç için kullanılabilir mi?
Bu seçenekler bit alanları değildir, dolayısıyla sadece biri belirtilebilir!

CA_bilgisi

Sertifika Doğrulama bölümünde açıklandığı gibi güvenilir yetkili sertifika dosya ve dizinlerini içeren bir dizi olmalıdır.

güvenilmez_sertifikalar_dosyası

Belirtildiği takdirde, sertifikayı doğrulamaya yardımcı olacak sertifikaların bulunduğu PEM kodlamalı dosyanın (bu dosyadan gelen sertifikalara güvenilmez ise de) ismi olmalıdır.

Dönen Değerler

Sertifika belirtilen amaç için kullanılabiliyorsa true, kullanılamıyorsa false, bir hata oluşmuşsa -1 döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 özkaynağı kabul edilirdi.
8.0.0 | güvenilmez_sertifikalar_dosyası artık null olabiliyor.


Belirtilen sertifikayı bir dosyaya kaydeder

  • « openssl_x509_checkpurpose
  • openssl_x509_export »
  • PHP Manual
  • OpenSSL İşlevleri
  • Belirtilen sertifikayı bir dosyaya kaydeder

openssl_x509_export_to_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_export_to_file — Belirtilen sertifikayı bir dosyaya kaydeder

Açıklama

openssl_x509_export_to_file(OpenSSLCertificate|string $sertifika, string $dosya, bool $metinsiz = true): bool

sertifika ile belirtilen sertifikayı yolu dosya bağımsız değişkeninde belirtilen dosyaya PEM kodlamalı bir dizge olarak kaydeder.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

dosya

Sertifikanın kaydedileceği dosyanın yolu.

metinsiz

Belirtilmesi isteğe bağlı olan metinsiz bağımsız değişkeni çıktının ayrıntı seviyesini belirler. false belirtilirse çıktıda insanlar için anlamlı bilgiler bulunmaz. Bağımsız değişkenin öntanımlı değeri: true

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 özkaynağı kabul edilirdi.


Belirtilen sertifikayı dizge olarak döndürür

  • « openssl_x509_export_to_file
  • openssl_x509_fingerprint »
  • PHP Manual
  • OpenSSL İşlevleri
  • Belirtilen sertifikayı dizge olarak döndürür

openssl_x509_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

openssl_x509_export — Belirtilen sertifikayı dizge olarak döndürür

Açıklama

openssl_x509_export(OpenSSLCertificate|string $sertifika, string &$çıktı, bool $metinsiz = true): bool

sertifika ile belirtilen sertifikayı çıktı bağımsız değişkeninde PEM kodlamalı bir dizge olarak döndürür.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

çıktı

PEM kodlamalı dizgenin konulacağı değişken.

metinsiz

Belirtilmesi isteğe bağlı olan metinsiz bağımsız değişkeni çıktının ayrıntı seviyesini belirler. false belirtilirse çıktıda insanlar için anlamlı bilgiler bulunmaz. Bağımsız değişkenin öntanımlı değeri: true

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 özkaynağı kabul edilirdi.


Calculates the fingerprint, or digest, of a given X.509 certificate

  • « openssl_x509_export
  • openssl_x509_free »
  • PHP Manual
  • OpenSSL İşlevleri
  • Calculates the fingerprint, or digest, of a given X.509 certificate

openssl_x509_fingerprint

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_x509_fingerprint — Calculates the fingerprint, or digest, of a given X.509 certificate

Açıklama

openssl_x509_fingerprint(OpenSSLCertificate|string $certificate, string $digest_algo = "sha1", bool $binary = false): string|false

openssl_x509_fingerprint() returns the digest of certificate as a string.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

digest_algo

The digest method or hash algorithm to use, e.g. "sha256", one of openssl_get_md_methods().

binary

When set to true, outputs raw binary data. false outputs lowercase hexits.

Dönen Değerler

Returns a string containing the calculated certificate fingerprint as lowercase hexits unless binary is set to true in which case the raw binary representation of the message digest is returned.

Returns false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.


Sertifika özkaynağını serbest bırakır

  • « openssl_x509_fingerprint
  • openssl_x509_parse »
  • PHP Manual
  • OpenSSL İşlevleri
  • Sertifika özkaynağını serbest bırakır

openssl_x509_free

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_free — Sertifika özkaynağını serbest bırakır

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

openssl_x509_free(OpenSSLCertificate $sertifika): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

sertifika ile belirtilen bellek özkaynağını serbest bırakır.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Etkisiz olduğundan bu işlevin kullanılması artık önerilmiyor.
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür

  • « openssl_x509_free
  • openssl_x509_read »
  • PHP Manual
  • OpenSSL İşlevleri
  • Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür

openssl_x509_parse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_parse — Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür

Açıklama

openssl_x509_parse(OpenSSLCertificate|string $sertifika, bool $kısa_adlar = true): array|false

sertifika ile belirtilen sertifika ile ilgili bilgiler (konu ismi, yayıncı ismi, amaçlar, geçerli olduğu tarihler gibi) döndürür.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

kısa_adlar

Dizi içinde verinin nasıl indisleneceği belirtilir. true belirtilirse (öntanımlıdır) indis olarak alanların kısa isimleri, aksi takdirde uzun isimleri kullanılır. Örneğin, CN, commonName için bir kısaltmadır.

Dönen Değerler

Dönen verinin yapısında değişiklik yapılma ihtimali olduğundan, yapı (ihtiyaten) henüz belgelenmemiştir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sertifika artık OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL X.509 özkaynağı kabul edilirdi.


X.509 sertifikasını çözümleyip sertifika için nesne döndürür

  • « openssl_x509_parse
  • openssl_x509_verify »
  • PHP Manual
  • OpenSSL İşlevleri
  • X.509 sertifikasını çözümleyip sertifika için nesne döndürür

openssl_x509_read

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

openssl_x509_read — X.509 sertifikasını çözümleyip sertifika için nesne döndürür

Açıklama

openssl_x509_read(OpenSSLCertificate|string $sertifika): OpenSSLCertificate|false

sertifika ile belirtilen sertifikayı çözümleyip sertifika ile ilgili bir nesne döndürür.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

Dönen Değerler

Başarı durumunda OpenSSLCertificate nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık OpenSSLAsymmetricKey örneği döndürüyor; evvelce OpenSSL key özkaynağı dönerdi.
8.0.0 | genel_anahtar artık OpenSSLAsymmetricKey veya OpenSSLCertificate örneği kabul ediyor; evvelce, OpenSSL key veya OpenSSL X.509 özkaynağı kabul edilirdi.


Verifies digital signature of x509 certificate against a public key

  • « openssl_x509_read
  • OpenSSLCertificate »
  • PHP Manual
  • OpenSSL İşlevleri
  • Verifies digital signature of x509 certificate against a public key

openssl_x509_verify

(PHP 7 >= 7.4.0, PHP 8)

openssl_x509_verify — Verifies digital signature of x509 certificate against a public key

Açıklama

openssl_x509_verify(OpenSSLCertificate|string $certificate, OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key): int

openssl_x509_verify() verifies that the certificate certificate was signed by the private key corresponding to public key public_key.

Bağımsız Değişkenler

sertifika

Geçerli değerler Anahtar/Sertifika Bağımsız değişkenleri sayfasında bulunabilir.

public_key

OpenSSLAsymmetricKey - a key, returned by openssl_get_publickey()

string - a PEM formatted key (e.g. -----BEGIN PUBLIC KEY----- MIIBCgK...)

Dönen Değerler

Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | certificate accepts an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was accepted.
8.0.0 | public_key accepts an OpenSSLAsymmetricKey or OpenSSLCertificate instance now; previously, a resource of type OpenSSL key or OpenSSL X.509 was accepted.

Örnekler

Örnek 1 openssl_x509_verify() example

<?php
$hostname = "news.php.net";
$ssloptions = array(
"capture_peer_cert" => true,
"capture_peer_cert_chain" => true,
"allow_self_signed"=> false,
"CN_match" => $hostname,
"verify_peer" => true,
"SNI_enabled" => true,
"SNI_server_name" => $hostname,
);

$ctx = stream_context_create( array("ssl" => $ssloptions) );
$result = stream_socket_client("ssl://$hostname:443", $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $ctx);
$cont = stream_context_get_params($result);
$x509 = $cont["options"]["ssl"]["peer_certificate"];
$certparsed = openssl_x509_parse($x509);

foreach($cont["options"]["ssl"]["peer_certificate_chain"] as $chaincert)
{
$chainparsed = openssl_x509_parse($chaincert);
$chain_public_key = openssl_get_publickey($chaincert);
$r = openssl_x509_verify($x509, $chain_public_key);
if ($r==1)
{
echo $certparsed['subject']['CN'];
echo " was digitally signed by ";
echo $chainparsed['subject']['CN']."\n";
}
}
?>

Ayrıca Bakınız

  • openssl_verify() - İmzayı doğrular
  • openssl_get_publickey() - openssl_pkey_get_public işlevinin takma adıdır


The OpenSSLCertificate sınıfı

(PHP 8)

Giriş

PHP 8.0.0 itibariyle, OpenSSL X.509 özkaynaklarının yerini alan tamamen kapalı sınıf.

Sınıf Sözdizimi

final class OpenSSLCertificate {
}


The OpenSSLCertificateSigningRequest sınıfı

(PHP 8)

Giriş

PHP 8.0.0 itibariyle, OpenSSL X.509 CSR özkaynaklarının yerini alan tamamen kapalı sınıf.

Sınıf Sözdizimi

final class OpenSSLCertificateSigningRequest {
}


The OpenSSLAsymmetricKey class

(PHP 8)

Giriş

PHP 8.0.0 itibariyle, OpenSSL Key özkaynaklarının yerini alan tamamen kapalı sınıf.

Sınıf Sözdizimi

final class OpenSSLAsymmetricKey {
}


Parola Aşlama

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Parola Aşlama İşlevleri
    • password_algos — Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür
    • password_get_info — Belirtilen aş hakkında bilgi döndürür
    • password_hash — Parola aşı oluşturur
    • password_needs_rehash — Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
    • password_verify — Parola ile aş eşleşmesini doğrular


Giriş

Parola aşlama arayüzü, parolaları güvenli bir şekilde oluşturmayı ve yönetmeyi kolaylaştırmak için crypt() ve diğer bazı parola aşlama algoritmaları etrafında kullanımı kolay bir sarmalayıcı sağlar.


Gereksinimler

Bu eklentiyi derlemek için harici kütüphanelere gerek yoktur.

Argon2 parola aşlaması için, » libargon2 gerekir. PHP 7.3.0 ve sonrası için, libargon2'nin 20161029 veya sonraki sürümü gerekir.


Kurulum

Bu işlevleri kullanmak için hiçbir şey kurmaya gerek yoktur; PHP çekirdeğinin parçasıdırlar.

Argon2 parola aşlamasını etkinleştirmek için, PHP'nin --with-password-argon2 yapılandırma seçeneği kullanılarak libargon2 desteğiyle derlenmesi gerekir.

PHP 8.1.0 öncesinde, argon2 dizini --with-password-argon2[=DiZiN] ile belirtilebiliyordu.


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

PASSWORD_BCRYPT (string)

CRYPT_BLOWFISH algoritması ile yeni bir parola aşı üretmekte kullanılır.

Bu daima, "$2y$" crypt() biçemi kullanılan 60 karakterlik bir aş ile sonuçlanır.

Desteklenen seçenekler:

  • salt (string) - Parola aşlanırken kullanmak üzere elle bir tuz sağlamak için kullanılır. Bunun bir tuzun otomatik olarak oluşturulmasını geçersiz kılıp önleyeceği unutulmamalıdır.

    Belirtilmezse, aşlanan her parola için password_hash() tarafından rasgele bir tuz üretilir. Bu amaçlanan çalışma kipidir.

    Uyarı

    PHP 7.0.0 ve sonrasında salt seçeneğinin kullanımı önerilmemektedir. Artık öntanımlı olarak üretilen tuzun kullanımı öneriliyor.

  • cost (int) - Kullanılması gereken algoritmik maliyeti belirtir. Bu değerin örnekleri crypt() işlevinde bulunabilir.

    Belirtilmezse, 10 öntanımlı değeri kullanılır. Bu iyi bir temel maliyettir, ancak donanımınıza bağlı olarak arttırılabilir.

PASSWORD_ARGON2I (string)

Argon2i algoritması ile yeni bir parola aşı üretmekte kullanılır.

Desteklenen seçenekler:

  • memory_cost (int) - Argon2 aşını hesaplamakta kullanılabilecek kilobibayt cinsinden azami bellek. PASSWORD_ARGON2_DEFAULT_MEMORY_COST öntanımlıdır.

  • time_cost (int) - Argon2 aşını hesaplamak için gerekebilecek azami süre. PASSWORD_ARGON2_DEFAULT_TIME_COST öntanımlıdır.

  • threads (int) - Argon2 aşını hesaplamak için kullanılacak evre sayısı. PASSWORD_ARGON2_DEFAULT_THREADS öntanımlıdır.

PHP 7.2.0 ve sonrasında kullanılabilir.

PASSWORD_ARGON2ID (string)

Argon2id algoritması ile yeni bir parola aşı üretmekte kullanılır. PASSWORD_ARGON2I için gereken seçenekler kullanılır.

PHP 7.3.0 ve sonrasında kullanılabilir.

PASSWORD_ARGON2_DEFAULT_MEMORY_COST (int)

Bir aş hesaplamaya çalışılırken kullanılacak bayt cinsinden öntanımlı bellek miktarı.

PHP 7.2.0 ve sonrasında kullanılabilir.

PASSWORD_ARGON2_DEFAULT_TIME_COST (int)

Bir aş hesaplamaya çalışılırken kullanılacak öntanımlı süre.

PHP 7.2.0 ve sonrasında kullanılabilir.

PASSWORD_ARGON2_DEFAULT_THREADS (int)

Argon2lib tarafından kullanılacak öntanımlı evre sayısı. libsodium eklentisi ile kullanılamaz.

Available as of PHP 7.2.0.

PASSWORD_DEFAULT (mixed)

Bir algoritma sağlanmazsa aşlama için kullanılacak öntanımlı algoritma. Desteklenebilecek daha yeni ve daha güçlü algoritmalar çıktıkça PHP'nin yeni sürümlerinde öntanımlı algoritma değişebilir.

Bu sabit, PHP'ye yeni ve daha güçlü algoritmalar eklendikçe zamanla değişmek üzere tasarlanmıştır. Bu sebeple, bu sabitin kullanımından kaynaklanan sonucun uzunluğu zamanla değişebilir. Bu bakımdan, sonucun 60 karakterden fazla genişleyebilen bir veritabanı sütununda saklanması önerilir (255 önerilen genişliktir).

Bu sabit için değerler:

  • PHP 5.5.0 - PASSWORD_BCRYPT

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Parola algoritma kimlikleri (PASSWORD_BCRYPT, PASSWORD_ARGON2I, PASSWORD_ARGON2ID ve PASSWORD_DEFAULT) artık dizge olabiliyor. Evvelce tamsayılar kullanılırdı.


Parola Aşlama İşlevleri

İçindekiler

  • password_algos — Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür
  • password_get_info — Belirtilen aş hakkında bilgi döndürür
  • password_hash — Parola aşı oluşturur
  • password_needs_rehash — Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
  • password_verify — Parola ile aş eşleşmesini doğrular


Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür

  • « Parola Aşlama İşlevleri
  • password_get_info »
  • PHP Manual
  • Parola Aşlama İşlevleri
  • Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür

password_algos

(PHP 7 >= 7.4.0, PHP 8)

password_algos — Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür

Açıklama

password_algos(): array

Kayıtlı parola aşlama algoritma kimliklerinin tümünü bir dizgeler dizisi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür.

Örnekler

Örnek 1 - password() temel kullanım örneği

<?php
print_r(password_algos());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 2y
    [1] => argon2i
    [2] => argon2id
)


Belirtilen aş hakkında bilgi döndürür

  • « password_algos
  • password_hash »
  • PHP Manual
  • Parola Aşlama İşlevleri
  • Belirtilen aş hakkında bilgi döndürür

password_get_info

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_get_info — Belirtilen aş hakkında bilgi döndürür

Açıklama

password_get_info(string $aş): array

password_hash() tarafından desteklenen bir algoritma kullanılarak oluşturulan geçerli bir aş aktarıldığı takdirde, bu işlev bu aş hakkında bir bilgi dizisi döndürür.

Bağımsız Değişkenler

aş

password_hash() işleviyle oluşturulan aş.

Dönen Değerler

3 elemanlı ilişkisel bir dizi döndürür:

  • algo: Bir parola algoritma sabiti ile eşleşir.
  • algoName: algoritmanın insanlarca okuyabilen adı.
  • options: password_hash() çağrılırken belirtilen seçenekler.


Parola aşı oluşturur

  • « password_get_info
  • password_needs_rehash »
  • PHP Manual
  • Parola Aşlama İşlevleri
  • Parola aşı oluşturur

password_hash

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_hash — Parola aşı oluşturur

Açıklama

password_hash(string $parola, string|int|null $algo, array $seçenekler = []): string

password_hash() işlevi güçlü ve tek yönlü bir aşlama algoritması kullanarak yeni bir parola aşı oluşturur.

Desteklenen algoritmalar:

  • PASSWORD_DEFAULT - Bcrypt algoritması kullanılır (PHP 5.5.0'dan itibaren öntanımlıdır). Bu sabitin, PHP'ye yeni ve daha güçlü algoritmalar eklendikçe zamanla değişmek üzere tasarlandığı unutulmamalıdır. Bu sebeple, bu tanımlayıcının kullanımından kaynaklanan sonucun uzunluğu zamanla değişebilir. Bu bakımdan, sonucun 60 karakterden fazla genişleyebilen bir veritabanı sütununda saklanması önerilir (255 karakter iyi bir seçim olacaktır).
  • PASSWORD_BCRYPT - Aş oluşturmak için CRYPT_BLOWFISH algoritması kullanılır. Bu, "$2y$" belirtecini kullanarak crypt() uyumlu standart bir aş oluşturacaktır. Sonuç her zaman 60 karakterlik bir dizge olacaktır, başarısızlık durumunda false döner.
  • PASSWORD_ARGON2I - Aş oluşturmak için Argon2i aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği ile derlenmişse kullanılabilir.
  • PASSWORD_ARGON2ID - Aş oluşturmak için Argon2id aşlama algoritması kullanılır. Bu algoritma sadece PHP, Argon2 desteği ile derlenmişse kullanılabilir.

PASSWORD_BCRYPT için desteklenen seçenekler:

  • salt (string) - Parola aşlanırken kullanmak üzere elle bir tuz sağlamak için kullanılır. Bunun bir tuzun otomatik olarak oluşturulmasını geçersiz kılıp önleyeceği unutulmamalıdır.

    Belirtilmezse, aşlanan her parola için password_hash() tarafından rasgele bir tuz üretilir. Bu amaçlanan çalışma kipidir.

    Uyarı

    salt seçeneğinin kullanımı önerilmemektedir. Artık öntanımlı olarak üretilen tuzun kullanımı öneriliyor. PHP 8.0.0 ve sonrasında elle sağlanan tuz yok sayılmaktadır.

  • cost (int) - Kullanılması gereken algoritmik maliyeti belirtir. Bu değerin örnekleri crypt() işlevinde bulunabilir.

    Belirtilmezse, 10 öntanımlı değeri kullanılır. Bu iyi bir temel maliyettir, ancak donanımınıza bağlı olarak arttırılabilir.

PASSWORD_ARGON2I ve PASSWORD_ARGON2ID için desteklenen seçenekler:

  • memory_cost (int) - Argon2 aşını hesaplamakta kullanılabilecek kilobibayt cinsinden azami bellek. PASSWORD_ARGON2_DEFAULT_MEMORY_COST öntanımlıdır.

  • time_cost (int) - Argon2 aşını hesaplamak için gerekebilecek azami süre. PASSWORD_ARGON2_DEFAULT_TIME_COST öntanımlıdır.

  • threads (int) - Argon2 aşını hesaplamak için kullanılacak evre sayısı. PASSWORD_ARGON2_DEFAULT_THREADS öntanımlıdır.

    Uyarı

    Sadece PHP libargon2 kullanıyorsa, libsodium gerçeklenimini kullanmıyorsa, kullanılabilir.

Bağımsız Değişkenler

parola

Kullanıcı parolası.

Dikkat

Algoritma olarak PASSWORD_BCRYPT kullanımı parola bağımsız değişkeninin 72 bayttan kırpılmasına sebep olur.

algo

Parolaya karıştırma uygulamak için kullanılacak algoritmayı belirten parola algoritması sabiti.

seçenekler

Seçenekleri içeren ilişkisel bir dizi. Her algoritma için desteklenen seçenekler parola algoritması sabitleri bölümünde bulunabilir.

Belirtilmezse, rasgele bir tuz oluşturulur ve öntanımlı maliyet kullanılır.

Dönen Değerler

Başarılı olursa aşlanmış parola döner.

Kullanılan algoritma, maliyet ve tuz aşın parçası olarak döndürülür. Bu bakımdan aş, doğrulanması için gereken tüm bilgiyi içermiş olur. Böylece, password_verify() işlevinin aşı doğrulamak için ayrı bir yerde saklanmış tuz ve algoritma bilgisine ihtiyacı olmaz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | password_hash() başarısız olduğunda artık false döndürmüyor, onun yerine parola aşlama algoritması geçersizse ValueError, bilinmeyen bir hatadan dolayı parola aşlanamazsa Error istisnası oluşuyor.
8.0.0 | algo bağımsız değişkeni artık null olabiliyor.
7.4.0 | algo için artık bir dizge gerekiyor, ancak geriye uyumluluk için hala tamsayılar kabul ediliyor.
7.4.0 | Argon2 parolalar için artık sodium eklentisi de bir diğer gerçeklenim olarak kullanılabiliyor.
7.3.0 | PASSWORD_ARGON2ID kullanan Argon2id parolaları için destek eklendi.
7.2.0 | PASSWORD_ARGON2I kullanan Argon2i parolaları için destek eklendi.

Örnekler

Örnek 1 - password_hash() örneği

<?php
/**
* Sadece mevcut öntanımlı algoritmayı kullanarak parolayı aşla.
* Bu şu anda BCRYPT'dir ve 60 karakterlik bir sonuç üretecektir.
*
* Öntanımlının zamanla değişebileceğine dikkat.
* Saklama alanı 60 karakterden fazlasını alabilmeli (255 iyidir)
*/
echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

Örnek 2 - Maliyet belirtilen password_hash() örneği

<?php
/**
* BCRYPT için öntanımlı maliyet 12'ye çıkarılmak isteniyor.
* BCRYPT için 60 karakter gerektiğine dikkat.
*/
$seçenekler = [
'cost' => 12,
];
echo password_hash("rasmuslerdorf", PASSWORD_BCRYPT, $seçenekler);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$2y$12$QjSH496pcT5CEbzjD/vtVeH03tfHKFy36d4J0Ltp3lRtee9HDxY3K

Örnek 3 - password_hash() iyi bir maliyet bulma örneği

<?php
/**
* Bu kod, karşılanabilir maliyetin ne kadar yüksek olduğunu
* belirlemek için sunucuyu sınayacaktır. Sunucuyu çok yavaşlatmadan
* atanabilecek en yüksek maliyetin belirlenmesi isteniyor. 10 iyi
* bir başlangıçtır ve sunucular yeterince hızlıysa fazlası daha iyidir.
* Aşağıdaki kod, etkileşimli oturum açılabilen sistemler için iyi bir sınır
* olarak ? 350 milisaniyelik süreyi hedeflemektedir.
*/
$süreHedefi = 0.35; // 350 milisaniye

$maliyet = 10;
do {
$maliyet++;
$ilk = microtime(true);
password_hash("test", PASSWORD_BCRYPT, ["cost" => $maliyet]);
$son = microtime(true);
} while (($son - $ilk) < $süreHedefi);

echo "Yaklaşık maliyet bulundu: " . $maliyet;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yaklaşık maliyet bulundu: 12

Örnek 4 - Argon2i kullanılan password_hash() örneği

<?php
echo 'Argon2i aş: ' . password_hash('rasmuslerdorf', PASSWORD_ARGON2I);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Argon2i aş: $argon2i$v=19$m=1024,t=2,p=2$YzJBSzV4TUhkMzc3d3laeg$zqU/1IN0/AogfP4cmSJI1vc8lpXRW9/S0sYY2i2jHT0

Notlar

Dikkat

Bu işlev için kendi tuzunuzu oluşturmamanız şiddetle tavsiye edilir. Tuz belirtilmezse, otomatik olarak güvenli bir tuz oluşturulur.

Yukarıda belirtildiği gibi, PHP 7.0'da salt seçeneğinin belirtilmesi, bir kullanımdan kaldırma uyarısı üretecektir. El ile tuz sağlama desteği, PHP 8.0'da kaldırıldı.

Bilginize:

Bu işlevin sunucularda sınanması ve cost bağımsız değişkeninin, işlevin etkileşimli sistemlerdeki çalışma süresinin 350 milisaniyeden daha az olmasını sağlayacak şekilde ayarlanması önerilir. Yukarıdaki örnek kod, donanım için iyi bir maliyet değeri seçilmesine yardımcı olacaktır.

Bilginize: Bu işlev tarafından desteklenen algoritmalarda yapılan güncellemeler (veya öntanımlı algoritmada yapılan değişiklikler) aşağıdaki kurallara uymalıdır:

  • Herhangi bir yeni algoritma, öntanımlı duruma gelmeden önce PHP'nin en az 1 tam sürümü için çekirdek kodda olmalıdır. Dolayısıyla, örneğin 7.5.5'te yeni bir algoritma eklenirse, 7.7'ye kadar öntanımlı olması uygun olmayacaktır (çünkü 7.6 ilk tam sürüm olacaktır). Ancak 7.6.0'da farklı bir algoritma eklenmişse, 7.7.0 öntanımlılık için uygun olacaktır.
  • Öntanımlı, düzeltme sürümünde değil, yalnızca tam sürümde (7.3.0, 8.0.0 vb.) değişmelidir. Bunun tek istisnası, geçerli öntanımlıda kritik bir güvenlik açığı bulunduğunda ortaya çıkan aciliyet durumudur.

Ayrıca Bakınız

  • password_verify() - Parola ile aş eşleşmesini doğrular
  • password_needs_rehash() - Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
  • crypt() - Tek yönlü dizge aşlama
  • sodium_crypto_pwhash_str() - Get an ASCII-encoded hash


Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular

  • « password_hash
  • password_verify »
  • PHP Manual
  • Parola Aşlama İşlevleri
  • Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular

password_needs_rehash

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_needs_rehash — Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular

Açıklama

password_needs_rehash(string $aş, string|int|null $algo, array $seçenekler = []): bool

Bu işlev, belirtilen aşın belirtilen algoritma ve seçeneklerle yeniden aşlanması gerekip gerekmediğine bakar. Gerekliyse, aşın yeniden aşlanması gerektiği varsayılır.

Bağımsız Değişkenler

aş

password_hash() işleviyle oluşturulan aş.

algo

Parolaya karıştırma uygulamak için kullanılacak algoritmayı belirten parola algoritması sabiti.

seçenekler

Seçenekleri içeren ilişkisel bir dizi. Her algoritma için desteklenen seçenekler parola algoritması sabitleri bölümünde bulunabilir.

Dönen Değerler

Aş, verilen algo ve seçeneklerle eşleşecek şekilde yeniden aşlanmalıysa true, aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | algo için artık bir dizge gerekiyor, ancak geriye uyumluluk için hala tamsayılar kabul ediliyor.

Örnekler

Örnek 1 - password_needs_rehash() kullanımı

<?php

$parola = 'rasmuslerdorf';
$aş = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';

$algorithm = PASSWORD_BCRYPT;
// bcrypt'in cost (maliyeti), donanımın geliştirilmesine bağlı olarak
// zamanla değişebilir
$sçnkler = array('cost' => 12);

// Saklı aşı düz metin parola ile doğrula
if (password_verify($parola, $aş)) {
// Aşlama algoritmasının veya seçeneklerin değişip değişmediğine bak
if (password_needs_rehash($aş, $algorithm, $sçnkler)) {
// Gerekliyse, yeni bir aş oluştur ve eskisinin yerine koy
$yeniAş = password_hash($parola, $algorithm, $sçnkler);

// Kullanıcı kaydını $yeniAş ile güncelle
}

// Kullanıcıya oturum aç
}
?>


Parola ile aş eşleşmesini doğrular

  • « password_needs_rehash
  • Rnp »
  • PHP Manual
  • Parola Aşlama İşlevleri
  • Parola ile aş eşleşmesini doğrular

password_verify

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_verify — Parola ile aş eşleşmesini doğrular

Açıklama

password_verify(string $parola, string $aş): bool

Belirtilen aş ile belirtilen parolanın eşleşmesini doğrular. password_verify() işlevi crypt() işlevi ile uyumludur. Bu bakımdan crypt() ile oluşturulan parola aşları password_verify() ile kullanılabilir.

password_hash() işlevinin döndürdüğü aşın içinde algoritma, maliyet ve tuz bulunduğuna dikkat edilmelidir. Bu bakımdan, bir aşı doğrulamak için gereken tüm bilgi içinde olur. Bu, tuz veya algoritma bilgisinin ayrı bir depoda saklanmasını gerektirmeden doğrulama işlevinin aşı doğrulamasını sağlar.

Bu işlev zamanlama saldırılarına karşı güvenlidir.

Bağımsız Değişkenler

parola

Kullanıcı parolası.

aş

password_hash() işleviyle oluşturulan aş.

Dönen Değerler

Parola ve aş eşleşirse true, aksi takdirde false döner.

Örnekler

Örnek 1 - password_verify() örneği

Bu basit bir örnek olup gerekirse doğu parolanın yeniden aşlanması önerilir; password_needs_rehash() işlevinde bunun yapılış örneği vardır.

<?php
// Bunun nereden geldiğini öğrenmek için password_hash() örneğine bak
$aş = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';

if (password_verify('rasmuslerdorf', $aş)) {
echo 'Parola geçerli!';
} else {
echo 'Geçersiz parola.';
}
?>

Yukarıdaki örneğin çıktısı:

Parola geçerli!

Ayrıca Bakınız

  • password_needs_rehash() - Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
  • password_hash() - Parola aşı oluşturur
  • » kullanıcının gerçeklenimi
  • sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash


Rnp

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Clearsign text
  • Rnp İşlevleri
    • rnp_backend_string — Return cryptographic backend library name
    • rnp_backend_version — Return cryptographic backend library version
    • rnp_decrypt — Decrypt PGP message
    • rnp_dump_packets_to_json — Dump OpenPGP packets stream information to the JSON string
    • rnp_dump_packets — Dump OpenPGP packets stream information in humand-readable format
    • rnp_ffi_create — Create the top-level object used for interacting with the library
    • rnp_ffi_destroy — Destroy the top-level object used for interacting with the library
    • rnp_ffi_set_pass_provider — Set password provider callback function
    • rnp_import_keys — Import keys from PHP string to the keyring and receive JSON describing new/updated keys
    • rnp_import_signatures — Import standalone signatures to the keyring and receive JSON describing updated keys
    • rnp_key_export_autocrypt — Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)
    • rnp_key_export_revocation — Generate and export primary key revocation signature
    • rnp_key_export — Export a key
    • rnp_key_get_info — Get information about the key
    • rnp_key_remove — Remove a key from keyring(s)
    • rnp_key_revoke — Revoke a key or subkey by generating and adding revocation signature
    • rnp_list_keys — Enumerate all keys present in a keyring by specified identifer type
    • rnp_load_keys_from_path — Load keys from specified path
    • rnp_load_keys — Load keys from PHP string
    • rnp_locate_key — Search for the key
    • rnp_op_encrypt — Encrypt message
    • rnp_op_generate_key — Generate key
    • rnp_op_sign_cleartext — Perform signing operation on a textual data, return cleartext signed message
    • rnp_op_sign_detached — Perform signing operation, return detached signature(s)
    • rnp_op_sign — Perform signing operation on a binary data, return embedded signature(s)
    • rnp_op_verify_detached — Verify detached signatures
    • rnp_op_verify — Verify embedded or cleartext signatures
    • rnp_save_keys_to_path — Save keys to specified path
    • rnp_save_keys — Save keys to PHP string
    • rnp_supported_features — Get supported features in JSON format
    • rnp_version_string_full — Full version string of RNP library
    • rnp_version_string — RNP library version
  • RnpFFI — The RnpFFI class


Giriş

This module allows you to use » RNP library. RNP is a high performance C++ OpenPGP library used by Mozilla Thunderbird.


Gereksinimler

In order to use RNP library functions you need to install the» RNP library. RNP library version >= 0.16.2 is required.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/rnp


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

RNP_KEYSTORE_GPG (string)
Keystore format "GPG".
RNP_KEYSTORE_KBX (string)
Keystore format "KBX". For public keys only. A keybox is a file format used to store public keys along with meta information and indices.
RNP_KEYSTORE_G10 (string)
Keystore format "G10". For private keys.
RNP_LOAD_SAVE_PUBLIC_KEYS (integer)
Load or save public keys only. Can be OR-ed with RNP_LOAD_SAVE_SECRET_KEYS to load both public and private keys to the FFI context or save them from the context.
RNP_LOAD_SAVE_SECRET_KEYS (integer)
Load or save secret keys only. Can be OR-ed with RNP_LOAD_SAVE_PUBLIC_KEYS to load both public and private keys to the FFI context or save them from the context.
RNP_LOAD_SAVE_PERMISSIVE (integer)
Allows to ignore bad signature/key/subkey packets during key import.
RNP_LOAD_SAVE_SINGLE (integer)
If set, only the first key will be loaded.
RNP_LOAD_SAVE_BASE64 (integer)
Allow import of base64-encoded keys (autocrypt ones).
RNP_FEATURE_SYMM_ALG (string)
List available symmetric encryption algorithms.
RNP_FEATURE_AEAD_ALG (string)
List available AEAD algorithms.
RNP_FEATURE_PROT_MODE (string)
List available protection modes.
RNP_FEATURE_PK_ALG (string)
List available public key algorithms.
RNP_FEATURE_HASH_ALG (string)
List available hash algorithms.
RNP_FEATURE_COMP_ALG (string)
List available compression algorithms.
RNP_FEATURE_CURVE (string)
List available elliptic curves.
RNP_DUMP_MPI (integer)
Dump MPI (Multi-precision integer) values.
RNP_DUMP_RAW (integer)
Dump raw packet contents as well.
RNP_DUMP_GRIP (integer)
Dump key fingerprints and grips.
RNP_JSON_DUMP_MPI (integer)
Dump MPI (Multi-precision integer) values.
RNP_JSON_DUMP_RAW (integer)
Dump raw packet contents as well.
RNP_JSON_DUMP_GRIP (integer)
Dump key fingerprints and grips.
RNP_ENCRYPT_NOWRAP (integer)
Allows encryption of signed message. Message is not wrapped into literal data packet.
RNP_KEY_EXPORT_ARMORED (integer)
Enable ASCII-armoring of exported data.
RNP_KEY_EXPORT_PUBLIC (integer)
Export public key.
RNP_KEY_EXPORT_SECRET (integer)
Export secret key.
RNP_KEY_EXPORT_SUBKEYS (integer)
If primary key is being exported, all subkeys will be exported too.
RNP_KEY_EXPORT_BASE64 (integer)
Export base64-encoded autocrypt key instead of binary.
RNP_KEY_REMOVE_PUBLIC (integer)
Remove public key.
RNP_KEY_REMOVE_SECRET (integer)
Remove secret key.
RNP_KEY_REMOVE_SUBKEYS (integer)
If primary key is being deleted, all of its subkeys will be removed too.


  • « Öntanımlı Sabitler
  • Clearsign text »
  • PHP Manual
  • Rnp
  • Örnekler

Örnekler

İçindekiler

  • Clearsign text


Clearsign text

This example will clearsign a given text.

Örnek 1 RNP clearsign example

<?php
// init FFI object
$ffi = rnp_ffi_create('GPG', 'GPG');

// generate RSA key
$key = rnp_op_generate_key($ffi, 'test@example.com', 'RSA');

// sign
$data = "Example text to sign";
$signature = rnp_op_sign_cleartext($ffi, $data, array($key));

echo $signature;

// destroy FFI object
rnp_ffi_destroy($ffi);
?>


Rnp İşlevleri

İçindekiler

  • rnp_backend_string — Return cryptographic backend library name
  • rnp_backend_version — Return cryptographic backend library version
  • rnp_decrypt — Decrypt PGP message
  • rnp_dump_packets_to_json — Dump OpenPGP packets stream information to the JSON string
  • rnp_dump_packets — Dump OpenPGP packets stream information in humand-readable format
  • rnp_ffi_create — Create the top-level object used for interacting with the library
  • rnp_ffi_destroy — Destroy the top-level object used for interacting with the library
  • rnp_ffi_set_pass_provider — Set password provider callback function
  • rnp_import_keys — Import keys from PHP string to the keyring and receive JSON describing new/updated keys
  • rnp_import_signatures — Import standalone signatures to the keyring and receive JSON describing updated keys
  • rnp_key_export_autocrypt — Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)
  • rnp_key_export_revocation — Generate and export primary key revocation signature
  • rnp_key_export — Export a key
  • rnp_key_get_info — Get information about the key
  • rnp_key_remove — Remove a key from keyring(s)
  • rnp_key_revoke — Revoke a key or subkey by generating and adding revocation signature
  • rnp_list_keys — Enumerate all keys present in a keyring by specified identifer type
  • rnp_load_keys_from_path — Load keys from specified path
  • rnp_load_keys — Load keys from PHP string
  • rnp_locate_key — Search for the key
  • rnp_op_encrypt — Encrypt message
  • rnp_op_generate_key — Generate key
  • rnp_op_sign_cleartext — Perform signing operation on a textual data, return cleartext signed message
  • rnp_op_sign_detached — Perform signing operation, return detached signature(s)
  • rnp_op_sign — Perform signing operation on a binary data, return embedded signature(s)
  • rnp_op_verify_detached — Verify detached signatures
  • rnp_op_verify — Verify embedded or cleartext signatures
  • rnp_save_keys_to_path — Save keys to specified path
  • rnp_save_keys — Save keys to PHP string
  • rnp_supported_features — Get supported features in JSON format
  • rnp_version_string_full — Full version string of RNP library
  • rnp_version_string — RNP library version


Return cryptographic backend library name

  • « Rnp İşlevleri
  • rnp_backend_version »
  • PHP Manual
  • Rnp İşlevleri
  • Return cryptographic backend library name

rnp_backend_string

(PECL rnp >= 0.1.1)

rnp_backend_string — Return cryptographic backend library name

Açıklama

rnp_backend_string(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Backend name string. Currently supported backends are "Botan" and "OpenSSL".


Return cryptographic backend library version

  • « rnp_backend_string
  • rnp_decrypt »
  • PHP Manual
  • Rnp İşlevleri
  • Return cryptographic backend library version

rnp_backend_version

(PECL rnp >= 0.1.1)

rnp_backend_version — Return cryptographic backend library version

Açıklama

rnp_backend_version(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Version string.


Decrypt PGP message

  • « rnp_backend_version
  • rnp_dump_packets_to_json »
  • PHP Manual
  • Rnp İşlevleri
  • Decrypt PGP message

rnp_decrypt

(PECL rnp >= 0.1.1)

rnp_decrypt — Decrypt PGP message

Açıklama

rnp_decrypt(RnpFFI $ffi, string $input): string|false

Private keys used for decryption should be loaded into the FFI object before calling this function. If password encryption was used, then password provider should be set by calling rnp_ffi_set_pass_provider().

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

input

Encrypted message.

Dönen Değerler

Decrypted message on success başarısızlık durumunda false döner.


Dump OpenPGP packets stream information to the JSON string

  • « rnp_decrypt
  • rnp_dump_packets »
  • PHP Manual
  • Rnp İşlevleri
  • Dump OpenPGP packets stream information to the JSON string

rnp_dump_packets_to_json

(PECL rnp >= 0.1.1)

rnp_dump_packets_to_json — Dump OpenPGP packets stream information to the JSON string

Açıklama

rnp_dump_packets_to_json(string $input, int $flags): string|false

Bağımsız Değişkenler

input

Input string containing OpenPGP data, either in binary or ASCII-armored format.

flags

See RNP_JSON_DUMP_* predefined constants.

Dönen Değerler

JSON string with dump başarısızlık durumunda false döner.


Dump OpenPGP packets stream information in humand-readable format

  • « rnp_dump_packets_to_json
  • rnp_ffi_create »
  • PHP Manual
  • Rnp İşlevleri
  • Dump OpenPGP packets stream information in humand-readable format

rnp_dump_packets

(PECL rnp >= 0.1.1)

rnp_dump_packets — Dump OpenPGP packets stream information in humand-readable format

Açıklama

rnp_dump_packets(string $input, int $flags): string|false

Bağımsız Değişkenler

input

Input string containing OpenPGP data, either in binary or ASCII-armored format.

flags

See RNP_DUMP_* predefined constants.

Dönen Değerler

Text describing packet sequence başarısızlık durumunda false döner.


Create the top-level object used for interacting with the library

  • « rnp_dump_packets
  • rnp_ffi_destroy »
  • PHP Manual
  • Rnp İşlevleri
  • Create the top-level object used for interacting with the library

rnp_ffi_create

(PECL rnp >= 0.1.1)

rnp_ffi_create — Create the top-level object used for interacting with the library

Açıklama

rnp_ffi_create(string $pub_format, string $sec_format): RnpFFI|false

Bağımsız Değişkenler

pub_format

the format of the public keyring, RNP_KEYSTORE_GPG or other RNP_KEYSTORE_* constant.

sec_format

the format of the secret keyring, RNP_KEYSTORE_GPG or other RNP_KEYSTORE_* constant

Dönen Değerler

Returns RnpFFI object on success başarısızlık durumunda false döner.


Destroy the top-level object used for interacting with the library

  • « rnp_ffi_create
  • rnp_ffi_set_pass_provider »
  • PHP Manual
  • Rnp İşlevleri
  • Destroy the top-level object used for interacting with the library

rnp_ffi_destroy

(PECL rnp >= 0.1.1)

rnp_ffi_destroy — Destroy the top-level object used for interacting with the library

Açıklama

rnp_ffi_destroy(RnpFFI $ffi): void

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

Dönen Değerler


Set password provider callback function

  • « rnp_ffi_destroy
  • rnp_import_keys »
  • PHP Manual
  • Rnp İşlevleri
  • Set password provider callback function

rnp_ffi_set_pass_provider

(PECL rnp >= 0.1.1)

rnp_ffi_set_pass_provider — Set password provider callback function

Açıklama

rnp_ffi_set_pass_provider(RnpFFI $ffi, callable $password_callback): bool

Sets password provider function. This function can ask for the password on a standard input (if PHP script is executed in a command line environment), display GUI dialog or provide password in any other possible ways. Requested passwords are used to encrypt or decrypt secret keys or perform symmetric encryption/decryption operations.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

password_callback

The function that is to be called for every password request. It has the following signature:

password_callback(string $key_fp, string $pgp_context, string &$password): bool
  • $key_fp - The key fingerprint, if any. Can be empty.
  • $pgp_context - String describing why the key is being requested.
  • $password - Password string reference where provided password should be stored to.
Callback function should return true if password was successfully set başarısızlık durumunda false döner.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 simple callback function example

<?php
function password_callback(string $key_fp, string $pgp_context, string &$password)
{
$password = "password";

return true;
}

$ffi = rnp_ffi_create('GPG', 'GPG');

rnp_ffi_set_pass_provider($ffi, 'password_callback');


Import keys from PHP string to the keyring and receive JSON describing new/updated keys

  • « rnp_ffi_set_pass_provider
  • rnp_import_signatures »
  • PHP Manual
  • Rnp İşlevleri
  • Import keys from PHP string to the keyring and receive JSON describing new/updated keys

rnp_import_keys

(PECL rnp >= 0.1.1)

rnp_import_keys — Import keys from PHP string to the keyring and receive JSON describing new/updated keys

Açıklama

rnp_import_keys(RnpFFI $ffi, string $input, int $flags): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

input

OpenPGP packets containing key(s) to be loaded. Can be either binary or ASCII armored.

flags

See RNP_LOAD_SAVE_* predefined constants.

Dönen Değerler

JSON string with information about new and updated keys on success başarısızlık durumunda false döner.


Import standalone signatures to the keyring and receive JSON describing updated keys

  • « rnp_import_keys
  • rnp_key_export_autocrypt »
  • PHP Manual
  • Rnp İşlevleri
  • Import standalone signatures to the keyring and receive JSON describing updated keys

rnp_import_signatures

(PECL rnp >= 0.1.1)

rnp_import_signatures — Import standalone signatures to the keyring and receive JSON describing updated keys

Açıklama

rnp_import_signatures(RnpFFI $ffi, string $input, int $flags): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

input

OpenPGP packets containing signatures to be imported. Can be either binary or ASCII armored.

flags

Currently must be 0.

Dönen Değerler

JSON string with information about updated keys on success başarısızlık durumunda false döner.


Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)

  • « rnp_import_signatures
  • rnp_key_export_revocation »
  • PHP Manual
  • Rnp İşlevleri
  • Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)

rnp_key_export_autocrypt

(PECL rnp >= 0.1.1)

rnp_key_export_autocrypt — Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)

Açıklama

rnp_key_export_autocrypt(
RnpFFI $ffi,
string $key_fp,
string $subkey_fp,
string $uid,
int $flags
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Primary key fingerprint.

subkey_fp

Subkey to export. Can be an empty string to pick the first suitable subkey.

uid

User ID to export. Can be an empty string if exported key has only one uid.

flags

Only RNP_KEY_EXPORT_BASE64 is currently supported. Enabling it would export base64-encoded key data instead of binary.

Dönen Değerler

OpenPGP packets of exported key on success başarısızlık durumunda false döner.


Generate and export primary key revocation signature

  • « rnp_key_export_autocrypt
  • rnp_key_export »
  • PHP Manual
  • Rnp İşlevleri
  • Generate and export primary key revocation signature

rnp_key_export_revocation

(PECL rnp >= 0.1.1)

rnp_key_export_revocation — Generate and export primary key revocation signature

Açıklama

rnp_key_export_revocation(
RnpFFI $ffi,
string $key_fp,
int $flags,
array $options = ?
): string|false

Note: to revoke a key you'll need to import this signature into the keystore or use rnp_key_revoke() function.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Key fingerprint of the primary key to be revoked.

flags

RNP_KEY_EXPORT_ARMORED or 0.

options

An associative array with options.

Key | Data type | Açıklama
"hash" | string | Set hash algorithm used during signature calculation.
"code" | string | Code reason for revocation code. Possible values: 'no', 'superseded', 'compromised', 'retired'. If not defined, then value 'no' will be used by default.
"reason" | string | Textual representation of the reason for revocation.

Dönen Değerler

Exported revocation signature on success başarısızlık durumunda false döner.


Export a key

  • « rnp_key_export_revocation
  • rnp_key_get_info »
  • PHP Manual
  • Rnp İşlevleri
  • Export a key

rnp_key_export

(PECL rnp >= 0.1.1)

rnp_key_export — Export a key

Açıklama

rnp_key_export(RnpFFI $ffi, string $key_fp, int $flags): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Key fingerprint.

flags

See RNP_KEY_EXPORT_* predefined constants (except RNP_KEY_EXPORT_BASE64).

Dönen Değerler

OpenPGP packets of exported key (binary or ASCII-armored) on success başarısızlık durumunda false döner.


Get information about the key

  • « rnp_key_export
  • rnp_key_remove »
  • PHP Manual
  • Rnp İşlevleri
  • Get information about the key

rnp_key_get_info

(PECL rnp >= 0.1.1)

rnp_key_get_info — Get information about the key

Açıklama

rnp_key_get_info(RnpFFI $ffi, string $key_fp): array|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Key fingerprint.

Dönen Değerler

An associative array with information about the key başarısızlık durumunda false döner.

Key | Data type | Açıklama
"is_primary" | boolean | true if this key is the primary key.
"is_sub" | boolean | true if this key is a subkey.
"is_valid" | boolean | true if public key is valid. This includes checks of the self-signatures, expiration times, revocations and so on.
"is_revoked" | boolean | true if this key is revoked.
"is_superseded" | boolean | true if this key is superseded. Present only if the key is revoked.
"is_compromised" | boolean | true if this key is compromised. Present only if the key is revoked.
"is_retired" | boolean | true if this key is retired. Present only if the key is revoked.
"is_expired" | boolean | true if this key is expired.
"have_secret" | boolean | true if this key has secret part.
"is_locked" | boolean | true if this key is currently locked. Only present for secret keys.
"is_protected" | boolean | true if this key is protected. Only present for secret keys. A protected key is one that is encrypted and can be safely held in memory and locked/unlocked as needed.
"have_public" | boolean | true if this key has public part. Generally all keys would have public part.
"valid_till" | integer | The timestamp till which key can be considered as valid. Note: this will take into account not only key's expiration, but revocations as well. For the subkey primary key's validity time will be also checked.
"bits" | integer | Number of bits in the key. For EC-based keys it will contain size of the curve.
"alg" | string | Key algorithm name.
"subkeys" | array | An indexed array containing fingerprint strings of subkeys. Only present for primary keys. Could be empty if primary key has no subkeys.
"uids" | array | An indexed array containing user ID strings. Only present for primary keys. Could be empty if primary key has no user ID-s.


Remove a key from keyring(s)

  • « rnp_key_get_info
  • rnp_key_revoke »
  • PHP Manual
  • Rnp İşlevleri
  • Remove a key from keyring(s)

rnp_key_remove

(PECL rnp >= 0.1.1)

rnp_key_remove — Remove a key from keyring(s)

Açıklama

rnp_key_remove(RnpFFI $ffi, string $key_fp, int $flags): bool

Note: you need to call rnp_save_keys() to write updated keyring(s) out.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Key fingerprint.

flags

See RNP_KEY_REMOVE_* constants. Flag RNP_KEY_REMOVE_SUBKEYS will work only for the primary key and will remove all of its subkeys as well.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Revoke a key or subkey by generating and adding revocation signature

  • « rnp_key_remove
  • rnp_list_keys »
  • PHP Manual
  • Rnp İşlevleri
  • Revoke a key or subkey by generating and adding revocation signature

rnp_key_revoke

(PECL rnp >= 0.1.1)

rnp_key_revoke — Revoke a key or subkey by generating and adding revocation signature

Açıklama

rnp_key_revoke(
RnpFFI $ffi,
string $key_fp,
int $flags,
array $options = ?
): bool

Note: you need to call rnp_save_keys() to write updated keyring(s) out.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

key_fp

Key fingerprint.

flags

Currently must be 0.

options

An associative array with options.

Key | Data type | Açıklama
"hash" | string | Set hash algorithm used during signature calculation.
"code" | string | Code reason for revocation code. Possible values: 'no', 'superseded', 'compromised', 'retired'. If not defined, then value 'no' will be used by default.
"reason" | string | Textual representation of the reason for revocation.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Enumerate all keys present in a keyring by specified identifer type

  • « rnp_key_revoke
  • rnp_load_keys_from_path »
  • PHP Manual
  • Rnp İşlevleri
  • Enumerate all keys present in a keyring by specified identifer type

rnp_list_keys

(PECL rnp >= 0.1.1)

rnp_list_keys — Enumerate all keys present in a keyring by specified identifer type

Açıklama

rnp_list_keys(RnpFFI $ffi, string $identifier_type): array|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

identifier_type

Key identifier type ("userid", "keyid", "grip", "fingerprint").

Dönen Değerler

An associative array where key is an identifier string and value is a PGP key fingerprint başarısızlık durumunda false döner.


Load keys from specified path

  • « rnp_list_keys
  • rnp_load_keys »
  • PHP Manual
  • Rnp İşlevleri
  • Load keys from specified path

rnp_load_keys_from_path

(PECL rnp >= 0.1.1)

rnp_load_keys_from_path — Load keys from specified path

Açıklama

rnp_load_keys_from_path(
RnpFFI $ffi,
string $format,
string $input_path,
int $flags
): bool

Note that for G10, the input must be a directory (which must already exist).

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

format

Veri anahtarının biçimi (GPG, KBX, G10).

input_path

file or directory containing the keys.

flags

RNP_LOAD_SAVE_* seçeneklerinin açıklamalarına bakılabilir.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Load keys from PHP string

  • « rnp_load_keys_from_path
  • rnp_locate_key »
  • PHP Manual
  • Rnp İşlevleri
  • Load keys from PHP string

rnp_load_keys

(PECL rnp >= 0.1.1)

rnp_load_keys — Load keys from PHP string

Açıklama

rnp_load_keys(
RnpFFI $ffi,
string $format,
string $input,
int $flags
): bool

Note that for G10, the input must be a directory (which must already exist).

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

format

Veri anahtarının biçimi (GPG, KBX, G10).

input

OpenPGP packets containing key(s) to be loaded. Can be either binary or ASCII armored.

flags

RNP_LOAD_SAVE_* seçeneklerinin açıklamalarına bakılabilir.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Search for the key

  • « rnp_load_keys
  • rnp_op_encrypt »
  • PHP Manual
  • Rnp İşlevleri
  • Search for the key

rnp_locate_key

(PECL rnp >= 0.1.1)

rnp_locate_key — Search for the key

Açıklama

rnp_locate_key(RnpFFI $ffi, string $identifier_type, string $identifier): string|false

Note: only valid userids are checked while searching by userid.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

identifier_type

Identifier type string: "userid", "keyid", "fingerprint", "grip".

identifier

PGP User ID (name and email) for "userid" type, hexadecimal string that represents key id, fingerprint or key grip correspondingly.

Dönen Değerler

Returns hexadecimal fingerprint of the key found on success başarısızlık durumunda false döner.


Encrypt message

  • « rnp_locate_key
  • rnp_op_generate_key »
  • PHP Manual
  • Rnp İşlevleri
  • Encrypt message

rnp_op_encrypt

(PECL rnp >= 0.1.1)

rnp_op_encrypt — Encrypt message

Açıklama

rnp_op_encrypt(
RnpFFI $ffi,
string $message,
array $recipient_keys_fp,
array $options = ?
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

message

Message to be encrypted.

recipient_keys_fp

Array with fingerprints of recipient's keys. At least one key must be present.

options

An associative array with options.

Key | Data type | Açıklama
"compression_alg" | string | Compression algorithm. Both "compression_alg" and "compression_level" must be set in order to enable data compression.
"compression_level" | integer | Compression level, 0-9. 0 disables compression.
"armor" | boolean | Enable ASCII-armored output. Disabled by default.
"add_signature" | boolean | Encrypted message will be also signed.
"hash" | string | Set hash algorithm used during signature calculation. "add_signature" option should be set to true
"creation_time" | integer | Set signature creation time in seconds since Jan, 1 1970 UTC. By default current time is used.
"expiration_time" | integer | Set signature expiration time in seconds since the creation time. 0 value is used to mark signature as non-expiring (default value).
"password" | string | Add password which is used to encrypt data.
"cipher" | string | Set symmetric encryption algorithm. Possible values are "IDEA", "TRIPLEDES", "CAST5", "BLOWFISH", "AES128", "AES192", "AES256", "TWOFISH", "CAMELLIA128", "CAMELLIA192", "CAMELLIA256", "SM4".
"aead" | string | Set AEAD mode algorithm. Possible values are "None" to disable AEAD, "EAX", "OCB".
"aead_bits" | integer | Set chunk length for AEAD mode via number of chunk size bits. Must be between 0 to 56.
"flags" | integer | Set additional encryption flags. Supported flags: RNP_ENCRYPT_NOWRAP - do not wrap the data in a literal data packet. This would allow to encrypt already signed data.
"file_name" | string | Set the internally stored file name for the data being encrypted. Special value _CONSOLE may be used to mark message as 'for your eyes only', i.e. it should not be stored anywhere but only displayed to the receiver. Default is the empty string.
"file_mtime" | integer | Set input file modification date in seconds since Jan, 1 1970 UTC.

Dönen Değerler

Encrypted data on success başarısızlık durumunda false döner.


Generate key

  • « rnp_op_encrypt
  • rnp_op_sign_cleartext »
  • PHP Manual
  • Rnp İşlevleri
  • Generate key

rnp_op_generate_key

(PECL rnp >= 0.1.1)

rnp_op_generate_key — Generate key

Açıklama

rnp_op_generate_key(
RnpFFI $ffi,
string $userid,
string $key_alg,
string $sub_alg = ?,
array $options = ?
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

userid

PGP User ID - text that is intended to represent the name and email address of the key holder.

key_alg

Primary key algorithm (i.e. 'RSA', 'DSA', etc).

sub_alg

Subkey algorithm. If not set, subkey will not be generated.

options

An associative array with options.

Key | Data type | Açıklama
"bits" | integer | Primary key size in bits. Applicable only to RSA, DSA and El-Gamal keys.
"hash" | string | Hash algorithm used in self signature or subkey binding signature.
"dsa_qbits" | integer | Set size of a q parameter for DSA key. Note: appropriate default value will be set, depending on key bits. However you may override it if needed.
"curve" | string | Set the curve used for ECC key. Note: this is only applicable for ECDSA, ECDH and SM2 keys.
"request_password" | boolean | Enable requesting password via password provider. This password will be used for key encryption. Password provider callback function should be set in advance by calling rnp_ffi_set_pass_provider(). Note: this setting will be ignored if password was set via"password"
"password" | string | Set the password used to encrypt the secret key data.
"expiration" | integer | Set the key and subkey expiration time in seconds.
"sub_bits" | integer | Subkey size in bits. Applicable only to RSA, DSA and El-Gamal keys.
"sub_hash" | string | Hash algorithm used in subkey self signature or subkey binding signature.
"sub_curve" | string | Set the curve used for ECC subkey. Note: this is only applicable for ECDSA, ECDH and SM2 keys.

Dönen Değerler

Fingerprint of the generated primary key başarısızlık durumunda false döner. This fingerprint can be used later to reference the key in sign and encrypt operations. The key data is stored in FFI memory context and can be saved using rnp_save_keys() or rnp_save_keys_to_path().


Perform signing operation on a textual data, return cleartext signed message

  • « rnp_op_generate_key
  • rnp_op_sign_detached »
  • PHP Manual
  • Rnp İşlevleri
  • Perform signing operation on a textual data, return cleartext signed message

rnp_op_sign_cleartext

(PECL rnp >= 0.1.1)

rnp_op_sign_cleartext — Perform signing operation on a textual data, return cleartext signed message

Açıklama

rnp_op_sign_cleartext(
RnpFFI $ffi,
string $data,
array $keys_fp,
array $options = ?
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

data

Data to be signed.

keys_fp

Array with key fingerprints. At least one key must be provided. Keys should be present in ffi.

options

An associative array with options.

Key | Data type | Açıklama
"armor" | boolean | Enable ASCII-armored output. Disabled by default.
"hash" | string | Set hash algorithm used during signature calculation.
"creation_time" | integer | Set signature creation time in seconds since Jan, 1 1970 UTC. By default current time is used.
"expiration_time" | integer | Set signature expiration time in seconds since the creation time. 0 value is used to mark signature as non-expiring (default value).

Dönen Değerler

Cleartext signed message containing source data with additional headers and ASCII-armored signature on success başarısızlık durumunda false döner.


Perform signing operation, return detached signature(s)

  • « rnp_op_sign_cleartext
  • rnp_op_sign »
  • PHP Manual
  • Rnp İşlevleri
  • Perform signing operation, return detached signature(s)

rnp_op_sign_detached

(PECL rnp >= 0.1.1)

rnp_op_sign_detached — Perform signing operation, return detached signature(s)

Açıklama

rnp_op_sign_detached(
RnpFFI $ffi,
string $data,
array $keys_fp,
array $options = ?
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

data

Data to be signed.

keys_fp

Array with key fingerprints. At least one key must be provided. Keys should be present in ffi.

options

An associative array with options.

Key | Data type | Açıklama
"armor" | boolean | Enable ASCII-armored output. Disabled by default.
"hash" | string | Set hash algorithm used during signature calculation.
"creation_time" | integer | Set signature creation time in seconds since Jan, 1 1970 UTC. By default current time is used.
"expiration_time" | integer | Set signature expiration time in seconds since the creation time. 0 value is used to mark signature as non-expiring (default value).

Dönen Değerler

Detached signature(s) data on success başarısızlık durumunda false döner.


Perform signing operation on a binary data, return embedded signature(s)

  • « rnp_op_sign_detached
  • rnp_op_verify_detached »
  • PHP Manual
  • Rnp İşlevleri
  • Perform signing operation on a binary data, return embedded signature(s)

rnp_op_sign

(PECL rnp >= 0.1.1)

rnp_op_sign — Perform signing operation on a binary data, return embedded signature(s)

Açıklama

rnp_op_sign(
RnpFFI $ffi,
string $data,
array $keys_fp,
array $options = ?
): string|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

data

Data to be signed.

keys_fp

Array with key fingerprints. At least one key must be provided. Keys should be present in ffi.

options

An associative array with options.

Key | Data type | Açıklama
"compression_alg" | string | Compression algorithm. Both "compression_alg" and "compression_level" must be set in order to enable data compression.
"compression_level" | integer | Compression level, 0-9. 0 disables compression.
"armor" | boolean | Enable ASCII-armored output. Disabled by default.
"hash" | string | Set hash algorithm used during signature calculation.
"creation_time" | integer | Set signature creation time in seconds since Jan, 1 1970 UTC. By default current time is used.
"expiration_time" | integer | Set signature expiration time in seconds since the creation time. 0 value is used to mark signature as non-expiring (default value).
"file_name" | string | Set input file name.Special value _CONSOLE may be used to mark message as 'for your eyes only', i.e. it should not be stored anywhere but only displayed to the receiver. Default is the empty string.
"file_mtime" | integer | Set input file modification date in seconds since Jan, 1 1970 UTC.

Dönen Değerler

Data with embedded signature(s) on success başarısızlık durumunda false döner.


Verify detached signatures

  • « rnp_op_sign
  • rnp_op_verify »
  • PHP Manual
  • Rnp İşlevleri
  • Verify detached signatures

rnp_op_verify_detached

(PECL rnp >= 0.1.1)

rnp_op_verify_detached — Verify detached signatures

Açıklama

rnp_op_verify_detached(RnpFFI $ffi, string $data, string $signature): array|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

data

Source data.

signature

Detached signature data.

Dönen Değerler

An associative array with information about verification results başarısızlık durumunda false döner.

Key | Data type | Açıklama
"verification_status" | string | Overall verification result, either "Success" string or appropriate error message. "Success" result is set when at least one signature is valid and successfully verified. Individual verification results for each signature can be checked in the "signatures" array.
"file_name" | string | File name.
"file_mtime" | integer | File modification time.
"mode" | string | Data protection (encryption) mode used in processed message. Currently defined values are "none", "cfb", "cfb-mdc", "aead-ocb", "aead-eax".
"cipher" | string | Symmetric cipher used for data encryption.
"valid_integrity" | boolean | true if message integrity protection was used (i.e. MDC or AEAD) and it was validated successfully.
"signatures" | array | An associative array describing each signature found. See description below.

"signatures" sub-array.

Key | Data type | Açıklama
"verification_status" | string | Signature verification status, either "Success" string or appropriate error message.
"creation_time" | integer | Signature creation time in seconds since Jan, 1 1970 UTC.
"expiration_time" | integer | Signature expiration time in seconds since the creation time or 0 if signature never expires.
"hash" | string | Hash function algorithm used to calculate the signature.
"signing_key" | string | Fingerprint of the key used for signing. Could be "Not found" if corresponding public key is not loaded to the FFI object.
"signature_type" | string | Signature type. Currently defined values are: 'binary', 'text', 'standalone', 'certification (generic)', 'certification (persona)', 'certification (casual)', 'certification (positive)', 'subkey binding', 'primary key binding', 'direct', 'key revocation', 'subkey revocation', 'certification revocation', 'timestamp', 'uknown: 0..255'.


Verify embedded or cleartext signatures

  • « rnp_op_verify_detached
  • rnp_save_keys_to_path »
  • PHP Manual
  • Rnp İşlevleri
  • Verify embedded or cleartext signatures

rnp_op_verify

(PECL rnp >= 0.1.1)

rnp_op_verify — Verify embedded or cleartext signatures

Açıklama

rnp_op_verify(RnpFFI $ffi, string $data): array|false

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

data

Signed data.

Dönen Değerler

An associative array with information about verification results başarısızlık durumunda false döner.

Key | Data type | Açıklama
"verification_status" | string | Overall verification result, either "Success" string or appropriate error message. "Success" result is set when at least one signature is valid and successfully verified. Individual verification results for each signature can be checked in the "signatures" array.
"file_name" | string | File name.
"file_mtime" | integer | File modification time.
"mode" | string | Data protection (encryption) mode used in processed message. Currently defined values are "none", "cfb", "cfb-mdc", "aead-ocb", "aead-eax".
"cipher" | string | Symmetric cipher used for data encryption.
"valid_integrity" | boolean | true if message integrity protection was used (i.e. MDC or AEAD) and it was validated successfully.
"signatures" | array | An associative array describing each signature found. See description below.

"signatures" sub-array.

Key | Data type | Açıklama
"verification_status" | string | Signature verification status, either "Success" string or appropriate error message.
"creation_time" | integer | Signature creation time in seconds since Jan, 1 1970 UTC.
"expiration_time" | integer | Signature expiration time in seconds since the creation time or 0 if signature never expires.
"hash" | string | Hash function algorithm used to calculate the signature.
"signing_key" | string | Fingerprint of the key used for signing. Could be "Not found" if corresponding public key is not loaded to the FFI object.
"signature_type" | string | Signature type. Currently defined values are: 'binary', 'text', 'standalone', 'certification (generic)', 'certification (persona)', 'certification (casual)', 'certification (positive)', 'subkey binding', 'primary key binding', 'direct', 'key revocation', 'subkey revocation', 'certification revocation', 'timestamp', 'uknown: 0..255'.


Save keys to specified path

  • « rnp_op_verify
  • rnp_save_keys »
  • PHP Manual
  • Rnp İşlevleri
  • Save keys to specified path

rnp_save_keys_to_path

(PECL rnp >= 0.1.1)

rnp_save_keys_to_path — Save keys to specified path

Açıklama

rnp_save_keys_to_path(
RnpFFI $ffi,
string $format,
string $output_path,
int $flags
): bool

Saves keys present in the FFI object (loaded or generated) to the specified file or directory.

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

format

Veri anahtarının biçimi (GPG, KBX, G10).

output_path

File or directory path where keys should be saved to.

flags

RNP_LOAD_SAVE_* seçeneklerinin açıklamalarına bakılabilir.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Save keys to PHP string

  • « rnp_save_keys_to_path
  • rnp_supported_features »
  • PHP Manual
  • Rnp İşlevleri
  • Save keys to PHP string

rnp_save_keys

(PECL rnp >= 0.1.1)

rnp_save_keys — Save keys to PHP string

Açıklama

rnp_save_keys(
RnpFFI $ffi,
string $format,
string &$output,
int $flags
): bool

Note that for G10, the output must be a directory (which must already exist).

Bağımsız Değişkenler

ffi

rnp_ffi_create tarafından döndürülen FFI nesnesi.

format

Veri anahtarının biçimi (GPG, KBX, G10).

output

key packets will be saved to the string referenced by output.

flags

RNP_LOAD_SAVE_* seçeneklerinin açıklamalarına bakılabilir.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.


Get supported features in JSON format

  • « rnp_save_keys
  • rnp_version_string_full »
  • PHP Manual
  • Rnp İşlevleri
  • Get supported features in JSON format

rnp_supported_features

(PECL rnp >= 0.1.1)

rnp_supported_features — Get supported features in JSON format

Açıklama

rnp_supported_features(string $type): string|false

Get the JSON formatted string containing array of supported rnp feature values (algorithms, curves, etc) by type.

Bağımsız Değişkenler

type

See RNP_FEATURE_* constants for supported values.

Dönen Değerler

String containing JSON formatted array of supported algorithms, curves, etc başarısızlık durumunda false döner.


Full version string of RNP library

  • « rnp_supported_features
  • rnp_version_string »
  • PHP Manual
  • Rnp İşlevleri
  • Full version string of RNP library

rnp_version_string_full

(PECL rnp >= 0.1.1)

rnp_version_string_full — Full version string of RNP library

Açıklama

rnp_version_string_full(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns full version string of RNP library.


RNP library version

  • « rnp_version_string_full
  • RnpFFI »
  • PHP Manual
  • Rnp İşlevleri
  • RNP library version

rnp_version_string

(PECL rnp >= 0.1.1)

rnp_version_string — RNP library version

Açıklama

rnp_version_string(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns RNP library version string.


  • « rnp_version_string
  • Sodium »
  • PHP Manual
  • Rnp
  • The RnpFFI class

The RnpFFI class

(PECL rnp >= 0.1.1)

Giriş

Sınıf Sözdizimi

class RnpFFI {
}


Sodium

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Sodium İşlevleri
    • sodium_add — Add large numbers
    • sodium_base642bin — Decodes a base64-encoded string into raw binary.
    • sodium_bin2base64 — Encodes a raw binary string with base64.
    • sodium_bin2hex — Encode to hexadecimal
    • sodium_compare — Compare large numbers
    • sodium_crypto_aead_aes256gcm_decrypt — Verify then decrypt a message with AES-256-GCM
    • sodium_crypto_aead_aes256gcm_encrypt — Encrypt then authenticate with AES-256-GCM
    • sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM
    • sodium_crypto_aead_aes256gcm_keygen — Generate a random AES-256-GCM key
    • sodium_crypto_aead_chacha20poly1305_decrypt — Verify then decrypt with ChaCha20-Poly1305
    • sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt then authenticate with ChaCha20-Poly1305
    • sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_keygen — Generate a random ChaCha20-Poly1305 (IETF) key.
    • sodium_crypto_aead_chacha20poly1305_keygen — Generate a random ChaCha20-Poly1305 key.
    • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — (Preferred) Verify then decrypt with XChaCha20-Poly1305
    • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
    • sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Generate a random XChaCha20-Poly1305 key.
    • sodium_crypto_auth_keygen — Generate a random key for sodium_crypto_auth
    • sodium_crypto_auth_verify — Verifies that the tag is valid for the message
    • sodium_crypto_auth — Compute a tag for the message
    • sodium_crypto_box_keypair_from_secretkey_and_publickey — Create a unified keypair string from a secret key and public key
    • sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key
    • sodium_crypto_box_open — Authenticated public-key decryption
    • sodium_crypto_box_publickey_from_secretkey — Calculate the public key from a secret key
    • sodium_crypto_box_publickey — Extract the public key from a crypto_box keypair
    • sodium_crypto_box_seal_open — Anonymous public-key decryption
    • sodium_crypto_box_seal — Anonymous public-key encryption
    • sodium_crypto_box_secretkey — Extracts the secret key from a crypto_box keypair
    • sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key
    • sodium_crypto_box — Authenticated public-key encryption
    • sodium_crypto_core_ristretto255_add — Adds an element
    • sodium_crypto_core_ristretto255_from_hash — Maps a vector
    • sodium_crypto_core_ristretto255_is_valid_point — Determines if a point on the ristretto255 curve
    • sodium_crypto_core_ristretto255_random — Generates a random key
    • sodium_crypto_core_ristretto255_scalar_add — Adds a scalar value
    • sodium_crypto_core_ristretto255_scalar_complement — The sodium_crypto_core_ristretto255_scalar_complement purpose
    • sodium_crypto_core_ristretto255_scalar_invert — Inverts a scalar value
    • sodium_crypto_core_ristretto255_scalar_mul — Multiplies a scalar value
    • sodium_crypto_core_ristretto255_scalar_negate — Negates a scalar value
    • sodium_crypto_core_ristretto255_scalar_random — Generates a random key
    • sodium_crypto_core_ristretto255_scalar_reduce — Reduces a scalar value
    • sodium_crypto_core_ristretto255_scalar_sub — Subtracts a scalar value
    • sodium_crypto_core_ristretto255_sub — Subtracts an element
    • sodium_crypto_generichash_final — Complete the hash
    • sodium_crypto_generichash_init — Initialize a hash for streaming
    • sodium_crypto_generichash_keygen — Generate a random generichash key
    • sodium_crypto_generichash_update — Add message to a hash
    • sodium_crypto_generichash — Get a hash of the message
    • sodium_crypto_kdf_derive_from_key — Derive a subkey
    • sodium_crypto_kdf_keygen — Generate a random root key for the KDF interface
    • sodium_crypto_kx_client_session_keys — Calculate the client-side session keys.
    • sodium_crypto_kx_keypair — Creates a new sodium keypair
    • sodium_crypto_kx_publickey — Extract the public key from a crypto_kx keypair
    • sodium_crypto_kx_secretkey — Extract the secret key from a crypto_kx keypair.
    • sodium_crypto_kx_seed_keypair — Description
    • sodium_crypto_kx_server_session_keys — Calculate the server-side session keys.
    • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string
    • sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash
    • sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password, using scrypt
    • sodium_crypto_pwhash_str_needs_rehash — Determine whether or not to rehash a password
    • sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash
    • sodium_crypto_pwhash_str — Get an ASCII-encoded hash
    • sodium_crypto_pwhash — Derive a key from a password, using Argon2
    • sodium_crypto_scalarmult_base — Takma Adı: sodium_crypto_box_publickey_from_secretkey
    • sodium_crypto_scalarmult_ristretto255_base — Calculates the public key from a secret key
    • sodium_crypto_scalarmult_ristretto255 — Computes a shared secret
    • sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key
    • sodium_crypto_secretbox_keygen — Generate random key for sodium_crypto_secretbox
    • sodium_crypto_secretbox_open — Authenticated shared-key decryption
    • sodium_crypto_secretbox — Authenticated shared-key encryption
    • sodium_crypto_secretstream_xchacha20poly1305_init_pull — Initialize a secretstream context for decryption
    • sodium_crypto_secretstream_xchacha20poly1305_init_push — Initialize a secretstream context for encryption
    • sodium_crypto_secretstream_xchacha20poly1305_keygen — Generate a random secretstream key.
    • sodium_crypto_secretstream_xchacha20poly1305_pull — Decrypt a chunk of data from an encrypted stream
    • sodium_crypto_secretstream_xchacha20poly1305_push — Encrypt a chunk of data so that it can safely be decrypted in a streaming API
    • sodium_crypto_secretstream_xchacha20poly1305_rekey — Explicitly rotate the key in the secretstream state
    • sodium_crypto_shorthash_keygen — Get random bytes for key
    • sodium_crypto_shorthash — Compute a short hash of a message and key
    • sodium_crypto_sign_detached — Sign the message
    • sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key
    • sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key
    • sodium_crypto_sign_keypair_from_secretkey_and_publickey — Join a secret key and public key together
    • sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key
    • sodium_crypto_sign_open — Check that the signed message has a valid signature
    • sodium_crypto_sign_publickey_from_secretkey — Extract the Ed25519 public key from the secret key
    • sodium_crypto_sign_publickey — Extract the Ed25519 public key from a keypair
    • sodium_crypto_sign_secretkey — Extract the Ed25519 secret key from a keypair
    • sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key
    • sodium_crypto_sign_verify_detached — Verify signature for the message
    • sodium_crypto_sign — Sign a message
    • sodium_crypto_stream_keygen — Generate a random sodium_crypto_stream key.
    • sodium_crypto_stream_xchacha20_keygen — Returns a secure random key
    • sodium_crypto_stream_xchacha20_xor_ic — Encrypts a message using a nonce and a secret key (no authentication)
    • sodium_crypto_stream_xchacha20_xor — Encrypts a message using a nonce and a secret key (no authentication)
    • sodium_crypto_stream_xchacha20 — Expands the key and nonce into a keystream of pseudorandom bytes
    • sodium_crypto_stream_xor — Encrypt a message without authentication
    • sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed
    • sodium_hex2bin — Decodes a hexadecimally encoded binary string
    • sodium_increment — Increment large number
    • sodium_memcmp — Test for equality in constant-time
    • sodium_memzero — Overwrite a string with NUL characters
    • sodium_pad — Add padding data
    • sodium_unpad — Remove padding data
  • SodiumException — The SodiumException class


Giriş

Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires » libsodium ? 1.0.8.


Kurulum

As of PHP 7.2.0 this extension is bundled with PHP. For older PHP versions this extension is available via PECL.

Linux Systems

In order to use this extension you must compile PHP with sodium support by using the --with-sodium[=DIR] configure option.

Windows

In order to use this extension you have to add extension=php_sodium.dll to php.ini.

Installation via PECL

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/libsodium


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SODIUM_LIBRARY_VERSION (string)
SODIUM_LIBRARY_MAJOR_VERSION (int)
SODIUM_LIBRARY_MINOR_VERSION (int)
SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES (int)
SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES (int)
SODIUM_CRYPTO_AUTH_BYTES (int)
SODIUM_CRYPTO_AUTH_KEYBYTES (int)
SODIUM_CRYPTO_BOX_SEALBYTES (int)
SODIUM_CRYPTO_BOX_SECRETKEYBYTES (int)
SODIUM_CRYPTO_BOX_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_BOX_KEYPAIRBYTES (int)
SODIUM_CRYPTO_BOX_MACBYTES (int)
SODIUM_CRYPTO_BOX_NONCEBYTES (int)
SODIUM_CRYPTO_BOX_SEEDBYTES (int)
SODIUM_CRYPTO_KDF_BYTES_MIN (int)
SODIUM_CRYPTO_KDF_BYTES_MAX (int)
SODIUM_CRYPTO_KDF_CONTEXTBYTES (int)
SODIUM_CRYPTO_KDF_KEYBYTES (int)
SODIUM_CRYPTO_KX_SEEDBYTES (int)
SODIUM_CRYPTO_KX_SESSIONKEYBYTES (int)
SODIUM_CRYPTO_KX_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_KX_SECRETKEYBYTES (int)
SODIUM_CRYPTO_KX_KEYPAIRBYTES (int)
SODIUM_CRYPTO_GENERICHASH_BYTES (int)
SODIUM_CRYPTO_GENERICHASH_BYTES_MIN (int)
SODIUM_CRYPTO_GENERICHASH_BYTES_MAX (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN (int)
SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX (int)
SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13 (int)
SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13 (int)
SODIUM_CRYPTO_PWHASH_ALG_DEFAULT (int)
SODIUM_CRYPTO_PWHASH_SALTBYTES (int)
SODIUM_CRYPTO_PWHASH_STRPREFIX (string)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE (int)
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX (string)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE (int)
SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_SCALARMULT_BYTES (int)
SODIUM_CRYPTO_SCALARMULT_SCALARBYTES (int)
SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_SHORTHASH_BYTES (int)
SODIUM_CRYPTO_SHORTHASH_KEYBYTES (int)
SODIUM_CRYPTO_SECRETBOX_KEYBYTES (int)
SODIUM_CRYPTO_SECRETBOX_MACBYTES (int)
SODIUM_CRYPTO_SECRETBOX_NONCEBYTES (int)
SODIUM_CRYPTO_SIGN_BYTES (int)
SODIUM_CRYPTO_SIGN_SEEDBYTES (int)
SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES (int)
SODIUM_CRYPTO_SIGN_SECRETKEYBYTES (int)
SODIUM_CRYPTO_SIGN_KEYPAIRBYTES (int)
SODIUM_CRYPTO_STREAM_NONCEBYTES (int)
SODIUM_CRYPTO_STREAM_KEYBYTES (int)
SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES (int)
Available as of PHP 8.1.0.
SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES (int)
Available as of PHP 8.1.0.


Sodium İşlevleri

İçindekiler

  • sodium_add — Add large numbers
  • sodium_base642bin — Decodes a base64-encoded string into raw binary.
  • sodium_bin2base64 — Encodes a raw binary string with base64.
  • sodium_bin2hex — Encode to hexadecimal
  • sodium_compare — Compare large numbers
  • sodium_crypto_aead_aes256gcm_decrypt — Verify then decrypt a message with AES-256-GCM
  • sodium_crypto_aead_aes256gcm_encrypt — Encrypt then authenticate with AES-256-GCM
  • sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM
  • sodium_crypto_aead_aes256gcm_keygen — Generate a random AES-256-GCM key
  • sodium_crypto_aead_chacha20poly1305_decrypt — Verify then decrypt with ChaCha20-Poly1305
  • sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt then authenticate with ChaCha20-Poly1305
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen — Generate a random ChaCha20-Poly1305 (IETF) key.
  • sodium_crypto_aead_chacha20poly1305_keygen — Generate a random ChaCha20-Poly1305 key.
  • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — (Preferred) Verify then decrypt with XChaCha20-Poly1305
  • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
  • sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Generate a random XChaCha20-Poly1305 key.
  • sodium_crypto_auth_keygen — Generate a random key for sodium_crypto_auth
  • sodium_crypto_auth_verify — Verifies that the tag is valid for the message
  • sodium_crypto_auth — Compute a tag for the message
  • sodium_crypto_box_keypair_from_secretkey_and_publickey — Create a unified keypair string from a secret key and public key
  • sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key
  • sodium_crypto_box_open — Authenticated public-key decryption
  • sodium_crypto_box_publickey_from_secretkey — Calculate the public key from a secret key
  • sodium_crypto_box_publickey — Extract the public key from a crypto_box keypair
  • sodium_crypto_box_seal_open — Anonymous public-key decryption
  • sodium_crypto_box_seal — Anonymous public-key encryption
  • sodium_crypto_box_secretkey — Extracts the secret key from a crypto_box keypair
  • sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key
  • sodium_crypto_box — Authenticated public-key encryption
  • sodium_crypto_core_ristretto255_add — Adds an element
  • sodium_crypto_core_ristretto255_from_hash — Maps a vector
  • sodium_crypto_core_ristretto255_is_valid_point — Determines if a point on the ristretto255 curve
  • sodium_crypto_core_ristretto255_random — Generates a random key
  • sodium_crypto_core_ristretto255_scalar_add — Adds a scalar value
  • sodium_crypto_core_ristretto255_scalar_complement — The sodium_crypto_core_ristretto255_scalar_complement purpose
  • sodium_crypto_core_ristretto255_scalar_invert — Inverts a scalar value
  • sodium_crypto_core_ristretto255_scalar_mul — Multiplies a scalar value
  • sodium_crypto_core_ristretto255_scalar_negate — Negates a scalar value
  • sodium_crypto_core_ristretto255_scalar_random — Generates a random key
  • sodium_crypto_core_ristretto255_scalar_reduce — Reduces a scalar value
  • sodium_crypto_core_ristretto255_scalar_sub — Subtracts a scalar value
  • sodium_crypto_core_ristretto255_sub — Subtracts an element
  • sodium_crypto_generichash_final — Complete the hash
  • sodium_crypto_generichash_init — Initialize a hash for streaming
  • sodium_crypto_generichash_keygen — Generate a random generichash key
  • sodium_crypto_generichash_update — Add message to a hash
  • sodium_crypto_generichash — Get a hash of the message
  • sodium_crypto_kdf_derive_from_key — Derive a subkey
  • sodium_crypto_kdf_keygen — Generate a random root key for the KDF interface
  • sodium_crypto_kx_client_session_keys — Calculate the client-side session keys.
  • sodium_crypto_kx_keypair — Creates a new sodium keypair
  • sodium_crypto_kx_publickey — Extract the public key from a crypto_kx keypair
  • sodium_crypto_kx_secretkey — Extract the secret key from a crypto_kx keypair.
  • sodium_crypto_kx_seed_keypair — Description
  • sodium_crypto_kx_server_session_keys — Calculate the server-side session keys.
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string
  • sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash
  • sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password, using scrypt
  • sodium_crypto_pwhash_str_needs_rehash — Determine whether or not to rehash a password
  • sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash
  • sodium_crypto_pwhash_str — Get an ASCII-encoded hash
  • sodium_crypto_pwhash — Derive a key from a password, using Argon2
  • sodium_crypto_scalarmult_base — Takma Adı: sodium_crypto_box_publickey_from_secretkey
  • sodium_crypto_scalarmult_ristretto255_base — Calculates the public key from a secret key
  • sodium_crypto_scalarmult_ristretto255 — Computes a shared secret
  • sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key
  • sodium_crypto_secretbox_keygen — Generate random key for sodium_crypto_secretbox
  • sodium_crypto_secretbox_open — Authenticated shared-key decryption
  • sodium_crypto_secretbox — Authenticated shared-key encryption
  • sodium_crypto_secretstream_xchacha20poly1305_init_pull — Initialize a secretstream context for decryption
  • sodium_crypto_secretstream_xchacha20poly1305_init_push — Initialize a secretstream context for encryption
  • sodium_crypto_secretstream_xchacha20poly1305_keygen — Generate a random secretstream key.
  • sodium_crypto_secretstream_xchacha20poly1305_pull — Decrypt a chunk of data from an encrypted stream
  • sodium_crypto_secretstream_xchacha20poly1305_push — Encrypt a chunk of data so that it can safely be decrypted in a streaming API
  • sodium_crypto_secretstream_xchacha20poly1305_rekey — Explicitly rotate the key in the secretstream state
  • sodium_crypto_shorthash_keygen — Get random bytes for key
  • sodium_crypto_shorthash — Compute a short hash of a message and key
  • sodium_crypto_sign_detached — Sign the message
  • sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key
  • sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey — Join a secret key and public key together
  • sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key
  • sodium_crypto_sign_open — Check that the signed message has a valid signature
  • sodium_crypto_sign_publickey_from_secretkey — Extract the Ed25519 public key from the secret key
  • sodium_crypto_sign_publickey — Extract the Ed25519 public key from a keypair
  • sodium_crypto_sign_secretkey — Extract the Ed25519 secret key from a keypair
  • sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key
  • sodium_crypto_sign_verify_detached — Verify signature for the message
  • sodium_crypto_sign — Sign a message
  • sodium_crypto_stream_keygen — Generate a random sodium_crypto_stream key.
  • sodium_crypto_stream_xchacha20_keygen — Returns a secure random key
  • sodium_crypto_stream_xchacha20_xor_ic — Encrypts a message using a nonce and a secret key (no authentication)
  • sodium_crypto_stream_xchacha20_xor — Encrypts a message using a nonce and a secret key (no authentication)
  • sodium_crypto_stream_xchacha20 — Expands the key and nonce into a keystream of pseudorandom bytes
  • sodium_crypto_stream_xor — Encrypt a message without authentication
  • sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed
  • sodium_hex2bin — Decodes a hexadecimally encoded binary string
  • sodium_increment — Increment large number
  • sodium_memcmp — Test for equality in constant-time
  • sodium_memzero — Overwrite a string with NUL characters
  • sodium_pad — Add padding data
  • sodium_unpad — Remove padding data


Add large numbers

  • « Sodium İşlevleri
  • sodium_base642bin »
  • PHP Manual
  • Sodium İşlevleri
  • Add large numbers

sodium_add

(PHP 7 >= 7.2.0, PHP 8)

sodium_add — Add large numbers

Açıklama

sodium_add(string &$string1, string $string2): void

This adds the parameter string2 to string1, overwriting the value stored in string1. This function assumes both parameters are binary strings that represent unsigned integers in little-endian byte order.

Bağımsız Değişkenler

string1

String representing an arbitrary-length unsigned integer in little-endian byte order. This parameter is passed by reference and will hold the sum of the two parameters.

string2

String representing an arbitrary-length unsigned integer in little-endian byte order.

Dönen Değerler

Hiçbir değer dönmez.


Decodes a base64-encoded string into raw binary.

  • « sodium_add
  • sodium_bin2base64 »
  • PHP Manual
  • Sodium İşlevleri
  • Decodes a base64-encoded string into raw binary.

sodium_base642bin

(PHP 7 >= 7.2.0, PHP 8)

sodium_base642bin — Decodes a base64-encoded string into raw binary.

Açıklama

sodium_base642bin(string $string, int $id, string $ignore = ""): string

Converts a base64 encoded string into raw binary. Unlike base64_decode(), sodium_base642bin() is constant-time (a property that is important for any code that touches cryptographic inputs, such as plaintexts or keys) and supports multiple character sets.

Bağımsız Değişkenler

string

string; Encoded string.

id

  • SODIUM_BASE64_VARIANT_ORIGINAL for standard (A-Za-z0-9/\+) Base64 encoding.
  • SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING for standard (A-Za-z0-9/\+) Base64 encoding, without = padding characters.
  • SODIUM_BASE64_VARIANT_URLSAFE for URL-safe (A-Za-z0-9\-_) Base64 encoding.
  • SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING for URL-safe (A-Za-z0-9\-_) Base64 encoding, without = padding characters.

ignore

Characters to ignore when decoding (e.g. whitespace characters).

Dönen Değerler

Decoded string.


Encodes a raw binary string with base64.

  • « sodium_base642bin
  • sodium_bin2hex »
  • PHP Manual
  • Sodium İşlevleri
  • Encodes a raw binary string with base64.

sodium_bin2base64

(PHP 7 >= 7.2.0, PHP 8)

sodium_bin2base64 — Encodes a raw binary string with base64.

Açıklama

sodium_bin2base64(string $string, int $id): string

Converts a raw binary string into a base64-encoded string. Unlike base64_encode(), sodium_bin2base64() is constant-time (a property that is important for any code that touches cryptographic inputs, such as plaintexts or keys) and supports multiple character sets.

Bağımsız Değişkenler

string

Raw binary string.

id

  • SODIUM_BASE64_VARIANT_ORIGINAL for standard (A-Za-z0-9/\+) Base64 encoding.
  • SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING for standard (A-Za-z0-9/\+) Base64 encoding, without = padding characters.
  • SODIUM_BASE64_VARIANT_URLSAFE for URL-safe (A-Za-z0-9\-_) Base64 encoding.
  • SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING for URL-safe (A-Za-z0-9\-_) Base64 encoding, without = padding characters.

Dönen Değerler

Base64-encoded string.


Encode to hexadecimal

  • « sodium_bin2base64
  • sodium_compare »
  • PHP Manual
  • Sodium İşlevleri
  • Encode to hexadecimal

sodium_bin2hex

(PHP 7 >= 7.2.0, PHP 8)

sodium_bin2hex — Encode to hexadecimal

Açıklama

sodium_bin2hex(string $string): string

Converts a raw binary string into a hex-encoded string. Unlike the standard hex-encoding function, sodium_bin2hex() is constant-time (a property that is important for any code that touches cryptographic inputs, such as plaintexts or keys).

Bağımsız Değişkenler

string

Raw binary string.

Dönen Değerler

Hex encoded string.


Compare large numbers

  • « sodium_bin2hex
  • sodium_crypto_aead_aes256gcm_decrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Compare large numbers

sodium_compare

(PHP 7 >= 7.2.0, PHP 8)

sodium_compare — Compare large numbers

Açıklama

sodium_compare(string $string1, string $string2): int

Compare two strings as if they were arbitrary-length, unsigned little-endian integers, without side-channel leakage.

Bağımsız Değişkenler

string1

Left operand

string2

Right operand

Dönen Değerler

Returns -1 if string1 is less than string2.

Returns 1 if string1 is greater than string2.

Returns 0 if both strings are equal.


Verify then decrypt a message with AES-256-GCM

  • « sodium_compare
  • sodium_crypto_aead_aes256gcm_encrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Verify then decrypt a message with AES-256-GCM

sodium_crypto_aead_aes256gcm_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_decrypt — Verify then decrypt a message with AES-256-GCM

Açıklama

sodium_crypto_aead_aes256gcm_decrypt(
string $ciphertext,
string $additional_data,
string $nonce,
string $key
): string|false

Verify then decrypt with AES-256-GCM. Only available if sodium_crypto_aead_aes256gcm_is_available() returns true.

Bağımsız Değişkenler

ciphertext

Must be in the format provided by sodium_crypto_aead_aes256gcm_encrypt() (ciphertext and tag, concatenated).

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 12 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the plaintext on success, başarısızlık durumunda false döner.


Encrypt then authenticate with AES-256-GCM

  • « sodium_crypto_aead_aes256gcm_decrypt
  • sodium_crypto_aead_aes256gcm_is_available »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypt then authenticate with AES-256-GCM

sodium_crypto_aead_aes256gcm_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_encrypt — Encrypt then authenticate with AES-256-GCM

Açıklama

sodium_crypto_aead_aes256gcm_encrypt(
string $message,
string $additional_data,
string $nonce,
string $key
): string

Encrypt then authenticate with AES-256-GCM. Only available if sodium_crypto_aead_aes256gcm_is_available() returns true.

Bağımsız Değişkenler

message

The plaintext message to encrypt.

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 12 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format: ciphertext, then tag.)


Check if hardware supports AES256-GCM

  • « sodium_crypto_aead_aes256gcm_encrypt
  • sodium_crypto_aead_aes256gcm_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Check if hardware supports AES256-GCM

sodium_crypto_aead_aes256gcm_is_available

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_is_available — Check if hardware supports AES256-GCM

Açıklama

sodium_crypto_aead_aes256gcm_is_available(): bool

The return value of this function depends on whether or not the hardware supports hardware-accelerated AES.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if it is safe to encrypt with AES-256-GCM, and false otherwise.


Generate a random AES-256-GCM key

  • « sodium_crypto_aead_aes256gcm_is_available
  • sodium_crypto_aead_chacha20poly1305_decrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random AES-256-GCM key

sodium_crypto_aead_aes256gcm_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_aes256gcm_keygen — Generate a random AES-256-GCM key

Açıklama

sodium_crypto_aead_aes256gcm_keygen(): string

Generate a random key for use with sodium_crypto_aead_aes256gcm_encrypt() and sodium_crypto_aead_aes256gcm_decrypt().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 256-bit random key.


Verify then decrypt with ChaCha20-Poly1305

  • « sodium_crypto_aead_aes256gcm_keygen
  • sodium_crypto_aead_chacha20poly1305_encrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Verify then decrypt with ChaCha20-Poly1305

sodium_crypto_aead_chacha20poly1305_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_decrypt — Verify then decrypt with ChaCha20-Poly1305

Açıklama

sodium_crypto_aead_chacha20poly1305_decrypt(
string $ciphertext,
string $additional_data,
string $nonce,
string $key
): string|false

Verify then decrypt with ChaCha20-Poly1305.

Bağımsız Değişkenler

ciphertext

Must be in the format provided by sodium_crypto_aead_chacha20poly1305_encrypt() (ciphertext and tag, concatenated).

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 8 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the plaintext on success, başarısızlık durumunda false döner.


Encrypt then authenticate with ChaCha20-Poly1305

  • « sodium_crypto_aead_chacha20poly1305_decrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypt then authenticate with ChaCha20-Poly1305

sodium_crypto_aead_chacha20poly1305_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_encrypt — Encrypt then authenticate with ChaCha20-Poly1305

Açıklama

sodium_crypto_aead_chacha20poly1305_encrypt(
string $message,
string $additional_data,
string $nonce,
string $key
): string

Encrypt then authenticate with ChaCha20-Poly1305.

Bağımsız Değişkenler

message

The plaintext message to encrypt.

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 8 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the ciphertext and tag on success, başarısızlık durumunda false döner.


Verify that the ciphertext includes a valid tag

  • « sodium_crypto_aead_chacha20poly1305_encrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Verify that the ciphertext includes a valid tag

sodium_crypto_aead_chacha20poly1305_ietf_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_decrypt — Verify that the ciphertext includes a valid tag

Açıklama

sodium_crypto_aead_chacha20poly1305_ietf_decrypt(
string $ciphertext,
string $additional_data,
string $nonce,
string $key
): string|false

Verify then decrypt with ChaCha20-Poly1305 (IETF variant).

The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

Bağımsız Değişkenler

ciphertext

Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt() (ciphertext and tag, concatenated).

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 12 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the plaintext on success, başarısızlık durumunda false döner.


Encrypt a message

  • « sodium_crypto_aead_chacha20poly1305_ietf_decrypt
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypt a message

sodium_crypto_aead_chacha20poly1305_ietf_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_encrypt — Encrypt a message

Açıklama

sodium_crypto_aead_chacha20poly1305_ietf_encrypt(
string $message,
string $additional_data,
string $nonce,
string $key
): string

Encrypt then authenticate with ChaCha20-Poly1305 (IETF variant).

The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

Bağımsız Değişkenler

message

The plaintext message to encrypt.

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 12 bytes long.

key

Encryption key (256-bit).

Dönen Değerler

Returns the ciphertext and tag on success, başarısızlık durumunda false döner.


Generate a random ChaCha20-Poly1305 (IETF) key.

  • « sodium_crypto_aead_chacha20poly1305_ietf_encrypt
  • sodium_crypto_aead_chacha20poly1305_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random ChaCha20-Poly1305 (IETF) key.

sodium_crypto_aead_chacha20poly1305_ietf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_ietf_keygen — Generate a random ChaCha20-Poly1305 (IETF) key.

Açıklama

sodium_crypto_aead_chacha20poly1305_ietf_keygen(): string

Generate a random key for use with sodium_crypto_aead_chacha20poly1305_ietf_encrypt() and sodium_crypto_aead_chacha20poly1305_ietf_decrypt().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 256-bit random key.


Generate a random ChaCha20-Poly1305 key.

  • « sodium_crypto_aead_chacha20poly1305_ietf_keygen
  • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random ChaCha20-Poly1305 key.

sodium_crypto_aead_chacha20poly1305_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_chacha20poly1305_keygen — Generate a random ChaCha20-Poly1305 key.

Açıklama

sodium_crypto_aead_chacha20poly1305_keygen(): string

Generate a random key for use with sodium_crypto_aead_chacha20poly1305_encrypt() and sodium_crypto_aead_chacha20poly1305_decrypt().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 256-bit random key.


(Preferred) Verify then decrypt with XChaCha20-Poly1305

  • « sodium_crypto_aead_chacha20poly1305_keygen
  • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt »
  • PHP Manual
  • Sodium İşlevleri
  • (Preferred) Verify then decrypt with XChaCha20-Poly1305

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt — (Preferred) Verify then decrypt with XChaCha20-Poly1305

Açıklama

sodium_crypto_aead_xchacha20poly1305_ietf_decrypt(
string $ciphertext,
string $additional_data,
string $nonce,
string $key
): string|false

Verify then decrypt with ChaCha20-Poly1305 (eXtended-nonce variant).

Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

Bağımsız Değişkenler

ciphertext

Must be in the format provided by sodium_crypto_aead_chacha20poly1305_ietf_encrypt() (ciphertext and tag, concatenated).

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

Returns the plaintext on success, başarısızlık durumunda false döner.


(Preferred) Encrypt then authenticate with XChaCha20-Poly1305

  • « sodium_crypto_aead_xchacha20poly1305_ietf_decrypt
  • sodium_crypto_aead_xchacha20poly1305_ietf_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • (Preferred) Encrypt then authenticate with XChaCha20-Poly1305

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt — (Preferred) Encrypt then authenticate with XChaCha20-Poly1305

Açıklama

sodium_crypto_aead_xchacha20poly1305_ietf_encrypt(
string $message,
string $additional_data,
string $nonce,
string $key
): string

Encrypt then authenticate with XChaCha20-Poly1305 (eXtended-nonce variant).

Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

Bağımsız Değişkenler

message

The plaintext message to encrypt.

additional_data

Additional, authenticated data. This is used in the verification of the authentication tag appended to the ciphertext, but it is not encrypted or stored in the ciphertext.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

Returns the ciphertext and tag on success, başarısızlık durumunda false döner.


Generate a random XChaCha20-Poly1305 key.

  • « sodium_crypto_aead_xchacha20poly1305_ietf_encrypt
  • sodium_crypto_auth_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random XChaCha20-Poly1305 key.

sodium_crypto_aead_xchacha20poly1305_ietf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_aead_xchacha20poly1305_ietf_keygen — Generate a random XChaCha20-Poly1305 key.

Açıklama

sodium_crypto_aead_xchacha20poly1305_ietf_keygen(): string

Generate a random key for use with sodium_crypto_aead_xchacha20poly1305_ietf_encrypt() and sodium_crypto_aead_xchacha20poly1305_ietf_decrypt().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 256-bit random key.


Generate a random key for sodium_crypto_auth

  • « sodium_crypto_aead_xchacha20poly1305_ietf_keygen
  • sodium_crypto_auth_verify »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random key for sodium_crypto_auth

sodium_crypto_auth_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth_keygen — Generate a random key for sodium_crypto_auth

Açıklama

sodium_crypto_auth_keygen(): string

Generate a key for use with sodium_crypto_auth() and sodium_crypto_auth_verify().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 256-bit random key.


Verifies that the tag is valid for the message

  • « sodium_crypto_auth_keygen
  • sodium_crypto_auth »
  • PHP Manual
  • Sodium İşlevleri
  • Verifies that the tag is valid for the message

sodium_crypto_auth_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth_verify — Verifies that the tag is valid for the message

Açıklama

sodium_crypto_auth_verify(string $mac, string $message, string $key): bool

Verify the authentication tag is valid for a given message and key.

Unlike with digital signatures (e.g. sodium_crypto_sign_verify_detached()), any party capable of verifying a message is also capable of authenticating their own messages. (Hence, symmetric authentication.)

Bağımsız Değişkenler

mac

Authentication tag produced by sodium_crypto_auth()

message

Message

key

Authentication key

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Compute a tag for the message

  • « sodium_crypto_auth_verify
  • sodium_crypto_box_keypair_from_secretkey_and_publickey »
  • PHP Manual
  • Sodium İşlevleri
  • Compute a tag for the message

sodium_crypto_auth

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_auth — Compute a tag for the message

Açıklama

sodium_crypto_auth(string $message, string $key): string

Symmetric message authentication via sodium_crypto_auth() provides integrity, but not confidentiality.

Unlike with digital signatures (e.g. sodium_crypto_sign_detached()), any party capable of verifying a message is also capable of authenticating their own messages. (Hence, symmetric authentication.)

Bağımsız Değişkenler

message

The message you intend to authenticate

key

Authentication key

Dönen Değerler

Authentication tag


Create a unified keypair string from a secret key and public key

  • « sodium_crypto_auth
  • sodium_crypto_box_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Create a unified keypair string from a secret key and public key

sodium_crypto_box_keypair_from_secretkey_and_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_keypair_from_secretkey_and_publickey — Create a unified keypair string from a secret key and public key

Açıklama

sodium_crypto_box_keypair_from_secretkey_and_publickey(string $secret_key, string $public_key): string

This function exists to satisfy the API requirements of e.g. crypto_box(). Pass in one party's secret key and the other's public key, and you will obtain a "keypair" for your conversation.

Bağımsız Değişkenler

secret_key

Secret key.

public_key

Public key.

Dönen Değerler

X25519 Keypair.


Randomly generate a secret key and a corresponding public key

  • « sodium_crypto_box_keypair_from_secretkey_and_publickey
  • sodium_crypto_box_open »
  • PHP Manual
  • Sodium İşlevleri
  • Randomly generate a secret key and a corresponding public key

sodium_crypto_box_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_keypair — Randomly generate a secret key and a corresponding public key

Açıklama

sodium_crypto_box_keypair(): string

Generates a secret key and a public key as one string.

To get the secret key out of this unified keypair string, see sodium_crypto_box_secretkey(). To get the public key out of this unified keypair string, see sodium_crypto_box_publickey().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

One string containing both the X25519 secret key and corresponding X25519 public key.


Authenticated public-key decryption

  • « sodium_crypto_box_keypair
  • sodium_crypto_box_publickey_from_secretkey »
  • PHP Manual
  • Sodium İşlevleri
  • Authenticated public-key decryption

sodium_crypto_box_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_open — Authenticated public-key decryption

Açıklama

sodium_crypto_box_open(string $ciphertext, string $nonce, string $key_pair): string|false

Decrypt a message using asymmetric (public key) cryptography.

Bağımsız Değişkenler

ciphertext

The encrypted message to attempt to decrypt.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key_pair

See sodium_crypto_box_keypair_from_secretkey_and_publickey(). This should include the sender's public key and the recipient's secret key.

Dönen Değerler

Returns the plaintext message on success, başarısızlık durumunda false döner.


Calculate the public key from a secret key

  • « sodium_crypto_box_open
  • sodium_crypto_box_publickey »
  • PHP Manual
  • Sodium İşlevleri
  • Calculate the public key from a secret key

sodium_crypto_box_publickey_from_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_publickey_from_secretkey — Calculate the public key from a secret key

Açıklama

sodium_crypto_box_publickey_from_secretkey(string $secret_key): string

Given a secret key, calculate the corresponding public key.

This only works with the type of keys intended for use with crypto_box() (which uses Elliptic Curve Diffie-Hellman over the Montgomery curve, Curve25519; abbreviated as X25519), not crypto_sign() (which uses Edwards Digital Signature Algorithm over the Edwards Curve with the corresponding paramaters; abbreviated Ed25519).

Bağımsız Değişkenler

secret_key

X25519 secret key

Dönen Değerler

X25519 public key.


Extract the public key from a crypto_box keypair

  • « sodium_crypto_box_publickey_from_secretkey
  • sodium_crypto_box_seal_open »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the public key from a crypto_box keypair

sodium_crypto_box_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_publickey — Extract the public key from a crypto_box keypair

Açıklama

sodium_crypto_box_publickey(string $key_pair): string

Given a keypair, fetch only the public key.

Bağımsız Değişkenler

key_pair

A keypair, such as one generated by sodium_crypto_box_keypair() or sodium_crypto_box_seed_keypair()

Dönen Değerler

X25519 public key.


Anonymous public-key decryption

  • « sodium_crypto_box_publickey
  • sodium_crypto_box_seal »
  • PHP Manual
  • Sodium İşlevleri
  • Anonymous public-key decryption

sodium_crypto_box_seal_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seal_open — Anonymous public-key decryption

Açıklama

sodium_crypto_box_seal_open(string $ciphertext, string $key_pair): string|false

Decrypt a message that was encrypted with sodium_crypto_box_seal()

Bağımsız Değişkenler

ciphertext

The encrypted message

key_pair

The keypair of the recipient. Must include the secret key.

Dönen Değerler

The plaintext on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sodium_crypto_box_seal_open() example

<?php
// Ciphertext is not sensitive; base64_decode is fine
$sealed_b64 = "oRBXXAV4iQBrxlV4A21Bord8Yo/D8ZlrIIGNyaRCcGBfpz0map52I3xq6l+CST+1NSgQkbV+HiYyFjXWiWiaCGupGf+zl4bgWj/A9Adtem7Jt3h3emrMsLw=";
$sealed = base64_decode($sealed_b64);

// Keypair contains a cryptographic secret; use a timing-safe decoder
$keypair_b64 = "KZkF8wnB7bnC2aXB3lFOqCTc0Z6MllvaQb9ASVG8o2/MsewkuE4u1uaEgTzSakeiYyIW8DGj+02/L3cWIbs9bQ==";
$keypair = sodium_base642bin($keypair_b64, SODIUM_BASE64_VARIANT_ORIGINAL);

$opened = sodium_crypto_box_seal_open($sealed, $keypair);
var_dump($opened);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(41) "Writing software in PHP can be a delight!"


Anonymous public-key encryption

  • « sodium_crypto_box_seal_open
  • sodium_crypto_box_secretkey »
  • PHP Manual
  • Sodium İşlevleri
  • Anonymous public-key encryption

sodium_crypto_box_seal

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seal — Anonymous public-key encryption

Açıklama

sodium_crypto_box_seal(string $message, string $public_key): string

Encrypt a message such that only the recipient can decrypt it.

Unlike with sodium_crypto_box(), you only need to know the recipient's public key to use sodium_crypto_box_seal(). One consequence of this convenience, however, is that the ciphertext isn't bound to a static public key, and is therefore not authenticated. Hence, anonymous public-key encryption.

sodium_crypto_box_seal() still provides ciphertext integrity. Just not sender identity authentication.

If you also need sender authentication, the sodium_crypto_sign() functions are likely the best place to start.

Bağımsız Değişkenler

message

The message to encrypt.

public_key

The public key that corresponds to the only key that can decrypt the message.

Dönen Değerler

A ciphertext string in the format of (one-time public key, encrypted message, authentication tag).

Örnekler

Örnek 1 sodium_crypto_box_seal() example

<?php
$keypair = sodium_crypto_box_keypair();
$public_key = sodium_crypto_box_publickey($keypair);

// Obfuscated plaintext to make the example more fun
$plaintext_b64 = "V3JpdGluZyBzb2Z0d2FyZSBpbiBQSFAgY2FuIGJlIGEgZGVsaWdodCE=";
$decoded_plaintext = sodium_base642bin($plaintext_b64, SODIUM_BASE64_VARIANT_ORIGINAL);

$sealed = sodium_crypto_box_seal($decoded_plaintext, $public_key);
var_dump(base64_encode($sealed));

$opened = sodium_crypto_box_seal_open($sealed, $keypair);
var_dump($opened);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(120) "oRBXXAV4iQBrxlV4A21Bord8Yo/D8ZlrIIGNyaRCcGBfpz0map52I3xq6l+CST+1NSgQkbV+HiYyFjXWiWiaCGupGf+zl4bgWj/A9Adtem7Jt3h3emrMsLw="
string(41) "Writing software in PHP can be a delight!"


Extracts the secret key from a crypto_box keypair

  • « sodium_crypto_box_seal
  • sodium_crypto_box_seed_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Extracts the secret key from a crypto_box keypair

sodium_crypto_box_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_secretkey — Extracts the secret key from a crypto_box keypair

Açıklama

sodium_crypto_box_secretkey(string $key_pair): string

Given a keypair, fetch only the secret key.

Bağımsız Değişkenler

key_pair

A keypair, such as one generated by sodium_crypto_box_keypair() or sodium_crypto_box_seed_keypair()

Dönen Değerler

X25519 secret key.


Deterministically derive the key pair from a single key

  • « sodium_crypto_box_secretkey
  • sodium_crypto_box »
  • PHP Manual
  • Sodium İşlevleri
  • Deterministically derive the key pair from a single key

sodium_crypto_box_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box_seed_keypair — Deterministically derive the key pair from a single key

Açıklama

sodium_crypto_box_seed_keypair(string $seed): string

Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.

The *_seed_keypair functions are ideal for generating a keypair from a password and salt. Use the result as a seed to generate the desired keys.

Bağımsız Değişkenler

seed

Some cryptographic input. Must be 32 bytes.

Dönen Değerler

X25519 Keypair (secret key and public key).


Authenticated public-key encryption

  • « sodium_crypto_box_seed_keypair
  • sodium_crypto_core_ristretto255_add »
  • PHP Manual
  • Sodium İşlevleri
  • Authenticated public-key encryption

sodium_crypto_box

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_box — Authenticated public-key encryption

Açıklama

sodium_crypto_box(string $message, string $nonce, string $key_pair): string

Encrypt a message using asymmetric (public key) cryptography.

The algorithm used by functions prefixed with sodium_crypto_box() are Elliptic Curve Diffie-Hellman over the Montgomery curve, Curve25519; usually abbreviated as X25519.

Bağımsız Değişkenler

message

The message to be encrypted.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key_pair

See sodium_crypto_box_keypair_from_secretkey_and_publickey(). This should include the sender's X25519 secret key and the recipient's X25519 public key.

Dönen Değerler

Returns the encrypted message (ciphertext plus authentication tag). The ciphertext will be 16 bytes longer than the plaintext, and a raw binary string. See sodium_bin2base64() for safe encoding for storage.


Adds an element

  • « sodium_crypto_box
  • sodium_crypto_core_ristretto255_from_hash »
  • PHP Manual
  • Sodium İşlevleri
  • Adds an element

sodium_crypto_core_ristretto255_add

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_add — Adds an element

Açıklama

sodium_crypto_core_ristretto255_add(string $p, string $q): string

Adds an element q to p. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

p

An element.

q

An element.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_add() example

<?php

$foo = sodium_crypto_core_ristretto255_random();
$bar = sodium_crypto_core_ristretto255_random();

$value = sodium_crypto_core_ristretto255_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_random() - Generates a random key
  • sodium_crypto_core_ristretto255_sub() - Subtracts an element


Maps a vector

  • « sodium_crypto_core_ristretto255_add
  • sodium_crypto_core_ristretto255_is_valid_point »
  • PHP Manual
  • Sodium İşlevleri
  • Maps a vector

sodium_crypto_core_ristretto255_from_hash

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_from_hash — Maps a vector

Açıklama

sodium_crypto_core_ristretto255_from_hash(string $s): string

Maps a 64-bytes vector s to a group element. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

A 64-bytes vector.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_from_hash() example

<?php

$hashes = sodium_hex2bin(
'5d1be09e3d0c82fc538112490e35701979d99e06ca3e2b5b54bffe8b4dc772c1' .
'4d98b696a1bbfb5ca32c436cc61c16563790306c79eaca7705668b47dffe5bb6'
);
var_dump(sodium_bin2hex(sodium_crypto_core_ristretto255_from_hash($hashes)));
?>

Yukarıdaki örneğin çıktısı:

string(64) "3066f82a1a747d45120d1740f14358531a8f04bbffe6a819f86dfe50f44a0a46"

Ayrıca Bakınız

  • sodium_hex2bin() - Decodes a hexadecimally encoded binary string
  • sodium_bin2hex() - Encode to hexadecimal
  • sodium_crypto_core_ristretto255_from_hash()


Determines if a point on the ristretto255 curve

  • « sodium_crypto_core_ristretto255_from_hash
  • sodium_crypto_core_ristretto255_random »
  • PHP Manual
  • Sodium İşlevleri
  • Determines if a point on the ristretto255 curve

sodium_crypto_core_ristretto255_is_valid_point

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_is_valid_point — Determines if a point on the ristretto255 curve

Açıklama

sodium_crypto_core_ristretto255_is_valid_point(string $s): bool

Determines if a point on the ristretto255 curve, in canonical form, on the main subgroup, and that the point doesn't have a small order. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

An Elliptic-curve point.

Dönen Değerler

Returns true if s is on the ristretto255 curve, false otherwise.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_is_valid_point() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();
$bar = sodium_crypto_scalarmult_ristretto255_base($foo);

var_dump(sodium_crypto_core_ristretto255_is_valid_point($bar));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key
  • sodium_crypto_scalarmult_ristretto255_base() - Calculates the public key from a secret key


Generates a random key

  • « sodium_crypto_core_ristretto255_is_valid_point
  • sodium_crypto_core_ristretto255_scalar_add »
  • PHP Manual
  • Sodium İşlevleri
  • Generates a random key

sodium_crypto_core_ristretto255_random

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_random — Generates a random key

Açıklama

sodium_crypto_core_ristretto255_random(): string

Generates a random key. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_random() example

<?php

$foo = sodium_crypto_core_ristretto255_random();
$bar = sodium_crypto_core_ristretto255_random();

$value = sodium_crypto_core_ristretto255_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_add() - Adds an element
  • sodium_crypto_core_ristretto255_sub() - Subtracts an element


Adds a scalar value

  • « sodium_crypto_core_ristretto255_random
  • sodium_crypto_core_ristretto255_scalar_complement »
  • PHP Manual
  • Sodium İşlevleri
  • Adds a scalar value

sodium_crypto_core_ristretto255_scalar_add

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_add — Adds a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_add(string $x, string $y): string

Adds an element y to x. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

x

Scalar, representing the X coordinate.

y

Scalar, representing the Y coordinate.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_scalar_add() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();
$bar = sodium_crypto_core_ristretto255_scalar_random();

$value = sodium_crypto_core_ristretto255_scalar_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_scalar_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key
  • sodium_crypto_core_ristretto255_scalar_sub() - Subtracts a scalar value


The sodium_crypto_core_ristretto255_scalar_complement purpose

  • « sodium_crypto_core_ristretto255_scalar_add
  • sodium_crypto_core_ristretto255_scalar_invert »
  • PHP Manual
  • Sodium İşlevleri
  • The sodium_crypto_core_ristretto255_scalar_complement purpose

sodium_crypto_core_ristretto255_scalar_complement

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_complement — The sodium_crypto_core_ristretto255_scalar_complement purpose

Açıklama

sodium_crypto_core_ristretto255_scalar_complement(string $s): string

Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

Scalar value.

Dönen Değerler

Returns a 32-byte random string.

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key


Inverts a scalar value

  • « sodium_crypto_core_ristretto255_scalar_complement
  • sodium_crypto_core_ristretto255_scalar_mul »
  • PHP Manual
  • Sodium İşlevleri
  • Inverts a scalar value

sodium_crypto_core_ristretto255_scalar_invert

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_invert — Inverts a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_invert(string $s): string

Inverts a scalar value. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

Scalar value.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_scalar_invert() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();

$inverted = sodium_crypto_core_ristretto255_scalar_invert($foo);
$reInverted = sodium_crypto_core_ristretto255_scalar_invert($inverted);

var_dump(hash_equals($foo, $reInverted));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key


Multiplies a scalar value

  • « sodium_crypto_core_ristretto255_scalar_invert
  • sodium_crypto_core_ristretto255_scalar_negate »
  • PHP Manual
  • Sodium İşlevleri
  • Multiplies a scalar value

sodium_crypto_core_ristretto255_scalar_mul

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_mul — Multiplies a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_mul(string $x, string $y): string

Multiplies a scalar value. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

x

Scalar, representing the X coordinate.

y

Scalar, representing the Y coordinate.

Dönen Değerler

Returns a 32-byte random string.

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key


Negates a scalar value

  • « sodium_crypto_core_ristretto255_scalar_mul
  • sodium_crypto_core_ristretto255_scalar_random »
  • PHP Manual
  • Sodium İşlevleri
  • Negates a scalar value

sodium_crypto_core_ristretto255_scalar_negate

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_negate — Negates a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_negate(string $s): string

Negates a scalar value. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

Scalar value.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_scalar_negate() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();

$negate = sodium_crypto_core_ristretto255_scalar_negate($foo);
$reNegate = sodium_crypto_core_ristretto255_scalar_negate($negate);

var_dump(hash_equals($foo, $reNegate));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key


Generates a random key

  • « sodium_crypto_core_ristretto255_scalar_negate
  • sodium_crypto_core_ristretto255_scalar_reduce »
  • PHP Manual
  • Sodium İşlevleri
  • Generates a random key

sodium_crypto_core_ristretto255_scalar_random

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_random — Generates a random key

Açıklama

sodium_crypto_core_ristretto255_scalar_random(): string

Generates a random key. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_scalar_random() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();
$bar = sodium_crypto_core_ristretto255_scalar_random();

$value = sodium_crypto_core_ristretto255_scalar_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_scalar_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_add() - Adds a scalar value
  • sodium_crypto_core_ristretto255_scalar_sub() - Subtracts a scalar value


Reduces a scalar value

  • « sodium_crypto_core_ristretto255_scalar_random
  • sodium_crypto_core_ristretto255_scalar_sub »
  • PHP Manual
  • Sodium İşlevleri
  • Reduces a scalar value

sodium_crypto_core_ristretto255_scalar_reduce

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_reduce — Reduces a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_reduce(string $s): string

Reduces a scalar value. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

s

Scalar value.

Dönen Değerler

Returns a 32-byte random string.

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key


Subtracts a scalar value

  • « sodium_crypto_core_ristretto255_scalar_reduce
  • sodium_crypto_core_ristretto255_sub »
  • PHP Manual
  • Sodium İşlevleri
  • Subtracts a scalar value

sodium_crypto_core_ristretto255_scalar_sub

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_scalar_sub — Subtracts a scalar value

Açıklama

sodium_crypto_core_ristretto255_scalar_sub(string $x, string $y): string

Subtracts a scalar y from x. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

x

Scalar, representing the X coordinate.

y

Scalar, representing the Y coordinate.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_scalar_sub() example

<?php

$foo = sodium_crypto_core_ristretto255_scalar_random();
$bar = sodium_crypto_core_ristretto255_scalar_random();

$value = sodium_crypto_core_ristretto255_scalar_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_scalar_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_scalar_random() - Generates a random key
  • sodium_crypto_core_ristretto255_scalar_add() - Adds a scalar value


Subtracts an element

  • « sodium_crypto_core_ristretto255_scalar_sub
  • sodium_crypto_generichash_final »
  • PHP Manual
  • Sodium İşlevleri
  • Subtracts an element

sodium_crypto_core_ristretto255_sub

(PHP 8 >= 8.1.0)

sodium_crypto_core_ristretto255_sub — Subtracts an element

Açıklama

sodium_crypto_core_ristretto255_sub(string $p, string $q): string

Subtracts an element q from p. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

p

An element.

q

An element.

Dönen Değerler

Returns a 32-byte random string.

Örnekler

Örnek 1 sodium_crypto_core_ristretto255_sub() example

<?php

$foo = sodium_crypto_core_ristretto255_random();
$bar = sodium_crypto_core_ristretto255_random();

$value = sodium_crypto_core_ristretto255_add($foo, $bar);
$value = sodium_crypto_core_ristretto255_sub($value, $bar);

var_dump(hash_equals($foo, $value));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_crypto_core_ristretto255_random() - Generates a random key
  • sodium_crypto_core_ristretto255_add() - Adds an element


Complete the hash

  • « sodium_crypto_core_ristretto255_sub
  • sodium_crypto_generichash_init »
  • PHP Manual
  • Sodium İşlevleri
  • Complete the hash

sodium_crypto_generichash_final

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_final — Complete the hash

Açıklama

sodium_crypto_generichash_final(string &$state, int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string

The finalization method for the streaming generichash API.

Bağımsız Değişkenler

state

Hash state returned from sodium_crypto_generichash_init()

length

Output length.

Dönen Değerler

Cryptographic hash.

Örnekler

Örnek 1 sodium_crypto_generichash_final() example

<?php
$messages = [random_bytes(32), random_bytes(32), random_bytes(16)];
$state = sodium_crypto_generichash_init('', 32);
foreach ($messages as $message) {
sodium_crypto_generichash_update($state, $message);
}

$final = sodium_crypto_generichash_final($state, 32);
var_dump(sodium_bin2hex($final));

$allAtOnce = sodium_crypto_generichash(implode('', $messages));
var_dump(sodium_bin2hex($allAtOnce));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(64) "a2939a9163cb7c796ec28e01028489e72475c136b2697ea59e3e760ab4a8ab20"
string(64) "a2939a9163cb7c796ec28e01028489e72475c136b2697ea59e3e760ab4a8ab20"


Initialize a hash for streaming

  • « sodium_crypto_generichash_final
  • sodium_crypto_generichash_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Initialize a hash for streaming

sodium_crypto_generichash_init

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_init — Initialize a hash for streaming

Açıklama

sodium_crypto_generichash_init(string $key = "", int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string

The initialization method for the streaming generichash API.

Bağımsız Değişkenler

key

The generichash key.

length

The expected output length of the hash function.

Dönen Değerler

Returns a hash state, serialized as a raw binary string.

Örnekler

Örnek 1 sodium_crypto_generichash_init() example

<?php
$messages = [random_bytes(32), random_bytes(32), random_bytes(16)];
$state = sodium_crypto_generichash_init('', 32);
foreach ($messages as $message) {
sodium_crypto_generichash_update($state, $message);
}
$final = sodium_crypto_generichash_final($state, 32);
var_dump(sodium_bin2hex($final));
$allAtOnce = sodium_crypto_generichash(implode('', $messages));
var_dump(sodium_bin2hex($allAtOnce));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(64) "a2939a9163cb7c796ec28e01028489e72475c136b2697ea59e3e760ab4a8ab20"
string(64) "a2939a9163cb7c796ec28e01028489e72475c136b2697ea59e3e760ab4a8ab20"


Generate a random generichash key

  • « sodium_crypto_generichash_init
  • sodium_crypto_generichash_update »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random generichash key

sodium_crypto_generichash_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_keygen — Generate a random generichash key

Açıklama

sodium_crypto_generichash_keygen(): string

Generate a random key for use with the generichash API.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A random 256-bit key.


Add message to a hash

  • « sodium_crypto_generichash_keygen
  • sodium_crypto_generichash »
  • PHP Manual
  • Sodium İşlevleri
  • Add message to a hash

sodium_crypto_generichash_update

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash_update — Add message to a hash

Açıklama

sodium_crypto_generichash_update(string &$state, string $message): true

Appends a message to the internal hash state.

Bağımsız Değişkenler

state

The return value of sodium_crypto_generichash_init().

message

Data to append to the hashing state.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 sodium_crypto_generichash_update() example

<?php
$messages = [random_bytes(32), random_bytes(32), random_bytes(16)];
$state = sodium_crypto_generichash_init();
foreach ($messages as $message) {
sodium_crypto_generichash_update($state, $message);
}
$final = sodium_crypto_generichash_final($state);
var_dump(sodium_bin2hex($final));

$allAtOnce = sodium_crypto_generichash(implode('', $messages));
var_dump(sodium_bin2hex($allAtOnce));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(64) "e16e28bbbbcc39d9f5b1cbc33c41f1d217808640103e57a41f24870f79831e04"
string(64) "e16e28bbbbcc39d9f5b1cbc33c41f1d217808640103e57a41f24870f79831e04"


Get a hash of the message

  • « sodium_crypto_generichash_update
  • sodium_crypto_kdf_derive_from_key »
  • PHP Manual
  • Sodium İşlevleri
  • Get a hash of the message

sodium_crypto_generichash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_generichash — Get a hash of the message

Açıklama

sodium_crypto_generichash(string $message, string $key = "", int $length = SODIUM_CRYPTO_GENERICHASH_BYTES): string

Hash a message with BLAKE2b.

Bağımsız Değişkenler

message

The message being hashed.

key

(Optional) cryptographic key. This serves the same function as a HMAC key, but it's utilized as a reserved section of the internal BLAKE2 state.

length

Output size.

Dönen Değerler

The cryptographic hash as raw bytes. If a hex-encoded output is desired, the result can be passed to sodium_bin2hex().


Derive a subkey

  • « sodium_crypto_generichash
  • sodium_crypto_kdf_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Derive a subkey

sodium_crypto_kdf_derive_from_key

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kdf_derive_from_key — Derive a subkey

Açıklama

sodium_crypto_kdf_derive_from_key(
int $subkey_length,
int $subkey_id,
string $context,
string $key
): string

Derive a subkey from a root key and additional context.

Similar to hash_hkdf().

Bağımsız Değişkenler

subkey_length

Length of the key to return (in bytes)

subkey_id

Return the Nth subkey from a given root key. Useful for seeking.

context

Application-specific context.

key

The root key from which the subkey is derived.

Dönen Değerler

A string of pseudorandom (raw binary) bytes.


Generate a random root key for the KDF interface

  • « sodium_crypto_kdf_derive_from_key
  • sodium_crypto_kx_client_session_keys »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random root key for the KDF interface

sodium_crypto_kdf_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kdf_keygen — Generate a random root key for the KDF interface

Açıklama

sodium_crypto_kdf_keygen(): string

Generates a random key suitable for serving as the root key for sodium_crypto_kdf_derive_from_key().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A random 256-bit key.


Calculate the client-side session keys.

  • « sodium_crypto_kdf_keygen
  • sodium_crypto_kx_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Calculate the client-side session keys.

sodium_crypto_kx_client_session_keys

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_client_session_keys — Calculate the client-side session keys.

Açıklama

sodium_crypto_kx_client_session_keys(string $client_key_pair, string $server_key): array

Calculate the client-side session keys, using the X25519 + BLAKE2b key-exchange method.

Bağımsız Değişkenler

client_key_pair

A crypto_kx keypair, such as one generated by sodium_crypto_kx_keypair().

server_key

A crypto_kx public key.

Dönen Değerler

An array consisting of two strings. The first should be used for receiving data from the server. The second should be used for sending data to the server.


Creates a new sodium keypair

  • « sodium_crypto_kx_client_session_keys
  • sodium_crypto_kx_publickey »
  • PHP Manual
  • Sodium İşlevleri
  • Creates a new sodium keypair

sodium_crypto_kx_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_keypair — Creates a new sodium keypair

Açıklama

sodium_crypto_kx_keypair(): string

Create a new sodium keypair consisting of the secret key (32 bytes) followed by the public key (32 bytes). The keys can be retrieved by calling sodium_crypto_kx_secretkey() and sodium_crypto_kx_publickey(), respectively.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the new keypair on success; throws an exception otherwise.

Örnekler

Örnek 1 sodium_crypto_kx_keypair() usage

Create a new keypair and retrieve the secret and the public key from it.

<?php
$keypair = sodium_crypto_kx_keypair();
$secret = sodium_crypto_kx_secretkey($keypair);
$public = sodium_crypto_kx_publickey($keypair);
printf("secret: %s\npublic: %s", sodium_bin2hex($secret), sodium_bin2hex($public));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

secret: e7c5c918fdc40762e6000542c0118f4368ce8fd242b0e48c1e17202797a25daf
public: d1f59fda8652caf40ed1a01d2b6f3802b60846986372cd8fa337b7c12c428b18


Extract the public key from a crypto_kx keypair

  • « sodium_crypto_kx_keypair
  • sodium_crypto_kx_secretkey »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the public key from a crypto_kx keypair

sodium_crypto_kx_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_publickey — Extract the public key from a crypto_kx keypair

Açıklama

sodium_crypto_kx_publickey(string $key_pair): string

Extract the public key from a crypto_kx keypair.

Bağımsız Değişkenler

key_pair

X25519 keypair, such as one generated by sodium_crypto_kx_keypair().

Dönen Değerler

X25519 public key.


Extract the secret key from a crypto_kx keypair.

  • « sodium_crypto_kx_publickey
  • sodium_crypto_kx_seed_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the secret key from a crypto_kx keypair.

sodium_crypto_kx_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_secretkey — Extract the secret key from a crypto_kx keypair.

Açıklama

sodium_crypto_kx_secretkey(string $key_pair): string

Extract the secret key from a crypto_kx keypair.

Bağımsız Değişkenler

key_pair

X25519 keypair, such as one generated by sodium_crypto_kx_keypair().

Dönen Değerler

X25519 secret key.


Description

  • « sodium_crypto_kx_secretkey
  • sodium_crypto_kx_server_session_keys »
  • PHP Manual
  • Sodium İşlevleri
  • Description

sodium_crypto_kx_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_seed_keypair — Description

Açıklama

sodium_crypto_kx_seed_keypair(string $seed): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

seed

Dönen Değerler


Calculate the server-side session keys.

  • « sodium_crypto_kx_seed_keypair
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify »
  • PHP Manual
  • Sodium İşlevleri
  • Calculate the server-side session keys.

sodium_crypto_kx_server_session_keys

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_kx_server_session_keys — Calculate the server-side session keys.

Açıklama

sodium_crypto_kx_server_session_keys(string $server_key_pair, string $client_key): array

Calculate the server-side session keys, using the X25519 + BLAKE2b key-exchange method.

Bağımsız Değişkenler

server_key_pair

A crypto_kx keypair, such as one generated by sodium_crypto_kx_keypair().

client_key

A crypto_kx public key.

Dönen Değerler

An array consisting of two strings. The first should be used for receiving data from the client. The second should be used for sending data to the client.


Verify that the password is a valid password verification string

  • « sodium_crypto_kx_server_session_keys
  • sodium_crypto_pwhash_scryptsalsa208sha256_str »
  • PHP Manual
  • Sodium İşlevleri
  • Verify that the password is a valid password verification string

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify — Verify that the password is a valid password verification string

Açıklama

sodium_crypto_pwhash_scryptsalsa208sha256_str_verify(string $hash, string $password): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

hash

password

Dönen Değerler


Get an ASCII encoded hash

  • « sodium_crypto_pwhash_scryptsalsa208sha256_str_verify
  • sodium_crypto_pwhash_scryptsalsa208sha256 »
  • PHP Manual
  • Sodium İşlevleri
  • Get an ASCII encoded hash

sodium_crypto_pwhash_scryptsalsa208sha256_str

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256_str — Get an ASCII encoded hash

Açıklama

sodium_crypto_pwhash_scryptsalsa208sha256_str(string $password, int $opslimit, int $memlimit): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

password

opslimit

memlimit

Dönen Değerler


Derives a key from a password, using scrypt

  • « sodium_crypto_pwhash_scryptsalsa208sha256_str
  • sodium_crypto_pwhash_str_needs_rehash »
  • PHP Manual
  • Sodium İşlevleri
  • Derives a key from a password, using scrypt

sodium_crypto_pwhash_scryptsalsa208sha256

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_scryptsalsa208sha256 — Derives a key from a password, using scrypt

Açıklama

sodium_crypto_pwhash_scryptsalsa208sha256(
int $length,
string $password,
string $salt,
int $opslimit,
int $memlimit
): string

This is the scrypt counterpart to sodium_crypto_pwhash().

A common reason to use this particular function is to derive the seeds for cryptographic keys from a password and salt, and then use these seeds to generate the actual keys needed for some purpose (e.g. sodium_crypto_sign_detached()).

Bağımsız Değişkenler

length

The length of the password hash to generate, in bytes.

password

The password to generate a hash for.

salt

A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random number source such as random_bytes(), and have a length of at least SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES bytes.

opslimit

Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are some constants available to set the operations limit to appropriate values depending on intended use, in order of strength: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE and SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE.

memlimit

The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size: SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE and SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE. Typically these should be paired with the matching opslimit values.

Dönen Değerler

A string of bytes of the desired length.


Determine whether or not to rehash a password

  • « sodium_crypto_pwhash_scryptsalsa208sha256
  • sodium_crypto_pwhash_str_verify »
  • PHP Manual
  • Sodium İşlevleri
  • Determine whether or not to rehash a password

sodium_crypto_pwhash_str_needs_rehash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str_needs_rehash — Determine whether or not to rehash a password

Açıklama

sodium_crypto_pwhash_str_needs_rehash(string $password, int $opslimit, int $memlimit): bool

Determine whether or not to rehash a password, based on the current hash opslimit and memlimit.

Bağımsız Değişkenler

password

Password hash

opslimit

Configured opslimit; see sodium_crypto_pwhash_str()

memlimit

Configured memlimit; see sodium_crypto_pwhash_str()

Dönen Değerler

Returns true if the provided memlimit/opslimit do not match what's stored in the hash. Returns false if they match.


Verifies that a password matches a hash

  • « sodium_crypto_pwhash_str_needs_rehash
  • sodium_crypto_pwhash_str »
  • PHP Manual
  • Sodium İşlevleri
  • Verifies that a password matches a hash

sodium_crypto_pwhash_str_verify

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str_verify — Verifies that a password matches a hash

Açıklama

sodium_crypto_pwhash_str_verify(string $hash, string $password): bool

Checks that a password hash created using sodium_crypto_pwhash_str() matches a given plain-text password. Note that the parameters are in the opposite order to the same parameters in the similar password_verify() function.

Bağımsız Değişkenler

hash

password_hash() işleviyle oluşturulan aş.

password

Kullanıcı parolası.

Dönen Değerler

Returns true if the password and hash match, or false otherwise.

Notlar

Bilginize:

Hashes are calculated using the Argon2ID algorithm, providing resistance to both GPU and side-channel attacks.

Ayrıca Bakınız

  • sodium_crypto_pwhash_str() - Get an ASCII-encoded hash
  • password_hash() - Parola aşı oluşturur
  • password_verify() - Parola ile aş eşleşmesini doğrular


Get an ASCII-encoded hash

  • « sodium_crypto_pwhash_str_verify
  • sodium_crypto_pwhash »
  • PHP Manual
  • Sodium İşlevleri
  • Get an ASCII-encoded hash

sodium_crypto_pwhash_str

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash_str — Get an ASCII-encoded hash

Açıklama

sodium_crypto_pwhash_str(string $password, int $opslimit, int $memlimit): string

Uses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, and memory and CPU limits to generate an ASCII-encoded hash suitable for password storage.

Bağımsız Değişkenler

password

string; The password to generate a hash for.

opslimit

Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are constants available to set the operations limit to appropriate values depending on intended use, in order of strength: SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.

memlimit

The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size: SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE, and SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE. Typically these should be paired with the matching opslimit values.

Dönen Değerler

Returns the hashed password.

In order to produce the same password hash from the same password, the same values for opslimit and memlimit must be used. These are embedded within the generated hash, so everything that's needed to verify the hash is included. This allows the sodium_crypto_pwhash_str_verify() function to verify the hash without needing separate storage for the other parameters.

Örnekler

Örnek 1 sodium_crypto_pwhash_str() example

<?php
$password = 'password';
echo sodium_crypto_pwhash_str(
$password,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$argon2id$v=19$m=65536,t=2,p=1$oWIfdaXwWwhVmovOBc2NAQ$EbsZ+JnZyyavkafS0hoc4HdaOB0ILWZESAZ7kVGa+Iw

Notlar

Bilginize:

Hashes are calculated using the Argon2ID algorithm, providing resistance to both GPU and side-channel attacks. In contrast to the password_hash() function, there is no salt parameter (a salt is generated automatically), and the opslimit and memlimit parameters are not optional.

Ayrıca Bakınız

  • sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash
  • sodium_crypto_pwhash() - Derive a key from a password, using Argon2
  • password_hash() - Parola aşı oluşturur
  • password_verify() - Parola ile aş eşleşmesini doğrular
  • » Libsodium Argon2 docs


Derive a key from a password, using Argon2

  • « sodium_crypto_pwhash_str
  • sodium_crypto_scalarmult_base »
  • PHP Manual
  • Sodium İşlevleri
  • Derive a key from a password, using Argon2

sodium_crypto_pwhash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_pwhash — Derive a key from a password, using Argon2

Açıklama

sodium_crypto_pwhash(
int $length,
string $password,
string $salt,
int $opslimit,
int $memlimit,
int $algo = SODIUM_CRYPTO_PWHASH_ALG_DEFAULT
): string

This function provides low-level access to libsodium's crypto_pwhash key derivation function. Unless you have specific reason to use this function, you should use sodium_crypto_pwhash_str() or password_hash() functions instead.

A common reason to use this particular function is to derive the seeds for cryptographic keys from a password and salt, and then use these seeds to generate the actual keys needed for some purpose (e.g. sodium_crypto_sign_detached()).

Bağımsız Değişkenler

length

int; The length of the password hash to generate, in bytes.

password

string; The password to generate a hash for.

salt

A salt to add to the password before hashing. The salt should be unpredictable, ideally generated from a good random number source such as random_bytes(), and have a length of at least SODIUM_CRYPTO_PWHASH_SALTBYTES bytes.

opslimit

Represents a maximum amount of computations to perform. Raising this number will make the function require more CPU cycles to compute a key. There are some constants available to set the operations limit to appropriate values depending on intended use, in order of strength: SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.

memlimit

The maximum amount of RAM that the function will use, in bytes. There are constants to help you choose an appropriate value, in order of size: SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE, SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE, and SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE. Typically these should be paired with the matching opslimit values.

algo

int A number indicating the hash algorithm to use. By default SODIUM_CRYPTO_PWHASH_ALG_DEFAULT (the currently recommended algorithm, which can change from one version of libsodium to another), or explicitly using SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13, representing the Argon2id algorithm version 1.3.

Dönen Değerler

Returns the derived key. The return value is a binary string of the hash, not an ASCII-encoded representation, and does not contain additional information about the parameters used to create the hash, so you will need to keep that information if you are ever going to verify the password in future. Use sodium_crypto_pwhash_str() to avoid needing to do all that.

Örnekler

Örnek 1 sodium_crypto_pwhash() example

<?php
//Need to keep the salt if we're ever going to be able to check this password
$salt = random_bytes(SODIUM_CRYPTO_PWHASH_SALTBYTES);
//Using bin2hex to keep output readable
echo bin2hex(
sodium_crypto_pwhash(
16, // == 128 bits
'password',
$salt,
SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13
)
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a18f346ba57992eb7e4ae6abf3fd30ee


Takma Adı: sodium_crypto_box_publickey_from_secretkey

  • « sodium_crypto_pwhash
  • sodium_crypto_scalarmult_ristretto255_base »
  • PHP Manual
  • Sodium İşlevleri
  • Takma Adı: sodium_crypto_box_publickey_from_secretkey

sodium_crypto_scalarmult_base

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_scalarmult_base — Takma Adı: sodium_crypto_box_publickey_from_secretkey()

Açıklama

Bu işlev şu işlevin takma adıdır: sodium_crypto_box_publickey_from_secretkey().


Calculates the public key from a secret key

  • « sodium_crypto_scalarmult_base
  • sodium_crypto_scalarmult_ristretto255 »
  • PHP Manual
  • Sodium İşlevleri
  • Calculates the public key from a secret key

sodium_crypto_scalarmult_ristretto255_base

(PHP 8 >= 8.1.1)

sodium_crypto_scalarmult_ristretto255_base — Calculates the public key from a secret key

Açıklama

sodium_crypto_scalarmult_ristretto255_base(string $n): string

Given a secret key, calculates the corresponding public key. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

n

A secret key.

Dönen Değerler

Returns a 32-byte random string.

Ayrıca Bakınız

  • sodium_crypto_scalarmult_ristretto255() - Computes a shared secret


Computes a shared secret

  • « sodium_crypto_scalarmult_ristretto255_base
  • sodium_crypto_scalarmult »
  • PHP Manual
  • Sodium İşlevleri
  • Computes a shared secret

sodium_crypto_scalarmult_ristretto255

(PHP 8 >= 8.1.1)

sodium_crypto_scalarmult_ristretto255 — Computes a shared secret

Açıklama

sodium_crypto_scalarmult_ristretto255(string $n, string $p): string

Calculates scalar n times point p. Available as of libsodium 1.0.18.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

n

A scalar, which is typically a secret key.

p

A point (x-coordinate), which is typically a public key.

Dönen Değerler

Returns a 32-byte random string.

Ayrıca Bakınız

  • sodium_crypto_scalarmult_ristretto255_base() - Calculates the public key from a secret key


Compute a shared secret given a user's secret key and another user's public key

  • « sodium_crypto_scalarmult_ristretto255
  • sodium_crypto_secretbox_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Compute a shared secret given a user's secret key and another user's public key

sodium_crypto_scalarmult

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_scalarmult — Compute a shared secret given a user's secret key and another user's public key

Açıklama

sodium_crypto_scalarmult(string $n, string $p): string

Elliptic Curve Diffie-Hellman. Calculates scalar n times point p, on an elliptic curve.

Bağımsız Değişkenler

n

scalar, which is typically a secret key

p

point (x-coordinate), which is typically a public key

Dönen Değerler

A 32-byte random string.


Generate random key for sodium_crypto_secretbox

  • « sodium_crypto_scalarmult
  • sodium_crypto_secretbox_open »
  • PHP Manual
  • Sodium İşlevleri
  • Generate random key for sodium_crypto_secretbox

sodium_crypto_secretbox_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox_keygen — Generate random key for sodium_crypto_secretbox

Açıklama

sodium_crypto_secretbox_keygen(): string

Generate a key for use with sodium_crypto_secretbox() and sodium_crypto_secretbox_open().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the generated string of cryptographically secure random bytes.

Örnekler

Örnek 1 sodium_crypto_secretbox_keygen() example

<?php
$key = sodium_crypto_secretbox_keygen();
var_dump( sodium_bin2hex( $key ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(64) "88bd1dc51ec81984f3ddc5a8f59a3d95b647e2da3e879f1b9ceb0abd89e7286c"

Örnek 2 Comparing sodium_crypto_secretbox_keygen() with random_bytes()

<?php
$key = sodium_crypto_secretbox_keygen();
$bytes = random_bytes( SODIUM_CRYPTO_SECRETBOX_KEYBYTES );
var_dump( mb_strlen( $key, '8bit' ) === mb_strlen( $bytes, '8bit' ) );
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • sodium_bin2hex() - Encode to hexadecimal
  • random_bytes() - Get cryptographically secure random bytes


Authenticated shared-key decryption

  • « sodium_crypto_secretbox_keygen
  • sodium_crypto_secretbox »
  • PHP Manual
  • Sodium İşlevleri
  • Authenticated shared-key decryption

sodium_crypto_secretbox_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox_open — Authenticated shared-key decryption

Açıklama

sodium_crypto_secretbox_open(string $ciphertext, string $nonce, string $key): string|false

Decrypt an encrypted message with a symmetric (shared) key.

Bağımsız Değişkenler

ciphertext

Must be in the format provided by sodium_crypto_secretbox() (ciphertext and tag, concatenated).

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

The decrypted string on success başarısızlık durumunda false döner.

Hatalar/İstisnalar

  • If nonce has a length of bytes different than SODIUM_CRYPTO_SECRETBOX_NONCEBYTES (24 bytes), a SodiumException will be thrown.
  • If key has a length of bytes different than SODIUM_CRYPTO_SECRETBOX_KEYBYTES (32 bytes), a SodiumException will be thrown.

Örnekler

Örnek 1 sodium_crypto_secretbox_open() example

<?php
// The $key must be kept confidential
$key = random_bytes(SODIUM_CRYPTO_SECRETBOX_KEYBYTES);
// Do not reuse $nonce with the same key
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$ciphertext = sodium_crypto_secretbox('message to be encrypted', $nonce, $key);

// The same nonce and key are required to decrypt the $ciphertext
$plaintext = sodium_crypto_secretbox_open($ciphertext, $nonce, $key);
if ($plaintext !== false) {
echo $plaintext . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

message to be encrypted

Ayrıca Bakınız

  • sodium_crypto_secretbox() - Authenticated shared-key encryption
  • sodium_crypto_secretbox_keygen() - Generate random key for sodium_crypto_secretbox
  • random_bytes() - Get cryptographically secure random bytes


Authenticated shared-key encryption

  • « sodium_crypto_secretbox_open
  • sodium_crypto_secretstream_xchacha20poly1305_init_pull »
  • PHP Manual
  • Sodium İşlevleri
  • Authenticated shared-key encryption

sodium_crypto_secretbox

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretbox — Authenticated shared-key encryption

Açıklama

sodium_crypto_secretbox(string $message, string $nonce, string $key): string

Encrypt a message with a symmetric (shared) key.

Bağımsız Değişkenler

message

The plaintext message to encrypt.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

Returns the encrypted string.

Hatalar/İstisnalar

  • If nonce has a length of bytes different than SODIUM_CRYPTO_SECRETBOX_NONCEBYTES (24 bytes), a SodiumException will be thrown.
  • If key has a length of bytes different than SODIUM_CRYPTO_SECRETBOX_KEYBYTES (32 bytes), a SodiumException will be thrown.
  • Throws a SodiumException on failure.

Örnekler

Örnek 1 sodium_crypto_secretbox() example

<?php
// The $key must be kept confidential
$key = sodium_crypto_secretbox_keygen();
// Do not reuse $nonce with the same key
$nonce = random_bytes(SODIUM_CRYPTO_SECRETBOX_NONCEBYTES);
$plaintext = "message to be encrypted";
$ciphertext = sodium_crypto_secretbox($plaintext, $nonce, $key);

var_dump(bin2hex($ciphertext));
// The same nonce and key are required to decrypt the $ciphertext
var_dump(sodium_crypto_secretbox_open($ciphertext, $nonce, $key));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(78) "3a1fa3e9f7b72ef8be51d40abf8e296c6899c185d07b18b4c93e7f26aa776d24c50852cd6b1076"
string(23) "message to be encrypted"

Ayrıca Bakınız

  • sodium_crypto_secretbox_open() - Authenticated shared-key decryption
  • sodium_crypto_secretbox_keygen() - Generate random key for sodium_crypto_secretbox
  • random_bytes() - Get cryptographically secure random bytes


Initialize a secretstream context for decryption

  • « sodium_crypto_secretbox
  • sodium_crypto_secretstream_xchacha20poly1305_init_push »
  • PHP Manual
  • Sodium İşlevleri
  • Initialize a secretstream context for decryption

sodium_crypto_secretstream_xchacha20poly1305_init_pull

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_init_pull — Initialize a secretstream context for decryption

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_init_pull(string $header, string $key): string

Initialize a secretstream context for decryption.

Bağımsız Değişkenler

header

The header of the secretstream. This should be one of the values produced by sodium_crypto_secretstream_xchacha20poly1305_init_push().

key

Encryption key (256-bit).

Dönen Değerler

Secretstream state.

Örnekler

Örnek 1 sodium_crypto_secretstream_xchacha20poly1305_init_pull() example

<?php
function decrypt_file(string $inputFilePath, string $outputFilePath, string $key): void
{
$inputFile = fopen($inputFilePath, 'rb');
$outputFile = fopen($outputFilePath, 'wb');
$header = fread($inputFile, 24);

$state = sodium_crypto_secretstream_xchacha20poly1305_init_pull($header, $key);
$inputFileSize = fstat($inputFile)['size'];

// Decrypt the file and write its contents to the output file:
for ($i = 24; $i < $inputFileSize; $i += 8192) {
$ctxt_chunk = fread($inputFile, 8192);

// We're not using $tag, but in real protocols you can use this on encrypt to e.g.
// trigger a re-key or indicate the end of file. Then, on decrypt, you can assert
// this behavior.
[$ptxt_chunk, $tag] = sodium_crypto_secretstream_xchacha20poly1305_pull($state, $ctxt_chunk);
fwrite($outputFile, $ptxt_chunk);
}

sodium_memzero($state);
fclose($inputFile);
fclose($outputFile);
}

// sodium_crypto_secretstream_xchacha20poly1305_keygen()
$key = sodium_base642bin('MS0lzb7HC+thY6jY01pkTE/cwsQxnRq0/2L1eL4Hxn8=', SODIUM_BASE64_VARIANT_ORIGINAL);

$example = sodium_hex2bin('971e33b255f0990ef3931caf761c59136efa77b434832f28ec719e3ff73f5aec38b3bba1574ab5b70a8844d8da36a668e802cfea2c');
file_put_contents('hello.enc', $example);
decrypt_file('hello.enc', 'hello.txt.decrypted', $key);
var_dump(file_get_contents('hello.txt.decrypted'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(12) "Hello world!"


Initialize a secretstream context for encryption

  • « sodium_crypto_secretstream_xchacha20poly1305_init_pull
  • sodium_crypto_secretstream_xchacha20poly1305_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Initialize a secretstream context for encryption

sodium_crypto_secretstream_xchacha20poly1305_init_push

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_init_push — Initialize a secretstream context for encryption

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_init_push(string $key): array

Initialize a secretstream context for encryption.

Bağımsız Değişkenler

key

Cryptography key. See sodium_crypto_secretstream_xchacha20poly1305_keygen().

Dönen Değerler

An array with two string values:

  • The secretstream state, needed for further pushes
  • The secretstream header, which needs to be provided to the recipient so they can pull data

Örnekler

Örnek 1 sodium_crypto_secretstream_xchacha20poly1305_init_push() example

<?php
function encrypt_file(string $inputFilePath, string $outputFilePath, string $key): void
{
[$state, $header] = sodium_crypto_secretstream_xchacha20poly1305_init_push($key);

$inputFile = fopen($inputFilePath, 'rb');
$outputFile = fopen($outputFilePath, 'wb');
// Write the header:
fwrite($outputFile, $header);
$inputFileSize = fstat($inputFile)['size'];

// Encrypt the file and write its contents to the output file:
for ($i = 0; $i < $inputFileSize; $i += 8175) {
$ptxt_chunk = fread($inputFile, 8175);
$ctxt_chunk = sodium_crypto_secretstream_xchacha20poly1305_push($state, $ptxt_chunk);
fwrite($outputFile, $ctxt_chunk);
}

sodium_memzero($state);
fclose($inputFile);
fclose($outputFile);
}

// sodium_crypto_secretstream_xchacha20poly1305_keygen()
$key = sodium_base642bin('MS0lzb7HC+thY6jY01pkTE/cwsQxnRq0/2L1eL4Hxn8=', SODIUM_BASE64_VARIANT_ORIGINAL);

file_put_contents('hello.txt', 'Hello world!');
encrypt_file('hello.txt', 'hello.txt.encrypted', $key);
var_dump(sodium_bin2hex(file_get_contents('hello.txt.encrypted')));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(106) "971e33b255f0990ef3931caf761c59136efa77b434832f28ec719e3ff73f5aec38b3bba1574ab5b70a8844d8da36a668e802cfea2c"


Generate a random secretstream key.

  • « sodium_crypto_secretstream_xchacha20poly1305_init_push
  • sodium_crypto_secretstream_xchacha20poly1305_pull »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random secretstream key.

sodium_crypto_secretstream_xchacha20poly1305_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_keygen — Generate a random secretstream key.

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_keygen(): string

Generate a random secretstream key.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string of random bytes.


Decrypt a chunk of data from an encrypted stream

  • « sodium_crypto_secretstream_xchacha20poly1305_keygen
  • sodium_crypto_secretstream_xchacha20poly1305_push »
  • PHP Manual
  • Sodium İşlevleri
  • Decrypt a chunk of data from an encrypted stream

sodium_crypto_secretstream_xchacha20poly1305_pull

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_pull — Decrypt a chunk of data from an encrypted stream

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_pull(string &$state, string $ciphertext, string $additional_data = ""): array|false

Decrypt a chunk of data from an encrypted stream.

Bağımsız Değişkenler

state

See sodium_crypto_secretstream_xchacha20poly1305_init_pull() and sodium_crypto_secretstream_xchacha20poly1305_init_push()

ciphertext

The ciphertext chunk to decrypt.

additional_data

Optional additional data to include in the authentication tag.

Dönen Değerler

An array with two values:

  • string; The decrypted chunk

  • int; An optional tag (if provided during push). Possible values:

    • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: the most common tag, that doesn't add any information about the nature of the message.
    • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: indicates that the message marks the end of the stream, and erases the secret key used to encrypt the previous sequence.
    • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: indicates that the message marks the end of a set of messages, but not the end of the stream. For example, a huge JSON string sent as multiple chunks can use this tag to indicate to the application that the string is complete and that it can be decoded. But the stream itself is not closed, and more data may follow.
    • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: "forget" the key used to encrypt this message and the previous ones, and derive a new secret key.


Encrypt a chunk of data so that it can safely be decrypted in a streaming API

  • « sodium_crypto_secretstream_xchacha20poly1305_pull
  • sodium_crypto_secretstream_xchacha20poly1305_rekey »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypt a chunk of data so that it can safely be decrypted in a streaming API

sodium_crypto_secretstream_xchacha20poly1305_push

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_push — Encrypt a chunk of data so that it can safely be decrypted in a streaming API

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_push(
string &$state,
string $message,
string $additional_data = "",
int $tag = SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE
): string

Encrypt a chunk of data so that it can safely be decrypted in a streaming API.

Bağımsız Değişkenler

state

See sodium_crypto_secretstream_xchacha20poly1305_init_pull() and sodium_crypto_secretstream_xchacha20poly1305_init_push()

message

additional_data

tag

Optional. Can be used to assert decryption behavior (i.e. re-keying or indicating the final chunk in a stream).

  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE: the most common tag, that doesn't add any information about the nature of the message.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL: indicates that the message marks the end of the stream, and erases the secret key used to encrypt the previous sequence.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH: indicates that the message marks the end of a set of messages, but not the end of the stream. For example, a huge JSON string sent as multiple chunks can use this tag to indicate to the application that the string is complete and that it can be decoded. But the stream itself is not closed, and more data may follow.
  • SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY: "forget" the key used to encrypt this message and the previous ones, and derive a new secret key.

Dönen Değerler

Returns the encrypted ciphertext.


Explicitly rotate the key in the secretstream state

  • « sodium_crypto_secretstream_xchacha20poly1305_push
  • sodium_crypto_shorthash_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Explicitly rotate the key in the secretstream state

sodium_crypto_secretstream_xchacha20poly1305_rekey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_secretstream_xchacha20poly1305_rekey — Explicitly rotate the key in the secretstream state

Açıklama

sodium_crypto_secretstream_xchacha20poly1305_rekey(string &$state): void

Explicitly rotate the key in the secretstream state. Overwrites the value passed in.

Bağımsız Değişkenler

state

Secretstream state.

Dönen Değerler

Hiçbir değer dönmez.


Get random bytes for key

  • « sodium_crypto_secretstream_xchacha20poly1305_rekey
  • sodium_crypto_shorthash »
  • PHP Manual
  • Sodium İşlevleri
  • Get random bytes for key

sodium_crypto_shorthash_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_shorthash_keygen — Get random bytes for key

Açıklama

sodium_crypto_shorthash_keygen(): string

Generate a key for use with sodium_crypto_shorthash().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Compute a short hash of a message and key

  • « sodium_crypto_shorthash_keygen
  • sodium_crypto_sign_detached »
  • PHP Manual
  • Sodium İşlevleri
  • Compute a short hash of a message and key

sodium_crypto_shorthash

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_shorthash — Compute a short hash of a message and key

Açıklama

sodium_crypto_shorthash(string $message, string $key): string

sodium_crypto_shorthash() wraps a hash function called SipHash-2-4, which is ideal for implementing hash tables that are not susceptible to hash collision denial of service attacks (Hash-DoS).

SipHash-2-4 isn't a general purpose cryptographic hash function.

Bağımsız Değişkenler

message

The message to hash.

key

The hash key.

Dönen Değerler


Sign the message

  • « sodium_crypto_shorthash
  • sodium_crypto_sign_ed25519_pk_to_curve25519 »
  • PHP Manual
  • Sodium İşlevleri
  • Sign the message

sodium_crypto_sign_detached

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_detached — Sign the message

Açıklama

sodium_crypto_sign_detached(string $message, string $secret_key): string

Sign a message with a secret key, that can be verified by the corresponding public key. This function returns a detached signature.

Bağımsız Değişkenler

message

Message to sign.

secret_key

Secret key. See sodium_crypto_sign_secretkey()

Dönen Değerler

Cryptographic signature.


Convert an Ed25519 public key to a Curve25519 public key

  • « sodium_crypto_sign_detached
  • sodium_crypto_sign_ed25519_sk_to_curve25519 »
  • PHP Manual
  • Sodium İşlevleri
  • Convert an Ed25519 public key to a Curve25519 public key

sodium_crypto_sign_ed25519_pk_to_curve25519

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_ed25519_pk_to_curve25519 — Convert an Ed25519 public key to a Curve25519 public key

Açıklama

sodium_crypto_sign_ed25519_pk_to_curve25519(string $public_key): string

Given an Ed25519 public key, calculate the birationally equivalent X25519 public key.

Bağımsız Değişkenler

public_key

Public key suitable for the crypto_sign functions.

Dönen Değerler

Public key suitable for the crypto_box functions.


Convert an Ed25519 secret key to a Curve25519 secret key

  • « sodium_crypto_sign_ed25519_pk_to_curve25519
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey »
  • PHP Manual
  • Sodium İşlevleri
  • Convert an Ed25519 secret key to a Curve25519 secret key

sodium_crypto_sign_ed25519_sk_to_curve25519

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_ed25519_sk_to_curve25519 — Convert an Ed25519 secret key to a Curve25519 secret key

Açıklama

sodium_crypto_sign_ed25519_sk_to_curve25519(string $secret_key): string

Given an Ed25519 secret key, calculate the birationally equivalent X25519 secret key.

Bağımsız Değişkenler

secret_key

Secret key suitable for the crypto_sign functions.

Dönen Değerler

Secret key suitable for the crypto_box functions.


Join a secret key and public key together

  • « sodium_crypto_sign_ed25519_sk_to_curve25519
  • sodium_crypto_sign_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Join a secret key and public key together

sodium_crypto_sign_keypair_from_secretkey_and_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_keypair_from_secretkey_and_publickey — Join a secret key and public key together

Açıklama

sodium_crypto_sign_keypair_from_secretkey_and_publickey(string $secret_key, string $public_key): string

Join a secret key and public key together.

Bağımsız Değişkenler

secret_key

Ed25519 secret key

public_key

Ed25519 public key

Dönen Değerler

Keypair


Randomly generate a secret key and a corresponding public key

  • « sodium_crypto_sign_keypair_from_secretkey_and_publickey
  • sodium_crypto_sign_open »
  • PHP Manual
  • Sodium İşlevleri
  • Randomly generate a secret key and a corresponding public key

sodium_crypto_sign_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_keypair — Randomly generate a secret key and a corresponding public key

Açıklama

sodium_crypto_sign_keypair(): string

Generate a random Ed25519 keypair as one string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ed25519 keypair.


Check that the signed message has a valid signature

  • « sodium_crypto_sign_keypair
  • sodium_crypto_sign_publickey_from_secretkey »
  • PHP Manual
  • Sodium İşlevleri
  • Check that the signed message has a valid signature

sodium_crypto_sign_open

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_open — Check that the signed message has a valid signature

Açıklama

sodium_crypto_sign_open(string $signed_message, string $public_key): string|false

Verify the signature attached to a message and return the message

Bağımsız Değişkenler

signed_message

A message signed with sodium_crypto_sign()

public_key

An Ed25519 public key

Dönen Değerler

Returns the original signed message on success, başarısızlık durumunda false döner.


Extract the Ed25519 public key from the secret key

  • « sodium_crypto_sign_open
  • sodium_crypto_sign_publickey »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the Ed25519 public key from the secret key

sodium_crypto_sign_publickey_from_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_publickey_from_secretkey — Extract the Ed25519 public key from the secret key

Açıklama

sodium_crypto_sign_publickey_from_secretkey(string $secret_key): string

Extract the Ed25519 public key from the secret key

Bağımsız Değişkenler

secret_key

Ed25519 secret key

Dönen Değerler

Ed25519 public key


Extract the Ed25519 public key from a keypair

  • « sodium_crypto_sign_publickey_from_secretkey
  • sodium_crypto_sign_secretkey »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the Ed25519 public key from a keypair

sodium_crypto_sign_publickey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_publickey — Extract the Ed25519 public key from a keypair

Açıklama

sodium_crypto_sign_publickey(string $key_pair): string

Extract the Ed25519 public key from a keypair

Bağımsız Değişkenler

key_pair

Ed25519 keypair (see: sodium_crypto_sign_keypair())

Dönen Değerler

Ed25519 public key


Extract the Ed25519 secret key from a keypair

  • « sodium_crypto_sign_publickey
  • sodium_crypto_sign_seed_keypair »
  • PHP Manual
  • Sodium İşlevleri
  • Extract the Ed25519 secret key from a keypair

sodium_crypto_sign_secretkey

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_secretkey — Extract the Ed25519 secret key from a keypair

Açıklama

sodium_crypto_sign_secretkey(string $key_pair): string

Extract the Ed25519 secret key from a keypair

Bağımsız Değişkenler

key_pair

Ed25519 keypair (see: sodium_crypto_sign_keypair())

Dönen Değerler

Ed25519 secret key


Deterministically derive the key pair from a single key

  • « sodium_crypto_sign_secretkey
  • sodium_crypto_sign_verify_detached »
  • PHP Manual
  • Sodium İşlevleri
  • Deterministically derive the key pair from a single key

sodium_crypto_sign_seed_keypair

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_seed_keypair — Deterministically derive the key pair from a single key

Açıklama

sodium_crypto_sign_seed_keypair(string $seed): string

Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.

The *_seed_keypair functions are ideal for generating a keypair from a password and salt. Use the result as a seed to generate the desired keys.

Bağımsız Değişkenler

seed

Some cryptographic input. Must be 32 bytes.

Dönen Değerler

Keypair (secret key and public key)


Verify signature for the message

  • « sodium_crypto_sign_seed_keypair
  • sodium_crypto_sign »
  • PHP Manual
  • Sodium İşlevleri
  • Verify signature for the message

sodium_crypto_sign_verify_detached

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign_verify_detached — Verify signature for the message

Açıklama

sodium_crypto_sign_verify_detached(string $signature, string $message, string $public_key): bool

Verify signature for the message

Bağımsız Değişkenler

signature

The cryptographic signature obtained from sodium_crypto_sign_detached()

message

The message being verified

public_key

Ed25519 public key

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sign a message

  • « sodium_crypto_sign_verify_detached
  • sodium_crypto_stream_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Sign a message

sodium_crypto_sign

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_sign — Sign a message

Açıklama

sodium_crypto_sign(string $message, string $secret_key): string

Sign a message with a secret key, that can be verified by the corresponding public key. This function attaches the signature to the message. See sodium_crypto_sign_detached() for detached signatures.

Bağımsız Değişkenler

message

Message to sign.

secret_key

Secret key. See sodium_crypto_sign_secretkey()

Dönen Değerler

Signed message (not encrypted).


Generate a random sodium_crypto_stream key.

  • « sodium_crypto_sign
  • sodium_crypto_stream_xchacha20_keygen »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a random sodium_crypto_stream key.

sodium_crypto_stream_keygen

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream_keygen — Generate a random sodium_crypto_stream key.

Açıklama

sodium_crypto_stream_keygen(): string

Generate a key for use with sodium_crypto_stream() and sodium_crypto_stream_xor().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Encryption key (256-bit).


Returns a secure random key

  • « sodium_crypto_stream_keygen
  • sodium_crypto_stream_xchacha20_xor_ic »
  • PHP Manual
  • Sodium İşlevleri
  • Returns a secure random key

sodium_crypto_stream_xchacha20_keygen

(PHP 8 >= 8.1.0)

sodium_crypto_stream_xchacha20_keygen — Returns a secure random key

Açıklama

sodium_crypto_stream_xchacha20_keygen(): string

Returns a secure random key for use with sodium_crypto_stream_xchacha20().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a 32-byte secure random key for use with sodium_crypto_stream_xchacha20().


Encrypts a message using a nonce and a secret key (no authentication)

  • « sodium_crypto_stream_xchacha20_keygen
  • sodium_crypto_stream_xchacha20_xor »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypts a message using a nonce and a secret key (no authentication)

sodium_crypto_stream_xchacha20_xor_ic

(PHP 8 >= 8.2.0)

sodium_crypto_stream_xchacha20_xor_ic — Encrypts a message using a nonce and a secret key (no authentication)

Açıklama

sodium_crypto_stream_xchacha20_xor_ic(
string $message,
string $nonce,
int $counter,
string $key
): string

The function is similar to sodium_crypto_stream_xchacha20_xor() but adds the ability to set the initial value of the block counter to a non-zero value. This permits direct access to any block without having to compute the previous ones.

Dikkat

This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to combine the ciphertext with a Message Authentication Code, for example with sodium_crypto_aead_xchacha20poly1305_ietf_encrypt() function, or sodium_crypto_auth().

Bağımsız Değişkenler

message

The message to encrypt.

nonce

24-byte nonce.

counter

The initial value of the block counter.

key

Key, possibly generated from sodium_crypto_stream_xchacha20_keygen().

Dönen Değerler

Encrypted message, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sodium_crypto_stream_xchacha20_xor_ic() example

<?php
$n2 = random_bytes(SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES);
$left = str_repeat("\x01", 64);
$right = str_repeat("\xfe", 64);

// All at once:
$stream7_unified = sodium_crypto_stream_xchacha20_xor($left . $right, $n2, $key);

// Piecewise, with initial counter:
$stream7_left = sodium_crypto_stream_xchacha20_xor_ic($left, $n2, 0, $key);
$stream7_right = sodium_crypto_stream_xchacha20_xor_ic($right, $n2, 1, $key);
$stream7_concat = $stream7_left . $stream7_right;

var_dump(strlen($stream7_concat));
var_dump($stream7_unified === $stream7_concat);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(128)
bool(true)

Ayrıca Bakınız

  • sodium_crypto_stream_xchacha20_xor() - Encrypts a message using a nonce and a secret key (no authentication)


Encrypts a message using a nonce and a secret key (no authentication)

  • « sodium_crypto_stream_xchacha20_xor_ic
  • sodium_crypto_stream_xchacha20 »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypts a message using a nonce and a secret key (no authentication)

sodium_crypto_stream_xchacha20_xor

(PHP 8 >= 8.1.0)

sodium_crypto_stream_xchacha20_xor — Encrypts a message using a nonce and a secret key (no authentication)

Açıklama

sodium_crypto_stream_xchacha20_xor(string $message, string $nonce, string $key): string

Encrypts a message using a nonce and a secret key (no authentication).

Dikkat

This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to combine the ciphertext with a Message Authentication Code, for example with sodium_crypto_aead_xchacha20poly1305_ietf_encrypt() function, or sodium_crypto_auth().

Bağımsız Değişkenler

message

The message to encrypt.

nonce

24-byte nonce.

key

Key, possibly generated from sodium_crypto_stream_xchacha20_keygen().

Dönen Değerler

Encrypted message.

Ayrıca Bakınız

  • sodium_crypto_stream_xchacha20_xor_ic() - Encrypts a message using a nonce and a secret key (no authentication)


Expands the key and nonce into a keystream of pseudorandom bytes

  • « sodium_crypto_stream_xchacha20_xor
  • sodium_crypto_stream_xor »
  • PHP Manual
  • Sodium İşlevleri
  • Expands the key and nonce into a keystream of pseudorandom bytes

sodium_crypto_stream_xchacha20

(PHP 8 >= 8.1.0)

sodium_crypto_stream_xchacha20 — Expands the key and nonce into a keystream of pseudorandom bytes

Açıklama

sodium_crypto_stream_xchacha20(int $length, string $nonce, string $key): string

Expands the key and nonce into a keystream of pseudorandom bytes.

Bağımsız Değişkenler

length

Number of bytes desired.

nonce

24-byte nonce.

key

Key, possibly generated from sodium_crypto_stream_xchacha20_keygen().

Dönen Değerler

Returns a pseudorandom stream that can be used with sodium_crypto_stream_xchacha20_xor().


Encrypt a message without authentication

  • « sodium_crypto_stream_xchacha20
  • sodium_crypto_stream »
  • PHP Manual
  • Sodium İşlevleri
  • Encrypt a message without authentication

sodium_crypto_stream_xor

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream_xor — Encrypt a message without authentication

Açıklama

sodium_crypto_stream_xor(string $message, string $nonce, string $key): string

This function encrypts a message with XSalsa20, but does not provide any ciphertext guarantees about the plaintext.

Bağımsız Değişkenler

message

The message to encrypt

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

Encrypted message.


Generate a deterministic sequence of bytes from a seed

  • « sodium_crypto_stream_xor
  • sodium_hex2bin »
  • PHP Manual
  • Sodium İşlevleri
  • Generate a deterministic sequence of bytes from a seed

sodium_crypto_stream

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_stream — Generate a deterministic sequence of bytes from a seed

Açıklama

sodium_crypto_stream(int $length, string $nonce, string $key): string

Generate a deterministic sequence of bytes from a seed, using the XSalsa20 stream cipher.

Bağımsız Değişkenler

length

The number of bytes to return.

nonce

A number that must be only used once, per message. 24 bytes long. This is a large enough bound to generate randomly (i.e. random_bytes()).

key

Encryption key (256-bit).

Dönen Değerler

String of pseudorandom bytes.


Decodes a hexadecimally encoded binary string

  • « sodium_crypto_stream
  • sodium_increment »
  • PHP Manual
  • Sodium İşlevleri
  • Decodes a hexadecimally encoded binary string

sodium_hex2bin

(PHP 7 >= 7.2.0, PHP 8)

sodium_hex2bin — Decodes a hexadecimally encoded binary string

Açıklama

sodium_hex2bin(string $string, string $ignore = ""): string

Decodes a hexadecimally encoded binary string.

Like sodium_bin2hex(), sodium_hex2bin() is resistant to side-channel attacks while hex2bin() is not.

Bağımsız Değişkenler

string

Hexadecimal representation of data.

ignore

Optional string argument for characters to ignore.

Dönen Değerler

Returns the binary representation of the given string data.


Increment large number

  • « sodium_hex2bin
  • sodium_memcmp »
  • PHP Manual
  • Sodium İşlevleri
  • Increment large number

sodium_increment

(PHP 7 >= 7.2.0, PHP 8)

sodium_increment — Increment large number

Açıklama

sodium_increment(string &$string): void

Treat the string as a little-endian unsigned integer, then increase it by 1. Constant-time.

Bağımsız Değişkenler

string

String to increment.

Dönen Değerler

Hiçbir değer dönmez.


Test for equality in constant-time

  • « sodium_increment
  • sodium_memzero »
  • PHP Manual
  • Sodium İşlevleri
  • Test for equality in constant-time

sodium_memcmp

(PHP 7 >= 7.2.0, PHP 8)

sodium_memcmp — Test for equality in constant-time

Açıklama

sodium_memcmp(string $string1, string $string2): int

Compare two strings in constant-time.

In practice, you almost always want to use hash_equals() instead, since it provides the same logic but returns a bool instead of an int. However, if you're using the return value of a comparison in a calculation that's timing-sensitive, and worried about timing leaks with bool-to-int conversions, sodium_memcmp() is an ideal replacement.

Bağımsız Değişkenler

string1

String to compare

string2

Other string to compare

Dönen Değerler

Returns 0 if both strings are equal; -1 otherwise.


Overwrite a string with NUL characters

  • « sodium_memcmp
  • sodium_pad »
  • PHP Manual
  • Sodium İşlevleri
  • Overwrite a string with NUL characters

sodium_memzero

(PHP 7 >= 7.2.0, PHP 8)

sodium_memzero — Overwrite a string with NUL characters

Açıklama

sodium_memzero(string &$string): void

sodium_memzero() zeroes out the string that is passed by reference.

Bağımsız Değişkenler

string

String.

Dönen Değerler

Hiçbir değer dönmez.


Add padding data

  • « sodium_memzero
  • sodium_unpad »
  • PHP Manual
  • Sodium İşlevleri
  • Add padding data

sodium_pad

(PHP 7 >= 7.2.0, PHP 8)

sodium_pad — Add padding data

Açıklama

sodium_pad(string $string, int $block_size): string

Right-pad a string to a desired length. Timing-safe.

Bağımsız Değişkenler

string

Unpadded string.

block_size

The string will be padded until it is an even multiple of the block size.

Dönen Değerler

Padded string.


Remove padding data

  • « sodium_pad
  • SodiumException »
  • PHP Manual
  • Sodium İşlevleri
  • Remove padding data

sodium_unpad

(PHP 7 >= 7.2.0, PHP 8)

sodium_unpad — Remove padding data

Açıklama

sodium_unpad(string $string, int $block_size): string

Unpad a padded string. Timing-safe.

Bağımsız Değişkenler

string

Padded string.

block_size

The block size for padding.

Dönen Değerler

Unpadded string.


The SodiumException class

(PHP 7 >= 7.2.0, PHP 8)

Giriş

Exceptions thrown by the sodium functions.

Sınıf Sözdizimi

class SodiumException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Veritabanı Eklentileri

  • Soyutlama Katmanları
    • DBA — Database (dbm-style) Abstraction Layer
    • ODBC — ODBC (Tekilleştirilmiş)
    • PDO — PHP Veri Nesneleri
  • Sağlayıcıya Göre Veritabanı Eklentileri
    • CUBRID
    • dBase
    • Firebird/InterBase
    • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • MongoDB — MongoDB driver
    • MySQL — MySQL Drivers and Plugins
    • OCI8 — Oracle OCI8
    • PostgreSQL
    • SQLite3
    • SQLSRV — Microsoft SQL Server Driver for PHP


Soyutlama Katmanları

  • DBA — Database (dbm-style) Abstraction Layer
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • DBA İşlevleri
  • ODBC — ODBC (Tekilleştirilmiş)
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • ODBC İşlevleri
  • PDO — PHP Veri Nesneleri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Bağlantılar ve Bağlantı Yönetimi
    • Hareketler ve Ototeslim
    • Hazır deyimler ve Saklı Yordamlar
    • Hatalar ve Ele Alınışları
    • Büyük Veri Nesneleri (LOB'lar)
    • PDO — PDO sınıfı
    • PDOStatement — PDOStatement sınıfı
    • PDOException — PDOException sınıfı
    • PDO Sürücüleri


Database (dbm-style) Abstraction Layer

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
  • DBA İşlevleri
    • dba_close — Close a DBA database
    • dba_delete — Delete DBA entry specified by key
    • dba_exists — Check whether key exists
    • dba_fetch — Fetch data specified by key
    • dba_firstkey — Fetch first key
    • dba_handlers — List all the handlers available
    • dba_insert — Insert entry
    • dba_key_split — Splits a key in string representation into array representation
    • dba_list — List all open database files
    • dba_nextkey — Fetch next key
    • dba_open — Open database
    • dba_optimize — Optimize database
    • dba_popen — Open database persistently
    • dba_replace — Replace or insert entry
    • dba_sync — Synchronize database


Giriş

These functions build the foundation for accessing Berkeley DB style databases.

This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as » Oracle Berkeley DB.


Gereksinimler

The behaviour of various aspects depends on the implementation of the underlying database. Functions such as dba_optimize() and dba_sync() will do what they promise for one database and will do nothing for others. You have to download and install supported dba-Handlers.

List of DBA handlers
Handler | Notes
dbm | Dbm is the oldest (original) type of Berkeley DB style databases. You should avoid it, if possible. We do not support the compatibility functions built into DB2 and gdbm, because they are only compatible on the source code level, but cannot handle the original dbm format.
ndbm | Ndbm is a newer type and more flexible than dbm. It still has most of the arbitrary limits of dbm (therefore it is deprecated).
gdbm | Gdbm is the » GNU database manager.
db2 | DB2 is for » Oracle Berkeley DB 2. It is described as "a programmatic toolkit that provides high-performance built-in database support for both standalone and client/server applications."
db3 | DB3 is for » Oracle Berkeley DB 3.
db4 | DB4 is for » Oracle Berkeley DB 4 or 5. This option can be used with BDB 5 as of PHP 5.3.3.
cdb | Cdb is "a fast, reliable, lightweight package for creating and reading constant databases." It is from the author of qmail and can be found at » http://cr.yp.to/cdb.html. Since it is constant, we support only reading operations. We support writing (not updating) through the internal cdb library.
cdb_make | We support creation (not updating) of cdb files when the bundled cdb library is used.
flatfile | This is available for compatibility with the deprecated dbm extension only and should be avoided. However you may use this where files were created in this format. That happens when configure could not find any external library.
inifile | This is available to be able to modify php.ini files from within PHP scripts. When working with ini files you can pass arrays of the form array(0=>group,1=>value_name) or strings of the form "[group]value_name" where group is optional. As the functions dba_firstkey() and dba_nextkey() return string representations of the key there is the function dba_key_split() which allows to convert the string keys into array keys without loosing false.
qdbm | The qdbm library can be downloaded from » http://fallabs.com/qdbm/index.html.
tcadb | The Tokyo Cabinet library can be downloaded from » http://fallabs.com/tokyocabinet/.
lmdb | This is available since PHP 7.2.0. The Lightning Memory-Mapped Database library can be downloaded from » https://symas.com/lmdb/.

When invoking the dba_open() or dba_popen() functions, one of the handler names must be supplied as an argument. The actually available list of handlers is displayed by invoking phpinfo() or dba_handlers().


Kurulum

By using the --enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the --with-XXXX or --enable-XXXX configure switch to your PHP configure line.

Uyarı

After configuring and compiling PHP you must execute the following test from commandline: php run-tests.php ext/dba. This shows whether your combination of handlers works. Most problematic are dbm and ndbm which conflict with many installations. The reason for this is that on several systems these libraries are part of more than one other library. The configuration test only prevents you from configuring malfunctioning single handlers but not combinations.

Supported DBA handlers
Handler | Configure Switch
dbm

To enable support for dbm add --with-dbm[=DIR].

Bilginize:

dbm normally is a wrapper which often results in failures. This means you should only use dbm if you are sure it works and if you really need this format.

ndbm

To enable support for ndbm add --with-ndbm[=DIR].

Bilginize:

ndbm normally is a wrapper which often results in failures. This means you should only use ndbm if you are sure it works and if you really need this format.

gdbm | To enable support for gdbm add --with-gdbm[=DIR].
db2

To enable support for Oracle Berkeley DB 2 add --with-db2[=DIR].

Bilginize:

db2 conflicts with db3 and db4.

db3

To enable support for Oracle Berkeley DB 3 add --with-db3[=DIR].

Bilginize:

db3 conflicts with db2 and db4.

db4

To enable support for Oracle Berkeley DB 4 or 5 add --with-db4[=DIR].

Bilginize:

db4 conflicts with db2 and db3.

Bilginize:

The db libraries with versions 4.1 through 4.1.24 cannot be used in any PHP version.

Support for BDB 5 was added in PHP 5.3.3.

cdb

To enable support for cdb add --with-cdb[=DIR].

Bilginize:

You can omit DIR to use the bundled cdb library that adds the cdb_make handler which allows creation of cdb files and allows to access cdb files on the network using PHP's streams.

flatfile

To enable support for flatfile add --enable-flatfile. Before PHP 5.2.1 the --with-flatfile had to be used instead.

Bilginize:

This was added to add compatibility with deprecated dbm extension. Use this handler only when you cannot install one of the libraries required by the other handlers and when you cannot use bundled cdb handler.

inifile

To enable support for inifile add --enable-inifile. Before PHP 5.2.1 the --with-inifile had to be used instead.

Bilginize:

This was added to allow to read and set microsoft style .ini files (like the php.ini file).

qdbm

To enable support for qdbm add --with-qdbm[=DIR].

Bilginize:

qdbm conflicts with dbm and gdbm.

Bilginize:

The qdbm library can be downloaded from » http://fallabs.com/qdbm/index.html.

tcadb

To enable support for Tokyo Cabinet add --with-tcadb[=DIR].

Bilginize:

The Tokyo Cabinet library can be downloaded from » http://fallabs.com/tokyocabinet/.

lmdb

To enable support for the Lightning Memory-Mapped Database add --with-lmdb[=DIR].

Bilginize:

This was added in PHP 7.2.0. The Lightning Memory-Mapped Database library can be downloaded from » https://symas.com/lmdb/.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

DBA Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

dba.default_handler string

The name of the default handler


Özkaynak Türleri

The functions dba_open() and dba_popen() return a handle to the specified database file to access which is used by all other dba-function calls.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

DBA_LMDB_USE_SUB_DIR (int)

LMDB Driver flag to allow the creation of a subdirectory for the database files. Available as of PHP 8.2.0.

DBA_LMDB_NO_SUB_DIR (int)

LMDB Driver flag to disallow the creation of a subdirectory for the database files. Available as of PHP 8.2.0.


  • « Öntanımlı Sabitler
  • Basic usage »
  • PHP Manual
  • DBA
  • Örnekler

Örnekler

İçindekiler

  • Basic usage


Basic usage

Örnek 1 DBA example

<?php

$id = dba_open("/tmp/test.db", "n", "db2");

if (!$id) {
echo "dba_open failed\n";
exit;
}

dba_replace("key", "This is an example!", $id);

if (dba_exists("key", $id)) {
echo dba_fetch("key", $id);
dba_delete("key", $id);
}

dba_close($id);
?>

DBA is binary safe and does not have any arbitrary limits. However, it inherits all limits set by the underlying database implementation.

All file-based databases must provide a way of setting the file mode of a new created database, if that is possible at all. The file mode is commonly passed as the fourth argument to dba_open() or dba_popen().

You can access all entries of a database in a linear way by using the dba_firstkey() and dba_nextkey() functions. You may not change the database while traversing it.

Örnek 2 Traversing a database

<?php

// ...open database...

$key = dba_firstkey($id);

while ($key !== false) {
if (true) { // remember the key to perform some action later
$handle_later[] = $key;
}
$key = dba_nextkey($id);
}

foreach ($handle_later as $val) {
dba_delete($val, $id);
}

?>


DBA İşlevleri

İçindekiler

  • dba_close — Close a DBA database
  • dba_delete — Delete DBA entry specified by key
  • dba_exists — Check whether key exists
  • dba_fetch — Fetch data specified by key
  • dba_firstkey — Fetch first key
  • dba_handlers — List all the handlers available
  • dba_insert — Insert entry
  • dba_key_split — Splits a key in string representation into array representation
  • dba_list — List all open database files
  • dba_nextkey — Fetch next key
  • dba_open — Open database
  • dba_optimize — Optimize database
  • dba_popen — Open database persistently
  • dba_replace — Replace or insert entry
  • dba_sync — Synchronize database


Close a DBA database

  • « DBA İşlevleri
  • dba_delete »
  • PHP Manual
  • DBA İşlevleri
  • Close a DBA database

dba_close

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_close — Close a DBA database

Açıklama

dba_close(resource $dba): void

dba_close() closes the established database and frees all resources of the specified database handle.

Bağımsız Değişkenler

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • dba_open() - Open database
  • dba_popen() - Open database persistently


Delete DBA entry specified by key

  • « dba_close
  • dba_exists »
  • PHP Manual
  • DBA İşlevleri
  • Delete DBA entry specified by key

dba_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_delete — Delete DBA entry specified by key

Açıklama

dba_delete(string|array $key, resource $dba): bool

dba_delete() deletes the specified entry from the database.

Bağımsız Değişkenler

key

The key of the entry which is deleted.

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_exists() - Check whether key exists
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry


Check whether key exists

  • « dba_delete
  • dba_fetch »
  • PHP Manual
  • DBA İşlevleri
  • Check whether key exists

dba_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_exists — Check whether key exists

Açıklama

dba_exists(string|array $key, resource $dba): bool

dba_exists() checks whether the specified key exists in the database.

Bağımsız Değişkenler

key

The key the check is performed for.

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Returns true if the key exists, false otherwise.

Ayrıca Bakınız

  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry


Fetch data specified by key

  • « dba_exists
  • dba_firstkey »
  • PHP Manual
  • DBA İşlevleri
  • Fetch data specified by key

dba_fetch

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_fetch — Fetch data specified by key

Açıklama

dba_fetch(string|array $key, resource $dba, int $skip = 0): string|false

Overloaded signature deprecated as of 8.3.0:

dba_fetch(string $key, int $skip, resource $dba): string

dba_fetch() fetches the data specified by key from the database specified with dba.

Bağımsız Değişkenler

key

The key the data is specified by.

Bilginize:

When working with inifiles this function accepts arrays as keys where index 0 is the group and index 1 is the value name. See: dba_key_split().

dba

The database handler, returned by dba_open() or dba_popen().

skip

The number of key-value pairs to ignore when using cdb databases. This value is ignored for all other databases which do not support multiple keys with the same name.

Dönen Değerler

Returns the associated string if the key/data pair is found, false otherwise.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling dba_fetch() with dba as the 3rd argument is now deprecated.
8.2.0 | dba_fetch()'s optional skip argument is now at the end in line with PHP userland semantics. The previously overloaded signature is still accepted but discouraged.

Ayrıca Bakınız

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_insert() - Insert entry
  • dba_replace() - Replace or insert entry
  • dba_key_split() - Splits a key in string representation into array representation


Fetch first key

  • « dba_fetch
  • dba_handlers »
  • PHP Manual
  • DBA İşlevleri
  • Fetch first key

dba_firstkey

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_firstkey — Fetch first key

Açıklama

dba_firstkey(resource $dba): string|false

dba_firstkey() returns the first key of the database and resets the internal key pointer. This permits a linear search through the whole database.

Bağımsız Değişkenler

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Returns the key on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_nextkey() - Fetch next key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples


List all the handlers available

  • « dba_firstkey
  • dba_insert »
  • PHP Manual
  • DBA İşlevleri
  • List all the handlers available

dba_handlers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

dba_handlers — List all the handlers available

Açıklama

dba_handlers(bool $full_info = false): array

dba_handlers() list all the handlers supported by this extension.

Bağımsız Değişkenler

full_info

Turns on/off full information display in the result.

Dönen Değerler

Returns an array of database handlers. If full_info is set to true, the array will be associative with the handlers names as keys, and their version information as value. Otherwise, the result will be an indexed array of handlers names.

Bilginize:

When the internal cdb library is used you will see cdb and cdb_make.

Örnekler

Örnek 1 dba_handlers() Example

<?php

echo "Available DBA handlers:\n";
foreach (dba_handlers(true) as $handler_name => $handler_version) {
// clean the versions
$handler_version = str_replace('$', '', $handler_version);
echo " - $handler_name: $handler_version\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Available DBA handlers:
 - cdb: 0.75, Revision: 1.3.2.3
 - cdb_make: 0.75, Revision: 1.2.2.4
 - db2: Sleepycat Software: Berkeley DB 2.7.7: (08/20/99)
 - inifile: 1.0, Revision: 1.6.2.3
 - flatfile: 1.0, Revision: 1.5.2.4


Insert entry

  • « dba_handlers
  • dba_key_split »
  • PHP Manual
  • DBA İşlevleri
  • Insert entry

dba_insert

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_insert — Insert entry

Açıklama

dba_insert(string|array $key, string $value, resource $dba): bool

dba_insert() inserts the entry described with key and value into the database.

Bağımsız Değişkenler

key

The key of the entry to be inserted. If this key already exist in the database, this function will fail. Use dba_replace() if you need to replace an existent key.

value

The value to be inserted.

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_replace() - Replace or insert entry


Splits a key in string representation into array representation

  • « dba_insert
  • dba_list »
  • PHP Manual
  • DBA İşlevleri
  • Splits a key in string representation into array representation

dba_key_split

(PHP 5, PHP 7, PHP 8)

dba_key_split — Splits a key in string representation into array representation

Açıklama

dba_key_split(string|false|null $key): array|false

dba_key_split() splits a key (string representation) into an array representation.

Bağımsız Değişkenler

key

The key in string representation.

Dönen Değerler

Returns an array of the form array(0 => group, 1 => value_name). This function will return false if key is null or false.

Ayrıca Bakınız

  • dba_firstkey() - Fetch first key
  • dba_nextkey() - Fetch next key
  • dba_fetch() - Fetch data specified by key


List all open database files

  • « dba_key_split
  • dba_nextkey »
  • PHP Manual
  • DBA İşlevleri
  • List all open database files

dba_list

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

dba_list — List all open database files

Açıklama

dba_list(): array

dba_list() list all open database files.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An associative array, in the form resourceid => filename.


Fetch next key

  • « dba_list
  • dba_open »
  • PHP Manual
  • DBA İşlevleri
  • Fetch next key

dba_nextkey

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_nextkey — Fetch next key

Açıklama

dba_nextkey(resource $dba): string|false

dba_nextkey() returns the next key of the database and advances the internal key pointer.

Bağımsız Değişkenler

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Returns the key on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_firstkey() - Fetch first key
  • dba_key_split() - Splits a key in string representation into array representation
  • Example 2 in the DBA examples


Open database

  • « dba_nextkey
  • dba_optimize »
  • PHP Manual
  • DBA İşlevleri
  • Open database

dba_open

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_open — Open database

Açıklama

dba_open(
string $path,
string $mode,
?string $handler = null,
int $permission = 0644,
int $map_size = 0,
?int $flags = null
): resource|false

dba_open() establishes a database instance for path with mode using handler.

Bağımsız Değişkenler

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access. The database is created in BTree mode, other modes (like Hash or Queue) are not supported.

Additionally you can set the database lock method with the next char. Use l to lock the database with a .lck file or d to lock the databasefile itself. It is important that all of your applications do this consistently.

If you want to test the access and do not want to wait for the lock you can add t as third character. When you are absolutely sure that you do not require database locking you can do so by using - instead of l or d. When none of d, l or - is used, dba will lock on the database file as it would with d.

Bilginize:

There can only be one writer for one database file. When you use dba on a web server and more than one request requires write operations they can only be done one after another. Also read during write is not allowed. The dba extension uses locks to prevent this. See the following table:

DBA locking
already open | mode = "rl" | mode = "rlt" | mode = "wl" | mode = "wlt" | mode = "rd" | mode = "rdt" | mode = "wd" | mode = "wdt"
not open | ok | ok | ok | ok | ok | ok | ok | ok
mode = "rl" | ok | ok | wait | false | illegal | illegal | illegal | illegal
mode = "wl" | wait | false | wait | false | illegal | illegal | illegal | illegal
mode = "rd" | illegal | illegal | illegal | illegal | ok | ok | wait | false
mode = "wd" | illegal | illegal | illegal | illegal | wait | false | wait | false
  • ok: the second call will be successful.
  • wait: the second call waits until dba_close() is called for the first.
  • false: the second call returns false.
  • illegal: you must not mix "l" and "d" modifiers for mode parameter.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_open() and can act on behalf of them. If handler is null, then the default handler is invoked.

permission

Optional int parameter which is passed to the driver. It has the same meaning as the permissions parameter of chmod(), and defaults to 0644.

The db1, db2, db3, db4, dbm, gdbm, ndbm, and lmdb drivers support the permission parameter.

map_size

Optional int parameter which is passed to the driver. Its value should be a multiple of the page size of the OS, or zero, to use the default map size.

Only the lmdb driver accepts the map_size parameter.

flags

Flags to pass to the database drivers. If null the default flags will be provided. Currently, only the LMDB driver supports the following flags DBA_LMDB_USE_SUB_DIR and DBA_LMDB_NO_SUB_DIR.

Dönen Değerler

Returns a positive handle on success başarısızlık durumunda false döner.

Hatalar/İstisnalar

false is returned and an E_WARNING level error is issued when handler is null, but there is no default handler.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | flags is added.
8.2.0 | handler is now nullable.
7.3.14, 7.4.2 | The lmdb driver now supports an additional map_size parameter.

Ayrıca Bakınız

  • dba_popen() - Open database persistently
  • dba_close() - Close a DBA database


Optimize database

  • « dba_open
  • dba_popen »
  • PHP Manual
  • DBA İşlevleri
  • Optimize database

dba_optimize

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_optimize — Optimize database

Açıklama

dba_optimize(resource $dba): bool

dba_optimize() optimizes the underlying database.

Bağımsız Değişkenler

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_sync() - Synchronize database


Open database persistently

  • « dba_optimize
  • dba_replace »
  • PHP Manual
  • DBA İşlevleri
  • Open database persistently

dba_popen

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_popen — Open database persistently

Açıklama

dba_popen(
string $path,
string $mode,
?string $handler = null,
int $permission = 0644,
int $map_size = 0,
?int $flags = null
): resource|false

dba_popen() establishes a persistent database instance for path with mode using handler.

Bağımsız Değişkenler

path

Commonly a regular path in your filesystem.

mode

It is r for read access, w for read/write access to an already existing database, c for read/write access and database creation if it doesn't currently exist, and n for create, truncate and read/write access.

handler

The name of the handler which shall be used for accessing path. It is passed all optional parameters given to dba_popen() and can act on behalf of them. If handler is null, then the default handler is invoked.

permission

Optional int parameter which is passed to the driver. It has the same meaning as the permissions parameter of chmod(), and defaults to 0644.

The db1, db2, db3, db4, dbm, gdbm, ndbm, and lmdb drivers support the permission parameter.

map_size

Optional int parameter which is passed to the driver. Its value should be a multiple of the page size of the OS, or zero, to use the default mapsize.

The lmdb driver accepts the map_size parameter.

flags

Allows to pass flags to the DB drivers. Currently, only LMDB with DBA_LMDB_USE_SUB_DIR and DBA_LMDB_NO_SUB_DIR are supported.

Dönen Değerler

Returns a positive handle on success başarısızlık durumunda false döner.

Hatalar/İstisnalar

false is returned and an E_WARNING level error is issued when handler is null, but there is no default handler.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | flags is added.
8.1.0 | handler is now nullable.
7.3.14, 7.4.2 | The lmdb driver now supports an additional map_size parameter.

Ayrıca Bakınız

  • dba_open() - Open database
  • dba_close() - Close a DBA database


Replace or insert entry

  • « dba_popen
  • dba_sync »
  • PHP Manual
  • DBA İşlevleri
  • Replace or insert entry

dba_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_replace — Replace or insert entry

Açıklama

dba_replace(string|array $key, string $value, resource $dba): bool

dba_replace() replaces or inserts the entry described with key and value into the database specified by dba.

Bağımsız Değişkenler

key

The key of the entry to be replaced.

value

The value to be replaced.

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_exists() - Check whether key exists
  • dba_delete() - Delete DBA entry specified by key
  • dba_fetch() - Fetch data specified by key
  • dba_insert() - Insert entry


Synchronize database

  • « dba_replace
  • ODBC »
  • PHP Manual
  • DBA İşlevleri
  • Synchronize database

dba_sync

(PHP 4, PHP 5, PHP 7, PHP 8)

dba_sync — Synchronize database

Açıklama

dba_sync(resource $dba): bool

dba_sync() synchronizes the database. This will probably trigger a physical write to the disk, if supported.

Bağımsız Değişkenler

dba

The database handler, returned by dba_open() or dba_popen().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • dba_optimize() - Optimize database


ODBC (Tekilleştirilmiş)

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • ODBC İşlevleri
    • odbc_autocommit — Ototeslim kipini açıp kapar
    • odbc_binmode — İkil sütun verileri ile çalışmayı etkin kılar
    • odbc_close_all — Tüm ODBC bağlantılarını kapatır
    • odbc_close — Bir ODBC bağlantısını kapatır
    • odbc_columnprivileges — Belirtilen tablo ile ilgili izinleri ve sütunları listeler
    • odbc_columns — Belirtilen tablolardaki sütun isimlerini listeler
    • odbc_commit — Bir ODBC hareket listesi gönderir
    • odbc_connect — Bir veri kaynağına bağlanır
    • odbc_connection_string_is_quoted — Determines if an ODBC connection string value is quoted
    • odbc_connection_string_quote — Quotes an ODBC connection string value
    • odbc_connection_string_should_quote — Determines if an ODBC connection string value should be quoted
    • odbc_cursor — İmleç ismini döndürür
    • odbc_data_source — Kullanılabilir DSN'ler hakkında bilgi döndürür
    • odbc_do — odbc_exec işlevinin takma adıdır
    • odbc_error — Son hata kodunu döndürür
    • odbc_errormsg — Son hata iletisini döndürür
    • odbc_exec — SQL deyimini doğrudan çalıştırır
    • odbc_execute — Bir hazır deyimi çalıştırır
    • odbc_fetch_array — Sonuç satırını bir ilişkisel dizi olarak döndürür
    • odbc_fetch_into — Sonuç satırını bir dizi olarak döndürür
    • odbc_fetch_object — Sonuç satırını bir nesne olarak döndürür
    • odbc_fetch_row — Bir satır döndürür
    • odbc_field_len — Bir alanın uzunluğunu (hassasiyetini) döndürür
    • odbc_alan_adı — Sütun ismini döndürür
    • odbc_field_num — Sütun numarasını döndürür
    • odbc_field_precision — odbc_field_len işlevinin takma adıdır
    • odbc_field_scale — Bir alanın skalasını döndürür
    • odbc_field_type — Bir alanın veri türünü döndürür
    • odbc_foreignkeys — Bir tablonun yabancı anahtarlarını listeler
    • odbc_free_result — Bir sonuç ile ilgili özkaynakları serbest bırakır
    • odbc_gettypeinfo — Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür
    • odbc_longreadlen — LONG sütunlarla çalışmayı etkin kılar
    • odbc_next_result — Kullanılabilecek çok sayıda sonuç var mı diye bakar
    • odbc_num_fields — Bir sonuçtaki sütun sayısını döndürür
    • odbc_num_rows — Bir sonuçtaki satır sayısını döndürür
    • odbc_pconnect — Bir kalıcı veritabanı bağlantısı açar
    • odbc_prepare — Çalıştırılmak üzere bir deyim hazırlar
    • odbc_primarykeys — Bir tablonun birincil anahtarlarını döndürür
    • odbc_procedurecolumns — Yordamların bağımsız değişkenleri hakkında bilgi döndürür
    • odbc_procedures — Belirtilen veri kaynağında saklı yordamların listesini döndürür
    • odbc_result_all — Sonucu bir HTML tablosu olarak basar
    • odbc_result — Sonuçtan veri döndürür
    • odbc_rollback — Bir hareketi başa döndürür
    • odbc_setoption — ODBC ayarlarını yapar
    • odbc_specialcolumns — Özel sütunları döndürür
    • odbc_statistics — Bir tablo hakkındaki istatistikleri döndürür
    • odbc_tableprivileges — Tabloları izinleriyle birlikte listeler
    • odbc_tables — Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Giriş

Normal ODBC desteğine ek olarak, PHP'nin çeşitli veritabanlarına erişimini mümkün kılmak için Tekilleştirilmiş ODBC desteği de sağlanmıştır. uODBC kendi programlama arayüzünü gerçeklemek için anlamsallığı ODBC programlama arayüzünden alır. Neredeyse birbirinin aynı bir sürü veritabanı sürücüsü yapmak yerine bu sürücüler tek bir ODBC işlevleri kümesiyle gerçeklenmiştir.

Tekilleştirilmiş ODBC işlevlerince desteklenen veritabanları: » Adabas D, » IBM DB2, » iODBC, » Solid, ve » Sybase SQL Anywhere.

Bilginize:

iODBC dışında, bu veritabanlarına bağlanırken başka ODBC gerekmez. Bunlarla çalışırken kullandığınız işlevler ODBC işlevleriyle aynı isimleri ve sözdizimini paylaşırlar. Bununla birlikte, PHP'yi iODBC desteğiyle derleyerek PHP uygulamalarınızda ODBC uyumlu sürücüleri de kullanabilirsiniz. iODBC hakkında ayrıntılı bilgi için » http://www.iodbc.org/ adresine unixODBC için ise » http://www.iodbc.org/ adresine bakınız.


Gereksinimler

Desteklenen veritabanlarına erişmek için gerekli kütüphanelerin sisteminizde kurulu olması gerekir.


Kurulum

Derleme seçenekleri:

--with-adabas[=DiZiN]

PHP, Adabas D desteğiyle derlenir. DiZiN, Adabas ana kurulum dizini olup, /usr/local öntanımlıdır.

--with-sapdb[=DiZiN]

PHP, SAP DB desteğiyle derlenir. DiZiN, SAP DB ana kurulum dizini olup, /usr/local öntanımlıdır.

--with-solid[=DiZiN]

PHP, Solid desteğiyle derlenir. DiZiN, Solid ana kurulum dizini olup, /usr/local/solid öntanımlıdır.

--with-ibm-db2[=DiZiN]

PHP, IBM DB2 desteğiyle derlenir. DiZiN, DB2 ana kurulum dizini olup, /home/db2inst1/sqllib öntanımlıdır.

--with-empress[=DiZiN]

PHP, Empress desteğiyle derlenir. DiZiN, Empress ana kurulum dizini olup, $EMPRESSPATH öntanımlıdır. Bu seçenek Empress 8.60 ve üstünü gerektirir.

--with-empress-bcs[=DiZiN]

PHP, "Empress Local Access" desteğiyle derlenir. DiZiN, Empress ana kurulum dizini olup, $EMPRESSPATH öntanımlıdır. Bu seçenek Empress 8.60 ve üstünü gerektirir.

--with-birdstep[=DiZiN]

PHP, Birdstep desteğiyle derlenir. DiZiN, Birdstep ana kurulum dizini olup, /usr/local/birdstep öntanımlıdır.

--with-custom-odbc[=DiZiN]

PHP, kullanıcı tanımlı ODBC desteğiyle derlenir. DiZiN, ODBC ana kurulum dizini olup, /usr/local öntanımlıdır. CUSTOM_ODBC_LIBS ortam değişkenini tanımlamayı ve odbc.h dosyasını include dizinizde bulundurmayı unutmayın. Örneğin, QNX üzerinde Sybase SQL Anywhere 5.5.00 için configure betiğini çalıştırmadan önce şu tanımları yapmalısınız:

   CPPFLAGS="-DODBC_QNX -DSQLANY_BUG"
   LDFLAGS=-lunix
   CUSTOM_ODBC_LIBS="-ldblib -lodbc".

--with-iodbc[=DiZiN]

PHP, iODBC desteğiyle derlenir. DiZiN, iODBC ana kurulum dizini olup, /usr/local öntanımlıdır.

--with-esoob[=DiZiN]

PHP, Easysoft desteğiyle derlenir. DiZiN, OOB ana kurulum dizini olup, /usr/local/easysoft/oob/client öntanımlıdır.

--with-unixODBC[=DiZiN]

PHP, unixODBC desteğiyle derlenir. DiZiN, unixODBC ana kurulum dizini olup, /usr/local öntanımlıdır.

--with-openlink[=DiZiN]

PHP, OpenLink ODBC desteğiyle derlenir. DiZiN, OpenLink ana kurulum dizini olup, /usr/local öntanımlıdır. Bu, iODBC için de böyledir.

--with-dbmaker[=DiZiN]

PHP, DBMaker desteğiyle derlenir. DiZiN, DBMaker ana kurulum dizini olup, DBMaker'ın son kurulu olduğu yer öntanımlıdır (örneğin, /home/dbmaker/3.6).

Windows kullanıcıları bu eklentiyi kullanmadan önce php_odbc.dll kütüphanesini etkinleştirmelidir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Tekilleştirilmiş ODBC Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL |

Bilginize: * ile imlenmiş girdiler henüz gerçeklenmemiştir.

PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

odbc.default_db string

odbc_connect() veya odbc_pconnect() işlevinde belirtilmediği takdirde kullanılacak ODBC veri kaynağı.

odbc.default_user string

odbc_connect() veya odbc_pconnect() işlevinde belirtilmediği takdirde kullanılacak kullanıcı ismi.

odbc.default_pw string

odbc_connect() veya odbc_pconnect() işlevinde belirtilmediği takdirde kullanılacak parola.

odbc.allow_persistent bool

Kalıcı ODBC bağlantılarına izin verilecekse: On.

odbc.check_persistent bool

Tekrar kullanmadan önce bağlantı geçerli mi diye bakılacaksa: On

odbc.max_persistent int

Süreç başına azami kalıcı ODBC bağlantı sayısı.

odbc.max_links int

Kalıcı bağlantılar dahil, süreç başına azami ODBC bağlantı sayısı.

odbc.defaultlrl int

LONG alanlar için değişkende döndürülen bayt sayısı. Ayrıntılar için odbc_longreadlen() işlevine bakınız.

int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.
odbc.defaultbinmode int

İkil verilerin ele alınış tarzı. Ayrıntılar için odbc_binmode() işlevine bakınız.

odbc.default_cursortype int

ODBC imleç türü. Olası değerler: SQL_CURSOR_FORWARD_ONLY, SQL_CURSOR_KEYSET_DRIVEN, SQL_CURSOR_DYNAMIC ve SQL_CURSOR_STATIC (öntanımlı).


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklenti iki özkaynak türü tanımlar: ODBC bağlantı tanıtıcısı ve ODBC sonuç tanıtıcısı.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

ODBC_TYPE (int)
ODBC_BINMODE_PASSTHRU (int)
ODBC_BINMODE_RETURN (int)
ODBC_BINMODE_CONVERT (int)
SQL_ODBC_CURSORS (int)
SQL_CUR_USE_DRIVER (int)
SQL_CUR_USE_IF_NEEDED (int)
SQL_CUR_USE_ODBC (int)
SQL_CONCURRENCY (int)
SQL_CONCUR_READ_ONLY (int)
SQL_CONCUR_LOCK (int)
SQL_CONCUR_ROWVER (int)
SQL_CONCUR_VALUES (int)
SQL_CURSOR_TYPE (int)
SQL_CURSOR_FORWARD_ONLY (int)
SQL_CURSOR_KEYSET_DRIVEN (int)
SQL_CURSOR_DYNAMIC (int)
SQL_CURSOR_STATIC (int)
SQL_KEYSET_SIZE (int)
SQL_CHAR (int)
SQL_VARCHAR (int)
SQL_LONGVARCHAR (int)
SQL_DECIMAL (int)
SQL_NUMERIC (int)
SQL_BIT (int)
SQL_TINYINT (int)
SQL_SMALLINT (int)
SQL_INTEGER (int)
SQL_BIGINT (int)
SQL_REAL (int)
SQL_FLOAT (int)
SQL_DOUBLE (int)
SQL_BINARY (int)
SQL_VARBINARY (int)
SQL_LONGVARBINARY (int)
SQL_DATE (int)
SQL_TIME (int)
SQL_TIMESTAMP (int)
SQL_TYPE_DATE (int)
SQL_TYPE_TIME (int)
SQL_TYPE_TIMESTAMP (int)
SQL_BEST_ROWID (int)
SQL_ROWVER (int)
SQL_SCOPE_CURROW (int)
SQL_SCOPE_TRANSACTION (int)
SQL_SCOPE_SESSION (int)
SQL_NO_NULLS (int)
SQL_NULLABLE (int)
SQL_INDEX_UNIQUE (int)
SQL_INDEX_ALL (int)
SQL_ENSURE (int)
SQL_QUICK (int)


ODBC İşlevleri

İçindekiler

  • odbc_autocommit — Ototeslim kipini açıp kapar
  • odbc_binmode — İkil sütun verileri ile çalışmayı etkin kılar
  • odbc_close_all — Tüm ODBC bağlantılarını kapatır
  • odbc_close — Bir ODBC bağlantısını kapatır
  • odbc_columnprivileges — Belirtilen tablo ile ilgili izinleri ve sütunları listeler
  • odbc_columns — Belirtilen tablolardaki sütun isimlerini listeler
  • odbc_commit — Bir ODBC hareket listesi gönderir
  • odbc_connect — Bir veri kaynağına bağlanır
  • odbc_connection_string_is_quoted — Determines if an ODBC connection string value is quoted
  • odbc_connection_string_quote — Quotes an ODBC connection string value
  • odbc_connection_string_should_quote — Determines if an ODBC connection string value should be quoted
  • odbc_cursor — İmleç ismini döndürür
  • odbc_data_source — Kullanılabilir DSN'ler hakkında bilgi döndürür
  • odbc_do — odbc_exec işlevinin takma adıdır
  • odbc_error — Son hata kodunu döndürür
  • odbc_errormsg — Son hata iletisini döndürür
  • odbc_exec — SQL deyimini doğrudan çalıştırır
  • odbc_execute — Bir hazır deyimi çalıştırır
  • odbc_fetch_array — Sonuç satırını bir ilişkisel dizi olarak döndürür
  • odbc_fetch_into — Sonuç satırını bir dizi olarak döndürür
  • odbc_fetch_object — Sonuç satırını bir nesne olarak döndürür
  • odbc_fetch_row — Bir satır döndürür
  • odbc_field_len — Bir alanın uzunluğunu (hassasiyetini) döndürür
  • odbc_alan_adı — Sütun ismini döndürür
  • odbc_field_num — Sütun numarasını döndürür
  • odbc_field_precision — odbc_field_len işlevinin takma adıdır
  • odbc_field_scale — Bir alanın skalasını döndürür
  • odbc_field_type — Bir alanın veri türünü döndürür
  • odbc_foreignkeys — Bir tablonun yabancı anahtarlarını listeler
  • odbc_free_result — Bir sonuç ile ilgili özkaynakları serbest bırakır
  • odbc_gettypeinfo — Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür
  • odbc_longreadlen — LONG sütunlarla çalışmayı etkin kılar
  • odbc_next_result — Kullanılabilecek çok sayıda sonuç var mı diye bakar
  • odbc_num_fields — Bir sonuçtaki sütun sayısını döndürür
  • odbc_num_rows — Bir sonuçtaki satır sayısını döndürür
  • odbc_pconnect — Bir kalıcı veritabanı bağlantısı açar
  • odbc_prepare — Çalıştırılmak üzere bir deyim hazırlar
  • odbc_primarykeys — Bir tablonun birincil anahtarlarını döndürür
  • odbc_procedurecolumns — Yordamların bağımsız değişkenleri hakkında bilgi döndürür
  • odbc_procedures — Belirtilen veri kaynağında saklı yordamların listesini döndürür
  • odbc_result_all — Sonucu bir HTML tablosu olarak basar
  • odbc_result — Sonuçtan veri döndürür
  • odbc_rollback — Bir hareketi başa döndürür
  • odbc_setoption — ODBC ayarlarını yapar
  • odbc_specialcolumns — Özel sütunları döndürür
  • odbc_statistics — Bir tablo hakkındaki istatistikleri döndürür
  • odbc_tableprivileges — Tabloları izinleriyle birlikte listeler
  • odbc_tables — Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Ototeslim kipini açıp kapar

  • « ODBC İşlevleri
  • odbc_binmode »
  • PHP Manual
  • ODBC İşlevleri
  • Ototeslim kipini açıp kapar

odbc_autocommit

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_autocommit — Ototeslim kipini açıp kapar

Açıklama

odbc_autocommit(resource $bağlantı_kimliği, bool $AçKapa = false): int|bool

Ototeslim kipini açıp kapar.

Bir bağlantı üzerinde öntanımlı olarak ototeslim kipi etkindir. İptal edilmesi bir hareket (transaction) başlatmaya eşdeğerdir.

Bağımsız Değişkenler

bağlantı_kimliği

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

AçKapa

AçKapa true ise ototeslim kipi etkin olur, false ise iptal edilir.

Dönen Değerler

AçKapa bağımsız değişkeni olmaksızın işlev, bağlantı ile ilgili durumu döndürür. Ototeslim kipi etkin değilse veya bir hata oluşmuşsa false yoksa 0 döner.

AçKapa belirtilirse işlev başarı durumunda true, yoksa false döndürür.

Ayrıca Bakınız

  • odbc_commit() - Bir ODBC hareket listesi gönderir
  • odbc_rollback() - Bir hareketi başa döndürür


İkil sütun verileri ile çalışmayı etkin kılar

  • « odbc_autocommit
  • odbc_close_all »
  • PHP Manual
  • ODBC İşlevleri
  • İkil sütun verileri ile çalışmayı etkin kılar

odbc_binmode

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_binmode — İkil sütun verileri ile çalışmayı etkin kılar

Açıklama

odbc_binmode(resource $deyim, int $kip): bool

İkil sütun verileri ile çalışmayı denetler. Etkilenen ODBC SQL türleri: BINARY, VARBINARY ve LONGVARBINARY. Öntanımlı kip uodbc.defaultbinmode php.ini yönergesi kullanılarak atanabilir.

İkil SQL veri, karakter C verisine (ODBC_BINMODE_CONVERT) dönüştürüldüğünde kaynak verisinin her baytı (8 biti) iki ASCII karakteri ile temsil edilir. Bu karakterler sayının onaltılık tabandaki ASCII karakter gösterimidir. Örneğin, 00000001 sayısı "01" dizgesine dönüştürülürken 11111111 sayısı, "FF" dizgesine dönüştürülür.

BINARY ve VARBINARY sütunlarla ilgili işlemler sadece odbc_binmode() işlevinden etkilenirken LONGVARBINARY sütunlarla ilgili işlemler odbc_longreadlen() işlevinden de etkilenir:

LONGVARBINARY işlemi
odbc_binmode() | odbc_longreadlen() | sonuç
ODBC_BINMODE_PASSTHRU | 0 | düzgeçer
ODBC_BINMODE_RETURN | 0 | düzgeçer
ODBC_BINMODE_CONVERT | 0 | düzgeçer
ODBC_BINMODE_PASSTHRU | >0 | düzgeçer
ODBC_BINMODE_RETURN | >>0 | olduğu gibi döner
ODBC_BINMODE_CONVERT | >>0 | karakter olarak döner

odbc_fetch_into() kullanıldığında, düzgeçer, bu sütunlar için boş dizge döneceği anlamına gelir. odbc_result() kullanıldığında, düzgeçer, verinin doğrudan istemciye gönderildiği (yani basıldığı) anlamına gelir.

Bağımsız Değişkenler

deyim

Sonuç kimliği.

deyim = 0 ise ayarlar öntanımlı olarak yeni sonuçlara uygulanır.

kip

Olası kip değerleri:

  • ODBC_BINMODE_PASSTHRU: İkil veri düzgeçer.
  • ODBC_BINMODE_RETURN: Olduğu gibi döner.
  • ODBC_BINMODE_CONVERT: Karaktere dönüştürülüp döndürülür.

Bilginize: LONGVARBINARY sütunlarla ilgili işlemler ayrıca odbc_longreadlen() işlevinden de etkilenir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Tüm ODBC bağlantılarını kapatır

  • « odbc_binmode
  • odbc_close »
  • PHP Manual
  • ODBC İşlevleri
  • Tüm ODBC bağlantılarını kapatır

odbc_close_all

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_close_all — Tüm ODBC bağlantılarını kapatır

Açıklama

odbc_close_all(): void

odbc_close_all() işlevi tüm veritabanı sunucularıyla kurulmuş bağlantıları sonlandırır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

Bir bağlantıda henüz tamamlanmamış bir hareket kalmışsa işlev başarısız olur. Böyle bir durumda o bağlantı açık kalır.


Bir ODBC bağlantısını kapatır

  • « odbc_close_all
  • odbc_columnprivileges »
  • PHP Manual
  • ODBC İşlevleri
  • Bir ODBC bağlantısını kapatır

odbc_close

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_close — Bir ODBC bağlantısını kapatır

Açıklama

odbc_close(resource $odbc): void

Veritabanı sunucusuyla bağlantıyı sonlandırır.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

Bağlantıda henüz tamamlanmamış bir hareket kalmışsa işlev başarısız olur. Böyle bir durumda bağlantı açık kalır.


Belirtilen tablo ile ilgili izinleri ve sütunları listeler

  • « odbc_close
  • odbc_columns »
  • PHP Manual
  • ODBC İşlevleri
  • Belirtilen tablo ile ilgili izinleri ve sütunları listeler

odbc_columnprivileges

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_columnprivileges — Belirtilen tablo ile ilgili izinleri ve sütunları listeler

Açıklama

odbc_columnprivileges(
resource $odbc,
?string $katalog,
string $şema,
string $tablo,
string $sütun
): resource|false

Belirtilen tablo ile ilgili izinleri ve sütunları listeler.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

tablo

Tablo ismi. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

sütun

Sütun adı. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

Dönen Değerler

Başarısızlık durumunda false, yoksa bir ODBC sonuç tanıtıcısı döner. Bu sonuç tanıtıcısı ilgili izinlerin ve sütun listelerinin döndürülmesi için kullanılabilir.

Sonuç kümesi şu sütunlardan oluşur:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE
Drivers can report additional columns.

Sonuç kümesi TABLE_CAT, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME ve PRIVILEGE sütunlarına göre sıralıdır.

Örnekler

Örnek 1 - Sütunlar için Liste Ayrıcalıkları

<?php
$conn = odbc_connect($dsn, $user, $pass);
$privileges = odbc_columnprivileges($conn, 'TutorialDB', 'dbo', 'test', 'id');
while (($row = odbc_fetch_array($privileges))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => TutorialDB
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => test
    [COLUMN_NAME] => id
    [GRANTOR] => dbo
    [GRANTEE] => dbo
    [PRIVILEGE] => INSERT
    [IS_GRANTABLE] => YES
)


Belirtilen tablolardaki sütun isimlerini listeler

  • « odbc_columnprivileges
  • odbc_commit »
  • PHP Manual
  • ODBC İşlevleri
  • Belirtilen tablolardaki sütun isimlerini listeler

odbc_columns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_columns — Belirtilen tablolardaki sütun isimlerini listeler

Açıklama

odbc_columns(
resource $odbc,
?string $katalog = ?,
?string $şema = ?,
?string $tablo = ?,
?string $sütun = ?
): resource|false

Belirtilen aralıktaki tüm sütunları listeler.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

tablo

Tablo ismi. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

sütun

Sütun ismi. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

Dönen Değerler

Başarısızlık durumunda false, yoksa bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlara sahiptir:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • COLUMN_SIZE
  • BUFFER_LENGTH
  • DECIMAL_DIGITS
  • NUM_PREC_RADIX
  • NULLABLE
  • REMARKS
  • COLUMN_DEF
  • SQL_DATA_TYPE
  • SQL_DATETIME_SUB
  • CHAR_OCTET_LENGTH
  • ORDINAL_POSITION
  • IS_NULLABLE
Drivers can report additional columns.

Sonuç, TABLE_CAT, TABLE_SCHEM, TABLE_NAME ve ORDINAL_POSITION sütunlarına göre sıralanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | şema, tablo ve sütun artık null olabiliyor.

Örnekler

Örnek 1 - Tablo sütunlarının listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$columns = odbc_columns($conn, 'TutorialDB', 'dbo', 'test', '%');
while (($row = odbc_fetch_array($columns))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => TutorialDB
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => TEST
    [COLUMN_NAME] => id
    [DATA_TYPE] => 4
    [TYPE_NAME] => int
    [COLUMN_SIZE] => 10
    [BUFFER_LENGTH] => 4
    [DECIMAL_DIGITS] => 0
    [NUM_PREC_RADIX] => 10
    [NULLABLE] => 0
    [REMARKS] =>
    [COLUMN_DEF] =>
    [SQL_DATA_TYPE] => 4
    [SQL_DATETIME_SUB] =>
    [CHAR_OCTET_LENGTH] =>
    [ORDINAL_POSITION] => 1
    [IS_NULLABLE] => NO
)

Ayrıca Bakınız

  • odbc_columnprivileges() - Belirtilen tablo ile ilgili izinleri ve sütunları listeler
  • odbc_procedurecolumns() - Yordamların bağımsız değişkenleri hakkında bilgi döndürür


Bir ODBC hareket listesi gönderir

  • « odbc_columns
  • odbc_connect »
  • PHP Manual
  • ODBC İşlevleri
  • Bir ODBC hareket listesi gönderir

odbc_commit

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_commit — Bir ODBC hareket listesi gönderir

Açıklama

odbc_commit(resource $odbc): bool

Bağlantıda bekleyen tüm hareketleri işleme sokar.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Bir veri kaynağına bağlanır

  • « odbc_commit
  • odbc_connection_string_is_quoted »
  • PHP Manual
  • ODBC İşlevleri
  • Bir veri kaynağına bağlanır

odbc_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_connect — Bir veri kaynağına bağlanır

Açıklama

odbc_connect(
string $dsn,
string $kullanıcı,
string $parola,
int $imleç_türü = SQL_CUR_USE_DRIVER
): resource|false

Diğer ODBC işlevleri tarafından kullanılmak üzere bir bağlantı tanıtıcısı döndürür. Farklı kullanıcı ve parola veya farklı veritabanları belirterek aynı anda birden fazla veri kaynağına bağlı olabilirsiniz.

Bazı ODBC sürücülerinde, karmaşık bir saklanmış yordamın çalıştırılması şuna benzer bir hata üretebilir: "Cannot open a cursor on a stored procedure that has anything other than a single select statement in it" (Türkçesi: tek bir 'select' deyiminden başka hiçbir şey için saklanmış yordam üzerinde imleç açılamaz). SQL_CUR_USE_ODBC kullanarak bu hatadan kurtulabilirsiniz. Ayrıca bazı sürücüler, odbc_fetch_row() işlevindeki satır bağımsız değişkenini de desteklemezler. Böyle bir durumda SQL_CUR_USE_ODBC sabitinin yardımı olabilir.

Bağımsız Değişkenler

dsn

Bağlanılacak veritabanı kaynağının ismi. Bir DSN'siz bağlantı dizgesi de belirtilebilir.

kullanıcı

Kullanıcı ismi.

parola

Parola.

imleç_türü

Bağlantı için kullanılacak imleç türü. Normalde bu bağımsız değişkene gerek yoktur, fakat bazı ODBC sürücüleriyle ilgili sorunlardan kurtulmak için yararlı olabilir.

İmleç türü olarak belirtilebilecek sabitler:

  • SQL_CUR_USE_IF_NEEDED
  • SQL_CUR_USE_ODBC
  • SQL_CUR_USE_DRIVER

Dönen Değerler

ODBC Bağlantısı, başarısızlık durumunda false döner.

Örnekler

Örnek 1 DSN'siz bağlantı

<?php
// SQL Native Client 10.0 ODBC Sürücüsü kullanan Microsoft SQL Sunucusu
// SQL 7, 2000, 2005 ve 2008'e bağlantıya izin verir.
$connection = odbc_connect(
"Driver={SQL Server Native Client 10.0};Server=$server;Database=$database;",
$user, $password);

// Microsoft Access
$connection = odbc_connect(
"Driver={Microsoft Access Driver (*.mdb)};Dbq=$mdbFilename",
$user, $password);

// Microsoft Excel
$excelFile = realpath('C:/ExcelData.xls');
$excelDir = dirname($excelFile);
$connection = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};
DriverId=790;Dbq=$excelFile;DefaultDir=$excelDir" , '', '');
?>

Ayrıca Bakınız

  • odbc_pconnect() - Bir kalıcı veritabanı bağlantısı açar


Determines if an ODBC connection string value is quoted

  • « odbc_connect
  • odbc_connection_string_quote »
  • PHP Manual
  • ODBC İşlevleri
  • Determines if an ODBC connection string value is quoted

odbc_connection_string_is_quoted

(PHP 8 >= 8.2.0)

odbc_connection_string_is_quoted — Determines if an ODBC connection string value is quoted

Açıklama

odbc_connection_string_is_quoted(string $str): bool

Determines if a string is properly quoted for an ODBC connection string value. ODBC connection string quoting is performed using curly braces, and ending braces within a string must be escaped through repeating them twice, similar to SQL quoting.

Bağımsız Değişkenler

str

The string to check for quoting.

Dönen Değerler

true if quoted properly, false if not.

Ayrıca Bakınız

  • odbc_connection_string_quote() - Quotes an ODBC connection string value
  • odbc_connection_string_should_quote() - Determines if an ODBC connection string value should be quoted


Quotes an ODBC connection string value

  • « odbc_connection_string_is_quoted
  • odbc_connection_string_should_quote »
  • PHP Manual
  • ODBC İşlevleri
  • Quotes an ODBC connection string value

odbc_connection_string_quote

(PHP 8 >= 8.2.0)

odbc_connection_string_quote — Quotes an ODBC connection string value

Açıklama

odbc_connection_string_quote(string $str): string

Quotes a value for a connection string, according to ODBC rules. That is, it will be surrounded by quotes, and any ending curly braces will be escaped. This should be done for any connection string values that come from user input. Not doing so can lead to issues with parsing the connection string, or values being injected into the connection string.

Note that this function does not check if the string is already quoted, nor if the string needs quoting. For that, call odbc_connection_string_is_quoted() and odbc_connection_string_should_quote().

Bağımsız Değişkenler

str

The unquoted string.

Dönen Değerler

A quoted string, surrounded by curly braces, and properly escaped.

Örnekler

Örnek 1 odbc_connection_string_quote() example

This example quotes a string, then puts it in a connection string. Note that the string is quoted, and the ending quote character in the middle of the string has been escaped.

<?php
$value = odbc_connection_string_quote("foo}bar");
$connection_string = "DSN=PHP;UserValue=$value";
echo $connection_string;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

DSN=PHP;UserValue={foo}}bar}

Ayrıca Bakınız

  • odbc_connection_string_is_quoted() - Determines if an ODBC connection string value is quoted
  • odbc_connection_string_should_quote() - Determines if an ODBC connection string value should be quoted


Determines if an ODBC connection string value should be quoted

  • « odbc_connection_string_quote
  • odbc_cursor »
  • PHP Manual
  • ODBC İşlevleri
  • Determines if an ODBC connection string value should be quoted

odbc_connection_string_should_quote

(PHP 8 >= 8.2.0)

odbc_connection_string_should_quote — Determines if an ODBC connection string value should be quoted

Açıklama

odbc_connection_string_should_quote(string $str): bool

Determines if a string needs to be quoted for an ODBC connection string value; that is, if it contains special characters.

Note that this does not check if the string is already quoted; an already quoted string will contain characters that will make this function return true. You should call odbc_connection_string_is_quoted() to check.

Bağımsız Değişkenler

str

The string to check for.

Dönen Değerler

true if the string should be quoted; false otherwise.

Ayrıca Bakınız

  • odbc_connection_string_quote() - Quotes an ODBC connection string value
  • odbc_connection_string_is_quoted() - Determines if an ODBC connection string value is quoted


İmleç ismini döndürür

  • « odbc_connection_string_should_quote
  • odbc_data_source »
  • PHP Manual
  • ODBC İşlevleri
  • İmleç ismini döndürür

odbc_cursor

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_cursor — İmleç ismini döndürür

Açıklama

odbc_cursor(resource $deyim): string|false

Belirtilen sonuç kimliği ile ilgili imleç ismini döndürür.

Bağımsız Değişkenler

deyim

Sonuç tanıtıcısı.

Dönen Değerler

Dizge olarak imleç ismi, başarısızlık durumunda false döner.


Kullanılabilir DSN'ler hakkında bilgi döndürür

  • « odbc_cursor
  • odbc_do »
  • PHP Manual
  • ODBC İşlevleri
  • Kullanılabilir DSN'ler hakkında bilgi döndürür

odbc_data_source

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

odbc_data_source — Kullanılabilir DSN'ler hakkında bilgi döndürür

Açıklama

odbc_data_source(resource $odbc, int $alım_türü): array|false

(Defalarca çağırdıktan sonra) Kullanılabilir DSN'lerin listesini döndürür.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

alım_türü

Şu iki sabitten biri olabilir: SQL_FETCH_FIRST ve SQL_FETCH_NEXT. İşlevi ilk çağırışınızda SQL_FETCH_FIRST, sonrakilerde SQL_FETCH_NEXT sabitini kullanın.

Dönen Değerler

Başarı durumunda bir dizi, kullanılabilir son DSN'yi alıp getirdikten sonra null, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Kulanılabilir DSN'lerin listesi'

<?php
$conn = odbc_connect('dsn', 'user', 'pass');
$dsn_info = odbc_data_source($conn, SQL_FETCH_FIRST);
while ($dsn_info) {
print_r($dsn_info);
$dsn_info = odbc_data_source($conn, SQL_FETCH_NEXT);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [server] => dsn
    [description] => ODBC Driver 17 for SQL Server
)
Array
(
    [server] => other_dsn
    [description] => Microsoft Access Driver (*.mdb, *.accdb)
)


odbc_exec işlevinin takma adıdır

  • « odbc_data_source
  • odbc_error »
  • PHP Manual
  • ODBC İşlevleri
  • odbc_exec işlevinin takma adıdır

odbc_do

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_do — odbc_exec() işlevinin takma adıdır

Açıklama

Bu işlev, odbc_exec() işlevinin takma adıdır.


Son hata kodunu döndürür

  • « odbc_do
  • odbc_errormsg »
  • PHP Manual
  • ODBC İşlevleri
  • Son hata kodunu döndürür

odbc_error

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_error — Son hata kodunu döndürür

Açıklama

odbc_error(?resource $odbc = null): string

Hata oluşmuşsa altı haneli bir ODBC durum kodu yoksa boş bir dizge döner.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

odbc belirtilmişse bağlantının son durumu, yoksa herhangi bir bağlantının son durumu döner.

Bu işlev sadece son ODBC sorgusu başarısız olmuşsa anlamlı bir değer döndürür (odbc_exec() işlevinin false döndürmesi gibi).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | odbc artık null olabiliyor.

Ayrıca Bakınız

  • odbc_errormsg() - Son hata iletisini döndürür
  • odbc_exec() - SQL deyimini doğrudan çalıştırır


Son hata iletisini döndürür

  • « odbc_error
  • odbc_exec »
  • PHP Manual
  • ODBC İşlevleri
  • Son hata iletisini döndürür

odbc_errormsg

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_errormsg — Son hata iletisini döndürür

Açıklama

odbc_errormsg(?resource $odbc = null): string

Son ODBC hata iletisini içeren bir dizge veya hata oluşmamışsa boş bir dizge döner.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

Bir odbc belirtilmişse bu bağlantının son durumu ile aksi takdirde herhangi bir bağlantının son durumu ile ilgili bir hata iletisi dizgesi döner.

Bu işlevin döndürdüğü dizge sadece son ODBC sorgusu başarısız olmuşsa anlamlıdır (odbc_exec() işlevinin false döndürmesi gibi).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | odbc artık null olabiliyor.

Ayrıca Bakınız

  • odbc_error() - Son hata kodunu döndürür
  • odbc_exec() - SQL deyimini doğrudan çalıştırır


SQL deyimini doğrudan çalıştırır

  • « odbc_errormsg
  • odbc_execute »
  • PHP Manual
  • ODBC İşlevleri
  • SQL deyimini doğrudan çalıştırır

odbc_exec

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_exec — SQL deyimini doğrudan çalıştırır

Açıklama

odbc_exec(resource $odbc, string $sorgu): resource|false

Veritabanı sunucusuna bir SQL deyimi gönderir.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

sorgu

SQL deyimi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler bağımsız değişkeni kaldırıldı.

Dönen Değerler

SQL deyimi çalıştırılabilmişse bir ODBC sonuç tanıtıcısı, yoksa false döner.

Ayrıca Bakınız

  • odbc_prepare() - Çalıştırılmak üzere bir deyim hazırlar
  • odbc_execute() - Bir hazır deyimi çalıştırır


Bir hazır deyimi çalıştırır

  • « odbc_exec
  • odbc_fetch_array »
  • PHP Manual
  • ODBC İşlevleri
  • Bir hazır deyimi çalıştırır

odbc_execute

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_execute — Bir hazır deyimi çalıştırır

Açıklama

odbc_execute(resource $deyim, array $bağımsız_değişkenler = []): bool

odbc_prepare() ile hazırlanmış bir deyimi çalıştırır.

Bağımsız Değişkenler

deyim

odbc_prepare() işlevinden dönen bir sonuç tanıtıcısı.

bağımsız_değişkenler

bağımsız_değişkenler dizisindeki bağımsız değişkenlerin hazırlanmış deyimler için birer yer tutucu olduğu varsayılır. Bu dizideki elemanlar bu işlev çağrılarak dizgelere dönüştürülürler.

bağımsız_değişkenler dizisindeki isimlerden tek tırnak içine alınmış olanlar veritabanı sunucusuna gönderilecek veya alınacak verileri tutan dosya isimleri olarak ele alınır.

Belirttiğiniz dizgenin bir dosya değil de tek tırnak içine alınmış bir dizge olarak ele alınmasını isterseniz tek tırnaklı dizgenin başına ve sonuna bir boşluk veya tek tırnak dışında bir karakter ekleyin. Bu uygulanabilir değilse, dizgeyi saklamak için başka bir mekanizma kullanmalısınız (sorguyu doğrudan odbc_exec() ile çalıştırmak gibi).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - odbc_execute() ve odbc_prepare() örneği

Aşağıdaki kodda, myproc'un üç bağımsız değişkeni de IN bağımsız değişkeni ise $success daima true olacaktır:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

Saklanmış bir yordamı INOUT veya OUT bağımsız değişkenleri ile çağırmanız gerekirse bunun için veritabanınızın kendi eklentisini kullanmanızı öneririz (Oracle için oci8 gibi).

Ayrıca Bakınız

  • odbc_prepare() - Çalıştırılmak üzere bir deyim hazırlar


Sonuç satırını bir ilişkisel dizi olarak döndürür

  • « odbc_execute
  • odbc_fetch_into »
  • PHP Manual
  • ODBC İşlevleri
  • Sonuç satırını bir ilişkisel dizi olarak döndürür

odbc_fetch_array

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

odbc_fetch_array — Sonuç satırını bir ilişkisel dizi olarak döndürür

Açıklama

odbc_fetch_array(resource $deyim, int $satır = -1): array|false

Bir ODBC sorgusunun sonucunu bir ilişkisel dizi olarak döndürür

Bağımsız Değişkenler

deyim

odbc_exec() işlevinden dönen bir sonuç tanıtıcısı.

satır

Döndürülecek satır numarası; isteğe bağlıdır.

Dönen Değerler

Döndürülecek bir satır yoksa false, aksi takdirde bir dizi döner.

Notlar

Bilginize: DBMaker, IBM DB2 veya UnixODBC desteğiyle derleme durumunda bu işlev mevcuttur.

Ayrıca Bakınız

  • odbc_fetch_row() - Bir satır döndürür
  • odbc_fetch_object() - Sonuç satırını bir nesne olarak döndürür
  • odbc_num_rows() - Bir sonuçtaki satır sayısını döndürür


Sonuç satırını bir dizi olarak döndürür

  • « odbc_fetch_array
  • odbc_fetch_object »
  • PHP Manual
  • ODBC İşlevleri
  • Sonuç satırını bir dizi olarak döndürür

odbc_fetch_into

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_fetch_into — Sonuç satırını bir dizi olarak döndürür

Açıklama

odbc_fetch_into(resource $deyim, array &$dizi, int $satır = 0): int|false

Sonuç satırını bir dizi olarak döndürür.

Bağımsız Değişkenler

deyim

resource türünde sonuç.

dizi

array türünde sonuç. Döndürülecek sonuç satırını içerecek dizi. İşlev tarafından bir diziye dönüştürüleceğinden herhangi bir değişken belirtmek yeterlidir. Dizideki sütunların numaraları 0'dan başlar.

satır

Satır numarası.

Dönen Değerler

Sonuçtaki sütun sayısı, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - odbc_fetch_into() örnekleri

<?php
$rc = odbc_fetch_into($res_id, $my_array);
?>

veya

<?php
$rc = odbc_fetch_into($res_id, $my_array, 2);
?>


Sonuç satırını bir nesne olarak döndürür

  • « odbc_fetch_into
  • odbc_fetch_row »
  • PHP Manual
  • ODBC İşlevleri
  • Sonuç satırını bir nesne olarak döndürür

odbc_fetch_object

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

odbc_fetch_object — Sonuç satırını bir nesne olarak döndürür

Açıklama

odbc_fetch_object(resource $deyim, int $satır = -1): stdClass|false

Bir ODBC sonuç kümesindeki bir satırı stdClass örneği olarak döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

satır

Döndürülecek satırın numarası; belirtilmesi isteğe bağlıdır.

Dönen Değerler

İstenen satırı içeren bir nesne döner. Satır kalmamışsa false döner.

Notlar

Bilginize: DBMaker, IBM DB2 veya UnixODBC desteğiyle derleme durumunda bu işlev mevcuttur.

Ayrıca Bakınız

  • odbc_fetch_row() - Bir satır döndürür
  • odbc_fetch_array() - Sonuç satırını bir ilişkisel dizi olarak döndürür
  • odbc_num_rows() - Bir sonuçtaki satır sayısını döndürür


Bir satır döndürür

  • « odbc_fetch_object
  • odbc_field_len »
  • PHP Manual
  • ODBC İşlevleri
  • Bir satır döndürür

odbc_fetch_row

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_fetch_row — Bir satır döndürür

Açıklama

odbc_fetch_row(resource $deyim, ?int $satır = null): bool

Sonuç kümesindeki bir satırı döndürür. odbc_fetch_row() çağrısından sonra bu satırın alanlarına odbc_result() ile ulaşılabilir.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

satır

satır belirtilmişse, işlev sonuç kümesindeki sonraki satırı döndürmeye çalışır. satır belirtilmeden yapılan ilk çağrının sonucu karmaşık olabilir.

Sonuç üzerinde satır satır ilerlemek için ilk çağrı satır bağımsız değişkenine 1 belirterek, sonraki çağrılar satır belirtilmeksizin yapılır. Eğer sürücü satır numarası ile satır döndürmeyi desteklemiyorsa satır sürücü tarafından yok sayılır.

Dönen Değerler

Bir satır varsa true, aksi takdirde false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | satır artık null olabiliyor.


Bir alanın uzunluğunu (hassasiyetini) döndürür

  • « odbc_fetch_row
  • odbc_alan_adı »
  • PHP Manual
  • ODBC İşlevleri
  • Bir alanın uzunluğunu (hassasiyetini) döndürür

odbc_field_len

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_len — Bir alanın uzunluğunu (hassasiyetini) döndürür

Açıklama

odbc_field_len(resource $deyim, int $alan): int|false

Sonuç kümesindeki numarası belirtilen alanın uzunluğunu döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

alan

Alan numarası. Alan numaraları 1'den başlar.

Dönen Değerler

Hata durumunda false, yoksa alan uzunluğunu bir tamsayı olarak döndürür.

Ayrıca Bakınız

  • odbc_field_scale() - Bir alanın skalasını döndürür


Sütun ismini döndürür

  • « odbc_field_len
  • odbc_field_num »
  • PHP Manual
  • ODBC İşlevleri
  • Sütun ismini döndürür

odbc_alan_adı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

odbc_alan_adı — Sütun ismini döndürür

Açıklama

odbc_field_name(resource $deyim, int $alan): string|false

Sütun kümesindeki sütun numarası belirtilen alanın adını döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

alan

Alan numarası. Alan numaraları 1'den başlar.

Dönen Değerler

Hata durumunda false, yoksa alan adını bir dizge olarak döndürür.


Sütun numarasını döndürür

  • « odbc_alan_adı
  • odbc_field_precision »
  • PHP Manual
  • ODBC İşlevleri
  • Sütun numarasını döndürür

odbc_field_num

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_num — Sütun numarasını döndürür

Açıklama

odbc_field_num(resource $deyim, string $alan): int|false

İsmi belirtilen alanın sonuç kümesindeki sütun numarasını döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

alan

Alan adı.

Dönen Değerler

Hata durumunda false, yoksa alan (sütun) numarasını bir tamsayı olarak döndürür. Sütun numaraları 1'den başlar.


odbc_field_len işlevinin takma adıdır

  • « odbc_field_num
  • odbc_field_scale »
  • PHP Manual
  • ODBC İşlevleri
  • odbc_field_len işlevinin takma adıdır

odbc_field_precision

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_precision — odbc_field_len() işlevinin takma adıdır

Açıklama

Bu işlev odbc_field_len() işlevinin takma adıdır.

Ayrıca Bakınız

  • odbc_field_scale() - Bir alanın skalasını döndürür


Bir alanın skalasını döndürür

  • « odbc_field_precision
  • odbc_field_type »
  • PHP Manual
  • ODBC İşlevleri
  • Bir alanın skalasını döndürür

odbc_field_scale

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_scale — Bir alanın skalasını döndürür

Açıklama

odbc_field_scale(resource $deyim, int $alan): int|false

Sonuç içinde numarası belirtilen alanın skalasını döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

alan

Alan (sütun) numarası. Sütun numaraları 1'den başlar.

Dönen Değerler

Hata durumunda false, yoksa alan skalasını bir tamsayı olarak döndürür.


Bir alanın veri türünü döndürür

  • « odbc_field_scale
  • odbc_foreignkeys »
  • PHP Manual
  • ODBC İşlevleri
  • Bir alanın veri türünü döndürür

odbc_field_type

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_field_type — Bir alanın veri türünü döndürür

Açıklama

odbc_field_type(resource $deyim, int $alan): string|false

Sonuç içindeki, numarası belirtilen sütunun SQL türünü döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

alan

Alan numarası. Alan numaraları 1'den başlar.

Dönen Değerler

Hata durumunda false, yoksa alan türünü bir dizge olarak döndürür.


Bir tablonun yabancı anahtarlarını listeler

  • « odbc_field_type
  • odbc_free_result »
  • PHP Manual
  • ODBC İşlevleri
  • Bir tablonun yabancı anahtarlarını listeler

odbc_foreignkeys

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_foreignkeys — Bir tablonun yabancı anahtarlarını listeler

Açıklama

odbc_foreignkeys(
resource $odbc,
string $ba_katalog,
string $ba_şema,
string $ba_tablo,
string $ya_katalog,
string $ya_şema,
string $ya_tablo
): resource|false

Belirtilen tablodaki yabancı anahtarları veya belirtilen tablodaki birincil anahtarlara atıf yapan başka bir tablonun yabancı anahtarlarını listeler.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

ba_katalog

Birincil anahtar için Katalog (ODBC 2 argosunda 'qualifier' ).

ba_şema

Birincil anahtar için Şema (ODBC 2 argosunda 'owner').

ba_tablo

Birincil anahtar tablosu.

ya_katalog

Yabancı anahtar için Katalog (ODBC 2 argosunda 'qualifier' ).

ya_şema

Yabancı anahtar Şema (ODBC 2 argosunda 'owner').

ya_tablo

Yabancı anahtar tablosu.

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • PKTABLE_CAT
  • PKTABLE_SCHEM
  • PKTABLE_NAME
  • PKCOLUMN_NAME
  • FKTABLE_CAT
  • FKTABLE_SCHEM
  • FKTABLE_NAME
  • FKCOLUMN_NAME
  • KEY_SEQ
  • UPDATE_RULE
  • DELETE_RULE
  • FK_NAME
  • PK_NAME
  • DEFERRABILITY
Drivers can report additional columns.

Birincil anahtarla ilişkili yabancı anahtarlar isteniyorsa, sonuç kümesi FKTABLE_CAT, FKTABLE_SCHEM, FKTABLE_NAME ve KEY_SEQ alanlarına göre sıralanır. Yabancı anahtarla ilişkili birincil anahtar isteniyorsa, sonuç kümesi PKTABLE_CAT, PKTABLE_SCHEM, PKTABLE_NAME ve KEY_SEQ alanlarına göre sıralanır.

ba_tablo bir tablo ismi içeriyorsa, işlev bu tablonun birincil anahtarını ve ona atıf yapan tüm yabancı anahtarları içeren bir sonuç kümesi döndürür.

ya_tablo bir tablo ismi içeriyorsa, işlev bu tablodaki tüm yabancı anahtarları ve bunların atıfta bulunduğu (diğer tablodaki) birincil anahtarları içeren bir sonuç kümesi döndürür.

Hem ba_tablo hem de ya_tablo birer tablo ismi içeriyorsa, işlev ba_tablo'nun birincil anahtarlarına atıf yapan ya_tablo'daki yabancı anahtarları içeren bir sonuç kümesi döndürür. Bunu tek bir anahtardan ibaret olması gerekir.

Ayrıca Bakınız

  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür
  • odbc_primarykeys() - Bir tablonun birincil anahtarlarını döndürür


Bir sonuç ile ilgili özkaynakları serbest bırakır

  • « odbc_foreignkeys
  • odbc_gettypeinfo »
  • PHP Manual
  • ODBC İşlevleri
  • Bir sonuç ile ilgili özkaynakları serbest bırakır

odbc_free_result

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_free_result — Bir sonuç ile ilgili özkaynakları serbest bırakır

Açıklama

odbc_free_result(resource $sonuç_kimliği): bool

Bir sonuç ile ilgili özkaynakları serbest bırakır.

Sadece, betiğiniz çalışırken çok fazla bellek ayrıldığından endişeleniyorsanız bu işlevi kullanın. Betiğin işi bittiğinde zaten ayrılan tüm bellek serbest bırakılacaktır.

Bağımsız Değişkenler

sonuç_kimliği

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

Dönen Değerler

Daima true döner.

Notlar

Bilginize:

Ototeslim kipi etkin değilse (bak: odbc_autocommit()) ve teslimat öncesi odbc_free_result() çağrısı yaparsanız bekleyen tüm hareketler başa sarılır.


Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür

  • « odbc_free_result
  • odbc_longreadlen »
  • PHP Manual
  • ODBC İşlevleri
  • Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür

odbc_gettypeinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_gettypeinfo — Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür

Açıklama

odbc_gettypeinfo(resource $odbc, int $veri_türü = 0): resource|false

Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

veri_türü

Bilgi döndürülecek veri türü. Dönen bilgiyi tek bir veri türü ile sınırlamak için kullanılır.

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • TYPE_NAME
  • DATA_TYPE
  • PRECISION
  • LITERAL_PREFIX
  • LITERAL_SUFFIX
  • CREATE_PARAMS
  • NULLABLE
  • CASE_SENSITIVE
  • SEARCHABLE
  • UNSIGNED_ATTRIBUTE
  • MONEY
  • AUTO_INCREMENT
  • LOCAL_TYPE_NAME
  • MINIMUM_SCALE
  • MAXIMUM_SCALE

Sonuç kümesi şu sütunlara göre sıralanır: DATA_TYPE ve TYPE_NAME.


LONG sütunlarla çalışmayı etkin kılar

  • « odbc_gettypeinfo
  • odbc_next_result »
  • PHP Manual
  • ODBC İşlevleri
  • LONG sütunlarla çalışmayı etkin kılar

odbc_longreadlen

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_longreadlen — LONG sütunlarla çalışmayı etkin kılar

Açıklama

odbc_longreadlen(resource $deyim, int $uzunluk): bool

LONG, LONGVARCHAR ve LONGVARBINARY sütunlarla çalışmayı denetler. Öntanımlı uzunluk uodbc.defaultlrl php.ini yönergesi ile atanabilir.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

uzunluk

PHP'ye döndürülecek bayt sayısı. 0 belirtilirse istemciye odbc_result() ile alınan LONG sütun verisinin tamamı aktarılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

LONGVARBINARY sütunlarla çalışma odbc_binmode() işlevinden de etkilenir.


Kullanılabilecek çok sayıda sonuç var mı diye bakar

  • « odbc_longreadlen
  • odbc_num_fields »
  • PHP Manual
  • ODBC İşlevleri
  • Kullanılabilecek çok sayıda sonuç var mı diye bakar

odbc_next_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

odbc_next_result — Kullanılabilecek çok sayıda sonuç var mı diye bakar

Açıklama

odbc_next_result(resource $deyim): bool

odbc_fetch_array(), odbc_fetch_row(), odbc_result() ve benzerleri üzerinden erişilebilecek başka sonuç kümesi varsa true döner.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

Dönen Değerler

Başka sonuç kümesi varsa true, yoksa false döner.

Örnekler

Örnek 1 - odbc_next_result() örneği

<?php
$r_Connection = odbc_connect($dsn, $username, $password);

$s_SQL = <<<END_SQL
SELECT 'A'
SELECT 'B'
SELECT 'C'
END_SQL;

$r_Results = odbc_exec($r_Connection, $s_SQL);

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "İlk sonuç kümesinin dökümü: ";
var_dump($a_Row1, $a_Row2);

echo "Başka sonuç kümesi var mı? ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "İkinci sonuç kümesinin dökümü: ";
var_dump($a_Row1, $a_Row2);

echo "Başka sonuç kümesi var mı? ";
var_dump(odbc_next_result($r_Results));

$a_Row1 = odbc_fetch_array($r_Results);
$a_Row2 = odbc_fetch_array($r_Results);
echo "Üçüncü sonuç kümesinin dökümü: ";
var_dump($a_Row1, $a_Row2);

echo "Başka sonuç kümesi var mı? ";
var_dump(odbc_next_result($r_Results));
?>

Yukarıdaki örneğin çıktısı:

İlk sonuç kümesinin dökümü: array(1) {
  ["A"]=>
  string(1) "A"
}
bool(false)
Başka sonuç kümesi var mı? bool(true)
İkinci sonuç kümesinin dökümü: array(1) {
  ["B"]=>
  string(1) "B"
}
bool(false)
Başka sonuç kümesi var mı? bool(true)
Üçüncü sonuç kümesinin dökümü: array(1) {
  ["C"]=>
  string(1) "C"
}
bool(false)
Başka sonuç kümesi var mı? bool(false)


Bir sonuçtaki sütun sayısını döndürür

  • « odbc_next_result
  • odbc_num_rows »
  • PHP Manual
  • ODBC İşlevleri
  • Bir sonuçtaki sütun sayısını döndürür

odbc_num_fields

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_num_fields — Bir sonuçtaki sütun sayısını döndürür

Açıklama

odbc_num_fields(resource $deyim): int

Belirtilen ODBC sonucundaki sütun (alan) sayısını döndürür.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

Dönen Değerler

Belirtilen ODBC sonucundaki satırların sayısını döndürür. Bir hata oluşursa -1 döner.


Bir sonuçtaki satır sayısını döndürür

  • « odbc_num_fields
  • odbc_pconnect »
  • PHP Manual
  • ODBC İşlevleri
  • Bir sonuçtaki satır sayısını döndürür

odbc_num_rows

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_num_rows — Bir sonuçtaki satır sayısını döndürür

Açıklama

odbc_num_rows(resource $deyim): int

Bir sonuçtaki satır sayısını döndürür. INSERT, UPDATE ve DELETE deyimleri için odbc_num_rows() etkilenen satır sayısını döndürür. SELECT için ise dönen değer kullanılabilir satır sayısı olabilir.

Bağımsız Değişkenler

deyim

odbc_exec() ile döndürülmüş bir sonuç tanıtıcısı.

Dönen Değerler

Belirtilen ODBC sonucundakı satırların sayısını döndürür. Bir hata oluşursa -1 döner.

Notlar

Bilginize:

İşlevin, bir SELECT sonrası kullanılabilir satırların sayısını saptamak için kullanımı durumunda çoğu sürücü -1 döndürür.


Bir kalıcı veritabanı bağlantısı açar

  • « odbc_num_rows
  • odbc_prepare »
  • PHP Manual
  • ODBC İşlevleri
  • Bir kalıcı veritabanı bağlantısı açar

odbc_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_pconnect — Bir kalıcı veritabanı bağlantısı açar

Açıklama

odbc_pconnect(
string $dsn,
string $kullanıcı,
string $parola,
int $imleç_türü = SQL_CUR_USE_DRIVER
): resource|false

Bir kalıcı veritabanı bağlantısı açar.

Betiğin işi bettiğinde bağlantının kapanmaması dışında odbc_connect() işlevi gibidir. Aynı dsn, kullanıcı ve parola ile (odbc_connect() ve odbc_pconnect() üzerinden) istenen bağlantılar için aynı kalıcı bağlantı kullanılabilir.

Bağımsız Değişkenler

Ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

İstenen bilgiyi içeren bir ODBC sonuç tanıtıcısı, başarısızlık durumunda false döner.

Notlar

Bilginize: PHP bir CGI programı olarak kullanılıyorsa kalıcı bağlantıların hiçbir etkisi yoktur.

Ayrıca Bakınız

  • odbc_connect() - Bir veri kaynağına bağlanır
  • Kalıcı Veritabanı Bağlantıları


Çalıştırılmak üzere bir deyim hazırlar

  • « odbc_pconnect
  • odbc_primarykeys »
  • PHP Manual
  • ODBC İşlevleri
  • Çalıştırılmak üzere bir deyim hazırlar

odbc_prepare

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_prepare — Çalıştırılmak üzere bir deyim hazırlar

Açıklama

odbc_prepare(resource $odbc, string $sorgu): resource|false

Çalıştırılmak üzere bir deyim hazırlar. Elde edilen sonuç tanıtıcısı odbc_execute() işlevinde kullanılarak deyim daha sonra çalıştırılabilir.

Bazı veritabanları (IBM DB2, MS SQL Server ve Oracle gibi), ODBC belirtiminde belirtildiği gibi IN, INOUT ve OUT türünde bağımsız değişkenler kabul eden saklanmış yordamları destekler. Ancak, Tekilleştirilmiş ODBC sadece IN türündeki bağımsız değişkenleri desteklemektedir.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

sorgu

Hazırlanan deyimi içeren sorgu dizgesi.

Dönen Değerler

Hata durumunda false yoksa SQL komutu hazırlanabilmişse istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Örnekler

Örnek 1 - odbc_execute() ve odbc_prepare() örneği

Aşağıdaki örnekte, myproc'un üç bağımsız değişkeni de IN türünde olduğu takdirde $success daima true olacaktır:

<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>

INOUT veya OUT türünde bağımsız değişkenler kullanan saklanmış yordamlara ihtiyacınız varsa veritabanınızın kendi eklentisini kullanınız (örneğin, Oracle için oci8 gibi).

Ayrıca Bakınız

  • odbc_execute() - Bir hazır deyimi çalıştırır


Bir tablonun birincil anahtarlarını döndürür

  • « odbc_prepare
  • odbc_procedurecolumns »
  • PHP Manual
  • ODBC İşlevleri
  • Bir tablonun birincil anahtarlarını döndürür

odbc_primarykeys

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_primarykeys — Bir tablonun birincil anahtarlarını döndürür

Açıklama

odbc_primarykeys(
resource $odbc,
?string $katalog,
string $şema,
string $tablo
): resource|false

Bir tablonun birincil anahtarlarını içeren sütunlardan oluşan sonuç için bir sonuç tanıtıcısı döndürür.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner').

tablo

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • COLUMN_NAME
  • KEY_SEQ
  • PK_NAME
Drivers can report additional columns.

Sonuç kümesi TABLE_CAT, TABLE_SCHEM, TABLE_NAME ve KEY_SEQ alanlarına göre sıralanır.

Örnekler

Örnek 1 - Sütundaki birincil anahtarların listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$primarykeys = odbc_primarykeys($conn, 'TutorialDB', 'dbo', 'TEST');
while (($row = odbc_fetch_array($primarykeys))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => TutorialDB
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => TEST
    [COLUMN_NAME] => id
    [KEY_SEQ] => 1
    [PK_NAME] => PK__TEST__3213E83FE141F843
)

Ayrıca Bakınız

  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür
  • odbc_foreignkeys() - Bir tablonun yabancı anahtarlarını listeler


Yordamların bağımsız değişkenleri hakkında bilgi döndürür

  • « odbc_primarykeys
  • odbc_procedures »
  • PHP Manual
  • ODBC İşlevleri
  • Yordamların bağımsız değişkenleri hakkında bilgi döndürür

odbc_procedurecolumns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_procedurecolumns — Yordamların bağımsız değişkenleri hakkında bilgi döndürür

Açıklama

odbc_procedurecolumns(
resource $odbc,
?string $katalog = null,
?string $şema = null,
?string $yordam = null,
?string $sütun = null
): resource|false

Belirtilen yordamların bağımsız değişkenleri hakkında bilgi döndürür.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

yordam

Yordam. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

sütun

Sütun. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

Dönen Değerler

Belirtilen yordamlar için sonuç kümesini oluşturan girdi ve çıktı bağımsız değişkenleriyle birlikte sütunları da döndürür. Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • PROCEDURE_CAT
  • PROCEDURE_SCHEM
  • PROCEDURE_NAME
  • COLUMN_NAME
  • COLUMN_TYPE
  • DATA_TYPE
  • TYPE_NAME
  • COLUMN_SIZE
  • BUFFER_LENGTH
  • DECIMAL_DIGITS
  • NUM_PREC_RADIX
  • NULLABLE
  • REMARKS
  • COLUMN_DEF
  • SQL_DATA_TYPE
  • SQL_DATETIME_SUB
  • CHAR_OCTET_LENGTH
  • ORDINAL_POSITION
  • IS_NULLABLE
Drivers can report additional columns.

Sonuç kümesi şu sütunlara göre sıralanır: PROCEDURE_CAT, PROCEDURE_SCHEM, PROCEDURE_NAME ve COLUMN_TYPE

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, işlev ya bir ya da beş bağımsız değişken ile çağrılabiliyordu.

Örnekler

Örnek 1 - Saklı bir yordamın sütun listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$columns = odbc_procedurecolumns($conn, 'TutorialDB', 'dbo', 'GetEmployeeSalesYTD;1', '%');
while (($row = odbc_fetch_array($columns))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [PROCEDURE_CAT] => TutorialDB
    [PROCEDURE_SCHEM] => dbo
    [PROCEDURE_NAME] => GetEmployeeSalesYTD;1
    [COLUMN_NAME] => @SalesPerson
    [COLUMN_TYPE] => 1
    [DATA_TYPE] => -9
    [TYPE_NAME] => nvarchar
    [COLUMN_SIZE] => 50
    [BUFFER_LENGTH] => 100
    [DECIMAL_DIGITS] =>
    [NUM_PREC_RADIX] =>
    [NULLABLE] => 1
    [REMARKS] =>
    [COLUMN_DEF] =>
    [SQL_DATA_TYPE] => -9
    [SQL_DATETIME_SUB] =>
    [CHAR_OCTET_LENGTH] => 100
    [ORDINAL_POSITION] => 1
    [IS_NULLABLE] => YES
)

Ayrıca Bakınız

  • odbc_columns() - Belirtilen tablolardaki sütun isimlerini listeler


Belirtilen veri kaynağında saklı yordamların listesini döndürür

  • « odbc_procedurecolumns
  • odbc_result_all »
  • PHP Manual
  • ODBC İşlevleri
  • Belirtilen veri kaynağında saklı yordamların listesini döndürür

odbc_procedures

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_procedures — Belirtilen veri kaynağında saklı yordamların listesini döndürür

Açıklama

odbc_procedures(
resource $odbc,
?string $katalog = null,
?string $şema = null,
?string $yordam = null
): resource|false

Belirtilen aralıktaki tüm yordamları listeler.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

yordam

İsim. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • PROCEDURE_CAT
  • PROCEDURE_SCHEM
  • PROCEDURE_NAME
  • NUM_INPUT_PARAMS
  • NUM_OUTPUT_PARAMS
  • NUM_RESULT_SETS
  • REMARKS
  • PROCEDURE_TYPE
Drivers can report additional columns.

Sonuç kümesi şu alanlara göre sıralanır: PROCEDURE_CAT, PROCEDURE_SCHEMA ve PROCEDURE_NAME.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, işlev ya bir ya da beş bağımsız değişken ile çağrılabiliyordu.

Örnekler

Örnek 1 - Veritabanındaki saklı yordamların listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$procedures = odbc_procedures($conn, $catalog, $schema, '%');
while (($row = odbc_fetch_array($procedures))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [PROCEDURE_CAT] => TutorialDB
    [PROCEDURE_SCHEM] => dbo
    [PROCEDURE_NAME] => GetEmployeeSalesYTD;1
    [NUM_INPUT_PARAMS] => -1
    [NUM_OUTPUT_PARAMS] => -1
    [NUM_RESULT_SETS] => -1
    [REMARKS] =>
    [PROCEDURE_TYPE] => 2
)

Ayrıca Bakınız

  • odbc_procedurecolumns() - Yordamların bağımsız değişkenleri hakkında bilgi döndürür
  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Sonucu bir HTML tablosu olarak basar

  • « odbc_procedures
  • odbc_result »
  • PHP Manual
  • ODBC İşlevleri
  • Sonucu bir HTML tablosu olarak basar

odbc_result_all

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_result_all — Sonucu bir HTML tablosu olarak basar

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

odbc_result_all(resource $deyim, string $biçem = ""): int|false

odbc_exec() tarafından üretilen bir sonuç tanıtıcısındaki tüm satırları HTML tablosu biçeminde basar. Veri öncelenmez.

Bu işlev üretim ortamında kullanmak için tasarlanmamıştır. Geliştime amaçları doğrultusunda sonuç kümesi daha çabuk elde edilmeye çalışılmıştır.

Bağımsız Değişkenler

deyim

Sonuç tanıtıcısı.

biçem

Tablo biçemi.

Dönen Değerler

Bir hata durumunda false yoksa satır sayısı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor.


Sonuçtan veri döndürür

  • « odbc_result_all
  • odbc_rollback »
  • PHP Manual
  • ODBC İşlevleri
  • Sonuçtan veri döndürür

odbc_result

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_result — Sonuçtan veri döndürür

Açıklama

odbc_result(resource $deyim, string|int $alan): string|bool|null

Sonuçtan veri döndürür.

Bağımsız Değişkenler

deyim

Bir ODBC sonuç tanıtıcısı.

alan

Veri döndürülecek alan ismi. Alan numarası olarak bir sayı veya alan ismi olarak bir dizi olabilir.

Dönen Değerler

Hata durumunda false, null veri için null ikil veri için true aksi takdirde alanı içeren bir dizge döner.

Örnekler

İlk odbc_result() çağrısında sorgu sonucundaki kaydın üçüncü alanının değeri, ikincisinde ise "miktar" alanının değeri dönmektedir. Belirtilen sütun numarası birden küçük veya kayıttaki alan sayısından büyükse bir hata oluşur. Benzer şekilde, belirtilen alan ismi, kayıtta bulunan alan isimlerinden biri değilse de bir hata oluşacaktır.

Örnek 1 - odbc_result() örnekleri

<?php
$öğe_3 = odbc_result($sorgum, 3);
$öğe_miktar = odbc_result($sorgum, "miktar");
?>

Notlar

Alan numaraları 1'den başlar. İkil ve uzun ikil veriler hakkında bilgi için odbc_binmode() ve odbc_longreadlen() işlevine bakınız.


Bir hareketi başa döndürür

  • « odbc_result
  • odbc_setoption »
  • PHP Manual
  • ODBC İşlevleri
  • Bir hareketi başa döndürür

odbc_rollback

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_rollback — Bir hareketi başa döndürür

Açıklama

odbc_rollback(resource $odbc): bool

Bağlantıda bekleyen tüm sorguların en baştan ele alınmasını sağlar.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


ODBC ayarlarını yapar

  • « odbc_rollback
  • odbc_specialcolumns »
  • PHP Manual
  • ODBC İşlevleri
  • ODBC ayarlarını yapar

odbc_setoption

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_setoption — ODBC ayarlarını yapar

Açıklama

odbc_setoption(
resource $odbc,
int $işlev,
int $seçenek,
int $değer
): bool

Bu işlevle ODBC seçenekleri, belli bir bağlantı veya sonuç kümesine uygun olarak ayarlanır. Çok oyuncaklı ODBC sürücülerinye ilgili sorunların üstesinden gelmek için tasarlanmıştır. Sadece bir ODBC programcısı iseniz veya çeşitli seçeneklerin ne anlama geldiğini öğrenmek isterseniz işe yarar. Farklı seçenekleri ve değerleri açıklayan iyi bir ODBC kılavuzuna mutlaka ihtiyacınız olacaktır. Farklı sürücü sürümleri farklı seçenekler sunar.

ODBC sürücüsüne bağlı olarak işlevin etkileri değişebildiğinden halka açık betiklerde bu işlevi kesinlikle kullanmamalısınız. Ayrıca, bağlantı kurulmadan veya sorgu hazırlanmadan önce atanması gereken bazı ODBC seçenekleri de bu işlevle kullanılamamaktadır. Bununla birlikte, belli bir işi PHP ile yapmanız mümkünse, açıktır ki, patronunuz bunların hepsini yapabilen bir ticari ürünü kullanmanızı istemeyecektir.

Bağımsız Değişkenler

odbc

Ayar değişikliği yapılacak bağlantı veya sonuç kimliği. Bu, SQLSetConnectOption() için bir bağlantı kimliği, SQLSetStmtOption(), için ise bir sonuç kimliğidir.

işlev

ODBC işlevi kullanılacak mı?. Değer, SQLSetConnectOption() için 1, SQLSetStmtOption() için 2 olmalıdır.

seçenek

Değeri ayarlanacak seçenek.

değer

Ayarlanacak seçeneğin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - odbc_setoption() örnekleri

<?php
// 1. SQLSetConnectOption() için 102. seçenek: SQL_AUTOCOMMIT.
// SQL_AUTOCOMMIT için 1. değer: SQL_AUTOCOMMIT_ON.
// Bu örnek, odbc_autocommit($conn, true); işlevinin yaptığını yapar

odbc_setoption($conn, 1, 102, 1);

// 2. SQLSetStmtOption() için 0. seçenek: SQL_QUERY_TIMEOUT.
// Bu örnek, sorgunun 30 saniyede zaman aşımına uğramasını sağlar.

$result = odbc_prepare($conn, $sql);
odbc_setoption($result, 2, 0, 30);
odbc_execute($result);
?>


Özel sütunları döndürür

  • « odbc_setoption
  • odbc_statistics »
  • PHP Manual
  • ODBC İşlevleri
  • Özel sütunları döndürür

odbc_specialcolumns

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_specialcolumns — Özel sütunları döndürür

Açıklama

odbc_specialcolumns(
resource $bağlantı_kimliği,
int $türü,
?string $katalog,
string $şema,
string $tablo,
int $kapsam,
int $boş
): resource|false

Tablo içindeki bir satırı eşsiz olarak betimleyen en uygun sütunların veya bir satırın bir hareket sonucunda güncellenmesi durumunda otomatik olarak güncellenen sütünların listesini döndürür.

Bağımsız Değişkenler

bağlantı_kimliği

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

türü
SQL_BEST_ROWID belirtilirse, tablodaki her satırı eşsiz olarak betimleyin sütun veya sütunlar döner. SQL_ROWVER belirtilirse, bir satırın bir hareket sonucunda güncellenmesi durumunda otomatik olarak güncellenen sütunların listesini döndürür.
katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner').

tablo

Tablo.

kapsam

SQL_SCOPE_CURROW, SQL_SCOPE_TRANSACTION veya SQL_SCOPE_SESSION sabitlerinden biri.

boş

Döndürülecek özel sütunun NULL değer alıp alamayacağını belirler. SQL_NO_NULLS veya SQL_NULLABLE sabitlerinden biri.

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • SCOPE
  • COLUMN_NAME
  • DATA_TYPE
  • TYPE_NAME
  • COLUMN_SIZE
  • BUFFER_LENGTH
  • DECIMAL_DIGITS
  • PSEUDO_COLUMN
Drivers can report additional columns.

Sonuç kümesi SCOPE'a göre sıralanır.

Ayrıca Bakınız

  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Bir tablo hakkındaki istatistikleri döndürür

  • « odbc_specialcolumns
  • odbc_tableprivileges »
  • PHP Manual
  • ODBC İşlevleri
  • Bir tablo hakkındaki istatistikleri döndürür

odbc_statistics

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_statistics — Bir tablo hakkındaki istatistikleri döndürür

Açıklama

odbc_statistics(
resource $odbc,
?string $katalog,
string $şema,
string $tablo,
int $eşsiz,
int $doğruluk
): resource|false

Bir tablo ve indisleri hakkında istatistiksel bilgi döndürür.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner').

tablo

Tablo ismi.

eşsiz

Sıralama türü. SQL_INDEX_UNIQUE ya da SQL_INDEX_ALL.

doğruluk

SQL_ENSURE ya da SQL_QUICK. İkncisi, sadece kolayca sunucudan alınabilecekse, sürücünün CARDINALITY ve PAGES alanlarını almasını ister.

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • NON_UNIQUE
  • INDEX_QUALIFIER
  • INDEX_NAME
  • TYPE
  • ORDINAL_POSITION
  • COLUMN_NAME
  • ASC_OR_DESC
  • CARDINALITY
  • PAGES
  • FILTER_CONDITION
Drivers can report additional columns.

Sonuç kümesi şu sütunlara göre sıralanır: NON_UNIQUE, TYPE, INDEX_QUALIFIER, INDEX_NAME ve ORDINAL_POSITION

Örnekler

Örnek 1 - Tablo istatistikleri listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$statistics = odbc_statistics($conn, 'TutorialDB', 'dbo', 'TEST', SQL_INDEX_UNIQUE, SQL_QUICK);
while (($row = odbc_fetch_array($statistics))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => TutorialDB
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => TEST
    [NON_UNIQUE] =>
    [INDEX_QUALIFIER] =>
    [INDEX_NAME] =>
    [TYPE] => 0
    [ORDINAL_POSITION] =>
    [COLUMN_NAME] =>
    [ASC_OR_DESC] =>
    [CARDINALITY] => 15
    [PAGES] => 3
    [FILTER_CONDITION] =>
)

Ayrıca Bakınız

  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Tabloları izinleriyle birlikte listeler

  • « odbc_statistics
  • odbc_tables »
  • PHP Manual
  • ODBC İşlevleri
  • Tabloları izinleriyle birlikte listeler

odbc_tableprivileges

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_tableprivileges — Tabloları izinleriyle birlikte listeler

Açıklama

odbc_tableprivileges(
resource $odbc,
?string $katalog,
string $şema,
string $tablo
): resource|false

Belirtilen aralıktaki tabloların izinlerini isimlerine göre listeler.

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

tablo

İsim. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

Dönen Değerler

Hata durumunda false yoksa istenen bilgiyi içeren bir ODBC sonuç tanıtıcısı döner.

Sonuç kümesi şu sütunlardan oluşur:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • GRANTOR
  • GRANTEE
  • PRIVILEGE
  • IS_GRANTABLE
Drivers can report additional columns.

Sonuç kümesi TABLE_CAT, TABLE_SCHEM, TABLE_NAME, PRIVILEGE ve GRANTEE sütunlarına göre sıralanır.

Örnekler

Örnek 1 Tablo ayrıcalıkları listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$privileges = odbc_tableprivileges($conn, 'SalesOrders', 'dbo', 'Orders');
while (($row = odbc_fetch_array($privileges))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => SalesOrders
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => Orders
    [GRANTOR] => dbo
    [GRANTEE] => dbo
    [PRIVILEGE] => DELETE
    [IS_GRANTABLE] => YES
)

Ayrıca Bakınız

  • odbc_tables() - Belli bir veri kaynağında bulunan tablo isimlerini döndürür


Belli bir veri kaynağında bulunan tablo isimlerini döndürür

  • « odbc_tableprivileges
  • PDO »
  • PHP Manual
  • ODBC İşlevleri
  • Belli bir veri kaynağında bulunan tablo isimlerini döndürür

odbc_tables

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_tables — Belli bir veri kaynağında bulunan tablo isimlerini döndürür

Açıklama

odbc_tables(
resource $odbc,
?string $katalog = null,
?string $şema = null,
?string $tablo = null,
?string $türler = null
): resource|false

Belitilen aralıktaki tüm tablo isimlerini listeler.

katalog, şema, tablo ve türler bağımsız değişkenleri ile seçim şöyle yapılır:

  • katalog tek bir yüzde iminden (%) ibaretse ve, şema ve tablo birer boş dizgeyse sonuç, veri kaynağındaki geçerli niteleyicileri içerir. (TABLE_QUALIFIER sütunu dışında tüm sütunlar null içerir.)
  • şema tek bir yüzde iminden (%) ibaretse ve, katalog ve tablo birer boş dizgeyse sonuç, veri kaynağındaki geçerli sahipleri içerir. (TABLE_OWNER sütunu dışında tüm sütunlar null içerir.)
  • tablo_türü tek bir yüzde iminden (%) ibaretse ve, katalog, şema ve tablo birer boş dizgeyse sonuç, veri kaynağındaki geçerli tablo türlerini içerir. (TABLE_TYPE sütunu dışında tüm sütunlar null içerir.)

Bağımsız Değişkenler

odbc

ODBC bağlantı tanıtıcısı; ayrıntılar için odbc_connect() işlevine bakınız.

katalog

Katalog (ODBC 2 argosunda 'qualifier' ).

şema

Şema (ODBC 2 argosunda 'owner'). Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

tablo

İsim. Arama şablonları belirtilebilir (sıfır veya daha fazla karakterle eşleşmek üzere "%" ve tek bir karakterle eşleşmek üzere "_".

türler

türler boş bir dizge değilse tablo türlerinden oluşan virgül ayraçlı bir liste olmalıdır. Her değer ya tek tırnaklar (') arasına alınmalı ya da hiç tırnak içine alınmamalıdır. Örnek: 'TABLE','VIEW' veya TABLE, VIEW. Eğer veri kaynağı belirtilen tablo türlerini desteklemiyorsa, işlev, bu tablo türlerinde hiçbir sonuç döndürmez.

Dönen Değerler

İstenen bilgiyi içeren bir ODBC sonuç tanıtıcısı, başarısızlık durumunda false döner.

Sonuç kümesi şu sütunlardan oluşur:

  • TABLE_CAT
  • TABLE_SCHEM
  • TABLE_NAME
  • TABLE_TYPE
  • REMARKS
Drivers can report additional columns.

Sonuç kümesi TABLE_TYPE, TABLE_CAT, TABLE_SCHEM ve TABLE_NAME sütunlarına göre sıralanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | şema, tablo ve türler artık null olabiliyor.

Örnekler

Örnek 1 - Katalogdaki tabloların listesi

<?php
$conn = odbc_connect($dsn, $user, $pass);
$tables = odbc_tables($conn, 'SalesOrders', 'dbo', '%', 'TABLE');
while (($row = odbc_fetch_array($tables))) {
print_r($row);
break;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [TABLE_CAT] => SalesOrders
    [TABLE_SCHEM] => dbo
    [TABLE_NAME] => Orders
    [TABLE_TYPE] => TABLE
    [REMARKS] =>
)

Ayrıca Bakınız

  • odbc_tableprivileges() - Tabloları izinleriyle birlikte listeler
  • odbc_columns() - Belirtilen tablolardaki sütun isimlerini listeler
  • odbc_specialcolumns() - Özel sütunları döndürür
  • odbc_statistics() - Bir tablo hakkındaki istatistikleri döndürür
  • odbc_procedures() - Belirtilen veri kaynağında saklı yordamların listesini döndürür


PHP Veri Nesneleri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Bağlantılar ve Bağlantı Yönetimi
  • Hareketler ve Ototeslim
  • Hazır deyimler ve Saklı Yordamlar
  • Hatalar ve Ele Alınışları
  • Büyük Veri Nesneleri (LOB'lar)
  • PDO — PDO sınıfı
    • PDO::beginTransaction — Bir toplu hareketi ilklendirir
    • PDO::commit — Bir toplu hareketi veritabanına gönderir
    • PDO::__construct — Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur
    • PDO::errorCode — Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
    • PDO::errorInfo — Veritabanındaki son işlemle ilgili hata bilgisini döndürür
    • PDO::exec — Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
    • PDO::getAttribute — Bir veritabanı bağlantı özniteliğinin değerini döndürür
    • PDO::getAvailableDrivers — Kullanılabilen PDO sürücülerini içeren bir dizi döndürür
    • PDO::inTransaction — Checks if inside a transaction
    • PDO::lastInsertId — Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür
    • PDO::prepare — Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
    • PDO::query — Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
    • PDO::quote — Bir sorguda kullanılmak üzere bir dizgeyi önceler
    • PDO::rollBack — Bir toplu hareketi geri alır
    • PDO::setAttribute — Bir öznitelik tanımlar
  • PDOStatement — PDOStatement sınıfı
    • PDOStatement::bindColumn — Bir sütunu bir PHP değişkeni ile ilişkilendirir
    • PDOStatement::bindParam — Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir
    • PDOStatement::bindValue — Bir değeri bir bağımsız değişken ile ilişkilendirir
    • PDOStatement::closeCursor — Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar
    • PDOStatement::columnCount — Sonuç kümesindeki sütun sayısını döndürür
    • PDOStatement::debugDumpParams — Bir SQL hazır komutunu dökümler
    • PDOStatement::errorCode — Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür
    • PDOStatement::errorInfo — Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür
    • PDOStatement::execute — Bir hazır deyimi çalıştırır
    • PDOStatement::fetch — Sonuç kümesindeki sonraki satırı döndürür
    • PDOStatement::fetchAll — Sonuç kümesinde kalan satırları döndürür
    • PDOStatement::fetchColumn — Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
    • PDOStatement::fetchObject — Sonraki satırı alır ve bir nesne olarak döndürür
    • PDOStatement::getAttribute — Bir deyim özniteliğini döndürür
    • PDOStatement::getColumnMeta — Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür
    • PDOStatement::getIterator — Gets result set iterator
    • PDOStatement::nextRowset — Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar
    • PDOStatement::rowCount — Son SQL deyiminden etkilenen satır sayısını döndürür
    • PDOStatement::setAttribute — Bir deyim özniteliğini tanımlar
    • PDOStatement::setFetchMode — Deyim için öntanımlı veri alım kipini belirler
  • PDOException — PDOException sınıfı
  • PDO Sürücüleri
    • CUBRID (PDO) — CUBRID Functions (PDO_CUBRID)
    • MS SQL Sunucusu (PDO) — Microsoft SQL Sunucusu ve Sybase (PDO_DBLIB) İşlevleri
    • Firebird (PDO) — Firebird İşlevleri (PDO_FIREBIRD)
    • IBM (PDO) — IBM (PDO_IBM) İşlevleri
    • Informix (PDO) — Informix (PDO_INFORMIX) İşlevleri
    • MySQL (PDO) — MySQL (PDO_MYSQL) İşlevleri
    • MS SQL Server (PDO) — Microsoft SQL Server Functions (PDO_SQLSRV)
    • Oracle (PDO) — Oracle (PDO_OCI) İşlevleri
    • ODBC ve DB2 (PDO) — ODBC ve DB2 (PDO_ODBC) İşlevleri
    • PostgreSQL (PDO) — PostgreSQL (PDO_PGSQL) İşlevleri
    • SQLite (PDO) — SQLite (PDO_SQLITE) İşlevleri


Giriş

PHP Veri Nesneleri (PDO) eklentisi, PHP'deki veritabanlarına erişmek için hafif ve tutarlı bir arayüz tanımlar. PDO arayüzü tanımı bulunan her veritabanı sürücüsü, veritabanına özgü özellikleri sıradan eklenti işlevleri olarak ifade edebilir. Yalnız dikkat edin, PDO eklentisinin kendisini her veritabanı işlevi için kullanamazsınız; bir veritabanı sunucusuna erişmek için veritabanına özgü PDO sürücüsünü kullanmalısınız.

PDO bir veri erişimli soyutlama katmanı sağlar, yani, kullandığınız veritabanından bağımsız olarak sorguları çalıştırmak ve sonuçları döndürmek için aynı işlevleri kullanabilirsiniz. PDO bir veritabanı soyutlaması yapmaz; SQL deyimini yeniden yazmaz ya da olmayan özellikleri taklit etmez. Bu özellikleri istiyorsanız tam gelişmiş soyutlama katmanını kullanmalısınız.

PDO, PHP ile birlikte gelir.


Kurulum

Unix sistemlere PDO Kurulumu

  1. PDO ve PDO_SQLITE sürücüsü öntanımlı olarak etkindir. Başka bir veritabanının PDO sürücüsünü etkinleştirmek isterseniz bunun nasıl yapılacağını veritabanlarına özgü PDO sürücüleri sayfasından öğrenebilirsiniz.

    Bilginize:

    PDO eklentisini bir paylaşımlı eklenti olarak (bu önerilmez) derliyorsanız tüm PDO sürücülerinin PDO'nun kendisinden sonra yüklenmesine dikkat etmelisiniz.

  2. PDO eklentisini bir paylaşımlı eklenti olarak kuruyorsanız, PHP çalıştığı zaman PDO eklentisinin otomatik olarak yüklenmesi için php.ini dosyasını buna göre düzenlemeniz gerekir. Ayrıca kullanacağınız veritabanına özgü sürücülerinde dosyada etkin kılınması gerekir. Bunu yaparken bunların pdo.so satırından sonra listelenmesine dikkat etmelisiniz. Çünkü, PDO eklentisinin veritabanlarına özgü eklentiler yüklenmeden önce ilklendirilmesi gerekir. PDO'yu ve veritabanlarına özgü eklentileri statik olarak derliyorsanız php.ini adımını atlayabilirsiniz.

    extension=pdo.so

Windows kullanıcıları

  1. Veritabanlarına özgü eklentilerin DLL dosyalarını aşağıdaki gibi ekleyebilir veya dl() ile çalışma anında da yükleyebilirsiniz.

    extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

    Bu DLL'lerin hepsinin extension_dir yönergesinde belirtilen dizinde bulunması gerektiğini unutmayın.

Bilginize:

Yeni yapılandırma yönergelerinin etkin olabilmesi için php.ini dosyanızda değişiklik yaptıktan sonra PHP'yi yeniden başlatmayı unutmayın.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PDO Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
pdo.dsn.* |  | sadece php.ini dosyasında |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

pdo.dsn.* string

DSN için rumuz tanımları. Ayrıntılar için PDO::__construct() yönteminin açıklamasına bakınız.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PDO::PARAM_BOOL (int)
Mantıksal veri türünü ifade eder.
PDO::PARAM_NULL (int)
SQL NULL veri türünü ifade eder.
PDO::PARAM_INT (int)
SQL INTEGER veri türünü ifade eder.
PDO::PARAM_STR (int)
SQL CHAR, VARCHAR ve benzeri dizge veri türlerini ifade eder.
PDO::PARAM_STR_NATL (int)
Dizgenin ulusal karakter kümesini kullanacağını belirtir. PHP 7.2.0'dan beri kullanılabilir.
PDO::PARAM_STR_CHAR (int)
Dizgenin normal karakter kümesini kullanacağını belirtir. PHP 7.2.0'dan beri kullanılabilir.
PDO::PARAM_LOB (int)
SQL büyük nesne veri türünü ifade eder.
PDO::PARAM_STMT (int)
Kayıt kümesi (recordset) türünü ifade eder. Her sürücü desteklemez.
PDO::PARAM_INPUT_OUTPUT (int)
Bağımsız değişkenin bir saklı yordam için bir girdi/çıktı bağımsız değişkeni olduğunu gösterir. Bu değeri bir PDO::PARAM_* veri türü ile bit seviyesinde VEYAlamanız gerekir.
PDO::FETCH_DEFAULT (int)
Kullanılacak öntanımlı fetch kipini belirtir. PHP 8.0.7 ve sonrasında kullanılabilir.
PDO::FETCH_LAZY (int)
Yöntemin, sonuç kümesindeki her satırı, değişken isimlerinin sütun isimlerine karşılık geldiği bir nesne olarak döndüreceğini belirtir. PDO::FETCH_LAZY sütun isimlerine nesnenin değişkenleri olarak erişilebilmesini sağlar. PDOStatement::fetchAll() içinde geçersizdir.
PDO::FETCH_ASSOC (int)
Yöntemin, sonuç kümesindeki her satırının, sütun isimleriyle indislenmiş bir dizi olarak döndürüleceğini belirtir. Eğer sonuç kümesi aynı isimde birden fazla sütun içeriyorsa her sütun için tek bir değer döner.
PDO::FETCH_NAMED (int)
Yöntemin, sonuç kümesindeki her satırının, sütun isimleriyle indislenmiş bir dizi olarak olarak döndüreleceğini belirtir. Eğer sonuç kümesi aynı isimde birden fazla sütun içeriyorsa her sütun için bir değerler dizisi döner.
PDO::FETCH_NUM (int)
Yöntemin, sonuç kümesindeki her satırının, sütun numaralarıyla indislenmiş bir dizi olarak olarak döndüreleceğini belirtir. İlk sütunun indisi 0'dır.
PDO::FETCH_BOTH (int)
Yöntemin, sonuç kümesindeki her satırının, hem sütun isimleriyle hem de sütun numaralarıyla indislenmiş bir dizi olarak olarak döndürüleceğini belirtir. İlk sütunun indisi 0'dır.
PDO::FETCH_OBJ (int)
Yöntemin, sonuç kümesindeki her satırının, özellik isimlerinin sütun isimlerine karşılık geldiği bir nesne olarak döndüreceğini belirtir.
PDO::FETCH_BOUND (int)
Yöntemin, sonuç kümesindeki sütun değerlerini PDOStatement::bindParam() veya PDOStatement::bindColumn() yönteminde SQL bağımsız değişkenleri ile ilişkilendirilip PHP değişkenlerine atanacağını ve true döndürüleceğini belirtir.
PDO::FETCH_COLUMN (int)
Yöntemin, sonuç kümesindeki sonraki satırdan istenen tek bir sütunu döndüreceğini belirtir.
PDO::FETCH_CLASS (int)
Yöntemin, sınıf özellikleri sütun isimleriyle eşlenerek elde edilen sınıfın yeni bir örneğini döndüreceğini belirtir.

Bilginize: İstenen sınıf içinde özellik mevcut değilse sihirli __set() yöntemi çağrılır.

PDO::FETCH_INTO (int)
Yöntemin, sınıf özellikleri sütun isimleriyle eşlenerek elde edilen sınıfın mevcut bir örneğini güncelleyeceğini belirtir.
PDO::FETCH_FUNC (int)
Verinin anında işlenmesi yoluyla tamamen özelleştirmeye izin verir (sadece PDOStatement::fetchAll() içinde geçerlidir).
PDO::FETCH_GROUP (int)
Grup değer olarak döner. Normal olarak PDO::FETCH_COLUMN veya PDO::FETCH_KEY_PAIR ile birlikte.
PDO::FETCH_UNIQUE (int)
Sadece eşsiz değerleri getirir.
PDO::FETCH_KEY_PAIR (int)
İlk sütunun anahtar diğer sütunların ise birer değer olduğu bir dizi döner.
PDO::FETCH_CLASSTYPE (int)
Sütun ismini ilk sütunun değerinden belirler.
PDO::FETCH_SERIALIZE (int)
Nesnenin dizgeleştirilmiş olarak döndürülmesi dışında PDO::FETCH_INTO gibidir. Bu seçenek etkinken sınıf kurucusu asla çağrılmamaktadır. PHP 8.1.0 ve sonrasında kullanımı önerilmiyor.
PDO::FETCH_PROPS_LATE (int)
Özellikler değiştirilmeden önce kurucuyu çağırır.
PDO::ATTR_AUTOCOMMIT (int)
false olduğu takdirde, PDO otomatik veri gönderimini iptal eder, böylece bağlantı bir veri hareketi (transaction) başlatır.
PDO::ATTR_PREFETCH (int)
Önalım boyutunun ayarlanması uygulamanızın bellek kullanım hızını dengeleyebilmenizi sağlar. Her veritabanı/sürücü önalım boyutunun ayarlanmasına izin vermez. Önalım boyutu ne kadar büyük seçilirse yüksek bellek kullanımı pahasına başarım o kadar artar.
PDO::ATTR_TIMEOUT (int)
Veritabanıyla iletişim zaman aşımını belirlemek için kullanılır.
PDO::ATTR_ERRMODE (int)
Bu sabit ile ilgili bilgi için Hatalar ve Ele Alınışları bölümüne bakınız.
PDO::ATTR_SERVER_VERSION (int)
Bu salt okunur bir özelliktir. PDO'nun bağlı olduğu veritabanı sunucusunun sürüm bilgisini döndürür.
PDO::ATTR_CLIENT_VERSION (int)
Bu salt okunur bir özelliktir. PDO sürücüsünün kullandığı istemci kütüphanesinin sürüm bilgisini döndürür.
PDO::ATTR_SERVER_INFO (int)
Bu salt okunur bir özelliktir. PDO'nun bağlı olduğu veritabanı sunucusu hakkında bazı temel bilgileri döndürür.
PDO::ATTR_CONNECTION_STATUS (int)
PDO::ATTR_CASE (int)
Sütun isimlerindeki harflerin PDO::CASE_* sabitlerine göre belirtilmesini sağlar.
PDO::ATTR_CURSOR_NAME (int)
Bir gösterici için kullanılacak ismi tanımlar veya döndürür. Kaydırılabilir göstericiler ve konum belirterek yapılan güncelemeler için çok kullanışlıdır.
PDO::ATTR_CURSOR (int)
Gösterici türünü seçer. Desteklenen gösterici türleri: PDO::CURSOR_FWDONLY ve PDO::CURSOR_SCROLL. İhtiyacınızın kaydırılabilir bir gösterici olup olmadığına dair bir fikriniz yoksa seçiminizi PDO::CURSOR_FWDONLY sabitinden yana kullanın.
PDO::ATTR_DRIVER_NAME (int)
Sürücü ismini döndürür.

Örnek 1 - PDO::ATTR_DRIVER_NAME kullanımı

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
echo "Burada mysql üzerinde mysql'e özgü bir şeyler yapılıyor\n";
}
?>

PDO::ATTR_ORACLE_NULLS (int)
Veri alınırken SQL NULL değerleri boş dizgelere dönüştürür.
PDO::ATTR_PERSISTENT (int)
Yeni bir bağlantı oluşturmak yerine kalıcı bir bağlantı ister. Ayrıntılı bilgi için Bağlantılar ve Bağlantı Yönetimi sayfasına bakınız.
PDO::ATTR_STATEMENT_CLASS (int)
Deyimlerin döndürüleceği sınıf adını tanımlar.
PDO::ATTR_FETCH_CATALOG_NAMES (int)
Sonuç kümesinde döndürülen her sütun isminin başına katalog ismini yerleştirir. Katalog ismi ile sütun ismi arasına bir nokta konur. Bu özellik sürücü seviyesinde desteklenir; kullandığınız sürücü bu özelliği desteklemeyebilir.
PDO::ATTR_FETCH_TABLE_NAMES (int)
Sonuç kümesinde döndürülen her sütun isminin başına tablo ismini yerleştirir.Tablo ismi ile sütun ismi arasına bir nokta konur. Bu özellik sürücü seviyesinde desteklenir; kullandığınız sürücü bu özelliği desteklemeyebilir.
PDO::ATTR_STRINGIFY_FETCHES (int)
Getirilen tüm değerlerin dizge olarak değerlendirilmesini sağlar.
PDO::ATTR_MAX_COLUMN_LEN (int)
Azami sütun uzunluğunu belirler.
PDO::ATTR_DEFAULT_FETCH_MODE (int)
PDO::ATTR_EMULATE_PREPARES (int)
PDO::ATTR_DEFAULT_STR_PARAM (int)
Dizge bağımsız değişkenin öntanımlı türünü belirler. Değer olarak sadece PDO::PARAM_STR_NATL veya PDO::PARAM_STR_CHAR atanabilir. PHP 7.2.0'dan beri kullanılabilir..
PDO::ERRMODE_SILENT (int)
Bir hata oluştuğunda bir istisna veya bir hata döndürülmez. Geliştiricinin hataları yakalayıp gereğini yapacağı varsayılır. Bu öntanımlı kiptir. Bu özellik ile ilgili ayrıntılı bilgi için Hatalar ve Ele Alınışları sayfasına bakınız.
PDO::ERRMODE_WARNING (int)
Bir hata oluştuğunda bir PHP E_WARNING iletisi çıktılanır. Bu özellik ile ilgili ayrıntılı bilgi için Hatalar ve Ele Alınışları sayfasına bakınız.
PDO::ERRMODE_EXCEPTION (int)
Bir hatanın oluşması bir PDOException istisnası ile sonuçlanır. Bu özellik ile ilgili ayrıntılı bilgi için Hatalar ve Ele Alınışları sayfasına bakınız.
PDO::CASE_NATURAL (int)
Sütun isimleri veritabanı sürücüsünün döndürdüğü haliyle bırakılır.
PDO::CASE_LOWER (int)
Sütun isimlerinin küçük harflerle yazılmasına sebep olur.
PDO::CASE_UPPER (int)
Sütun isimlerinin büyük harflerle yazılmasına sebep olur.
PDO::NULL_NATURAL (int)
PDO::NULL_EMPTY_STRING (int)
PDO::NULL_TO_STRING (int)
PDO::FETCH_ORI_NEXT (int)
Sonuç kümesindeki sonraki satırı döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::FETCH_ORI_PRIOR (int)
Sonuç kümesindeki önceki satırı döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::FETCH_ORI_FIRST (int)
Sonuç kümesindeki ilk satırı döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::FETCH_ORI_LAST (int)
Sonuç kümesindeki son satırı döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::FETCH_ORI_ABS (int)
İstenen satırı sonuç kümesindeki satır numarasına göre döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::FETCH_ORI_REL (int)
İstenen satırı, göstericinin sonuç kümesindeki konumuna göreli olarak döndürür. Sadece kaydırılabilir göstericiler için geçerlidir.
PDO::CURSOR_FWDONLY (int)
Sadece ileri yönde hareket eden bir göstericiye sahip bir PDOStatement nesnesi oluşturur. PHP'deki en hızlı ve en çok kullanılan veriye erişim yöntemi olarak bu gösterici öntanımlı göstericidir.
PDO::CURSOR_SCROLL (int)
Kaydırılabilir göstericili bir PDOStatement nesnesi oluşturur. Satırların sonuç kümesinden nasıl döndürüleceğini belirtmek için PDO::FETCH_ORI_* sabitlerini kullanın.
PDO::ERR_NONE (string)
SQL deyiminin hatasız ve uyarısız başarıyla çalıştırıldığı anlamına gelen SQLSTATE '00000' karşılığıdır. Bir hata oluştuğunda hatayı PDO::errorCode() veya PDOStatement::errorCode() ile saptarken kolaylık olsun diye bu sabit vardır. Bunu normal olarak yöntemden dönen kodu inceleyerek saptayabilirsiniz.
PDO::PARAM_EVT_ALLOC (int)
Kaynak ayırma olayı.
PDO::PARAM_EVT_FREE (int)
Ayrılan kaynağı serbest bırakma olayı.
PDO::PARAM_EVT_EXEC_PRE (int)
Bir hazır deyimi çalıştırmadan önce tetiklenen olay.
PDO::PARAM_EVT_EXEC_POST (int)
Bir hazır deyimi çalıştırıldıktan hemen sonra tetiklenen olay.
PDO::PARAM_EVT_FETCH_PRE (int)
Bir sonuç kümesinden bir sonucun alınmasından önce tetiklenen olay.
PDO::PARAM_EVT_FETCH_POST (int)
Bir sonuç kümesinden bir sonucun alınmasının ardından tetiklenen olay.
PDO::PARAM_EVT_NORMALIZE (int)
Sürücünün bağımsız değişken isminin normalleştirilmesini sağlamak için ilişkili bağımsız değişkenin kayda geçirilmesi sırasında tetiklenen olay.
PDO::SQLITE_DETERMINISTIC (int)
PDO::sqliteCreateFunction() ile oluşturulan işlevin belirlenimsel olduğunu belirtir. Yani SQL deyiminin belli bir girdi için daima belli bir sonucu döndüreceğini belirtir. (PHP 7.1.4 ve sonrasında mevcuttur.)


Bağlantılar ve Bağlantı Yönetimi

Bağlantılar temel PDO sınıfının örneklenmesiyle kurulur. Hangi sürücünün kullanılacağının bir önemi yoktur; daima PDO sınıf isminin kullanılması gerekir. Veritabanı kaynağı (diğer bir deyişle DSN) ve isteğe bağlı olarak kullanıcı ismi ve parolası belirtmek için kurucu kullanılabilir.

Örnek 1 - MySQL'e bağlanma

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
?>

Bir hata oluşursa bu bir PDOException istisnasına sebep olur. Hatayı ele almak için istisna yakalanabilir veya işlem set_exception_handler() üzerinden ayarlanmış bir küresel hata işleme uygulamasına bırakılabilir.

Örnek 2 - Bağlantı hatalarının ele alınışı

<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
} catch (PDOException $e) {
// örneğin zaman aşımını bekledikten sonra yediden bağlanmaya çalış
}
?>

Uyarı

Tıpkı diğer herhangi bir istisna gibi, PDOException da bir catch deyimi aracılığıyla açıkça veya set_exception_handler() aracılığıyla dolaylı olarak yakalanabilir. Aksi takdirde varsayılan olarak, yakalanmamış bir istisnayı E_FATAL_ERROR ölümcül hatasına dönüştürme davranışı gerçekleşir. Ölümcül hata, bağlantı ayrıntılarını sızdırabilecek bir geri izleme içerecektir. Bu nedenle, bir üretim sunucusunda php.ini display_errors seçeneğine 0 atanmalıdır.

Veritabanı bağlantısının başarıyla kurulmasıyla betiğinize PDO sınıfının bir örneği döner. PDO nesnesinin ömrü boyunca bağlantı etkin kalır. Bağlantıyı kapatmak için, nesneye gönderimli herşeyin silindiğinden emin olarak nesneyi yok etmek gerekir; nesneyi tutan değişkene null atanarak bu yapılabilir. Bu yapılmazsa, PHP betiği sonlandığında nesne kendiliğinden yok edilir.

Bilginize: Bu PDO örneğine hala başka gönderimler varsa (örneğin bir PDOStatement örneğinden veya aynı PDO örneğine gönderimli diğer değişkenlerden), bunların da kaldırılması gerekir (örneğin, PDOStatement'a başvuran değişkene null atanarak).

Örnek 3 - Bir bağlantının kapatılışı

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
// burada bağlantıyı kullanıyoruz

$sth = $dbh->query('SELECT * FROM foo');

// İşimiz bittiğine göre bağlantıyı kapatabiliriz.
$sth = null;
$dbh = null;
?>

Çoğu HTTP uygulaması veritabanı sunucularına kalıcı bağlantılardan medet umar. Kalıcı bağlantılar betiğin işi bittiğinde kapatılmaz, önbelleğe alınıp aynı kimlik kanıtlarıyla bağlantı kurmak isteyen başka betiklerce kullanılır. Kalıcı bağlantı önbelleği, bir betiğin bir veritabanı ile her iletişime geçme isteğinde yeni bir bağlantı kurma maliyetini ortadan kaldırır ve uygulamanın daha hızlı çalışmasını sağlar.

Örnek 4 - Kalıcı bağlantılar

<?php
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(
PDO::ATTR_PERSISTENT => true
));
?>

PDO::ATTR_PERSISTENT seçeneğinin değeri, sayısal olmayan bir dizge olmadığı sürece bool'a (kalıcı bağlantıları etkinleştir/devre dışı bırak) dönüştürülür, bu durumda çok sayıda kalıcı bağlantı havuzunun kullanımına izin verilir. Bu, farklı bağlantılar uyumsuz ayarlar kullanıyorsa, örneğin farklı PDO::MYSQL_ATTR_USE_BUFFERED_QUERY değerleri kullanılıyorsa yararlıdır.

Bilginize:

Kalıcı bağlantı kullanmak için PDO kurucusuna aktarılan sürücü seçenekleri dizisinde PDO::ATTR_PERSISTENT sabitine true atanmalıdır. Nesne ilklendirildikten sonra bu özelliğin PDO::setAttribute() ile etkin kılınması istenirse sürücü kalıcı bağlantıları kullanmayacaktır.

Bilginize:

PDO ODBC sürücüsü kullanılıyorsa ve ODBC kütüphaneleri ODBC Bağlantı Havuzlarını destekliyorsa (hem unixODBC hem de Windows bunu yapar; başkaları da olabilir) kalıcı PDO bağlantılarının kullanılması önerilmez; bağlantı önbelleklemesini ODBC Bağlantı Havuzlama katmanına bırakmak daha iyidir. ODBC Bağlantı Havuzu bağlantıyı süreçteki diğer modüllerle paylaşır; eğer PDO bağlantıyı önbelleklemeye çalışırsa bu bağlantı asla ODBC bağlantı havuzuna dönmez ve sonuçta diğer modüllere hizmet vermek için ek bağlantılar oluşur.


Hareketler ve Ototeslim

Bir veritabanına PDO üzerinden bağlantı kuracaksanız, sorgulara başlamadan PDO'nun toplu hareketleri nasıl yönettiğini bilmek zorundasınız. Daha önce toplu hareketler (transactions) ile çalışmadıysanız şu dört ana özelliği bilmenizde yarar var: Dayanıklılık, Atomsallık, Yalıtım ve Tutarlılık (DAYT). Layman kuralları gereğince, bir toplu hareket olarak yürütülen bir işleme başlanıldığı takdirde, aşamalar halinde bile yürütülse, diğer bağlantılarla etkileşime girmeksizin veritabanına güvenle uygulanacağı garanti edilir. Ayrıca, toplu hareketler, istediğiniz taktirde (sanki işleme hiç başlamamışsınız gibi) otomatik olarak geri alınır ve betiğinizin hatalarla daha kolay başa çıkmasını sağlar.

Toplu hareketler genellikle bir defada uygulanacak işlemlerin bir betik (bir SQL deyimleri betiği) haline getirilmesiyle oluşur. Bunun bu güncellemelerin verimliliğini esaslı bir şekilde arttırmak gibi bir yan etkisi de vardır. Başka bir deyişle, toplu hareketler betiğinizin daha hızlı ve daha tutarlı çalışmasını sağlar (ancak, bunu sağlamak için toplu hareketleri doğru yerde kullanmanız gerekir).

Talihsizliğe bakın ki, her veritabanı toplu hareketleri desteklemez, bu yüzden PDO, önce bağlantı açılmasını gerektiren ve ototeslim kipi denen kipte çalışmak zorunda kalır. Ototeslim kipinde, çalıştırdığınız her sorgu veritabanı hareketleri destekliyorsa dolaylı olarak bir harekettir, desteklemiyorsa değildir. İhtiyacınız toplu hareketleri kullanmaksa hareketleri ilklendirmek için PDO::beginTransaction() yöntemini kullanmalısınız. Eğer kullanmaya çalıştığınız veritabanı toplu hareketleri desteklemiyorsa bir PDOException istisnası yavrulanır (hata işleme ayarlarınızdan bağımsız olarak: bu daima bir dizi hata durumundan oluşur). Bir toplu hareketi ilklendirdikten sonra hareketi başlatmak için PDO::commit(), hareketler yerine getirilirken çalıştırdığınız kodun başarı durumuna bağlı olarak hareketleri geri almak için PDO::rollBack() yöntemini kullanabilirsiniz.

Uyarı

PDO, yalnızca sürücü düzeyinde işlem yeteneklerini denetler. Belirli çalışma zamanı koşulları hareketlerin kullanılamaz olduğu anlamına geliyorsa, fakat veritabanı sunucusu bir hareket başlatmak üzere isteği kabul ederse PDO::beginTransaction() yine de hata vermeksizin true döndürecektir.

Buna bir örnek, bir MySQL veritabanında MyISAM tabloları üzerinde hareketleri kullanmaya çalışmak olurdu.

Bir toplu hareket veritabanına gönderilmişken bir nedenle betiğiniz sonlanırsa veya bağlantı kapatılmaya çalışılırsa PDO otomatik olarak hareketleri geri alır. Bu, betiğin beklenmedik durumlarda sonlanmasına karşı veritabanındaki verilerin tutarsız hale gelmesini önleyecek bir güvenlik önlemidir. Ancak toplu hareketleri doğrudan siz başlatmadıysanız bir şeyler zaten yolunda gitmemiş demektir, dolayısıyla verilerinizin güvenliği için hareketlere başa sarma işlemi uygulanır.

Uyarı

Otomatik başa sarma işlemi sadece toplu hareketler PDO::beginTransaction() üzerinden ilklendirildiğinde uygulanır. Bir toplu hareket PDO'sunu başlatan bir sorguyu el yordamıyla kendiniz başlatırsanız, neler olacağı bilinemez ve yanlış giden bir şeyler olursa bunlar geri alınamaz.

Örnek 1 - Bir toplu hareket betiğinin çalıştırılması

Aşağıdaki örnekte, yeni bir çalışan için 23 numaralı bir girdi kümesi oluşturduğumuzu varsayıyoruz. Şahıs için girilen temel bilgilere ilaveten ücretini de kaydedeceğiz. Bu basit işlemi iki ayrı güncelleme ile yapmak mümkünse de bu iki deyimi PDO::beginTransaction() ve PDO::commit() çağrılarının arasına alıp bir sebeple işlem tamamlanamazsa yapılanların geri alınmasını garantilemiş olacağız. Eğer bir şeyler yolunda gitmezse catch kümesi haraket başladığından beri yapılan işlemleri geri alır ve bir hata iletisi basar.

<?php
try {
$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',
array(PDO::ATTR_PERSISTENT => true));
echo "Bağlantı kuruldu\n";
} catch (Exception $e) {
die("Bağlanılamadı: " . $e->getMessage());
}

try {
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$dbh->beginTransaction();
$dbh->exec("insert into staff (id, first, last) values (23, 'Joe', 'Bloggs')");
$dbh->exec("insert into salarychange (id, amount, changedate)
values (23, 50000, NOW())");
$dbh->commit();

} catch (Exception $e) {
$dbh->rollBack();
echo "İşlem başarısız oldu: " . $e->getMessage();
}
?>

Güncellemeleri birer toplu hareket olarak yapmak zorunda değilsiniz. Almak istediğiniz veriler için karmaşık sorgular yapabileceğiniz gibi elde ettiğiniz verilerle başka sorgular ve güncellemeler yapmanızda da mümkündür. Ancak, bu arada bir toplu hareket işlemi yürütülüyorsa, bu çalışmanın ortasında kimsenin hiçbir veriyi değiştiremeyeceği garanti altındadır. Toplu hareketlerle ilgili daha ayrıntılı bilgi için veritabanı sunucunuzun belgelerine bakınız.


Hazır deyimler ve Saklı Yordamlar

Genellikle gelişkin veritabanlarınca desteklenen, hazır deyimler diye bilinen bir kavram vardır. Bunlar nedir? Bunları bir takım bağımsız değişkenlerle özelleştirilebilen, SQL için derlenmiş şablonlar olarak düşünebilirsiniz. Hazır deyimlerin başlıca iki yararı vardır:

  • Sorgunun tek bir defa çözümlenmesi (veya hazırlanması) gerekir fakat aynı veya farklı bağımsız değişkenlerle defalarca çalıştırılabilir. Sorgu hazır olduğunda veritabanınca incelenir, derlenip sorgunun amacına uygun olarak en iyilenir. Karmaşık sorgularda aynı sorguyu farklı bağımsız değişkenlerle defalarca yineleyecekseniz işlemler, uygulamanızı farkedilir şekilde yavaşlatacak kadar uzun sürebilir. Hazır deyimleri kullanarak her yinelemede tekrarlanan inceleme/derleme/eniyileme döngüsünden kurtulabilirsiniz. Özetle, hazır deyimler daha az özkaynak kullandığından daha hızlı çalışır.
  • Hazır deyim bağımsız değişkenlerinin öncelenmesi gerekmez. Bu işlemi sürücüler sizin yerinize yapar. Uygulamanız özellikle hazır deyimleri kullanıyorsa hiçbir SQL zerkinin olmayacağından emin olabilirsiniz. (Ancak, sorgunun diğer parçaları öncelenmemiş girdiler içeriyorsa hala risk altındasınız demektir.)

Hazır deyimleri kullanmanın bir başka yararı da bunları desteklemeyen sürücüler için PDO'nun bu özelliği taklit etmesidir (PDO'nun taklit ettiği tek özellik budur). Böylece aynı veri erişim uygulamasını veritabanınızın yeteneklerinden bağımsız olarak kullanabilirsiniz.

Örnek 1 - Hazır deyimlerle bağımsız değişken ismine göre veri girişi

Bu örnekte isim ve deger alanlarına bağımsız değişkenlerin isimlerine göre bir INSERT sorgusu ile defalarca veri girilmektedir.

<?php
$deyim = $dbh->prepare(
"INSERT INTO KUTUK (isim, deger) VALUES (:isim, :deger)");
$deyim->bindParam(':isim', $isim);
$deyim->bindParam(':değer', $değer);

// bir satıra veri girelim
$isim = 'bir';
$değer = 1;
$deyim->execute();

// farklı değerlerle bir satır daha girelim
$isim = 'iki';
$değer = 2;
$deyim->execute();
?>

Örnek 2 - Hazır deyimlerle bağımsız değişken indisine göre veri girişi

Bu örnekte isim ve deger alanlarına bağımsız değişkenlerin indislerine göre bir INSERT sorgusu ile defalarca veri girilmektedir.

<?php
$deyim = $dbh->prepare("INSERT INTO KUTUK (isim, değer) VALUES (?, ?)");
$deyim->bindParam(1, $isim);
$deyim->bindParam(2, $değer);

// bir satıra veri girelim
$isim = 'bir';
$değer = 1;
$deyim->execute();

// farklı değerlerle bir satır daha girelim
$isim = 'iki';
$değer = 2;
$deyim->execute();
?>

Örnek 3 - Hazır deyimle veri almak

Bu örnekte bir formdan sağlanan bir anahtar değere dayanarak veritabanından veri alınmaktadır. Kullanıcı girdisi otomatik olarak öncelenmekte, dolayısıya bir SQL zerki riski ortaya çıkmamaktadır.

<?php
$deyim = $dbh->prepare("SELECT * FROM KUTUK where isim = ?");
$deyim->execute([$_GET['isim']]);
foreach ($deyim as $satır) {
print_r($satır);
}
?>

Örnek 4 - Bir saklı yordamın çıktı bağımsız değişkeni ile kullanımı

Eğer veritabanı sürücüsü bağımsız değişken ilişkilendirmeyi destekiyorsa bağımsız değişkenleri sadece girdide değil çıktıda da bağımsız değişkenlerle ilişkilendirebilirsiniz. Çıktı bağımsız değişkenlerinin kullanımı girdi bağımsız değişkenlerine göre daha karmaşıktır. Böyle bir durumda ilişkilendirdiğiniz bağımsız değişken sayısını bilmeniz gerekir. Eğer dönen değer önerdiğinizden daha büyükse bir hata oluşur.

<?php
$deyim = $dbh->prepare("CALL sy_dizge_döndürür(?)");
$deyim->bindParam(1, $dönen_değer, PDO::PARAM_STR, 4000);

// saklı yordamı çağıralım
$deyim->execute();

print "dönen değer: $dönen_değer\n";
?>

Örnek 5 - Bir saklı yordamın girdi/çıktı bağımsız değişkeni ile kullanımı

Ayrıca, değerleri tutan bağımsız değişkenleri hem girdi hem de çıktı için kullanabilirsiniz. Sonraki örnekte, saklı yordama 'merhaba' dizgesi aktarılmakta, yordam döndüğünde 'merhaba' yerine yordamın dönüş değeri yerleştirilmektedir.

<?php
$deyim = $dbh->prepare("CALL sy_dizge_alır_dizge_döndürür(?)");
$değer = 'merhaba';
$deyim->bindParam(1, $değer, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);

// saklı yordamı çağıralım
$deyim->execute();

print "dönen değer: $değer\n";
?>

Örnek 6 - Geçersiz bağımsız değişken kullanımı

<?php
$deyim = $dbh->prepare("SELECT * FROM KUTUK where isim LIKE '%?%'");
$deyim->execute([$_GET['isim']]);

// bağımsız değişken değerin bütünün yerine kullanılmalı
$deyim = $dbh->prepare("SELECT * FROM KUTUK where isim LIKE ?");
$deyim->execute(["%$_GET[isim]%"]);
?>


Hatalar ve Ele Alınışları

PDO eklentisi uygulama geliştirme tarzınıza uygun olarak üç farklı hata işleme yönteminden birini seçmenize olanak verir.

  • PDO::ERRMODE_SILENT

    PHP 8.0.0 öncesinde bu öntanımlı kipti. PDO, gerek veritabanı gerekse deyim nesneleri üzerinde PDO::errorCode() ve PDO::errorInfo() işlevlerini kullanarak hata kodunu sizin için hazır hale getirir. Eğer hata bir deyim nesnesiyle ilgili bir işlev veya yöntem çağrısından kaynaklanmışsa bu nesne üzerinde PDOStatement::errorCode() veya PDOStatement::errorInfo() işlevini kendiniz çağırmalısınız. Eğer hata bir veritabanı nesnesiyle ilgili bir işlev veya yöntem çağrısından kaynaklanmışsa bu işlevleri bu kez veritabanı nesnesi üzerinde çağırmalısınız.

  • PDO::ERRMODE_WARNING

    Hata kodu ayarlarına ek olarak, PDO geleneksel bir E_WARNING uyarısı da verir. Bu kip, hata ayıklama ve denemeler sırasında uygulama akışının kesilmeden oluşan sorunları görmek için kullanışlıdır.

  • PDO::ERRMODE_EXCEPTION

    PHP 8.0.0 öncesinde bu öntanımlı kipti. Hata kodu ayarlarına ek olarak, PDO bir PDOException istisnası yavrulayıp hata kodunu ve iletisini nesnenin özelliklerine yerleştirir. Bu kip de hata ayıklama sırasında uygulama akışının kesilmeden oluşan sorunları çabucak görüp müdahale etmek için kullanışlıdır. (Dikkat: Eğer istisna betiğin sonlanmasına sebep olursa veri hareketleri (transactions) otomatik olarak başa sarılır.)

    Bu kip bir istisna nesnesi ile çalıştığından, hataların, her veritabanı çağrısında dönen değere bakmaktan, sessiz kipi kullanmaktan ve geleneksel PHP tarzı uyarılardan daha iyi ve daha kolay işleme sokulmasını sağlar.

    PHP'deki istisna nesneleri hakkında bilgi edinmek için İstisnalar bölümüne bakınız.

PDO SQL-92 SQLSTATE hata kodu dizgelerinin kulanımını standartlaştırmıştır; her PDO sürücüsü kendi kodunu SQLSTATE kodlarına uydurmakla yükümlüdür. PDO::errorCode() yöntemi tek bir SQLSTATE kodu döndürür. Bir hata ile ilgili daha özel bilgiye gerek duyulursa, SQLSTATE kodundan başka sürücüye özgü hata kodunu ve iletisini içeren bir dizi döndüren PDO::errorInfo() yöntemi kullanılabilir.

Örnek 1 - PDO örneği oluşturup hata kipini atamak

<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// BU PDO'un PDOException yavrulamasına sebep olur (tablo yoksa)
$dbh->query("SELECT wrongcolumn FROM wrongtable");

?>

Yukarıdaki örneğin çıktısı:

Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'testdb.wrongtable' doesn't exist in /tmp/pdo_test.php:10
Stack trace:
#0 /tmp/pdo_test.php(10): PDO->query('SELECT wrongcol...')
#1 {main}
  thrown in /tmp/pdo_test.php on line 10

Bilginize:

Eğer bağlantı başarısız olursa, hangi PDO::ATTR_ERRMODE hata kipinin atanmış olduğuna bakmaksızın PDO::__construct() daima bir PDOException yavrular.

Örnek 2 - PDO örneği oluşturup kurucudaki hata kipini atamak

<?php
$dsn = 'mysql:dbname=test;host=127.0.0.1';
$user = 'googleguy';
$password = 'googleguy';

$dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));

// Bu, PDO'nun bir istisna yerine E_WARNING seviyesinde bir hata
// yavrulamasına sebep olur (tablo mevcut olmadığında)
$dbh->query("SELECT wrongcolumn FROM wrongtable");
?>

Yukarıdaki örneğin çıktısı:

Warning: PDO::query(): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.wrongtable' doesn't exist in
/tmp/pdo_test.php on line 9


Büyük Veri Nesneleri (LOB'lar)

Uygulamanızın bir yerinde veritabanınızda büyük müktarda veri saklamanız gerekebilir. Burada büyük veriden kasıt 4kB civarı olsa da bazı veritabanları için büyük veri 32kB'tan başlar. Büyük veriler ikil veya dizgesel olabilir. PDOStatement::bindParam() ve PDOStatement::bindColumn() çağrılarında büyük verilerlerle çalışmak için PDO::PARAM_LOB veri türünü kullanabilirsiniz. PDO::PARAM_LOB, verinin bir akım olarak eşleneceği anlamına gelir. Dolayısıyla, bu veriler üzerinde PHP Akım işlevleri ile işlem yapabilirsiniz.

Örnek 1 - Veritabanındaki bir resmin gösterilmesi

Bu örnekte bir LOB, $lob değişkeni ile ilişkilendirilmekte ve
fpassthru() üzerinden tarayıcıya gönderilmektedir. LOB
bir akımla temsil edildiğinden fgets(),
fread() ve stream_get_contents()
gibi işlevlerle üzerinde işlem yapabilirsiniz.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: $type");
fpassthru($lob);
?>

Örnek 2 - Bir resmin veritabanına yerleştirilmesi

Bu örnekte bir dosya açılıp, bir LOB olarak veritabanına yerleştirilmek üzere, dosya tanıtıcısı PDO'ya aktarılmaktadır. PDO, dosya içeriğini veritabanına yerleştirme işlemini en verimli şekilde yapacaktır.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // Yeni bir kimlik ayıran bir işlev

// Resmin bir dosya yükleme formundan geldiğini varsayıyoruz
// PHP belgelerinde bu konuda ayrıntılı bilgi bulabilirsiniz

$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>

Örnek 3 - Oracle'da bir resmi veritabanına yerleştirmek

Oracle, bir LOB'u bir dosyadan alıp veritabanına yerleştirirken farklı bir sözdizimi kullanımını gerektirir. Esas olarak, yerleştirme işlemi bir toplu hareket olarak gerçekleştirilir. Böyle yapılmazsa oluşturulan LOB, sorgu çalıştırıldığında örtük olarak sıfır uzunluklu bir veri girişinin parçası haline gelir.

<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");

$id = get_new_id(); // Yeni bir kimlik ayıran bir işlev

// Resmin bir dosya yükleme formundan geldiğini varsayıyoruz
// PHP belgelerinde bu konuda ayrıntılı bilgi bulabilirsiniz
$fp = fopen($_FILES['file']['tmp_name'], 'rb');

$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

$db->beginTransaction();
$stmt->execute();
$db->commit();
?>


PDO sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

Giriş

PHP ile bir veritabanı sunucusu arasındaki bağlantıyı temsil eder.

Sınıf Sözdizimi

class PDO {
/* Sabitler */
public const int PARAM_NULL;
public const int PARAM_BOOL = 5;
public const int PARAM_INT = 1;
public const int PARAM_STR = 2;
public const int PARAM_LOB = 3;
public const int PARAM_STMT = 4;
public const int PARAM_INPUT_OUTPUT;
public const int PARAM_STR_NATL;
public const int PARAM_STR_CHAR;
public const int PARAM_EVT_ALLOC;
public const int PARAM_EVT_FREE;
public const int PARAM_EVT_EXEC_PRE;
public const int PARAM_EVT_EXEC_POST;
public const int PARAM_EVT_FETCH_PRE;
public const int PARAM_EVT_FETCH_POST;
public const int PARAM_EVT_NORMALIZE;
public const int FETCH_DEFAULT;
public const int FETCH_LAZY;
public const int FETCH_ASSOC;
public const int FETCH_NUM;
public const int FETCH_BOTH;
public const int FETCH_OBJ;
public const int FETCH_BOUND;
public const int FETCH_COLUMN;
public const int FETCH_CLASS;
public const int FETCH_INTO;
public const int FETCH_FUNC;
public const int FETCH_GROUP;
public const int FETCH_UNIQUE;
public const int FETCH_KEY_PAIR;
public const int FETCH_CLASSTYPE;
public const int FETCH_SERIALIZE;
public const int FETCH_PROPS_LATE;
public const int FETCH_NAMED;
public const int ATTR_AUTOCOMMIT;
public const int ATTR_PREFETCH;
public const int ATTR_TIMEOUT;
public const int ATTR_ERRMODE;
public const int ATTR_SERVER_VERSION;
public const int ATTR_CLIENT_VERSION;
public const int ATTR_SERVER_INFO;
public const int ATTR_CONNECTION_STATUS;
public const int ATTR_CASE;
public const int ATTR_CURSOR_NAME;
public const int ATTR_CURSOR;
public const int ATTR_ORACLE_NULLS;
public const int ATTR_PERSISTENT;
public const int ATTR_STATEMENT_CLASS;
public const int ATTR_FETCH_TABLE_NAMES;
public const int ATTR_FETCH_CATALOG_NAMES;
public const int ATTR_DRIVER_NAME;
public const int ATTR_STRINGIFY_FETCHES;
public const int ATTR_MAX_COLUMN_LEN;
public const int ATTR_EMULATE_PREPARES;
public const int ATTR_DEFAULT_FETCH_MODE;
public const int ATTR_DEFAULT_STR_PARAM;
public const int ERRMODE_SILENT;
public const int ERRMODE_WARNING;
public const int ERRMODE_EXCEPTION;
public const int CASE_NATURAL;
public const int CASE_LOWER;
public const int CASE_UPPER;
public const int NULL_NATURAL;
public const int NULL_EMPTY_STRING;
public const int NULL_TO_STRING;
public const string ERR_NONE;
public const int FETCH_ORI_NEXT;
public const int FETCH_ORI_PRIOR;
public const int FETCH_ORI_FIRST;
public const int FETCH_ORI_LAST;
public const int FETCH_ORI_ABS;
public const int FETCH_ORI_REL;
public const int CURSOR_FWDONLY;
public const int CURSOR_SCROLL;
/* Yöntemler */
public __construct(
string $dsn,
?string $kullanıcı = null,
?string $parola = null,
?array $seçenekler = null
)
public beginTransaction(): bool
public commit(): bool
public errorCode(): ?string
public errorInfo(): array
public exec(string $deyim): int|false
public getAttribute(int $öznitelik): mixed
public static getAvailableDrivers(): array
public inTransaction(): bool
public lastInsertId(?string $isim = null): string|false
public prepare(string $deyim, array $seçenekler = []): PDOStatement|false
public query(string $deyim, ?int $getirme_kipi = null): PDOStatement|false
public query(string $deyim, ?int $getirme_kipi = PDO::FETCH_COLUMN, int $sütun_num): PDOStatement|false
public query(
string $deyim,
?int $getirme_kipi = PDO::FETCH_CLASS,
string $sınıf_adı,
array $kurucu_bağımsız değişkenleri
): PDOStatement|false
public query(string $deyim, ?int $getirme_kipi = PDO::FETCH_INTO, object $nesne): PDOStatement|false
public quote(string $dizge, int $tür = PDO::PARAM_STR): string|false
public rollBack(): bool
public setAttribute(int $öznitelik, mixed $değer): bool
}

İçindekiler

  • PDO::beginTransaction — Bir toplu hareketi ilklendirir
  • PDO::commit — Bir toplu hareketi veritabanına gönderir
  • PDO::__construct — Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur
  • PDO::errorCode — Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
  • PDO::errorInfo — Veritabanındaki son işlemle ilgili hata bilgisini döndürür
  • PDO::exec — Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
  • PDO::getAttribute — Bir veritabanı bağlantı özniteliğinin değerini döndürür
  • PDO::getAvailableDrivers — Kullanılabilen PDO sürücülerini içeren bir dizi döndürür
  • PDO::inTransaction — Checks if inside a transaction
  • PDO::lastInsertId — Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür
  • PDO::prepare — Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDO::query — Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
  • PDO::quote — Bir sorguda kullanılmak üzere bir dizgeyi önceler
  • PDO::rollBack — Bir toplu hareketi geri alır
  • PDO::setAttribute — Bir öznitelik tanımlar


Bir toplu hareketi ilklendirir

  • « PDO
  • PDO::commit »
  • PHP Manual
  • PDO
  • Bir toplu hareketi ilklendirir

PDO::beginTransaction

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::beginTransaction — Bir toplu hareketi ilklendirir

Açıklama

public PDO::beginTransaction(): bool

Ototeslim kipini kapatır. Otomatik kip kapalıyken PDO nesne örneği üzerinden veritabanında yapılan değişiklikler PDO::commit() çağrısı ile toplu hareket tamamlanmadan veritabanında bir değişikliğe yol açmaz. Toplu hareketlerle yapılan değişiklikleri geri almak ve tekrar otomatik kipe dönmek için PDO::rollBack() yöntemini kullanabilirsiniz.

MySQL dahil bazı veritabanları, bir toplu hareketin içinde DROP TABLE veya CREATE TABLE gibi bir veritabanı tanımlama dili deyimi kullanıldığında otomatik olarak örtük bir PDO::commit() yaparlar. Örtük PDO::commit(), toplu hareket içindeki diğer değişikliklerin de geri alınmasına engeller.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Hareket zaten başlatılmışsa veya sürücü hareketleri desteklemiyorsa bir PDOException istisnası yavrulanır.

Bilginize: PDO::ATTR_ERRMODE niteliği PDO::ERRMODE_EXCEPTION değilse bile bir istisna yavrulanır.

Örnekler

Örnek 1 - Bir toplu hareketi geri almak

Aşağıdaki örnekte bir toplu hareket başlatılmakta, değişiklikler geri alınmadan önce iki deyim çalıştırılmaktadır. Ancak, MySQL'de DROP TABLE deyimi otomatik bir PDO::commit() çağrısına sebep olduğundan bu deyimden önce toplu hareket dahilinde yapılan hiçbir hareket geri alınamaz.

<?php
/* Ototeslim kipini kapatıp bir toplu hareket başlatalım */
$dbh->beginTransaction();

/* Veritabanı şemasını ve verisini değiştirelim */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");

/* Yanlışı farkedip hareketleri geri alıyoruz */
$dbh->rollBack();

/* Veritabanı bağlantısı tekrar ototeslim kipinde. */
?>

Ayrıca Bakınız

  • PDO::commit() - Bir toplu hareketi veritabanına gönderir
  • PDO::rollBack() - Bir toplu hareketi geri alır
  • Hareketler ve Ototeslim


Bir toplu hareketi veritabanına gönderir

  • « PDO::beginTransaction
  • PDO::__construct »
  • PHP Manual
  • PDO
  • Bir toplu hareketi veritabanına gönderir

PDO::commit

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::commit — Bir toplu hareketi veritabanına gönderir

Açıklama

public PDO::commit(): bool

Bir toplu hareketi veritabanına gönderir ve bir PDO::beginTransaction() çağrısı ile yeni bir toplu hareket başlatılıncaya kadar geçerli olmak üzere bağlantıyı ototeslim kipine sokar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Etkin bir hareket yoksa bir PDOException yavrulanır.

Bilginize: PDO::ATTR_ERRMODE niteliği PDO::ERRMODE_EXCEPTION değilse bile bir istisna yavrulanır.

Örnekler

Örnek 1 - Temel bir hareket teslimatı

<?php
/* Ototeslim kipini kapatıp bir hareket başlatalım */
$dbh->beginTransaction();

/* Çok sayıda kaydı ya hep ya hiç deyip veritabanına yerleştirelim */
$sql = 'INSERT INTO fruit
(name, colour, calories)
VALUES (?, ?, ?)';

$sth = $dbh->prepare($sql);

foreach ($fruits as $fruit) {
$sth->execute(array(
$fruit->name,
$fruit->colour,
$fruit->calories,
));
}

/* Değişiklikleri teslim edelim */
$dbh->commit();

/* Veritabanı bağlantısı tekrar ototeslim kipinde */
?>

Örnek 2 - Bir toplu hareketin teslim edilmesi

<?php
/* Ototeslim kipini kapatıp bir toplu hareket başlatalım */
$dbh->beginTransaction();

/* Veritabanı şemasını değiştirelim */
$sth = $dbh->exec("DROP TABLE fruit");

/* Değişiklikleri etkin kılalım */
$dbh->commit();

/* Veritabanı bağlantısı tekrar ototeslim kipinde. */
?>

Bilginize: (VTD: Veri Tanımlama Dili - ing: DDL) Tüm veritabanları hareketlerin VTD deyimleri üzerine işlem yapmasına izin vermez: Bazıları hata üretir, bazıları da (MySQL dahil) ilk VTD deyimine rastladığı anda hareketi otomatikman teslim eder.

Ayrıca Bakınız

  • PDO::beginTransaction() - Bir toplu hareketi ilklendirir
  • PDO::rollBack() - Bir toplu hareketi geri alır


Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur

  • « PDO::commit
  • PDO::errorCode »
  • PHP Manual
  • PDO
  • Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur

PDO::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::__construct — Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur

Açıklama

public PDO::__construct(
string $dsn,
?string $kullanıcı = null,
?string $parola = null,
?array $seçenekler = null
)

Belirtilen veritabanına kurulan bağlantıyı temsil eden bir PDO nesnesi oluşturur.

Bağımsız Değişkenler

dsn

Veritabanına bağlantı için gerekli bilgiyi içeren veri kaynağının ismi.

Genellikle bir veri kaynağı ismi, aralarında bir noktalı virgül bulunan sürücü ismi ile PDO sürücüsüne özgü bağlantı sözdiziminden oluşur. Bu konuda daha ayrıntılı bilgiyi PDO Sürücüleri sayfasında bulabilirsiniz.

dsn bağımsız değişkeni, bir veritabanı bağlantısı oluşturmak için gereken üç farklı yöntemi destekler:

Sürücü isteği

dsn bağımsız değişkeni, veri kaynağı ismi için gereken herşeyi içerir.

URI isteği

dsn bağımsız değişkeni, uri: sözcüğünü takibeden, veri kaynağı isim dizgesini içeren bir dosyanın yerini belirten bir özkaynak betimleyicisi içerir.

uri:file:///bir/yol/dsndosyası

Takma ad kullanımı

dsn bağımsız değişkeni, php.ini içinde DSN dizgesini tanımlayan pdo.dsn.isim ile eşleşen isim adını içerir.

Bilginize:

Takma ad, .htaccess veya httpd.conf dosyasında değil php.ini dosyasında tanımlanmış olmalıdır.

kullanıcı

DSN dizgesi için kullanıcı ismi. Bu bağımsız değişkenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.

parola

DSN dizgesi için parola. Bu bağımsız değişkenin belirtilmesi bazı PDO sürücüleri için isteğe bağlıdır.

seçenekler

Sürücüye özgü bağlantı seçeneklerini içeren bir isim=>değer çiftleri dizisi.

Hatalar/İstisnalar

PDO::__construct(), istenen veritabanına bağlantı sağlanamazsa, o an hangi PDO::ATTR_ERRMODE geçerli bakmaksızın, bir PDOException yavrulanır.

Örnekler

Örnek 1 - Sürücü isteğiyle PDO örneğinin oluşturulması

<?php
/* Sürücü isteğiyle bir MySQL veritabanına bağlanalım */
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);

?>

Örnek 2 - URI isteğiyle PDO örneğinin oluşturulması

Aşağıdaki örnekte PHP'nin /usr/local/dbconnect dosyasını okuma iznine sahip olduğu varsayılmıştır. Dosya, PDO_ODBC sürücüsü üzerinden bir DB2 veritabanına bağlanmak için gereken şu bilgiyi içermektedir:

odbc:DSN=SAMPLE;UID=birey;PWD=parola

Bu dosyanın yerini içeren bir uri: dizgesi ile veritabanı bağlantısı oluşturulabilir:

<?php
/* URI isteğiyle bir ODBC veritabanına bağlanalım */
$dsn = 'uri:file:///usr/local/dbconnect';
$user = '';
$password = '';

$dbh = new PDO($dsn, $user, $password);
?>

Örnek 3 - Bir takma ad kullanarak PDO örneğinin oluşturulması

Aşağıdaki örnekte, php.ini dosyasının bir MySQL veritabanına bağlantı kurmak için mydb adını takma ad olarak kullamayı mümkün kılan şöyle bir girdi içerdiği varsayılmıştır:

[PDO]
pdo.dsn.mydb="mysql:dbname=testdb;host=localhost"
<?php
/* Bir takma ad kullanarak bir ODBC veritabanına bağlanalım */
$dsn = 'mydb';
$user = '';
$password = '';

$dbh = new PDO($dsn, $user, $password);
?>


Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür

  • « PDO::__construct
  • PDO::errorInfo »
  • PHP Manual
  • PDO
  • Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür

PDO::errorCode

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::errorCode — Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür

Açıklama

public PDO::errorCode(): ?string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ANSI SQL-92 standardında tanımlanan beş karakterlik abecesayısal bir hata tanıtıcısı (SQLSTATE) döndürür. Bir SQLSTATE iki karakterlik ana hata sınıfı değerinin ardına eklenmiş üç karakterlik alt sınıf değerinden oluşur. 01 ana sınıf değeri bir uyarı belirtir ve SQL_SUCCESS_WITH_INFO dönüş kodu ile birlikte bulunur. '01' ve 'IM' sınıfları dışındaki tüm sınıf değerleri bir hata belirtir. 'IM' sınıfı PDO gerçekleniminden (ve ODBC sürücüsünü kullanıyorsanız ODBC'den) türetilen uyarılar ve hatalar ile ilgilidir. Herhangi bir sınıfın '000' alt sınıf değeri o SQLSTATE için bir alt sınıfın olmadığını belirtir.

PDO::errorCode() sadece doğrudan veritabanı tanıtıcısında yürütülen işlemlerin hata kodlarını döndürür. PDO::prepare() veya PDO::query() ile bir PDOStatement nesnesi oluşturup deyim tanıtıcısı üzerinde oluşan bir hatayla ilgili bilgi alacaksanız PDOStatement::errorInfo() yöntemini kullanmalısınız.

Veritabanı tanıtıcısında yürütülmüş bir işlem yoksa null döner.

Örnekler

Örnek 1 - Bir SQLSTATE kodunun döndürülmesi

<?php
/* Bir hata oluşturalım --BONES diye bir tablo olmasın */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo "\nPDO::errorCode(): ", $dbh->errorCode();
?>

Yukarıdaki örneğin çıktısı:

PDO::errorCode(): 42S02

Ayrıca Bakınız

  • PDO::errorInfo() - Veritabanındaki son işlemle ilgili hata bilgisini döndürür
  • PDOStatement::errorCode() - Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür
  • PDOStatement::errorInfo() - Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür


Veritabanındaki son işlemle ilgili hata bilgisini döndürür

  • « PDO::errorCode
  • PDO::exec »
  • PHP Manual
  • PDO
  • Veritabanındaki son işlemle ilgili hata bilgisini döndürür

PDO::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::errorInfo — Veritabanındaki son işlemle ilgili hata bilgisini döndürür

Açıklama

public PDO::errorInfo(): array

Veritabanındaki son işlemle ilgili hata bilgisini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Veritabanındaki son işlemle ilgili hata bilgisini içeren bir dizi döndürür. Dizi en azından şu alanları içerir:

Eleman | Bilgi
0 | SQLSTATE hata kodu (ANSI SQL standardında tanımlanmış beş karakterlik abecesayısal bir tanıtıcı).
1 | Sürücüye özgü hatanın kodu.
2 | Sürücüye özgü hatanın iletisi.

Bilginize:

SQLSTATE hata kodu atanmamışsa veya sürücüye özgü hata kodu yoksa 0. eleman hariç bütün elemanlar null içerir.

PDO::errorInfo() yöntemi sadece veritabanına doğrudan uygulanan işlemlerin hata bilgisini döndürür. PDO::prepare() veya PDO::query() ile bir PDOStatement nesnesi oluşturup deyim tanıtıcısı üzerinde oluşan bir hatayla ilgili bilgi alacaksanız PDOStatement::errorInfo() yöntemini kullanmalısınız.

Örnekler

Örnek 1 - Bir DB2 veiitabanına kurulan bir PDO_ODBC bağlantısıyla ilgili hata bilgisinin gösterilmesi

<?php
/* Bir hata oluşturalım -- hatalı bir SQL sözdizimi */
$stmt = $dbh->prepare('bozuk sql');
if (!$stmt) {
echo "\nPDO::errorInfo():\n";
print_r($dbh->errorInfo());
}
?>

Yukarıdaki örneğin çıktısı:

PDO::errorInfo():
Array
(
    [0] => HY000
    [1] => 1
    [2] => near "bozuk": syntax error
)

Ayrıca Bakınız

  • PDO::errorCode() - Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
  • PDOStatement::errorCode() - Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür
  • PDOStatement::errorInfo() - Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür


Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür

  • « PDO::errorInfo
  • PDO::getAttribute »
  • PHP Manual
  • PDO
  • Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür

PDO::exec

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::exec — Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür

Açıklama

public PDO::exec(string $deyim): int|false

PDO::exec() belirtilen SQL deyimini tek bir işlev çağrısıyla çalıştırır ve deyimden etkilenen satırların sayısını döndürür.

PDO::exec() yöntemi bir SELECT deyiminin sonucunu döndürmez. Bir SELECT deyimini uygulamanız boyunca sadece bir defa çalıştıracaksanız PDO::query() yöntemini kullanabilirsiniz. Defalarca çalıştıracaksanız PDO::prepare() ile bir PDOStatement nesnesi hazırlayıp bunu PDOStatement::execute() ile çalıştırabilirsiniz.

Bağımsız Değişkenler

deyim

Hazırlanıp çalıştırılacak SQL deyimi.

Sorgunun içindeki verinin gerektiği gibi öncelenmesi gerekir.

Dönen Değerler

PDO::exec() işlevi çalıştırılan SQL deyimiyle silinen veya değiştirilen satırların sayısını döndürür. Etkilenen satır yoksa PDO::exec() 0 döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Aşağıda, dönüş değerinin yanlış ele alındığı bir örneğe yer verilmiştir. Etkilenen satır sayısı 0 olduğu halde die() işlevi çağrılmaktadır:

<?php
$db->exec() or die(print_r($db->errorInfo(), true));// yanlış
?>

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Bir DELETE deyiminin çalıştırılması

Bir DELETE deyimiyle silinen satır sayısının öğrenilmesi.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* FRUIT tablosundaki tüm satırları silelim */
$count = $dbh->exec("DELETE FROM fruit");

/* Silinen satır sayısını döndürelim */
print("$count satır silindi.\n");
?>

Yukarıdaki örneğin çıktısı:

1 satır silindi.

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır


Bir veritabanı bağlantı özniteliğinin değerini döndürür

  • « PDO::exec
  • PDO::getAvailableDrivers »
  • PHP Manual
  • PDO
  • Bir veritabanı bağlantı özniteliğinin değerini döndürür

PDO::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDO::getAttribute — Bir veritabanı bağlantı özniteliğinin değerini döndürür

Açıklama

public PDO::getAttribute(int $öznitelik): mixed

Bir veritabanı bağlantı özniteliğinin değerini döndürür.

Bazı veritabanı/sürücü çiftlerinin veritabanı bağlantı özniteliklerinin tamamını desteklemeyebileceği unutulmamalıdır.

Bağımsız Değişkenler

öznitelik

PDO::ATTR_* sabitlerinden biri. Sabitlerin açıklamaları için Öntanımlı Sabitler sayfasında bulunabilir. Veritabanı bağlantılarına uygulanabilecek sürücüye özgü sabitler:

  • PDO::ATTR_AUTOCOMMIT
  • PDO::ATTR_CASE
  • PDO::ATTR_CLIENT_VERSION
  • PDO::ATTR_CONNECTION_STATUS
  • PDO::ATTR_DRIVER_NAME
  • PDO::ATTR_ERRMODE
  • PDO::ATTR_ORACLE_NULLS
  • PDO::ATTR_PERSISTENT
  • PDO::ATTR_PREFETCH
  • PDO::ATTR_SERVER_INFO
  • PDO::ATTR_SERVER_VERSION
  • PDO::ATTR_TIMEOUT

Bazı sürücüler sürücüye özgü "ek" öznitelikleri kullanamayabilir. Sürücüye özgü özniteliklerin başka sürücülerde kullanılmamasına ise özellikle dikkat edilmelidir.

Dönen Değerler

Başarısızlık durumunda null yoksa istenen PDO özniteliğinin değerini döndürür.

Örnekler

Örnek 1 - Veritabanı bağlantı özniteliklerinin öğrenilmesi

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
"AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
"ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
"TIMEOUT"
);

foreach ($attributes as $val) {
echo "PDO::ATTR_$val: ";
echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Ayrıca Bakınız

  • PDO::setAttribute() - Bir öznitelik tanımlar
  • PDOStatement::getAttribute() - Bir deyim özniteliğini döndürür
  • PDOStatement::setAttribute() - Bir deyim özniteliğini tanımlar


Kullanılabilen PDO sürücülerini içeren bir dizi döndürür

  • « PDO::getAttribute
  • PDO::inTransaction »
  • PHP Manual
  • PDO
  • Kullanılabilen PDO sürücülerini içeren bir dizi döndürür

PDO::getAvailableDrivers

pdo_drivers

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.3)

PDO::getAvailableDrivers -- pdo_drivers — Kullanılabilen PDO sürücülerini içeren bir dizi döndürür

Açıklama

public static PDO::getAvailableDrivers(): array
pdo_drivers(): array

PDO::__construct() yönteminin DSN bağımsız değişkeninde kullanılabilen PDO sürücülerinin listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

PDO::getAvailableDrivers() yöntemi PDO sürücü isimlerini içeren bir dizi döndürür. Hiç sürücü yoksa boş bir dizi döner.

Örnekler

Örnek 1 - PDO::getAvailableDrivers() örneği

<?php
print_r(PDO::getAvailableDrivers());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql
    [1] => sqlite
)


Checks if inside a transaction

  • « PDO::getAvailableDrivers
  • PDO::lastInsertId »
  • PHP Manual
  • PDO
  • Checks if inside a transaction

PDO::inTransaction

(PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7, PHP 8)

PDO::inTransaction — Checks if inside a transaction

Açıklama

public PDO::inTransaction(): bool

Checks if a transaction is currently active within the driver. This method only works for database drivers that support transactions.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if a transaction is currently active, and false if not.


Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür

  • « PDO::inTransaction
  • PDO::prepare »
  • PHP Manual
  • PDO
  • Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür

PDO::lastInsertId

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::lastInsertId — Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür

Açıklama

public PDO::lastInsertId(?string $isim = null): string|false

Sürücüye bağlı olarak, yerleştirilen son satırın veya bir sıralama nesnesindeki son değerin kimliğini döndürür. Örneğin, PDO_PGSQL isim bağımsız değişkeninde bir sıralama nesnesi ismi belirtilmesini gerektirir.

Bilginize:

Bu yöntem, sıralı veya otomatik artan alanlarla ilgili desteğin bulunmadığı veritabanları için anlamlı veya tutarlı bir sonuç döndüremeyebilir.

Bağımsız Değişkenler

isim

Kimliği döndürülecek sırama nesnesinin ismi.

Dönen Değerler

isim bağımsız değişkeninde bir sıralama nesnesi ismi belirtilmezse PDO::lastInsertId(), veritabanına son yerleştirilen satırın satır kimliğini bir dizge olarak döndürür.

isim bağımsız değişkeninde bir sıralama nesnesi ismi belirtilmişse PDO::lastInsertId(), sıralama nesnesinden alınan son değeri ifade eden bir dizge döndürür.

PDO sürücüsü bu özelliği desteklemiyorsa PDO::lastInsertId() bir IM001 durumu (SQLSTATE) tetikler.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.


Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür

  • « PDO::lastInsertId
  • PDO::query »
  • PHP Manual
  • PDO
  • Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür

PDO::prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >= 0.1.0)

PDO::prepare — Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür

Açıklama

public PDO::prepare(string $deyim, array $seçenekler = []): PDOStatement|false

PDOStatement::execute() yöntemi ile çalıştırılmak üzere bir SQL deyimi hazırlar. Deyim şablonu sıfır veya daha fazla sayıda birer isimle (:isim) veya birer soru imi (?) ile ifade edilen bağımsız değişken içerebilir. Deyimin çalıştırılması sırasında bu bağımsız değişkenlere farklı değerler atanarak aynı deyim defalarca kullanılabilir. Aynı deyim şablonunda hem isimli hem de soru imli bağımsız değişkenleri kullanamazsınız. İkisinden birini seçmek zorundasınız. Herhangi bir kullanıcı girişini bağlamak için bu bağımsız değişkenleri kullanın, kullanıcı girişini doğrudan sorguya dahil etmeyin.

PDOStatement::execute() işlevinde aktaracağınız her değer için eşsiz bir bağımsız değişken imleyici belirtmelisiniz. Öykünme kipi açık olmadığı sürece, hazırlanmış bir ifadede aynı ismi birden fazla isimli bağımsız değişken işaretçisinde kullanamazsınız.

Bilginize:

Bağımsız değişken işaretçileri yalnızca eksiksiz bir değişmez veriyi temsil edebilir. Ne değişmez parçasının, ne anahtar sözcük, ne tanımlayıcı ne de herhangi bir keyfi sorgu parçasının bağımsız değişken kullanılarak bağlanması mümkün değildir. Örneğin, bir SQL ifadesinin IN() yan tümcesinde tek bir bağımsız değişkene birden çok değer bağlayamazsınız.

Bir SQL deyiminin farklı değerlerle defalarca çalıştırılmak üzere PDO::prepare() ve PDOStatement::execute() yöntemlerine aktarılması, bu SQL deyimiyle ilgili sorgu planının ve temel verilerin müzakere edilmek üzere sürücü tarafından istemci ve/veya sunucu tarafında önbelleklemesiyle uygulamanızın başarımını yükseltecek en iyilemelerin yapılması mümkün olur. Ayrıca, PDO::prepare() ve PDOStatement::execute() işlevlerinin kullanımı, bağımsız değişkenlerin elle öncelenmesi gereğini ortadan kaldırarak SQL zerk saldırılarını engellemeye yardımcı olur.

Bağımsız değişkenli hazır deyimlerin değerlerle ilişkilendirilmesi işlemini desteklemeyen sürücüler için PDO bu işlemi taklit eder. Ayrıca sürücü isimli ve soru imli bağımsız değişken aktarım tarzlarından yalnız birini destekliyorsa PDO diğer tarzı da taklit eder.

Bilginize: Öykünülmüş hazırlanmış ifadeler ve isimli veya soru işareti tarzı bağımsız değişkenlerinin yeniden yazılması için kullanılan çözümleyici, tek ve çift tırnaklar için standart olmayan tersbölülü öncelemeyi destekler. Bu, bir tersbölü ile öncelenmiş sonlandırma tırnaklarında bu kullanımın desteklenmediği anlamına gelir, bu da bağımsız değişkenlerin yanlış algılanmasına neden olarak hazırlanan ifadenin yürütüldüğünde başarısız olmasına sebep olabilir. Çözüm, bu tür SQL sorguları için öykünülmüş hazırlıklar kullanmamak ve sürücü tarafından yerel olarak desteklenen bir bağımsız değişken tarzı kullanarak bağımsız değişkenlerin yeniden yazılmasını önlemektir.

PHP 7.4.0 ve sonrasında, soru imleri kendileri ile öncelenebiliyor. Yani, ?? dizgesi artık veritabanına ? dizgesi olartak gönderiliyor.

Bağımsız Değişkenler

deyim

Hedef veritabanı sunucusu için geçerli bir SQL deyimi şablonu olmalıdır.

seçenekler

Bu yöntemden döndürülen PDOStatement nesnesi için atanacak öznitelik değerlerini isim=>değer çiftleri halinde içeren bir dizi. Çoğunlukla kaydırılabilen bir gösterici isteği için PDO::CURSOR_SCROLL özniteliğine PDO::ATTR_CURSOR değerini atamakta kullanılır. Bazı sürücülerin deyimin hazırlanması aşamasında atanabilen sürücüye özgü öznitelikleri vardır.

Dönen Değerler

Veritabanı sunucusu deyimi başarıyla hazırlayabilmişse PDO::prepare() bir PDOStatement nesnesi döndürür; aksi takdirde ya bir PDOException yavrulanır veya işlev false döndürür (hata işlemeye bağımlı olarak).

Bilginize:

Öykünülmüş hazır deyimler için veritabanı sunucusuyla müzakere yapılmadığından PDO::prepare() deyim üzerinde bir sınama yapmaz.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - İsimli bağımsız değişkenli SQL deyim şablonu

<?php
/* Değerleri bir dizi olarak aktaracağımız bir deyim hazırlayalım */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, [PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY]);
$sth->execute(['calories' => 150, 'colour' => 'red']);
$red = $sth->fetchAll();
/* Dizi anahtarları ":" ile de öncelenebiliyor (seçimlik) */
$sth->execute([':calories' => 175, ':colour' => 'yellow']);
$yellow = $sth->fetchAll();
?>

Örnek 2 - Soru imli SQL deyim şablonu

<?php
/* Değerleri bir dizi olarak aktaracağımız bir deyim hazırlayalım */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute([150, 'red']);
$red = $sth->fetchAll();
$sth->execute([175, 'yellow']);
$yellow = $sth->fetchAll();
?>

Örnek 3 - Soru imi öncelemeli SQL deyim şablonu

<?php
/* Dikkat: Bu sadece PostgreSQL veritabanlarında geçerlidir */
$sth = $dbh->prepare('SELECT * FROM issues WHERE tag::jsonb ?? ?');
$sth->execute(['feature']);
$featureIssues = $sth->fetchAll();
$sth->execute(['performance']);
$performanceIssues = $sth->fetchAll();
?>

Ayrıca Bakınız

  • PDO::exec() - Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır


Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır

  • « PDO::prepare
  • PDO::quote »
  • PHP Manual
  • PDO
  • Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır

PDO::query

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDO::query — Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır

Açıklama

public PDO::query(string $deyim, ?int $getirme_kipi = null): PDOStatement|false
public PDO::query(string $deyim, ?int $getirme_kipi = PDO::FETCH_COLUMN, int $sütun_num): PDOStatement|false
public PDO::query(
string $deyim,
?int $getirme_kipi = PDO::FETCH_CLASS,
string $sınıf_adı,
array $kurucu_bağımsız değişkenleri
): PDOStatement|false
public PDO::query(string $deyim, ?int $getirme_kipi = PDO::FETCH_INTO, object $nesne): PDOStatement|false

Bir SQL deyimini tek bir işlev çağrısında çalıştırır ve deyimi bir PDOStatement nesnesi olarak döndürür.

Defalarca yineleyeceğiniz bir sorguyu PDO::prepare() yöntemini kullanarak bir PDOStatement nesnesi haline getirip bunu PDOStatement::execute() ile defalarca çalıştırmak başarımı arttıracaktır.

Tekrar bir PDO::query() çağrısı yapmadan önce sonuç kümesindeki veriyi almazsanız çağrınız başarısızlıkla sonuçlanabilir. Yeni bir PDO::query() çağrısını yapmadan önce PDOStatement nesnesi ile ilişkilendirilmiş kaynakları serbest bırakmak için PDOStatement::closeCursor() çağrısı yapmalısınız.

Bilginize:

deyim yer tutucular içeriyorsa, deyim PDO::prepare() ve PDOStatement::execute() yöntemleri kullanılarak hazırlanıp çalıştırılmalıdır.

Bağımsız Değişkenler

deyim

Hazırlanacak ve çalıştırılacak SQL deyimi.

SQL deyimi yer tutucular içeriyorsa, bu yöntem yerine PDO::prepare() ve PDOStatement::execute() yöntemleri kullanılmalıdır. Veya, SQL deyimi PDO::query() çağrılmadan önce elle hazırlanmalı, sürücü destekliyorsa PDO::quote() kullanılarak düzgünce öncelenmelidir.

getirme_kipi

Döndürülen PDOStatement nesnesi için öntanımlı getirme kipi. PDO::FETCH_* sabitlerinden biri olmalıdır.

İşleve fazladan bağımsız değişken aktarılırsa, bunlar sonuç nesnesi üzerinde PDOStatement::setFetchMode() çağrısı yapılmış gibi ele alınır. Sonraki bağımsız değişkenler, seçilen getirme kipine bağlı olarak değişir.

Dönen Değerler

Başarı durumunda PDOStatement nesnesi, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Yer tutucu içermeyen SQL deyimi kullanılan PDO::query() örneği

<?php
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name'] . "\t";
print $row['color'] . "\t";
print $row['calories'] . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

apple   red     150
banana  yellow  250
kiwi    brown   75
lemon   yellow  25
orange  orange  300
pear    green   150
watermelon      pink    90

Ayrıca Bakınız

  • PDO::exec() - Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır


Bir sorguda kullanılmak üzere bir dizgeyi önceler

  • « PDO::query
  • PDO::rollBack »
  • PHP Manual
  • PDO
  • Bir sorguda kullanılmak üzere bir dizgeyi önceler

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.1)

PDO::quote — Bir sorguda kullanılmak üzere bir dizgeyi önceler

Açıklama

public PDO::quote(string $dizge, int $tür = PDO::PARAM_STR): string|false

Girdi dizgesine gerekiyorsa ilgili veritabanı sürücüsüne uygun bir önceleme uygular.

Bu işlevi SQL deyimlerini oluştururken kullanıyorsanız, kullanıcı girdisini bir SQL deyimi haline getirmek için PDO::quote() yerine PDO::prepare() ile bağımsız değişkenleri ilişkilendirilmiş SQL deyimleri hazırlamanızı hararetle öneririz. Bağımsız değişkenlerle ilişkilendirimiş hazır deyimler taşınabilir olmaktan başka daha kullanışlı ve SQL zerkine bağışık olmanın yanında sorgunun derlenmiş hali hem sunucuda hem de istemcide bulunduğundan yorumlanan sorgulardan çok daha hızlıdır.

PDO sürücülerinin hepsi bu yöntemi gerçeklemez. (özellikle PDO_ODBC) Bu bakımdan hazır deyimleri kullanmaya hazır olmalısınız.

Dikkat

Güvenlik: Öntanımlı karakter kümesi

Karakter kümesi, PDO::quote()'u etkilemesi için ya sunucu seviyesinde ya da (sürücüye bağlı olarak) veritabanı bağlantısının kendisinde ayarlanmalıdır. Daha fazla bilgi için sürücüye özel belgelere bakılabilir.

Bağımsız Değişkenler

dizge

Öncelenecek dizge.

tür

İkincil bir önceleme tarzı olan sürücülere veri türü olarak bir ipucu sağlar. Örneğin, PDO_PARAM_LOB sabiti sürücüye ikil veriyi öncelemesini söyler.

Dönen Değerler

Bir SQL deyiminde aktarılmak üzere teorik olarak güvenli kabul edilen bir öncelenmiş dizge döndürür. Eğer sürücü bu tarz öncelemeyi desteklemiyorsa false döner.

Örnekler

Örnek 1 - Normal bir dizgeyi öncelemek

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/*Basit dizge */
$string = 'Basit';
print "Öncelenmemiş dizge: $string\n";
print "Öncelenmiş dizge: " . $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Basit
Öncelenmiş dizge: 'Basit'

Örnek 2 - Tehlikeli bir dizgeyi öncelemek

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Tehlikeli dizge */
$string = 'Münasebetsiz \' dizge';
print "Öncelenmemiş dizge: $string\n";
print "Öncelenmiş dizge:" . $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Münasebetsiz ' dizge
Öncelenmiş dizge: 'Münasebetsiz '' dizge'

Örnek 3 - Karmaşık bir dizgeyi öncelemek

<?php
$conn = new PDO('sqlite:/home/lynn/music.sql3');

/* Karmaşık dizge */
$string = "Co'mpl''ex \"st'\"ring";
print "Öncelenmemiş dizge: $string\n";
print "Öncelenmiş dizge:" . $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Co'mpl''ex "st'"ring
Öncelenmiş dizge: 'Co''mpl''''ex "st''"ring'

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır


Bir toplu hareketi geri alır

  • « PDO::quote
  • PDO::setAttribute »
  • PHP Manual
  • PDO
  • Bir toplu hareketi geri alır

PDO::rollBack

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::rollBack — Bir toplu hareketi geri alır

Açıklama

public PDO::rollBack(): bool

PDO::beginTransaction() ile başlatılan toplu hareketi geri alır.

Eğer veritabanı ototeslim kipindeyse, toplu hareket geri alındıktan sonra tekrar ototeslim kipine dönülür.

MySQL dahil bazı veritabanları, bir toplu hareketin içinde DROP TABLE veya CREATE TABLE gibi bir veritabanı tanımlama dili deyimi kullanıldığında otomatikman örtük bir PDO::commit() yaparlar. Örtük PDO::commit(), toplu hareket içindeki diğer değişikliklerin de geri alınmasını engeller.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Etkin bir hareket yoksa bir PDOException yavrulanır.

Bilginize: PDO::ATTR_ERRMODE niteliği PDO::ERRMODE_EXCEPTION değilse bile bir istisna yavrulanır.

Örnekler

Örnek 1 - Bir toplu hareketin geri alınması

Aşağıdaki örnekte bir toplu hareket başlatılmakta, değişiklikleri geri almadan önce veritabanında değişiklik yapan iki deyim gönderilmektedir. Bununla birlikte MySQL'de, DROP TABLE deyimi hareketi otomatik olarak COMMIT ettiğinden toplu harekete dahil hiçbir değişiklik artık geri alınamaz.

<?php
/* Ototeslim kipini kapatıp bir hareket başlatalım */
$dbh->beginTransaction();

/* Veritabanı şemasını ve verisini değiştirelim */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");

/* Yanlışı farkedip değişiklikleri geri alıyoruz */
$dbh->rollBack();

/* Veritabanı bağlantısı tekrar ototeslim kipinde */
?>

Ayrıca Bakınız

  • PDO::beginTransaction() - Bir toplu hareketi ilklendirir
  • PDO::commit() - Bir toplu hareketi veritabanına gönderir
  • Hareketler ve Ototeslim


Bir öznitelik tanımlar

  • « PDO::rollBack
  • PDOStatement »
  • PHP Manual
  • PDO
  • Bir öznitelik tanımlar

PDO::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::setAttribute — Bir öznitelik tanımlar

Açıklama

public PDO::setAttribute(int $öznitelik, mixed $değer): bool

Veritabanı için bir öznitelik tanımlar. Bazı temel öznitelikler aşağıda listelenmiştir. Bazı sürücülerin kendilerine özgü öznitelikleri olabilir. Sürücüye özgü özniteliklerin başka sürücülerde kullanılmamasına ise özellikle dikkat edilmelidir.

PDO::ATTR_CASE

Sütun isimlerinin harflerini belli birbüyüklüğe zorlar. Aşağıdaki değerlerden birini alabilir:

PDO::CASE_LOWER
Sütun isimlerinin harflerini küçük harfe zorlar.
PDO::CASE_NATURAL
Sütun isimlerinin harfleri veritabanı sürücüsünden döndüğü haliyle kullanılır.
PDO::CASE_UPPER
Sütun isimlerinin harflerini büyük harfe zorlar.
PDO::ATTR_ERRMODE

PDO hata raporlama kipi. Aşağıdaki değerlerden birini alabilir:

PDO::ERRMODE_SILENT
Sadece hata kodlarını atar.
PDO::ERRMODE_WARNING
Bir E_WARNING çıktılanır.
PDO::ERRMODE_EXCEPTION
PDOException istisnası yavrulanır.
PDO::ATTR_ORACLE_NULLS

Bilginize: Sadece Oracle için değil, bütün sürücüler için kullanılabilir.

null'a ve boş dizgelere dönüşümü belirler. Aşağıdaki değerlerden birini alabilir:

PDO::NULL_NATURAL
Dönüşüm yok.
PDO::NULL_EMPTY_STRING
Boş dizge null'a dönüştürülür.
PDO::NULL_TO_STRING
null boş dizgeye dönüştürülür.
PDO::ATTR_STRINGIFY_FETCHES

Döndürülürken sayısal değerler dizgeye dönüştürülür. Mantıksal bir değer gerekir: true etkinleştirir, false iptal eder.

PDO::ATTR_STATEMENT_CLASS

PDOStatement sınıfından türetilmiş kullanıcı tanımlı bir deyim sınıfı tanımlar. array(string sınıfadı, array(mixed kurucu_bağımsız değişkenler)) gerekir.

Dikkat

Kalıcı PDO bağlantılarıyla kullanılamaz.

PDO::ATTR_TIMEOUT

Zaman aşımı süresini saniye cinsinden belirtir. int türünde değer gerektirir.

Bilginize:

Tüm sürücüler bu seçeneği desteklemez ve anlamı sürücüden sürücüye farklılık gösterebilir. Örneğin, sqlite yazılabilir bir kilit almaktan vazgeçmeden önce bu zaman değerini bekler, ancak diğer sürücüler bunu bir bağlanma veya okuma zaman aşımı aralığı olarak yorumlayabilir.

PDO::ATTR_AUTOCOMMIT

Bilginize: Sadece OCI, Firebird ve MySQL'de kullanılabilir.

Her tek deyimin otomatik gönderilip gönderilmeyeceği belirtilir. Mantıksal bir değer gerekir: true etkinleştirir, false iptal eder.

PDO::ATTR_EMULATE_PREPARES

Bilginize: Sadece OCI, Firebird ve MySQL'de kullanılabilir.

Hazırlanmış deyimlerin öykünmesini etkinleştirir veya devre dışı bırakır. Bazı sürücüler yerel olarak hazırlanmış deyimleri desteklemez veya bunlar için sınırlı desteğe sahiptir. Mantıksal bir değer gerekir: PDO'yu ya her zaman hazırlanmış deyimleri öykünmeye (eğer true ve öykünmüş hazırlar sürücü tarafından destekleniyorsa) ya da yerel hazırlanmış deyimleri kullanmaya (false ise) zorlamak için bu ayar kullanılır. Sürücü mevcut sorguyu başarılı bir şekilde hazırlayamazsa, her zaman hazırlamış deyimi öykünmeye geri dönecektir.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY

Bilginize: MySQL'de kullanılır.

Tamponlu sorgu kullanımı. Mantıksal bir değer gerekir: true etkinleştirir, false iptal eder. true öntanımlıdır.

PDO::ATTR_DEFAULT_FETCH_MODE

Öntanımlı al-getir kipini ayarlar. Kipin açıklaması için PDOStatement::fetch() belgesine bakınız.

Bağımsız Değişkenler

öznitelik

Değiştirilecek öznitelik.

değer

öznitelik'e atanacak değer. Özniteliğe özgü bir tür gerekli olabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • PDO::getAttribute() - Bir veritabanı bağlantı özniteliğinin değerini döndürür
  • PDOStatement::getAttribute() - Bir deyim özniteliğini döndürür
  • PDOStatement::setAttribute() - Bir deyim özniteliğini tanımlar


PDOStatement sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.0)

Giriş

Bir hazır deyimi ve hazır deyim çalıştırıldıktan sonra sonuç kümesini temsil eder.

Sınıf Sözdizimi

class PDOStatement implements IteratorAggregate {
/* Özellikler */
public string $queryString;
/* Yöntemler */
public bindColumn(
string|int $sütun,
mixed &$değişken,
int $veri_türü = PDO::PARAM_STR,
int $uzunluk = 0,
mixed $seçenekler = null
): bool
public bindParam(
string|int $bağımsız_değişken,
mixed &$değişken,
int $veri_türü = PDO::PARAM_STR,
int $uzunluk = 0,
mixed $seçenekler = null
): bool
public bindValue(string|int $bağımsız_değişken, mixed $değer, int $veri_türü = PDO::PARAM_STR): bool
public closeCursor(): bool
public columnCount(): int
public debugDumpParams(): ?bool
public errorCode(): ?string
public errorInfo(): array
public execute(?array $girdiler = null): bool
public fetch(int $kip = PDO::FETCH_DEFAULT, int $göst_yönü = PDO::FETCH_ORI_NEXT, int $göst_başlangıcı = 0): mixed
public fetchAll(int $kip = PDO::FETCH_DEFAULT): array
public fetchAll(int $kip = PDO::FETCH_COLUMN, int $sütun): array
public fetchAll(int $kip = PDO::FETCH_CLASS, string $sınıf, ?array $bağımsız_değişkenler): array
public fetchAll(int $kip = PDO::FETCH_FUNC, callable $geriçağırım): array
public fetchColumn(int $sütun = 0): mixed
public fetchObject(?string $sınıf = "stdClass", array $bağımsız_değişkenler = []): object|false
public getAttribute(int $isim): mixed
public getColumnMeta(int $sütun): array|false
public getIterator(): Iterator
public nextRowset(): bool
public rowCount(): int
public setAttribute(int $öznitelik, mixed $değer): bool
public setFetchMode(int $kip): bool
public setFetchMode(int $kip = PDO::FETCH_COLUMN, int $sütunnum): bool
public setFetchMode(int $kip = PDO::FETCH_CLASS, string $sınıfadı, ?array $bağımsız_değişkenler = null): bool
public setFetchMode(int $kip = PDO::FETCH_INTO, object $nesne): bool
}

Özellikler

queryString

Sorgu dizgesi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | PDOStatement artık Traversable arayüzünü değil IteratorAggregate arayüzünü gerçekliyor.

İçindekiler

  • PDOStatement::bindColumn — Bir sütunu bir PHP değişkeni ile ilişkilendirir
  • PDOStatement::bindParam — Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir
  • PDOStatement::bindValue — Bir değeri bir bağımsız değişken ile ilişkilendirir
  • PDOStatement::closeCursor — Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar
  • PDOStatement::columnCount — Sonuç kümesindeki sütun sayısını döndürür
  • PDOStatement::debugDumpParams — Bir SQL hazır komutunu dökümler
  • PDOStatement::errorCode — Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür
  • PDOStatement::errorInfo — Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür
  • PDOStatement::execute — Bir hazır deyimi çalıştırır
  • PDOStatement::fetch — Sonuç kümesindeki sonraki satırı döndürür
  • PDOStatement::fetchAll — Sonuç kümesinde kalan satırları döndürür
  • PDOStatement::fetchColumn — Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
  • PDOStatement::fetchObject — Sonraki satırı alır ve bir nesne olarak döndürür
  • PDOStatement::getAttribute — Bir deyim özniteliğini döndürür
  • PDOStatement::getColumnMeta — Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür
  • PDOStatement::getIterator — Gets result set iterator
  • PDOStatement::nextRowset — Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar
  • PDOStatement::rowCount — Son SQL deyiminden etkilenen satır sayısını döndürür
  • PDOStatement::setAttribute — Bir deyim özniteliğini tanımlar
  • PDOStatement::setFetchMode — Deyim için öntanımlı veri alım kipini belirler


Bir sütunu bir PHP değişkeni ile ilişkilendirir

  • « PDOStatement
  • PDOStatement::bindParam »
  • PHP Manual
  • PDOStatement
  • Bir sütunu bir PHP değişkeni ile ilişkilendirir

PDOStatement::bindColumn

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::bindColumn — Bir sütunu bir PHP değişkeni ile ilişkilendirir

Açıklama

public PDOStatement::bindColumn(
string|int $sütun,
mixed &$değişken,
int $veri_türü = PDO::PARAM_STR,
int $uzunluk = 0,
mixed $seçenekler = null
): bool

Bir sorgunun sonuç kümesindeki belli bir sütunu bir değişken ile ilişkilendirir. Her PDOStatement::fetch() veya PDOStatement::fetchAll() çağrısında sütunlarla ilişkili değişkenler güncellenir.

Bilginize:

Deyim çalıştırılana kadar sütun bilgisi PDO'ya görünür olmadığından taşınabilir uygulamaların bu yöntemi bir PDOStatement::execute() çağrısından sonra kullanmaları gerekir.

Ancak, PgSQL sürücüsü kullanılırken bir LOB sütununu bir akımla ilişkilendirmek için bu yöntemin PDOStatement::execute() çağrısından önce kullanılması gerekir. Aksi takdirde büyük nesnenin nesne kimliği (oid) bir tamsayı olarak döner.

Bağımsız Değişkenler

sütun

Sütunun numarası veya ismi; sütun numaraları 1'den başlar. Sütun isminin sürücüden dönen isimle aynı harf büyüklüklerine sahip olmasına dikkat edin.

değişken

Sütun ile ilişkilendirilecek PHP değişkeninin ismi.

veri_türü

PDO::PARAM_* sabitlerinden biri olarak veri türü.

uzunluk

Yer ayırmak için ipucu olarak kullanılır.

seçenekler

Sürücü için isteğe bağlı bağımsız değişkenler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Sonuç kümesi çıktısının PHP değişkenleri ile ilişkilendirilmesi

Sütunları birer PHP değişkeni ile ilişkilendirmek, sonuç kümesinin her satırının anında kullanıma hazır olmasını sağlamanın en kolay ve en verimli yoludur. Aşağıdaki örnekte, sütunların alınması ve değişkenlerle ilişkilendirilirken akıllı öntanımlılarla bazı seçeneklerin kullanılışı gösterilmiştir.

<?php
$stmt = $dbh->prepare('SELECT name, colour, calories FROM fruit');
$stmt->execute();

/* Sütun numarasına göre ilişkilendir */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);

/* Sütun ismine göre ilişkilendir */
$stmt->bindColumn('calories', $cals);

while ($stmt->fetch(PDO::FETCH_BOUND)) {
print $name . "\t" . $colour . "\t" . $cals . "\n";
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

Ayrıca Bakınız

  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::fetch() - Sonuç kümesindeki sonraki satırı döndürür
  • PDOStatement::fetchAll() - Sonuç kümesinde kalan satırları döndürür
  • PDOStatement::fetchColumn() - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür


Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir

  • « PDOStatement::bindColumn
  • PDOStatement::bindValue »
  • PHP Manual
  • PDOStatement
  • Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir

PDOStatement::bindParam

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::bindParam — Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir

Açıklama

public PDOStatement::bindParam(
string|int $bağımsız_değişken,
mixed &$değişken,
int $veri_türü = PDO::PARAM_STR,
int $uzunluk = 0,
mixed $seçenekler = null
): bool

Bir PHP değişkenini hazır SQL deyimindeki bir isimli veya soru imli bağımsız değişkenle ilişkilendirir. PDOStatement::bindValue() yönteminin tersine değişken gönderimli olarak ilişkilendirilir ve sadece PDOStatement::execute() çağrısı sırasında değerlendirmeye alınır.

Bağımsız değişkenler çoğunlukla girdi bağımsız değişkenidir, yani bağımsız değişkenler sadece sorguda salt okunur olarak ele alınır (ancak yine de veri_türüne göre tür dönüşümü olabilir). Bazı sürücüler, veriyi çıktı bağımsız değişkenlerinde döndüren kayıtlı yordamların kullanımını mümkün kılar. Bazıları ise aynı bağımsız değişkenlerin hem girdi hem de çıktı için kullanımını mümkün kılar.

Bağımsız Değişkenler

bağımsız_değişken

Bağımsız değişken betimleyicisi. İsimli bağımsız değişkenler için :isim biçemindedir. Soru imli bağımsız değişkenler için ise soru iminin konumudur. Konumlar 1'den başlar.

değişken

SQL deyimindeki bağımsız değişken ile ilişkilendirilecek PHP değişkeni.

veri_türü

PDO::PARAM_* sabitlerinden biri olarak veri türü. Bağımsız değişkenden değer de döndürmek istiyorsanız PDO::PARAM_INPUT_OUTPUT sabitini burada, bit seviyesinde VEYAlayın.

uzunluk

Veri türünün uzunluğu. Bağımsız değişken çıktı almak amacıyla kullanılacaksa veri türü uzunluğu mutlaka belirtilmelidir. Sadece veri_türü bağımsız değişkeninde PDO::PARAM_INPUT_OUTPUT belirtilmişse anlamlıdır.

seçenekler

Sürücü seçenekleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - İsimli bağımsız değişkenlerle PDOStatement::bindParam() örneği

<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam('calories', $calories, PDO::PARAM_INT);
/* Dizi anahtarları ":" ile öncelenebiliyor (seçimlik) */
$sth->bindParam(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Örnek 2 - Soru imli bağımsız değişkenlerle PDOStatement::bindParam() örneği

<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Örnek 3 - Girdi/Çıktı bağımsız değişkeni kullanımı

<?php
/* Girdi/Çıktı bağımsız değişkenli bir kayıtlı yordam çağrısı yapalım */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print("Meyvenin posa rengi: $colour");
?>

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::bindValue() - Bir değeri bir bağımsız değişken ile ilişkilendirir


Bir değeri bir bağımsız değişken ile ilişkilendirir

  • « PDOStatement::bindParam
  • PDOStatement::closeCursor »
  • PHP Manual
  • PDOStatement
  • Bir değeri bir bağımsız değişken ile ilişkilendirir

PDOStatement::bindValue

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.0)

PDOStatement::bindValue — Bir değeri bir bağımsız değişken ile ilişkilendirir

Açıklama

public PDOStatement::bindValue(string|int $bağımsız_değişken, mixed $değer, int $veri_türü = PDO::PARAM_STR): bool

Hazır SQL deyimindeki bir isimli veya soru imli bağımsız değişkenle bir değeri ilişkilendirir.

Bağımsız Değişkenler

bağımsız_değişken

Bağımsız değişken betimleyicisi. İsimli bağımsız değişkenler için :isim biçemindedir. Soru imli bağımsız değişkenler için ise soru iminin konumudur. Konumlar 1'den başlar.

değer

Bağımsız değişken ile ilişkilendirilecek değer.

veri_türü

PDO::PARAM_* sabitlerinden biri olarak veri türü.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - İsimli bağımsız değişkenlerle PDOStatement::bindValue() örneği

<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');

/* Bağımsız değişken ismi kullanılarak değer atanıyor */
$sth->bindValue('calories', $calories, PDO::PARAM_INT);
/* Seçimlik: Bağımsız değişken adları da ":" ile öncelenebiliyor */
$sth->bindValue(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Örnek 2 - Soru imli bağımsız değişkenlerle PDOStatement::bindValue() örneği

<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindValue(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::bindParam() - Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir


Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar

  • « PDOStatement::bindValue
  • PDOStatement::columnCount »
  • PHP Manual
  • PDOStatement
  • Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar

PDOStatement::closeCursor

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)

PDOStatement::closeCursor — Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar

Açıklama

public PDOStatement::closeCursor(): bool

PDOStatement::closeCursor() yöntemi sunucu bağlantısını serbest bırakarak, mevcut deyimin durumunu değiştirmeden tekrar çalıştırılabilmesinin yanında başka SQL deyimlerinin çalıştırılabilmesini de mümkün kılar.

Evvelce çalıştırılmış bir PDOStatement nesnesinden henüz alınmamış satırların olduğu durumda bazı sürücüler bir PDOStatement nesnesinin daha çalıştırılmasına izin vermezler. Bu yöntem bu tür sürücülerde yararlıdır. Sürücünüz böyle bir sürücü ise sorun sıra dışı bir hata olarak kendini gösterir.

PDOStatement::closeCursor() yöntemi ya sürücüye özel isteğe bağlı (azami verimlilikte) bir yöntemdir ya da genel amaçlı bir PDO son çare yöntemidir. Genel amaçlı yöntem aşağıdaki PHP koduna eşdeğer bir işlem yürütür:

<?php
do {
while ($stmt->fetch())
;
if (!$stmt->nextRowset())
break;
} while (true);
?>

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - PDOStatement::closeCursor() örneği

Aşağıdaki örnekte, $stmt PDOStatement nesnesi çok sayıda satır döndürdüğü halde uygulama sadece ilk satırı almakta ve PDOStatement nesnesini satırları henüz alınmamış durumda bırakmaktadır. Uygulamanın tüm veritabanı sürücüleri ile çalışmasını sağlamak için $stmt veya $otherStmt PDOStatement nesnesi çalıştırılmadan önce bir PDOStatement::closeCursor() çağrısı yapması gerekir.

<?php
/* Bir PDOStatement nesnesi oluşturalım */
$stmt = $dbh->prepare('SELECT foo FROM bar');

/* Bir PDOStatement nesnesi daha oluşturalım*/
$otherStmt = $dbh->prepare('SELECT foobaz FROM foobar');

/* İlkini çalıştıralım */
$stmt->execute();

/* İlk satırı alalım */
$stmt->fetch();

/* Bazı sürücüler bu çağrıyı gerektirir */
$stmt->closeCursor();

/* Artık ikinci deyimi çalıştırabiliriz */
$otherStmt->execute();
?>

Ayrıca Bakınız

  • PDOStatement::execute() - Bir hazır deyimi çalıştırır


Sonuç kümesindeki sütun sayısını döndürür

  • « PDOStatement::closeCursor
  • PDOStatement::debugDumpParams »
  • PHP Manual
  • PDOStatement
  • Sonuç kümesindeki sütun sayısını döndürür

PDOStatement::columnCount

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::columnCount — Sonuç kümesindeki sütun sayısını döndürür

Açıklama

public PDOStatement::columnCount(): int

PDOStatement nesnesi ile temsil edilen sonuç kümesindeki sütun sayısını döndürür.

Eğer PDOStatement nesnesi PDO::query() yönteminden dönmüşse sütun sayısı hemen alınabilir.

Eğer PDOStatement nesnesi PDO::prepare() yönteminden dönmüşse sütun sayısı ancak PDOStatement::execute() çağrısından sonra alınabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sonuç kümesi boş olsa bile, sütun sayısı bir tamsayı olarak döner. Bir sonuç kümesi yoksa işlev 0 döndürür.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Sütunları saymak

Bu örnekte PDOStatement::columnCount() yönteminin bir sonuç kümesi varken ve yokken kullanımı gösterilmiştir.

<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

/* Olmayan sonuç kümesindeki sütunları sayalım */
$colcount = $sth->columnCount();
print("execute() öncesi, sonuç kümesinde $colcount sütun var.\n");

$sth->execute();

/* Sonuç kümesindeki sütunları sayalım */
$colcount = $sth->columnCount();
print("execute() sonrası, sonuç kümesinde $colcount sütun var.\n");

?>

Yukarıdaki örneğin çıktısı:

execute() öncesi, sonuç kümesinde 0 sütun var.
execute() sonrası, sonuç kümesinde 2 sütun var.

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::rowCount() - Son SQL deyiminden etkilenen satır sayısını döndürür


Bir SQL hazır komutunu dökümler

  • « PDOStatement::columnCount
  • PDOStatement::errorCode »
  • PHP Manual
  • PDOStatement
  • Bir SQL hazır komutunu dökümler

PDOStatement::debugDumpParams

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)

PDOStatement::debugDumpParams — Bir SQL hazır komutunu dökümler

Açıklama

public PDOStatement::debugDumpParams(): ?bool

Bir hazır deyimin içerdiği bilgiyi doğrudan çıktıya dökümler. Bu bilgi, kullanımdaki SQL sorgusu (SQL), anahtar adı veya konumlarıyla birlikte bağımsız değişkenlerin listesini, adlarını, sorgudaki konumlarını (PDO sürücü destekliyorsa; yoksa -1'dir) tamsayı olarak türünü (param_type) ve is_param mantıksal değerini içerir.

Bu işlev, veriyi doğrudan çıktıya basan bir hata ayıklama işlevidir.

İpucu

Sonuçlarını doğrudan tarayıcıya çıktılayan her şey gibi, çıktı denetleme işlevleri bu işlevin de çıktısını yakalamak ve (örneğin) string türünde saklamak için kullanılabilir.

İşlev, sadece deyim içindeki bağımsız değişkenleri dökümler. Ek bağımsız değişkenler deyimde saklanmaz ve gösterilmez.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda null, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | PDOStatement::debugDumpParams() artık veritabanına gönderilen SQL deyimini eksiksiz ve ham (yer tutucuların yerine ilişkili değerler konmuş) olarak döndürüyor. Ancak, bu sadece öykünülmüş hazır deyimler etkin kılınmışsa kullanılabilir.

Örnekler

Örnek 1 - İsimli bağımsız değişkenlerle PDOStatement::debugDumpParams() örneği

<?php
/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();

$sth->debugDumpParams();

?>

Yukarıdaki örneğin çıktısı:

SQL: [96] SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour
Params:  2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2

Örnek 2 - İsimsiz bağımsız değişkenlerle PDOStatement::debugDumpParams() örneği

<?php

/* PHP değişkenleriyle ilişkili bir hazır deyim çalıştıralım */
$calories = 150;
$colour = 'red';
$name = 'apple';

$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();

$sth->debugDumpParams();

?>

Yukarıdaki örneğin çıktısı:

SQL: [82] SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?
Params:  2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::bindParam() - Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir
  • PDOStatement::bindValue() - Bir değeri bir bağımsız değişken ile ilişkilendirir


Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür

  • « PDOStatement::debugDumpParams
  • PDOStatement::errorInfo »
  • PHP Manual
  • PDOStatement
  • Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür

PDOStatement::errorCode

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::errorCode — Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür

Açıklama

public PDOStatement::errorCode(): ?string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sadece deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürmesi dışında PDO::errorCode() yöntemiyle aynıdır.

Örnekler

Örnek 1 - SQLSTATE kodunun döndürülmesi

<?php
/* Bir hata oluşmasını sağlayalım -- BONES diye bir tablo olmasın */
$err = $dbh->prepare('SELECT skull FROM bones');
$err->execute();

echo "\nPDOStatement::errorCode(): ";
print $err->errorCode();
?>

Yukarıdaki örneğin çıktısı:

PDOStatement::errorCode(): 42S02

Ayrıca Bakınız

  • PDO::errorCode() - Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
  • PDO::errorInfo() - Veritabanındaki son işlemle ilgili hata bilgisini döndürür
  • PDOStatement::errorInfo() - Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür


Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür

  • « PDOStatement::errorCode
  • PDOStatement::execute »
  • PHP Manual
  • PDOStatement
  • Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür

PDOStatement::errorInfo

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::errorInfo — Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür

Açıklama

public PDOStatement::errorInfo(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Deyim üzerindeki son işlemle ilgili hata bilgisini bir dizi olarak döndürür. Dizi en azından şu alanları içerir:

Eleman | Bilgi
0 | SQLSTATE hata kodu (ANSI SQL standardında tanımlı 5 abecesayısal karakterli bir betimleyici).
1 | Sürücüye özgü hata kodu.
2 | Sürücüye özgü hata iletisi.

Örnekler

Örnek 1 - Bir DB2 veritabanına açılan bir ODBC bağlantısından hata bilgisinin alınması

<?php
/* Bir hata oluşmasını sağlayalım -- BONES diye bir tablo olmasın */
$sth = $dbh->prepare('SELECT skull FROM bones');
$sth->execute();

echo "\nPDOStatement::errorInfo():\n";
$arr = $sth->errorInfo();
print_r($arr);
?>

Yukarıdaki örneğin çıktısı:

PDOStatement::errorInfo():
Array
(
    [0] => 42S02
    [1] => -204
    [2] => [IBM][CLI Driver][DB2/LINUX] SQL0204N  "DANIELS.BONES" is an
undefined name.  SQLSTATE=42704
)

Ayrıca Bakınız

  • PDO::errorCode() - Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
  • PDO::errorInfo() - Veritabanındaki son işlemle ilgili hata bilgisini döndürür
  • PDOStatement::errorCode() - Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür


Bir hazır deyimi çalıştırır

  • « PDOStatement::errorInfo
  • PDOStatement::fetch »
  • PHP Manual
  • PDOStatement
  • Bir hazır deyimi çalıştırır

PDOStatement::execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::execute — Bir hazır deyimi çalıştırır

Açıklama

public PDOStatement::execute(?array $girdiler = null): bool

Bir hazır deyimi çalıştırır. Hazır deyim bağımsız değişken içeriyorsa şu ikisinden birini yapmalısınız:

  • Bağımsız değişkenleri ve/veya değerleri soru imleri ile ilişkilendirmek için (sırasıyla) PDOStatement::bindParam() ve/veya PDOStatement::bindValue() yöntemi kullanılmalıdır. İlişkili değişkenler, değerlerini girdi olarak iletir ve varsa çıktı değerlerini
  • ya da aktarılan salt-girdi bağımsız değişken değerlerini bir dizi olarak alır.

Bağımsız Değişkenler

girdiler

Çalıştırılacak SQL deyimiyle ilişkilendirilmiş bağımsız değişken sayısı kadar değer içeren bir dizi. Tüm değerler PDO::PARAM_STR olarak ele alınır.

Tek bir bağımsız değişkene birden fazla değer belirtilemez. Örneğin bir IN() yan tümcesindeki tek bir isimli bağımsız değişken iki değerle ilişkilendirilemez.

Belirtilenden daha fazla değeri ilişkilendirmek mümkün değildir; girdiler içinde PDO::prepare() yönteminde belirtilen deyimdekinden daha fazla anahtar mevcutsa, deyim başarısız olur ve bir hata çıktılanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - İlişkili değişken ve değerlerle bir hazır deyimin çalıştırılması

<?php
/* PHP değişken ve değerleriyle ilişkilendirilmiş bir hazır deyimi çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour LIKE :colour');
$sth->bindParam('calories', $calories, PDO::PARAM_INT);
/* isimler ":" ile öncelenebiliyor (seçimlik) */
$sth->bindParam(':colour', "%{$colour}%");
$sth->execute();
?>

Örnek 2 - İsimli değerler dizisi ile hazır bir deyimin çalıştırılması

<?php
/* Yerleştirilecek değerleri bir dizi olarak aktarmak suretiyle
bir hazır deyimi çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->execute(array('calories' => $calories, 'colour' => $colour));
/* Dizi anahtarları da ":" ile öncelenebiliyor (seçimlik) */
$sth->execute(array(':calories' => $calories, ':colour' => $colour));
?>

Örnek 3 - - Konumlu değerler dizisi ile bir hazır deyimin çalıştırılması

<?php
/* Yerleştirilecek değerleri bir dizi olarak aktarmak suretiyle
bir hazır deyimi çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>

Örnek 4 Soru imli bir hazır deyimin çalıştırılması

<?php
/* PHP değişkenleriyle ilişkilendirilmiş bir hazır deyimi çalıştıralım */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR, 12);
$sth->execute();
?>

Örnek 5 - IN yan tümcesi için dizi kullanarak bir hazır deyimin çalıştırılması

<?php
/* IN yan tümcesi için dizi kullanarak hazır deyimi çalıştır */
$params = array(1, 21, 63, 171);
/* Bağımsız değişken sayısı kadar yer tutucu içeren bir dizge oluştur */
$place_holders = implode(',', array_fill(0, count($params), '?'));

/*
Bu, $params dizimizdeki her değer için yeterli adsız yer tutucuyla
ifadeyi hazırlar. $params dizisinin değerleri, deyim yürütüldüğünde
hazırlanan deyimdeki yer tutucularla ilişkilendirilir. Bu, değişkene
bir başvuru gerektirdiğinden, PDOStatement::bindParam() kullanımıyla
aynı değildir. PDOStatement::execute() ise yalnızca değere göre
ilişkilendirme yapar.
*/
$sth = $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

Notlar

Bilginize:

Bazı sürücüler sonraki deyimi çalıştırmadan önce göstericiyi kapatmayı gerektirir.

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::bindParam() - Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir
  • PDOStatement::fetch() - Sonuç kümesindeki sonraki satırı döndürür
  • PDOStatement::fetchAll() - Sonuç kümesinde kalan satırları döndürür
  • PDOStatement::fetchColumn() - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür


Sonuç kümesindeki sonraki satırı döndürür

  • « PDOStatement::execute
  • PDOStatement::fetchAll »
  • PHP Manual
  • PDOStatement
  • Sonuç kümesindeki sonraki satırı döndürür

PDOStatement::fetch

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::fetch — Sonuç kümesindeki sonraki satırı döndürür

Açıklama

public PDOStatement::fetch(int $kip = PDO::FETCH_DEFAULT, int $göst_yönü = PDO::FETCH_ORI_NEXT, int $göst_başlangıcı = 0): mixed

PDOStatement nesnesi ile ilişkili sonuç kümesinden bir sonraki satırı döndürür. kip bağımsız değişkeni ile PDO'nun satırı nasıl döndüreceği belirtilir.

Bağımsız Değişkenler

kip

Sonrakı satırın nasıl döndürüleceğini belirtmek için kullanılır. PDO::FETCH_* sabitlerinden biri olmalıdır. PDO::FETCH_DEFAULT öntanımlı değerdir.

  • PDO::FETCH_ASSOC: Sütun isimlerine indisli bir dizi döner.

  • PDO::FETCH_BOTH (öntanımlı): Hem sütun isimlerine hem de sütun numaralarına göre indislenmiş bir dizi döner. İlk sütunun indisi 0'dır.

  • PDO::FETCH_BOUND: Sütun değerlerini PDOStatement::bindColumn() ile ilişkilendirilmiş PHP değişkenlerine atar ve true döndürür.

  • PDO::FETCH_CLASS: İstenen sınıfın özelliklerini sütun isimlerine eşleyerek sınıfın bir örneğini döndürür ve PDO::FETCH_PROPS_LATE ayrıca belirtilmemişse ardından kurucu çağrılır. Eğer kip bağımsız değişkeni PDO::FETCH_CLASSTYPE sabitini içeriyorsa (örn, PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) sınıf ismi ilk sütunun değerine göre belirlenir.

  • PDO::FETCH_INTO: İstenen sınıfın mevcut örneğini sütun isimlerini sınıf özelliklerine eşleyerek günceller.

  • PDO::FETCH_LAZY:
PDO::FETCH_BOTH ve
PDO::FETCH_OBJ sabitlerinin birleşimidir.

  • PDO::FETCH_NAMED: Aynı isimde birden fazla sütun olmaması şartıyla PDO::FETCH_ASSOC sabitindeki gibi bir dizi döndürür. Bir anahtar tarafından atıfta bulunulan değer, anahtarla aynı isimli sütundaki tüm değerlerin dizisini içerecektir.

  • PDO::FETCH_NUM: Sütun numaralarına göre indislenmiş bir dizi döner. İlk sütunun indisi 0'dır.

  • PDO::FETCH_OBJ: Özellik isimlerinin sınıf isimlerine denk düştüğü bir anonim nesne örneği döndürür.

  • PDO::FETCH_PROPS_LATE: PDO::FETCH_CLASS ile birlikte kullanıldığında, özellikler ilgili sütundaki değerlere atanmadan önce sınıf kurucusu çağrılır.

göst_yönü

Kaydırılabilir göstericili bir PDOStatement nesnesi
için, bu değer hangi satırın döndürüleceğini belirler.
PDO::FETCH_ORI_* sabitlerinden biri olmalıdır.
PDO::FETCH_ORI_NEXT öntanımlı değerdir.
PDOStatement nesnenize bir kaydırılabilir gösterici isteği yapmak için
SQL deyimini PDO::prepare() ile hazırlarken
PDO::CURSOR_SCROLL özelliğine
PDO::ATTR_CURSOR özniteliğini atamalısınız.

göst_başlangıcı

Kaydırılabilir göstericili bir PDOStatement nesnesi için göst_yönü bağımsız değişkeninde PDO::FETCH_ORI_ABS belirtilirse bu değer sonuç kümesinden alınacak mutlak satır numarasını belirler.

Kaydırılabilir göstericili bir PDOStatement nesnesi için göst_yönü bağımsız değişkeninde PDO::FETCH_ORI_REL belirtilirse bu değer alınacak satırı bir önceki PDOStatement::fetch() çağrısındaki gösterici konumuna göreli olarak belirler.

Dönen Değerler

Bu işlevin dönüş değeri alım türüne bağlıdır. Başarısızlık durumunda veya döndürülecek satır kalmamışsa false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Farklı kiplerle satırların döndürülmesi

<?php
$sth = $dbh->prepare("SELECT ad, renk FROM meyveler");
$sth->execute();

/* PDOStatement::fetch tarzlarını deneyelim */
print("PDO::FETCH_ASSOC:\n");
print("Sütun isimlerine göre indisli bir dizi olarak:\n");
$result = $sth->fetch(PDO::FETCH_ASSOC);
print_r($result);
print("\n");

print("PDO::FETCH_BOTH:\n");
print("Sütun isimlerine ve numaralarına göre indisli bir dizi olarak:\n");
$result = $sth->fetch(PDO::FETCH_BOTH);
print_r($result);
print("\n");

print("PDO::FETCH_LAZY:\n");
echo "Her özelliğin bir sütun ismine denk düştüğü bir anonim nesne olarak:\n";
$result = $sth->fetch(PDO::FETCH_LAZY);
print_r($result);
print("\n");

print("PDO::FETCH_OBJ:\n");
echo "Her özelliğin bir sütun ismine denk düştüğü bir anonim nesne olarak:\n";
$result = $sth->fetch(PDO::FETCH_OBJ);
print $result->ad;
print("\n");
?>

Yukarıdaki örneğin çıktısı:

PDO::FETCH_ASSOC:
Sütun isimlerine göre indisli bir dizi olarak:
Array
(
    [ad] => elma
    [renk] => kırmızı
)

PDO::FETCH_BOTH:
Sütun isimlerine ve numaralarına göre indisli bir dizi olarak:
Array
(
    [ad] => muz
    [0] => muz
    [renk] => sarı
    [1] => sarı
)

PDO::FETCH_LAZY:
Her özelliğin bir sütun ismine denk düştüğü bir anonim nesne olarak:
PDORow Object
(
    [ad] => portakal
    [renk] => turuncu
)

PDO::FETCH_OBJ:
Her özelliğin bir sütun ismine denk düştüğü bir anonim nesne olarak:
kivi

Örnek 2 - Satırları bir kaydırılabilir gösterici ile döndürmek

<?php
function readDataForwards($dbh) {
$sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY BET';
$stmt = $dbh->prepare($sql,
array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_NEXT)) {
$data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
print $data;
}
}
function readDataBackwards($dbh) {
$sql = 'SELECT hand, won, bet FROM mynumbers ORDER BY bet';
$stmt = $dbh->prepare($sql,
array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL));
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_LAST);
do {
$data = $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
print $data;
} while ($row = $stmt->fetch(PDO::FETCH_NUM, PDO::FETCH_ORI_PRIOR));
}

print "İleriye doğru okuma:\n";
readDataForwards($conn);

print "Geriye doğru okuma:\n";
readDataBackwards($conn);
?>

Yukarıdaki örneğin çıktısı:

İleriye doğru okuma:
21    10    5
16    0     5
19    20    10

Geriye doğru okuma:
19    20    10
16    0     5
21    10    5

Örnek 3 - Oluşturma sırası

Nesneler PDO::FETCH_CLASS üzerinden alındığında, önce nesne özellikleri atanır, ardından sınıf kurucusu çağrılır. Ek olarak PDO::FETCH_PROPS_LATE sabiti de belirtilmişse, bu sıra tersine döner, yani önce kurucu çağrılır ardından özellikler atanır.

<?php
class Person
{
private $name;

public function __construct()
{
$this->tell();
}

public function tell()
{
if (isset($this->name)) {
echo "Ben {$this->name}.\n";
} else {
echo "Henüz adım yok.\n";
}
}
}

$sth = $dbh->query("SELECT * FROM people");
$sth->setFetchMode(PDO::FETCH_CLASS, 'Person');
$person = $sth->fetch();
$person->tell();
$sth->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'Person');
$person = $sth->fetch();
$person->tell();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ben Ali.
Ben Ali.
Henüz adım yok.
Ben Veli.

Ayrıca Bakınız

  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::fetchAll() - Sonuç kümesinde kalan satırları döndürür
  • PDOStatement::fetchColumn() - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
  • PDOStatement::fetchObject() - Sonraki satırı alır ve bir nesne olarak döndürür
  • PDOStatement::setFetchMode() - Deyim için öntanımlı veri alım kipini belirler


Sonuç kümesinde kalan satırları döndürür

  • « PDOStatement::fetch
  • PDOStatement::fetchColumn »
  • PHP Manual
  • PDOStatement
  • Sonuç kümesinde kalan satırları döndürür

PDOStatement::fetchAll

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::fetchAll — Sonuç kümesinde kalan satırları döndürür

Açıklama

public PDOStatement::fetchAll(int $kip = PDO::FETCH_DEFAULT): array
public PDOStatement::fetchAll(int $kip = PDO::FETCH_COLUMN, int $sütun): array
public PDOStatement::fetchAll(int $kip = PDO::FETCH_CLASS, string $sınıf, ?array $bağımsız_değişkenler): array
public PDOStatement::fetchAll(int $kip = PDO::FETCH_FUNC, callable $geriçağırım): array

Bağımsız Değişkenler

kip

PDOStatement::fetch() yönteminde açıklandığı gibi döndürülen dizinin içeriğini belirleyen sabit. PDO::FETCH_DEFAULT öntanımlıdır.

Sonuç kümesindeki tek bir sütunun tüm değerleri içeren bir dizi döndürmek için PDO::FETCH_COLUMN belirtin. Bu durumda hangi sütunun içeriğinin alınacağını sütun ile belirtin.

Sonuç kümesindeki tek bir sütunun eşsiz değerleri içeren bir dizi döndürmek için PDO::FETCH_COLUMN ile PDO::FETCH_UNIQUE sabitini bit seviyesinde VEYAlayın.

Belirtilen sütunun değerlerine göre gruplanmış bir ilişkisel dizi döndürmek için PDO::FETCH_COLUMN ile PDO::FETCH_GROUP sabitini bit seviyesinde VEYAlayın.

Aşağıdaki dinamik bağımsız değişkenler kipe bağlı olup isimli bağımsız değişkenlerde kullanılamaz.
sütun

PDO::FETCH_COLUMN ile kullanılır. İlk sütunun indisinin 0 olduğu varsayımıyla sütun indisi.

bağımsız_değişkenler

PDO::FETCH_CLASS ile kullanılır. Belirtilen sınıfın örnekleri, her sütun sınıfın isimli özellikleriyle eşleştirilerek döndürülür.

geriçağırım

PDO::FETCH_FUNC ile kullanılır. Belirtilen işlevin sonuçları, her satırın sütunları çağrıda bağımsız değişken olarak kullanılarak döndürülür.

Dönen Değerler

Sonuç kümesinde kalan satırların tümünü bir dizi olarak döndürür. Dizinin her elemanı birer satır içerir ve bu satır elemanları sütun değerlerini içeren bir dizi ya da sütun isimlerinin özelliklere karşı düştüğü bir nesne içerir. Sıfır sonuç için boş dizi döner.

Büyük sonuç kümelerini almak için bu yöntemi kullanmak sistem ve muhtemelen ağ kaynaklarından aşırı taleplere yol açar. Tüm veriyi alıp PHP ile işleme tabi tutmak yerine sonuç kümeleri üzerinde işlem yapmak için veritabanı sunucusunu kullanmak daha iyi olabilir. Örneğin, SQL'de WHERE ve ORDER BY yan tümcelerini kullanarak, PHP'de işleme sokmadan önce sonuç kümesini küçültebilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu yöntem artık daima bir dizi döndürüyor, evvelce başarısızlık durumunda false dönerdi.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Bir sonuç kümesinde kalan tüm satırları almak

<?php
$sth = $dbh->prepare("SELECT ad, renk FROM meyveler");
$sth->execute();

/* Sonuç kümesindeki tüm satırları alalım */
print("Sonuç kümesindeki tüm satırlar:\n");
$result = $sth->fetchAll();
print_r($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sonuç kümesindeki tüm satırlar:
Array
(
    [0] => Array
        (
            [ad] => armut
            [0] => armut
            [renk] => yeşil
            [1] => yeşil
        )

    [1] => Array
        (
            [ad] => ahududu
            [0] => ahududu
            [renk] => mor
            [1] => mor
        )

)

Örnek 2 - Sonuç kümesinden tek bir sütunun tüm değerlerini almak

Aşağıdaki örnekte, SQL deyimi her satırda çok sayıda sütun döndürse bile bu sonuç kümesinden tek bir sütunun tüm değerlerinin nasıl alınacağı gösterilmiştir.

<?php
$sth = $dbh->prepare("SELECT isim, renk FROM meyveler");
$sth->execute();

/* İlk sütunun tüm değerlerini alalım */
$result = $sth->fetchAll(PDO::FETCH_COLUMN, 0);
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array(3)
(
    [0] =>
    string(5) => elma
    [1] =>
    string(4) => armut
    [2] =>
    string(10) => ahududu
)

Örnek 3 - Tüm değerleri tek bir sütuna göre gruplamak

Aşağıdaki örnekte, sonuç kümesindeki belli bir sütunun değerlerine göre gruplanmış bir ilişkisel dizini nasıl döndürüleceği gösterilmiştir. Dizi üç anahtar içerir: Elma ve armut iki farklı renk içeren iki dizi olarak ahududu ise tek renk içeren bir dizi olarak döndürülür.

<?php
$insert = $dbh->prepare("INSERT INTO fruit(isim, renk) VALUES (?, ?)");
$insert->execute(array('elma', 'yeşil'));
$insert->execute(array('armut', 'sarı'));

$sth = $dbh->prepare("SELECT isim, renk FROM meyveler");
$sth->execute();

/* Değerleri ilk sütuna göre gruplayalım */
var_dump($sth->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["elma"]=>
  array(2) {
    [0]=>
    string(5) "yeşil"
    [1]=>
    string(7) "kırmızı"
  }
  ["armut"]=>
  array(2) {
    [0]=>
    string(5) "yeşil"
    [1]=>
    string(4) "sarı"
  }
  ["ahududu"]=>
  array(1) {
    [0]=>
    string(3) "mor"
  }
}

Örnek 4 - Her sonuç için bir sınıf örneklemek

Aşağıda PDO::FETCH_CLASS alım kipinin davranışı örneklenmiştir:

<?php
class fruit {
public $name;
public $colour;
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_CLASS, "fruit");
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  object(fruit)#1 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(5) "green"
  }
  [1]=>
  object(fruit)#2 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(6) "yellow"
  }
  [2]=>
  object(fruit)#3 (2) {
    ["name"]=>
    string(10) "watermelon"
    ["colour"]=>
    string(4) "pink"
  }
  [3]=>
  object(fruit)#4 (2) {
    ["name"]=>
    string(5) "apple"
    ["colour"]=>
    string(3) "red"
  }
  [4]=>
  object(fruit)#5 (2) {
    ["name"]=>
    string(4) "pear"
    ["colour"]=>
    string(5) "green"
  }
}

Örnek 5 - Her sonuç için bir işlev çağırmak

Aşağıda PDO::FETCH_FUNC alım kipinin davranışı örneklenmiştir:

<?php
function fruit($name, $colour) {
return "{$name}: {$colour}";
}

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

$result = $sth->fetchAll(PDO::FETCH_FUNC, "fruit");
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(12) "apple: green"
  [1]=>
  string(12) "pear: yellow"
  [2]=>
  string(16) "watermelon: pink"
  [3]=>
  string(10) "apple: red"
  [4]=>
  string(11) "pear: green"
}

Ayrıca Bakınız

  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
  • PDOStatement::fetch() - Sonuç kümesindeki sonraki satırı döndürür
  • PDOStatement::fetchColumn() - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::setFetchMode() - Deyim için öntanımlı veri alım kipini belirler


Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür

  • « PDOStatement::fetchAll
  • PDOStatement::fetchObject »
  • PHP Manual
  • PDOStatement
  • Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür

PDOStatement::fetchColumn

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)

PDOStatement::fetchColumn — Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür

Açıklama

public PDOStatement::fetchColumn(int $sütun = 0): mixed

Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür; artık satır kalmamışsa false döner.

Bilginize:

PDOStatement::fetchColumn() mantıksal sütunların alımında kullanılmamalıdır, çünkü sütundaki bir false değerini alınacak satır kalmadığında dönen false değerinden ayırmak imkansızdır. Böyle bir durumda PDOStatement::fetch() kullanılmalıdır.

Bağımsız Değişkenler

sütunnum

Sütunun numarası. İlk sütunun indisi 0'dır. Bağımsız değişkende hiçbir değer belirtilmemişse ilk sütunun değeri döner.

Dönen Değerler

Sonuç kümesinde sonraki satırdan tek bir sütunun değerini bir dizge olarak döndürür. Satırlar tükenince false döner.

Uyarı

Veriyi almak için PDOStatement::fetchColumn() yöntemini kullanırsanız aynı satırdan artık başka bir sütun döndüremezsiniz.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Sonraki satırın ilk sütununu döndürmek

<?php
$sth = $dbh->prepare("SELECT isim, renk FROM meyveler");
$sth->execute();

print("Sonuç kümesindeki sonraki satırın ilk sütunu:\n");
$result = $sth->fetchColumn();
print("name = $result\n");

print("Sonuç kümesindeki sonraki satırın ikinci sütunu:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>

Yukarıdaki örneğin çıktısı:

Sonuç kümesindeki sonraki satırın ilk sütunu:
isim = limon
Sonuç kümesindeki sonraki satırın ikinci sütunu:
renk = kırmızı

Ayrıca Bakınız

  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
  • PDOStatement::fetch() - Sonuç kümesindeki sonraki satırı döndürür
  • PDOStatement::fetchAll() - Sonuç kümesinde kalan satırları döndürür
  • PDO::prepare() - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
  • PDOStatement::setFetchMode() - Deyim için öntanımlı veri alım kipini belirler


Sonraki satırı alır ve bir nesne olarak döndürür

  • « PDOStatement::fetchColumn
  • PDOStatement::getAttribute »
  • PHP Manual
  • PDOStatement
  • Sonraki satırı alır ve bir nesne olarak döndürür

PDOStatement::fetchObject

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.4)

PDOStatement::fetchObject — Sonraki satırı alır ve bir nesne olarak döndürür

Açıklama

public PDOStatement::fetchObject(?string $sınıf = "stdClass", array $bağımsız_değişkenler = []): object|false

Sonraki satırı bir nesne olarak döndürür. Bu yöntem
PDOStatement::fetch() yönteminin
PDO::FETCH_CLASS veya
PDO::FETCH_OBJ kipinde kullanımına denktir.

Bir satır alındığında, sınıfın özelliklerine ilgili sütunun değerleri atanır ve ardından sınıf kurucusu çağrılır.

Bağımsız Değişkenler

sınıf

Oluşturulan sınıfın ismi; stdClass öntanımlıdır.

bağımsız_değişkenler

Bu dizinin elemanları kurucuya bağımsız değişken olarak aktarılır.

Dönen Değerler

Sütun isimlerinin özellik isimlerine denk düştüğü sınıfın bir örneğini döndürür. İşlem sırasında bir hata oluşursa false döner.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Ayrıca Bakınız

  • PDOStatement::fetch() - Sonuç kümesindeki sonraki satırı döndürür


Bir deyim özniteliğini döndürür

  • « PDOStatement::fetchObject
  • PDOStatement::getColumnMeta »
  • PHP Manual
  • PDOStatement
  • Bir deyim özniteliğini döndürür

PDOStatement::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::getAttribute — Bir deyim özniteliğini döndürür

Açıklama

public PDOStatement::getAttribute(int $isim): mixed

Bir deyim özniteliğinin değerini döndürür. Henüz tek bir sürücüye özel özniteliğin dışında öznitelik yoktur:

  • PDO::ATTR_CURSOR_NAME (Firebird ve ODBC'ye özgüdür): UPDATE ... WHERE CURRENT OF için gösterici ismini içerir.

Sürücüye özgü özniteliklerin başka sürücülerde kullanılmamasına ise özellikle dikkat edilmelidir.

Bağımsız Değişkenler

isim

Sorgulanan özniteliğin ismi.

Dönen Değerler

Özniteliğin değeri.

Ayrıca Bakınız

  • PDO::getAttribute() - Bir veritabanı bağlantı özniteliğinin değerini döndürür
  • PDO::setAttribute() - Bir öznitelik tanımlar
  • PDOStatement::setAttribute() - Bir deyim özniteliğini tanımlar


Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür

  • « PDOStatement::getAttribute
  • PDOStatement::getIterator »
  • PHP Manual
  • PDOStatement
  • Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür

PDOStatement::getColumnMeta

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::getColumnMeta — Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür

Açıklama

public PDOStatement::getColumnMeta(int $sütun): array|false

Sütun numarası belirtilen sütunla ilgili temel verileri içeren bir ilişkisel dizi döndürür.

Uyarı

PDOStatement::getColumnMeta() yöntemini seçimlik olarak bazı veritabanı sürücüleri desteklemez. Ancak bu kılavuzda belgelenen tüm PDO sürücüleri bu işlevi gerçekler.

Bağımsız Değişkenler

sütun

Sütun numarası; ilk sütunun numarası 0'dır.

Dönen Değerler

Aşağıdaki alanlara sahip bir ilişkisel dizi döner:

Sütun temel verisi
İsim | Değerin açıklaması
native_type | Sütun değerinin PHP veri türü.
driver:decl_type | Veritabanındaki sütun değerinin SQL veri türü. Eğer sonuç kümesindeki sütun bir işlevin sonucu ise bu değer PDOStatement::getColumnMeta() tarafından döndürülmez.
flags | Bu sütun için tanımlı seçenek kümesi.
isim | Sütunun ismi.
table | Sütunu içeren tablonun ismi.
len | Sütunun genişliği. Onluk gerçek sayılar dışındaki türler için normalde -1'dir.
precision | Sütunun sayısal hassasiyeti. Onluk gerçek sayılar dışındaki türler için normalde 0'dır.
pdo_type | Sütun türünü gösteren PDO::PARAM_* sabitlerinden biri.

İstenen sütun sonuç kümesinde yoksa veya hiç sonuç kümesi yoksa false döner.

Örnekler

Örnek 1 - Sütun temel verilerinin alınması

Aşağıdaki örnekte bir PDO_SQLITE sürücüsünde bir işlev (COUNT) tarafından üretilen sonuç kümesindeki tek sütunla ilgili temel verilerin elde edilmesi gösterilmiştir.

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

Yukarıdaki örneğin çıktısı:

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

Ayrıca Bakınız

  • PDOStatement::columnCount() - Sonuç kümesindeki sütun sayısını döndürür
  • PDOStatement::rowCount() - Son SQL deyiminden etkilenen satır sayısını döndürür


Gets result set iterator

  • « PDOStatement::getColumnMeta
  • PDOStatement::nextRowset »
  • PHP Manual
  • PDOStatement
  • Gets result set iterator

PDOStatement::getIterator

(PHP 8)

PDOStatement::getIterator — Gets result set iterator

Açıklama

public PDOStatement::getIterator(): Iterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar

  • « PDOStatement::getIterator
  • PDOStatement::rowCount »
  • PHP Manual
  • PDOStatement
  • Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar

PDOStatement::nextRowset

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::nextRowset — Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar

Açıklama

public PDOStatement::nextRowset(): bool

Bazı veritabanları birden fazla satır kümesi (sonuç kümesi diye de bilinir) döndüren kayıtlı yordamları destekler. PDOStatement::nextRowset() yordamını kullaranak bir PDOStatement nesnesi ile ilişkili satır kümelerinin ikincisine ve sırayla sonraki satır kümelerine erişebilirsiniz. Her satır kümesi diğerlerinden farklı sütunlardan oluşabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir kayıtlı yordamdan dönen çok sayıda satır kümesine erişim

Aşağıdaki örnekte üç satır kümesi döndüren MULTIPLE_ROWSETS kayıtlı yordam çağrısının, yapılışı gösterilmiştir. Döndürülecek satır kümesi kalmayınca false döndüren PDOStatement::nextRowset() yönteminin bu özelliğini bir do-while döngüsünde kullanabiliriz.

<?php
$sql = 'CALL multiple_rowsets()';
$stmt = $conn->query($sql);
$i = 1;
do {
$rowset = $stmt->fetchAll(PDO::FETCH_NUM);
if ($rowset) {
printResultSet($rowset, $i);
}
$i++;
} while ($stmt->nextRowset());

function printResultSet(&$rowset, $i) {
print "$i. sonuç kümesi:\n";
foreach ($rowset as $row) {
foreach ($row as $col) {
print $col . "\t";
}
print "\n";
}
print "\n";
}
?>

Yukarıdaki örneğin çıktısı:

1. sonuç kümesi:
apple    red
banana   yellow

2. sonuç kümesi:
orange   orange    150
banana   yellow    175

3. sonuç kümesi:
lime     green
apple    red
banana   yellow

Ayrıca Bakınız

  • PDOStatement::columnCount() - Sonuç kümesindeki sütun sayısını döndürür
  • PDOStatement::execute() - Bir hazır deyimi çalıştırır
  • PDOStatement::getColumnMeta() - Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür
  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır


Son SQL deyiminden etkilenen satır sayısını döndürür

  • « PDOStatement::nextRowset
  • PDOStatement::setAttribute »
  • PHP Manual
  • PDOStatement
  • Son SQL deyiminden etkilenen satır sayısını döndürür

PDOStatement::rowCount

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::rowCount — Son SQL deyiminden etkilenen satır sayısını döndürür

Açıklama

public PDOStatement::rowCount(): int

PDOStatement nesnesi tarafından çalıştırılan son DELETE, INSERT veya UPDATE deyiminden etkilenen satır sayısını döndürür.

SELECT gibi sonuç kümeleri oluşturan deyimler için davranış belirsizdir ve her sürücü için farklıdır. Bazı veritabanları (örneğin, MySQL tamponlu kipteyken) bu deyim tarafından üretilen satır sayısını döndürebilmektedir. Ancak bu davranış tüm veritabanları için garanti edilmediğinden taşınıbilir bir uygulamada bu davranışa itibar edilmemelidir.

Bilginize:

Bu yöntem SQLite sürücü ile ve PDO::CURSOR_SCROLL özniteliğine PDO::ATTR_CURSOR atandığında PostgreSQL sürücüsü ile daima "0" (sıfır) döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Etkilenen satır sayısı.

Hatalar/İstisnalar

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_WARNING atanırsa E_WARNING düzeyinde bir hata çıktılanır.

PDO::ATTR_ERRMODE özniteliğine PDO::ERRMODE_EXCEPTION atanırsa PDOException istisnası oluşur.

Örnekler

Örnek 1 - Silinen satır sayısının döndürülmesi

PDOStatement::rowCount() bir DELETE, INSERT veya UPDATE deyiminden etkilenen satır sayısını döndürür.

<?php
/* FRUIT tablosundaki tüm satırları silelim */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Silinen satır sayısını döndürelim */
$count = $del->rowCount();
print("$count satır silindi.\n");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

9 satır silindi.

Örnek 2 - Bir SELECT deyiminden etkilenen satırların sayılması

Çoğu veritabanında PDOStatement::rowCount() bir SELECT deyiminden etkilenen satır sayısını döndürmez. Bu bakımdan, SELECT deyiminde kullandığınız yüklemlerin kullanıldığı bir SELECT COUNT(*) deyimi ile yapacağınız bir PDO::query() çağrısından sonra bir PDOStatement::fetchColumn() çağrısı ile etkilenen satır sayısını elde edebilirsiniz.

<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
$res = $conn->query($sql);
$count = $res->fetchColumn();

print "Etkilenen " . $count . " kayıt var.";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Etkilenen 2 kayıt var.

Ayrıca Bakınız

  • PDOStatement::columnCount() - Sonuç kümesindeki sütun sayısını döndürür
  • PDOStatement::fetchColumn() - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
  • PDO::query() - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır


Bir deyim özniteliğini tanımlar

  • « PDOStatement::rowCount
  • PDOStatement::setFetchMode »
  • PHP Manual
  • PDOStatement
  • Bir deyim özniteliğini tanımlar

PDOStatement::setAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::setAttribute — Bir deyim özniteliğini tanımlar

Açıklama

public PDOStatement::setAttribute(int $öznitelik, mixed $değer): bool

Belirtilen deyim özniteliğine bir değer atar. Şimdilik genele yönelik hiç öznitelik yoktur. Sürücüye özel tek bir öznitelik vardır:

  • PDO::ATTR_CURSOR_NAME (Firebird ve ODBC'ye özel): UPDATE ... WHERE CURRENT OF deyimi için gösterici ismini belirler.

Sürücüye özgü özniteliklerin başka sürücülerde kullanılmamasına ise özellikle dikkat edilmelidir.

Bağımsız Değişkenler

öznitelik

Tanımlanacak öznitelik.

değer

öznitelik için atanacak değer; özniteliğe bağlı olarak belirli bir tür gerekebilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • PDO::getAttribute() - Bir veritabanı bağlantı özniteliğinin değerini döndürür
  • PDO::setAttribute() - Bir öznitelik tanımlar
  • PDOStatement::getAttribute() - Bir deyim özniteliğini döndürür


Deyim için öntanımlı veri alım kipini belirler

  • « PDOStatement::setAttribute
  • PDOException »
  • PHP Manual
  • PDOStatement
  • Deyim için öntanımlı veri alım kipini belirler

PDOStatement::setFetchMode

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDOStatement::setFetchMode — Deyim için öntanımlı veri alım kipini belirler

Açıklama

public PDOStatement::setFetchMode(int $kip): bool
public PDOStatement::setFetchMode(int $kip = PDO::FETCH_COLUMN, int $sütunnum): bool
public PDOStatement::setFetchMode(int $kip = PDO::FETCH_CLASS, string $sınıfadı, ?array $bağımsız_değişkenler = null): bool
public PDOStatement::setFetchMode(int $kip = PDO::FETCH_INTO, object $nesne): bool

Bağımsız Değişkenler

kip

PDO::FETCH_* sabitlerinden biri olarak veri alım kipi.

sütunnum

Sütun numarası.

sınıfadı

Sınıf adı.

bağımsız_değişkenler

Kurucu bağımsız değişkenleri.

nesne

Nesne.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Veri alım kipinin belirlenmesi

Aşağıdaki örnekte bir PDOStatement nesnesinin veri alım kipinin PDOStatement::setFetchMode() ile nasıl değiştirileceği gösterilmiştir.

<?php
$stmt = $dbh->query('SELECT name, colour, calories FROM fruit');
$stmt->setFetchMode(PDO::FETCH_NUM);
foreach ($stmt as $row) {
print $col[0] . "\t" . $col[1] . "\t" . $col[2] . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

elma      kırmızı     150
muz       sarı        250
portakal  turuncu     300
kivi      kahverengi  75
limon     sarı        25
armut     yeşil       150


PDOException sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

PDO tarafından oluşturulan bir hatayı temsil eder. Kendi kodunuzda bir PDOException oluşturmamalısınız. PHP'deki istisnalar hakkında bilgi edinmek için İstisnalar bölümüne bakınız.

Sınıf Sözdizimi

class PDOException extends RuntimeException {
/* Özellikler */
protected int|string $code;
public ?array $errorInfo = null;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

errorInfo

PDO::errorInfo() veya PDOStatement::errorInfo() yöntemine karşılıktır.

code

SQLSTATE hata kodu. Erişmek için Exception::getCode() yöntemini kullanın.


PDO Sürücüleri

İçindekiler

  • CUBRID (PDO)
  • MS SQL Sunucusu (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC ve DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)

PDO arayüzü tarafından gerçeklenmiş sürücüler:

Sürücü ismi | Desteklenen veritabanları
PDO_CUBRID | Cubrid
PDO_DBLIB | FreeTDS / Microsoft SQL Sunucusu / Sybase
PDO_FIREBIRD | Firebird
PDO_IBM | IBM DB2
PDO_INFORMIX | IBM Informix Devingen Sunucusu
PDO_MYSQL | MySQL 3.x/4.x/5.x/8.x
PDO_OCI | Oracle Çağrı Arayüzü
PDO_ODBC | ODBC v3 (IBM DB2, unixODBC ve win32 ODBC)
PDO_PGSQL | PostgreSQL
PDO_SQLITE | SQLite 3 ve SQLite 2
PDO_SQLSRV | Microsoft SQL Server / SQL Azure


CUBRID Functions (PDO_CUBRID)

Giriş

PDO_CUBRID is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to CUBRID databases.

Bilginize:

Current version of PDO_CUBRID doesn't support persistent connection now.

Kurulum

To build the PDO_CUBRID extension, the CUBRID DBMS must be installed on the same system as PHP. PDO_CUBRID is a » PECL extension, so follow the instructions in PECL eklentilerinin kurulması to install the PDO_CUBRID extension. Issue the configure command to point to the location of the CUBRID base dir as follows:

   $ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
The configure command defaults to the value of the CUBRID environment variable.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir. Detailed information about installation on Linux and Windows manually, please read build-guide.html in PECL package CUBRID for reference.

Features

PDO_CUBRID Features
Feature | Description
Scrollable cursors | PDO_CUBRID supports scrollable cursors. The default cursor type is forward only, and you can use parameter driver_options in PDO::prepare() to change cursor type.
Timeout | PDO_CUBRID supports sql statement execution timeout setting; You can use PDO::setAttribute() to set timeout value.
Autocommit_mode and Transaction PDO_CUBRID supports both autocommit_mode and transaction, and autocommit_mode is enabled by default. You can use PDO::setAttribute() to change its state.

If you use PDO::beginTransaction() to begin a transaction, it will disable autocommit_mode automatically and restore it after PDO::commit() or PDO::rollBack(). Note that before disabling the autocommit_mode, any pending work is automatically committed.

Multiple SQL Statements | PDO_CUBRID supports Multiple SQL statements. Multiple SQL statements are separated by semicolons (;)
Schema Information | PDO_CUBRID implements a function PDO::cubrid_schema() to get schema information.
LOBs PDO_CUBRID supports BLOB/CLOB data type. The LOB in PDO is represented as a stream, so you can insert LOBs by binding a stream, and get LOBs by reading a stream returned by CUBRID PDO. For example:

Örnek 1 Insert LOBs in CUBRID PDO

<?php
$fp = fopen('lob_test.png', 'rb');

$sql_stmt = "INSERT INTO lob_test(name, content) VALUES('lob_test.png', ?)";

$stmt = $dbh->prepare($sql_stmt);
$ret = $stmt->bindParam(1, $fp, PDO::PARAM_LOB);
$ret = $stmt->execute();
?>

Örnek 2 Fetch LOBs in CUBRID PDO

<?php
$sql_stmt = "SELECT content FROM lob_test WHERE name='lob_test.png'";

$stmt = $dbh->prepare($sql_stmt);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);

header("Content-Type: image/png");
fpassthru($result[0]);
?>
Column meta The PDOStatement::getColumnMeta() in CUBRID PDO will return an associative array containing the following values:
  • type
  • name
  • table
  • def
  • precision
  • scale
  • not_null
  • auto_increment
  • unique_key
  • multiple_key
  • primary_key
  • foreign_key
  • reverse_index
  • reverse_unique
Collection Data Type PDO_CUBRID supports SET/MULTISET/SEQUENCE data type. If you don't specify data type, the default data type is char,for example:

Örnek 3 Insert set in CUBRID PDO with default data type.

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(VARCHAR))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array("abc","def","ghi");
$ret = $stmt->bindParam(1, $data, PDO::PARAM_NULL);
$ret = $stmt->execute();
var_Dump($ret);
?>

Örnek 4 Specify data type when insert set in CUBRID PDO

<?php
$conn_str ="cubrid:dbname=demodb;host=localhost;port=33000";
$cubrid_pdo = new PDO($conn_str, 'dba', '');

$cubrid_pdo->exec("DROP TABLE if exists test_tbl");
$cubrid_pdo->exec("CREATE TABLE test_tbl (col_1 SET(int))");

$sql_stmt_insert = "INSERT INTO test_tbl VALUES (?);";
$stmt = $cubrid_pdo->prepare($sql_stmt_insert);
$data = array(1,2,3,4);
$ret = $stmt->bindParam(1, $data, 0,0,"int");
$ret = $stmt->execute();
var_Dump($ret);
?>

CUBRID Bind Data Types:(The fifth parameter of PDOStatement::bindParam):
  • CHAR
  • STRING
  • NCHAR
  • VARNCHAR
  • BIT
  • VARBIT
  • NUMERIC
  • NUMBER
  • INT
  • SHORT
  • BIGINT
  • MONETARY
  • FLOAT
  • DOUBLE
  • DATE
  • TIME
  • DATETIME
  • TIMESTAMP

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

The following constants can be used when setting the database attribute. They can be passed to PDO::getAttribute() or PDO::setAttribute().

PDO::CUBRID attribute flags
Constant | Description
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Transaction isolation level for the database connection.
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Transaction timeout in seconds.
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Read only. The maximum string length for bit, varbit, char, varchar, nchar, nchar varying data types when using CUBRID PDO API.

The following constants can be used when setting the transaction isolation level. They can be passed to PDO::getAttribute() or returned by PDO::setAttribute().

PDO::CUBRID isolation level flags
Constant | Description
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
PDO::TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
PDO::TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to PDO::cubrid_schema().

PDO::CUBRID schema flags
Constant | Description
PDO::CUBRID_SCH_TABLE | Get name and type of table in CUBRID.
PDO::CUBRID_SCH_VIEW | Get name and type of view in CUBRID.
PDO::CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
PDO::CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Get the attributes of table.
PDO::CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
PDO::CUBRID_SCH_TABLE_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
PDO::CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
PDO::CUBRID_SCH_SUPER_TABLE | Get the name and type of table which table inherites attributes from.
PDO::CUBRID_SCH_SUB_TABLE | Get the name and type of table which inherites attributes from this table.
PDO::CUBRID_SCH_CONSTRAINT | Get the table constraints.
PDO::CUBRID_SCH_TRIGGER | Get the table triggers.
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Get the privilege information of table.
PDO::CUBRID_SCH_COL_PRIVILEGE | Get the privilege information of column.
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Get the direct super table of table.
PDO::CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
PDO::CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
PDO::CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
PDO::CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

İçindekiler

  • PDO_CUBRID DSN — Connecting to CUBRID databases
  • PDO::cubrid_schema — Get the requested schema information


Connecting to CUBRID databases

  • « CUBRID (PDO)
  • PDO::cubrid_schema »
  • PHP Manual
  • CUBRID (PDO)
  • Connecting to CUBRID databases

PDO_CUBRID DSN

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO_CUBRID DSN — Connecting to CUBRID databases

Açıklama

The PDO_CUBRID Data Source Name (DSN) is composed of the following elements, delimited by semicolons:

DSN prefix

The DSN prefix is cubrid:.

host

The hostname on which the database server resides.

port

The port on which the database server is running.

dbname

The name of the database.

Notlar

Bilginize:

When you estalish the connection to CUBRID, you should give username and password except DSN.

Örnekler

Örnek 1 PDO_CUBRID DSN examples

The following example shows a PDO_CUBRID DSN for connecting to a CUBRID database:

cubrid:host=localhost;port=33000;dbname=demodb


Get the requested schema information

  • « PDO_CUBRID DSN
  • MS SQL Sunucusu (PDO) »
  • PHP Manual
  • CUBRID (PDO)
  • Get the requested schema information

PDO::cubrid_schema

(PECL PDO_CUBRID >= 8.3.0.0001)

PDO::cubrid_schema — Get the requested schema information

Açıklama

public PDO::cubrid_schema(int $schema_type, string $table_name = ?, string $col_name = ?): array

This function is used to get the requested schema information from database. You have to designate table_name, if you want to get information on certain table, col_name, if you want to get information on certain column (can be used only with PDO::CUBRID_SCH_COL_PRIVILEGE).

The result of this function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
PDO::CUBRID_SCH_TABLE | 1 | NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_VIEW | 1 | NAME |
 | 2 | TYPE | 1:view
PDO::CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
PDO::CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE / PDO::CUBRID_SCH_SUB_TABLE | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system table 1:view 2:table
PDO::CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
PDO::CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
PDO::CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS / PDO::CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Bağımsız Değişkenler

schema_type

Schema type that you want to know.

table_name

Table you want to know the schema of.

col_name

Column you want to know the schema of.

Dönen Değerler

Array containing the schema information, when process is successful;

FALSE, when process is unsuccessful

Örnekler

Örnek 1 A PDO::cubrid_schema() example

This example shows how to get primary key and foreign keys of table game.

<?php
$pk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_PRIMARY_KEY, "game");
print_r($pk_list);

$fk_list = $dbh->cubrid_schema(PDO::CUBRID_SCH_IMPORTED_KEYS, "game");
print_r($fk_list);
?>

Yukarıdaki örneğin çıktısı:

Result:
Array
(
    [0] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => athlete_code
            [KEY_SEQ] => 3
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [1] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => event_code
            [KEY_SEQ] => 2
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

    [2] => Array
        (
            [CLASS_NAME] => game
            [ATTR_NAME] => host_year
            [KEY_SEQ] => 1
            [KEY_NAME] => pk_game_host_year_event_code_athlete_code
        )

)
Array
(
    [0] => Array
        (
            [PKTABLE_NAME] => athlete
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => athlete_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_athlete_code
            [PK_NAME] => pk_athlete_code
        )

    [1] => Array
        (
            [PKTABLE_NAME] => event
            [PKCOLUMN_NAME] => code
            [FKTABLE_NAME] => game
            [FKCOLUMN_NAME] => event_code
            [KEY_SEQ] => 1
            [UPDATE_RULE] => 1
            [DELETE_RULE] => 1
            [FK_NAME] => fk_game_event_code
            [PK_NAME] => pk_event_code
        )

)


Microsoft SQL Sunucusu ve Sybase (PDO_DBLIB) İşlevleri

Giriş

PDO_DBLIB, PHP Veri Nesneleri Arayüzünün (PDO) FreeTDS kütüphanesi üzerinden Microsoft SQL Sunucusu ve Sybase veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.

Bu eklenti artık Windows üzerinde kullanılamamaktadır.

Windows'ta, MS SQL için ikincil bir sürücü olan Microsoft SqlSrv kullanmalısınız: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx.

SqlSrv kullanmak mümkün değilse, yerel Windows DB-LIB eski olduğundan, evreli kullanımı güvenli olmadığından ve artık Microsoft tarafından desteklenmediğinden, Microsoft SQL Server ve Sybase veritabanlarına bağlanmak için PDO_ODBC sürücüsünü kullanabilirsiniz.

İçindekiler

  • PDO_DBLIB DSN — Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlantı


Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlantı

  • « MS SQL Sunucusu (PDO)
  • Firebird (PDO) »
  • PHP Manual
  • MS SQL Sunucusu (PDO)
  • Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlantı

PDO_DBLIB DSN

(PECL PDO_DBLIB >= 0.9.0)

PDO_DBLIB DSN — Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlantı

Açıklama

PDO_DBLIB DSN'si şu bileşenlerden oluşur:

DSN öneki

DSN öneki, PDO_DBLIB, Sybase ct-lib kütüphaneleri kullanılmak üzere derlenmişse sybase:, Microsoft SQL Sunucusunu kullanmak üzere derlenmişse mssql:, FreeTDS kütüphanelerini kullanmak üzere derlenmişse dblib: dizgesidir.

host

Veritabanını barındıran konağın adı veya IP adresi; 127.0.0.1 öntanımlıdır.

dbname

Veritabanının ismi.

charset

İstemcinin karakter kümesi.

appname

Uygulama ismi (sistem süreçlerinde kullanılır). "PHP Generic DB-lib" veya "PHP freetds" öntanımlıdır.

secure

Şimdilik kullanılmamaktadır.

Örnekler

Örnek 1 - PDO_DBLIB DSN örnekleri

Aşağıdaki örnekte, Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlanmak için kullanılan PDO_DBLIB DSN'leri gösterilmiştir:

mssql:host=localhost;dbname=testdb
sybase:host=localhost;dbname=testdb
dblib:host=localhost;dbname=testdb


Firebird İşlevleri (PDO_FIREBIRD)

Giriş

Uyarı

Bu eklenti DENEYSELDİR. Bu eklentinin davranışı, işlev isimleri ve tüm belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu eklenti kullanılmamalıdır.

PDO_FIREBIRD, PHP Veri Nesneleri Arayüzünün (PDO) Firebird veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::FB_ATTR_DATE_FORMAT (int)

Tarih biçemini tanımlar.

PDO::FB_ATTR_TIME_FORMAT (int)

Tarih biçemini tanımlar.

PDO::FB_ATTR_TIMESTAMP_FORMAT (int)

Zaman damgası biçemini tanımlar.

İçindekiler

  • PDO_FIREBIRD DSN — Firebird veritabanı bağlantısı


Firebird veritabanı bağlantısı

  • « Firebird (PDO)
  • IBM (PDO) »
  • PHP Manual
  • Firebird (PDO)
  • Firebird veritabanı bağlantısı

PDO_FIREBIRD DSN

(PECL PDO_FIREBIRD >= 0.1.0)

PDO_FIREBIRD DSN — Firebird veritabanı bağlantısı

Açıklama

PDO_FIREBIRD DSN'sinin ana bileşenleri şunlardır:

DSN öneki

DSN öneki firebird: dizgesidir.

dbname

Veritabanının ismi.

charset

Karakter kümesi.

role

SQL rol adı.

dialect

Veritabanının lehçesi; ya 1 ya da 3. Belirtilmezse, öntanımlı lehçe 3'tür. PHP 7.4.0 ve sonrasında kullanılabilir.

Örnekler

Örnek 1 - Yol belirtilen PDO_FIREBIRD DSN örneği

Aşağıdaki örnekte Firebird veritabanlarına bağlanmak için PDO_FIREBIRD DSN kullanımı gösterilmiştir.

firebird:dbname=/path/to/DATABASE.FDB

Örnek 2 - Port ve yol belirtilen PDO_FIREBIRD DSN örneği

Aşağıdaki örnekte, bir Firebird veritabanına yol ve port belirterek bağlanmak için PDO_FIREBIRD DSN kullanımı gösterilmiştir.

firebird:dbname=hostname/port:/path/to/DATABASE.FDB

Örnek 3 - Debian üzerinde localhost ve employee.fdb yolu belirtilen PDO_FIREBIRD DSN örneği

Aşağıdaki örnekte localhost kullanılarak employee.fdb adlı Firebird veritabanına bağlanmak için PDO_FIREBIRD DSN kullanımı gösterilmiştir.

firebird:dbname=localhost:/var/lib/firebird/2.5/data/employee.fdb

Örnek 4 - dialect=1 veritabanına bağlanan PDO_FIREBIRD DSN örneği

Aşağıdaki örnekte dialect 1 ile oluşturulmuş test.fdb adlı Firebird veritabanına bağlanmak için PDO_FIREBIRD DSN kullanımı gösterilmiştir. Bu sadece PHP 7.4.0 ve sonrasında çalışır.

firebird:dbname=localhost:/var/lib/firebird/2.5/data/test.fdb;CHARSET=Windows-1254;dialect=1


IBM (PDO_IBM) İşlevleri

Giriş

PDO_IBM, PHP Veri Nesneleri Arayüzünün (PDO) IBM veritabanlarına PHP'den erişimi mümkün kılmak için gerçeklenmiş bir sürücüdür.

Kurulum

PDO_IBM eklentisini kurmak için PHP'yi derlediğiniz makineye DB2 Client v9.1 veya üstünü kurmuş olmalısınız. DB2 Client,» IBM Uygulama Geliştirme sitesinden temin edilebilir.

Bilginize: Bilginize

The DB2 Client v9.1 ve üstü Linux, UNIX, ve Windows v8 and v9.1 için DB2'ye doğrudan erişimi destekler.

DB2 Client v9.1 ayrıca satın alacağınız » DB2 Bağlantı ürününü üzerinden z/OS sunuculardaki i5 ve DB2 UDB için DB2 UDB'ye erişimi de destekler.

PDO_IBM bir » PECL eklentisi olup eklentiyi kurmak için PECL eklentilerinin kurulması sayfasındaki talimatları izleyebilirsiniz. DB2 istemcisi başlık dosyalarını ve kütüphanelerinin bulunduğu yeri configure betiğine göstermek için şu komut satırını kullanabilirsiniz:

bash$ ./configure --with-pdo-ibm=/bir/yol/sqllib[,shared]
configure betiği öntanımlı olarak DB2DIR ortam değişkenindeki değeri kullanır.

İçindekiler

  • PDO_IBM DSN — IBM veritabanı bağlantısı


IBM veritabanı bağlantısı

  • « IBM (PDO)
  • Informix (PDO) »
  • PHP Manual
  • IBM (PDO)
  • IBM veritabanı bağlantısı

PDO_IBM DSN

(PECL PDO_IBM >= 0.9.0)

PDO_IBM DSN — IBM veritabanı bağlantısı

Açıklama

PDO_IBM Veri Kaynağı Adı (DSN), IBM CLI DSN'sine dayanır. PDO_IBM Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki ibm: dizgesidir.

DSN

Şunlardan biri olabilir:

  • Veri kaynağı db2cli.ini veya odbc.ini kullanılarak ayarlanır.

  • Kataloglu veritabanı adı; yani veritabanının DB2 istemci kataloğundaki takma adı.

  • Eksiksiz bağlantı dizgesi; sözdizimi şöyledir:
DRIVER={IBM DB2 ODBC DRIVER};
DATABASE=veritabanı;
HOSTNAME=konakadı;
PORT=port;PROTOCOL=TCPIP;
UID=kullanıcı;
PWD=parola;

    veritabanı

    Veritabanının adı.

    konakadı

    Veritabanı sunucusunun IP adresi veya konak adı.

    port

    Veritabanı sunucusunun dinlediği port.

    kullanıcı

    Veritabanına bağlantı için kullanıcı adı.

    password

    Veritabanına bağlantı için parola.

Örnekler

Örnek 1 - db2cli.ini kullanarak PDO_IBM DSN örneği

Aşağıdaki örnekte, db2cli.ini dosyasında DB2_9 adıyla kataloglanmış bir DB2 veritabanına bağlanmak için kullanılan bir PDO_IBM DSN'si gösterilmiştir:

$db = new PDO("ibm:DSN=DB2_9", "", "");

[DB2_9]
Database=testdb
Protocol=tcpip
Hostname=11.22.33.444
Servicename=56789

Örnek 2 - Bağlantı dizgeli PDO_IBM DSN'si örneği

Aşağıdaki örnekte, testdb adında bir DB2 veritabanına bağlanmak için bir DB2 CLI bağlantı dizgesini kullanan bir PDO_IBM DSN'si gösterilmiştir:

$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=testdb;" .
  "HOSTNAME=11.22.33.444;PORT=56789;PROTOCOL=TCPIP;", "testuser", "tespass");


Informix (PDO_INFORMIX) İşlevleri

Giriş

PDO_INFORMIX, PHP Veri Nesneleri Arayüzünün (PDO) Informix veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.

Kurulum

PDO_INFORMIX eklentisini kurmak için PDO_INFORMIX'i derlediğiniz makineye Informix Client SDK 2.81 UC1 veya üstünü kurmuş olmalısınız. Informix Client SDK » IBM Informix destek sitesinden temin edilebilir.

PDO_INFORMIX bir » PECL eklentisi olduğundan kurulum için PECL eklentilerinin kurulması bölümüne bakınız. Informix Client SDK başlık dosyalarının bulunduğu yeri belirtmek için configure komutunu şöyle kullanabilirsiniz:

   bash$ ./configure --with-pdo-informix=/bir/yol/SDK[,shared]
configure komutu öntanımlı değer olarak INFORMIXDIR ortam değişkenindeki değeri kullanır.

Kaydırılabilir göstericiler

PDO_INFORMIX kaydırılabilir göstericileri desteklemekle birlikte öntanımlı olarak etkin değildir. Kaydırılabilir gösterici desteğini etkin kılmak için odbc.ini dosyasındaki ilgili ODBC bağlantı ayarlarına ENABLESCROLLABLECURSORS=1 atamalı ya da DSN bağlantı dizgesinde EnableScrollableCursors=1 yan tümcesini belirtmelisiniz.

İçindekiler

  • PDO_INFORMIX DSN — Informix veritabanı bağlantısı


Informix veritabanı bağlantısı

  • « Informix (PDO)
  • MySQL (PDO) »
  • PHP Manual
  • Informix (PDO)
  • Informix veritabanı bağlantısı

PDO_INFORMIX DSN

(PECL PDO_INFORMIX >= 0.1.0)

PDO_INFORMIX DSN — Informix veritabanı bağlantısı

Açıklama

PDO_INFORMIX Veri Kaynağı Adı (DSN), Informix ODBC DSN dizgesine dayanır. Bir Informix ODBC DSN'sini yapılandırmak için gereken ayrıntılı bilgiyi » Informix devingen sunucu bilgi merkezinden edinebilirsiniz. PDO_INFORMIX DSN'sinin ana bileşenleri şunlardır:

DSN örneki

DSN öneki informix: dizgesidir.

DSN

DSN ya odbc.ini kullanarak ayarlanan bir veri kaynağı veya eksiksiz bir » bağlantı dizgesi olmalıdır.

Örnekler

Örnek 1 - odbc.ini kullanan PDO_INFORMIX DSN örneği

Aşağıdaki örnekte, odbc.ini dosyasında Infdrv33 olarak kataloglanmış bir Informix veritabanına bağlanmak için kullanılan bir PDO_INFORMIX DSN'si gösterilmiştir:

$db = new PDO("informix:DSN=Infdrv33", "", "");

[ODBC Data Sources]
Infdrv33=INFORMIX 3.3 32-BIT

[Infdrv33]
Driver=/opt/informix/csdk_2.81.UC1G2/lib/cli/iclis09b.so
Description=INFORMIX 3.3 32-BIT
Database=common_db
LogonID=testuser
pwd=testpass
Servername=ids_server
DB_LOCALE=en_US.819
OPTIMIZEAUTOCOMMIT=1
ENABLESCROLLABLECURSORS=1

Örnek 2 - Bağlantı dizgeli PDO_INFORMIX DSN örneği

Aşağıdaki örnekte, common_db adındaki bir Informix veritabanına bağlanmak için kullanılan bir bağlantı dizgesi sözdizimi gösterilmiştir:

$db = new PDO("informix:host=host.domain.com; service=9800;
    database=common_db; server=ids_server; protocol=onsoctcp;
    EnableScrollableCursors=1", "testuser", "tespass");


MySQL (PDO_MYSQL) İşlevleri

Giriş

PDO_MYSQL, PHP Veri Nesneleri Arayüzünün (PDO) MySQL veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.

PDO_MYSQL eklentisi, öntanımlı olarak öykünülmüş hazır deyimleri kullanır.

MySQL 8

7.1.16'dan önceki bir PHP sürümünü veya 7.2.4'ten önceki PHP 7.2'yi çalıştırırken, MySQL 8 Sunucusunun öntanımlı parola eklentisini mysql_native_password olarak ayarlayın, aksi takdirde, caching_sha2_password kullanılmadığında bile "sunucu tarafından istenen [caching_sha2_password] kimlik doğrulama yöntemini istemci bilmiyor" anlamında The server requested authentication method unknown to the client [caching_sha2_password] gibi hatalar görürsünüz.

Bunun nedeni MySQL 8'in öntanımlı olarak eski PHP (mysqlnd) sürümleri tarafından tanınmayan bir eklenti olan caching_sha2_password'e ayarlanmasıdır. my.cnf'de default_authentication_plugin=mysql_native_password ayarını yaparak bunu değiştirin. caching_sha2_password eklentisi gelecekteki PHP sürümlerinin birinde muhtemelen desteklenecektir. O zamana dek, bunu destekleyen mysql_xdevapi eklentisi kullanılabilir.

Uyarı

Dikkat: Bazı MySQL tablo türleri (saklama motorları) toplu hareketleri desteklemez. Bir veritabanını kodlarken toplu hareketleri desteklemeyen bir tablo türünü kullanıyorsanız MySQL toplu hareketi başarıyla ilklendirmiş gibi yapar. Ayrıca, DDL sorguları, bekleyen toplu hareketlerin örtük olarak yerine getirilmesine de sebep olur.

Bilginize:

MySQL sürücüsü PDO::PARAM_INPUT_OUTPUT sabitini PDOStatement::bindParam() üzerinden düzgünce desteklemez; böyle bağımsız değişkenler kullanılabilirse de, bunlar güncellenmez (yani, mevcut çıktı yoksayılır).

Kurulum

The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for the MySQL extensions, the extension libraries themselves may need to be installed using an additional package. Check the package manager that comes with your chosen distribution for availability.

For example, on Ubuntu the php5-mysql package installs the ext/mysql, ext/mysqli, and PDO_MYSQL PHP extensions. On CentOS, the php-mysql package also installs these three PHP extensions.

Alternatively, you can compile this extension yourself. Building PHP from source allows you to specify the MySQL extensions you want to use, as well as your choice of client library for each extension.

When compiling, use --with-pdo-mysql[=DIR] to install the PDO MySQL extension, where the optional [=DIR] is the MySQL base library. Mysqlnd is the default library. For details about choosing a library, see Choosing a MySQL library.

Optionally, the --with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.

Optionally, the --with-zlib-dir[=DIR] is used to set the path to the libz install prefix.

$ ./configure --with-pdo-mysql --with-mysql-sock=/var/mysql/mysql.sock

SSL support is enabled using the appropriate PDO_MySQL constants, which is equivalent to calling the » MySQL C API function mysql_ssl_set(). Also, SSL cannot be enabled with PDO::setAttribute because the connection already exists. See also the MySQL documentation about » connecting to MySQL with SSL.

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (bool)
Öntanımlı olarak tüm deyimler tamponlu kipte yürütülür. Bir PDO nesnesi üzerinde bu özniteliğe false atanırsa MySQL sürücüsü tamponlu kipi kullanır.

Örnek 1 - MySQL sürücüsünde tamponlu kipi zorlamak

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$unbufferedResult = $pdo->query("SELECT Name FROM City");
foreach ($unbufferedResult as $row) {
echo $row['Name'] . PHP_EOL;
}
?>

PDO::MYSQL_ATTR_LOCAL_INFILE (int)

LOAD LOCAL INFILE etkin olur.

Bu sabitin, yeni bir veritabanı tanıtıcısı oluştururken yalnızca driver_options dizisinde kullanılabileceğini unutmayın.

PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY (string)

LOCAL DATA yüklemesinin bu belirlenmiş dizinde bulunan dosyalarla sınırlanmasına izin verir. PHP 8.1.0 ve sonrasında kullanılabilir.

Bu sabitin, yeni bir veritabanı tanıtıcısı oluştururken yalnızca driver_options dizisinde kullanılabileceğini unutmayın.

PDO::MYSQL_ATTR_INIT_COMMAND (string)

MySQL sunucusuna bağlanırken çalıştırılacak komut. Yeniden bağlantı sırasında otomatik olarak bu komut çalıştırılır.

Bu sabitin, yeni bir veritabanı tanıtıcısı oluştururken yalnızca driver_options dizisinde kullanılabileceğini unutmayın.

PDO::MYSQL_ATTR_READ_DEFAULT_FILE (int)

Seçenekler my.cnf yerine burada belirtilen dosyadan okunur. Bu seçenek, mysqlnd ile kullanılamaz, çünkü mysqlnd, mysql yapılandırma dosyalarını okumaz.

PDO::MYSQL_ATTR_READ_DEFAULT_GROUP (int)

Seçenekler my.cnf dosyasında belirtilen gruptan veya MYSQL_READ_DEFAULT_FILE ile belirtilen dosyadan okunur. Bu seçenek, mysqlnd ile kullanılamaz, çünkü mysqlnd, mysql yapılandırma dosyalarını okumaz.

PDO::MYSQL_ATTR_MAX_BUFFER_SIZE (int)

Azami tampon büyüklüğü; 1 MiB öntanımlıdır. Derleme mysqlnd'ye rağmen yapıldığında bu sabit desteklenmez.

PDO::MYSQL_ATTR_DIRECT_QUERY (int)

Hazır deyimler kullanılmaz, sorgular doğrudan çalıştırılır.

PDO::MYSQL_ATTR_FOUND_ROWS (int)

Değişen satırların değil, bulunan (eşleşen) satırların satısı döner.

PDO::MYSQL_ATTR_IGNORE_SPACE (int)

İşlev isimlerinden sonra boşluklara izin verir. Tüm işlev isimlerini ayrılmış sözcük haline getirir.

PDO::MYSQL_ATTR_COMPRESS (int)

Ağ iletişim sıkıştırmasını etkin kılar.

PDO::MYSQL_ATTR_SSL_CA (int)

SSL sertifika yetkilisinin dosya yolu.

PDO::MYSQL_ATTR_SSL_CAPATH (int)

PEM biçiminde saklanan güvenilir SSL CA sertifikalarını içeren dizinin dosya yolu.

PDO::MYSQL_ATTR_SSL_CERT (int)

SSL sertifikasının dosya yolu.

PDO::MYSQL_ATTR_SSL_CIPHER (int)

OpenSSL tarafından anlaşılan biçemde, SSL şifrelemesi için kullanılmasına izin verilen bir veya daha fazla şifrenin listesi. Örnek: DHE-RSA-AES256-SHA:AES128-SHA

PDO::MYSQL_ATTR_SSL_KEY (int)

SSL anahtarının dosya yolu.

PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT (int)

Sunucu SSL sertifikasının doğrulanmasını devre dışı bırakmanın bir yolunu sağlar.

Mevcut olduğu PHP sürümleri: 7.0.18 ve PHP 7.1.4.

PDO::MYSQL_ATTR_MULTI_STATEMENTS (int)

false olarak ayarlandığında hem PDO::prepare() hem de PDO::query() işlevinde çoklu sorgu yürütmesini devre dışı bırakır.

Bu sabitin, yeni bir veritabanı tanıtıcısı oluştururken yalnızca driver_options dizisinde kullanılabileceğini unutmayın.

Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PDO_MYSQL Configuration Options
İsim | Öntanımlı | Değişlik Yeri
pdo_mysql.default_socket | "/tmp/mysql.sock" | PHP_INI_SYSTEM
pdo_mysql.debug | NULL | PHP_INI_SYSTEM
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

pdo_mysql.default_socket string

Sets a Unix domain socket. This value can either be set at compile time if a domain socket is found at configure. This ini setting is Unix only.

pdo_mysql.debug bool

Enables debugging for PDO_MYSQL. This setting is only available when PDO_MYSQL is compiled against mysqlnd and in PDO debug mode.

İçindekiler

  • PDO_MYSQL DSN — MySQL veritabanı bağlantısı


MySQL veritabanı bağlantısı

  • « MySQL (PDO)
  • MS SQL Server (PDO) »
  • PHP Manual
  • MySQL (PDO)
  • MySQL veritabanı bağlantısı

PDO_MYSQL DSN

(PECL PDO_MYSQL >= 0.1.0)

PDO_MYSQL DSN — MySQL veritabanı bağlantısı

Açıklama

PDO_MYSQL Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki mysql: dizgesidir.

host

Veritabanı sunucusunu barındıran konağın ismi.

port

Veritabanı sunucusunun dinlediği portun numarası.

dbname

Veritabanının ismi.

unix_socket

MySQL Unix soketi (host veya port ile kullanılmamalıdır).

charset

Karakter kümesi. Daha ayrıntılı bilgi karakter kümesi kavramları belgelerinde bulunabilir.

Örnekler

Örnek 1 - PDO_MYSQL DSN örnekleri

Aşağıdaki örnekte MySQL veritabanlarına bağlanmak için PDO_MYSQL DSN kullanımı gösterilmiştir:

mysql:host=localhost;dbname=testdb
Daha ayrıntılı bir örnek:
mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Notlar

Bilginize: Unix'e özel:

Bilgisayar adı "localhost" olarak ayarlandığında, sunucuya bağlantı Unix soketi aracılığıyla yapılır. PDO_MYSQL libmysqlclient kullanmak üzere derlenirse, soket dosyasının konumu libmysqlclient'in derlendiği konumdur. PDO_MYSQL mysqlnd kullanmak üzere derlenirse, pdo_mysql.default_socket ini yönergesi aracılığıyla öntanımlı soket ayarlanabilir.


Microsoft SQL Server Functions (PDO_SQLSRV)

Giriş

PDO_SQLSRV is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MS SQL Server (starting with SQL Server 2005) and SQL Azure databases.

Kurulum

The most recent version of the driver is available for download here: » SQLSRV download. The driver sources are hosted in a » public repository.

For more information about system requirements, see » SQLSRV System Requirements.

On Windows the PDO_SQLSRV extension is enabled by downloading and adding appropriate DLL files to the PHP extension directory and the corresponding entry to the php.ini file.

On Linux and macOS, the PDO_SQLSRV extension can be installed using » PECL. See the » installation tutorial for details.

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::SQLSRV_TXN_READ_UNCOMMITTED (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Uncommitted.
PDO::SQLSRV_TXN_READ_COMMITTED (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Read Committed.
PDO::SQLSRV_TXN_REPEATABLE_READ (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Repeateable Read.
PDO::SQLSRV_TXN_SNAPSHOT (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Snapshot.
PDO::SQLSRV_TXN_SERIALIZABLE (int)
This constant is an acceptable value for the SQLSRV DSN key TransactionIsolation. This constant sets the transaction isolation level for the connection to Serializable.
PDO::SQLSRV_ENCODING_BINARY (int)
Specifies that data is sent/retrieved as a raw byte stream to/from the server without performing encoding or translation. This constant can be passed to PDOStatement::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_SYSTEM (int)
Specifies that data is sent/retrieved to/from the server as 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_UTF8 (int)
Specifies that data is sent/retrieved to/from the server in UTF-8 encoding. This is the default encoding. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ENCODING_DEFAULT (int)
Specifies that data is sent/retrieved to/from the server according to PDO::SQLSRV_ENCODING_SYSTEM if specified during connection. The connection's encoding is used if specified in a prepare statement. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, PDO::prepare, PDOStatement::bindColumn, and PDOStatement::bindParam.
PDO::SQLSRV_ATTR_QUERY_TIMEOUT (int)
A non-negative integer representing the timeout period, in seconds. Zero (0) is the default and means no timeout. This constant can be passed to PDOStatement::setAttribute, PDO::setAttribute, and PDO::prepare.
PDO::SQLSRV_ATTR_DIRECT_QUERY (int)
Indicates that a query should be executed directly, without being prepared. This constant can be passed to PDO::setAttribute, and PDO::prepare. For more information, see » Direct and Prepared Statement Execution.

İçindekiler

  • PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases


Connecting to MS SQL Server and SQL Azure databases

  • « MS SQL Server (PDO)
  • Oracle (PDO) »
  • PHP Manual
  • MS SQL Server (PDO)
  • Connecting to MS SQL Server and SQL Azure databases

PDO_SQLSRV DSN

(PECL pdo_sqlsrv >= 2.0.1)

PDO_SQLSRV DSN — Connecting to MS SQL Server and SQL Azure databases

Açıklama

The PDO_SQLSRV Data Source Name (DSN) is composed of the following elements:

DSN prefix

The DSN prefix is sqlsrv:.

APP

The application name used in tracing.

ConnectionPooling

Specifies whether the connection is assigned from a connection pool (1 or true) or not (0 or false).

Database

The name of the database.

Encrypt

Specifies whether the communication with SQL Server is encrypted (1 or true) or unencrypted (0 or false).

Failover_Partner

Specifies the server and instance of the database's mirror (if enabled and configured) to use when the primary server is unavailable.

LoginTimeout

Specifies the number of seconds to wait before failing the connection attempt.

MultipleActiveResultSets

Disables or explicitly enables support for multiple active Result sets (MARS).

QuotedId

Specifies whether to use SQL-92 rules for quoted identifiers (1 or true) or to use legacy Transact-SQL rules (0 or false).

Server

The name of the database server.

TraceFile

Specifies the path for the file used for trace data.

TraceOn

Specifies whether ODBC tracing is enabled (1 or true) or disabled (0 or false) for the connection being established.

TransactionIsolation

Specifies the transaction isolation level. The accepted values for this
option are PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED,
PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT, and
PDO::SQLSRV_TXN_SERIALIZABLE.

TrustServerCertificate

Specifies whether the client should trust (1 or true) or reject (0 or false) a self-signed server certificate.

WSID

Specifies the name of the computer for tracing.

Örnekler

Örnek 1 PDO_SQLSRV DSN examples

The following example shows how to connecto to a specified MS SQL Server database:

$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");

The following example shows how to connect to a MS SQL Server database on a specified port:

$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");

The following example shows how to connecto to a SQL Azure database with server ID 12345abcde. Note that when you connect to SQL Azure with PDO, your username will be UserName@12345abcde (UserName@ServerId).

$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password");


Oracle (PDO_OCI) İşlevleri

Kurulum

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries. When PHP is on a different machine, use the free » Oracle Instant Client libraries. For details refer to the OCI8 Requirements section.

Use --with-pdo-oci[=DIR] to install the PDO Oracle OCI extension, where the optional [=DIR] is the Oracle Home directory. [=DIR] defaults to the $ORACLE_HOME environment variable.

Use --with-pdo-oci=instantclient,prefix,version for an Oracle Instant Client SDK, where prefix and version are configured.

// Using $ORACLE_HOME
$ ./configure --with-pdo-oci

// Using OIC for Linux with 10.2.0.3 RPMs with a /usr prefix
$ ./configure --with-pdo-oci=instantclient,/usr,10.2.0.3

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::OCI_ATTR_ACTION (int)

Provides a way to specify the action on the database session.

Mevcut olduğu PHP sürümleri: 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_INFO (int)

Provides a way to specify the client info on the database session.

Mevcut olduğu PHP sürümleri: 7.2.16 and 7.3.3

PDO::OCI_ATTR_CLIENT_IDENTIFIER (int)

Provides a way to specify the client identifier on the database session.

Mevcut olduğu PHP sürümleri: 7.2.16 and 7.3.3

PDO::OCI_ATTR_MODULE (int)

Provides a way to specify the module on the database session.

Mevcut olduğu PHP sürümleri: 7.2.16 and 7.3.3

İçindekiler

  • PDO_OCI DSN — Oracle veritabanlarına bağlantı


Oracle veritabanlarına bağlantı

  • « Oracle (PDO)
  • ODBC ve DB2 (PDO) »
  • PHP Manual
  • Oracle (PDO)
  • Oracle veritabanlarına bağlantı

PDO_OCI DSN

(PECL PDO_OCI >= 0.1.0)

PDO_OCI DSN — Oracle veritabanlarına bağlantı

Açıklama

PDO_OCI Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki oci: dizgesidir.

dbname (Oracle Instant Client)

Oracle Instant Client bağlantı adresi şu sözdizimini kullanır: dbname=//konakadı:portnum /veritabanı. tnsnames.ora içinde tanımlı bir veritabanına bağlanırken sadece veritabanının ismini kullanabilirsiniz: dbname=veritabanı.

charset

Geçerli ortam için istemci tarafı karakter kümesi.

Örnekler

Örnek 1 - PDO_OCI DSN örnekleri

Aşağıdaki örneklerde, Oracle veritabanlarına bağlanmak için PDO_OCI DSN'si kullanımları gösterilmiştir.

// tnsnames.ora içinde tanımlı bir veritabanına bağlanalım
oci:dbname=mydb

// Oracle Instant Client kullanarak bağlanalım
oci:dbname=//localhost:1521/mydb


ODBC ve DB2 (PDO_ODBC) İşlevleri

Giriş

PDO_ODBC, PHP Veri Nesneleri Arayüzünün (PDO) veritabanlarına ODBC sürücüleri üzerinden veya IBM DB2 Çağrı Seviyesi Arayüzü (DB2 CLI) kütüphanesi üzerinden erişimi mümkün kılmak için gerçeklenmiş bir sürücüdür. PDO_ODBC şimdilik üç farklı lezzette veritabanı sürücüsünü desteklemektedir:

ibm-db2

IBM DB2 Evrensel Veritabanına, Cloudscape ve Apache Derby sunucularına özgür DB2 Express-C istemcisi üzerinden erişimi destekler.

unixODBC

Veritabanı sunucularına unixODBC sürücüsü yöneticisi ve veritabanının kendi ODBC sürücüleri üzerinden erişimi destekler.

soysal

PDO_ODBC tarafından açıkça desteklenmemiş ODBC sürücüsü yöneticileri için bir derleme seçeneği sağlar.

Windows'ta, php_pdo_odbc.dll php.ini içinde bir eklenti olarak etkinleştirilmelidir. Windows ODBC Sürücüsü Yöneticisi ile ilintili olduğundan PHP, Sistem DSN üzerinden kataloglanan veritabanlarına erişebilir.

Kurulum

UNIX sistemlerinde PDO_ODBC

  1. PDO_ODBC, PHP kaynak paketiyle gelmektedir. PDO_ODBC eklentisini statik veya paylaşımlı bir modül olarak derlemek için kullanacağınız configure komutları:

    ibm_db2

    ./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
    PDO_ODBC eklentisini ibm-db2 desteğiyle derlemek için DB2 uygulama geliştirme başlık dosyalarını, PDO_ODBC'yi derlediğiniz makineye kurmuş olmalısınız. DB2 uygulama geliştirme başlık dosyaları DB2 sunucularında kurulabilir bir seçenek olup ayrıca, DB2 Uygulama geliştirme istemcisinin bir parçası olarak » IBM developerWorks sitesinden özgürce indirilebilmektedir.

    configure komutuna DB2 kütüphaneleri ve başlıkları için bir konum belirtmezseniz /home/db2inst1/sqllib dizini öntanımlıdır.

    unixODBC

    ./configure --with-pdo-odbc=unixODBC,/usr/local
    configure komutuna unixODBC kütüphaneleri ve başlıkları için bir konum belirtmezseniz /usr/local dizini öntanımlıdır.

    soysal
    ./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::ODBC_ATTR_USE_CURSOR_LIBRARY (int)

This option controls whether the ODBC cursor library is used. The ODBC cursor library supports some advanced ODBC features (e.g. block scrollable cursors), which may not be implemented by the driver. The following values are supported:

  • PDO::ODBC_SQL_USE_IF_NEEDED (the default): use the ODBC cursor library when needed.

  • PDO::ODBC_SQL_USE_DRIVER: never use the ODBC cursor library.

  • PDO::ODBC_SQL_USE_ODBC: always use the ODBC cursor library.

PDO::ODBC_ATTR_ASSUME_UTF8 (bool)

Windows only. If true, UTF-16 encoded character data (CHAR, VARCHAR and LONGVARCHAR) is converted to UTF-8 when reading from or writing data to the database. If false (the default), character encoding conversion may be done by the driver.

Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PDO_ODBC Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL |
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

pdo_odbc.connection_pooling string

ODBC bağlantılarının havuzlanıp havuzlanmayacağı. Şu değerlerden biri belirtilebilir: "strict" (katı), "relaxed" (esnek), "off" (kapalı; "" ile aynı). Değer, bağlantı yöneticisinin bağlantı bağımsız değişkenlerini mevcut havuzlu bağlantılarla nasıl eşleştireceğini belirler. strict önerilen öntanımlı değer olup, önbellekli bağlantıların sadece tüm bağlantı bağımsız değişkenleri eşleştiğinde kullanılacağı anlamına gelir. relaxed ise benzer bağlantı bağımsız değişkenlerine sahip bağlantıların kullanılabileceğini belirtir. Bunun olumsuz tarafı, örneğin sanal konaklar arasında bağlantı bilgisi kaçağı riski nedeniyle önbellek kullanımında bir artışla sonuçlanabilmesidir.

Bu ayar sadece php.ini dosyasında değiştirilebilir ve tüm süreci etkiler; ayrıca, aynı ODBC kütüphanelerini kullanan süreçlere yüklü diğer modüller de (Tektip ODBC eklentisi dahil) etkilenir.

Uyarı

relaxed eşleştirmesi güvenlik sebebiyle bir paylaşımlı sunucuda kullanılmamalıdır.

İpucu

Bu ayarı değiştirmek için iyi bir sebebiniz yoksa öntanımlı strict ayarına dokunmamanız önerilir.

pdo_odbc.db2_instance_name string

PDO_ODBC eklentisini db2 desteğiyle kullanıyorsanız, Linux ve UNIX işletim sistemlerinde DB2INSTANCE ortam değişkenine DB2 örneğinin burada belirtilen ismini atar. Böylece, PDO_ODBC eklentisinin DB2 veritabanlarına kataloglu bağlantılar kurması ve DB2 kütüphanelerinin yerlerini bulması sağlanmış olur.

Bu ayar sadece php.ini dosyasında değiştirilebilir ve tüm süreci etkiler; ayrıca, aynı ODBC kütüphanelerini kullanan süreçlere yüklü diğer modüller de (Tektip ODBC eklentisi dahil) etkilenir.

Bu ayarın Windows üzerinde bir etkisi yoktur.

İçindekiler

  • PDO_ODBC DSN — ODBC veya DB2 veritabanlarına bağlantı


ODBC veya DB2 veritabanlarına bağlantı

  • « ODBC ve DB2 (PDO)
  • PostgreSQL (PDO) »
  • PHP Manual
  • ODBC ve DB2 (PDO)
  • ODBC veya DB2 veritabanlarına bağlantı

PDO_ODBC DSN

(PECL PDO_ODBC >= 0.1.0)

PDO_ODBC DSN — ODBC veya DB2 veritabanlarına bağlantı

Açıklama

PDO_ODBC Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki

DSN öneki odbc: dizgesidir. DB2 kataloğunda veya ODBC sürücüsü yöneticisinde kataloglanmış bir veritabanına erişirken veritabanının kataloglanmış ismini DSN'ye ekleyebilirsiniz.

DSN

DB2 kataloğunda veya ODBC sürücüsü yöneticisinde kataloglanmış veritabanının ismi. Ayrıca, » http://www.connectionstrings.com/ adresinde açıklandığı gibi bir veritabanına bağlanmak için tam bir ODBC bağlantı dizgesi de belirtebilirsiniz.

UID

Bağlantı için kullanıcı ismi. DSN'de bir kullanıcı ismi belirtirseniz PDO, kurucudaki kullanıcı adı bağımsız değişkenini yok sayar.

PWD

Bağlantı için kullanıcı parolası. DSN'de bir kullanıcı ismi belirtirseniz PDO, kurucudaki kullanıcı adı bağımsız değişkenini yok sayar.

Örnekler

Örnek 1 - PDO_ODBC DSN örneği (ODBC sürücüsünün yöneticisi)

Aşağıdaki örnekte, ODBC sürücüsünün yöneticisinde testdb olarak kataloglanmış bir ODBC veritabanına bağlantı için kullanılan bir PDO_ODBC DSN'si gösterilmiştir.

odbc:testdb

Örnek 2 - PDO_ODBC DSN örneği (IBM DB2 katalogsuz bağlantısı)

Aşağıdaki örnekte, tam ODBC DSN sözdizimi kullanılarak SAMPLE adında bir IBM DB2 veritabanına erişim için kullanılan bir PDO_ODBC DSN'si gösterilmiştir.

odbc:DRIVER={IBM DB2 ODBC DRIVER};HOSTNAME=localhost;PORT=50000;
DATABASE=SAMPLE;PROTOCOL=TCPIP;UID=db2inst1;PWD=ibmdb2;

Örnek 3 - PDO_ODBC DSN örneği (Microsoft Access katalogsuz bağlantısı)

Aşağıdaki örnekte, tam ODBC DSN sözdizimi kullanılarak C:\db.mdb dosyasında saklanan bir Microsoft Access veritabanına erişim için kullanılan bir PDO_ODBC DSN'si gösterilmiştir.

odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin


PostgreSQL (PDO_PGSQL) İşlevleri

Giriş

PDO_PGSQL, PHP Veri Nesneleri Arayüzünün (PDO) PostgreSQL veritabanlarına PHP'den erişimi mümkün kılmak için gerçeklenmiş bir sürücüdür.

Özkaynak Türleri

Bu eklentinin PDO::pgsqlLOBOpen() tarafından döndürülen bir akım özkaynağı vardır.

Kurulum

Use --with-pdo-pgsql[=DIR] to install the PDO PostgreSQL extension, where the optional [=DIR] is the PostgreSQL base install directory, or the path to pg_config.

$ ./configure --with-pdo-pgsql

Öntanımlı Sabitler

Bu sabitler bu sürücü tarafından tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir. Ek olarak, bu sürücüye özgü sabitler sadece bu sürücü kullanılıyorsa kullanılmalıdır. Sürücüye özgü özniteliklerin postgres sürücüsü ile kullanılması beklenmedik davranışlara yol açabilir. Eğer kodunuz çok sayıda sürücüye karşı çalışıyorsa sürücüyü sınayacak PDO::ATTR_DRIVER_NAME özniteliğini sağlamak için PDO::getAttribute() kullanılabilir.

PDO::PGSQL_ATTR_DISABLE_PREPARES (int)

Send the query and the parameters to the server together in a single call, avoiding the need to create a named prepared statement separately. If the query is only going to be executed once this can reduce latency by avoiding an unnecessary server round-trip.

Genel bilgiler

Bilginize:

bytea alanları akım olarak döndürülür.

İçindekiler

  • PDO_PGSQL DSN — PostgreSQL veritabanı bağlantısı
  • PDO::pgsqlCopyFromArray — Copy data from PHP array into table
  • PDO::pgsqlCopyFromFile — Copy data from file into table
  • PDO::pgsqlCopyToArray — Copy data from database table into PHP array
  • PDO::pgsqlCopyToFile — Copy data from table into file
  • PDO::pgsqlGetNotify — Get asynchronous notification
  • PDO::pgsqlGetPid — Get the server PID
  • PDO::pgsqlLOBCreate — Creates a new large object
  • PDO::pgsqlLOBOpen — Opens an existing large object stream
  • PDO::pgsqlLOBUnlink — Deletes the large object


PostgreSQL veritabanı bağlantısı

  • « PostgreSQL (PDO)
  • PDO::pgsqlCopyFromArray »
  • PHP Manual
  • PostgreSQL (PDO)
  • PostgreSQL veritabanı bağlantısı

PDO_PGSQL DSN

(PHP 5 >= 5.1.0, PHP 7, PECL PDO_PGSQL >= 0.1.0)

PDO_PGSQL DSN — PostgreSQL veritabanı bağlantısı

Açıklama

Veri Kaynağı Adı (DSN) birbirlerinden boşluklarla veya noktalı virgüllerle ayrılmış şu öğelerden oluşur:

DSN öneki

DSN öneki pgsql: dizgesidir.

host

Veritabanı sunucusunu barındıran konağın ismi.

port

Veritabanı sunucusunun çalıştığı port.

dbname

Veritabanının ismi.

user

Bağlantı için kullanıcı ismi. DSN'de bir kullanıcı ismi belirtirseniz PDO, kurucudaki kullanıcı adı bağımsız değişkenini yok sayar.

password

Bağlantı için kullanıcı parolası. DSN'de bir kullanıcı parolası belirtirseniz PDO, kurucudaki kullanıcı parolası bağımsız değişkenini yok sayar.

sslmode

SSL kipi. Desteklenen değerler ve anlamları » PostgreSQL Belgelerinde bulunabilir.

Bilginize: DSN dizgesindeki tüm noktalı virgüllerin yerine boşluk karakteri konur, çünkü PostgreSQL bu biçimi kabul eder. Bu, desteklenmeyen (password veya dbname gibi) bileşenlerin içindeki tüm noktalı virgüllere uygulanır.

Örnekler

Örnek 1 - PDO_PGSQL DSN örneği

Aşağıdaki örnekte bir PostgreSQL veritabanına bağlanmak için PDO_PGSQL DSN kullanımı gösterilmiştir:

pgsql:host=localhost;port=5432;dbname=testdb;user=bruce;password=mypass

Aşağıdaki örnek, unix soketi /tmp/.s.PGSQL.5432 yoluyla bir PostgreSQL veritabanına bağlanmak için bir PDO_PGSQL DSN'sini göstermektedir.:

pgsql:host=/tmp;port=5432;dbname=testdb;user=bruce;password=mypass


Copy data from PHP array into table

  • « PDO_PGSQL DSN
  • PDO::pgsqlCopyFromFile »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from PHP array into table

PDO::pgsqlCopyFromArray

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

PDO::pgsqlCopyFromArray — Copy data from PHP array into table

Açıklama

public PDO::pgsqlCopyFromArray(
string $table_name,
array $rows,
string $delimiter = "\t",
string $null_as = "\\\\N",
string $fields = ?
): bool

Copies data from rows array to table table_name using delimiter as fields delimiter and fields list

Bağımsız Değişkenler

table_name

String containing table name

rows

Array of strings with fields separated by delimiter

delimiter

Delimiter used in rows array

null_as

How to interpret null values

fields

List of fields to insert

Dönen Değerler

Returns true on success, başarısızlık durumunda false döner.


Copy data from file into table

  • « PDO::pgsqlCopyFromArray
  • PDO::pgsqlCopyToArray »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from file into table

PDO::pgsqlCopyFromFile

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

PDO::pgsqlCopyFromFile — Copy data from file into table

Açıklama

public PDO::pgsqlCopyFromFile(
string $table_name,
string $filename,
string $delimiter = "\t",
string $null_as = "\\\\N",
string $fields = ?
): bool

Copies data from file specified by filename into table table_name using delimiter as fields delimiter and fields list

Bağımsız Değişkenler

table_name

String containing table name

filename

Filename containing data to import

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Dönen Değerler

Returns true on success, başarısızlık durumunda false döner.


Copy data from database table into PHP array

  • « PDO::pgsqlCopyFromFile
  • PDO::pgsqlCopyToFile »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from database table into PHP array

PDO::pgsqlCopyToArray

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

PDO::pgsqlCopyToArray — Copy data from database table into PHP array

Açıklama

public PDO::pgsqlCopyToArray(
string $table_name,
string $delimiter = "\t",
string $null_as = "\\\\N",
string $fields = ?
): array|false

Copies data from table into array using delimiter as fields delimiter and fields list

Bağımsız Değişkenler

table_name

String containing table name

delimiter

Delimiter used in rows

null_as

How to interpret null values

fields

List of fields to export

Dönen Değerler

Returns an array of rows, başarısızlık durumunda false döner.


Copy data from table into file

  • « PDO::pgsqlCopyToArray
  • PDO::pgsqlGetNotify »
  • PHP Manual
  • PostgreSQL (PDO)
  • Copy data from table into file

PDO::pgsqlCopyToFile

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

PDO::pgsqlCopyToFile — Copy data from table into file

Açıklama

public PDO::pgsqlCopyToFile(
string $table_name,
string $filename,
string $delimiter = "\t",
string $null_as = "\\\\N",
string $fields = ?
): bool

Copies data from table into file specified by filename using delimiter as fields delimiter and fields list

Bağımsız Değişkenler

table_name

String containing table name

filename

Filename to export data

delimiter

Delimiter used in file specified by filename

null_as

How to interpret null values

fields

List of fields to insert

Dönen Değerler

Returns true on success, başarısızlık durumunda false döner.


Get asynchronous notification

  • « PDO::pgsqlCopyToFile
  • PDO::pgsqlGetPid »
  • PHP Manual
  • PostgreSQL (PDO)
  • Get asynchronous notification

PDO::pgsqlGetNotify

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

PDO::pgsqlGetNotify — Get asynchronous notification

Açıklama

public PDO::pgsqlGetNotify(int $result_type = PDO::FETCH_USE_DEFAULT, int $ms_timeout = 0): array|false

Returns a result set representing a pending asynchronous notification.

Bağımsız Değişkenler

result_type

The format the result set should be returned as, represented as a PDO::FETCH_* constant.

ms_timeout

The length of time to wait for a response, in milliseconds.

Dönen Değerler

If one or more notifications is pending, returns a single row, with fields message and pid, otherwise returns false.


Get the server PID

  • « PDO::pgsqlGetNotify
  • PDO::pgsqlLOBCreate »
  • PHP Manual
  • PostgreSQL (PDO)
  • Get the server PID

PDO::pgsqlGetPid

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

PDO::pgsqlGetPid — Get the server PID

Açıklama

public PDO::pgsqlGetPid(): int

Returns the server's PID.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The server's PID.


Creates a new large object

  • « PDO::pgsqlGetPid
  • PDO::pgsqlLOBOpen »
  • PHP Manual
  • PostgreSQL (PDO)
  • Creates a new large object

PDO::pgsqlLOBCreate

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBCreate — Creates a new large object

Açıklama

public PDO::pgsqlLOBCreate(): string

PDO::pgsqlLOBCreate() creates a large object and returns the OID of that object. You may then open a stream on the object using PDO::pgsqlLOBOpen() to read or write data to it. The OID can be stored in columns of type OID and be used to reference the large object, without causing the row to grow arbitrarily large. The large object will continue to live in the database until it is removed by calling PDO::pgsqlLOBUnlink().

Large objects can be up to 2GB in size, but are cumbersome to use; you need to ensure that PDO::pgsqlLOBUnlink() is called prior to deleting the last row that references its OID from your database. In addition, large objects have no access controls. As an alternative, try the bytea column type; recent versions of PostgreSQL allow bytea columns of up to 1GB in size and transparently manage the storage for optimal row size.

Bilginize: This function must be called within a transaction.

Bağımsız Değişkenler

PDO::pgsqlLOBCreate() takes no parameters.

Dönen Değerler

Returns the OID of the newly created large object on success, or false on failure.

Örnekler

Örnek 1 A PDO::pgsqlLOBCreate() example

This example creates a new large object and copies the contents of a file into it. The OID is then stored into a table.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$oid = $db->pgsqlLOBCreate();
$stream = $db->pgsqlLOBOpen($oid, 'w');
$local = fopen($filename, 'rb');
stream_copy_to_stream($local, $stream);
$local = null;
$stream = null;
$stmt = $db->prepare("INSERT INTO BLOBS (ident, oid) VALUES (?, ?)");
$stmt->execute(array($some_id, $oid));
$db->commit();
?>

Ayrıca Bakınız

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_create() - Create a large object


Opens an existing large object stream

  • « PDO::pgsqlLOBCreate
  • PDO::pgsqlLOBUnlink »
  • PHP Manual
  • PostgreSQL (PDO)
  • Opens an existing large object stream

PDO::pgsqlLOBOpen

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBOpen — Opens an existing large object stream

Açıklama

public PDO::pgsqlLOBOpen(string $oid, string $mode = "rb"): resource|false

PDO::pgsqlLOBOpen() opens a stream to access the data referenced by oid. If mode is r, the stream is opened for reading, if mode is w, then the stream will be opened for writing. You can use all the usual filesystem functions, such as fread(), fwrite() and fgets() to manipulate the contents of the stream.

Bilginize: This function, and all manipulations of the large object, must be called and carried out within a transaction.

Bağımsız Değişkenler

oid

A large object identifier.

mode

If mode is r, open the stream for reading. If mode is w, open the stream for writing.

Dönen Değerler

Returns a stream resource on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 A PDO::pgsqlLOBOpen() example

Following on from the PDO::pgsqlLOBCreate() example, this code snippet retrieves the large object from the database and outputs it to the browser.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$stmt = $db->prepare("select oid from BLOBS where ident = ?");
$stmt->execute(array($some_id));
$stmt->bindColumn('oid', $oid, PDO::PARAM_STR);
$stmt->fetch(PDO::FETCH_BOUND);
$stream = $db->pgsqlLOBOpen($oid, 'r');
header("Content-type: application/octet-stream");
fpassthru($stream);
?>

Ayrıca Bakınız

  • PDO::pgsqlLOBCreate() - Creates a new large object
  • PDO::pgsqlLOBUnlink() - Deletes the large object
  • pg_lo_open() - Open a large object


Deletes the large object

  • « PDO::pgsqlLOBOpen
  • SQLite (PDO) »
  • PHP Manual
  • PostgreSQL (PDO)
  • Deletes the large object

PDO::pgsqlLOBUnlink

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL pdo_pgsql >= 1.0.2)

PDO::pgsqlLOBUnlink — Deletes the large object

Açıklama

public PDO::pgsqlLOBUnlink(string $oid): bool

Deletes a large object from the database identified by OID.

Bilginize: This function must be called within a transaction.

Bağımsız Değişkenler

oid

A large object identifier

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 A PDO::pgsqlLOBUnlink() example

This example unlinks a large object from the database prior to deleting the row that references it from the blobs table we've been using in our PDO::pgsqlLOBCreate() and PDO::pgsqlLOBOpen() examples.

<?php
$db = new PDO('pgsql:dbname=test host=localhost', $user, $pass);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$db->pgsqlLOBUnlink($oid);
$stmt = $db->prepare("DELETE FROM BLOBS where ident = ?");
$stmt->execute(array($some_id));
$db->commit();
?>

Ayrıca Bakınız

  • PDO::pgsqlLOBOpen() - Opens an existing large object stream
  • PDO::pgsqlLOBCreate() - Creates a new large object


SQLite (PDO_SQLITE) İşlevleri

Giriş

PDO_SQLITE, PHP Veri Nesneleri Arayüzünün (PDO) SQLite 3 veritabanlarına erişimini mümkün kılmak için gerçeklenmiş bir sürücüdür.

Bilginize:

PDO_SQLITE dizgelerin akımlardan ayrı olarak PDO::PARAM_LOB ile birlikte kullanımını mümkün kılar.

Kurulum

The PDO_SQLITE PDO driver is enabled by default. To disable, --without-pdo-sqlite[=DIR] may be used, where the optional [=DIR] is the sqlite base install directory. As of PHP 7.4.0 » libsqlite ? 3.5.0 is required. Formerly, the bundled libsqlite could have been used instead, and was the default, if [=DIR] has been omitted.

Bilginize: Additional setup on Windows as of PHP 7.4.0

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libsqlite3.dll.

İçindekiler

  • PDO_SQLITE DSN — SQLite veritabanı bağlantısı
  • PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements
  • PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements
  • PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements


SQLite veritabanı bağlantısı

  • « SQLite (PDO)
  • PDO::sqliteCreateAggregate »
  • PHP Manual
  • SQLite (PDO)
  • SQLite veritabanı bağlantısı

PDO_SQLITE DSN

(PHP 5 >= 5.1.0, PHP 7, PECL PDO_SQLITE >= 0.2.0)

PDO_SQLITE DSN — SQLite veritabanı bağlantısı

Açıklama

PDO_SQLITE Veri Kaynağı Adı (DSN) şu öğelerden oluşur:

DSN öneki (SQLite 3)

DSN öneki sqlite: dizesidir.

  • Disk üzerindeki bir veritabanına erişmek için DSN önekinin ardına eklenecek mutlak dosya yolu.

  • Bellekte bir veritabanı oluşturmak için DSN önekinin ardına eklenecek :memory: dizesi.

  • DSN sadece DSN önekinden oluşuyorsa, bağlantı kapandığı sırada silinen geçici bir veritabanı kullanılmıştır.

Örnekler

Örnek 1 - PDO_SQLITE DSN örnekleri

Aşağıdaki örneklerde SQLite veritabanlarına bağlanmak için PDO_SQLITE DSN kullanımları gösterilmiştir:

sqlite:/opt/databases/mydb.sq3
sqlite::memory:
sqlite:


Registers an aggregating User Defined Function for use in SQL statements

  • « PDO_SQLITE DSN
  • PDO::sqliteCreateCollation »
  • PHP Manual
  • SQLite (PDO)
  • Registers an aggregating User Defined Function for use in SQL statements

PDO::sqliteCreateAggregate

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateAggregate — Registers an aggregating User Defined Function for use in SQL statements

Açıklama

public PDO::sqliteCreateAggregate(
string $function_name,
callable $step_func,
callable $finalize_func,
int $num_args = ?
): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

This method is similar to PDO::sqliteCreateFunction except that it registers functions that can be used to calculate a result aggregated across all the rows of a query.

The key difference between this method and PDO::sqliteCreateFunction is that two functions are required to manage the aggregate.

Bağımsız Değişkenler

function_name

The name of the function used in SQL statements.

step_func

Callback function called for each row of the result set. Your PHP function should accumulate the result and store it in the aggregation context.

This function need to be defined as:

step(
mixed $context,
int $rownumber,
mixed $value,
mixed ...$values
): mixed
context

null for the first row; on subsequent rows it will have the value that was previously returned from the step function; you should use this to maintain the aggregate state.

rownumber

The current row number.

value

The first argument passed to the aggregate.

values

Further arguments passed to the aggregate.

The return value of this function will be used as the context argument in the next call of the step or finalize functions.

finalize_func

Callback function to aggregate the "stepped" data from each row. Once all the rows have been processed, this function will be called and it should then take the data from the aggregation context and return the result. This callback function should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

fini(mixed $context, int $rowcount): mixed
context

Holds the return value from the very last call to the step function.

rowcount

Holds the number of rows over which the aggregate was performed.

The return value of this function will be used as the return value for the aggregate.

num_args

Hint to the SQLite parser if the callback function accepts a predetermined number of arguments.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 max_length aggregation function example

<?php
$data = array(
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
'ten',
);
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
$insert->execute(array($str));
}
$insert = null;

function max_len_step($context, $rownumber, $string)
{
if (strlen($string) > $context) {
$context = strlen($string);
}
return $context;
}

function max_len_finalize($context, $rowcount)
{
return $context === null ? 0 : $context;
}

$db->sqliteCreateAggregate('max_len', 'max_len_step', 'max_len_finalize');

var_dump($db->query('SELECT max_len(a) from strings')->fetchAll());

?>

In this example, we are creating an aggregating function that will calculate the length of the longest string in one of the columns of the table. For each row, the max_len_step function is called and passed a $context parameter. The context parameter is just like any other PHP variable and be set to hold an array or even an object value. In this example, we are simply using it to hold the maximum length we have seen so far; if the $string has a length longer than the current maximum, we update the context to hold this new maximum length.

After all of the rows have been processed, SQLite calls the max_len_finalize function to determine the aggregate result. Here, we could perform some kind of calculation based on the data found in the $context. In our simple example though, we have been calculating the result as the query progressed, so we simply need to return the context value.

İpucu

It is NOT recommended for you to store a copy of the values in the context and then process them at the end, as you would cause SQLite to use a lot of memory to process the query - just think of how much memory you would need if a million rows were stored in memory, each containing a string 32 bytes in length.

İpucu

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Ayrıca Bakınız

  • PDO::sqliteCreateFunction
  • sqlite_create_function()
  • sqlite_create_aggregate()


Registers a User Defined Function for use as a collating function in SQL statements

  • « PDO::sqliteCreateAggregate
  • PDO::sqliteCreateFunction »
  • PHP Manual
  • SQLite (PDO)
  • Registers a User Defined Function for use as a collating function in SQL statements

PDO::sqliteCreateCollation

(PHP 5 >= 5.3.11, PHP 7, PHP 8)

PDO::sqliteCreateCollation — Registers a User Defined Function for use as a collating function in SQL statements

Açıklama

public PDO::sqliteCreateCollation(string $name, callable $callback): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

name

Name of the SQL collating function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

collation(string $string1, string $string2): int

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 PDO::sqliteCreateCollation() example

<?php
$db = new PDO('sqlite::memory:');
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach ($db->query("SELECT col1 FROM test ORDER BY col1") as $row) {
echo $row['col1'] . "\n";
}
echo "\n";
foreach ($db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $row) {
echo $row['col1'] . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

a1
a10
a2

a1
a2
a10


Registers a User Defined Function for use in SQL statements

  • « PDO::sqliteCreateCollation
  • Sağlayıcıya Göre Veritabanı Eklentileri »
  • PHP Manual
  • SQLite (PDO)
  • Registers a User Defined Function for use in SQL statements

PDO::sqliteCreateFunction

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo_sqlite >= 1.0.0)

PDO::sqliteCreateFunction — Registers a User Defined Function for use in SQL statements

Açıklama

public PDO::sqliteCreateFunction(
string $function_name,
callable $callback,
int $num_args = -1,
int $flags = 0
): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

This method allows you to register a PHP function with SQLite as an UDF (User Defined Function), so that it can be called from within your SQL statements.

The UDF can be used in any SQL statement that can call functions, such as SELECT and UPDATE statements and also in triggers.

Bağımsız Değişkenler

function_name

The name of the function used in SQL statements.

callback

Callback function to handle the defined SQL function.

Bilginize: Callback functions should return a type understood by SQLite (i.e. scalar type).

This function need to be defined as:

callback(mixed $value, mixed ...$values): mixed
value

The first argument passed to the SQL function.

values

Further arguments passed to the SQL function.

num_args

The number of arguments that the SQL function takes. If this parameter is -1, then the SQL function may take any number of arguments.

flags

A bitwise conjunction of flags. Currently, only PDO::SQLITE_DETERMINISTIC is supported, which specifies that the function always returns the same result given the same inputs within a single SQL statement.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.4 | The flags parameter has been added.

Örnekler

Örnek 1 PDO::sqliteCreateFunction() example

<?php
function md5_and_reverse($string)
{
return strrev(md5($string));
}

$db = new PDO('sqlite:sqlitedb');
$db->sqliteCreateFunction('md5rev', 'md5_and_reverse', 1);
$rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll();
?>

In this example, we have a function that calculates the md5 sum of a string, and then reverses it. When the SQL statement executes, it returns the value of the filename transformed by our function. The data returned in $rows contains the processed result.

The beauty of this technique is that you do not need to process the result using a foreach loop after you have queried for the data.

İpucu

You can use PDO::sqliteCreateFunction and PDO::sqliteCreateAggregate to override SQLite native SQL functions.

Ayrıca Bakınız

  • PDO::sqliteCreateAggregate
  • sqlite_create_function()
  • sqlite_create_aggregate()


Sağlayıcıya Göre Veritabanı Eklentileri

  • CUBRID
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • CUBRID İşlevleri
    • CUBRID MySQL Compatibility Functions
    • CUBRID Obsolete Aliases and Functions
  • dBase
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • dBase İşlevleri
  • Firebird/InterBase
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Firebird/InterBase İşlevleri
  • IBM DB2 — IBM DB2, Cloudscape and Apache Derby
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • IBM DB2 İşlevleri
  • MongoDB — MongoDB driver
    • Yapılandırma/Kurulum
    • Tutorials
    • Driver Architecture and Internals — Explains the driver architecture, and special features
    • Security
    • MongoDB\Driver — MongoDB driver classes
    • MongoDB\BSON — BSON type classes and serialization functions
    • MongoDB\Driver\Monitoring — Monitoring classes and subscriber functions
    • MongoDB\Driver\Exception — Exception classes
  • MySQL — MySQL Drivers and Plugins
    • Overview of the MySQL PHP drivers
    • MySQLi — MySQL Improved Extension
    • Mysql_xdevapi
    • MySQL (Özgün) — Özgün MySQL API
    • Mysqlnd — MySQL Native Driver
  • OCI8 — Oracle OCI8
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • OCI8 Connection Handling and Connection Pooling
    • OCI8 Fast Application Notification (FAN) Support
    • OCI8 Transparent Application Failover (TAF) Support
    • OCI8 and DTrace Dynamic Tracing
    • Supported Datatypes
    • OCI8 İşlevleri
    • OCICollection — The OCICollection class
    • OCILob — The OCILob class
    • OCI8 Obsolete Aliases and Functions
  • PostgreSQL
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • PostgreSQL İşlevleri
    • PgSql\Connection — The PgSql\Connection class
    • PgSql\Result — The PgSql\Result class
    • PgSql\Lob — The PgSql\Lob class
  • SQLite3
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SQLite3 — SQLite3 sınıfı
    • SQLite3Stmt — SQLite3Stmt sınıfı
    • SQLite3Result — SQLite3Result sınıfı
  • SQLSRV — Microsoft SQL Server Driver for PHP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SQLSRV İşlevleri


CUBRID

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • CUBRID İşlevleri
    • cubrid_bind — Bind variables to a prepared statement as parameters
    • cubrid_close_prepare — Close the request handle
    • cubrid_close_request — Close the request handle
    • cubrid_col_get — Get contents of collection type column using OID
    • cubrid_col_size — Get the number of elements in collection type column using OID
    • cubrid_column_names — Get the column names in result
    • cubrid_column_types — Get column types in result
    • cubrid_commit — Commit a transaction
    • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
    • cubrid_connect — Open a connection to a CUBRID Server
    • cubrid_current_oid — Get OID of the current cursor location
    • cubrid_disconnect — Close a database connection
    • cubrid_drop — Delete an instance using OID
    • cubrid_error_code_facility — Get the facility code of error
    • cubrid_error_code — Get error code for the most recent function call
    • cubrid_error_msg — Get last error message for the most recent function call
    • cubrid_execute — Execute a prepared SQL statement
    • cubrid_fetch — Fetch the next row from a result set
    • cubrid_free_result — Free the memory occupied by the result data
    • cubrid_get_autocommit — Get auto-commit mode of the connection
    • cubrid_get_charset — Return the current CUBRID connection charset
    • cubrid_get_class_name — Get the class name using OID
    • cubrid_get_client_info — Return the client library version
    • cubrid_get_db_parameter — Returns the CUBRID database parameters
    • cubrid_get_query_timeout — Get the query timeout value of the request
    • cubrid_get_server_info — Return the CUBRID server version
    • cubrid_get — Get a column using OID
    • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance — Check whether the instance pointed by OID exists
    • cubrid_lob_close — Close BLOB/CLOB data
    • cubrid_lob_export — Export BLOB/CLOB data to file
    • cubrid_lob_get — Get BLOB/CLOB data
    • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size — Get BLOB/CLOB data size
    • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters
    • cubrid_lob2_close — Close LOB object
    • cubrid_lob2_export — Export the lob object to a file
    • cubrid_lob2_import — Import BLOB/CLOB data from a file
    • cubrid_lob2_new — Create a lob object
    • cubrid_lob2_read — Read from BLOB/CLOB data
    • cubrid_lob2_seek64 — Move the cursor of a lob object
    • cubrid_lob2_seek — Move the cursor of a lob object
    • cubrid_lob2_size64 — Get a lob object's size
    • cubrid_lob2_size — Get a lob object's size
    • cubrid_lob2_tell64 — Tell the cursor position of the LOB object
    • cubrid_lob2_tell — Tell the cursor position of the LOB object
    • cubrid_lob2_write — Write to a lob object
    • cubrid_lock_read — Set a read lock on the given OID
    • cubrid_lock_write — Set a write lock on the given OID
    • cubrid_move_cursor — Move the cursor in the result
    • cubrid_next_result — Get result of next query when executing multiple SQL statements
    • cubrid_num_cols — Return the number of columns in the result set
    • cubrid_num_rows — Get the number of rows in the result set
    • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
    • cubrid_pconnect — Open a persistent connection to a CUBRID server
    • cubrid_prepare — Prepare a SQL statement for execution
    • cubrid_put — Update a column using OID
    • cubrid_rollback — Roll back a transaction
    • cubrid_schema — Get the requested schema information
    • cubrid_seq_drop — Delete an element from sequence type column using OID
    • cubrid_seq_insert — Insert an element to a sequence type column using OID
    • cubrid_seq_put — Update the element value of sequence type column using OID
    • cubrid_set_add — Insert a single element to set type column using OID
    • cubrid_set_autocommit — Set autocommit mode of the connection
    • cubrid_set_db_parameter — Sets the CUBRID database parameters
    • cubrid_set_drop — Delete an element from set type column using OID
    • cubrid_set_query_timeout — Set the timeout time of query execution
    • cubrid_version — Get the CUBRID PHP module's version
  • CUBRID MySQL Compatibility Functions
    • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
    • cubrid_client_encoding — Return the current CUBRID connection charset
    • cubrid_close — Close CUBRID connection
    • cubrid_data_seek — Move the internal row pointer of the CUBRID result
    • cubrid_db_name — Get db name from results of cubrid_list_dbs
    • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error — Get the error message
    • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field — Get column information from a result and return as an object
    • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object — Fetch the next row and return it as an object
    • cubrid_fetch_row — Return a numerical array with the values of the current row
    • cubrid_field_flags — Return a string with the flags of the given field offset
    • cubrid_field_len — Get the maximum length of the specified field
    • cubrid_field_name — Return the name of the specified field index
    • cubrid_field_seek — Move the result set cursor to the specified field offset
    • cubrid_field_table — Return the name of the table of the specified field
    • cubrid_field_type — Return the type of the column corresponding to the given field offset
    • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
    • cubrid_num_fields — Return the number of columns in the result set
    • cubrid_ping — Ping a server connection or reconnect if there is no connection
    • cubrid_query — Send a CUBRID query
    • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
    • cubrid_result — Return the value of a specific field in a specific row
    • cubrid_unbuffered_query — Perform a query without fetching the results into memory
  • CUBRID Obsolete Aliases and Functions
    • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
    • cubrid_new_glo — Create a glo instance
    • cubrid_save_to_glo — Save requested file in a GLO instance
    • cubrid_send_glo — Read data from glo and send it to std output


Giriş

These functions allow you to access CUBRID database servers. More information about CUBRID can be found at » CUBRID.

Documentation for CUBRID can be found at » CUBRID Documentation.


Gereksinimler

In order to have these functions available, you must install CUBRID, and compile CUBRID PHP Library with CUBRID support.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/cubrid.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.

For information about manual installation on Linux and Windows systems, please read the file build-guide.html included in the package.


  • « Kurulum
  • Özkaynak Türleri »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

There is no runtime configuration now.


Özkaynak Türleri

There are four resource types used in CUBRID. The first one is the link identifier for a database connection, the second is the a resource which holds the result of a query, and the last two a resource which holds the query results of BLOB/CLOB data types.

connection identifier

A connection identifier returned by cubrid_connect(),
cubrid_connect_with_url(),
cubrid_pconnect() and
cubrid_pconnect_with_url().

request identifier

A request identifier returned by cubrid_prepare() and cubrid_execute().

LOB identifier

A LOB identifier returned by cubrid_lob_get().

LOB2 identifier

A LOB identifier returned by cubrid_lob2_new() or get from the result set.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

The following constants can be used when executing SQL statement. They can be passed to cubrid_prepare() and cubrid_execute().

CUBRID SQL execution flags
Constant | Description
CUBRID_INCLUDE_OID | Determine whether to get OID during query execution.
CUBRID_ASYNC | Execute the query in asynchronous mode.
CUBRID_EXEC_QUERY_ALL | Execute the query in synchronous mode. This flag must be set when executing multiple SQL statements.

The following constants can be used when fetching the results to specify fetch behaviour. They can be passed to cubrid_fetch() and cubrid_fetch_array().

CUBRID fetch flags
Constant | Description
CUBRID_NUM | Get query result as a numeric array (0-default).
CUBRID_ASSOC | Get query result as an associative array.
CUBRID_BOTH | Get query result as both numeric and associative arrays (default value).
CUBRID_OBJECT | Get query result an object.
CUBRID_LOB | The constant CUBRID_LOB can be used when you want to operate the lob object. It can be passed to cubrid_fetch(), cubrid_fetch_row(), cubrid_fetch_array(), cubrid_fetch_assoc() and cubrid_fetch_object().

The following constants can be used when positioning the cursor in query results. They can be passed to or returned by cubrid_move_cursor().

CUBRID cursor position flags
Constant | Description
CUBRID_CURSOR_FIRST | Move current cursor to the first position in the result.
CUBRID_CURSOR_CURRENT | Move current cursor as a default value if the origin is not specified.
CUBRID_CURSOR_LAST | Move current cursor to the last position in the result.
CUBRID_CURSOR_SUCCESS | Returned value of cubrid_move_cursor() function in case of success. This flag has been removed from 8.4.1.
CUBRID_NO_MORE_DATA | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.
CUBRID_CURSOR_ERROR | Returned value of cubrid_move_cursor() function in case of failure. This flag has been removed from 8.4.1.

The following constants can be used when setting the auto-commit mode for the database connection. They can be passed to cubrid_set_autocommit() or returned by cubrid_get_autocommit().

CUBRID auto-commit mode flags
Constant | Description
CUBRID_AUTOCOMMIT_TRUE | Enable the auto-commit mode.
CUBRID_AUTOCOMMIT_FALSE | Disable the auto-commit mode.

The following constants can be used when setting the database parameter. They can be passed to cubrid_set_db_parameter().

CUBRID parameter flags
Constant | Description
CUBRID_PARAM_ISOLATION_LEVEL | Transaction isolation level for the database connection.
CUBRID_PARAM_LOCK_TIMEOUT | Transaction timeout in seconds.

The following constants can be used when setting the transaction isolation level. They can be passed to cubrid_set_db_parameter() or returned by cubrid_get_db_parameter().

CUBRID isolation level flags
Constant | Description
TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | The lowest isolation level (1). A dirty, non-repeatable or phantom read may occur for the tuple and a non-repeatable read may occur for the table as well.
TRAN_COMMIT_CLASS_COMMIT_INSTANCE | A relatively low isolation level (2). A dirty read does not occur, but non-repeatable or phantom read may occur.
TRAN_REP_CLASS_UNCOMMIT_INSTANCE | The default isolation of CUBRID (3). A dirty, non-repeatable or phantom read may occur for the tuple, but repeatable read is ensured for the table.
TRAN_REP_CLASS_COMMIT_INSTANCE | A relatively low isolation level (4). A dirty read does not occur, but non-repeatable or phantom read may.
TRAN_REP_CLASS_REP_INSTANCE | A relatively high isolation level (5). A dirty or non-repeatable read does not occur, but a phantom read may.
TRAN_SERIALIZABLE | The highest isolation level (6). Problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.

The following constants can be used when getting schema information. They can be passed to cubrid_schema().

CUBRID schema flags
Constant | Description
CUBRID_SCH_CLASS | Get name and type of table in CUBRID.
CUBRID_SCH_VCLASS | Get name and type of view in CUBRID.
CUBRID_SCH_QUERY_SPEC | Get the query definition of view.
CUBRID_SCH_ATTRIBUTE | Get the attributes of table column.
CUBRID_SCH_CLASS_ATTRIBUTE | Get the attributes of table.
CUBRID_SCH_METHOD | Get the instance method. The instance method is a method called by a class instance. It is used more often than the class method because most operations are executed in the instance.
CUBRID_SCH_CLASS_METHOD | Get the class method. The class method is a method called by a class object. It is usually used to create a new class instance or to initialize it. It is also used to access or update class attributes.
CUBRID_SCH_METHOD_FILE | Get the information of the file where the method of the table is defined.
CUBRID_SCH_SUPERCLASS | Get the name and type of table which table inherites attributes from.
CUBRID_SCH_SUBCLASS | Get the name and type of table which inherites attributes from this table.
CUBRID_SCH_CONSTRAINT | Get the table constraints.
CUBRID_SCH_TRIGGER | Get the table triggers.
CUBRID_SCH_CLASS_PRIVILEGE | Get the privilege information of table.
CUBRID_SCH_ATTR_PRIVILEGE | Get the privilege information of column.
CUBRID_SCH_DIRECT_SUPER_CLASS | Get the direct super table of table.
CUBRID_SCH_PRIMARY_KEY | Get the table primary key.
CUBRID_SCH_IMPORTED_KEYS | Get imported keys of table.
CUBRID_SCH_EXPORTED_KEYS | Get exported keys of table.
CUBRID_SCH_CROSS_REFERENCE | Get reference relationship of tow tables.

The following constants can be used when reporting errors. They can be returned from cubrid_error_code_facility().

CUBRID error facility code
Constant | Description
CUBRID_FACILITY_DBMS | The error occurred in CUBRID dbms.
CUBRID_FACILITY_CAS | The error occurred in CUBRID broker cas.
CUBRID_FACILITY_CCI | The error occurred in CUBRID cci.
CUBRID_FACILITY_CLIENT | The error occurred in CUBRID PHP client.


Örnekler

The following is a simple example that establishes a connection between PHP and CUBRID. This section will cover the most basic and notable features. The following code required to connect to CUBRID database, which means CUBRID Server and CUBRID Broker have to be running.

The example below uses the demodb database as an examples. By default it is created during the installation. Make sure it has been created.

Örnek 1 Example of Data Retrieval

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
</head>
<body>
<center>
<table border=2>
<?php
/**
* Set server information for CUBRID connection. host_ip is the IP
* address where the CUBRID Broker is installed (localhost in this
* example), and host_port is the port number of the CUBRID Broker.
* The port number is the default given during the installation.
* For details, see "Administrator's Guide."
*/
$host_ip = "localhost";
$host_port = 33000;
$db_name = "demodb";
/**
* Connect to CUBRID Server. Do not make the actual connection, but
* only retain the connection information. The reason for not making
* the actual connection is to handle transaction more efficiently
* in the 3-tier architecture.
*/
$cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

if (!$cubrid_con) {
echo "Database Connection Error";
exit;
}
?>
 <?php
$sql = "select sports, count(players) as players from event group by sports";
/**
* Request the CUBRID Server for the results of the SQL statement.
* Now make the actual connection to the CUBRID Server.
*/
$result = cubrid_execute($cubrid_con, $sql);

if ($result) {
/**
* Get the column names from the result set created by the SQL query.
*/
$columns = cubrid_column_names($result);
/**
* Get the number of columns in the result set created by the SQL query.
*/
$num_fields = cubrid_num_cols($result);
/**
* List the column names of the result set on the screen.
*/
echo "<tr>";

while (list($key, $colname) = each($columns)) {
echo "<td align=center>$colname</td>";
}

echo "</tr>";

/**
* Get the results from the result set.
*/
while ($row = cubrid_fetch($result)) {
echo "<tr>";

for ($i = 0; $i < $num_fields; $i++) {
echo "<td align=center>";
echo $row[$i];
echo "</td>";
}

echo "</tr>";
}
}
/**
* The PHP module in the CUBRID runs in a 3-tier architecture. Even when
* calling SELECT for transaction processing, it is processed as a part
* of the transaction. Therefore, the transaction needs to be rolled back
* by calling commit or rollback even though SELECT was called for smooth
* performance.
*/
cubrid_commit($cubrid_con);
cubrid_disconnect($cubrid_con);
?>
 </body>
</html>

Örnek 2 Example of Data Insertion

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc- kr">
</head>
<body>
<center>
<table border=2>
<?php
/**
* host_ip is the IP address where the CUBRID Broker is installed
* host_port is the port number of the CUBRID Broker
* db_name is the name of CUBRID Database
*/
$host_ip = "localhost";
$host_port = 33000;
$db_name = "demodb";
$cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

if (!$cubrid_con) {
echo "Database Connection Error";
exit;
}
?>
 <?php
$sql = "insert into olympic (host_year,host_nation,host_city,"
. "opening_date,closing_date) values (2008, 'China', 'Beijing',"
. "to_date('08-08-2008','mm-dd- yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;";
$result = cubrid_execute($cubrid_con, $sql);
if ($result) {
/**
* Handled successfully, so commit.
*/
cubrid_commit($cubrid_con);
echo "Inserted successfully ";
} else {
/**
* Error occurred, so the error message is output and rollback is called.
*/
echo cubrid_error_msg();
cubrid_rollback($cubrid_con);
}
cubrid_disconnect($cubrid_con);
?>
 </body>
</html>


CUBRID İşlevleri

İçindekiler

  • cubrid_bind — Bind variables to a prepared statement as parameters
  • cubrid_close_prepare — Close the request handle
  • cubrid_close_request — Close the request handle
  • cubrid_col_get — Get contents of collection type column using OID
  • cubrid_col_size — Get the number of elements in collection type column using OID
  • cubrid_column_names — Get the column names in result
  • cubrid_column_types — Get column types in result
  • cubrid_commit — Commit a transaction
  • cubrid_connect_with_url — Establish the environment for connecting to CUBRID server
  • cubrid_connect — Open a connection to a CUBRID Server
  • cubrid_current_oid — Get OID of the current cursor location
  • cubrid_disconnect — Close a database connection
  • cubrid_drop — Delete an instance using OID
  • cubrid_error_code_facility — Get the facility code of error
  • cubrid_error_code — Get error code for the most recent function call
  • cubrid_error_msg — Get last error message for the most recent function call
  • cubrid_execute — Execute a prepared SQL statement
  • cubrid_fetch — Fetch the next row from a result set
  • cubrid_free_result — Free the memory occupied by the result data
  • cubrid_get_autocommit — Get auto-commit mode of the connection
  • cubrid_get_charset — Return the current CUBRID connection charset
  • cubrid_get_class_name — Get the class name using OID
  • cubrid_get_client_info — Return the client library version
  • cubrid_get_db_parameter — Returns the CUBRID database parameters
  • cubrid_get_query_timeout — Get the query timeout value of the request
  • cubrid_get_server_info — Return the CUBRID server version
  • cubrid_get — Get a column using OID
  • cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column
  • cubrid_is_instance — Check whether the instance pointed by OID exists
  • cubrid_lob_close — Close BLOB/CLOB data
  • cubrid_lob_export — Export BLOB/CLOB data to file
  • cubrid_lob_get — Get BLOB/CLOB data
  • cubrid_lob_send — Read BLOB/CLOB data and send straight to browser
  • cubrid_lob_size — Get BLOB/CLOB data size
  • cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters
  • cubrid_lob2_close — Close LOB object
  • cubrid_lob2_export — Export the lob object to a file
  • cubrid_lob2_import — Import BLOB/CLOB data from a file
  • cubrid_lob2_new — Create a lob object
  • cubrid_lob2_read — Read from BLOB/CLOB data
  • cubrid_lob2_seek64 — Move the cursor of a lob object
  • cubrid_lob2_seek — Move the cursor of a lob object
  • cubrid_lob2_size64 — Get a lob object's size
  • cubrid_lob2_size — Get a lob object's size
  • cubrid_lob2_tell64 — Tell the cursor position of the LOB object
  • cubrid_lob2_tell — Tell the cursor position of the LOB object
  • cubrid_lob2_write — Write to a lob object
  • cubrid_lock_read — Set a read lock on the given OID
  • cubrid_lock_write — Set a write lock on the given OID
  • cubrid_move_cursor — Move the cursor in the result
  • cubrid_next_result — Get result of next query when executing multiple SQL statements
  • cubrid_num_cols — Return the number of columns in the result set
  • cubrid_num_rows — Get the number of rows in the result set
  • cubrid_pconnect_with_url — Open a persistent connection to CUBRID server
  • cubrid_pconnect — Open a persistent connection to a CUBRID server
  • cubrid_prepare — Prepare a SQL statement for execution
  • cubrid_put — Update a column using OID
  • cubrid_rollback — Roll back a transaction
  • cubrid_schema — Get the requested schema information
  • cubrid_seq_drop — Delete an element from sequence type column using OID
  • cubrid_seq_insert — Insert an element to a sequence type column using OID
  • cubrid_seq_put — Update the element value of sequence type column using OID
  • cubrid_set_add — Insert a single element to set type column using OID
  • cubrid_set_autocommit — Set autocommit mode of the connection
  • cubrid_set_db_parameter — Sets the CUBRID database parameters
  • cubrid_set_drop — Delete an element from set type column using OID
  • cubrid_set_query_timeout — Set the timeout time of query execution
  • cubrid_version — Get the CUBRID PHP module's version


Bind variables to a prepared statement as parameters

  • « CUBRID İşlevleri
  • cubrid_close_prepare »
  • PHP Manual
  • CUBRID İşlevleri
  • Bind variables to a prepared statement as parameters

cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — Bind variables to a prepared statement as parameters

Açıklama

cubrid_bind(
resource $req_identifier,
int $bind_index,
mixed $bind_value,
string $bind_value_type = ?
): bool

The cubrid_bind() function is used to bind values to a corresponding named or question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be the default.

Bilginize:

If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If the actually bind value type is not stream, CUBRID will convert it to string, and use it as the full path and file name of a file on the client filesystem.

If the type of data to be bound explicitly is ENUM, the bind_value argument should be the enum element which is in string format.

In CUBRID shard envrioment, the bind_value_type must be included in the cubrid_bind() function.

The following table shows the types of substitute values.

CUBRID Bind Date Types
Support | Bind Type | Corresponding SQL Type
Supported | STRING | CHAR, VARCHAR
 | NCHAR | NCHAR, NVARCHAR
 | BIT | BIT, VARBIT
 | NUMERIC or NUMBER | SHORT, INT, NUMERIC
 | FLOAT | FLOAT
 | DOUBLE | DOUBLE
 | TIME | TIME
 | DATE | DATE
 | TIMESTAMP | TIMESTAMP
 | OBJECT | OBJECT
 | ENUM | ENUM
 | BLOB | BLOB
 | CLOB | CLOB
 | NULL | NULL
Not supported | SET | SET
 | MULTISET | MULTISET
 | SEQUENCE | SEQUENCE

Bağımsız Değişkenler

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

A type of the value to bind. (It is omitted by default. Thus, the system internally uses string by default. However, you need to specify the exact type of the value as an argument when they are NCHAR, BIT, or BLOB/CLOB).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.1 | Added BLOB/CLOB data types support.

Örnekler

Örnek 1 cubrid_bind() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
$athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
cubrid_execute($athlete_req);
$row = cubrid_fetch_assoc($athlete_req);
printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles

Örnek 2 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
$req = cubrid_prepare($con, $sql);

$fp = fopen("book.txt", "rb");

cubrid_bind($req, 1, $fp, "clob");
cubrid_execute($req);
}
?>

Örnek 3 cubrid_bind() BLOB/CLOB example

<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
$req = cubrid_prepare($con, $sql);

cubrid_bind($req, 1, "cubrid_logo.png", "blob");
cubrid_execute($req);
}
?>

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_prepare() - Prepare a SQL statement for execution


Close the request handle

  • « cubrid_bind
  • cubrid_close_request »
  • PHP Manual
  • CUBRID İşlevleri
  • Close the request handle

cubrid_close_prepare

(PECL CUBRID >= 8.3.0)

cubrid_close_prepare — Close the request handle

Açıklama

cubrid_close_prepare(resource $req_identifier): bool

The cubrid_close_prepare() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_request().

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Return true on success.

Örnekler

Örnek 1 cubrid_close_prepare() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
echo "connected successfully";
$req = cubrid_execute ( $con, "select * from members",
CUBRID_INCLUDE_OID | CUBRID_ASYNC);
if ($req) {
while ( list ($id, $name) = cubrid_fetch ($req) ){
echo $id;
echo $name;
}
cubrid_close_prepare($req); // or you can use cubrid_close_request($req)
}
cubrid_disconnect($con);
}
?>

Ayrıca Bakınız

  • cubrid_close_request() - Close the request handle


Close the request handle

  • « cubrid_close_prepare
  • cubrid_col_get »
  • PHP Manual
  • CUBRID İşlevleri
  • Close the request handle

cubrid_close_request

(PECL CUBRID >= 8.3.0)

cubrid_close_request — Close the request handle

Açıklama

cubrid_close_request(resource $req_identifier): bool

The cubrid_close_request() function closes the request handle given by the req_identifier argument, and releases the memory region related to the handle. It is an alias of cubrid_close_prepare().

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Return true on success.

Örnekler

Örnek 1 cubrid_close_request() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb", "dba", "");
if ($con) {
echo "connected successfully";
$req = cubrid_execute ( $con, "select * from members",
CUBRID_INCLUDE_OID | CUBRID_ASYNC);
if ($req) {
while ( list ($id, $name) = cubrid_fetch ($req) ){
echo $id;
echo $name;
}
cubrid_close_request($req); // or you can use cubrid_close_prepare($req)
}
cubrid_disconnect($con);
}
?>

Ayrıca Bakınız

  • cubrid_close_prepare() - Close the request handle


Get contents of collection type column using OID

  • « cubrid_close_request
  • cubrid_col_size »
  • PHP Manual
  • CUBRID İşlevleri
  • Get contents of collection type column using OID

cubrid_col_get

(PECL CUBRID >= 8.3.0)

cubrid_col_get — Get contents of collection type column using OID

Açıklama

cubrid_col_get(resource $conn_identifier, string $oid, string $attr_name): array

The cubrid_col_get() function is used to get contents of the elements of the collection type (set, multiset, sequence) attribute you requested as an array.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr_name

Attribute name that you want to read from the instance.

Dönen Değerler

Array (0-based numerical array) containing the elements you requested, when process is successful;

false (to distinguish the error from the situation of attribute having empty collection or NULL, in case of error, a warning message is shown; in such case you can check the error by using cubrid_error_code()), when process is unsuccessful.

Örnekler

Örnek 1 cubrid_col_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)


Get the number of elements in collection type column using OID

  • « cubrid_col_get
  • cubrid_column_names »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the number of elements in collection type column using OID

cubrid_col_size

(PECL CUBRID >= 8.3.0)

cubrid_col_size — Get the number of elements in collection type column using OID

Açıklama

cubrid_col_size(resource $conn_identifier, string $oid, string $attr_name): int

The cubrid_col_size() function is used to get the number of elements in a collection type (set, multiset, sequence) attribute.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID the instance that you want to work with.

attr_name

Name of the attribute that you want to work with.

Dönen Değerler

Number of elements, when process is successful, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Örnekler

Örnek 1 cubrid_col_size() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

$size = cubrid_col_size($conn, $oid, "b");
var_dump($size);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
int(3)


Get the column names in result

  • « cubrid_col_size
  • cubrid_column_types »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the column names in result

cubrid_column_names

(PECL CUBRID >= 8.3.0)

cubrid_column_names — Get the column names in result

Açıklama

cubrid_column_names(resource $req_identifier): array

The cubrid_column_names() function is used to get the column names of the query result by using req_identifier.

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Array of string values containing the column names, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_column_names() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
$column_len = cubrid_field_len($result, $i);
printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Ayrıca Bakınız

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_column_types() - Get column types in result


Get column types in result

  • « cubrid_column_names
  • cubrid_commit »
  • PHP Manual
  • CUBRID İşlevleri
  • Get column types in result

cubrid_column_types

(PECL CUBRID >= 8.3.0)

cubrid_column_types — Get column types in result

Açıklama

cubrid_column_types(resource $req_identifier): array

The cubrid_column_types() function gets column types of query results by using req_identifier.

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Array of string values containing the column types, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_column_types() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
$column_len = cubrid_field_len($result, $i);
printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10

Ayrıca Bakınız

  • cubrid_column_names() - Get the column names in result
  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_execute() - Execute a prepared SQL statement


Commit a transaction

  • « cubrid_column_types
  • cubrid_connect_with_url »
  • PHP Manual
  • CUBRID İşlevleri
  • Commit a transaction

cubrid_commit

(PECL CUBRID >= 8.3.0)

cubrid_commit — Commit a transaction

Açıklama

cubrid_commit(resource $conn_identifier): bool

The cubrid_commit() function is used to execute commit on the transaction pointed by conn_identifier, currently in progress. Connection to the server is closed after the cubrid_commit() function is called; However, the connection handle is still valid.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. You can set it by using cubrid_set_autocommit(). You can get its status by using cubrid_get_autocommit(). Before you start a transaction, remember to disable the auto-commit mode.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_commit() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;
cubrid_set_autocommit($conn,false);
if (!cubrid_execute($conn, $sql)) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
cubrid_bind($req, 1, $id_list[$i]);
cubrid_bind($req, 2, $name_list[$i]);
cubrid_bind($req, 3, $city_list[$i]);
cubrid_bind($req, 4, $state_list[$i]);
cubrid_bind($req, 5, $country_list[$i]);

if (!($ret = cubrid_execute($req))) {
break;
}
}

if (!$ret) {
cubrid_rollback($conn);
} else {
cubrid_commit($conn);

$req = cubrid_execute($conn, "SELECT * FROM publishers");
while ($result = cubrid_fetch_assoc($req)) {
printf("%-3s %-20s %-15s %-3s %-15s\n",
$result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
}
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Ayrıca Bakınız

  • cubrid_rollback() - Roll back a transaction
  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_set_autocommit() - Set autocommit mode of the connection


Establish the environment for connecting to CUBRID server

  • « cubrid_commit
  • cubrid_connect »
  • PHP Manual
  • CUBRID İşlevleri
  • Establish the environment for connecting to CUBRID server

cubrid_connect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_connect_with_url — Establish the environment for connecting to CUBRID server

Açıklama

cubrid_connect_with_url(
string $conn_url,
string $userid = ?,
string $passwd = ?,
bool $new_link = false
): resource

The cubrid_connect_with_url() function is used to establish the environment for connecting to your server by using connection information passed with an url string argument. If the HA feature is enabled in CUBRID, you must specify the connection information of the standby server, which is used for failover when failure occurs, in the url string argument of this function. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Bilginize:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_connect_with_url($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Bağımsız Değişkenler

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

new_link

If a second call is made to cubrid_connect_with_url() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect_with_url() always open a new connection, even if cubrid_connect_with_url() was called before with the same parameters.

Dönen Değerler

Connection identifier, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_connect_with_url() url without properties example

<?php
$conn_url = "CUBRID:localhost:33000:demodb:dba::";
$con = cubrid_connect_with_url($conn_url);

if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");

if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}
cubrid_disconnect($con);
}
?>

Örnek 2 cubrid_connect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?login_timeout=100";
$con = cubrid_connect_with_url ($conn_url);

if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");

if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}
cubrid_disconnect($con);
}
?>

Ayrıca Bakınız

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Open a connection to a CUBRID Server

  • « cubrid_connect_with_url
  • cubrid_current_oid »
  • PHP Manual
  • CUBRID İşlevleri
  • Open a connection to a CUBRID Server

cubrid_connect

(PECL CUBRID >= 8.3.1)

cubrid_connect — Open a connection to a CUBRID Server

Açıklama

cubrid_connect(
string $host,
int $port,
string $dbname,
string $userid = ?,
string $passwd = ?,
bool $new_link = false
): resource

The cubrid_connect() function is used to establish the environment for connecting to your server by using your server address, port number, database name, user name, and password. If the user name and password is not given, then the "PUBLIC" connection will be made by default.

Bağımsız Değişkenler

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database. If not given, the default value is "public".

passwd

User password. If not given, the default value is "".

new_link

If a second call is made to cubrid_connect() with the same arguments, no new connection will be established, but instead, the connection identifier of the already opened connection will be returned. The new_link parameter modifies this behavior and makes cubrid_connect() always open a new connection, even if cubrid_connect() was called before with the same parameters.

Dönen Değerler

Connection identifier, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ayrıca Bakınız

  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Get OID of the current cursor location

  • « cubrid_connect
  • cubrid_disconnect »
  • PHP Manual
  • CUBRID İşlevleri
  • Get OID of the current cursor location

cubrid_current_oid

(PECL CUBRID >= 8.3.0)

cubrid_current_oid — Get OID of the current cursor location

Açıklama

cubrid_current_oid(resource $req_identifier): string

The cubrid_current_oid() function is used to get the oid of the current cursor location from the query result. To use cubrid_current_oid(), the query executed must be a updatable query, and the CUBRID_INCLUDE_OID option must be included during the query execution.

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Oid of current cursor location, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_current_oid() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$res = cubrid_get($conn, $oid);

print_r($res);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [s_name] => X
    [f_name] => Mixed
)

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement


Close a database connection

  • « cubrid_current_oid
  • cubrid_drop »
  • PHP Manual
  • CUBRID İşlevleri
  • Close a database connection

cubrid_disconnect

(PECL CUBRID >= 8.3.0)

cubrid_disconnect — Close a database connection

Açıklama

cubrid_disconnect(resource $conn_identifier = ?): bool

The cubrid_disconnect() function closes the connection handle and disconnects from server. If any request handle is not closed at this point, it will be closed. It is similar to the CUBRID MySQL compatible function cubrid_close().

Bağımsız Değişkenler

conn_identifier

Connection identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_disconnect() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
echo "connected successfully";

$req = cubrid_execute( $con, "create table person(id int,name char(10))");
if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}

$req = cubrid_execute( $con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request($req);
cubrid_commit($con);
} else {
cubrid_rollback($con);
}
cubrid_disconnect($con);
}
?>

Ayrıca Bakınız

  • cubrid_close() - Close CUBRID connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server


Delete an instance using OID

  • « cubrid_disconnect
  • cubrid_error_code_facility »
  • PHP Manual
  • CUBRID İşlevleri
  • Delete an instance using OID

cubrid_drop

(PECL CUBRID >= 8.3.0)

cubrid_drop — Delete an instance using OID

Açıklama

cubrid_drop(resource $conn_identifier, string $oid): bool

The cubrid_drop() function is used to delete an instance from database by using the oid of the instance.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

Oid of the instance that you want to delete.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("--- Before Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

if (cubrid_drop($conn, $oid)) {
cubrid_commit($conn);
} else {
cubrid_rollback($conn);
}

cubrid_close_request($req);

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

printf("\n--- After Drop: ---\n");
$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

--- Before Drop: ---
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

--- After Drop: ---
array(4) {
  ["a"]=>
  string(1) "2"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "4"
    [1]=>
    string(1) "5"
    [2]=>
    string(1) "7"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "44"
    [1]=>
    string(2) "55"
    [2]=>
    string(2) "66"
    [3]=>
    string(3) "666"
  }
  ["d"]=>
  string(10) "b         "
}

Ayrıca Bakınız

  • cubrid_is_instance() - Check whether the instance pointed by OID exists


Get the facility code of error

  • « cubrid_drop
  • cubrid_error_code »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the facility code of error

cubrid_error_code_facility

(PECL CUBRID >= 8.3.0)

cubrid_error_code_facility — Get the facility code of error

Açıklama

cubrid_error_code_facility(): int

The cubrid_error_code_facility() function is used to get the facility code (level in which the error occurred) from the error code of the error that occurred during the API execution. Usually, you can get the error code when API returns false as its return value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Facility code of the error code that occurred: CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI, CUBRID_FACILITY_CLIENT.

Örnekler

Örnek 1 cubrid_error_code_facility() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = @cubrid_execute($conn, "SELECT * FROM unknown");
if (!$req) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n",
cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}
?>

Yukarıdaki örneğin çıktısı:

Error facility: 1
Error code: -493
Error msg: Syntax: In line 1, column 15 before END OF STATEMENT
Syntax error: unexpected 'unknown'

Ayrıca Bakınız

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Get error code for the most recent function call

  • « cubrid_error_code_facility
  • cubrid_error_msg »
  • PHP Manual
  • CUBRID İşlevleri
  • Get error code for the most recent function call

cubrid_error_code

(PECL CUBRID >= 8.3.0)

cubrid_error_code — Get error code for the most recent function call

Açıklama

cubrid_error_code(): int

The cubrid_error_code() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Error code of the error that occurred, or 0 (zero) if no error occurred.

Örnekler

Örnek 1 cubrid_error_code() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_prepare($conn , "SELECT * FROM code WHERE s_name=?");

$req = @cubrid_execute($req);
if (!$req) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n",
cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}
?>

Yukarıdaki örneğin çıktısı:

Error facility: 4
Error code: -30015
Error msg: Some parameter not binded

Ayrıca Bakınız

  • cubrid_error_code_facility() - Get the facility code of error
  • cubrid_error_msg() - Get last error message for the most recent function call


Get last error message for the most recent function call

  • « cubrid_error_code
  • cubrid_execute »
  • PHP Manual
  • CUBRID İşlevleri
  • Get last error message for the most recent function call

cubrid_error_msg

(PECL CUBRID >= 8.3.0)

cubrid_error_msg — Get last error message for the most recent function call

Açıklama

cubrid_error_msg(): string

The cubrid_error_msg() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Error message that occurred.

Örnekler

Örnek 1 cubrid_error_msg() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

if (!@cubrid_schema($conn, 100000)) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n",
cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}
?>

Yukarıdaki örneğin çıktısı:

Error facility: 2
Error code: -10015
Error msg: Invalid T_CCI_SCH_TYPE value

Ayrıca Bakınız

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error


Execute a prepared SQL statement

  • « cubrid_error_msg
  • cubrid_fetch »
  • PHP Manual
  • CUBRID İşlevleri
  • Execute a prepared SQL statement

cubrid_execute

(PECL CUBRID >= 8.3.0)

cubrid_execute — Execute a prepared SQL statement

Açıklama

cubrid_execute(resource $conn_identifier, string $sql, int $option = 0): resource
cubrid_execute(resource $request_identifier, int $option = 0): bool

The cubrid_execute() function is used to execute the given SQL statement. It executes the query by using conn_identifier and SQL, and then returns the request identifier created. It is used for simple execution of query, where the parameter binding is not needed. In addition, the cubrid_execute() function is used to execute the prepared statement by means of cubrid_prepare() and cubrid_bind(). At this time, you need to specify arguments of request_identifier and option.

The option is used to determine whether to get OID after query execution and whether to execute the query in synchronous or asynchronous mode. CUBRID_INCLUDE_OID and CUBRID_ASYNC (or CUBRID_EXEC_QUERY_ALL if you want to execute multiple SQL statements) can be specified by using a bitwise OR operator. If not specified, neither of them isselected. If the flag CUBRID_EXEC_QUERY_ALL is set, a synchronous mode (sync_mode) is used to retrieve query results, and in such cases the following rules are applied:

  • The return value is the result of the first query.
  • If an error occurs in any query, the execution is processed as a failure.
  • In a query composed of q1 q2 q3, if an error occurs in q2 after q1 succeeds the execution, the result of q1 remains valid. That is, the previous successful query executions are not rolled back when an error occurs.
  • If a query is executed successfully, the result of the second query can be obtained using cubrid_next_result().

If the first argument is request_identifier to execute the cubrid_prepare() function, you can specify an option, CUBRID_ASYNC only.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

sql

SQL to be executed.

option

Query execution option CUBRID_INCLUDE_OID, CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.

request_identifier

cubrid_prepare() identifier.

Dönen Değerler

Request identifier, when process is successful and first param is conn_identifier; true, when process is successful and first argument is request_identifier, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.4.0 | Add new option CUBRID_EXEC_QUERY_ALL.

Örnekler

Örnek 1 cubrid_execute() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE name='100m Butterfly' and gender='M'", CUBRID_ASYNC);
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$history_req = cubrid_prepare($conn, "SELECT * FROM history WHERE event_code=?");
cubrid_bind($history_req, 1, $event_code, "number");
cubrid_execute($history_req);

printf("%-20s %-9s %-10s %-5s\n", "athlete", "host_year", "score", "unit");
while ($row = cubrid_fetch_array($history_req, CUBRID_ASSOC)) {
printf("%-20s %-9s %-10s %-5s\n",
$row["athlete"], $row["host_year"], $row["score"], $row["unit"]);
}

cubrid_close_request($history_req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

athlete              host_year score      unit
Phelps Michael       2004      51.25      time

Ayrıca Bakınız

  • cubrid_prepare() - Prepare a SQL statement for execution
  • cubrid_bind() - Bind variables to a prepared statement as parameters
  • cubrid_next_result() - Get result of next query when executing multiple SQL statements
  • cubrid_close_request() - Close the request handle
  • cubrid_commit() - Commit a transaction
  • cubrid_rollback() - Roll back a transaction


Fetch the next row from a result set

  • « cubrid_execute
  • cubrid_free_result »
  • PHP Manual
  • CUBRID İşlevleri
  • Fetch the next row from a result set

cubrid_fetch

(PECL CUBRID >= 8.3.0)

cubrid_fetch — Fetch the next row from a result set

Açıklama

cubrid_fetch(resource $result, int $type = CUBRID_BOTH): mixed

The cubrid_fetch() function is used to get a single row from the query result. The cursor automatically moves to the next row after getting the result.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. If you want to operate the lob object, you can use CUBRID_LOB.

Dönen Değerler

Result array or object, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

The result can be received either as an array or as an object, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)
  • CUBRID_OBJECT : object that has the attribute name as the column name of query result

When type argument is omitted, the result will be received using CUBRID_BOTH option as default. When you want to receive query result in object data type, the column name of the result must obey the naming rules for identifiers in PHP. For example, column name such as "count(*)" cannot be received in object type.

Örnekler

Örnek 1 cubrid_fetch() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch($req)) {
printf("%-40s %-10s %-6s %-20s\n",
$row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate lob object, you can use cubrid_fetch($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Free the memory occupied by the result data

  • « cubrid_fetch
  • cubrid_get_autocommit »
  • PHP Manual
  • CUBRID İşlevleri
  • Free the memory occupied by the result data

cubrid_free_result

(PECL CUBRID >= 8.3.0)

cubrid_free_result — Free the memory occupied by the result data

Açıklama

cubrid_free_result(resource $req_identifier): bool

This function frees the memory occupied by the result data. It returns true on success or false on failure. Note that it can only frees the client fetch buffer now, and if you want free all memory, use function cubrid_close_request().

Bağımsız Değişkenler

req_identifier

This is the request identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_free_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM history WHERE host_year=2004 ORDER BY event_code");
$row = cubrid_fetch_assoc($req);
var_dump($row);

cubrid_free_result($req);
cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(5) {
  ["event_code"]=>
  string(5) "20005"
  ["athlete"]=>
  string(12) "Hayes Joanna"
  ["host_year"]=>
  string(4) "2004"
  ["score"]=>
  string(5) "12.37"
  ["unit"]=>
  string(4) "time"
}


Get auto-commit mode of the connection

  • « cubrid_free_result
  • cubrid_get_charset »
  • PHP Manual
  • CUBRID İşlevleri
  • Get auto-commit mode of the connection

cubrid_get_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_get_autocommit — Get auto-commit mode of the connection

Açıklama

cubrid_get_autocommit(resource $conn_identifier): bool

The cubrid_get_autocommit() function is used to get the status of CUBRID database connection auto-commit mode.

For CUBRID 8.4.0, auto-commit mode is disabled by default for transaction management.

For CUBRID 8.4.1, auto-commit mode is enabled by default for transaction management.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

Dönen Değerler

true, when auto-commit is on.

false, when auto-commit is off.

null on error.

Ayrıca Bakınız

  • cubrid_set_autocommit() - Set autocommit mode of the connection
  • cubrid_commit() - Commit a transaction


Return the current CUBRID connection charset

  • « cubrid_get_autocommit
  • cubrid_get_class_name »
  • PHP Manual
  • CUBRID İşlevleri
  • Return the current CUBRID connection charset

cubrid_get_charset

(PECL CUBRID >= 8.3.0)

cubrid_get_charset — Return the current CUBRID connection charset

Açıklama

cubrid_get_charset(resource $conn_identifier): string

This function returns the current CUBRID connection charset and is similar to the CUBRID MySQL compatible function cubrid_client_encoding().

Bağımsız Değişkenler

conn_identifier

The CUBRID connection.

Dönen Değerler

A string that represents the CUBRID connection charset on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_charset() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_get_charset($con));

?>

Yukarıdaki örneğin çıktısı:

CUBRID current charset: iso8859-1

Ayrıca Bakınız

  • cubrid_client_encoding() - Return the current CUBRID connection charset


Get the class name using OID

  • « cubrid_get_charset
  • cubrid_get_client_info »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the class name using OID

cubrid_get_class_name

(PECL CUBRID >= 8.3.0)

cubrid_get_class_name — Get the class name using OID

Açıklama

cubrid_get_class_name(resource $conn_identifier, string $oid): string

The cubrid_get_class_name() function is used to get the class name from oid. It doesn't work when selecting data from the system tables, for example db_class.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Dönen Değerler

Class name when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_class_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code", CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);
$class_name = cubrid_get_class_name($conn, $oid);

print_r($class_name);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

code

Ayrıca Bakınız

  • cubrid_is_instance() - Check whether the instance pointed by OID exists
  • cubrid_drop() - Delete an instance using OID


Return the client library version

  • « cubrid_get_class_name
  • cubrid_get_db_parameter »
  • PHP Manual
  • CUBRID İşlevleri
  • Return the client library version

cubrid_get_client_info

(PECL CUBRID >= 8.3.0)

cubrid_get_client_info — Return the client library version

Açıklama

cubrid_get_client_info(): string

This function returns a string that represents the client library version.

Bağımsız Değişkenler

Dönen Değerler

A string that represents the client library version on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_client_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1


Returns the CUBRID database parameters

  • « cubrid_get_client_info
  • cubrid_get_query_timeout »
  • PHP Manual
  • CUBRID İşlevleri
  • Returns the CUBRID database parameters

cubrid_get_db_parameter

(PECL CUBRID >= 8.3.0)

cubrid_get_db_parameter — Returns the CUBRID database parameters

Açıklama

cubrid_get_db_parameter(resource $conn_identifier): array

This function returns the CUBRID database parameters, başarısızlık durumunda false döner. It returns an associative array with the values for the following parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT
  • PARAM_MAX_STRING_LENGTH
  • PARAM_AUTO_COMMIT

Database parameters
Parameter | Description
PARAM_ISOLATION_LEVEL | The transaction isolation level.
LOCK_TIMEOUT | CUBRID provides the lock timeout feature, which sets the waiting time (in seconds) for the lock until the transaction lock setting is allowed. The default value of the lock_timeout_in_secs parameter is -1, which means the application client will wait indefinitely until the transaction lock is allowed.
PARAM_AUTO_COMMIT | In CUBRID PHP, auto-commit mode is disabled by default for transaction management. It can be set by using cubrid_set_autocommit().

The following table shows the isolation levels from 1 to 6. It consists of table schema (row) and isolation level:

Levels of Isolation Supported by CUBRID
Name | Description
SERIALIZABLE (6) | In this isolation level, problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom read, etc.) do not occur.
REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience phantom read for the record R that was inserted by another transaction T2 when it is repeatedly retrieving a specific record.
REPEATABLE READ CLASS with READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) | Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R read (non-repeatable read) that was updated and committed by another transaction T2 when it is repeatedly retrieving the record R.
REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES (3) | Default isolation level. Another transaction T2 cannot update the schema of table A while transaction T1 is viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.
READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is viewing table A repeatedly. Transaction T1 may experience R' read (non-repeatable read) for the record that was updated and committed by another transaction T2 while it is retrieving the record R repeatedly.
READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) | Transaction T1 may experience A' read (non-repeatable read) for the table that was updated and committed by another transaction T2 while it is repeatedly viewing table A. Transaction T1 may experience R' read (dirty read) for the record that was updated but not committed by another transaction T2.

Bağımsız Değişkenler

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Dönen Değerler

An associative array with CUBRID database parameters; on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.4.0 | Change LOCK_TIMEOUT to PARAM_LOCK_TIMEOUT, and MAX_STRING_LENGTH to PARAM_MAX_STRING_LENGTH in result.

Örnekler

Örnek 1 cubrid_get_db_parameter() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ayrıca Bakınız

  • cubrid_set_db_parameter() - Sets the CUBRID database parameters
  • cubrid_get_autocommit() - Get auto-commit mode of the connection


Get the query timeout value of the request

  • « cubrid_get_db_parameter
  • cubrid_get_server_info »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the query timeout value of the request

cubrid_get_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_get_query_timeout — Get the query timeout value of the request

Açıklama

cubrid_get_query_timeout(resource $req_identifier): int

The cubrid_get_query_timeout() function is used to get the query timeout of the request.

Bağımsız Değişkenler

req_identifier

Request identifier.

Dönen Değerler

Returns the query timeout value in milliseconds of the current request on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_query_timeout() example

<?php

$host = "localhost";
$port = 33000;
$db = "demodb";

$conn =
cubrid_connect_with_url("CUBRID:$host:$port:$db:::?login_timeout=50000&query_timeout=5000&disconnect_on_query_timeout=yes");

$req = cubrid_prepare($conn, "SELECT * FROM code");

$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_set_query_timeout($req, 1000);
$timeout = cubrid_get_query_timeout($req);
var_dump($timeout);

cubrid_close($conn);
?>

Yukarıdaki örneğin çıktısı:

int(5000)
int(1000)

Ayrıca Bakınız

  • cubrid_set_query_timeout() - Set the timeout time of query execution


Return the CUBRID server version

  • « cubrid_get_query_timeout
  • cubrid_get »
  • PHP Manual
  • CUBRID İşlevleri
  • Return the CUBRID server version

cubrid_get_server_info

(PECL CUBRID >= 8.3.0)

cubrid_get_server_info — Return the CUBRID server version

Açıklama

cubrid_get_server_info(resource $conn_identifier): string

This function returns a string that represents the CUBRID server version.

Bağımsız Değişkenler

conn_identifier

The CUBRID connection.

Dönen Değerler

A string that represents the CUBRID server version on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_server_info() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1


Get a column using OID

  • « cubrid_get_server_info
  • cubrid_insert_id »
  • PHP Manual
  • CUBRID İşlevleri
  • Get a column using OID

cubrid_get

(PECL CUBRID >= 8.3.0)

cubrid_get — Get a column using OID

Açıklama

cubrid_get(resource $conn_identifier, string $oid, mixed $attr = ?): mixed

The cubrid_get() function is used to get the attribute of the instance of the given oid. You can get single attribute by using string data type for the attr argument, or many attributes by using array data type for the attr argument.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to read.

attr

Name of the attribute that you want to read.

Dönen Değerler

Content of the requested attribute, when process is successful; When attr is set with string data type, the result is returned as a string; when attr is set with array data type (0-based numerical array), then the result is returned in associative array. When attr is omitted, then all attributes are received in array form.

false when process is unsuccessful or result is NULL (If error occurs to distinguish empty string from NULL, then it prints the warning message. You can check the error by using cubrid_error_code())

Örnekler

Örnek 1 cubrid_get() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Ayrıca Bakınız

  • cubrid_put() - Update a column using OID


Return the ID generated for the last updated AUTO_INCREMENT column

  • « cubrid_get
  • cubrid_is_instance »
  • PHP Manual
  • CUBRID İşlevleri
  • Return the ID generated for the last updated AUTO_INCREMENT column

cubrid_insert_id

(PECL CUBRID >= 8.3.0)

cubrid_insert_id — Return the ID generated for the last updated AUTO_INCREMENT column

Açıklama

cubrid_insert_id(resource $conn_identifier = ?): string

The cubrid_insert_id() function retrieves the ID generated for the AUTO_INCREMENT column which is updated by the previous INSERT query. It returns 0 if the previous query does not generate new rows, or FALSE on failure.

Bilginize:

CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be a single AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, this function should not be used even if it will return a value.

Bağımsız Değişkenler

conn_identifier

The connection identifier previously obtained by a call to cubrid_connect().

Dönen Değerler

A string representing the ID generated for an AUTO_INCREMENT column by the previous query, on success.

0, if the previous query does not generate new rows.

false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.4.0 | Change the return value from an array to string; Remove the first parameter class_name.

Örnekler

Örnek 1 cubrid_insert_id() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d int AUTO_INCREMENT(1, 2), t varchar)");

for ($i = 0; $i < 10; $i++) {
cubrid_execute($conn, "INSERT INTO cubrid_test(t) VALUES('cubrid_test')");
}

$id = cubrid_insert_id();
var_dump($id);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

string(2) "19"


Check whether the instance pointed by OID exists

  • « cubrid_insert_id
  • cubrid_lob_close »
  • PHP Manual
  • CUBRID İşlevleri
  • Check whether the instance pointed by OID exists

cubrid_is_instance

(PECL CUBRID >= 8.3.0)

cubrid_is_instance — Check whether the instance pointed by OID exists

Açıklama

cubrid_is_instance(resource $conn_identifier, string $oid): int

The cubrid_is_instance() function is used to check whether the instance pointed by the given oid exists or not.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to check the existence.

Dönen Değerler

1, if such instance exists;

0, if such instance does not exist;

-1, in case of error

Örnekler

Örnek 1 cubrid_is_instance() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT host_year, medal, game_date
FROM game
WHERE athlete_code IN
(SELECT code FROM athlete WHERE name='Thorpe Ian');
EOD;

$req = cubrid_execute($conn, $sql, CUBRID_INCLUDE_OID);
$oid = cubrid_current_oid($req);

$res = cubrid_is_instance ($conn, $oid);
if ($res == 1) {
echo "Instance pointed by $oid exists.\n";
} else if ($res == 0){
echo "Instance pointed by $oid doesn't exist.\n";
} else {
echo "error\n";
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Instance pointed by @0|0|0 doesn't exist.

Ayrıca Bakınız

  • cubrid_drop() - Delete an instance using OID
  • cubrid_get_class_name() - Get the class name using OID


Close BLOB/CLOB data

  • « cubrid_is_instance
  • cubrid_lob_export »
  • PHP Manual
  • CUBRID İşlevleri
  • Close BLOB/CLOB data

cubrid_lob_close

(PECL CUBRID >= 8.3.1)

cubrid_lob_close — Close BLOB/CLOB data

Açıklama

cubrid_lob_close(array $lob_identifier_array): bool

cubrid_lob_close() is used to close all BLOB/CLOB returned from cubrid_lob_get().

Bağımsız Değişkenler

lob_identifier_array

LOB identifier array returned from cubrid_lob_get().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob_close() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Export BLOB/CLOB data to file

  • « cubrid_lob_close
  • cubrid_lob_get »
  • PHP Manual
  • CUBRID İşlevleri
  • Export BLOB/CLOB data to file

cubrid_lob_export

(PECL CUBRID >= 8.3.1)

cubrid_lob_export — Export BLOB/CLOB data to file

Açıklama

cubrid_lob_export(resource $conn_identifier, resource $lob_identifier, string $path_name): bool

cubrid_lob_export() is used to get BLOB/CLOB data from CUBRID database, and saves its contents to a file. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

path_name

Path name of the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob_export() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Get BLOB/CLOB data

  • « cubrid_lob_export
  • cubrid_lob_send »
  • PHP Manual
  • CUBRID İşlevleri
  • Get BLOB/CLOB data

cubrid_lob_get

(PECL CUBRID >= 8.3.1)

cubrid_lob_get — Get BLOB/CLOB data

Açıklama

cubrid_lob_get(resource $conn_identifier, string $sql): array

cubrid_lob_get() is used to get BLOB/CLOB meta info from CUBRID database, CUBRID gets BLOB/CLOB by executing the SQL statement, and returns all LOBs as a resource array. Be sure that the SQL retrieves only one column and its data type is BLOB or CLOB.

Remember to use cubrid_lob_close() to release the LOBs if you don't need it any more.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

sql

SQL statement to be executed.

Dönen Değerler

Return an array of LOB resources, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob_get() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");
echo "Doc size: ".cubrid_lob_size($lobs[0])." bytes";
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Read BLOB/CLOB data and send straight to browser

  • « cubrid_lob_get
  • cubrid_lob_size »
  • PHP Manual
  • CUBRID İşlevleri
  • Read BLOB/CLOB data and send straight to browser

cubrid_lob_send

(PECL CUBRID >= 8.3.1)

cubrid_lob_send — Read BLOB/CLOB data and send straight to browser

Açıklama

cubrid_lob_send(resource $conn_identifier, resource $lob_identifier): bool

cubrid_lob_send() reads BLOB/CLOB data and passes it straight through to the browser. To use this function, you must use cubrid_lob_get() first to get BLOB/CLOB info from CUBRID.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

lob_identifier

LOB identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob_send() example

<?php
$conn = cubrid_connect ("localhost", 33000, "demodb", "dba");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$lobs = cubrid_lob_get($conn, "SELECT doc_content FROM doc WHERE id=5");

cubrid_lob_send($conn, $lobs[0]);
cubrid_lob_close($lobs);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_size() - Get BLOB/CLOB data size
  • cubrid_lob_export() - Export BLOB/CLOB data to file


Get BLOB/CLOB data size

  • « cubrid_lob_send
  • cubrid_lob2_bind »
  • PHP Manual
  • CUBRID İşlevleri
  • Get BLOB/CLOB data size

cubrid_lob_size

(PECL CUBRID >= 8.3.1)

cubrid_lob_size — Get BLOB/CLOB data size

Açıklama

cubrid_lob_size(resource $lob_identifier): string

cubrid_lob_size() is used to get BLOB/CLOB data size.

Bağımsız Değişkenler

lob_identifier

LOB identifier.

Dönen Değerler

A string representing LOB data size, when process is successful, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.4.0 | Change return value type from int to string.

Örnekler

Örnek 1 cubrid_lob_size() example

<?php
$lobs = cubrid_lob_get($con, "SELECT doc_content FROM doc WHERE doc_id=5");
echo "Doc size:".cubrid_lob_size($lobs[0]);
cubrid_lob_export($conn, $lobs[0], "doc_5.txt");
cubrid_lob_close($lobs);
?>

Ayrıca Bakınız

  • cubrid_lob_get() - Get BLOB/CLOB data
  • cubrid_lob_close() - Close BLOB/CLOB data
  • cubrid_lob_export() - Export BLOB/CLOB data to file
  • cubrid_lob_send() - Read BLOB/CLOB data and send straight to browser


Bind a lob object or a string as a lob object to a prepared statement as parameters

  • « cubrid_lob_size
  • cubrid_lob2_close »
  • PHP Manual
  • CUBRID İşlevleri
  • Bind a lob object or a string as a lob object to a prepared statement as parameters

cubrid_lob2_bind

(PECL CUBRID >= 8.4.1)

cubrid_lob2_bind — Bind a lob object or a string as a lob object to a prepared statement as parameters

Açıklama

cubrid_lob2_bind(
resource $req_identifier,
int $bind_index,
mixed $bind_value,
string $bind_value_type = ?
): bool

The cubrid_lob2_bind() function is used to bind BLOB/CLOB datas to a corresponding question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be "BLOB" as the default. But if you use cubrid_lob2_new() before, bind_value_type will be consistent with type in cubrid_lob2_new() as the default.

Bağımsız Değişkenler

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

It must be "BLOB" or "CLOB" and it won't be case-sensitive. If it not be given, the default value is "BLOB".

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_bind() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");

cubrid_bind($req,1, 3);

$lob = cubrid_lob2_new($conn, 'CLOB');
cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_bind($req, 1, 4);

cubrid_lob2_bind($req, 2, 'CUBRID LOB2 TEST', 'CLOB');

cubrid_execute($req);

cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object


Close LOB object

  • « cubrid_lob2_bind
  • cubrid_lob2_export »
  • PHP Manual
  • CUBRID İşlevleri
  • Close LOB object

cubrid_lob2_close

(PECL CUBRID >= 8.4.1)

cubrid_lob2_close — Close LOB object

Açıklama

cubrid_lob2_close(resource $lob_identifier): bool

The cubrid_lob2_close() function is used to close LOB object returned from cubrid_lob2_new() or got from the result set.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_new() - Create a lob object


Export the lob object to a file

  • « cubrid_lob2_close
  • cubrid_lob2_import »
  • PHP Manual
  • CUBRID İşlevleri
  • Export the lob object to a file

cubrid_lob2_export

(PECL CUBRID >= 8.4.1)

cubrid_lob2_export — Export the lob object to a file

Açıklama

cubrid_lob2_export(resource $lob_identifier, string $file_name): bool

The cubrid_lob2_export() function is used to save the contents of BLOB/CLOB data to a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to store BLOB/CLOB data. It also supports the path of the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_export() example

<?php
// Table: test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists doc");
cubrid_execute($conn,"CREATE TABLE doc (id INT, doc_content CLOB)");
cubrid_execute($conn,"INSERT INTO doc VALUES (5,'hello,cubrid')");

$req = cubrid_prepare($conn, "select * from doc");

cubrid_execute($req);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);

$row = cubrid_fetch($req, CUBRID_NUM | CUBRID_LOB);

cubrid_lob2_export($row[1], "doc_3.txt");

cubrid_lob2_close($row[1]);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object
  • cubrid_lob2_import() - Import BLOB/CLOB data from a file
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters


Import BLOB/CLOB data from a file

  • « cubrid_lob2_export
  • cubrid_lob2_new »
  • PHP Manual
  • CUBRID İşlevleri
  • Import BLOB/CLOB data from a file

cubrid_lob2_import

(PECL CUBRID >= 8.4.1)

cubrid_lob2_import — Import BLOB/CLOB data from a file

Açıklama

cubrid_lob2_import(resource $lob_identifier, string $file_name): bool

The cubrid_lob2_import() function is used to save the contents of BLOB/CLOB data from a file. To use this function, you must use cubrid_lob2_new() or fetch a lob object from CUBRID database first. If the file already exists, the operation will fail. This function will not influence the cursor position of the lob object. It operates the entire lob object.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

filename

File name you want to import BLOB/CLOB data. It also supports the path of the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_export() example

<?php

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_new() - Create a lob object
  • cubrid_lob2_close() - Close LOB object
  • cubrid_lob2_export() - Export the lob object to a file
  • cubrid_lob2_bind() - Bind a lob object or a string as a lob object to a prepared statement as parameters


Create a lob object

  • « cubrid_lob2_import
  • cubrid_lob2_read »
  • PHP Manual
  • CUBRID İşlevleri
  • Create a lob object

cubrid_lob2_new

(PECL CUBRID >= 8.4.1)

cubrid_lob2_new — Create a lob object

Açıklama

cubrid_lob2_new(resource $conn_identifier = ?, string $type = "BLOB"): resource

The cubrid_lob2_new() function is used to create a lob object (both BLOB and CLOB). This function should be used before you bind a lob object.

Bağımsız Değişkenler

conn_identifier

Connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() or cubrid_connect_with_url() is assumed.

type

It may be "BLOB" or "CLOB", it won't be case-sensitive. The default value is "BLOB".

Dönen Değerler

Lob identifier when it is successful, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_close() - Close LOB object


Read from BLOB/CLOB data

  • « cubrid_lob2_new
  • cubrid_lob2_seek64 »
  • PHP Manual
  • CUBRID İşlevleri
  • Read from BLOB/CLOB data

cubrid_lob2_read

(PECL CUBRID >= 8.4.1)

cubrid_lob2_read — Read from BLOB/CLOB data

Açıklama

cubrid_lob2_read(resource $lob_identifier, int $len): string

The cubrid_lob2_read() function reads len bytes from the LOB data and returns the bytes read.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

len

Length from buffer you want to read from the lob data.

Dönen Değerler

Returns the contents as a string, false when there is no more data, or null on failure.

Örnekler

Örnek 1 cubrid_lob2_read() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "public", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

print "position now is " . cubrid_lob2_tell($row[1]) . "\n";

cubrid_lob2_seek($row[1], 10, CUBRID_CURSOR_FIRST);

print "\nposition after moving farword is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 12);

print "\nposition after reading is " . cubrid_lob2_tell($row[1]) . "\n";

print $data . "\n";

cubrid_lob2_seek($row[1], 5, CUBRID_CURSOR_CURRENT);

print "\nposition after moving again is " . cubrid_lob2_tell($row[1]) . "\n";

$data = cubrid_lob2_read($row[1], 20);
print $data . "\n";

cubrid_disconnect($conn);
?>

Örnek 2 cubrid_lob2_read() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);

while (true) {
if ($data = cubrid_lob2_read($row[1], 1024)) {
print $data . "\n";
}
elseif ($data === false) {
print "There is no more data\n";
break;
}
else {
print "There must some errors\n";
break;
}
}

cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Move the cursor of a lob object

  • « cubrid_lob2_read
  • cubrid_lob2_seek »
  • PHP Manual
  • CUBRID İşlevleri
  • Move the cursor of a lob object

cubrid_lob2_seek64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek64 — Move the cursor of a lob object

Açıklama

cubrid_lob2_seek64(resource $lob_identifier, string $offset, int $origin = CUBRID_CURSOR_CURRENT): bool

The cubrid_lob2_seek64() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument. If the offset you want to move is larger than an integer data can be stored, you can use this function.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Bilginize:

If you use this function to move the cursor position of the lob object, you should pass offset as a string.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_seek64() example

<?php
// test_lob (id INT, contents CLOB)
// Data length of doc_1.txt should be greater than 20101029056306120215.

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);

$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);

cubrid_execute($req);

cubrid_lob2_close($lob);

$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];

cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Move the cursor of a lob object

  • « cubrid_lob2_seek64
  • cubrid_lob2_size64 »
  • PHP Manual
  • CUBRID İşlevleri
  • Move the cursor of a lob object

cubrid_lob2_seek

(PECL CUBRID >= 8.4.1)

cubrid_lob2_seek — Move the cursor of a lob object

Açıklama

cubrid_lob2_seek(resource $lob_identifier, int $offset, int $origin = CUBRID_CURSOR_CURRENT): bool

The cubrid_lob2_seek() function is used to move the cursor position of a lob object by the value set in the offset argument, to the direction set in the origin argument.

To set the origin argument, you can use CUBRID_CURSOR_FIRST to set the cursor position moving forward offset units from the first beginning. In this case, offset must be a positive value.

If you use CUBRID_CURSOR_CURRENT for origin, you can move forward or backward. and offset can be positive or negative.

If you use CUBRID_CURSOR_LAST for origin, you can move backward offset units from the end of LOB object and offset only can be positive.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

offset

Number of units you want to move the cursor.

origin

This parameter can be the following values:

CUBRID_CURSOR_FIRST: move forward from the first beginning.

CUBRID_CURSOR_CURRENT: move forward or backward from the current position.

CUBRID_CURSOR_LAST: move backward at the end of LOB object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_seek() example

<?php
// test_lob (id INT, contents CLOB)
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_seek($lob, 0, CUBRID_CURSOR_LAST);
cubrid_lob2_write($lob, "beautiful");

cubrid_lob2_seek($lob, 15, CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 5);

echo $data."\n";

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Get a lob object's size

  • « cubrid_lob2_seek
  • cubrid_lob2_size »
  • PHP Manual
  • CUBRID İşlevleri
  • Get a lob object's size

cubrid_lob2_size64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size64 — Get a lob object's size

Açıklama

cubrid_lob2_size64(resource $lob_identifier): string

The cubrid_lob2_size64() function is used to get the size of a lob object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the size as a string.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Dönen Değerler

It will return the size of the LOB object as a string when it processes successfully, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size


Get a lob object's size

  • « cubrid_lob2_size64
  • cubrid_lob2_tell64 »
  • PHP Manual
  • CUBRID İşlevleri
  • Get a lob object's size

cubrid_lob2_size

(PECL CUBRID >= 8.4.1)

cubrid_lob2_size — Get a lob object's size

Açıklama

cubrid_lob2_size(resource $lob_identifier): int

The cubrid_lob2_size() function is used to get the size of a lob object.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Dönen Değerler

It will return the size of the LOB object when it processes successfully, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size64() - Get a lob object's size


Tell the cursor position of the LOB object

  • « cubrid_lob2_size
  • cubrid_lob2_tell »
  • PHP Manual
  • CUBRID İşlevleri
  • Tell the cursor position of the LOB object

cubrid_lob2_tell64

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell64 — Tell the cursor position of the LOB object

Açıklama

cubrid_lob2_tell64(resource $lob_identifier): string

The cubrid_lob2_tell64() function is used to tell the cursor position of the LOB object. If the size of a lob object is larger than an integer data can be stored, you can use this function and it will return the position information as a string.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Dönen Değerler

It will return the cursor position on the LOB object as a string when it processes successfully, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Tell the cursor position of the LOB object

  • « cubrid_lob2_tell64
  • cubrid_lob2_write »
  • PHP Manual
  • CUBRID İşlevleri
  • Tell the cursor position of the LOB object

cubrid_lob2_tell

(PECL CUBRID >= 8.4.1)

cubrid_lob2_tell — Tell the cursor position of the LOB object

Açıklama

cubrid_lob2_tell(resource $lob_identifier): int

The cubrid_lob2_tell() function is used to tell the cursor position of the LOB object.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

Dönen Değerler

It will return the cursor position on the LOB object when it processes successfully, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_write() - Write to a lob object
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Write to a lob object

  • « cubrid_lob2_tell
  • cubrid_lock_read »
  • PHP Manual
  • CUBRID İşlevleri
  • Write to a lob object

cubrid_lob2_write

(PECL CUBRID >= 8.4.1)

cubrid_lob2_write — Write to a lob object

Açıklama

cubrid_lob2_write(resource $lob_identifier, string $buf): bool

The cubrid_lob2_write() function reads as much as data from buf and stores it to the LOB object. Note that this function can only append characters now.

Bağımsız Değişkenler

lob_identifier

Lob identifier as a result of cubrid_lob2_new() or get from the result set.

buf

Data that need to be written to the lob object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lob2_write() example 1

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(2, ?)");

$lob = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob, "Hello world");

cubrid_lob2_bind($req, 1, $lob);
cubrid_execute($req);

cubrid_disconnect($conn);
?>

Örnek 2 cubrid_lob2_write() example 2

<?php
// test_lob (id INT, contents CLOB)

$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");

cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");

$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES(1, ?)");
$lob1 = cubrid_lob2_new($conn, 'CLOB');
$len = cubrid_lob2_write($lob1, "cubrid php driver");
cubrid_lob2_bind($req, 1, $lob1);
cubrid_execute($req);

$req = cubrid_execute($conn, "select * from test_lob");

$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob2 = $row[1];
cubrid_lob2_seek($lob2, 0, CUBRID_CURSOR_LAST);

$pos = cubrid_lob2_tell($lob2);
print "pos before write: $pos\n";

cubrid_lob2_write($lob2, "Hello world");

$pos = cubrid_lob2_tell($lob2);
print "pos after write: $pos\n";

cubrid_disconnect($conn);
?>

Ayrıca Bakınız

  • cubrid_lob2_read() - Read from BLOB/CLOB data
  • cubrid_lob2_seek() - Move the cursor of a lob object
  • cubrid_lob2_seek64() - Move the cursor of a lob object
  • cubrid_lob2_tell() - Tell the cursor position of the LOB object
  • cubrid_lob2_tell64() - Tell the cursor position of the LOB object
  • cubrid_lob2_size() - Get a lob object's size
  • cubrid_lob2_size64() - Get a lob object's size


Set a read lock on the given OID

  • « cubrid_lob2_write
  • cubrid_lock_write »
  • PHP Manual
  • CUBRID İşlevleri
  • Set a read lock on the given OID

cubrid_lock_read

(PECL CUBRID >= 8.3.0)

cubrid_lock_read — Set a read lock on the given OID

Açıklama

cubrid_lock_read(resource $conn_identifier, string $oid): bool

The cubrid_lock_read() function is used to put read lock on the instance pointed by given oid.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put read lock on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lock_read() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_read($conn, $oid);

$attr = cubrid_get($conn, $oid, "b");
var_dump($attr);

$attr = cubrid_get($conn, $oid);
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

string(9) "{1, 2, 3}"
array(4) {
  ["a"]=>
  string(1) "1"
  ["b"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(1) "2"
    [2]=>
    string(1) "3"
  }
  ["c"]=>
  array(4) {
    [0]=>
    string(2) "11"
    [1]=>
    string(2) "22"
    [2]=>
    string(2) "33"
    [3]=>
    string(3) "333"
  }
  ["d"]=>
  string(10) "a         "
}

Ayrıca Bakınız

  • cubrid_lock_write() - Set a write lock on the given OID


Set a write lock on the given OID

  • « cubrid_lock_read
  • cubrid_move_cursor »
  • PHP Manual
  • CUBRID İşlevleri
  • Set a write lock on the given OID

cubrid_lock_write

(PECL CUBRID >= 8.3.0)

cubrid_lock_write — Set a write lock on the given OID

Açıklama

cubrid_lock_write(resource $conn_identifier, string $oid): bool

The cubrid_lock_write() function is used to put write lock on the instance pointed by the given oid.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to put write lock on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_lock_write() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

cubrid_lock_write($conn, $oid);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Ayrıca Bakınız

  • cubrid_lock_read() - Set a read lock on the given OID


Move the cursor in the result

  • « cubrid_lock_write
  • cubrid_next_result »
  • PHP Manual
  • CUBRID İşlevleri
  • Move the cursor in the result

cubrid_move_cursor

(PECL CUBRID >= 8.3.0)

cubrid_move_cursor — Move the cursor in the result

Açıklama

cubrid_move_cursor(resource $req_identifier, int $offset, int $origin = CUBRID_CURSOR_CURRENT): bool

The cubrid_move_cursor() function is used to move the current cursor location of req_identifier by the value set in the offset argument, to the direction set in the origin argument. To set the origin argument, you can use CUBRID_CURSOR_FIRST for the first part of the result, CUBRID_CURSOR_CURRENT for the current location of the result, or CUBRID_CURSOR_LAST for the last part of the result. If origin argument is not explicitly designated, then the function uses CUBRID_CURSOR_CURRENT as its default value.

If the value of cursor movement range goes over the valid limit, then the cursor moves to the next location after the valid range for the cursor. For example, if you move 20 units in the result with the size of 10, then the cursor will move to 11th place and return CUBRID_NO_MORE_DATA.

Bağımsız Değişkenler

req_identifier

Request identifier.

offset

Number of units you want to move the cursor.

origin

Location where you want to move the cursor from CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_move_cursor() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_move_cursor($req, 1, CUBRID_CURSOR_LAST);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_CURRENT);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  string(1) "G"
  [1]=>
  string(4) "Gold"
}
array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement


Get result of next query when executing multiple SQL statements

  • « cubrid_move_cursor
  • cubrid_num_cols »
  • PHP Manual
  • CUBRID İşlevleri
  • Get result of next query when executing multiple SQL statements

cubrid_next_result

(PECL CUBRID >= 8.4.0)

cubrid_next_result — Get result of next query when executing multiple SQL statements

Açıklama

cubrid_next_result(resource $result): bool

The cubrid_next_result() function is used to get results of next query if multiple SQL statements are executed and CUBRID_EXEC_QUERY_ALL flag is set upon cubrid_execute().

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_next_result() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");

$sql_stmt = "SELECT * FROM code; SELECT * FROM history WHERE host_year=2004 AND event_code=20281";
$res = cubrid_execute($conn, $sql_stmt, CUBRID_EXEC_QUERY_ALL);

get_result_info($res);
cubrid_next_result($res);
get_result_info($res);

function get_result_info($req)
{
printf("\n------------ get_result_info --------------------\n");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

$column_name_list = cubrid_column_names($req);
$column_type_list = cubrid_column_types($req);

$column_last_name = cubrid_field_name($req, $col_num - 1);
$column_last_table = cubrid_field_table($req, $col_num - 1);

$column_last_type = cubrid_field_type($req, $col_num - 1);
$column_last_len = cubrid_field_len($req, $col_num - 1);

$column_1_flags = cubrid_field_flags($req, 1);

printf("%-30s %d\n", "Row count:", $row_num);
printf("%-30s %d\n", "Column count:", $col_num);
printf("\n");

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Len");
printf("------------------------------------------------------------------------------\n");

$size = count($column_name_list);
for($i = 0; $i < $size; $i++) {
$column_len = cubrid_field_len($req, $i);
printf("%-30s %-30s %-15s\n", $column_name_list[$i], $column_type_list[$i], $column_len);
}
printf("\n\n");

printf("%-30s %s\n", "Last Column Name:", $column_last_name);
printf("%-30s %s\n", "Last Column Table:", $column_last_table);
printf("%-30s %s\n", "Last Column Type:", $column_last_type);
printf("%-30s %d\n", "Last Column Len:", $column_last_len);
printf("%-30s %s\n", "Second Column Flags:", $column_1_flags);

printf("\n\n");
}
?>

Yukarıdaki örneğin çıktısı:

------------ get_result_info --------------------
Row count:                     6
Column count:                  2

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
s_name                         char                           1
f_name                         varchar                        6

Last Column Name:              f_name
Last Column Table:             code
Last Column Type:              varchar
Last Column Len:               6
Second Column Flags:

------------ get_result_info --------------------
Row count:                     4
Column count:                  5

Column Names                   Column Types                   Column Len
------------------------------------------------------------------------------
event_code                     integer                        11
athlete                        varchar                        40
host_year                      integer                        11
score                          varchar                        10
unit                           varchar                        5

Last Column Name:              unit
Last Column Table:             history
Last Column Type:              varchar
Last Column Len:               5
Second Column Flags:           not_null primary_key unique_key

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement


Return the number of columns in the result set

  • « cubrid_next_result
  • cubrid_num_rows »
  • PHP Manual
  • CUBRID İşlevleri
  • Return the number of columns in the result set

cubrid_num_cols

(PECL CUBRID >= 8.3.0)

cubrid_num_cols — Return the number of columns in the result set

Açıklama

cubrid_num_cols(resource $result): int

The cubrid_num_cols() function is used to get the number of columns from the query result. It can only be used when the query executed is a SELECT statement.

Bağımsız Değişkenler

result

Result.

Dönen Değerler

Number of columns, when process is successful.

false, if SQL statement is not SELECT.

Örnekler

Örnek 1 cubrid_num_cols() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Row Num: 6
Column Num: 2

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_rows() - Get the number of rows in the result set


Get the number of rows in the result set

  • « cubrid_num_cols
  • cubrid_pconnect_with_url »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the number of rows in the result set

cubrid_num_rows

(PECL CUBRID >= 8.3.0)

cubrid_num_rows — Get the number of rows in the result set

Açıklama

cubrid_num_rows(resource $result): int

The cubrid_num_rows() function is used to get the number of rows from the query result. It can be used for SELECT statements. For INSERT, UPDATE, or DELETE queries, use the cubrid_affected_rows() function.

Note: The cubrid_num_rows() function can only be used for synchronous query; it returns 0 when it is used for asynchronous query.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Dönen Değerler

Number of rows, when process is successful.

0 when the query was done in async mode.

-1, if SQL statement is not SELECT.

false when process is unsuccessful.

Örnekler

Örnek 1 cubrid_num_rows() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_cols($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Row Num: 6
Column Num: 2

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_num_cols() - Return the number of columns in the result set
  • cubrid_affected_rows() - Return the number of rows affected by the last SQL statement


Open a persistent connection to CUBRID server

  • « cubrid_num_rows
  • cubrid_pconnect »
  • PHP Manual
  • CUBRID İşlevleri
  • Open a persistent connection to CUBRID server

cubrid_pconnect_with_url

(PECL CUBRID >= 8.3.1)

cubrid_pconnect_with_url — Open a persistent connection to CUBRID server

Açıklama

cubrid_pconnect_with_url(string $conn_url, string $userid = ?, string $passwd = ?): resource

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect_with_url() acts very much like cubrid_connect_with_url() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect_with_url()).

This type of link is therefore called 'persistent'.

<url> ::= CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]

<properties> ::= <property> [&<property>]

<properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]

<properties> ::= login_timeout=<milli_sec>

<properties> ::= query_timeout=<milli_sec>

<properties> ::= disconnect_on_query_timeout=true|false

<alternative_hosts> ::= <standby_broker1_host>:<port> [,<standby_broker2_host>:<port>]

<host> := HOSTNAME | IP_ADDR

<time> := SECOND

<milli_sec> := MILLI SECOND

  • host : A host name or IP address of the master database
  • db_name : A name of the database
  • db_user : A name of the database user
  • db_password : A database user password
  • alhosts : Specifies the broker information of the standby server, which is used for failover when it is impossible to connect to the active server. You can specify multiple brokers for failover, and the connection to the brokers is attempted in the order listed in alhosts
  • rctime : An interval between the attempts to connect to the active broker in which failure occurred. After a failure occurs, the system connects to the broker specified by althosts (failover), terminates the transaction, and then attempts to connect to the active broker of the master database at every rctime. The default value is 600 seconds.
  • login_timeout : Timeout value (unit: msec.) for database login. The default value is 0, which means infinite postponement.
  • query_timeout : Timeout value (unit: msec.) for query request. Upon timeout, a message to cancel requesting a query transferred to server is sent. The return value can depend on the disconnect_on_query_timeout configuration; even though the message to cancel a request is sent to server, that request may succeed.
  • disconnect_on_query_timeout : Configures a value whether to immediately return an error of function being executed upon timeout. The default value is false.

Bilginize:

? and : that are used as identifiers in PHP connection URL can't be included in the password. The following is an example of a password that is invalid to use as connection URL because it contains "?:".

$url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";

Passwords that contain ? or : may be passed as a separate parameter.

$url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";

$conn = cubrid_pconnect_with_url ($url, "dba", "12?");

If user or password is empty,you can't delete ":",the following is an example.

$url = "CUBRID:localhost:33000:demodb:::";

Bağımsız Değişkenler

conn_url

A character string that contains server connection information.

userid

User name for the database.

passwd

User password.

Dönen Değerler

Connection identifier, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_pconnect_with_url() url without properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::";
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
echo "connected successfully";
cubrid_execute($con, "create table person(id int,name char(16))");
$req =cubrid_execute($con, "insert into person values(1,'James')");

if ($req) {
cubrid_close_request ($req);
cubrid_commit ($con);
} else {
cubrid_rollback ($con);
}
cubrid_disconnect ($con);
}
?>

Örnek 2 cubrid_pconnect_with_url() url with properties example

<?php
$conn_url = "CUBRID:127.0.0.1:33000:demodb:dba::?althost=10.34.63.132:33088&rctime=100";
$con = cubrid_pconnect_with_url ($conn_url);

if ($con) {
echo "connected successfully";
$req =cubrid_execute($con, "insert into person values(1,'James')");

if ($req) {
cubrid_close_request ($req);
cubrid_commit ($con);
} else {
cubrid_rollback ($con);
}
cubrid_disconnect ($con);
}
?>

Ayrıca Bakınız

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect() - Open a persistent connection to a CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Open a persistent connection to a CUBRID server

  • « cubrid_pconnect_with_url
  • cubrid_prepare »
  • PHP Manual
  • CUBRID İşlevleri
  • Open a persistent connection to a CUBRID server

cubrid_pconnect

(PECL CUBRID >= 8.3.1)

cubrid_pconnect — Open a persistent connection to a CUBRID server

Açıklama

cubrid_pconnect(
string $host,
int $port,
string $dbname,
string $userid = ?,
string $passwd = ?
): resource

Establishes a persistent connection to a CUBRID server.

cubrid_pconnect() acts very much like cubrid_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, port, dbname and userid. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (cubrid_close() or cubrid_disconnect() will not close links established by cubrid_pconnect()).

This type of link is therefore called 'persistent'.

Bağımsız Değişkenler

host

Host name or IP address of CUBRID CAS server.

port

Port number of CUBRID CAS server (BROKER_PORT configured in $CUBRID/conf/cubrid_broker.conf).

dbname

Name of database.

userid

User name for the database.

passwd

User password.

Dönen Değerler

Connection identifier, when process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_connect() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_pconnect("localhost", 33000, "demodb", "dba");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ayrıca Bakınız

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server
  • cubrid_pconnect_with_url() - Open a persistent connection to CUBRID server
  • cubrid_disconnect() - Close a database connection
  • cubrid_close() - Close CUBRID connection


Prepare a SQL statement for execution

  • « cubrid_pconnect
  • cubrid_put »
  • PHP Manual
  • CUBRID İşlevleri
  • Prepare a SQL statement for execution

cubrid_prepare

(PECL CUBRID >= 8.3.0)

cubrid_prepare — Prepare a SQL statement for execution

Açıklama

cubrid_prepare(resource $conn_identifier, string $prepare_stmt, int $option = 0): resource

The cubrid_prepare() function is a sort of API which represents SQL statements compiled previously to a given connection handle. This pre-compiled SQL statement will be included in the cubrid_prepare().

Accordingly, you can use this statement effectively to execute several times repeatedly or to process long data. Only a single statement can be used and a parameter may put a question mark (?) to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a MARK(?) by using the cubrid_bind() function only.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

prepare_stmt

Prepare query.

option

OID return option CUBRID_INCLUDE_OID.

Dönen Değerler

Request identifier, if process is successful, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_prepare() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$sql = <<<EOD
SELECT g.event_code, e.name
FROM game g
JOIN event e ON g.event_code=e.code
WHERE host_year = ? AND event_code NOT IN (SELECT event_code FROM game WHERE host_year=?) GROUP BY event_code;
EOD;

$req = cubrid_prepare($conn, $sql);

cubrid_bind($req, 1, 2004);
cubrid_bind($req, 2, 2000);
cubrid_execute($req);

$row_num = cubrid_num_rows($req);
printf("There are %d event that exits in 2004 olympic but not in 2000. For example:\n\n", $row_num);

printf("%-15s %s\n", "Event_code", "Event_name");
printf("----------------------------\n");

$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);
$row = cubrid_fetch_assoc($req);
printf("%-15d %s\n", $row["event_code"], $row["name"]);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

There are 27 event that exits in 2004 olympic but not in 2000. For example:

Event_code      Event_name
----------------------------
20063           +91kg
20070           64kg

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_bind() - Bind variables to a prepared statement as parameters


Update a column using OID

  • « cubrid_prepare
  • cubrid_rollback »
  • PHP Manual
  • CUBRID İşlevleri
  • Update a column using OID

cubrid_put

(PECL CUBRID >= 8.3.0)

cubrid_put — Update a column using OID

Açıklama

cubrid_put(
resource $conn_identifier,
string $oid,
string $attr = ?,
mixed $value
): bool

The cubrid_put() function is used to update an attribute of the instance of the given oid.

You can update single attribute by using string data type to set attr. In such case, you can use integer, floating point or string type data for the value argument. To update multiple number of attributes, you can disregard the attr argument, and set value argument with associative array data type.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance that you want to update.

attr

Name of the attribute that you want to update.

value

New value that you want to assign to the attribute.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(2, {4,5,7}, {44,55,66,666}, 'b')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_put($conn, $oid, "b", array(2, 4, 8));

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(3) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "4"
  [2]=>
  string(1) "8"
}

Ayrıca Bakınız

  • cubrid_get() - Get a column using OID
  • cubrid_set_add() - Insert a single element to set type column using OID
  • cubrid_set_drop() - Delete an element from set type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Roll back a transaction

  • « cubrid_put
  • cubrid_schema »
  • PHP Manual
  • CUBRID İşlevleri
  • Roll back a transaction

cubrid_rollback

(PECL CUBRID >= 8.3.0)

cubrid_rollback — Roll back a transaction

Açıklama

cubrid_rollback(resource $conn_identifier): bool

The cubrid_rollback() function executes rollback on the transaction pointed by conn_identifier, currently in progress.

Connection to server is closed after calling cubrid_rollback(). Connection handle, however, is still valid.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_rollback() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb", "dba");
cubrid_set_autocommit($conn,false);

@cubrid_execute($conn, "DROP TABLE publishers");

$sql = <<<EOD
CREATE TABLE publishers(
pub_id CHAR(3),
pub_name VARCHAR(20),
city VARCHAR(15),
state CHAR(2),
country VARCHAR(15)
)
EOD;

if (!cubrid_execute($conn, $sql)) {
printf("Error facility: %d\nError code: %d\nError msg: %s\n", cubrid_error_code_facility(), cubrid_error_code(), cubrid_error_msg());

cubrid_disconnect($conn);
exit;
}

$req = cubrid_prepare($conn, "INSERT INTO publishers VALUES(?, ?, ?, ?, ?)");

$id_list = array("P01", "P02", "P03", "P04");
$name_list = array("Abatis Publishers", "Core Dump Books", "Schadenfreude Press", "Tenterhooks Press");
$city_list = array("New York", "San Francisco", "Hamburg", "Berkeley");
$state_list = array("NY", "CA", NULL, "CA");
$country_list = array("USA", "USA", "Germany", "USA");

for ($i = 0, $size = count($id_list); $i < $size; $i++) {
cubrid_bind($req, 1, $id_list[$i]);
cubrid_bind($req, 2, $name_list[$i]);
cubrid_bind($req, 3, $city_list[$i]);
cubrid_bind($req, 4, $state_list[$i]);
cubrid_bind($req, 5, $country_list[$i]);

if (!($ret = cubrid_execute($req))) {
break;
}
}

if (!$ret) {
cubrid_rollback($conn);
} else {
cubrid_commit($conn);

$req = cubrid_execute($conn, "SELECT * FROM publishers");
while ($result = cubrid_fetch_assoc($req)) {
printf("%-3s %-20s %-15s %-3s %-15s\n",
$result["pub_id"], $result["pub_name"], $result["city"], $result["state"], $result["country"]);
}
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

P01 Abatis Publishers    New York        NY  USA
P02 Core Dump Books      San Francisco   CA  USA
P03 Schadenfreude Press  Hamburg             Germany
P04 Tenterhooks Press    Berkeley        CA  USA

Ayrıca Bakınız

  • cubrid_commit() - Commit a transaction
  • cubrid_disconnect() - Close a database connection


Get the requested schema information

  • « cubrid_rollback
  • cubrid_seq_drop »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the requested schema information

cubrid_schema

(PECL CUBRID >= 8.3.0)

cubrid_schema — Get the requested schema information

Açıklama

cubrid_schema(
resource $conn_identifier,
int $schema_type,
string $class_name = ?,
string $attr_name = ?
): array

The cubrid_schema() function is used to get the requested schema information from database. To get information about specific class, set the class_name, to get information about specific attribute (can be used only with CUBRID_SCH_ATTR_PRIVILEGE), set the attr_name.

The result of the cubrid_schema() function is returned as a two-dimensional array (column (associative array) * row (numeric array)). The following tables shows types of schema and the column structure of the result array to be returned based on the schema type.

Result Composition of Each Type
Schema | Column Number | Column Name | Value
CUBRID_SCH_CLASS | 1 | NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_VCLASS | 1 | NAME |
 | 2 | TYPE | 1:vclass
CUBRID_SCH_QUERY_SPEC | 1 | QUERY_SPEC |
CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE | 1 | ATTR_NAME |
 | 2 | DOMAIN |
 | 3 | SCALE |
 | 4 | PRECISION |
 | 5 | INDEXED | 1:indexed
 | 6 | NOT NULL | 1:not null
 | 7 | SHARED | 1:shared
 | 8 | UNIQUE | 1:unique
 | 9 | DEFAULT |
 | 10 | ATTR_ORDER | base:1
 | 11 | CLASS_NAME |
 | 12 | SOURCE_CLASS |
 | 13 | IS_KEY | 1:key
CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD | 1 | NAME |
 | 2 | RET_DOMAIN |
 | 3 | ARG_DOMAIN |
CUBRID_SCH_METHOD_FILE | 1 | METHOD_FILE |
CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS | 1 | CLASS_NAME |
 | 2 | TYPE | 0:system class 1:vclass 2:class
CUBRID_SCH_CONSTRAINT | 1 | TYPE | 0:unique 1:index 2:reverse unique 3:reverse index
 | 2 | NAME |
 | 3 | ATTR_NAME |
 | 4 | NUM_PAGES |
 | 5 | NUM_KEYS |
 | 6 | PRIMARY_KEY | 1:primary key
 | 7 | KEY_ORDER | base:1
CUBRID_SCH_TRIGGER | 1 | NAME |
 | 2 | STATUS |
 | 3 | EVENT |
 | 4 | TARGET_CLASS |
 | 5 | TARGET_ATTR |
 | 6 | ACTION_TIME |
 | 7 | ACTION |
 | 8 | PRIORITY |
 | 9 | CONDITION_TIME |
 | 10 | CONDITION |
CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE | 1 | CLASS_NAME / ATTR_NAME |
 | 2 | PRIVILEGE |
 | 3 | GRANTABLE |
CUBRID_SCH_PRIMARY_KEY | 1 | CLASS_NAME |
 | 2 | ATTR_NAME |
 | 3 | KEY_SEQ | base:1
 | 4 | KEY_NAME |
CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS / CUBRID_SCH_CROSS_REFERENCE | 1 | PKTABLE_NAME |
 | 2 | PKCOLUMN_NAME |
 | 3 | FKTABLE_NAME | base:1
 | 4 | FKCOLUMN_NAME |
 | 5 | KEY_SEQ | base:1
 | 6 | UPDATE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 7 | DELETE_ACTION | 0:cascade 1:restrict 2:no action 3:set null
 | 8 | FK_NAME |
 | 9 | PK_NAME |

Bağımsız Değişkenler

conn_identifier

Connection identifier.

schema_type

Schema data that you want to know.

class_name

Class you want to know the schema of.

attr_name

Attribute you want to know the schema of.

Dönen Değerler

Array containing the schema information, when process is successful, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.1 | Change return value: when process is unsuccessful, return false, not -1.

Örnekler

Örnek 1 cubrid_schema() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

printf("\n--- Primary Key ---\n");
$pk = cubrid_schema($conn, CUBRID_SCH_PRIMARY_KEY, "game");
var_dump($pk);

printf("\n--- Foreign Keys ---\n");
$fk = cubrid_schema($conn, CUBRID_SCH_IMPORTED_KEYS, "game");
var_dump($fk);

printf("\n--- Column Attribute ---\n");
$attr = cubrid_schema($conn, CUBRID_SCH_ATTRIBUTE, "stadium", "area");
var_dump($attr);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

--- Primary Key ---
array(3) {
  [0]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "3"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [1]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "2"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
  [2]=>
  array(4) {
    ["CLASS_NAME"]=>
    string(4) "game"
    ["ATTR_NAME"]=>
    string(9) "host_year"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["KEY_NAME"]=>
    string(41) "pk_game_host_year_event_code_athlete_code"
  }
}

--- Foreign Keys ---
array(2) {
  [0]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(7) "athlete"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(12) "athlete_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(20) "fk_game_athlete_code"
    ["PK_NAME"]=>
    string(15) "pk_athlete_code"
  }
  [1]=>
  array(9) {
    ["PKTABLE_NAME"]=>
    string(5) "event"
    ["PKCOLUMN_NAME"]=>
    string(4) "code"
    ["FKTABLE_NAME"]=>
    string(4) "game"
    ["FKCOLUMN_NAME"]=>
    string(10) "event_code"
    ["KEY_SEQ"]=>
    string(1) "1"
    ["UPDATE_RULE"]=>
    string(1) "1"
    ["DELETE_RULE"]=>
    string(1) "1"
    ["FK_NAME"]=>
    string(18) "fk_game_event_code"
    ["PK_NAME"]=>
    string(13) "pk_event_code"
  }
}

--- Column Attribute ---
array(1) {
  [0]=>
  array(13) {
    ["ATTR_NAME"]=>
    string(4) "area"
    ["DOMAIN"]=>
    string(1) "7"
    ["SCALE"]=>
    string(1) "2"
    ["PRECISION"]=>
    string(2) "10"
    ["INDEXED"]=>
    string(1) "0"
    ["NON_NULL"]=>
    string(1) "0"
    ["SHARED"]=>
    string(1) "0"
    ["UNIQUE"]=>
    string(1) "0"
    ["DEFAULT"]=>
    NULL
    ["ATTR_ORDER"]=>
    string(1) "4"
    ["CLASS_NAME"]=>
    string(7) "stadium"
    ["SOURCE_CLASS"]=>
    string(7) "stadium"
    ["IS_KEY"]=>
    string(1) "0"
  }
}


Delete an element from sequence type column using OID

  • « cubrid_schema
  • cubrid_seq_insert »
  • PHP Manual
  • CUBRID İşlevleri
  • Delete an element from sequence type column using OID

cubrid_seq_drop

(PECL CUBRID >= 8.3.0)

cubrid_seq_drop — Delete an element from sequence type column using OID

Açıklama

cubrid_seq_drop(
resource $conn_identifier,
string $oid,
string $attr_name,
int $index
): bool

The cubrid_seq_drop() function is used to delete an element you request from the given sequence type attribute in the database.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to delete an element from.

index

Index of the element that you want to delete (1-based).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_seq_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_drop($conn, $oid, "c", 4);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(3) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
}

Ayrıca Bakınız

  • cubrid_seq_insert() - Insert an element to a sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Insert an element to a sequence type column using OID

  • « cubrid_seq_drop
  • cubrid_seq_put »
  • PHP Manual
  • CUBRID İşlevleri
  • Insert an element to a sequence type column using OID

cubrid_seq_insert

(PECL CUBRID >= 8.3.0)

cubrid_seq_insert — Insert an element to a sequence type column using OID

Açıklama

cubrid_seq_insert(
resource $conn_identifier,
string $oid,
string $attr_name,
int $index,
string $seq_element
): bool

The cubrid_col_insert() function is used to insert an element to a sequence type attribute in a requested location.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an instance to.

index

Location of the element, you want to insert the element to (1-based).

seq_element

Content of the element that you want to insert.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_seq_insert() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_insert($conn, $oid, "c", 5, "44");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(5) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
  [4]=>
  string(2) "44"
}

Ayrıca Bakınız

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_put() - Update the element value of sequence type column using OID


Update the element value of sequence type column using OID

  • « cubrid_seq_insert
  • cubrid_set_add »
  • PHP Manual
  • CUBRID İşlevleri
  • Update the element value of sequence type column using OID

cubrid_seq_put

(PECL CUBRID >= 8.3.0)

cubrid_seq_put — Update the element value of sequence type column using OID

Açıklama

cubrid_seq_put(
resource $conn_identifier,
string $oid,
string $attr_name,
int $index,
string $seq_element
): bool

The cubrid_seq_put() function is used to update the content of the requested element in a sequent type attribute using OID.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute that you want to update an element.

index

Index (1-based) of the element that you want to update.

seq_element

New content that you want to use for the update.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_seq_put() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c sequence(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_seq_put($conn, $oid, "c", 1, "111");

$attr = cubrid_col_get($conn, $oid, "c");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(2) "11"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}
array(4) {
  [0]=>
  string(3) "111"
  [1]=>
  string(2) "22"
  [2]=>
  string(2) "33"
  [3]=>
  string(3) "333"
}

Ayrıca Bakınız

  • cubrid_seq_drop() - Delete an element from sequence type column using OID
  • cubrid_seq_insert() - Insert an element to a sequence type column using OID


Insert a single element to set type column using OID

  • « cubrid_seq_put
  • cubrid_set_autocommit »
  • PHP Manual
  • CUBRID İşlevleri
  • Insert a single element to set type column using OID

cubrid_set_add

(PECL CUBRID >= 8.3.0)

cubrid_set_add — Insert a single element to set type column using OID

Açıklama

cubrid_set_add(
resource $conn_identifier,
string $oid,
string $attr_name,
string $set_element
): bool

The cubrid_set_add() function is used to insert a single element to a set type attribute (set, multiset, sequence) you requested.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to insert an element.

set_element

Content of the element you want to insert.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_set_add() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_add($conn, $oid, "b", "4");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
  [3]=>
  string(1) "4"
}

Ayrıca Bakınız

  • cubrid_seq_drop() - Delete an element from sequence type column using OID


Set autocommit mode of the connection

  • « cubrid_set_add
  • cubrid_set_db_parameter »
  • PHP Manual
  • CUBRID İşlevleri
  • Set autocommit mode of the connection

cubrid_set_autocommit

(PECL CUBRID >= 8.4.0)

cubrid_set_autocommit — Set autocommit mode of the connection

Açıklama

cubrid_set_autocommit(resource $conn_identifier, bool $mode): bool

The cubrid_set_autocommit() function is used to set the CUBRID database auto-commit mode of the current database connection.

In CUBRID PHP, auto-commit mode is disabled by default for transaction management. When auto-commit mode is truned from off to on, any pending work is automatically committed.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

mode

Auto-commit mode. The following constants can be used:

  • CUBRID_AUTOCOMMIT_FALSE
  • CUBRID_AUTOCOMMIT_TRUE

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_get_autocommit() - Get auto-commit mode of the connection
  • cubrid_commit() - Commit a transaction


Sets the CUBRID database parameters

  • « cubrid_set_autocommit
  • cubrid_set_drop »
  • PHP Manual
  • CUBRID İşlevleri
  • Sets the CUBRID database parameters

cubrid_set_db_parameter

(PECL CUBRID >= 8.4.0)

cubrid_set_db_parameter — Sets the CUBRID database parameters

Açıklama

cubrid_set_db_parameter(resource $conn_identifier, int $param_type, int $param_value): bool

The cubrid_set_db_parameter() function is used to set the CUBRID database parameters. It can set the following CUBRID database parameters:

  • PARAM_ISOLATION_LEVEL
  • PARAM_LOCK_TIMEOUT

Bilginize:

The auto-commit mode can be set by using cubrid_set_autocommit().

Bağımsız Değişkenler

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

param_type

Database parameter type.

param_value

Isolation level value (1-6) or lock timeout (in seconds) value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_get_db_parameter() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

$params = cubrid_get_db_parameter($conn);
var_dump($params);

cubrid_set_autocommit($conn, CUBRID_AUTOCOMMIT_TRUE);
cubrid_set_db_parameter($conn, CUBRID_PARAM_ISOLATION_LEVEL, 2);

$params_new = cubrid_get_db_parameter($conn);
var_dump($params_new);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(3)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(0)
}
array(4) {
  ["PARAM_ISOLATION_LEVEL"]=>
  int(2)
  ["PARAM_LOCK_TIMEOUT"]=>
  int(-1)
  ["PARAM_MAX_STRING_LENGTH"]=>
  int(1073741823)
  ["PARAM_AUTO_COMMIT"]=>
  int(1)
}

Ayrıca Bakınız

  • cubrid_get_db_parameter() - Returns the CUBRID database parameters
  • cubrid_set_autocommit() - Set autocommit mode of the connection


Delete an element from set type column using OID

  • « cubrid_set_db_parameter
  • cubrid_set_query_timeout »
  • PHP Manual
  • CUBRID İşlevleri
  • Delete an element from set type column using OID

cubrid_set_drop

(PECL CUBRID >= 8.3.0)

cubrid_set_drop — Delete an element from set type column using OID

Açıklama

cubrid_set_drop(
resource $conn_identifier,
string $oid,
string $attr_name,
string $set_element
): bool

The cubrid_set_drop() function is used to delete an element that you request from the given set type (set, multiset) attribute of the database.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

OID of the instance you want to work with.

attr_name

Name of the attribute you want to delete an element from.

set_element

Content of the element you want to delete.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 cubrid_set_drop() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");

@cubrid_execute($conn, "DROP TABLE foo");
cubrid_execute($conn, "CREATE TABLE foo(a int AUTO_INCREMENT, b set(int), c list(int), d char(10))");
cubrid_execute($conn, "INSERT INTO foo(a, b, c, d) VALUES(1, {1,2,3}, {11,22,33,333}, 'a')");

$req = cubrid_execute($conn, "SELECT * FROM foo", CUBRID_INCLUDE_OID);

cubrid_move_cursor($req, 1, CUBRID_CURSOR_FIRST);
$oid = cubrid_current_oid($req);

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_set_drop($conn, $oid, "b", "1");

$attr = cubrid_col_get($conn, $oid, "b");
var_dump($attr);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "3"
}
array(2) {
  [0]=>
  string(1) "2"
  [1]=>
  string(1) "3"
}

Ayrıca Bakınız

  • cubrid_set_add() - Insert a single element to set type column using OID


Set the timeout time of query execution

  • « cubrid_set_drop
  • cubrid_version »
  • PHP Manual
  • CUBRID İşlevleri
  • Set the timeout time of query execution

cubrid_set_query_timeout

(PECL CUBRID >= 8.4.1)

cubrid_set_query_timeout — Set the timeout time of query execution

Açıklama

cubrid_set_query_timeout(resource $req_identifier, int $timeout): bool

The cubrid_set_query_timeout() function is used to set the timeout time of query execution.

Bağımsız Değişkenler

req_identifier

Request identifier.

timeout

Timeout time in milliseconds.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • cubrid_get_query_timeout() - Get the query timeout value of the request


Get the CUBRID PHP module's version

  • « cubrid_set_query_timeout
  • CUBRID MySQL Compatibility Functions »
  • PHP Manual
  • CUBRID İşlevleri
  • Get the CUBRID PHP module's version

cubrid_version

(PECL CUBRID >= 8.3.0)

cubrid_version — Get the CUBRID PHP module's version

Açıklama

cubrid_version(): string

The cubrid_version() function is used to get the CUBRID PHP module's version.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Version information (eg. "8.3.1.0001").

Örnekler

Örnek 1 cubrid_version() example

<?php
printf("%-30s %s\n", "CUBRID PHP Version:", cubrid_version());

printf("\n");

$conn = cubrid_connect("localhost", 33088, "demodb", "dba");

if (!$conn) {
die('Connect Error ('. cubrid_error_code() .')' . cubrid_error_msg());
}

$db_params = cubrid_get_db_parameter($conn);

while (list($param_name, $param_value) = each($db_params)) {
printf("%-30s %s\n", $param_name, $param_value);
}

printf("\n");

$server_info = cubrid_get_server_info($conn);
$client_info = cubrid_get_client_info();

printf("%-30s %s\n", "Server Info:", $server_info);
printf("%-30s %s\n", "Client Info:", $client_info);

printf("\n");

$charset = cubrid_get_charset($conn);

printf("%-30s %s\n", "CUBRID Charset:", $charset);

cubrid_disconnect($conn);

?>

Yukarıdaki örneğin çıktısı:

CUBRID PHP Version:            9.1.0.0001

PARAM_ISOLATION_LEVEL          3
LOCK_TIMEOUT                   -1
MAX_STRING_LENGTH              1073741823
PARAM_AUTO_COMMIT              1

Server Info:                   9.1.0.0212
Client Info:                   9.1.0

CUBRID Charset:                iso8859-1

Ayrıca Bakınız

  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_code_facility() - Get the facility code of error


CUBRID MySQL Compatibility Functions

İçindekiler

  • cubrid_affected_rows — Return the number of rows affected by the last SQL statement
  • cubrid_client_encoding — Return the current CUBRID connection charset
  • cubrid_close — Close CUBRID connection
  • cubrid_data_seek — Move the internal row pointer of the CUBRID result
  • cubrid_db_name — Get db name from results of cubrid_list_dbs
  • cubrid_errno — Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error — Get the error message
  • cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row
  • cubrid_fetch_field — Get column information from a result and return as an object
  • cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row
  • cubrid_fetch_object — Fetch the next row and return it as an object
  • cubrid_fetch_row — Return a numerical array with the values of the current row
  • cubrid_field_flags — Return a string with the flags of the given field offset
  • cubrid_field_len — Get the maximum length of the specified field
  • cubrid_field_name — Return the name of the specified field index
  • cubrid_field_seek — Move the result set cursor to the specified field offset
  • cubrid_field_table — Return the name of the table of the specified field
  • cubrid_field_type — Return the type of the column corresponding to the given field offset
  • cubrid_list_dbs — Return an array with the list of all existing CUBRID databases
  • cubrid_num_fields — Return the number of columns in the result set
  • cubrid_ping — Ping a server connection or reconnect if there is no connection
  • cubrid_query — Send a CUBRID query
  • cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement
  • cubrid_result — Return the value of a specific field in a specific row
  • cubrid_unbuffered_query — Perform a query without fetching the results into memory


Return the number of rows affected by the last SQL statement

  • « CUBRID MySQL Compatibility Functions
  • cubrid_client_encoding »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the number of rows affected by the last SQL statement

cubrid_affected_rows

(PECL CUBRID >= 8.3.0)

cubrid_affected_rows — Return the number of rows affected by the last SQL statement

Açıklama

cubrid_affected_rows(resource $conn_identifier = ?): int
cubrid_affected_rows(resource $req_identifier = ?): int

The cubrid_affected_rows() function is used to get the number of rows affected by the SQL statement (INSERT, DELETE, UPDATE).

Bağımsız Değişkenler

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opend by cubrid_connect() is assumed.

req_identifier

Request Identifier, could be returned from either cubrid_prepare() or cubrid_execute(). If the request identifier is not specified, the last identifier requested by cubrid_prepare() or cubrid_execute() is assumed.

Dönen Değerler

Number of rows affected by the SQL statement, when process is successful.

-1, when SQL statement is not INSERT, DELETE or UPDATE.

false, when the request identifier is not specified, and there is no last request.

Örnekler

Örnek 1 cubrid_affected_rows() example

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
cubrid_execute($conn, "DROP TABLE IF EXISTS cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (d varchar)");
$sql_stmt = "INSERT INTO cubrid_test(d) VALUES('php-test')";
$req = cubrid_prepare($conn, $sql_stmt);

for ($i = 0; $i < 10; $i++) {
cubrid_execute($req);
}
cubrid_commit($conn);

$req = cubrid_execute($conn, "DELETE FROM cubrid_test WHERE d='php-test'", CUBRID_ASYNC);
var_dump(cubrid_affected_rows());
var_dump(cubrid_affected_rows($conn));
var_dump(cubrid_affected_rows($req));

cubrid_disconnect($conn);

print "done!";
?>

Yukarıdaki örneğin çıktısı:

Rows deleted: 5

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement


Return the current CUBRID connection charset

  • « cubrid_affected_rows
  • cubrid_close »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the current CUBRID connection charset

cubrid_client_encoding

(PECL CUBRID >= 8.3.1)

cubrid_client_encoding — Return the current CUBRID connection charset

Açıklama

cubrid_client_encoding(resource $conn_identifier = ?): string

This function returns the current CUBRID connection charset and is similar to the CUBRID function cubrid_get_charset().

Bağımsız Değişkenler

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last link opened by cubrid_connect() is assumed.

Dönen Değerler

A string that represents the CUBRID connection charset; on success.

false on failure.

Örnekler

Örnek 1 cubrid_client_encoding() example

<?php

$con = cubrid_connect("localhost", 33000, "demodb");
if (!$con)
{
die('Could not connect.');
}

printf("CUBRID current charset: %s\n", cubrid_client_encoding($con));

?>

Yukarıdaki örneğin çıktısı:

CUBRID current charset: iso8859-1

Ayrıca Bakınız

  • cubrid_get_charset() - Return the current CUBRID connection charset


Close CUBRID connection

  • « cubrid_client_encoding
  • cubrid_data_seek »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Close CUBRID connection

cubrid_close

(PECL CUBRID >= 8.3.1)

cubrid_close — Close CUBRID connection

Açıklama

cubrid_close(resource $conn_identifier = ?): bool

The cubrid_close() function ends the transaction currently in process, closes the connection handle and disconnects from server. If there is any request handles not closed yet at this point, they will be closed. It is similar to the CUBRID function cubrid_disconnect().

Bağımsız Değişkenler

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

true, when process is successful.

false, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_close() example

<?php
$con = cubrid_connect ("localhost", 33000, "demodb");
if ($con) {
echo "connected successfully";
$req = cubrid_execute ( $con, "insert into person values(1,'James')");
if ($req) {
cubrid_close_request ($req);
cubrid_commit ($con);
} else {
cubrid_rollback ($con);
}
cubrid_close ($con);
}
?>

Ayrıca Bakınız

  • cubrid_disconnect() - Close a database connection
  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_connect_with_url() - Establish the environment for connecting to CUBRID server


Move the internal row pointer of the CUBRID result

  • « cubrid_close
  • cubrid_db_name »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Move the internal row pointer of the CUBRID result

cubrid_data_seek

(PECL CUBRID >= 8.3.0)

cubrid_data_seek — Move the internal row pointer of the CUBRID result

Açıklama

cubrid_data_seek(resource $result, int $row_number): bool

This function performs the moving of the internal row pointer of the CUBRID result (associated with the specified result identifier) to point to a specific row number. There are functions, such as cubrid_fetch_assoc(), which use the current stored value of row number.

Bağımsız Değişkenler

result

The result.

row_number

This is the desired row number of the new result pointer.

Dönen Değerler

Returns true on success or false on failure.

Örnekler

Örnek 1 cubrid_data_seek() example

<?php
$conn = cubrid_connect("127.0.0.1", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");
cubrid_data_seek($req, 0);

$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 2);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_data_seek($req, 4);
$result = cubrid_fetch_row($req);
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  string(1) "X"
  [1]=>
  string(5) "Mixed"
}
array(2) {
  [0]=>
  string(1) "M"
  [1]=>
  string(3) "Man"
}
array(2) {
  [0]=>
  string(1) "S"
  [1]=>
  string(6) "Silver"
}


Get db name from results of cubrid_list_dbs

  • « cubrid_data_seek
  • cubrid_errno »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get db name from results of cubrid_list_dbs

cubrid_db_name

(PECL CUBRID >= 8.3.1)

cubrid_db_name — Get db name from results of cubrid_list_dbs

Açıklama

cubrid_db_name(array $result, int $index): string

Retrieve the database name from a call to cubrid_list_dbs().

Bağımsız Değişkenler

result

The result pointer from a call to cubrid_list_dbs().

index

The index into the result set.

Dönen Değerler

Returns the database name on success, and false on failure. If false is returned, use cubrid_error() to determine the nature of the error.

Örnekler

Örnek 1 cubrid_db_name() example

<?php
error_reporting(E_ALL);

$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$db_list = cubrid_list_dbs($conn);

$i = 0;
$cnt = count($db_list);
while ($i < $cnt) {
echo cubrid_db_name($db_list, $i) . "\n";
$i++;
}
?>

Yukarıdaki örneğin çıktısı:

demodb

Ayrıca Bakınız

  • cubrid_list_dbs() - Return an array with the list of all existing CUBRID databases


Return the numerical value of the error message from previous CUBRID operation

  • « cubrid_db_name
  • cubrid_error »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the numerical value of the error message from previous CUBRID operation

cubrid_errno

(PECL CUBRID >= 8.3.1)

cubrid_errno — Return the numerical value of the error message from previous CUBRID operation

Açıklama

cubrid_errno(resource $conn_identifier = ?): int

Returns the error number from the last CUBRID function.

The cubrid_errno() function is used to get the error code of the error that occurred during the API execution. Usually, it gets the error code when API returns false as its return value.

Bağımsız Değişkenler

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

Returns the error number from the last CUBRID function, or 0 (zero) if no error occurred.

Örnekler

Örnek 1 cubrid_errno() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
while (list ($id, $name) = cubrid_fetch($req))
echo $id, $name;
} else {
echo "Error Code: ", cubrid_errno($con);
echo "Error Message: ", cubrid_error($con);
}
?>

Yukarıdaki örneğin çıktısı:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Ayrıca Bakınız

  • cubrid_error() - Get the error message
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Get the error message

  • « cubrid_errno
  • cubrid_fetch_array »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get the error message

cubrid_error

(PECL CUBRID >= 8.3.1)

cubrid_error — Get the error message

Açıklama

cubrid_error(resource $connection = ?): string

The cubrid_error() function is used to get the error message that occurred during the use of CUBRID API. Usually, it gets error message when API returns false as its return value.

Bağımsız Değişkenler

connection

The CUBRID connection.

Dönen Değerler

Error message that occurred.

Örnekler

Örnek 1 cubrid_error() example

<?php
$con = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$req = cubrid_execute($con, "select id, name from person");
if ($req) {
while (list ($id, $name) = cubrid_fetch($req))
echo $id, $name;
} else {
echo "Error Code: ", cubrid_errno($con);
echo "Error Message: ", cubrid_error($con);
}
?>

Yukarıdaki örneğin çıktısı:

Error Code: -493 Error Message: Syntax: Unknown class "person". select id, [name] from person

Ayrıca Bakınız

  • cubrid_errno() - Return the numerical value of the error message from previous CUBRID operation
  • cubrid_error_code() - Get error code for the most recent function call
  • cubrid_error_msg() - Get last error message for the most recent function call


Fetch a result row as an associative array, a numeric array, or both

  • « cubrid_error
  • cubrid_fetch_assoc »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Fetch a result row as an associative array, a numeric array, or both

cubrid_fetch_array

(PECL CUBRID >=8.3.0)

cubrid_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Açıklama

cubrid_fetch_array(resource $result, int $type = CUBRID_BOTH): array

The cubrid_fetch_array() function is used to get a single row from the query result and returns an array. The cursor automatically moves to the next row after getting the result.

Bağımsız Değişkenler

result

Result comes from a call to cubrid_execute()

type

Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH. If you need to operate the lob object, you can use CUBRID_LOB.

Dönen Değerler

Returns an array of strings that corresponds to the fetched row, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you'll get an array with both associative and number indices, and you can decide which data type to use by setting the type argument. The type variable can be set to one of the following values:

  • CUBRID_NUM : Numerical array (0-based)
  • CUBRID_ASSOC : Associative array
  • CUBRID_BOTH : Numerical & Associative array (default)

Örnekler

Örnek 1 cubrid_fetch_array() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_array($req, CUBRID_NUM | CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Return the associative array that corresponds to the fetched row

  • « cubrid_fetch_array
  • cubrid_fetch_field »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the associative array that corresponds to the fetched row

cubrid_fetch_assoc

(PECL CUBRID >= 8.3.0)

cubrid_fetch_assoc — Return the associative array that corresponds to the fetched row

Açıklama

cubrid_fetch_assoc(resource $result, int $type = ?): array

This function returns the associative array, that corresponds to the fetched row, and then moves the internal data pointer ahead, or returns FALSE when the end is reached.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Dönen Değerler

Associative array, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_fetch_assoc() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_assoc($req)) {
printf("%-40s %-10s %-6s %-20s\n",
$row["name"], $row["area"], $row["seats"], $row["address"]);
}

// if you want to operate LOB object, you can use cubrid_fetch_assoc($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_row() - Return a numerical array with the values of the current row
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Get column information from a result and return as an object

  • « cubrid_fetch_assoc
  • cubrid_fetch_lengths »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get column information from a result and return as an object

cubrid_fetch_field

(PECL CUBRID >= 8.3.1)

cubrid_fetch_field — Get column information from a result and return as an object

Açıklama

cubrid_fetch_field(resource $result, int $field_offset = 0): object

This function returns an object with certain properties of the specific column. The properties of the object are:

name

column name

table

name of the table that the column belongs to

def

default value of the column

max_length

maximum length of the column

not_null

1 if the column cannot be NULL

primary_key

1 if the column is a primary key

unique_key

1 if the column is an unique key

multiple_key

1 if the column is a non-unique key

numeric

1 if the column is numeric

blob

1 if the column is a BLOB

type

the type of the column

unsigned

1 if the column is unsigned

zerofill

1 if the column is zero-filled

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. If the field offset is not specified, the next field (that was not yet retrieved by this function) is retrieved. The field_offset starts at 0.

Dönen Değerler

Object with certain properties of the specific column, when process is successful.

false on failure.

Örnekler

Örnek 1 cubrid_fetch_field() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "primary key:", $field->primary_key);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %d\n", "blob:", $field->blob);
printf("%-30s %s\n", "type:", $field->type);
printf("%-30s %d\n", "unsigned:", $field->unsigned);
printf("%-30s %d\n", "zerofill:", $field->zerofill);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16681"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-9-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
primary key:                   1
unique key:                    1
multiple key:                  0
numeric:                       1
blob:                          0
type:                          integer
unsigned:                      0
zerofill:                      0


Return an array with the lengths of the values of each field from the current row

  • « cubrid_fetch_field
  • cubrid_fetch_object »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return an array with the lengths of the values of each field from the current row

cubrid_fetch_lengths

(PECL CUBRID >= 8.3.0)

cubrid_fetch_lengths — Return an array with the lengths of the values of each field from the current row

Açıklama

cubrid_fetch_lengths(resource $result): array

This function returns a numeric array with the lengths of the values of each field from the current row of the result set or it returns FALSE on failure.

Bilginize:

If field data type is BLOB/CLOB, you should get its length by using cubrid_lob_size().

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

Dönen Değerler

A numeric array, when process is successful.

false on failure.

Örnekler

Örnek 1 cubrid_fetch_lengths() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$row = cubrid_fetch_row($result);
print_r($row);

$lens = cubrid_fetch_lengths($result);
print_r($lens);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 2004
    [1] => 20085
    [2] => 15118
    [3] => 30134
    [4] => AUS
    [5] => G
    [6] => 2004-8-20
)
Array
(
    [0] => 4
    [1] => 5
    [2] => 5
    [3] => 5
    [4] => 3
    [5] => 1
    [6] => 10
)


Fetch the next row and return it as an object

  • « cubrid_fetch_lengths
  • cubrid_fetch_row »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Fetch the next row and return it as an object

cubrid_fetch_object

(PECL CUBRID >= 8.3.0)

cubrid_fetch_object — Fetch the next row and return it as an object

Açıklama

cubrid_fetch_object(
resource $result,
string $class_name = ?,
array $params = ?,
int $type = ?
): object

This function returns an object with the column names of the result set as properties. The values of these properties are extracted from the current row of the result.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

class_name

The name of the class to instantiate. If not specified, a stdClass (stdClass is PHP's generic empty class that's used when casting other types to objects) object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Dönen Değerler

An object, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_fetch_object() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$res = cubrid_execute($conn, "SELECT * FROM code");

var_dump(cubrid_fetch_object($res));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, CUBRID_LOB)

class demodb_code {
public $s_name = null;
public $f_name = null;

public function toString() {
var_dump($this);
}
}

var_dump(cubrid_fetch_object($res, "demodb_code"));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, "demodb_code", CUBRID_LOB)

class demodb_code_construct extends demodb_code {
public function __construct($s, $f) {
$this->s_name = $s;
$this->f_name = $f;
}
}

var_dump(cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name')));

// if you want to operate LOB object, you can use cubrid_fetch_object($res, 'demodb_code_construct', array('s_name', 'f_name'), CUBRID_LOB)

var_dump(cubrid_fetch_object($res));

cubrid_close_request($res);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "X"
  ["f_name"]=>
  string(5) "Mixed"
}
object(demodb_code)#1 (2) {
  ["s_name"]=>
  string(1) "W"
  ["f_name"]=>
  string(5) "Woman"
}
object(demodb_code_construct)#1 (2) {
  ["s_name"]=>
  string(6) "s_name"
  ["f_name"]=>
  string(6) "f_name"
}
object(stdClass)#1 (2) {
  ["s_name"]=>
  string(1) "B"
  ["f_name"]=>
  string(6) "Bronze"
}

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_row() - Return a numerical array with the values of the current row


Return a numerical array with the values of the current row

  • « cubrid_fetch_object
  • cubrid_field_flags »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return a numerical array with the values of the current row

cubrid_fetch_row

(PECL CUBRID >= 8.3.0)

cubrid_fetch_row — Return a numerical array with the values of the current row

Açıklama

cubrid_fetch_row(resource $result, int $type = ?): array

This function returns a numerical array with the values of the current row from the result set, starting from 0, and moves the internal data pointer ahead.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

type

Type can only be CUBRID_LOB, this parameter will be used only when you need to operate the lob object.

Dönen Değerler

A numerical array, when process is successful.

false, when there are no more rows; NULL, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_fetch_row() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");

printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_row($req)) {
printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}

// if you want to operate LOB object, you can use cubrid_fetch_row($req, CUBRID_LOB)

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

name                                     area       seats  address
Panathinaiko Stadium                     86300.00   50000  Athens, Greece
Olympic Stadium                          54700.00   13000  Athens, Greece
Olympic Indoor Hall                      34100.00   18800  Athens, Greece
Olympic Hall                             52400.00   21000  Athens, Greece
Olympic Aquatic Centre                   42500.00   11500  Athens, Greece
Markopoulo Olympic Equestrian Centre     64000.00   15000  Markopoulo, Athens, Greece
Faliro Coastal Zone Olympic Complex      34650.00   12171  Faliro, Athens, Greece
Athens Olympic Stadium                   120400.00  71030  Maroussi, Athens, Greece
Ano Liossia                              34000.00   12000  Ano Liosia, Athens, Greece

Ayrıca Bakınız

  • cubrid_execute() - Execute a prepared SQL statement
  • cubrid_fetch() - Fetch the next row from a result set
  • cubrid_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_fetch_object() - Fetch the next row and return it as an object


Return a string with the flags of the given field offset

  • « cubrid_fetch_row
  • cubrid_field_len »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return a string with the flags of the given field offset

cubrid_field_flags

(PECL CUBRID >= 8.3.0)

cubrid_field_flags — Return a string with the flags of the given field offset

Açıklama

cubrid_field_flags(resource $result, int $field_offset): string

This function returns a string with the flags of the given field offset separated by space. You can split the returned value using explode. The possible flags could be: not_null, primary_key, unique_key, foreign_key, auto_increment, shared, reverse_index, reverse_unique and timestamp.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

A string with flags, when process is successful.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Örnekler

Örnek 1 cubrid_field_flags() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date


Get the maximum length of the specified field

  • « cubrid_field_flags
  • cubrid_field_name »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Get the maximum length of the specified field

cubrid_field_len

(PECL CUBRID >= 8.3.0)

cubrid_field_len — Get the maximum length of the specified field

Açıklama

cubrid_field_len(resource $result, int $field_offset): int

This function returns the maximum length of the specified field on success, or it returns FALSE on failure.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

Maximum length, when process is successful.

false on failure.

Örnekler

Örnek 1 cubrid_field_len() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$column_names = cubrid_column_names($result);
$column_types = cubrid_column_types($result);

printf("%-30s %-30s %-15s\n", "Column Names", "Column Types", "Column Maxlen");
for($i = 0, $size = count($column_names); $i < $size; $i++) {
$column_len = cubrid_field_len($result, $i);
printf("%-30s %-30s %-15s\n", $column_names[$i], $column_types[$i], $column_len);
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Column Names                   Column Types                   Column Maxlen
host_year                      integer                        11
event_code                     integer                        11
athlete_code                   integer                        11
stadium_code                   integer                        11
nation_code                    char                           3
medal                          char                           1
game_date                      date                           10


Return the name of the specified field index

  • « cubrid_field_len
  • cubrid_field_seek »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the name of the specified field index

cubrid_field_name

(PECL CUBRID >= 8.3.0)

cubrid_field_name — Return the name of the specified field index

Açıklama

cubrid_field_name(resource $result, int $field_offset): string

This function returns the name of the specified field index on success or it returns FALSE on failure.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

Name of specified field index, on success.

false on failure.

Örnekler

Örnek 1 cubrid_field_name() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM game WHERE host_year=2004 AND nation_code='AUS' AND medal='G'");

$col_num = cubrid_num_cols($result);

printf("%-30s %s\n", "Field Name", "Field Flags");
for($i = 0; $i < $col_num; $i++) {
printf("%-30s %s\n", cubrid_field_name($result, $i), cubrid_field_flags($result, $i));
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Field Name                     Field Flags
host_year                      not_null primary_key unique_key
event_code                     not_null primary_key unique_key foreign_key
athlete_code                   not_null primary_key unique_key foreign_key
stadium_code                   not_null
nation_code
medal
game_date


Move the result set cursor to the specified field offset

  • « cubrid_field_name
  • cubrid_field_table »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Move the result set cursor to the specified field offset

cubrid_field_seek

(PECL CUBRID >= 8.3.0)

cubrid_field_seek — Move the result set cursor to the specified field offset

Açıklama

cubrid_field_seek(resource $result, int $field_offset = 0): bool

This function moves the result set cursor to the specified field offset. This offset is used by cubrid_fetch_field() if it doesn't include a field offset. It returns TRUE on success or FALSE on failure.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

true on success.

false on failure.

Örnekler

Örnek 1 cubrid_field_seek() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT event_code,athlete_code,nation_code,game_date FROM game WHERE host_year=1988 and event_code=20001;");

var_dump(cubrid_fetch_row($req));

cubrid_field_seek($req, 1);
$field = cubrid_fetch_field($req);

printf("\n--- Field Properties ---\n");
printf("%-30s %s\n", "name:", $field->name);
printf("%-30s %s\n", "table:", $field->table);
printf("%-30s \"%s\"\n", "default value:", $field->def);
printf("%-30s %d\n", "max length:", $field->max_length);
printf("%-30s %d\n", "not null:", $field->not_null);
printf("%-30s %d\n", "unique key:", $field->unique_key);
printf("%-30s %d\n", "multiple key:", $field->multiple_key);
printf("%-30s %d\n", "numeric:", $field->numeric);
printf("%-30s %s\n", "type:", $field->type);

cubrid_close_request($req);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(5) "20001"
  [1]=>
  string(5) "16132"
  [2]=>
  string(3) "KOR"
  [3]=>
  string(9) "1988-09-30"
}

--- Field Properties ---
name:                          athlete_code
table:                         game
default value:                 ""
max length:                    0
not null:                      1
unique key:                    1
multiple key:                  0
numeric:                       1
type:                          integer


Return the name of the table of the specified field

  • « cubrid_field_seek
  • cubrid_field_type »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the name of the table of the specified field

cubrid_field_table

(PECL CUBRID >= 8.3.0)

cubrid_field_table — Return the name of the table of the specified field

Açıklama

cubrid_field_table(resource $result, int $field_offset): string

This function returns the name of the table of the specified field. This is useful when using large select queries with JOINS.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

Name of the table of the specified field, on success.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Örnekler

Örnek 1 cubrid_field_table() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
printf("%-15s %-15s %s\n",
cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar


Return the type of the column corresponding to the given field offset

  • « cubrid_field_table
  • cubrid_list_dbs »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the type of the column corresponding to the given field offset

cubrid_field_type

(PECL CUBRID >= 8.3.0)

cubrid_field_type — Return the type of the column corresponding to the given field offset

Açıklama

cubrid_field_type(resource $result, int $field_offset): string

This function returns the type of the column corresponding to the given field offset. The returned field type could be one of the following: "int", "real", "string", etc.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

field_offset

The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.

Dönen Değerler

Type of the column, on success.

false when invalid field_offset value.

-1 if SQL sentence is not SELECT.

Örnekler

Örnek 1 cubrid_field_type() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$result = cubrid_execute($conn, "SELECT * FROM code");

$col_num = cubrid_num_cols($result);

printf("%-15s %-15s %s\n", "Field Table", "Field Name", "Field Type");
for($i = 0; $i < $col_num; $i++) {
printf("%-15s %-15s %s\n",
cubrid_field_table($result, $i), cubrid_field_name($result, $i), cubrid_field_type($result, $i));
}

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Field Table     Field Name      Field Type
code            s_name          char
code            f_name          varchar


Return an array with the list of all existing CUBRID databases

  • « cubrid_field_type
  • cubrid_num_fields »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return an array with the list of all existing CUBRID databases

cubrid_list_dbs

(PECL CUBRID >= 8.3.0)

cubrid_list_dbs — Return an array with the list of all existing CUBRID databases

Açıklama

cubrid_list_dbs(resource $conn_identifier = ?): array

This function returns an array with the list of all existing Cubrid databases.

Bağımsız Değişkenler

conn_identifier

The CUBRID connection.

Dönen Değerler

An numeric array with all existing Cubrid databases; on success.

false on failure.

Örnekler

Örnek 1 cubrid_list_dbs() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$db_list = cubrid_list_dbs($conn);
var_dump($db_list);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  string(6) "demodb"
}


Return the number of columns in the result set

  • « cubrid_list_dbs
  • cubrid_ping »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the number of columns in the result set

cubrid_num_fields

(PECL CUBRID >= 8.3.0)

cubrid_num_fields — Return the number of columns in the result set

Açıklama

cubrid_num_fields(resource $result): int

This function returns the number of columns in the result set, on success, or it returns FALSE on failure.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute(), cubrid_query() and cubrid_prepare()

Dönen Değerler

Number of columns, on success.

-1 if SQL sentence is not SELECT.

false when process is unsuccessful.

Örnekler

Örnek 1 cubrid_num_fields() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$row_num = cubrid_num_rows($req);
$col_num = cubrid_num_fields($req);

printf("Row Num: %d\nColumn Num: %d\n", $row_num, $col_num);

cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

Row Num: 6
Column Num: 2


Ping a server connection or reconnect if there is no connection

  • « cubrid_num_fields
  • cubrid_query »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Ping a server connection or reconnect if there is no connection

cubrid_ping

(PECL CUBRID >= 8.3.1)

cubrid_ping — Ping a server connection or reconnect if there is no connection

Açıklama

cubrid_ping(resource $conn_identifier = ?): bool

Checks whether or not the connection to the server is working.

Bağımsız Değişkenler

conn_identifier

The CUBRID connection identifier. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

Returns true if the connection to the server CUBRID server is working, otherwise false.

Örnekler

Örnek 1 cubrid_ping() example

<?php
set_time_limit(0);

$conn = cubrid_connect('localhost', 33000, 'demodb');

/* Assuming this query will take a long time */
$sql = "select * from athlete";
$result = cubrid_query($sql);
if (!$result) {
echo 'Query #1 failed, exiting.';
exit;
}

/* Make sure the connection is still alive, if not, try to reconnect */
if (!cubrid_ping($conn)) {
echo 'Lost connection, exiting after query #1';
exit;
}
cubrid_free_result($result);

/* So the connection is still alive, let's run another query */
$sql2 = "select * from code";
$result2 = cubrid_query($sql2);
?>


Send a CUBRID query

  • « cubrid_ping
  • cubrid_real_escape_string »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Send a CUBRID query

cubrid_query

(PECL CUBRID >= 8.3.1)

cubrid_query — Send a CUBRID query

Açıklama

cubrid_query(string $query, resource $conn_identifier = ?): resource

cubrid_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified conn_identifier.

Bağımsız Değişkenler

query

An SQL query

Data inside the query should be properly escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, cubrid_query() returns a resource on success, or false on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, cubrid_query() returns true on success or false on error.

The returned result resource should be passed to cubrid_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use cubrid_num_rows() to find out how many rows were returned for a SELECT statement or cubrid_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

cubrid_query() will also fail and return false if the user does not have permission to access the table(s) referenced by the query.

Örnekler

Örnek 1 Invalid Query

The following query is syntactically invalid, so cubrid_query() fails and returns false.

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb');

$result = cubrid_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . cubrid_error());
}

?>

Örnek 2 Valid Query

The following query is valid, so cubrid_query() returns a resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname = 'fox';

$conn = cubrid_connect('localhost', 33000, 'demodb');

cubrid_execute($conn,"DROP TABLE if exists friends");
cubrid_execute($conn,"create table friends(firstname varchar,lastname varchar,address char(24),age int)");
cubrid_execute($conn,"insert into friends values('fred','fox','home-1','20')");
cubrid_execute($conn,"insert into friends values('blue','cat','home-2','21')");
// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see cubrid_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends WHERE firstname='%s' AND lastname='%s'",
cubrid_real_escape_string($firstname),
cubrid_real_escape_string($lastname));

// Perform Query
$result = cubrid_query($query);

// Check result
// This shows the actual query sent to CUBRID, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . cubrid_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the cubrid result functions must be used
// See also cubrid_result(), cubrid_fetch_array(), cubrid_fetch_row(), etc.
while ($row = cubrid_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
cubrid_free_result($result);
?>

Ayrıca Bakınız

  • cubrid_connect() - Open a connection to a CUBRID Server
  • cubrid_error() - Get the error message
  • cubrid_real_escape_string() - Escape special characters in a string for use in an SQL statement
  • cubrid_result() - Return the value of a specific field in a specific row
  • cubrid_fetch_assoc() - Return the associative array that corresponds to the fetched row
  • cubrid_unbuffered_query() - Perform a query without fetching the results into memory


Escape special characters in a string for use in an SQL statement

  • « cubrid_query
  • cubrid_result »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Escape special characters in a string for use in an SQL statement

cubrid_real_escape_string

(PECL CUBRID >= 8.3.0)

cubrid_real_escape_string — Escape special characters in a string for use in an SQL statement

Açıklama

cubrid_real_escape_string(string $unescaped_string, resource $conn_identifier = ?): string

This function returns the escaped string version of the given string. It will escape the following characters: '. In general, single quotations are used to enclose character string. Double quotations may be used as well depending on the value of ansi_quotes, which is a parameter related to SQL statement. If the ansi_quotes value is set to no, character string enclosed by double quotations is handled as character string, not as an identifier. The default value is yes. If you want to include a single quote as part of a character string, enter two single quotes in a row.

Bağımsız Değişkenler

unescaped_string

The string that is to be escaped.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

Escaped string version of the given string, on success.

false on failure.

Örnekler

Örnek 1 cubrid_real_escape_string() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$unescaped_str = ' !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~';
$escaped_str = cubrid_real_escape_string($unescaped_str);

$len = strlen($unescaped_str);

@cubrid_execute($conn, "DROP TABLE cubrid_test");
cubrid_execute($conn, "CREATE TABLE cubrid_test (t char($len))");
cubrid_execute($conn, "INSERT INTO cubrid_test (t) VALUES('$escaped_str')");

$req = cubrid_execute($conn, "SELECT * FROM cubrid_test");
$row = cubrid_fetch_assoc($req);

var_dump($row);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["t"]=>
  string(95) " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
}


Return the value of a specific field in a specific row

  • « cubrid_real_escape_string
  • cubrid_unbuffered_query »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Return the value of a specific field in a specific row

cubrid_result

(PECL CUBRID >= 8.3.0)

cubrid_result — Return the value of a specific field in a specific row

Açıklama

cubrid_result(resource $result, int $row, mixed $field = 0): string

This function returns the value of a specific field in a specific row from a result set.

Bağımsız Değişkenler

result

result comes from a call to cubrid_execute()

row

The row number from the result that is being retrieved. Row numbers start at 0.

field

The name or offset of the field being retrieved. It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Dönen Değerler

Value of a specific field, on success (NULL if value if null).

false on failure.

Örnekler

Örnek 1 cubrid_result() example

<?php
$conn = cubrid_connect("localhost", 33000, "demodb");

$req = cubrid_execute($conn, "SELECT * FROM code");

$result = cubrid_result($req, 0);
var_dump($result);

$result = cubrid_result($req, 0, 1);
var_dump($result);

$result = cubrid_result($req, 5, "f_name");
var_dump($result);

cubrid_close_request($req);
cubrid_disconnect($conn);
?>

Yukarıdaki örneğin çıktısı:

string(1) "X"
string(5) "Mixed"
string(4) "Gold"


Perform a query without fetching the results into memory

  • « cubrid_result
  • CUBRID Obsolete Aliases and Functions »
  • PHP Manual
  • CUBRID MySQL Compatibility Functions
  • Perform a query without fetching the results into memory

cubrid_unbuffered_query

(PECL CUBRID >= 8.3.0)

cubrid_unbuffered_query — Perform a query without fetching the results into memory

Açıklama

cubrid_unbuffered_query(string $query, resource $conn_identifier = ?): resource

This function performs a query without waiting for that all query results have been complete. It will return when the results are being generated.

Bağımsız Değişkenler

query

A SQL query.

conn_identifier

The CUBRID connection. If the connection identifier is not specified, the last connection opened by cubrid_connect() is assumed.

Dönen Değerler

For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a request identifier resource on success.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns true on success.

false on failure.

Örnekler

Örnek 1 cubrid_unbuffered_query() example

<?php
$link = cubrid_connect("localhost", 30000, "demodb", "dba", "");
if (!$link)
{
die('Could not connect.');
}
$query = "select * from code";
$result = cubrid_unbuffered_query($query, $link);

while ($row = cubrid_fetch($result))
{
var_dump($row);
}

cubrid_close_request($result);
cubrid_disconnect($link);
?>

Notlar

Bilginize:

The benefits of cubrid_unbuffered_query() come at a cost: you cannot use cubrid_num_rows() and cubrid_data_seek() on a result set returned from cubrid_unbuffered_query().


CUBRID Obsolete Aliases and Functions

İçindekiler

  • cubrid_load_from_glo — Read data from a GLO instance and save it in a file
  • cubrid_new_glo — Create a glo instance
  • cubrid_save_to_glo — Save requested file in a GLO instance
  • cubrid_send_glo — Read data from glo and send it to std output


Read data from a GLO instance and save it in a file

  • « CUBRID Obsolete Aliases and Functions
  • cubrid_new_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Read data from a GLO instance and save it in a file

cubrid_load_from_glo

(PECL CUBRID >= 8.3.0)

cubrid_load_from_glo — Read data from a GLO instance and save it in a file

Açıklama

cubrid_load_from_glo(resource $conn_identifier, string $oid, string $file_name): int

The cubrid_load_from_glo() function is used to read a data from a glo instance, and saves it in a designated file.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read the data from.

file_name

Name of the file where you want to save the data in.

Dönen Değerler

true, when process is successful.

false, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_load_from_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
list ($oid) = cubrid_fetch($req);
cubrid_close_request($req);
$res = cubrid_load_from_glo ($con, $oid, "output.jpg");
if ($res) {
echo "image changed successfully";
}
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: cubrid_load_from_glo()

Bilginize:

This function is removed from CUBRID 3.1.

Ayrıca Bakınız

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_send_glo() - Read data from glo and send it to std output


Create a glo instance

  • « cubrid_load_from_glo
  • cubrid_save_to_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Create a glo instance

cubrid_new_glo

(PECL CUBRID >= 8.3.0)

cubrid_new_glo — Create a glo instance

Açıklama

cubrid_new_glo(resource $conn_identifier, string $class_name, string $file_name): string

The cubrid_new_glo() function is used to create a glo instance in the requested class (glo class). The glo created is a LO type, and is stored in the file_name file.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

class_name

Name of the class that you want to create a glo in.

file_name

The file name that you want to save in the newly created glo.

Dönen Değerler

Oid of the instance created, when process is successful.

false, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_new_glo() example

<?php
$oid = cubrid_new_glo ($con, "glo", "input.jpg");
if ($oid){
// the type of column "image" is "object"
$req = cubrid_execute ($con, "insert into person(image) values($oid)");
if ($req) {
echo "image inserted successfully";
cubrid_close_request ($req);
cubrid_commit($con);
}
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: cubrid_new_glo()

Bilginize:

This function is removed from CUBRID 3.1.

Ayrıca Bakınız

  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output


Save requested file in a GLO instance

  • « cubrid_new_glo
  • cubrid_send_glo »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Save requested file in a GLO instance

cubrid_save_to_glo

(PECL CUBRID >= 8.3.0)

cubrid_save_to_glo — Save requested file in a GLO instance

Açıklama

cubrid_save_to_glo(resource $conn_identifier, string $oid, string $file_name): int

The cubrid_save_to_glo() function is used to save requested file in a glo instance.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to save a file in.

file_name

The name of the file that you want to save.

Dönen Değerler

true, when process is successful.

false, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_save_to_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id=1");
if ($req) {
list ($oid) = cubrid_fetch($req);
cubrid_close_request($req);
$res = cubrid_save_to_glo ($con, $oid, "input.jpg");
if ($res) {
echo "image changed successfully";
}
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: cubrid_save_to_glo()

Bilginize:

This function is removed from CUBRID 3.1.

Ayrıca Bakınız

  • cubrid_new_glo() - Create a glo instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file
  • cubrid_send_glo() - Read data from glo and send it to std output


Read data from glo and send it to std output

  • « cubrid_save_to_glo
  • dBase »
  • PHP Manual
  • CUBRID Obsolete Aliases and Functions
  • Read data from glo and send it to std output

cubrid_send_glo

(PECL CUBRID >= 8.3.0)

cubrid_send_glo — Read data from glo and send it to std output

Açıklama

cubrid_send_glo(resource $conn_identifier, string $oid): int

The cubrid_send_glo() function is used to read data from glo instance and sends it to the PHP standard output.

Bağımsız Değişkenler

conn_identifier

Connection identifier.

oid

Oid of the glo instance that you want to read data from.

Dönen Değerler

true, when process is successful.

false, when process is unsuccessful.

Örnekler

Örnek 1 cubrid_send_glo() example

<?php
$req = cubrid_execute ($con, "select image from person where id =1");
if ($req) {
list ($oid) = cubrid_fetch($req);
cubrid_close_request($req);
Header ("Content-type: image/jpeg");
cubrid_send_glo ($con, $oid);
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: cubrid_send_glo()

Bilginize:

This function is removed from CUBRID 3.1.

Ayrıca Bakınız

  • cubrid_new_glo() - Create a glo instance
  • cubrid_save_to_glo() - Save requested file in a GLO instance
  • cubrid_load_from_glo() - Read data from a GLO instance and save it in a file


dBase

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • dBase İşlevleri
    • dbase_add_record — Adds a record to a database
    • dbase_close — Closes a database
    • dbase_create — Creates a database
    • dbase_delete_record — Deletes a record from a database
    • dbase_get_header_info — Gets the header info of a database
    • dbase_get_record_with_names — Gets a record from a database as an associative array
    • dbase_get_record — Gets a record from a database as an indexed array
    • dbase_numfields — Gets the number of fields of a database
    • dbase_numrecords — Gets the number of records in a database
    • dbase_open — Opens a database
    • dbase_pack — Packs a database
    • dbase_replace_record — Replaces a record in a database


Giriş

Bilginize:

itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.5.3.0.

These functions allow you to access records stored in dBase-format (dbf) databases.

Uyarı

We recommend against using dBase files as your production database. Use » SQLite or choose any real SQL server instead; » MySQL or » Postgres are common choices with PHP. dBase support is here to allow you to import and export data to and from your web database, because the file format is commonly understood by Windows spreadsheets and organizers.

Dikkat

As of dbase 7.0.0 the databases are automatically locked via flock(). There has been no support for locking earlier, so two concurrent web server processes modifying the same dBase file would have very likely ruined your database. This can happen even with dbase 7.0.0+ on systems which implement the locks at the process level with multithreaded SAPIs.

dBase files are simple sequential files of fixed length records. Records are appended to the end of the file and deleted records are kept until you call dbase_pack().

Only dbf file levels 3 (dBASE III+) - 5 (dBASE V) are supported. The types of dBase fields available are:

Available types of fields
Field | dBase Type | Format | Additional information
M | Memo | n/a | This type is not supported by PHP, such field will be ignored
D | Date | YYYYMMDD | The field length is limited to 8
T | DateTime | YYYYMMDDhhmmss.uuu | (FoxPro) No validity checks are done. Available as of dbase 7.0.0.
N | Number | A number | You must declare a length and a precision (the number of digits after the decimal point).
F | Float | A float number | Same as N.
C | String | A string | You must declare a length. When retrieving data, the string will be right-padded with spaces to fit the declared length. Overlong strings will be silently truncated when storing data.
L | Boolean | T or Y for true, F or N for false, ? for uninitialized. | As of dbase 7.0.0, returned as a bool (true or false), or null for uninitialized fields. Formerly, returned as an int (1 or 0).

Bilginize:

As of dbase 7.0.0 nullable fields are supported for DBASE_TYPE_FOXPRO databases. If a field is nullable, passing null will set the respective flag, and on later retrieval the field value will be null.

Bilginize:

There is no support for indexes or memo fields.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/dbase.


Özkaynak Türleri

As of dbase 7.0.0, the resource type dbase is defined, which is returned by dbase_open() and dbase_create().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

DBASE_VERSION (string)
The extension version. (Available as of dbase 7.0.0)
DBASE_RDONLY (int)
Open database for reading only. Used with dbase_open(). (Available as of dbase 7.0.0)
DBASE_RDWR (int)
Open database for reading and writing. Used with dbase_open(). (Available as of dbase 7.0.0)
DBASE_TYPE_DBASE (int)
Create dBASE style database. Used with dbase_create(). (Available as of dbase 7.0.0)
DBASE_TYPE_FOXPRO (int)
Create FoxPro style database. Used with dbase_create(). (Available as of dbase 7.0.0)


dBase İşlevleri

Örnekler

Many examples in this reference require a dBase database. We will use /tmp/test.dbf that will be created in the example of dbase_create().

İçindekiler

  • dbase_add_record — Adds a record to a database
  • dbase_close — Closes a database
  • dbase_create — Creates a database
  • dbase_delete_record — Deletes a record from a database
  • dbase_get_header_info — Gets the header info of a database
  • dbase_get_record_with_names — Gets a record from a database as an associative array
  • dbase_get_record — Gets a record from a database as an indexed array
  • dbase_numfields — Gets the number of fields of a database
  • dbase_numrecords — Gets the number of records in a database
  • dbase_open — Opens a database
  • dbase_pack — Packs a database
  • dbase_replace_record — Replaces a record in a database


Adds a record to a database

  • « dBase İşlevleri
  • dbase_close »
  • PHP Manual
  • dBase İşlevleri
  • Adds a record to a database

dbase_add_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_add_record — Adds a record to a database

Açıklama

dbase_add_record(resource $database, array $data): bool

Adds the given data to the database.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

data

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_add_record() will fail.

Bilginize:

If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Inserting a record in a dBase database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
dbase_add_record($db, array(
date('Ymd'),
'Maxim Topolov',
'23',
'max@example.com',
'T'));
dbase_close($db);
}

?>

Ayrıca Bakınız

  • dbase_delete_record() - Deletes a record from a database
  • dbase_replace_record() - Replaces a record in a database


Closes a database

  • « dbase_add_record
  • dbase_create »
  • PHP Manual
  • dBase İşlevleri
  • Closes a database

dbase_close

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_close — Closes a database

Açıklama

dbase_close(resource $database): bool

Closes the given database resource.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Closing a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
// read some data ..

dbase_close($db);
}

?>

Ayrıca Bakınız

  • dbase_open() - Opens a database
  • dbase_create() - Creates a database


Creates a database

  • « dbase_close
  • dbase_delete_record »
  • PHP Manual
  • dBase İşlevleri
  • Creates a database

dbase_create

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_create — Creates a database

Açıklama

dbase_create(string $path, array $fields, int $type = DBASE_TYPE_DBASE): resource

dbase_create() creates a dBase database with the given definition. If the file already exists, it is not truncated. dbase_pack() can be called to force truncation.

Bilginize:

Bu işlev open_basedir'dan etkilenir.

Bağımsız Değişkenler

path

The path of the database. It can be a relative or absolute path to the file where dBase will store your data.

fields

An array of arrays, each array describing the format of one field of the database. Each field consists of a name, a character indicating the field type, and optionally, a length, a precision and a nullable flag. The supported field types are listed in the introduction section.

Bilginize:

The fieldnames are limited in length and must not exceed 10 chars.

type

The type of database to be created. Either DBASE_TYPE_DBASE or DBASE_TYPE_FOXPRO.

Dönen Değerler

Returns a database resource if the database is successfully created, or false if an error occurred.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | The type parameter has been added.
dbase 7.0.0 | The return value is now a resource instead of an int.

Örnekler

Örnek 1 Creating a dBase database file

<?php

// database "definition"
$def = array(
array("date", "D"),
array("name", "C", 50),
array("age", "N", 3, 0),
array("email", "C", 128),
array("ismember", "L")
);

// creation
if (!dbase_create('/tmp/test.dbf', $def)) {
echo "Error, can't create the database\n";
}

?>

Ayrıca Bakınız

  • dbase_open() - Opens a database
  • dbase_close() - Closes a database


Deletes a record from a database

  • « dbase_create
  • dbase_get_header_info »
  • PHP Manual
  • dBase İşlevleri
  • Deletes a record from a database

dbase_delete_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_delete_record — Deletes a record from a database

Açıklama

dbase_delete_record(resource $database, int $number): bool

Marks the given record to be deleted from the database.

Bilginize:

To actually remove the record from the database, you must also call dbase_pack().

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Ayrıca Bakınız

  • dbase_add_record() - Adds a record to a database
  • dbase_replace_record() - Replaces a record in a database


Gets the header info of a database

  • « dbase_delete_record
  • dbase_get_record_with_names »
  • PHP Manual
  • dBase İşlevleri
  • Gets the header info of a database

dbase_get_header_info

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_header_info — Gets the header info of a database

Açıklama

dbase_get_header_info(resource $database): array

Returns information on the column structure of the given database resource.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

Dönen Değerler

An indexed array with an entry for each column in the database. The array index starts at 0.

Each array element contains an associative array of column information, as described here:

name
The name of the column
type
The human-readable name for the dbase type of the column (i.e. date, boolean, etc.) The supported field types are listed in the introduction section.
length
The number of bytes this column can hold
precision
The number of digits of decimal precision for the column
format
A suggested printf() format specifier for the column
offset
The byte offset of the column from the start of the row

If the database header information cannot be read, false is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Showing header information for a dBase database file

<?php
// Path to dbase file
$db_path = "/tmp/test.dbf";

// Open dbase file
$dbh = dbase_open($db_path, 0)
or die("Error! Could not open dbase database file '$db_path'.");

// Get column information
$column_info = dbase_get_header_info($dbh);

// Display information
print_r($column_info);
?>


Gets a record from a database as an associative array

  • « dbase_get_header_info
  • dbase_get_record »
  • PHP Manual
  • dBase İşlevleri
  • Gets a record from a database as an associative array

dbase_get_record_with_names

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record_with_names — Gets a record from a database as an associative array

Açıklama

dbase_get_record_with_names(resource $database, int $number): array

Gets a record from a dBase database as an associative array.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

number

The index of the record between 1 and dbase_numrecords($dbase_identifier).

Dönen Değerler

An associative array with the record. This will also include a key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()). Therefore it is not possible to retrieve the value of a field named deleted with this function.

Her alan uygun bir PHP türüne dönüştürülür, bunlar hariç::

  • Tarihler dize olarak kalır.
  • DateTime tarihleri dizeye dönüştürülür.
  • PHP_INT_MIN..PHP_INT_MAX aralığı dışında kalan tamsayılar dizeye dönüştürülür.
  • dbase 7.0.0 öncesinde, (L) mantıksalları 1 veya 0P'a dönüştürülürdü.

On error, dbase_get_record_with_names() will return false.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Listing all the registered members in the database

<?php
// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++) {
$row = dbase_get_record_with_names($db, $i);
if ($row['ismember'] == 1) {
echo "Member #$i: " . trim($row['name']) . "\n";
}
}
}
?>

Ayrıca Bakınız

  • dbase_get_record() - Gets a record from a database as an indexed array


Gets a record from a database as an indexed array

  • « dbase_get_record_with_names
  • dbase_numfields »
  • PHP Manual
  • dBase İşlevleri
  • Gets a record from a database as an indexed array

dbase_get_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_get_record — Gets a record from a database as an indexed array

Açıklama

dbase_get_record(resource $database, int $number): array

Gets a record from a database as an indexed array.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

number

The index of the record between 1 and dbase_numrecords($dbase_identifier).

Dönen Değerler

An indexed array with the record. This array will also include an associative key named deleted which is set to 1 if the record has been marked for deletion (see dbase_delete_record()).

Her alan uygun bir PHP türüne dönüştürülür, bunlar hariç::

  • Tarihler dize olarak kalır.
  • DateTime tarihleri dizeye dönüştürülür.
  • PHP_INT_MIN..PHP_INT_MAX aralığı dışında kalan tamsayılar dizeye dönüştürülür.
  • dbase 7.0.0 öncesinde, (L) mantıksalları 1 veya 0P'a dönüştürülürdü.

On error, dbase_get_record() will return false.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Ayrıca Bakınız

  • dbase_get_record_with_names() - Gets a record from a database as an associative array


Gets the number of fields of a database

  • « dbase_get_record
  • dbase_numrecords »
  • PHP Manual
  • dBase İşlevleri
  • Gets the number of fields of a database

dbase_numfields

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numfields — Gets the number of fields of a database

Açıklama

dbase_numfields(resource $database): int

Gets the number of fields (columns) in the specified database.

Bilginize:

Field numbers are between 0 and dbase_numfields($db)-1, while record numbers are between 1 and dbase_numrecords($db).

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

Dönen Değerler

The number of fields in the database, or false if an error occurs.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 dbase_numfields() Example

<?php

$rec = dbase_get_record($db, $recno);
$nf = dbase_numfields($db);
for ($i = 0; $i < $nf; $i++) {
echo $rec[$i], "\n";
}

?>

Ayrıca Bakınız

  • dbase_numrecords() - Gets the number of records in a database


Gets the number of records in a database

  • « dbase_numfields
  • dbase_open »
  • PHP Manual
  • dBase İşlevleri
  • Gets the number of records in a database

dbase_numrecords

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_numrecords — Gets the number of records in a database

Açıklama

dbase_numrecords(resource $database): int

Gets the number of records (rows) in the specified database.

Bilginize:

Records which are marked as deleted are counted as well.

Bilginize:

Record numbers are between 1 and dbase_numrecords($db), while field numbers are between 0 and dbase_numfields($db)-1.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

Dönen Değerler

The number of records in the database, or false if an error occurs.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Looping over all the records of the database

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++) {
$record = dbase_get_record($db, $i);
if (!$record['deleted']) {
// do something with the $record
} else {
// do something with the deleted $record or ignore it
}
}
}

?>

Ayrıca Bakınız

  • dbase_numfields() - Gets the number of fields of a database


Opens a database

  • « dbase_numrecords
  • dbase_pack »
  • PHP Manual
  • dBase İşlevleri
  • Opens a database

dbase_open

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_open — Opens a database

Açıklama

dbase_open(string $path, int $mode): resource|false

dbase_open() opens a dBase database with the given access mode.

Bilginize:

Bu işlev open_basedir'dan etkilenir.

Bağımsız Değişkenler

path

The path of the database. It can be a relative or absolute path to the file where dBase will store your data.

mode

An integer which correspond to those for the open() system call (Typically 0 means read-only, 1 means write-only, and 2 means read and write).

Bilginize:

You can't open a dBase file in write-only mode as the function will fail to read the headers information and thus you can't use 1 as mode.

As of dbase 7.0.0 you can use DBASE_RDONLY and DBASE_RDWR, respectively, to specify the mode.

Dönen Değerler

Returns a database resource on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | The return value is now a resource instead of an int.

Örnekler

Örnek 1 Opening a dBase database file

<?php

// open in read-only mode
$db = dbase_open('/tmp/test.dbf', 0);

if ($db) {
// read some data ..

dbase_close($db);
}

?>

Ayrıca Bakınız

  • dbase_create() - Creates a database
  • dbase_close() - Closes a database


Packs a database

  • « dbase_open
  • dbase_replace_record »
  • PHP Manual
  • dBase İşlevleri
  • Packs a database

dbase_pack

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_pack — Packs a database

Açıklama

dbase_pack(resource $database): bool

Packs the specified database by permanently deleting all records marked for deletion using dbase_delete_record(). Note that the file will be truncated after successful packing (contrary to dBASE III's PACK command).

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Emptying a dBase database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
$record_numbers = dbase_numrecords($db);
for ($i = 1; $i <= $record_numbers; $i++) {
dbase_delete_record($db, $i);
}
// expunge the database
dbase_pack($db);
}

?>

Ayrıca Bakınız

  • dbase_delete_record() - Deletes a record from a database


Replaces a record in a database

  • « dbase_pack
  • Firebird/InterBase »
  • PHP Manual
  • dBase İşlevleri
  • Replaces a record in a database

dbase_replace_record

(PHP 5 < 5.3.0, dbase 5, dbase 7)

dbase_replace_record — Replaces a record in a database

Açıklama

dbase_replace_record(resource $database, array $data, int $number): bool

Replaces the given record in the database with the given data.

Bağımsız Değişkenler

database

The database resource, returned by dbase_open() or dbase_create().

data

An indexed array of data. The number of items must be equal to the number of fields in the database, otherwise dbase_replace_record() will fail.

Bilginize:

If you're using dbase_get_record() return value for this parameter, remember to reset the key named deleted.

number

An integer which spans from 1 to the number of records in the database (as returned by dbase_numrecords()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
dbase 7.0.0 | database is now a resource instead of an int.

Örnekler

Örnek 1 Updating a record in the database

<?php

// open in read-write mode
$db = dbase_open('/tmp/test.dbf', 2);

if ($db) {
// gets the old row
$row = dbase_get_record_with_names($db, 1);

// remove the 'deleted' entry
unset($row['deleted']);

// Update the date field with the current timestamp
$row['date'] = date('Ymd');

// convert the row to an indexed array
$row = array_values($row);

// Replace the record
dbase_replace_record($db, $row, 1);
dbase_close($db);
}

?>

Notlar

Bilginize:

Boolean fields result in an int element value (0 or 1) when retrieved via dbase_get_record() or dbase_get_record_with_names(). If they are written back, this results in the value becoming 0, so care has to be taken to properly adjust the values.

Ayrıca Bakınız

  • dbase_add_record() - Adds a record to a database
  • dbase_delete_record() - Deletes a record from a database


Firebird/InterBase

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Firebird/InterBase İşlevleri
    • fbird_add_user — Takma Adı: ibase_add_user
    • fbird_affected_rows — Takma Adı: ibase_affected_rows
    • fbird_backup — Takma Adı: ibase_backup
    • fbird_blob_add — Takma Adı: ibase_blob_add
    • fbird_blob_cancel — Cancel creating blob
    • fbird_blob_close — Takma Adı: ibase_blob_close
    • fbird_blob_create — Takma Adı: ibase_blob_create
    • fbird_blob_echo — Takma Adı: ibase_blob_echo
    • fbird_blob_get — Takma Adı: ibase_blob_get
    • fbird_blob_import — Takma Adı: ibase_blob_import
    • fbird_blob_info — Takma Adı: ibase_blob_info
    • fbird_blob_open — Takma Adı: ibase_blob_open
    • fbird_close — Takma Adı: ibase_close
    • fbird_commit_ret — Takma Adı: ibase_commit_ret
    • fbird_commit — Takma Adı: ibase_commit
    • fbird_connect — Takma Adı: ibase_connect
    • fbird_db_info — Takma Adı: ibase_db_info
    • fbird_delete_user — Takma Adı: ibase_delete_user
    • fbird_drop_db — Takma Adı: ibase_drop_db
    • fbird_errcode — Takma Adı: ibase_errcode
    • fbird_errmsg — Takma Adı: ibase_errmsg
    • fbird_execute — Takma Adı: ibase_execute
    • fbird_fetch_assoc — Takma Adı: ibase_fetch_assoc
    • fbird_fetch_object — Takma Adı: ibase_fetch_object
    • fbird_fetch_row — Takma Adı: ibase_fetch_row
    • fbird_field_info — Takma Adı: ibase_field_info
    • fbird_free_event_handler — Takma Adı: ibase_free_event_handler
    • fbird_free_query — Takma Adı: ibase_free_query
    • fbird_free_result — Takma Adı: ibase_free_result
    • fbird_gen_id — Takma Adı: ibase_gen_id
    • fbird_maintain_db — Takma Adı: ibase_maintain_db
    • fbird_modify_user — Takma Adı: ibase_modify_user
    • fbird_name_result — Takma Adı: ibase_name_result
    • fbird_num_fields — Takma Adı: ibase_num_fields
    • fbird_num_params — Takma Adı: ibase_num_params
    • fbird_param_info — Takma Adı: ibase_param_info
    • fbird_pconnect — Takma Adı: ibase_pconnect
    • fbird_prepare — Takma Adı: ibase_prepare
    • fbird_query — Takma Adı: ibase_query
    • fbird_restore — Takma Adı: ibase_restore
    • fbird_rollback_ret — Takma Adı: ibase_rollback_ret
    • fbird_rollback — Takma Adı: ibase_rollback
    • fbird_server_info — Takma Adı: ibase_server_info
    • fbird_service_attach — Takma Adı: ibase_service_attach
    • fbird_service_detach — Takma Adı: ibase_service_detach
    • fbird_set_event_handler — Takma Adı: ibase_set_event_handler
    • fbird_trans — Takma Adı: ibase_trans
    • fbird_wait_event — Takma Adı: ibase_wait_event
    • ibase_add_user — Add a user to a security database
    • ibase_affected_rows — Return the number of rows that were affected by the previous query
    • ibase_backup — Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add — Add data into a newly created blob
    • ibase_blob_cancel — Cancel creating blob
    • ibase_blob_close — Close blob
    • ibase_blob_create — Create a new blob for adding data
    • ibase_blob_echo — Output blob contents to browser
    • ibase_blob_get — Get len bytes data from open blob
    • ibase_blob_import — Create blob, copy file in it, and close it
    • ibase_blob_info — Return blob length and other useful info
    • ibase_blob_open — Open blob for retrieving data parts
    • ibase_close — Close a connection to an InterBase database
    • ibase_commit_ret — Commit a transaction without closing it
    • ibase_commit — Commit a transaction
    • ibase_connect — Open a connection to a database
    • ibase_db_info — Request statistics about a database
    • ibase_delete_user — Delete a user from a security database
    • ibase_drop_db — Drops a database
    • ibase_errcode — Return an error code
    • ibase_errmsg — Return error messages
    • ibase_execute — Execute a previously prepared query
    • ibase_fetch_assoc — Fetch a result row from a query as an associative array
    • ibase_fetch_object — Get an object from a InterBase database
    • ibase_fetch_row — Fetch a row from an InterBase database
    • ibase_field_info — Get information about a field
    • ibase_free_event_handler — Cancels a registered event handler
    • ibase_free_query — Free memory allocated by a prepared query
    • ibase_free_result — Free a result set
    • ibase_gen_id — Increments the named generator and returns its new value
    • ibase_maintain_db — Execute a maintenance command on the database server
    • ibase_modify_user — Modify a user to a security database
    • ibase_name_result — Assigns a name to a result set
    • ibase_num_fields — Get the number of fields in a result set
    • ibase_num_params — Return the number of parameters in a prepared query
    • ibase_param_info — Return information about a parameter in a prepared query
    • ibase_pconnect — Open a persistent connection to an InterBase database
    • ibase_prepare — Prepare a query for later binding of parameter placeholders and execution
    • ibase_query — Execute a query on an InterBase database
    • ibase_restore — Initiates a restore task in the service manager and returns immediately
    • ibase_rollback_ret — Roll back a transaction without closing it
    • ibase_rollback — Roll back a transaction
    • ibase_server_info — Request information about a database server
    • ibase_service_attach — Connect to the service manager
    • ibase_service_detach — Disconnect from the service manager
    • ibase_set_event_handler — Register a callback function to be called when events are posted
    • ibase_trans — Begin a transaction
    • ibase_wait_event — Wait for an event to be posted by the database


Giriş

Uyarı

Bu eklenti bakımsız ve ölüdür. Ancak kaynak kodu hala PECL GIT içinde mevcuttur: » https://github.com/php/pecl-database-interbase.

Firebird is a relational database offering many ISO SQL-2003 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981.

InterBase is the name of the closed-source variant of this RDBMS that was developed by Embarcadero/Inprise. More information about InterBase is available at » http://www.embarcadero.com/products/interbase.

Firebird is a commercially independent project (fundation) of C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Embarcadero) under the InterBase Public License v.1.0 on 25 July, 2000. More information about Firebird is available at » http://www.firebirdsql.org/.

Bilginize:

itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.7.4.0

This extension supports InterBase versions 6 and up and Firebird version 2.0 and up.


Kurulum

itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.7.4.0

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ibase.

To enable Firebird/InterBase support configure PHP --with-interbase[=DIR], where DIR is the Firebird/InterBase base install directory, which defaults to /usr.

Bilginize: Note to Win32/Win64 Users

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: fbclient.dll,gds32.dll

If you installed the Firebird/InterBase database server on the same machine PHP is running on, you will have this DLL already and fbclient.dll,gds32.dll (gds32.dll is generated from the installer for legacy applications) will already be in the PATH.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

InterBase configuration options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

ibase.allow_persistent bool

Whether to allow persistent connections to Firebird/InterBase.

ibase.max_persistent int

The maximum number of persistent Firebird/InterBase connections per process. New connections created with ibase_pconnect() will be non-persistent if this number would be exceeded.

ibase.max_links int

The maximum number of Firebird/InterBase connections per process, including persistent connections.

ibase.default_db string

The default database to connect to when ibase_[p]connect() is called without specifying a database name. If this value is set and SQL safe mode is enabled, no other connections than to this database will be allowed.

ibase.default_user string

The user name to use when connecting to a database if no user name is specified.

ibase.default_password string

The password to use when connecting to a database if no password is specified.

ibase.default_charset string

The character set to use when connecting to a database if no character set is specified.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

These directives are used to set the date and time formats that are used when returning dates and times from a result set, or when binding arguments to date and time parameters.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

The following constants can be passed to ibase_trans() to specify transaction behaviour.

Firebird/InterBase transaction flags
Constant | Description
IBASE_DEFAULT | The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READ | Starts a read-only transaction.
IBASE_WRITE | Starts a read-write transaction.
IBASE_CONSISTENCY | Starts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCY | Starts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.
IBASE_COMMITTED | Starts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction.
IBASE_WAIT | Indicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAIT | Indicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

Firebird/InterBase fetch flags
Constant | Description
IBASE_FETCH_BLOBS | Also available as IBASE_TEXTfor backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYS | Causes arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIME | Causes date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service
API functions (ibase_server_info(), ibase_db_info(),
ibase_backup(), ibase_restore()
and ibase_maintain_db()). Please refer to
the Firebird/InterBase manuals for the meaning of these options.

IBASE_BKP_IGNORE_CHECKSUMS
Options to ibase_backup()
IBASE_BKP_IGNORE_LIMBO
Options to ibase_backup()
IBASE_BKP_METADATA_ONLY
Options to ibase_backup()
IBASE_BKP_NO_GARBAGE_COLLECT
Options to ibase_backup()
IBASE_BKP_OLD_DESCRIPTIONS
Options to ibase_backup()
IBASE_BKP_NON_TRANSPORTABLE
Options to ibase_backup()
IBASE_BKP_CONVERT
Options to ibase_backup()
IBASE_RES_DEACTIVATE_IDX
Options to ibase_restore()
IBASE_RES_NO_SHADOW
Options to ibase_restore()
IBASE_RES_NO_VALIDITY
Options to ibase_restore()
IBASE_RES_ONE_AT_A_TIME
Options to ibase_restore()
IBASE_RES_REPLACE
IBASE_RES_CREATE
Options to ibase_restore()
IBASE_RES_USE_ALL_SPACE
Options to ibase_restore()
IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB
Options to ibase_maintain_db()
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
Options to ibase_db_info()
IBASE_SVC_SERVER_VERSION
Options to ibase_server_info()
IBASE_SVC_IMPLEMENTATION
Options to ibase_server_info()
IBASE_SVC_GET_ENV
Options to ibase_server_info()
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS
Options to ibase_server_info()


Firebird/InterBase İşlevleri

İçindekiler

  • fbird_add_user — Takma Adı: ibase_add_user
  • fbird_affected_rows — Takma Adı: ibase_affected_rows
  • fbird_backup — Takma Adı: ibase_backup
  • fbird_blob_add — Takma Adı: ibase_blob_add
  • fbird_blob_cancel — Cancel creating blob
  • fbird_blob_close — Takma Adı: ibase_blob_close
  • fbird_blob_create — Takma Adı: ibase_blob_create
  • fbird_blob_echo — Takma Adı: ibase_blob_echo
  • fbird_blob_get — Takma Adı: ibase_blob_get
  • fbird_blob_import — Takma Adı: ibase_blob_import
  • fbird_blob_info — Takma Adı: ibase_blob_info
  • fbird_blob_open — Takma Adı: ibase_blob_open
  • fbird_close — Takma Adı: ibase_close
  • fbird_commit_ret — Takma Adı: ibase_commit_ret
  • fbird_commit — Takma Adı: ibase_commit
  • fbird_connect — Takma Adı: ibase_connect
  • fbird_db_info — Takma Adı: ibase_db_info
  • fbird_delete_user — Takma Adı: ibase_delete_user
  • fbird_drop_db — Takma Adı: ibase_drop_db
  • fbird_errcode — Takma Adı: ibase_errcode
  • fbird_errmsg — Takma Adı: ibase_errmsg
  • fbird_execute — Takma Adı: ibase_execute
  • fbird_fetch_assoc — Takma Adı: ibase_fetch_assoc
  • fbird_fetch_object — Takma Adı: ibase_fetch_object
  • fbird_fetch_row — Takma Adı: ibase_fetch_row
  • fbird_field_info — Takma Adı: ibase_field_info
  • fbird_free_event_handler — Takma Adı: ibase_free_event_handler
  • fbird_free_query — Takma Adı: ibase_free_query
  • fbird_free_result — Takma Adı: ibase_free_result
  • fbird_gen_id — Takma Adı: ibase_gen_id
  • fbird_maintain_db — Takma Adı: ibase_maintain_db
  • fbird_modify_user — Takma Adı: ibase_modify_user
  • fbird_name_result — Takma Adı: ibase_name_result
  • fbird_num_fields — Takma Adı: ibase_num_fields
  • fbird_num_params — Takma Adı: ibase_num_params
  • fbird_param_info — Takma Adı: ibase_param_info
  • fbird_pconnect — Takma Adı: ibase_pconnect
  • fbird_prepare — Takma Adı: ibase_prepare
  • fbird_query — Takma Adı: ibase_query
  • fbird_restore — Takma Adı: ibase_restore
  • fbird_rollback_ret — Takma Adı: ibase_rollback_ret
  • fbird_rollback — Takma Adı: ibase_rollback
  • fbird_server_info — Takma Adı: ibase_server_info
  • fbird_service_attach — Takma Adı: ibase_service_attach
  • fbird_service_detach — Takma Adı: ibase_service_detach
  • fbird_set_event_handler — Takma Adı: ibase_set_event_handler
  • fbird_trans — Takma Adı: ibase_trans
  • fbird_wait_event — Takma Adı: ibase_wait_event
  • ibase_add_user — Add a user to a security database
  • ibase_affected_rows — Return the number of rows that were affected by the previous query
  • ibase_backup — Initiates a backup task in the service manager and returns immediately
  • ibase_blob_add — Add data into a newly created blob
  • ibase_blob_cancel — Cancel creating blob
  • ibase_blob_close — Close blob
  • ibase_blob_create — Create a new blob for adding data
  • ibase_blob_echo — Output blob contents to browser
  • ibase_blob_get — Get len bytes data from open blob
  • ibase_blob_import — Create blob, copy file in it, and close it
  • ibase_blob_info — Return blob length and other useful info
  • ibase_blob_open — Open blob for retrieving data parts
  • ibase_close — Close a connection to an InterBase database
  • ibase_commit_ret — Commit a transaction without closing it
  • ibase_commit — Commit a transaction
  • ibase_connect — Open a connection to a database
  • ibase_db_info — Request statistics about a database
  • ibase_delete_user — Delete a user from a security database
  • ibase_drop_db — Drops a database
  • ibase_errcode — Return an error code
  • ibase_errmsg — Return error messages
  • ibase_execute — Execute a previously prepared query
  • ibase_fetch_assoc — Fetch a result row from a query as an associative array
  • ibase_fetch_object — Get an object from a InterBase database
  • ibase_fetch_row — Fetch a row from an InterBase database
  • ibase_field_info — Get information about a field
  • ibase_free_event_handler — Cancels a registered event handler
  • ibase_free_query — Free memory allocated by a prepared query
  • ibase_free_result — Free a result set
  • ibase_gen_id — Increments the named generator and returns its new value
  • ibase_maintain_db — Execute a maintenance command on the database server
  • ibase_modify_user — Modify a user to a security database
  • ibase_name_result — Assigns a name to a result set
  • ibase_num_fields — Get the number of fields in a result set
  • ibase_num_params — Return the number of parameters in a prepared query
  • ibase_param_info — Return information about a parameter in a prepared query
  • ibase_pconnect — Open a persistent connection to an InterBase database
  • ibase_prepare — Prepare a query for later binding of parameter placeholders and execution
  • ibase_query — Execute a query on an InterBase database
  • ibase_restore — Initiates a restore task in the service manager and returns immediately
  • ibase_rollback_ret — Roll back a transaction without closing it
  • ibase_rollback — Roll back a transaction
  • ibase_server_info — Request information about a database server
  • ibase_service_attach — Connect to the service manager
  • ibase_service_detach — Disconnect from the service manager
  • ibase_set_event_handler — Register a callback function to be called when events are posted
  • ibase_trans — Begin a transaction
  • ibase_wait_event — Wait for an event to be posted by the database


Takma Adı: ibase_add_user

  • « Firebird/InterBase İşlevleri
  • fbird_affected_rows »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_add_user

fbird_add_user

(PHP 5, PHP 7 < 7.4.0)

fbird_add_user — Takma Adı: ibase_add_user()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_add_user().

Ayrıca Bakınız

  • fbird_modify_user() - Takma Adı: ibase_modify_user
  • fbird_delete_user() - Takma Adı: ibase_delete_user


Takma Adı: ibase_affected_rows

  • « fbird_add_user
  • fbird_backup »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_affected_rows

fbird_affected_rows

(PHP 5, PHP 7 < 7.4.0)

fbird_affected_rows — Takma Adı: ibase_affected_rows()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_affected_rows().

Ayrıca Bakınız

  • fbird_query() - Takma Adı: ibase_query
  • fbird_execute() - Takma Adı: ibase_execute


Takma Adı: ibase_backup

  • « fbird_affected_rows
  • fbird_blob_add »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_backup

fbird_backup

(PHP 5, PHP 7 < 7.4.0)

fbird_backup — Takma Adı: ibase_backup()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_backup().


Takma Adı: ibase_blob_add

  • « fbird_backup
  • fbird_blob_cancel »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_add

fbird_blob_add

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_add — Takma Adı: ibase_blob_add()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_add().

Ayrıca Bakınız

  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_create() - Takma Adı: ibase_blob_create
  • fbird_blob_import() - Takma Adı: ibase_blob_import


Cancel creating blob

  • « fbird_blob_add
  • fbird_blob_close »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Cancel creating blob

fbird_blob_cancel

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_cancel — Cancel creating blob

Açıklama

fbird_blob_cancel(resource $blob_handle): bool

This function will discard a BLOB if it has not yet been closed by fbird_blob_close().

Bağımsız Değişkenler

blob_handle

A BLOB handle opened with fbird_blob_create().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_create() - Takma Adı: ibase_blob_create
  • fbird_blob_import() - Takma Adı: ibase_blob_import


Takma Adı: ibase_blob_close

  • « fbird_blob_cancel
  • fbird_blob_create »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_close

fbird_blob_close

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_close — Takma Adı: ibase_blob_close()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_close().

Ayrıca Bakınız

  • fbird_blob_create() - Takma Adı: ibase_blob_create
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_open() - Takma Adı: ibase_blob_open
  • fbird_blob_import() - Takma Adı: ibase_blob_import


Takma Adı: ibase_blob_create

  • « fbird_blob_close
  • fbird_blob_echo »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_create

fbird_blob_create

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_create — Takma Adı: ibase_blob_create()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_create().

Ayrıca Bakınız

  • fbird_blob_add() - Takma Adı: ibase_blob_add
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_import() - Takma Adı: ibase_blob_import


Takma Adı: ibase_blob_echo

  • « fbird_blob_create
  • fbird_blob_get »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_echo

fbird_blob_echo

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_echo — Takma Adı: ibase_blob_echo()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_echo().

Ayrıca Bakınız

  • fbird_blob_open() - Takma Adı: ibase_blob_open
  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_get() - Takma Adı: ibase_blob_get


Takma Adı: ibase_blob_get

  • « fbird_blob_echo
  • fbird_blob_import »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_get

fbird_blob_get

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_get — Takma Adı: ibase_blob_get()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_get().

Ayrıca Bakınız

  • fbird_blob_open() - Takma Adı: ibase_blob_open
  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_echo() - Takma Adı: ibase_blob_echo


Takma Adı: ibase_blob_import

  • « fbird_blob_get
  • fbird_blob_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_import

fbird_blob_import

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_import — Takma Adı: ibase_blob_import()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_import().

Ayrıca Bakınız

  • fbird_blob_add() - Takma Adı: ibase_blob_add
  • fbird_blob_cancel() - Cancel creating blob
  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_create() - Takma Adı: ibase_blob_create


Takma Adı: ibase_blob_info

  • « fbird_blob_import
  • fbird_blob_open »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_info

fbird_blob_info

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_info — Takma Adı: ibase_blob_info()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_info().


Takma Adı: ibase_blob_open

  • « fbird_blob_info
  • fbird_close »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_blob_open

fbird_blob_open

(PHP 5, PHP 7 < 7.4.0)

fbird_blob_open — Takma Adı: ibase_blob_open()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_blob_open().

Ayrıca Bakınız

  • fbird_blob_close() - Takma Adı: ibase_blob_close
  • fbird_blob_echo() - Takma Adı: ibase_blob_echo
  • fbird_blob_get() - Takma Adı: ibase_blob_get


Takma Adı: ibase_close

  • « fbird_blob_open
  • fbird_commit_ret »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_close

fbird_close

(PHP 5, PHP 7 < 7.4.0)

fbird_close — Takma Adı: ibase_close()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_close().

Ayrıca Bakınız

  • fbird_connect() - Takma Adı: ibase_connect
  • fbird_pconnect() - Takma Adı: ibase_pconnect


Takma Adı: ibase_commit_ret

  • « fbird_close
  • fbird_commit »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_commit_ret

fbird_commit_ret

(PHP 5, PHP 7 < 7.4.0)

fbird_commit_ret — Takma Adı: ibase_commit_ret()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_commit_ret().


Takma Adı: ibase_commit

  • « fbird_commit_ret
  • fbird_connect »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_commit

fbird_commit

(PHP 5, PHP 7 < 7.4.0)

fbird_commit — Takma Adı: ibase_commit()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_commit().


Takma Adı: ibase_connect

  • « fbird_commit
  • fbird_db_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_connect

fbird_connect

(PHP 5, PHP 7 < 7.4.0)

fbird_connect — Takma Adı: ibase_connect()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_connect().

Ayrıca Bakınız

  • fbird_pconnect() - Takma Adı: ibase_pconnect
  • fbird_close() - Takma Adı: ibase_close


Takma Adı: ibase_db_info

  • « fbird_connect
  • fbird_delete_user »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_db_info

fbird_db_info

(PHP 5, PHP 7 < 7.4.0)

fbird_db_info — Takma Adı: ibase_db_info()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_db_info().


Takma Adı: ibase_delete_user

  • « fbird_db_info
  • fbird_drop_db »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_delete_user

fbird_delete_user

(PHP 5, PHP 7 < 7.4.0)

fbird_delete_user — Takma Adı: ibase_delete_user()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_delete_user().

Ayrıca Bakınız

  • fbird_add_user() - Takma Adı: ibase_add_user
  • fbird_modify_user() - Takma Adı: ibase_modify_user


Takma Adı: ibase_drop_db

  • « fbird_delete_user
  • fbird_errcode »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_drop_db

fbird_drop_db

(PHP 5, PHP 7 < 7.4.0)

fbird_drop_db — Takma Adı: ibase_drop_db()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_drop_db().

Ayrıca Bakınız

  • fbird_connect() - Takma Adı: ibase_connect
  • fbird_pconnect() - Takma Adı: ibase_pconnect


Takma Adı: ibase_errcode

  • « fbird_drop_db
  • fbird_errmsg »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_errcode

fbird_errcode

(PHP 5, PHP 7 < 7.4.0)

fbird_errcode — Takma Adı: ibase_errcode()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_errcode().

Ayrıca Bakınız

  • fbird_errmsg() - Takma Adı: ibase_errmsg


Takma Adı: ibase_errmsg

  • « fbird_errcode
  • fbird_execute »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_errmsg

fbird_errmsg

(PHP 5, PHP 7 < 7.4.0)

fbird_errmsg — Takma Adı: ibase_errmsg()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_errmsg().

Ayrıca Bakınız

  • fbird_errcode() - Takma Adı: ibase_errcode


Takma Adı: ibase_execute

  • « fbird_errmsg
  • fbird_fetch_assoc »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_execute

fbird_execute

(PHP 5, PHP 7 < 7.4.0)

fbird_execute — Takma Adı: ibase_execute()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_execute().

Ayrıca Bakınız

  • fbird_query() - Takma Adı: ibase_query


Takma Adı: ibase_fetch_assoc

  • « fbird_execute
  • fbird_fetch_object »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_fetch_assoc

fbird_fetch_assoc

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_assoc — Takma Adı: ibase_fetch_assoc()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_fetch_assoc().

Ayrıca Bakınız

  • fbird_fetch_row() - Takma Adı: ibase_fetch_row
  • fbird_fetch_object() - Takma Adı: ibase_fetch_object


Takma Adı: ibase_fetch_object

  • « fbird_fetch_assoc
  • fbird_fetch_row »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_fetch_object

fbird_fetch_object

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_object — Takma Adı: ibase_fetch_object()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_fetch_object().

Ayrıca Bakınız

  • fbird_fetch_row() - Takma Adı: ibase_fetch_row
  • fbird_fetch_assoc() - Takma Adı: ibase_fetch_assoc


Takma Adı: ibase_fetch_row

  • « fbird_fetch_object
  • fbird_field_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_fetch_row

fbird_fetch_row

(PHP 5, PHP 7 < 7.4.0)

fbird_fetch_row — Takma Adı: ibase_fetch_row()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_fetch_row().

Ayrıca Bakınız

  • fbird_fetch_assoc() - Takma Adı: ibase_fetch_assoc
  • fbird_fetch_object() - Takma Adı: ibase_fetch_object


Takma Adı: ibase_field_info

  • « fbird_fetch_row
  • fbird_free_event_handler »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_field_info

fbird_field_info

(PHP 5, PHP 7 < 7.4.0)

fbird_field_info — Takma Adı: ibase_field_info()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_field_info().

Ayrıca Bakınız

  • fbird_num_fields() - Takma Adı: ibase_num_fields


Takma Adı: ibase_free_event_handler

  • « fbird_field_info
  • fbird_free_query »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_free_event_handler

fbird_free_event_handler

(PHP 5, PHP 7 < 7.4.0)

fbird_free_event_handler — Takma Adı: ibase_free_event_handler()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_free_event_handler().

Ayrıca Bakınız

  • fbird_set_event_handler() - Takma Adı: ibase_set_event_handler


Takma Adı: ibase_free_query

  • « fbird_free_event_handler
  • fbird_free_result »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_free_query

fbird_free_query

(PHP 5, PHP 7 < 7.4.0)

fbird_free_query — Takma Adı: ibase_free_query()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_free_query().


Takma Adı: ibase_free_result

  • « fbird_free_query
  • fbird_gen_id »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_free_result

fbird_free_result

(PHP 5, PHP 7 < 7.4.0)

fbird_free_result — Takma Adı: ibase_free_result()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_free_result().


Takma Adı: ibase_gen_id

  • « fbird_free_result
  • fbird_maintain_db »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_gen_id

fbird_gen_id

(PHP 5, PHP 7 < 7.4.0)

fbird_gen_id — Takma Adı: ibase_gen_id()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_gen_id().


Takma Adı: ibase_maintain_db

  • « fbird_gen_id
  • fbird_modify_user »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_maintain_db

fbird_maintain_db

(PHP 5, PHP 7 < 7.4.0)

fbird_maintain_db — Takma Adı: ibase_maintain_db()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_maintain_db().


Takma Adı: ibase_modify_user

  • « fbird_maintain_db
  • fbird_name_result »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_modify_user

fbird_modify_user

(PHP 5, PHP 7 < 7.4.0)

fbird_modify_user — Takma Adı: ibase_modify_user()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_modify_user().

Ayrıca Bakınız

  • fbird_add_user() - Takma Adı: ibase_add_user
  • fbird_delete_user() - Takma Adı: ibase_delete_user


Takma Adı: ibase_name_result

  • « fbird_modify_user
  • fbird_num_fields »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_name_result

fbird_name_result

(PHP 5, PHP 7 < 7.4.0)

fbird_name_result — Takma Adı: ibase_name_result()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_name_result().

Ayrıca Bakınız

  • fbird_prepare() - Takma Adı: ibase_prepare
  • fbird_execute() - Takma Adı: ibase_execute


Takma Adı: ibase_num_fields

  • « fbird_name_result
  • fbird_num_params »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_num_fields

fbird_num_fields

(PHP 5, PHP 7 < 7.4.0)

fbird_num_fields — Takma Adı: ibase_num_fields()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_num_fields().

Ayrıca Bakınız

  • fbird_field_info() - Takma Adı: ibase_field_info


Takma Adı: ibase_num_params

  • « fbird_num_fields
  • fbird_param_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_num_params

fbird_num_params

(PHP 5, PHP 7 < 7.4.0)

fbird_num_params — Takma Adı: ibase_num_params()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_num_params().

Ayrıca Bakınız

  • fbird_prepare() - Takma Adı: ibase_prepare
  • fbird_param_info() - Takma Adı: ibase_param_info


Takma Adı: ibase_param_info

  • « fbird_num_params
  • fbird_pconnect »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_param_info

fbird_param_info

(PHP 5, PHP 7 < 7.4.0)

fbird_param_info — Takma Adı: ibase_param_info()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_param_info().

Ayrıca Bakınız

  • fbird_field_info() - Takma Adı: ibase_field_info
  • fbird_num_params() - Takma Adı: ibase_num_params


Takma Adı: ibase_pconnect

  • « fbird_param_info
  • fbird_prepare »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_pconnect

fbird_pconnect

(PHP 5, PHP 7 < 7.4.0)

fbird_pconnect — Takma Adı: ibase_pconnect()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_pconnect().

Ayrıca Bakınız

  • fbird_close() - Takma Adı: ibase_close
  • fbird_connect() - Takma Adı: ibase_connect


Takma Adı: ibase_prepare

  • « fbird_pconnect
  • fbird_query »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_prepare

fbird_prepare

(PHP 5, PHP 7 < 7.4.0)

fbird_prepare — Takma Adı: ibase_prepare()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_prepare().


Takma Adı: ibase_query

  • « fbird_prepare
  • fbird_restore »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_query

fbird_query

(PHP 5, PHP 7 < 7.4.0)

fbird_query — Takma Adı: ibase_query()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_query().

Ayrıca Bakınız

  • fbird_errmsg() - Takma Adı: ibase_errmsg
  • fbird_fetch_row() - Takma Adı: ibase_fetch_row
  • fbird_fetch_object() - Takma Adı: ibase_fetch_object
  • fbird_free_result() - Takma Adı: ibase_free_result


Takma Adı: ibase_restore

  • « fbird_query
  • fbird_rollback_ret »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_restore

fbird_restore

(PHP 5, PHP 7 < 7.4.0)

fbird_restore — Takma Adı: ibase_restore()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_restore().


Takma Adı: ibase_rollback_ret

  • « fbird_restore
  • fbird_rollback »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_rollback_ret

fbird_rollback_ret

(PHP 5, PHP 7 < 7.4.0)

fbird_rollback_ret — Takma Adı: ibase_rollback_ret()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_rollback_ret().


Takma Adı: ibase_rollback

  • « fbird_rollback_ret
  • fbird_server_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_rollback

fbird_rollback

(PHP 5, PHP 7 < 7.4.0)

fbird_rollback — Takma Adı: ibase_rollback()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_rollback().


Takma Adı: ibase_server_info

  • « fbird_rollback
  • fbird_service_attach »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_server_info

fbird_server_info

(PHP 5, PHP 7 < 7.4.0)

fbird_server_info — Takma Adı: ibase_server_info()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_server_info().


Takma Adı: ibase_service_attach

  • « fbird_server_info
  • fbird_service_detach »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_service_attach

fbird_service_attach

(PHP 5, PHP 7 < 7.4.0)

fbird_service_attach — Takma Adı: ibase_service_attach()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_service_attach().


Takma Adı: ibase_service_detach

  • « fbird_service_attach
  • fbird_set_event_handler »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_service_detach

fbird_service_detach

(PHP 5, PHP 7 < 7.4.0)

fbird_service_detach — Takma Adı: ibase_service_detach()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_service_detach().


Takma Adı: ibase_set_event_handler

  • « fbird_service_detach
  • fbird_trans »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_set_event_handler

fbird_set_event_handler

(PHP 5, PHP 7 < 7.4.0)

fbird_set_event_handler — Takma Adı: ibase_set_event_handler()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_set_event_handler().

Ayrıca Bakınız

  • fbird_free_event_handler() - Takma Adı: ibase_free_event_handler
  • fbird_wait_event() - Takma Adı: ibase_wait_event


Takma Adı: ibase_trans

  • « fbird_set_event_handler
  • fbird_wait_event »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_trans

fbird_trans

(PHP 5, PHP 7 < 7.4.0)

fbird_trans — Takma Adı: ibase_trans()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_trans().


Takma Adı: ibase_wait_event

  • « fbird_trans
  • ibase_add_user »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Takma Adı: ibase_wait_event

fbird_wait_event

(PHP 5, PHP 7 < 7.4.0)

fbird_wait_event — Takma Adı: ibase_wait_event()

Açıklama

Bu işlev şu işlevin takma adıdır: ibase_wait_event().

Ayrıca Bakınız

  • fbird_set_event_handler() - Takma Adı: ibase_set_event_handler
  • fbird_free_event_handler() - Takma Adı: ibase_free_event_handler


Add a user to a security database

  • « fbird_wait_event
  • ibase_affected_rows »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Add a user to a security database

ibase_add_user

(PHP 5, PHP 7 < 7.4.0)

ibase_add_user — Add a user to a security database

Açıklama

ibase_add_user(
resource $service_handle,
string $user_name,
string $password,
string $first_name = ?,
string $middle_name = ?,
string $last_name = ?
): bool

Bağımsız Değişkenler

service_handle

The handle on the database server service.

user_name

The login name of the new database user.

password

The password of the new user.

first_name

The first name of the new database user.

middle_name

The middle name of the new database user.

last_name

The last name of the new database user.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_modify_user() - Modify a user to a security database
  • ibase_delete_user() - Delete a user from a security database


Return the number of rows that were affected by the previous query

  • « ibase_add_user
  • ibase_backup »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return the number of rows that were affected by the previous query

ibase_affected_rows

(PHP 5, PHP 7 < 7.4.0)

ibase_affected_rows — Return the number of rows that were affected by the previous query

Açıklama

ibase_affected_rows(resource $link_identifier = ?): int

This function returns the number of rows that were affected by the previous query (INSERT, UPDATE or DELETE) that was executed from within the specified transaction context.

Bağımsız Değişkenler

link_identifier

A transaction context. If link_identifier is a connection resource, its default transaction is used.

Dönen Değerler

Returns the number of rows as an integer.

Ayrıca Bakınız

  • ibase_query() - Execute a query on an InterBase database
  • ibase_execute() - Execute a previously prepared query


Initiates a backup task in the service manager and returns immediately

  • « ibase_affected_rows
  • ibase_blob_add »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Initiates a backup task in the service manager and returns immediately

ibase_backup

(PHP 5, PHP 7 < 7.4.0)

ibase_backup — Initiates a backup task in the service manager and returns immediately

Açıklama

ibase_backup(
resource $service_handle,
string $source_db,
string $dest_file,
int $options = 0,
bool $verbose = false
): mixed

This function passes the arguments to the (remote) database server. There it starts a new backup process. Therefore you won't get any responses.

Bağımsız Değişkenler

service_handle

A previously opened connection to the database server.

source_db

The absolute file path to the database on the database server. You can also use a database alias.

dest_file

The path to the backup file on the database server.

options

Additional options to pass to the database server for backup. The options parameter can be a combination of the following constants: IBASE_BKP_IGNORE_CHECKSUMS, IBASE_BKP_IGNORE_LIMBO, IBASE_BKP_METADATA_ONLY, IBASE_BKP_NO_GARBAGE_COLLECT, IBASE_BKP_OLD_DESCRIPTIONS, IBASE_BKP_NON_TRANSPORTABLE or IBASE_BKP_CONVERT. Read the section about Öntanımlı Sabitler for further information.

verbose

Since the backup process is done on the database server, you don't have any chance to get its output. This argument is useless.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Since the backup process is done on the (remote) server, this function just passes the arguments to it. While the arguments are legal, you won't get false.

Örnekler

Örnek 1 ibase_backup() example

<?php

// Attach to database server by ip address and port
$service = ibase_service_attach ('10.1.11.200/3050', 'sysdba', 'masterkey');

// Start the backup process on database server
// Backup employee database using full path to /srv/backup/employees.fbk
// Don't use any special arguments
ibase_backup($service, '/srv/firebird/employees.fdb', '/srv/backup/employees.fbk');

// Free the attached connection
ibase_service_detach ($service);
?>

Örnek 2 ibase_backup() example with arguments

<?php

// Attach to database server by name and default port
$service = ibase_service_attach ('fb-server.contoso.local', 'sysdba', 'masterkey');

// Start the backup process on database server
// Backup employee database using alias to /srv/backup/employees.fbk.
// Backup only the metadata. Don't create a transportable backup.
ibase_backup($service, 'employees.fdb', '/srv/backup/employees.fbk', IBASE_BKP_METADATA_ONLY | IBASE_BKP_NON_TRANSPORTABLE);

// Free the attached connection
ibase_service_detach ($service);
?>

Ayrıca Bakınız

  • ibase_restore() - Initiates a restore task in the service manager and returns immediately


Add data into a newly created blob

  • « ibase_backup
  • ibase_blob_cancel »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Add data into a newly created blob

ibase_blob_add

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_add — Add data into a newly created blob

Açıklama

ibase_blob_add(resource $blob_handle, string $data): void

ibase_blob_add() adds data into a blob created with ibase_blob_create().

Bağımsız Değişkenler

blob_handle

A blob handle opened with ibase_blob_create().

data

The data to be added.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it


Cancel creating blob

  • « ibase_blob_add
  • ibase_blob_close »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Cancel creating blob

ibase_blob_cancel

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_cancel — Cancel creating blob

Açıklama

ibase_blob_cancel(resource $blob_handle): bool

This function will discard a BLOB if it has not yet been closed by ibase_blob_close().

Bağımsız Değişkenler

blob_handle

A BLOB handle opened with ibase_blob_create().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data
  • ibase_blob_import() - Create blob, copy file in it, and close it


Close blob

  • « ibase_blob_cancel
  • ibase_blob_create »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Close blob

ibase_blob_close

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_close — Close blob

Açıklama

ibase_blob_close(resource $blob_handle): mixed

This function closes a BLOB that has either been opened for reading by ibase_blob_open() or has been opened for writing by ibase_blob_create().

Bağımsız Değişkenler

blob_handle

A BLOB handle opened with ibase_blob_create() or ibase_blob_open().

Dönen Değerler

If the BLOB was being read, this function returns true on success, if the BLOB was being written to, this function returns a string containing the BLOB id that has been assigned to it by the database. On failure, this function returns false.

Ayrıca Bakınız

  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_open() - Open blob for retrieving data parts


Create a new blob for adding data

  • « ibase_blob_close
  • ibase_blob_echo »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Create a new blob for adding data

ibase_blob_create

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_create — Create a new blob for adding data

Açıklama

ibase_blob_create(resource $link_identifier = null): resource|false

ibase_blob_create() creates a new BLOB for filling with data.

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Dönen Değerler

Returns a BLOB handle for later use with ibase_blob_add() başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_import() - Create blob, copy file in it, and close it


Output blob contents to browser

  • « ibase_blob_create
  • ibase_blob_get »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Output blob contents to browser

ibase_blob_echo

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_echo — Output blob contents to browser

Açıklama

ibase_blob_echo(string $blob_id): bool
ibase_blob_echo(resource $link_identifier, string $blob_id): bool

This function opens a BLOB for reading and sends its contents directly to standard output (the browser, in most cases).

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_get() - Get len bytes data from open blob


Get len bytes data from open blob

  • « ibase_blob_echo
  • ibase_blob_import »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Get len bytes data from open blob

ibase_blob_get

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_get — Get len bytes data from open blob

Açıklama

ibase_blob_get(resource $blob_handle, int $len): string

This function returns at most len bytes from a BLOB that has been opened for reading by ibase_blob_open().

Bilginize:

It is not possible to read from a BLOB that has been opened for writing by ibase_blob_create().

Bağımsız Değişkenler

blob_handle

A BLOB handle opened with ibase_blob_open().

len

Size of returned data.

Dönen Değerler

Returns at most len bytes from the BLOB, or false on failure.

Örnekler

Örnek 1 ibase_blob_get() example

<?php
$result = ibase_query("SELECT blob_value FROM table");
$data = ibase_fetch_object($result);
$blob_data = ibase_blob_info($data->BLOB_VALUE);
$blob_hndl = ibase_blob_open($data->BLOB_VALUE);
echo ibase_blob_get($blob_hndl, $blob_data[0]);
?>
Whilst this example doesn't do much more than a 'ibase_blob_echo($data->BLOB_VALUE)' would do, it does show you how to get information into a $variable to manipulate as you please.

Ayrıca Bakınız

  • ibase_blob_open() - Open blob for retrieving data parts
  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser


Create blob, copy file in it, and close it

  • « ibase_blob_get
  • ibase_blob_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Create blob, copy file in it, and close it

ibase_blob_import

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_import — Create blob, copy file in it, and close it

Açıklama

ibase_blob_import(resource $link_identifier, resource $file_handle): string
ibase_blob_import(resource $file_handle): string

This function creates a BLOB, reads an entire file into it, closes it and returns the assigned BLOB id.

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

file_handle

The file handle is a handle returned by fopen().

Dönen Değerler

Returns the BLOB id on success, or false on error.

Örnekler

Örnek 1 ibase_blob_import() example

<?php
$dbh = ibase_connect($host, $username, $password);
$filename = '/tmp/bar';

$fd = fopen($filename, 'r');
if ($fd) {

$blob = ibase_blob_import($dbh, $fd);
fclose($fd);

if (!is_string($blob)) {
// import failed
} else {
$query = "INSERT INTO foo (name, data) VALUES ('$filename', ?)";
$prepared = ibase_prepare($dbh, $query);
if (!ibase_execute($prepared, $blob)) {
// record insertion failed
}
}
} else {
// unable to open the data file
}
?>

Ayrıca Bakınız

  • ibase_blob_add() - Add data into a newly created blob
  • ibase_blob_cancel() - Cancel creating blob
  • ibase_blob_close() - Close blob
  • ibase_blob_create() - Create a new blob for adding data


Return blob length and other useful info

  • « ibase_blob_import
  • ibase_blob_open »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return blob length and other useful info

ibase_blob_info

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_info — Return blob length and other useful info

Açıklama

ibase_blob_info(resource $link_identifier, string $blob_id): array
ibase_blob_info(string $blob_id): array

Returns the BLOB length and other useful information.

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Dönen Değerler

Returns an array containing information about a BLOB. The information returned consists of the length of the BLOB, the number of segments it contains, the size of the largest segment, and whether it is a stream BLOB or a segmented BLOB.


Open blob for retrieving data parts

  • « ibase_blob_info
  • ibase_close »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Open blob for retrieving data parts

ibase_blob_open

(PHP 5, PHP 7 < 7.4.0)

ibase_blob_open — Open blob for retrieving data parts

Açıklama

ibase_blob_open(resource $link_identifier, string $blob_id): resource|false
ibase_blob_open(string $blob_id): resource|false

Opens an existing BLOB for reading.

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

blob_id

A BLOB id.

Dönen Değerler

Returns a BLOB handle for later use with ibase_blob_get() başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_blob_close() - Close blob
  • ibase_blob_echo() - Output blob contents to browser
  • ibase_blob_get() - Get len bytes data from open blob


Close a connection to an InterBase database

  • « ibase_blob_open
  • ibase_commit_ret »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Close a connection to an InterBase database

ibase_close

(PHP 5, PHP 7 < 7.4.0)

ibase_close — Close a connection to an InterBase database

Açıklama

ibase_close(resource $connection_id = null): bool

Closes the link to an InterBase database that's associated with a connection id returned from ibase_connect(). Default transaction on link is committed, other transactions are rolled back.

Bağımsız Değişkenler

connection_id

An InterBase link identifier returned from ibase_connect(). If omitted, the last opened link is assumed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_connect() - Open a connection to a database
  • ibase_pconnect() - Open a persistent connection to an InterBase database


Commit a transaction without closing it

  • « ibase_close
  • ibase_commit »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Commit a transaction without closing it

ibase_commit_ret

(PHP 5, PHP 7 < 7.4.0)

ibase_commit_ret — Commit a transaction without closing it

Açıklama

ibase_commit_ret(resource $link_or_trans_identifier = null): bool

Commits a transaction without closing it.

Bağımsız Değişkenler

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Commit a transaction

  • « ibase_commit_ret
  • ibase_connect »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Commit a transaction

ibase_commit

(PHP 5, PHP 7 < 7.4.0)

ibase_commit — Commit a transaction

Açıklama

ibase_commit(resource $link_or_trans_identifier = null): bool

Commits a transaction.

Bağımsız Değişkenler

link_or_trans_identifier

If called without an argument, this function commits the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be committed. If the argument is a transaction identifier, the corresponding transaction will be committed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Open a connection to a database

  • « ibase_commit
  • ibase_db_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Open a connection to a database

ibase_connect

(PHP 5, PHP 7 < 7.4.0)

ibase_connect — Open a connection to a database

Açıklama

ibase_connect(
string $database = ?,
string $username = ?,
string $password = ?,
string $charset = ?,
int $buffers = ?,
int $dialect = ?,
string $role = ?,
int $sync = ?
): resource

Establishes a connection to an Firebird/InterBase server.

In case a second call is made to ibase_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling ibase_close().

Bağımsız Değişkenler

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), 'hostname/port:' (TCP/IP with interbase server on custom TCP port), '//hostname/' (NetBEUI), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries.

role

Functional only with InterBase 5 and up.

sync

Dönen Değerler

Returns an Firebird/InterBase link identifier on success, or false on error.

Hatalar/İstisnalar

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

Örnekler

Örnek 1 ibase_connect() example

<?php
$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->email, "\n";
}
ibase_free_result($sth);
ibase_close($dbh);
?>

Ayrıca Bakınız

  • ibase_pconnect() - Open a persistent connection to an InterBase database
  • ibase_close() - Close a connection to an InterBase database


Request statistics about a database

  • « ibase_connect
  • ibase_delete_user »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Request statistics about a database

ibase_db_info

(PHP 5, PHP 7 < 7.4.0)

ibase_db_info — Request statistics about a database

Açıklama

ibase_db_info(
resource $service_handle,
string $db,
int $action,
int $argument = 0
): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Delete a user from a security database

  • « ibase_db_info
  • ibase_drop_db »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Delete a user from a security database

ibase_delete_user

(PHP 5, PHP 7 < 7.4.0)

ibase_delete_user — Delete a user from a security database

Açıklama

ibase_delete_user(resource $service_handle, string $user_name): bool

Bağımsız Değişkenler

service_handle

The handle on the database server service.

user_name

The login name of the user you want to delete from the database.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_add_user() - Add a user to a security database
  • ibase_modify_user() - Modify a user to a security database


Drops a database

  • « ibase_delete_user
  • ibase_errcode »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Drops a database

ibase_drop_db

(PHP 5, PHP 7 < 7.4.0)

ibase_drop_db — Drops a database

Açıklama

ibase_drop_db(resource $connection = null): bool

This functions drops a database that was opened by either ibase_connect() or ibase_pconnect(). The database is closed and deleted from the server.

Bağımsız Değişkenler

connection

An InterBase link identifier. If omitted, the last opened link is assumed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_connect() - Open a connection to a database
  • ibase_pconnect() - Open a persistent connection to an InterBase database


Return an error code

  • « ibase_drop_db
  • ibase_errmsg »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return an error code

ibase_errcode

(PHP 5, PHP 7 < 7.4.0)

ibase_errcode — Return an error code

Açıklama

ibase_errcode(): int

Returns the error code that resulted from the most recent InterBase function call.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the error code as an integer, or false if no error occurred.

Ayrıca Bakınız

  • ibase_errmsg() - Return error messages


Return error messages

  • « ibase_errcode
  • ibase_execute »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return error messages

ibase_errmsg

(PHP 5, PHP 7 < 7.4.0)

ibase_errmsg — Return error messages

Açıklama

ibase_errmsg(): string

Returns the error message that resulted from the most recent InterBase function call.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the error message as a string, or false if no error occurred.

Ayrıca Bakınız

  • ibase_errcode() - Return an error code


Execute a previously prepared query

  • « ibase_errmsg
  • ibase_fetch_assoc »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Execute a previously prepared query

ibase_execute

(PHP 5, PHP 7 < 7.4.0)

ibase_execute — Execute a previously prepared query

Açıklama

ibase_execute(resource $query, mixed ...$values): resource

Execute a query prepared by ibase_prepare().

This is a lot more effective than using ibase_query() if you are repeating a same kind of query several times with only some parameters changing.

Bağımsız Değişkenler

query

An InterBase query prepared by ibase_prepare().

values

Dönen Değerler

If the query raises an error, returns false. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns true.

Bilginize:

This function returns the number of rows affected by the query (if > 0 and applicable to the statement type). A query that succeeded, but did not affect any rows (e.g. an UPDATE of a non-existent record) will return true.

Örnekler

Örnek 1 ibase_execute() example

<?php

$dbh = ibase_connect($host, $username, $password);

$updates = array(
1 => 'Eric',
5 => 'Filip',
7 => 'Larry'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach ($updates as $baz => $bar) {
ibase_execute($query, $bar, $baz);
}

?>

Ayrıca Bakınız

  • ibase_query() - Execute a query on an InterBase database


Fetch a result row from a query as an associative array

  • « ibase_execute
  • ibase_fetch_object »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Fetch a result row from a query as an associative array

ibase_fetch_assoc

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_assoc — Fetch a result row from a query as an associative array

Açıklama

ibase_fetch_assoc(resource $result, int $fetch_flag = 0): array

Fetch a result row from a query as an associative array.

ibase_fetch_assoc() fetches one row of data from the result. If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using ibase_fetch_row() or use alias names in your query.

Bağımsız Değişkenler

result

The result handle.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Dönen Değerler

Returns an associative array that corresponds to the fetched row. Subsequent calls will return the next row in the result set, or false if there are no more rows.

Ayrıca Bakınız

  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_object() - Get an object from a InterBase database


Get an object from a InterBase database

  • « ibase_fetch_assoc
  • ibase_fetch_row »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Get an object from a InterBase database

ibase_fetch_object

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_object — Get an object from a InterBase database

Açıklama

ibase_fetch_object(resource $result_id, int $fetch_flag = 0): object

Fetches a row as a pseudo-object from a given result identifier.

Subsequent calls to ibase_fetch_object() return the next row in the result set.

Bağımsız Değişkenler

result_id

An InterBase result identifier obtained either by ibase_query() or ibase_execute().

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Dönen Değerler

Returns an object with the next row information, or false if there are no more rows.

Örnekler

Örnek 1 ibase_fetch_object() example

<?php
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->email . "\n";
}
ibase_close($dbh);
?>

Ayrıca Bakınız

  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_assoc() - Fetch a result row from a query as an associative array


Fetch a row from an InterBase database

  • « ibase_fetch_object
  • ibase_field_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Fetch a row from an InterBase database

ibase_fetch_row

(PHP 5, PHP 7 < 7.4.0)

ibase_fetch_row — Fetch a row from an InterBase database

Açıklama

ibase_fetch_row(resource $result_identifier, int $fetch_flag = 0): array

ibase_fetch_row() fetches one row of data from the given result set.

Subsequent calls to ibase_fetch_row() return the next row in the result set, or false if there are no more rows.

Bağımsız Değişkenler

result_identifier

An InterBase result identifier.

fetch_flag

fetch_flag is a combination of the constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing IBASE_TEXT will cause this function to return BLOB contents instead of BLOB ids. Passing IBASE_UNIXTIME will cause this function to return date/time values as Unix timestamps instead of as formatted strings.

Dönen Değerler

Returns an array that corresponds to the fetched row, or false if there are no more rows. Each result column is stored in an array offset, starting at offset 0.

Ayrıca Bakınız

  • ibase_fetch_assoc() - Fetch a result row from a query as an associative array
  • ibase_fetch_object() - Get an object from a InterBase database


Get information about a field

  • « ibase_fetch_row
  • ibase_free_event_handler »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Get information about a field

ibase_field_info

(PHP 5, PHP 7 < 7.4.0)

ibase_field_info — Get information about a field

Açıklama

ibase_field_info(resource $result, int $field_number): array

Returns an array with information about a field after a select query has been run.

Bağımsız Değişkenler

result

An InterBase result identifier.

field_number

Field offset.

Dönen Değerler

Returns an array with the following keys: name, alias, relation, length and type.

Örnekler

Örnek 1 ibase_field_info() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
$col_info = ibase_field_info($rs, $i);
echo "name: ". $col_info['name']. "\n";
echo "alias: ". $col_info['alias']. "\n";
echo "relation: ". $col_info['relation']. "\n";
echo "length: ". $col_info['length']. "\n";
echo "type: ". $col_info['type']. "\n";
}
?>

Ayrıca Bakınız

  • ibase_num_fields() - Get the number of fields in a result set


Cancels a registered event handler

  • « ibase_field_info
  • ibase_free_query »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Cancels a registered event handler

ibase_free_event_handler

(PHP 5, PHP 7 < 7.4.0)

ibase_free_event_handler — Cancels a registered event handler

Açıklama

ibase_free_event_handler(resource $event): bool

This function causes the registered event handler specified by event to be cancelled. The callback function will no longer be called for the events it was registered to handle.

Bağımsız Değişkenler

event

An event resource, created by ibase_set_event_handler().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_set_event_handler() - Register a callback function to be called when events are posted


Free memory allocated by a prepared query

  • « ibase_free_event_handler
  • ibase_free_result »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Free memory allocated by a prepared query

ibase_free_query

(PHP 5, PHP 7 < 7.4.0)

ibase_free_query — Free memory allocated by a prepared query

Açıklama

ibase_free_query(resource $query): bool

Frees a prepared query.

Bağımsız Değişkenler

query

A query prepared with ibase_prepare().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Free a result set

  • « ibase_free_query
  • ibase_gen_id »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Free a result set

ibase_free_result

(PHP 5, PHP 7 < 7.4.0)

ibase_free_result — Free a result set

Açıklama

ibase_free_result(resource $result_identifier): bool

Frees a result set.

Bağımsız Değişkenler

result_identifier

A result set created by ibase_query() or ibase_execute().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Increments the named generator and returns its new value

  • « ibase_free_result
  • ibase_maintain_db »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Increments the named generator and returns its new value

ibase_gen_id

(PHP 5, PHP 7 < 7.4.0)

ibase_gen_id — Increments the named generator and returns its new value

Açıklama

ibase_gen_id(string $generator, int $increment = 1, resource $link_identifier = null): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Returns new generator value as integer, or as string if the value is too big.


Execute a maintenance command on the database server

  • « ibase_gen_id
  • ibase_modify_user »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Execute a maintenance command on the database server

ibase_maintain_db

(PHP 5, PHP 7 < 7.4.0)

ibase_maintain_db — Execute a maintenance command on the database server

Açıklama

ibase_maintain_db(
resource $service_handle,
string $db,
int $action,
int $argument = 0
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Modify a user to a security database

  • « ibase_maintain_db
  • ibase_name_result »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Modify a user to a security database

ibase_modify_user

(PHP 5, PHP 7 < 7.4.0)

ibase_modify_user — Modify a user to a security database

Açıklama

ibase_modify_user(
resource $service_handle,
string $user_name,
string $password,
string $first_name = ?,
string $middle_name = ?,
string $last_name = ?
): bool

Bağımsız Değişkenler

service_handle

The handle on the database server service.

user_name

The login name of the database user to modify.

password

The user's new password.

first_name

The user's new first name.

middle_name

The user's new middle name.

last_name

The user's new last name.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ibase_add_user() - Add a user to a security database
  • ibase_delete_user() - Delete a user from a security database


Assigns a name to a result set

  • « ibase_modify_user
  • ibase_num_fields »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Assigns a name to a result set

ibase_name_result

(PHP 5, PHP 7 < 7.4.0)

ibase_name_result — Assigns a name to a result set

Açıklama

ibase_name_result(resource $result, string $name): bool

This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ... WHERE CURRENT OF name statements.

Bağımsız Değişkenler

result

An InterBase result set.

name

The name to be assigned.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 ibase_name_result() example

<?php
$result = ibase_query("SELECT field1,field2 FROM table FOR UPDATE");
ibase_name_result($result, "my_cursor");

$updateqry = ibase_prepare("UPDATE table SET field2 = ? WHERE CURRENT OF my_cursor");

for ($i = 0; ibase_fetch_row($result); ++$i) {
ibase_execute($updateqry, $i);
}
?>

Ayrıca Bakınız

  • ibase_prepare() - Prepare a query for later binding of parameter placeholders and execution
  • ibase_execute() - Execute a previously prepared query


Get the number of fields in a result set

  • « ibase_name_result
  • ibase_num_params »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Get the number of fields in a result set

ibase_num_fields

(PHP 5, PHP 7 < 7.4.0)

ibase_num_fields — Get the number of fields in a result set

Açıklama

ibase_num_fields(resource $result_id): int

Get the number of fields in a result set.

Bağımsız Değişkenler

result_id

An InterBase result identifier.

Dönen Değerler

Returns the number of fields as an integer.

Örnekler

Örnek 1 ibase_num_fields() example

<?php
$rs = ibase_query("SELECT * FROM tablename");
$coln = ibase_num_fields($rs);
for ($i = 0; $i < $coln; $i++) {
$col_info = ibase_field_info($rs, $i);
echo "name: " . $col_info['name'] . "\n";
echo "alias: " . $col_info['alias'] . "\n";
echo "relation: " . $col_info['relation'] . "\n";
echo "length: " . $col_info['length'] . "\n";
echo "type: " . $col_info['type'] . "\n";
}
?>

Ayrıca Bakınız

  • ibase_field_info() - Get information about a field


Return the number of parameters in a prepared query

  • « ibase_num_fields
  • ibase_param_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return the number of parameters in a prepared query

ibase_num_params

(PHP 5, PHP 7 < 7.4.0)

ibase_num_params — Return the number of parameters in a prepared query

Açıklama

ibase_num_params(resource $query): int

This function returns the number of parameters in the prepared query specified by query. This is the number of binding arguments that must be present when calling ibase_execute().

Bağımsız Değişkenler

query

The prepared query handle.

Dönen Değerler

Returns the number of parameters as an integer.

Ayrıca Bakınız

  • ibase_prepare() - Prepare a query for later binding of parameter placeholders and execution
  • ibase_param_info() - Return information about a parameter in a prepared query


Return information about a parameter in a prepared query

  • « ibase_num_params
  • ibase_pconnect »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Return information about a parameter in a prepared query

ibase_param_info

(PHP 5, PHP 7 < 7.4.0)

ibase_param_info — Return information about a parameter in a prepared query

Açıklama

ibase_param_info(resource $query, int $param_number): array

Returns an array with information about a parameter after a query has been prepared.

Bağımsız Değişkenler

query

An InterBase prepared query handle.

param_number

Parameter offset.

Dönen Değerler

Returns an array with the following keys: name, alias, relation, length and type.

Ayrıca Bakınız

  • ibase_field_info() - Get information about a field
  • ibase_num_params() - Return the number of parameters in a prepared query


Open a persistent connection to an InterBase database

  • « ibase_param_info
  • ibase_prepare »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Open a persistent connection to an InterBase database

ibase_pconnect

(PHP 5, PHP 7 < 7.4.0)

ibase_pconnect — Open a persistent connection to an InterBase database

Açıklama

ibase_pconnect(
string $database = ?,
string $username = ?,
string $password = ?,
string $charset = ?,
int $buffers = ?,
int $dialect = ?,
string $role = ?,
int $sync = ?
): resource

Opens a persistent connection to an InterBase database.

ibase_pconnect() acts very much like ibase_connect() with two major differences.

First, when connecting, the function will first try to find a (persistent) link that's already opened with the same parameters. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the InterBase server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (ibase_close() will not close links established by ibase_pconnect()). This type of link is therefore called 'persistent'.

Bağımsız Değişkenler

database

The database argument has to be a valid path to database file on the server it resides on. If the server is not local, it must be prefixed with either 'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX), depending on the connection protocol used.

username

The user name. Can be set with the ibase.default_user php.ini directive.

password

The password for username. Can be set with the ibase.default_password php.ini directive.

charset

charset is the default character set for a database.

buffers

buffers is the number of database buffers to allocate for the server-side cache. If 0 or omitted, server chooses its own default.

dialect

dialect selects the default SQL dialect for any statement executed within a connection, and it defaults to the highest one supported by client libraries. Functional only with InterBase 6 and up.

role

Functional only with InterBase 5 and up.

sync

Dönen Değerler

Returns an InterBase link identifier on success, or false on error.

Ayrıca Bakınız

  • ibase_close() - Close a connection to an InterBase database
  • ibase_connect() - Open a connection to a database


Prepare a query for later binding of parameter placeholders and execution

  • « ibase_pconnect
  • ibase_query »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Prepare a query for later binding of parameter placeholders and execution

ibase_prepare

(PHP 5, PHP 7 < 7.4.0)

ibase_prepare — Prepare a query for later binding of parameter placeholders and execution

Açıklama

ibase_prepare(string $query): resource
ibase_prepare(resource $link_identifier, string $query): resource
ibase_prepare(resource $link_identifier, string $trans, string $query): resource

Prepare a query for later binding of parameter placeholders and execution (via ibase_execute()).

Bağımsız Değişkenler

query

An InterBase query.

link_identifier

An InterBase link identifier returned from ibase_connect(). If omitted, the last opened link is assumed.

trans

An InterBase transaction handle the query should be associated with. If omitted, the default transaction of the connection is assumed.

Dönen Değerler

Returns a prepared query handle, or false on error.


Execute a query on an InterBase database

  • « ibase_prepare
  • ibase_restore »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Execute a query on an InterBase database

ibase_query

(PHP 5, PHP 7 < 7.4.0)

ibase_query — Execute a query on an InterBase database

Açıklama

ibase_query(resource $link_identifier = ?, string $query, int $bind_args = ?): resource

Performs a query on an InterBase database.

Bağımsız Değişkenler

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

query

An InterBase query.

bind_args

Dönen Değerler

If the query raises an error, returns false. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns true.

Bilginize:

In PHP 5.0.0 and up, this function will return the number of rows affected by the query for INSERT, UPDATE and DELETE statements. In order to retain backward compatibility, it will return true for these statements if the query succeeded without affecting any rows.

Hatalar/İstisnalar

If you get some error like "arithmetic exception, numeric overflow, or string truncation. Cannot transliterate character between character sets" (this occurs when you try use some character with accents) when using this and after ibase_query() you must set the character set (i.e. ISO8859_1 or your current character set).

Örnekler

Örnek 1 ibase_query() example

<?php

$host = 'localhost:/path/to/your.gdb';

$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM tblname';

$sth = ibase_query($dbh, $stmt) or die(ibase_errmsg());

?>

Ayrıca Bakınız

  • ibase_errmsg() - Return error messages
  • ibase_fetch_row() - Fetch a row from an InterBase database
  • ibase_fetch_object() - Get an object from a InterBase database
  • ibase_free_result() - Free a result set


Initiates a restore task in the service manager and returns immediately

  • « ibase_query
  • ibase_rollback_ret »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Initiates a restore task in the service manager and returns immediately

ibase_restore

(PHP 5, PHP 7 < 7.4.0)

ibase_restore — Initiates a restore task in the service manager and returns immediately

Açıklama

ibase_restore(
resource $service_handle,
string $source_file,
string $dest_db,
int $options = 0,
bool $verbose = false
): mixed

This function passes the arguments to the (remote) database server. There it starts a new restore process. Therefore you won't get any responses.

Bağımsız Değişkenler

service_handle

A previously opened connection to the database server.

source_file

The absolute path on the server where the backup file is located.

dest_db

The path to create the new database on the server. You can also use database alias.

options

Additional options to pass to the database server for restore. The options parameter can be a combination of the following constants: IBASE_RES_DEACTIVATE_IDX, IBASE_RES_NO_SHADOW, IBASE_RES_NO_VALIDITY, IBASE_RES_ONE_AT_A_TIME, IBASE_RES_REPLACE, IBASE_RES_CREATE, IBASE_RES_USE_ALL_SPACE, IBASE_PRP_PAGE_BUFFERS, IBASE_PRP_SWEEP_INTERVAL, IBASE_RES_CREATE. Read the section about Öntanımlı Sabitler for further information.

verbose

Since the restore process is done on the database server, you don't have any chance to get its output. This argument is useless.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Since the restore process is done on the (remote) server, this function just passes the arguments to it. While the arguments are legal, you won't get false.

Örnekler

Örnek 1 ibase_restore() example

<?php

// Attach to database server by ip address and port
$service = ibase_service_attach ('10.1.11.200/3050', 'sysdba', 'masterkey');

// Start the restore process on database server
// Restore employee backup to the new emps.fdb database
// Don't use any special arguments
ibase_restore($service, '/srv/backup/employees.fbk', '/srv/firebird/emps.fdb');

// Free the attached connection
ibase_service_detach ($service);
?>

Örnek 2 ibase_restore() example with arguments

<?php

// Attach to database server by name and default port
$service = ibase_service_attach ('fb-server.contoso.local', 'sysdba', 'masterkey');

// Start the restore process on database server
// Restore to employee database using alias.
// Restore without indixes. Replace existing database.
ibase_restore($service, '/srv/backup/employees.fbk', 'employees.fdb', IBASE_RES_DEACTIVATE_IDX | IBASE_RES_REPLACE);

// Free the attached connection
ibase_service_detach ($service);
?>

Ayrıca Bakınız

  • ibase_backup() - Initiates a backup task in the service manager and returns immediately


Roll back a transaction without closing it

  • « ibase_restore
  • ibase_rollback »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Roll back a transaction without closing it

ibase_rollback_ret

(PHP 5, PHP 7 < 7.4.0)

ibase_rollback_ret — Roll back a transaction without closing it

Açıklama

ibase_rollback_ret(resource $link_or_trans_identifier = null): bool

Rolls back a transaction without closing it.

Bağımsız Değişkenler

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back. The transaction context will be retained, so statements executed from within this transaction will not be invalidated.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Roll back a transaction

  • « ibase_rollback_ret
  • ibase_server_info »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Roll back a transaction

ibase_rollback

(PHP 5, PHP 7 < 7.4.0)

ibase_rollback — Roll back a transaction

Açıklama

ibase_rollback(resource $link_or_trans_identifier = null): bool

Rolls back a transaction.

Bağımsız Değişkenler

link_or_trans_identifier

If called without an argument, this function rolls back the default transaction of the default link. If the argument is a connection identifier, the default transaction of the corresponding connection will be rolled back. If the argument is a transaction identifier, the corresponding transaction will be rolled back.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Request information about a database server

  • « ibase_rollback
  • ibase_service_attach »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Request information about a database server

ibase_server_info

(PHP 5, PHP 7 < 7.4.0)

ibase_server_info — Request information about a database server

Açıklama

ibase_server_info(resource $service_handle, int $action): string

Bağımsız Değişkenler

service_handle

A previously created connection to the database server.

action

A valid constant.

Dönen Değerler

Returns mixed types depending on context.

Örnekler

Örnek 1 ibase_service_attach() example

<?php
// Attach to the remote Firebird server
if (($service = ibase_service_attach('10.1.1.254/3050', 'sysdba', 'masterkey')) != FALSE) {

// Successfully attached.

// Output the info
echo "Server version: " . ibase_server_info($service, IBASE_SVC_SERVER_VERSION) . "\n";
echo "Server implementation: " . ibase_server_info($service, IBASE_SVC_IMPLEMENTATION) . "\n";
echo "Server users: " . print_r(ibase_server_info($service, IBASE_SVC_GET_USERS), true) . "\n";
echo "Server directory: " . ibase_server_info($service, IBASE_SVC_GET_ENV) . "\n";
echo "Server lock path: " . ibase_server_info($service, IBASE_SVC_GET_ENV_LOCK) . "\n";
echo "Server lib path: " . ibase_server_info($service, IBASE_SVC_GET_ENV_MSG) . "\n";
echo "Path of user db: " . ibase_server_info($service, IBASE_SVC_USER_DBPATH) . "\n";
echo "Established connections: " . print_r(ibase_server_info($service, IBASE_SVC_SVR_DB_INFO),true) . "\n";

// Detach from server (disconnect)
ibase_service_detach($service);

}
else {
// Output message on error
$conn_error = ibase_errmsg();
die($conn_error);
}
?>

Yukarıdaki örneğin çıktısı:

Server version: LI-V3.0.4.33054 Firebird 3.0
Server implementation: Firebird/Linux/AMD/Intel/x64
Server users: Array
(
    [0] => Array
        (
            [user_name] => SYSDBA
            [first_name] => Sql
            [middle_name] => Server
            [last_name] => Administrator
            [user_id] => 0
            [group_id] => 0
        )

)

Server directory: /etc/firebird/
Server lock path: /tmp/firebird/
Server lib path: /usr/lib64/firebird/lib/
Path of user db: /var/lib/firebird/secdb/security3.fdb
Established connections: Array
(
    [attachments] => 3
    [databases] => 2
    [0] => /srv/firebird/poss.fdb
    [1] => /srv/firebird/employees.fdb
)


Connect to the service manager

  • « ibase_server_info
  • ibase_service_detach »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Connect to the service manager

ibase_service_attach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_attach — Connect to the service manager

Açıklama

ibase_service_attach(string $host, string $dba_username, string $dba_password): resource|false

Bağımsız Değişkenler

host

The name or ip address of the database host. You can define the port by adding '/' and port number. If no port is specified, port 3050 will be used.

dba_username

The name of any valid user.

dba_password

The user's password.

Dönen Değerler

Returns a Interbase / Firebird link identifier on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 ibase_service_attach() example

<?php
// Attach to the remote Firebird server by ip address
if (($service = ibase_service_attach('10.1.1.199', 'sysdba', 'masterkey')) != FALSE) {

// Successfully attached.
// Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
$server_version = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

// Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
$server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

// Detach from server (disconnect)
ibase_service_detach($service);

// Output the info
echo "Server version: " . $server_version . "<br/>";
echo "Server implementation: " . $server_implementation;
}
else {
// Output message on error
$conn_error = ibase_errmsg();
die($conn_error);
}

?>

Örnek 2 ibase_service_attach() example using hostname/port syntax

<?php
// Attach to the remote Firebird server by name. Use Port 3050.
if (($service = ibase_service_attach('FB-SRV-01.contoso.local/3050', 'sysdba', 'masterkey')) != FALSE) {

// Successfully attached.
// Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
$server_version = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

// Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
$server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

// Detach from server (disconnect)
ibase_service_detach($service);

// Output the info
echo "Server version: " . $server_version . "<br/>";
echo "Server implementation: " . $server_implementation;
}
else {
// Output message on error
$conn_error = ibase_errmsg();
die($conn_error);
}

?>

Ayrıca Bakınız

  • ibase_service_detach() - Disconnect from the service manager


Disconnect from the service manager

  • « ibase_service_attach
  • ibase_set_event_handler »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Disconnect from the service manager

ibase_service_detach

(PHP 5, PHP 7 < 7.4.0)

ibase_service_detach — Disconnect from the service manager

Açıklama

ibase_service_detach(resource $service_handle): bool

Bağımsız Değişkenler

service_handle

A previously created connection to the database server.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 ibase_service_detach() example

<?php
// Attach to the remote Firebird server by ip address
if (($service = ibase_service_attach('10.1.1.199', 'sysdba', 'masterkey')) != FALSE) {

// Successfully attached.
// Fetch server version (something like 'LI-V3.0.4.33054 Firebird 3.0')
$server_version = ibase_server_info($service, IBASE_SVC_SERVER_VERSION);

// Fetch server implementation (something like 'Firebird/Linux/AMD/Intel/x64')
$server_implementation = ibase_server_info($service, IBASE_SVC_IMPLEMENTATION);

// Detach from server (disconnect)
if(ibase_service_detach($service) == FALSE) {
echo "Error on service detach.";
}
else {
echo "Successfully detached from service.";
}

}
else {
// Output message on error
$conn_error = ibase_errmsg();
die($conn_error);
}

?>


Register a callback function to be called when events are posted

  • « ibase_service_detach
  • ibase_trans »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Register a callback function to be called when events are posted

ibase_set_event_handler

(PHP 5, PHP 7 < 7.4.0)

ibase_set_event_handler — Register a callback function to be called when events are posted

Açıklama

ibase_set_event_handler(callable $event_handler, string $event_name, string ...$even_names): resource
ibase_set_event_handler(
resource $connection,
callable $event_handler,
string $event_name,
string ...$event_names
): resource

This function registers a PHP user function as event handler for the specified events.

Bağımsız Değişkenler

event_handler

The callback is called with the event name and the link resource as arguments whenever one of the specified events is posted by the database.

The callback must return false if the event handler should be canceled. Any other return value is ignored. This function accepts up to 15 event arguments.

event_name

An event name.

event_names

At most 15 events allowed.

Dönen Değerler

The return value is an event resource. This resource can be used to free the event handler using ibase_free_event_handler().

Örnekler

Örnek 1 ibase_set_event_handler() example

<?php

function event_handler($event_name, $link)
{
if ($event_name == "NEW ORDER") {
// process new order
ibase_query($link, "UPDATE orders SET status='handled'");
} else if ($event_name == "DB_SHUTDOWN") {
// free event handler
return false;
}
}

ibase_set_event_handler($link, "event_handler", "NEW_ORDER", "DB_SHUTDOWN");
?>

Ayrıca Bakınız

  • ibase_free_event_handler() - Cancels a registered event handler
  • ibase_wait_event() - Wait for an event to be posted by the database


Begin a transaction

  • « ibase_set_event_handler
  • ibase_wait_event »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Begin a transaction

ibase_trans

(PHP 5, PHP 7 < 7.4.0)

ibase_trans — Begin a transaction

Açıklama

ibase_trans(int $trans_args = ?, resource $link_identifier = ?): resource
ibase_trans(resource $link_identifier = ?, int $trans_args = ?): resource

Begins a transaction.

Bilginize:

The first call to ibase_trans() will not return the default transaction of a connection. All transactions started by ibase_trans() will be rolled back at the end of the script if they were not committed or rolled back by either ibase_commit() or ibase_rollback().

Bilginize:

This function will accept multiple trans_args and link_identifier arguments. This allows transactions over multiple database connections, which are committed using a 2-phase commit algorithm. This means you can rely on the updates to either succeed in every database, or fail in every database. It does NOT mean you can use tables from different databases in the same query!

If you use transactions over multiple databases, you will have to specify both the link_id and transaction_id in calls to ibase_query() and ibase_prepare().

Bağımsız Değişkenler

trans_args

trans_args can be a combination of IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY, IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION, IBASE_WAIT and IBASE_NOWAIT.

link_identifier

An InterBase link identifier. If omitted, the last opened link is assumed.

Dönen Değerler

Returns a transaction handle, or false on error.


Wait for an event to be posted by the database

  • « ibase_trans
  • IBM DB2 »
  • PHP Manual
  • Firebird/InterBase İşlevleri
  • Wait for an event to be posted by the database

ibase_wait_event

(PHP 5, PHP 7 < 7.4.0)

ibase_wait_event — Wait for an event to be posted by the database

Açıklama

ibase_wait_event(string $event_name, string ...$event_names): string
ibase_wait_event(resource $connection, string $event_name, string ...$event_names): string

This function suspends execution of the script until one of the specified events is posted by the database. The name of the event that was posted is returned. This function accepts up to 15 event arguments.

Bağımsız Değişkenler

event_name

The event name.

event_names

Dönen Değerler

Returns the name of the event that was posted.

Ayrıca Bakınız

  • ibase_set_event_handler() - Register a callback function to be called when events are posted
  • ibase_free_event_handler() - Cancels a registered event handler


IBM DB2, Cloudscape and Apache Derby

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • IBM DB2 İşlevleri
    • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param — Binds a PHP variable to an SQL statement parameter
    • db2_client_info — Returns an object with properties that describe the DB2 database client
    • db2_close — Closes a database connection
    • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
    • db2_columns — Returns a result set listing the columns and associated metadata for a table
    • db2_commit — Commits a transaction
    • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
    • db2_connect — Returns a connection to a database
    • db2_cursor_type — Returns the cursor type used by a statement resource
    • db2_escape_string — Used to escape certain characters
    • db2_exec — Executes an SQL statement directly
    • db2_execute — Executes a prepared SQL statement
    • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object — Returns an object with properties representing columns in the fetched row
    • db2_fetch_row — Sets the result set pointer to the next row or requested row
    • db2_field_display_size — Returns the maximum number of bytes required to display a column
    • db2_field_name — Returns the name of the column in the result set
    • db2_field_num — Returns the position of the named column in a result set
    • db2_field_precision — Returns the precision of the indicated column in a result set
    • db2_field_scale — Returns the scale of the indicated column in a result set
    • db2_field_type — Returns the data type of the indicated column in a result set
    • db2_field_width — Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys — Returns a result set listing the foreign keys for a table
    • db2_free_result — Frees resources associated with a result set
    • db2_free_stmt — Frees resources associated with the indicated statement resource
    • db2_get_option — Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read — Gets a user defined size of LOB files with each invocation
    • db2_next_result — Requests the next result set from a stored procedure
    • db2_num_fields — Returns the number of fields contained in a result set
    • db2_num_rows — Returns the number of rows affected by an SQL statement
    • db2_pclose — Closes a persistent database connection
    • db2_pconnect — Returns a persistent connection to a database
    • db2_prepare — Prepares an SQL statement to be executed
    • db2_primary_keys — Returns a result set listing primary keys for a table
    • db2_procedure_columns — Returns a result set listing stored procedure parameters
    • db2_procedures — Returns a result set listing the stored procedures registered in a database
    • db2_result — Returns a single column from a row in the result set
    • db2_rollback — Rolls back a transaction
    • db2_server_info — Returns an object with properties that describe the DB2 database server
    • db2_set_option — Set options for connection or statement resources
    • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
    • db2_statistics — Returns a result set listing the index and statistics for a table
    • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
    • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
    • db2_tables — Returns a result set listing the tables and associated metadata in a database


Giriş

These functions enable you to access IBM DB2 Universal Database, IBM Cloudscape, and Apache Derby databases using the DB2 Call Level Interface (DB2 CLI).


Gereksinimler

To connect to IBM DB2 Universal Database for Linux, UNIX, and Windows, or IBM Cloudscape, or Apache Derby, you must install an IBM DB2 Universal Database client on the same computer on which you are running PHP. The extension has been developed and tested with DB2 Version 8.2.

To connect to IBM DB2 Universal Database for z/OS or iSeries, you also require IBM DB2 Connect or the equivalent DRDA gateway software.

Requirements on Linux or Unix

The user invoking the PHP executable or SAPI must specify the DB2 instance before accessing these functions. You can set the name of the DB2 instance in php.ini using the ibm_db2.instance_name configuration option, or you can source the DB2 instance profile before invoking the PHP executable.

If you created a DB2 instance named db2inst1 in /home/db2inst1/, for example, you can add the following line to php.ini:

ibm_db2.instance_name=db2inst1
If you do not set this option in php.ini, you must issue the following command to modify your environment variables to enable access to DB2:
bash$ source /home/db2inst1/sqllib/db2profile
To enable your PHP-enabled Web server to access these functions, you must either set the ibm_db2.instance_name configuration option in php.ini, or source the DB2 instance environment in your Web server start script (typically /etc/init.d/httpd or /etc/init.d/apache).


Kurulum

To build the ibm_db2 extension, the DB2 application development header files and libraries must be installed on the system. DB2 does not install these by default, so it may be necessary to return to the DB2 installer and add this option. The DB2 Application Development Client includes the header files and is freely available for download from the IBM DB2 Universal Database » support site.

If the DB2 application development header files and libraries are added to a Linux or Unix operating system on which DB2 was already installed, the command db2iupdt -e must be issued to update the symbolic links to the header files and libraries in the DB2 instances.

ibm_db2 is a » PECL extension, so follow the instructions in PECL eklentilerinin kurulması to install the ibm_db2 extension for PHP. Issue the configure command to point to the location of the DB2 header files and libraries as follows:

bash$ ./configure --with-IBM_DB2=/path/to/DB2
The configure command defaults to /opt/IBM/db2/V8.1.

Bilginize: Note for IIS users

If the ibm_db2 driver is being used with Microsoft Internet Information Server (IIS), it may be necessary to do the following:

  • Install DB2 with extended operating system security.
  • Add the PHP binary path to the PATH system environment variable (default C:\php\).
  • Create another system environment variable equal to the path where the PHP.INI file is located (eg: PHPRC = C:\php\).
  • Add the IUSR_COMPUTERNAME to the DB2USERS group.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

ibm_db2 Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Changelog
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

ibm_db2.binmode int

This option controls the mode used for converting to and from binary data in the PHP application.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect int

This option overrides i5 db2_connect() full open and close in the PHP application. When ibm_db2.i5_all_pconnect = 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.

  • 0 db2_connect() default full open and close

  • 1 db2_connect() override to db2_pconnect() for persistent connection only

ibm_db2.i5_allow_commit int

This option controls the isolation mode used for i5 schema collections in the PHP application (see i5_commit for override).

  • 0 - commitment control is not used

  • 1 - read uncommitted, dirty reads possible.

  • 2 - read committed, dirty reads are not possible.

  • 3 - repeatable read, dirty reads and non-repeatable reads are not possible

  • 4 - serializeable, dirty reads, non-repeatable reads, and phantoms are not possible

ibm_db2.i5_dbcs_alloc int

This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.

  • 0 no expanded allocations (see i5_dbcs_alloc for override)

  • 1 use expanded allocations (see i5_dbcs_alloc for override)

ibm_db2.instance_name string

On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.

This option is ignored on Windows operating systems.

ibm_db2.i5_ignore_userid int

This option overrides i5 db2_(p)connect userid and password in the PHP application. When ibm_db2.i5_ignore_userid = 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination with ibm_db2.i5_all_pconnect = 1.

  • 0 db2_(p)connect with specified userid and password

  • 1 db2_(p)connect override connect with null userid and null password


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

The ibm_db2 extension returns connection resources, statement resources, and result set resources.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

DB2_BINARY (int)
Specifies that binary data shall be returned as is. This is the default mode.
DB2_CONVERT (int)
Specifies that binary data shall be converted to a hexadecimal encoding and returned as an ASCII string.
DB2_PASSTHRU (int)
Specifies that binary data shall be converted to a null value.
DB2_SCROLLABLE (int)
Specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.
DB2_FORWARD_ONLY (int)
Specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.
DB2_PARAM_IN (int)
Specifies the PHP variable should be bound as an IN parameter for a stored procedure.
DB2_PARAM_OUT (int)
Specifies the PHP variable should be bound as an OUT parameter for a stored procedure.
DB2_PARAM_INOUT (int)
Specifies the PHP variable should be bound as an INOUT parameter for a stored procedure.
DB2_PARAM_FILE (int)
Specifies that the column should be bound directly to a file for input.
DB2_AUTOCOMMIT_ON (int)
Specifies that autocommit should be turned on.
DB2_AUTOCOMMIT_OFF (int)
Specifies that autocommit should be turned off.
DB2_DOUBLE (int)
Specifies that the variable should be bound as a DOUBLE, FLOAT, or REAL data type.
DB2_LONG (int)
Specifies that the variable should be bound as a SMALLINT, INTEGER, or BIGINT data type.
DB2_CHAR (int)
Specifies that the variable should be bound as a CHAR or VARCHAR data type.
DB2_CASE_NATURAL (int)
Specifies that column names will be returned in their natural case.
DB2_CASE_LOWER (int)
Specifies that column names will be returned in lower case.
DB2_CASE_UPPER (int)
Specifies that column names will be returned in upper case.
DB2_DEFERRED_PREPARE_ON (int)
Specifies that deferred prepare should be turned on for the specified statement resource.
DB2_DEFERRED_PREPARE_OFF (int)
Specifies that deferred prepare should be turned off for the specified statement resource.


IBM DB2 İşlevleri

İçindekiler

  • db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection
  • db2_bind_param — Binds a PHP variable to an SQL statement parameter
  • db2_client_info — Returns an object with properties that describe the DB2 database client
  • db2_close — Closes a database connection
  • db2_column_privileges — Returns a result set listing the columns and associated privileges for a table
  • db2_columns — Returns a result set listing the columns and associated metadata for a table
  • db2_commit — Commits a transaction
  • db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg — Returns the last connection error message and SQLCODE value
  • db2_connect — Returns a connection to a database
  • db2_cursor_type — Returns the cursor type used by a statement resource
  • db2_escape_string — Used to escape certain characters
  • db2_exec — Executes an SQL statement directly
  • db2_execute — Executes a prepared SQL statement
  • db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object — Returns an object with properties representing columns in the fetched row
  • db2_fetch_row — Sets the result set pointer to the next row or requested row
  • db2_field_display_size — Returns the maximum number of bytes required to display a column
  • db2_field_name — Returns the name of the column in the result set
  • db2_field_num — Returns the position of the named column in a result set
  • db2_field_precision — Returns the precision of the indicated column in a result set
  • db2_field_scale — Returns the scale of the indicated column in a result set
  • db2_field_type — Returns the data type of the indicated column in a result set
  • db2_field_width — Returns the width of the current value of the indicated column in a result set
  • db2_foreign_keys — Returns a result set listing the foreign keys for a table
  • db2_free_result — Frees resources associated with a result set
  • db2_free_stmt — Frees resources associated with the indicated statement resource
  • db2_get_option — Retrieves an option value for a statement resource or a connection resource
  • db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection
  • db2_lob_read — Gets a user defined size of LOB files with each invocation
  • db2_next_result — Requests the next result set from a stored procedure
  • db2_num_fields — Returns the number of fields contained in a result set
  • db2_num_rows — Returns the number of rows affected by an SQL statement
  • db2_pclose — Closes a persistent database connection
  • db2_pconnect — Returns a persistent connection to a database
  • db2_prepare — Prepares an SQL statement to be executed
  • db2_primary_keys — Returns a result set listing primary keys for a table
  • db2_procedure_columns — Returns a result set listing stored procedure parameters
  • db2_procedures — Returns a result set listing the stored procedures registered in a database
  • db2_result — Returns a single column from a row in the result set
  • db2_rollback — Rolls back a transaction
  • db2_server_info — Returns an object with properties that describe the DB2 database server
  • db2_set_option — Set options for connection or statement resources
  • db2_special_columns — Returns a result set listing the unique row identifier columns for a table
  • db2_statistics — Returns a result set listing the index and statistics for a table
  • db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg — Returns a string containing the last SQL statement error message
  • db2_table_privileges — Returns a result set listing the tables and associated privileges in a database
  • db2_tables — Returns a result set listing the tables and associated metadata in a database


Returns or sets the AUTOCOMMIT state for a database connection

  • « IBM DB2 İşlevleri
  • db2_bind_param »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns or sets the AUTOCOMMIT state for a database connection

db2_autocommit

(PECL ibm_db2 >= 1.0.0)

db2_autocommit — Returns or sets the AUTOCOMMIT state for a database connection

Açıklama

db2_autocommit(resource $connection, int $value = ?): int|bool

Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

Bağımsız Değişkenler

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

value

One of the following constants:

DB2_AUTOCOMMIT_OFF

Turns AUTOCOMMIT off.

DB2_AUTOCOMMIT_ON

Turns AUTOCOMMIT on.

Dönen Değerler

When db2_autocommit() receives only the connection parameter, it returns the current state of AUTOCOMMIT for the requested connection as an integer value. A value of DB2_AUTOCOMMIT_OFF indicates that AUTOCOMMIT is off, while a value of DB2_AUTOCOMMIT_ON indicates that AUTOCOMMIT is on.

When db2_autocommit() receives both the connection parameter and autocommit parameter, it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding state. Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Retrieving the AUTOCOMMIT value for a connection

In the following example, a connection which has been created with AUTOCOMMIT turned off is tested with the db2_autocommit() function.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);
$ac = db2_autocommit($conn);
if ($ac == DB2_AUTOCOMMIT_OFF) {
print "$ac -- AUTOCOMMIT is off.";
} else {
print "$ac -- AUTOCOMMIT is on.";
}
?>

Yukarıdaki örneğin çıktısı:

0 -- AUTOCOMMIT is off.

Örnek 2 Setting the AUTOCOMMIT value for a connection

In the following example, a connection which was initially created with AUTOCOMMIT turned off has its behavior changed to turn AUTOCOMMIT on.

<?php
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);
$conn = db2_connect($database, $user, $password, $options);

// Turn AUTOCOMMIT on
$rc = db2_autocommit($conn, DB2_AUTOCOMMIT_ON);
if ($rc) {
print "Turning AUTOCOMMIT on succeeded.\n";
}

// Check AUTOCOMMIT state
$ac = db2_autocommit($conn);
if ($ac == DB2_AUTOCOMMIT_OFF) {
print "$ac -- AUTOCOMMIT is off.";
} else {
print "$ac -- AUTOCOMMIT is on.";
}
?>

Yukarıdaki örneğin çıktısı:

Turning AUTOCOMMIT on succeeded.
1 -- AUTOCOMMIT is on.

Ayrıca Bakınız

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database


Binds a PHP variable to an SQL statement parameter

  • « db2_autocommit
  • db2_client_info »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Binds a PHP variable to an SQL statement parameter

db2_bind_param

(PECL ibm_db2 >= 1.0.0)

db2_bind_param — Binds a PHP variable to an SQL statement parameter

Açıklama

db2_bind_param(
resource $stmt,
int $parameter_number,
string $variable_name,
int $parameter_type = DB2_PARAM_IN,
int $data_type = 0,
int $precision = -1,
int $scale = 0
): bool

Binds a PHP variable to an SQL statement parameter in a statement resource returned by db2_prepare(). This function gives you more control over the parameter type, data type, precision, and scale for the parameter than simply passing the variable as part of the optional input array to db2_execute().

Bağımsız Değişkenler

stmt

A prepared statement returned from db2_prepare().

parameter_number

Specifies the 1-indexed position of the parameter in the prepared statement.

variable_name

A string specifying the name of the PHP variable to bind to the parameter specified by parameter_number.

parameter_type

A constant specifying whether the PHP variable should be bound to the SQL parameter as an input parameter (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a parameter that accepts input and returns output (DB2_PARAM_INOUT). To avoid memory overhead, you can also specify DB2_PARAM_FILE to bind the PHP variable to the name of a file that contains large object (BLOB, CLOB, or DBCLOB) data.

data_type

A constant specifying the SQL data type that the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR, DB2_DOUBLE, or DB2_LONG .

precision

Specifies the precision with which the variable should be bound to the database. This parameter can also be used for retrieving XML output values from stored procedures. A non-negative value specifies the maximum size of the XML data that will be retrieved from the database. If this parameter is not used, a default of 1MB will be assumed for retrieving the XML output value from the stored procedure.

scale

Specifies the scale with which the variable should be bound to the database.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Binding PHP variables to a prepared statement

The SQL statement in the following example uses two input parameters in the WHERE clause. We call db2_bind_param() to bind two PHP variables to the corresponding SQL parameters. Notice that the PHP variables do not have to be declared or assigned before the call to db2_bind_param(); in the example, $lower_limit is assigned a value before the call to db2_bind_param(), but $upper_limit is assigned a value after the call to db2_bind_param(). The variables must be bound and, for parameters that accept input, must have any value assigned, before calling db2_execute().

<?php

$sql = 'SELECT name, breed, weight FROM animals
WHERE weight > ? AND weight < ?';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

// We can declare the variable before calling db2_bind_param()
$lower_limit = 1;

db2_bind_param($stmt, 1, "lower_limit", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "upper_limit", DB2_PARAM_IN);

// We can also declare the variable after calling db2_bind_param()
$upper_limit = 15.0;

if (db2_execute($stmt)) {
while ($row = db2_fetch_array($stmt)) {
print "{$row[0]}, {$row[1]}, {$row[2]}\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

Pook, cat, 3.2
Rickety Ride, goat, 9.7
Peaches, dog, 12.3

Örnek 2 Calling stored procedures with IN and OUT parameters

The stored procedure match_animal in the following example accepts three different parameters:

  1. an input (IN) parameter that accepts the name of the first animal as input

  2. an input-output (INOUT) parameter that accepts the name of the second animal as input and returns the string TRUE if an animal in the database matches that name

  3. an output (OUT) parameter that returns the sum of the weight of the two identified animals

In addition, the stored procedure returns a result set consisting of the animals listed in alphabetic order starting at the animal corresponding to the input value of the first parameter and ending at the animal corresponding to the input value of the second parameter.

<?php

$sql = 'CALL match_animal(?, ?, ?)';
$conn = db2_connect($database, $user, $password);
$stmt = db2_prepare($conn, $sql);

$name = "Peaches";
$second_name = "Rickety Ride";
$weight = 0;

db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_bind_param($stmt, 2, "second_name", DB2_PARAM_INOUT);
db2_bind_param($stmt, 3, "weight", DB2_PARAM_OUT);

print "Values of bound parameters _before_ CALL:\n";
print " 1: {$name} 2: {$second_name} 3: {$weight}\n\n";

if (db2_execute($stmt)) {
print "Values of bound parameters _after_ CALL:\n";
print " 1: {$name} 2: {$second_name} 3: {$weight}\n\n";

print "Results:\n";
while ($row = db2_fetch_array($stmt)) {
print " {$row[0]}, {$row[1]}, {$row[2]}\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

Values of bound parameters _before_ CALL:
  1: Peaches 2: Rickety Ride 3: 0

Values of bound parameters _after_ CALL:
  1: Peaches 2: TRUE 3: 22

Results:
  Peaches, dog, 12.3
  Pook, cat, 3.2
  Rickety Ride, goat, 9.7

Örnek 3 Inserting a binary large object (BLOB) directly from a file

The data for large objects are typically stored in files, such as XML documents or audio files. Rather than reading an entire file into a PHP variable, and then binding that PHP variable into an SQL statement, you can avoid some memory overhead by binding the file directly to the input parameter of your SQL statement. The following example demonstrates how to bind a file directly into a BLOB column.

<?php
$stmt = db2_prepare($conn, "INSERT INTO animal_pictures(picture) VALUES (?)");

$picture = "/opt/albums/spook/grooming.jpg";
$rc = db2_bind_param($stmt, 1, "picture", DB2_PARAM_FILE);
$rc = db2_execute($stmt);
?>

Ayrıca Bakınız

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed


Returns an object with properties that describe the DB2 database client

  • « db2_bind_param
  • db2_close »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an object with properties that describe the DB2 database client

db2_client_info

(PECL ibm_db2 >= 1.1.1)

db2_client_info — Returns an object with properties that describe the DB2 database client

Açıklama

db2_client_info(resource $connection): stdClass|false

This function returns an object with read-only properties that return information about the DB2 database client. The following table lists the DB2 client properties:

DB2 client properties
Property name | Return type | Description
APPL_CODEPAGE | int | The application code page.
CONN_CODEPAGE | int | The code page for the current connection.
DATA_SOURCE_NAME | string | The data source name (DSN) used to create the current connection to the database.
DRIVER_NAME | string | The name of the library that implements the DB2 Call Level Interface (CLI) specification.
DRIVER_ODBC_VER | string | The version of ODBC that the DB2 client supports. This returns a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always returns "03.51".
DRIVER_VER | string | The version of the client, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
ODBC_SQL_CONFORMANCE string

The level of ODBC SQL grammar supported by the client:

MINIMUM

Supports the minimum ODBC SQL grammar.

CORE

Supports the core ODBC SQL grammar.

EXTENDED

Supports extended ODBC SQL grammar.

ODBC_VER | string | The version of ODBC that the ODBC driver manager supports. This returns a string "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The DB2 client always returns "03.01.0000".

Bağımsız Değişkenler

connection

Specifies an active DB2 client connection.

Dönen Değerler

Returns an object on a successful call, başarısızlık durumunda false döner

Örnekler

Örnek 1 A db2_client_info() example

To retrieve information about the client, you must pass a valid database connection resource to db2_client_info().

<?php
$conn = db2_connect( 'SAMPLE', 'db2inst1', 'ibmdb2' );
$client = db2_client_info( $conn );

if ($client) {
echo "DRIVER_NAME: "; var_dump( $client->DRIVER_NAME );
echo "DRIVER_VER: "; var_dump( $client->DRIVER_VER );
echo "DATA_SOURCE_NAME: "; var_dump( $client->DATA_SOURCE_NAME );
echo "DRIVER_ODBC_VER: "; var_dump( $client->DRIVER_ODBC_VER );
echo "ODBC_VER: "; var_dump( $client->ODBC_VER );
echo "ODBC_SQL_CONFORMANCE: "; var_dump( $client->ODBC_SQL_CONFORMANCE );
echo "APPL_CODEPAGE: "; var_dump( $client->APPL_CODEPAGE );
echo "CONN_CODEPAGE: "; var_dump( $client->CONN_CODEPAGE );
}
else {
echo "Error retrieving client information.
Perhaps your database connection was invalid.";
}
db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

DRIVER_NAME: string(8) "libdb2.a"
DRIVER_VER: string(10) "08.02.0001"
DATA_SOURCE_NAME: string(6) "SAMPLE"
DRIVER_ODBC_VER: string(5) "03.51"
ODBC_VER: string(10) "03.01.0000"
ODBC_SQL_CONFORMANCE: string(8) "EXTENDED"
APPL_CODEPAGE: int(819)
CONN_CODEPAGE: int(819)

Ayrıca Bakınız

  • db2_server_info() - Returns an object with properties that describe the DB2 database server


Closes a database connection

  • « db2_client_info
  • db2_column_privileges »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Closes a database connection

db2_close

(PECL ibm_db2 >= 1.0.0)

db2_close — Closes a database connection

Açıklama

db2_close(resource $connection): bool

This function closes a DB2 client connection created with db2_connect() and returns the corresponding resources to the database server.

If you attempt to close a persistent DB2 client connection created with db2_pconnect(), the close request is ignored and the persistent DB2 client connection remains available for the next caller.

Bağımsız Değişkenler

connection

Specifies an active DB2 client connection.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Closing a connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2, Cloudscape, or Apache Derby database.

<?php
$conn = db2_connect('SAMPLE', 'db2inst1', 'ibmdb2');
$rc = db2_close($conn);
if ($rc) {
echo "Connection was successfully closed.";
}
?>

Yukarıdaki örneğin çıktısı:

Connection was successfully closed.

Ayrıca Bakınız

  • db2_connect() - Returns a connection to a database
  • db2_pclose() - Closes a persistent database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns a result set listing the columns and associated privileges for a table

  • « db2_close
  • db2_columns »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the columns and associated privileges for a table

db2_column_privileges

(PECL ibm_db2 >= 1.0.0)

db2_column_privileges — Returns a result set listing the columns and associated privileges for a table

Açıklama

db2_column_privileges(
resource $connection,
?string $qualifier = null,
?string $schema = null,
?string $table_name = null,
?string $column_name = null
): resource

Returns a result set listing the columns and associated privileges for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. To match all schemas, pass null or an empty string.

table_name

The name of the table or view. To match all tables in the database, pass null or an empty string.

column_name

The name of the column. To match all columns in the table, pass null or an empty string.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the column privileges for columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege for the column.
IS_GRANTABLE | Whether the GRANTEE is permitted to grant this privilege to other users.

Ayrıca Bakınız

  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the columns and associated metadata for a table

  • « db2_column_privileges
  • db2_commit »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the columns and associated metadata for a table

db2_columns

(PECL ibm_db2 >= 1.0.0)

db2_columns — Returns a result set listing the columns and associated metadata for a table

Açıklama

db2_columns(
resource $connection,
?string $qualifier = null,
?string $schema = null,
?string $table_name = null,
?string $column_name = null
): resource

Returns a result set listing the columns and associated metadata for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. To match all schemas, pass '%'.

table_name

The name of the table or view. To match all tables in the database, pass null or an empty string.

column_name

The name of the column. To match all columns in the table, pass null or an empty string.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the columns matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema.
TABLE_NAME | Name of the table or view.
COLUMN_NAME | Name of the column.
DATA_TYPE | The SQL data type for the column represented as an integer value.
TYPE_NAME | A string representing the data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the column is nullable or not.
REMARKS | Description of the column.
COLUMN_DEF | Default value for the column.
SQL_DATA_TYPE | An integer value representing the size of the column.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or null for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type column, which matches COLUMN_SIZE for single-byte character set data, or null for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the column in the table.
IS_NULLABLE | A string value where 'YES' means that the column is nullable and 'NO' means that the column is not nullable.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Commits a transaction

  • « db2_columns
  • db2_conn_error »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Commits a transaction

db2_commit

(PECL ibm_db2 >= 1.0.0)

db2_commit — Commits a transaction

Açıklama

db2_commit(resource $connection): bool

Commits an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_commit() is not necessary unless AUTOCOMMIT has been turned off for the connection resource.

Bağımsız Değişkenler

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_rollback() - Rolls back a transaction


Returns a string containing the SQLSTATE returned by the last connection attempt

  • « db2_commit
  • db2_conn_errormsg »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a string containing the SQLSTATE returned by the last connection attempt

db2_conn_error

(PECL ibm_db2 >= 1.0.0)

db2_conn_error — Returns a string containing the SQLSTATE returned by the last connection attempt

Açıklama

db2_conn_error(?resource $connection = null): string

db2_conn_error() returns an SQLSTATE value representing the reason the last attempt to connect to a database failed. As db2_connect() returns false in the event of a failed connection attempt, you do not pass any parameters to db2_conn_error() to retrieve the SQLSTATE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the SQLSTATE value for a specific connection.

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_conn_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Bağımsız Değişkenler

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Dönen Değerler

Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty string if there is no error associated with the last connection attempt.

Örnekler

Örnek 1 Retrieving an SQLSTATE value for a failed connection attempt

The following example demonstrates how to return an SQLSTATE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
print "SQLSTATE value: " . db2_conn_error();
}
?>

Yukarıdaki örneğin çıktısı:

SQLSTATE value: 08001

Ayrıca Bakınız

  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns the last connection error message and SQLCODE value

  • « db2_conn_error
  • db2_connect »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the last connection error message and SQLCODE value

db2_conn_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_conn_errormsg — Returns the last connection error message and SQLCODE value

Açıklama

db2_conn_errormsg(?resource $connection = null): string

db2_conn_errormsg() returns an error message and SQLCODE value representing the reason the last database connection attempt failed. As db2_connect() returns false in the event of a failed connection attempt, do not pass any parameters to db2_conn_errormsg() to retrieve the associated error message and SQLCODE value.

If, however, the connection was successful but becomes invalid over time, you can pass the connection parameter to retrieve the associated error message and SQLCODE value for a specific connection.

Bağımsız Değişkenler

connection

A connection resource associated with a connection that initially succeeded, but which over time became invalid.

Dönen Değerler

Returns a string containing the error message and SQLCODE value resulting from a failed connection attempt. If there is no error associated with the last connection attempt, db2_conn_errormsg() returns an empty string.

Örnekler

Örnek 1 Retrieving the error message returned by a failed connection attempt

The following example demonstrates how to return an error message and SQLCODE value after deliberately passing invalid parameters to db2_connect().

<?php
$conn = db2_connect('badname', 'baduser', 'badpassword');
if (!$conn) {
print db2_conn_errormsg();
}
?>

Yukarıdaki örneğin çıktısı:

[IBM][CLI Driver] SQL1013N  The database alias name
or database name "BADNAME" could not be found.  SQLSTATE=42705
 SQLCODE=-1013

Ayrıca Bakınız

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_connect() - Returns a connection to a database
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a connection to a database

  • « db2_conn_errormsg
  • db2_cursor_type »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a connection to a database

db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Returns a connection to a database

Açıklama

db2_connect(
string $database,
?string $username,
?string $password,
array $options = []
): resource|false

Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

Bağımsız Değişkenler

database

For a cataloged connection to a database, database represents the database alias in the DB2 client catalog.

For an uncataloged connection to a database, database represents a complete connection string in the following format:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password;
where the parameters represent the following values:
database

The name of the database.

hostname

The hostname or IP address of the database server.

port

The TCP/IP port on which the database is listening for requests.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

username

The username with which you are connecting to the database.

For uncataloged connections, you must pass a null value or empty string.

password

The password with which you are connecting to the database.

For uncataloged connections, you must pass a null value or empty string.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_connect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_connect() for the connection handle.

Bilginize:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Note: php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Bilginize:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Dönen Değerler

Returns a connection handle resource if the connection attempt is successful. If the connection attempt fails, db2_connect() returns false.

Örnekler

Örnek 1 Creating a cataloged connection

Cataloged connections require you to have previously cataloged the target database through the DB2 Command Line Processor (CLP) or DB2 Configuration Assistant.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$conn = db2_connect($database, $user, $password);

if ($conn) {
echo "Connection succeeded.";
db2_close($conn);
}
else {
echo "Connection failed.";
}
?>

Yukarıdaki örneğin çıktısı:

Connection succeeded.

Örnek 2 Creating an uncataloged connection

An uncataloged connection enables you to dynamically connect to a database.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$hostname = 'localhost';
$port = 50000;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .
"HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string, '', '');

if ($conn) {
echo "Connection succeeded.";
db2_close($conn);
}
else {
echo "Connection failed.";
}
?>

Yukarıdaki örneğin çıktısı:

Connection succeeded.

Örnek 3 Creating a connection with autocommit off by default

Passing an array of options to db2_connect() enables you to modify the default behavior of the connection handle.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF);

$conn = db2_connect($database, $user, $password, $options);

if ($conn) {
echo "Connection succeeded.\n";
if (db2_autocommit($conn)) {
echo "Autocommit is on.\n";
}
else {
echo "Autocommit is off.\n";
}
db2_close($conn);
}
else {
echo "Connection failed.";
}
?>

Yukarıdaki örneğin çıktısı:

Connection succeeded.
Autocommit is off.

Örnek 4 i5/OS best performance

To achieve best performance for your i5/OS ibm_db2 1.5.1 PHP application use the default host, userid, and password for your db2_connect().

<?php
$library = "ADC";
$i5 = db2_connect("", "", "", array("i5_lib"=>"qsys2"));
$result = db2_exec($i5,
"select * from systables where table_schema = '$library'");
while ($row = db2_fetch_both($result)) {
echo $row['TABLE_NAME']."</br>";
}
db2_close($i5);
?>

Yukarıdaki örneğin çıktısı:

ANIMALS
NAMES
PICTURES

Örnek 5 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_connect($dsn, "", "", $options);
if($tc_conn) {
echo "Explicit trusted connection succeeded.\n";

if(db2_get_option($tc_conn, "trustedcontext")) {
$userBefore = db2_get_option($tc_conn, "trusted_user");

//Do some work as user 1.

//Switching to trusted user.
$parameters = array("trusted_user" => $tc_user,
"trusted_password" => $tcuser_pass);
$res = db2_set_option ($tc_conn, $parameters, 1);

$userAfter = db2_get_option($tc_conn, "trusted_user");
//Do more work as trusted user.

if($userBefore != $userAfter) {
echo "User has been switched." . "\n";
}
}

db2_close($tc_conn);
}
else {
echo "Explicit trusted connection failed.\n";
}
?>

Yukarıdaki örneğin çıktısı:

Explicit trusted connection succeeded.
User has been switched.

Ayrıca Bakınız

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns the cursor type used by a statement resource

  • « db2_connect
  • db2_escape_string »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the cursor type used by a statement resource

db2_cursor_type

(PECL ibm_db2 >= 1.0.0)

db2_cursor_type — Returns the cursor type used by a statement resource

Açıklama

db2_cursor_type(resource $stmt): int

Returns the cursor type used by a statement resource. Use this to determine if you are working with a forward-only cursor or scrollable cursor.

Bağımsız Değişkenler

stmt

A valid statement resource.

Dönen Değerler

Returns either DB2_FORWARD_ONLY if the statement resource uses a forward-only cursor or DB2_SCROLLABLE if the statement resource uses a scrollable cursor.

Ayrıca Bakınız

  • db2_prepare() - Prepares an SQL statement to be executed


Used to escape certain characters

  • « db2_cursor_type
  • db2_exec »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Used to escape certain characters

db2_escape_string

(PECL ibm_db2 >= 1.6.0)

db2_escape_string — Used to escape certain characters

Açıklama

db2_escape_string(string $string_literal): string

Prepends backslashes to special characters in the string argument.

Bağımsız Değişkenler

string_literal

The string that contains special characters that need to be modified. Characters that are prepended with a backslash are \x00, \n, \r, \, ', " and \x1a.

Dönen Değerler

Returns string_literal with the special characters noted above prepended with backslashes.

Örnekler

Örnek 1 A db2_escape_string() example

Result of using the db2_escape_string() function

<?php

$conn = db2_connect($database, $user, $password);

if ($conn) {
$str[0] = "All characters: \x00 , \n , \r , \ , ' , \" , \x1a .";
$str[1] = "Backslash (\). Single quote ('). Double quote (\")";
$str[2] = "The NULL character \0 must be quoted as well";
$str[3] = "Intersting characters: \x1a , \x00 .";
$str[4] = "Nothing to quote";
$str[5] = 200676;
$str[6] = "";

foreach( $str as $string ) {
echo "db2_escape_string: " . db2_escape_string($string). "\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

db2_escape_string: All characters: \0 , \n , \r , \\ , \' , \" , \Z .
db2_escape_string: Backslash (\\). Single quote (\'). Double quote (\")
db2_escape_string: The NULL character \0 must be quoted as well
db2_escape_string: Intersting characters: \Z , \0 .
db2_escape_string: Nothing to quote
db2_escape_string: 200676
db2_escape_string:

Ayrıca Bakınız

  • db2_prepare() - Prepares an SQL statement to be executed


Executes an SQL statement directly

  • « db2_escape_string
  • db2_execute »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Executes an SQL statement directly

db2_exec

(PECL ibm_db2 >= 1.0.0)

db2_exec — Executes an SQL statement directly

Açıklama

db2_exec(resource $connection, string $statement, array $options = []): resource|false

Executes an SQL statement directly.

If you plan to interpolate PHP variables into the SQL statement, understand that this is one of the more common security exposures. Consider calling db2_prepare() to prepare an SQL statement with parameter markers for input values. Then you can call db2_execute() to pass in the input values and avoid SQL injection attacks.

If you plan to repeatedly issue the same SQL statement with different parameters, consider calling db2_prepare() and db2_execute() to enable the database server to reuse its access plan and increase the efficiency of your database access.

Bağımsız Değişkenler

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement. The statement cannot contain any parameter markers.

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Dönen Değerler

Returns a statement resource if the SQL statement was issued successfully, or false if the database failed to execute the SQL statement.

Örnekler

Örnek 1 Creating a table with db2_exec()

The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table.

<?php
$conn = db2_connect($database, $user, $password);

// Create the test table
$create = 'CREATE TABLE animals (id INTEGER, breed VARCHAR(32),
name CHAR(16), weight DECIMAL(7,2))';
$result = db2_exec($conn, $create);
if ($result) {
print "Successfully created the table.\n";
}

// Populate the test table
$animals = array(
array(0, 'cat', 'Pook', 3.2),
array(1, 'dog', 'Peaches', 12.3),
array(2, 'horse', 'Smarty', 350.0),
array(3, 'gold fish', 'Bubbles', 0.1),
array(4, 'budgerigar', 'Gizmo', 0.2),
array(5, 'goat', 'Rickety Ride', 9.7),
array(6, 'llama', 'Sweater', 150)
);

foreach ($animals as $animal) {
$rc = db2_exec($conn, "INSERT INTO animals (id, breed, name, weight)
VALUES ({$animal[0]}, '{$animal[1]}', '{$animal[2]}', {$animal[3]})");
if ($rc) {
print "Insert... ";
}
}
?>

Yukarıdaki örneğin çıktısı:

Successfully created the table.
Insert... Insert... Insert... Insert... Insert... Insert... Insert...

Örnek 2 Executing a SELECT statement with a scrollable cursor

The following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec().

<?php
$conn = db2_connect($database, $user, $password);
$sql = "SELECT name FROM animals
WHERE weight < 10.0
ORDER BY name";
if ($conn) {
require_once 'prepare.inc';
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_array($stmt)) {
print "$row[0]\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

Bubbles
Gizmo
Pook
Rickety Ride

Örnek 3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" VARCHAR (50) PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) AS T
WHERE NAME = \'Kathy Smith\'
';
$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
printf("$row->CID $row->NAME $row->PHONE\n");
}
db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Örnek 4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM" BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
B.POID = C.PONUM AND
A.NAME = \'Kathy Smith\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_object($stmt)){
printf("$row->CID $row->NAME $row->PHONE $row->PONUM $row->STATUS\n");
}

db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

1001     Kathy Smith     905-555-7258     5002     Shipped

Örnek 5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
declare boundary-space strip;
declare default element namespace "http://posample.org";
<promoList> {
for $prod in $doc/product
where $prod/description/price < 10.00
order by $prod/description/price ascending
return(
<promoitem> {
$prod,
<startdate> {$start} </startdate>,
<enddate> {$end} </enddate>,
<promoprice> {$promo} </promoprice>
} </promoitem>
)
} </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = \'100-100-01\'
';

$stmt = db2_exec($conn, $query);

while($row = db2_fetch_array($stmt)){
printf("$row[0]\n");
}
db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ayrıca Bakınız

  • db2_execute() - Executes a prepared SQL statement
  • db2_prepare() - Prepares an SQL statement to be executed


Executes a prepared SQL statement

  • « db2_exec
  • db2_fetch_array »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Executes a prepared SQL statement

db2_execute

(PECL ibm_db2 >= 1.0.0)

db2_execute — Executes a prepared SQL statement

Açıklama

db2_execute(resource $stmt, array $parameters = []): bool

db2_execute() executes an SQL statement that was prepared by db2_prepare().

If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored procedure that returns one or more result sets, you can retrieve a row as an array from the stmt resource using db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array(). Alternatively, you can use db2_fetch_row() to move the result set pointer to the next row and fetch a column at a time from that row with db2_result().

Refer to db2_prepare() for a brief discussion of the advantages of using db2_prepare() and db2_execute() rather than db2_exec().

Bağımsız Değişkenler

stmt

A prepared statement returned from db2_prepare().

parameters

An array of input parameters matching any parameter markers contained in the prepared statement.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$pet = array(0, 'cat', 'Pook', 3.2);

$insert = 'INSERT INTO animals (id, breed, name, weight)
VALUES (?, ?, ?, ?)';

$stmt = db2_prepare($conn, $insert);
if ($stmt) {
$result = db2_execute($stmt, $pet);
if ($result) {
print "Successfully added new pet.";
}
}
?>

Yukarıdaki örneğin çıktısı:

Successfully added new pet.

Örnek 2 Calling a stored procedure with an OUT parameter

The following example prepares a CALL statement that accepts one parameter marker representing an OUT parameter, binds the PHP variable $my_pets to the parameter using db2_bind_param(), then issues db2_execute() to execute the CALL statement. After the CALL to the stored procedure has been made, the value of $num_pets changes to reflect the value returned by the stored procedure for that OUT parameter.

<?php
$num_pets = 0;
$res = db2_prepare($conn, "CALL count_my_pets(?)");
$rc = db2_bind_param($res, 1, "num_pets", DB2_PARAM_OUT);
$rc = db2_execute($res);
print "I have $num_pets pets!";
?>

Yukarıdaki örneğin çıktısı:

I have 7 pets!

Örnek 3 Returning XML data as an SQL ResultSet

The following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in an SQL ResultSet format that most users are familiar with.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = 'SELECT * FROM XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" VARCHAR (50) PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) AS T
WHERE NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_execute($stmt);

while($row = db2_fetch_object($stmt)){
printf("$row->CID $row->NAME $row->PHONE\n");
}
}
db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

1000     Kathy Smith     416-555-1358
1001     Kathy Smith     905-555-7258

Örnek 4 Performing a "JOIN" with XML data

The following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns an SQL ResultSet with information regarding shipping status for the customer.

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT A.CID, A.NAME, A.PHONE, C.PONUM, C.STATUS
FROM
XMLTABLE(
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("CUSTOMER.INFO")/customerinfo\'
COLUMNS
"CID" BIGINT PATH \'@Cid\',
"NAME" VARCHAR (50) PATH \'name\',
"PHONE" VARCHAR (50) PATH \'phone [ @type = "work"]\'
) as A,
PURCHASEORDER AS B,
XMLTABLE (
XMLNAMESPACES (DEFAULT \'http://posample.org\'),
\'db2-fn:xmlcolumn("PURCHASEORDER.PORDER")/PurchaseOrder\'
COLUMNS
"PONUM" BIGINT PATH \'@PoNum\',
"STATUS" VARCHAR (50) PATH \'@Status\'
) as C
WHERE A.CID = B.CUSTID AND
B.POID = C.PONUM AND
A.NAME = ?
';

$stmt = db2_prepare($conn, $query);

$name = 'Kathy Smith';

if ($stmt) {
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
db2_execute($stmt);

while($row = db2_fetch_object($stmt)){
printf("$row->CID $row->NAME $row->PHONE $row->PONUM $row->STATUS\n");
}
}

db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

1001     Kathy Smith     905-555-7258     5002     Shipped

Örnek 5 Returning SQL data as part of a larger XML document

The following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data).

<?php

$conn = db2_connect("SAMPLE", "db2inst1", "ibmdb2");

$query = '
SELECT
XMLSERIALIZE(
XMLQUERY(\'
declare boundary-space strip;
declare default element namespace "http://posample.org";
<promoList> {
for $prod in $doc/product
where $prod/description/price < 10.00
order by $prod/description/price ascending
return(
<promoitem> {
$prod,
<startdate> {$start} </startdate>,
<enddate> {$end} </enddate>,
<promoprice> {$promo} </promoprice>
} </promoitem>
)
} </promoList>
\' passing by ref DESCRIPTION AS "doc",
PROMOSTART as "start",
PROMOEND as "end",
PROMOPRICE as "promo"
RETURNING SEQUENCE)
AS CLOB (32000))
AS NEW_PRODUCT_INFO
FROM PRODUCT
WHERE PID = ?
';

$stmt = db2_prepare($conn, $query);

$pid = "100-100-01";

if ($stmt) {
db2_bind_param($stmt, 1, "pid", DB2_PARAM_IN);
db2_execute($stmt);

while($row = db2_fetch_array($stmt)){
printf("$row[0]\n");
}
}

db2_close($conn);

?>

Yukarıdaki örneğin çıktısı:

<promoList xmlns="http://posample.org">
    <promoitem>
    <product pid="100-100-01">
        <description>
            <name>Snow Shovel, Basic 22 inch</name>
            <details>Basic Snow Shovel, 22 inches wide, straight handle with D-Grip</details>
            <price>9.99</price>
            <weight>1 kg</weight>
        </description>
    </product>
    <startdate>2004-11-19</startdate>
    <enddate>2004-12-19</enddate>
    <promoprice>7.25</promoprice>
    </promoitem>
</promoList>

Ayrıca Bakınız

  • db2_exec() - Executes an SQL statement directly
  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by column position, representing a row in a result set

  • « db2_execute
  • db2_fetch_assoc »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an array, indexed by column position, representing a row in a result set

db2_fetch_array

(PECL ibm_db2 >= 1.0.1)

db2_fetch_array — Returns an array, indexed by column position, representing a row in a result set

Açıklama

db2_fetch_array(resource $stmt, int $row_number = -1): array|false

Returns an array, indexed by column position, representing a row in a result set. The columns are 0-indexed.

Bağımsız Değişkenler

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Dönen Değerler

Returns a 0-indexed array with column values indexed by the column position representing the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Örnekler

Örnek 1 Iterating through a forward-only cursor

If you call db2_fetch_array() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_array($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Örnek 2 Retrieving specific rows with db2_fetch_array() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_array() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_array($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row[1], $row[2], $row[3]);
$i = $i + 2;
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ayrıca Bakınız

  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by column name, representing a row in a result set

  • « db2_fetch_array
  • db2_fetch_both »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an array, indexed by column name, representing a row in a result set

db2_fetch_assoc

(PECL ibm_db2 >= 1.0.0)

db2_fetch_assoc — Returns an array, indexed by column name, representing a row in a result set

Açıklama

db2_fetch_assoc(resource $stmt, int $row_number = -1): array|false

Returns an array, indexed by column name, representing a row in a result set.

Bağımsız Değişkenler

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Dönen Değerler

Returns an associative array with column values indexed by the column name representing the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Örnekler

Örnek 1 Iterating through a forward-only cursor

If you call db2_fetch_assoc() without a specific row number, it automatically retrieves the next row in the result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_assoc($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Örnek 2 Retrieving specific rows with db2_fetch_assoc() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_assoc() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_assoc($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row['NAME'], $row['BREED'], $row['WEIGHT']);
$i = $i + 2;
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ayrıca Bakınız

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an array, indexed by both column name and position, representing a row in a result set

  • « db2_fetch_assoc
  • db2_fetch_object »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an array, indexed by both column name and position, representing a row in a result set

db2_fetch_both

(PECL ibm_db2 >= 1.0.0)

db2_fetch_both — Returns an array, indexed by both column name and position, representing a row in a result set

Açıklama

db2_fetch_both(resource $stmt, int $row_number = -1): array|false

Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
db2_fetch_both() requires more memory than the
single-indexed arrays returned by db2_fetch_assoc() or
db2_fetch_array().

Bağımsız Değişkenler

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Dönen Değerler

Returns an associative array with column values indexed by both the column name and 0-indexed column number. The array represents the next or requested row in the result set. Returns false if there are no rows left in the result set, or if the row requested by row_number does not exist in the result set.

Örnekler

Örnek 1 Iterating through a forward-only cursor

If you call db2_fetch_both() without a specific row number, it automatically retrieves the next row in the result set. The following example accesses columns in the returned array by both column name and by numeric index.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);

while ($row = db2_fetch_both($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Örnek 2 Retrieving specific rows with db2_fetch_both() from a scrollable cursor

If your result set uses a scrollable cursor, you can call db2_fetch_both() with a specific row number. The following example retrieves every other row in the result set, starting with the second row.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));

$i=2;
while ($row = db2_fetch_both($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row['NAME'], $row[2], $row['WEIGHT']);
$i = $i + 2;
}
?>

Yukarıdaki örneğin çıktısı:

0     Pook             cat                                    3.20
5     Rickety Ride     goat                                   9.70
2     Smarty           horse                                350.00

Ayrıca Bakınız

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Returns an object with properties representing columns in the fetched row

  • « db2_fetch_both
  • db2_fetch_row »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an object with properties representing columns in the fetched row

db2_fetch_object

(PECL ibm_db2 >= 1.0.0)

db2_fetch_object — Returns an object with properties representing columns in the fetched row

Açıklama

db2_fetch_object(resource $stmt, int $row_number = -1): stdClass|false

Returns an object in which each property represents a column returned in the row fetched from a result set.

Bağımsız Değişkenler

stmt

A valid stmt resource containing a result set.

row_number

Requests a specific 1-indexed row from the result set. Passing this parameter results in a PHP warning if the result set uses a forward-only cursor.

Dönen Değerler

Returns an object representing a single row in the result set. The properties of the object map to the names of the columns in the result set.

The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column names to upper-case, so the object properties will reflect that case.

If your SELECT statement calls a scalar function to modify the value of a column, the database servers return the column number as the name of the column in the result set. If you prefer a more descriptive column name and object property, you can use the AS clause to assign a name to the column in the result set.

Returns false if no row was retrieved.

Örnekler

Örnek 1 A db2_fetch_object() example

The following example issues a SELECT statement with a scalar function, RTRIM, that removes whitespace from the end of the column. Rather than creating an object with the properties "BREED" and "2", we use the AS clause in the SELECT statement to assign the name "name" to the modified column. The database server folds the column names to upper-case, resulting in an object with the properties "BREED" and "NAME".

<?php
$conn = db2_connect($database, $user, $password);

$sql = "SELECT breed, RTRIM(name) AS name
FROM animals
WHERE id = ?";

if ($conn) {
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(0));

while ($pet = db2_fetch_object($stmt)) {
echo "Come here, {$pet->NAME}, my little {$pet->BREED}!";
}
db2_close($conn);
}
?>

Yukarıdaki örneğin çıktısı:

Come here, Pook, my little cat!

Ayrıca Bakınız

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_result() - Returns a single column from a row in the result set


Sets the result set pointer to the next row or requested row

  • « db2_fetch_object
  • db2_field_display_size »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Sets the result set pointer to the next row or requested row

db2_fetch_row

(PECL ibm_db2 >= 1.0.0)

db2_fetch_row — Sets the result set pointer to the next row or requested row

Açıklama

db2_fetch_row(resource $stmt, int $row_number = -1): bool

Use db2_fetch_row() to iterate through a result set, or to point to a specific row in a result set if you requested a scrollable cursor.

To retrieve individual fields from the result set, call the db2_result() function.

Rather than calling db2_fetch_row() and db2_result(), most applications will call one of db2_fetch_assoc(), db2_fetch_both(), or db2_fetch_array() to advance the result set pointer and return a complete row as an array.

Bağımsız Değişkenler

stmt

A valid stmt resource.

row_number

With scrollable cursors, you can request a specific row number in the result set. Row numbering is 1-indexed.

Dönen Değerler

Returns true if the requested row exists in the result set. Returns false if the requested row does not exist in the result set.

Örnekler

Örnek 1 Iterating through a result set

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
$name = db2_result($stmt, 0);
$breed = db2_result($stmt, 1);
print "$name $breed";
}
?>

Yukarıdaki örneğin çıktısı:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Örnek 2 i5/OS recommended alternatives to db2_fetch_row/db2_result

On i5/OS it is recommended that you use db2_fetch_both(), db2_fetch_array(), or db2_fetch_object() over db2_fetch_row()/db2_result(). In general db2_fetch_row()/db2_result() have more issues with various column types in EBCIDIC to ASCII translation, including possible truncation in DBCS applications. You may also find the performance of db2_fetch_both(), db2_fetch_array(), and db2_fetch_object() to be superior to db2_fetch_row()/db2_result().

<?php
$conn = db2_connect("","","");
$sql = 'SELECT SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, ROUTINE_CREATED, ROUTINE_BODY, IN_PARMS, OUT_PARMS, INOUT_PARMS, PARAMETER_STYLE, EXTERNAL_NAME, EXTERNAL_LANGUAGE FROM QSYS2.SYSROUTINES FETCH FIRST 2 ROWS ONLY';
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_both($stmt)){
echo "<br>db2_fetch_both {$row['SPECIFIC_NAME']} {$row['ROUTINE_CREATED']} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_array($stmt)){
echo "<br>db2_fetch_array {$row[1]} {$row[5]}";
}
$stmt = db2_exec($conn, $sql, array('cursor' => DB2_SCROLLABLE));
while ($row = db2_fetch_object($stmt)){
echo "<br>db2_fetch_object {$row->SPECIFIC_NAME} {$row->ROUTINE_CREATED}";
}
db2_close($conn);
?>

Yukarıdaki örneğin çıktısı:

db2_fetch_both MATCH_ANIMAL 2006-08-25-17.10.23.775000 2006-08-25-17.10.23.775000
db2_fetch_both MULTIRESULTS 2006-10-17-10.11.05.308000 2006-10-17-10.11.05.308000
db2_fetch_array MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_array MULTIRESULTS 2006-10-17-10.11.05.308000
db2_fetch_object MATCH_ANIMAL 2006-08-25-17.10.23.775000
db2_fetch_object MULTIRESULTS 2006-10-17-10.11.05.308000

Ayrıca Bakınız

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_result() - Returns a single column from a row in the result set


Returns the maximum number of bytes required to display a column

  • « db2_fetch_row
  • db2_field_name »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the maximum number of bytes required to display a column

db2_field_display_size

(PECL ibm_db2 >= 1.0.0)

db2_field_display_size — Returns the maximum number of bytes required to display a column

Açıklama

db2_field_display_size(resource $stmt, int|string $column): int|false

Returns the maximum number of bytes required to display a column in a result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns an integer value with the maximum number of bytes required to display the specified column. If the column does not exist in the result set, db2_field_display_size() returns false.

Ayrıca Bakınız

  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the name of the column in the result set

  • « db2_field_display_size
  • db2_field_num »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the name of the column in the result set

db2_field_name

(PECL ibm_db2 >= 1.0.0)

db2_field_name — Returns the name of the column in the result set

Açıklama

db2_field_name(resource $stmt, int|string $column): string|false

Returns the name of the specified column in the result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns a string containing the name of the specified column. If the specified column does not exist in the result set, db2_field_name() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the position of the named column in a result set

  • « db2_field_name
  • db2_field_precision »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the position of the named column in a result set

db2_field_num

(PECL ibm_db2 >= 1.0.0)

db2_field_num — Returns the position of the named column in a result set

Açıklama

db2_field_num(resource $stmt, int|string $column): int|false

Returns the position of the named column in a result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns an integer containing the 0-indexed position of the named column in the result set. If the specified column does not exist in the result set, db2_field_num() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the precision of the indicated column in a result set

  • « db2_field_num
  • db2_field_scale »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the precision of the indicated column in a result set

db2_field_precision

(PECL ibm_db2 >= 1.0.0)

db2_field_precision — Returns the precision of the indicated column in a result set

Açıklama

db2_field_precision(resource $stmt, int|string $column): int|false

Returns the precision of the indicated column in a result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns an integer containing the precision of the specified column. If the specified column does not exist in the result set, db2_field_precision() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the scale of the indicated column in a result set

  • « db2_field_precision
  • db2_field_type »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the scale of the indicated column in a result set

db2_field_scale

(PECL ibm_db2 >= 1.0.0)

db2_field_scale — Returns the scale of the indicated column in a result set

Açıklama

db2_field_scale(resource $stmt, int|string $column): int|false

Returns the scale of the indicated column in a result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the data type of the indicated column in a result set

  • « db2_field_scale
  • db2_field_width »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the data type of the indicated column in a result set

db2_field_type

(PECL ibm_db2 >= 1.0.0)

db2_field_type — Returns the data type of the indicated column in a result set

Açıklama

db2_field_type(resource $stmt, int|string $column): string|false

Returns the data type of the indicated column in a result set.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns a string containing the defined data type of the specified column. If the specified column does not exist in the result set, db2_field_type() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the width of the current value of the indicated column in a result set

  • « db2_field_type
  • db2_foreign_keys »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the width of the current value of the indicated column in a result set

db2_field_width

(PECL ibm_db2 >= 1.0.0)

db2_field_width — Returns the width of the current value of the indicated column in a result set

Açıklama

db2_field_width(resource $stmt, int|string $column): int|false

Returns the width of the current value of the indicated column in a result set. This is the maximum width of the column for a fixed-length data type, or the actual width of the column for a variable-length data type.

Bağımsız Değişkenler

stmt

Specifies a statement resource containing a result set.

column

Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column.

Dönen Değerler

Returns an integer containing the width of the specified character or binary data type column in a result set. If the specified column does not exist in the result set, db2_field_width() returns false.

Ayrıca Bakınız

  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set


Returns a result set listing the foreign keys for a table

  • « db2_field_width
  • db2_free_result »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the foreign keys for a table

db2_foreign_keys

(PECL ibm_db2 >= 1.0.0)

db2_foreign_keys — Returns a result set listing the foreign keys for a table

Açıklama

db2_foreign_keys(
resource $connection,
?string $qualifier,
?string $schema,
string $table_name
): resource

Returns a result set listing the foreign keys for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. If schema is null, db2_foreign_keys() matches the schema for the current connection.

table_name

The name of the table.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the foreign keys for the specified table. The result set is composed of the following columns:

Column name | Description
PKTABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
PKTABLE_SCHEM | Name of the schema for the table containing the primary key.
PKTABLE_NAME | Name of the table containing the primary key.
PKCOLUMN_NAME | Name of the column containing the primary key.
FKTABLE_CAT | Name of the catalog for the table containing the foreign key. The value is NULL if this table does not have catalogs.
FKTABLE_SCHEM | Name of the schema for the table containing the foreign key.
FKTABLE_NAME | Name of the table containing the foreign key.
FKCOLUMN_NAME | Name of the column containing the foreign key.
KEY_SEQ | 1-indexed position of the column in the key.
UPDATE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is UPDATE.
DELETE_RULE | Integer value representing the action applied to the foreign key when the SQL operation is DELETE.
FK_NAME | The name of the foreign key.
PK_NAME | The name of the primary key.
DEFERRABILITY | An integer value representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Frees resources associated with a result set

  • « db2_foreign_keys
  • db2_free_stmt »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Frees resources associated with a result set

db2_free_result

(PECL ibm_db2 >= 1.0.0)

db2_free_result — Frees resources associated with a result set

Açıklama

db2_free_result(resource $stmt): bool

Frees the system and database resources that are associated with a result set. These resources are freed implicitly when a script finishes, but you can call db2_free_result() to explicitly free the result set resources before the end of the script.

Bağımsız Değişkenler

stmt

A valid statement resource.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • db2_free_stmt() - Frees resources associated with the indicated statement resource


Frees resources associated with the indicated statement resource

  • « db2_free_result
  • db2_get_option »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Frees resources associated with the indicated statement resource

db2_free_stmt

(PECL ibm_db2 >= 1.0.0)

db2_free_stmt — Frees resources associated with the indicated statement resource

Açıklama

db2_free_stmt(resource $stmt): bool

Frees the system and database resources that are associated with a statement resource. These resources are freed implicitly when a script finishes, but you can call db2_free_stmt() to explicitly free the statement resources before the end of the script.

Bağımsız Değişkenler

stmt

A valid statement resource.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • db2_free_result() - Frees resources associated with a result set


Retrieves an option value for a statement resource or a connection resource

  • « db2_free_stmt
  • db2_last_insert_id »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Retrieves an option value for a statement resource or a connection resource

db2_get_option

(PECL ibm_db2 >= 1.6.0)

db2_get_option — Retrieves an option value for a statement resource or a connection resource

Açıklama

db2_get_option(resource $resource, string $option): string|false

Retrieves the value of a specified option value for a statement resource or a connection resource.

Bağımsız Değişkenler

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

option

A valid statement or connection options. The following new options are available as of ibm_db2 version 1.6.0. They provide useful tracking information that can be set during execution with db2_get_option().

Bilginize:

Prior versions of ibm_db2 do not support these new options.

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Dönen Değerler

Returns the current setting of the connection attribute provided on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting and retrieving parameters through a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($database, $user, $password);

echo "Client attributes passed through connection string:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes through connection string */
/* Access the options specified */
$options1 = array('userid' => 'db2inst1');
$conn1 = db2_connect($database, $user, $password, $options1);
$val = db2_get_option($conn1, 'userid');
echo $val . "\n";

$options2 = array('acctstr' => 'account');
$conn2 = db2_connect($database, $user, $password, $options2);
$val = db2_get_option($conn2, 'acctstr');
echo $val . "\n";

$options3 = array('applname' => 'myapp');
$conn3 = db2_connect($database, $user, $password, $options3);
$val = db2_get_option($conn3, 'applname');
echo $val . "\n";

$options4 = array('wrkstnname' => 'workstation');
$conn4 = db2_connect($database, $user, $password, $options4);
$val = db2_get_option($conn4, 'wrkstnname');
echo $val . "\n";

echo "Client attributes passed post-connection:\n";

/* Create the associative options array with valid key-value pairs */
/* Assign the attributes after a connection is made */
/* Access the options specified */
$options5 = array('userid' => 'db2inst1');
$conn5 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn5, $options5, 1);
$val = db2_get_option($conn5, 'userid');
echo $val . "\n";

$options6 = array('acctstr' => 'account');
$conn6 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn6, $options6, 1);
$val = db2_get_option($conn6, 'acctstr');
echo $val . "\n";

$options7 = array('applname' => 'myapp');
$conn7 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn7, $options7, 1);
$val = db2_get_option($conn7, 'applname');
echo $val . "\n";

$options8 = array('wrkstnname' => 'workstation');
$conn8 = db2_connect($database, $user, $password);
$rc = db2_set_option($conn8, $options8, 1);
$val = db2_get_option($conn8, 'wrkstnname');
echo $val . "\n";
?>

Yukarıdaki örneğin çıktısı:

Client attributes passed through connection string:
db2inst1
account
myapp
workstation
Client attributes passed post-connection:
db2inst1
account
myapp
workstation

Ayrıca Bakınız

  • db2_connect() - Returns a connection to a database
  • db2_cursor_type() - Returns the cursor type used by a statement resource
  • db2_exec() - Executes an SQL statement directly
  • db2_set_option() - Set options for connection or statement resources
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_prepare() - Prepares an SQL statement to be executed


Returns the auto generated ID of the last insert query that successfully executed on this connection

  • « db2_get_option
  • db2_lob_read »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the auto generated ID of the last insert query that successfully executed on this connection

db2_last_insert_id

(PECL ibm_db2 >= 1.7.1)

db2_last_insert_id — Returns the auto generated ID of the last insert query that successfully executed on this connection

Açıklama

db2_last_insert_id(resource $resource): ?string

Returns the auto generated ID of the last insert query that successfully executed on this connection.

The result of this function is not affected by any of the following:

  • A single row INSERT statement with a VALUES clause for a table without an identity column.

  • A multiple row INSERT statement with a VALUES clause.

  • An INSERT statement with a fullselect.

  • A ROLLBACK TO SAVEPOINT statement.

Bağımsız Değişkenler

resource

A valid connection resource as returned from db2_connect() or db2_pconnect(). The value of this parameter cannot be a statement resource or result set resource.

Dönen Değerler

Returns the auto generated ID of last insert query that successfully executed on this connection.

Örnekler

Örnek 1 A db2_last_insert_id() example

The following example shows how to return the auto generated ID of last insert query that successfully executed on this connection.

<?php

$database = "SAMPLE";
$user = "db2inst1";
$password = "ibmdb2";

$conn = db2_connect($database, $user, $password);
if($conn) {
$createTable = "CREATE TABLE lastInsertID
(id integer GENERATED BY DEFAULT AS IDENTITY, name varchar(20))";
$insertTable = "INSERT INTO lastInsertID (name) VALUES ('Temp Name')";

$stmt = @db2_exec($conn, $createTable);

/* Checking for single row inserted. */
$stmt = db2_exec($conn, $insertTable);
$ret = db2_last_insert_id($conn);
if($ret) {
echo "Last Insert ID is : " . $ret . "\n";
} else {
echo "No Last insert ID.\n";
}

db2_close($conn);
}
else {
echo "Connection failed.";
}
?>

Yukarıdaki örneğin çıktısı:

Last Insert ID is : 1


Gets a user defined size of LOB files with each invocation

  • « db2_last_insert_id
  • db2_next_result »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Gets a user defined size of LOB files with each invocation

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — Gets a user defined size of LOB files with each invocation

Açıklama

db2_lob_read(resource $stmt, int $colnum, int $length): string|false

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Bağımsız Değişkenler

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Dönen Değerler

Returns the amount of data the user specifies. Returns false if the data cannot be retrieved.

Örnekler

Örnek 1 Iterating through different types of data

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$conn = db2_connect($db,$username,$password);

if ($conn) {
$drop = 'DROP TABLE clob_stream';
$result = @db2_exec( $conn, $drop );

$create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)';
$result = db2_exec( $conn, $create );

$variable = "";
$stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)");
$variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST.";
db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
db2_execute($stmt);

$sql = "SELECT id,my_clob FROM clob_stream";
$result = db2_prepare($conn, $sql);
db2_execute($result);
db2_fetch_row($result);
$i = 0;
/* Read LOB data */
while ($data = db2_lob_read($result, 2, 6)) {
echo "Loop $i: $data\n";
$i = $i + 1;
}

$drop = 'DROP TABLE blob_stream';
$result = @db2_exec( $conn, $drop );

$create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)';
$result = db2_exec( $conn, $create );

$variable = "";
$stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)");
$variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST.";
db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN);
db2_execute($stmt);

$sql = "SELECT id,my_blob FROM blob_stream";
$result = db2_prepare($conn, $sql);
db2_execute($result);
db2_fetch_row($result);
$i = 0;
/* Read LOB data */
while ($data = db2_lob_read($result, 2, 6)) {
echo "Loop $i: $data\n";
$i = $i + 1;
}
} else {
echo 'no connection: ' . db2_conn_errormsg();
}

?>

Yukarıdaki örneğin çıktısı:

Loop 0: THIS I
Loop 1: S A CL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  CLOB
Loop 6: TEST.
Loop 0: THIS I
Loop 1: S A BL
Loop 2: OB TES
Loop 3: T. THI
Loop 4: S IS A
Loop 5:  BLOB
Loop 6: TEST.

Ayrıca Bakınız

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_exec() - Executes an SQL statement directly
  • db2_execute() - Executes a prepared SQL statement
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_result() - Returns a single column from a row in the result set


Requests the next result set from a stored procedure

  • « db2_lob_read
  • db2_num_fields »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Requests the next result set from a stored procedure

db2_next_result

(PECL ibm_db2 >= 1.0.0)

db2_next_result — Requests the next result set from a stored procedure

Açıklama

db2_next_result(resource $stmt): resource|false

A stored procedure can return zero or more result sets. While you handle the first result set in exactly the same way you would handle the results returned by a simple SELECT statement, to fetch the second and subsequent result sets from a stored procedure you must call the db2_next_result() function and return the result to a uniquely named PHP variable.

Bağımsız Değişkenler

stmt

A prepared statement returned from db2_exec() or db2_execute().

Dönen Değerler

Returns a new statement resource containing the next result set if the stored procedure returned another result set. Returns false if the stored procedure did not return another result set.

Örnekler

Örnek 1 Calling a stored procedure that returns multiple result sets

In the following example, we call a stored procedure that returns three result sets. The first result set is fetched directly from the same statement resource on which we invoked the CALL statement, while the second and third result sets are fetched from statement resources returned from our calls to the db2_next_result() function.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
$stmt = db2_exec($conn, 'CALL multiResults()');

print "Fetching first result set\n";
while ($row = db2_fetch_array($stmt)) {
var_dump($row);
}

print "\nFetching second result set\n";
$res = db2_next_result($stmt);
if ($res) {
while ($row = db2_fetch_array($res)) {
var_dump($row);
}
}

print "\nFetching third result set\n";
$res2 = db2_next_result($stmt);
if ($res2) {
while ($row = db2_fetch_array($res2)) {
var_dump($row);
}
}

db2_close($conn);
}
?>

Yukarıdaki örneğin çıktısı:

Fetching first result set
array(2) {
  [0]=>
  string(16) "Bubbles         "
  [1]=>
  int(3)
}
array(2) {
  [0]=>
  string(16) "Gizmo           "
  [1]=>
  int(4)
}

Fetching second result set
array(4) {
  [0]=>
  string(16) "Sweater         "
  [1]=>
  int(6)
  [2]=>
  string(5) "llama"
  [3]=>
  string(6) "150.00"
}
array(4) {
  [0]=>
  string(16) "Smarty          "
  [1]=>
  int(2)
  [2]=>
  string(5) "horse"
  [3]=>
  string(6) "350.00"
}

Fetching third result set
array(1) {
  [0]=>
  string(16) "Bubbles         "
}
array(1) {
  [0]=>
  string(16) "Gizmo           "
}


Returns the number of fields contained in a result set

  • « db2_next_result
  • db2_num_rows »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the number of fields contained in a result set

db2_num_fields

(PECL ibm_db2 >= 1.0.0)

db2_num_fields — Returns the number of fields contained in a result set

Açıklama

db2_num_fields(resource $stmt): int|false

Returns the number of fields contained in a result set. This is most useful for handling the result sets returned by dynamically generated queries, or for result sets returned by stored procedures, where your application cannot otherwise know how to retrieve and use the results.

Bağımsız Değişkenler

stmt

A valid statement resource containing a result set.

Dönen Değerler

Returns an integer value representing the number of fields in the result set associated with the specified statement resource. Returns false if the statement resource is not a valid input value.

Örnekler

Örnek 1 Retrieving the number of fields in a result set

The following example demonstrates how to retrieve the number of fields returned in a result set.

<?php

$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, $sql);
$columns = db2_num_fields($stmt);

echo "There are {$columns} columns in the result set.";
?>

Yukarıdaki örneğin çıktısı:

There are 4 columns in the result set.

Ayrıca Bakınız

  • db2_execute() - Executes a prepared SQL statement
  • db2_field_display_size() - Returns the maximum number of bytes required to display a column
  • db2_field_name() - Returns the name of the column in the result set
  • db2_field_num() - Returns the position of the named column in a result set
  • db2_field_precision() - Returns the precision of the indicated column in a result set
  • db2_field_scale() - Returns the scale of the indicated column in a result set
  • db2_field_type() - Returns the data type of the indicated column in a result set
  • db2_field_width() - Returns the width of the current value of the indicated column in a result set


Returns the number of rows affected by an SQL statement

  • « db2_num_fields
  • db2_pclose »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns the number of rows affected by an SQL statement

db2_num_rows

(PECL ibm_db2 >= 1.0.0)

db2_num_rows — Returns the number of rows affected by an SQL statement

Açıklama

db2_num_rows(resource $stmt): int|false

Returns the number of rows deleted, inserted, or updated by an SQL statement.

To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*) with the same predicates as your intended SELECT statement and retrieve the value.

If your application logic checks the number of rows returned by a SELECT statement and branches if the number of rows is 0, consider modifying your application to attempt to return the first row with one of db2_fetch_assoc(), db2_fetch_both(), db2_fetch_array(), or db2_fetch_row(), and branch if the fetch function returns false.

Bilginize:

If you issue a SELECT statement using a scrollable cursor, db2_num_rows() returns the number of rows returned by the SELECT statement. However, the overhead associated with scrollable cursors significantly degrades the performance of your application, so if this is the only reason you are considering using scrollable cursors, you should use a forward-only cursor and either call SELECT COUNT(*) or rely on the bool return value of the fetch functions to achieve the equivalent functionality with much better performance.

Bağımsız Değişkenler

stmt

A valid stmt resource containing a result set.

Dönen Değerler

Returns the number of rows affected by the last SQL statement issued by the specified statement handle, başarısızlık durumunda false döner


Closes a persistent database connection

  • « db2_num_rows
  • db2_pconnect »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Closes a persistent database connection

db2_pclose

(PECL ibm_db2 >= 1.8.0)

db2_pclose — Closes a persistent database connection

Açıklama

db2_pclose(resource $connection): bool

This function closes a DB2 client connection created with db2_pconnect() and returns the corresponding resources to the database server.

Bilginize:

This function is only available on i5/OS in response to i5/OS system administration requests.

If you have a persistent DB2 client connection created with db2_pconnect(), you may use this function to close the connection. To avoid substantial connection performance penalties, this function should only be used in rare cases when the persistent connection has become unresponsive or the persistent connection will not be needed for a long period of time.

Bağımsız Değişkenler

connection

Specifies an active DB2 client connection.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Closing a persistent connection

The following example demonstrates a successful attempt to close a connection to an IBM DB2 i5/OS database.

<?php
$conn = db2_pconnect('', '', '');
$rc = db2_pclose($conn);
if ($rc) {
echo "Connection was successfully closed.";
}
?>

Yukarıdaki örneğin çıktısı:

Connection was successfully closed.

Ayrıca Bakınız

  • db2_close() - Closes a database connection
  • db2_pconnect() - Returns a persistent connection to a database


Returns a persistent connection to a database

  • « db2_pclose
  • db2_prepare »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a persistent connection to a database

db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Returns a persistent connection to a database

Açıklama

db2_pconnect(
string $database,
?string $username,
?string $password,
array $options = []
): resource|false

Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby database.

For more information on persistent connections, refer to Kalıcı Bağlantılı Veritabanı Bağlantıları.

Calling db2_close() on a persistent connection always returns true, but the underlying DB2 client connection remains open and waiting to serve the next matching db2_pconnect() request.

Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a transaction rollback on persistent connections at the end of a request, thus ending the transaction. This prevents the transaction block from carrying over to the next request which uses that connection if script execution ends before the transaction block does.

Bağımsız Değişkenler

database

The database alias in the DB2 client catalog.

username

The username with which you are connecting to the database.

password

The password with which you are connecting to the database.

options

An associative array of connection options that affect the behavior of the connection, where valid array keys include:

autocommit

Passing the DB2_AUTOCOMMIT_ON value turns autocommit on for this connection handle.

Passing the DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection handle.

DB2_ATTR_CASE

Passing the DB2_CASE_NATURAL value specifies that column names are returned in natural case.

Passing the DB2_CASE_LOWER value specifies that column names are returned in lower case.

Passing the DB2_CASE_UPPER value specifies that column names are returned in upper case.

CURSOR

Passing the DB2_FORWARD_ONLY value specifies a forward-only cursor for a statement resource. This is the default cursor type and is supported on all database servers.

Passing the DB2_SCROLLABLE value specifies a scrollable cursor for a statement resource. This mode enables random access to rows in a result set, but currently is supported only by IBM DB2 Universal Database.

The following new option is available in ibm_db2 version 1.7.0 and later.

trustedcontext

Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context on for this connection handle. This parameter cannot be set using db2_set_option().

This key works only if the database is cataloged (even if the database is local), or if you specify the full DSN when you create the connection.

To catalog the database, use following commands:

db2 catalog tcpip node loopback remote <SERVERNAME> server <SERVICENAME>
db2 catalog database <LOCALDBNAME> as <REMOTEDBNAME> at node loopback
db2 "update dbm cfg using svcename <SERVICENAME>"
db2set DB2COMM=TCPIP

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later.

İpucu

Conflicting connection attributes used in conjunction with persistent connections can produce indeterminate results on i5/OS. Site policies should be establish for all applications using each persistent connection user profile. The default DB2_AUTOCOMMIT_ON is suggested when using persistent connections.

i5_lib

A character value that indicates the default library that will be used for resolving unqualified file references. This is not valid if the connection is using system naming mode.

i5_naming

DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming mode. Files are qualified using the slash (/) delimiter. Unqualified files are resolved using the library list for the job.

DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode, which is SQL naming. Files are qualified using the period (.) delimiter. Unqualified files are resolved using either the default library or the current user ID.

i5_commit

The i5_commit attribute should be set before the db2_pconnect(). If the value is changed after the connection has been established, and the connection is to a remote data source, the change does not take effect until the next successful db2_pconnect() for the connection handle.

Bilginize:

The php.ini setting ibm_db2.i5_allow_commit==0 or DB2_I5_TXN_NO_COMMIT is the default, but may be overridden with the i5_commit option.

DB2_I5_TXN_NO_COMMIT - Commitment control is not used.

DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Dirty reads are not possible. Nonrepeatable reads, and phantoms are possible.

DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are not possible. Phantoms are possible.

DB2_I5_TXN_SERIALIZABLE - Transactions are serializable. Dirty reads, non-repeatable reads, and phantoms are not possible

i5_query_optimize

DB2_FIRST_IO All queries are optimized with the goal of returning the first page of output as fast as possible. This goal works well when the output is controlled by a user who is most likely to cancel the query after viewing the first page of output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.

DB2_ALL_IO All queries are optimized with the goal of running the entire query to completion in the shortest amount of elapsed time. This is a good option when the output of a query is being written to a file or report, or the interface is queuing the output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause. This is the default.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for DBCS translation column size growth.

DB2_I5_DBCS_ALLOC_OFF value turns off DB2 6X allocation scheme for DBCS translation column size growth.

Bilginize:

The php.ini setting ibm_db2.i5_dbcs_alloc==0 or DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the i5_dbcs_alloc option.

i5_date_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) date format yyyy-mm-dd is used. This is the default.

DB2_I5_FMT_USA - The United States date format mm/dd/yyyy is used.

DB2_I5_FMT_EUR - The European date format dd.mm.yyyy is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard date format yyyy-mm-dd is used.

DB2_I5_FMT_MDY - The date format mm/dd/yyyy is used.

DB2_I5_FMT_DMY - The date format dd/mm/yyyy is used.

DB2_I5_FMT_YMD - The date format yy/mm/dd is used.

DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.

DB2_I5_FMT_JOB - The job default is used.

i5_date_sep

DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This is the default.

DB2_I5_SEP_DASH - A dash ( - ) is used as the date separator.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the date separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the date separator.

DB2_I5_SEP_BLANK - A blank is used as the date separator.

DB2_I5_SEP_JOB - The job default is used

i5_time_fmt

DB2_I5_FMT_ISO - The International Organization for Standardization (ISO) time format hh.mm.ss is used. This is the default.

DB2_I5_FMT_USA - The United States time format hh:mmxx is used, where xx is AM or PM.

DB2_I5_FMT_EUR - The European time format hh.mm.ss is used.

DB2_I5_FMT_JIS - The Japanese Industrial Standard time format hh:mm:ss is used.

DB2_I5_FMT_HMS - The hh:mm:ss format is used.

i5_time_sep

DB2_I5_SEP_COLON - A colon ( : ) is used as the time separator. This is the default.

DB2_I5_SEP_PERIOD - A period ( . ) is used as the time separator.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the time separator.

DB2_I5_SEP_BLANK - A blank is used as the time separator.

DB2_I5_SEP_JOB - The job default is used.

i5_decimal_sep

DB2_I5_SEP_PERIOD - A period ( . ) is used as the decimal separator. This is the default.

DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.

DB2_I5_SEP_JOB - The job default is used.

The following new i5/OS option is available in ibm_db2 version 1.8.0 and later.

i5_libl

A character value that indicates the library list that will be used for resolving unqualified file references. Specify the library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Bilginize:

i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS V5R4 and later.

Dönen Değerler

Returns a connection handle resource if the connection attempt is successful. db2_pconnect() tries to reuse an existing connection resource that exactly matches the database, username, and password parameters. If the connection attempt fails, db2_pconnect() returns false.

Sürüm Bilgisi

Sürüm: | Açıklama
ibm_db2 1.9.0 | Active transactions within a persistent connection will be rolled back at the end of each request.
ibm_db2 1.8.0 | The i5_libl option is available for i5/OS users.
ibm_db2 1.7.0 | The trustedcontext option is available.
ibm_db2 1.5.1 | The i5_lib, i5_naming, i5_commit, i5_query_optimize, i5_dbcs_alloc, i5_date_fmt, i5_date_sep, i5_time_fmt, i5_time_sep and i5_decimal_sep options are available for i5/OS users.

Örnekler

Örnek 1 A db2_pconnect() example

In the following example, the first call to db2_pconnect() returns a new persistent connection resource. The second call to db2_pconnect() returns a persistent connection resource that simply reuses the first persistent connection resource.

<?php
$database = 'SAMPLE';
$user = 'db2inst1';
$password = 'ibmdb2';

$pconn = db2_pconnect($database, $user, $password);

if ($pconn) {
echo "Persistent connection succeeded.";
}
else {
echo "Persistent connection failed.";
}

$pconn2 = db2_pconnect($database, $user, $password);
if ($pconn) {
echo "Second persistent connection succeeded.";
}
else {
echo "Second persistent connection failed.";
}
?>

Yukarıdaki örneğin çıktısı:

Persistent connection succeeded.
Second persistent connection succeeded.

Örnek 2 Using trusted context

The following example shows how to enable trusted context, switch users, and get the current user ID.

<?php

$database = "SAMPLE";
$hostname = "localhost";
$port = 50000;
$authID = "db2inst1";
$auth_pass = "ibmdb2";

$tc_user = "tcuser";
$tc_pass = "tcpassword";

$dsn = "DATABASE=$database;HOSTNAME=$hostname;PORT=$port;
PROTOCOL=TCPIP;UID=$authID;PWD=$auth_pass;";
$options = array ("trustedcontext" => DB2_TRUSTED_CONTEXT_ENABLE);

$tc_conn = db2_pconnect($dsn, "", "", $options);
if($tc_conn) {
echo "Explicit trusted connection succeeded.\n";

if(db2_get_option($tc_conn, "trustedcontext")) {
$userBefore = db2_get_option($tc_conn, "trusted_user");

//Do some work as user 1.

//Switching to trusted user.
$parameters = array("trusted_user" => $tc_user,
"trusted_password" => $tcuser_pass);
$res = db2_set_option ($tc_conn, $parameters, 1);

$userAfter = db2_get_option($tc_conn, "trusted_user");
//Do more work as trusted user.

if($userBefore != $userAfter) {
echo "User has been switched." . "\n";
}
}

db2_close($tc_conn);
}
else {
echo "Explicit trusted connection failed.\n";
}
?>

Yukarıdaki örneğin çıktısı:

Explicit trusted connection succeeded.
User has been switched.

Ayrıca Bakınız

  • db2_connect() - Returns a connection to a database


Prepares an SQL statement to be executed

  • « db2_pconnect
  • db2_primary_keys »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Prepares an SQL statement to be executed

db2_prepare

(PECL ibm_db2 >= 1.0.0)

db2_prepare — Prepares an SQL statement to be executed

Açıklama

db2_prepare(resource $connection, string $statement, array $options = []): resource|false

db2_prepare() creates a prepared SQL statement which can include 0 or more parameter markers (? characters) representing parameters for input, output, or input/output. You can pass parameters to the prepared statement using db2_bind_param(), or for input values only, as an array passed to db2_execute().

There are three main advantages to using prepared statements in your application:

  • Performance: when you prepare a statement, the database server creates an optimized access plan for retrieving data with that statement. Subsequently issuing the prepared statement with db2_execute() enables the statements to reuse that access plan and avoids the overhead of dynamically creating a new access plan for every statement you issue.

  • Security: when you prepare a statement, you can include parameter markers for input values. When you execute a prepared statement with input values for placeholders, the database server checks each input value to ensure that the type matches the column definition or parameter definition.

  • Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using db2_bind_param().

Bağımsız Değişkenler

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

statement

An SQL statement, optionally containing one or more parameter markers..

options

An associative array containing statement options. You can use this parameter to request a scrollable cursor on database servers that support this functionality.

For a description of valid statement options, see db2_set_option().

Dönen Değerler

Returns a statement resource if the SQL statement was successfully parsed and prepared by the database server. Returns false if the database server returned an error. You can determine which error was returned by calling db2_stmt_error() or db2_stmt_errormsg().

Örnekler

Örnek 1 Preparing and executing an SQL statement with parameter markers

The following example prepares an INSERT statement that accepts four parameter markers, then iterates over an array of arrays containing the input values to be passed to db2_execute().

<?php
$animals = array(
array(0, 'cat', 'Pook', 3.2),
array(1, 'dog', 'Peaches', 12.3),
array(2, 'horse', 'Smarty', 350.0),
);

$insert = 'INSERT INTO animals (id, breed, name, weight)
VALUES (?, ?, ?, ?)';
$stmt = db2_prepare($conn, $insert);
if ($stmt) {
foreach ($animals as $animal) {
$result = db2_execute($stmt, $animal);
}
}
?>

Ayrıca Bakınız

  • db2_bind_param() - Binds a PHP variable to an SQL statement parameter
  • db2_execute() - Executes a prepared SQL statement
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a result set listing primary keys for a table

  • « db2_prepare
  • db2_procedure_columns »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing primary keys for a table

db2_primary_keys

(PECL ibm_db2 >= 1.0.0)

db2_primary_keys — Returns a result set listing primary keys for a table

Açıklama

db2_primary_keys(
resource $connection,
?string $qualifier,
?string $schema,
string $table_name
): resource

Returns a result set listing the primary keys for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. If schema is null, db2_primary_keys() matches the schema for the current connection.

table_name

The name of the table.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the primary keys for the specified table. The result set is composed of the following columns:

Column name | Description
TABLE_CAT | Name of the catalog for the table containing the primary key. The value is NULL if this table does not have catalogs.
TABLE_SCHEM | Name of the schema for the table containing the primary key.
TABLE_NAME | Name of the table containing the primary key.
COLUMN_NAME | Name of the column containing the primary key.
KEY_SEQ | 1-indexed position of the column in the key.
PK_NAME | The name of the primary key.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing stored procedure parameters

  • « db2_primary_keys
  • db2_procedures »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing stored procedure parameters

db2_procedure_columns

(PECL ibm_db2 >= 1.0.0)

db2_procedure_columns — Returns a result set listing stored procedure parameters

Açıklama

db2_procedure_columns(
resource $connection,
?string $qualifier,
string $schema,
string $procedure,
?string $parameter
): resource

Returns a result set listing the parameters for one or more stored procedures.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

parameter

The name of the parameter. This parameter accepts a search pattern containing _ and % as wildcards. If this parameter is null, all parameters for the specified stored procedures are returned.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the parameters for the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is null if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
COLUMN_NAME | Name of the parameter.
COLUMN_TYPE

An integer value representing the type of the parameter:

Return value | Parameter type
1 (SQL_PARAM_INPUT) | Input (IN) parameter.
2 (SQL_PARAM_INPUT_OUTPUT) | Input/output (INOUT) parameter.
3 (SQL_PARAM_OUTPUT) | Output (OUT) parameter.
DATA_TYPE | The SQL data type for the parameter represented as an integer value.
TYPE_NAME | A string representing the data type for the parameter.
COLUMN_SIZE | An integer value representing the size of the parameter.
BUFFER_LENGTH | Maximum number of bytes necessary to store data for this parameter.
DECIMAL_DIGITS | The scale of the parameter, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
NULLABLE | An integer value representing whether the parameter is nullable or not.
REMARKS | Description of the parameter.
COLUMN_DEF | Default value for the parameter.
SQL_DATA_TYPE | An integer value representing the size of the parameter.
SQL_DATETIME_SUB | Returns an integer value representing a datetime subtype code, or null for SQL data types to which this does not apply.
CHAR_OCTET_LENGTH | Maximum length in octets for a character data type parameter, which matches COLUMN_SIZE for single-byte character set data, or null for non-character data types.
ORDINAL_POSITION | The 1-indexed position of the parameter in the CALL statement.
IS_NULLABLE | A string value where 'YES' means that the parameter accepts or returns null values and 'NO' means that the parameter does not accept or return null values.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the stored procedures registered in a database

  • « db2_procedure_columns
  • db2_result »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the stored procedures registered in a database

db2_procedures

(PECL ibm_db2 >= 1.0.0)

db2_procedures — Returns a result set listing the stored procedures registered in a database

Açıklama

db2_procedures(
resource $connection,
?string $qualifier,
string $schema,
string $procedure
): resource

Returns a result set listing the stored procedures registered in a database.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the procedures. This parameter accepts a search pattern containing _ and % as wildcards.

procedure

The name of the procedure. This parameter accepts a search pattern containing _ and % as wildcards.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the stored procedures matching the specified parameters. The rows are composed of the following columns:

Column name | Description
PROCEDURE_CAT | The catalog that contains the procedure. The value is null if this table does not have catalogs.
PROCEDURE_SCHEM | Name of the schema that contains the stored procedure.
PROCEDURE_NAME | Name of the procedure.
NUM_INPUT_PARAMS | Number of input (IN) parameters for the stored procedure.
NUM_OUTPUT_PARAMS | Number of output (OUT) parameters for the stored procedure.
NUM_RESULT_SETS | Number of result sets returned by the stored procedure.
REMARKS | Any comments about the stored procedure.
PROCEDURE_TYPE | Always returns 1, indicating that the stored procedure does not return a return value.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a single column from a row in the result set

  • « db2_procedures
  • db2_rollback »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a single column from a row in the result set

db2_result

(PECL ibm_db2 >= 1.0.0)

db2_result — Returns a single column from a row in the result set

Açıklama

db2_result(resource $stmt, int|string $column): ?mixed

Use db2_result() to return the value of a specified column in the current row of a result set. You must call db2_fetch_row() before calling db2_result() to set the location of the result set pointer.

Bağımsız Değişkenler

stmt

A valid stmt resource.

column

Either an integer mapping to the 0-indexed field in the result set, or a string matching the name of the column.

Dönen Değerler

Returns the value of the requested field if the field exists in the result set. Returns null if the field does not exist, and issues a warning.

Örnekler

Örnek 1 A db2_result() example

The following example demonstrates how to iterate through a result set with db2_fetch_row() and retrieve columns from the result set with db2_result().

<?php
$sql = 'SELECT name, breed FROM animals WHERE weight < ?';
$stmt = db2_prepare($conn, $sql);
db2_execute($stmt, array(10));
while (db2_fetch_row($stmt)) {
$name = db2_result($stmt, 0);
$breed = db2_result($stmt, 'BREED');
print "$name $breed";
}
?>

Yukarıdaki örneğin çıktısı:

cat Pook
gold fish Bubbles
budgerigar Gizmo
goat Rickety Ride

Ayrıca Bakınız

  • db2_fetch_array() - Returns an array, indexed by column position, representing a row in a result set
  • db2_fetch_assoc() - Returns an array, indexed by column name, representing a row in a result set
  • db2_fetch_both() - Returns an array, indexed by both column name and position, representing a row in a result set
  • db2_fetch_object() - Returns an object with properties representing columns in the fetched row
  • db2_fetch_row() - Sets the result set pointer to the next row or requested row


Rolls back a transaction

  • « db2_result
  • db2_server_info »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Rolls back a transaction

db2_rollback

(PECL ibm_db2 >= 1.0.0)

db2_rollback — Rolls back a transaction

Açıklama

db2_rollback(resource $connection): bool

Rolls back an in-progress transaction on the specified connection resource and begins a new transaction. PHP applications normally default to AUTOCOMMIT mode, so db2_rollback() normally has no effect unless AUTOCOMMIT has been turned off for the connection resource.

Bağımsız Değişkenler

connection

A valid database connection resource variable as returned from db2_connect() or db2_pconnect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Rolling back a DELETE statement

In the following example, we count the number of rows in a table, turn off AUTOCOMMIT mode on a database connection, delete all of the rows in the table and return the count of 0 to prove that the rows have been removed. We then issue db2_rollback() and return the updated count of rows in the table to show that the number is the same as before we issued the DELETE statement. The return to the original state of the table demonstrates that the roll back of the transaction succeeded.

<?php
$conn = db2_connect($database, $user, $password);

if ($conn) {
$stmt = db2_exec($conn, "SELECT count(*) FROM animals");
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";

// Turn AUTOCOMMIT off
db2_autocommit($conn, DB2_AUTOCOMMIT_OFF);

// Delete all rows from ANIMALS
db2_exec($conn, "DELETE FROM animals");

$stmt = db2_exec($conn, "SELECT count(*) FROM animals");
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";

// Roll back the DELETE statement
db2_rollback( $conn );

$stmt = db2_exec( $conn, "SELECT count(*) FROM animals" );
$res = db2_fetch_array( $stmt );
echo $res[0] . "\n";
db2_close($conn);
}
?>

Yukarıdaki örneğin çıktısı:

7
0
7

Ayrıca Bakınız

  • db2_autocommit() - Returns or sets the AUTOCOMMIT state for a database connection
  • db2_commit() - Commits a transaction


Returns an object with properties that describe the DB2 database server

  • « db2_rollback
  • db2_set_option »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns an object with properties that describe the DB2 database server

db2_server_info

(PECL ibm_db2 >= 1.1.1)

db2_server_info — Returns an object with properties that describe the DB2 database server

Açıklama

db2_server_info(resource $connection): stdClass|false

This function returns an object with read-only properties that return information about the IBM DB2, Cloudscape, or Apache Derby database server. The following table lists the database server properties:

Database server properties
Property name | Return type | Description
DBMS_NAME | string | The name of the database server to which you are connected. For DB2 servers this is a combination of DB2 followed by the operating system on which the database server is running.
DBMS_VER | string | The version of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version, mm is the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8, minor version 2, update 1.
DB_CODEPAGE | int | The code page of the database to which you are connected.
DB_NAME | string | The name of the database to which you are connected.
DFT_ISOLATION string

The default transaction isolation level supported by the server:

UR

Uncommitted read: changes are immediately visible by all concurrent transactions.

CS

Cursor stability: a row read by one transaction can be altered and committed by a second concurrent transaction.

RS

Read stability: a transaction can add or remove rows matching a search condition or a pending transaction.

RR

Repeatable read: data affected by pending transaction is not available to other transactions.

NC

No commit: any changes are visible at the end of a successful operation. Explicit commits and rollbacks are not allowed.

IDENTIFIER_QUOTE_CHAR | string | The character used to delimit an identifier.
INST_NAME | string | The instance on the database server that contains the database.
ISOLATION_OPTION | array | An array of the isolation options supported by the database server. The isolation options are described in the DFT_ISOLATION property.
KEYWORDS | array | An array of the keywords reserved by the database server.
LIKE_ESCAPE_CLAUSE | bool | true if the database server supports the use of % and _ wildcard characters. false if the database server does not support these wildcard characters.
MAX_COL_NAME_LEN | int | Maximum length of a column name supported by the database server, expressed in bytes.
MAX_IDENTIFIER_LEN | int | Maximum length of an SQL identifier supported by the database server, expressed in characters.
MAX_INDEX_SIZE | int | Maximum size of columns combined in an index supported by the database server, expressed in bytes.
MAX_PROC_NAME_LEN | int | Maximum length of a procedure name supported by the database server, expressed in bytes.
MAX_ROW_SIZE | int | Maximum length of a row in a base table supported by the database server, expressed in bytes.
MAX_SCHEMA_NAME_LEN | int | Maximum length of a schema name supported by the database server, expressed in bytes.
MAX_STATEMENT_LEN | int | Maximum length of an SQL statement supported by the database server, expressed in bytes.
MAX_TABLE_NAME_LEN | int | Maximum length of a table name supported by the database server, expressed in bytes.
NON_NULLABLE_COLUMNS | bool | true if the database server supports columns that can be defined as NOT NULL, false if the database server does not support columns defined as NOT NULL.
PROCEDURES | bool | true if the database server supports the use of the CALL statement to call stored procedures, false if the database server does not support the CALL statement.
SPECIAL_CHARS | string | A string containing all of the characters other than a-Z, 0-9, and underscore that can be used in an identifier name.
SQL_CONFORMANCE string

The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:

ENTRY

Entry-level SQL-92 compliance.

FIPS127

FIPS-127-2 transitional compliance.

FULL

Full level SQL-92 compliance.

INTERMEDIATE

Intermediate level SQL-92 compliance.

Bağımsız Değişkenler

connection

Specifies an active DB2 client connection.

Dönen Değerler

Returns an object on a successful call, başarısızlık durumunda false döner

Örnekler

Örnek 1 A db2_server_info() example

To retrieve information about the server, you must pass a valid database connection resource to db2_server_info().

<?php

$conn = db2_connect('sample', 'db2inst1', 'ibmdb2');

$server = db2_server_info( $conn );

if ($server) {
echo "DBMS_NAME: "; var_dump( $server->DBMS_NAME );
echo "DBMS_VER: "; var_dump( $server->DBMS_VER );
echo "DB_CODEPAGE: "; var_dump( $server->DB_CODEPAGE );
echo "DB_NAME: "; var_dump( $server->DB_NAME );
echo "INST_NAME: "; var_dump( $server->INST_NAME );
echo "SPECIAL_CHARS: "; var_dump( $server->SPECIAL_CHARS );
echo "KEYWORDS: "; var_dump( sizeof($server->KEYWORDS) );
echo "DFT_ISOLATION: "; var_dump( $server->DFT_ISOLATION );
echo "ISOLATION_OPTION: ";
$il = '';
foreach( $server->ISOLATION_OPTION as $opt )
{
$il .= $opt." ";
}
var_dump( $il );
echo "SQL_CONFORMANCE: "; var_dump( $server->SQL_CONFORMANCE );
echo "PROCEDURES: "; var_dump( $server->PROCEDURES );
echo "IDENTIFIER_QUOTE_CHAR: "; var_dump( $server->IDENTIFIER_QUOTE_CHAR );
echo "LIKE_ESCAPE_CLAUSE: "; var_dump( $server->LIKE_ESCAPE_CLAUSE );
echo "MAX_COL_NAME_LEN: "; var_dump( $server->MAX_COL_NAME_LEN );
echo "MAX_ROW_SIZE: "; var_dump( $server->MAX_ROW_SIZE );
echo "MAX_IDENTIFIER_LEN: "; var_dump( $server->MAX_IDENTIFIER_LEN );
echo "MAX_INDEX_SIZE: "; var_dump( $server->MAX_INDEX_SIZE );
echo "MAX_PROC_NAME_LEN: "; var_dump( $server->MAX_PROC_NAME_LEN );
echo "MAX_SCHEMA_NAME_LEN: "; var_dump( $server->MAX_SCHEMA_NAME_LEN );
echo "MAX_STATEMENT_LEN: "; var_dump( $server->MAX_STATEMENT_LEN );
echo "MAX_TABLE_NAME_LEN: "; var_dump( $server->MAX_TABLE_NAME_LEN );
echo "NON_NULLABLE_COLUMNS: "; var_dump( $server->NON_NULLABLE_COLUMNS );

db2_close($conn);
}
?>

Yukarıdaki örneğin çıktısı:

DBMS_NAME: string(9) "DB2/LINUX"
DBMS_VER: string(10) "08.02.0000"
DB_CODEPAGE: int(1208)
DB_NAME: string(6) "SAMPLE"
INST_NAME: string(8) "db2inst1"
SPECIAL_CHARS: string(2) "@#"
KEYWORDS: int(179)
DFT_ISOLATION: string(2) "CS"
ISOLATION_OPTION: string(12) "UR CS RS RR "
SQL_CONFORMANCE: string(7) "FIPS127"
PROCEDURES: bool(true)
IDENTIFIER_QUOTE_CHAR: string(1) """
LIKE_ESCAPE_CLAUSE: bool(true)
MAX_COL_NAME_LEN: int(30)
MAX_ROW_SIZE: int(32677)
MAX_IDENTIFIER_LEN: int(18)
MAX_INDEX_SIZE: int(1024)
MAX_PROC_NAME_LEN: int(128)
MAX_SCHEMA_NAME_LEN: int(30)
MAX_STATEMENT_LEN: int(2097152)
MAX_TABLE_NAME_LEN: int(128)
NON_NULLABLE_COLUMNS: bool(true)

Ayrıca Bakınız

  • db2_client_info() - Returns an object with properties that describe the DB2 database client


Set options for connection or statement resources

  • « db2_server_info
  • db2_special_columns »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Set options for connection or statement resources

db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Set options for connection or statement resources

Açıklama

db2_set_option(resource $resource, array $options, int $type): bool

Sets options for a statement resource or a connection resource. You cannot set options for result set resources.

Bağımsız Değişkenler

resource

A valid statement resource as returned from db2_prepare() or a valid connection resource as returned from db2_connect() or db2_pconnect().

options

An associative array containing valid statement or connection options. This parameter can be used to change autocommit values, cursor types (scrollable or forward), and to specify the case of the column names (lower, upper, or natural) that will appear in a result set.

autocommit

Passing DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection resource.

Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the specified connection resource.

cursor

Passing DB2_FORWARD_ONLY specifies a forward-only cursor for a statement resource. This is the default cursor type, and is supported by all database servers.

Passing DB2_SCROLLABLE specifies a scrollable cursor for a statement resource. Scrollable cursors enable result set rows to be accessed in non-sequential order, but are only supported by IBM DB2 Universal Database databases.

binmode

Passing DB2_BINARY specifies that binary data will be returned as is. This is the default mode. This is the equivalent of setting ibm_db2.binmode=1 in php.ini.

Passing DB2_CONVERT specifies that binary data will be converted to hexadecimal encoding, and will be returned as such. This is the equivalent of setting ibm_db2.binmode=2 in php.ini.

Passing DB2_PASSTHRU specifies that binary data will be converted to null. This is the equivalent of setting ibm_db2.binmode=3 in php.ini.

db2_attr_case

Passing DB2_CASE_LOWER specifies that column names of the result set are returned in lower case.

Passing DB2_CASE_UPPER specifies that column names of the result set are returned in upper case.

Passing DB2_CASE_NATURAL specifies that column names of the result set are returned in natural case.

deferred_prepare

Passing DB2_DEFERRED_PREPARE_ON turns deferred prepare on for the specified statement resource.

Passing DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the specified statement resource.

The following new i5/OS options are available in ibm_db2 version 1.5.1 and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.

i5_fetch_only

DB2_I5_FETCH_ON - Cursors are read-only and cannot be used for positioned updates or deletes. This is the default unless SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.

DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and deletes.

The following new option is available in ibm_db2 version 1.8.0 and later.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - Client can request the full row count prior to fetching, which means that db2_num_rows() returns the number of rows selected even when a ROLLFORWARD_ONLY cursor is used.

DB2_ROWCOUNT_PREFETCH_OFF - Client cannot request the full row count prior to fetching.

The following new options are available in ibm_db2 version 1.7.0 and later.

trusted_user

To switch the user to a trusted user, pass the User ID (String) of the trusted user as the value of this key. This option can be set on a connection resource only. To use this option, trusted context must be enabled on the connection resource.

trusted_password

The password (String) that corresponds to the user specified by the trusted_user key.

The following new options are available in ibm_db2 version 1.6.0 and later. These options provide useful tracking information that can be accessed during execution with db2_get_option().

Bilginize:

When the value in each option is being set, some servers might not handle the entire length provided and might truncate the value.

To ensure that the data specified in each option is converted correctly when transmitted to a host system, use only the characters A through Z, 0 through 9, and the underscore (_) or period (.).

userid

SQL_ATTR_INFO_USERID - A pointer to a null-terminated character string used to identify the client user ID sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 16 characters. This user-id is not to be confused with the authentication user-id, it is for identification purposes only and is not used for any authorization.

acctstr

SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character string used to identify the client accounting string sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 200 characters.

applname

SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character string used to identify the client application name sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 32 characters.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character string used to identify the client workstation name sent to the host database server when using DB2 Connect.

Bilginize:

DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

type

An integer value that specifies the type of resource that was passed into the function. The type of resource and this value must correspond.

Passing 1 as the value specifies that a connection resource has been passed into the function.

Passing any integer not equal to 1 as the value specifies that a statement resource has been passed into the function.

The following table specifies which options are compatible with the available resource types:

Resource-Parameter Matrix
Key | Value | Resource Type
 |  | Connection | Statement | Result Set
autocommit | DB2_AUTOCOMMIT_ON | X | - | -
autocommit | DB2_AUTOCOMMIT_OFF | X | - | -
cursor | DB2_SCROLLABLE | - | X | -
cursor | DB2_FORWARD_ONLY | - | X | -
binmode | DB2_BINARY | X | X | -
binmode | DB2_CONVERT | X | X | -
binmode | DB2_PASSTHRU | X | X | -
db2_attr_case | DB2_CASE_LOWER | X | X | -
db2_attr_case | DB2_CASE_UPPER | X | X | -
db2_attr_case | DB2_CASE_NATURAL | X | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_ON | - | X | -
deferred_prepare | DB2_DEFERRED_PREPARE_OFF | - | X | -
i5_fetch_only | DB2_I5_FETCH_ON | - | X | -
i5_fetch_only | DB2_I5_FETCH_OFF | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_ON | - | X | -
rowcount | DB2_ROWCOUNT_PREFETCH_OFF | - | X | -
trusted_user | <USER NAME> (String) | X | - | -
trusted_password | <PASSWORD> (String) | X | - | -
userid | SQL_ATTR_INFO_USERID | X | X | -
acctstr | SQL_ATTR_INFO_ACCTSTR | X | X | -
applname | SQL_ATTR_INFO_APPLNAME | X | X | -
wrkstnname | SQL_ATTR_INFO_WRKSTNNAME | X | X | -

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting one parameter with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Options Set Successfully

Örnek 2 Setting multiple parameters with a connection resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Options Set Successfully

Örnek 3 Setting multiple parameters with an invalid key

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'MY_INVALID_KEY' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Could Not Set Options

Örnek 4 Setting multiple parameters with an invalid value

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => 'INVALID_VALUE',
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and type values */
$result = db2_set_option($conn, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Could Not Set Options

Örnek 5 Setting multiple parameters with a connection resource and the wrong type

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

/* Call the function using the correct resource, options array, and the wrong type value */
$result = db2_set_option($conn, $options, 2);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Could Not Set Options

Örnek 6 Setting multiple parameters with the wrong resource

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
'binmode' => DB2_PASSTHRU,
'db2_attr_case' => DB2_CASE_UPPER,
'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');

/* Call the function using the wrong resource, and the correct options array, and type values */
$result = db2_set_option($stmt, $options, 1);

/* Check if all options could be set correctly */
if($result)
{
echo 'Options Set Successfully';
}
else
{
echo 'Could Not Set Options';
}
?>

Yukarıdaki örneğin çıktısı:

Could Not Set Options

Örnek 7 Putting it all together

<?php
/* Database Connection Parameters */
$database = 'SAMPLE';
$hostname = 'localhost';
$port = 50000;
$protocol = 'TCPIP';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Connection String */
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
$conn_string .= "UID=$username;PWD=$password;";

/* Obtain Connection Resource */
$conn = db2_connect($conn_string, '', '');

/* Create the associative options array with valid key-value pairs */
$options = array('db2_attr_case' => DB2_CASE_LOWER,
'cursor' => DB2_SCROLLABLE);

$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');

/* Call the function using the correct resource, options array, and type values */
$option_result = db2_set_option($stmt, $options, 2);
$result = db2_execute($stmt, array('000130', '000140'));

/* Get Row 2 before Row 1 since Scrollable Cursor */
print_r(db2_fetch_assoc($stmt, 2));
print '<br /><br />';
print_r(db2_fetch_assoc($stmt, 1));

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Örnek 8 i5/OS cursors are read-only

<?php
$conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
$stmt = db2_prepare($conn, 'select * from names where first = ?');
$name = "first2";
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
$options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
db2_set_option($stmt,$options,0);
if (db2_execute($stmt)) {
while ($row = db2_fetch_array($stmt)) {
echo "{$row[0]} {$row[1]}";
}
}
?>

Yukarıdaki örneğin çıktısı:

first2 last2

Ayrıca Bakınız

  • db2_connect() - Returns a connection to a database
  • db2_pconnect() - Returns a persistent connection to a database
  • db2_exec() - Executes an SQL statement directly
  • db2_prepare() - Prepares an SQL statement to be executed
  • db2_cursor_type() - Returns the cursor type used by a statement resource


Returns a result set listing the unique row identifier columns for a table

  • « db2_set_option
  • db2_statistics »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the unique row identifier columns for a table

db2_special_columns

(PECL ibm_db2 >= 1.0.0)

db2_special_columns — Returns a result set listing the unique row identifier columns for a table

Açıklama

db2_special_columns(
resource $connection,
?string $qualifier,
string $schema,
string $table_name,
int $scope
): resource

Returns a result set listing the unique row identifier columns for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables.

table_name

The name of the table.

scope

Integer value representing the minimum duration for which the unique row identifier is valid. This can be one of the following values:

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.

Dönen Değerler

Returns a statement resource with a result set containing rows with unique row identifier information for a table. The rows are composed of the following columns:

Column name | Description
SCOPE

Integer value | SQL constant | Description
0 | SQL_SCOPE_CURROW | Row identifier is valid only while the cursor is positioned on the row.
1 | SQL_SCOPE_TRANSACTION | Row identifier is valid for the duration of the transaction.
2 | SQL_SCOPE_SESSION | Row identifier is valid for the duration of the connection.
COLUMN_NAME | Name of the unique column.
DATA_TYPE | SQL data type for the column.
TYPE_NAME | Character string representation of the SQL data type for the column.
COLUMN_SIZE | An integer value representing the size of the column.
BUFFER_LENGTH | Maximum number of bytes necessary to store data from this column.
DECIMAL_DIGITS | The scale of the column, or null where scale is not applicable.
NUM_PREC_RADIX | An integer value of either 10 (representing an exact numeric data type), 2 (representing an approximate numeric data type), or null (representing a data type for which radix is not applicable).
PSEUDO_COLUMN | Always returns 1.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the index and statistics for a table

  • « db2_special_columns
  • db2_stmt_error »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the index and statistics for a table

db2_statistics

(PECL ibm_db2 >= 1.0.0)

db2_statistics — Returns a result set listing the index and statistics for a table

Açıklama

db2_statistics(
resource $connection,
?string $qualifier,
?string $schema,
string $table_name,
bool $unique
): resource

Returns a result set listing the index and statistics for a table.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema that contains the targeted table. If this parameter is null, the statistics and indexes are returned for the schema of the current user.

table_name

The name of the table.

unique

When unique is true, the information for all indexes in the table are returned. Otherwise, only the information for unique indexes in the table are returned.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the statistics and indexes for the base tables matching the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
NON_UNIQUE

An integer value representing whether the index prohibits unique values, or whether the row represents statistics on the table itself:

Return value | Parameter type
0 (SQL_FALSE) | The index allows duplicate values.
1 (SQL_TRUE) | The index values must be unique.
null | This row is statistics information for the table itself.
INDEX_QUALIFIER | A string value representing the qualifier that would have to be prepended to INDEX_NAME to fully qualify the index.
INDEX_NAME | A string representing the name of the index.
TYPE

An integer value representing the type of information contained in this row of the result set:

Return value | Parameter type
0 (SQL_TABLE_STAT) | The row contains statistics about the table itself.
1 (SQL_INDEX_CLUSTERED) | The row contains information about a clustered index.
2 (SQL_INDEX_HASH) | The row contains information about a hashed index.
3 (SQL_INDEX_OTHER) | The row contains information about a type of index that is neither clustered nor hashed.
ORDINAL_POSITION | The 1-indexed position of the column in the index. null if the row contains statistics information about the table itself.
COLUMN_NAME | The name of the column in the index. null if the row contains statistics information about the table itself.
ASC_OR_DESC | A if the column is sorted in ascending order, D if the column is sorted in descending order, null if the row contains statistics information about the table itself.
CARDINALITY

If the row contains information about an index, this column contains an integer value representing the number of unique values in the index.

If the row contains information about the table itself, this column contains an integer value representing the number of rows in the table.

PAGES

If the row contains information about an index, this column contains an integer value representing the number of pages used to store the index.

If the row contains information about the table itself, this column contains an integer value representing the number of pages used to store the table.

FILTER_CONDITION | Always returns null.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a string containing the SQLSTATE returned by an SQL statement

  • « db2_statistics
  • db2_stmt_errormsg »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a string containing the SQLSTATE returned by an SQL statement

db2_stmt_error

(PECL ibm_db2 >= 1.0.0)

db2_stmt_error — Returns a string containing the SQLSTATE returned by an SQL statement

Açıklama

db2_stmt_error(?resource $stmt = null): string

Returns a string containing the SQLSTATE value returned by an SQL statement.

If you do not pass a statement resource as an argument to db2_stmt_error(), the driver returns the SQLSTATE value associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line Processor prompt: db2 '? sqlstate-value'. You can also call db2_stmt_errormsg() to retrieve an explicit error message and the associated SQLCODE value.

Bağımsız Değişkenler

stmt

A valid statement resource.

Dönen Değerler

Returns a string containing an SQLSTATE value.

Ayrıca Bakınız

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_errormsg() - Returns a string containing the last SQL statement error message


Returns a string containing the last SQL statement error message

  • « db2_stmt_error
  • db2_table_privileges »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a string containing the last SQL statement error message

db2_stmt_errormsg

(PECL ibm_db2 >= 1.0.0)

db2_stmt_errormsg — Returns a string containing the last SQL statement error message

Açıklama

db2_stmt_errormsg(?resource $stmt = null): string

Returns a string containing the last SQL statement error message.

If you do not pass a statement resource as an argument to db2_stmt_errormsg(), the driver returns the error message associated with the last attempt to return a statement resource, for example, from db2_prepare() or db2_exec().

Bağımsız Değişkenler

stmt

A valid statement resource.

Dönen Değerler

Returns a string containing the error message and SQLCODE value for the last error that occurred issuing an SQL statement.

Ayrıca Bakınız

  • db2_conn_error() - Returns a string containing the SQLSTATE returned by the last connection attempt
  • db2_conn_errormsg() - Returns the last connection error message and SQLCODE value
  • db2_stmt_error() - Returns a string containing the SQLSTATE returned by an SQL statement


Returns a result set listing the tables and associated privileges in a database

  • « db2_stmt_errormsg
  • db2_tables »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the tables and associated privileges in a database

db2_table_privileges

(PECL ibm_db2 >= 1.0.0)

db2_table_privileges — Returns a result set listing the tables and associated privileges in a database

Açıklama

db2_table_privileges(
resource $connection,
?string $qualifier = null,
?string $schema = null,
?string $table_name = null
): resource

Returns a result set listing the tables and associated privileges in a database.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the privileges for the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
GRANTOR | Authorization ID of the user who granted the privilege.
GRANTEE | Authorization ID of the user to whom the privilege was granted.
PRIVILEGE | The privilege that has been granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
IS_GRANTABLE | A string value of "YES" or "NO" indicating whether the grantee can grant the privilege to other users.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_tables() - Returns a result set listing the tables and associated metadata in a database


Returns a result set listing the tables and associated metadata in a database

  • « db2_table_privileges
  • MongoDB »
  • PHP Manual
  • IBM DB2 İşlevleri
  • Returns a result set listing the tables and associated metadata in a database

db2_tables

(PECL ibm_db2 >= 1.0.0)

db2_tables — Returns a result set listing the tables and associated metadata in a database

Açıklama

db2_tables(
resource $connection,
?string $qualifier = null,
?string $schema = null,
?string $table_name = null,
?string $table_type = null
): resource

Returns a result set listing the tables and associated metadata in a database.

Bağımsız Değişkenler

connection

A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.

qualifier

A qualifier for DB2 databases running on OS/390 or z/OS servers. For other databases, pass null or an empty string.

schema

The schema which contains the tables. This parameter accepts a search pattern containing _ and % as wildcards.

table_name

The name of the table. This parameter accepts a search pattern containing _ and % as wildcards.

table_type

A list of comma-delimited table type identifiers. To match all table types, pass null or an empty string. Valid table type identifiers include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW, and VIEW.

Dönen Değerler

Returns a statement resource with a result set containing rows describing the tables that match the specified parameters. The rows are composed of the following columns:

Column name | Description
TABLE_CAT | The catalog that contains the table. The value is null if this table does not have catalogs.
TABLE_SCHEM | Name of the schema that contains the table.
TABLE_NAME | Name of the table.
TABLE_TYPE | Table type identifier for the table.
REMARKS | Description of the table.

Ayrıca Bakınız

  • db2_column_privileges() - Returns a result set listing the columns and associated privileges for a table
  • db2_columns() - Returns a result set listing the columns and associated metadata for a table
  • db2_foreign_keys() - Returns a result set listing the foreign keys for a table
  • db2_primary_keys() - Returns a result set listing primary keys for a table
  • db2_procedure_columns() - Returns a result set listing stored procedure parameters
  • db2_procedures() - Returns a result set listing the stored procedures registered in a database
  • db2_special_columns() - Returns a result set listing the unique row identifier columns for a table
  • db2_statistics() - Returns a result set listing the index and statistics for a table
  • db2_table_privileges() - Returns a result set listing the tables and associated privileges in a database


MongoDB driver

This extension is developed atop the » libmongoc and » libbson libraries. It provides a minimal API for core driver functionality: commands, queries, writes, connection management, and BSON serialization.

Userland PHP libraries that depend on this extension may provide higher level APIs, such as query builders, individual command helper methods, and GridFS. Application developers should consider using this extension in conjunction with the » MongoDB PHP library, which implements the same higher level APIs found in MongoDB drivers for other languages. This separation of concerns allows the driver to focus on essential features for which an extension implementation is paramount for performance.

  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Öntanımlı Sabitler
  • Tutorials
    • Using the PHP Library for MongoDB (PHPLIB)
    • Application Performance Monitoring (APM)
  • Driver Architecture and Internals — Explains the driver architecture, and special features
    • Architecture — Architecture Overview
    • Connections — Connection handling and persistence
    • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
  • Security
    • Request Injection Attacks
    • Script Injection Attacks
  • MongoDB\Driver — MongoDB driver classes
    • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\Session — The MongoDB\Driver\Session class
    • MongoDB\Driver\ClientEncryption — The MongoDB\Driver\ClientEncryption class
    • MongoDB\Driver\ServerApi — The MongoDB\Driver\ServerApi class
    • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\CursorInterface — The MongoDB\Driver\CursorInterface interface
    • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\ServerDescription — The MongoDB\Driver\ServerDescription class
    • MongoDB\Driver\TopologyDescription — The MongoDB\Driver\TopologyDescription class
    • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
  • MongoDB\BSON — BSON type classes and serialization functions
    • İşlevleri
    • MongoDB\BSON\Document — The MongoDB\BSON\Document class
    • MongoDB\BSON\PackedArray — The MongoDB\BSON\PackedArray class
    • MongoDB\BSON\Iterator — The MongoDB\BSON\Iterator class
    • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\ObjectId — The MongoDB\BSON\ObjectId class
    • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
    • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
    • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
    • MongoDB\BSON\BinaryInterface — The MongoDB\BSON\BinaryInterface interface
    • MongoDB\BSON\Decimal128Interface — The MongoDB\BSON\Decimal128Interface interface
    • MongoDB\BSON\JavascriptInterface — The MongoDB\BSON\JavascriptInterface interface
    • MongoDB\BSON\MaxKeyInterface — The MongoDB\BSON\MaxKeyInterface interface
    • MongoDB\BSON\MinKeyInterface — The MongoDB\BSON\MinKeyInterface interface
    • MongoDB\BSON\ObjectIdInterface — The MongoDB\BSON\ObjectIdInterface interface
    • MongoDB\BSON\RegexInterface — The MongoDB\BSON\RegexInterface interface
    • MongoDB\BSON\TimestampInterface — The MongoDB\BSON\TimestampInterface interface
    • MongoDB\BSON\UTCDateTimeInterface — The MongoDB\BSON\UTCDateTimeInterface interface
    • MongoDB\BSON\DBPointer — The MongoDB\BSON\DBPointer class (deprecated)
    • MongoDB\BSON\Int64 — The MongoDB\BSON\Int64 class
    • MongoDB\BSON\Symbol — The MongoDB\BSON\Symbol class (deprecated)
    • MongoDB\BSON\Undefined — The MongoDB\BSON\Undefined class (deprecated)
  • MongoDB\Driver\Monitoring — Monitoring classes and subscriber functions
    • İşlevleri
    • MongoDB\Driver\Monitoring\CommandFailedEvent — The MongoDB\Driver\Monitoring\CommandFailedEvent class
    • MongoDB\Driver\Monitoring\CommandStartedEvent — The MongoDB\Driver\Monitoring\CommandStartedEvent class
    • MongoDB\Driver\Monitoring\CommandSucceededEvent — The MongoDB\Driver\Monitoring\CommandSucceededEvent class
    • MongoDB\Driver\Monitoring\ServerChangedEvent — The MongoDB\Driver\Monitoring\ServerChangedEvent class
    • MongoDB\Driver\Monitoring\ServerClosedEvent — The MongoDB\Driver\Monitoring\ServerClosedEvent class
    • MongoDB\Driver\Monitoring\ServerOpeningEvent — The MongoDB\Driver\Monitoring\ServerOpeningEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent class
    • MongoDB\Driver\Monitoring\TopologyChangedEvent — The MongoDB\Driver\Monitoring\TopologyChangedEvent class
    • MongoDB\Driver\Monitoring\TopologyClosedEvent — The MongoDB\Driver\Monitoring\TopologyClosedEvent class
    • MongoDB\Driver\Monitoring\TopologyOpeningEvent — The MongoDB\Driver\Monitoring\TopologyOpeningEvent class
    • MongoDB\Driver\Monitoring\CommandSubscriber — The MongoDB\Driver\Monitoring\CommandSubscriber interface
    • MongoDB\Driver\Monitoring\LogSubscriber — The MongoDB\Driver\Monitoring\LogSubscriber interface
    • MongoDB\Driver\Monitoring\SDAMSubscriber — The MongoDB\Driver\Monitoring\SDAMSubscriber interface
    • MongoDB\Driver\Monitoring\Subscriber — The MongoDB\Driver\Monitoring\Subscriber interface
  • MongoDB\Driver\Exception — Exception classes
    • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
    • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
    • MongoDB\Driver\Exception\CommandException — The MongoDB\Driver\Exception\CommandException class
    • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
    • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
    • MongoDB\Driver\Exception\EncryptionException — The MongoDB\Driver\Exception\EncryptionException class
    • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
    • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
    • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
    • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
    • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
    • MongoDB\Driver\Exception\ServerException — The MongoDB\Driver\Exception\ServerException class
    • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)
    • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
    • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
    • Class Tree — MongoDB Exception Class Tree


Yapılandırma/Kurulum

  • Gereksinimler
  • Kurulum
    • Installing the MongoDB PHP Driver with PECL
    • Installing the MongoDB PHP Driver on macOS with Homebrew
    • Installing the MongoDB PHP Driver on Windows
    • Building the MongoDB PHP Driver from source
  • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler


Gereksinimler

As of version 1.16.0, the driver requires PHP 7.2 or higher. Previous versions of the driver allow compatibility with older PHP versions.

The driver requires » libbson and » libmongoc, and will use bundled versions of both libraries by default. System libraries may also be used, as discussed in the manual installation documentation.

The driver, via libmongoc, optionally depends on a TLS library (e.g. OpenSSL) and will use it if available. If the build process fails to find a TLS library, users should check that the appropriate development package (e.g. libssl-dev) and » pkg-config are both installed. The process for detecting and configuring TLS libraries is discussed in more detail in the manual installation documentation.

» Cyrus SASL is an optional dependency to support Kerberos authentication and will be used if available.

Bilginize: Due to potential problems representing 64-bit integers on 32-bit platforms, users are advised to use 64-bit environments. When using a 32-bit platform, be aware that any 64-bit integer read from the database will be returned as a MongoDB\BSON\Int64 instance instead of a PHP integer type.


Kurulum

İçindekiler

  • Installing the MongoDB PHP Driver with PECL
  • Installing the MongoDB PHP Driver on macOS with Homebrew
  • Installing the MongoDB PHP Driver on Windows
  • Building the MongoDB PHP Driver from source


Installing the MongoDB PHP Driver with PECL

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/mongodb

Linux, Unix, and macOS users may run the following command to install the driver:

$ sudo pecl install mongodb

On systems with multiple version of PHP installed (e.g. macOS default, Homebrew, » XAMPP), each version of PHP will have its own pecl command and php.ini file(s). Additionally, each PHP environments (e.g. CLI, web) may use separate php.ini files.

As of driver version 1.17.0, PECL will prompt for various configure options. To install the driver with default options in a non-interactive script, empty string input may be piped to pecl install using the yes command:

$ yes '' | sudo pecl install mongodb

A complete list of supported configure options can be found in the package.xml file included in the PECL package. To install the driver with specific configure options in a non-interactive script, the --configureoptions option for pecl install may be used:

$ sudo pecl install --configureoptions='with-mongodb-system-libs="yes" enable-mongodb-developer-flags="no"' mongodb

By default, installing the driver via PECL will use bundled versions of » libbson, » libmongoc, and » libmongocrypt and attempt to automatically configure them.

Bilginize: If the build process fails to find an SSL library, check that the development packages (e.g. libssl-dev) and » pkg-config are both installed. If that does not resolve the problem, consider using the manual installation process.

Finally, add the following line to the php.ini file for each environment that will need to use the driver:

extension=mongodb.so


Installing the MongoDB PHP Driver on macOS with Homebrew

» Homebrew 1.5.0 deprecated the » Homebrew/php tap and removed formulae for individual PHP extensions. Going forward, macOS users are advised to install the » php formula and follow the standard PECL installation instructions using the pecl command provided by the Homebrew PHP installation.


Installing the MongoDB PHP Driver on Windows

Precompiled binaries are attached to the project's » Github releases. Archives are published for various combinations of PHP version, thread safety (TS or NTS), and architecture (x86 or x64). Determining the correct archive for the PHP environment and extract the php_mongodb.dll file to the extension directory ("ext" by default).

Add the following line to the php.ini file for each environment that will need to use the driver:

extension=php_mongodb.dll

Failure to select the correct binary will result in an error when attempting to load the extension DLL at runtime:

PHP Warning:  PHP Startup: Unable to load dynamic library 'mongodb'

Ensure that the downloaded DLL corresponds to the following PHP runtime properties:

  • PHP version (PHP_VERSION)
  • Thread safety (PHP_ZTS)
  • Architecture (PHP_INT_SIZE)

In addition to the aforementioned constants, these properties can also be inferred from phpinfo(). If a system has multiple PHP runtimes installed, double-check that the phpinfo() output is for the correct environment.

Bilginize: Additional DLL dependencies for Windows Users

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libsasl.dll


Building the MongoDB PHP Driver from source

For driver developers and users interested in the latest bugfixes, the driver may be compiled from the latest source code on » Github. Run the following commands to clone and build the project:

$ git clone https://github.com/mongodb/mongo-php-driver.git
$ cd mongo-php-driver
$ git submodule update --init
$ phpize
$ ./configure
$ make all
$ sudo make install

On systems with multiple version of PHP installed (e.g. macOS default, Homebrew, » XAMPP), each version of PHP will have its own phpize command and php.ini file(s). Additionally, each PHP environments (e.g. CLI, web) may use separate php.ini files.

By default, the driver will use bundled versions of » libbson, » libmongoc, and » libmongocrypt and attempt to configure them automatically. If these libraries are already installed as system libraries, the driver can utilize them by specifying --with-mongodb-system-libs=yes as an option to configure.

For a complete list of configure options, run configure --help.

When using bundled versions of libmongoc and libmongocrypt, the driver will also attempt to select an SSL library according to the --with-mongodb-ssl configure option. As of driver version 1.17.0, OpenSSL is always preferred by default. Previously, Secure Transport was the default on macOS and OpenSSL was the default on all other platforms.

Bilginize:

If the build process fails to find an SSL library, check that the development packages (e.g. libssl-dev) and » pkg-config are both installed.

When using Homebrew on macOS, it is common for a system to have multiple versions of OpenSSL installed. To ensure that the desired version of OpenSSL is selected, the PKG_CONFIG_PATH environment variable may be used to control the search path for pkg-config. If pkg-config is not used, configure also supports a --with-openssl-dir=DIR argument, which can be used to specify a manual search path (for OpenSSL only).

The final build step, make install, will report where mongodb.so has been installed, similar to:

Installing shared extensions:     /usr/lib/php/extensions/debug-non-zts-20220829/

Ensure that the extension_dir option in php.ini points to the directory where mongodb.so was installed. The option may be queried by running:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/debug-non-zts-20220829 =>
                   /usr/lib/php/extensions/debug-non-zts-20220829

If the directories differ, either change extension_dir in php.ini or manually move mongodb.so to the correct directory.

Finally, add the following line to the php.ini file for each environment that will need to use the driver:

extension=mongodb.so


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

mongodb Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mongodb.debug | "" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mongodb.debug string

This option can be used to enable or disable trace-level debug logging in the driver (and libmongoc).

Specify an empty string, "0", "off", "no", or "false" to disable logging.

Specify "stderr" or "stdout" to log to stderr or stdout, respectively.

Specify "1", "on", "yes", or "true" to log to a new temporary file within the default system temp directory (i.e. sys_get_temp_dir()).

Specify any other string to log to a new temporary file within that directory. If the directory cannot be used, the default system temp directory will be used instead.

Bilginize:

Please note that the debug log can contain sensitive information, such as credentials to the MongoDB server and full documents written to or read from the server. Please review any debug logs before sharing them with other people.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MONGODB_VERSION (string)
x.y.z style version number of the extension
MONGODB_STABILITY (string)
Current stability (alpha/beta/stable)


Tutorials

In this section you will find several tutorials on how to use the MongoDB driver for PHP.

  • Using the PHP Library for MongoDB (PHPLIB)
  • Application Performance Monitoring (APM)


Using the PHP Library for MongoDB (PHPLIB)

After the initial driver set-up, we will continue explaining how to get started with the MongoDB driver and corresponding userland library to write our first project.

Installing the PHP Library with Composer

The last thing we still need to install to get started on the application itself, is the PHP library.

The library needs to be installed with » Composer, a package manager for PHP. Instructions for installing Composer on various platforms may be found on its website.

Install the library by running:

$ composer require mongodb/mongodb

It will output something akin to:

./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing mongodb/mongodb (1.0.0)
    Downloading: 100%

Writing lock file
Generating autoload files

Composer will create several files: composer.json, composer.lock, and a vendor directory that will contain the library and any other dependencies your project might require.

Using the PHP Library

In addition to managing your dependencies, Composer will also provide you with an autoloader (for those dependencies' classes). Ensure that it is included at the start of your script or in your application's bootstrap code:

<?php
// This path should point to Composer's autoloader
require 'vendor/autoload.php';

With this done, you can now use any of the functionality as described in the » library documentation.

If you have used MongoDB drivers in other languages, the library's API should look familiar. It contains a » Client class for connecting to MongoDB, a » Database class for database-level operations (e.g. commands, collection management), and a » Collection class for collection-level operations (e.g. » CRUD methods, index management).

As an example, this is how you insert a document into the beers collection of the demo database:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>

Since the inserted document did not contain an _id field, the driver will generate an MongoDB\BSON\ObjectId for the server to use as the _id. This value is also made available to the caller via the result object returned by the insertOne method.

After insertion, you can query for the data that you have just inserted. For that, you use the find method, which returns an iterable cursor:

<?php
require 'vendor/autoload.php'; // include Composer's autoloader

$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->demo->beers;

$result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

foreach ($result as $entry) {
echo $entry['_id'], ': ', $entry['name'], "\n";
}
?>

While it may not be apparent in the examples, BSON documents and arrays are unserialized as type classes in the library by default. These classes ensure that values preserve their type when being serialized back into BSON, which avoids a caveat in the old driver where arrays might turn into documents, and vice versa. Additionally, these type classes extend ArrayObject for enhanced usability. You can find more information on how serialization and deserialization between PHP variables and BSON is handled by the driver and library by reading the Persisting Data specification.


Application Performance Monitoring (APM)

The MongoDB driver contains an event subscriber API, which allows applications to monitor commands and internal activity pertaining to the » Server Discovery and Monitoring Specification. This tutorial will demonstrate command monitoring using the MongoDB\Driver\Monitoring\CommandSubscriber interface.

The MongoDB\Driver\Monitoring\CommandSubscriber interface defines three methods: commandStarted, commandSucceeded, and commandFailed. Each of these three methods accept a single event argument of a specific class for the respective event. For example, the commandSucceeded's $event argument is a MongoDB\Driver\Monitoring\CommandSucceededEvent object.

In this tutorial we will implement a subscriber that creates a list of all the query profiles and the average time they took.

Subscriber Class Scaffolding

We start with the framework for our subscriber:

<?php

class QueryTimeCollector implements \MongoDB\Driver\Monitoring\CommandSubscriber
{
public function commandStarted( \MongoDB\Driver\Monitoring\CommandStartedEvent $event ): void
{
}

public function commandSucceeded( \MongoDB\Driver\Monitoring\CommandSucceededEvent $event ): void
{
}

public function commandFailed( \MongoDB\Driver\Monitoring\CommandFailedEvent $event ): void
{
}
}

?>

Registering the Subscriber

Once a subscriber object is instantiated, it needs to be registered with the driver's monitoring system. This is done by calling MongoDB\Driver\Monitoring\addSubscriber() or MongoDB\Driver\Manager::addSubscriber() to register the subscriber globally or with a specific Manager, respectively.

<?php

\MongoDB\Driver\Monitoring\addSubscriber( new QueryTimeCollector() );

?>

Implementing the Logic

With the object registered, the only thing left is to implement the logic in the subscriber class. To correlate the two events that make up a successfully executed command (commandStarted and commandSucceeded), each event object exposes a requestId field.

To record the average time per query shape, we will start by checking for a find command in the commandStarted event. We will then add an item to the pendingCommands property indexed by its requestId and with its value representing the query shape.

If we receive a corresponding commandSucceeded event with the same requestId, we add the duration of the event (from durationMicros) to the total time and increment the operation count.

If a corresponding commandFailed event is encountered, we just remove the entry from the pendingCommands property.

<?php

class QueryTimeCollector implements \MongoDB\Driver\Monitoring\CommandSubscriber
{
private $pendingCommands = [];
private $queryShapeStats = [];

/* Creates a query shape out of the filter argument. Right now it only
* takes the top level fields into account */
private function createQueryShape( array $filter )
{
return json_encode( array_keys( $filter ) );
}

public function commandStarted( \MongoDB\Driver\Monitoring\CommandStartedEvent $event ): void
{
if ( array_key_exists( 'find', (array) $event->getCommand() ) )
{
$queryShape = $this->createQueryShape( (array) $event->getCommand()->filter );
$this->pendingCommands[$event->getRequestId()] = $queryShape;
}
}

public function commandSucceeded( \MongoDB\Driver\Monitoring\CommandSucceededEvent $event ): void
{
$requestId = $event->getRequestId();
if ( array_key_exists( $requestId, $this->pendingCommands ) )
{
$this->queryShapeStats[$this->pendingCommands[$requestId]]['count']++;
$this->queryShapeStats[$this->pendingCommands[$requestId]]['duration'] += $event->getDurationMicros();
unset( $this->pendingCommands[$requestId] );
}
}

public function commandFailed( \MongoDB\Driver\Monitoring\CommandFailedEvent $event ): void
{
if ( array_key_exists( $event->getRequestId(), $this->pendingCommands ) )
{
unset( $this->pendingCommands[$event->getRequestId()] );
}
}

public function __destruct()
{
foreach( $this->queryShapeStats as $shape => $stats )
{
echo "Shape: ", $shape, " (", $stats['count'], ")\n ",
$stats['duration'] / $stats['count'], "µs\n\n";
}
}
}

$m = new \MongoDB\Driver\Manager( 'mongodb://localhost:27016' );

/* Add the subscriber */
\MongoDB\Driver\Monitoring\addSubscriber( new QueryTimeCollector() );

/* Do a bunch of queries */
$query = new \MongoDB\Driver\Query( [
'region_slug' => 'scotland-highlands', 'age' => [ '$gte' => 20 ]
] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

$query = new \MongoDB\Driver\Query( [
'region_slug' => 'scotland-lowlands', 'age' => [ '$gte' => 15 ]
] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

$query = new \MongoDB\Driver\Query( [ 'region_slug' => 'scotland-lowlands' ] );
$cursor = $m->executeQuery( 'dramio.whisky', $query );

?>


Explains the driver architecture, and special features

  • Architecture — Architecture Overview
  • Connections — Connection handling and persistence
  • Persisting Data — Serialization and deserialization of PHP variables into MongoDB
    • Serialization to BSON
    • Deserialization from BSON


Architecture Overview

This article explains how all the different components of the PHP driver fit together, from base system libraries, through the extension, and to the PHP libraries on top.

At the top of this stack sits a » PHP library, which is distributed as a » Composer package. This library provides an API consistent with other MongoDB » drivers and implements various cross-driver » specifications. While the extension can be used directly, the library has minimal overhead and should be a common dependency for most applications built with MongoDB.

Sitting below that library is a PHP extension, which is distributed through » PECL. The extension forms the glue between PHP and our system libraries (» libmongoc, » libbson, and » libmongocrypt). Its public API provides only the most essential functionality:

  • Connection management
  • BSON encoding and decoding
  • Object document serialization (to support ODM libraries)
  • Executing commands, queries, and write operations
  • Handling cursors for command and query results

Driver Source Code and JIRA Projects
Project | GitHub | JIRA
PHP Library | » mongodb/mongo-php-library | » PHPLIB
PHP Extension | » mongodb/mongo-php-driver | » PHPC


Connection handling and persistence

Bilginize: On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Connection and topology persistence (PHP version since 1.2.0)

All versions of the driver since 1.2.0 persist the » libmongoc client object in the PHP worker process, which allows it to re-use database connections, authentication states, and topology information across multiple requests.

When MongoDB\Driver\Manager::__construct() is invoked, a hash is created from its arguments (i.e. URI string and array options). The driver will attempt to find a previously persisted » libmongoc client object for that hash. If an existing client cannot be found for the hash, a new client will be created and persisted for future use. This behavior can be disabled via the "disableClientPersistence" driver option.

Each client contains its own database connections and a view of the server topology (e.g. standalone, replica set, shard cluster). By persisting the client between PHP requests, the driver is able to re-use established database connections and remove the need for » discovering the server topology on each request.

Consider the following example:

<?php

$managers = [
new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
new MongoDB\Driver\Manager('mongodb://127.0.0.1'),
new MongoDB\Driver\Manager('mongodb://127.0.0.1:27017'),
new MongoDB\Driver\Manager('mongodb://rs1.example.com,rs2.example.com/', ['replicaSet' => 'myReplicaSet']),
];

foreach ($managers as $manager) {
$manager->executeCommand('test', new MongoDB\Driver\Command(['ping' => 1]));
}

?>

The first two Manager objects will share the same » libmongoc client since their constructor arguments are identical. The third and fourth objects will each use their own client. In total, three clients will be created and the PHP worker executing this script will open two connections to 127.0.0.1 and one connection to each of rs1.example.com and rs2.example.com. If the driver discovers additional members of the replica set after issuing hello commands, it will open additional connections to those servers as well.

If the same worker executes the script again in a second request, the three clients will be re-used and no new connections will be made. Depending on how long ago the previous request was served, the driver may need to issue additional hello commands to update its view of the topologies.

Socket persistence (PHP versions before 1.2.0)

Versions of the PHP driver before 1.2.0 utilize PHP's Streams API for database connections, using an API within » libmongoc to designate custom handlers for socket communication; however, a new libmongoc client is created for each MongoDB\Driver\Manager. As a result, the driver persists individual database connections but not authentication state or topology information. This means that the driver needs to issue commands at the start of each request to authenticate and » discover the server topology.

Database connections are persisted by a hash derived from the server's host, port, and the URI string used to construct the MongoDB\Driver\Manager. The constructor's array options are not included in this hash.

Bilginize: Versions of the driver >= 1.1.8 and < 1.2.0 do not persist sockets for SSL connections. See » PHPC-720 for additional information.

Despite its shortcomings with persisting SSL connections when and topology information, this version of the driver supports all SSL context options since it uses PHP's Streams API.


Serialization and deserialization of PHP variables into MongoDB

İçindekiler

  • Serialization to BSON
  • Deserialization from BSON

This document discusses the methods how compound structures (documents, arrays, objects) are persisted through the drivers. And how they are brought back into PHP land.


Serialization to BSON

Arrays

If an array is a packed array — i.e. empty array or the keys start at 0 and are sequential without gaps: BSON array.

If the array is not packed — i.e. having associative (string) keys, the keys don't start at 0, or when there are gaps:: BSON object

A top-level (root) document, always serializes as a BSON document.

Examples

These serialize as a BSON array:

[ 8, 5, 2, 3 ] => [ 8, 5, 2, 3 ]
[ 0 => 4, 1 => 9 ] => [ 4, 9 ]

These serialize as a BSON document:

[ 0 => 1, 2 => 8, 3 => 12 ] => { "0" : 1, "2" : 8, "3" : 12 }
[ "foo" => 42 ] => { "foo" : 42 }
[ 1 => 9, 0 => 10 ] => { "1" : 9, "0" : 10 }

Note that the five examples are extracts of a full document, and represent only one value inside a document.

Objects

If an object is of the stdClass class, serialize as a BSON document.

If an object is a supported class that implements MongoDB\BSON\Type, then use the BSON serialization logic for that specific type. MongoDB\BSON\Type instances (excluding MongoDB\BSON\Serializable may only be serialized as a document field value. Attempting to serialize such an object as a root document will throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of an unknown class implementing the MongoDB\BSON\Type interface, then throw a MongoDB\Driver\Exception\UnexpectedValueException

If an object is of any other class, without implementing any special interface, serialize as a BSON document. Keep only public properties, and ignore protected and private properties.

If an object is of a class that implements the MongoDB\BSON\Serializable interface, call MongoDB\BSON\Serializable::bsonSerialize() and use the returned array or stdClass to serialize as a BSON document or array. The BSON type will be determined by the following:

  1. Root documents must be serialized as a BSON document.

  2. MongoDB\BSON\Persistable objects must be serialized as a BSON document.

  3. If MongoDB\BSON\Serializable::bsonSerialize() returns a packed array, serialize as a BSON array.

  4. If MongoDB\BSON\Serializable::bsonSerialize() returns a non-packed array or stdClass, serialize as a BSON document.

  5. If MongoDB\BSON\Serializable::bsonSerialize() did not return an array or stdClass, throw an MongoDB\Driver\Exception\UnexpectedValueException exception.

If an object is of a class that implements the MongoDB\BSON\Persistable interface (which implies MongoDB\BSON\Serializable), obtain the properties in a similar way as in the previous paragraphs, but also add an additional property __pclass as a Binary value, with subtype 0x80 and data bearing the fully qualified class name of the object that is being serialized.

The __pclass property is added to the array or object returned by MongoDB\BSON\Serializable::bsonSerialize(), which means it will overwrite any __pclass key/property in the MongoDB\BSON\Serializable::bsonSerialize() return value. If you want to avoid this behaviour and set your own __pclass value, you must not implement MongoDB\BSON\Persistable and should instead implement MongoDB\BSON\Serializable directly.

Examples

<?php

class stdClass {
public $foo = 42;
} // => { "foo" : 42 }

class MyClass {
public $foo = 42;
protected $prot = "wine";
private $fpr = "cheese";
} // => { "foo" : 42 }

class AnotherClass1 implements MongoDB\BSON\Serializable {
public $foo = 42;
protected $prot = "wine";
private $fpr = "cheese";
function bsonSerialize(): array {
return [ 'foo' => $this->foo, 'prot' => $this->prot ];
}
} // => { "foo" : 42, "prot" : "wine" }

class AnotherClass2 implements MongoDB\BSON\Serializable {
public $foo = 42;
function bsonSerialize(): self {
return $this;
}
} // => MongoDB\Driver\Exception\UnexpectedValueException("bsonSerialize() did not return an array or stdClass")

class AnotherClass3 implements MongoDB\BSON\Serializable {
private $elements = [ 'foo', 'bar' ];
function bsonSerialize(): array {
return $this->elements;
}
} // => { "0" : "foo", "1" : "bar" }

class ContainerClass implements MongoDB\BSON\Serializable {
public $things = AnotherClass4 implements MongoDB\BSON\Serializable {
private $elements = [ 0 => 'foo', 2 => 'bar' ];
function bsonSerialize(): array {
return $this->elements;
}
}
function bsonSerialize(): array {
return [ 'things' => $this->things ];
}
} // => { "things" : { "0" : "foo", "2" : "bar" } }

class ContainerClass implements MongoDB\BSON\Serializable {
public $things = AnotherClass5 implements MongoDB\BSON\Serializable {
private $elements = [ 0 => 'foo', 2 => 'bar' ];
function bsonSerialize(): array {
return array_values($this->elements);
}
}
function bsonSerialize(): array {
return [ 'things' => $this->things ];
}
} // => { "things" : [ "foo", "bar" ] }

class ContainerClass implements MongoDB\BSON\Serializable {
public $things = AnotherClass6 implements MongoDB\BSON\Serializable {
private $elements = [ 'foo', 'bar' ];
function bsonSerialize(): array {
return (object) $this->elements;
}
}
function bsonSerialize(): array {
return [ 'things' => $this->things ];
}
} // => { "things" : { "0" : "foo", "1" : "bar" } }

class UpperClass implements MongoDB\BSON\Persistable {
public $foo = 42;
protected $prot = "wine";
private $fpr = "cheese";
function bsonSerialize(): array {
return [ 'foo' => $this->foo, 'prot' => $this->prot ];
}
} // => { "foo" : 42, "prot" : "wine", "__pclass" : { "$type" : "80", "$binary" : "VXBwZXJDbGFzcw==" } }


Deserialization from BSON

Uyarı

BSON documents can technically contain duplicate keys because documents are stored as a list of key-value pairs; however, applications should refrain from generating documents with duplicate keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

The legacy mongo extension deserialized both BSON documents and arrays as PHP arrays. While PHP arrays are convenient to work with, this behavior was problematic because different BSON types could deserialize to the same PHP value (e.g. {"0": "foo"} and ["foo"]) and make it impossible to infer the original BSON type. By default, the current driver addresses this concern by ensuring that BSON arrays and documents are converted to PHP arrays and objects, respectively.

For compound types, there are three data types:

root

refers to the top-level BSON document only

document

refers to embedded BSON documents only

array

refers to a BSON array

Besides the three collective types, it is also possible to configure specific fields in your document to map to the data types mentioned below. As an example, the following type map allows you to map each embedded document within an "addresses" array to an Address class and each "city" field within those embedded address documents to a City class:

[
    'fieldPaths' => [
        'addresses.$' => 'MyProject\Address',
        'addresses.$.city' => 'MyProject\City',
    ],
]

Each of those three data types, as well as the field specific mappings, can be mapped against different PHP types. The possible mapping values are:

not set or NULL (default)

  • A BSON array will be deserialized as a PHP array.

  • A BSON document (root or embedded) without a __pclass property [1] becomes a PHP stdClass object, with each BSON document key set as a public stdClass property.

  • A BSON document (root or embedded) with a __pclass property [1] becomes a PHP object of the class name as defined by the __pclass property.

    If the named class implements the MongoDB\BSON\Persistable interface, then the properties of the BSON document, including the __pclass property, are sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

    If the named class does not exist or does not implement the MongoDB\BSON\Persistable interface, stdClass will be used and each BSON document key (including __pclass) will be set as a public stdClass property.

    The __pclass functionality relies on the property being part of a retrieved MongoDB document. If you use a projection when querying for documents, you need to include the __pclass field in the projection for this functionality to work.

"array"

Turns a BSON array or BSON document into a PHP array. There will be no special treatment of a __pclass property [1], but it may be set as an element in the returned array if it was present in the BSON document.

"object" or "stdClass"

Turns a BSON array or BSON document into a stdClass object. There will be no special treatment of a __pclass property [1], but it may be set as a public property in the returned object if it was present in the BSON document.

"bson"

Turns a BSON array into a MongoDB\BSON\PackedArray and a BSON document into a MongoDB\BSON\Document, regardless of whether the BSON document has a __pclass property [1].

Bilginize: The bson value is only available for the three root types, not in the field specific mappings.

any other string

Defines the class name that the BSON array or BSON object should be deserialized as. For BSON objects that include __pclass properties, that class will take priority.

If the named class does not exist, is not concrete (i.e. it is abstract or an interface), or does not implement MongoDB\BSON\Unserializable then an MongoDB\Driver\Exception\InvalidArgumentException exception is thrown.

If the BSON object has a __pclass property and that class exists and implements MongoDB\BSON\Persistable it will supersede the class provided in the type map.

The properties of the BSON document, including the __pclass property if it exists, will be sent as an associative array to the MongoDB\BSON\Unserializable::bsonUnserialize() function to initialise the object's properties.

TypeMaps

TypeMaps can be set through the MongoDB\Driver\Cursor::setTypeMap() method on a MongoDB\Driver\Cursor object, or the $typeMap argument of MongoDB\BSON\toPHP(), MongoDB\BSON\Document::toPHP(), and MongoDB\BSON\PackedArray::toPHP(). Each of the three classes (root, document, and array) can be individually set, in addition to the field specific types.

If the value in the map is NULL, it means the same as the default value for that item.

Examples

These examples use the following classes:

MyClass

which does not implement any interface

YourClass

which implements MongoDB\BSON\Unserializable

OurClass

which implements MongoDB\BSON\Persistable

TheirClass

which extends OurClass

The MongoDB\BSON\Unserializable::bsonUnserialize() method of YourClass, OurClass, TheirClass iterate over the array and set the properties without modifications. It also sets the $unserialized property to true:

<?php

function bsonUnserialize( array $map )
{
foreach ( $map as $k => $value )
{
$this->$k = $value;
}
$this->unserialized = true;
}

/* typemap: [] (all defaults) */
{ "foo": "yes", "bar" : false }
  -> stdClass { $foo => 'yes', $bar => false }

{ "foo": "no", "array" : [ 5, 6 ] }
  -> stdClass { $foo => 'no', $array => [ 5, 6 ] }

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> stdClass { $foo => 'no', $obj => stdClass { $embedded => 3.14 } }

{ "foo": "yes", "__pclass": "MyClass" }
  -> stdClass { $foo => 'yes', $__pclass => 'MyClass' }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "MyClass" } }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'MyClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass') }

{ "foo": "yes", "__pclass": { "$type" : "80", "$binary" : "OurClass") }
  -> OurClass { $foo => 'yes', $__pclass => Binary(0x80, 'OurClass'), $unserialized => true }

{ "foo": "yes", "__pclass": { "$type" : "44", "$binary" : "YourClass") }
  -> stdClass { $foo => 'yes', $__pclass => Binary(0x44, 'YourClass') }

/* typemap: [ "root" => "MissingClass" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MissingClass does not exist")

/* typemap: [ "root" => "MyClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> MongoDB\Driver\Exception\InvalidArgumentException("MyClass does not implement Unserializable interface")

/* typemap: [ "root" => "MongoDB\BSON\Unserializable" ] */
{ "foo": "yes" }
  -> MongoDB\Driver\Exception\InvalidArgumentException("Unserializable is not a concrete class")

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MongoDB\BSON\Unserializable" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MongoDB\BSON\Unserializable"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> YourClass { $foo => "yes", $__pclass => Binary(0x80, "MyClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> OurClass { $foo => "yes", $__pclass => Binary(0x80, "OurClass"), $unserialized => true }

/* typemap: [ "root" => "YourClass" ] */
{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ "root" => "OurClass" ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "TheirClass" } }
  -> TheirClass { $foo => "yes", $__pclass => Binary(0x80, "TheirClass"), $unserialized => true }

/* typemap: [ 'root' => 'YourClass' ] */
{ foo: "yes", "__pclass" : { "$type": "80", "$binary": "YourClass" } }
  -> YourClass { $foo => 'yes', $__pclass => Binary(0x80, 'YourClass'), $unserialized => true }

/* typemap: [ 'root' => 'array', 'document' => 'array' ] */
{ "foo": "yes", "bar" : false }
  -> [ "foo" => "yes", "bar" => false ]

{ "foo": "no", "array" : [ 5, 6 ] }
  -> [ "foo" => "no", "array" => [ 5, 6 ] ]

{ "foo": "no", "obj" : { "embedded" : 3.14 } }
  -> [ "foo" => "no", "obj" => [ "embedded => 3.14 ] ]

{ "foo": "yes", "__pclass": "MyClass" }
  -> [ "foo" => "yes", "__pclass" => "MyClass" ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "MyClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "MyClass") ]

{ "foo": "yes", "__pclass" : { "$type": "80", "$binary": "OurClass" } }
  -> [ "foo" => "yes", "__pclass" => Binary(0x80, "OurClass") ]

/* typemap: [ 'root' => 'object', 'document' => 'object' ] */
{ "foo": "yes", "__pclass": { "$type": "80", "$binary": "MyClass" } }
  -> stdClass { $foo => "yes", "__pclass" => Binary(0x80, "MyClass") }


  • « Deserialization from BSON
  • Request Injection Attacks »
  • PHP Manual
  • MongoDB
  • Security

Security

  • Request Injection Attacks
  • Script Injection Attacks


Request Injection Attacks

If you are passing $_GET (or $_POST) parameters to your queries, make sure that they are cast to strings first. Users can insert associative arrays in GET and POST requests, which could then become unwanted $-queries.

A fairly innocuous example: suppose you are looking up a user's information with the request http://www.example.com?username=bob. Your application creates the query $q = new \MongoDB\Driver\Query( [ 'username' => $_GET['username'] ]).

Someone could subvert this by getting http://www.example.com?username[$ne]=foo, which PHP will magically turn into an associative array, turning your query into $q = new \MongoDB\Driver\Query( [ 'username' => [ '$ne' => 'foo' ] ] ), which will return all users not named "foo" (all of your users, probably).

This is a fairly easy attack to defend against: make sure $_GET and $_POST parameters are the type you expect before you send them to the database. PHP has the filter_var() function to assist with this.

Note that this type of attack can be used with any database interaction that locates a document, including updates, upserts, deletes, and findAndModify commands.

See » the main documentation for more information about SQL-injection-like issues with MongoDB.


Script Injection Attacks

If you are using JavaScript, make sure that any variables that cross the PHP- to-JavaScript boundry are passed in the scope field of MongoDB\BSON\Javascript, not interpolated into the JavaScript string. This can come up when using $where clauses in queries, mapReduce and group commands, and any other time you may pass JavaScript into the database.

For example, suppose we have some JavaScript to greet a user in the database logs. We could do:

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];

$cmd = new \MongoDB\Driver\Command( [
'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

However, what if a malicious user passes in some JavaScript?

<?php
$m = new MongoDB\Driver\Manager;

// Don't do this!!!
$username = $_GET['field'];
// $username is set to "'); db.users.drop(); print('"

$cmd = new \MongoDB\Driver\Command( [
'eval' => "print('Hello, $username!');"
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

Now MongoDB executes the JavaScript string "print('Hello, '); db.users.drop(); print('!');". This attack is easy to avoid: use args to pass variables from PHP to JavaScript:

<?php
$m = new MongoDB\Driver\Manager;

$_GET['field'] = 'derick';
$args = [ $_GET['field'] ];

$cmd = new \MongoDB\Driver\Command( [
'eval' => "function greet(username) { print('Hello, ' + username + '!'); }",
'args' => $args,
] );

$r = $m->executeCommand( 'dramio', $cmd );
?>

This adds an argument to the JavaScript scope, which gets used as argument for the greet function. Now if someone tries to send malicious code, MongoDB will harmlessly print Hello, '); db.dropDatabase(); print('!.

Using arguments helps to prevent malicious input from being executed by the database. However, you must make sure that your code does not turn around and execute the input anyway! It is best to avoid executing any JavaScript on the server in the first place.

You are strongly recommended to stay clear of the » $where clause with queries, as it impacts performance significantly. Where possible, use either normal query operators, or the » Aggregation Framework.

As alternative to » MapReduce, which uses JavaScript, consider using the » Aggregation Framework. Unlike Map/Reduce, it uses an idiomatic language to construct queries, without having to write, and use, the slower JavaScript approach that Map/Reduce requires.

The » eval command has been deprecated since MongoDB 3.0, and should also be avoided.


MongoDB driver classes

  • MongoDB\Driver\Manager — The MongoDB\Driver\Manager class
    • MongoDB\Driver\Manager::addSubscriber — Registers a monitoring event subscriber with this Manager
    • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
    • MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object
    • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand — Execute a database command
    • MongoDB\Driver\Manager::executeQuery — Execute a database query
    • MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads
    • MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes
    • MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes
    • MongoDB\Driver\Manager::getEncryptedFieldsMap — Return the encryptedFieldsMap auto encryption option for the Manager
    • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::removeSubscriber — Unregisters a monitoring event subscriber with this Manager
    • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
    • MongoDB\Driver\Manager::startSession — Start a new client session for use with this client
  • MongoDB\Driver\Command — The MongoDB\Driver\Command class
    • MongoDB\Driver\Command::__construct — Create a new Command
  • MongoDB\Driver\Query — The MongoDB\Driver\Query class
    • MongoDB\Driver\Query::__construct — Create a new Query
  • MongoDB\Driver\BulkWrite — The MongoDB\Driver\BulkWrite class
    • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
    • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
  • MongoDB\Driver\Session — The MongoDB\Driver\Session class
    • MongoDB\Driver\Session::abortTransaction — Aborts a transaction
    • MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session
    • MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session
    • MongoDB\Driver\Session::commitTransaction — Commits a transaction
    • MongoDB\Driver\Session::__construct — Create a new Session (not used)
    • MongoDB\Driver\Session::endSession — Terminates a session
    • MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session
    • MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session
    • MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session
    • MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned
    • MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction
    • MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session
    • MongoDB\Driver\Session::isDirty — Returns whether the session has been marked as dirty
    • MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress
    • MongoDB\Driver\Session::startTransaction — Starts a transaction
  • MongoDB\Driver\ClientEncryption — The MongoDB\Driver\ClientEncryption class
    • MongoDB\Driver\ClientEncryption::addKeyAltName — Adds an alternate name to a key document
    • MongoDB\Driver\ClientEncryption::__construct — Create a new ClientEncryption object
    • MongoDB\Driver\ClientEncryption::createDataKey — Creates a key document
    • MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value
    • MongoDB\Driver\ClientEncryption::deleteKey — Deletes a key document
    • MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value
    • MongoDB\Driver\ClientEncryption::encryptExpression — Encrypts a match or aggregate expression
    • MongoDB\Driver\ClientEncryption::getKey — Gets a key document
    • MongoDB\Driver\ClientEncryption::getKeyByAltName — Gets a key document by an alternate name
    • MongoDB\Driver\ClientEncryption::getKeys — Gets all key documents
    • MongoDB\Driver\ClientEncryption::removeKeyAltName — Removes an alternate name from a key document
    • MongoDB\Driver\ClientEncryption::rewrapManyDataKey — Rewraps data keys
  • MongoDB\Driver\ServerApi — The MongoDB\Driver\ServerApi class
    • MongoDB\Driver\ServerApi::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ServerApi::__construct — Create a new ServerApi instance
    • MongoDB\Driver\ServerApi::serialize — Serialize a ServerApi
    • MongoDB\Driver\ServerApi::unserialize — Unserialize a ServerApi
  • MongoDB\Driver\WriteConcern — The MongoDB\Driver\WriteConcern class
    • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern
    • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
    • MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern
    • MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern
    • MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern
  • MongoDB\Driver\ReadPreference — The MongoDB\Driver\ReadPreference class
    • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference
    • MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string
    • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
    • MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference
    • MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference
  • MongoDB\Driver\ReadConcern — The MongoDB\Driver\ReadConcern class
    • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern
    • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
    • MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern
    • MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern
    • MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern
  • MongoDB\Driver\Cursor — The MongoDB\Driver\Cursor class
    • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
    • MongoDB\Driver\Cursor::current — Returns the current element
    • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results
    • MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor
    • MongoDB\Driver\Cursor::next — Advances the cursor to the next result
    • MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result
    • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
    • MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid
  • MongoDB\Driver\CursorId — The MongoDB\Driver\CursorId class
    • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::serialize — Serialize a CursorId
    • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
    • MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId
  • MongoDB\Driver\CursorInterface — The MongoDB\Driver\CursorInterface interface
    • MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor
    • MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor
    • MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results
    • MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization
    • MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor
  • MongoDB\Driver\Server — The MongoDB\Driver\Server class
    • MongoDB\Driver\Server::__construct — Create a new Server (not used)
    • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
    • MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server
    • MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server
    • MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server
    • MongoDB\Driver\Server::getHost — Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo — Returns an array of information describing this server
    • MongoDB\Driver\Server::getLatency — Returns the latency of this server in milliseconds
    • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Server::getServerDescription — Returns a ServerDescription for this server
    • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set
  • MongoDB\Driver\ServerDescription — The MongoDB\Driver\ServerDescription class
    • MongoDB\Driver\ServerDescription::getHelloResponse — Returns the server's most recent "hello" response
    • MongoDB\Driver\ServerDescription::getHost — Returns the hostname of this server
    • MongoDB\Driver\ServerDescription::getLastUpdateTime — Returns the server's last update time in microseconds
    • MongoDB\Driver\ServerDescription::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\ServerDescription::getRoundTripTime — Returns the server's round trip time in milliseconds
    • MongoDB\Driver\ServerDescription::getType — Returns a string denoting the type of this server
  • MongoDB\Driver\TopologyDescription — The MongoDB\Driver\TopologyDescription class
    • MongoDB\Driver\TopologyDescription::getServers — Returns the servers in the topology
    • MongoDB\Driver\TopologyDescription::getType — Returns a string denoting the type of this topology
    • MongoDB\Driver\TopologyDescription::hasReadableServer — Returns whether the topology has a readable server
    • MongoDB\Driver\TopologyDescription::hasWritableServer — Returns whether the topology has a writable server
  • MongoDB\Driver\WriteConcernError — The MongoDB\Driver\WriteConcernError class
    • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message
  • MongoDB\Driver\WriteError — The MongoDB\Driver\WriteError class
    • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError
    • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message
  • MongoDB\Driver\WriteResult — The MongoDB\Driver\WriteResult class
    • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged


The MongoDB\Driver\Manager class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\Manager is the main entry point to the extension. It is responsible for maintaining connections to MongoDB (be it standalone server, replica set, or sharded cluster).

No connection to MongoDB is made upon instantiating the Manager. This means the MongoDB\Driver\Manager can always be constructed, even though one or more MongoDB servers are down.

Any write or query can throw connection exceptions as connections are created lazily. A MongoDB server may also become unavailable during the life time of the script. It is therefore important that all actions on the Manager to be wrapped in try/catch statements.

Sınıf Sözdizimi

final class MongoDB\Driver\Manager {
/* Yöntemler */
final public addSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void
final public __construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)
final public createClientEncryption(array $options): MongoDB\Driver\ClientEncryption
final public executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, array|MongoDB\Driver\WriteConcern|null $options = null): MongoDB\Driver\WriteResult
final public executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor
final public executeQuery(string $namespace, MongoDB\Driver\Query $query, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor
final public executeReadCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public executeWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public getEncryptedFieldsMap(): array|object|null
final public getReadConcern(): MongoDB\Driver\ReadConcern
final public getReadPreference(): MongoDB\Driver\ReadPreference
final public getServers(): array
final public getWriteConcern(): MongoDB\Driver\WriteConcern
final public removeSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void
final public selectServer(?MongoDB\Driver\ReadPreference $readPreference = null): MongoDB\Driver\Server
final public startSession(?array $options = null): MongoDB\Driver\Session
}

Örnekler

Örnek 1 MongoDB\Driver\Manager::__construct() basic example

var_dump()ing a MongoDB\Driver\Manager will print out various details about the manager that are otherwise not normally exposed. This can be useful to debug how the driver views your MongoDB setup, and which options are used.

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=>
  string(26) "mongodb://127.0.0.1:27017/"
  ["cluster"]=>
  array(0) {
  }
}

İçindekiler

  • MongoDB\Driver\Manager::addSubscriber — Registers a monitoring event subscriber with this Manager
  • MongoDB\Driver\Manager::__construct — Create new MongoDB Manager
  • MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object
  • MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations
  • MongoDB\Driver\Manager::executeCommand — Execute a database command
  • MongoDB\Driver\Manager::executeQuery — Execute a database query
  • MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes
  • MongoDB\Driver\Manager::getEncryptedFieldsMap — Return the encryptedFieldsMap auto encryption option for the Manager
  • MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager
  • MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager
  • MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager
  • MongoDB\Driver\Manager::removeSubscriber — Unregisters a monitoring event subscriber with this Manager
  • MongoDB\Driver\Manager::selectServer — Select a server matching a read preference
  • MongoDB\Driver\Manager::startSession — Start a new client session for use with this client


Registers a monitoring event subscriber with this Manager

  • « MongoDB\Driver\Manager
  • MongoDB\Driver\Manager::__construct »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Registers a monitoring event subscriber with this Manager

MongoDB\Driver\Manager::addSubscriber

(mongodb >=1.10.0)

MongoDB\Driver\Manager::addSubscriber — Registers a monitoring event subscriber with this Manager

Açıklama

final public MongoDB\Driver\Manager::addSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void

Registers a monitoring event subscriber with this Manager. The subscriber will be notified of all events for this Manager.

Bilginize: If subscriber is already registered with this Manager, this function is a no-op. If subscriber is also registered globally, it will still only be notified once of each event for this Manager.

Bağımsız Değişkenler

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber to register with this Manager.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if subscriber is a MongoDB\Driver\Monitoring\LogSubscriber, since loggers can only be registered globally.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::removeSubscriber() - Unregisters a monitoring event subscriber with this Manager
  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • Application Performance Monitoring (APM)


Create new MongoDB Manager

  • « MongoDB\Driver\Manager::addSubscriber
  • MongoDB\Driver\Manager::createClientEncryption »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Create new MongoDB Manager

MongoDB\Driver\Manager::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Manager::__construct — Create new MongoDB Manager

Açıklama

final public MongoDB\Driver\Manager::__construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)

Constructs a new MongoDB\Driver\Manager object with the specified options.

Bilginize: Per the » Server Discovery and Monitoring Specification, this constructor performs no I/O. Connections will be initialized on demand, when the first operation is executed.

Bilginize: When specifying any SSL or TLS URI options via the connection string or uriOptions parameter, the driver will implicitly enable TLS for its connections. To avoid this, either explicitly disable the tls option or don't specify any TLS options.

Bilginize: On Unix platforms, the MongoDB driver is sensitive to scripts that use the fork() system call without also calling exec(). Users are advised not to re-use MongoDB\Driver\Manager instances in a forked child process.

Bağımsız Değişkenler

uri

A » mongodb:// connection URI:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[defaultAuthDb][?options]]

For details on supported URI options, see » Connection String Options in the MongoDB manual. » Connection pool options are not supported, as the PHP driver does not implement connection pools.

The uri is a URL, hence any special characters in its components need to be URL encoded according to » RFC 3986. This is particularly relevant to the username and password, which can often include special characters such as @, :, or %. When connecting via a Unix domain socket, the socket path may contain special characters such as slashes and must be encoded. The rawurlencode() function may be used to encode constituent parts of the URI.

The defaultAuthDb component may be used to specify the database name associated with the user's credentials; however the authSource URI option will take priority if specified. If neither defaultAuthDb nor authSource are specified, the admin database will be used by default. The defaultAuthDb component has no effect in the absence of user credentials.

uriOptions

Additional » connection string options, which will overwrite any options with the same name in the uri parameter.

uriOptions
Option | Type | Description
appname string

MongoDB 3.4+ has the ability to annotate connections with metadata provided by the connecting client. This metadata is included in the server's logs upon establishing a connection and also recorded in slow query logs when database profiling is enabled.

This option may be used to specify an application name, which will be included in the metadata. The value cannot exceed 128 characters in length.

authMechanism string

The authentication mechanism that MongoDB will use to authenticate the connection. For additional details and a list of supported values, see » Authentication Options in the MongoDB manual.

authMechanismProperties array

Properties for the selected authentication mechanism. For additional details and a list of supported properties, see the » Driver Authentication Specification.

Bilginize: When not specified in the URI string, this option is expressed as an array of key/value pairs. The keys and values in this array should be strings.

authSource string

The database name associated with the user's credentials. Defaults to the database component of the connection URI, or the admin database if both are unspecified.

For authentication mechanisms that delegate credential storage to other services (e.g. GSSAPI), this should be "$external".

canonicalizeHostname bool

If true, the driver will resolve the real hostname for the server IP address before authenticating via SASL. Some underlying GSSAPI layers already do this, but the functionality may be disabled in their config (e.g. krb.conf). Defaults to false.

This option is a deprecated alias for the "CANONICALIZE_HOST_NAME" property of the "authMechanismProperties" URI option.

compressors string

A prioritized, comma-delimited list of compressors that the client wants to use. Messages are only compressed if the client and server share any compressors in common, and the compressor used in each direction will depend on the individual configuration of the server or driver. See the » Driver Compression Specification for more information.

connectTimeoutMS int

The time in milliseconds to attempt a connection before timing out. Defaults to 10,000 milliseconds.

directConnection bool

This option can be used to control replica set discovery behavior when only a single host is provided in the connection string. By default, providing a single member in the connection string will establish a direct connection or discover additional members depending on whether the "replicaSet" URI option is omitted or present, respectively. Specify false to force discovery to occur (if "replicaSet" is omitted) or specify true to force a direct connection (if "replicaSet" is present).

gssapiServiceName string

Set the Kerberos service name when connecting to Kerberized MongoDB instances. This value must match the service name set on MongoDB instances (i.e. » saslServiceName server parameter). Defaults to "mongodb".

This option is a deprecated alias for the "SERVICE_NAME" property of the "authMechanismProperties" URI option.

heartbeatFrequencyMS int

Specifies the interval in milliseconds between the driver's checks of the MongoDB topology, counted from the end of the previous check until the beginning of the next one. Defaults to 60,000 milliseconds.

Per the » Server Discovery and Monitoring Specification, this value cannot be less than 500 milliseconds.

journal bool

Corresponds to the default write concern's journal parameter. If true, writes will require acknowledgement from MongoDB that the operation has been written to the journal. For details, see MongoDB\Driver\WriteConcern.

loadBalanced bool

Specifies whether the driver is connecting to a MongoDB cluster through a load balancer. If true, the driver may only connect to a single host (specified by either the connection string or SRV lookup), the "directConnection" URI option cannot be true, and the "replicaSet" URI option must be omitted. Defaults to false.

localThresholdMS int

The size in milliseconds of the latency window for selecting among multiple suitable MongoDB instances while resolving a read preference. Defaults to 15 milliseconds.

maxStalenessSeconds int

Corresponds to the read preference's "maxStalenessSeconds". Specifies, in seconds, how stale a secondary can be before the client stops using it for read operations. By default, there is no maximum staleness and clients will not consider a secondary's lag when choosing where to direct a read operation. For details, see MongoDB\Driver\ReadPreference.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS (i.e. 90 seconds).

password | string | The password for the user being authenticated. This option is useful if the password contains special characters, which would otherwise need to be URL encoded for the connection URI.
readConcernLevel | string | Corresponds to the read concern's level parameter. Specifies the level of read isolation. For details, see MongoDB\Driver\ReadConcern.
readPreference string

Corresponds to the read preference's mode parameter. Defaults to "primary". For details, see MongoDB\Driver\ReadPreference.

readPreferenceTags array

Corresponds to the read preference's tagSets parameter. Tag sets allow you to target read operations to specific members of a replica set. For details, see MongoDB\Driver\ReadPreference.

Bilginize: When not specified in the URI string, this option is expressed as an array consistent with the format expected by MongoDB\Driver\ReadPreference::__construct().

replicaSet string

Specifies the name of the replica set.

retryReads bool

Specifies whether or not the driver should automatically retry certain read operations that fail due to transient network errors or replica set elections. This functionality requires MongoDB 3.6+. Defaults to true.

See the » Retryable Reads Specification for more information.

retryWrites bool

Specifies whether or not the driver should automatically retry certain write operations that fail due to transient network errors or replica set elections. This functionality requires MongoDB 3.6+. Defaults to true.

See » Retryable Writes in the MongoDB manual for more information.

safe bool

If true, specifies 1 for the default write concern's w parameter. If false, 0 is specified. For details, see MongoDB\Driver\WriteConcern.

This option is deprecated and should not be used.

serverSelectionTimeoutMS int

Specifies how long in milliseconds to block for server selection before throwing an exception. Defaults to 30,000 milliseconds.

serverSelectionTryOnce bool

When true, instructs the driver to scan the MongoDB deployment exactly once after server selection fails and then either select a server or raise an error. When false, the driver blocks and searches for a server up to the "serverSelectionTimeoutMS" value. Defaults to true.

socketCheckIntervalMS int

If a socket has not been used recently, the driver must check it via a hello command before using it for any operation. Defaults to 5,000 milliseconds.

socketTimeoutMS int

The time in milliseconds to attempt a send or receive on a socket before timing out. Defaults to 300,000 milliseconds (i.e. five minutes).

srvMaxHosts int

The maximum number of SRV results to randomly select when initially populating the seedlist or, during SRV polling, adding new hosts to the topology. Defaults to 0 (i.e. no maximum).

srvServiceName string

The service name to use for SRV lookup in initial DNS seedlist discovery and SRV polling. Defaults to "mongodb".

ssl bool

Initiates the connection with TLS/SSL if true. Defaults to false.

This option is a deprecated alias for the "tls" URI option.

tls bool

Initiates the connection with TLS/SSL if true. Defaults to false.

tlsAllowInvalidCertificates bool

Specifies whether or not the driver should error when the server's TLS certificate is invalid. Defaults to false.

Uyarı

Disabling certificate validation creates a vulnerability.

tlsAllowInvalidHostnames bool

Specifies whether or not the driver should error when there is a mismatch between the server's hostname and the hostname specified by the TLS certificate. Defaults to false.

Uyarı

Disabling certificate validation creates a vulnerability. Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

tlsCAFile string

Path to file with either a single or bundle of certificate authorities to be considered trusted when making a TLS connection. The system certificate store will be used by default.

tlsCertificateKeyFile string

Path to the client certificate file or the client private key file; in the case that they both are needed, the files should be concatenated.

tlsCertificateKeyFilePassword string

Password to decrypt the client private key (i.e. "tlsCertificateKeyFile" URI option) to be used for TLS connections.

tlsDisableCertificateRevocationCheck bool

If true, the driver will not attempt to check certificate revocation status (e.g. OCSP, CRL). Defaults to false.

tlsDisableOCSPEndpointCheck bool

If true, the driver will not attempt to contact an OCSP responder endpoint if needed (i.e. an OCSP response is not stapled). Defaults to false.

tlsInsecure bool

Relax TLS constraints as much as possible. Specifying true for this option has the same effect as specifying true for both the "tlsAllowInvalidCertificates" and "tlsAllowInvalidHostnames" URI options. Defaults to false.

Uyarı

Disabling certificate validation creates a vulnerability. Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

username | string | The username for the user being authenticated. This option is useful if the username contains special characters, which would otherwise need to be URL encoded for the connection URI.
w int|string

Corresponds to the default write concern's w parameter. For details, see MongoDB\Driver\WriteConcern.

wTimeoutMS int|string

Corresponds to the default write concern's wtimeout parameter. Specifies a time limit, in milliseconds, for the write concern. For details, see MongoDB\Driver\WriteConcern.

If specified, wTimeoutMS must be a signed 32-bit integer greater than or equal to zero.

zlibCompressionLevel int

Specifies the compression level to use for the zlib compressor. This option has no effect if zlib is not included in the "compressors" URI option. See the » Driver Compression Specification for more information.

driverOptions

driverOptions
Option | Type | Description
allow_invalid_hostname bool

Disables hostname validation if true. Defaults to false.

Allowing invalid hostnames may expose the driver to a » man-in-the-middle attack.

This option is a deprecated alias for the "tlsAllowInvalidHostnames" URI option.

autoEncryption array

Provides options to enable automatic client-side field level encryption.

Bilginize:

Automatic encryption is an enterprise-only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error (see » libmongocrypt: Auto Encryption Allow-List). To bypass automatic encryption for all operations, set bypassAutoEncryption to true.

Automatic encryption requires the authenticated user to have the » listCollections privilege action.

Explicit encryption/decryption and automatic decryption is a community feature. The driver can still automatically decrypt when bypassAutoEncryption is true.

The following options are supported:

Options for automatic encryption
Option | Type | Description
keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and c uster is used.
keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption. This option is required.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Supported providers include "aws", "azure", "gcp", "kmip", and "local" and at least one must be specified.

The format for "aws" is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

The format for "azure" is as follows:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"

}

The format for "gcp" is as follows:

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

The format for "kmip" is as follows:

kmip: {
    endpoint: <string>
}

The format for "local" is as follows:

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tlsOptions array

A document containing the TLS configuration for one or more KMS providers. Supported providers include "aws", "azure", "gcp", and "kmip". All providers support the following options:

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}
schemaMap array|object

Map of collection namespaces to a local JSON schema. This is used to configure automatic encryption. See » Automatic Encryption Rules in the MongoDB manual for more information. It is an error to specify a collection in both schemaMap and encryptedFieldsMap.

Bilginize: Supplying a schemaMap provides more security than relying on JSON schemas obtained from the server. It protects against a malicious server advertising a false JSON schema, which could trick the client into sending unencrypted data that should be encrypted.

Bilginize: Schemas supplied in the schemaMap only apply to configuring automatic encryption for client side encryption. Other validation rules in the JSON schema will not be enforced by the driver and will result in an error.

bypassAutoEncryption | bool | If true, mongocryptd will not be spawned automatically. This is used to disable automatic encryption. Defaults to false.
bypassQueryAnalysis bool

If true, automatic analysis of outgoing commands will be disabled and mongocryptd will not be spawned automatically. This enables the use case of explicit encryption for querying indexed fields without requiring the enterprise licensed crypt_shared library or mongocryptd process. Defaults to false.

encryptedFieldsMap array|object

Map of collection namespaces to an encryptedFields document. This is used to configure queryable encryption. See » Field Encryption and Queryability in the MongoDB manual for more information. It is an error to specify a collection in both encryptedFieldsMap and schemaMap.

Bilginize: Supplying an encryptedFieldsMap provides more security than relying on an encryptedFields obtained from the server. It protects against a malicious server advertising a false encryptedFields.

extraOptions array

The extraOptions relate to the mongocryptd process. The following options are supported:

  • mongocryptdURI (string): URI to connect to an existing mongocryptd process. Defaults to "mongodb://localhost:27020".
  • mongocryptdBypassSpawn (bool): If true, prevent the driver from spawning mongocryptd. Defaults to false.
  • mongocryptdSpawnPath (string): Absolute path to search for mongocryptd binary. Defaults to empty string and consults system paths.
  • mongocryptdSpawnArgs (array): Array of string arguments to pass to mongocryptd when spawning. Defaults to ["--idleShutdownTimeoutSecs=60"].
  • cryptSharedLibPath (string): Absolute path to crypt_shared shared library. Defaults to empty string and consults system paths.
  • cryptSharedLibRequired (bool): If true, require the driver to load crypt_shared. Defaults to false.

See the » Client-Side Encryption Specification for more information.

Bilginize: Automatic encryption is an enterprise only feature that only applies to operations on a collection. Automatic encryption is not supported for operations on a database or view, and operations that are not bypassed will result in error. To bypass automatic encryption for all operations, set bypassAutoEncryption=true in autoEncryption. For more information on allowed operations, see the » Client-Side Encryption Specification.

ca_dir string

Path to a correctly hashed certificate directory. The system certificate store will be used by default.

ca_file string

Path to file with either a single or bundle of certificate authorities to be considered trusted when making a TLS connection. The system certificate store will be used by default.

This option is a deprecated alias for the "tlsCAFile" URI option.

context resource

SSL context options to be used as fallbacks if a driver option or its equivalent URI option, if any, is not specified. Note that the driver does not consult the default stream context (i.e. stream_context_get_default()). The following context options are supported:

SSL context option fallbacks
Driver option | Context option (fallback)
ca_dir | capath
ca_file | cafile
pem_file | local_cert
pem_pwd | passphrase
weak_cert_validation | allow_self_signed

This option is supported for backwards compatibility, but should be considered deprecated.

crl_file | string | Path to a certificate revocation list file.
disableClientPersistence bool

If true, this Manager will use a new libmongoc client, which will not be persisted or shared with other Manager objects. When this Manager object is freed, its client will be destroyed and any connections will be closed. Defaults to false.

Bilginize: Disabling client persistence is not generally recommended.

driver array

Allows custom drivers to append their own metadata to the server handshake. By default, the driver submits its own name, version, and platform (i.e. PHP version) in the handshake. Custom drivers can specify strings for the "name", "version", and "platform" keys of this array, which will be appended to the respective field(s) in the handshake document.

Bilginize: Handshake information is limited to 512 bytes. The driver will truncate handshake data to fit within this 512-byte string. Drivers and ODMs are encouraged to keep their own metadata concise.

pem_file string

Path to a PEM encoded certificate to use for client authentication.

This option is a deprecated alias for the "tlsCertificateKeyFile" URI option.

pem_pwd string

Passphrase for the PEM encoded certificate (if applicable).

This option is a deprecated alias for the "tlsCertificateKeyFilePassword" URI option.

serverApi MongoDB\Driver\ServerApi

This option is used to declare a server API version for the manager. If omitted, no API version is declared.

weak_cert_validation bool

Disables certificate validation if true. Defaults to false

This option is a deprecated alias for the "tlsAllowInvalidCertificates" URI option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the uri format is invalid

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.16.0

The AWS KMS provider for client-side encryption now accepts a "sessionToken" option, which can be used to authenticate with temporary AWS credentials.

Added "tlsDisableOCSPEndpointCheck" to the "tlsOptions" field of the "autoEncryption" driver option.

If an empty document is specified for the "azure" or "gcp" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.15.0

If an empty document is specified for the "aws" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.14.0

Added the "bypassQueryAnalysis" and "encryptedFieldsMap" auto encryption options. Additional options pertaining to crypt_shared are now supported in the "extraOptions" auto encryption option.

PECL mongodb 1.13.0

Added the "srvMaxHosts" and "srvServiceName" URI options.

PECL mongodb 1.12.0

KMIP is now supported as a KMS provider for client-side encryption and may be configured in the "kmsProviders" field of the "autoEncryption" driver option. Additionally, TLS options for KMS providers may now be configured in the "tlsOptions" field of the "autoEncryption" driver option.

PECL mongodb 1.11.0

Added the "loadBalanced" URI option.

PECL mongodb 1.10.0

Added the "disableClientPersistence" driver option.

Azure and GCP are now supported as KMS providers for client-side encryption and may be configured in the "kmsProviders" field of the "autoEncryption" driver option. Base64-encoded strings are now accepted as an alternative to MongoDB\BSON\Binary for options within "kmsProviders".

PECL mongodb 1.8.0

Added the "directConnection", "tlsDisableCertificateRevocationCheck", and "tlsDisableOCSPEndpointCheck" URI options.

Added the "driver" driver option.

PECL mongodb 1.7.0

Added the "autoEncryption" driver option.

Specifying any SSL or TLS option via the driverOptions parameter will now implicitly enable TLS, as is done for the corresponding URI options.

PECL mongodb 1.6.0

Added the "retryReads", "tls", "tlsAllowInvalidCertificates", "tlsAllowInvalidHostnames", "tlsCAFile", "tlsCertificateKeyFile", "tlsCertificateKeyFilePassword", and "tlsInsecure" URI options.

The "retryWrites" URI option defaults to true.

Specifying any SSL or TLS URI option via the connection string or uriOptions parameter will now implicitly enable TLS unless ssl or tls is false. TLS is not implicitly enabled for any options in the driverOptions parameter, which is unchanged from previous versions.

PECL mongodb 1.5.0

"wtimeoutMS" is now always validated and applied to the write concern. Previously, the option was ignored if "w" was <= 1, since the timeout only applies to replication.

PECL mongodb 1.4.0

Added the "compressors", "retryWrites", and "zlibCompressionLevel" URI options.

PECL mongodb 1.3.0

The uriOptions argument now accepts "authMechanism" and "authMechanismProperties" options. Previously, these options were only supported in the uri argument.

PECL mongodb 1.2.0

The uri argument defaults to "mongodb://127.0.0.1/". The default port remains 27017.

Added the "appname" URI option.

Added the "allow_invalid_hostname", "ca_file", "ca_dir", "clr_file", "pem_file", "pem_pwd", and "weak_cert_validation" driver options.

The PHP Streams API is no longer used for socket communication. The "connectTimeoutMS" URI option now defaults to 10 seconds instead of default_socket_timeout in previous versions. Additionally, the driver no longer supports all SSL context options via the "context" driver option.

PECL mongodb 1.1.0

The uri argument is optional and defaults to "mongodb://localhost:27017/".

Örnekler

Örnek 1 MongoDB\Driver\Manager::__construct() basic examples

Connecting to standalone MongoDB node:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://example.com:27017");

?>

Connecting to standalone MongoDB node via a Unix domain socket. The socket path may include special characters such as slashes and should be encoded with rawurlencode().

<?php

$manager = new MongoDB\Driver\Manager("mongodb://" . rawurlencode("/tmp/mongodb-27017.sock"));

?>

Connecting to a replica set:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

?>

Connecting to a sharded cluster (i.e. one or more mongos instances):

<?php

$manager = new MongoDB\Driver\Manager("mongodb://mongos1.example.com,mongos2.example.com/");

?>

Connecting to MongoDB with authentication credentials for a particular user and database:

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:mypassword@example.com/?authSource=databaseName");

?>

Connecting to MongoDB with authentication credentials for a particular user and database, where the username or password includes special characters (e.g. @, :, %). In the following example, the password string myp@ss:w%rd has been manually escaped; however, rawurlencode() may also be used to escape URI components that may contain special characters.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://myusername:myp%40ss%3Aw%25rd@example.com/?authSource=databaseName");

?>

Connecting to MongoDB with X509 authentication:

<?php

$manager = new MongoDB\Driver\Manager(
"mongodb://example.com/?ssl=true&authMechanism=MONGODB-X509",
[],
[
"pem_file" => "/path/to/client.pem",
]
);
?>

Ayrıca Bakınız

  • Connection handling and persistence
  • » MongoDB Connection String Format


Create a new ClientEncryption object

  • « MongoDB\Driver\Manager::__construct
  • MongoDB\Driver\Manager::executeBulkWrite »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Create a new ClientEncryption object

MongoDB\Driver\Manager::createClientEncryption

(mongodb >=1.7.0)

MongoDB\Driver\Manager::createClientEncryption — Create a new ClientEncryption object

Açıklama

final public MongoDB\Driver\Manager::createClientEncryption(array $options): MongoDB\Driver\ClientEncryption

Constructs a new MongoDB\Driver\ClientEncryption object with the specified options.

Bağımsız Değişkenler

options

options
Option | Type | Description
keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries to a separate MongoDB cluster. By default, the current Manager and c uster is used.
keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption. This option is required.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Supported providers include "aws", "azure", "gcp", "kmip", and "local" and at least one must be specified.

The format for "aws" is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

The format for "azure" is as follows:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"

}

The format for "gcp" is as follows:

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

The format for "kmip" is as follows:

kmip: {
    endpoint: <string>
}

The format for "local" is as follows:

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tlsOptions array

A document containing the TLS configuration for one or more KMS providers. Supported providers include "aws", "azure", "gcp", and "kmip". All providers support the following options:

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}

Dönen Değerler

Returns a new MongoDB\Driver\ClientEncryption instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the extension was compiled without libmongocrypt support

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.16.0

The AWS KMS provider for client-side encryption now accepts a "sessionToken" option, which can be used to authenticate with temporary AWS credentials.

Added "tlsDisableOCSPEndpointCheck" to the "tlsOptions" option.

If an empty document is specified for the "azure" or "gcp" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.15.0

If an empty document is specified for the "aws" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.12.0

KMIP is now supported as a KMS provider for client-side encryption and may be configured in the "kmsProviders" option.

Added the "tlsOptions" option.

PECL mongodb 1.10.0 Azure and GCP are now supported as KMS providers for client-side encryption and may be configured in the "kmsProviders" option. Base64-encoded strings are now accepted as an alternative to MongoDB\BSON\Binary for options within "kmsProviders".

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::__construct() - Create a new ClientEncryption object
  • » Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual


Execute one or more write operations

  • « MongoDB\Driver\Manager::createClientEncryption
  • MongoDB\Driver\Manager::executeCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute one or more write operations

MongoDB\Driver\Manager::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeBulkWrite — Execute one or more write operations

Açıklama

final public MongoDB\Driver\Manager::executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, array|MongoDB\Driver\WriteConcern|null $options = null): MongoDB\Driver\WriteResult

Executes one or more write operations on the primary server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Bağımsız Değişkenler

namespace (string)

A fully qualified namespace (e.g. "databaseName.collectionName").

bulk (MongoDB\Driver\BulkWrite)

The write(s) to execute.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Dönen Değerler

Returns MongoDB\Driver\WriteResult on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk does not contain any write operations.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk has already been executed. MongoDB\Driver\BulkWrite objects may not be executed multiple times.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\BulkWriteException on any write failure (e.g. write error, failure to apply a write concern)
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\WriteConcern object.
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is now thrown if bulk does not contain any write operations. Previously, a MongoDB\Driver\Exception\BulkWriteException was thrown.

Örnekler

Örnek 1 MongoDB\Driver\Manager::executeBulkWrite() example

<?php

$bulk = new MongoDB\Driver\BulkWrite();

$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);

$bulk->update(['x' => 2], ['$set' => ['x' => 1]], ['multi' => false, 'upsert' => false]);
$bulk->update(['x' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);
$bulk->update(['_id' => 3], ['$set' => ['x' => 3]], ['multi' => false, 'upsert' => true]);

$bulk->insert(['_id' => 4, 'x' => 2]);

$bulk->delete(['x' => 1], ['limit' => 1]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 100);
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Matched %d document(s)\n", $result->getMatchedCount());
printf("Updated %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted %d document(s)\n", $result->getDeletedCount());

foreach ($result->getUpsertedIds() as $index => $id) {
printf('upsertedId[%d]: ', $index);
var_dump($id);
}

/* If the WriteConcern could not be fulfilled */
if ($writeConcernError = $result->getWriteConcernError()) {
printf("%s (%d): %s\n", $writeConcernError->getMessage(), $writeConcernError->getCode(), var_export($writeConcernError->getInfo(), true));
}

/* If a write could not happen at all */
foreach ($result->getWriteErrors() as $writeError) {
printf("Operation#%d: %s (%d)\n", $writeError->getIndex(), $writeError->getMessage(), $writeError->getCode());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Inserted 3 document(s)
Matched  1 document(s)
Updated  1 document(s)
Upserted 2 document(s)
Deleted  1 document(s)
upsertedId[3]: object(MongoDB\BSON\ObjectId)#5 (1) {
  ["oid"]=>
  string(24) "54d3adc3ce7a792f4d703756"
}
upsertedId[4]: int(3)

Ayrıca Bakınız

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Server::executeBulkWrite() - Execute one or more write operations on this server


Execute a database command

  • « MongoDB\Driver\Manager::executeBulkWrite
  • MongoDB\Driver\Manager::executeQuery »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command

MongoDB\Driver\Manager::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeCommand — Execute a database command

Açıklama

final public MongoDB\Driver\Manager::executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the command on that server. By default, the primary server will be selected.

This method applies no special logic to the command. Although this method accepts "readConcern" and "writeConcern" options, which will be incorporated into the command document, those options will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB server version be taken into account. Users are therefore encouraged to use specific read and/or write command methods if possible.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Örnekler

Örnek 1 MongoDB\Driver\Manager::executeCommand() with a command returning a single result document

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$command = new MongoDB\Driver\Command(['ping' => 1]);

try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}

/* The ping command returns a single result document, so we need to access the
* first result in the cursor. */
$response = $cursor->toArray()[0];

var_dump($response);

?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["ok"]=>
  float(1)
}

Örnek 2 MongoDB\Driver\Manager::executeCommand() with a command returning a cursor

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1, 'y' => 'foo']);
$bulk->insert(['x' => 2, 'y' => 'bar']);
$bulk->insert(['x' => 3, 'y' => 'bar']);
$manager->executeBulkWrite('db.collection', $bulk);

$command = new MongoDB\Driver\Command([
'aggregate' => 'collection',
'pipeline' => [
['$group' => ['_id' => '$y', 'sum' => ['$sum' => '$x']]],
],
'cursor' => new stdClass,
]);
$cursor = $manager->executeCommand('db', $command);

/* The aggregate command can optionally return its results in a cursor instead
* of a single result document. In this case, we can iterate on the cursor
* directly to access those results. */
foreach ($cursor as $document) {
var_dump($document);
}

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#6 (2) {
  ["_id"]=>
  string(3) "bar"
  ["sum"]=>
  int(10)
}
object(stdClass)#7 (2) {
  ["_id"]=>
  string(3) "foo"
  ["sum"]=>
  int(2)
}

Örnek 3 Limiting execution time for a command

The execution time of a command may be limited by specifying a value for "maxTimeMS" in the MongoDB\Driver\Command document. Note that this time limit is enforced on the server side and does not take network latency into account. See » Terminate Running Operations in the MongoDB manual for more information.

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$command = new MongoDB\Driver\Command([
'count' => 'collection',
'query' => ['x' => ['$gt' => 1]],
'maxTimeMS' => 1000,
]);

$cursor = $manager->executeCommand('db', $command);

var_dump($cursor->toArray()[0]);

?>

If the command fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException will be thrown.

Notlar

Bilginize: If a secondary readPreference is used, it is the caller's responsibility to ensure that the command can be executed on a secondary. No validation is done by the driver.

Bilginize: This method does not default to using the read preference from the MongoDB Connection URI. Applications in need of that behavior should consider using MongoDB\Driver\Manager::executeReadCommand().

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server


Execute a database query

  • « MongoDB\Driver\Manager::executeCommand
  • MongoDB\Driver\Manager::executeReadCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database query

MongoDB\Driver\Manager::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Manager::executeQuery — Execute a database query

Açıklama

final public MongoDB\Driver\Manager::executeQuery(string $namespace, MongoDB\Driver\Query $query, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the query on that server. By default, the read preference from the MongoDB Connection URI will be used.

Bağımsız Değişkenler

namespace (string)

A fully qualified namespace (e.g. "databaseName.collectionName").

query (MongoDB\Driver\Query)

The query to execute.

options

options
Option Type Description
readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Örnekler

Örnek 1 MongoDB\Driver\Manager::executeQuery() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$filter = ['x' => ['$gt' => 1]];
$options = [
'projection' => ['_id' => 0],
'sort' => ['x' => -1],
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);

foreach ($cursor as $document) {
var_dump($document);
}

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#6 (1) {
  ["x"]=>
  int(3)
}
object(stdClass)#7 (1) {
  ["x"]=>
  int(2)
}

Örnek 2 Limiting execution time for a query

The "maxTimeMS" MongoDB\Driver\Query option may be used to limit the execution time of a query. Note that this time limit is enforced on the server side and does not take network latency into account. See » Terminate Running Operations in the MongoDB manual for more information.

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$filter = ['x' => ['$gt' => 1]];
$options = [
'maxTimeMS' => 1000,
];

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);

foreach ($cursor as $document) {
var_dump($document);
}

?>

If the query fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException will be thrown.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server


Execute a database command that reads

  • « MongoDB\Driver\Manager::executeQuery
  • MongoDB\Driver\Manager::executeReadWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that reads

MongoDB\Driver\Manager::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeReadCommand — Execute a database command that reads

Açıklama

final public MongoDB\Driver\Manager::executeReadCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Selects a server according to the "readPreference" option and executes the command on that server. By default, the read preference from the MongoDB Connection URI will be used.

This method will apply logic that is specific to commands that read (e.g. » count) and take the MongoDB server version into account. The "readConcern" option will default to the corresponding value from the MongoDB Connection URI.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server


Execute a database command that reads and writes

  • « MongoDB\Driver\Manager::executeReadCommand
  • MongoDB\Driver\Manager::executeWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that reads and writes

MongoDB\Driver\Manager::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeReadWriteCommand — Execute a database command that reads and writes

Açıklama

final public MongoDB\Driver\Manager::executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Executes the command on the primary server.

This method will apply logic that is specific to commands that read and write (e.g. » aggregate) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server


Execute a database command that writes

  • « MongoDB\Driver\Manager::executeReadWriteCommand
  • MongoDB\Driver\Manager::getEncryptedFieldsMap »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Execute a database command that writes

MongoDB\Driver\Manager::executeWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeWriteCommand — Execute a database command that writes

Açıklama

final public MongoDB\Driver\Manager::executeWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Executes the command on the primary server.

This method will apply logic that is specific to commands that write (e.g. » drop) and take the MongoDB server version into account. The "writeConcern" option will default to the corresponding value from the MongoDB Connection URI.

Bilginize: This method is not intended to be used to execute » insert, » update, or » delete commands. Users are encouraged to use MongoDB\Driver\Manager::executeBulkWrite() for those commands.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server


Return the encryptedFieldsMap auto encryption option for the Manager

  • « MongoDB\Driver\Manager::executeWriteCommand
  • MongoDB\Driver\Manager::getReadConcern »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the encryptedFieldsMap auto encryption option for the Manager

MongoDB\Driver\Manager::getEncryptedFieldsMap

(mongodb >=1.14.0)

MongoDB\Driver\Manager::getEncryptedFieldsMap — Return the encryptedFieldsMap auto encryption option for the Manager

Açıklama

final public MongoDB\Driver\Manager::getEncryptedFieldsMap(): array|object|null

Returns the encryptedFieldsMap auto encryption option for the Manager, if specified.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The encryptedFieldsMap auto encryption option for the Manager, or null if it was not specified.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Return the ReadConcern for the Manager

  • « MongoDB\Driver\Manager::getEncryptedFieldsMap
  • MongoDB\Driver\Manager::getReadPreference »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the ReadConcern for the Manager

MongoDB\Driver\Manager::getReadConcern

(mongodb >=1.1.0)

MongoDB\Driver\Manager::getReadConcern — Return the ReadConcern for the Manager

Açıklama

final public MongoDB\Driver\Manager::getReadConcern(): MongoDB\Driver\ReadConcern

Returns the MongoDB\Driver\ReadConcern for the Manager, which is derived from its URI options. This is the default read concern for queries and commands executed on the Manager.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The MongoDB\Driver\ReadConcern for the Manager.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Manager::getReadConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readConcernLevel=local');
var_dump($manager->getReadConcern());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\ReadConcern)#2 (0) {
}
object(MongoDB\Driver\ReadConcern)#1 (1) {
  ["level"]=>
  string(5) "local"
}

Ayrıca Bakınız

  • MongoDB\Driver\ReadConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Return the ReadPreference for the Manager

  • « MongoDB\Driver\Manager::getReadConcern
  • MongoDB\Driver\Manager::getServers »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the ReadPreference for the Manager

MongoDB\Driver\Manager::getReadPreference

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getReadPreference — Return the ReadPreference for the Manager

Açıklama

final public MongoDB\Driver\Manager::getReadPreference(): MongoDB\Driver\ReadPreference

Returns the MongoDB\Driver\ReadPreference for the Manager, which is derived from its URI options. This is the default read preference for queries and commands executed on the Manager.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The MongoDB\Driver\ReadPreference for the Manager.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Manager::getReadPreference() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getReadPreference());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?readPreference=secondaryPreferred&readPreferenceTags=dc:ny,rack:1&readPreferenceTags=dc:ny&readPreferenceTags=');
var_dump($manager->getReadPreference());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\ReadPreference)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(18) "secondaryPreferred"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#3 (2) {
      ["dc"]=>
      string(2) "ny"
      ["rack"]=>
      string(1) "1"
    }
    [1]=>
    object(stdClass)#4 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [2]=>
    object(stdClass)#5 (0) {
    }
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Return the servers to which this manager is connected

  • « MongoDB\Driver\Manager::getReadPreference
  • MongoDB\Driver\Manager::getWriteConcern »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the servers to which this manager is connected

MongoDB\Driver\Manager::getServers

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getServers — Return the servers to which this manager is connected

Açıklama

final public MongoDB\Driver\Manager::getServers(): array

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Bilginize: Since the driver connects to the database lazily, this method may return an empty array if called before executing an operation on the MongoDB\Driver\Manager.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of MongoDB\Driver\Server instances to which this manager is connected.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Manager::getServers() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

/* The driver connects to the database server lazily, so Manager::getServers()
* may initially return an empty array. */
var_dump($manager->getServers());

$command = new MongoDB\Driver\Command(['ping' => 1]);
$manager->executeCommand('db', $command);

var_dump($manager->getServers());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(0) {
}
array(1) {
  [0]=>
  object(MongoDB\Driver\Server)#3 (10) {
    ["host"]=>
    string(9) "localhost"
    ["port"]=>
    int(27017)
    ["type"]=>
    int(1)
    ["is_primary"]=>
    bool(false)
    ["is_secondary"]=>
    bool(false)
    ["is_arbiter"]=>
    bool(false)
    ["is_hidden"]=>
    bool(false)
    ["is_passive"]=>
    bool(false)
    ["last_hello_response"]=>
    array(8) {
      ["isWritablePrimary"]=>
      bool(true)
      ["maxBsonObjectSize"]=>
      int(16777216)
      ["maxMessageSizeBytes"]=>
      int(48000000)
      ["maxWriteBatchSize"]=>
      int(1000)
      ["localTime"]=>
      object(MongoDB\BSON\UTCDateTime)#4 (1) {
        ["milliseconds"]=>
        int(1447267964517)
      }
      ["maxWireVersion"]=>
      int(3)
      ["minWireVersion"]=>
      int(0)
      ["ok"]=>
      float(1)
    }
    ["round_trip_time"]=>
    int(554)
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference


Return the WriteConcern for the Manager

  • « MongoDB\Driver\Manager::getServers
  • MongoDB\Driver\Manager::removeSubscriber »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Return the WriteConcern for the Manager

MongoDB\Driver\Manager::getWriteConcern

(mongodb >=1.0.0)

MongoDB\Driver\Manager::getWriteConcern — Return the WriteConcern for the Manager

Açıklama

final public MongoDB\Driver\Manager::getWriteConcern(): MongoDB\Driver\WriteConcern

Returns the MongoDB\Driver\WriteConcern for the Manager, which is derived from its URI options. This is the default write concern for writes and commands executed on the Manager.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The MongoDB\Driver\WriteConcern for the Manager.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Manager::getWriteConcern() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager->getWriteConcern());

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/?w=majority&wtimeoutMS=2000');
var_dump($manager->getWriteConcern());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\WriteConcern)#2 (0) {
}
object(MongoDB\Driver\WriteConcern)#1 (2) {
  ["w"]=>
  string(8) "majority"
  ["wtimeout"]=>
  int(2000)
}

Ayrıca Bakınız

  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Unregisters a monitoring event subscriber with this Manager

  • « MongoDB\Driver\Manager::getWriteConcern
  • MongoDB\Driver\Manager::selectServer »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Unregisters a monitoring event subscriber with this Manager

MongoDB\Driver\Manager::removeSubscriber

(mongodb >=1.10.0)

MongoDB\Driver\Manager::removeSubscriber — Unregisters a monitoring event subscriber with this Manager

Açıklama

final public MongoDB\Driver\Manager::removeSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void

Unregisters a monitoring event subscriber with this Manager.

Bilginize: If subscriber is not already registered with this Manager, this function is a no-op.

Bağımsız Değişkenler

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber to unregister with this Manager.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager
  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\removeSubscriber() - Unregisters a monitoring event subscriber globally
  • Application Performance Monitoring (APM)


Select a server matching a read preference

  • « MongoDB\Driver\Manager::removeSubscriber
  • MongoDB\Driver\Manager::startSession »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Select a server matching a read preference

MongoDB\Driver\Manager::selectServer

(mongodb >=1.0.0)

MongoDB\Driver\Manager::selectServer — Select a server matching a read preference

Açıklama

final public MongoDB\Driver\Manager::selectServer(?MongoDB\Driver\ReadPreference $readPreference = null): MongoDB\Driver\Server

Selects a MongoDB\Driver\Server matching readPreference. If readPreference is null or omitted, the primary server will be selected by default. This may be used to preselect a server in order to perform version checking before executing an operation.

Bilginize: Unlike MongoDB\Driver\Manager::getServers(), this method will initialize database connections and perform server discovery if necessary. See the » Server Selection Specification for additional information.

Bağımsız Değişkenler

readPreference (MongoDB\Driver\ReadPreference)

The read preference to use for selecting a server. If null or omitted, the primary server will be selected by default.

Dönen Değerler

Returns a MongoDB\Driver\Server matching the read preference.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException if a server matching the read preference could not be found.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | The readPreference is now optional. If null or omitted, the primary server will be selected by default.

Ayrıca Bakınız

  • MongoDB\Driver\Server
  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • » Server Selection Specification


Start a new client session for use with this client

  • « MongoDB\Driver\Manager::selectServer
  • MongoDB\Driver\Command »
  • PHP Manual
  • MongoDB\Driver\Manager
  • Start a new client session for use with this client

MongoDB\Driver\Manager::startSession

(mongodb >=1.4.0)

MongoDB\Driver\Manager::startSession — Start a new client session for use with this client

Açıklama

final public MongoDB\Driver\Manager::startSession(?array $options = null): MongoDB\Driver\Session

Creates a MongoDB\Driver\Session for the given options. The session may then be specified when executing commands, queries, and write operations.

Bilginize: A MongoDB\Driver\Session can only be used with the MongoDB\Driver\Manager from which it was created.

Bağımsız Değişkenler

options

options
Option Type Description Default
causalConsistency bool

Configure causal consistency in a session. If true, each operation in the session will be causally ordered after the previous read or write operation. Set to false to disable causal consistency.

See » Casual Consistency in the MongoDB manual for more information.

true
defaultTransactionOptions array

Default options to apply to newly created transactions. These options are used unless they are overridden when a transaction is started with different value for each option.

options
Option Type Description
maxCommitTimeMS int

The maximum amount of time in milliseconds to allow a single commitTransaction command to run.

If specified, maxCommitTimeMS must be a signed 32-bit integer greater than or equal to zero.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

This option is available in MongoDB 4.0+.

[]
snapshot bool

Configure snapshot reads in a session. If true, a timestamp will be obtained from the first supported read operation in the session (i.e. find, aggregate, or unsharded distinct). Subsequent read operations within the session will then utilize a "snapshot" read concern level to read majority-committed data from that timestamp. Set to false to disable snapshot reads.

Snapshot reads require MongoDB 5.0+ and cannot be used with causal consistency, transactions, or write operations. If "snapshot" is true, "causalConsistency" will default to false.

See » Read Concern "snapshot" in the MongoDB manual for more information.

false

Dönen Değerler

Returns a MongoDB\Driver\Session.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "causalConsistency" and "snapshot" options are both true.
  • Throws MongoDB\Driver\Exception\RuntimeException if the session could not be created (e.g. libmongoc does not support crypto).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | The "snapshot" option was added.
PECL mongodb 1.6.0 | The "maxCommitTimeMS" option was added to "defaultTransactionOptions".
PECL mongodb 1.5.0 | The "defaultTransactionOptions" option was added.

Ayrıca Bakınız

  • MongoDB\Driver\Session
  • » Casual Consistency in the MongoDB manual


The MongoDB\Driver\Command class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\Command class is a value object that represents a database command.

To provide Command Helpers the MongoDB\Driver\Command object should be composed.

Sınıf Sözdizimi

final class MongoDB\Driver\Command {
/* Yöntemler */
final public __construct(array|object $document, ?array $commandOptions = null)
}

Örnekler

Örnek 1 Composing MongoDB\Driver\Command to provide a helper to create collections

<?php
class CreateCollection {
protected $cmd = array();

function __construct($collectionName) {
$this->cmd["create"] = (string)$collectionName;
}
function setCappedCollection($maxBytes, $maxDocuments = false) {
$this->cmd["capped"] = true;
$this->cmd["size"] = (int)$maxBytes;

if ($maxDocuments) {
$this->cmd["max"] = (int)$maxDocuments;
}
}
function usePowerOf2Sizes($bool) {
if ($bool) {
$this->cmd["flags"] = 1;
} else {
$this->cmd["flags"] = 0;
}
}
function setFlags($flags) {
$this->cmd["flags"] = (int)$flags;
}
function getCommand() {
return new MongoDB\Driver\Command($this->cmd);
}
function getCollectionName() {
return $this->cmd["create"];
}
}

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$createCollection = new CreateCollection("cappedCollection");
$createCollection->setCappedCollection(64 * 1024);

try {
$command = $createCollection->getCommand();
$cursor = $manager->executeCommand("databaseName", $command);
$response = $cursor->toArray()[0];
var_dump($response);

$collstats = ["collstats" => $createCollection->getCollectionName()];
$cursor = $manager->executeCommand("databaseName", new MongoDB\Driver\Command($collstats));
$response = $cursor->toArray()[0];
var_dump($response);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\Driver\Command)#3 (1) {
  ["command"]=>
  array(3) {
    ["create"]=>
    string(16) "cappedCollection"
    ["capped"]=>
    bool(true)
    ["size"]=>
    int(65536)
  }
}
array(1) {
  ["ok"]=>
  float(1)
}
array(16) {
  ["ns"]=>
  string(29) "databaseName.cappedCollection"
  ["count"]=>
  int(0)
  ["size"]=>
  int(0)
  ["numExtents"]=>
  int(1)
  ["storageSize"]=>
  int(65536)
  ["nindexes"]=>
  int(1)
  ["lastExtentSize"]=>
  float(65536)
  ["paddingFactor"]=>
  float(1)
  ["paddingFactorNote"]=>
  string(101) "paddingFactor is unused and unmaintained in 2.8. It remains hard coded to 1.0 for compatibility only."
  ["userFlags"]=>
  int(0)
  ["capped"]=>
  bool(true)
  ["max"]=>
  int(9223372036854775807)
  ["maxSize"]=>
  int(65536)
  ["totalIndexSize"]=>
  int(8176)
  ["indexSizes"]=>
  object(stdClass)#4 (1) {
    ["_id_"]=>
    int(8176)
  }
  ["ok"]=>
  float(1)
}

İçindekiler

  • MongoDB\Driver\Command::__construct — Create a new Command


Create a new Command

  • « MongoDB\Driver\Command
  • MongoDB\Driver\Query »
  • PHP Manual
  • MongoDB\Driver\Command
  • Create a new Command

MongoDB\Driver\Command::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Command::__construct — Create a new Command

Açıklama

final public MongoDB\Driver\Command::__construct(array|object $document, ?array $commandOptions = null)

Constructs a new MongoDB\Driver\Command, which is an immutable value object that represents a database command. The command may then be executed with MongoDB\Driver\Manager::executeCommand().

The complete command document, which includes the command name and its options, should be expressed in the document parameter. The commandOptions parameter is only used to specify options related to the execution of the command and the resulting MongoDB\Driver\Cursor.

Bağımsız Değişkenler

document

The complete command document, which will be sent to the server.

commandOptions

Bilginize: Do not use this parameter to specify options described in the command's reference in the MongoDB manual. This parameter should only be used for the options explicitly listed below.

commandOptions
Option Type Description
maxAwaitTimeMS int

Positive integer denoting the time limit in milliseconds for the server to block a getMore operation if no data is available. This option should only be used in conjunction with commands that return a tailable cursor (e.g. » Change Streams).

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.0 | Added a second commandOptions argument, which supports the "maxAwaitTimeMS" option.

Örnekler

Örnek 1 MongoDB\Driver\Command::__construct() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(array("buildinfo" => 1));

try {
$cursor = $manager->executeCommand("admin", $command);
$response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
var_dump($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(13) {
  ["version"]=>
  string(14) "2.8.0-rc2-pre-"
  ["gitVersion"]=>
  string(62) "b743d7158f7642f4da6b7eac8320374b3b88dc2e modules: subscription"
  ["OpenSSLVersion"]=>
  string(25) "OpenSSL 1.0.1f 6 Jan 2014"
  ["sysInfo"]=>
  string(104) "Linux infant 3.16.0-24-generic #32-Ubuntu SMP Tue Oct 28 13:07:32 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49"
  ["loaderFlags"]=>
  string(91) "-fPIC -pthread -Wl,-z,now -rdynamic -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-E"
  ["compilerFlags"]=>
  string(301) "-Wnon-virtual-dtor -Woverloaded-virtual -std=c++11 -fPIC -fno-strict-aliasing -ggdb -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -pipe -Werror -O3 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-but-set-variable -fno-builtin-memcmp -std=c99"
  ["allocator"]=>
  string(8) "tcmalloc"
  ["versionArray"]=>
  array(4) {
    [0]=>
    int(2)
    [1]=>
    int(8)
    [2]=>
    int(0)
    [3]=>
    int(-8)
  }
  ["javascriptEngine"]=>
  string(2) "V8"
  ["bits"]=>
  int(64)
  ["debug"]=>
  bool(false)
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["ok"]=>
  float(1)
}

Örnek 2 MongoDB\Driver\Command::__construct() example

Commands can accept options as well, as part of the normal structure that you create to send to the server. For example, the maxTimeMS option can be passed with most commands to restrict the amount of time a specific command can run for on the server.

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$command = new MongoDB\Driver\Command(
array(
"distinct" => "beer",
"key" => "beer_name",
"maxTimeMS" => 10,
)
);

try {
$cursor = $manager->executeCommand("beerdb", $command);
$response = $cursor->toArray()[0];
} catch(MongoDB\Driver\Exception\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
var_dump($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

operation exceeded time limit

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Cursor


The MongoDB\Driver\Query class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\Query class is a value object that represents a database query.

Sınıf Sözdizimi

final class MongoDB\Driver\Query {
/* Yöntemler */
final public __construct(array|object $filter, ?array $queryOptions = null)
}

İçindekiler

  • MongoDB\Driver\Query::__construct — Create a new Query


Create a new Query

  • « MongoDB\Driver\Query
  • MongoDB\Driver\BulkWrite »
  • PHP Manual
  • MongoDB\Driver\Query
  • Create a new Query

MongoDB\Driver\Query::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Query::__construct — Create a new Query

Açıklama

final public MongoDB\Driver\Query::__construct(array|object $filter, ?array $queryOptions = null)

Constructs a new MongoDB\Driver\Query, which is an immutable value object that represents a database query. The query may then be executed with MongoDB\Driver\Manager::executeQuery().

Bağımsız Değişkenler

filter (array|object)

The » query predicate. An empty predicate will match all documents in the collection.

Bilginize: When evaluating query criteria, MongoDB compares types and values according to its own » comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class (e.g. use MongoDB\BSON\ObjectId to match an » ObjectId).

queryOptions

queryOptions
Option | Type | Description
allowDiskUse bool

Allows MongoDB to use temporary disk files to store data exceeding the 100 megabyte system memory limit while processing a blocking sort operation.

allowPartialResults bool

For queries against a sharded collection, returns partial results from the mongos if some shards are unavailable instead of throwing an error.

Falls back to the deprecated "partial" option if not specified.

awaitData | bool | Use in conjunction with the "tailable" option to block a getMore operation on the cursor temporarily if at the end of data rather than returning no data. After a timeout period, the query returns as normal.
batchSize int

The number of documents to return in the first batch. Defaults to 101. A batch size of 0 means that the cursor will be established, but no documents will be returned in the first batch.

In versions of MongoDB before 3.2, where queries use the legacy wire protocol OP_QUERY, a batch size of 1 will close the cursor irrespective of the number of matched documents.

collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

comment mixed

An arbitrary comment to help trace the operation through the database profiler, currentOp output, and logs.

The comment can be any valid BSON type for MongoDB 4.4+. Earlier server versions only support string values.

Falls back to the deprecated "$comment" modifier if not specified.

exhaust bool

Stream the data down full blast in multiple "more" packages, on the assumption that the client will fully read all data queried. Faster when you are pulling a lot of data and know you want to pull it all down. Note: the client is not allowed to not read all the data unless it closes the connection.

This option is not supported by the find command in MongoDB 3.2+ and will force the driver to use the legacy wire protocol version (i.e. OP_QUERY).

explain bool

If true, the returned MongoDB\Driver\Cursor will contain a single document that describes the process and indexes used to return the query.

Falls back to the deprecated "$explain" modifier if not specified.

This option is not supported by the find command in MongoDB 3.2+ and will only be respected when using the legacy wire protocol version (i.e. OP_QUERY). The » explain command should be used on MongoDB 3.0+.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

Falls back to the deprecated "hint" option if not specified.

let array|object

Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. $$var).

This option is available in MongoDB 5.0+ and will result in an exception at execution time if specified for an older server version.

limit int

The maximum number of documents to return. If unspecified, then defaults to no limit. A limit of 0 is equivalent to setting no limit.

A negative limit is will be interpreted as a positive limit with the "singleBatch" option set to true. This behavior is supported for backwards compatibility, but should be considered deprecated.

max array|object

The exclusive upper bound for a specific index.

Falls back to the deprecated "$max" modifier if not specified.

maxAwaitTimeMS int

Positive integer denoting the time limit in milliseconds for the server to block a getMore operation if no data is available. This option should only be used in conjunction with the "tailable" and "awaitData" options.

maxScan int
Uyarı

This option is deprecated and should not be used.

Positive integer denoting the maximum number of documents or index keys to scan when executing the query.

Falls back to the deprecated "$maxScan" modifier if not specified.

maxTimeMS int

The cumulative time limit in milliseconds for processing operations on the cursor. MongoDB aborts the operation at the earliest following interrupt point.

Falls back to the deprecated "$maxTimeMS" modifier if not specified.

min array|object

The inclusive lower bound for a specific index.

Falls back to the deprecated "$min" modifier if not specified.

modifiers | array | » Meta operators modifying the output or behavior of a query. Use of these operators is deprecated in favor of named options.
noCursorTimeout | bool | Prevents the server from timing out idle cursors after an inactivity period (10 minutes).
oplogReplay bool

Internal use for replica sets. To use oplogReplay, you must include the following condition in the filter:

[ 'ts' => [ '$gte' => <timestamp> ] ]

Bilginize: This option is deprecated as of the 1.8.0 release.
projection array|object

The » projection specification to determine which fields to include in the returned documents.

If you are using the ODM functionality to deserialise documents as their original PHP class, make sure that you include the __pclass field in the projection. This is required for the deserialization to work and without it, the driver will return (by default) a stdClass object instead.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation. By default, the read concern from the MongoDB Connection URI will be used.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

returnKey bool

If true, returns only the index keys in the resulting documents. Default value is false. If true and the find command does not use an index, the returned documents will be empty.

Falls back to the deprecated "$returnKey" modifier if not specified.

showRecordId bool

Determines whether to return the record identifier for each document. If true, adds a top-level "$recordId" field to the returned documents.

Falls back to the deprecated "$showDiskLoc" modifier if not specified.

singleBatch | bool | Determines whether to close the cursor after the first batch. Defaults to false.
skip | int | Number of documents to skip. Defaults to 0.
snapshot bool
Uyarı

This option is deprecated and should not be used.

Prevents the cursor from returning a document more than once because of an intervening write operation.

Falls back to the deprecated "$snapshot" modifier if not specified.

sort array|object

The sort specification for the ordering of the results.

Falls back to the deprecated "$orderby" modifier if not specified.

tailable | bool | Returns a tailable cursor for a capped collection.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.14.0

Added the "let" option. The "comment" option now accepts any type.

PECL mongodb 1.8.0

Added the "allowDiskUse" option.

The "oplogReplay" option is deprecated.

PECL mongodb 1.5.0

The "maxScan" and "snapshot" options are deprecated.

PECL mongodb 1.3.0

Added the "maxAwaitTimeMS" option.

PECL mongodb 1.2.0

Added the "allowPartialResults", "collation", "comment", "hint", "max", "maxScan", "maxTimeMS", "min", "returnKey", "showRecordId", and "snapshot" options.

Renamed the "partial" option to "allowPartialResults". For backwards compatibility, "partial" will still be read if "allowPartialResults" is not specified.

Removed the legacy "secondaryOk" option, which is obsolete. For queries using the legacy wire protocol OP_QUERY, the driver will set the secondaryOk bit as needed in accordance with the » Server Selection Specification.

PECL mongodb 1.1.0 Added the "readConcern" option.

Örnekler

Örnek 1 MongoDB\Driver\Query::__construct() example

<?php
/* Select only documents authord by "bjori" with at least 100 views */
$filter = [
'author' => 'bjori',
'views' => [
'$gte' => 100,
],
];

$options = [
/* Only return the following fields in the matching documents */
'projection' => [
'title' => 1,
'article' => 1,
],
/* Return the documents in descending order of views */
'sort' => [
'views' => -1
],
];

$query = new MongoDB\Driver\Query($filter, $options);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, $readPreference);

foreach($cursor as $document) {
var_dump($document);
}

?>

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Cursor


The MongoDB\Driver\BulkWrite class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\BulkWrite collects one or more write operations that should be sent to the server. After adding any number of insert, update, and delete operations, the collection may be executed via MongoDB\Driver\Manager::executeBulkWrite().

Write operations may either be ordered (default) or unordered. Ordered write operations are sent to the server, in the order provided, for serial execution. If a write fails, any remaining operations will be aborted. Unordered operations are sent to the server in an arbitrary order where they may be executed in parallel. Any errors that occur are reported after all operations have been attempted.

Sınıf Sözdizimi

final class MongoDB\Driver\BulkWrite implements Countable {
/* Yöntemler */
public __construct(?array $options = null)
public count(): int
public delete(array|object $filter, ?array $deleteOptions = null): void
public insert(array|object $document): mixed
public update(array|object $filter, array|object $newObj, ?array $updateOptions = null): void
}

Örnekler

Örnek 1 Mixed write operations are grouped by type

Mixed write operations (i.e. inserts, updates, and deletes) will be assembled into typed write commands to be sent sequentially to the server.

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->insert(['_id' => 3, 'x' => 3]);
$bulk->delete(['x' => 1]);

?>

Will result in four write commands (i.e. roundtrips) being executed. Since the operations are ordered, the third insertion cannot be sent until the preceding update is executed.

Örnek 2 Ordered write operations causing an error

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3, 'hello' => 'world']);
$bulk->update(['_id' => 3], ['$set' => ['hello' => 'earth']]);
$bulk->insert(['_id' => 4, 'hello' => 'pluto']);
$bulk->update(['_id' => 4], ['$set' => ['hello' => 'moon']]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 5]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);

try {
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
$result = $e->getWriteResult();

// Check if the write concern could not be fulfilled
if ($writeConcernError = $result->getWriteConcernError()) {
printf("%s (%d): %s\n",
$writeConcernError->getMessage(),
$writeConcernError->getCode(),
var_export($writeConcernError->getInfo(), true)
);
}

// Check if any write operations did not complete at all
foreach ($result->getWriteErrors() as $writeError) {
printf("Operation#%d: %s (%d)\n",
$writeError->getIndex(),
$writeError->getMessage(),
$writeError->getCode()
);
}
} catch (MongoDB\Driver\Exception\Exception $e) {
printf("Other error: %s\n", $e->getMessage());
exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated %d document(s)\n", $result->getModifiedCount());

?>

Yukarıdaki örneğin çıktısı:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If the write concern could not be fullfilled, the example above would output something like:

waiting for replication timed out (64): array (
  'wtimeout' => true,
)
Operation#7: E11000 duplicate key error index: databaseName.collectionName.$_id_ dup key: { : 3 } (11000)
Inserted 4 document(s)
Updated  2 document(s)

If we execute the example above, but allow for unordered writes:

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
/* ... */

?>

Yukarıdaki örneğin çıktısı:

Operation#7: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 3 } (11000)
Operation#8: E11000 duplicate key error index: db.collection.$_id_ dup key: { : 4 } (11000)
Inserted 5 document(s)
Updated  2 document(s)

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeBulkWrite()
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\WriteConcernError
  • MongoDB\Driver\WriteError

İçindekiler

  • MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite
  • MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk
  • MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk
  • MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk
  • MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk


Create a new BulkWrite

  • « MongoDB\Driver\BulkWrite
  • MongoDB\Driver\BulkWrite::count »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Create a new BulkWrite

MongoDB\Driver\BulkWrite::__construct

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::__construct — Create a new BulkWrite

Açıklama

public MongoDB\Driver\BulkWrite::__construct(?array $options = null)

Constructs a new MongoDB\Driver\BulkWrite, which is a mutable object to which one or more write operations may be added. The write(s) may then be executed with MongoDB\Driver\Manager::executeBulkWrite().

Bağımsız Değişkenler

options (array)

options
Option | Type | Description | Default
bypassDocumentValidation bool

If true, allows insert and update operations to circumvent document level validation.

This option is available in MongoDB 3.2+ and is ignored for older server versions, which do not support document level validation.

false
comment mixed

An arbitrary comment to help trace the operation through the database profiler, currentOp output, and logs.

This option is available in MongoDB 4.4+ and will result in an exception at execution time if specified for an older server version.

let array|object

Map of parameter names and values. Values must be constant or closed expressions that do not reference document fields. Parameters can then be accessed as variables in an aggregate expression context (e.g. $$var).

This option is available in MongoDB 5.0+ and will result in an exception at execution time if specified for an older server version.

ordered | bool | Ordered operations (true) are executed serially on the MongoDB server, while unordered operations (false) are sent to the server in an arbitrary order and may be executed in parallel. | true

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.14.0 | Added the "comment" and "let" options.
PECL mongodb 1.1.0 | Added the "bypassDocumentValidation" option.

Örnekler

Örnek 1 MongoDB\Driver\BulkWrite::__construct() example

<?php

$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);
$bulk->delete([]);
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(
['x' => 2],
['$set' => ['x' => 1]],
['limit' => 1, 'upsert' => false]
);
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->update(
['_id' => 3],
['$set' => ['x' => 3]],
['limit' => 1, 'upsert' => true]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$writeConcern = new MongoDB\Driver\WriteConcern(1);

try {
$result = $manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
$result = $e->getWriteResult();

// Check if the write concern could not be fulfilled
if ($writeConcernError = $result->getWriteConcernError()) {
printf("%s (%d): %s\n",
$writeConcernError->getMessage(),
$writeConcernError->getCode(),
var_export($writeConcernError->getInfo(), true)
);
}

// Check if any write operations did not complete at all
foreach ($result->getWriteErrors() as $writeError) {
printf("Operation#%d: %s (%d)\n",
$writeError->getIndex(),
$writeError->getMessage(),
$writeError->getCode()
);
}
} catch (MongoDB\Driver\Exception\Exception $e) {
printf("Other error: %s\n", $e->getMessage());
exit;
}

printf("Inserted %d document(s)\n", $result->getInsertedCount());
printf("Updated %d document(s)\n", $result->getModifiedCount());
printf("Upserted %d document(s)\n", $result->getUpsertedCount());
printf("Deleted %d document(s)\n", $result->getDeletedCount());

?>

Yukarıdaki örneğin çıktısı:

Inserted 2 document(s)
Updated  1 document(s)
Upserted 1 document(s)
Deleted  1 document(s)

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


Count number of write operations in the bulk

  • « MongoDB\Driver\BulkWrite::__construct
  • MongoDB\Driver\BulkWrite::delete »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Count number of write operations in the bulk

MongoDB\Driver\BulkWrite::count

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::count — Count number of write operations in the bulk

Açıklama

public MongoDB\Driver\BulkWrite::count(): int

Returns the number of write operations added to the MongoDB\Driver\BulkWrite object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns number of write operations added to the MongoDB\Driver\BulkWrite object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.2.0 | Returns the number of write operations added to the MongoDB\Driver\BulkWrite object. Earlier versions returned the expected number of client-to-server roundtrips required to execute all write operations.

Örnekler

Örnek 1 MongoDB\Driver\BulkWrite::count() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1, 'x' => 1]);
$bulk->insert(['_id' => 2, 'x' => 2]);
$bulk->update(['x' => 2], ['$set' => ['x' => 1]]);
$bulk->delete(['x' => 1]);

var_dump(count($bulk));

?>

Yukarıdaki örneğin çıktısı:

int(4)


Add a delete operation to the bulk

  • « MongoDB\Driver\BulkWrite::count
  • MongoDB\Driver\BulkWrite::insert »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add a delete operation to the bulk

MongoDB\Driver\BulkWrite::delete

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::delete — Add a delete operation to the bulk

Açıklama

public MongoDB\Driver\BulkWrite::delete(array|object $filter, ?array $deleteOptions = null): void

Adds a delete operation to the MongoDB\Driver\BulkWrite.

Bağımsız Değişkenler

filter (array|object)

The » query predicate. An empty predicate will match all documents in the collection.

Bilginize: When evaluating query criteria, MongoDB compares types and values according to its own » comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class (e.g. use MongoDB\BSON\ObjectId to match an » ObjectId).

deleteOptions

deleteOptions
Option | Type | Description | Default
collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

This option is available in MongoDB 4.4+ and will result in an exception at execution time if specified for an older server version.

limit | bool | Delete all matching documents (false), or only the first matching document (true) | false

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.8.0 | Added the "hint" option.
PECL mongodb 1.2.0 | Added the "collation" option.

Örnekler

Örnek 1 MongoDB\Driver\BulkWrite::delete() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->delete(['x' => 1], ['limit' => 1]);
$bulk->delete(['x' => 2], ['limit' => 0]);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


Add an insert operation to the bulk

  • « MongoDB\Driver\BulkWrite::delete
  • MongoDB\Driver\BulkWrite::update »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add an insert operation to the bulk

MongoDB\Driver\BulkWrite::insert

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::insert — Add an insert operation to the bulk

Açıklama

public MongoDB\Driver\BulkWrite::insert(array|object $document): mixed

Adds an insert operation to the MongoDB\Driver\BulkWrite.

Bağımsız Değişkenler

document (array|object)

A document to insert.

Dönen Değerler

Returns the _id of the inserted document. If the document did not have an _id, the MongoDB\BSON\ObjectId generated for the insert will be returned.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.3.0 | The _id of the inserted document is always returned. Previously, the method only returned a value if a MongoDB\BSON\ObjectId was generated.

Örnekler

Örnek 1 MongoDB\Driver\BulkWrite::insert() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;

$document1 = ['title' => 'one'];
$document2 = ['_id' => 'custom ID', 'title' => 'two'];
$document3 = ['_id' => new MongoDB\BSON\ObjectId, 'title' => 'three'];

$_id1 = $bulk->insert($document1);
$_id2 = $bulk->insert($document2);
$_id3 = $bulk->insert($document3);

var_dump($_id1, $_id2, $_id3);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\BSON\ObjectId)#3 (1) {
  ["oid"]=>
  string(24) "54d51146bd21b91405401d92"
}
NULL
NULL

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult
  • MongoDB\BSON\ObjectId
  • MongoDB\BSON\Persistable


Add an update operation to the bulk

  • « MongoDB\Driver\BulkWrite::insert
  • MongoDB\Driver\Session »
  • PHP Manual
  • MongoDB\Driver\BulkWrite
  • Add an update operation to the bulk

MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk

Açıklama

public MongoDB\Driver\BulkWrite::update(array|object $filter, array|object $newObj, ?array $updateOptions = null): void

Adds an update operation to the MongoDB\Driver\BulkWrite.

Bağımsız Değişkenler

filter (array|object)

The » query predicate. An empty predicate will match all documents in the collection.

Bilginize: When evaluating query criteria, MongoDB compares types and values according to its own » comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class (e.g. use MongoDB\BSON\ObjectId to match an » ObjectId).

newObj (array|object)

A document containing either update operators (e.g. $set), a replacement document (i.e. only field:value expressions), or an » aggregation pipeline.

updateOptions

updateOptions
Option | Type | Description | Default
arrayFilters array

An array of filter documents that determines which array elements to modify for an update operation on an array field. See » Specify arrayFilters for Array Update Operations in the MongoDB manual for more information.

This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version.

collation array|object

» Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the "locale" field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.

If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.

This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.

hint string|array|object

Index specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.

This option is available in MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version.

multi | bool | Update only the first matching document if false, or all matching documents true. This option cannot be true if newObj is a replacement document. | false
upsert | bool | If filter does not match an existing document, insert a single document. The document will be created from newObj if it is a replacement document (i.e. no update operators); otherwise, the operators in newObj will be applied to filter to create the new document. | false

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.7.0 | Added the "hint" option.
PECL mongodb 1.6.0 | The newObj parameter now accepts an aggregation pipeline. This feature requires MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version.
PECL mongodb 1.5.0 | Using the "arrayFilters" option will result in an exception at execution time if unsupported by the server. Previously, no exception would be thrown and the option may have been ignored.
PECL mongodb 1.4.0 | Added the "arrayFilters" option.
PECL mongodb 1.2.0 | Added the "collation" option.

Örnekler

Örnek 1 MongoDB\Driver\BulkWrite::update() example

<?php

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['x' => 2],
['$set' => ['y' => 3]],
['multi' => false, 'upsert' => false]
);

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);

?>

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
  • MongoDB\Driver\WriteResult


The MongoDB\Driver\Session class

(mongodb >=1.4.0)

Giriş

The MongoDB\Driver\Session class represents a client session and is returned by MongoDB\Driver\Manager::startSession(). Commands, queries, and write operations may then be associated the session.

Sınıf Sözdizimi

final class MongoDB\Driver\Session {
/* Sabitler */
const string TRANSACTION_NONE = none;
const string TRANSACTION_STARTING = starting;
const string TRANSACTION_IN_PROGRESS = in_progress;
const string TRANSACTION_COMMITTED = committed;
const string TRANSACTION_ABORTED = aborted;
/* Yöntemler */
final public abortTransaction(): void
final public advanceClusterTime(array|object $clusterTime): void
final public advanceOperationTime(MongoDB\BSON\TimestampInterface $operationTime): void
final public commitTransaction(): void
final private __construct()
final public endSession(): void
final public getClusterTime(): ?object
final public getLogicalSessionId(): object
final public getOperationTime(): ?MongoDB\BSON\Timestamp
final public getServer(): ?MongoDB\Driver\Server
final public getTransactionOptions(): ?array
final public getTransactionState(): string
final public isDirty(): bool
final public isInTransaction(): bool
final public startTransaction(?array $options = null): void
}

Öntanımlı Sabitler

MongoDB\Driver\Session::TRANSACTION_NONE

There is no transaction in progress.

MongoDB\Driver\Session::TRANSACTION_STARTING

A transaction has been started, but no operation has been sent to the server.

MongoDB\Driver\Session::TRANSACTION_IN_PROGRESS

A transaction is in progress.

MongoDB\Driver\Session::TRANSACTION_COMMITTED

The transaction was committed.

MongoDB\Driver\Session::TRANSACTION_ABORTED

The transaction was aborted.

İçindekiler

  • MongoDB\Driver\Session::abortTransaction — Aborts a transaction
  • MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session
  • MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session
  • MongoDB\Driver\Session::commitTransaction — Commits a transaction
  • MongoDB\Driver\Session::__construct — Create a new Session (not used)
  • MongoDB\Driver\Session::endSession — Terminates a session
  • MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session
  • MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session
  • MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session
  • MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned
  • MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction
  • MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session
  • MongoDB\Driver\Session::isDirty — Returns whether the session has been marked as dirty
  • MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress
  • MongoDB\Driver\Session::startTransaction — Starts a transaction


Aborts a transaction

  • « MongoDB\Driver\Session
  • MongoDB\Driver\Session::advanceClusterTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Aborts a transaction

MongoDB\Driver\Session::abortTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::abortTransaction — Aborts a transaction

Açıklama

final public MongoDB\Driver\Session::abortTransaction(): void

Terminates the multi-document transaction and rolls back any data changes made by the operations within the transaction. That is, the transaction ends without saving any of the changes made by the operations in the transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be aborted (e.g. a transaction was not started).

Ayrıca Bakınız

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction


Advances the cluster time for this session

  • « MongoDB\Driver\Session::abortTransaction
  • MongoDB\Driver\Session::advanceOperationTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Advances the cluster time for this session

MongoDB\Driver\Session::advanceClusterTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::advanceClusterTime — Advances the cluster time for this session

Açıklama

final public MongoDB\Driver\Session::advanceClusterTime(array|object $clusterTime): void

Advances the cluster time for this session. If the cluster time is less than or equal to the session's current cluster time, this function is a no-op.

By using this method in conjunction with MongoDB\Driver\Session::advanceOperationTime() to copy the cluster and operation times from another session, you can ensure that operations in this session are causally consistent with the last operation in the other session.

Bağımsız Değişkenler

clusterTime

The cluster time is a document containing a logical timestamp and server signature. Typically, this value will be obtained by calling MongoDB\Driver\Session::getClusterTime() on another session object.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::advanceOperationTime() - Advances the operation time for this session
  • MongoDB\Driver\Session::getClusterTime() - Returns the cluster time for this session


Advances the operation time for this session

  • « MongoDB\Driver\Session::advanceClusterTime
  • MongoDB\Driver\Session::commitTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Advances the operation time for this session

MongoDB\Driver\Session::advanceOperationTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::advanceOperationTime — Advances the operation time for this session

Açıklama

final public MongoDB\Driver\Session::advanceOperationTime(MongoDB\BSON\TimestampInterface $operationTime): void

Advances the operation time for this session. If the operation time is less than or equal to the session's current operation time, this function is a no-op.

By using this method in conjunction with MongoDB\Driver\Session::advanceClusterTime() to copy the operation and cluster times from another session, you can ensure that operations in this session are causally consistent with the last operation in the other session.

Bağımsız Değişkenler

operationTime

The operation time is a logical timestamp. Typically, this value will be obtained by calling MongoDB\Driver\Session::getOperationTime() on another session object.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::advanceClusterTime() - Advances the cluster time for this session
  • MongoDB\Driver\Session::getClusterTime() - Returns the cluster time for this session


Commits a transaction

  • « MongoDB\Driver\Session::advanceOperationTime
  • MongoDB\Driver\Session::__construct »
  • PHP Manual
  • MongoDB\Driver\Session
  • Commits a transaction

MongoDB\Driver\Session::commitTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::commitTransaction — Commits a transaction

Açıklama

final public MongoDB\Driver\Session::commitTransaction(): void

Saves the changes made by the operations in the multi-document transaction and ends the transaction. Until the commit, none of the data changes made from within the transaction are visible outside the transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\CommandException if the server could not commit the transaction (e.g. due to conflicts, network issues). In case the exception's MongoDB\Driver\Exception\CommandException::getResultDocument() has a "errorLabels" element, and this array contains a "TransientTransactionError" or "UnUnknownTransactionCommitResult" value, it is safe to re-try the whole transaction. In newer versions of the driver, MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() should be used to test for this situation instead.
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be commited (e.g. a transaction was not started).

Ayrıca Bakınız

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction
  • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() - Returns whether an error label is associated with an exception


Create a new Session (not used)

  • « MongoDB\Driver\Session::commitTransaction
  • MongoDB\Driver\Session::endSession »
  • PHP Manual
  • MongoDB\Driver\Session
  • Create a new Session (not used)

MongoDB\Driver\Session::__construct

(mongodb >=1.4.0)

MongoDB\Driver\Session::__construct — Create a new Session (not used)

Açıklama

final private MongoDB\Driver\Session::__construct()

MongoDB\Driver\Session objects are returned by MongoDB\Driver\Manager::startSession() and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client


Terminates a session

  • « MongoDB\Driver\Session::__construct
  • MongoDB\Driver\Session::getClusterTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Terminates a session

MongoDB\Driver\Session::endSession

(mongodb >=1.5.0)

MongoDB\Driver\Session::endSession — Terminates a session

Açıklama

final public MongoDB\Driver\Session::endSession(): void

This method closes an existing session. If a transaction was associated with this session, the transaction will be aborted. After calling this method, applications should not invoke other methods on the session.

Bilginize: Sessions are also closed during garbage collection. It should not be necessary to call this method under normal circumstances.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::startTransaction() - Starts a transaction


Returns the cluster time for this session

  • « MongoDB\Driver\Session::endSession
  • MongoDB\Driver\Session::getLogicalSessionId »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the cluster time for this session

MongoDB\Driver\Session::getClusterTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::getClusterTime — Returns the cluster time for this session

Açıklama

final public MongoDB\Driver\Session::getClusterTime(): ?object

Returns the cluster time for this session. If the session has not been used for any operation and MongoDB\Driver\Session::advanceClusterTime() has not been called, the cluster time will be null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the cluster time for this session, or null if the session has no cluster time.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::advanceClusterTime() - Advances the cluster time for this session


Returns the logical session ID for this session

  • « MongoDB\Driver\Session::getClusterTime
  • MongoDB\Driver\Session::getOperationTime »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the logical session ID for this session

MongoDB\Driver\Session::getLogicalSessionId

(mongodb >=1.4.0)

MongoDB\Driver\Session::getLogicalSessionId — Returns the logical session ID for this session

Açıklama

final public MongoDB\Driver\Session::getLogicalSessionId(): object

Returns the logical session ID for this session, which may be used to identify this session's operations on the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the logical session ID for this session.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the operation time for this session

  • « MongoDB\Driver\Session::getLogicalSessionId
  • MongoDB\Driver\Session::getServer »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the operation time for this session

MongoDB\Driver\Session::getOperationTime

(mongodb >=1.4.0)

MongoDB\Driver\Session::getOperationTime — Returns the operation time for this session

Açıklama

final public MongoDB\Driver\Session::getOperationTime(): ?MongoDB\BSON\Timestamp

Returns the operation time for this session. If the session has not been used for any operation and MongoDB\Driver\Session::advanceOperationTime() has not been called, the operation time will be null

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the operation time for this session, or null if the session has no operation time.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::advanceOperationTime() - Advances the operation time for this session


Returns the server to which this session is pinned

  • « MongoDB\Driver\Session::getOperationTime
  • MongoDB\Driver\Session::getTransactionOptions »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the server to which this session is pinned

MongoDB\Driver\Session::getServer

(mongodb >=1.6.0)

MongoDB\Driver\Session::getServer — Returns the server to which this session is pinned

Açıklama

final public MongoDB\Driver\Session::getServer(): ?MongoDB\Driver\Server

Returns the MongoDB\Driver\Server to which this session is pinned. If the session is not pinned to a server, null will be returned.

Session pinning is primarily used for sharded transactions, as all commands within a sharded transaction must be sent to the same mongos instance. This method is intended to be used by libraries built atop the extension to allow use of a pinned server instead of invoking server selection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server to which this session is pinned, or null if the session is not pinned to any server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns options for the currently running transaction

  • « MongoDB\Driver\Session::getServer
  • MongoDB\Driver\Session::getTransactionState »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns options for the currently running transaction

MongoDB\Driver\Session::getTransactionOptions

(mongodb >=1.7.0)

MongoDB\Driver\Session::getTransactionOptions — Returns options for the currently running transaction

Açıklama

final public MongoDB\Driver\Session::getTransactionOptions(): ?array

Returns options for the currently running transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a array containing current transaction options, or null if no transaction is running.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::getTransactionState() - Returns the current transaction state for this session


Returns the current transaction state for this session

  • « MongoDB\Driver\Session::getTransactionOptions
  • MongoDB\Driver\Session::isDirty »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns the current transaction state for this session

MongoDB\Driver\Session::getTransactionState

(mongodb >=1.7.0)

MongoDB\Driver\Session::getTransactionState — Returns the current transaction state for this session

Açıklama

final public MongoDB\Driver\Session::getTransactionState(): string

Returns the transaction state for this session.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current transaction state for this session.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::isInTransaction() - Returns whether a multi-document transaction is in progress
  • MongoDB\Driver\Session::getTransactionOptions() - Returns options for the currently running transaction


Returns whether the session has been marked as dirty

  • « MongoDB\Driver\Session::getTransactionState
  • MongoDB\Driver\Session::isInTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns whether the session has been marked as dirty

MongoDB\Driver\Session::isDirty

(mongodb >=1.13.0)

MongoDB\Driver\Session::isDirty — Returns whether the session has been marked as dirty

Açıklama

final public MongoDB\Driver\Session::isDirty(): bool

Returns whether the session has been marked as dirty (i.e. it has been used with a command that encountered a network error).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the session has been marked as dirty.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns whether a multi-document transaction is in progress

  • « MongoDB\Driver\Session::isDirty
  • MongoDB\Driver\Session::startTransaction »
  • PHP Manual
  • MongoDB\Driver\Session
  • Returns whether a multi-document transaction is in progress

MongoDB\Driver\Session::isInTransaction

(mongodb >=1.6.0)

MongoDB\Driver\Session::isInTransaction — Returns whether a multi-document transaction is in progress

Açıklama

final public MongoDB\Driver\Session::isInTransaction(): bool

Returns whether a multi-document transaction is currently in progress for this session. A transaction is considered "in progress" if it has been started but has not been committed or aborted.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if a transaction is currently in progress for this session, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Session::getTransactionState() - Returns the current transaction state for this session


Starts a transaction

  • « MongoDB\Driver\Session::isInTransaction
  • MongoDB\Driver\ClientEncryption »
  • PHP Manual
  • MongoDB\Driver\Session
  • Starts a transaction

MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::startTransaction — Starts a transaction

Açıklama

final public MongoDB\Driver\Session::startTransaction(?array $options = null): void

Starts a multi-document transaction associated with the session. At any given time, you can have at most one open transaction for a session. After starting a transaction, the session object must be passed to each operation via the "session" option (e.g. MongoDB\Driver\Manager::executeBulkWrite()) in order to associate that operation with the transaction.

Transactions can be committed through MongoDB\Driver\Session::commitTransaction(), and aborted with MongoDB\Driver\Session::abortTransaction(). Transactions are also automatically aborted when the session is closed from garbage collection or by explicitly calling MongoDB\Driver\Session::endSession().

Bağımsız Değişkenler

options

Options can be passed as argument to this method. Each element in this options array overrides the corresponding option from the "defaultTransactionOptions" option, if set when starting the session with MongoDB\Driver\Manager::startSession().

options
Option Type Description
maxCommitTimeMS int

The maximum amount of time in milliseconds to allow a single commitTransaction command to run.

If specified, maxCommitTimeMS must be a signed 32-bit integer greater than or equal to zero.

readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\CommandException if the transaction could not be started because of a server-side problem (e.g. a lock could not be obtained).
  • Throws MongoDB\Driver\Exception\RuntimeException if the transaction could not be started (e.g. a transaction was already started).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.6.0 | The "maxCommitTimeMS" option was added.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::startSession() - Start a new client session for use with this client
  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • MongoDB\Driver\Session::abortTransaction() - Aborts a transaction


The MongoDB\Driver\ClientEncryption class

(mongodb >=1.7.0)

Giriş

The MongoDB\Driver\ClientEncryption class handles creation of data keys for client-side encryption, as well as manually encrypting and decrypting values.

Sınıf Sözdizimi

final class MongoDB\Driver\ClientEncryption {
/* Sabitler */
const string AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC = AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic;
const string AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM = AEAD_AES_256_CBC_HMAC_SHA_512-Random;
const string ALGORITHM_INDEXED = Indexed;
const string ALGORITHM_UNINDEXED = Unindexed;
const string ALGORITHM_RANGE_PREVIEW = RangePreview;
const string QUERY_TYPE_EQUALITY = equality;
const string QUERY_TYPE_RANGE_PREVIEW = rangePreview;
/* Yöntemler */
final public addKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public __construct(array $options)
final public createDataKey(string $kmsProvider, ?array $options = null): MongoDB\BSON\Binary
final public decrypt(MongoDB\BSON\Binary $value): mixed
final public deleteKey(MongoDB\BSON\Binary $keyId): object
final public encrypt(mixed $value, ?array $options = null): MongoDB\BSON\Binary
final public encryptExpression(array|object $expr, ?array $options = null): object
final public getKey(MongoDB\BSON\Binary $keyId): ?object
final public getKeyByAltName(string $keyAltName): ?object
final public getKeys(): MongoDB\Driver\Cursor
final public removeKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object
final public rewrapManyDataKey(array|object $filter, ?array $options = null): object
}

Öntanımlı Sabitler

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC

Specifies an algorithm for » deterministic encryption, which is suitable for querying.

MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM

Specifies an algorithm for » randomized encryption

MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED

Specifies an algorithm for an indexed, encrypted payload, which can be used with queryable encryption.

To insert or query with an indexed, encrypted payload, the MongoDB\Driver\Manager must be configured with the "autoEncryption" driver option. The "bypassQueryAnalysis" auto encryption option may be true. The "bypassAutoEncryption" auto encryption option must be false.

MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED

Specifies an algorithm for an unindexed, encrypted payload.

MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW

Specifies an algorithm for a range, encrypted payload, which can be used with queryable encryption.

To query with a range encrypted payload, the MongoDB\Driver\Manager must be configured with the "autoEncryption" driver option. The "bypassQueryAnalysis" auto encryption option may be true. The "bypassAutoEncryption" auto encryption option must be false.

Bilginize:

The range algorithm is experimental only. It is not intended for public use.

The PHP driver does not yet support range queries for decimal128 BSON field types.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY

Specifies an equality query type, which is used in conjunction with MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED.

MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

Specifies a range query type, which is used in conjunction with MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.16.0 | Added MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW and MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW.
PECL mongodb 1.14.0 | Added MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED, MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED, and MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY

Ayrıca Bakınız

  • MongoDB\Driver\Manager::createClientEncryption()

İçindekiler

  • MongoDB\Driver\ClientEncryption::addKeyAltName — Adds an alternate name to a key document
  • MongoDB\Driver\ClientEncryption::__construct — Create a new ClientEncryption object
  • MongoDB\Driver\ClientEncryption::createDataKey — Creates a key document
  • MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value
  • MongoDB\Driver\ClientEncryption::deleteKey — Deletes a key document
  • MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value
  • MongoDB\Driver\ClientEncryption::encryptExpression — Encrypts a match or aggregate expression
  • MongoDB\Driver\ClientEncryption::getKey — Gets a key document
  • MongoDB\Driver\ClientEncryption::getKeyByAltName — Gets a key document by an alternate name
  • MongoDB\Driver\ClientEncryption::getKeys — Gets all key documents
  • MongoDB\Driver\ClientEncryption::removeKeyAltName — Removes an alternate name from a key document
  • MongoDB\Driver\ClientEncryption::rewrapManyDataKey — Rewraps data keys


Adds an alternate name to a key document

  • « MongoDB\Driver\ClientEncryption
  • MongoDB\Driver\ClientEncryption::__construct »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Adds an alternate name to a key document

MongoDB\Driver\ClientEncryption::addKeyAltName

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::addKeyAltName — Adds an alternate name to a key document

Açıklama

final public MongoDB\Driver\ClientEncryption::addKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object

Adds keyAltName to the set of alternate names for the key document with the given UUID keyId.

Bağımsız Değişkenler

keyId

A MongoDB\BSON\Binary instance with subtype 4 (UUID) identifying the key document.

keyAltName

Alternate name to add to the key document.

Dönen Değerler

Returns the previous version of the key document, or null if no document matched.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::getKeyByAltName() - Gets a key document by an alternate name
  • MongoDB\Driver\ClientEncryption::removeKeyAltName() - Removes an alternate name from a key document


Create a new ClientEncryption object

  • « MongoDB\Driver\ClientEncryption::addKeyAltName
  • MongoDB\Driver\ClientEncryption::createDataKey »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Create a new ClientEncryption object

MongoDB\Driver\ClientEncryption::__construct

(mongodb >=1.14.0)

MongoDB\Driver\ClientEncryption::__construct — Create a new ClientEncryption object

Açıklama

final public MongoDB\Driver\ClientEncryption::__construct(array $options)

Constructs a new MongoDB\Driver\ClientEncryption object with the specified options.

Bağımsız Değişkenler

options

options
Option | Type | Description
keyVaultClient | MongoDB\Driver\Manager | The Manager used to route data key queries. This option is required (unlike with MongoDB\Driver\Manager::createClientEncryption()).
keyVaultNamespace | string | A fully qualified namespace (e.g. "databaseName.collectionName") denoting the collection that contains all data keys used for encryption and decryption. This option is required.
kmsProviders array

A document containing the configuration for one or more KMS providers, which are used to encrypt data keys. Supported providers include "aws", "azure", "gcp", "kmip", and "local" and at least one must be specified.

The format for "aws" is as follows:

aws: {
    accessKeyId: <string>,
    secretAccessKey: <string>,
    sessionToken: <optional string>
}

The format for "azure" is as follows:

azure: {
    tenantId: <string>,
    clientId: <string>,
    clientSecret: <string>,
    identityPlatformEndpoint: <optional string> // Defaults to "login.microsoftonline.com"

}

The format for "gcp" is as follows:

gcp: {
    email: <string>,
    privateKey: <base64 string>|<MongoDB\BSON\Binary>,
    endpoint: <optional string> // Defaults to "oauth2.googleapis.com"
}

The format for "kmip" is as follows:

kmip: {
    endpoint: <string>
}

The format for "local" is as follows:

local: {
    // 96-byte master key used to encrypt/decrypt data keys
    key: <base64 string>|<MongoDB\BSON\Binary>
}
tlsOptions array

A document containing the TLS configuration for one or more KMS providers. Supported providers include "aws", "azure", "gcp", and "kmip". All providers support the following options:

<provider>: {
    tlsCaFile: <optional string>,
    tlsCertificateKeyFile: <optional string>,
    tlsCertificateKeyFilePassword: <optional string>,
    tlsDisableOCSPEndpointCheck: <optional bool>
}

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the extension was compiled without libmongocrypt support

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.16.0

The AWS KMS provider for client-side encryption now accepts a "sessionToken" option, which can be used to authenticate with temporary AWS credentials.

Added "tlsDisableOCSPEndpointCheck" to the "tlsOptions" option.

If an empty document is specified for the "azure" or "gcp" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

PECL mongodb 1.15.0

If an empty document is specified for the "aws" KMS provider, the driver will attempt to configure the provider using » Automatic Credentials.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::createClientEncryption() - Create a new ClientEncryption object
  • » Explicit (Manual) Client-Side Field Level Encryption in the MongoDB manual


Creates a key document

  • « MongoDB\Driver\ClientEncryption::__construct
  • MongoDB\Driver\ClientEncryption::decrypt »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Creates a key document

MongoDB\Driver\ClientEncryption::createDataKey

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::createDataKey — Creates a key document

Açıklama

final public MongoDB\Driver\ClientEncryption::createDataKey(string $kmsProvider, ?array $options = null): MongoDB\BSON\Binary

Creates a new key document and inserts it into the key vault collection.

Bağımsız Değişkenler

kmsProvider

The KMS provider (e.g. "local", "aws") that will be used to encrypt the new data key.

options

Data key options
Option Type Description
masterKey array

The masterKey document identifies a KMS-specific key used to encrypt the new data key. This option is required unless kmsProvider is "local".

"aws" provider options
Option | Type | Description
region | string | Required.
key | string | Required. The Amazon Resource Name (ARN) to the AWS customer master key (CMK).
endpoint | string | Optional. An alternate host identifier to send KMS requests to. May include port number.

"azure" provider options
Option | Type | Description
keyVaultEndpoint | string | Required. Host with optional port (e.g. "example.vault.azure.net").
keyName | string | Required.
keyVersion | string | Optional. A specific version of the named key. Defaults to using the key's primary version.

"gcp" provider options
Option | Type | Description
projectId | string | Required.
location | string | Required.
keyRing | string | Required.
keyName | string | Required.
keyVersion | string | Optional. A specific version of the named key. Defaults to using the key's primary version.
endpoint | string | Optional. Host with optional port. Defaults to "cloudkms.googleapis.com".

"kmip" provider options
Option | Type | Description
keyId | string | Optional. Unique identifier to a 96-byte KMIP secret data managed object. If unspecified, the driver creates a random 96-byte KMIP secret data managed object.
endpoint | string | Optional. Host with optional port.

keyAltNames array

An optional list of string alternate names used to reference a key. If a key is created with alternate names, then encryption may refer to the key by the unique alternate name instead of by _id.

keyMaterial MongoDB\BSON\Binary

An optional 96-byte value to use as custom key material for the data key being created. If keyMaterial is given, the custom key material is used for encrypting and decrypting data. Otherwise, the key material for the new data key is generated from a cryptographically secure random device.

Dönen Değerler

Returns the identifier of the new key as a MongoDB\BSON\Binary object with subtype 4 (UUID).

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Added the "keyMaterial" option.
PECL mongodb 1.10.0 | Azure and GCP are now supported as KMS providers for client-side encryption.


Decrypt a value

  • « MongoDB\Driver\ClientEncryption::createDataKey
  • MongoDB\Driver\ClientEncryption::deleteKey »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Decrypt a value

MongoDB\Driver\ClientEncryption::decrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::decrypt — Decrypt a value

Açıklama

final public MongoDB\Driver\ClientEncryption::decrypt(MongoDB\BSON\Binary $value): mixed

Decrypts the value.

Bağımsız Değişkenler

value

A MongoDB\BSON\Binary instance with subtype 6 containing the encrypted value.

Dönen Değerler

Returns the decrypted value as it was passed to MongoDB\Driver\ClientEncryption::encrypt().

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while decrypting the value

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::encrypt() - Encrypt a value


Deletes a key document

  • « MongoDB\Driver\ClientEncryption::decrypt
  • MongoDB\Driver\ClientEncryption::encrypt »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Deletes a key document

MongoDB\Driver\ClientEncryption::deleteKey

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::deleteKey — Deletes a key document

Açıklama

final public MongoDB\Driver\ClientEncryption::deleteKey(MongoDB\BSON\Binary $keyId): object

Removes the key document with the given UUID keyId from the key vault collection.

Bağımsız Değişkenler

keyId

A MongoDB\BSON\Binary instance with subtype 4 (UUID) identifying the key document.

Dönen Değerler

Returns the result of the internal deleteOne operation on the key vault collection.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.


Encrypt a value

  • « MongoDB\Driver\ClientEncryption::deleteKey
  • MongoDB\Driver\ClientEncryption::encryptExpression »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Encrypt a value

MongoDB\Driver\ClientEncryption::encrypt

(mongodb >=1.7.0)

MongoDB\Driver\ClientEncryption::encrypt — Encrypt a value

Açıklama

final public MongoDB\Driver\ClientEncryption::encrypt(mixed $value, ?array $options = null): MongoDB\BSON\Binary

Encrypts the value.

Bağımsız Değişkenler

value

The value to be encrypted. Any value that can be inserted into MongoDB can be encrypted using this method.

options

Encryption options
Option Type Description
algorithm string

The encryption algorithm to be used. This option is required. Specify one of the following ClientEncryption constants:

  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC
  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM
  • MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW
contentionFactor int

The contention factor for evaluating queries with indexed, encrypted payloads.

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

keyAltName string

Identifies a key vault collection document by keyAltName. This option is mutually exclusive with keyId and exactly one is required.

keyId MongoDB\BSON\Binary

Identifies a data key by _id. The value is a UUID (binary subtype 4). This option is mutually exclusive with keyAltName and exactly one is required.

queryType int

The query type for evaluating queries with indexed, encrypted payloads. Specify one of the following ClientEncryption constants:

  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

rangeOpts array

Index options for a queryable encryption field supporting "rangePreview" queries. The options below must match the values set in the encryptedFields of the target collection. For double and decimal128 BSON field types, min, max, and precision must all be set, or all be unset.

Range index options
Option | Type | Description
min | mixed | Required if precision is set.
max | mixed | Required if precision is set.
sparsity | int | Required.
precision | int | Optional. May only be set for double or decimal128 BSON field types.

Dönen Değerler

Returns the encrypted value as MongoDB\BSON\Binary object with subtype 6.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while encrypting the value

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.14.0 | Added the "contentionFactor" and "queryType" options.

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::decrypt() - Decrypt a value


Encrypts a match or aggregate expression

  • « MongoDB\Driver\ClientEncryption::encrypt
  • MongoDB\Driver\ClientEncryption::getKey »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Encrypts a match or aggregate expression

MongoDB\Driver\ClientEncryption::encryptExpression

(mongodb >=1.16.0)

MongoDB\Driver\ClientEncryption::encryptExpression — Encrypts a match or aggregate expression

Açıklama

final public MongoDB\Driver\ClientEncryption::encryptExpression(array|object $expr, ?array $options = null): object

Encrypts a match or aggregate expression to query a range index.

To query with a range encrypted payload, the MongoDB\Driver\Manager must be configured with the "autoEncryption" driver option. The "bypassQueryAnalysis" auto encryption option may be true. The "bypassAutoEncryption" auto encryption option must be false.

Bilginize:

The range algorithm is experimental only. It is not intended for public use.

The PHP driver does not yet support range queries for decimal128 BSON field types.

Bağımsız Değişkenler

expr

The match or aggregate expression to be encrypted. Expressions must use at least one of the $gt, $gte, $lt, or $lte operators. A top-level $and operator is required, even if only a single comparison operator is used.

An example of a supported match expression (applies to queries and the $match aggregation stage) is as follows:

[
    '$and' => [
        [ '<field>' => [ '$gt'  => '<value1>' ] ],
        [ '<field>' => [ '$lte' => '<value2>' ] ],
    ],
]

An example of a supported aggregate expression is as follows:

[
    '$and' => [
        [ '$gte' => [ '<fieldPath>', '<value1>' ] ],
        [ '$lt'  => [ '<fieldPath>', '<value2>' ] ],
    ],
]
options

Encryption options
Option Type Description
algorithm string

The encryption algorithm to be used. This option is required. Specify one of the following ClientEncryption constants:

  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_DETERMINISTIC
  • MongoDB\Driver\ClientEncryption::AEAD_AES_256_CBC_HMAC_SHA_512_RANDOM
  • MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_UNINDEXED
  • MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW
contentionFactor int

The contention factor for evaluating queries with indexed, encrypted payloads.

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

keyAltName string

Identifies a key vault collection document by keyAltName. This option is mutually exclusive with keyId and exactly one is required.

keyId MongoDB\BSON\Binary

Identifies a data key by _id. The value is a UUID (binary subtype 4). This option is mutually exclusive with keyAltName and exactly one is required.

queryType int

The query type for evaluating queries with indexed, encrypted payloads. Specify one of the following ClientEncryption constants:

  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_EQUALITY
  • MongoDB\Driver\ClientEncryption::QUERY_TYPE_RANGE_PREVIEW

This option only applies and may only be specified when algorithm is MongoDB\Driver\ClientEncryption::ALGORITHM_INDEXED or MongoDB\Driver\ClientEncryption::ALGORITHM_RANGE_PREVIEW.

rangeOpts array

Index options for a queryable encryption field supporting "rangePreview" queries. The options below must match the values set in the encryptedFields of the target collection. For double and decimal128 BSON field types, min, max, and precision must all be set, or all be unset.

Range index options
Option | Type | Description
min | mixed | Required if precision is set.
max | mixed | Required if precision is set.
sparsity | int | Required.
precision | int | Optional. May only be set for double or decimal128 BSON field types.

Dönen Değerler

Returns the encrypted expression as an object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while encrypting the expression

Ayrıca Bakınız

  • MongoDB\Driver\Manager::__construct() - Create new MongoDB Manager


Gets a key document

  • « MongoDB\Driver\ClientEncryption::encryptExpression
  • MongoDB\Driver\ClientEncryption::getKeyByAltName »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Gets a key document

MongoDB\Driver\ClientEncryption::getKey

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::getKey — Gets a key document

Açıklama

final public MongoDB\Driver\ClientEncryption::getKey(MongoDB\BSON\Binary $keyId): ?object

Finds a single key document in the key vault collection with the given UUID keyId.

Bağımsız Değişkenler

keyId

A MongoDB\BSON\Binary instance with subtype 4 (UUID) identifying the key document.

Dönen Değerler

Returns the key document, or null if no document matched.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.


Gets a key document by an alternate name

  • « MongoDB\Driver\ClientEncryption::getKey
  • MongoDB\Driver\ClientEncryption::getKeys »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Gets a key document by an alternate name

MongoDB\Driver\ClientEncryption::getKeyByAltName

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::getKeyByAltName — Gets a key document by an alternate name

Açıklama

final public MongoDB\Driver\ClientEncryption::getKeyByAltName(string $keyAltName): ?object

Finds a single key document in the key vault collection with the given alternate name keyAltName.

Bağımsız Değişkenler

keyAltName

Alternate name for the key document.

Dönen Değerler

Returns the key document, or null if no document matched.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::addKeyAltName() - Adds an alternate name to a key document
  • MongoDB\Driver\ClientEncryption::removeKeyAltName() - Removes an alternate name from a key document


Gets all key documents

  • « MongoDB\Driver\ClientEncryption::getKeyByAltName
  • MongoDB\Driver\ClientEncryption::removeKeyAltName »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Gets all key documents

MongoDB\Driver\ClientEncryption::getKeys

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::getKeys — Gets all key documents

Açıklama

final public MongoDB\Driver\ClientEncryption::getKeys(): MongoDB\Driver\Cursor

Finds all key documents in the key vault collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.


Removes an alternate name from a key document

  • « MongoDB\Driver\ClientEncryption::getKeys
  • MongoDB\Driver\ClientEncryption::rewrapManyDataKey »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Removes an alternate name from a key document

MongoDB\Driver\ClientEncryption::removeKeyAltName

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::removeKeyAltName — Removes an alternate name from a key document

Açıklama

final public MongoDB\Driver\ClientEncryption::removeKeyAltName(MongoDB\BSON\Binary $keyId, string $keyAltName): ?object

Removes keyAltName from the set of alternate names for the key document with the given UUID keyId.

Bağımsız Değişkenler

keyId

A MongoDB\BSON\Binary instance with subtype 4 (UUID) identifying the key document.

keyAltName

Alternate name to remove from the key document.

Dönen Değerler

Returns the previous version of the key document, or null if no document matched.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Ayrıca Bakınız

  • MongoDB\Driver\ClientEncryption::addKeyAltName() - Adds an alternate name to a key document
  • MongoDB\Driver\ClientEncryption::getKeyByAltName() - Gets a key document by an alternate name


Rewraps data keys

  • « MongoDB\Driver\ClientEncryption::removeKeyAltName
  • MongoDB\Driver\ServerApi »
  • PHP Manual
  • MongoDB\Driver\ClientEncryption
  • Rewraps data keys

MongoDB\Driver\ClientEncryption::rewrapManyDataKey

(mongodb >=1.15.0)

MongoDB\Driver\ClientEncryption::rewrapManyDataKey — Rewraps data keys

Açıklama

final public MongoDB\Driver\ClientEncryption::rewrapManyDataKey(array|object $filter, ?array $options = null): object

Rewraps (i.e. decrypts and re-encrypts) zero or more data keys in the key vault collection that match the given filter.

If the "provider" option is not specified, matching data keys will be rewrapped with their current KMS provider. Otherwise, matching data keys will be re-encrypted according to the specified "provider" and "masterKey" options.

Bağımsız Değişkenler

filter (array|object)

The » query predicate. An empty predicate will match all documents in the collection.

Bilginize: When evaluating query criteria, MongoDB compares types and values according to its own » comparison rules for BSON types, which differs from PHP's comparison and type juggling rules. When matching a special BSON type the query criteria should use the respective BSON class (e.g. use MongoDB\BSON\ObjectId to match an » ObjectId).

options

RewrapManyDataKey options
Option Type Description
provider string

The KMS provider (e.g. "local", "aws") that will be used to re-encrypt the matched data keys.

If a KMS provider is not specified, matched data keys will be re-encrypted with their current KMS provider.

masterKey array

The masterKey identifies a KMS-specific key used to encrypt the new data key. This option should not be specified without the "provider" option. This option is required if "provider" is specified and not "local".

"aws" provider options
Option | Type | Description
region | string | Required.
key | string | Required. The Amazon Resource Name (ARN) to the AWS customer master key (CMK).
endpoint | string | Optional. An alternate host identifier to send KMS requests to. May include port number.

"azure" provider options
Option | Type | Description
keyVaultEndpoint | string | Required. Host with optional port (e.g. "example.vault.azure.net").
keyName | string | Required.
keyVersion | string | Optional. A specific version of the named key. Defaults to using the key's primary version.

"gcp" provider options
Option | Type | Description
projectId | string | Required.
location | string | Required.
keyRing | string | Required.
keyName | string | Required.
keyVersion | string | Optional. A specific version of the named key. Defaults to using the key's primary version.
endpoint | string | Optional. Host with optional port. Defaults to "cloudkms.googleapis.com".

"kmip" provider options
Option | Type | Description
keyId | string | Optional. Unique identifier to a 96-byte KMIP secret data managed object. If unspecified, the driver creates a random 96-byte KMIP secret data managed object.
endpoint | string | Optional. Host with optional port.

Dönen Değerler

Returns an object, which will have an optional bulkWriteResult property containing the result of the internal bulkWrite operation as an object. If no data keys matched the filter or the write was unacknowledged, the bulkWriteResult property will be null.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\EncryptionException if an error occurs while decrypting or re-encrypting a data key.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.


The MongoDB\Driver\ServerApi class

(mongodb >=1.10.0)

Giriş

Sınıf Sözdizimi

final class MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable, Serializable {
/* Sabitler */
const string MongoDB\Driver\ServerAPI::V1 = "1";
/* Yöntemler */
final public bsonSerialize(): stdClass
final public __construct(string $version, ?bool $strict = null, ?bool $deprecationErrors = null)
final public serialize(): string
final public unserialize(string $data): void
}

Öntanımlı Sabitler

MongoDB\Driver\ServerApi::V1

Server API version 1.

Örnekler

Örnek 1 Declare an API version on a manager

<?php

use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;

$v1 = new ServerApi(ServerApi::v1);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);

$command = new MongoDB\Driver\Command(['buildInfo' => 1]);

try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}

/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];

echo $buildInfo->version, "\n";

?>

Yukarıdaki örneğin çıktısı:

4.9.0-alpha7-49-gb968ca0

Örnek 2 Declare a strict API version on a manager

The following example sets the strict flag, which tells the server to reject any command that is not part of the declared API version. This results in an error when running the buildInfo command.

<?php

use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;

$v1 = new ServerApi(ServerApi::v1, true);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);

$command = new MongoDB\Driver\Command(['buildInfo' => 1]);

try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}

/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];

echo $buildInfo->version, "\n";

?>

Yukarıdaki örneğin çıktısı:

Provided apiStrict:true, but the command buildInfo is not in API Version 1

İçindekiler

  • MongoDB\Driver\ServerApi::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ServerApi::__construct — Create a new ServerApi instance
  • MongoDB\Driver\ServerApi::serialize — Serialize a ServerApi
  • MongoDB\Driver\ServerApi::unserialize — Unserialize a ServerApi


Returns an object for BSON serialization

  • « MongoDB\Driver\ServerApi
  • MongoDB\Driver\ServerApi::__construct »
  • PHP Manual
  • MongoDB\Driver\ServerApi
  • Returns an object for BSON serialization

MongoDB\Driver\ServerApi::bsonSerialize

(mongodb >=1.10.0)

MongoDB\Driver\ServerApi::bsonSerialize — Returns an object for BSON serialization

Açıklama

final public MongoDB\Driver\ServerApi::bsonSerialize(): stdClass

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an object for serializing the ServerApi as BSON.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON


Create a new ServerApi instance

  • « MongoDB\Driver\ServerApi::bsonSerialize
  • MongoDB\Driver\ServerApi::serialize »
  • PHP Manual
  • MongoDB\Driver\ServerApi
  • Create a new ServerApi instance

MongoDB\Driver\ServerApi::__construct

(mongodb >=1.10.0)

MongoDB\Driver\ServerApi::__construct — Create a new ServerApi instance

Açıklama

final public MongoDB\Driver\ServerApi::__construct(string $version, ?bool $strict = null, ?bool $deprecationErrors = null)

Creates a new MongoDB\Driver\ServerApi instance used to declare an API version when creating a MongoDB\Driver\Manager.

Bağımsız Değişkenler

version

A server API version.

Supported API versions are provided as constants in MongoDB\Driver\ServerApi. The only supported API version is MongoDB\Driver\ServerApi::V1.

strict

If the strict parameter is set to true, the server will yield an error for any command that is not part of the specified API version. If no value is provided, the server default value (false) is used.

deprecationErrors

If the deprecationErrors parameter is set to true, the server will yield an error when using a command that is deprecated in the specified API version. If no value is provided, the server default value (false) is used.


Serialize a ServerApi

  • « MongoDB\Driver\ServerApi::__construct
  • MongoDB\Driver\ServerApi::unserialize »
  • PHP Manual
  • MongoDB\Driver\ServerApi
  • Serialize a ServerApi

MongoDB\Driver\ServerApi::serialize

(mongodb >=1.10.0)

MongoDB\Driver\ServerApi::serialize — Serialize a ServerApi

Açıklama

final public MongoDB\Driver\ServerApi::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\Driver\ServerApi.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\ServerApi::unserialize() - Unserialize a ServerApi
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a ServerApi

  • « MongoDB\Driver\ServerApi::serialize
  • MongoDB\Driver\WriteConcern »
  • PHP Manual
  • MongoDB\Driver\ServerApi
  • Unserialize a ServerApi

MongoDB\Driver\ServerApi::unserialize

(mongodb >=1.10.0)

MongoDB\Driver\ServerApi::unserialize — Unserialize a ServerApi

Açıklama

final public MongoDB\Driver\ServerApi::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\Driver\ServerApi.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\Driver\ServerApi::serialize() - Serialize a ServerApi
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\Driver\WriteConcern class

(mongodb >=1.0.0)

Giriş

MongoDB\Driver\WriteConcern describes the level of acknowledgement requested from MongoDB for write operations to a standalone mongod or to replica sets or to sharded clusters. In sharded clusters, mongos instances will pass the write concern on to the shards.

Sınıf Sözdizimi

final class MongoDB\Driver\WriteConcern implements MongoDB\BSON\Serializable, Serializable {
/* Sabitler */
const string MAJORITY = "majority";
/* Yöntemler */
final public bsonSerialize(): stdClass
final public __construct(string|int $w, ?int $wtimeout = null, ?bool $journal = null)
final public getJournal(): ?bool
final public getW(): string|int|null
final public getWtimeout(): int
final public isDefault(): bool
final public serialize(): string
final public unserialize(string $data): void
}

Öntanımlı Sabitler

MongoDB\Driver\WriteConcern::MAJORITY

Majority of all the members in the set; arbiters, non-voting members, passive members, hidden members and delayed members are all included in the definition of majority write concern.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.7.0 | Implements Serializable.
PECL mongodb 1.2.0 | Implements MongoDB\BSON\Serializable.

İçindekiler

  • MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern
  • MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option
  • MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option
  • MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option
  • MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern
  • MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern
  • MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern


Returns an object for BSON serialization

  • « MongoDB\Driver\WriteConcern
  • MongoDB\Driver\WriteConcern::__construct »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns an object for BSON serialization

MongoDB\Driver\WriteConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\WriteConcern::bsonSerialize — Returns an object for BSON serialization

Açıklama

final public MongoDB\Driver\WriteConcern::bsonSerialize(): stdClass

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an object for serializing the WriteConcern as BSON.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::bsonSerialize() with majority write concern

<?php

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (1) {
  ["w"]=>
  string(8) "majority"
}

{ "w" : "majority" }

Örnek 2 MongoDB\Driver\WriteConcern::bsonSerialize() with wtimeout and journal

<?php

$wc = new MongoDB\Driver\WriteConcern(2, 1000, true);
var_dump($wc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($wc));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (3) {
  ["w"]=>
  int(2)
  ["j"]=>
  bool(true)
  ["wtimeout"]=>
  int(1000)
}

{ "w" : 2, "j" : true, "wtimeout" : 1000 }

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Write Concern reference


Create a new WriteConcern

  • « MongoDB\Driver\WriteConcern::bsonSerialize
  • MongoDB\Driver\WriteConcern::getJournal »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Create a new WriteConcern

MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct — Create a new WriteConcern

Açıklama

final public MongoDB\Driver\WriteConcern::__construct(string|int $w, ?int $wtimeout = null, ?bool $journal = null)

Constructs a new MongoDB\Driver\WriteConcern, which is an immutable value object.

Bağımsız Değişkenler

w

Write concern
Value | Description
1 | Requests acknowledgement that the write operation has propagated to the standalone mongod or the primary in a replica set. This is the default write concern for MongoDB.
0 | Requests no acknowledgment of the write operation. However, this may return information about socket exceptions and networking errors to the application.
<integer greater than 1> | Numbers greater than 1 are valid only for replica sets to request acknowledgement from specified number of members, including the primary.
MongoDB\Driver\WriteConcern::MAJORITY

Requests acknowledgment that write operations have propagated to the majority of voting nodes, including the primary, and have been written to the on-disk journal for these nodes.

Prior to MongoDB 3.0, this refers to the majority of replica set members (not just voting nodes).

string | A string value is interpereted as a tag set. Requests acknowledgement that the write operations have propagated to a replica set member with the specified tag.

wtimeout

How long to wait (in milliseconds) for secondaries before failing.

wtimeout causes write operations to return with an error (WriteConcernError) after the specified limit, even if the required write concern will eventually succeed. When these write operations return, MongoDB does not undo successful data modifications performed before the write concern exceeded the wtimeout time limit.

If specified, wtimeout must be a signed 64-bit integer greater than or equal to zero.

Write concern timeout
Value | Description
0 | Block indefinitely. This is the default.
<integer greater than 0> | Milliseconds to wait until returning.

journal

Wait until mongod has applied the write to the journal.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if w is invalid or wtimeout is either negative or greater than the bounds of a signed 32-bit integer.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.7.0 | The wTimeout parameter now accepts 64-bit values.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::__construct() example

<?php

/* Request write acknowledgement from the majority of the replica set nodes */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);

/* Request write acknowledgement from a node configured with the "MultipleDC" tag */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);

?>

Ayrıca Bakınız

  • » Write Concern reference


Returns the WriteConcern's "journal" option

  • « MongoDB\Driver\WriteConcern::__construct
  • MongoDB\Driver\WriteConcern::getW »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "journal" option

MongoDB\Driver\WriteConcern::getJournal

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getJournal — Returns the WriteConcern's "journal" option

Açıklama

final public MongoDB\Driver\WriteConcern::getJournal(): ?bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteConcern's "journal" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::getJournal() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, true);
var_dump($wc->getJournal());

$wc = new MongoDB\Driver\WriteConcern(1, 0, false);
var_dump($wc->getJournal());

?>

Yukarıdaki örneğin çıktısı:

NULL
bool(true)
bool(false)

Ayrıca Bakınız

  • » Write Concern reference


Returns the WriteConcern's "w" option

  • « MongoDB\Driver\WriteConcern::getJournal
  • MongoDB\Driver\WriteConcern::getWtimeout »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "w" option

MongoDB\Driver\WriteConcern::getW

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getW — Returns the WriteConcern's "w" option

Açıklama

final public MongoDB\Driver\WriteConcern::getW(): string|int|null

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteConcern's "w" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::getW() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getW());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
var_dump($wc->getW());

?>

Yukarıdaki örneğin çıktısı:

int(1)
string(8) "majority"

Ayrıca Bakınız

  • » Write Concern reference


Returns the WriteConcern's "wtimeout" option

  • « MongoDB\Driver\WriteConcern::getW
  • MongoDB\Driver\WriteConcern::isDefault »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Returns the WriteConcern's "wtimeout" option

MongoDB\Driver\WriteConcern::getWtimeout

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::getWtimeout — Returns the WriteConcern's "wtimeout" option

Açıklama

final public MongoDB\Driver\WriteConcern::getWtimeout(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteConcern's "wtimeout" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.7.0 | On 32-bit systems, this method will always truncate the wTimeout value if it exceeds the 32-bit range. In that case, a warning will be emitted.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::getWtimeout() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->getWtimeout());

$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 3000);
var_dump($wc->getWtimeout());

?>

Yukarıdaki örneğin çıktısı:

int(0)
int(3000)

Ayrıca Bakınız

  • » Write Concern reference


Checks if this is the default write concern

  • « MongoDB\Driver\WriteConcern::getWtimeout
  • MongoDB\Driver\WriteConcern::serialize »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Checks if this is the default write concern

MongoDB\Driver\WriteConcern::isDefault

(mongodb >=1.3.0)

MongoDB\Driver\WriteConcern::isDefault — Checks if this is the default write concern

Açıklama

final public MongoDB\Driver\WriteConcern::isDefault(): bool

Returns whether this is the default write concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getWriteConcern() to determine whether the Manager has been constructed without any write concern options.

The driver will not include a default write concern in its write operations (e.g. MongoDB\Driver\Manager::executeBulkWrite()) in order to allow the server to apply its own default, which may have been » modified. Libraries that access the Manager's write concern to include it in their own write commands should use this method to ensure that default write concerns are left unset.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this is the default write concern and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcern::isDefault() example

<?php

$wc = new MongoDB\Driver\WriteConcern(1);
var_dump($wc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/?w=majority');
$wc = $manager->getWriteConcern();
var_dump($wc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/');
$wc = $manager->getWriteConcern();
var_dump($wc->isDefault());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • MongoDB\Driver\Manager::getWriteConcern() - Return the WriteConcern for the Manager
  • » Modify Default Write Concern in the MongoDB manual
  • » Write Concern reference


Serialize a WriteConcern

  • « MongoDB\Driver\WriteConcern::isDefault
  • MongoDB\Driver\WriteConcern::unserialize »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Serialize a WriteConcern

MongoDB\Driver\WriteConcern::serialize

(mongodb >=1.7.0)

MongoDB\Driver\WriteConcern::serialize — Serialize a WriteConcern

Açıklama

final public MongoDB\Driver\WriteConcern::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\Driver\WriteConcern.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\WriteConcern::unserialize() - Unserialize a WriteConcern
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a WriteConcern

  • « MongoDB\Driver\WriteConcern::serialize
  • MongoDB\Driver\ReadPreference »
  • PHP Manual
  • MongoDB\Driver\WriteConcern
  • Unserialize a WriteConcern

MongoDB\Driver\WriteConcern::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\WriteConcern::unserialize — Unserialize a WriteConcern

Açıklama

final public MongoDB\Driver\WriteConcern::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\Driver\WriteConcern.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\Driver\WriteConcern::serialize() - Serialize a WriteConcern
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\Driver\ReadPreference class

(mongodb >=1.0.0)

Giriş

Sınıf Sözdizimi

final class MongoDB\Driver\ReadPreference implements MongoDB\BSON\Serializable, Serializable {
/* Sabitler */
const int RP_PRIMARY = 1;
const int RP_PRIMARY_PREFERRED = 5;
const int RP_SECONDARY = 2;
const int RP_SECONDARY_PREFERRED = 6;
const int RP_NEAREST = 10;
const string PRIMARY = primary;
const string PRIMARY_PREFERRED = primaryPreferred;
const string SECONDARY = secondary;
const string SECONDARY_PREFERRED = secondaryPreferred;
const string NEAREST = nearest;
const int NO_MAX_STALENESS = -1;
const int SMALLEST_MAX_STALENESS_SECONDS = 90;
/* Yöntemler */
final public bsonSerialize(): stdClass
final public __construct(string|int $mode, ?array $tagSets = null, ?array $options = null)
final public getHedge(): ?object
final public getMaxStalenessSeconds(): int
final public getMode(): int
final public getModeString(): string
final public getTagSets(): array
final public serialize(): string
final public unserialize(string $data): void
}

Öntanımlı Sabitler

MongoDB\Driver\ReadPreference::RP_PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::PRIMARY

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::SECONDARY

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::NEAREST

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

MongoDB\Driver\ReadPreference::NO_MAX_STALENESS

The default value for the "maxStalenessSeconds" option is to specify no limit on maximum staleness, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS

The minimum value for the "maxStalenessSeconds" option is 90 seconds. The driver estimates secondaries' staleness by periodically checking the latest write date of each replica set member. Since these checks are infrequent, the staleness estimate is coarse. Thus, the driver cannot enforce a max staleness value of less than 90 seconds.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.7.0 | Added the MongoDB\Driver\ReadPreference::PRIMARY, MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED, MongoDB\Driver\ReadPreference::SECONDARY, MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED, MongoDB\Driver\ReadPreference::NEAREST constants. Implements Serializable.
PECL mongodb 1.2.0 | Added the MongoDB\Driver\ReadPreference::NO_MAX_STALENESS and MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS constants. Implements MongoDB\BSON\Serializable.

İçindekiler

  • MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference
  • MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option
  • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option
  • MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option
  • MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string
  • MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option
  • MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference
  • MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference


Returns an object for BSON serialization

  • « MongoDB\Driver\ReadPreference
  • MongoDB\Driver\ReadPreference::__construct »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns an object for BSON serialization

MongoDB\Driver\ReadPreference::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::bsonSerialize — Returns an object for BSON serialization

Açıklama

final public MongoDB\Driver\ReadPreference::bsonSerialize(): stdClass

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an object for serializing the ReadPreference as BSON.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::bsonSerialize() with primary read preference

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (1) {
  ["mode"]=>
  string(7) "primary"
}

{ "mode" : "primary" }

Örnek 2 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and tag sets

<?php

$rp = new MongoDB\Driver\ReadPreference(
MongoDB\Driver\ReadPreference::RP_SECONDARY,
[
['dc' => 'ny'],
['dc' => 'sf', 'use' => 'reporting'],
[]
]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["tags"]=>
  array(3) {
    [0]=>
    object(stdClass)#1 (1) {
      ["dc"]=>
      string(2) "ny"
    }
    [1]=>
    object(stdClass)#5 (2) {
      ["dc"]=>
      string(2) "sf"
      ["use"]=>
      string(9) "reporting"
    }
    [2]=>
    object(stdClass)#4 (0) {
    }
  }
}

{ "mode" : "secondary", "tags" : [ { "dc" : "ny" }, { "dc" : "sf", "use" : "reporting" }, {  } ] }

Örnek 3 MongoDB\Driver\ReadPreference::bsonSerialize() with secondary read preference and max staleness

<?php

$rp = new MongoDB\Driver\ReadPreference(
MongoDB\Driver\ReadPreference::RP_SECONDARY,
null,
['maxStalenessSeconds' => 120]
);
var_dump($rp->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rp));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}

{ "mode" : "secondary", "maxStalenessSeconds" : 120 }

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Preference reference


Create a new ReadPreference

  • « MongoDB\Driver\ReadPreference::bsonSerialize
  • MongoDB\Driver\ReadPreference::getHedge »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Create a new ReadPreference

MongoDB\Driver\ReadPreference::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::__construct — Create a new ReadPreference

Açıklama

final public MongoDB\Driver\ReadPreference::__construct(string|int $mode, ?array $tagSets = null, ?array $options = null)

Constructs a new MongoDB\Driver\ReadPreference, which is an immutable value object.

Bağımsız Değişkenler

mode

Read preference mode
Value Description
MongoDB\Driver\ReadPreference::RP_PRIMARY or "primary"

All operations read from the current replica set primary. This is the default read preference for MongoDB.

MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED or "primaryPreferred"

In most situations, operations read from the primary but if it is unavailable, operations read from secondary members.

MongoDB\Driver\ReadPreference::RP_SECONDARY or "secondary"

All operations read from the secondary members of the replica set.

MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED or "secondaryPreferred"

In most situations, operations read from secondary members but if no secondary members are available, operations read from the primary.

MongoDB\Driver\ReadPreference::RP_NEAREST or "nearest"

Operations read from member of the replica set with the least network latency, irrespective of the member's type.

tagSets

Tag sets allow you to target read operations to specific members of a replica set. This parameter should be an array of associative arrays, each of which contain zero or more key/value pairs. When selecting a server for a read operation, the driver attempt to select a node having all tags in a set (i.e. the associative array of key/value pairs). If selection fails, the driver will attempt subsequent sets. An empty tag set (array()) will match any node and may be used as a fallback.

Tags are not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode and, in general, only apply when selecting a secondary member of a set for a read operation. However, the MongoDB\Driver\ReadPreference::RP_NEAREST mode, when combined with a tag set, selects the matching member with the lowest network latency. This member may be a primary or secondary.

options

options
Option Type Description
hedge object|array

Specifies whether to use » hedged reads, which are supported by MongoDB 4.4+ for sharded queries.

Server hedged reads are available for all non-primary read preferences and are enabled by default when using the "nearest" mode. This option allows explicitly enabling server hedged reads for non-primary read preferences by specifying ['enabled' => true], or explicitly disabling server hedged reads for the "nearest" read preference by specifying ['enabled' => false].

maxStalenessSeconds int

Specifies a maximum replication lag, or "staleness", for reads from secondaries. When a secondary's estimated staleness exceeds this value, the driver stops using it for read operations.

If specified, the max staleness must be a signed 32-bit integer greater than or equal to MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS.

Defaults to MongoDB\Driver\ReadPreference::NO_MAX_STALENESS, which means that the driver will not consider a secondary's lag when choosing where to direct a read operation.

This option is not compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode. Specifying a max staleness also requires all MongoDB instances in the deployment to be using MongoDB 3.4+. An exception will be thrown at execution time if any MongoDB instances in the deployment are of an older server version.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if mode is invalid.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if tagSets is provided for a primary read preference or is malformed (i.e. not an array of zero or more documents).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "maxStalenessSeconds" option is provided for a primary read preference or is out of range.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.8.0 | Added the "hedge" option.
PECL mongodb 1.3.0 | The mode argument now accepts a string value, which is consistent with the "readPreference" URI option for MongoDB\Driver\Manager::__construct().
PECL mongodb 1.2.0 | Added a third options argument, which supports the "maxStalenessSeconds" option.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::__construct() example

<?php

/* Prefer a secondary node but fall back to a primary. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED));

/* Prefer a node in the New York data center with lowest latency. */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST, [['dc' => 'ny']]));

/* Require a secondary node whose replication lag is within two minutes of the primary */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, ['maxStalenessSeconds' => 120]));

/* Explicitly enable server hedged reads */
var_dump(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, ['hedge' => ['enabled' => true]]));

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\Driver\ReadPreference)#1 (1) {
  ["mode"]=>
  string(18) "secondaryPreferred"
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(7) "nearest"
  ["tags"]=>
  array(1) {
    [0]=>
    object(stdClass)#2 (1) {
      ["dc"]=>
      string(2) "ny"
    }
  }
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["maxStalenessSeconds"]=>
  int(120)
}
object(MongoDB\Driver\ReadPreference)#1 (2) {
  ["mode"]=>
  string(9) "secondary"
  ["hedge"]=>
  object(stdClass)#1 (1) {
    ["enabled"]=>
    bool(true)
  }
}

Ayrıca Bakınız

  • » Read Preference reference


Returns the ReadPreference's "hedge" option

  • « MongoDB\Driver\ReadPreference::__construct
  • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "hedge" option

MongoDB\Driver\ReadPreference::getHedge

(mongodb >=1.8.0)

MongoDB\Driver\ReadPreference::getHedge — Returns the ReadPreference's "hedge" option

Açıklama

final public MongoDB\Driver\ReadPreference::getHedge(): ?object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadPreference's "hedge" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • » Read Preference reference


Returns the ReadPreference's "maxStalenessSeconds" option

  • « MongoDB\Driver\ReadPreference::getHedge
  • MongoDB\Driver\ReadPreference::getMode »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "maxStalenessSeconds" option

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::getMaxStalenessSeconds — Returns the ReadPreference's "maxStalenessSeconds" option

Açıklama

final public MongoDB\Driver\ReadPreference::getMaxStalenessSeconds(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadPreference's "maxStalenessSeconds" option. If no max staleness has been specified, MongoDB\Driver\ReadPreference::NO_MAX_STALENESS will be returned.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::getMaxStalenessSeconds() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::NO_MAX_STALENESS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
'maxStalenessSeconds' => MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS,
]);
var_dump($rp->getMaxStalenessSeconds());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY, null, [
'maxStalenessSeconds' => 1000,
]);
var_dump($rp->getMaxStalenessSeconds());

?>

Yukarıdaki örneğin çıktısı:

int(-1)
int(-1)
int(90)
int(1000)

Ayrıca Bakınız

  • » Read Preference reference


Returns the ReadPreference's "mode" option

  • « MongoDB\Driver\ReadPreference::getMaxStalenessSeconds
  • MongoDB\Driver\ReadPreference::getModeString »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "mode" option

MongoDB\Driver\ReadPreference::getMode

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getMode — Returns the ReadPreference's "mode" option

Açıklama

final public MongoDB\Driver\ReadPreference::getMode(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadPreference's "mode" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::getMode() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED);
var_dump($rp->getMode());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_NEAREST);
var_dump($rp->getMode());

?>

Yukarıdaki örneğin çıktısı:

int(1)
int(5)
int(2)
int(6)
int(10)

Ayrıca Bakınız

  • MongoDB\Driver\ReadPreference::getModeString() - Returns the ReadPreference's "mode" option as a string
  • » Read Preference reference


Returns the ReadPreference's "mode" option as a string

  • « MongoDB\Driver\ReadPreference::getMode
  • MongoDB\Driver\ReadPreference::getTagSets »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "mode" option as a string

MongoDB\Driver\ReadPreference::getModeString

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::getModeString — Returns the ReadPreference's "mode" option as a string

Açıklama

final public MongoDB\Driver\ReadPreference::getModeString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadPreference's "mode" option as a string.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::getModeString() example

<?php

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY_PREFERRED);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::SECONDARY);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::SECONDARY_PREFERRED);
var_dump($rp->getModeString());

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::NEAREST);
var_dump($rp->getModeString());

?>

Yukarıdaki örneğin çıktısı:

string(7) "primary"
string(16) "primaryPreferred"
string(9) "secondary"
string(18) "secondaryPreferred"
string(7) "nearest"

Ayrıca Bakınız

  • MongoDB\Driver\ReadPreference::getMode() - Returns the ReadPreference's "mode" option
  • » Read Preference reference


Returns the ReadPreference's "tagSets" option

  • « MongoDB\Driver\ReadPreference::getModeString
  • MongoDB\Driver\ReadPreference::serialize »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Returns the ReadPreference's "tagSets" option

MongoDB\Driver\ReadPreference::getTagSets

(mongodb >=1.0.0)

MongoDB\Driver\ReadPreference::getTagSets — Returns the ReadPreference's "tagSets" option

Açıklama

final public MongoDB\Driver\ReadPreference::getTagSets(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadPreference's "tagSets" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadPreference::getTagSets() example

<?php

$mode = MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED;

/* Null and an empty array both denote no tag set preference. */
$rp = new MongoDB\Driver\ReadPreference($mode, null);
var_dump($rp->getTagSets());

$rp = new MongoDB\Driver\ReadPreference($mode, []);
var_dump($rp->getTagSets());

/* Prefer a node in New York, but fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [['dc' => 'ny']]);
var_dump($rp->getTagSets());

/* Prefer a node in the New York, followed by a node in San Francisco that is
labeled for reporting usage, and finally fall back to any available node. */
$rp = new MongoDB\Driver\ReadPreference($mode, [
['dc' => 'ny'],
['dc' => 'sf', 'use' => 'reporting'],
[],
]);
var_dump($rp->getTagSets());

?>

Yukarıdaki örneğin çıktısı:

array(0) {
}
array(0) {
}
array(2) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(0) {
  }
}
array(3) {
  [0]=>
  array(1) {
    ["dc"]=>
    string(2) "ny"
  }
  [1]=>
  array(2) {
    ["dc"]=>
    string(2) "sf"
    ["use"]=>
    string(9) "reporting"
  }
  [2]=>
  array(0) {
  }
}

Ayrıca Bakınız

  • » Read Preference reference


Serialize a ReadPreference

  • « MongoDB\Driver\ReadPreference::getTagSets
  • MongoDB\Driver\ReadPreference::unserialize »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Serialize a ReadPreference

MongoDB\Driver\ReadPreference::serialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::serialize — Serialize a ReadPreference

Açıklama

final public MongoDB\Driver\ReadPreference::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\Driver\ReadPreference.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\ReadPreference::unserialize() - Unserialize a ReadPreference
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a ReadPreference

  • « MongoDB\Driver\ReadPreference::serialize
  • MongoDB\Driver\ReadConcern »
  • PHP Manual
  • MongoDB\Driver\ReadPreference
  • Unserialize a ReadPreference

MongoDB\Driver\ReadPreference::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadPreference::unserialize — Unserialize a ReadPreference

Açıklama

final public MongoDB\Driver\ReadPreference::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\Driver\ReadPreference.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\Driver\ReadPreference::serialize() - Serialize a ReadPreference
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\Driver\ReadConcern class

(mongodb >=1.1.0)

Giriş

MongoDB\Driver\ReadConcern controls the level of isolation for read operations for replica sets and replica set shards. This option requires MongoDB 3.2 or later.

Sınıf Sözdizimi

final class MongoDB\Driver\ReadConcern implements MongoDB\BSON\Serializable, Serializable {
/* Sabitler */
const string AVAILABLE = "available";
const string LINEARIZABLE = "linearizable";
const string LOCAL = "local";
const string MAJORITY = "majority";
const string SNAPSHOT = "snapshot";
/* Yöntemler */
final public bsonSerialize(): stdClass
final public __construct(?string $level = null)
final public getLevel(): ?string
final public isDefault(): bool
final public serialize(): string
final public unserialize(string $data): void
}

Öntanımlı Sabitler

MongoDB\Driver\ReadConcern::AVAILABLE

Default for reads against secondaries when afterClusterTimeand level are unspecified.

The query returns the instance's most recent data. Provides no guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).

For unsharded collections (including collections in a standalone deployment or a replica set deployment), "local" and "available" read concerns behave identically.

For a sharded cluster, "available" read concern provides greater tolerance for partitions since it does not wait to ensure consistency guarantees. However, a query with "available" read concern may return orphan documents if the shard is undergoing chunk migrations since the "available" read concern, unlike "local" read concern, does not contact the shard's primary nor the config servers for updated metadata.

MongoDB\Driver\ReadConcern::LINEARIZABLE

The query returns data that reflects all successful writes issued with a write concern of "majority" and acknowledged prior to the start of the read operation. For replica sets that run with writeConcernMajorityJournalDefault set to true, linearizable read concern returns data that will never be rolled back.

With writeConcernMajorityJournalDefault set to false, MongoDB will not wait for w: "majority" writes to be durable before acknowledging the writes. As such, "majority" write operations could possibly roll back in the event of a loss of a replica set member.

You can specify linearizable read concern for read operations on the primary only.

Linearizable read concern guarantees only apply if read operations specify a query filter that uniquely identifies a single document.

İpucu

Always use maxTimeMS with linearizable read concern in case a majority of data bearing members are unavailable. maxTimeMS ensures that the operation does not block indefinitely and instead ensures that the operation returns an error if the read concern cannot be fulfilled.

Linearizable read concern requires MongoDB 3.4.

MongoDB\Driver\ReadConcern::LOCAL

Default for reads against primary if level is unspecified and for reads against secondaries if level is unspecified but afterClusterTime is specified.

The query returns the instance's most recent data. Provides no guarantee that the data has been written to a majority of the replica set members (i.e. may be rolled back).

MongoDB\Driver\ReadConcern::MAJORITY

The query returns the instance's most recent data acknowledged as having been written to a majority of members in the replica set.

To use read concern level of "majority", replica sets must use WiredTiger storage engine and election protocol version 1.

MongoDB\Driver\ReadConcern::SNAPSHOT

Read concern "snapshot" is available for multi-document transactions, and starting in MongoDB 5.0, certain read operations outside of multi-document transactions.

If the transaction is not part of a causally consistent session, upon transaction commit with write concern "majority", the transaction operations are guaranteed to have read from a snapshot of majority-committed data.

If the transaction is part of a causally consistent session, upon transaction commit with write concern "majority", the transaction operations are guaranteed to have read from a snapshot of majority-committed data that provides causal consistency with the operation immediately preceding the transaction start.

Outside of multi-document transactions, read concern "snapshot" is available on primaries and secondaries for the following read operations: find, aggregate, and distinct (on unsharded collections). All other read commands prohibit "snapshot".

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | Added the MongoDB\Driver\ReadConcern::SNAPSHOT constant.
PECL mongodb 1.7.0 | Implements Serializable.
PECL mongodb 1.4.0 | Added the MongoDB\Driver\ReadConcern::AVAILABLE constant.
PECL mongodb 1.2.0 | Added the MongoDB\Driver\ReadConcern::LINEARIZABLE constant. Implements MongoDB\BSON\Serializable.

Ayrıca Bakınız

  • » Read Concern reference

İçindekiler

  • MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization
  • MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern
  • MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option
  • MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern
  • MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern
  • MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern


Returns an object for BSON serialization

  • « MongoDB\Driver\ReadConcern
  • MongoDB\Driver\ReadConcern::__construct »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Returns an object for BSON serialization

MongoDB\Driver\ReadConcern::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadConcern::bsonSerialize — Returns an object for BSON serialization

Açıklama

final public MongoDB\Driver\ReadConcern::bsonSerialize(): stdClass

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an object for serializing the ReadConcern as BSON.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadConcern::bsonSerialize() with empty read concern

<?php

$rc = new MongoDB\Driver\ReadConcern;
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (0) {
}

{ }

Örnek 2 MongoDB\Driver\ReadConcern::bsonSerialize() with local read concern

<?php

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->bsonSerialize());

echo "\n", MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($rc));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (1) {
  ["level"]=>
  string(5) "local"
}

{ "level" : "local" }

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • » Read Concern reference


Create a new ReadConcern

  • « MongoDB\Driver\ReadConcern::bsonSerialize
  • MongoDB\Driver\ReadConcern::getLevel »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Create a new ReadConcern

MongoDB\Driver\ReadConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::__construct — Create a new ReadConcern

Açıklama

final public MongoDB\Driver\ReadConcern::__construct(?string $level = null)

Constructs a new MongoDB\Driver\ReadConcern, which is an immutable value object.

Bağımsız Değişkenler

level

The » read concern level. You may use, but are not limited to, one of the class constants.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadConcern::__construct() example

<?php

/* Unspecified read isolation level (uses the server's default behavior) */
$rc = new MongoDB\Driver\ReadConcern();

/* Request read isolation from a single replica set node */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);

/* Request read isolation from a majority of the replica set nodes */
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);

?>

Ayrıca Bakınız

  • » Read Concern reference


Returns the ReadConcern's "level" option

  • « MongoDB\Driver\ReadConcern::__construct
  • MongoDB\Driver\ReadConcern::isDefault »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Returns the ReadConcern's "level" option

MongoDB\Driver\ReadConcern::getLevel

(mongodb >=1.0.0)

MongoDB\Driver\ReadConcern::getLevel — Returns the ReadConcern's "level" option

Açıklama

final public MongoDB\Driver\ReadConcern::getLevel(): ?string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the ReadConcern's "level" option.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadConcern::getLevel() example

<?php

$rc = new MongoDB\Driver\ReadConcern();
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
var_dump($rc->getLevel());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
var_dump($rc->getLevel());

?>

Yukarıdaki örneğin çıktısı:

NULL
string(5) "local"
string(8) "majority"

Ayrıca Bakınız

  • » Read Concern reference


Checks if this is the default read concern

  • « MongoDB\Driver\ReadConcern::getLevel
  • MongoDB\Driver\ReadConcern::serialize »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Checks if this is the default read concern

MongoDB\Driver\ReadConcern::isDefault

(mongodb >=1.3.0)

MongoDB\Driver\ReadConcern::isDefault — Checks if this is the default read concern

Açıklama

final public MongoDB\Driver\ReadConcern::isDefault(): bool

Returns whether this is the default read concern (i.e. no options are specified). This method is primarily intended to be used in conjunction with MongoDB\Driver\Manager::getReadConcern() to determine whether the Manager has been constructed without any read concern options.

The driver will not include a default read concern in its read operations (e.g. MongoDB\Driver\Manager::executeQuery()) in order order to allow the server to apply its own default. Libraries that access the Manager's read concern to include it in their own read commands should use this method to ensure that default read concerns are left unset.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this is the default read concern and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\ReadConcern::isDefault() example

<?php

$rc = new MongoDB\Driver\ReadConcern(null);
var_dump($rc->isDefault());

$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::MAJORITY);
var_dump($rc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/?readConcernLevel=majority');
$rc = $manager->getReadConcern();
var_dump($rc->isDefault());

$manager = new MongoDB\Driver\Manager('mongodb://127.0.0.1/');
$rc = $manager->getReadConcern();
var_dump($rc->isDefault());

?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • MongoDB\Driver\Manager::getReadConcern() - Return the ReadConcern for the Manager
  • » Read Concern reference


Serialize a ReadConcern

  • « MongoDB\Driver\ReadConcern::isDefault
  • MongoDB\Driver\ReadConcern::unserialize »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Serialize a ReadConcern

MongoDB\Driver\ReadConcern::serialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadConcern::serialize — Serialize a ReadConcern

Açıklama

final public MongoDB\Driver\ReadConcern::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\Driver\ReadConcern.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\ReadConcern::unserialize() - Unserialize a ReadConcern
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a ReadConcern

  • « MongoDB\Driver\ReadConcern::serialize
  • MongoDB\Driver\Cursor »
  • PHP Manual
  • MongoDB\Driver\ReadConcern
  • Unserialize a ReadConcern

MongoDB\Driver\ReadConcern::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\ReadConcern::unserialize — Unserialize a ReadConcern

Açıklama

final public MongoDB\Driver\ReadConcern::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\Driver\ReadConcern.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\Driver\ReadConcern::serialize() - Serialize a ReadConcern
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\Driver\Cursor class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\Cursor class encapsulates the results of a MongoDB command or query and may be returned by MongoDB\Driver\Manager::executeCommand() or MongoDB\Driver\Manager::executeQuery(), respectively.

Sınıf Sözdizimi

final class MongoDB\Driver\Cursor implements MongoDB\Driver\CursorInterface, Iterator {
/* Yöntemler */
final private __construct()
public current(): array|object|null
final public getId(): MongoDB\Driver\CursorId
final public getServer(): MongoDB\Driver\Server
final public isDead(): bool
public key(): int
public next(): void
public rewind(): void
final public setTypeMap(array $typemap): void
final public toArray(): array
public valid(): bool
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.9.0 | Implements Iterator.
PECL mongodb 1.6.0 | Implements MongoDB\Driver\CursorInterface, which extends Traversable.

Örnekler

Örnek 1 Reading a result set

MongoDB\Driver\Manager::executeCommand() and MongoDB\Driver\Manager::executeQuery() both return their result(s) as a MongoDB\Driver\Cursor object. This object can be used to iterate over the result set of the command or query.

Because MongoDB\Driver\Cursor implements the Traversable interface, you can simply iterate over the result set with foreach.

<?php

$manager = new MongoDB\Driver\Manager();

/* Insert some documents so that our query returns information */
$bulkWrite = new MongoDB\Driver\BulkWrite;
$bulkWrite->insert(['name' => 'Ceres', 'size' => 946, 'distance' => 2.766]);
$bulkWrite->insert(['name' => 'Vesta', 'size' => 525, 'distance' => 2.362]);
$manager->executeBulkWrite("test.asteroids", $bulkWrite);

/* Query for all the items in the collection */
$query = new MongoDB\Driver\Query( [] );

/* Query the "asteroids" collection of the "test" database */
$cursor = $manager->executeQuery("test.asteroids", $query);

/* $cursor now contains an object that wraps around the result set. Use
* foreach() to iterate over all the result */
foreach($cursor as $document) {
print_r($document);
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

stdClass Object
(
    [_id] => MongoDB\BSON\ObjectId Object
        (
            [oid] => 5a4cff2f122d3321565d8cc2
        )

    [name] => Ceres
    [size] => 946
    [distance] => 2.766
)
stdClass Object
(
    [_id] => MongoDB\BSON\ObjectId Object
        (
            [oid] => 5a4cff2f122d3321565d8cc3
        )

    [name] => Vesta
    [size] => 525
    [distance] => 2.362
}

Örnek 2 Reading a result set for a tailable cursor

» Tailable cursors are a special type of MongoDB cursor that allows the client to read some results and then wait until more documents become available. These cursors are primarily used with » Capped Collections and » Change Streams.

While normal cursors can be iterated once with foreach, that approach will not work with tailable cursors. When foreach is used with a tailable cursor, the loop will stop upon reaching the end of the initial result set. Attempting to continue iteration on the cursor with a second foreach would throw an exception, since PHP attempts to rewind the cursor. Similar to result objects in other database drivers, cursors in MongoDB only support forward iteration, which means they cannot be rewound.

In order to continuously read from a tailable cursor, the Cursor object must be wrapped with an IteratorIterator. This allows the application to directly control the cursor's iteration, avoid inadvertently rewinding the cursor, and decide when to wait for new results or stop iteration entirely.

In order to demonstrate a tailable cursor in action, two scripts will be used: a "producer" and a "consumer". The producer script will create a new capped collection using the » create command and proceed to insert a new document into that collection each second.

<?php

$manager = new MongoDB\Driver\Manager;

$manager->executeCommand('test', new MongoDB\Driver\Command([
'create' => 'asteroids',
'capped' => true,
'size' => 1048576,
]));

while (true) {
$bulkWrite = new MongoDB\Driver\BulkWrite;
$bulkWrite->insert(['createdAt' => new MongoDB\BSON\UTCDateTime]);
$manager->executeBulkWrite('test.asteroids', $bulkWrite);

sleep(1);
}

?>

With the producer script still running, a second consumer script may be executed to read the inserted documents using a tailable cursor, indicated by the tailable and awaitData options to MongoDB\Driver\Query::__construct().

<?php

$manager = new MongoDB\Driver\Manager;

$query = new MongoDB\Driver\Query([], [
'tailable' => true,
'awaitData' => true,
]);

$cursor = $manager->executeQuery('test.asteroids', $query);

$iterator = new IteratorIterator($cursor);

$iterator->rewind();

while (true) {
if ($iterator->valid()) {
$document = $iterator->current();
printf("Consumed document created at: %s\n", $document->createdAt);
}

$iterator->next();
}

?>

The consumer script will start by quickly printing all available documents in the capped collection (as if foreach had been used); however, it will not terminate upon reaching the end of the initial result set. Since the cursor is tailable, calling IteratorIterator::next() will block and wait for additional results. IteratorIterator::valid() is also used to check if there is actually data available to read at each step.

Bilginize: This example uses the awaitData query option to instruct the server to block for a short period (e.g. one second) at the end of the result set before returning a response to the driver. This is used to prevent the driver from aggressively polling the server when there are no results available. The maxAwaitTimeMS option may be used in conjunction with tailable and awaitData to specify the amount of time that the server should block when it reaches the end of the result set.

Hatalar/İstisnalar

When iterating over the cursor object, BSON data is converted into PHP variables. This iteration can cause the following Exceptions:

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

İçindekiler

  • MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)
  • MongoDB\Driver\Cursor::current — Returns the current element
  • MongoDB\Driver\Cursor::getId — Returns the ID for this cursor
  • MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor
  • MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results
  • MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor
  • MongoDB\Driver\Cursor::next — Advances the cursor to the next result
  • MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result
  • MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization
  • MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor
  • MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid


Create a new Cursor (not used)

  • « MongoDB\Driver\Cursor
  • MongoDB\Driver\Cursor::current »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Create a new Cursor (not used)

MongoDB\Driver\Cursor::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::__construct — Create a new Cursor (not used)

Açıklama

final private MongoDB\Driver\Cursor::__construct()

MongoDB\Driver\Cursor objects are returned as the result of an executed command or query and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery() - Execute a database query on this server


Returns the current element

  • « MongoDB\Driver\Cursor::__construct
  • MongoDB\Driver\Cursor::getId »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the current element

MongoDB\Driver\Cursor::current

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::current — Returns the current element

Açıklama

public MongoDB\Driver\Cursor::current(): array|object|null

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current result document as an array or object, depending on the cursor's type map. If iteration has not started or the current position is not valid, null will be returned.

Ayrıca Bakınız

  • Iterator::current() - O anki elemanı döndürür


Returns the ID for this cursor

  • « MongoDB\Driver\Cursor::current
  • MongoDB\Driver\Cursor::getServer »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the ID for this cursor

MongoDB\Driver\Cursor::getId

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getId — Returns the ID for this cursor

Açıklama

final public MongoDB\Driver\Cursor::getId(): MongoDB\Driver\CursorId

Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\CursorId for this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Cursor::getId() example

<?php

/* In this example, we insert several documents into the collection and specify
* a smaller batchSize to ensure that the first batch contains only a subset of
* our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getId());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\CursorId)#5 (1) {
  ["id"]=>
  int(94810124093)
}

Ayrıca Bakınız

  • MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::__toString() - String representation of the cursor ID


Returns the server associated with this cursor

  • « MongoDB\Driver\Cursor::getId
  • MongoDB\Driver\Cursor::isDead »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the server associated with this cursor

MongoDB\Driver\Cursor::getServer

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::getServer — Returns the server associated with this cursor

Açıklama

final public MongoDB\Driver\Cursor::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server associated with this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Cursor::getServer() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump($cursor->getServer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\Server)#5 (10) {
  ["host"]=>
  string(9) "localhost"
  ["port"]=>
  int(27017)
  ["type"]=>
  int(1)
  ["is_primary"]=>
  bool(false)
  ["is_secondary"]=>
  bool(false)
  ["is_arbiter"]=>
  bool(false)
  ["is_hidden"]=>
  bool(false)
  ["is_passive"]=>
  bool(false)
  ["last_hello_response"]=>
  array(8) {
    ["isWritablePrimary"]=>
    bool(true)
    ["maxBsonObjectSize"]=>
    int(16777216)
    ["maxMessageSizeBytes"]=>
    int(48000000)
    ["maxWriteBatchSize"]=>
    int(1000)
    ["localTime"]=>
    object(MongoDB\BSON\UTCDateTime)#6 (1) {
      ["milliseconds"]=>
      int(1446505367907)
    }
    ["maxWireVersion"]=>
    int(3)
    ["minWireVersion"]=>
    int(0)
    ["ok"]=>
    float(1)
  }
  ["round_trip_time"]=>
  int(584)
}

Ayrıca Bakınız

  • MongoDB\Driver\Server


Checks if the cursor is exhausted or may have additional results

  • « MongoDB\Driver\Cursor::getServer
  • MongoDB\Driver\Cursor::key »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Checks if the cursor is exhausted or may have additional results

MongoDB\Driver\Cursor::isDead

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::isDead — Checks if the cursor is exhausted or may have additional results

Açıklama

final public MongoDB\Driver\Cursor::isDead(): bool

Checks whether there are definitely no additional results available on the cursor. This method is similar to the » cursor.isExhausted() method in the MongoDB shell and is primarily useful when iterating » tailable cursors.

A cursor has no additional results and is considered "dead" when one of the following is true:

  • The current batch has been fully iterated and the cursor ID is zero (i.e. a » getMore cannot be issued).
  • An error was encountered while iterating the cursor.
  • The cursor reached its configured limit.

By design, it is not possible to always determine whether a cursor has additional results. The cases where a cursor may have more data available is as follows:

  • There are additional documents in the current batch, which are buffered on the client side. Iterating will fetch a document from the local buffer.
  • There are no additional documents in the current batch (i.e. local buffer), but the cursor ID is non-zero. Iterating will request more documents from the server via a » getMore operation, which may or may not return additional results and/or indicate that the cursor has been closed on the server by returning zero for its ID.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if there are definitely no additional results available on the cursor, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Cursor::isDead() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);

$iterator = new IteratorIterator($cursor);

$iterator->rewind();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

$iterator->next();
var_dump($cursor->isDead());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • » Tailable Cursors in the MongoDB manual
  • » cursor.isExhausted() in the MongoDB manual


Returns the current result's index within the cursor

  • « MongoDB\Driver\Cursor::isDead
  • MongoDB\Driver\Cursor::next »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns the current result's index within the cursor

MongoDB\Driver\Cursor::key

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::key — Returns the current result's index within the cursor

Açıklama

public MongoDB\Driver\Cursor::key(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current result's numeric index within the cursor.

Ayrıca Bakınız

  • Iterator::key() - O anki elemanın anahtarını döndürür


Advances the cursor to the next result

  • « MongoDB\Driver\Cursor::key
  • MongoDB\Driver\Cursor::rewind »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Advances the cursor to the next result

MongoDB\Driver\Cursor::next

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::next — Advances the cursor to the next result

Açıklama

public MongoDB\Driver\Cursor::next(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Moves the current position to the next element in the cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.

Ayrıca Bakınız

  • Iterator::next() - Konumu sonraki elemana ilerletir


Rewind the cursor to the first result

  • « MongoDB\Driver\Cursor::next
  • MongoDB\Driver\Cursor::setTypeMap »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Rewind the cursor to the first result

MongoDB\Driver\Cursor::rewind

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::rewind — Rewind the cursor to the first result

Açıklama

public MongoDB\Driver\Cursor::rewind(): void

If the cursor has advanced beyond its first position, it can no longer be rewound.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

null.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\LogicException if this method is called after the cursor has advanced beyond its first position.

Ayrıca Bakınız

  • Iterator::rewind() - Yineleyiciyi ilk elemana konumlandırır


Sets a type map to use for BSON unserialization

  • « MongoDB\Driver\Cursor::rewind
  • MongoDB\Driver\Cursor::toArray »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Sets a type map to use for BSON unserialization

MongoDB\Driver\Cursor::setTypeMap

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::setTypeMap — Sets a type map to use for BSON unserialization

Açıklama

final public MongoDB\Driver\Cursor::setTypeMap(array $typemap): void

Sets the type map configuration to use when unserializing the BSON results into PHP values.

Bağımsız Değişkenler

typeMap (array)

Type map configuration.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

When iterating over the cursor, the following exceptions can also be thrown due to an incorrect type map configuration:

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.

Örnekler

Örnek 1 MongoDB\Driver\Cursor::setTypeMap() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$id = $bulk->insert(['x' => 1]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query(['_id' => $id]);
$cursor = $manager->executeQuery('db.collection', $query);
$cursor->setTypeMap(['root' => 'array']);

foreach ($cursor as $document) {
var_dump($document);
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#6 (1) {
    ["oid"]=>
    string(24) "56424fb76118fd3267180741"
  }
  ["x"]=>
  int(1)
}

Ayrıca Bakınız

  • Persisting Data


Returns an array containing all results for this cursor

  • « MongoDB\Driver\Cursor::setTypeMap
  • MongoDB\Driver\Cursor::valid »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Returns an array containing all results for this cursor

MongoDB\Driver\Cursor::toArray

(mongodb >=1.0.0)

MongoDB\Driver\Cursor::toArray — Returns an array containing all results for this cursor

Açıklama

final public MongoDB\Driver\Cursor::toArray(): array

Iterates the cursor and returns its results in an array. MongoDB\Driver\Cursor::setTypeMap() may be used to control how documents are unserialized into PHP values.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing all results for this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Cursor::toArray() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$query = new MongoDB\Driver\Query([]);
$cursor = $manager->executeQuery('db.collection', $query);

var_dump($cursor->toArray());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  object(stdClass)#6 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#5 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf61"
    }
    ["x"]=>
    int(1)
  }
  [1]=>
  object(stdClass)#8 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#7 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf62"
    }
    ["x"]=>
    int(2)
  }
  [2]=>
  object(stdClass)#10 (2) {
    ["_id"]=>
    object(MongoDB\BSON\ObjectId)#9 (1) {
      ["oid"]=>
      string(24) "564259a96118fd40b41bcf63"
    }
    ["x"]=>
    int(3)
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::setTypeMap() - Sets a type map to use for BSON unserialization


Checks if the current position in the cursor is valid

  • « MongoDB\Driver\Cursor::toArray
  • MongoDB\Driver\CursorId »
  • PHP Manual
  • MongoDB\Driver\Cursor
  • Checks if the current position in the cursor is valid

MongoDB\Driver\Cursor::valid

(mongodb >=1.9.0)

MongoDB\Driver\Cursor::valid — Checks if the current position in the cursor is valid

Açıklama

public MongoDB\Driver\Cursor::valid(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current cursor position is valid, false otherwise.

Ayrıca Bakınız

  • Iterator::valid() - O anki konum geçerli mi diye bakar


The MongoDB\Driver\CursorId class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\CursorID class is a value object that represents a cursor ID. Instances of this class are returned by MongoDB\Driver\Cursor::getId().

Sınıf Sözdizimi

final class MongoDB\Driver\CursorId implements Serializable, Stringable {
/* Yöntemler */
final private __construct()
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.7.0 | Implements Serializable.

İçindekiler

  • MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)
  • MongoDB\Driver\CursorId::serialize — Serialize a CursorId
  • MongoDB\Driver\CursorId::__toString — String representation of the cursor ID
  • MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId


Create a new CursorId (not used)

  • « MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::serialize »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Create a new CursorId (not used)

MongoDB\Driver\CursorId::__construct

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__construct — Create a new CursorId (not used)

Açıklama

final private MongoDB\Driver\CursorId::__construct()

MongoDB\Driver\CursorId objects are returned from MongoDB\Driver\Cursor::getId() and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor


Serialize a CursorId

  • « MongoDB\Driver\CursorId::__construct
  • MongoDB\Driver\CursorId::__toString »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Serialize a CursorId

MongoDB\Driver\CursorId::serialize

(mongodb >=1.7.0)

MongoDB\Driver\CursorId::serialize — Serialize a CursorId

Açıklama

final public MongoDB\Driver\CursorId::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\Driver\CursorId.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\CursorId::unserialize() - Unserialize a CursorId
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


String representation of the cursor ID

  • « MongoDB\Driver\CursorId::serialize
  • MongoDB\Driver\CursorId::unserialize »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • String representation of the cursor ID

MongoDB\Driver\CursorId::__toString

(mongodb >=1.0.0)

MongoDB\Driver\CursorId::__toString — String representation of the cursor ID

Açıklama

final public MongoDB\Driver\CursorId::__toString(): string

Returns the string representation of the cursor ID.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of the cursor ID.

Örnekler

Örnek 1 MongoDB\Driver\CursorId::__toString() example

<?php

/* In this example, we insert several documents into the collection and specify
* a smaller batchSize to ensure that the first batch contains only a subset of
* our results and the cursor remains open on the server. */
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$query = new MongoDB\Driver\Query([], ['batchSize' => 2]);

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);

$cursor = $manager->executeQuery('db.collection', $query);
var_dump((string) $cursor->getId());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "98061641158"

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor


Unserialize a CursorId

  • « MongoDB\Driver\CursorId::__toString
  • MongoDB\Driver\CursorInterface »
  • PHP Manual
  • MongoDB\Driver\CursorId
  • Unserialize a CursorId

MongoDB\Driver\CursorId::unserialize

(mongodb >=1.7.0)

MongoDB\Driver\CursorId::unserialize — Unserialize a CursorId

Açıklama

final public MongoDB\Driver\CursorId::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\Driver\CursorId.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\Driver\CursorId::serialize() - Serialize a CursorId
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\Driver\CursorInterface interface

(mongodb >=1.6.0)

Giriş

This interface is implemented by MongoDB\Driver\Cursor to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\Driver\CursorInterface implements Traversable {
/* Yöntemler */
abstract public getId(): MongoDB\Driver\CursorId
abstract public getServer(): MongoDB\Driver\Server
abstract public isDead(): bool
abstract public setTypeMap(array $typemap): void
abstract public toArray(): array
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor
  • MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor
  • MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results
  • MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization
  • MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor


Returns the ID for this cursor

  • « MongoDB\Driver\CursorInterface
  • MongoDB\Driver\CursorInterface::getServer »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns the ID for this cursor

MongoDB\Driver\CursorInterface::getId

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::getId — Returns the ID for this cursor

Açıklama

abstract public MongoDB\Driver\CursorInterface::getId(): MongoDB\Driver\CursorId

Returns the MongoDB\Driver\CursorId associated with this cursor. A cursor ID uniquely identifies the cursor on the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\CursorId for this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::getId() - Returns the ID for this cursor
  • MongoDB\Driver\CursorId
  • MongoDB\Driver\CursorId::__toString() - String representation of the cursor ID


Returns the server associated with this cursor

  • « MongoDB\Driver\CursorInterface::getId
  • MongoDB\Driver\CursorInterface::isDead »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns the server associated with this cursor

MongoDB\Driver\CursorInterface::getServer

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::getServer — Returns the server associated with this cursor

Açıklama

abstract public MongoDB\Driver\CursorInterface::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this cursor. This is the server that executed the MongoDB\Driver\Query or MongoDB\Driver\Command.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server associated with this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::getServer() - Returns the server associated with this cursor
  • MongoDB\Driver\Server


Checks if the cursor may have additional results

  • « MongoDB\Driver\CursorInterface::getServer
  • MongoDB\Driver\CursorInterface::setTypeMap »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Checks if the cursor may have additional results

MongoDB\Driver\CursorInterface::isDead

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::isDead — Checks if the cursor may have additional results

Açıklama

abstract public MongoDB\Driver\CursorInterface::isDead(): bool

Checks whether the cursor may have additional results available to read. A cursor is initially "alive" but may become "dead" for any of the following reasons:

  • Advancing a non-tailable cursor did not return a document
  • The cursor encountered an error
  • The cursor read its last batch to completion
  • The cursor reached its configured limit
This is primarily useful with tailable cursors.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if additional results are not available, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::isDead() - Checks if the cursor is exhausted or may have additional results


Sets a type map to use for BSON unserialization

  • « MongoDB\Driver\CursorInterface::isDead
  • MongoDB\Driver\CursorInterface::toArray »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Sets a type map to use for BSON unserialization

MongoDB\Driver\CursorInterface::setTypeMap

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::setTypeMap — Sets a type map to use for BSON unserialization

Açıklama

abstract public MongoDB\Driver\CursorInterface::setTypeMap(array $typemap): void

Sets the type map configuration to use when unserializing the BSON results into PHP values.

Bağımsız Değişkenler

typeMap (array)

Type map configuration.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::setTypeMap() - Sets a type map to use for BSON unserialization
  • Persisting Data


Returns an array containing all results for this cursor

  • « MongoDB\Driver\CursorInterface::setTypeMap
  • MongoDB\Driver\Server »
  • PHP Manual
  • MongoDB\Driver\CursorInterface
  • Returns an array containing all results for this cursor

MongoDB\Driver\CursorInterface::toArray

(mongodb >=1.6.0)

MongoDB\Driver\CursorInterface::toArray — Returns an array containing all results for this cursor

Açıklama

abstract public MongoDB\Driver\CursorInterface::toArray(): array

Iterates the cursor and returns its results in an array. MongoDB\Driver\CursorInterface::setTypeMap() may be used to control how documents are unserialized into PHP values.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing all results for this cursor.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor::toArray() - Returns an array containing all results for this cursor
  • MongoDB\Driver\CursorInterface::setTypeMap() - Sets a type map to use for BSON unserialization


The MongoDB\Driver\Server class

(mongodb >=1.0.0)

Giriş

Sınıf Sözdizimi

final class MongoDB\Driver\Server {
/* Sabitler */
const int TYPE_UNKNOWN = 0;
const int TYPE_STANDALONE = 1;
const int TYPE_MONGOS = 2;
const int TYPE_POSSIBLE_PRIMARY = 3;
const int TYPE_RS_PRIMARY = 4;
const int TYPE_RS_SECONDARY = 5;
const int TYPE_RS_ARBITER = 6;
const int TYPE_RS_OTHER = 7;
const int TYPE_RS_GHOST = 8;
const int TYPE_LOAD_BALANCER = 9;
/* Yöntemler */
final private __construct()
final public executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, array|MongoDB\Driver\WriteConcern|null $options = null): MongoDB\Driver\WriteResult
final public executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor
final public executeQuery(string $namespace, MongoDB\Driver\Query $query, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor
final public executeReadCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public executeWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
final public getHost(): string
final public getInfo(): array
final public getLatency(): ?integer
final public getPort(): int
final public getServerDescription(): MongoDB\Driver\ServerDescription
final public getTags(): array
final public getType(): int
final public isArbiter(): bool
final public isHidden(): bool
final public isPassive(): bool
final public isPrimary(): bool
final public isSecondary(): bool
}

Öntanımlı Sabitler

MongoDB\Driver\Server::TYPE_UNKNOWN

Unknown server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_STANDALONE

Standalone server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_MONGOS

Mongos server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_POSSIBLE_PRIMARY

Replica set possible primary server type, returned by MongoDB\Driver\Server::getType().

A server may be identified as a possible primary if it has not yet been checked but another memory of the replica set thinks it is the primary.

MongoDB\Driver\Server::TYPE_RS_PRIMARY

Replica set primary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_SECONDARY

Replica set secondary server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_ARBITER

Replica set arbiter server type, returned by MongoDB\Driver\Server::getType().

MongoDB\Driver\Server::TYPE_RS_OTHER

Replica set other server type, returned by MongoDB\Driver\Server::getType().

Such servers may be hidden, starting up, or recovering. They cannot be queried, but their hosts lists are useful for discovering the current replica set configuration.

MongoDB\Driver\Server::TYPE_RS_GHOST

Replica set ghost server type, returned by MongoDB\Driver\Server::getType().

Servers may be identified as such in at least three situations: briefly during server startup; in an uninitialized replica set; or when the server is shunned (i.e. removed from the replica set config). They cannot be queried, nor can their host list be used to discover the current replica set configuration; however, the client may monitor this server in hope that it transitions to a more useful state.

MongoDB\Driver\Server::TYPE_LOAD_BALANCER

Load balancer server type, returned by MongoDB\Driver\Server::getType().

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | Added the MongoDB\Driver\Server::TYPE_LOAD_BALANCER constant.

İçindekiler

  • MongoDB\Driver\Server::__construct — Create a new Server (not used)
  • MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server
  • MongoDB\Driver\Server::executeCommand — Execute a database command on this server
  • MongoDB\Driver\Server::executeQuery — Execute a database query on this server
  • MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server
  • MongoDB\Driver\Server::getHost — Returns the hostname of this server
  • MongoDB\Driver\Server::getInfo — Returns an array of information describing this server
  • MongoDB\Driver\Server::getLatency — Returns the latency of this server in milliseconds
  • MongoDB\Driver\Server::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Server::getServerDescription — Returns a ServerDescription for this server
  • MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set
  • MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server
  • MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set
  • MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set
  • MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set
  • MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set
  • MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set


Create a new Server (not used)

  • « MongoDB\Driver\Server
  • MongoDB\Driver\Server::executeBulkWrite »
  • PHP Manual
  • MongoDB\Driver\Server
  • Create a new Server (not used)

MongoDB\Driver\Server::__construct

(mongodb >=1.0.0)

MongoDB\Driver\Server::__construct — Create a new Server (not used)

Açıklama

final private MongoDB\Driver\Server::__construct()

MongoDB\Driver\Server objects are created internally by MongoDB\Driver\Manager when a database connection is established and may be returned by MongoDB\Driver\Manager::getServers() and MongoDB\Driver\Manager::selectServer().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::getServers() - Return the servers to which this manager is connected
  • MongoDB\Driver\Manager::selectServer() - Select a server matching a read preference


Execute one or more write operations on this server

  • « MongoDB\Driver\Server::__construct
  • MongoDB\Driver\Server::executeCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute one or more write operations on this server

MongoDB\Driver\Server::executeBulkWrite

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeBulkWrite — Execute one or more write operations on this server

Açıklama

final public MongoDB\Driver\Server::executeBulkWrite(string $namespace, MongoDB\Driver\BulkWrite $bulk, array|MongoDB\Driver\WriteConcern|null $options = null): MongoDB\Driver\WriteResult

Executes one or more write operations on this server.

A MongoDB\Driver\BulkWrite can be constructed with one or more write operations of varying types (e.g. updates, deletes, and inserts). The driver will attempt to send operations of the same type to the server in as few requests as possible to optimize round trips.

Bağımsız Değişkenler

namespace (string)

A fully qualified namespace (e.g. "databaseName.collectionName").

bulk (MongoDB\Driver\BulkWrite)

The write(s) to execute.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Dönen Değerler

Returns MongoDB\Driver\WriteResult on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk does not contain any write operations.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if bulk has already been executed. MongoDB\Driver\BulkWrite objects may not be executed multiple times.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\BulkWriteException on any write failure (e.g. write error, failure to apply a write concern)
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\WriteConcern object.
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is now thrown if bulk does not contain any write operations. Previously, a MongoDB\Driver\Exception\BulkWriteException was thrown.

Notlar

Bilginize: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Ayrıca Bakınız

  • MongoDB\Driver\BulkWrite
  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteConcern
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations


Execute a database command on this server

  • « MongoDB\Driver\Server::executeBulkWrite
  • MongoDB\Driver\Server::executeQuery »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command on this server

MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommand — Execute a database command on this server

Açıklama

final public MongoDB\Driver\Server::executeCommand(string $db, MongoDB\Driver\Command $command, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Executes the command on this server.

This method applies no special logic to the command. Although this method accepts "readConcern" and "writeConcern" options, which will be incorporated into the command document, those options will not default to corresponding values from the MongoDB Connection URI nor will the MongoDB server version be taken into account. Users are therefore encouraged to use specific read and/or write command methods if possible.

Bilginize: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command, issuing a write command to a secondary).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Notlar

Bilginize: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeCommand() - Execute a database command


Execute a database query on this server

  • « MongoDB\Driver\Server::executeCommand
  • MongoDB\Driver\Server::executeReadCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database query on this server

MongoDB\Driver\Server::executeQuery

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeQuery — Execute a database query on this server

Açıklama

final public MongoDB\Driver\Server::executeQuery(string $namespace, MongoDB\Driver\Query $query, array|MongoDB\Driver\ReadPreference|null $options = null): MongoDB\Driver\Cursor

Executes the query on this server.

Bilginize: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Bağımsız Değişkenler

namespace (string)

A fully qualified namespace (e.g. "databaseName.collectionName").

query (MongoDB\Driver\Query)

The query to execute.

options

options
Option Type Description
readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.0 | The third parameter is now an options array. For backwards compatibility, this paramater will still accept a MongoDB\Driver\ReadPreference object.

Ayrıca Bakınız

  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Query
  • MongoDB\Driver\ReadPreference
  • MongoDB\Driver\Manager::executeQuery() - Execute a database query


Execute a database command that reads on this server

  • « MongoDB\Driver\Server::executeQuery
  • MongoDB\Driver\Server::executeReadWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that reads on this server

MongoDB\Driver\Server::executeReadCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadCommand — Execute a database command that reads on this server

Açıklama

final public MongoDB\Driver\Server::executeReadCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that read (e.g. » count) and take the MongoDB server version into account. The "readConcern" option will default to the corresponding value from the MongoDB Connection URI.

Bilginize: The "readPreference" option does not control the server to which the driver issues the operation; it will always be executed on this server object. Instead, it may be used when issuing the operation to a secondary (from a replica set connection, not standalone) or mongos node to ensure that the driver sets the wire protocol accordingly or adds the read preference to the operation, respectively.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

readPreference MongoDB\Driver\ReadPreference

A read preference to use for selecting a server for the operation.

session MongoDB\Driver\Session

A session to associate with the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeReadCommand() - Execute a database command that reads


Execute a database command that reads and writes on this server

  • « MongoDB\Driver\Server::executeReadCommand
  • MongoDB\Driver\Server::executeWriteCommand »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that reads and writes on this server

MongoDB\Driver\Server::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server

Açıklama

final public MongoDB\Driver\Server::executeReadWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that read and write (e.g. » aggregate) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
readConcern MongoDB\Driver\ReadConcern

A read concern to apply to the operation.

This option is available in MongoDB 3.2+ and will result in an exception at execution time if specified for an older server version.

session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Notlar

Bilginize: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeWriteCommand() - Execute a database command that writes on this server
  • MongoDB\Driver\Manager::executeReadWriteCommand() - Execute a database command that reads and writes


Execute a database command that writes on this server

  • « MongoDB\Driver\Server::executeReadWriteCommand
  • MongoDB\Driver\Server::getHost »
  • PHP Manual
  • MongoDB\Driver\Server
  • Execute a database command that writes on this server

MongoDB\Driver\Server::executeWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Server::executeWriteCommand — Execute a database command that writes on this server

Açıklama

final public MongoDB\Driver\Server::executeWriteCommand(string $db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor

Executes the command on this server.

This method will apply logic that is specific to commands that write (e.g. » drop) and take the MongoDB server version into account. The "writeConcern" option will default to the corresponding value from the MongoDB Connection URI.

Bilginize: This method is not intended to be used to execute » insert, » update, or » delete commands. Users are encouraged to use MongoDB\Driver\Server::executeBulkWrite() for those commands.

Bağımsız Değişkenler

db (string)

The name of the database on which to execute the command.

command (MongoDB\Driver\Command)

The command to execute.

options

options
Option Type Description
session MongoDB\Driver\Session

A session to associate with the operation.

writeConcern MongoDB\Driver\WriteConcern

A write concern to apply to the operation.

Uyarı

If you are using a "session" which has a transaction in progress, you cannot specify a "readConcern" or "writeConcern" option. This will result in an MongoDB\Driver\Exception\InvalidArgumentException being thrown. Instead, you should set these two options when you create the transaction with MongoDB\Driver\Session::startTransaction().

Dönen Değerler

Returns MongoDB\Driver\Cursor on success.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used with an associated transaction in combination with a "readConcern" or "writeConcern" option.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the "session" option is used in combination with an unacknowledged write concern.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\ConnectionException if connection to the server fails (for reasons other than authentication).
  • Throws MongoDB\Driver\Exception\AuthenticationException if authentication is needed and fails.
  • Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid command).

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern.

Notlar

Bilginize: It is the caller's responsibility to ensure that the server is capable of executing the write operation. For example, executing a write operation on a secondary (excluding its "local" database) will fail.

Ayrıca Bakınız

  • MongoDB\Driver\Command
  • MongoDB\Driver\Cursor
  • MongoDB\Driver\Server::executeCommand() - Execute a database command on this server
  • MongoDB\Driver\Server::executeReadCommand() - Execute a database command that reads on this server
  • MongoDB\Driver\Server::executeReadWriteCommand() - Execute a database command that reads and writes on this server
  • MongoDB\Driver\Manager::executeWriteCommand() - Execute a database command that writes


Returns the hostname of this server

  • « MongoDB\Driver\Server::executeWriteCommand
  • MongoDB\Driver\Server::getInfo »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the hostname of this server

MongoDB\Driver\Server::getHost

(mongodb >=1.0.0)

MongoDB\Driver\Server::getHost — Returns the hostname of this server

Açıklama

final public MongoDB\Driver\Server::getHost(): string

Returns the hostname of this server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Server::getHost() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getHost());

?>

Yukarıdaki örneğin çıktısı:

string(9) "localhost"

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server
  • MongoDB\Driver\ServerDescription::getHost() - Returns the hostname of this server


Returns an array of information describing this server

  • « MongoDB\Driver\Server::getHost
  • MongoDB\Driver\Server::getLatency »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an array of information describing this server

MongoDB\Driver\Server::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\Server::getInfo — Returns an array of information describing this server

Açıklama

final public MongoDB\Driver\Server::getInfo(): array

Returns an array of information describing the server. This array is derived from the most recent » hello command response obtained through » server monitoring.

Bilginize:

When the driver is connected to a load balancer, this method will return the backing server's » hello command response from the initial connection handshake. This is in contrast to other methods (e.g. MongoDB\Driver\Server::getType()), which will return information about the load balancer itself.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of information describing this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Server::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017/');

$rp = new MongoDB\Driver\ReadPreference('primary');
$server = $manager->selectServer($rp);

var_dump($server->getInfo());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(23) {
  ["helloOk"]=>
  bool(true)
  ["topologyVersion"]=>
  array(2) {
    ["processId"]=>
    object(MongoDB\BSON\ObjectId)#4 (1) {
      ["oid"]=>
      string(24) "617b6d696a3a89d2f77e6df0"
    }
    ["counter"]=>
    int(6)
  }
  ["hosts"]=>
  array(1) {
    [0]=>
    string(15) "localhost:27017"
  }
  ["setName"]=>
  string(3) "rs0"
  ["setVersion"]=>
  int(1)
  ["ismaster"]=>
  bool(true)
  ["secondary"]=>
  bool(false)
  ["primary"]=>
  string(15) "localhost:27017"
  ["me"]=>
  string(15) "localhost:27017"
  ["electionId"]=>
  object(MongoDB\BSON\ObjectId)#5 (1) {
    ["oid"]=>
    string(24) "7fffffff0000000000000001"
  }
  ["lastWrite"]=>
  array(4) {
    ["opTime"]=>
    array(2) {
      ["ts"]=>
      object(MongoDB\BSON\Timestamp)#6 (2) {
        ["increment"]=>
        string(1) "1"
        ["timestamp"]=>
        string(10) "1635478989"
      }
      ["t"]=>
      int(1)
    }
    ["lastWriteDate"]=>
    object(MongoDB\BSON\UTCDateTime)#7 (1) {
      ["milliseconds"]=>
      string(13) "1635478989000"
    }
    ["majorityOpTime"]=>
    array(2) {
      ["ts"]=>
      object(MongoDB\BSON\Timestamp)#8 (2) {
        ["increment"]=>
        string(1) "1"
        ["timestamp"]=>
        string(10) "1635478989"
      }
      ["t"]=>
      int(1)
    }
    ["majorityWriteDate"]=>
    object(MongoDB\BSON\UTCDateTime)#9 (1) {
      ["milliseconds"]=>
      string(13) "1635478989000"
    }
  }
  ["maxBsonObjectSize"]=>
  int(16777216)
  ["maxMessageSizeBytes"]=>
  int(48000000)
  ["maxWriteBatchSize"]=>
  int(100000)
  ["localTime"]=>
  object(MongoDB\BSON\UTCDateTime)#10 (1) {
    ["milliseconds"]=>
    string(13) "1635478992136"
  }
  ["logicalSessionTimeoutMinutes"]=>
  int(30)
  ["connectionId"]=>
  int(3)
  ["minWireVersion"]=>
  int(0)
  ["maxWireVersion"]=>
  int(13)
  ["readOnly"]=>
  bool(false)
  ["ok"]=>
  float(1)
  ["$clusterTime"]=>
  array(2) {
    ["clusterTime"]=>
    object(MongoDB\BSON\Timestamp)#11 (2) {
      ["increment"]=>
      string(1) "1"
      ["timestamp"]=>
      string(10) "1635478989"
    }
    ["signature"]=>
    array(2) {
      ["hash"]=>
      object(MongoDB\BSON\Binary)#12 (2) {
        ["data"]=>
        string(20) ""
        ["type"]=>
        int(0)
      }
      ["keyId"]=>
      int(0)
    }
  }
  ["operationTime"]=>
  object(MongoDB\BSON\Timestamp)#13 (2) {
    ["increment"]=>
    string(1) "1"
    ["timestamp"]=>
    string(10) "1635478989"
  }
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | When the driver is connected to a load balancer, this method returns the backing server's hello command response from the initial connection handshake.

Ayrıca Bakınız

  • MongoDB\Driver\ServerDescription::getHelloResponse() - Returns the server's most recent "hello" response
  • » hello command in the MongoDB manual
  • » Server Discovery and Monitoring Specification


Returns the latency of this server in milliseconds

  • « MongoDB\Driver\Server::getInfo
  • MongoDB\Driver\Server::getPort »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the latency of this server in milliseconds

MongoDB\Driver\Server::getLatency

(mongodb >=1.0.0)

MongoDB\Driver\Server::getLatency — Returns the latency of this server in milliseconds

Açıklama

final public MongoDB\Driver\Server::getLatency(): ?integer

Returns the latency of this server in milliseconds. This is the client's measured » round trip time of a hello command.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the latency of this server in milliseconds, or null if no latency has been measured (e.g. client is connected to a load balancer).

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.11.0 | This method will return null if no latency has been measured. In earlier versions, an integer was always returned and an unset value might be reported as -1.

Örnekler

Örnek 1 MongoDB\Driver\Server::getLatency() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getLatency());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(592)

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server
  • MongoDB\Driver\ServerDescription::getRoundTripTime() - Returns the server's round trip time in milliseconds
  • » Server Discovery and Monitoring Specification


Returns the port on which this server is listening

  • « MongoDB\Driver\Server::getLatency
  • MongoDB\Driver\Server::getServerDescription »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns the port on which this server is listening

MongoDB\Driver\Server::getPort

(mongodb >=1.0.0)

MongoDB\Driver\Server::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Server::getPort(): int

Returns the port on which this server is listening.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\Server::getPort() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017/");

$rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY);
$server = $manager->selectServer($rp);

var_dump($server->getPort());

?>

Yukarıdaki örneğin çıktısı:

int(27017)

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server
  • MongoDB\Driver\ServerDescription::getPort() - Returns the port on which this server is listening


Returns a ServerDescription for this server

  • « MongoDB\Driver\Server::getPort
  • MongoDB\Driver\Server::getTags »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns a ServerDescription for this server

MongoDB\Driver\Server::getServerDescription

(mongodb >=1.13.0)

MongoDB\Driver\Server::getServerDescription — Returns a ServerDescription for this server

Açıklama

final public MongoDB\Driver\Server::getServerDescription(): MongoDB\Driver\ServerDescription

Returns a MongoDB\Driver\ServerDescription for this server. This is an immutable value object that will describe the server at the time this method is called.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a MongoDB\Driver\ServerDescription for this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns an array of tags describing this server in a replica set

  • « MongoDB\Driver\Server::getServerDescription
  • MongoDB\Driver\Server::getType »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an array of tags describing this server in a replica set

MongoDB\Driver\Server::getTags

(mongodb >=1.0.0)

MongoDB\Driver\Server::getTags — Returns an array of tags describing this server in a replica set

Açıklama

final public MongoDB\Driver\Server::getTags(): array

Returns an array of » tags used to describe this server in a replica set. The array will contain zero or more string key and value pairs.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of tags used to describe this server in a replica set.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


Returns an integer denoting the type of this server

  • « MongoDB\Driver\Server::getTags
  • MongoDB\Driver\Server::isArbiter »
  • PHP Manual
  • MongoDB\Driver\Server
  • Returns an integer denoting the type of this server

MongoDB\Driver\Server::getType

(mongodb >=1.0.0)

MongoDB\Driver\Server::getType — Returns an integer denoting the type of this server

Açıklama

final public MongoDB\Driver\Server::getType(): int

Returns an int denoting the type of this server. The value will correlate with a MongoDB\Driver\Server constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an int denoting the type of this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server
  • MongoDB\Driver\ServerDescription::getType() - Returns a string denoting the type of this server


Checks if this server is an arbiter member of a replica set

  • « MongoDB\Driver\Server::getType
  • MongoDB\Driver\Server::isHidden »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is an arbiter member of a replica set

MongoDB\Driver\Server::isArbiter

(mongodb >=1.0.0)

MongoDB\Driver\Server::isArbiter — Checks if this server is an arbiter member of a replica set

Açıklama

final public MongoDB\Driver\Server::isArbiter(): bool

Returns whether this server is an » arbiter member of a replica set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this server is an arbiter member of a replica set, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


Checks if this server is a hidden member of a replica set

  • « MongoDB\Driver\Server::isArbiter
  • MongoDB\Driver\Server::isPassive »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a hidden member of a replica set

MongoDB\Driver\Server::isHidden

(mongodb >=1.0.0)

MongoDB\Driver\Server::isHidden — Checks if this server is a hidden member of a replica set

Açıklama

final public MongoDB\Driver\Server::isHidden(): bool

Returns whether this server is a » hidden member of a replica set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this server is a hidden member of a replica set, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


Checks if this server is a passive member of a replica set

  • « MongoDB\Driver\Server::isHidden
  • MongoDB\Driver\Server::isPrimary »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a passive member of a replica set

MongoDB\Driver\Server::isPassive

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPassive — Checks if this server is a passive member of a replica set

Açıklama

final public MongoDB\Driver\Server::isPassive(): bool

Returns whether this server is a » passive member of a replica set (i.e. its priority is 0).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this server is a passive member of a replica set, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


Checks if this server is a primary member of a replica set

  • « MongoDB\Driver\Server::isPassive
  • MongoDB\Driver\Server::isSecondary »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a primary member of a replica set

MongoDB\Driver\Server::isPrimary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isPrimary — Checks if this server is a primary member of a replica set

Açıklama

final public MongoDB\Driver\Server::isPrimary(): bool

Returns whether this server is a » primary member of a replica set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this server is a primary member of a replica set, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


Checks if this server is a secondary member of a replica set

  • « MongoDB\Driver\Server::isPrimary
  • MongoDB\Driver\ServerDescription »
  • PHP Manual
  • MongoDB\Driver\Server
  • Checks if this server is a secondary member of a replica set

MongoDB\Driver\Server::isSecondary

(mongodb >=1.0.0)

MongoDB\Driver\Server::isSecondary — Checks if this server is a secondary member of a replica set

Açıklama

final public MongoDB\Driver\Server::isSecondary(): bool

Returns whether this server is a » secondary member of a replica set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this server is a secondary member of a replica set, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server


The MongoDB\Driver\ServerDescription class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\ServerDescription class is a value object that represents a server to which the driver is connected. Instances of this class are returned by MongoDB\Driver\Server::getServerDescription() and MongoDB\Driver\Monitoring\ServerChangedEvent methods.

Sınıf Sözdizimi

final class MongoDB\Driver\ServerDescription {
/* Sabitler */
const string TYPE_UNKNOWN = "Unknown";
const string TYPE_STANDALONE = "Standalone";
const string TYPE_MONGOS = "Mongos";
const string TYPE_POSSIBLE_PRIMARY = "PossiblePrimary";
const string TYPE_RS_PRIMARY = "RSPrimary";
const string TYPE_RS_SECONDARY = "RSSecondary";
const string TYPE_RS_ARBITER = "RSArbiter";
const string TYPE_RS_OTHER = "RSOther";
const string TYPE_RS_GHOST = "RSGhost";
const string TYPE_LOAD_BALANCER = "LoadBalancer";
/* Yöntemler */
final public getHelloResponse(): array
final public getHost(): string
final public getLastUpdateTime(): int
final public getPort(): int
final public getRoundTripTime(): ?int
final public getType(): string
}

Öntanımlı Sabitler

MongoDB\Driver\ServerDescription::TYPE_UNKNOWN

Unknown server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_STANDALONE

Standalone server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_MONGOS

Mongos server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_POSSIBLE_PRIMARY

Replica set possible primary server type, returned by MongoDB\Driver\ServerDescription::getType().

A server may be identified as a possible primary if it has not yet been checked but another memory of the replica set thinks it is the primary.

MongoDB\Driver\ServerDescription::TYPE_RS_PRIMARY

Replica set primary server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_RS_SECONDARY

Replica set secondary server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_RS_ARBITER

Replica set arbiter server type, returned by MongoDB\Driver\ServerDescription::getType().

MongoDB\Driver\ServerDescription::TYPE_RS_OTHER

Replica set other server type, returned by MongoDB\Driver\ServerDescription::getType().

Such servers may be hidden, starting up, or recovering. They cannot be queried, but their hosts lists are useful for discovering the current replica set configuration.

MongoDB\Driver\ServerDescription::TYPE_RS_GHOST

Replica set ghost server type, returned by MongoDB\Driver\ServerDescription::getType().

Servers may be identified as such in at least three situations: briefly during server startup; in an uninitialized replica set; or when the server is shunned (i.e. removed from the replica set config). They cannot be queried, nor can their host list be used to discover the current replica set configuration; however, the client may monitor this server in hope that it transitions to a more useful state.

MongoDB\Driver\ServerDescription::TYPE_LOAD_BALANCER

Load balancer server type, returned by MongoDB\Driver\ServerDescription::getType().

İçindekiler

  • MongoDB\Driver\ServerDescription::getHelloResponse — Returns the server's most recent "hello" response
  • MongoDB\Driver\ServerDescription::getHost — Returns the hostname of this server
  • MongoDB\Driver\ServerDescription::getLastUpdateTime — Returns the server's last update time in microseconds
  • MongoDB\Driver\ServerDescription::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\ServerDescription::getRoundTripTime — Returns the server's round trip time in milliseconds
  • MongoDB\Driver\ServerDescription::getType — Returns a string denoting the type of this server


Returns the server's most recent "hello" response

  • « MongoDB\Driver\ServerDescription
  • MongoDB\Driver\ServerDescription::getHost »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns the server's most recent "hello" response

MongoDB\Driver\ServerDescription::getHelloResponse

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getHelloResponse — Returns the server's most recent "hello" response

Açıklama

final public MongoDB\Driver\ServerDescription::getHelloResponse(): array

Returns an array of information describing the server. This array is derived from the most recent (at the time the MongoDB\Driver\ServerDescription was constructed) » hello command response obtained through » server monitoring.

Bilginize:

When the driver is connected to a load balancer, this method will return an empty array since load balancers are not monitored. This is in contrast to MongoDB\Driver\Server::getInfo(), which would return the backing server's » hello command response from the initial connection handshake.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of information describing this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getInfo() - Returns an array of information describing this server
  • » hello command in the MongoDB manual
  • » Server Discovery and Monitoring Specification


Returns the hostname of this server

  • « MongoDB\Driver\ServerDescription::getHelloResponse
  • MongoDB\Driver\ServerDescription::getLastUpdateTime »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns the hostname of this server

MongoDB\Driver\ServerDescription::getHost

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getHost — Returns the hostname of this server

Açıklama

final public MongoDB\Driver\ServerDescription::getHost(): string

Returns the hostname of this server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getHost() - Returns the hostname of this server


Returns the server's last update time in microseconds

  • « MongoDB\Driver\ServerDescription::getHost
  • MongoDB\Driver\ServerDescription::getPort »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns the server's last update time in microseconds

MongoDB\Driver\ServerDescription::getLastUpdateTime

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getLastUpdateTime — Returns the server's last update time in microseconds

Açıklama

final public MongoDB\Driver\ServerDescription::getLastUpdateTime(): int

Returns the server's last update time in microseconds.

Bilginize: The returned value is a monotonic timestamp, which starts at an arbitrary point. As such, it is only suitable to compare with other return values from MongoDB\Driver\ServerDescription::getLastUpdateTime().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the server's last update time in microseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\ServerDescription::getLastUpdateTime
  • MongoDB\Driver\ServerDescription::getRoundTripTime »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns the port on which this server is listening

MongoDB\Driver\ServerDescription::getPort

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\ServerDescription::getPort(): int

Returns the port on which this server is listening.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getPort() - Returns the port on which this server is listening


Returns the server's round trip time in milliseconds

  • « MongoDB\Driver\ServerDescription::getPort
  • MongoDB\Driver\ServerDescription::getType »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns the server's round trip time in milliseconds

MongoDB\Driver\ServerDescription::getRoundTripTime

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getRoundTripTime — Returns the server's round trip time in milliseconds

Açıklama

final public MongoDB\Driver\ServerDescription::getRoundTripTime(): ?int

Returns the server's round trip time in milliseconds. This is the client's measurement of the duration of a » hello command.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the server's round trip time in milliseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getLatency() - Returns the latency of this server in milliseconds


Returns a string denoting the type of this server

  • « MongoDB\Driver\ServerDescription::getRoundTripTime
  • MongoDB\Driver\TopologyDescription »
  • PHP Manual
  • MongoDB\Driver\ServerDescription
  • Returns a string denoting the type of this server

MongoDB\Driver\ServerDescription::getType

(mongodb >=1.13.0)

MongoDB\Driver\ServerDescription::getType — Returns a string denoting the type of this server

Açıklama

final public MongoDB\Driver\ServerDescription::getType(): string

Returns a string denoting the type of this server. The value will correlate with a MongoDB\Driver\ServerDescription constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string denoting the type of this server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Server::getType() - Returns an integer denoting the type of this server


The MongoDB\Driver\TopologyDescription class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\TopologyDescription class is a value object that represents a topology to which the driver is connected. Instances of this class are returned by MongoDB\Driver\Monitoring\TopologyChangedEvent methods.

Sınıf Sözdizimi

final class MongoDB\Driver\TopologyDescription {
/* Sabitler */
const string TYPE_UNKNOWN = "Unknown";
const string TYPE_SINGLE = "Single";
const string TYPE_SHARDED = "Sharded";
const string TYPE_REPLICA_SET_NO_PRIMARY = "ReplicaSetNoPrimary";
const string TYPE_REPLICA_SET_WITH_PRIMARY = "ReplicaSetWithPrimary";
const string TYPE_LOAD_BALANCED = "LoadBalanced";
/* Yöntemler */
final public getServers(): array
final public getType(): string
final public hasReadableServer(?MongoDB\Driver\ReadPreference $readPreference = null): bool
final public hasWritableServer(): bool
}

Öntanımlı Sabitler

MongoDB\Driver\TopologyDescription::TYPE_UNKNOWN

Unknown topology type, returned by MongoDB\Driver\TopologyDescription::getType().

MongoDB\Driver\TopologyDescription::TYPE_SINGLE

Single server (i.e. direct connection), returned by MongoDB\Driver\TopologyDescription::getType().

MongoDB\Driver\TopologyDescription::TYPE_SHARDED

Sharded cluster, returned by MongoDB\Driver\TopologyDescription::getType().

MongoDB\Driver\TopologyDescription::TYPE_REPLICA_SET_NO_PRIMARY

Replica set with no primary server, returned by MongoDB\Driver\TopologyDescription::getType().

MongoDB\Driver\TopologyDescription::TYPE_REPLICA_SET_WITH_PRIMARY

Replica set with a primary server, returned by MongoDB\Driver\TopologyDescription::getType().

MongoDB\Driver\TopologyDescription::TYPE_LOAD_BALANCED

Load balanced topology, returned by MongoDB\Driver\TopologyDescription::getType().

İçindekiler

  • MongoDB\Driver\TopologyDescription::getServers — Returns the servers in the topology
  • MongoDB\Driver\TopologyDescription::getType — Returns a string denoting the type of this topology
  • MongoDB\Driver\TopologyDescription::hasReadableServer — Returns whether the topology has a readable server
  • MongoDB\Driver\TopologyDescription::hasWritableServer — Returns whether the topology has a writable server


Returns the servers in the topology

  • « MongoDB\Driver\TopologyDescription
  • MongoDB\Driver\TopologyDescription::getType »
  • PHP Manual
  • MongoDB\Driver\TopologyDescription
  • Returns the servers in the topology

MongoDB\Driver\TopologyDescription::getServers

(mongodb >=1.13.0)

MongoDB\Driver\TopologyDescription::getServers — Returns the servers in the topology

Açıklama

final public MongoDB\Driver\TopologyDescription::getServers(): array

Returns an array of MongoDB\Driver\ServerDescription objects corresponding to the known servers in the topology.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of MongoDB\Driver\ServerDescription objects corresponding to the known servers in the topology.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns a string denoting the type of this topology

  • « MongoDB\Driver\TopologyDescription::getServers
  • MongoDB\Driver\TopologyDescription::hasReadableServer »
  • PHP Manual
  • MongoDB\Driver\TopologyDescription
  • Returns a string denoting the type of this topology

MongoDB\Driver\TopologyDescription::getType

(mongodb >=1.13.0)

MongoDB\Driver\TopologyDescription::getType — Returns a string denoting the type of this topology

Açıklama

final public MongoDB\Driver\TopologyDescription::getType(): string

Returns a string denoting the type of this topology. The value will correlate with a MongoDB\Driver\TopologyDescription constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string denoting the type of this topology.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns whether the topology has a readable server

  • « MongoDB\Driver\TopologyDescription::getType
  • MongoDB\Driver\TopologyDescription::hasWritableServer »
  • PHP Manual
  • MongoDB\Driver\TopologyDescription
  • Returns whether the topology has a readable server

MongoDB\Driver\TopologyDescription::hasReadableServer

(mongodb >=1.13.0)

MongoDB\Driver\TopologyDescription::hasReadableServer — Returns whether the topology has a readable server

Açıklama

final public MongoDB\Driver\TopologyDescription::hasReadableServer(?MongoDB\Driver\ReadPreference $readPreference = null): bool

Returns whether the topology has a readable server or, if readPreference is specified, a server matching the specified read preference.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the topology has a readable server or, if readPreference is specified, a server matching the specified read preference.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns whether the topology has a writable server

  • « MongoDB\Driver\TopologyDescription::hasReadableServer
  • MongoDB\Driver\WriteConcernError »
  • PHP Manual
  • MongoDB\Driver\TopologyDescription
  • Returns whether the topology has a writable server

MongoDB\Driver\TopologyDescription::hasWritableServer

(mongodb >=1.13.0)

MongoDB\Driver\TopologyDescription::hasWritableServer — Returns whether the topology has a writable server

Açıklama

final public MongoDB\Driver\TopologyDescription::hasWritableServer(): bool

Returns whether the topology has a writable server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the topology has a writable server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\WriteConcernError class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\WriteConcernError class encapsulates information about a write concern error and may be returned by MongoDB\Driver\WriteResult::getWriteConcernError().

Sınıf Sözdizimi

final class MongoDB\Driver\WriteConcernError {
/* Yöntemler */
final public getCode(): int
final public getInfo(): ?object
final public getMessage(): string
}

İçindekiler

  • MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code
  • MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError
  • MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message


Returns the WriteConcernError's error code

  • « MongoDB\Driver\WriteConcernError
  • MongoDB\Driver\WriteConcernError::getInfo »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns the WriteConcernError's error code

MongoDB\Driver\WriteConcernError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getCode — Returns the WriteConcernError's error code

Açıklama

final public MongoDB\Driver\WriteConcernError::getCode(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteConcernError's error code.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcernError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
$manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteConcernError()->getCode());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(64)

Ayrıca Bakınız

  • » Write Concern reference


Returns metadata document for the WriteConcernError

  • « MongoDB\Driver\WriteConcernError::getCode
  • MongoDB\Driver\WriteConcernError::getMessage »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns metadata document for the WriteConcernError

MongoDB\Driver\WriteConcernError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getInfo — Returns metadata document for the WriteConcernError

Açıklama

final public MongoDB\Driver\WriteConcernError::getInfo(): ?object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the metadata document for the WriteConcernError, or null if no metadata is available.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcernError::getInfo() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
$manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteConcernError()->getInfo());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#1 (1) {
  ["wtimeout"]=>
  bool(true)
}

Ayrıca Bakınız

  • » Write Concern reference


Returns the WriteConcernError's error message

  • « MongoDB\Driver\WriteConcernError::getInfo
  • MongoDB\Driver\WriteError »
  • PHP Manual
  • MongoDB\Driver\WriteConcernError
  • Returns the WriteConcernError's error message

MongoDB\Driver\WriteConcernError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcernError::getMessage — Returns the WriteConcernError's error message

Açıklama

final public MongoDB\Driver\WriteConcernError::getMessage(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteConcernError's error message.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteConcernError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
$manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteConcernError()->getMessage());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(33) "waiting for replication timed out"

Ayrıca Bakınız

  • » Write Concern reference


The MongoDB\Driver\WriteError class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\WriteError class encapsulates information about a write error and may be returned as an array element from MongoDB\Driver\WriteResult::getWriteErrors().

Sınıf Sözdizimi

final class MongoDB\Driver\WriteError {
/* Yöntemler */
final public getCode(): int
final public getIndex(): int
final public getInfo(): ?object
final public getMessage(): string
}

İçindekiler

  • MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code
  • MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError
  • MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError
  • MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message


Returns the WriteError's error code

  • « MongoDB\Driver\WriteError
  • MongoDB\Driver\WriteError::getIndex »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the WriteError's error code

MongoDB\Driver\WriteError::getCode

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getCode — Returns the WriteError's error code

Açıklama

final public MongoDB\Driver\WriteError::getCode(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteError's error code.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteError::getCode() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
$manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors()[0]->getCode());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(11000)


Returns the index of the write operation corresponding to this WriteError

  • « MongoDB\Driver\WriteError::getCode
  • MongoDB\Driver\WriteError::getInfo »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the index of the write operation corresponding to this WriteError

MongoDB\Driver\WriteError::getIndex

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getIndex — Returns the index of the write operation corresponding to this WriteError

Açıklama

final public MongoDB\Driver\WriteError::getIndex(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the index of the write operation (from MongoDB\Driver\BulkWrite) corresponding to this WriteError.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteError::getIndex() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
$manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors()[0]->getIndex());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)

Ayrıca Bakınız

  • MongoDB\Driver\BulkWrite


Returns metadata document for the WriteError

  • « MongoDB\Driver\WriteError::getIndex
  • MongoDB\Driver\WriteError::getMessage »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns metadata document for the WriteError

MongoDB\Driver\WriteError::getInfo

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getInfo — Returns metadata document for the WriteError

Açıklama

final public MongoDB\Driver\WriteError::getInfo(): ?object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the metadata document for the WriteError, or null if no metadata is available.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the WriteError's error message

  • « MongoDB\Driver\WriteError::getInfo
  • MongoDB\Driver\WriteResult »
  • PHP Manual
  • MongoDB\Driver\WriteError
  • Returns the WriteError's error message

MongoDB\Driver\WriteError::getMessage

(mongodb >=1.0.0)

MongoDB\Driver\WriteError::getMessage — Returns the WriteError's error message

Açıklama

final public MongoDB\Driver\WriteError::getMessage(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the WriteError's error message.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteError::getMessage() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
$manager->executeBulkWrite('db.collection', $bulk);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors()[0]->getMessage());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"


The MongoDB\Driver\WriteResult class

(mongodb >=1.0.0)

Giriş

The MongoDB\Driver\WriteResult class encapsulates information about an executed MongoDB\Driver\BulkWrite and may be returned by MongoDB\Driver\Manager::executeBulkWrite().

Sınıf Sözdizimi

final class MongoDB\Driver\WriteResult {
/* Yöntemler */
final public getDeletedCount(): ?int
final public getInsertedCount(): ?int
final public getMatchedCount(): ?int
final public getModifiedCount(): ?int
final public getServer(): MongoDB\Driver\Server
final public getUpsertedCount(): ?int
final public getUpsertedIds(): array
final public getWriteConcernError(): ?MongoDB\Driver\WriteConcernError
final public getWriteErrors(): array
final public isAcknowledged(): bool
}

İçindekiler

  • MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted
  • MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)
  • MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result
  • MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred
  • MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred
  • MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged


Returns the number of documents deleted

  • « MongoDB\Driver\WriteResult
  • MongoDB\Driver\WriteResult::getInsertedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents deleted

MongoDB\Driver\WriteResult::getDeletedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getDeletedCount — Returns the number of documents deleted

Açıklama

final public MongoDB\Driver\WriteResult::getDeletedCount(): ?int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of documents deleted, or null if the write was not acknowledged.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getDeletedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getDeletedCount());

?>

Yukarıdaki örneğin çıktısı:

int(1)

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of documents inserted (excluding upserts)

  • « MongoDB\Driver\WriteResult::getDeletedCount
  • MongoDB\Driver\WriteResult::getMatchedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents inserted (excluding upserts)

MongoDB\Driver\WriteResult::getInsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getInsertedCount — Returns the number of documents inserted (excluding upserts)

Açıklama

final public MongoDB\Driver\WriteResult::getInsertedCount(): ?int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of documents inserted (excluding upserts), or null if the write was not acknowledged.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getInsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getInsertedCount());

?>

Yukarıdaki örneğin çıktısı:

int(1)

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of documents selected for update

  • « MongoDB\Driver\WriteResult::getInsertedCount
  • MongoDB\Driver\WriteResult::getModifiedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents selected for update

MongoDB\Driver\WriteResult::getMatchedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getMatchedCount — Returns the number of documents selected for update

Açıklama

final public MongoDB\Driver\WriteResult::getMatchedCount(): ?int

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the matched count may be greater than the value returned by MongoDB\Driver\WriteResult::getModifiedCount().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of documents selected for update, or null if the write was not acknowledged.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getMatchedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getMatchedCount());

?>

Yukarıdaki örneğin çıktısı:

int(1)

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::getModifiedCount() - Returns the number of existing documents updated
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the number of existing documents updated

  • « MongoDB\Driver\WriteResult::getMatchedCount
  • MongoDB\Driver\WriteResult::getServer »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of existing documents updated

MongoDB\Driver\WriteResult::getModifiedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getModifiedCount — Returns the number of existing documents updated

Açıklama

final public MongoDB\Driver\WriteResult::getModifiedCount(): ?int

If the update operation results in no change to the document (e.g. setting the value of a field to its current value), the modified count may be less than the value returned by MongoDB\Driver\WriteResult::getMatchedCount().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of existing documents updated, or null if the write was not acknowledged.

The modified count is not available on versions of MongoDB before 2.6, which used the legacy wire protocol version (i.e. OP_UPDATE). If this is the case, the modified count will also be null.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getModifiedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getModifiedCount());

?>

Yukarıdaki örneğin çıktısı:

int(1)

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::getMatchedCount() - Returns the number of documents selected for update
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns the server associated with this write result

  • « MongoDB\Driver\WriteResult::getModifiedCount
  • MongoDB\Driver\WriteResult::getUpsertedCount »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the server associated with this write result

MongoDB\Driver\WriteResult::getServer

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getServer — Returns the server associated with this write result

Açıklama

final public MongoDB\Driver\WriteResult::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server associated with this write result. This is the server that executed the MongoDB\Driver\BulkWrite.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server associated with this write result.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getServer() example

<?php

$manager = new MongoDB\Driver\Manager;
$server = $manager->selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY));

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $server->executeBulkWrite('db.collection', $bulk);

var_dump($result->getServer() == $server);

?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • MongoDB\Driver\Server


Returns the number of documents inserted by an upsert

  • « MongoDB\Driver\WriteResult::getServer
  • MongoDB\Driver\WriteResult::getUpsertedIds »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns the number of documents inserted by an upsert

MongoDB\Driver\WriteResult::getUpsertedCount

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedCount — Returns the number of documents inserted by an upsert

Açıklama

final public MongoDB\Driver\WriteResult::getUpsertedCount(): ?int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of documents inserted by an upsert.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getUpsertedCount() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedCount());

?>

Yukarıdaki örneğin çıktısı:

int(2)

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::getUpsertedIds() - Returns an array of identifiers for upserted documents
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns an array of identifiers for upserted documents

  • « MongoDB\Driver\WriteResult::getUpsertedCount
  • MongoDB\Driver\WriteResult::getWriteConcernError »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns an array of identifiers for upserted documents

MongoDB\Driver\WriteResult::getUpsertedIds

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getUpsertedIds — Returns an array of identifiers for upserted documents

Açıklama

final public MongoDB\Driver\WriteResult::getUpsertedIds(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of identifiers (i.e. "_id" field values) for upserted documents. The array keys will correspond to the index of the write operation (from MongoDB\Driver\BulkWrite) responsible for the upsert.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getUpsertedIds() example

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->update(['x' => 1], ['$set' => ['y' => 3]]);
$bulk->update(['x' => 2], ['$set' => ['y' => 1]], ['upsert' => true]);
$bulk->update(['x' => 3], ['$set' => ['y' => 2]], ['upsert' => true]);
$bulk->delete(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->getUpsertedIds());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  [2]=>
  object(MongoDB\BSON\ObjectId)#4 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880b"
  }
  [3]=>
  object(MongoDB\BSON\ObjectId)#5 (1) {
    ["oid"]=>
    string(24) "580e62a224f2302f191b880c"
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult::getUpsertedCount() - Returns the number of documents inserted by an upsert
  • MongoDB\Driver\WriteResult::isAcknowledged() - Returns whether the write was acknowledged


Returns any write concern error that occurred

  • « MongoDB\Driver\WriteResult::getUpsertedIds
  • MongoDB\Driver\WriteResult::getWriteErrors »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns any write concern error that occurred

MongoDB\Driver\WriteResult::getWriteConcernError

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteConcernError — Returns any write concern error that occurred

Açıklama

final public MongoDB\Driver\WriteResult::getWriteConcernError(): ?MongoDB\Driver\WriteConcernError

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a MongoDB\Driver\WriteConcernError if a write concern error was encountered during the write operation, and null otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getWriteConcernError() example

<?php

$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$writeConcern = new MongoDB\Driver\WriteConcern(2, 1);

try {
$manager->executeBulkWrite('db.collection', $bulk, $writeConcern);
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteConcernError());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\Driver\WriteConcernError)#6 (3) {
  ["message"]=>
  string(33) "waiting for replication timed out"
  ["code"]=>
  int(64)
  ["info"]=>
  object(stdClass)#7 (1) {
    ["wtimeout"]=>
    bool(true)
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference


Returns any write errors that occurred

  • « MongoDB\Driver\WriteResult::getWriteConcernError
  • MongoDB\Driver\WriteResult::isAcknowledged »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns any write errors that occurred

MongoDB\Driver\WriteResult::getWriteErrors

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::getWriteErrors — Returns any write errors that occurred

Açıklama

final public MongoDB\Driver\WriteResult::getWriteErrors(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of MongoDB\Driver\WriteError objects for any write errors encountered during the write operation. The array will be empty if no write errors occurred.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::getWriteErrors() with a single error

<?php

$manager = new MongoDB\Driver\Manager;

/* By default, bulk write operations are executed serially in order and
* execution will stop after the first error.
*/
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
}

Örnek 2 MongoDB\Driver\WriteResult::getWriteErrors() with multiple errors

<?php

$manager = new MongoDB\Driver\Manager;

/* The "ordered" option may be used to allow bulk write operations to continue
* executing after the first error is encountered.
*/
$bulk = new MongoDB\Driver\BulkWrite(['ordered' => false]);
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 2]);
$bulk->insert(['_id' => 3]);
$bulk->insert(['_id' => 4]);
$bulk->insert(['_id' => 4]);

try {
$result = $manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
var_dump($e->getWriteResult()->getWriteErrors());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 2 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(2)
    ["info"]=>
    NULL
  }
  [1]=>
  object(MongoDB\Driver\WriteError)#6 (4) {
    ["message"]=>
    string(81) "E11000 duplicate key error collection: db.collection index: _id_ dup key: { : 4 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(5)
    ["info"]=>
    NULL
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\WriteError


Returns whether the write was acknowledged

  • « MongoDB\Driver\WriteResult::getWriteErrors
  • MongoDB\BSON »
  • PHP Manual
  • MongoDB\Driver\WriteResult
  • Returns whether the write was acknowledged

MongoDB\Driver\WriteResult::isAcknowledged

(mongodb >=1.0.0)

MongoDB\Driver\WriteResult::isAcknowledged — Returns whether the write was acknowledged

Açıklama

final public MongoDB\Driver\WriteResult::isAcknowledged(): bool

If the write is acknowledged, other count fields will be available on the MongoDB\Driver\WriteResult object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the write was acknowledged, and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\Driver\WriteResult::isAcknowledged() with acknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk);

var_dump($result->isAcknowledged());

?>

Yukarıdaki örneğin çıktısı:

bool(true)

Örnek 2 MongoDB\Driver\WriteResult::isAcknowledged() with unacknowledged write concern

<?php

$manager = new MongoDB\Driver\Manager;

$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);

$result = $manager->executeBulkWrite('db.collection', $bulk, new MongoDB\Driver\WriteConcern(0));

var_dump($result->isAcknowledged());

?>

Yukarıdaki örneğin çıktısı:

bool(false)

Ayrıca Bakınız

  • MongoDB\Driver\WriteConcern
  • » Write Concern reference


BSON type classes and serialization functions

  • İşlevleri
    • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
    • MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value
    • MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value
    • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
    • MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value
  • MongoDB\BSON\Document — The MongoDB\BSON\Document class
    • MongoDB\BSON\Document::__construct — Construct a new BSON document (unused)
    • MongoDB\BSON\Document::fromBSON — Construct a new document instance from a BSON string
    • MongoDB\BSON\Document::fromJSON — Construct a new document instance from a JSON string
    • MongoDB\BSON\Document::fromPHP — Construct a new document instance from PHP data
    • MongoDB\BSON\Document::get — Returns the value of a key in the document
    • MongoDB\BSON\Document::getIterator — Returns an iterator for the BSON document
    • MongoDB\BSON\Document::has — Returns whether a key is present in the document
    • MongoDB\BSON\Document::serialize — Serialize a Document
    • MongoDB\BSON\Document::toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of the BSON document
    • MongoDB\BSON\Document::toPHP — Returns the PHP representation of the BSON document
    • MongoDB\BSON\Document::toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of the BSON document
    • MongoDB\BSON\Document::__toString — Returns the string representation of this BSON Document
    • MongoDB\BSON\Document::unserialize — Unserialize a BSON document
  • MongoDB\BSON\PackedArray — The MongoDB\BSON\PackedArray class
    • MongoDB\BSON\PackedArray::__construct — Construct a new BSON array (unused)
    • MongoDB\BSON\PackedArray::fromPHP — Construct a new BSON array instance from PHP data
    • MongoDB\BSON\PackedArray::get — Returns the value of an index in the array
    • MongoDB\BSON\PackedArray::getIterator — Returns an iterator for the BSON array
    • MongoDB\BSON\PackedArray::has — Returns whether a index is present in the array
    • MongoDB\BSON\PackedArray::serialize — Serialize a BSON array
    • MongoDB\BSON\PackedArray::toPHP — Returns the PHP representation of the BSON array
    • MongoDB\BSON\PackedArray::__toString — Returns the string representation of this BSON array
    • MongoDB\BSON\PackedArray::unserialize — Unserialize a BSON array
  • MongoDB\BSON\Iterator — The MongoDB\BSON\Iterator class
    • MongoDB\BSON\Iterator::__construct — Construct a new BSON iterator (unused)
    • MongoDB\BSON\Iterator::current — Returns the current element
    • MongoDB\BSON\Iterator::key — Returns the key of the current element
    • MongoDB\BSON\Iterator::next — Advances the iterator to next element
    • MongoDB\BSON\Iterator::rewind — Rewinds the Iterator to the first element
    • MongoDB\BSON\Iterator::valid — Checks if current position is valid
  • MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
    • MongoDB\BSON\Binary::__construct — Construct a new Binary
    • MongoDB\BSON\Binary::getData — Returns the Binary's data
    • MongoDB\BSON\Binary::getType — Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize — Serialize a Binary
    • MongoDB\BSON\Binary::__toString — Returns the Binary's data
    • MongoDB\BSON\Binary::unserialize — Unserialize a Binary
  • MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
    • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
    • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
    • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
    • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128
  • MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
    • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
    • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
    • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
    • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript
  • MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
    • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
    • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey
  • MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
    • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
    • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey
  • MongoDB\BSON\ObjectId — The MongoDB\BSON\ObjectId class
    • MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
    • MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
    • MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
    • MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
    • MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId
  • MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
    • MongoDB\BSON\Regex::__construct — Construct a new Regex
    • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize — Serialize a Regex
    • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
    • MongoDB\BSON\Regex::unserialize — Unserialize a Regex
  • MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
    • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
    • MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp
    • MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp
    • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
    • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
    • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp
  • MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
    • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime
  • MongoDB\BSON\Type — The MongoDB\BSON\Type interface
  • MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
    • MongoDB\BSON\Persistable::bsonSerialize — Provides an array or document to serialize as BSON
  • MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
    • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON
  • MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
    • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document
  • MongoDB\BSON\BinaryInterface — The MongoDB\BSON\BinaryInterface interface
    • MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data
    • MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type
    • MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data
  • MongoDB\BSON\Decimal128Interface — The MongoDB\BSON\Decimal128Interface interface
    • MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface
  • MongoDB\BSON\JavascriptInterface — The MongoDB\BSON\JavascriptInterface interface
    • MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code
    • MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document
    • MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code
  • MongoDB\BSON\MaxKeyInterface — The MongoDB\BSON\MaxKeyInterface interface
  • MongoDB\BSON\MinKeyInterface — The MongoDB\BSON\MinKeyInterface interface
  • MongoDB\BSON\ObjectIdInterface — The MongoDB\BSON\ObjectIdInterface interface
    • MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface
    • MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface
  • MongoDB\BSON\RegexInterface — The MongoDB\BSON\RegexInterface interface
    • MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags
    • MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern
    • MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface
  • MongoDB\BSON\TimestampInterface — The MongoDB\BSON\TimestampInterface interface
    • MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface
  • MongoDB\BSON\UTCDateTimeInterface — The MongoDB\BSON\UTCDateTimeInterface interface
    • MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface
    • MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface
  • MongoDB\BSON\DBPointer — The MongoDB\BSON\DBPointer class (deprecated)
    • MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)
    • MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer
    • MongoDB\BSON\DBPointer::__toString — Returns an empty string
    • MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer
  • MongoDB\BSON\Int64 — The MongoDB\BSON\Int64 class
    • MongoDB\BSON\Int64::__construct — Construct a new Int64
    • MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Int64::serialize — Serialize an Int64
    • MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64
    • MongoDB\BSON\Int64::unserialize — Unserialize an Int64
  • MongoDB\BSON\Symbol — The MongoDB\BSON\Symbol class (deprecated)
    • MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)
    • MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Symbol::serialize — Serialize a Symbol
    • MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string
    • MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol
  • MongoDB\BSON\Undefined — The MongoDB\BSON\Undefined class (deprecated)
    • MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)
    • MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON
    • MongoDB\BSON\Undefined::serialize — Serialize a Undefined
    • MongoDB\BSON\Undefined::__toString — Returns an empty string
    • MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined


İşlevleri

İçindekiler

  • MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
  • MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
  • MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value
  • MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value


Returns the BSON representation of a JSON value

  • « İşlevleri
  • MongoDB\BSON\fromPHP »
  • PHP Manual
  • İşlevleri
  • Returns the BSON representation of a JSON value

MongoDB\BSON\fromJSON

(mongodb >=1.0.0)

MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value

Açıklama

MongoDB\BSON\fromJSON(string $json): string

Converts an » extended JSON string to its BSON representation.

Bağımsız Değişkenler

json (string)

JSON value to be converted.

Dönen Değerler

The serialized BSON document as a binary string.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the JSON value cannot be converted to BSON (e.g. due to a syntax error).

Örnekler

Örnek 1 MongoDB\BSON\fromJSON() example

<?php

$json = '{ "_id": { "$oid": "563143b280d2387c91807965" } }';
$bson = MongoDB\BSON\fromJSON($json);
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#2 (1) {
  ["_id"]=>
  object(MongoDB\BSON\ObjectId)#1 (1) {
    ["oid"]=>
    string(24) "563143b280d2387c91807965"
  }
}

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\toJSON() - Returns the Legacy Extended JSON representation of a BSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON


Returns the BSON representation of a PHP value

  • « MongoDB\BSON\fromJSON
  • MongoDB\BSON\toCanonicalExtendedJSON »
  • PHP Manual
  • İşlevleri
  • Returns the BSON representation of a PHP value

MongoDB\BSON\fromPHP

(mongodb >=1.0.0)

MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value

Açıklama

MongoDB\BSON\fromPHP(array|object $value): string

Serializes a PHP array or object (e.g. document) to its » BSON representation. The returned binary string will describe a BSON document.

Bağımsız Değişkenler

value (array|object)

PHP value to be serialized.

Dönen Değerler

The serialized BSON document as a binary string.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the PHP value cannot be converted to BSON. Possible reasons include, but are not limited to, encountering an unexpected MongoDB\BSON\Type instance or MongoDB\BSON\Serializable::bsonSerialize() failing to return an array or stdClass.

Örnekler

Örnek 1 MongoDB\BSON\fromPHP() example

<?php

$bson = MongoDB\BSON\fromPHP(['foo' => 1]);
echo bin2hex($bson), "\n";

?>

Yukarıdaki örneğin çıktısı:

0e00000010666f6f000100000000cat

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromPHP() - Construct a new document instance from PHP data
  • MongoDB\BSON\toPHP() - Returns the PHP representation of a BSON value
  • » MongoDB BSON
  • Persisting Data


Returns the Canonical Extended JSON representation of a BSON value

  • « MongoDB\BSON\fromPHP
  • MongoDB\BSON\toJSON »
  • PHP Manual
  • İşlevleri
  • Returns the Canonical Extended JSON representation of a BSON value

MongoDB\BSON\toCanonicalExtendedJSON

(mongodb >=1.3.0)

MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value

Açıklama

MongoDB\BSON\toCanonicalExtendedJSON(string $bson): string

Converts a BSON string to its » Canonical Extended JSON representation. The canonical format prefers type fidelity at the expense of concise output and is most suited for producing output that can be converted back to BSON without any loss of type information (e.g. numeric types will remain differentiated).

Bağımsız Değişkenler

bson (string)

BSON value to be converted.

Dönen Değerler

The converted JSON value.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Örnekler

Örnek 1 MongoDB\BSON\toCanonicalExtendedJSON() example

<?php

$documents = [
[ 'null' => null ],
[ 'boolean' => true ],
[ 'string' => 'foo' ],
[ 'int32' => 123 ],
[ 'int64' => 4294967295 ],
[ 'double' => 1.0, ],
[ 'nan' => NAN ],
[ 'pos_inf' => INF ],
[ 'neg_inf' => -INF ],
[ 'array' => [ 'foo', 'bar' ]],
[ 'document' => [ 'foo' => 'bar' ]],
[ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[ 'minkey' => new MongoDB\BSON\MinKey ],
[ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
$bson = MongoDB\BSON\fromPHP($document);
echo MongoDB\BSON\toCanonicalExtendedJSON($bson), "\n";
}

?>

Yukarıdaki örneğin çıktısı:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : { "$numberInt" : "123" } }
{ "int64" : { "$numberLong" : "4294967295"} }
{ "double" : { "$numberDouble" : "1.0" } }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : { "$numberLong" : "1445990400000" } } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : { "$numberInt" : "1" } } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\Document::toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of the BSON document
  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » Extended JSON Specification
  • » MongoDB BSON


Returns the Legacy Extended JSON representation of a BSON value

  • « MongoDB\BSON\toCanonicalExtendedJSON
  • MongoDB\BSON\toPHP »
  • PHP Manual
  • İşlevleri
  • Returns the Legacy Extended JSON representation of a BSON value

MongoDB\BSON\toJSON

(mongodb >=1.0.0)

MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value

Açıklama

MongoDB\BSON\toJSON(string $bson): string

Converts a BSON string to its » Legacy Extended JSON representation.

Bilginize: There exist several JSON formats for representing BSON. This function implements the "strict mode" defined in » MongoDB Extended JSON, which has been superseded by the canonical and relaxed formats defined in the » Extended JSON Specification and implemented by MongoDB\BSON\toCanonicalExtendedJSON() and MongoDB\BSON\toRelaxedExtendedJSON(), respectively.

Uyarı

» JSON does not support NAN and INF and MongoDB's Legacy Extended JSON format does not define an alternative representation for these values (» libbson will output nan and inf literals, which may not be parsed as valid JSON). If you are working with BSON that may contain non-finite numbers, please use MongoDB\BSON\toCanonicalExtendedJSON() or MongoDB\BSON\toRelaxedExtendedJSON().

Bağımsız Değişkenler

bson (string)

BSON value to be converted.

Dönen Değerler

The converted JSON value.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Örnekler

Örnek 1 MongoDB\BSON\toJSON() example

<?php

$documents = [
[ 'null' => null ],
[ 'boolean' => true ],
[ 'string' => 'foo' ],
[ 'int32' => 123 ],
[ 'int64' => 4294967295 ],
[ 'double' => 1.0, ],
[ 'nan' => NAN ],
[ 'pos_inf' => INF ],
[ 'neg_inf' => -INF ],
[ 'array' => [ 'foo', 'bar' ]],
[ 'document' => [ 'foo' => 'bar' ]],
[ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[ 'minkey' => new MongoDB\BSON\MinKey ],
[ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
$bson = MongoDB\BSON\fromPHP($document);
echo MongoDB\BSON\toJSON($bson), "\n";
}

?>

Yukarıdaki örneğin çıktısı:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : nan }
{ "pos_inf" : inf }
{ "neg_inf" : -inf }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : "Zm9v", "$type" : "00" } }
{ "date" : { "$date" : 1445990400000 } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regex" : "pattern", "$options" : "i" } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Ayrıca Bakınız

  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON
  • » MongoDB BSON


Returns the PHP representation of a BSON value

  • « MongoDB\BSON\toJSON
  • MongoDB\BSON\toRelaxedExtendedJSON »
  • PHP Manual
  • İşlevleri
  • Returns the PHP representation of a BSON value

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value

Açıklama

MongoDB\BSON\toPHP(string $bson, array $typeMap = array()): array|object

Unserializes a BSON document (i.e. binary string) to its PHP representation. The typeMap paramater may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).

Uyarı

BSON documents can technically contain duplicate keys because documents are stored as a list of key-value pairs; however, applications should refrain from generating documents with duplicate keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

Bağımsız Değişkenler

bson (string)

BSON value to be unserialized.

typeMap (array)

Type map configuration.

Dönen Değerler

The unserialized PHP value.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.4.0 | If the input contains an unsupported, deprecated BSON type, the driver will now no longer log a warning to the debug log, but instead will create an object representing this type.
PECL mongodb 1.3.2 | MongoDB\Driver\Exception\UnexpectedValueException is no longer thrown if the input contains an unsupported, deprecated BSON type. Such types will be ignored (as they were in versions before 1.3.0), although the driver will now log a warning to the debug log (see: mongodb.debug).
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\UnexpectedValueException is thrown if the input contains an unsupported, deprecated BSON type. Previously, such types were ignored.

Örnekler

Örnek 1 MongoDB\BSON\toPHP() example

<?php

$bson = hex2bin('0e00000010666f6f000100000000');
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["foo"]=>
  int(1)
}

Ayrıca Bakınız

  • MongoDB\BSON\Document::toPHP() - Returns the PHP representation of the BSON document
  • MongoDB\BSON\fromPHP() - Returns the BSON representation of a PHP value
  • » MongoDB BSON
  • Persisting Data


Returns the Relaxed Extended JSON representation of a BSON value

  • « MongoDB\BSON\toPHP
  • MongoDB\BSON\Document »
  • PHP Manual
  • İşlevleri
  • Returns the Relaxed Extended JSON representation of a BSON value

MongoDB\BSON\toRelaxedExtendedJSON

(mongodb >=1.3.0)

MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value

Açıklama

MongoDB\BSON\toRelaxedExtendedJSON(string $bson): string

Converts a BSON string to its » Relaxed Extended JSON representation. The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for producing output that can be easily consumed by web APIs and humans.

Bağımsız Değişkenler

bson (string)

BSON value to be converted.

Dönen Değerler

The converted JSON value.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the input did not contain exactly one BSON document. Possible reasons include, but are not limited to, invalid BSON, extra data (after reading one BSON document), or an unexpected » libbson error.

Örnekler

Örnek 1 MongoDB\BSON\toRelaxedExtendedJSON() example

<?php

$documents = [
[ 'null' => null ],
[ 'boolean' => true ],
[ 'string' => 'foo' ],
[ 'int32' => 123 ],
[ 'int64' => 4294967295 ],
[ 'double' => 1.0, ],
[ 'nan' => NAN ],
[ 'pos_inf' => INF ],
[ 'neg_inf' => -INF ],
[ 'array' => [ 'foo', 'bar' ]],
[ 'document' => [ 'foo' => 'bar' ]],
[ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[ 'minkey' => new MongoDB\BSON\MinKey ],
[ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
$bson = MongoDB\BSON\fromPHP($document);
echo MongoDB\BSON\toRelaxedExtendedJSON($bson), "\n";
}

?>

Yukarıdaki örneğin çıktısı:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : "2015-10-28T00:00:00Z" } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\Document::toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of the BSON document
  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • » Extended JSON
  • » MongoDB BSON


The MongoDB\BSON\Document class

(mongodb >=1.16.0)

Giriş

Represents a BSON document. This class is used when reading data as raw BSON and cannot be modified.

Sınıf Sözdizimi

final class MongoDB\BSON\Document implements MongoDB\BSON\Type, IteratorAggregate, Serializable {
/* Yöntemler */
final private __construct()
final static public fromBSON(string $bson): MongoDB\BSON\Document
final static public fromJSON(string $json): MongoDB\BSON\Document
final static public fromPHP(object|array $value): MongoDB\BSON\Document
final public get(string $key): mixed
final public getIterator(): MongoDB\BSON\Iterator
final public has(string $key): bool
final public serialize(): string
final public toCanonicalExtendedJSON(): string
final public toPHP(?array $typeMap = null): array|object
final public toRelaxedExtendedJSON(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.17.0 | Implements MongoDB\BSON\Type.

İçindekiler

  • MongoDB\BSON\Document::__construct — Construct a new BSON document (unused)
  • MongoDB\BSON\Document::fromBSON — Construct a new document instance from a BSON string
  • MongoDB\BSON\Document::fromJSON — Construct a new document instance from a JSON string
  • MongoDB\BSON\Document::fromPHP — Construct a new document instance from PHP data
  • MongoDB\BSON\Document::get — Returns the value of a key in the document
  • MongoDB\BSON\Document::getIterator — Returns an iterator for the BSON document
  • MongoDB\BSON\Document::has — Returns whether a key is present in the document
  • MongoDB\BSON\Document::serialize — Serialize a Document
  • MongoDB\BSON\Document::toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of the BSON document
  • MongoDB\BSON\Document::toPHP — Returns the PHP representation of the BSON document
  • MongoDB\BSON\Document::toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of the BSON document
  • MongoDB\BSON\Document::__toString — Returns the string representation of this BSON Document
  • MongoDB\BSON\Document::unserialize — Unserialize a BSON document


Construct a new BSON document (unused)

  • « MongoDB\BSON\Document
  • MongoDB\BSON\Document::fromBSON »
  • PHP Manual
  • MongoDB\BSON\Document
  • Construct a new BSON document (unused)

MongoDB\BSON\Document::__construct

(mongodb >=1.16.0)

MongoDB\BSON\Document::__construct — Construct a new BSON document (unused)

Açıklama

final private MongoDB\BSON\Document::__construct()

MongoDB\BSON\Document objects are created through static factory methods and cannot be instantiated directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromPHP() - Construct a new document instance from PHP data
  • MongoDB\BSON\Document::fromBSON() - Construct a new document instance from a BSON string
  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • » BSON Types


Construct a new document instance from a BSON string

  • « MongoDB\BSON\Document::__construct
  • MongoDB\BSON\Document::fromJSON »
  • PHP Manual
  • MongoDB\BSON\Document
  • Construct a new document instance from a BSON string

MongoDB\BSON\Document::fromBSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::fromBSON — Construct a new document instance from a BSON string

Açıklama

final static public MongoDB\BSON\Document::fromBSON(string $bson): MongoDB\BSON\Document

Bağımsız Değişkenler

bson (string)

A string containing a document in BSON format.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if bson is an invalid BSON string or contains more than a single document.

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromPHP() - Construct a new document instance from PHP data
  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • » BSON Types


Construct a new document instance from a JSON string

  • « MongoDB\BSON\Document::fromBSON
  • MongoDB\BSON\Document::fromPHP »
  • PHP Manual
  • MongoDB\BSON\Document
  • Construct a new document instance from a JSON string

MongoDB\BSON\Document::fromJSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::fromJSON — Construct a new document instance from a JSON string

Açıklama

final static public MongoDB\BSON\Document::fromJSON(string $json): MongoDB\BSON\Document

Converts an » extended JSON string to its BSON representation.

Bağımsız Değişkenler

json (string)

JSON value to be converted.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if json is not a valid document.

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromPHP() - Construct a new document instance from PHP data
  • MongoDB\BSON\Document::fromBSON() - Construct a new document instance from a BSON string
  • MongoDB\BSON\fromJSON() - Returns the BSON representation of a JSON value
  • » MongoDB Extended JSON
  • » BSON Types


Construct a new document instance from PHP data

  • « MongoDB\BSON\Document::fromJSON
  • MongoDB\BSON\Document::get »
  • PHP Manual
  • MongoDB\BSON\Document
  • Construct a new document instance from PHP data

MongoDB\BSON\Document::fromPHP

(mongodb >=1.16.0)

MongoDB\BSON\Document::fromPHP — Construct a new document instance from PHP data

Açıklama

final static public MongoDB\BSON\Document::fromPHP(object|array $value): MongoDB\BSON\Document

Bağımsız Değişkenler

value (object|array)

A PHP object or array containing the document. When passing an array with numeric keys, the numeric values are converted to strings and used as document keys.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromBSON() - Construct a new document instance from a BSON string
  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\fromPHP() - Returns the BSON representation of a PHP value
  • » BSON Types


Returns the value of a key in the document

  • « MongoDB\BSON\Document::fromPHP
  • MongoDB\BSON\Document::getIterator »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns the value of a key in the document

MongoDB\BSON\Document::get

(mongodb >=1.16.0)

MongoDB\BSON\Document::get — Returns the value of a key in the document

Açıklama

final public MongoDB\BSON\Document::get(string $key): mixed

Bağımsız Değişkenler

key (string)

The key to retrieve from the document.

Dönen Değerler

Returns the value associated with the given key. If the key is not present in the document, an exception is thrown.

Bilginize: When encountering a value encoded as 64-bit integer in the BSON document, the return value of this method will be a MongoDB\BSON\Int64 instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the key is not present in the document.

Ayrıca Bakınız

  • MongoDB\BSON\Document::has() - Returns whether a key is present in the document
  • » BSON Types


Returns an iterator for the BSON document

  • « MongoDB\BSON\Document::get
  • MongoDB\BSON\Document::has »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns an iterator for the BSON document

MongoDB\BSON\Document::getIterator

(mongodb >=1.16.0)

MongoDB\BSON\Document::getIterator — Returns an iterator for the BSON document

Açıklama

final public MongoDB\BSON\Document::getIterator(): MongoDB\BSON\Iterator

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a MongoDB\BSON\Iterator instance that can be used to iterate over all keys in the document.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the BSON iterator could not be initialized.

Ayrıca Bakınız

  • » BSON Types


Returns whether a key is present in the document

  • « MongoDB\BSON\Document::getIterator
  • MongoDB\BSON\Document::serialize »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns whether a key is present in the document

MongoDB\BSON\Document::has

(mongodb >=1.16.0)

MongoDB\BSON\Document::has — Returns whether a key is present in the document

Açıklama

final public MongoDB\BSON\Document::has(string $key): bool

Bağımsız Değişkenler

key (string)

The key to look for in the document.

Dönen Değerler

Returns true if the key is present in the document and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Document::get() - Returns the value of a key in the document
  • » BSON Types


Serialize a Document

  • « MongoDB\BSON\Document::has
  • MongoDB\BSON\Document::toCanonicalExtendedJSON »
  • PHP Manual
  • MongoDB\BSON\Document
  • Serialize a Document

MongoDB\BSON\Document::serialize

(mongodb >=1.16.0)

MongoDB\BSON\Document::serialize — Serialize a Document

Açıklama

final public MongoDB\BSON\Document::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Document.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Document::unserialize() - Unserialize a BSON document
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the Canonical Extended JSON representation of the BSON document

  • « MongoDB\BSON\Document::serialize
  • MongoDB\BSON\Document::toPHP »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns the Canonical Extended JSON representation of the BSON document

MongoDB\BSON\Document::toCanonicalExtendedJSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of the BSON document

Açıklama

final public MongoDB\BSON\Document::toCanonicalExtendedJSON(): string

Converts the BSON document to its » Canonical Extended JSON representation. The canonical format prefers type fidelity at the expense of concise output and is most suited for producing output that can be converted back to BSON without any loss of type information (e.g. numeric types will remain differentiated).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 MongoDB\BSON\Document::toCanonicalExtendedJSON() example

<?php

$documents = [
[ 'null' => null ],
[ 'boolean' => true ],
[ 'string' => 'foo' ],
[ 'int32' => 123 ],
[ 'int64' => 4294967295 ],
[ 'double' => 1.0, ],
[ 'nan' => NAN ],
[ 'pos_inf' => INF ],
[ 'neg_inf' => -INF ],
[ 'array' => [ 'foo', 'bar' ]],
[ 'document' => [ 'foo' => 'bar' ]],
[ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[ 'minkey' => new MongoDB\BSON\MinKey ],
[ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
$bson = MongoDB\BSON\Document::fromPHP($document);
echo $bson->toCanonicalExtendedJSON(), "\n";
}

?>

Yukarıdaki örneğin çıktısı:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : { "$numberInt" : "123" } }
{ "int64" : { "$numberLong" : "4294967295"} }
{ "double" : { "$numberDouble" : "1.0" } }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : { "$numberLong" : "1445990400000" } } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : { "$numberInt" : "1" } } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\Document::toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of the BSON document
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • » Extended JSON Specification
  • » BSON Types


Returns the PHP representation of the BSON document

  • « MongoDB\BSON\Document::toCanonicalExtendedJSON
  • MongoDB\BSON\Document::toRelaxedExtendedJSON »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns the PHP representation of the BSON document

MongoDB\BSON\Document::toPHP

(mongodb >=1.16.0)

MongoDB\BSON\Document::toPHP — Returns the PHP representation of the BSON document

Açıklama

final public MongoDB\BSON\Document::toPHP(?array $typeMap = null): array|object

Unserializes the BSON document to its PHP representation. The typeMap paramater may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).

Uyarı

BSON documents can technically contain duplicate keys because documents are stored as a list of key-value pairs; however, applications should refrain from generating documents with duplicate keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

Bağımsız Değişkenler

typeMap (array)

Type map configuration.

Dönen Değerler

The decoded PHP value.

Bilginize: When encountering a value encoded as 64-bit integer in the BSON document, the return value of this method will be a MongoDB\BSON\Int64 instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.

Ayrıca Bakınız

  • MongoDB\BSON\toPHP() - Returns the PHP representation of a BSON value
  • » BSON Types


Returns the Relaxed Extended JSON representation of the BSON document

  • « MongoDB\BSON\Document::toPHP
  • MongoDB\BSON\Document::__toString »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns the Relaxed Extended JSON representation of the BSON document

MongoDB\BSON\Document::toRelaxedExtendedJSON

(mongodb >=1.16.0)

MongoDB\BSON\Document::toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of the BSON document

Açıklama

final public MongoDB\BSON\Document::toRelaxedExtendedJSON(): string

Converts the BSON document to its » Relaxed Extended JSON representation. The relaxed format prefers use of JSON type primitives at the expense of type fidelity and is most suited for producing output that can be easily consumed by web APIs and humans.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 MongoDB\BSON\Document::toRelaxedExtendedJSON() example

<?php

$documents = [
[ 'null' => null ],
[ 'boolean' => true ],
[ 'string' => 'foo' ],
[ 'int32' => 123 ],
[ 'int64' => 4294967295 ],
[ 'double' => 1.0, ],
[ 'nan' => NAN ],
[ 'pos_inf' => INF ],
[ 'neg_inf' => -INF ],
[ 'array' => [ 'foo', 'bar' ]],
[ 'document' => [ 'foo' => 'bar' ]],
[ 'oid' => new MongoDB\BSON\ObjectId('56315a7c6118fd1b920270b1') ],
[ 'dec128' => new MongoDB\BSON\Decimal128('1234.5678') ],
[ 'binary' => new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC) ],
[ 'date' => new MongoDB\BSON\UTCDateTime(1445990400000) ],
[ 'timestamp' => new MongoDB\BSON\Timestamp(1234, 5678) ],
[ 'regex' => new MongoDB\BSON\Regex('pattern', 'i') ],
[ 'code' => new MongoDB\BSON\Javascript('function() { return 1; }') ],
[ 'code_ws' => new MongoDB\BSON\Javascript('function() { return a; }', ['a' => 1]) ],
[ 'minkey' => new MongoDB\BSON\MinKey ],
[ 'maxkey' => new MongoDB\BSON\MaxKey ],
];

foreach ($documents as $document) {
$bson = MongoDB\BSON\Document::fromPHP($document);
echo $bson->toRelaxedExtendedJSON(), "\n";
}

?>

Yukarıdaki örneğin çıktısı:

{ "null" : null }
{ "boolean" : true }
{ "string" : "foo" }
{ "int32" : 123 }
{ "int64" : 4294967295 }
{ "double" : 1.0 }
{ "nan" : { "$numberDouble" : "NaN" } }
{ "pos_inf" : { "$numberDouble" : "Infinity" } }
{ "neg_inf" : { "$numberDouble" : "-Infinity" } }
{ "array" : [ "foo", "bar" ] }
{ "document" : { "foo" : "bar" } }
{ "oid" : { "$oid" : "56315a7c6118fd1b920270b1" } }
{ "dec128" : { "$numberDecimal" : "1234.5678" } }
{ "binary" : { "$binary" : { "base64": "Zm9v", "subType" : "00" } } }
{ "date" : { "$date" : "2015-10-28T00:00:00Z" } }
{ "timestamp" : { "$timestamp" : { "t" : 5678, "i" : 1234 } } }
{ "regex" : { "$regularExpression" : { "pattern" : "pattern", "options" : "i" } } }
{ "code" : { "$code" : "function() { return 1; }" } }
{ "code_ws" : { "$code" : "function() { return a; }", "$scope" : { "a" : 1 } } }
{ "minkey" : { "$minKey" : 1 } }
{ "maxkey" : { "$maxKey" : 1 } }

Ayrıca Bakınız

  • MongoDB\BSON\Document::fromJSON() - Construct a new document instance from a JSON string
  • MongoDB\BSON\Document::toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of the BSON document
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » Extended JSON Specification
  • » BSON Types


Returns the string representation of this BSON Document

  • « MongoDB\BSON\Document::toRelaxedExtendedJSON
  • MongoDB\BSON\Document::unserialize »
  • PHP Manual
  • MongoDB\BSON\Document
  • Returns the string representation of this BSON Document

MongoDB\BSON\Document::__toString

(mongodb >=1.16.0)

MongoDB\BSON\Document::__toString — Returns the string representation of this BSON Document

Açıklama

final public MongoDB\BSON\Document::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this document as BSON.

Ayrıca Bakınız

  • » BSON Types


Unserialize a BSON document

  • « MongoDB\BSON\Document::__toString
  • MongoDB\BSON\PackedArray »
  • PHP Manual
  • MongoDB\BSON\Document
  • Unserialize a BSON document

MongoDB\BSON\Document::unserialize

(mongodb >=1.16.0)

MongoDB\BSON\Document::unserialize — Unserialize a BSON document

Açıklama

final public MongoDB\BSON\Document::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Document.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. data was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Document::serialize() - Serialize a Document
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\PackedArray class

(mongodb >=1.16.0)

Giriş

Represents a BSON array. This class is used when reading data as raw BSON and cannot be modified.

Sınıf Sözdizimi

final class MongoDB\BSON\PackedArray implements MongoDB\BSON\Type, IteratorAggregate, Serializable {
/* Yöntemler */
final private __construct()
final static public fromPHP(array $value): MongoDB\BSON\PackedArray
final public get(int $key): mixed
final public getIterator(): MongoDB\BSON\Iterator
final public has(int $index): bool
final public serialize(): string
final public toPHP(?array $typeMap = null): array|object
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.17.0 | Implements MongoDB\BSON\Type.
PECL mongodb 1.17.0 | MongoDB\BSON\PackedArray cannot be serialized in contexts where a BSON document is expected. In earlier versions, the BSON array would have been converted to a document.

İçindekiler

  • MongoDB\BSON\PackedArray::__construct — Construct a new BSON array (unused)
  • MongoDB\BSON\PackedArray::fromPHP — Construct a new BSON array instance from PHP data
  • MongoDB\BSON\PackedArray::get — Returns the value of an index in the array
  • MongoDB\BSON\PackedArray::getIterator — Returns an iterator for the BSON array
  • MongoDB\BSON\PackedArray::has — Returns whether a index is present in the array
  • MongoDB\BSON\PackedArray::serialize — Serialize a BSON array
  • MongoDB\BSON\PackedArray::toPHP — Returns the PHP representation of the BSON array
  • MongoDB\BSON\PackedArray::__toString — Returns the string representation of this BSON array
  • MongoDB\BSON\PackedArray::unserialize — Unserialize a BSON array


Construct a new BSON array (unused)

  • « MongoDB\BSON\PackedArray
  • MongoDB\BSON\PackedArray::fromPHP »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Construct a new BSON array (unused)

MongoDB\BSON\PackedArray::__construct

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::__construct — Construct a new BSON array (unused)

Açıklama

final private MongoDB\BSON\PackedArray::__construct()

MongoDB\BSON\PackedArray objects are created through static factory methods and cannot be instantiated directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\BSON\PackedArray::fromPHP() - Construct a new BSON array instance from PHP data
  • » BSON Types


Construct a new BSON array instance from PHP data

  • « MongoDB\BSON\PackedArray::__construct
  • MongoDB\BSON\PackedArray::get »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Construct a new BSON array instance from PHP data

MongoDB\BSON\PackedArray::fromPHP

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::fromPHP — Construct a new BSON array instance from PHP data

Açıklama

final static public MongoDB\BSON\PackedArray::fromPHP(array $value): MongoDB\BSON\PackedArray

Bağımsız Değişkenler

value (array)

The PHP array to convert to a BSON array. The array must be a list (i.e. have sequential numeric keys starting with 0).

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the given array is not a list (i.e. has sequential numeric keys starting with 0).

Ayrıca Bakınız

  • MongoDB\BSON\fromPHP() - Returns the BSON representation of a PHP value
  • » BSON Types


Returns the value of an index in the array

  • « MongoDB\BSON\PackedArray::fromPHP
  • MongoDB\BSON\PackedArray::getIterator »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Returns the value of an index in the array

MongoDB\BSON\PackedArray::get

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::get — Returns the value of an index in the array

Açıklama

final public MongoDB\BSON\PackedArray::get(int $key): mixed

Bağımsız Değişkenler

key (int)

The index to retrieve from the array.

Dönen Değerler

Returns the value associated with the given index. If the index is not present in the document, an exception is thrown.

Bilginize: When encountering a value encoded as 64-bit integer in the BSON array, the return value of this method will be a MongoDB\BSON\Int64 instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\RuntimeException if the index is not present in the array.

Ayrıca Bakınız

  • MongoDB\BSON\PackedArray::has() - Returns whether a index is present in the array
  • » BSON Types


Returns an iterator for the BSON array

  • « MongoDB\BSON\PackedArray::get
  • MongoDB\BSON\PackedArray::has »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Returns an iterator for the BSON array

MongoDB\BSON\PackedArray::getIterator

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::getIterator — Returns an iterator for the BSON array

Açıklama

final public MongoDB\BSON\PackedArray::getIterator(): MongoDB\BSON\Iterator

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a MongoDB\BSON\Iterator instance that can be used to iterate over all indexes in the array.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the BSON iterator could not be initialized.

Ayrıca Bakınız

  • » BSON Types


Returns whether a index is present in the array

  • « MongoDB\BSON\PackedArray::getIterator
  • MongoDB\BSON\PackedArray::serialize »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Returns whether a index is present in the array

MongoDB\BSON\PackedArray::has

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::has — Returns whether a index is present in the array

Açıklama

final public MongoDB\BSON\PackedArray::has(int $index): bool

Bağımsız Değişkenler

index (int)

The index to look for in the array.

Dönen Değerler

Returns true if the index is present in the array and false otherwise.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\PackedArray::get() - Returns the value of an index in the array
  • » BSON Types


Serialize a BSON array

  • « MongoDB\BSON\PackedArray::has
  • MongoDB\BSON\PackedArray::toPHP »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Serialize a BSON array

MongoDB\BSON\PackedArray::serialize

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::serialize — Serialize a BSON array

Açıklama

final public MongoDB\BSON\PackedArray::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\PackedArray.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\PackedArray::unserialize() - Unserialize a BSON array
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the PHP representation of the BSON array

  • « MongoDB\BSON\PackedArray::serialize
  • MongoDB\BSON\PackedArray::__toString »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Returns the PHP representation of the BSON array

MongoDB\BSON\PackedArray::toPHP

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::toPHP — Returns the PHP representation of the BSON array

Açıklama

final public MongoDB\BSON\PackedArray::toPHP(?array $typeMap = null): array|object

Bağımsız Değişkenler

typeMap (array)

Type map configuration.

Dönen Değerler

The decoded PHP value.

Bilginize: When encountering a value encoded as 64-bit integer in the BSON array, the return value of this method will be a MongoDB\BSON\Int64 instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException if a class in the type map cannot be instantiated or does not implement MongoDB\BSON\Unserializable.

Ayrıca Bakınız

  • MongoDB\BSON\toPHP() - Returns the PHP representation of a BSON value
  • » BSON Types


Returns the string representation of this BSON array

  • « MongoDB\BSON\PackedArray::toPHP
  • MongoDB\BSON\PackedArray::unserialize »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Returns the string representation of this BSON array

MongoDB\BSON\PackedArray::__toString

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::__toString — Returns the string representation of this BSON array

Açıklama

final public MongoDB\BSON\PackedArray::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this array as BSON.

Ayrıca Bakınız

  • » BSON Types


Unserialize a BSON array

  • « MongoDB\BSON\PackedArray::__toString
  • MongoDB\BSON\Iterator »
  • PHP Manual
  • MongoDB\BSON\PackedArray
  • Unserialize a BSON array

MongoDB\BSON\PackedArray::unserialize

(mongodb >=1.16.0)

MongoDB\BSON\PackedArray::unserialize — Unserialize a BSON array

Açıklama

final public MongoDB\BSON\PackedArray::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\PackedArray.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. data was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\PackedArray::serialize() - Serialize a BSON array
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Iterator class

(mongodb >=1.16.0)

Giriş

Iterator used to iterate a BSON document or array.

Sınıf Sözdizimi

final class MongoDB\BSON\Iterator implements Iterator {
/* Yöntemler */
final private __construct()
public current(): mixed
public key(): string|int
public next(): void
public rewind(): void
public valid(): bool
}

İçindekiler

  • MongoDB\BSON\Iterator::__construct — Construct a new BSON iterator (unused)
  • MongoDB\BSON\Iterator::current — Returns the current element
  • MongoDB\BSON\Iterator::key — Returns the key of the current element
  • MongoDB\BSON\Iterator::next — Advances the iterator to next element
  • MongoDB\BSON\Iterator::rewind — Rewinds the Iterator to the first element
  • MongoDB\BSON\Iterator::valid — Checks if current position is valid


Construct a new BSON iterator (unused)

  • « MongoDB\BSON\Iterator
  • MongoDB\BSON\Iterator::current »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Construct a new BSON iterator (unused)

MongoDB\BSON\Iterator::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

MongoDB\BSON\Iterator::__construct — Construct a new BSON iterator (unused)

Açıklama

final private MongoDB\BSON\Iterator::__construct()

MongoDB\BSON\Iterator objects are created by calling MongoDB\BSON\Document::getIterator() or MongoDB\BSON\PackedArray::getIterator() and cannot be instantiated directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • MongoDB\BSON\Document::getIterator() - Returns an iterator for the BSON document
  • MongoDB\BSON\PackedArray::getIterator() - Returns an iterator for the BSON array
  • » BSON Types


Returns the current element

  • « MongoDB\BSON\Iterator::__construct
  • MongoDB\BSON\Iterator::key »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Returns the current element

MongoDB\BSON\Iterator::current

(mongodb >=1.16.0)

MongoDB\BSON\Iterator::current — Returns the current element

Açıklama

public MongoDB\BSON\Iterator::current(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the value of the current element.

Bilginize: When encountering a value encoded as 64-bit integer in the BSON structure, the return value of this method will be a MongoDB\BSON\Int64 instance.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\LogicException if the iterator is not valid.

Ayrıca Bakınız

  • Iterator::current() - O anki elemanı döndürür


Returns the key of the current element

  • « MongoDB\BSON\Iterator::current
  • MongoDB\BSON\Iterator::next »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Returns the key of the current element

MongoDB\BSON\Iterator::key

(mongodb >=1.16.0)

MongoDB\BSON\Iterator::key — Returns the key of the current element

Açıklama

public MongoDB\BSON\Iterator::key(): string|int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the key of the current element. When iterating a BSON document, the key will always be a string. When iterating a BSON array, the key will be an int.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\LogicException if the iterator is not valid.

Ayrıca Bakınız

  • Iterator::key() - O anki elemanın anahtarını döndürür


Advances the iterator to next element

  • « MongoDB\BSON\Iterator::key
  • MongoDB\BSON\Iterator::rewind »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Advances the iterator to next element

MongoDB\BSON\Iterator::next

(mongodb >=1.16.0)

MongoDB\BSON\Iterator::next — Advances the iterator to next element

Açıklama

public MongoDB\BSON\Iterator::next(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • Iterator::next() - Konumu sonraki elemana ilerletir


Rewinds the Iterator to the first element

  • « MongoDB\BSON\Iterator::next
  • MongoDB\BSON\Iterator::valid »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Rewinds the Iterator to the first element

MongoDB\BSON\Iterator::rewind

(mongodb >=1.16.0)

MongoDB\BSON\Iterator::rewind — Rewinds the Iterator to the first element

Açıklama

public MongoDB\BSON\Iterator::rewind(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • Iterator::rewind() - Yineleyiciyi ilk elemana konumlandırır


Checks if current position is valid

  • « MongoDB\BSON\Iterator::rewind
  • MongoDB\BSON\Binary »
  • PHP Manual
  • MongoDB\BSON\Iterator
  • Checks if current position is valid

MongoDB\BSON\Iterator::valid

(mongodb >=1.16.0)

MongoDB\BSON\Iterator::valid — Checks if current position is valid

Açıklama

public MongoDB\BSON\Iterator::valid(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current iterator position is valid, false otherwise.

Ayrıca Bakınız

  • Iterator::valid() - O anki konum geçerli mi diye bakar


The MongoDB\BSON\Binary class

(mongodb >=1.0.0)

Giriş

BSON type for binary data (i.e. array of bytes). Binary values also have a subtype, which is used to indicate what kind of data is in the byte array. Subtypes from zero to 127 are predefined or reserved. Subtypes from 128-255 are user-defined.

Sınıf Sözdizimi

final class MongoDB\BSON\Binary implements MongoDB\BSON\BinaryInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Sabitler */
const int TYPE_GENERIC = 0;
const int TYPE_FUNCTION = 1;
const int TYPE_OLD_BINARY = 2;
const int TYPE_OLD_UUID = 3;
const int TYPE_UUID = 4;
const int TYPE_MD5 = 5;
const int TYPE_ENCRYPTED = 6;
const int TYPE_COLUMN = 7;
const int TYPE_SENSITIVE = 8;
const int TYPE_USER_DEFINED = 128;
/* Yöntemler */
final public __construct(string $data, int $type = MongoDB\BSON\Binary::TYPE_GENERIC)
final public getData(): string
final public getType(): int
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Öntanımlı Sabitler

MongoDB\BSON\Binary::TYPE_GENERIC

Generic binary data.

MongoDB\BSON\Binary::TYPE_FUNCTION

Function.

MongoDB\BSON\Binary::TYPE_OLD_BINARY

Generic binary data (deprecated in favor of MongoDB\BSON\Binary::TYPE_GENERIC).

MongoDB\BSON\Binary::TYPE_OLD_UUID

Universally unique identifier (deprecated in favor of MongoDB\BSON\Binary::TYPE_UUID). When using this type, the Binary's data should be 16 bytes in length.

Historically, other drivers encoded values with this type based on their language conventions (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling for encoding or decoding data with this type.

MongoDB\BSON\Binary::TYPE_UUID

Universally unique identifier. When using this type, the Binary's data should be 16 bytes in length and encoded according to » RFC 4122.

MongoDB\BSON\Binary::TYPE_MD5

MD5 hash. When using this type, the Binary's data should be 16 bytes in length.

MongoDB\BSON\Binary::TYPE_ENCRYPTED

Encrypted value. This subtype is used for client-side encryption.

MongoDB\BSON\Binary::TYPE_COLUMN

Column data. This subtype is used for time-series collections.

MongoDB\BSON\Binary::TYPE_SENSITIVE

Sensitive data. This subtype is used for sensitive data that should be excluded from server-side logging when possible.

MongoDB\BSON\Binary::TYPE_USER_DEFINED

User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and 255 are user-defined and may be used for anything.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.17.0 | Added MongoDB\BSON\Binary::TYPE_SENSITIVE.
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+. Added MongoDB\BSON\Binary::TYPE_COLUMN.
PECL mongodb 1.7.0 | Added MongoDB\BSON\Binary::TYPE_ENCRYPTED.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\BinaryInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\Binary::__construct — Construct a new Binary
  • MongoDB\BSON\Binary::getData — Returns the Binary's data
  • MongoDB\BSON\Binary::getType — Returns the Binary's type
  • MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Binary::serialize — Serialize a Binary
  • MongoDB\BSON\Binary::__toString — Returns the Binary's data
  • MongoDB\BSON\Binary::unserialize — Unserialize a Binary


Construct a new Binary

  • « MongoDB\BSON\Binary
  • MongoDB\BSON\Binary::getData »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Construct a new Binary

MongoDB\BSON\Binary::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Binary::__construct — Construct a new Binary

Açıklama

final public MongoDB\BSON\Binary::__construct(string $data, int $type = MongoDB\BSON\Binary::TYPE_GENERIC)

Bağımsız Değişkenler

data (string)

Binary data.

type (int)

Unsigned 8-bit integer denoting the data's type. Defaults to MongoDB\BSON\Binary::TYPE_GENERIC if not specified.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if type is not an unsigned 8-bit integer.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if type is MongoDB\BSON\Binary::TYPE_UUID or MongoDB\BSON\Binary::TYPE_OLD_UUID and data is not exactly 16 bytes in length.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | The type parameter defaults to MongoDB\BSON\Binary::TYPE_GENERIC if not specified.
PECL mongodb 1.3.0 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if type is MongoDB\BSON\Binary::TYPE_UUID or MongoDB\BSON\Binary::TYPE_OLD_UUID and data is not exactly 16 bytes in length.
PECL mongodb 1.1.3 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if type is not an unsigned 8-bit integer.

Örnekler

Örnek 1 MongoDB\BSON\Binary::__construct() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary);

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\Binary)#1 (2) {
  ["data"]=>
  string(3) "foo"
  ["type"]=>
  int(0)
}

Ayrıca Bakınız

  • » BSON Types


Returns the Binary's data

  • « MongoDB\BSON\Binary::__construct
  • MongoDB\BSON\Binary::getType »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's data

MongoDB\BSON\Binary::getData

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getData — Returns the Binary's data

Açıklama

final public MongoDB\BSON\Binary::getData(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Binary's data.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Binary::getData() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getData());

?>

Yukarıdaki örneğin çıktısı:

string(3) "foo"

Ayrıca Bakınız

  • » BSON Types


Returns the Binary's type

  • « MongoDB\BSON\Binary::getData
  • MongoDB\BSON\Binary::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's type

MongoDB\BSON\Binary::getType

(mongodb >=1.0.0)

MongoDB\BSON\Binary::getType — Returns the Binary's type

Açıklama

final public MongoDB\BSON\Binary::getType(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Binary's type.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Binary::getType() example

<?php

$binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
var_dump($binary->getType());

?>

Yukarıdaki örneğin çıktısı:

int(0)

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Binary::getType
  • MongoDB\BSON\Binary::serialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Binary::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Binary::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Binary.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Binary

  • « MongoDB\BSON\Binary::jsonSerialize
  • MongoDB\BSON\Binary::__toString »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Serialize a Binary

MongoDB\BSON\Binary::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::serialize — Serialize a Binary

Açıklama

final public MongoDB\BSON\Binary::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Binary.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Binary::unserialize() - Unserialize a Binary
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the Binary's data

  • « MongoDB\BSON\Binary::serialize
  • MongoDB\BSON\Binary::unserialize »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Returns the Binary's data

MongoDB\BSON\Binary::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Binary::__toString — Returns the Binary's data

Açıklama

final public MongoDB\BSON\Binary::__toString(): string

Bu yöntem şu yöntemin takma adıdır: MongoDB\BSON\Binary::getData().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Binary's data.

Örnekler

Örnek 1 MongoDB\BSON\Binary::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC));

?>

Yukarıdaki örneğin çıktısı:

string(3) "foo"

Ayrıca Bakınız

  • MongoDB\BSON\Binary::getData() - Returns the Binary's data
  • » BSON Types


Unserialize a Binary

  • « MongoDB\BSON\Binary::__toString
  • MongoDB\BSON\Decimal128 »
  • PHP Manual
  • MongoDB\BSON\Binary
  • Unserialize a Binary

MongoDB\BSON\Binary::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Binary::unserialize — Unserialize a Binary

Açıklama

final public MongoDB\BSON\Binary::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Binary.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Binary::serialize() - Serialize a Binary
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Decimal128 class

(mongodb >=1.2.0)

Giriş

BSON type for the » Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of -6143 to +6144.

Unlike the double BSON type (i.e. float in PHP), which only stores an approximation of the decimal values, the decimal data type stores the exact value. For example, MongoDB\BSON\Decimal128('9.99') has a precise value of 9.99 where as a double 9.99 would have an approximate value of 9.9900000000000002131628....

Bilginize: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Sınıf Sözdizimi

final class MongoDB\BSON\Decimal128 implements MongoDB\BSON\Decimal128Interface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(string $value)
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\Decimal128Interface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
  • MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
  • MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
  • MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128


Construct a new Decimal128

  • « MongoDB\BSON\Decimal128
  • MongoDB\BSON\Decimal128::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Construct a new Decimal128

MongoDB\BSON\Decimal128::__construct

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128

Açıklama

final public MongoDB\BSON\Decimal128::__construct(string $value)

Bilginize: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Bağımsız Değişkenler

value (string)

A decimal string.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if value is not a valid decimal string.

Örnekler

Örnek 1 MongoDB\BSON\Decimal128::__construct() example

<?php

var_dump(new MongoDB\BSON\Decimal128(1234.5678));
var_dump(new MongoDB\BSON\Decimal128(NAN));
var_dump(new MongoDB\BSON\Decimal128(INF));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(9) "1234.5678"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(3) "NaN"
}
object(MongoDB\BSON\Decimal128)#1 (1) {
  ["dec"]=>
  string(8) "Infinity"
}

Ayrıca Bakınız

  • » Decimal128 floating-point format
  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Decimal128::__construct
  • MongoDB\BSON\Decimal128::serialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Decimal128::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Decimal128::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Decimal128.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Decimal128

  • « MongoDB\BSON\Decimal128::jsonSerialize
  • MongoDB\BSON\Decimal128::__toString »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Serialize a Decimal128

MongoDB\BSON\Decimal128::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128

Açıklama

final public MongoDB\BSON\Decimal128::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Decimal128.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Decimal128::unserialize() - Unserialize a Decimal128
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the string representation of this Decimal128

  • « MongoDB\BSON\Decimal128::serialize
  • MongoDB\BSON\Decimal128::unserialize »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Returns the string representation of this Decimal128

MongoDB\BSON\Decimal128::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128

Açıklama

final public MongoDB\BSON\Decimal128::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Decimal128.

Örnekler

Örnek 1 MongoDB\BSON\Decimal128::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Decimal128(1234.5678));
var_dump((string) new MongoDB\BSON\Decimal128(NAN));
var_dump((string) new MongoDB\BSON\Decimal128(INF));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(9) "1234.5678"
string(3) "NaN"
string(8) "Infinity"

Ayrıca Bakınız

  • » Decimal128 floating-point format
  • » BSON Types


Unserialize a Decimal128

  • « MongoDB\BSON\Decimal128::__toString
  • MongoDB\BSON\Javascript »
  • PHP Manual
  • MongoDB\BSON\Decimal128
  • Unserialize a Decimal128

MongoDB\BSON\Decimal128::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128

Açıklama

final public MongoDB\BSON\Decimal128::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Decimal128.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Decimal128::serialize() - Serialize a Decimal128
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Javascript class

(mongodb >=1.0.0)

Giriş

BSON type for Javascript code. An optional scope document may be specified that maps identifiers to values and defines the scope in which the code should be evaluated by the server.

Bilginize: This BSON type is mainly used when executing database commands that take a Javascript function as a parameter, such as » mapReduce.

Sınıf Sözdizimi

final class MongoDB\BSON\Javascript implements MongoDB\BSON\JavascriptInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(string $code, array|object|null $scope = null)
final public getCode(): string
final public getScope(): ?object
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\JavascriptInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\Javascript::__construct — Construct a new Javascript
  • MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
  • MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
  • MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Javascript::serialize — Serialize a Javascript
  • MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
  • MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript


Construct a new Javascript

  • « MongoDB\BSON\Javascript
  • MongoDB\BSON\Javascript::getCode »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Construct a new Javascript

MongoDB\BSON\Javascript::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Javascript::__construct — Construct a new Javascript

Açıklama

final public MongoDB\BSON\Javascript::__construct(string $code, array|object|null $scope = null)

Bağımsız Değişkenler

code (string)

Javascript code.

scope (array|object)

Javascript scope.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if code contains null bytes.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.2.0 | MongoDB\Driver\Exception\InvalidArgumentException is thrown if code contains null bytes. Previously, values would be truncated at the first null byte.

Örnekler

Örnek 1 MongoDB\BSON\Javascript::__construct() example

<?php

$code = new MongoDB\BSON\Javascript('function() { return 1; }');
var_dump($code);

$codews = new MongoDB\BSON\Javascript('function() { return foo; }', ['foo' => 'bar']);
var_dump($codews);

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\Javascript)#1 (2) {
  ["javascript"]=>
  string(24) "function() { return 1; }"
  ["scope"]=>
  object(stdClass)#2 (0) {
  }
}
object(MongoDB\BSON\Javascript)#2 (2) {
  ["javascript"]=>
  string(26) "function() { return foo; }"
  ["scope"]=>
  object(stdClass)#1 (1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Ayrıca Bakınız

  • » BSON Types


Returns the Javascript's code

  • « MongoDB\BSON\Javascript::__construct
  • MongoDB\BSON\Javascript::getScope »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's code

MongoDB\BSON\Javascript::getCode

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getCode — Returns the Javascript's code

Açıklama

final public MongoDB\BSON\Javascript::getCode(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Javascript's code.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Javascript::getCode() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getCode());

?>

Yukarıdaki örneğin çıktısı:

string(33) "function foo(bar) { return bar; }"

Ayrıca Bakınız

  • » BSON Types


Returns the Javascript's scope document

  • « MongoDB\BSON\Javascript::getCode
  • MongoDB\BSON\Javascript::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's scope document

MongoDB\BSON\Javascript::getScope

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document

Açıklama

final public MongoDB\BSON\Javascript::getScope(): ?object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Javascript's scope document, or null if the is no scope.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Javascript::getScope() example

<?php

$js = new MongoDB\BSON\Javascript('function foo(bar) { return bar; }');
var_dump($js->getScope());

$js = new MongoDB\BSON\Javascript('function foo() { return foo; }', ['foo' => 42]);
var_dump($js->getScope());

?>

Yukarıdaki örneğin çıktısı:

NULL
object(stdClass)#1 (1) {
  ["foo"]=>
  int(42)
}

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Javascript::getScope
  • MongoDB\BSON\Javascript::serialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Javascript::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Javascript::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Javascript.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Javascript

  • « MongoDB\BSON\Javascript::jsonSerialize
  • MongoDB\BSON\Javascript::__toString »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Serialize a Javascript

MongoDB\BSON\Javascript::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::serialize — Serialize a Javascript

Açıklama

final public MongoDB\BSON\Javascript::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Javascript.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Javascript::unserialize() - Unserialize a Javascript
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the Javascript's code

  • « MongoDB\BSON\Javascript::serialize
  • MongoDB\BSON\Javascript::unserialize »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Returns the Javascript's code

MongoDB\BSON\Javascript::__toString

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::__toString — Returns the Javascript's code

Açıklama

final public MongoDB\BSON\Javascript::__toString(): string

Bu yöntem şu yöntemin takma adıdır: MongoDB\BSON\Javascript::getCode().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Javascript's code.

Örnekler

Örnek 1 MongoDB\BSON\Javascript::__toString() example

<?php

var_dump((string) new MongoDB\BSON\Javascript('function foo(bar) { return bar; }'));

?>

Yukarıdaki örneğin çıktısı:

string(33) "function foo(bar) { return bar; }"

Ayrıca Bakınız

  • MongoDB\BSON\Javascript::getCode() - Returns the Javascript's code
  • » BSON Types


Unserialize a Javascript

  • « MongoDB\BSON\Javascript::__toString
  • MongoDB\BSON\MaxKey »
  • PHP Manual
  • MongoDB\BSON\Javascript
  • Unserialize a Javascript

MongoDB\BSON\Javascript::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript

Açıklama

final public MongoDB\BSON\Javascript::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Javascript.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Javascript::serialize() - Serialize a Javascript
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\MaxKey class

(mongodb >=1.0.0)

Giriş

Special BSON type which compares higher than all other possible BSON element values.

Bilginize: This is an internal MongoDB type used for indexing and sharding.

Sınıf Sözdizimi

final class MongoDB\BSON\MaxKey implements MongoDB\BSON\MaxKeyInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
/* Yöntemler */
final public __construct()
final public jsonSerialize(): mixed
final public serialize(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.3.0 | Implements MongoDB\BSON\MaxKeyInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
  • MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
  • MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey


Construct a new MaxKey

  • « MongoDB\BSON\MaxKey
  • MongoDB\BSON\MaxKey::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Construct a new MaxKey

MongoDB\BSON\MaxKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey

Açıklama

final public MongoDB\BSON\MaxKey::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\MaxKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MaxKey());

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\MaxKey)#1 (0) {
}

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\MaxKey::__construct
  • MongoDB\BSON\MaxKey::serialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Returns a representation that can be converted to JSON

MongoDB\BSON\MaxKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\MaxKey::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\MaxKey.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a MaxKey

  • « MongoDB\BSON\MaxKey::jsonSerialize
  • MongoDB\BSON\MaxKey::unserialize »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Serialize a MaxKey

MongoDB\BSON\MaxKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey

Açıklama

final public MongoDB\BSON\MaxKey::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\MaxKey.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\MaxKey::unserialize() - Unserialize a MaxKey
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a MaxKey

  • « MongoDB\BSON\MaxKey::serialize
  • MongoDB\BSON\MinKey »
  • PHP Manual
  • MongoDB\BSON\MaxKey
  • Unserialize a MaxKey

MongoDB\BSON\MaxKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey

Açıklama

final public MongoDB\BSON\MaxKey::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\MaxKey.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\MaxKey::serialize() - Serialize a MaxKey
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\MinKey class

(mongodb >=1.0.0)

Giriş

Special BSON type which compares lower than all other possible BSON element values.

Bilginize: This is an internal MongoDB type used for indexing and sharding.

Sınıf Sözdizimi

final class MongoDB\BSON\MinKey implements MongoDB\BSON\MinKeyInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
/* Yöntemler */
final public __construct()
final public jsonSerialize(): mixed
final public serialize(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.3.0 | Implements MongoDB\BSON\MinKeyInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\MinKey::__construct — Construct a new MinKey
  • MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\MinKey::serialize — Serialize a MinKey
  • MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey


Construct a new MinKey

  • « MongoDB\BSON\MinKey
  • MongoDB\BSON\MinKey::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Construct a new MinKey

MongoDB\BSON\MinKey::__construct

(mongodb >=1.0.0)

MongoDB\BSON\MinKey::__construct — Construct a new MinKey

Açıklama

final public MongoDB\BSON\MinKey::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\MinKey::__construct() example

<?php

var_dump(new MongoDB\BSON\MinKey());

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\MinKey)#1 (0) {
}

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\MinKey::__construct
  • MongoDB\BSON\MinKey::serialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Returns a representation that can be converted to JSON

MongoDB\BSON\MinKey::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\MinKey::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\MinKey.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a MinKey

  • « MongoDB\BSON\MinKey::jsonSerialize
  • MongoDB\BSON\MinKey::unserialize »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Serialize a MinKey

MongoDB\BSON\MinKey::serialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::serialize — Serialize a MinKey

Açıklama

final public MongoDB\BSON\MinKey::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\MinKey.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\MinKey::unserialize() - Unserialize a MinKey
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Unserialize a MinKey

  • « MongoDB\BSON\MinKey::serialize
  • MongoDB\BSON\ObjectId »
  • PHP Manual
  • MongoDB\BSON\MinKey
  • Unserialize a MinKey

MongoDB\BSON\MinKey::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey

Açıklama

final public MongoDB\BSON\MinKey::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\MinKey.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\MinKey::serialize() - Serialize a MinKey
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\ObjectId class

(mongodb >=1.0.0)

Giriş

BSON type for an » ObjectId. The value consists of 12 bytes, where the first four bytes are a timestamp that reflect the ObjectId's creation. Specifically, the value consists of:

  • a 4-byte value representing the seconds since the Unix epoch,
  • a 5-byte random number unique to a machine and process, and
  • a 3-byte counter, starting with a random value.

In MongoDB, each document stored in a collection requires a unique _id field that acts as a primary key. If an inserted document omits the _id field, the driver automatically generates an ObjectId for the _id field.

Using ObjectIds for the _id field provides the following additional benefits:

  • The creation time of the ObjectId may be accessed using the MongoDB\BSON\ObjectId::getTimestamp() method.
  • Sorting on an _id field that stores ObjectId values is roughly equivalent to sorting by creation time.

Sınıf Sözdizimi

final class MongoDB\BSON\ObjectId implements MongoDB\BSON\ObjectIdInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(?string $id = null)
final public getTimestamp(): int
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Renamed from MongoDB\BSON\ObjectID to MongoDB\BSON\ObjectId. Implements MongoDB\BSON\ObjectIdInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
  • MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
  • MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
  • MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
  • MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId


Construct a new ObjectId

  • « MongoDB\BSON\ObjectId
  • MongoDB\BSON\ObjectId::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Construct a new ObjectId

MongoDB\BSON\ObjectId::__construct

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId

Açıklama

final public MongoDB\BSON\ObjectId::__construct(?string $id = null)

Bağımsız Değişkenler

id (string)

A 24-character hexadecimal string. If not provided, the driver will generate an ObjectId.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if id is not a 24-character hexadecimal string.

Örnekler

Örnek 1 MongoDB\BSON\ObjectId::__construct() example

<?php

var_dump(new MongoDB\BSON\ObjectId());

var_dump(new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\BSON\ObjectId)#1 (1) {
  ["oid"]=>
  string(24) "56732d3dda14d81214634921"
}
object(MongoDB\BSON\ObjectId)#1 (1) {
  ["oid"]=>
  string(24) "000000000000000000000001"
}

Ayrıca Bakınız

  • » ObjectId Reference
  • » BSON Types: ObjectId


Returns the timestamp component of this ObjectId

  • « MongoDB\BSON\ObjectId::__construct
  • MongoDB\BSON\ObjectId::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns the timestamp component of this ObjectId

MongoDB\BSON\ObjectId::getTimestamp

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId

Açıklama

final public MongoDB\BSON\ObjectId::getTimestamp(): int

The timestamp component of an ObjectId is its most significant 32 bits, which denotes the number of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian byte order.

Bilginize: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the timestamp component of this ObjectId.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\ObjectId::getTimestamp() example

<?php

var_dump((new MongoDB\BSON\ObjectId())->getTimestamp());

var_dump((new MongoDB\BSON\ObjectId('0000002a0000000000000000'))->getTimestamp());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

integer(1484854719)
integer(42)

Ayrıca Bakınız

  • » ObjectId Reference
  • » BSON Types: ObjectId


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\ObjectId::getTimestamp
  • MongoDB\BSON\ObjectId::serialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns a representation that can be converted to JSON

MongoDB\BSON\ObjectId::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\ObjectId::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\ObjectId.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize an ObjectId

  • « MongoDB\BSON\ObjectId::jsonSerialize
  • MongoDB\BSON\ObjectId::__toString »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Serialize an ObjectId

MongoDB\BSON\ObjectId::serialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId

Açıklama

final public MongoDB\BSON\ObjectId::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\ObjectId.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\ObjectId::unserialize() - Unserialize an ObjectId
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the hexidecimal representation of this ObjectId

  • « MongoDB\BSON\ObjectId::serialize
  • MongoDB\BSON\ObjectId::unserialize »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Returns the hexidecimal representation of this ObjectId

MongoDB\BSON\ObjectId::__toString

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId

Açıklama

final public MongoDB\BSON\ObjectId::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hexidecimal representation of this ObjectId.

Örnekler

Örnek 1 MongoDB\BSON\ObjectId::__toString() example

<?php

var_dump((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(24) "56731b49da14d8747d701211"
string(24) "000000000000000000000001"

Ayrıca Bakınız

  • » ObjectId Reference
  • » BSON Types: ObjectId


Unserialize an ObjectId

  • « MongoDB\BSON\ObjectId::__toString
  • MongoDB\BSON\Regex »
  • PHP Manual
  • MongoDB\BSON\ObjectId
  • Unserialize an ObjectId

MongoDB\BSON\ObjectId::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId

Açıklama

final public MongoDB\BSON\ObjectId::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\ObjectId.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\ObjectId::serialize() - Serialize an ObjectId
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Regex class

(mongodb >=1.0.0)

Giriş

BSON type for a regular expression pattern and optional » flags.

Bilginize: This BSON type is mainly used when querying the database. Alternatively, the » $regex query operator may be used.

Sınıf Sözdizimi

final class MongoDB\BSON\Regex implements MongoDB\BSON\RegexInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(string $pattern, string $flags = "")
final public getFlags(): string
final public getPattern(): string
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\RegexInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\Regex::__construct — Construct a new Regex
  • MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
  • MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
  • MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Regex::serialize — Serialize a Regex
  • MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
  • MongoDB\BSON\Regex::unserialize — Unserialize a Regex


Construct a new Regex

  • « MongoDB\BSON\Regex
  • MongoDB\BSON\Regex::getFlags »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Construct a new Regex

MongoDB\BSON\Regex::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__construct — Construct a new Regex

Açıklama

final public MongoDB\BSON\Regex::__construct(string $pattern, string $flags = "")

Bağımsız Değişkenler

pattern (string)

The regular expression pattern.

Bilginize: The pattern should not be wrapped with delimiter characters.

flags (string)

The » regular expression flags. Characters in this argument will be sorted alphabetically.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if pattern or flags contain null bytes.

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.2.0

The flags argument is optional and defaults to an empty string.

Characters in the flags argument will be sorted alphabetically when a Regex is constructed. Previously, the characters were stored in the order provided.

MongoDB\Driver\Exception\InvalidArgumentException is thrown if pattern or flags contain null bytes. Previously, values would be truncated at the first null byte.

Örnekler

Örnek 1 MongoDB\BSON\Regex::__construct() example

<?php

$regex = new MongoDB\BSON\Regex('^foo', 'i');
var_dump($regex);

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\Regex)#1 (2) {
  ["pattern"]=>
  string(4) "^foo"
  ["flags"]=>
  string(1) "i"
}

Ayrıca Bakınız

  • » BSON Types
  • » Supported regular expression flags


Returns the Regex's flags

  • « MongoDB\BSON\Regex::__construct
  • MongoDB\BSON\Regex::getPattern »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the Regex's flags

MongoDB\BSON\Regex::getFlags

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getFlags — Returns the Regex's flags

Açıklama

final public MongoDB\BSON\Regex::getFlags(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Regex's flags.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Regex::getFlags() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getFlags());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "i"

Ayrıca Bakınız

  • » BSON Types
  • » Supported regular expression flags


Returns the Regex's pattern

  • « MongoDB\BSON\Regex::getFlags
  • MongoDB\BSON\Regex::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the Regex's pattern

MongoDB\BSON\Regex::getPattern

(mongodb >=1.0.0)

MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern

Açıklama

final public MongoDB\BSON\Regex::getPattern(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Regex's pattern.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Regex::getPattern() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump($regex->getPattern());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "regex"

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Regex::getPattern
  • MongoDB\BSON\Regex::serialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Regex::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Regex::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Regex.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Regex

  • « MongoDB\BSON\Regex::jsonSerialize
  • MongoDB\BSON\Regex::__toString »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Serialize a Regex

MongoDB\BSON\Regex::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::serialize — Serialize a Regex

Açıklama

final public MongoDB\BSON\Regex::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Regex.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Regex::unserialize() - Unserialize a Regex
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the string representation of this Regex

  • « MongoDB\BSON\Regex::serialize
  • MongoDB\BSON\Regex::unserialize »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Returns the string representation of this Regex

MongoDB\BSON\Regex::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex

Açıklama

final public MongoDB\BSON\Regex::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Regex.

Örnekler

Örnek 1 MongoDB\BSON\Regex::__toString() example

<?php

$regex = new MongoDB\BSON\Regex('regex', 'i');
var_dump((string) $regex);

?>

Yukarıdaki örneğin çıktısı:

string(8) "/regex/i"

Ayrıca Bakınız

  • » BSON Types


Unserialize a Regex

  • « MongoDB\BSON\Regex::__toString
  • MongoDB\BSON\Timestamp »
  • PHP Manual
  • MongoDB\BSON\Regex
  • Unserialize a Regex

MongoDB\BSON\Regex::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Regex::unserialize — Unserialize a Regex

Açıklama

final public MongoDB\BSON\Regex::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Regex.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Regex::serialize() - Serialize a Regex
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Timestamp class

(mongodb >=1.0.0)

Giriş

Represents a » BSON timestamp, The value consists of a 4-byte timestamp (i.e. seconds since the epoch) and a 4-byte increment.

Bilginize: This is an internal MongoDB type used for replication and sharding. It is not intended for general date storage (MongoDB\BSON\UTCDateTime should be used instead).

Sınıf Sözdizimi

final class MongoDB\BSON\Timestamp implements MongoDB\BSON\TimestampInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(int $increment, int $timestamp)
final public getIncrement(): int
final public getTimestamp(): int
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\TimestampInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
  • MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp
  • MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp
  • MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
  • MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
  • MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp


Construct a new Timestamp

  • « MongoDB\BSON\Timestamp
  • MongoDB\BSON\Timestamp::getIncrement »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Construct a new Timestamp

MongoDB\BSON\Timestamp::__construct

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::__construct(int $increment, int $timestamp)

Bağımsız Değişkenler

increment (int)

32-bit integer denoting the incrementing ordinal for operations within a given second.

timestamp (int)

32-bit integer denoting seconds since the Unix epoch.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\Timestamp::__construct() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);

?>

Yukarıdaki örneğin çıktısı:

object(MongoDB\BSON\Timestamp)#1 (2) {
  ["increment"]=>
  int(1234)
  ["timestamp"]=>
  int(5678)
}

Ayrıca Bakınız

  • » BSON Types: Timestamps


Returns the increment component of this Timestamp

  • « MongoDB\BSON\Timestamp::__construct
  • MongoDB\BSON\Timestamp::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the increment component of this Timestamp

MongoDB\BSON\Timestamp::getIncrement

(mongodb >=1.3.0)

MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::getIncrement(): int

The increment component of a Timestamp is its least significant 32 bits, whichs denotes the incrementing ordinal for operations within a given second. This value is read as an unsigned 32-bit integer with big-endian byte order.

Bilginize: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the increment component of this Timestamp.

Uyarı

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • » BSON Types: Timestamps


Returns the timestamp component of this Timestamp

  • « MongoDB\BSON\Timestamp::getIncrement
  • MongoDB\BSON\Timestamp::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the timestamp component of this Timestamp

MongoDB\BSON\Timestamp::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::getTimestamp(): int

The timestamp component of a Timestamp is its most significant 32 bits, which denotes the number of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian byte order.

Bilginize: Because PHP's integer type is signed, some values returned by this method may appear as negative integers on 32-bit platforms. The "%u" formatter of sprintf() may be used to obtain a string representation of the unsigned decimal value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the timestamp component of this Timestamp.

Uyarı

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • » BSON Types: Timestamps


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Timestamp::getTimestamp
  • MongoDB\BSON\Timestamp::serialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Timestamp::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Timestamp::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Timestamp.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Timestamp

  • « MongoDB\BSON\Timestamp::jsonSerialize
  • MongoDB\BSON\Timestamp::__toString »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Serialize a Timestamp

MongoDB\BSON\Timestamp::serialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Timestamp.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Timestamp::unserialize() - Unserialize a Timestamp
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the string representation of this Timestamp

  • « MongoDB\BSON\Timestamp::serialize
  • MongoDB\BSON\Timestamp::unserialize »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Returns the string representation of this Timestamp

MongoDB\BSON\Timestamp::__toString

(mongodb >=1.0.0)

MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Timestamp.

Örnekler

Örnek 1 MongoDB\BSON\Timestamp::__toString() example

<?php

$timestamp = new MongoDB\BSON\Timestamp(1234, 5678);
var_dump((string) $timestamp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "[1234:5678]"

Ayrıca Bakınız

  • » BSON Types: Timestamps


Unserialize a Timestamp

  • « MongoDB\BSON\Timestamp::__toString
  • MongoDB\BSON\UTCDateTime »
  • PHP Manual
  • MongoDB\BSON\Timestamp
  • Unserialize a Timestamp

MongoDB\BSON\Timestamp::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp

Açıklama

final public MongoDB\BSON\Timestamp::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Timestamp.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Timestamp::serialize() - Serialize a Timestamp
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\UTCDateTime class

(mongodb >=1.0.0)

Giriş

Represents a » BSON date. The value is a 64-bit integer that represents the number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970.

Sınıf Sözdizimi

final class MongoDB\BSON\UTCDateTime implements MongoDB\BSON\UTCDateTimeInterface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(int|float|string|DateTimeInterface|null $milliseconds = null)
final public jsonSerialize(): mixed
final public serialize(): string
final public toDateTime(): DateTime
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 | Implements MongoDB\BSON\UTCDateTimeInterface.
PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable.

İçindekiler

  • MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
  • MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
  • MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
  • MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime


Construct a new UTCDateTime

  • « MongoDB\BSON\UTCDateTime
  • MongoDB\BSON\UTCDateTime::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Construct a new UTCDateTime

MongoDB\BSON\UTCDateTime::__construct

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime

Açıklama

final public MongoDB\BSON\UTCDateTime::__construct(int|float|string|DateTimeInterface|null $milliseconds = null)

Bağımsız Değişkenler

milliseconds (int|float|string|DateTimeInterface|null)

Number of milliseconds since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970. This value may be provided as a 64-bit int. For compatibility on 32-bit systems, this parameter may also be provided as a float or string.

If the argument is a DateTimeInterface, the number of milliseconds since the Unix epoch will be derived from that value.

If this argument is null, the current time will be used by default.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.2.0 | The milliseconds argument is optional and defaults to null (i.e. current time). The argument also accepts a DateTimeInterface, which may be used to derive the number of milliseconds since the Unix epoch. Previously, only int, float, and string types were accepted.

Örnekler

Örnek 1 MongoDB\BSON\UTCDateTime::__construct() example

<?php

var_dump(new MongoDB\BSON\UTCDateTime);

var_dump(new MongoDB\BSON\UTCDateTime(new DateTime));

var_dump(new MongoDB\BSON\UTCDateTime(1416445411987));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1484852905560"
}
object(MongoDB\BSON\UTCDateTime)#1 (1) {
  ["milliseconds"]=>
  string(13) "1416445411987"
}

Ayrıca Bakınız

  • » BSON Types: Date


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\UTCDateTime::__construct
  • MongoDB\BSON\UTCDateTime::serialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns a representation that can be converted to JSON

MongoDB\BSON\UTCDateTime::jsonSerialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\UTCDateTime::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\UTCDateTime.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a UTCDateTime

  • « MongoDB\BSON\UTCDateTime::jsonSerialize
  • MongoDB\BSON\UTCDateTime::toDateTime »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Serialize a UTCDateTime

MongoDB\BSON\UTCDateTime::serialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime

Açıklama

final public MongoDB\BSON\UTCDateTime::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\UTCDateTime.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\UTCDateTime::unserialize() - Unserialize a UTCDateTime
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the DateTime representation of this UTCDateTime

  • « MongoDB\BSON\UTCDateTime::serialize
  • MongoDB\BSON\UTCDateTime::__toString »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns the DateTime representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::toDateTime

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime

Açıklama

final public MongoDB\BSON\UTCDateTime::toDateTime(): DateTime

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the DateTime representation of this UTCDateTime. The returned DateTime will use the UTC time zone.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Örnekler

Örnek 1 MongoDB\BSON\UTCDatetime::toDateTime() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
$datetime = $utcdatetime->toDateTime();
var_dump($datetime->format('r'));
var_dump($datetime->format('U.u'));
var_dump($datetime->getTimezone());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(31) "Thu, 20 Nov 2014 01:03:31 +0000"
string(17) "1416445411.987000"
object(DateTimeZone)#3 (2) {
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "+00:00"
}

Ayrıca Bakınız

  • » BSON Types: Date


Returns the string representation of this UTCDateTime

  • « MongoDB\BSON\UTCDateTime::toDateTime
  • MongoDB\BSON\UTCDateTime::unserialize »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Returns the string representation of this UTCDateTime

MongoDB\BSON\UTCDateTime::__toString

(mongodb >=1.0.0)

MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime

Açıklama

final public MongoDB\BSON\UTCDateTime::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this UTCDateTime.

Örnekler

Örnek 1 MongoDB\BSON\UTCDateTime::__toString() example

<?php

$utcdatetime = new MongoDB\BSON\UTCDateTime(1416445411987);
var_dump((string) $utcdatetime);

?>

Yukarıdaki örneğin çıktısı:

string(13) "1416445411987"

Ayrıca Bakınız

  • » BSON Types: Date


Unserialize a UTCDateTime

  • « MongoDB\BSON\UTCDateTime::__toString
  • MongoDB\BSON\Type »
  • PHP Manual
  • MongoDB\BSON\UTCDateTime
  • Unserialize a UTCDateTime

MongoDB\BSON\UTCDateTime::unserialize

(mongodb >=1.2.0)

MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime

Açıklama

final public MongoDB\BSON\UTCDateTime::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\UTCDateTime.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\UTCDateTime::serialize() - Serialize a UTCDateTime
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Type interface

(mongodb >=1.0.0)

Giriş

Abstract base interface that should not be implemented directly.

Arayüz Sözdizimi

class MongoDB\BSON\Type {
}

This interface has no methods. Its only purpose is to be the base interface for all BSON type classes.


The MongoDB\BSON\Persistable interface

(mongodb >=1.0.0)

Giriş

Classes may implement this interface to take advantage of automatic ODM (object document mapping) behavior in the driver. During serialization, the driver will inject a __pclass property containing the PHP class name into the data returned by MongoDB\BSON\Serializable::bsonSerialize(). During unserialization, the same __pclass property will then be used to infer the PHP class (independent of any type map configuration) to be constructed before MongoDB\BSON\Unserializable::bsonUnserialize() is invoked. See Persisting Data for additional information.

Bilginize: Even if MongoDB\BSON\Serializable::bsonSerialize() would return a sequential array, injection of the __pclass property will cause the object to be serialized as a BSON document.

Arayüz Sözdizimi

class MongoDB\BSON\Persistable implements MongoDB\BSON\Unserializable, MongoDB\BSON\Serializable {
/* Yöntemler */
abstract public bsonSerialize(): array|stdClass|MongoDB\BSON\Document
/* Miras alınan yöntemler */
abstract public MongoDB\BSON\Serializable::bsonSerialize(): array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray
abstract public MongoDB\BSON\Unserializable::bsonUnserialize(array $data): void
}

İçindekiler

  • MongoDB\BSON\Persistable::bsonSerialize — Provides an array or document to serialize as BSON


Provides an array or document to serialize as BSON

  • « MongoDB\BSON\Persistable
  • MongoDB\BSON\Serializable »
  • PHP Manual
  • MongoDB\BSON\Persistable
  • Provides an array or document to serialize as BSON

MongoDB\BSON\Persistable::bsonSerialize

(mongodb >=1.0.0)

MongoDB\BSON\Persistable::bsonSerialize — Provides an array or document to serialize as BSON

Açıklama

abstract public MongoDB\BSON\Persistable::bsonSerialize(): array|stdClass|MongoDB\BSON\Document

Called during serialization of the object to BSON. The method must return an array, stdClass, or MongoDB\BSON\Document.

The return value will always be serialized as a BSON document. The serialized document will include a field containing the class name of the object. For this reason, it is not possible to return a MongoDB\BSON\PackedArray instance in this method.

Users are encouraged to include an _id property (e.g. a MongoDB\BSON\ObjectId initialized in your constructor) when returning data for a BSON root document; otherwise, the driver or database will need to generate a MongoDB\BSON\ObjectId when inserting or upserting the document, respectively.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array, stdClass, or MongoDB\BSON\Document to be serialized as a BSON document.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.17.0 | This method may now also return MongoDB\BSON\Document instances in addition to array and stdClass.

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • MongoDB\BSON\Unserializable::bsonUnserialize() - Constructs the object from a BSON array or document
  • MongoDB\BSON\Persistable
  • Persisting Data


The MongoDB\BSON\Serializable interface

(mongodb >=1.0.0)

Giriş

Classes that implement this interface may return data to be serialized as a BSON array or document in lieu of the object's public properties.

Arayüz Sözdizimi

class MongoDB\BSON\Serializable implements MongoDB\BSON\Type {
/* Yöntemler */
abstract public bsonSerialize(): array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON


Provides an array or document to serialize as BSON

  • « MongoDB\BSON\Serializable
  • MongoDB\BSON\Unserializable »
  • PHP Manual
  • MongoDB\BSON\Serializable
  • Provides an array or document to serialize as BSON

MongoDB\BSON\Serializable::bsonSerialize

(mongodb >=1.0.0)

MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON

Açıklama

abstract public MongoDB\BSON\Serializable::bsonSerialize(): array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray

Called during serialization of the object to BSON. The method must return an array, stdClass, MongoDB\BSON\Document, or MongoDB\BSON\PackedArray.

Root documents (e.g. a MongoDB\BSON\Serializable passed to MongoDB\BSON\fromPHP()) will always be serialized as a BSON document. For field values, associative arrays and stdClass instances will be serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at 0) will be serialized as a BSON array.

Users are encouraged to include an _id property (e.g. a MongoDB\BSON\ObjectId initialized in your constructor) when returning data for a BSON root document; otherwise, the driver or database will need to generate a MongoDB\BSON\ObjectId when inserting or upserting the document, respectively.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array, stdClass, MongoDB\BSON\Document, or MongoDB\BSON\PackedArray to be serialized as a BSON array or document.

Sürüm Bilgisi

Sürüm: Açıklama
PECL mongodb 1.17.0

The return type was changed from array|object. Instead of object, the return type now specifies stdClass. Classes that implement this interface must be changed to no longer declare an object return type. As the return type is tentative, a deprecation warning is emitted on PHP 8.1 and newer.

In addition to the changes above, the driver now also supports returning instances of MongoDB\BSON\Document and MongoDB\BSON\PackedArray. Please note that any MongoDB\BSON\PackedArray instances returned are silently converted to objects when stored as root documents. They are stored as arrays when used as an embedded field value.

Örnekler

Örnek 1 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for root document

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
private $id;

function __construct()
{
$this->id = new MongoDB\BSON\ObjectId;
}

function bsonSerialize(): array
{
return ['_id' => $this->id, 'foo' => 'bar'];
}
}

$bson = MongoDB\BSON\fromPHP(new MyDocument);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

{ "_id" : { "$oid" : "56cccdcada14d8755a58c591" }, "foo" : "bar" }

Örnek 2 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for root document

<?php

class MyArray implements MongoDB\BSON\Serializable
{
function bsonSerialize(): array
{
return [1, 2, 3];
}
}

$bson = MongoDB\BSON\fromPHP(new MyArray);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Yukarıdaki örneğin çıktısı:

{ "0" : 1, "1" : 2, "2" : 3 }

Örnek 3 MongoDB\BSON\Serializable::bsonSerialize() returning an associative array for document field

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
function bsonSerialize(): array
{
return ['foo' => 'bar'];
}
}

$value = ['document' => new MyDocument];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Yukarıdaki örneğin çıktısı:

{ "document" : { "foo" : "bar" } }

Örnek 4 MongoDB\BSON\Serializable::bsonSerialize() returning a sequential array for document field

<?php

class MyArray implements MongoDB\BSON\Serializable
{
function bsonSerialize(): array
{
return [1, 2, 3];
}
}

$value = ['array' => new MyArray];
$bson = MongoDB\BSON\fromPHP($value);
echo MongoDB\BSON\toJSON($bson), "\n";

?>

Yukarıdaki örneğin çıktısı:

{ "array" : [ 1, 2, 3 ] }

Ayrıca Bakınız

  • MongoDB\BSON\Unserializable::bsonUnserialize() - Constructs the object from a BSON array or document
  • MongoDB\BSON\Persistable
  • Persisting Data


The MongoDB\BSON\Unserializable interface

(mongodb >=1.0.0)

Giriş

Classes that implement this interface may be specified in a type map for unserializing BSON arrays and documents (both root and embedded).

Arayüz Sözdizimi

class MongoDB\BSON\Unserializable {
/* Yöntemler */
abstract public bsonUnserialize(array $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document


Constructs the object from a BSON array or document

  • « MongoDB\BSON\Unserializable
  • MongoDB\BSON\BinaryInterface »
  • PHP Manual
  • MongoDB\BSON\Unserializable
  • Constructs the object from a BSON array or document

MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document

Açıklama

abstract public MongoDB\BSON\Unserializable::bsonUnserialize(array $data): void

Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array.

Remember to check for an _id property when handling data from a BSON document.

Bilginize: This method acts as the constructor of the object. The __construct() method will not be called after this method.

Bağımsız Değişkenler

data (array)

Properties within the BSON array or document.

Dönen Değerler

The return value from this method is ignored.

Örnekler

Örnek 1 MongoDB\BSON\Unserializable::bsonUnserialize() example

<?php

class MyDocument implements MongoDB\BSON\Unserializable
{
private $data = [];

function bsonUnserialize(array $data): void
{
$this->data = $data;
}
}

$bson = MongoDB\BSON\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);

?>

Yukarıdaki örneğin çıktısı:

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Ayrıca Bakınız

  • MongoDB\BSON\Serializable::bsonSerialize() - Provides an array or document to serialize as BSON
  • MongoDB\BSON\Persistable
  • Persisting Data


The MongoDB\BSON\BinaryInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\Binary to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\BinaryInterface {
/* Yöntemler */
abstract public getData(): string
abstract public getType(): int
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data
  • MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type
  • MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data


Returns the BinaryInterface's data

  • « MongoDB\BSON\BinaryInterface
  • MongoDB\BSON\BinaryInterface::getType »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's data

MongoDB\BSON\BinaryInterface::getData

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data

Açıklama

abstract public MongoDB\BSON\BinaryInterface::getData(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the BinaryInterface's data.

Ayrıca Bakınız

  • MongoDB\BSON\Binary::getData() - Returns the Binary's data


Returns the BinaryInterface's type

  • « MongoDB\BSON\BinaryInterface::getData
  • MongoDB\BSON\BinaryInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's type

MongoDB\BSON\BinaryInterface::getType

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type

Açıklama

abstract public MongoDB\BSON\BinaryInterface::getType(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the BinaryInterface's type.

Ayrıca Bakınız

  • MongoDB\BSON\Binary::getType() - Returns the Binary's type


Returns the BinaryInterface's data

  • « MongoDB\BSON\BinaryInterface::getType
  • MongoDB\BSON\Decimal128Interface »
  • PHP Manual
  • MongoDB\BSON\BinaryInterface
  • Returns the BinaryInterface's data

MongoDB\BSON\BinaryInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data

Açıklama

abstract public MongoDB\BSON\BinaryInterface::__toString(): string

Bu yöntem şu yöntemin takma adıdır: MongoDB\BSON\BinaryInterface::getData().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the BinaryInterface's data.

Ayrıca Bakınız

  • MongoDB\BSON\BinaryInterface::getData() - Returns the BinaryInterface's data
  • MongoDB\BSON\Binary::__toString() - Returns the Binary's data


The MongoDB\BSON\Decimal128Interface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\Decimal128 to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\Decimal128Interface {
/* Yöntemler */
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface


Returns the string representation of this Decimal128Interface

  • « MongoDB\BSON\Decimal128Interface
  • MongoDB\BSON\JavascriptInterface »
  • PHP Manual
  • MongoDB\BSON\Decimal128Interface
  • Returns the string representation of this Decimal128Interface

MongoDB\BSON\Decimal128Interface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface

Açıklama

abstract public MongoDB\BSON\Decimal128Interface::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Decimal128Interface.

Ayrıca Bakınız

  • MongoDB\BSON\Decimal128::__toString() - Returns the string representation of this Decimal128


The MongoDB\BSON\JavascriptInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\Javascript to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\JavascriptInterface {
/* Yöntemler */
abstract public getCode(): string
abstract public getScope(): ?object
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code
  • MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document
  • MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code


Returns the JavascriptInterface's code

  • « MongoDB\BSON\JavascriptInterface
  • MongoDB\BSON\JavascriptInterface::getScope »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's code

MongoDB\BSON\JavascriptInterface::getCode

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code

Açıklama

abstract public MongoDB\BSON\JavascriptInterface::getCode(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the JavascriptInterface's code.

Ayrıca Bakınız

  • MongoDB\BSON\Javascript::getCode() - Returns the Javascript's code


Returns the JavascriptInterface's scope document

  • « MongoDB\BSON\JavascriptInterface::getCode
  • MongoDB\BSON\JavascriptInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's scope document

MongoDB\BSON\JavascriptInterface::getScope

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document

Açıklama

abstract public MongoDB\BSON\JavascriptInterface::getScope(): ?object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the JavascriptInterface's scope document.

Ayrıca Bakınız

  • MongoDB\BSON\Javascript::getScope() - Returns the Javascript's scope document


Returns the JavascriptInterface's code

  • « MongoDB\BSON\JavascriptInterface::getScope
  • MongoDB\BSON\MaxKeyInterface »
  • PHP Manual
  • MongoDB\BSON\JavascriptInterface
  • Returns the JavascriptInterface's code

MongoDB\BSON\JavascriptInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code

Açıklama

abstract public MongoDB\BSON\JavascriptInterface::__toString(): string

Bu yöntem şu yöntemin takma adıdır: MongoDB\BSON\JavascriptInterface::getCode().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the JavascriptInterface's code.

Ayrıca Bakınız

  • MongoDB\BSON\JavascriptInterface::getCode() - Returns the JavascriptInterface's code
  • MongoDB\BSON\Javascript::__toString() - Returns the Javascript's code


The MongoDB\BSON\MaxKeyInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\MaxKey to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\MaxKeyInterface {
}

This interface has no methods.


The MongoDB\BSON\MinKeyInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\MinKey to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\MinKeyInterface {
}

This interface has no methods.


The MongoDB\BSON\ObjectIdInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\ObjectId to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\ObjectIdInterface {
/* Yöntemler */
abstract public getTimestamp(): int
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface
  • MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface


Returns the timestamp component of this ObjectIdInterface

  • « MongoDB\BSON\ObjectIdInterface
  • MongoDB\BSON\ObjectIdInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\ObjectIdInterface
  • Returns the timestamp component of this ObjectIdInterface

MongoDB\BSON\ObjectIdInterface::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface

Açıklama

abstract public MongoDB\BSON\ObjectIdInterface::getTimestamp(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the timestamp component of this ObjectIdInterface.

Ayrıca Bakınız

  • MongoDB\BSON\ObjectId::getTimestamp() - Returns the timestamp component of this ObjectId


Returns the hexidecimal representation of this ObjectIdInterface

  • « MongoDB\BSON\ObjectIdInterface::getTimestamp
  • MongoDB\BSON\RegexInterface »
  • PHP Manual
  • MongoDB\BSON\ObjectIdInterface
  • Returns the hexidecimal representation of this ObjectIdInterface

MongoDB\BSON\ObjectIdInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface

Açıklama

abstract public MongoDB\BSON\ObjectIdInterface::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hexidecimal representation of this ObjectIdInterface.

Ayrıca Bakınız

  • MongoDB\BSON\ObjectId::__toString() - Returns the hexidecimal representation of this ObjectId


The MongoDB\BSON\RegexInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\Regex to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\RegexInterface {
/* Yöntemler */
abstract public getFlags(): string
abstract public getPattern(): string
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags
  • MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern
  • MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface


Returns the RegexInterface's flags

  • « MongoDB\BSON\RegexInterface
  • MongoDB\BSON\RegexInterface::getPattern »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the RegexInterface's flags

MongoDB\BSON\RegexInterface::getFlags

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags

Açıklama

abstract public MongoDB\BSON\RegexInterface::getFlags(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the RegexInterface's flags.

Ayrıca Bakınız

  • MongoDB\BSON\Regex::getFlags() - Returns the Regex's flags


Returns the RegexInterface's pattern

  • « MongoDB\BSON\RegexInterface::getFlags
  • MongoDB\BSON\RegexInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the RegexInterface's pattern

MongoDB\BSON\RegexInterface::getPattern

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern

Açıklama

abstract public MongoDB\BSON\RegexInterface::getPattern(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the RegexInterface's pattern.

Ayrıca Bakınız

  • MongoDB\BSON\Regex::getPattern() - Returns the Regex's pattern


Returns the string representation of this RegexInterface

  • « MongoDB\BSON\RegexInterface::getPattern
  • MongoDB\BSON\TimestampInterface »
  • PHP Manual
  • MongoDB\BSON\RegexInterface
  • Returns the string representation of this RegexInterface

MongoDB\BSON\RegexInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface

Açıklama

abstract public MongoDB\BSON\RegexInterface::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this RegexInterface.

Ayrıca Bakınız

  • MongoDB\BSON\Regex::__toString() - Returns the string representation of this Regex


The MongoDB\BSON\TimestampInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\Timestamp to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\TimestampInterface {
/* Yöntemler */
abstract public getIncrement(): int
abstract public getTimestamp(): int
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface
  • MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface
  • MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface


Returns the increment component of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface
  • MongoDB\BSON\TimestampInterface::getTimestamp »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the increment component of this TimestampInterface

MongoDB\BSON\TimestampInterface::getIncrement

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface

Açıklama

abstract public MongoDB\BSON\TimestampInterface::getIncrement(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the increment component of this TimestampInterface.

Uyarı

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Ayrıca Bakınız

  • MongoDB\BSON\Timestamp::getIncrement() - Returns the increment component of this Timestamp


Returns the timestamp component of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface::getIncrement
  • MongoDB\BSON\TimestampInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the timestamp component of this TimestampInterface

MongoDB\BSON\TimestampInterface::getTimestamp

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface

Açıklama

abstract public MongoDB\BSON\TimestampInterface::getTimestamp(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the timestamp component of this TimestampInterface.

Uyarı

On 32-bit systems this method may return a negative number. Although the increment and timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can not represent these on 32-bit platforms.

Ayrıca Bakınız

  • MongoDB\BSON\Timestamp::getTimestamp() - Returns the timestamp component of this Timestamp


Returns the string representation of this TimestampInterface

  • « MongoDB\BSON\TimestampInterface::getTimestamp
  • MongoDB\BSON\UTCDateTimeInterface »
  • PHP Manual
  • MongoDB\BSON\TimestampInterface
  • Returns the string representation of this TimestampInterface

MongoDB\BSON\TimestampInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface

Açıklama

abstract public MongoDB\BSON\TimestampInterface::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this TimestampInterface.

Ayrıca Bakınız

  • MongoDB\BSON\Timestamp::__toString() - Returns the string representation of this Timestamp


The MongoDB\BSON\UTCDateTimeInterface interface

(mongodb >=1.3.0)

Giriş

This interface is implemented by MongoDB\BSON\UTCDateTime to be used as a parameter, return, or property type in userland classes.

Sınıf Sözdizimi

class MongoDB\BSON\UTCDateTimeInterface {
/* Yöntemler */
abstract public toDateTime(): DateTime
abstract public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface
  • MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface


Returns the DateTime representation of this UTCDateTimeInterface

  • « MongoDB\BSON\UTCDateTimeInterface
  • MongoDB\BSON\UTCDateTimeInterface::__toString »
  • PHP Manual
  • MongoDB\BSON\UTCDateTimeInterface
  • Returns the DateTime representation of this UTCDateTimeInterface

MongoDB\BSON\UTCDateTimeInterface::toDateTime

(mongodb >=1.3.0)

MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface

Açıklama

abstract public MongoDB\BSON\UTCDateTimeInterface::toDateTime(): DateTime

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the DateTime representation of this UTCDateTimeInterface. The returned DateTime should use the UTC time zone.

Ayrıca Bakınız

  • MongoDB\BSON\UTCDateTime::toDateTime() - Returns the DateTime representation of this UTCDateTime


Returns the string representation of this UTCDateTimeInterface

  • « MongoDB\BSON\UTCDateTimeInterface::toDateTime
  • MongoDB\BSON\DBPointer »
  • PHP Manual
  • MongoDB\BSON\UTCDateTimeInterface
  • Returns the string representation of this UTCDateTimeInterface

MongoDB\BSON\UTCDateTimeInterface::__toString

(mongodb >=1.3.0)

MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface

Açıklama

abstract public MongoDB\BSON\UTCDateTimeInterface::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this UTCDateTimeInterface.

Ayrıca Bakınız

  • MongoDB\BSON\UTCDateTime::__toString() - Returns the string representation of this UTCDateTime


The MongoDB\BSON\DBPointer class (deprecated)

(mongodb >=1.4.0)

Giriş

BSON type for the "DBPointer" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON DBPointer type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sınıf Sözdizimi

final class MongoDB\BSON\DBPointer implements MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final private __construct()
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.

İçindekiler

  • MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)
  • MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer
  • MongoDB\BSON\DBPointer::__toString — Returns an empty string
  • MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer


Construct a new DBPointer (unused)

  • « MongoDB\BSON\DBPointer
  • MongoDB\BSON\DBPointer::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Construct a new DBPointer (unused)

MongoDB\BSON\DBPointer::__construct

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)

Açıklama

final private MongoDB\BSON\DBPointer::__construct()

MongoDB\BSON\DBPointer objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\DBPointer::__construct
  • MongoDB\BSON\DBPointer::serialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Returns a representation that can be converted to JSON

MongoDB\BSON\DBPointer::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\DBPointer::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\DBPointer.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a DBPointer

  • « MongoDB\BSON\DBPointer::jsonSerialize
  • MongoDB\BSON\DBPointer::__toString »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Serialize a DBPointer

MongoDB\BSON\DBPointer::serialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer

Açıklama

final public MongoDB\BSON\DBPointer::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\DBPointer.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\DBPointer::unserialize() - Unserialize a DBPointer
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns an empty string

  • « MongoDB\BSON\DBPointer::serialize
  • MongoDB\BSON\DBPointer::unserialize »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Returns an empty string

MongoDB\BSON\DBPointer::__toString

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::__toString — Returns an empty string

Açıklama

final public MongoDB\BSON\DBPointer::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an empty string.

Ayrıca Bakınız

  • » BSON Types


Unserialize a DBPointer

  • « MongoDB\BSON\DBPointer::__toString
  • MongoDB\BSON\Int64 »
  • PHP Manual
  • MongoDB\BSON\DBPointer
  • Unserialize a DBPointer

MongoDB\BSON\DBPointer::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer

Açıklama

final public MongoDB\BSON\DBPointer::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\DBPointer.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\DBPointer::serialize() - Serialize a DBPointer
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Int64 class

(mongodb >=1.5.0)

Giriş

BSON type for a 64-bit integer. When decoding BSON to PHP data, this class is used when a 64-bit integer cannot be represented as a PHP integer on 32-bit platforms. These objects support overloaded arithmetic, bitwise, and comparison operators.

When working with raw BSON data through the MongoDB\BSON\Document, MongoDB\BSON\PackedArray, and MongoDB\BSON\Iterator classes, any 64-bit integer will be returned as an instance of this class, regardless of platform and whether the value can be represented as a PHP integer. This ensures that values can be roundtripped without changing the type.

During BSON encoding, objects of this class will convert back to a 64-bit integer type, even when the value would fit in a 32-bit integer. This allows explicitly storing values as 64-bit integers in BSON.

Sınıf Sözdizimi

final class MongoDB\BSON\Int64 implements MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final public __construct(int|string $value)
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.16.0 | The class can now be instantiated on all platforms. Added support for overloaded arithmetic, bitwise, and comparison operators.
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.

İçindekiler

  • MongoDB\BSON\Int64::__construct — Construct a new Int64
  • MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Int64::serialize — Serialize an Int64
  • MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64
  • MongoDB\BSON\Int64::unserialize — Unserialize an Int64


Construct a new Int64

  • « MongoDB\BSON\Int64
  • MongoDB\BSON\Int64::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Construct a new Int64

MongoDB\BSON\Int64::__construct

(mongodb >=1.5.0)

MongoDB\BSON\Int64::__construct — Construct a new Int64

Açıklama

final public MongoDB\BSON\Int64::__construct(int|string $value)

Creates a new MongoDB\BSON\Int64 instance for the given integer value.

Bağımsız Değişkenler

value (int|string)

The value to assign to the Int64 instance. This value can be provided as an int or string, the latter being required on 32-bit platforms to represent 64-bit values.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.16.0 | This method was made public to support creating Int64 instances when working with raw BSON.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if string value cannot be parsed as a 64-bit integer.

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Int64::__construct
  • MongoDB\BSON\Int64::serialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Int64::jsonSerialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Int64::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Int64.

Bilginize: The output is consistent with the MongoDB\BSON\toCanonicalExtendedJSON() function, which uses the » canonical extended JSON format. This differs from other BSON classes, which use the driver-specific legacy extended JSON format (MongoDB\BSON\toJSON()), in order to ensure that the 64-bit integer value is correctly represented on 32-bit platforms.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize an Int64

  • « MongoDB\BSON\Int64::jsonSerialize
  • MongoDB\BSON\Int64::__toString »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Serialize an Int64

MongoDB\BSON\Int64::serialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::serialize — Serialize an Int64

Açıklama

final public MongoDB\BSON\Int64::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Int64.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Int64::unserialize() - Unserialize an Int64
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the string representation of this Int64

  • « MongoDB\BSON\Int64::serialize
  • MongoDB\BSON\Int64::unserialize »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Returns the string representation of this Int64

MongoDB\BSON\Int64::__toString

(mongodb >=1.5.0)

MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64

Açıklama

final public MongoDB\BSON\Int64::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Int64.

Örnekler

Örnek 1 MongoDB\BSON\Int64::__toString() example

<?php

$int64 = new MongoDB\BSON\Int64('9223372036854775807');

var_dump((string) $int64);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(19) "9223372036854775807"

Ayrıca Bakınız

  • » BSON Types


Unserialize an Int64

  • « MongoDB\BSON\Int64::__toString
  • MongoDB\BSON\Symbol »
  • PHP Manual
  • MongoDB\BSON\Int64
  • Unserialize an Int64

MongoDB\BSON\Int64::unserialize

(mongodb >=1.5.0)

MongoDB\BSON\Int64::unserialize — Unserialize an Int64

Açıklama

final public MongoDB\BSON\Int64::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Int64.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
  • Throws MongoDB\Driver\Exception\UnexpectedValueException if the properties cannot be unserialized (i.e. serialized was malformed).
  • Throws MongoDB\Driver\Exception\InvalidArgumentException if the properties are invalid (e.g. missing fields or invalid values).

Ayrıca Bakınız

  • MongoDB\BSON\Int64::serialize() - Serialize an Int64
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Symbol class (deprecated)

(mongodb >=1.4.0)

Giriş

BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON symbol type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sınıf Sözdizimi

final class MongoDB\BSON\Symbol implements MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final private __construct()
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.

İçindekiler

  • MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)
  • MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Symbol::serialize — Serialize a Symbol
  • MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string
  • MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol


Construct a new Symbol (unused)

  • « MongoDB\BSON\Symbol
  • MongoDB\BSON\Symbol::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Construct a new Symbol (unused)

MongoDB\BSON\Symbol::__construct

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)

Açıklama

final private MongoDB\BSON\Symbol::__construct()

MongoDB\BSON\Symbol objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Symbol::__construct
  • MongoDB\BSON\Symbol::serialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Symbol::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Symbol::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Symbol.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Symbol

  • « MongoDB\BSON\Symbol::jsonSerialize
  • MongoDB\BSON\Symbol::__toString »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Serialize a Symbol

MongoDB\BSON\Symbol::serialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::serialize — Serialize a Symbol

Açıklama

final public MongoDB\BSON\Symbol::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Symbol.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Symbol::unserialize() - Unserialize a Symbol
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns the Symbol as a string

  • « MongoDB\BSON\Symbol::serialize
  • MongoDB\BSON\Symbol::unserialize »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Returns the Symbol as a string

MongoDB\BSON\Symbol::__toString

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string

Açıklama

final public MongoDB\BSON\Symbol::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string representation of this Symbol.

Ayrıca Bakınız

  • » BSON Types


Unserialize a Symbol

  • « MongoDB\BSON\Symbol::__toString
  • MongoDB\BSON\Undefined »
  • PHP Manual
  • MongoDB\BSON\Symbol
  • Unserialize a Symbol

MongoDB\BSON\Symbol::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol

Açıklama

final public MongoDB\BSON\Symbol::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Symbol.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Symbol::serialize() - Serialize a Symbol
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The MongoDB\BSON\Undefined class (deprecated)

(mongodb >=1.4.0)

Giriş

BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be instantiated. It will be created from a BSON undefined type while converting BSON to PHP, and can also be converted back into BSON while storing documents in the database.

Sınıf Sözdizimi

final class MongoDB\BSON\Undefined implements MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Yöntemler */
final private __construct()
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+.

İçindekiler

  • MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)
  • MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON
  • MongoDB\BSON\Undefined::serialize — Serialize a Undefined
  • MongoDB\BSON\Undefined::__toString — Returns an empty string
  • MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined


Construct a new Undefined (unused)

  • « MongoDB\BSON\Undefined
  • MongoDB\BSON\Undefined::jsonSerialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Construct a new Undefined (unused)

MongoDB\BSON\Undefined::__construct

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)

Açıklama

final private MongoDB\BSON\Undefined::__construct()

MongoDB\BSON\Undefined objects are created through conversion from a deprecated BSON type and cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • » BSON Types


Returns a representation that can be converted to JSON

  • « MongoDB\BSON\Undefined::__construct
  • MongoDB\BSON\Undefined::serialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Returns a representation that can be converted to JSON

MongoDB\BSON\Undefined::jsonSerialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

final public MongoDB\BSON\Undefined::jsonSerialize(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns data which can be serialized by json_encode() to produce an extended JSON representation of the MongoDB\BSON\Undefined.

Bilginize: The output is consistent with the MongoDB\BSON\toJSON() function, which uses the driver-specific legacy extended JSON format. This does not necessarily match the » relaxed or » canonical extended JSON representations used by MongoDB\BSON\toRelaxedExtendedJSON() and MongoDB\BSON\toCanonicalExtendedJSON(), respectively.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • JsonSerializable::jsonSerialize() - JSON için dizeleştirilecek veriyi belirtmek için
  • json_encode() - Değerin JSON karşılığını verir.
  • MongoDB\BSON\toCanonicalExtendedJSON() - Returns the Canonical Extended JSON representation of a BSON value
  • MongoDB\BSON\toRelaxedExtendedJSON() - Returns the Relaxed Extended JSON representation of a BSON value
  • » MongoDB Extended JSON


Serialize a Undefined

  • « MongoDB\BSON\Undefined::jsonSerialize
  • MongoDB\BSON\Undefined::__toString »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Serialize a Undefined

MongoDB\BSON\Undefined::serialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::serialize — Serialize a Undefined

Açıklama

final public MongoDB\BSON\Undefined::serialize(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the serialized representation of the MongoDB\BSON\Undefined.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Undefined::unserialize() - Unserialize a Undefined
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Returns an empty string

  • « MongoDB\BSON\Undefined::serialize
  • MongoDB\BSON\Undefined::unserialize »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Returns an empty string

MongoDB\BSON\Undefined::__toString

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::__toString — Returns an empty string

Açıklama

final public MongoDB\BSON\Undefined::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an empty string.

Ayrıca Bakınız

  • » BSON Types


Unserialize a Undefined

  • « MongoDB\BSON\Undefined::__toString
  • MongoDB\Driver\Monitoring »
  • PHP Manual
  • MongoDB\BSON\Undefined
  • Unserialize a Undefined

MongoDB\BSON\Undefined::unserialize

(mongodb >=1.4.0)

MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined

Açıklama

final public MongoDB\BSON\Undefined::unserialize(string $data): void

Bağımsız Değişkenler

data

The serialized MongoDB\BSON\Undefined.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\BSON\Undefined::serialize() - Serialize a Undefined
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


Monitoring classes and subscriber functions

  • İşlevleri
    • MongoDB\Driver\Monitoring\addSubscriber — Registers a monitoring event subscriber globally
    • MongoDB\Driver\Monitoring\removeSubscriber — Unregisters a monitoring event subscriber globally
  • MongoDB\Driver\Monitoring\CommandFailedEvent — The MongoDB\Driver\Monitoring\CommandFailedEvent class
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId — Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId — Returns the load balancer service ID for the command
  • MongoDB\Driver\Monitoring\CommandStartedEvent — The MongoDB\Driver\Monitoring\CommandStartedEvent class
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId — Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId — Returns the load balancer service ID for the command
  • MongoDB\Driver\Monitoring\CommandSucceededEvent — The MongoDB\Driver\Monitoring\CommandSucceededEvent class
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId — Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId — Returns the load balancer service ID for the command
  • MongoDB\Driver\Monitoring\ServerChangedEvent — The MongoDB\Driver\Monitoring\ServerChangedEvent class
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription — Returns the new description for the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription — Returns the previous description for the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId — Returns the topology ID associated with this server
  • MongoDB\Driver\Monitoring\ServerClosedEvent — The MongoDB\Driver\Monitoring\ServerClosedEvent class
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId — Returns the topology ID associated with this server
  • MongoDB\Driver\Monitoring\ServerOpeningEvent — The MongoDB\Driver\Monitoring\ServerOpeningEvent class
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId — Returns the topology ID associated with this server
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros — Returns the heartbeat's duration in microseconds
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError — Returns the Exception associated with the failed heartbeat
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent — The MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent class
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros — Returns the heartbeat's duration in microseconds
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost — Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort — Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply — Returns the heartbeat reply document
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited — Returns whether the heartbeat used a streaming protocol
  • MongoDB\Driver\Monitoring\TopologyChangedEvent — The MongoDB\Driver\Monitoring\TopologyChangedEvent class
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription — Returns the new description for the topology
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription — Returns the previous description for the topology
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId — Returns the topology ID
  • MongoDB\Driver\Monitoring\TopologyClosedEvent — The MongoDB\Driver\Monitoring\TopologyClosedEvent class
    • MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId — Returns the topology ID
  • MongoDB\Driver\Monitoring\TopologyOpeningEvent — The MongoDB\Driver\Monitoring\TopologyOpeningEvent class
    • MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId — Returns the topology ID
  • MongoDB\Driver\Monitoring\CommandSubscriber — The MongoDB\Driver\Monitoring\CommandSubscriber interface
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command
  • MongoDB\Driver\Monitoring\LogSubscriber — The MongoDB\Driver\Monitoring\LogSubscriber interface
    • MongoDB\Driver\Monitoring\LogSubscriber::log — Notification method for a log message
  • MongoDB\Driver\Monitoring\SDAMSubscriber — The MongoDB\Driver\Monitoring\SDAMSubscriber interface
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged — Notification method for a server description change
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed — Notification method for closing a server
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed — Notification method for a failed server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted — Notification method for a started server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded — Notification method for a successful server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening — Notification method for opening a server
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged — Notification method for a topology description change
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed — Notification method for closing the topology
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening — Notification method for opening the topology
  • MongoDB\Driver\Monitoring\Subscriber — The MongoDB\Driver\Monitoring\Subscriber interface


İşlevleri

İçindekiler

  • MongoDB\Driver\Monitoring\addSubscriber — Registers a monitoring event subscriber globally
  • MongoDB\Driver\Monitoring\removeSubscriber — Unregisters a monitoring event subscriber globally


Registers a monitoring event subscriber globally

  • « İşlevleri
  • MongoDB\Driver\Monitoring\removeSubscriber »
  • PHP Manual
  • İşlevleri
  • Registers a monitoring event subscriber globally

MongoDB\Driver\Monitoring\addSubscriber

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\addSubscriber — Registers a monitoring event subscriber globally

Açıklama

MongoDB\Driver\Monitoring\addSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void

Registers a monitoring event subscriber globally. The subscriber will be notified of all events in the driver for any Manager.

Bilginize: If subscriber is already registered globally, this function is a no-op. If subscriber is also registered with one or more Managers, it will still only be notified once of each event for each Manager.

Bağımsız Değişkenler

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber to register globally.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\removeSubscriber() - Unregisters a monitoring event subscriber globally
  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager
  • Application Performance Monitoring (APM)


Unregisters a monitoring event subscriber globally

  • « MongoDB\Driver\Monitoring\addSubscriber
  • MongoDB\Driver\Monitoring\CommandFailedEvent »
  • PHP Manual
  • İşlevleri
  • Unregisters a monitoring event subscriber globally

MongoDB\Driver\Monitoring\removeSubscriber

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\removeSubscriber — Unregisters a monitoring event subscriber globally

Açıklama

MongoDB\Driver\Monitoring\removeSubscriber(MongoDB\Driver\Monitoring\Subscriber $subscriber): void

Unregisters a monitoring event subscriber globally.

Bilginize: If subscriber is not already registered globally, this function is a no-op.

Bağımsız Değişkenler

subscriber (MongoDB\Driver\Monitoring\Subscriber)

A monitoring event subscriber to unregister globally.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Monitoring\Subscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Manager::removeSubscriber() - Unregisters a monitoring event subscriber with this Manager
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\CommandFailedEvent class

(mongodb >=1.3.0)

Giriş

The MongoDB\Driver\Monitoring\CommandFailedEvent class encapsulates information about a failed command.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\CommandFailedEvent {
/* Yöntemler */
final public getCommandName(): string
final public getDurationMicros(): int
final public getError(): Exception
final public getOperationId(): string
final public getReply(): object
final public getRequestId(): string
final public getServer(): MongoDB\Driver\Server
final public getServerConnectionId(): ?int
final public getServiceId(): ?MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId — Returns the server connection ID for the command
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId — Returns the load balancer service ID for the command


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandFailedEvent
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName — Returns the command name

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName(): string

Returns the command name (e.g. "find", "aggregate").

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command name.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the command's duration in microseconds

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getError »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's duration in microseconds

MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros — Returns the command's duration in microseconds

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros(): int

The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's duration in microseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the Exception associated with the failed command

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the Exception associated with the failed command

MongoDB\Driver\Monitoring\CommandFailedEvent::getError

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getError — Returns the Exception associated with the failed command

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getError(): Exception

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Exception associated with the failed command.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getError
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId — Returns the command's operation ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId(): string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Bilginize: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() should be used instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's operation ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command reply document

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command reply document

MongoDB\Driver\Monitoring\CommandFailedEvent::getReply

(mongodb >=1.5.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getReply — Returns the command reply document

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getReply(): object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command reply document as a stdClass object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getReply
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId — Returns the command's request ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId(): string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandFailedEvent with a previous MongoDB\Driver\Monitoring\CommandStartedEvent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's request ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandFailedEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getServer — Returns the Server on which the command was executed

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server on which the command was executed.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer() - Returns the Server on which the command was executed
  • Application Performance Monitoring (APM)


Returns the server connection ID for the command

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getServer
  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the server connection ID for the command

MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId

(mongodb >=1.14.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId — Returns the server connection ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId(): ?int

Returns the server connection ID for the command. The server connection ID is distinct from server (i.e. MongoDB\Driver\Monitoring\CommandFailedEvent::getServer()) and is returned in the "connectionId" field of a hello command response MongoDB 4.2+.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the server connection ID, or null if it is not available.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the load balancer service ID for the command

  • « MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId
  • MongoDB\Driver\Monitoring\CommandStartedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • Returns the load balancer service ID for the command

MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId

(mongodb >=1.11.0)

MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId — Returns the load balancer service ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId(): ?MongoDB\BSON\ObjectId

When the driver is connected to a MongoDB cluster through a load balancer, the service ID corresponds to the serviceId field in the hello command response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the load balancer service ID, or null if the driver is not connected to a load balancer.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\CommandStartedEvent class

(mongodb >=1.3.0)

Giriş

The MongoDB\Driver\Monitoring\CommandStartedEvent class encapsulates information about a started command.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\CommandStartedEvent {
/* Yöntemler */
final public getCommand(): object
final public getCommandName(): string
final public getDatabaseName(): string
final public getOperationId(): string
final public getRequestId(): string
final public getServer(): MongoDB\Driver\Server
final public getServerConnectionId(): ?int
final public getServiceId(): ?MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId — Returns the server connection ID for the command
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId — Returns the load balancer service ID for the command


Returns the command document

  • « MongoDB\Driver\Monitoring\CommandStartedEvent
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command document

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand — Returns the command document

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand(): object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command document as a stdClass object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName — Returns the command name

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName(): string

Returns the command name (e.g. "find", "aggregate").

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command name.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the database on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the database on which the command was executed

MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName — Returns the database on which the command was executed

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the database on which the command was executed.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId — Returns the command's operation ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId(): string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Bilginize: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() should be used instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's operation ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId — Returns the command's request ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId(): string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandStartedEvent with a later MongoDB\Driver\Monitoring\CommandFailedEvent or MongoDB\Driver\Monitoring\CommandSucceededEvent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's request ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId() - Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandStartedEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getServer — Returns the Server on which the command was executed

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server on which the command was executed.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer() - Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer() - Returns the Server on which the command was executed
  • Application Performance Monitoring (APM)


Returns the server connection ID for the command

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getServer
  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the server connection ID for the command

MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId

(mongodb >=1.14.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId — Returns the server connection ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId(): ?int

Returns the server connection ID for the command. The server connection ID is distinct from server (i.e. MongoDB\Driver\Monitoring\CommandStartedEvent::getServer()) and is returned in the "connectionId" field of a hello command response MongoDB 4.2+.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the server connection ID, or null if it is not available.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the load balancer service ID for the command

  • « MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId
  • MongoDB\Driver\Monitoring\CommandSucceededEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • Returns the load balancer service ID for the command

MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId

(mongodb >=1.11.0)

MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId — Returns the load balancer service ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId(): ?MongoDB\BSON\ObjectId

When the driver is connected to a MongoDB cluster through a load balancer, the service ID corresponds to the serviceId field in the hello command response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the load balancer service ID, or null if the driver is not connected to a load balancer.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\CommandSucceededEvent class

(mongodb >=1.3.0)

Giriş

The MongoDB\Driver\Monitoring\CommandSucceededEvent class encapsulates information about a successful command.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\CommandSucceededEvent {
/* Yöntemler */
final public getCommandName(): string
final public getDurationMicros(): int
final public getOperationId(): string
final public getReply(): object
final public getRequestId(): string
final public getServer(): MongoDB\Driver\Server
final public getServerConnectionId(): ?int
final public getServiceId(): ?MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId — Returns the server connection ID for the command
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId — Returns the load balancer service ID for the command


Returns the command name

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command name

MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName — Returns the command name

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName(): string

Returns the command name (e.g. "find", "aggregate").

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command name.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the command's duration in microseconds

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's duration in microseconds

MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros — Returns the command's duration in microseconds

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros(): int

The command's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's duration in microseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)


Returns the command's operation ID

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's operation ID

MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId — Returns the command's operation ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId(): string

The operation ID is generated by the driver and may be used to link events together such as bulk write operations, which may have been split across several commands at the protocol level.

Bilginize: Since multiple commands may share the same operation ID, it is not reliable to use this value to associate event objects with each other. The request ID returned by MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() should be used instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's operation ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId() - Returns the command's operation ID
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the command reply document

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command reply document

MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply — Returns the command reply document

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply(): object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command reply document as a stdClass object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns the command's request ID

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the command's request ID

MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId — Returns the command's request ID

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId(): string

The request ID is generated by the driver and may be used to associate this MongoDB\Driver\Monitoring\CommandSucceededEvent with a previous MongoDB\Driver\Monitoring\CommandStartedEvent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the command's request ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId() - Returns the command's request ID
  • Application Performance Monitoring (APM)


Returns the Server on which the command was executed

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the Server on which the command was executed

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer — Returns the Server on which the command was executed

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer(): MongoDB\Driver\Server

Returns the MongoDB\Driver\Server on which the command was executed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the MongoDB\Driver\Server on which the command was executed.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer() - Returns the Server on which the command was executed
  • MongoDB\Driver\Cursor::getServer() - Returns the server associated with this cursor
  • MongoDB\Driver\WriteResult::getServer() - Returns the server associated with this write result
  • Application Performance Monitoring (APM)


Returns the server connection ID for the command

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer
  • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the server connection ID for the command

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId

(mongodb >=1.14.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId — Returns the server connection ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId(): ?int

Returns the server connection ID for the command. The server connection ID is distinct from server (i.e. MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer()) and is returned in the "connectionId" field of a hello command response MongoDB 4.2+.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the server connection ID, or null if it is not available.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the load balancer service ID for the command

  • « MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId
  • MongoDB\Driver\Monitoring\ServerChangedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • Returns the load balancer service ID for the command

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId

(mongodb >=1.11.0)

MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId — Returns the load balancer service ID for the command

Açıklama

final public MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId(): ?MongoDB\BSON\ObjectId

When the driver is connected to a MongoDB cluster through a load balancer, the service ID corresponds to the serviceId field in the hello command response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the load balancer service ID, or null if the driver is not connected to a load balancer.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerChangedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerChangedEvent class encapsulates information about a changed server description.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerChangedEvent {
/* Yöntemler */
final public getHost(): string
final public getNewDescription(): MongoDB\Driver\ServerDescription
final public getPort(): int
final public getPreviousDescription(): MongoDB\Driver\ServerDescription
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerChangedEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription — Returns the new description for the server
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription — Returns the previous description for the server
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId — Returns the topology ID associated with this server


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerChangedEvent
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerChangedEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerChangedEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerChangedEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the new description for the server

  • « MongoDB\Driver\Monitoring\ServerChangedEvent::getHost
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • Returns the new description for the server

MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription — Returns the new description for the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription(): MongoDB\Driver\ServerDescription

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the new MongoDB\Driver\ServerDescription for the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerChangedEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerChangedEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerChangedEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the previous description for the server

  • « MongoDB\Driver\Monitoring\ServerChangedEvent::getPort
  • MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • Returns the previous description for the server

MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription — Returns the previous description for the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription(): MongoDB\Driver\ServerDescription

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the previous MongoDB\Driver\ServerDescription for the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the topology ID associated with this server

  • « MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription
  • MongoDB\Driver\Monitoring\ServerClosedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • Returns the topology ID associated with this server

MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId — Returns the topology ID associated with this server

Açıklama

final public MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerClosedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerClosedEvent class encapsulates information about a closed server.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerClosedEvent {
/* Yöntemler */
final public getHost(): string
final public getPort(): int
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerClosedEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerClosedEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId — Returns the topology ID associated with this server


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerClosedEvent
  • MongoDB\Driver\Monitoring\ServerClosedEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerClosedEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerClosedEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerClosedEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerClosedEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerClosedEvent::getHost
  • MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerClosedEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerClosedEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerClosedEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerClosedEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the topology ID associated with this server

  • « MongoDB\Driver\Monitoring\ServerClosedEvent::getPort
  • MongoDB\Driver\Monitoring\ServerOpeningEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerClosedEvent
  • Returns the topology ID associated with this server

MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId — Returns the topology ID associated with this server

Açıklama

final public MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerOpeningEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerOpeningEvent class encapsulates information about an opened server.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerOpeningEvent {
/* Yöntemler */
final public getHost(): string
final public getPort(): int
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId — Returns the topology ID associated with this server


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerOpeningEvent
  • MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerOpeningEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost
  • MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerOpeningEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the topology ID associated with this server

  • « MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerOpeningEvent
  • Returns the topology ID associated with this server

MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId — Returns the topology ID associated with this server

Açıklama

final public MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent class encapsulates information about a failed server heartbeat.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent {
/* Yöntemler */
final public getDurationMicros(): int
final public getError(): Exception
final public getHost(): string
final public getPort(): int
final public isAwaited(): bool
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros — Returns the heartbeat's duration in microseconds
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError — Returns the Exception associated with the failed heartbeat
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol


Returns the heartbeat's duration in microseconds

  • « MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • Returns the heartbeat's duration in microseconds

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros — Returns the heartbeat's duration in microseconds

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros(): int

The heartbeat's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the heartbeat's duration in microseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the Exception associated with the failed heartbeat

  • « MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • Returns the Exception associated with the failed heartbeat

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError — Returns the Exception associated with the failed heartbeat

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError(): Exception

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Exception associated with the failed heartbeat.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns whether the heartbeat used a streaming protocol

  • « MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • Returns whether the heartbeat used a streaming protocol

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited(): bool

Returns whether the heartbeat used a streaming protocol. The PHP driver does not use the streaming protocol for monitoring, so this method will always return false.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns false.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent class encapsulates information about a started server heartbeat.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent {
/* Yöntemler */
final public getHost(): string
final public getPort(): int
final public isAwaited(): bool
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns whether the heartbeat used a streaming protocol

  • « MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
  • Returns whether the heartbeat used a streaming protocol

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited — Returns whether the heartbeat used a streaming protocol

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited(): bool

Returns whether the heartbeat used a streaming protocol. The PHP driver does not use the streaming protocol for monitoring, so this method will always return false.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns false.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent class encapsulates information about a successful server heartbeat.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent {
/* Yöntemler */
final public getDurationMicros(): int
final public getHost(): string
final public getPort(): int
final public getReply(): object
final public isAwaited(): bool
}

İçindekiler

  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros — Returns the heartbeat's duration in microseconds
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost — Returns the hostname of the server
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort — Returns the port on which this server is listening
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply — Returns the heartbeat reply document
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited — Returns whether the heartbeat used a streaming protocol


Returns the heartbeat's duration in microseconds

  • « MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • Returns the heartbeat's duration in microseconds

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros — Returns the heartbeat's duration in microseconds

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros(): int

The heartbeat's duration is a calculated value that includes the time to send the message and receive the reply from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the heartbeat's duration in microseconds.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the hostname of the server

  • « MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • Returns the hostname of the server

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost — Returns the hostname of the server

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the hostname of the server.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the port on which this server is listening

  • « MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • Returns the port on which this server is listening

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort — Returns the port on which this server is listening

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the port on which this server is listening.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the heartbeat reply document

  • « MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • Returns the heartbeat reply document

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply — Returns the heartbeat reply document

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply(): object

The reply document will be converted from BSON to PHP using the default deserialization rules (e.g. BSON documents will be converted to stdClass).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the heartbeat reply document as a stdClass object.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • Application Performance Monitoring (APM)
  • Persisting Data


Returns whether the heartbeat used a streaming protocol

  • « MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply
  • MongoDB\Driver\Monitoring\TopologyChangedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • Returns whether the heartbeat used a streaming protocol

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited — Returns whether the heartbeat used a streaming protocol

Açıklama

final public MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited(): bool

Returns whether the heartbeat used a streaming protocol. The PHP driver does not use the streaming protocol for monitoring, so this method will always return false.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns false.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\TopologyChangedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\TopologyChangedEvent class encapsulates information about a changed topology description.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\TopologyChangedEvent {
/* Yöntemler */
final public getNewDescription(): MongoDB\Driver\TopologyDescription
final public getPreviousDescription(): MongoDB\Driver\TopologyDescription
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription — Returns the new description for the topology
  • MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription — Returns the previous description for the topology
  • MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId — Returns the topology ID


Returns the new description for the topology

  • « MongoDB\Driver\Monitoring\TopologyChangedEvent
  • MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription »
  • PHP Manual
  • MongoDB\Driver\Monitoring\TopologyChangedEvent
  • Returns the new description for the topology

MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription — Returns the new description for the topology

Açıklama

final public MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription(): MongoDB\Driver\TopologyDescription

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the new MongoDB\Driver\TopologyDescription for the topology.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the previous description for the topology

  • « MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription
  • MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId »
  • PHP Manual
  • MongoDB\Driver\Monitoring\TopologyChangedEvent
  • Returns the previous description for the topology

MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription — Returns the previous description for the topology

Açıklama

final public MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription(): MongoDB\Driver\TopologyDescription

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the previous MongoDB\Driver\TopologyDescription for the topology.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


Returns the topology ID

  • « MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription
  • MongoDB\Driver\Monitoring\TopologyClosedEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\TopologyChangedEvent
  • Returns the topology ID

MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId — Returns the topology ID

Açıklama

final public MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\TopologyClosedEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\TopologyClosedEvent class encapsulates information about a closed topology.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\TopologyClosedEvent {
/* Yöntemler */
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId — Returns the topology ID


Returns the topology ID

  • « MongoDB\Driver\Monitoring\TopologyClosedEvent
  • MongoDB\Driver\Monitoring\TopologyOpeningEvent »
  • PHP Manual
  • MongoDB\Driver\Monitoring\TopologyClosedEvent
  • Returns the topology ID

MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId — Returns the topology ID

Açıklama

final public MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\TopologyOpeningEvent class

(mongodb >=1.13.0)

Giriş

The MongoDB\Driver\Monitoring\TopologyOpeningEvent class encapsulates information about an opened topology.

Sınıf Sözdizimi

final class MongoDB\Driver\Monitoring\TopologyOpeningEvent {
/* Yöntemler */
final public getTopologyId(): MongoDB\BSON\ObjectId
}

İçindekiler

  • MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId — Returns the topology ID


Returns the topology ID

  • « MongoDB\Driver\Monitoring\TopologyOpeningEvent
  • MongoDB\Driver\Monitoring\CommandSubscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\TopologyOpeningEvent
  • Returns the topology ID

MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId — Returns the topology ID

Açıklama

final public MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId(): MongoDB\BSON\ObjectId

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the topology ID.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.


The MongoDB\Driver\Monitoring\CommandSubscriber interface

(mongodb >=1.3.0)

Giriş

Classes may implement this interface to register an event subscriber that is notified for each started, successful, and failed command event. See Application Performance Monitoring (APM) for additional information.

Arayüz Sözdizimi

class MongoDB\Driver\Monitoring\CommandSubscriber implements MongoDB\Driver\Monitoring\Subscriber {
/* Yöntemler */
abstract public commandFailed(MongoDB\Driver\Monitoring\CommandFailedEvent $event): void
abstract public commandStarted(MongoDB\Driver\Monitoring\CommandStartedEvent $event): void
abstract public commandSucceeded(MongoDB\Driver\Monitoring\CommandSucceededEvent $event): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command


Notification method for a failed command

  • « MongoDB\Driver\Monitoring\CommandSubscriber
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a failed command

MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed — Notification method for a failed command

Açıklama

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed(MongoDB\Driver\Monitoring\CommandFailedEvent $event): void

If the subscriber has been registered, the driver will call this method when a command has failed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\CommandFailedEvent)

An event object encapsulating information about the failed command.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandFailedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager
  • Application Performance Monitoring (APM)


Notification method for a started command

  • « MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed
  • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a started command

MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted — Notification method for a started command

Açıklama

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted(MongoDB\Driver\Monitoring\CommandStartedEvent $event): void

If the subscriber has been registered, the driver will call this method when a command has started.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\CommandStartedEvent)

An event object encapsulating information about the started command.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandStartedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager
  • Application Performance Monitoring (APM)


Notification method for a successful command

  • « MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted
  • MongoDB\Driver\Monitoring\LogSubscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\CommandSubscriber
  • Notification method for a successful command

MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded

(mongodb >=1.3.0)

MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded — Notification method for a successful command

Açıklama

abstract public MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded(MongoDB\Driver\Monitoring\CommandSucceededEvent $event): void

If the subscriber has been registered, the driver will call this method when a command has succeeded.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\CommandSucceededEvent)

An event object encapsulating information about the successful command.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\CommandSucceededEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager
  • Application Performance Monitoring (APM)


The MongoDB\Driver\Monitoring\LogSubscriber interface

(mongodb >=1.17.0)

Giriş

Classes implementing this interface may be registered as a subscriber and receive log messages from the driver. This is similar to stream-based debug logging (i.e. mongodb.debug) except that trace-level log messages are not received.

As with stream-based logging, it is only possible to register a logger globally using MongoDB\Driver\Monitoring\addSubscriber(). The driver is not able to distinguish log messages for individual MongoDB\Driver\Manager objects.

Arayüz Sözdizimi

class MongoDB\Driver\Monitoring\LogSubscriber implements MongoDB\Driver\Monitoring\Subscriber {
/* Sabitler */
const int LEVEL_ERROR = 0;
const int LEVEL_CRITICAL = 1;
const int LEVEL_WARNING = 2;
const int LEVEL_MESSAGE = 3;
const int LEVEL_INFO = 4;
const int LEVEL_DEBUG = 5;
/* Yöntemler */
abstract public log(int $level, string $domain, string $message): void
}

Öntanımlı Sabitler

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_ERROR

Error log level. An error condition that the driver is unable to report through its API. This is the most severe log level in the driver.

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_CRITICAL

Critical log level. An error condition with slightly less severity. This constant exists for consistency with libmongoc; however, the driver is unlikely to use it in practice.

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_WARNING

Warning log level. Indicates a situation where undesirable application behavior may occur.

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_MESSAGE

Message or notice log level. Indicates an event that is unusual but not problematic.

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_INFO

Info log level. High-level information about normal driver behavior.

MongoDB\Driver\Monitoring\LogSubscriber::LEVEL_DEBUG

Debug log level. Detailed information that may be helpful when debugging an application.

İçindekiler

  • MongoDB\Driver\Monitoring\LogSubscriber::log — Notification method for a log message


Notification method for a log message

  • « MongoDB\Driver\Monitoring\LogSubscriber
  • MongoDB\Driver\Monitoring\SDAMSubscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\LogSubscriber
  • Notification method for a log message

MongoDB\Driver\Monitoring\LogSubscriber::log

(mongodb >=1.17.0)

MongoDB\Driver\Monitoring\LogSubscriber::log — Notification method for a log message

Açıklama

abstract public MongoDB\Driver\Monitoring\LogSubscriber::log(int $level, string $domain, string $message): void

If the subscriber has been registered, the driver will call this method for each logged message.

Bağımsız Değişkenler

level

The severity level. This will be one of the interface constants.

domain

The name of the driver component that emitted the log message.

message

The log message.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally


The MongoDB\Driver\Monitoring\SDAMSubscriber interface

(mongodb >=1.13.0)

Giriş

Classes may implement this interface to register an event subscriber that is notified for various SDAM events. See the » Server Discovery and Monitoring and » SDAM Monitoring specifications for additional information.

Arayüz Sözdizimi

class MongoDB\Driver\Monitoring\SDAMSubscriber implements MongoDB\Driver\Monitoring\Subscriber {
/* Yöntemler */
abstract public serverChanged(MongoDB\Driver\Monitoring\ServerChangedEvent $event): void
abstract public serverClosed(MongoDB\Driver\Monitoring\ServerClosedEvent $event): void
abstract public serverHeartbeatFailed(MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent $event): void
abstract public serverHeartbeatStarted(MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent $event): void
abstract public serverHeartbeatSucceeded(MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent $event): void
abstract public serverOpening(MongoDB\Driver\Monitoring\ServerOpeningEvent $event): void
abstract public topologyChanged(MongoDB\Driver\Monitoring\TopologyChangedEvent $event): void
abstract public topologyClosed(MongoDB\Driver\Monitoring\TopologyClosedEvent $event): void
abstract public topologyOpening(MongoDB\Driver\Monitoring\TopologyOpeningEvent $event): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.15.0 | Return types for methods are declared as tentative on PHP 8.0 and newer, triggering deprecation notices in code that implements this interface without declaring the appropriate return types. The #[ReturnTypeWillChange] attribute can be added to silence the deprecation notice.

İçindekiler

  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged — Notification method for a server description change
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed — Notification method for closing a server
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed — Notification method for a failed server heartbeat
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted — Notification method for a started server heartbeat
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded — Notification method for a successful server heartbeat
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening — Notification method for opening a server
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged — Notification method for a topology description change
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed — Notification method for closing the topology
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening — Notification method for opening the topology


Notification method for a server description change

  • « MongoDB\Driver\Monitoring\SDAMSubscriber
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for a server description change

MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged — Notification method for a server description change

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged(MongoDB\Driver\Monitoring\ServerChangedEvent $event): void

If the subscriber has been registered, the driver will call this method when a server's description has changed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerChangedEvent)

An event object encapsulating information about the changed server description.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerChangedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for closing a server

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for closing a server

MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed — Notification method for closing a server

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed(MongoDB\Driver\Monitoring\ServerClosedEvent $event): void

If the subscriber has been registered, the driver will call this method when a server is closed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerClosedEvent)

An event object encapsulating information about the closed server.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerClosedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for a failed server heartbeat

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for a failed server heartbeat

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed — Notification method for a failed server heartbeat

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed(MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent $event): void

If the subscriber has been registered, the driver will call this method when a server heartbeat (i.e. » hello command issued through » server monitoring) has failed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent)

An event object encapsulating information about the failed server heartbeat.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for a started server heartbeat

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for a started server heartbeat

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted — Notification method for a started server heartbeat

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted(MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent $event): void

If the subscriber has been registered, the driver will call this method when a server heartbeat (i.e. » hello command issued through » server monitoring) has started.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent)

An event object encapsulating information about the started server heartbeat.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for a successful server heartbeat

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted
  • MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for a successful server heartbeat

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded — Notification method for a successful server heartbeat

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded(MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent $event): void

If the subscriber has been registered, the driver will call this method when a server heartbeat (i.e. » hello command issued through » server monitoring) has succeeded.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent)

An event object encapsulating information about the successful server heartbeat.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for opening a server

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for opening a server

MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening — Notification method for opening a server

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening(MongoDB\Driver\Monitoring\ServerOpeningEvent $event): void

If the subscriber has been registered, the driver will call this method when a server is opened.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\ServerOpeningEvent)

An event object encapsulating information about the opened server.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\ServerOpeningEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for a topology description change

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for a topology description change

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged — Notification method for a topology description change

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged(MongoDB\Driver\Monitoring\TopologyChangedEvent $event): void

If the subscriber has been registered, the driver will call this method when the topology's description has changed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\TopologyChangedEvent)

An event object encapsulating information about the changed topology description.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\TopologyChangedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for closing the topology

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged
  • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for closing the topology

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed — Notification method for closing the topology

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed(MongoDB\Driver\Monitoring\TopologyClosedEvent $event): void

If the subscriber has been registered, the driver will call this method when the topology is closed.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\TopologyClosedEvent)

An event object encapsulating information about the closed topology.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\TopologyClosedEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


Notification method for opening the topology

  • « MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed
  • MongoDB\Driver\Monitoring\Subscriber »
  • PHP Manual
  • MongoDB\Driver\Monitoring\SDAMSubscriber
  • Notification method for opening the topology

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening

(mongodb >=1.13.0)

MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening — Notification method for opening the topology

Açıklama

abstract public MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening(MongoDB\Driver\Monitoring\TopologyOpeningEvent $event): void

If the subscriber has been registered, the driver will call this method when the topology is opened.

Bağımsız Değişkenler

event (MongoDB\Driver\Monitoring\TopologyOpeningEvent)

An event object encapsulating information about the opened topology.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.

Ayrıca Bakınız

  • MongoDB\Driver\Monitoring\TopologyOpeningEvent
  • MongoDB\Driver\Monitoring\addSubscriber() - Registers a monitoring event subscriber globally
  • MongoDB\Driver\Manager::addSubscriber() - Registers a monitoring event subscriber with this Manager


The MongoDB\Driver\Monitoring\Subscriber interface

(mongodb >=1.3.0)

Giriş

Base interface for event subscribers. This is used as a parameter type in the functions MongoDB\Driver\Monitoring\addSubscriber() and MongoDB\Driver\Monitoring\removeSubscriber() and should not be implemented directly.

Arayüz Sözdizimi

class MongoDB\Driver\Monitoring\Subscriber {
}

This interface has no methods. Its only purpose is to be the base interface for all event subscribers.


Exception classes

  • MongoDB\Driver\Exception\AuthenticationException — The MongoDB\Driver\Exception\AuthenticationException class
  • MongoDB\Driver\Exception\BulkWriteException — The MongoDB\Driver\Exception\BulkWriteException class
  • MongoDB\Driver\Exception\CommandException — The MongoDB\Driver\Exception\CommandException class
    • MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command
  • MongoDB\Driver\Exception\ConnectionException — The MongoDB\Driver\Exception\ConnectionException class
  • MongoDB\Driver\Exception\ConnectionTimeoutException — The MongoDB\Driver\Exception\ConnectionTimeoutException class
  • MongoDB\Driver\Exception\EncryptionException — The MongoDB\Driver\Exception\EncryptionException class
  • MongoDB\Driver\Exception\Exception — The MongoDB\Driver\Exception\Exception interface
  • MongoDB\Driver\Exception\ExecutionTimeoutException — The MongoDB\Driver\Exception\ExecutionTimeoutException class
  • MongoDB\Driver\Exception\InvalidArgumentException — The MongoDB\Driver\Exception\InvalidArgumentException class
  • MongoDB\Driver\Exception\LogicException — The MongoDB\Driver\Exception\LogicException class
  • MongoDB\Driver\Exception\RuntimeException — The MongoDB\Driver\Exception\RuntimeException class
    • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception
  • MongoDB\Driver\Exception\ServerException — The MongoDB\Driver\Exception\ServerException class
  • MongoDB\Driver\Exception\SSLConnectionException — The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)
  • MongoDB\Driver\Exception\UnexpectedValueException — The MongoDB\Driver\Exception\UnexpectedValueException class
  • MongoDB\Driver\Exception\WriteException — The MongoDB\Driver\Exception\WriteException class
    • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation
  • Class Tree — MongoDB Exception Class Tree


The MongoDB\Driver\Exception\AuthenticationException class

(mongodb >= 1.0.0)

Giriş

Thrown when the driver fails to authenticate with the server.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\AuthenticationException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\BulkWriteException class

(mongodb >= 1.0.0)

Giriş

Thrown when a bulk write operation fails.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\BulkWriteException extends MongoDB\Driver\Exception\WriteException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected MongoDB\Driver\WriteResult $writeResult;
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\WriteException::getWriteResult(): MongoDB\Driver\WriteResult
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\CommandException class

(mongodb >= 1.5.0)

Giriş

Thrown when a command fails.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\CommandException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Özellikler */
protected object $resultDocument;
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
final public getResultDocument(): object
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

resultDocument

The result document associated with the failed command.

İçindekiler

  • MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command


Returns the result document for the failed command

  • « MongoDB\Driver\Exception\CommandException
  • MongoDB\Driver\Exception\ConnectionException »
  • PHP Manual
  • MongoDB\Driver\Exception\CommandException
  • Returns the result document for the failed command

MongoDB\Driver\Exception\CommandException::getResultDocument

(mongodb >= 1.5.0)

MongoDB\Driver\Exception\CommandException::getResultDocument — Returns the result document for the failed command

Açıklama

final public MongoDB\Driver\Exception\CommandException::getResultDocument(): object

Returns the result document for the failed command.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The result document for the failed command.

Ayrıca Bakınız

  • MongoDB\Driver\Manager::executeCommand() - Execute a database command


The MongoDB\Driver\Exception\ConnectionException class

(mongodb >= 1.0.0)

Giriş

Base class for exceptions thrown when the driver fails to establish a database connection.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\ConnectionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\ConnectionTimeoutException class

(mongodb >= 1.0.0)

Giriş

Thrown when the driver fails to establish a database connection within a specified time limit (connectTimeoutMS) or server selection fails (serverSelectionTimeoutMS).

Sınıf Sözdizimi

final class MongoDB\Driver\Exception\ConnectionTimeoutException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\EncryptionException class

(mongodb >= 1.7.0)

Giriş

Base class for exceptions thrown during client-side encryption.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\EncryptionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\Exception interface

(mongodb >= 1.0.0)

Giriş

Common interface for all driver exceptions. This may be used to catch only exceptions originating from the driver itself.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\Exception {
}


The MongoDB\Driver\Exception\ExecutionTimeoutException class

(mongodb >= 1.0.0)

Giriş

Thrown when a query or command fails to complete within a specified time limit (e.g. » maxTimeMS).

Sınıf Sözdizimi

final class MongoDB\Driver\Exception\ExecutionTimeoutException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.5.0 | This class now extends MongoDB\Driver\Exception\ServerException instead of MongoDB\Driver\Exception\RuntimeException.


The MongoDB\Driver\Exception\InvalidArgumentException class

(mongodb >= 1.0.0)

Giriş

Thrown when a driver method is given invalid arguments (e.g. invalid option types).

Sınıf Sözdizimi

class MongoDB\Driver\Exception\InvalidArgumentException extends InvalidArgumentException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\LogicException class

(mongodb >= 1.0.0)

Giriş

Thrown when the driver is incorrectly used (e.g. rewinding a cursor).

Sınıf Sözdizimi

class MongoDB\Driver\Exception\LogicException extends LogicException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\RuntimeException class

(mongodb >= 1.0.0)

Giriş

Thrown when the driver encounters a runtime error (e.g. internal error from » libmongoc).

Sınıf Sözdizimi

class MongoDB\Driver\Exception\RuntimeException extends RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Özellikler */
protected ?array $errorLabels;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
final public hasErrorLabel(string $errorLabel): bool
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

errorLabels

Contains an array of error labels to go with an exception. For example, error labels can be used to detect whether a transaction can be retried safely if the TransientTransactionError label is present. The existence of a specific error label should be tested for with the MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(), instead of interpreting this errorLabels property manually.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.6.0 | The MongoDB\Driver\Exception\RuntimeException::hasErrorLabel() method and MongoDB\Driver\Exception\RuntimeException::errorLabels property have been added.

İçindekiler

  • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception


Returns whether an error label is associated with an exception

  • « MongoDB\Driver\Exception\RuntimeException
  • MongoDB\Driver\Exception\ServerException »
  • PHP Manual
  • MongoDB\Driver\Exception\RuntimeException
  • Returns whether an error label is associated with an exception

MongoDB\Driver\Exception\RuntimeException::hasErrorLabel

(mongodb >= 1.6.0)

MongoDB\Driver\Exception\RuntimeException::hasErrorLabel — Returns whether an error label is associated with an exception

Açıklama

final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool

Returns whether the errorLabel has been set for this exception. Error labels are set by either the server or the driver to indicated specific situations on which you might want to decide on how you want to handle a specific exception. A common situation might be to find out whether you can safely retry a transaction that failed due to a transient error (like a networking issue, or a transaction conflict). Examples of error labels are TransientTransactionError and UnknownTransactionCommitResult.

Bağımsız Değişkenler

errorLabel

The name of the errorLabel to test for.

Dönen Değerler

Whether the given errorLabel is associated with this exception.

Ayrıca Bakınız

  • MongoDB\Driver\Session::commitTransaction() - Commits a transaction
  • » MongoDB documentation on transactions


The MongoDB\Driver\Exception\ServerException class

(mongodb >= 1.5.0)

Giriş

Base class for exceptions thrown by the server. The code of this exception and its subclasses will correspond to the original error code from the server.

Sınıf Sözdizimi

class MongoDB\Driver\Exception\ServerException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\SSLConnectionException class (deprecated)

(mongodb >= 1.0.0)

Uyarı

This exception class is deprecated and may be removed in a future major version. The driver has never thrown this exception.

Giriş

Thrown when the driver fails to establish an SSL connection with the server.

Sınıf Sözdizimi

final class MongoDB\Driver\Exception\SSLConnectionException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\UnexpectedValueException class

(mongodb >= 1.0.0)

Giriş

Thrown when the driver encounters an unexpected value (e.g. during BSON serialization or deserialization).

Sınıf Sözdizimi

class MongoDB\Driver\Exception\UnexpectedValueException extends UnexpectedValueException implements MongoDB\Driver\Exception\Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The MongoDB\Driver\Exception\WriteException class

(mongodb >= 1.0.0)

Giriş

Base class for exceptions thrown by a failed write operation. The exception encapsulates a MongoDB\Driver\WriteResult object.

Sınıf Sözdizimi

abstract class MongoDB\Driver\Exception\WriteException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
/* Özellikler */
protected MongoDB\Driver\WriteResult $writeResult;
/* Miras alınan özellikler */
protected ?array $errorLabels;
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
final public getWriteResult(): MongoDB\Driver\WriteResult
/* Miras alınan yöntemler */
final public MongoDB\Driver\Exception\RuntimeException::hasErrorLabel(string $errorLabel): bool
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

writeResult

The MongoDB\Driver\WriteResult associated with the failed write operation.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL mongodb 1.5.0 | This class now extends MongoDB\Driver\Exception\ServerException instead of MongoDB\Driver\Exception\RuntimeException.

İçindekiler

  • MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation


Returns the WriteResult for the failed write operation

  • « MongoDB\Driver\Exception\WriteException
  • Class Tree »
  • PHP Manual
  • MongoDB\Driver\Exception\WriteException
  • Returns the WriteResult for the failed write operation

MongoDB\Driver\Exception\WriteException::getWriteResult

(mongodb >= 1.0.0)

MongoDB\Driver\Exception\WriteException::getWriteResult — Returns the WriteResult for the failed write operation

Açıklama

final public MongoDB\Driver\Exception\WriteException::getWriteResult(): MongoDB\Driver\WriteResult

Returns the MongoDB\Driver\WriteResult for the failed write operation. The MongoDB\Driver\WriteResult::getWriteErrors() and MongoDB\Driver\WriteResult::getWriteConcernError() methods may be used to get more details about the failure.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The MongoDB\Driver\WriteResult for the failed write operation.

Örnekler

Örnek 1 MongoDB\Driver\Exception\WriteException::getWriteResult() example

<?php

$manager = new MongoDB\Driver\Manager('mongodb://localhost');
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['_id' => 1]);
$bulk->insert(['_id' => 1]);

try {
$manager->executeBulkWrite('db.collection', $bulk);
} catch (MongoDB\Driver\Exception\WriteException $e) {
$writeResult = $e->getWriteResult();

if ($writeConcernError = $writeResult->getWriteConcernError()) {
var_dump($writeConcernError);
}

if ($writeErrors = $writeResult->getWriteErrors()) {
var_dump($writeErrors);
}
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  object(MongoDB\Driver\WriteError)#5 (4) {
    ["message"]=>
    string(70) "E11000 duplicate key error index: db.collection.$_id_ dup key: { : 1 }"
    ["code"]=>
    int(11000)
    ["index"]=>
    int(1)
    ["info"]=>
    NULL
  }
}

Ayrıca Bakınız

  • MongoDB\Driver\WriteResult
  • MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations


MongoDB Exception Class Tree

The class hierarchy for MongoDB exceptions is modeled after that of the SPL Exceptions. Base classes extend their SPL counterpart and all exception classes in the extension implement the MongoDB\Driver\Exception\Exception interface.

  • MongoDB\Driver\Exception\LogicException (extends LogicException)
  • MongoDB\Driver\Exception\InvalidArgumentException (extends InvalidArgumentException)
  • MongoDB\Driver\Exception\UnexpectedValueException (extends UnexpectedValueException)
  • MongoDB\Driver\Exception\RuntimeException (extends RuntimeException)
    • MongoDB\Driver\Exception\ConnectionException
      • MongoDB\Driver\Exception\AuthenticationException
      • MongoDB\Driver\Exception\ConnectionTimeoutException
      • MongoDB\Driver\Exception\SSLConnectionException (deprecated)
    • MongoDB\Driver\Exception\EncryptionException
    • MongoDB\Driver\Exception\ServerException
      • MongoDB\Driver\Exception\CommandException
      • MongoDB\Driver\Exception\ExecutionTimeoutException
      • MongoDB\Driver\Exception\WriteException
        • MongoDB\Driver\Exception\BulkWriteException


MySQL Drivers and Plugins

PHP offers several MySQL drivers and plugins for accessing and handling MySQL.

The differences and functionality of the MySQL extensions are described within the overview of this section.

  • Overview of the MySQL PHP drivers
    • Terminology overview
    • Choosing an API
    • Choosing a library
    • Concepts
  • MySQLi — MySQL Improved Extension
    • Giriş
    • Overview
    • Quick start guide
    • Yapılandırma/Kurulum
    • The mysqli Extension and Persistent Connections
    • Öntanımlı Sabitler
    • Notes
    • The MySQLi Extension Function Summary
    • mysqli — The mysqli class
    • mysqli_stmt — The mysqli_stmt class
    • mysqli_result — The mysqli_result class
    • mysqli_driver — The mysqli_driver class
    • mysqli_warning — The mysqli_warning class
    • mysqli_sql_exception — The mysqli_sql_exception class
    • Aliases and deprecated Mysqli İşlevleri
    • Sürüm Bilgisi
  • Mysql_xdevapi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Sürüm Bilgisi
    • Örnekler
    • Mysql_xdevapi İşlevleri
    • mysql_xdevapi\BaseResult — BaseResult interface
    • mysql_xdevapi\Client — Client class
    • mysql_xdevapi\Collection — Collection class
    • mysql_xdevapi\CollectionAdd — CollectionAdd class
    • mysql_xdevapi\CollectionFind — CollectionFind class
    • mysql_xdevapi\CollectionModify — CollectionModify class
    • mysql_xdevapi\CollectionRemove — CollectionRemove class
    • mysql_xdevapi\ColumnResult — ColumnResult class
    • mysql_xdevapi\CrudOperationBindable — CrudOperationBindable interface
    • mysql_xdevapi\CrudOperationLimitable — CrudOperationLimitable interface
    • mysql_xdevapi\CrudOperationSkippable — CrudOperationSkippable interface
    • mysql_xdevapi\CrudOperationSortable — CrudOperationSortable interface
    • mysql_xdevapi\DatabaseObject — DatabaseObject interface
    • mysql_xdevapi\DocResult — DocResult class
    • mysql_xdevapi\Exception — Exception class
    • mysql_xdevapi\Executable — Executable interface
    • mysql_xdevapi\ExecutionStatus — ExecutionStatus class
    • mysql_xdevapi\Expression — Expression class
    • mysql_xdevapi\Result — Result class
    • mysql_xdevapi\RowResult — RowResult class
    • mysql_xdevapi\Schema — Schema class
    • mysql_xdevapi\SchemaObject — SchemaObject interface
    • mysql_xdevapi\Session — Session class
    • mysql_xdevapi\SqlStatement — SqlStatement class
    • mysql_xdevapi\SqlStatementResult — SqlStatementResult class
    • mysql_xdevapi\Statement — Statement class
    • mysql_xdevapi\Table — Table class
    • mysql_xdevapi\TableDelete — TableDelete class
    • mysql_xdevapi\TableInsert — TableInsert class
    • mysql_xdevapi\TableSelect — TableSelect class
    • mysql_xdevapi\TableUpdate — TableUpdate class
    • mysql_xdevapi\Warning — Warning class
  • MySQL (Özgün) — Özgün MySQL API
    • Giriş
    • Yapılandırma/Kurulum
    • Sürüm Bilgisi
    • Öntanımlı Sabitler
    • Örnekler
    • MySQL İşlevleri
  • Mysqlnd — MySQL Native Driver
    • Giriş
    • Overview
    • Installation
    • Çalışma Anı Yapılandırması
    • Incompatibilities
    • Persistent Connections
    • Statistics
    • Notes
    • Memory management
    • MySQL Native Driver Plugin API


Overview of the MySQL PHP drivers

Introduction

There are several PHP APIs for accessing the MySQL database. Users can choose between the mysqli or PDO_MySQL extensions.

This guide explains the terminology used to describe each API, information about choosing which API to use, and also information to help choose which MySQL library to use with the API.

  • Terminology overview
  • Choosing an API
  • Choosing a library
  • Concepts
    • Buffered and Unbuffered queries
    • Character sets


Terminology overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two, the latter is usually the preferred interface, as it is more modern and leads to better organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term driver is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation, you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extension, mysqli, is implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.


Choosing an API

PHP offers different APIs to connect to MySQL. Below we show the APIs provided by the mysqli and PDO extensions. Each code snippet creates a connection to a MySQL server running on "example.com" using the username "user" and the password "password". And a query is run to greet the user.

Örnek 1 Comparing the MySQL APIs

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

Örnek 2 Comparing prepared statements

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$statement = $mysqli->prepare("SELECT District FROM City WHERE Name=?");
$statement->execute(["Amersfoort"]);
$result = $statement->get_result();
$row = $result->fetch_assoc();
echo htmlentities($row['District']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->prepare("SELECT District FROM City WHERE Name=?");
$statement->execute(["Amersfoort"]);
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['District']);

Feature comparison

The overall performance of both extensions is considered to be about the same. Although the performance of the extension contributes only a fraction of the total run time of a PHP web request. Often, the impact is as low as 0.1%.

 | ext/mysqli | PDO_MySQL
PHP version introduced | 5.0 | 5.1
Included with PHP 7.x and 8.x | Yes | Yes
Development status | Active | Active
Lifecycle | Active | Active
Recommended for new projects | Yes | Yes
OOP Interface | Yes | Yes
Procedural Interface | Yes | No
API supports non-blocking, asynchronous queries with mysqlnd | Yes | No
Persistent Connections | Yes | Yes
API supports Charsets | Yes | Yes
API supports server-side Prepared Statements | Yes | Yes
API supports client-side Prepared Statements | No | Yes
API supports Stored Procedures | Yes | Yes
API supports Multiple Statements | Yes | Most
API supports Transactions | Yes | Yes
Transactions can be controlled with SQL | Yes | Yes
Supports all MySQL 5.1+ functionality | Yes | Most


Choosing a library

The mysqli and PDO_MySQL PHP extensions are lightweight wrappers on top of a C client library. The extensions can either use the mysqlnd library or the libmysqlclient library. Choosing a library is a compile time decision.

The mysqlnd library is part of the PHP distribution. It offers features like lazy connections and query caching, features that are not available with libmysqlclient, so using the built-in mysqlnd library is highly recommended. See the mysqlnd documentation for additional details, and a listing of features and functionality that it offers.

Örnek 1 Configure commands for using mysqlnd or libmysqlclient

// Recommended, compiles with mysqlnd
$ ./configure --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd

// Alternatively recommended, compiles with mysqlnd
$ ./configure --with-mysqli --with-pdo-mysql

// Not recommended, compiles with libmysqlclient
$ ./configure --with-mysqli=/path/to/mysql_config --with-pdo-mysql=/path/to/mysql_config

Library feature comparison

It is recommended to use the mysqlnd library instead of the MySQL Client Server library (libmysqlclient). Both libraries are supported and constantly being improved.

 | MySQL native driver (mysqlnd) | MySQL client server library (libmysqlclient)
Part of the PHP distribution | Yes | No
PHP version introduced | 5.3.0 | N/A
License | PHP License 3.01 | Dual-License
Development status | Active | Active
Lifecycle | No end announced | No end announced
Compile default (for all MySQL extensions) | Yes | No
Compression protocol support | Yes | Yes
SSL support | Yes | Yes
Named pipe support | Yes | Yes
Non-blocking, asynchronous queries | Yes | No
Performance statistics | Yes | No
LOAD LOCAL INFILE respects the open_basedir directive | Yes | No
Uses PHP's native memory management system (e.g., follows PHP memory limits) | Yes | No
Return numeric column as double (COM_QUERY) | Yes | No
Return numeric column as string (COM_QUERY) | Yes | Yes
Plugin API | Yes | Limited
Automatic reconnect | No | Optional


Concepts

İçindekiler

  • Buffered and Unbuffered queries
  • Character sets

These concepts are specific to the MySQL drivers for PHP.


Buffered and Unbuffered queries

Queries are using the buffered mode by default. This means that query results are immediately transferred from the MySQL Server to PHP and then are kept in the memory of the PHP process. This allows additional operations like counting the number of rows, and moving (seeking) the current result pointer. It also allows issuing further queries on the same connection while working on the result set. The downside of the buffered mode is that larger result sets might require quite a lot memory. The memory will be kept occupied till all references to the result set are unset or the result set was explicitly freed, which will automatically happen during request end at the latest. The terminology "store result" is also used for buffered mode, as the whole result set is stored at once.

Bilginize:

When using libmysqlclient as library PHP's memory limit won't count the memory used for result sets unless the data is fetched into PHP variables. With mysqlnd the memory accounted for will include the full result set.

Unbuffered MySQL queries execute the query and then wait for the data from the MySQL server to be fetched. This uses less memory on the PHP-side, but can increase the load on the server. Unless the full result set was fetched from the server no further queries can be sent over the same connection. Unbuffered queries can also be referred to as "use result". Once all rows in the result set are fetched, the result set is gone and it cannot be iterated again.

Following these characteristics, unbuffered queries should be used only when a large result set is expected that will be processed sequentially. Unbuffered queries contain a number of pitfalls that makes it more difficult to use them, e.g. the number of rows in the result set is unknown until the last row is fetched. Buffered queries are the easier and more flexible way to process result sets.

Because buffered queries are the default, the examples below will demonstrate how to execute unbuffered queries with each API.

Örnek 1 Unbuffered query example: mysqli

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$unbufferedResult = $mysqli->query("SELECT Name FROM City", MYSQLI_USE_RESULT);

foreach ($unbufferedResult as $row) {
echo $row['Name'] . PHP_EOL;
}
?>

Örnek 2 Unbuffered query example: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$unbufferedResult = $pdo->query("SELECT Name FROM City");
foreach ($unbufferedResult as $row) {
echo $row['Name'] . PHP_EOL;
}
?>


Character sets

Ideally a proper character set will be set at the server level, and doing this is described within the » Character Set Configuration section of the MySQL Server manual. Alternatively, each MySQL API offers a method to set the character set at runtime.

Dikkat

The character set and character escaping

The character set should be understood and defined, as it has an affect on every action, and includes security implications. For example, the escaping mechanism (e.g., mysqli_real_escape_string() for mysqli and PDO::quote() for PDO_MySQL) will adhere to this setting. It is important to realize that these functions will not use the character set that is defined with a query, so for example the following will not have an effect on them:

Örnek 1 Problems with setting the character set with SQL

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET NAMES utf8mb4");

// Will NOT affect $mysqli->real_escape_string();
$mysqli->query("SET CHARACTER SET utf8mb4");

// But, this will affect $mysqli->real_escape_string();
$mysqli->set_charset('utf8mb4');

// But, this will NOT affect it (UTF-8 vs utf8mb4) -- don't use dashes here
$mysqli->set_charset('UTF-8');
?>

Below are examples that demonstrate how to properly alter the character set at runtime using each API.

Bilginize: Possible UTF-8 confusion

Because character set names in MySQL do not contain dashes, the string "utf8" is valid in MySQL to set the character set to UTF-8 (up to 3 byte UTF-8 Unicode Encoding). The string "UTF-8" is not valid, as using "UTF-8" will fail to change the character set and will throw an error.

Örnek 2 Setting the character set example: mysqli

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

echo 'Initial character set: ' . $mysqli->character_set_name() . "\n";

if (!$mysqli->set_charset('utf8mb4')) {
printf("Error loading character set utf8mb4: %s\n", $mysqli->error);
exit;
}

echo 'Your current character set is: ' . $mysqli->character_set_name() . "\n";
?>

Örnek 3 Setting the character set example: pdo_mysql

<?php
$pdo = new PDO("mysql:host=localhost;dbname=world;charset=utf8mb4", 'my_user', 'my_pass');
?>


MySQL Improved Extension

  • Giriş
  • Overview
  • Quick start guide
    • Dual procedural and object-oriented interface
    • Connections
    • Executing statements
    • Prepared Statements
    • Stored Procedures
    • Multiple Statements
    • API support for transactions
    • Metadata
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • The mysqli Extension and Persistent Connections
  • Öntanımlı Sabitler
  • Notes
  • The MySQLi Extension Function Summary
  • mysqli — The mysqli class
    • mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation
    • mysqli::autocommit — Turns on or off auto-committing database modifications
    • mysqli::begin_transaction — Starts a transaction
    • mysqli::change_user — Changes the user of the specified database connection
    • mysqli::character_set_name — Returns the current character set of the database connection
    • mysqli::close — Closes a previously opened database connection
    • mysqli::commit — Commits the current transaction
    • mysqli::$connect_errno — Returns the error code from last connect call
    • mysqli::$connect_error — Returns a description of the last connection error
    • mysqli::__construct — Open a new connection to the MySQL server
    • mysqli::debug — Performs debugging operations
    • mysqli::dump_debug_info — Dump debugging information into the log
    • mysqli::$errno — Returns the error code for the most recent function call
    • mysqli::$error_list — Returns a list of errors from the last command executed
    • mysqli::$error — Returns a string description of the last error
    • mysqli::execute_query — Prepares, binds parameters, and executes SQL statement
    • mysqli::$field_count — Returns the number of columns for the most recent query
    • mysqli::get_charset — Returns a character set object
    • mysqli::$client_info — Get MySQL client info
    • mysqli::$client_version — Returns the MySQL client version as an integer
    • mysqli::get_connection_stats — Returns statistics about the client connection
    • mysqli::$host_info — Returns a string representing the type of connection used
    • mysqli::$protocol_version — Returns the version of the MySQL protocol used
    • mysqli::$server_info — Returns the version of the MySQL server
    • mysqli::$server_version — Returns the version of the MySQL server as an integer
    • mysqli::get_warnings — Get result of SHOW WARNINGS
    • mysqli::$info — Retrieves information about the most recently executed query
    • mysqli::init — Initializes MySQLi and returns an object for use with mysqli_real_connect()
    • mysqli::$insert_id — Returns the value generated for an AUTO_INCREMENT column by the last query
    • mysqli::kill — Asks the server to kill a MySQL thread
    • mysqli::more_results — Check if there are any more query results from a multi query
    • mysqli::multi_query — Performs one or more queries on the database
    • mysqli::next_result — Prepare next result from multi_query
    • mysqli::options — Set options
    • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll — Poll connections
    • mysqli::prepare — Prepares an SQL statement for execution
    • mysqli::query — Performs a query on the database
    • mysqli::real_connect — Opens a connection to a mysql server
    • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query — Execute an SQL query
    • mysqli::reap_async_query — Get result from async query
    • mysqli::refresh — Refreshes
    • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback — Rolls back current transaction
    • mysqli::savepoint — Set a named transaction savepoint
    • mysqli::select_db — Selects the default database for database queries
    • mysqli::set_charset — Sets the client character set
    • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
    • mysqli::ssl_set — Used for establishing secure connections using SSL
    • mysqli::stat — Gets the current system status
    • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result — Transfers a result set from the last query
    • mysqli::$thread_id — Returns the thread ID for the current connection
    • mysqli::thread_safe — Returns whether thread safety is given or not
    • mysqli::use_result — Initiate a result set retrieval
    • mysqli::$warning_count — Returns the number of warnings from the last query for the given link
  • mysqli_stmt — The mysqli_stmt class
    • mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed
    • mysqli_stmt::attr_get — Used to get the current value of a statement attribute
    • mysqli_stmt::attr_set — Used to modify the behavior of a prepared statement
    • mysqli_stmt::bind_param — Binds variables to a prepared statement as parameters
    • mysqli_stmt::bind_result — Binds variables to a prepared statement for result storage
    • mysqli_stmt::close — Closes a prepared statement
    • mysqli_stmt::__construct — Constructs a new mysqli_stmt object
    • mysqli_stmt::data_seek — Adjusts the result pointer to an arbitrary row in the buffered result
    • mysqli_stmt::$errno — Returns the error code for the most recent statement call
    • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
    • mysqli_stmt::$error — Returns a string description for last statement error
    • mysqli_stmt::execute — Executes a prepared statement
    • mysqli_stmt::fetch — Fetch results from a prepared statement into the bound variables
    • mysqli_stmt::$field_count — Returns the number of columns in the given statement
    • mysqli_stmt::free_result — Frees stored result memory for the given statement handle
    • mysqli_stmt::get_result — Gets a result set from a prepared statement as a mysqli_result object
    • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
    • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
    • mysqli_stmt::more_results — Check if there are more query results from a multiple query
    • mysqli_stmt::next_result — Reads the next result from a multiple query
    • mysqli_stmt::$num_rows — Returns the number of rows fetched from the server
    • mysqli_stmt::$param_count — Returns the number of parameters for the given statement
    • mysqli_stmt::prepare — Prepares an SQL statement for execution
    • mysqli_stmt::reset — Resets a prepared statement
    • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data — Send data in blocks
    • mysqli_stmt::$sqlstate — Returns SQLSTATE error from previous statement operation
    • mysqli_stmt::store_result — Stores a result set in an internal buffer
  • mysqli_result — The mysqli_result class
    • mysqli_result::__construct — Constructs a mysqli_result object
    • mysqli_result::$current_field — Get current field offset of a result pointer
    • mysqli_result::data_seek — Adjusts the result pointer to an arbitrary row in the result
    • mysqli_result::fetch_all — Fetch all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_array — Fetch the next row of a result set as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc — Fetch the next row of a result set as an associative array
    • mysqli_result::fetch_column — Fetch a single column from the next row of a result set
    • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
    • mysqli_result::fetch_field — Returns the next field in the result set
    • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
    • mysqli_result::fetch_object — Fetch the next row of a result set as an object
    • mysqli_result::fetch_row — Fetch the next row of a result set as an enumerated array
    • mysqli_result::$field_count — Gets the number of fields in the result set
    • mysqli_result::field_seek — Set result pointer to a specified field offset
    • mysqli_result::free — Frees the memory associated with a result
    • mysqli_result::getIterator — Retrieve an external iterator
    • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows — Gets the number of rows in the result set
  • mysqli_driver — The mysqli_driver class
    • mysqli_driver::embedded_server_end — Stop embedded server
    • mysqli_driver::embedded_server_start — Initialize and start embedded server
    • mysqli_driver::$report_mode — Sets mysqli error reporting mode
  • mysqli_warning — The mysqli_warning class
    • mysqli_warning::__construct — Private constructor to disallow direct instantiation
    • mysqli_warning::next — Fetch next warning
  • mysqli_sql_exception — The mysqli_sql_exception class
    • mysqli_sql_exception::getSqlState — Returns the SQLSTATE error code
  • Aliases and deprecated Mysqli İşlevleri
    • mysqli_connect — Takma Adı: mysqli::__construct
    • mysqli::escape_string — Takma Adı: mysqli_real_escape_string
    • mysqli_execute — Takma Adı: mysqli_stmt_execute
    • mysqli_get_client_stats — Returns client per-process statistics
    • mysqli_get_links_stats — Return information about open and cached links
    • mysqli_report — Takma Adı: mysqli_driver->report_mode
    • mysqli::set_opt — Takma Adı: mysqli_options
  • Sürüm Bilgisi


Giriş

The mysqli extension allows you to access the functionality provided by MySQL 4.1 and above. More information about the MySQL Database server can be found at » http://www.mysql.com/

An overview of software available for using MySQL from PHP can be found at Overview

Documentation for MySQL can be found at » http://dev.mysql.com/doc/.

Parts of this documentation included from MySQL manual with permissions of Oracle Corporation.

Examples use either the » world or » sakila database, which are freely available.


Overview

This section provides an introduction to the options available to you when developing a PHP application that needs to interact with a MySQL database.

What is an API?

An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions.

APIs can be procedural or object-oriented. With a procedural API, you call functions to carry out tasks, with the object-oriented API you instantiate classes and then call methods on the resulting objects. Of the two, the latter is usually the preferred interface, as it is more modern and leads to better-organized code.

When writing PHP applications that need to connect to the MySQL server there are several API options available. This document discusses what is available and how to select the best solution for your application.

What is a Connector?

In the MySQL documentation, the term connector refers to a piece of software that allows your application to connect to the MySQL database server. MySQL provides connectors for a variety of languages, including PHP.

If your PHP application needs to communicate with a database server you will need to write PHP code to perform such activities as connecting to the database server, querying the database, and other database-related functions. Software is required to provide the API that your PHP application will use, and also handle the communication between your application and the database server, possibly using other intermediate libraries where necessary. This software is known generically as a connector, as it allows your application to connect to a database server.

What is a Driver?

A driver is a piece of software designed to communicate with a specific type of database server. The driver may also call a library, such as the MySQL Client Library or the MySQL Native Driver. These libraries implement the low-level protocol used to communicate with the MySQL database server.

By way of an example, the PHP Data Objects (PDO) database abstraction layer may use one of several database-specific drivers. One of the drivers it has available is the PDO MYSQL driver, which allows it to interface with the MySQL server.

Sometimes people use the terms connector and driver interchangeably, this can be confusing. In the MySQL-related documentation the term driver is reserved for software that provides the database-specific part of a connector package.

What is an Extension?

In the PHP documentation you will come across another term - extension. The PHP code consists of a core, with optional extensions to the core functionality. PHP's MySQL-related extensions, such as the mysqli extension, and the PDO MySQL driver extension, are implemented using the PHP extension framework.

An extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer.

The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it.

The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer.

What are the main PHP API offerings for using MySQL?

There are two main API options when considering connecting to a MySQL database server:

  • PHP's mysqli Extension

  • PHP Data Objects (PDO)

Each has its own advantages and disadvantages. The following discussion aims to give a brief introduction to the key aspects of each API.

What is PHP's mysqli Extension?

The mysqli extension, or as it is sometimes known, the MySQL improved extension, was developed to take advantage of new features found in MySQL systems versions 4.1.3 and newer. The mysqli extension is included with PHP versions 5 and later.

The mysqli extension has a number of benefits, the key enhancements over the mysql extension being:

  • Object-oriented interface

  • Support for Prepared Statements

  • Support for Multiple Statements

  • Support for Transactions

  • Enhanced debugging capabilities

As well as the object-oriented interface the extension also provides a procedural interface.

The mysqli extension is built using the PHP extension framework, its source code is located in the directory ext/mysqli.

For further information on the mysqli extension, see MySQLi.

What is PDO?

PHP Data Objects, or PDO, is a database abstraction layer specifically for PHP applications. PDO provides a consistent API for your PHP application regardless of the type of database server your application will connect to. In theory, if you are using the PDO API, you could switch the database server you used, from say Firebird to MySQL, and only need to make minor changes to your PHP code.

Other examples of database abstraction layers include JDBC for Java applications and DBI for Perl.

While PDO has its advantages, such as a clean, simple, portable API, its main disadvantage is that it doesn't allow you to use all of the advanced features that are available in the latest versions of MySQL server. For example, PDO does not allow you to use MySQL's support for Multiple Statements.

PDO is implemented using the PHP extension framework, its source code is located in the directory ext/pdo.

For further information on PDO, see the PDO.

What is the PDO MYSQL driver?

The PDO MYSQL driver is not an API as such, at least from the PHP programmer's perspective. In fact, the PDO MYSQL driver sits in the layer below PDO itself and provides MySQL-specific functionality. The programmer still calls the PDO API, but PDO uses the PDO MYSQL driver to carry out communication with the MySQL server.

The PDO MYSQL driver is one of several available PDO drivers. Other PDO drivers available include those for the Firebird and PostgreSQL database servers.

The PDO MYSQL driver is implemented using the PHP extension framework. Its source code is located in the directory ext/pdo_mysql. It does not expose an API to the PHP programmer.

For further information on the PDO MYSQL driver, see MySQL (PDO).

What is PHP's MySQL Native Driver?

In order to communicate with the MySQL database server, mysqli and the PDO MYSQL driver each use a low-level library that implements the required protocol. In the past, the only available library was the MySQL Client Library, otherwise known as libmysqlclient.

However, the interface presented by libmysqlclient was not optimized for communication with PHP applications, as libmysqlclient was originally designed with C applications in mind. For this reason, the MySQL Native Driver, mysqlnd, was developed as an alternative to libmysqlclient for PHP applications.

Both, the mysqli extension and the PDO MySQL driver can each be individually configured to use either libmysqlclient or mysqlnd. As mysqlnd is designed specifically to be utilised in the PHP system it has numerous memory and speed enhancements over libmysqlclient. You are strongly encouraged to take advantage of these improvements.

The MySQL Native Driver is implemented using the PHP extension framework. The source code is located in ext/mysqlnd. It does not expose an API to the PHP programmer.

Comparison of Features

The following table compares the functionality of the main methods of connecting to MySQL from PHP:

Comparison of MySQL API options for PHP
 | PHP's mysqli Extension | PDO (Using PDO MySQL Driver and MySQL Native Driver)
PHP version introduced | 5.0 | 5.0
MySQL development status | Active development | Active development
API supports Charsets | Yes | Yes
API supports server-side Prepared Statements | Yes | Yes
API supports client-side Prepared Statements | No | Yes
API supports Stored Procedures | Yes | Yes
API supports Multiple Statements | Yes | Most
Supports all MySQL 4.1+ functionality | Yes | Most


Quick start guide

İçindekiler

  • Dual procedural and object-oriented interface
  • Connections
  • Executing statements
  • Prepared Statements
  • Stored Procedures
  • Multiple Statements
  • API support for transactions
  • Metadata

This quick start guide will help with choosing and gaining familiarity with the PHP MySQL API.

This quick start gives an overview on the mysqli extension. Code examples are provided for all major aspects of the API. Database concepts are explained to the degree needed for presenting concepts specific to MySQL.

Required: A familiarity with the PHP programming language, the SQL language, and basic knowledge of the MySQL server.


Dual procedural and object-oriented interface

The mysqli extension features a dual interface. It supports the procedural and object-oriented programming paradigm.

Users migrating from the old mysql extension may prefer the procedural interface. The procedural interface is similar to that of the old mysql extension. In many cases, the function names differ only by prefix. Some mysqli functions take a connection handle as their first argument, whereas matching functions in the old mysql interface take it as an optional last argument.

Örnek 1 Easy migration from the old mysql extension

<?php
$mysqli = mysqli_connect("example.com", "user", "password", "database");
$result = mysqli_query($mysqli, "SELECT 'Please do not use the deprecated mysql extension for new development. ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];

$mysql = mysql_connect("example.com", "user", "password");
mysql_select_db("test");
$result = mysql_query("SELECT 'Use the mysqli extension instead.' AS _msg FROM DUAL", $mysql);
$row = mysql_fetch_assoc($result);
echo $row['_msg'];

Yukarıdaki örneğin çıktısı:

Please do not use the deprecated mysql extension for new development. Use the mysqli extension instead.

The object-oriented interface

In addition to the classical procedural interface, users can choose to use the object-oriented interface. The documentation is organized using the object-oriented interface. The object-oriented interface shows functions grouped by their purpose, making it easier to get started. The reference section gives examples for both syntax variants.

There are no significant performance differences between the two interfaces. Users can base their choice on personal preference.

Örnek 2 Object-oriented and procedural interface

<?php

$mysqli = mysqli_connect("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'A world full of ' AS _msg FROM DUAL");
$row = mysqli_fetch_assoc($result);
echo $row['_msg'];

$mysqli = new mysqli("example.com", "user", "password", "database");

$result = $mysqli->query("SELECT 'choices to please everybody.' AS _msg FROM DUAL");
$row = $result->fetch_assoc();
echo $row['_msg'];

Yukarıdaki örneğin çıktısı:

A world full of choices to please everybody.

The object-oriented interface is used for the quickstart because the reference section is organized that way.

Mixing styles

It is possible to switch between styles at any time. Mixing both styles is not recommended for code clarity and coding style reasons.

Örnek 3 Bad coding style

<?php

$mysqli = new mysqli("example.com", "user", "password", "database");

$result = mysqli_query($mysqli, "SELECT 'Possible but bad style.' AS _msg FROM DUAL");

if ($row = $result->fetch_assoc()) {
echo $row['_msg'];
}

Yukarıdaki örneğin çıktısı:

Possible but bad style.

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli_result::fetch_assoc()
  • $mysqli::connect_errno
  • $mysqli::connect_error
  • $mysqli::errno
  • $mysqli::error
  • The MySQLi Extension Function Summary


Connections

The MySQL server supports the use of different transport layers for connections. Connections use TCP/IP, Unix domain sockets or Windows named pipes.

The hostname localhost has a special meaning. It is bound to the use of Unix domain sockets. To open a TCP/IP connection to the localhost, 127.0.0.1 must be used instead of the hostname localhost.

Örnek 1 Special meaning of localhost

<?php

$mysqli = new mysqli("localhost", "user", "password", "database");

echo $mysqli->host_info . "\n";

$mysqli = new mysqli("127.0.0.1", "user", "password", "database", 3306);

echo $mysqli->host_info . "\n";

Yukarıdaki örneğin çıktısı:

Localhost via UNIX socket
127.0.0.1 via TCP/IP

Connection parameter defaults

Depending on the connection function used, assorted parameters can be omitted. If a parameter is not provided, then the extension attempts to use the default values that are set in the PHP configuration file.

Örnek 2 Setting defaults

mysqli.default_host=192.168.2.27
mysqli.default_user=root
mysqli.default_pw=""
mysqli.default_port=3306
mysqli.default_socket=/tmp/mysql.sock

The resulting parameter values are then passed to the client library that is used by the extension. If the client library detects empty or unset parameters, then it may default to the library built-in values.

Built-in connection library defaults

If the host value is unset or empty, then the client library will default to a Unix socket connection on localhost. If socket is unset or empty, and a Unix socket connection is requested, then a connection to the default socket on /tmp/mysql.sock is attempted.

On Windows systems, the host name . is interpreted by the client library as an attempt to open a Windows named pipe based connection. In this case the socket parameter is interpreted as the pipe name. If not given or empty, then the socket (pipe name) defaults to \\.\pipe\MySQL.

If neither a Unix domain socket based not a Windows named pipe based connection is to be established and the port parameter value is unset, the library will default to port 3306.

The mysqlnd library and the MySQL Client Library (libmysqlclient) implement the same logic for determining defaults.

Connection options

Connection options are available to, for example, set init commands which are executed upon connect, or for requesting use of a certain charset. Connection options must be set before a network connection is established.

For setting a connection option, the connect operation has to be performed in three steps: creating a connection handle with mysqli_init() or mysqli::__construct(), setting the requested options using mysqli::options(), and establishing the network connection with mysqli::real_connect().

Connection pooling

The mysqli extension supports persistent database connections, which are a special kind of pooled connections. By default, every database connection opened by a script is either explicitly closed by the user during runtime or released automatically at the end of the script. A persistent connection is not. Instead it is put into a pool for later reuse, if a connection to the same server using the same username, password, socket, port and default database is opened. Reuse saves connection overhead.

Every PHP process is using its own mysqli connection pool. Depending on the web server deployment model, a PHP process may serve one or multiple requests. Therefore, a pooled connection may be used by one or more scripts subsequently.

Persistent connection

If an unused persistent connection for a given combination of host, username, password, socket, port and default database cannot be found in the connection pool, then mysqli opens a new connection. The use of persistent connections can be enabled and disabled using the PHP directive mysqli.allow_persistent. The total number of connections opened by a script can be limited with mysqli.max_links. The maximum number of persistent connections per PHP process can be restricted with mysqli.max_persistent. Please note that the web server may spawn many PHP processes.

A common complain about persistent connections is that their state is not reset before reuse. For example, open and unfinished transactions are not automatically rolled back. But also, authorization changes which happened in the time between putting the connection into the pool and reusing it are not reflected. This may be seen as an unwanted side-effect. On the contrary, the name persistent may be understood as a promise that the state is persisted.

The mysqli extension supports both interpretations of a persistent connection: state persisted, and state reset before reuse. The default is reset. Before a persistent connection is reused, the mysqli extension implicitly calls mysqli::change_user() to reset the state. The persistent connection appears to the user as if it was just opened. No artifacts from previous usages are visible.

The mysqli::change_user() call is an expensive operation. For best performance, users may want to recompile the extension with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT being set.

It is left to the user to choose between safe behavior and best performance. Both are valid optimization goals. For ease of use, the safe behavior has been made the default at the expense of maximum performance.

See also

  • mysqli::__construct()
  • mysqli_init()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::change_user()
  • $mysqli::host_info
  • MySQLi Configuration Options
  • Persistent Database Connections


Executing statements

Statements can be executed with the
mysqli::query(), mysqli::real_query()
and mysqli::multi_query().
The mysqli::query() function is the most
common, and combines the executing statement with a
buffered fetch of its result set, if any, in one call.
Calling mysqli::query() is identical to
calling mysqli::real_query()
followed by mysqli::store_result().

Örnek 1 Executing queries

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");

Buffered result sets

After statement execution, results can be either retrieved all at once or read row by row from the server. Client-side result set buffering allows the server to free resources associated with the statement's results as early as possible. Generally speaking, clients are slow consuming result sets. Therefore, it is recommended to use buffered result sets. mysqli::query() combines statement execution and result set buffering.

PHP applications can navigate freely through buffered results. Navigation is fast because the result sets are held in client memory. Please, keep in mind that it is often easier to scale by client than it is to scale the server.

Örnek 2 Navigation through buffered results

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

$result = $mysqli->query("SELECT id FROM test ORDER BY id ASC");

echo "Reverse order...\n";
for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--) {
$result->data_seek($row_no);
$row = $result->fetch_assoc();
echo " id = " . $row['id'] . "\n";
}

echo "Result set order...\n";
foreach ($result as $row) {
echo " id = " . $row['id'] . "\n";
}

Yukarıdaki örneğin çıktısı:

Reverse order...
 id = 3
 id = 2
 id = 1
Result set order...
 id = 1
 id = 2
 id = 3

Unbuffered result sets

If client memory is a short resource and freeing server resources as early as possible to keep server load low is not needed, unbuffered results can be used. Scrolling through unbuffered results is not possible before all rows have been read.

Örnek 3 Navigation through unbuffered results

<?php

$mysqli->real_query("SELECT id FROM test ORDER BY id ASC");
$result = $mysqli->use_result();

echo "Result set order...\n";
foreach ($result as $row) {
echo " id = " . $row['id'] . "\n";
}

Result set values data types

The mysqli::query(), mysqli::real_query() and mysqli::multi_query() functions are used to execute non-prepared statements. At the level of the MySQL Client Server Protocol, the command COM_QUERY and the text protocol are used for statement execution. With the text protocol, the MySQL server converts all data of a result sets into strings before sending. This conversion is done regardless of the SQL result set column data type. The mysql client libraries receive all column values as strings. No further client-side casting is done to convert columns back to their native types. Instead, all values are provided as PHP strings.

Örnek 4 Text protocol returns strings by default

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')");

$result = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $result->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));

Yukarıdaki örneğin çıktısı:

id = 1 (string)
label = a (string)

It is possible to convert integer and float columns back to PHP numbers by setting the MYSQLI_OPT_INT_AND_FLOAT_NATIVE connection option, if using the mysqlnd library. If set, the mysqlnd library will check the result set meta data column types and convert numeric SQL columns to PHP numbers, if the PHP data type value range allows for it. This way, for example, SQL INT columns are returned as integers.

Örnek 5 Native data types with mysqlnd and connection option

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli();
$mysqli->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
$mysqli->real_connect("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label CHAR(1))");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'a')");

$result = $mysqli->query("SELECT id, label FROM test WHERE id = 1");
$row = $result->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));

Yukarıdaki örneğin çıktısı:

id = 1 (integer)
label = a (string)

See also

  • mysqli::__construct()
  • mysqli::options()
  • mysqli::real_connect()
  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::use_result()
  • mysqli::store_result()


Prepared Statements

The MySQL database supports prepared statements. A prepared statement or a parameterized statement is used to execute the same statement repeatedly with high efficiency and protect against SQL injections.

Basic workflow

The prepared statement execution consists of two stages: prepare and execute. At the prepare stage a statement template is sent to the database server. The server performs a syntax check and initializes server internal resources for later use.

The MySQL server supports using anonymous, positional placeholder with ?.

Prepare is followed by execute. During execute the client binds parameter values and sends them to the server. The server executes the statement with the bound values using the previously created internal resources.

Örnek 1 Prepared statement

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");

/* Prepared statement, stage 1: prepare */
$stmt = $mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");

/* Prepared statement, stage 2: bind and execute */
$id = 1;
$label = 'PHP';
$stmt->bind_param("is", $id, $label); // "is" means that $id is bound as an integer and $label as a string

$stmt->execute();

Repeated execution

A prepared statement can be executed repeatedly. Upon every execution the current value of the bound variable is evaluated and sent to the server. The statement is not parsed again. The statement template is not transferred to the server again.

Örnek 2 INSERT prepared once, executed multiple times

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");

/* Prepared statement, stage 1: prepare */
$stmt = $mysqli->prepare("INSERT INTO test(id, label) VALUES (?, ?)");

/* Prepared statement, stage 2: bind and execute */
$stmt->bind_param("is", $id, $label); // "is" means that $id is bound as an integer and $label as a string

$data = [
1 => 'PHP',
2 => 'Java',
3 => 'C++'
];
foreach ($data as $id => $label) {
$stmt->execute();
}

$result = $mysqli->query('SELECT id, label FROM test');
var_dump($result->fetch_all(MYSQLI_ASSOC));

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  array(2) {
    ["id"]=>
    string(1) "1"
    ["label"]=>
    string(3) "PHP"
  }
  [1]=>
  array(2) {
    ["id"]=>
    string(1) "2"
    ["label"]=>
    string(4) "Java"
  }
  [2]=>
  array(2) {
    ["id"]=>
    string(1) "3"
    ["label"]=>
    string(3) "C++"
  }
}

Every prepared statement occupies server resources. Statements should be closed explicitly immediately after use. If not done explicitly, the statement will be closed when the statement handle is freed by PHP.

Using a prepared statement is not always the most efficient way of executing a statement. A prepared statement executed only once causes more client-server round-trips than a non-prepared statement. This is why the SELECT is not run as a prepared statement above.

Also, consider the use of the MySQL multi-INSERT SQL syntax for INSERTs. For the example, multi-INSERT requires fewer round-trips between the server and client than the prepared statement shown above.

Örnek 3 Less round trips using multi-INSERT SQL

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");

$values = [1, 2, 3, 4];

$stmt = $mysqli->prepare("INSERT INTO test(id) VALUES (?), (?), (?), (?)");
$stmt->bind_param('iiii', ...$values);
$stmt->execute();

Result set values data types

The MySQL Client Server Protocol defines a different data transfer protocol for prepared statements and non-prepared statements. Prepared statements are using the so called binary protocol. The MySQL server sends result set data "as is" in binary format. Results are not serialized into strings before sending. Client libraries receive binary data and try to convert the values into appropriate PHP data types. For example, results from an SQL INT column will be provided as PHP integer variables.

Örnek 4 Native datatypes

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'PHP')");

$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();

printf("id = %s (%s)\n", $row['id'], gettype($row['id']));
printf("label = %s (%s)\n", $row['label'], gettype($row['label']));

Yukarıdaki örneğin çıktısı:

id = 1 (integer)
label = PHP (string)

This behavior differs from non-prepared statements. By default, non-prepared statements return all results as strings. This default can be changed using a connection option. If the connection option is used, there are no differences.

Fetching results using bound variables

Results from prepared statements can either be retrieved by binding output variables, or by requesting a mysqli_result object.

Output variables must be bound after statement execution. One variable must be bound for every column of the statements result set.

Örnek 5 Output variable binding

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'PHP')");

$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();

$stmt->bind_result($out_id, $out_label);

while ($stmt->fetch()) {
printf("id = %s (%s), label = %s (%s)\n", $out_id, gettype($out_id), $out_label, gettype($out_label));
}

Yukarıdaki örneğin çıktısı:

id = 1 (integer), label = PHP (string)

Prepared statements return unbuffered result sets by default. The results of the statement are not implicitly fetched and transferred from the server to the client for client-side buffering. The result set takes server resources until all results have been fetched by the client. Thus it is recommended to consume results timely. If a client fails to fetch all results or the client closes the statement before having fetched all data, the data has to be fetched implicitly by mysqli.

It is also possible to buffer the results of a prepared statement using mysqli_stmt::store_result().

Fetching results using mysqli_result interface

Instead of using bound results, results can also be retrieved through the mysqli_result interface. mysqli_stmt::get_result() returns a buffered result set.

Örnek 6 Using mysqli_result to fetch results

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'PHP')");

$stmt = $mysqli->prepare("SELECT id, label FROM test WHERE id = 1");
$stmt->execute();

$result = $stmt->get_result();

var_dump($result->fetch_all(MYSQLI_ASSOC));

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  array(2) {
    ["id"]=>
    int(1)
    ["label"]=>
    string(3) "PHP"
  }
}

Using the mysqli_result interface offers the additional benefit of flexible client-side result set navigation.

Örnek 7 Buffered result set for flexible read out

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Non-prepared statement */
$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT, label TEXT)");
$mysqli->query("INSERT INTO test(id, label) VALUES (1, 'PHP'), (2, 'Java'), (3, 'C++')");

$stmt = $mysqli->prepare("SELECT id, label FROM test");
$stmt->execute();

$result = $stmt->get_result();

for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--) {
$result->data_seek($row_no);
var_dump($result->fetch_assoc());
}

Yukarıdaki örneğin çıktısı:

array(2) {
  ["id"]=>
  int(3)
  ["label"]=>
  string(3) "C++"
}
array(2) {
  ["id"]=>
  int(2)
  ["label"]=>
  string(4) "Java"
}
array(2) {
  ["id"]=>
  int(1)
  ["label"]=>
  string(3) "PHP"
}

Escaping and SQL injection

Bound variables are sent to the server separately from the query and thus cannot interfere with it. The server uses these values directly at the point of execution, after the statement template is parsed. Bound parameters do not need to be escaped as they are never substituted into the query string directly. A hint must be provided to the server for the type of bound variable, to create an appropriate conversion. See the mysqli_stmt::bind_param() function for more information.

Such a separation sometimes considered as the only security feature to prevent SQL injection, but the same degree of security can be achieved with non-prepared statements, if all the values are formatted correctly. It should be noted that correct formatting is not the same as escaping and involves more logic than simple escaping. Thus, prepared statements are simply a more convenient and less error-prone approach to this element of database security.

Client-side prepared statement emulation

The API does not include emulation for client-side prepared statement emulation.

See also

  • mysqli::__construct()
  • mysqli::query()
  • mysqli::prepare()
  • mysqli_stmt::prepare()
  • mysqli_stmt::execute()
  • mysqli_stmt::bind_param()
  • mysqli_stmt::bind_result()


Stored Procedures

The MySQL database supports stored procedures. A stored procedure is a subroutine stored in the database catalog. Applications can call and execute the stored procedure. The CALL SQL statement is used to execute a stored procedure.

Parameter

Stored procedures can have IN, INOUT and OUT parameters, depending on the MySQL version. The mysqli interface has no special notion for the different kinds of parameters.

IN parameter

Input parameters are provided with the CALL statement. Please, make sure values are escaped correctly.

Örnek 1 Calling a stored procedure

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");

$mysqli->query("DROP PROCEDURE IF EXISTS p");
$mysqli->query("CREATE PROCEDURE p(IN id_val INT) BEGIN INSERT INTO test(id) VALUES(id_val); END;");

$mysqli->query("CALL p(1)");

$result = $mysqli->query("SELECT id FROM test");

var_dump($result->fetch_assoc());

Yukarıdaki örneğin çıktısı:

array(1) {
  ["id"]=>
  string(1) "1"
}

INOUT/OUT parameter

The values of INOUT/OUT parameters are accessed using session variables.

Örnek 2 Using session variables

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP PROCEDURE IF EXISTS p");
$mysqli->query('CREATE PROCEDURE p(OUT msg VARCHAR(50)) BEGIN SELECT "Hi!" INTO msg; END;');

$mysqli->query("SET @msg = ''");
$mysqli->query("CALL p(@msg)");

$result = $mysqli->query("SELECT @msg as _p_out");

$row = $result->fetch_assoc();
echo $row['_p_out'];

Yukarıdaki örneğin çıktısı:

Hi!

Application and framework developers may be able to provide a more convenient API using a mix of session variables and databased catalog inspection. However, please note the possible performance impact of a custom solution based on catalog inspection.

Handling result sets

Stored procedures can return result sets. Result sets returned from a stored procedure cannot be fetched correctly using mysqli::query(). The mysqli::query() function combines statement execution and fetching the first result set into a buffered result set, if any. However, there are additional stored procedure result sets hidden from the user which cause mysqli::query() to fail returning the user expected result sets.

Result sets returned from a stored procedure are fetched using mysqli::real_query() or mysqli::multi_query(). Both functions allow fetching any number of result sets returned by a statement, such as CALL. Failing to fetch all result sets returned by a stored procedure causes an error.

Örnek 3 Fetching results from stored procedures

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

$mysqli->query("DROP PROCEDURE IF EXISTS p");
$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;');

$mysqli->multi_query("CALL p()");

do {
if ($result = $mysqli->store_result()) {
printf("---\n");
var_dump($result->fetch_all());
$result->free();
}
} while ($mysqli->next_result());

Yukarıdaki örneğin çıktısı:

---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "1"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
}
---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    string(1) "2"
  }
  [1]=>
  array(1) {
    [0]=>
    string(1) "3"
  }
  [2]=>
  array(1) {
    [0]=>
    string(1) "4"
  }
}

Use of prepared statements

No special handling is required when using the prepared statement interface for fetching results from the same stored procedure as above. The prepared statement and non-prepared statement interfaces are similar. Please note, that not every MYSQL server version may support preparing the CALL SQL statement.

Örnek 4 Stored Procedures and Prepared Statements

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

$mysqli->query("DROP PROCEDURE IF EXISTS p");
$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;');

$stmt = $mysqli->prepare("CALL p()");

$stmt->execute();

do {
if ($result = $stmt->get_result()) {
printf("---\n");
var_dump($result->fetch_all());
$result->free();
}
} while ($stmt->next_result());

Yukarıdaki örneğin çıktısı:

---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    int(1)
  }
  [1]=>
  array(1) {
    [0]=>
    int(2)
  }
  [2]=>
  array(1) {
    [0]=>
    int(3)
  }
}
---
array(3) {
  [0]=>
  array(1) {
    [0]=>
    int(2)
  }
  [1]=>
  array(1) {
    [0]=>
    int(3)
  }
  [2]=>
  array(1) {
    [0]=>
    int(4)
  }
}

Of course, use of the bind API for fetching is supported as well.

Örnek 5 Stored Procedures and Prepared Statements using bind API

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");
$mysqli->query("INSERT INTO test(id) VALUES (1), (2), (3)");

$mysqli->query("DROP PROCEDURE IF EXISTS p");
$mysqli->query('CREATE PROCEDURE p() READS SQL DATA BEGIN SELECT id FROM test; SELECT id + 1 FROM test; END;');

$stmt = $mysqli->prepare("CALL p()");

$stmt->execute();

do {
if ($stmt->store_result()) {
$stmt->bind_result($id_out);
while ($stmt->fetch()) {
echo "id = $id_out\n";
}
}
} while ($stmt->next_result());

Yukarıdaki örneğin çıktısı:

id = 1
id = 2
id = 3
id = 2
id = 3
id = 4

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::next_result()
  • mysqli::more_results()


Multiple Statements

MySQL optionally allows having multiple statements in one statement string, but it requires special handling.

Multiple statements or multi queries must be executed with mysqli::multi_query(). The individual statements of the statement string are separated by semicolon. Then, all result sets returned by the executed statements must be fetched.

The MySQL server allows having statements that do return result sets and statements that do not return result sets in one multiple statement.

Örnek 1 Multiple Statements

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$mysqli->query("DROP TABLE IF EXISTS test");
$mysqli->query("CREATE TABLE test(id INT)");

$sql = "SELECT COUNT(*) AS _num FROM test;
INSERT INTO test(id) VALUES (1);
SELECT COUNT(*) AS _num FROM test; ";

$mysqli->multi_query($sql);

do {
if ($result = $mysqli->store_result()) {
var_dump($result->fetch_all(MYSQLI_ASSOC));
$result->free();
}
} while ($mysqli->next_result());

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "0"
  }
}
array(1) {
  [0]=>
  array(1) {
    ["_num"]=>
    string(1) "1"
  }
}

Security considerations

The API functions mysqli::query() and mysqli::real_query() do not set a connection flag necessary for activating multi queries in the server. An extra API call is used for multiple statements to reduce the damage of accidental SQL injection attacks. An attacker may try to add statements such as ; DROP DATABASE mysql or ; SELECT SLEEP(999). If the attacker succeeds in adding SQL to the statement string but mysqli::multi_query() is not used, the server will not execute the injected and malicious SQL statement.

Örnek 2 SQL Injection

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 1; DROP TABLE mysql.user");
?>

Yukarıdaki örneğin çıktısı:

PHP Fatal error:  Uncaught mysqli_sql_exception: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to
use near 'DROP TABLE mysql.user' at line 1

Prepared statements

Use of the multiple statement with prepared statements is not supported.

See also

  • mysqli::query()
  • mysqli::multi_query()
  • mysqli::next_result()
  • mysqli::more_results()


API support for transactions

The MySQL server supports transactions depending on the storage engine used. Since MySQL 5.5, the default storage engine is InnoDB. InnoDB has full ACID transaction support.

Transactions can either be controlled using SQL or API calls. It is recommended to use API calls for enabling and disabling the autocommit mode and for committing and rolling back transactions.

Örnek 1 Setting autocommit mode with SQL and through the API

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

/* Recommended: using API to control transactional settings */
$mysqli->autocommit(false);

/* Won't be monitored and recognized by the replication and the load balancing plugin */
$mysqli->query('SET AUTOCOMMIT = 0');

Optional feature packages, such as the replication and load balancing plugin, can easily monitor API calls. The replication plugin offers transaction aware load balancing, if transactions are controlled with API calls. Transaction aware load balancing is not available if SQL statements are used for setting autocommit mode, committing or rolling back a transaction.

Örnek 2 Commit and rollback

<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");
$mysqli->autocommit(false);

$mysqli->query("INSERT INTO test(id) VALUES (1)");
$mysqli->rollback();

$mysqli->query("INSERT INTO test(id) VALUES (2)");
$mysqli->commit();

Please note, that the MySQL server cannot roll back all statements. Some statements cause an implicit commit.

See also

  • mysqli::autocommit()
  • mysqli::begin_transaction()
  • mysqli::commit()
  • mysqli::rollback()


Metadata

A MySQL result set contains metadata. The metadata describes the columns found in the result set. All metadata sent by MySQL is accessible through the mysqli interface. The extension performs no or negligible changes to the information it receives. Differences between MySQL server versions are not aligned.

Meta data is access through the mysqli_result interface.

Örnek 1 Accessing result set meta data

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$result = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($result->fetch_fields());

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  object(stdClass)#3 (13) {
    ["name"]=>
    string(4) "_one"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(1)
    ["length"]=>
    int(1)
    ["charsetnr"]=>
    int(63)
    ["flags"]=>
    int(32897)
    ["type"]=>
    int(8)
    ["decimals"]=>
    int(0)
  }
  [1]=>
  object(stdClass)#4 (13) {
    ["name"]=>
    string(4) "_two"
    ["orgname"]=>
    string(0) ""
    ["table"]=>
    string(0) ""
    ["orgtable"]=>
    string(0) ""
    ["def"]=>
    string(0) ""
    ["db"]=>
    string(0) ""
    ["catalog"]=>
    string(3) "def"
    ["max_length"]=>
    int(5)
    ["length"]=>
    int(5)
    ["charsetnr"]=>
    int(8)
    ["flags"]=>
    int(1)
    ["type"]=>
    int(253)
    ["decimals"]=>
    int(31)
  }
}

Prepared statements

Meta data of result sets created using prepared statements are accessed the same way. A suitable mysqli_result handle is returned by mysqli_stmt::result_metadata().

Örnek 2 Prepared statements metadata

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("example.com", "user", "password", "database");

$stmt = $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$stmt->execute();
$result = $stmt->result_metadata();
var_dump($result->fetch_fields());

See also

  • mysqli::query()
  • mysqli_result::fetch_fields()


Gereksinimler

In order to have these functions available, you must compile PHP with support for the mysqli extension.

MySQL 8

When running a PHP version before 7.1.16, or PHP 7.2 before 7.2.4, set MySQL 8 Server's default password plugin to mysql_native_password or else you will see errors similar to The server requested authentication method unknown to the client [caching_sha2_password] even when caching_sha2_password is not used.

This is because MySQL 8 defaults to caching_sha2_password, a plugin that is not recognized by the older PHP (mysqlnd) releases. Instead, change it by setting default_authentication_plugin=mysql_native_password in my.cnf. The caching_sha2_password plugin will be supported in a future PHP release. In the meantime, the mysql_xdevapi extension does support it.


Kurulum

The mysqli extension was introduced with PHP version 5.0.0. The MySQL Native Driver was included in PHP version 5.3.0.

Installation on Linux

The common Unix distributions include binary versions of PHP that can be installed. Although these binary versions are typically built with support for the MySQL extensions, the extension libraries themselves may need to be installed using an additional package. Check the package manager that comes with your chosen distribution for availability.

For example, on Ubuntu the php5-mysql package installs the ext/mysql, ext/mysqli, and pdo_mysql PHP extensions. On CentOS, the php-mysql package also installs these three PHP extensions.

Alternatively, you can compile this extension yourself. Building PHP from source allows you to specify the MySQL extensions you want to use, as well as your choice of client library for each extension.

The MySQL Native Driver is the recommended client library option, as it results in improved performance and gives access to features not available when using the MySQL Client Library. Refer to What is PHP's MySQL Native Driver? for a brief overview of the advantages of MySQL Native Driver.

The /path/to/mysql_config represents the location of the mysql_config program that comes with MySQL Server.

mysqli compile time support matrix
PHP Sürüm: | Öntanımlı | Yapılandırma Seçenekleri: mysqlnd | Yapılandırma Seçenekleri: libmysqlclient | Sürüm Bilgisi
5.4.x and above | mysqlnd | --with-mysqli | --with-mysqli=/path/to/mysql_config | mysqlnd is the default
5.3.x | libmysqlclient | --with-mysqli=mysqlnd | --with-mysqli=/path/to/mysql_config | mysqlnd is supported
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Kullanılabilir değil | --with-mysqli=/path/to/mysql_config | mysqlnd is not supported

Note that it is possible to freely mix MySQL extensions and client libraries. For example, it is possible to enable the MySQL extension to use the MySQL Client Library (libmysqlclient), while configuring the mysqli extension to use the MySQL Native Driver. However, all permutations of extension and client library are possible.

Installation on Windows Systems

On Windows, php_mysqli.dll DLL must be enabled in php.ini.

As with enabling any PHP extension (such as php_mysqli.dll), the PHP directive extension_dir should be set to the directory where the PHP extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value is c:\php\ext.

Bilginize:

If when starting the web server an error similar to the following occurs: "Unable to load dynamic library './php_mysqli.dll'", this is because php_mysqli.dll cannot be found by the system.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

MySQLi Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mysqli.allow_local_infile | "0" | PHP_INI_SYSTEM | Before PHP 7.2.16 and 7.3.3 the default was "1".
mysqli.local_infile_directory |  | PHP_INI_SYSTEM | Available as of PHP 8.1.0.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM |
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM |
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | "3306" | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Removed as of PHP 8.2.0
mysqli.rollback_on_cached_plink | "0" | PHP_INI_SYSTEM |

For further details and definitions of the preceding PHP_INI_* constants, see the chapter on configuration changes.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mysqli.allow_local_infile int

Allow accessing, from PHP's perspective, local files with LOAD DATA statements

mysqli.local_infile_directory string

Allows restricting LOCAL DATA loading to files located in this designated directory.

mysqli.allow_persistent int

Enable the ability to create persistent connections using mysqli_connect().

mysqli.max_persistent int

Maximum of persistent connections that can be made. Set to 0 for unlimited.

mysqli.max_links int

The maximum number of MySQL connections per process.

mysqli.default_port int

The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the MYSQL_TCP_PORT environment variable, the mysql-tcp entry in /etc/services or the compile-time MYSQL_PORT constant, in that order. Win32 will only use the MYSQL_PORT constant.

mysqli.default_socket string

The default socket name to use when connecting to a local database server if no other socket name is specified.

mysqli.default_host string

The default server host to use when connecting to the database server if no other host is specified.

mysqli.default_user string

The default user name to use when connecting to the database server if no other name is specified.

mysqli.default_pw string

The default password to use when connecting to the database server if no other password is specified.

mysqli.reconnect int

Automatically reconnect if the connection was lost.

Bilginize: This php.ini setting had been ignored by the mysqlnd driver, and was removed as of PHP 8.2.0.

mysqli.rollback_on_cached_plink bool

If this option is enabled, closing a persistent connection will rollback any pending transactions of this connection before it is put back into the persistent connection pool. Otherwise, pending transactions will be rolled back only when the connection is reused, or when it is actually closed.

Users cannot set MYSQL_OPT_READ_TIMEOUT through an API call or runtime configuration setting. Note that if it were possible there would be differences between how libmysqlclient and streams would interpret the value of MYSQL_OPT_READ_TIMEOUT.


  • « Çalışma Anı Yapılandırması
  • The mysqli Extension and Persistent Connections »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


The mysqli Extension and Persistent Connections

The idea behind persistent connections is that a connection between a client process and a database can be reused by a client process, rather than being created and destroyed multiple times. This reduces the overhead of creating fresh connections every time one is required, as unused connections are cached and ready to be reused.

Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.

The problem with persistent connections is that they can be left in unpredictable states by clients. For example, a table lock might be activated before a client terminates unexpectedly. A new client process reusing this persistent connection will get the connection as is. Any cleanup would need to be done by the new client process before it could make good use of the persistent connection, increasing the burden on the programmer.

The persistent connection of the mysqli extension however provides built-in cleanup handling code. The cleanup carried out by mysqli includes:

  • Rollback active transactions

  • Close and drop temporary tables

  • Unlock tables

  • Reset session variables

  • Close prepared statements (always happens with PHP)

  • Close handler

  • Release locks acquired with GET_LOCK()

This ensures that persistent connections are in a clean state on return from the connection pool, before the client process uses them.

The mysqli extension does this cleanup by automatically calling the C-API function mysql_change_user().

The automatic cleanup feature has advantages and disadvantages though. The advantage is that the programmer no longer needs to worry about adding cleanup code, as it is called automatically. However, the disadvantage is that the code could potentially be a little slower, as the code to perform the cleanup needs to run each time a connection is returned from the connection pool.

It is possible to switch off the automatic cleanup code, by compiling PHP with MYSQLI_NO_CHANGE_USER_ON_PCONNECT defined.

Bilginize:

The mysqli extension supports persistent connections when using either MySQL Native Driver or MySQL Client Library.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MYSQLI_READ_DEFAULT_GROUP (int)

Read options from the named group from my.cnf or the file specified with MYSQLI_READ_DEFAULT_FILE

MYSQLI_READ_DEFAULT_FILE (int)

Read options from the named option file instead of from my.cnf

MYSQLI_OPT_CONNECT_TIMEOUT (int)

Connect timeout in seconds

MYSQLI_OPT_READ_TIMEOUT (int)

Command execution result timeout in seconds. Available as of PHP 7.2.0.

MYSQLI_OPT_LOCAL_INFILE (int)

Enables command LOAD LOCAL INFILE

MYSQLI_OPT_INT_AND_FLOAT_NATIVE (int)

Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.

MYSQLI_OPT_NET_CMD_BUFFER_SIZE (int)

The size of the internal command/network buffer. Only valid for mysqlnd.

MYSQLI_OPT_NET_READ_BUFFER_SIZE (int)

Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.

MYSQLI_OPT_SSL_VERIFY_SERVER_CERT (int)

Requires MySQL 5.1.10 and up

MYSQLI_INIT_COMMAND (int)

Command to execute when connecting to MySQL server. Will automatically be re-executed when reconnecting.

MYSQLI_CLIENT_SSL (int)

Use SSL (encrypted protocol). This option should not be set by application programs; it is set internally in the MySQL client library

MYSQLI_CLIENT_COMPRESS (int)

Use compression protocol

MYSQLI_CLIENT_INTERACTIVE (int)

Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection. The client's session wait_timeout variable will be set to the value of the session interactive_timeout variable.

MYSQLI_CLIENT_IGNORE_SPACE (int)

Allow spaces after function names. Makes all functions names reserved words.

MYSQLI_CLIENT_NO_SCHEMA (int)

Don't allow the db_name.tbl_name.col_name syntax.

MYSQLI_CLIENT_MULTI_QUERIES

Allows multiple semicolon-delimited queries in a single mysqli_query() call.

MYSQLI_STORE_RESULT (int)

For using buffered result sets. It has a value of 0.

MYSQLI_USE_RESULT (int)

For using unbuffered result sets. It has a value of 1.

MYSQLI_ASSOC (int)

Columns are returned into the array having the fieldname as the array index.

MYSQLI_NUM (int)

Columns are returned into the array having an enumerated index.

MYSQLI_BOTH (int)

Columns are returned into the array having both a numerical index and the fieldname as the associative index.

MYSQLI_NOT_NULL_FLAG (int)

Indicates that a field is defined as NOT NULL

MYSQLI_PRI_KEY_FLAG (int)

Field is part of a primary index

MYSQLI_UNIQUE_KEY_FLAG (int)

Field is part of a unique index.

MYSQLI_MULTIPLE_KEY_FLAG (int)

Field is part of an index.

MYSQLI_BLOB_FLAG (int)

Field is defined as BLOB

MYSQLI_UNSIGNED_FLAG (int)

Field is defined as UNSIGNED

MYSQLI_ZEROFILL_FLAG (int)

Field is defined as ZEROFILL

MYSQLI_AUTO_INCREMENT_FLAG (int)

Field is defined as AUTO_INCREMENT

MYSQLI_TIMESTAMP_FLAG (int)

Field is defined as TIMESTAMP

MYSQLI_SET_FLAG (int)

Field is defined as SET

MYSQLI_NUM_FLAG (int)

Field is defined as NUMERIC

MYSQLI_PART_KEY_FLAG (int)

Field is part of an multi-index

MYSQLI_GROUP_FLAG (int)

Field is part of GROUP BY

MYSQLI_TYPE_DECIMAL (int)

Field is defined as DECIMAL

MYSQLI_TYPE_NEWDECIMAL (int)

Precision math DECIMAL or NUMERIC field (MySQL 5.0.3 and up)

MYSQLI_TYPE_BIT (int)

Field is defined as BIT (MySQL 5.0.3 and up)

MYSQLI_TYPE_TINY (int)

Field is defined as TINYINT

MYSQLI_TYPE_SHORT (int)

Field is defined as SMALLINT

MYSQLI_TYPE_LONG (int)

Field is defined as INT

MYSQLI_TYPE_FLOAT (int)

Field is defined as FLOAT

MYSQLI_TYPE_DOUBLE (int)

Field is defined as DOUBLE

MYSQLI_TYPE_NULL (int)

Field is defined as DEFAULT NULL

MYSQLI_TYPE_TIMESTAMP (int)

Field is defined as TIMESTAMP

MYSQLI_TYPE_LONGLONG (int)

Field is defined as BIGINT

MYSQLI_TYPE_INT24 (int)

Field is defined as MEDIUMINT

MYSQLI_TYPE_DATE (int)

Field is defined as DATE

MYSQLI_TYPE_TIME (int)

Field is defined as TIME

MYSQLI_TYPE_DATETIME (int)

Field is defined as DATETIME

MYSQLI_TYPE_YEAR (int)

Field is defined as YEAR

MYSQLI_TYPE_NEWDATE (int)

Field is defined as DATE

MYSQLI_TYPE_INTERVAL (int)

Field is defined as INTERVAL

MYSQLI_TYPE_ENUM (int)

Field is defined as ENUM

MYSQLI_TYPE_SET (int)

Field is defined as SET

MYSQLI_TYPE_TINY_BLOB (int)

Field is defined as TINYBLOB

MYSQLI_TYPE_MEDIUM_BLOB (int)

Field is defined as MEDIUMBLOB

MYSQLI_TYPE_LONG_BLOB (int)

Field is defined as LONGBLOB

MYSQLI_TYPE_BLOB (int)

Field is defined as BLOB

MYSQLI_TYPE_VAR_STRING (int)

Field is defined as VARCHAR

MYSQLI_TYPE_STRING (int)

Field is defined as CHAR or BINARY

MYSQLI_TYPE_CHAR (int)

Field is defined as TINYINT. For CHAR, see MYSQLI_TYPE_STRING

MYSQLI_TYPE_GEOMETRY (int)

Field is defined as GEOMETRY

MYSQLI_TYPE_JSON (int)

Field is defined as JSON. Only valid for mysqlnd and MySQL 5.7.8 and up.

MYSQLI_NEED_DATA

More data available for bind variable

MYSQLI_NO_DATA (int)

No more data available for bind variable

MYSQLI_DATA_TRUNCATED (int)

Data truncation occurred. Available since MySQL 5.0.5.

MYSQLI_ENUM_FLAG (int)

Field is defined as ENUM.

MYSQLI_BINARY_FLAG (int)

Field is defined as BINARY.

MYSQLI_CURSOR_TYPE_FOR_UPDATE (int)

MYSQLI_CURSOR_TYPE_NO_CURSOR (int)

MYSQLI_CURSOR_TYPE_READ_ONLY (int)

MYSQLI_CURSOR_TYPE_SCROLLABLE (int)

MYSQLI_STMT_ATTR_CURSOR_TYPE (int)

MYSQLI_STMT_ATTR_PREFETCH_ROWS (int)

MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH (int)

MYSQLI_SET_CHARSET_NAME (int)

MYSQLI_REPORT_INDEX (int)

Report if no index or bad index was used in a query.

MYSQLI_REPORT_ERROR (int)

Report errors from mysqli function calls.

MYSQLI_REPORT_STRICT (int)

Throw a mysqli_sql_exception for errors instead of warnings.

MYSQLI_REPORT_ALL (int)

Set all options on (report all).

MYSQLI_REPORT_OFF (int)

Turns reporting off.

MYSQLI_DEBUG_TRACE_ENABLED (int)

Is set to 1 if mysqli_debug() functionality is enabled.

MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED (int)

MYSQLI_SERVER_QUERY_NO_INDEX_USED (int)

MYSQLI_SERVER_PUBLIC_KEY (int)

MYSQLI_REFRESH_GRANT (int)

Refreshes the grant tables.

MYSQLI_REFRESH_LOG (int)

Flushes the logs, like executing the FLUSH LOGS SQL statement.

MYSQLI_REFRESH_TABLES (int)

Flushes the table cache, like executing the FLUSH TABLES SQL statement.

MYSQLI_REFRESH_HOSTS (int)

Flushes the host cache, like executing the FLUSH HOSTS SQL statement.

MYSQLI_REFRESH_REPLICA (int)

Alias of MYSQLI_REFRESH_SLAVE constant. Available as of PHP 8.1.0.

MYSQLI_REFRESH_STATUS (int)

Reset the status variables, like executing the FLUSH STATUS SQL statement.

MYSQLI_REFRESH_THREADS (int)

Flushes the thread cache.

MYSQLI_REFRESH_SLAVE (int)

On a slave replication server: resets the master server information, and restarts the slave. Like executing the RESET SLAVE SQL statement.

MYSQLI_REFRESH_MASTER (int)

On a master replication server: removes the binary log files listed in the binary log index, and truncates the index file. Like executing the RESET MASTER SQL statement.

MYSQLI_TRANS_COR_AND_CHAIN (int)

Appends "AND CHAIN" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_AND_NO_CHAIN (int)

Appends "AND NO CHAIN" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_RELEASE (int)

Appends "RELEASE" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_COR_NO_RELEASE (int)

Appends "NO RELEASE" to mysqli_commit() or mysqli_rollback().

MYSQLI_TRANS_START_READ_ONLY (int)

Start the transaction as "START TRANSACTION READ ONLY" with mysqli_begin_transaction().

MYSQLI_TRANS_START_READ_WRITE (int)

Start the transaction as "START TRANSACTION READ WRITE" with mysqli_begin_transaction().

MYSQLI_TRANS_START_CONSISTENT_SNAPSHOT

Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT" with mysqli_begin_transaction().

MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT (int)

Requires MySQL 5.6.5 and up.

MYSQLI_IS_MARIADB (bool)

Whether the mysqli extension has been built against a MariaDB client library. Available as of PHP 8.1.2.


Notes

Some implementation notes:

  1. Support was added for MYSQL_TYPE_GEOMETRY to the MySQLi extension in PHP 5.3.

  2. Note there are different internal implementations within libmysqlclient and mysqlnd for handling columns of type MYSQL_TYPE_GEOMETRY. Generally speaking, mysqlnd will allocate significantly less memory. For example, if there is a POINT column in a result set, libmysqlclient may pre-allocate up to 4GB of RAM although less than 50 bytes are needed for holding a POINT column in memory. Memory allocation is much lower, less than 50 bytes, if using mysqlnd.


The MySQLi Extension Function Summary

Summary of mysqli methods
mysqli Class
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli::affected_rows | mysqli_affected_rows() | N/A | Gets the number of affected rows in a previous MySQL operation
$mysqli::client_info | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
$mysqli::client_version | mysqli_get_client_version() | N/A | Returns MySQL client version info as an integer
$mysqli::connect_errno | mysqli_connect_errno() | N/A | Returns the error code from last connect call
$mysqli::connect_error | mysqli_connect_error() | N/A | Returns a string description of the last connect error
$mysqli::errno | mysqli_errno() | N/A | Returns the error code for the most recent function call
$mysqli::error | mysqli_error() | N/A | Returns a string description of the last error
$mysqli::field_count | mysqli_field_count() | N/A | Returns the number of columns for the most recent query
$mysqli::host_info | mysqli_get_host_info() | N/A | Returns a string representing the type of connection used
$mysqli::protocol_version | mysqli_get_proto_info() | N/A | Returns the version of the MySQL protocol used
$mysqli::server_info | mysqli_get_server_info() | N/A | Returns the version of the MySQL server
$mysqli::server_version | mysqli_get_server_version() | N/A | Returns the version of the MySQL server as an integer
$mysqli::info | mysqli_info() | N/A | Retrieves information about the most recently executed query
$mysqli::insert_id | mysqli_insert_id() | N/A | Returns the auto generated id used in the last query
$mysqli::sqlstate | mysqli_sqlstate() | N/A | Returns the SQLSTATE error from previous MySQL operation
$mysqli::warning_count | mysqli_warning_count() | N/A | Returns the number of warnings from the last query for the given link
Methods
mysqli::autocommit() | mysqli_autocommit() | N/A | Turns on or off auto-committing database modifications
mysqli::change_user() | mysqli_change_user() | N/A | Changes the user of the specified database connection
mysqli::character_set_name() | mysqli_character_set_name() | N/A | Returns the default character set for the database connection
mysqli::close() | mysqli_close() | N/A | Closes a previously opened database connection
mysqli::commit() | mysqli_commit() | N/A | Commits the current transaction
mysqli::__construct() | mysqli_connect() | N/A | Open a new connection to the MySQL server [Note: static (i.e. class) method]
mysqli::debug() | mysqli_debug() | N/A | Performs debugging operations
mysqli::dump_debug_info() | mysqli_dump_debug_info() | N/A | Dump debugging information into the log
mysqli::get_charset() | mysqli_get_charset() | N/A | Returns a character set object
mysqli::get_connection_stats() | mysqli_get_connection_stats() | N/A | Returns client connection statistics. Sadece mysqlnd ile kullanılabilir.
mysqli::get_client_info() | mysqli_get_client_info() | N/A | Returns the MySQL client version as a string
N/A | mysqli_get_client_stats() | N/A | Returns client per-process statistics. Sadece mysqlnd ile kullanılabilir.
mysqli::get_server_info() | mysqli_get_server_info() | N/A | Returns a string representing the version of the MySQL server that the MySQLi extension is connected to
mysqli::get_warnings() | mysqli_get_warnings() | N/A | NOT DOCUMENTED
mysqli::init() | mysqli_init() | N/A | Initializes MySQLi and returns an object for use with mysqli_real_connect.
mysqli::kill() | mysqli_kill() | N/A | Asks the server to kill a MySQL thread
mysqli::more_results() | mysqli_more_results() | N/A | Check if there are any more query results from a multi query
mysqli::multi_query() | mysqli_multi_query() | N/A | Performs a query on the database
mysqli::next_result() | mysqli_next_result() | N/A | Prepare next result from multi_query
mysqli::options() | mysqli_options() | mysqli_set_opt() | Set options
mysqli::ping() | mysqli_ping() | N/A | Pings a server connection, or tries to reconnect if the connection has gone down
mysqli::prepare() | mysqli_prepare() | N/A | Prepare an SQL statement for execution
mysqli::query() | mysqli_query() | N/A | Performs a query on the database
mysqli::real_connect() | mysqli_real_connect() | N/A | Opens a connection to a mysql server
mysqli::real_escape_string(), mysqli::escape_string() | mysqli_real_escape_string() | mysqli_escape_string() | Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
mysqli::real_query() | mysqli_real_query() | N/A | Execute an SQL query
mysqli::refresh() | mysqli_refresh() | N/A | Flushes tables or caches, or resets the replication server information
mysqli::rollback() | mysqli_rollback() | N/A | Rolls back current transaction
mysqli::select_db() | mysqli_select_db() | N/A | Selects the default database for database queries
mysqli::set_charset() | mysqli_set_charset() | N/A | Sets the default client character set
mysqli::ssl_set() | mysqli_ssl_set() | N/A | Used for establishing secure connections using SSL
mysqli::stat() | mysqli_stat() | N/A | Gets the current system status
mysqli::stmt_init() | mysqli_stmt_init() | N/A | Initializes a statement and returns an object for use with mysqli_stmt_prepare
mysqli::store_result() | mysqli_store_result() | N/A | Transfers a result set from the last query
mysqli::thread_id() | mysqli_thread_id() | N/A | Returns the thread ID for the current connection
mysqli::thread_safe() | mysqli_thread_safe() | N/A | Returns whether thread safety is given or not
mysqli::use_result() | mysqli_use_result() | N/A | Initiate a result set retrieval
Summary of mysqli_stmt methods
MySQL_STMT
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_stmt::affected_rows | mysqli_stmt_affected_rows() | N/A | Returns the total number of rows changed, deleted, or inserted by the last executed statement
$mysqli_stmt::errno | mysqli_stmt_errno() | N/A | Returns the error code for the most recent statement call
$mysqli_stmt::error | mysqli_stmt_error() | N/A | Returns a string description for last statement error
$mysqli_stmt::field_count | mysqli_stmt_field_count() | N/A | Returns the number of field in the given statement - not documented
$mysqli_stmt::insert_id | mysqli_stmt_insert_id() | N/A | Get the ID generated from the previous INSERT operation
$mysqli_stmt::num_rows | mysqli_stmt_num_rows() | N/A | Return the number of rows in statements result set
$mysqli_stmt::param_count | mysqli_stmt_param_count() | N/A | Returns the number of parameter for the given statement
$mysqli_stmt::sqlstate | mysqli_stmt_sqlstate() | N/A | Returns SQLSTATE error from previous statement operation
Methods
mysqli_stmt::attr_get() | mysqli_stmt_attr_get() | N/A | Used to get the current value of a statement attribute
mysqli_stmt::attr_set() | mysqli_stmt_attr_set() | N/A | Used to modify the behavior of a prepared statement
mysqli_stmt::bind_param() | mysqli_stmt_bind_param() | N/A | Binds variables to a prepared statement as parameters
mysqli_stmt::bind_result() | mysqli_stmt_bind_result() | N/A | Binds variables to a prepared statement for result storage
mysqli_stmt::close() | mysqli_stmt_close() | N/A | Closes a prepared statement
mysqli_stmt::data_seek() | mysqli_stmt_data_seek() | N/A | Seeks to an arbitrary row in statement result set
mysqli_stmt::execute() | mysqli_stmt_execute() | mysqli_execute() | Executes a prepared Query
mysqli_stmt::fetch() | mysqli_stmt_fetch() | N/A | Fetch results from a prepared statement into the bound variables
mysqli_stmt::free_result() | mysqli_stmt_free_result() | N/A | Frees stored result memory for the given statement handle
mysqli_stmt::get_result() | mysqli_stmt_get_result() | N/A | Gets a result set from a prepared statement. Sadece mysqlnd ile kullanılabilir.
mysqli_stmt::get_warnings() | mysqli_stmt_get_warnings() | N/A | NOT DOCUMENTED
mysqli_stmt::more_results() | mysqli_stmt_more_results() | N/A | Checks if there are more query results from a multiple query
mysqli_stmt::next_result() | mysqli_stmt_next_result() | N/A | Reads the next result from a multiple query
mysqli_stmt::num_rows() | mysqli_stmt_num_rows() | N/A | See also property $mysqli_stmt::num_rows
mysqli_stmt::prepare() | mysqli_stmt_prepare() | N/A | Prepare an SQL statement for execution
mysqli_stmt::reset() | mysqli_stmt_reset() | N/A | Resets a prepared statement
mysqli_stmt::result_metadata() | mysqli_stmt_result_metadata() | N/A | Returns result set metadata from a prepared statement
mysqli_stmt::send_long_data() | mysqli_stmt_send_long_data() | N/A | Send data in blocks
mysqli_stmt::store_result() | mysqli_stmt_store_result() | N/A | Transfers a result set from a prepared statement
Summary of mysqli_result methods
mysqli_result
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_result::current_field | mysqli_field_tell() | N/A | Get current field offset of a result pointer
$mysqli_result::field_count | mysqli_num_fields() | N/A | Get the number of fields in a result
$mysqli_result::lengths | mysqli_fetch_lengths() | N/A | Returns the lengths of the columns of the current row in the result set
$mysqli_result::num_rows | mysqli_num_rows() | N/A | Gets the number of rows in a result
Methods
mysqli_result::data_seek() | mysqli_data_seek() | N/A | Adjusts the result pointer to an arbitrary row in the result
mysqli_result::fetch_all() | mysqli_fetch_all() | N/A | Fetches all result rows and returns the result set as an associative array, a numeric array, or both. Sadece mysqlnd ile kullanılabilir.
mysqli_result::fetch_array() | mysqli_fetch_array() | N/A | Fetch a result row as an associative, a numeric array, or both
mysqli_result::fetch_assoc() | mysqli_fetch_assoc() | N/A | Fetch a result row as an associative array
mysqli_result::fetch_column() | mysqli_fetch_column() | N/A | Fetch a single column from the next row of a result set
mysqli_result::fetch_field_direct() | mysqli_fetch_field_direct() | N/A | Fetch meta-data for a single field
mysqli_result::fetch_field() | mysqli_fetch_field() | N/A | Returns the next field in the result set
mysqli_result::fetch_fields() | mysqli_fetch_fields() | N/A | Returns an array of objects representing the fields in a result set
mysqli_result::fetch_object() | mysqli_fetch_object() | N/A | Returns the current row of a result set as an object
mysqli_result::fetch_row() | mysqli_fetch_row() | N/A | Get a result row as an enumerated array
mysqli_result::field_seek() | mysqli_field_seek() | N/A | Set result pointer to a specified field offset
mysqli_result::free(), mysqli_result::close, mysqli_result::free_result | mysqli_free_result() | N/A | Frees the memory associated with a result
Summary of mysqli_driver methods
MySQL_Driver
OOP Interface | Procedural Interface | Alias (Do not use) | Description
Properties
$mysqli_driver::mysqli_report | mysqli_report() | N/A | Sets mysqli error reporting mode
Methods
mysqli_driver::embedded_server_end() | mysqli_embedded_server_end() | N/A | NOT DOCUMENTED
mysqli_driver::embedded_server_start() | mysqli_embedded_server_start() | N/A | NOT DOCUMENTED

Bilginize:

Alias functions are provided for backward compatibility purposes only. Do not use them in new projects.


The mysqli class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents a connection between PHP and a MySQL database.

Sınıf Sözdizimi

class mysqli {
/* Özellikler */
public readonly int|string $affected_rows;
public readonly string $client_info;
public readonly int $client_version;
public readonly int $connect_errno;
public readonly ?string $connect_error;
public readonly int $errno;
public readonly string $error;
public readonly array $error_list;
public readonly int $field_count;
public readonly string $host_info;
public readonly ?string $info;
public readonly int|string $insert_id;
public readonly string $server_info;
public readonly int $server_version;
public readonly string $sqlstate;
public readonly int $protocol_version;
public readonly int $thread_id;
public readonly int $warning_count;
/* Yöntemler */
public __construct(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
)
public autocommit(bool $enable): bool
public begin_transaction(int $flags = 0, ?string $name = null): bool
public change_user(string $username, string $password, ?string $database): bool
public character_set_name(): string
public close(): true
public commit(int $flags = 0, ?string $name = null): bool
public connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
): bool
public debug(string $options): true
public dump_debug_info(): bool
public execute_query(string $query, ?array $params = null): mysqli_result|bool
public get_charset(): ?object
public get_client_info(): string
public get_connection_stats(): array
public get_server_info(): string
public get_warnings(): mysqli_warning|false
public init(): ?bool
public kill(int $process_id): bool
public more_results(): bool
public multi_query(string $query): bool
public next_result(): bool
public options(int $option, string|int $value): bool
public ping(): bool
public static poll(
?array &$read,
?array &$error,
array &$reject,
int $seconds,
int $microseconds = 0
): int|false
public prepare(string $query): mysqli_stmt|false
public query(string $query, int $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool
public real_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
int $flags = 0
): bool
public real_escape_string(string $string): string
public real_query(string $query): bool
public reap_async_query(): mysqli_result|bool
public refresh(int $flags): bool
public release_savepoint(string $name): bool
public rollback(int $flags = 0, ?string $name = null): bool
public savepoint(string $name): bool
public select_db(string $database): bool
public set_charset(string $charset): bool
public ssl_set(
?string $key,
?string $certificate,
?string $ca_certificate,
?string $ca_path,
?string $cipher_algos
): true
public stat(): string|false
public stmt_init(): mysqli_stmt|false
public store_result(int $mode = 0): mysqli_result|false
public thread_safe(): bool
public use_result(): mysqli_result|false
}

İçindekiler

  • mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation
  • mysqli::autocommit — Turns on or off auto-committing database modifications
  • mysqli::begin_transaction — Starts a transaction
  • mysqli::change_user — Changes the user of the specified database connection
  • mysqli::character_set_name — Returns the current character set of the database connection
  • mysqli::close — Closes a previously opened database connection
  • mysqli::commit — Commits the current transaction
  • mysqli::$connect_errno — Returns the error code from last connect call
  • mysqli::$connect_error — Returns a description of the last connection error
  • mysqli::__construct — Open a new connection to the MySQL server
  • mysqli::debug — Performs debugging operations
  • mysqli::dump_debug_info — Dump debugging information into the log
  • mysqli::$errno — Returns the error code for the most recent function call
  • mysqli::$error_list — Returns a list of errors from the last command executed
  • mysqli::$error — Returns a string description of the last error
  • mysqli::execute_query — Prepares, binds parameters, and executes SQL statement
  • mysqli::$field_count — Returns the number of columns for the most recent query
  • mysqli::get_charset — Returns a character set object
  • mysqli::$client_info — Get MySQL client info
  • mysqli::$client_version — Returns the MySQL client version as an integer
  • mysqli::get_connection_stats — Returns statistics about the client connection
  • mysqli::$host_info — Returns a string representing the type of connection used
  • mysqli::$protocol_version — Returns the version of the MySQL protocol used
  • mysqli::$server_info — Returns the version of the MySQL server
  • mysqli::$server_version — Returns the version of the MySQL server as an integer
  • mysqli::get_warnings — Get result of SHOW WARNINGS
  • mysqli::$info — Retrieves information about the most recently executed query
  • mysqli::init — Initializes MySQLi and returns an object for use with mysqli_real_connect()
  • mysqli::$insert_id — Returns the value generated for an AUTO_INCREMENT column by the last query
  • mysqli::kill — Asks the server to kill a MySQL thread
  • mysqli::more_results — Check if there are any more query results from a multi query
  • mysqli::multi_query — Performs one or more queries on the database
  • mysqli::next_result — Prepare next result from multi_query
  • mysqli::options — Set options
  • mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
  • mysqli::poll — Poll connections
  • mysqli::prepare — Prepares an SQL statement for execution
  • mysqli::query — Performs a query on the database
  • mysqli::real_connect — Opens a connection to a mysql server
  • mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • mysqli::real_query — Execute an SQL query
  • mysqli::reap_async_query — Get result from async query
  • mysqli::refresh — Refreshes
  • mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
  • mysqli::rollback — Rolls back current transaction
  • mysqli::savepoint — Set a named transaction savepoint
  • mysqli::select_db — Selects the default database for database queries
  • mysqli::set_charset — Sets the client character set
  • mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
  • mysqli::ssl_set — Used for establishing secure connections using SSL
  • mysqli::stat — Gets the current system status
  • mysqli::stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli::store_result — Transfers a result set from the last query
  • mysqli::$thread_id — Returns the thread ID for the current connection
  • mysqli::thread_safe — Returns whether thread safety is given or not
  • mysqli::use_result — Initiate a result set retrieval
  • mysqli::$warning_count — Returns the number of warnings from the last query for the given link


Gets the number of affected rows in a previous MySQL operation

  • « mysqli
  • mysqli::autocommit »
  • PHP Manual
  • mysqli
  • Gets the number of affected rows in a previous MySQL operation

mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli::$affected_rows -- mysqli_affected_rows — Gets the number of affected rows in a previous MySQL operation

Açıklama

Nesne yönelimli kullanım

int|string $mysqli->affected_rows;

Yordamsal kullanım

mysqli_affected_rows(mysqli $mysql): int|string

Returns the number of rows affected by the last INSERT, UPDATE, REPLACE or DELETE query. Works like mysqli_num_rows() for SELECT statements.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records were updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query returned an error or that mysqli_affected_rows() was called for an unbuffered SELECT query.

Bilginize:

If the number of affected rows is greater than the maximum int value (PHP_INT_MAX), the number of affected rows will be returned as a string.

Örnekler

Örnek 1 $mysqli->affected_rows example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

/* Delete table Language */
$mysqli->query("DROP TABLE Language");

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");

Yukarıdaki örneklerin çıktısı:

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169

Ayrıca Bakınız

  • mysqli_num_rows() - Gets the number of rows in the result set
  • mysqli_info() - Retrieves information about the most recently executed query


Turns on or off auto-committing database modifications

  • « mysqli::$affected_rows
  • mysqli::begin_transaction »
  • PHP Manual
  • mysqli
  • Turns on or off auto-committing database modifications

mysqli::autocommit

mysqli_autocommit

(PHP 5, PHP 7, PHP 8)

mysqli::autocommit -- mysqli_autocommit — Turns on or off auto-committing database modifications

Açıklama

Nesne yönelimli kullanım

public mysqli::autocommit(bool $enable): bool

Yordamsal kullanım

mysqli_autocommit(mysqli $mysql, bool $enable): bool

Turns on or off auto-commit mode on queries for the database connection.

To determine the current state of autocommit use the SQL command SELECT @@autocommit.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

enable

Whether to turn on auto-commit or not.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::autocommit() example

Nesne yönelimli kullanım

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
$mysqli->query("CREATE TABLE IF NOT EXISTS language (
Code text NOT NULL,
Speakers int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Turn autocommit off */
$mysqli->autocommit(false);

$result = $mysqli->query("SELECT @@autocommit");
$row = $result->fetch_row();
printf("Autocommit is %s\n", $row[0]);

try {
/* Prepare insert statement */
$stmt = $mysqli->prepare('INSERT INTO language(Code, Speakers) VALUES (?,?)');
$stmt->bind_param('ss', $language_code, $native_speakers);

/* Insert some values */
$language_code = 'DE';
$native_speakers = 50_123_456;
$stmt->execute();
$language_code = 'FR';
$native_speakers = 40_546_321;
$stmt->execute();

/* Commit the data in the database. This doesn't set autocommit=true */
$mysqli->commit();
print "Committed 2 rows in the database\n";

$result = $mysqli->query("SELECT @@autocommit");
$row = $result->fetch_row();
printf("Autocommit is %s\n", $row[0]);

/* Try to insert more values */
$language_code = 'PL';
$native_speakers = 30_555_444;
$stmt->execute();
$language_code = 'DK';
$native_speakers = 5_222_444;
$stmt->execute();

/* Setting autocommit=true will trigger a commit */
$mysqli->autocommit(true);

print "Committed 2 row in the database\n";
} catch (mysqli_sql_exception $exception) {
$mysqli->rollback();

throw $exception;
}

Yordamsal kullanım

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
mysqli_query($mysqli, "CREATE TABLE IF NOT EXISTS language (
Code text NOT NULL,
Speakers int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Turn autocommit off */
mysqli_autocommit($mysqli, false);

$result = mysqli_query($mysqli, "SELECT @@autocommit");
$row = mysqli_fetch_row($result);
printf("Autocommit is %s\n", $row[0]);

try {
/* Prepare insert statement */
$stmt = mysqli_prepare($mysqli, 'INSERT INTO language(Code, Speakers) VALUES (?,?)');
mysqli_stmt_bind_param($stmt, 'ss', $language_code, $native_speakers);

/* Insert some values */
$language_code = 'DE';
$native_speakers = 50_123_456;
mysqli_stmt_execute($stmt);
$language_code = 'FR';
$native_speakers = 40_546_321;
mysqli_stmt_execute($stmt);

/* Commit the data in the database. This doesn't set autocommit=true */
mysqli_commit($mysqli);
print "Committed 2 rows in the database\n";

$result = mysqli_query($mysqli, "SELECT @@autocommit");
$row = mysqli_fetch_row($result);
printf("Autocommit is %s\n", $row[0]);

/* Try to insert more values */
$language_code = 'PL';
$native_speakers = 30_555_444;
mysqli_stmt_execute($stmt);
$language_code = 'DK';
$native_speakers = 5_222_444;
mysqli_stmt_execute($stmt);

/* Setting autocommit=true will trigger a commit */
mysqli_autocommit($mysqli, true);

print "Committed 2 row in the database\n";
} catch (mysqli_sql_exception $exception) {
mysqli_rollback($mysqli);

throw $exception;
}

Yukarıdaki örneklerin çıktısı:

Autocommit is 0
Committed 2 rows in the database
Autocommit is 0
Committed 2 row in the database
Autocommit is 0
Committed 2 rows in the database
Autocommit is 0
Committed 2 row in the database

Notlar

Bilginize:

This function does not work with non transactional table types (like MyISAM or ISAM).

Ayrıca Bakınız

  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_commit() - Commits the current transaction
  • mysqli_rollback() - Rolls back current transaction


Starts a transaction

  • « mysqli::autocommit
  • mysqli::change_user »
  • PHP Manual
  • mysqli
  • Starts a transaction

mysqli::begin_transaction

mysqli_begin_transaction

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

mysqli::begin_transaction -- mysqli_begin_transaction — Starts a transaction

Açıklama

Nesne yönelimli kullanım

public mysqli::begin_transaction(int $flags = 0, ?string $name = null): bool

Yordamsal kullanım:

mysqli_begin_transaction(mysqli $mysql, int $flags = 0, ?string $name = null): bool

Begins a transaction. Requires the InnoDB engine (it is enabled by default). For additional details about how MySQL transactions work, see » http://dev.mysql.com/doc/mysql/en/commit.html.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

flags

Valid flags are:

  • MYSQLI_TRANS_START_READ_ONLY: Start the transaction as "START TRANSACTION READ ONLY". Requires MySQL 5.6 and above.

  • MYSQLI_TRANS_START_READ_WRITE: Start the transaction as "START TRANSACTION READ WRITE". Requires MySQL 5.6 and above.

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT: Start the transaction as "START TRANSACTION WITH CONSISTENT SNAPSHOT".

name

Savepoint name for the transaction.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | name is now nullable.

Örnekler

Örnek 1 mysqli::begin_transaction() example

Nesne yönelimli kullanım

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
$mysqli->query("CREATE TABLE IF NOT EXISTS language (
Code text NOT NULL,
Speakers int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Start transaction */
$mysqli->begin_transaction();

try {
/* Insert some values */
$mysqli->query("INSERT INTO language(Code, Speakers) VALUES ('DE', 42000123)");

/* Try to insert invalid values */
$language_code = 'FR';
$native_speakers = 'Unknown';
$stmt = $mysqli->prepare('INSERT INTO language(Code, Speakers) VALUES (?,?)');
$stmt->bind_param('ss', $language_code, $native_speakers);
$stmt->execute();

/* If code reaches this point without errors then commit the data in the database */
$mysqli->commit();
} catch (mysqli_sql_exception $exception) {
$mysqli->rollback();

throw $exception;
}

Yordamsal kullanım

<?php

/* Tell mysqli to throw an exception if an error occurs */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

/* The table engine has to support transactions */
mysqli_query($mysqli, "CREATE TABLE IF NOT EXISTS language (
Code text NOT NULL,
Speakers int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");

/* Start transaction */
mysqli_begin_transaction($mysqli);

try {
/* Insert some values */
mysqli_query($mysqli, "INSERT INTO language(Code, Speakers) VALUES ('DE', 42000123)");

/* Try to insert invalid values */
$language_code = 'FR';
$native_speakers = 'Unknown';
$stmt = mysqli_prepare($mysqli, 'INSERT INTO language(Code, Speakers) VALUES (?,?)');
mysqli_stmt_bind_param($stmt, 'ss', $language_code, $native_speakers);
mysqli_stmt_execute($stmt);

/* If code reaches this point without errors then commit the data in the database */
mysqli_commit($mysqli);
} catch (mysqli_sql_exception $exception) {
mysqli_rollback($mysqli);

throw $exception;
}

Notlar

Bilginize:

This function does not work with non transactional table types (like MyISAM or ISAM).

Ayrıca Bakınız

  • mysqli_autocommit() - Turns on or off auto-committing database modifications
  • mysqli_commit() - Commits the current transaction
  • mysqli_rollback() - Rolls back current transaction


Changes the user of the specified database connection

  • « mysqli::begin_transaction
  • mysqli::character_set_name »
  • PHP Manual
  • mysqli
  • Changes the user of the specified database connection

mysqli::change_user

mysqli_change_user

(PHP 5, PHP 7, PHP 8)

mysqli::change_user -- mysqli_change_user — Changes the user of the specified database connection

Açıklama

Nesne yönelimli kullanım

public mysqli::change_user(string $username, string $password, ?string $database): bool

Yordamsal kullanım

mysqli_change_user(
mysqli $mysql,
string $username,
string $password,
?string $database
): bool

Changes the user of the specified database connection and sets the current database.

In order to successfully change users a valid username and password parameters must be provided and that user must have sufficient permissions to access the desired database. If for any reason authorization fails, the current user authentication will remain.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

username

The MySQL user name.

password

The MySQL password.

database

The database to change to.

If desired, the null value may be passed resulting in only changing the user and not selecting a database. To select a database in this case use the mysqli_select_db() function.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::change_user() example

Nesne yönelimli kullanım

<?php

/* connect database test */
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* Set Variable a */
$mysqli->query("SET @a:=1");

/* reset all and select a new database */
$mysqli->change_user("my_user", "my_password", "world");

if ($result = $mysqli->query("SELECT DATABASE()")) {
$row = $result->fetch_row();
printf("Default database: %s\n", $row[0]);
$result->close();
}

if ($result = $mysqli->query("SELECT @a")) {
$row = $result->fetch_row();
if ($row[0] === NULL) {
printf("Value of variable a is NULL\n");
}
$result->close();
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
/* connect database test */
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (!$link) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* Set Variable a */
mysqli_query($link, "SET @a:=1");

/* reset all and select a new database */
mysqli_change_user($link, "my_user", "my_password", "world");

if ($result = mysqli_query($link, "SELECT DATABASE()")) {
$row = mysqli_fetch_row($result);
printf("Default database: %s\n", $row[0]);
mysqli_free_result($result);
}

if ($result = mysqli_query($link, "SELECT @a")) {
$row = mysqli_fetch_row($result);
if ($row[0] === NULL) {
printf("Value of variable a is NULL\n");
}
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Default database: world
Value of variable a is NULL

Notlar

Bilginize:

Using this command will always cause the current database connection to behave as if was a completely new database connection, regardless of if the operation was completed successfully. This reset includes performing a rollback on any active transactions, closing all temporary tables, and unlocking all locked tables.

Ayrıca Bakınız

  • mysqli_connect() - Takma Adı: mysqli::__construct
  • mysqli_select_db() - Selects the default database for database queries


Returns the current character set of the database connection

  • « mysqli::change_user
  • mysqli::close »
  • PHP Manual
  • mysqli
  • Returns the current character set of the database connection

mysqli::character_set_name

mysqli_character_set_name

(PHP 5, PHP 7, PHP 8)

mysqli::character_set_name -- mysqli_character_set_name — Returns the current character set of the database connection

Açıklama

Nesne yönelimli kullanım

public mysqli::character_set_name(): string

Yordamsal kullanım

mysqli_character_set_name(mysqli $mysql): string

Returns the current character set of the database connection.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

The current character set of the connection

Örnekler

Örnek 1 mysqli::character_set_name() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Set the default character set */
$mysqli->set_charset('utf8mb4');

/* Print current character set */
$charset = $mysqli->character_set_name();
printf("Current character set is %s\n", $charset);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Set the default character set */
mysqli_set_charset($mysqli, 'utf8mb4');

/* Print current character set */
$charset = mysqli_character_set_name($mysqli);
printf("Current character set is %s\n", $charset);

Yukarıdaki örneklerin çıktısı:

Current character set is utf8mb4

Ayrıca Bakınız

  • mysqli_set_charset() - Sets the client character set
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection


Closes a previously opened database connection

  • « mysqli::character_set_name
  • mysqli::commit »
  • PHP Manual
  • mysqli
  • Closes a previously opened database connection

mysqli::close

mysqli_close

(PHP 5, PHP 7, PHP 8)

mysqli::close -- mysqli_close — Closes a previously opened database connection

Açıklama

Nesne yönelimli kullanım

public mysqli::close(): true

Yordamsal kullanım

mysqli_close(mysqli $mysql): true

Closes a previously opened database connection.

Open non-persistent MySQL connections and result sets are automatically closed when their objects are destroyed. Explicitly closing open connections and freeing result sets is optional. However, it's a good idea to close the connection as soon as the script finishes performing all of its database operations, if it still has a lot of processing to do after getting the results.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function now always returns true. Previously it returned false on failure.

Örnekler

Örnek 1 mysqli::close() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$result = $mysqli->query("SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");

/* Close the connection as soon as it's no longer needed */
$mysqli->close();

foreach ($result as $row) {
/* Processing of the data retrieved from the database */
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$result = mysqli_query($mysqli, "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");

/* Close the connection as soon as it's no longer needed */
mysqli_close($mysqli);

foreach ($result as $row) {
/* Processing of the data retrieved from the database */
}

Notlar

Bilginize:

mysqli_close() will not close persistent connections. For additional details, see the manual page on persistent connections.

Ayrıca Bakınız

  • mysqli::__construct() - Open a new connection to the MySQL server
  • mysqli_init() - Initializes MySQLi and returns an object for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_free_result() - Frees the memory associated with a result


Commits the current transaction

  • « mysqli::close
  • mysqli::$connect_errno »
  • PHP Manual
  • mysqli
  • Commits the current transaction

mysqli::commit

mysqli_commit

(PHP 5, PHP 7, PHP 8)

mysqli::commit -- mysqli_commit — Commits the current transaction

Açıklama

Nesne yönelimli kullanım

public mysqli::commit(int $flags = 0, ?string $name = null): bool

Yordamsal kullanım

mysqli_commit(mysqli $mysql, int $flags = 0, ?string $name = null): bool

Commits the current transaction for the database connection.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

flags

A bitmask of MYSQLI_TRANS_COR_* constants.

name

If provided then COMMIT/*name*/ is executed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | name is now nullable.

Örnekler

See the mysqli::begin_transaction() example.

Notlar

Bilginize:

This function does not work with non transactional table types (like MyISAM or ISAM).

Ayrıca Bakınız

  • mysqli_autocommit() - Turns on or off auto-committing database modifications
  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_rollback() - Rolls back current transaction
  • mysqli_savepoint() - Set a named transaction savepoint


Returns the error code from last connect call

  • « mysqli::commit
  • mysqli::$connect_error »
  • PHP Manual
  • mysqli
  • Returns the error code from last connect call

mysqli::$connect_errno

mysqli_connect_errno

(PHP 5, PHP 7, PHP 8)

mysqli::$connect_errno -- mysqli_connect_errno — Returns the error code from last connect call

Açıklama

Nesne yönelimli kullanım

int $mysqli->connect_errno;

Yordamsal kullanım

mysqli_connect_errno(): int

Returns the error code from the last connection attempt.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An error code for the last connection attempt, if it failed. Zero means no error occurred.

Örnekler

Örnek 1 $mysqli->connect_errno example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_OFF);
/* @ is used to suppress warnings */
$mysqli = @new mysqli('localhost', 'fake_user', 'wrong_password', 'does_not_exist');
if ($mysqli->connect_errno) {
/* Use your preferred error logging method here */
error_log('Connection error: ' . $mysqli->connect_errno);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_OFF);
/* @ is used to suppress warnings */
$link = @mysqli_connect('localhost', 'fake_user', 'wrong_password', 'does_not_exist');
if (!$link) {
/* Use your preferred error logging method here */
error_log('Connection error: ' . mysqli_connect_errno());
}

Ayrıca Bakınız

  • mysqli_connect() - Takma Adı: mysqli::__construct
  • mysqli_connect_error() - Returns a description of the last connection error
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Returns a description of the last connection error

  • « mysqli::$connect_errno
  • mysqli::__construct »
  • PHP Manual
  • mysqli
  • Returns a description of the last connection error

mysqli::$connect_error

mysqli_connect_error

(PHP 5, PHP 7, PHP 8)

mysqli::$connect_error -- mysqli_connect_error — Returns a description of the last connection error

Açıklama

Nesne yönelimli kullanım

?string $mysqli->connect_error;

Yordamsal kullanım

mysqli_connect_error(): ?string

Returns the error message from the last connection attempt.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string that describes the error. null is returned if no error occurred.

Örnekler

Örnek 1 $mysqli->connect_error example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_OFF);
/* @ is used to suppress warnings */
$mysqli = @new mysqli('localhost', 'fake_user', 'wrong_password', 'does_not_exist');
if ($mysqli->connect_error) {
/* Use your preferred error logging method here */
error_log('Connection error: ' . $mysqli->connect_error);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_OFF);
/* @ is used to suppress warnings */
$link = @mysqli_connect('localhost', 'fake_user', 'wrong_password', 'does_not_exist');
if (!$link) {
/* Use your preferred error logging method here */
error_log('Connection error: ' . mysqli_connect_error());
}

Ayrıca Bakınız

  • mysqli_connect() - Takma Adı: mysqli::__construct
  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Open a new connection to the MySQL server

  • « mysqli::$connect_error
  • mysqli::debug »
  • PHP Manual
  • mysqli
  • Open a new connection to the MySQL server

mysqli::__construct

mysqli::connect

mysqli_connect

(PHP 5, PHP 7, PHP 8)

mysqli::__construct -- mysqli::connect -- mysqli_connect — Open a new connection to the MySQL server

Açıklama

Nesne yönelimli kullanım

public mysqli::__construct(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
)
public mysqli::connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
): bool

Yordamsal kullanım

mysqli_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null
): mysqli|false

Opens a connection to the MySQL Server.

Bağımsız Değişkenler

hostname

Can be either a host name or an IP address. When passing null, the value is retrieved from mysqli.default_host. When possible, pipes will be used instead of the TCP/IP protocol. The TCP/IP protocol is used if a host name and port number are provided together e.g. localhost:3308.

Prepending host by p: opens a persistent connection. mysqli_change_user() is automatically called on connections opened from the connection pool.

username

The MySQL username or null to assume the username based on the mysqli.default_user ini option.

password

The MySQL password or null to assume the password based on the mysqli.default_pw ini option.

database

The default database to be used when performing queries or null.

port

The port number to attempt to connect to the MySQL server or null to assume the port based on the mysqli.default_port ini option.

socket

The socket or named pipe that should be used or null to assume the socket based on the mysqli.default_socket ini option.

Bilginize:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the hostname parameter.

Dönen Değerler

mysqli_connect() returns an object which represents the connection to a MySQL Server, başarısızlık durumunda false döner.

mysqli::connect() returns true on success başarısızlık durumunda false döner. Prior to PHP 8.1.0, returns null on success.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | mysqli::connect() now returns true instead of null on success.
7.4.0 | All parameters are now nullable.

Örnekler

Örnek 1 mysqli::__construct() example

Nesne yönelimli kullanım

<?php

/* You should enable error reporting for mysqli before attempting to make a connection */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

/* Set the desired charset after establishing a connection */
$mysqli->set_charset('utf8mb4');

printf("Success... %s\n", $mysqli->host_info);

Yordamsal kullanım

<?php

/* You should enable error reporting for mysqli before attempting to make a connection */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');

/* Set the desired charset after establishing a connection */
mysqli_set_charset($mysqli, 'utf8mb4');

printf("Success... %s\n", mysqli_get_host_info($mysqli));

The above examples will output something similar to:

Success... localhost via TCP/IP

Örnek 2 Extending mysqli class

<?php

class FooMysqli extends mysqli {
public function __construct($host, $user, $pass, $db, $port, $socket, $charset) {
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
parent::__construct($host, $user, $pass, $db, $port, $socket);
$this->set_charset($charset);
}
}

$db = new FooMysqli('localhost', 'my_user', 'my_password', 'my_db', 3306, null, 'utf8mb4');

Örnek 3 Manual error handling

If error reporting is disabled, the developer is responsible for checking and handling failures

Nesne yönelimli kullanım

<?php

error_reporting(0);
mysqli_report(MYSQLI_REPORT_OFF);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
if ($mysqli->connect_errno) {
throw new RuntimeException('mysqli connection error: ' . $mysqli->connect_error);
}

/* Set the desired charset after establishing a connection */
$mysqli->set_charset('utf8mb4');
if ($mysqli->errno) {
throw new RuntimeException('mysqli error: ' . $mysqli->error);
}

Yordamsal kullanım

<?php

error_reporting(0);
mysqli_report(MYSQLI_REPORT_OFF);
$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
if (mysqli_connect_errno()) {
throw new RuntimeException('mysqli connection error: ' . mysqli_connect_error());
}

/* Set the desired charset after establishing a connection */
mysqli_set_charset($mysqli, 'utf8mb4');
if (mysqli_errno($mysqli)) {
throw new RuntimeException('mysqli error: ' . mysqli_error($mysqli));
}

Notlar

Bilginize:

MySQLnd daima sunucunun öntanımlı bir karakter kümesi olduğunu varsayar. Bu karakter kümesi, mysqlnd'nin kullanacağı uzlaşım/kimlik doğrulama bağlantısı sırasında gönderilir.

Libmysqlclient, ya my.cnf dosyasındaki öntanımlı karakter kümesini ya da mysqli_init() çağrısından sonraki ilk mysqli_real_connect() çağrısından önce çağrılan mysqli_options() işlevinde belirtilen karakter kümesini kullanır.

Bilginize:

Nesne yönelimli kullanım only: If the connection fails, an object is still returned. To check whether the connection failed, use either the mysqli_connect_error() function or the mysqli->connect_error property as in the preceding examples.

Bilginize:

If it is necessary to set options, such as the connection timeout, mysqli_real_connect() must be used instead.

Bilginize:

Calling the constructor with no parameters is the same as calling mysqli_init().

Bilginize:

Error "Can't create TCP/IP socket (10106)" usually means that the variables_order configure directive doesn't contain character E. On Windows, if the environment is not copied the SYSTEMROOT environment variable won't be available and PHP will have problems loading Winsock.

Ayrıca Bakınız

  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_options() - Set options
  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a description of the last connection error
  • mysqli_close() - Closes a previously opened database connection


Performs debugging operations

  • « mysqli::__construct
  • mysqli::dump_debug_info »
  • PHP Manual
  • mysqli
  • Performs debugging operations

mysqli::debug

mysqli_debug

(PHP 5, PHP 7, PHP 8)

mysqli::debug -- mysqli_debug — Performs debugging operations

Açıklama

Nesne yönelimli kullanım

public mysqli::debug(string $options): true

Yordamsal kullanım

mysqli_debug(string $options): true

Performs debugging operations using the Fred Fish debugging library.

Bağımsız Değişkenler

options

A string representing the debugging operation to perform

The debug control string is a sequence of colon separated fields as follows:

<field_1>:<field_2>:<field_N>
Each field consists of a mandatory flag character followed by an optional , and comma separated list of modifiers: flag[,modifier,modifier,...,modifier]

Recognized Flag Characters
options character | Description
O | MYSQLND_DEBUG_FLUSH
A/a | MYSQLND_DEBUG_APPEND
F | MYSQLND_DEBUG_DUMP_FILE
i | MYSQLND_DEBUG_DUMP_PID
L | MYSQLND_DEBUG_DUMP_LINE
m | MYSQLND_DEBUG_TRACE_MEMORY_CALLS
n | MYSQLND_DEBUG_DUMP_LEVEL
o | output to file
T | MYSQLND_DEBUG_DUMP_TIME
t | MYSQLND_DEBUG_DUMP_TRACE
x | MYSQLND_DEBUG_PROFILE_CALLS

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function now always returns true. Previously it returned false on failure.

Örnekler

Örnek 1 Generating a Trace File

<?php

/* Create a trace file in '/tmp/client.trace' on the local (client) machine: */
mysqli_debug("d:t:o,/tmp/client.trace");

?>

Notlar

Bilginize:

To use the mysqli_debug() function you must compile the MySQL client library to support debugging.

Ayrıca Bakınız

  • mysqli_dump_debug_info() - Dump debugging information into the log
  • mysqli_report() - Takma Adı: mysqli_driver->report_mode


Dump debugging information into the log

  • « mysqli::debug
  • mysqli::$errno »
  • PHP Manual
  • mysqli
  • Dump debugging information into the log

mysqli::dump_debug_info

mysqli_dump_debug_info

(PHP 5, PHP 7, PHP 8)

mysqli::dump_debug_info -- mysqli_dump_debug_info — Dump debugging information into the log

Açıklama

Nesne yönelimli kullanım

public mysqli::dump_debug_info(): bool

Yordamsal kullanım

mysqli_dump_debug_info(mysqli $mysql): bool

This function is designed to be executed by an user with the SUPER privilege and is used to dump debugging information into the log for the MySQL Server relating to the connection.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mysqli_debug() - Performs debugging operations


Returns the error code for the most recent function call

  • « mysqli::dump_debug_info
  • mysqli::$error_list »
  • PHP Manual
  • mysqli
  • Returns the error code for the most recent function call

mysqli::$errno

mysqli_errno

(PHP 5, PHP 7, PHP 8)

mysqli::$errno -- mysqli_errno — Returns the error code for the most recent function call

Açıklama

Nesne yönelimli kullanım

int $mysqli->errno;

Yordamsal kullanım

mysqli_errno(mysqli $mysql): int

Returns the last error code for the most recent MySQLi function call that can succeed or fail.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

An error code value for the last call, if it failed. zero means no error occurred.

Örnekler

Örnek 1 $mysqli->errno example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

if (!$mysqli->query("SET a=1")) {
printf("Errorcode: %d\n", $mysqli->errno);
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if (!mysqli_query($link, "SET a=1")) {
printf("Errorcode: %d\n", mysqli_errno($link));
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Errorcode: 1193

Ayrıca Bakınız

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a description of the last connection error
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Returns a list of errors from the last command executed

  • « mysqli::$errno
  • mysqli::$error »
  • PHP Manual
  • mysqli
  • Returns a list of errors from the last command executed

mysqli::$error_list

mysqli_error_list

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

mysqli::$error_list -- mysqli_error_list — Returns a list of errors from the last command executed

Açıklama

Nesne yönelimli kullanım

array $mysqli->error_list;

Yordamsal kullanım

mysqli_error_list(mysqli $mysql): array

Returns a array of errors for the most recent MySQLi function call that can succeed or fail.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Örnekler

Örnek 1 $mysqli->error_list example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "nobody", "");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if (!$mysqli->query("SET a=1")) {
print_r($mysqli->error_list);
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if (!mysqli_query($link, "SET a=1")) {
print_r(mysqli_error_list($link));
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Array
(
    [0] => Array
        (
            [errno] => 1193
            [sqlstate] => HY000
            [error] => Unknown system variable 'a'
        )

)

Ayrıca Bakınız

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a description of the last connection error
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Returns a string description of the last error

  • « mysqli::$error_list
  • mysqli::execute_query »
  • PHP Manual
  • mysqli
  • Returns a string description of the last error

mysqli::$error

mysqli_error

(PHP 5, PHP 7, PHP 8)

mysqli::$error -- mysqli_error — Returns a string description of the last error

Açıklama

Nesne yönelimli kullanım

string $mysqli->error;

Yordamsal kullanım

mysqli_error(mysqli $mysql): string

Returns the last error message for the most recent MySQLi function call that can succeed or fail.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A string that describes the error. An empty string if no error occurred.

Örnekler

Örnek 1 $mysqli->error example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

if (!$mysqli->query("SET a=1")) {
printf("Error message: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if (!mysqli_query($link, "SET a=1")) {
printf("Error message: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error message: Unknown system variable 'a'

Ayrıca Bakınız

  • mysqli_connect_errno() - Returns the error code from last connect call
  • mysqli_connect_error() - Returns a description of the last connection error
  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


Prepares, binds parameters, and executes SQL statement

  • « mysqli::$error
  • mysqli::$field_count »
  • PHP Manual
  • mysqli
  • Prepares, binds parameters, and executes SQL statement

mysqli::execute_query

mysqli_execute_query

(PHP 8 >= 8.2.0)

mysqli::execute_query -- mysqli_execute_query — Prepares, binds parameters, and executes SQL statement

Açıklama

Nesne yönelimli kullanım

public mysqli::execute_query(string $query, ?array $params = null): mysqli_result|bool

Yordamsal kullanım

mysqli_execute_query(mysqli $mysql, string $query, ?array $params = null): mysqli_result|bool

Prepares the SQL query, binds parameters, and executes it.
The mysqli::execute_query() method is a shortcut for
mysqli::prepare(),
mysqli_stmt::bind_param(),
mysqli_stmt::execute(),
and mysqli_stmt::get_result().

The statement template can contain zero or more question mark (?) parameter markers?—also called placeholders. The parameter values must be provided as an array using params parameter.

A prepared statement is created under the hood but it's never exposed outside of the function. It's impossible to access properties of the statement as one would do with the mysqli_stmt object. Due to this limitation, the status information is copied to the mysqli object and is available using its methods, e.g. mysqli_affected_rows() or mysqli_error().

Bilginize:

In the case where a statement is passed to mysqli_execute_query() that is longer than max_allowed_packet of the server, the returned error codes are different depending on the operating system. The behavior is as follows:

  • On Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes.

  • On Windows returns an error code 2006. This error message means server has gone away.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

query

The query, as a string. It must consist of a single SQL statement.

The SQL statement may contain zero or more parameter markers represented by question mark (?) characters at the appropriate positions.

Bilginize:

The markers are legal only in certain places in SQL statements. For example, they are permitted in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value. However, they are not permitted for identifiers (such as table or column names).

params

An optional list array with as many elements as there are bound parameters in the SQL statement being executed. Each value is treated as a string.

Dönen Değerler

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, returns a mysqli_result object. For other successful queries, returns true.

Örnekler

Örnek 1 mysqli::execute_query() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = $mysqli->execute_query($query, ['DEU']);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = 'SELECT Name, District FROM City WHERE CountryCode=? ORDER BY Name LIMIT 5';
$result = mysqli_execute_query($link, $query, ['DEU']);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["District"]);
}

The above examples will output something similar to:

Aachen (Nordrhein-Westfalen)
Augsburg (Baijeri)
Bergisch Gladbach (Nordrhein-Westfalen)
Berlin (Berliini)
Bielefeld (Nordrhein-Westfalen)

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_execute() - Executes a prepared statement
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object


Returns the number of columns for the most recent query

  • « mysqli::execute_query
  • mysqli::get_charset »
  • PHP Manual
  • mysqli
  • Returns the number of columns for the most recent query

mysqli::$field_count

mysqli_field_count

(PHP 5, PHP 7, PHP 8)

mysqli::$field_count -- mysqli_field_count — Returns the number of columns for the most recent query

Açıklama

Nesne yönelimli kullanım

int $mysqli->field_count;

Yordamsal kullanım

mysqli_field_count(mysqli $mysql): int

Returns the number of columns for the most recent query on the connection represented by the mysql parameter. This function can be useful when using the mysqli_store_result() function to determine if the query should have produced a non-empty result set or not without knowing the nature of the query.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

An integer representing the number of fields in a result set.

Örnekler

Örnek 1 $mysqli->field_count example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query( "DROP TABLE IF EXISTS friends");
$mysqli->query( "CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query( "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$mysqli->real_query("SELECT * FROM friends");

if ($mysqli->field_count) {
/* this was a select/show or describe query */
$result = $mysqli->store_result();

/* process resultset */
$row = $result->fetch_row();

/* free resultset */
$result->close();
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

mysqli_real_query($link, "SELECT * FROM friends");

if (mysqli_field_count($link)) {
/* this was a select/show or describe query */
$result = mysqli_store_result($link);

/* process resultset */
$row = mysqli_fetch_row($result);

/* free resultset */
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>


Returns a character set object

  • « mysqli::$field_count
  • mysqli::$client_info »
  • PHP Manual
  • mysqli
  • Returns a character set object

mysqli::get_charset

mysqli_get_charset

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_charset -- mysqli_get_charset — Returns a character set object

Açıklama

Nesne yönelimli kullanım

public mysqli::get_charset(): ?object

Yordamsal kullanım

mysqli_get_charset(mysqli $mysql): ?object

Returns a character set object providing several properties of the current active character set.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

The function returns a character set object with the following properties:

charset

Character set name

collation

Collation name

dir

Directory the charset description was fetched from (?) or "" for built-in character sets

min_length

Minimum character length in bytes

max_length

Maximum character length in bytes

number

Internal character set number

state

Character set status (?)

Örnekler

Örnek 1 mysqli::get_charset() example

Nesne yönelimli kullanım

<?php
$db = mysqli_init();
$db->real_connect("localhost","root","","test");
var_dump($db->get_charset());
?>

Yordamsal kullanım

<?php
$db = mysqli_init();
mysqli_real_connect($db, "localhost","root","","test");
var_dump(mysqli_get_charset($db));
?>

Yukarıdaki örneklerin çıktısı:

object(stdClass)#2 (7) {
  ["charset"]=>
  string(6) "latin1"
  ["collation"]=>
  string(17) "latin1_swedish_ci"
  ["dir"]=>
  string(0) ""
  ["min_length"]=>
  int(1)
  ["max_length"]=>
  int(1)
  ["number"]=>
  int(8)
  ["state"]=>
  int(801)
}

Ayrıca Bakınız

  • mysqli_character_set_name() - Returns the current character set of the database connection
  • mysqli_set_charset() - Sets the client character set


Get MySQL client info

  • « mysqli::get_charset
  • mysqli::$client_version »
  • PHP Manual
  • mysqli
  • Get MySQL client info

mysqli::$client_info

mysqli::get_client_info

mysqli_get_client_info

(PHP 5, PHP 7, PHP 8)

mysqli::$client_info -- mysqli::get_client_info -- mysqli_get_client_info — Get MySQL client info

Açıklama

Nesne yönelimli kullanım

string $mysqli->client_info;
public mysqli::get_client_info(): string

Yordamsal kullanım

mysqli_get_client_info(?mysqli $mysql = null): string

Returns a string that represents the MySQL client library version.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string that represents the MySQL client library version.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Calling mysqli_get_client_info() with the mysql argument has been deprecated. This function never required a parameter, but incorrectly allowed it as an optional parameter.
8.1.0 | The object-oriented style mysqli::get_client_info() has been deprecated.

Örnekler

Örnek 1 mysqli_get_client_info

<?php

/* We don't need a connection to determine
the version of mysql client library */

printf("Client library version: %s\n", mysqli_get_client_info());
?>

Ayrıca Bakınız

  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer


Returns the MySQL client version as an integer

  • « mysqli::$client_info
  • mysqli::get_connection_stats »
  • PHP Manual
  • mysqli
  • Returns the MySQL client version as an integer

mysqli::$client_version

mysqli_get_client_version

(PHP 5, PHP 7, PHP 8)

mysqli::$client_version -- mysqli_get_client_version — Returns the MySQL client version as an integer

Açıklama

Nesne yönelimli kullanım

int $mysqli->client_version;

Yordamsal kullanım

mysqli_get_client_version(): int

Returns client version number as an integer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A number that represents the MySQL client library version in format: main_version*10000 + minor_version *100 + sub_version. For example, 4.1.0 is returned as 40100.

This is useful to quickly determine the version of the client library to know if some capability exists.

Örnekler

Örnek 1 mysqli_get_client_version

<?php

/* We don't need a connection to determine
the version of mysql client library */

printf("Client library version: %d\n", mysqli_get_client_version());
?>

Ayrıca Bakınız

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_server_info() - Returns the version of the MySQL server
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer


Returns statistics about the client connection

  • « mysqli::$client_version
  • mysqli::$host_info »
  • PHP Manual
  • mysqli
  • Returns statistics about the client connection

mysqli::get_connection_stats

mysqli_get_connection_stats

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli::get_connection_stats -- mysqli_get_connection_stats — Returns statistics about the client connection

Açıklama

Nesne yönelimli kullanım

public mysqli::get_connection_stats(): array

Yordamsal kullanım

mysqli_get_connection_stats(mysqli $mysql): array

Returns statistics about the client connection.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns an array with connection stats.

Örnekler

Örnek 1 A mysqli_get_connection_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_connection_stats($link));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Ayrıca Bakınız

  • Stats description


Returns a string representing the type of connection used

  • « mysqli::get_connection_stats
  • mysqli::$protocol_version »
  • PHP Manual
  • mysqli
  • Returns a string representing the type of connection used

mysqli::$host_info

mysqli_get_host_info

(PHP 5, PHP 7, PHP 8)

mysqli::$host_info -- mysqli_get_host_info — Returns a string representing the type of connection used

Açıklama

Nesne yönelimli kullanım

string $mysqli->host_info;

Yordamsal kullanım

mysqli_get_host_info(mysqli $mysql): string

Returns a string describing the connection represented by the mysql parameter (including the server host name).

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A character string representing the server hostname and the connection type.

Örnekler

Örnek 1 $mysqli->host_info example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* print host information */
printf("Host info: %s\n", $mysqli->host_info);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* print host information */
printf("Host info: %s\n", mysqli_get_host_info($link));

Yukarıdaki örneklerin çıktısı:

Host info: Localhost via UNIX socket

Ayrıca Bakınız

  • mysqli_get_proto_info() - Returns the version of the MySQL protocol used


Returns the version of the MySQL protocol used

  • « mysqli::$host_info
  • mysqli::$server_info »
  • PHP Manual
  • mysqli
  • Returns the version of the MySQL protocol used

mysqli::$protocol_version

mysqli_get_proto_info

(PHP 5, PHP 7, PHP 8)

mysqli::$protocol_version -- mysqli_get_proto_info — Returns the version of the MySQL protocol used

Açıklama

Nesne yönelimli kullanım

int $mysqli->protocol_version;

Yordamsal kullanım

mysqli_get_proto_info(mysqli $mysql): int

Returns an integer representing the MySQL protocol version used by the connection represented by the mysql parameter.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns an integer representing the protocol version.

Örnekler

Örnek 1 $mysqli->protocol_version example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* print protocol version */
printf("Protocol version: %d\n", $mysqli->protocol_version);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password");

/* print protocol version */
printf("Protocol version: %d\n", mysqli_get_proto_info($link));

Yukarıdaki örneklerin çıktısı:

Protocol version: 10

Ayrıca Bakınız

  • mysqli_get_host_info() - Returns a string representing the type of connection used


Returns the version of the MySQL server

  • « mysqli::$protocol_version
  • mysqli::$server_version »
  • PHP Manual
  • mysqli
  • Returns the version of the MySQL server

mysqli::$server_info

mysqli::get_server_info

mysqli_get_server_info

(PHP 5, PHP 7, PHP 8)

mysqli::$server_info -- mysqli::get_server_info -- mysqli_get_server_info — Returns the version of the MySQL server

Açıklama

Nesne yönelimli kullanım

string $mysqli->server_info;
public mysqli::get_server_info(): string

Yordamsal kullanım

mysqli_get_server_info(mysqli $mysql): string

Returns a string representing the version of the MySQL server that the MySQLi extension is connected to.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A character string representing the server version.

Örnekler

Örnek 1 $mysqli->server_info example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* print server version */
printf("Server version: %s\n", $mysqli->server_info);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password");

/* print server version */
printf("Server version: %s\n", mysqli_get_server_info($link));

The above examples will output something similar to:

Server version: 8.0.21

Ayrıca Bakınız

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_version() - Returns the version of the MySQL server as an integer


Returns the version of the MySQL server as an integer

  • « mysqli::$server_info
  • mysqli::get_warnings »
  • PHP Manual
  • mysqli
  • Returns the version of the MySQL server as an integer

mysqli::$server_version

mysqli_get_server_version

(PHP 5, PHP 7, PHP 8)

mysqli::$server_version -- mysqli_get_server_version — Returns the version of the MySQL server as an integer

Açıklama

Nesne yönelimli kullanım

int $mysqli->server_version;

Yordamsal kullanım

mysqli_get_server_version(mysqli $mysql): int

The mysqli_get_server_version() function returns the version of the server connected to (represented by the mysql parameter) as an integer.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

An integer representing the server version.

The form of this version number is main_version * 10000 + minor_version * 100 + sub_version (i.e. version 4.1.0 is 40100).

Örnekler

Örnek 1 $mysqli->server_version example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password");

/* print server version */
printf("Server version: %d\n", $mysqli->server_version);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password");

/* print server version */
printf("Server version: %d\n", mysqli_get_server_version($link));

The above examples will output something similar to:

Server version: 80021

Ayrıca Bakınız

  • mysqli_get_client_info() - Get MySQL client info
  • mysqli_get_client_version() - Returns the MySQL client version as an integer
  • mysqli_get_server_info() - Returns the version of the MySQL server


Get result of SHOW WARNINGS

  • « mysqli::$server_version
  • mysqli::$info »
  • PHP Manual
  • mysqli
  • Get result of SHOW WARNINGS

mysqli::get_warnings

mysqli_get_warnings

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli::get_warnings -- mysqli_get_warnings — Get result of SHOW WARNINGS

Açıklama

Nesne yönelimli kullanım

public mysqli::get_warnings(): mysqli_warning|false

Yordamsal kullanım

mysqli_get_warnings(mysqli $mysql): mysqli_warning|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Retrieves information about the most recently executed query

  • « mysqli::get_warnings
  • mysqli::init »
  • PHP Manual
  • mysqli
  • Retrieves information about the most recently executed query

mysqli::$info

mysqli_info

(PHP 5, PHP 7, PHP 8)

mysqli::$info -- mysqli_info — Retrieves information about the most recently executed query

Açıklama

Nesne yönelimli kullanım

?string $mysqli->info;

Yordamsal kullanım

mysqli_info(mysqli $mysql): ?string

The mysqli_info() function returns a string providing information about the last query executed. The nature of this string is provided below:

Possible mysqli_info return values
Query type | Example result string
INSERT INTO...SELECT... | Records: 100 Duplicates: 0 Warnings: 0
INSERT INTO...VALUES (...),(...),(...) | Records: 3 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ... | Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE ... | Records: 3 Duplicates: 0 Warnings: 0
UPDATE ... | Rows matched: 40 Changed: 40 Warnings: 0

Bilginize:

Queries which do not fall into one of the preceding formats are not supported. In these situations, mysqli_info() will return an empty string.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A character string representing additional information about the most recently executed query.

Örnekler

Örnek 1 $mysqli->info example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO ... SELECT */
$mysqli->query("INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", $mysqli->info);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

mysqli_query($link, "CREATE TEMPORARY TABLE t1 LIKE City");

/* INSERT INTO ... SELECT */
mysqli_query($link, "INSERT INTO t1 SELECT * FROM City ORDER BY ID LIMIT 150");
printf("%s\n", mysqli_info($link));

Yukarıdaki örneklerin çıktısı:

Records: 150  Duplicates: 0  Warnings: 0

Ayrıca Bakınız

  • mysqli_affected_rows() - Gets the number of affected rows in a previous MySQL operation
  • mysqli_warning_count() - Returns the number of warnings from the last query for the given link
  • mysqli_num_rows() - Gets the number of rows in the result set


Initializes MySQLi and returns an object for use with mysqli_real_connect()

  • « mysqli::$info
  • mysqli::$insert_id »
  • PHP Manual
  • mysqli
  • Initializes MySQLi and returns an object for use with mysqli_real_connect()

mysqli::init

mysqli_init

(PHP 5, PHP 7, PHP 8)

mysqli::init -- mysqli_init — Initializes MySQLi and returns an object for use with mysqli_real_connect()

Açıklama

Nesne yönelimli kullanım

public mysqli::init(): ?bool

Yordamsal kullanım

mysqli_init(): mysqli|false

Allocates or initializes a MYSQL object suitable for mysqli_options() and mysqli_real_connect().

Bilginize:

Any subsequent calls to any mysqli function (except mysqli_options() and mysqli_ssl_set()) will fail until mysqli_real_connect() was called.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

mysqli::init() returns null on success, başarısızlık durumunda false döner. mysqli_init() returns an object on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The object-oriented style mysqli::init() method has been deprecated. Replace calls to parent::init() with parent::__construct().

Örnekler

See mysqli_real_connect().

Ayrıca Bakınız

  • mysqli_options() - Set options
  • mysqli_close() - Closes a previously opened database connection
  • mysqli_real_connect() - Opens a connection to a mysql server
  • mysqli_connect() - Takma Adı: mysqli::__construct


Returns the value generated for an AUTO_INCREMENT column by the last query

  • « mysqli::init
  • mysqli::kill »
  • PHP Manual
  • mysqli
  • Returns the value generated for an AUTO_INCREMENT column by the last query

mysqli::$insert_id

mysqli_insert_id

(PHP 5, PHP 7, PHP 8)

mysqli::$insert_id -- mysqli_insert_id — Returns the value generated for an AUTO_INCREMENT column by the last query

Açıklama

Nesne yönelimli kullanım

int|string $mysqli->insert_id;

Yordamsal kullanım

mysqli_insert_id(mysqli $mysql): int|string

Returns the ID generated by an INSERT or UPDATE query on a table with a column having the AUTO_INCREMENT attribute. In the case of a multiple-row INSERT statement, it returns the first automatically generated value that was successfully inserted.

Performing an INSERT or UPDATE statement using the LAST_INSERT_ID() MySQL function will also modify the value returned by mysqli_insert_id(). If LAST_INSERT_ID(expr) was used to generate the value of AUTO_INCREMENT, it returns the value of the last expr instead of the generated AUTO_INCREMENT value.

Returns 0 if the previous statement did not change an AUTO_INCREMENT value. mysqli_insert_id() must be called immediately after the statement that generated the value.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

The value of the AUTO_INCREMENT field that was updated by the previous query. Returns zero if there was no previous query on the connection or if the query did not update an AUTO_INCREMENT value.

Only statements issued using the current connection affect the return value. The value is not affected by statements issued using other connections or clients.

Bilginize:

If the number is greater than the maximum int value, it will be returned as a string.

Örnekler

Örnek 1 $mysqli->insert_id example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf("New record has ID %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf("New record has ID %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");

Yukarıdaki örneklerin çıktısı:

New record has ID 1.


Asks the server to kill a MySQL thread

  • « mysqli::$insert_id
  • mysqli::more_results »
  • PHP Manual
  • mysqli
  • Asks the server to kill a MySQL thread

mysqli::kill

mysqli_kill

(PHP 5, PHP 7, PHP 8)

mysqli::kill -- mysqli_kill — Asks the server to kill a MySQL thread

Açıklama

Nesne yönelimli kullanım

public mysqli::kill(int $process_id): bool

Yordamsal kullanım

mysqli_kill(mysqli $mysql, int $process_id): bool

This function is used to ask the server to kill a MySQL thread specified by the process_id parameter. This value must be retrieved by calling the mysqli_thread_id() function.

To stop a running query you should use the SQL command KILL QUERY processid.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::kill() example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", $mysqli->error);
exit;
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", mysqli_error($link));
exit;
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error: MySQL server has gone away

Ayrıca Bakınız

  • mysqli_thread_id() - Returns the thread ID for the current connection


Check if there are any more query results from a multi query

  • « mysqli::kill
  • mysqli::multi_query »
  • PHP Manual
  • mysqli
  • Check if there are any more query results from a multi query

mysqli::more_results

mysqli_more_results

(PHP 5, PHP 7, PHP 8)

mysqli::more_results -- mysqli_more_results — Check if there are any more query results from a multi query

Açıklama

Nesne yönelimli kullanım

public mysqli::more_results(): bool

Yordamsal kullanım

mysqli_more_results(mysqli $mysql): bool

Indicates if one or more result sets are available from a previous call to mysqli_multi_query().

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns true if one or more result sets (including errors) are available from a previous call to mysqli_multi_query(), otherwise false.

Örnekler

See mysqli_multi_query().

Ayrıca Bakınız

  • mysqli_multi_query() - Performs one or more queries on the database
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Performs one or more queries on the database

  • « mysqli::more_results
  • mysqli::next_result »
  • PHP Manual
  • mysqli
  • Performs one or more queries on the database

mysqli::multi_query

mysqli_multi_query

(PHP 5, PHP 7, PHP 8)

mysqli::multi_query -- mysqli_multi_query — Performs one or more queries on the database

Açıklama

Nesne yönelimli kullanım

public mysqli::multi_query(string $query): bool

Yordamsal kullanım

mysqli_multi_query(mysqli $mysql, string $query): bool

Executes one or multiple queries which are concatenated by a semicolon.

Uyarı

Güvenlik Uyarısı: SQL zerki

Sorgu herhangi bir değişken girdi içeriyorsa, bunun yerine bağımsız değişkenli hazırlanmış deyimler kullanılmalıdır. Veya, veriler düzgün biçimde biçimlendirilmeli ve tüm dizgeler mysqli_real_escape_string() işlevi kullanılarak öncelenmelidir.

Queries are sent asynchronously in a single call to the database, but the database processes them sequentially. mysqli_multi_query() waits for the first query to complete before returning control to PHP. The MySQL server will then process the next query in the sequence. Once the next result is ready, MySQL will wait for the next execution of mysqli_next_result() from PHP.

It is recommended to use do-while to process multiple queries. The connection will be busy until all queries have completed and their results are fetched to PHP. No other statement can be issued on the same connection until all queries are processed. To proceed to the next query in the sequence, use mysqli_next_result(). If the next result is not ready yet, mysqli will wait for the response from the MySQL server. To check if there are more results, use mysqli_more_results().

For queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_use_result() or mysqli_store_result() can be used to retrieve the result set. For queries which do not produce a result set, the same functions can be used to retrieve information such as the number of affected rows.

İpucu

Executing CALL statements for stored procedures can produce multiple result sets. If the stored procedure contains SELECT statements, the result sets are returned in the order that they are produced as the procedure executes. In general, the caller cannot know how many result sets a procedure will return and must be prepared to retrieve multiple results. The final result from the procedure is a status result that includes no result set. The status indicates whether the procedure succeeded or an error occurred.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

query

A string containing the queries to be executed. Multiple queries must be separated by a semicolon.

Dönen Değerler

Returns false if the first statement failed. To retrieve subsequent errors from other statements you have to call mysqli_next_result() first.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::multi_query() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
$mysqli->multi_query($query);
do {
/* store the result set in PHP */
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
}
/* print divider */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
mysqli_multi_query($link, $query);
do {
/* store the result set in PHP */
if ($result = mysqli_store_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
}
/* print divider */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));

The above examples will output something similar to:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Ayrıca Bakınız

  • mysqli_query() - Performs a query on the database
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_next_result() - Prepare next result from multi_query
  • mysqli_more_results() - Check if there are any more query results from a multi query


Prepare next result from multi_query

  • « mysqli::multi_query
  • mysqli::options »
  • PHP Manual
  • mysqli
  • Prepare next result from multi_query

mysqli::next_result

mysqli_next_result

(PHP 5, PHP 7, PHP 8)

mysqli::next_result -- mysqli_next_result — Prepare next result from multi_query

Açıklama

Nesne yönelimli kullanım

public mysqli::next_result(): bool

Yordamsal kullanım

mysqli_next_result(mysqli $mysql): bool

Prepares next result set from a previous call to
mysqli_multi_query() which can be retrieved by
mysqli_store_result() or
mysqli_use_result().

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Also returns false if the next statement resulted in an error, unlike mysqli_more_results().

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

See mysqli_multi_query().

Ayrıca Bakınız

  • mysqli_multi_query() - Performs one or more queries on the database
  • mysqli_more_results() - Check if there are any more query results from a multi query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Set options

  • « mysqli::next_result
  • mysqli::ping »
  • PHP Manual
  • mysqli
  • Set options

mysqli::options

mysqli_options

(PHP 5, PHP 7, PHP 8)

mysqli::options -- mysqli_options — Set options

Açıklama

Nesne yönelimli kullanım

public mysqli::options(int $option, string|int $value): bool

Yordamsal kullanım

mysqli_options(mysqli $mysql, int $option, string|int $value): bool

Used to set extra connect options and affect behavior for a connection.

This function may be called multiple times to set several options.

mysqli_options() should be called after
mysqli_init() and before
mysqli_real_connect().

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

option

The option that you want to set. It can be one of the following values:

Valid options
Name | Description
MYSQLI_OPT_CONNECT_TIMEOUT | Connection timeout in seconds
MYSQLI_OPT_READ_TIMEOUT | Command execution result timeout in seconds. Available as of PHP 7.2.0.
MYSQLI_OPT_LOCAL_INFILE | Enable/disable use of LOAD LOCAL INFILE
MYSQLI_INIT_COMMAND | Command to execute after when connecting to MySQL server
MYSQLI_SET_CHARSET_NAME | The charset to be set as default.
MYSQLI_READ_DEFAULT_FILE | Read options from named option file instead of my.cnf Not supported by mysqlnd.
MYSQLI_READ_DEFAULT_GROUP | Read options from the named group from my.cnf or the file specified with MYSQL_READ_DEFAULT_FILE. Not supported by mysqlnd.
MYSQLI_SERVER_PUBLIC_KEY | RSA public key file used with the SHA-256 based authentication.
MYSQLI_OPT_NET_CMD_BUFFER_SIZE | The size of the internal command/network buffer. Only valid for mysqlnd.
MYSQLI_OPT_NET_READ_BUFFER_SIZE | Maximum read chunk size in bytes when reading the body of a MySQL command packet. Only valid for mysqlnd.
MYSQLI_OPT_INT_AND_FLOAT_NATIVE | Convert integer and float columns back to PHP numbers. Only valid for mysqlnd.
MYSQLI_OPT_SSL_VERIFY_SERVER_CERT | Whether to verify server certificate or not.

value

The value for the option.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

See mysqli_real_connect().

Notlar

Bilginize:

MySQLnd daima sunucunun öntanımlı bir karakter kümesi olduğunu varsayar. Bu karakter kümesi, mysqlnd'nin kullanacağı uzlaşım/kimlik doğrulama bağlantısı sırasında gönderilir.

Libmysqlclient, ya my.cnf dosyasındaki öntanımlı karakter kümesini ya da mysqli_init() çağrısından sonraki ilk mysqli_real_connect() çağrısından önce çağrılan mysqli_options() işlevinde belirtilen karakter kümesini kullanır.

Ayrıca Bakınız

  • mysqli_init() - Initializes MySQLi and returns an object for use with mysqli_real_connect()
  • mysqli_real_connect() - Opens a connection to a mysql server


Pings a server connection, or tries to reconnect if the connection has gone down

  • « mysqli::options
  • mysqli::poll »
  • PHP Manual
  • mysqli
  • Pings a server connection, or tries to reconnect if the connection has gone down

mysqli::ping

mysqli_ping

(PHP 5, PHP 7, PHP 8)

mysqli::ping -- mysqli_ping — Pings a server connection, or tries to reconnect if the connection has gone down

Açıklama

Nesne yönelimli kullanım

public mysqli::ping(): bool

Yordamsal kullanım

mysqli_ping(mysqli $mysql): bool

Checks whether the connection to the server is working. If it has gone down and global option mysqli.reconnect is enabled, an automatic reconnection is attempted.

Bilginize: The php.ini setting mysqli.reconnect is ignored by the mysqlnd driver, so automatic reconnection is never attempted.

This function can be used by clients that remain idle for a long while, to check whether the server has closed the connection and reconnect if necessary.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::ping() example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

/* check if server is alive */
if ($mysqli->ping()) {
printf ("Our connection is ok!\n");
} else {
printf ("Error: %s\n", $mysqli->error);
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* check if server is alive */
if (mysqli_ping($link)) {
printf ("Our connection is ok!\n");
} else {
printf ("Error: %s\n", mysqli_error($link));
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Our connection is ok!


Poll connections

  • « mysqli::ping
  • mysqli::prepare »
  • PHP Manual
  • mysqli
  • Poll connections

mysqli::poll

mysqli_poll

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli::poll -- mysqli_poll — Poll connections

Açıklama

Nesne yönelimli kullanım

public static mysqli::poll(
?array &$read,
?array &$error,
array &$reject,
int $seconds,
int $microseconds = 0
): int|false

Yordamsal kullanım

mysqli_poll(
?array &$read,
?array &$error,
array &$reject,
int $seconds,
int $microseconds = 0
): int|false

Poll connections. The method can be used as static.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bağımsız Değişkenler

read

List of connections to check for outstanding results that can be read.

error

List of connections on which an error occurred, for example, query failure or lost connection.

reject

List of connections rejected because no asynchronous query has been run on for which the function could poll results.

seconds

Maximum number of seconds to wait, must be non-negative.

microseconds

Maximum number of microseconds to wait, must be non-negative.

Dönen Değerler

Returns number of ready connections upon success, false otherwise.

Örnekler

Örnek 1 A mysqli_poll() example

<?php
$link1 = mysqli_connect();
$link1->query("SELECT 'test'", MYSQLI_ASYNC);
$all_links = array($link1);
$processed = 0;
do {
$links = $errors = $reject = array();
foreach ($all_links as $link) {
$links[] = $errors[] = $reject[] = $link;
}
if (!mysqli_poll($links, $errors, $reject, 1)) {
continue;
}
foreach ($links as $link) {
if ($result = $link->reap_async_query()) {
print_r($result->fetch_row());
if (is_object($result))
mysqli_free_result($result);
} else die(sprintf("MySQLi Error: %s", mysqli_error($link)));
$processed++;
}
} while ($processed < count($all_links));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => test
)

Ayrıca Bakınız

  • mysqli_query() - Performs a query on the database
  • mysqli_reap_async_query() - Get result from async query


Prepares an SQL statement for execution

  • « mysqli::poll
  • mysqli::query »
  • PHP Manual
  • mysqli
  • Prepares an SQL statement for execution

mysqli::prepare

mysqli_prepare

(PHP 5, PHP 7, PHP 8)

mysqli::prepare -- mysqli_prepare — Prepares an SQL statement for execution

Açıklama

Nesne yönelimli kullanım

public mysqli::prepare(string $query): mysqli_stmt|false

Yordamsal kullanım

mysqli_prepare(mysqli $mysql, string $query): mysqli_stmt|false

Prepares the SQL query, and returns a statement handle to be used for further operations on the statement. The query must consist of a single SQL statement.

The statement template can contain zero or more question mark (?) parameter markers?—also called placeholders. The parameter markers must be bound to application variables using mysqli_stmt_bind_param() before executing the statement.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

query

The query, as a string. It must consist of a single SQL statement.

The SQL statement may contain zero or more parameter markers represented by question mark (?) characters at the appropriate positions.

Bilginize:

The markers are legal only in certain places in SQL statements. For example, they are permitted in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value. However, they are not permitted for identifiers (such as table or column names).

Dönen Değerler

mysqli_prepare() returns a statement object or false if an error occurred.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::prepare() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$city = "Amersfoort";

/* create a prepared statement */
$stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?");

/* bind parameters for markers */
$stmt->bind_param("s", $city);

/* execute query */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($district);

/* fetch value */
$stmt->fetch();

printf("%s is in district %s\n", $city, $district);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?");

/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $city);

/* execute query */
mysqli_stmt_execute($stmt);

/* bind result variables */
mysqli_stmt_bind_result($stmt, $district);

/* fetch value */
mysqli_stmt_fetch($stmt);

printf("%s is in district %s\n", $city, $district);

Yukarıdaki örneklerin çıktısı:

Amersfoort is in district Utrecht

Ayrıca Bakınız

  • mysqli_stmt_execute() - Executes a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object
  • mysqli_stmt_close() - Closes a prepared statement


Performs a query on the database

  • « mysqli::prepare
  • mysqli::real_connect »
  • PHP Manual
  • mysqli
  • Performs a query on the database

mysqli::query

mysqli_query

(PHP 5, PHP 7, PHP 8)

mysqli::query -- mysqli_query — Performs a query on the database

Açıklama

Nesne yönelimli kullanım

public mysqli::query(string $query, int $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool

Yordamsal kullanım

mysqli_query(mysqli $mysql, string $query, int $result_mode = MYSQLI_STORE_RESULT): mysqli_result|bool

Performs a query against the database.

Uyarı

Güvenlik Uyarısı: SQL zerki

Sorgu herhangi bir değişken girdi içeriyorsa, bunun yerine bağımsız değişkenli hazırlanmış deyimler kullanılmalıdır. Veya, veriler düzgün biçimde biçimlendirilmeli ve tüm dizgeler mysqli_real_escape_string() işlevi kullanılarak öncelenmelidir.

For non-DML queries (not INSERT, UPDATE or DELETE),
this function is similar to calling
mysqli_real_query() followed by either
mysqli_use_result() or
mysqli_store_result().

Bilginize:

In the case where a statement is passed to mysqli_query() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysqlclient). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes.

  • mysqlnd on Windows returns an error code 2006. This error message means server has gone away.

  • libmysqlclient on all platforms returns an error code 2006. This error message means server has gone away.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

query

The query string.

result_mode

The result mode can be one of 3 constants indicating how the result will be returned from the MySQL server.

MYSQLI_STORE_RESULT (default) - returns a mysqli_result object with buffered result set.

MYSQLI_USE_RESULT - returns a mysqli_result object with unbuffered result set. As long as there are pending records waiting to be fetched, the connection line will be busy and all subsequent calls will return error Commands out of sync. To avoid the error all records must be fetched from the server or the result set must be discarded by calling mysqli_free_result().

MYSQLI_ASYNC (available with mysqlnd) - the query is performed asynchronously and no result set is immediately returned. mysqli_poll() is then used to get results from such queries. Used in combination with either MYSQLI_STORE_RESULT or MYSQLI_USE_RESULT constant.

Dönen Değerler

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_query() will return a mysqli_result object. For other successful queries, mysqli_query() will return true.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::query() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Create table doesn't return a resultset */
$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");
printf("Table myCity successfully created.\n");

/* Select queries return a resultset */
$result = $mysqli->query("SELECT Name FROM City LIMIT 10");
printf("Select returned %d rows.\n", $result->num_rows);

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
$result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT);

/* Note, that we can't execute any functions which interact with the
server until all records have been fully retrieved or the result
set was closed. All calls will return an 'out of sync' error */
$mysqli->query("SET @a:='this will not work'");

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Create table doesn't return a resultset */
mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");
printf("Table myCity successfully created.\n");

/* Select queries return a resultset */
$result = mysqli_query($link, "SELECT Name FROM City LIMIT 10");
printf("Select returned %d rows.\n", mysqli_num_rows($result));

/* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
$result = mysqli_query($link, "SELECT * FROM City", MYSQLI_USE_RESULT);

/* Note, that we can't execute any functions which interact with the
server until all records have been fully retrieved or the result
set was closed. All calls will return an 'out of sync' error */
mysqli_query($link, "SET @a:='this will not work'");

The above examples will output something similar to:

Table myCity successfully created.
Select returned 10 rows.

Fatal error: Uncaught mysqli_sql_exception: Commands out of sync; you can't run this command now in...

Ayrıca Bakınız

  • mysqli_execute_query() - Prepares, binds parameters, and executes SQL statement
  • mysqli_real_query() - Execute an SQL query
  • mysqli_multi_query() - Performs one or more queries on the database
  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_free_result() - Frees the memory associated with a result


Opens a connection to a mysql server

  • « mysqli::query
  • mysqli::real_escape_string »
  • PHP Manual
  • mysqli
  • Opens a connection to a mysql server

mysqli::real_connect

mysqli_real_connect

(PHP 5, PHP 7, PHP 8)

mysqli::real_connect -- mysqli_real_connect — Opens a connection to a mysql server

Açıklama

Nesne yönelimli kullanım

public mysqli::real_connect(
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
int $flags = 0
): bool

Yordamsal kullanım

mysqli_real_connect(
mysqli $mysql,
?string $hostname = null,
?string $username = null,
?string $password = null,
?string $database = null,
?int $port = null,
?string $socket = null,
int $flags = 0
): bool

Establish a connection to a MySQL database engine.

This function differs from mysqli_connect():

  • mysqli_real_connect() needs a valid object which has to be created by function mysqli_init().

  • With the mysqli_options() function you can set various options for connection.

  • There is a flags parameter.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

hostname

Can be either a host name or an IP address. When passing null, the value is retrieved from mysqli.default_host. When possible, pipes will be used instead of the TCP/IP protocol. The TCP/IP protocol is used if a host name and port number are provided together e.g. localhost:3308.

username

The MySQL username or null to assume the username based on the mysqli.default_user ini option.

password

The MySQL password or null to assume the password based on the mysqli.default_pw ini option.

database

The default database to be used when performing queries or null.

port

The port number to attempt to connect to the MySQL server or null to assume the port based on the mysqli.default_port ini option.

socket

The socket or named pipe that should be used or null to assume the socket based on the mysqli.default_socket ini option.

Bilginize:

Specifying the socket parameter will not explicitly determine the type of connection to be used when connecting to the MySQL server. How the connection is made to the MySQL database is determined by the hostname parameter.

flags

With the parameter flags you can set different connection options:

Supported flags
Name | Description
MYSQLI_CLIENT_COMPRESS | Use compression protocol
MYSQLI_CLIENT_FOUND_ROWS | return number of matched rows, not the number of affected rows
MYSQLI_CLIENT_IGNORE_SPACE | Allow spaces after function names. Makes all function names reserved words.
MYSQLI_CLIENT_INTERACTIVE | Allow interactive_timeout seconds (instead of wait_timeout seconds) of inactivity before closing the connection
MYSQLI_CLIENT_SSL | Use SSL (encryption)
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT | Like MYSQLI_CLIENT_SSL, but disables validation of the provided SSL certificate. This is only for installations using MySQL Native Driver and MySQL 5.6 or later.

Bilginize:

For security reasons the MULTI_STATEMENT flag is not supported in PHP. If you want to execute multiple queries use the mysqli_multi_query() function.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | All parameters are now nullable.

Örnekler

Örnek 1 mysqli::real_connect() example

Nesne yönelimli kullanım

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
die('mysqli_init failed');
}

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>

Nesne yönelimli kullanım when extending mysqli class

<?php

class foo_mysqli extends mysqli {
public function __construct($host, $user, $pass, $db) {
parent::__construct();

if (!parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!parent::real_connect($host, $user, $pass, $db)) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
}
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo 'Success... ' . $db->host_info . "\n";

$db->close();
?>

Yordamsal kullanım

<?php

$link = mysqli_init();
if (!$link) {
die('mysqli_init failed');
}

if (!mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db')) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}

echo 'Success... ' . mysqli_get_host_info($link) . "\n";

mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Success... MySQL host info: localhost via TCP/IP

Notlar

Bilginize:

MySQLnd daima sunucunun öntanımlı bir karakter kümesi olduğunu varsayar. Bu karakter kümesi, mysqlnd'nin kullanacağı uzlaşım/kimlik doğrulama bağlantısı sırasında gönderilir.

Libmysqlclient, ya my.cnf dosyasındaki öntanımlı karakter kümesini ya da mysqli_init() çağrısından sonraki ilk mysqli_real_connect() çağrısından önce çağrılan mysqli_options() işlevinde belirtilen karakter kümesini kullanır.

Ayrıca Bakınız

  • mysqli_connect() - Takma Adı: mysqli::__construct
  • mysqli_init() - Initializes MySQLi and returns an object for use with mysqli_real_connect()
  • mysqli_options() - Set options
  • mysqli_ssl_set() - Used for establishing secure connections using SSL
  • mysqli_close() - Closes a previously opened database connection


Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

  • « mysqli::real_connect
  • mysqli::real_query »
  • PHP Manual
  • mysqli
  • Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

mysqli::real_escape_string

mysqli_real_escape_string

(PHP 5, PHP 7, PHP 8)

mysqli::real_escape_string -- mysqli_real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection

Açıklama

Nesne yönelimli kullanım

public mysqli::real_escape_string(string $string): string

Yordamsal kullanım

mysqli_real_escape_string(mysqli $mysql, string $string): string

This function is used to create a legal SQL string that you can use in an SQL statement. The given string is encoded to produce an escaped SQL string, taking into account the current character set of the connection.

Dikkat

Security: the default character set

The character set must be set either at the server level, or with the API function mysqli_set_charset() for it to affect mysqli_real_escape_string(). See the concepts section on character sets for more information.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

string

The string to be escaped.

Characters encoded are NUL (ASCII 0), \n, \r, \, ', ", and CTRL+Z.

Dönen Değerler

Returns an escaped string.

Örnekler

Örnek 1 mysqli::real_escape_string() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$city = "'s-Hertogenbosch";

/* this query with escaped $city will work */
$query = sprintf("SELECT CountryCode FROM City WHERE name='%s'",
$mysqli->real_escape_string($city));
$result = $mysqli->query($query);
printf("Select returned %d rows.\n", $result->num_rows);

/* this query will fail, because we didn't escape $city */
$query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", $city);
$result = $mysqli->query($query);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$city = "'s-Hertogenbosch";

/* this query with escaped $city will work */
$query = sprintf("SELECT CountryCode FROM City WHERE name='%s'",
mysqli_real_escape_string($mysqli, $city));
$result = mysqli_query($mysqli, $query);
printf("Select returned %d rows.\n", mysqli_num_rows($result));

/* this query will fail, because we didn't escape $city */
$query = sprintf("SELECT CountryCode FROM City WHERE name='%s'", $city);
$result = mysqli_query($mysqli, $query);

The above examples will output something similar to:

Select returned 1 rows.

Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's-Hertogenbosch'' at line 1 in...

Ayrıca Bakınız

  • mysqli_set_charset() - Sets the client character set


Execute an SQL query

  • « mysqli::real_escape_string
  • mysqli::reap_async_query »
  • PHP Manual
  • mysqli
  • Execute an SQL query

mysqli::real_query

mysqli_real_query

(PHP 5, PHP 7, PHP 8)

mysqli::real_query -- mysqli_real_query — Execute an SQL query

Açıklama

Nesne yönelimli kullanım

public mysqli::real_query(string $query): bool

Yordamsal kullanım

mysqli_real_query(mysqli $mysql, string $query): bool

Executes a single query against the database whose result can then be retrieved or stored using the mysqli_store_result() or mysqli_use_result() functions.

Uyarı

Güvenlik Uyarısı: SQL zerki

Sorgu herhangi bir değişken girdi içeriyorsa, bunun yerine bağımsız değişkenli hazırlanmış deyimler kullanılmalıdır. Veya, veriler düzgün biçimde biçimlendirilmeli ve tüm dizgeler mysqli_real_escape_string() işlevi kullanılarak öncelenmelidir.

In order to determine if a given query should return a result set or not, see mysqli_field_count().

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

query

The query string.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Ayrıca Bakınız

  • mysqli_query() - Performs a query on the database
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Get result from async query

  • « mysqli::real_query
  • mysqli::refresh »
  • PHP Manual
  • mysqli
  • Get result from async query

mysqli::reap_async_query

mysqli_reap_async_query

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli::reap_async_query -- mysqli_reap_async_query — Get result from async query

Açıklama

Nesne yönelimli kullanım

public mysqli::reap_async_query(): mysqli_result|bool

Yordamsal kullanım

mysqli_reap_async_query(mysqli $mysql): mysqli_result|bool

Get result from async query.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_reap_async_query() will return a mysqli_result object. For other successful queries, mysqli_reap_async_query() will return true.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Ayrıca Bakınız

  • mysqli_poll() - Poll connections


Refreshes

  • « mysqli::reap_async_query
  • mysqli::release_savepoint »
  • PHP Manual
  • mysqli
  • Refreshes

mysqli::refresh

mysqli_refresh

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli::refresh -- mysqli_refresh — Refreshes

Açıklama

Nesne yönelimli kullanım

public mysqli::refresh(int $flags): bool

Yordamsal kullanım

mysqli_refresh(mysqli $mysql, int $flags): bool

Flushes tables or caches, or resets the replication server information.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

flags

The options to refresh, using the MYSQLI_REFRESH_* constants as documented within the MySQLi constants documentation.

See also the official » MySQL Refresh documentation.

Dönen Değerler

true if the refresh was a success, otherwise false

Ayrıca Bakınız

  • mysqli_poll() - Poll connections


Removes the named savepoint from the set of savepoints of the current transaction

  • « mysqli::refresh
  • mysqli::rollback »
  • PHP Manual
  • mysqli
  • Removes the named savepoint from the set of savepoints of the current transaction

mysqli::release_savepoint

mysqli_release_savepoint

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

mysqli::release_savepoint -- mysqli_release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction

Açıklama

Nesne yönelimli kullanım

public mysqli::release_savepoint(string $name): bool

Yordamsal kullanım:

mysqli_release_savepoint(mysqli $mysql, string $name): bool

This function is identical to executing $mysqli->query("RELEASE SAVEPOINT `$name`");. This function does not trigger commit or rollback.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

name

The identifier of the savepoint.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mysqli_savepoint() - Set a named transaction savepoint


Rolls back current transaction

  • « mysqli::release_savepoint
  • mysqli::savepoint »
  • PHP Manual
  • mysqli
  • Rolls back current transaction

mysqli::rollback

mysqli_rollback

(PHP 5, PHP 7, PHP 8)

mysqli::rollback -- mysqli_rollback — Rolls back current transaction

Açıklama

Nesne yönelimli kullanım

public mysqli::rollback(int $flags = 0, ?string $name = null): bool

Yordamsal kullanım

mysqli_rollback(mysqli $mysql, int $flags = 0, ?string $name = null): bool

Rollbacks the current transaction for the database.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

flags

A bitmask of MYSQLI_TRANS_COR_* constants.

name

If provided then ROLLBACK/*name*/ is executed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | name is now nullable.

Örnekler

See the mysqli::begin_transaction() example.

Notlar

Bilginize:

This function does not work with non transactional table types (like MyISAM or ISAM).

Ayrıca Bakınız

  • mysqli_begin_transaction() - Starts a transaction
  • mysqli_commit() - Commits the current transaction
  • mysqli_autocommit() - Turns on or off auto-committing database modifications
  • mysqli_release_savepoint() - Removes the named savepoint from the set of savepoints of the current transaction


Set a named transaction savepoint

  • « mysqli::rollback
  • mysqli::select_db »
  • PHP Manual
  • mysqli
  • Set a named transaction savepoint

mysqli::savepoint

mysqli_savepoint

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

mysqli::savepoint -- mysqli_savepoint — Set a named transaction savepoint

Açıklama

Nesne yönelimli kullanım

public mysqli::savepoint(string $name): bool

Yordamsal kullanım:

mysqli_savepoint(mysqli $mysql, string $name): bool

This function is identical to executing $mysqli->query("SAVEPOINT `$name`");

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

name

The identifier of the savepoint.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mysqli_release_savepoint() - Removes the named savepoint from the set of savepoints of the current transaction


Selects the default database for database queries

  • « mysqli::savepoint
  • mysqli::set_charset »
  • PHP Manual
  • mysqli
  • Selects the default database for database queries

mysqli::select_db

mysqli_select_db

(PHP 5, PHP 7, PHP 8)

mysqli::select_db -- mysqli_select_db — Selects the default database for database queries

Açıklama

Nesne yönelimli kullanım

public mysqli::select_db(string $database): bool

Yordamsal kullanım

mysqli_select_db(mysqli $mysql, string $database): bool

Selects the default database to be used when performing queries against the database connection.

Bilginize:

This function should only be used to change the default database for the connection. You can select the default database with 4th parameter in mysqli_connect().

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

database

The database name.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::select_db() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

/* get the name of the current default database */
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Default database is %s.\n", $row[0]);

/* change default database to "world" */
$mysqli->select_db("world");

/* get the name of the current default database */
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
printf("Default database is %s.\n", $row[0]);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* get the name of the current default database */
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("Default database is %s.\n", $row[0]);

/* change default database to "world" */
mysqli_select_db($link, "world");

/* get the name of the current default database */
$result = mysqli_query($link, "SELECT DATABASE()");
$row = mysqli_fetch_row($result);
printf("Default database is %s.\n", $row[0]);

Yukarıdaki örneklerin çıktısı:

Default database is test.
Default database is world.

Ayrıca Bakınız

  • mysqli_connect() - Takma Adı: mysqli::__construct
  • mysqli_real_connect() - Opens a connection to a mysql server


Sets the client character set

  • « mysqli::select_db
  • mysqli::$sqlstate »
  • PHP Manual
  • mysqli
  • Sets the client character set

mysqli::set_charset

mysqli_set_charset

(PHP 5 >= 5.0.5, PHP 7, PHP 8)

mysqli::set_charset -- mysqli_set_charset — Sets the client character set

Açıklama

Nesne yönelimli kullanım

public mysqli::set_charset(string $charset): bool

Yordamsal kullanım

mysqli_set_charset(mysqli $mysql, string $charset): bool

Sets the character set to be used when sending data from and to the database server.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

charset

The desired character set.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::set_charset() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

printf("Initial character set: %s\n", $mysqli->character_set_name());

/* change character set to utf8mb4 */
$mysqli->set_charset("utf8mb4");

printf("Current character set: %s\n", $mysqli->character_set_name());

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');

printf("Initial character set: %s\n", mysqli_character_set_name($link));

/* change character set to utf8mb4 */
mysqli_set_charset($link, "utf8mb4");

printf("Current character set: %s\n", mysqli_character_set_name($link));

The above examples will output something similar to:

Initial character set: latin1
Current character set: utf8mb4

Notlar

Bilginize:

To use this function on a Windows platform you need MySQL client library version 4.1.11 or above (for MySQL 5.0 you need 5.0.6 or above).

Bilginize:

This is the preferred way to change the charset. Using mysqli_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.

Ayrıca Bakınız

  • mysqli_character_set_name() - Returns the current character set of the database connection
  • mysqli_real_escape_string() - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
  • MySQL character set concepts
  • » List of character sets that MySQL supports


Returns the SQLSTATE error from previous MySQL operation

  • « mysqli::set_charset
  • mysqli::ssl_set »
  • PHP Manual
  • mysqli
  • Returns the SQLSTATE error from previous MySQL operation

mysqli::$sqlstate

mysqli_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli::$sqlstate -- mysqli_sqlstate — Returns the SQLSTATE error from previous MySQL operation

Açıklama

Nesne yönelimli kullanım

string $mysqli->sqlstate;

Yordamsal kullanım

mysqli_sqlstate(mysqli $mysql): string

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Bilginize:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Örnekler

Örnek 1 $mysqli->sqlstate example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Table City already exists, so we should get an error */
try {
$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Table City already exists, so we should get an error */
try {
mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}

Yukarıdaki örneklerin çıktısı:

Error - SQLSTATE 42S01.

Ayrıca Bakınız

  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error


Used for establishing secure connections using SSL

  • « mysqli::$sqlstate
  • mysqli::stat »
  • PHP Manual
  • mysqli
  • Used for establishing secure connections using SSL

mysqli::ssl_set

mysqli_ssl_set

(PHP 5, PHP 7, PHP 8)

mysqli::ssl_set -- mysqli_ssl_set — Used for establishing secure connections using SSL

Açıklama

Nesne yönelimli kullanım

public mysqli::ssl_set(
?string $key,
?string $certificate,
?string $ca_certificate,
?string $ca_path,
?string $cipher_algos
): true

Yordamsal kullanım

mysqli_ssl_set(
mysqli $mysql,
?string $key,
?string $certificate,
?string $ca_certificate,
?string $ca_path,
?string $cipher_algos
): true

Used for establishing secure connections using SSL. It must be called before mysqli_real_connect(). This function does nothing unless OpenSSL support is enabled.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

key

The path name to the key file.

certificate

The path name to the certificate file.

ca_certificate

The path name to the certificate authority file.

ca_path

The pathname to a directory that contains trusted SSL CA certificates in PEM format.

cipher_algos

A list of allowable ciphers to use for SSL encryption.

Dönen Değerler

Daima true döndürür. If SSL setup is incorrect mysqli_real_connect() will return an error when you attempt to connect.

Ayrıca Bakınız

  • mysqli_options() - Set options
  • mysqli_real_connect() - Opens a connection to a mysql server


Gets the current system status

  • « mysqli::ssl_set
  • mysqli::stmt_init »
  • PHP Manual
  • mysqli
  • Gets the current system status

mysqli::stat

mysqli_stat

(PHP 5, PHP 7, PHP 8)

mysqli::stat -- mysqli_stat — Gets the current system status

Açıklama

Nesne yönelimli kullanım

public mysqli::stat(): string|false

Yordamsal kullanım

mysqli_stat(mysqli $mysql): string|false

mysqli_stat() returns a string containing information similar to that provided by the 'mysqladmin status' command. This includes uptime in seconds and the number of running threads, questions, reloads, and open tables.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

A string describing the server status. false if an error occurred.

Örnekler

Örnek 1 mysqli::stat() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

printf("System status: %s\n", $mysqli->stat());

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

printf("System status: %s\n", mysqli_stat($link));

Yukarıdaki örneklerin çıktısı:

System status: Uptime: 272  Threads: 1  Questions: 5340  Slow queries: 0
Opens: 13  Flush tables: 1  Open tables: 0  Queries per second avg: 19.632
Memory in use: 8496K  Max memory used: 8560K

Ayrıca Bakınız

  • mysqli_get_server_info() - Returns the version of the MySQL server


Initializes a statement and returns an object for use with mysqli_stmt_prepare

  • « mysqli::stat
  • mysqli::store_result »
  • PHP Manual
  • mysqli
  • Initializes a statement and returns an object for use with mysqli_stmt_prepare

mysqli::stmt_init

mysqli_stmt_init

(PHP 5, PHP 7, PHP 8)

mysqli::stmt_init -- mysqli_stmt_init — Initializes a statement and returns an object for use with mysqli_stmt_prepare

Açıklama

Nesne yönelimli kullanım

public mysqli::stmt_init(): mysqli_stmt|false

Yordamsal kullanım

mysqli_stmt_init(mysqli $mysql): mysqli_stmt|false

Allocates and initializes a statement object suitable for mysqli_stmt_prepare().

Bilginize:

Any subsequent calls to any mysqli_stmt function will fail until mysqli_stmt_prepare() was called.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns an object.

Ayrıca Bakınız

  • mysqli_stmt_prepare() - Prepares an SQL statement for execution


Transfers a result set from the last query

  • « mysqli::stmt_init
  • mysqli::$thread_id »
  • PHP Manual
  • mysqli
  • Transfers a result set from the last query

mysqli::store_result

mysqli_store_result

(PHP 5, PHP 7, PHP 8)

mysqli::store_result -- mysqli_store_result — Transfers a result set from the last query

Açıklama

Nesne yönelimli kullanım

public mysqli::store_result(int $mode = 0): mysqli_result|false

Yordamsal kullanım

mysqli_store_result(mysqli $mysql, int $mode = 0): mysqli_result|false

Transfers the result set from the last query on the database connection represented by the mysql parameter to be used with the mysqli_data_seek() function.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

mode

The option that you want to set. As of PHP 8.1, this parameter has no effect. It can be one of the following values:

Valid options
Name | Description
MYSQLI_STORE_RESULT_COPY_DATA | Copy results from the internal mysqlnd buffer into the PHP variables fetched. By default, mysqlnd will use a reference logic to avoid copying and duplicating results held in memory. For certain result sets, for example, result sets with many small rows, the copy approach can reduce the overall memory usage because PHP variables holding results may be released earlier (available with mysqlnd only)

Dönen Değerler

Returns a buffered result object or false if an error occurred.

Bilginize:

mysqli_store_result() returns false in case the query didn't return a result set (if the query was, for example an INSERT statement). This function also returns false if the reading of the result set failed. You can check if you have got an error by checking if mysqli_error() doesn't return an empty string, if mysqli_errno() returns a non zero value, or if mysqli_field_count() returns a non zero value. Also possible reason for this function returning false after successful call to mysqli_query() can be too large result set (memory for it cannot be allocated). If mysqli_field_count() returns a non-zero value, the statement should have produced a non-empty result set.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

See mysqli_multi_query().

Notlar

Bilginize:

Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result() function, when transferring large result sets using the mysqli_store_result() this becomes particularly important.

Ayrıca Bakınız

  • mysqli_real_query() - Execute an SQL query
  • mysqli_use_result() - Initiate a result set retrieval


Returns the thread ID for the current connection

  • « mysqli::store_result
  • mysqli::thread_safe »
  • PHP Manual
  • mysqli
  • Returns the thread ID for the current connection

mysqli::$thread_id

mysqli_thread_id

(PHP 5, PHP 7, PHP 8)

mysqli::$thread_id -- mysqli_thread_id — Returns the thread ID for the current connection

Açıklama

Nesne yönelimli kullanım

int $mysqli->thread_id;

Yordamsal kullanım

mysqli_thread_id(mysqli $mysql): int

The mysqli_thread_id() function returns the thread ID for the current connection which can then be killed using the mysqli_kill() function. If the connection is lost and you reconnect with mysqli_ping(), the thread ID will be other. Therefore you should get the thread ID only when you need it.

Bilginize:

The thread ID is assigned on a connection-by-connection basis. Hence, if the connection is broken and then re-established a new thread ID will be assigned.

To kill a running query you can use the SQL command KILL QUERY processid.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Returns the Thread ID for the current connection.

Örnekler

Örnek 1 $mysqli->thread_id example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* determine our thread id */
$thread_id = $mysqli->thread_id;

/* Kill connection */
$mysqli->kill($thread_id);

/* This should produce an error */
if (!$mysqli->query("CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", $mysqli->error);
exit;
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

/* determine our thread id */
$thread_id = mysqli_thread_id($link);

/* Kill connection */
mysqli_kill($link, $thread_id);

/* This should produce an error */
if (!mysqli_query($link, "CREATE TABLE myCity LIKE City")) {
printf("Error: %s\n", mysqli_error($link));
exit;
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error: MySQL server has gone away

Ayrıca Bakınız

  • mysqli_kill() - Asks the server to kill a MySQL thread


Returns whether thread safety is given or not

  • « mysqli::$thread_id
  • mysqli::use_result »
  • PHP Manual
  • mysqli
  • Returns whether thread safety is given or not

mysqli::thread_safe

mysqli_thread_safe

(PHP 5, PHP 7, PHP 8)

mysqli::thread_safe -- mysqli_thread_safe — Returns whether thread safety is given or not

Açıklama

Nesne yönelimli kullanım

public mysqli::thread_safe(): bool

Yordamsal kullanım

mysqli_thread_safe(): bool

Tells whether the client library is compiled as thread-safe.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the client library is thread-safe, otherwise false.


Initiate a result set retrieval

  • « mysqli::thread_safe
  • mysqli::$warning_count »
  • PHP Manual
  • mysqli
  • Initiate a result set retrieval

mysqli::use_result

mysqli_use_result

(PHP 5, PHP 7, PHP 8)

mysqli::use_result -- mysqli_use_result — Initiate a result set retrieval

Açıklama

Nesne yönelimli kullanım

public mysqli::use_result(): mysqli_result|false

Yordamsal kullanım

mysqli_use_result(mysqli $mysql): mysqli_result|false

Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query() function on the database connection.

Either this or the mysqli_store_result() function must be called before the results of a query can be retrieved, and one or the other must be called to prevent the next query on that database connection from failing.

Bilginize:

The mysqli_use_result() function does not transfer the entire result set from the database and hence cannot be used functions such as mysqli_data_seek() to move to a particular row within the set. To use this functionality, the result set must be stored using mysqli_store_result(). One should not use mysqli_use_result() if a lot of processing on the client side is performed, since this will tie up the server and prevent other threads from updating any tables from which the data is being fetched.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an unbuffered result object or false if an error occurred.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli::use_result() example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
do {
/* store first result set */
if ($result = $mysqli->use_result()) {
while ($row = $result->fetch_row()) {
printf("%s\n", $row[0]);
}
$result->close();
}
/* print divider */
if ($mysqli->more_results()) {
printf("-----------------\n");
}
} while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
do {
/* store first result set */
if ($result = mysqli_use_result($link)) {
while ($row = mysqli_fetch_row($result)) {
printf("%s\n", $row[0]);
}
mysqli_free_result($result);
}
/* print divider */
if (mysqli_more_results($link)) {
printf("-----------------\n");
}
} while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer

Ayrıca Bakınız

  • mysqli_real_query() - Execute an SQL query
  • mysqli_store_result() - Transfers a result set from the last query


Returns the number of warnings from the last query for the given link

  • « mysqli::use_result
  • mysqli_stmt »
  • PHP Manual
  • mysqli
  • Returns the number of warnings from the last query for the given link

mysqli::$warning_count

mysqli_warning_count

(PHP 5, PHP 7, PHP 8)

mysqli::$warning_count -- mysqli_warning_count — Returns the number of warnings from the last query for the given link

Açıklama

Nesne yönelimli kullanım

int $mysqli->warning_count;

Yordamsal kullanım

mysqli_warning_count(mysqli $mysql): int

Returns the number of warnings from the last query in the connection.

Bilginize:

For retrieving warning messages you can use the SQL command SHOW WARNINGS [limit row_count].

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

Dönen Değerler

Number of warnings or zero if there are no warnings.

Örnekler

Örnek 1 $mysqli->warning_count example

Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

/* a remarkable city in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

$mysqli->query($query);

if ($mysqli->warning_count) {
if ($result = $mysqli->query("SHOW WARNINGS")) {
$row = $result->fetch_row();
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
$result->close();
}
}

/* close connection */
$mysqli->close();
?>

Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCity LIKE City");

/* a remarkable long city name in Wales */
$query = "INSERT INTO myCity (CountryCode, Name) VALUES('GBR',
'Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch')";

mysqli_query($link, $query);

if (mysqli_warning_count($link)) {
if ($result = mysqli_query($link, "SHOW WARNINGS")) {
$row = mysqli_fetch_row($result);
printf("%s (%d): %s\n", $row[0], $row[1], $row[2]);
mysqli_free_result($result);
}
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Warning (1264): Data truncated for column 'Name' at row 1

Ayrıca Bakınız

  • mysqli_errno() - Returns the error code for the most recent function call
  • mysqli_error() - Returns a string description of the last error
  • mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation


The mysqli_stmt class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents a prepared statement.

Sınıf Sözdizimi

class mysqli_stmt {
/* Özellikler */
public readonly int|string $affected_rows;
public readonly int|string $insert_id;
public readonly int|string $num_rows;
public readonly int $param_count;
public readonly int $field_count;
public readonly int $errno;
public readonly string $error;
public readonly array $error_list;
public readonly string $sqlstate;
public int $id;
/* Yöntemler */
public __construct(mysqli $mysql, ?string $query = null)
public attr_get(int $attribute): int
public attr_set(int $attribute, int $value): bool
public bind_param(string $types, mixed &$var, mixed &...$vars): bool
public bind_result(mixed &$var, mixed &...$vars): bool
public close(): true
public data_seek(int $offset): void
public execute(?array $params = null): bool
public fetch(): ?bool
public free_result(): void
public get_result(): mysqli_result|false
public get_warnings(): mysqli_warning|false
public more_results(): bool
public next_result(): bool
public num_rows(): int|string
public prepare(string $query): bool
public reset(): bool
public result_metadata(): mysqli_result|false
public send_long_data(int $param_num, string $data): bool
public store_result(): bool
}

Özellikler

id

Stores the statement ID.

İçindekiler

  • mysqli_stmt::$affected_rows — Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed
  • mysqli_stmt::attr_get — Used to get the current value of a statement attribute
  • mysqli_stmt::attr_set — Used to modify the behavior of a prepared statement
  • mysqli_stmt::bind_param — Binds variables to a prepared statement as parameters
  • mysqli_stmt::bind_result — Binds variables to a prepared statement for result storage
  • mysqli_stmt::close — Closes a prepared statement
  • mysqli_stmt::__construct — Constructs a new mysqli_stmt object
  • mysqli_stmt::data_seek — Adjusts the result pointer to an arbitrary row in the buffered result
  • mysqli_stmt::$errno — Returns the error code for the most recent statement call
  • mysqli_stmt::$error_list — Returns a list of errors from the last statement executed
  • mysqli_stmt::$error — Returns a string description for last statement error
  • mysqli_stmt::execute — Executes a prepared statement
  • mysqli_stmt::fetch — Fetch results from a prepared statement into the bound variables
  • mysqli_stmt::$field_count — Returns the number of columns in the given statement
  • mysqli_stmt::free_result — Frees stored result memory for the given statement handle
  • mysqli_stmt::get_result — Gets a result set from a prepared statement as a mysqli_result object
  • mysqli_stmt::get_warnings — Get result of SHOW WARNINGS
  • mysqli_stmt::$insert_id — Get the ID generated from the previous INSERT operation
  • mysqli_stmt::more_results — Check if there are more query results from a multiple query
  • mysqli_stmt::next_result — Reads the next result from a multiple query
  • mysqli_stmt::$num_rows — Returns the number of rows fetched from the server
  • mysqli_stmt::$param_count — Returns the number of parameters for the given statement
  • mysqli_stmt::prepare — Prepares an SQL statement for execution
  • mysqli_stmt::reset — Resets a prepared statement
  • mysqli_stmt::result_metadata — Returns result set metadata from a prepared statement
  • mysqli_stmt::send_long_data — Send data in blocks
  • mysqli_stmt::$sqlstate — Returns SQLSTATE error from previous statement operation
  • mysqli_stmt::store_result — Stores a result set in an internal buffer


Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed

  • « mysqli_stmt
  • mysqli_stmt::attr_get »
  • PHP Manual
  • mysqli_stmt
  • Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed

mysqli_stmt::$affected_rows

mysqli_stmt_affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed

Açıklama

Nesne yönelimli kullanım

int|string $mysqli_stmt->affected_rows;

Yordamsal kullanım

mysqli_stmt_affected_rows(mysqli_stmt $statement): int|string

Returns the number of rows affected by INSERT, UPDATE, or DELETE query. Works like mysqli_stmt_num_rows() for SELECT statements.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records were updated for an UPDATE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query returned an error or that, for a SELECT query, mysqli_stmt_affected_rows() was called prior to calling mysqli_stmt_store_result().

Bilginize:

If the number of affected rows is greater than maximum PHP int value, the number of affected rows will be returned as a string value.

Örnekler

Örnek 1 mysqli_stmt_affected_rows() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
$stmt = $mysqli->prepare($query);

/* Bind variable for placeholder */
$code = 'A%';
$stmt->bind_param("s", $code);

/* execute statement */
$stmt->execute();

printf("Rows inserted: %d\n", $stmt->affected_rows);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");

$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";

/* prepare statement */
$stmt = mysqli_prepare($link, $query);

/* Bind variable for placeholder */
$code = 'A%';
mysqli_stmt_bind_param($stmt, "s", $code);

/* execute statement */
mysqli_stmt_execute($stmt);

printf("Rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));

Yukarıdaki örneklerin çıktısı:

Rows inserted: 17

Ayrıca Bakınız

  • mysqli_stmt_num_rows() - Returns the number of rows fetched from the server
  • mysqli_stmt_store_result() - Stores a result set in an internal buffer


Used to get the current value of a statement attribute

  • « mysqli_stmt::$affected_rows
  • mysqli_stmt::attr_set »
  • PHP Manual
  • mysqli_stmt
  • Used to get the current value of a statement attribute

mysqli_stmt::attr_get

mysqli_stmt_attr_get

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::attr_get -- mysqli_stmt_attr_get — Used to get the current value of a statement attribute

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::attr_get(int $attribute): int

Yordamsal kullanım

mysqli_stmt_attr_get(mysqli_stmt $statement, int $attribute): int

Gets the current value of a statement attribute.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

attribute

The attribute that you want to get.

Dönen Değerler

Returns the value of the attribute.


Used to modify the behavior of a prepared statement

  • « mysqli_stmt::attr_get
  • mysqli_stmt::bind_param »
  • PHP Manual
  • mysqli_stmt
  • Used to modify the behavior of a prepared statement

mysqli_stmt::attr_set

mysqli_stmt_attr_set

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::attr_set -- mysqli_stmt_attr_set — Used to modify the behavior of a prepared statement

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::attr_set(int $attribute, int $value): bool

Yordamsal kullanım

mysqli_stmt_attr_set(mysqli_stmt $statement, int $attribute, int $value): bool

Used to modify the behavior of a prepared statement. This function may be called multiple times to set several attributes.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

attribute

The attribute that you want to set. It can have one of the following values:

Attribute values
Character | Description
MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH | Setting to true causes mysqli_stmt_store_result() to update the metadata MYSQL_FIELD->max_length value.
MYSQLI_STMT_ATTR_CURSOR_TYPE | Type of cursor to open for statement when mysqli_stmt_execute() is invoked. value can be MYSQLI_CURSOR_TYPE_NO_CURSOR (the default) or MYSQLI_CURSOR_TYPE_READ_ONLY.
MYSQLI_STMT_ATTR_PREFETCH_ROWS | Number of rows to fetch from server at a time when using a cursor. value can be in the range from 1 to the maximum value of unsigned long. The default is 1.

If you use the MYSQLI_STMT_ATTR_CURSOR_TYPE option with MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement when you invoke mysqli_stmt_execute(). If there is already an open cursor from a previous mysqli_stmt_execute() call, it closes the cursor before opening a new one. mysqli_stmt_reset() also closes any open cursor before preparing the statement for re-execution. mysqli_stmt_free_result() closes any open cursor.

If you open a cursor for a prepared statement, mysqli_stmt_store_result() is unnecessary.

value

The value to assign to the attribute.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Ayrıca Bakınız

  • » Connector/MySQL mysql_stmt_attr_set()


Binds variables to a prepared statement as parameters

  • « mysqli_stmt::attr_set
  • mysqli_stmt::bind_result »
  • PHP Manual
  • mysqli_stmt
  • Binds variables to a prepared statement as parameters

mysqli_stmt::bind_param

mysqli_stmt_bind_param

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_param -- mysqli_stmt_bind_param — Binds variables to a prepared statement as parameters

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::bind_param(string $types, mixed &$var, mixed &...$vars): bool

Yordamsal kullanım

mysqli_stmt_bind_param(
mysqli_stmt $statement,
string $types,
mixed &$var,
mixed &...$vars
): bool

Bind variables for the parameter markers in the SQL statement prepared by mysqli_prepare() or mysqli_stmt_prepare().

Bilginize:

If data size of a variable exceeds max. allowed packet size (max_allowed_packet), you have to specify b in types and use mysqli_stmt_send_long_data() to send the data in packets.

Bilginize:

Care must be taken when using mysqli_stmt_bind_param() in conjunction with call_user_func_array(). Note that mysqli_stmt_bind_param() requires parameters to be passed by reference, whereas call_user_func_array() can accept as a parameter a list of variables that can represent references or values.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

types

A string that contains one or more characters which specify the types for the corresponding bind variables:

Type specification chars
Character | Description
i | corresponding variable has type int
d | corresponding variable has type float
s | corresponding variable has type string
b | corresponding variable is a blob and will be sent in packets

var
vars

The number of variables and length of string types must match the parameters in the statement.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli_stmt::bind_param() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$stmt = $mysqli->prepare("INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
$stmt->bind_param('sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

$stmt->execute();

printf("%d row inserted.\n", $stmt->affected_rows);

/* Clean up table CountryLanguage */
$mysqli->query("DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d row deleted.\n", $mysqli->affected_rows);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

$stmt = mysqli_prepare($link, "INSERT INTO CountryLanguage VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssd', $code, $language, $official, $percent);

$code = 'DEU';
$language = 'Bavarian';
$official = "F";
$percent = 11.2;

mysqli_stmt_execute($stmt);

printf("%d row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* Clean up table CountryLanguage */
mysqli_query($link, "DELETE FROM CountryLanguage WHERE Language='Bavarian'");
printf("%d row deleted.\n", mysqli_affected_rows($link));

Yukarıdaki örneklerin çıktısı:

1 row inserted.
1 row deleted.

Örnek 2 Using ... to provide arguments

The ... operator can be used to provide variable-length argument list, e.g. in a WHERE IN clause.

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$stmt = $mysqli->prepare("SELECT Language FROM CountryLanguage WHERE CountryCode IN (?, ?)");
/* Using ... to provide arguments */
$stmt->bind_param('ss', ...['DEU', 'POL']);
$stmt->execute();
$stmt->store_result();

printf("%d rows found.\n", $stmt->num_rows());

Yukarıdaki örneklerin çıktısı:

10 rows found.

Ayrıca Bakınız

  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_execute() - Executes a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_send_long_data() - Send data in blocks
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error


Binds variables to a prepared statement for result storage

  • « mysqli_stmt::bind_param
  • mysqli_stmt::close »
  • PHP Manual
  • mysqli_stmt
  • Binds variables to a prepared statement for result storage

mysqli_stmt::bind_result

mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Binds variables to a prepared statement for result storage

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::bind_result(mixed &$var, mixed &...$vars): bool

Yordamsal kullanım

mysqli_stmt_bind_result(mysqli_stmt $statement, mixed &$var, mixed &...$vars): bool

Binds columns in the result set to variables.

When mysqli_stmt_fetch() is called to fetch data, the MySQL client/server protocol places the data for the bound columns into the specified variables var/vars.

A column can be bound or rebound at any time, even after a result set has been partially retrieved. The new binding takes effect the next time mysqli_stmt_fetch() is called.

Bilginize:

All columns must be bound after mysqli_stmt_execute() and prior to calling mysqli_stmt_fetch().

Bilginize:

Depending on column types bound variables can silently change to the corresponding PHP type.

İpucu

This function is useful for simple results. To retrieve iterable result set, or fetch each row as an array or object, use mysqli_stmt_get_result().

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

var

The first variable to be bound.

vars

Further variables to be bound.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* prepare statement */
$stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
$stmt->execute();

/* bind variables to prepared statement */
$stmt->bind_result($col1, $col2);

/* fetch values */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* prepare statement */
$stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
mysqli_stmt_execute($stmt);

/* bind variables to prepared statement */
mysqli_stmt_bind_result($stmt, $col1, $col2);

/* fetch values */
while (mysqli_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}

The above examples will output something similar to:

AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra

Ayrıca Bakınız

  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_execute() - Executes a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_prepare() - Prepares an SQL statement for execution


Closes a prepared statement

  • « mysqli_stmt::bind_result
  • mysqli_stmt::__construct »
  • PHP Manual
  • mysqli_stmt
  • Closes a prepared statement

mysqli_stmt::close

mysqli_stmt_close

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::close -- mysqli_stmt_close — Closes a prepared statement

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::close(): true

Yordamsal kullanım

mysqli_stmt_close(mysqli_stmt $statement): true

Closes a prepared statement. mysqli_stmt_close() also deallocates the statement handle. If the current statement has pending or unread results, this function cancels them so that the next query can be executed.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function now always returns true. Previously it returned false on failure.

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution


Constructs a new mysqli_stmt object

  • « mysqli_stmt::close
  • mysqli_stmt::data_seek »
  • PHP Manual
  • mysqli_stmt
  • Constructs a new mysqli_stmt object

mysqli_stmt::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::__construct — Constructs a new mysqli_stmt object

Açıklama

public mysqli_stmt::__construct(mysqli $mysql, ?string $query = null)

This method constructs a new mysqli_stmt object.

Bağımsız Değişkenler

link

A valid mysqli object.

query

The query, as a string. If this parameter is null, then the constructor behaves identically to mysqli_stmt_init(), otherwise it behaves as per mysqli_prepare().

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | query is now nullable.

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare


Adjusts the result pointer to an arbitrary row in the buffered result

  • « mysqli_stmt::__construct
  • mysqli_stmt::$errno »
  • PHP Manual
  • mysqli_stmt
  • Adjusts the result pointer to an arbitrary row in the buffered result

mysqli_stmt::data_seek

mysqli_stmt_data_seek

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::data_seek -- mysqli_stmt_data_seek — Adjusts the result pointer to an arbitrary row in the buffered result

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::data_seek(int $offset): void

Yordamsal kullanım

mysqli_stmt_data_seek(mysqli_stmt $statement, int $offset): void

This function moves the result set pointer of the buffered result set to an arbitrary row specified by the offset parameter.

This function works only on the buffered internal result set. mysqli_stmt_store_result() must be called prior to mysqli_stmt_data_seek().

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

offset

Must be between zero and the total number of rows minus one (0.. mysqli_stmt_num_rows() - 1).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$stmt = $mysqli->prepare($query);
$stmt->execute();

$stmt->bind_result($name, $code);

$stmt->store_result();

/* seek to row no. 400 */
$stmt->data_seek(399);

$stmt->fetch();

printf("City: %s Countrycode: %s\n", $name, $code);

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$stmt = mysqli_prepare($link, $query);

mysqli_stmt_execute($stmt);

mysqli_stmt_bind_result($stmt, $name, $code);

mysqli_stmt_store_result($stmt);

/* seek to row no. 400 */
mysqli_stmt_data_seek($stmt, 399);

mysqli_stmt_fetch($stmt);

printf("City: %s Countrycode: %s\n", $name, $code);

Yukarıdaki örneklerin çıktısı:

City: Benin City  Countrycode: NGA

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_store_result() - Stores a result set in an internal buffer
  • mysqli_stmt_num_rows() - Returns the number of rows fetched from the server
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Returns the error code for the most recent statement call

  • « mysqli_stmt::data_seek
  • mysqli_stmt::$error_list »
  • PHP Manual
  • mysqli_stmt
  • Returns the error code for the most recent statement call

mysqli_stmt::$errno

mysqli_stmt_errno

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$errno -- mysqli_stmt_errno — Returns the error code for the most recent statement call

Açıklama

Nesne yönelimli kullanım

int $mysqli_stmt->errno;

Yordamsal kullanım

mysqli_stmt_errno(mysqli_stmt $statement): int

Returns the error code for the most recently invoked statement function that can succeed or fail.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

An error code value. Zero means no error occurred.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

/* drop table */
$mysqli->query("DROP TABLE myCountry");

/* execute query */
$stmt->execute();

printf("Error: %d.\n", $stmt->errno);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

/* drop table */
mysqli_query($link, "DROP TABLE myCountry");

/* execute query */
mysqli_stmt_execute($stmt);

printf("Error: %d.\n", mysqli_stmt_errno($stmt));

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error: 1146.

Ayrıca Bakınız

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Returns a list of errors from the last statement executed

  • « mysqli_stmt::$errno
  • mysqli_stmt::$error »
  • PHP Manual
  • mysqli_stmt
  • Returns a list of errors from the last statement executed

mysqli_stmt::$error_list

mysqli_stmt_error_list

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

mysqli_stmt::$error_list -- mysqli_stmt_error_list — Returns a list of errors from the last statement executed

Açıklama

Nesne yönelimli kullanım

array $mysqli_stmt->error_list;

Yordamsal kullanım

mysqli_stmt_error_list(mysqli_stmt $statement): array

Returns an array of errors for the most recently invoked statement function that can succeed or fail.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

A list of errors, each as an associative array containing the errno, error, and sqlstate.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

/* drop table */
$mysqli->query("DROP TABLE myCountry");

/* execute query */
$stmt->execute();

echo "Error:\n";
print_r($stmt->error_list);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

/* drop table */
mysqli_query($link, "DROP TABLE myCountry");

/* execute query */
mysqli_stmt_execute($stmt);

echo "Error:\n";
print_r(mysql_stmt_error_list($stmt));

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error:
Array
(
    [0] => Array
        (
            [errno] => 1146
            [sqlstate] => 42S02
            [error] => Table 'world.myCountry' doesn't exist
        )

)

Ayrıca Bakınız

  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Returns a string description for last statement error

  • « mysqli_stmt::$error_list
  • mysqli_stmt::execute »
  • PHP Manual
  • mysqli_stmt
  • Returns a string description for last statement error

mysqli_stmt::$error

mysqli_stmt_error

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$error -- mysqli_stmt_error — Returns a string description for last statement error

Açıklama

Nesne yönelimli kullanım

string $mysqli_stmt->error;

Yordamsal kullanım

mysqli_stmt_error(mysqli_stmt $statement): string

Returns a string containing the error message for the most recently invoked statement function that can succeed or fail.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

A string that describes the error. An empty string if no error occurred.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

/* drop table */
$mysqli->query("DROP TABLE myCountry");

/* execute query */
$stmt->execute();

printf("Error: %s.\n", $stmt->error);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

/* drop table */
mysqli_query($link, "DROP TABLE myCountry");

/* execute query */
mysqli_stmt_execute($stmt);

printf("Error: %s.\n", mysqli_stmt_error($stmt));

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error: Table 'world.myCountry' doesn't exist.

Ayrıca Bakınız

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_sqlstate() - Returns SQLSTATE error from previous statement operation


Executes a prepared statement

  • « mysqli_stmt::$error
  • mysqli_stmt::fetch »
  • PHP Manual
  • mysqli_stmt
  • Executes a prepared statement

mysqli_stmt::execute

mysqli_stmt_execute

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::execute -- mysqli_stmt_execute — Executes a prepared statement

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::execute(?array $params = null): bool

Yordamsal kullanım

mysqli_stmt_execute(mysqli_stmt $statement, ?array $params = null): bool

Executes previously prepared statement. The statement must be successfully prepared prior to execution, using either the mysqli_prepare() or mysqli_stmt_prepare() function, or by passing the second argument to mysqli_stmt::__construct().

If the statement is UPDATE, DELETE, or INSERT, the total number of affected rows can be determined by using the mysqli_stmt_affected_rows() function. If the query yields a result set, it can be fetched using mysqli_stmt_get_result() function or by fetching it row by row directly from the statement using mysqli_stmt_fetch() function.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

params

An optional list array with as many elements as there are bound parameters in the SQL statement being executed. Each value is treated as a string.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The optional params parameter has been added.

Örnekler

Örnek 1 Execute a prepared statement with bound variables

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

/* Prepare an insert statement */
$stmt = $mysqli->prepare("INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)");

/* Bind variables to parameters */
$stmt->bind_param("sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
$stmt->execute();

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
$stmt->execute();

/* Retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
$result = $mysqli->query($query);
while ($row = $result->fetch_row()) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

/* Prepare an insert statement */
$stmt = mysqli_prepare($link, "INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)");

/* Bind variables to parameters */
mysqli_stmt_bind_param($stmt, "sss", $val1, $val2, $val3);

$val1 = 'Stuttgart';
$val2 = 'DEU';
$val3 = 'Baden-Wuerttemberg';

/* Execute the statement */
mysqli_stmt_execute($stmt);

$val1 = 'Bordeaux';
$val2 = 'FRA';
$val3 = 'Aquitaine';

/* Execute the statement */
mysqli_stmt_execute($stmt);

/* Retrieve all rows from myCity */
$query = "SELECT Name, CountryCode, District FROM myCity";
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}

Yukarıdaki örneklerin çıktısı:

Stuttgart (DEU,Baden-Wuerttemberg)
Bordeaux (FRA,Aquitaine)

Örnek 2 Execute a prepared statement with an array of values

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');

$mysqli->query('CREATE TEMPORARY TABLE myCity LIKE City');

/* Prepare an insert statement */
$stmt = $mysqli->prepare('INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)');

/* Execute the statement */
$stmt->execute(['Stuttgart', 'DEU', 'Baden-Wuerttemberg']);

/* Retrieve all rows from myCity */
$query = 'SELECT Name, CountryCode, District FROM myCity';
$result = $mysqli->query($query);
while ($row = $result->fetch_row()) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

mysqli_query($link, 'CREATE TEMPORARY TABLE myCity LIKE City');

/* Prepare an insert statement */
$stmt = mysqli_prepare($link, 'INSERT INTO myCity (Name, CountryCode, District) VALUES (?,?,?)');

/* Execute the statement */
mysqli_stmt_execute($stmt, ['Stuttgart', 'DEU', 'Baden-Wuerttemberg']);

/* Retrieve all rows from myCity */
$query = 'SELECT Name, CountryCode, District FROM myCity';
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s,%s)\n", $row[0], $row[1], $row[2]);
}

Yukarıdaki örneklerin çıktısı:

Stuttgart (DEU,Baden-Wuerttemberg)

Ayrıca Bakınız

  • mysqli_execute_query() - Prepares, binds parameters, and executes SQL statement
  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object


Fetch results from a prepared statement into the bound variables

  • « mysqli_stmt::execute
  • mysqli_stmt::$field_count »
  • PHP Manual
  • mysqli_stmt
  • Fetch results from a prepared statement into the bound variables

mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Fetch results from a prepared statement into the bound variables

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::fetch(): ?bool

Yordamsal kullanım

mysqli_stmt_fetch(mysqli_stmt $statement): ?bool

Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().

Bilginize:

Note that all columns must be bound by the application before calling mysqli_stmt_fetch().

Bilginize:

Data are transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Dönen Değerler
Value | Description
true | Success. Data has been fetched
false | Error occurred
null | No more rows/data exists or data truncation occurred

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = $mysqli->prepare($query)) {

/* execute statement */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($name, $code);

/* fetch values */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

if ($stmt = mysqli_prepare($link, $query)) {

/* execute statement */
mysqli_stmt_execute($stmt);

/* bind result variables */
mysqli_stmt_bind_result($stmt, $name, $code);

/* fetch values */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Rockford (USA)
Tallahassee (USA)
Salinas (USA)
Santa Clarita (USA)
Springfield (USA)

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage


Returns the number of columns in the given statement

  • « mysqli_stmt::fetch
  • mysqli_stmt::free_result »
  • PHP Manual
  • mysqli_stmt
  • Returns the number of columns in the given statement

mysqli_stmt::$field_count

mysqli_stmt_field_count

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$field_count -- mysqli_stmt_field_count — Returns the number of columns in the given statement

Açıklama

Nesne yönelimli kullanım

int $mysqli_stmt->field_count;

Yordamsal kullanım

mysqli_stmt_field_count(mysqli_stmt $statement): int

Returns the number of columns in the prepared statement.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns an integer representing the number of columns.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Code=?");
$stmt->bind_param('s', $code);
$stmt->execute();
$row = $stmt->get_result()->fetch_row();
for ($i = 0; $i < $stmt->field_count; $i++) {
printf("Value of column number %d is %s", $i, $row[$i]);
}

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = mysqli_prepare($mysqli, "SELECT Name FROM Country WHERE Code=?");
mysqli_stmt_bind_param($stmt, 's', $code);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_row($result);
for ($i = 0; $i < mysqli_stmt_field_count($stmt); $i++) {
printf("Value of column number %d is %s", $i, $row[$i]);
}

The above examples will output something similar to:

Value of column number 0 is France

Ayrıca Bakınız

  • mysqli_stmt_num_rows() - Returns the number of rows fetched from the server


Frees stored result memory for the given statement handle

  • « mysqli_stmt::$field_count
  • mysqli_stmt::get_result »
  • PHP Manual
  • mysqli_stmt
  • Frees stored result memory for the given statement handle

mysqli_stmt::free_result

mysqli_stmt_free_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::free_result -- mysqli_stmt_free_result — Frees stored result memory for the given statement handle

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::free_result(): void

Yordamsal kullanım

mysqli_stmt_free_result(mysqli_stmt $statement): void

Frees the result memory associated with the statement, which was allocated by mysqli_stmt_store_result().

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • mysqli_stmt_store_result() - Stores a result set in an internal buffer


Gets a result set from a prepared statement as a mysqli_result object

  • « mysqli_stmt::free_result
  • mysqli_stmt::get_warnings »
  • PHP Manual
  • mysqli_stmt
  • Gets a result set from a prepared statement as a mysqli_result object

mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_stmt::get_result -- mysqli_stmt_get_result — Gets a result set from a prepared statement as a mysqli_result object

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::get_result(): mysqli_result|false

Yordamsal kullanım

mysqli_stmt_get_result(mysqli_stmt $statement): mysqli_result|false

Retrieves a result set from a prepared statement as a mysqli_result object. The data will be fetched from the MySQL server to PHP. This method should be called only for queries which produce a result set.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bilginize:

This function cannot be used together with mysqli_stmt_store_result(). Both of these functions retrieve the full result set from the MySQL server.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_stmt_get_result() will return a mysqli_result object. For other successful queries, mysqli_stmt_get_result() will return false. The mysqli_stmt_errno() function can be used to distinguish between the two reasons for false; due to a bug, prior to PHP 7.4.13, mysqli_errno() had to be used for this purpose.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $continent);

$continentList = array('Europe', 'Africa', 'Asia', 'North America');

foreach ($continentList as $continent) {
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM)) {
foreach ($row as $r) {
print "$r ";
}
print "\n";
}
}

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$stmt = mysqli_prepare($link, $query);
mysqli_stmt_bind_param($stmt, "s", $continent);

$continentList= array('Europe', 'Africa', 'Asia', 'North America');

foreach ($continentList as $continent) {
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
foreach ($row as $r) {
print "$r ";
}
print "\n";
}
}

The above examples will output something similar to:

Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_stmt_store_result() - Stores a result set in an internal buffer


Get result of SHOW WARNINGS

  • « mysqli_stmt::get_result
  • mysqli_stmt::$insert_id »
  • PHP Manual
  • mysqli_stmt
  • Get result of SHOW WARNINGS

mysqli_stmt::get_warnings

mysqli_stmt_get_warnings

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

mysqli_stmt::get_warnings -- mysqli_stmt_get_warnings — Get result of SHOW WARNINGS

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::get_warnings(): mysqli_warning|false

Yordamsal kullanım

mysqli_stmt_get_warnings(mysqli_stmt $statement): mysqli_warning|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Get the ID generated from the previous INSERT operation

  • « mysqli_stmt::get_warnings
  • mysqli_stmt::more_results »
  • PHP Manual
  • mysqli_stmt
  • Get the ID generated from the previous INSERT operation

mysqli_stmt::$insert_id

mysqli_stmt_insert_id

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$insert_id -- mysqli_stmt_insert_id — Get the ID generated from the previous INSERT operation

Açıklama

Nesne yönelimli kullanım

int|string $mysqli_stmt->insert_id;

Yordamsal kullanım

mysqli_stmt_insert_id(mysqli_stmt $statement): int|string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Check if there are more query results from a multiple query

  • « mysqli_stmt::$insert_id
  • mysqli_stmt::next_result »
  • PHP Manual
  • mysqli_stmt
  • Check if there are more query results from a multiple query

mysqli_stmt::more_results

mysqli_stmt_more_results

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_stmt::more_results -- mysqli_stmt_more_results — Check if there are more query results from a multiple query

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::more_results(): bool

Yordamsal kullanım:

mysqli_stmt_more_results(mysqli_stmt $statement): bool

Checks if there are more query results from a multiple query.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns true if more results exist, otherwise false.

Ayrıca Bakınız

  • mysqli_stmt::next_result() - Reads the next result from a multiple query
  • mysqli::multi_query() - Performs one or more queries on the database


Reads the next result from a multiple query

  • « mysqli_stmt::more_results
  • mysqli_stmt::$num_rows »
  • PHP Manual
  • mysqli_stmt
  • Reads the next result from a multiple query

mysqli_stmt::next_result

mysqli_stmt_next_result

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_stmt::next_result -- mysqli_stmt_next_result — Reads the next result from a multiple query

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::next_result(): bool

Yordamsal kullanım:

mysqli_stmt_next_result(mysqli_stmt $statement): bool

Reads the next result from a multiple query.

Bilginize:

Prior to PHP 8.1.0, available only with mysqlnd.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Now also available when linking against libmysqlclient.

Ayrıca Bakınız

  • mysqli_stmt::more_results() - Check if there are more query results from a multiple query
  • mysqli::multi_query() - Performs one or more queries on the database


Returns the number of rows fetched from the server

  • « mysqli_stmt::next_result
  • mysqli_stmt::$param_count »
  • PHP Manual
  • mysqli_stmt
  • Returns the number of rows fetched from the server

mysqli_stmt::$num_rows

mysqli_stmt::num_rows

mysqli_stmt_num_rows

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$num_rows -- mysqli_stmt::num_rows -- mysqli_stmt_num_rows — Returns the number of rows fetched from the server

Açıklama

Nesne yönelimli kullanım

int|string $mysqli_stmt->num_rows;
public mysqli_stmt::num_rows(): int|string

Yordamsal kullanım

mysqli_stmt_num_rows(mysqli_stmt $statement): int|string

Returns the number of rows buffered in the statement. This function will only work after mysqli_stmt_store_result() is called to buffer the entire result set in the statement handle.

This function returns 0 unless all rows have been fetched from the server.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

An int representing the number of buffered rows. Returns 0 in unbuffered mode unless all rows have been fetched from the server.

Bilginize:

Satır sayısı PHP_INT_MAX'tan büyükse, sayı string türünde döndürülür.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();

/* store the result in an internal buffer */
$stmt->store_result();

printf("Number of rows: %d.\n", $stmt->num_rows);

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);

/* store the result in an internal buffer */
mysqli_stmt_store_result($stmt);

printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

Yukarıdaki örneklerin çıktısı:

Number of rows: 20.

Ayrıca Bakınız

  • mysqli_stmt_store_result() - Stores a result set in an internal buffer
  • mysqli_stmt_affected_rows() - Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed
  • mysqli_prepare() - Prepares an SQL statement for execution


Returns the number of parameters for the given statement

  • « mysqli_stmt::$num_rows
  • mysqli_stmt::prepare »
  • PHP Manual
  • mysqli_stmt
  • Returns the number of parameters for the given statement

mysqli_stmt::$param_count

mysqli_stmt_param_count

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$param_count -- mysqli_stmt_param_count — Returns the number of parameters for the given statement

Açıklama

Nesne yönelimli kullanım

int $mysqli_stmt->param_count;

Yordamsal kullanım

mysqli_stmt_param_count(mysqli_stmt $statement): int

Returns the number of parameter markers present in the prepared statement.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns an integer representing the number of parameters.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if ($stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Name=? OR Code=?")) {

$marker = $stmt->param_count;
printf("Statement has %d markers.\n", $marker);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

if ($stmt = mysqli_prepare($link, "SELECT Name FROM Country WHERE Name=? OR Code=?")) {

$marker = mysqli_stmt_param_count($stmt);
printf("Statement has %d markers.\n", $marker);

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Statement has 2 markers.

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution


Prepares an SQL statement for execution

  • « mysqli_stmt::$param_count
  • mysqli_stmt::reset »
  • PHP Manual
  • mysqli_stmt
  • Prepares an SQL statement for execution

mysqli_stmt::prepare

mysqli_stmt_prepare

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::prepare -- mysqli_stmt_prepare — Prepares an SQL statement for execution

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::prepare(string $query): bool

Yordamsal kullanım

mysqli_stmt_prepare(mysqli_stmt $statement, string $query): bool

Prepares a statement for execution. The query must consist of a single SQL statement.

The statement template can contain zero or more question mark (?) parameter markers?—also called placeholders. The parameter markers must be bound to application variables using mysqli_stmt_bind_param() before executing the statement.

Bilginize:

In the case where a statement is passed to mysqli_stmt_prepare() that is longer than max_allowed_packet of the server, the returned error codes are different depending on whether you are using MySQL Native Driver (mysqlnd) or MySQL Client Library (libmysqlclient). The behavior is as follows:

  • mysqlnd on Linux returns an error code of 1153. The error message means got a packet bigger than max_allowed_packet bytes.

  • mysqlnd on Windows returns an error code 2006. This error message means server has gone away.

  • libmysqlclient on all platforms returns an error code 2006. This error message means server has gone away.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

query

The query, as a string. It must consist of a single SQL statement.

The SQL statement may contain zero or more parameter markers represented by question mark (?) characters at the appropriate positions.

Bilginize:

The markers are legal only in certain places in SQL statements. For example, they are permitted in the VALUES() list of an INSERT statement (to specify column values for a row), or in a comparison with a column in a WHERE clause to specify a comparison value. However, they are not permitted for identifiers (such as table or column names).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 mysqli_stmt::prepare() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$city = "Amersfoort";

/* create a prepared statement */
$stmt = $mysqli->stmt_init();
$stmt->prepare("SELECT District FROM City WHERE Name=?");

/* bind parameters for markers */
$stmt->bind_param("s", $city);

/* execute query */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($district);

/* fetch value */
$stmt->fetch();

printf("%s is in district %s\n", $city, $district);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$city = "Amersfoort";

/* create a prepared statement */
$stmt = mysqli_stmt_init($link);
mysqli_stmt_prepare($stmt, "SELECT District FROM City WHERE Name=?");

/* bind parameters for markers */
mysqli_stmt_bind_param($stmt, "s", $city);

/* execute query */
mysqli_stmt_execute($stmt);

/* bind result variables */
mysqli_stmt_bind_result($stmt, $district);

/* fetch value */
mysqli_stmt_fetch($stmt);

printf("%s is in district %s\n", $city, $district);

Yukarıdaki örneklerin çıktısı:

Amersfoort is in district Utrecht

Ayrıca Bakınız

  • mysqli_stmt_init() - Initializes a statement and returns an object for use with mysqli_stmt_prepare
  • mysqli_stmt_execute() - Executes a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters
  • mysqli_stmt_bind_result() - Binds variables to a prepared statement for result storage
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object
  • mysqli_stmt_close() - Closes a prepared statement


Resets a prepared statement

  • « mysqli_stmt::prepare
  • mysqli_stmt::result_metadata »
  • PHP Manual
  • mysqli_stmt
  • Resets a prepared statement

mysqli_stmt::reset

mysqli_stmt_reset

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::reset -- mysqli_stmt_reset — Resets a prepared statement

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::reset(): bool

Yordamsal kullanım

mysqli_stmt_reset(mysqli_stmt $statement): bool

Resets a prepared statement on client and server to state after prepare.

It resets the statement on the server, data sent using mysqli_stmt_send_long_data(), unbuffered result sets and current errors. It does not clear bindings or stored result sets. Stored result sets will be cleared when executing the prepared statement (or closing it).

To prepare a statement with another query use function mysqli_stmt_prepare().

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution


Returns result set metadata from a prepared statement

  • « mysqli_stmt::reset
  • mysqli_stmt::send_long_data »
  • PHP Manual
  • mysqli_stmt
  • Returns result set metadata from a prepared statement

mysqli_stmt::result_metadata

mysqli_stmt_result_metadata

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Returns result set metadata from a prepared statement

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::result_metadata(): mysqli_result|false

Yordamsal kullanım

mysqli_stmt_result_metadata(mysqli_stmt $statement): mysqli_result|false

If a statement passed to mysqli_prepare() is one that produces a result set, mysqli_stmt_result_metadata() returns the result object that can be used to process the meta information such as total number of fields and individual field information.

Bilginize:

This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

  • mysqli_num_fields()

  • mysqli_fetch_field()

  • mysqli_fetch_field_direct()

  • mysqli_fetch_fields()

  • mysqli_field_count()

  • mysqli_field_seek()

  • mysqli_field_tell()

  • mysqli_free_result()

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result()

Bilginize:

The result set returned by mysqli_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with mysqli_stmt_fetch().

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns a result object or false if an error occurred.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");

$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = $mysqli->prepare("SELECT id, name FROM friends");
$stmt->execute();

/* get resultset for metadata */
$result = $stmt->result_metadata();

/* retrieve field information from metadata result set */
$field = $result->fetch_field();

printf("Fieldname: %s\n", $field->name);

/* close resultset */
$result->close();

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int, name varchar(20))");

mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");

$stmt = mysqli_prepare($link, "SELECT id, name FROM friends");
mysqli_stmt_execute($stmt);

/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);

/* retrieve field information from metadata result set */
$field = mysqli_fetch_field($result);

printf("Fieldname: %s\n", $field->name);

/* close resultset */
mysqli_free_result($result);

/* close connection */
mysqli_close($link);
?>

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_free_result() - Frees the memory associated with a result


Send data in blocks

  • « mysqli_stmt::result_metadata
  • mysqli_stmt::$sqlstate »
  • PHP Manual
  • mysqli_stmt
  • Send data in blocks

mysqli_stmt::send_long_data

mysqli_stmt_send_long_data

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::send_long_data -- mysqli_stmt_send_long_data — Send data in blocks

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::send_long_data(int $param_num, string $data): bool

Yordamsal kullanım

mysqli_stmt_send_long_data(mysqli_stmt $statement, int $param_num, string $data): bool

Allows to send parameter data to the server in pieces (or chunks), e.g. if the size of a blob exceeds the size of max_allowed_packet. This function can be called multiple times to send the parts of a character or binary data value for a column, which must be one of the TEXT or BLOB datatypes.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

param_num

Indicates which parameter to associate the data with. Parameters are numbered beginning with 0.

data

A string containing data to be sent.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$stmt = $mysqli->prepare("INSERT INTO messages (message) VALUES (?)");
$null = NULL;
$stmt->bind_param("b", $null);
$fp = fopen("messages.txt", "r");
while (!feof($fp)) {
$stmt->send_long_data(0, fread($fp, 8192));
}
fclose($fp);
$stmt->execute();
?>

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_bind_param() - Binds variables to a prepared statement as parameters


Returns SQLSTATE error from previous statement operation

  • « mysqli_stmt::send_long_data
  • mysqli_stmt::store_result »
  • PHP Manual
  • mysqli_stmt
  • Returns SQLSTATE error from previous statement operation

mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstate — Returns SQLSTATE error from previous statement operation

Açıklama

Nesne yönelimli kullanım

string $mysqli_stmt->sqlstate;

Yordamsal kullanım

mysqli_stmt_sqlstate(mysqli_stmt $statement): string

Returns a string containing the SQLSTATE error code for the most recently invoked prepared statement function that can succeed or fail. The error code consists of five characters. '00000' means no error. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. '00000' means no error.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
/* Open a connection */
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {

/* drop table */
$mysqli->query("DROP TABLE myCountry");

/* execute query */
$stmt->execute();

printf("Error: %s.\n", $stmt->sqlstate);

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
/* Open a connection */
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");

$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {

/* drop table */
mysqli_query($link, "DROP TABLE myCountry");

/* execute query */
mysqli_stmt_execute($stmt);

printf("Error: %s.\n", mysqli_stmt_sqlstate($stmt));

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Error: 42S02.

Notlar

Bilginize:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Ayrıca Bakınız

  • mysqli_stmt_errno() - Returns the error code for the most recent statement call
  • mysqli_stmt_error() - Returns a string description for last statement error


Stores a result set in an internal buffer

  • « mysqli_stmt::$sqlstate
  • mysqli_result »
  • PHP Manual
  • mysqli_stmt
  • Stores a result set in an internal buffer

mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::store_result -- mysqli_stmt_store_result — Stores a result set in an internal buffer

Açıklama

Nesne yönelimli kullanım

public mysqli_stmt::store_result(): bool

Yordamsal kullanım

mysqli_stmt_store_result(mysqli_stmt $statement): bool

This function should be called for queries that successfully produce a result set (e.g. SELECT, SHOW, DESCRIBE, EXPLAIN) only if the complete result set needs to be buffered in PHP. Each subsequent mysqli_stmt_fetch() call will return buffered data.

Bilginize:

It is unnecessary to call mysqli_stmt_store_result() for other queries, but if you do, it will not harm or cause any notable performance loss in all cases. You can detect whether the query produced a result set by checking if mysqli_stmt_result_metadata() returns false.

Bağımsız Değişkenler

deyim

Sadece yordamsal tarz: mysqli_stmt_init() işlevinden dönen bir mysqli_stmt nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();

/* store the result in an internal buffer */
$stmt->store_result();

printf("Number of rows: %d.\n", $stmt->num_rows);

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);

/* store the result in an internal buffer */
mysqli_stmt_store_result($stmt);

printf("Number of rows: %d.\n", mysqli_stmt_num_rows($stmt));

Yukarıdaki örneklerin çıktısı:

Number of rows: 20.

Ayrıca Bakınız

  • mysqli_prepare() - Prepares an SQL statement for execution
  • mysqli_stmt_result_metadata() - Returns result set metadata from a prepared statement
  • mysqli_stmt_fetch() - Fetch results from a prepared statement into the bound variables


The mysqli_result class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents the result set obtained from a query against the database.

Sınıf Sözdizimi

class mysqli_result implements IteratorAggregate {
/* Özellikler */
public readonly int $current_field;
public readonly int $field_count;
public readonly ?array $lengths;
public readonly int|string $num_rows;
public int $type;
/* Yöntemler */
public __construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT)
public data_seek(int $offset): bool
public fetch_all(int $mode = MYSQLI_NUM): array
public fetch_array(int $mode = MYSQLI_BOTH): array|null|false
public fetch_assoc(): array|null|false
public fetch_column(int $column = 0): null|int|float|string|false
public fetch_field_direct(int $index): object|false
public fetch_field(): object|false
public fetch_fields(): array
public fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false
public fetch_row(): array|null|false
public field_seek(int $index): bool
public free(): void
public close(): void
public free_result(): void
public getIterator(): Iterator
}

Özellikler

type

Stores whether the result is buffered or unbuffered as an int (MYSQLI_STORE_RESULT or MYSQLI_USE_RESULT, respectively).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | mysqli_result implements IteratorAggregate now. Previously, Traversable was implemented instead.

İçindekiler

  • mysqli_result::__construct — Constructs a mysqli_result object
  • mysqli_result::$current_field — Get current field offset of a result pointer
  • mysqli_result::data_seek — Adjusts the result pointer to an arbitrary row in the result
  • mysqli_result::fetch_all — Fetch all result rows as an associative array, a numeric array, or both
  • mysqli_result::fetch_array — Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_result::fetch_assoc — Fetch the next row of a result set as an associative array
  • mysqli_result::fetch_column — Fetch a single column from the next row of a result set
  • mysqli_result::fetch_field_direct — Fetch meta-data for a single field
  • mysqli_result::fetch_field — Returns the next field in the result set
  • mysqli_result::fetch_fields — Returns an array of objects representing the fields in a result set
  • mysqli_result::fetch_object — Fetch the next row of a result set as an object
  • mysqli_result::fetch_row — Fetch the next row of a result set as an enumerated array
  • mysqli_result::$field_count — Gets the number of fields in the result set
  • mysqli_result::field_seek — Set result pointer to a specified field offset
  • mysqli_result::free — Frees the memory associated with a result
  • mysqli_result::getIterator — Retrieve an external iterator
  • mysqli_result::$lengths — Returns the lengths of the columns of the current row in the result set
  • mysqli_result::$num_rows — Gets the number of rows in the result set


Constructs a mysqli_result object

  • « mysqli_result
  • mysqli_result::$current_field »
  • PHP Manual
  • mysqli_result
  • Constructs a mysqli_result object

mysqli_result::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_result::__construct — Constructs a mysqli_result object

Açıklama

public mysqli_result::__construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT)

This method constructs a new mysqli_result object.

It can be used to create the mysqli_result object after calling the mysqli_real_query() or mysqli_multi_query() function. Constructing the object manually is equivalent to calling the mysqli_store_result() or mysqli_use_result() function.

Bağımsız Değişkenler

bağlantı

Sadece yordamsal tarz: mysqli_connect() veya mysqli_init() işlevinden dönen bir mysqli nesnesi.

result_mode

The result mode can be one of 2 constants indicating how the result will be returned from the MySQL server.

MYSQLI_STORE_RESULT (default) - creates a mysqli_result object with buffered result set.

MYSQLI_USE_RESULT - creates a mysqli_result object with unbuffered result set. As long as there are pending records waiting to be fetched, the connection line will be busy and all subsequent calls will return error Commands out of sync. To avoid the error all records must be fetched from the server or the result set must be discarded by calling mysqli_free_result(). The connection must remain open for the rows to be fetched.

Hatalar/İstisnalar

Eğer mysqli hata bildirimi etkinse (MYSQLI_REPORT_ERROR) ve istenen işlem başarısız olursa bir uyarı üretilir. Ek olarak, kip MYSQLI_REPORT_STRICT ise bunun yerine mysqli_sql_exception istisnası oluşur.

Örnekler

Örnek 1 Creation of a mysqli_result object

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Select queries return a result set */
$mysqli->real_query("SELECT Name FROM City LIMIT 10");

$result = new mysqli_result($mysqli);
printf("Select returned %d rows.\n", $result->num_rows);

The above examples will output something similar to:

Select returned 10 rows.

Ayrıca Bakınız

  • mysqli_multi_query() - Performs one or more queries on the database
  • mysqli_real_query() - Execute an SQL query
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Get current field offset of a result pointer

  • « mysqli_result::__construct
  • mysqli_result::data_seek »
  • PHP Manual
  • mysqli_result
  • Get current field offset of a result pointer

mysqli_result::$current_field

mysqli_field_tell

(PHP 5, PHP 7, PHP 8)

mysqli_result::$current_field -- mysqli_field_tell — Get current field offset of a result pointer

Açıklama

Nesne yönelimli kullanım

int $mysqli_result->current_field;

Yordamsal kullanım

mysqli_field_tell(mysqli_result $result): int

Returns the position of the field cursor used for the last mysqli_fetch_field() call. This value can be used as an argument to mysqli_field_seek().

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Returns current offset of field cursor.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

/* Get field information for all columns */
while ($finfo = $result->fetch_field()) {

/* get fieldpointer offset */
$currentfield = $result->current_field;

printf("Column %d:\n", $currentfield);
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
$result->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

/* Get field information for all fields */
while ($finfo = mysqli_fetch_field($result)) {

/* get fieldpointer offset */
$currentfield = mysqli_field_tell($result);

printf("Column %d:\n", $currentfield);
printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Column 1:
Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Column 2:
Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Ayrıca Bakınız

  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_field_seek() - Set result pointer to a specified field offset


Adjusts the result pointer to an arbitrary row in the result

  • « mysqli_result::$current_field
  • mysqli_result::fetch_all »
  • PHP Manual
  • mysqli_result
  • Adjusts the result pointer to an arbitrary row in the result

mysqli_result::data_seek

mysqli_data_seek

(PHP 5, PHP 7, PHP 8)

mysqli_result::data_seek -- mysqli_data_seek — Adjusts the result pointer to an arbitrary row in the result

Açıklama

Nesne yönelimli kullanım

public mysqli_result::data_seek(int $offset): bool

Yordamsal kullanım

mysqli_data_seek(mysqli_result $result, int $offset): bool

The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the offset in the result set.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

offset

The row offset. Must be between zero and the total number of rows minus one (0..mysqli_num_rows() - 1).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysqli::data_seek() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";
$result = $mysqli->query($query);

/* Seek to row no. 401 */
$result->data_seek(400);

/* Fetch single row */
$row = $result->fetch_row();

printf("City: %s Countrycode: %s\n", $row[0], $row[1]);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name";

$result = mysqli_query($link, $query);

/* Seek to row no. 401 */
mysqli_data_seek($result, 400);

/* Fetch single row */
$row = mysqli_fetch_row($result);

printf ("City: %s Countrycode: %s\n", $row[0], $row[1]);

Yukarıdaki örneklerin çıktısı:

City: Benin City  Countrycode: NGA

Örnek 2 Adjusting the result pointer when iterating

This function can be useful when iterating over the result set to impose a custom order or rewind the result set when iterating multiple times.

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 15,4";
$result = $mysqli->query($query);

/* Iterate the result set in reverse order */
for ($row_no = $result->num_rows - 1; $row_no >= 0; $row_no--) {
$result->data_seek($row_no);

/* Fetch single row */
$row = $result->fetch_row();

printf("City: %s Countrycode: %s\n", $row[0], $row[1]);
}

/* Reset pointer to the beginning of the result set */
$result->data_seek(0);

print "\n";

/* Iterate the same result set again */
while ($row = $result->fetch_row()) {
printf("City: %s Countrycode: %s\n", $row[0], $row[1]);
}

Yukarıdaki örneklerin çıktısı:

City: Acmbaro  Countrycode: MEX
City: Abuja  Countrycode: NGA
City: Abu Dhabi  Countrycode: ARE
City: Abottabad  Countrycode: PAK

City: Abottabad  Countrycode: PAK
City: Abu Dhabi  Countrycode: ARE
City: Abuja  Countrycode: NGA
City: Acmbaro  Countrycode: MEX

Notlar

Bilginize:

This function can only be used with buffered results attained from the use of the mysqli_store_result(), mysqli_query() or mysqli_stmt_get_result() functions.

Ayrıca Bakınız

  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_fetch_row() - Fetch the next row of a result set as an enumerated array
  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
  • mysqli_fetch_object() - Fetch the next row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_num_rows() - Gets the number of rows in the result set


Fetch all result rows as an associative array, a numeric array, or both

  • « mysqli_result::data_seek
  • mysqli_result::fetch_array »
  • PHP Manual
  • mysqli_result
  • Fetch all result rows as an associative array, a numeric array, or both

mysqli_result::fetch_all

mysqli_fetch_all

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_result::fetch_all -- mysqli_fetch_all — Fetch all result rows as an associative array, a numeric array, or both

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_all(int $mode = MYSQLI_NUM): array

Yordamsal kullanım

mysqli_fetch_all(mysqli_result $result, int $mode = MYSQLI_NUM): array

Returns a two-dimensional array of all result rows as an associative array, a numeric array, or both.

Bilginize:

Prior to PHP 8.1.0, available only with mysqlnd.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

mode

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

Dönen Değerler

Returns an array of associative or numeric arrays holding result rows.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Now also available when linking against libmysqlclient.

Örnekler

Örnek 1 mysqli_result::fetch_all() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$result = $mysqli->query("SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");

$rows = $result->fetch_all(MYSQLI_ASSOC);
foreach ($rows as $row) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$result = mysqli_query($mysqli, "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3");

$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);
foreach ($rows as $row) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Yukarıdaki örneklerin çıktısı:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Ayrıca Bakınız

  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_column() - Fetch a single column from the next row of a result set
  • mysqli_query() - Performs a query on the database


Fetch the next row of a result set as an associative, a numeric array, or both

  • « mysqli_result::fetch_all
  • mysqli_result::fetch_assoc »
  • PHP Manual
  • mysqli_result
  • Fetch the next row of a result set as an associative, a numeric array, or both

mysqli_result::fetch_array

mysqli_fetch_array

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_array -- mysqli_fetch_array — Fetch the next row of a result set as an associative, a numeric array, or both

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_array(int $mode = MYSQLI_BOTH): array|null|false

Yordamsal kullanım

mysqli_fetch_array(mysqli_result $result, int $mode = MYSQLI_BOTH): array|null|false

Fetches one row of data from the result set and returns it as an array. Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.

In addition to storing the data in the numeric indices of the result array, this function can also store the data in associative indices by using the field names of the result set as keys.

If two or more columns of the result have the same name, the last column will take precedence and overwrite any previous data. To access multiple columns with the same name, the numerically indexed version of the row must be used.

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

mode

This optional parameter is a constant indicating what type of array should be produced from the current row data. The possible values for this parameter are the constants MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.

By using the MYSQLI_ASSOC constant this function will behave identically to the mysqli_fetch_assoc(), while MYSQLI_NUM will behave identically to the mysqli_fetch_row() function. The final option MYSQLI_BOTH will create a single array with the attributes of both.

Dönen Değerler

Returns an array representing the fetched row, null if there are no more rows in the result set, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysqli_result::fetch_array() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID LIMIT 3";
$result = $mysqli->query($query);

/* numeric array */
$row = $result->fetch_array(MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = $result->fetch_array(MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = $result->fetch_array(MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER by ID LIMIT 3";
$result = mysqli_query($mysqli, $query);

/* numeric array */
$row = mysqli_fetch_array($result, MYSQLI_NUM);
printf("%s (%s)\n", $row[0], $row[1]);

/* associative array */
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);

/* associative and numeric array */
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
printf("%s (%s)\n", $row[0], $row["CountryCode"]);

The above examples will output something similar to:

Kabul (AFG)
Qandahar (AFG)
Herat (AFG)

Ayrıca Bakınız

  • mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
  • mysqli_fetch_column() - Fetch a single column from the next row of a result set
  • mysqli_fetch_row() - Fetch the next row of a result set as an enumerated array
  • mysqli_fetch_object() - Fetch the next row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Fetch the next row of a result set as an associative array

  • « mysqli_result::fetch_array
  • mysqli_result::fetch_column »
  • PHP Manual
  • mysqli_result
  • Fetch the next row of a result set as an associative array

mysqli_result::fetch_assoc

mysqli_fetch_assoc

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Fetch the next row of a result set as an associative array

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_assoc(): array|null|false

Yordamsal kullanım

mysqli_fetch_assoc(mysqli_result $result): array|null|false

Fetches one row of data from the result set and returns it as an associative array. Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.

If two or more columns of the result have the same name, the last column will take precedence and overwrite any previous data. To access multiple columns with the same name, mysqli_fetch_row() may be used to fetch the numerically indexed array, or aliases may be used in the SQL query select list to give columns different names.

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Returns an associative array representing the fetched row, where each key in the array represents the name of one of the result set's columns, null if there are no more rows in the result set, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysqli_result::fetch_assoc() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* fetch associative array */
while ($row = mysqli_fetch_assoc($result)) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

The above examples will output something similar to:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Örnek 2 Comparison of mysqli_result iterator and mysqli_result::fetch_assoc() usage

mysqli_result can be iterated using foreach. The result set will always be iterated from the first row, regardless of the current position.

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = 'SELECT Name, CountryCode FROM City ORDER BY ID DESC';

// Using iterators
$result = $mysqli->query($query);
foreach ($result as $row) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

echo "\n==================\n";

// Not using iterators
$result = $mysqli->query($query);
while ($row = $result->fetch_assoc()) {
printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

==================
Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ayrıca Bakınız

  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_column() - Fetch a single column from the next row of a result set
  • mysqli_fetch_row() - Fetch the next row of a result set as an enumerated array
  • mysqli_fetch_object() - Fetch the next row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Fetch a single column from the next row of a result set

  • « mysqli_result::fetch_assoc
  • mysqli_result::fetch_field_direct »
  • PHP Manual
  • mysqli_result
  • Fetch a single column from the next row of a result set

mysqli_result::fetch_column

mysqli_fetch_column

(PHP 8 >= 8.1.0)

mysqli_result::fetch_column -- mysqli_fetch_column — Fetch a single column from the next row of a result set

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_column(int $column = 0): null|int|float|string|false

Yordamsal kullanım

mysqli_fetch_column(mysqli_result $result, int $column = 0): null|int|float|string|false

Fetches one row of data from the result set and returns the 0-indexed column. Each subsequent call to this function will return the value from the next row within the result set, or false if there are no more rows.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

column

0-indexed number of the column you wish to retrieve from the row. If no value is supplied, the first column will be returned.

Dönen Değerler

Returns a single column from the next row of a result set or false if there are no more rows.

Uyarı

There is no way to return another column from the same row if you use this function to retrieve data.

Örnekler

Örnek 1 mysqli_result::fetch_column() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT CountryCode, Name FROM City ORDER BY ID DESC LIMIT 5";

$result = $mysqli->query($query);

/* fetch a single value from the second column */
while ($Name = $result->fetch_column(1)) {
printf("%s\n", $Name);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT CountryCode, Name FROM City ORDER BY ID DESC LIMIT 5";

$result = mysqli_query($mysqli, $query);

/* fetch a single value from the second column */
while ($Name = mysqli_fetch_column($result, 1)) {
printf("%s\n", $Name);
}

The above examples will output something similar to:

Rafah
Nablus
Jabaliya
Hebron
Khan Yunis

Ayrıca Bakınız

  • mysqli_fetch_all() - Fetch all result rows as an associative array, a numeric array, or both
  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
  • mysqli_fetch_object() - Fetch the next row of a result set as an object
  • mysqli_fetch_row() - Fetch the next row of a result set as an enumerated array
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Fetch meta-data for a single field

  • « mysqli_result::fetch_column
  • mysqli_result::fetch_field »
  • PHP Manual
  • mysqli_result
  • Fetch meta-data for a single field

mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Fetch meta-data for a single field

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_field_direct(int $index): object|false

Yordamsal kullanım

mysqli_fetch_field_direct(mysqli_result $result, int $index): object|false

Returns an object which contains field definition information from the specified result set.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

index

The field number. This value must be in the range from 0 to number of fields - 1.

Dönen Değerler

Returns an object which contains field definition information or false if no field information for specified index is available.

Object attributes
Attribute | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | The default value for this field, represented as a string
max_length | The maximum width of the field for the result set. As of PHP 8.1, this value is always 0.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for numeric fields)

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = $mysqli->query($query)) {

/* Get field information for column 'SurfaceArea' */
$finfo = $result->fetch_field_direct(1);

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n", $finfo->type);

$result->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if ($result = mysqli_query($link, $query)) {

/* Get field information for column 'SurfaceArea' */
$finfo = mysqli_fetch_field_direct($result, 1);

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n", $finfo->type);

mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Ayrıca Bakınız

  • mysqli_num_fields() - Gets the number of fields in the result set
  • mysqli_fetch_field() - Returns the next field in the result set
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set


Returns the next field in the result set

  • « mysqli_result::fetch_field_direct
  • mysqli_result::fetch_fields »
  • PHP Manual
  • mysqli_result
  • Returns the next field in the result set

mysqli_result::fetch_field

mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_field — Returns the next field in the result set

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_field(): object|false

Yordamsal kullanım

mysqli_fetch_field(mysqli_result $result): object|false

Returns the definition of one column of a result set as an object. Call this function repeatedly to retrieve information about all columns in the result set.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Returns an object which contains field definition information or false if no field information is available.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
def | Reserved for default value, currently always ""
db | The name of the database
catalog | The catalog name, always "def"
max_length | The maximum width of the field for the result set.
length | The width of the field, as specified in the table definition.
charsetnr | The character set number for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

/* Get field information for all columns */
while ($finfo = $result->fetch_field()) {

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
$result->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

/* Get field information for all fields */
while ($finfo = mysqli_fetch_field($result)) {

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);
}
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Name:     Name
Table:    Country
max. Len: 11
Flags:    1
Type:     254

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Ayrıca Bakınız

  • mysqli_num_fields() - Gets the number of fields in the result set
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_fields() - Returns an array of objects representing the fields in a result set
  • mysqli_field_seek() - Set result pointer to a specified field offset


Returns an array of objects representing the fields in a result set

  • « mysqli_result::fetch_field
  • mysqli_result::fetch_object »
  • PHP Manual
  • mysqli_result
  • Returns an array of objects representing the fields in a result set

mysqli_result::fetch_fields

mysqli_fetch_fields

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_fields -- mysqli_fetch_fields — Returns an array of objects representing the fields in a result set

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_fields(): array

Yordamsal kullanım

mysqli_fetch_fields(mysqli_result $result): array

This function serves an identical purpose to the mysqli_fetch_field() function with the single difference that, instead of returning one object at a time for each field, the columns are returned as an array of objects.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Returns an array of objects containing field definition information.

Object properties
Property | Description
name | The name of the column
orgname | Original column name if an alias was specified
table | The name of the table this field belongs to (if not calculated)
orgtable | Original table name if an alias was specified
max_length | The maximum width of the field for the result set. As of PHP 8.1, this value is always 0.
length | The width of the field, in bytes, as specified in the table definition. Note that this number (bytes) might differ from your table definition value (characters), depending on the character set you use. For example, the character set utf8 has 3 bytes per character, so varchar(10) will return a length of 30 for utf8 (10*3), but return 10 for latin1 (10*1).
charsetnr | The character set number (id) for the field.
flags | An integer representing the bit-flags for the field.
type | The data type used for this field
decimals | The number of decimals used (for integer fields)

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("127.0.0.1", "root", "foofoo", "sakila");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}

foreach (array('latin1', 'utf8') as $charset) {

// Set character set, to show its impact on some values (e.g., length in bytes)
$mysqli->set_charset($charset);

$query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

echo "======================\n";
echo "Character Set: $charset\n";
echo "======================\n";

if ($result = $mysqli->query($query)) {

/* Get field information for all columns */
$finfo = $result->fetch_fields();

foreach ($finfo as $val) {
printf("Name: %s\n", $val->name);
printf("Table: %s\n", $val->table);
printf("Max. Len: %d\n", $val->max_length);
printf("Length: %d\n", $val->length);
printf("charsetnr: %d\n", $val->charsetnr);
printf("Flags: %d\n", $val->flags);
printf("Type: %d\n\n", $val->type);
}
$result->free();
}
}
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

foreach (array('latin1', 'utf8') as $charset) {

// Set character set, to show its impact on some values (e.g., length in bytes)
mysqli_set_charset($link, $charset);

$query = "SELECT actor_id, last_name from actor ORDER BY actor_id";

echo "======================\n";
echo "Character Set: $charset\n";
echo "======================\n";

if ($result = mysqli_query($link, $query)) {

/* Get field information for all columns */
$finfo = mysqli_fetch_fields($result);

foreach ($finfo as $val) {
printf("Name: %s\n", $val->name);
printf("Table: %s\n", $val->table);
printf("Max. Len: %d\n", $val->max_length);
printf("Length: %d\n", $val->length);
printf("charsetnr: %d\n", $val->charsetnr);
printf("Flags: %d\n", $val->flags);
printf("Type: %d\n\n", $val->type);
}
mysqli_free_result($result);
}
}

mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

======================
Character Set: latin1
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    45
charsetnr: 8
Flags:     20489
Type:      253

======================
Character Set: utf8
======================
Name:      actor_id
Table:     actor
Max. Len:  3
Length:    5
charsetnr: 63
Flags:     49699
Type:      2

Name:      last_name
Table:     actor
Max. Len:  12
Length:    135
charsetnr: 33
Flags:     20489

Ayrıca Bakınız

  • mysqli_num_fields() - Gets the number of fields in the result set
  • mysqli_fetch_field_direct() - Fetch meta-data for a single field
  • mysqli_fetch_field() - Returns the next field in the result set


Fetch the next row of a result set as an object

  • « mysqli_result::fetch_fields
  • mysqli_result::fetch_row »
  • PHP Manual
  • mysqli_result
  • Fetch the next row of a result set as an object

mysqli_result::fetch_object

mysqli_fetch_object

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_object -- mysqli_fetch_object — Fetch the next row of a result set as an object

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false

Yordamsal kullanım

mysqli_fetch_object(mysqli_result $result, string $class = "stdClass", array $constructor_args = []): object|null|false

Fetches one row of data from the result set and returns it as an object, where each property represents the name of the result set's column. Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.

If two or more columns of the result have the same name, the last column will take precedence and overwrite any previous data. To access multiple columns with the same name, mysqli_fetch_row() may be used to fetch the numerically indexed array, or aliases may be used in the SQL query select list to give columns different names.

Bilginize: This function sets the properties of the object before calling the object constructor.

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

class

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

constructor_args

An optional array of parameters to pass to the constructor for class objects.

Dönen Değerler

Returns an object representing the fetched row, where each property represents the name of the result set's column, null if there are no more rows in the result set, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | constructor_args now accepts [] for constructors with 0 parameters; previously an exception was thrown.

Örnekler

Örnek 1 mysqli_result::fetch_object() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* fetch object array */
while ($obj = $result->fetch_object()) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($link, $query);

/* fetch associative array */
while ($obj = mysqli_fetch_object($result)) {
printf("%s (%s)\n", $obj->Name, $obj->CountryCode);
}

The above examples will output something similar to:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ayrıca Bakınız

  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
  • mysqli_fetch_column() - Fetch a single column from the next row of a result set
  • mysqli_fetch_row() - Fetch the next row of a result set as an enumerated array
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Fetch the next row of a result set as an enumerated array

  • « mysqli_result::fetch_object
  • mysqli_result::$field_count »
  • PHP Manual
  • mysqli_result
  • Fetch the next row of a result set as an enumerated array

mysqli_result::fetch_row

mysqli_fetch_row

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_row -- mysqli_fetch_row — Fetch the next row of a result set as an enumerated array

Açıklama

Nesne yönelimli kullanım

public mysqli_result::fetch_row(): array|null|false

Yordamsal kullanım

mysqli_fetch_row(mysqli_result $result): array|null|false

Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or null if there are no more rows.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Returns an enumerated array representing the fetched row, null if there are no more rows in the result set, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysqli_result::fetch_row() example

Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = $mysqli->query($query);

/* fetch object array */
while ($row = $result->fetch_row()) {
printf("%s (%s)\n", $row[0], $row[1]);
}

Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

$result = mysqli_query($mysqli, $query);

/* fetch associative array */
while ($row = mysqli_fetch_row($result)) {
printf("%s (%s)\n", $row[0], $row[1]);
}

The above examples will output something similar to:

Pueblo (USA)
Arvada (USA)
Cape Coral (USA)
Green Bay (USA)
Santa Clara (USA)

Ayrıca Bakınız

  • mysqli_fetch_array() - Fetch the next row of a result set as an associative, a numeric array, or both
  • mysqli_fetch_assoc() - Fetch the next row of a result set as an associative array
  • mysqli_fetch_column() - Fetch a single column from the next row of a result set
  • mysqli_fetch_object() - Fetch the next row of a result set as an object
  • mysqli_query() - Performs a query on the database
  • mysqli_data_seek() - Adjusts the result pointer to an arbitrary row in the result


Gets the number of fields in the result set

  • « mysqli_result::fetch_row
  • mysqli_result::field_seek »
  • PHP Manual
  • mysqli_result
  • Gets the number of fields in the result set

mysqli_result::$field_count

mysqli_num_fields

(PHP 5, PHP 7, PHP 8)

mysqli_result::$field_count -- mysqli_num_fields — Gets the number of fields in the result set

Açıklama

Nesne yönelimli kullanım

int $mysqli_result->field_count;

Yordamsal kullanım

mysqli_num_fields(mysqli_result $result): int

Returns the number of fields in the result set.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

An int representing the number of fields.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$result = $mysqli->query("SELECT Name, CountryCode, District, Population FROM City ORDER BY ID LIMIT 1");

/* Get the number of fields in the result set */
$field_cnt = $result->field_count;

printf("Result set has %d fields.\n", $field_cnt);

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$result = mysqli_query($link, "SELECT Name, CountryCode, District, Population FROM City ORDER BY ID LIMIT 1");

/* Get the number of fields in the result set */
$field_cnt = mysqli_num_fields($result);

printf("Result set has %d fields.\n", $field_cnt);

Yukarıdaki örneklerin çıktısı:

Result set has 4 fields.

Ayrıca Bakınız

  • mysqli_fetch_field() - Returns the next field in the result set


Set result pointer to a specified field offset

  • « mysqli_result::$field_count
  • mysqli_result::free »
  • PHP Manual
  • mysqli_result
  • Set result pointer to a specified field offset

mysqli_result::field_seek

mysqli_field_seek

(PHP 5, PHP 7, PHP 8)

mysqli_result::field_seek -- mysqli_field_seek — Set result pointer to a specified field offset

Açıklama

Nesne yönelimli kullanım

public mysqli_result::field_seek(int $index): bool

Yordamsal kullanım

mysqli_field_seek(mysqli_result $result, int $index): bool

Sets the field cursor to the given offset. The next call to mysqli_fetch_field() will retrieve the field definition of the column associated with that offset.

Bilginize:

To seek to the beginning of a row, pass an offset value of zero.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

index

The field number. This value must be in the range from 0 to number of fields - 1.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function now always returns true. Previously it returned false on failure.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = $mysqli->query($query)) {

/* Get field information for 2nd column */
$result->field_seek(1);
$finfo = $result->fetch_field();

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);

$result->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

if ($result = mysqli_query($link, $query)) {

/* Get field information for 2nd column */
mysqli_field_seek($result, 1);
$finfo = mysqli_fetch_field($result);

printf("Name: %s\n", $finfo->name);
printf("Table: %s\n", $finfo->table);
printf("max. Len: %d\n", $finfo->max_length);
printf("Flags: %d\n", $finfo->flags);
printf("Type: %d\n\n", $finfo->type);

mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4

Ayrıca Bakınız

  • mysqli_fetch_field() - Returns the next field in the result set


Frees the memory associated with a result

  • « mysqli_result::field_seek
  • mysqli_result::getIterator »
  • PHP Manual
  • mysqli_result
  • Frees the memory associated with a result

mysqli_result::free

mysqli_result::close

mysqli_result::free_result

mysqli_free_result

(PHP 5, PHP 7, PHP 8)

mysqli_result::free -- mysqli_result::close -- mysqli_result::free_result -- mysqli_free_result — Frees the memory associated with a result

Açıklama

Nesne yönelimli kullanım

public mysqli_result::free(): void
public mysqli_result::close(): void
public mysqli_result::free_result(): void

Yordamsal kullanım

mysqli_free_result(mysqli_result $result): void

Frees the memory associated with the result.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • mysqli_query() - Performs a query on the database
  • mysqli_stmt_get_result() - Gets a result set from a prepared statement as a mysqli_result object
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval


Retrieve an external iterator

  • « mysqli_result::free
  • mysqli_result::$lengths »
  • PHP Manual
  • mysqli_result
  • Retrieve an external iterator

mysqli_result::getIterator

(PHP 8)

mysqli_result::getIterator — Retrieve an external iterator

Açıklama

public mysqli_result::getIterator(): Iterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Returns the lengths of the columns of the current row in the result set

  • « mysqli_result::getIterator
  • mysqli_result::$num_rows »
  • PHP Manual
  • mysqli_result
  • Returns the lengths of the columns of the current row in the result set

mysqli_result::$lengths

mysqli_fetch_lengths

(PHP 5, PHP 7, PHP 8)

mysqli_result::$lengths -- mysqli_fetch_lengths — Returns the lengths of the columns of the current row in the result set

Açıklama

Nesne yönelimli kullanım

?array $mysqli_result->lengths;

Yordamsal kullanım

mysqli_fetch_lengths(mysqli_result $result): array|false

The mysqli_fetch_lengths() function returns an array containing the lengths of every column of the current row within the result set.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

An array of integers representing the size of each column (not including any terminating null characters). false if an error occurred.

mysqli_fetch_lengths() is valid only for the current row of the result set. It returns false if you call it before calling mysqli_fetch_row/array/object or after retrieving all rows in the result.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = $mysqli->query($query)) {

$row = $result->fetch_row();

/* display column lengths */
foreach ($result->lengths as $i => $val) {
printf("Field %2d has Length %2d\n", $i+1, $val);
}
$result->close();
}

/* close connection */
$mysqli->close();
?>

Örnek 2 Yordamsal kullanım

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT * from Country ORDER BY Code LIMIT 1";

if ($result = mysqli_query($link, $query)) {

$row = mysqli_fetch_row($result);

/* display column lengths */
foreach (mysqli_fetch_lengths($result) as $i => $val) {
printf("Field %2d has Length %2d\n", $i+1, $val);
}
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Yukarıdaki örneklerin çıktısı:

Field  1 has Length  3
Field  2 has Length  5
Field  3 has Length 13
Field  4 has Length  9
Field  5 has Length  6
Field  6 has Length  1
Field  7 has Length  6
Field  8 has Length  4
Field  9 has Length  6
Field 10 has Length  6
Field 11 has Length  5
Field 12 has Length 44
Field 13 has Length  7
Field 14 has Length  3
Field 15 has Length  2


Gets the number of rows in the result set

  • « mysqli_result::$lengths
  • mysqli_driver »
  • PHP Manual
  • mysqli_result
  • Gets the number of rows in the result set

mysqli_result::$num_rows

mysqli_num_rows

(PHP 5, PHP 7, PHP 8)

mysqli_result::$num_rows -- mysqli_num_rows — Gets the number of rows in the result set

Açıklama

Nesne yönelimli kullanım

int|string $mysqli_result->num_rows;

Yordamsal kullanım

mysqli_num_rows(mysqli_result $result): int|string

Returns the number of rows in the result set.

The behaviour of mysqli_num_rows() depends on whether buffered or unbuffered result sets are being used. This function returns 0 for unbuffered result sets unless all rows have been fetched from the server.

Bağımsız Değişkenler

sonuç

Sadece yordamsal tarz: mysqli_query(),
mysqli_store_result(),
mysqli_use_result() veya
mysqli_stmt_get_result() işlevinden dönen bir
mysqli_result nesnesi.

Dönen Değerler

An int representing the number of fetched rows. Returns 0 in unbuffered mode unless all rows have been fetched from the server.

Bilginize:

Satır sayısı PHP_INT_MAX'tan büyükse, sayı string türünde döndürülür.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$result = $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name");

/* Get the number of rows in the result set */
$row_cnt = $result->num_rows;

printf("Result set has %d rows.\n", $row_cnt);

Örnek 2 Yordamsal kullanım

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

$result = mysqli_query($link, "SELECT Code, Name FROM Country ORDER BY Name");

/* Get the number of rows in the result set */
$row_cnt = mysqli_num_rows($result);

printf("Result set has %d rows.\n", $row_cnt);

Yukarıdaki örneklerin çıktısı:

Result set has 239 rows.

Notlar

Bilginize:

In contrast to the mysqli_stmt_num_rows() function, this function doesn't have object-oriented method variant. In the object-oriented style, use the getter property.

Ayrıca Bakınız

  • mysqli_affected_rows() - Gets the number of affected rows in a previous MySQL operation
  • mysqli_store_result() - Transfers a result set from the last query
  • mysqli_use_result() - Initiate a result set retrieval
  • mysqli_query() - Performs a query on the database
  • mysqli_stmt_num_rows() - Returns the number of rows fetched from the server


The mysqli_driver class

(PHP 5, PHP 7, PHP 8)

Giriş

The mysqli_driver class is an instance of the monostate pattern, i.e. there is only one driver which can be accessed though an arbitrary amount of mysqli_driver instances.

Sınıf Sözdizimi

final class mysqli_driver {
/* Özellikler */
public readonly string $client_info;
public readonly int $client_version;
public readonly int $driver_version;
public int $report_mode;
}

Özellikler

client_info

The Client API header version

client_version

The Client version

driver_version

The MySQLi Driver version

Uyarı

This property has been deprecated as of PHP 8.1.0. Relying on this property is highly discouraged.

embedded

Whether MySQLi Embedded support is enabled

Uyarı

This property has been removed as of PHP 8.0.0.

reconnect

Allow or prevent reconnect (see the mysqli.reconnect INI directive)

Uyarı

This property has been removed along with the mysqli.reconnect INI directive as of PHP 8.2.0.

report_mode

Set to MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL or any combination of MYSQLI_REPORT_STRICT (throw Exceptions for errors), MYSQLI_REPORT_ERROR (report errors) and MYSQLI_REPORT_INDEX (errors regarding indexes). See also mysqli_report().

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | mysqli_driver::$reconnect was removed.
8.1.0 | mysqli_driver::$driver_version has been deprecated.
8.0.0 | mysqli_driver::$embedded was removed.
7.4.0 | mysqli_driver::embedded_server_start() and mysqli_driver:embedded_server_end() were removed.

İçindekiler

  • mysqli_driver::embedded_server_end — Stop embedded server
  • mysqli_driver::embedded_server_start — Initialize and start embedded server
  • mysqli_driver::$report_mode — Sets mysqli error reporting mode


Stop embedded server

  • « mysqli_driver
  • mysqli_driver::embedded_server_start »
  • PHP Manual
  • mysqli_driver
  • Stop embedded server

mysqli_driver::embedded_server_end

mysqli_embedded_server_end

(PHP 5 >= 5.1.0, PHP 7 < 7.4.0)

mysqli_driver::embedded_server_end -- mysqli_embedded_server_end — Stop embedded server

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

Nesne yönelimli kullanım

public mysqli_driver::embedded_server_end(): void

Yordamsal kullanım

mysqli_embedded_server_end(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Initialize and start embedded server

  • « mysqli_driver::embedded_server_end
  • mysqli_driver::$report_mode »
  • PHP Manual
  • mysqli_driver
  • Initialize and start embedded server

mysqli_driver::embedded_server_start

mysqli_embedded_server_start

(PHP 5 >= 5.1.0, PHP 7 < 7.4.0)

mysqli_driver::embedded_server_start -- mysqli_embedded_server_start — Initialize and start embedded server

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

Nesne yönelimli kullanım

public mysqli_driver::embedded_server_start(int $start, array $arguments, array $groups): bool

Yordamsal kullanım

mysqli_embedded_server_start(int $start, array $arguments, array $groups): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Sets mysqli error reporting mode

  • « mysqli_driver::embedded_server_start
  • mysqli_warning »
  • PHP Manual
  • mysqli_driver
  • Sets mysqli error reporting mode

mysqli_driver::$report_mode

mysqli_report

(PHP 5, PHP 7, PHP 8)

mysqli_driver::$report_mode -- mysqli_report — Sets mysqli error reporting mode

Açıklama

Nesne yönelimli kullanım

int $mysqli_driver->report_mode;

Yordamsal kullanım

mysqli_report(int $flags): bool

Depending on the flags, it sets mysqli error reporting mode to exception, warning or none. When set to MYSQLI_REPORT_ALL or MYSQLI_REPORT_INDEX it will also inform about queries that don't use an index (or use a bad index).

As of PHP 8.1.0, the default setting is MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT. Previously, it was MYSQLI_REPORT_OFF.

Bağımsız Değişkenler

flags

Supported flags
Name | Description
MYSQLI_REPORT_OFF | Turns reporting off
MYSQLI_REPORT_ERROR | Report errors from mysqli function calls
MYSQLI_REPORT_STRICT | Throw mysqli_sql_exception for errors instead of warnings
MYSQLI_REPORT_INDEX | Report if no index or bad index was used in a query
MYSQLI_REPORT_ALL | Set all options (report all)

Dönen Değerler

Returns true.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The default value is now MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT. Previously, it was MYSQLI_REPORT_OFF.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* activate reporting */
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL;

try {
/* if the connection fails, a mysqli_sql_exception will be thrown */
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");

/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a bad index if the column population doesn't have an index */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
error_log($e->__toString());
}

Örnek 2 Yordamsal kullanım

<?php

/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);

try {
/* if the connection fails, a mysqli_sql_exception will be thrown */
$link = mysqli_connect("localhost", "my_user", "my_password", "my_db");

/* this query should report an error */
$result = mysqli_query($link, "SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this query should report a bad index if the column population doesn't have an index */
$result = mysqli_query($link, "SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
error_log($e->__toString());
}

Örnek 3 Error reporting except bad index errors

<?php

/* activate reporting */
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try {
/* if the connection fails, a mysqli_sql_exception will be thrown */
$mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");

/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");

/* this WILL NOT report any errors even if index is not available */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
} catch (mysqli_sql_exception $e) {
error_log($e->__toString());
}

Ayrıca Bakınız

  • mysqli_sql_exception
  • set_exception_handler() - Kullanıcı tanımlı bir istisna işleyici bildirir
  • error_reporting() - Hangi PHP hatalarının raporlanacağını tanımlar


The mysqli_warning class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents a MySQL warning.

Sınıf Sözdizimi

final class mysqli_warning {
/* Özellikler */
public string $message;
public string $sqlstate;
public int $errno;
/* Yöntemler */
private __construct()
public next(): bool
}

Özellikler

message

Message string

sqlstate

SQL state

errno

Error number

İçindekiler

  • mysqli_warning::__construct — Private constructor to disallow direct instantiation
  • mysqli_warning::next — Fetch next warning


Private constructor to disallow direct instantiation

  • « mysqli_warning
  • mysqli_warning::next »
  • PHP Manual
  • mysqli_warning
  • Private constructor to disallow direct instantiation

mysqli_warning::__construct

(PHP 5, PHP 7, PHP 8)

mysqli_warning::__construct — Private constructor to disallow direct instantiation

Açıklama

private mysqli_warning::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Fetch next warning

  • « mysqli_warning::__construct
  • mysqli_sql_exception »
  • PHP Manual
  • mysqli_warning
  • Fetch next warning

mysqli_warning::next

(PHP 5, PHP 7, PHP 8)

mysqli_warning::next — Fetch next warning

Açıklama

public mysqli_warning::next(): bool

Change warning information to the next warning if possible.

Once the warning has been set to the next warning, new values of properties message, sqlstate and errno of mysqli_warning are available.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if next warning was fetched successfully. If there are no more warnings, it will return false


The mysqli_sql_exception class

(PHP 5, PHP 7, PHP 8)

Giriş

The mysqli exception handling class.

Sınıf Sözdizimi

final class mysqli_sql_exception extends RuntimeException {
/* Özellikler */
protected string $sqlstate = "00000";
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public getSqlState(): string
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

sqlstate

The sql state with the error.

İçindekiler

  • mysqli_sql_exception::getSqlState — Returns the SQLSTATE error code


Returns the SQLSTATE error code

  • « mysqli_sql_exception
  • Aliases and deprecated Mysqli İşlevleri »
  • PHP Manual
  • mysqli_sql_exception
  • Returns the SQLSTATE error code

mysqli_sql_exception::getSqlState

(PHP 8 >= 8.1.2)

mysqli_sql_exception::getSqlState — Returns the SQLSTATE error code

Açıklama

public mysqli_sql_exception::getSqlState(): string

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters. The values are specified by ANSI SQL and ODBC. For a list of possible values, see » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Bilginize:

Note that not all MySQL errors are yet mapped to SQLSTATE's. The value HY000 (general error) is used for unmapped errors.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the SQLSTATE error code for the last error. The error code consists of five characters.


Aliases and deprecated Mysqli İşlevleri

İçindekiler

  • mysqli_connect — Takma Adı: mysqli::__construct
  • mysqli::escape_string — Takma Adı: mysqli_real_escape_string
  • mysqli_execute — Takma Adı: mysqli_stmt_execute
  • mysqli_get_client_stats — Returns client per-process statistics
  • mysqli_get_links_stats — Return information about open and cached links
  • mysqli_report — Takma Adı: mysqli_driver->report_mode
  • mysqli::set_opt — Takma Adı: mysqli_options


Takma Adı: mysqli::__construct

  • « Aliases and deprecated Mysqli İşlevleri
  • mysqli::escape_string »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Takma Adı: mysqli::__construct

mysqli_connect

(PHP 5, PHP 7, PHP 8)

mysqli_connect — Takma Adı: mysqli::__construct()

Açıklama

Bu işlev şu işlevin takma adıdır: mysqli::__construct()

Bilginize:

If mysqli exception mode is not enabled and a connection fails, then mysqli_connect() returns false instead of an object. The mysqli_connect_error() function can be used to fetch the connection error.


Takma Adı: mysqli_real_escape_string

  • « mysqli_connect
  • mysqli_execute »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Takma Adı: mysqli_real_escape_string

mysqli::escape_string

mysqli_escape_string

(PHP 5, PHP 7, PHP 8)

mysqli::escape_string -- mysqli_escape_string — Takma Adı: mysqli_real_escape_string()

Açıklama

Bu işlev şu işlevin takma adıdır: mysqli_real_escape_string().


Takma Adı: mysqli_stmt_execute

  • « mysqli::escape_string
  • mysqli_get_client_stats »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Takma Adı: mysqli_stmt_execute

mysqli_execute

(PHP 5, PHP 7, PHP 8)

mysqli_execute — Takma Adı: mysqli_stmt_execute()

Açıklama

Bu işlev şu işlevin takma adıdır: mysqli_stmt_execute().

Notlar

Bilginize:

mysqli_execute() is deprecated and will be removed.

Ayrıca Bakınız

  • mysqli_stmt_execute() - Executes a prepared statement


Returns client per-process statistics

  • « mysqli_execute
  • mysqli_get_links_stats »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Returns client per-process statistics

mysqli_get_client_stats

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_get_client_stats — Returns client per-process statistics

Açıklama

mysqli_get_client_stats(): array

Returns client per-process statistics.

Bilginize:

Sadece mysqlnd ile kullanılabilir.

Bağımsız Değişkenler

Dönen Değerler

Returns an array with client stats.

Örnekler

Örnek 1 A mysqli_get_client_stats() example

<?php
$link = mysqli_connect();
print_r(mysqli_get_client_stats());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [bytes_sent] => 43
    [bytes_received] => 80
    [packets_sent] => 1
    [packets_received] => 2
    [protocol_overhead_in] => 8
    [protocol_overhead_out] => 4
    [bytes_received_ok_packet] => 11
    [bytes_received_eof_packet] => 0
    [bytes_received_rset_header_packet] => 0
    [bytes_received_rset_field_meta_packet] => 0
    [bytes_received_rset_row_packet] => 0
    [bytes_received_prepare_response_packet] => 0
    [bytes_received_change_user_packet] => 0
    [packets_sent_command] => 0
    [packets_received_ok] => 1
    [packets_received_eof] => 0
    [packets_received_rset_header] => 0
    [packets_received_rset_field_meta] => 0
    [packets_received_rset_row] => 0
    [packets_received_prepare_response] => 0
    [packets_received_change_user] => 0
    [result_set_queries] => 0
    [non_result_set_queries] => 0
    [no_index_used] => 0
    [bad_index_used] => 0
    [slow_queries] => 0
    [buffered_sets] => 0
    [unbuffered_sets] => 0
    [ps_buffered_sets] => 0
    [ps_unbuffered_sets] => 0
    [flushed_normal_sets] => 0
    [flushed_ps_sets] => 0
    [ps_prepared_never_executed] => 0
    [ps_prepared_once_executed] => 0
    [rows_fetched_from_server_normal] => 0
    [rows_fetched_from_server_ps] => 0
    [rows_buffered_from_client_normal] => 0
    [rows_buffered_from_client_ps] => 0
    [rows_fetched_from_client_normal_buffered] => 0
    [rows_fetched_from_client_normal_unbuffered] => 0
    [rows_fetched_from_client_ps_buffered] => 0
    [rows_fetched_from_client_ps_unbuffered] => 0
    [rows_fetched_from_client_ps_cursor] => 0
    [rows_skipped_normal] => 0
    [rows_skipped_ps] => 0
    [copy_on_write_saved] => 0
    [copy_on_write_performed] => 0
    [command_buffer_too_small] => 0
    [connect_success] => 1
    [connect_failure] => 0
    [connection_reused] => 0
    [reconnect] => 0
    [pconnect_success] => 0
    [active_connections] => 1
    [active_persistent_connections] => 0
    [explicit_close] => 0
    [implicit_close] => 0
    [disconnect_close] => 0
    [in_middle_of_command_close] => 0
    [explicit_free_result] => 0
    [implicit_free_result] => 0
    [explicit_stmt_close] => 0
    [implicit_stmt_close] => 0
    [mem_emalloc_count] => 0
    [mem_emalloc_ammount] => 0
    [mem_ecalloc_count] => 0
    [mem_ecalloc_ammount] => 0
    [mem_erealloc_count] => 0
    [mem_erealloc_ammount] => 0
    [mem_efree_count] => 0
    [mem_malloc_count] => 0
    [mem_malloc_ammount] => 0
    [mem_calloc_count] => 0
    [mem_calloc_ammount] => 0
    [mem_realloc_count] => 0
    [mem_realloc_ammount] => 0
    [mem_free_count] => 0
    [proto_text_fetched_null] => 0
    [proto_text_fetched_bit] => 0
    [proto_text_fetched_tinyint] => 0
    [proto_text_fetched_short] => 0
    [proto_text_fetched_int24] => 0
    [proto_text_fetched_int] => 0
    [proto_text_fetched_bigint] => 0
    [proto_text_fetched_decimal] => 0
    [proto_text_fetched_float] => 0
    [proto_text_fetched_double] => 0
    [proto_text_fetched_date] => 0
    [proto_text_fetched_year] => 0
    [proto_text_fetched_time] => 0
    [proto_text_fetched_datetime] => 0
    [proto_text_fetched_timestamp] => 0
    [proto_text_fetched_string] => 0
    [proto_text_fetched_blob] => 0
    [proto_text_fetched_enum] => 0
    [proto_text_fetched_set] => 0
    [proto_text_fetched_geometry] => 0
    [proto_text_fetched_other] => 0
    [proto_binary_fetched_null] => 0
    [proto_binary_fetched_bit] => 0
    [proto_binary_fetched_tinyint] => 0
    [proto_binary_fetched_short] => 0
    [proto_binary_fetched_int24] => 0
    [proto_binary_fetched_int] => 0
    [proto_binary_fetched_bigint] => 0
    [proto_binary_fetched_decimal] => 0
    [proto_binary_fetched_float] => 0
    [proto_binary_fetched_double] => 0
    [proto_binary_fetched_date] => 0
    [proto_binary_fetched_year] => 0
    [proto_binary_fetched_time] => 0
    [proto_binary_fetched_datetime] => 0
    [proto_binary_fetched_timestamp] => 0
    [proto_binary_fetched_string] => 0
    [proto_binary_fetched_blob] => 0
    [proto_binary_fetched_enum] => 0
    [proto_binary_fetched_set] => 0
    [proto_binary_fetched_geometry] => 0
    [proto_binary_fetched_other] => 0
)

Ayrıca Bakınız

  • Stats description


Return information about open and cached links

  • « mysqli_get_client_stats
  • mysqli_report »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Return information about open and cached links

mysqli_get_links_stats

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

mysqli_get_links_stats — Return information about open and cached links

Açıklama

mysqli_get_links_stats(): array

mysqli_get_links_stats() returns information about open and cached MySQL links.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

mysqli_get_links_stats() returns an associative array with three elements, keyed as follows:

total

An int indicating the total number of open links in any state.

active_plinks

An int representing the number of active persistent connections.

cached_plinks

An int representing the number of inactive persistent connections.


Takma Adı: mysqli_driver->report_mode

  • « mysqli_get_links_stats
  • mysqli::set_opt »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Takma Adı: mysqli_driver->report_mode

mysqli_report

(PHP 5, PHP 7, PHP 8)

mysqli_report — Takma Adı: mysqli_driver->report_mode

Açıklama

Bu işlev şu işlevin takma adıdır: mysqli_driver->report_mode


Takma Adı: mysqli_options

  • « mysqli_report
  • Sürüm Bilgisi »
  • PHP Manual
  • Aliases and deprecated Mysqli İşlevleri
  • Takma Adı: mysqli_options

mysqli::set_opt

mysqli_set_opt

(PHP 5, PHP 7, PHP 8)

mysqli::set_opt -- mysqli_set_opt — Takma Adı: mysqli_options()

Açıklama

Bu işlev şu işlevin takma adıdır: mysqli_options().


Sürüm Bilgisi

Bu eklentinin sınıf/yöntem/işlevlerinde aşağıdaki değişiklikler yapıldı.

Sürüm İşlev Açıklama


Mysql_xdevapi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Building / Compiling From Source
  • Öntanımlı Sabitler
  • Sürüm Bilgisi
  • Örnekler
  • Mysql_xdevapi İşlevleri
    • expression — Bind prepared statement variables as parameters
    • getSession — Connect to a MySQL server
  • mysql_xdevapi\BaseResult — BaseResult interface
    • BaseResult::getWarnings — Fetch warnings from last operation
    • BaseResult::getWarningsCount — Fetch warning count from last operation
  • mysql_xdevapi\Client — Client class
    • mysql_xdevapi\Client::close — Close client
    • Client::__construct — Client constructor
    • Client::getClient — Get client session
  • mysql_xdevapi\Collection — Collection class
    • Collection::add — Add collection document
    • Collection::addOrReplaceOne — Add or replace collection document
    • Collection::__construct — Collection constructor
    • Collection::count — Get document count
    • Collection::createIndex — Create collection index
    • Collection::dropIndex — Drop collection index
    • Collection::existsInDatabase — Check if collection exists in database
    • Collection::find — Search for document
    • Collection::getName — Get collection name
    • Collection::getOne — Get one document
    • Collection::getSchema — Get schema object
    • Collection::getSession — Get session object
    • Collection::modify — Modify collection documents
    • Collection::remove — Remove collection documents
    • Collection::removeOne — Remove one collection document
    • Collection::replaceOne — Replace one collection document
  • mysql_xdevapi\CollectionAdd — CollectionAdd class
    • CollectionAdd::__construct — CollectionAdd constructor
    • CollectionAdd::execute — Execute the statement
  • mysql_xdevapi\CollectionFind — CollectionFind class
    • CollectionFind::bind — Bind value to query placeholder
    • CollectionFind::__construct — CollectionFind constructor
    • CollectionFind::execute — Execute the statement
    • CollectionFind::fields — Set document field filter
    • CollectionFind::groupBy — Set grouping criteria
    • CollectionFind::having — Set condition for aggregate functions
    • CollectionFind::limit — Limit number of returned documents
    • CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK
    • CollectionFind::lockShared — Execute operation with SHARED LOCK
    • CollectionFind::offset — Skip given number of elements to be returned
    • CollectionFind::sort — Set the sorting criteria
  • mysql_xdevapi\CollectionModify — CollectionModify class
    • CollectionModify::arrayAppend — Append element to an array field
    • CollectionModify::arrayInsert — Insert element into an array field
    • CollectionModify::bind — Bind value to query placeholder
    • CollectionModify::__construct — CollectionModify constructor
    • CollectionModify::execute — Execute modify operation
    • CollectionModify::limit — Limit number of modified documents
    • CollectionModify::patch — Patch document
    • CollectionModify::replace — Replace document field
    • CollectionModify::set — Set document attribute
    • CollectionModify::skip — Skip elements
    • CollectionModify::sort — Set the sorting criteria
    • CollectionModify::unset — Unset the value of document fields
  • mysql_xdevapi\CollectionRemove — CollectionRemove class
    • CollectionRemove::bind — Bind value to placeholder
    • CollectionRemove::__construct — CollectionRemove constructor
    • CollectionRemove::execute — Execute remove operation
    • CollectionRemove::limit — Limit number of documents to remove
    • CollectionRemove::sort — Set the sorting criteria
  • mysql_xdevapi\ColumnResult — ColumnResult class
    • ColumnResult::__construct — ColumnResult constructor
    • ColumnResult::getCharacterSetName — Get character set
    • ColumnResult::getCollationName — Get collation name
    • ColumnResult::getColumnLabel — Get column label
    • ColumnResult::getColumnName — Get column name
    • ColumnResult::getFractionalDigits — Get fractional digit length
    • ColumnResult::getLength — Get column field length
    • ColumnResult::getSchemaName — Get schema name
    • ColumnResult::getTableLabel — Get table label
    • ColumnResult::getTableName — Get table name
    • ColumnResult::getType — Get column type
    • ColumnResult::isNumberSigned — Check if signed type
    • ColumnResult::isPadded — Check if padded
  • mysql_xdevapi\CrudOperationBindable — CrudOperationBindable interface
    • CrudOperationBindable::bind — Bind value to placeholder
  • mysql_xdevapi\CrudOperationLimitable — CrudOperationLimitable interface
    • CrudOperationLimitable::limit — Set result limit
  • mysql_xdevapi\CrudOperationSkippable — CrudOperationSkippable interface
    • CrudOperationSkippable::skip — Number of operations to skip
  • mysql_xdevapi\CrudOperationSortable — CrudOperationSortable interface
    • CrudOperationSortable::sort — Sort results
  • mysql_xdevapi\DatabaseObject — DatabaseObject interface
    • DatabaseObject::existsInDatabase — Check if object exists in database
    • DatabaseObject::getName — Get object name
    • DatabaseObject::getSession — Get session name
  • mysql_xdevapi\DocResult — DocResult class
    • DocResult::__construct — DocResult constructor
    • DocResult::fetchAll — Get all rows
    • DocResult::fetchOne — Get one row
    • DocResult::getWarnings — Get warnings from last operation
    • DocResult::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\Exception — Exception class
  • mysql_xdevapi\Executable — Executable interface
    • Executable::execute — Execute statement
  • mysql_xdevapi\ExecutionStatus — ExecutionStatus class
    • ExecutionStatus::__construct — ExecutionStatus constructor
  • mysql_xdevapi\Expression — Expression class
    • Expression::__construct — Expression constructor
  • mysql_xdevapi\Result — Result class
    • Result::__construct — Result constructor
    • Result::getAffectedItemsCount — Get affected row count
    • Result::getAutoIncrementValue — Get autoincremented value
    • Result::getGeneratedIds — Get generated ids
    • Result::getWarnings — Get warnings from last operation
    • Result::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\RowResult — RowResult class
    • RowResult::__construct — RowResult constructor
    • RowResult::fetchAll — Get all rows from result
    • RowResult::fetchOne — Get row from result
    • RowResult::getColumnsCount — Get column count
    • RowResult::getColumnNames — Get all column names
    • RowResult::getColumns — Get column metadata
    • RowResult::getWarnings — Get warnings from last operation
    • RowResult::getWarningsCount — Get warning count from last operation
  • mysql_xdevapi\Schema — Schema class
    • Schema::__construct — constructor
    • Schema::createCollection — Add collection to schema
    • Schema::dropCollection — Drop collection from schema
    • Schema::existsInDatabase — Check if exists in database
    • Schema::getCollection — Get collection from schema
    • Schema::getCollectionAsTable — Get collection table object
    • Schema::getCollections — Get all schema collections
    • Schema::getName — Get schema name
    • Schema::getSession — Get schema session
    • Schema::getTable — Get schema table
    • Schema::getTables — Get schema tables
  • mysql_xdevapi\SchemaObject — SchemaObject interface
    • SchemaObject::getSchema — Get schema object
  • mysql_xdevapi\Session — Session class
    • Session::close — Close session
    • Session::commit — Commit transaction
    • Session::__construct — Description constructor
    • Session::createSchema — Create new schema
    • Session::dropSchema — Drop a schema
    • Session::generateUUID — Get new UUID
    • Session::getDefaultSchema — Get default schema name
    • Session::getSchema — Get a new schema object
    • Session::getSchemas — Get the schemas
    • Session::getServerVersion — Get server version
    • Session::listClients — Get client list
    • Session::quoteName — Add quotes
    • Session::releaseSavepoint — Release set savepoint
    • Session::rollback — Rollback transaction
    • Session::rollbackTo — Rollback transaction to savepoint
    • Session::setSavepoint — Create savepoint
    • Session::sql — Execute SQL query
    • Session::startTransaction — Start transaction
  • mysql_xdevapi\SqlStatement — SqlStatement class
    • SqlStatement::bind — Bind statement parameters
    • SqlStatement::__construct — Description constructor
    • SqlStatement::execute — Execute the operation
    • SqlStatement::getNextResult — Get next result
    • SqlStatement::getResult — Get result
    • SqlStatement::hasMoreResults — Check for more results
  • mysql_xdevapi\SqlStatementResult — SqlStatementResult class
    • SqlStatementResult::__construct — Description constructor
    • SqlStatementResult::fetchAll — Get all rows from result
    • SqlStatementResult::fetchOne — Get single row
    • SqlStatementResult::getAffectedItemsCount — Get affected row count
    • SqlStatementResult::getColumnsCount — Get column count
    • SqlStatementResult::getColumnNames — Get column names
    • SqlStatementResult::getColumns — Get columns
    • SqlStatementResult::getGeneratedIds — Get generated ids
    • SqlStatementResult::getLastInsertId — Get last insert id
    • SqlStatementResult::getWarnings — Get warnings from last operation
    • SqlStatementResult::getWarningsCount — Get warning count from last operation
    • SqlStatementResult::hasData — Check if result has data
    • SqlStatementResult::nextResult — Get next result
  • mysql_xdevapi\Statement — Statement class
    • Statement::__construct — Description constructor
    • Statement::getNextResult — Get next result
    • Statement::getResult — Get result
    • Statement::hasMoreResults — Check if more results
  • mysql_xdevapi\Table — Table class
    • Table::__construct — Table constructor
    • Table::count — Get row count
    • Table::delete — Delete rows from table
    • Table::existsInDatabase — Check if table exists in database
    • Table::getName — Get table name
    • Table::getSchema — Get table schema
    • Table::getSession — Get table session
    • Table::insert — Insert table rows
    • Table::isView — Check if table is view
    • Table::select — Select rows from table
    • Table::update — Update rows in table
  • mysql_xdevapi\TableDelete — TableDelete class
    • TableDelete::bind — Bind delete query parameters
    • TableDelete::__construct — TableDelete constructor
    • TableDelete::execute — Execute delete query
    • TableDelete::limit — Limit deleted rows
    • TableDelete::orderby — Set delete sort criteria
    • TableDelete::where — Set delete search condition
  • mysql_xdevapi\TableInsert — TableInsert class
    • TableInsert::__construct — TableInsert constructor
    • TableInsert::execute — Execute insert query
    • TableInsert::values — Add insert row values
  • mysql_xdevapi\TableSelect — TableSelect class
    • TableSelect::bind — Bind select query parameters
    • TableSelect::__construct — TableSelect constructor
    • TableSelect::execute — Execute select statement
    • TableSelect::groupBy — Set select grouping criteria
    • TableSelect::having — Set select having condition
    • TableSelect::limit — Limit selected rows
    • TableSelect::lockExclusive — Execute EXCLUSIVE LOCK
    • TableSelect::lockShared — Execute SHARED LOCK
    • TableSelect::offset — Set limit offset
    • TableSelect::orderby — Set select sort criteria
    • TableSelect::where — Set select search condition
  • mysql_xdevapi\TableUpdate — TableUpdate class
    • TableUpdate::bind — Bind update query parameters
    • TableUpdate::__construct — TableUpdate constructor
    • TableUpdate::execute — Execute update query
    • TableUpdate::limit — Limit update row count
    • TableUpdate::orderby — Set sorting criteria
    • TableUpdate::set — Add field to be updated
    • TableUpdate::where — Set search filter
  • mysql_xdevapi\Warning — Warning class
    • Warning::__construct — Warning constructor


Giriş

This extension provides access to the MySQL Document Store via the X DevAPI. The X DevAPI is a common API provided by multiple MySQL Connectors providing easy access to relational tables as well as collections of documents, which are represented in JSON, from a API with CRUD-style operations.

The X DevAPI uses the X Protocol, the new generation client-server protocol of the MySQL 8.0 server.

For general information about the MySQL Document Store, please refer to the » MySQL Document Store chapter in the MySQL manual.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması
  • Building / Compiling From Source


Gereksinimler

This extension requires a MySQL 8+ server with the X plugin enabled (default).

Prerequisite libraries for compiling this extension are: Boost (1.53.0 or higher), OpenSSL, and Protobuf.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

An example installation procedure on Ubuntu 18.04 with PHP 7.2:

// Dependencies
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler liblz4-tool zstd

// PHP with the desired extensions; php7.2-dev is required to compile
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml

// Compile the extension
$ pecl install mysql_xdevapi

The pecl install command does not enable PHP extensions (by default) and enabling PHP extensions can be done in several ways. Another PHP 7.2 on Ubuntu 18.04 example:

// Create its own ini file
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini

// Use the 'phpenmod' command (note: it's Debian/Ubuntu specific)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi

// A 'phpenmod' alternative is to manually symlink it
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini

// Let's see which MySQL extensions are enabled now
$ php -m |grep mysql

mysql_xdevapi
mysqli
mysqlnd
pdo_mysql

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/mysql_xdevapi.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Mysql_xdevapi Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
xmysqlnd.collect_memory_statistics | 0 | PHP_INI_SYSTEM |
xmysqlnd.collect_statistics | 1 | PHP_INI_ALL |
xmysqlnd.debug |  | PHP_INI_SYSTEM |
xmysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
xmysqlnd.net_read_timeout | 31536000 | PHP_INI_SYSTEM |
xmysqlnd.trace_alloc |  | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

xmysqlnd.collect_memory_statistics int

xmysqlnd.collect_statistics int

xmysqlnd.debug string

xmysqlnd.mempool_default_size int

xmysqlnd.net_read_timeout int

xmysqlnd.trace_alloc string


Building / Compiling From Source

Considerations for compiling this extension from source.

  • The extension name is 'mysql_xdevapi', so use --enable-mysql-xdevapi.

  • Boost: required, optionally use the --with-boost=DIR configure option or set the MYSQL_XDEVAPI_BOOST_ROOT environment variable. Only the boost header files are required; not the binaries.

  • Google Protocol Buffers (protobuf): required, optionally use the --with-protobuf=DIR configure option or set the MYSQL_XDEVAPI_PROTOBUF_ROOT environment variable.

    Optionally use make protobufs to generate protobuf files (*.pb.cc/.h), and make clean-protobufs to delete generate protobuf files.

    Windows specific protobuf note: depending on your environment, the static library with a multi-threaded DLL runtime may be needed. To prepare, use the following options: -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF

  • Google Protocol Buffers / protocol compiler (protoc): required, ensure that proper 'protoc' is available in the PATH while building. It is especially important as Windows PHP SDK batch scripts may overwrite the environment.

  • Bison: required, and available from the PATH.

    Windows specific bison note: we strongly recommended that bison delivered with the chosen PHP SDKis used else an error similar to "zend_globals_macros.h(39): error C2375: 'zendparse': redefinition; different linkage Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'" may be the result. Also, Windows PHP SDK batch scripts may overwrite the environment.

  • Windows Specific Notes: To prepare the environment, see the official Windows build documentation for » the current SDK.

    We recommend using the backslash '\\' instead of a slash '/' for all paths.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MYSQLX_CLIENT_SSL (int)
MYSQLX_TYPE_DECIMAL (int)
MYSQLX_TYPE_TINY (int)
MYSQLX_TYPE_SHORT (int)
MYSQLX_TYPE_SMALLINT (int)
MYSQLX_TYPE_MEDIUMINT (int)
MYSQLX_TYPE_INT (int)
MYSQLX_TYPE_BIGINT (int)
MYSQLX_TYPE_LONG (int)
MYSQLX_TYPE_FLOAT (int)
MYSQLX_TYPE_DOUBLE (int)
MYSQLX_TYPE_NULL (int)
MYSQLX_TYPE_TIMESTAMP (int)
MYSQLX_TYPE_LONGLONG (int)
MYSQLX_TYPE_INT24 (int)
MYSQLX_TYPE_DATE (int)
MYSQLX_TYPE_TIME (int)
MYSQLX_TYPE_DATETIME (int)
MYSQLX_TYPE_YEAR (int)
MYSQLX_TYPE_NEWDATE (int)
MYSQLX_TYPE_ENUM (int)
MYSQLX_TYPE_SET (int)
MYSQLX_TYPE_TINY_BLOB (int)
MYSQLX_TYPE_MEDIUM_BLOB (int)
MYSQLX_TYPE_LONG_BLOB (int)
MYSQLX_TYPE_BLOB (int)
MYSQLX_TYPE_VAR_STRING (int)
MYSQLX_TYPE_STRING (int)
MYSQLX_TYPE_CHAR (int)
MYSQLX_TYPE_BYTES (int)
MYSQLX_TYPE_INTERVAL (int)
MYSQLX_TYPE_GEOMETRY (int)
MYSQLX_TYPE_JSON (int)
MYSQLX_TYPE_NEWDECIMAL (int)
MYSQLX_TYPE_BIT (int)
MYSQLX_LOCK_DEFAULT (int)
MYSQLX_LOCK_NOWAIT (int)
MYSQLX_LOCK_SKIP_LOCKED (int)


Sürüm Bilgisi

Bu eklentinin sınıf/yöntem/işlevlerinde aşağıdaki değişiklikler yapıldı.

General Changelog for the ext/mysql_xdevapi extension

This changelog references the ext/mysql_xdevapi extension.

Global ext/mysql_xdevapi changes

Sürüm: | Açıklama
8.0.28 | Removed TLSv1 and TLSv1.1 support. The values "TLSv1", "TLSv1.0", and "TLSv1.1" are now considered invalid for the "tls-versions" connection attribute.
8.0.26 | Deprecated TLSv1 and TLSv1.1 support.


Örnekler

The central entry point to the X DevAPI is the mysql_xdevapi\getSession() function, which receives a URI to a MySQL 8.0 Server and returns a mysql_xdevap\Session object.

Örnek 1 Connecting to a MySQL Server

<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}

// ... use $session
?>

The session provides full access to the API. For a new MySQL Server installation, the first step is to create a database schema with a collection to store data:

Örnek 2 Creating a Schema and Collection on the MySQL Server

<?php
$schema = $session->createSchema("test");
$collection = $schema->createCollection("example");
?>

When storing data, typically json_encode() is used to encode the data into JSON, which can then be stored inside a collection.

The following example stores data into the collection we created earlier, and then retrieve parts of it again.

Örnek 3 Storing and Retrieving Data

<?php
$marco = [
"name" => "Marco",
"age" => 19,
"job" => "Programmer"
];
$mike = [
"name" => "Mike",
"age" => 39,
"job" => "Manager"
];

$schema = $session->getSchema("test");
$collection = $schema->getCollection("example");

$collection->add($marco, $mike)->execute();

var_dump($collection->find("name = 'Mike'")->execute()->fetchOne());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  ["_id"]=>
  string(28) "00005ad66aaf0000000000000003"
  ["age"]=>
  int(39)
  ["job"]=>
  string(7) "Manager"
  ["name"]=>
  string(4) "Mike"
}

The example demonstrates that the MySQL Server adds an extra field named _id, which serves as primary key to the document.

The example also demonstrates that retrieved data is sorted alphabetically. That specific order comes from the efficient binary storage inside the MySQL server, but it should not be relied upon. Refer to the MySQL JSON datatype documentation for details.

Optionally use PHP's iterators fetch multiple documents:

Örnek 4 Fetching and Iterating Multiple Documents

<?php
$result = $collection->find()->execute();
foreach ($result as $doc) {
echo "${doc["name"]} is a ${doc["job"]}.\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Marco is a Programmer.
Mike is a Manager.


Mysql_xdevapi İşlevleri

İçindekiler

  • expression — Bind prepared statement variables as parameters
  • getSession — Connect to a MySQL server


Bind prepared statement variables as parameters

  • « Mysql_xdevapi İşlevleri
  • getSession »
  • PHP Manual
  • Mysql_xdevapi İşlevleri
  • Bind prepared statement variables as parameters

expression

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

expression — Bind prepared statement variables as parameters

Açıklama

mysql_xdevapi\expression(string $expression): object

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

expression

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\Expression() example

<?php
$expression = mysql_xdevapi\Expression("[age,job]");

$res = $coll->find("age > 30")->fields($expression)->limit(3)->execute();
$data = $res->fetchAll();

print_r($data);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?php


Connect to a MySQL server

  • « expression
  • mysql_xdevapi\BaseResult »
  • PHP Manual
  • Mysql_xdevapi İşlevleri
  • Connect to a MySQL server

getSession

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

getSession — Connect to a MySQL server

Açıklama

mysql_xdevapi\getSession(string $uri): mysql_xdevapi\Session

Connects to the MySQL server.

Bağımsız Değişkenler

uri

The URI to the MySQL server, such as mysqlx://user:password@host.

URI format:

scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...

  • scheme: required, the connection protocol

    In mysql_xdevapi it is always 'mysqlx' (for X Protocol)

  • user: optional, the MySQL user account for authentication

  • password: optional, the MySQL user's password for authentication

  • target: required, the server instance the connection refers to:

    * TCP connection (host name, IPv4 address, or IPv6 address)

    * Unix socket path (local file path)

    * Windows named-pipe (local file path)

  • port: optional, network port of MySQL server.

    by default port for X Protocol is 33060

  • ?attribute=value: this element is optional and specifies a data dictionary that contains different options, including:

    • The auth (authentication mechanism) attribute as it relates to encrypted connections. For additional information, see » Command Options for Encrypted Connections. The following 'auth' values are supported: plain, mysql41, external, and sha256_mem.

    • The connect-timeout attribute affects the connection and not subsequent operations. It is set per connection whether on a single or multiple hosts.

      Pass in a positive integer to define the connection timeout in seconds, or pass in 0 (zero) to disable the timeout (infinite). Not defining connect-timeout uses the default value of 10.

      Related, the MYSQLX_CONNECTION_TIMEOUT (timeout in seconds) and MYSQLX_TEST_CONNECTION_TIMEOUT (used while running tests) environment variables can be set and used instead of connect-timeout in the URI. The connect-timeout URI option has precedence over these environment variables.

    • The optional compression attribute accepts these values: preferred (client negotiates with server to find a supported algorithm; connection is uncompressed if a mutually supported algorithm is not found), required (like "preferred", but connection is terminated if a mutually supported algorithm is not found), or disabled (connection is uncompressed). Defaults to preferred.

      This option was added in version 8.0.20.

    • The optional compression-algorithms attribute defines the desired compression algorithms (and their preferred usage order): zstd_stream (alias: zstd), lz4_message (alias: lz4), or deflate_stream (aliases: deflate or zlib). By default, the order used (depending on system availability) is lz4_message, zstd_stream, then deflate_stream. For example, passing in compression-algorithms=[lz4,zstd_stream] uses lz4 if it's available, otherwise zstd_stream is used. If both are unavailable then behavior depends on the compression value e.g., if compression=required then it'll fail with an error.

      This option was added in version 8.0.22.

Örnek 1 URI examples

mysqlx://foobar
mysqlx://root@localhost?socket=%2Ftmp%2Fmysqld.sock%2F
mysqlx://foo:bar@localhost:33060
mysqlx://foo:bar@localhost:33160?ssl-mode=disabled
mysqlx://foo:bar@localhost:33260?ssl-mode=required
mysqlx://foo:bar@localhost:33360?ssl-mode=required&auth=mysql41
mysqlx://foo:bar@(/path/to/socket)
mysqlx://foo:bar@(/path/to/socket)?auth=sha256_mem
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]
mysqlx://foobar?ssl-ca=(/path/to/ca.pem)&ssl-crl=(/path/to/crl.pem)
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]?ssl-mode=disabled
mysqlx://foo:bar@localhost:33160/?connect-timeout=0
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required&compression-algorithms=[lz4,zstd_stream]

For related information, see MySQL Shell's » Connecting using a URI String.

Dönen Değerler

A Session object.

Hatalar/İstisnalar

A connection failure throws an Exception.

Örnekler

Örnek 2 mysql_xdevapi\getSession() example

<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}

$schemas = $session->getSchemas();
print_r($schemas);

$mysql_version = $session->getServerVersion();
print_r($mysql_version);

var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\Schema Object
        (
            [name] => helloworld
        )
    [1] => mysql_xdevapi\Schema Object
        (
            [name] => information_schema
        )
    [2] => mysql_xdevapi\Schema Object
        (
            [name] => mysql
        )
    [3] => mysql_xdevapi\Schema Object
        (
            [name] => performance_schema
        )
    [4] => mysql_xdevapi\Schema Object
        (
            [name] => sys
        )
)

80012

array(4) {
  ["_id"]=>
  string(28) "00005ad66abf0001000400000003"
  ["age"]=>
  int(42)
  ["job"]=>
  string(7) "Butler"
  ["name"]=>
  string(4) "Alfred"
}


BaseResult interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\BaseResult {
/* Yöntemler */
abstract public getWarnings(): array
abstract public getWarningsCount(): int
}

İçindekiler

  • BaseResult::getWarnings — Fetch warnings from last operation
  • BaseResult::getWarningsCount — Fetch warning count from last operation


Fetch warnings from last operation

  • « mysql_xdevapi\BaseResult
  • BaseResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\BaseResult
  • Fetch warnings from last operation

BaseResult::getWarnings

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

BaseResult::getWarnings — Fetch warnings from last operation

Açıklama

abstract public mysql_xdevapi\BaseResult::getWarnings(): array

Fetches warnings generated by MySQL server's last operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Fetch warning count from last operation

  • « BaseResult::getWarnings
  • mysql_xdevapi\Client »
  • PHP Manual
  • mysql_xdevapi\BaseResult
  • Fetch warning count from last operation

BaseResult::getWarningsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

BaseResult::getWarningsCount — Fetch warning count from last operation

Açıklama

abstract public mysql_xdevapi\BaseResult::getWarningsCount(): int

Returns the number of warnings raised by the last operation. Specifically, these warnings are raised by the MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of warnings from the last operation.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2


Client class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Provides access to the connection pool.

Sınıf Sözdizimi

class mysql_xdevapi\Client {
/* Yöntemler */
public close(): bool
public getSession(): mysql_xdevapi\Session
}

İçindekiler

  • mysql_xdevapi\Client::close — Close client
  • Client::__construct — Client constructor
  • Client::getClient — Get client session


Close client

  • « mysql_xdevapi\Client
  • Client::__construct »
  • PHP Manual
  • mysql_xdevapi\Client
  • Close client

mysql_xdevapi\Client::close

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

mysql_xdevapi\Client::close — Close client

Açıklama

public mysql_xdevapi\Client::close(): bool

Close all client connections with the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if connections are closed.


Client constructor

  • « mysql_xdevapi\Client::close
  • Client::getClient »
  • PHP Manual
  • mysql_xdevapi\Client
  • Client constructor

Client::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Client::__construct — Client constructor

Açıklama

private mysql_xdevapi\Client::__construct()

Construct a client object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Client::__construct() example

<?php
$pooling_options = '{
"enabled": true,
"maxSize": 10,
"maxIdleTime": 3600,
"queueTimeOut": 1000
}';
$client = mysql_xdevapi\getClient($connection_uri, $pooling_options);
$session = $client->getSession();


Get client session

  • « Client::__construct
  • mysql_xdevapi\Collection »
  • PHP Manual
  • mysql_xdevapi\Client
  • Get client session

Client::getClient

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Client::getClient — Get client session

Açıklama

public mysql_xdevapi\Client::getSession(): mysql_xdevapi\Session

Get session associated with the client.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Session object.


Collection class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Collection implements mysql_xdevapi\SchemaObject {
/* Özellikler */
public $name;
/* Yöntemler */
public add(mixed $document): mysql_xdevapi\CollectionAdd
public addOrReplaceOne(string $id, string $doc): mysql_xdevapi\Result
public count(): int
public createIndex(string $index_name, string $index_desc_json): void
public dropIndex(string $index_name): bool
public existsInDatabase(): bool
public find(string $search_condition = ?): mysql_xdevapi\CollectionFind
public getName(): string
public getOne(string $id): Document
public getSchema(): Schema Object
public getSession(): Session
public modify(string $search_condition): mysql_xdevapi\CollectionModify
public remove(string $search_condition): mysql_xdevapi\CollectionRemove
public removeOne(string $id): mysql_xdevapi\Result
public replaceOne(string $id, string $doc): mysql_xdevapi\Result
}

Özellikler

name

İçindekiler

  • Collection::add — Add collection document
  • Collection::addOrReplaceOne — Add or replace collection document
  • Collection::__construct — Collection constructor
  • Collection::count — Get document count
  • Collection::createIndex — Create collection index
  • Collection::dropIndex — Drop collection index
  • Collection::existsInDatabase — Check if collection exists in database
  • Collection::find — Search for document
  • Collection::getName — Get collection name
  • Collection::getOne — Get one document
  • Collection::getSchema — Get schema object
  • Collection::getSession — Get session object
  • Collection::modify — Modify collection documents
  • Collection::remove — Remove collection documents
  • Collection::removeOne — Remove one collection document
  • Collection::replaceOne — Replace one collection document


Add collection document

  • « mysql_xdevapi\Collection
  • Collection::addOrReplaceOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Add collection document

Collection::add

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::add — Add collection document

Açıklama

public mysql_xdevapi\Collection::add(mixed $document): mysql_xdevapi\CollectionAdd

Triggers the insertion of the given document(s) into the collection, and multiple variants of this method are supported. Options include:

  1. Add a single document as a JSON string.

  2. Add a single document as an array as: [ 'field' => 'value', 'field2' => 'value2' ... ]

  3. A mix of both, and multiple documents can be added in the same operation.

Bağımsız Değişkenler

document

One or multiple documents, and this can be either JSON or an array of fields with their associated values. This cannot be an empty array.

The MySQL server automatically generates unique _id values for each document (recommended), although this can be manually added as well. This value must be unique as otherwise the add operation will fail.

Dönen Değerler

A CollectionAdd object. Use execute() to return a Result that can be used to query the number of affected items, the number warnings generated by the operation, or to fetch a list of generated IDs for the inserted documents.

Örnekler

Örnek 1 mysql_xdevapi\Collection::add() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection->add('{"name": "Fred", "age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

// Add two documents using a single JSON object
$result = $collection->add(
'{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)

Notlar

Bilginize:

A unique _id is generated by MySQL Server 8.0 or higher, as demonstrated in the example. The _id field must be manually defined if using MySQL Server 5.7.


Add or replace collection document

  • « Collection::add
  • Collection::__construct »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Add or replace collection document

Collection::addOrReplaceOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::addOrReplaceOne — Add or replace collection document

Açıklama

public mysql_xdevapi\Collection::addOrReplaceOne(string $id, string $doc): mysql_xdevapi\Result

Add a new document, or replace a document if it already exists.

Here are several scenarios for this method:

  • If neither the id or any unique key values conflict with any document in the collection, then the document is added.

  • If the id does not match any document but one or more unique key values conflict with a document in the collection, then an error is raised.

  • If id matches an existing document and no unique keys are defined for the collection, then the document is replaced.

  • If id matches an existing document, and either all unique keys in the replacement document match that same document or they don't conflict with any other documents in the collection, then the document is replaced.

  • If id matches an existing document and one or more unique keys match a different document from the collection, then an error is raised.

Bağımsız Değişkenler

id

This is the filter id. If this id or any other field that has a unique index already exists in the collection, then it will update the matching document instead.

By default, this id is automatically generated by MySQL Server when the record was added, and is referenced as a field named '_id'.

doc

This is the document to add or replace, which is a JSON string.

Dönen Değerler

A Result object.

Örnekler

Örnek 1 mysql_xdevapi\Collection::addOrReplaceOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Using add()
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

// Using addOrReplaceOne()
// Note: we're passing in a known _id value here
$result = $collection->addOrReplaceOne('00005b6b53610000000000000056', '{"name": "Fred", "age": 21, "job": "Construction"}');

?>


Collection constructor

  • « Collection::addOrReplaceOne
  • Collection::count »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Collection constructor

Collection::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::__construct — Collection constructor

Açıklama

private mysql_xdevapi\Collection::__construct()

Construct a Collection object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Collection::getOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();

// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids = $result->getGeneratedIds();
$alfreds_id = $ids[0];

// ...

print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

00005b6b536100000000000000b1

Array
(
    [_id] => 00005b6b536100000000000000b1
    [age] => 42
    [job] => Butler
    [name] => Alfred
)


Get document count

  • « Collection::__construct
  • Collection::createIndex »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get document count

Collection::count

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::count — Get document count

Açıklama

public mysql_xdevapi\Collection::count(): int

This functionality is similar to a SELECT COUNT(*) SQL operation against the MySQL server for the current schema and collection. In other words, it counts the number of documents in the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of documents in the collection.

Örnekler

Örnek 1 mysql_xdevapi\Collection::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"jobs": [
{"title":"Cat Herder","Salary":42000},
{"title":"Father","Salary":0}
],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [
{"title":"Scientist","Salary":18000},
{"title":"Mother","Salary":0}
],
"hobbies": ["Walking","Making pies"]}')
->execute();

var_dump($collection->count());
?>

Yukarıdaki örneğin çıktısı:

int(2)


Create collection index

  • « Collection::count
  • Collection::dropIndex »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Create collection index

Collection::createIndex

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::createIndex — Create collection index

Açıklama

public mysql_xdevapi\Collection::createIndex(string $index_name, string $index_desc_json): void

Creates an index on the collection.

An exception is thrown if an index with the same name already exists, or if index definition is not correctly formed.

Bağımsız Değişkenler

index_name

The name of the index that to create. This name must be a valid index name as accepted by the CREATE INDEX SQL query.

index_desc_json

Definition of the index to create. It contains an array of IndexField objects, and each object describes a single document member to include in the index, and an optional string for the type of index that might be INDEX (default) or SPATIAL.

A single IndexField description consists of the following fields:

  • field: string, the full document path to the document member or field to be indexed.

  • type: string, one of the supported SQL column types to map the field into. For numeric types, the optional UNSIGNED keyword may follow. For the TEXT type, the length to consider for indexing may be added.

  • required: bool, (optional) true if the field is required to exist in the document. Defaults to false, except for GEOJSON where it defaults to true.

  • options: integer, (optional) special option flags for use when decoding GEOJSON data.

  • srid: integer, (optional) srid value for use when decoding GEOJSON data.

It is an error to include other fields not described above in IndexDefinition or IndexField documents.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\Collection::createIndex() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// Creating a text index
$collection->createIndex(
'myindex1',
'{"fields": [{
"field": "$.name",
"type": "TEXT(25)",
"required": true}],
"unique": false}'
);

// A spatial index
$collection->createIndex(
'myindex2',
'{"fields": [{
"field": "$.home",
"type": "GEOJSON",
"required": true}],
"type": "SPATIAL"}'
);

// Index with multiple fields
$collection->createIndex(
'myindex3',
'{"fields": [
{
"field": "$.name",
"type": "TEXT(20)",
"required": true
},
{
"field": "$.age",
"type": "INTEGER"
},
{
"field": "$.job",
"type": "TEXT(30)",
"required": false
}
],
"unique": true
}'
);


Drop collection index

  • « Collection::createIndex
  • Collection::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Drop collection index

Collection::dropIndex

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::dropIndex — Drop collection index

Açıklama

public mysql_xdevapi\Collection::dropIndex(string $index_name): bool

Drop a collection index.

This operation does not yield an error if the index does not exist, but false is returned in that case.

Bağımsız Değişkenler

index_name

Name of collection index to drop.

Dönen Değerler

true if the DROP INDEX operation succeeded, otherwise false.

Örnekler

Örnek 1 mysql_xdevapi\Collection::dropIndex() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

// ...

$collection = $schema->getCollection("people");

$collection->createIndex(
'myindex',
'{"fields": [{"field": "$.name", "type": "TEXT(25)", "required": true}], "unique": false}'
);

// ...

if ($collection->dropIndex('myindex')) {
echo "An index named 'myindex' was found, and dropped.";
}
?>

Yukarıdaki örneğin çıktısı:

An index named 'myindex' was found, and dropped.


Check if collection exists in database

  • « Collection::dropIndex
  • Collection::find »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Check if collection exists in database

Collection::existsInDatabase

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::existsInDatabase — Check if collection exists in database

Açıklama

public mysql_xdevapi\Collection::existsInDatabase(): bool

Checks if the Collection object refers to a collection in the database (schema).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if collection exists in the database, else false if it does not.

A table defined with two columns (doc and _id) is considered a collection, and a third _json_schema column as of MySQL 8.0.21. Adding an additional column means existsInDatabase() will no longer see it as a collection.

Örnekler

Örnek 1 mysql_xdevapi\Collection::existsInDatabase() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

// ...

$collection = $schema->getCollection("people");

// ...

if (!$collection->existsInDatabase()) {
echo "The collection no longer exists in the database named addressbook. What happened?";
}
?>


Search for document

  • « Collection::existsInDatabase
  • Collection::getName »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Search for document

Collection::find

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::find — Search for document

Açıklama

public mysql_xdevapi\Collection::find(string $search_condition = ?): mysql_xdevapi\CollectionFind

Search a database collection for a document or set of documents. The found documents are returned as a CollectionFind object is to further modify or fetch results from.

Bağımsız Değişkenler

search_condition

Although optional, normally a condition is defined to limit the results to a subset of documents.

Multiple elements might build the condition and the syntax supports parameter binding. The expression used as search condition must be a valid SQL expression. If no search condition is provided (field empty) then find('true') is assumed.

Dönen Değerler

A CollectionFind object to verify the operation, or fetch the found documents.

Örnekler

Örnek 1 mysql_xdevapi\Collection::find() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Swimmer"}')->execute();
$collection->add('{"name": "Fred", "age": 20, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 21, "job": "Teacher"}')->execute();
$collection->add('{"name": "Suki", "age": 22, "job": "Teacher"}')->execute();

$find = $collection->find('job LIKE :job AND age > :age');
$result = $find
->bind(['job' => 'Teacher', 'age' => 20])
->sort('age DESC')
->limit(2)
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b536100000000000000a8
            [age] => 22
            [job] => Teacher
            [name] => Suki
        )
    [1] => Array
        (
            [_id] => 00005b6b536100000000000000a7
            [age] => 21
            [job] => Teacher
            [name] => Wilma
        )
)


Get collection name

  • « Collection::find
  • Collection::getOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get collection name

Collection::getName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::getName — Get collection name

Açıklama

public mysql_xdevapi\Collection::getName(): string

Retrieve the collection's name.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The collection name, as a string.

Örnekler

Örnek 1 mysql_xdevapi\Collection::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// ...

var_dump($collection->getName());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(6) "people"


Get one document

  • « Collection::getName
  • Collection::getSchema »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get one document

Collection::getOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::getOne — Get one document

Açıklama

public mysql_xdevapi\Collection::getOne(string $id): Document

Fetches one document from the collection.

This is a shortcut for: Collection.find("_id = :id").bind("id", id).execute().fetchOne();

Bağımsız Değişkenler

id

The document _id in the collection.

Dönen Değerler

The collection object, or null if the _id does not match a document.

Örnekler

Örnek 1 mysql_xdevapi\Collection::getOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();

// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids = $result->getGeneratedIds();
$alfreds_id = $ids[0];

// ...

print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

00005b6b536100000000000000b1

Array
(
    [_id] => 00005b6b536100000000000000b1
    [age] => 42
    [job] => Butler
    [name] => Alfred
)


Get schema object

  • « Collection::getOne
  • Collection::getSession »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get schema object

Collection::getSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::getSchema — Get schema object

Açıklama

public mysql_xdevapi\Collection::getSchema(): Schema Object

Retrieve the schema object that contains the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The schema object on success, or null if the object cannot be retrieved for the given collection.

Örnekler

Örnek 1 mysql_xdevapi\Collection::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

var_dump($collection->getSchema());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}


Get session object

  • « Collection::getSchema
  • Collection::modify »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Get session object

Collection::getSession

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::getSession — Get session object

Açıklama

public mysql_xdevapi\Collection::getSession(): Session

Get a new Session object from the Collection object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Session object.

Örnekler

Örnek 1 mysql_xdevapi\Collection::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

// ...

$newsession = $collection->getSession();

var_dump($session);
var_dump($newsession);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Session)#1 (0) {
}
object(mysql_xdevapi\Session)#4 (0) {
}


Modify collection documents

  • « Collection::getSession
  • Collection::remove »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Modify collection documents

Collection::modify

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::modify — Modify collection documents

Açıklama

public mysql_xdevapi\Collection::modify(string $search_condition): mysql_xdevapi\CollectionModify

Modify collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.

Bağımsız Değişkenler

search_condition

Must be a valid SQL expression used to match the documents to modify. This expression might be as simple as true, which matches all documents, or it might use functions and operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', or '_id IN ["2","5","7","10"]'.

Dönen Değerler

If the operation is not executed, then the function will return a Modify object that can be used to add additional modify operations.

If the modify operation is executed, then the returned object will contain the result of the operation.

Örnekler

Örnek 1 mysql_xdevapi\Collection::modify() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Painter"}')->execute();

// Add two new jobs for all Painters: Artist and Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->arrayAppend('job', 'Artist')
->arrayAppend('job', 'Crafter')
->execute();

// Remove the 'beer' field from all documents with the age 21
$collection
->modify('age < 21')
->unset(['beer'])
->execute();
?>


Remove collection documents

  • « Collection::modify
  • Collection::removeOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Remove collection documents

Collection::remove

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::remove — Remove collection documents

Açıklama

public mysql_xdevapi\Collection::remove(string $search_condition): mysql_xdevapi\CollectionRemove

Remove collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.

Bağımsız Değişkenler

search_condition

Must be a valid SQL expression used to match the documents to modify. This expression might be as simple as true, which matches all documents, or it might use functions and operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', or '_id IN ["2","5","7","10"]'.

Dönen Değerler

If the operation is not executed, then the function will return a Remove object that can be used to add additional remove operations.

If the remove operation is executed, then the returned object will contain the result of the operation.

Örnekler

Örnek 1 mysql_xdevapi\Collection::remove() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Painter"}')->execute();

// Remove all painters
$collection
->remove("job in ('Painter')")
->execute();

// Remove the oldest butler
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();

// Remove record with lowest age
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute();
?>


Remove one collection document

  • « Collection::remove
  • Collection::replaceOne »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Remove one collection document

Collection::removeOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::removeOne — Remove one collection document

Açıklama

public mysql_xdevapi\Collection::removeOne(string $id): mysql_xdevapi\Result

Remove one document from the collection with the correspending ID. This is a shortcut for Collection.remove("_id = :id").bind("id", id).execute().

Bağımsız Değişkenler

id

The ID of the collection document to remove. Typically this is the _id that was generated by MySQL Server when the record was added.

Dönen Değerler

A Result object that can be used to query the number of affected items or the number warnings generated by the operation.

Örnekler

Örnek 1 mysql_xdevapi\Collection::removeOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();

// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids = $result->getGeneratedIds();
$alfred_id = $ids[0];

$result = $collection->removeOne($alfred_id);

if(!$result->getAffectedItemsCount()) {
echo "Alfred with id $alfred_id was not removed.";
} else {
echo "Goodbye, Alfred, you can take _id $alfred_id with you.";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Goodbye, Alfred, you can take _id 00005b6b536100000000000000cb with you.


Replace one collection document

  • « Collection::removeOne
  • mysql_xdevapi\CollectionAdd »
  • PHP Manual
  • mysql_xdevapi\Collection
  • Replace one collection document

Collection::replaceOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Collection::replaceOne — Replace one collection document

Açıklama

public mysql_xdevapi\Collection::replaceOne(string $id, string $doc): mysql_xdevapi\Result

Updates (or replaces) the document identified by ID, if it exists.

Bağımsız Değişkenler

id

ID of the document to replace or update. Typically this is the _id that was generated by MySQL Server when the record was added.

doc

Collection document to update or replace the document matching the id parameter.

This document can be either a document object or a valid JSON string describing the new document.

Dönen Değerler

A Result object that can be used to query the number of affected items and the number warnings generated by the operation.

Örnekler

Örnek 1 mysql_xdevapi\Collection::replaceOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();

// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids = $result->getGeneratedIds();
$alfred_id = $ids[0];

// ...

$alfred = $collection->getOne($alfred_id);
$alfred['age'] = 81;
$alfred['job'] = 'Guru';

$collection->replaceOne($alfred_id, $alfred);

?>


CollectionAdd class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CollectionAdd implements mysql_xdevapi\Executable {
/* Yöntemler */
public execute(): mysql_xdevapi\Result
}

İçindekiler

  • CollectionAdd::__construct — CollectionAdd constructor
  • CollectionAdd::execute — Execute the statement


CollectionAdd constructor

  • « mysql_xdevapi\CollectionAdd
  • CollectionAdd::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionAdd
  • CollectionAdd constructor

CollectionAdd::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionAdd::__construct — CollectionAdd constructor

Açıklama

private mysql_xdevapi\CollectionAdd::__construct()

Use to add a document to a collection; called from a Collection object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\CollectionAdd::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection
->add('{"name": "Fred", "age": 21, "job": "Construction"}')
->execute();

$collection
->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
->execute();

// Add two documents using a single JSON object
$result = $collection
->add(
'{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')
->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)

Notlar

Bilginize:

A unique _id is generated by MySQL Server 8.0 or higher, as demonstrated in the example. The _id field must be manually defined if using MySQL Server 5.7.


Execute the statement

  • « CollectionAdd::__construct
  • mysql_xdevapi\CollectionFind »
  • PHP Manual
  • mysql_xdevapi\CollectionAdd
  • Execute the statement

CollectionAdd::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionAdd::execute — Execute the statement

Açıklama

public mysql_xdevapi\CollectionAdd::execute(): mysql_xdevapi\Result

The execute method is required to send the CRUD operation request to the MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Result object that can be used to verify the status of the operation, such as the number of affected rows.

Örnekler

Örnek 1 mysql_xdevapi\CollectionAdd::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

// Add two documents
$collection
->add('{"name": "Fred", "age": 21, "job": "Construction"}')
->execute();

$collection
->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
->execute();

// Add two documents using a single JSON object
$result = $collection
->add(
'{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')
->execute();

// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 00005b6b53610000000000000056
    [1] => 00005b6b53610000000000000057
)


CollectionFind class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CollectionFind implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSortable {
/* Yöntemler */
public bind(array $placeholder_values): mysql_xdevapi\CollectionFind
public execute(): mysql_xdevapi\DocResult
public fields(string $projection): mysql_xdevapi\CollectionFind
public groupBy(string $sort_expr): mysql_xdevapi\CollectionFind
public having(string $sort_expr): mysql_xdevapi\CollectionFind
public limit(int $rows): mysql_xdevapi\CollectionFind
public lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind
public lockShared(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind
public offset(int $position): mysql_xdevapi\CollectionFind
public sort(string $sort_expr): mysql_xdevapi\CollectionFind
}

İçindekiler

  • CollectionFind::bind — Bind value to query placeholder
  • CollectionFind::__construct — CollectionFind constructor
  • CollectionFind::execute — Execute the statement
  • CollectionFind::fields — Set document field filter
  • CollectionFind::groupBy — Set grouping criteria
  • CollectionFind::having — Set condition for aggregate functions
  • CollectionFind::limit — Limit number of returned documents
  • CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK
  • CollectionFind::lockShared — Execute operation with SHARED LOCK
  • CollectionFind::offset — Skip given number of elements to be returned
  • CollectionFind::sort — Set the sorting criteria


Bind value to query placeholder

  • « mysql_xdevapi\CollectionFind
  • CollectionFind::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Bind value to query placeholder

CollectionFind::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::bind — Bind value to query placeholder

Açıklama

public mysql_xdevapi\CollectionFind::bind(array $placeholder_values): mysql_xdevapi\CollectionFind

It allows the user to bind a parameter to the placeholder in the search condition of the find operation. The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME, NAME is the actual name of the placeholder. The bind function accepts a list of placeholders if multiple entities have to be substituted in the search condition.

Bağımsız Değişkenler

placeholder_values

Values to substitute in the search condition; multiple values are allowed and are passed as an array where "PLACEHOLDER_NAME => PLACEHOLDER_VALUE".

Dönen Değerler

A CollectionFind object, or chain with execute() to return a Result object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


CollectionFind constructor

  • « CollectionFind::bind
  • CollectionFind::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • CollectionFind constructor

CollectionFind::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::__construct — CollectionFind constructor

Açıklama

private mysql_xdevapi\CollectionFind::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 CollectionFind example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


Execute the statement

  • « CollectionFind::__construct
  • CollectionFind::fields »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute the statement

CollectionFind::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::execute — Execute the statement

Açıklama

public mysql_xdevapi\CollectionFind::execute(): mysql_xdevapi\DocResult

Execute the find operation; this functionality allows for method chaining.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A DocResult object that to either fetch results from, or to query the status of the operation.

Örnekler

Örnek 1 CollectionFind example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}


Set document field filter

  • « CollectionFind::execute
  • CollectionFind::groupBy »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set document field filter

CollectionFind::fields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::fields — Set document field filter

Açıklama

public mysql_xdevapi\CollectionFind::fields(string $projection): mysql_xdevapi\CollectionFind

Defined the columns for the query to return. If not defined then all columns are used.

Bağımsız Değişkenler

projection

Can either be a single string or an array of string, those strings are identifying the columns that have to be returned for each document that match the search condition.

Dönen Değerler

A CollectionFind object that can be used for further processing.

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::fields() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->fields('name')
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(1) {
    ["name"]=>
    string(6) "Alfred"
  }
}


Set grouping criteria

  • « CollectionFind::fields
  • CollectionFind::having »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set grouping criteria

CollectionFind::groupBy

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::groupBy — Set grouping criteria

Açıklama

public mysql_xdevapi\CollectionFind::groupBy(string $sort_expr): mysql_xdevapi\CollectionFind

This function can be used to group the result-set by one more columns, frequently this is used with aggregate functions like COUNT,MAX,MIN,SUM etc.

Bağımsız Değişkenler

sort_expr

The columns or columns that have to be used for the group operation, this can either be a single string or an array of string arguments, one for each column.

Dönen Değerler

A CollectionFind that can be used for further processing

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::groupBy() example

<?php

//Assuming $coll is a valid Collection object

//Extract all the documents from the Collection and group the results by the 'name' field
$res = $coll->find()->groupBy('name')->execute();

?>


Set condition for aggregate functions

  • « CollectionFind::groupBy
  • CollectionFind::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set condition for aggregate functions

CollectionFind::having

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::having — Set condition for aggregate functions

Açıklama

public mysql_xdevapi\CollectionFind::having(string $sort_expr): mysql_xdevapi\CollectionFind

This function can be used after the 'field' operation in order to make a selection on the documents to extract.

Bağımsız Değişkenler

sort_expr

This must be a valid SQL expression, the use of aggreate functions is allowed

Dönen Değerler

CollectionFind object that can be used for further processing

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::having() example

<?php

//Assuming $coll is a valid Collection object

//Find all the documents for which the 'age' is greather than 40,
//Only the columns 'name' and 'age' are returned in the Result object
$res = $coll->find()->fields(['name','age'])->having('age > 40')->execute();

?>


Limit number of returned documents

  • « CollectionFind::having
  • CollectionFind::lockExclusive »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Limit number of returned documents

CollectionFind::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::limit — Limit number of returned documents

Açıklama

public mysql_xdevapi\CollectionFind::limit(int $rows): mysql_xdevapi\CollectionFind

Set the maximum number of documents to return.

Bağımsız Değişkenler

rows

Maximum number of documents.

Dönen Değerler

A CollectionFind object that can be used for additional processing; chain with the execute() method to return a DocResult object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->limit(1)
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Execute operation with EXCLUSIVE LOCK

  • « CollectionFind::limit
  • CollectionFind::lockShared »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute operation with EXCLUSIVE LOCK

CollectionFind::lockExclusive

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::lockExclusive — Execute operation with EXCLUSIVE LOCK

Açıklama

public mysql_xdevapi\CollectionFind::lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind

Lock exclusively the document, other transactions are blocked from updating the document until the document is locked While the document is locked, other transactions are blocked from updating those docs, from doing SELECT ... LOCK IN SHARE MODE, or from reading the data in certain transaction isolation levels. Consistent reads ignore any locks set on the records that exist in the read view.

This feature is directly useful with the modify() command, to avoid concurrency problems. Basically, it serializes access to a row through row locking

Bağımsız Değişkenler

lock_waiting_option

Optional waiting option. By default it is MYSQLX_LOCK_DEFAULT. Valid values are these constants:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Dönen Değerler

Returns a CollectionFind object that can be used for further processing

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::lockExclusive() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
->find("age > 50")
->lockExclusive()
->execute();

// ... do an operation on the object

// Complete the transaction and unlock the document
$session->commit();
?>


Execute operation with SHARED LOCK

  • « CollectionFind::lockExclusive
  • CollectionFind::offset »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Execute operation with SHARED LOCK

CollectionFind::lockShared

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::lockShared — Execute operation with SHARED LOCK

Açıklama

public mysql_xdevapi\CollectionFind::lockShared(int $lock_waiting_option = ?): mysql_xdevapi\CollectionFind

Allows to share the documents between multiple transactions which are locking in shared mode.

Other sessions can read the rows, but cannot modify them until your transaction commits.

If any of these rows were changed by another transaction that has not yet committed,

your query waits until that transaction ends and then uses the latest values.

Bağımsız Değişkenler

lock_waiting_option

Optional waiting option. By default it is MYSQLX_LOCK_DEFAULT. Valid values are these constants:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Dönen Değerler

A CollectionFind object that can be used for further processing

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::lockShared() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$session->startTransaction();

$result = $collection
->find("age > 50")
->lockShared()
->execute();

// ... read the object in shared mode

// Complete the transaction and unlock the document
$session->commit();
?>


Skip given number of elements to be returned

  • « CollectionFind::lockShared
  • CollectionFind::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Skip given number of elements to be returned

CollectionFind::offset

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::offset — Skip given number of elements to be returned

Açıklama

public mysql_xdevapi\CollectionFind::offset(int $position): mysql_xdevapi\CollectionFind

Skip (offset) these number of elements that otherwise would be returned by the find operation. Use with the limit() method.

Defining an offset larger than the result set size results in an empty set.

Bağımsız Değişkenler

position

Number of elements to skip for the limit() operation.

Dönen Değerler

A CollectionFind object that can be used for additional processing.

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::offset() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find()
->sort('age asc')
->offset(1)
->limit(1)
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Set the sorting criteria

  • « CollectionFind::offset
  • mysql_xdevapi\CollectionModify »
  • PHP Manual
  • mysql_xdevapi\CollectionFind
  • Set the sorting criteria

CollectionFind::sort

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionFind::sort — Set the sorting criteria

Açıklama

public mysql_xdevapi\CollectionFind::sort(string $sort_expr): mysql_xdevapi\CollectionFind

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Bağımsız Değişkenler

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Dönen Değerler

A CollectionFind object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionFind::sort() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();

// ...

$collection = $schema->getCollection("people");

$result = $collection
->find()
->sort('job desc', 'age asc')
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000106"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000107"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


CollectionModify class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CollectionModify implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSkippable, mysql_xdevapi\CrudOperationSortable {
/* Yöntemler */
public arrayAppend(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify
public arrayInsert(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify
public bind(array $placeholder_values): mysql_xdevapi\CollectionModify
public execute(): mysql_xdevapi\Result
public limit(int $rows): mysql_xdevapi\CollectionModify
public patch(string $document): mysql_xdevapi\CollectionModify
public replace(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify
public set(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify
public skip(int $position): mysql_xdevapi\CollectionModify
public sort(string $sort_expr): mysql_xdevapi\CollectionModify
public unset(array $fields): mysql_xdevapi\CollectionModify
}

İçindekiler

  • CollectionModify::arrayAppend — Append element to an array field
  • CollectionModify::arrayInsert — Insert element into an array field
  • CollectionModify::bind — Bind value to query placeholder
  • CollectionModify::__construct — CollectionModify constructor
  • CollectionModify::execute — Execute modify operation
  • CollectionModify::limit — Limit number of modified documents
  • CollectionModify::patch — Patch document
  • CollectionModify::replace — Replace document field
  • CollectionModify::set — Set document attribute
  • CollectionModify::skip — Skip elements
  • CollectionModify::sort — Set the sorting criteria
  • CollectionModify::unset — Unset the value of document fields


Append element to an array field

  • « mysql_xdevapi\CollectionModify
  • CollectionModify::arrayInsert »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Append element to an array field

CollectionModify::arrayAppend

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::arrayAppend — Append element to an array field

Açıklama

public mysql_xdevapi\CollectionModify::arrayAppend(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify

Add an element to a document's field, as multiple elements of a field are represented as an array. Unlike arrayInsert(), arrayAppend() always appends the new element at the end of the array, whereas arrayInsert() can define the location.

Bağımsız Değişkenler

collection_field

The identifier of the field where the new element is inserted.

expression_or_literal

The new element to insert at the end of the document field array.

Dönen Değerler

A CollectionModify object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::arrayAppend() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name in ('Bernie', 'Jane')")
->arrayAppend('traits', 'Happy')
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010c
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


Insert element into an array field

  • « CollectionModify::arrayAppend
  • CollectionModify::bind »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Insert element into an array field

CollectionModify::arrayInsert

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::arrayInsert — Insert element into an array field

Açıklama

public mysql_xdevapi\CollectionModify::arrayInsert(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify

Add an element to a document's field, as multiple elements of a field are represented as an array. Unlike arrayAppend(), arrayInsert() allows you to specify where the new element is inserted by defining which item it is after, whereas arrayAppend() always appends the new element at the end of the array.

Bağımsız Değişkenler

collection_field

Identify the item in the array that the new element is inserted after. The format of this parameter is FIELD_NAME[ INDEX ] where FIELD_NAME is the name of the document field to remove the element from, and INDEX is the INDEX of the element within the field.

The INDEX field is zero based, so the leftmost item from the array has an index of 0.

expression_or_literal

The new element to insert after FIELD_NAME[ INDEX ]

Dönen Değerler

A CollectionModify object that can be used to execute the command, or to add additional operations

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::arrayInsert() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name in ('Bernie', 'Jane')")
->arrayInsert('traits[1]', 'Happy')
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010d
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Happy
                    [2] => Brother
                    [3] => Human
                )
        )
)


Bind value to query placeholder

  • « CollectionModify::arrayInsert
  • CollectionModify::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Bind value to query placeholder

CollectionModify::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::bind — Bind value to query placeholder

Açıklama

public mysql_xdevapi\CollectionModify::bind(array $placeholder_values): mysql_xdevapi\CollectionModify

Bind a parameter to the placeholder in the search condition of the modify operation.

The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME where NAME is the name of the placeholder. The bind method accepts a list of placeholders if multiple entities have to be substituted in the search condition of the modify operation.

Bağımsız Değişkenler

placeholder_values

Placeholder values to substitute in the search condition. Multiple values are allowed and have to be passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Dönen Değerler

A CollectionModify object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->arrayAppend('traits', 'Happy')
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000110
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


CollectionModify constructor

  • « CollectionModify::bind
  • CollectionModify::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • CollectionModify constructor

CollectionModify::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::__construct — CollectionModify constructor

Açıklama

private mysql_xdevapi\CollectionModify::__construct()

Modify (update) a collection, and is instantiated by the Collection::modify() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name in ('Bernie', 'Jane')")
->arrayAppend('traits', 'Happy')
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000010c
            [name] => Bernie
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                    [3] => Happy
                )
        )
)


Execute modify operation

  • « CollectionModify::__construct
  • CollectionModify::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Execute modify operation

CollectionModify::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::execute — Execute modify operation

Açıklama

public mysql_xdevapi\CollectionModify::execute(): mysql_xdevapi\Result

The execute method is required to send the CRUD operation request to the MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Result object that can be used to verify the status of the operation, such as the number of affected rows.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::execute() example

<?php

/* ... */

?>


Limit number of modified documents

  • « CollectionModify::execute
  • CollectionModify::patch »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Limit number of modified documents

CollectionModify::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::limit — Limit number of modified documents

Açıklama

public mysql_xdevapi\CollectionModify::limit(int $rows): mysql_xdevapi\CollectionModify

Limit the number of documents modified by this operation. Optionally combine with skip() to define an offset value.

Bağımsız Değişkenler

rows

The maximum number of documents to modify.

Dönen Değerler

A CollectionModify object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Fred", "age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
$collection->add('{"name": "Betty", "age": 24, "job": "Teacher"}')->execute();

$collection
->modify("job = :job")
->bind(['job' => 'Teacher'])
->set('job', 'Principal')
->limit(1)
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000118
            [age] => 21
            [job] => Construction
            [name] => Fred
        )
    [1] => Array
        (
            [_id] => 00005b6b53610000000000000119
            [age] => 23
            [job] => Principal
            [name] => Wilma
        )
    [2] => Array
        (
            [_id] => 00005b6b5361000000000000011a
            [age] => 24
            [job] => Teacher
            [name] => Betty
        )
)


Patch document

  • « CollectionModify::limit
  • CollectionModify::replace »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Patch document

CollectionModify::patch

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::patch — Patch document

Açıklama

public mysql_xdevapi\CollectionModify::patch(string $document): mysql_xdevapi\CollectionModify

Takes a patch object and applies it on one or more documents, and can update multiple document properties.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

document

A document with the properties to apply to the matching documents.

Dönen Değerler

A CollectionModify object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::patch() example

<?php

$res = $coll->modify('"Programmatore" IN job')->patch('{"Hobby" : "Programmare"}')->execute();

?>


Replace document field

  • « CollectionModify::patch
  • CollectionModify::set »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Replace document field

CollectionModify::replace

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::replace — Replace document field

Açıklama

public mysql_xdevapi\CollectionModify::replace(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify

Replace (update) a given field value with a new one.

Bağımsız Değişkenler

collection_field

The document path of the item to set.

expression_or_literal

The value to set on the specified attribute.

Dönen Değerler

A CollectionModify object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::replace() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->replace("name", "Bern")
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000011b
            [name] => Bern
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                )
        )
)


Set document attribute

  • « CollectionModify::replace
  • CollectionModify::skip »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Set document attribute

CollectionModify::set

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::set — Set document attribute

Açıklama

public mysql_xdevapi\CollectionModify::set(string $collection_field, string $expression_or_literal): mysql_xdevapi\CollectionModify

Sets or updates attributes on documents in a collection.

Bağımsız Değişkenler

collection_field

The document path (name) of the item to set.

expression_or_literal

The value to set it to.

Dönen Değerler

A CollectionModify object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::set() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$result = $collection
->add(
'{"name": "Bernie",
"traits": ["Friend", "Brother", "Human"]}')
->execute();

$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->set("name", "Bern")
->execute();

$result = $collection
->find()
->execute();

print_r($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [_id] => 00005b6b53610000000000000111
            [name] => Bern
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                )
        )
)


Skip elements

  • « CollectionModify::set
  • CollectionModify::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Skip elements

CollectionModify::skip

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::skip — Skip elements

Açıklama

public mysql_xdevapi\CollectionModify::skip(int $position): mysql_xdevapi\CollectionModify

Skip the first N elements that would otherwise be returned by a find operation. If the number of elements skipped is larger than the size of the result set, then the find operation returns an empty set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

position

Number of elements to skip.

Dönen Değerler

A CollectionModify object to use for further processing.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::skip() example

<?php

$coll->modify('age > :age')->sort('age desc')->unset(['age'])->bind(['age' => 20])->limit(4)->skip(1)->execute();

?>


Set the sorting criteria

  • « CollectionModify::skip
  • CollectionModify::unset »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Set the sorting criteria

CollectionModify::sort

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::sort — Set the sorting criteria

Açıklama

public mysql_xdevapi\CollectionModify::sort(string $sort_expr): mysql_xdevapi\CollectionModify

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sort_expr

One or more sorting expression can be provided, the evaluation of these will be from the leftmost to the rightmost, each expression must be separated by a comma.

Dönen Değerler

CollectionModify object that can be used for further processing.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::sort() example

<?php

$res = $coll->modify('true')->sort('name desc', 'age asc')->limit(4)->set('Married', 'NO')->execute();

?>


Unset the value of document fields

  • « CollectionModify::sort
  • mysql_xdevapi\CollectionRemove »
  • PHP Manual
  • mysql_xdevapi\CollectionModify
  • Unset the value of document fields

CollectionModify::unset

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionModify::unset — Unset the value of document fields

Açıklama

public mysql_xdevapi\CollectionModify::unset(array $fields): mysql_xdevapi\CollectionModify

Removes attributes from documents in a collection.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

fields

The attributes to remove from documents in a collection.

Dönen Değerler

CollectionModify object that can be used for further processing.

Örnekler

Örnek 1 mysql_xdevapi\CollectionModify::unset() example

<?php

$res = $coll->modify('job like :job_name')->unset(["age", "name"])->bind(['job_name' => 'Plumber'])->execute();

?>


CollectionRemove class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CollectionRemove implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSortable {
/* Yöntemler */
public bind(array $placeholder_values): mysql_xdevapi\CollectionRemove
public execute(): mysql_xdevapi\Result
public limit(int $rows): mysql_xdevapi\CollectionRemove
public sort(string $sort_expr): mysql_xdevapi\CollectionRemove
}

İçindekiler

  • CollectionRemove::bind — Bind value to placeholder
  • CollectionRemove::__construct — CollectionRemove constructor
  • CollectionRemove::execute — Execute remove operation
  • CollectionRemove::limit — Limit number of documents to remove
  • CollectionRemove::sort — Set the sorting criteria


Bind value to placeholder

  • « mysql_xdevapi\CollectionRemove
  • CollectionRemove::__construct »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Bind value to placeholder

CollectionRemove::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionRemove::bind — Bind value to placeholder

Açıklama

public mysql_xdevapi\CollectionRemove::bind(array $placeholder_values): mysql_xdevapi\CollectionRemove

Bind a parameter to the placeholder in the search condition of the remove operation.

The placeholder has the form of :NAME where ':' is a common prefix that must always exists before any NAME where NAME is the name of the placeholder. The bind method accepts a list of placeholders if multiple entities have to be substituted in the search condition of the remove operation.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

placeholder_values

Placeholder values to substitute in the search condition. Multiple values are allowed and have to be passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Dönen Değerler

A CollectionRemove object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionRemove::bind() example

<?php

$res = $coll->remove('age > :age_from and age < :age_to')->bind(['age_from' => 20, 'age_to' => 50])->limit(7)->execute();

?>


CollectionRemove constructor

  • « CollectionRemove::bind
  • CollectionRemove::execute »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • CollectionRemove constructor

CollectionRemove::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionRemove::__construct — CollectionRemove constructor

Açıklama

private mysql_xdevapi\CollectionRemove::__construct()

Remove collection documents, and is instantiated by the Collection::remove() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Collection::remove() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");

$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Painter"}')->execute();

// Remove all painters
$collection
->remove("job in ('Painter')")
->execute();

// Remove the oldest butler
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();

// Remove record with lowest age
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute();
?>


Execute remove operation

  • « CollectionRemove::__construct
  • CollectionRemove::limit »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Execute remove operation

CollectionRemove::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionRemove::execute — Execute remove operation

Açıklama

public mysql_xdevapi\CollectionRemove::execute(): mysql_xdevapi\Result

The execute function needs to be invoked in order to trigger the client to send the CRUD operation request to the server.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Result object.

Örnekler

Örnek 1 mysql_xdevapi\CollectionRemove::execute() example

<?php

$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();

?>


Limit number of documents to remove

  • « CollectionRemove::execute
  • CollectionRemove::sort »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Limit number of documents to remove

CollectionRemove::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionRemove::limit — Limit number of documents to remove

Açıklama

public mysql_xdevapi\CollectionRemove::limit(int $rows): mysql_xdevapi\CollectionRemove

Sets the maximum number of documents to remove.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

rows

The maximum number of documents to remove.

Dönen Değerler

Returns a CollectionRemove object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionRemove::limit() example

<?php

$res = $coll->remove('job in (\'Barista\', \'Programmatore\', \'Ballerino\', \'Programmatrice\')')->limit(5)->sort(['age desc', 'name asc'])->execute();

?>


Set the sorting criteria

  • « CollectionRemove::limit
  • mysql_xdevapi\ColumnResult »
  • PHP Manual
  • mysql_xdevapi\CollectionRemove
  • Set the sorting criteria

CollectionRemove::sort

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CollectionRemove::sort — Set the sorting criteria

Açıklama

public mysql_xdevapi\CollectionRemove::sort(string $sort_expr): mysql_xdevapi\CollectionRemove

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Dönen Değerler

A CollectionRemove object that can be used to execute the command, or to add additional operations.

Örnekler

Örnek 1 mysql_xdevapi\CollectionRemove::sort() example

<?php

$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();

?>


ColumnResult class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\ColumnResult {
/* Yöntemler */
public getCharacterSetName(): string
public getCollationName(): string
public getColumnLabel(): string
public getColumnName(): string
public getFractionalDigits(): int
public getLength(): int
public getSchemaName(): string
public getTableLabel(): string
public getTableName(): string
public getType(): int
public isNumberSigned(): int
public isPadded(): int
}

İçindekiler

  • ColumnResult::__construct — ColumnResult constructor
  • ColumnResult::getCharacterSetName — Get character set
  • ColumnResult::getCollationName — Get collation name
  • ColumnResult::getColumnLabel — Get column label
  • ColumnResult::getColumnName — Get column name
  • ColumnResult::getFractionalDigits — Get fractional digit length
  • ColumnResult::getLength — Get column field length
  • ColumnResult::getSchemaName — Get schema name
  • ColumnResult::getTableLabel — Get table label
  • ColumnResult::getTableName — Get table name
  • ColumnResult::getType — Get column type
  • ColumnResult::isNumberSigned — Check if signed type
  • ColumnResult::isPadded — Check if padded


ColumnResult constructor

  • « mysql_xdevapi\ColumnResult
  • ColumnResult::getCharacterSetName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • ColumnResult constructor

ColumnResult::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::__construct — ColumnResult constructor

Açıklama

private mysql_xdevapi\ColumnResult::__construct()

Retrieve column metadata, such as its character set; this is instantiated by the RowResult::getColumns() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS nonsense")->execute();
$session->sql("CREATE DATABASE nonsense")->execute();
$session->sql("CREATE TABLE nonsense.numbers (hello int, world float unsigned)")->execute();
$session->sql("INSERT INTO nonsense.numbers values (42, 42)")->execute();

$schema = $session->getSchema("nonsense");
$table = $schema->getTable("numbers");

$result1 = $table->select('hello','world')->execute();

// Returns an array of ColumnResult objects
$columns = $result1->getColumns();

foreach ($columns as $column) {
echo "\nColumn label " , $column->getColumnLabel();
echo " is type " , $column->getType();
echo " and is ", ($column->isNumberSigned() === 0) ? "Unsigned." : "Signed.";
}

// Alternatively
$result2 = $session->sql("SELECT * FROM nonsense.numbers")->execute();

// Returns an array of FieldMetadata objects
print_r($result2->getColumns());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Column label hello is type 19 and is Signed.
Column label world is type 4  and is Unsigned.

Array
(
    [0] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 1
            [type_name] => SINT
            [name] => hello
            [original_name] => hello
            [table] => numbers
            [original_table] => numbers
            [schema] => nonsense
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 0
            [length] => 11
            [flags] => 0
            [content_type] => 0
        )
    [1] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 6
            [type_name] => FLOAT
            [name] => world
            [original_name] => world
            [table] => numbers
            [original_table] => numbers
            [schema] => nonsense
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 31
            [length] => 12
            [flags] => 1
            [content_type] => 0
        )
)


Get character set

  • « ColumnResult::__construct
  • ColumnResult::getCollationName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get character set

ColumnResult::getCharacterSetName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getCharacterSetName — Get character set

Açıklama

public mysql_xdevapi\ColumnResult::getCharacterSetName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getCharacterSetName() example

<?php

/* ... */

?>


Get collation name

  • « ColumnResult::getCharacterSetName
  • ColumnResult::getColumnLabel »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get collation name

ColumnResult::getCollationName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getCollationName — Get collation name

Açıklama

public mysql_xdevapi\ColumnResult::getCollationName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getCollationName() example

<?php

/* ... */

?>


Get column label

  • « ColumnResult::getCollationName
  • ColumnResult::getColumnName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column label

ColumnResult::getColumnLabel

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getColumnLabel — Get column label

Açıklama

public mysql_xdevapi\ColumnResult::getColumnLabel(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getColumnLabel() example

<?php

/* ... */

?>


Get column name

  • « ColumnResult::getColumnLabel
  • ColumnResult::getFractionalDigits »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column name

ColumnResult::getColumnName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getColumnName — Get column name

Açıklama

public mysql_xdevapi\ColumnResult::getColumnName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getColumnName() example

<?php

/* ... */

?>


Get fractional digit length

  • « ColumnResult::getColumnName
  • ColumnResult::getLength »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get fractional digit length

ColumnResult::getFractionalDigits

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getFractionalDigits — Get fractional digit length

Açıklama

public mysql_xdevapi\ColumnResult::getFractionalDigits(): int

Fetch the number of fractional digits for column.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getFractionalDigits() example

<?php

/* ... */

?>


Get column field length

  • « ColumnResult::getFractionalDigits
  • ColumnResult::getSchemaName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column field length

ColumnResult::getLength

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getLength — Get column field length

Açıklama

public mysql_xdevapi\ColumnResult::getLength(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getLength() example

<?php

/* ... */

?>


Get schema name

  • « ColumnResult::getLength
  • ColumnResult::getTableLabel »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get schema name

ColumnResult::getSchemaName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getSchemaName — Get schema name

Açıklama

public mysql_xdevapi\ColumnResult::getSchemaName(): string

Fetch the schema name where the column is stored.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getSchemaName() example

<?php

/* ... */

?>


Get table label

  • « ColumnResult::getSchemaName
  • ColumnResult::getTableName »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get table label

ColumnResult::getTableLabel

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getTableLabel — Get table label

Açıklama

public mysql_xdevapi\ColumnResult::getTableLabel(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getTableLabel() example

<?php

/* ... */

?>


Get table name

  • « ColumnResult::getTableLabel
  • ColumnResult::getType »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get table name

ColumnResult::getTableName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getTableName — Get table name

Açıklama

public mysql_xdevapi\ColumnResult::getTableName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Name of the table for the column.

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getTableName() example

<?php

/* ... */

?>


Get column type

  • « ColumnResult::getTableName
  • ColumnResult::isNumberSigned »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Get column type

ColumnResult::getType

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::getType — Get column type

Açıklama

public mysql_xdevapi\ColumnResult::getType(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::getType() example

<?php

/* ... */

?>


Check if signed type

  • « ColumnResult::getType
  • ColumnResult::isPadded »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Check if signed type

ColumnResult::isNumberSigned

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::isNumberSigned — Check if signed type

Açıklama

public mysql_xdevapi\ColumnResult::isNumberSigned(): int

Retrieve a table's column information, and is instantiated by the RowResult::getColumns() method.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a given column as a signed type.

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::isNumberSigned() example

<?php

/* ... */

?>


Check if padded

  • « ColumnResult::isNumberSigned
  • mysql_xdevapi\CrudOperationBindable »
  • PHP Manual
  • mysql_xdevapi\ColumnResult
  • Check if padded

ColumnResult::isPadded

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ColumnResult::isPadded — Check if padded

Açıklama

public mysql_xdevapi\ColumnResult::isPadded(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a given column is padded.

Örnekler

Örnek 1 mysql_xdevapi\ColumnResult::isPadded() example

<?php

/* ... */

?>


CrudOperationBindable interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CrudOperationBindable {
/* Yöntemler */
abstract public bind(array $placeholder_values): mysql_xdevapi\CrudOperationBindable
}

İçindekiler

  • CrudOperationBindable::bind — Bind value to placeholder


Bind value to placeholder

  • « mysql_xdevapi\CrudOperationBindable
  • mysql_xdevapi\CrudOperationLimitable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationBindable
  • Bind value to placeholder

CrudOperationBindable::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CrudOperationBindable::bind — Bind value to placeholder

Açıklama

abstract public mysql_xdevapi\CrudOperationBindable::bind(array $placeholder_values): mysql_xdevapi\CrudOperationBindable

Binds a value to a specific placeholder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

placeholder_values

The name of the placeholders and the values to bind.

Dönen Değerler

A CrudOperationBindable object.

Örnekler

Örnek 1 mysql_xdevapi\CrudOperationBindable::bind() example

<?php

$res = $coll->modify('name like :name')->arrayInsert('job[0]', 'Calciatore')->bind(['name' => 'ENTITY'])->execute();
$res = $table->delete()->orderby('age desc')->where('age < 20 and age > 12 and name != :name')->bind(['name' => 'Tierney'])->limit(2)->execute();

?>


CrudOperationLimitable interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CrudOperationLimitable {
/* Yöntemler */
abstract public limit(int $rows): mysql_xdevapi\CrudOperationLimitable
}

İçindekiler

  • CrudOperationLimitable::limit — Set result limit


Set result limit

  • « mysql_xdevapi\CrudOperationLimitable
  • mysql_xdevapi\CrudOperationSkippable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationLimitable
  • Set result limit

CrudOperationLimitable::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CrudOperationLimitable::limit — Set result limit

Açıklama

abstract public mysql_xdevapi\CrudOperationLimitable::limit(int $rows): mysql_xdevapi\CrudOperationLimitable

Sets the maximum number of records or documents to return.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

rows

The maximum number of records or documents.

Dönen Değerler

A CrudOperationLimitable object.

Örnekler

Örnek 1 mysql_xdevapi\CrudOperationLimitable::limit() example

<?php

$res = $coll->find()->fields(['name as n','age as a','job as j'])->groupBy('j')->limit(11)->execute();
$res = $table->update()->set('age',69)->where('age > 15 and age < 22')->limit(4)->orderby(['age asc','name desc'])->execute();

?>


CrudOperationSkippable interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CrudOperationSkippable {
/* Yöntemler */
abstract public skip(int $skip): mysql_xdevapi\CrudOperationSkippable
}

İçindekiler

  • CrudOperationSkippable::skip — Number of operations to skip


Number of operations to skip

  • « mysql_xdevapi\CrudOperationSkippable
  • mysql_xdevapi\CrudOperationSortable »
  • PHP Manual
  • mysql_xdevapi\CrudOperationSkippable
  • Number of operations to skip

CrudOperationSkippable::skip

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CrudOperationSkippable::skip — Number of operations to skip

Açıklama

abstract public mysql_xdevapi\CrudOperationSkippable::skip(int $skip): mysql_xdevapi\CrudOperationSkippable

Skip this number of records in the returned operation.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

skip

Number of elements to skip.

Dönen Değerler

A CrudOperationSkippable object.

Örnekler

Örnek 1 mysql_xdevapi\CrudOperationSkippable::skip() example

<?php

$res = $coll->find('job like \'Programmatore\'')->limit(1)->skip(3)->sort('age asc')->execute();

?>


CrudOperationSortable interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\CrudOperationSortable {
/* Yöntemler */
abstract public sort(string $sort_expr): mysql_xdevapi\CrudOperationSortable
}

İçindekiler

  • CrudOperationSortable::sort — Sort results


Sort results

  • « mysql_xdevapi\CrudOperationSortable
  • mysql_xdevapi\DatabaseObject »
  • PHP Manual
  • mysql_xdevapi\CrudOperationSortable
  • Sort results

CrudOperationSortable::sort

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

CrudOperationSortable::sort — Sort results

Açıklama

abstract public mysql_xdevapi\CrudOperationSortable::sort(string $sort_expr): mysql_xdevapi\CrudOperationSortable

Sort the result set by the field selected in the sort_expr argument. The allowed orders are ASC (Ascending) or DESC (Descending). This operation is equivalent to the 'ORDER BY' SQL operation and it follows the same set of rules.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sort_expr

One or more sorting expressions can be provided. The evaluation is from left to right, and each expression is separated by a comma.

Dönen Değerler

A CrudOperationSortable object.

Örnekler

Örnek 1 mysql_xdevapi\CrudOperationSortable::sort() example

<?php

$res = $coll->find('job like \'Cavia\'')->sort('age desc', '_id desc')->execute();

?>


DatabaseObject interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\DatabaseObject {
/* Yöntemler */
abstract public existsInDatabase(): bool
abstract public getName(): string
abstract public getSession(): mysql_xdevapi\Session
}

İçindekiler

  • DatabaseObject::existsInDatabase — Check if object exists in database
  • DatabaseObject::getName — Get object name
  • DatabaseObject::getSession — Get session name


Check if object exists in database

  • « mysql_xdevapi\DatabaseObject
  • DatabaseObject::getName »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Check if object exists in database

DatabaseObject::existsInDatabase

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DatabaseObject::existsInDatabase — Check if object exists in database

Açıklama

abstract public mysql_xdevapi\DatabaseObject::existsInDatabase(): bool

Verifies if the database object refers to an object that exists in the database.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if object exists in the database, else false if it does not.

Örnekler

Örnek 1 mysql_xdevapi\DatabaseObject::existsInDatabase() example

<?php

$existInDb = $dbObj->existsInDatabase();

?>


Get object name

  • « DatabaseObject::existsInDatabase
  • DatabaseObject::getSession »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Get object name

DatabaseObject::getName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DatabaseObject::getName — Get object name

Açıklama

abstract public mysql_xdevapi\DatabaseObject::getName(): string

Fetch name of this database object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The name of this database object.

Örnekler

Örnek 1 mysql_xdevapi\DatabaseObject::getName() example

<?php

$dbObjName = $dbObj->getName();

?>


Get session name

  • « DatabaseObject::getName
  • mysql_xdevapi\DocResult »
  • PHP Manual
  • mysql_xdevapi\DatabaseObject
  • Get session name

DatabaseObject::getSession

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DatabaseObject::getSession — Get session name

Açıklama

abstract public mysql_xdevapi\DatabaseObject::getSession(): mysql_xdevapi\Session

Fetch session associated to the database object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Session object.

Örnekler

Örnek 1 mysql_xdevapi\DatabaseObject::getSession() example

<?php

$session = $dbObj->getSession();

?>


DocResult class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\DocResult implements mysql_xdevapi\BaseResult, Traversable {
/* Yöntemler */
public fetchAll(): array
public fetchOne(): array
public getWarnings(): Array
public getWarningsCount(): int
}

İçindekiler

  • DocResult::__construct — DocResult constructor
  • DocResult::fetchAll — Get all rows
  • DocResult::fetchOne — Get one row
  • DocResult::getWarnings — Get warnings from last operation
  • DocResult::getWarningsCount — Get warning count from last operation


DocResult constructor

  • « mysql_xdevapi\DocResult
  • DocResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • DocResult constructor

DocResult::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DocResult::__construct — DocResult constructor

Açıklama

private mysql_xdevapi\DocResult::__construct()

Fetch document results and warnings, and is instantiated by CollectionFind.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 A DocResult example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->limit(1)
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}


Get all rows

  • « DocResult::__construct
  • DocResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get all rows

DocResult::fetchAll

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DocResult::fetchAll — Get all rows

Açıklama

public mysql_xdevapi\DocResult::fetchAll(): array

Fetch all results from a result set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Örnekler

Örnek 1 mysql_xdevapi\DocResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();

var_dump($result->fetchAll());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {

  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000123"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }

  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000122"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }

}


Get one row

  • « DocResult::fetchAll
  • DocResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get one row

DocResult::fetchOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DocResult::fetchOne — Get one row

Açıklama

public mysql_xdevapi\DocResult::fetchOne(): array

Fetch one result from a result set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The result, as an associative array or null if no results are present.

Örnekler

Örnek 1 mysql_xdevapi\DocResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();

var_dump($result->fetchOne());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000125"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}


Get warnings from last operation

  • « DocResult::fetchOne
  • DocResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get warnings from last operation

DocResult::getWarnings

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DocResult::getWarnings — Get warnings from last operation

Açıklama

public mysql_xdevapi\DocResult::getWarnings(): Array

Fetches warnings generated by MySQL server's last operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Örnekler

Örnek 1 mysql_xdevapi\DocResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();

if (!$result->getWarningsCount()) {
echo "There was an error:\n";
print_r($result->getWarnings());
exit;
}

var_dump($result->fetchOne());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

There was an error:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Something bad and so on
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Something bad and so on
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « DocResult::getWarnings
  • mysql_xdevapi\Exception »
  • PHP Manual
  • mysql_xdevapi\DocResult
  • Get warning count from last operation

DocResult::getWarningsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DocResult::getWarningsCount — Get warning count from last operation

Açıklama

public mysql_xdevapi\DocResult::getWarningsCount(): int

Returns the number of warnings raised by the last operation. Specifically, these warnings are raised by the MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of warnings from the last operation.

Örnekler

Örnek 1 mysql_xdevapi\DocResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();

// ...

$collection = $schema->getCollection("people");

// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();

if (!$result->getWarningsCount()) {
echo "There was an error:\n";
print_r($result->getWarnings());
exit;
}

var_dump($result->fetchOne());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000135"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}


Exception class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Exception extends RuntimeException implements Throwable {
}


Executable interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Executable {
/* Yöntemler */
abstract public execute(): mysql_xdevapi\Result
}

İçindekiler

  • Executable::execute — Execute statement


Execute statement

  • « mysql_xdevapi\Executable
  • mysql_xdevapi\ExecutionStatus »
  • PHP Manual
  • mysql_xdevapi\Executable
  • Execute statement

Executable::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Executable::execute — Execute statement

Açıklama

abstract public mysql_xdevapi\Executable::execute(): mysql_xdevapi\Result

Execute the statement from either a collection operation or a table query; this functionality allows for method chaining.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

One of the Result objects, such as Result or SqlStatementResult.

Örnekler

Örnek 1 execute() examples

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$result_sql = $session->sql("CREATE DATABASE addressbook")->execute();

var_dump($result_sql);

$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("humans");

$result_collection = $collection->add(
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}');

$result_collection_executed = $result_collection->execute();

var_dump($result_collection);
var_dump($result_collection_executed);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\SqlStatementResult)#3 (0) {
}

object(mysql_xdevapi\CollectionAdd)#5 (0) {
}

object(mysql_xdevapi\Result)#7 (0) {
}


ExecutionStatus class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\ExecutionStatus {
/* Özellikler */
public $affectedItems;
public $matchedItems;
public $foundItems;
public $lastInsertId;
public $lastDocumentId;
/* Constructor */
private __construct()
}

Özellikler

affectedItems

matchedItems

foundItems

lastInsertId

lastDocumentId

İçindekiler

  • ExecutionStatus::__construct — ExecutionStatus constructor


ExecutionStatus constructor

  • « mysql_xdevapi\ExecutionStatus
  • mysql_xdevapi\Expression »
  • PHP Manual
  • mysql_xdevapi\ExecutionStatus
  • ExecutionStatus constructor

ExecutionStatus::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ExecutionStatus::__construct — ExecutionStatus constructor

Açıklama

private mysql_xdevapi\ExecutionStatus::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\ExecutionStatus::__construct() example

<?php

/* ... */

?>


Expression class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Expression {
/* Özellikler */
public $name;
/* Constructor */
public __construct(string $expression)
}

Özellikler

name

İçindekiler

  • Expression::__construct — Expression constructor


Expression constructor

  • « mysql_xdevapi\Expression
  • mysql_xdevapi\Result »
  • PHP Manual
  • mysql_xdevapi\Expression
  • Expression constructor

Expression::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Expression::__construct — Expression constructor

Açıklama

public mysql_xdevapi\Expression::__construct(string $expression)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

expression

Örnekler

Örnek 1 mysql_xdevapi\Expression::__construct() example

<?php

/* ... */

?>


Result class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Result implements mysql_xdevapi\BaseResult, Traversable {
/* Yöntemler */
public getAffectedItemsCount(): int
public getAutoIncrementValue(): int
public getGeneratedIds(): array
public getWarnings(): array
public getWarningsCount(): int
}

İçindekiler

  • Result::__construct — Result constructor
  • Result::getAffectedItemsCount — Get affected row count
  • Result::getAutoIncrementValue — Get autoincremented value
  • Result::getGeneratedIds — Get generated ids
  • Result::getWarnings — Get warnings from last operation
  • Result::getWarningsCount — Get warning count from last operation


Result constructor

  • « mysql_xdevapi\Result
  • Result::getAffectedItemsCount »
  • PHP Manual
  • mysql_xdevapi\Result
  • Result constructor

Result::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::__construct — Result constructor

Açıklama

private mysql_xdevapi\Result::__construct()

An object that retrieves generated IDs, AUTO_INCREMENT values, and warnings, for a Result set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Result::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("
CREATE TABLE addressbook.names
(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30), age INT, PRIMARY KEY (id))
")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();

$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>

Yukarıdaki örneğin çıktısı:

int(3)


Get affected row count

  • « Result::__construct
  • Result::getAutoIncrementValue »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get affected row count

Result::getAffectedItemsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::getAffectedItemsCount — Get affected row count

Açıklama

public mysql_xdevapi\Result::getAffectedItemsCount(): int

Get the number of affected rows by the previous operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number (as an integer) of affected rows.

Örnekler

Örnek 1 mysql_xdevapi\Result::getAffectedItemsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

var_dump( $res->getAffectedItemsCount() );
?>

Yukarıdaki örneğin çıktısı:

int(1)


Get autoincremented value

  • « Result::getAffectedItemsCount
  • Result::getGeneratedIds »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get autoincremented value

Result::getAutoIncrementValue

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::getAutoIncrementValue — Get autoincremented value

Açıklama

public mysql_xdevapi\Result::getAutoIncrementValue(): int

Get the last AUTO_INCREMENT value (last insert id).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last AUTO_INCREMENT value.

Örnekler

Örnek 1 mysql_xdevapi\Result::getAutoIncrementValue() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("
CREATE TABLE addressbook.names
(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30), age INT, PRIMARY KEY (id))
")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();

$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>

Yukarıdaki örneğin çıktısı:

int(3)


Get generated ids

  • « Result::getAutoIncrementValue
  • Result::getWarnings »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get generated ids

Result::getGeneratedIds

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::getGeneratedIds — Get generated ids

Açıklama

public mysql_xdevapi\Result::getGeneratedIds(): array

Fetch the generated _id values from the last operation. The unique _id field is generated by the MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of generated _id's from the last operation, or an empty array if there are none.

Örnekler

Örnek 1 mysql_xdevapi\Result::getGeneratedIds() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");

$collection = $schema->getCollection("people");

$result = $collection->add(
'{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')->execute();

$ids = $result->getGeneratedIds();
var_dump($ids);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  [0]=>
  string(28) "00005b6b53610000000000000064"
  [1]=>
  string(28) "00005b6b53610000000000000065"
}


Get warnings from last operation

  • « Result::getGeneratedIds
  • Result::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get warnings from last operation

Result::getWarnings

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::getWarnings — Get warnings from last operation

Açıklama

public mysql_xdevapi\Result::getWarnings(): array

Retrieve warnings from the last Result operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « Result::getWarnings
  • mysql_xdevapi\RowResult »
  • PHP Manual
  • mysql_xdevapi\Result
  • Get warning count from last operation

Result::getWarningsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Result::getWarningsCount — Get warning count from last operation

Açıklama

public mysql_xdevapi\Result::getWarningsCount(): int

Retrieve the number of warnings from the last Result operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of warnings generated by the last operation.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2


RowResult class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\RowResult implements mysql_xdevapi\BaseResult, Traversable {
/* Yöntemler */
public fetchAll(): array
public fetchOne(): array
public getColumnsCount(): int
public getColumnNames(): array
public getColumns(): array
public getWarnings(): array
public getWarningsCount(): int
}

İçindekiler

  • RowResult::__construct — RowResult constructor
  • RowResult::fetchAll — Get all rows from result
  • RowResult::fetchOne — Get row from result
  • RowResult::getColumnsCount — Get column count
  • RowResult::getColumnNames — Get all column names
  • RowResult::getColumns — Get column metadata
  • RowResult::getWarnings — Get warnings from last operation
  • RowResult::getWarningsCount — Get warning count from last operation


RowResult constructor

  • « mysql_xdevapi\RowResult
  • RowResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • RowResult constructor

RowResult::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::__construct — RowResult constructor

Açıklama

private mysql_xdevapi\RowResult::__construct()

Represents the result set obtained from querying the database.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$row = $table->select('name', 'age')->where('age > 18')->execute()->fetchAll();

print_r($row);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get all rows from result

  • « RowResult::__construct
  • RowResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get all rows from result

RowResult::fetchAll

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::fetchAll — Get all rows from result

Açıklama

public mysql_xdevapi\RowResult::fetchAll(): array

Fetch all the rows from the result set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get row from result

  • « RowResult::fetchAll
  • RowResult::getColumnsCount »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get row from result

RowResult::fetchOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::fetchOne — Get row from result

Açıklama

public mysql_xdevapi\RowResult::fetchOne(): array

Fetch one result from the result set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The result, as an associative array or null if no results are present.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$row = $table->select('name', 'age')->where('age < 40')->execute()->fetchOne();

print_r($row);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => Sam
    [age] => 33
)


Get column count

  • « RowResult::fetchOne
  • RowResult::getColumnNames »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get column count

RowResult::getColumnsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::getColumnsCount — Get column count

Açıklama

public mysql_xdevapi\RowResult::getColumnsCount(): int

Retrieve the column count for columns present in the result set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of columns; 0 if there are none.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.14 | Method renamed from getColumnCount() to getColumnsCount().

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getColumnsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

echo $sql->getColumnsCount();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2


Get all column names

  • « RowResult::getColumnsCount
  • RowResult::getColumns »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get all column names

RowResult::getColumnNames

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::getColumnNames — Get all column names

Açıklama

public mysql_xdevapi\RowResult::getColumnNames(): array

Retrieve column names for columns present in the result set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numerical array of table columns names, or an empty array if the result set is empty.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getColumnNames() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

$colnames = $sql->getColumnNames();

print_r($colnames);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => name
    [1] => age
)


Get column metadata

  • « RowResult::getColumnNames
  • RowResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get column metadata

RowResult::getColumns

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::getColumns — Get column metadata

Açıklama

public mysql_xdevapi\RowResult::getColumns(): array

Retrieve column metadata for columns present in the result set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of FieldMetadata objects representing the columns in the result, or an empty array if the result set is empty.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getColumns() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$sql = $session->sql("SELECT * from addressbook.names")->execute();

$cols = $sql->getColumns();

print_r($cols);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 7
            [type_name] => BYTES
            [name] => name
            [original_name] => name
            [table] => names
            [original_table] => names
            [schema] => addressbook
            [catalog] => def
            [collation] => 255
            [fractional_digits] => 0
            [length] => 65535
            [flags] => 0
            [content_type] => 0
        )
    [1] => mysql_xdevapi\FieldMetadata Object
        (
            [type] => 1
            [type_name] => SINT
            [name] => age
            [original_name] => age
            [table] => names
            [original_table] => names
            [schema] => addressbook
            [catalog] => def
            [collation] => 0
            [fractional_digits] => 0
            [length] => 11
            [flags] => 0
            [content_type] => 0
        )
)


Get warnings from last operation

  • « RowResult::getColumns
  • RowResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get warnings from last operation

RowResult::getWarnings

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::getWarnings — Get warnings from last operation

Açıklama

public mysql_xdevapi\RowResult::getWarnings(): array

Retrieve warnings from the last RowResult operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarnings() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();

print_r($warnings);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
    [1] => mysql_xdevapi\Warning Object
        (
            [message] => Division by 0
            [level] => 2
            [code] => 1365
        )
)


Get warning count from last operation

  • « RowResult::getWarnings
  • mysql_xdevapi\Schema »
  • PHP Manual
  • mysql_xdevapi\RowResult
  • Get warning count from last operation

RowResult::getWarningsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

RowResult::getWarningsCount — Get warning count from last operation

Açıklama

public mysql_xdevapi\RowResult::getWarningsCount(): int

Retrieve the number of warnings from the last RowResult operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of warnings generated by the last operation.

Örnekler

Örnek 1 mysql_xdevapi\RowResult::getWarningsCount() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();

$schema = $session->getSchema("foo");
$table = $schema->getTable("test_table");

$table->insert(['x'])->values([1])->values([2])->execute();

$res = $table->select(['x/0 as bad_x'])->execute();

echo $res->getWarningsCount();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2


Schema class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Schema implements mysql_xdevapi\DatabaseObject {
/* Özellikler */
public $name;
/* Yöntemler */
public createCollection(string $name, string $validate = ?): mysql_xdevapi\Collection
public dropCollection(string $collection_name): bool
public existsInDatabase(): bool
public getCollection(string $name): mysql_xdevapi\Collection
public getCollectionAsTable(string $name): mysql_xdevapi\Table
public getCollections(): array
public getName(): string
public getSession(): mysql_xdevapi\Session
public getTable(string $name): mysql_xdevapi\Table
public getTables(): array
}

Özellikler

name

İçindekiler

  • Schema::__construct — constructor
  • Schema::createCollection — Add collection to schema
  • Schema::dropCollection — Drop collection from schema
  • Schema::existsInDatabase — Check if exists in database
  • Schema::getCollection — Get collection from schema
  • Schema::getCollectionAsTable — Get collection table object
  • Schema::getCollections — Get all schema collections
  • Schema::getName — Get schema name
  • Schema::getSession — Get schema session
  • Schema::getTable — Get schema table
  • Schema::getTables — Get schema tables


constructor

  • « mysql_xdevapi\Schema
  • Schema::createCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • constructor

Schema::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::__construct — constructor

Açıklama

private mysql_xdevapi\Schema::__construct()

The Schema object provides full access to the schema (database).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 Schema::__construct example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

print_r($schema->gettables());
print_r($schema->getcollections());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [trees] => mysql_xdevapi\Collection Object
        (
            [name] => trees
        )
)


Add collection to schema

  • « Schema::__construct
  • Schema::dropCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Add collection to schema

Schema::createCollection

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::createCollection — Add collection to schema

Açıklama

public mysql_xdevapi\Schema::createCollection(string $name, string $validate = ?): mysql_xdevapi\Collection

Create a collection within the schema.

Bağımsız Değişkenler

name

Collection name.

validate

Validation definition, as a JSON object.

Dönen Değerler

The Collection object.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.20 | Added the optional validate parameter.

Örnekler

Örnek 1 Schema::createCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

print_r($schema->gettables());
print_r($schema->getcollections());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [trees] => mysql_xdevapi\Collection Object
        (
            [name] => trees
        )
)

Örnek 2 Schema::createCollection validate parameter example

<?php
$collection = $schema->createCollection("mycollection", '{
"validation": {
"level": "strict",
"schema": {
"id": "http://json-schema.org/geo",
"description": "A geographical coordinate",
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": ["latitude", "longitude"]
}
}
}');
// Succeeds
$collection->add('{"latitude": 10, "longitude": 20}')->execute();

// Fails, invalid types (not numbers)
$collection->add('{"latitude": "lat", "longitude": "long"}')->execute();


Drop collection from schema

  • « Schema::createCollection
  • Schema::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Drop collection from schema

Schema::dropCollection

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::dropCollection — Drop collection from schema

Açıklama

public mysql_xdevapi\Schema::dropCollection(string $collection_name): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

collection_name

Dönen Değerler

Örnekler

Örnek 1 Schema::dropCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");

$schema->createCollection("trees");
$schema->dropCollection("trees");
$schema->createCollection("buildings");

print_r($schema->gettables());
print_r($schema->getcollections());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [fruit] => mysql_xdevapi\Table Object
        (
            [name] => fruit
        )
)
Array
(
    [buildings] => mysql_xdevapi\Collection Object
        (
            [name] => buildings
        )
)


Check if exists in database

  • « Schema::dropCollection
  • Schema::getCollection »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Check if exists in database

Schema::existsInDatabase

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::existsInDatabase — Check if exists in database

Açıklama

public mysql_xdevapi\Schema::existsInDatabase(): bool

Checks if the current object (schema, table, collection, or view) exists in the schema object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the schema, table, collection, or view still exists in the schema, else false.

Örnekler

Örnek 1 Schema::existsInDatabase example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

// ...

$trees = $schema->getCollection("trees");

// ...

// Is this collection still in the database (schema)?
if ($trees->existsInDatabase()) {
echo "Yes, the 'trees' collection is still present.";
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yes, the 'trees' collection is still present.


Get collection from schema

  • « Schema::existsInDatabase
  • Schema::getCollectionAsTable »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get collection from schema

Schema::getCollection

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getCollection — Get collection from schema

Açıklama

public mysql_xdevapi\Schema::getCollection(string $name): mysql_xdevapi\Collection

Get a collection from the schema.

Bağımsız Değişkenler

name

Collection name to retrieve.

Dönen Değerler

The Collection object for the selected collection.

Örnekler

Örnek 1 Schema::getCollection example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();

$schema = $session->getSchema("food");
$schema->createCollection("trees");

// ...

$trees = $schema->getCollection("trees");

var_dump($trees);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Collection)#3 (1) {
  ["name"]=>
  string(5) "trees"
}


Get collection table object

  • « Schema::getCollection
  • Schema::getCollections »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get collection table object

Schema::getCollectionAsTable

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getCollectionAsTable — Get collection table object

Açıklama

public mysql_xdevapi\Schema::getCollectionAsTable(string $name): mysql_xdevapi\Table

Get a collection, but as a Table object instead of a Collection object.

Bağımsız Değişkenler

name

Name of the collection to instantiate a Table object from.

Dönen Değerler

A table object for the collection.

Örnekler

Örnek 1 Schema::getCollectionAsTable example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred", "age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

$table = $schema->getCollectionAsTable("people");
$collection = $schema->getCollection("people");

var_dump($table);
var_dump($collection);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Table)#4 (1) {
  ["name"]=>
  string(6) "people"
}

object(mysql_xdevapi\Collection)#5 (1) {
  ["name"]=>
  string(6) "people"
}


Get all schema collections

  • « Schema::getCollectionAsTable
  • Schema::getName »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get all schema collections

Schema::getCollections

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getCollections — Get all schema collections

Açıklama

public mysql_xdevapi\Schema::getCollections(): array

Fetch a list of collections for this schema.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of all collections in this schema, where each array element value is a Collection object with the collection name as the key.

Örnekler

Örnek 1 mysql_xdevapi\Schema::getCollections() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred", "age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

$collections = $schema->getCollections();
var_dump($collections);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  ["people"]=>
  object(mysql_xdevapi\Collection)#4 (1) {
    ["name"]=>
    string(6) "people"
  }
}


Get schema name

  • « Schema::getCollections
  • Schema::getSession »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema name

Schema::getName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getName — Get schema name

Açıklama

public mysql_xdevapi\Schema::getName(): string

Get the name of the schema.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The name of the schema connected to the schema object, as a string.

Örnekler

Örnek 1 mysql_xdevapi\Schema::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");

// ...

var_dump($schema->getName());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "addressbook"


Get schema session

  • « Schema::getName
  • Schema::getTable »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema session

Schema::getSession

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getSession — Get schema session

Açıklama

public mysql_xdevapi\Schema::getSession(): mysql_xdevapi\Session

Get a new Session object from the Schema object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Session object.

Örnekler

Örnek 1 mysql_xdevapi\Schema::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema = $session->getSchema("addressbook");

// ...

$newsession = $schema->getSession();

var_dump($session);
var_dump($newsession);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Session)#1 (0) {
}

object(mysql_xdevapi\Session)#3 (0) {
}


Get schema table

  • « Schema::getSession
  • Schema::getTables »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema table

Schema::getTable

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getTable — Get schema table

Açıklama

public mysql_xdevapi\Schema::getTable(string $name): mysql_xdevapi\Table

Fetch a Table object for the provided table in the schema.

Bağımsız Değişkenler

name

Name of the table.

Dönen Değerler

A Table object.

Örnekler

Örnek 1 mysql_xdevapi\Schema::getTable() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get schema tables

  • « Schema::getTable
  • mysql_xdevapi\SchemaObject »
  • PHP Manual
  • mysql_xdevapi\Schema
  • Get schema tables

Schema::getTables

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Schema::getTables — Get schema tables

Açıklama

public mysql_xdevapi\Schema::getTables(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of all tables in this schema, where each array element value is a Table object with the table name as the key.

Örnekler

Örnek 1 mysql_xdevapi\Schema::getTables() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$session->sql("CREATE TABLE addressbook.cities(name text, population int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Portland', 639863), ('Seattle', 704352)")->execute();

$schema = $session->getSchema("addressbook");
$tables = $schema->getTables();

var_dump($tables);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["cities"]=>
  object(mysql_xdevapi\Table)#3 (1) {
    ["name"]=>
    string(6) "cities"
  }

  ["names"]=>
  object(mysql_xdevapi\Table)#4 (1) {
    ["name"]=>
    string(5) "names"
  }
}


SchemaObject interface

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\SchemaObject implements mysql_xdevapi\DatabaseObject {
/* Yöntemler */
abstract getSchema(): mysql_xdevapi\Schema
}

İçindekiler

  • SchemaObject::getSchema — Get schema object


Get schema object

  • « mysql_xdevapi\SchemaObject
  • mysql_xdevapi\Session »
  • PHP Manual
  • mysql_xdevapi\SchemaObject
  • Get schema object

SchemaObject::getSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SchemaObject::getSchema — Get schema object

Açıklama

abstract mysql_xdevapi\SchemaObject::getSchema(): mysql_xdevapi\Schema

Used by other objects to retrieve a schema object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current Schema object.

Örnekler

Örnek 1 mysql_xdevapi\Session::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");

print_r($schema);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

mysql_xdevapi\Schema Object
(
    [name] => addressbook
)


Session class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Session {
/* Yöntemler */
public close(): bool
public commit(): Object
public createSchema(string $schema_name): mysql_xdevapi\Schema
public dropSchema(string $schema_name): bool
public generateUUID(): string
public getDefaultSchema(): string
public getSchema(string $schema_name): mysql_xdevapi\Schema
public getSchemas(): array
public getServerVersion(): int
public listClients(): array
public quoteName(string $name): string
public releaseSavepoint(string $name): void
public rollback(): void
public rollbackTo(string $name): void
public setSavepoint(string $name = ?): string
public sql(string $query): mysql_xdevapi\SqlStatement
public startTransaction(): void
}

İçindekiler

  • Session::close — Close session
  • Session::commit — Commit transaction
  • Session::__construct — Description constructor
  • Session::createSchema — Create new schema
  • Session::dropSchema — Drop a schema
  • Session::generateUUID — Get new UUID
  • Session::getDefaultSchema — Get default schema name
  • Session::getSchema — Get a new schema object
  • Session::getSchemas — Get the schemas
  • Session::getServerVersion — Get server version
  • Session::listClients — Get client list
  • Session::quoteName — Add quotes
  • Session::releaseSavepoint — Release set savepoint
  • Session::rollback — Rollback transaction
  • Session::rollbackTo — Rollback transaction to savepoint
  • Session::setSavepoint — Create savepoint
  • Session::sql — Execute SQL query
  • Session::startTransaction — Start transaction


Close session

  • « mysql_xdevapi\Session
  • Session::commit »
  • PHP Manual
  • mysql_xdevapi\Session
  • Close session

Session::close

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::close — Close session

Açıklama

public mysql_xdevapi\Session::close(): bool

Close the session with the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the session closed.

Örnekler

Örnek 1 mysql_xdevapi\Session::close() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$session->close();


Commit transaction

  • « Session::close
  • Session::__construct »
  • PHP Manual
  • mysql_xdevapi\Session
  • Commit transaction

Session::commit

(PHP 4 >= 4.4.0, PHP 5, PHP 7, PHP 8)

Session::commit — Commit transaction

Açıklama

public mysql_xdevapi\Session::commit(): Object

Commit the transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An SqlStatementResult object.

Örnekler

Örnek 1 mysql_xdevapi\Session::commit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();

$collection->add('{"John":42, "Sam":33}')->execute();
$savepoint = $session->setSavepoint();

$session->commit();
$session->close();


Description constructor

  • « Session::commit
  • Session::createSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Description constructor

Session::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::__construct — Description constructor

Açıklama

private mysql_xdevapi\Session::__construct()

A Session object, as initiated by getSession().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Session::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->close();
?>


Create new schema

  • « Session::__construct
  • Session::dropSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Create new schema

Session::createSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::createSchema — Create new schema

Açıklama

public mysql_xdevapi\Session::createSchema(string $schema_name): mysql_xdevapi\Schema

Creates a new schema.

Bağımsız Değişkenler

schema_name

Name of the schema to create.

Dönen Değerler

A Schema object on success, and emits an exception on failure.

Örnekler

Örnek 1 mysql_xdevapi\Session::createSchema() example

<?php
$uri = 'mysqlx://happyuser:password@127.0.0.1:33060/';
$sess = mysql_xdevapi\getSession($uri);

try {

if ($schema = $sess->createSchema('fruit')) {
echo "Info: I created a schema named 'fruit'\n";
}

} catch (Exception $e) {

echo $e->getMessage();

}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Info: I created a schema named 'fruit'


Drop a schema

  • « Session::createSchema
  • Session::generateUUID »
  • PHP Manual
  • mysql_xdevapi\Session
  • Drop a schema

Session::dropSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::dropSchema — Drop a schema

Açıklama

public mysql_xdevapi\Session::dropSchema(string $schema_name): bool

Drop a schema (database).

Bağımsız Değişkenler

schema_name

Name of the schema to drop.

Dönen Değerler

true if the schema is dropped, or false if it does not exist or can't be dropped.

An E_WARNING level error is generated if the schema does not exist.

Örnekler

Örnek 1 mysql_xdevapi\Session::dropSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->dropSchema("addressbook");

$session->close();
?>


Get new UUID

  • « Session::dropSchema
  • Session::getDefaultSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get new UUID

Session::generateUUID

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::generateUUID — Get new UUID

Açıklama

public mysql_xdevapi\Session::generateUUID(): string

Generate a Universal Unique IDentifier (UUID) generated according to » RFC 4122.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The UUID; a string with a length of 32.

Örnekler

Örnek 1 mysql_xdevapi\Session::generateUuid() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$uuid = $session->generateUuid();

var_dump($uuid);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(32) "484B18AC7980F8D4FE84613CDA5EE84B"


Get default schema name

  • « Session::generateUUID
  • Session::getSchema »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get default schema name

Session::getDefaultSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::getDefaultSchema — Get default schema name

Açıklama

public mysql_xdevapi\Session::getDefaultSchema(): string

Retrieve name of the default schema that's typically set in the connection URI.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Name of the default schema defined by the connection, or null if one was not set.

Örnekler

Örnek 1 mysql_xdevapi\Session::getSchema() example

<?php
$uri = "mysqlx://testuser:testpasswd@localhost:33160/testx?ssl-mode=disabled";
$session = mysql_xdevapi\getSession($uri);

$schema = $session->getDefaultSchema();
echo $schema;
?>

Yukarıdaki örneğin çıktısı:

testx


Get a new schema object

  • « Session::getDefaultSchema
  • Session::getSchemas »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get a new schema object

Session::getSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::getSchema — Get a new schema object

Açıklama

public mysql_xdevapi\Session::getSchema(string $schema_name): mysql_xdevapi\Schema

A new Schema object for the provided schema name.

Bağımsız Değişkenler

schema_name

Name of the schema (database) to fetch a Schema object for.

Dönen Değerler

A Schema object.

Örnekler

Örnek 1 mysql_xdevapi\Session::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");

print_r($schema);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

mysql_xdevapi\Schema Object
(
    [name] => addressbook
)


Get the schemas

  • « Session::getSchema
  • Session::getServerVersion »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get the schemas

Session::getSchemas

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::getSchemas — Get the schemas

Açıklama

public mysql_xdevapi\Session::getSchemas(): array

Get schema objects for all schemas available to the session.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing objects that represent all of the schemas available to the session.

Örnekler

Örnek 1 mysql_xdevapi\Session::getSchemas() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schemas = $session->getSchemas();

print_r($schemas);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => mysql_xdevapi\Schema Object
        (
            [name] => addressbook
        )
    [1] => mysql_xdevapi\Schema Object
        (
            [name] => information_schema
        )
    ...


Get server version

  • « Session::getSchemas
  • Session::listClients »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get server version

Session::getServerVersion

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::getServerVersion — Get server version

Açıklama

public mysql_xdevapi\Session::getServerVersion(): int

Retrieve the MySQL server version for the session.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The MySQL server version for the session, as an integer such as "80012".

Örnekler

Örnek 1 mysql_xdevapi\Session::getServerVersion() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$version = $session->getServerVersion();

var_dump($version);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(80012)


Get client list

  • « Session::getServerVersion
  • Session::quoteName »
  • PHP Manual
  • mysql_xdevapi\Session
  • Get client list

Session::listClients

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::listClients — Get client list

Açıklama

public mysql_xdevapi\Session::listClients(): array

Get a list of client connections to the session's MySQL server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing the currently logged clients. The array elements are "client_id", "user", "host", and "sql_session".

Örnekler

Örnek 1 mysql_xdevapi\Session::listClients() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$ids = $session->listClients();

var_dump($ids);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(4) {
    ["client_id"]=>
    int(61)
    ["user"]=>
    string(4) "root"
    ["host"]=>
    string(9) "localhost"
    ["sql_session"]=>
    int(72)
  }
}


Add quotes

  • « Session::listClients
  • Session::releaseSavepoint »
  • PHP Manual
  • mysql_xdevapi\Session
  • Add quotes

Session::quoteName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::quoteName — Add quotes

Açıklama

public mysql_xdevapi\Session::quoteName(string $name): string

A quoting function to escape SQL names and identifiers. It escapes the identifier given in accordance to the settings of the current connection. This escape function should not be used to escape values.

Bağımsız Değişkenler

name

The string to quote.

Dönen Değerler

The quoted string.

Örnekler

Örnek 1 mysql_xdevapi\Session::quoteName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$first = "MySQL's test";
var_dump($first);
var_dump($session->quoteName($first));

$second = 'Another `test` "like" `this`';
var_dump($second);
var_dump($session->quoteName($second));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(12) "MySQL's test"
string(14) "`MySQL's test`"

string(28) "Another `test` "like" `this`"
string(34) "`Another ``test`` "like" ``this```"


Release set savepoint

  • « Session::quoteName
  • Session::rollback »
  • PHP Manual
  • mysql_xdevapi\Session
  • Release set savepoint

Session::releaseSavepoint

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::releaseSavepoint — Release set savepoint

Açıklama

public mysql_xdevapi\Session::releaseSavepoint(string $name): void

Release a previously set savepoint.

Bağımsız Değişkenler

name

Name of the savepoint to release.

Dönen Değerler

An SqlStatementResult object.

Örnekler

Örnek 1 mysql_xdevapi\Session::releaseSavepoint() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Rollback transaction

  • « Session::releaseSavepoint
  • Session::rollbackTo »
  • PHP Manual
  • mysql_xdevapi\Session
  • Rollback transaction

Session::rollback

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::rollback — Rollback transaction

Açıklama

public mysql_xdevapi\Session::rollback(): void

Rollback the transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An SqlStatementResult object.

Örnekler

Örnek 1 mysql_xdevapi\Session::rollback() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Rollback transaction to savepoint

  • « Session::rollback
  • Session::setSavepoint »
  • PHP Manual
  • mysql_xdevapi\Session
  • Rollback transaction to savepoint

Session::rollbackTo

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::rollbackTo — Rollback transaction to savepoint

Açıklama

public mysql_xdevapi\Session::rollbackTo(string $name): void

Rollback the transaction back to the savepoint.

Bağımsız Değişkenler

name

Name of the savepoint to rollback to; case-insensitive.

Dönen Değerler

An SqlStatementResult object.

Örnekler

Örnek 1 mysql_xdevapi\Session::rollbackTo() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint1 = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$savepoint2 = $session->setSavepoint();

$session->rollbackTo($savepoint1);
?>


Create savepoint

  • « Session::rollbackTo
  • Session::sql »
  • PHP Manual
  • mysql_xdevapi\Session
  • Create savepoint

Session::setSavepoint

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::setSavepoint — Create savepoint

Açıklama

public mysql_xdevapi\Session::setSavepoint(string $name = ?): string

Create a new savepoint for the transaction.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

The name of the savepoint. The name is auto-generated if the optional name parameter is not defined as 'SAVEPOINT1', 'SAVEPOINT2', and so on.

Dönen Değerler

The name of the save point.

Örnekler

Örnek 1 mysql_xdevapi\Session::setSavepoint() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


Execute SQL query

  • « Session::setSavepoint
  • Session::startTransaction »
  • PHP Manual
  • mysql_xdevapi\Session
  • Execute SQL query

Session::sql

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::sql — Execute SQL query

Açıklama

public mysql_xdevapi\Session::sql(string $query): mysql_xdevapi\SqlStatement

Create a native SQL statement. Placeholders are supported using the native "?" syntax. Use the execute method to execute the SQL statement.

Bağımsız Değişkenler

query

SQL statement to execute.

Dönen Değerler

An SqlStatement object.

Örnekler

Örnek 1 mysql_xdevapi\Session::sql() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("CREATE DATABASE addressbook")->execute();
?>


Start transaction

  • « Session::sql
  • mysql_xdevapi\SqlStatement »
  • PHP Manual
  • mysql_xdevapi\Session
  • Start transaction

Session::startTransaction

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Session::startTransaction — Start transaction

Açıklama

public mysql_xdevapi\Session::startTransaction(): void

Start a new transaction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An SqlStatementResult object.

Örnekler

Örnek 1 mysql_xdevapi\Session::startTransaction() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");

$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();

$savepoint = $session->setSavepoint();

$collection->add( '{"test3":3, "test4":4}' )->execute();

$session->releaseSavepoint($savepoint);
$session->rollback();
?>


SqlStatement class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\SqlStatement {
/* Sabitler */
const int EXECUTE_ASYNC = 1;
const int BUFFERED = 2;
/* Özellikler */
public $statement;
/* Yöntemler */
public bind(string $param): mysql_xdevapi\SqlStatement
public execute(): mysql_xdevapi\Result
public getNextResult(): mysql_xdevapi\Result
public getResult(): mysql_xdevapi\Result
public hasMoreResults(): bool
}

Özellikler

statement

Öntanımlı Sabitler

mysql_xdevapi\SqlStatement::EXECUTE_ASYNC

mysql_xdevapi\SqlStatement::BUFFERED

İçindekiler

  • SqlStatement::bind — Bind statement parameters
  • SqlStatement::__construct — Description constructor
  • SqlStatement::execute — Execute the operation
  • SqlStatement::getNextResult — Get next result
  • SqlStatement::getResult — Get result
  • SqlStatement::hasMoreResults — Check for more results


Bind statement parameters

  • « mysql_xdevapi\SqlStatement
  • SqlStatement::__construct »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Bind statement parameters

SqlStatement::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::bind — Bind statement parameters

Açıklama

public mysql_xdevapi\SqlStatement::bind(string $param): mysql_xdevapi\SqlStatement

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

param

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::bind() example

<?php

/* ... */

?>


Description constructor

  • « SqlStatement::bind
  • SqlStatement::execute »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Description constructor

SqlStatement::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::__construct — Description constructor

Açıklama

private mysql_xdevapi\SqlStatement::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::__construct() example

<?php

/* ... */

?>


Execute the operation

  • « SqlStatement::__construct
  • SqlStatement::getNextResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Execute the operation

SqlStatement::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::execute — Execute the operation

Açıklama

public mysql_xdevapi\SqlStatement::execute(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::execute() example

<?php

/* ... */

?>


Get next result

  • « SqlStatement::execute
  • SqlStatement::getResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Get next result

SqlStatement::getNextResult

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::getNextResult — Get next result

Açıklama

public mysql_xdevapi\SqlStatement::getNextResult(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::getNextResult() example

<?php

/* ... */

?>


Get result

  • « SqlStatement::getNextResult
  • SqlStatement::hasMoreResults »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Get result

SqlStatement::getResult

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::getResult — Get result

Açıklama

public mysql_xdevapi\SqlStatement::getResult(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::getResult() example

<?php

/* ... */

?>


Check for more results

  • « SqlStatement::getResult
  • mysql_xdevapi\SqlStatementResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatement
  • Check for more results

SqlStatement::hasMoreResults

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatement::hasMoreResults — Check for more results

Açıklama

public mysql_xdevapi\SqlStatement::hasMoreResults(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the result set has more objects to fetch.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatement::hasMoreResults() example

<?php

/* ... */

?>


SqlStatementResult class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\SqlStatementResult implements mysql_xdevapi\BaseResult, Traversable {
/* Yöntemler */
public fetchAll(): array
public fetchOne(): array
public getAffectedItemsCount(): int
public getColumnsCount(): int
public getColumnNames(): array
public getColumns(): Array
public getGeneratedIds(): array
public getLastInsertId(): String
public getWarnings(): array
public getWarningCounts(): int
public hasData(): bool
public nextResult(): mysql_xdevapi\Result
}

İçindekiler

  • SqlStatementResult::__construct — Description constructor
  • SqlStatementResult::fetchAll — Get all rows from result
  • SqlStatementResult::fetchOne — Get single row
  • SqlStatementResult::getAffectedItemsCount — Get affected row count
  • SqlStatementResult::getColumnsCount — Get column count
  • SqlStatementResult::getColumnNames — Get column names
  • SqlStatementResult::getColumns — Get columns
  • SqlStatementResult::getGeneratedIds — Get generated ids
  • SqlStatementResult::getLastInsertId — Get last insert id
  • SqlStatementResult::getWarnings — Get warnings from last operation
  • SqlStatementResult::getWarningsCount — Get warning count from last operation
  • SqlStatementResult::hasData — Check if result has data
  • SqlStatementResult::nextResult — Get next result


Description constructor

  • « mysql_xdevapi\SqlStatementResult
  • SqlStatementResult::fetchAll »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Description constructor

SqlStatementResult::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::__construct — Description constructor

Açıklama

private mysql_xdevapi\SqlStatementResult::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::__construct() example

<?php

/* ... */

?>


Get all rows from result

  • « SqlStatementResult::__construct
  • SqlStatementResult::fetchOne »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get all rows from result

SqlStatementResult::fetchAll

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::fetchAll — Get all rows from result

Açıklama

public mysql_xdevapi\SqlStatementResult::fetchAll(): array

Fetch all the rows from the result set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numerical array with all results from the query; each result is an associative array. An empty array is returned if no rows are present.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::fetchAll() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();

$schema = $session->getSchema("dbtest");
$table = $schema->getTable("workers");

$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchAll();

print_r($rows);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Get single row

  • « SqlStatementResult::fetchAll
  • SqlStatementResult::getAffectedItemsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get single row

SqlStatementResult::fetchOne

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::fetchOne — Get single row

Açıklama

public mysql_xdevapi\SqlStatementResult::fetchOne(): array

Fetch one row from the result set.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The result, as an associative array. In case there is not any result, null will be returned.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::fetchOne() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();

$schema = $session->getSchema("dbtest");
$table = $schema->getTable("workers");

$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchOne();

print_r($rows);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => John
    [age] => 42
    [job] => bricklayer
)


Get affected row count

  • « SqlStatementResult::fetchOne
  • SqlStatementResult::getColumnsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get affected row count

SqlStatementResult::getAffectedItemsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getAffectedItemsCount — Get affected row count

Açıklama

public mysql_xdevapi\SqlStatementResult::getAffectedItemsCount(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getAffectedItemsCount() example

<?php

/* ... */

?>


Get column count

  • « SqlStatementResult::getAffectedItemsCount
  • SqlStatementResult::getColumnNames »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get column count

SqlStatementResult::getColumnsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getColumnsCount — Get column count

Açıklama

public mysql_xdevapi\SqlStatementResult::getColumnsCount(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of columns; 0 if there are none.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.14 | Method renamed from getColumnCount() to getColumnsCount().

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getColumnsCount() example

<?php

/* ... */

?>


Get column names

  • « SqlStatementResult::getColumnsCount
  • SqlStatementResult::getColumns »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get column names

SqlStatementResult::getColumnNames

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getColumnNames — Get column names

Açıklama

public mysql_xdevapi\SqlStatementResult::getColumnNames(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getColumnNames() example

<?php

/* ... */

?>


Get columns

  • « SqlStatementResult::getColumnNames
  • SqlStatementResult::getGeneratedIds »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get columns

SqlStatementResult::getColumns

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getColumns — Get columns

Açıklama

public mysql_xdevapi\SqlStatementResult::getColumns(): Array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getColumns() example

<?php

/* ... */

?>


Get generated ids

  • « SqlStatementResult::getColumns
  • SqlStatementResult::getLastInsertId »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get generated ids

SqlStatementResult::getGeneratedIds

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getGeneratedIds — Get generated ids

Açıklama

public mysql_xdevapi\SqlStatementResult::getGeneratedIds(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of generated _id's from the last operation, or an empty array if there are none.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getGeneratedIds() example

<?php

/* ... */

?>


Get last insert id

  • « SqlStatementResult::getGeneratedIds
  • SqlStatementResult::getWarnings »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get last insert id

SqlStatementResult::getLastInsertId

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getLastInsertId — Get last insert id

Açıklama

public mysql_xdevapi\SqlStatementResult::getLastInsertId(): String

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The ID for the last insert operation.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getLastInsertId() example

<?php

/* ... */

?>


Get warnings from last operation

  • « SqlStatementResult::getLastInsertId
  • SqlStatementResult::getWarningsCount »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get warnings from last operation

SqlStatementResult::getWarnings

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getWarnings — Get warnings from last operation

Açıklama

public mysql_xdevapi\SqlStatementResult::getWarnings(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Warning objects from the last operation. Each object defines an error 'message', error 'level', and error 'code'. An empty array is returned if no errors are present.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getWarnings() example

<?php

/* ... */

?>


Get warning count from last operation

  • « SqlStatementResult::getWarnings
  • SqlStatementResult::hasData »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get warning count from last operation

SqlStatementResult::getWarningsCount

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::getWarningsCount — Get warning count from last operation

Açıklama

public mysql_xdevapi\SqlStatementResult::getWarningCounts(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of warnings raised during the last CRUD operation.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::getWarningsCount() example

<?php

/* ... */

?>


Check if result has data

  • « SqlStatementResult::getWarningsCount
  • SqlStatementResult::nextResult »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Check if result has data

SqlStatementResult::hasData

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::hasData — Check if result has data

Açıklama

public mysql_xdevapi\SqlStatementResult::hasData(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the result set has data.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::hasData() example

<?php

/* ... */

?>


Get next result

  • « SqlStatementResult::hasData
  • mysql_xdevapi\Statement »
  • PHP Manual
  • mysql_xdevapi\SqlStatementResult
  • Get next result

SqlStatementResult::nextResult

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SqlStatementResult::nextResult — Get next result

Açıklama

public mysql_xdevapi\SqlStatementResult::nextResult(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The next Result object from the result set.

Örnekler

Örnek 1 mysql_xdevapi\SqlStatementResult::nextResult() example

<?php

/* ... */

?>


Statement class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Statement {
/* Sabitler */
const int EXECUTE_ASYNC = 1;
const int BUFFERED = 2;
/* Yöntemler */
public getNextResult(): mysql_xdevapi\Result
public getResult(): mysql_xdevapi\Result
public hasMoreResults(): bool
}

Öntanımlı Sabitler

mysql_xdevapi\Statement::EXECUTE_ASYNC

mysql_xdevapi\Statement::BUFFERED

İçindekiler

  • Statement::__construct — Description constructor
  • Statement::getNextResult — Get next result
  • Statement::getResult — Get result
  • Statement::hasMoreResults — Check if more results


Description constructor

  • « mysql_xdevapi\Statement
  • Statement::getNextResult »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Description constructor

Statement::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Statement::__construct — Description constructor

Açıklama

private mysql_xdevapi\Statement::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Statement::__construct() example

<?php

/* ... */

?>


Get next result

  • « Statement::__construct
  • Statement::getResult »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Get next result

Statement::getNextResult

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Statement::getNextResult — Get next result

Açıklama

public mysql_xdevapi\Statement::getNextResult(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\Statement::getNextResult() example

<?php

/* ... */

?>


Get result

  • « Statement::getNextResult
  • Statement::hasMoreResults »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Get result

Statement::getResult

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Statement::getResult — Get result

Açıklama

public mysql_xdevapi\Statement::getResult(): mysql_xdevapi\Result

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\Statement::getResult() example

<?php

/* ... */

?>


Check if more results

  • « Statement::getResult
  • mysql_xdevapi\Table »
  • PHP Manual
  • mysql_xdevapi\Statement
  • Check if more results

Statement::hasMoreResults

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Statement::hasMoreResults — Check if more results

Açıklama

public mysql_xdevapi\Statement::hasMoreResults(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 mysql_xdevapi\Statement::hasMoreResults() example

<?php

/* ... */

?>


Table class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Provides access to the table through INSERT/SELECT/UPDATE/DELETE statements.

Sınıf Sözdizimi

class mysql_xdevapi\Table implements mysql_xdevapi\SchemaObject {
/* Özellikler */
public $name;
/* Yöntemler */
public count(): int
public delete(): mysql_xdevapi\TableDelete
public existsInDatabase(): bool
public getName(): string
public getSchema(): mysql_xdevapi\Schema
public getSession(): mysql_xdevapi\Session
public insert(mixed $columns, mixed ...$more_columns): mysql_xdevapi\TableInsert
public isView(): bool
public select(mixed $columns, mixed ...$more_columns): mysql_xdevapi\TableSelect
public update(): mysql_xdevapi\TableUpdate
}

Özellikler

name

İçindekiler

  • Table::__construct — Table constructor
  • Table::count — Get row count
  • Table::delete — Delete rows from table
  • Table::existsInDatabase — Check if table exists in database
  • Table::getName — Get table name
  • Table::getSchema — Get table schema
  • Table::getSession — Get table session
  • Table::insert — Insert table rows
  • Table::isView — Check if table is view
  • Table::select — Select rows from table
  • Table::update — Update rows in table


Table constructor

  • « mysql_xdevapi\Table
  • Table::count »
  • PHP Manual
  • mysql_xdevapi\Table
  • Table constructor

Table::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::__construct — Table constructor

Açıklama

private mysql_xdevapi\Table::__construct()

Construct a table object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Table::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");
?>


Get row count

  • « Table::__construct
  • Table::delete »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get row count

Table::count

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::count — Get row count

Açıklama

public mysql_xdevapi\Table::count(): int

Fetch the number of rows in the table.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The total number of rows in the table.

Örnekler

Örnek 1 mysql_xdevapi\Table::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

var_dump($table->count());
?>

Yukarıdaki örneğin çıktısı:

int(2)


Delete rows from table

  • « Table::count
  • Table::existsInDatabase »
  • PHP Manual
  • mysql_xdevapi\Table
  • Delete rows from table

Table::delete

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::delete — Delete rows from table

Açıklama

public mysql_xdevapi\Table::delete(): mysql_xdevapi\TableDelete

Deletes rows from a table.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A TableDelete object; use the execute() method to execute the delete query.

Örnekler

Örnek 1 mysql_xdevapi\Table::delete() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()->where("name = :name")->orderby("age DESC")->limit(1)->bind(['name' => 'John'])->execute();
?>


Check if table exists in database

  • « Table::delete
  • Table::getName »
  • PHP Manual
  • mysql_xdevapi\Table
  • Check if table exists in database

Table::existsInDatabase

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::existsInDatabase — Check if table exists in database

Açıklama

public mysql_xdevapi\Table::existsInDatabase(): bool

Verifies if this table exists in the database.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if table exists in the database, else false if it does not.

Örnekler

Örnek 1 mysql_xdevapi\Table::existsInDatabase() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

if ($table->existsInDatabase()) {
echo "Yes, this table still exists in the session's schema.";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yes, this table still exists in the session's schema.


Get table name

  • « Table::existsInDatabase
  • Table::getSchema »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table name

Table::getName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::getName — Get table name

Açıklama

public mysql_xdevapi\Table::getName(): string

Returns the name of this database object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The name of this database object.

Örnekler

Örnek 1 mysql_xdevapi\Table::getName() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

var_dump($table->getName());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "names"


Get table schema

  • « Table::getName
  • Table::getSession »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table schema

Table::getSchema

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::getSchema — Get table schema

Açıklama

public mysql_xdevapi\Table::getSchema(): mysql_xdevapi\Schema

Fetch the schema associated with the table.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Schema object.

Örnekler

Örnek 1 mysql_xdevapi\Table::getSchema() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

var_dump($table->getSchema());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}


Get table session

  • « Table::getSchema
  • Table::insert »
  • PHP Manual
  • mysql_xdevapi\Table
  • Get table session

Table::getSession

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::getSession — Get table session

Açıklama

public mysql_xdevapi\Table::getSession(): mysql_xdevapi\Session

Get session associated with the table.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Session object.

Örnekler

Örnek 1 mysql_xdevapi\Table::getSession() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

var_dump($table->getSession());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(mysql_xdevapi\Session)#9 (0) {
}


Insert table rows

  • « Table::getSession
  • Table::isView »
  • PHP Manual
  • mysql_xdevapi\Table
  • Insert table rows

Table::insert

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::insert — Insert table rows

Açıklama

public mysql_xdevapi\Table::insert(mixed $columns, mixed ...$more_columns): mysql_xdevapi\TableInsert

Inserts rows into a table.

Bağımsız Değişkenler

columns

The columns to insert data into. Can be an array with one or more values, or a string.

more_columns

Additional columns definitions.

Dönen Değerler

A TableInsert object; use the execute() method to execute the insert statement.

Örnekler

Örnek 1 mysql_xdevapi\Table::insert() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table ->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>


Check if table is view

  • « Table::insert
  • Table::select »
  • PHP Manual
  • mysql_xdevapi\Table
  • Check if table is view

Table::isView

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::isView — Check if table is view

Açıklama

public mysql_xdevapi\Table::isView(): bool

Determine if the underlying object is a view or not.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the underlying object is a view, otherwise false.

Örnekler

Örnek 1 mysql_xdevapi\Table::isView() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

if ($table->isView()) {
echo "This is a view.";
} else {
echo "This is not a view.";
}
?>

Yukarıdaki örneğin çıktısı:

int(2)


Select rows from table

  • « Table::isView
  • Table::update »
  • PHP Manual
  • mysql_xdevapi\Table
  • Select rows from table

Table::select

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::select — Select rows from table

Açıklama

public mysql_xdevapi\Table::select(mixed $columns, mixed ...$more_columns): mysql_xdevapi\TableSelect

Fetches data from a table.

Bağımsız Değişkenler

columns

The columns to select data from. Can be an array with one or more values, or a string.

more_columns

Additional columns parameter definitions.

Dönen Değerler

A TableSelect object; use the execute() method to execute the select and return a RowResult object.

Örnekler

Örnek 1 mysql_xdevapi\Table::count() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$row = $table->select('name', 'age')->execute()->fetchAll();

print_r($row);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 33
        )
)


Update rows in table

  • « Table::select
  • mysql_xdevapi\TableDelete »
  • PHP Manual
  • mysql_xdevapi\Table
  • Update rows in table

Table::update

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Table::update — Update rows in table

Açıklama

public mysql_xdevapi\Table::update(): mysql_xdevapi\TableUpdate

Updates columns in a table.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A TableUpdate object; use the execute() method to execute the update statement.

Örnekler

Örnek 1 mysql_xdevapi\Table::update() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->update()->set('age',34)->where('name = "Sam"')->limit(1)->execute();
?>


TableDelete class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

A statement for delete operations on Table.

Sınıf Sözdizimi

class mysql_xdevapi\TableDelete implements mysql_xdevapi\Executable {
/* Yöntemler */
public bind(array $placeholder_values): mysql_xdevapi\TableDelete
public execute(): mysql_xdevapi\Result
public limit(int $rows): mysql_xdevapi\TableDelete
public orderby(string $orderby_expr): mysql_xdevapi\TableDelete
public where(string $where_expr): mysql_xdevapi\TableDelete
}

İçindekiler

  • TableDelete::bind — Bind delete query parameters
  • TableDelete::__construct — TableDelete constructor
  • TableDelete::execute — Execute delete query
  • TableDelete::limit — Limit deleted rows
  • TableDelete::orderby — Set delete sort criteria
  • TableDelete::where — Set delete search condition


Bind delete query parameters

  • « mysql_xdevapi\TableDelete
  • TableDelete::__construct »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Bind delete query parameters

TableDelete::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::bind — Bind delete query parameters

Açıklama

public mysql_xdevapi\TableDelete::bind(array $placeholder_values): mysql_xdevapi\TableDelete

Binds a value to a specific placeholder.

Bağımsız Değişkenler

placeholder_values

The name of the placeholder and the value to bind.

Dönen Değerler

A TableDelete object.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();

?>


TableDelete constructor

  • « TableDelete::bind
  • TableDelete::execute »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • TableDelete constructor

TableDelete::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::__construct — TableDelete constructor

Açıklama

private mysql_xdevapi\TableDelete::__construct()

Initiated by using the delete() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();

?>


Execute delete query

  • « TableDelete::__construct
  • TableDelete::limit »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Execute delete query

TableDelete::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::execute — Execute delete query

Açıklama

public mysql_xdevapi\TableDelete::execute(): mysql_xdevapi\Result

Execute the delete query.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Result object.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();

?>


Limit deleted rows

  • « TableDelete::execute
  • TableDelete::orderby »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Limit deleted rows

TableDelete::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::limit — Limit deleted rows

Açıklama

public mysql_xdevapi\TableDelete::limit(int $rows): mysql_xdevapi\TableDelete

Sets the maximum number of records or documents to delete.

Bağımsız Değişkenler

rows

The maximum number of records or documents to delete.

Dönen Değerler

TableDelete object.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();

?>


Set delete sort criteria

  • « TableDelete::limit
  • TableDelete::where »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Set delete sort criteria

TableDelete::orderby

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::orderby — Set delete sort criteria

Açıklama

public mysql_xdevapi\TableDelete::orderby(string $orderby_expr): mysql_xdevapi\TableDelete

Set the order options for a result set.

Bağımsız Değişkenler

orderby_expr

The sort definition.

Dönen Değerler

A TableDelete object.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::orderBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("age = :age")
->bind(['age' => 42])
->orderby("name DESC")
->limit(1)
->execute();

?>


Set delete search condition

  • « TableDelete::orderby
  • mysql_xdevapi\TableInsert »
  • PHP Manual
  • mysql_xdevapi\TableDelete
  • Set delete search condition

TableDelete::where

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableDelete::where — Set delete search condition

Açıklama

public mysql_xdevapi\TableDelete::where(string $where_expr): mysql_xdevapi\TableDelete

Sets the search condition to filter.

Bağımsız Değişkenler

where_expr

Define the search condition to filter documents or records.

Dönen Değerler

TableDelete object.

Örnekler

Örnek 1 mysql_xdevapi\TableDelete::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->delete()
->where("id = :id")
->bind(['id' => 42])
->limit(1)
->execute();

?>


TableInsert class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

A statement for insert operations on Table.

Sınıf Sözdizimi

class mysql_xdevapi\TableInsert implements mysql_xdevapi\Executable {
/* Yöntemler */
public execute(): mysql_xdevapi\Result
public values(array $row_values): mysql_xdevapi\TableInsert
}

İçindekiler

  • TableInsert::__construct — TableInsert constructor
  • TableInsert::execute — Execute insert query
  • TableInsert::values — Add insert row values


TableInsert constructor

  • « mysql_xdevapi\TableInsert
  • TableInsert::execute »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • TableInsert constructor

TableInsert::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableInsert::__construct — TableInsert constructor

Açıklama

private mysql_xdevapi\TableInsert::__construct()

Initiated by using the insert() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\TableInsert::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>


Execute insert query

  • « TableInsert::__construct
  • TableInsert::values »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • Execute insert query

TableInsert::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableInsert::execute — Execute insert query

Açıklama

public mysql_xdevapi\TableInsert::execute(): mysql_xdevapi\Result

Execute the statement.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Result object.

Örnekler

Örnek 1 mysql_xdevapi\TableInsert::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>


Add insert row values

  • « TableInsert::execute
  • mysql_xdevapi\TableSelect »
  • PHP Manual
  • mysql_xdevapi\TableInsert
  • Add insert row values

TableInsert::values

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableInsert::values — Add insert row values

Açıklama

public mysql_xdevapi\TableInsert::values(array $row_values): mysql_xdevapi\TableInsert

Set the values to be inserted.

Bağımsız Değişkenler

row_values

Values (an array) of columns to insert.

Dönen Değerler

A TableInsert object.

Örnekler

Örnek 1 mysql_xdevapi\TableInsert::values() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>


TableSelect class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

A statement for record retrieval operations on a Table.

Sınıf Sözdizimi

class mysql_xdevapi\TableSelect implements mysql_xdevapi\Executable {
/* Yöntemler */
public bind(array $placeholder_values): mysql_xdevapi\TableSelect
public execute(): mysql_xdevapi\RowResult
public groupBy(mixed $sort_expr): mysql_xdevapi\TableSelect
public having(string $sort_expr): mysql_xdevapi\TableSelect
public limit(int $rows): mysql_xdevapi\TableSelect
public lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\TableSelect
public lockShared(int $lock_waiting_option = ?): mysql_xdevapi\TableSelect
public offset(int $position): mysql_xdevapi\TableSelect
public orderby(mixed $sort_expr, mixed ...$sort_exprs): mysql_xdevapi\TableSelect
public where(string $where_expr): mysql_xdevapi\TableSelect
}

İçindekiler

  • TableSelect::bind — Bind select query parameters
  • TableSelect::__construct — TableSelect constructor
  • TableSelect::execute — Execute select statement
  • TableSelect::groupBy — Set select grouping criteria
  • TableSelect::having — Set select having condition
  • TableSelect::limit — Limit selected rows
  • TableSelect::lockExclusive — Execute EXCLUSIVE LOCK
  • TableSelect::lockShared — Execute SHARED LOCK
  • TableSelect::offset — Set limit offset
  • TableSelect::orderby — Set select sort criteria
  • TableSelect::where — Set select search condition


Bind select query parameters

  • « mysql_xdevapi\TableSelect
  • TableSelect::__construct »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Bind select query parameters

TableSelect::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::bind — Bind select query parameters

Açıklama

public mysql_xdevapi\TableSelect::bind(array $placeholder_values): mysql_xdevapi\TableSelect

Binds a value to a specific placeholder.

Bağımsız Değişkenler

placeholder_values

The name of the placeholder, and the value to bind.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


TableSelect constructor

  • « TableSelect::bind
  • TableSelect::execute »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • TableSelect constructor

TableSelect::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::__construct — TableSelect constructor

Açıklama

private mysql_xdevapi\TableSelect::__construct()

An object returned by the select() method; use execute() to execute the query.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->orderBy('age desc')
->execute();

$row = $result->fetchAll();
print_r($row);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Execute select statement

  • « TableSelect::__construct
  • TableSelect::groupBy »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute select statement

TableSelect::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::execute — Execute select statement

Açıklama

public mysql_xdevapi\TableSelect::execute(): mysql_xdevapi\RowResult

Execute the select statement by chaining it with the execute() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A RowResult object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->orderBy('age desc')
->execute();

$row = $result->fetchAll();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Set select grouping criteria

  • « TableSelect::execute
  • TableSelect::having »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select grouping criteria

TableSelect::groupBy

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::groupBy — Set select grouping criteria

Açıklama

public mysql_xdevapi\TableSelect::groupBy(mixed $sort_expr): mysql_xdevapi\TableSelect

Sets a grouping criteria for the result set.

Bağımsız Değişkenler

sort_expr

The grouping criteria.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::groupBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('count(*) as count', 'age')
->groupBy('age')->orderBy('age asc')
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [count] => 1
            [age] => 31
        )
    [1] => Array
        (
            [count] => 2
            [age] => 42
        )
)


Set select having condition

  • « TableSelect::groupBy
  • TableSelect::limit »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select having condition

TableSelect::having

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::having — Set select having condition

Açıklama

public mysql_xdevapi\TableSelect::having(string $sort_expr): mysql_xdevapi\TableSelect

Sets a condition for records to consider in aggregate function operations.

Bağımsız Değişkenler

sort_expr

A condition on the aggregate functions used on the grouping criteria.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::having() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('count(*) as count', 'age')
->groupBy('age')->orderBy('age asc')
->having('count > 1')
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [count] => 2
            [age] => 42
        )
)


Limit selected rows

  • « TableSelect::having
  • TableSelect::lockExclusive »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Limit selected rows

TableSelect::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::limit — Limit selected rows

Açıklama

public mysql_xdevapi\TableSelect::limit(int $rows): mysql_xdevapi\TableSelect

Sets the maximum number of records or documents to return.

Bağımsız Değişkenler

rows

The maximum number of records or documents.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name', 'age')
->limit(1)
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


Execute EXCLUSIVE LOCK

  • « TableSelect::limit
  • TableSelect::lockShared »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute EXCLUSIVE LOCK

TableSelect::lockExclusive

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::lockExclusive — Execute EXCLUSIVE LOCK

Açıklama

public mysql_xdevapi\TableSelect::lockExclusive(int $lock_waiting_option = ?): mysql_xdevapi\TableSelect

Execute a read operation with EXCLUSIVE LOCK. Only one lock can be active at a time.

Bağımsız Değişkenler

lock_waiting_option

The optional waiting option that defaults to MYSQLX_LOCK_DEFAULT. Valid values are:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Dönen Değerler

TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::lockExclusive() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$session->startTransaction();

$result = $table->select('name', 'age')
->lockExclusive(MYSQLX_LOCK_NOWAIT)
->execute();

$session->commit();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Execute SHARED LOCK

  • « TableSelect::lockExclusive
  • TableSelect::offset »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Execute SHARED LOCK

TableSelect::lockShared

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::lockShared — Execute SHARED LOCK

Açıklama

public mysql_xdevapi\TableSelect::lockShared(int $lock_waiting_option = ?): mysql_xdevapi\TableSelect

Execute a read operation with SHARED LOCK. Only one lock can be active at a time.

Bağımsız Değişkenler

lock_waiting_option

The optional waiting option that defaults to MYSQLX_LOCK_DEFAULT. Valid values are:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::lockShared() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$session->startTransaction();

$result = $table->select('name', 'age')
->lockShared(MYSQLX_LOCK_NOWAIT)
->execute();

$session->commit();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
    [1] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Set limit offset

  • « TableSelect::lockShared
  • TableSelect::orderby »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set limit offset

TableSelect::offset

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::offset — Set limit offset

Açıklama

public mysql_xdevapi\TableSelect::offset(int $position): mysql_xdevapi\TableSelect

Skip given number of rows in result.

Bağımsız Değişkenler

position

The limit offset.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::offset() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name', 'age')
->limit(1)
->offset(1)
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => Sam
            [age] => 42
        )
)


Set select sort criteria

  • « TableSelect::offset
  • TableSelect::where »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select sort criteria

TableSelect::orderby

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::orderby — Set select sort criteria

Açıklama

public mysql_xdevapi\TableSelect::orderby(mixed $sort_expr, mixed ...$sort_exprs): mysql_xdevapi\TableSelect

Sets the order by criteria.

Bağımsız Değişkenler

sort_expr

The expressions that define the order by criteria. Can be an array with one or more expressions, or a string.

sort_exprs

Additional sort_expr parameters.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::orderBy() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name', 'age')
->orderBy('name desc')
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => Sam
            [age] => 42
        )
    [1] => Array
        (
            [name] => John
            [age] => 42
        )
)


Set select search condition

  • « TableSelect::orderby
  • mysql_xdevapi\TableUpdate »
  • PHP Manual
  • mysql_xdevapi\TableSelect
  • Set select search condition

TableSelect::where

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableSelect::where — Set select search condition

Açıklama

public mysql_xdevapi\TableSelect::where(string $where_expr): mysql_xdevapi\TableSelect

Sets the search condition to filter.

Bağımsız Değişkenler

where_expr

Define the search condition to filter documents or records.

Dönen Değerler

A TableSelect object.

Örnekler

Örnek 1 mysql_xdevapi\TableSelect::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->execute();

$row = $result->fetchAll();
print_r($row);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [name] => John
            [age] => 42
        )
)


TableUpdate class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

A statement for record update operations on a Table.

Sınıf Sözdizimi

class mysql_xdevapi\TableUpdate implements mysql_xdevapi\Executable {
/* Yöntemler */
public bind(array $placeholder_values): mysql_xdevapi\TableUpdate
public execute(): mysql_xdevapi\TableUpdate
public limit(int $rows): mysql_xdevapi\TableUpdate
public orderby(mixed $orderby_expr, mixed ...$orderby_exprs): mysql_xdevapi\TableUpdate
public set(string $table_field, string $expression_or_literal): mysql_xdevapi\TableUpdate
public where(string $where_expr): mysql_xdevapi\TableUpdate
}

İçindekiler

  • TableUpdate::bind — Bind update query parameters
  • TableUpdate::__construct — TableUpdate constructor
  • TableUpdate::execute — Execute update query
  • TableUpdate::limit — Limit update row count
  • TableUpdate::orderby — Set sorting criteria
  • TableUpdate::set — Add field to be updated
  • TableUpdate::where — Set search filter


Bind update query parameters

  • « mysql_xdevapi\TableUpdate
  • TableUpdate::__construct »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Bind update query parameters

TableUpdate::bind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::bind — Bind update query parameters

Açıklama

public mysql_xdevapi\TableUpdate::bind(array $placeholder_values): mysql_xdevapi\TableUpdate

Binds a value to a specific placeholder.

Bağımsız Değişkenler

placeholder_values

The name of the placeholder, and the value to bind, defined as a JSON array.

Dönen Değerler

A TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::bind() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$table->update()
->set('status', 'admin')
->where('name = :name and age > :age')
->bind(['name' => 'Bernie', 'age' => 2000])
->execute();

?>


TableUpdate constructor

  • « TableUpdate::bind
  • TableUpdate::execute »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • TableUpdate constructor

TableUpdate::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::__construct — TableUpdate constructor

Açıklama

private mysql_xdevapi\TableUpdate::__construct()

Initiated by using the update() method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::__construct() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();

?>


Execute update query

  • « TableUpdate::__construct
  • TableUpdate::limit »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Execute update query

TableUpdate::execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::execute — Execute update query

Açıklama

public mysql_xdevapi\TableUpdate::execute(): mysql_xdevapi\TableUpdate

Executes the update statement.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::execute() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();

?>


Limit update row count

  • « TableUpdate::execute
  • TableUpdate::orderby »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Limit update row count

TableUpdate::limit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::limit — Limit update row count

Açıklama

public mysql_xdevapi\TableUpdate::limit(int $rows): mysql_xdevapi\TableUpdate

Set the maximum number of records or documents update.

Bağımsız Değişkenler

rows

The maximum number of records or documents to update.

Dönen Değerler

A TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::limit() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();

?>


Set sorting criteria

  • « TableUpdate::limit
  • TableUpdate::set »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Set sorting criteria

TableUpdate::orderby

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::orderby — Set sorting criteria

Açıklama

public mysql_xdevapi\TableUpdate::orderby(mixed $orderby_expr, mixed ...$orderby_exprs): mysql_xdevapi\TableUpdate

Sets the sorting criteria.

Bağımsız Değişkenler

orderby_expr

The expressions that define the order by criteria. Can be an array with one or more expressions, or a string.

orderby_exprs

Additional sort_expr parameters.

Dönen Değerler

TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::orderby() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>


Add field to be updated

  • « TableUpdate::orderby
  • TableUpdate::where »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Add field to be updated

TableUpdate::set

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::set — Add field to be updated

Açıklama

public mysql_xdevapi\TableUpdate::set(string $table_field, string $expression_or_literal): mysql_xdevapi\TableUpdate

Updates the column value on records in a table.

Bağımsız Değişkenler

table_field

The column name to be updated.

expression_or_literal

The value to be set on the specified column.

Dönen Değerler

TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::set() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();

?>


Set search filter

  • « TableUpdate::set
  • mysql_xdevapi\Warning »
  • PHP Manual
  • mysql_xdevapi\TableUpdate
  • Set search filter

TableUpdate::where

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

TableUpdate::where — Set search filter

Açıklama

public mysql_xdevapi\TableUpdate::where(string $where_expr): mysql_xdevapi\TableUpdate

Set the search condition to filter.

Bağımsız Değişkenler

where_expr

The search condition to filter documents or records.

Dönen Değerler

A TableUpdate object.

Örnekler

Örnek 1 mysql_xdevapi\TableUpdate::where() example

<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$schema = $session->getSchema("addressbook");
$table = $schema->getTable("names");

$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();

?>


Warning class

(PECL mysql-xdevapi >= 8.0.11)

Giriş

Sınıf Sözdizimi

class mysql_xdevapi\Warning {
/* Özellikler */
public $message;
public $level;
public $code;
/* Constructor */
private __construct()
}

Özellikler

message

level

code

İçindekiler

  • Warning::__construct — Warning constructor


Warning constructor

  • « mysql_xdevapi\Warning
  • MySQL (Özgün) »
  • PHP Manual
  • mysql_xdevapi\Warning
  • Warning constructor

Warning::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Warning::__construct — Warning constructor

Açıklama

private mysql_xdevapi\Warning::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 mysql_xdevapi\Warning::__construct() example

<?php

/* ... */

?>


Özgün MySQL API

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Sürüm Bilgisi
  • Öntanımlı Sabitler
  • Örnekler
    • MySQL eklentisi temel kullanım
  • MySQL İşlevleri
    • mysql_affected_rows — Önceki MySQL işleminde etkilenen satırların sayısını al
    • mysql_client_encoding — Karakter kümesinin adını döndürür
    • mysql_close — MySQL bağlantısını kapatır
    • mysql_connect — MySQL Sunucusuna bir bağlantı açar
    • mysql_create_db — Bir MySQL veritabanı oluşturur
    • mysql_data_seek — Move internal result pointer
    • mysql_db_name — mysql_list_dbs çağrısından veritabanı adını alır
    • mysql_db_query — Veritabanını seçer ve bir sorgu çalıştırır
    • mysql_drop_db — Drop (delete) a MySQL database
    • mysql_errno — Returns the numerical value of the error message from previous MySQL operation
    • mysql_error — Returns the text of the error message from previous MySQL operation
    • mysql_escape_string — Escapes a string for use in a mysql_query
    • mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
    • mysql_fetch_assoc — Fetch a result row as an associative array
    • mysql_fetch_field — Get column information from a result and return as an object
    • mysql_fetch_lengths — Bir sonuçtaki her bir çıktının uzunluğunu al
    • mysql_fetch_object — Fetch a result row as an object
    • mysql_fetch_row — Get a result row as an enumerated array
    • mysql_field_flags — Get the flags associated with the specified field in a result
    • mysql_field_len — Belirtilen alanın uzunluğunu döndürür
    • mysql_field_name — Get the name of the specified field in a result
    • mysql_field_seek — Sonuç göstericisini belirtilen alan konumuna ayarla
    • mysql_field_table — Belirtilen alanı içeren tablonun adını al
    • mysql_field_type — Get the type of the specified field in a result
    • mysql_free_result — Sonuç belleğini serbest bırakır
    • mysql_get_client_info — MySQL istemci sürüm bilgisini al
    • mysql_get_host_info — MySQL konak bilgisini al
    • mysql_get_proto_info — MySQL protokol sürüm bilgisini al
    • mysql_get_server_info — MySQL sunucu bilgisini al
    • mysql_info — En son sorgu hakkında bilgi al
    • mysql_insert_id — Get the ID generated in the last query
    • mysql_list_dbs — Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler
    • mysql_list_fields — MySQL tablosunun alanlarını listeler
    • mysql_list_processes — MySQL süreçlerini listeler
    • mysql_list_tables — Bir MySQL veritabanındaki tabloları listele
    • mysql_num_fields — Sonuçtaki alan sayısını al
    • mysql_num_rows — Sonuçtaki satır sayısını al
    • mysql_pconnect — Open a persistent connection to a MySQL server
    • mysql_ping — Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan
    • mysql_query — Send a MySQL query
    • mysql_real_escape_string — Escapes special characters in a string for use in an SQL statement
    • mysql_result — Get result data
    • mysql_select_db — Bir MySQL veritabanı seçer
    • mysql_set_charset — Sets the client character set
    • mysql_stat — Geçerli sunucu durumunu döndürür
    • mysql_tablename — Alanın tablo adını al
    • mysql_thread_id — Geçerli evre numarasını döndür
    • mysql_unbuffered_query — Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir


Giriş

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir.

Bu işlevler MySQL veritabanı sunucularına erişmenizi sağlar. MySQL hakkında daha fazla bilgi » http://www.mysql.com/ adresinde bulunabilir.

MySQL belgeleri » http://dev.mysql.com/doc/ adresinde bulunabilir.

MySQL veritabanı ürünleri ve bağlanabilirlik kuralları hakkında Overview bölümünde bilgi bulabilirsiniz.


Gereksinimler

Bu işlevleri kullanabilmek için, PHP'yi MySQL desteği ile derlemelisiniz.

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:


Kurulum

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

Derlemek için, tercihe bağlı [DIR] MySQL kurulum dizinine işaret edecek şekilde, --with-mysql[=DIR] ayar seçeneğini kullanın.

Bu MySQL eklentisi MySQL 4.1.0 ve üzeri ile uyumlu olduğu halde, bu sürümlerin sağladığı fazladan özellikleri desteklemez. Bunun için, MySQLi eklentisini kullanın.

Eğer mysqli eklentisinin yanısıra mysql eklentisini de kurmak isterseniz uyuşmazlıkları önlemek için aynı istemci kütüphanesini kullanmanız gerekmektedir.

Linux Sistemlerde Kurulum

[DIR] MySQL istemci kütüphanesi (başlık ve kütüphane dosyaları) dosyalarının yolu olup bunlar » MySQL ile indirilebilir.

ext/mysql derleme zamanı destek matrisi
PHP Sürüm: | Öntanımlı | Yapılandırma Seçenekleri: mysqlnd | Yapılandırma Seçenekleri: libmysqlclient | Sürüm Bilgisi
4.x.x | libmysqlclient | Kullanılabilir değil | etkisizleştirmek için --without-mysql | MySQL öntanımlı olarak etkindir. MySQL istemci kütüphaneleri dahil edilir.
5.0.x, 5.1.x, 5.2.x | libmysqlclient | Kullanılabilir değil | --with-mysql=[DIR] | MySQL artık öntanımlı olarak etkin değildir ve MySQL istemci kütüphaneleri dahil edilmez.
5.3.x | libmysqlclient | --with-mysql=mysqlnd | --with-mysql=[DIR] | mysqlnd kullanılabilir oldu
5.4.x | mysqlnd | --with-mysql | --with-mysql=[DIR] | mysqlnd öntanımlı oldu

Windows Sistemlerde Kurulum

PHP 5.0.x, 5.1.x, 5.2.x

MySQL artık öntanımlı olarak etkin değildir, bu yüzden php_mysql.dll DLL'i php.ini içinde seçilmelidir. Ayrıca PHP, MySQL istemci kütüphanelerine de erişmeye gereksinim duyar. Windows PHP dağıtımında libmysql.dll isimli bir dosya bulunur ve PHP'nin MySQL ile konuşabilmesi için bu dosya Windows sistem PATH'inden erişilebilir olmalıdır. Bunu nasıl yapabileceğinizi öğrenmek için "PHP dizinimi Windows'ta PATH değişkenine nasıl eklerim" başlıklı soruyu inceleyiniz. libmysql.dll'i Windows sistem dizinine kopyalamak işe yarasa da (çünkü sistem dizini öntanımlı olarak sistemin PATH'indedir), tavsiye edilmez.

Herhangi bir PHP eklentisinin (php_mysql.dll gibi) etkin kılınması sırasında, extension_dir PHP yönergesi de PHP eklentilerinin bulunduğu konumu gösterecek şekilde ayarlanmalıdır. Elle Windows Kurulumu Komutları'nı da inceleyiniz. PHP5 için örnek bir extension_dir değeri c:\php\ext'dir.

Bilginize:

Eğer HTTP sunucusunu başlatırken "Unable to load dynamic library './php_mysql.dll'" benzeri bir hata oluşuyorsa, bunun nedeni php_mysql.dll ve/veya libmysql.dll'in sistem tarafından bulunamamasıdır.

PHP 5.3.0+

MySQL Yerli Sürücü öntanımlı olarak etkindir. php_mysql.dll buna dahildir, fakat libmysql.dll artık ne gerekmekte ne de kullanılmaktadır.

MySQL Kurulum Notları

Uyarı

Bu eklenti recode eklentisiyle birlikte yüklendiğinde PHP'nin çakılması veya başlama sorunları ile karşılaşabilirsiniz. Daha fazla bilgi için recode eklentisine bakınız.

Bilginize:

Eğer (öntanımlı) latin karakter seti dışında karakter kümelerine ihtiyaç duyarsanız, karakter kümesi desteği ile derlenmiş olan harici bir libmysqlclient kurmalısınız.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

MySQL Ayar Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mysql.allow_local_infile int

PHP'nin bakış açısından LOAD DATA deyimleriyle yerel dosyalara erişime izin verir.

mysql.allow_persistent bool

MySQL'e Kalıcı bağlantı yapılmasına izin verilip verilmeyeceğini belirler.

mysql.max_persistent int

Süreç başına azami kalıcı MySQL bağlantı sayısı.

mysql.max_links int

Kalıcı bağlantılar da dahil, süreç başına en yüksek MySQL bağlantı sayısı.

mysql.trace_mode bool

İz sürme kipi. mysql.trace_mode seçildiği zaman, tablo/indis taramaları, boş olmayan sonuç kümeleri ve SQL hataları için uyarı gösterilir.

mysql.default_port string

Eğer başka bir port numarası belirtilmediyse, veritabanı sunucusuna bağlanırken kullanılacak öntanımlı port numarası. Eğer öntanımlı bir değer tanımlanmadıysa, port sırasıyla MYSQL_TCP_PORT ortam değişkeninden, /etc/services dosyasındaki mysql-tcp girdisinden veya MYSQL_PORT sabitinden alınır. Win32 sadece MYSQL_PORT sabitini kullanacaktır.

mysql.default_socket string

Yereldeki bir veritabanı sunucusuna bağlanırken başka bir soket adı belirtilmediyse kullanılacak olan öntanımlı soket adı.

mysql.default_host string

Veritabanı sunucusuna bağlanırken eğer başka bir konak belirtilmediyse kullanılacak olan öntanımlı konak. sql.safe_mode'da geçerli değildir.

mysql.default_user string

Veritabanı sunucusuna bağlanırken eğer başka bir kullanıcı adı belirtilmediyse kullanılacak olan öntanımlı kullanıcı adı. sql.safe_mode'da geçerli değildir.

mysql.default_password string

Veritabanı sunucusuna bağlanırken eğer başka bir parola belirtilmediyse kullanılacak olan öntanımlı parola. sql.safe_mode'da geçerli değildir.

mysql.connect_timeout int

Saniye cinsinden bağlantı zaman aşımı süresi. Linux'ta, bu zaman aşımı süresi sunucudan ilk cevabı beklemek için de kullanılır.


Özkaynak Türleri

MySQL modülünde iki kaynak türü vardır. Birincisi veritabanı bağlantısı belirteci, ikincisi de sorgu sonuçlarını tutan kaynaktır.


Sürüm Bilgisi

Bu eklentinin sınıf/yöntem/işlevlerinde aşağıdaki değişiklikler yapıldı.

General Changelog for the ext/mysql extension

This changelog references the ext/mysql extension.

Global ext/mysql changes

The following is a list of changes to the entire ext/mysql extension.

Sürüm: | Açıklama
7.0.0 | This extension was removed from PHP. For details, see Choosing an API.

Changes to existing functions

The following list is a compilation of changelog entries from the ext/mysql functions.

Sürüm İşlev Açıklama


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

mysql_connect() ve mysql_pconnect() işlevleri için fazladan istemci seçenekleri tanımlanabilmektedir. Aşağıdaki sabitler tanımlanmıştır:

MySQL istemci sabitleri
Sabit | Açıklama
MYSQL_CLIENT_COMPRESS | Sıkıştırma protokolü kullan
MYSQL_CLIENT_IGNORE_SPACE | İşlev isimlerinden sonra boşluğa izin ver
MYSQL_CLIENT_INTERACTIVE | Bağlantıyı kapatmadan önce (wait_timeout yerine) interactive_timeout saniye hareketsizliğe izin ver. İstemci oturumunun wait_timeout değişkeninin değeri oturumun interactive_timeout değişkenine atanır.
MYSQL_CLIENT_SSL | SSL şifrelemesi kullan. Bu seçenek MySQL istemci kütüphanesinin sadece 4.x veya daha yeni sürümlerinde kullanılabilir. 3.23.x sürümü hem PHP 4 ile hem de PHP 5'in Windows çalıştırılabilir dosyaları ile birlikte gelir.

mysql_fetch_array() işlevi farklı türlerdeki sonuç dizileri için bir sabit kullanır. Şu sabitler tanımlanmıştır:

MySQL veri çekme sabitleri
Sabit | Açıklama
MYSQL_ASSOC | Sütunlar indisi alan adı olan bir dizi olarak döndürülür.
MYSQL_BOTH | Sütunlar, hem alan adı anahtarlı hem de sayısal indisli bir dizi olarak döndürülür.
MYSQL_NUM | Sütunlar, alanları sayısal indisli bir dizi olarak döndürülür. Bu indis 0'dan başlar.


  • « Öntanımlı Sabitler
  • MySQL eklentisi temel kullanım »
  • PHP Manual
  • MySQL (Özgün)
  • Örnekler

Örnekler

İçindekiler

  • MySQL eklentisi temel kullanım


MySQL eklentisi temel kullanım

Bu basit örnek bir MySQL sunucuya nasıl bağlanılacağını, bir sorgunun nasıl çalıştırılacağını, sonuç satırlarının nasıl bastırılacağını ve bağlantının nasıl kesileceğini gösterir.

Örnek 1 - MySQL eklentisi örneği

<?php
// Bağlanıyor, veritabanı seçiliyor
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
or die('Bağlanamadı: ' . mysql_error());
echo 'Başarıyla bağlandı';
mysql_select_db('my_database') or die('Veritabanı seçilemedi');

// SQL sorgusu uygulanıyor
$query = 'SELECT * FROM my_table';
$result = mysql_query($query) or die('Sorgu başarısız: ' . mysql_error());

// Sonuçlar HTML olarak gösteriliyor
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";

// Sonuç kümesi serbest bırakılıyor
mysql_free_result($result);

// Bağlantı kapatılıyor
mysql_close($link);
?>


MySQL İşlevleri

Notlar

Bilginize:

Çoğu MySQL işlevi bağlantı_belirteci'ni sonuncu tercihe bağlı bağımsız değişken olarak kabul eder. Eğer verilmemişse, son açılan bağlantı kullanılır. Eğer yoksa, php.ini'de belirlenen öntanımlı bağımsız değişkenlerle bir bağlantı kurulmaya çalışılır. Eğer başarılı olamazsa, işlev false sonucunu döndürür.

İçindekiler

  • mysql_affected_rows — Önceki MySQL işleminde etkilenen satırların sayısını al
  • mysql_client_encoding — Karakter kümesinin adını döndürür
  • mysql_close — MySQL bağlantısını kapatır
  • mysql_connect — MySQL Sunucusuna bir bağlantı açar
  • mysql_create_db — Bir MySQL veritabanı oluşturur
  • mysql_data_seek — Move internal result pointer
  • mysql_db_name — mysql_list_dbs çağrısından veritabanı adını alır
  • mysql_db_query — Veritabanını seçer ve bir sorgu çalıştırır
  • mysql_drop_db — Drop (delete) a MySQL database
  • mysql_errno — Returns the numerical value of the error message from previous MySQL operation
  • mysql_error — Returns the text of the error message from previous MySQL operation
  • mysql_escape_string — Escapes a string for use in a mysql_query
  • mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc — Fetch a result row as an associative array
  • mysql_fetch_field — Get column information from a result and return as an object
  • mysql_fetch_lengths — Bir sonuçtaki her bir çıktının uzunluğunu al
  • mysql_fetch_object — Fetch a result row as an object
  • mysql_fetch_row — Get a result row as an enumerated array
  • mysql_field_flags — Get the flags associated with the specified field in a result
  • mysql_field_len — Belirtilen alanın uzunluğunu döndürür
  • mysql_field_name — Get the name of the specified field in a result
  • mysql_field_seek — Sonuç göstericisini belirtilen alan konumuna ayarla
  • mysql_field_table — Belirtilen alanı içeren tablonun adını al
  • mysql_field_type — Get the type of the specified field in a result
  • mysql_free_result — Sonuç belleğini serbest bırakır
  • mysql_get_client_info — MySQL istemci sürüm bilgisini al
  • mysql_get_host_info — MySQL konak bilgisini al
  • mysql_get_proto_info — MySQL protokol sürüm bilgisini al
  • mysql_get_server_info — MySQL sunucu bilgisini al
  • mysql_info — En son sorgu hakkında bilgi al
  • mysql_insert_id — Get the ID generated in the last query
  • mysql_list_dbs — Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler
  • mysql_list_fields — MySQL tablosunun alanlarını listeler
  • mysql_list_processes — MySQL süreçlerini listeler
  • mysql_list_tables — Bir MySQL veritabanındaki tabloları listele
  • mysql_num_fields — Sonuçtaki alan sayısını al
  • mysql_num_rows — Sonuçtaki satır sayısını al
  • mysql_pconnect — Open a persistent connection to a MySQL server
  • mysql_ping — Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan
  • mysql_query — Send a MySQL query
  • mysql_real_escape_string — Escapes special characters in a string for use in an SQL statement
  • mysql_result — Get result data
  • mysql_select_db — Bir MySQL veritabanı seçer
  • mysql_set_charset — Sets the client character set
  • mysql_stat — Geçerli sunucu durumunu döndürür
  • mysql_tablename — Alanın tablo adını al
  • mysql_thread_id — Geçerli evre numarasını döndür
  • mysql_unbuffered_query — Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir


Önceki MySQL işleminde etkilenen satırların sayısını al

  • « MySQL İşlevleri
  • mysql_client_encoding »
  • PHP Manual
  • MySQL İşlevleri
  • Önceki MySQL işleminde etkilenen satırların sayısını al

mysql_affected_rows

(PHP 4, PHP 5)

mysql_affected_rows — Önceki MySQL işleminde etkilenen satırların sayısını al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_affected_rows()
  • PDOStatement::rowCount()

Açıklama

mysql_affected_rows(resource $bağlantı_belirteci = null): int

bağlantı_belirteci ile ilişkili son INSERT, UPDATE, REPLACE veya DELETE sorgusundan etkilenen satır sayısını döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Son sorgunun başarılı olması durumunda etkilenen satırların sayısını döndürür; başarısız olması durumunda -1 döndürür.

Eğer son sorgu, WHERE şartı içermeyen bir DELETE sorgusuysa, tablodaki bütün kayıtlar silinmiş demektir, ancak bu işlev MySQL'in 4.1.2'den önceki sürümlerinde 0 döndürür.

UPDATE'i kullanırken, MySQL yeni değerleri eski değerleri ile aynı olan sütunları düzeltmez. Bu da mysql_affected_rows()'un muhtemelen uyan tüm satırların değil, sadece sorgu sonucu gerçekten düzeltilen satırların sayısını döndürmesine neden olur.

REPLACE ifadesi aynı birincil anahtara sahip olan kayıtları siler, daha sonra yeni kaydı girer. Bu işlev silinen kayıtların sayısı artı girilen kayıtların sayısını döndürür.

"INSERT ... ON DUPLICATE KEY UPDATE" sorgularında, yerleştirme yapılmışsa 1, mevcut satır güncellenmişse 2 döner.

Örnekler

Örnek 1 - mysql_affected_rows() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
mysql_select_db('mydb');

/* bu silinen kayıtların gerçek sayısını döndürmeli */
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Silinen kayıtlar: %d\n", mysql_affected_rows());

/* WHERE şartıyla asla true olmaz, 0 döndürmeli */
mysql_query('DELETE FROM mytable WHERE 0');
printf("Silinen kayıtlar: %d\n", mysql_affected_rows());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Silinen kayıtlar: 10
Silinen kayıtlar: 0

Örnek 2 - Hareket kullananılan mysql_affected_rows() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
mysql_select_db('mydb');

/* Kayıtları güncelle */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
printf ("Güncellenen kayıtlar: %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Güncellenen kayıtlar: 10

Notlar

Bilginize: Hareketler

Eğer hareketleri kullanıyorsanız mysql_affected_rows() işlevini INSERT, UPDATE veya DELETE sorgunuzdan sonra, ama COMMIT'den önce kullanmalısınız.

Bilginize: SELECT Deyimleri

Bir SELECT sorgusundan döndürülen satırların sayısını almak için, mysql_num_rows() işlevini kullanmak mümkündür.

Bilginize: Birleşik Yabancı Anahtarlar

mysql_affected_rows() yabancı anahtar kısıtlarındaki ON DELETE CASCADE ve/veya ON UPDATE CASCADE kullanımları üzerinden dolaylı olarak etkilenen satırları saymaz.

Ayrıca Bakınız

  • mysql_num_rows() - Sonuçtaki satır sayısını al
  • mysql_info() - En son sorgu hakkında bilgi al


Karakter kümesinin adını döndürür

  • « mysql_affected_rows
  • mysql_close »
  • PHP Manual
  • MySQL İşlevleri
  • Karakter kümesinin adını döndürür

mysql_client_encoding

(PHP 4 >= 4.3.0, PHP 5)

mysql_client_encoding — Karakter kümesinin adını döndürür

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_character_set_name()

Açıklama

mysql_client_encoding(resource $bağlantı_belirteci = null): string

MySQL'den character_set değişkenini alır.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Geçerli bağlantı için öntanımlı karakter kümesini döndürür.

Örnekler

Örnek 1 - mysql_client_encoding() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "Geçerli karakter kümesi: $charset\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Geçerli karakter kümesi: latin5

Ayrıca Bakınız

  • mysql_set_charset() - Sets the client character set
  • mysql_real_escape_string() - Escapes special characters in a string for use in an SQL statement


MySQL bağlantısını kapatır

  • « mysql_client_encoding
  • mysql_connect »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL bağlantısını kapatır

mysql_close

(PHP 4, PHP 5)

mysql_close — MySQL bağlantısını kapatır

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_close()
  • PDO: PDO nesnesine null değerini atar

Açıklama

mysql_close(resource $bağlantı_belirteci = NULL): bool

mysql_close() işlevi, MySQL sunucusuna, bağlantı belirteci ile belirtilen kalıcı olmayan bağlantıyı kapatır. Eğer bağlantı_belirteci belirtilmemişse, son açılan bağlantı kullanılır.

Kalıcı olmayan açık MySQL bağlantıları ve sonuç kümeleri PHP betiği çalışmasını bitirdiğinde otomatik olarak yok edilir. Bu bakımdan, açık bağlantıların doğrudan kapatılması ve sonuç kümelerinin serbest bırakılması tamamen isteğe bağlıdır. Özkaynaklar beklemeden PHP ve MySQL'e döndürüldüğünden başarım artar. Ek bilgi: freeing resources

Bağımsız Değişkenler

link_identifier

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse son bağlantının mysql_connect() tarafından açıldığı varsayılır.Hiçbir bağlantı yoksa veya kurulmamışsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - mysql_close() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);
?>

Yukarıdaki örneğin çıktısı:

Başarıyla bağlandı

Notlar

Bilginize:

mysql_close() mysql_pconnect() ile oluşturulmuş kalıcı bağlantıları kapatmayacaktır. Diğer ayrıntılar için kalıcı bağlantılar sayfasına bakınız.

Ayrıca Bakınız

  • mysql_connect() - MySQL Sunucusuna bir bağlantı açar
  • mysql_free_result() - Sonuç belleğini serbest bırakır


MySQL Sunucusuna bir bağlantı açar

  • « mysql_close
  • mysql_create_db »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL Sunucusuna bir bağlantı açar

mysql_connect

(PHP 4, PHP 5)

mysql_connect — MySQL Sunucusuna bir bağlantı açar

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_connect()
  • PDO::__construct()

Açıklama

mysql_connect(
string $sunucu = ini_get("mysql.default_host"),
string $kullanıcı_adı = ini_get("mysql.default_user"),
string $parola = ini_get("mysql.default_password"),
bool $yeni_bağlantı = false,
int $istemci_seçenekleri = 0
): resource|false

Bir MySQL sunucusuna bir bağlantı açar veya var olanı tekrar kullanır.

Bağımsız Değişkenler

sunucu

MySQL sunucusu. "konak_adı:port" biçiminde ayrıca bir de port içerebileceği gibi localhost için belirtildiğinde ":/bir/yol/soket" biçiminde yerel bir sokete bir yol da belirtebilir.

Eğer mysql.default_host PHP yönergesi tanımsızsa (öntanımlı), öntanımlı değer 'localhost:3306''dır. sql.safe_mode'da bu bağımsız değişken önemsenmez ve her zaman 'localhost:3306' değeri kullanılır.

kullanıcı_adı

Kullanıcı adı. Öntanımlı değer mysql.default_user ile tanımlanır. sql.safe_mode'da, bu bağımsız değişken önemsenmez ve sunucu sürecinin sahibi olan kullanıcı kullanılır.

parola

Parola. Öntanımlı değer mysql.default_password ile tanımlanır. sql.safe_mode'da, bu bağımsız değişken önemsenmez ve boş parola kullanılır.

yeni_bağlantı

Eğer mysql_connect() aynı bağımsız değişkenlerle ikinci kez çağrılırsa, yeni bir bağlantı kurulmaz, zaten açık olan bağlantının belirteci döndürülür. yeni_bağlantı bağımsız değişkeni bu davranışı değiştirir ve mysql_connect(), daha önce aynı bağımsız değişkenlerle çağrılmış olsa bile her zaman yeni bir bağlantı açar. sql.safe_mode'da bu bağımsız değişken önemsenmez.

istemci_seçenekleri

istemci_seçenekleri bağımsız değişkeni şu sabitlerin bir karışımı olabilir: 128 (LOAD DATA LOCAL tutamağı etkin), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE veya MYSQL_CLIENT_INTERACTIVE. Daha fazla bilgi için MySQL istemci sabitleri ile ilgili bölümü okuyun. sql.safe_mode'da bu bağımsız değişken önemsenmez.

Dönen Değerler

Başarı durumunda bir MySQL bağlantı belirteci döndürür, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_connect() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);
?>

Örnek 2 - konak_adı:port sözdizimini kullanan mysql_connect() örneği

<?php
// 3307 portundan example.com'a bağlanıyoruz
$link = mysql_connect('example.com:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);

// 3307 portundan localhost'a bağlanıyoruz
$link = mysql_connect('127.0.0.1:3307', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);
?>

Örnek 3 - ":/bir/yol/soket" sözdizimini kullanan mysql_connect() örneği

<?php
// localhost ve sokete, örneğin /tmp/mysql.sock, bağlanıyoruz

// 1. yol: localhost'u ihmal ederek
$link = mysql_connect(':/tmp/mysql', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);

// 2. yol: localhost ile
$link = mysql_connect('localhost:/tmp/mysql.sock', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
echo 'Başarıyla bağlandı';
mysql_close($link);
?>

Notlar

Bilginize:

Sunucu olarak "localhost" veya "localhost:port" belirttiğinizde, MySQL istemci kütüphanesi bunu geçersiz kılar ve yerel bir sokete (Windows'ta boru hattı (pipe) denir) bağlanmaya çalışır. TCP/IP kullanılmak istenirse, "localhost" yerine "127.0.0.1" kullanılır. Eğer MySQL istemci kütüphanesi yanlış bir yerel sokete bağlanmaya çalışırsa, doğru yolun php.ini dosyasında mysql.default_host yönergesine atanması ve sunucu alanının boş bırakılması gerekir.

Bilginize:

Sunucuya bağlantı, eğer daha önceden mysql_close() kullanılarak kapatılmadıysa, betiğin çalışması biter bitmez kapatılır.

Bilginize:

"Can't create TCP/IP socket (10106)" hatası genellikle variables_order yapılandırma yönergesinin E harfini içermediği anlamına gelir. Windows'ta, ortam kopyalanmadıysa SYSTEMROOT ortam değişkeni kullanılamaz ve PHP Winsock'u yüklerken sorun yaşar.

Ayrıca Bakınız

  • mysql_pconnect() - Open a persistent connection to a MySQL server
  • mysql_close() - MySQL bağlantısını kapatır


Bir MySQL veritabanı oluşturur

  • « mysql_connect
  • mysql_data_seek »
  • PHP Manual
  • MySQL İşlevleri
  • Bir MySQL veritabanı oluşturur

mysql_create_db

(PHP 4, PHP 5)

mysql_create_db — Bir MySQL veritabanı oluşturur

Uyarı

PHP 4.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • mysqli_query()
  • PDO::query()

Açıklama

mysql_create_db(string $veritabanı_adı, resource $bağlantı_belirteci = null): bool

mysql_create_db() verilen bağlantı belirteci ile ilişkili sunucuda yeni bir veritabanı oluşturmaya çalışır.

Bağımsız Değişkenler

veritabanı_adı

Oluşturulacak veritabanının adı.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - mysql_create_db() yerine kullanılacak kod örneği

mysql_create_db() işlevinin kullanımı önerilmemektedir. Bunun yerine CREATE DATABASE deyimini çalıştırmak için mysql_query() kullanmak tercih edilebilir.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}

$sql = 'CREATE DATABASE benim_vt';
if (mysql_query($sql, $link)) {
echo "benim_vt veritabanı başarıyla oluşturuldu\n";
} else {
echo 'veritabanı oluşturulurken hata: ' . mysql_error() . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

benim_vt veritabanı başarıyla oluşturuldu

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_createdb()

Bilginize:

Eğer MySQL eklentisi MySQL 4.x istemci kütüphanesini kullanacak şekilde derlendiyse bu işlev kullanılamaz.

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query
  • mysql_select_db() - Bir MySQL veritabanı seçer


Move internal result pointer

  • « mysql_create_db
  • mysql_db_name »
  • PHP Manual
  • MySQL İşlevleri
  • Move internal result pointer

mysql_data_seek

(PHP 4, PHP 5)

mysql_data_seek — Move internal result pointer

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_data_seek()
  • PDO::FETCH_ORI_ABS

Açıklama

mysql_data_seek(resource $result, int $row_number): bool

mysql_data_seek() moves the internal row pointer of the MySQL result associated with the specified result identifier to point to the specified row number. The next call to a MySQL fetch function, such as mysql_fetch_assoc(), would return that row.

row_number starts at 0. The row_number should be a value in the range from 0 to mysql_num_rows() - 1. However if the result set is empty (mysql_num_rows() == 0), a seek to 0 will fail with an E_WARNING and mysql_data_seek() will return false.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

row_number

The desired row number of the new result pointer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysql_data_seek() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db('sample_db');
if (!$db_selected) {
die('Could not select database: ' . mysql_error());
}
$query = 'SELECT last_name, first_name FROM friends';
$result = mysql_query($query);
if (!$result) {
die('Query failed: ' . mysql_error());
}
/* fetch rows in reverse order */
for ($i = mysql_num_rows($result) - 1; $i >= 0; $i--) {
if (!mysql_data_seek($result, $i)) {
echo "Cannot seek to row $i: " . mysql_error() . "\n";
continue;
}

if (!($row = mysql_fetch_assoc($result))) {
continue;
}

echo $row['last_name'] . ' ' . $row['first_name'] . "<br />\n";
}

mysql_free_result($result);
?>

Notlar

Bilginize:

The function mysql_data_seek() can be used in conjunction only with mysql_query(), not with mysql_unbuffered_query().

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query
  • mysql_num_rows() - Sonuçtaki satır sayısını al
  • mysql_fetch_row() - Get a result row as an enumerated array
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_object() - Fetch a result row as an object


mysql_list_dbs çağrısından veritabanı adını alır

  • « mysql_data_seek
  • mysql_db_query »
  • PHP Manual
  • MySQL İşlevleri
  • mysql_list_dbs çağrısından veritabanı adını alır

mysql_db_name

(PHP 4, PHP 5)

mysql_db_name — mysql_list_dbs() çağrısından veritabanı adını alır

Açıklama

mysql_db_name(resource $sonuç, int $satır, mixed $alan = null): string

mysql_list_dbs() çağrısı ile veritabanı adını alır.

Bağımsız Değişkenler

sonuç

Bir mysql_list_dbs() çağrısının sonuç göstericisi.

satır

Sonuç kümesine indis.

alan

Alan adı.

Dönen Değerler

Başarı durumunda veritabanı adını, hata durumunda false döndürür. Eğer false döndürüldüyse, hatanın mahiyetini anlamak için mysql_error() işlevini kullanın.

Örnekler

Örnek 1 - mysql_db_name() örneği

<?php
error_reporting(E_ALL);

$link = mysql_connect('dbhost', 'kullanıcı', 'parola');
$db_list = mysql_list_dbs($link);

$i = 0;
$bgl = mysql_num_rows($db_list);
while ($i < $bgl) {
echo mysql_db_name($db_list, $i) . "\n";
$i++;
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_dbname()

Ayrıca Bakınız

  • mysql_list_dbs() - Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler
  • mysql_tablename() - Alanın tablo adını al


Veritabanını seçer ve bir sorgu çalıştırır

  • « mysql_db_name
  • mysql_drop_db »
  • PHP Manual
  • MySQL İşlevleri
  • Veritabanını seçer ve bir sorgu çalıştırır

mysql_db_query

(PHP 4, PHP 5)

mysql_db_query — Veritabanını seçer ve bir sorgu çalıştırır

Uyarı

PHP 5.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • mysqli_select_db() ardından sorgu
  • PDO::__construct()

Açıklama

mysql_db_query(string $veritabanı, string $sorgu, resource $bağlantı_belirteci = null): resource|bool

mysql_db_query() bir veritabanı seçip üzerinde bir sorgu çalıştırır.

Bağımsız Değişkenler

veritabanı

Seçilecek veritabanının adı.

sorgu

MySQL sorgusu.

Sorgunun içindeki verinin gerektiği gibi öncelenmesi gerekir.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda sorgu sonucuna olumlu bir MySQL sonuç göstericisi, hata durumunda false döndürür. Bu işlev INSERT/UPDATE/DELETE sorgularında da başarı/hata durumunu bildirmek için true/false döndürür.

Örnekler

Örnek 1 - mysql_db_query() yerine kullanılabilecek kod örneği

<?php

if (!$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'mysql\'e bağlanamadı';
exit;
}

if (!mysql_select_db('mysql_dbname', $link)) {
echo 'Veritabanını seçemedi';
exit;
}

$sql = 'SELECT foo FROM bar WHERE id = 42';
$result = mysql_query($sql, $link);

if (!$result) {
echo "Veritabanı hatası, veritabanını sorgulayamıyor\n";
echo 'MySQL Hatası: ' . mysql_error();
exit;
}

while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}

mysql_free_result($result);

?>

Notlar

Bilginize:

Bu işlevin daha önce bağlandığınız veritabanına kendiliğinden geri DÖNMEDİĞİNE dikkat ediniz. Başka bir deyişle, bu işlevi başka bir veritabanında geçici olarak bir sql sorgusu çalıştırmak için kullanamazsınız, önceki veritabanına kendiniz dönmeniz gerekir. Kullanıcıların sorgularında veritabanı.tablo sözdizimini veya bu işlev yerine mysql_select_db() işlevini kullanmaları şiddetle tavsiye edilir.

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query
  • mysql_select_db() - Bir MySQL veritabanı seçer


Drop (delete) a MySQL database

  • « mysql_db_query
  • mysql_errno »
  • PHP Manual
  • MySQL İşlevleri
  • Drop (delete) a MySQL database

mysql_drop_db

(PHP 4, PHP 5)

mysql_drop_db — Drop (delete) a MySQL database

Uyarı

PHP 4.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • Execute a DROP DATABASE query

Açıklama

mysql_drop_db(string $database_name, resource $link_identifier = NULL): bool

mysql_drop_db() attempts to drop (remove) an entire database from the server associated with the specified link identifier. This function is deprecated, it is preferable to use mysql_query() to issue an sql DROP DATABASE statement instead.

Bağımsız Değişkenler

database_name

The name of the database that will be deleted.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysql_drop_db() alternative example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}

$sql = 'DROP DATABASE my_db';
if (mysql_query($sql, $link)) {
echo "Database my_db was successfully dropped\n";
} else {
echo 'Error dropping database: ' . mysql_error() . "\n";
}
?>

Notlar

Uyarı

This function will not be available if the MySQL extension was built against a MySQL 4.x client library.

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_dropdb()

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query


Returns the numerical value of the error message from previous MySQL operation

  • « mysql_drop_db
  • mysql_error »
  • PHP Manual
  • MySQL İşlevleri
  • Returns the numerical value of the error message from previous MySQL operation

mysql_errno

(PHP 4, PHP 5)

mysql_errno — Returns the numerical value of the error message from previous MySQL operation

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_errno()
  • PDO::errorCode()

Açıklama

mysql_errno(resource $link_identifier = NULL): int

Returns the error number from the last MySQL function.

Errors coming back from the MySQL database backend no longer issue warnings. Instead, use mysql_errno() to retrieve the error code. Note that this function only returns the error code from the most recently executed MySQL function (not including mysql_error() and mysql_errno()), so if you want to use it, make sure you check the value before calling another MySQL function.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Returns the error number from the last MySQL function, or 0 (zero) if no error occurred.

Örnekler

Örnek 1 mysql_errno() example

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!mysql_select_db("nonexistentdb", $link)) {
echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}

mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Ayrıca Bakınız

  • mysql_error() - Returns the text of the error message from previous MySQL operation
  • » MySQL error codes


Returns the text of the error message from previous MySQL operation

  • « mysql_errno
  • mysql_escape_string »
  • PHP Manual
  • MySQL İşlevleri
  • Returns the text of the error message from previous MySQL operation

mysql_error

(PHP 4, PHP 5)

mysql_error — Returns the text of the error message from previous MySQL operation

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_error()
  • PDO::errorInfo()

Açıklama

mysql_error(resource $link_identifier = NULL): string

Returns the error text from the last MySQL function. Errors coming back from the MySQL database backend no longer issue warnings. Instead, use mysql_error() to retrieve the error text. Note that this function only returns the error text from the most recently executed MySQL function (not including mysql_error() and mysql_errno()), so if you want to use it, make sure you check the value before calling another MySQL function.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Returns the error text from the last MySQL function, or '' (empty string) if no error occurred.

Örnekler

Örnek 1 mysql_error() example

<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");

mysql_select_db("nonexistentdb", $link);
echo mysql_errno($link) . ": " . mysql_error($link). "\n";

mysql_select_db("kossu", $link);
mysql_query("SELECT * FROM nonexistenttable", $link);
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Ayrıca Bakınız

  • mysql_errno() - Returns the numerical value of the error message from previous MySQL operation
  • » MySQL error codes


Escapes a string for use in a mysql_query

  • « mysql_error
  • mysql_fetch_array »
  • PHP Manual
  • MySQL İşlevleri
  • Escapes a string for use in a mysql_query

mysql_escape_string

(PHP 4 >= 4.0.3, PHP 5)

mysql_escape_string — Escapes a string for use in a mysql_query

Uyarı

PHP 4.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • mysqli_escape_string()
  • PDO::quote()

Açıklama

mysql_escape_string(string $unescaped_string): string

This function will escape the unescaped_string, so that it is safe to place it in a mysql_query(). This function is deprecated.

This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.

Bağımsız Değişkenler

unescaped_string

The string that is to be escaped.

Dönen Değerler

Returns the escaped string.

Örnekler

Örnek 1 mysql_escape_string() example

<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>

Yukarıdaki örneğin çıktısı:

Escaped string: Zak\'s Laptop

Notlar

Bilginize:

mysql_escape_string() does not escape % and _.

Ayrıca Bakınız

  • mysql_real_escape_string() - Escapes special characters in a string for use in an SQL statement


Fetch a result row as an associative array, a numeric array, or both

  • « mysql_escape_string
  • mysql_fetch_assoc »
  • PHP Manual
  • MySQL İşlevleri
  • Fetch a result row as an associative array, a numeric array, or both

mysql_fetch_array

(PHP 4, PHP 5)

mysql_fetch_array — Fetch a result row as an associative array, a numeric array, or both

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_array()
  • PDOStatement::fetch()

Açıklama

mysql_fetch_array(resource $result, int $result_type = MYSQL_BOTH): array

Returns an array that corresponds to the fetched row and moves the internal data pointer ahead.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

result_type

The type of array that is to be fetched. It's a constant and can take the following values: MYSQL_ASSOC, MYSQL_NUM, and MYSQL_BOTH.

Dönen Değerler

Returns an array of strings that corresponds to the fetched row, or false if there are no more rows. The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works).

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you must use the numeric index of the column or make an alias for the column. For aliased columns, you cannot access the contents with the original column name.

Örnekler

Örnek 1 Query with aliased duplicate field names

SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Örnek 2 mysql_fetch_array() with MYSQL_NUM

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID: %s Name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Örnek 3 mysql_fetch_array() with MYSQL_ASSOC

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]);
}

mysql_free_result($result);
?>

Örnek 4 mysql_fetch_array() with MYSQL_BOTH

<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}

mysql_free_result($result);
?>

Notlar

Bilginize: Performance

An important thing to note is that using mysql_fetch_array() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Ayrıca Bakınız

  • mysql_fetch_row() - Get a result row as an enumerated array
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_data_seek() - Move internal result pointer
  • mysql_query() - Send a MySQL query


Fetch a result row as an associative array

  • « mysql_fetch_array
  • mysql_fetch_field »
  • PHP Manual
  • MySQL İşlevleri
  • Fetch a result row as an associative array

mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Fetch a result row as an associative array

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_assoc()
  • PDOStatement::fetch() with mode as PDO::FETCH_ASSOC

Açıklama

mysql_fetch_assoc(resource $result): array

Returns an associative array that corresponds to the fetched row and moves the internal data pointer ahead. mysql_fetch_assoc() is equivalent to calling mysql_fetch_array() with MYSQL_ASSOC for the optional second parameter. It only returns an associative array.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Returns an associative array of strings that corresponds to the fetched row, or false if there are no more rows.

If two or more columns of the result have the same field names, the last column will take precedence. To access the other column(s) of the same name, you either need to access the result with numeric indices by using mysql_fetch_row() or add alias names. See the example at the mysql_fetch_array() description about aliases.

Örnekler

Örnek 1 An expanded mysql_fetch_assoc() example

<?php

$conn = mysql_connect("localhost", "mysql_user", "mysql_password");

if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}

if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}

$sql = "SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";

$result = mysql_query($sql);

if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}

if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}

// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $userid, $fullname, and $userstatus
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}

mysql_free_result($result);

?>

Notlar

Bilginize: Performance

An important thing to note is that using mysql_fetch_assoc() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Ayrıca Bakınız

  • mysql_fetch_row() - Get a result row as an enumerated array
  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_data_seek() - Move internal result pointer
  • mysql_query() - Send a MySQL query
  • mysql_error() - Returns the text of the error message from previous MySQL operation


Get column information from a result and return as an object

  • « mysql_fetch_assoc
  • mysql_fetch_lengths »
  • PHP Manual
  • MySQL İşlevleri
  • Get column information from a result and return as an object

mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Get column information from a result and return as an object

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field()
  • PDOStatement::getColumnMeta()

Açıklama

mysql_fetch_field(resource $result, int $field_offset = 0): object

Returns an object containing field information. This function can be used to obtain information about fields in the provided query result.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

field_offset

The numerical field offset. If the field offset is not specified, the next field that was not yet retrieved by this function is retrieved. The field_offset starts at 0.

Dönen Değerler

Returns an object containing field information. The properties of the object are:

  • name - column name
  • table - name of the table the column belongs to, which is the alias name if one is defined
  • max_length - maximum length of the column
  • not_null - 1 if the column cannot be null
  • primary_key - 1 if the column is a primary key
  • unique_key - 1 if the column is a unique key
  • multiple_key - 1 if the column is a non-unique key
  • numeric - 1 if the column is numeric
  • blob - 1 if the column is a BLOB
  • type - the type of the column
  • unsigned - 1 if the column is unsigned
  • zerofill - 1 if the column is zero-filled

Örnekler

Örnek 1 mysql_fetch_field() example

<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
die('Query failed: ' . mysql_error());
}
/* get column metadata */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Information for column $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "No information available<br />\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($result);
?>

Notlar

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize:

If field or tablenames are aliased in the SQL query the aliased name will be returned. The original name can be retrieved for instance by using mysqli_result::fetch_field().

Ayrıca Bakınız

  • mysql_field_seek() - Sonuç göstericisini belirtilen alan konumuna ayarla


Bir sonuçtaki her bir çıktının uzunluğunu al

  • « mysql_fetch_field
  • mysql_fetch_object »
  • PHP Manual
  • MySQL İşlevleri
  • Bir sonuçtaki her bir çıktının uzunluğunu al

mysql_fetch_lengths

(PHP 4, PHP 5)

mysql_fetch_lengths — Bir sonuçtaki her bir çıktının uzunluğunu al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_lengths()
  • PDOStatement::getColumnMeta()

Açıklama

mysql_fetch_lengths(resource $sonuç): array|false

MySQL'den çekilen son satırdaki alanların uzunluklarını içeren bir dizi döndürür.

mysql_fetch_lengths() işlevi,
mysql_fetch_row(),
mysql_fetch_assoc(),
mysql_fetch_array() ve
mysql_fetch_object() tarafından döndürülen son satırdaki
her bir sonuç sütununun uzunluğunu ilk elemanının indisi 0 olan bir dizide
döndürür.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Başarı durumunda bir uzunluklar dizisi, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_fetch_lengths() örneği

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Sorgu çalıştırılamadı: ' . mysql_error();
exit;
}
$row = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);

print_r($row);
print_r($lengths);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [id] => 42
    [email] => user@example.com
)
Array
(
    [0] => 2
    [1] => 16
)

Ayrıca Bakınız

  • mysql_field_len() - Belirtilen alanın uzunluğunu döndürür
  • mysql_fetch_row() - Get a result row as an enumerated array
  • strlen() - Dizge uzunluğunu döndürür


Fetch a result row as an object

  • « mysql_fetch_lengths
  • mysql_fetch_row »
  • PHP Manual
  • MySQL İşlevleri
  • Fetch a result row as an object

mysql_fetch_object

(PHP 4, PHP 5)

mysql_fetch_object — Fetch a result row as an object

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_object()
  • PDOStatement::fetch() with mode as PDO::FETCH_OBJ

Açıklama

mysql_fetch_object(resource $result, string $class_name = ?, array $params = ?): object

Returns an object with properties that correspond to the fetched row and moves the internal data pointer ahead.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

class_name

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

params

An optional array of parameters to pass to the constructor for class_name objects.

Dönen Değerler

Returns an object with string properties that correspond to the fetched row, or false if there are no more rows.

Örnekler

Örnek 1 mysql_fetch_object() example

<?php
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>

Örnek 2 mysql_fetch_object() example

<?php
class foo {
public $name;
}

mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");

$result = mysql_query("select name from mytable limit 1");
$obj = mysql_fetch_object($result, 'foo');
var_dump($obj);
?>

Notlar

Bilginize: Performance

Speed-wise, the function is identical to mysql_fetch_array(), and almost as quick as mysql_fetch_row() (the difference is insignificant).

Bilginize:

mysql_fetch_object() is similar to mysql_fetch_array(), with one difference - an object is returned, instead of an array. Indirectly, that means that you can only access the data by the field names, and not by their offsets (numbers are illegal property names).

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Ayrıca Bakınız

  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_fetch_row() - Get a result row as an enumerated array
  • mysql_data_seek() - Move internal result pointer
  • mysql_query() - Send a MySQL query


Get a result row as an enumerated array

  • « mysql_fetch_object
  • mysql_field_flags »
  • PHP Manual
  • MySQL İşlevleri
  • Get a result row as an enumerated array

mysql_fetch_row

(PHP 4, PHP 5)

mysql_fetch_row — Get a result row as an enumerated array

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_row()
  • PDOStatement::fetch() with mode as PDO::FETCH_NUM

Açıklama

mysql_fetch_row(resource $result): array

Returns a numerical array that corresponds to the fetched row and moves the internal data pointer ahead.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Returns an numerical array of strings that corresponds to the fetched row, or false if there are no more rows.

mysql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Örnekler

Örnek 1 Fetching one row with mysql_fetch_row()

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value
?>

Notlar

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Ayrıca Bakınız

  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_fetch_object() - Fetch a result row as an object
  • mysql_data_seek() - Move internal result pointer
  • mysql_fetch_lengths() - Bir sonuçtaki her bir çıktının uzunluğunu al
  • mysql_result() - Get result data


Get the flags associated with the specified field in a result

  • « mysql_fetch_row
  • mysql_field_len »
  • PHP Manual
  • MySQL İşlevleri
  • Get the flags associated with the specified field in a result

mysql_field_flags

(PHP 4, PHP 5)

mysql_field_flags — Get the flags associated with the specified field in a result

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field_direct() [flags]
  • PDOStatement::getColumnMeta() [flags]

Açıklama

mysql_field_flags(resource $result, int $field_offset): string|false

mysql_field_flags() returns the field flags of the specified field. The flags are reported as a single word per flag separated by a single space, so that you can split the returned value using explode().

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Returns a string of flags associated with the result başarısızlık durumunda false döner.

The following flags are reported, if your version of MySQL is current enough to support them: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment" and "timestamp".

Örnekler

Örnek 1 A mysql_field_flags() example

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$flags = mysql_field_flags($result, 0);

echo $flags;
print_r(explode(' ', $flags));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

not_null primary_key auto_increment
Array
(
    [0] => not_null
    [1] => primary_key
    [2] => auto_increment
)

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_fieldflags()

Ayrıca Bakınız

  • mysql_field_type() - Get the type of the specified field in a result
  • mysql_field_len() - Belirtilen alanın uzunluğunu döndürür


Belirtilen alanın uzunluğunu döndürür

  • « mysql_field_flags
  • mysql_field_name »
  • PHP Manual
  • MySQL İşlevleri
  • Belirtilen alanın uzunluğunu döndürür

mysql_field_len

(PHP 4, PHP 5)

mysql_field_len — Belirtilen alanın uzunluğunu döndürür

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field_direct() [length]
  • PDOStatement::getColumnMeta() [len]

Açıklama

mysql_field_len(resource $result, int $alan_konumu): int|false

mysql_field_len() işlevi, belirtilen alanın uzunluğunu döndürür.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda indisi belirtilen alanın uzunluğu, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_field_len() örneği

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Sorgu çalıştırılamadı: ' . mysql_error();
exit;
}

// id alanının veritabanı yapısında belirtilen uzunluğu
$uzunluk = mysql_field_len($result, 0);
echo $uzunluk;
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_fieldlen()

Ayrıca Bakınız

  • mysql_fetch_lengths() - Bir sonuçtaki her bir çıktının uzunluğunu al
  • strlen() - Dizge uzunluğunu döndürür


Get the name of the specified field in a result

  • « mysql_field_len
  • mysql_field_seek »
  • PHP Manual
  • MySQL İşlevleri
  • Get the name of the specified field in a result

mysql_field_name

(PHP 4, PHP 5)

mysql_field_name — Get the name of the specified field in a result

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field_direct() [name] or [orgname]
  • PDOStatement::getColumnMeta() [name]

Açıklama

mysql_field_name(resource $result, int $field_offset): string|false

mysql_field_name() returns the name of the specified field index.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

The name of the specified field index on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 mysql_field_name() example

<?php
/* The users table consists of three fields:
* user_id
* username
* password.
*/
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

Yukarıdaki örneğin çıktısı:

user_id
password

Notlar

Bilginize: Bu işlevden dönen alan isimlerinin harf büyüklüklerinde değişiklik yapılmaz.

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_fieldname()

Ayrıca Bakınız

  • mysql_field_type() - Get the type of the specified field in a result
  • mysql_field_len() - Belirtilen alanın uzunluğunu döndürür


Sonuç göstericisini belirtilen alan konumuna ayarla

  • « mysql_field_name
  • mysql_field_table »
  • PHP Manual
  • MySQL İşlevleri
  • Sonuç göstericisini belirtilen alan konumuna ayarla

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek — Sonuç göstericisini belirtilen alan konumuna ayarla

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_field_seek()
  • göst_yönü ve göst_başlangıcı bağımsız değişkenleri kullanılarak PDOStatement::fetch()

Açıklama

mysql_field_seek(resource $sonuç, int $alan_konumu): bool

Belirtilen göreli alan konumuna gider. Eğer mysql_fetch_field() işlevinin sonraki çağrısı göreli bir alan konumu içermiyorsa, mysql_field_seek() işlevinde belirtilen göreli alan konumu döndürülür.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mysql_fetch_field() - Get column information from a result and return as an object


Belirtilen alanı içeren tablonun adını al

  • « mysql_field_seek
  • mysql_field_type »
  • PHP Manual
  • MySQL İşlevleri
  • Belirtilen alanı içeren tablonun adını al

mysql_field_table

(PHP 4, PHP 5)

mysql_field_table — Belirtilen alanı içeren tablonun adını al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field_direct() [table] veya [orgtable]
  • PDOStatement::getColumnMeta() [table]

Açıklama

mysql_field_table(resource $sonuç, int $alan_konumu): string

Belirtilen alanı içeren tablonun adını döndürür.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda tablonun adı.

Örnekler

Örnek 1 - mysql_field_table() örneği

<?php

$sorgu = "SELECT account.*, country.* FROM account, country " .
"WHERE country.name = 'Portugal' AND account.country_id = country.id";

// Veritabanından sonucu al
$sonuc = mysql_query($sorgu);

// Önce tablo adını sonra alan adını listele
for ($i = 0; $i < mysql_num_fields($sonuc); ++$i) {
$tablo = mysql_field_table($sonuc, $i);
$alan = mysql_field_name($sonuc, $i);

echo "$tablo: $alan\n";
}

?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_fieldtable()

Ayrıca Bakınız

  • mysql_list_tables() - Bir MySQL veritabanındaki tabloları listele


Get the type of the specified field in a result

  • « mysql_field_table
  • mysql_free_result »
  • PHP Manual
  • MySQL İşlevleri
  • Get the type of the specified field in a result

mysql_field_type

(PHP 4, PHP 5)

mysql_field_type — Get the type of the specified field in a result

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_fetch_field_direct() [type]
  • PDOStatement::getColumnMeta() [driver:decl_type] or [pdo_type]

Açıklama

mysql_field_type(resource $result, int $field_offset): string

mysql_field_type() is similar to the mysql_field_name() function. The arguments are identical, but the field type is returned instead.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

alan_konumu

Alanın sayısal konumu. 0'dan başlar. Eğer bir alan konumu yoksa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

The returned field type will be one of "int", "real", "string", "blob", and others as detailed in the » MySQL documentation.

Örnekler

Örnek 1 mysql_field_type() example

<?php
mysql_connect("localhost", "mysql_username", "mysql_password");
mysql_select_db("mysql");
$result = mysql_query("SELECT * FROM func");
$fields = mysql_num_fields($result);
$rows = mysql_num_rows($result);
$table = mysql_field_table($result, 0);
echo "Your '" . $table . "' table has " . $fields . " fields and " . $rows . " record(s)\n";
echo "The table has the following fields:\n";
for ($i=0; $i < $fields; $i++) {
$type = mysql_field_type($result, $i);
$name = mysql_field_name($result, $i);
$len = mysql_field_len($result, $i);
$flags = mysql_field_flags($result, $i);
echo $type . " " . $name . " " . $len . " " . $flags . "\n";
}
mysql_free_result($result);
mysql_close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Your 'func' table has 4 fields and 1 record(s)
The table has the following fields:
string name 64 not_null primary_key binary
int ret 1 not_null
string dl 128 not_null
string type 9 not_null enum

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_fieldtype()

Ayrıca Bakınız

  • mysql_field_name() - Get the name of the specified field in a result
  • mysql_field_len() - Belirtilen alanın uzunluğunu döndürür


Sonuç belleğini serbest bırakır

  • « mysql_field_type
  • mysql_get_client_info »
  • PHP Manual
  • MySQL İşlevleri
  • Sonuç belleğini serbest bırakır

mysql_free_result

(PHP 4, PHP 5)

mysql_free_result — Sonuç belleğini serbest bırakır

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_free_result()
  • PDOStatement::closeCursor() yöntemine veya PDO nesnesine null değerini atar

Açıklama

mysql_free_result(resource $sonuç): bool

mysql_free_result() işlevi, sonuç sonuç göstericisine ayrılan belleği serbest bırakır.

mysql_free_result()'ın sadece büyük sonuç kümeleri döndüren sorgularda kullanılan bellek miktarını önemsiyorsanız kullanılması gerekmektedir. Sonuç belleği, betiğin çalışması sona erdiğinde otomatik olarak serbest bırakılır.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Eğer belirtilen sonuç bağımsız değişkeni resource türünde değilse, E_WARNING seviyesinde bir hata oluşacaktır. mysql_query() işlevinin SELECT, SHOW, EXPLAIN ve DESCRIBE sorguları için resource türünde tek bir sonuç döndürdüğünü bilmenizde yarar var.

Örnekler

Örnek 1 - mysql_free_result() örneği

<?php
$sonuç = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$sonuç) {
echo 'Sorgu çalıştırılamadı: ' . mysql_error();
exit;
}
/* Sonucu kullandıktan sonra onunla işimizin bittiğini varsayıyoruz */
$row = mysql_fetch_assoc($sonuç);

/* Şimdi sonucu serbest bırakıyoruz ve betiğimize devam ediyoruz */
mysql_free_result($sonuç);

echo $row['id'];
echo $row['email'];
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_freeresult()

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query
  • is_resource() - Değişken resource türünde mi diye bakar


MySQL istemci sürüm bilgisini al

  • « mysql_free_result
  • mysql_get_host_info »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL istemci sürüm bilgisini al

mysql_get_client_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_client_info — MySQL istemci sürüm bilgisini al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_get_client_info()
  • isim özniteliği için PDO::ATTR_CLIENT_VERSION kullanarak PDOStatement::getAttribute()

Açıklama

mysql_get_client_info(): string

mysql_get_client_info() istemci kütüphane sürümünü bildiren bir dizge döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

MySQL istemci sürümü.

Örnekler

Örnek 1 - mysql_get_client_info() örneği

<?php
printf("MySQL istemci sürümü: %s\n", mysql_get_client_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

MySQL istemci sürümü: 3.23.39

Ayrıca Bakınız

  • mysql_get_host_info() - MySQL konak bilgisini al
  • mysql_get_proto_info() - MySQL protokol sürüm bilgisini al
  • mysql_get_server_info() - MySQL sunucu bilgisini al


MySQL konak bilgisini al

  • « mysql_get_client_info
  • mysql_get_proto_info »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL konak bilgisini al

mysql_get_host_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_host_info — MySQL konak bilgisini al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_get_host_info()
  • isim özniteliği için PDO::ATTR_CONNECTION_STATUS kullanarak PDOStatement::getAttribute()

Açıklama

mysql_get_host_info(resource $bağlantı_belirteci = null): string|false

Bağlantı için kullanılmakta olan bağlantının türünü ve sunucunun konak adını döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda bağlantı için kullanılmakta olan MySQL bağlantısının türünü içeren bir dizge, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_get_host_info() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_parolası');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
printf("MySQL konak bilgisi: %s\n", mysql_get_host_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

MySQL konak bilgisi: Localhost via UNIX socket

Ayrıca Bakınız

  • mysql_get_client_info() - MySQL istemci sürüm bilgisini al
  • mysql_get_proto_info() - MySQL protokol sürüm bilgisini al
  • mysql_get_server_info() - MySQL sunucu bilgisini al


MySQL protokol sürüm bilgisini al

  • « mysql_get_host_info
  • mysql_get_server_info »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL protokol sürüm bilgisini al

mysql_get_proto_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_proto_info — MySQL protokol sürüm bilgisini al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_get_proto_info()

Açıklama

mysql_get_proto_info(resource $bağlantı_belirteci = null): int|false

MySQL protokol sürümünü döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda MySQL protokol sürümünü, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_get_proto_info() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_parolası');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
printf("MySQL protokol sürümü: %s\n", mysql_get_proto_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

MySQL protokol sürümü: 10

Ayrıca Bakınız

  • mysql_get_client_info() - MySQL istemci sürüm bilgisini al
  • mysql_get_host_info() - MySQL konak bilgisini al
  • mysql_get_server_info() - MySQL sunucu bilgisini al


MySQL sunucu bilgisini al

  • « mysql_get_proto_info
  • mysql_info »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL sunucu bilgisini al

mysql_get_server_info

(PHP 4 >= 4.0.5, PHP 5)

mysql_get_server_info — MySQL sunucu bilgisini al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_get_server_info()
  • isim özniteliği için PDO::ATTR_SERVER_VERSION kullanarak PDOStatement::getAttribute()

Açıklama

mysql_get_server_info(resource $bağlantı_belirteci = null): string|false

MySQL sunucu sürümünü döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda MySQL sunucu sürümünü, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_get_server_info() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_parolası');
if (!$link) {
die('Bağlanamadı: ' . mysql_error());
}
printf("MySQL sunucu sürümü: %s\n", mysql_get_server_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

MySQL sunucu sürümü: 4.0.1-alpha

Ayrıca Bakınız

  • mysql_get_client_info() - MySQL istemci sürüm bilgisini al
  • mysql_get_host_info() - MySQL konak bilgisini al
  • mysql_get_proto_info() - MySQL protokol sürüm bilgisini al
  • phpversion() - Çalışan PHP'nin sürümünü döndürür


En son sorgu hakkında bilgi al

  • « mysql_get_server_info
  • mysql_insert_id »
  • PHP Manual
  • MySQL İşlevleri
  • En son sorgu hakkında bilgi al

mysql_info

(PHP 4 >= 4.3.0, PHP 5)

mysql_info — En son sorgu hakkında bilgi al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_info()

Açıklama

mysql_info(resource $bağlantı_belirteci = null): string

Son sorgu hakkında ayrıntılı bilgi döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda ifade ile ilgili bilgi, hata durumunda false döndürür. Hangi deyimlerin ne değer döndürdüğünü görmek için aşağıdaki örneğe bakın. Burada listelenmemiş deyimler false döndürecektir.

Örnekler

Örnek 1 - İlgili MySQL Deyimleri

Dizge döndüren deyimler. Sayılar sadece betimleme amaçlıdır; yani, değerleri sorguya göre olacaktır.

INSERT INTO ... SELECT ...
String format: Records: 23 Duplicates: 0 Warnings: 0
INSERT INTO ... VALUES (...),(...),(...)...
String format: Records: 37 Duplicates: 0 Warnings: 0
LOAD DATA INFILE ...
String format: Records: 42 Deleted: 0 Skipped: 0 Warnings: 0
ALTER TABLE
String format: Records: 60 Duplicates: 0 Warnings: 0
UPDATE
String format: Rows matched: 65 Changed: 65 Warnings: 0

Notlar

Bilginize:

mysql_info() işlevi, INSERT ... VALUES deyimi için sadece ve sadece deyimde birden fazla değer listesi belirtildiği takdirde false dışında bir değer döndürecektir.

Ayrıca Bakınız

  • mysql_affected_rows() - Önceki MySQL işleminde etkilenen satırların sayısını al
  • mysql_insert_id() - Get the ID generated in the last query
  • mysql_stat() - Geçerli sunucu durumunu döndürür


Get the ID generated in the last query

  • « mysql_info
  • mysql_list_dbs »
  • PHP Manual
  • MySQL İşlevleri
  • Get the ID generated in the last query

mysql_insert_id

(PHP 4, PHP 5)

mysql_insert_id — Get the ID generated in the last query

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_insert_id()
  • PDO::lastInsertId()

Açıklama

mysql_insert_id(resource $link_identifier = NULL): int

Retrieves the ID generated for an AUTO_INCREMENT column by the previous query (usually INSERT).

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

The ID generated for an AUTO_INCREMENT column by the previous query on success, 0 if the previous query does not generate an AUTO_INCREMENT value, or false if no MySQL connection was established.

Örnekler

Örnek 1 mysql_insert_id() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>

Notlar

Dikkat

mysql_insert_id() will convert the return type of the native MySQL C API function mysql_insert_id() to a type of long (named int in PHP). If your AUTO_INCREMENT column has a column type of BIGINT (64 bits) the conversion may result in an incorrect value. Instead, use the internal MySQL SQL function LAST_INSERT_ID() in an SQL query. For more information about PHP's maximum integer values, please see the integer documentation.

Bilginize:

Because mysql_insert_id() acts on the last performed query, be sure to call mysql_insert_id() immediately after the query that generates the value.

Bilginize:

The value of the MySQL SQL function LAST_INSERT_ID() always contains the most recently generated AUTO_INCREMENT value, and is not reset between queries.

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query
  • mysql_info() - En son sorgu hakkında bilgi al


Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler

  • « mysql_insert_id
  • mysql_list_fields »
  • PHP Manual
  • MySQL İşlevleri
  • Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler

mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs — Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler

Uyarı

PHP 5.4.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • SQL Sorgusu: SHOW DATABASES

Açıklama

mysql_list_dbs(resource $bağlantı_belirteci = null): resource

MySQL sunucusundaki kullanılabilir veritabanlarını içeren bir sonuç göstericisi döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda resource türünde bir sonuç göstericisi, hata durumunda false döndürür. Bu sonuç göstericisinin veya mysql_fetch_array() gibi sonuç tabloları üreten bir işlevden elde edilen işlevselliğin tersini elde etmek için mysql_tablename() işlevini kullanın.

Örnekler

Örnek 1 - mysql_list_dbs() kullanmama örneği

<?php
// mysql_list_dbs() olmaksızın kullanım
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$res = mysql_query("SHOW DATABASES");

while ($row = mysql_fetch_assoc($res)) {
echo $row['Database'] . "\n";
}

// PHP 5.4.0 itibariyle önerilmiyor
$link = mysql_connect('localhost', 'mysql_user', 'mysql_parolası');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
echo $row->Database . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

database1
database2
database3

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_listdbs()

Ayrıca Bakınız

  • mysql_db_name() - mysql_list_dbs çağrısından veritabanı adını alır
  • mysql_select_db() - Bir MySQL veritabanı seçer


MySQL tablosunun alanlarını listeler

  • « mysql_list_dbs
  • mysql_list_processes »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL tablosunun alanlarını listeler

mysql_list_fields

(PHP 4, PHP 5)

mysql_list_fields — MySQL tablosunun alanlarını listeler

Uyarı

PHP 5.4.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • SQL Sorgusu: SHOW COLUMNS FROM tablo_adı

Açıklama

mysql_list_fields(string $veritabanı_adı, string $tablo_adı, resource $bağlantı_belirteci = null): resource

Verilen tablo hakkındaki bilgileri alır.

Bu işlevin kullanımı önerilmemektedir. Bunun yerine, SHOW COLUMNS FROM table [LIKE 'ad'] şeklinde bir ifade çalıştırmak için mysql_query() işlevini kullanmak tercih edilebilir.

Bağımsız Değişkenler

veritabanı_adı

Sorgulanan veritabanının adı.

tablo_adı

Sorgulanan tablonun adı.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda resource türünde bir sonuç göstericisi, hata durumunda false döndürür.

Döndürülen sonuç  mysql_field_flags(),
mysql_field_len(),
mysql_field_name()  ve
mysql_field_type() ile kullanılabilir.

Örnekler

Örnek 1 - mysql_list_fields() yerine kullanılabilecek kod örneği

<?php
$sonuç = mysql_query("SHOW COLUMNS FROM birtablo");
if (!$sonuç) {
echo 'Sorguyu çalıştıramadı: ' . mysql_error();
exit;
}
if (mysql_num_rows($sonuç) > 0) {
while ($satır = mysql_fetch_assoc($sonuç)) {
print_r($satır);
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)
Array
(
    [Field] => email
    [Type] => varchar(100)
    [Null] =>
    [Key] =>
    [Default] =>
    [Extra] =>
)

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_listfields()

Ayrıca Bakınız

  • mysql_field_flags() - Get the flags associated with the specified field in a result
  • mysql_info() - En son sorgu hakkında bilgi al


MySQL süreçlerini listeler

  • « mysql_list_fields
  • mysql_list_tables »
  • PHP Manual
  • MySQL İşlevleri
  • MySQL süreçlerini listeler

mysql_list_processes

(PHP 4 >= 4.3.0, PHP 5)

mysql_list_processes — MySQL süreçlerini listeler

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_thread_id()

Açıklama

mysql_list_processes(resource $bağlantı_belirteci = null): resource|false

Geçerli MySQL sunucu evrelerini alır.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda resource türünde bir sonuç göstericisi, hata durumunda false döner.

Örnekler

Örnek 1 - mysql_list_processes() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_parolası');

$result = mysql_list_processes($link);
while ($row = mysql_fetch_assoc($result)){
printf("%s %s %s %s %s\n", $row["Id"], $row["Host"], $row["db"],
$row["Command"], $row["Time"]);
}
mysql_free_result($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1 localhost test Processlist 0
4 localhost mysql sleep 5

Ayrıca Bakınız

  • mysql_thread_id() - Geçerli evre numarasını döndür
  • mysql_stat() - Geçerli sunucu durumunu döndürür


Bir MySQL veritabanındaki tabloları listele

  • « mysql_list_processes
  • mysql_num_fields »
  • PHP Manual
  • MySQL İşlevleri
  • Bir MySQL veritabanındaki tabloları listele

mysql_list_tables

(PHP 4, PHP 5)

mysql_list_tables — Bir MySQL veritabanındaki tabloları listele

Uyarı

PHP 4.3.0 itibariyle bu işlevin kullanımı önerilmemekte olup bu işlev ve özgün MySQL eklentisinin tamamı PHP 7.0.0 itibariyle kaldırılmıştır. Yerine, etkin olarak geliştirilmekte olan MySQLi veya PDO_MySQL extensions kullanılabilir. Ek bilgi: MySQL: Bir API Seçimi Bu işlev yerine kullanılabilecekler:

  • SQL Sorgusu: SHOW TABLES FROM veritabanı

Açıklama

mysql_list_tables(string $veritabanı, resource $bağlantı_belirteci = null): resource|false

Bir MySQL veritabanından tabloların listesini alır.

Bu işlevin kullanımı önerilmemektedir. Bunun yerine, SHOW TABLES [FROM db_adı] [LIKE 'şablon'] gibi bir SQL sorgusu çalıştırmak için mysql_query() işlevinin kullanımı tercih edilebilir.

Bağımsız Değişkenler

veritabanı

Veritabanının adı.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda resource türünde bir sonuç göstericisi, hata durumunda false döndürür.

Bu sonuç göstericisinin veya mysql_fetch_array() gibi sonuç tabloları üreten bir işlevden elde edilen işlevselliğin tersini elde etmek için mysql_tablename() işlevini kullanın.

Sürüm Bilgisi

Sürüm: | Açıklama
4.3.7 | Bu işlevin kullanımı artık önerilmiyor.

Örnekler

Örnek 1 - mysql_list_tables() yerine kullanılabilecek kod örneği

<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
echo 'mysql\'e bağlanılamadı';
exit;
}

$sql = "SHOW TABLES FROM $dbname";
$result = mysql_query($sql);

if (!$result) {
echo "Veritabanı hatası, tablolar listelenemedi\n";
echo 'MySQL Hatası: ' . mysql_error();
exit;
}

while ($row = mysql_fetch_row($result)) {
echo "Tablo: {$row[0]}\n";
}

mysql_free_result($result);
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_listtables()

Ayrıca Bakınız

  • mysql_list_dbs() - Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler
  • mysql_tablename() - Alanın tablo adını al


Sonuçtaki alan sayısını al

  • « mysql_list_tables
  • mysql_num_rows »
  • PHP Manual
  • MySQL İşlevleri
  • Sonuçtaki alan sayısını al

mysql_num_fields

(PHP 4, PHP 5)

mysql_num_fields — Sonuçtaki alan sayısını al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_num_fields()
  • PDOStatement::columnCount()

Açıklama

mysql_num_fields(resource $sonuç): int|false

Bir sorgunun döndürdüğü alanların sayısını alır.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Başarı durumunda resource türündeki sonuç kümesinde bulunan alanların sayısını, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_num_fields() örneği

<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Sorgu çalıştırılamadı: ' . mysql_error();
exit;
}

/* 2 döndürür, çünkü id,email === iki alan */
echo mysql_num_fields($result);
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_numfields()

Ayrıca Bakınız

  • mysql_select_db() - Bir MySQL veritabanı seçer
  • mysql_query() - Send a MySQL query
  • mysql_fetch_field() - Get column information from a result and return as an object
  • mysql_num_rows() - Sonuçtaki satır sayısını al


Sonuçtaki satır sayısını al

  • « mysql_num_fields
  • mysql_pconnect »
  • PHP Manual
  • MySQL İşlevleri
  • Sonuçtaki satır sayısını al

mysql_num_rows

(PHP 4, PHP 5)

mysql_num_rows — Sonuçtaki satır sayısını al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_num_rows()
  • mysqli_stmt_num_rows()
  • PDOStatement::rowCount()

Açıklama

mysql_num_rows(resource $sonuç): int|false

Bir sonuç kümesinden satırların sayısını alır. Bu komut sadece SELECT veya SHOW gibi gerçek bir sonuç kümesi döndüren ifadeler için geçerlidir. INSERT, UPDATE, REPLACE veya DELETE sorgusundan etkilenen satırların sayısını almak için mysql_affected_rows() işlevini kullanın.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

Başarı durumunda sonuç kümesindeki satırların sayısını, hata durumunda false döndürür.

Örnekler

Örnek 1 - mysql_num_rows() örneği

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Satır\n";

?>

Notlar

Bilginize:

mysql_unbuffered_query() işlevini kullanırsanız, mysql_num_rows() sonuç kümesindeki bütün satırlar alınana kadar gerçek değeri döndürmez.

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_numrows()

Ayrıca Bakınız

  • mysql_affected_rows() - Önceki MySQL işleminde etkilenen satırların sayısını al
  • mysql_connect() - MySQL Sunucusuna bir bağlantı açar
  • mysql_data_seek() - Move internal result pointer
  • mysql_select_db() - Bir MySQL veritabanı seçer
  • mysql_query() - Send a MySQL query


Open a persistent connection to a MySQL server

  • « mysql_num_rows
  • mysql_ping »
  • PHP Manual
  • MySQL İşlevleri
  • Open a persistent connection to a MySQL server

mysql_pconnect

(PHP 4, PHP 5)

mysql_pconnect — Open a persistent connection to a MySQL server

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_connect() with p: host prefix
  • PDO::__construct() with PDO::ATTR_PERSISTENT as a driver option

Açıklama

mysql_pconnect(
string $server = ini_get("mysql.default_host"),
string $username = ini_get("mysql.default_user"),
string $password = ini_get("mysql.default_password"),
int $client_flags = 0
): resource

Establishes a persistent connection to a MySQL server.

mysql_pconnect() acts very much like mysql_connect() with two major differences.

First, when connecting, the function would first try to find a (persistent) link that's already open with the same host, username and password. If one is found, an identifier for it will be returned instead of opening a new connection.

Second, the connection to the SQL server will not be closed when the execution of the script ends. Instead, the link will remain open for future use (mysql_close() will not close links established by mysql_pconnect()).

This type of link is therefore called 'persistent'.

Bağımsız Değişkenler

server

The MySQL server. It can also include a port number. e.g. "hostname:port" or a path to a local socket e.g. ":/path/to/socket" for the localhost.

If the PHP directive mysql.default_host is undefined (default), then the default value is 'localhost:3306'

username

The username. Default value is the name of the user that owns the server process.

password

The password. Default value is an empty password.

client_flags

The client_flags parameter can be a combination of the following constants: 128 (enable LOAD DATA LOCAL handling), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE.

Dönen Değerler

Returns a MySQL persistent link identifier on success, or false on failure.

Notlar

Bilginize:

Note, that these kind of links only work if you are using a module version of PHP. See the Persistent Database Connections section for more information.

Uyarı

Using persistent connections can require a bit of tuning of your Apache and MySQL configurations to ensure that you do not exceed the number of connections allowed by MySQL.

Ayrıca Bakınız

  • mysql_connect() - MySQL Sunucusuna bir bağlantı açar
  • Persistent Database Connections


Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan

  • « mysql_pconnect
  • mysql_query »
  • PHP Manual
  • MySQL İşlevleri
  • Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan

mysql_ping

(PHP 4 >= 4.3.0, PHP 5)

mysql_ping — Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_ping()

Açıklama

mysql_ping(resource $bağlantı_belirteci = NULL): bool

Sunucuyla bağlantının çalışıp çalışmadığına bakar. Eğer bağlantı kesilmişse, otomatik olarak yeniden bağlanmaya çalışır. Bu işlev, uzun süre boş kalan betikler tarafından, sunucunun bağlantıyı kapatıp kapatmadığını denetlemek ve eğer kapattıysa tekrar bağlanmak için kullanılabilir.

Bilginize:

MySQL 5.0.13'ten itibaren otomatik olarak yeniden bağlanma özelliği öntanımlı olarak devre dışı bırakılmıştır.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

MySQL sunucusuyla bağlantı çalışıyorsa true, çalışmıyorsa false döndürür.

Örnekler

Örnek 1 - mysql_ping() örneği

<?php
set_time_limit(0);

$conn = mysql_connect('localhost', 'mysqluser', 'mypass');
$db = mysql_select_db('mydb');

/* Bu sorgunun uzun süre alacağını varsayarak */
$result = mysql_query($sql);
if (!$result) {
echo 'Sorgu #1 çalışmadı, çıkıyor.';
exit;
}

/* Bağlantının hala canlı olduğundan emin ol, değilse tekrar bağlan */
if (!mysql_ping($conn)) {
echo 'Bağlantı kayboldu, sorgu #1\'den sonra çıkıyor';
exit;
}
mysql_free_result($result);

/* Bağlantı hala canlı olduğuna göre, başka bir sorgu çalıştıralım */
$result2 = mysql_query($sql2);
?>

Ayrıca Bakınız

  • mysql_thread_id() - Geçerli evre numarasını döndür
  • mysql_list_processes() - MySQL süreçlerini listeler


Send a MySQL query

  • « mysql_ping
  • mysql_real_escape_string »
  • PHP Manual
  • MySQL İşlevleri
  • Send a MySQL query

mysql_query

(PHP 4, PHP 5)

mysql_query — Send a MySQL query

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_query()
  • PDO::query()

Açıklama

mysql_query(string $query, resource $link_identifier = NULL): mixed

mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.

Bağımsız Değişkenler

query

An SQL query

The query string should not end with a semicolon. Data inside the query should be properly escaped.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or false on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns true on success or false on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return false if the user does not have permission to access the table(s) referenced by the query.

Örnekler

Örnek 1 Invalid Query

The following query is syntactically invalid, so mysql_query() fails and returns false.

<?php
$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
die('Invalid query: ' . mysql_error());
}

?>

Örnek 2 Valid Query

The following query is valid, so mysql_query() returns a resource.

<?php
// This could be supplied by a user, for example
$firstname = 'fred';
$lastname = 'fox';

// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see mysql_real_escape_string()
$query = sprintf("SELECT firstname, lastname, address, age FROM friends
WHERE firstname='%s' AND lastname='%s'",
mysql_real_escape_string($firstname),
mysql_real_escape_string($lastname));

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
echo $row['firstname'];
echo $row['lastname'];
echo $row['address'];
echo $row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>

Ayrıca Bakınız

  • mysql_connect() - MySQL Sunucusuna bir bağlantı açar
  • mysql_error() - Returns the text of the error message from previous MySQL operation
  • mysql_real_escape_string() - Escapes special characters in a string for use in an SQL statement
  • mysql_result() - Get result data
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_unbuffered_query() - Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir


Escapes special characters in a string for use in an SQL statement

  • « mysql_query
  • mysql_result »
  • PHP Manual
  • MySQL İşlevleri
  • Escapes special characters in a string for use in an SQL statement

mysql_real_escape_string

(PHP 4 >= 4.3.0, PHP 5)

mysql_real_escape_string — Escapes special characters in a string for use in an SQL statement

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_real_escape_string()
  • PDO::quote()

Açıklama

mysql_real_escape_string(string $unescaped_string, resource $link_identifier = NULL): string

Escapes special characters in the unescaped_string, taking into account the current character set of the connection so that it is safe to place it in a mysql_query(). If binary data is to be inserted, this function must be used.

mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: \x00, \n, \r, \, ', " and \x1a.

This function must always (with few exceptions) be used to make data safe before sending a query to MySQL.

Dikkat

Security: the default character set

The character set must be set either at the server level, or with the API function mysql_set_charset() for it to affect mysql_real_escape_string(). See the concepts section on character sets for more information.

Bağımsız Değişkenler

unescaped_string

The string that is to be escaped.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Returns the escaped string, or false on error.

Hatalar/İstisnalar

Executing this function without a MySQL connection present will also emit E_WARNING level PHP errors. Only execute this function with a valid MySQL connection present.

Örnekler

Örnek 1 Simple mysql_real_escape_string() example

<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());

// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>

Örnek 2 mysql_real_escape_string() requires a connection example

This example demonstrates what happens if a MySQL connection is not present when calling this function.

<?php
// We have not connected to MySQL

$lastname = "O'Reilly";
$_lastname = mysql_real_escape_string($lastname);

$query = "SELECT * FROM actors WHERE last_name = '$_lastname'";

var_dump($_lastname);
var_dump($query);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Warning: mysql_real_escape_string(): No such file or directory in /this/test/script.php on line 5
Warning: mysql_real_escape_string(): A link to the server could not be established in /this/test/script.php on line 5

bool(false)
string(41) "SELECT * FROM actors WHERE last_name = ''"

Örnek 3 An example SQL Injection Attack

<?php
// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// This means the query sent to MySQL would be:
echo $query;
?>

The query sent to MySQL:

SELECT * FROM users WHERE user='aidan' AND password='' OR ''=''

This would allow anyone to log in without a valid password.

Notlar

Bilginize:

A MySQL connection is required before using mysql_real_escape_string() otherwise an error of level E_WARNING is generated, and false is returned. If link_identifier isn't defined, the last MySQL connection is used.

Bilginize:

If this function is not used to escape data, the query is vulnerable to SQL Injection Attacks.

Bilginize: mysql_real_escape_string() does not escape % and _. These are wildcards in MySQL if combined with LIKE, GRANT, or REVOKE.

Ayrıca Bakınız

  • mysql_set_charset() - Sets the client character set
  • mysql_client_encoding() - Karakter kümesinin adını döndürür


Get result data

  • « mysql_real_escape_string
  • mysql_select_db »
  • PHP Manual
  • MySQL İşlevleri
  • Get result data

mysql_result

(PHP 4, PHP 5)

mysql_result — Get result data

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_data_seek() in conjunction with
mysqli_field_seek() and
mysqli_fetch_field()
  • PDOStatement::fetchColumn()

Açıklama

mysql_result(resource $result, int $row, mixed $field = 0): string

Retrieves the contents of one cell from a MySQL result set.

When working on large result sets, you should consider using one of the functions that fetch an entire row (specified below). As these functions return the contents of multiple cells in one function call, they're MUCH quicker than mysql_result(). Also, note that specifying a numeric offset for the field argument is much quicker than specifying a fieldname or tablename.fieldname argument.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

row

The row number from the result that's being retrieved. Row numbers start at 0.

field

The name or offset of the field being retrieved.

It can be the field's offset, the field's name, or the field's table dot field name (tablename.fieldname). If the column name has been aliased ('select foo as bar from...'), use the alias instead of the column name. If undefined, the first field is retrieved.

Dönen Değerler

The contents of one cell from a MySQL result set on success, or false on failure.

Örnekler

Örnek 1 mysql_result() example

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
if (!mysql_select_db('database_name')) {
die('Could not select database: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name

mysql_close($link);
?>

Notlar

Bilginize:

Calls to mysql_result() should not be mixed with calls to other functions that deal with the result set.

Ayrıca Bakınız

  • mysql_fetch_row() - Get a result row as an enumerated array
  • mysql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
  • mysql_fetch_assoc() - Fetch a result row as an associative array
  • mysql_fetch_object() - Fetch a result row as an object


Bir MySQL veritabanı seçer

  • « mysql_result
  • mysql_set_charset »
  • PHP Manual
  • MySQL İşlevleri
  • Bir MySQL veritabanı seçer

mysql_select_db

(PHP 4, PHP 5)

mysql_select_db — Bir MySQL veritabanı seçer

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_select_db()
  • PDO::__construct() (dsn parçası)

Açıklama

mysql_select_db(string $veritabanı_adı, resource $bağlantı_belirteci = null): bool

Belirtilen bağlantı belirteci ile ilişkili sunucuda, geçerli etkin veritabanını ayarlar. Takip eden bütün mysql_query() çağrıları etkin veritabanında yapılacaktır.

Bağımsız Değişkenler

veritabanı_adı

Seçilecek veritabanının adı.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - mysql_select_db() örneği

<?php

$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Bağlı değil : ' . mysql_error());
}

// foo'yu geçerli veritabanı yap
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die ('foo kullanılamaz : ' . mysql_error());
}
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_selectdb()

Ayrıca Bakınız

  • mysql_connect() - MySQL Sunucusuna bir bağlantı açar
  • mysql_pconnect() - Open a persistent connection to a MySQL server
  • mysql_query() - Send a MySQL query


Sets the client character set

  • « mysql_select_db
  • mysql_stat »
  • PHP Manual
  • MySQL İşlevleri
  • Sets the client character set

mysql_set_charset

(PHP 5 >= 5.2.3)

mysql_set_charset — Sets the client character set

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_set_charset()
  • PDO: Add charset to the connection string, such as charset=utf8

Açıklama

mysql_set_charset(string $charset, resource $link_identifier = NULL): bool

Sets the default character set for the current connection.

Bağımsız Değişkenler

charset

A valid character set name.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

This function requires MySQL 5.0.7 or later.

Bilginize:

This is the preferred way to change the charset. Using mysql_query() to set it (such as SET NAMES utf8) is not recommended. See the MySQL character set concepts section for more information.

Ayrıca Bakınız

  • Setting character sets in MySQL
  • » List of character sets that MySQL supports
  • mysql_client_encoding() - Karakter kümesinin adını döndürür


Geçerli sunucu durumunu döndürür

  • « mysql_set_charset
  • mysql_tablename »
  • PHP Manual
  • MySQL İşlevleri
  • Geçerli sunucu durumunu döndürür

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat — Geçerli sunucu durumunu döndürür

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_stat()
  • isim özniteliği için PDO::ATTR_SERVER_INFO kullanarak PDOStatement::getAttribute()

Açıklama

mysql_stat(resource $bağlantı_belirteci = null): string

mysql_stat() geçerli sunucu durumunu döndürür.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Toplam çalışma süresi, evre, sorgu, açık tablo, boşaltılmış tablo ve saniyedeki sorgu sayısını bir dizge olarak döndürür. Diğer durum değişkenlerinin eksiksiz listesini almak için SHOW STATUS SQL komutunu kullanmalısınız. bağlantı_belirteci geçersizse null döner.

Örnekler

Örnek 1 - mysql_stat() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$status = explode(' ', mysql_stat($link));
print_r($status);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Örnek 2 - Bir başka mysql_stat() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$result = mysql_query('SHOW STATUS', $link);
while ($row = mysql_fetch_assoc($result)) {
echo $row['Variable_name'] . ' = ' . $row['Value'] . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Ayrıca Bakınız

  • mysql_get_server_info() - MySQL sunucu bilgisini al
  • mysql_list_processes() - MySQL süreçlerini listeler


Alanın tablo adını al

  • « mysql_stat
  • mysql_thread_id »
  • PHP Manual
  • MySQL İşlevleri
  • Alanın tablo adını al

mysql_tablename

(PHP 4, PHP 5)

mysql_tablename — Alanın tablo adını al

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • SQL Sorgusu: SHOW TABLES

Açıklama

mysql_tablename(resource $sonuç, int $i): string|false

Bir sonuç'tan tablo adını alır.

Bu işlevin kullanımı önerilmemektedir. Bunun yerine, SHOW TABLES [FROM db_adı] [LIKE 'şablon'] şeklinde bir SQL ifadesi çalıştırmak için mysql_query() kullanılması tercih edilebilir.

Bağımsız Değişkenler

sonuç

mysql_list_tables() işlevinden döndürülen resource türünde bir sonuç göstericisi.

i

Tamsayı indisi (satır/tablo numarası)

Dönen Değerler

Başarı durumunda tablo adı, hata durumunda false döndürülür.

Bu sonuç göstericisini veya mysql_fetch_array() gibi sonuç tabloları üreten bir işlevden elde edilen işlevselliğin tersini elde etmek için mysql_tablename() işlevini kullanın.

Örnekler

Örnek 1 - mysql_tablename() örneği

<?php
mysql_connect("localhost", "mysql_user", "mysql_password");
$result = mysql_list_tables("mydb");
$num_rows = mysql_num_rows($result);
for ($i = 0; $i < $num_rows; $i++) {
echo "Tablo: ", mysql_tablename($result, $i), "\n";
}

mysql_free_result($result);
?>

Notlar

Bilginize:

mysql_num_rows() işlevi sonuç göstericisindeki tablo sayısını belirlemek için kullanılabilir.

Ayrıca Bakınız

  • mysql_list_tables() - Bir MySQL veritabanındaki tabloları listele
  • mysql_field_table() - Belirtilen alanı içeren tablonun adını al
  • mysql_db_name() - mysql_list_dbs çağrısından veritabanı adını alır


Geçerli evre numarasını döndür

  • « mysql_tablename
  • mysql_unbuffered_query »
  • PHP Manual
  • MySQL İşlevleri
  • Geçerli evre numarasını döndür

mysql_thread_id

(PHP 4 >= 4.3.0, PHP 5)

mysql_thread_id — Geçerli evre numarasını döndür

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • mysqli_thread_id()

Açıklama

mysql_thread_id(resource $bağlantı_belirteci = null): int|false

Geçerli evre numarasını alır. Eğer bağlantı kaybolursa ve mysql_ping() ile yeniden bağlanılırsa evre numarası da değişecektir. Bu nedenle, evre numarasını sadece gerektiğinde alın.

Bağımsız Değişkenler

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

Başarı durumunda evre numarası, hata durumunda false.

Örnekler

Örnek 1 - mysql_thread_id() örneği

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$thread_id = mysql_thread_id($link);
if ($thread_id){
printf("geçerli evre numarası %d\n", $thread_id);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

geçerli evre numarası 73

Ayrıca Bakınız

  • mysql_ping() - Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan
  • mysql_list_processes() - MySQL süreçlerini listeler


Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir

  • « mysql_thread_id
  • Mysqlnd »
  • PHP Manual
  • MySQL İşlevleri
  • Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir

Uyarı

Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:

  • See: Tamponlu ve tamponsuz sorgular

Açıklama

mysql_unbuffered_query(string $sorgu, resource $bağlantı_belirteci = null): resource

mysql_unbuffered_query() işlevi mysql_query() işlevinin yaptığı gibi sonuç kümesini tamponlamadan ve içindekileri almamak üzere sorgu SQL sorgusunu MySQL'e gönderir. Başka bir deyişle, büyük sonuç kümeleri üreten SQL sorgularından kaynaklanan bellek tüketimini azaltır. Yani, ilk satırı alır almaz sonuç kümesiyle çalışmaya başlayabilirsiniz; SQL sorusunun tamamlanmasını beklemeniz gerekmez.Çok sayıda veritabanı bağlantısı kullanıyorsanız belirtilmesi isteğe bağlı olan bağlantı_belirteci bağımsız değişkenini de belirtmeniz gerekir.

Bağımsız Değişkenler

sorgu

Bir SQL sorgusu.

Sorgunun içerdiği verinin gerektiği gibi öncelenmesi gerekir.

bağlantı_belirteci

MySQL bağlantısı. Eğer bağlantı belirteci belirtilmemişse mysql_connect() tarafından açılan son bağlantı kullanılmaya çalışılır. Eğer böyle bir bağlantı yoksa mysql_connect() bağımsız değişkensiz olarak çağrılmış gibi bir bağlantı oluşturmaya çalışır. Hiçbir bağlantı yoksa ve yenisi de kurulamazsa E_WARNING seviyesinde bir hata üretilir.

Dönen Değerler

SELECT, SHOW, DESCRIBE ve EXPLAIN deyimleri için mysql_unbuffered_query() başarı durumunda bir özkaynak aksi takdirde false döndürür.

UPDATE, DELETE, DROP gibi diğer SQL deyimi türlerinde, mysql_unbuffered_query() başarı durumunda true aksi takdirde false döndürür.

Notlar

Bilginize:

mysql_unbuffered_query() işlevinin getirilerinin yanında götürüleri de vardır: mysql_unbuffered_query() işlevinden dönen bir sonuç kümesi üzerinde tüm satırlar alınana kadar mysql_num_rows() ve mysql_data_seek() işlevlerini kullanamazsınız. Ayrıca, MySQL'e yeni bir SQL sorgusu göndermeden önce aynı bağlantı_belirtecini kullanarak tamponsuz bir SQL sorgusuyla sonuç kümesinin tamamını almak zorundasınız.

Ayrıca Bakınız

  • mysql_query() - Send a MySQL query


MySQL Native Driver

  • Giriş
  • Overview
  • Installation
  • Çalışma Anı Yapılandırması
  • Incompatibilities
  • Persistent Connections
  • Statistics
  • Notes
  • Memory management
  • MySQL Native Driver Plugin API
    • A comparison of mysqlnd plugins with MySQL Proxy
    • Obtaining the mysqlnd plugin API
    • MySQL Native Driver Plugin Architecture
    • The mysqlnd plugin API
    • Getting started building a mysqlnd plugin


Giriş

MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0.

The MySQL database extensions MySQL extension, mysqli and PDO MYSQL all communicate with the MySQL server. In the past, this was done by the extension using the services provided by the MySQL Client Library. The extensions were compiled against the MySQL Client Library in order to use its client-server protocol.

With MySQL Native Driver there is now an alternative, as the MySQL database extensions can be compiled to use MySQL Native Driver instead of the MySQL Client Library.

MySQL Native Driver is written in C as a PHP extension.


Overview

What it is not

Although MySQL Native Driver is written as a PHP extension, it is important to note that it does not provide a new API to the PHP programmer. The programmer APIs for MySQL database connectivity are provided by the MySQL extension, mysqli and PDO MYSQL. These extensions can now use the services of MySQL Native Driver to communicate with the MySQL Server. Therefore, you should not think of MySQL Native Driver as an API.

Why use it?

Using the MySQL Native Driver offers a number of advantages over using the MySQL Client Library.

The older MySQL Client Library was written by MySQL AB (now Oracle Corporation) and so was released under the MySQL license. This ultimately led to MySQL support being disabled by default in PHP. However, the MySQL Native Driver has been developed as part of the PHP project, and is therefore released under the PHP license. This removes licensing issues that have been problematic in the past.

Also, in the past, you needed to build the MySQL database extensions against a copy of the MySQL Client Library. This typically meant you needed to have MySQL installed on a machine where you were building the PHP source code. Also, when your PHP application was running, the MySQL database extensions would call down to the MySQL Client library file at run time, so the file needed to be installed on your system. With MySQL Native Driver that is no longer the case as it is included as part of the standard distribution. So you do not need MySQL installed in order to build PHP or run PHP database applications.

Because MySQL Native Driver is written as a PHP extension, it is tightly coupled to the workings of PHP. This leads to gains in efficiency, especially when it comes to memory usage, as the driver uses the PHP memory management system. It also supports the PHP memory limit. Using MySQL Native Driver leads to comparable or better performance than using MySQL Client Library, it always ensures the most efficient use of memory. One example of the memory efficiency is the fact that when using the MySQL Client Library, each row is stored in memory twice, whereas with the MySQL Native Driver each row is only stored once in memory.

Bilginize: Reporting memory usage

Because MySQL Native Driver uses the PHP memory management system, its memory usage can be tracked with memory_get_usage(). This is not possible with libmysqlclient because it uses the C function malloc() instead.

Special features

MySQL Native Driver also provides some special features not available when the MySQL database extensions use MySQL Client Library. These special features are listed below:

  • Improved persistent connections

  • The special function mysqli_fetch_all()

  • Performance statistics calls: mysqli_get_client_stats(), mysqli_get_connection_stats()

The performance statistics facility can prove to be very useful in identifying performance bottlenecks.

MySQL Native Driver also allows for persistent connections when used with the mysqli extension.

SSL Support

MySQL Native Driver supports SSL.

Compressed Protocol Support

MySQL Native Driver supports the compressed client server protocol. Extension ext/mysqli, if configured to use MySQL Native Driver, can also take advantage of this feature. Note that PDO_MYSQL does NOT support compression when used together with mysqlnd.

Named Pipes Support

Named pipes can be used to connect on Windows environments.


Installation

Installation on Unix

In order to use the MySQL Native Driver, PHP needs to be built specifying that the MySQL database extensions are compiled with MySQL Native Driver support. This is done through configuration options prior to building the PHP source code.

For example, to build the MySQL extension, mysqli and PDO MYSQL using the MySQL Native Driver, the following command would be given:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
[other options]

Installation on Windows

In the official PHP Windows distributions, MySQL Native Driver is enabled by default, so no additional configuration is required to use it. All MySQL database extensions will use MySQL Native Driver in this case.

SHA-256 Authentication Plugin support

The MySQL Native Driver requires the OpenSSL functionality of PHP to be loaded and enabled to connect to MySQL through accounts that use the MySQL SHA-256 Authentication Plugin. For example, PHP could be configured using:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl
[other options]


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

MySQL Native Driver Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM |
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM |
mysqlnd.debug | "" | PHP_INI_SYSTEM |
mysqlnd.log_mask | 0 | PHP_INI_ALL |
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
mysqlnd.net_read_timeout | "86400" | PHP_INI_ALL | Before PHP 7.2.0 the default value was "31536000" and the changeability was PHP_INI_SYSTEM
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_SYSTEM |
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM |
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR |
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM |
mysqlnd.fetch_data_copy | 0 | PHP_INI_ALL | Removed as of PHP 8.1.0
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mysqlnd.collect_statistics bool

Enables the collection of various client statistics which can be accessed through mysqli_get_client_stats(), mysqli_get_connection_stats(), and are shown in mysqlnd section of the output of the phpinfo() function as well.

This configuration setting enables all MySQL Native Driver statistics except those relating to memory management.

mysqlnd.collect_memory_statistics bool

Enable the collection of various memory statistics which can be accessed through mysqli_get_client_stats(), mysqli_get_connection_stats(), and are shown in mysqlnd section of the output of the phpinfo() function as well.

This configuration setting enables the memory management statistics within the overall set of MySQL Native Driver statistics.

mysqlnd.debug string

Records communication from all extensions using mysqlnd to the specified log file.

The format of the directive is mysqlnd.debug = "option1[,parameter_option1][:option2[,parameter_option2]]".

The options for the format string are as follows:

  • A[,file] - Appends trace output to specified file. Also ensures that data is written after each write. This is done by closing and reopening the trace file (this is slow). It helps ensure a complete log file should the application crash.

  • a[,file] - Appends trace output to the specified file.

  • d - Enables output from DBUG_<N> macros for the current state. May be followed by a list of keywords which selects output only for the DBUG macros with that keyword. An empty list of keywords implies output for all macros.

  • f[,functions] - Limits debugger actions to the specified list of functions. An empty list of functions implies that all functions are selected.

  • F - Marks each debugger output line with the name of the source file containing the macro causing the output.

  • i - Marks each debugger output line with the PID of the current process.

  • L - Marks each debugger output line with the name of the source file line number of the macro causing the output.

  • n - Marks each debugger output line with the current function nesting depth

  • o[,file] - Similar to a[,file] but overwrites old file, and does not append.

  • O[,file] - Similar to A[,file] but overwrites old file, and does not append.

  • t[,N] - Enables function control flow tracing. The maximum nesting depth is specified by N, and defaults to 200.

  • x - This option activates profiling.

  • m - Trace memory allocation and deallocation related calls.

Example:

d:t:x:O,/tmp/mysqlnd.trace

Bilginize:

This feature is only available with a debug build of PHP. Works on Microsoft Windows if using a debug build of PHP and PHP was built using Microsoft Visual C version 9 and above.

mysqlnd.log_mask int

Defines which queries will be logged. The default 0, which disables logging. Define using an integer, and not with PHP constants. For example, a value of 48 (16 + 32) will log slow queries which either use 'no good index' (SERVER_QUERY_NO_GOOD_INDEX_USED = 16) or no index at all (SERVER_QUERY_NO_INDEX_USED = 32). A value of 2043 (1 + 2 + 8 + ... + 1024) will log all slow query types.

The types are as follows: SERVER_STATUS_IN_TRANS=1, SERVER_STATUS_AUTOCOMMIT=2,
SERVER_MORE_RESULTS_EXISTS=8, SERVER_QUERY_NO_GOOD_INDEX_USED=16, SERVER_QUERY_NO_INDEX_USED=32,
SERVER_STATUS_CURSOR_EXISTS=64, SERVER_STATUS_LAST_ROW_SENT=128, SERVER_STATUS_DB_DROPPED=256,
SERVER_STATUS_NO_BACKSLASH_ESCAPES=512, and SERVER_QUERY_WAS_SLOW=1024.

mysqlnd.mempool_default_size int

Default size of the mysqlnd memory pool, which is used by result sets.

mysqlnd.net_read_timeout int

mysqlnd and the MySQL Client Library, libmysqlclient use different networking APIs. mysqlnd uses PHP streams, whereas libmysqlclient uses its own wrapper around the operating level network calls. PHP, by default, sets a read timeout of 60s for streams. This is set via php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd does not set any other value and therefore connections of long running queries can be disconnected after default_socket_timeout seconds resulting in an error message 2006 - MySQL Server has gone away. The MySQL Client Library sets a default timeout of 24 * 3600 seconds (1 day) and waits for other timeouts to occur, such as TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams, for example MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt.

mysqlnd.net_cmd_buffer_size int

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (in php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to the size required for sending the command. Whenever the buffer gets extended for one connection, command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size bytes for almost every connection, you should consider increasing the default size to avoid re-allocations.

The default buffer size is 4096 bytes, which is the smallest value possible.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_CMD_BUFFER_SIZE, size).

mysqlnd.net_read_buffer_size int

Maximum read chunk size in bytes when reading the body of a MySQL command packet. The MySQL client server protocol encapsulates all its commands in packets. The packets consist of a small header and a body with the actual payload. The size of the body is encoded in the header. mysqlnd reads the body in chunks of MIN(header.size, mysqlnd.net_read_buffer_size) bytes. If a packet body is larger than mysqlnd.net_read_buffer_size bytes, mysqlnd has to call read() multiple times.

The value can also be set using mysqli_options(link, MYSQLI_OPT_NET_READ_BUFFER_SIZE, size).

mysqlnd.sha256_server_public_key string

SHA-256 Authentication Plugin related. File with the MySQL server public RSA key.

Clients can either omit setting a public RSA key, specify the key through this PHP configuration setting or set the key at runtime using mysqli_options(). If not public RSA key file is given by the client, then the key will be exchanged as part of the standard SHA-256 Authentication Plugin authentication procedure.

mysqlnd.trace_alloc string

mysqlnd.fetch_data_copy int

Enforce copying result sets from the internal result set buffers into PHP variables instead of using the default reference and copy-on-write logic. Please, see the memory management implementation notes for further details.

Copying result sets instead of having PHP variables reference them allows releasing the memory occupied for the PHP variables earlier. Depending on the user API code, the actual database quries and the size of their result sets this may reduce the memory footprint of mysqlnd.

Do not set if using PDO_MySQL. PDO_MySQL has not yet been updated to support the new fetch mode.

Bilginize: Removed as of PHP 8.1.0


Incompatibilities

MySQL Native Driver is in most cases compatible with MySQL Client Library (libmysql). This section documents incompatibilities between these libraries.

  • Values of bit data type are returned as binary strings (e.g. "\0" or "\x1F") with libmysql and as decimal strings (e.g. "0" or "31") with mysqlnd. If you want the code to be compatible with both libraries then always return bit fields as numbers from MySQL with a query like this: SELECT bit + 0 FROM table.


Persistent Connections

Using Persistent Connections

If mysqli is used with mysqlnd, when a persistent connection is created it generates a COM_CHANGE_USER (mysql_change_user()) call on the server. This ensures that re-authentication of the connection takes place.

As there is some overhead associated with the COM_CHANGE_USER call, it is possible to switch this off at compile time. Reusing a persistent connection will then generate a COM_PING (mysql_ping) call to simply test the connection is reusable.

Generation of COM_CHANGE_USER can be switched off with the compile flag MYSQLI_NO_CHANGE_USER_ON_PCONNECT. For example:

shell# CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT" ./configure --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/bin/mysql_config --enable-debug && make clean && make -j6

Or alternatively:

shell# export CFLAGS="-DMYSQLI_NO_CHANGE_USER_ON_PCONNECT"
shell# configure --whatever-option
shell# make clean
shell# make

Note that only mysqli on mysqlnd uses COM_CHANGE_USER. Other extension-driver combinations use COM_PING on initial use of a persistent connection.


Statistics

Using Statistical Data

MySQL Native Driver contains support for gathering statistics on the communication between the client and the server. The statistics gathered are of two main types:

  • Client statistics

  • Connection statistics

If you are using the mysqli extension, these statistics can be obtained through two API calls:

  • mysqli_get_client_stats()

  • mysqli_get_connection_stats()

Bilginize:

Statistics are aggregated among all extensions that use MySQL Native Driver. For example, when compiling both ext/mysql and ext/mysqli against MySQL Native Driver, both function calls of ext/mysql and ext/mysqli will change the statistics. There is no way to find out how much a certain API call of any extension that has been compiled against MySQL Native Driver has impacted a certain statistic. You can configure the PDO MySQL Driver, ext/mysql and ext/mysqli to optionally use the MySQL Native Driver. When doing so, all three extensions will change the statistics.

Accessing Client Statistics

To access client statistics, you need to call mysqli_get_client_stats(). The function call does not require any parameters.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Client statistics can also be accessed by calling the phpinfo() function.

Accessing Connection Statistics

To access connection statistics call mysqli_get_connection_stats(). This takes the database connection handle as the parameter.

The function returns an associative array that contains the name of the statistic as the key and the statistical data as the value.

Buffered and Unbuffered Result Sets

Result sets can be buffered or unbuffered. Using default settings, ext/mysql and ext/mysqli work with buffered result sets for normal (non prepared statement) queries. Buffered result sets are cached on the client. After the query execution all results are fetched from the MySQL Server and stored in a cache on the client. The big advantage of buffered result sets is that they allow the server to free all resources allocated to a result set, once the results have been fetched by the client.

Unbuffered result sets on the other hand are kept much longer on the server. If you want to reduce memory consumption on the client, but increase load on the server, use unbuffered results. If you experience a high server load and the figures for unbuffered result sets are high, you should consider moving the load to the clients. Clients typically scale better than servers. Load does not only refer to memory buffers - the server also needs to keep other resources open, for example file handles and threads, before a result set can be freed.

Prepared Statements use unbuffered result sets by default. However, you can use mysqli_stmt_store_result() to enable buffered result sets.

Statistics returned by MySQL Native Driver

The following tables show a list of statistics returned by the mysqli_get_client_stats() and mysqli_get_connection_stats() functions.

Returned mysqlnd statistics: Network
Statistic | Scope | Description | Notes
bytes_sent | Connection | Number of bytes sent from PHP to the MySQL server | Can be used to check the efficiency of the compression protocol
bytes_received | Connection | Number of bytes received from MySQL server | Can be used to check the efficiency of the compression protocol
packets_sent | Connection | Number of MySQL Client Server protocol packets sent | Used for debugging Client Server protocol implementation
packets_received | Connection | Number of MySQL Client Server protocol packets received | Used for debugging Client Server protocol implementation
protocol_overhead_in | Connection | MySQL Client Server protocol overhead in bytes for incoming traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_in = packets_received * 4 | Used for debugging Client Server protocol implementation
protocol_overhead_out | Connection | MySQL Client Server protocol overhead in bytes for outgoing traffic. Currently only the Packet Header (4 bytes) is considered as overhead. protocol_overhead_out = packets_sent * 4 | Used for debugging Client Server protocol implementation
bytes_received_ok_packet | Connection | Total size of bytes of MySQL Client Server protocol OK packets received. OK packets can contain a status message. The length of the status message can vary and thus the size of an OK packet is not fixed. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_ok | Connection | Number of MySQL Client Server protocol OK packets received. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_eof_packet | Connection | Total size in bytes of MySQL Client Server protocol EOF packets received. EOF can vary in size depending on the server version. Also, EOF can transport an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_eof | Connection | Number of MySQL Client Server protocol EOF packets. Like with other packet statistics the number of packets will be increased even if PHP does not receive the expected packet but, for example, an error message. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_header_packet | Connection | Total size in bytes of MySQL Client Server protocol result set header packets. The size of the packets varies depending on the payload (LOAD LOCAL INFILE, INSERT, UPDATE, SELECT, error message). | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_header | Connection | Number of MySQL Client Server protocol result set header packets. | Used for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_field_meta_packet | Connection | Total size in bytes of MySQL Client Server protocol result set meta data (field information) packets. Of course the size varies with the fields in the result set. The packet may also transport an error or an EOF packet in case of COM_LIST_FIELDS. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_field_meta | Connection | Number of MySQL Client Server protocol result set meta data (field information) packets. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_rset_row_packet | Connection | Total size in bytes of MySQL Client Server protocol result set row data packets. The packet may also transport an error or an EOF packet. You can reverse engineer the number of error and EOF packets by subtracting rows_fetched_from_server_normal and rows_fetched_from_server_ps from bytes_received_rset_row_packet. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_rset_row | Connection | Number of MySQL Client Server protocol result set row data packets and their total size in bytes. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_prepare_response_packet | Connection | Total size in bytes of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). The packet may also transport an error. The packet size depends on the MySQL version: 9 bytes with MySQL 4.1 and 12 bytes from MySQL 5.0 on. There is no safe way to know how many errors happened. You may be able to guess that an error has occurred if, for example, you always connect to MySQL 5.0 or newer and, bytes_received_prepare_response_packet != packets_received_prepare_response * 12. See also ps_prepared_never_executed, ps_prepared_once_executed. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_prepare_response | Connection | Number of MySQL Client Server protocol OK for Prepared Statement Initialization packets (prepared statement init packets). | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
bytes_received_change_user_packet | Connection | Total size in bytes of MySQL Client Server protocol COM_CHANGE_USER packets. The packet may also transport an error or EOF. | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_received_change_user | Connection | Number of MySQL Client Server protocol COM_CHANGE_USER packets | Only useful for debugging CS protocol implementation. Note that the total size in bytes includes the size of the header packet (4 bytes, see protocol overhead).
packets_sent_command | Connection | Number of MySQL Client Server protocol commands sent from PHP to MySQL. There is no way to know which specific commands and how many of them have been sent. At its best you can use it to check if PHP has sent any commands to MySQL to know if you can consider to disable MySQL support in your PHP binary. There is also no way to reverse engineer the number of errors that may have occurred while sending data to MySQL. The only error that is recorded is command_buffer_too_small (see below). | Only useful for debugging CS protocol implementation.
bytes_received_real_data_normal Connection Number of bytes of payload fetched by the PHP client from mysqlnd using the text protocol. This is the size of the actual data contained in result sets that do not originate from prepared statements and which have been fetched by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. An example of a code sequence that will increase the value is as follows:
$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->fetch_assoc();
$res->close();

Every fetch operation will increase the value.

The statistic will not be increased if the result set is only buffered on the client, but not fetched, such as in the following example:

$mysqli = new mysqli();
$res = $mysqli->query("SELECT 'abc'");
$res->close();
bytes_received_real_data_ps | Connection | Number of bytes of the payload fetched by the PHP client from mysqlnd using the prepared statement protocol. | This is the size of the actual data contained in result sets that originate from prepared statements and which has been fetched by the PHP client. The value will not be increased if the result set is not subsequently read by the PHP client. Note that although a full result set may have been pulled from MySQL by mysqlnd, this statistic only counts actual data pulled from mysqlnd by the PHP client. See also bytes_received_real_data_normal.

Result Set

Returned mysqlnd statistics: Result Set
Statistic | Scope | Description | Notes
result_set_queries | Connection | Number of queries that have generated a result set. Examples of queries that generate a result set: SELECT, SHOW. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
non_result_set_queries | Connection | Number of queries that did not generate a result set. Examples of queries that do not generate a result set: INSERT, UPDATE, LOAD DATA. The statistic will not be incremented if there is an error reading the result set header packet from the line. | You may use it as an indirect measure for the number of queries PHP has sent to MySQL, for example, to identify a client that causes a high database load.
no_index_used | Connection | Number of queries that have generated a result set but did not use an index (see also mysqld start option -log-queries-not-using-indexes). If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT).
bad_index_used | Connection | Number of queries that have generated a result set and did not use a good index (see also mysqld start option -log-slow-queries). | If you want these queries to be reported you can use mysqli_report(MYSQLI_REPORT_INDEX) to make ext/mysqli throw an exception. If you prefer a warning instead of an exception use mysqli_report(MYSQLI_REPORT_INDEX ^ MYSQLI_REPORT_STRICT)
slow_queries | Connection | SQL statements that took more than long_query_time seconds to execute and required at least min_examined_row_limit rows to be examined. | Not reported through mysqli_report()
buffered_sets | Connection | Number of buffered result sets returned by normal queries. Normal means not prepared statement in the following notes. | Examples of API calls that will buffer result sets on the client: mysql_query(), mysqli_query(), mysqli_store_result(), mysqli_stmt_get_result(). Buffering result sets on the client ensures that server resources are freed as soon as possible and it makes result set scrolling easier. The downside is the additional memory consumption on the client for buffering data. Note that mysqlnd (unlike the MySQL Client Library) respects the PHP memory limit because it uses PHP internal memory management functions to allocate memory. This is also the reason why memory_get_usage() reports a higher memory consumption when using mysqlnd instead of the MySQL Client Library. memory_get_usage() does not measure the memory consumption of the MySQL Client Library at all because the MySQL Client Library does not use PHP internal memory management functions monitored by the function!
unbuffered_sets | Connection | Number of unbuffered result sets returned by normal (non prepared statement) queries. | Examples of API calls that will not buffer result sets on the client: mysqli_use_result()
ps_buffered_sets | Connection | Number of buffered result sets returned by prepared statements. By default prepared statements are unbuffered. | Examples of API calls that will buffer result sets on the client: mysqli_stmt_store_result
ps_unbuffered_sets | Connection | Number of unbuffered result sets returned by prepared statements. | By default prepared statements are unbuffered.
flushed_normal_sets Connection Number of result sets from normal (non prepared statement) queries with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

flushed_ps_sets Connection Number of result sets from prepared statements with unread data which have been flushed silently for you. Flushing happens only with unbuffered result sets. Unbuffered result sets must be fetched completely before a new query can be run on the connection otherwise MySQL will throw an error. If the application does not fetch all rows from an unbuffered result set, mysqlnd does implicitly fetch the result set to clear the line. See also rows_skipped_normal, rows_skipped_ps. Some possible causes for an implicit flush:

  • Faulty client application

  • Client stopped reading after it found what it was looking for but has made MySQL calculate more records than needed

  • Client application has stopped unexpectedly

ps_prepared_never_executed | Connection | Number of statements prepared but never executed. | Prepared statements occupy server resources. You should not prepare a statement if you do not plan to execute it.
ps_prepared_once_executed | Connection | Number of prepared statements executed only one. | One of the ideas behind prepared statements is that the same query gets executed over and over again (with different parameters) and some parsing and other preparation work can be saved, if statement execution is split up in separate prepare and execute stages. The idea is to prepare once and cache results, for example, the parse tree to be reused during multiple statement executions. If you execute a prepared statement only once the two stage processing can be inefficient compared to normal queries because all the caching means extra work and it takes (limited) server resources to hold the cached information. Consequently, prepared statements that are executed only once may cause performance hurts.
rows_fetched_from_server_normal, rows_fetched_from_server_ps | Connection | Total number of result set rows successfully fetched from MySQL regardless if the client application has consumed them or not. Some of the rows may not have been fetched by the client application but have been flushed implicitly. | See also packets_received_rset_row
rows_buffered_from_client_normal, rows_buffered_from_client_ps | Connection | Total number of successfully buffered rows originating from a "normal" query or a prepared statement. This is the number of rows that have been fetched from MySQL and buffered on client. Note that there are two distinct statistics on rows that have been buffered (MySQL to mysqlnd internal buffer) and buffered rows that have been fetched by the client application (mysqlnd internal buffer to client application). If the number of buffered rows is higher than the number of fetched buffered rows it can mean that the client application runs queries that cause larger result sets than needed resulting in rows not read by the client. | Examples of queries that will buffer results: mysqli_query(), mysqli_store_result()
rows_fetched_from_client_normal_buffered, rows_fetched_from_client_ps_buffered | Connection | Total number of rows fetched by the client from a buffered result set created by a normal query or a prepared statement.
rows_fetched_from_client_normal_unbuffered, rows_fetched_from_client_ps_unbuffered | Connection | Total number of rows fetched by the client from a unbuffered result set created by a "normal" query or a prepared statement.
rows_fetched_from_client_ps_cursor | Connection | Total number of rows fetch by the client from a cursor created by a prepared statement.
rows_skipped_normal, rows_skipped_ps | Connection | Reserved for future use (currently not supported)
copy_on_write_saved, copy_on_write_performed | Process | With mysqlnd, variables returned by the extensions point into mysqlnd internal network result buffers. If you do not change the variables, fetched data will be kept only once in memory. If you change the variables, mysqlnd has to perform a copy-on-write to protect the internal network result buffers from being changed. With the MySQL Client Library you always hold fetched data twice in memory. Once in the internal MySQL Client Library buffers and once in the variables returned by the extensions. In theory mysqlnd can save up to 40% memory. However, note that the memory saving cannot be measured using memory_get_usage().
explicit_free_result, implicit_free_result | Connection, Process (only during prepared statement cleanup) | Total number of freed result sets. | The free is always considered explicit but for result sets created by an init command, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...)
proto_text_fetched_null, proto_text_fetched_bit, proto_text_fetched_tinyint proto_text_fetched_short, proto_text_fetched_int24, proto_text_fetched_int proto_text_fetched_bigint, proto_text_fetched_decimal, proto_text_fetched_float proto_text_fetched_double, proto_text_fetched_date, proto_text_fetched_year proto_text_fetched_time, proto_text_fetched_datetime, proto_text_fetched_timestamp proto_text_fetched_string, proto_text_fetched_blob, proto_text_fetched_enum proto_text_fetched_set, proto_text_fetched_geometry, proto_text_fetched_other Connection Total number of columns of a certain type fetched from a normal query (MySQL text protocol). Mapping from C API / MySQL meta data type to statistics name:

  • MYSQL_TYPE_NULL - proto_text_fetched_null

  • MYSQL_TYPE_BIT - proto_text_fetched_bit

  • MYSQL_TYPE_TINY - proto_text_fetched_tinyint

  • MYSQL_TYPE_SHORT - proto_text_fetched_short

  • MYSQL_TYPE_INT24 - proto_text_fetched_int24

  • MYSQL_TYPE_LONG - proto_text_fetched_int

  • MYSQL_TYPE_LONGLONG - proto_text_fetched_bigint

  • MYSQL_TYPE_DECIMAL, MYSQL_TYPE_NEWDECIMAL - proto_text_fetched_decimal

  • MYSQL_TYPE_FLOAT - proto_text_fetched_float

  • MYSQL_TYPE_DOUBLE - proto_text_fetched_double

  • MYSQL_TYPE_DATE, MYSQL_TYPE_NEWDATE - proto_text_fetched_date

  • MYSQL_TYPE_YEAR - proto_text_fetched_year

  • MYSQL_TYPE_TIME - proto_text_fetched_time

  • MYSQL_TYPE_DATETIME - proto_text_fetched_datetime

  • MYSQL_TYPE_TIMESTAMP - proto_text_fetched_timestamp

  • MYSQL_TYPE_STRING, MYSQL_TYPE_VARSTRING, MYSQL_TYPE_VARCHAR - proto_text_fetched_string

  • MYSQL_TYPE_TINY_BLOB, MYSQL_TYPE_MEDIUM_BLOB, MYSQL_TYPE_LONG_BLOB, MYSQL_TYPE_BLOB - proto_text_fetched_blob

  • MYSQL_TYPE_ENUM - proto_text_fetched_enum

  • MYSQL_TYPE_SET - proto_text_fetched_set

  • MYSQL_TYPE_GEOMETRY - proto_text_fetched_geometry

  • Any MYSQL_TYPE_* not listed before (there should be none) - proto_text_fetched_other

Note that the MYSQL_*-type constants may not be associated with the very same SQL column types in every version of MySQL.

proto_binary_fetched_null, proto_binary_fetched_bit, proto_binary_fetched_tinyint proto_binary_fetched_short, proto_binary_fetched_int24, proto_binary_fetched_int, proto_binary_fetched_bigint, proto_binary_fetched_decimal, proto_binary_fetched_float, proto_binary_fetched_double, proto_binary_fetched_date, proto_binary_fetched_year, proto_binary_fetched_time, proto_binary_fetched_datetime, proto_binary_fetched_timestamp, proto_binary_fetched_string, proto_binary_fetched_blob, proto_binary_fetched_enum, proto_binary_fetched_set, proto_binary_fetched_geometry, proto_binary_fetched_other | Connection | Total number of columns of a certain type fetched from a prepared statement (MySQL binary protocol). | For type mapping see proto_text_* described in the preceding text.
Returned mysqlnd statistics: Connection
Statistic | Scope | Description | Notes
connect_success, connect_failure | Connection | Total number of successful / failed connection attempt. | Reused connections and all other kinds of connections are included.
reconnect | Process | Total number of (real_)connect attempts made on an already opened connection handle. | The code sequence $link = new mysqli(...); $link->real_connect(...) will cause a reconnect. But $link = new mysqli(...); $link->connect(...) will not because $link->connect(...) will explicitly close the existing connection before a new connection is established.
pconnect_success | Connection | Total number of successful persistent connection attempts. | Note that connect_success holds the sum of successful persistent and non-persistent connection attempts. The number of successful non-persistent connection attempts is connect_success - pconnect_success.
active_connections | Connection | Total number of active persistent and non-persistent connections.
active_persistent_connections | Connection | Total number of active persistent connections. | The total number of active non-persistent connections is active_connections - active_persistent_connections.
explicit_close Connection Total number of explicitly closed connections (ext/mysqli only). Examples of code snippets that cause an explicit close :
$link = new mysqli(...); $link->close(...)
$link = new mysqli(...); $link->connect(...)
implicit_close Connection Total number of implicitly closed connections (ext/mysqli only). Examples of code snippets that cause an implicit close :

  • $link = new mysqli(...); $link->real_connect(...)

  • unset($link)

  • Persistent connection: pooled connection has been created with real_connect and there may be unknown options set - close implicitly to avoid returning a connection with unknown options

  • Persistent connection: ping/change_user fails and ext/mysqli closes the connection

  • end of script execution: close connections that have not been closed by the user

disconnect_close | Connection | Connection failures indicated by the C API call mysql_real_connect() during an attempt to establish a connection. | It is called disconnect_close because the connection handle passed to the C API call will be closed.
in_middle_of_command_close | Process | A connection has been closed in the middle of a command execution (outstanding result sets not fetched, after sending a query and before retrieving an answer, while fetching data, while transferring data with LOAD DATA). | Unless you use asynchronous queries this should only happen if your script stops unexpectedly and PHP shuts down the connections for you.
init_command_executed_count | Connection | Total number of init command executions, for example, mysqli_options(MYSQLI_INIT_COMMAND , ...). | The number of successful executions is init_command_executed_count - init_command_failed_count.
init_command_failed_count | Connection | Total number of failed init commands.
Returned mysqlnd statistics: COM_* Command
Statistic Scope Description Notes
com_quit, com_init_db, com_query, com_field_list, com_create_db, com_drop_db, com_refresh, com_shutdown, com_statistics, com_process_info, com_connect, com_process_kill, com_debug, com_ping, com_time, com_delayed_insert, com_change_user, com_binlog_dump, com_table_dump, com_connect_out, com_register_slave, com_stmt_prepare, com_stmt_execute, com_stmt_send_long_data, com_stmt_close, com_stmt_reset, com_stmt_set_option, com_stmt_fetch, com_daemon Connection Total number of attempts to send a certain COM_* command from PHP to MySQL.

The statistics are incremented after checking the line and immediately before sending the corresponding MySQL client server protocol packet. If mysqlnd fails to send the packet over the wire the statistics will not be decremented. In case of a failure mysqlnd emits a PHP warning Error while sending %s packet. PID=%d.

Usage examples:

  • Check if PHP sends certain commands to MySQL, for example, check if a client sends COM_PROCESS_KILL

  • Calculate the average number of prepared statement executions by comparing COM_EXECUTE with COM_PREPARE

  • Check if PHP has run any non-prepared SQL statements by checking if COM_QUERY is zero

  • Identify PHP scripts that run an excessive number of SQL statements by checking COM_QUERY and COM_EXECUTE

Miscellaneous

Returned mysqlnd statistics: Miscellaneous
Statistic | Scope | Description | Notes
explicit_stmt_close, implicit_stmt_close | Process | Total number of close prepared statements. | A close is always considered explicit but for a failed prepare.
mem_emalloc_count, mem_emalloc_ammount, mem_ecalloc_count, mem_ecalloc_ammount, mem_erealloc_count, mem_erealloc_ammount, mem_efree_count, mem_malloc_count, mem_malloc_ammount, mem_calloc_count, mem_calloc_ammount, mem_realloc_count, mem_realloc_ammount, mem_free_count | Process | Memory management calls. | Development only.
command_buffer_too_small Connection Number of network command buffer extensions while sending commands from PHP to MySQL.

mysqlnd allocates an internal command/network buffer of mysqlnd.net_cmd_buffer_size (php.ini) bytes for every connection. If a MySQL Client Server protocol command, for example, COM_QUERY (normal query), does not fit into the buffer, mysqlnd will grow the buffer to what is needed for sending the command. Whenever the buffer gets extended for one connection command_buffer_too_small will be incremented by one.

If mysqlnd has to grow the buffer beyond its initial size of mysqlnd.net_cmd_buffer_size (php.ini) bytes for almost every connection, you should consider to increase the default size to avoid re-allocations.

The default buffer size is 4096 bytes, which is the smallest value possible. The default can changed either through the php.ini setting mysqlnd.net_cmd_buffer_size or using mysqli_options(MYSQLI_OPT_NET_CMD_BUFFER_SIZE, int size).

connection_reused


Notes

This section provides a collection of miscellaneous notes on MySQL Native Driver usage.

  • Using mysqlnd means using PHP streams for underlying connectivity. For mysqlnd, the PHP streams documentation (Stream) should be consulted on such details as timeout settings, not the documentation for the MySQL Client Library.


Memory management

Introduction

The MySQL Native Driver manages memory different than the MySQL Client Library. The libraries differ in the way memory is allocated and released, how memory is allocated in chunks while reading results from MySQL, which debug and development options exist, and how results read from MySQL are linked to PHP user variables.

The following notes are intended as an introduction and summary to users interested at understanding the MySQL Native Driver at the C code level.

Memory management functions used

All memory allocation and deallocation is done using the PHP memory management functions. Therefore, the memory consumption of mysqlnd can be tracked using PHP API calls, such as memory_get_usage(). Because memory is allocated and released using the PHP memory management, the changes may not immediately become visible at the operating system level. The PHP memory management acts as a proxy which may delay releasing memory towards the system. Due to this, comparing the memory usage of the MySQL Native Driver and the MySQL Client Library is difficult. The MySQL Client Library is using the operating system memory management calls directly, hence the effects can be observed immediately at the operating system level.

Any memory limit enforced by PHP also affects the MySQL Native Driver. This may cause out of memory errors when fetching large result sets that exceed the size of the remaining memory made available by PHP. Because the MySQL Client Library is not using PHP memory management functions, it does not comply to any PHP memory limit set. If using the MySQL Client Library, depending on the deployment model, the memory footprint of the PHP process may grow beyond the PHP memory limit. But also PHP scripts may be able to process larger result sets as parts of the memory allocated to hold the result sets are beyond the control of the PHP engine.

PHP memory management functions are invoked by the MySQL Native Driver through a lightweight wrapper. Among others, the wrapper makes debugging easier.

Handling of result sets

The various MySQL Server and the various client APIs differentiate between buffered and unbuffered result sets. Unbuffered result sets are transferred row-by-row from MySQL to the client as the client iterates over the results. Buffered results are fetched in their entirety by the client library before passing them on to the client.

The MySQL Native Driver is using PHP Streams for the network communication with the MySQL Server. Results sent by MySQL are fetched from the PHP Streams network buffers into the result buffer of mysqlnd. The result buffer is made of zvals. In a second step the results are made available to the PHP script. This final transfer from the result buffer into PHP variables impacts the memory consumption and is mostly noticeable when using buffered result sets.

By default the MySQL Native Driver tries to avoid holding buffered results twice in memory. Results are kept only once in the internal result buffers and their zvals. When results are fetched into PHP variables by the PHP script, the variables will reference the internal result buffers. Database query results are not copied and kept in memory only once. Should the user modify the contents of a variable holding the database results a copy-on-write must be performed to avoid changing the referenced internal result buffer. The contents of the buffer must not be modified because the user may decide to read the result set a second time. The copy-on-write mechanism is implemented using an additional reference management list and the use of standard zval reference counters. Copy-on-write must also be done if the user reads a result set into PHP variables and frees a result set before the variables are unset.

Generally speaking, this pattern works well for scripts that read a result set once and do not modify variables holding results. Its major drawback is the memory overhead caused by the additional reference management which comes primarily from the fact that user variables holding results cannot be entirely released until the mysqlnd reference management stops referencing them. The MySQL Native driver removes the reference to the user variables when the result set is freed or a copy-on-write is performed. An observer will see the total memory consumption grow until the result set is released. Use the statistics to check whether a script does release result sets explicitly or the driver does implicit releases and thus memory is used for a time longer than necessary. Statistics also help to see how many copy-on-write operations happened.

A PHP script reading many small rows of a buffered result set using a code snippet equal or equivalent to while ($row = $res->fetch_assoc()) { ... } may optimize memory consumption by requesting copies instead of references. Albeit requesting copies means keeping results twice in memory, it allows PHP to free the copy contained in $row as the result set is being iterated and prior to releasing the result set itself. On a loaded server optimizing peak memory usage may help improving the overall system performance although for an individual script the copy approach may be slower due to additional allocations and memory copy operations.

Monitoring and debugging

There are multiple ways of tracking the memory usage of the MySQL Native Driver. If the goal is to get a quick high level overview or to verify the memory efficiency of PHP scripts, then check the statistics collected by the library. The statistics allow you, for example, to catch SQL statements which generate more results than are processed by a PHP script.

The debug trace log can be configured to record memory management calls. This helps to see when memory is allocated or free'd. However, the size of the requested memory chunks may not be listed.

Some, recent versions of the MySQL Native Driver feature the emulation of random out of memory situations. This feature is meant to be used by the C developers of the library or mysqlnd plugin authors only. Please, search the source code for corresponding PHP configuration settings and further details. The feature is considered private and may be modified at any time without prior notice.


MySQL Native Driver Plugin API

İçindekiler

  • A comparison of mysqlnd plugins with MySQL Proxy
  • Obtaining the mysqlnd plugin API
  • MySQL Native Driver Plugin Architecture
  • The mysqlnd plugin API
  • Getting started building a mysqlnd plugin

The MySQL Native Driver Plugin API is a feature of MySQL Native Driver, or mysqlnd. Mysqlnd plugins operate in the layer between PHP applications and the MySQL server. This is comparable to MySQL Proxy. MySQL Proxy operates on a layer between any MySQL client application, for example, a PHP application and, the MySQL server. Mysqlnd plugins can undertake typical MySQL Proxy tasks such as load balancing, monitoring and performance optimizations. Due to the different architecture and location, mysqlnd plugins do not have some of MySQL Proxy's disadvantages. For example, with plugins, there is no single point of failure, no dedicated proxy server to deploy, and no new programming language to learn (Lua).

A mysqlnd plugin can be thought of as an extension to mysqlnd. Plugins can intercept the majority of mysqlnd functions. The mysqlnd functions are called by the PHP MySQL extensions such as ext/mysql, ext/mysqli, and PDO_MYSQL. As a result, it is possible for a mysqlnd plugin to intercept all calls made to these extensions from the client application.

Internal mysqlnd function calls can also be intercepted, or replaced. There are no restrictions on manipulating mysqlnd internal function tables. It is possible to set things up so that when certain mysqlnd functions are called by the extensions that use mysqlnd, the call is directed to the appropriate function in the mysqlnd plugin. The ability to manipulate mysqlnd internal function tables in this way allows maximum flexibility for plugins.

Mysqlnd plugins are in fact PHP Extensions, written in C, that use the mysqlnd plugin API (which is built into MySQL Native Driver, mysqlnd). Plugins can be made 100% transparent to PHP applications. No application changes are needed because plugins operate on a different layer. The mysqlnd plugin can be thought of as operating in a layer below mysqlnd.

The following list represents some possible applications of mysqlnd plugins.

  • Load Balancing

    • Read/Write Splitting. An example of this is the PECL/mysqlnd_ms (Master Slave) extension. This extension splits read/write queries for a replication setup.

    • Failover

    • Round-Robin, least loaded

  • Monitoring

    • Query Logging

    • Query Analysis

    • Query Auditing. An example of this is the PECL/mysqlnd_sip (SQL Injection Protection) extension. This extension inspects queries and executes only those that are allowed according to a ruleset.

  • Performance

    • Caching. An example of this is the PECL/mysqlnd_qc (Query Cache) extension.

    • Throttling

    • Sharding. An example of this is the PECL/mysqlnd_mc (Multi Connect) extension. This extension will attempt to split a SELECT statement into n-parts, using SELECT ... LIMIT part_1, SELECT LIMIT part_n. It sends the queries to distinct MySQL servers and merges the result at the client.

MySQL Native Driver Plugins Available

There are a number of mysqlnd plugins already available. These include:

  • PECL/mysqlnd_mc - Multi Connect plugin.

  • PECL/mysqlnd_ms - Master Slave plugin.

  • PECL/mysqlnd_qc - Query Cache plugin.

  • PECL/mysqlnd_pscache - Prepared Statement Handle Cache plugin.

  • PECL/mysqlnd_sip - SQL Injection Protection plugin.

  • PECL/mysqlnd_uh - User Handler plugin.


A comparison of mysqlnd plugins with MySQL Proxy

Mysqlnd plugins and MySQL Proxy are different technologies using different approaches. Both are valid tools for solving a variety of common tasks such as load balancing, monitoring, and performance enhancements. An important difference is that MySQL Proxy works with all MySQL clients, whereas mysqlnd plugins are specific to PHP applications.

As a PHP Extension, a mysqlnd plugin gets installed on the PHP application server, along with the rest of PHP. MySQL Proxy can either be run on the PHP application server or can be installed on a dedicated machine to handle multiple PHP application servers.

Deploying MySQL Proxy on the application server has two advantages:

  1. No single point of failure

  2. Easy to scale out (horizontal scale out, scale by client)

MySQL Proxy (and mysqlnd plugins) can solve problems easily which otherwise would have required changes to existing applications.

However, MySQL Proxy does have some disadvantages:

  • MySQL Proxy is a new component and technology to master and deploy.

  • MySQL Proxy requires knowledge of the Lua scripting language.

MySQL Proxy can be customized with C and Lua programming. Lua is the preferred scripting language of MySQL Proxy. For most PHP experts Lua is a new language to learn. A mysqlnd plugin can be written in C. It is also possible to write plugins in PHP using » PECL/mysqlnd_uh.

MySQL Proxy runs as a daemon - a background process. MySQL Proxy can recall earlier decisions, as all state can be retained. However, a mysqlnd plugin is bound to the request-based lifecycle of PHP. MySQL Proxy can also share one-time computed results among multiple application servers. A mysqlnd plugin would need to store data in a persistent medium to be able to do this. Another daemon would need to be used for this purpose, such as Memcache. This gives MySQL Proxy an advantage in this case.

MySQL Proxy works on top of the wire protocol. With MySQL Proxy you have to parse and reverse engineer the MySQL Client Server Protocol. Actions are limited to those that can be achieved by manipulating the communication protocol. If the wire protocol changes (which happens very rarely) MySQL Proxy scripts would need to be changed as well.

Mysqlnd plugins work on top of the C API, which mirrors the libmysqlclient client. This C API is basically a wrapper around the MySQL Client Server protocol, or wire protocol, as it is sometimes called. You can intercept all C API calls. PHP makes use of the C API, therefore you can hook all PHP calls, without the need to program at the level of the wire protocol.

Mysqlnd implements the wire protocol. Plugins can therefore parse, reverse engineer, manipulate and even replace the communication protocol. However, this is usually not required.

As plugins allow you to create implementations that use two levels (C API and wire protocol), they have greater flexibility than MySQL Proxy. If a mysqlnd plugin is implemented using the C API, any subsequent changes to the wire protocol do not require changes to the plugin itself.


Obtaining the mysqlnd plugin API

The mysqlnd plugin API is simply part of the MySQL Native Driver PHP extension, ext/mysqlnd. Development started on the mysqlnd plugin API in December 2009. It is developed as part of the PHP source repository, and as such is available to the public either via Git, or through source snapshot downloads.

Plugin developers can determine the mysqlnd version through accessing MYSQLND_VERSION, which is a string of the format mysqlnd 5.0.7-dev - 091210 - $Revision: 300535, or through MYSQLND_VERSION_ID, which is an integer such as 50007. Developers can calculate the version number as follows:

MYSQLND_VERSION_ID calculation table
Version (part) | Example
Major*10000 | 5*10000 = 50000
Minor*100 | 0*100 = 0
Patch | 7 = 7
MYSQLND_VERSION_ID | 50007

During development, developers should refer to the mysqlnd version number for compatibility and version tests, as several iterations of mysqlnd could occur during the lifetime of a PHP development branch with a single PHP version number.


MySQL Native Driver Plugin Architecture

This section provides an overview of the mysqlnd plugin architecture.

MySQL Native Driver Overview

Before developing mysqlnd plugins, it is useful to know a little of how mysqlnd itself is organized. Mysqlnd consists of the following modules:

The mysqlnd organization chart, per module
Modules Statistics | mysqlnd_statistics.c
Connection | mysqlnd.c
Resultset | mysqlnd_result.c
Resultset Metadata | mysqlnd_result_meta.c
Statement | mysqlnd_ps.c
Network | mysqlnd_net.c
Wire protocol | mysqlnd_wireprotocol.c

C Object-Oriented Paradigm

At the code level, mysqlnd uses a C pattern for implementing object orientation.

In C you use a struct to represent an object. Members of the struct represent object properties. Struct members pointing to functions represent methods.

Unlike with other languages such as C++ or Java, there are no fixed rules on inheritance in the C object-oriented paradigm. However, there are some conventions that need to be followed that will be discussed later.

The PHP Life Cycle

When considering the PHP life cycle there are two basic cycles:

  • PHP engine startup and shutdown cycle

  • Request cycle

When the PHP engine starts up it will call the module initialization (MINIT) function of each registered extension. This allows each module to setup variables and allocate resources that will exist for the lifetime of the PHP engine process. When the PHP engine shuts down it will call the module shutdown (MSHUTDOWN) function of each extension.

During the lifetime of the PHP engine it will receive a number of requests. Each request constitutes another life cycle. On each request the PHP engine will call the request initialization function of each extension. The extension can perform any variable setup and resource allocation required for request processing. As the request cycle ends the engine calls the request shutdown (RSHUTDOWN) function of each extension so the extension can perform any cleanup required.

How a plugin works

A mysqlnd plugin works by intercepting calls made to mysqlnd by extensions that use mysqlnd. This is achieved by obtaining the mysqlnd function table, backing it up, and replacing it by a custom function table, which calls the functions of the plugin as required.

The following code shows how the mysqlnd function table is replaced:

/* a place to store original function table */
struct st_mysqlnd_conn_methods org_methods;

void minit_register_hooks(TSRMLS_D) {
  /* active function table */
  struct st_mysqlnd_conn_methods * current_methods
    = mysqlnd_conn_get_methods();

  /* backup original function table */
  memcpy(&org_methods, current_methods,
    sizeof(struct st_mysqlnd_conn_methods);

  /* install new methods */
  current_methods->query = MYSQLND_METHOD(my_conn_class, query);
}

Connection function table manipulations must be done during Module Initialization (MINIT). The function table is a global shared resource. In an multi-threaded environment, with a TSRM build, the manipulation of a global shared resource during the request processing will almost certainly result in conflicts.

Bilginize:

Do not use any fixed-size logic when manipulating the mysqlnd function table: new methods may be added at the end of the function table. The function table may change at any time in the future.

Calling parent methods

If the original function table entries are backed up, it is still possible to call the original function table entries - the parent methods.

In some cases, such as for Connection::stmt_init(), it is vital to call the parent method prior to any other activity in the derived method.

MYSQLND_METHOD(my_conn_class, query)(MYSQLND *conn,
  const char *query, unsigned int query_len TSRMLS_DC) {

  php_printf("my_conn_class::query(query = %s)\n", query);

  query = "SELECT 'query rewritten' FROM DUAL";
  query_len = strlen(query);

  return org_methods.query(conn, query, query_len); /* return with call to parent */
}

Extending properties

A mysqlnd object is represented by a C struct. It is not possible to add a member to a C struct at run time. Users of mysqlnd objects cannot simply add properties to the objects.

Arbitrary data (properties) can be added to a mysqlnd objects using an appropriate function of the mysqlnd_plugin_get_plugin_<object>_data() family. When allocating an object mysqlnd reserves space at the end of the object to hold a void * pointer to arbitrary data. mysqlnd reserves space for one void * pointer per plugin.

The following table shows how to calculate the position of the pointer for a specific plugin:

Pointer calculations for mysqlnd
Memory address | Contents
0 | Beginning of the mysqlnd object C struct
n | End of the mysqlnd object C struct
n + (m x sizeof(void*)) | void* to object data of the m-th plugin

If you plan to subclass any of the mysqlnd object constructors, which is allowed, you must keep this in mind!

The following code shows extending properties:

/* any data we want to associate */
typedef struct my_conn_properties {
  unsigned long query_counter;
} MY_CONN_PROPERTIES;

/* plugin id */
unsigned int my_plugin_id;

void minit_register_hooks(TSRMLS_D) {
  /* obtain unique plugin ID */
  my_plugin_id = mysqlnd_plugin_register();
  /* snip - see Extending Connection: methods */
}

static MY_CONN_PROPERTIES** get_conn_properties(const MYSQLND *conn TSRMLS_DC) {
  MY_CONN_PROPERTIES** props;
  props = (MY_CONN_PROPERTIES**)mysqlnd_plugin_get_plugin_connection_data(
    conn, my_plugin_id);
  if (!props || !(*props)) {
    *props = mnd_pecalloc(1, sizeof(MY_CONN_PROPERTIES), conn->persistent);
    (*props)->query_counter = 0;
  }
  return props;
}

The plugin developer is responsible for the management of plugin data memory.

Use of the mysqlnd memory allocator is recommended for plugin data. These functions are named using the convention: mnd_*loc(). The mysqlnd allocator has some useful features, such as the ability to use a debug allocator in a non-debug build.

When and how to subclass
 | When to subclass? | Each instance has its own private function table? | How to subclass?
Connection (MYSQLND) | MINIT | No | mysqlnd_conn_get_methods()
Resultset (MYSQLND_RES) | MINIT or later | Yes | mysqlnd_result_get_methods() or object method function table manipulation
Resultset Meta (MYSQLND_RES_METADATA) | MINIT | No | mysqlnd_result_metadata_get_methods()
Statement (MYSQLND_STMT) | MINIT | No | mysqlnd_stmt_get_methods()
Network (MYSQLND_NET) | MINIT or later | Yes | mysqlnd_net_get_methods() or object method function table manipulation
Wire protocol (MYSQLND_PROTOCOL) | MINIT or later | Yes | mysqlnd_protocol_get_methods() or object method function table manipulation

You must not manipulate function tables at any time later than MINIT if it is not allowed according to the above table.

Some classes contain a pointer to the method function table. All instances of such a class will share the same function table. To avoid chaos, in particular in threaded environments, such function tables must only be manipulated during MINIT.

Other classes use copies of a globally shared function table. The class function table copy is created together with the object. Each object uses its own function table. This gives you two options: you can manipulate the default function table of an object at MINIT, and you can additionally refine methods of an object without impacting other instances of the same class.

The advantage of the shared function table approach is performance. There is no need to copy a function table for each and every object.

Constructor status
Type | Allocation, construction, reset | Can be modified? | Caller
Connection (MYSQLND) | mysqlnd_init() | No | mysqlnd_connect()
Resultset(MYSQLND_RES)

Allocation:

  • Connection::result_init()

Reset and re-initialized during:

  • Result::use_result()

  • Result::store_result

Yes, but call parent!

  • Connection::list_fields()

  • Statement::get_result()

  • Statement::prepare() (Metadata only)

  • Statement::resultMetaData()

Resultset Meta (MYSQLND_RES_METADATA) | Connection::result_meta_init() | Yes, but call parent! | Result::read_result_metadata()
Statement (MYSQLND_STMT) | Connection::stmt_init() | Yes, but call parent! | Connection::stmt_init()
Network (MYSQLND_NET) | mysqlnd_net_init() | No | Connection::init()
Wire protocol (MYSQLND_PROTOCOL) | mysqlnd_protocol_init() | No | Connection::init()

It is strongly recommended that you do not entirely replace a constructor. The constructors perform memory allocations. The memory allocations are vital for the mysqlnd plugin API and the object logic of mysqlnd. If you do not care about warnings and insist on hooking the constructors, you should at least call the parent constructor before doing anything in your constructor.

Regardless of all warnings, it can be useful to subclass constructors. Constructors are the perfect place for modifying the function tables of objects with non-shared object tables, such as Resultset, Network, Wire Protocol.

Destruction status
Type | Derived method must call parent? | Destructor
Connection | yes, after method execution | free_contents(), end_psession()
Resultset | yes, after method execution | free_result()
Resultset Meta | yes, after method execution | free()
Statement | yes, after method execution | dtor(), free_stmt_content()
Network | yes, after method execution | free()
Wire protocol | yes, after method execution | free()

The destructors are the appropriate place to free properties, mysqlnd_plugin_get_plugin_<object>_data().

The listed destructors may not be equivalent to the actual mysqlnd method freeing the object itself. However, they are the best possible place for you to hook in and free your plugin data. As with constructors you may replace the methods entirely but this is not recommended. If multiple methods are listed in the above table you will need to hook all of the listed methods and free your plugin data in whichever method is called first by mysqlnd.

The recommended method for plugins is to simply hook the methods, free your memory and call the parent implementation immediately following this.


The mysqlnd plugin API

The following is a list of functions provided in the mysqlnd plugin API:

  • mysqlnd_plugin_register()

  • mysqlnd_plugin_count()

  • mysqlnd_plugin_get_plugin_connection_data()

  • mysqlnd_plugin_get_plugin_result_data()

  • mysqlnd_plugin_get_plugin_stmt_data()

  • mysqlnd_plugin_get_plugin_net_data()

  • mysqlnd_plugin_get_plugin_protocol_data()

  • mysqlnd_conn_get_methods()

  • mysqlnd_result_get_methods()

  • mysqlnd_result_meta_get_methods()

  • mysqlnd_stmt_get_methods()

  • mysqlnd_net_get_methods()

  • mysqlnd_protocol_get_methods()

There is no formal definition of what a plugin is and how a plugin mechanism works.

Components often found in plugins mechanisms are:

  • A plugin manager

  • A plugin API

  • Application services (or modules)

  • Application service APIs (or module APIs)

The mysqlnd plugin concept employs these features, and additionally enjoys an open architecture.

No Restrictions

A plugin has full access to the inner workings of mysqlnd. There are no security limits or restrictions. Everything can be overwritten to implement friendly or hostile algorithms. It is recommended you only deploy plugins from a trusted source.

As discussed previously, plugins can use pointers freely. These pointers are not restricted in any way, and can point into another plugin's data. Simple offset arithmetic can be used to read another plugin's data.

It is recommended that you write cooperative plugins, and that you always call the parent method. The plugins should always cooperate with mysqlnd itself.

Issues: an example of chaining and cooperation
Extension | mysqlnd.query() pointer | call stack if calling parent
ext/mysqlnd | mysqlnd.query() | mysqlnd.query
ext/mysqlnd_cache mysqlnd_cache.query()

  1. mysqlnd_cache.query()

  2. mysqlnd.query

ext/mysqlnd_monitor mysqlnd_monitor.query()

  1. mysqlnd_monitor.query()

  2. mysqlnd_cache.query()

  3. mysqlnd.query

In this scenario, a cache (ext/mysqlnd_cache) and a monitor (ext/mysqlnd_monitor) plugin are loaded. Both subclass Connection::query(). Plugin registration happens at MINIT using the logic shown previously. PHP calls extensions in alphabetical order by default. Plugins are not aware of each other and do not set extension dependencies.

By default the plugins call the parent implementation of the query method in their derived version of the method.

PHP Extension Recap

This is a recap of what happens when using an example plugin, ext/mysqlnd_plugin, which exposes the mysqlnd C plugin API to PHP:

  • Any PHP MySQL application tries to establish a connection to 192.168.2.29

  • The PHP application will either use ext/mysql, ext/mysqli or PDO_MYSQL. All three PHP MySQL extensions use mysqlnd to establish the connection to 192.168.2.29.

  • Mysqlnd calls its connect method, which has been subclassed by ext/mysqlnd_plugin.

  • ext/mysqlnd_plugin calls the userspace hook proxy::connect() registered by the user.

  • The userspace hook changes the connection host IP from 192.168.2.29 to 127.0.0.1 and returns the connection established by parent::connect().

  • ext/mysqlnd_plugin performs the equivalent of parent::connect(127.0.0.1) by calling the original mysqlnd method for establishing a connection.

  • ext/mysqlnd establishes a connection and returns to ext/mysqlnd_plugin. ext/mysqlnd_plugin returns as well.

  • Whatever PHP MySQL extension had been used by the application, it receives a connection to 127.0.0.1. The PHP MySQL extension itself returns to the PHP application. The circle is closed.


Getting started building a mysqlnd plugin

It is important to remember that a mysqlnd plugin is itself a PHP extension.

The following code shows the basic structure of the MINIT function that will be used in the typical mysqlnd plugin:

/* my_php_mysqlnd_plugin.c */

 static PHP_MINIT_FUNCTION(mysqlnd_plugin) {
  /* globals, ini entries, resources, classes */

  /* register mysqlnd plugin */
  mysqlnd_plugin_id = mysqlnd_plugin_register();

  conn_m = mysqlnd_get_conn_methods();
  memcpy(org_conn_m, conn_m,
    sizeof(struct st_mysqlnd_conn_methods));

  conn_m->query = MYSQLND_METHOD(mysqlnd_plugin_conn, query);
  conn_m->connect = MYSQLND_METHOD(mysqlnd_plugin_conn, connect);
}

/* my_mysqlnd_plugin.c */

 enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, query)(/* ... */) {
  /* ... */
}
enum_func_status MYSQLND_METHOD(mysqlnd_plugin_conn, connect)(/* ... */) {
  /* ... */
}

Task analysis: from C to userspace

 class proxy extends mysqlnd_plugin_connection {
  public function connect($host, ...) { .. }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

Process:

  1. PHP: user registers plugin callback

  2. PHP: user calls any PHP MySQL API to connect to MySQL

  3. C: ext/*mysql* calls mysqlnd method

  4. C: mysqlnd ends up in ext/mysqlnd_plugin

  5. C: ext/mysqlnd_plugin

    1. Calls userspace callback

    2. Or original mysqlnd method, if userspace callback not set

You need to carry out the following:

  1. Write a class "mysqlnd_plugin_connection" in C

  2. Accept and register proxy object through "mysqlnd_plugin_set_conn_proxy()"

  3. Call userspace proxy methods from C (optimization - zend_interfaces.h)

Userspace object methods can either be called using call_user_function() or you can operate at a level closer to the Zend Engine and use zend_call_method().

Optimization: calling methods from C using zend_call_method

The following code snippet shows the prototype for the zend_call_method function, taken from zend_interfaces.h.

 ZEND_API zval* zend_call_method(
  zval **object_pp, zend_class_entry *obj_ce,
  zend_function **fn_proxy, char *function_name,
  int function_name_len, zval **retval_ptr_ptr,
  int param_count, zval* arg1, zval* arg2 TSRMLS_DC
);

Zend API supports only two arguments. You may need more, for example:

 enum_func_status (*func_mysqlnd_conn__connect)(
  MYSQLND *conn, const char *host,
  const char * user, const char * passwd,
  unsigned int passwd_len, const char * db,
  unsigned int db_len, unsigned int port,
  const char * socket, unsigned int mysql_flags TSRMLS_DC
);

To get around this problem you will need to make a copy of zend_call_method() and add a facility for additional parameters. You can do this by creating a set of MY_ZEND_CALL_METHOD_WRAPPER macros.

Calling PHP userspace

This code snippet shows the optimized method for calling a userspace function from C:

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class,connect)(
  MYSQLND *conn, const char *host /* ... */ TSRMLS_DC) {
  enum_func_status ret = FAIL;
  zval * global_user_conn_proxy = fetch_userspace_proxy();
  if (global_user_conn_proxy) {
    /* call userspace proxy */
    ret = MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, host, /*...*/);
  } else {
    /* or original mysqlnd method = do nothing, be transparent */
    ret = org_methods.connect(conn, host, user, passwd,
          passwd_len, db, db_len, port,
          socket, mysql_flags TSRMLS_CC);
  }
  return ret;
}

Calling userspace: simple arguments

/* my_mysqlnd_plugin.c */

 MYSQLND_METHOD(my_conn_class,connect)(
  /* ... */, const char *host, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_host;
    MAKE_STD_ZVAL(zv_host);
    ZVAL_STRING(zv_host, host, 1);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_host);
    /* ... */
  }
  /* ... */
}

Calling userspace: structs as arguments

/* my_mysqlnd_plugin.c */

MYSQLND_METHOD(my_conn_class, connect)(
  MYSQLND *conn, /* ...*/) {
  /* ... */
  if (global_user_conn_proxy) {
    /* ... */
    zval* zv_conn;
    ZEND_REGISTER_RESOURCE(zv_conn, (void *)conn, le_mysqlnd_plugin_conn);
    MY_ZEND_CALL_METHOD_WRAPPER(global_user_conn_proxy, zv_retval, zv_conn, zv_host /*, ...*/);
    zval_ptr_dtor(&zv_conn);
    /* ... */
  }
  /* ... */
}

The first argument of many mysqlnd methods is a C "object". For example, the first argument of the connect() method is a pointer to MYSQLND. The struct MYSQLND represents a mysqlnd connection object.

The mysqlnd connection object pointer can be compared to a standard I/O file handle. Like a standard I/O file handle a mysqlnd connection object shall be linked to the userspace using the PHP resource variable type.

From C to userspace and back

 class proxy extends mysqlnd_plugin_connection {
  public function connect($conn, $host, ...) {
    /* "pre" hook */
    printf("Connecting to host = '%s'\n", $host);
    debug_print_backtrace();
    return parent::connect($conn);
  }

  public function query($conn, $query) {
    /* "post" hook */
    $ret = parent::query($conn, $query);
    printf("Query = '%s'\n", $query);
    return $ret;
  }
}
mysqlnd_plugin_set_conn_proxy(new proxy());

PHP users must be able to call the parent implementation of an overwritten method.

As a result of subclassing it is possible to refine only selected methods and you can choose to have "pre" or "post" hooks.

Buildin class: mysqlnd_plugin_connection::connect()

/*  my_mysqlnd_plugin_classes.c */

 PHP_METHOD("mysqlnd_plugin_connection", connect) {
  /* ... simplified! ... */
  zval* mysqlnd_rsrc;
  MYSQLND* conn;
  char* host; int host_len;
  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs",
    &mysqlnd_rsrc, &host, &host_len) == FAILURE) {
    RETURN_NULL();
  }
  ZEND_FETCH_RESOURCE(conn, MYSQLND* conn, &mysqlnd_rsrc, -1,
    "Mysqlnd Connection", le_mysqlnd_plugin_conn);
  if (PASS == org_methods.connect(conn, host, /* simplified! */ TSRMLS_CC))
    RETVAL_TRUE;
  else
    RETVAL_FALSE;
}


Oracle OCI8

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Testing
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Örnekler
  • OCI8 Connection Handling and Connection Pooling
  • OCI8 Fast Application Notification (FAN) Support
  • OCI8 Transparent Application Failover (TAF) Support
  • OCI8 and DTrace Dynamic Tracing
  • Supported Datatypes
  • OCI8 İşlevleri
    • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
    • oci_bind_by_name — Binds a PHP variable to an Oracle placeholder
    • oci_cancel — Cancels reading from cursor
    • oci_client_version — Returns the Oracle client library version
    • oci_close — Closes an Oracle connection
    • oci_commit — Commits the outstanding database transaction
    • oci_connect — Connect to an Oracle database
    • oci_define_by_name — Associates a PHP variable with a column for query fetches
    • oci_error — Returns the last error found
    • oci_execute — Executes a statement
    • oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array
    • oci_fetch_array — Returns the next row from a query as an associative or numeric array
    • oci_fetch_assoc — Returns the next row from a query as an associative array
    • oci_fetch_object — Returns the next row from a query as an object
    • oci_fetch_row — Returns the next row from a query as a numeric array
    • oci_fetch — Fetches the next row from a query into internal buffers
    • oci_field_is_null — Checks if a field in the currently fetched row is null
    • oci_field_name — Returns the name of a field from the statement
    • oci_field_precision — Tell the precision of a field
    • oci_field_scale — Tell the scale of the field
    • oci_field_size — Returns field's size
    • oci_field_type_raw — Tell the raw Oracle data type of the field
    • oci_field_type — Returns a field's data type name
    • oci_free_descriptor — Frees a descriptor
    • oci_free_statement — Frees all resources associated with statement or cursor
    • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
    • oci_lob_copy — Copies large object
    • oci_lob_is_equal — Compares two LOB/FILE locators for equality
    • oci_new_collection — Allocates new collection object
    • oci_new_connect — Connect to the Oracle server using a unique connection
    • oci_new_cursor — Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
    • oci_num_fields — Returns the number of result columns in a statement
    • oci_num_rows — Returns number of rows affected during statement execution
    • oci_parse — Prepares an Oracle statement for execution
    • oci_password_change — Changes password of Oracle's user
    • oci_pconnect — Connect to an Oracle database using a persistent connection
    • oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
    • oci_result — Returns field's value from the fetched row
    • oci_rollback — Rolls back the outstanding database transaction
    • oci_server_version — Returns the Oracle Database version
    • oci_set_action — Sets the action name
    • oci_set_call_timeout — Sets a millisecond timeout for database calls
    • oci_set_client_identifier — Sets the client identifier
    • oci_set_client_info — Sets the client information
    • oci_set_db_operation — Sets the database operation
    • oci_set_edition — Sets the database edition
    • oci_set_module_name — Sets the module name
    • oci_set_prefetch_lob — Sets the amount of data prefetched for each CLOB or BLOB.
    • oci_set_prefetch — Sets number of rows to be prefetched by queries
    • oci_statement_type — Returns the type of a statement
    • oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF
  • OCICollection — The OCICollection class
    • OCICollection::append — Appends element to the collection
    • OCICollection::assign — Assigns a value to the collection from another existing collection
    • OCICollection::assignElem — Assigns a value to the element of the collection
    • OCICollection::free — Frees the resources associated with the collection object
    • OCICollection::getElem — Returns value of the element
    • OCICollection::max — Returns the maximum number of elements in the collection
    • OCICollection::size — Returns size of the collection
    • OCICollection::trim — Trims elements from the end of the collection
  • OCILob — The OCILob class
    • OCILob::append — Appends data from the large object to another large object
    • OCILob::close — Closes LOB descriptor
    • OCILob::eof — Tests for end-of-file on a large object's descriptor
    • OCILob::erase — Erases a specified portion of the internal LOB data
    • OCILob::export — Exports LOB's contents to a file
    • OCILob::flush — Flushes/writes buffer of the LOB to the server
    • OCILob::free — Frees resources associated with the LOB descriptor
    • OCILob::getBuffering — Returns current state of buffering for the large object
    • OCILob::import — Imports file data to the LOB
    • OCILob::load — Returns large object's contents
    • OCILob::read — Reads part of the large object
    • OCILob::rewind — Moves the internal pointer to the beginning of the large object
    • OCILob::save — Saves data to the large object
    • OCILob::saveFile — Takma Adı: OCILob::import
    • OCILob::seek — Sets the internal pointer of the large object
    • OCILob::setBuffering — Changes current state of buffering for the large object
    • OCILob::size — Returns size of large object
    • OCILob::tell — Returns the current position of internal pointer of large object
    • OCILob::truncate — Truncates large object
    • OCILob::write — Writes data to the large object
    • OCILob::writeTemporary — Writes a temporary large object
    • OCILob::writeToFile — Takma Adı: OCILob::export
  • OCI8 Obsolete Aliases and Functions
    • oci_internal_debug — Enables or disables internal debug output
    • ocibindbyname — Takma Adı: oci_bind_by_name
    • ocicancel — Takma Adı: oci_cancel
    • ocicloselob — Takma Adı: OCILob::close
    • ocicollappend — Takma Adı: OCICollection::append
    • ocicollassign — Takma Adı: OCICollection::assign
    • ocicollassignelem — Takma Adı: OCICollection::assignElem
    • ocicollgetelem — Takma Adı: OCICollection::getElem
    • ocicollmax — Takma Adı: OCICollection::max
    • ocicollsize — Takma Adı: OCICollection::size
    • ocicolltrim — Takma Adı: OCICollection::trim
    • ocicolumnisnull — Takma Adı: oci_field_is_null
    • ocicolumnname — Takma Adı: oci_field_name
    • ocicolumnprecision — Takma Adı: oci_field_precision
    • ocicolumnscale — Takma Adı: oci_field_scale
    • ocicolumnsize — Takma Adı: oci_field_size
    • ocicolumntype — Takma Adı: oci_field_type
    • ocicolumntyperaw — Takma Adı: oci_field_type_raw
    • ocicommit — Takma Adı: oci_commit
    • ocidefinebyname — Takma Adı: oci_define_by_name
    • ocierror — Takma Adı: oci_error
    • ociexecute — Takma Adı: oci_execute
    • ocifetch — Takma Adı: oci_fetch
    • ocifetchinto — Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row
    • ocifetchstatement — Takma Adı: oci_fetch_all
    • ocifreecollection — Takma Adı: OCICollection::free
    • ocifreecursor — Takma Adı: oci_free_statement
    • ocifreedesc — Takma Adı: OCILob::free
    • ocifreestatement — Takma Adı: oci_free_statement
    • ociinternaldebug — Takma Adı: oci_internal_debug
    • ociloadlob — Takma Adı: OCILob::load
    • ocilogoff — Takma Adı: oci_close
    • ocilogon — Takma Adı: oci_connect
    • ocinewcollection — Takma Adı: oci_new_collection
    • ocinewcursor — Takma Adı: oci_new_cursor
    • ocinewdescriptor — Takma Adı: oci_new_descriptor
    • ocinlogon — Takma Adı: oci_new_connect
    • ocinumcols — Takma Adı: oci_num_fields
    • ociparse — Takma Adı: oci_parse
    • ociplogon — Takma Adı: oci_pconnect
    • ociresult — Takma Adı: oci_result
    • ocirollback — Takma Adı: oci_rollback
    • ocirowcount — Takma Adı: oci_num_rows
    • ocisavelob — Takma Adı: OCILob::save
    • ocisavelobfile — Takma Adı: OCILob::import
    • ociserverversion — Takma Adı: oci_server_version
    • ocisetprefetch — Takma Adı: oci_set_prefetch
    • ocistatementtype — Takma Adı: oci_statement_type
    • ociwritelobtofile — Takma Adı: OCILob::export
    • ociwritetemporarylob — Takma Adı: OCILob::writeTemporary


Giriş

These functions allow you to access Oracle Database. They support SQL and PL/SQL statements. Basic features include transaction control, binding of PHP variables to Oracle placeholders, and support for large object (LOB) types and collections. Oracle's scalability features such as Database Resident Connection Pooling (DRCP) and result caching are also supported.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Testing
  • Çalışma Anı Yapılandırması


Gereksinimler

OCI8 3.0 is included with PHP 8. It is also available from » PECL. For PHP 7, use OCI8 2.2 from » PECL. OCI8 requires Oracle 10g or later Oracle client libraries.

If the Oracle Database is on the same machine as PHP, the database software already contains the necessary libraries and header files. When PHP is on a different machine, use the free » Oracle Instant Client libraries.

To use Oracle Instant Client, install the Basic or Basic Light Oracle Instant Client ZIP file, RPM package, or DMG package. When building OCI8 from source code, also install the Instant Client SDK.

You must run PHP with the same, or a more recent, version of the Oracle libraries that OCI8 was built with.

Bilginize:

Oracle's standard client-server network interoperability allows connections between different versions of Oracle Client and Oracle Database. For certified configurations see Oracle Support's Doc ID 207303.1. In summary, Oracle Client 19, 18 and 12.2 can connect to Oracle Database 11.2 or greater. Oracle Client 12.1 can connect to Oracle Database 10.2 or greater. Oracle Client 11.2 can connect to Oracle Database 9.2 or greater.

Bilginize:

Full OCI8 feature support is only available when using the most recent versions of the Oracle client libraries and database.


Kurulum

Configuring PHP with OCI8

Review the previous Requirements section before configuring OCI8.

Before starting the web server, OCI8 typically requires several Oracle environment variables (see below) to locate libraries, point to configuration files, and set some basic properties such as the character set used by Oracle libraries. The variables must be set before any PHP process starts.

The PHP binary must link with the same, or more recent, major version of Oracle libraries as it was configured with. For example, if you build OCI8 with Oracle 19 libraries, then PHP should also be deployed and run with Oracle 19 libraries. PHP applications can connect to other versions of Oracle Database, since Oracle has client-server cross-version compatibility.

Installing OCI8 from PECL Using the pecl Command

The OCI8 extension can be added to an existing PHP installation by using the » PECL repository.

  • If you are behind a firewall, set PEAR's proxy, for example:

    pear config-set http_proxy http://my-proxy.example.com:80/

  • Run

    pecl install oci8

    For PHP 7, use pecl install oci8-2.2.0

  • When prompted, enter either the value of $ORACLE_HOME, or instantclient,/path/to/instant/client/lib.

    Note: Do not enter variable names like $ORACLE_HOME or $HOME because pecl will not expand them. Instead, enter an expanded path, for example /opt/oracle/product/19c/dbhome_1 or instantclient,/Users/myname/Downloads/instantclient_19_8

  • If you get an error oci8_dtrace_gen.h: No such file or directory, it means PHP was built with DTrace Dynamic Tracing enabled. Install using:

    $ export PHP_DTRACE=yes
$ pecl install oci8

  • Edit your php.ini file and add the line:

    extension=oci8.so

    Make sure the php.ini directive extension_dir is set to the directory that oci8.so was installed in.

Installing OCI8 from PECL Using phpize

To install OCI8 on an existing PHP installation when the pecl command is not available, manually download the » PECL OCI8 package, e.g. oci8-3.0.0.tgz.

  • Extract the package:

    tar -zxf oci8-3.0.0.tgz
cd oci8-3.0.0

  • Prepare the package:

    phpize

  • Configure the package, either using $ORACLE_HOME or Instant Client

    ./configure -with-oci8=shared,$ORACLE_HOME

    or

    ./configure -with-oci8=shared,instantclient,/path/to/instant/client/lib

  • Install the package:

    make install

  • If you get an error oci8_dtrace_gen.h: No such file or directory, it means PHP was built with DTrace Dynamic Tracing enabled. Re-run the configure and make commands after setting this environment variable:

    $ export PHP_DTRACE=yes

  • Edit your php.ini file and add the line:

    extension=oci8.so

    Make sure the php.ini directive extension_dir is set to the directory that oci8.so was installed in.

Installing OCI8 as a Shared Extension when Building PHP

If you are building PHP from source code, the configuration shared option can be used to build OCI8 as a shared library that can be dynamically loaded into PHP. Building a shared extension allows OCI8 to be upgraded easily without impacting the rest of PHP.

Configure OCI8 using one of the following configure options.

  • If using the free » Oracle Instant Client libraries, then do:

    ./configure --with-oci8=shared,instantclient,/path/to/instant/client/lib

    If Instant Client 12.2 (or earlier) is installed from ZIP files, make sure to create the library symbolic link first, for example ln -s libclntsh.so.12.1 libclntsh.so.

    If using an RPM-based installation of Oracle Instant Client, the configure line will look like this:

    ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/<version>/client/lib

    For example, --with-oci8=shared,instantclient,/usr/lib/oracle/19.9/client/lib

  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=shared,$ORACLE_HOME

    Make sure the web server user (nobody, www) has access to the libraries, initialization files and tnsnames.ora (if used) under the $ORACLE_HOME directory. With Oracle 10gR2, you may need to run the $ORACLE_HOME/install/changePerm.sh utility to give directory access.

After configuration, follow the usual PHP building procedure, e.g. make install. The OCI8 shared extension oci8.so library will be created. It may need to be manually moved to the PHP extension directory, specified by the extension_dir option in your php.ini file.

To complete installation of OCI8, edit php.ini and add the line:

extension=oci8.so

Installing OCI8 as a Statically Compiled Extension when Building PHP

If you are building PHP from source code, you can configure PHP to include OCI8 as a static extension using one of the following configure options.

  • If using Oracle Instant Client, then do:

    ./configure --with-oci8=instantclient,/path/to/instant/client/lib

  • If using an Oracle database or full Oracle Client installation then do:

    ./configure --with-oci8=$ORACLE_HOME

After configuration, follow the usual PHP building procedure, e.g. make install. After successful compilation, you do not need to add oci8.so to php.ini. No additional build steps are required.

Installing OCI8 on Windows

The OCI8 extension can be added to an existing PHP installation by using the DLLs from » PECL repository or the libraries in your PHP installation's ext directory.

With Oracle 12c (or later) libraries, uncomment one of the php.ini lines extension=php_oci8_12c.dll or extension=php_oci8_11g.dll or extension=php_oci8.dll. Only one of these DLLs may be enabled at a time. DLLs with higher versions may contain more functionality. Not all DLLs may be available for all versions of PHP. Make sure extension_dir is set to the directory containing the PHP extension DLLs.

If using Instant Client, set the system PATH environment variable to the Oracle library directory.

Setting the Oracle Environment

Before using this extension, make sure that the Oracle environment variables are properly set for the web daemon user. If your web server is automatically started at boot time then make sure that the boot-time environment is also configured correctly.

Bilginize:

Do not set Oracle environment variables using putenv() in a PHP script because Oracle libraries may be loaded and initialized before your script runs. Variables set with putenv() may then cause conflicts, crashes, or unpredictable behavior. Some functions may work but others might give subtle errors. The variables should be set up before the web server is started.

On Red Hat Linux and variants, export variables at the end of /etc/sysconfig/httpd. Other systems with Apache 2 may use an envvars script in the Apache bin directory. A third option, the Apache SetEnv directive in httpd.conf, may work in some systems but is known to be insufficient in others.

To check that environment variables are set correctly, use phpinfo() and check the Environment (not the Apache Environment) section contains the expected variables.

The variables that might be needed are included in the following table. Refer to the Oracle documentation for more information on all the available variables.

Common Oracle Environment Variables
Name | Purpose
ORACLE_HOME | Contains the directory of the full Oracle Database software. Do not set this when using Oracle Instant Client as it is unnecessary and may cause installation problems.
ORACLE_SID | Contains the name of the database on the local machine to be connected to. There is no need to set this if you using Oracle Instant Client, or always pass the connection parameter to oci_connect().
LD_LIBRARY_PATH | Set this (or its platform equivalent, such as LIBPATH, or SHLIB_PATH) to the location of the Oracle libraries, for example $ORACLE_HOME/lib or /usr/lib/oracle/18.5/client/lib. Note with Instant Client ZIP files on Linux it is more reliable to use ldconfig instead, see the Instant Client installation instructions. With Instant Client 19 (or later) RPM files, ldconfig is automatically run for you. Some users use LD_PRELOAD instead of LD_LIBRARY_PATH.
NLS_LANG | This is the primary variable for setting the character set and globalization information used by the Oracle libraries.
ORA_SDTZ | Sets the Oracle session timezone.
TNS_ADMIN | Contains the directory where the Oracle Net Services configuration files such as tnsnames.ora and sqlnet.ora are kept. Not needed if the oci_connect() connection string uses the Easy Connect naming syntax such as localhost/XE. Not needed if the network configuration files are in one of the default locations such as /usr/lib/oracle/VERSION/client/lib/network/admin, $ORACLE_HOME/network/admin or /etc.
Less frequently used Oracle environment variables include TWO_TASK, ORA_TZFILE, and the various Oracle globalization settings like NLS* and the ORA_NLS_* variables.

Troubleshooting

The most common problem with installing OCI8 is not having the Oracle environment correctly set. This typically appears as a problem using oci_connect() or oci_pconnect(). The error may be a PHP error such as Call to undefined function oci_connect(), an Oracle error such as ORA-12705, or even an Apache crash. Check the Apache log files for startup errors and see the sections above to resolve this problem.

While network errors like ORA-12154 or ORA-12514 indicate an Oracle network naming or configuration issue, the root cause may be because the PHP environment is incorrectly set up and Oracle libraries are unable to locate the tnsnames.ora configuration file.

On Windows, having multiple versions of Oracle on the one machine can easily cause library clashes unless care is taken to make sure PHP only uses the correct version of Oracle.

A utility to examine what libraries are being looked for and loaded can help resolve missing or clashing library issues, particularly on Windows.

Bilginize: If the web server doesn't start or crashes at startup

Check that Apache is linked with the pthread library:

# ldd /www/apache/bin/httpd
  libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000)
  libm.so.6 => /lib/libm.so.6 (0x4002f000)
  libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000)
  libdl.so.2 => /lib/libdl.so.2 (0x4007a000)
  libc.so.6 => /lib/libc.so.6 (0x4007e000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

If the libpthread is not listed, then reinstall Apache:

# cd /usr/src/apache_1.3.xx
# make clean
# LIBS=-lpthread ./config.status
# make
# make install

Please note that on some systems like UnixWare, it is libthread instead of libpthread. PHP and Apache have to be configured with EXTRA_LIBS=-lthread.


Testing

The OCI8 test suite is in ext/oci8/tests. After OCI8 tests are run this directory will also contain logs of any failures.

Before running PHP's tests, edit details.inc and set $user, $password and the $dbase connection string. The OCI8 test suite has been developed using the SYSTEM account. Some tests will fail if the test user does not have equivalent permissions.

If Oracle Database Resident Connection Pooling is being tested, set $test_drcp to true and ensure the connection string uses an appropriate DRCP pooled server.

An alternative to editing details.inc is the set environment variables, for example:

    $ export PHP_OCI8_TEST_USER=system
    $ export PHP_OCI8_TEST_PASS=oracle
    $ export PHP_OCI8_TEST_DB=localhost/XE
    $ export PHP_OCI8_TEST_DRCP=FALSE
Note in some shells these variables are not propagated correctly to the PHP process and tests will fail to connect if this method is used.

Next, set any necessary environment for the Oracle database. If you are running PHP on the same machines as Oracle Database, you can run:

    $ . /usr/local/bin/oraenv

With Oracle 11gR2 XE do:

    $ . /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh

Some shells require that php.ini has E in the variables_order parameter, for example:

    variables_order = "EGPCS"

Run all the PHP tests with:

    $ cd your_php_src_directory
    $ make test
or run only the OCI8 tests with
    $ cd your_php_src_directory
    $ make test TESTS=ext/oci8

When the tests have completed, review any test failures. On slow systems, some tests may take longer than the default test timeout in run-tests.php. To correct this, set the environment variable TEST_TIMEOUT to a larger number of seconds.

On fast machines with a local database configured for light load (e.g. Oracle 11gR2 XE) some tests might fail with ORA-12516 or ORA-12520 errors. To prevent this, increase the database PROCESSES parameter using the following steps:

Connect as the oracle software owner:

    $ su - oracle

Set the necessary Oracle environment with oracle_env.sh or oraenv, as described above.

Start the SQL*Plus command line tool and increase PROCESSES

    $ sqlplus / as sysdba
    SQL> alter system set processes=100 scope=spfile

Restart the database:

    SQL> startup force


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

OCI8 Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
oci8.connection_class | "" | PHP_INI_ALL |
oci8.default_prefetch | "100" | PHP_INI_SYSTEM |
oci8.events | Off | PHP_INI_SYSTEM |
oci8.max_persistent | "-1" | PHP_INI_SYSTEM |
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Deprecated as of PHP 8.1.0.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM |
oci8.ping_interval | "60" | PHP_INI_SYSTEM |
oci8.prefetch_lob_size | "0" | PHP_INI_SYSTEM | Available since PECL OCI8 3.2.
oci8.privileged_connect | Off | PHP_INI_SYSTEM |
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

oci8.connection_class string

This user defined text should always be set when using Oracle Database Resident Connection Pooling (DRCP). It allows sub-partitioning of the DRCP connection pool, allowing OCI8 persistent connections from an application to reuse database sessions from a previous PHP script, giving better scalability. When an application uses a database pooled process previously used with a different connection class, the session settings such as the default Oracle date format are reset. This prevents accidental sharing of information between different applications.

The value can be set at runtime with ini_set() prior to connecting.

To use DRCP, OCI8 must be linked with Oracle 11g (or later) libraries and the database must be Oracle 11g (or later). The DRCP connection pool must be enabled in the database, the oci8.connection_class should be set to the same string for all web servers running the same application, and the OCI8 connection string must specify to use a pooled server. The application should use persistent connections.

oci8.default_prefetch int

This option sets the default number of extra rows that will be fetched and cached automatically whenever a low-level request for data from the database is made. Setting a value of 0 turns off prefetching.

The prefetch value does not alter the number of rows that functions like oci_fetch_array() return to the user; the prefetching and caching of rows is handled internally in OCI8.

The value can be set per-statement with oci_set_prefetch() prior to statement execution.

When using Oracle Database 12c (or later), the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Bilginize: A larger prefetch can result in improved performance, at the cost of some increased memory usage. For queries that return large amounts of data, the performance benefit can be significant.

oci8.events bool

Using On allows PHP to be notified of database Fast Application Notification (FAN) events.

Without FAN, when a database instance or machine node fails unexpectedly, PHP applications may be blocked waiting for a database response until a TCP timeout expires. With FAN events, PHP applications are quickly notified of failures that affect their established database connections. The OCI8 extension will clean up unusable connections in the persistent connection cache.

When using On, the database must also be configured to post FAN events.

FAN support is available when OCI8 is linked with Oracle 10gR2 (or later) libraries and connected to Oracle Database 10gR2 (or later).

oci8.max_persistent int

The maximum number of persistent OCI8 connections per PHP process. Setting this option to -1 means that there is no limit.

oci8.old_oci_close_semantics bool

This option controls oci_close() behaviour. Enabling it means that oci_close() will do nothing; the connection will not be closed until the end of the script. This is for backward compatibility only. If you find that you need to enable this setting, you are strongly encouraged to adjust the oci_close() calls in your application instead of enabling this option.

oci8.persistent_timeout int

The maximum number of seconds that a PHP process is allowed to keep an idle persistent connection open. Setting this option to -1 means that idle persistent connections will be retained until the PHP process terminates or the connection is explicitly closed with oci_close().

Bilginize: In PHP, the expiry of idle resources is not alarm-based. It occurs when PHP finishes processing a script and checks the last-used timestamp of resources. Hence there is a paradox that idle connections can only be closed when there is some activity (though not necessarily OCI8 related) in the PHP process. If there is more than one PHP process then each must individually be activated in order to trigger expiry of its idle resources. The introduction of Database Resident Connection Pooling (DRCP) in Oracle 11g resolves the memory and resource issues that oci8.max_persistent and oci8.persistent_timeout previously attempted to overcome.

oci8.ping_interval int

The number of seconds that must pass before issuing a ping during oci_pconnect(). A ping ensures that the database connection is valid. When set to 0, persistent connections will be pinged every time oci_pconnect() is called. To disable pings completely, set this option to -1.

Bilginize: Disabling pings allows oci_pconnect() to operate at the highest efficiency, but PHP may not be able to detect unusable connections, such as caused by network dropout, or if the Oracle database has gone down since PHP connected, until the connection is used later in the script. Consult the oci_pconnect() documentation for more information.

oci8.prefetch_lob_size int

This is a tuning parameter affecting internal buffering of LOB data. Increasing this value can improve the performance of fetching smaller LOBs by reducing round-trips between PHP and the database. Memory usage will change.

The value affects LOBs returned as OCILob instances and also those returned using OCI_RETURN_LOBS.

The value can be set per-statement with oci_set_prefetch_lob() prior to statement execution.

Bilginize: Use with Oracle Database 12.2 or later.

oci8.privileged_connect bool

This option allows connections to use the privileged external credentials OCI_SYSOPER or OCI_SYSDBA.

Bilginize: Seting this On can allow scripts on web servers running with the appropriate OS user privileges to connect as privileged database users without requiring a database password. This can be a security risk.

oci8.statement_cache_size int

This option enables statement caching, and specifies how many statements to cache. To disable statement caching just set this option to 0.

Statement caching removes the need to transmit the statement text to the database and removes the need to transmit any meta data about the statement back to PHP. This can significantly improve overall system performance in applications which reuse statements during the lifetime of a connection. Some extra database "cursors" may be held open under the assumption that statements will be reused.

Set this value to the size of the working set of statements used by your application. Setting too small a value can cause statements to be flushed from the cache before they are reused.

This option is of most use with persistent connections.

When using Oracle Database 12c (or later), this value can be overridden and automatically tuned by Oracle's client oraaccess.xml file. Refer to Oracle documentation for more detail.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

OCI8 Function and Method Modes
Constant | Description
OCI_ASSOC | Used with oci_fetch_all() and oci_fetch_array() to get results as an associative array.
OCI_BOTH | Used with oci_fetch_all() and oci_fetch_array() to get results as an array with both associative and number indices.
OCI_COMMIT_ON_SUCCESS | Statement execution mode for oci_execute() call. Automatically commit changes when the statement has succeeded.
OCI_CRED_EXT | Used with oci_connect() for using Oracles' External or OS authentication.
OCI_DEFAULT | See OCI_NO_AUTO_COMMIT.
OCI_DESCRIBE_ONLY | Statement execution mode for oci_execute(). Use this mode if you want meta data such as the column names but don't want to fetch rows from the query.
OCI_EXACT_FETCH | Obsolete. Statement fetch mode. Used when the application knows in advance exactly how many rows it will be fetching. This mode turns prefetching off for Oracle release 8 or later mode. The cursor is canceled after the desired rows are fetched which may result in reduced server-side resource usage.
OCI_FETCHSTATEMENT_BY_COLUMN | Default mode of oci_fetch_all().
OCI_FETCHSTATEMENT_BY_ROW | Alternative mode of oci_fetch_all().
OCI_LOB_BUFFER_FREE | Used with OCILob::flush to free buffers used.
OCI_NO_AUTO_COMMIT | Statement execution mode for oci_execute(). The transaction is not automatically committed when using this mode. For readability in new code, use this value instead of the older, equivalent OCI_DEFAULT constant.
OCI_NUM | Used with oci_fetch_all() and oci_fetch_array() to get results as an enumerated array.
OCI_RETURN_LOBS | Used with oci_fetch_array() to get the data value of the LOB instead of the descriptor.
OCI_RETURN_NULLS | Used with oci_fetch_array() to get empty array elements if the row items value is null.
OCI_SEEK_CUR | Used with OCILob::seek to set the seek position.
OCI_SEEK_END | Used with OCILob::seek to set the seek position.
OCI_SEEK_SET | Used with OCILob::seek to set the seek position.
OCI_SYSDATE | Obsolete.
OCI_SYSDBA | Used with oci_connect() to connect with the SYSDBA privilege. The php.ini setting oci8.privileged_connect should be enabled to use this.
OCI_SYSOPER | Used with oci_connect() to connect with the SYSOPER privilege. The php.ini setting oci8.privileged_connect should be enabled to use this.
OCI_TEMP_BLOB | Used with OCILob::writeTemporary to indicate that a temporary BLOB should be created.
OCI_TEMP_CLOB | Used with OCILob::writeTemporary to indicate that a temporary CLOB should be created.
OCI8 Bind and Define Types
Constant | Description
OCI_B_BFILE | Used with oci_bind_by_name() when binding BFILEs.
OCI_B_BIN | Used with oci_bind_by_name() to bind RAW values.
OCI_B_BLOB | Used with oci_bind_by_name() when binding BLOBs.
OCI_B_BOL | Used with oci_bind_by_name() to bind a PL/SQL BOOLEAN variable.
OCI_B_CFILEE | Used with oci_bind_by_name() when binding CFILEs.
OCI_B_CLOB | Used with oci_bind_by_name() when binding CLOBs.
OCI_B_CURSOR | Used with oci_bind_by_name() when binding cursors, previously allocated with oci_new_descriptor().
OCI_B_INT | Used with oci_bind_array_by_name() to bind arrays of INTEGER.
OCI_B_NTY | Used with oci_bind_by_name() when binding named data types.
OCI_B_NUM | Used with oci_bind_array_by_name() to bind arrays of NUMBER.
OCI_B_ROWID | Used with oci_bind_by_name() when binding ROWIDs.
SQLT_AFC | Used with oci_bind_array_by_name() to bind arrays of CHAR.
SQLT_AVC | Used with oci_bind_array_by_name() to bind arrays of VARCHAR2.
SQLT_BDOUBLE | Not supported.
SQLT_BFILEE | The same as OCI_B_BFILE.
SQLT_BFLOAT | Not supported.
SQLT_BIN | The same as OCI_B_BIN.
SQLT_BLOB | The same as OCI_B_BLOB.
SQLT_BOL | The same as OCI_B_BOL.
SQLT_CFILEE | The same as OCI_B_CFILEE.
SQLT_CHR | Used with oci_bind_array_by_name() to bind arrays of VARCHAR2. Also used with oci_bind_by_name().
SQLT_CLOB | The same as OCI_B_CLOB.
SQLT_FLT | Used with oci_bind_array_by_name() to bind arrays of FLOAT.
SQLT_INT | The same as OCI_B_INT.
SQLT_LBI | Used with oci_bind_by_name() to bind LONG RAW values.
SQLT_LNG | Used with oci_bind_by_name() to bind LONG values.
SQLT_LVC | Used with oci_bind_array_by_name() to bind arrays of LONG VARCHAR.
SQLT_NTY | The same as OCI_B_NTY.
SQLT_NUM | The same as OCI_B_NUM.
SQLT_ODT | Used with oci_bind_array_by_name() to bind arrays of LONG.
SQLT_RDD | The same as OCI_B_ROWID.
SQLT_RSET | The same as OCI_B_CURSOR.
SQLT_STR | Used with oci_bind_array_by_name() to bind arrays of STRING.
SQLT_UIN | Not supported.
SQLT_VCS | Used with oci_bind_array_by_name() to bind arrays of VARCHAR.
OCI8 Descriptor Types
Constant | Description
OCI_DTYPE_FILE | This flag tells oci_new_descriptor() to initialize a new FILE descriptor.
OCI_DTYPE_LOB | This flag tells oci_new_descriptor() to initialize a new LOB descriptor.
OCI_DTYPE_ROWID | This flag tells oci_new_descriptor() to initialize a new ROWID descriptor.
OCI_D_FILE | The same as OCI_DTYPE_FILE.
OCI_D_LOB | The same as OCI_DTYPE_LOB.
OCI_D_ROWID | The same as OCI_DTYPE_ROWID.


Örnekler

These examples connect as the HR user, which is the sample "Human Resources" schema supplied with the Oracle database. The account may need to be unlocked and the password reset before you can use it.

The examples connect to the XE database on your machine. Change the connect string to your database before running the examples.

Örnek 1 Basic query

This shows querying and displaying results. Statements in OCI8 use a prepare-execute-fetch sequence of steps.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Prepare the statement
$stid = oci_parse($conn, 'SELECT * FROM departments');
if (!$stid) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Perform the logic of the query
$r = oci_execute($stid);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Fetch the results of the query
print "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
print "<tr>\n";
foreach ($row as $item) {
print " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
print "</tr>\n";
}
print "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 Inserting with bind variables

Bind variables improve performance by allowing reuse of execution contexts and caches. Bind variables improve security by preventing some kinds of SQL Injection problems.

<?php

// Before running, create the table:
// CREATE TABLE MYTABLE (mid NUMBER, myd VARCHAR2(20));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO MYTABLE (mid, myd) VALUES(:myid, :mydata)');

$id = 60;
$data = 'Some data';

oci_bind_by_name($stid, ':myid', $id);
oci_bind_by_name($stid, ':mydata', $data);

$r = oci_execute($stid); // executes and commits

if ($r) {
print "One row inserted";
}

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 Binding in the WHERE clause of a query

This shows a single scalar bind.

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE department_id = :didbv ORDER BY last_name';
$stid = oci_parse($conn, $sql);
$didbv = 60;
oci_bind_by_name($stid, ':didbv', $didbv);
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
echo $row['LAST_NAME'] ."<br>\n";
}

// Output is
// Austin
// Ernst
// Hunold
// Lorentz
// Pataballa

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 4 Inserting and fetching a CLOB

For large data use binary long object (BLOB) or character long object (CLOB) types. This example uses CLOB.

<?php

// Before running, create the table:
// CREATE TABLE MYTABLE (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$mykey = 12343; // arbitrary key for this example;

$sql = "INSERT INTO mytable (mykey, myclob)
VALUES (:mykey, EMPTY_CLOB())
RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_NO_AUTO_COMMIT);
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) {
print '<tr><td>'.$row['MYCLOB'].'</td></tr>';
// In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
unset($row);
}
print '</table>';

?>

Örnek 5 Using a PL/SQL stored function

You must bind a variable for the return value and optionally for any PL/SQL function arguments.

<?php

/*
Before running the PHP program, create a stored function in
SQL*Plus or SQL Developer:

CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
BEGIN
RETURN p * 3;
END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n"; // prints 24

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 6 Using a PL/SQL stored procedure

With stored procedures, you should bind variables for any arguments.

<?php

/*
Before running the PHP program, create a stored procedure in
SQL*Plus or SQL Developer:

CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
BEGIN
p2 := p1 * 2;
END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n"; // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 7 Calling a PL/SQL function that returns a REF CURSOR

Each returned value from the query is a REF CURSOR that can be fetched from.

<?php
/*
Create the PL/SQL stored function as:

CREATE OR REPLACE FUNCTION myfunc(p1 IN NUMBER) RETURN SYS_REFCURSOR AS
rc SYS_REFCURSOR;
BEGIN
OPEN rc FOR SELECT city FROM locations WHERE ROWNUM < p1;
RETURN rc;
END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT myfunc(5) AS mfrc FROM dual');
oci_execute($stid);

echo "<table border='1'>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC))) {
echo "<tr>\n";
$rc = $row['MFRC'];
oci_execute($rc); // returned column value from the query is a ref cursor
while (($rc_row = oci_fetch_array($rc, OCI_ASSOC))) {
echo " <td>" . $rc_row['CITY'] . "</td>\n";
}
oci_free_statement($rc);
echo "</tr>\n";
}
echo "</table>\n";

// Output is:
// Beijing
// Bern
// Bombay
// Geneva

oci_free_statement($stid);
oci_close($conn);

?>


OCI8 Connection Handling and Connection Pooling

Connection Functions

The OCI8 extension provides three different functions for connecting to Oracle. The standard connection function is oci_connect(). This creates a connection to an Oracle database and returns a resource used by subsequent database calls.

Connecting to an Oracle server is a reasonably expensive operation in terms of the time that it takes to complete. The oci_pconnect() function uses a persistent cache of connections that can be re-used across different script requests. This means that the connection overhead will typically only occur once per PHP process (or Apache child).

If the application connects to Oracle using a different set of database credentials for each web user, the persistent cache employed by oci_pconnect() will become less useful as the number of concurrent users increases, to the point where it may start to adversely affect the overall performance of the Oracle server due to maintaining too many idle connections. If the application is structured in this way, it is recommended to either tune the application using the oci8.max_persistent and oci8.persistent_timeout configuration settings (these will give control over the persistent connection cache size and lifetime), use Oracle Database Resident Connection Pooling (in Oracle Database 11g or later), or use oci_connect() instead.

Both oci_connect() and oci_pconnect() employ a connection cache; if multiple calls to oci_connect() use the same parameters in a given script, the second and subsequent calls return the existing connection handle. The cache used by oci_connect() is cleaned up at the end of the script run, or when the connection handle is explicitly closed. The function oci_pconnect() has similar behavior, although its cache is maintained separately and survives between HTTP requests.

This caching feature means the two handles are not transactionally isolated (they are in fact the same connection handle, so there is no isolation of any kind). If the application needs two separate, transactionally isolated connections, then use oci_new_connect().

The oci_pconnect() cache is cleared and any database connections closed when the PHP process terminates, so effective use of persistent connections requires that PHP be an Apache module or used with FPM, or similar. Persistent connections will not have any benefits over oci_connect() when PHP is used with CGI or via the command-line.

The function oci_new_connect() always creates a new connection to the Oracle server, regardless of what other connections might already exist. High traffic web applications should avoid using oci_new_connect(), especially in the busiest sections of the application.

Persistent connections can be closed by the user, allowing greater control over connection resource usage. Persistent connections will now also be closed automatically when there is no PHP variable referencing them, such as at the end of scope of a PHP user function. This will rollback any uncommitted transaction. These changes to persistent connections make them behave similarly to non-persistent connections, simplifying the interface, allowing for greater application consistency and predictability. Use oci8.old_oci_close_semantics set to On to retain the historical behavior.

The automatic re-establishment of PHP persistent connections after an Apache or FPM process respawns means Oracle Database LOGON triggers are only recommended for setting session attributes and not for per-application user connection requests.

DRCP Connection Pooling

PHP supports Oracle Database Resident Connection Pooling (DRCP). DRCP allows more efficient use of database machine memory and provides high scalability. No, or minimal, application changes are needed to use DRCP.

DRCP is suited for applications that connect using few database schemas and hold database connections open for a short period of time. Other applications should use Oracle's default Dedicated database server processes, or use Shared servers.

DRCP benefits all three connection functions, but gives the highest scalability when connections are created with oci_pconnect().

For DRCP to be available in OCI8, Oracle client libraries used by PHP and the version of the Oracle Database must both be 11g or greater.

Documentation on DRCP is found in several Oracle manuals. For example, see » Configuring Database Resident Connection Pooling in the Oracle documentation for usage information. A » DRCP white paper contains background information on DRCP.

To use DRCP, install the OCI8 extension and Oracle 11g (or later) libraries and then follow these steps:

  • As a privileged database administrator, use a program like SQL*Plus to start the connection pool in the database:

        SQL> execute dbms_connection_pool.start_pool;

  • Optionally use dbms_connection_pool.alter_param() to configure DRCP settings. The current pool settings can be queried from the DBA_CPOOL_INFO view.

  • Update the connection strings used. For PHP applications that currently connect using a Network Connect Name like MYDB:

        $c = oci_pconnect("myuser", "mypassword", "MYDB");

    modify the tnsnames.ora file and add a (SERVER=POOLED) clause, for example:

        MYDB = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=myhost.dom.com)
           (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sales)
           (SERVER=POOLED)))

    Alternatively, modify the Easy Connect syntax in PHP and add :POOLED after the service name:

        $c = oci_pconnect("myuser", "mypassword", "myhost.dom.com:1521/sales:POOLED");

  • Edit php.ini and choose a connection class name. This name indicates a logical division of the connection pool and can be used to isolate pooling for separate applications. Any PHP applications with the same user name and connection class value will be able to share connections in the pool, giving greater scalability.

        oci8.connection_class = "MY_APPLICATION_NAME"

  • Run the application, connecting to the 11g (or later) database.

Bilginize:

Applications using Oracle Client libraries 10g that require the performance of persistent connections can reduce the amount of database server memory needed by using Oracle Shared servers (previously known as Multi Threaded Servers). Refer to Oracle documentation for information.

Bilginize:

Changing a password over DRCP connections will fail with the error ORA-56609: Usage not supported with DRCP. This is a documented restriction of Oracle Database 11g.


OCI8 Fast Application Notification (FAN) Support

FAN support gives fast connection failover, an Oracle Database high availability feature. This allows PHP OCI8 scripts to be notified when a database machine or database instance becomes unavailable. Without FAN, OCI8 can hang until a TCP timeout occurs and an error is returned, which might be several minutes. Enabling FAN in OCI8 can allow applications to detect errors and re-connect to an available database instance without the web user being aware of an outage.

FAN support is available when the Oracle client libraries that PHP links with and the Oracle Database are either version 10gR2 or later.

FAN benefits users of Oracle's clustering technology (RAC) because connections to surviving database instances can be immediately made. Users of Oracle's Data Guard with a broker will see the FAN events generated when the standby database goes online. Standalone databases will send FAN events when the database restarts.

For active connections, when a machine or database instance becomes unavailable, a connection failure error will be returned by the OCI8 extension function currently being called. On a subsequent PHP script re-connect, a connection to a surviving database instance will be established. The OCI8 extension also transparently cleans up any idle connections affected by a database machine or instance failure so PHP connect calls will establish a fresh connection without the script being aware of any service disruption.

When oci8.events is On, it is suggested to set oci8.ping_interval to -1 to disable pinging, since enabling FAN events provide pro-active connection management of idle connections made invalid by a service disruption.

To enable FAN support in PHP OCI8, build PHP OCI8 with Oracle 10gR2 or later libraries and then follow these steps:

  • As a privileged database administrator, use a program like SQL*Plus to enable the database service to post FAN events, for example:

        SQL> execute dbms_service.modify_service(
                   SERVICE_NAME        => 'sales',
                   AQ_HA_NOTIFICATIONS => TRUE);

  • Edit php.ini and add

        oci8.events = On

  • If the application does not already handle OCI8 error conditions, modify it to detect failures and take appropriate action. This may include re-connecting and re-executing statements.
  • Run the application, connecting to Oracle Database 10gR2 or later.


OCI8 Transparent Application Failover (TAF) Support

TAF is an Oracle Database feature that provides high availability. It enables PHP OCI8 applications to automatically reconnect to a preconfigured database when database connectivity fails due to instance or network failure.

In a configured Oracle Database system, TAF occurs when the PHP application detects that the database instance is down or unreachable. It establishes a connection to another node in an Oracle » RAC configuration, a hot standby database, or the same database instance itself. See » Oracle Call Interface Programmer's Guide for more information about OCI TAF.

An application callback can be registered with oci_register_taf_callback(). During failover, normal application processing stops and the registered callback is invoked. The callback notifies the application of the failover events. If the failover succeeds, normal processing will be resumed. If the failover aborts, any following database operations in the application will fail due to no connection being available.

When a connection fails over to another database, the callback can reset any necessary connection state, for example replaying any necessary ALTER SESSION commands if the database service did not have -failover_restore enabled.

An application callback can be removed by calling oci_unregister_taf_callback().

Configuring Transparent Application Failover

TAF can be configured on the PHP OCI8 side or in the database configuration. If both are configured, database-side settings take precedence.

Configure TAF in PHP OCI8 (the client side) by including the FAILOVER_MODE parameter in the CONNECT_DATA portion of a connect descriptor. See Configuring Transparent Application Failover in » Oracle Database Net Services Administrator's Guide for more information about client side configuration of TAF.

An example tnsnames.ora to configure TAF reconnecting to the same database instance:

    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVICE_NAME = orclpdb1)
          (FAILOVER_MODE =
            (TYPE = SELECT)
            (METHOD = BASIC)
            (RETRIES = 20)
            (DELAY = 15))))

Alternatively configure TAF on the database side by modifying the target service with » srvctl (for RAC) or the » DBMS_SERVICE.MODIFY_SERVICE packaged procedure (for single instance databases).

Using TAF Callbacks in OCI8

A TAF callback is an application function that can be registered to be called during failover. It is called several times while re-establishing the application's connection.

Callback first occurs when a loss of connection is detected. This allows the application to act accordingly for the upcoming delay of the failover. If the failover is successful, the callback is invoked after connection is re-established and usable. At this time, the application can resynchronize session settings and take actions such as informing the user that failover occurred. If failover is unsuccessful, a callback occurs to inform the application that a failover did not take place and the connection is unusable.

The interface of a TAF user-defined callback function is as follows:

userCallbackFn(resource $connection, int $event, int $type): int

connection

The Oracle connection on which the TAF callback was registered via oci_register_taf_callback(). The connection is not valid until the failover completes successfully.

event

The failover event indicates the current status of the failover.

  • OCI_FO_BEGIN indicates that failover has detected a lost connection and failover is starting.

  • OCI_FO_END indicates successful completion of failover.

  • OCI_FO_ABORT indicates that failover was unsuccessful, and there is no option of retrying.

  • OCI_FO_ERROR also indicates that failover was unsuccessful, but it gives the application the opportunity to handle the error and return OCI_FO_RETRY to retry failover.

  • OCI_FO_REAUTH indicates that an Oracle user has been re-authenticated.

type

The failover type. This lets the callback know what type of failover the application has requested. The usual values are as follows:

  • OCI_FO_SESSION indicates that the user has requested only session failover. For example, if a user's connection is lost, then a new session is automatically created for the user on the backup. This type of failover does not attempt to recover SELECTs.

  • OCI_FO_SELECT indicates that the user has requested SELECT failover as well. It allows users with open cursors to continue fetching from them after failure.

return value

  • 0 indicates the failover steps should continue normally.

  • OCI_FO_RETRY indicates that the failover should be attempted again by Oracle. In case of an error while failing over to a new connection, TAF is able to retry the failover. Typically, the application code should sleep for a while before returning OCI_FO_RETRY.

The following example registers a TAF callback

<?php

// Define userspace callback
class MyClass {
public static $retry_count;
public static function TAFCallback($conn, $event, $type)
{
switch ($event) {
case OCI_FO_BEGIN:
printf(" Failing Over ... Please stand by\n");
printf(" Failover type was found to be %s \n",
(($type==OCI_FO_SESSION) ? "SESSION"
:(($type==OCI_FO_SELECT) ? "SELECT" : "UNKNOWN!")));
self::$retry_count = 0;
break;
case OCI_FO_ABORT:
// The application cannot continue using the database
printf(" Failover aborted. Failover will not take place.\n");
break;
case OCI_FO_END:
// Failover completes successfully. Inform users a failover occurs.
printf(" Failover ended ... resuming services\n");
break;
case OCI_FO_REAUTH:
printf(" Failed over user ... resuming services\n");
// Replay any ALTER SESSION commands associated with this connection
// eg. oci_parse($conn, 'ALTER SESSION ...') ;
break;
case OCI_FO_ERROR:
// Stop retrying if we have already attempted for 20 times.
if (self::$retry_count >= 20)
return 0;
printf(" Failover error received. Sleeping...\n");
sleep(10);
self::$retry_count++;
return OCI_FO_RETRY; // retry failover
break;
default:
printf("Bad Failover Event: %d.\n", $event);
break;
}
return 0;
}
}

$fn_name = 'MyClass::TAFCallback';

$conn = oci_connect('hr', 'welcome', 'orcl');
$sysconn = oci_connect('system', 'oracle', 'orcl');

// Use a privileged connection to construct a SQL statement that will initiate failover
$sql = <<< 'END'
select unique 'alter system disconnect session '''||sid||','||serial#||''''
from v$session_connect_info
where sid = sys_context('USERENV', 'SID')
END;

$s = oci_parse($conn, $sql);
oci_execute($s);
$r = oci_fetch_array($s);
$disconnectssql = $r[0];

oci_register_taf_callback($conn, $fn_name); // Register TAFCallback to Oracle TAF

print "Parsing user query\n";
$sql = "select systimestamp from dual";
$stmt = oci_parse($conn, $sql);

// For example, if a connection loss occurs at this point, oci_execute() will
// detect the loss and failover begins. During failover, oci_execute() will
// invoke the TAF callback function several times. If the failover is successful,
// a new connection is transparently created and oci_execute() will continue as
// usual. The connection session settings can be reset in the TAF callback
// function. If the failover is aborted, oci_execute() will return an error
// because a valid connection is not available.

// Disconnect the user, which initiates failover
print "Disconnecting the user\n";
$discsql = oci_parse($sysconn, $disconnectssql);
oci_execute($discsql);

print "Executing user query\n";
$e = oci_execute($stmt);
if (!$e) {
$m = oci_error($stmt);
trigger_error("Could not execute statement: ". $m['message'], E_USER_ERROR);
}
$row = oci_fetch_array($stmt);
print $row[0] . "\n";

// do other SQL statements with the new connection, if it is valid
// $stmt = oci_parse($conn, . . .);

?>

Ayrıca Bakınız

  • oci_register_taf_callback()
  • oci_unregister_taf_callback()


OCI8 and DTrace Dynamic Tracing

OCI8 2.0 introduced static DTrace probes that can be used on operating systems that support DTrace. See DTrace Dynamic Tracing for an overview of PHP and DTrace.

Installing OCI8 with DTrace Support

To enable DTrace support in PHP OCI8, build OCI8 as a shared extension after setting PHP_DTRACE.

$ export PHP_DTRACE=yes
$ pecl install oci8

Edit php.ini, set extension_dir to the directory with the created oci8.so and also enable the extension by adding:

extension=oci8.so

If you install PHP OCI8 from PECL using phpize and configure (instead of pecl), you will still need to set PHP_DTRACE=yes. This is because the --enable-dtrace option will be ignored by the limited configure script of a PECL bundle.

See Installation of PECL extensions for general PECL installation instructions.

DTrace Static Probes in PHP OCI8

The following static probes are available in PHP OCI8
Probe Name | Probe Description | Probe Arguments
oci8-connect-entry | Initiated by oci_connect(), oci_pconnect() and oci_new_connect(). Fires before database connection is established. | char *username, char *dbname, char *charset, long session_mode, int persistent, int exclusive
oci8-connect-return | Fires at the end of connection. | void *connection
oci8-check-connection | Fires if an Oracle error might have caused the connection to become invalid. | void *connection, char *client_id, int is_open, long errcode, unsigned long server_status
oci8-sqltext | Fires when oci_parse() is executed. | void *connection, char *client_id, void *statement, char *sql
oci8-connection-close | Fires when the connection to the database is completely destroyed. | void *connection
oci8-error | Fires if an Oracle error occurs. | int status, long errcode
oci8-execute-mode | Fires at oci_execute() to show the execution mode. | void *connection, char *client_id, void *statement, unsigned int mode

These probes are useful for tracing OCI8 scripts.

The connection and statement are the pointers to internal structures used for tracking PHP connections and executed statements.

The client_id is the value set by oci_set_client_identifier().

Core PHP also has static probes. See DTrace Static Probes in Core PHP.

Internal Debugging DTrace Probes in OCI8
Probe Name
oci8-connect-expiry
oci8-connect-lookup
oci8-connect-p-dtor-close
oci8-connect-p-dtor-release
oci8-connect-type
oci8-sesspool-create
oci8-sesspool-stats
oci8-sesspool-type

These probes are useful for OCI8 maintainers. Refer to the OCI8 source code for arguments and to see when the will fire.

Listing DTrace Static Probes in PHP OCI8

To list available probes, start a PHP process and then run:

# dtrace -l

The output will be similar to:

   ID   PROVIDER            MODULE                          FUNCTION NAME
   [ . . . ]
   17 phpoci22116           oci8.so   php_oci_dtrace_check_connection oci8-check-connection
   18 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-entry
   19 phpoci22116           oci8.so         php_oci_persistent_helper oci8-connect-expiry
   20 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-lookup
   21 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-close
   22 phpoci22116           oci8.so  php_oci_pconnection_list_np_dtor oci8-connect-p-dtor-release
   23 phpoci22116           oci8.so                php_oci_do_connect oci8-connect-return
   24 phpoci22116           oci8.so             php_oci_do_connect_ex oci8-connect-type
   25 phpoci22116           oci8.so          php_oci_connection_close oci8-connection-close
   26 phpoci22116           oci8.so                     php_oci_error oci8-error
   27 phpoci22116           oci8.so         php_oci_statement_execute oci8-execute-mode
   28 phpoci22116           oci8.so              php_oci_create_spool oci8-sesspool-create
   29 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-stats
   30 phpoci22116           oci8.so            php_oci_create_session oci8-sesspool-type
   31 phpoci22116           oci8.so          php_oci_statement_create oci8-sqltext

The Provider column values consist of phpoci and the process id of the currently running PHP process.

The Function column refers to PHP's internal C implementation function names where each provider is located.

If a PHP process is not running, then no PHP probes will be shown.

DTrace with PHP OCI8 Example

This example shows the basics of the DTrace D scripting language.

Örnek 1 user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace

#!/usr/sbin/dtrace -Zs

#pragma D option quiet

php*:::oci8-connect-entry
{
    printf("%lld: PHP connect-entry\n", walltimestamp);
    printf("  credentials=\"%s@%s\"\n", arg0 ? copyinstr(arg0) : "", arg1 ? copyinstr(arg1) : "");
    printf("  charset=\"%s\"\n", arg2 ? copyinstr(arg2) : "");
    printf("  session_mode=%ld\n", (long)arg3);
    printf("  persistent=%d\n", (int)arg4);
    printf("  exclusive=%d\n", (int)arg5);
}

php*:::oci8-connect-return
{
    printf("%lld: PHP oci8-connect-return\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-connection-close
{
    printf("%lld: PHP oci8-connect-close\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
}

php*:::oci8-error
{
    printf("%lld: PHP oci8-error\n", walltimestamp);
    printf("  status=%d\n", (int)arg0);
    printf("  errcode=%ld\n", (long)arg1);
}

php*:::oci8-check-connection
{
    printf("%lld: PHP oci8-check-connection\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  is_open=%d\n", arg2);
    printf("  errcode=%ld\n", (long)arg3);
    printf("  server_status=%lu\n", (unsigned long)arg4);
}

php*:::oci8-sqltext
{
    printf("%lld: PHP oci8-sqltext\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  sql=\"%s\"\n", arg3 ? copyinstr(arg3) : "");
}

php*:::oci8-execute-mode
{
    printf("%lld: PHP oci8-execute-mode\n", walltimestamp);
    printf("  connection=0x%p\n", (void *)arg0);
    printf("  client_id=\"%s\"\n", arg1 ? copyinstr(arg1) : "");
    printf("  statement=0x%p\n", (void *)arg2);
    printf("  mode=0x%x\n", arg3);
}

This script uses the -Z option to dtrace, allowing it to be run when there is no PHP process executing. If this option were omitted the script would immediately terminate when no PHP executable was running because it knows none of the probes to be monitored are in existence.

On multi-CPU machines the probe ordering might not appear to be sequential. This depends on which CPU was processing the probes, and how threads migrate across CPUs. Displaying probe time stamps helps reduce confusion.

The script traces all user-level PHP OCI8 static probe points throughout the duration of a running PHP script. Run the D script:

# ./user_oci8_probes.d

Run a PHP script or application. The monitoring D script will output each probe's arguments as it fires. For example, a simple PHP script that queries a table might produce the following trace output:

1381794982092854582: PHP connect-entry
  credentials="hr@localhost/pdborcl"
  charset=""
  session_mode=0
  persistent=0
  exclusive=0
1381794982183158766: PHP oci8-connect-return
  connection=0x7f4a7907bfb8
1381794982183594576: PHP oci8-sqltext
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  sql="select * from employees"
1381794982183783706: PHP oci8-execute-mode
  connection=0x7f4a7907bfb8
  client_id="Chris"
  statement=0x7f4a7907c2a0
  mode=0x20
1381794982444344390: PHP oci8-connect-close
  connection=0x7f4a7907bfb8

When monitoring is complete, the D script can be terminated with a CTRL+C.

Ayrıca Bakınız

  • DTrace Dynamic Tracing


Supported Datatypes

The driver supports the following types when binding parameters using the oci_bind_by_name() function:
Type | Mapping
SQLT_NTY | Maps a native collection type from a PHP collection object, such as those created by oci_new_collection().
SQLT_BFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CFILEE | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_CLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_BLOB | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_RDD | Maps a native descriptor, such as those created by oci_new_descriptor().
SQLT_NUM | Converts the PHP parameter to a 'C' long type, and binds to that value.
SQLT_RSET | Maps a native statement handle, such as those created by oci_parse() or those retrieved from other OCI queries.
SQLT_BOL | Bind the PHP parameter to a PL/SQL BOOLEAN
SQLT_CHR and any other type | Converts the PHP parameter to a string type and binds as a string.
The following types are supported when retrieving columns from a result set:
Type | Mapping
SQLT_RSET | Creates an oci statement resource to represent the cursor.
SQLT_RDD | Creates a ROWID object.
SQLT_BLOB | Creates a LOB object.
SQLT_CLOB | Creates a LOB object.
SQLT_BFILE | Creates a LOB object.
SQLT_LNG | Bound as SQLT_CHR, returned as a string
SQLT_LBI | Bound as SQLT_BIN, returned as a string
Any other type | Bound as SQLT_CHR, returned as a string


OCI8 İşlevleri

İçindekiler

  • oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_bind_by_name — Binds a PHP variable to an Oracle placeholder
  • oci_cancel — Cancels reading from cursor
  • oci_client_version — Returns the Oracle client library version
  • oci_close — Closes an Oracle connection
  • oci_commit — Commits the outstanding database transaction
  • oci_connect — Connect to an Oracle database
  • oci_define_by_name — Associates a PHP variable with a column for query fetches
  • oci_error — Returns the last error found
  • oci_execute — Executes a statement
  • oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array — Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc — Returns the next row from a query as an associative array
  • oci_fetch_object — Returns the next row from a query as an object
  • oci_fetch_row — Returns the next row from a query as a numeric array
  • oci_fetch — Fetches the next row from a query into internal buffers
  • oci_field_is_null — Checks if a field in the currently fetched row is null
  • oci_field_name — Returns the name of a field from the statement
  • oci_field_precision — Tell the precision of a field
  • oci_field_scale — Tell the scale of the field
  • oci_field_size — Returns field's size
  • oci_field_type_raw — Tell the raw Oracle data type of the field
  • oci_field_type — Returns a field's data type name
  • oci_free_descriptor — Frees a descriptor
  • oci_free_statement — Frees all resources associated with statement or cursor
  • oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
  • oci_lob_copy — Copies large object
  • oci_lob_is_equal — Compares two LOB/FILE locators for equality
  • oci_new_collection — Allocates new collection object
  • oci_new_connect — Connect to the Oracle server using a unique connection
  • oci_new_cursor — Allocates and returns a new cursor (statement handle)
  • oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
  • oci_num_fields — Returns the number of result columns in a statement
  • oci_num_rows — Returns number of rows affected during statement execution
  • oci_parse — Prepares an Oracle statement for execution
  • oci_password_change — Changes password of Oracle's user
  • oci_pconnect — Connect to an Oracle database using a persistent connection
  • oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
  • oci_result — Returns field's value from the fetched row
  • oci_rollback — Rolls back the outstanding database transaction
  • oci_server_version — Returns the Oracle Database version
  • oci_set_action — Sets the action name
  • oci_set_call_timeout — Sets a millisecond timeout for database calls
  • oci_set_client_identifier — Sets the client identifier
  • oci_set_client_info — Sets the client information
  • oci_set_db_operation — Sets the database operation
  • oci_set_edition — Sets the database edition
  • oci_set_module_name — Sets the module name
  • oci_set_prefetch_lob — Sets the amount of data prefetched for each CLOB or BLOB.
  • oci_set_prefetch — Sets number of rows to be prefetched by queries
  • oci_statement_type — Returns the type of a statement
  • oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF


Binds a PHP array to an Oracle PL/SQL array parameter

  • « OCI8 İşlevleri
  • oci_bind_by_name »
  • PHP Manual
  • OCI8 İşlevleri
  • Binds a PHP array to an Oracle PL/SQL array parameter

oci_bind_array_by_name

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL OCI8 >= 1.2.0)

oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter

Açıklama

oci_bind_array_by_name(
resource $statement,
string $param,
array &$var,
int $max_array_length,
int $max_item_length = -1,
int $type = SQLT_AFC
): bool

Binds the PHP array var to the Oracle placeholder param, which points to an Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

param

The Oracle placeholder.

var

An array.

max_array_length

Sets the maximum length both for incoming and result arrays.

max_item_length

Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name() will find the longest element in the incoming array and will use it as the maximum length.

type

Should be used to set the type of PL/SQL array items. See list of available types below:

  • SQLT_NUM - for arrays of NUMBER.

  • SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms).

  • SQLT_FLT - for arrays of FLOAT.

  • SQLT_AFC - for arrays of CHAR.

  • SQLT_CHR - for arrays of VARCHAR2.

  • SQLT_VCS - for arrays of VARCHAR.

  • SQLT_AVC - for arrays of CHARZ.

  • SQLT_STR - for arrays of STRING.

  • SQLT_LVC - for arrays of LONG VARCHAR.

  • SQLT_ODT - for arrays of DATE.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_bind_array_by_name() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$create = "CREATE TABLE bind_example(name VARCHAR(20))";
$stid = oci_parse($conn, $create);
oci_execute($stid);

$create_pkg = "
CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;
PROCEDURE iobind(c1 IN OUT ARRTYPE);
END ARRAYBINDPKG1;";
$stid = oci_parse($conn, $create_pkg);
oci_execute($stid);

$create_pkg_body = "
CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
CURSOR CUR IS SELECT name FROM bind_example;
PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
BEGIN
-- Bulk Insert
FORALL i IN INDICES OF c1
INSERT INTO bind_example VALUES (c1(i));

-- Fetch and reverse
IF NOT CUR%ISOPEN THEN
OPEN CUR;
END IF;
FOR i IN REVERSE 1..5 LOOP
FETCH CUR INTO c1(i);
IF CUR%NOTFOUND THEN
CLOSE CUR;
EXIT;
END IF;
END LOOP;
END iobind;
END ARRAYBINDPKG1;";
$stid = oci_parse($conn, $create_pkg_body);
oci_execute($stid);

$stid = oci_parse($conn, "BEGIN arraybindpkg1.iobind(:c1); END;");
$array = array("one", "two", "three", "four", "five");
oci_bind_array_by_name($stid, ":c1", $array, 5, -1, SQLT_CHR);
oci_execute($stid);

var_dump($array);

?>


Binds a PHP variable to an Oracle placeholder

  • « oci_bind_array_by_name
  • oci_cancel »
  • PHP Manual
  • OCI8 İşlevleri
  • Binds a PHP variable to an Oracle placeholder

oci_bind_by_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_bind_by_name — Binds a PHP variable to an Oracle placeholder

Açıklama

oci_bind_by_name(
resource $statement,
string $param,
mixed &$var,
int $max_length = -1,
int $type = 0
): bool

Binds a PHP variable var to the Oracle bind variable placeholder param. Binding is important for Oracle database performance and also as a way to avoid SQL Injection security issues.

Binding allows the database to reuse the statement context and caches from previous executions of the statement, even if another user or process originally executed it. Binding reduces SQL Injection concerns because the data associated with a bind variable is never treated as part of the SQL statement. It does not need quoting or escaping.

PHP variables that have been bound can be changed and the statement re-executed without needing to re-parse the statement or re-bind.

In Oracle, bind variables are commonly divided into IN binds for values that are passed into the database, and OUT binds for values that are returned to PHP. A bind variable may be both IN and OUT. Whether a bind variable will be used for input or output is determined at run-time.

You must specify max_length when using an OUT bind so that PHP allocates enough memory to hold the returned value.

For IN binds it is recommended to set the max_length length if the statement is re-executed multiple times with different values for the PHP variable. Otherwise Oracle may truncate data to the length of the initial PHP variable value. If you don't know what the maximum length will be, then re-call oci_bind_by_name() with the current data size prior to each oci_execute() call. Binding an unnecessarily large length will have an impact on process memory in the database.

A bind call tells Oracle which memory address to read data from. For IN binds that address needs to contain valid data when oci_execute() is called. This means that the variable bound must remain in scope until execution. If it doesn't, unexpected results or errors such as "ORA-01460: unimplemented or unreasonable conversion requested" may occur. For OUT binds one symptom is no value being set in the PHP variable.

For a statement that is repeatedly executed, binding values that never change may reduce the ability of the Oracle optimizer to choose the best statement execution plan. Long running statements that are rarely re-executed may not benefit from binding. However in both cases, binding might be safer than joining strings into a SQL statement, as this can be a security risk if unfiltered user text is concatenated.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier.

param

The colon-prefixed bind variable placeholder used in the statement. The colon is optional in param. Oracle does not use question marks for placeholders.

var

The PHP variable to be associated with param

max_length

Sets the maximum length for the data. If you set it to -1, this function will use the current length of var to set the maximum length. In this case the var must exist and contain data when oci_bind_by_name() is called.

type

The datatype that Oracle will treat the data as. The default type used is SQLT_CHR. Oracle will convert the data between this type and the database column (or PL/SQL variable type), when possible.

If you need to bind an abstract datatype (LOB/ROWID/BFILE) you need to allocate it first using the oci_new_descriptor() function. The length is not used for abstract datatypes and should be set to -1.

Possible values for type are:

  • SQLT_BFILEE or OCI_B_BFILE - for BFILEs;

  • SQLT_CFILEE or OCI_B_CFILEE - for CFILEs;

  • SQLT_CLOB or OCI_B_CLOB - for CLOBs;

  • SQLT_BLOB or OCI_B_BLOB - for BLOBs;

  • SQLT_RDD or OCI_B_ROWID - for ROWIDs;

  • SQLT_NTY or OCI_B_NTY - for named datatypes;

  • SQLT_INT or OCI_B_INT - for integers;

  • SQLT_CHR - for VARCHARs;

  • SQLT_BIN or OCI_B_BIN - for RAW columns;

  • SQLT_LNG - for LONG columns;

  • SQLT_LBI - for LONG RAW columns;

  • SQLT_RSET - for cursors created with oci_new_cursor();

  • SQLT_BOL or OCI_B_BOL - for PL/SQL BOOLEANs (Requires Oracle Database 12c)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Inserting data with oci_bind_by_name()

<?php

// Create the table with:
// CREATE TABLE mytab (id NUMBER, text VARCHAR2(40));

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn,"INSERT INTO mytab (id, text) VALUES(:id_bv, :text_bv)");

$id = 1;
$text = "Data to insert ";
oci_bind_by_name($stid, ":id_bv", $id);
oci_bind_by_name($stid, ":text_bv", $text);
oci_execute($stid);

// Table now contains: 1, 'Data to insert '

?>

Örnek 2 Binding once for multiple executions

<?php

// Create the table with:
// CREATE TABLE mytab (id NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$a = array(1,3,5,7,11); // data to insert

$stid = oci_parse($conn, 'INSERT INTO mytab (id) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $v, 20);
foreach ($a as $v) {
$r = oci_execute($stid, OCI_DEFAULT); // don't auto commit
}
oci_commit($conn); // commit everything at once

// Table contains five rows: 1, 3, 5, 7, 11

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 Binding with a foreach loop

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT * FROM departments WHERE department_name = :dname AND location_id = :loc';
$stid = oci_parse($conn, $sql);

$ba = array(':dname' => 'IT Support', ':loc' => 1700);

foreach ($ba as $key => $val) {

// oci_bind_by_name($stid, $key, $val) does not work
// because it binds each placeholder to the same location: $val
// instead use the actual location of the data: $ba[$key]
oci_bind_by_name($stid, $key, $ba[$key]);
}

oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
foreach ($row as $item) {
print $item."<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 4 Binding in a WHERE clause

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE department_id = :didbv ORDER BY last_name';
$stid = oci_parse($conn, $sql);
$didbv = 60;
oci_bind_by_name($stid, ':didbv', $didbv);
oci_execute($stid);
while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
echo $row['LAST_NAME'] ."<br>\n";
}

// Output is
// Austin
// Ernst
// Hunold
// Lorentz
// Pataballa

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 5 Binding with a LIKE clause

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Find all cities that begin with 'South'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE city LIKE :bv");
$city = 'South%'; // '%' is a wildcard in SQL
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
print $c . "<br>\n";
}
// Output is
// South Brunswick
// South San Francisco
// Southlake

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 6 Binding with REGEXP_LIKE

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

// Find all cities that contain 'ing'
$stid = oci_parse($conn, "SELECT city FROM locations WHERE REGEXP_LIKE(city, :bv)");
$city = '.*ing.*';
oci_bind_by_name($stid, ":bv", $city);
oci_execute($stid);
oci_fetch_all($stid, $res);

foreach ($res['CITY'] as $c) {
print $c . "<br>\n";
}
// Output is
// Beijing
// Singapore

oci_free_statement($stid);
oci_close($conn);

?>

For a small, fixed number of IN clause conditions, use individual bind variables. Values unknown at run time can be set to NULL. This allows a single statement to be used by all application users, maximizing Oracle DB cache efficiency.

Örnek 7 Binding Multiple Values in an IN Clause

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = 'SELECT last_name FROM employees WHERE employee_id in (:e1, :e2, :e3)';
$stid = oci_parse($conn, $sql);
$mye1 = 103;
$mye2 = 104;
$mye3 = NULL; // pretend we were not given this value
oci_bind_by_name($stid, ':e1', $mye1);
oci_bind_by_name($stid, ':e2', $mye2);
oci_bind_by_name($stid, ':e3', $mye3);
oci_execute($stid);
oci_fetch_all($stid, $res);
foreach ($res['LAST_NAME'] as $name) {
print $name ."<br>\n";
}

// Output is
// Ernst
// Hunold

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 8 Binding a ROWID returned by a query

<?php

// Create the table with:
// CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
// INSERT INTO mytab (id, salary, name) VALUES (1, 100, 'Chris');
// COMMIT;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT ROWID, name FROM mytab WHERE id = :id_bv FOR UPDATE');
$id = 1;
oci_bind_by_name($stid, ':id_bv', $id);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);
$rid = $row['ROWID'];
$name = $row['NAME'];

// Change name to upper case & save the changes
$name = strtoupper($name);
$stid = oci_parse($conn, 'UPDATE mytab SET name = :n_bv WHERE ROWID = :r_bv');
oci_bind_by_name($stid, ':n_bv', $name);
oci_bind_by_name($stid, ':r_bv', $rid, -1, OCI_B_ROWID);
oci_execute($stid);

// The table now contains 1, 100, CHRIS

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 9 Binding a ROWID on INSERT

<?php

// This example inserts an id & name, and then updates the salary
// Create the table with:
// CREATE TABLE mytab (id NUMBER, salary NUMBER, name VARCHAR2(40));
//
// Based on original ROWID example by thies at thieso dot net (980221)

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$sql = "INSERT INTO mytab (id, name) VALUES(:id_bv, :name_bv)
RETURNING ROWID INTO :rid";

$ins_stid = oci_parse($conn, $sql);

$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_bind_by_name($ins_stid, ":id_bv", $id, 10);
oci_bind_by_name($ins_stid, ":name_bv", $name, 32);
oci_bind_by_name($ins_stid, ":rid", $rowid, -1, OCI_B_ROWID);

$sql = "UPDATE mytab SET salary = :salary WHERE ROWID = :rid";
$upd_stid = oci_parse($conn, $sql);
oci_bind_by_name($upd_stid, ":rid", $rowid, -1, OCI_B_ROWID);
oci_bind_by_name($upd_stid, ":salary", $salary, 32);

// ids and names to insert
$data = array(1111 => "Larry",
2222 => "Bill",
3333 => "Jim");

// Salary of each person
$salary = 10000;

// Insert and immediately update each row
foreach ($data as $id => $name) {
oci_execute($ins_stid);
oci_execute($upd_stid);
}

$rowid->free();
oci_free_statement($upd_stid);
oci_free_statement($ins_stid);

// Show the new rows
$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
var_dump($row);
}

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 10 Binding for a PL/SQL stored function

<?php

// Before running the PHP program, create a stored function in
// SQL*Plus or SQL Developer:
//
// CREATE OR REPLACE FUNCTION myfunc(p IN NUMBER) RETURN NUMBER AS
// BEGIN
// RETURN p * 3;
// END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p = 8;

$stid = oci_parse($conn, 'begin :r := myfunc(:p); end;');
oci_bind_by_name($stid, ':p', $p);

// The return value is an OUT bind. The default type will be a string
// type so binding a length 40 means that at most 40 digits will be
// returned.
oci_bind_by_name($stid, ':r', $r, 40);

oci_execute($stid);

print "$r\n"; // prints 24

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 11 Binding parameters for a PL/SQL stored procedure

<?php

// Before running the PHP program, create a stored procedure in
// SQL*Plus or SQL Developer:
//
// CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
// BEGIN
// p2 := p1 * 2;
// END;

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$p1 = 8;

$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);

// The second procedure parameter is an OUT bind. The default type
// will be a string type so binding a length 40 means that at most 40
// digits will be returned.
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n"; // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 12 Binding a CLOB column

<?php

// Before running, create the table:
// CREATE TABLE mytab (mykey NUMBER, myclob CLOB);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$mykey = 12343; // arbitrary key for this example;

$sql = "INSERT INTO mytab (mykey, myclob)
VALUES (:mykey, EMPTY_CLOB())
RETURNING myclob INTO :myclob";

$stid = oci_parse($conn, $sql);
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_bind_by_name($stid, ":myclob", $clob, -1, OCI_B_CLOB);
oci_execute($stid, OCI_DEFAULT);
$clob->save("A very long string");

oci_commit($conn);

// Fetching CLOB data

$query = 'SELECT myclob FROM mytab WHERE mykey = :mykey';

$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid);

print '<table border="1">';
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) {
print '<tr><td>'.$row['MYCLOB'].'</td></tr>';
// In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
unset($row);
}
print '</table>';

?>

Örnek 13 Binding a PL/SQL BOOLEAN

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$plsql =
"begin
:output1 := true;
:output2 := false;
end;";

$s = oci_parse($c, $plsql);
oci_bind_by_name($s, ':output1', $output1, -1, OCI_B_BOL);
oci_bind_by_name($s, ':output2', $output2, -1, OCI_B_BOL);
oci_execute($s);
var_dump($output1); // true
var_dump($output2); // false

?>

Notlar

Uyarı

Do not use addslashes() and oci_bind_by_name() simultaneously as no quoting is needed. Any magically applied quotes will be written into your database because oci_bind_by_name() inserts data verbatim and does not remove quotes or escape characters.

Bilginize:

If you bind a string to a CHAR column in a WHERE clause, remember that Oracle uses blank-padded comparison semantics for CHAR columns. Your PHP variable should be blank padded to the same width as the column for the WHERE clause to succeed.

Bilginize:

The PHP var argument is a reference. Some forms of loops do not work as expected:

<?php
foreach ($myarray as $key => $value) {
oci_bind_by_name($stid, $key, $value);
}
?>

This binds each key to the location of $value, so all bound variables end up pointing to the last loop iteration's value. Instead use the following:

<?php
foreach ($myarray as $key => $value) {
oci_bind_by_name($stid, $key, $myarray[$key]);
}
?>

Ayrıca Bakınız

  • oci_bind_array_by_name() - Binds a PHP array to an Oracle PL/SQL array parameter
  • oci_parse() - Prepares an Oracle statement for execution


Cancels reading from cursor

  • « oci_bind_by_name
  • oci_client_version »
  • PHP Manual
  • OCI8 İşlevleri
  • Cancels reading from cursor

oci_cancel

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_cancel — Cancels reading from cursor

Açıklama

oci_cancel(resource $statement): bool

Invalidates a cursor, freeing all associated resources and cancels the ability to read from it.

Bağımsız Değişkenler

statement

An OCI statement.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns the Oracle client library version

  • « oci_cancel
  • oci_close »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the Oracle client library version

oci_client_version

(PHP 5 >= 5.3.7, PHP 7, PHP 8, PECL OCI8 >= 1.4.6)

oci_client_version — Returns the Oracle client library version

Açıklama

oci_client_version(): string

Returns a string containing the version number of the Oracle C client library that PHP is linked with.

Bağımsız Değişkenler

None

Dönen Değerler

Returns the version number as a string.

Örnekler

Örnek 1 oci_client_version() example

<?php
echo "Client Version: " . oci_client_version(); // Client version: 19.9.0.0.0
?>

Notlar

Bilginize:

Oracle libraries before 10gR2 do not have the underlying functionality to get the client library version number. The string "Unknown" will be returned in this case.

Ayrıca Bakınız

  • oci_server_version() - Returns the Oracle Database version


Closes an Oracle connection

  • « oci_client_version
  • oci_commit »
  • PHP Manual
  • OCI8 İşlevleri
  • Closes an Oracle connection

oci_close

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_close — Closes an Oracle connection

Açıklama

oci_close(resource $connection): ?bool

Unsets connection. The underlying database connection is closed if no other resources are using it and if it was created with oci_connect() or oci_new_connect().

It is recommended to close connections that are no longer needed because this makes database resources available for other users.

Bağımsız Değişkenler

connection

An Oracle connection identifier returned by oci_connect(), oci_pconnect(), or oci_new_connect().

Dönen Değerler

Returns null when oci8.old_oci_close_semantics is enabled, or true otherwise.

Örnekler

Örnek 1 Closing a connection

Resources associated with a connection should be closed to ensure the underlying database connection is properly terminated and the database resources are released.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments');
$r = oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

// Free the statement identifier when closing the connection
oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 Database connections are not closed until all references are closed

The internal refcount of a connection identifier must be zero before the underlying connection to the database is closed.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM departments'); // this increases the refcount on $conn
oci_execute($stid);
oci_fetch_all($stid, $res);
var_dump($res);

oci_close($conn);

// $conn is no longer usable in the script but the underlying database
// connection is still held open until $stid is freed.
var_dump($conn); // prints NULL

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that the database user is still connected.
sleep(10);

// When $stid is freed, the database connection is physically closed
oci_free_statement($stid);

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that the database user has disconnected.
sleep(10);

?>

Örnek 3 Closing a connection opened more than once

When database credentials are reused, both connections must be closed before the underlying database connection is closed.

<?php

$conn1 = oci_connect('hr', 'welcome', 'localhost/XE');

// Using the same credentials reuses the same underlying database connection
// Any uncommitted changes done on $conn1 will be visible in $conn2
$conn2 = oci_connect('hr', 'welcome', 'localhost/XE');

// While PHP sleeps, querying the Oracle V$SESSION view in a
// terminal window will show that only one database user is connected.
sleep(10);

oci_close($conn1); // doesn't close the underlying database connection
var_dump($conn1); // prints NULL because the variable $conn1 is no longer usable
var_dump($conn2); // displays that $conn2 is still a valid connection resource

?>

Örnek 4 Connections are closed when variables go out of scope

When all variables referencing a connection go out of scope and are freed by PHP, a rollback occurs (if necessary) and the underlying connection to the database is closed.

<?php

function myfunc() {
$conn = oci_connect('hr', 'hrpwd', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'UPDATE mytab SET id = 100');
oci_execute($stid, OCI_NO_AUTO_COMMIT);
return "Finished";
}

$r = myfunc();
// At this point a rollback occurred and the underlying database connection was released.

print $r; // displays the function return value "Finished"

?>

Notlar

Bilginize:

Variables that have a dependency on the connection identifier, such as statement identifiers returned by oci_parse(), must also be freed before the underlying database connection is closed.

Bilginize:

The oci_close() function does not close the underlying database connections created with oci_pconnect().

Ayrıca Bakınız

  • oci_connect() - Connect to an Oracle database
  • oci_free_statement() - Frees all resources associated with statement or cursor


Commits the outstanding database transaction

  • « oci_close
  • oci_connect »
  • PHP Manual
  • OCI8 İşlevleri
  • Commits the outstanding database transaction

oci_commit

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_commit — Commits the outstanding database transaction

Açıklama

oci_commit(resource $connection): bool

Commits the outstanding transaction for the Oracle connection. A commit ends the current transaction and makes permanent all changes. It releases all locks held.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_commit() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
oci_rollback($conn); // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!$r) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Notlar

Bilginize:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Ayrıca Bakınız

  • oci_execute() - Executes a statement
  • oci_rollback() - Rolls back the outstanding database transaction


Connect to an Oracle database

  • « oci_commit
  • oci_define_by_name »
  • PHP Manual
  • OCI8 İşlevleri
  • Connect to an Oracle database

oci_connect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_connect — Connect to an Oracle database

Açıklama

oci_connect(
string $username,
string $password,
?string $connection_string = null,
string $encoding = "",
int $session_mode = OCI_DEFAULT
): resource|false

Returns a connection identifier needed for most other OCI8 operations.

For performance, most applications should use persistent connections with oci_pconnect() instead of oci_connect(). See Connection Handling for general information on connection management and connection pooling.

The second and subsequent calls to oci_connect() with the same parameters will return the connection handle returned from the first call. This means that transactions in one handle are also in the other handles, because they use the same underlying database connection. If two handles need to be transactionally isolated from each other, use oci_new_connect() instead.

Bağımsız Değişkenler

username

The Oracle user name.

password

The password for username.

connection_string

Bağlanılacak Oracle nesnesini içerir. Ya » Easy Connect dizgesi, veya tnsnames.ora dosyasındaki Connect Name ya da yerel Oracle nesnesi olabilir.

Belirtilmezse ya da null verilirse, PHP bağlanacağı Oracle nesnesini saptamak için TWO_TASK (Linux) veya LOCAL (Windows) ve ORACLE_SID gibi ortam değişkenlerini kullanır.

To use the Easy Connect naming method, PHP must be linked with Oracle 10g or greater Client libraries. The Easy Connect string for Oracle 10g is of the form: [//]host_name[:port][/service_name]. With Oracle [//]host_name[:port][/service_name]. From Oracle 11g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. Futher options were introduced with Oracle 19c, including timeout and keep-alive settings. Refer to Oracle documentation. Service names can be found by running the Oracle utility lsnrctl status on the database servermachine.

The tnsnames.ora file can be in the Oracle Net search path, which includes /your/path/to/instantclient/network/admin, $ORACLE_HOME/network/admin and /etc. Alternatively set TNS_ADMIN so that $TNS_ADMIN/tnsnames.ora is read. Make sure the web daemon has read access to the file.

encoding

Oracle sunucusunun 9.2 ve üstü sürümlerini kullanırken, karakter_kümesi bağımsız değişkenini yeni bağlantıda kullanılacak bağımsız değişkene göre belirtebilirsiniz. Eğer 9.2 sürümünden daha eski bir Oracle sunucusu kullanıyorsanız bu bağımsız değişken yok sayılacak, yerine NLS_LANG ortam değişkeni kullanılacaktır.

If not specified, the Oracle Client libraries determine a character set from the NLS_LANG environment variable.

Passing this parameter can reduce the time taken to connect.

session_mode

This parameter is available since version PHP 5 (PECL OCI8 1.1) and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

PHP 5.3 (PECL OCI8 1.3.4) introduced the OCI_CRED_EXT mode value. This tells Oracle to use External or OS authentication, which must be configured in the database. The OCI_CRED_EXT flag can only be used with username of "/" and a empty password. oci8.privileged_connect may be On or Off.

OCI_CRED_EXT may be combined with the OCI_SYSOPER or OCI_SYSDBA modes.

OCI_CRED_EXT is not supported on Windows for security reasons.

Dönen Değerler

Returns a connection identifier or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | connection_string is now nullable.

Örnekler

Örnek 1 Basic oci_connect() using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

Örnek 2 Basic oci_connect() using a Network Connect name

<?php

// Connects to the MYDB database described in tnsnames.ora file,
// One example tnsnames.ora entry for MYDB could be:
// MYDB =
// (DESCRIPTION =
// (ADDRESS = (PROTOCOL = TCP)(HOST = mymachine.oracle.com)(PORT = 1521))
// (CONNECT_DATA =
// (SERVER = DEDICATED)
// (SERVICE_NAME = XE)
// )
// )

$conn = oci_connect('hr', 'welcome', 'MYDB');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

Örnek 3 oci_connect() with an explicit character set

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE', 'AL32UTF8');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

Örnek 4 Using multiple calls to oci_connect()

<?php

$c1 = oci_connect("hr", "welcome", 'localhost/XE');
$c2 = oci_connect("hr", "welcome", 'localhost/XE');

// Both $c1 and $c2 show the same PHP resource id meaning they use the
// same underlying database connection
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

function create_table($conn)
{
$stmt = oci_parse($conn, "create table hallo (test varchar2(64))");
oci_execute($stmt);
echo "Created table<br>\n";
}

function drop_table($conn)
{
$stmt = oci_parse($conn, "drop table hallo");
oci_execute($stmt);
echo "Dropped table<br>\n";
}

function insert_data($connname, $conn)
{
$stmt = oci_parse($conn, "insert into hallo
values(to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
oci_execute($stmt, OCI_DEFAULT);
echo "$connname inserted row without committing<br>\n";
}

function rollback($connname, $conn)
{
oci_rollback($conn);
echo "$connname rollback<br>\n";
}

function select_data($connname, $conn)
{
$stmt = oci_parse($conn, "select * from hallo");
oci_execute($stmt, OCI_DEFAULT);
echo "$connname ----selecting<br>\n";
while (oci_fetch($stmt)) {
echo " " . oci_result($stmt, "TEST") . "<br>\n";
}
echo "$connname ----done<br>\n";
}

create_table($c1);

insert_data('c1', $c1); // Insert a row using c1
sleep(2); // sleep to show a different timestamp for the 2nd row
insert_data('c2', $c2); // Insert a row using c2

select_data('c1', $c1); // Results of both inserts are returned
select_data('c2', $c2); // Results of both inserts are returned

rollback('c1', $c1); // Rollback using c1

select_data('c1', $c1); // Both inserts have been rolled back
select_data('c2', $c2);

drop_table($c1);

// Closing one of the connections makes the PHP variable unusable, but
// the other could be used
oci_close($c1);
echo "c1 is $c1<br>\n";
echo "c2 is $c2<br>\n";

// Output is:
// c1 is Resource id #5
// c2 is Resource id #5
// Created table
// c1 inserted row without committing
// c2 inserted row without committing
// c1 ----selecting
// 09-DEC-09 12:14:43
// 09-DEC-09 12:14:45
// c1 ----done
// c2 ----selecting
// 09-DEC-09 12:14:43
// 09-DEC-09 12:14:45
// c2 ----done
// c1 rollback
// c1 ----selecting
// c1 ----done
// c2 ----selecting
// c2 ----done
// Dropped table
// c1 is
// c2 is Resource id #5

?>

Notlar

Bilginize:

An incorrectly installed or configured OCI8 extension will often manifest itself as a connection problem or error. See Installing/Configuring for troubleshooting information.

Ayrıca Bakınız

  • oci_pconnect() - Connect to an Oracle database using a persistent connection
  • oci_new_connect() - Connect to the Oracle server using a unique connection
  • oci_close() - Closes an Oracle connection


Associates a PHP variable with a column for query fetches

  • « oci_connect
  • oci_error »
  • PHP Manual
  • OCI8 İşlevleri
  • Associates a PHP variable with a column for query fetches

oci_define_by_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_define_by_name — Associates a PHP variable with a column for query fetches

Açıklama

oci_define_by_name(
resource $statement,
string $column,
mixed &$var,
int $type = 0
): bool

Associates a PHP variable with a column for query fetches using oci_fetch().

The oci_define_by_name() call must occur before executing oci_execute().

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

column

The column name used in the query.

Use uppercase for Oracle's default, non-case sensitive column names. Use the exact column name case for case-sensitive column names.

var

The PHP variable that will contain the returned column value.

type

The data type to be returned. Generally not needed. Note that Oracle-style data conversions are not performed. For example, SQLT_INT will be ignored and the returned data type will still be SQLT_CHR.

You can optionally use oci_new_descriptor() to allocate LOB/ROWID/BFILE descriptors.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_define_by_name() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// The defines MUST be done before executing
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
echo "Location id $locid is $city<br>\n";
}

// Displays:
// Location id 1000 is Roma
// Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 oci_define_by_name() with case sensitive column names

<?php

/*
Before running, create the table with a case sensitive column name:
CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// Use uppercase for non case-sensitive column names
oci_define_by_name($stid, 'ID', $id);

// Use the exact case for case-sensitive column names
oci_define_by_name($stid, 'MyDescription', $mydesc);

oci_execute($stid);

while (oci_fetch($stid)) {
echo "id $id is $mydesc<br>\n";
}

// Displays:
// id 1 is Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 oci_define_by_name() with LOB columns

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, fruit CLOB);
INSERT INTO mytab (id, fruit) values (1, 'apple');
INSERT INTO mytab (id, fruit) values (2, 'orange');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);
oci_define_by_name($stid, 'FRUIT', $fruit); // $fruit will become a LOB descriptor

oci_execute($stid);

while (oci_fetch($stid)) {
echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
// 1 is apple
// 2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Örnek 4 oci_define_by_name() with an explicit type

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, fruit CLOB);
INSERT INTO mytab (id, fruit) values (1, 'apple');
INSERT INTO mytab (id, fruit) values (2, 'orange');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM mytab');

// The defines MUST be done before executing
oci_define_by_name($stid, 'ID', $id);

$fruit = oci_new_descriptor($conn, OCI_D_LOB);
oci_define_by_name($stid, 'FRUIT', $fruit, OCI_D_CLOB);

oci_execute($stid);

while (oci_fetch($stid)) {
echo $id . " is " . $fruit->load(100) . "<br>\n";
}

// Displays:
// 1 is apple
// 2 is orange

$fruit->free();
oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_new_descriptor() - Initializes a new empty LOB or FILE descriptor


Returns the last error found

  • « oci_define_by_name
  • oci_execute »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the last error found

oci_error

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_error — Returns the last error found

Açıklama

oci_error(?resource $connection_or_statement = null): array|false

Returns the last error found.

The function should be called immediately after an error occurs. Errors are cleared by a successful statement.

Bağımsız Değişkenler

connection_or_statement

For most errors, connection_or_statement is the
resource handle that was passed to the failing function call.
For connection errors with oci_connect(),
oci_new_connect() or
oci_pconnect() null should be passed.

Dönen Değerler

If no error is found, oci_error() returns false. Otherwise, oci_error() returns the error information as an associative array.

oci_error() Array Description
Array key | Type | Açıklama
code | int | The Oracle error number.
message | string | The Oracle error text.
offset | int | The byte position of an error in the SQL statement. If there was no statement, this is 0
sqltext | string | The SQL statement text. If there was no statement, this is an empty string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | connection_or_statement is now nullable.

Örnekler

Örnek 1 Displaying the Oracle error message after a connection error

<?php
$conn = oci_connect("hr", "welcome", "localhost/XE");
if (!$conn) {
$e = oci_error(); // For oci_connect errors do not pass a handle
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Örnek 2 Displaying the Oracle error message after a parsing error

<?php
$stid = oci_parse($conn, "select ' from dual"); // note mismatched quote
if (!$stid) {
$e = oci_error($conn); // For oci_parse errors pass the connection handle
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}
?>

Örnek 3 Displaying the Oracle error message, the problematic statement, and the position of the problem of an execution error

<?php
$stid = oci_parse($conn, "select does_not_exist from dual");
$r = oci_execute($stid);
if (!$r) {
$e = oci_error($stid); // For oci_execute errors pass the statement handle
print htmlentities($e['message']);
print "\n<pre>\n";
print htmlentities($e['sqltext']);
printf("\n%".($e['offset']+1)."s", "^");
print "\n</pre>\n";
}
?>


Executes a statement

  • « oci_error
  • oci_fetch_all »
  • PHP Manual
  • OCI8 İşlevleri
  • Executes a statement

oci_execute

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_execute — Executes a statement

Açıklama

oci_execute(resource $statement, int $mode = OCI_COMMIT_ON_SUCCESS): bool

Executes a statement previously returned from oci_parse().

After execution, statements like INSERT will have data committed to the database by default. For statements like SELECT, execution performs the logic of the query. Query results can subsequently be fetched in PHP with functions like oci_fetch_array().

Each parsed statement may be executed multiple times, saving the cost of re-parsing. This is commonly used for INSERT statements when data is bound with oci_bind_by_name().

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

mode

An optional second parameter can be one of the following constants:

Execution Modes
Constant | Description
OCI_COMMIT_ON_SUCCESS | Automatically commit all outstanding changes for this connection when the statement has succeeded. This is the default.
OCI_DESCRIBE_ONLY | Make query meta data available to functions like oci_field_name() but do not create a result set. Any subsequent fetch call such as oci_fetch_array() will fail.
OCI_NO_AUTO_COMMIT | Do not automatically commit changes.

Using OCI_NO_AUTO_COMMIT mode starts or continues a transaction. Transactions are automatically rolled back when the connection is closed, or when the script ends. Explicitly call oci_commit() to commit a transaction, or oci_rollback() to abort it.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

If OCI_NO_AUTO_COMMIT mode is used for any statement including queries, and oci_commit() or oci_rollback() is not subsequently called, then OCI8 will perform a rollback at the end of the script even if no data was changed. To avoid an unnecessary rollback, many scripts do not use OCI_NO_AUTO_COMMIT mode for queries or PL/SQL. Be careful to ensure the appropriate transactional consistency for the application when using oci_execute() with different modes in the same script.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_execute() for queries

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

Örnek 2 oci_execute() without specifying a mode example

<?php

// Before running, create the table:
// CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');

oci_execute($stid); // The row is committed and immediately visible to other users

?>

Örnek 3 oci_execute() with OCI_NO_AUTO_COMMIT example

<?php

// Before running, create the table:
// CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (:bv)');
oci_bind_by_name($stid, ':bv', $i, 10);
for ($i = 1; $i <= 5; ++$i) {
oci_execute($stid, OCI_NO_AUTO_COMMIT);
}
oci_commit($conn); // commits all new values: 1, 2, 3, 4, 5

?>

Örnek 4 oci_execute() with different commit modes example

<?php

// Before running, create the table:
// CREATE TABLE MYTABLE (col1 NUMBER);

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (123)');
oci_execute($stid, OCI_NO_AUTO_COMMIT); // data not committed

$stid = oci_parse($conn, 'INSERT INTO mytab (col1) VALUES (456)');
oci_execute($stid); // commits both 123 and 456 values

?>

Örnek 5 oci_execute() with OCI_DESCRIBE_ONLY example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM locations');
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = 1; $i <= oci_num_fields($stid); ++$i) {
echo oci_field_name($stid, $i) . "<br>\n";
}

?>

Notlar

Bilginize:

Transactions are automatically rolled back when connections are closed, or when the script ends, whichever is soonest. Explicitly call oci_commit() to commit a transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Bilginize:

Because the oci_execute() function generally sends the statement to the database, oci_execute() can identify some statement syntax errors that the lightweight, local oci_parse() function does not.

Ayrıca Bakınız

  • oci_parse() - Prepares an Oracle statement for execution


Fetches multiple rows from a query into a two-dimensional array

  • « oci_execute
  • oci_fetch_array »
  • PHP Manual
  • OCI8 İşlevleri
  • Fetches multiple rows from a query into a two-dimensional array

oci_fetch_all

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array

Açıklama

oci_fetch_all(
resource $statement,
array &$output,
int $offset = 0,
int $limit = -1,
int $flags = OCI_FETCHSTATEMENT_BY_COLUMN | OCI_ASSOC
): int

Fetches multiple rows from a query into a two-dimensional array. By default, all rows are returned.

This function can be called only once for each query executed with oci_execute().

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

output

The variable to contain the returned rows.

LOB columns are returned as strings, where Oracle supports conversion.

See oci_fetch_array() for more information on how data and types are fetched.

offset

The number of initial rows to discard when fetching the result. The default value is 0, so the first row onwards is returned.

limit

The number of rows to return. The default is -1 meaning return all the rows from offset + 1 onwards.

flags

Parameter flags indicates the array structure and whether associative arrays should be used.

oci_fetch_all() Array Structure Modes
Constant | Description
OCI_FETCHSTATEMENT_BY_ROW | The outer array will contain one sub-array per query row.
OCI_FETCHSTATEMENT_BY_COLUMN | The outer array will contain one sub-array per query column. This is the default.

Arrays can be indexed either by column heading or numerically. Only one index mode will be returned.

oci_fetch_all() Array Index Modes
Constant | Description
OCI_NUM | Numeric indexes are used for each column's array.
OCI_ASSOC | Associative indexes are used for each column's array. This is the default.

Use the addition operator "+" to choose a combination of array structure and index modes.

Oracle's default, non-case sensitive column names will have uppercase array keys. Case-sensitive column names will have array keys using the exact column case. Use var_dump() on output to verify the appropriate case to use for each query.

Queries that have more than one column with the same name should use column aliases. Otherwise only one of the columns will appear in an associative array.

Dönen Değerler

Returns the number of rows in output, which may be 0 or more.

Örnekler

Örnek 1 oci_fetch_all() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// var_dump output is:
// 2 rows fetched
// array(2) {
// ["POSTAL_CODE"]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(6) "10934x"
// }
// ["CITY"]=>
// array(2) {
// [0]=>
// string(4) "Roma"
// [1]=>
// string(6) "Venice"
// }
// }

// Pretty-print the results
echo "<table border='1'>\n";
foreach ($res as $col) {
echo "<tr>\n";
foreach ($col as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 oci_fetch_all() example with OCI_FETCHSTATEMENT_BY_ROW

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
// 2 rows fetched
// array(2) {
// [0]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "00989x"
// ["CITY"]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// ["POSTAL_CODE"]=>
// string(6) "10934x"
// ["CITY"]=>
// string(6) "Venice"
// }
// }

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 oci_fetch_all() with OCI_NUM

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT POSTAL_CODE, CITY FROM locations WHERE ROWNUM < 3');
oci_execute($stid);

$nrows = oci_fetch_all($stid, $res, null, null, OCI_FETCHSTATEMENT_BY_ROW + OCI_NUM);

echo "$nrows rows fetched<br>\n";
var_dump($res);

// Output is:
// 2 rows fetched
// array(2) {
// [0]=>
// array(2) {
// [0]=>
// string(6) "00989x"
// [1]=>
// string(4) "Roma"
// }
// [1]=>
// array(2) {
// [0]=>
// string(6) "10934x"
// [1]=>
// string(6) "Venice"
// }
// }

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

Using offset is very inefficient. All the rows to be skipped are included in the result set that is returned from the database to PHP. They are then discarded. It is more efficient to use SQL to restrict the offset and range of rows in the query. See oci_fetch_array() for an example.

Bilginize:

Queries that return a large number of rows can be more memory efficient if a single-row fetching function like oci_fetch_array() is used.

Bilginize:

For queries returning a large number of rows, performance can be significantly improved by increasing oci8.default_prefetch or using oci_set_prefetch().

Bilginize:

Will not return rows from Oracle Database 12c Implicit Result Sets. Use oci_fetch_array() instead.

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_set_prefetch() - Sets number of rows to be prefetched by queries


Returns the next row from a query as an associative or numeric array

  • « oci_fetch_all
  • oci_fetch_assoc »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the next row from a query as an associative or numeric array

oci_fetch_array

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_array — Returns the next row from a query as an associative or numeric array

Açıklama

oci_fetch_array(resource $statement, int $mode = OCI_BOTH | OCI_RETURN_NULLS): array|false

Returns an array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

If statement corresponds to a PL/SQL block returning Oracle Database Implicit Result Sets, then rows from all sets are consecutively fetched. If statement is returned by oci_get_implicit_resultset(), then only the subset of rows for one child query are returned.

OCI8 sürücüsü tarafından yapılan veri türü eşlemeyle ilgili ayrıntılar için sürücü tarafından desteklenen veri türleri bölümüne bakınız.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Can also be a statement identifier returned by oci_get_implicit_resultset().

mode

An optional second parameter can be any combination of the following constants:

oci_fetch_array() Modes
Constant | Description
OCI_BOTH | Returns an array with both associative and numeric indices. This is the same as OCI_ASSOC + OCI_NUM and is the default behavior.
OCI_ASSOC | Returns an associative array.
OCI_NUM | Returns a numeric array.
OCI_RETURN_NULLS | Creates elements for null fields. The element values will be a PHP null.
OCI_RETURN_LOBS | Returns the contents of LOBs instead of the LOB descriptors.

The default mode is OCI_BOTH.

Use the addition operator "+" to specify more than one mode at a time.

Dönen Değerler

Returns an array with associative and/or numeric indices. If there are no more rows in the statement then false is returned.

By default, LOB columns are returned as LOB descriptors.

DATE columns are returned as strings formatted to the current date format. The default format can be changed with Oracle environment variables such as NLS_LANG or by a previously executed ALTER SESSION SET NLS_DATE_FORMAT command.

Oracle's default, non-case sensitive column names will have uppercase associative indices in the result array. Case-sensitive column names will have array indices using the exact column case. Use var_dump() on the result array to verify the appropriate case to use for each query.

The table name is not included in the array index. If your query contains two different columns with the same name, use OCI_NUM or add a column alias to the query to ensure name uniqueness, see example #7. Otherwise only one column will be returned via PHP.

Örnekler

Örnek 1 oci_fetch_array() with OCI_BOTH

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH)) != false) {
// Use the uppercase column names for the associative array indices
echo $row[0] . " and " . $row['DEPARTMENT_ID'] . " are the same<br>\n";
echo $row[1] . " and " . $row['DEPARTMENT_NAME'] . " are the same<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 oci_fetch_array() with OCI_NUM

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description CLOB);
INSERT INTO mytab (id, description) values (1, 'A very long string');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_NUM)) != false) {
echo $row[0] . "<br>\n";
echo $row[1]->read(11) . "<br>\n"; // this will output first 11 bytes from DESCRIPTION
}

// Output is:
// 1
// A very long

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 oci_fetch_array() with OCI_ASSOC

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description CLOB);
INSERT INTO mytab (id, description) values (1, 'A very long string');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC)) != false) {
echo $row['ID'] . "<br>\n";
echo $row['DESCRIPTION']->read(11) . "<br>\n"; // this will output first 11 bytes from DESCRIPTION
}

// Output is:
// 1
// A very long

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 4 oci_fetch_array() with OCI_RETURN_NULLS

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC)) != false) { // Ignore NULLs
var_dump($row);
}

/*
The above code prints:
array(1) {
[1]=>
string(1) "1"
}
*/

$stid = oci_parse($conn, 'SELECT 1, null FROM dual');
oci_execute($stid);
while (($row = oci_fetch_array ($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { // Fetch NULLs
var_dump($row);
}

/*
The above code prints:
array(2) {
[1]=>
string(1) "1"
["NULL"]=>
NULL
}
*/

?>

Örnek 5 oci_fetch_array() with OCI_RETURN_LOBS

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description CLOB);
INSERT INTO mytab (id, description) values (1, 'A very long string');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_LOBS)) != false) {
echo $row['ID'] . "<br>\n";
echo $row['DESCRIPTION'] . "<br>\n"; // this contains all of DESCRIPTION
// In a loop, freeing the large variable before the 2nd fetch reduces PHP's peak memory usage
unset($row);
}

// Output is:
// 1
// A very long string

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 6 oci_fetch_array() with case sensitive column names

<?php

/*
Before running, create the table:
CREATE TABLE mytab ("Name" VARCHAR2(20), city VARCHAR2(20));
INSERT INTO mytab ("Name", city) values ('Chris', 'Melbourne');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS);

// Because 'Name' was created as a case-sensitive column, that same
// case is used for the array index. However uppercase 'CITY' must
// be used for the case-insensitive column index
print $row['Name'] . "<br>\n"; // prints Chris
print $row['CITY'] . "<br>\n"; // prints Melbourne

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 7 oci_fetch_array() with columns having duplicate names

<?php

/*
Before running, create the tables:
CREATE TABLE mycity (id NUMBER, name VARCHAR2(20));
INSERT INTO mycity (id, name) values (1, 'Melbourne');
CREATE TABLE mycountry (id NUMBER, name VARCHAR2(20));
INSERT INTO mycountry (id, name) values (1, 'Australia');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT mycity.name, mycountry.name
FROM mycity, mycountry
WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Output only contains one "NAME" entry:
// array(1) {
// ["NAME"]=>
// string(9) "Australia"
// }

// To query a repeated column name, use an SQL column alias like "AS ctnm":
$sql = 'SELECT mycity.name AS ctnm, mycountry.name
FROM mycity, mycountry
WHERE mycity.id = mycountry.id';
$stid = oci_parse($conn, $sql);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
var_dump($row);

// Output now contains both columns selected:
// array(2) {
// ["CTNM"]=>
// string(9) "Melbourne"
// ["NAME"]=>
// string(9) "Australia"
// }

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 8 oci_fetch_array() with DATE columns

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Set the date format for this connection.
// For performance reasons, consider changing the format
// in a trigger or with environment variables instead
$stid = oci_parse($conn, "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'");
oci_execute($stid);

$stid = oci_parse($conn, 'SELECT hire_date FROM employees WHERE employee_id = 188');
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
echo $row['HIRE_DATE'] . "<br>\n"; // prints 1997-06-14

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 9 oci_fetch_array() with REF CURSOR

<?php
/*
Create the PL/SQL stored procedure as:

CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
BEGIN
OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Execute the returned REF CURSOR and fetch from it like a statement identifier
oci_execute($refcur);
echo "<table border='1'>\n";
while (($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

Örnek 10 Pagination with oci_fetch_array() using a LIMIT-like query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Find the version of the database
preg_match('/Release ([0-9]+)\./', oci_server_version($conn), $matches);
$oracleversion = $matches[1];

// This is the query you want to "page" through
$sql = 'SELECT city, postal_code FROM locations ORDER BY city';

if ($oracleversion >= 12) {
// Make use of Oracle 12c OFFSET / FETCH NEXT syntax
$sql = $sql . ' OFFSET :offset ROWS FETCH NEXT :numrows ROWS ONLY';
} else {
// Older Oracle versions need a nested query selecting a subset
// from $sql. Or, if the SQL statement is known at development
// time, consider using a row_number() function instead of this
// nested solution. In production environments, be careful to
// avoid SQL Injection issues with concatenation.
$sql = "SELECT * FROM (SELECT a.*, ROWNUM AS my_rnum
FROM ($sql) a
WHERE ROWNUM <= :offset + :numrows)
WHERE my_rnum > :offset";
}

$offset = 0; // skip this many rows
$numrows = 5; // return 5 rows
$stid = oci_parse($conn, $sql);
oci_bind_by_name($stid, ':numrows', $numrows);
oci_bind_by_name($stid, ':offset', $offset);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
echo $row['CITY'] . " " . $row['POSTAL_CODE'] . "<br>\n";
}

// Output is:
// Beijing 190518
// Bern 3095
// Bombay 490231
// Geneva 1730
// Hiroshima 6823

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 11 oci_fetch_array() with Oracle Database Implicit Result Sets

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

// Requires OCI8 2.0 (or later) and Oracle Database 12c (or later)
// Also see oci_get_implicit_resultset()
$sql = 'DECLARE
c1 SYS_REFCURSOR;
BEGIN
OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all and oci_fetch() cannot be used in this manner
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

// Output is:
// Beijing 190518
// Bern 3095
// Bombay 490231
// CN
// CH
// IN

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

Associative array indices need to be in uppercase for standard Oracle columns that were created with case insensitive names.

Bilginize:

For queries returning a large number of rows, performance can be significantly improved by increasing oci8.default_prefetch or using oci_set_prefetch().

Bilginize:

The function oci_fetch_array() is insignificantly slower than oci_fetch_assoc() or oci_fetch_row(), but is more flexible.

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_set_prefetch() - Sets number of rows to be prefetched by queries


Returns the next row from a query as an associative array

  • « oci_fetch_array
  • oci_fetch_object »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the next row from a query as an associative array

oci_fetch_assoc

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_assoc — Returns the next row from a query as an associative array

Açıklama

oci_fetch_assoc(resource $statement): array|false

Returns an associative array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

Calling oci_fetch_assoc() is identical to calling oci_fetch_array() with OCI_ASSOC + OCI_RETURN_NULLS.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Dönen Değerler

Returns an associative array. If there are no more rows in the statement then false is returned.

Örnekler

Örnek 1 oci_fetch_assoc() Example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_assoc($stid)) != false) {
echo $row['DEPARTMENT_ID'] . " " . $row['DEPARTMENT_NAME'] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

See oci_fetch_array() for more examples of fetching rows.

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array


Returns the next row from a query as an object

  • « oci_fetch_assoc
  • oci_fetch_row »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the next row from a query as an object

oci_fetch_object

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_object — Returns the next row from a query as an object

Açıklama

oci_fetch_object(resource $statement, int $mode = OCI_ASSOC | OCI_RETURN_NULLS): stdClass|false

Returns an object containing the next result-set row of a query. Each attribute of the object corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

OCI8 sürücüsü tarafından yapılan veri türü eşlemeyle ilgili ayrıntılar için sürücü tarafından desteklenen veri türleri bölümüne bakınız.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Dönen Değerler

Returns an object. Each attribute of the object corresponds to a column of the row. If there are no more rows in the statement then false is returned.

Any LOB columns are returned as LOB descriptors.

DATE columns are returned as strings formatted to the current date format. The default format can be changed with Oracle environment variables such as NLS_LANG or by a previously executed ALTER SESSION SET NLS_DATE_FORMAT command.

Oracle's default, non-case sensitive column names will have uppercase attribute names. Case-sensitive column names will have attribute names using the exact column case. Use var_dump() on the result object to verify the appropriate case for attribute access.

Attribute values will be null for any NULL data fields.

Örnekler

Örnek 1 oci_fetch_object() example

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description VARCHAR2(30));
INSERT INTO mytab (id, description) values (1, 'Fish and Chips');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
// Use upper case attribute names for each standard Oracle column
echo $row->ID . "<br>\n";
echo $row->DESCRIPTION . "<br>\n";
}

// Output is:
// 1
// Fish and Chips

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 oci_fetch_object() with case sensitive column names

<?php

/*
Before running, create the table with a case sensitive column name:
CREATE TABLE mytab (id NUMBER, "MyDescription" VARCHAR2(30));
INSERT INTO mytab (id, "MyDescription") values (1, 'Iced Coffee');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, "MyDescription" FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
// Use upper case attribute names for each standard Oracle column
echo $row->ID . "<br>\n";
// Use the exact case for the case sensitive column name
echo $row->MyDescription . "<br>\n";
}

// Output is:
// 1
// Iced Coffee

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 oci_fetch_object() with LOBs

<?php

/*
Before running, create the table:
CREATE TABLE mytab (id NUMBER, description CLOB);
INSERT INTO mytab (id, description) values (1, 'A very long string');
COMMIT;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT id, description FROM mytab');
oci_execute($stid);

while (($row = oci_fetch_object($stid)) != false) {
echo $row->ID . "<br>\n";
// The following will output the first 11 bytes from DESCRIPTION
echo $row->DESCRIPTION->read(11) . "<br>\n";
}

// Output is:
// 1
// A very long

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_row() - Returns the next row from a query as a numeric array


Returns the next row from a query as a numeric array

  • « oci_fetch_object
  • oci_fetch »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the next row from a query as a numeric array

oci_fetch_row

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch_row — Returns the next row from a query as a numeric array

Açıklama

oci_fetch_row(resource $statement): array|false

Returns a numerically indexed array containing the next result-set row of a query. Each array entry corresponds to a column of the row. This function is typically called in a loop until it returns false, indicating no more rows exist.

Calling oci_fetch_row() is identical to calling oci_fetch_array() with OCI_NUM + OCI_RETURN_NULLS.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Dönen Değerler

Returns a numerically indexed array. If there are no more rows in the statement then false is returned.

Örnekler

Örnek 1 oci_fetch_row() Example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT department_id, department_name FROM departments');
oci_execute($stid);

while (($row = oci_fetch_row($stid)) != false) {
echo $row[0] . " " . $row[1] . "<br>\n";
}

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

See oci_fetch_array() for more examples of fetching rows.

Ayrıca Bakınız

  • oci_fetch() - Fetches the next row from a query into internal buffers
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object


Fetches the next row from a query into internal buffers

  • « oci_fetch_row
  • oci_field_is_null »
  • PHP Manual
  • OCI8 İşlevleri
  • Fetches the next row from a query into internal buffers

oci_fetch

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_fetch — Fetches the next row from a query into internal buffers

Açıklama

oci_fetch(resource $statement): bool

Fetches the next row from a query into internal buffers accessible either with oci_result(), or by using variables previously defined with oci_define_by_name().

See oci_fetch_array() for general information about fetching data.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

Dönen Değerler

Returns true on success or false if there are no more rows in the statement.

Örnekler

Örnek 1 oci_fetch() with defined variables

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);

// The defines MUST be done before executing
oci_define_by_name($stid, 'LOCATION_ID', $locid);
oci_define_by_name($stid, 'CITY', $city);

oci_execute($stid);

// Each fetch populates the previously defined variables with the next row's data
while (oci_fetch($stid)) {
echo "Location id $locid is $city<br>\n";
}

// Displays:
// Location id 1000 is Roma
// Location id 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 oci_fetch() with oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
echo oci_result($stid, 'LOCATION_ID') . " is ";
echo oci_result($stid, 'CITY') . "<br>\n";
}

// Displays:
// 1000 is Roma
// 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

Will not return rows from Oracle Database Implicit Result Sets. Use oci_fetch_array() instead.

Ayrıca Bakınız

  • oci_define_by_name() - Associates a PHP variable with a column for query fetches
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array
  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_result() - Returns field's value from the fetched row


Checks if a field in the currently fetched row is null

  • « oci_fetch
  • oci_field_name »
  • PHP Manual
  • OCI8 İşlevleri
  • Checks if a field in the currently fetched row is null

oci_field_is_null

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_is_null — Checks if a field in the currently fetched row is null

Açıklama

oci_field_is_null(resource $statement, string|int $column): bool

Checks if the given column from the current row of statement is null.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns true if column is null, false otherwise.

Örnekler

Örnek 1 oci_field_name() example

<?php

// Create the table with:
// CREATE TABLE mytab (c1 NUMBER);
// INSERT INTO mytab VALUES (1);
// INSERT INTO mytab VALUES (NULL);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) != false) {
$ncols = oci_num_fields($stid);
for ($col = 1; $col <= $ncols; $col++) {
var_dump(oci_field_is_null($stid, $col));
}
}

// Outputs:
// bool(false)
// bool(true)

oci_free_statement($stid);
oci_close($conn);

?>


Returns the name of a field from the statement

  • « oci_field_is_null
  • oci_field_precision »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the name of a field from the statement

oci_field_name

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_name — Returns the name of a field from the statement

Açıklama

oci_field_name(resource $statement, string|int $column): string|false

Returns the name of the column.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns the name as a string, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_name() example

<?php

// Create the table with:
// CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
// clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stid, $i);
$column_type = oci_field_type($stid, $i);

echo "<tr>";
echo "<td>$column_name</td>";
echo "<td>$column_type</td>";
echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
// Name Type
// NUMBER_COL NUMBER
// VARCHAR2_COL VARCHAR2
// CLOB_COL CLOB
// DATE_COL DATE

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_type() - Returns a field's data type name
  • oci_field_size() - Returns field's size


Tell the precision of a field

  • « oci_field_name
  • oci_field_scale »
  • PHP Manual
  • OCI8 İşlevleri
  • Tell the precision of a field

oci_field_precision

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_precision — Tell the precision of a field

Açıklama

oci_field_precision(resource $statement, string|int $column): int|false

Returns precision of the column.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns the precision as an integer, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_precision() Example

<?php

// Create the table with:
// CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
echo oci_field_name($stid, $i) . " "
. oci_field_precision($stid, $i) . " "
. oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
// C1 0 -127
// C2 126 -127
// C3 4 0
// C4 5 3

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_field_scale() - Tell the scale of the field
  • oci_field_type() - Returns a field's data type name


Tell the scale of the field

  • « oci_field_precision
  • oci_field_size »
  • PHP Manual
  • OCI8 İşlevleri
  • Tell the scale of the field

oci_field_scale

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_scale — Tell the scale of the field

Açıklama

oci_field_scale(resource $statement, string|int $column): int|false

Returns the scale of the column with column index.

For FLOAT columns, precision is nonzero and scale is -127. If precision is 0, then column is NUMBER. Else it's NUMBER(precision, scale).

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns the scale as an integer, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_scale() Example

<?php

// Create the table with:
// CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
echo oci_field_name($stid, $i) . " "
. oci_field_precision($stid, $i) . " "
. oci_field_scale($stid, $i) . "<br>\n";
}

// Outputs:
// C1 0 -127
// C2 126 -127
// C3 4 0
// C4 5 3

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_field_precision() - Tell the precision of a field
  • oci_field_type() - Returns a field's data type name


Returns field's size

  • « oci_field_scale
  • oci_field_type_raw »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns field's size

oci_field_size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_size — Returns field's size

Açıklama

oci_field_size(resource $statement, string|int $column): int|false

Returns the size of a column.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns the size of a column in bytes, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_size() example

<?php

// Create the table with:
// CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
// clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stid, $i);
$column_type = oci_field_type($stid, $i);
$column_size = oci_field_size($stid, $i);

echo "<tr>";
echo "<td>$column_name</td>";
echo "<td>$column_type</td>";
echo "<td>$column_size</td>";
echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
// Name Type Length
// NUMBER_COL NUMBER 22
// VARCHAR2_COL VARCHAR2 1
// CLOB_COL CLOB 4000
// DATE_COL DATE 7

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement


Tell the raw Oracle data type of the field

  • « oci_field_size
  • oci_field_type »
  • PHP Manual
  • OCI8 İşlevleri
  • Tell the raw Oracle data type of the field

oci_field_type_raw

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_type_raw — Tell the raw Oracle data type of the field

Açıklama

oci_field_type_raw(resource $statement, string|int $column): int|false

Returns Oracle's raw "SQLT" data type of the column.

If you want a field's type name, then use oci_field_type() instead.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns Oracle's raw data type as a number, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_type_raw() Example

<?php

// Create the table with:
// CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1), clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows
$n = oci_num_fields($stid);
for ($i = 1; $i <= $n; ++$i) {
echo oci_field_name($stid, $i) . " is raw type: " . oci_field_type_raw($stid, $i) . "<br>\n";
}

// Output is:
// NUMBER_COL is raw type: 2
// VARCHAR2_COL is raw type: 1
// CLOB_COL is raw type: 112
// DATE_COL is raw type: 12

oci_free_statement($stid);
oci_close($conn);

?>


Returns a field's data type name

  • « oci_field_type_raw
  • oci_free_descriptor »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns a field's data type name

oci_field_type

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_type — Returns a field's data type name

Açıklama

oci_field_type(resource $statement, string|int $column): string|int|false

Returns a field's data type name.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

column

Can be the field's index (1-based) or name.

Dönen Değerler

Returns the field data type as a string or an int, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_field_type() example

<?php

// Create the table with:
// CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1),
// clob_col CLOB, date_col DATE);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

echo "<table border=\"1\">\n";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>\n";

$ncols = oci_num_fields($stid);

for ($i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stid, $i);
$column_type = oci_field_type($stid, $i);
$column_size = oci_field_size($stid, $i);

echo "<tr>";
echo "<td>$column_name</td>";
echo "<td>$column_type</td>";
echo "<td>$column_size</td>";
echo "</tr>\n";
}

echo "</table>\n";

// Outputs:
// Name Type Length
// NUMBER_COL NUMBER 22
// VARCHAR2_COL VARCHAR2 1
// CLOB_COL CLOB 4000
// DATE_COL DATE 7

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_num_fields() - Returns the number of result columns in a statement
  • oci_field_name() - Returns the name of a field from the statement
  • oci_field_size() - Returns field's size


Frees a descriptor

  • « oci_field_type
  • oci_free_statement »
  • PHP Manual
  • OCI8 İşlevleri
  • Frees a descriptor

oci_free_descriptor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_free_descriptor — Frees a descriptor

Açıklama

oci_free_descriptor(OCILob $lob): bool

Frees a descriptor allocated by oci_new_descriptor().

Bağımsız Değişkenler

descriptor

Descriptor allocated by oci_new_descriptor().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

This function is commonly used as a method OCILOB::free.

Ayrıca Bakınız

  • OCILOB::free


Frees all resources associated with statement or cursor

  • « oci_free_descriptor
  • oci_get_implicit_resultset »
  • PHP Manual
  • OCI8 İşlevleri
  • Frees all resources associated with statement or cursor

oci_free_statement

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_free_statement — Frees all resources associated with statement or cursor

Açıklama

oci_free_statement(resource $statement): bool

Frees resources associated with Oracle's cursor or statement, which was received from as a result of oci_parse() or obtained from Oracle.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

  • « oci_free_statement
  • oci_lob_copy »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

oci_get_implicit_resultset

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL OCI8 >= 2.0.0)

oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets

Açıklama

oci_get_implicit_resultset(resource $statement): resource|false

Used to fetch consectutive sets of query results after the execution of a stored or anonymous Oracle PL/SQL block where that block returns query results with the Oracle Database 12 (or later) DBMS_SQL.RETURN_RESULT PL/SQL function. This allows PL/SQL blocks to easily return query results.

The child statement can be used with any of the OCI8 fetching
functions: oci_fetch(), oci_fetch_all(),
oci_fetch_array(), oci_fetch_object(),
oci_fetch_assoc() or oci_fetch_row()

Child statements inherit their parent statement's prefetch value, or it can be explicitly set with oci_set_prefetch().

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(). The statement identifier may or may not be associated with a SQL statement that returns Implicit Result Sets.

Dönen Değerler

Returns a statement handle for the next child statement available on statement. Returns false when child statements do not exist, or all child statements have been returned by previous calls to oci_get_implicit_resultset().

Örnekler

Örnek 1 Fetching Implicit Result Sets in a loop

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
c1 SYS_REFCURSOR;
BEGIN
OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (($stid_c = oci_get_implicit_resultset($stid))) {
echo "<h2>New Implicit Result Set:</h2>\n";
echo "<table>\n";
while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
}

// Output is:
// New Implicit Result Set:
// Beijing 190518
// Bern 3095
// Bombay 490231
// New Implicit Result Set:
// CN
// CH
// IN

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 Getting child statement handles individually

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
c1 SYS_REFCURSOR;
BEGIN
OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_1 = oci_get_implicit_resultset($stid);
$stid_2 = oci_get_implicit_resultset($stid);

$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_1, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);
$row = oci_fetch_array($stid_2, OCI_ASSOC+OCI_RETURN_NULLS);
var_dump($row);

// Output is:
// array(2) {
// ["CITY"]=>
// string(7) "Beijing"
// ["POSTAL_CODE"]=>
// string(6) "190518"
// }
// array(1) {
// ["COUNTRY_ID"]=>
// string(2) "CN"
// }
// array(2) {
// ["CITY"]=>
// string(4) "Bern"
// ["POSTAL_CODE"]=>
// string(4) "3095"
// }
// array(1) {
// ["COUNTRY_ID"]=>
// string(2) "CH"
// }

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 3 Explicitly setting the Prefetch Count

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
c1 SYS_REFCURSOR;
BEGIN
OPEN c1 FOR SELECT city, postal_code FROM locations ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

$stid_c = oci_get_implicit_resultset($stid);
oci_set_prefetch($stid_c, 200); // Set the prefetch before fetching from the child statement
echo "<table>\n";
while (($row = oci_fetch_array($stid_c, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 4 Implicit Result Set example without using oci_get_implicit_resultset()

All results from all queries are returned consecutively.

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/pdborcl');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'DECLARE
c1 SYS_REFCURSOR;
BEGIN
OPEN c1 FOR SELECT city, postal_code FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
OPEN c1 FOR SELECT country_id FROM locations WHERE ROWNUM < 4 ORDER BY city;
DBMS_SQL.RETURN_RESULT(c1);
END;';

$stid = oci_parse($conn, $sql);
oci_execute($stid);

// Note: oci_fetch_all and oci_fetch() cannot be used in this manner
echo "<table>\n";
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item!==null?htmlentities($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

// Output is:
// Beijing 190518
// Bern 3095
// Bombay 490231
// CN
// CH
// IN

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

For queries returning a large number of rows, performance can be significantly improved by increasing oci8.default_prefetch or using oci_set_prefetch().


Copies large object

  • « oci_get_implicit_resultset
  • oci_lob_is_equal »
  • PHP Manual
  • OCI8 İşlevleri
  • Copies large object

oci_lob_copy

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_lob_copy — Copies large object

Açıklama

oci_lob_copy(OCILob $to, OCILob $from, ?int $length = null): bool

Copies a large object or a part of a large object to another large object. Old LOB-recipient data will be overwritten.

If you need to copy a particular part of a LOB to a particular position of a LOB, use OCILob::seek() to move LOB internal pointers.

Bağımsız Değişkenler

to

The destination LOB.

from

The copied LOB.

length

Indicates the length of data to be copied.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | length is now nullable.

Notlar

Bilginize:

The OCILob class was called OCI-Lob prior to PHP 8 and PECL OCI8 3.0.0.


Compares two LOB/FILE locators for equality

  • « oci_lob_copy
  • oci_new_collection »
  • PHP Manual
  • OCI8 İşlevleri
  • Compares two LOB/FILE locators for equality

oci_lob_is_equal

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_lob_is_equal — Compares two LOB/FILE locators for equality

Açıklama

oci_lob_is_equal(OCILob $lob1, OCILob $lob2): bool

Compares two LOB/FILE locators.

Bağımsız Değişkenler

lob1

A LOB identifier.

lob2

A LOB identifier.

Dönen Değerler

Returns true if these objects are equal, false otherwise.

Notlar

Bilginize:

The OCILob class was called OCI-Lob prior to PHP 8 and PECL OCI8 3.0.0.


Allocates new collection object

  • « oci_lob_is_equal
  • oci_new_connect »
  • PHP Manual
  • OCI8 İşlevleri
  • Allocates new collection object

oci_new_collection

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_collection — Allocates new collection object

Açıklama

oci_new_collection(resource $connection, string $type_name, ?string $schema = null): OCICollection|false

Allocates a new collection object.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type_name

Should be a valid named type (uppercase).

schema

Should point to the scheme, where the named type was created. The name of the current user is used when null is passed.

Dönen Değerler

Returns a new OCICollection object or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | schema is now nullable.

Notlar

Bilginize:

The OCICollection class was called OCI-Collection prior to PHP 8 and OCI8 3.0.0.


Connect to the Oracle server using a unique connection

  • « oci_new_collection
  • oci_new_cursor »
  • PHP Manual
  • OCI8 İşlevleri
  • Connect to the Oracle server using a unique connection

oci_new_connect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_connect — Connect to the Oracle server using a unique connection

Açıklama

oci_new_connect(
string $username,
string $password,
?string $connection_string = null,
string $encoding = "",
int $session_mode = OCI_DEFAULT
): resource|false

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries.

Bağımsız Değişkenler

username

The Oracle user name.

password

The password for username.

connection_string

Bağlanılacak Oracle nesnesini içerir. Ya » Easy Connect dizgesi, veya tnsnames.ora dosyasındaki Connect Name ya da yerel Oracle nesnesi olabilir.

Belirtilmezse ya da null verilirse, PHP bağlanacağı Oracle nesnesini saptamak için TWO_TASK (Linux) veya LOCAL (Windows) ve ORACLE_SID gibi ortam değişkenlerini kullanır.

To use the Easy Connect naming method, PHP must be linked with Oracle 10g or greater Client libraries. The Easy Connect string for Oracle 10g is of the form: [//]host_name[:port][/service_name]. With Oracle [//]host_name[:port][/service_name]. From Oracle 11g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. Futher options were introduced with Oracle 19c, including timeout and keep-alive settings. Refer to Oracle documentation. Service names can be found by running the Oracle utility lsnrctl status on the database servermachine.

The tnsnames.ora file can be in the Oracle Net search path, which includes /your/path/to/instantclient/network/admin, $ORACLE_HOME/network/admin and /etc. Alternatively set TNS_ADMIN so that $TNS_ADMIN/tnsnames.ora is read. Make sure the web daemon has read access to the file.

encoding

Oracle sunucusunun 9.2 ve üstü sürümlerini kullanırken, karakter_kümesi bağımsız değişkenini yeni bağlantıda kullanılacak bağımsız değişkene göre belirtebilirsiniz. Eğer 9.2 sürümünden daha eski bir Oracle sunucusu kullanıyorsanız bu bağımsız değişken yok sayılacak, yerine NLS_LANG ortam değişkeni kullanılacaktır.

If not specified, the Oracle Client libraries determine a character set from the NLS_LANG environment variable.

Passing this parameter can reduce the time taken to connect.

session_mode

This parameter is available since version PHP 5 (PECL OCI8 1.1) and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

PHP 5.3 (PECL OCI8 1.3.4) introduced the OCI_CRED_EXT mode value. This tells Oracle to use External or OS authentication, which must be configured in the database. The OCI_CRED_EXT flag can only be used with username of "/" and a empty password. oci8.privileged_connect may be On or Off.

OCI_CRED_EXT may be combined with the OCI_SYSOPER or OCI_SYSDBA modes.

OCI_CRED_EXT is not supported on Windows for security reasons.

Dönen Değerler

Returns a connection identifier or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | connection_string is now nullable.

Örnekler

The following demonstrates how you can separate connections.

Örnek 1 oci_new_connect() example

<?php

// create table mytab (mycol number);

function query($name, $c)
{
echo "Querying $name\n";
$s = oci_parse($c, "select * from mytab");
oci_execute($s, OCI_NO_AUTO_COMMIT);
$row = oci_fetch_array($s, OCI_ASSOC);
if (!$row) {
echo "No rows\n";
} else {
do {
foreach ($row as $item)
echo $item . " ";
echo "\n";
} while (($row = oci_fetch_array($s, OCI_ASSOC)) != false);
}
}

$c1 = oci_connect("hr", "welcome", "localhost/orcl");
$c2 = oci_new_connect("hr", "welcome", "localhost/orcl");

$s = oci_parse($c1, "insert into mytab values(1234)");
oci_execute($s, OCI_NO_AUTO_COMMIT);

query("basic connection", $c1);
query("new connection", $c2);
oci_commit($c1);
query("new connection after commit", $c2);

// Output is:
// Querying basic connection
// 1234
// Querying new connection
// No rows
// Querying new connection after commit
// 1234

?>

See oci_connect() for further examples of parameter usage.

Ayrıca Bakınız

  • oci_connect() - Connect to an Oracle database
  • oci_pconnect() - Connect to an Oracle database using a persistent connection


Allocates and returns a new cursor (statement handle)

  • « oci_new_connect
  • oci_new_descriptor »
  • PHP Manual
  • OCI8 İşlevleri
  • Allocates and returns a new cursor (statement handle)

oci_new_cursor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_cursor — Allocates and returns a new cursor (statement handle)

Açıklama

oci_new_cursor(resource $connection): resource|false

Allocates a new statement handle on the specified connection.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

Dönen Değerler

Returns a new statement handle, or false on error.

Örnekler

Örnek 1 Binding a REF CURSOR in an Oracle stored procedure call

<?php

// Precreate:
// create or replace procedure myproc(myrc out sys_refcursor) as
// begin
// open myrc for select first_name from employees;
// end;

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$curs = oci_new_cursor($conn);
$stid = oci_parse($conn, "begin myproc(:cursbv); end;");
oci_bind_by_name($stid, ":cursbv", $curs, -1, OCI_B_CURSOR);
oci_execute($stid);

oci_execute($curs); // Execute the REF CURSOR like a normal statement id
while (($row = oci_fetch_array($curs, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
echo $row['FIRST_NAME'] . "<br />\n";
}

oci_free_statement($stid);
oci_free_statement($curs);
oci_close($conn);

?>


Initializes a new empty LOB or FILE descriptor

  • « oci_new_cursor
  • oci_num_fields »
  • PHP Manual
  • OCI8 İşlevleri
  • Initializes a new empty LOB or FILE descriptor

oci_new_descriptor

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_descriptor — Initializes a new empty LOB or FILE descriptor

Açıklama

oci_new_descriptor(resource $connection, int $type = OCI_DTYPE_LOB): ?OCILob

Allocates resources to hold descriptor or LOB locator.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

type

Valid values for type are: OCI_DTYPE_FILE, OCI_DTYPE_LOB and OCI_DTYPE_ROWID.

Dönen Değerler

Returns a new LOB or FILE descriptor on success, or null on failure.

Örnekler

Örnek 1 oci_new_descriptor() example

<?php
/* This script is designed to be called from a HTML form.
* It expects $user, $password, $table, $where, and $commitsize
* to be passed in from the form. The script then deletes
* the selected rows using the ROWID and commits after each
* set of $commitsize rows. (Use with care, there is no rollback)
*/
$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "select rowid from $table $where");
$rowid = oci_new_descriptor($conn, OCI_D_ROWID);
oci_define_by_name($stmt, "ROWID", $rowid);
oci_execute($stmt);
while (oci_fetch($stmt)) {
$nrows = oci_num_rows($stmt);
$delete = oci_parse($conn, "delete from $table where ROWID = :rid");
oci_bind_by_name($delete, ":rid", $rowid, -1, OCI_B_ROWID);
oci_execute($delete);
echo "$nrows\n";
if (($nrows % $commitsize) == 0) {
oci_commit($conn);
}
}
$nrows = oci_num_rows($stmt);
echo "$nrows deleted...\n";
oci_free_statement($stmt);
oci_close($conn);
?>
<?php
/* This script demonstrates file upload to LOB columns
* The formfield used for this example looks like this
* <form action="upload.php" method="post" enctype="multipart/form-data">
* <input type="file" name="lob_upload" />
* ...
*/
if (!isset($lob_upload) || $lob_upload == 'none'){
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
Upload file: <input type="file" name="lob_upload" /><br />
<input type="submit" value="Upload" /> - <input type="reset" value="Reset" />
</form>
<?php
} else {

// $lob_upload contains the temporary filename of the uploaded file

// see also the features section on file upload,
// if you would like to use secure uploads

$conn = oci_connect($user, $password);
$lob = oci_new_descriptor($conn, OCI_D_LOB);
$stmt = oci_parse($conn, "insert into $table (id, the_blob)
values(my_seq.NEXTVAL, EMPTY_BLOB()) returning the_blob into :the_blob");
oci_bind_by_name($stmt, ':the_blob', $lob, -1, OCI_B_BLOB);
oci_execute($stmt, OCI_DEFAULT);
if ($lob->savefile($lob_upload)){
oci_commit($conn);
echo "Blob successfully uploaded\n";
}else{
echo "Couldn't upload Blob\n";
}
$lob->free();
oci_free_statement($stmt);
oci_close($conn);
}
?>

Örnek 2 oci_new_descriptor() example

<?php
/* Calling PL/SQL stored procedures which contain clobs as input
* parameters.
* Example PL/SQL stored procedure signature is:
*
* PROCEDURE save_data
* Argument Name Type In/Out Default?
* ------------------------------ ----------------------- ------ --------
* KEY NUMBER(38) IN
* DATA CLOB IN
*
*/

$conn = oci_connect($user, $password);
$stmt = oci_parse($conn, "begin save_data(:key, :data); end;");
$clob = oci_new_descriptor($conn, OCI_D_LOB);
oci_bind_by_name($stmt, ':key', $key);
oci_bind_by_name($stmt, ':data', $clob, -1, OCI_B_CLOB);
$clob->write($data);
oci_execute($stmt, OCI_DEFAULT);
oci_commit($conn);
$clob->free();
oci_free_statement($stmt);
?>

Ayrıca Bakınız

  • oci_bind_by_name() - Binds a PHP variable to an Oracle placeholder


Returns the number of result columns in a statement

  • « oci_new_descriptor
  • oci_num_rows »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the number of result columns in a statement

oci_num_fields

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_fields — Returns the number of result columns in a statement

Açıklama

oci_num_fields(resource $statement): int

Gets the number of columns in the given statement.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

Dönen Değerler

Returns the number of columns as an int.

Örnekler

Örnek 1 oci_num_fields() example

<?php

// Create the table with:
// CREATE TABLE mytab (id NUMBER, quantity NUMBER);

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "SELECT * FROM mytab");
oci_execute($stid, OCI_DESCRIBE_ONLY); // Use OCI_DESCRIBE_ONLY if not fetching rows

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
echo oci_field_name($stid, $i) . " " . oci_field_type($stid, $i) . "<br>\n";
}

// Outputs:
// ID NUMBER
// QUANTITY NUMBER

oci_free_statement($stid);
oci_close($conn);

?>


Returns number of rows affected during statement execution

  • « oci_num_fields
  • oci_parse »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns number of rows affected during statement execution

oci_num_rows

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_num_rows — Returns number of rows affected during statement execution

Açıklama

oci_num_rows(resource $statement): int|false

Gets the number of rows affected during statement execution.

Bağımsız Değişkenler

statement

A valid OCI statement identifier.

Dönen Değerler

Returns the number of rows affected as an integer, başarısızlık durumunda false döner

Örnekler

Örnek 1 oci_num_rows() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, "create table emp2 as select * from employees");
oci_execute($stid);
echo oci_num_rows($stid) . " rows inserted.<br />\n";
oci_free_statement($stid);

$stid = oci_parse($conn, "delete from emp2");
oci_execute($stid, OCI_DEFAULT);
echo oci_num_rows($stid) . " rows deleted.<br />\n";
oci_commit($conn);
oci_free_statement($stid);

$stid = oci_parse($conn, "drop table emp2");
oci_execute($stid);
oci_free_statement($stid);

oci_close($conn);

?>

Notlar

Bilginize:

This function does not return number of rows selected! For SELECT statements this function will return the number of rows, that were fetched to the buffer with oci_fetch*() functions.


Prepares an Oracle statement for execution

  • « oci_num_rows
  • oci_password_change »
  • PHP Manual
  • OCI8 İşlevleri
  • Prepares an Oracle statement for execution

oci_parse

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_parse — Prepares an Oracle statement for execution

Açıklama

oci_parse(resource $connection, string $sql): resource|false

Prepares sql using connection and returns the statement identifier, which can be used with oci_bind_by_name(), oci_execute() and other functions.

Statement identifiers can be freed with oci_free_statement() or by setting the variable to null.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

sql

The SQL or PL/SQL statement.

SQL statements should not end with a semi-colon (";"). PL/SQL statements should end with a semi-colon (";").

Dönen Değerler

Returns a statement handle on success, or false on error.

Örnekler

Örnek 1 oci_parse() example for SQL statements

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

// Parse the statement. Note there is no final semi-colon in the SQL statement
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

Örnek 2 oci_parse() example for PL/SQL statements

<?php

/*
Before running the PHP program, create a stored procedure in
SQL*Plus or SQL Developer:

CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS
BEGIN
p2 := p1 * 2;
END;

*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$p1 = 8;

// When parsing PL/SQL programs, there should be a final semi-colon in the string
$stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;');
oci_bind_by_name($stid, ':p1', $p1);
oci_bind_by_name($stid, ':p2', $p2, 40);

oci_execute($stid);

print "$p2\n"; // prints 16

oci_free_statement($stid);
oci_close($conn);

?>

Notlar

Bilginize:

This function does not validate sql. The only way to find out if sql is a valid SQL or PL/SQL statement is to execute it.

Ayrıca Bakınız

  • oci_execute() - Executes a statement
  • oci_free_statement() - Frees all resources associated with statement or cursor


Changes password of Oracle's user

  • « oci_parse
  • oci_pconnect »
  • PHP Manual
  • OCI8 İşlevleri
  • Changes password of Oracle's user

oci_password_change

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_password_change — Changes password of Oracle's user

Açıklama

oci_password_change(
resource $connection,
string $username,
string $old_password,
string $new_password
): bool
oci_password_change(
string $database_name,
string $username,
string $old_password,
string $new_password
): resource

Changes password for user with username.

The oci_password_change() function is most useful for PHP command-line scripts, or when non-persistent connections are used throughout the PHP application.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect() or oci_pconnect().

username

The Oracle user name.

old_password

The old password.

new_password

The new password to be set.

database_name

The database name.

Dönen Değerler

When database_name is provided, oci_password_change() returns true on success, başarısızlık durumunda false döner. When connection is provided, oci_password_change() returns the connection resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_password_change() example changing the password of an already connected user

<?php

$dbase = 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
oci_password_change($c, $user, $current_pw, $new_pw);
echo "New password is : " . $new_pw . "\n";

?>

Örnek 2 oci_password_change() example of connecting and changing the password in one step

<?php

$dbase = 'localhost/orcl';
$user = 'cj';
$current_pw = 'welcome';
$new_pw = 'geelong';

$c = oci_pconnect($user, $current_pw, $dbase);
if (!$c) {
$m = oci_error();
if ($m['code'] == 28001) { // "ORA-28001: the password has expired"
// Login and reset password at the same time
$c = oci_password_change($dbase, $user, $current_pw, $new_pw);
if ($c) {
echo "New password is : " . $new_pw . "\n";
}
}
}

if (!$c) { // The original error wasn't 28001, or the password change failed
$m = oci_error();
trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}

// Use the connection $c
// ...

?>

Notlar

Bilginize:

Changing the password either with this function or directly in Oracle should be done carefully. This is because PHP applications may continue to successfully reuse persistent connections by authenticating with the old password. The best practice is to restart all web servers whenever the user password is changed.

Bilginize:

If upgrading the Oracle client libraries or the database from a release prior to 11.2.0.3 to version 11.2.0.3 or higher, oci_password_change() may give the error "ORA-1017: invalid username/password" unless both client and server versions are upgraded at the same time.

Bilginize:

The second oci_password_change() syntax is available since OCI8 version 1.1.


Connect to an Oracle database using a persistent connection

  • « oci_password_change
  • oci_register_taf_callback »
  • PHP Manual
  • OCI8 İşlevleri
  • Connect to an Oracle database using a persistent connection

oci_pconnect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_pconnect — Connect to an Oracle database using a persistent connection

Açıklama

oci_pconnect(
string $username,
string $password,
?string $connection_string = null,
string $encoding = "",
int $session_mode = OCI_DEFAULT
): resource|false

Creates a persistent connection to an Oracle server and logs on.

Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application will have a single persistent connection open against an Oracle server per Apache child process (or PHP FPM process). See the OCI8 Connection Handling and Connection Pooling section for more information.

Bağımsız Değişkenler

username

The Oracle user name.

password

The password for username.

connection_string

Bağlanılacak Oracle nesnesini içerir. Ya » Easy Connect dizgesi, veya tnsnames.ora dosyasındaki Connect Name ya da yerel Oracle nesnesi olabilir.

Belirtilmezse ya da null verilirse, PHP bağlanacağı Oracle nesnesini saptamak için TWO_TASK (Linux) veya LOCAL (Windows) ve ORACLE_SID gibi ortam değişkenlerini kullanır.

To use the Easy Connect naming method, PHP must be linked with Oracle 10g or greater Client libraries. The Easy Connect string for Oracle 10g is of the form: [//]host_name[:port][/service_name]. With Oracle [//]host_name[:port][/service_name]. From Oracle 11g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. Futher options were introduced with Oracle 19c, including timeout and keep-alive settings. Refer to Oracle documentation. Service names can be found by running the Oracle utility lsnrctl status on the database servermachine.

The tnsnames.ora file can be in the Oracle Net search path, which includes /your/path/to/instantclient/network/admin, $ORACLE_HOME/network/admin and /etc. Alternatively set TNS_ADMIN so that $TNS_ADMIN/tnsnames.ora is read. Make sure the web daemon has read access to the file.

encoding

Oracle sunucusunun 9.2 ve üstü sürümlerini kullanırken, karakter_kümesi bağımsız değişkenini yeni bağlantıda kullanılacak bağımsız değişkene göre belirtebilirsiniz. Eğer 9.2 sürümünden daha eski bir Oracle sunucusu kullanıyorsanız bu bağımsız değişken yok sayılacak, yerine NLS_LANG ortam değişkeni kullanılacaktır.

If not specified, the Oracle Client libraries determine a character set from the NLS_LANG environment variable.

Passing this parameter can reduce the time taken to connect.

session_mode

This parameter is available since version PHP 5 (PECL OCI8 1.1) and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On.

PHP 5.3 (PECL OCI8 1.3.4) introduced the OCI_CRED_EXT mode value. This tells Oracle to use External or OS authentication, which must be configured in the database. The OCI_CRED_EXT flag can only be used with username of "/" and a empty password. oci8.privileged_connect may be On or Off.

OCI_CRED_EXT may be combined with the OCI_SYSOPER or OCI_SYSDBA modes.

OCI_CRED_EXT is not supported on Windows for security reasons.

Dönen Değerler

Returns a connection identifier or false on error.

Örnekler

Örnek 1 Basic oci_pconnect() Example using Easy Connect syntax

<?php

// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_pconnect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

See oci_connect() for further examples of parameter usage.

Notlar

Bilginize: The lifetime and maximum number of persistent Oracle connections per PHP process can be tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.

Ayrıca Bakınız

  • oci_connect() - Connect to an Oracle database
  • oci_new_connect() - Connect to the Oracle server using a unique connection


Register a user-defined callback function for Oracle Database TAF

  • « oci_pconnect
  • oci_result »
  • PHP Manual
  • OCI8 İşlevleri
  • Register a user-defined callback function for Oracle Database TAF

oci_register_taf_callback

(PHP 7.0 >= 7.0.21, PHP 8, PHP 7 >= 7.1.7, PHP 8, PECL OCI8 >= 2.1.7)

oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF

Açıklama

oci_register_taf_callback(resource $connection, ?callable $callback): bool

Registers a user-defined callback function to connection. If connection fails due to instance or network failure, the registered callback function will be invoked for several times during failover. See OCI8 Transparent Application Failover (TAF) Support for information.

When oci_register_taf_callback() is called multiple times, each registration overwrites the previous one.

Use oci_unregister_taf_callback() to explicitly unregister a user-defined callback.

TAF callback registration will NOT be saved across persistent connections, therefore the callback needs to be re-registered for a new persistent connection.

Bağımsız Değişkenler

connection

An Oracle connection identifier.

callback

A user-defined callback to register for Oracle TAF. It can be a string of the function name or a Closure (anonymous function).

The interface of a TAF user-defined callback function is as follows:

userCallbackFn(resource $connection, int $event, int $type): int

See the parameter description and an example on OCI8 Transparent Application Failover (TAF) Support page.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • oci_unregister_taf_callback() - Unregister a user-defined callback function for Oracle Database TAF


Returns field's value from the fetched row

  • « oci_register_taf_callback
  • oci_rollback »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns field's value from the fetched row

oci_result

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_result — Returns field's value from the fetched row

Açıklama

oci_result(resource $statement, string|int $column): mixed

Returns the data from column in the current row, fetched by oci_fetch().

OCI8 sürücüsü tarafından yapılan veri türü eşlemeyle ilgili ayrıntılar için sürücü tarafından desteklenen veri türleri bölümüne bakınız.

Bağımsız Değişkenler

statement

column

Can be either use the column number (1-based) or the column name. The case of the column name must be the case that Oracle meta data describes the column as, which is uppercase for columns created case insensitively.

Dönen Değerler

Returns everything as strings except for abstract types (ROWIDs, LOBs and FILEs). Returns false on error.

Örnekler

Örnek 1 oci_fetch() with oci_result()

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$sql = 'SELECT location_id, city FROM locations WHERE location_id < 1200';
$stid = oci_parse($conn, $sql);
oci_execute($stid);

while (oci_fetch($stid)) {
echo oci_result($stid, 'LOCATION_ID') . " is ";
echo oci_result($stid, 'CITY') . "<br>\n";
}

// Displays:
// 1000 is Roma
// 1100 is Venice

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci_fetch_array() - Returns the next row from a query as an associative or numeric array
  • oci_fetch_assoc() - Returns the next row from a query as an associative array
  • oci_fetch_object() - Returns the next row from a query as an object
  • oci_fetch_row() - Returns the next row from a query as a numeric array
  • oci_fetch_all() - Fetches multiple rows from a query into a two-dimensional array


Rolls back the outstanding database transaction

  • « oci_result
  • oci_server_version »
  • PHP Manual
  • OCI8 İşlevleri
  • Rolls back the outstanding database transaction

oci_rollback

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_rollback — Rolls back the outstanding database transaction

Açıklama

oci_rollback(resource $connection): bool

Reverts all uncommitted changes for the Oracle connection and ends the transaction. It releases all locks held. All Oracle SAVEPOINTS are erased.

A transaction begins when the first SQL statement that changes data is executed with oci_execute() using the OCI_NO_AUTO_COMMIT flag. Further data changes made by other statements become part of the same transaction. Data changes made in a transaction are temporary until the transaction is committed or rolled back. Other users of the database will not see the changes until they are committed.

When inserting or updating data, using transactions is recommended for relational data consistency and for performance reasons.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect() or oci_new_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 oci_rollback() example

<?php

// Insert into several tables, rolling back the changes if an error occurs

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, "INSERT INTO mysalary (id, name) VALUES (1, 'Chris')");

// The OCI_NO_AUTO_COMMIT flag tells Oracle not to commit the INSERT immediately
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

$stid = oci_parse($conn, 'INSERT INTO myschedule (startday) VALUES (12)');
$r = oci_execute($stid, OCI_NO_AUTO_COMMIT);
if (!$r) {
$e = oci_error($stid);
oci_rollback($conn); // rollback changes to both tables
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

// Commit the changes to both tables
$r = oci_commit($conn);
if (!r) {
$e = oci_error($conn);
trigger_error(htmlentities($e['message']), E_USER_ERROR);
}

?>

Örnek 2 Rolling back to a SAVEPOINT example

<?php
$stid = oci_parse($conn, 'UPDATE mytab SET id = 1111');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Create the savepoint
$stid = oci_parse($conn, 'SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

$stid = oci_parse($conn, 'UPDATE mytab SET id = 2222');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

// Use an explicit SQL statement to rollback to the savepoint
$stid = oci_parse($conn, 'ROLLBACK TO SAVEPOINT mysavepoint');
oci_execute($stid, OCI_NO_AUTO_COMMIT);

oci_commit($conn); // mytab now has id of 1111
?>

Notlar

Bilginize:

Transactions are automatically rolled back when you close the connection, or when the script ends, whichever is soonest. You need to explicitly call oci_commit() to commit the transaction.

Any call to oci_execute() that uses OCI_COMMIT_ON_SUCCESS mode explicitly or by default will commit any previous uncommitted transaction.

Any Oracle DDL statement such as CREATE or DROP will automatically commit any uncommitted transaction.

Ayrıca Bakınız

  • oci_commit() - Commits the outstanding database transaction
  • oci_execute() - Executes a statement


Returns the Oracle Database version

  • « oci_rollback
  • oci_set_action »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the Oracle Database version

oci_server_version

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_server_version — Returns the Oracle Database version

Açıklama

oci_server_version(resource $connection): string|false

Returns a string with the Oracle Database version and available options

Bağımsız Değişkenler

connection

Dönen Değerler

Returns the version information as a string or false on error.

Örnekler

Örnek 1 oci_server_version() example

<?php

$conn = oci_connect("hr", "hrpwd", "localhost/XE");
echo "Server Version: " . oci_server_version($conn);

// Displays:
// Server Version: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
// With the Partitioning, OLAP, Data Mining and Real Application Testing option

oci_close($conn);

?>

Ayrıca Bakınız

  • oci_client_version() - Returns the Oracle client library version


Sets the action name

  • « oci_server_version
  • oci_set_call_timeout »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the action name

oci_set_action

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_action — Sets the action name

Açıklama

oci_set_action(resource $connection, string $action): bool

Sets the action name for Oracle tracing.

The action name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The action name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

action

User chosen string up to 32 bytes long.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the action

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the action
oci_set_action($c, 'Friend Lookup');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the actions
// being performed:

sqlplus system/welcome
SQL> select action from v$session;

Notlar

Bilginize: Oracle version requirement

This function is available when PHP is linked with Oracle Database libraries from version 10g onwards.

İpucu

Performance

With older versions of OCI8 or the Oracle Database, the client information can be set using the Oracle DBMS_APPLICATION_INFO package. This is less efficient than using oci_set_client_info().

Dikkat

Round-trip Gotcha

Some but not all OCI8 functions cause round-trips. Round-trips to the database may not occur with queries when result caching is enabled.

Ayrıca Bakınız

  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets a millisecond timeout for database calls

  • « oci_set_action
  • oci_set_client_identifier »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets a millisecond timeout for database calls

oci_set_call_timeout

(PHP 7.2 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)

oci_set_call_timeout — Sets a millisecond timeout for database calls

Açıklama

oci_set_call_timeout(resource $connection, int $timeout): bool

Sets a timeout limiting the maxium time a database round-trip using this connection may take.

Each OCI8 operation may make zero or more calls to Oracle's client library. These internal calls may then may make zero or more round-trips to Oracle Database. If any one of those round-trips takes more than time_out milliseconds, then the operation is cancelled and an error is returned to the application.

The time_out value applies to each round-trip individually, not to the sum of all round-trips. Time spent processing in PHP OCI8 before or after the completion of each round-trip is not counted.

When a call is interrupted, Oracle will attempt to clean up the connection for reuse. This operation is allowed to run for another time_out period. Depending on the outcome of the cleanup, the connection may or may not be reusable.

When persistent connections are used, the timeout value will be retained across PHP requests.

The oci_set_call_timeout() function is available when OCI8 uses Oracle 18 (or later) Client libraries.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

timeout

The maximum time in milliseconds that any single round-trip between PHP and Oracle Database may take.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the timeout

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');
oci_set_call_timeout($conn, 5000);

?>


Sets the client identifier

  • « oci_set_call_timeout
  • oci_set_client_info »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the client identifier

oci_set_client_identifier

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_client_identifier — Sets the client identifier

Açıklama

oci_set_client_identifier(resource $connection, string $client_id): bool

Sets the client identifier used by various database components to identify lightweight application users who authenticate as the same database user.

The client identifier is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The identifier can subsequently be queried, for example with SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL. Database administration views such as V$SESSION will also contain the value. It can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing and can also be used for auditing.

The value may be retained across page requests that use the same persistent connection.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

client_id

User chosen string up to 64 bytes long.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the client identifier to the application user

<?php

// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');

// Tell Oracle who that user is
oci_set_client_identifier($c, $un);

// The next round-trip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);

// ...

?>

Notlar

Dikkat

Round-trip Gotcha

Some but not all OCI8 functions cause round-trips. Round-trips to the database may not occur with queries when result caching is enabled.

Ayrıca Bakınız

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_db_operation() - Sets the database operation


Sets the client information

  • « oci_set_client_identifier
  • oci_set_db_operation »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the client information

oci_set_client_info

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_client_info — Sets the client information

Açıklama

oci_set_client_info(resource $connection, string $client_info): bool

Sets the client information for Oracle tracing.

The client information is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The client information can subsequently be queried from database administration views such as V$SESSION.

The value may be retained across persistent connections.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

client_info

User chosen string up to 64 bytes long.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the client information

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the client information
oci_set_client_info($c, 'My Application Version 2');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the client
// information:

sqlplus system/welcome
SQL> select client_info from v$session;

Notlar

Bilginize: Oracle version requirement

This function is available when PHP is linked with Oracle Database libraries from version 10g onwards.

İpucu

Performance

With older versions of OCI8 or the Oracle Database, the client information can be set using the Oracle DBMS_APPLICATION_INFO package. This is less efficient than using oci_set_client_info().

Dikkat

Round-trip Gotcha

Some but not all OCI8 functions cause round-trips. Round-trips to the database may not occur with queries when result caching is enabled.

Ayrıca Bakınız

  • oci_set_module_name() - Sets the module name
  • oci_set_action() - Sets the action name
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets the database operation

  • « oci_set_client_info
  • oci_set_edition »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the database operation

oci_set_db_operation

(PHP 7 >= 7.2.14, PHP 8, PHP 7 >= 7.3.1, PHP 8, PECL OCI8 >= 2.2.0)

oci_set_db_operation — Sets the database operation

Açıklama

oci_set_db_operation(resource $connection, string $action): bool

Sets the DBOP for Oracle tracing.

The database operation name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when a SQL statement is executed.

The database operation can subsequently be queried from database administration views such as V$SQL_MONITOR.

The oci_set_db_operation() function is available when OCI8 uses Oracle 12 (or later) Client libraries and Oracle Database 12 (or later).

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

action

User chosen string.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the DBOP

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the operation
oci_set_db_operation($c, 'main query');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);

?>
// While the script is running, the administrator can see the database operations
// being performed:

sqlplus system/welcome
SQL> select dbop_name from v$sql_monitor;

Notlar

Dikkat

Round-trip Gotcha

Some but not all OCI8 functions cause round-trips. Round-trips to the database may not occur with queries when result caching is enabled.

Ayrıca Bakınız

  • oci_set_action() - Sets the action name
  • oci_set_module_name() - Sets the module name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier


Sets the database edition

  • « oci_set_db_operation
  • oci_set_module_name »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the database edition

oci_set_edition

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_edition — Sets the database edition

Açıklama

oci_set_edition(string $edition): bool

Sets the database "edition" of objects to be used by a subsequent connections.

Oracle Editions allow concurrent versions of applications to run using the same schema and object names. This is useful for upgrading live systems.

Call oci_set_edition() before calling
oci_connect(), oci_pconnect()
or oci_new_connect().

If an edition is set that is not valid in the database, connection will fail even if oci_set_edition() returns success.

When using persistent connections, if a connection with the requested edition setting already exists, it is reused. Otherwise, a different persistent connection is created

Bağımsız Değişkenler

edition

Oracle Database edition name previously created with the SQL "CREATE EDITION" command.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Two scripts can use different versions of myfunc() at the same time

<?php

// File 1

echo "Version 1 of application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
<?php

// File 2

echo "Version 2 of application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>

Notlar

Bilginize: Oracle version requirement

This function is available from Oracle 11gR2 onwards.

Dikkat

Persistent connections

To avoid inconsistencies and unexpected errors, do not use ALTER SESSION SET EDITION to change the edition on persistent connections.

Dikkat

DRCP Connection Pooling

To avoid inconsistencies and unexpected errors when using editions and DRCP with Oracle 11.2.0.1, keep a one-to-one correspondence between the oci8.connection_class and the edition name used by applications. Each pooled server of a given connection class should only be used with one edition. This restriction has been removed with Oracle 11.2.0.2.


Sets the module name

  • « oci_set_edition
  • oci_set_prefetch_lob »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the module name

oci_set_module_name

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_module_name — Sets the module name

Açıklama

oci_set_module_name(resource $connection, string $name): bool

Sets the module name for Oracle tracing.

The module name is registered with the database when the next 'round-trip' from PHP to the database occurs, typically when an SQL statement is executed.

The name can subsequently be queried from database administration views such as V$SESSION. It can be used for tracing and monitoring such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.

The value may be retained across persistent connections.

Bağımsız Değişkenler

connection

An Oracle connection identifier, returned by oci_connect(), oci_pconnect(), or oci_new_connect().

name

User chosen string up to 48 bytes long.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting the module name

<?php

$c = oci_connect('hr', 'welcome', 'localhost/XE');

// Record the module
oci_set_module_name($c, 'Home Page');

// Code that causes a round-trip, for example a query:
$s = oci_parse($c, 'select * from dual');
oci_execute($s);
oci_fetch_all($s, $res);

sleep(30);
?>
// While the script is running, the administrator can see the
// modules in use:

sqlplus system/welcome
SQL> select module from v$session;

Notlar

Bilginize: Oracle version requirement

This function is available when PHP is linked with Oracle Database libraries from version 10g onwards.

İpucu

Performance

With older versions of OCI8 or the Oracle Database, the client information can be set using the Oracle DBMS_APPLICATION_INFO package. This is less efficient than using oci_set_client_info().

Dikkat

Round-trip Gotcha

Some but not all OCI8 functions cause round-trips. Round-trips to the database may not occur with queries when result caching is enabled.

Ayrıca Bakınız

  • oci_set_action() - Sets the action name
  • oci_set_client_info() - Sets the client information
  • oci_set_client_identifier() - Sets the client identifier
  • oci_set_db_operation() - Sets the database operation


Sets the amount of data prefetched for each CLOB or BLOB.

  • « oci_set_module_name
  • oci_set_prefetch »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets the amount of data prefetched for each CLOB or BLOB.

oci_set_prefetch_lob

(PHP 8.2, PECL OCI8 >= 3.2)

oci_set_prefetch_lob — Sets the amount of data prefetched for each CLOB or BLOB.

Açıklama

oci_set_prefetch_lob(resource $statement, int $prefetch_lob_size): bool

Sets the internal buffer size used to fetch each CLOB or BLOB value when the implementation gets the internal Oracle LOB locator from the database after a successful query call to oci_execute() and for each subsequent internal fetch request to the database. Increasing this value can improve the performance of fetching smaller LOBs by reducing round-trips between PHP and the database. Memory usage will change.

The value affects LOBs returned as OCILob instances and also those returned using OCI_RETURN_LOBS.

Call oci_set_prefetch_lob() before calling oci_execute(). If it is not called, the value of oci8.prefetch_lob_size is used.

The LOB prefetch value should only be set with Oracle Database 12.2 or later.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

prefetch_lob_size

The number of bytes of each LOB to be prefetched, >= 0

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Changing the LOB prefetch value for a query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT myclob FROM mytable');
oci_set_prefetch_lob($stid, 100000); // Set before calling oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS+OCI_RETURN_LOBS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Ayrıca Bakınız

  • oci8.prefetch_lob_size ini option


Sets number of rows to be prefetched by queries

  • « oci_set_prefetch_lob
  • oci_statement_type »
  • PHP Manual
  • OCI8 İşlevleri
  • Sets number of rows to be prefetched by queries

oci_set_prefetch

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_set_prefetch — Sets number of rows to be prefetched by queries

Açıklama

oci_set_prefetch(resource $statement, int $rows): bool

Sets the number of rows to be buffered by the Oracle Client libraries after a successful query call to oci_execute() and for each subsequent internal fetch request to the database. For queries returning a large number of rows, performance can be significantly improved by increasing the prefetch count above the default oci8.default_prefetch value.

Prefetching is Oracle's efficient way of returning more than one data row from the database in each network request. This can result in better network and CPU utilization. The buffering of rows is internal to OCI8 and the behavior of OCI8 fetching functions is unchanged regardless of the prefetch count. For example, oci_fetch_row() will always return one row. The prefetch buffer is per-statement and is not used by re-executed statements or by other connections.

Call oci_set_prefetch() before calling oci_execute().

A tuning goal is to set the prefetch value to a reasonable size for the network and database to handle. For queries returning a very large number of rows, overall system efficiency might be better if rows are retrieved from the database in several chunks (i.e set the prefetch value smaller than the number of rows). This allows the database to handle other users' statements while the PHP script is processing the current set of rows.

Query prefetching was introduced in Oracle 8i. REF CURSOR prefetching was introduced in Oracle 11gR2 and occurs when PHP is linked with Oracle 11gR2 (or later) Client libraries. Nested cursor prefetching was introduced in Oracle 11gR2 and requires both the Oracle Client libraries and the database to be version 11gR2 or greater.

Prefetching is not supported when queries contain LONG or LOB columns. The prefetch value is ignored and single-row fetches will be used in all the situations when prefetching is not supported.

When using Oracle Database 12c, the prefetch value set by PHP can be overridden by Oracle's client oraaccess.xml configuration file. Refer to Oracle documentation for more detail.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier created by oci_parse() and executed by oci_execute(), or a REF CURSOR statement identifier.

rows

The number of rows to be prefetched, >= 0

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Changing the default prefetch value for a query

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'SELECT * FROM myverybigtable');
oci_set_prefetch($stid, 300); // Set before calling oci_execute()
oci_execute($stid);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($stid);
oci_close($conn);

?>

Örnek 2 Changing the default prefetch for a REF CURSOR fetch

<?php
/*
Create the PL/SQL stored procedure as:

CREATE OR REPLACE PROCEDURE myproc(p1 OUT SYS_REFCURSOR) AS
BEGIN
OPEN p1 FOR SELECT * FROM all_objects WHERE ROWNUM < 5000;
END;
*/

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'BEGIN myproc(:rc); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Change the prefetch before executing the cursor.
// REF CURSOR prefetching works when PHP is linked with Oracle 11gR2 or later Client libraries
oci_set_prefetch($refcur, 200);
oci_execute($refcur);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($refcur, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

oci_free_statement($refcur);
oci_free_statement($stid);
oci_close($conn);

?>

If PHP OCI8 fetches from a REF CURSOR and then passes the REF CURSOR back to a second PL/SQL procedure for further processing, then set the REF CURSOR prefetch count to 0 to avoid rows being "lost" from the result set. The prefetch value is the number of extra rows fetched in each OCI8 internal request to the database, so setting it to 0 means only fetch one row at a time.

Örnek 3 Setting the prefetch value when passing a REF CURSOR back to Oracle

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/orcl');

// get the REF CURSOR
$stid = oci_parse($conn, 'BEGIN myproc(:rc_out); END;');
$refcur = oci_new_cursor($conn);
oci_bind_by_name($stid, ':rc_out', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

// Display two rows, but don't prefetch any extra rows otherwise
// those extra rows would not be passed back to myproc_use_rc().
oci_set_prefetch($refcur, 0);
oci_execute($refcur);
$row = oci_fetch_array($refcur);
var_dump($row);
$row = oci_fetch_array($refcur);
var_dump($row);

// pass the REF CURSOR to myproc_use_rc() to do more data processing
// with the result set
$stid = oci_parse($conn, 'begin myproc_use_rc(:rc_in); end;');
oci_bind_by_name($stid, ':rc_in', $refcur, -1, OCI_B_CURSOR);
oci_execute($stid);

?>

Ayrıca Bakınız

  • oci8.default_prefetch ini option


Returns the type of a statement

  • « oci_set_prefetch
  • oci_unregister_taf_callback »
  • PHP Manual
  • OCI8 İşlevleri
  • Returns the type of a statement

oci_statement_type

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_statement_type — Returns the type of a statement

Açıklama

oci_statement_type(resource $statement): string|false

Returns a keyword identifying the type of the OCI8 statement.

Bağımsız Değişkenler

statement

A valid OCI8 statement identifier from oci_parse().

Dönen Değerler

Returns the type of statement as one of the following strings.

Statement type
Return String | Notes
ALTER |
BEGIN |
CALL |
CREATE |
DECLARE |
DELETE |
DROP |
INSERT |
SELECT |
UPDATE |
UNKNOWN |

Returns false on error.

Örnekler

Örnek 1 oci_statement_type() example

<?php

$conn = oci_connect('hr', 'welcome', 'localhost/XE');

$stid = oci_parse($conn, 'DELETE FROM departments WHERE department_id = 130;');
if (oci_statement_type($stid) == "DELETE") {
trigger_error('You are not allowed to delete from this table', E_USER_ERROR);
}
else {
oci_execute($stid); // delete the row
}

oci_free_statement($stid);
oci_close($conn);

?>


Unregister a user-defined callback function for Oracle Database TAF

  • « oci_statement_type
  • OCICollection »
  • PHP Manual
  • OCI8 İşlevleri
  • Unregister a user-defined callback function for Oracle Database TAF

oci_unregister_taf_callback

(PHP 7.0 >= 7.0.23, PHP 8, PHP 7 >= 7.1.9, PHP 8, PECL OCI8 >= 2.1.7)

oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF

Açıklama

oci_unregister_taf_callback(resource $connection): bool

Unregister the user-defined callback function registered to connection by oci_register_taf_callback(). See OCI8 Transparent Application Failover (TAF) Support for information.

Bağımsız Değişkenler

connection

An Oracle connection identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • oci_register_taf_callback() - Register a user-defined callback function for Oracle Database TAF


The OCICollection class

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

Giriş

OCI8 Collection functionality.

Bilginize:

The OCI-Collection class was renamed to OCICollection in PHP 8 OCI8 3.0.0 to align with PHP naming standards.

Sınıf Sözdizimi

class OCICollection {
/* Yöntemler */
public append(string $value): bool
public assign(OCICollection $from): bool
public assignElem(int $index, string $value): bool
public free(): bool
public getElem(int $index): string|float|null|false
public max(): int|false
public size(): int|false
public trim(int $num): bool
}

İçindekiler

  • OCICollection::append — Appends element to the collection
  • OCICollection::assign — Assigns a value to the collection from another existing collection
  • OCICollection::assignElem — Assigns a value to the element of the collection
  • OCICollection::free — Frees the resources associated with the collection object
  • OCICollection::getElem — Returns value of the element
  • OCICollection::max — Returns the maximum number of elements in the collection
  • OCICollection::size — Returns size of the collection
  • OCICollection::trim — Trims elements from the end of the collection


Appends element to the collection

  • « OCICollection
  • OCICollection::assign »
  • PHP Manual
  • OCICollection
  • Appends element to the collection

OCICollection::append

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::append — Appends element to the collection

Açıklama

public OCICollection::append(string $value): bool

Appends element to the end of the collection.

Bağımsız Değişkenler

value

The value to be added to the collection.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::assign


Assigns a value to the collection from another existing collection

  • « OCICollection::append
  • OCICollection::assignElem »
  • PHP Manual
  • OCICollection
  • Assigns a value to the collection from another existing collection

OCICollection::assign

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::assign — Assigns a value to the collection from another existing collection

Açıklama

public OCICollection::assign(OCICollection $from): bool

Assigns a value to the collection from another, previously created collection. Both collections must be created with oci_new_collection() prior to using them.

Bağımsız Değişkenler

from

An instance of OCICollection.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::append


Assigns a value to the element of the collection

  • « OCICollection::assign
  • OCICollection::free »
  • PHP Manual
  • OCICollection
  • Assigns a value to the element of the collection

OCICollection::assignElem

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::assignElem — Assigns a value to the element of the collection

Açıklama

public OCICollection::assignElem(int $index, string $value): bool

Assigns a value to the element with index index.

Bağımsız Değişkenler

index

The element index. First index is 0.

value

Can be a string or a number.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::getElem


Frees the resources associated with the collection object

  • « OCICollection::assignElem
  • OCICollection::getElem »
  • PHP Manual
  • OCICollection
  • Frees the resources associated with the collection object

OCICollection::free

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::free — Frees the resources associated with the collection object

Açıklama

public OCICollection::free(): bool

Frees the resources associated with the collection object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • oci_new_collection


Returns value of the element

  • « OCICollection::free
  • OCICollection::max »
  • PHP Manual
  • OCICollection
  • Returns value of the element

OCICollection::getElem

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::getElem — Returns value of the element

Açıklama

public OCICollection::getElem(int $index): string|float|null|false

Returns element's value with the index index (0-based).

Bağımsız Değişkenler

index

The element index. First index is 0.

Dönen Değerler

Returns false if such element doesn't exist; null if element is null; string if element is column of a string datatype or number if element is numeric field.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::assignElem


Returns the maximum number of elements in the collection

  • « OCICollection::getElem
  • OCICollection::size »
  • PHP Manual
  • OCICollection
  • Returns the maximum number of elements in the collection

OCICollection::max

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::max — Returns the maximum number of elements in the collection

Açıklama

public OCICollection::max(): int|false

Returns the maximum number of elements in the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the maximum number as an integer, or false on errors.

If the returned value is 0, then the number of elements is not limited.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::size


Returns size of the collection

  • « OCICollection::max
  • OCICollection::trim »
  • PHP Manual
  • OCICollection
  • Returns size of the collection

OCICollection::size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::size — Returns size of the collection

Açıklama

public OCICollection::size(): int|false

Returns the size of the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of elements in the collection or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::max


Trims elements from the end of the collection

  • « OCICollection::size
  • OCILob »
  • PHP Manual
  • OCICollection
  • Trims elements from the end of the collection

OCICollection::trim

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCICollection::trim — Trims elements from the end of the collection

Açıklama

public OCICollection::trim(int $num): bool

Trims num of elements from the end of the collection.

Bağımsız Değişkenler

num

The number of elements to be trimmed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Collection class was renamed to OCICollection to align with PHP naming standards.

Ayrıca Bakınız

  • OCICollection::size


The OCILob class

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

Giriş

OCI8 LOB functionality for large binary (BLOB) and character (CLOB) objects.

Bilginize:

The OCI-Lob class was renamed to OCILob in PHP 8 and PECL OCI8 3.0.0 to align with PHP naming standards.

Sınıf Sözdizimi

class OCILob {
/* Yöntemler */
public append(OCILob $from): bool
public close(): bool
public eof(): bool
public erase(?int $offset = null, ?int $length = null): int|false
public export(string $filename, ?int $offset = null, ?int $length = null): bool
public flush(int $flag = 0): bool
public free(): bool
public getBuffering(): bool
public import(string $filename): bool
public load(): string|false
public read(int $length): string|false
public rewind(): bool
public save(string $data, int $offset = 0): bool
public seek(int $offset, int $whence = OCI_SEEK_SET): bool
public setBuffering(bool $mode): bool
public size(): int|false
public tell(): int|false
public truncate(int $length = 0): bool
public write(string $data, ?int $length = null): int|false
public writeTemporary(string $data, int $type = OCI_TEMP_CLOB): bool
}

İçindekiler

  • OCILob::append — Appends data from the large object to another large object
  • OCILob::close — Closes LOB descriptor
  • OCILob::eof — Tests for end-of-file on a large object's descriptor
  • OCILob::erase — Erases a specified portion of the internal LOB data
  • OCILob::export — Exports LOB's contents to a file
  • OCILob::flush — Flushes/writes buffer of the LOB to the server
  • OCILob::free — Frees resources associated with the LOB descriptor
  • OCILob::getBuffering — Returns current state of buffering for the large object
  • OCILob::import — Imports file data to the LOB
  • OCILob::load — Returns large object's contents
  • OCILob::read — Reads part of the large object
  • OCILob::rewind — Moves the internal pointer to the beginning of the large object
  • OCILob::save — Saves data to the large object
  • OCILob::saveFile — Takma Adı: OCILob::import
  • OCILob::seek — Sets the internal pointer of the large object
  • OCILob::setBuffering — Changes current state of buffering for the large object
  • OCILob::size — Returns size of large object
  • OCILob::tell — Returns the current position of internal pointer of large object
  • OCILob::truncate — Truncates large object
  • OCILob::write — Writes data to the large object
  • OCILob::writeTemporary — Writes a temporary large object
  • OCILob::writeToFile — Takma Adı: OCILob::export


Appends data from the large object to another large object

  • « OCILob
  • OCILob::close »
  • PHP Manual
  • OCILob
  • Appends data from the large object to another large object

OCILob::append

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::append — Appends data from the large object to another large object

Açıklama

public OCILob::append(OCILob $from): bool

Appends data from the large object to the end of another large object.

Writing to the large object with this method will fail if buffering was previously enabled. You must disable buffering before appending. You may need to flush buffers with OCILob::flush before disabling buffering.

Bağımsız Değişkenler

from

The copied LOB.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::flush
  • OCILob::setBuffering
  • OCILob::getBuffering


Closes LOB descriptor

  • « OCILob::append
  • OCILob::eof »
  • PHP Manual
  • OCILob
  • Closes LOB descriptor

OCILob::close

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::close — Closes LOB descriptor

Açıklama

public OCILob::close(): bool

Closes descriptor of LOB or FILE. This function should be used only with OCILob::writeTemporary.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::writeTemporary


Tests for end-of-file on a large object's descriptor

  • « OCILob::close
  • OCILob::erase »
  • PHP Manual
  • OCILob
  • Tests for end-of-file on a large object's descriptor

OCILob::eof

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::eof — Tests for end-of-file on a large object's descriptor

Açıklama

public OCILob::eof(): bool

Tells whether the internal pointer of large object is at the end of LOB.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if internal pointer of large object is at the end of LOB. Otherwise returns false.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Notlar

Bilginize:

This function will return an Oracle error if OCILob::setBuffering is enabled on the LOB.

Ayrıca Bakınız

  • OCILob::size


Erases a specified portion of the internal LOB data

  • « OCILob::eof
  • OCILob::export »
  • PHP Manual
  • OCILob
  • Erases a specified portion of the internal LOB data

OCILob::erase

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::erase — Erases a specified portion of the internal LOB data

Açıklama

public OCILob::erase(?int $offset = null, ?int $length = null): int|false

Erases a specified portion of the internal LOB data starting at a specified offset. If called without parameters, it erases all LOB data.

For BLOBs, erasing means that the existing LOB value is overwritten with zero-bytes. For CLOBs, the existing LOB value is overwritten with spaces.

Bağımsız Değişkenler

offset

length

Dönen Değerler

Returns the actual number of characters/bytes erased başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | offset and length are now nullable.
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::truncate


Exports LOB's contents to a file

  • « OCILob::erase
  • OCILob::flush »
  • PHP Manual
  • OCILob
  • Exports LOB's contents to a file

OCILob::export

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::export — Exports LOB's contents to a file

Açıklama

public OCILob::export(string $filename, ?int $offset = null, ?int $length = null): bool

Exports LOB contents to a file.

Bağımsız Değişkenler

filename

Path to the file.

offset

Indicates from where to start exporting.

length

Indicates the length of data to be exported.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | offset and length are now nullable.
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::import


Flushes/writes buffer of the LOB to the server

  • « OCILob::export
  • OCILob::free »
  • PHP Manual
  • OCILob
  • Flushes/writes buffer of the LOB to the server

OCILob::flush

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::flush — Flushes/writes buffer of the LOB to the server

Açıklama

public OCILob::flush(int $flag = 0): bool

OCILob::flush() actually writes data to the server.

Bağımsız Değişkenler

flag

By default, resources are not freed, but using flag OCI_LOB_BUFFER_FREE you can do it explicitly. Be sure you know what you're doing - next read/write operation to the same part of LOB will involve a round-trip to the server and initialize new buffer resources. It is recommended to use OCI_LOB_BUFFER_FREE flag only when you are not going to work with the LOB anymore.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Returns false if buffering was not enabled or an error occurred.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::getBuffering
  • OCILob::setBuffering


Frees resources associated with the LOB descriptor

  • « OCILob::flush
  • OCILob::getBuffering »
  • PHP Manual
  • OCILob
  • Frees resources associated with the LOB descriptor

OCILob::free

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::free — Frees resources associated with the LOB descriptor

Açıklama

public OCILob::free(): bool

Frees resources associated with the descriptor, previously allocated with oci_new_descriptor().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Returns current state of buffering for the large object

  • « OCILob::free
  • OCILob::import »
  • PHP Manual
  • OCILob
  • Returns current state of buffering for the large object

OCILob::getBuffering

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::getBuffering — Returns current state of buffering for the large object

Açıklama

public OCILob::getBuffering(): bool

Tells whether the buffering for the large object is on or off.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns false if buffering for the large object is off and true if buffering is used.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::setBuffering


Imports file data to the LOB

  • « OCILob::getBuffering
  • OCILob::load »
  • PHP Manual
  • OCILob
  • Imports file data to the LOB

OCILob::import

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::import — Imports file data to the LOB

Açıklama

public OCILob::import(string $filename): bool

Writes data from the filename in to the current position of large object.

Bağımsız Değişkenler

filename

Path to the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::export
  • OCILob::write


Returns large object's contents

  • « OCILob::import
  • OCILob::read »
  • PHP Manual
  • OCILob
  • Returns large object's contents

OCILob::load

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::load — Returns large object's contents

Açıklama

public OCILob::load(): string|false

Returns large object's contents. As script execution is terminated when the memory_limit is reached, ensure that the LOB does not exceed this limit. In most cases it's recommended to use OCILob::read instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the contents of the object, or false on errors.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::read


Reads part of the large object

  • « OCILob::load
  • OCILob::rewind »
  • PHP Manual
  • OCILob
  • Reads part of the large object

OCILob::read

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::read — Reads part of the large object

Açıklama

public OCILob::read(int $length): string|false

Reads length of bytes (BLOB) or characters (CLOB) from the current position of LOB's internal pointer.

Reading stops when length of bytes have been read for a BLOB, when length of characters have been read for a CLOB, or when the end of the large object is reached. Internal pointer of the large object will be shifted on the amount of bytes/characters read.

Bağımsız Değişkenler

length

The length of data to read, in bytes (BLOB) or characters (CLOB). Large values will be rounded down to 1 MB.

Dönen Değerler

Returns the contents as a string, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::load
  • OCILob::write


Moves the internal pointer to the beginning of the large object

  • « OCILob::read
  • OCILob::save »
  • PHP Manual
  • OCILob
  • Moves the internal pointer to the beginning of the large object

OCILob::rewind

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::rewind — Moves the internal pointer to the beginning of the large object

Açıklama

public OCILob::rewind(): bool

Sets the internal pointer to the beginning of the large object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::seek
  • OCILob::tell


Saves data to the large object

  • « OCILob::rewind
  • OCILob::saveFile »
  • PHP Manual
  • OCILob
  • Saves data to the large object

OCILob::save

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::save — Saves data to the large object

Açıklama

public OCILob::save(string $data, int $offset = 0): bool

Saves data to the large object.

Bağımsız Değişkenler

data

The data to be saved.

offset

Can be used to indicate offset from the beginning of the large object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::write
  • OCILob::import


Takma Adı: OCILob::import

  • « OCILob::save
  • OCILob::seek »
  • PHP Manual
  • OCILob
  • Takma Adı: OCILob::import

OCILob::saveFile

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::saveFile — Takma Adı: OCILob::import()

Açıklama

Bu işlev şu işlevin takma adıdır: OCILob::import().

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Sets the internal pointer of the large object

  • « OCILob::saveFile
  • OCILob::setBuffering »
  • PHP Manual
  • OCILob
  • Sets the internal pointer of the large object

OCILob::seek

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::seek — Sets the internal pointer of the large object

Açıklama

public OCILob::seek(int $offset, int $whence = OCI_SEEK_SET): bool

Sets the internal pointer of the large object.

Bağımsız Değişkenler

offset

Indicates the amount of bytes, on which internal pointer should be moved from the position, pointed by whence.

whence

May be one of:

  • OCI_SEEK_SET - sets the position equal to offset
  • OCI_SEEK_CUR - adds offset bytes to the current position
  • OCI_SEEK_END - adds offset bytes to the end of large object (use negative value to move to a position before the end of large object)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::rewind
  • OCILob::tell
  • OCILob::eof


Changes current state of buffering for the large object

  • « OCILob::seek
  • OCILob::size »
  • PHP Manual
  • OCILob
  • Changes current state of buffering for the large object

OCILob::setBuffering

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::setBuffering — Changes current state of buffering for the large object

Açıklama

public OCILob::setBuffering(bool $mode): bool

Sets the buffering for the large object, depending on the value of the mode parameter.

Use of this function may provide performance improvements by buffering small reads and writes of LOBs by reducing the number of network round-trips and LOB versions. OCILob::flush() should be used to flush buffers, when you have finished working with the large object.

Bağımsız Değişkenler

mode

true for on and false for off.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Repeated calls to this method with the same flag will return true.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::getBuffering


Returns size of large object

  • « OCILob::setBuffering
  • OCILob::tell »
  • PHP Manual
  • OCILob
  • Returns size of large object

OCILob::size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::size — Returns size of large object

Açıklama

public OCILob::size(): int|false

Gets the size of the large object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns length of large object value başarısızlık durumunda false döner. Empty objects have zero length.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


Returns the current position of internal pointer of large object

  • « OCILob::size
  • OCILob::truncate »
  • PHP Manual
  • OCILob
  • Returns the current position of internal pointer of large object

OCILob::tell

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::tell — Returns the current position of internal pointer of large object

Açıklama

public OCILob::tell(): int|false

Gets the current position of a LOB's internal pointer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns current position of a LOB's internal pointer or false if an error occurred.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::rewind
  • OCILob::size
  • OCILob::eof


Truncates large object

  • « OCILob::tell
  • OCILob::write »
  • PHP Manual
  • OCILob
  • Truncates large object

OCILob::truncate

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::truncate — Truncates large object

Açıklama

public OCILob::truncate(int $length = 0): bool

Truncates the LOB.

Bağımsız Değişkenler

length

If provided, this method will truncate the LOB to length bytes. Otherwise, it will completely purge the LOB.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::erase


Writes data to the large object

  • « OCILob::truncate
  • OCILob::writeTemporary »
  • PHP Manual
  • OCILob
  • Writes data to the large object

OCILob::write

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::write — Writes data to the large object

Açıklama

public OCILob::write(string $data, ?int $length = null): int|false

Writes data from the parameter data into the current position of LOB's internal pointer.

Bağımsız Değişkenler

data

The data to write in the LOB.

length

If this parameter is an integer, writing will stop after length bytes have been written or the end of data is reached, whichever comes first.

Dönen Değerler

Returns the number of bytes written başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | length is now nullable.
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::read


Writes a temporary large object

  • « OCILob::write
  • OCILob::writeToFile »
  • PHP Manual
  • OCILob
  • Writes a temporary large object

OCILob::writeTemporary

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::writeTemporary — Writes a temporary large object

Açıklama

public OCILob::writeTemporary(string $data, int $type = OCI_TEMP_CLOB): bool

Creates a temporary large object and writes data to it.

You should use OCILob::close when you are done with this object.

Bağımsız Değişkenler

data

The data to write.

type

Can be one of the following:

  • OCI_TEMP_BLOB is used to create temporary BLOBs
  • OCI_TEMP_CLOB is used to create temporary CLOBs

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.

Ayrıca Bakınız

  • OCILob::close


Takma Adı: OCILob::export

  • « OCILob::writeTemporary
  • OCI8 Obsolete Aliases and Functions »
  • PHP Manual
  • OCILob
  • Takma Adı: OCILob::export

OCILob::writeToFile

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

OCILob::writeToFile — Takma Adı: OCILob::export()

Açıklama

Bu işlev şu işlevin takma adıdır: OCILob::export().

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0, PECL OCI8 3.0.0 | offset and length are now nullable.
8.0.0, PECL OCI8 3.0.0 | The OCI-Lob class was renamed to OCILob to align with PHP naming standards.


OCI8 Obsolete Aliases and Functions

İçindekiler

  • oci_internal_debug — Enables or disables internal debug output
  • ocibindbyname — Takma Adı: oci_bind_by_name
  • ocicancel — Takma Adı: oci_cancel
  • ocicloselob — Takma Adı: OCILob::close
  • ocicollappend — Takma Adı: OCICollection::append
  • ocicollassign — Takma Adı: OCICollection::assign
  • ocicollassignelem — Takma Adı: OCICollection::assignElem
  • ocicollgetelem — Takma Adı: OCICollection::getElem
  • ocicollmax — Takma Adı: OCICollection::max
  • ocicollsize — Takma Adı: OCICollection::size
  • ocicolltrim — Takma Adı: OCICollection::trim
  • ocicolumnisnull — Takma Adı: oci_field_is_null
  • ocicolumnname — Takma Adı: oci_field_name
  • ocicolumnprecision — Takma Adı: oci_field_precision
  • ocicolumnscale — Takma Adı: oci_field_scale
  • ocicolumnsize — Takma Adı: oci_field_size
  • ocicolumntype — Takma Adı: oci_field_type
  • ocicolumntyperaw — Takma Adı: oci_field_type_raw
  • ocicommit — Takma Adı: oci_commit
  • ocidefinebyname — Takma Adı: oci_define_by_name
  • ocierror — Takma Adı: oci_error
  • ociexecute — Takma Adı: oci_execute
  • ocifetch — Takma Adı: oci_fetch
  • ocifetchinto — Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row
  • ocifetchstatement — Takma Adı: oci_fetch_all
  • ocifreecollection — Takma Adı: OCICollection::free
  • ocifreecursor — Takma Adı: oci_free_statement
  • ocifreedesc — Takma Adı: OCILob::free
  • ocifreestatement — Takma Adı: oci_free_statement
  • ociinternaldebug — Takma Adı: oci_internal_debug
  • ociloadlob — Takma Adı: OCILob::load
  • ocilogoff — Takma Adı: oci_close
  • ocilogon — Takma Adı: oci_connect
  • ocinewcollection — Takma Adı: oci_new_collection
  • ocinewcursor — Takma Adı: oci_new_cursor
  • ocinewdescriptor — Takma Adı: oci_new_descriptor
  • ocinlogon — Takma Adı: oci_new_connect
  • ocinumcols — Takma Adı: oci_num_fields
  • ociparse — Takma Adı: oci_parse
  • ociplogon — Takma Adı: oci_pconnect
  • ociresult — Takma Adı: oci_result
  • ocirollback — Takma Adı: oci_rollback
  • ocirowcount — Takma Adı: oci_num_rows
  • ocisavelob — Takma Adı: OCILob::save
  • ocisavelobfile — Takma Adı: OCILob::import
  • ociserverversion — Takma Adı: oci_server_version
  • ocisetprefetch — Takma Adı: oci_set_prefetch
  • ocistatementtype — Takma Adı: oci_statement_type
  • ociwritelobtofile — Takma Adı: OCILob::export
  • ociwritetemporarylob — Takma Adı: OCILob::writeTemporary


Enables or disables internal debug output

  • « OCI8 Obsolete Aliases and Functions
  • ocibindbyname »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Enables or disables internal debug output

oci_internal_debug

(PHP 5, PHP 7, PECL OCI8 >= 1.1.0, PECL OCI8 <= 2.2.0)

oci_internal_debug — Enables or disables internal debug output

Açıklama

oci_internal_debug(bool $onoff): void

Enables or disables internal debug output.

Bağımsız Değişkenler

onoff

Set this to false to turn debug output off or true to turn it on.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

This function was removed in PHP 8 and PECL OCI8 3.0.


Takma Adı: oci_bind_by_name

  • « oci_internal_debug
  • ocicancel »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_bind_by_name

ocibindbyname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocibindbyname — Takma Adı: oci_bind_by_name()

Açıklama

Takma Adı: oci_bind_by_name()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_cancel

  • « ocibindbyname
  • ocicloselob »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_cancel

ocicancel

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicancel — Takma Adı: oci_cancel()

Açıklama

Takma Adı: oci_cancel()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::close

  • « ocicancel
  • ocicollappend »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::close

ocicloselob

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 1.0)

ocicloselob — Takma Adı: OCILob::close()

Açıklama

Takma Adı: OCILob::close()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::append

  • « ocicloselob
  • ocicollassign »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::append

ocicollappend

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollappend — Takma Adı: OCICollection::append()

Açıklama

Takma Adı: OCICollection::append()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::assign

  • « ocicollappend
  • ocicollassignelem »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::assign

ocicollassign

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 >= 1.0.0)

ocicollassign — Takma Adı: OCICollection::assign()

Açıklama

Takma Adı: OCICollection::assign()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::assignElem

  • « ocicollassign
  • ocicollgetelem »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::assignElem

ocicollassignelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollassignelem — Takma Adı: OCICollection::assignElem()

Açıklama

Takma Adı: OCICollection::assignElem()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::getElem

  • « ocicollassignelem
  • ocicollmax »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::getElem

ocicollgetelem

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollgetelem — Takma Adı: OCICollection::getElem()

Açıklama

Takma Adı: OCICollection::getElem()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::max

  • « ocicollgetelem
  • ocicollsize »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::max

ocicollmax

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollmax — Takma Adı: OCICollection::max()

Açıklama

Takma Adı: OCICollection::max()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::size

  • « ocicollmax
  • ocicolltrim »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::size

ocicollsize

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicollsize — Takma Adı: OCICollection::size()

Açıklama

Takma Adı: OCICollection::size()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::trim

  • « ocicollsize
  • ocicolumnisnull »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::trim

ocicolltrim

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolltrim — Takma Adı: OCICollection::trim()

Açıklama

Takma Adı: OCICollection::trim()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_is_null

  • « ocicolltrim
  • ocicolumnname »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_is_null

ocicolumnisnull

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnisnull — Takma Adı: oci_field_is_null()

Açıklama

Takma Adı: oci_field_is_null()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_name

  • « ocicolumnisnull
  • ocicolumnprecision »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_name

ocicolumnname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnname — Takma Adı: oci_field_name()

Açıklama

Takma Adı: oci_field_name()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_precision

  • « ocicolumnname
  • ocicolumnscale »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_precision

ocicolumnprecision

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnprecision — Takma Adı: oci_field_precision()

Açıklama

Takma Adı: oci_field_precision()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_scale

  • « ocicolumnprecision
  • ocicolumnsize »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_scale

ocicolumnscale

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnscale — Takma Adı: oci_field_scale()

Açıklama

Takma Adı: oci_field_scale()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_size

  • « ocicolumnscale
  • ocicolumntype »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_size

ocicolumnsize

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumnsize — Takma Adı: oci_field_size()

Açıklama

Takma Adı: oci_field_size()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_type

  • « ocicolumnsize
  • ocicolumntyperaw »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_type

ocicolumntype

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumntype — Takma Adı: oci_field_type()

Açıklama

Takma Adı: oci_field_type()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_field_type_raw

  • « ocicolumntype
  • ocicommit »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_field_type_raw

ocicolumntyperaw

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicolumntyperaw — Takma Adı: oci_field_type_raw()

Açıklama

Takma Adı: oci_field_type_raw()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_commit

  • « ocicolumntyperaw
  • ocidefinebyname »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_commit

ocicommit

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocicommit — Takma Adı: oci_commit()

Açıklama

Takma Adı: oci_commit()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_define_by_name

  • « ocicommit
  • ocierror »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_define_by_name

ocidefinebyname

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocidefinebyname — Takma Adı: oci_define_by_name()

Açıklama

Takma Adı: oci_define_by_name()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_error

  • « ocidefinebyname
  • ociexecute »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_error

ocierror

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocierror — Takma Adı: oci_error()

Açıklama

Takma Adı: oci_error()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_execute

  • « ocierror
  • ocifetch »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_execute

ociexecute

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociexecute — Takma Adı: oci_execute()

Açıklama

Takma Adı: oci_execute()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_fetch

  • « ociexecute
  • ocifetchinto »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_fetch

ocifetch

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetch — Takma Adı: oci_fetch()

Açıklama

Takma Adı: oci_fetch()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row

  • « ocifetch
  • ocifetchstatement »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row

ocifetchinto

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetchinto — Obsolete variant of oci_fetch_array(), oci_fetch_object(), oci_fetch_assoc() and oci_fetch_row()

Açıklama

Obsolete variant of oci_fetch_array(), oci_fetch_object(),
  oci_fetch_assoc() and
  oci_fetch_row()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_fetch_all

  • « ocifetchinto
  • ocifreecollection »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_fetch_all

ocifetchstatement

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifetchstatement — Takma Adı: oci_fetch_all()

Açıklama

Takma Adı: oci_fetch_all()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCICollection::free

  • « ocifetchstatement
  • ocifreecursor »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCICollection::free

ocifreecollection

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreecollection — Takma Adı: OCICollection::free()

Açıklama

Takma Adı: OCICollection::free()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_free_statement

  • « ocifreecollection
  • ocifreedesc »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_free_statement

ocifreecursor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreecursor — Takma Adı: oci_free_statement()

Açıklama

Takma Adı: oci_free_statement()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::free

  • « ocifreecursor
  • ocifreestatement »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::free

ocifreedesc

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreedesc — Takma Adı: OCILob::free()

Açıklama

Takma Adı: OCILob::free()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_free_statement

  • « ocifreedesc
  • ociinternaldebug »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_free_statement

ocifreestatement

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocifreestatement — Takma Adı: oci_free_statement()

Açıklama

Takma Adı: oci_free_statement()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_internal_debug

  • « ocifreestatement
  • ociloadlob »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_internal_debug

ociinternaldebug

(PHP 4, PHP 5, PHP 7, PECL OCI8 >= 1.0.0, PECL OCI8 <= 2.2.0)

ociinternaldebug — Takma Adı: oci_internal_debug()

Açıklama

Takma Adı: oci_internal_debug()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::load

  • « ociinternaldebug
  • ocilogoff »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::load

ociloadlob

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociloadlob — Takma Adı: OCILob::load()

Açıklama

Takma Adı: OCILob::load()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_close

  • « ociloadlob
  • ocilogon »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_close

ocilogoff

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocilogoff — Takma Adı: oci_close()

Açıklama

Takma Adı: oci_close()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_connect

  • « ocilogoff
  • ocinewcollection »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_connect

ocilogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocilogon — Takma Adı: oci_connect()

Açıklama

Takma Adı: oci_connect()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_new_collection

  • « ocilogon
  • ocinewcursor »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_new_collection

ocinewcollection

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewcollection — Takma Adı: oci_new_collection()

Açıklama

Takma Adı: oci_new_collection()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_new_cursor

  • « ocinewcollection
  • ocinewdescriptor »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_new_cursor

ocinewcursor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewcursor — Takma Adı: oci_new_cursor()

Açıklama

Takma Adı: oci_new_cursor()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_new_descriptor

  • « ocinewcursor
  • ocinlogon »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_new_descriptor

ocinewdescriptor

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinewdescriptor — Takma Adı: oci_new_descriptor()

Açıklama

Takma Adı: oci_new_descriptor()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_new_connect

  • « ocinewdescriptor
  • ocinumcols »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_new_connect

ocinlogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinlogon — Takma Adı: oci_new_connect()

Açıklama

Takma Adı: oci_new_connect()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_num_fields

  • « ocinlogon
  • ociparse »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_num_fields

ocinumcols

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocinumcols — Takma Adı: oci_num_fields()

Açıklama

Takma Adı: oci_num_fields()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_parse

  • « ocinumcols
  • ociplogon »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_parse

ociparse

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociparse — Takma Adı: oci_parse()

Açıklama

Takma Adı: oci_parse()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_pconnect

  • « ociparse
  • ociresult »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_pconnect

ociplogon

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociplogon — Takma Adı: oci_pconnect()

Açıklama

Takma Adı: oci_pconnect()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_result

  • « ociplogon
  • ocirollback »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_result

ociresult

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociresult — Takma Adı: oci_result()

Açıklama

Takma Adı: oci_result()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_rollback

  • « ociresult
  • ocirowcount »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_rollback

ocirollback

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocirollback — Takma Adı: oci_rollback()

Açıklama

Takma Adı: oci_rollback()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_num_rows

  • « ocirollback
  • ocisavelob »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_num_rows

ocirowcount

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocirowcount — Takma Adı: oci_num_rows()

Açıklama

Takma Adı: oci_num_rows()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::save

  • « ocirowcount
  • ocisavelobfile »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::save

ocisavelob

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisavelob — Takma Adı: OCILob::save()

Açıklama

Takma Adı: OCILob::save()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::import

  • « ocisavelob
  • ociserverversion »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::import

ocisavelobfile

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisavelobfile — Takma Adı: OCILob::import()

Açıklama

Takma Adı: OCILob::import()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_server_version

  • « ocisavelobfile
  • ocisetprefetch »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_server_version

ociserverversion

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociserverversion — Takma Adı: oci_server_version()

Açıklama

Takma Adı: oci_server_version()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_set_prefetch

  • « ociserverversion
  • ocistatementtype »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_set_prefetch

ocisetprefetch

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocisetprefetch — Takma Adı: oci_set_prefetch()

Açıklama

Takma Adı: oci_set_prefetch()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: oci_statement_type

  • « ocisetprefetch
  • ociwritelobtofile »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: oci_statement_type

ocistatementtype

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ocistatementtype — Takma Adı: oci_statement_type()

Açıklama

Takma Adı: oci_statement_type()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::export

  • « ocistatementtype
  • ociwritetemporarylob »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::export

ociwritelobtofile

(PHP 4, PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.0.0)

ociwritelobtofile — Takma Adı: OCILob::export()

Açıklama

Takma Adı: OCILob::export()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


Takma Adı: OCILob::writeTemporary

  • « ociwritelobtofile
  • PostgreSQL »
  • PHP Manual
  • OCI8 Obsolete Aliases and Functions
  • Takma Adı: OCILob::writeTemporary

ociwritetemporarylob

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PECL OCI8 1.0)

ociwritetemporarylob — Takma Adı: OCILob::writeTemporary()

Açıklama

Takma Adı: OCILob::writeTemporary()

Uyarı

Bu takma adın kullanımı PHP 5.4.0'dan beri ÖNERİLMEMEKTEDİR. Bu takma ada kesinlikle güvenilmemelidir.


PostgreSQL

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
    • Basic usage
  • PostgreSQL İşlevleri
    • pg_affected_rows — Returns number of affected records (tuples)
    • pg_cancel_query — Cancel an asynchronous query
    • pg_client_encoding — Gets the client encoding
    • pg_close — Closes a PostgreSQL connection
    • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt
    • pg_connect — Open a PostgreSQL connection
    • pg_connection_busy — Get connection is busy or not
    • pg_connection_reset — Reset connection (reconnect)
    • pg_connection_status — Get connection status
    • pg_consume_input — Reads input on the connection
    • pg_convert — Convert associative array values into forms suitable for SQL statements
    • pg_copy_from — Insert records into a table from an array
    • pg_copy_to — Copy a table to an array
    • pg_dbname — Get the database name
    • pg_delete — Deletes records
    • pg_end_copy — Sync with PostgreSQL backend
    • pg_escape_bytea — Escape a string for insertion into a bytea field
    • pg_escape_identifier — Escape a identifier for insertion into a text field
    • pg_escape_literal — Escape a literal for insertion into a text field
    • pg_escape_string — Escape a string for query
    • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result
    • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
    • pg_fetch_all — Fetches all rows from a result as an array
    • pg_fetch_array — Fetch a row as an array
    • pg_fetch_assoc — Fetch a row as an associative array
    • pg_fetch_object — Fetch a row as an object
    • pg_fetch_result — Returns values from a result instance
    • pg_fetch_row — Get a row as an enumerated array
    • pg_field_is_null — Test if a field is SQL NULL
    • pg_field_name — Returns the name of a field
    • pg_field_num — Returns the field number of the named field
    • pg_field_prtlen — Returns the printed length
    • pg_field_size — Returns the internal storage size of the named field
    • pg_field_table — Returns the name or oid of the tables field
    • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
    • pg_field_type — Returns the type name for the corresponding field number
    • pg_flush — Flush outbound query data on the connection
    • pg_free_result — Free result memory
    • pg_get_notify — Gets SQL NOTIFY message
    • pg_get_pid — Gets the backend's process ID
    • pg_get_result — Get asynchronous query result
    • pg_host — Returns the host name associated with the connection
    • pg_insert — Insert array into table
    • pg_last_error — Get the last error message string of a connection
    • pg_last_notice — Returns the last notice message from PostgreSQL server
    • pg_last_oid — Returns the last row's OID
    • pg_lo_close — Close a large object
    • pg_lo_create — Create a large object
    • pg_lo_export — Export a large object to file
    • pg_lo_import — Import a large object from file
    • pg_lo_open — Open a large object
    • pg_lo_read_all — Reads an entire large object and send straight to browser
    • pg_lo_read — Read a large object
    • pg_lo_seek — Seeks position within a large object
    • pg_lo_tell — Returns current seek position a of large object
    • pg_lo_truncate — Truncates a large object
    • pg_lo_unlink — Delete a large object
    • pg_lo_write — Write to a large object
    • pg_meta_data — Get meta data for table
    • pg_num_fields — Returns the number of fields in a result
    • pg_num_rows — Returns the number of rows in a result
    • pg_options — Get the options associated with the connection
    • pg_parameter_status — Looks up a current parameter setting of the server
    • pg_pconnect — Open a persistent PostgreSQL connection
    • pg_ping — Ping database connection
    • pg_port — Return the port number associated with the connection
    • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion
    • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
    • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
    • pg_query — Execute a query
    • pg_result_error_field — Returns an individual field of an error report
    • pg_result_error — Get error message associated with result
    • pg_result_seek — Set internal row offset in result instance
    • pg_result_status — Get status of query result
    • pg_select — Select records
    • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
    • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion
    • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)
    • pg_send_query — Sends asynchronous query
    • pg_set_client_encoding — Set the client encoding
    • pg_set_error_context_visibility — Determines the visibility of the context's error messages returned by pg_last_error and pg_result_error
    • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error
    • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace — Enable tracing a PostgreSQL connection
    • pg_transaction_status — Returns the current in-transaction status of the server
    • pg_tty — Return the TTY name associated with the connection
    • pg_unescape_bytea — Unescape binary for bytea type
    • pg_untrace — Disable tracing of a PostgreSQL connection
    • pg_update — Update table
    • pg_version — Returns an array with client, protocol and server version (when available)
  • PgSql\Connection — The PgSql\Connection class
  • PgSql\Result — The PgSql\Result class
  • PgSql\Lob — The PgSql\Lob class


Giriş

PostgreSQL database is an Open Source product and available without cost. Postgres, developed originally in the UC Berkeley Computer Science Department, pioneered many of the object-relational concepts now becoming available in some commercial databases. It provides SQL92/SQL99 language support, transactions, referential integrity, stored procedures and type extensibility. PostgreSQL is an open source descendant of this original Berkeley code.


Gereksinimler

To use PostgreSQL support, you need PostgreSQL 6.5 or later, PostgreSQL 8.0 or later to enable all PostgreSQL module features. PostgreSQL supports many character encodings including multibyte character encoding. The current version and more information about PostgreSQL is available at » http://www.postgresql.org/ and the » PostgreSQL Documentation.


Kurulum

In order to enable PostgreSQL support, --with-pgsql[=DIR] is required when you compile PHP. DIR is the PostgreSQL base install directory, defaults to /usr/local/pgsql. If shared object module is available, PostgreSQL module may be loaded using extension directive in php.ini or dl() function.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PostgreSQL configuration options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM |
pgsql.ignore_notice | "0" | PHP_INI_ALL |
pgsql.log_notice | "0" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

pgsql.allow_persistent bool

Whether to allow persistent Postgres connections.

pgsql.max_persistent int

The maximum number of persistent Postgres connections per process.

pgsql.max_links int

The maximum number of Postgres connections per process, including persistent connections.

pgsql.auto_reset_persistent int

Detect broken persistent links with pg_pconnect(). Needs a little overhead.

pgsql.ignore_notice int

Whether or not to ignore PostgreSQL backend notices.

pgsql.log_notice int

Whether or not to log PostgreSQL backends notice messages. The PHP directive pgsql.ignore_notice must be off in order to log notice messages.


Özkaynak Türleri

Prior to PHP 8.1.0, there were two resource types used in the PostgreSQL module. The first one is the link identifier for a database connection, the second a resource which holds the result of a query.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PGSQL_LIBPQ_VERSION (string)
Short libpq version that contains only numbers and dots.
PGSQL_LIBPQ_VERSION_STR (string)
Prior to PHP 8.0.0, the long libpq version that includes compiler information. As of PHP 8.0.0, the value is identical to PGSQL_LIBPQ_VERSION, and using PGSQL_LIBPQ_VERSION_STR is deprecated.
PGSQL_ASSOC (int)
Passed to pg_fetch_array(). Return an associative array of field names and values.
PGSQL_NUM (int)
Passed to pg_fetch_array(). Return a numerically indexed array of field numbers and values.
PGSQL_BOTH (int)
Passed to pg_fetch_array(). Return an array of field values that is both numerically indexed (by field number) and associated (by field name).
PGSQL_CONNECT_FORCE_NEW (int)
Passed to pg_connect() to force the creation of a new connection, rather than re-using an existing identical connection.
PGSQL_CONNECT_ASYNC (int)
Passed to pg_connect() to create an asynchronous connection.
PGSQL_CONNECTION_AUTH_OK (int)
PGSQL_CONNECTION_AWAITING_RESPONSE (int)
PGSQL_CONNECTION_BAD (int)
Returned by pg_connection_status() indicating that the database connection is in an invalid state.
PGSQL_CONNECTION_MADE (int)
PGSQL_CONNECTION_OK (int)
Returned by pg_connection_status() indicating that the database connection is in a valid state.
PGSQL_CONNECTION_SETENV (int)
PGSQL_CONNECTION_SSL_STARTUP (int)
PGSQL_CONNECTION_STARTED (int)
PGSQL_SEEK_SET (int)
Passed to pg_lo_seek(). Seek operation is to begin from the start of the object.
PGSQL_SEEK_CUR (int)
Passed to pg_lo_seek(). Seek operation is to begin from the current position.
PGSQL_SEEK_END (int)
Passed to pg_lo_seek(). Seek operation is to begin from the end of the object.
PGSQL_EMPTY_QUERY (int)
Returned by pg_result_status(). The string sent to the server was empty.
PGSQL_COMMAND_OK (int)
Returned by pg_result_status(). Successful completion of a command returning no data.
PGSQL_TUPLES_OK (int)
Returned by pg_result_status(). Successful completion of a command returning data (such as a SELECT or SHOW).
PGSQL_COPY_OUT (int)
Returned by pg_result_status(). Copy Out (from server) data transfer started.
PGSQL_COPY_IN (int)
Returned by pg_result_status(). Copy In (to server) data transfer started.
PGSQL_BAD_RESPONSE (int)
Returned by pg_result_status(). The server's response was not understood.
PGSQL_NONFATAL_ERROR (int)
Returned by pg_result_status(). A nonfatal error (a notice or warning) occurred.
PGSQL_FATAL_ERROR (int)
Returned by pg_result_status(). A fatal error occurred.
PGSQL_TRANSACTION_IDLE (int)
Returned by pg_transaction_status(). Connection is currently idle, not in a transaction.
PGSQL_TRANSACTION_ACTIVE (int)
Returned by pg_transaction_status(). A command is in progress on the connection. A query has been sent via the connection and not yet completed.
PGSQL_TRANSACTION_INTRANS (int)
Returned by pg_transaction_status(). The connection is idle, in a transaction block.
PGSQL_TRANSACTION_INERROR (int)
Returned by pg_transaction_status(). The connection is idle, in a failed transaction block.
PGSQL_TRANSACTION_UNKNOWN (int)
Returned by pg_transaction_status(). The connection is bad.
PGSQL_DIAG_SEVERITY (int)
Passed to pg_result_error_field(). The severity; the field contents are ERROR, FATAL, or PANIC (in an error message), or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message), or a localized translation of one of these. Always present.
PGSQL_DIAG_SQLSTATE (int)
Passed to pg_result_error_field(). The SQLSTATE code for the error. The SQLSTATE code identifies the type of error that has occurred; it can be used by front-end applications to perform specific operations (such as error handling) in response to a particular database error. This field is not localizable, and is always present.
PGSQL_DIAG_MESSAGE_PRIMARY (int)
Passed to pg_result_error_field(). The primary human-readable error message (typically one line). Always present.
PGSQL_DIAG_MESSAGE_DETAIL (int)
Passed to pg_result_error_field(). Detail: an optional secondary error message carrying more detail about the problem. May run to multiple lines.
PGSQL_DIAG_MESSAGE_HINT (int)
Passed to pg_result_error_field(). Hint: an optional suggestion what to do about the problem. This is intended to differ from detail in that it offers advice (potentially inappropriate) rather than hard facts. May run to multiple lines.
PGSQL_DIAG_STATEMENT_POSITION (int)
Passed to pg_result_error_field(). A string containing a decimal integer indicating an error cursor position as an index into the original statement string. The first character has index 1, and positions are measured in characters not bytes.
PGSQL_DIAG_INTERNAL_POSITION (int)
Passed to pg_result_error_field(). This is defined the same as the PG_DIAG_STATEMENT_POSITION field, but it is used when the cursor position refers to an internally generated command rather than the one submitted by the client. The PG_DIAG_INTERNAL_QUERY field will always appear when this field appears.
PGSQL_DIAG_INTERNAL_QUERY (int)
Passed to pg_result_error_field(). The text of a failed internally-generated command. This could be, for example, a SQL query issued by a PL/pgSQL function.
PGSQL_DIAG_CONTEXT (int)
Passed to pg_result_error_field(). An indication of the context in which the error occurred. Presently this includes a call stack traceback of active procedural language functions and internally-generated queries. The trace is one entry per line, most recent first.
PGSQL_DIAG_SOURCE_FILE (int)
Passed to pg_result_error_field(). The file name of the PostgreSQL source-code location where the error was reported.
PGSQL_DIAG_SOURCE_LINE (int)
Passed to pg_result_error_field(). The line number of the PostgreSQL source-code location where the error was reported.
PGSQL_DIAG_SOURCE_FUNCTION (int)
Passed to pg_result_error_field(). The name of the PostgreSQL source-code function reporting the error.
PGSQL_DIAG_SCHEMA_NAME (int)
Available since PHP 7.3.0.
PGSQL_DIAG_TABLE_NAME (int)
Available since PHP 7.3.0.
PGSQL_DIAG_COLUMN_NAME (int)
Available since PHP 7.3.0.
PGSQL_DIAG_DATATYPE_NAME (int)
Available since PHP 7.3.0.
PGSQL_DIAG_CONSTRAINT_NAME (int)
Available since PHP 7.3.0.
PGSQL_ERRORS_TERSE (int)
Passed to pg_set_error_verbosity(). Specified that returned messages include severity, primary text, and position only; this will normally fit on a single line.
PGSQL_ERRORS_DEFAULT (int)
Passed to pg_set_error_verbosity(). The default mode produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines).
PGSQL_ERRORS_VERBOSE (int)
Passed to pg_set_error_verbosity(). The verbose mode includes all available fields.
PGSQL_NOTICE_LAST (int)
Used by pg_last_notice(). Available since PHP 7.1.0.
PGSQL_NOTICE_ALL (int)
Used by pg_last_notice(). Available since PHP 7.1.0.
PGSQL_NOTICE_CLEAR (int)
Used by pg_last_notice(). Available since PHP 7.1.0.
PGSQL_STATUS_LONG (int)
Passed to pg_result_status(). Indicates that numerical result code is desired.
PGSQL_STATUS_STRING (int)
Passed to pg_result_status(). Indicates that textual result command tag is desired.
PGSQL_CONV_IGNORE_DEFAULT (int)
Passed to pg_convert(). Ignore default values in the table during conversion.
PGSQL_CONV_FORCE_NULL (int)
Passed to pg_convert(). Use SQL NULL in place of an empty string.
PGSQL_CONV_IGNORE_NOT_NULL (int)
Passed to pg_convert(). Ignore conversion of null into SQL NOT NULL columns.
PGSQL_DML_NO_CONV (int)
Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). All parameters passed as is. Manual escape is required if parameters contain user supplied data. Use pg_escape_string() for it.
PGSQL_DML_EXEC (int)
Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Execute query by these functions.
PGSQL_DML_ASYNC (int)
Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Execute asynchronous query by these functions.
PGSQL_DML_STRING (int)
Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Return executed query string.
PGSQL_DML_ESCAPE (int)
Passed to pg_insert(), pg_select(), pg_update() and pg_delete(). Apply escape to all parameters instead of calling pg_convert() internally. This option omits meta data look up. Query could be as fast as pg_query() and pg_send_query().
PGSQL_POLLING_FAILED (int)
Returned by pg_connect_poll() to indicate that the connection attempt failed.
PGSQL_POLLING_READING (int)
Returned by pg_connect_poll() to indicate that the connection is waiting for the PostgreSQL socket to be readable.
PGSQL_POLLING_WRITING (int)
Returned by pg_connect_poll() to indicate that the connection is waiting for the PostgreSQL socket to be writable.
PGSQL_POLLING_OK (int)
Returned by pg_connect_poll() to indicate that the connection is ready to be used.
PGSQL_POLLING_ACTIVE (int)
Returned by pg_connect_poll() to indicate that the connection is currently active.
PGSQL_DIAG_SEVERITY_NONLOCALIZED (int)
The severity; the field contents are ERROR, FATAL, or PANIC (in an error message), or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message). This is identical to the PG_DIAG_SEVERITY field except that the contents are never localized. This is present only in versions 9.6 and later / PHP 7.3.0 and later.
PGSQL_SHOW_CONTEXT_NEVER (int)
To be used with pg_set_error_context_set_visibility(), the context is never shown. Available as of PHP 8.3.0.
PGSQL_SHOW_CONTEXT_ERRORS (int)
To be used with pg_set_error_context_set_visibility(), the context's fieds are included in error messages only. This is the default behaviour. Available as of PHP 8.3.0.
PGSQL_SHOW_CONTEXT_ALWAYS (int)
To be used with pg_set_error_context_set_visibility(), the context's fieds are included in error, notice and warning messages. Available as of PHP 8.3.0.
PGSQL_TRACE_SUPPRESS_TIMESTAMPS (int)
To be used with pg_trace(), the timestamp is not included in the trace's messages. Available as of PHP 8.3.0.
PGSQL_TRACE_REGRESS_MODE (int)
To be used with pg_trace(), fields such as OIDs are included in the trace's messages. Available as of PHP 8.3.0.


  • « Öntanımlı Sabitler
  • Basic usage »
  • PHP Manual
  • PostgreSQL
  • Örnekler

Örnekler

İçindekiler

  • Basic usage
  • Basic usage


Basic usage

This simple example shows how to connect, execute a query, print resulting rows and disconnect from a PostgreSQL database.

Örnek 1 PostgreSQL extension overview example

<?php
// Connecting, selecting database
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Could not connect: ' . pg_last_error());

// Performing SQL query
$query = 'SELECT * FROM authors';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());

// Printing results in HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";

// Free resultset
pg_free_result($result);

// Closing connection
pg_close($dbconn);
?>


Basic usage

These examples contain user defined functions similar to legacy MySQL functions.

Örnek 1 PostgreSQL user defined functions example

<?php
// This function should be needed, since PostgreSQL connection binds database.
function pg_list_dbs($db)
{
assert(is_resource($db));
$query = '
SELECT
d.datname as "Name",
u.usename as "Owner",
pg_encoding_to_char(d.encoding) as "Encoding"
FROM
pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid
ORDER BY 1;
';
return pg_query($db, $query);
}

// List tables.
function pg_list_tables($db)
{
assert(is_resource($db));
$query = "
SELECT
c.relname as \"Name\",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as \"Type\",
u.usename as \"Owner\"
FROM
pg_class c LEFT JOIN pg_user u ON c.relowner = u.usesysid
WHERE
c.relkind IN ('r','v','S','')
AND c.relname !~ '^pg_'
ORDER BY 1;
";
return pg_query($db, $query);
}

// See also pg_meta_data(). It returns field definition as array.
function pg_list_fields($db, $table)
{
assert(is_resource($db));
$query = "
SELECT
a.attname,
format_type(a.atttypid, a.atttypmod),
a.attnotnull,
a.atthasdef,
a.attnum
FROM
pg_class c,
pg_attribute a
WHERE
c.relname = '".$table."'
AND a.attnum > 0 AND a.attrelid = c.oid
ORDER BY a.attnum;
";
return pg_query($db, $query);
}
?>


PostgreSQL İşlevleri

Notlar

Bilginize:

Not all functions are supported by all builds. It depends on your libpq (The PostgreSQL C client library) version and how libpq is compiled. If PHP PostgreSQL extensions are missing, then it is because your libpq version does not support them.

Bilginize:

Most PostgreSQL functions accept connection as the optional first parameter. If it is not provided, the last opened connection is used. If it doesn't exist, functions return false.

Bilginize:

PostgreSQL automatically folds all identifiers (e.g. table/column names) to lower-case values at object creation time and at query time. To force the use of mixed or upper case identifiers, you must escape the identifier using double quotes ("").

Bilginize:

PostgreSQL does not have special commands for fetching database schema information (eg. all the tables in the current database). Instead, there is a standard schema named information_schema in PostgreSQL 7.4 and above containing system views with all the necessary information, in an easily queryable form. See the » PostgreSQL Documentation for full details.

İçindekiler

  • pg_affected_rows — Returns number of affected records (tuples)
  • pg_cancel_query — Cancel an asynchronous query
  • pg_client_encoding — Gets the client encoding
  • pg_close — Closes a PostgreSQL connection
  • pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt
  • pg_connect — Open a PostgreSQL connection
  • pg_connection_busy — Get connection is busy or not
  • pg_connection_reset — Reset connection (reconnect)
  • pg_connection_status — Get connection status
  • pg_consume_input — Reads input on the connection
  • pg_convert — Convert associative array values into forms suitable for SQL statements
  • pg_copy_from — Insert records into a table from an array
  • pg_copy_to — Copy a table to an array
  • pg_dbname — Get the database name
  • pg_delete — Deletes records
  • pg_end_copy — Sync with PostgreSQL backend
  • pg_escape_bytea — Escape a string for insertion into a bytea field
  • pg_escape_identifier — Escape a identifier for insertion into a text field
  • pg_escape_literal — Escape a literal for insertion into a text field
  • pg_escape_string — Escape a string for query
  • pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_fetch_all_columns — Fetches all rows in a particular result column as an array
  • pg_fetch_all — Fetches all rows from a result as an array
  • pg_fetch_array — Fetch a row as an array
  • pg_fetch_assoc — Fetch a row as an associative array
  • pg_fetch_object — Fetch a row as an object
  • pg_fetch_result — Returns values from a result instance
  • pg_fetch_row — Get a row as an enumerated array
  • pg_field_is_null — Test if a field is SQL NULL
  • pg_field_name — Returns the name of a field
  • pg_field_num — Returns the field number of the named field
  • pg_field_prtlen — Returns the printed length
  • pg_field_size — Returns the internal storage size of the named field
  • pg_field_table — Returns the name or oid of the tables field
  • pg_field_type_oid — Returns the type ID (OID) for the corresponding field number
  • pg_field_type — Returns the type name for the corresponding field number
  • pg_flush — Flush outbound query data on the connection
  • pg_free_result — Free result memory
  • pg_get_notify — Gets SQL NOTIFY message
  • pg_get_pid — Gets the backend's process ID
  • pg_get_result — Get asynchronous query result
  • pg_host — Returns the host name associated with the connection
  • pg_insert — Insert array into table
  • pg_last_error — Get the last error message string of a connection
  • pg_last_notice — Returns the last notice message from PostgreSQL server
  • pg_last_oid — Returns the last row's OID
  • pg_lo_close — Close a large object
  • pg_lo_create — Create a large object
  • pg_lo_export — Export a large object to file
  • pg_lo_import — Import a large object from file
  • pg_lo_open — Open a large object
  • pg_lo_read_all — Reads an entire large object and send straight to browser
  • pg_lo_read — Read a large object
  • pg_lo_seek — Seeks position within a large object
  • pg_lo_tell — Returns current seek position a of large object
  • pg_lo_truncate — Truncates a large object
  • pg_lo_unlink — Delete a large object
  • pg_lo_write — Write to a large object
  • pg_meta_data — Get meta data for table
  • pg_num_fields — Returns the number of fields in a result
  • pg_num_rows — Returns the number of rows in a result
  • pg_options — Get the options associated with the connection
  • pg_parameter_status — Looks up a current parameter setting of the server
  • pg_pconnect — Open a persistent PostgreSQL connection
  • pg_ping — Ping database connection
  • pg_port — Return the port number associated with the connection
  • pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_put_line — Send a NULL-terminated string to PostgreSQL backend
  • pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
  • pg_query — Execute a query
  • pg_result_error_field — Returns an individual field of an error report
  • pg_result_error — Get error message associated with result
  • pg_result_seek — Set internal row offset in result instance
  • pg_result_status — Get status of query result
  • pg_select — Select records
  • pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
  • pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)
  • pg_send_query — Sends asynchronous query
  • pg_set_client_encoding — Set the client encoding
  • pg_set_error_context_visibility — Determines the visibility of the context's error messages returned by pg_last_error and pg_result_error
  • pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error and pg_result_error
  • pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection
  • pg_trace — Enable tracing a PostgreSQL connection
  • pg_transaction_status — Returns the current in-transaction status of the server
  • pg_tty — Return the TTY name associated with the connection
  • pg_unescape_bytea — Unescape binary for bytea type
  • pg_untrace — Disable tracing of a PostgreSQL connection
  • pg_update — Update table
  • pg_version — Returns an array with client, protocol and server version (when available)


Returns number of affected records (tuples)

  • « PostgreSQL İşlevleri
  • pg_cancel_query »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns number of affected records (tuples)

pg_affected_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_affected_rows — Returns number of affected records (tuples)

Açıklama

pg_affected_rows(PgSql\Result $result): int

pg_affected_rows() returns the number of tuples (instances/records/rows) affected by INSERT, UPDATE, and DELETE queries.

Since PostgreSQL 9.0 and above, the server returns the number of SELECTed rows. Older PostgreSQL return 0 for SELECT.

Bilginize:

This function used to be called pg_cmdtuples().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

The number of rows affected by the query. If no tuple is affected, it will return 0.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_affected_rows() example

<?php
$result = pg_query($conn, "INSERT INTO authors VALUES ('Orwell', 2002, 'Animal Farm')");

$cmdtuples = pg_affected_rows($result);

echo $cmdtuples . " tuples are affected.\n";
?>

Yukarıdaki örneğin çıktısı:

1 tuples are affected.

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_num_rows() - Returns the number of rows in a result


Cancel an asynchronous query

  • « pg_affected_rows
  • pg_client_encoding »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Cancel an asynchronous query

pg_cancel_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_cancel_query — Cancel an asynchronous query

Açıklama

pg_cancel_query(PgSql\Connection $connection): bool

pg_cancel_query() cancels an asynchronous query sent with pg_send_query(), pg_send_query_params() or pg_send_execute(). You cannot cancel a query executed using pg_query().

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_cancel_query() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
}

$res1 = pg_get_result($dbconn);
echo "First call to pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 has $rows1 records\n\n";

// Cancel the currently running query. Will be the second query if it is
// still running.
pg_cancel_query($dbconn);
?>

Yukarıdaki örneğin çıktısı:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Ayrıca Bakınız

  • pg_send_query() - Sends asynchronous query
  • pg_connection_busy() - Get connection is busy or not


Gets the client encoding

  • « pg_cancel_query
  • pg_close »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Gets the client encoding

pg_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_client_encoding — Gets the client encoding

Açıklama

pg_client_encoding(?PgSql\Connection $connection = null): string

PostgreSQL supports automatic character set conversion between server and client for certain character sets. pg_client_encoding() returns the client encoding as a string. The returned string will be one of the standard PostgreSQL encoding identifiers.

Bilginize:

This function requires PostgreSQL 7.0 or higher. If libpq is compiled without multibyte encoding support, pg_client_encoding() always returns SQL_ASCII. Supported encoding depends on PostgreSQL version. Refer to the PostgreSQL Documentation supported encodings.

The function used to be called pg_clientencoding().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

The client encoding.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_client_encoding() example

<?php
// Assume $conn is a connection to a ISO-8859-1 database
$encoding = pg_client_encoding($conn);

echo "Client encoding is: ", $encoding, "\n";
?>

Yukarıdaki örneğin çıktısı:

Client encoding is: ISO-8859-1

Ayrıca Bakınız

  • pg_set_client_encoding() - Set the client encoding


Closes a PostgreSQL connection

  • « pg_client_encoding
  • pg_connect_poll »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Closes a PostgreSQL connection

pg_close

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_close — Closes a PostgreSQL connection

Açıklama

pg_close(?PgSql\Connection $connection = null): true

pg_close() closes the non-persistent connection to a PostgreSQL database associated with the given connection instance.

Bilginize:

Using pg_close() is not usually necessary, as non-persistent open connections are automatically closed at the end of the script.

If there is open PgSql\Lob instance on the connection, do not close the connection before closing all PgSql\Lob instances.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_close() example

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
or die("Could not connect");
echo "Connected successfully";
pg_close($dbconn);
?>

Yukarıdaki örneğin çıktısı:

Connected successfully

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection


Poll the status of an in-progress asynchronous PostgreSQL connection attempt

  • « pg_close
  • pg_connect »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Poll the status of an in-progress asynchronous PostgreSQL connection attempt

pg_connect_poll

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_connect_poll — Poll the status of an in-progress asynchronous PostgreSQL connection attempt

Açıklama

pg_connect_poll(PgSql\Connection $connection): int

pg_connect_poll() polls the status of a PostgreSQL connection created by calling pg_connect() with the PGSQL_CONNECT_ASYNC option.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

Returns PGSQL_POLLING_FAILED, PGSQL_POLLING_READING, PGSQL_POLLING_WRITING, PGSQL_POLLING_OK, or PGSQL_POLLING_ACTIVE.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.


Open a PostgreSQL connection

  • « pg_connect_poll
  • pg_connection_busy »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Open a PostgreSQL connection

pg_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_connect — Open a PostgreSQL connection

Açıklama

pg_connect(string $connection_string, int $flags = 0): PgSql\Connection|false

pg_connect() opens a connection to a PostgreSQL database specified by the connection_string.

If a second call is made to pg_connect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as flags.

The old syntax with multiple parameters $conn = pg_connect("host", "port", "options", "tty", "dbname") has been deprecated.

Bağımsız Değişkenler

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host, hostaddr, port, dbname (defaults to value of user), user, password, connect_timeout, options, tty (ignored), sslmode, requiressl (deprecated in favor of sslmode), and service. Which of these arguments exist depends on your PostgreSQL version.

The options parameter can be used to set command line parameters to be invoked by the server.

flags

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

If PGSQL_CONNECT_ASYNC is given, then the connection is established asynchronously. The state of the connection can then be checked via pg_connect_poll() or pg_connection_status().

Dönen Değerler

Returns an PgSql\Connection instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PgSql\Connection instance now; previously, a resource was returned.

Örnekler

Örnek 1 Using pg_connect()

<?php
$dbconn = pg_connect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_connect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_connect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_connect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password

$dbconn5 = pg_connect("host=localhost options='--client_encoding=UTF8'");
//connect to a database on "localhost" and set the command line parameter which tells the encoding is in UTF-8
?>

Ayrıca Bakınız

  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_close() - Closes a PostgreSQL connection
  • pg_host() - Returns the host name associated with the connection
  • pg_port() - Return the port number associated with the connection
  • pg_tty() - Return the TTY name associated with the connection
  • pg_options() - Get the options associated with the connection
  • pg_dbname() - Get the database name


Get connection is busy or not

  • « pg_connect
  • pg_connection_reset »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get connection is busy or not

pg_connection_busy

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_busy — Get connection is busy or not

Açıklama

pg_connection_busy(PgSql\Connection $connection): bool

pg_connection_busy() determines whether or not a connection is busy. If it is busy, a previous query is still executing. If pg_get_result() is used on the connection, it will be blocked.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

Returns true if the connection is busy, false otherwise.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_connection_busy() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
$bs = pg_connection_busy($dbconn);
if ($bs) {
echo 'connection is busy';
} else {
echo 'connection is not busy';
}
?>

Ayrıca Bakınız

  • pg_connection_status() - Get connection status
  • pg_get_result() - Get asynchronous query result


Reset connection (reconnect)

  • « pg_connection_busy
  • pg_connection_status »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Reset connection (reconnect)

pg_connection_reset

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_reset — Reset connection (reconnect)

Açıklama

pg_connection_reset(PgSql\Connection $connection): bool

pg_connection_reset() resets the connection. It is useful for error recovery.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_connection_reset() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
$dbconn2 = pg_connection_reset($dbconn);
if ($dbconn2) {
echo "reset successful\n";
} else {
echo "reset failed\n";
}
?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_connection_status() - Get connection status


Get connection status

  • « pg_connection_reset
  • pg_consume_input »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get connection status

pg_connection_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_connection_status — Get connection status

Açıklama

pg_connection_status(PgSql\Connection $connection): int

pg_connection_status() returns the status of the specified connection.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_connection_status() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
$stat = pg_connection_status($dbconn);
if ($stat === PGSQL_CONNECTION_OK) {
echo 'Connection status ok';
} else {
echo 'Connection status bad';
}
?>

Ayrıca Bakınız

  • pg_connection_busy() - Get connection is busy or not


Reads input on the connection

  • « pg_connection_status
  • pg_convert »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Reads input on the connection

pg_consume_input

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_consume_input — Reads input on the connection

Açıklama

pg_consume_input(PgSql\Connection $connection): bool

pg_consume_input() consumes any input waiting to be read from the database server.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

true if no error occurred, or false if there was an error. Note that true does not necessarily indicate that input was waiting to be read.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.


Convert associative array values into forms suitable for SQL statements

  • « pg_consume_input
  • pg_copy_from »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Convert associative array values into forms suitable for SQL statements

pg_convert

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_convert — Convert associative array values into forms suitable for SQL statements

Açıklama

pg_convert(
PgSql\Connection $connection,
string $table_name,
array $values,
int $flags = 0
): array|false

pg_convert() checks and converts the values in values into suitable values for use in an SQL statement. Precondition for pg_convert() is the existence of a table table_name which has at least as many columns as values has elements. The fieldnames in table_name must match the indices in values and the corresponding datatypes must be compatible. Returns an array with the converted values on success, false otherwise.

Bilginize:

Boolean values are accepted and converted to PostgreSQL booleans. String representations of boolean values are also supported. null is converted to PostgreSQL NULL.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table against which to convert types.

values

Data to be converted.

flags

Any number of PGSQL_CONV_IGNORE_DEFAULT, PGSQL_CONV_FORCE_NULL or PGSQL_CONV_IGNORE_NOT_NULL, combined.

Dönen Değerler

An array of converted values, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_convert() example

<?php
$dbconn = pg_connect('dbname=foo');

$tmp = array(
'author' => 'Joe Thackery',
'year' => 2005,
'title' => 'My Life, by Joe Thackery'
);

$vals = pg_convert($dbconn, 'authors', $tmp);
?>

Ayrıca Bakınız

  • pg_meta_data() - Get meta data for table
  • pg_insert() - Insert array into table
  • pg_select() - Select records
  • pg_update() - Update table
  • pg_delete() - Deletes records


Insert records into a table from an array

  • « pg_convert
  • pg_copy_to »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Insert records into a table from an array

pg_copy_from

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_copy_from — Insert records into a table from an array

Açıklama

pg_copy_from(
PgSql\Connection $connection,
string $table_name,
array $rows,
string $separator = "\t",
string $null_as = "\\\\N"
): bool

pg_copy_from() inserts records into a table from rows. It issues a COPY FROM SQL command internally to insert records.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table into which to copy the rows.

rows

An array of data to be copied into table_name. Each value in rows becomes a row in table_name. Each value in rows should be a delimited string of the values to insert into each field. Values should be linefeed terminated.

separator

The token that separates values for each field in each element of rows. Default is \t.

null_as

How SQL NULL values are represented in the rows. Default is \\N ("\\\\N").

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_copy_from() example

<?php
$db = pg_connect("dbname=publisher") or die("Could not connect");

$rows = pg_copy_to($db, $table_name);

pg_query($db, "DELETE FROM $table_name");

pg_copy_from($db, $table_name, $rows);
?>

Ayrıca Bakınız

  • pg_copy_to() - Copy a table to an array


Copy a table to an array

  • « pg_copy_from
  • pg_dbname »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Copy a table to an array

pg_copy_to

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_copy_to — Copy a table to an array

Açıklama

pg_copy_to(
PgSql\Connection $connection,
string $table_name,
string $separator = "\t",
string $null_as = "\\\\N"
): array|false

pg_copy_to() copies a table to an array. It issues COPY TO SQL command internally to retrieve records.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table from which to copy the data into rows.

separator

The token that separates values for each field in each element of rows. Default is \t.

null_as

How SQL NULL values are represented in the rows. Default is \\N ("\\\\N").

Dönen Değerler

An array with one element for each line of COPY data, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_copy_to() example

<?php
$db = pg_connect("dbname=publisher") or die("Could not connect");

$rows = pg_copy_to($db, $table_name);

pg_query($db, "DELETE FROM $table_name");

pg_copy_from($db, $table_name, $rows);
?>

Ayrıca Bakınız

  • pg_copy_from() - Insert records into a table from an array


Get the database name

  • « pg_copy_to
  • pg_delete »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get the database name

pg_dbname

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_dbname — Get the database name

Açıklama

pg_dbname(?PgSql\Connection $connection = null): string

pg_dbname() returns the name of the database that the given PostgreSQL connection instance.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the name of the database the connection is to.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_dbname() example

<?php
error_reporting(E_ALL);

pg_connect("host=localhost port=5432 dbname=mary");
echo pg_dbname(); // mary
?>


Deletes records

  • « pg_dbname
  • pg_end_copy »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Deletes records

pg_delete

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_delete — Deletes records

Açıklama

pg_delete(
PgSql\Connection $connection,
string $table_name,
array $conditions,
int $flags = PGSQL_DML_EXEC
): string|bool

pg_delete() deletes records from a table specified by the keys and values in conditions.

If flags is specified, pg_convert() is applied to conditions with the specified flags.

By default pg_delete() passes raw values. Values must be escaped or the PGSQL_DML_ESCAPE flag must be specified in flags. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column names become case sensitive.

Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These parameters should be handled according to their contexts. i.e. Escape/validate values.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table from which to delete rows.

conditions

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be deleted.

flags

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the flags then query string is returned. When PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call pg_convert() internally.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns string if PGSQL_DML_STRING is passed via flags.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_delete() example

<?php
$db = pg_connect('dbname=foo');
// This is safe somewhat, since all values are escaped.
// However PostgreSQL supports JSON/Array. These are not
// safe by neither escape nor prepared query.
$res = pg_delete($db, 'post_log', $_POST, PG_DML_ESCAPE);
if ($res) {
echo "POST data is deleted: $res\n";
} else {
echo "User must have sent wrong inputs\n";
}
?>

Ayrıca Bakınız

  • pg_convert() - Convert associative array values into forms suitable for SQL statements


Sync with PostgreSQL backend

  • « pg_delete
  • pg_escape_bytea »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Sync with PostgreSQL backend

pg_end_copy

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_end_copy — Sync with PostgreSQL backend

Açıklama

pg_end_copy(?PgSql\Connection $connection = null): bool

pg_end_copy() syncs the PostgreSQL frontend (usually a web server process) with the PostgreSQL server after doing a copy operation performed by pg_put_line(). pg_end_copy() must be issued, otherwise the PostgreSQL server may get out of sync with the frontend and will report an error.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_end_copy() example

<?php
$conn = pg_pconnect("dbname=foo");
pg_query($conn, "create table bar (a int4, b char(16), d float8)");
pg_query($conn, "copy bar from stdin");
pg_put_line($conn, "3\thello world\t4.5\n");
pg_put_line($conn, "4\tgoodbye world\t7.11\n");
pg_put_line($conn, "\\.\n");
pg_end_copy($conn);
?>

Ayrıca Bakınız

  • pg_put_line() - Send a NULL-terminated string to PostgreSQL backend


Escape a string for insertion into a bytea field

  • « pg_end_copy
  • pg_escape_identifier »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Escape a string for insertion into a bytea field

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_bytea — Escape a string for insertion into a bytea field

Açıklama

pg_escape_bytea(PgSql\Connection $connection = ?, string $data): string

pg_escape_bytea() escapes string for bytea datatype. It returns escaped string.

Bilginize:

When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

data

A string containing text or binary data to be inserted into a bytea column.

Dönen Değerler

A string containing the escaped data.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_escape_bytea() example

<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');

// Read in a binary file
$data = file_get_contents('image1.jpg');

// Escape the binary data
$escaped = pg_escape_bytea($data);

// Insert it into the database
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>

Ayrıca Bakınız

  • pg_unescape_bytea() - Unescape binary for bytea type
  • pg_escape_string() - Escape a string for query


Escape a identifier for insertion into a text field

  • « pg_escape_bytea
  • pg_escape_literal »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Escape a identifier for insertion into a text field

pg_escape_identifier

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_identifier — Escape a identifier for insertion into a text field

Açıklama

pg_escape_identifier(PgSql\Connection $connection = ?, string $data): string

pg_escape_identifier() escapes a identifier (e.g. table, field names) for querying the database. It returns an escaped identifier string for PostgreSQL server. pg_escape_identifier() adds double quotes before and after data. Users should not add double quotes. Use of this function is recommended for identifier parameters in query. For SQL literals (i.e. parameters except bytea), pg_escape_literal() or pg_escape_string() must be used. For bytea type fields, pg_escape_bytea() must be used instead.

Bilginize:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

data

A string containing text to be escaped.

Dönen Değerler

A string containing the escaped data.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_escape_identifier() example

<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');

// Escape the table name data
$escaped = pg_escape_identifier($table_name);

// Select rows from $table_name
pg_query("SELECT * FROM {$escaped};");
?>

Ayrıca Bakınız

  • pg_escape_literal() - Escape a literal for insertion into a text field
  • pg_escape_bytea() - Escape a string for insertion into a bytea field
  • pg_escape_string() - Escape a string for query


Escape a literal for insertion into a text field

  • « pg_escape_identifier
  • pg_escape_string »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Escape a literal for insertion into a text field

pg_escape_literal

(PHP 5 >= 5.4.4, PHP 7, PHP 8)

pg_escape_literal — Escape a literal for insertion into a text field

Açıklama

pg_escape_literal(PgSql\Connection $connection = ?, string $data): string

pg_escape_literal() escapes a literal for querying the PostgreSQL database. It returns an escaped literal in the PostgreSQL format. pg_escape_literal() adds quotes before and after data. Users should not add quotes. Use of this function is recommended instead of pg_escape_string(). If the type of the column is bytea, pg_escape_bytea() must be used instead. For escaping identifiers (e.g. table, field names), pg_escape_identifier() must be used.

Bilginize:

This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

data

A string containing text to be escaped.

Dönen Değerler

A string containing the escaped data.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_escape_literal() example

<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');

// Read in a text file (containing apostrophes and backslashes)
$data = file_get_contents('letter.txt');

// Escape the text data
$escaped = pg_escape_literal($data);

// Insert it into the database. Note that no quotes around {$escaped}
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', {$escaped})");
?>

Ayrıca Bakınız

  • pg_escape_identifier() - Escape a identifier for insertion into a text field
  • pg_escape_bytea() - Escape a string for insertion into a bytea field
  • pg_escape_string() - Escape a string for query


Escape a string for query

  • « pg_escape_literal
  • pg_execute »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Escape a string for query

pg_escape_string

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_string — Escape a string for query

Açıklama

pg_escape_string(PgSql\Connection $connection = ?, string $data): string

pg_escape_string() escapes a string for querying the database. It returns an escaped string in the PostgreSQL format without quotes. pg_escape_literal() is more preferred way to escape SQL parameters for PostgreSQL. addslashes() must not be used with PostgreSQL. If the type of the column is bytea, pg_escape_bytea() must be used instead. pg_escape_identifier() must be used to escape identifiers (e.g. table names, field names)

Bilginize:

This function requires PostgreSQL 7.2 or later.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

data

A string containing text to be escaped.

Dönen Değerler

A string containing the escaped data.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_escape_string() example

<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');

// Read in a text file (containing apostrophes and backslashes)
$data = file_get_contents('letter.txt');

// Escape the text data
$escaped = pg_escape_string($data);

// Insert it into the database
pg_query("INSERT INTO correspondence (name, data) VALUES ('My letter', '{$escaped}')");
?>

Ayrıca Bakınız

  • pg_escape_bytea() - Escape a string for insertion into a bytea field


Sends a request to execute a prepared statement with given parameters, and waits for the result

  • « pg_escape_string
  • pg_fetch_all_columns »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Sends a request to execute a prepared statement with given parameters, and waits for the result

pg_execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_execute — Sends a request to execute a prepared statement with given parameters, and waits for the result

Açıklama

pg_execute(PgSql\Connection $connection = ?, string $stmtname, array $params): PgSql\Result|false

Sends a request to execute a prepared statement with given parameters, and waits for the result.

pg_execute() is like pg_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. The statement must have been prepared previously in the current session. pg_execute() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The parameters are identical to pg_query_params(), except that the name of a prepared statement is given instead of a query string.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

stmtname

The name of the prepared statement to execute. if "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Uyarı

Elements are converted to strings by calling this function.

Dönen Değerler

An PgSql\Result instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_execute()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ayrıca Bakınız

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text


Fetches all rows in a particular result column as an array

  • « pg_execute
  • pg_fetch_all »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Fetches all rows in a particular result column as an array

pg_fetch_all_columns

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_fetch_all_columns — Fetches all rows in a particular result column as an array

Açıklama

pg_fetch_all_columns(PgSql\Result $result, int $field = 0): array

pg_fetch_all_columns() returns an array that contains all rows (records) in a particular column of the PgSql\Result instance.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Column number. Defaults to the first column if not specified.

Dönen Değerler

An array with all values in the result column.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_all_columns() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

// Get an array of all author names
$arr = pg_fetch_all_columns($result, 1);

var_dump($arr);

?>

Ayrıca Bakınız

  • pg_fetch_all() - Fetches all rows from a result as an array


Fetches all rows from a result as an array

  • « pg_fetch_all_columns
  • pg_fetch_array »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Fetches all rows from a result as an array

pg_fetch_all

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_fetch_all — Fetches all rows from a result as an array

Açıklama

pg_fetch_all(PgSql\Result $result, int $mode = PGSQL_ASSOC): array

pg_fetch_all() returns an array that contains all rows (records) in the PgSql\Result instance.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

mode

Dizinin nasıl indisleneceğini belirleyen seçimlik bağımsız değişken. kip bir sabit olup şu değerleri alabilir: PGSQL_ASSOC, PGSQL_NUM ve PGSQL_BOTH. PGSQL_NUM ile işlev sayısal indisli bir dizi, PGSQL_ASSOC ile ilişkisel bir dizi ve PGSQL_BOTH ile hem sayısal hem de ilişkisel indisli bir dizi döndürür.

Dönen Değerler

An array with all rows in the result. Each row is an array of field values indexed by field name.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | pg_fetch_all() will now return an empty array instead of false for result sets with zero rows.
7.1.0 | The mode parameter was added.

Örnekler

Örnek 1 PostgreSQL fetch all

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

$arr = pg_fetch_all($result);

print_r($arr);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Fred
        )

    [1] => Array
        (
            [id] => 2
            [name] => Bob
        )

)

Ayrıca Bakınız

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result instance


Fetch a row as an array

  • « pg_fetch_all
  • pg_fetch_assoc »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Fetch a row as an array

pg_fetch_array

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_array — Fetch a row as an array

Açıklama

pg_fetch_array(PgSql\Result $result, ?int $row = null, int $mode = PGSQL_BOTH): array|false

pg_fetch_array() returns an array that corresponds to the fetched row (record).

pg_fetch_array() is an extended version of pg_fetch_row(). In addition to storing the data in the numeric indices (field number) to the result array, it can also store the data using associative indices (field name). It stores both indices by default.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

pg_fetch_array() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or null, the next row is fetched.

mode

Dizinin nasıl indisleneceğini belirleyen seçimlik bağımsız değişken. kip bir sabit olup şu değerleri alabilir: PGSQL_ASSOC, PGSQL_NUM ve PGSQL_BOTH. PGSQL_NUM ile işlev sayısal indisli bir dizi, PGSQL_ASSOC ile ilişkisel bir dizi ve PGSQL_BOTH ile hem sayısal hem de ilişkisel indisli bir dizi döndürür.

Dönen Değerler

An array indexed numerically (beginning with 0) or associatively (indexed by field name), or both. Each value in the array is represented as a string. Database NULL values are returned as null.

false is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error. Fetching from the result of a query other than SELECT will also return false.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_array() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

$arr = pg_fetch_array($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Row 1 Author\n";
echo $arr[1] . " <- Row 1 E-mail\n";

// The row parameter is optional; NULL can be passed instead,
// to pass a result_type. Successive calls to pg_fetch_array
// will return the next row.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["author"] . " <- Row 2 Author\n";
echo $arr["email"] . " <- Row 2 E-mail\n";

$arr = pg_fetch_array($result);
echo $arr["author"] . " <- Row 3 Author\n";
echo $arr[1] . " <- Row 3 E-mail\n";

?>

Ayrıca Bakınız

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result instance


Fetch a row as an associative array

  • « pg_fetch_array
  • pg_fetch_object »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Fetch a row as an associative array

pg_fetch_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_fetch_assoc — Fetch a row as an associative array

Açıklama

pg_fetch_assoc(PgSql\Result $result, ?int $row = null): array|false

pg_fetch_assoc() returns an associative array that corresponds to the fetched row (records).

pg_fetch_assoc() is equivalent to calling pg_fetch_array() with PGSQL_ASSOC as the optional third parameter. It only returns an associative array. If you need the numeric indices, use pg_fetch_row().

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

pg_fetch_assoc() is NOT significantly slower than using pg_fetch_row(), and is significantly easier to use.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or null, the next row is fetched.

Dönen Değerler

An array indexed associatively (by field name). Each value in the array is represented as a string. Database NULL values are returned as null.

false is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_assoc() example

<?php
$conn = pg_connect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT id, author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

while ($row = pg_fetch_assoc($result)) {
echo $row['id'];
echo $row['author'];
echo $row['email'];
}
?>

Ayrıca Bakınız

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result instance


Fetch a row as an object

  • « pg_fetch_assoc
  • pg_fetch_result »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Fetch a row as an object

pg_fetch_object

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_object — Fetch a row as an object

Açıklama

pg_fetch_object(
PgSql\Result $result,
?int $row = null,
string $class = "stdClass",
array $constructor_args = []
): object|false

pg_fetch_object() returns an object with properties that correspond to the fetched row's field names. It can optionally instantiate an object of a specific class, and pass parameters to that class's constructor.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Speed-wise, the function is identical to pg_fetch_array(), and almost as fast as pg_fetch_row() (the difference is insignificant).

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or null, the next row is fetched.

class

The name of the class to instantiate, set the properties of and return. If not specified, a stdClass object is returned.

constructor_args

An optional array of parameters to pass to the constructor for class objects.

Dönen Değerler

An object with one attribute for each field name in the result. Database NULL values are returned as null.

false is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_object() example

<?php

$database = "store";

$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "Failed connecting to postgres database $database\n";
exit;
}

$qu = pg_query($db_conn, "SELECT * FROM books ORDER BY author");

while ($data = pg_fetch_object($qu)) {
echo $data->author . " (";
echo $data->year . "): ";
echo $data->title . "<br />";
}

pg_free_result($qu);
pg_close($db_conn);

?>

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_result() - Returns values from a result instance


Returns values from a result instance

  • « pg_fetch_object
  • pg_fetch_row »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns values from a result instance

pg_fetch_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_fetch_result — Returns values from a result instance

Açıklama

pg_fetch_result(PgSql\Result $result, int $row, mixed $field): string|false|null
pg_fetch_result(PgSql\Result $result, mixed $field): string|false|null

pg_fetch_result() returns the value of a particular row and field (column) in an PgSql\Result instance.

Bilginize:

This function used to be called pg_result().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, next row is fetched.

field

A string representing the name of the field (column) to fetch, otherwise an int representing the field number to fetch. Fields are numbered from 0 upwards.

Dönen Değerler

Boolean is returned as "t" or "f". All other types, including arrays are returned as strings formatted in the same default PostgreSQL manner that you would see in the psql program. Database NULL values are returned as null.

false is returned if row exceeds the number of rows in the set, or on any other error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";
?>

Yukarıdaki örneğin çıktısı:

First field in the second row is: 2

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array


Get a row as an enumerated array

  • « pg_fetch_result
  • pg_field_is_null »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get a row as an enumerated array

pg_fetch_row

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_fetch_row — Get a row as an enumerated array

Açıklama

pg_fetch_row(PgSql\Result $result, ?int $row = null, int $mode = PGSQL_NUM): array|false

pg_fetch_row() fetches one row of data from the result associated with the specified result instance.

Bilginize: Bu işlev NULL alanlara PHP null değerini atar.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or null, the next row is fetched.

mode

Dizinin nasıl indisleneceğini belirleyen seçimlik bağımsız değişken. kip bir sabit olup şu değerleri alabilir: PGSQL_ASSOC, PGSQL_NUM ve PGSQL_BOTH. PGSQL_NUM ile işlev sayısal indisli bir dizi, PGSQL_ASSOC ile ilişkisel bir dizi ve PGSQL_BOTH ile hem sayısal hem de ilişkisel indisli bir dizi döndürür.

Dönen Değerler

An array, indexed from 0 upwards, with each value represented as a string. Database NULL values are returned as null.

false is returned if row exceeds the number of rows in the set, there are no more rows, or on any other error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_fetch_row() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}

?>

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result instance


Test if a field is SQL NULL

  • « pg_fetch_row
  • pg_field_name »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Test if a field is SQL NULL

pg_field_is_null

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_is_null — Test if a field is SQL NULL

Açıklama

pg_field_is_null(PgSql\Result $result, int $row, mixed $field): int
pg_field_is_null(PgSql\Result $result, mixed $field): int

pg_field_is_null() tests if a field in an PgSql\Result instance is SQL NULL or not.

Bilginize:

This function used to be called pg_fieldisnull().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result to fetch. Rows are numbered from 0 upwards. If omitted, current row is fetched.

field

Field number (starting from 0) as an int or the field name as a string.

Dönen Değerler

Returns 1 if the field in the given row is SQL NULL, 0 if not. false is returned if the row is out of range, or upon any other error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_field_is_null() example

<?php
$dbconn = pg_connect("dbname=publisher") or die ("Could not connect");
$res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
if ($res) {
if (pg_field_is_null($res, 0, "year") == 1) {
echo "The value of the field year is null.\n";
}
if (pg_field_is_null($res, 0, "year") == 0) {
echo "The value of the field year is not null.\n";
}
}
?>


Returns the name of a field

  • « pg_field_is_null
  • pg_field_num »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the name of a field

pg_field_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_name — Returns the name of a field

Açıklama

pg_field_name(PgSql\Result $result, int $field): string

pg_field_name() returns the name of the field occupying the given field in the given result instance. Field numbering starts from 0.

Bilginize:

This function used to be called pg_fieldname().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Field number, starting from 0.

Dönen Değerler

The field name.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
$i = pg_num_fields($res);
for ($j = 0; $j < $i; $j++) {
echo "column $j\n";
$fieldname = pg_field_name($res, $j);
echo "fieldname: $fieldname\n";
echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
echo "field type: " . pg_field_type($res, $j) . " \n\n";
}
?>

Yukarıdaki örneğin çıktısı:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ayrıca Bakınız

  • pg_field_num() - Returns the field number of the named field


Returns the field number of the named field

  • « pg_field_name
  • pg_field_prtlen »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the field number of the named field

pg_field_num

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_num — Returns the field number of the named field

Açıklama

pg_field_num(PgSql\Result $result, string $field): int

pg_field_num() will return the number of the field number that corresponds to the field in the given result instance.

Bilginize:

This function used to be called pg_fieldnum().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

The name of the field. The given name is treated like an identifier in an SQL command, that is, it is downcased unless double-quoted.

Dönen Değerler

The field number (numbered from 0), or -1 on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "select author, year, title from authors where author = 'Orwell'");

echo "Column 'title' is field number: ", pg_field_num($res, 'title');
?>

Yukarıdaki örneğin çıktısı:

Column 'title' is field number: 2

Ayrıca Bakınız

  • pg_field_name() - Returns the name of a field


Returns the printed length

  • « pg_field_num
  • pg_field_size »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the printed length

pg_field_prtlen

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_prtlen — Returns the printed length

Açıklama

pg_field_prtlen(PgSql\Result $result, int $row_number, mixed $field_name_or_number): int
pg_field_prtlen(PgSql\Result $result, mixed $field_name_or_number): int

pg_field_prtlen() returns the actual printed length (number of characters) of a specific value in a PostgreSQL result. Row numbering starts at 0. This function will return false on an error.

field_name_or_number can be passed either as an int or as a string. If it is passed as an int, PHP recognises it as the field number, otherwise as field name.

See the example given at the pg_field_name() page.

Bilginize:

This function used to be called pg_fieldprtlen().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row number in result. Rows are numbered from 0 upwards. If omitted, current row is fetched.

Dönen Değerler

The field printed length.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
$i = pg_num_fields($res);
for ($j = 0; $j < $i; $j++) {
echo "column $j\n";
$fieldname = pg_field_name($res, $j);
echo "fieldname: $fieldname\n";
echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
echo "field type: " . pg_field_type($res, $j) . " \n\n";
}
?>

Yukarıdaki örneğin çıktısı:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ayrıca Bakınız

  • pg_field_size() - Returns the internal storage size of the named field


Returns the internal storage size of the named field

  • « pg_field_prtlen
  • pg_field_table »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the internal storage size of the named field

pg_field_size

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_size — Returns the internal storage size of the named field

Açıklama

pg_field_size(PgSql\Result $result, int $field): int

pg_field_size() returns the internal storage size (in bytes) of the field number in the given PostgreSQL result.

Bilginize:

This function used to be called pg_fieldsize().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Field number, starting from 0.

Dönen Değerler

The internal field storage size (in bytes). -1 indicates a variable length field.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "select * from authors where author = 'Orwell'");
$i = pg_num_fields($res);
for ($j = 0; $j < $i; $j++) {
echo "column $j\n";
$fieldname = pg_field_name($res, $j);
echo "fieldname: $fieldname\n";
echo "printed length: " . pg_field_prtlen($res, $fieldname) . " characters\n";
echo "storage length: " . pg_field_size($res, $j) . " bytes\n";
echo "field type: " . pg_field_type($res, $j) . " \n\n";
}
?>

Yukarıdaki örneğin çıktısı:

column 0
fieldname: author
printed length: 6 characters
storage length: -1 bytes
field type: varchar

column 1
fieldname: year
printed length: 4 characters
storage length: 2 bytes
field type: int2

column 2
fieldname: title
printed length: 24 characters
storage length: -1 bytes
field type: varchar

Ayrıca Bakınız

  • pg_field_prtlen() - Returns the printed length
  • pg_field_type() - Returns the type name for the corresponding field number


Returns the name or oid of the tables field

  • « pg_field_size
  • pg_field_type_oid »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the name or oid of the tables field

pg_field_table

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

pg_field_table — Returns the name or oid of the tables field

Açıklama

pg_field_table(PgSql\Result $result, int $field, bool $oid_only = false): string|int|false

pg_field_table() returns the name of the table that field belongs to, or the table's oid if oid_only is true.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Field number, starting from 0.

oid_only

By default the tables name that field belongs to is returned but if oid_only is set to true, then the oid will instead be returned.

Dönen Değerler

On success either the fields table name or oid, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting table information about a field

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$res = pg_query($dbconn, "SELECT bar FROM foo");

echo pg_field_table($res, 0);
echo pg_field_table($res, 0, true);

$res = pg_query($dbconn, "SELECT version()");
var_dump(pg_field_table($res, 0));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo
14379580

bool(false)

Notlar

Bilginize:

Returning the oid is much faster than returning the table name because fetching the table name requires a query to the database system table.

Ayrıca Bakınız

  • pg_field_name() - Returns the name of a field
  • pg_field_type() - Returns the type name for the corresponding field number


Returns the type ID (OID) for the corresponding field number

  • « pg_field_table
  • pg_field_type »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the type ID (OID) for the corresponding field number

pg_field_type_oid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_field_type_oid — Returns the type ID (OID) for the corresponding field number

Açıklama

pg_field_type_oid(PgSql\Result $result, int $field): string|int

pg_field_type_oid() returns an integer containing the OID of the base type of the given field in the given result instance.

You can get more information about the field type by querying PostgreSQL's pg_type system table using the OID obtained with this function. The PostgreSQL format_type() function will convert a type OID into an SQL standard type name.

Bilginize:

If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's underlying type that is returned, rather than the OID of the domain itself.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Field number, starting from 0.

Dönen Değerler

The OID of the field's base type.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Assume 'title' is a varchar type
$res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

echo "Title field type OID: ", pg_field_type_oid($res, 0);
?>

Yukarıdaki örneğin çıktısı:

Title field type OID: 1043

Ayrıca Bakınız

  • pg_field_type() - Returns the type name for the corresponding field number
  • pg_field_prtlen() - Returns the printed length
  • pg_field_name() - Returns the name of a field


Returns the type name for the corresponding field number

  • « pg_field_type_oid
  • pg_flush »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the type name for the corresponding field number

pg_field_type

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_field_type — Returns the type name for the corresponding field number

Açıklama

pg_field_type(PgSql\Result $result, int $field): string

pg_field_type() returns a string containing the base type name of the given field in the given result instance.

Bilginize:

If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's underlying type that is returned, rather than the name of the domain itself.

Bilginize:

This function used to be called pg_fieldtype().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field

Field number, starting from 0.

Dönen Değerler

A string containing the base name of the field's type.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting information about fields

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Assume 'title' is a varchar type
$res = pg_query($dbconn, "select title from authors where author = 'Orwell'");

echo "Title field type: ", pg_field_type($res, 0);
?>

Yukarıdaki örneğin çıktısı:

Title field type: varchar

Ayrıca Bakınız

  • pg_field_prtlen() - Returns the printed length
  • pg_field_name() - Returns the name of a field
  • pg_field_type_oid() - Returns the type ID (OID) for the corresponding field number


Flush outbound query data on the connection

  • « pg_field_type
  • pg_free_result »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Flush outbound query data on the connection

pg_flush

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_flush — Flush outbound query data on the connection

Açıklama

pg_flush(PgSql\Connection $connection): int|bool

pg_flush() flushes any outbound query data waiting to be sent on the connection.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

Returns true if the flush was successful or no data was waiting to be flushed, 0 if part of the pending data was flushed but more remains başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.


Free result memory

  • « pg_flush
  • pg_get_notify »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Free result memory

pg_free_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_free_result — Free result memory

Açıklama

pg_free_result(PgSql\Result $result): bool

pg_free_result() frees the memory and data associated with the specified PgSql\Result instance.

This function need only be called if memory consumption during script execution is a problem. Otherwise, all result memory will be automatically freed when the script ends.

Bilginize:

This function used to be called pg_freeresult().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_free_result() example

<?php
$db = pg_connect("dbname=users user=me") || die();

$res = pg_query($db, "SELECT 1 UNION ALL SELECT 2");

$val = pg_fetch_result($res, 1, 0);

echo "First field in the second row is: ", $val, "\n";

pg_free_result($res);
?>

Yukarıdaki örneğin çıktısı:

First field in the second row is: 2

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_query_params() - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result


Gets SQL NOTIFY message

  • « pg_free_result
  • pg_get_pid »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Gets SQL NOTIFY message

pg_get_notify

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_get_notify — Gets SQL NOTIFY message

Açıklama

pg_get_notify(PgSql\Connection $connection, int $mode = PGSQL_ASSOC): array|false

pg_get_notify() gets notifications generated by a NOTIFY SQL command. To receive notifications, the LISTEN SQL command must be issued.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

mode

Dizinin nasıl indisleneceğini belirleyen seçimlik bağımsız değişken. kip bir sabit olup şu değerleri alabilir: PGSQL_ASSOC, PGSQL_NUM ve PGSQL_BOTH. PGSQL_NUM ile işlev sayısal indisli bir dizi, PGSQL_ASSOC ile ilişkisel bir dizi ve PGSQL_BOTH ile hem sayısal hem de ilişkisel indisli bir dizi döndürür.

Dönen Değerler

An array containing the NOTIFY message name and backend PID. If supported by the server, the array also contains the server version and the payload. Otherwise if no NOTIFY is waiting, then false is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 PostgreSQL NOTIFY message

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

// Listen 'author_updated' message from other processes
pg_query($conn, 'LISTEN author_updated;');
$notify = pg_get_notify($conn);
if (!$notify) {
echo "No messages\n";
} else {
print_r($notify);
}
?>

Ayrıca Bakınız

  • pg_get_pid() - Gets the backend's process ID


Gets the backend's process ID

  • « pg_get_notify
  • pg_get_result »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Gets the backend's process ID

pg_get_pid

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_get_pid — Gets the backend's process ID

Açıklama

pg_get_pid(PgSql\Connection $connection): int

pg_get_pid() gets the backend's (database server process) PID. The PID is useful to determine whether or not a NOTIFY message received via pg_get_notify() is sent from another process or not.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

The backend database process ID.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 PostgreSQL backend PID

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

// Backend process PID. Use PID with pg_get_notify()
$pid = pg_get_pid($conn);
?>

Ayrıca Bakınız

  • pg_get_notify() - Gets SQL NOTIFY message


Get asynchronous query result

  • « pg_get_pid
  • pg_host »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get asynchronous query result

pg_get_result

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_get_result — Get asynchronous query result

Açıklama

pg_get_result(PgSql\Connection $connection): PgSql\Result|false

pg_get_result() gets an PgSql\Result instance from an asynchronous query executed by pg_send_query(), pg_send_query_params() or pg_send_execute().

pg_send_query() and the other asynchronous query functions can send multiple queries to a PostgreSQL server and pg_get_result() is used to get each query's results, one by one.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

An PgSql\Result instance, or false if no more results are available.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_get_result() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
}

$res1 = pg_get_result($dbconn);
echo "First call to pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 has $rows1 records\n\n";

$res2 = pg_get_result($dbconn);
echo "Second call to pg_get_result(): $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 has $rows2 records\n";
?>

Yukarıdaki örneğin çıktısı:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ayrıca Bakınız

  • pg_send_query() - Sends asynchronous query


Returns the host name associated with the connection

  • « pg_get_result
  • pg_insert »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the host name associated with the connection

pg_host

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_host — Returns the host name associated with the connection

Açıklama

pg_host(?PgSql\Connection $connection = null): string

pg_host() returns the host name of the given PostgreSQL connection instance is connected to.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the name of the host the connection is to, or an empty string on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_host() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
print "Successfully connected to: " . pg_host($pgsql_conn) . "<br/>\n";
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection


Insert array into table

  • « pg_host
  • pg_last_error »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Insert array into table

pg_insert

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_insert — Insert array into table

Açıklama

pg_insert(
PgSql\Connection $connection,
string $table_name,
array $values,
int $flags = PGSQL_DML_EXEC
): PgSql\Result|string|bool

pg_insert() inserts the values of values into the table specified by table_name.

If flags is specified, pg_convert() is applied to values with the specified flags.

By default pg_insert() passes raw values. Values must be escaped or the PGSQL_DML_ESCAPE flag must be specified in flags. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column names become case sensitive.

Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These parameters should be handled according to their contexts. i.e. Escape/validate values.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table into which to insert rows. The table table_name must at least have as many columns as values has elements.

values

An array whose keys are field names in the table table_name, and whose values are the values of those fields that are to be inserted.

flags

Any number of PGSQL_CONV_OPTS, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the flags then query string is returned. When PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call pg_convert() internally.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.. Or returns a string on success if PGSQL_DML_STRING is passed via flags.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_insert() example

<?php
$dbconn = pg_connect('dbname=foo');
// This is safe somewhat, since all values are escaped.
// However PostgreSQL supports JSON/Array. These are not
// safe by neither escape nor prepared query.
$res = pg_insert($dbconn, 'post_log', $_POST, PGSQL_DML_ESCAPE);
if ($res) {
echo "POST data is successfully logged\n";
} else {
echo "User must have sent wrong inputs\n";
}
?>

Ayrıca Bakınız

  • pg_convert() - Convert associative array values into forms suitable for SQL statements


Get the last error message string of a connection

  • « pg_insert
  • pg_last_notice »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get the last error message string of a connection

pg_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_error — Get the last error message string of a connection

Açıklama

pg_last_error(?PgSql\Connection $connection = null): string

pg_last_error() returns the last error message for a given connection.

Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return an appropriate error message if multiple errors occur inside a PostgreSQL module function.

Use pg_result_error(), pg_result_error_field(),
pg_result_status() and
pg_connection_status() for better error handling.

Bilginize:

This function used to be called pg_errormessage().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the last error message on the given connection.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_last_error() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Query that fails
$res = pg_query($dbconn, "select * from doesnotexist");

echo pg_last_error($dbconn);
?>

Ayrıca Bakınız

  • pg_result_error() - Get error message associated with result
  • pg_result_error_field() - Returns an individual field of an error report


Returns the last notice message from PostgreSQL server

  • « pg_last_error
  • pg_last_oid »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the last notice message from PostgreSQL server

pg_last_notice

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

pg_last_notice — Returns the last notice message from PostgreSQL server

Açıklama

pg_last_notice(PgSql\Connection $connection, int $mode = PGSQL_NOTICE_LAST): array|string|bool

pg_last_notice() returns the last notice message from the PostgreSQL server on the specified connection. The PostgreSQL server sends notice messages in several cases, for instance when creating a SERIAL column in a table.

With pg_last_notice(), you can avoid issuing useless queries by checking whether or not the notice is related to your transaction.

Notice message tracking can be set to optional by setting 1 for pgsql.ignore_notice in php.ini.

Notice message logging can be set to optional by setting 0 for pgsql.log_notice in php.ini. Unless pgsql.ignore_notice is set to 0, notice message cannot be logged.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

mode

One of PGSQL_NOTICE_LAST (to return last notice), PGSQL_NOTICE_ALL (to return all notices), or PGSQL_NOTICE_CLEAR (to clear notices).

Dönen Değerler

A string containing the last notice on the given connection with PGSQL_NOTICE_LAST, an array with PGSQL_NOTICE_ALL, a bool with PGSQL_NOTICE_CLEAR.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
7.1.0 | The mode parameter was added.

Örnekler

Örnek 1 pg_last_notice() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

$res = pg_query("CREATE TABLE test (id SERIAL)");

$notice = pg_last_notice($pgsql_conn);

echo $notice;
?>

Yukarıdaki örneğin çıktısı:

CREATE TABLE will create implicit sequence "test_id_seq" for "serial" column "test.id"

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_last_error() - Get the last error message string of a connection


Returns the last row's OID

  • « pg_last_notice
  • pg_lo_close »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the last row's OID

pg_last_oid

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_last_oid — Returns the last row's OID

Açıklama

pg_last_oid(PgSql\Result $result): string|int|false

pg_last_oid() is used to retrieve the OID assigned to an inserted row.

OID field became an optional field from PostgreSQL 7.2 and will not be present by default in PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use pg_result_status() to check for successful insertion.

To get the value of a SERIAL field in an inserted row, it is necessary to use the PostgreSQL CURRVAL function, naming the sequence whose last value is required. If the name of the sequence is unknown, the pg_get_serial_sequence PostgreSQL 8.0 function is necessary.

PostgreSQL 8.1 has a function LASTVAL that returns the value of the most recently used sequence in the session. This avoids the need for naming the sequence, table or column altogether.

Bilginize:

This function used to be called pg_getlastoid().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

An int or string containing the OID assigned to the most recently inserted row in the specified connection, or false on error or no available OID.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_last_oid() example

<?php
// Connect to the database
pg_connect("dbname=mark host=localhost");

// Create a sample table
pg_query("CREATE TABLE test (a INTEGER) WITH OIDS");

// Insert some data into it
$res = pg_query("INSERT INTO test VALUES (1)");

$oid = pg_last_oid($res);
?>

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_result_status() - Get status of query result


Close a large object

  • « pg_last_oid
  • pg_lo_create »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Close a large object

pg_lo_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_close — Close a large object

Açıklama

pg_lo_close(PgSql\Lob $lob): bool

pg_lo_close() closes a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loclose().

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_close() example

<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_open() - Open a large object
  • pg_lo_create() - Create a large object
  • pg_lo_import() - Import a large object from file


Create a large object

  • « pg_lo_close
  • pg_lo_export »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Create a large object

pg_lo_create

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_create — Create a large object

Açıklama

pg_lo_create(PgSql\Connection $connection = ?, mixed $object_id = ?): int
pg_lo_create(mixed $object_id): int

pg_lo_create() creates a large object and returns the OID of the large object. PostgreSQL access modes INV_READ, INV_WRITE, and INV_ARCHIVE are not supported, the object is created always with both read and write access. INV_ARCHIVE has been removed from PostgreSQL itself (version 6.3 and above).

To use the large object interface, it is necessary to enclose it within a transaction block.

Instead of using the large object interface (which has no access controls and is cumbersome to use), try PostgreSQL's bytea column type and pg_escape_bytea().

Bilginize:

This function used to be called pg_locreate().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter relies on functionality that first appeared in PostgreSQL 8.1.

Dönen Değerler

A large object OID, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_create() example

<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>


Export a large object to file

  • « pg_lo_create
  • pg_lo_import »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Export a large object to file

pg_lo_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_export — Export a large object to file

Açıklama

pg_lo_export(PgSql\Connection $connection = ?, int $oid, string $pathname): bool

pg_lo_export() takes a large object in a PostgreSQL database and saves its contents to a file on the local filesystem.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loexport().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

oid

The OID of the large object in the database.

pathname

The full path and file name of the file in which to write the large object on the client filesystem.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_export() example

<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
$handle = pg_lo_open($database, $oid, "w");
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_lo_export($database, $oid, '/tmp/lob.dat');
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_import() - Import a large object from file


Import a large object from file

  • « pg_lo_export
  • pg_lo_open »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Import a large object from file

pg_lo_import

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_import — Import a large object from file

Açıklama

pg_lo_import(PgSql\Connection $connection = ?, string $pathname, mixed $object_id = ?): int

pg_lo_import() creates a new large object in the database using a file on the filesystem as its data source.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loimport().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

pathname

The full path and file name of the file on the client filesystem from which to read the large object data.

object_id

If an object_id is given the function will try to create a large object with this id, else a free object id is assigned by the server. The parameter relies on functionality that first appeared in PostgreSQL 8.1.

Dönen Değerler

The OID of the newly created large object, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_import() example

<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_import($database, '/tmp/lob.dat');
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_export() - Export a large object to file
  • pg_lo_open() - Open a large object


Open a large object

  • « pg_lo_import
  • pg_lo_read_all »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Open a large object

pg_lo_open

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_open — Open a large object

Açıklama

pg_lo_open(PgSql\Connection $connection, int $oid, string $mode): PgSql\Lob|false

pg_lo_open() opens a large object in the database and returns an PgSql\Lob instance so that it can be manipulated.

Uyarı

Do not close the database connection before closing the PgSql\Lob instance.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loopen().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

oid

The OID of the large object in the database.

mode

Can be either "r" for read-only, "w" for write only or "rw" for read and write.

Dönen Değerler

An PgSql\Lob instance, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PgSql\Lob instance now; previously, a resource was returned.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_open() example

<?php
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$oid = pg_lo_create($database);
echo "$oid\n";
$handle = pg_lo_open($database, $oid, "w");
echo "$handle\n";
pg_lo_write($handle, "large object data");
pg_lo_close($handle);
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_close() - Close a large object
  • pg_lo_create() - Create a large object


Reads an entire large object and send straight to browser

  • « pg_lo_open
  • pg_lo_read »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Reads an entire large object and send straight to browser

pg_lo_read_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_read_all — Reads an entire large object and send straight to browser

Açıklama

pg_lo_read_all(PgSql\Lob $lob): int

pg_lo_read_all() reads a large object and passes it straight through to the browser after sending all pending headers. Mainly intended for sending binary data like images or sound.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loreadall().

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

Dönen Değerler

Number of bytes read.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_read_all() example

<?php
header('Content-type: image/jpeg');
$image_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $image_oid, "r");
pg_lo_read_all($handle);
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_read() - Read a large object


Read a large object

  • « pg_lo_read_all
  • pg_lo_seek »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Read a large object

pg_lo_read

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_read — Read a large object

Açıklama

pg_lo_read(PgSql\Lob $lob, int $length = 8192): string|false

pg_lo_read() reads at most length bytes from a large object and returns it as a string.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_loread().

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

length

An optional maximum number of bytes to return.

Dönen Değerler

A string containing length bytes from the large object, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_read() example

<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
$data = pg_lo_read($handle, 50000);
pg_query($database, "commit");
echo $data;
?>

Ayrıca Bakınız

  • pg_lo_read_all() - Reads an entire large object and send straight to browser


Seeks position within a large object

  • « pg_lo_read
  • pg_lo_tell »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Seeks position within a large object

pg_lo_seek

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_seek — Seeks position within a large object

Açıklama

pg_lo_seek(PgSql\Lob $lob, int $offset, int $whence = SEEK_CUR): bool

pg_lo_seek() seeks a position within an PgSql\Lob instance.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

offset

The number of bytes to seek.

whence

One of the constants PGSQL_SEEK_SET (seek from object start), PGSQL_SEEK_CUR (seek from current position) or PGSQL_SEEK_END (seek from object end) .

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_seek() example

<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Skip first 50000 bytes
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// Read the next 10000 bytes
$data = pg_lo_read($handle, 10000);
pg_query($database, "commit");
echo $data;
?>

Ayrıca Bakınız

  • pg_lo_tell() - Returns current seek position a of large object


Returns current seek position a of large object

  • « pg_lo_seek
  • pg_lo_truncate »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns current seek position a of large object

pg_lo_tell

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_tell — Returns current seek position a of large object

Açıklama

pg_lo_tell(PgSql\Lob $lob): int

pg_lo_tell() returns the current position (offset from the beginning) of a large object.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

Dönen Değerler

The current seek offset (in number of bytes) from the beginning of the large object. If there is an error, the return value is negative.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_tell() example

<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Skip first 50000 bytes
pg_lo_seek($handle, 50000, PGSQL_SEEK_SET);
// See how far we've skipped
$offset = pg_lo_tell($handle);
echo "Seek position is: $offset";
pg_query($database, "commit");
?>

Yukarıdaki örneğin çıktısı:

Seek position is: 50000

Ayrıca Bakınız

  • pg_lo_seek() - Seeks position within a large object


Truncates a large object

  • « pg_lo_tell
  • pg_lo_unlink »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Truncates a large object

pg_lo_truncate

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_lo_truncate — Truncates a large object

Açıklama

pg_lo_truncate(PgSql\Lob $lob, int $size): bool

pg_lo_truncate() truncates an PgSql\Lob instance.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

size

The number of bytes to truncate.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_truncate() example

<?php
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "r");
// Truncate to 0
pg_lo_truncate($handle, 0);
pg_query($database, "commit");
echo $data;
?>

Ayrıca Bakınız

  • pg_lo_tell() - Returns current seek position a of large object


Delete a large object

  • « pg_lo_truncate
  • pg_lo_write »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Delete a large object

pg_lo_unlink

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_unlink — Delete a large object

Açıklama

pg_lo_unlink(PgSql\Connection $connection, int $oid): bool

pg_lo_unlink() deletes a large object with the oid. Başarı durumunda true, başarısızlık durumunda false döner.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_lounlink().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

oid

The OID of the large object in the database.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_lo_unlink() example

<?php
// OID of the large object to delete
$doc_oid = 189762345;
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
pg_lo_unlink($database, $doc_oid);
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_create() - Create a large object
  • pg_lo_import() - Import a large object from file


Write to a large object

  • « pg_lo_unlink
  • pg_meta_data »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Write to a large object

pg_lo_write

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_lo_write — Write to a large object

Açıklama

pg_lo_write(PgSql\Lob $lob, string $data, ?int $length = null): int|false

pg_lo_write() writes data into a large object at the current seek position.

To use the large object interface, it is necessary to enclose it within a transaction block.

Bilginize:

This function used to be called pg_lowrite().

Bağımsız Değişkenler

lob

pg_lo_open()işlevinden dönen PgSql\Lob nesnesi.

data

The data to be written to the large object. If length is an int and is less than the length of data, only length bytes will be written.

length

An optional maximum number of bytes to write. Must be greater than zero and no greater than the length of data. Defaults to the length of data.

Dönen Değerler

The number of bytes written to the large object, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | lob bağımsız değişkeni artık PgSql\Lob nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | length is now nullable.

Örnekler

Örnek 1 pg_lo_write() example

<?php
$doc_oid = 189762345;
$data = "This will overwrite the start of the large object.";
$database = pg_connect("dbname=jacarta");
pg_query($database, "begin");
$handle = pg_lo_open($database, $doc_oid, "w");
$data = pg_lo_write($handle, $data);
pg_query($database, "commit");
?>

Ayrıca Bakınız

  • pg_lo_create() - Create a large object
  • pg_lo_open() - Open a large object


Get meta data for table

  • « pg_lo_write
  • pg_num_fields »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get meta data for table

pg_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_meta_data — Get meta data for table

Açıklama

pg_meta_data(PgSql\Connection $connection, string $table_name, bool $extended = false): array|false

pg_meta_data() returns table definition for table_name as an array.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

The name of the table.

extended

Flag for returning extended meta data. Default to false.

Dönen Değerler

An array of the table definition, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Getting table metadata

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

$meta = pg_meta_data($dbconn, 'authors');
if (is_array($meta)) {
echo '<pre>';
var_dump($meta);
echo '</pre>';
}
?>

Yukarıdaki örneğin çıktısı:

array(3) {
["author"]=>
array(5) {
  ["num"]=>
  int(1)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["year"]=>
array(5) {
  ["num"]=>
  int(2)
  ["type"]=>
  string(4) "int2"
  ["len"]=>
  int(2)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
["title"]=>
array(5) {
  ["num"]=>
  int(3)
  ["type"]=>
  string(7) "varchar"
  ["len"]=>
  int(-1)
  ["not null"]=>
  bool(false)
  ["has default"]=>
  bool(false)
}
}

Ayrıca Bakınız

  • pg_convert() - Convert associative array values into forms suitable for SQL statements


Returns the number of fields in a result

  • « pg_meta_data
  • pg_num_rows »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the number of fields in a result

pg_num_fields

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_num_fields — Returns the number of fields in a result

Açıklama

pg_num_fields(PgSql\Result $result): int

pg_num_fields() returns the number of fields (columns) in the PgSql\Result instance.

Bilginize:

This function used to be called pg_numfields().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

The number of fields (columns) in the result. On error, -1 is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_num_fields() example

<?php
$result = pg_query($conn, "SELECT 1, 2");

$num = pg_num_fields($result);

echo $num . " field(s) returned.\n";
?>

Yukarıdaki örneğin çıktısı:

2 field(s) returned.

Ayrıca Bakınız

  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Returns number of affected records (tuples)


Returns the number of rows in a result

  • « pg_num_fields
  • pg_options »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the number of rows in a result

pg_num_rows

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_num_rows — Returns the number of rows in a result

Açıklama

pg_num_rows(PgSql\Result $result): int

pg_num_rows() will return the number of rows in an PgSql\Result instance.

Bilginize:

This function used to be called pg_numrows().

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

The number of rows in the result. On error, -1 is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_num_rows() example

<?php
$result = pg_query($conn, "SELECT 1");

$rows = pg_num_rows($result);

echo $rows . " row(s) returned.\n";
?>

Yukarıdaki örneğin çıktısı:

1 row(s) returned.

Ayrıca Bakınız

  • pg_num_fields() - Returns the number of fields in a result
  • pg_affected_rows() - Returns number of affected records (tuples)


Get the options associated with the connection

  • « pg_num_rows
  • pg_parameter_status »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get the options associated with the connection

pg_options

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_options — Get the options associated with the connection

Açıklama

pg_options(?PgSql\Connection $connection = null): string

pg_options() will return a string containing the options specified on the given PostgreSQL connection instance.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the connection options.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_options() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");
echo pg_options($pgsql_conn);
?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection


Looks up a current parameter setting of the server

  • « pg_options
  • pg_pconnect »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Looks up a current parameter setting of the server

pg_parameter_status

(PHP 5, PHP 7, PHP 8)

pg_parameter_status — Looks up a current parameter setting of the server

Açıklama

pg_parameter_status(PgSql\Connection $connection = ?, string $param_name): string

Looks up a current parameter setting of the server.

Certain parameter values are reported by the server automatically at connection startup or whenever their values change. pg_parameter_status() can be used to interrogate these settings. It returns the current value of a parameter if known, or false if the parameter is not known.

Parameters reported as of PostgreSQL 8.0 include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. (server_encoding, TimeZone, and integer_datetimes were not reported by releases before 8.0.) Note that server_version, server_encoding and integer_datetimes cannot change after PostgreSQL startup.

PostgreSQL 7.3 or lower servers do not report parameter settings, pg_parameter_status() includes logic to obtain values for server_version and client_encoding anyway. Applications are encouraged to use pg_parameter_status() rather than ad hoc code to determine these values.

Dikkat

On a pre-7.4 PostgreSQL server, changing client_encoding via SET after connection startup will not be reflected by pg_parameter_status().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

param_name

Possible param_name values include server_version, server_encoding, client_encoding, is_superuser, session_authorization, DateStyle, TimeZone, and integer_datetimes. Note that this value is case-sensitive.

Dönen Değerler

A string containing the value of the parameter, false on failure or invalid param_name.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_parameter_status() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

echo "Server encoding: ", pg_parameter_status($dbconn, "server_encoding");
?>

Yukarıdaki örneğin çıktısı:

Server encoding: SQL_ASCII


Open a persistent PostgreSQL connection

  • « pg_parameter_status
  • pg_ping »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Open a persistent PostgreSQL connection

pg_pconnect

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_pconnect — Open a persistent PostgreSQL connection

Açıklama

pg_pconnect(string $connection_string, int $flags = 0): PgSql\Connection|false

pg_pconnect() opens a connection to a PostgreSQL database. It returns an PgSql\Connection instance that is needed by other PostgreSQL functions.

If a second call is made to pg_pconnect() with the same connection_string as an existing connection, the existing connection will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as flags.

To enable persistent connection, the pgsql.allow_persistent php.ini directive must be set to "On" (which is the default). The maximum number of persistent connection can be defined with the pgsql.max_persistent php.ini directive (defaults to -1 for no limit). The total number of connections can be set with the pgsql.max_links php.ini directive.

pg_close() will not close persistent links generated by pg_pconnect().

Bağımsız Değişkenler

connection_string

The connection_string can be empty to use all default parameters, or it can contain one or more parameter settings separated by whitespace. Each parameter setting is in the form keyword = value. Spaces around the equal sign are optional. To write an empty value or a value containing spaces, surround it with single quotes, e.g., keyword = 'a value'. Single quotes and backslashes within the value must be escaped with a backslash, i.e., \' and \\.

The currently recognized parameter keywords are: host, hostaddr, port, dbname, user, password, connect_timeout, options, tty (ignored), sslmode, requiressl (deprecated in favor of sslmode), and service. Which of these arguments exist depends on your PostgreSQL version.

flags

If PGSQL_CONNECT_FORCE_NEW is passed, then a new connection is created, even if the connection_string is identical to an existing connection.

Dönen Değerler

Returns an PgSql\Connection instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PgSql\Connection instance now; previously, a resource was returned.

Örnekler

Örnek 1 Using pg_pconnect()

<?php
$dbconn = pg_pconnect("dbname=mary");
//connect to a database named "mary"

$dbconn2 = pg_pconnect("host=localhost port=5432 dbname=mary");
// connect to a database named "mary" on "localhost" at port "5432"

$dbconn3 = pg_pconnect("host=sheep port=5432 dbname=mary user=lamb password=foo");
//connect to a database named "mary" on the host "sheep" with a username and password

$conn_string = "host=sheep port=5432 dbname=test user=lamb password=bar";
$dbconn4 = pg_pconnect($conn_string);
//connect to a database named "test" on the host "sheep" with a username and password
?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection
  • Persistent Database Connections


Ping database connection

  • « pg_pconnect
  • pg_port »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Ping database connection

pg_ping

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_ping — Ping database connection

Açıklama

pg_ping(?PgSql\Connection $connection = null): bool

pg_ping() pings a database connection and tries to reconnect it if it is broken.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_ping() example

<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

if (!pg_ping($conn))
die("Connection is broken\n");
?>

Ayrıca Bakınız

  • pg_connection_status() - Get connection status
  • pg_connection_reset() - Reset connection (reconnect)


Return the port number associated with the connection

  • « pg_ping
  • pg_prepare »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Return the port number associated with the connection

pg_port

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_port — Return the port number associated with the connection

Açıklama

pg_port(?PgSql\Connection $connection = null): string

pg_port() returns the port number that the given PostgreSQL connection instance is connected to.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the port number of the database server the connection is to, or empty string on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_port() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
print "Successfully connected to port: " . pg_port($pgsql_conn) . "<br/>\n";
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>


Submits a request to create a prepared statement with the given parameters, and waits for completion

  • « pg_port
  • pg_put_line »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Submits a request to create a prepared statement with the given parameters, and waits for completion

pg_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_prepare — Submits a request to create a prepared statement with the given parameters, and waits for completion

Açıklama

pg_prepare(PgSql\Connection $connection = ?, string $stmtname, string $query): PgSql\Result|false

pg_prepare() creates a prepared statement for later execution with pg_execute() or pg_send_execute(). This feature allows commands that will be used repeatedly to be parsed and planned just once, rather than each time they are executed. pg_prepare() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

The function creates a prepared statement named stmtname from the query string, which must contain a single SQL command. stmtname may be "" to create an unnamed statement, in which case any pre-existing unnamed statement is automatically replaced; otherwise it is an error if the statement name is already defined in the current session. If any parameters are used, they are referred to in the query as $1, $2, etc.

Prepared statements for use with pg_prepare() can also be created by executing SQL PREPARE statements. (But pg_prepare() is more flexible since it does not require parameter types to be pre-specified.) Also, although there is no PHP function for deleting a prepared statement, the SQL DEALLOCATE statement can be used for that purpose.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

stmtname

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Dönen Değerler

An PgSql\Result instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_prepare()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Prepare a query for execution
$result = pg_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');

// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
$result = pg_execute($dbconn, "my_query", array("Joe's Widgets"));

// Execute the same prepared query, this time with a different parameter
$result = pg_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));

?>

Ayrıca Bakınız

  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)


Send a NULL-terminated string to PostgreSQL backend

  • « pg_prepare
  • pg_query_params »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Send a NULL-terminated string to PostgreSQL backend

pg_put_line

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_put_line — Send a NULL-terminated string to PostgreSQL backend

Açıklama

pg_put_line(PgSql\Connection $connection = ?, string $data): bool

pg_put_line() sends a NULL-terminated string to the PostgreSQL backend server. This is needed in conjunction with PostgreSQL's COPY FROM command.

COPY is a high-speed data loading interface supported by PostgreSQL. Data is passed in without being parsed, and in a single transaction.

An alternative to using raw pg_put_line() commands is to use pg_copy_from(). This is a far simpler interface.

Bilginize:

The application must explicitly send the two characters "\." on the last line to indicate to the backend that it has finished sending its data, before issuing pg_end_copy().

Uyarı

Use of the pg_put_line() causes most large object operations, including pg_lo_read() and pg_lo_tell(), to subsequently fail. You can use pg_copy_from() and pg_copy_to() instead.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

data

A line of text to be sent directly to the PostgreSQL backend. A NULL terminator is added automatically.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_put_line() example

<?php
$conn = pg_pconnect("dbname=foo");
pg_query($conn, "create table bar (a int4, b char(16), d float8)");
pg_query($conn, "copy bar from stdin");
pg_put_line($conn, "3\thello world\t4.5\n");
pg_put_line($conn, "4\tgoodbye world\t7.11\n");
pg_put_line($conn, "\\.\n");
pg_end_copy($conn);
?>

Ayrıca Bakınız

  • pg_end_copy() - Sync with PostgreSQL backend


Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

  • « pg_put_line
  • pg_query »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

pg_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_query_params — Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text

Açıklama

pg_query_params(PgSql\Connection $connection = ?, string $query, array $params): PgSql\Result|false

Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text.

pg_query_params() is like pg_query(), but offers additional functionality: parameter values can be specified separately from the command string proper. pg_query_params() is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.

If parameters are used, they are referred to in the query string as $1, $2, etc. The same parameter may appear more than once in the query; the same value will be used in that case. params specifies the actual values of the parameters. A null value in this array means the corresponding parameter is SQL NULL.

The primary advantage of pg_query_params() over pg_query() is that parameter values may be separated from the query string, thus avoiding the need for tedious and error-prone quoting and escaping. Unlike pg_query(), pg_query_params() allows at most one SQL command in the given string. (There can be semicolons in it, but not more than one nonempty command.)

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

User-supplied values should always be passed as parameters, not interpolated into the query string, where they form possible SQL injection attack vectors and introduce bugs when handling data containing quotes. If for some reason you cannot use a parameter, ensure that interpolated values are properly escaped.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Values intended for bytea fields are not supported as parameters. Use pg_escape_bytea() instead, or use the large object functions.

Dönen Değerler

An PgSql\Result instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_query_params()

<?php
// Connect to a database named "mary"
$dbconn = pg_connect("dbname=mary");

// Find all shops named Joe's Widgets. Note that it is not necessary to
// escape "Joe's Widgets"
$result = pg_query_params($dbconn, 'SELECT * FROM shops WHERE name = $1', array("Joe's Widgets"));

// Compare against just using pg_query
$str = pg_escape_string("Joe's Widgets");
$result = pg_query($dbconn, "SELECT * FROM shops WHERE name = '{$str}'");

?>

Ayrıca Bakınız

  • pg_query() - Execute a query


Execute a query

  • « pg_query_params
  • pg_result_error_field »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Execute a query

pg_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_query — Execute a query

Açıklama

pg_query(PgSql\Connection $connection = ?, string $query): PgSql\Result|false

pg_query() executes the query on the specified database connection. pg_query_params() should be preferred in most cases.

If an error occurs, and false is returned, details of the error can be retrieved using the pg_last_error() function if the connection is valid.

Bilginize: Although connection can be omitted, it is not recommended, since it can be the cause of hard to find bugs in scripts.

Bilginize:

This function used to be called pg_exec(). pg_exec() is still available for compatibility reasons, but users are encouraged to use the newer name.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

query

The SQL statement or statements to be executed. When multiple statements are passed to the function, they are automatically executed as one transaction, unless there are explicit BEGIN/COMMIT commands included in the query string. However, using multiple transactions in one function call is not recommended.

Uyarı

String interpolation of user-supplied data is extremely dangerous and is likely to lead to SQL injection vulnerabilities. In most cases pg_query_params() should be preferred, passing user-supplied values as parameters rather than substituting them into the query string.

Any user-supplied data substituted directly into a query string should be properly escaped.

Dönen Değerler

An PgSql\Result instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık PgSql\Result nesnesi dönüyor; evvelce bir özkaynak dönerdi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_query() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}

?>

Örnek 2 Using pg_query() with multiple statements

<?php

$conn = pg_pconnect("dbname=publisher");

// these statements will be executed as one transaction

$query = "UPDATE authors SET author=UPPER(author) WHERE id=1;";
$query .= "UPDATE authors SET author=LOWER(author) WHERE id=2;";
$query .= "UPDATE authors SET author=NULL WHERE id=3;";

pg_query($conn, $query);

?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_num_rows() - Returns the number of rows in a result
  • pg_affected_rows() - Returns number of affected records (tuples)


Returns an individual field of an error report

  • « pg_query
  • pg_result_error »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns an individual field of an error report

pg_result_error_field

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_result_error_field — Returns an individual field of an error report

Açıklama

pg_result_error_field(PgSql\Result $result, int $field_code): string|false|null

pg_result_error_field() returns one of the detailed error message fields associated with result instance. It is only available against a PostgreSQL 7.4 or above server. The error field is specified by the field_code.

Because pg_query() and pg_query_params() return false if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

If you need to get additional error information from failed pg_query() queries, use pg_set_error_verbosity() and pg_last_error() and then parse the result.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

field_code

Possible field_code values are: PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE, PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL, PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION, PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only), PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only), PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE or PGSQL_DIAG_SOURCE_FUNCTION.

Dönen Değerler

A string containing the contents of the error field, null if the field does not exist or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_result_error_field() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from doesnotexist;");
}

$res1 = pg_get_result($dbconn);
echo pg_result_error_field($res1, PGSQL_DIAG_SQLSTATE);
?>

Ayrıca Bakınız

  • pg_result_error() - Get error message associated with result


Get error message associated with result

  • « pg_result_error_field
  • pg_result_seek »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get error message associated with result

pg_result_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_result_error — Get error message associated with result

Açıklama

pg_result_error(PgSql\Result $result): string|false

pg_result_error() returns any error message associated with the result instance. Therefore, the user has a better chance of getting the correct error message than with pg_last_error().

The function pg_result_error_field() can give much greater detail on result errors than pg_result_error().

Because pg_query() returns false if the query fails, you must use pg_send_query() and pg_get_result() to get the result handle.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

Dönen Değerler

Returns a string. Returns empty string if there is no error. If there is an error associated with the result parameter, returns false.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_result_error() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from doesnotexist;");
}

$res1 = pg_get_result($dbconn);
echo pg_result_error($res1);
?>

Ayrıca Bakınız

  • pg_result_error_field() - Returns an individual field of an error report
  • pg_query() - Execute a query
  • pg_send_query() - Sends asynchronous query
  • pg_get_result() - Get asynchronous query result
  • pg_last_error() - Get the last error message string of a connection
  • pg_last_notice() - Returns the last notice message from PostgreSQL server


Set internal row offset in result instance

  • « pg_result_error
  • pg_result_status »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Set internal row offset in result instance

pg_result_seek

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_result_seek — Set internal row offset in result instance

Açıklama

pg_result_seek(PgSql\Result $result, int $row): bool

pg_result_seek() sets the internal row offset in the result instance.

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

row

Row to move the internal offset to in the PgSql\Result instance. Rows are numbered starting from zero.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_result_seek() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a query
$result = pg_query($conn, "SELECT author, email FROM authors");

// Seek to the 3rd row (assuming there are 3 rows)
pg_result_seek($result, 2);

// Fetch the 3rd row
$row = pg_fetch_row($result);

?>

Ayrıca Bakınız

  • pg_fetch_row() - Get a row as an enumerated array
  • pg_fetch_assoc() - Fetch a row as an associative array
  • pg_fetch_array() - Fetch a row as an array
  • pg_fetch_object() - Fetch a row as an object
  • pg_fetch_result() - Returns values from a result instance


Get status of query result

  • « pg_result_seek
  • pg_select »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get status of query result

pg_result_status

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_result_status — Get status of query result

Açıklama

pg_result_status(PgSql\Result $result, int $mode = PGSQL_STATUS_LONG): string|int

pg_result_status() returns the status of the PgSql\Result instance, or the PostgreSQL command completion tag associated with the result

Bağımsız Değişkenler

result

pg_query(), pg_query_params() veya pg_execute() işlevinden dönen PgSql\Result nesnesi.

mode

Either PGSQL_STATUS_LONG to return the numeric status of the result, or PGSQL_STATUS_STRING to return the command tag of the result. If not specified, PGSQL_STATUS_LONG is the default.

Dönen Değerler

Possible return values are PGSQL_EMPTY_QUERY, PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN, PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if PGSQL_STATUS_LONG is specified. Otherwise, a string containing the PostgreSQL command tag is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık PgSql\Result nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_result_status() example

<?php

// Connect to the database
$conn = pg_pconnect("dbname=publisher");

// Execute a COPY
$result = pg_query($conn, "COPY authors FROM STDIN;");

// Get the result status
$status = pg_result_status($result);

// Determine status
if ($status == PGSQL_COPY_IN)
echo "Copy began.";
else
echo "Copy failed.";

?>

Yukarıdaki örneğin çıktısı:

Copy began.

Ayrıca Bakınız

  • pg_connection_status() - Get connection status


Select records

  • « pg_result_status
  • pg_send_execute »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Select records

pg_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_select — Select records

Açıklama

pg_select(
PgSql\Connection $connection,
string $table_name,
array $conditions,
int $flags = PGSQL_DML_EXEC,
int $mode = PGSQL_ASSOC
): array|string|false

pg_select() selects records specified by conditions which has field=>value. For a successful query, it returns an array containing all records and fields that match the condition specified by conditions.

If flags is set, pg_convert() is applied to conditions with the specified flags.

If mode is set, the return value will be in the form of an array with PGSQL_NUM, an associative array with PGSQL_ASSOC (default) or both with PGSQL_BOTH.

By default pg_select() passes raw values. Values must be escaped or PGSQL_DML_ESCAPE option must be specified. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column names became case sensitive.

Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These parameters should be handled according to their contexts. i.e. Escape/validate values.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table from which to select rows.

conditions

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be retrieved.

flags

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the flags then the query string is returned. When PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call pg_convert() internally.

mode

Any number of PGSQL_ASSOC, PGSQL_NUM or PGSQL_BOTH If PGSQL_ASSOC is set the return value will be an associative array, with PGSQL_NUM the return value will be an array, and with PGSQL_BOTH the return value will be both an associative and numerically indexed array.

Dönen Değerler

Returns string if PGSQL_DML_STRING is passed via flags, otherwise it returns an array on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
7.1.0 | The mode parameter was added.

Örnekler

Örnek 1 pg_select() example

<?php
$db = pg_connect('dbname=foo');
// This is safe somewhat, since all values are escaped.
// However PostgreSQL supports JSON/Array. These are not
// safe by neither escape nor prepared query.
$rec = pg_select($db, 'post_log', $_POST, PG_DML_ESCAPE);
if ($rec) {
echo "Records selected\n";
var_dump($rec);
} else {
echo "User must have sent wrong inputs\n";
}
?>

Ayrıca Bakınız

  • pg_convert() - Convert associative array values into forms suitable for SQL statements


Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

  • « pg_select
  • pg_send_prepare »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

pg_send_execute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_execute — Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)

Açıklama

pg_send_execute(PgSql\Connection $connection, string $statement_name, array $params): int|bool

Sends a request to execute a prepared statement with given parameters, without waiting for the result(s).

This is similar to pg_send_query_params(), but the command to be executed is specified by naming a previously-prepared statement, instead of giving a query string. The function's parameters are handled identically to pg_execute(). Like pg_execute(), it will not work on pre-7.4 versions of PostgreSQL.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

statement_name

The name of the prepared statement to execute. If "" is specified, then the unnamed statement is executed. The name must have been previously prepared using pg_prepare(), pg_send_prepare() or a PREPARE SQL command.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Dönen Değerler

Returns true on success, false or 0 on failure. Use pg_get_result() to determine the query result.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_send_execute()

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Prepare a query for execution
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}

// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}

// Execute the same prepared query, this time with a different parameter
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}

?>

Ayrıca Bakınız

  • pg_prepare() - Submits a request to create a prepared statement with the given parameters, and waits for completion
  • pg_send_prepare() - Sends a request to create a prepared statement with the given parameters, without waiting for completion
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result


Sends a request to create a prepared statement with the given parameters, without waiting for completion

  • « pg_send_execute
  • pg_send_query_params »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Sends a request to create a prepared statement with the given parameters, without waiting for completion

pg_send_prepare

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_prepare — Sends a request to create a prepared statement with the given parameters, without waiting for completion

Açıklama

pg_send_prepare(PgSql\Connection $connection, string $statement_name, string $query): int|bool

Sends a request to create a prepared statement with the given parameters, without waiting for completion.

This is an asynchronous version of pg_prepare(): it returns true if it was able to dispatch the request, and false if not. After a successful call, call pg_get_result() to determine whether the server successfully created the prepared statement. The function's parameters are handled identically to pg_prepare(). Like pg_prepare(), it will not work on pre-7.4 versions of PostgreSQL.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

statement_name

The name to give the prepared statement. Must be unique per-connection. If "" is specified, then an unnamed statement is created, overwriting any previously defined unnamed statement.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

Dönen Değerler

Returns true on success, false or 0 on failure. Use pg_get_result() to determine the query result.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_send_prepare()

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Prepare a query for execution
if (!pg_connection_busy($dbconn)) {
pg_send_prepare($dbconn, "my_query", 'SELECT * FROM shops WHERE name = $1');
$res1 = pg_get_result($dbconn);
}

// Execute the prepared query. Note that it is not necessary to escape
// the string "Joe's Widgets" in any way
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Joe's Widgets"));
$res2 = pg_get_result($dbconn);
}

// Execute the same prepared query, this time with a different parameter
if (!pg_connection_busy($dbconn)) {
pg_send_execute($dbconn, "my_query", array("Clothes Clothes Clothes"));
$res3 = pg_get_result($dbconn);
}

?>

Ayrıca Bakınız

  • pg_connect() - Open a PostgreSQL connection
  • pg_pconnect() - Open a persistent PostgreSQL connection
  • pg_execute() - Sends a request to execute a prepared statement with given parameters, and waits for the result
  • pg_send_execute() - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
  • pg_send_query_params() - Submits a command and separate parameters to the server without waiting for the result(s)


Submits a command and separate parameters to the server without waiting for the result(s)

  • « pg_send_prepare
  • pg_send_query »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Submits a command and separate parameters to the server without waiting for the result(s)

pg_send_query_params

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_send_query_params — Submits a command and separate parameters to the server without waiting for the result(s)

Açıklama

pg_send_query_params(PgSql\Connection $connection, string $query, array $params): int|bool

Submits a command and separate parameters to the server without waiting for the result(s).

This is equivalent to pg_send_query() except that query parameters can be specified separately from the query string. The function's parameters are handled identically to pg_query_params(). Like pg_query_params(), it will not work on pre-7.4 PostgreSQL connections, and it allows only one command in the query string.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

query

The parameterized SQL statement. Must contain only a single statement. (multiple statements separated by semi-colons are not allowed.) If any parameters are used, they are referred to as $1, $2, etc.

params

An array of parameter values to substitute for the $1, $2, etc. placeholders in the original prepared query string. The number of elements in the array must match the number of placeholders.

Dönen Değerler

Returns true on success, false or 0 on failure. Use pg_get_result() to determine the query result.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 Using pg_send_query_params()

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

// Using parameters. Note that it is not necessary to quote or escape
// the parameter.
pg_send_query_params($dbconn, 'select count(*) from authors where city = $1', array('Perth'));

// Compare against basic pg_send_query usage
$str = pg_escape_string('Perth');
pg_send_query($dbconn, "select count(*) from authors where city = '${str}'");
?>

Ayrıca Bakınız

  • pg_send_query() - Sends asynchronous query


Sends asynchronous query

  • « pg_send_query_params
  • pg_set_client_encoding »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Sends asynchronous query

pg_send_query

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_send_query — Sends asynchronous query

Açıklama

pg_send_query(PgSql\Connection $connection, string $query): int|bool

pg_send_query() sends a query or queries asynchronously to the connection. Unlike pg_query(), it can send multiple queries at once to PostgreSQL and get the results one by one using pg_get_result().

Script execution is not blocked while the queries are executing. Use pg_connection_busy() to check if the connection is busy (i.e. the query is executing). Queries may be cancelled using pg_cancel_query().

Although the user can send multiple queries at once, multiple queries cannot be sent over a busy connection. If a query is sent while the connection is busy, it waits until the last query is finished and discards all its results.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

query

The SQL statement or statements to be executed.

Data inside the query should be properly escaped.

Dönen Değerler

Returns true on success, false or 0 on failure. Use pg_get_result() to determine the query result.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_send_query() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from authors; select count(*) from authors;");
}

$res1 = pg_get_result($dbconn);
echo "First call to pg_get_result(): $res1\n";
$rows1 = pg_num_rows($res1);
echo "$res1 has $rows1 records\n\n";

$res2 = pg_get_result($dbconn);
echo "Second call to pg_get_result(): $res2\n";
$rows2 = pg_num_rows($res2);
echo "$res2 has $rows2 records\n";
?>

Yukarıdaki örneğin çıktısı:

First call to pg_get_result(): Resource id #3
Resource id #3 has 3 records

Second call to pg_get_result(): Resource id #4
Resource id #4 has 1 records

Ayrıca Bakınız

  • pg_query() - Execute a query
  • pg_cancel_query() - Cancel an asynchronous query
  • pg_get_result() - Get asynchronous query result
  • pg_connection_busy() - Get connection is busy or not


Set the client encoding

  • « pg_send_query
  • pg_set_error_context_visibility »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Set the client encoding

pg_set_client_encoding

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pg_set_client_encoding — Set the client encoding

Açıklama

pg_set_client_encoding(PgSql\Connection $connection = ?, string $encoding): int

pg_set_client_encoding() sets the client encoding and returns 0 if success or -1 if error.

PostgreSQL will automatically convert data in the backend database encoding into the frontend encoding.

Bilginize:

The function used to be called pg_setclientencoding().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

encoding

The required client encoding. One of SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL, LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250.

The exact list of available encodings depends on your PostgreSQL version, so check your PostgreSQL manual for a more specific list.

Dönen Değerler

Returns 0 on success or -1 on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_set_client_encoding() example

<?php

$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occurred.\n";
exit;
}

// Set the client encoding to UNICODE. Data will be automatically
// converted from the backend encoding to the frontend.
pg_set_client_encoding($conn, "UNICODE");

$result = pg_query($conn, "SELECT author, email FROM authors");
if (!$result) {
echo "An error occurred.\n";
exit;
}

// Write out UTF-8 data
while ($row = pg_fetch_row($result)) {
echo "Author: $row[0] E-mail: $row[1]";
echo "<br />\n";
}

?>

Ayrıca Bakınız

  • pg_client_encoding() - Gets the client encoding


Determines the visibility of the context's error messages returned by pg_last_error and pg_result_error

  • « pg_set_client_encoding
  • pg_set_error_verbosity »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Determines the visibility of the context's error messages returned by pg_last_error and pg_result_error

pg_set_error_context_visibility

(PHP 8 >= 8.3.0)

pg_set_error_context_visibility — Determines the visibility of the context's error messages returned by pg_last_error() and pg_result_error()

Açıklama

pg_set_error_context_visibility(PgSql\Connection $connection, int $visibility): int

Determines the visibility of the context's error messages returned by pg_last_error() and pg_result_error()

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

visibility

The required visibility: PGSQL_SHOW_CONTEXT_NEVER, PGSQL_SHOW_CONTEXT_ERRORS or PGSQL_SHOW_CONTEXT_ALWAYS.

Dönen Değerler

The previous visibility level: PGSQL_SHOW_CONTEXT_NEVER, PGSQL_SHOW_CONTEXT_ERRORS or PGSQL_SHOW_CONTEXT_ALWAYS.

Örnekler

Örnek 1 pg_set_error_context_visibility() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from doesnotexist;");
}

pg_set_error_context_visibility($dbconn, PGSQL_SHOW_CONTEXT_ALWAYS);
$res1 = pg_get_result($dbconn);
echo pg_result_error($res1);
?>

Ayrıca Bakınız

  • pg_last_error() - Get the last error message string of a connection
  • pg_result_error() - Get error message associated with result


Determines the verbosity of messages returned by pg_last_error and pg_result_error

  • « pg_set_error_context_visibility
  • pg_socket »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Determines the verbosity of messages returned by pg_last_error and pg_result_error

pg_set_error_verbosity

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_set_error_verbosity — Determines the verbosity of messages returned by pg_last_error() and pg_result_error()

Açıklama

pg_set_error_verbosity(PgSql\Connection $connection = ?, int $verbosity): int

Determines the verbosity of messages returned by pg_last_error() and pg_result_error().

pg_set_error_verbosity() sets the verbosity mode, returning the connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned messages include severity, primary text, and position only; this will normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT) produces messages that include the above plus any detail, hint, or context fields (these may span multiple lines). The PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the verbosity does not affect the messages available from already-existing result objects, only subsequently-created ones.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı belirtilmemişse öntanımlı bağlantı kullanılır. Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

verbosity

The required verbosity: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Dönen Değerler

The previous verbosity level: PGSQL_ERRORS_TERSE, PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_set_error_verbosity() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");

if (!pg_connection_busy($dbconn)) {
pg_send_query($dbconn, "select * from doesnotexist;");
}

pg_set_error_verbosity($dbconn, PGSQL_ERRORS_VERBOSE);
$res1 = pg_get_result($dbconn);
echo pg_result_error($res1);
?>

Ayrıca Bakınız

  • pg_last_error() - Get the last error message string of a connection
  • pg_result_error() - Get error message associated with result


Get a read only handle to the socket underlying a PostgreSQL connection

  • « pg_set_error_verbosity
  • pg_trace »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Get a read only handle to the socket underlying a PostgreSQL connection

pg_socket

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

pg_socket — Get a read only handle to the socket underlying a PostgreSQL connection

Açıklama

pg_socket(PgSql\Connection $connection): resource|false

pg_socket() returns a read only resource corresponding to the socket underlying the given PostgreSQL connection.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

A socket resource on success başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.


Enable tracing a PostgreSQL connection

  • « pg_socket
  • pg_transaction_status »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Enable tracing a PostgreSQL connection

pg_trace

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

pg_trace — Enable tracing a PostgreSQL connection

Açıklama

pg_trace(
string $filename,
string $mode = "w",
?PgSql\Connection $connection = null,
int $trace_mode = 0
): bool

pg_trace() enables tracing of the PostgreSQL frontend/backend communication to a file. To fully understand the results, one needs to be familiar with the internals of PostgreSQL communication protocol.

For those who are not, it can still be useful for tracing errors in queries sent to the server, you could do for example grep '^To backend' trace.log and see what queries actually were sent to the PostgreSQL server. For more information, refer to the » PostgreSQL Documentation.

Bağımsız Değişkenler

filename

The full path and file name of the file in which to write the trace log. Same as in fopen().

mode

An optional file access mode, same as for fopen().

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

trace_mode

An optional trace mode with the following constants PGSQL_TRACE_SUPPRESS_TIMESTAMPS and PGSQL_TRACE_REGRESS_MODE

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | trace_mode has been added.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_trace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
pg_query("SELECT 1");
pg_untrace($pgsql_conn);
// Now /tmp/trace.log will contain backend communication
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • pg_untrace() - Disable tracing of a PostgreSQL connection


Returns the current in-transaction status of the server

  • « pg_trace
  • pg_tty »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns the current in-transaction status of the server

pg_transaction_status

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

pg_transaction_status — Returns the current in-transaction status of the server

Açıklama

pg_transaction_status(PgSql\Connection $connection): int

Returns the current in-transaction status of the server.

Dikkat

pg_transaction_status() will give incorrect results when using a PostgreSQL 7.3 server that has the parameter autocommit set to off. The server-side autocommit feature has been deprecated and does not exist in later server versions.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

Dönen Değerler

The status can be PGSQL_TRANSACTION_IDLE (currently idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress), PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block). PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad. PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent to the server and not yet completed.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_transaction_status() example

<?php
$dbconn = pg_connect("dbname=publisher") or die("Could not connect");
$stat = pg_transaction_status($dbconn);
if ($stat === PGSQL_TRANSACTION_UNKNOWN) {
echo 'Connection is bad';
} else if ($stat === PGSQL_TRANSACTION_IDLE) {
echo 'Connection is currently idle';
} else {
echo 'Connection is in a transaction state';
}
?>


Return the TTY name associated with the connection

  • « pg_transaction_status
  • pg_unescape_bytea »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Return the TTY name associated with the connection

pg_tty

(PHP 4, PHP 5, PHP 7, PHP 8)

pg_tty — Return the TTY name associated with the connection

Açıklama

pg_tty(?PgSql\Connection $connection = null): string

pg_tty() returns the TTY name that server side debugging output is sent to on the given PostgreSQL connection instance.

Bilginize:

pg_tty() is obsolete, since the server no longer pays attention to the TTY setting, but the function remains for backwards compatibility.

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

A string containing the debug TTY of the connection.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_tty() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
print "Server debug TTY is: " . pg_tty($pgsql_conn) . "<br/>\n";
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>


Unescape binary for bytea type

  • « pg_tty
  • pg_untrace »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Unescape binary for bytea type

pg_unescape_bytea

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_unescape_bytea — Unescape binary for bytea type

Açıklama

pg_unescape_bytea(string $string): string

pg_unescape_bytea() unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data.

Bilginize:

When you SELECT a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually.

This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error.

Bağımsız Değişkenler

string

A string containing PostgreSQL bytea data to be converted into a PHP binary string.

Dönen Değerler

A string containing the unescaped data.

Örnekler

Örnek 1 pg_unescape_bytea() example

<?php
// Connect to the database
$dbconn = pg_connect('dbname=foo');

// Get the bytea data
$res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'");
$raw = pg_fetch_result($res, 'data');

// Convert to binary and send to the browser
header('Content-type: image/jpeg');
echo pg_unescape_bytea($raw);
?>

Ayrıca Bakınız

  • pg_escape_bytea() - Escape a string for insertion into a bytea field
  • pg_escape_string() - Escape a string for query


Disable tracing of a PostgreSQL connection

  • « pg_unescape_bytea
  • pg_update »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Disable tracing of a PostgreSQL connection

pg_untrace

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

pg_untrace — Disable tracing of a PostgreSQL connection

Açıklama

pg_untrace(?PgSql\Connection $connection = null): true

Stop tracing started by pg_trace().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_untrace() example

<?php
$pgsql_conn = pg_connect("dbname=mark host=localhost");

if ($pgsql_conn) {
pg_trace('/tmp/trace.log', 'w', $pgsql_conn);
pg_query("SELECT 1");
pg_untrace($pgsql_conn);
// Now tracing of backend communication is disabled
} else {
print pg_last_error($pgsql_conn);
exit;
}
?>

Ayrıca Bakınız

  • pg_trace() - Enable tracing a PostgreSQL connection


Update table

  • « pg_untrace
  • pg_version »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Update table

pg_update

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pg_update — Update table

Açıklama

pg_update(
PgSql\Connection $connection,
string $table_name,
array $values,
array $conditions,
int $flags = PGSQL_DML_EXEC
): string|bool

pg_update() updates records that matches conditions with values.

If flags is specified, pg_convert() is applied to values with the specified flags.

By default pg_update() passes raw values. Values must be escaped or the PGSQL_DML_ESCAPE flag must be specified in flags. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column names become case sensitive.

Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These parameters should be handled according to their contexts. i.e. Escape/validate values.

Bağımsız Değişkenler

connection

PostgreSQL veritabanı bağlantısı özkaynağı.

table_name

Name of the table into which to update rows.

values

An array whose keys are field names in the table table_name, and whose values are what matched rows are to be updated to.

conditions

An array whose keys are field names in the table table_name, and whose values are the conditions that a row must meet to be updated.

flags

Any number of PGSQL_CONV_FORCE_NULL, PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the flags then query string is returned. When PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call pg_convert() internally.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns string if PGSQL_DML_STRING is passed via flags.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.

Örnekler

Örnek 1 pg_update() example

<?php
$db = pg_connect('dbname=foo');
$data = array('field1'=>'AA', 'field2'=>'BB');
// This is safe somewhat, since all values are escaped.
// However PostgreSQL supports JSON/Array. These are not
// safe by neither escape nor prepared query.
$res = pg_update($db, 'post_log', $_POST, $data);
if ($res) {
echo "Data is updated: $res\n";
} else {
echo "User must have sent wrong inputs\n";
}
?>

Ayrıca Bakınız

  • pg_convert() - Convert associative array values into forms suitable for SQL statements


Returns an array with client, protocol and server version (when available)

  • « pg_update
  • PgSql\Connection »
  • PHP Manual
  • PostgreSQL İşlevleri
  • Returns an array with client, protocol and server version (when available)

pg_version

(PHP 5, PHP 7, PHP 8)

pg_version — Returns an array with client, protocol and server version (when available)

Açıklama

pg_version(?PgSql\Connection $connection = null): array

pg_version() returns an array with the client, protocol and server version. Protocol and server versions are only available if PHP was compiled with PostgreSQL 7.4 or later.

For more detailed server information, use pg_parameter_status().

Bağımsız Değişkenler

connection

PgSql\Connection nesnesi. bağlantı null ise, öntanımlı bağlantı kullanılır.Öntanımlı bağlantı pg_connect() veya pg_pconnect() işleviyle kurulmuş son bağlantıdır.

Uyarı

PHP 8.1.0 ve sonrasında, öntanımlı bağlantının kullanımı önerilmemektedir.

Dönen Değerler

Returns an array with client, protocol and server keys and values (if available).

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | bağlantı bağımsız değişkeni artık PgSql\Connection nesnesi kabul ediyor, evvelce bir özkaynak kabul ederdi.
8.0.0 | connection is now nullable.

Örnekler

Örnek 1 pg_version() example

<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=mary")
or die("Could not connect");

$v = pg_version($dbconn);

echo $v['client'];
?>

Yukarıdaki örneğin çıktısı:

7.4

Ayrıca Bakınız

  • pg_parameter_status() - Looks up a current parameter setting of the server


The PgSql\Connection class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a pgsql link resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class PgSql\Connection {
}


The PgSql\Result class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a pgsql result resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class PgSql\Result {
}


The PgSql\Lob class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a pgsql large object resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class PgSql\Lob {
}


SQLite3

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SQLite3 — SQLite3 sınıfı
    • SQLite3::backup — Backup one database to another database
    • SQLite3::busyTimeout — Sets the busy connection handler
    • SQLite3::changes — Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür
    • SQLite3::close — Veritabanı bağlantısını kapatır
    • SQLite3::__construct — Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar
    • SQLite3::createAggregate — Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
    • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction — Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
    • SQLite3::enableExceptions — Enable throwing exceptions
    • SQLite3::escapeString — Gerektiği gibi öncelenmiş bir dizge döndürür
    • SQLite3::exec — Sonuç döndürmeyen bir SQL sorgusu çalıştırır
    • SQLite3::lastErrorCode — Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür
    • SQLite3::lastErrorMsg — Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür
    • SQLite3::lastInsertRowID — Veritabanına en son yerleştirilen satırın kimliğini döndürür
    • SQLite3::loadExtension — Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır
    • SQLite3::open — Bir SQLite veritabanını açar
    • SQLite3::openBlob — Opens a stream resource to read a BLOB
    • SQLite3::prepare — Çalıştırılmak üzere bir SQL sorgusu hazırlar
    • SQLite3::query — Bir SQL sorgusu çalıştırır
    • SQLite3::querySingle — Bir sorgu çalıştırıp tek bir sonuç döndürür
    • SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do
    • SQLite3::version — SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür
  • SQLite3Stmt — SQLite3Stmt sınıfı
    • SQLite3Stmt::bindParam — Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir
    • SQLite3Stmt::bindValue — Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
    • SQLite3Stmt::clear — Tüm bağımsız değişken ilişkilendirmelerini temizler
    • SQLite3Result::close — Hazır deyimi kapatır
    • SQLite3Stmt::__construct — Constructs an SQLite3Stmt object
    • SQLite3Stmt::execute — Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür
    • SQLite3Stmt::getSQL — Get the SQL of the statement
    • SQLite3Stmt::paramCount — Hazır deyimdeki değişken sayısını döndürür
    • SQLite3Stmt::readOnly — Returns whether a statement is definitely read only
    • SQLite3Stmt::reset — Hazır deyimi sıfırlar
  • SQLite3Result — SQLite3Result sınıfı
    • SQLite3Result::columnName — Numarası belirtilen sütunun ismini döndürür
    • SQLite3Result::columnType — Numarası belirtilen sütunun türünü döndürür
    • SQLite3Result::__construct — Constructs an SQLite3Result
    • SQLite3Result::fetchArray — Sonuç satırını bir dizi olarak döndürür
    • SQLite3Result::finalize — Sonuç kümesini kapatır
    • SQLite3Result::numColumns — Sonuç kümesindeki sütun sayısını döndürür
    • SQLite3Result::reset — Sonuç kümesindeki geçerli satırı ilk satır yapar


  • « SQLite3
  • Yapılandırma/Kurulum »
  • PHP Manual
  • SQLite3
  • Giriş

Giriş

SQLite'ın 3. sürüm veritabanları için destek.


Gereksinimler

PHP 7.4.0 itibariyle » libsqlite ? 3.7.4 gerekir. Evvelce, yerine PHP paketinde gelen libsqlite kullanılabiliyordu.


Kurulum

SQLite3 eklentisi öntanımlı olarak etkindir. Derleme sırasında --without-sqlite3 seçeneğini kullanarak iptal etmek mümkündür.

Windows kullanıcılarının bu eklentiyi kullanabilmeleri için php.ini içinde php_sqlite3.dll'i etkin kılmaları gerekmektedir. Bu DLL, PHP'nin Windows dağıtımlarına dahil edilmektedir.

Bilginize: PHP 7.4.0 itibariyle Windows üzerinde ek kurulum

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libsqlite3.dll.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

SQLite3 Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | >Sürüm Bilgisi
sqlite3.extension_dir | "" | PHP_INI_SYSTEM |
sqlite3.defensive | 1 | PHP_INI_USER | libsqlite ? 3.26.0 için PHP 7.2.17 ve PHP 7.3.4 ve sonrasında kullanılabilir. PHP 8.2.0'dan önce bu atama yalnızca PHP_INI_SYSTEM olarak değiştirilebilirdi.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

sqlite3.extension_dir string

SQLite yüklenebilir eklentilerinin yeri.

sqlite3.defensive bool

Savunma bayrağı etkinleştirildiğinde, sıradan SQL'in kasıtlı olarak veritabanı dosyasını bozmasına izin veren dil özellikleri devre dışı bırakılır. Bu, doğrudan şemaya, gölge tablolara (örn. FTS veri tabloları) veya sqlite_dbpage sanal tablosuna yazmayı yasaklar. Bu php.ini ayarı yalnız libsqlite ? 3.26.0 için etkilidir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SQLITE3_ASSOC (int)
SQLite3Result::fetchArray() yönteminin ilgili sonuç kümesinde bulunan sütun isimlerine göre indislenmiş bir dizi döndüreceğini belirtir.
SQLITE3_NUM (int)
Sqlite3Result::fetchArray() yönteminin ilgili sonuç kümesinde bulunan sütun numaralarına göre indislenmiş bir dizi döndüreceğini belirtir. Sütun numaraları 0'dan başlar.
SQLITE3_BOTH (int)
Sqlite3Result::fetchArray() yönteminin ilgili sonuç kümesinde bulunan sütun isimlerine ve sütün numaralarına göre indislenmiş bir dizi döndüreceğini belirtir. Sütun numaraları 0'dan başlar.
SQLITE3_INTEGER (int)
SQLite3 INTEGER (tamsayı) saklama sınıfını temsil eder.
SQLITE3_FLOAT (int)
SQLite3 REAL (FLOAT) (gerçek sayı) saklama sınıfını temsil eder.
SQLITE3_TEXT (int)
SQLite3 TEXT (metin) saklama sınıfını temsil eder.
SQLITE3_BLOB (int)
SQLite3 BLOB (ikil veri) saklama sınıfını temsil eder..
SQLITE3_NULL (int)
SQLite3 NULL saklama sınıfını temsil eder.
SQLITE3_OPEN_READONLY (int)
SQLite3 veritabanının salt-okunur açılacağını belirtir.
SQLITE3_OPEN_READWRITE (int)
SQLite3 veritabanının okuma ve yazma amacıyla açılacağını belirtir.
SQLITE3_OPEN_CREATE (int)
SQLite3 veritabanının mevcut değilse oluşturulacağını belirtir.
SQLITE3_DETERMINISTIC (int)
SQLite3::createFunction() ile oluşturulan bir işlevin belirlenimsel olduğunu belirtir, yani tek bir SQL ifadesi içinde aynı girdiler verildiğinde her zaman aynı sonucu döndürür. (PHP 7.1.4 ve sonrasında kullanılabilir.)


SQLite3 sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

SQLite 3 veritabanlarına arayüzlük eden sınıf.

Sınıf Sözdizimi

class SQLite3 {
/* Sabitler */
public const int OK;
public const int DENY;
public const int IGNORE;
public const int CREATE_INDEX;
public const int CREATE_TABLE;
public const int CREATE_TEMP_INDEX;
public const int CREATE_TEMP_TABLE;
public const int CREATE_TEMP_TRIGGER;
public const int CREATE_TEMP_VIEW;
public const int CREATE_TRIGGER;
public const int CREATE_VIEW;
public const int DELETE;
public const int DROP_INDEX;
public const int DROP_TABLE;
public const int DROP_TEMP_INDEX;
public const int DROP_TEMP_TABLE;
public const int DROP_TEMP_TRIGGER;
public const int DROP_TEMP_VIEW;
public const int DROP_TRIGGER;
public const int DROP_VIEW;
public const int INSERT;
public const int PRAGMA;
public const int READ;
public const int SELECT;
public const int TRANSACTION;
public const int UPDATE;
public const int ATTACH;
public const int DETACH;
public const int ALTER_TABLE;
public const int REINDEX;
public const int ANALYZE;
public const int CREATE_VTABLE;
public const int DROP_VTABLE;
public const int FUNCTION;
public const int SAVEPOINT;
public const int COPY;
public const int RECURSIVE;
/* Yöntemler */
public __construct(string $dosya, int $seçenekler = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $anahtar = "")
public backup(SQLite3 $destination, string $sourceDatabase = "main", string $destinationDatabase = "main"): bool
public busyTimeout(int $milliseconds): bool
public changes(): int
public close(): bool
public createAggregate(
string $isim,
callable $sekme_işlevi,
callable $son_işlev,
int $değş_sayısı = -1
): bool
public createCollation(string $name, callable $callback): bool
public createFunction(
string $isim,
callable $işlev,
int $değş_sayısı = -1,
int $seçenekler = 0
): bool
public enableExceptions(bool $enable = false): bool
public static escapeString(string $veri): string
public exec(string $sorgu): bool
public lastErrorCode(): int
public lastErrorMsg(): string
public lastInsertRowID(): int
public loadExtension(string $isim): bool
public open(string $dosya, int $seçenekler = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $anahtar = ""): void
public openBlob(
string $table,
string $column,
int $rowid,
string $database = "main",
int $flags = SQLITE3_OPEN_READONLY
): resource|false
public prepare(string $sorgu): SQLite3Stmt|false
public query(string $sorgu): SQLite3Result|false
public querySingle(string $sorgu, bool $tüm_satır = false): mixed
public setAuthorizer(?callable $callback): bool
public static version(): array
}

Öntanımlı Sabitler

SQLite3::OK

SQLite3::DENY

SQLite3::IGNORE

SQLite3::CREATE_INDEX

SQLite3::CREATE_TABLE

SQLite3::CREATE_TEMP_INDEX

SQLite3::CREATE_TEMP_TABLE

SQLite3::CREATE_TEMP_TRIGGER

SQLite3::CREATE_TEMP_VIEW

SQLite3::CREATE_TRIGGER

SQLite3::CREATE_VIEW

SQLite3::DELETE

SQLite3::DROP_INDEX

SQLite3::DROP_TABLE

SQLite3::DROP_TEMP_INDEX

SQLite3::DROP_TEMP_TABLE

SQLite3::DROP_TEMP_TRIGGER

SQLite3::DROP_TEMP_VIEW

SQLite3::DROP_TRIGGER

SQLite3::DROP_VIEW

SQLite3::INSERT

SQLite3::PRAGMA

SQLite3::READ

SQLite3::SELECT

SQLite3::TRANSACTION

SQLite3::UPDATE

SQLite3::ATTACH

SQLite3::DETACH

SQLite3::ALTER_TABLE

SQLite3::REINDEX

SQLite3::ANALYZE

SQLite3::CREATE_VTABLE

SQLite3::DROP_VTABLE

SQLite3::FUNCTION

SQLite3::SAVEPOINT

SQLite3::COPY

SQLite3::RECURSIVE

İçindekiler

  • SQLite3::backup — Backup one database to another database
  • SQLite3::busyTimeout — Sets the busy connection handler
  • SQLite3::changes — Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür
  • SQLite3::close — Veritabanı bağlantısını kapatır
  • SQLite3::__construct — Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar
  • SQLite3::createAggregate — Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
  • SQLite3::createCollation — Registers a PHP function for use as an SQL collating function
  • SQLite3::createFunction — Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
  • SQLite3::enableExceptions — Enable throwing exceptions
  • SQLite3::escapeString — Gerektiği gibi öncelenmiş bir dizge döndürür
  • SQLite3::exec — Sonuç döndürmeyen bir SQL sorgusu çalıştırır
  • SQLite3::lastErrorCode — Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür
  • SQLite3::lastErrorMsg — Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür
  • SQLite3::lastInsertRowID — Veritabanına en son yerleştirilen satırın kimliğini döndürür
  • SQLite3::loadExtension — Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır
  • SQLite3::open — Bir SQLite veritabanını açar
  • SQLite3::openBlob — Opens a stream resource to read a BLOB
  • SQLite3::prepare — Çalıştırılmak üzere bir SQL sorgusu hazırlar
  • SQLite3::query — Bir SQL sorgusu çalıştırır
  • SQLite3::querySingle — Bir sorgu çalıştırıp tek bir sonuç döndürür
  • SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do
  • SQLite3::version — SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür


Backup one database to another database

  • « SQLite3
  • SQLite3::busyTimeout »
  • PHP Manual
  • SQLite3
  • Backup one database to another database

SQLite3::backup

(PHP 7 >= 7.4.0, PHP 8)

SQLite3::backup — Backup one database to another database

Açıklama

public SQLite3::backup(SQLite3 $destination, string $sourceDatabase = "main", string $destinationDatabase = "main"): bool

SQLite3::backup() copies the contents of one database into another, overwriting the contents of the destination database. It is useful either for creating backups of databases or for copying in-memory databases to or from persistent files.

İpucu

As of SQLite 3.27.0 (2019-02-07), it is also possible to use the statement VACUUM INTO 'file.db'; to backup the database to a new file.

Bağımsız Değişkenler

destination

A database connection opened with SQLite3::open().

sourceDatabase

The database name is "main" for the main database, "temp" for the temporary database, or the name specified after the AS keyword in an ATTACH statement for an attached database.

destinationDatabase

Analogous to sourceDatabase but for the destination.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Backup an existing database

<?php
// $conn is a connection to an already opened sqlite3 database

$backup = new SQLite3('backup.sqlite');
$conn->backup($backup);
?>


Sets the busy connection handler

  • « SQLite3::backup
  • SQLite3::changes »
  • PHP Manual
  • SQLite3
  • Sets the busy connection handler

SQLite3::busyTimeout

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

SQLite3::busyTimeout — Sets the busy connection handler

Açıklama

public SQLite3::busyTimeout(int $milliseconds): bool

Sets a busy handler that will sleep until the database is not locked or the timeout is reached.

Bağımsız Değişkenler

milliseconds

The milliseconds to sleep. Setting this value to a value less than or equal to zero, will turn off an already set timeout handler.

Dönen Değerler

Returns true on success, başarısızlık durumunda false döner.


Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür

  • « SQLite3::busyTimeout
  • SQLite3::close »
  • PHP Manual
  • SQLite3
  • Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür

SQLite3::changes

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::changes — Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür

Açıklama

public SQLite3::changes(): int

Veritabanında son SQL deyimi ile değişikliğe uğrayan, silinen veya yerleştirilen satır sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlem gören satır sayısını bir int değer olarak döndürür.

Örnekler

Örnek 1 - SQLite3::changes() örneği

<?php
$db = new SQLite3('mysqlitedb.db');

$query = $db->exec('UPDATE counter SET views=0 WHERE page="test"');
if ($query) {
echo 'İşlem gören satır sayısı: ', $db->changes();
}
?>


Veritabanı bağlantısını kapatır

  • « SQLite3::changes
  • SQLite3::__construct »
  • PHP Manual
  • SQLite3
  • Veritabanı bağlantısını kapatır

SQLite3::close

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::close — Veritabanı bağlantısını kapatır

Açıklama

public SQLite3::close(): bool

Veritabanı bağlantısını kapatır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SQLite3::close() örneği

<?php
$db = new SQLite3('mysqlitedb.db');
$db->close();
?>


Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar

  • « SQLite3::close
  • SQLite3::createAggregate »
  • PHP Manual
  • SQLite3
  • Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar

SQLite3::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::__construct — Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar

Açıklama

public SQLite3::__construct(string $dosya, int $seçenekler = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $anahtar = "")

Yeni bir SQLite3 nesnesini ilklendirdikten sonra dosya ile belirtilen SQLite veritabanına bir bağlantı açar. Eğer veritabanı şifreliyse anahtar ile şifresini çözmeye çalışır.

Bağımsız Değişkenler

dosya

SQLite veritabanını içeren dosyanın yolu veya veritabanını bellek içinde kullanmak için :memory:. dosya olarak boş bir dize verilmişse, disk üzerinde geçici olarak özel bir veritabanı oluşturulur. Bu özel veritabanı, veritabanı bağlantısı kapanır kapanmaz otomatik olarak silinir.

seçenekler

SQLite veritabanının nasıl açılacağını belirleyen seçimlik seçenekler. Öntanımlı olarak, SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE kullanılır.

  • SQLITE3_OPEN_READONLY: Veritabanı okumak için açılır.

  • SQLITE3_OPEN_READWRITE: Veritabanı hem okumak hem de yazmak için açılır.

  • SQLITE3_OPEN_CREATE: Veritabanı yoksa oluşturulur.

anahtar

SQLite veritabanını şifrelemek/şifresini çözmek için kullanılan şifreleme anahtarı. SQLite şifreleme modülü kurulu değilse, bu bağımsız değişkenin etkisi yoktur.

Hatalar/İstisnalar

Başarısızlık durumunda bir Exception yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.10 | Disk üzerinde geçici olarak oluşturulacak özel bir veritabanı kullanmak için dosya artık boş dize olabiliyor.

Örnekler

Örnek 1 - SQLite3::__construct() örneği

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (bar TEXT)');
$db->exec("INSERT INTO foo (bar) VALUES ('Bu bir denemedir.')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>


Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

  • « SQLite3::__construct
  • SQLite3::createCollation »
  • PHP Manual
  • SQLite3
  • Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

SQLite3::createAggregate

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::createAggregate — Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

Açıklama

public SQLite3::createAggregate(
string $isim,
callable $sekme_işlevi,
callable $son_işlev,
int $değş_sayısı = -1
): bool

SQL deyimlerinde toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini veya bir kullanıcı tanımlı işlevi kayda geçirir.

Bağımsız Değişkenler

isim

Oluşturulacak veya yeniden tanımlanacak toparlayıcı SQL işlevinin ismi.

sekme_işlevi

Sonuç kümesinin her satırı için çalıştırılacak geriçağırım işlevinin ismi. Bu geriçağırım işlevi sonucu biriktirmeli ve toparlayıcı bir bağlamda saklamalıdır.

Bu işlev şöyle tanımlanmalıdır:

sekme_işlevi(
mixed $bağlam,
int $satır_num,
mixed $değer,
mixed ...$değerler
): mixed
bağlam

İlk satır için null; sonraki satırlarda sekme_işlevinden evvelce dönmüş değer. Bunu toparlayıcı bağlamı oluşturmakta kullanmalısınız.

satır_num

İşlenen satır numarası.

değer

Toparlayıcı bağlama aktarılacak ilk bağımsız değişken.

değerler

Toparlayıcı bağlama aktarılacak diğer bağımsız değişkenler.

Bu işlevin dönüş değeri ardından çağrılacak sekme_işlevi veya son_işlevin bağlam bağımsız değişkeninde kullanılmalıdır.

son_işlev

Veri toplama işlemi bittikten sonra çalıştırılacak geriçağırım işlevinin ismi. Tüm satırlar işlendikten sonra, bu işlev çağrılmalı ve ardından verileri toparlama bağlamından alıp sonucu döndürmelidir. Bu geri çağırım işlevi, SQLite tarafından bilinen türde bir değer (yani değişmez bir değer) döndürmelidir.

Bu işlev şöyle tanımlanmalıdır:

son_işlev(mixed $bağlam, int $satır_num): mixed
bağlam

Son sekme_işlevinden dönen değer.

satır_num

Daima 0.

Bu işlevin dönüş değeri toparlayıcı için dönüş değeri olarak kullanılır.

değş_sayısı

SQL işlevinin alacağı bağımsız değişken sayısı. Negatif bir sayı belirtilirse SQL işlevi herhangi bir sayıda bağımsız değişken alabilir demektir.

Dönen Değerler

Toparlayıcı başarıyla oluşturulmuşsa true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - en_uzun toparlayıcı işlev örneği

<?php
$data = array(
'one',
'two',
'three',
'four',
'five',
'six',
'seven',
'eight',
'nine',
'ten',
);
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE strings(a)");
$insert = $db->prepare('INSERT INTO strings VALUES (?)');
foreach ($data as $str) {
$insert->bindValue(1, $str);
$insert->execute();
}
$insert = null;

function en_uzun_sekme($baglam, $str_num, $dizge)
{
if (strlen($dizge) > $baglam) {
$baglam = strlen($dizge);
}
return $baglam;
}

function en_uzun_son($baglam, $str_num)
{
return $baglam === null ? 0 : $baglam;
}

$db->createAggregate('en_uzun', 'en_uzun_sekme', 'en_uzun_son');

var_dump($db->querySingle('SELECT en_uzun(a) from strings'));
?>

Yukarıdaki örneğin çıktısı:

int(5)

Bu örnekte, tablonun sütunlarından birindeki en uzun dizenin uzunluğunu hesaplayacak bir toparlama işlevi oluşturulmaktadır. Her satır için en_uzun_sekme işlevi çağrılmakta ve bir $baglam bağımsız değişkenine aktarılmaktadır. $baglam bağımsız değişkeni, diğer PHP değişkenleri gibidir ve bir diziyi veya hatta bir nesne değerini tutacak şekilde ayarlanabilir. Bu örnekte, bulunan en büyük uzunluğu tutmak için kullanılmaktadır. $dizge önceki en uzun dizgeden daha uzunsa, $baglam bağımsız değişkeni bu yeni değeri tutacak şekilde güncellenmektedir.

Tüm satırlar işlendikten sonra SQLite, toparlama sonucunu belirlemek için en_uzun_son işlevini çağırır. Burada, $baglamda bulunan verilere dayanarak bir tür hesaplama yapılabilir. Yine de bu basit örnekte, sorgu ilerledikçe sonuç hesaplanmakta, bu nedenle bağlam değerini döndürmek yeterli olmaktadır.

İpucu

SQLite'ın sorguyu işlemek için çok fazla bellek kullanmasına neden olacağından, değerlerin bir kopyasının bağlamda saklanması ve ardından bunların en sonda işlenmesi ÖNERİLMEZ. Her biri 32 bayt uzunluğunda bir dizge içeren bir milyon satır...

İpucu

SQLite3::createAggregate() yöntemi SQLite'ın dahili SQL işlevlerini geçersiz kılmak için kullanılabilir.


Registers a PHP function for use as an SQL collating function

  • « SQLite3::createAggregate
  • SQLite3::createFunction »
  • PHP Manual
  • SQLite3
  • Registers a PHP function for use as an SQL collating function

SQLite3::createCollation

(PHP 5 >= 5.3.11, PHP 7, PHP 8)

SQLite3::createCollation — Registers a PHP function for use as an SQL collating function

Açıklama

public SQLite3::createCollation(string $name, callable $callback): bool

Registers a PHP function or user-defined function for use as a collating function within SQL statements.

Bağımsız Değişkenler

name

Name of the SQL collating function to be created or redefined

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two values and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

collation(mixed $value1, mixed $value2): int

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SQLite3::createCollation() example

Register the PHP function strnatcmp() as a collating sequence in the SQLite3 database.

<?php

$db = new SQLite3(":memory:");
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->createCollation('NATURAL_CMP', 'strnatcmp');

$defaultSort = $db->query("SELECT col1 FROM test ORDER BY col1");
$naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");

echo "default:\n";
while ($row = $defaultSort->fetchArray()){
echo $row['col1'], "\n";
}

echo "\nnatural:\n";
while ($row = $naturalSort->fetchArray()){
echo $row['col1'], "\n";
}

$db->close();

?>

Yukarıdaki örneğin çıktısı:

default:
a1
a10
a2

natural:
a1
a2
a10

Ayrıca Bakınız

  • The SQLite collation documentation: » http://sqlite.org/datatype3.html#collation


Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

  • « SQLite3::createCollation
  • SQLite3::enableExceptions »
  • PHP Manual
  • SQLite3
  • Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

SQLite3::createFunction

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::createFunction — Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir

Açıklama

public SQLite3::createFunction(
string $isim,
callable $işlev,
int $değş_sayısı = -1,
int $seçenekler = 0
): bool

Mevcut veya yeni bir SQL işlevinin davranışını tanımlamak üzere bir geriçağırım işlevi olarak kullanılacak bir geriçağırım işlevini kayda geçirir.

Bağımsız Değişkenler

isim

Oluşturulacak veya yeniden tanımlanacak SQL işlevi.

işlev

SQL işlevinin davranışını tanımlamak üzere bir geriçağırım işlevi olarak kullanılacak bir PHP işlevi veya kullanıcı tanımlı bir işlevin ismi.

Bu işlev şöyle tanımlanmalıdır:

işlev(mixed $değer, mixed ...$değerler): mixed
değer

SQL işlevine aktarılacak ilk bağımsız değişken.

değerler

SQL işlevine aktarılacak diğer bağımsız değişkenler.

değ_sayısı

SQL işlevinin alacağı bağımsız değişken sayısı. -1 belirtilirse SQL işlevi herhangi bir sayıda bağımsız değişken alabilir demektir.

seçenekler

Seçeneklerin bitsel birleşimi. Şimdilik sadece, işlevin tek bir SQL deyiminde aynı girdiler verildiğinde her zaman aynı sonucu döndüreceğini belirten SQLITE3_DETERMINISTIC desteklenmektedir.

Dönen Değerler

İşlev başarıyla oluşturulmuşsa true yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.4 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - SQLite3::createFunction() örneği

<?php
function my_udf_md5($string) {
return md5($string);
}

$db = new SQLite3('mysqlitedb.db');
$db->createFunction('my_udf_md5', 'my_udf_md5');

var_dump($db->querySingle('SELECT my_udf_md5("test")'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(32) "098f6bcd4621d373cade4e832627b4f6"


Enable throwing exceptions

  • « SQLite3::createFunction
  • SQLite3::escapeString »
  • PHP Manual
  • SQLite3
  • Enable throwing exceptions

SQLite3::enableExceptions

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::enableExceptions — Enable throwing exceptions

Açıklama

public SQLite3::enableExceptions(bool $enable = false): bool

Controls whether the SQLite3 instance will throw exceptions or warnings on error.

Bağımsız Değişkenler

enable

When true, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will throw exceptions on error.

When false, the SQLite3 instance, and SQLite3Stmt and SQLite3Result instances derived from it, will raise warnings on error.

For either mode, the error code and message, if any, will be available via SQLite3::lastErrorCode() and SQLite3::lastErrorMsg() respectively.

Dönen Değerler

Returns the old value; true if exceptions were enabled, false otherwise.

Örnekler

Örnek 1 SQLite3::enableExceptions() example

<?php
$sqlite = new SQLite3(':memory:');
try {
$sqlite->exec('create table foo');
$sqlite->enableExceptions(true);
$sqlite->exec('create table bar');
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Warning: SQLite3::exec(): near "foo": syntax error in example.php on line 4
Caught exception: near "bar": syntax error


Gerektiği gibi öncelenmiş bir dizge döndürür

  • « SQLite3::enableExceptions
  • SQLite3::exec »
  • PHP Manual
  • SQLite3
  • Gerektiği gibi öncelenmiş bir dizge döndürür

SQLite3::escapeString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::escapeString — Gerektiği gibi öncelenmiş bir dizge döndürür

Açıklama

public static SQLite3::escapeString(string $veri): string

Belirtilen veri gerekli öncelemlerle bir SQL deyiminde güvenle kullanılabilir hale getirilip bir dizge olarak döndürülür.

Uyarı

Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirebilir.

null karakterler içerebilen BLOB alanlarını düzgünce işlemek için bunun yerine SQLite3Stmt::bindParam() işlevi kullanılmalıdır.

Bağımsız Değişkenler

veri

Öncelenecek dizge.

Dönen Değerler

Bir SQL deyiminde güvenle kullanılabilir hale getirilmiş dizgeyi döndürür.

Notlar

Uyarı

SQLite sorgularında kullanacığınız dizgeleri addslashes() kullanarak öncelememelisiniz. Aksi takdirde tuhaf sonuçlar alabilirsiniz.


Sonuç döndürmeyen bir SQL sorgusu çalıştırır

  • « SQLite3::escapeString
  • SQLite3::lastErrorCode »
  • PHP Manual
  • SQLite3
  • Sonuç döndürmeyen bir SQL sorgusu çalıştırır

SQLite3::exec

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::exec — Sonuç döndürmeyen bir SQL sorgusu çalıştırır

Açıklama

public SQLite3::exec(string $sorgu): bool

Sonuç döndürmeyen bir SQL sorgusu çalıştırır.

Bilginize: SQLite3, sorguların çalıştırılması sırasında » geçici dosyalar oluşturabilir, bu bakımdan ilgili dizinler yazılabilir olmalıdır

Bağımsız Değişkenler

sorgu

Sonuç döndürmeyen CREATE, INSERT, UPDATE, DELETE gibi bir sorgu.

Dönen Değerler

İstek başarıyla yerine getirilirse true yoksa false döner.

Örnekler

Örnek 1 - SQLite3::exec() örneği

<?php
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE bar (bar TEXT)');
?>


Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür

  • « SQLite3::exec
  • SQLite3::lastErrorMsg »
  • PHP Manual
  • SQLite3
  • Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür

SQLite3::lastErrorCode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastErrorCode — Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür

Açıklama

public SQLite3::lastErrorCode(): int

Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sonuç kodu bir tamsayı olarak döner.


Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür

  • « SQLite3::lastErrorCode
  • SQLite3::lastInsertRowID »
  • PHP Manual
  • SQLite3
  • Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür

SQLite3::lastErrorMsg

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastErrorMsg — Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür

Açıklama

public SQLite3::lastErrorMsg(): string

Başarısız olan son SQLite isteğinin başarısızlığını açıklayan İngilizce iletiyi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarısızlığın sebebini açıklayan iletiyi içeren bir dizge döner.


Veritabanına en son yerleştirilen satırın kimliğini döndürür

  • « SQLite3::lastErrorMsg
  • SQLite3::loadExtension »
  • PHP Manual
  • SQLite3
  • Veritabanına en son yerleştirilen satırın kimliğini döndürür

SQLite3::lastInsertRowID

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::lastInsertRowID — Veritabanına en son yerleştirilen satırın kimliğini döndürür

Açıklama

public SQLite3::lastInsertRowID(): int

Veritabanına en son yerleştirilen (INSERT) satırın kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Satır kimliği bir tamsayı olarak döner. Veritabanı bağlantısı boyunca hiçbir satır yerleştirilmemişse işlev 0 döndürür.


Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır

  • « SQLite3::lastInsertRowID
  • SQLite3::open »
  • PHP Manual
  • SQLite3
  • Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır

SQLite3::loadExtension

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::loadExtension — Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır

Açıklama

public SQLite3::loadExtension(string $isim): bool

isim ile ismi belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır.

Bağımsız Değişkenler

isim

Yüklenecek paylaşımlı kütüphanenin ismi. Kütüphane sqlite3.extension_dir yapılandırma yönergesinde belirtilen dizinde olmalıdır.

Dönen Değerler

Eklenti başarıyla yüklendiği takdirde true yoksa false döner.

Örnekler

Örnek 1 - SQLite3::loadExtension() örneği

<?php
$db = new SQLite3('mysqlitedb.db');
$db->loadExtension('libagg.so');
?>


Bir SQLite veritabanını açar

  • « SQLite3::loadExtension
  • SQLite3::openBlob »
  • PHP Manual
  • SQLite3
  • Bir SQLite veritabanını açar

SQLite3::open

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::open — Bir SQLite veritabanını açar

Açıklama

public SQLite3::open(string $dosya, int $seçenekler = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE, string $anahtar = ""): void

dosya ile belirtilen SQLite3 veritabanını açar. Veritabanı şifreli ise belirtilen anahtar ile şifresi çözülmeye çalışılır.

Bağımsız Değişkenler

dosya

SQLite veritabanını içeren dosyanın yolu veya veritabanı bellekte tutulacaksa :memory:.

seçenekler

SQLite veritabanının nasıl açılacağını belirleyen seçimlik seçenekler. Öntanımlı olarak, SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE kullanılır.

  • SQLITE3_OPEN_READONLY: Veritabanı okumak için açılır.

  • SQLITE3_OPEN_READWRITE: Veritabanı hem okumak hem de yazmak için açılır.

  • SQLITE3_OPEN_CREATE: Veritabanı yoksa oluşturulur.

anahtar

SQLite veritabanını şifrelemek/şifresini çözmek için kullanılan şifreleme anahtarı. SQLite şifreleme modülü kurulu değilse bu bağımsız değişken etkisizdir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - SQLite3::open() örneği

<?php
/**
* SQLite3 sınıfını genişleten ve kurucu bağımsız değişkenleri ile veritabanını
* ilklendirmek için open yöntemini kullanan basit bir örnek
*/
class MyDB extends SQLite3
{
function __construct()
{
$this->open('mysqlitedb.db');
}
}

$db = new MyDB();

$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('Bu bir denemedir')");

$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>


Opens a stream resource to read a BLOB

  • « SQLite3::open
  • SQLite3::prepare »
  • PHP Manual
  • SQLite3
  • Opens a stream resource to read a BLOB

SQLite3::openBlob

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::openBlob — Opens a stream resource to read a BLOB

Açıklama

public SQLite3::openBlob(
string $table,
string $column,
int $rowid,
string $database = "main",
int $flags = SQLITE3_OPEN_READONLY
): resource|false

Opens a stream resource to read or write a BLOB, which would be selected by:

SELECT column FROM database.table WHERE rowid = rowid

Bilginize: It is not possible to change the size of a BLOB by writing to the stream. Instead, an UPDATE statement has to be executed, possibly using SQLite's zeroblob() function to set the desired BLOB size.

Bağımsız Değişkenler

table

The table name.

column

The column name.

rowid

The row ID.

database

The symbolic name of the DB

flags

Either SQLITE3_OPEN_READONLY or SQLITE3_OPEN_READWRITE to open the stream for reading only, or for reading and writing, respectively.

Dönen Değerler

Returns a stream resource, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | The flags parameter has been added, allowing to write BLOBs; formerly only reading was supported.

Örnekler

Örnek 1 SQLite3::openBlob() example

<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES ('Lorem ipsum')");
$stream = $conn->openBlob('test', 'text', 1);
echo stream_get_contents($stream);
fclose($stream); // mandatory, otherwise the next line would fail
$conn->close();
?>

Yukarıdaki örneğin çıktısı:

Lorem ipsum

Örnek 2 Incrementally writing a BLOB

<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES (zeroblob(36))");
$stream = $conn->openBlob('test', 'text', 1, 'main', SQLITE3_OPEN_READWRITE);
for ($i = 0; $i < 3; $i++) {
fwrite($stream, "Lorem ipsum\n");
}
fclose($stream);
echo $conn->querySingle("SELECT text FROM test");
$conn->close();
?>

Yukarıdaki örneğin çıktısı:

Lorem ipsum
Lorem ipsum
Lorem ipsum


Çalıştırılmak üzere bir SQL sorgusu hazırlar

  • « SQLite3::openBlob
  • SQLite3::query »
  • PHP Manual
  • SQLite3
  • Çalıştırılmak üzere bir SQL sorgusu hazırlar

SQLite3::prepare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::prepare — Çalıştırılmak üzere bir SQL sorgusu hazırlar

Açıklama

public SQLite3::prepare(string $sorgu): SQLite3Stmt|false

Çalıştırılmak üzere bir SQL sorgusu hazırlar ve bir SQLite3Stmt nesnesi olarak döndürür.

Bağımsız Değişkenler

sorgu

Hazırlanacak SQL sorgusu.

Dönen Değerler

İşlem başarılı olursa bir SQLite3Stmt nesnesi, yoksa false döner.

Örnekler

Örnek 1 - SQLite3::prepare() örneği

<?php
unlink('mysqlitedb.db');
$db = new SQLite3('mysqlitedb.db');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'Bu bir denemedir')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray());
?>

Ayrıca Bakınız

  • SQLite3Stmt::paramCount() - Hazır deyimdeki değişken sayısını döndürür
  • SQLite3Stmt::bindValue() - Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
  • SQLite3Stmt::bindParam() - Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir


Bir SQL sorgusu çalıştırır

  • « SQLite3::prepare
  • SQLite3::querySingle »
  • PHP Manual
  • SQLite3
  • Bir SQL sorgusu çalıştırır

SQLite3::query

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::query — Bir SQL sorgusu çalıştırır

Açıklama

public SQLite3::query(string $sorgu): SQLite3Result|false

SQLite3Result nesnesi döndürerek bir SQL sorgusu çalıştırır. Sorgu bir sonuç üretmezse (DML deyimleri gibi), dönen SQLite3Result nesnesi kullanılabilir durumda olmaz. Böyle sorgular için SQLite3::exec() kullanılmalıdır.

Bağımsız Değişkenler

sorgu

Çalıştırılacak SQL sorgusu.

Dönen Değerler

Bir SQLite3Result nesnesi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SQLite3::query() örneği

<?php
$db = new SQLite3('mysqlitedb.db');

$results = $db->query('SELECT bar FROM foo');
while ($row = $results->fetchArray()) {
var_dump($row);
}
?>


Bir sorgu çalıştırıp tek bir sonuç döndürür

  • « SQLite3::query
  • SQLite3::setAuthorizer »
  • PHP Manual
  • SQLite3
  • Bir sorgu çalıştırıp tek bir sonuç döndürür

SQLite3::querySingle

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::querySingle — Bir sorgu çalıştırıp tek bir sonuç döndürür

Açıklama

public SQLite3::querySingle(string $sorgu, bool $tüm_satır = false): mixed

Bir sorgu çalıştırıp tek bir sonuç döndürür.

Bağımsız Değişkenler

sorgu

Çalıştırılacak SQL sorgusu.

tüm_satır

Öntanımlı olarak sorgudan ilk sütunun değeri döner. Bu bağımsız değişkende true belirtilirse ilk satırın tamamı bir dizi olarak döndürülür.

Dönen Değerler

tüm_satır bağımsız değişkeninde true belirtilmişse sonucun ilk satırını içeren bir dizi yoksa ilk sütunun değeri döner.

Sorgu geçerli olduğu halde sonuç dönmezse ve tüm_satır bağımsız değişkeninde true belirtilmişse boş bir dizi, false belirtilmişse null döner.

Geçersiz ve başarısız sorgular false döndürür.

Örnekler

Örnek 1 - SQLite3::querySingle() örneği

<?php
$db = new SQLite3('mysqlitedb.db');

var_dump($db->querySingle('SELECT username FROM user WHERE userid=1'));
print_r($db->querySingle('SELECT username, email FROM user WHERE userid=1',
true));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "Scott"
Array
(
    [username] => Scott
    [email] => scott@example.com
)


Configures a callback to be used as an authorizer to limit what a statement can do

  • « SQLite3::querySingle
  • SQLite3::version »
  • PHP Manual
  • SQLite3
  • Configures a callback to be used as an authorizer to limit what a statement can do

SQLite3::setAuthorizer

(PHP 8)

SQLite3::setAuthorizer — Configures a callback to be used as an authorizer to limit what a statement can do

Açıklama

public SQLite3::setAuthorizer(?callable $callback): bool

Sets a callback that will be called by SQLite every time an action is performed (reading, deleting, updating, etc.). This is used when preparing a SQL statement from an untrusted source to ensure that the SQL statements do not try to access data they are not allowed to see, or that they do not try to execute malicious statements that damage the database. For example, an application may allow a user to enter arbitrary SQL queries for evaluation by a database. But the application does not want the user to be able to make arbitrary changes to the database. An authorizer could then be put in place while the user-entered SQL is being prepared that disallows everything except SELECT statements.

The authorizer callback may be called multiple times for each statement prepared by SQLite. A SELECT or UPDATE query will call the authorizer for every column that would be read or updated.

The authorizer is called with up to five parameters. The first parameter is always given, and is an int (action code) matching a constant from SQLite3. The other parameters are only passed for some actions. The following table describes the second and third parameters according to the action:

List of action codes and parameters
Action | Second parameter | Third parameter
SQLite3::CREATE_INDEX | Index Name | Table Name
SQLite3::CREATE_TABLE | Table Name | null
SQLite3::CREATE_TEMP_INDEX | Index Name | Table Name
SQLite3::CREATE_TEMP_TABLE | Table Name | null
SQLite3::CREATE_TEMP_TRIGGER | Trigger Name | Table Name
SQLite3::CREATE_TEMP_VIEW | View Name | null
SQLite3::CREATE_TRIGGER | Trigger Name | Table Name
SQLite3::CREATE_VIEW | View Name | null
SQLite3::DELETE | Table Name | null
SQLite3::DROP_INDEX | Index Name | Table Name
SQLite3::DROP_TABLE | Table Name | null
SQLite3::DROP_TEMP_INDEX | Index Name | Table Name
SQLite3::DROP_TEMP_TABLE | Table Name | null
SQLite3::DROP_TEMP_TRIGGER | Trigger Name | Table Name
SQLite3::DROP_TEMP_VIEW | View Name | null
SQLite3::DROP_TRIGGER | Trigger Name | Table Name
SQLite3::DROP_VIEW | View Name | null
SQLite3::INSERT | Table Name | null
SQLite3::PRAGMA | Pragma Name | First argument passed to the pragma, or null
SQLite3::READ | Table Name | Column Name
SQLite3::SELECT | null | null
SQLite3::TRANSACTION | Operation | null
SQLite3::UPDATE | Table Name | Column Name
SQLite3::ATTACH | Filename | null
SQLite3::DETACH | Database Name | null
SQLite3::ALTER_TABLE | Database Name | Table Name
SQLite3::REINDEX | Index Name | null
SQLite3::ANALYZE | Table Name | null
SQLite3::CREATE_VTABLE | Table Name | Module Name
SQLite3::DROP_VTABLE | Table Name | Module Name
SQLite3::FUNCTION | null | Function Name
SQLite3::SAVEPOINT | Operation | Savepoint Name
SQLite3::RECURSIVE | null | null

The 4th parameter will be the name of the database ("main", "temp", etc.) if applicable.

The 5th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or null if this access attempt is directly from top-level SQL code.

When the callback returns SQLite3::OK, that means the operation requested is accepted. When the callback returns SQLite3::DENY, the call that triggered the authorizer will fail with an error message explaining that access is denied.

If the action code is SQLite3::READ and the callback returns SQLite3::IGNORE then the prepared statement is constructed to substitute a null value in place of the table column that would have been read if SQLite3::OK had been returned. The SQLite3::IGNORE return can be used to deny an untrusted user access to individual columns of a table.

When a table is referenced by a SELECT but no column values are extracted from that table (for example in a query like "SELECT count(*) FROM table") then the SQLite3::READ authorizer callback is invoked once for that table with a column name that is an empty string.

If the action code is SQLite3::DELETE and the callback returns SQLite3::IGNORE then the DELETE operation proceeds but the truncate optimization is disabled and all rows are deleted individually.

Only a single authorizer can be in place on a database connection at a time. Each call to SQLite3::setAuthorizer() overrides the previous call. Disable the authorizer by installing a null callback. The authorizer is disabled by default.

The authorizer callback must not do anything that will modify the database connection that invoked the authorizer callback.

Note that the authorizer is only called when a statement is prepared, not when it's executed.

More details can be found in the » SQLite3 documentation.

Bağımsız Değişkenler

callback

The callable to be called.

If null is passed instead, this will disable the current authorizer callback.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method doesn't throw any error, but if an authorizer is enabled and returns an invalid value, the statement preparation will throw an error (or exception, depending on the use of the SQLite3::enableExceptions() method).

Örnekler

Örnek 1 SQLite3::setAuthorizer() example

This only allows access to reading, and only some columns of the users table will be returned. Other columns will be replaced with null.

<?php
$db = new SQLite3('data.sqlite');
$db->exec('CREATE TABLE users (id, name, password);');
$db->exec('INSERT INTO users VALUES (1, \'Pauline\', \'Snails4eva\');');

$allowed_columns = ['id', 'name'];

$db->setAuthorizer(function (int $action, ...$args) use ($allowed_columns) {
if ($action === SQLite3::READ) {
list($table, $column) = $args;

if ($table === 'users' && in_array($column, $allowed_columns) {
return SQLite3::OK;
}

return SQLite3::IGNORE;
}

return SQLite3::DENY;
});

print_r($db->querySingle('SELECT * FROM users WHERE id = 1;'));

Yukarıdaki örneğin çıktısı:

Array
(
    [id] => 1
    [name] => Pauline
    [password] =>
)


SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür

  • « SQLite3::setAuthorizer
  • SQLite3Stmt »
  • PHP Manual
  • SQLite3
  • SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür

SQLite3::version

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3::version — SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür

Açıklama

public static SQLite3::version(): array

SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

"versionString" ve "versionNumber" anahtarlarına sahip bir ilişkisel dizi döndürür.

Örnekler

Örnek 1 - SQLite3::version() örneği

<?php
print_r(SQLite3::version());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [versionString] => 3.5.9
    [versionNumber] => 3005009
)


SQLite3Stmt sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

SQLite 3 eklentisi için hazır deyimleri içeren sınıf.

Sınıf Sözdizimi

class SQLite3Stmt {
/* Yöntemler */
private __construct(SQLite3 $sqlite3, string $query)
public bindParam(string $sql_değişkeni, string|int &$php_değişkeni, int $tür = SQLITE3_TEXT): bool
public bindValue(string|int $değişken, mixed $değer, int $tür = SQLITE3_TEXT): bool
public clear(): bool
public close(): bool
public execute(): SQLite3Result|false
public getSQL(bool $expand = false): string|false
public paramCount(): int
public readOnly(): bool
public reset(): bool
}

İçindekiler

  • SQLite3Stmt::bindParam — Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir
  • SQLite3Stmt::bindValue — Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
  • SQLite3Stmt::clear — Tüm bağımsız değişken ilişkilendirmelerini temizler
  • SQLite3Result::close — Hazır deyimi kapatır
  • SQLite3Stmt::__construct — Constructs an SQLite3Stmt object
  • SQLite3Stmt::execute — Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür
  • SQLite3Stmt::getSQL — Get the SQL of the statement
  • SQLite3Stmt::paramCount — Hazır deyimdeki değişken sayısını döndürür
  • SQLite3Stmt::readOnly — Returns whether a statement is definitely read only
  • SQLite3Stmt::reset — Hazır deyimi sıfırlar


Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir

  • « SQLite3Stmt
  • SQLite3Stmt::bindValue »
  • PHP Manual
  • SQLite3Stmt
  • Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::bindParam — Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir

Açıklama

public SQLite3Stmt::bindParam(string $sql_değişkeni, string|int &$php_değişkeni, int $tür = SQLITE3_TEXT): bool

php_değişkeni ile sql_değişkenini ilişkilendirir.

Dikkat

PHP 7.2.14 ve 7.3.0 öncesinde, sql_değişkeninin izleyen SQLite3Stmt::execute() çağrıları ile uygun şekilde güncellenmesi gerekiyorsa ilk SQLite3Stmt::execute() çağrısından sonra SQLite3Stmt::reset() çağrılmalıdır. SQLite3Stmt::reset() çağrılmazsa, SQLite3Stmt::bindParam() yöntemine aktarılan php_değişkenie atanan değer değişse veya SQLite3Stmt::bindParam() yeniden çağrılsa bile sql_değişkeninin değeri değişmeyecektir.

Bağımsız Değişkenler

sql_değişkeni

php_değişkeninin ilişkilendirileceği sql_değişkenini tanımlayan bir dizge (isimli bağımsız değişkenler için) veya tamsayı (konumsal bağımsız değişkenler için). İki nokta üst üste (:) imi veya @ imi ile öncelenmemiş bir isimli sql_değişkeni iki nokta üst üste imi ile otomatik olarak öncelenir. Konumsal değişkenler 1'den başlar.

php_değişkeni

sql_değişkenii ile ilişkilendirilecek değişken.

tür

İlişkilendirilecek php_değişkeninin veri türü

  • SQLITE3_INTEGER: İşaretli tamsayı. Değerin büyüklüğüne göre 1, 2, 3, 4, 6 veya 8 bayt genişlikte olabilir.

  • SQLITE3_FLOAT: Gerçek sayı. Bir 8 baytlık IEEE kayan noktalı sayı olarak saklanır.

  • SQLITE3_TEXT: Bir dizge. Veritabanının karakter kodlamasıyla kodlanır (UTF-8, UTF-16BE veya UTF-16-LE).

  • SQLITE3_BLOB: İkil veri. Veri girildiği haliyle saklanır.

  • SQLITE3_NULL: null değer.

PHP 7.0.7 itibariyle, tür atlanmışsa, php_değişkeni: bool türünden otomatik olarak saptanır. int türü SQLITE3_INTEGER olarak, float türü SQLITE3_FLOAT olarak, null türü SQLITE3_NULL ve tüm diğerleriSQLITE3_TEXT olarak ele alınır. Evvelce, tür atlanmışsa, SQLITE3_TEXT öntanımlıydı.

Bilginize:

php_değişkeni için null belirtilmişse, belirtilen türe bakılmaksızın daima SQLITE3_NULL olarak ele alınır.

Dönen Değerler

php_değişkeni ile sql_değişkeni ilişkilendirilebilmişse true yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | sql_değişkeni için artık @sql_değişkeni gösterimi de destekleniyor.

Örnekler

Örnek 1 - SQLite3Stmt::bindParam() kullanımı

Bu örnekte, tek bir bağımsız değişken ile ilişkilendirilmiş tek bir hazırlanmış deyimin farklı değerlere sahip çok sayıda satırı yerleştirmek için nasıl kulllanılacağı gösterilmiştir.

<?php
$db = new SQLite3(':memory:');
$db->exec("CREATE TABLE foo (bar TEXT)");

$stmt = $db->prepare("INSERT INTO foo VALUES (:bar)");
$stmt->bindParam(':bar', $bar, SQLITE3_TEXT);

$bar = 'baz';
$stmt->execute();

$bar = 42;
$stmt->execute();

$res = $db->query("SELECT * FROM foo");
while (($row = $res->fetchArray(SQLITE3_ASSOC))) {
var_dump($row);
}
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bar"]=>
  string(3) "baz"
}
array(1) {
  ["bar"]=>
  string(2) "42"
}

Ayrıca Bakınız

  • SQLite3Stmt::bindValue() - Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
  • SQLite3::prepare() - Çalıştırılmak üzere bir SQL sorgusu hazırlar


Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir

  • « SQLite3Stmt::bindParam
  • SQLite3Stmt::clear »
  • PHP Manual
  • SQLite3Stmt
  • Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir

SQLite3Stmt::bindValue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::bindValue — Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir

Açıklama

public SQLite3Stmt::bindValue(string|int $değişken, mixed $değer, int $tür = SQLITE3_TEXT): bool

değer'i deyim değişkeni ile ilişkilendirir.

Dikkat

PHP 7.2.14 ve 7.3.0 öncesinde, deyimin her çalıştırılışında, ilişkili bağımsız değişkenlerin güncellenebilmesi için SQLite3Stmt::reset() çağrılması gerekirdi.

Bağımsız Değişkenler

değişken

değerin ilişkilendirileceği değişkeni tanımlayan bir dizge (isimli bağımsız değişkenler için) veya tamsayı (konumsal bağımsız değişkenler için). İki nokta üst üste (:) imi veya @ imi ile öncelenmemiş bir isimli değişken iki nokta üst üste imi ile otomatik olarak öncelenir. Konumsal değişkenler 1'den başlar.

değer

Deyim değişkeni ile ilişkilendirilecek değer.

tür

İlişkilendirilecek değerin veri türü.

  • SQLITE3_INTEGER: İşaretli tamsayı. Değerin büyüklüğüne göre 1, 2, 3, 4, 6 veya 8 bayt genişlikte olabilir.

  • SQLITE3_FLOAT: Gerçek sayı. Bir 8 baytlık IEEE kayan noktalı sayı olarak saklanır.

  • SQLITE3_TEXT: Bir dizge. Veritabanının karakter kodlamasıyla kodlanır (UTF-8, UTF-16BE veya UTF-16-LE).

  • SQLITE3_BLOB: İkil veri. Veri girildiği haliyle saklanır.

  • SQLITE3_NULL: null değer.

PHP 7.0.7 itibariyle, tür atlanmışsa, değer: bool türünden otomatik olarak saptanır. int türü SQLITE3_INTEGER olarak, float türü SQLITE3_FLOAT olarak, null türü SQLITE3_NULL ve tüm diğerleriSQLITE3_TEXT olarak ele alınır. Evvelce, tür atlanmışsa, SQLITE3_TEXT öntanımlıydı.

Bilginize:

değer için null belirtilmişse, belirtilen türe bakılmaksızın daima SQLITE3_NULL olarak ele alınır.

Dönen Değerler

Değer, deyim değişkeni ile ilişkilendirilebilmişse true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | değişken için artık @değişken gösterimi de destekleniyor.

Örnekler

Örnek 1 - SQLite3Stmt::bindValue() örneği

<?php
$db = new SQLite3(':memory:');

$db->exec('CREATE TABLE foo (id INTEGER, bar STRING)');
$db->exec("INSERT INTO foo (id, bar) VALUES (1, 'Bu bir denemedir')");

$stmt = $db->prepare('SELECT bar FROM foo WHERE id=:id');
$stmt->bindValue(':id', 1, SQLITE3_INTEGER);

$result = $stmt->execute();
var_dump($result->fetchArray(SQLITE3_ASSOC));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["bar"]=>
  string(16) "Bu bir denemedir"
}

Ayrıca Bakınız

  • SQLite3Stmt::bindParam() - Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir
  • SQLite3::prepare() - Çalıştırılmak üzere bir SQL sorgusu hazırlar


Tüm bağımsız değişken ilişkilendirmelerini temizler

  • « SQLite3Stmt::bindValue
  • SQLite3Result::close »
  • PHP Manual
  • SQLite3Stmt
  • Tüm bağımsız değişken ilişkilendirmelerini temizler

SQLite3Stmt::clear

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::clear — Tüm bağımsız değişken ilişkilendirmelerini temizler

Açıklama

public SQLite3Stmt::clear(): bool

Tüm bağımsız değişken ilişkilendirmelerini temizler (null atar).

Dikkat

Bu yöntem SQLite3Stmt::reset() kullanımını gerektirir. Kullanılmazsa, herhangi bir SQLite3Stmt::bindValue() veya SQLite3Stmt::bindParam() çağrısı etkisiz ve tüm ilişkili değişkenlerin değeri null olacaktır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tüm bağımsız değişken ilişkilendirmelerini temizlenebilmişse true yoksa false döner.


Hazır deyimi kapatır

  • « SQLite3Stmt::clear
  • SQLite3Stmt::__construct »
  • PHP Manual
  • SQLite3Stmt
  • Hazır deyimi kapatır

SQLite3Result::close

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

::close — Hazır deyimi kapatır

Açıklama

public SQLite3Stmt::close(): bool

Hazır deyimi kapatır.

Bilginize: Bu SQLite3Stmt çalıştırılarak elde edilen tüm SQLite3Resultlar deyim kapandığında geçersiz olur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true döner.


Constructs an SQLite3Stmt object

  • « SQLite3Result::close
  • SQLite3Stmt::execute »
  • PHP Manual
  • SQLite3Stmt
  • Constructs an SQLite3Stmt object

SQLite3Stmt::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SQLite3Stmt::__construct — Constructs an SQLite3Stmt object

Açıklama

private SQLite3Stmt::__construct(SQLite3 $sqlite3, string $query)

SQLite3Stmt instances are created by SQLite3::prepare().

Bağımsız Değişkenler

sqlite3

query


Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür

  • « SQLite3Stmt::__construct
  • SQLite3Stmt::getSQL »
  • PHP Manual
  • SQLite3Stmt
  • Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür

SQLite3Stmt::execute

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::execute — Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür

Açıklama

public SQLite3Stmt::execute(): SQLite3Result|false

Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür

Dikkat

Aynı deyim nesnesi üzerinde bu yöntem çağrılarak elde edilen sonuç kümesi nesneleri bağımsızdır, ancak aynı alt yapıyı paylaşırlar. Bu bakımdan aynı deyim nesnesi üzerinde tekrar SQLite3Stmt::execute() çağırmadan önce SQLite3Result::finalize() çağrılması önerilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlem başarılı olmuşsa bir SQLite3Result nesnesi yoksa false döner.

Ayrıca Bakınız

  • SQLite3::prepare() - Çalıştırılmak üzere bir SQL sorgusu hazırlar
  • SQLite3Stmt::bindValue() - Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
  • SQLite3Stmt::bindParam() - Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir


Get the SQL of the statement

  • « SQLite3Stmt::execute
  • SQLite3Stmt::paramCount »
  • PHP Manual
  • SQLite3Stmt
  • Get the SQL of the statement

SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL — Get the SQL of the statement

Açıklama

public SQLite3Stmt::getSQL(bool $expand = false): string|false

Retrieves the SQL of the prepared statement. If expand is false, the unmodified SQL is retrieved. If expand is true, all query parameters are replaced with their bound values, or with an SQL NULL, if not already bound.

Bağımsız Değişkenler

expand

Whether to retrieve the expanded SQL. Passing true is only supported as of libsqlite 3.14.

Dönen Değerler

Returns the SQL of the prepared statement, başarısızlık durumunda false döner.

Hatalar/İstisnalar

If expand is true, but the libsqlite version is less than 3.14, an error of level E_WARNING or an Exception is issued, according to SQLite3::enableExceptions().

Örnekler

Örnek 1 Inspecting the expanded SQL

<?php
$db = new SQLite3(':memory:');
$stmt = $db->prepare("SELECT :a, ?, :c");
$stmt->bindValue(':a', 'foo');
$answer = 42;
$stmt->bindParam(2, $answer);
var_dump($stmt->getSQL(true));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(24) "SELECT 'foo', '42', NULL"


Hazır deyimdeki değişken sayısını döndürür

  • « SQLite3Stmt::getSQL
  • SQLite3Stmt::readOnly »
  • PHP Manual
  • SQLite3Stmt
  • Hazır deyimdeki değişken sayısını döndürür

SQLite3Stmt::paramCount

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::paramCount — Hazır deyimdeki değişken sayısını döndürür

Açıklama

public SQLite3Stmt::paramCount(): int

Hazır deyimdeki değişken sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hazır deyimdeki değişken sayısını bir tamsayı olarak döndürür.

Ayrıca Bakınız

  • SQLite3::prepare() - Çalıştırılmak üzere bir SQL sorgusu hazırlar


Returns whether a statement is definitely read only

  • « SQLite3Stmt::paramCount
  • SQLite3Stmt::reset »
  • PHP Manual
  • SQLite3Stmt
  • Returns whether a statement is definitely read only

SQLite3Stmt::readOnly

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

SQLite3Stmt::readOnly — Returns whether a statement is definitely read only

Açıklama

public SQLite3Stmt::readOnly(): bool

Returns whether a statement is definitely read only. A statement is considered read only, if it makes no direct changes to the content of the database file. Note that user defined SQL functions might change the database indirectly as a side effect.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if a statement is definitely read only, false otherwise.


Hazır deyimi sıfırlar

  • « SQLite3Stmt::readOnly
  • SQLite3Result »
  • PHP Manual
  • SQLite3Stmt
  • Hazır deyimi sıfırlar

SQLite3Stmt::reset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Stmt::reset — Hazır deyimi sıfırlar

Açıklama

public SQLite3Stmt::reset(): bool

Hazır deyimi çalıştırılmadan önceki durumuna getirir. Sıfırlama sonrası bağımsız değişken ilişkileri dokunulmamış olarak kalır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Deyim başarıyla sıfırlanabilmişse true, başarısızlık durumunda false döner.


SQLite3Result sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

SQLite 3 eklentisi için sonuç kümesini temsil eden sınıf.

Sınıf Sözdizimi

class SQLite3Result {
/* Yöntemler */
private __construct()
public columnName(int $sütun): string|false
public columnType(int $sütun): int|false
public fetchArray(int $kip = SQLITE3_BOTH): array|false
public finalize(): bool
public numColumns(): int
public reset(): bool
}

İçindekiler

  • SQLite3Result::columnName — Numarası belirtilen sütunun ismini döndürür
  • SQLite3Result::columnType — Numarası belirtilen sütunun türünü döndürür
  • SQLite3Result::__construct — Constructs an SQLite3Result
  • SQLite3Result::fetchArray — Sonuç satırını bir dizi olarak döndürür
  • SQLite3Result::finalize — Sonuç kümesini kapatır
  • SQLite3Result::numColumns — Sonuç kümesindeki sütun sayısını döndürür
  • SQLite3Result::reset — Sonuç kümesindeki geçerli satırı ilk satır yapar


Numarası belirtilen sütunun ismini döndürür

  • « SQLite3Result
  • SQLite3Result::columnType »
  • PHP Manual
  • SQLite3Result
  • Numarası belirtilen sütunun ismini döndürür

SQLite3Result::columnName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::columnName — Numarası belirtilen sütunun ismini döndürür

Açıklama

public SQLite3Result::columnName(int $sütun): string|false

sütun ile numarası belirtilen sütunun ismini döndürür. Sonuçlanan sütunun ismi bir AS tümcesi varsa, bu sütun için AS tümcesinin değeridir. Bir AS tümcesi yoksa sütun ismi belirsizdir ve libsqlite3'ün sonraki sürümlerinden birinde bu değişebilir.

Bağımsız Değişkenler

sütunnum

Sütunun sıra numarası. İlk sütunun numarası 0'dır.

Dönen Değerler

Belirtilen sütunun ismini bir dizge olarak döner, sütun yoksa false döner.


Numarası belirtilen sütunun türünü döndürür

  • « SQLite3Result::columnName
  • SQLite3Result::__construct »
  • PHP Manual
  • SQLite3Result
  • Numarası belirtilen sütunun türünü döndürür

SQLite3Result::columnType

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::columnType — Numarası belirtilen sütunun türünü döndürür

Açıklama

public SQLite3Result::columnType(int $sütun): int|false

sütun ile numarası belirtilen sütunun türünü dönürür.

Bağımsız Değişkenler

sütunnum

Sütunun sıra numarası. İlk sütunun numarası 0'dır.

Dönen Değerler

Sütunun yoksa false, varsa veri türü olarak şu sabitlerden biri döner: SQLITE3_INTEGER, SQLITE3_FLOAT, SQLITE3_TEXT, SQLITE3_BLOB, SQLITE3_NULL.


Constructs an SQLite3Result

  • « SQLite3Result::columnType
  • SQLite3Result::fetchArray »
  • PHP Manual
  • SQLite3Result
  • Constructs an SQLite3Result

SQLite3Result::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SQLite3Result::__construct — Constructs an SQLite3Result

Açıklama

private SQLite3Result::__construct()

SQLite3Result instances are created by SQLite3::query() and SQLite3Stmt::execute().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Sonuç satırını bir dizi olarak döndürür

  • « SQLite3Result::__construct
  • SQLite3Result::finalize »
  • PHP Manual
  • SQLite3Result
  • Sonuç satırını bir dizi olarak döndürür

SQLite3Result::fetchArray

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::fetchArray — Sonuç satırını bir dizi olarak döndürür

Açıklama

public SQLite3Result::fetchArray(int $kip = SQLITE3_BOTH): array|false

Sonuç satırını kip ile belirtildiği gibi satır isimleriyle veya satır numaraları ile ya da her ikisiyle de indisleyerek bir dizi olarak döndürür.

Bağımsız Değişkenler

kip

Döndürülecek dizinin nasıl düzenleneceğini belirler. Aşağıdaki sabitlerden biri olabilir. SQLITE3_BOTH öntanımlıdır.

  • SQLITE3_ASSOC: Dizi sütun isimleriyle indislenir.

  • SQLITE3_NUM: Dizi sütun numaraları ile indislenir. İlk sütunun indisi 0'dır.

  • SQLITE3_BOTH: Dizi hem sütun isimleriyle hem de sütun numaraları ile indislenir. İlk sütunun indisi 0'dır.

Dönen Değerler

Satır isimleriyle veya satır numaraları ile ya da her ikisiyle de indislenmiş bir dizi döner. Hiç satır yoksa false döner.

Dönen dizinin değerlerinin türü şu SQLite3 türleriyle eşleştirilir: PHP_INT_MIN..PHP_INT_MAX aralığındaki tamsayılar int türüne, aksi takdirde string türüne, gerçel sayılar float türüne, NULL değerler null türüne, dizgeler ve blob'lar ise string türüne eşlenir.


Sonuç kümesini kapatır

  • « SQLite3Result::fetchArray
  • SQLite3Result::numColumns »
  • PHP Manual
  • SQLite3Result
  • Sonuç kümesini kapatır

SQLite3Result::finalize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::finalize — Sonuç kümesini kapatır

Açıklama

public SQLite3Result::finalize(): bool

Sonuç kümesini kapatır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true döner.


Sonuç kümesindeki sütun sayısını döndürür

  • « SQLite3Result::finalize
  • SQLite3Result::reset »
  • PHP Manual
  • SQLite3Result
  • Sonuç kümesindeki sütun sayısını döndürür

SQLite3Result::numColumns

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::numColumns — Sonuç kümesindeki sütun sayısını döndürür

Açıklama

public SQLite3Result::numColumns(): int

Sonuç kümesindeki sütun sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sütun sayısı bir tamsayı olarak döner.


Sonuç kümesindeki geçerli satırı ilk satır yapar

  • « SQLite3Result::numColumns
  • SQLSRV »
  • PHP Manual
  • SQLite3Result
  • Sonuç kümesindeki geçerli satırı ilk satır yapar

SQLite3Result::reset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SQLite3Result::reset — Sonuç kümesindeki geçerli satırı ilk satır yapar

Açıklama

public SQLite3Result::reset(): bool

Sonuç kümesindeki geçerli satırı ilk satır yapar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sonuç kümesindeki geçerli satır, ilk satır yapılabilmişse true yoksa false döner.


Microsoft SQL Server Driver for PHP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SQLSRV İşlevleri
    • sqlsrv_begin_transaction — Begins a database transaction
    • sqlsrv_cancel — Cancels a statement
    • sqlsrv_client_info — Returns information about the client and specified connection
    • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure — Changes the driver error handling and logging configurations
    • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch_array — Returns a row as an array
    • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
    • sqlsrv_fetch — Makes the next row in a result set available for reading
    • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt — Frees all resources for the specified statement
    • sqlsrv_get_config — Returns the value of the specified configuration setting
    • sqlsrv_get_field — Gets field data from the currently selected row
    • sqlsrv_has_rows — Indicates whether the specified statement has rows
    • sqlsrv_next_result — Makes the next result of the specified statement active
    • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows — Retrieves the number of rows in a result set
    • sqlsrv_prepare — Prepares a query for execution
    • sqlsrv_query — Prepares and executes a query
    • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data — Sends data from parameter streams to the server
    • sqlsrv_server_info — Returns information about the server


Giriş

The SQLSRV extension allows you to access Microsoft SQL Server and SQL Azure databases. The 3.0 release of the driver supports SQL Server, beginning with SQL Server 2005, including SQL Server 2012 and SQL Server 2012 LocalDB. (For more information about LocalDB, see » PHP Driver for SQL Server Support for LocalDB and » SQL Server 2012 Express LocalDB.)

The SQLSRV extension is supported by Microsoft and available for download here: » http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx. SQL Server 2012 LocalDB can be downloaded here: » http://go.microsoft.com/fwlink/?LinkID=237665.


Gereksinimler

The SQLSRV extension can be used on the following operating systems:

  • Windows Vista Service Pack 2 or later
  • Windows Server 2008 Service Pack 2 or later
  • Windows Server 2008 R2
  • Windows 7

The SQLSRV extension requires that the Microsoft SQL Server 2012 Native Client be installed on the same computer that is running PHP. If the Microsoft SQL Server 2012 Native Client is not already installed, click the appropriate link below to download it:

  • » Download the x86 package
  • » Download the x64 package

The SQLSRV download comes 8 driver files, four of which are for PDO support.

The most recent version of the driver is available for download here: » SQLSRV download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.


Kurulum

The SQLSRV extension is enabled by adding appropriate DLL file to your PHP extension directory and the corresponding entry to the php.ini file. The SQLSRV download comes with 8 driver files, four of which are for PDO support.

The most recent version of the driver is available for download here: » SQLSRV download.

For more information about SQLSRV requirements, see » SQLSRV System Requirements.

Since version 4.0 the SQLSRV extension is compatible only with PHP 7.0 running on Linux or Windows.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

The following table lists the configuration options available in the SQLSRV extension. For more information about these options, see » Handling SQLSRV Warnings and Errors.

SQLSRV Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Changelog
sqlsrv.WarningsReturnAsErrors | 1 (true) | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSubsystems | 0 | PHP_INI_ALL | Available since SQLSRV 1.0
sqlsrv.LogSeverity | 1 | PHP_INI_ALL | Available since SQLSRV 1.0


Özkaynak Türleri

Connection resource

A connection resource returned by sqlsrv_connect().

Statement resource

A statement resource returned by sqlsrv_query() or by sqlsrv_prepare().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SQLSRV_FETCH_ASSOC (int)
Forces sqlsrv_fetch_array() to return an associative array when passed as a parameter.
SQLSRV_FETCH_NUMERIC (int)
Forces sqlsrv_fetch_array() to return an array with numeric when passed as a parameter.
SQLSRV_FETCH_BOTH (int)
Forces sqlsrv_fetch_array() to return an array with both associative and numeric keys when passed as a parameter (the default behavior).
SQLSRV_ERR_ALL (int)
Forces sqlsrv_errors() to return both errors and warings when passed as a parameter (the default behavior).
SQLSRV_ERR_ERRORS (int)
Forces sqlsrv_errors() to return errors only (no warnings) when passed as a parameter.
SQLSRV_ERR_WARNINGS (int)
Forces sqlsrv_errors() to return warnings only (no errors) when passed as a parameter.
SQLSRV_LOG_SYSTEM_ALL (int)
Turns on logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_CONN (int)
Turns on logging of connection activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_INIT (int)
Turns on logging of initialization activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_OFF (int)
Turns off logging of all subsystems when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_STMT (int)
Turns on logging of statement activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SYSTEM_UTIL (int)
Turns on logging of error function activity when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ALL (int)
Specifies that errors, warnings, and notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_ERROR (int)
Specifies that errors will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_NOTICE (int)
Specifies that notices will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_LOG_SEVERITY_WARNING (int)
Specifies that warnings will be logged when passed to sqlsrv_configure() as a parameter.
SQLSRV_NULLABLE_YES (int)
Indicates that a column is nullable.
SQLSRV_NULLABLE_NO (int)
Indicates that a column is not nullable.
SQLSRV_NULLABLE_UNKNOWN (int)
Indicates that it is not known if a column is nullable.
SQLSRV_PARAM_IN (int)
Indicates an input parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_INOUT (int)
Indicates a bidirectional parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PARAM_OUT (int)
Indicates an output parameter when passed to sqlsrv_query() or sqlsrv_prepare().
SQLSRV_PHPTYPE_INT (int)
Specifies an integer PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_DATETIME (int)
Specifies a datetime PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_FLOAT (int)
Specifies a float PHP data type. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STREAM (int)
Specifies a PHP stream. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_PHPTYPE_STRING (int)
Specifies a string PHP data type. This constant works like a function and accepts an encoding constant. See the SQLSRV_ENC_* constants. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_BINARY (int)
Specifies that data is returned as a raw byte stream from the server without performing encoding or translation. For usage information, see » How to: Specify PHP Types.
SQLSRV_ENC_CHAR (int)
Data is returned in 8-bit characters as specified in the code page of the Windows locale that is set on the system. Any multi-byte characters or characters that do not map into this code page are substituted with a single byte question mark (?) character. This is the default encoding. For usage information, see » How to: Specify PHP Types.
UTF-8 (int)
Specifies that data is returned with UTF-8 encoding. For usage information, see » How to: Specify PHP Types.
SQLSRV_SQLTYPE_BIGINT (int)
Describes the bigint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BINARY (int)
Describes the binary SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_BIT (int)
Describes the bit SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_CHAR (int)
Describes the char SQL Server data type. This constant works like a function and accepts a parameter indicating the number characters. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATE (int)
Describes the date SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME (int)
Describes the datetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIME2 (int)
Describes the datetime2 SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DATETIMEOFFSET (int)
Describes the datetimeoffset SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_DECIMAL (int)
Describes the decimal SQL Server data type. This constant works like a function and accepts two parameters indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_FLOAT (int)
Describes the float SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_IMAGE (int)
Describes the image SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_INT (int)
Describes the int SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_MONEY (int)
Describes the money SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NCHAR (int)
Describes the nchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NUMERIC (int)
Describes the numeric SQL Server data type. This constant works like a function and accepts two parameter indicating (in order) precision and scale. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR (int)
Describes the nvarchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NVARCHAR('max') (int)
Describes the nvarchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_NTEXT (int)
Describes the ntext SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_REAL (int)
Describes the real SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLDATETIME (int)
Describes the smalldatetime SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLINT (int)
Describes the smallint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_SMALLMONEY (int)
Describes the smallmoney SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TEXT (int)
Describes the text SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIME (int)
Describes the time SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TIMESTAMP (int)
Describes the timestamp SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_TINYINT (int)
Describes the tinyint SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UNIQUEIDENTIFIER (int)
Describes the uniqueidentifier SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_UDT (int)
Describes the UDT SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY (int)
Describes the varbinary SQL Server data type. This constant works like a function and accepts a single parameter indicating the byte count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARBINARY('max') (int)
Describes the varbinary(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR (int)
Describes the varchar SQL Server data type. This constant works like a function and accepts a single parameter indicating the character count. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_VARCHAR('max') (int)
Describes the varchar(MAX) SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_SQLTYPE_XML (int)
Describes the XML SQL Server data type. For usage information, see » How to: Specify SQL Types.
SQLSRV_TXN_READ_UNCOMMITTED (int)
Indicates a transaction isolation level of READ UNCOMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_READ_COMMITTED (int)
Indicates a transaction isolation level of READ COMMITTED. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_REPEATABLE_READ (int)
Indicates a transaction isolation level of REPEATABLE READ. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_SNAPSHOT (int)
Indicates a transaction isolation level of SNAPSHOT. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_TXN_READ_SERIALIZABLE (int)
Indicates a transaction isolation level of SERIALIZABLE. This value is used to set the TransactionIsolation level in the $connectionOptions array passed to sqlsrv_connect().
SQLSRV_CURSOR_FORWARD (int)
Indicates a forward-only cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_STATIC (int)
Indicates a static cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_DYNAMIC (int)
Indicates a dynamic cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_KEYSET (int)
Indicates a keyset cursor. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_CURSOR_BUFFERED (int)
Creates a client-side cursor query. Lets you access rows in any order. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_NEXT (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_PRIOR (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_FIRST (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_LAST (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_ABSOLUTE (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.
SQLSRV_SCROLL_RELATIVE (int)
Specifies which row to select in a result set. For usage information, see » Specifying a Cursor Type and Selecting Rows.


SQLSRV İşlevleri

İçindekiler

  • sqlsrv_begin_transaction — Begins a database transaction
  • sqlsrv_cancel — Cancels a statement
  • sqlsrv_client_info — Returns information about the client and specified connection
  • sqlsrv_close — Closes an open connection and releases resourses associated with the connection
  • sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_configure — Changes the driver error handling and logging configurations
  • sqlsrv_connect — Opens a connection to a Microsoft SQL Server database
  • sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_fetch_array — Returns a row as an array
  • sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object
  • sqlsrv_fetch — Makes the next row in a result set available for reading
  • sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_free_stmt — Frees all resources for the specified statement
  • sqlsrv_get_config — Returns the value of the specified configuration setting
  • sqlsrv_get_field — Gets field data from the currently selected row
  • sqlsrv_has_rows — Indicates whether the specified statement has rows
  • sqlsrv_next_result — Makes the next result of the specified statement active
  • sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement
  • sqlsrv_num_rows — Retrieves the number of rows in a result set
  • sqlsrv_prepare — Prepares a query for execution
  • sqlsrv_query — Prepares and executes a query
  • sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
  • sqlsrv_send_stream_data — Sends data from parameter streams to the server
  • sqlsrv_server_info — Returns information about the server


Begins a database transaction

  • « SQLSRV İşlevleri
  • sqlsrv_cancel »
  • PHP Manual
  • SQLSRV İşlevleri
  • Begins a database transaction

sqlsrv_begin_transaction

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_begin_transaction — Begins a database transaction

Açıklama

sqlsrv_begin_transaction(resource $conn): bool

The transaction begun by sqlsrv_begin_transaction() includes all statements that were executed after the call to sqlsrv_begin_transaction() and before calls to sqlsrv_rollback() or sqlsrv_commit(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and commit/roll back transactions. For more information, see » SQLSRV Transactions.

Bağımsız Değişkenler

conn

The connection resource returned by a call to sqlsrv_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_begin_transaction() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
SET Quantity = (Quantity - ?)
WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
sqlsrv_commit( $conn );
echo "Transaction committed.<br />";
} else {
sqlsrv_rollback( $conn );
echo "Transaction rolled back.<br />";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction


Cancels a statement

  • « sqlsrv_begin_transaction
  • sqlsrv_client_info »
  • PHP Manual
  • SQLSRV İşlevleri
  • Cancels a statement

sqlsrv_cancel

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_cancel — Cancels a statement

Açıklama

sqlsrv_cancel(resource $stmt): bool

Cancels a statement. Any results associated with the statement that have not been consumed are deleted. After sqlsrv_cancel() has been called, the specified statement can be re-executed if it was created with sqlsrv_prepare(). Calling sqlsrv_cancel() is not necessary if all the results associated with the statement have been consumed.

Bağımsız Değişkenler

stmt

The statement resource to be cancelled.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_cancel() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Sales FROM Table_1";

$stmt = sqlsrv_prepare( $conn, $sql);

if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}

if( sqlsrv_execute( $stmt ) === false) {
die( print_r( sqlsrv_errors(), true));
}

$salesTotal = 0;
$count = 0;

while( ($row = sqlsrv_fetch_array( $stmt)) && $salesTotal <=100000)
{
$qty = $row[0];
$price = $row[1];
$salesTotal += ( $price * $qty);
$count++;
}

echo "$count sales accounted for the first $$salesTotal in revenue.<br />";

// Cancel the pending results. The statement can be reused.
sqlsrv_cancel( $stmt);
?>

Notlar

The main difference between sqlsrv_cancel() and sqlsrv_free_stmt() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Ayrıca Bakınız

  • sqlsrv_free_stmt() - Frees all resources for the specified statement
  • sqlsrv_prepare() - Prepares a query for execution


Returns information about the client and specified connection

  • « sqlsrv_cancel
  • sqlsrv_close »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns information about the client and specified connection

sqlsrv_client_info

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_client_info — Returns information about the client and specified connection

Açıklama

sqlsrv_client_info(resource $conn): array

Returns information about the client and specified connection

Bağımsız Değişkenler

conn

The connection about which information is returned.

Dönen Değerler

Returns an associative array with keys described in the table below. Returns false otherwise.

Array returned by sqlsrv_client_info
Key | Description
DriverDllName | SQLNCLI10.DLL
DriverODBCVer | ODBC version (xx.yy)
DriverVer | SQL Server Native Client DLL version (10.5.xxx)
ExtensionVer | php_sqlsrv.dll version (2.0.xxx.x)

Örnekler

Örnek 1 sqlsrv_client_info() example

<?php
$serverName = "serverName\sqlexpress";
$connOptions = array("UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connOptions );

if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

if( $client_info = sqlsrv_client_info( $conn)) {
foreach( $client_info as $key => $value) {
echo $key.": ".$value."<br />";
}
} else {
echo "Error in retrieving client info.<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_server_info() - Returns information about the server


Closes an open connection and releases resourses associated with the connection

  • « sqlsrv_client_info
  • sqlsrv_commit »
  • PHP Manual
  • SQLSRV İşlevleri
  • Closes an open connection and releases resourses associated with the connection

sqlsrv_close

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_close — Closes an open connection and releases resourses associated with the connection

Açıklama

sqlsrv_close(resource $conn): bool

Closes an open connection and releases resourses associated with the connection.

Bağımsız Değişkenler

conn

The connection to be closed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_close() example

<?php
$serverName = "serverName\sqlexpres";
$connOptions = array("UID"=>"username", "PWD"=>"password", "Database"=>"dbname");
$conn = sqlsrv_connect( $serverName, $connOptions );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

//-------------------------------------
// Perform database operations here.
//-------------------------------------

// Close the connection.
sqlsrv_close( $conn );
?>

Ayrıca Bakınız

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database


Commits a transaction that was begun with sqlsrv_begin_transaction

  • « sqlsrv_close
  • sqlsrv_configure »
  • PHP Manual
  • SQLSRV İşlevleri
  • Commits a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_commit

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_commit — Commits a transaction that was begun with sqlsrv_begin_transaction()

Açıklama

sqlsrv_commit(resource $conn): bool

Commits a transaction that was begun with sqlsrv_begin_transaction(). The connection is returned to auto-commit mode after sqlsrv_commit() is called. The transaction that is committed includes all statements that were executed after the call to sqlsrv_begin_transaction(). Explicit transactions should be started and committed or rolled back using these functions instead of executing SQL statements that begin and commit/roll back transactions. For more information, see » SQLSRV Transactions.

Bağımsız Değişkenler

conn

The connection on which the transaction is to be committed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_commit() example

The following example demonstrates how to use sqlsrv_commit() together with sqlsrv_begin_transaction() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
SET Quantity = (Quantity - ?)
WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
sqlsrv_commit( $conn );
echo "Transaction committed.<br />";
} else {
sqlsrv_rollback( $conn );
echo "Transaction rolled back.<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_rollback() - Rolls back a transaction that was begun with sqlsrv_begin_transaction


Changes the driver error handling and logging configurations

  • « sqlsrv_commit
  • sqlsrv_connect »
  • PHP Manual
  • SQLSRV İşlevleri
  • Changes the driver error handling and logging configurations

sqlsrv_configure

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_configure — Changes the driver error handling and logging configurations

Açıklama

sqlsrv_configure(string $setting, mixed $value): bool

Changes the driver error handling and logging configurations.

Bağımsız Değişkenler

setting

The name of the setting to set. The possible values are "WarningsReturnAsErrors", "LogSubsystems", and "LogSeverity".

value

The value of the specified setting. The following table shows possible values:

Error and Logging Setting Options
Setting | Options
WarningsReturnAsErrors | 1 (true) or 0 (false)
LogSubsystems | SQLSRV_LOG_SYSTEM_ALL (-1) SQLSRV_LOG_SYSTEM_CONN (2) SQLSRV_LOG_SYSTEM_INIT (1) SQLSRV_LOG_SYSTEM_OFF (0) SQLSRV_LOG_SYSTEM_STMT (4) SQLSRV_LOG_SYSTEM_UTIL (8)
LogSeverity | SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1) SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • » SQLSRV Error Handling.
  • » Logging SQLSRV Activity.


Opens a connection to a Microsoft SQL Server database

  • « sqlsrv_configure
  • sqlsrv_errors »
  • PHP Manual
  • SQLSRV İşlevleri
  • Opens a connection to a Microsoft SQL Server database

sqlsrv_connect

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_connect — Opens a connection to a Microsoft SQL Server database

Açıklama

sqlsrv_connect(string $serverName, array $connectionInfo = ?): resource

Opens a connection to a Microsoft SQL Server database. By default, the connection is attempted using Windows Authentication. To connect using SQL Server Authentication, include "UID" and "PWD" in the connection options array.

Bağımsız Değişkenler

serverName

The name of the server to which a connection is established. To connect to a specific instance, follow the server name with a backward slash and the instance name (e.g. serverName\sqlexpress).

connectionInfo

An associative array that specifies options for connecting to the server. If values for the UID and PWD keys are not specified, the connection will be attempted using Windows Authentication. For a complete list of supported keys, see » SQLSRV Connection Options.

Dönen Değerler

A connection resource. If a connection cannot be successfully opened, false is returned.

Örnekler

Örnek 1 Connect using Windows Authentication.

<?php
$serverName = "serverName\\sqlexpress"; //serverName\instanceName

// Since UID and PWD are not specified in the $connectionInfo array,
// The connection will be attempted using Windows Authentication.
$connectionInfo = array( "Database"=>"dbName");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Örnek 2 Connect by specifying a user name and password.

<?php
$serverName = "serverName\\sqlexpress"; //serverName\instanceName
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Örnek 3 Connect on a specified port.

<?php
$serverName = "serverName\\sqlexpress, 1542"; //serverName\instanceName, portNumber (default is 1433)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>

Notlar

By default, the sqlsrv_connect() uses connection pooling to improve connection performance. To turn off connection pooling (i.e. force a new connection on each call), set the "ConnectionPooling" option in the $connectionOptions array to 0 (or false). For more information, see » SQLSRV Connection Pooling.

The SQLSRV extension does not have a dedicated function for changing which database is connected to. The target database is specified in the $connectionOptions array that is passed to sqlsrv_connect. To change the database on an open connection, execute the following query "USE dbName" (e.g. sqlsrv_query($conn, "USE dbName")).

Ayrıca Bakınız

  • sqlsrv_close() - Closes an open connection and releases resourses associated with the connection
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_query() - Prepares and executes a query


Returns error and warning information about the last SQLSRV operation performed

  • « sqlsrv_connect
  • sqlsrv_execute »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns error and warning information about the last SQLSRV operation performed

sqlsrv_errors

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_errors — Returns error and warning information about the last SQLSRV operation performed

Açıklama

sqlsrv_errors(int $errorsOrWarnings = ?): mixed

Returns error and warning information about the last SQLSRV operation performed.

Bağımsız Değişkenler

errorsOrWarnings

Determines whether error information, warning information, or both are returned. If this parameter is not supplied, both error information and warning information are returned. The following are the supported values for this parameter: SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.

Dönen Değerler

If errors and/or warnings occurred on the last sqlsrv operation, an array of arrays containing error information is returned. If no errors and/or warnings occurred on the last sqlsrv operation, null is returned. The following table describes the structure of the returned arrays:

Array returned by sqlsrv_errors
Key | Description
SQLSTATE | For errors that originate from the ODBC driver, the SQLSTATE returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of IMSSP. For warnings that originate from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of 01SSP.
code | For errors that originate from SQL Server, the native SQL Server error code. For errors that originate from the ODBC driver, the error code returned by ODBC. For errors that originate from the Microsoft Drivers for PHP for SQL Server, the Microsoft Drivers for PHP for SQL Server error code.
message | A description of the error.

Örnekler

Örnek 1 functionname() example

<?php
$serverName = "serverName/sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

/* Set up a query to select an invalid column name. */
$sql = "SELECT BadColumnName FROM Table_1";

/* Execution of the query will fail because of the bad column name. */
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false ) {
if( ($errors = sqlsrv_errors() ) != null) {
foreach( $errors as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}
}
}
?>

Notlar

By default, warnings generated on a call to any SQLSRV function are treated as errors. This means that if a warning occurs on a call to a SQLSRV function, the function returns false. However, warnings that correspond to SQLSTATE values 01000, 01001, 01003, and 01S02 are never treated as errors. For information about changing this behavior, see sqlsrv_configure() and the WarningsReturnAsErrors setting.

Ayrıca Bakınız

  • sqlsrv_configure() - Changes the driver error handling and logging configurations


Executes a statement prepared with sqlsrv_prepare

  • « sqlsrv_errors
  • sqlsrv_fetch_array »
  • PHP Manual
  • SQLSRV İşlevleri
  • Executes a statement prepared with sqlsrv_prepare

sqlsrv_execute

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_execute — Executes a statement prepared with sqlsrv_prepare()

Açıklama

sqlsrv_execute(resource $stmt): bool

Executes a statement prepared with sqlsrv_prepare(). This function is ideal for executing a prepared statement multiple times with different parameter values.

Bağımsız Değişkenler

stmt

A statement resource returned by sqlsrv_prepare().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_execute() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
SET OrderQty = ?
WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
// Because $id and $qty are bound to $stmt1, their updated
// values are used with each execution of the statement.
if( sqlsrv_execute( $stmt ) === false ) {
die( print_r( sqlsrv_errors(), true));
}
}
?>

Notlar

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Ayrıca Bakınız

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query


Returns a row as an array

  • « sqlsrv_execute
  • sqlsrv_fetch_object »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns a row as an array

sqlsrv_fetch_array

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_fetch_array — Returns a row as an array

Açıklama

sqlsrv_fetch_array(
resource $stmt,
int $fetchType = ?,
int $row = ?,
int $offset = ?
): array

Returns the next available row of data as an associative array, a numeric array, or both (the default).

Bağımsız Değişkenler

stmt

A statement resource returned by sqlsrv_query or sqlsrv_prepare.

fetchType

A predefined constant specifying the type of array to return. Possible values are SQLSRV_FETCH_ASSOC, SQLSRV_FETCH_NUMERIC, and SQLSRV_FETCH_BOTH (the default).

A fetch type of SQLSRV_FETCH_ASSOC should not be used when consuming a result set with multiple columns of the same name.

row

Specifies the row to access in a result set that uses a scrollable cursor. Possible values are SQLSRV_SCROLL_NEXT, SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST, SQLSRV_SCROLL_ABSOLUTE and, SQLSRV_SCROLL_RELATIVE (the default). When this parameter is specified, the fetchType must be explicitly defined.

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Dönen Değerler

Returns an array on success, null if there are no more rows to return, and false if an error occurs.

Örnekler

Örnek 1 Retrieving an associative array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['LastName'].", ".$row['FirstName']."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Örnek 2 Retrieving a numeric array.

<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}

while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
echo $row[0].", ".$row[1]."<br />";
}

sqlsrv_free_stmt( $stmt);
?>

Notlar

Not specifying the fetchType or explicitly using the SQLSRV_FETCH_TYPE constant in the examples above will return an array that has both associative and numeric keys.

If more than one column is returned with the same name, the last column will take precedence. To avoid field name collisions, use aliases.

If a column with no name is returned, the associative key for the array element will be an empty string ("").

Ayrıca Bakınız

  • sqlsrv_connect() - Opens a connection to a Microsoft SQL Server database
  • sqlsrv_query() - Prepares and executes a query
  • sqlsrv_errors() - Returns error and warning information about the last SQLSRV operation performed
  • sqlsrv_fetch() - Makes the next row in a result set available for reading


Retrieves the next row of data in a result set as an object

  • « sqlsrv_fetch_array
  • sqlsrv_fetch »
  • PHP Manual
  • SQLSRV İşlevleri
  • Retrieves the next row of data in a result set as an object

sqlsrv_fetch_object

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_fetch_object — Retrieves the next row of data in a result set as an object

Açıklama

sqlsrv_fetch_object(
resource $stmt,
string $className = ?,
array $ctorParams = ?,
int $row = ?,
int $offset = ?
): mixed

Retrieves the next row of data in a result set as an instance of the specified class with properties that match the row field names and values that correspond to the row field values.

Bağımsız Değişkenler

stmt

A statement resource created by sqlsrv_query() or sqlsrv_execute().

className

The name of the class to instantiate. If no class name is specified, stdClass is instantiated.

ctorParams

Values passed to the constructor of the specified class. If the constructor of the specified class takes parameters, the ctorParams array must be supplied.

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Dönen Değerler

Returns an object on success, null if there are no more rows to return, and false if an error occurs or if the specified class does not exist.

Örnekler

Örnek 1 sqlsrv_fetch_object() example

The following example demonstrates how to retrieve a row as a stdClass object.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT fName, lName FROM Table_1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}

// Retrieve each row as an object.
// Because no class is specified, each row will be retrieved as a stdClass object.
// Property names correspond to field names.
while( $obj = sqlsrv_fetch_object( $stmt)) {
echo $obj->fName.", ".$obj->lName."<br />";
}
?>

Notlar

If a class name is specified with the optional $className parameter and the class has properties whose names match the result set field names, the corresponding result set values are applied to the properties. If a result set field name does not match a class property, a property with the result set field name is added to the object and the result set value is applied to the property. The following rules apply when using the $className parameter:

  • Field-property name matching is case-sensitive.
  • Field-property matching occurs regardless of access modifiers.
  • Class property data types are ignored when applying a field value to a property.
  • If the class does not exist, the function returns false and adds an error to the error collection.
Regardless of whether the $className parameter is supplied, if a field with no name is returned, the field value will be ignored and a warning will be added to the error collection.

When consuming a result set that has multiple columns with the same name, it may be better to use sqlsrv_fetch_array() or the combination of sqlsrv_fetch() and sqlsrv_get_field().

Ayrıca Bakınız

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array


Makes the next row in a result set available for reading

  • « sqlsrv_fetch_object
  • sqlsrv_field_metadata »
  • PHP Manual
  • SQLSRV İşlevleri
  • Makes the next row in a result set available for reading

sqlsrv_fetch

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_fetch — Makes the next row in a result set available for reading

Açıklama

sqlsrv_fetch(resource $stmt, int $row = ?, int $offset = ?): mixed

Makes the next row in a result set available for reading. Use sqlsrv_get_field() to read the fields of the row.

Bağımsız Değişkenler

stmt

A statement resource created by executing sqlsrv_query() or sqlsrv_execute().

row

The row to be accessed. This parameter can only be used if the specified statement was prepared with a scrollable cursor. In that case, this parameter can take on one of the following values:

  • SQLSRV_SCROLL_NEXT
  • SQLSRV_SCROLL_PRIOR
  • SQLSRV_SCROLL_FIRST
  • SQLSRV_SCROLL_LAST
  • SQLSRV_SCROLL_ABSOLUTE
  • SQLSRV_SCROLL_RELATIVE

offset

Specifies the row to be accessed if the row parameter is set to SQLSRV_SCROLL_ABSOLUTE or SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has index 0.

Dönen Değerler

Returns true if the next row of a result set was successfully retrieved, false if an error occurs, and null if there are no more rows in the result set.

Örnekler

Örnek 1 sqlsrv_fetch() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
FROM Table_1
WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indices start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Ayrıca Bakınız

  • sqlsrv_get_field() - Gets field data from the currently selected row
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object


Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

  • « sqlsrv_fetch
  • sqlsrv_free_stmt »
  • PHP Manual
  • SQLSRV İşlevleri
  • Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query

sqlsrv_field_metadata

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_field_metadata — Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query()

Açıklama

sqlsrv_field_metadata(resource $stmt): mixed

Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare() or sqlsrv_query(). sqlsrv_field_metadata() can be called on a statement before or after statement execution.

Bağımsız Değişkenler

stmt

The statement resource for which metadata is returned.

Dönen Değerler

Returns an array of arrays on success. Otherwise, false is returned. Each returned array is described by the following table:

Array returned by sqlsrv_field_metadata
Key | Description
Name | The name of the field.
Type | The numeric value for the SQL type.
Size | The number of characters for fields of character type, the number of bytes for fields of binary type, or null for other types.
Precision | The precision for types of variable precision, null for other types.
Scale | The scale for types of variable scale, null for other types.
Nullable | An enumeration indicating whether the column is nullable, not nullable, or if it is not known.
For more information, see » sqlsrv_field_metadata in the Microsoft SQLSRV documentation.

Örnekler

Örnek 1 sqlsrv_field_metadata() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"AdventureWorks", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_prepare( $conn, $sql );

foreach( sqlsrv_field_metadata( $stmt ) as $fieldMetadata ) {
foreach( $fieldMetadata as $name => $value) {
echo "$name: $value<br />";
}
echo "<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_client_info() - Returns information about the client and specified connection


Frees all resources for the specified statement

  • « sqlsrv_field_metadata
  • sqlsrv_get_config »
  • PHP Manual
  • SQLSRV İşlevleri
  • Frees all resources for the specified statement

sqlsrv_free_stmt

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_free_stmt — Frees all resources for the specified statement

Açıklama

sqlsrv_free_stmt(resource $stmt): bool

Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.

Bağımsız Değişkenler

stmt

The statement for which resources are freed. Note that null is a valid parameter value. This allows the function to be called multiple times in a script.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_free_stmt() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}

/*-------------------------------
Process query results here.
-------------------------------*/

/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);

?>

Notlar

The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.

Ayrıca Bakınız

  • sqlsrv_cancel() - Cancels a statement


Returns the value of the specified configuration setting

  • « sqlsrv_free_stmt
  • sqlsrv_get_field »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns the value of the specified configuration setting

sqlsrv_get_config

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_get_config — Returns the value of the specified configuration setting

Açıklama

sqlsrv_get_config(string $setting): mixed

Returns the value of the specified configuration setting.

Bağımsız Değişkenler

setting

The name of the setting for which the value is returned. For a list of configurable settings, see sqlsrv_configure().

Dönen Değerler

Returns the value of the specified setting. If an invalid setting is specified, false is returned.

Ayrıca Bakınız

  • sqlsrv_configure() - Changes the driver error handling and logging configurations


Gets field data from the currently selected row

  • « sqlsrv_get_config
  • sqlsrv_has_rows »
  • PHP Manual
  • SQLSRV İşlevleri
  • Gets field data from the currently selected row

sqlsrv_get_field

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_get_field — Gets field data from the currently selected row

Açıklama

sqlsrv_get_field(resource $stmt, int $fieldIndex, int $getAsType = ?): mixed

Gets field data from the currently selected row. Fields must be accessed in order. Field indices start at 0.

Bağımsız Değişkenler

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

fieldIndex

The index of the field to be retrieved. Field indices start at 0. Fields must be accessed in order. i.e. If you access field index 1, then field index 0 will not be available.

getAsType

The PHP data type for the returned field data. If this parameter is not set, the field data will be returned as its default PHP data type. For information about default PHP data types, see » Default PHP Data Types in the Microsoft SQLSRV documentation.

Dönen Değerler

Returns data from the specified field on success. Returns false otherwise.

Örnekler

Örnek 1 sqlsrv_get_field() example

The following example demonstrates how to retrieve a row with sqlsrv_fetch() and get the row fields with sqlsrv_get_field().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT Name, Comment
FROM Table_1
WHERE ReviewID=1";
$stmt = sqlsrv_query( $conn, $sql);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}

// Make the first (and in this case, only) row of the result set available for reading.
if( sqlsrv_fetch( $stmt ) === false) {
die( print_r( sqlsrv_errors(), true));
}

// Get the row fields. Field indices start at 0 and must be retrieved in order.
// Retrieving row fields by name is not supported by sqlsrv_get_field.
$name = sqlsrv_get_field( $stmt, 0);
echo "$name: ";

$comment = sqlsrv_get_field( $stmt, 1);
echo $comment;
?>

Ayrıca Bakınız

  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_fetch_object() - Retrieves the next row of data in a result set as an object


Indicates whether the specified statement has rows

  • « sqlsrv_get_field
  • sqlsrv_next_result »
  • PHP Manual
  • SQLSRV İşlevleri
  • Indicates whether the specified statement has rows

sqlsrv_has_rows

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_has_rows — Indicates whether the specified statement has rows

Açıklama

sqlsrv_has_rows(resource $stmt): bool

Indicates whether the specified statement has rows.

Bağımsız Değişkenler

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Dönen Değerler

Returns true if the specified statement has rows and false if the statement does not have rows or if an error occurred.

Örnekler

Örnek 1 sqlsrv_has_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");

if ($stmt) {
$rows = sqlsrv_has_rows( $stmt );
if ($rows === true)
echo "There are rows. <br />";
else
echo "There are no rows. <br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set
  • sqlsrv_query() - Prepares and executes a query


Makes the next result of the specified statement active

  • « sqlsrv_has_rows
  • sqlsrv_num_fields »
  • PHP Manual
  • SQLSRV İşlevleri
  • Makes the next result of the specified statement active

sqlsrv_next_result

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_next_result — Makes the next result of the specified statement active

Açıklama

sqlsrv_next_result(resource $stmt): mixed

Makes the next result of the specified statement active. Results include result sets, row counts, and output parameters.

Bağımsız Değişkenler

stmt

The statement on which the next result is being called.

Dönen Değerler

Returns true if the next result was successfully retrieved, false if an error occurred, and null if there are no more results to retrieve.

Örnekler

Örnek 1 sqlsrv_next_result() example

The following example executes a batch query that inserts into a table and then selects from the table. This produces two results on the statement: one for the rows affected by the INSERT and one for the rows returned by the SELECT. To get to the rows returned by the SELECT, sqlsrv_next_result() must be called to move past the first result.

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array("Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

$query = "INSERT INTO Table_1 (id, data) VALUES (?,?); SELECT * FROM TABLE_1;";
$params = array(1, "some data");
$stmt = sqlsrv_query($conn, $query, $params);

// Consume the first result (rows affected by INSERT) without calling sqlsrv_next_result.
echo "Rows affected: ".sqlsrv_rows_affected($stmt)."<br />";

// Move to the next result and display results.
$next_result = sqlsrv_next_result($stmt);
if( $next_result ) {
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)){
echo $row['id'].": ".$row['data']."<br />";
}
} elseif( is_null($next_result)) {
echo "No more results.<br />";
} else {
die(print_r(sqlsrv_errors(), true));
}
?>

Ayrıca Bakınız

  • sqlsrv_query() - Prepares and executes a query
  • sqlsrv_fetch_array() - Returns a row as an array
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed


Retrieves the number of fields (columns) on a statement

  • « sqlsrv_next_result
  • sqlsrv_num_rows »
  • PHP Manual
  • SQLSRV İşlevleri
  • Retrieves the number of fields (columns) on a statement

sqlsrv_num_fields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_num_fields — Retrieves the number of fields (columns) on a statement

Açıklama

sqlsrv_num_fields(resource $stmt): mixed

Retrieves the number of fields (columns) on a statement.

Bağımsız Değişkenler

stmt

The statement for which the number of fields is returned. sqlsrv_num_fields() can be called on a statement before or after statement execution.

Dönen Değerler

Returns the number of fields on success. Returns false otherwise.

Örnekler

Örnek 1 sqlsrv_num_fields() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "SELECT * FROM Table_1";
$stmt = sqlsrv_query($conn, $sql);
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true));
}

$numFields = sqlsrv_num_fields( $stmt );

while( sqlsrv_fetch( $stmt )) {
// Iterate through the fields of each row.
for($i = 0; $i < $numFields; $i++) {
echo sqlsrv_get_field($stmt, $i)." ";
}
echo "<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_field_metadata() - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
  • sqlsrv_fetch() - Makes the next row in a result set available for reading
  • sqlsrv_get_field() - Gets field data from the currently selected row


Retrieves the number of rows in a result set

  • « sqlsrv_num_fields
  • sqlsrv_prepare »
  • PHP Manual
  • SQLSRV İşlevleri
  • Retrieves the number of rows in a result set

sqlsrv_num_rows

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_num_rows — Retrieves the number of rows in a result set

Açıklama

sqlsrv_num_rows(resource $stmt): mixed

Retrieves the number of rows in a result set. This function requires that the statement resource be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Bağımsız Değişkenler

stmt

The statement for which the row count is returned. The statement resource must be created with a static or keyset cursor. For more information, see sqlsrv_query(), sqlsrv_prepare(), or » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Dönen Değerler

Returns the number of rows retrieved on success and false if an error occurred. If a forward cursor (the default) or dynamic cursor is used, false is returned.

Örnekler

Örnek 1 sqlsrv_num_rows() example

<?php
$server = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $server, $connectionInfo );

$sql = "SELECT * FROM Table_1";
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );

$row_count = sqlsrv_num_rows( $stmt );

if ($row_count === false)
echo "Error in retrieveing row count.";
else
echo $row_count;
?>

Ayrıca Bakınız

  • sqlsrv_has_rows() - Indicates whether the specified statement has rows
  • sqlsrv_rows_affected() - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed


Prepares a query for execution

  • « sqlsrv_num_rows
  • sqlsrv_query »
  • PHP Manual
  • SQLSRV İşlevleri
  • Prepares a query for execution

sqlsrv_prepare

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_prepare — Prepares a query for execution

Açıklama

sqlsrv_prepare(
resource $conn,
string $sql,
array $params = ?,
array $options = ?
): mixed

Prepares a query for execution. This function is ideal for preparing a query that will be executed multiple times with different parameter values.

Bağımsız Değişkenler

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifying query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | true or false (the default is true) | Configures the driver to send all stream data at execution (true), or to send stream data in chunks (false). By default, the value is set to true. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Dönen Değerler

Returns a statement resource on success and false if an error occurred.

Örnekler

Örnek 1 sqlsrv_prepare() example

This example demonstrates how to prepare a statement with sqlsrv_prepare() and re-execute it multiple times (with different parameter values) using sqlsrv_execute().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1
SET OrderQty = ?
WHERE SalesOrderID = ?";

// Initialize parameters and prepare the statement.
// Variables $qty and $id are bound to the statement, $stmt.
$qty = 0; $id = 0;
$stmt = sqlsrv_prepare( $conn, $sql, array( &$qty, &$id));
if( !$stmt ) {
die( print_r( sqlsrv_errors(), true));
}

// Set up the SalesOrderDetailID and OrderQty information.
// This array maps the order ID to order quantity in key=>value pairs.
$orders = array( 1=>10, 2=>20, 3=>30);

// Execute the statement for each order.
foreach( $orders as $id => $qty) {
// Because $id and $qty are bound to $stmt1, their updated
// values are used with each execution of the statement.
if( sqlsrv_execute( $stmt ) === false ) {
die( print_r( sqlsrv_errors(), true));
}
}
?>

Notlar

When you prepare a statement that uses variables as parameters, the variables are bound to the statement. This means that if you update the values of the variables, the next time you execute the statement it will run with updated parameter values. For statements that you plan to execute only once, use sqlsrv_query().

Ayrıca Bakınız

  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare
  • sqlsrv_query() - Prepares and executes a query


Prepares and executes a query

  • « sqlsrv_prepare
  • sqlsrv_rollback »
  • PHP Manual
  • SQLSRV İşlevleri
  • Prepares and executes a query

sqlsrv_query

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_query — Prepares and executes a query

Açıklama

sqlsrv_query(
resource $conn,
string $sql,
array $params = ?,
array $options = ?
): mixed

Prepares and executes a query.

Bağımsız Değişkenler

conn

A connection resource returned by sqlsrv_connect().

sql

The string that defines the query to be prepared and executed.

params

An array specifying parameter information when executing a parameterized query. Array elements can be any of the following:

  • A literal value
  • A PHP variable
  • An array with this structure: array($value [, $direction [, $phpType [, $sqlType]]])
The following table describes the elements in the array structure above:

Array structure
Element | Description
$value | A literal value, a PHP variable, or a PHP by-reference variable.
$direction (optional) | One of the following SQLSRV constants used to indicate the parameter direction: SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, SQLSRV_PARAM_INOUT. The default value is SQLSRV_PARAM_IN.
$phpType (optional) | A SQLSRV_PHPTYPE_* constant that specifies PHP data type of the returned value.
$sqlType (optional) | A SQLSRV_SQLTYPE_* constant that specifies the SQL Server data type of the input value.
options

An array specifying query property options. The supported keys are described in the following table:

Query Options
Key | Values | Description
QueryTimeout | A positive integer value. | Sets the query timeout in seconds. By default, the driver will wait indefinitely for results.
SendStreamParamsAtExec | true or false (the default is true) | Configures the driver to send all stream data at execution (true), or to send stream data in chunks (false). By default, the value is set to true. For more information, see sqlsrv_send_stream_data().
Scrollable | SQLSRV_CURSOR_FORWARD, SQLSRV_CURSOR_STATIC, SQLSRV_CURSOR_DYNAMIC, or SQLSRV_CURSOR_KEYSET | See » Specifying a Cursor Type and Selecting Rows in the Microsoft SQLSRV documentation.

Dönen Değerler

Returns a statement resource on success and false if an error occurred.

Örnekler

Örnek 1 sqlsrv_query() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "INSERT INTO Table_1 (id, data) VALUES (?, ?)";
$params = array(1, "some data");

$stmt = sqlsrv_query( $conn, $sql, $params);
if( $stmt === false ) {
die( print_r( sqlsrv_errors(), true));
}
?>

Notlar

For statements that you plan to execute only once, use sqlsrv_query(). If you intend to re-execute a statement with different parameter values, use the combination of sqlsrv_prepare() and sqlsrv_execute().

Ayrıca Bakınız

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_execute() - Executes a statement prepared with sqlsrv_prepare


Rolls back a transaction that was begun with sqlsrv_begin_transaction

  • « sqlsrv_query
  • sqlsrv_rows_affected »
  • PHP Manual
  • SQLSRV İşlevleri
  • Rolls back a transaction that was begun with sqlsrv_begin_transaction

sqlsrv_rollback

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_rollback — Rolls back a transaction that was begun with sqlsrv_begin_transaction()

Açıklama

sqlsrv_rollback(resource $conn): bool

Rolls back a transaction that was begun with sqlsrv_begin_transaction() and returns the connection to auto-commit mode.

Bağımsız Değişkenler

conn

The connection resource returned by a call to sqlsrv_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 sqlsrv_rollback() example

The following example demonstrates how to use sqlsrv_begin_transaction() together with sqlsrv_commit() and sqlsrv_rollback().

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Begin the transaction. */
if ( sqlsrv_begin_transaction( $conn ) === false ) {
die( print_r( sqlsrv_errors(), true ));
}

/* Initialize parameter values. */
$orderId = 1; $qty = 10; $productId = 100;

/* Set up and execute the first query. */
$sql1 = "INSERT INTO OrdersTable (ID, Quantity, ProductID)
VALUES (?, ?, ?)";
$params1 = array( $orderId, $qty, $productId );
$stmt1 = sqlsrv_query( $conn, $sql1, $params1 );

/* Set up and execute the second query. */
$sql2 = "UPDATE InventoryTable
SET Quantity = (Quantity - ?)
WHERE ProductID = ?";
$params2 = array($qty, $productId);
$stmt2 = sqlsrv_query( $conn, $sql2, $params2 );

/* If both queries were successful, commit the transaction. */
/* Otherwise, rollback the transaction. */
if( $stmt1 && $stmt2 ) {
sqlsrv_commit( $conn );
echo "Transaction committed.<br />";
} else {
sqlsrv_rollback( $conn );
echo "Transaction rolled back.<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_begin_transaction() - Begins a database transaction
  • sqlsrv_commit() - Commits a transaction that was begun with sqlsrv_begin_transaction


Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

  • « sqlsrv_rollback
  • sqlsrv_send_stream_data »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

sqlsrv_rows_affected

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_rows_affected — Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed

Açıklama

sqlsrv_rows_affected(resource $stmt): int|false

Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed. For information about the number of rows returned by a SELECT query, see sqlsrv_num_rows().

Bağımsız Değişkenler

stmt

The executed statement resource for which the number of affected rows is returned.

Dönen Değerler

Returns the number of rows affected by the last INSERT, UPDATE, or DELETE query. If no rows were affected, 0 is returned. If the number of affected rows cannot be determined, -1 is returned. If an error occurred, false is returned.

Örnekler

Örnek 1 sqlsrv_rows_affected() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ? WHERE id = ?";

$params = array("updated data", 1);

$stmt = sqlsrv_query( $conn, $sql, $params);

$rows_affected = sqlsrv_rows_affected( $stmt);
if( $rows_affected === false) {
die( print_r( sqlsrv_errors(), true));
} elseif( $rows_affected == -1) {
echo "No information available.<br />";
} else {
echo $rows_affected." rows were updated.<br />";
}
?>

Ayrıca Bakınız

  • sqlsrv_num_rows() - Retrieves the number of rows in a result set


Sends data from parameter streams to the server

  • « sqlsrv_rows_affected
  • sqlsrv_server_info »
  • PHP Manual
  • SQLSRV İşlevleri
  • Sends data from parameter streams to the server

sqlsrv_send_stream_data

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_send_stream_data — Sends data from parameter streams to the server

Açıklama

sqlsrv_send_stream_data(resource $stmt): bool

Send data from parameter streams to the server. Up to 8 KB of data is sent with each call.

Bağımsız Değişkenler

stmt

A statement resource returned by sqlsrv_query() or sqlsrv_execute().

Dönen Değerler

Returns true if there is more data to send and false if there is not.

Örnekler

Örnek 1 sqlsrv_send_stream_data() example

<?php
$serverName = "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password" );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$sql = "UPDATE Table_1 SET data = ( ?) WHERE id = 100";

// Open parameter data as a stream and put it in the $params array.
$data = fopen( "data://text/plain,[ Lengthy content here. ]", "r");
$params = array( &$data);

// Prepare the statement. Use the $options array to turn off the
// default behavior, which is to send all stream data at the time of query
// execution.
$options = array("SendStreamParamsAtExec"=>0);
$stmt = sqlsrv_prepare( $conn, $sql, $params, $options);

sqlsrv_execute( $stmt);

// Send up to 8K of parameter data to the server
// with each call to sqlsrv_send_stream_data.
$i = 1;
while( sqlsrv_send_stream_data( $stmt)) {
$i++;
}
echo "$i calls were made.";
?>

Ayrıca Bakınız

  • sqlsrv_prepare() - Prepares a query for execution
  • sqlsrv_query() - Prepares and executes a query


Returns information about the server

  • « sqlsrv_send_stream_data
  • Tarih ve Saat ile İlgili Eklentiler »
  • PHP Manual
  • SQLSRV İşlevleri
  • Returns information about the server

sqlsrv_server_info

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

sqlsrv_server_info — Returns information about the server

Açıklama

sqlsrv_server_info(resource $conn): array

Returns information about the server.

Bağımsız Değişkenler

conn

The connection resource that connects the client and the server.

Dönen Değerler

Returns an array as described in the following table:

Returned Array
CurrentDatabase | The connected-to database.
SQLServerVersion | The SQL Server version.
SQLServerName | The name of the server.

Örnekler

Örnek 1 sqlsrv_server_info() example

<?php
$serverName = "serverName\sqlexpress";
$conn = sqlsrv_connect( $serverName);
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}

$server_info = sqlsrv_server_info( $conn);
if( $server_info )
{
foreach( $server_info as $key => $value) {
echo $key.": ".$value."<br />";
}
} else {
die( print_r( sqlsrv_errors(), true));
}
?>

Ayrıca Bakınız

  • sqlsrv_client_info() - Returns information about the client and specified connection


Tarih ve Saat ile İlgili Eklentiler

  • Calendar — Takvim
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Takvim İşlevleri
  • Date/Time — Tarih ve Zaman
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • DateTime — DateTime sınıfı
    • DateTimeImmutable — DateTimeImmutable sınıfı
    • DateTimeInterface — DateTimeInterface arayüzü
    • DateTimeZone — DateTimeZone sınıfı
    • DateInterval — DateInterval sınıfı
    • DatePeriod — DatePeriod sınıfı
    • Tarih ve Zaman İşlevleri
    • Tarih/Saat Hataları ve İstisnaları
    • Supported Date and Time Formats
    • Desteklenen Zaman Dilimlerinin Listesi
    • DateError — The DateError class
    • DateObjectError — The DateObjectError class
    • DateRangeError — The DateRangeError class
    • DateException — The DateException class
    • DateInvalidOperationException — The DateInvalidOperationException class
    • DateInvalidTimeZoneException — The DateInvalidTimeZoneException class
    • DateMalformedIntervalStringException — The DateMalformedIntervalStringException class
    • DateMalformedPeriodStringException — The DateMalformedPeriodStringException class
    • DateMalformedStringException — The DateMalformedStringException class
  • HRTime — High resolution timing
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\Unit — The HRTime\Unit class


Takvim

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Takvim İşlevleri
    • cal_days_in_month — Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür
    • cal_from_jd — Jülyen Gün Sayısını, istenen takvim biçimine çevirir
    • cal_info — Bağımsız değişken olarak verilen takvim hakkında bilgi döner
    • cal_to_jd — Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar
    • easter_date — Verilen yıl için paskalya gece yarısının unix zaman damgasını döner
    • easter_days — Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.
    • frenchtojd — Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir
    • gregoriantojd — Gregoryen tarihini, Jülyen Gün Sayısına çevirir
    • JDDayOfWeek — Haftanın gününü verir
    • jdmonthname — Ay adını döndürür
    • jdtofrench — Jülyen gün sayısını, Fransız İhtilali takvimine çevirir
    • jdtogregorian — Jülyen Gün Sayısını, Gregoryen tarihine çevirir
    • jdtojewish — Jülyen Gün Sayısını, Yahudi takvimine çevirir
    • jdtojulian — Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir
    • jdtounix — Jülyen Gün Sayısını, Unix zaman damgasına çevirir
    • jewishtojd — Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir
    • juliantojd — Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir
    • unixtojd — Unix zaman damgasını, Jülyen Gün Sayısına çevirir


Giriş

Takvim eklentisi farklı takvim biçimleri arasında dönüşüm işlemlerini basitleştirmek için işlevler sunar. Ara biçim veya standart olarak Jülyen Gün Sayısını alır. Jülyen Gün Sayısı M.Ö. 1 Ocak 4713 tarihinden başlayarak geçen günlerin sayısıdır. Takvim biçimleri arasında dönüşüm yapmak için önce Jülyen Gün Sayısını bulmalı ve sonra bu bilgiyi istediğiniz takvim bilgisine dönüştürmelisiniz. Jülyen Gün Sayısı, Jülyen takviminden çok farklıdır! Jülyen Gün Sayısı hakkında daha fazla bilgi için » http://www.hermetic.ch/cal_stud/jdn.htm adresini ziyaret edebilirsiniz. Takvim biçimleri hakkında ise » http://www.fourmilab.ch/documents/calendar/ adresinden yararlanabilirsiniz. Bu adresten yapılan alıntılar tırnak işaretleri içerisinde gösterilmiştir.


Kurulum

İşlevlerin çalışabilmesi için, PHP'yi --enable-calendar seçeneği ile derlemelisiniz.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

CAL_EASTER_DEFAULT (int)
easter_days() için: Paskalya tatilini 1753'den önceki yıllar için Jülyen takvimine göre, sonraki yıllar için ise Miladî takvime göre hesaplar.
CAL_EASTER_ROMAN (int)
easter_days() için: Paskalya tatilini 1582'den önceki yıllar için Jülyen takvimine göre, sonraki yıllar için ise Miladî takvime göre hesaplar.
CAL_EASTER_ALWAYS_GREGORIAN (int)
easter_days() için: Paskalya tatilini ilerisini düşünerek Miladî takvime göre hesaplar.
CAL_EASTER_ALWAYS_JULIAN (int)
easter_days() için: Paskalya tatilini Jülyen takvimine göre hesaplar.
CAL_GREGORIAN (int)
cal_days_in_month(),
cal_from_jd(), cal_info() ve
cal_to_jd() için: İlerisini düşünen Miladî takvim
kullanılır.
CAL_JULIAN (int)
cal_days_in_month(),
cal_from_jd(), cal_info() ve
cal_to_jd() için: Jülyen takvimi kullanılır.
CAL_JEWISH (int)
cal_days_in_month(),
cal_from_jd(), cal_info() ve
cal_to_jd() için: Yahudi takvimi kullanılır.
CAL_FRENCH (int)
cal_days_in_month(),
cal_from_jd(), cal_info() ve
cal_to_jd() için: Fransız Cumhuriyetçi takvimi
kullanılır.
CAL_NUM_CALS (int)
Kullanılabilen takvim sayısı.
CAL_JEWISH_ADD_ALAFIM_GERESH (int)
jdtojewish() için: Yıllara binlik ayracı olarak gereş simge (tek tırnağa benzer) ekler.
CAL_JEWISH_ADD_ALAFIM (int)
jdtojewish() için: Yıllara binlik ayracı olarak alafim kelimesi ekler.
CAL_JEWISH_ADD_GERESHAYIM (int)
jdtojewish() için: Gün ve yıl sayılarının son harfinden önce gerşayim simge (çift tırnağa benzer) ekler.
CAL_DOW_DAYNO (int)
jddayofweek() için: Haftanın günleri int olarak ele alınır; Pazar için 0, Cumartesi için 6.
CAL_DOW_SHORT (int)
jddayofweek() için: Günün ingilizce kısa ismi.
CAL_DOW_LONG (int)
jddayofweek() için: Günün ingilizce ismi.
CAL_MONTH_GREGORIAN_SHORT (int)
jdmonthname() için: Kısaltılmış Miladî ay ismi.
CAL_MONTH_GREGORIAN_LONG (int)
jdmonthname() için: Miladî ay ismi.
CAL_MONTH_JULIAN_SHORT (int)
jdmonthname() için: Kısaltılmış Jülyen ay ismi.
CAL_MONTH_JULIAN_LONG (int)
jdmonthname() için: Jülyen ay ismi.
CAL_MONTH_JEWISH (int)
jdmonthname() için: Yahudi ay ismi.
CAL_MONTH_FRENCH (int)
jdmonthname() için: Fransız Cumhuriyetçi ay ismi.


Takvim İşlevleri

İçindekiler

  • cal_days_in_month — Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür
  • cal_from_jd — Jülyen Gün Sayısını, istenen takvim biçimine çevirir
  • cal_info — Bağımsız değişken olarak verilen takvim hakkında bilgi döner
  • cal_to_jd — Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar
  • easter_date — Verilen yıl için paskalya gece yarısının unix zaman damgasını döner
  • easter_days — Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.
  • frenchtojd — Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir
  • gregoriantojd — Gregoryen tarihini, Jülyen Gün Sayısına çevirir
  • JDDayOfWeek — Haftanın gününü verir
  • jdmonthname — Ay adını döndürür
  • jdtofrench — Jülyen gün sayısını, Fransız İhtilali takvimine çevirir
  • jdtogregorian — Jülyen Gün Sayısını, Gregoryen tarihine çevirir
  • jdtojewish — Jülyen Gün Sayısını, Yahudi takvimine çevirir
  • jdtojulian — Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir
  • jdtounix — Jülyen Gün Sayısını, Unix zaman damgasına çevirir
  • jewishtojd — Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir
  • juliantojd — Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir
  • unixtojd — Unix zaman damgasını, Jülyen Gün Sayısına çevirir


Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür

  • « Takvim İşlevleri
  • cal_from_jd »
  • PHP Manual
  • Takvim İşlevleri
  • Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür

cal_days_in_month

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_days_in_month — Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür

Açıklama

cal_days_in_month(int $takvim, int $ay, int $yil): int

İşlev seçilen takvim, yil ve ay bağımsız değişkenlerine göre gün sayısını geri döndürecektir.

Bağımsız Değişkenler

takvim

Hesaplama yapılacak takvim

ay

Seçilen takvimdeki ay

yil

Seçilen takvimdeki yıl

Dönen Değerler

Bağımsız değişken olarak verilen takvimde, seçilen aydaki gün sayısı

Örnekler

Örnek 1 cal_days_in_month() örneği

<?php
$num = cal_days_in_month(CAL_GREGORIAN, 8, 2003); // 31
echo "2003 yılı Ağustos ayında {$num} gün vardır";
?>


Jülyen Gün Sayısını, istenen takvim biçimine çevirir

  • « cal_days_in_month
  • cal_info »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen Gün Sayısını, istenen takvim biçimine çevirir

cal_from_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_from_jd — Jülyen Gün Sayısını, istenen takvim biçimine çevirir

Açıklama

cal_from_jd(int $jülyen_günü, int $takvim): array

cal_from_jd() işlevi jülyen_günü bağımsız değişkeni ile verilen Jülyen gününü takvim bağımsız değişkeni ile verilen takvim gününe çevirir. Desteklenen takvim değerleri CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH ve CAL_FRENCH'dir.

Bağımsız Değişkenler

jülyen_günü

Tamsayı olarak Jülyen günü

takvim

İstenen takvim

Dönen Değerler

Ay, gün, yıl, haftanın günü, gün ve ayın kısa ve uzun isimleri, "ay/gün/yıl" biçiminde tarih dizgesi öğelerini içeren dizi değişken döner. Haftanın günleri 0 (Pazar) ile 6 (Cumartesi) arasıdır.

Örnekler

Örnek 1 cal_from_jd() örneği

<?php
$today = unixtojd(mktime(0, 0, 0, 8, 16, 2003));
print_r(cal_from_jd($today, CAL_GREGORIAN));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [date] => 8/16/2003
    [month] => 8
    [day] => 16
    [year] => 2003
    [dow] => 6
    [abbrevdayname] => Sat
    [dayname] => Saturday
    [abbrevmonth] => Aug
    [monthname] => August
)

Ayrıca Bakınız

  • cal_to_jd() - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar
  • jdtofrench() - Jülyen gün sayısını, Fransız İhtilali takvimine çevirir
  • jdtogregorian() - Jülyen Gün Sayısını, Gregoryen tarihine çevirir
  • jdtojewish() - Jülyen Gün Sayısını, Yahudi takvimine çevirir
  • jdtojulian() - Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir
  • jdtounix() - Jülyen Gün Sayısını, Unix zaman damgasına çevirir


Bağımsız değişken olarak verilen takvim hakkında bilgi döner

  • « cal_from_jd
  • cal_to_jd »
  • PHP Manual
  • Takvim İşlevleri
  • Bağımsız değişken olarak verilen takvim hakkında bilgi döner

cal_info

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_info — Bağımsız değişken olarak verilen takvim hakkında bilgi döner

Açıklama

cal_info(int $takvim = -1): array

cal_info() işlevi, verilmiş takvim bağımsız değişkenine ait bilgiler içeren dizi değişken döner.

Dizi değişken şu öğeleri içerir; calname, calsymbol, month, abbrevmonth ve maxdaysinmonth. takvim bağımsız değişkeni olarak:

  • Gregoryen (Miladi) takvimi için 0 veya CAL_GREGORIAN
  • Jülyen (Rumi) takvimi için 1 veya CAL_JULIAN
  • Yahudi takvimi için 2 veya CAL_JEWISH
  • Fransız ihtilali takvimi için 3 veya CAL_FRENCH

Eğer takvim değeri verilmez ise, desteklenen bütün takvimler hakkında bilgi içeren dizi dönecektir.

Bağımsız Değişkenler

takvim

Bilgi verilecek takvim. Eğer belirtilmezse, bütün takvimler hakkında bilgi döner.

Dönen Değerler

Örnekler

Örnek 1 cal_info() örneği

<?php
$info = cal_info(0);
print_r($info);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [months] => Array
        (
            [1] => January
            [2] => February
            [3] => March
            [4] => April
            [5] => May
            [6] => June
            [7] => July
            [8] => August
            [9] => September
            [10] => October
            [11] => November
            [12] => December
        )

    [abbrevmonths] => Array
        (
            [1] => Jan
            [2] => Feb
            [3] => Mar
            [4] => Apr
            [5] => May
            [6] => Jun
            [7] => Jul
            [8] => Aug
            [9] => Sep
            [10] => Oct
            [11] => Nov
            [12] => Dec
        )

    [maxdaysinmonth] => 31
    [calname] => Gregorian
    [calsymbol] => CAL_GREGORIAN
)


Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar

  • « cal_info
  • easter_date »
  • PHP Manual
  • Takvim İşlevleri
  • Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar

cal_to_jd

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cal_to_jd — Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar

Açıklama

cal_to_jd(
int $takvim,
int $ay,
int $gun,
int $yil
): int

cal_to_jd() işlevi calendar bağımsız değişkenine göre Jülyen Gün Sayısını hesaplar. Desteklenen takvim türleri CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH ve CAL_FRENCH'dir.

Bağımsız Değişkenler

takvim

Dönüşüm yapılacak takvim CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH veya CAL_FRENCH değerlerinden biri olabilir.

ay

Sayı olarak ay değeri, geçerli olan değer aralığı takvim bağımsız değişkenine bağlıdır

gun

Sayı olarak gün değeri, gerçerli olan değer aralığı takvim bağımsız değişkenine bağlıdır

yil

Sayı olarak yıl değeri, geçerli olan değer aralığı takvim bağımsız değişkenine bağlıdır

Dönen Değerler

Jülyen Gün Sayısı.

Ayrıca Bakınız

  • cal_from_jd() - Jülyen Gün Sayısını, istenen takvim biçimine çevirir
  • frenchtojd() - Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir
  • gregoriantojd() - Gregoryen tarihini, Jülyen Gün Sayısına çevirir
  • jewishtojd() - Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir
  • juliantojd() - Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir
  • unixtojd() - Unix zaman damgasını, Jülyen Gün Sayısına çevirir


Verilen yıl için paskalya gece yarısının unix zaman damgasını döner

  • « cal_to_jd
  • easter_days »
  • PHP Manual
  • Takvim İşlevleri
  • Verilen yıl için paskalya gece yarısının unix zaman damgasını döner

easter_date

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_date — Verilen yıl için paskalya gece yarısının unix zaman damgasını döner

Açıklama

easter_date(?int $yıl = null, int $kip = CAL_EASTER_DEFAULT): int

Verilen yıl için paskalya gece yarısının unix zaman damgasını döner.

Paskalya günü, ilk olarak M.S. 325 yılında İznik Konseyi tarafından, İlk dolunaydan veya Bahar ılımından (ekinoks) sonraki ilk pazar günü olarak tanımlanmıştır. Ilımın daima 21 Mart tarihine rastladığı varsayılır ve hesaplama dolunayın ve sonraki pazar gününün hesaplanmasına indirgenir. Kullanılan algoritma Dionysius Exiguus tarafından 532 yılında tanıtıldı. Jülyen takvimi döneminde (1753'den önceki yıllar) ayın evrelerini takip etmek için basit 19 yıllık çevrim kullanıldı. Gregoryen takvimi döneminde (1753'den sonraki yıllar - Clavius ve Lilius tarafından hazırlandı ve XIII Papa Gregory tarafından Ekim 1582'de tanıtıldı, Eylül 1752'de Britanya ve kolonilerine yayıldı) çevrimin daha doğru olması için 2 düzeltme değişkeni eklendi.

Bağımsız Değişkenler

yil

32 bitlik sistemlerde 1970-2037, 64 bitlik sistemlerde 1970-2,000,000,000 aralığındaki değerlerden biri. Atlanırsa veya null belirtilirse yerel zamana göre geçerli yıl öntanımlıdır.

kip

CAL_EASTER_ALWAYS_JULIAN atanırsa Paskalya günlerinin Jülyen takvimine göre hesaplanmasını sağlar. Ayrıca, bkz. takvim sabitleri.

Dönen Değerler

Unix zaman damgası olarak paskalya günü.

Hatalar/İstisnalar

32 bitlik sistemlerde yıl 1970'ten önceyse veya 2037'den sonraysa veya 64 bitlik sistemlerde 2,000,000,000'dan sonraysa ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | 64 bitlik sistemlerde yıl artık 1970-2,000,000,000 aralığında değer kabul ediyor.
8.0.0 | yıl artık null olabiliyor.
8.0.0 | yıl izin verilen aralığın dışındaysa artık ValueError istisnası oluşuyor. Evvelce bir E_WARNING oluşur ve işlev false döndürürdü.

Örnekler

Örnek 1 easter_date() örneği

<?php

echo date("M-d-Y", easter_date(1999)); // Apr-04-1999
echo date("M-d-Y", easter_date(2000)); // Apr-23-2000
echo date("M-d-Y", easter_date(2001)); // Apr-15-2001

?>

Notlar

Bilginize:

easter_date(), PHP'nin dahili tarih ve saat işlevlerinden ziyade, sisteminizin C kütüphanesinin zaman işlevlerine dayanır. Sonuç olarak, easter_date(), PHP'nin öntanımlı saat dilimini kullanmak yerine, çalışması gereken saat dilimini belirlemek için TZ ortam değişkenini kullandığından, bu işlevi PHP'deki diğer tarih işlevleriyle birlikte kullanmak beklenmedik davranışlara neden olabilir.

Geçici bir çözüm olarak, Paskalya'nın başlangıcını PHP saat diliminizde hesaplamak için easter_days() işlevi DateTime ve DateInterval ile aşağıdaki gibi kullanılabilir:

<?php
function get_easter_datetime($year) {
$base = new DateTime("$year-03-21");
$days = easter_days($year);

return $base->add(new DateInterval("P{$days}D"));
}

foreach (range(2012, 2015) as $year) {
printf("Easter in %d is on %s\n",
$year,
get_easter_datetime($year)->format('F j'));
}
?>

Yukarıdaki örneğin çıktısı:

Easter in 2012 is on April 8
Easter in 2013 is on March 31
Easter in 2014 is on April 20
Easter in 2015 is on April 5

Örnek 2 - easter_date() ile DateTime kullanımı

<?php

$timestamp = easter_date(2023);

$datetime = new \DateTime();
$datetime->setTimestamp($timestamp);

echo $datetime->format('M-d-Y'); // Apr-09-2023

?>

Ayrıca Bakınız

  • 1970'den önce veya 2037'den sonraki Paskalya günleri için easter_days() - Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.


Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.

  • « easter_date
  • frenchtojd »
  • PHP Manual
  • Takvim İşlevleri
  • Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.

easter_days

(PHP 4, PHP 5, PHP 7, PHP 8)

easter_days — Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.

Açıklama

easter_days(?int $yıl = null, int $kip = CAL_EASTER_DEFAULT): int

Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir. Yıl belirtilmezse öntanımlı olarak içinde bulunulan yıl alınır.

Bu işlev Unix zaman damgasının dışına düşen yıllarda (1970'den önce, 2037'den sonra), Paskalya gününü hesaplamak için easter_date() işlevi yerine kullanılabilir.

Paskalya günü, ilk olarak M.S. 325 yılında İznik Konseyi tarafından, İlk dolunaydan veya Bahar ılımından (ekinoks) sonraki ilk pazar günü olarak tanımlanmıştır. Ilımın daima 21 Mart tarihine rastladığı varsayılır ve hesaplama dolunayın ve sonraki pazar gününün hesaplanmasına indirgenir. Kullanılan algoritma Dionysius Exiguus tarafından 532 yılında tanıtıldı. Jülyen takvimi döneminde (1753'den önceki yıllar) ayın evrelerini takip etmek için basit 19 yıllık çevrim kullanıldı. Gregoryen takvimi döneminde (1753'den sonraki yıllar - Clavius ve Lilius tarafından hazırlandı ve XIII Papa Gregory tarafından Ekim 1582'de tanıtıldı, Eylül 1752'de Britanya ve kolonilerine yayıldı) çevrimin daha doğru olması için 2 düzeltme değişkeni eklendi.

(Simon Kershaw tarafından yazılan C programı temel alınmıştır, <webmaster at ely.anglican dot org>)

Bağımsız Değişkenler

yil

Pozitif sayı olarak yıl. Atlanırsa veya null belirtilirseyerel zamana göre geçerli yıl öntanımlıdır.

kip

CAL_EASTER_ROMAN sabiti verildiği zaman 1582 - 1752 yılları için Gregoryen takvimi temel alınarak hesaplama yapar. Diğer sabitler için takvim sabitleri adresine bakınız.

Dönen Değerler

Verilen yil bağımsız değişkeni için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 sürümünden beri | yil artık null olabiliyor.

Örnekler

Örnek 1 easter_days() örneği

<?php

echo easter_days(1999); // 14, i.e. April 4
echo easter_days(1492); // 32, i.e. April 22
echo easter_days(1913); // 2, i.e. March 23

?>

Ayrıca Bakınız

  • easter_date() - Verilen yıl için paskalya gece yarısının unix zaman damgasını döner


Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir

  • « easter_days
  • gregoriantojd »
  • PHP Manual
  • Takvim İşlevleri
  • Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir

frenchtojd

(PHP 4, PHP 5, PHP 7, PHP 8)

frenchtojd — Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir

Açıklama

frenchtojd(int $ay, int $gun, int $yil): int

Fransız Cumhuriyet Takvim tarihini, Jülyen Gün Sayısına çevirir.

Bu işlev, sadece 1'den 14'e kadar olan yılları çevirir (Gregoryen tarihleri 22 Eylül 1792'den 22 Eylül 1806'ya kadar). Bu aralık takvimin kullanımda olduğu zamanlardan daha geniş bir dönemi kapsar.

Bağımsız Değişkenler

ay

1'den (Vendémiaire için), 13'e (her yılın sonundaki 5-6 gün için) kadar sayı olarak ay değeri

gun

1'den 30'a kadar sayı olarak gün değeri

yil

1 ile 14 arasında yıl değeri.

Dönen Değerler

Tamsayı olarak, verilmiş Fransız İhtilali Tarihine karşılık gelen Jülyen Gün Sayısı.

Ayrıca Bakınız

  • jdtofrench() - Jülyen gün sayısını, Fransız İhtilali takvimine çevirir
  • cal_to_jd() - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar


Gregoryen tarihini, Jülyen Gün Sayısına çevirir

  • « frenchtojd
  • JDDayOfWeek »
  • PHP Manual
  • Takvim İşlevleri
  • Gregoryen tarihini, Jülyen Gün Sayısına çevirir

gregoriantojd

(PHP 4, PHP 5, PHP 7, PHP 8)

gregoriantojd — Gregoryen tarihini, Jülyen Gün Sayısına çevirir

Açıklama

gregoriantojd(int $ay, int $gun, int $yil): int

Gregoryen Takvimi için geçerli olan aralık M.Ö. 25 Kasım 4714 ile M.S. 31 Aralık 9999 arasıdır.

Bu işlev M.Ö. 4714'e kadar olan tarihleri işleyebilse de, bu tip bir kullanım anlamlı değildir. Gregoryen takvimi 15 Ekim 1582'ye (Jülyen takvimine göre 5 Ekim 1582) kadar kullanılmamıştır. Hatta bazı ülkeler bu tarihten daha sonra kullanmaya başlamıştır, örneğin; İngiliz krallığı 1752, SSCB 1918 ve Yunanistan 1923'de geçmiştir. Birçok Avrupa ülkesi Gregoryen takviminden önce Jülyen takvimini kullanmıştır.

Bağımsız Değişkenler

ay

1'den (Ocak), 12'ye (Aralık) kadar ay değeri

gun

1 ile 31 arasında gün değeri. Ay belirtilenden daha az güne sahipse fazla günler sonraki aya taşar; bkz. aşağıdaki örnek.

yil

-4714 ile 9999 arasında yıl değeri. Negatif sayılar M.Ö. yıllar, pozitif sayılar M.S. yıllardır. Sıfır yılı yoktur. 31 Aralık -1'den sonra 1 Ocak 1 gelir.

Dönen Değerler

Gregoryen tarihine karşılık tamsayı olarak Jülyen Gün Sayısı. Geçerli aralığın dışında kalan tarihler için 0 döner.

Örnekler

Örnek 1 Takvim işlevleri örneği

<?php
$jd = gregoriantojd(10, 11, 1970);
echo "$jd\n";
$gregorian = gregoriantojd($jd);
echo "$gregorian\n";
?>

Yukarıdaki örneğin çıktısı:

2440871
10/11/1970

Örnek 2 - Taşma durumu

<?php
echo gregoriantojd(2, 31, 2018), PHP_EOL,
gregoriantojd(3, 3, 2018), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

2458181
2458181

Ayrıca Bakınız

  • jdtogregorian() - Jülyen Gün Sayısını, Gregoryen tarihine çevirir
  • cal_to_jd() - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar


Haftanın gününü verir

  • « gregoriantojd
  • jdmonthname »
  • PHP Manual
  • Takvim İşlevleri
  • Haftanın gününü verir

JDDayOfWeek

(PHP 4, PHP 5, PHP 7, PHP 8)

JDDayOfWeek — Haftanın gününü verir

Açıklama

jddayofweek(int $julyen_gunu, int $yöntem = CAL_DOW_DAYNO): int|string

Haftanın gününü verir. Bağımsız değişken olarak verilen yöntem'e göre dizge veya tamsayı geri döner.

Bağımsız Değişkenler

julyen_gunu

Tamsayı olarak Jülyen Gün Sayısı

yontem
Takvim hafta yöntemleri
Yöntem | Anlamı
0 (Öntanımlı) | Tamsayı olarak gün sayısını döner (0=Pazar, 1=Pazartesi, v.b.)
1 | Haftanın gününün dizge karşılığını döner (İngilizce-Gregoryen)
2 | Günün kısaltılmış değerini döner (İngilizce-Gregoryen)

Dönen Değerler

Dizge ya da tamsayı olarak, hafta gününün gregoryen değeri.


Ay adını döndürür

  • « JDDayOfWeek
  • jdtofrench »
  • PHP Manual
  • Takvim İşlevleri
  • Ay adını döndürür

jdmonthname

(PHP 4, PHP 5, PHP 7, PHP 8)

jdmonthname — Ay adını döndürür

Açıklama

jdmonthname(int $julyen_gunu, int $kip): string

Ay adını dizge olarak döndürür. kip Jülyen Gün Sayısının hangi takvim ve ay adına çevrileceğini belirler.

Takvim kipi değerleri
Yöntem | Anlamı | Değerleri
CAL_MONTH_GREGORIAN_SHORT | Gregoryen - kısaltılmış | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
CAL_MONTH_GREGORIAN_LONG | Gregoryen | January, February, March, April, May, June, July, August, September, October, November, December
CAL_MONTH_JULIAN_SHORT | Jülyen - kısaltılmış | Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
CAL_MONTH_JULIAN_LONG | Jülyen | January, February, March, April, May, June, July, August, September, October, November, December
CAL_MONTH_JEWISH | Yahudi | Tishri, Heshvan, Kislev, Tevet, Shevat, Adar, Adar I, Adar II, Nisan, Iyyar, Sivan, Tammuz, Av, Elul
CAL_MONTH_FRENCH | Fransız İhtilali | Vendemiaire, Brumaire, Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial, Messidor, Thermidor, Fructidor, Extra

Bağımsız Değişkenler

julyen_gunu

Üzerinde işlem yapılacak Jülyen Günü

kip

Ay adının alınacağı takvim kipi; bkz. yukarıdaki tablo.

Dönen Değerler

Verilen Jülyen Günü ve kip bağımsız değişkenine göre ay adı.


Jülyen gün sayısını, Fransız İhtilali takvimine çevirir

  • « jdmonthname
  • jdtogregorian »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen gün sayısını, Fransız İhtilali takvimine çevirir

jdtofrench

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtofrench — Jülyen gün sayısını, Fransız İhtilali takvimine çevirir

Açıklama

jdtofrench(int $julyen_gunu): string

Jülyen gün sayısını, Fransız İhtilali takvimine çevirir.

Bağımsız Değişkenler

julyen_gunu

Tamsayı olarak Jülyen Gün Sayısı

Dönen Değerler

"ay/gün/yıl" biçiminde, dizge olarak Fransız İhtilal takvimi tarihi

Ayrıca Bakınız

  • frenchtojd() - Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir
  • cal_from_jd() - Jülyen Gün Sayısını, istenen takvim biçimine çevirir


Jülyen Gün Sayısını, Gregoryen tarihine çevirir

  • « jdtofrench
  • jdtojewish »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen Gün Sayısını, Gregoryen tarihine çevirir

jdtogregorian

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtogregorian — Jülyen Gün Sayısını, Gregoryen tarihine çevirir

Açıklama

jdtogregorian(int $julyen_gunu): string

Jülyen Gün Sayısını, "ay/gün/yıl" biçimindeki Gregoryen tarih dizgesine çevirir.

Bağımsız Değişkenler

julyen_gunu

Tamsayı olarak, Jülyen Gün Sayısı

Dönen Değerler

"ay/gün/yıl" biçiminde, Gregoryen tarih dizgesi

Ayrıca Bakınız

  • gregoriantojd() - Gregoryen tarihini, Jülyen Gün Sayısına çevirir
  • cal_from_jd() - Jülyen Gün Sayısını, istenen takvim biçimine çevirir


Jülyen Gün Sayısını, Yahudi takvimine çevirir

  • « jdtogregorian
  • jdtojulian »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen Gün Sayısını, Yahudi takvimine çevirir

jdtojewish

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtojewish — Jülyen Gün Sayısını, Yahudi takvimine çevirir

Açıklama

jdtojewish(int $julyen_gunu, bool $ibrani = false, int $bicim = 0): string

Jülyen Gün Sayısını, Yahudi takvimine çevirir.

Bağımsız Değişkenler

julyen_gunu

Tamsayı olarak Jülyen Gün Sayısı

ibrani

ibrani bağımsız değişkeni true olarak ayarlanırsa, bicim bağımsız değişkeni, İbranice çıktıyı ISO-8859-8 kodlu dizge olarak biçimlendirmekte kullanılır.

bicim

Geçerli sabitler şunlardır: CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM, CAL_JEWISH_ADD_GERESHAYIM.

Dönen Değerler

Dizge olarak, "ay/gün/yıl" biçiminde Yahudi takvimi tarihi veya ibrani true ise ISO-8859-8 kodlu İbranice tarih dizgesi

Örnekler

Örnek 1 jdtojewish() örneği

<?php
$jd = gregoriantojd(10, 8, 2002);
echo jdtojewish($jd, true), PHP_EOL,
jdtojewish($jd, true, CAL_JEWISH_ADD_GERESHAYIM), PHP_EOL,
jdtojewish($jd, true, CAL_JEWISH_ADD_ALAFIM), PHP_EOL,
jdtojewish($jd, true,CAL_JEWISH_ADD_ALAFIM_GERESH), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

? ???? ?????
?' ???? ????"?
? ???? ? ????? ????
? ???? ?'????

Ayrıca Bakınız

  • jewishtojd() - Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir
  • cal_from_jd() - Jülyen Gün Sayısını, istenen takvim biçimine çevirir


Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir

  • « jdtojewish
  • jdtounix »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir

jdtojulian

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtojulian — Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir

Açıklama

jdtojulian(int $julyen_gunu): string

Jülyen Gün Sayısını, "ay/gün/yıl" biçiminde Jülyen takvim tarihine çevirir.

Bağımsız Değişkenler

julyen_gunu

Tamsayı olarak Jülyen Gün Sayısı

Dönen Değerler

"ay/gün/yıl" biçiminde dizge olarak Jülyen takvimi tarihi

Ayrıca Bakınız

  • juliantojd() - Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir
  • cal_from_jd() - Jülyen Gün Sayısını, istenen takvim biçimine çevirir


Jülyen Gün Sayısını, Unix zaman damgasına çevirir

  • « jdtojulian
  • jewishtojd »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen Gün Sayısını, Unix zaman damgasına çevirir

jdtounix

(PHP 4, PHP 5, PHP 7, PHP 8)

jdtounix — Jülyen Gün Sayısını, Unix zaman damgasına çevirir

Açıklama

jdtounix(int $julyen_gunu): int

İşlev julyengunu'ne karşılık gelen Unix zaman damgasını döndürür. Zaman UTC'ye göredir.

Bağımsız Değişkenler

julyen_gunu

32 bit için 2440588 ve 2465443, 64 bit için 2440588 ve 106751993607888 aralığında Jülyen gün sayısı.

Dönen Değerler

Jülyen Gün Sayısına karşılık gelen günün başlangıcı (geceyarısı) için Unix zaman damgası.

Hatalar/İstisnalar

julyen_gunu izin verilen aralığın dışındaysa bir ValueError yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor, bir ValueError yavruluyor.
7.3.24, 7.4.12 | julyen_gunu için üst sınır genişletildi. Evvelce, mimariye bakılmaksızın 2465342 idi.

Ayrıca Bakınız

  • unixtojd() - Unix zaman damgasını, Jülyen Gün Sayısına çevirir


Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir

  • « jdtounix
  • juliantojd »
  • PHP Manual
  • Takvim İşlevleri
  • Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir

jewishtojd

(PHP 4, PHP 5, PHP 7, PHP 8)

jewishtojd — Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir

Açıklama

jewishtojd(int $ay, int $gun, int $yil): int

İşlev, 1. yıldan (M.Ö. 3761) itibaren bütün tarihleri çevirebilse de, bu tip kullanım anlamlı değildir. Yahudi takvimi birkaç bin yıldan beri kullanımdadır, bununla birlikte ilk dönemlerinde bir ayın başlangıcı belirlemek için herhangi bir yol yoktu. Yeni bir ay, ilk hilal gözlendiğinde başlıyordu.

Bağımsız Değişkenler

ay

1'in Tişri, 13'ün Elul anlamına geldiği ve 1'den 13'e kadar bir sayı olarak ay. (6 ve 7 normal yıllarda Adar, ancak artık yıllarda Adar I ve Adar II adını alır.)

gun

1 ile 30 aralığında sayı olarak gün. Ay 29 gün ise artan gün sonraki ayın birinci günü olur.

yil

1 ile 9999 aralığında sayı olarak yıl

Dönen Değerler

Yahudi tarihine karşılık gelen Jülyen Gün Sayısı.

Ayrıca Bakınız

  • jdtojewish() - Jülyen Gün Sayısını, Yahudi takvimine çevirir
  • cal_to_jd() - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar


Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir

  • « jewishtojd
  • unixtojd »
  • PHP Manual
  • Takvim İşlevleri
  • Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir

juliantojd

(PHP 4, PHP 5, PHP 7, PHP 8)

juliantojd — Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir

Açıklama

juliantojd(int $ay, int $gun, int $yil): int

Jülyen takviminin geçerli olduğu aralık M.Ö. 4713 ile M.S. 9999'dur.

İşlev, M.Ö. 4713 yılına kadar tarihler için dönüşüm yapabilse de, böyle kullanımlar anlamlı değildir. Takvim M.Ö. 46 yılında başlamıştır fakat M.S. 8 ve belki de 4. yüzyılın sonlarına kadar yaygın hale gelmemiştir. Ayrıca, yılın başlangıcı bir kültürden diğerine değişiyordu, hepsi Ocak ayını ilk ay olarak kabul etmemişti.

Dikkat

Şimdi dünya genelinde kullanılan takvim sistemin Gregoryen olduğunu unutmayın, gregoriantojd() işlevi tarihleri Jülyen Gün Sayısına çevirmek için kullanılabilir.

Bağımsız Değişkenler

ay

1 (Ocak) ile 12 (Aralık) aralığında sayı olarak ay

gun

1 ile 31 aralığında sayı olarak gün

yil

-4713 ile 9999 aralığında sayı olarak yıl değeri

Dönen Değerler

Verilen Jülyen tarihine karşılık gelen Jülyen Gün Sayısı.

Ayrıca Bakınız

  • jdtojulian() - Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir
  • cal_to_jd() - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar


Unix zaman damgasını, Jülyen Gün Sayısına çevirir

  • « juliantojd
  • Date/Time »
  • PHP Manual
  • Takvim İşlevleri
  • Unix zaman damgasını, Jülyen Gün Sayısına çevirir

unixtojd

(PHP 4, PHP 5, PHP 7, PHP 8)

unixtojd — Unix zaman damgasını, Jülyen Gün Sayısına çevirir

Açıklama

unixtojd(?int $zaman_damgası = null): int|false

Verilen Unix zaman_damgası (1.1.1970'den başlayarak geçen saniye sayısı) için Jülyen Gün Sayısını döndürür, eğer zaman_damgası verilmez ise içinde bulunulan gün için Jülyen Gün Sayısını verir. Her iki durumda da zaman, yerel zamandır (UTC değil).

Bağımsız Değişkenler

zaman_damgası

Çevrilecek unix zaman damgası.

Dönen Değerler

Tamsayı olarak jülyen gün sayısı, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Ayrıca Bakınız

  • jdtounix() - Jülyen Gün Sayısını, Unix zaman damgasına çevirir


Tarih ve Zaman

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Date/Time Arithmetic
  • DateTime — DateTime sınıfı
    • DateTime::add — Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
    • DateTime::__construct — Returns new DateTime object
    • DateTime::createFromFormat — Parses a time string according to a specified format
    • DateTime::createFromImmutable — Returns new DateTime instance encapsulating the given DateTimeImmutable object
    • DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object
    • DateTime::getLastErrors — Takma Adı: DateTimeImmutable::getLastErrors
    • DateTime::modify — Alters the timestamp
    • DateTime::__set_state — The __set_state handler
    • DateTime::setDate — Sets the date
    • DateTime::setISODate — Sets the ISO date
    • DateTime::setTime — Sets the time
    • DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
    • DateTime::setTimezone — Sets the time zone for the DateTime object
    • DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
  • DateTimeImmutable — DateTimeImmutable sınıfı
    • DateTimeImmutable::add — Returns a new object, with added amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::__construct — Returns new DateTimeImmutable object
    • DateTimeImmutable::createFromFormat — Parses a time string according to a specified format
    • DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
    • DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable instance encapsulating the given DateTime object
    • DateTimeImmutable::getLastErrors — Returns the warnings and errors
    • DateTimeImmutable::modify — Creates a new object with modified timestamp
    • DateTimeImmutable::__set_state — The __set_state handler
    • DateTimeImmutable::setDate — Sets the date
    • DateTimeImmutable::setISODate — Sets the ISO date
    • DateTimeImmutable::setTime — Sets the time
    • DateTimeImmutable::setTimestamp — Sets the date and time based on a Unix timestamp
    • DateTimeImmutable::setTimezone — Sets the time zone
    • DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds
  • DateTimeInterface — DateTimeInterface arayüzü
    • DateTimeInterface::diff — Returns the difference between two DateTime objects
    • DateTimeInterface::format — Returns date formatted according to given format
    • DateTimeInterface::getOffset — Returns the timezone offset
    • DateTimeInterface::getTimestamp — Gets the Unix timestamp
    • DateTimeInterface::getTimezone — Return time zone relative to given DateTime
    • DateTime::__wakeup — The __wakeup handler
  • DateTimeZone — DateTimeZone sınıfı
    • DateTimeZone::__construct — Yeni bir DateTimeZone nesnesi oluşturur
    • DateTimeZone::getLocation — Zaman dilimi konum bilgisini döndürür
    • DateTimeZone::getName — Zaman diliminin adını döndürür
    • DateTimeZone::getOffset — Returns the timezone offset from GMT
    • DateTimeZone::getTransitions — Returns all transitions for the timezone
    • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
    • DateTimeZone::listIdentifiers — Returns a numerically indexed array containing all defined timezone identifiers
  • DateInterval — DateInterval sınıfı
    • DateInterval::__construct — Yeni bir DateInterval nesnesi oluşturur
    • DateInterval::createFromDateString — Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür
    • DateInterval::format — Zaman aralığını biçimler
  • DatePeriod — DatePeriod sınıfı
    • DatePeriod::__construct — Yeni bir DatePeriod nesnesi oluşturur
    • DatePeriod::createFromISO8601String — Creates a new DatePeriod object from an ISO8601 string
    • DatePeriod::getDateInterval — Gets the interval
    • DatePeriod::getEndDate — Gets the end date
    • DatePeriod::getRecurrences — Gets the number of recurrences
    • DatePeriod::getStartDate — Gets the start date
  • Tarih ve Zaman İşlevleri
    • checkdate — Miladi tarihi doğrular
    • date_add — DateTime::add işlevinin takma adıdır
    • date_create_from_format — DateTime::createFromFormat işlevinin takma adıdır
    • date_create_immutable_from_format — DateTimeImmutable::createFromFormat işlevinin takma adı
    • date_create_immutable — Yeni bir DateTimeImmutable nesnesi oluşturur
    • date_create — Yeni bir DateTime nesnesi oluşturur
    • date_date_set — DateTime::setDate işlevinin takma adıdır
    • date_default_timezone_get — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir
    • date_default_timezone_set — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar
    • date_diff — DateTime::diff işlevinin takma adıdır
    • date_format — DateTime::format işlevinin takma adıdır
    • date_get_last_errors — DateTimeImmutable::getLastErrors işlevinin takma adıdır
    • date_interval_create_from_date_string — DateInterval::createFromDateString işlevinin takma adıdır
    • date_interval_format — DateInterval::format işlevinin takma adıdır
    • date_isodate_set — DateTime::setISODate işlevinin takma adıdır
    • date_modify — DateTime::modify işlevinin takma adıdır
    • date_offset_get — DateTime::getOffset işlevinin takma adıdır
    • date_parse_from_format — Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir
    • date_parse — Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür
    • date_sub — DateTime::sub işlevinin takma adıdır
    • date_sun_info — Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür
    • date_sunrise — Belirtilen gün ve konum için şafak zamanını döndürür
    • date_sunset — Verilen gün ve konum için günbatımı zamanını döndürür
    • date_time_set — DateTime::setTime işlevinin takma adıdır
    • date_timestamp_get — DateTime::getTimestamp işlevinin takma adıdır
    • date_timestamp_set — DateTime::setTimestamp işlevinin takma adıdır
    • date_timezone_get — DateTime::getTimezone işlevinin takma adıdır
    • date_timezone_set — DateTime::setTimezone işlevinin takma adıdır
    • date — Unix zaman damgasını biçimlendirir
    • getdate — Tarih/zaman bilgisi getirir
    • gettimeofday — Geçerli zamanı getirir
    • gmdate — Bir tarih/saati GMT/UTC tarih/saati olarak biçemler
    • gmmktime — Bir GMT tarihi için Unix zaman damgasını döndürür
    • gmstrftime — Yerel ayarlara göre tarih ve saati, UTC türüne çevirir
    • idate — Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir
    • localtime — Yerel zamanı getirir
    • microtime — Geçerli Unix zaman damgasını mikrosaniye olarak döndürür
    • mktime — Bir tarih için Unix zaman damgasını döndürür
    • strftime — Format a local time/date according to locale settings
    • strptime — strftime işleviyle üretilen zaman ve tarihleri çözümler
    • strtotime — Parse about any English textual datetime description into a Unix timestamp
    • time — Geçerli Unix zaman damgasını döndürür
    • timezone_abbreviations_list — DateTimeZone::listAbbreviations işlevinin takma adıdır
    • timezone_identifiers_list — DateTimeZone::listIdentifiers işlevinin takma adıdır
    • timezone_location_get — DateTimeZone::getLocation işlevinin takma adıdır
    • timezone_name_from_abbr — Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür
    • timezone_name_get — DateTimeZone::getName işlevinin takma adıdır
    • timezone_offset_get — DateTimeZone::getOffset işlevinin takma adıdır
    • timezone_open — DateTimeZone::__construct için takma ad
    • timezone_transitions_get — DateTimeZone::getTransitions işlevinin takma adıdır
    • timezone_version_get — timezonedb sürümünü döndürür
  • Tarih/Saat Hataları ve İstisnaları
  • Supported Date and Time Formats
  • Desteklenen Zaman Dilimlerinin Listesi
    • Afrika
    • Amerika
    • Antarktika
    • Kuzey Kutup Dairesi
    • Asya
    • Atlantik
    • Avustralya
    • Avrupa
    • Hint Denizi
    • Pasifik
    • Diğerleri
  • DateError — The DateError class
  • DateObjectError — The DateObjectError class
  • DateRangeError — The DateRangeError class
  • DateException — The DateException class
  • DateInvalidOperationException — The DateInvalidOperationException class
  • DateInvalidTimeZoneException — The DateInvalidTimeZoneException class
  • DateMalformedIntervalStringException — The DateMalformedIntervalStringException class
  • DateMalformedPeriodStringException — The DateMalformedPeriodStringException class
  • DateMalformedStringException — The DateMalformedStringException class


Giriş

DateTimeImmutable ve ilgili diğer sınıflar tarih/zaman bilgisiyle işlem yapmak için kullanılabilir. Bu nesneler, geçerli sistem zamanından veya tarih/zaman bilgisini gösteren bir dizge aktarılarak oluşturulabilir.

Zaman dilimlerinin eldesi ve geçişleri de dahil olmak üzere bu bilgi üzerinde biçemleme ve değişiklik yapmak için zengin bir yöntem kümesi de sağlanmıştır.

PHP'deki tarih/saat özellikleri, Miladi takvimin yürürlüğe girmesinden önceki mevcut artık gün kurallarını hesaba katan ve aynı zamanda MÖ 1 ve MS 1 arasındaki yıl farkını 0 olarak ele alan ve bir » proleptik Miladi takvim olan ISO 8601 takvimini gerçekler. Artık saniyeler desteklenmez.

Tarih ve zaman bilgisi dahili olarak 64 bitlik bir sayı olarak saklanır, dolayısıyla mantıken kullanışlı tarihler (negatif yıllar dahil) desteklenir. Aralık, geçmişte yaklaşık 292 milyar yıldan, gelecekte yaklaşık 292 milyar yıla kadardır.

Bilginize: Bu işlevlerde kullanılabilecek zaman dilimleri Desteklenen Zaman Dilimlerinin Listesi bölümünde bulunabilir.


Kurulum

Bu işlevleri kullanmak için hiçbir şey kurmaya gerek yoktur; PHP çekirdeğinin parçasıdırlar.

Bilginize: Güncel zaman dilimi veritabanının yüklenmesi

Zaman dilimi veritabanın güncel sürümü, PECL'nin » zaman dilimi veritabanı olarak yüklenebilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Tarih/Saat Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
date.default_latitude | "31.7667" | PHP_INI_ALL |
date.default_longitude | "35.2333" | PHP_INI_ALL |
date.sunrise_zenith | "90.833333" | PHP_INI_ALL | PHP 8.0.0 öncesinde, "90.583333" öntanımlıydı.
date.sunset_zenith | "90.833333" | PHP_INI_ALL | PHP 8.0.0 öncesinde, "90.583333" öntanımlıydı.
date.timezone | "UTC" | PHP_INI_ALL | PHP 8.2 ve sonrasında, geçersiz bir değer veya boş dizge atanması bir uyarı ile sonuçlanmaktadır.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

date.default_latitude float

Varsayılan enlem. Ekvatorda 0'dan başlar, kuzeye doğru +90 ve güneye doğru -90'a kadardır.

date.default_longitude float

Varsayılan boylam. Başlangıç meridyeninde 0'dan başlar, doğuya doğru +180 ve batıya doğru -180'e kadardır.

date.sunrise_zenith float

Varsayılan gün doğumu başucu noktası.

90°50' öntanımlı değerdir. Ek 50' iki bileşenden kaynaklanır: 16' Güneşin yarıçapından ve 34' atmosferik kırılmadan.

date.sunset_zenith float

Varsayılan gün batımı başucu noktası.

date.timezone string

Tüm tarih/saat işlevleri için öntanımlı zaman dilimi kullanılır. Öncelik sıralaması date_default_timezone_get() işlevinin sayfasında tanımlanmıştır. Desteklenen zaman dilimleri için Desteklenen Zaman Dilimlerinin Listesi sayfasına bakın.

Bilginize: İlk dört yapılandırma seçeneği halen sadece date_sunrise() ile date_sunset() işlevlerinde kullanılmaktadır.


Öntanımlı Sabitler

DATE_ sabitleri standart tarih gösterimi için tarih biçimlendirme işlevleriyle kullanılabilirler. (date() işlevi gibi).

Aşağıdaki sabitler date_sunrise() ile date_sunset() işlevleri tarafından biçim belirtmek için döndürülürler.

SUNFUNCS_RET_TIMESTAMP (int)
Zaman damgası
SUNFUNCS_RET_STRING (int)
Saat:dakika (örnek: 08:02)
SUNFUNCS_RET_DOUBLE (int)
Gerçek sayı olarak saat (örnek: 8.75)


  • « Öntanımlı Sabitler
  • Date/Time Arithmetic »
  • PHP Manual
  • Date/Time
  • Örnekler

Örnekler

İçindekiler

  • Date/Time Arithmetic


Date/Time Arithmetic

The following examples show some pitfalls of Date/Time arithmetic with regard to DST transitions and months having different numbers of days.

Örnek 1 DateTimeImmutable::add/sub add intervals which cover elapsed time

Adding PT24H over a DST transition will appear to add 23/25 hours (for most timezones).

<?php
$dt = new DateTimeImmutable("2015-11-01 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->add(new DateInterval("PT3H"));
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

Start: 2015-11-01 00:00:00 -04:00
End:   2015-11-01 02:00:00 -05:00

Örnek 2 DateTimeImmutable::modify and strtotime increment or decrement individual component values

Adding +24 hours over a DST transition will add exactly 24 hours as seen in the date/time string (unless the start or end time is on a transition point).

<?php
$dt = new DateTimeImmutable("2015-11-01 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("+24 hours");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

Start: 2015-11-01 00:00:00 -04:00
End:   2015-11-02 00:00:00 -05:00

Örnek 3 Adding or subtracting times can over- or underflow dates

Like where January 31st + 1 month will result in March 2nd (leap year) or 3rd (normal year).

<?php
echo "Normal year:\n"; // February has 28 days
$dt = new DateTimeImmutable("2015-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("+1 month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;

echo "Leap year:\n"; // February has 29 days
$dt = new DateTimeImmutable("2016-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("+1 month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

Normal year:
Start: 2015-01-31 00:00:00 -05:00
End:   2015-03-03 00:00:00 -05:00
Leap year:
Start: 2016-01-31 00:00:00 -05:00
End:   2016-03-02 00:00:00 -05:00

To get the last day of the next month (i.e. to prevent the overflow), the last day of format is available.

<?php
echo "Normal year:\n"; // February has 28 days
$dt = new DateTimeImmutable("2015-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("last day of next month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;

echo "Leap year:\n"; // February has 29 days
$dt = new DateTimeImmutable("2016-01-31 00:00:00", new DateTimeZone("America/New_York"));
echo "Start: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
$dt = $dt->modify("last day of next month");
echo "End: ", $dt->format("Y-m-d H:i:s P"), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

Normal year:
Start: 2015-01-31 00:00:00 -05:00
End:   2015-02-28 00:00:00 -05:00
Leap year:
Start: 2016-01-31 00:00:00 -05:00
End:   2016-02-29 00:00:00 -05:00


DateTime sınıfı

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Giriş

Tarih ve zaman gösterimi.

Bu sınıf, DateTimeImmutable gibi davranır, ancak DateTime::modify() gibi değişiklik yapma yöntemleri çağrıldığında nesnelerin kendisi değiştirilir.

Uyarı

DateTime sınıfının nesnelerindeki yöntemlerin çağrılması bu nesnelerde tutulan bilgiyi değiştirir. Bunu engellemek için clone işleci kullanılarak yeni bir nesne oluşturulmalıdır. Önerilen bu davranışı öntanımlı olarak elde etmek için DateTime yerine DateTimeImmutable kullanılabilir.

Sınıf Sözdizimi

class DateTime implements DateTimeInterface {
/* Miras alınan sabitler */
public const string DateTimeInterface::ATOM = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T";
public const string DateTimeInterface::ISO8601 = "Y-m-d\\TH:i:sO";
public const string DateTimeInterface::ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC822 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T";
public const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
public const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC3339 = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
public const string DateTimeInterface::RSS = "D, d M Y H:i:s O";
public const string DateTimeInterface::W3C = "Y-m-d\\TH:i:sP";
/* Yöntemler */
public __construct(string $datetime = "now", ?DateTimeZone $timezone = null)
public add(DateInterval $interval): DateTime
public static createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false
public static createFromImmutable(DateTimeImmutable $object): static
public static createFromInterface(DateTimeInterface $object): DateTime
public modify(string $modifier): DateTime|false
public static __set_state(array $array): DateTime
public setDate(int $year, int $month, int $day): DateTime
public setISODate(int $year, int $week, int $dayOfWeek = 1): DateTime
public setTime(
int $hour,
int $minute,
int $second = 0,
int $microsecond = 0
): DateTime
public setTimestamp(int $timestamp): DateTime
public setTimezone(DateTimeZone $timezone): DateTime
public sub(DateInterval $interval): DateTime
public diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public format(string $format): string
public getOffset(): int
public getTimestamp(): int
public getTimezone(): DateTimeZone|false
public __wakeup(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | DateTime sınıfının sabitleri şimdi DateTimeInterface üzerinde tanımlı.
7.1.0 | DateTime kurucusu artık yapılandırılan değerdeki mikrosaniyeleri içerebiliyor, evvelce mikrosaniyeler daima 0 ile ilklendirilirdi.

İçindekiler

  • DateTime::add — Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
  • DateTime::__construct — Returns new DateTime object
  • DateTime::createFromFormat — Parses a time string according to a specified format
  • DateTime::createFromImmutable — Returns new DateTime instance encapsulating the given DateTimeImmutable object
  • DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object
  • DateTime::getLastErrors — Takma Adı: DateTimeImmutable::getLastErrors
  • DateTime::modify — Alters the timestamp
  • DateTime::__set_state — The __set_state handler
  • DateTime::setDate — Sets the date
  • DateTime::setISODate — Sets the ISO date
  • DateTime::setTime — Sets the time
  • DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
  • DateTime::setTimezone — Sets the time zone for the DateTime object
  • DateTime::sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object


Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds

  • « DateTime
  • DateTime::__construct »
  • PHP Manual
  • DateTime
  • Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds

DateTime::add

date_add

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::add -- date_add — Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds

Açıklama

Nesne yönelimli kullanım

public DateTime::add(DateInterval $interval): DateTime

Yordamsal kullanım

date_add(DateTime $object, DateInterval $interval): DateTime

Adds the specified DateInterval object to the specified DateTime object.

Like DateTimeImmutable::add() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

interval

A DateInterval object

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Ayrıca Bakınız

  • DateTimeImmutable::add() - Returns a new object, with added amount of days, months, years, hours, minutes and seconds


Returns new DateTime object

  • « DateTime::add
  • DateTime::createFromFormat »
  • PHP Manual
  • DateTime
  • Returns new DateTime object

DateTime::__construct

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::__construct — Returns new DateTime object

Açıklama

public DateTime::__construct(string $datetime = "now", ?DateTimeZone $timezone = null)

Like DateTimeImmutable::__construct() but works with DateTime. Consider using the DateTimeImmutable and features instead.

Returns a new DateTime object.

Bağımsız Değişkenler

datetime

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

Enter "now" here to obtain the current time when using the $timezone parameter.

timezone

A DateTimeZone object representing the timezone of $datetime.

If $timezone is omitted or null, the current timezone will be used.

Bilginize:

The $timezone parameter and the current timezone are ignored when the $datetime parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Dönen Değerler

Returns a new DateTime instance.

Hatalar/İstisnalar

If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was Exception.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws DateMalformedStringException if an invalid string is passed, instead of Exception.

Ayrıca Bakınız

  • DateTimeImmutable::__construct() - Returns new DateTimeImmutable object


Parses a time string according to a specified format

  • « DateTime::__construct
  • DateTime::createFromImmutable »
  • PHP Manual
  • DateTime
  • Parses a time string according to a specified format

DateTime::createFromFormat

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::createFromFormat -- date_create_from_format — Parses a time string according to a specified format

Açıklama

Nesne yönelimli kullanım

public static DateTime::createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false

Yordamsal kullanım

date_create_from_format(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTime|false

Returns a new DateTime object representing the date and time specified by the datetime string, which was formatted in the given format.

Like DateTimeImmutable::createFromFormat() and date_create_immutable_from_format(), respectively, but creates a DateTime object.

This method, including parameters, examples, and considerations are documented on the DateTimeImmutable::createFromFormat page.

Bağımsız Değişkenler

See DateTimeImmutable::createFromFormat.

Dönen Değerler

Returns a new DateTime instance başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method throws ValueError when the datetime contains NULL-bytes.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.21, 8.1.8, 8.2.0 | Now throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.

Örnekler

For an extensive set of examples, see DateTimeImmutable::createFromFormat.

Ayrıca Bakınız

  • DateTimeImmutable::createFromFormat() - Parses a time string according to a specified format


Returns new DateTime instance encapsulating the given DateTimeImmutable object

  • « DateTime::createFromFormat
  • DateTime::createFromInterface »
  • PHP Manual
  • DateTime
  • Returns new DateTime instance encapsulating the given DateTimeImmutable object

DateTime::createFromImmutable

(PHP 7 >= 7.3.0, PHP 8)

DateTime::createFromImmutable — Returns new DateTime instance encapsulating the given DateTimeImmutable object

Açıklama

public static DateTime::createFromImmutable(DateTimeImmutable $object): static

Bağımsız Değişkenler

object

The immutable DateTimeImmutable object that needs to be converted to a mutable version. This object is not modified, but instead a new DateTime instance is created containing the same date, time, and timezone information.

Dönen Değerler

Returns a new DateTime instance.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTime.

Örnekler

Örnek 1 Creating a mutable date time object

<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");

$mutable = DateTime::createFromImmutable( $date );
?>


Returns new DateTime object encapsulating the given DateTimeInterface object

  • « DateTime::createFromImmutable
  • DateTime::getLastErrors »
  • PHP Manual
  • DateTime
  • Returns new DateTime object encapsulating the given DateTimeInterface object

DateTime::createFromInterface

(PHP 8)

DateTime::createFromInterface — Returns new DateTime object encapsulating the given DateTimeInterface object

Açıklama

public static DateTime::createFromInterface(DateTimeInterface $object): DateTime

Bağımsız Değişkenler

object

The DateTimeInterface object that needs to be converted to a mutable version. This object is not modified, but instead a new DateTime object is created containing the same date, time, and timezone information.

Dönen Değerler

Returns a new DateTime instance.

Örnekler

Örnek 1 Creating a mutable date time object

<?php
$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");

$mutable = DateTime::createFromInterface($date);

$date = new DateTime("2014-06-20 11:45 Europe/London");
$also_mutable = DateTime::createFromInterface($date);
?>


Takma Adı: DateTimeImmutable::getLastErrors

  • « DateTime::createFromInterface
  • DateTime::modify »
  • PHP Manual
  • DateTime
  • Takma Adı: DateTimeImmutable::getLastErrors

DateTime::getLastErrors

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::getLastErrors — Takma Adı: DateTimeImmutable::getLastErrors()

Açıklama

Bu işlev şu işlevin takma adıdır: DateTimeImmutable::getLastErrors()


Alters the timestamp

  • « DateTime::getLastErrors
  • DateTime::__set_state »
  • PHP Manual
  • DateTime
  • Alters the timestamp

DateTime::modify

date_modify

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::modify -- date_modify — Alters the timestamp

Açıklama

Nesne yönelimli kullanım

public DateTime::modify(string $modifier): DateTime|false

Yordamsal kullanım

date_modify(DateTime $object, string $modifier): DateTime|false

Alter the timestamp of a DateTime object by incrementing or decrementing in a format accepted by DateTimeImmutable::__construct().

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

modifier

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

Dönen Değerler

Değişmiş DateTime nesnesi, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Object Orientated API only: If an invalid Date/Time string is passed, DateMalformedStringException is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws DateMalformedStringException with DateTime::modify() if an invalid string is passed, instead of a warning. date_modify() has not been changed.

Örnekler

Örnek 1 DateTime::modify() example

Nesne yönelimli kullanım

<?php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
?>

Yordamsal kullanım

<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>

Yukarıdaki örneklerin çıktısı:

2006-12-13

Örnek 2 Beware when adding or subtracting months

<?php
$date = new DateTime('2000-12-31');

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";

$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-01-31
2001-03-03

Örnek 3 All formats of Date and Time are supported

<?php
$date = new DateTime('2020-12-31');

$date->modify('July 1st, 2023');
echo $date->format('Y-m-d H:i') . "\n";

$date->modify('Monday next week');
echo $date->format('Y-m-d H:i') . "\n";

$date->modify('17:30');
echo $date->format('Y-m-d H:i') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2023-07-01 00:00
2023-07-03 00:00
2023-07-03 17:30

Ayrıca Bakınız

  • strtotime() - Parse about any English textual datetime description into a Unix timestamp
  • DateTimeImmutable::modify() - Creates a new object with modified timestamp
  • DateTime::add() - Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
  • DateTime::setDate() - Sets the date
  • DateTime::setISODate() - Sets the ISO date
  • DateTime::setTime() - Sets the time
  • DateTime::setTimestamp() - Sets the date and time based on an Unix timestamp


The __set_state handler

  • « DateTime::modify
  • DateTime::setDate »
  • PHP Manual
  • DateTime
  • The __set_state handler

DateTime::__set_state

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::__set_state — The __set_state handler

Açıklama

public static DateTime::__set_state(array $array): DateTime

The __set_state() handler.

Like DateTimeImmutable::__set_state() but works with DateTime.

Bağımsız Değişkenler

array

Initialization array.

Dönen Değerler

Returns a new instance of a DateTime object.


Sets the date

  • « DateTime::__set_state
  • DateTime::setISODate »
  • PHP Manual
  • DateTime
  • Sets the date

DateTime::setDate

date_date_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setDate -- date_date_set — Sets the date

Açıklama

Nesne yönelimli kullanım

public DateTime::setDate(int $year, int $month, int $day): DateTime

Yordamsal kullanım

date_date_set(
DateTime $object,
int $year,
int $month,
int $day
): DateTime

Resets the current date of the DateTime object to a different date.

Like DateTimeImmutable::setDate() but works with DateTime, and changes the existing object.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Ayrıca Bakınız

  • DateTimeImmutable::setDate() - Sets the date


Sets the ISO date

  • « DateTime::setDate
  • DateTime::setTime »
  • PHP Manual
  • DateTime
  • Sets the ISO date

DateTime::setISODate

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setISODate -- date_isodate_set — Sets the ISO date

Açıklama

Nesne yönelimli kullanım

public DateTime::setISODate(int $year, int $week, int $dayOfWeek = 1): DateTime

Yordamsal kullanım

date_isodate_set(
DateTime $object,
int $year,
int $week,
int $dayOfWeek = 1
): DateTime

Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Like DateTimeImmutable::setISODate() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

year

Year of the date.

week

Week of the date.

dayOfWeek

Offset from the first day of the week.

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Ayrıca Bakınız

  • DateTimeImmutable::setISODate() - Sets the ISO date


Sets the time

  • « DateTime::setISODate
  • DateTime::setTimestamp »
  • PHP Manual
  • DateTime
  • Sets the time

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTime -- date_time_set — Sets the time

Açıklama

Nesne yönelimli kullanım

public DateTime::setTime(
int $hour,
int $minute,
int $second = 0,
int $microsecond = 0
): DateTime

Yordamsal kullanım

date_time_set(
DateTime $object,
int $hour,
int $minute,
int $second = 0,
int $microsecond = 0
): DateTime

Resets the current time of the DateTime object to a different time.

Like DateTimeImmutable::setTime() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

microsecond

Microsecond of the time.

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
7.1.0 | The microsecond parameter was added.

Ayrıca Bakınız

  • DateTimeImmutable::setTime() - Sets the time


Sets the date and time based on an Unix timestamp

  • « DateTime::setTime
  • DateTime::setTimezone »
  • PHP Manual
  • DateTime
  • Sets the date and time based on an Unix timestamp

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::setTimestamp -- date_timestamp_set — Sets the date and time based on an Unix timestamp

Açıklama

Nesne yönelimli kullanım

public DateTime::setTimestamp(int $timestamp): DateTime

Yordamsal kullanım

date_timestamp_set(DateTime $object, int $timestamp): DateTime

Sets the date and time based on an Unix timestamp.

Like DateTimeImmutable::setTimestamp() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

timestamp

Unix timestamp representing the date. Setting timestamps outside the range of int is possible by using DateTimeImmutable::modify() with the @ format.

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Ayrıca Bakınız

  • DateTimeImmutable::setTimestamp() - Sets the date and time based on a Unix timestamp


Sets the time zone for the DateTime object

  • « DateTime::setTimestamp
  • DateTime::sub »
  • PHP Manual
  • DateTime
  • Sets the time zone for the DateTime object

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTimezone -- date_timezone_set — Sets the time zone for the DateTime object

Açıklama

Nesne yönelimli kullanım

public DateTime::setTimezone(DateTimeZone $timezone): DateTime

Yordamsal kullanım

date_timezone_set(DateTime $object, DateTimeZone $timezone): DateTime

Sets a new timezone for a DateTime object.

Like DateTimeImmutable::setTimezone() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

timezone

A DateTimeZone object representing the desired time zone.

Dönen Değerler

Returns the DateTime object for method chaining. The underlaying point-in-time is not changed when calling this method.

Örnekler

Örnek 1 DateTime::setTimeZone() example

Nesne yönelimli kullanım

<?php
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Yordamsal kullanım

<?php
$date = date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

Yukarıdaki örneklerin çıktısı:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Ayrıca Bakınız

  • DateTimeImmutable::setTimezone() - Sets the time zone
  • DateTime::getTimezone() - Return time zone relative to given DateTime
  • DateTimeZone::__construct() - Yeni bir DateTimeZone nesnesi oluşturur


Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

  • « DateTime::setTimezone
  • DateTimeImmutable »
  • PHP Manual
  • DateTime
  • Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

DateTime::sub

date_sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::sub -- date_sub — Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object

Açıklama

Nesne yönelimli kullanım

public DateTime::sub(DateInterval $interval): DateTime

Yordamsal kullanım

date_sub(DateTime $object, DateInterval $interval): DateTime

Modifies the specified DateTime object, by subtracting the specified DateInterval object.

Like DateTimeImmutable::sub() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

interval

A DateInterval object

Dönen Değerler

Yöntem zincirleme için değişmiş DateTime nesnesi döner.

Hatalar/İstisnalar

Object Orientated API only: If an unsupported operation is attempted, such as using a DateInterval object representing relative time specifications such as next weekday, a DateInvalidOperationException is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws a DateInvalidOperationException with DateTime::sub(), instead of a warning when an unsupported operation is attempted. date_sub() has not been changed.

Ayrıca Bakınız

  • DateTimeImmutable::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds


DateTimeImmutable sınıfı

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

Tarih ve zaman gösterimi.

Bu sınıf, DateTime gibi davranır, ancak DateTime::modify() gibi değişiklik yapma yöntemleri çağrıldığında yeni nesneler döndürür.

Sınıf Sözdizimi

class DateTimeImmutable implements DateTimeInterface {
/* Miras alınan sabitler */
public const string DateTimeInterface::ATOM = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T";
public const string DateTimeInterface::ISO8601 = "Y-m-d\\TH:i:sO";
public const string DateTimeInterface::ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC822 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T";
public const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O";
public const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
public const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O";
public const string DateTimeInterface::RFC3339 = "Y-m-d\\TH:i:sP";
public const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
public const string DateTimeInterface::RSS = "D, d M Y H:i:s O";
public const string DateTimeInterface::W3C = "Y-m-d\\TH:i:sP";
/* Yöntemler */
public __construct(string $datetime = "now", ?DateTimeZone $timezone = null)
public add(DateInterval $interval): DateTimeImmutable
public static createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false
public static createFromInterface(DateTimeInterface $object): DateTimeImmutable
public static createFromMutable(DateTime $object): static
public static getLastErrors(): array|false
public modify(string $modifier): DateTimeImmutable|false
public static __set_state(array $array): DateTimeImmutable
public setDate(int $year, int $month, int $day): DateTimeImmutable
public setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable
public setTime(
int $hour,
int $minute,
int $second = 0,
int $microsecond = 0
): DateTimeImmutable
public setTimestamp(int $timestamp): DateTimeImmutable
public setTimezone(DateTimeZone $timezone): DateTimeImmutable
public sub(DateInterval $interval): DateTimeImmutable
public diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public format(string $format): string
public getOffset(): int
public getTimestamp(): int
public getTimezone(): DateTimeZone|false
public __wakeup(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | DateTimeImmutable kurucusu artık yapılandırılan değerdeki mikrosaniyeleri içerebiliyor, evvelce mikrosaniyeler daima 0 ile ilklendirilirdi.

İçindekiler

  • DateTimeImmutable::add — Returns a new object, with added amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::__construct — Returns new DateTimeImmutable object
  • DateTimeImmutable::createFromFormat — Parses a time string according to a specified format
  • DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
  • DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable instance encapsulating the given DateTime object
  • DateTimeImmutable::getLastErrors — Returns the warnings and errors
  • DateTimeImmutable::modify — Creates a new object with modified timestamp
  • DateTimeImmutable::__set_state — The __set_state handler
  • DateTimeImmutable::setDate — Sets the date
  • DateTimeImmutable::setISODate — Sets the ISO date
  • DateTimeImmutable::setTime — Sets the time
  • DateTimeImmutable::setTimestamp — Sets the date and time based on a Unix timestamp
  • DateTimeImmutable::setTimezone — Sets the time zone
  • DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds


Returns a new object, with added amount of days, months, years, hours, minutes and seconds

  • « DateTimeImmutable
  • DateTimeImmutable::__construct »
  • PHP Manual
  • DateTimeImmutable
  • Returns a new object, with added amount of days, months, years, hours, minutes and seconds

DateTimeImmutable::add

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::add — Returns a new object, with added amount of days, months, years, hours, minutes and seconds

Açıklama

public DateTimeImmutable::add(DateInterval $interval): DateTimeImmutable

Creates a new DateTimeImmutable object, and adds the specified DateInterval object to this, to represent the new value.

Bağımsız Değişkenler

interval

A DateInterval object

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Örnekler

Örnek 1 DateTimeImmutable::add() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2000-01-01');
$newDate = $date->add(new DateInterval('P10D'));
echo $newDate->format('Y-m-d') . "\n";
?>

Örnek 2 Further DateTimeImmutable::add() examples

<?php
$date = new DateTimeImmutable('2000-01-01');
$newDate = $date->add(new DateInterval('PT10H30S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";

$date = new DateTimeImmutable('2000-01-01');
$newDate = $date->add(new DateInterval('P7Y5M4DT4H3M2S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2000-01-01 10:00:30
2007-06-05 04:03:02

Örnek 3 Beware when adding months

<?php
$date = new DateTimeImmutable('2000-12-31');
$interval = new DateInterval('P1M');

$newDate1 = $date->add($interval);
echo $newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->add($interval);
echo $newDate2->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-01-31
2001-03-03

Ayrıca Bakınız

  • DateTimeImmutable::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::diff() - Returns the difference between two DateTime objects
  • DateTimeImmutable::modify() - Creates a new object with modified timestamp


Returns new DateTimeImmutable object

  • « DateTimeImmutable::add
  • DateTimeImmutable::createFromFormat »
  • PHP Manual
  • DateTimeImmutable
  • Returns new DateTimeImmutable object

DateTimeImmutable::__construct

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::__construct -- date_create_immutable — Returns new DateTimeImmutable object

Açıklama

Nesne yönelimli kullanım

public DateTimeImmutable::__construct(string $datetime = "now", ?DateTimeZone $timezone = null)

Yordamsal kullanım

date_create_immutable(string $datetime = "now", ?DateTimeZone $timezone = null): DateTimeImmutable|false

Returns new a DateTimeImmutable object.

Bağımsız Değişkenler

datetime

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

Enter "now" here to obtain the current time when using the $timezone parameter.

timezone

A DateTimeZone object representing the timezone of $datetime.

If $timezone is omitted or null, the current timezone will be used.

Bilginize:

The $timezone parameter and the current timezone are ignored when the $datetime parameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00, or 2010-07-05T06:00:00Z).

Dönen Değerler

Returns a new DateTimeImmutable instance.

Hatalar/İstisnalar

If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was Exception.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws DateMalformedStringException if an invalid string is passed, instead of Exception.
7.1.0 | From now on microseconds are filled with actual value. Not with '00000'.

Örnekler

Örnek 1 DateTimeImmutable::__construct() example

Nesne yönelimli kullanım

<?php
try {
$date = new DateTimeImmutable('2000-01-01');
} catch (Exception $e) {
echo $e->getMessage();
exit(1);
}

echo $date->format('Y-m-d');
?>

Yordamsal kullanım

<?php
$date = date_create('2000-01-01');
if (!$date) {
$e = date_get_last_errors();
foreach ($e['errors'] as $error) {
echo "$error\n";
}
exit(1);
}

echo date_format($date, 'Y-m-d');
?>

Yukarıdaki örneklerin çıktısı:

2000-01-01

Örnek 2 Intricacies of DateTimeImmutable::__construct()

<?php
// Specified date/time in your computer's time zone.
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Specified date/time in the specified time zone.
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in your computer's time zone.
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:sP') . "\n";

// Current date/time in the specified time zone.
$date = new DateTimeImmutable('now', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

// Using a UNIX timestamp. Notice the result is in the UTC time zone.
$date = new DateTimeImmutable('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";

// Non-existent values roll over.
$date = new DateTimeImmutable('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2000-01-01 00:00:00-05:00
2000-01-01 00:00:00+12:00
2010-04-24 10:24:16-04:00
2010-04-25 02:24:16+12:00
2000-01-01 00:00:00+00:00
2000-03-01 00:00:00-05:00

Örnek 3 Changing the associated timezone

<?php
$timeZone = new \DateTimeZone('Asia/Tokyo');

$time = new \DateTimeImmutable();
$time = $time->setTimezone($timeZone);

echo $time->format('Y/m/d H:i:s'), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2022/08/12 23:49:23

Örnek 4 Using a relative date/time string

<?php
$time = new \DateTimeImmutable("-1 year");

echo $time->format('Y/m/d H:i:s'), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2021/08/12 15:43:51


Parses a time string according to a specified format

  • « DateTimeImmutable::__construct
  • DateTimeImmutable::createFromInterface »
  • PHP Manual
  • DateTimeImmutable
  • Parses a time string according to a specified format

DateTimeImmutable::createFromFormat

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::createFromFormat -- date_create_immutable_from_format — Parses a time string according to a specified format

Açıklama

Nesne yönelimli kullanım

public static DateTimeImmutable::createFromFormat(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false

Yordamsal kullanım

date_create_immutable_from_format(string $format, string $datetime, ?DateTimeZone $timezone = null): DateTimeImmutable|false

Returns a new DateTimeImmutable object representing the date and time specified by the datetime string, which was formatted in the given format.

Bağımsız Değişkenler

format

The format that the passed in string should be in. See the formatting options below. In most cases, the same letters as for the date() can be used.

All fields are initialised with the current date/time. In most cases you would want to reset these to "zero" (the Unix epoch, 1970-01-01 00:00:00 UTC). You do that by including the ! character as first character in your format, or | as your last. Please see the documentation for each character below for more information.

The format is parsed from left to right, which means that in some situations the order in which the format characters are present affects the result. In the case of z (the day of the year), it is required that a year has already been parsed, for example through the Y or y characters.

Letters that are used for parsing numbers allow a wide range of values, outside of what the logical range would be. For example, the d (day of the month) accepts values in the range from 00 to 99. The only constraint is on the amount of digits. The date/time parser's overflow mechanism is used when out-of-range values are given. The examples below show some of this behaviour.

This also means that the data parsed for a format letter is greedy, and will read up to the amount of digits its format allows for. That can then also mean that there are no longer enough characters in the datetime string for following format characters. An example on this page also illustrates this issue.

The following characters are recognized in the format parameter string
format character | Description | Example parsable values
Day --- ---
d and j | Day of the month, 2 digits with or without leading zeros | 01 to 31 or 1 to 31. (2 digit numbers higher than the number of days in the month are accepted, in which case they will make the month overflow. For example using 33 with January, means February 2nd)
D and l | A textual representation of a day | Mon through Sun or Sunday through Saturday. If the day name given is different then the day name belonging to a parsed (or default) date is different, then an overflow occurs to the next date with the given day name. See the examples below for an explanation.
S | English ordinal suffix for the day of the month, 2 characters. It's ignored while processing. | st, nd, rd or th.
z | The day of the year (starting from 0); must be preceded by Y or y. | 0 through 365. (3 digit numbers higher than the numbers in a year are accepted, in which case they will make the year overflow. For example using 366 with 2022, means January 2nd, 2023)
Month --- ---
F and M | A textual representation of a month, such as January or Sept | January through December or Jan through Dec
m and n | Numeric representation of a month, with or without leading zeros | 01 through 12 or 1 through 12. (2 digit numbers higher than 12 are accepted, in which case they will make the year overflow. For example using 13 means January in the next year)
Year --- ---
X and x | A full numeric representation of a year, up to 19 digits, optionally prefixed by + or - | Examples: 0055, 787, 1999, -2003, +10191
Y | A full numeric representation of a year, up to 4 digits | Examples: 0055, 787, 1999, 2003
y | A two digit representation of a year (which is assumed to be in the range 1970-2069, inclusive) | Examples: 99 or 03 (which will be interpreted as 1999 and 2003, respectively)
Time --- ---
a and A | Ante meridiem and Post meridiem | am or pm
g and h | 12-hour format of an hour with or without leading zero | 1 through 12 or 01 through 12 (2 digit numbers higher than 12 are accepted, in which case they will make the day overflow. For example using 14 means 02 in the next AM/PM period)
G and H | 24-hour format of an hour with or without leading zeros | 0 through 23 or 00 through 23 (2 digit numbers higher than 24 are accepted, in which case they will make the day overflow. For example using 26 means 02:00 the next day)
i | Minutes with leading zeros | 00 to 59. (2 digit numbers higher than 59 are accepted, in which case they will make the hour overflow. For example using 66 means :06 the next hour)
s | Seconds, with leading zeros | 00 through 59 (2 digit numbers higher than 59 are accepted, in which case they will make the minute overflow. For example using 90 means :30 the next minute)
v | Fraction in milliseconds (up to three digits) | Example: 12 (0.12 seconds), 345 (0.345 seconds)
u | Fraction in microseconds (up to six digits) | Example: 45 (0.45 seconds), 654321 (0.654321 seconds)
Timezone --- ---
e, O, P and T | Timezone identifier, or difference to UTC in hours, or difference to UTC with colon between hours and minutes, or timezone abbreviation | Examples: UTC, GMT, Atlantic/Azores or +0200 or +02:00 or EST, MDT
Full Date/Time --- ---
U | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | Example: 1292177455
Whitespace and Separators --- ---
(space) | Zero or more spaces, tabs, NBSP (U+A0), or NNBSP (U+202F) characters | Example: "\t", " "
# One of the following separation symbol: ;, :, /, ., ,, -, ( or ) Example: /
;, :, /, ., ,, -, ( or ) | The specified character. | Example: -
? A random byte Example: ^ (Be aware that for UTF-8 characters you might need more than one ?. In this case, using * is probably what you want instead)
* Random bytes until the next separator or digit Example: * in Y-*-d with the string 2009-aWord-08 will match aWord
! Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to zero-like values ( 0 for hour, minute, second and fraction, 1 for month and day, 1970 for year and UTC for timezone information) Without !, all fields will be set to the current date and time.
| Resets all fields (year, month, day, hour, minute, second, fraction and timezone information) to zero-like values if they have not been parsed yet Y-m-d| will set the year, month and day to the information found in the string to parse, and sets the hour, minute and second to 0.
+ If this format specifier is present, trailing data in the string will not cause an error, but a warning instead Use DateTimeImmutable::getLastErrors() to find out whether trailing data was present.

Unrecognized characters in the format string will cause the parsing to fail and an error message is appended to the returned structure. You can query error messages with DateTimeImmutable::getLastErrors().

To include literal characters in format, you have to escape them with a backslash (\).

If format does not contain the character ! then portions of the generated date/time which are not specified in format will be set to the current system time.

If format contains the character !, then portions of the generated date/time not provided in format, as well as values to the left-hand side of the !, will be set to corresponding values from the Unix epoch.

If any time character is parsed, then all other time-related fields are set to "0", unless also parsed.

The Unix epoch is 1970-01-01 00:00:00 UTC.

datetime

String representing the time.

timezone

A DateTimeZone object representing the desired time zone.

If timezone is omitted or null and datetime contains no timezone, the current timezone will be used.

Bilginize:

The timezone parameter and the current timezone are ignored when the datetime parameter either contains a UNIX timestamp (e.g. 946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).

Dönen Değerler

Returns a new DateTimeImmutable instance başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method throws ValueError when the datetime contains NULL-bytes.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.9 | The (space) specifier now also supports NBSP (U+A0) and NNBSP (U+202F) characters.
8.2.0 | The X and x format specifiers have been added.
8.0.21, 8.1.8, 8.2.0 | Now throws ValueError when NULL-bytes are passed into datetime, which previously was silently ignored.
7.3.0 | The v format specifier has been added.

Örnekler

Örnek 1 DateTimeImmutable::createFromFormat() example

Nesne yönelimli kullanım

<?php
$date = DateTimeImmutable::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

Örnek 2 Using predefined format constants with DateTimeImmutable::createFromFormat()

Nesne yönelimli kullanım

<?php
$date = DateTimeImmutable::createFromFormat(DateTimeInterface::ISO8601, '2004-02-12T15:19:21+00:00');
$date = DateTimeImmutable::createFromFormat(DateTimeInterface::RFC3339_EXTENDED, '2013-10-14T09:00:00.000+02:00');
?>

The formatting constants as used in this example consist of a string of characters for formatting a DateTimeImmutable object. In most cases, these letters match with the same elements of date/time information as the ones defined in the parameters section above, but they tend to be more lenient.

Örnek 3 Intricacies of DateTimeImmutable::createFromFormat()

<?php
echo 'Current time: ' . date('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d';
$date = DateTimeImmutable::createFromFormat($format, '2009-02-15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-d H:i:s';
$date = DateTimeImmutable::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'Y-m-!d H:i:s';
$date = DateTimeImmutable::createFromFormat($format, '2009-02-15 15:16:17');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = '!d';
$date = DateTimeImmutable::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";

$format = 'i';
$date = DateTimeImmutable::createFromFormat($format, '15');
echo "Format: $format; " . $date->format('Y-m-d H:i:s') . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Current time: 2022-06-02 15:50:46
Format: Y-m-d; 2009-02-15 15:50:46
Format: Y-m-d H:i:s; 2009-02-15 15:16:17
Format: Y-m-!d H:i:s; 1970-01-15 15:16:17
Format: !d; 1970-01-15 00:00:00
Format: i; 2022-06-02 00:15:00

Örnek 4 Format string with literal characters

<?php
echo DateTimeImmutable::createFromFormat('H\h i\m s\s','23h 15m 03s')->format('H:i:s');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

23:15:03

Örnek 5 Overflow behaviour

<?php
echo DateTimeImmutable::createFromFormat('Y-m-d H:i:s', '2021-17-35 16:60:97')->format(DateTimeImmutable::RFC2822);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sat, 04 Jun 2022 17:01:37 +0000

Although the result looks odd, it is correct, as the following overflows happen:

  1. 97 seconds overflows to 1 minute, leaving 37 seconds.
  2. 61 minutes overflows to 1 hour, leaving 1 minutes.
  3. 35 days overflows to 1 month, leaving 4 days. The amount of days that are left over depends on the month, as not every month has the same amount of days.
  4. 18 months overflows to 1 year, leaving 6 months.

Örnek 6 Overflowing day name behaviour

<?php
$d = DateTime::createFromFormat(DateTimeInterface::RFC1123, 'Mon, 3 Aug 2020 25:00:00 +0000');
echo $d->format(DateTime::RFC1123), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Mon, 10 Aug 2020 01:00:00 +0000

Although the result looks odd, it is correct, as the following overflows happen:

  1. 3 Aug 2020 25:00:00 overflows to (Tue) 4 Aug 2020 01:00.
  2. Mon gets applied, which advances the date to Mon, 10 Aug 2020 01:00:00. The explanation of relative keywords such as Mon is explained in the section on relative formats.

In order to detect overflows in dates, you can use DateTimeImmutable::getLastErrors(), which will include a warning if an overflow occured.

Örnek 7 Detecting overflown dates

<?php
$d = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', '2021-17-35 16:60:97');
echo $d->format(DateTimeImmutable::RFC2822), "\n\n";

var_dump(DateTimeImmutable::GetLastErrors());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sat, 04 Jun 2022 17:01:37 +0000

array(4) {
  'warning_count' =>
  int(2)
  'warnings' =>
  array(1) {
    [19] =>
    string(27) "The parsed date was invalid"
  }
  'error_count' =>
  int(0)
  'errors' =>
  array(0) {
  }
}

Örnek 8 Greedy parsing behaviour

<?php
print_r(date_parse_from_format('Gis', '60101'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [year] =>
    [month] =>
    [day] =>
    [hour] => 60
    [minute] => 10
    [second] => 0
    [fraction] => 0
    [warning_count] => 1
    [warnings] => Array
        (
            [5] => The parsed time was invalid
        )

    [error_count] => 1
    [errors] => Array
        (
            [4] => A two digit second could not be found
        )

    [is_localtime] =>
)

The G format is to parse 24 hour clock hours, with or without leading zero. This requires to parse 1 or 2 digits. Because there are two following digits, it greedily reads this as 60.

The following i and s format characters both require two digits. This means that 10 is passed as minute (i), and that there are then not enough digits left to parse for as second (s).

The errors array indicates this problem.

Additionally, an hour of 60 is outside the range 0-24, which causes the warnings array to include a warning that the time is invalid.

Ayrıca Bakınız

  • DateTimeImmutable::__construct() - Returns new DateTimeImmutable object
  • DateTimeImmutable::getLastErrors() - Returns the warnings and errors
  • checkdate() - Miladi tarihi doğrular
  • strptime() - strftime işleviyle üretilen zaman ve tarihleri çözümler


Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

  • « DateTimeImmutable::createFromFormat
  • DateTimeImmutable::createFromMutable »
  • PHP Manual
  • DateTimeImmutable
  • Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

DateTimeImmutable::createFromInterface

(PHP 8)

DateTimeImmutable::createFromInterface — Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object

Açıklama

public static DateTimeImmutable::createFromInterface(DateTimeInterface $object): DateTimeImmutable

Bağımsız Değişkenler

object

The DateTimeInterface object that needs to be converted to an immutable version. This object is not modified, but instead a new DateTimeImmutable object is created containing the same date, time, and timezone information.

Dönen Değerler

Returns a new DateTimeImmutable instance.

Örnekler

Örnek 1 Creating an immutable date time object

<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");

$immutable = DateTimeImmutable::createFromInterface($date);

$date = new DateTimeImmutable("2014-06-20 11:45 Europe/London");
$also_immutable = DateTimeImmutable::createFromInterface($date);
?>


Returns new DateTimeImmutable instance encapsulating the given DateTime object

  • « DateTimeImmutable::createFromInterface
  • DateTimeImmutable::getLastErrors »
  • PHP Manual
  • DateTimeImmutable
  • Returns new DateTimeImmutable instance encapsulating the given DateTime object

DateTimeImmutable::createFromMutable

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable instance encapsulating the given DateTime object

Açıklama

public static DateTimeImmutable::createFromMutable(DateTime $object): static

Bağımsız Değişkenler

object

The mutable DateTime object that you want to convert to an immutable version. This object is not modified, but instead a new DateTimeImmutable instance is created containing the same date time and timezone information.

Dönen Değerler

Returns a new DateTimeImmutable instance.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The method returns an instance of the currently invoked class now. Previously, it created a new instance of DateTimeImmutable.

Örnekler

Örnek 1 Creating an immutable date time object

<?php
$date = new DateTime("2014-06-20 11:45 Europe/London");

$immutable = DateTimeImmutable::createFromMutable( $date );
?>


Returns the warnings and errors

  • « DateTimeImmutable::createFromMutable
  • DateTimeImmutable::modify »
  • PHP Manual
  • DateTimeImmutable
  • Returns the warnings and errors

DateTimeImmutable::getLastErrors

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::getLastErrors — Returns the warnings and errors

Açıklama

public static DateTimeImmutable::getLastErrors(): array|false

Returns an array of warnings and errors found while parsing a date/time string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array containing info about warnings and errors, or false if there are neither warnings nor errors.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Before PHP 8.2.0, this function did not return false when there were no warnings or errors. Instead, it would always return the documented array structure.

Örnekler

Örnek 1 DateTimeImmutable::getLastErrors() example

<?php
try {
$date = new DateTimeImmutable('asdfasdf');
} catch (Exception $e) {
// For demonstration purposes only...
print_r(DateTimeImmutable::getLastErrors());

// The real object-oriented way to do this is
// echo $e->getMessage();
}
?>

Yukarıdaki örneklerin çıktısı:

Array
(
   [warning_count] => 1
   [warnings] => Array
       (
           [6] => Double timezone specification
       )

   [error_count] => 1
   [errors] => Array
       (
           [0] => The timezone could not be found in the database
       )

)

The indexes 6, and 0 in the example output refer to the character index in the string where the error occurred.


Creates a new object with modified timestamp

  • « DateTimeImmutable::getLastErrors
  • DateTimeImmutable::__set_state »
  • PHP Manual
  • DateTimeImmutable
  • Creates a new object with modified timestamp

DateTimeImmutable::modify

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::modify — Creates a new object with modified timestamp

Açıklama

public DateTimeImmutable::modify(string $modifier): DateTimeImmutable|false

Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified.

Bağımsız Değişkenler

modifier

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

Dönen Değerler

Returns a new modified DateTimeImmutable object başarısızlık durumunda false döner.

Hatalar/İstisnalar

If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was a warning.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws DateMalformedStringException if an invalid string is passed, instead of a warning.

Örnekler

Örnek 1 DateTimeImmutable::modify() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
?>

Yukarıdaki örneklerin çıktısı:

2006-12-13

Örnek 2 Beware when adding or subtracting months

<?php
$date = new DateTimeImmutable('2000-12-31');

$newDate1 = $date->modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-01-31
2001-03-03

Ayrıca Bakınız

  • DateTimeImmutable::add() - Returns a new object, with added amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::setDate() - Sets the date
  • DateTimeImmutable::setISODate() - Sets the ISO date
  • DateTimeImmutable::setTime() - Sets the time
  • DateTimeImmutable::setTimestamp() - Sets the date and time based on a Unix timestamp


The __set_state handler

  • « DateTimeImmutable::modify
  • DateTimeImmutable::setDate »
  • PHP Manual
  • DateTimeImmutable
  • The __set_state handler

DateTimeImmutable::__set_state

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::__set_state — The __set_state handler

Açıklama

public static DateTimeImmutable::__set_state(array $array): DateTimeImmutable

The __set_state() handler.

Bağımsız Değişkenler

array

Initialization array.

Dönen Değerler

Returns a new instance of a DateTimeImmutable object.


Sets the date

  • « DateTimeImmutable::__set_state
  • DateTimeImmutable::setISODate »
  • PHP Manual
  • DateTimeImmutable
  • Sets the date

DateTimeImmutable::setDate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setDate — Sets the date

Açıklama

public DateTimeImmutable::setDate(int $year, int $month, int $day): DateTimeImmutable

Returns a new DateTimeImmutable object with the current date of the DateTimeImmutable object set to the given date.

Bağımsız Değişkenler

nesne

Sadece yordamsal tarz: date_create() tarafından bir DateTime nesnesi döndürülür. İşlev bu nesnede değişiklik yapar.

year

Year of the date.

month

Month of the date.

day

Day of the date.

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Örnekler

Örnek 1 DateTimeImmutable::setDate() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable();
$newDate = $date->setDate(2001, 2, 3);
echo $newDate->format('Y-m-d');
?>

Yukarıdaki örneklerin çıktısı:

2001-02-03

Örnek 2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTimeImmutable();

$newDate = $date->setDate(2001, 2, 28);
echo $newDate->format('Y-m-d') . "\n";

$newDate = $date->setDate(2001, 2, 29);
echo $newDate->format('Y-m-d') . "\n";

$newDate = $date->setDate(2001, 14, 3);
echo $newDate->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-02-28
2001-03-01
2002-02-03

Ayrıca Bakınız

  • DateTimeImmutable::setISODate() - Sets the ISO date
  • DateTimeImmutable::setTime() - Sets the time


Sets the ISO date

  • « DateTimeImmutable::setDate
  • DateTimeImmutable::setTime »
  • PHP Manual
  • DateTimeImmutable
  • Sets the ISO date

DateTimeImmutable::setISODate

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setISODate — Sets the ISO date

Açıklama

public DateTimeImmutable::setISODate(int $year, int $week, int $dayOfWeek = 1): DateTimeImmutable

Returns a new DateTimeImmutable object with the date set according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.

Bağımsız Değişkenler

year

Year of the date.

week

Week of the date.

dayOfWeek

Offset from the first day of the week.

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Örnekler

Örnek 1 DateTimeImmutable::setISODate() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable();

$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "\n";

$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "\n";
?>

Yordamsal kullanım

<?php
$date = date_create();

date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "\n";

date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "\n";
?>

Yukarıdaki örneklerin çıktısı:

2008-01-07
2008-01-13

Örnek 2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTimeImmutable();

$newDate = $date->setISODate(2008, 2, 7);
echo $newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 2, 8);
echo $newDate->format('Y-m-d') . "\n";

$newDate = $date->setISODate(2008, 53, 7);
echo $newDate->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2008-01-13
2008-01-14
2009-01-04

Örnek 3 Finding the month a week is in

<?php
$date = new DateTimeImmutable();
$newDate = $date->setISODate(2008, 14);
echo $newDate->format('n');
?>

Yukarıdaki örneklerin çıktısı:

3

Ayrıca Bakınız

  • DateTimeImmutable::setDate() - Sets the date
  • DateTimeImmutable::setTime() - Sets the time


Sets the time

  • « DateTimeImmutable::setISODate
  • DateTimeImmutable::setTimestamp »
  • PHP Manual
  • DateTimeImmutable
  • Sets the time

DateTimeImmutable::setTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTime — Sets the time

Açıklama

public DateTimeImmutable::setTime(
int $hour,
int $minute,
int $second = 0,
int $microsecond = 0
): DateTimeImmutable

Returns a new DateTimeImmutable object with the time set to the given time.

Bağımsız Değişkenler

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

microsecond

Microsecond of the time.

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
7.1.0 | The microsecond parameter was added.

Örnekler

Örnek 1 DateTimeImmutable::setTime() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55);
echo $newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>

The above examples will output something similar to:

2001-01-01 14:55:00
2001-01-01 14:55:24

Örnek 2 Values exceeding ranges are added to their parent values

<?php
$date = new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 65);
echo $newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 65, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(25, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

Ayrıca Bakınız

  • DateTimeImmutable::setDate() - Sets the date
  • DateTimeImmutable::setISODate() - Sets the ISO date


Sets the date and time based on a Unix timestamp

  • « DateTimeImmutable::setTime
  • DateTimeImmutable::setTimezone »
  • PHP Manual
  • DateTimeImmutable
  • Sets the date and time based on a Unix timestamp

DateTimeImmutable::setTimestamp

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimestamp — Sets the date and time based on a Unix timestamp

Açıklama

public DateTimeImmutable::setTimestamp(int $timestamp): DateTimeImmutable

Returns a new DateTimeImmutable object constructed from the old one, with the date and time set based on an Unix timestamp.

Bağımsız Değişkenler

timestamp

Unix timestamp representing the date. Setting timestamps outside the range of int is possible by using DateTimeImmutable::modify() with the @ format.

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Örnekler

Örnek 1 DateTimeImmutable::setTimestamp() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable();
echo $date->format('U = Y-m-d H:i:s') . "\n";

$newDate = $date->setTimestamp(1171502725);
echo $newDate->format('U = Y-m-d H:i:s') . "\n";
?>

The above examples will output something similar to:

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Ayrıca Bakınız

  • DateTimeImmutable::getTimestamp() - Gets the Unix timestamp


Sets the time zone

  • « DateTimeImmutable::setTimestamp
  • DateTimeImmutable::sub »
  • PHP Manual
  • DateTimeImmutable
  • Sets the time zone

DateTimeImmutable::setTimezone

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimezone — Sets the time zone

Açıklama

public DateTimeImmutable::setTimezone(DateTimeZone $timezone): DateTimeImmutable

Returns a new DateTimeImmutable object with a new timezone set.

Bağımsız Değişkenler

timezone

A DateTimeZone object representing the desired time zone.

Dönen Değerler

Returns a new modified DateTimeImmutable object for method chaining. The underlaying point-in-time is not changed when calling this method.

Örnekler

Örnek 1 DateTimeImmutable::setTimeZone() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";

$newDate = $date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo $newDate->format('Y-m-d H:i:sP') . "\n";
?>

Yukarıdaki örneklerin çıktısı:

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

Ayrıca Bakınız

  • DateTimeImmutable::getTimezone() - Return time zone relative to given DateTime
  • DateTimeZone::__construct() - Yeni bir DateTimeZone nesnesi oluşturur


Subtracts an amount of days, months, years, hours, minutes and seconds

  • « DateTimeImmutable::setTimezone
  • DateTimeInterface »
  • PHP Manual
  • DateTimeImmutable
  • Subtracts an amount of days, months, years, hours, minutes and seconds

DateTimeImmutable::sub

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::sub — Subtracts an amount of days, months, years, hours, minutes and seconds

Açıklama

public DateTimeImmutable::sub(DateInterval $interval): DateTimeImmutable

Returns a new DateTimeImmutable object, with the specified DateInterval object subtracted from the specified DateTimeImmutable object.

Bağımsız Değişkenler

interval

A DateInterval object

Dönen Değerler

Verisi değişmiş DateTimeImmutable nesnesi döner.

Hatalar/İstisnalar

If an unsupported operation is attempted, such as using a DateInterval object representing relative time specifications such as next weekday, a DateInvalidOperationException is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Now throws a DateInvalidOperationException instead of a warning when an unsupported operation is attempted.

Örnekler

Örnek 1 DateTimeImmutable::sub() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P10D'));
echo $newDate->format('Y-m-d') . "\n";
?>

Yukarıdaki örneklerin çıktısı:

2000-01-10

Örnek 2 Further DateTimeImmutable::sub() examples

<?php
$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('PT10H30S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";

$date = new DateTimeImmutable('2000-01-20');
$newDate = $date->sub(new DateInterval('P7Y5M4DT4H3M2S'));
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2000-01-19 13:59:30
1992-08-15 19:56:58

Örnek 3 Beware when subtracting months

<?php
$date = new DateTimeImmutable('2001-04-30');
$interval = new DateInterval('P1M');

$newDate1 = $date->sub($interval);
echo $newDate1->format('Y-m-d') . "\n";

$newDate2 = $newDate1->sub($interval);
echo $newDate2->format('Y-m-d') . "\n";
?>

Yukarıdaki örneğin çıktısı:

2001-03-30
2001-03-02

Ayrıca Bakınız

  • DateTimeImmutable::add() - Returns a new object, with added amount of days, months, years, hours, minutes and seconds
  • DateTimeImmutable::diff() - Returns the difference between two DateTime objects
  • DateTimeImmutable::modify() - Creates a new object with modified timestamp


DateTimeInterface arayüzü

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

DateTimeInterface arayüzü, bağımsız değişken, dönüş değeri veya özellik türü bildirimlerinde değer olarak DateTime veya DateTimeImmutable kullanılabilsin diye oluşturuldu. Bu arayüzü kullanıcı tabanlı sınıflarla gerçeklemek mümkün değildir.

Ayrıca, DateTimeImmutable ve DateTime nesnelerini DateTimeImmutable::format() ve DateTime::format() üzerinden biçemlemeye izin veren ortak sabitler de bu arayüz ile tanımlanabilir.

Arayüz Sözdizimi

interface DateTimeInterface {
/* Sabitler */
public const string ATOM = "Y-m-d\\TH:i:sP";
public const string COOKIE = "l, d-M-Y H:i:s T";
public const string ISO8601 = "Y-m-d\\TH:i:sO";
public const string ISO8601_EXPANDED = "X-m-d\\TH:i:sP";
public const string RFC822 = "D, d M y H:i:s O";
public const string RFC850 = "l, d-M-y H:i:s T";
public const string RFC1036 = "D, d M y H:i:s O";
public const string RFC1123 = "D, d M Y H:i:s O";
public const string RFC7231 = "D, d M Y H:i:s \\G\\M\\T";
public const string RFC2822 = "D, d M Y H:i:s O";
public const string RFC3339 = "Y-m-d\\TH:i:sP";
public const string RFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
public const string RSS = "D, d M Y H:i:s O";
public const string W3C = "Y-m-d\\TH:i:sP";
/* Yöntemler */
public diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public format(string $format): string
public getOffset(): int
public getTimestamp(): int
public getTimezone(): DateTimeZone|false
public __wakeup(): void
}

Öntanımlı Sabitler

DateTimeInterface::ATOM
DATE_ATOM
Atom (örnek: 2005-08-15T15:52:01+00:00)
DateTimeInterface::COOKIE
DATE_COOKIE
HTTP çerezleri (örnek: Monday, 15-Aug-2005 15:52:01 UTC)
DateTimeInterface::ISO8601
DATE_ISO8601
ISO-8601 (örnek: 2005-08-15T15:52:01+0000)

Bilginize: Bu gösterim ISO-8601 ile uyumlu değildir, fakat geriye uyumluluk için kaldı. ISO-8601 ile uyumluluk için bunun yerine DateTimeInterface::ISO8601_EXPANDED, DateTimeInterface::ATOM kullanılmalıdır. (bkz: ISO8601:2004 bölüm 4.3.3 bent d)

DateTimeInterface::ISO8601_EXPANDED
DATE_ISO8601_EXPANDED
ISO-8601 Expanded (example: +10191-07-26T08:59:52+01:00)

Bilginize: Bu biçim, her zaman bir işaret karakteri ekleyerek, ISO-8601'in normal aralığı olan 0000-9999 dışındaki yıl aralıklarına izin verir. Ayrıca, bu zaman dilimi bölümünün (+01:00) ISO-8601 ile uyumlu olduğunu da belirtir.

DateTimeInterface::RFC822
DATE_RFC822
RFC 822 (örnek: Mon, 15 Aug 05 15:52:01 +0000)
DateTimeInterface::RFC850
DATE_RFC850
RFC 850 (örnek: Monday, 15-Aug-05 15:52:01 UTC)
DateTimeInterface::RFC1036
DATE_RFC1036
RFC 1036 (örnek: Mon, 15 Aug 05 15:52:01 +0000)
DateTimeInterface::RFC1123
DATE_RFC1123
RFC 1123 (örnek: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::RFC7231
DATE_RFC7231
RFC 7231 (PHP 7.0.19 ve 7.1.5'ten beri) (örnek: Sat, 30 Apr 2016 17:52:13 GMT)
DateTimeInterface::RFC2822
DATE_RFC2822
RFC 2822 (örnek: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::RFC3339
DATE_RFC3339
DATE_ATOM gibidir.
DateTimeInterface::RFC3339_EXTENDED
DATE_RFC3339_EXTENDED
RFC 3339 uzun gösterim. (örnek: 2005-08-15T15:52:01.000+00:00)
DateTimeInterface::RSS
DATE_RSS
RSS (örnek: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::W3C
DATE_W3C
Dünya Çapında Web Konsorsiyumu (örnek: 2005-08-15T15:52:01+00:00)

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | DateTimeInterface::ISO8601_EXPANDED sabiti eklendi.
7.2.0 | DateTime sınıf sabitleri artık DateTimeInterface üzerinde tanımlı.

İçindekiler

  • DateTimeInterface::diff — Returns the difference between two DateTime objects
  • DateTimeInterface::format — Returns date formatted according to given format
  • DateTimeInterface::getOffset — Returns the timezone offset
  • DateTimeInterface::getTimestamp — Gets the Unix timestamp
  • DateTimeInterface::getTimezone — Return time zone relative to given DateTime
  • DateTime::__wakeup — The __wakeup handler


Returns the difference between two DateTime objects

  • « DateTimeInterface
  • DateTimeInterface::format »
  • PHP Manual
  • DateTimeInterface
  • Returns the difference between two DateTime objects

DateTimeInterface::diff

DateTimeImmutable::diff

DateTime::diff

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTimeInterface::diff -- DateTimeImmutable::diff -- DateTime::diff -- date_diff — Returns the difference between two DateTime objects

Açıklama

Nesne yönelimli kullanım

public DateTimeInterface::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public DateTimeImmutable::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public DateTime::diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval

Yordamsal kullanım

date_diff(DateTimeInterface $baseObject, DateTimeInterface $targetObject, bool $absolute = false): DateInterval

Returns the difference between two DateTimeInterface objects.

Bağımsız Değişkenler

datetime

The date to compare to.

absolute

Should the interval be forced to be positive?

Dönen Değerler

The DateInterval object represents the difference between the two dates.

The return value more specifically represents the clock-time interval to apply to the original object ($this or $originObject) to arrive at the $targetObject. This process is not always reversible.

The method is aware of DST changeovers, and hence can return an interval of 24 hours and 30 minutes, as per one of the examples. If you want to calculate with absolute time, you need to convert both the $this/$baseObject, and $targetObject to UTC first.

Örnekler

Örnek 1 DateTimeImmutable::diff() example

Nesne yönelimli kullanım

<?php
$origin = new DateTimeImmutable('2009-10-11');
$target = new DateTimeImmutable('2009-10-13');
$interval = $origin->diff($target);
echo $interval->format('%R%a days');
?>

Yordamsal kullanım

<?php
$origin = date_create('2009-10-11');
$target = date_create('2009-10-13');
$interval = date_diff($origin, $target);
echo $interval->format('%R%a days');
?>

Yukarıdaki örneklerin çıktısı:

+2 days

Örnek 2 DateTimeInterface::diff() during DST changeover

<?php
$originalTime = new DateTimeImmutable("2021-10-30 09:00:00 Europe/London");
$targedTime = new DateTimeImmutable("2021-10-31 08:30:00 Europe/London");
$interval = $originalTime->diff($targedTime);
echo $interval->format("%H:%I:%S (Full days: %a)"), "\n";
?>

Yukarıdaki örneğin çıktısı:

24:30:00 (Full days: 0)

Örnek 3 DateTimeInterface::diff() range

The value that the method returns is the exact amount of time to get from $this to $targetObject. Comparing January 1st to December 31st returns therefore 364, and not 365, days (for non-leap years).

<?php
$originalTime = new DateTimeImmutable("2023-01-01 UTC");
$targedTime = new DateTimeImmutable("2023-12-31 UTC");
$interval = $originalTime->diff($targedTime);
echo "Full days: ", $interval->format("%a"), "\n";
?>

Yukarıdaki örneğin çıktısı:

Full days: 364

Örnek 4 DateTime object comparison

Bilginize:

DateTimeImmutable and DateTime objects can be compared using comparison operators.

<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");

var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • DateInterval::format() - Zaman aralığını biçimler
  • DateTime::add() - Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object


Returns date formatted according to given format

  • « DateTimeInterface::diff
  • DateTimeInterface::getOffset »
  • PHP Manual
  • DateTimeInterface
  • Returns date formatted according to given format

DateTimeInterface::format

DateTimeImmutable::format

DateTime::format

date_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeInterface::format -- DateTimeImmutable::format -- DateTime::format -- date_format — Returns date formatted according to given format

Açıklama

Nesne yönelimli kullanım

public DateTimeInterface::format(string $format): string
public DateTimeImmutable::format(string $format): string
public DateTime::format(string $format): string

Yordamsal kullanım

date_format(DateTimeInterface $object, string $format): string

Returns date formatted according to given format.

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: date_create() işlevinden dönen bir DateTime nesnesi.

format

The format of the outputted date string. See the formatting options below. There are also several predefined date constants that may be used instead, so for example DATE_RSS contains the format string 'D, d M Y H:i:s'.

The following characters are recognized in the format parameter string
format character | Description | Example returned values
Day --- ---
d | Day of the month, 2 digits with leading zeros | 01 to 31
D | A textual representation of a day, three letters | Mon through Sun
j | Day of the month without leading zeros | 1 to 31
l (lowercase 'L') | A full textual representation of the day of the week | Sunday through Saturday
N | ISO 8601 numeric representation of the day of the week | 1 (for Monday) through 7 (for Sunday)
S | English ordinal suffix for the day of the month, 2 characters | st, nd, rd or th. Works well with j
w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday)
z | The day of the year (starting from 0) | 0 through 365
Week --- ---
W | ISO 8601 week number of year, weeks starting on Monday | Example: 42 (the 42nd week in the year)
Month --- ---
F | A full textual representation of a month, such as January or March | January through December
m | Numeric representation of a month, with leading zeros | 01 through 12
M | A short textual representation of a month, three letters | Jan through Dec
n | Numeric representation of a month, without leading zeros | 1 through 12
t | Number of days in the given month | 28 through 31
Year --- ---
L | Whether it's a leap year | 1 if it is a leap year, 0 otherwise.
o | ISO 8601 week-numbering year. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. | Examples: 1999 or 2003
X | An expanded full numeric representation of a year, at least 4 digits, with - for years BCE, and + for years CE. | Examples: -0055, +0787, +1999, +10191
x | An expanded full numeric representation if required, or a standard full numeral representation if possible (like Y). At least four digits. Years BCE are prefixed with a -. Years beyond (and including) 10000 are prefixed by a +. | Examples: -0055, 0787, 1999, +10191
Y | A full numeric representation of a year, at least 4 digits, with - for years BCE. | Examples: -0055, 0787, 1999, 2003, 10191
y | A two digit representation of a year | Examples: 99 or 03
Time --- ---
a | Lowercase Ante meridiem and Post meridiem | am or pm
A | Uppercase Ante meridiem and Post meridiem | AM or PM
B | Swatch Internet time | 000 through 999
g | 12-hour format of an hour without leading zeros | 1 through 12
G | 24-hour format of an hour without leading zeros | 0 through 23
h | 12-hour format of an hour with leading zeros | 01 through 12
H | 24-hour format of an hour with leading zeros | 00 through 23
i | Minutes with leading zeros | 00 to 59
s | Seconds with leading zeros | 00 through 59
u | Microseconds. Note that date() will always generate 000000 since it takes an int parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds. | Example: 654321
v | Milliseconds. Same note applies as for u. | Example: 654
Timezone --- ---
e | Timezone identifier | Examples: UTC, GMT, Atlantic/Azores
I (capital i) | Whether or not the date is in daylight saving time | 1 if Daylight Saving Time, 0 otherwise.
O | Difference to Greenwich time (GMT) without colon between hours and minutes | Example: +0200
P | Difference to Greenwich time (GMT) with colon between hours and minutes | Example: +02:00
p | The same as P, but returns Z instead of +00:00 (available as of PHP 8.0.0) | Examples: Z or +02:00
T | Timezone abbreviation, if known; otherwise the GMT offset. | Examples: EST, MDT, +05
Z | Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. | -43200 through 50400
Full Date/Time --- ---
c | ISO 8601 date | 2004-02-12T15:19:21+00:00
r | » RFC 2822/» RFC 5322 formatted date | Example: Thu, 21 Dec 2000 16:01:07 +0200
U | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | See also time()

Unrecognized characters in the format string will be printed as-is. The Z format will always return 0 when using gmdate().

Bilginize:

Since this function only accepts int timestamps the u format character is only useful when using the date_format() function with user based timestamps created with date_create().

Dönen Değerler

Returns the formatted date string on success.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The format characters X and x have been added.
8.0.0 | The format character p has been added.

Örnekler

Örnek 1 DateTimeInterface::format() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>

Yordamsal kullanım

<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>

Yukarıdaki örneğin çıktısı:

2000-01-01 00:00:00

Örnek 2 More examples

<?php
// set the default timezone to use.
date_default_timezone_set('UTC');

// now
$date = new DateTimeImmutable();

// Prints something like: Wednesday
echo $date->format('l'), "\n";

// Prints something like: Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";

/* use the constants in the format parameter */
// prints something like: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
?>

You can prevent a recognized character in the format string from being expanded by escaping it with a preceding backslash. If the character with a backslash is already a special sequence, you may need to also escape the backslash.

Örnek 3 Escaping characters while formatting

<?php
$date = new DateTimeImmutable();

// prints something like: Wednesday the 19th
echo $date->format('l \t\h\e jS');
?>

To format dates in other languages, IntlDateFormatter::format() can be used instead of DateTimeInterface::format().

Notlar

This method does not use locales. All output is in English.

Ayrıca Bakınız

  • IntlDateFormatter::format() - Tarih/saat değerini bir dizge olarak biçemler


Returns the timezone offset

  • « DateTimeInterface::format
  • DateTimeInterface::getTimestamp »
  • PHP Manual
  • DateTimeInterface
  • Returns the timezone offset

DateTimeInterface::getOffset

DateTimeImmutable::getOffset

DateTime::getOffset

date_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeInterface::getOffset -- DateTimeImmutable::getOffset -- DateTime::getOffset -- date_offset_get — Returns the timezone offset

Açıklama

Nesne yönelimli kullanım

public DateTimeInterface::getOffset(): int
public DateTimeImmutable::getOffset(): int
public DateTime::getOffset(): int

Yordamsal kullanım

date_offset_get(DateTimeInterface $object): int

Returns the timezone offset.

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: date_create() işlevinden dönen bir DateTime nesnesi.

Dönen Değerler

Returns the timezone offset in seconds from UTC on success.

Örnekler

Örnek 1 DateTime::getOffset() example

Nesne yönelimli kullanım

<?php
$winter = new DateTimeImmutable('2010-12-21', new DateTimeZone('America/New_York'));
$summer = new DateTimeImmutable('2008-06-21', new DateTimeZone('America/New_York'));

echo $winter->getOffset() . "\n";
echo $summer->getOffset() . "\n";
?>

Yordamsal kullanım

<?php
$winter = date_create('2010-12-21', timezone_open('America/New_York'));
$summer = date_create('2008-06-21', timezone_open('America/New_York'));

echo date_offset_get($winter) . "\n";
echo date_offset_get($summer) . "\n";
?>

Yukarıdaki örneklerin çıktısı:

-18000
-14400

Note: -18000 = -5 hours, -14400 = -4 hours.


Gets the Unix timestamp

  • « DateTimeInterface::getOffset
  • DateTimeInterface::getTimezone »
  • PHP Manual
  • DateTimeInterface
  • Gets the Unix timestamp

DateTimeInterface::getTimestamp

DateTimeImmutable::getTimestamp

DateTime::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTimeInterface::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTime::getTimestamp -- date_timestamp_get — Gets the Unix timestamp

Açıklama

Nesne yönelimli kullanım

public DateTimeInterface::getTimestamp(): int
public DateTimeImmutable::getTimestamp(): int
public DateTime::getTimestamp(): int

Yordamsal kullanım

date_timestamp_get(DateTimeInterface $object): int

Gets the Unix timestamp.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Unix timestamp representing the date.

Hatalar/İstisnalar

If the timestamp cannot be represented as int, a DateRangeError is thrown. Prior to PHP 8.3.0, a ValueError is thrown. And, prior to PHP 8.0.0, false was returned in this case. Still, the timestamp can be retrieved as string by using DateTimeInterface::format() with the U format.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | The out-of-range exception is now DateRangeError.
8.0.0 | These functions no longer return false on failure.

Örnekler

Örnek 1 DateTime::getTimestamp() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable();
echo $date->getTimestamp();
?>

Yordamsal kullanım

<?php
$date = date_create();
echo date_timestamp_get($date);
?>

The above examples will output something similar to:

1272509157

If you need to retrieve the timestamp with millisecond or microsecond resolution, then you can use the DateTimeInterface::format() function.

Örnek 2 Retrieving timestamp with milli and microsecond resolution

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable();
$milli = (int)$date->format('Uv'); // Timestamp in milliseconds
$micro = (int)$date->format('Uu'); // Timestamp in microseconds

echo $milli, "\n", $micro, "\n";
?>

The above examples will output something similar to:

1674057635586
1674057635586918

Ayrıca Bakınız

  • DateTime::setTimestamp() - Sets the date and time based on an Unix timestamp
  • DateTimeImmutable::setTimestamp() - Sets the date and time based on a Unix timestamp
  • DateTimeInterface::format() - Returns date formatted according to given format


Return time zone relative to given DateTime

  • « DateTimeInterface::getTimestamp
  • DateTime::__wakeup »
  • PHP Manual
  • DateTimeInterface
  • Return time zone relative to given DateTime

DateTimeInterface::getTimezone

DateTimeImmutable::getTimezone

DateTime::getTimezone

date_timezone_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeInterface::getTimezone -- DateTimeImmutable::getTimezone -- DateTime::getTimezone -- date_timezone_get — Return time zone relative to given DateTime

Açıklama

Nesne yönelimli kullanım

public DateTimeInterface::getTimezone(): DateTimeZone|false
public DateTimeImmutable::getTimezone(): DateTimeZone|false
public DateTime::getTimezone(): DateTimeZone|false

Yordamsal kullanım

date_timezone_get(DateTimeInterface $object): DateTimeZone|false

Return time zone relative to given DateTime.

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: date_create() işlevinden dönen bir DateTime nesnesi.

Dönen Değerler

Returns a DateTimeZone object on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 DateTime::getTimezone() example

Nesne yönelimli kullanım

<?php
$date = new DateTimeImmutable(null, new DateTimeZone('Europe/London'));
$tz = $date->getTimezone();
echo $tz->getName();
?>

Yordamsal kullanım

<?php
$date = date_create(null, timezone_open('Europe/London'));
$tz = date_timezone_get($date);
echo timezone_name_get($tz);
?>

Yukarıdaki örneklerin çıktısı:

Europe/London

Ayrıca Bakınız

  • DateTime::setTimezone() - Sets the time zone for the DateTime object


The __wakeup handler

  • « DateTimeInterface::getTimezone
  • DateTimeZone »
  • PHP Manual
  • DateTimeInterface
  • The __wakeup handler

DateTime::__wakeup

DateTimeImmutable::__wakeup

DateTimeInterface::__wakeup

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTime::__wakeup -- DateTimeImmutable::__wakeup -- DateTimeInterface::__wakeup — The __wakeup handler

Açıklama

public DateTime::__wakeup(): void
public DateTimeImmutable::__wakeup(): void
public DateTimeInterface::__wakeup(): void

The __wakeup() handler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Initializes a DateTime object.


DateTimeZone sınıfı

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Giriş

Zaman dilimi gösterimi.

Sınıf Sözdizimi

class DateTimeZone {
/* Sabitler */
const int AFRICA = 1;
const int AMERICA = 2;
const int ANTARCTICA = 4;
const int ARCTIC = 8;
const int ASIA = 16;
const int ATLANTIC = 32;
const int AUSTRALIA = 64;
const int EUROPE = 128;
const int INDIAN = 256;
const int PACIFIC = 512;
const int UTC = 1024;
const int ALL = 2047;
const int ALL_WITH_BC = 4095;
const int PER_COUNTRY = 4096;
/* Yöntemler */
public __construct(string $timezone)
timezone_open(string $timezone): DateTimeZone|false
public getLocation(): array|false
timezone_location_get(DateTimeZone $nesne): array|false
public getName(DateTimeZone $nesne): string
public getOffset(DateTimeInterface $datetime): int
public getTransitions(int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false
public static listAbbreviations(): array
public static listIdentifiers(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array
}

Öntanımlı Sabitler

DateTimeZone::AFRICA

Afrika zaman dilimleri.

DateTimeZone::AMERICA

Amerika zaman dilimleri.

DateTimeZone::ANTARCTICA

Antarktika zaman dilimleri.

DateTimeZone::ARCTIC

Kuzey Kutup Dairesi zaman dilimleri.

DateTimeZone::ASIA

Asya zaman dilimleri.

DateTimeZone::ATLANTIC

Atlantik zaman dilimleri.

DateTimeZone::AUSTRALIA

Avustralya zaman dilimleri.

DateTimeZone::EUROPE

Avrupa zaman dilimleri.

DateTimeZone::INDIAN

Hindistan zaman dilimleri.

DateTimeZone::PACIFIC

Pasifik zaman dilimleri.

DateTimeZone::UTC

UTC zaman dilimleri.

DateTimeZone::ALL

Tüm zaman dilimleri.

DateTimeZone::ALL_WITH_BC

Geriye uyumluluk dahil tüm zaman dilimleri.

DateTimeZone::PER_COUNTRY

Ülkelere göre zaman dilimleri.

İçindekiler

  • DateTimeZone::__construct — Yeni bir DateTimeZone nesnesi oluşturur
  • DateTimeZone::getLocation — Zaman dilimi konum bilgisini döndürür
  • DateTimeZone::getName — Zaman diliminin adını döndürür
  • DateTimeZone::getOffset — Returns the timezone offset from GMT
  • DateTimeZone::getTransitions — Returns all transitions for the timezone
  • DateTimeZone::listAbbreviations — Returns associative array containing dst, offset and the timezone name
  • DateTimeZone::listIdentifiers — Returns a numerically indexed array containing all defined timezone identifiers


Yeni bir DateTimeZone nesnesi oluşturur

  • « DateTimeZone
  • DateTimeZone::getLocation »
  • PHP Manual
  • DateTimeZone
  • Yeni bir DateTimeZone nesnesi oluşturur

DateTimeZone::__construct

timezone_open

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::__construct -- timezone_open — Yeni bir DateTimeZone nesnesi oluşturur

Açıklama

Nesne yönelimli kullanım

public DateTimeZone::__construct(string $timezone)

Yordamsal kullanım

timezone_open(string $timezone): DateTimeZone|false

Yeni bir DateTimeZone nesnesi oluşturur.

DateTimeZone nesnesi farklı türde üç zaman dilimi kuralına erişim sağlar: UTC başlangıcı (1. tür), zaman dilimi kısaltması (2. tür) ve IANA zaman dilimi veritabanında yayınlanan zaman dilimi belirteçleri (3. tür).

DateTimeZone nesnesi, yerel bir saat diliminde DateTime ve DateTimeImmutable nesneleriyle gösterilen saat dilimini oluşturabilmek için bu nesnelere eklenebilir.

Bağımsız Değişkenler

timezone

Desteklenen zaman dilimlerinden biri, saat farkı (+0200) veya zaman dilimi kısaltması (BST).

Dönen Değerler

Başarılı olduğunda yeni bir DateTimeZone nesnesi döndürür. Yordamsal kullanım başarısızlık durumunda false döndürür.

Hatalar/İstisnalar

Eğer zaman dilimi geçerli bir zaman dilimi değilse bu işlev DateInvalidTimeZoneException istisnası oluşturur. PHP 8.3 öncesinde Exception istisnası oluşuyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Geçersiz değerler Exception yerine artık DateInvalidTimeZoneException istisnası oluşturuyor.

Örnekler

Örnek 1 - DateTimeZone oluşturmak ve DateTimeImmutable nesnesine eklemek

<?php
$d = new DateTimeImmutable("2022-06-02 15:44:48 UTC");

$timezones = [ 'Europe/London', 'GMT+04:45', '-06:00', 'CEST' ];

foreach ($timezones as $tz) {
$tzo = new DateTimeZone($tz);

$local = $d->setTimezone($tzo);
echo $local->format(DateTimeInterface::RFC2822 . ' — e'), "\n";
}
?>

Yukarıdaki örneğin çıktısı:

Thu, 02 Jun 2022 16:44:48 +0100 — Europe/London
Thu, 02 Jun 2022 20:29:48 +0445 — +04:45
Thu, 02 Jun 2022 09:44:48 -0600 — -06:00
Thu, 02 Jun 2022 16:44:48 +0100 — CEST

Örnek 2 - DateTimeZone örneklenirken hataların yakalanması

<?php
// Yakalanan istisna nesneleriyle hata işlenmesine örnek
$zamandilimleri = array('Europe/Istanbul', 'Mars/Phobos', 'Jupiter/Europa');

foreach ($zamandilimleri as $zd) {
try {
$mars = new DateTimeZone($zd);
} catch(Exception $e) {
echo $e->getMessage() . '<br />';
}
}
?>

Yukarıdaki örneğin çıktısı:

DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Mars/Phobos)
DateTimeZone::__construct() [datetimezone.--construct]: Unknown or bad timezone (Jupiter/Europa)


Zaman dilimi konum bilgisini döndürür

  • « DateTimeZone::__construct
  • DateTimeZone::getName »
  • PHP Manual
  • DateTimeZone
  • Zaman dilimi konum bilgisini döndürür

DateTimeZone::getLocation

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateTimeZone::getLocation -- timezone_location_get — Zaman dilimi konum bilgisini döndürür

Açıklama

Nesne yönelimli kullanım

public DateTimeZone::getLocation(): array|false

Yordamsal kullanım

timezone_location_get(DateTimeZone $nesne): array|false

Zaman dilimi için konum bilgisini; ülke kodu, enlem/boylam değerlerini ve yorumları döndürür.

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: timezone_open() işlevinden dönen bir DateTimeZone nesnesi.

Dönen Değerler

Zaman dilimi hakkında konum bilgisini içeren bir dizi başarısızlık durumunda false döner.

Örnekler

Örnek 1 - DateTimeZone::getLocation() örneği

<?php
$tz = new DateTimeZone("Europe/Prague");
print_r($tz->getLocation());
print_r(timezone_location_get($tz));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)
Array
(
    [country_code] => CZ
    [latitude] => 50.08333
    [longitude] => 14.43333
    [comments] =>
)

Ayrıca Bakınız

  • Desteklenen zaman dilimi tanımlayıcıların kısmi veya tam listesi için: DateTimeZone::listIdentifiers() - Returns a numerically indexed array containing all defined timezone identifiers


Zaman diliminin adını döndürür

  • « DateTimeZone::getLocation
  • DateTimeZone::getOffset »
  • PHP Manual
  • DateTimeZone
  • Zaman diliminin adını döndürür

DateTimeZone::getName

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getName -- timezone_name_get — Zaman diliminin adını döndürür

Açıklama

Nesne yönelimli kullanım

public DateTimeZone::getName(DateTimeZone $nesne): string

Yordamsal kullanım

timezone_name_get(): string

Zaman diliminin adını döndürür.

Bağımsız Değişkenler

nesne

Bir isim almak için DateTimeZone.

Dönen Değerler

Aynı saat farkı ve/veya kurallarıyla yeni bir DateTimeZone nesnesi oluşturmak için kullanılabilecek açıklayıcı bir dizge, dilim türüne bağlı olarak, UTC farkı (1. tür), zaman dilimi kısaltması (2. tür) veya IANA zaman dilimi veritabanında yayınlanan zaman dilimi belirteçlerinden biri (3. tür). Örneğin, 02:00, CEST veya zaman dilimleri listesi içindeki zaman dilimi isimlerinden biri.


Returns the timezone offset from GMT

  • « DateTimeZone::getName
  • DateTimeZone::getTransitions »
  • PHP Manual
  • DateTimeZone
  • Returns the timezone offset from GMT

DateTimeZone::getOffset

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getOffset -- timezone_offset_get — Returns the timezone offset from GMT

Açıklama

Nesne yönelimli kullanım

public DateTimeZone::getOffset(DateTimeInterface $datetime): int

Yordamsal kullanım

timezone_offset_get(DateTimeZone $object, DateTimeInterface $datetime): int

This function returns the offset to GMT for the date/time specified in the datetime parameter. The GMT offset is calculated with the timezone information contained in the DateTimeZone object being used.

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: timezone_open() işlevinden dönen bir DateTimeZone nesnesi.

datetime

DateTime that contains the date/time to compute the offset from.

Dönen Değerler

Returns time zone offset in seconds.

Örnekler

Örnek 1 DateTimeZone::getOffset() examples

<?php
// Create two timezone objects, one for Taipei (Taiwan) and one for
// Tokyo (Japan)
$dateTimeZoneTaipei = new DateTimeZone("Asia/Taipei");
$dateTimeZoneJapan = new DateTimeZone("Asia/Tokyo");

// Create two DateTime objects that will contain the same Unix timestamp, but
// have different timezones attached to them.
$dateTimeTaipei = new DateTime("now", $dateTimeZoneTaipei);
$dateTimeJapan = new DateTime("now", $dateTimeZoneJapan);

// Calculate the GMT offset for the date/time contained in the $dateTimeTaipei
// object, but using the timezone rules as defined for Tokyo
// ($dateTimeZoneJapan).
$timeOffset = $dateTimeZoneJapan->getOffset($dateTimeTaipei);

// Should show int(32400) (for dates after Sat Sep 8 01:00:00 1951 JST).
var_dump($timeOffset);
?>


Returns all transitions for the timezone

  • « DateTimeZone::getOffset
  • DateTimeZone::listAbbreviations »
  • PHP Manual
  • DateTimeZone
  • Returns all transitions for the timezone

DateTimeZone::getTransitions

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::getTransitions -- timezone_transitions_get — Returns all transitions for the timezone

Açıklama

Nesne yönelimli kullanım

public DateTimeZone::getTransitions(int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Yordamsal kullanım

timezone_transitions_get(DateTimeZone $object, int $timestampBegin = PHP_INT_MIN, int $timestampEnd = PHP_INT_MAX): array|false

Bağımsız Değişkenler

nesne

Sadece yordamsal biçem: timezone_open() işlevinden dönen bir DateTimeZone nesnesi.

timestampBegin

Begin timestamp.

timestampEnd

End timestamp.

Dönen Değerler

Returns a numerically indexed array of transition arrays on success, başarısızlık durumunda false döner. DateTimeZone objects wrapping type 1 (UTC offsets) and type 2 (abbreviations) do not contain any transitions, and calling this method on them will return false.

If timestampBegin is given, the first entry in the returned array will contain a transition element at the time of timestampBegin.

Transition Array Structure
Key | Type | Description
ts | int | Unix timestamp
time | string | DateTimeInterface::ISO8601_EXPANDED (PHP 8.2 and later), or DateTimeInterface::ISO8601 (PHP 8.1 and lower) time string
offset | int | Offset to UTC in seconds
isdst | bool | Whether daylight saving time is active
abbr | string | Timezone abbreviation

Örnekler

Örnek 1 A timezone_transitions_get() example

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions();
print_r(array_slice($transitions, 0, 3));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [ts] => -9223372036854775808
            [time] => -292277022657-01-27T08:29:52+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => -1691964000
            [time] => 1916-05-21T02:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [2] => Array
        (
            [ts] => -1680472800
            [time] => 1916-10-01T02:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

)

Örnek 2 A timezone_transitions_get() example with timestampBegin set

<?php
$timezone = new DateTimeZone("Europe/London");
$transitions = $timezone->getTransitions(time());
print_r(array_slice($transitions, 0, 3));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [ts] => 1654184161
            [time] => 2022-06-02T15:36:01+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

    [1] => Array
        (
            [ts] => 1667091600
            [time] => 2022-10-30T01:00:00+0000
            [offset] => 0
            [isdst] =>
            [abbr] => GMT
        )

    [2] => Array
        (
            [ts] => 1679792400
            [time] => 2023-03-26T01:00:00+0000
            [offset] => 3600
            [isdst] => 1
            [abbr] => BST
        )

)


Returns associative array containing dst, offset and the timezone name

  • « DateTimeZone::getTransitions
  • DateTimeZone::listIdentifiers »
  • PHP Manual
  • DateTimeZone
  • Returns associative array containing dst, offset and the timezone name

DateTimeZone::listAbbreviations

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::listAbbreviations -- timezone_abbreviations_list — Returns associative array containing dst, offset and the timezone name

Açıklama

Nesne yönelimli kullanım

public static DateTimeZone::listAbbreviations(): array

Yordamsal kullanım

timezone_abbreviations_list(): array

The returned list of abbreviations includes all historical use of abbreviations, which can lead to correct, but confusing entries. There are also conflicts, as PST is used both in the US and in the Philippines.

The list that this function returns is therefore not suitable for building an array with options to present a choice of timezone to users.

Bilginize:

The data for this function are precompiled for performance reasons, and are not updated when using a newer » timezonedb.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the array of timezone abbreviations.

Örnekler

Örnek 1 A timezone_abbreviations_list() example

<?php
$timezone_abbreviations = DateTimeZone::listAbbreviations();
print_r($timezone_abbreviations["acst"]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Porto_Acre
        )

    [1] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Eirunepe
        )

    [2] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => America/Rio_Branco
        )

    [3] => Array
        (
            [dst] => 1
            [offset] => -14400
            [timezone_id] => Brazil/Acre
        )

)

Ayrıca Bakınız

  • timezone_identifiers_list() - DateTimeZone::listIdentifiers işlevinin takma adıdır


Returns a numerically indexed array containing all defined timezone identifiers

  • « DateTimeZone::listAbbreviations
  • DateInterval »
  • PHP Manual
  • DateTimeZone
  • Returns a numerically indexed array containing all defined timezone identifiers

DateTimeZone::listIdentifiers

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeZone::listIdentifiers -- timezone_identifiers_list — Returns a numerically indexed array containing all defined timezone identifiers

Açıklama

Nesne yönelimli kullanım

public static DateTimeZone::listIdentifiers(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array

Yordamsal kullanım

timezone_identifiers_list(int $timezoneGroup = DateTimeZone::ALL, ?string $countryCode = null): array

Bağımsız Değişkenler

timezoneGroup

One of the DateTimeZone class constants (or a combination).

countryCode

A two-letter (uppercase) ISO 3166-1 compatible country code.

Bilginize: This option is only used when timezoneGroup is set to DateTimeZone::PER_COUNTRY.

Dönen Değerler

Returns the array of timezone identifiers. Only non-outdated items are returned. To get all, including outdated timezone identifiers, use the DateTimeZone::ALL_WITH_BC as value for timezoneGroup.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Prior to this version, false was returned on failure.
7.1.0 | countryCode is nullable now.

Örnekler

Örnek 1 A DateTimeZone::listIdentifiers() example

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers();
for ($i=0; $i < 5; $i++) {
echo "$timezone_identifiers[$i]\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara

Örnek 2 Listing identifiers for a specific region

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::ASIA );
for ($i=0; $i < 5; $i++) {
echo "$timezone_identifiers[$i]\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau

Örnek 3 Listing identifiers for multiple regions

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::ASIA | DateTimeZone::PACIFIC );
echo join( ', ', $timezone_identifiers );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Asia/Aden, Asia/Almaty, Asia/Amman, Asia/Anadyr, Asia/Aqtau, Asia/Aqtobe,
Asia/Ashgabat, Asia/Atyrau, Asia/Baghdad, Asia/Bahrain, Asia/Baku,
Asia/Bangkok, Asia/Barnaul, Asia/Beirut, Asia/Bishkek, Asia/Brunei,
Asia/Chita, Asia/Choibalsan, Asia/Colombo, Asia/Damascus, Asia/Dhaka,
Asia/Dili, Asia/Dubai, Asia/Dushanbe, Asia/Famagusta, Asia/Gaza, Asia/Hebron,
Asia/Ho_Chi_Minh, Asia/Hong_Kong, Asia/Hovd, Asia/Irkutsk, Asia/Jakarta,
Asia/Jayapura, Asia/Jerusalem, Asia/Kabul, Asia/Kamchatka, Asia/Karachi,
Asia/Kathmandu, Asia/Khandyga, Asia/Kolkata, Asia/Krasnoyarsk,
Asia/Kuala_Lumpur, Asia/Kuching, Asia/Kuwait, Asia/Macau, Asia/Magadan,
Asia/Makassar, Asia/Manila, Asia/Muscat, Asia/Nicosia, Asia/Novokuznetsk,
Asia/Novosibirsk, Asia/Omsk, Asia/Oral, Asia/Phnom_Penh, Asia/Pontianak,
Asia/Pyongyang, Asia/Qatar, Asia/Qostanay, Asia/Qyzylorda, Asia/Riyadh,
Asia/Sakhalin, Asia/Samarkand, Asia/Seoul, Asia/Shanghai, Asia/Singapore,
Asia/Srednekolymsk, Asia/Taipei, Asia/Tashkent, Asia/Tbilisi, Asia/Tehran,
Asia/Thimphu, Asia/Tokyo, Asia/Tomsk, Asia/Ulaanbaatar, Asia/Urumqi,
Asia/Ust-Nera, Asia/Vientiane, Asia/Vladivostok, Asia/Yakutsk, Asia/Yangon,
Asia/Yekaterinburg, Asia/Yerevan, Pacific/Apia, Pacific/Auckland,
Pacific/Bougainville, Pacific/Chatham, Pacific/Chuuk, Pacific/Easter,
Pacific/Efate, Pacific/Fakaofo, Pacific/Fiji, Pacific/Funafuti,
Pacific/Galapagos, Pacific/Gambier, Pacific/Guadalcanal, Pacific/Guam,
Pacific/Honolulu, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kosrae,
Pacific/Kwajalein, Pacific/Majuro, Pacific/Marquesas, Pacific/Midway,
Pacific/Nauru, Pacific/Niue, Pacific/Norfolk, Pacific/Noumea,
Pacific/Pago_Pago, Pacific/Palau, Pacific/Pitcairn, Pacific/Pohnpei,
Pacific/Port_Moresby, Pacific/Rarotonga, Pacific/Saipan, Pacific/Tahiti,
Pacific/Tarawa, Pacific/Tongatapu, Pacific/Wake, Pacific/Wallis

Örnek 4 Listing identifiers for a single country

<?php
$timezone_identifiers = DateTimeZone::listIdentifiers( DateTimeZone::PER_COUNTRY, "UA" );
foreach( $timezone_identifiers as $identifier ) {
echo "$identifier\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Europe/Kyiv
Europe/Simferopol
Europe/Uzhgorod
Europe/Zaporozhye

Ayrıca Bakınız

  • timezone_abbreviations_list() - DateTimeZone::listAbbreviations işlevinin takma adıdır


DateInterval sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Bir tarih aralığı gösterir.

Ya sabit bir süre (yıl, ay, gün saat sayısı gibi) ya da DateTimeImmutable ve DateTime kurucusunun desteklediği biçemde göreli bir zaman dizgesi saklanır.

Daha açıkçası, bir DateInterval nesnesindeki bilgiler, bir tarih/saatten başka bir tarih/saate gitme talimatıdır. Bu işlem her zaman tersine çevrilebilir değildir.

DateInterval nesnesi oluşturmanın yaygın yolu, DateTimeInterface::diff() aracılığıyla iki tarih/saat nesnesi arasındaki farkı hesaplamaktır.

Tarih aralıklarını karşılaştırmak için uygun bir yöntem bulunmadığından DateInterval örneklerinin eşsiz olduğu varsayılır.

Sınıf Sözdizimi

class DateInterval {
/* Özellikler */
public int $y;
public int $m;
public int $d;
public int $h;
public int $i;
public int $s;
public float $f;
public int $invert;
public mixed $days;
public bool $from_string;
public string $date_string;
/* Yöntemler */
public __construct(string $duration)
public static createFromDateString(string $zaman): DateInterval|false
public format(string $biçem): string
}

Özellikler

Uyarı

Aşağıda sıralanmış özellikler PHP sürümüne bağlı olup salt-okunur olarak ele alınmalıdır.

y

Yıl sayısı.

m

Ay sayısı.

d

Gün sayısı.

h

Saat sayısı.

i

Dakika sayısı.

s

Saniye sayısı.

f

Saniyenin kesri olarak mikrosaniye.

invert

Zaman aralığı negatifse 1 değilse 0 Bakınız: DateInterval::format().

days

DateInterval nesnesi DateTimeImmutable::diff() veya DateTime::diff() tarafından oluşturulmuşsa, başlangıç ve son tarihler arasındaki toplam tam gün sayısıdır. Aksi takdirde, days false'dır.

from_string

DateInterval nesnesi DateInterval::createFromDateString() tarafından oluşturulmuşsa, özelliğin değeri true olur ve date_string özelliği oluşturulur. Aksi takdirde değer false olur ve y'den f'ye kadar özellikler ile invert ve days özellikleri oluşturulur.

date_string

Dizge DateInterval::createFromDateString() için bir bağımsız değişken olarak kullanılır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | DateInterval::createFromDateString() yöntemiyle oluşturulan DateInterval nesneleri için from_string ve date_string özellikleri eklendi.
8.2.0 | Yalnızca y'den f'ye kadar, invert ve days görünür olacaktır.
7.4.0 | Artık, DateInterval örneklerinin eşsiz olduğu varsayılıyor; evvelce tüm DateInterval örneklerinin eşit olduğu varsayılırdı.
7.1.0 | f özelliği eklendi.

İçindekiler

  • DateInterval::__construct — Yeni bir DateInterval nesnesi oluşturur
  • DateInterval::createFromDateString — Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür
  • DateInterval::format — Zaman aralığını biçimler


Yeni bir DateInterval nesnesi oluşturur

  • « DateInterval
  • DateInterval::createFromDateString »
  • PHP Manual
  • DateInterval
  • Yeni bir DateInterval nesnesi oluşturur

DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::__construct — Yeni bir DateInterval nesnesi oluşturur

Açıklama

public DateInterval::__construct(string $duration)

Yeni bir DateInterval nesnesi oluşturur.

Bağımsız Değişkenler

duration

Dizge türünde zaman aralığı belirtimi.

Zaman aralığını (period) belirtmek için biçem P harfiyle başlar, ardından süreyi belirten bir tamsayı değer gelir. Süre zaman bileşenleri içeriyorsa bunların önüne T harfi getirilir.

duration Belirteçleri
Belirteç | Açıklama
Y | Yıl
M | Ay
D | Gün
W | Hafta. Gün sayısına dönüştürülebilir. PHP 8.0.0 öncesinde, D harfiyle birlikte belirtilemiyordu.
H | Saat
M | Dakika
S | saniye

Burada bazı basit örneklere yer verilmiştir. İki gün: P2D. İki saniye: PT2S. Altı yıl, 5 dakika: P6YT5M.

Bilginize:

Birimler belirtilirken en büyük ölçekli birim solda en küçük ölçekli birim sağda kalacak şekilde veri girilir. Dolayısıyla, örneğin, aylar yıllardan sonra, günlerden önce yer alır. Bur yıl dört gün P4D1Y değil P1Y4D olarak ifade edilir.

Belirtim bir tarih saat olarak da gösterilebilir. Örneğin, bir yıl dört gün P0001-00-04T00:00:00 olarak gösterilebilir. Fakat bu biçemde belirtilen değerler birime tanınan azami değeri aşmamalıdır (örneğin 25 saat geçersizdir).

Bu biçemler » ISO 8601 süre belirtimine dayanır.

Hatalar/İstisnalar

zaman_aralığı bir zaman aralığına çözümlenemediğinde DateMalformedIntervalStringException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Exception yerine artık DateMalformedIntervalStringException istisnası oluşuyor.
8.2.0 | Yalnızca y'den f'ye kadar özellikler ile invert ve days özelliklerine ek olarak yeni mantıksal from_string özelliği görünür olacaktır.
8.0.0 | W artık D ile birlikte belirtilebiliyor.

Örnekler

Örnek 1 - DateInterval nesnelerinin oluşturulması ve kullanılması

<?php
// Belli bir tarih oluştur
$someDate = \DateTime::createFromFormat("Y-m-d H:i", "2022-08-25 14:18");

// Tarih aralığı oluştur
$interval = new \DateInterval("P7D");

// Tarih aralığını ekle
$someDate->add($interval);

// Tarih aralığını dizgeye dönüştür
echo $interval->format("%d");

Yukarıdaki örneğin çıktısı:

7

Örnek 2 - DateInterval örneği

<?php

$interval = new DateInterval('P1W2D');
var_dump($interval);

?>

Yukarıdaki örneğin PHP 8.2 çıktısı:

object(DateInterval)#1 (10) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(9)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["from_string"]=>
  bool(false)
}

Yukarıdaki örneğin PHP 8 çıktısı:

object(DateInterval)#1 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(9)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}

Yukarıdaki örneğin PHP 7 çıktısı:

object(DateInterval)#1 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(2)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}

Ayrıca Bakınız

  • DateInterval::format() - Zaman aralığını biçimler
  • DateTime::add() - Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
  • DateTime::diff() - Returns the difference between two DateTime objects


Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür

  • « DateInterval::__construct
  • DateInterval::format »
  • PHP Manual
  • DateInterval
  • Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür

DateInterval::createFromDateString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::createFromDateString — Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür

Açıklama

Nesne yönelimli kullanım

public static DateInterval::createFromDateString(string $zaman): DateInterval|false

Yordamsal kullanım

date_interval_create_from_date_string(string $zaman): DateInterval|false

DateTimeImmutable kurucusunu normal tarih/saat ayrıştırcısı ile kullanarak çözümlenen dizgenin göreli kısımlarından bir DateInterval nesnesi oluşturur.

Bağımsız Değişkenler

zaman

Göreli gösterimle tarih. DateInterval'i oluşturmak için özellikle, DateTimeImmutable,strtotime() ve DateTime için kullanılan ayrıştırıcı tarafından desteklenen göreli gösterimler kullanılır.

P7D gibi bir ISO-8601 biçem dizgesini kullanmak için kurucu gerekir.

Dönen Değerler

Başarılıysa yeni bir DateInterval nesnesi döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | DateInterval bu yöntem ile oluşturulduğunda yalnızca from_string ve date_string özellikleri görünür olur.

Örnekler

Örnek 1 - Geçerli tarih aralıklarının çözümlenmesi

<?php
// Aralıklar her birinde eşittir.
$i = new DateInterval('P1D');
$i = DateInterval::createFromDateString('1 day');

$i = new DateInterval('P2W');
$i = DateInterval::createFromDateString('2 weeks');

$i = new DateInterval('P3M');
$i = DateInterval::createFromDateString('3 months');

$i = new DateInterval('P4Y');
$i = DateInterval::createFromDateString('4 years');

$i = new DateInterval('P1Y1D');
$i = DateInterval::createFromDateString('1 year + 1 day');

$i = new DateInterval('P1DT12H');
$i = DateInterval::createFromDateString('1 day + 12 hours');

$i = new DateInterval('PT3600S');
$i = DateInterval::createFromDateString('3600 seconds');
?>

Örnek 2 - Birleşik ve negatif tarih aralıklarının çözümlenmesi

<?php
$i = DateInterval::createFromDateString('62 weeks + 1 day + 2 weeks + 2 hours + 70 minutes');
echo $i->format('%d %h %i'), "\n";

$i = DateInterval::createFromDateString('1 year - 10 days');
echo $i->format('%y %d'), "\n";
?>

Yukarıdaki örneğin çıktısı:

449 2 70
1 -10

Örnek 3 - Özel göreli tarih aralıklarının çözümlenmesi

<?php
//gelecek ayın son günü
$i = DateInterval::createFromDateString('last day of next month');
var_dump($i);

// haftanın son günü
$i = DateInterval::createFromDateString('last weekday');
var_dump($i);

Yukarıdaki örneğin PHP 8.2 çıktısı:

object(DateInterval)#1 (2) {
  ["from_string"]=>
  bool(true)
  ["date_string"]=>
  string(22) "last day of next month"
}
object(DateInterval)#2 (2) {
  ["from_string"]=>
  bool(true)
  ["date_string"]=>
  string(12) "last weekday"
}

Yukarıdaki örneğin PHP 8.0 çıktısı şuna benzer:

object(DateInterval)#1 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(1)
  ["d"]=>
  int(0)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(2)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(0)
  ["special_amount"]=>
  int(0)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(0)
}
object(DateInterval)#2 (16) {
  ["y"]=>
  int(0)
  ["m"]=>
  int(0)
  ["d"]=>
  int(0)
  ["h"]=>
  int(0)
  ["i"]=>
  int(0)
  ["s"]=>
  int(0)
  ["f"]=>
  float(0)
  ["weekday"]=>
  int(0)
  ["weekday_behavior"]=>
  int(0)
  ["first_last_day_of"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
  ["special_type"]=>
  int(1)
  ["special_amount"]=>
  int(-1)
  ["have_weekday_relative"]=>
  int(0)
  ["have_special_relative"]=>
  int(1)
}


Zaman aralığını biçimler

  • « DateInterval::createFromDateString
  • DatePeriod »
  • PHP Manual
  • DateInterval
  • Zaman aralığını biçimler

DateInterval::format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DateInterval::format — Zaman aralığını biçimler

Açıklama

public DateInterval::format(string $biçem): string

Zaman aralığını biçimlendirir.

Bağımsız Değişkenler

biçem

biçem dizgesinde tanınan karakterler aşağıda listelenmiştir. Her biçem karakterinin başına bir yüzde (%) işareti konmalıdır.
Karakter | Açıklama | Örnek değerler
% % iminin kendisi %
Y | Başına 0 getirilerek iki haneli yıl | 01, 03
y | 0 ile öncelenmeksizin yıl | 1, 3
M | Başına 0 getirilerek iki haneli ay | 01, 03, 12
m | 0 ile öncelenmeksizin ay | 1, 3, 12
D | Başına 0 getirilerek iki haneli ayın günü | 01, 03, 31
d | 0 ile öncelenmeksizin ayın günü | 1, 3, 31
a | DateTime::diff()'in sonucu olarak toplam gün sayısı, aksi takdirde (unknown) | 4, 18, 8123
H | Başına 0 getirilerek iki haneli saat | 01, 03, 23
h | 0 ile öncelenmeksizin saat | 1, 3, 23
I | Başına 0 getirilerek iki haneli dakika | 01, 03, 59
i | 0 ile öncelenmeksizin dakika | 1, 3, 59
S | Başına 0 getirilerek iki haneli saniye | 01, 03, 57
s | 0 ile öncelenmeksizin saniye | 1, 3, 57
F | Baştan 0 ile doldurulmuş en az 6 hanelik sayısal microsaniye. | 007701, 052738, 428291
f | Sayısal olarak mikrosaniye | 7701, 52738, 428291
R Negatifse "-", pozitifse "+" imi -, +
r Negatifse "-", pozitifse boş dizge -,

Dönen Değerler

Biçimlendirilmiş zaman aralığını bir dizge olarak döndürür.

Sürüm Bilgisi

7.2.12 | F ve f biçemi artık daima pozitif oluyor.
Sürüm: | Açıklama
7.1.0 | F ve f biçem karakterleri eklendi.

Örnekler

Örnek 1 - DateInterval örneği

<?php

$interval = new DateInterval('P2Y4DT6H8M');
echo $interval->format('%d gün');

?>

Yukarıdaki örneğin çıktısı:

4 gün

Örnek 2 - DateInterval ve büyük değerler

<?php

$interval = new DateInterval('P32D');
echo $interval->format('%d gün');

?>

Yukarıdaki örneğin çıktısı:

32 gün

Örnek 3 - DateInterval ve DateTime::diff() ile %a ve %d değiştiricileri

<?php

$january = new DateTime('2010-01-01');
$february = new DateTime('2010-02-01');
$interval = $february->diff($january);

// %a toplam gün sayısını çıktılar.
echo $interval->format('toplam %a gün')."\n";

// %d ise aya dahil olmayan gün sayısını çıktılar.
echo $interval->format('%m ay, %d gün');

?>

Yukarıdaki örneğin çıktısı:

toplam 31 gün
1 ay, 0 gün

Notlar

Bilginize:

DateInterval::format() yöntemi ne zaman dizgelerinde ne de tarih bölümlerinde tehir edilen kısımları yeniden hesaplar. Bunun sebebi "32 gün" gibi büyük değerlerin olanaksız oluşudur. Olanaklı olsaydı böyle bir değer "1 ay 4 gün" ile "1 ay 1 gün" arasında bir değer olarak yorumlanabilirdi.

Ayrıca Bakınız

  • DateTime::diff() - Returns the difference between two DateTime objects


DatePeriod sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Dönemselliğin gösterimi.

Bir tarih aralığı, belirli bir süre boyunca düzenli aralıklarla yinelenen bir tarih ve zaman kümesi üzerinde yinelemeye izin verir.

Sınıf Sözdizimi

class DatePeriod implements IteratorAggregate {
/* Sabitler */
public const int EXCLUDE_START_DATE;
public const int INCLUDE_END_DATE;
/* Özellikler */
public readonly ?DateTimeInterface $start;
public readonly ?DateTimeInterface $current;
public readonly ?DateTimeInterface $end;
public readonly ?DateInterval $interval;
public readonly int $recurrences;
public readonly bool $include_start_date;
public readonly bool $include_end_date;
/* Yöntemler */
public __construct(
DateTimeInterface $start,
DateInterval $interval,
int $recurrences,
int $options = 0
)
public __construct(
DateTimeInterface $start,
DateInterval $interval,
DateTimeInterface $end,
int $options = 0
)
public __construct(string $isostr, int $options = 0)
public static createFromISO8601String(string $specification, int $options = 0): static
public getDateInterval(): DateInterval
public getEndDate(): ?DateTimeInterface
public getRecurrences(): ?int
public getStartDate(): DateTimeInterface
}

Öntanımlı Sabitler

DatePeriod::EXCLUDE_START_DATE

DatePeriod::__construct() yönteminde kullanılan başlangıç tarihi dışlanır.

DatePeriod::INCLUDE_END_DATE

DatePeriod::__construct() yönteminde kullanılan bitiş tarihi dışlanmaz.

Özellikler

recurrences

Yineleyici tarafından döndürülen örneklerin asgari miktarı.

Yineleme sayısı DatePeriod örneğinin kurucusunda doğrudan recurrences özniteliği ile aktarılarak oluşturulmuşsa, bu özellik bu değere ek olarak, başlangıç tarihi DatePeriod::EXCLUDE_START_DATE aracılığıyla iptal edilmişse artı bir, bitiş tarihi DatePeriod::INCLUDE_END_DATE aracılığıyla etkin kılınmışsa artı bir içerir.

Yineleme sayısı doğrudan aktarılmamışsa bu özellik dönen örneklerin asgari sayısını içerir. Bu 0 olurdu, buna ek olarak, başlangıç tarihi DatePeriod::EXCLUDE_START_DATE aracılığıyla devre dışı bırakılmamışsa artı bir, bitiş tarihi DatePeriod::INCLUDE_END_DATE aracılığıyla etkinleştirilmişse artı bir olur.

<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
$recurrences = 5; // yineleme sayısı

// yineleme sayısını kurucu üzerinden doğrudan belirt
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";

$period = new DatePeriod($start, $interval, $recurrences);
echo $period->recurrences, "\n";

$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE);
echo $period->recurrences, "\n";

// yineleme sayısını kurucu üzerinden belirtME
$period = new DatePeriod($start, $interval, $end);
echo $period->recurrences, "\n";

$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
?>

Yukarıdaki örneğin çıktısı:

5
6
7
1
0

Ayrıca bkz: DatePeriod::getRecurrences()

include_end_date

Bitiş tarihinin yinelenen tarihler kümesine dahil edilip edilmeyeceği.

include_start_date

Başlangıç tarihinin yinelenen tarihler kümesine dahil edilip edilmeyeceği.

start

Dönemin başlangıç tarihi.

current

Yineleme sırasında, dönem içindeki şimdiki tarihi içerecektir.

end

Dönemin bitiş tarihi.

interval

Bir ISO 8601 tekrarlanan aralık belirtimi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | DatePeriod::INCLUDE_END_DATE sabiti ve include_end_date özeliği eklendi.
8.0.0 | DatePeriod artık IteratorAggregate arayüzünü gerçekliyor. Evvelce, Traversable arayüzünü gerçekliyordu.

İçindekiler

  • DatePeriod::__construct — Yeni bir DatePeriod nesnesi oluşturur
  • DatePeriod::createFromISO8601String — Creates a new DatePeriod object from an ISO8601 string
  • DatePeriod::getDateInterval — Gets the interval
  • DatePeriod::getEndDate — Gets the end date
  • DatePeriod::getRecurrences — Gets the number of recurrences
  • DatePeriod::getStartDate — Gets the start date


Yeni bir DatePeriod nesnesi oluşturur

  • « DatePeriod
  • DatePeriod::createFromISO8601String »
  • PHP Manual
  • DatePeriod
  • Yeni bir DatePeriod nesnesi oluşturur

DatePeriod::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DatePeriod::__construct — Yeni bir DatePeriod nesnesi oluşturur

Açıklama

public DatePeriod::__construct(
DateTimeInterface $start,
DateInterval $interval,
int $recurrences,
int $options = 0
)
public DatePeriod::__construct(
DateTimeInterface $start,
DateInterval $interval,
DateTimeInterface $end,
int $options = 0
)
Uyarı
public DatePeriod::__construct(string $isostr, int $options = 0)

Bu kullanım artık önerilmiyor, yerine DatePeriod::createFromISO8601String() kullanılmalıdır.

Yeni bir DatePeriod nesnesi oluşturur.

DatePeriod nesneleri, bir başlangıç (start) tarihinden, bir aralıktan (interval) ve bir bitiş (end) tarihinden veya yineleme sayısından (recurrences) bir dizi DateTimeImmutable veya DateTime nesnesi oluşturmak için yineleyici olarak kullanılabilir.

Nesnelerden dönen sınıf başlangıç (start) nesnesinin ata sınıfı olan DateTimeImmutable veya DateTime sınıfına eşdeğerdir.

Bağımsız Değişkenler

start

Dönemin başlangıç tarihi. Öntanımlı olarak, sonuç kümesine dahil edilir.

interval

Dönemsel yinelemeler arasındaki boşluk.

recurrences

Yineleme sayısı. 0'dan büyük olmalıdır. Dönen sonuç sayısı, başlangıç tarihi öntanımlı olarak sonuç kümesine dahil edildiğinden bundan büyük olmalıdır.

end

Dönemin bitiş tarihi. Öntanımlı olarak, sonuç kümesine dahil edilmez.

isostr

» ISO 8601 tekrarlanan aralık belirtiminin bir alt kümesi.

PHP'nin desteklediği ISO 8601 tekrarlanan aralık belirtimi özelliklerinden bazı örnekler:

  1. sıfır oluşumları (R0/)
  2. +02:00 gibi, UTC (Z) dışında kalan diğer zaman dilimleri.
options

Başlangıç ve bitiş tarihleri ile belirli davranışları denetlemek için kullanılan bit alanı.

Başlangıç tarihini, dönem içindeki yinelenen tarihler kümesinden hariç tutmak için DatePeriod::EXCLUDE_START_DATE sabiti kullanılır.

Bitiş tarihini, dönem içindeki yinelenen tarihler kümesine dahil etmek için DatePeriod::INCLUDE_END_DATE sabiti kullanılır.

Hatalar/İstisnalar

isostr geçerli bir ISO 8601 dönemi olarak çözümlenemediğine DateMalformedPeriodStringException istisnası oluşur. PHP 8.3 öncesinde, Exception istisnası oluşuyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Exception yerine artık DateMalformedPeriodStringException istisnası oluşuyor.
8.2.0 | DatePeriod::INCLUDE_END_DATE sabiti eklendi.
7.2.19, 7.3.6, 7.4.0 | recurrences artık 0'dan büyük olmak zorunda.

Örnekler

Örnek 1 - DatePeriod örneği

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';

// Hepsi eşdeğer
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);

// DatePeriod nesnesi üzerinde yineleme yaparak
// yinelenen dönemlerin tarihleri basılabilir.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>

Yukarıdaki örneğin çıktısı:

2012-07-01
2012-07-08
2012-07-15
2012-07-22
2012-07-29

Örnek 2 - DatePeriod::EXCLUDE_START_DATE ile DatePeriod örneği

<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');

$period = new DatePeriod($start, $interval, $end,
DatePeriod::EXCLUDE_START_DATE);

// DatePeriod nesnesi üzerinde yineleme yaparak
// yinelenen dönemlerin tarihleri basılabilir.
// Bu defa, 2012-07-01 basılmayacak.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>

Yukarıdaki örneğin çıktısı:

2012-07-08
2012-07-15
2012-07-22
2012-07-29

Örnek 3 - Bir yıldaki tüm son Perşembeleri gösteren DatePeriod örneği

<?php
$begin = new DateTime('2021-12-31');
$end = new DateTime('2022-12-31 23:59:59');

$interval = DateInterval::createFromDateString('last thursday of next month');
$period = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE);

foreach ($period as $dt) {
echo $dt->format('l Y-m-d'), "\n";
}
?>

Yukarıdaki örneğin çıktısı:

Thursday 2022-01-27
Thursday 2022-02-24
Thursday 2022-03-31
Thursday 2022-04-28
Thursday 2022-05-26
Thursday 2022-06-30
Thursday 2022-07-28
Thursday 2022-08-25
Thursday 2022-09-29
Thursday 2022-10-27
Thursday 2022-11-24
Thursday 2022-12-29

Notlar

ISO 8601 belirtiminin 4.5 "Recurring time interval" bölümünde belirtilen sınırsız sayıda tekrarlama desteklenmemektedir. Yani, isostr için "R/..." çalışmayacağı gibi end için null da çalışmayacaktır


Creates a new DatePeriod object from an ISO8601 string

  • « DatePeriod::__construct
  • DatePeriod::getDateInterval »
  • PHP Manual
  • DatePeriod
  • Creates a new DatePeriod object from an ISO8601 string

DatePeriod::createFromISO8601String

(PHP 8 >= 8.3.0)

DatePeriod::createFromISO8601String — Creates a new DatePeriod object from an ISO8601 string

Açıklama

public static DatePeriod::createFromISO8601String(string $specification, int $options = 0): static

Creates a new DatePeriod object from an ISO8601 string, as specified with specification.

Bağımsız Değişkenler

specification

A subset of the » ISO 8601 repeating interval specification.

An example of an accepted ISO 8601 interval specifications is R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, which specifies:

  • 5 iterations (R5/)
  • Starting at 2008-03-01T13:00:00Z.
  • Each iteration is an 1 year, 2 months, 10 days, 2 hours, and 30 minute interval (/P1Y2M10DT2H30M).

Examples of some ISO 8601 interval specification features that PHP does not support are:

  1. zero occurrences (R0/)
  2. time offsets other than UTC (Z), such as +02:00.
options

A bit field which can be used to control certain behaviour with start- and end- dates.

With DatePeriod::EXCLUDE_START_DATE you exclude the start date from the set of recurring dates within the period.

With DatePeriod::INCLUDE_END_DATE you include the end date in the set of recurring dates within the period.

Dönen Değerler

Creates a new DatePeriod object.

DatePeriod objects created with this method can be used as an iterator to generate a number of DateTimeImmutable objects.

Hatalar/İstisnalar

Throws an DateMalformedPeriodStringException when the specification cannot be parsed as a valid ISO 8601 period.

Örnekler

Örnek 1 DatePeriod::createFromISO8601String example

<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';

$period = DatePeriod::createFromISO8601String($iso);

// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
echo $date->format('Y-m-d'), "\n";
}
?>

Yukarıdaki örneğin çıktısı:

2023-07-01
2023-07-08
2023-07-15
2023-07-22
2023-07-29


Gets the interval

  • « DatePeriod::createFromISO8601String
  • DatePeriod::getEndDate »
  • PHP Manual
  • DatePeriod
  • Gets the interval

DatePeriod::getDateInterval

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getDateInterval — Gets the interval

Açıklama

Nesne yönelimli kullanım

public DatePeriod::getDateInterval(): DateInterval

Gets a DateInterval object representing the interval used for the period.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a DateInterval object

Örnekler

Örnek 1 DatePeriod::getDateInterval() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$interval = $period->getDateInterval();
echo $interval->format('%d day');
?>

Yukarıdaki örneğin çıktısı:

1 day

Ayrıca Bakınız

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getEndDate() - Gets the end date


Gets the end date

  • « DatePeriod::getDateInterval
  • DatePeriod::getRecurrences »
  • PHP Manual
  • DatePeriod
  • Gets the end date

DatePeriod::getEndDate

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getEndDate — Gets the end date

Açıklama

Nesne yönelimli kullanım

public DatePeriod::getEndDate(): ?DateTimeInterface

Gets the end date of the period.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns null if the DatePeriod does not have an end date. For example, when initialized with the recurrences parameter, or the isostr parameter without an end date.

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the end parameter.

Returns a cloned DateTime object representing the end date otherwise.

Örnekler

Örnek 1 DatePeriod::getEndDate() example

<?php
$period = new DatePeriod(
new DateTime('2016-05-16T00:00:00Z'),
new DateInterval('P1D'),
new DateTime('2016-05-20T00:00:00Z')
);
$start = $period->getEndDate();
echo $start->format(DateTime::ISO8601);
?>

Yukarıdaki örneklerin çıktısı:

2016-05-20T00:00:00+0000

Örnek 2 DatePeriod::getEndDate() without an end date

<?php
$period = new DatePeriod(
new DateTime('2016-05-16T00:00:00Z'),
new DateInterval('P1D'),
7
);
var_dump($period->getEndDate());
?>

Yukarıdaki örneğin çıktısı:

NULL

Ayrıca Bakınız

  • DatePeriod::getStartDate() - Gets the start date
  • DatePeriod::getDateInterval() - Gets the interval


Gets the number of recurrences

  • « DatePeriod::getEndDate
  • DatePeriod::getStartDate »
  • PHP Manual
  • DatePeriod
  • Gets the number of recurrences

DatePeriod::getRecurrences

(PHP 7 >= 7.2.17/7.3.4, PHP 8)

DatePeriod::getRecurrences — Gets the number of recurrences

Açıklama

Nesne yönelimli kullanım

public DatePeriod::getRecurrences(): ?int

Get the number of recurrences.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of recurrences as set by explicitly passing the $recurrences to the contructor of the DatePeriod class, or null otherwise.

Örnekler

Örnek 1 Different values for DatePeriod::getRecurrences()

<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
$recurrences = 5;

// recurrences explicitly set through the constructor
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
echo $period->getRecurrences(), "\n";

$period = new DatePeriod($start, $interval, $recurrences);
echo $period->getRecurrences(), "\n";

$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE);
echo $period->getRecurrences(), "\n\n";

// recurrences not set in the constructor
$period = new DatePeriod($start, $interval, $end);
var_dump($period->getRecurrences());

$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
var_dump($period->getRecurrences());
?>

Yukarıdaki örneğin çıktısı:

5
5
5

NULL
NULL

Ayrıca Bakınız

  • DatePeriod::$recurrences


Gets the start date

  • « DatePeriod::getRecurrences
  • Tarih ve Zaman İşlevleri »
  • PHP Manual
  • DatePeriod
  • Gets the start date

DatePeriod::getStartDate

(PHP 5 >= 5.6.5, PHP 7, PHP 8)

DatePeriod::getStartDate — Gets the start date

Açıklama

Nesne yönelimli kullanım

public DatePeriod::getStartDate(): DateTimeInterface

Gets the start date of the period.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a DateTimeImmutable object when the DatePeriod is initialized with a DateTimeImmutable object as the start parameter.

Returns a DateTime object otherwise.

Örnekler

Örnek 1 DatePeriod::getStartDate() example

<?php
$period = new DatePeriod('R7/2016-05-16T00:00:00Z/P1D');
$start = $period->getStartDate();
echo $start->format(DateTime::ISO8601);
?>

Yukarıdaki örneğin çıktısı:

2016-05-16T00:00:00+0000

Ayrıca Bakınız

  • DatePeriod::getEndDate() - Gets the end date
  • DatePeriod::getDateInterval() - Gets the interval


Tarih ve Zaman İşlevleri

İçindekiler

  • checkdate — Miladi tarihi doğrular
  • date_add — DateTime::add işlevinin takma adıdır
  • date_create_from_format — DateTime::createFromFormat işlevinin takma adıdır
  • date_create_immutable_from_format — DateTimeImmutable::createFromFormat işlevinin takma adı
  • date_create_immutable — Yeni bir DateTimeImmutable nesnesi oluşturur
  • date_create — Yeni bir DateTime nesnesi oluşturur
  • date_date_set — DateTime::setDate işlevinin takma adıdır
  • date_default_timezone_get — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir
  • date_default_timezone_set — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar
  • date_diff — DateTime::diff işlevinin takma adıdır
  • date_format — DateTime::format işlevinin takma adıdır
  • date_get_last_errors — DateTimeImmutable::getLastErrors işlevinin takma adıdır
  • date_interval_create_from_date_string — DateInterval::createFromDateString işlevinin takma adıdır
  • date_interval_format — DateInterval::format işlevinin takma adıdır
  • date_isodate_set — DateTime::setISODate işlevinin takma adıdır
  • date_modify — DateTime::modify işlevinin takma adıdır
  • date_offset_get — DateTime::getOffset işlevinin takma adıdır
  • date_parse_from_format — Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir
  • date_parse — Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür
  • date_sub — DateTime::sub işlevinin takma adıdır
  • date_sun_info — Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür
  • date_sunrise — Belirtilen gün ve konum için şafak zamanını döndürür
  • date_sunset — Verilen gün ve konum için günbatımı zamanını döndürür
  • date_time_set — DateTime::setTime işlevinin takma adıdır
  • date_timestamp_get — DateTime::getTimestamp işlevinin takma adıdır
  • date_timestamp_set — DateTime::setTimestamp işlevinin takma adıdır
  • date_timezone_get — DateTime::getTimezone işlevinin takma adıdır
  • date_timezone_set — DateTime::setTimezone işlevinin takma adıdır
  • date — Unix zaman damgasını biçimlendirir
  • getdate — Tarih/zaman bilgisi getirir
  • gettimeofday — Geçerli zamanı getirir
  • gmdate — Bir tarih/saati GMT/UTC tarih/saati olarak biçemler
  • gmmktime — Bir GMT tarihi için Unix zaman damgasını döndürür
  • gmstrftime — Yerel ayarlara göre tarih ve saati, UTC türüne çevirir
  • idate — Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir
  • localtime — Yerel zamanı getirir
  • microtime — Geçerli Unix zaman damgasını mikrosaniye olarak döndürür
  • mktime — Bir tarih için Unix zaman damgasını döndürür
  • strftime — Format a local time/date according to locale settings
  • strptime — strftime işleviyle üretilen zaman ve tarihleri çözümler
  • strtotime — Parse about any English textual datetime description into a Unix timestamp
  • time — Geçerli Unix zaman damgasını döndürür
  • timezone_abbreviations_list — DateTimeZone::listAbbreviations işlevinin takma adıdır
  • timezone_identifiers_list — DateTimeZone::listIdentifiers işlevinin takma adıdır
  • timezone_location_get — DateTimeZone::getLocation işlevinin takma adıdır
  • timezone_name_from_abbr — Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür
  • timezone_name_get — DateTimeZone::getName işlevinin takma adıdır
  • timezone_offset_get — DateTimeZone::getOffset işlevinin takma adıdır
  • timezone_open — DateTimeZone::__construct için takma ad
  • timezone_transitions_get — DateTimeZone::getTransitions işlevinin takma adıdır
  • timezone_version_get — timezonedb sürümünü döndürür


Miladi tarihi doğrular

  • « Tarih ve Zaman İşlevleri
  • date_add »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Miladi tarihi doğrular

checkdate

(PHP 4, PHP 5, PHP 7, PHP 8)

checkdate — Miladi tarihi doğrular

Açıklama

checkdate(int $ay, int $gün, int $yıl): bool

Verilen bağımsız değişkenlerle şekillenen tarihin geçerliliğini sınar. Her bağımsız değişken doğru tanımlanmışsa, tarih geçerli sayılır.

Bağımsız Değişkenler

ay

Ay 1 ve 12 arasında olmalıdır.

gün

Gün, verilen ay'ın gün sayıları içerisinde olmalıdır. Artık yıllar dikkate alınacaktır.

yıl

Yıl 1 ve 32767 arasında olmalıdır.

Dönen Değerler

Verilen tarih geçerli ise true değeriyle, değilse false değeriyle döner.

Örnekler

Örnek 1 - checkdate() örneği

<?php
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • strtotime() - Parse about any English textual datetime description into a Unix timestamp


DateTime::add işlevinin takma adıdır

  • « checkdate
  • date_create_from_format »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::add işlevinin takma adıdır

date_add

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_add — DateTime::add() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::add() işlevinin takma adıdır.


DateTime::createFromFormat işlevinin takma adıdır

  • « date_add
  • date_create_immutable_from_format »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::createFromFormat işlevinin takma adıdır

date_create_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_create_from_format — DateTime::createFromFormat() işlevinin takma adıdır

Açıklama

Bu işlev DateTime::createFromFormat() işlevinin takma adıdır.


DateTimeImmutable::createFromFormat işlevinin takma adı

  • « date_create_from_format
  • date_create_immutable »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeImmutable::createFromFormat işlevinin takma adı

date_create_immutable_from_format

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

date_create_immutable_from_format — DateTimeImmutable::createFromFormat() işlevinin takma adı

Açıklama

Bu işlev DateTimeImmutable::createFromFormat() işlevinin takma adıdır.


Yeni bir DateTimeImmutable nesnesi oluşturur

  • « date_create_immutable_from_format
  • date_create »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Yeni bir DateTimeImmutable nesnesi oluşturur

date_create_immutable

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

date_create_immutable — Yeni bir DateTimeImmutable nesnesi oluşturur

Açıklama

date_create_immutable(string $zaman = "now", ?DateTimeZone $zamandilimi = null): DateTimeImmutable|false

DateTimeImmutable::__construct() yönteminin işlev karşılığıdır.

zaman bağımsız değişkeninde aktarılan değer geçersizse işlev karşılığı olduğu kurucunun tersine bir istisna oluşturmak yerine false döndürür.

Bağımsız Değişkenler

Bkz, DateTimeImmutable::__construct.

Dönen Değerler

Başarı durumunda yeni bir DateTimeImmutable örneği, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DateTimeImmutable::createFromFormat() - Parses a time string according to a specified format


Yeni bir DateTime nesnesi oluşturur

  • « date_create_immutable
  • date_date_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Yeni bir DateTime nesnesi oluşturur

date_create

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_create — Yeni bir DateTime nesnesi oluşturur

Açıklama

date_create(string $zaman = "now", ?DateTimeZone $zaman_dilimi = null): DateTime|false

DateTime::__construct() için yordamsal sürüm.

DateTime kurucusundan farklı olarak, belirtilen zaman dizgesi geçersiz ise bir istisna yerine false döndürür.

Bağımsız Değişkenler

Bkz: DateTimeImmutable::__construct.

Dönen Değerler

Başarı durumunda yeni bir DateTime örneği, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DateTimeImmutable::__construct() - Returns new DateTimeImmutable object
  • DateTimeImmutable::createFromFormat() - Parses a time string according to a specified format
  • DateTime::__construct() - Returns new DateTime object


DateTime::setDate işlevinin takma adıdır

  • « date_create
  • date_default_timezone_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::setDate işlevinin takma adıdır

date_date_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_date_set — DateTime::setDate() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::setDate() işlevinin takma adıdır.


Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir

  • « date_date_set
  • date_default_timezone_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir

date_default_timezone_get

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

date_default_timezone_get — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir

Açıklama

date_default_timezone_get(): string

Bu işlev tercih sırasına göre öntanımlı zaman dilimini şöyle döndürür:

  • date_default_timezone_set() işlevi kullanılarak atanan zaman dilimiyle (eğer varsa).

  • date.timezone ini yönergesindeki değerle (ayarlanmışsa).

Eğer yukarıdakilerin hiçbirisi başarılı değilse, date_default_timezone_get() işlevi öntanımlı UTC zaman dilimini döndürecektir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string türünde geri döner.

Örnekler

Örnek 1 - Öntanımlı zaman diliminin getirilmesi

<?php
date_default_timezone_set('Europe/Istanbul');

if (date_default_timezone_get()) {
echo 'date_default_timezone_set: '. date_default_timezone_get() .'<br />';
}

if (ini_get('date.timezone')) {
echo 'date.timezone: ' . ini_get('date.timezone');
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

date_default_timezone_set: Europe/Istanbul
date.timezone: Europe/Istanbul

Örnek 2 - Zaman diliminin kısaltmasının getirilmesi

<?php
date_default_timezone_set('Europe/Istanbul');
echo date_default_timezone_get() . ' => ' . date('e') . ' => ' . date('T');
?>

Yukarıdaki örneğin çıktısı:

Europe/Istanbul => Europe/Istanbul => EET

Ayrıca Bakınız

  • date_default_timezone_set() - Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar
  • Desteklenen Zaman Dilimlerinin Listesi


Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar

  • « date_default_timezone_get
  • date_diff »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar

date_default_timezone_set

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

date_default_timezone_set — Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar

Açıklama

date_default_timezone_set(string $zamandilimi_belirteci): bool

date_default_timezone_set() işlevi, tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar.

Öntanımlı zaman dilimini ayarlamak için, bu işlevi betiğinizde kullanmak yerine, INI ayarlarındaki date.timezone yönergesini de kullanabilirsiniz.

Bağımsız Değişkenler

zamandilimi_belirteci

Zaman dilimi belirteci, UTC ya da Africa/Lagos, Asia/Hong_Kong, Europe/Istanbul gibi bir değer olabilir. Geçerli belirteçlerin listesi Desteklenen Zaman Dilimlerinin Listesi bölümünde bulunmaktadır.

Dönen Değerler

Bu işlev zamandilimi_belirteci geçersizse false, aksi takdirde true döndürür.

Örnekler

Örnek 1 - Öntanımlı zaman dilimini almak

<?php
date_default_timezone_set('Europe/Istanbul');

$betik_zd = date_default_timezone_get();

if (strcmp($betik_zd, ini_get('date.timezone'))){
echo 'Betik zaman dilimi ini dosyasında belirtilenden farklı.';
} else {
echo 'Betik zaman dilimi ini dosyasında belirtilenle aynı.';
}
?>

Ayrıca Bakınız

  • date_default_timezone_get() - Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir
  • Desteklenen Zaman Dilimlerinin Listesi


DateTime::diff işlevinin takma adıdır

  • « date_default_timezone_set
  • date_format »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::diff işlevinin takma adıdır

date_diff

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_diff — DateTime::diff() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::diff() işlevinin takma adıdır.


DateTime::format işlevinin takma adıdır

  • « date_diff
  • date_get_last_errors »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::format işlevinin takma adıdır

date_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_format — DateTime::format() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::format() işlevinin takma adıdır.


DateTimeImmutable::getLastErrors işlevinin takma adıdır

  • « date_format
  • date_interval_create_from_date_string »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeImmutable::getLastErrors işlevinin takma adıdır

date_get_last_errors

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_get_last_errors — DateTimeImmutable::getLastErrors() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeImmutable::getLastErrors() işlevinin takma adıdır.


DateInterval::createFromDateString işlevinin takma adıdır

  • « date_get_last_errors
  • date_interval_format »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateInterval::createFromDateString işlevinin takma adıdır

date_interval_create_from_date_string

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_interval_create_from_date_string — DateInterval::createFromDateString() işlevinin takma adıdır

Açıklama

Bu işlev, DateInterval::createFromDateString() işlevinin takma adıdır.


DateInterval::format işlevinin takma adıdır

  • « date_interval_create_from_date_string
  • date_isodate_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateInterval::format işlevinin takma adıdır

date_interval_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_interval_format — DateInterval::format() işlevinin takma adıdır

Açıklama

Bu işlev, DateInterval::format() işlevinin takma adıdır.


DateTime::setISODate işlevinin takma adıdır

  • « date_interval_format
  • date_modify »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::setISODate işlevinin takma adıdır

date_isodate_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_isodate_set — DateTime::setISODate() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::setISODate() işlevinin takma adıdır.


DateTime::modify işlevinin takma adıdır

  • « date_isodate_set
  • date_offset_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::modify işlevinin takma adıdır

date_modify

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_modify — DateTime::modify() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::modify() işlevinin takma adıdır.


DateTime::getOffset işlevinin takma adıdır

  • « date_modify
  • date_parse_from_format »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::getOffset işlevinin takma adıdır

date_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_offset_get — DateTime::getOffset() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::getOffset() işlevinin takma adıdır.


Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir

  • « date_offset_get
  • date_parse »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir

date_parse_from_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_parse_from_format — Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir

Açıklama

date_parse_from_format(string $biçem, string $zaman): array

Belirtilen zamanla ilgili ayrıntılı bilgiyi ilişkisel bir dizi ile döndürür.

Bağımsız Değişkenler

biçem

biçem kullanımı hakkında bilgi DateTimeImmutable::createFromFormat() sayfasındadır. Aynı kurallar uygulanır.

zaman

Zamanı gösteren dizge.

Dönen Değerler

Belirtilen zaman hakkında ayrıntılı bilgiyi ilişkisel dizi ile döndürür.

Döndürülen dizi year (yıl), month (ay), day (gün), hour (saat), minute (dakika), second (saniye), fraction (saniyenin kesri), is_localtime (yerel zaman) alanlarını içerir.

is_localtime değeri mevcutsa zone_type anahtarındaki değer zaman diliminin türünü içerir. Zaman dilimi türü 1 (UTC) ise zone (bölge) ve is_dst (hedef mi) alanları, 2 (kısaltma) için tz_abbr (zaman dilimi kısaltması) ve is_dst (hedef mi) alanları ve 3 (zaman dilimi belirteci) için tz_abbr (zaman dilimi kısaltması) ve tz_id (zaman dilimi kimliği) alanları eklenir.

Dizi, warning_count (uyarı sayısı) ve warnings (uyarılar) alanlarını da içerir. İlki kaç uyarı olduğunu belirtir. warnings dizisinin anahtarları belirtilen zamanda uyarının oluştuğu konumu ve uyarıyı içeren dizgeyi belirtir. Aşağıdaki örneklerden biri böyle bir uyarıyı içermektedir.

Dizi ayrıca, error_count (hata sayısı) ve errors (hatalar) alanlarını da içerir. İlki kaç hata bulunduğunu belirtir. errors dizisinin anahtarları belirtilen zamanda hatanın oluştuğu konumu ve hatayı içeren dizgeyi belirtir. Aşağıdaki örneklerden biri böyle bir hatayı içermektedir.

Uyarı

warnings ve errors dizilerinin öğe sayısı bunlar aynı konumda oluşmuşsa warning_count veya error_count değerinden az olamaz.

Hatalar/İstisnalar

zaman değeri NULL (\0) baytını içeriyorsa ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.21, 8.1.8, 8.2.0 | zaman değeri NULL (\0) baytını içeriyorsa artık ValueError istisnası oluşuyor, evvelce sessizce yok sayılırdı.
7.2.0 | Dönen dizinin zone öğesi artık dakika değil saniye cinsinden değer içeriyor ve imi ters oluyor. Örneğin, -120 yerine artık 7200 dönüyor.

Örnekler

Örnek 1 - date_parse_from_format() örneği

<?php
$date = "6.1.2009 13:00+01:00";
print_r(date_parse_from_format("j.n.Y H:iP", $date));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [year] => 2009
    [month] => 1
    [day] => 6
    [hour] => 13
    [minute] => 0
    [second] => 0
    [fraction] =>
    [warning_count] => 0
    [warnings] => Array
        (
        )

    [error_count] => 0
    [errors] => Array
        (
        )

    [is_localtime] => 1
    [zone_type] => 1
    [zone] => 3600
    [is_dst] =>
)

Örnek 2 - Uyarılı date_parse_from_format() örneği

<?php
$date = "26 August 2022 22:30 pm";
$parsed = date_parse_from_format("j F Y G:i a", $date);

echo "Uyarı sayısı: ", $parsed['warning_count'], "\n";
foreach ($parsed['warnings'] as $position => $message) {
echo "\t{$position} konumunda: {$message}\n";
}
?>

Yukarıdaki örneğin çıktısı:

Uyarı sayısı: 1
    23 konumunda: The parsed time was invalid

Örnek 3 - Hatalı date_parse_from_format() örneği

<?php
$date = "26 August 2022 CEST";
$parsed = date_parse_from_format("j F Y H:i", $date);

echo "Hata sayısı: ", $parsed['error_count'], "\n";
foreach ($parsed['errors'] as $position => $message) {
echo "\t{$position} konumunda: {$message}\n";
}
?>

Yukarıdaki örneğin çıktısı:

Hata sayısı: 3
    15 konumunda: A two digit hour could not be found
    19 konumunda: Data missing

Ayrıca Bakınız

  • DateTimeImmutable::createFromFormat() - Parses a time string according to a specified format
  • checkdate() - Miladi tarihi doğrular


Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür

  • « date_parse_from_format
  • date_sub »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür

date_parse

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_parse — Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür

Açıklama

date_parse(string $tarihzaman): array

date_parse() belirtilen tarihzaman dizgesini strtotime() ve DateTimeImmutable::__construct()'ın bağlı olduğu kurallara uygun olarak çözümler. Bir zaman damgası (strtotime() ile) veya DateTimeImmutable nesnesi (DateTimeImmutable::__construct() ile) döndürmek yerine, belirtilen tarihzaman dizgesinden saptanan bilgiyi içeren bir ilişkisel dizi döndürür.

Belli öğelerle ilgili bilgi yoksa, ya bu dizi elemanlarına false atanır ya da elemanlar dizide yer almaz. Bir zaman damgası veya DateTimeImmutable nesnesi oluşturmak için gerekliyse bazı alanlara false'tan farklı değerler atanabilir. Bunun olduğu durumlar aşağıda örneklenmiştir.

Bağımsız Değişkenler

tarihzaman

DateTimeImmutable::__construct() işlevi tarafından kabul edilen biçimde tarih/zaman.

Dönen Değerler

Başarılı olduğunda çözümlenen tarih/zaman bilgilerini içeren diziyle döner.

Dönen dizinin anahtarları: year, month, day, hour, minute, second, fraction ve is_localtime.

is_localtime mevcutsazone_type zaman dilimi türünü betimler. 1. tür (UTC farkı) için zone, is_dst alanları eklendi; 2. tür (kısaltma) için tz_abbr, is_dst alanları eklendi; ve 3.tür (zaman dilimi betimleyici) için tz_abbr, tz_id alanları eklendi.

tarihzaman dizgesi içinde, +3 days (+3 gün) gibi göreli zaman elemanları mevcutsa, dönen dizi relative anahtarlı gömülü bir dizi içerir. Bu dizinin anahtarları year, month, day, hour, minute, second ve gerekiyorsa weekday ve weekdays olup değerleri aktarılan dizgeye bağlıdır.

Dizi warning_count ve warnings alanlarını içerir. İlki, gelen uyarı sayısıdır. warnings dizisinin anahtarları uyarının kendisini açıklayan dizge değerini ve verilen tarihzaman içinde uyarının oluştuğu konumu betimler.

Dizi ayrıca, error_count ve errors alanlarını da içerir. İlki bulunan hata sayısıdır. errors dizisinin anahtarları hatanın kendini açıklayan dizge değerini ve verilen tarihzaman içinde hatanın oluştuğu konumu betimler.

Uyarı

warnings ve errors dizilerindeki eleman sayısı, ikisi de aynı konumda oluşmuşsa warning_count veya error_count değerlerinden küçük olmalıdır.

Hatalar/İstisnalar

Tarih biçimi hatalı olduğu taktirde, dizinin 'errors' elemanı hata iletilerini içerecektir.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Dönen dizinin zone elemeanı artık dakika yerine saniye sayısını gösteriyor, ayrıca işareti ters çevrildi. Örneğin, -120 yerine şimdi 7200 dönüyor.

Örnekler

Örnek 1 - Kapsamlı bir tarihzaman dizgesi ile date_parse() örneği

<?php
var_dump(date_parse("2006-12-12 10:00:00.5"));
?>

Yukarıdaki örneğin çıktısı:

array(12) {
  ["year"]=>
  int(2006)
  ["month"]=>
  int(12)
  ["day"]=>
  int(12)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0.5)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
}

Zaman dilimi elemanları yalnızca tarihzaman dizgesinde belirtilmişse dizide bulunur. Böyle bir durumda dizi daima zone_type elemanını ve bununla ilgili bir kaç elemanı daha içerecekir.

Örnek 2 - Zaman dilimi kısaltması içeren date_parse() örneği

<?php
var_dump(date_parse("Mon, 29 Oct 1923 20:30:00 +0200"));
?>

Yukarıdaki örneğin çıktısı:

array(16) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(28)
  ["second"]=>
  int(17)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(true)
  ["zone_type"]=>
  int(2)
  ["zone"]=>
  int(0)
  ["is_dst"]=>
  bool(true)
  ["tz_abbr"]=>
  string(3) "BST"
}

Örnek 3 - Zaman dilimi belirteci ile date_parse() örneği

<?php
var_dump(date_parse("June 2nd, 2022, 10:28:17 Europe/London"));
?>

Yukarıdaki örneğin çıktısı:

array(14) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(28)
  ["second"]=>
  int(17)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(true)
  ["zone_type"]=>
  int(3)
  ["tz_id"]=>
  string(13) "Europe/London"
}

Daha kısa bir tarihzaman dizgesi ile daha az bilgi elde edilir. Bu örnekte, tüm zaman parçaları için false dönmektedir.

Örnek 4 - Kısa bir dizge ile date_parse() örneği

<?php
var_dump(date_parse("June 2nd, 2022"));
?>

Yukarıdaki örneğin çıktısı:

array(12) {
  ["year"]=>
  int(2022)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  bool(false)
  ["minute"]=>
  bool(false)
  ["second"]=>
  bool(false)
  ["fraction"]=>
  bool(false)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
}

Göreli biçimler "relative" öğeye ayrıştırılır ve mutlak biçimlerden ayrıştırılan değerleri etkilemez.

Örnek 5 - Göreli biçimlerle date_parse() örneği

<?php
var_dump(date_parse("2006-12-12 10:00:00.5 +1 week +1 hour"));
?>

Yukarıdaki örneğin çıktısı:

array(13) {
  ["year"]=>
  int(2006)
  ["month"]=>
  int(12)
  ["day"]=>
  int(12)
  ["hour"]=>
  int(10)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0.5)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
  ["relative"]=>
  array(6) {
    ["year"]=>
    int(0)
    ["month"]=>
    int(0)
    ["day"]=>
    int(7)
    ["hour"]=>
    int(1)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
}

Thursday gibi uyaklı parçalar için, dizgenin zaman bölümüne 0 atanır. Thursday, DateTimeImmutable::__construct()) işlevine aktarılsaydı, bu ayrıca, 'hour', 'minute', 'second' ve 'fraction' öğelerine de 0 atanmasıyla sonuçlanırdı. Aşağıdaki örnekte, 'year' öğesi false olarak bırakılmıştır.

Örnek 6 - Yan etkili date_parse() örneği

<?php
var_dump(date_parse("Thursday, June 2nd"));
?>

Yukarıdaki örneğin çıktısı:

array(13) {
  ["year"]=>
  bool(false)
  ["month"]=>
  int(6)
  ["day"]=>
  int(2)
  ["hour"]=>
  int(0)
  ["minute"]=>
  int(0)
  ["second"]=>
  int(0)
  ["fraction"]=>
  float(0)
  ["warning_count"]=>
  int(0)
  ["warnings"]=>
  array(0) {
  }
  ["error_count"]=>
  int(0)
  ["errors"]=>
  array(0) {
  }
  ["is_localtime"]=>
  bool(false)
  ["relative"]=>
  array(7) {
    ["year"]=>
    int(0)
    ["month"]=>
    int(0)
    ["day"]=>
    int(0)
    ["hour"]=>
    int(0)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
    ["weekday"]=>
    int(4)
  }
}

Ayrıca Bakınız

  • date_parse_from_format() - Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir (Belirli biçemlerin tarihzaman dizgesinden ayrıştırılması için)
  • checkdate() - Miladi tarihi doğrular (Gregoryen tarih doğrulaması için)
  • getdate() - Tarih/zaman bilgisi getirir


DateTime::sub işlevinin takma adıdır

  • « date_parse
  • date_sun_info »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::sub işlevinin takma adıdır

date_sub

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_sub — DateTime::sub() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::sub() işlevinin takma adıdır.

Ayrıca Bakınız

  • DateTimeImmutable::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds
  • DateTime::sub() - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object


Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür

  • « date_sub
  • date_sunrise »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür

date_sun_info

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

date_sun_info — Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür

Açıklama

date_sun_info(int $zaman_damgası, float $enlem, float $boylam): array

Bağımsız Değişkenler

zaman_damgası

Zaman damgası.

enlem

Enlem derecesi.

boylam

Boylam derecesi.

Dönen Değerler

Başarılı olduğunda diziyi, başarısız olduğunda false değerini döndürür. Dönen dizinin yapısı:

sunrise
Güneşin doğuşunun zaman damgası (başucu açısı = 90° 35').
sunset
Güneşin batışının zaman damgası (başucu açısı = 90° 35').
transit
Güneşin başucunda olduğu, yani en üst noktasına ulaştığı zamanın damgası.
civil_twilight_begin
Sivil şafağın başlangıcı (başucu açısı = 96°). Gün doğumunda (sunrise) biter.
civil_twilight_end
Sivil alacakaranlığın sonu (başucu açısı = 96°). Gün batımında (sunset) başlar.
nautical_twilight_begin
Denizde şafağın başlangıcı (başucu açısı = 102°). Şafağın başlangıcında (civil_twilight_begin) biter.
nautical_twilight_end
Deniz alacakaranlığının sonu (başucu açısı = 102°). civil_twilight_end'de başlar.
astronomical_twilight_begin
Astronomik şafağın başlangıcı (başucu açısı = 108°). nautical_twilight_begin'de biter.
astronomical_twilight_end
Astronomik alacakaranlığın sonu (başucu açısı = 108°). nautical_twilight_end'de başlar.

Dizi elemanlarının değerleri, ya UNIX zaman damgasıdır, ya da güneş günün tamamında ilgili başucunun altındaysa false, güneş günün tamamında ilgili başucunun üstündeyse true'dur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Hesaplama, yerel öğle yerine yerel gece yarısı olarak düzeltildi, bu da sonuçları biraz değiştirdi.

Örnekler

Örnek 1 - date_sun_info() örneği

<?php
$sun_info = date_sun_info(strtotime("2008-12-12"), 36.55, 32.03);
foreach ($sun_info as $key => $val) {
echo "$key: " . date("H:i:s", $val) . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

sunrise: 06:54:58
sunset: 16:36:54
transit: 11:45:56
civil_twilight_begin: 06:26:20
civil_twilight_end: 17:05:32
nautical_twilight_begin: 05:54:03
nautical_twilight_end: 17:37:49
astronomical_twilight_begin: 05:22:39
astronomical_twilight_end: 18:09:14

Örnek 2 - Biraz işlemle Kutup gecesi

<?php
$tz = new \DateTimeZone('America/Anchorage');

$si = date_sun_info(strtotime("2022-12-21"), 70.21, -148.51);
foreach ($si as $key => $value) {
echo
match ($value) {
true => 'always',
false => 'never',
default => date_create("@{$value}")->setTimeZone($tz)->format( 'H:i:s T' ),
},
": {$key}",
"\n";
}
?>

Yukarıdaki örneğin çıktısı:

never: sunrise
never: sunset
12:52:18 AKST: transit
10:53:19 AKST: civil_twilight_begin
14:51:17 AKST: civil_twilight_end
09:01:47 AKST: nautical_twilight_begin
16:42:48 AKST: nautical_twilight_end
07:40:47 AKST: astronomical_twilight_begin
18:03:49 AKST: astronomical_twilight_end

Örnek 3 - Gece yarısı güneşi (Tromsø, Norveç)

<?php
$si = date_sun_info(strtotime("2022-06-26"), 69.68, 18.94);
print_r($si);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [sunrise] => 1
    [sunset] => 1
    [transit] => 1656240426
    [civil_twilight_begin] => 1
    [civil_twilight_end] => 1
    [nautical_twilight_begin] => 1
    [nautical_twilight_end] => 1
    [astronomical_twilight_begin] => 1
    [astronomical_twilight_end] => 1
)

Örnek 4 - Gün uzunluğunun hesaplanması (Alanya)

<?php
$si = date_sun_info(strtotime('2022-06-21'), 36.5, 32);
$diff = $si['sunset'] - $si['sunrise'];
echo "Length of day: ",
floor($diff / 3600), "h ",
floor(($diff % 3600) / 60), "s\n";
?>

Yukarıdaki örneğin çıktısı:

Length of day: 14h 42s


Belirtilen gün ve konum için şafak zamanını döndürür

  • « date_sun_info
  • date_sunset »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Belirtilen gün ve konum için şafak zamanını döndürür

date_sunrise

(PHP 5, PHP 7, PHP 8)

date_sunrise — Belirtilen gün ve konum için şafak zamanını döndürür

Uyarı

PHP 8.1.0 ve sonrasında bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir. Yerine date_sun_info() işlevi kullanılmalıdır.

Açıklama

date_sunrise(
int $dönüş_biçimi = SUNFUNCS_RET_STRING,
?float $enlem = null,
?float $boylam = null,
?float $başucu = null,
?float $utc_farkı = null
): string|int|float|false

date_sunrise() işlevi, verilen gün (zamandamgası) ve konum için şafak zamanını döndürür.

Bağımsız Değişkenler

zamandamgası

Şafak zamanı öğrenilecek günün zamandamgası.

dönüş_biçimi

dönüş_biçimi sabitleri
sabit | açıklama | örnek
SUNFUNCS_RET_STRING | Sonucu dizge olarak döndürür. | 16:46
SUNFUNCS_RET_DOUBLE | Sonucu gerçek sayı olarak döndürür. | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Sonucu tamsayı (zaman damgası) olarak döndürür. | 1095034606

enlem

Kuzey yarımküre öntanımlıdır. Güney yarımküre için negatif değer girilir. Ayrıca bakınız: date.default_latitude

boylam

Doğu yarımküre öntanımlıdır. Batı yarımküre için negatif değer girilir. Ayrıca bakınız: date.default_longitude

başucu

başucu, güneşin merkezi ile dünya yüzeyine dik bir çizgi arasındaki açıdır. Öntanımlı değer: date.sunrise_zenith

Bazı başucu açıları
Açı | Açıklama
90°50' | Gündoğumu: Güneşin görünür hale geldiği nokta.
96° | Sivil alacakaranlık: Geleneksel olarak şafağın başlangıcını belirtmek için kullanılır.
102° | Deniz alacakaranlığı: Ufkun denizde görünmeye başladığı nokta.
108° | Astronomik alacakaranlık: Güneşin herhangi bir aydınlatmanın kaynağı olmaya başladığı nokta.

utc_farkı

Saat cinsinden belirtilir. dönüş_biçimi değeri SUNFUNCS_RET_TIMESTAMP ise utc_farkı yoksayılır.

Dönen Değerler

Başarılı olduğunda, dönüş_biçimi bağımsız değişkeniyle belirlenen biçimde şafak zamanı, başarısızlık durumunda false döner. Başarısızlığın olası nedeni, yılın bir bölümünde kutup dairesinin içinde güneşin hiç doğmamasıdır.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı önerilmemekte olup yerine date_sun_info() işlevi önerilmektedir.
8.0.0 | enlem, botlam, başucu ve utc_farkı artık null olabiliyor.

Örnekler

Örnek 1 - date_sunrise() örneği

<?php

/* İstanbul, Türkiye için şafak hesabı
Enlem: 41.01 Kuzey
Boylam: 28.58 Doğu
Başucu ~= 90
saat farkı: +2 GMT
*/

echo date("D M d Y"). ', şafak: ' .date_sunrise(time(), SUNFUNCS_RET_STRING, 41.01, 28.58, 90, 2);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Fri Dec 12 2008, şafak: 07:25

Örnek 2 - Güneşin doğmaması

<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunrise($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>

Yukarıdaki örneğin çıktısı:

bool(false)

Ayrıca Bakınız

  • date_sun_info() - Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür


Verilen gün ve konum için günbatımı zamanını döndürür

  • « date_sunrise
  • date_time_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Verilen gün ve konum için günbatımı zamanını döndürür

date_sunset

(PHP 5, PHP 7, PHP 8)

date_sunset — Verilen gün ve konum için günbatımı zamanını döndürür

Uyarı

PHP 8.1.0 ve sonrasında bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir. Yerine date_sun_info() işlevi kullanılmalıdır.

Açıklama

date_sunset(
int $dönüş_biçimi = SUNFUNCS_RET_STRING,
?float $enlem = null,
?float $boylam = null,
?float $başucu = null,
?float $utc_farkı = null
): string|int|float|false

date_sunset() işlevi, verilen gün (zamandamgası) ve konum için günbatımı zamanını döndürür.

Bağımsız Değişkenler

zaman damgası

Günbatımı zamanı alınacak günün zamandamgası.

dönüş_biçimi

dönüş_biçimi sabitleri
sabit | açıklama | örnek
SUNFUNCS_RET_STRING | Sonucu dizge olarak döndürür. | 16:46
SUNFUNCS_RET_DOUBLE | Sonucu gerçek sayı olarak döndürür. | 16.78243132
SUNFUNCS_RET_TIMESTAMP | Sonucu tamsayı (zaman damgası) olarak döndürür. | 1095034606

enlem

Kuzey yarımküre öntanımlıdır. Güney yarımküre için negatif değer girilir. Ayrıca bakınız: date.default_latitude

boylam

Doğu yarımküre öntanımlıdır. Batı yarımküre için negatif değer girilir. Ayrıca bakınız: date.default_longitude

başucu

başucu, güneşin merkezi ile dünya yüzeyine dik bir çizgi arasındaki açıdır. Öntanımlı değer: date.sunrise_zenith

Bazı başucu açıları
Açı | Açıklama
90°50' | Gündoğumu: Güneşin görünür hale geldiği nokta.
96° | Sivil alacakaranlık: Geleneksel olarak şafağın başlangıcını belirtmek için kullanılır.
102° | Deniz alacakaranlığı: Ufkun denizde görünmeye başladığı nokta.
108° | Astronomik alacakaranlık: Güneşin herhangi bir aydınlatmanın kaynağı olmaya başladığı nokta.

utc_farkı

Saat cinsinden belirtilir. dönüş_biçimi değeri SUNFUNCS_RET_TIMESTAMP ise utc_farkı yoksayılır.

Dönen Değerler

Başarılı olduğunda, dönüş_biçimi bağımsız değişkeniyle belirlenen biçimde şafak zamanı, başarısızlık durumunda false döner. Başarısızlığın olası nedeni, yılın bir bölümünde kutup dairesinin içinde güneşin hiç doğmamasıdır.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı önerilmemekte olup yerine date_sun_info() işlevi önerilmektedir.
8.0.0 | enlem, boylam, başucu ve utc_farkı artık null olabiliyor.

Örnekler

Örnek 1 - date_sunset() örneği

<?php

/* İstanbul, Türkiye için günbatımı zamanı hesabı
Enlem: 41.01 Kuzey
Boylam: 28.58 Doğu
Başucu ~= 90
saat farkı: +2 GMT
*/

echo date("D M d Y"). ', günbatımı: ' .date_sunset(time(), SUNFUNCS_RET_STRING, 41.01, 28.58, 90, 2);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Thu Dec 11 2008, günbatımı: 16:33

Örnek 2 - Güneşin doğmaması

<?php
$solstice = strtotime('2017-12-21');
var_dump(date_sunset($solstice, SUNFUNCS_RET_STRING, 69.245833, -53.537222));
?>

Yukarıdaki örneğin çıktısı:

bool(false)

Ayrıca Bakınız

  • date_sun_info() - Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür


DateTime::setTime işlevinin takma adıdır

  • « date_sunset
  • date_timestamp_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::setTime işlevinin takma adıdır

date_time_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_time_set — DateTime::setTime() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::setTime() işlevinin takma adıdır.


DateTime::getTimestamp işlevinin takma adıdır

  • « date_time_set
  • date_timestamp_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::getTimestamp işlevinin takma adıdır

date_timestamp_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_timestamp_get — DateTime::getTimestamp() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::getTimestamp() işlevinin takma adıdır.


DateTime::setTimestamp işlevinin takma adıdır

  • « date_timestamp_get
  • date_timezone_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::setTimestamp işlevinin takma adıdır

date_timestamp_set

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

date_timestamp_set — DateTime::setTimestamp() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::setTimestamp() işlevinin takma adıdır.


DateTime::getTimezone işlevinin takma adıdır

  • « date_timestamp_set
  • date_timezone_set »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::getTimezone işlevinin takma adıdır

date_timezone_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_timezone_get — DateTime::getTimezone() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::getTimezone() işlevinin takma adıdır.


DateTime::setTimezone işlevinin takma adıdır

  • « date_timezone_get
  • date »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTime::setTimezone işlevinin takma adıdır

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

date_timezone_set — DateTime::setTimezone() işlevinin takma adıdır

Açıklama

Bu işlev, DateTime::setTimezone() işlevinin takma adıdır.


Unix zaman damgasını biçimlendirir

  • « date_timezone_set
  • getdate »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Unix zaman damgasını biçimlendirir

date

(PHP 4, PHP 5, PHP 7, PHP 8)

date — Unix zaman damgasını biçimlendirir

Açıklama

date(string $biçim, ?int $zaman_damgası = null): string

Unix zaman_damgası bağımsız değişkeni ile belirtilen zamanı ya da bağımsız değişken kullanılmamışsa geçerli zamanı, belirtilen biçime göre biçimlendirerek döndürür. Başka bir deyişle, zaman_damgası bağımsız değişkenini belirtmek isteğe bağlıdır ve varsayılan değeri time() işlevinin değeridir.

Uyarı

Unix zaman damgaları yerel zaman dilimi hakkında herhangi bir bilgi içermez. Tarih ve saat bilgilerini işlerken zaman dilimini de hesaba katabilmek için DateTimeImmutable sınıfı ve bu sınıfın biçemleme yöntemi olan DateTimeInterface::format() kullanılabilir.

Bağımsız Değişkenler

biçim

DateTimeInterface::format() tarafından kabul edilen biçim.

Bilginize: date() int değer aldığından mikrosaniye olarak daima 000000 üretirken, DateTime mikrosaniyeler ile oluşturulmuşsa DateTime::format() mikrosaniyeleri destekler.

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

Biçimlendirilmiş tarih dizgesi döner.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - date() örnekleri

<?php
// varsayılan zaman dilimini ayarla.
date_default_timezone_set('UTC');

// Şöyle bir şey basar: Monday
echo date("l");

// Şöyle bir şey basar: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Şöyle bir şey basar: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));

/* biçim bağımsız değişkeni için sabit kullanımı*/
// Şöyle bir şey basar: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// Şöyle bir şey basar: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
?>

Biçim dizgesinin içinde tanınan bir karakterin önüne bir tersbölü imi koyarak yorumlanması engellenebilir. Eğer tersbölülü karakter zaten özel bir dizilimi ifade ediyorsa, bir tane daha tersbölü karakteri gerekir.

Örnek 2 - date() işlevinde önceleme karakterleri

<?php
// Şöyle bir şey basar: Wednesday the 15th
echo date('l \t\h\e jS');
?>

date() ve mktime() işlevleri birlikte, geçmiş ya da gelecek zamanın bulunmasında kullanılabilir.

Örnek 3 - date() ve mktime() örneği

<?php
$yarın = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$geçenay = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$gelecekyıl = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
?>

Bilginize:

Bu kullanım, yaz saati uygulamasından dolayı, bir zaman damgasına basitçe saniye, gün ve ay ekleme veya çıkartma işlemlerinden daha güvenilirdir.

Bazı date() işlevi biçimlendirme örnekleri. Diğer öncelenen karakterlerin, geçerli bir özel anlama sahip olabileceklerinden istenmeyen sonuçlara neden olacağı ve gelecekteki PHP sürümlerinde kullanılmak üzere tahsis edilebilecekleri dikkate alınmalıdır. Önceleme yaparken \n gibi özel karakterlerin oluşmasını önlemek için dizgeyi tek tırnaklar arasına almak gerekir.

Örnek 4 - date() Biçemlemesi

<?php
// Bugünün; March 10th, 2001, 5:16:18 pm olduğunu ve
// Mountain Standard Time (MST) Zaman Diliminde olduğumuzu varsayıyoruz

$bugün = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$bugün = date("m.d.y"); // 03.10.01
$bugün = date("j, n, Y"); // 10, 3, 2001
$bugün = date("Ymd"); // 20010310
$bugün = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$bugün = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$bugün = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$bugün = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$bugün = date("H:i:s"); // 17:16:18
$bugün = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (MySQL DATETIME biçimi)
?>

Tarihi farklı dillerde biçimlendirmek için, date() işlevi yerine IntlDateFormatter::format() yöntemi kullanılmalıdır.

Notlar

Bilginize:

Tarihin dizge gösteriminden zaman damgası üretirken, strtotime() işlevi kullanılabilir. Ayrıca, bazı veritabanları girilen zaman damgalarını kendi biçimine çeviren işlevlere sahiptir (MySQL'in » UNIX_TIMESTAMP işlevi gibi).

İpucu

İstek başlangıcının zaman damgası $_SERVER['REQUEST_TIME'] değişkenine atanır.

Ayrıca Bakınız

  • DateTimeImmutable::__construct() - Returns new DateTimeImmutable object
  • DateTimeInterface::format() - Returns date formatted according to given format
  • gmdate() - Bir tarih/saati GMT/UTC tarih/saati olarak biçemler
  • idate() - Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir
  • getdate() - Tarih/zaman bilgisi getirir
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür
  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • IntlDateFormatter::format() - Tarih/saat değerini bir dizge olarak biçemler
  • time() - Geçerli Unix zaman damgasını döndürür
  • Öntanımlı Tarih/Saat Sabitleri


Tarih/zaman bilgisi getirir

  • « date
  • gettimeofday »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Tarih/zaman bilgisi getirir

getdate

(PHP 4, PHP 5, PHP 7, PHP 8)

getdate — Tarih/zaman bilgisi getirir

Açıklama

getdate(?int $zaman_damgası = null): array

Bağımsız değişkenle çağrılmışsa zaman_damgası'na karşılık olan tarih bilgisini bir ilişkisel dizi olarak döndürür. Bağımsız değişkensiz çağrılmışsa dönen değer o anın yerel zamanına göre olur.

Bağımsız Değişkenler

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

zaman_damgası'na karşılık olan tarih bilgisini bir ilişkisel dizi olarak döndürür. İlişkisel dizide döndürülen öğeler aşağıdaki gibidir:

İlişkisel diziyle döndürülen anahtarlar
Anahtar | Açıklama | Örnek dönüş değerleri
"seconds" | Saniyelerin sayısal gösterimi | 0'dan 59'a kadar
"minutes" | Dakikaların sayısal gösterimi | 0'dan 59'a kadar
"hours" | Saatlerin sayılsal gösterimi | 0'dan 23'e kadar
"mday" | Ayın günlerinin sayısal gösterimi | 1'den 31'e kadar
"wday" | Haftanın günlerinin sayılsal gösterimi | (Pazar için) 0'dan (Cumartesi için) 6'ya kadar
"mon" | Ayın sayısal gösterimi | 1 'den 12'ye kadar
"year" | Yılın 4 haneli sayısal tam gösterimi | Örnek: 1999 ya da 2003 gibi
"yday" | Yılın gününün sayısal gösterimi | 0'dan 365'e kadar
"weekday" | Haftanın gününün metinsel tam gösterimi | Sunday'dan Saturday'ye
"month" | Ayın metinsel tam gösterimi, Ocak ya da Mart gibi | January'dan December'a kadar
0 | Saniyeler, Unix Zaman Başlangıcından itibaren, time() işlevi tarafından döndürülen ve date() işleviyle kullanılan değerlerle benzerdir. | Sisteme Bağımlı, genellikle -2147483648 ile 2147483647 arasında.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - getdate() örneği

<?php
$bugun = getdate();
print_r($bugun);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [seconds] => 40
    [minutes] => 58
    [hours]   => 21
    [mday]    => 17
    [wday]    => 2
    [mon]     => 6
    [year]    => 2003
    [yday]    => 167
    [weekday] => Salı
    [month]   => Haziran
    [0]       => 1055901520
)

Ayrıca Bakınız

  • date() - Unix zaman damgasını biçimlendirir
  • idate() - Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir
  • localtime() - Yerel zamanı getirir
  • time() - Geçerli Unix zaman damgasını döndürür
  • setlocale() - Yereli ayarlar


Geçerli zamanı getirir

  • « getdate
  • gmdate »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Geçerli zamanı getirir

gettimeofday

(PHP 4, PHP 5, PHP 7, PHP 8)

gettimeofday — Geçerli zamanı getirir

Açıklama

gettimeofday(bool $sayı_döndür = false): array|float

gettimeofday(2) işlevinin arayüzüdür. Sistem çağrısıdan döndürülmüş veriyi içeren bir ilişkisel dizi döndürür.

Bağımsız Değişkenler

sayı_döndür

true olarak ayarlanmışsa, bir dizi yerine bir gerçek sayı döndürür.

Dönen Değerler

Varsayılan durumda değer array türünden döner. Eğer sayı_döndür bağımsız değişkeni true ise float türünde bir değerle döner.

Dizi anahtarları:

  • "sec" - Unix Zaman Başlangıcından itibaren geçen saniye sayısı.
  • "usec" - mikrosaniye
  • "minuteswest" - Greenwich'in batı saniyeleri
  • "dsttime" - yaz saati düzeltmesi

Örnekler

Örnek 1 - gettimeofday() örneği

<?php
print_r(gettimeofday());

echo gettimeofday(true);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [sec] => 1073504408
    [usec] => 238215
    [minuteswest] => 0
    [dsttime] => 1
)

1073504408.23910


Bir tarih/saati GMT/UTC tarih/saati olarak biçemler

  • « gettimeofday
  • gmmktime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Bir tarih/saati GMT/UTC tarih/saati olarak biçemler

gmdate

(PHP 4, PHP 5, PHP 7, PHP 8)

gmdate — Bir tarih/saati GMT/UTC tarih/saati olarak biçemler

Açıklama

gmdate(string $biçem, ?int $zaman_damgası = null): string

Zamanı, Greenwich Saatiyle (GMT) döndürmesi dışında tıpkı date() işlevi gibi çalışır.

Bağımsız Değişkenler

biçim

Zaman çıktısının biçimi string türündendir. Biçimlendirme seçenekleri için date() işlevine bakılabilir.

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

Biçimlendirilmiş tarih dizgesi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - gmdate() örneği

Aşağıdaki betik Türkiye'de (GMT +0200) çalıştırılsaydı ilk çıktı "01 Oca 1998 00:00:00", ikinci çıktı "31 Ara 1997 22:00:00" olurdu.

<?php
echo date("d M Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
echo gmdate("d M Y H:i:s", mktime(0, 0, 0, 1, 1, 1998));
?>

Ayrıca Bakınız

  • DateTimeImmutable::__construct() - Returns new DateTimeImmutable object
  • DateTimeInterface::format() - Returns date formatted according to given format
  • date() - Unix zaman damgasını biçimlendirir
  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • gmmktime() - Bir GMT tarihi için Unix zaman damgasını döndürür
  • IntlDateFormatter::format() - Tarih/saat değerini bir dizge olarak biçemler


Bir GMT tarihi için Unix zaman damgasını döndürür

  • « gmdate
  • gmstrftime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Bir GMT tarihi için Unix zaman damgasını döndürür

gmmktime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmmktime — Bir GMT tarihi için Unix zaman damgasını döndürür

Açıklama

gmmktime(
int $saat,
?int $dakika = null,
?int $saniye = null,
?int $ay = null,
?int $gün = null,
?int $yıl = null
): int|false

Aktarılan bağımsız değişkenlerin bir GMT tarihini belirtmesi dışında tıpkı mktime() işlevi gibidir. gmmktime() işlevi kendi içinde mktime() işlevini kullanır ve sadece türetilen yerel zamanda geçerli zamanlar kullanılabilir.

mktime() işlevindeki gibi, seçimlik bağımsız değişkenler sağdan sola sıralıdır. Böylece belirtilmeyen bağımsız değişken için geçerli GMT zamanının kullanılabilmesi sağlanmıştır.

gmmktime() işlevinin bağımsız değişkenler olmaksızın kullanımı desteklenmemekte olup ArgumentCountError ile sonuçlanmaktadır. Geçerli zaman damgasını elde etmek için time() işlevi kullanılabilir.

Bağımsız Değişkenler

saat

ay, gün ve yıl tarafından saptanan günün başlangıcına göreli saat sayısı. Negatif değerler, belirtilen günün geceyarısından önceki saat sayısıdır. 23'ten büyük değerler ertesi güne sarkar.

dakika

saatin başlangıcına göreli dakika sayısı. Negatif dakikalar önceki saatle ilgilidir. 59'dan büyük değerler sonraki saate sarkar.

saniye

dakikanın başlangıcına göreli saniye sayısı. Negatif saniyeler önceki dakika ilgilidir. 59'dan büyük değerler sonraki dakikaya sarkar.

ay

Bir önceki yılın sonuna göre ay sayısı. 1 ila 12 arasındaki değerler, söz konusu yılın normal takvim aylarına atıfta bulunur. 1'den küçük değerler (negatif değerler dahil), önceki yıldaki ayları ters sırayla gösterir, yani 0 Aralık, -1 Kasım, vb. 12'den büyük değerler, sonraki yıl(lar)daki uygun ayı belirtir.

gün

Önceki ayın sonuna göre gün sayısı. 1 ile 28, 29, 30 veya 31 arasındaki değerler (aya bağlı olarak) ilgili ayın normal günlerini ifade eder. 1'den küçük değerler (negatif değerler dahil) önceki ayın günlerine atıfta bulunur, bu nedenle 0, önceki ayın son günüdür, -1 ondan önceki gündür vb. İlgili ay referansındaki gün sayısından daha büyük değerler sonraki ay(lar)daki uygun günlere karşılıktır.

yıl

Yıl

Dönen Değerler

Başarı durumunda int türünden Unix zaman damgası, zaman damgası int türüne sığmıyorsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | saat artık seçimlik değil. Unix zaman damgasına ihtiyaç olursa time() işlevi kullanılabilir.
8.0.0 | dakika, saniye, ay, gün ve yıl artık null olabiliyor.

Örnekler

Örnek 1 - gmmktime() temel örneği

<?php
// Çıktısı: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", gmmktime(0, 0, 0, 7, 1, 2000));
?>

Ayrıca Bakınız

  • DateTimeImmutable sınıfı
  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • date() - Unix zaman damgasını biçimlendirir
  • time() - Geçerli Unix zaman damgasını döndürür


Yerel ayarlara göre tarih ve saati, UTC türüne çevirir

  • « gmmktime
  • idate »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Yerel ayarlara göre tarih ve saati, UTC türüne çevirir

gmstrftime

(PHP 4, PHP 5, PHP 7, PHP 8)

gmstrftime — Yerel ayarlara göre tarih ve saati, UTC türüne çevirir

Uyarı

Bu işlevin kullanımı PHP 8.1.0'dan beri ÖNERİLMEMEKTEDİR. Bu işleve güvenilmesi kesinlikle önerilmez.

Bu işlevin yerine kulllanılabilecekler:

  • gmdate()
  • IntlDateFormatter::format()

Açıklama

gmstrftime(string $biçem, ?int $zaman_damgası = null): string|false

UTC zamanı döndürmesi dışında strftime() işlevi gibi davranır. Örneğin, Doğu Standart Zamanınında (UTC -0500) çalıştırıldığında, aşağıdaki örneğin ilk satırı "Ara 31 1998 20:00:00" basarken ikinci satırı "Oca 01 1999 01:00:00" basar.

Uyarı

Bu işlev, birbiriyle tutarsız olabilecek veya hiç mevcut olmayan işletim sistemi yerel ayar bilgilerine bağlıdır. Bilgilerin tutarsızlığı veya yokluğu durumunda bunun yerine IntlDateFormatter::format() yöntemi kullanılmalıdır.

Bağımsız Değişkenler

biçem

Açıklama için strftime() işlevine bakınız.

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

İstenilen biçime göre verilen zaman_damgası bağımsız değişkenini ya da zaman damgası bağımsız değişkeni kullanılmamışsa yerel zamanı; biçimlendirilmiş dizge olarak döndürür, başarısızlık durumunda false döner. Ay ve hafta günlerinin isimleri ve diğer dile bağımlı dizgelerle ilgili geçerli yereller setlocale() işlevi ile ayarlanabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - gmstrftime() örneği

<?php
setlocale(LC_TIME, 'en_US');
echo strftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
echo gmstrftime("%b %d %Y %H:%M:%S", mktime(20, 0, 0, 12, 31, 98)) . "\n";
?>

Ayrıca Bakınız

  • IntlDateFormatter::format() - Tarih/saat değerini bir dizge olarak biçemler
  • DateTimeInterface::format() - Returns date formatted according to given format
  • strftime() - Format a local time/date according to locale settings


Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir

  • « gmstrftime
  • localtime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir

idate

(PHP 5, PHP 7, PHP 8)

idate — Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir

Açıklama

idate(string $biçem, ?int $zaman_damgası = null): int|false

zaman_damgası ile belirtilen zaman için biçem dizgesine göre biçemlenmiş bir sayı döndürür. zaman_damgası belirtilmemişse time() işlevinin çıktısı öntanımlıdır.

date() işlevinden farklı olarak, idate() işlevi biçem dizgesi olarak tek bir karakter kabul eder.

Bağımsız Değişkenler

biçem

biçim bağımsız değişkeninde aşağıdaki karakterlerden biri belirtilebilir
biçem karakterleri | Açıklama
B | Swatch Ritim/İnternet Saati
d | Ayın günleri
h | Saat (12 saatlik gösterim)
H | Saat (24 saatlik gösterim)
i | Dakika
I (büyük ı) | Yaz Saati Uygulaması etkinleştirilmişse 1, diğer durumlarda 0 döndürür
L (büyük l) | artık yıl için 1, değilse 0 döndürür
m | Ayın sayısal dengi
N | ISO-8601 gün ismi (1. gün Pazartesi, 7. gün Pazar)
o | ISO-8601 yıl (4 rakam)
s | Saniye
t | Şimdiki ayın günleri
U | Unix Zaman Başlangıcından (1 Ocak 1970 00:00:00 UTC) beri geçen saniye sayısı; time() işlevinin çıktısına eşdeğerdir.
w | Haftanın günü (Pazar için 0)
W | ISO-8601 standardına göre yılın hafta numarası, haftaların başlangıcı Pazartesi'dir
y | Yıl (1 ya da 2 rakam - aşağıya bakınız)
Y | Yıl (4 rakam)
z | Yılın günü
Z | Sanile olarak zaman dilimi

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

Başarı durumunda int türünde bir değer, başarısızlık durumunda false döner.

idate() işlevi daima int türünde değer döndürse de bu değerler "0" ile başlayamaz. idate() işlevi beklediğinizden daha az karakter döndürebilir. Aşağıdaki örneğe bakınız.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | N (ISO-8601 gün ismi) ve o (ISO-8601 yıl) biçem karakterleri eklendi.
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - idate() örneği

<?php
$timestamp = strtotime('1st January 2004'); //1072915200

// Yılı iki haneli basması gerekirse de
// başında "0" olmadan sadece "4" basar
echo idate('y', $timestamp);
?>

Ayrıca Bakınız

  • DateTimeInterface::format() - Returns date formatted according to given format
  • date() - Unix zaman damgasını biçimlendirir
  • getdate() - Tarih/zaman bilgisi getirir
  • time() - Geçerli Unix zaman damgasını döndürür


Yerel zamanı getirir

  • « idate
  • microtime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Yerel zamanı getirir

localtime

(PHP 4, PHP 5, PHP 7, PHP 8)

localtime — Yerel zamanı getirir

Açıklama

localtime(?int $zaman_damgası = null, bool $ilişkisel = false): array

localtime() işlevi, standart C işlev çağrısı olan localtime tarafından döndürülen yapıya eşdeğer bir dizi döndürür.

Bağımsız Değişkenler

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

ilişkisel

İşlevin sıradan indisli bir dizi mi yoksa ilişkisel bir dizi mi döndüreceğini belirler.

Dönen Değerler

Eğer ilişkisel bağımsız değişkenine false atanmış ya da bağımsız değişken atlanmışsa, sayısal indisli bir dizi döner. Eğer bağımsız değişken true olarak ayarlanmışsa localtime() işlevi, standart C işlevi localtime tarafından döndürülen yapının elemanlarını içeren ilişkisel bir dizi döndürür. Bu ilişkisel dizinin anahtarları şunlardır:

  • "tm_sec" - saniye, 0 - 59
  • "tm_min" - dakika, 0 - 59
  • "tm_hour" - saat, 0 - 23
  • "tm_mday" - ayın günleri, 1 - 31
  • "tm_mon" - yılın ayları, Ocak için 0'dan başlar
  • "tm_year" - Yıllar,, 0 (Ocak) - 11 (Aralık)
  • "tm_wday" - Haftanın günleri, 0 (Paz) - 6 (Cts)
  • "tm_yday" - Yılın günleri, 0 - 365
  • "tm_isdst" - Yaz saati etkin mi? Evet ise pozitif, hayır ise 0, bilinmiyorsa negatiftir.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_damgası artık null olabiliyor.

Örnekler

Örnek 1 - localtime() örneği

<?php
$localtime = localtime();
$localtime_assoc = localtime(time(), true);
print_r($localtime);
print_r($localtime_assoc);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 24
    [1] => 3
    [2] => 19
    [3] => 3
    [4] => 3
    [5] => 105
    [6] => 0
    [7] => 92
    [8] => 1
)

Array
(
    [tm_sec] => 24
    [tm_min] => 3
    [tm_hour] => 19
    [tm_mday] => 3
    [tm_mon] => 3
    [tm_year] => 105
    [tm_wday] => 0
    [tm_yday] => 92
    [tm_isdst] => 1
)

Ayrıca Bakınız

  • getdate() - Tarih/zaman bilgisi getirir


Geçerli Unix zaman damgasını mikrosaniye olarak döndürür

  • « localtime
  • mktime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Geçerli Unix zaman damgasını mikrosaniye olarak döndürür

microtime

(PHP 4, PHP 5, PHP 7, PHP 8)

microtime — Geçerli Unix zaman damgasını mikrosaniye olarak döndürür

Açıklama

microtime(bool $sayı_olsun = false): string|float

microtime() işlevi geçerli Unix zaman damgasını mikrosaniye cinsinden döndürür. Bu işlev sadece gettimeofday() sistem çağrısını destekleyen işletim sistemlerinde geçerlidir.

Başarımı ölçmek için hrtime() önerilir.

Bağımsız Değişkenler

sayı_olsun

İsteğe bağlı kullanılan bu bağımsız değişkenle true aktarıldığında, saniyeler float türünde döndürülür.

Dönen Değerler

İşlev, isteğe bağlı olarak bağımsız değişkensiz çağırıldığında; "msan. san." dizgesini döndürür. 'san.' geçerli zamanın Unix Zamam Başlangıcından (1 Ocak 1970 0:00:00 GMT) itibaren hesaplanan saniyeyi ve 'msan.' ise ondalık kısım olarak mikrosaniye kısmını belirtir. Dizgenin iki kısmı da saniye cinsindendir.

sayı_olsun true ise, microtime() Unix Zamam Başlangıcından itibaren en yakın mikrosaniyeye kadar doğrulukta saniye cinsinden geçerli zamanı gösteren float türünde bir sayı döndürür.

Örnekler

Örnek 1 - Zamanlama betiği

<?php
$sure_baslangici = microtime(true);

// Biraz bekle
usleep(100);

$sure_bitimi = microtime(true);
$sure = $sure_bitimi - $sure_baslangici;

echo "Bekleme süresi: $sure saniye.\n";
?>

Örnek 2 microtime() and REQUEST_TIME_FLOAT

<?php
// Uyuma süresi için rasgele sayı üret
usleep(mt_rand(100, 10000));

// REQUEST_TIME_FLOAT $_SERVER süper küresel dizisinde bulunur.
// Mikrosaniyelik doğrulukta isteğin zaman damgasını içerir
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];

echo "$time saniyede hiçbir şey olmadı.\n";
?>

Ayrıca Bakınız

  • time() - Geçerli Unix zaman damgasını döndürür
  • hrtime() - Yüksek çözünürlüklü sistem zamanını döndürür


Bir tarih için Unix zaman damgasını döndürür

  • « microtime
  • strftime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Bir tarih için Unix zaman damgasını döndürür

mktime

(PHP 4, PHP 5, PHP 7, PHP 8)

mktime — Bir tarih için Unix zaman damgasını döndürür

Açıklama

mktime(
int $saat,
?int $dakika = null,
?int $saniye = null,
?int $ay = null,
?int $gün = null,
?int $yıl = null
): int|false

Verilen bağımsız değişken düzenine göre Unix zaman damgasını döndürür. Bu zaman damgası, Unix Zaman Başlangıcı (1 Ocak 1970 00:00:00 GMT) ile belirtilen zaman arasında geçen süreyi uzun tamsayı türünde saniye olarak belirtir.

Belirtilmeyen seçimlik bağımsız değişkenlerin yerine yerel tarih ve zamana göre geçerli değerin kullanılması sağlanmıştır.

Uyarı

Bağımsız değişkenlerin tuhaf bir sırada olduğu unutulmamalıdır. Sıralama ay, gün, yıl olup alışılmış gün, ay, yıl sıralamasında değildir.

mktime() işlevinin bağımsız değişkenler olmaksızın kullanımı desteklenmemekte olup ArgumentCountError ile sonuçlanmaktadır. Geçerli zaman damgasını elde etmek için time() işlevi kullanılabilir.

Notlar

mktime() işlevinin bağımsız değişkensiz çağrılmasının kullanımı önerilmemektedir. Geçerli zaman damgasını almak için time() kullanılabilir.

Bağımsız Değişkenler

saat

ay, gün ve yıl'a göre saptanan günün başlangıcına göreli saat sayısı. Negatif değerler günün geceyarısından önceki saatine karşılıktır. 23'ten büyük değerler ertesi günün uygun saatine karşılıktır.

dakika

saat'in başlangıcına göreli dakika sayısı. Negatif değerler önceki saatin dakikalarına, 59'dan büyük değerler ise sonraki saatin dakikalarına karşılıktır.

saniye

dakika'nın başlangıcına göreli saniye sayısı. Negatif değerler önceki dakikanın saniyelerine, 59'dan büyük değerler ise sonraki dakikanın saniyelerine karşılıktır.

ay

Önceki yıl sonuna göreli ay sayısı. 1-12 arasındaki değerler ilgili yılın normal takvim aylarına karşılıktır. 1'den küçük (negatifler dahil) değerler ters sırada önceki yılın aylarına karşılıktır, yani 0 Aralık, -1 Kasım, vb.

gün

Önceki ayın sonuna göreli gün sayısı. 1'den 28, 29, 30 veya 31'e kadar (aya bağlı olarak) değerler ilgili ayın normal günlerine karşılıktır. 1'dek küçükler (negatifler dahil) önceki ayın günlerine karşılıktır, yani 0 önceki ayın son günü, -1 daha önceki günü vb. İlgili ayın gün sayısından büyük değerler sonraki ayın günlerine karşılıktır.

yıl

Yıl sayısı, iki ya da dört hane olabilir. 0-69 değerleri arasında olanlar 2000-2069 ile ve 70-100 arasındaki değerler ise 1970-2000 yıllarıyla eşleşir. Sistemlerdeki time_t türü 32 bit işaretli tamsayı türüyle belirtilmiştir ve günümüzde çok kullanılmaktadır. yıl bağımsız değişkeni için geçerli aralık 1901 ve 2038 arasındadır.

Dönen Değerler

Başarı durumunda int türünden Unix zaman damgası, zaman damgası int türüne sığmıyorsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | saat artık seçimlik değil. Unix zaman damgasına ihtiyaç olursa time() işlevi kullanılabilir.
8.0.0 | dakika, saniye, ay, gün ve yıl artık boş olabiliyor.

Örnekler

Örnek 1 - Basit bir mktime() örneği

<?php
// Öntanımlı zaman dilimini belirtelim.
date_default_timezone_set('UTC');

echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Çıktısı: July 1, 2000 is on a Saturday

echo date('c', mktime(1, 2, 3, 4, 5, 2006));
// Şöyle bir şey basar: 2006-04-05T01:02:03+00:00
?>

Örnek 2 - mktime() örneği

mktime() işlevi tarih hesaplamaları ve geçerlilik denetimi için kullanışlıdır. Aralık dışına çıkan değerleri (ayın 32'si gibi) otomatik olarak doğru hesaplar. Örneğin, aşağıdaki satırların üreteceği dizge "Jan-01-1998" olacaktır.

<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Örnek 3 - Ayın son günü

Verilen herhangi bir ayın son günü, gelecek ayın -1'inci değil 0'ıncı günü olarak ifade edilebilir. Aşağıdaki iki örnek de "2000 Şubat'ının son günü: 29" dizgesi üretilecektir.

<?php
$songün = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("2000 Şubat'ının son günü: %d", $songün);
$songün = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("2000 Şubat'ının son günü: %d", $songün);
?>

Ayrıca Bakınız

  • DateTimeImmutable sınıfı
  • checkdate() - Miladi tarihi doğrular
  • gmmktime() - Bir GMT tarihi için Unix zaman damgasını döndürür
  • date() - Unix zaman damgasını biçimlendirir
  • time() - Geçerli Unix zaman damgasını döndürür


Format a local time/date according to locale settings

  • « mktime
  • strptime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Format a local time/date according to locale settings

strftime

(PHP 4, PHP 5, PHP 7, PHP 8)

strftime — Format a local time/date according to locale settings

Uyarı

Bu işlevin kullanımı PHP 8.1.0'dan beri ÖNERİLMEMEKTEDİR. Bu işleve güvenilmesi kesinlikle önerilmez.

Bu işlevin yerine kulllanılabilecekler:

  • date()
  • IntlDateFormatter::format()

Açıklama

strftime(string $format, ?int $timestamp = null): string|false

Format the time and/or date according to locale settings. Month and weekday names and other language-dependent strings respect the current locale set with setlocale().

Uyarı

Not all conversion specifiers may be supported by your C library, in which case they will not be supported by PHP's strftime(). Additionally, not all platforms support negative timestamps, so your date range may be limited to no earlier than the Unix epoch. This means that %e, %T, %R and, %D (and possibly others) - as well as dates prior to Jan 1, 1970 - will not work on Windows, some Linux distributions, and a few other operating systems. For Windows systems, a complete overview of supported conversion specifiers can be found at » MSDN. Instead use the IntlDateFormatter::format() method.

Bağımsız Değişkenler

format

The following characters are recognized in the format parameter string
format | Description | Example returned values
Day --- ---
%a | An abbreviated textual representation of the day | Sun through Sat
%A | A full textual representation of the day | Sunday through Saturday
%d | Two-digit day of the month (with leading zeros) | 01 to 31
%e | Day of the month, with a space preceding single digits. Not implemented as described on Windows. See below for more information. | 1 to 31
%j | Day of the year, 3 digits with leading zeros | 001 to 366
%u | ISO-8601 numeric representation of the day of the week | 1 (for Monday) through 7 (for Sunday)
%w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday)
Week --- ---
%U | Week number of the given year, starting with the first Sunday as the first week | 13 (for the 13th full week of the year)
%V | ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week | 01 through 53 (where 53 accounts for an overlapping week)
%W | A numeric representation of the week of the year, starting with the first Monday as the first week | 46 (for the 46th week of the year beginning with a Monday)
Month --- ---
%b | Abbreviated month name, based on the locale | Jan through Dec
%B | Full month name, based on the locale | January through December
%h | Abbreviated month name, based on the locale (an alias of %b) | Jan through Dec
%m | Two digit representation of the month | 01 (for January) through 12 (for December)
Year --- ---
%C | Two digit representation of the century (year divided by 100, truncated to an integer) | 19 for the 20th Century
%g | Two digit representation of the year going by ISO-8601:1988 standards (see %V) | Example: 09 for the week of January 6, 2009
%G | The full four-digit version of %g | Example: 2008 for the week of January 3, 2009
%y | Two digit representation of the year | Example: 09 for 2009, 79 for 1979
%Y | Four digit representation for the year | Example: 2038
Time --- ---
%H | Two digit representation of the hour in 24-hour format | 00 through 23
%k | Hour in 24-hour format, with a space preceding single digits | 0 through 23
%I | Two digit representation of the hour in 12-hour format | 01 through 12
%l (lower-case 'L') | Hour in 12-hour format, with a space preceding single digits | 1 through 12
%M | Two digit representation of the minute | 00 through 59
%p | UPPER-CASE 'AM' or 'PM' based on the given time | Example: AM for 00:31, PM for 22:23. The exact result depends on the Operating System, and they can also return lower-case variants, or variants with dots (such as a.m.).
%P | lower-case 'am' or 'pm' based on the given time | Example: am for 00:31, pm for 22:23. Not supported by all Operating Systems.
%r | Same as "%I:%M:%S %p" | Example: 09:34:17 PM for 21:34:17
%R | Same as "%H:%M" | Example: 00:35 for 12:35 AM, 16:44 for 4:44 PM
%S | Two digit representation of the second | 00 through 59
%T | Same as "%H:%M:%S" | Example: 21:34:17 for 09:34:17 PM
%X | Preferred time representation based on locale, without the date | Example: 03:59:16 or 15:59:16
%z | The time zone offset. Not implemented as described on Windows. See below for more information. | Example: -0500 for US Eastern Time
%Z | The time zone abbreviation. Not implemented as described on Windows. See below for more information. | Example: EST for Eastern Time
Time and Date Stamps --- ---
%c | Preferred date and time stamp based on locale | Example: Tue Feb 5 00:45:10 2009 for February 5, 2009 at 12:45:10 AM
%D | Same as "%m/%d/%y" | Example: 02/05/09 for February 5, 2009
%F | Same as "%Y-%m-%d" (commonly used in database datestamps) | Example: 2009-02-05 for February 5, 2009
%s | Unix Epoch Time timestamp (same as the time() function) | Example: 305815200 for September 10, 1979 08:40:00 AM
%x | Preferred date representation based on locale, without the time | Example: 02/05/09 for February 5, 2009
Miscellaneous --- ---
%n A newline character ("\n") ---
%t A Tab character ("\t") ---
%% A literal percentage character ("%") ---

Uyarı

Contrary to ISO-9899:1999, Sun Solaris starts with Sunday as 1. As a result, %u may not function as described in this manual.

Uyarı

Windows only:

The %e modifier is not supported in the Windows implementation of this function. To achieve this value, the %#d modifier can be used instead. The example below illustrates how to write a cross platform compatible function.

The %z and %Z modifiers both return the time zone name instead of the offset or abbreviation.

Uyarı

macOS and musl only: The %P modifier is not supported in the macOS implementation of this function.

zaman_damgası

Seçimlik zaman_damgası bağımsız değişkeni int türünde bir Unix zaman damgası olup belirtilmediği takdirde veya null ise yerel zaman kullanılır. Başka bir deyişle, time() işlevinden dönen değer öntanımlıdır.

Dönen Değerler

Returns a string formatted according format using the given timestamp or the current local time if no timestamp is given. Month and weekday names and other language-dependent strings respect the current locale set with setlocale(). The function returns false if format is empty, contains unsupported conversion specifiers, or if the length of the returned string would be greater than 4095.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

As the output is dependent upon the underlying C library, some conversion specifiers are not supported. On Windows, supplying unknown conversion specifiers will result in 5 E_WARNING messages and return false. On other operating systems you may not get any E_WARNING messages and the output may contain the conversion specifiers unconverted.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | timestamp is nullable now.

Örnekler

This example will work if you have the respective locales installed in your system.

Örnek 1 strftime() locale examples

<?php
setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");
?>

Örnek 2 ISO 8601:1988 week number example

<?php
/* December 2002 / January 2003
ISOWk M Tu W Thu F Sa Su
----- ----------------------------
51 16 17 18 19 20 21 22
52 23 24 25 26 27 28 29
1 30 31 1 2 3 4 5
2 6 7 8 9 10 11 12
3 13 14 15 16 17 18 19 */

// Outputs: 12/28/2002 - %V,%G,%Y = 52,2002,2002
echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";

// Outputs: 12/30/2002 - %V,%G,%Y = 1,2003,2002
echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";

// Outputs: 1/3/2003 - %V,%G,%Y = 1,2003,2003
echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";

// Outputs: 1/10/2003 - %V,%G,%Y = 2,2003,2003
echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";

/* December 2004 / January 2005
ISOWk M Tu W Thu F Sa Su
----- ----------------------------
51 13 14 15 16 17 18 19
52 20 21 22 23 24 25 26
53 27 28 29 30 31 1 2
1 3 4 5 6 7 8 9
2 10 11 12 13 14 15 16 */

// Outputs: 12/23/2004 - %V,%G,%Y = 52,2004,2004
echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";

// Outputs: 12/31/2004 - %V,%G,%Y = 53,2004,2004
echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";

// Outputs: 1/2/2005 - %V,%G,%Y = 53,2004,2005
echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";

// Outputs: 1/3/2005 - %V,%G,%Y = 1,2005,2005
echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";

?>

Örnek 3 Cross platform compatible example using the %e modifier

<?php

// Jan 1: results in: '%e%1%' (%%, e, %%, %e, %%)
$format = '%%e%%%e%%';

// Check for Windows to find and replace the %e
// modifier correctly
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
$format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
}

echo strftime($format);
?>

Örnek 4 Display all known and unknown formats.

<?php
// Describe the formats.
$strftimeFormats = array(
'A' => 'A full textual representation of the day',
'B' => 'Full month name, based on the locale',
'C' => 'Two digit representation of the century (year divided by 100, truncated to an integer)',
'D' => 'Same as "%m/%d/%y"',
'E' => '',
'F' => 'Same as "%Y-%m-%d"',
'G' => 'The full four-digit version of %g',
'H' => 'Two digit representation of the hour in 24-hour format',
'I' => 'Two digit representation of the hour in 12-hour format',
'J' => '',
'K' => '',
'L' => '',
'M' => 'Two digit representation of the minute',
'N' => '',
'O' => '',
'P' => 'lower-case "am" or "pm" based on the given time',
'Q' => '',
'R' => 'Same as "%H:%M"',
'S' => 'Two digit representation of the second',
'T' => 'Same as "%H:%M:%S"',
'U' => 'Week number of the given year, starting with the first Sunday as the first week',
'V' => 'ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week',
'W' => 'A numeric representation of the week of the year, starting with the first Monday as the first week',
'X' => 'Preferred time representation based on locale, without the date',
'Y' => 'Four digit representation for the year',
'Z' => 'The time zone offset/abbreviation option NOT given by %z (depends on operating system)',
'a' => 'An abbreviated textual representation of the day',
'b' => 'Abbreviated month name, based on the locale',
'c' => 'Preferred date and time stamp based on local',
'd' => 'Two-digit day of the month (with leading zeros)',
'e' => 'Day of the month, with a space preceding single digits',
'f' => '',
'g' => 'Two digit representation of the year going by ISO-8601:1988 standards (see %V)',
'h' => 'Abbreviated month name, based on the locale (an alias of %b)',
'i' => '',
'j' => 'Day of the year, 3 digits with leading zeros',
'k' => 'Hour in 24-hour format, with a space preceding single digits',
'l' => 'Hour in 12-hour format, with a space preceding single digits',
'm' => 'Two digit representation of the month',
'n' => 'A newline character ("\n")',
'o' => '',
'p' => 'UPPER-CASE "AM" or "PM" based on the given time',
'q' => '',
'r' => 'Same as "%I:%M:%S %p"',
's' => 'Unix Epoch Time timestamp',
't' => 'A Tab character ("\t")',
'u' => 'ISO-8601 numeric representation of the day of the week',
'v' => '',
'w' => 'Numeric representation of the day of the week',
'x' => 'Preferred date representation based on locale, without the time',
'y' => 'Two digit representation of the year',
'z' => 'Either the time zone offset from UTC or the abbreviation (depends on operating system)',
'%' => 'A literal percentage character ("%")',
);

// Results.
$strftimeValues = array();

// Evaluate the formats whilst suppressing any errors.
foreach($strftimeFormats as $format => $description){
if (False !== ($value = @strftime("%{$format}"))){
$strftimeValues[$format] = $value;
}
}

// Find the longest value.
$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));

// Report known formats.
foreach($strftimeValues as $format => $value){
echo "Known format : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
}

// Report unknown formats.
foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
echo "Unknown format : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Known format   : 'A' = 'Friday'            ( A full textual representation of the day )
Known format   : 'B' = 'December'          ( Full month name, based on the locale )
Known format   : 'H' = '11'                ( Two digit representation of the hour in 24-hour format )
Known format   : 'I' = '11'                ( Two digit representation of the hour in 12-hour format )
Known format   : 'M' = '24'                ( Two digit representation of the minute )
Known format   : 'S' = '44'                ( Two digit representation of the second )
Known format   : 'U' = '48'                ( Week number of the given year, starting with the first Sunday as the first week )
Known format   : 'W' = '48'                ( A numeric representation of the week of the year, starting with the first Monday as the first week )
Known format   : 'X' = '11:24:44'          ( Preferred time representation based on locale, without the date )
Known format   : 'Y' = '2010'              ( Four digit representation for the year )
Known format   : 'Z' = 'GMT Standard Time' ( The time zone offset/abbreviation option NOT given by %z (depends on operating system) )
Known format   : 'a' = 'Fri'               ( An abbreviated textual representation of the day )
Known format   : 'b' = 'Dec'               ( Abbreviated month name, based on the locale )
Known format   : 'c' = '12/03/10 11:24:44' ( Preferred date and time stamp based on local )
Known format   : 'd' = '03'                ( Two-digit day of the month (with leading zeros) )
Known format   : 'j' = '337'               ( Day of the year, 3 digits with leading zeros )
Known format   : 'm' = '12'                ( Two digit representation of the month )
Known format   : 'p' = 'AM'                ( UPPER-CASE "AM" or "PM" based on the given time )
Known format   : 'w' = '5'                 ( Numeric representation of the day of the week )
Known format   : 'x' = '12/03/10'          ( Preferred date representation based on locale, without the time )
Known format   : 'y' = '10'                ( Two digit representation of the year )
Known format   : 'z' = 'GMT Standard Time' ( Either the time zone offset from UTC or the abbreviation (depends on operating system) )
Known format   : '%' = '%'                 ( A literal percentage character ("%") )
Unknown format : 'C'                       ( Two digit representation of the century (year divided by 100, truncated to an integer) )
Unknown format : 'D'                       ( Same as "%m/%d/%y" )
Unknown format : 'E'
Unknown format : 'F'                       ( Same as "%Y-%m-%d" )
Unknown format : 'G'                       ( The full four-digit version of %g )
Unknown format : 'J'
Unknown format : 'K'
Unknown format : 'L'
Unknown format : 'N'
Unknown format : 'O'
Unknown format : 'P'                       ( lower-case "am" or "pm" based on the given time )
Unknown format : 'Q'
Unknown format : 'R'                       ( Same as "%H:%M" )
Unknown format : 'T'                       ( Same as "%H:%M:%S" )
Unknown format : 'V'                       ( ISO-8601:1988 week number of the given year, starting with the first week of the year with at least 4 weekdays, with Monday being the start of the week )
Unknown format : 'e'                       ( Day of the month, with a space preceding single digits )
Unknown format : 'f'
Unknown format : 'g'                       ( Two digit representation of the year going by ISO-8601:1988 standards (see %V) )
Unknown format : 'h'                       ( Abbreviated month name, based on the locale (an alias of %b) )
Unknown format : 'i'
Unknown format : 'k'                       ( Hour in 24-hour format, with a space preceding single digits )
Unknown format : 'l'                       ( Hour in 12-hour format, with a space preceding single digits )
Unknown format : 'n'                       ( A newline character ("\n") )
Unknown format : 'o'
Unknown format : 'q'
Unknown format : 'r'                       ( Same as "%I:%M:%S %p" )
Unknown format : 's'                       ( Unix Epoch Time timestamp )
Unknown format : 't'                       ( A Tab character ("\t") )
Unknown format : 'u'                       ( ISO-8601 numeric representation of the day of the week )
Unknown format : 'v'

Notlar

Bilginize: %G and %V, which are based on ISO 8601:1988 week numbers can give unexpected (albeit correct) results if the numbering system is not thoroughly understood. See %V examples in this manual page.

Ayrıca Bakınız

  • IntlDateFormatter::format() - Tarih/saat değerini bir dizge olarak biçemler
  • DateTimeInterface::format() - Returns date formatted according to given format
  • » Online strftime() format design tool
  • setlocale() - Yereli ayarlar
  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • strptime() - strftime işleviyle üretilen zaman ve tarihleri çözümler
  • gmstrftime() - Yerel ayarlara göre tarih ve saati, UTC türüne çevirir
  • » Open Group specification of strftime()


strftime işleviyle üretilen zaman ve tarihleri çözümler

  • « strftime
  • strtotime »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • strftime işleviyle üretilen zaman ve tarihleri çözümler

strptime

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

strptime — strftime() işleviyle üretilen zaman ve tarihleri çözümler

Uyarı

Bu işlevin kullanımı PHP 8.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

strptime(string $zaman_damgası, string $biçim): array|false

strptime() işlevi çözümlenmiş zaman_damgası bağımsız değişkenini bir diziyle döndürür. Hata durumlarındaysa false değeriyle döner.

Ay, gün isimleri ve yerel ayarlarıyla ilgili dile bağımlı diğer dizgeler (LC_TIME), setlocale() işleviyle ayarlanır.

Bağımsız Değişkenler

zaman_damgası (string)

Çözümlenecek dizge (ör. strftime() işlevinden dönen değer)

biçim (string)

zaman_damgası bağımsız değişkeninde kullanılan biçim (ör. strftime() işlevinde kullanılanla aynı). strftime() için mevcut olan bazı biçim seçeneklerinin strptime() içinde herhangi bir etkisi olmayabileceğini unutmayın; Desteklenen tam alt küme, işletim sistemine ve kullanılan C kütüphanesine bağlı olarak değişecektir.

Biçimlendirme seçenekleri hakkında daha fazla bilgi için strftime() sayfasını okuyun.

Dönen Değerler

Dizi döndürür. Hata durumlarında false değeriyle döner.

Diziyle dönen değerler
Bağımsız değişken | Açıklama
"tm_sec" | Saniye (0-61)
"tm_min" | Dakika (0-59)
"tm_hour" | Saat (0-23)
"tm_mday" | Gün (1-31)
"tm_mon" | Ay (0-11)
"tm_year" | 1900'den itibaren yıllar
"tm_wday" | Pazar'dan itibaren hafta günleri (0-6)
"tm_yday" | Ocak 1'den itibaren günler (0-365)
"unparsed" | tarih bağımsız değişkeninin bilinmeyen biçim bağımsız değişkeni kullanımından dönen değer

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine, yerelden bağımsız çözümleme için date_parse_from_format() veya yerele bağımlı çözümleme için IntlDateFormatter::parse() kullanılması öneriliyor.

Örnekler

Örnek 1 - strptime() örneği

<?php
$biçim = '%d/%m/%Y %H:%M:%S';
$strf = strftime($biçim);

echo "$strf\n";

print_r(strptime($strf, $biçim));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

03/10/2004 15:54:19

Array
(
    [tm_sec] => 19
    [tm_min] => 54
    [tm_hour] => 15
    [tm_mday] => 3
    [tm_mon] => 9
    [tm_year] => 104
    [tm_wday] => 0
    [tm_yday] => 276
    [unparsed] =>
)

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Bilginize:

Dahili olarak, bu işlev sistemin C kütüphanesi tarafından sağlanan strptime() işlevini çağırır. Bu işlev, farklı işletim sistemlerinde fark edilir ölçüde farklı davranışlar sergileyebilir. Bu sorunlardan etkilenmeyen date_parse_from_format() işlevinin kullanılması önerilir

Bilginize:

"tm_sec" "artık saniyeleri" de içerir (yılda 2 saniyeye kadar). Artık saniyeler hakkında bilgi edinmek için » Wikipedia artık saniyeler makalesine bakınız.

Ayrıca Bakınız

  • IntlDateFormatter::parse() - Dizgeyi bir zaman damgası değerine dönüştürür
  • DateTime::createFromFormat() - Parses a time string according to a specified format
  • checkdate() - Miladi tarihi doğrular
  • strftime() - Format a local time/date according to locale settings
  • date_parse_from_format() - Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir


Parse about any English textual datetime description into a Unix timestamp

  • « strptime
  • time »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Parse about any English textual datetime description into a Unix timestamp

strtotime

(PHP 4, PHP 5, PHP 7, PHP 8)

strtotime — Parse about any English textual datetime description into a Unix timestamp

Açıklama

strtotime(string $datetime, ?int $baseTimestamp = null): int|false

The function expects to be given a string containing an English date format and will try to parse that format into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 UTC), relative to the timestamp given in baseTimestamp, or the current time if baseTimestamp is not supplied. The date string parsing is defined in Date and Time Formats, and has several subtle considerations. Reviewing the full details there is strongly recommended.

Uyarı

The Unix timestamp that this function returns does not contain information about time zones. In order to do calculations with date/time information, you should use the more capable DateTimeImmutable.

Each parameter of this function uses the default time zone unless a time zone is specified in that parameter. Be careful not to use different time zones in each parameter unless that is intended. See date_default_timezone_get() on the various ways to define the default time zone.

Bağımsız Değişkenler

datetime

Bir tarih/zaman dizgesi. Geçerli biçemler Tarih ve Zaman Biçemleri bölümünde açıklanmıştır.

baseTimestamp

The timestamp which is used as a base for the calculation of relative dates.

Dönen Değerler

Returns a timestamp on success, false otherwise.

Hatalar/İstisnalar

Bir tarih/zaman işlevine yapılan her çağrı eğer zaman dilimi ayarı geçerli değilse bir E_WARNING üretir. Ayrıca bakınız: date_default_timezone_set()

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | baseTimestamp is nullable now.

Örnekler

Örnek 1 A strtotime() example

<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>

Örnek 2 Checking for failure

<?php
$str = 'Not Good';

if (($timestamp = strtotime($str)) === false) {
echo "The string ($str) is bogus";
} else {
echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>

Notlar

Bilginize:

"Relative" date in this case also means that if a particular component of the date/time stamp is not provided, it will be taken verbatim from the baseTimestamp. That is, strtotime('February'), if run on the 31st of May 2022, will be interpreted as 31 February 2022, which will overflow into a timestamp on 3 March. (In a leap year, it would be 2 March.) Using strtotime('1 February') or strtotime('first day of February') would avoid that problem.

Bilginize:

If the number of the year is specified in a two digit format, the values between 00-69 are mapped to 2000-2069 and 70-99 to 1970-1999. See the notes below for possible differences on 32bit systems (possible dates might end on 2038-01-19 03:14:07).

Bilginize:

The valid range of a timestamp is typically from Fri, 13 Dec 1901 20:45:54 UTC to Tue, 19 Jan 2038 03:14:07 UTC. (These are the dates that correspond to the minimum and maximum values for a 32-bit signed integer.)

For 64-bit versions of PHP, the valid range of a timestamp is effectively infinite, as 64 bits can represent approximately 293 billion years in either direction.

Bilginize:

Using this function for mathematical operations is not advisable. It is better to use DateTime::add() and DateTime::sub().

Ayrıca Bakınız

  • DateTimeImmutable
  • DateTimeImmutable::createFromFormat() - Parses a time string according to a specified format
  • Date and Time Formats
  • checkdate() - Miladi tarihi doğrular
  • strptime() - strftime işleviyle üretilen zaman ve tarihleri çözümler


Geçerli Unix zaman damgasını döndürür

  • « strtotime
  • timezone_abbreviations_list »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Geçerli Unix zaman damgasını döndürür

time

(PHP 4, PHP 5, PHP 7, PHP 8)

time — Geçerli Unix zaman damgasını döndürür

Açıklama

time(): int

Unix Zaman Başlangıcından (1 Ocak 1970 00:00:00 GMT) itibaren geçen zamanı saniye cinsinden döndürür.

Bilginize:

Unix zaman damgaları yerel zaman dilimi hakkında herhangi bir bilgi içermez. Tarih ve saat bilgilerini işlerken Unix zaman damgalarından kaynaklanan böyle tehlikelerden kaçınmak için DateTimeImmutable sınıfının kullanılması önerilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli zaman damgasını döndürür.

Örnekler

Örnek 1 - time() örneği

<?php
echo 'Şimdi: '. time();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Şimdi: 1660338149

Notlar

İpucu

İstek başlangıç zaman damgası $_SERVER['REQUEST_TIME'] değişkenine atanır.

Ayrıca Bakınız

  • DateTimeImmutable
  • date() - Unix zaman damgasını biçimlendirir
  • microtime() - Geçerli Unix zaman damgasını mikrosaniye olarak döndürür


DateTimeZone::listAbbreviations işlevinin takma adıdır

  • « time
  • timezone_identifiers_list »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::listAbbreviations işlevinin takma adıdır

timezone_abbreviations_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_abbreviations_list — DateTimeZone::listAbbreviations() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::listAbbreviations() işlevinin takma adıdır.


DateTimeZone::listIdentifiers işlevinin takma adıdır

  • « timezone_abbreviations_list
  • timezone_location_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::listIdentifiers işlevinin takma adıdır

timezone_identifiers_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_identifiers_list — DateTimeZone::listIdentifiers() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::listIdentifiers() işlevinin takma adıdır.


DateTimeZone::getLocation işlevinin takma adıdır

  • « timezone_identifiers_list
  • timezone_name_from_abbr »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::getLocation işlevinin takma adıdır

timezone_location_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

timezone_location_get — DateTimeZone::getLocation() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::getLocation() işlevinin takma adıdır.


Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür

  • « timezone_location_get
  • timezone_name_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür

timezone_name_from_abbr

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

timezone_name_from_abbr — Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür

Açıklama

timezone_name_from_abbr(string $kısaltma, int $utc_farkı = -1, int $gys_var = -1): string|false

Bağımsız Değişkenler

kısaltma

Zaman dilimi kısaltması.

utc_farkı

Yerel saatin UTC'ye göre saniye cinsinden farkı. Varsayılan değer, kısaltma bağımsız değişkeninin karşılığı olarak bulunan ilk zaman diliminin döndürüleceği anlamına gelen -1'dir. Yoksa, farka uyan zaman dilimi aranır ve bulunamadığı durumlarda fark ne olursa olsun bulunan ilk zaman dilimi döndürülür.

gys_var

Gün ışığından yararlanma saati göstergesi. Öntanımlı değer -1 olup arama sırasında zaman diliminin gün ışığından yararlanma özelliğinin olup olmadığının dikkate alınmadığı anlamına gelir. Bu 1 olarak ayarlanırsa, utc_farkı'nın etkin gün ışığından yararlanma farkını içerdiği varsayılır; 0 ise, utc_farkı gün ışığından yararlanma farkını içermiyor demektir. kısaltma yoksa, zaman dilimi yalnızca utc_farkı ve gys_var bağımsız değişkenlerine göre aranacaktır.

Dönen Değerler

Başarılı olduğunda zaman diliminin adını, başarısız olduğunda false döndürür.

Örnekler

Örnek 1 - timezone_name_from_abbr() örneği

<?php
echo timezone_name_from_abbr("EET") . "\n";
echo timezone_name_from_abbr("", 3600, 0) . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Europe/Helsinki
Europe/Paris

Ayrıca Bakınız

  • timezone_abbreviations_list() - DateTimeZone::listAbbreviations işlevinin takma adıdır


DateTimeZone::getName işlevinin takma adıdır

  • « timezone_name_from_abbr
  • timezone_offset_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::getName işlevinin takma adıdır

timezone_name_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_name_get — DateTimeZone::getName() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::getName() işlevinin takma adıdır.


DateTimeZone::getOffset işlevinin takma adıdır

  • « timezone_name_get
  • timezone_open »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::getOffset işlevinin takma adıdır

timezone_offset_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_offset_get — DateTimeZone::getOffset() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::getOffset() işlevinin takma adıdır.


DateTimeZone::__construct için takma ad

  • « timezone_offset_get
  • timezone_transitions_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::__construct için takma ad

timezone_open

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_open — DateTimeZone::__construct() için takma ad

Açıklama

Bu işlev DateTimeZone::__construct() için bir takma addır.


DateTimeZone::getTransitions işlevinin takma adıdır

  • « timezone_open
  • timezone_version_get »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • DateTimeZone::getTransitions işlevinin takma adıdır

timezone_transitions_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

timezone_transitions_get — DateTimeZone::getTransitions() işlevinin takma adıdır

Açıklama

Bu işlev, DateTimeZone::getTransitions() işlevinin takma adıdır.


timezonedb sürümünü döndürür

  • « timezone_transitions_get
  • Tarih/Saat Hataları ve İstisnaları »
  • PHP Manual
  • Tarih ve Zaman İşlevleri
  • timezonedb sürümünü döndürür

timezone_version_get

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

timezone_version_get — timezonedb sürümünü döndürür

Açıklama

timezone_version_get(): string

Geçerli timezonedb sürümünü döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

YYYY.sürüm biçemini örneğin 2022.2 dizgesi olarak döndürür.

Zaman dilimi veritabanının eski bir sürümü kullanılıyorsa (örneğin geçerli yılı göstermiyorsa), zaman dilimi bilgisi ya PHP güncellenerek ya da » timezonedb PECL paketi kurularak güncellenebilir.

Bazı Linux dağıtımları, saat dilimi bilgisi için ayrı bir kaynak kullanmak amacıyla PHP'nin tarih/saat desteğine yama uygular. Bu durumda bu işlev 0.system değerini döndürecektir. Bu durumda da » timezonedb PECL paketinin kurulması önerilir.

Örnekler

Örnek 1 - timezonedb sürümünün öğrenilmesi

<?php
echo timezone_version_get();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2022.2

Ayrıca Bakınız

  • Desteklenen Zaman Dilimlerinin Listesi


Tarih/Saat Hataları ve İstisnaları

  • DateError (extends Error)
    • DateObjectError DateRangeError
  • DateException (extends Exception)
      • DateInvalidOperationException
      • DateInvalidTimezoneException
      • DateMalformedIntervalStringException
      • DateMalformedPeriodStringException
      • DateMalformedStringException


Supported Date and Time Formats

This section describes all the different formats in a BNF-like format, that the DateTimeImmutable, DateTime, date_create_immutable(), date_create(), date_parse(), and strtotime() parser understands. The formats are grouped by section. In most cases formats from different sections, separated by whitespace, comma or dot, can be used in the same date/time string. For each of the supported formats, one or more examples are given, as well as a description for the format. Characters in single quotes in the formats are case-insensitive ('t' could be t or T), characters in double quotes are case-sensitive ("T" is only T).

To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.

A general set of rules should be taken into account.

  1. The parser, allows for each unit (year, month, day, hour, minute, second) the full range of values. For a year that's just 4 digits, for a month that's 0-12, day is 0-31, hour is 0-24, and minute is 0-59.
  2. 60 is allowed for seconds, as sometimes date strings with that leapsecond do show up. But PHP implements Unix time where "60" is not a valid second number and hence it overflows.
  3. strtotime() returns false if any number is outside of the ranges, and DateTimeImmutable::__construct() throws an exception.
  4. If a string contains a date, all time elements are reset to 0.
  5. All less-significant time elements are reset to 0 if any part of a time is present in the given string.
  6. The parser is dumb, and doesn't do any checks to make it faster (and more generic).
  7. Besides rules for individual time elements, the parser also understand more specific compound formats, such as parsing Unix timestamps (@1690388256) and ISO Weekdates (2008-W28-3).

  8. There is an additional check if an invalid date is provided:

    <?php
    $res     = date_parse("2015-09-31");
    var_dump($res["warnings"]);
    ?>

    Yukarıdaki örneğin çıktısı:

    array(1) {
  [11] =>
  string(27) "The parsed date was invalid"
}

  9. It is already possible to handle the edge cases, but then DateTimeImmutable::createFromFormat() must be used while supplying the correct format.

    <?php
    $res     = DateTimeImmutable::createFromFormat("Y-m-d", "2015-09-34");
    var_dump($res);

    Yukarıdaki örneğin çıktısı:

    object(DateTimeImmutable)#1 (3) {
  ["date"]=>
  string(26) "2015-10-04 17:24:43.000000"
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(13) "Europe/London"
}

Time Formats

This page describes the different date/time formats in a BNF-like syntax,
that the DateTimeImmutable,
DateTime, date_create(),
date_create_immutable(), and
strtotime() parser understands.

To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.

Used Symbols
Description | Formats | Examples
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "07", "19"
meridian | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
MM | [0-5][0-9] | "00", "12", "59"
II | [0-5][0-9] | "00", "12", "59"
space | [ \t] |
tz | "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox"
tzcorrection | "GMT"? [+-] hh ":"? MM? | "+0400", "GMT-07:00", "-07:00"
12 Hour Notation
Description | Format | Examples
Hour only, with meridian | hh space? meridian | "4 am", "5PM"
Hour and minutes, with meridian | hh [.:] MM space? meridian | "4:08 am", "7:19P.M."
Hour, minutes and seconds, with meridian | hh [.:] MM [.:] II space? meridian | "4:08:37 am", "7:19:19P.M."
MS SQL (Hour, minutes, seconds and fraction with meridian) | hh ":" MM ":" II [.:] [0-9]+ meridian | "4:08:39:12313am"
24 Hour Notation
Description | Format | Examples
Hour and minutes | 't'? HH [.:] MM | "04:08", "19.19", "T23:43"
Hour and minutes, no colon | 't'? HH MM | "0408", "t1919", "T2343"
Hour, minutes and seconds | 't'? HH [.:] MM [.:] II | "04.08.37", "t19:19:19"
Hour, minutes and seconds, no colon | 't'? HH MM II | "040837", "T191919"
Hour, minutes, seconds and timezone | 't'? HH [.:] MM [.:] II space? ( tzcorrection | tz ) | "040837CEST", "T191919-0700"
Hour, minutes, seconds and fraction | 't'? HH [.:] MM [.:] II frac | "04.08.37.81412", "19:19:19.532453"
Time zone information | tz | tzcorrection | "CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"

Date Formats

This page describes the different date formats in a BNF-like syntax, that
the DateTimeImmutable,
DateTime, date_create(),
date_create_immutable(), and
strtotime() parser understands.

To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.

Used Symbols
Description | Format | Examples
daysuf | "st" | "nd" | "rd" | "th" |
dd | ([0-2]?[0-9] | "3"[01]) daysuf? | "7th", "22nd", "31"
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31"
m | 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" |
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
mm | "0"? [0-9] | "1"[0-2] | "0", "04", "7", "12"
MM | "0" [0-9] | "1"[0-2] | "00", "04", "07", "12"
y | [0-9]{1,4} | "00", "78", "08", "8", "2008"
yy | [0-9]{2} | "00", "08", "78"
YY | [0-9]{4} | "2000", "2008", "1978"
YYY | [0-9]{5,19} | "81412", "20192"
Localized Notations
Description | Format | Examples
American month and day | mm "/" dd | "5/12", "10/27"
American month, day and year | mm "/" dd "/" y | "12/22/78", "1/17/2006", "1/17/6"
Four digit year, month and day with slashes | YY "/" mm "/" dd | "2008/6/30", "1978/12/22"
Four digit year and month (GNU) | YY "-" mm | "2008-6", "2008-06", "1978-12"
Year, month and day with dashes | y "-" mm "-" dd | "2008-6-30", "78-12-22", "8-6-21"
Day, month and four digit year, with dots, tabs or dashes | dd [.\t-] mm [.-] YY | "30-6-2008", "22.12.1978"
Day, month and two digit year, with dots or tabs | dd [.\t] mm "." yy | "30.6.08", "22\t12.78"
Day, textual month and year | dd ([ \t.-])* m ([ \t.-])* y | "30-June 2008", "22DEC78", "14 III 1879"
Textual month and four digit year (Day reset to 1) | m ([ \t.-])* YY | "June 2008", "DEC1978", "March 1879"
Four digit year and textual month (Day reset to 1) | YY ([ \t.-])* m | "2008 June", "1978-XII", "1879.MArCH"
Textual month, day and year | m ([ .\t-])* dd [,.stndrh\t ]+ y | "July 1st, 2008", "April 17, 1790", "May.9,78"
Textual month and day | m ([ .\t-])* dd [,.stndrh\t ]* | "July 1st,", "Apr 17", "May.9"
Day and textual month | dd ([ .\t-])* m | "1 July", "17 Apr", "9.May"
Month abbreviation, day and year | M "-" DD "-" y | "May-09-78", "Apr-17-1790"
Year, month abbreviation and day | y "-" M "-" DD | "78-Dec-22", "1814-MAY-17"
Year (and just the year) | YY | "1978", "2008"
Year (expanded, 5-19 digits with sign) | [+-] YYY | "-81120", "+20192"
Textual month (and just the month) | m | "March", "jun", "DEC"
ISO8601 Notations
Description | Format | Examples
Eight digit year, month and day | YY MM DD | "15810726", "19780417", "18140517"
Four digit year, month and day with slashes | YY "/" MM "/" DD | "2008/06/30", "1978/12/22"
Two digit year, month and day with dashes | yy "-" MM "-" DD | "08-06-30", "78-12-22"
Four digit year with optional sign, month and day | [+-]? YY "-" MM "-" DD | "-0002-07-26", "+1978-04-17", "1814-05-17"
Five+ digit year with required sign, month and day | [+-] YYY "-" MM "-" DD | "-81120-02-26", "+20192-04-17"

Bilginize:

For the y and yy formats, years below 100 are handled in a special way when the y or yy symbol is used. If the year falls in the range 0 (inclusive) to 69 (inclusive), 2000 is added. If the year falls in the range 70 (inclusive) to 99 (inclusive) then 1900 is added. This means that "00-01-01" is interpreted as "2000-01-01".

Bilginize:

The "Day, month and two digit year, with dots or tabs" format (dd [.\t] mm "." yy) only works for the year values 61 (inclusive) to 99 (inclusive) - outside those years the time format "HH [.:] MM [.:] SS" has precedence.

Bilginize:

The "Year (and just the year)" format only works if a time string has already been found -- otherwise this format is recognised as HH MM.

Dikkat

It is possible to over- and underflow the dd and DD format. Day 0 means the last day of previous month, whereas overflows count into the next month. This makes "2008-08-00" equivalent to "2008-07-31" and "2008-06-31" equivalent to "2008-07-01" (June only has 30 days).

Note that the day range is restricted to 0-31 as indicated by the regular expression above. Thus "2008-06-32" is not a valid date string, for instance.

It is also possible to underflow the mm and MM formats with the value 0. A month value of 0 means December of the previous year. As example "2008-00-22" is equivalent to "2007-12-22".

If you combine the previous two facts and underflow both the day and the month, the following happens: "2008-00-00" first gets converted to "2007-12-00" which then gets converted to "2007-11-30". This also happens with the string "0000-00-00", which gets transformed into "-0001-11-30" (the year -1 in the ISO 8601 calendar, which is 2 BC in the proleptic Gregorian calendar).

Compound Formats

This page describes the different compound date/time formats in a BNF-like
syntax, that the DateTimeImmutable,
DateTime, date_create(),
date_create_immutable(), and
strtotime() parser understands.

To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.

Used Symbols
Description | Formats | Examples
DD | "0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31"
doy | "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "001", "012", "180", "350", "366"
frac | . [0-9]+ | ".21342", ".85"
hh | "0"?[1-9] | "1"[0-2] | "04", "7", "12"
HH | [01][0-9] | "2"[0-4] | "04", "07", "19"
meridian | [AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am."
ii | [0-5]?[0-9] | "04", "8", "59"
II | [0-5][0-9] | "04", "08", "59"
M | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' |
MM | [0-1][0-9] | "00", "12"
space | [ \t] |
ss | ([0-5]?[0-9])|60 | "04", "8", "59", "60" (leap second)
SS | [0-5][0-9] | "04", "08", "59"
W | "0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53"
tzcorrection | "GMT"? [+-] hh ":"? II? | "+0400", "GMT-07:00", "-07:00"
YY | [0-9]{4} | "2000", "2008", "1978"
Standards Formats
Description | Examples
ATOM | "2022-06-02T16:58:35+00:00"
COOKIE | "Thursday, 02-Jun-2022 16:58:35 UTC"
ISO8601 | "2022-06-02T16:58:35+0000"
» RFC 822 | "Thu, 02 Jun 22 16:58:35 +0000"
» RFC 850 | "Thursday, 02-Jun-22 16:58:35 UTC"
» RFC 1036 | "Thu, 02 Jun 22 16:58:35 +0000"
» RFC 1123 | "Thu, 02 Jun 2022 16:58:35 +0000"
» RFC 2822 | "Thu, 02 Jun 2022 16:58:35 +0000"
» RFC 3339 | "2022-06-02T16:58:35+00:00"
» RFC 3339 Extended | "2022-06-02T16:58:35.698+00:00"
» RFC 7231 | "Thu, 02 Jun 2022 16:58:35 GMT"
RSS | "Thu, 02 Jun 2022 16:58:35 +0000"
W3C | "2022-06-02T16:58:35+00:00"
Localized Notations
Description | Format | Examples
Common Log Format | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection | "10/Oct/2000:13:55:36 -0700"
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS | "2008:08:07 18:11:31"
ISO year with ISO week | YY "-"? "W" W | "2008W27", "2008-W28"
ISO year with ISO week and day | YY "-"? "W" W "-"? [0-7] | "2008W273", "2008-W28-3"
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS | "2008-08-07 18:11:31"
PostgreSQL: Year with day-of-year | YY "."? doy | "2008.197", "2008197"
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection? | "2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"
Unix Timestamp | "@" "-"? [0-9]+ | "@1215282385"
Unix Timestamp with microseconds | "@" "-"? [0-9]+ "." [0-9]{0,6} | "@1607974647.503686"
XMLRPC | YY MM DD "T" hh ":" II ":" SS | "20080701T22:38:07", "20080701T9:38:07"
XMLRPC (Compact) | YY MM DD 't' hh II SS | "20080701t223807", "20080701T093807"
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss | "2008-7-1T9:3:37"

Bilginize:

The "W" in the "ISO year with ISO week" and "ISO year with ISO week and day" formats is case-sensitive, you can only use the upper case "W".

The "T" in the SOAP, XMLRPC and WDDX formats is case-sensitive, you can only use the upper case "T".

The "Unix Timestamp" format sets the timezone to UTC.

Relative Formats

This page describes the different relative date/time formats in a BNF-like
syntax, that the DateTimeImmutable,
DateTime, date_create(),
date_create_immutable(), and
strtotime() parser understands.

To format DateTimeImmutable and DateTime objects, please refer to the documentation of the DateTimeInterface::format() method.

Used Symbols
Description | Format
dayname | 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat'
daytext | 'weekday' | 'weekdays'
number | [+-]?[0-9]+
ordinal | 'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this'
reltext | 'next' | 'last' | 'previous' | 'this'
space | [ \t]+
unit | 'ms' | 'µs' | (( 'msec' | 'millisecond' | 'µsec' | 'microsecond' | 'usec' | 'sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' | 'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' | daytext
Day-based Notations
Format | Description | Examples
'yesterday' | Midnight of yesterday | "yesterday 14:00"
'midnight' | The time is set to 00:00:00 |
'today' | The time is set to 00:00:00 |
'now' | Now - this is simply ignored |
'noon' | The time is set to 12:00:00 | "yesterday noon"
'tomorrow' | Midnight of tomorrow |
'back of' hour | 15 minutes past the specified hour | "back of 7pm", "back of 15"
'front of' hour | 15 minutes before the specified hour | "front of 5am", "front of 23"
'first day of' | Sets the day of the first of the current month. This phrase is usually best used together with a month name following it as it only effects the current month | "first day of January 2008"
'last day of' | Sets the day to the last day of the current month. This phrase is usually best used together with a month name following it as it only effects the current month | "last day of next month"
ordinal space dayname space 'of' | Calculates the x-th week day of the current month. | "first sat of July 2008"
'last' space dayname space 'of' | Calculates the last week day of the current month. | "last sat of July 2008"
number space? (unit | 'week') | Handles relative time items where the value is a number. | "+5 weeks", "12 day", "-7 weekdays"
(ordinal | reltext) space unit | Handles relative time items where the value is text. last and previous are equivalent to -1, this to nothing, and next to +1. | "fifth day", "second month", "last day", "previous year"
'ago' | Negates all the values of previously found relative time items. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago"
dayname | Moves to the next day of this name. (See note) | "Monday"
reltext space 'week' | Handles the special format "weekday + last/this/next week". | "Monday next week"

Bilginize:

Relative statements are always processed after non-relative statements. This makes "+1 week july 2008" and "july 2008 +1 week" equivalent.

Exceptions to this rule are: "yesterday", "midnight", "today", "noon" and "tomorrow". Note that "tomorrow 11:00" and "11:00 tomorrow" are different. Considering today's date of "July 23rd, 2008" the first one produces "2008-07-24 11:00" where as the second one produces "2008-07-24 00:00". The reason for this is that those five statements directly influence the current time.

Keywords such as "first day of" depend on the context in which the relative format string is used. If used with a static method or function, the referent is the current system timestamp. However, if used in DateTime::modify() or DateTimeImmutable::modify(), the referent is the object on which the modify() method is called.

Bilginize:

Observe the following remarks when the current day-of-week is the same as the day-of-week used in the date/time string. The current day-of-week could have been (re-)calculated by non-relative parts of the date/time string however.

  1. "dayname" does not advance to another day. (Example: "Wed July 23rd, 2008" means "2008-07-23").
  2. "number dayname" does not advance to another day. (Example: "1 wednesday july 23rd, 2008" means "2008-07-23").
  3. "number week dayname" will first add the number of weeks, but does not advance to another day. In this case "number week" and "dayname" are two distinct blocks. (Example: "+1 week wednesday july 23rd, 2008" means "2008-07-30").
  4. "ordinal dayname" does advance to another day. (Example "first wednesday july 23rd, 2008" means "2008-07-30").
  5. "number week ordinal dayname" will first add the number of weeks, and then advances to another day. In this case "number week" and "ordinal dayname" are two distinct blocks. (Example: "+1 week first wednesday july 23rd, 2008" means "2008-08-06").
  6. "ordinal dayname 'of' " does not advance to another day. (Example: "first wednesday of july 23rd, 2008" means "2008-07-02" because the specific phrase with 'of' resets the day-of-month to '1' and the '23rd' is ignored here).

Also observe that the "of" in "ordinal space dayname space 'of' " and "'last' space dayname space 'of' " does something special.

  1. It sets the day-of-month to 1.
  2. "ordinal dayname 'of' " does not advance to another day. (Example: "first tuesday of july 2008" means "2008-07-01").
  3. "ordinal dayname " does advance to another day. (Example: "first tuesday july 2008" means "2008-07-08", see also point 4 in the list above).
  4. "'last' dayname 'of' " takes the last dayname of the current month. (Example: "last wed of july 2008" means "2008-07-30")
  5. "'last' dayname" takes the last dayname from the current day. (Example: "last wed july 2008" means "2008-06-25"; "july 2008" first sets the current date to "2008-07-01" and then "last wed" moves to the previous Wednesday which is "2008-06-25").

Bilginize:

Relative month values are calculated based on the length of months that they pass through. An example would be "+2 month 2011-11-30", which would produce "2012-01-30". This is due to November being 30 days in length, and December being 31 days in length, producing a total of 61 days.

Bilginize:

number is an integer number; if a decimal number is given, the dot (or comma) is likely interpreted as delimiter. For instance, '+1.5 hours' is parsed like '+1 5 hours', not as '+1 hour +30 minutes'.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | number no longer accepts multiple signs, e.g. +-2.
7.0.8 | Weeks always start on monday. Formerly, sunday would also be considered to start a week.


Desteklenen Zaman Dilimlerinin Listesi

İçindekiler

  • Afrika
  • Amerika
  • Antarktika
  • Kuzey Kutup Dairesi
  • Asya
  • Atlantik
  • Avustralya
  • Avrupa
  • Hint Denizi
  • Pasifik
  • Diğerleri

Burada, date_default_timezone_set() gibi işlevler tarafından kullanılmak üzere PHP tarafından desteklenen zaman dilimlerinin tamamı listelenmiştir.

Dikkat

Burada listelenmemiş zaman dilimlerinin davranışı tanımsızdır.

Bilginize: Zaman dilimi veritabanının en son sürümü PECL'nin » timezonedb paketinden kurulabilir.

Bilginize: Bu liste zaman dilimi veritabanının şu sürümüne dayanır: 2023.3.


Afrika

Afrika
Africa/Abidjan | Africa/Accra | Africa/Addis_Ababa | Africa/Algiers
Africa/Asmara | Africa/Bamako | Africa/Bangui | Africa/Banjul
Africa/Bissau | Africa/Blantyre | Africa/Brazzaville | Africa/Bujumbura
Africa/Cairo | Africa/Casablanca | Africa/Ceuta | Africa/Conakry
Africa/Dakar | Africa/Dar_es_Salaam | Africa/Djibouti | Africa/Douala
Africa/El_Aaiun | Africa/Freetown | Africa/Gaborone | Africa/Harare
Africa/Johannesburg | Africa/Juba | Africa/Kampala | Africa/Khartoum
Africa/Kigali | Africa/Kinshasa | Africa/Lagos | Africa/Libreville
Africa/Lome | Africa/Luanda | Africa/Lubumbashi | Africa/Lusaka
Africa/Malabo | Africa/Maputo | Africa/Maseru | Africa/Mbabane
Africa/Mogadishu | Africa/Monrovia | Africa/Nairobi | Africa/Ndjamena
Africa/Niamey | Africa/Nouakchott | Africa/Ouagadougou | Africa/Porto-Novo
Africa/Sao_Tome | Africa/Tripoli | Africa/Tunis | Africa/Windhoek


Amerika

Amerika
America/Adak | America/Anchorage | America/Anguilla | America/Antigua
America/Araguaina | America/Argentina/Buenos_Aires | America/Argentina/Catamarca | America/Argentina/Cordoba
America/Argentina/Jujuy | America/Argentina/La_Rioja | America/Argentina/Mendoza | America/Argentina/Rio_Gallegos
America/Argentina/Salta | America/Argentina/San_Juan | America/Argentina/San_Luis | America/Argentina/Tucuman
America/Argentina/Ushuaia | America/Aruba | America/Asuncion | America/Atikokan
America/Bahia | America/Bahia_Banderas | America/Barbados | America/Belem
America/Belize | America/Blanc-Sablon | America/Boa_Vista | America/Bogota
America/Boise | America/Cambridge_Bay | America/Campo_Grande | America/Cancun
America/Caracas | America/Cayenne | America/Cayman | America/Chicago
America/Chihuahua | America/Ciudad_Juarez | America/Costa_Rica | America/Creston
America/Cuiaba | America/Curacao | America/Danmarkshavn | America/Dawson
America/Dawson_Creek | America/Denver | America/Detroit | America/Dominica
America/Edmonton | America/Eirunepe | America/El_Salvador | America/Fort_Nelson
America/Fortaleza | America/Glace_Bay | America/Goose_Bay | America/Grand_Turk
America/Grenada | America/Guadeloupe | America/Guatemala | America/Guayaquil
America/Guyana | America/Halifax | America/Havana | America/Hermosillo
America/Indiana/Indianapolis | America/Indiana/Knox | America/Indiana/Marengo | America/Indiana/Petersburg
America/Indiana/Tell_City | America/Indiana/Vevay | America/Indiana/Vincennes | America/Indiana/Winamac
America/Inuvik | America/Iqaluit | America/Jamaica | America/Juneau
America/Kentucky/Louisville | America/Kentucky/Monticello | America/Kralendijk | America/La_Paz
America/Lima | America/Los_Angeles | America/Lower_Princes | America/Maceio
America/Managua | America/Manaus | America/Marigot | America/Martinique
America/Matamoros | America/Mazatlan | America/Menominee | America/Merida
America/Metlakatla | America/Mexico_City | America/Miquelon | America/Moncton
America/Monterrey | America/Montevideo | America/Montserrat | America/Nassau
America/New_York | America/Nome | America/Noronha | America/North_Dakota/Beulah
America/North_Dakota/Center | America/North_Dakota/New_Salem | America/Nuuk | America/Ojinaga
America/Panama | America/Paramaribo | America/Phoenix | America/Port-au-Prince
America/Port_of_Spain | America/Porto_Velho | America/Puerto_Rico | America/Punta_Arenas
America/Rankin_Inlet | America/Recife | America/Regina | America/Resolute
America/Rio_Branco | America/Santarem | America/Santiago | America/Santo_Domingo
America/Sao_Paulo | America/Scoresbysund | America/Sitka | America/St_Barthelemy
America/St_Johns | America/St_Kitts | America/St_Lucia | America/St_Thomas
America/St_Vincent | America/Swift_Current | America/Tegucigalpa | America/Thule
America/Tijuana | America/Toronto | America/Tortola | America/Vancouver
America/Whitehorse | America/Winnipeg | America/Yakutat |


Antarktika

Antarktika
Antarctica/Casey | Antarctica/Davis | Antarctica/DumontDUrville | Antarctica/Macquarie
Antarctica/Mawson | Antarctica/McMurdo | Antarctica/Palmer | Antarctica/Rothera
Antarctica/Syowa | Antarctica/Troll | Antarctica/Vostok |


  • « Antarktika
  • Asya »
  • PHP Manual
  • Desteklenen Zaman Dilimlerinin Listesi
  • Kuzey Kutup Dairesi

Kuzey Kutup Dairesi

Kuzey Kutup Dairesi
Arctic/Longyearbyen


Asya

Asya
Asia/Aden | Asia/Almaty | Asia/Amman | Asia/Anadyr
Asia/Aqtau | Asia/Aqtobe | Asia/Ashgabat | Asia/Atyrau
Asia/Baghdad | Asia/Bahrain | Asia/Baku | Asia/Bangkok
Asia/Barnaul | Asia/Beirut | Asia/Bishkek | Asia/Brunei
Asia/Chita | Asia/Choibalsan | Asia/Colombo | Asia/Damascus
Asia/Dhaka | Asia/Dili | Asia/Dubai | Asia/Dushanbe
Asia/Famagusta | Asia/Gaza | Asia/Hebron | Asia/Ho_Chi_Minh
Asia/Hong_Kong | Asia/Hovd | Asia/Irkutsk | Asia/Jakarta
Asia/Jayapura | Asia/Jerusalem | Asia/Kabul | Asia/Kamchatka
Asia/Karachi | Asia/Kathmandu | Asia/Khandyga | Asia/Kolkata
Asia/Krasnoyarsk | Asia/Kuala_Lumpur | Asia/Kuching | Asia/Kuwait
Asia/Macau | Asia/Magadan | Asia/Makassar | Asia/Manila
Asia/Muscat | Asia/Nicosia | Asia/Novokuznetsk | Asia/Novosibirsk
Asia/Omsk | Asia/Oral | Asia/Phnom_Penh | Asia/Pontianak
Asia/Pyongyang | Asia/Qatar | Asia/Qostanay | Asia/Qyzylorda
Asia/Riyadh | Asia/Sakhalin | Asia/Samarkand | Asia/Seoul
Asia/Shanghai | Asia/Singapore | Asia/Srednekolymsk | Asia/Taipei
Asia/Tashkent | Asia/Tbilisi | Asia/Tehran | Asia/Thimphu
Asia/Tokyo | Asia/Tomsk | Asia/Ulaanbaatar | Asia/Urumqi
Asia/Ust-Nera | Asia/Vientiane | Asia/Vladivostok | Asia/Yakutsk
Asia/Yangon | Asia/Yekaterinburg | Asia/Yerevan |


Atlantik

Atlantik
Atlantic/Azores | Atlantic/Bermuda | Atlantic/Canary | Atlantic/Cape_Verde
Atlantic/Faroe | Atlantic/Madeira | Atlantic/Reykjavik | Atlantic/South_Georgia
Atlantic/St_Helena | Atlantic/Stanley |  |


Avustralya

Avustralya
Australia/Adelaide | Australia/Brisbane | Australia/Broken_Hill | Australia/Darwin
Australia/Eucla | Australia/Hobart | Australia/Lindeman | Australia/Lord_Howe
Australia/Melbourne | Australia/Perth | Australia/Sydney |


Avrupa

Avrupa
Europe/Amsterdam | Europe/Andorra | Europe/Astrakhan | Europe/Athens
Europe/Belgrade | Europe/Berlin | Europe/Bratislava | Europe/Brussels
Europe/Bucharest | Europe/Budapest | Europe/Busingen | Europe/Chisinau
Europe/Copenhagen | Europe/Dublin | Europe/Gibraltar | Europe/Guernsey
Europe/Helsinki | Europe/Isle_of_Man | Europe/Istanbul | Europe/Jersey
Europe/Kaliningrad | Europe/Kirov | Europe/Kyiv | Europe/Lisbon
Europe/Ljubljana | Europe/London | Europe/Luxembourg | Europe/Madrid
Europe/Malta | Europe/Mariehamn | Europe/Minsk | Europe/Monaco
Europe/Moscow | Europe/Oslo | Europe/Paris | Europe/Podgorica
Europe/Prague | Europe/Riga | Europe/Rome | Europe/Samara
Europe/San_Marino | Europe/Sarajevo | Europe/Saratov | Europe/Simferopol
Europe/Skopje | Europe/Sofia | Europe/Stockholm | Europe/Tallinn
Europe/Tirane | Europe/Ulyanovsk | Europe/Vaduz | Europe/Vatican
Europe/Vienna | Europe/Vilnius | Europe/Volgograd | Europe/Warsaw
Europe/Zagreb | Europe/Zurich |  |


Hint Denizi

Hint Denizi
Indian/Antananarivo | Indian/Chagos | Indian/Christmas | Indian/Cocos
Indian/Comoro | Indian/Kerguelen | Indian/Mahe | Indian/Maldives
Indian/Mauritius | Indian/Mayotte | Indian/Reunion |


Pasifik

Pasifik
Pacific/Apia | Pacific/Auckland | Pacific/Bougainville | Pacific/Chatham
Pacific/Chuuk | Pacific/Easter | Pacific/Efate | Pacific/Fakaofo
Pacific/Fiji | Pacific/Funafuti | Pacific/Galapagos | Pacific/Gambier
Pacific/Guadalcanal | Pacific/Guam | Pacific/Honolulu | Pacific/Kanton
Pacific/Kiritimati | Pacific/Kosrae | Pacific/Kwajalein | Pacific/Majuro
Pacific/Marquesas | Pacific/Midway | Pacific/Nauru | Pacific/Niue
Pacific/Norfolk | Pacific/Noumea | Pacific/Pago_Pago | Pacific/Palau
Pacific/Pitcairn | Pacific/Pohnpei | Pacific/Port_Moresby | Pacific/Rarotonga
Pacific/Saipan | Pacific/Tahiti | Pacific/Tarawa | Pacific/Tongatapu
Pacific/Wake | Pacific/Wallis |  |


Diğerleri

Uyarı

Lütfen burada listelenen zaman dilimlerini (UTC dışında) kullanmayın. Sadece geriye uyumluluk için varlar ve hatalı davranış gösterebilirler. Ayrıca, bu saat dilimlerinin IANA zaman dilimi veritabanından kaldırılma olasılığı da mevcuttur.

Uyarı

Yukarıdaki uyarı dikkate alınmazsa, yerine şu dikkate alınabilir: PHP'nin zaman dilimi desteğini sağlayan IANA zaman dilim veritabanı, ortak kullanımdan ayrılmış olarak Etc/GMT+n ve Etc/GMT-n sonuçlarını üreten POSIX tarzı kalıplar kullanır.

Örneğin Çin ve Batı Avustralya'da (ve bunların arasındaki yerlerde) kullanılan GMT'den 8 saat ileri zaman dilimi için bu veritabanı beklendiği gibi Etc/GMT+8 değil Etc/GMT-8 sonucunu verir.

Bir kere daha belirtelim: Bölgeniz için mutlaka doğru zaman dilimini kullanmanızı öneririz. Yukarıdaki örnek için Asia/Shanghai veya Australia/Perth gibi.

Diğerleri
Africa/Asmera | Africa/Timbuktu | America/Argentina/ComodRivadavia | America/Atka
America/Buenos_Aires | America/Catamarca | America/Coral_Harbour | America/Cordoba
America/Ensenada | America/Fort_Wayne | America/Godthab | America/Indianapolis
America/Jujuy | America/Knox_IN | America/Louisville | America/Mendoza
America/Montreal | America/Nipigon | America/Pangnirtung | America/Porto_Acre
America/Rainy_River | America/Rosario | America/Santa_Isabel | America/Shiprock
America/Thunder_Bay | America/Virgin | America/Yellowknife | Antarctica/South_Pole
Asia/Ashkhabad | Asia/Calcutta | Asia/Chongqing | Asia/Chungking
Asia/Dacca | Asia/Harbin | Asia/Istanbul | Asia/Kashgar
Asia/Katmandu | Asia/Macao | Asia/Rangoon | Asia/Saigon
Asia/Tel_Aviv | Asia/Thimbu | Asia/Ujung_Pandang | Asia/Ulan_Bator
Atlantic/Faeroe | Atlantic/Jan_Mayen | Australia/ACT | Australia/Canberra
Australia/Currie | Australia/LHI | Australia/North | Australia/NSW
Australia/Queensland | Australia/South | Australia/Tasmania | Australia/Victoria
Australia/West | Australia/Yancowinna | Brazil/Acre | Brazil/DeNoronha
Brazil/East | Brazil/West | Canada/Atlantic | Canada/Central
Canada/Eastern | Canada/Mountain | Canada/Newfoundland | Canada/Pacific
Canada/Saskatchewan | Canada/Yukon | CET | Chile/Continental
Chile/EasterIsland | CST6CDT | Cuba | EET
Egypt | Eire | EST | EST5EDT
Etc/GMT | Etc/GMT+0 | Etc/GMT+1 | Etc/GMT+10
Etc/GMT+11 | Etc/GMT+12 | Etc/GMT+2 | Etc/GMT+3
Etc/GMT+4 | Etc/GMT+5 | Etc/GMT+6 | Etc/GMT+7
Etc/GMT+8 | Etc/GMT+9 | Etc/GMT-0 | Etc/GMT-1
Etc/GMT-10 | Etc/GMT-11 | Etc/GMT-12 | Etc/GMT-13
Etc/GMT-14 | Etc/GMT-2 | Etc/GMT-3 | Etc/GMT-4
Etc/GMT-5 | Etc/GMT-6 | Etc/GMT-7 | Etc/GMT-8
Etc/GMT-9 | Etc/GMT0 | Etc/Greenwich | Etc/UCT
Etc/Universal | Etc/UTC | Etc/Zulu | Europe/Belfast
Europe/Kiev | Europe/Nicosia | Europe/Tiraspol | Europe/Uzhgorod
Europe/Zaporozhye | Factory | GB | GB-Eire
GMT | GMT+0 | GMT-0 | GMT0
Greenwich | Hongkong | HST | Iceland
Iran | Israel | Jamaica | Japan
Kwajalein | Libya | MET | Mexico/BajaNorte
Mexico/BajaSur | Mexico/General | MST | MST7MDT
Navajo | NZ | NZ-CHAT | Pacific/Enderbury
Pacific/Johnston | Pacific/Ponape | Pacific/Samoa | Pacific/Truk
Pacific/Yap | Poland | Portugal | PRC
PST8PDT | ROC | ROK | Singapore
Turkey | UCT | Universal | US/Alaska
US/Aleutian | US/Arizona | US/Central | US/East-Indiana
US/Eastern | US/Hawaii | US/Indiana-Starke | US/Michigan
US/Mountain | US/Pacific | US/Samoa | UTC
W-SU | WET | Zulu |


The DateError class

(PHP 8 >= 8.3.0)

Giriş

Thrown when the timezone database is not found, or contains invalid data.

This error should never occur, and is not dependent on code. There are two child-exceptions (DateObjectError and DateRangeError) which are thrown depending on programmer error or range related issues.

Sınıf Sözdizimi

class DateError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

Ayrıca Bakınız

  • DateObjectError
  • DateRangeError


The DateObjectError class

(PHP 8 >= 8.3.0)

Giriş

Thrown when one of the Date/Time classes has not been correctly initialised.

Because Date/Time classes are not final, these classes can be inherit. When the parent constructor is not called, this error is thrown. This is always a programming error.

Sınıf Sözdizimi

class DateObjectError extends DateError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

Ayrıca Bakınız

  • DateError
  • DateRangeError


The DateRangeError class

(PHP 8 >= 8.3.0)

Giriş

Thrown by DateTime::getTimestamp(), DateTimeImmutable::getTimestamp(), and date_timestamp_get(), on 32-bit platforms if the date object represents a date outside of the 32-bit signed range.

Sınıf Sözdizimi

class DateRangeError extends DateError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

Ayrıca Bakınız

  • DateError
  • DateObjectError


The DateException class

(PHP 8 >= 8.3.0)

Giriş

Parent class of Date/Time exceptions, for issues that come to light due to user input, or free form text arguments that need to be parsed.

The following child exceptions are thrown by the extension:

  • DateInvalidOperationException
  • DateInvalidTimezoneException
  • DateMalformedIntervalStringException
  • DateMalformedPeriodStringException
  • DateMalformedStringException

Sınıf Sözdizimi

class DateException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DateInvalidOperationException class

(PHP 8 >= 8.3.0)

Giriş

Thrown by DateTimeImmutable::sub() and DateTime::sub() when an unsupported operation is attempted.

An example of such an unsupported operation is using a DateInterval object representing relative time specifications such as next weekday, as no logical reversed statement can be constructed.

Sınıf Sözdizimi

class DateInvalidOperationException extends DateException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DateInvalidTimeZoneException class

(PHP 8 >= 8.3.0)

Giriş

Thrown when an incorrect value is passed to DateTimeZone::__construct().

Sınıf Sözdizimi

class DateInvalidTimeZoneException extends DateException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DateMalformedIntervalStringException class

(PHP 8 >= 8.3.0)

Giriş

Thrown when an invalid duration argument is passed to DateInterval::__construct().

Sınıf Sözdizimi

class DateMalformedIntervalStringException extends DateException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DateMalformedPeriodStringException class

(PHP 8 >= 8.3.0)

Giriş

Thrown when an invalid isostr argument is passed to DatePeriod::__construct().

Sınıf Sözdizimi

class DateMalformedPeriodStringException extends DateException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DateMalformedStringException class

(PHP 8 >= 8.3.0)

Giriş

Thrown when an invalid Date/Time string is detected.

This can be as value to
DateTimeImmutable::__construct(),
DateTimeImmutable::modify(),
DateTime::__construct(), or
DateTime::modify().

Sınıf Sözdizimi

class DateMalformedStringException extends DateException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


High resolution timing

  • Giriş
  • Yapılandırma/Kurulum
    • Kurulum
  • Örnekler
    • Basic usage
  • HRTime\PerformanceCounter — The HRTime\PerformanceCounter class
    • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks — Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value
  • HRTime\StopWatch — The HRTime\StopWatch class
    • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals
    • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals
    • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval
    • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval
    • HRTime\StopWatch::isRunning — Whether the measurement is running
    • HRTime\StopWatch::start — Start time measurement
    • HRTime\StopWatch::stop — Stop time measurement
  • HRTime\Unit — The HRTime\Unit class


Giriş

The HRTime extension implements a high resolution StopWatch class. It uses the best possible APIs on different platforms which brings resolution up to nanoseconds. It also makes possible to implement a custom stopwatch using low level ticks delivered by the underlying APIs.

Bilginize: As of PHP 7.3.0 the related function hrtime() is part of the core.


  • « Giriş
  • Kurulum »
  • PHP Manual
  • HRTime
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Kurulum


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/hrtime.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/hrtime/.


  • « Kurulum
  • Basic usage »
  • PHP Manual
  • HRTime
  • Örnekler

Örnekler

İçindekiler

  • Basic usage


Basic usage

The example illustrates the basic StopWatch class usage

Örnek 1 Measure several code blocks execution and get the total

<?php

$c = new HRTime\StopWatch;

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed0 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

/* measurement is not running here*/
for ($i = 0; $i < 1024*1024; $i++);

$c->start();
/* measure this code block execution */
for ($i = 0; $i < 1024*1024; $i++);
$c->stop();
$elapsed1 = $c->getLastElapsedTime(HRTime\Unit::NANOSECOND);

$elapsed_total = $c->getElapsedTime(HRTime\Unit::NANOSECOND);

?>


The HRTime\PerformanceCounter class

(PECL hrtime >= 0.4.3)

Giriş

Sınıf Sözdizimi

class HRTime\PerformanceCounter {
/* Yöntemler */
public static getFrequency(): int
public static getTicks(): int
public static getTicksSince(int $start): int
}

İçindekiler

  • HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second
  • HRTime\PerformanceCounter::getTicks — Current ticks from the system
  • HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value


Timer frequency in ticks per second

  • « HRTime\PerformanceCounter
  • HRTime\PerformanceCounter::getTicks »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Timer frequency in ticks per second

HRTime\PerformanceCounter::getFrequency

(PECL hrtime >= 0.4.3)

HRTime\PerformanceCounter::getFrequency — Timer frequency in ticks per second

Açıklama

public static HRTime\PerformanceCounter::getFrequency(): int

Returns the timer frequency in ticks per second. This value is constant after the system start on almost any operating system.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int indicating the timer frequency.


Current ticks from the system

  • « HRTime\PerformanceCounter::getFrequency
  • HRTime\PerformanceCounter::getTicksSince »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Current ticks from the system

HRTime\PerformanceCounter::getTicks

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicks — Current ticks from the system

Açıklama

public static HRTime\PerformanceCounter::getTicks(): int

Returns the ticks count.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int indicating the ticks count.


Ticks elapsed since the given value

  • « HRTime\PerformanceCounter::getTicks
  • HRTime\StopWatch »
  • PHP Manual
  • HRTime\PerformanceCounter
  • Ticks elapsed since the given value

HRTime\PerformanceCounter::getTicksSince

(PECL hrtime >= 0.6.0)

HRTime\PerformanceCounter::getTicksSince — Ticks elapsed since the given value

Açıklama

public static HRTime\PerformanceCounter::getTicksSince(int $start): int

Returns the ticks count elapsed since the given start value.

Bağımsız Değişkenler

start

Starting ticks value.

Dönen Değerler

Returns int indicating the ticks count.


The HRTime\StopWatch class

(PECL hrtime >= 0.4.3)

Giriş

Sınıf Sözdizimi

class HRTime\StopWatch extends HRTime\PerformanceCounter {
/* Yöntemler */
public getElapsedTicks(): int
public getElapsedTime(int $unit = ?): float
public getLastElapsedTicks(): int
public getLastElapsedTime(int $unit = ?): float
public isRunning(): bool
public start(): void
public stop(): void
/* Miras alınan yöntemler */
public static HRTime\PerformanceCounter::getFrequency(): int
public static HRTime\PerformanceCounter::getTicks(): int
public static HRTime\PerformanceCounter::getTicksSince(int $start): int
}

İçindekiler

  • HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals
  • HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals
  • HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval
  • HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval
  • HRTime\StopWatch::isRunning — Whether the measurement is running
  • HRTime\StopWatch::start — Start time measurement
  • HRTime\StopWatch::stop — Stop time measurement


Get elapsed ticks for all intervals

  • « HRTime\StopWatch
  • HRTime\StopWatch::getElapsedTime »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed ticks for all intervals

HRTime\StopWatch::getElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTicks — Get elapsed ticks for all intervals

Açıklama

public HRTime\StopWatch::getElapsedTicks(): int

Get elapsed ticks for all the previously closed intervals.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int indicating elapsed ticks.


Get elapsed time for all intervals

  • « HRTime\StopWatch::getElapsedTicks
  • HRTime\StopWatch::getLastElapsedTicks »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed time for all intervals

HRTime\StopWatch::getElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getElapsedTime — Get elapsed time for all intervals

Açıklama

public HRTime\StopWatch::getElapsedTime(int $unit = ?): float

Get elapsed time for all the previously closed intervals.

Bağımsız Değişkenler

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Dönen Değerler

Returns float indicating elapsed time.


Get elapsed ticks for the last interval

  • « HRTime\StopWatch::getElapsedTime
  • HRTime\StopWatch::getLastElapsedTime »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed ticks for the last interval

HRTime\StopWatch::getLastElapsedTicks

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTicks — Get elapsed ticks for the last interval

Açıklama

public HRTime\StopWatch::getLastElapsedTicks(): int

Get elapsed ticks for the previously closed interval.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int indicating elapsed ticks.


Get elapsed time for the last interval

  • « HRTime\StopWatch::getLastElapsedTicks
  • HRTime\StopWatch::isRunning »
  • PHP Manual
  • HRTime\StopWatch
  • Get elapsed time for the last interval

HRTime\StopWatch::getLastElapsedTime

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::getLastElapsedTime — Get elapsed time for the last interval

Açıklama

public HRTime\StopWatch::getLastElapsedTime(int $unit = ?): float

Get elapsed time for the previously closed interval.

Bağımsız Değişkenler

unit

Time unit represented by a HRTime\Unit constant. Default is HRTime\Unit::SECOND.

Dönen Değerler

Returns float indicating elapsed time.


Whether the measurement is running

  • « HRTime\StopWatch::getLastElapsedTime
  • HRTime\StopWatch::start »
  • PHP Manual
  • HRTime\StopWatch
  • Whether the measurement is running

HRTime\StopWatch::isRunning

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::isRunning — Whether the measurement is running

Açıklama

public HRTime\StopWatch::isRunning(): bool

Reveals whether the measurement was started.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns bool indicating whether the measurement is running.


Start time measurement

  • « HRTime\StopWatch::isRunning
  • HRTime\StopWatch::stop »
  • PHP Manual
  • HRTime\StopWatch
  • Start time measurement

HRTime\StopWatch::start

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::start — Start time measurement

Açıklama

public HRTime\StopWatch::start(): void

Starts the time measurement. It has no effect if the measurement was already started. The measurement will be continued if it was previously stopped.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns void.


Stop time measurement

  • « HRTime\StopWatch::start
  • HRTime\Unit »
  • PHP Manual
  • HRTime\StopWatch
  • Stop time measurement

HRTime\StopWatch::stop

(PECL hrtime >= 0.4.3)

HRTime\StopWatch::stop — Stop time measurement

Açıklama

public HRTime\StopWatch::stop(): void

Stop the time measurement for the previously started interval.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns void.


The HRTime\Unit class

(PECL hrtime >= 0.4.3)

Giriş

Sınıf Sözdizimi

class HRTime\Unit {
/* Sabitler */
const int SECOND = 0;
const int MILLISECOND = 1;
const int MICROSECOND = 2;
const int NANOSECOND = 3;
/* Yöntemler */
}

Öntanımlı Sabitler

HRTime\Unit::SECOND

HRTime\Unit::MILLISECOND

HRTime\Unit::MICROSECOND

HRTime\Unit::NANOSECOND


Dosya Sistemiyle İlgili Eklentiler

  • Dio — Doğrudan G/Ç
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Doğrudan G/Ç İşlevleri
  • Dir — Dizinler
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Directory — Directory sınıfı
    • Dizin İşlevleri
  • Fileinfo — Dosya Bilgileri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Fileinfo İşlevleri
    • finfo — finfo sınıfı
  • Filesystem — Dosya Sistemi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Dosya Sistemi İşlevleri
  • Inotify
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Inotify İşlevleri
  • xattr
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • xattr İşlevleri
  • xdiff
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • xdiff İşlevleri


Doğrudan G/Ç

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Doğrudan G/Ç İşlevleri
    • dio_close — Belirtilen dosya tanıtıcısını kapatır
    • dio_fcntl — Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır
    • dio_open — Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür
    • dio_read — Bir dosya tanıtıcısından baytları okur
    • dio_seek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
    • dio_stat — Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür
    • dio_tcsetattr — Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar
    • dio_truncate — Dosya tanıtıcısındaki bayt sayısını sınırlar
    • dio_write — Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar


Giriş

PHP, C dilinin akım G/Ç işlevlerinden (fopen(), fread(),..) daha düşük seviyeli doğrudan G/Ç işlevlerini POSIX standardında açıklandığı gibi destekler. Doğrudan G/Ç işlevleri sadece bir aygıta doğrudan erişim gerekli olduğunda kullanılmalıdır. Diğer tüm durumlarda standart Dosya Sistemi işlevleri fazlasıyla yeterlidir.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/dio.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklenti tarafından tanımlanan tek özkaynak türü, dio_open() işlevinden dönen dosya tanıtıcıdır.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

F_DUPFD (int)

F_GETFD (int)

F_GETFL (int)

F_GETLK (int)

F_GETOWN (int)

F_RDLCK (int)

F_SETFL (int)

F_SETLK (int)

F_SETLKW (int)

F_SETOWN (int)

F_UNLCK (int)

F_WRLCK (int)

O_APPEND (int)

O_ASYNC (int)

O_CREAT (int)

O_EXCL (int)

O_NDELAY (int)

O_NOCTTY (int)

O_NONBLOCK (int)

O_RDONLY (int)

O_RDWR (int)

O_SYNC (int)

O_TRUNC (int)

O_WRONLY (int)

S_IRGRP (int)

S_IROTH (int)

S_IRUSR (int)

S_IRWXG (int)

S_IRWXO (int)

S_IRWXU (int)

S_IWGRP (int)

S_IWOTH (int)

S_IWUSR (int)

S_IXGRP (int)

S_IXOTH (int)

S_IXUSR (int)


Doğrudan G/Ç İşlevleri

İçindekiler

  • dio_close — Belirtilen dosya tanıtıcısını kapatır
  • dio_fcntl — Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır
  • dio_open — Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür
  • dio_read — Bir dosya tanıtıcısından baytları okur
  • dio_seek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
  • dio_stat — Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür
  • dio_tcsetattr — Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar
  • dio_truncate — Dosya tanıtıcısındaki bayt sayısını sınırlar
  • dio_write — Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar


Belirtilen dosya tanıtıcısını kapatır

  • « Doğrudan G/Ç İşlevleri
  • dio_fcntl »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Belirtilen dosya tanıtıcısını kapatır

dio_close

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_close — Belirtilen dosya tanıtıcısını kapatır

Açıklama

dio_close(resource $dt): void

dio_close() işlevi, dt ile belirtilen dosya tanıtıcısını kapatır.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Açık bir dosya tanıtıcısının kapatılması

<?php
$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_close($fd);
?>

Ayrıca Bakınız

  • dio_open() - Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür


Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır

  • « dio_close
  • dio_open »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır

dio_fcntl

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_fcntl — Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır

Açıklama

dio_fcntl(resource $dt, int $komut, mixed $bağımsız_değişkenler = ?): mixed

dio_fcntl() işlevi, dt dosya tanıtıcısı üzerinde komut ile belirtilen işlemi yapar. Bazı komutların gerektirdiği ek bağımsız değişkenler bağımsız_değişkenler bağımsız değişkeninde belirtilebilir.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

komut

Aşağıdaki işlemlerden biri belirtilebilir:

  • F_SETLK - Dosya kilidi tanımlar veya siler. Kilit başka bir süreç tarafından tutulmuşsa işlev -1 ile döner.

  • F_SETLKW - F_SETLK gibidir, farklı olarak, kilit başka bir süreç tarafından tutulmuşsa kilit serbest kalıncaya kadar bekler.

  • F_GETLK - Birileri kilidin tutulmasını engelliyorsa dio_fcntl() işlevi (aşağıda açıklandığı gibi) bir ilişkisel dizi ile döner. Hiçbir engelleme anahtarı yoksa "tür" olarak F_UNLCK atanır.

  • F_DUPFD - bağımsız_değişkenler değerine eşit veya büyük dosya tanıtıcılarından en küçük numaralısını bulur ve bunu döndürür.

  • F_SETFL - Dosya tanıtıcılarının seçeneklerini bağımsız_değişkenler ile belirtilen değere ayarlar; bunlar, O_APPEND, O_NONBLOCK veya O_ASYNC olabilir. O_ASYNC kullanmak için PCNTL eklentisini kullanmanız gerekir.

bağımsız_değişkenler

bağımsız_değişkenler bir ilişkisel dizi olup, komut olarak F_SETLK veya F_SETLLW belirtildiğinde aşağıdaki anahtarlar belirtilebilir:

  • start - kilidin başlangıç konumu

  • length - kilitli alanın boyu; sıfır, dosyanın sonuna kadar demektir.

  • whence - l_start'ın göreli olduğu yer: SEEK_SET, SEEK_END ve SEEK_CUR olabilir.

  • type - kilit türü: F_RDLCK (okuma kilidi), F_WRLCK (yazma kilidi) veya F_UNLCK (kilidi aç) olabilir.

Dönen Değerler

C çağrısının sonucu ile döner.

Örnekler

Örnek 1 - Bir kilidin atanması ve silinmesi

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

if (dio_fcntl($fd, F_SETLK, Array("type"=>F_WRLCK)) == -1) {
// dosya tanıtıcısı kilitli görünüyor
echo "Kilit kaldırılamadı. Başka bir süreç tarafından tutuluyor.";
} else {
echo "Kilit başarıyla atandı/silindi";
}

dio_close($fd);
?>

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.


Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür

  • « dio_fcntl
  • dio_read »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür

dio_open

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_open — Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür

Açıklama

dio_open(string $dosyaismi, int $seçenekler, int $kip = 0): resource

dio_open() işlevi, C kütüphanesinin girdi/çıktı akımlarıyla ilgili işlevlerinde kullanılmak üzere belirtilen dosyayı düşük seviyede açar (gerekirse oluşturur) ve bu dosya için bir dosya tanıtıcısı döndürür.

Bağımsız Değişkenler

dosyaismi

Açılacak dosyanın yolu.

seçenekler

Aşağıdaki seçeneklerin bir birleşimi (bit seviyesinde VEYAlanmışı) olarak belirtilebilir. Bu değer, aşağıdaki diğer seçeneklere ek olarak O_RDONLY, O_WRONLYveya O_RDWR sabitlerinden birini mutlaka içermelidir.

  • O_RDONLY - Dosyayı okuma erişimli açar.

  • O_WRONLY - Dosyayı yazma erişimli açar.

  • O_RDWR -Dosyayı hem okuma hem de yazma erişimli açar.

  • O_CREAT - mevcut değilse dosyayı oluşturur.

  • O_EXCL - dosya mevcutsa ve O_CREAT ile O_EXCL birlikte belirtilmişse dosya mevcut demektir, bu durumda işlev başarısız olur.

  • O_TRUNC - dosya mevcutsa ve dosya yazmak için açılmışsa dosya içeriği sıfırlanır (dosya boyutu sıfır bayt olur).

  • O_APPEND - veri daima dosyanın sonuna yazılır.

  • O_NONBLOCK - engellenmeyen kip geçerli olur.

  • O_NOCTTY - Bir TTY aygıt dosyası açılırken işletim sisteminin açılmış dosyayı sürecin denetim uçbirimi olarak atamasını önler.

kip

seçenekler bağımsız değişkenine O_CREAT atanmışsa dosya kipi (oluşturma izinleri) kip bağımsız değişkeninde belirtildiği gibi ayarlanır. seçenekler bağımsız değişkenine O_CREAT belirtilmişse kip doğru işlem için gereklidir, yoksa yok sayılır.

Oluşturulacak dosyaya atanacak asıl izinler, normal olarak sürecin umask değerinden etkilenir.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde dosya tanıtıcısı döner.

Örnekler

Örnek 1 - Bir dosya tanıtıcısının açılması

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_close($fd);
?>

Ayrıca Bakınız

  • dio_close() - Belirtilen dosya tanıtıcısını kapatır


Bir dosya tanıtıcısından baytları okur

  • « dio_open
  • dio_seek »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Bir dosya tanıtıcısından baytları okur

dio_read

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_read — Bir dosya tanıtıcısından baytları okur

Açıklama

dio_read(resource $dt, int $uzunluk = 1024): string

dio_read() işlevi, dt dosya tanıtıcısını okur ve uzunluk baytını döndürür.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

uzunluk

Okunacak baytların sayısı. Belirtilmezse, dio_read() işlevi veriyi 1K'lık bloklar halinde okur.

Dönen Değerler

dt'den okunan baytlarla döner.

Ayrıca Bakınız

  • dio_write() - Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar


Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

  • « dio_read
  • dio_stat »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

dio_seek

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_seek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

Açıklama

dio_seek(resource $dt, int $nereye, int $nereden = SEEK_SET): int

dio_seek() işlevi, belirtilen dosya tanıtıcısında dosya konumunu değiştirmek için kullanılır.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

nereye

Yeni konum.

nereden

Mevcut konumun nasıl yorumlanacağı belirtilir:

  • SEEK_SET (öntanımlı) - nereye konumunun dosya başlangıcına göre belirtildiği varsayılır.

  • SEEK_CUR - nereye konumunun mevcut dosya konumuna göre bayt sayısı olarak belirtildiği varsayılır. Bu miktar pozitif veya negatif olabilir.

  • SEEK_END - nereye konumunun dosya sonuna göre belirtildiği varsayılır. Pozitif bir değer dosya sonundan önceki bayt sayısı olarak, negatif bir değer ise dosya sonundan sonraki bayt sayısı olarak yorumlanır. Dosya sonundan sonraki konumlara ulaşmak için bu bölgenin sıfır baytları ile doldurulması gerekir. Asıl veri ancak bundan sonra yazılır.

Dönen Değerler

Örnekler

Örnek 1 - Bir dosyada belli bir konuma gitmek

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR);

dio_seek($fd, 10, SEEK_SET);
// Dosyanın başından itibaren 10. karakterdeyiz

dio_seek($fd, -2, SEEK_CUR);
// Şimdi dosyanın başından itibaren 8. karakterdeyiz

dio_seek($fd, -5, SEEK_END);
// Dosyanın sonundan itibaren başa doğru 5. karakterdeyiz

dio_seek($fd, 10, SEEK_END);
// Dosyanın sonundan itibaren 10. karakterdeyiz. Yeni dosya sonuna
// ulaşmak için eski dosya sonundan itibaren 10 tane sıfır baytı yazılır.

dio_close($fd);
?>


Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür

  • « dio_seek
  • dio_tcsetattr »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür

dio_stat

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_stat — Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür

Açıklama

dio_stat(resource $dt): array

dio_stat() işlevi, belirtilen dosya tanıtıcısı hakkında bilgi döndürür.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

Dönen Değerler

Aşağıdaki anahtarları içeren bir dizi ile döner:

  • "device" - aygıt

  • "inode" - dosya düğümü

  • "mode" - kip

  • "nlink" - sabit bağların sayısı

  • "uid" - kullanıcı kimliği

  • "gid" - grup kimliği

  • "device_type" - aygıt türü (bir dosya düğümü aygıtıysa)

  • "size" - bayt cinsinden toplam boyut

  • "blocksize" - blok boyu

  • "blocks" - ayrılmış blok sayısı

  • "atime" - son erişim zamanı

  • "mtime" - son değişiklik zamanı

  • "ctime" - son değişim zamanı

Hata oluşursa dio_stat() işlevi null döndürür.


Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar

  • « dio_stat
  • dio_truncate »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar

dio_tcsetattr

(PHP 4 >= 4.3.0, PHP 5 < 5.1.0)

dio_tcsetattr — Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar

Açıklama

dio_tcsetattr(resource $dt, array $seçenekler): bool

dio_tcsetattr() işleve açık bir fd'nin veri hızını ve uçbirim özniteliklerini ayarlar.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

seçenekler

Olası seçenekler:

  • 'baud' - saniyede bit bayısı olarak veri hızı - 38400,19200,9600,4800,2400,1800,1200,600,300,200,150,134,110,75 veya 50 olabilir; 9600 öntanımlıdır.

  • 'bits' - veri bitleri - 8,7,6 veya 5 olabilir; 8 öntanımlıdır.

  • 'stop' - durdurma bitleri - 1 veya 2 olabilir; 1 öntanımlıdır.

  • 'parity' - eşik bitleri- 0,1 veya 2 olabilir; 0 öntanımlıdır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Bir seri portun hızının ayarlanması

<?php

$fd = dio_open('/dev/ttyS0', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
'baud' => 9600,
'bits' => 8,
'stop' => 1,
'parity' => 0
));

while (1) {

$data = dio_read($fd, 256);

if ($data) {
echo $data;
}
}

?>

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.


Dosya tanıtıcısındaki bayt sayısını sınırlar

  • « dio_tcsetattr
  • dio_write »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Dosya tanıtıcısındaki bayt sayısını sınırlar

dio_truncate

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_truncate — Dosya tanıtıcısındaki bayt sayısını sınırlar

Açıklama

dio_truncate(resource $dt, int $uzunluk): bool

dio_truncate() işlevi, bir dosyanın içeriğini uzunluk baytla sınırlar.

Dosya belirtilen uzunluktan uzunsa fazlalık kaybedilir. Kısaysa ya dosya boyu değişmeden kalır ya da boş kısımlar sıfır baytları olarak okunur.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

uzunluk

Bayt cinsinden kırpma uzunluğu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.


Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar

  • « dio_truncate
  • Dir »
  • PHP Manual
  • Doğrudan G/Ç İşlevleri
  • Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar

dio_write

(PHP 4 >= 4.2.0, PHP 5 < 5.1.0)

dio_write — Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar

Açıklama

dio_write(resource $dt, string $veri, int $uzunluk = 0): int

dio_write() işlevi veri'nin uzunluk bayta kadarlık bölümünü dt dosya tanıtıcısına yazar.

Bağımsız Değişkenler

dt

dio_open() işlevinden dönmüş bir dosya tanıtıcısı.

veri

Yazılacak veri.

uzunluk

Bayt cinsinden, yazılacak verinin uzunluğu. Belirtilmezse, verinin tamamı dosya tanıtıcısına yazılır.

Dönen Değerler

dt dosya tanıtıcısına yazılan baytların sayısı.

Ayrıca Bakınız

  • dio_read() - Bir dosya tanıtıcısından baytları okur


Dizinler

  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Directory — Directory sınıfı
    • Directory::close — Dizin tanıtıcısını kapatır
    • Directory::read — Dizin tanıtıcısından girdi okur
    • Directory::rewind — Dizin tanıtıcısını başa sarar
  • Dizin İşlevleri
    • chdir — Dizin değiştirir
    • chroot — Kök dizini değiştirir
    • closedir — Dizin tanıtıcısını kapatır
    • dir — Directory sınıfının örneğini döndürür
    • getcwd — Geçerli çalışma dizinini döndürür
    • opendir — Belirtilen dizin için bir tanıtıcı döndürür
    • readdir — Dizinden bir girdinin ismini okur
    • rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar
    • scandir — Belirtilen dizindeki alt dizinleri ve dosyaları listeler


Öntanımlı Sabitler

DIRECTORY_SEPARATOR (string)
PATH_SEPARATOR (string)
Windows'ta noktalı virgül, diğerlerinde iki nokta karakteridir.
SCANDIR_SORT_ASCENDING (int)
SCANDIR_SORT_DESCENDING (int)
SCANDIR_SORT_NONE (int)


Directory sınıfı

(PHP 4, PHP 5, PHP 7, PHP 8)

Giriş

Directory sınıfı örnekleri new işleci ile değil dir() işlevi çağrılarak oluşturulur.

Sınıf Sözdizimi

class Directory {
/* Özellikler */
public readonly string $yol;
public readonly resource $tutmaç;
/* Yöntemler */
public close(): void
public read(): string|false
public rewind(): void
}

Özellikler

yol

Açılan dizin.

tutmaç

readdir(), rewinddir() ve closedir() gibi diğer dizin işlevleri ie kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | path ve handle özellikleri artık salt-okunur.

İçindekiler

  • Directory::close — Dizin tanıtıcısını kapatır
  • Directory::read — Dizin tanıtıcısından girdi okur
  • Directory::rewind — Dizin tanıtıcısını başa sarar


Dizin tanıtıcısını kapatır

  • « Directory
  • Directory::read »
  • PHP Manual
  • Directory
  • Dizin tanıtıcısını kapatır

Directory::close

(PHP 4, PHP 5, PHP 7, PHP 8)

Directory::close — Dizin tanıtıcısını kapatır

Açıklama

public Directory::close(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bağımsız değişken kabul edilmiyor. Evvelce bir dizin tanıtıcısı kabul edilirdi.


Dizin tanıtıcısından girdi okur

  • « Directory::close
  • Directory::rewind »
  • PHP Manual
  • Directory
  • Dizin tanıtıcısından girdi okur

Directory::read

(PHP 4, PHP 5, PHP 7, PHP 8)

Directory::read — Dizin tanıtıcısından girdi okur

Açıklama

public Directory::read(): string|false

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bağımsız değişken kabul edilmiyor. Evvelce bir dizin tanıtıcısı kabul edilirdi.


Dizin tanıtıcısını başa sarar

  • « Directory::read
  • Dizin İşlevleri »
  • PHP Manual
  • Directory
  • Dizin tanıtıcısını başa sarar

Directory::rewind

(PHP 4, PHP 5, PHP 7, PHP 8)

Directory::rewind — Dizin tanıtıcısını başa sarar

Açıklama

public Directory::rewind(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bağımsız değişken kabul edilmiyor. Evvelce bir dizin tanıtıcısı kabul edilirdi.


Dizin İşlevleri

Ayrıca Bakınız

dirname(), is_dir(), mkdir() ve rmdir() gibi dosya sistemiyle ilgili işlevler için Dosya Sistemi bölümüne bakınız.

İçindekiler

  • chdir — Dizin değiştirir
  • chroot — Kök dizini değiştirir
  • closedir — Dizin tanıtıcısını kapatır
  • dir — Directory sınıfının örneğini döndürür
  • getcwd — Geçerli çalışma dizinini döndürür
  • opendir — Belirtilen dizin için bir tanıtıcı döndürür
  • readdir — Dizinden bir girdinin ismini okur
  • rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar
  • scandir — Belirtilen dizindeki alt dizinleri ve dosyaları listeler


Dizin değiştirir

  • « Dizin İşlevleri
  • chroot »
  • PHP Manual
  • Dizin İşlevleri
  • Dizin değiştirir

chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

chdir — Dizin değiştirir

Açıklama

chdir(string $dizin): bool

PHP'nin geçerli dizinden belirtilen dizin'e geçmesini sağlar.

Bağımsız Değişkenler

dizin

Yeni geçerli dizin.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlaık durumunda E_WARNING seviyesinde bir hata çıktılar.

Örnekler

Örnek 1 - chdir() örneği

<?php

// geçerli dizin
echo getcwd() . "\n";

// değiştirelim
chdir('public_html');

// geçerli dizin
echo getcwd() . "\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/nilgun
/home/nilgun/public_html

Notlar

Dikkat

PHP yorumlayıcısı ZTS (Zend Thread Safety) etkin kılınarak derlenmişse, geçerli dizinde chdir() ile yapılan değişiklikler işletim sistemine görünmez olacaktır. Yerleşik PHP işlevlerinin tamamı bu değişikliklere uygun davranacak fakat FFI kullanarak çağrılan harici kütüphane işlevleri bu değişiklikleri yok sayacaktır. PHP kopyanızın ZTS etkin kılınarak derlenip derlenmediğini php -i komutunu veya yerleşik PHP_ZTS sabitini kullanarak anlayabilirsiniz.

Ayrıca Bakınız

  • getcwd() - Geçerli çalışma dizinini döndürür


Kök dizini değiştirir

  • « chdir
  • closedir »
  • PHP Manual
  • Dizin İşlevleri
  • Kök dizini değiştirir

chroot

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

chroot — Kök dizini değiştirir

Açıklama

chroot(string $dizin): bool

Geçerli sürecin kök dizinini dizin, geçerli çalışma dizinini "/" yapar.

Bu işlev sadece GNU ve BSD sistemlerinde ve sadece CLI, CGI veya gömülü SAPI kullanıyorsanız kullanılabilir. Ayrıca, bu işlevin kullanılabilmesi için sürecin root yetkileriyle çalışması gerekir.

Bu işlevin kullanımı __DIR__ ve __FILE__ sihirli sabitlerinin değerlerini değiştirmez.

Bağımsız Değişkenler

dizin

Kök dizin haline getirilecek dizin.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - chroot() örneği

<?php
chroot("/burası/kök/dizin/olacak/");
echo getcwd();
?>

Yukarıdaki örneğin çıktısı:

/

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Bilginize: Bu işlev ZTS (Zend Thread Safety) etkinken derlenmiş PHP yorumlayıcılarda kullanılamaz. PHP'nin ZTS etkinken derlenip derlenmediğini öğrenmek için php -i komutu kullanılabilir veya yerleşik PHP_ZTS sabiti ile bu sınanabilir.


Dizin tanıtıcısını kapatır

  • « chroot
  • dir »
  • PHP Manual
  • Dizin İşlevleri
  • Dizin tanıtıcısını kapatır

closedir

(PHP 4, PHP 5, PHP 7, PHP 8)

closedir — Dizin tanıtıcısını kapatır

Açıklama

closedir(): void

dizin_tanıtıcısı ile belirtilen dizin akımını kapatır. Akımın evvelce opendir() tarafından açılmış olması gerekir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Artık bağımsız değişken kabul edilmiyor. Evvelce bir dizin tanıtıcısı kabul edilirdi.

Örnekler

Örnek 1 - closedir() örneği

<?php
$dizin = "/etc/apache2/";

// Dizin aç ve içeriğin oku
if (is_dir($dizin)) {
if ($dit = opendir($dizin)) {
while (($dosya = readdir($dit)) !== false) {
echo "dosya adı: $dosya - dosya türü: " .
((filetype($dizin . $dosya) === "dir") ? "dizin" : "dosya") . "\n";
}
closedir();
}
}
?>


Directory sınıfının örneğini döndürür

  • « closedir
  • getcwd »
  • PHP Manual
  • Dizin İşlevleri
  • Directory sınıfının örneğini döndürür

dir

(PHP 4, PHP 5, PHP 7, PHP 8)

dir — Directory sınıfının örneğini döndürür

Açıklama

dir(string $dizin, ?resource $bağlam = null): Directory|false

Bir dizini okumak için yarı nesne yönelimli bir mekanizma. Belirtilen dizin açılır.

Bağımsız Değişkenler

dizin

Açılacak dizin.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Normalde Directory örneği döner, hata oluşursa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağlam artık null olabiliyor.

Örnekler

Örnek 1 - dir() örneği

Aşağıdaki örnekte Directory::read()'in dönüş değerine bakılma şekline dikkat edilmelidir. Dönüş değerinin false ile aynı olup olmadığına (eşitlik ve aynılık hakkında daha fazla bilgi için Karşılaştırma İşleçlerine bakın) bakılmaktadır, çünkü bu yapılmazsa adı false olarak değerlendirilen herhangi bir dizin girdisi döngüyü durdurur.

<?php
$d = dir("/etc/php5");
echo "Tanıtıcı: " . $d->handle . "\n";
echo "Dizin: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n";
}
$d->close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Tanıtıcı: Resource id #2
Dizin: /etc/php5
.
..
apache
cgi
cli

Notlar

Bilginize:

Okuma yönteminden dönen dizin girdilerinin sıralaması sisteme bağlıdır.


Geçerli çalışma dizinini döndürür

  • « dir
  • opendir »
  • PHP Manual
  • Dizin İşlevleri
  • Geçerli çalışma dizinini döndürür

getcwd

(PHP 4, PHP 5, PHP 7, PHP 8)

getcwd — Geçerli çalışma dizinini döndürür

Açıklama

getcwd(): string|false

Geçerli çalışma dizinini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarılı olursa geçerli çalışma dizinini, aksi takdirde false döndürür.

Bazı Unix türevlerinde, üst dizinlere erişim izni yoksa getcwd() işlevi false döndürür. Erişim izinleri ve kipler hakkında daha ayrıntılı bilgi için chmod() işlevine bakınız.

Dikkat

PHP yorumlayıcısı ZTS (Zend Güvenilir Evreleri) etkinken derlenmişse, getcwd() tarafından döndürülen geçerli çalışma dizini, işletim sistemi arayüzleri tarafından döndürülen dizinden farklı olabilir. Geçerli çalışma dizinine bağımlı olan harici kütüphaneler (FFI aracılığıyla çağrılan) bundan etkilenecektir.

Örnekler

Örnek 1 - getcwd() örneği

<?php

// geçerli dizin
echo getcwd() . "\n";

// dizin değiştirelim
chdir('cvs');

// geçerli dizin
echo getcwd() . "\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/home/nilgun
/home/nilgun/cvs

Ayrıca Bakınız

  • chdir() - Dizin değiştirir
  • chmod() - Dosya kipini değiştirir


Belirtilen dizin için bir tanıtıcı döndürür

  • « getcwd
  • readdir »
  • PHP Manual
  • Dizin İşlevleri
  • Belirtilen dizin için bir tanıtıcı döndürür

opendir

(PHP 4, PHP 5, PHP 7, PHP 8)

opendir — Belirtilen dizin için bir tanıtıcı döndürür

Açıklama

opendir(string $dizin, ?resource $bağlam = null): resource|false

closedir(), readdir() ve rewinddir() çağrılarında kullanılmak üzere bir dizin tanıtıcısı ile döner.

Bağımsız Değişkenler

dizin

Açılacak dizinin yolu.

bağlam

bağlam bağımsız değişkeninin açıklaması için akımlar bölümüne bakınız.

Dönen Değerler

Başarılı olduğunda dizin tanıtıcısı, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

dizin geçerli bir dizin değilse, dizin yetki yetersizliğinden ya da dosya sistemi hatalarından dolayı açılamıyorsa, bu olur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağlam artık null olabiliyor.

Örnekler

Örnek 1 - opendir() örneği

<?php
$dizin = "/etc/apache2/";

// Dizin aç ve içeriğin oku
if (is_dir($dizin)) {
if ($dit = opendir($dizin)) {
while (($dosya = readdir($dit)) !== false) {
echo "dosya adı: $dosya - dosya türü: " .
((filetype($dizin . $dosya) === "dir") ? "dizin" : "dosya") . "\n";
}
closedir();
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

dosya adı: httpd.conf - dosya türü: dosya
dosya adı: mods-enabled - dosya türü: dizin
dosya adı: sites-enabled - dosya türü: dizin
dosya adı: .. - dosya türü: dizin
dosya adı: apache2.conf - dosya türü: dosya
dosya adı: sites-available - dosya türü: dizin
dosya adı: envvars - dosya türü: dosya
dosya adı: ports.conf - dosya türü: dosya
dosya adı: mods-available - dosya türü: dizin
dosya adı: conf.d - dosya türü: dizin
dosya adı: . - dosya türü: dizin

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • readdir() - Dizinden bir girdinin ismini okur
  • dir() - Directory sınıfının örneğini döndürür


Dizinden bir girdinin ismini okur

  • « opendir
  • rewinddir »
  • PHP Manual
  • Dizin İşlevleri
  • Dizinden bir girdinin ismini okur

readdir

(PHP 4, PHP 5, PHP 7, PHP 8)

readdir — Dizinden bir girdinin ismini okur

Açıklama

readdir(?resource $dizin_tanıtıcısı = null): string|false

Dizindeki sonraki girdinin ismi ile döner. Girdiler dosya sisteminde saklandıkları sıra ile döndürülür.

Bağımsız Değişkenler

dizin_tanıtıcısı

opendir() işlevinden dönmüş bir dizin tanıtıcısı. Belirtilmezse opendir() tarafından açılan son dizin kullanılır.

Dönen Değerler

Başarılı olduğunda dosya ismi ile, başarısızlık durumunda false döner..

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dizin_tanıtıcısı artık null olabiliyor.

Örnekler

Örnek 1 - Bir dizin içeriğinin listelenmesi

Aşağıdaki örnekte dönen değerin mantıksal false olup olmadığına (bak: Karşılaştırma İşleçleri) özellikle bakılmakta oluşuna dikkat ediniz. Eğer dizgesel olarak baksaydık ismi mantıksal false olarak değerlendirilebilecek bir dosya (örneğin "0") döngünün durmasına yol açardı.

<?php
if ($dizin = opendir('/bir/dizin/dosyalar')) {
echo "Dizin tanıtıcısı: $dizin\n";
echo "Dizin içeriği:\n";

/* Dizin içeriğini taramak için doğru yöntem. */
while (false !== ($girdi = readdir($dizin))) {
echo "$girdi\n";
}

/* Dizin içeriğini taramak için YANLIŞ yöntem. */
while ($girdi = readdir($dizin)) {
echo "$girdi\n";
}

closedir();
}
?>

Örnek 2 - . ve .. girdileri ayıklanarak dizin içeriğinin listelenmesi

<?php
if ($dizin = opendir('.')) {
while (false !== ($girdi = readdir($dizin))) {
if ($girdi != "." && $girdi != "..") {
echo "$girdi\n";
}
}
closedir($dizin);
}
?>

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • glob() - Bir kalıpla eşleşen dosya yollarını bulur
  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • scandir() - Belirtilen dizindeki alt dizinleri ve dosyaları listeler


Dizin tanıtıcısını dizin başlangıcına konumlar

  • « readdir
  • scandir »
  • PHP Manual
  • Dizin İşlevleri
  • Dizin tanıtıcısını dizin başlangıcına konumlar

rewinddir

(PHP 4, PHP 5, PHP 7, PHP 8)

rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar

Açıklama

rewinddir(?resource $dizin_tanıtıcıcı = null): void

dizin_tanıtıcısı ile belirtilen dizin akımında konumu dizinin başlangıcına taşır.

Bağımsız Değişkenler

dizin_tanıtıcıcı

opendir() işlevinden dönmüş bir dizin tanıtıcısı. Belirtilmezse opendir() tarafından açılan son dizin kullanılır.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dizin_tanıtıcısı artık null olabiliyor.


Belirtilen dizindeki alt dizinleri ve dosyaları listeler

  • « rewinddir
  • Fileinfo »
  • PHP Manual
  • Dizin İşlevleri
  • Belirtilen dizindeki alt dizinleri ve dosyaları listeler

scandir

(PHP 5, PHP 7, PHP 8)

scandir — Belirtilen dizindeki alt dizinleri ve dosyaları listeler

Açıklama

scandir(string $dizin, int $sıralama_türü = SCANDIR_SORT_ASCENDING, ?resource $bağlam = null): array|false

Belirtilen dizin içindeki dosya ve dizinleri içeren dizi ile döner.

Bağımsız Değişkenler

dizin

İçeriği taranacak dizin.

sıralama_türü

Abecesel olarak küçükten büyüğe sıralama öntanımlıdır. Bu bağımsız değişkene SCANDIR_SORT_DESCENDING atarsanız sıralama büyükten küçüğe doğru yapılır. SCANDIR_SORT_NONE atanırsa sonuç sıralanmaz.

bağlam

bağlam bağımsız değişkeninin açıklaması için akımlar bölümüne bakınız.

Dönen Değerler

Başarılı olduğunda dosya ve dizin isimlerini içeren bir dizi ile aksi takdirde false değeriyle döner. Eğer belirtilen dizin bir dizin değilse false döner ve E_WARNING seviyesinde bir hata üretilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağlam artık null olabiliyor.

Örnekler

Örnek 1 - Basit bir scandir() örneği

<?php
$dir = '/tmp';
$files1 = scandir($dir);
$files2 = scandir($dir, SCANDIR_SORT_DESCENDING);

print_r($files1);
print_r($files2);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)

Notlar

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Ayrıca Bakınız

  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • readdir() - Dizinden bir girdinin ismini okur
  • glob() - Bir kalıpla eşleşen dosya yollarını bulur
  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • sort() - Bir diziyi küçükten büyüğe doğru sıralar


Dosya Bilgileri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Fileinfo İşlevleri
    • finfo_buffer — Bir dizge tamponu hakkında bilgi döndürür
    • finfo_close — Fileinfo özkaynağını kapatır
    • finfo_file — Bir dosya hakkında bilgi döndürür
    • finfo_open — Yeni bir fileinfo özkaynağı oluşturur
    • finfo_set_flags — Libmagic yapılandırma seçeneklerini ayarlar
    • mime_content_type — Bir dosya için MIME içerik türünü saptar
  • finfo — finfo sınıfı
    • finfo::buffer — finfo_buffer() işlevinin takma adıdır
    • finfo::__construct — finfo_open işlevinin takma adıdır
    • finfo::file — finfo_file() işlevinin takma adıdır
    • finfo::set_flags — finfo_set_flags() işlevinin takma adıdır


Giriş

Bu modüldeki işlevler, dosya içinde belli bir konumda bulunan sihirli baytlara bakarak dosyanın içerik türünü ve kodlamasını tahmin etmeye çalışır. Çok güçlü bir yaklaşım olmasa da kullanılan ampirik yöntem oldukça iyi iş çıkarmaktadır.


Kurulum

Bu eklenti öntanımlı olarak etkindir.

Windows kullanıcıları bu eklentiyi etkin kılmak için PHP paketinde gelen php_fileinfo.dll DLL dosyasını php.ini içine dahil etmelidir.

Libmagic kütüphanesi PHP ile gelir, fakat PHP'ye özgü değişiklikler içerir. A patch against libmagic named libmagic.patch adında bir libmagic yaması mevcut olup PHP fileinfo eklentileri kaynak dizininde bulunabilir.


Özkaynak Türleri

PHP 8.1.0 öncesinde, Fileinfo eklentisinde kullanılan tek bir özkaynak vardı: finfo_open() işlevi tarafından döndürülen sihirli bir veritabanı tanıtıcısı.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

FILEINFO_NONE (int)
Özel bir işlem yok.
FILEINFO_SYMLINK (int)
Sembolik bağlar izlenir.
FILEINFO_MIME_TYPE (int)
MIME türü döndürülür.
FILEINFO_MIME_ENCODING (int)
Dosyanın MIME kodlaması döndürülür.
FILEINFO_MIME (int)
RFC 2045'te açıklandığı gibi, bir MIME türü ve bir MIME kodlaması döndürülür.
FILEINFO_COMPRESS (int)
Sıkıştırılmış dosyaların sıkıştırmasını açar. Güvenlik kaygılarıyla kaldırılmıştır.
FILEINFO_DEVICES (int)
Karakter veya blok aygıtlarının içeriğine bakılır.
FILEINFO_CONTINUE (int)
Sadece ilki değil, tüm eşleşenler döndürülür.
FILEINFO_PRESERVE_ATIME (int)
Mümkünse özgün erişim zamanı korunur.
FILEINFO_RAW (int)
Basılamayan karakterler, \ooo biçiminde sekizlik gösterime dönüştürülmez.
FILEINFO_EXTENSION (int)
Dosya içeriğinden belirlenen MIME türü ile alakalı dosya uzantısını döndürür. JPEG görüntüleri gibi çok sayıda dosya uzantısına sahip içerikler için "jpeg/jpg/jpe/jfif" şeklinde bölü çizgileri ile ayrılmış olarak tüm dosya uzantıları döndürülür. magic.mime veritabanında bulunmayan içerik türleri için daima "???" dizgesi döner. PHP 7.2.0 ve sonrasında mevcuttur.


Fileinfo İşlevleri

İçindekiler

  • finfo_buffer — Bir dizge tamponu hakkında bilgi döndürür
  • finfo_close — Fileinfo özkaynağını kapatır
  • finfo_file — Bir dosya hakkında bilgi döndürür
  • finfo_open — Yeni bir fileinfo özkaynağı oluşturur
  • finfo_set_flags — Libmagic yapılandırma seçeneklerini ayarlar
  • mime_content_type — Bir dosya için MIME içerik türünü saptar


Bir dizge tamponu hakkında bilgi döndürür

  • « Fileinfo İşlevleri
  • finfo_close »
  • PHP Manual
  • Fileinfo İşlevleri
  • Bir dizge tamponu hakkında bilgi döndürür

finfo_buffer

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_buffer -- finfo::buffer — Bir dizge tamponu hakkında bilgi döndürür

Açıklama

Yordamsal kullanım

finfo_buffer(
finfo $finfo,
string $string,
int $flags = FILEINFO_NONE,
?resource $context = null
): string|false

Nesne yönelimli kullanım

public finfo::buffer(string $string, int $flags = FILEINFO_NONE, ?resource $context = null): string|false

Bu işlev bir dizge içindeki ikil veri hakkında bilgi edinmek için kullanılır.

Bağımsız Değişkenler

finfo

finfo_open() işlevinden dönen finfo nesnesi.

string

İçeriği incelenecek dizge.

flags

Fileinfo sabitlerinden biri veya bir kaçının birleşimi.

context

Akımlar hakkında bilgi edinmek için Akım İşlevleri bölümüne bakınız.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde belirtilen dizgenin içeriği hakkında açıklama dizgesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | finfo bağımsız değişkeni artık finfo nesnesi kabul ediyor, evvelce bir finfo özkaynağı kabul ederdi.
8.0.0 | context artık null olabiliyor.

Örnekler

Örnek 1 - finfo_buffer() örneği

<?php
$finfo = new finfo(FILEINFO_MIME);
echo $finfo->buffer($_POST["betik"]) . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

application/x-sh; charset=us-ascii

Ayrıca Bakınız

  • finfo_file() - finfo_file() işlevinin takma adıdır


Fileinfo özkaynağını kapatır

  • « finfo_buffer
  • finfo_file »
  • PHP Manual
  • Fileinfo İşlevleri
  • Fileinfo özkaynağını kapatır

finfo_close

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_close — Fileinfo özkaynağını kapatır

Açıklama

finfo_close(finfo $finfo): bool

Bu işlev, finfo_open() tarafından açılmış nesneyi yokeder.

Bağımsız Değişkenler

finfo

finfo_open() işlevinden dönen finfo nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | finfo bağımsız değişkeni artık finfo nesnesi kabul ediyor, evvelce bir finfo özkaynağı kabul ederdi.


Bir dosya hakkında bilgi döndürür

  • « finfo_close
  • finfo_open »
  • PHP Manual
  • Fileinfo İşlevleri
  • Bir dosya hakkında bilgi döndürür

finfo_file

finfo::file

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_file -- finfo::file — Bir dosya hakkında bilgi döndürür

Açıklama

Yordamsal kullanım

finfo_file(
finfo $finfo,
string $filename,
int $flags = FILEINFO_NONE,
?resource $context = null
): string|false

Nesne yönelimli kullanım

public finfo::file(string $filename, int $flags = FILEINFO_NONE, ?resource $context = null): string|false

Bu işlev bir dosya hakkında bilgi edinmek için kullanılır.

Bağımsız Değişkenler

finfo

finfo_open() işlevinden dönen finfo nesnesi.

filename

Hakkında bilgi istenen dosya.

flags

Fileinfo sabitlerinden biri veya bir kaçının birleşimi.

context

Akımlar hakkında bilgi edinmek için Akım İşlevleri bölümüne bakınız.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde belirtilen dosyanın içeriği hakkında açıklama dizgesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | finfo bağımsız değişkeni artık finfo nesnesi kabul ediyor, evvelce bir finfo özkaynağı kabul ederdi.
8.0.0 | context artık null olabiliyor.

Örnekler

Örnek 1 - finfo_file() örneği

<?php
// Bir açıklama değil MIME türü dönsün
$finfo = finfo_open(FILEINFO_MIME_TYPE);

foreach (glob("*") as $dosya) {
echo finfo_file($finfo, $dosya) . "\n";
}

finfo_close($finfo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

text/html
image/gif
application/vnd.ms-excel

Ayrıca Bakınız

  • finfo_buffer() - finfo_buffer() işlevinin takma adıdır


Yeni bir fileinfo özkaynağı oluşturur

  • « finfo_file
  • finfo_set_flags »
  • PHP Manual
  • Fileinfo İşlevleri
  • Yeni bir fileinfo özkaynağı oluşturur

finfo_open

finfo->__construct

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_open -- finfo->__construct — Yeni bir fileinfo özkaynağı oluşturur

Açıklama

Yordamsal kullanım

finfo_open(int $flags = FILEINFO_NONE, ?string $magic_database = null): finfo|false

Nesne yönelimli kullanım (kurucu):

public finfo::__construct(int $flags = FILEINFO_NONE, ?string $magic_database = null)

Bu işlev sihirli bir veritabanı açar ve onu bir nesne olarak döndürür.

Bağımsız Değişkenler

flags

Fileinfo sabitlerinden biri veya bir kaçının birleşimi.

magic_database

Sihir veritabanının dosya ismi genellikle /bir/yol/magic.mime şeklindedir. Belirtilmezse MAGIC ortam değişkeninin değeri kullanılır. Bu değişken de atanmamışsa PHP paketinde gelen sihir veritabanı kullanılır.

null veya boş bir dizge atanması öntanımlı değerin kullanımına eşdeğer olacaktır.

Dönen Değerler

(Sadece yordamsal kullanımda) Başarı durumunda finfo nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık finfo nesnesi dönüyor; evvelce finfo özkaynağı dönerdi.
8.0.3 | magic_database artık null olabiliyor.

Örnekler

Örnek 1 - Nesne yönelimli kullanım örneği

<?php
// Bir açıklama değil MIME türü dönsün
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic");

/* Bir dosyanın MIME türünü öğrenelim */
$dosya = "/usr/local/birdosya.txt";
echo $finfo->file($dosya);
?>

Örnek 2 - Yordamsal kullanım örneği

<?php
// Bir açıklama değil MIME türü dönsün
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic");

if (!$finfo) {
echo "Fileinfo veritabanı açılamadı";
exit();
}

/* Bir dosyanın MIME türünü öğrenelim */
$dosya = "/usr/local/something.txt";
echo finfo_file($finfo, $dosya);

/* Bağlantıyı kapatalım */
finfo_close($finfo);
?>

Yukarıdaki örneğin çıktısı:

text/plain; charset=us-ascii

Notlar

Bilginize:

Genellikle, (magic_database belirtmeyerek ve MAGIC ortam değişkenini atanmayarak) PHP paketinde gelen sihir veritabanını kullanmak, özellikle özel bir sihir veritabanına ihtiyaç olmadıkça en iyi seçim olacaktır.

Ayrıca Bakınız

  • finfo_close() - Fileinfo özkaynağını kapatır


Libmagic yapılandırma seçeneklerini ayarlar

  • « finfo_open
  • mime_content_type »
  • PHP Manual
  • Fileinfo İşlevleri
  • Libmagic yapılandırma seçeneklerini ayarlar

finfo_set_flags

finfo::set_flags

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo_set_flags -- finfo::set_flags — Libmagic yapılandırma seçeneklerini ayarlar

Açıklama

Yordamsal kullanım

finfo_set_flags(finfo $finfo, int $flags): bool

Nesne yönelimli kullanım

public finfo::set_flags(int $flags): bool

Bu işlevle çeşitli Fileinfo seçenekleri ayarlanır. Bu seçenekler ayrıca, finfo_open() veya diğer Fileinfo işlevleriyle de doğrudan ayarlanabilir.

Bağımsız Değişkenler

finfo

finfo_open() işlevinden dönen finfo nesnesi.

flags

Fileinfo sabitlerinden biri veya bir kaçının birleşimi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | finfo bağımsız değişkeni artık finfo nesnesi kabul ediyor, evvelce bir finfo özkaynağı kabul ederdi.


Bir dosya için MIME içerik türünü saptar

  • « finfo_set_flags
  • finfo »
  • PHP Manual
  • Fileinfo İşlevleri
  • Bir dosya için MIME içerik türünü saptar

mime_content_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mime_content_type — Bir dosya için MIME içerik türünü saptar

Açıklama

mime_content_type(resource|string $dosya): string|false

magic.mime dosyasındaki bilgiyi kullanarak belirtilen dosyanın MIME içerik türünü döndürür.

Bağımsız Değişkenler

dosya

İçerik türü istenen dosyanın yolu.

Dönen Değerler

İçerik türünü, text/plain veya application/octet-stream gibi bir MIME biçemi olarak döndürür, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - mime_content_type() örneği

<?php
echo mime_content_type('php.gif') . "\n";
echo mime_content_type('test.php');
?>

Yukarıdaki örneğin çıktısı:

image/gif
text/plain

Ayrıca Bakınız

  • finfo_file() - finfo_file() işlevinin takma adıdır
  • finfo_buffer() - finfo_buffer() işlevinin takma adıdır


finfo sınıfı

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

Giriş

Bu sınıf, fileinfo işlevlerine nesne yönelimli bir arayüz sağlar.

Sınıf Sözdizimi

class finfo {
/* Yöntemler */
public __construct(int $flags = FILEINFO_NONE, ?string $magic_database = null)
public buffer(string $string, int $flags = FILEINFO_NONE, ?resource $context = null): string|false
public file(string $filename, int $flags = FILEINFO_NONE, ?resource $context = null): string|false
public set_flags(int $flags): bool
}

İçindekiler

  • finfo::buffer — finfo_buffer() işlevinin takma adıdır
  • finfo::__construct — finfo_open işlevinin takma adıdır
  • finfo::file — finfo_file() işlevinin takma adıdır
  • finfo::set_flags — finfo_set_flags() işlevinin takma adıdır


finfo_buffer() işlevinin takma adıdır

  • « finfo
  • finfo::__construct »
  • PHP Manual
  • finfo
  • finfo_buffer() işlevinin takma adıdır

finfo::buffer

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::buffer — finfo_buffer() işlevinin takma adıdır

Açıklama

public finfo::buffer(string $string, int $flags = FILEINFO_NONE, ?resource $context = null): string|false

finfo_buffer() işlevinin takma adıdır.


finfo_open işlevinin takma adıdır

  • « finfo::buffer
  • finfo::file »
  • PHP Manual
  • finfo
  • finfo_open işlevinin takma adıdır

finfo::__construct

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::__construct — finfo_open() işlevinin takma adıdır

Açıklama

public finfo::__construct(int $flags = FILEINFO_NONE, ?string $magic_database = null)

finfo_open() işlevinin takma adıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | magic_database artık null olabiliyor.


finfo_file() işlevinin takma adıdır

  • « finfo::__construct
  • finfo::set_flags »
  • PHP Manual
  • finfo
  • finfo_file() işlevinin takma adıdır

finfo::file

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::file — finfo_file() işlevinin takma adıdır

Açıklama

public finfo::file(string $filename, int $flags = FILEINFO_NONE, ?resource $context = null): string|false

finfo_file() işlevinin takma adıdır.


finfo_set_flags() işlevinin takma adıdır

  • « finfo::file
  • Filesystem »
  • PHP Manual
  • finfo
  • finfo_set_flags() işlevinin takma adıdır

finfo::set_flags

(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)

finfo::set_flags — finfo_set_flags() işlevinin takma adıdır

Açıklama

public finfo::set_flags(int $flags): bool

finfo_set_flags() işlevinin takma adıdır.


Dosya Sistemi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Dosya Sistemi İşlevleri
    • basename — Dosya yolunun ucundaki dosya ismi bileşenini döndürür
    • chgrp — Dosya grubunu değiştirir
    • chmod — Dosya kipini değiştirir
    • chown — Dosyanın sahibini değiştirir
    • clearstatcache — Dosya durum önbelleğini temizler
    • copy — Dosya kopyalar
    • delete — unlink veya unset işlevine bakınız
    • dirname — Üst dizinin yolunu döndürür
    • disk_free_space — Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür
    • disk_total_space — Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür
    • diskfreespace — disk_free_space işlevinin takma adıdır
    • fclose — Açık bir dosya tanıtıcısını kapatır
    • fdatasync — Synchronizes data (but not meta-data) to the file
    • feof — Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
    • fflush — Çıktıyı bir dosyaya boşaltır
    • fgetc — Dosya tanıtıcısından bir karakter döndürür
    • fgetcsv — Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür
    • fgets — Dosya tanıtıcısından bir satır döndürür
    • fgetss — Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
    • file_exists — Bir dosya veya dizinin mevcut olup olmadığına bakar
    • file_get_contents — Dosya içeriğinin tamamını bir dizge olarak döndürür
    • file_put_contents — Veriyi bir dosyaya yazar
    • file — Dosya içeriğinin tamamını bir diziye okur
    • fileatime — Dosyaya son erişim zamanını döndürür
    • filectime — Dosyanın dosya düğümü değişiklik zamanını döndürür
    • filegroup — Dosyanın sahibi olan grubu döndürür
    • fileinode — Dosyanın düğüm numarasını döndürür
    • filemtime — Dosyanın değişiklik zamanını döndürür
    • fileowner — Dosya sahibini döndürür
    • fileperms — Dosya izinlerini döndürür
    • filesize — Dosya uzunluğunu döndürür
    • filetype — Dosya türünü döndürür
    • flock — Öneri niteliğinde taşınabilir dosya kilitleme
    • fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
    • fopen — Bir dosya veya URL'yi açar
    • fpassthru — Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
    • fputcsv — Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar
    • fputs — fwrite işlevinin takma adıdır
    • fread — Dosyayı ikil kipte okur
    • fscanf — Bir dosyadaki girdiyi belli bir biçeme göre çözümler
    • fseek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
    • fstat — Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür
    • fsync — Synchronizes changes to the file (including meta-data)
    • ftell — Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
    • ftruncate — Bir dosyayı belli bir uzunlukta budar
    • fwrite — Dosyaya ikil kipte yazar
    • glob — Bir kalıpla eşleşen dosya yollarını bulur
    • is_dir — Bir dosyanın bir dizin olup olmadığını söyler
    • is_executable — Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler
    • is_file — Bir dosyanın sıradan bir dosya olup olmadığını söyler
    • is_link — Dosya sembolik bağ ise bunu doğrular
    • is_readable — Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
    • is_uploaded_file — Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler
    • is_writable — Dosyanın yazılabilir kipte ise bunu doğrular
    • is_writeable — Dosya yazılabilir kipteyse bunu doğrular
    • lchgrp — Bir sembolik bağın grubunu değiştirir
    • lchown — Bir sembolik bağın sahibini değiştirir
    • link — Sabit bir bağ oluşturur
    • linkinfo — Bir bağ hakkında bilgi verir
    • lstat — Bir dosya veya sembolik bağ hakkında bilgi verir
    • mkdir — Dizin oluşturur
    • move_uploaded_file — Karşıya yüklenen bir dosyayı yeni bir yere taşır
    • parse_ini_file — Bir yapılandırma dosyasını çözümler
    • parse_ini_string — Bir yapılandırma dizgesini çözümler
    • pathinfo — Bir dosya yolu hakkında bilgi döndürür
    • pclose — Bir süreç tanıtıcısını kapatır
    • popen — Bir süreç tanıtıcısı açar
    • readfile — Bir dosyayı çıktılar
    • readlink — Bir sembolik bağın hedefi ile döner
    • realpath_cache_get — Mutlak dosya yolu önbellek girdilerini döndürür
    • realpath_cache_size — Mutlak dosya yolu önbellek boyunu döndürür
    • realpath — Normalleştirilmiş mutlak dosya yolunu döndürür
    • rename — Bir dosya veya dizinin ismini değiştirir
    • rewind — Bir dosya tanıtıcısında konumu başa taşır
    • rmdir — Dizin siler
    • set_file_buffer — stream_set_write_buffer işlevinin takma adıdır
    • stat — Bir dosya hakkında bilgi döndürür
    • symlink — Bir sembolik bağ oluşturur
    • tempnam — Eşsiz bir isimle dosya oluşturur
    • tmpfile — Geçici bir dosya oluşturur
    • touch — Dosyanın erişim ve değişiklik zamanını ayarlar
    • umask — Geçerli izin maskesini değiştirir
    • unlink — Bir dosyayı siler


Giriş

Bu eklentiyi derlemek için hiçbir ek kütüphaneye gerek yoktur fakat PHP'nin Linux'ta büyük dosyaları (>2GB) desteklemesini istiyorsanız glibc'nin son sürümüne sahip olmanız ve PHP'yi -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 seçenekleriyle derlemelisiniz.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Dosya sistemi ve akımlar ile ilgili yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
allow_url_fopen | "1" | PHP_INI_SYSTEM |
allow_url_include | "0" | PHP_INI_SYSTEM | PHP 7.4.0 ve sonrasında kullanımı önerilmiyor.
user_agent | NULL | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL |
from | "" | PHP_INI_ALL |
auto_detect_line_endings | "0" | PHP_INI_ALL | PHP 8.1.0 itibariyle kullanımı önerilmiyor.
sys_temp_dir | "" | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

allow_url_fopen bool

Bu seçenek, dosyalar gibi URL nesnelerine erişimi mümkün kılan fopen URL sarmalayıcılarını etkinleştirir. HTTP ve FTP protokollerini kullanarak uzak dosyalara erişmek için öntanımlı sarmalayıcılar mevcuttur. zlib gibi bazı eklentilerle ek sarmalayıcılar devreye sokulabilir.

allow_url_include bool

Bu yönerge, fopen URL sarmalayıcılarını şu işlevlerde kullanabilmeyi mümkün kılar: include, include_once, require ve require_once.

Bilginize:

Bu yönerge allow_url_fopen yönergesinin 'On' olmasını gerektirir.

user_agent string

PHP için gönderilecek kullanıcı aracısını tanımlar.

default_socket_timeout int

Soketlere dayalı akımlar için öntanımlı zaman aşımı (saniye cinsinden). Negatif değer belirtilirse zaman aşımı sonsuz olur.

from string

Kimliği doğrulanmamış FTP bağlantılarında ve sırasıyla ftp ve http sarmalayıcıları kullanılırken HTTP bağlantıları için From başlığının değeri olarak kullanılacak e-posta adresi.

auto_detect_line_endings bool

'On' atandığı takdirde, PHP hangi tür satırsonu karakteri (Unix, MS-DOS veya Macintosh) kullanıldığını saptamak için fgets() ve file() işlevlerinde veriyi inceler.

PHP'nin Mac sistemleriyle birlikte çalışabilirliğini sağlar ama öntanımlı değeri Off'tur, çünkü ilk satıra bakarak satırsonu kuralını belirlemeye çalışmak çok az da olsa başarımı düşürücü etki yapar ve ayrıca Unix sistemlerinde öğe ayracı olarak satırbaşı karakteri kullananlar açısından geriye doğru uyumluluğu ortadan kaldırır.

sys_temp_dir string


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Dosya sistemi özkaynak olarak akımları kullanır.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SEEK_SET (int)
SEEK_CUR (int)
SEEK_END (int)
LOCK_SH (int)
LOCK_EX (int)
LOCK_UN (int)
LOCK_NB (int)
GLOB_BRACE (int)
GLOB_ONLYDIR (int)
GLOB_MARK (int)
GLOB_NOSORT (int)
GLOB_NOCHECK (int)
GLOB_NOESCAPE (int)
GLOB_AVAILABLE_FLAGS (int)
PATHINFO_DIRNAME (int)
PATHINFO_BASENAME (int)
PATHINFO_EXTENSION (int)
PATHINFO_FILENAME (int)
FILE_USE_INCLUDE_PATH (int)
dosyaismi include_path içinde aranır.
FILE_NO_DEFAULT_CONTEXT (int)
FILE_APPEND (int)
İçerik mevcut dosyanın sonuna eklenir.
FILE_IGNORE_NEW_LINES (int)
Satırsonu karakterlerini yoksayar.
FILE_SKIP_EMPTY_LINES (int)
Boş satırları atlar.
FILE_BINARY (int)

İkil kip

Bilginize:

Bu sabitin bir etkisi yoktur. Sadece ileriye uyumluluk adına mevcuttur.

FILE_TEXT (int)

Metin kipi.

Bilginize:

Bu sabitin bir etkisi yoktur. Sadece ileriye uyumluluk adına mevcuttur.

INI_SCANNER_NORMAL (int)
Normal INI tarayıcı kipi.
INI_SCANNER_RAW (int)
Ham INI tarayıcı kipi.
INI_SCANNER_TYPED (int)
Kodlu INI tarayıcı kipi.
FNM_NOESCAPE (int)
Tersbölü öncelemesini iptal eder.
FNM_PATHNAME (int)
Bir dizgedeki bölü çizgisi sadece belirtilen şablondaki bölü çizgisiyle eşleşir.
FNM_PERIOD (int)
Bir dizgenen başındaki nokta iminin belirtilen şablondaki nokta imiyle tam olarak eşleşmesi gerekir.
FNM_CASEFOLD (int)
Harf büyüklüğüne duyarsız eşleşme. Bir GNU oluşumudur.


Dosya Sistemi İşlevleri

Ayrıca Bakınız

Dosya sistemi ile ilgili diğer işlevler için Dizinler ve Program Çalıştırma bölümlerine bakınız.

Uzak dosyalar için kullanılabilen çeşitli URL sarmalayıcıları hakkında bilgi edinmek için Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.

İçindekiler

  • basename — Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • chgrp — Dosya grubunu değiştirir
  • chmod — Dosya kipini değiştirir
  • chown — Dosyanın sahibini değiştirir
  • clearstatcache — Dosya durum önbelleğini temizler
  • copy — Dosya kopyalar
  • delete — unlink veya unset işlevine bakınız
  • dirname — Üst dizinin yolunu döndürür
  • disk_free_space — Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür
  • disk_total_space — Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür
  • diskfreespace — disk_free_space işlevinin takma adıdır
  • fclose — Açık bir dosya tanıtıcısını kapatır
  • fdatasync — Synchronizes data (but not meta-data) to the file
  • feof — Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • fflush — Çıktıyı bir dosyaya boşaltır
  • fgetc — Dosya tanıtıcısından bir karakter döndürür
  • fgetcsv — Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür
  • fgets — Dosya tanıtıcısından bir satır döndürür
  • fgetss — Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • file_exists — Bir dosya veya dizinin mevcut olup olmadığına bakar
  • file_get_contents — Dosya içeriğinin tamamını bir dizge olarak döndürür
  • file_put_contents — Veriyi bir dosyaya yazar
  • file — Dosya içeriğinin tamamını bir diziye okur
  • fileatime — Dosyaya son erişim zamanını döndürür
  • filectime — Dosyanın dosya düğümü değişiklik zamanını döndürür
  • filegroup — Dosyanın sahibi olan grubu döndürür
  • fileinode — Dosyanın düğüm numarasını döndürür
  • filemtime — Dosyanın değişiklik zamanını döndürür
  • fileowner — Dosya sahibini döndürür
  • fileperms — Dosya izinlerini döndürür
  • filesize — Dosya uzunluğunu döndürür
  • filetype — Dosya türünü döndürür
  • flock — Öneri niteliğinde taşınabilir dosya kilitleme
  • fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
  • fopen — Bir dosya veya URL'yi açar
  • fpassthru — Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
  • fputcsv — Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar
  • fputs — fwrite işlevinin takma adıdır
  • fread — Dosyayı ikil kipte okur
  • fscanf — Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • fseek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
  • fstat — Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür
  • fsync — Synchronizes changes to the file (including meta-data)
  • ftell — Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • ftruncate — Bir dosyayı belli bir uzunlukta budar
  • fwrite — Dosyaya ikil kipte yazar
  • glob — Bir kalıpla eşleşen dosya yollarını bulur
  • is_dir — Bir dosyanın bir dizin olup olmadığını söyler
  • is_executable — Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler
  • is_file — Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • is_link — Dosya sembolik bağ ise bunu doğrular
  • is_readable — Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • is_uploaded_file — Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler
  • is_writable — Dosyanın yazılabilir kipte ise bunu doğrular
  • is_writeable — Dosya yazılabilir kipteyse bunu doğrular
  • lchgrp — Bir sembolik bağın grubunu değiştirir
  • lchown — Bir sembolik bağın sahibini değiştirir
  • link — Sabit bir bağ oluşturur
  • linkinfo — Bir bağ hakkında bilgi verir
  • lstat — Bir dosya veya sembolik bağ hakkında bilgi verir
  • mkdir — Dizin oluşturur
  • move_uploaded_file — Karşıya yüklenen bir dosyayı yeni bir yere taşır
  • parse_ini_file — Bir yapılandırma dosyasını çözümler
  • parse_ini_string — Bir yapılandırma dizgesini çözümler
  • pathinfo — Bir dosya yolu hakkında bilgi döndürür
  • pclose — Bir süreç tanıtıcısını kapatır
  • popen — Bir süreç tanıtıcısı açar
  • readfile — Bir dosyayı çıktılar
  • readlink — Bir sembolik bağın hedefi ile döner
  • realpath_cache_get — Mutlak dosya yolu önbellek girdilerini döndürür
  • realpath_cache_size — Mutlak dosya yolu önbellek boyunu döndürür
  • realpath — Normalleştirilmiş mutlak dosya yolunu döndürür
  • rename — Bir dosya veya dizinin ismini değiştirir
  • rewind — Bir dosya tanıtıcısında konumu başa taşır
  • rmdir — Dizin siler
  • set_file_buffer — stream_set_write_buffer işlevinin takma adıdır
  • stat — Bir dosya hakkında bilgi döndürür
  • symlink — Bir sembolik bağ oluşturur
  • tempnam — Eşsiz bir isimle dosya oluşturur
  • tmpfile — Geçici bir dosya oluşturur
  • touch — Dosyanın erişim ve değişiklik zamanını ayarlar
  • umask — Geçerli izin maskesini değiştirir
  • unlink — Bir dosyayı siler


Dosya yolunun ucundaki dosya ismi bileşenini döndürür

  • « Dosya Sistemi İşlevleri
  • chgrp »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya yolunun ucundaki dosya ismi bileşenini döndürür

basename

(PHP 4, PHP 5, PHP 7, PHP 8)

basename — Dosya yolunun ucundaki dosya ismi bileşenini döndürür

Açıklama

basename(string $yol, string $uzantı = ""): string

Belirtilen dosya yolunun ucundaki dosya ismi bileşenini döndürür.

Bilginize:

basename() safça girdi dizgesi üzerinde çalışır, dosya sisteminden ve ".." gibi yol bileşenlerinden haberi yoktur.

Dikkat

basename() yereli de bilmez, bundan dolayı çok baytlı karakterler içeren dosya yollarından doğru bileşeni ayırabilmesi için eşleşen yerelin setlocale() işlevi kullanılarak atanması gerekir. Eğer yol geçerli yerel için geçersiz olan karakterler içeriyorsa basename() işlevinin davranışı belirsizdir.

Bağımsız Değişkenler

yol

Dosya yolu.

Dizin ayırma karakteri olarak Windows üzerinde hem bölü ( / ) hem de ters bölü ( \ ) çizgisi kullanılabilirken diğer ortamlarda sadece bölü ( / ) çizgisi kullanılabilir.

uzantı

Dosya ismi uzantı içinde devam ediyorsa uzantı ile birlikte bu da kesilir.

Dönen Değerler

Belirtilen dosya yolunun dosya ismi bileşenini döndürür.

Örnekler

Örnek 1 - basename() örneği

<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/sudoers.d").PHP_EOL;
echo "3) ".basename("/etc/passwd").PHP_EOL;
echo "4) ".basename("/etc/").PHP_EOL;
echo "5) ".basename(".").PHP_EOL;
echo "6) ".basename("/");
?>

Yukarıdaki örneğin çıktısı:

1) sudoers
2) sudoers.d
3) passwd
4) etc
5) .
6)

Ayrıca Bakınız

  • dirname() - Üst dizinin yolunu döndürür
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Dosya grubunu değiştirir

  • « basename
  • chmod »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya grubunu değiştirir

chgrp

(PHP 4, PHP 5, PHP 7, PHP 8)

chgrp — Dosya grubunu değiştirir

Açıklama

chgrp(string $dosyaismi, string|int $grup): bool

dosyaismi ile belirtilen dosyanın grubunu grup yapmaya çalışır.

Bir dosyanın grubunu keyfi olarak sadece root değiştirebilir; diğer kullanıcılar sadece sahibi oldukları bir dosyanın grubunu üyesi oldukları gruplarla değiştirebilirler.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

grup

Grup ismi veya numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir dosyanın grubunun değiştirilmesi

<?php
$filename = 'shared_file.txt';
$format = "%s's Group ID @ %s: %d\n";
printf($format, $filename, date('r'), filegroup($filename));
chgrp($filename, 8);
printf($format, $filename, date('r'), filegroup($filename));
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Windows'ta, bu işlev normal bir dosyaya uygulandığında sessizce başarısız olur.

Ayrıca Bakınız

  • chown() - Dosyanın sahibini değiştirir
  • chmod() - Dosya kipini değiştirir


Dosya kipini değiştirir

  • « chgrp
  • chown »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya kipini değiştirir

chmod

(PHP 4, PHP 5, PHP 7, PHP 8)

chmod — Dosya kipini değiştirir

Açıklama

chmod(string $dosyaismi, int $kip): bool

Belirtilen dosyanın kipini kip yapmaya çalışır.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

kip

kip ile belirtilen değerin otomatik olarak sekizlik bir değer olduğu varsayılmamaktadır, bu bakımdan umulan işlemi sağlamak için değerin önüne 0 (sıfır) getirmeniz gerekir. Ayrıca, ("g+w" gibi) dizesel kip belirtimleri çalışmayacaktır

<?php
chmod("/somedir/somefile", 755); // onluk tabanda; doğru sonuç vermeyebilir
chmod("/somedir/somefile", "u+rwx,go+rx"); // dizge; doğru sonuç vermeyebilir
chmod("/somedir/somefile", 0755); // sekizlik; doğru kip değeri.
?>

kip bağımsız değişkeni üç adet sekizlik değerden oluşur. Sırayla kullanıcı, grup ve diğerlerinin izinlerini düzenlerler. Her bileşen kullanıcıya verilen izinlerin toplamından oluşur. Çalıştırma hakkı için 1, yazma hakkı için 2 ve okuma hakkı için 4 değeri toplama dahil edilir. Unix sistemlerindeki kipler hakkında daha ayrıntılı bilgiyi 'man 1 chmod' ve 'man 2 chmod' kılavuz sayfalarında bulabilirsiniz.

<?php
//sahibinden başkası okuyup yazamasın
chmod("/birdizin/birdosya", 0600);

// Sahibi okuyup yazsın başka herkes sadece okuyabilsin
chmod("/birdizin/birdosya", 0644);

// Sahibi herşeyi yapsın, başka herkes okuyup çalıştırabilsin
chmod("/birdizin/birdosya", 0755);

// Sahibi herşeyi yapsın, grup üyeleri okuyup çalıştırabilsin,
// diğerleri hiçbir şey yapamasın
chmod("/birdizin/birdosya", 0750);
?>

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda, bir E_WARNING çıktılanır.

Notlar

Bilginize:

Geçerli kullanıcı PHP'yi çalıştıran kullanıcıdır. Muhtemelen normal kabuk ve FTP erişimi için kullandığınız kullanıcı değildir. Çoğu sistemde dosyanın kipini sadece dosyanın sahibi olan kullanıcı değiştirebilir.

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Ayrıca Bakınız

  • chown() - Dosyanın sahibini değiştirir
  • chgrp() - Dosya grubunu değiştirir
  • fileperms() - Dosya izinlerini döndürür
  • stat() - Bir dosya hakkında bilgi döndürür


Dosyanın sahibini değiştirir

  • « chmod
  • clearstatcache »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın sahibini değiştirir

chown

(PHP 4, PHP 5, PHP 7, PHP 8)

chown — Dosyanın sahibini değiştirir

Açıklama

chown(string $dosyaismi, string|int $kullanıcı): bool

dosyaismi ile belirtilen dosyanın sahibini kullanıcı yapmaya çalışır. Bu değişikliği sadece root yapabilir.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

kullanıcı

Kullanıcı ismi veya numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - chown() örneği

<?php

// Kullanılacak dosya ve kullanıcı ismi
$dosya_ismi= "foo.php";
$yol = "/home/sites/php.net/public_html/sandbox/" . $dosya_ismi ;
$kull_ismi = "root";

// Kullanıcıyı değiştirelim
chown($yol, $kull_ismi);

// sonucu sınayalım
$durum = stat($yol);
print_r(posix_getpwuid($stat['uid']));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name] => root
    [passwd] => x
    [uid] => 0
    [gid] => 0
    [gecos] => root
    [dir] => /root
    [shell] => /bin/bash
)

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Windows'ta, bu işlev normal bir dosyaya uygulandığında sessizce başarısız olur.

Ayrıca Bakınız

  • chmod() - Dosya kipini değiştirir
  • chgrp() - Dosya grubunu değiştirir


Dosya durum önbelleğini temizler

  • « chown
  • copy »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya durum önbelleğini temizler

clearstatcache

(PHP 4, PHP 5, PHP 7, PHP 8)

clearstatcache — Dosya durum önbelleğini temizler

Açıklama

clearstatcache(bool $gerçek_yol_belleğini_temizle = false, string $dosyaismi = ""): void

Aşağıda verilen etkilenen işlevler listesindeki işlevlerden başka stat() veya lstat() işlevini kullanırsanız PHP işlemi hızlandırmak için bu işlevlerin döndürdüğü bilgiyi önbelleğe alır. Bununla birlikte belli durumlarda önbellekteki bilgiyi temizlemek ihtiyacını duyabilirsiniz. Örneğin hep aynı dosyanın varlığını sınayan bir betik için dosyanın işlem sırasında silinmesi veya değişmesi tehlikesi varsa durum önbelleğini temizlememeyi seçebilirsiniz. Bu gibi durumlarda, PHP'nin dosya hakkında önbelleğe aldığı bilgiyi temizlemek için clearstatcache() işlevini kullanabilirsiniz.

PHP'nin mevcut olmayan dosyalar hakkında önbellekte bilgi saklamadığına dikkat ediniz. Bu bakımdan, varolmayan bir dosya üzerinde file_exists() işlevini çağırırsanız, siz dosyayı oluşturana kadar işlev false döndürecektir. Siz dosyayı oluşturduktan sonra dosyayı silseniz bile işlev true döndürecektir. Bunun yanında, unlink() işlevi önbelleği otomatik olarak temizleyecektir.

Bilginize:

Bu işlev belli dosya isimleri hakkında bilgiyi önbelleğe alır; dolayısıyla aynı dosya üzerinde çok sayıda işlem yapıyorsanız ve bu dosya hakkındaki bilgilerin önbellekte saklanmaması gerekiyorsa tek ihtiyacınız clearstatcache() çağrısı yapmak olacaktır.

Önbelleklemeden etkilenen işlevler:
stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype() ve
fileperms().

Bağımsız Değişkenler

gerçek_yol_belleğini_temizle

Gerçek yol öbbelleğinin de ayrıca temizleneceği bilgisi.

dosyaismi

Gerçek yol önbelleği sadece belirtilen dosya için ve sadece gerçek_yol_belleğini_temizle bağımsız değişkenine true atandığı takdirde temizlenir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - clearstatcache() örneği

<?php
$file = 'output_log.txt';

function get_owner($file)
{
$stat = stat($file);
$user = posix_getpwuid($stat['uid']);
return $user['name'];
}

$format = "UID @ %s: %s\n";

printf($format, date('r'), get_owner($file));

chown($file, 'ross');
printf($format, date('r'), get_owner($file));

clearstatcache();
printf($format, date('r'), get_owner($file));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross


Dosya kopyalar

  • « clearstatcache
  • delete »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya kopyalar

copy

(PHP 4, PHP 5, PHP 7, PHP 8)

copy — Dosya kopyalar

Açıklama

copy(string $kaynak, string $hedef, ?resource $bağlam = null): bool

kaynak dosyasını hedef dosyasına kopyalar.

Dosyayı taşımak istiyorsanız rename() işlevini kullanın.

Bağımsız Değişkenler

kaynak

Kaynak dosyanın yolu.

hedef

Hedef dosyanın yolu. Bir URL olarak belirtilirse sarmalayıcı mevcut dosyaların üzerine yazılmasını desteklemiyorsa kopyalama başarısız olabilir.

Uyarı

Hedefte dosya varsa, dosyanın üzerine yazılır.

bağlam

stream_context_create() işlevi tarafından oluşturulmuş geçerli bir bağlam.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - copy() örneği

<?php
$mevcut = 'example.txt';
$yeni = 'example.txt.bak';

if (!copy($mevcut, $yeni)) {
echo "$mevcut kopyalanamadı...\n";
}
?>

Ayrıca Bakınız

  • move_uploaded_file() - Karşıya yüklenen bir dosyayı yeni bir yere taşır
  • rename() - Bir dosya veya dizinin ismini değiştirir
  • Karşıya dosya yükleme


unlink veya unset işlevine bakınız

  • « copy
  • dirname »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • unlink veya unset işlevine bakınız

delete

delete — unlink() veya unset() işlevine bakınız

Açıklama

PHP dilinde "delete" ne bir anahtar sözcük ne de bir işlev ismidir. Bir dosyayı silmek istiyorsanız, unlink() işlevini deneyin. Yerel etki alanındaki bir değişkeni silmek için unset() işlevine bakın.

Ayrıca Bakınız

  • unlink() - Bir dosyayı siler
  • unset() - Belirtilen değişkeni bildirimsiz yapar


Üst dizinin yolunu döndürür

  • « delete
  • disk_free_space »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Üst dizinin yolunu döndürür

dirname

(PHP 4, PHP 5, PHP 7, PHP 8)

dirname — Üst dizinin yolunu döndürür

Açıklama

dirname(string $yol, int $seviye = 1): string

Bir dosyanın veya dizinin yolunu içeren bir dizge verildiğinde, bu işlev en alt seviyedeki dizinden seviye sayıda üstte bulunan dizinin yolunu döndürür.

Bilginize:

dirname() safça girdi dizgesi üzerinde çalışır, ne dosya sistemini ne de ".." gibi yol bileşenlerini bilir.

Dikkat

Windows üzerinde, dirname() geçerli olarak ayarlanmış kod sayfasına göre davranır, bu nedenle çok baytlı karakter yollarında doğru dizin adını görmesi için eşleşen kod sayfasının ayarlanması gerekir. yol, mevcut kod sayfası için geçersiz karakterler içeriyorsa,dirname() işlevinin davranışı tanımsızdır.

Diğer sistemlerde dirname(), yolun ASCII uyumlu kodlamayla kodlanacağını varsayar. Aksi takdirde, işlevin davranışı tanımsızdır.

Bağımsız Değişkenler

yol

Dosya yolu.

Dizin ayırma karakteri olarak Windows üzerinde hem bölü (/) hem de ters bölü (\) çizgisi kullanılabilirken diğer ortamlarda sadece bölü (/) çizgisi kullanılabilir.

seviye

Üstteki dizinlerin seviyesi.

Sıfırdan büyük bir tamsayı olmalıdır.

Dönen Değerler

Üst dizinin yolunu döndürür. yol bağımsız değişkeni hiç bölü çizgisi içermiyorsa, içinde bulunulan dizin anlamında tek bir nokta ('.') döner. Aksi takdirde yol dizgesi son /bileşen kaldırılarak döndürülülür.

Dikkat

Bu işlevi kök dizine ulaşabilen bir döngüde kullanırken dikkatli olun, çünkü bu sonsuz bir döngüye sebep olabilir.

<?php
dirname('.'); // '.' döner
dirname('/'); // Windows'ta `\` ve *nix'lerde '/'
dirname('\\'); // Windows'ta `\` ve *nix'lerde '.'
dirname('C:\\'); // Windows'ta 'C:\' ve *nix'lerde '.'
?>

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.0 | seviye bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - dirname() örneği

<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("C:\\") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/etc
/ (veya Windows üzerinde \)
.
C:\
/usr

Ayrıca Bakınız

  • basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür
  • realpath() - Normalleştirilmiş mutlak dosya yolunu döndürür


Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür

  • « dirname
  • disk_total_space »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür

disk_free_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

disk_free_space — Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür

Açıklama

disk_free_space(string $dizin): float|false

Belirtilen dizinin bulunduğu dosya sistemi veya disk bölümünün kullanılabilir toplam boyunu bayt cinsinden döndürür.

Bağımsız Değişkenler

dizin

Bir dosya sisteminin veya disk bölümünün bir dizini.

Bilginize:

Bir dizin yerine bir dosya verildiği takdirde işlevin davranışı belirsizdir ve kullanılan işletim sistemine ve PHP sürümüne göre farklılık gösterebilir.

Dönen Değerler

Hata oluşmuşsa false, yoksa kullanılabilir toplam bayt sayısını bir gerçek sayı olarak döndürür.

Örnekler

Örnek 1 - disk_free_space() örneği

<?php
// $df kök dizin altındaki kullanılabilir toplam bayt sayısını içerir
$df = disk_free_space("/");

// Windows üzerinde:
$df_c = disk_free_space("C:");
$df_d = disk_free_space("D:");
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Ayrıca Bakınız

  • disk_total_space() - Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür


Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür

  • « disk_free_space
  • diskfreespace »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür

disk_total_space

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

disk_total_space — Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür

Açıklama

disk_total_space(string $dizin): float|false

Belirtilen dizinin bulunduğu dosya sistemi veya disk bölümünün toplam boyunu bayt cinsinden döndürür.

Bağımsız Değişkenler

dizin

Bir dosya sisteminin veya disk bölümünün bir dizini.

Dönen Değerler

Hata durumunda false yoksa toplam bayt sayısını bir gerçek sayı olarak döndürür.

Örnekler

Örnek 1 - disk_total_space() örneği

<?php
// $df kök dizin altındaki toplam bayt sayısını içerir
$df = disk_total_space("/");

// Windows üzerinde:
$df = disk_total_space("C:");
$df = disk_total_space("D:");
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Ayrıca Bakınız

  • disk_free_space() - Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür


disk_free_space işlevinin takma adıdır

  • « disk_total_space
  • fclose »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • disk_free_space işlevinin takma adıdır

diskfreespace

(PHP 4, PHP 5, PHP 7, PHP 8)

diskfreespace — disk_free_space() işlevinin takma adıdır

Açıklama

Bu işlev disk_free_space() işlevinin takma adıdır.


Açık bir dosya tanıtıcısını kapatır

  • « diskfreespace
  • fdatasync »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Açık bir dosya tanıtıcısını kapatır

fclose

(PHP 4, PHP 5, PHP 7, PHP 8)

fclose — Açık bir dosya tanıtıcısını kapatır

Açıklama

fclose(resource $dt): bool

dt ile ilişkilendirilmiş dosya kapatılır.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Basit bir fclose() örneği

<?php

$dt = fopen('birdosya.txt', 'r');

fclose($dt);

?>

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar


Synchronizes data (but not meta-data) to the file

  • « fclose
  • feof »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Synchronizes data (but not meta-data) to the file

fdatasync

(PHP 8 >= 8.1.0)

fdatasync — Synchronizes data (but not meta-data) to the file

Açıklama

fdatasync(resource $stream): bool

This function synchronizes stream contents to storage media, just like fsync() does, but it does not synchronize file meta-data. Note that this function is only effectively different in POSIX systems. In Windows, this function is aliased to fsync().

Bağımsız Değişkenler

stream

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 fdatasync() example

<?php

$file = 'test.txt';

$stream = fopen($file, 'w');
fwrite($stream, 'test data');
fwrite($stream, "\r\n");
fwrite($stream, 'additional data');

fdatasync($stream);
fclose($stream);
?>

Ayrıca Bakınız

  • fflush() - Çıktıyı bir dosyaya boşaltır
  • fsync() - Synchronizes changes to the file (including meta-data)


Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar

  • « fdatasync
  • fflush »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar

feof

(PHP 4, PHP 5, PHP 7, PHP 8)

feof — Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar

Açıklama

feof(resource $dt): bool

Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Eğer dosya sonu (EOF) saptanmışsa veya bir hata oluşmuşsa (soketin zaman aşımına uğraması gibi) true, aksi takdirde false döner.

Notlar

Uyarı

fsockopen() tarafından açılmış bir bağlantı sunucu tarafından kapatılmamışsa, feof() işlevi bir zaman aşımı oluşuncaya kadar bekler ve true döndürür. Öntanımlı zaman aşımı süresi 60 saniyedir. Bu değeri değiştirmek için stream_set_timeout() işlevini kullanabilirsiniz.

Uyarı

Eğer belirtilen dosya tanıtıcısı geçersizse feof() başarısız olup true döndüreceğinden sonsuz bir döngü oluşabilir.

Örnek 1 - Geçersiz dosya tanıtıcılı feof() örneği

<?php
// Dosya okunamazsa veya yoksa fopen işlevi FALSE döndürür
$file = @fopen("olmayan_dosya", "r");

// fopen FALSE döndürdüğünden bir uyarı çıktılanır
// ve burada sonsuz döngü oluşur.
while (!feof($file)) {
}

fclose($file);
?>


Çıktıyı bir dosyaya boşaltır

  • « feof
  • fgetc »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Çıktıyı bir dosyaya boşaltır

fflush

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fflush — Çıktıyı bir dosyaya boşaltır

Açıklama

fflush(resource $dt): bool

Bu işlev tüm tampon çıktısının dosya tanıtıcısı dt ile belirtilen dosyaya yazılması için zorlar.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - fflush() kullanarak dosyaya yazma örneği

<?php
$filename = 'bar.txt';

$file = fopen($filename, 'r+');
rewind($file);
fwrite($file, 'Foo');
fflush($file);
ftruncate($file, ftell($file));
fclose($file);
?>

Ayrıca Bakınız

  • clearstatcache() - Dosya durum önbelleğini temizler
  • fwrite() - Dosyaya ikil kipte yazar


Dosya tanıtıcısından bir karakter döndürür

  • « fflush
  • fgetcsv »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya tanıtıcısından bir karakter döndürür

fgetc

(PHP 4, PHP 5, PHP 7, PHP 8)

fgetc — Dosya tanıtıcısından bir karakter döndürür

Açıklama

fgetc(resource $dt): string|false

Belirtilen dosya tanıtıcısından bir karakter döndürür.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Dosya tanıtıcısı dt ile belirtilen bir dosyadan tek bir karakter içeren bir dizge döndürür. Dosya sonuna gelindiğinde false döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 - fgetc() örneği

<?php
$dt = fopen('birdosya.txt', 'r');
if (!$dt) {
echo 'birdosya.txt dosyası açılamadı';
}
while (false !== ($kar = fgetc($dt))) {
echo "$kar\n";
}
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fopen() - Bir dosya veya URL'yi açar
  • popen() - Bir süreç tanıtıcısı açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • fgets() - Dosya tanıtıcısından bir satır döndürür


Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür

  • « fgetc
  • fgets »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür

fgetcsv

(PHP 4, PHP 5, PHP 7, PHP 8)

fgetcsv — Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür

Açıklama

fgetcsv(
resource $akım,
?int $uzunluk = null,
string $ayraç = ",",
string $sınırlayıcı = "\"",
string $öncelem = "\\"
): array|false

Satırı okuyup CSV biçemindeki alanları bir dizi içinde döndürmesi dışında fgets() işlevi gibidir.

Bilginize:

Bu işlevde yerel ayarları hesaba katılır. Eğer LANG, örneğin, tr_TR.UTF-8 ise ISO-8859-9 ile kodlanmış dosyaları bu işlev hatalı okuyacaktır.

Bağımsız Değişkenler

akım

fopen(), popen()veya fsockopen() tarafından başarıyla açılmış geçerli bir dosyanın tanıtıcısı.

uzunluk

CSV dosyasındaki en uzun satırdan (satırsonu karakterleri dahil) daha büyük bir değer içermelidir. Parçalara ayırma sınırlı bir alanda gerçekleşmeyecekse, satır uzunluk karakterden oluşan parçalara bölünür.

Bu bağımsız değişkenin belirtilmemesi (veya PHP 8.0.0 ve sonrası için 0 veya null belirtilmesi) durumunda azami satır uzunluğu sınırlanmaz fakat işlem yavaşlar.

ayraç

İsteğe bağlı bu bağımsız değişken ile alan ayracı (tek baytlık bir karakter) belirtilir.

sınırlayıcı

İsteğe bağlı bu bağımsız değişken ile alan sınırlayıcı (tek baytlık bir karakter) belirtilir.

öncelem

Belirtilmesi seçimlik olup önceleme karakteri (tek baytlık bir karakter) belirtmekte kullanılır. Boş dizge ("") özel önceleme mekanizmasını iptal eder.

Bilginize: Genellikle bir sınırlayıcı karakter bir alanın içinde çiftlenerek öncelenir; ancak, öndeki karakterin yerini öncelem karakteri alabilir. Bu nedenle, öntanımlı "" karakteri ile \" aynı anlama gelir. öncelem karakterinin sınırlayıcı karakteri öncelemek dışında özel bir anlamı yoktur; kendisini de öncelemesi amaçlanmamıştır.

Dönen Değerler

Başarı durumunda okunan alanları içeren indisli bir dizi, başarısızlık durumunda false döner.

Bilginize:

CSV dosyasındaki boş bir satır tek bir null içeren bir dizi olarak döndürülür ve bir hata olarak ele alınmaz.

Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.
7.4.0 | öncelem bağımsız değişkeni özel önceleme mekanizmasını iptal etmek için boş dizge kabul ediyor.

Örnekler

Örnek 1 - Bir CSV dosyasının okunup basılması

<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $row satırındaki $num alan: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose($handle);
}
?>

Ayrıca Bakınız

  • str_getcsv() - Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır
  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • pack() - Veriyi ikil bir dizge halinde paketler
  • fputcsv() - Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar


Dosya tanıtıcısından bir satır döndürür

  • « fgetcsv
  • fgetss »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya tanıtıcısından bir satır döndürür

fgets

(PHP 4, PHP 5, PHP 7, PHP 8)

fgets — Dosya tanıtıcısından bir satır döndürür

Açıklama

fgets(resource $akım, ?int $uzunluk = null): string|false

Belirtilen dosya tanıtıcısından bir satır döndürür.

Bağımsız Değişkenler

akım

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

uzunluk

uzunluk - 1 bayt okununca bir satırsonu karakterinde veya dosya sonunda (hangisi önce vuku bulursa) okuma işlemi durur. Bir uzunluk belirtilmezse akımdan okuma işlemi satırın sonuna erişilinceye kadar sürdürülür.

Dönen Değerler

Dosya tanıtıcısı akım ile belirtilen bir dosyadan uzunluk - 1 baytlık veriyi bir dizge içinde döndürür. Dosya konumlayıcıdan başka veri okunamıyorsa false döner.

Bir hata oluşursa false döner.

Örnekler

Örnek 1 - Bir dosyanın satır satır okunması

<?php
$dt = @fopen("/tmp/inputfile.txt", "r");
if ($dt) {
while (($buffer = fgets($dt, 4096)) !== false) {
echo $buffer;
}
if (!feof($dt)) {
echo "Hata: beklenmeyen fgets() başarısızlığı\n";
}
fclose($dt);
}
?>

Notlar

Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Bilginize:

fgets() işlevinin 'C' dilindeki anlamlandırılmasını bilenler dosya sonu karakterinin (EOF) döndürülüşü ile ilgili farka dikkat etmelidir.

Ayrıca Bakınız

  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fread() - Dosyayı ikil kipte okur
  • fgetc() - Dosya tanıtıcısından bir karakter döndürür
  • stream_get_line() - Akımdan belirtilen ayraca kadar bir satır döndürür
  • fopen() - Bir dosya veya URL'yi açar
  • popen() - Bir süreç tanıtıcısı açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar


Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür

  • « fgets
  • file_exists »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür

fgetss

(PHP 4, PHP 5, PHP 7)

fgetss — Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür

Uyarı

Bu işlevin kullanımı PHP 7.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

fgetss(resource $dt, int $uzunluk = ?, string $etiketler = ?): string

Okunan metinden null baytları, HTML ve PHP etiketlerini temizlemesi dışında fgets() işlevi ile aynıdır. İşlev, çağrıdan çağrıya ayrıştırma durumunu korur, bu nedenle, fgets() dönüş değeriyle strip_tags() işlevin çağırmaya eşdeğer değildir.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

uzunluk

Döndürülecek verinin uzunluğu.

etiketler

Hangi etiketlerin ayıklanacağını bu isteğe bağlı bağımsız değişken ile belirtebilirsiniz. Ayrıntılar için strip_tags() işlevinin ayıklanmayacaklar bağımsız değişkeninin açıklamasına bakınız.

Dönen Değerler

Dosya tanıtıcısı dt ile belirtilen bir dosyadan uzunluk - 1 baytlık veriyi HTML ve PHP etiketlerinden arındırarak bir dizge içinde döndürür.

Bir hata oluşursa false döner.

Örnekler

Örnek 1 - Bir PHP dosyasının satır satır okunması

<?php
$str = <<<EOD
<html><body>
<p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents('sample.php', $str);

$dt = @fopen("sample.php", "r");
if ($dt) {
while (!feof($dt)) {
$tampon = fgetss($dt, 4096);
echo $tampon;
}
fclose($dt);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

 Welcome! Today is the  of .

Text outside of the HTML block.

Notlar

Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Ayrıca Bakınız

  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fopen() - Bir dosya veya URL'yi açar
  • popen() - Bir süreç tanıtıcısı açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • strip_tags() - Bir dizgeden HTML ve PHP etiketlerini ayıklar
  • SplFileObject::fgetss() - Gets line from file and strip HTML tags
  • The string.strip_tags süzgeci


Bir dosya veya dizinin mevcut olup olmadığına bakar

  • « fgetss
  • file_get_contents »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya veya dizinin mevcut olup olmadığına bakar

file_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

file_exists — Bir dosya veya dizinin mevcut olup olmadığına bakar

Açıklama

file_exists(string $dosyaismi): bool

Bir dosya veya dizinin mevcut olup olmadığına bakar.

Bağımsız Değişkenler

dosyaismi

Dosya veya dizinin yolu.

Windows üzerinde, ağ paylaşımlarındaki dosyaları sınamak için //makineadı/paylaşım/dosyaismi veya \\makineadı\paylaşım\dosyaismi sözdizimlerini kullanın.

Dönen Değerler

dosyaismi ile belirtilen dosya veya dizin mevcutsa true değilse false.

Bilginize:

Bu işlev var olmayan dosyaları işaret eden sembolik bağlar için false döndürür.

Bilginize:

Sınama etkin UID/GID ile değil gerçek UID/GID kullanılarak yapılır.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Bir dosyanın varlığının sınanması

<?php
$dosya = '/bir/yol/dosya.txt';

if (file_exists($dosya)) {
echo "$dosya diye bir dosya var";
} else {
echo "$dosya diye bir dosya yok";
}
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_readable() - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • is_writable() - Dosyanın yazılabilir kipte ise bunu doğrular
  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • SplFileInfo


Dosya içeriğinin tamamını bir dizge olarak döndürür

  • « file_exists
  • file_put_contents »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya içeriğinin tamamını bir dizge olarak döndürür

file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

file_get_contents — Dosya içeriğinin tamamını bir dizge olarak döndürür

Açıklama

file_get_contents(
string $dosyaismi,
bool $use_include_path = false,
?resource $bağlam = null,
int $başlangıç = 0,
?int $uzunluk = null
): string|false

Belirtilen dosyanın başlangıç konumundan başlayan uzunluk baytını bir dizge olarak döndürmesi dışında file() işlevi gibidir. İşlem başarılı olmazsa false döner.

file_get_contents() işlevi bir dosyanın içeriğini bir dizgeye okumak için tercih edilen bir işlevdir. Başarımı arttırmak için eğer işletim sistemi tarafından destekleniyorsa bellek eşlem tekniklerini kullanılacaktır.

Bilginize:

Boşluklar gibi özel karakterler içeren bir URI'yi açmaya çalışıyorsanız URI'yi urlencode() ile kodlamalısınız.

Bağımsız Değişkenler

dosyaismi

İçeriği okunacak dosyanın ismi.

use_include_path

Bilginize:

Aramanın include path yönergesinde belirtilen yollarda da yapılacağını belirtmek için FILE_USE_INCLUDE_PATH sabiti kullanılabilir. Ancak, katı kodlama etkinse FILE_USE_INCLUDE_PATH sabiti int türünde olduğundan bu mümkün değildir. Yerine true kullanın.

bağlam

stream_context_create() işlevi tarafından oluşturulmuş geçerli bir bağlam özkaynağı. Özel bir bağlam kullanmaya ihtiyacınız yoksa bu bağımsız değişkene null atayabilirsiniz.

başlangıç

Akım üzerinde okumaya başlanacak konum. Negatif değerler dosyanın sonundan itibaren sayılır.

Uzak dosyalarda arama (başlangıç) desteklenmemektedir. Yerel olmayan dosyalarda küçük başlangıçlarla çalışmak mümkünse de bu işlem tamponlanmış akım üzerine yapılacağından sonuçları öngörülemez.

uzunluk

Okunacak verinin azami uzunluğu. Öntanımlı olarak dosya sonuna kadar okunur. Bu bağımsız değişken süzgeçler tarafından işlenen akıma ugulanır.

Dönen Değerler

Hata durumunda false aksi takdirde dosyadan okunan veriyi döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Hatalar/İstisnalar

dosyaismi bulunamazsa, uzunluk sıfırdan küçükse, başlangıç akım üzerinde aranabilir değilse, E_WARNING seviyesinde bir hata üretilir.

file_get_contents() bir dizin için çağrılırsa, Windows'ta ve PHP 7.4'ten beri diğer işletim sistemlerinde E_WARNING seviyesinde bir hata üretilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.
7.1.0 | başlangıç artık negatif değer kabul ediyor.

Örnekler

Örnek 1 - Site başsayfasının kaynak kodunun çıktılanması

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

Örnek 2 - include_path içinde arama

<?php
// Katı kodlama etkinse, yani declare(strict_types=1); ise
$file = file_get_contents('./people.txt', true);
// değilse
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>

Örnek 3 - Bir dosyanın belli bir bölümünün okunması

<?php
// 21. karakterden itibaren 14 karakter okuyalım
$section = file_get_contents('./people.txt', FALSE, NULL, 20, 14);
var_dump($section);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(14) "lle Bjori Ro"

Örnek 4 - Akım bağlamı kullanımı

<?php
// Bir akım oluşturalım
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);

$context = stream_context_create($opts);

// Yukarıda atadığımız HTTP başlıklarını kullanarak dosyayı açalım
$file = file_get_contents('http://www.example.com/', false, $context);
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Uyarı

Microsoft IIS, SSL kullanırken bir close_notify göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna ulaştığınız zaman PHP bunu "SSL: Fatal Protocol Error" (SSL: "Ölümcül Protokol Hatası") olarak raporlar. Bu sorunu bertaraf etmek için error_reporting değerini uyarıları içermeyecek bir seviyeye indirmek gerekir. PHP, akımı https:// şeması kullanılarak açılırsa hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir ssl:// soketi oluşturmak için fsockopen() kullanılacaksa uyarıları saptayıp engellemekten geliştirici sorumludur.

Ayrıca Bakınız

  • file() - Dosya içeriğinin tamamını bir diziye okur
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fread() - Dosyayı ikil kipte okur
  • readfile() - Bir dosyayı çıktılar
  • file_put_contents() - Veriyi bir dosyaya yazar
  • stream_get_contents() - Akımdan kalanı bir dizgeye okur
  • stream_context_create() - Bir akım bağlamı oluşturur
  • $http_response_header


Veriyi bir dosyaya yazar

  • « file_get_contents
  • file »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Veriyi bir dosyaya yazar

file_put_contents

(PHP 5, PHP 7, PHP 8)

file_put_contents — Veriyi bir dosyaya yazar

Açıklama

file_put_contents(
string $dosyaismi,
mixed $veri,
int $seçenekler = 0,
?resource $bağlam = null
): int|false

Bu işlev, veriyi bir dosyaya yazmak için sırayla fopen(), fwrite() ve fclose() işlevlerinin çağrılmasına denk bir işlem yapar.

Eğer dosyaismi mevcut değilse dosya oluşturulur. Aksi takdirde, FILE_APPEND seçeneği etkin değilse veri mevcut dosyanın üzerine yazılır.

Bağımsız Değişkenler

dosyaismi

Verinin yazılacağı dosyanın yolu.

veri

Yazılacak veri. Bir dizi, bir dizge veya bir özkaynak olabilir.

Eğer veri bir akım özkaynağı ise tamponda kalan verinin tamamı dosyaya yazılır. Bu işlem, stream_copy_to_stream() kullanımına eşdğerdir.

veri bağımsız değişkeninde tek boyutlu bir dizi de belirtebilirsiniz. Bu takdirde yapılan işlem file_put_contents(dosyaismi, implode('', $dizi)) işlemine denktir.

seçenekler

İsteğe bağlı bu bağımsız değişkende bazı kısıtlamalarla şu sabitlerden bir veya daha fazlasını ikil VEYA (|) ile birleştirerek belirtebilirsiniz:

Belirtilebilecek seçenekler
Seçenet | Açıklama
FILE_USE_INCLUDE_PATH | Dosya include_path yönergesinde belirtilen yollarda aranır.
FILE_APPEND | Eğer dosyaismi dosyası mevcutsa veri dosyanın üzerine yazılmaz, sonuna eklenir.
LOCK_EX | Yazma işlemi için dosya üzerinde ayrıcalıklı bir kilit edinilir. Başka bir deyişle, fopen() ve fwrite() çağrıları arasında bir flock() çağrısı yapılır. Bu, "x" kipiyle fopen() çağrısına denk değildir.

bağlam

stream_context_create() ile oluşturulmuş geçerli bir bağlam özkaynağı.

Dönen Değerler

İşlev, başarısızlık durumunda false, aksi takdirde dosyaya yazılan baytların sayısı ile döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 - Basit kullanım örneği

<?php
$file = 'people.txt';
// İçeriğini almak için dosyayı açalım
$içerik = file_get_contents($file);
// İçeriğe yeni bir kişi ekleyelim
$içerik .= "John Smith\n";
// İçeriği dosyaya yazalım
file_put_contents($file, $içerik);
?>

Örnek 2 - Seçenek kullanımı

<?php
$file = 'people.txt';
// Dosyaya eklenecek yeni kişi
$person = "John Smith\n";
// $person değişkeninin değerini $file dosyasına ekleyelim.
// FILE_APPEND veriyi dosyanın sonuna ekler.
// LOCK_EX aynı anda başka birinin başka bir şey yazmasını engeller.
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • fwrite() - Dosyaya ikil kipte yazar
  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür
  • stream_context_create() - Bir akım bağlamı oluşturur


Dosya içeriğinin tamamını bir diziye okur

  • « file_put_contents
  • fileatime »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya içeriğinin tamamını bir diziye okur

file

(PHP 4, PHP 5, PHP 7, PHP 8)

file — Dosya içeriğinin tamamını bir diziye okur

Açıklama

file(string $dosyaismi, int $seçenekler = 0, ?resource $bağlam = null): array|false

Dosyanın tamamını bir dizi içinde döndürür.

Bilginize:

Dosya içeğini bir dizge olarak döndürmek için file_get_contents() işlevini kullanabilirsiniz.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

seçenekler

İsteğe bağlı bu bağımsız değişkende şu sabitlerden bir veya daha fazlasını belirtebilirsiniz:

FILE_USE_INCLUDE_PATH
Dosya include_path yönergesinde belirtilen yollarda aranır.
FILE_IGNORE_NEW_LINES
Dizi elemanlarının sonundaki satırsonu karakteri atlanır.
FILE_SKIP_EMPTY_LINES
Boş satırlar atlanır.
FILE_NO_DEFAULT_CONTEXT
Öntanımlı bağlam kullanılmaz.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Dosyayı bir dizi olarak döndürür. Dizinin her elemanı dosyanın bir satırına karşılıktır ve satırsonu karakterleri ayrılmaz. Başarısızlık durumunda işlev false döndürür.

Bilginize:

FILE_IGNORE_NEW_LINES sabiti kullanılmadığı sürece dizinin her elemanı bir satırsonu karakteri içerecektir.

Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Hatalar/İstisnalar

Dosya mevcut değilse E_WARNING seviyesinde bir hata çıktılanır.

Örnekler

Örnek 1 - file() örneği

<?php
// Dosyayı bir diziye aktaralım. Bu örnekte HTTP üzerinden
// bir URL sayesinde HTML içeriği okuyacağız.
$lines = file('http://www.example.com/');

// Diziyi döngüye sokarak HTML kaynağını satır
// numaralarıyla birlikte gösterelim.
foreach ($lines as $line_num => $line) {
echo "Satır #<b>{$line_num}</b>: " . htmlspecialchars($line) . "<br />\n";
}

// Seçimlik seçenekler bağımsız değişkeni kullanılabilir
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

Notlar

Uyarı

Microsoft IIS, SSL kullanırken bir close_notify göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna ulaştığınız zaman PHP bunu "SSL: Fatal Protocol Error" (SSL: "Ölümcül Protokol Hatası") olarak raporlar. Bu sorunu bertaraf etmek için error_reporting değerini uyarıları içermeyecek bir seviyeye indirmek gerekir. PHP, akımı https:// şeması kullanılarak açılırsa hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir ssl:// soketi oluşturmak için fsockopen() kullanılacaksa uyarıları saptayıp engellemekten geliştirici sorumludur.

Ayrıca Bakınız

  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür
  • readfile() - Bir dosyayı çıktılar
  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • popen() - Bir süreç tanıtıcısı açar
  • include - include
  • stream_context_create() - Bir akım bağlamı oluşturur


Dosyaya son erişim zamanını döndürür

  • « file
  • filectime »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyaya son erişim zamanını döndürür

fileatime

(PHP 4, PHP 5, PHP 7, PHP 8)

fileatime — Dosyaya son erişim zamanını döndürür

Açıklama

fileatime(string $dosyaismi): int|false

Belirtilen dosyaya son erişim zamanını döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Hata durumunda false aksi takdirde dosyaya son erişim zamanını döndürür. Zaman bir Unix zaman damgası olarak döndürülür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - fileatime() örneği

<?php
// Çıktı şöyle bir şey olur:
// birdosya.txt dosyasının son erişim zamanı: December 29 2008 22:16:23.

$dosya = 'birdosya.txt';
if (file_exists($dosya)) {
echo "$dosya dosyasının son değişiklik zamanı: " .
date ("F d Y H:i:s.", fileatime($dosya));
}
?>

Notlar

Bilginize:

Bir dosyanın erişim zamanının dosyanın veri blokları okunduğu zaman değiştiği varsayılır. Eğer bir uygulama çok büyük sayıda dosya ve dizine erişerek çalışıyorsa, bu, epeyce bir başarım kaybına sebep olur.

Bazı Unix dosya sistemlerinde böyle uygulamaların başarımını arttırabilmek için erişim zamanının güncellenmesi iptal edilebilmektedir. Böyle dosya sistemlerinde bu işlev kullanışsızdır.

Bilginize:

Zaman çözünürlüğünün dosya sistemine göre farklı olabileceğini unutmayın.

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • filemtime() - Dosyanın değişiklik zamanını döndürür
  • fileinode() - Dosyanın düğüm numarasını döndürür
  • date() - Unix zaman damgasını biçimlendirir


Dosyanın dosya düğümü değişiklik zamanını döndürür

  • « fileatime
  • filegroup »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın dosya düğümü değişiklik zamanını döndürür

filectime

(PHP 4, PHP 5, PHP 7, PHP 8)

filectime — Dosyanın dosya düğümü değişiklik zamanını döndürür

Açıklama

filectime(string $dosyaismi): int|false

Belirtilen dosyanın dosya düğümü değişiklik zamanını döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Belirtilen dosyanın son dosya düğümü değişiklik zamanını döndürür. Hata durumunda false döner. Zaman bir Unix zaman damgası olarak döndürülür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - filectime() örneği

<?php
// Çıktı şöyle bir şey olur:
// birdosya.txt dosyasının son değişiklik zamanı: December 29 2008 22:16:23.

$dosya = 'birdosya.txt';
if (file_exists($dosya)) {
echo "$dosya dosyasının son değişiklik zamanı: " .
date ("F d Y H:i:s.", filectime($dosya));
}
?>

Notlar

Bilginize:

Çoğu Unix dosya sisteminde dosya düğümü verisi değiştiğinde, yani, dosya izinleri, dosyanın sahibi veya grubu ya da diğer temel verileri değiştiğinde dosya değişmiş sayılır. Ayrıca, (sitenizin son güncellendiği tarihi belirtmek isterseniz) filemtime() ve fileatime() işlevlerine de bakınız.

Bilginize:

Bazı Unix belgelerinde bir dosyanın dosya düğümü değişiklik zamanı dosyanın oluşturuluş zamanı olarak gösterilir. Bu yanlıştır. Çoğu Unix dosya sisteminde Unix dosyaları için bir oluşturulma zamanı mevcut değildir.

Bilginize:

Zaman çözünürlüğünün dosya sistemine göre farklı olabileceğini unutmayın.

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • filemtime() - Dosyanın değişiklik zamanını döndürür


Dosyanın sahibi olan grubu döndürür

  • « filectime
  • fileinode »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın sahibi olan grubu döndürür

filegroup

(PHP 4, PHP 5, PHP 7, PHP 8)

filegroup — Dosyanın sahibi olan grubu döndürür

Açıklama

filegroup(string $dosyaismi): int|false

Dosyanın sahibi olan grubu döndürür. Grup kimliği sayısal biçemde döner. Grup ismini elde etmek için posix_getgrgid() işlevini kullanabilirsiniz.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Bir hata oluşursa false oluşmazsa dosyanın sahibi olan grubu döndürür. Grup kimliği sayısal biçemde döner. Grup ismini elde etmek için posix_getgrgid() işlevini kullanabilirsiniz.

Hatalar/İstisnalar

Başarısızlık halinde bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Bir dosyanın grubunun bulunması

<?php
$dosya = 'index.php';
print_r(posix_getgrgid(filegroup($dosya)));
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • fileowner() - Dosya sahibini döndürür
  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir


Dosyanın düğüm numarasını döndürür

  • « filegroup
  • filemtime »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın düğüm numarasını döndürür

fileinode

(PHP 4, PHP 5, PHP 7, PHP 8)

fileinode — Dosyanın düğüm numarasını döndürür

Açıklama

fileinode(string $dosyaismi): int|false

Dosyanın düğüm numarasını döndürür.

Bağımsız Değişkenler

filename

Dosya yolu.

Dönen Değerler

Hata durumunda false aksi takdirde dosyanın düğüm numarasını döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Bir dosyanın düğüm numarasının geçerli dosya ile karşılaştırılması

<?php
$dosya = 'index.php';
if (getmyinode() == fileinode($dosya)) {
echo 'Geçerli dosyayı sınıyorsunuz.';
}
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • getmyinode() - Çalışan betiğin dosya düğümü numarasını döndürür
  • stat() - Bir dosya hakkında bilgi döndürür


Dosyanın değişiklik zamanını döndürür

  • « fileinode
  • fileowner »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın değişiklik zamanını döndürür

filemtime

(PHP 4, PHP 5, PHP 7, PHP 8)

filemtime — Dosyanın değişiklik zamanını döndürür

Açıklama

filemtime(string $dosyaismi): int|false

Bu işlev belirtilen dosyanın veri bloklarına yazıldığı, yani dosya içeriğinin değişikliğe uğradığı zamanı döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Hata durumunda false aksi takdirde dosyanın son değişiklik zamanını döndürür. Zaman, date() işlevi için uygun bir Unix zaman damgası olarak döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - filemtime() örneği

<?php
// Çıktı şöyle bir şey olur:
// birdosya.txt dosyasının son değişiklik zamanı: December 29 2008 22:16:23.

$dosya = 'birdosya.txt';
if (file_exists($dosya)) {
echo "$dosya dosyasının son değişiklik zamanı: " .
date ("F d Y H:i:s.", filemtime($dosya));
}
?>

Notlar

Bilginize:

Zaman çözünürlüğünün dosya sistemine göre farklı olabileceğini unutmayın.

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • filectime() - Dosyanın dosya düğümü değişiklik zamanını döndürür
  • stat() - Bir dosya hakkında bilgi döndürür
  • touch() - Dosyanın erişim ve değişiklik zamanını ayarlar
  • getlastmod() - Çalışan betiğin son değişiklik zamanını döndürür


Dosya sahibini döndürür

  • « filemtime
  • fileperms »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya sahibini döndürür

fileowner

(PHP 4, PHP 5, PHP 7, PHP 8)

fileowner — Dosya sahibini döndürür

Açıklama

fileowner(string $dosyaismi): int|false

Dosya sahibini döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Hata durumunda false aksi takdirde dosyanın sahibinin kullanıcı kimliği döner. Sayısal biçemde dönen kullanıcı kimliğinden kullanıcı ismini elde etmek için posix_getpwuid() işlevini kullanabilirsiniz.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Bir dosyanın sahibinin bulunması

<?php
$dosya = 'index.php';
print_r(posix_getpwuid(fileowner($dosya)));
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • filegroup() - Dosyanın sahibi olan grubu döndürür
  • stat() - Bir dosya hakkında bilgi döndürür
  • posix_getpwuid() - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür


Dosya izinlerini döndürür

  • « fileowner
  • filesize »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya izinlerini döndürür

fileperms

(PHP 4, PHP 5, PHP 7, PHP 8)

fileperms — Dosya izinlerini döndürür

Açıklama

fileperms(string $dosyaismi): int|false

Belirtilen dosya ile ilgili izinleri döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Dosyanın izinlerini sayısal kip olarak döndürür. Bu kipin daha düşük bitleri, chmod() tarafından beklenen izinlerle aynıdır, ancak çoğu platformda, dönüş değeri dosyaismi olarak verilen dosya türü hakkında bilgi de içerir. Aşağıdaki örnekler, Linux ve macOS dahil olmak üzere POSIX sistemlerinde belirli izinler ve dosya türleri için dönüş değerinin nasıl sınanacağını göstermektedir.

Yerel dosyalara özgü dönüş değeri, C kütüphanesinin stat() işlevi tarafından döndürülen yapının st_mode üyesinin değeridir. Tam olarak hangi bitlerin atanacağı platformdan platforma değişebilir ve dönüş değerinin izin verilmeyen bitlerinin ayrıştırılması gerekiyorsa özel platformunuzun belgelerine bakmanız önerilir.

Başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - İzinlerin sekizlik değer olarak gösterilmesi

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

Yukarıdaki örneğin çıktısı:

1777
0644

Örnek 2 - Tüm izinlerin gösterilmesi

<?php
$perms = fileperms('/etc/passwd');

switch ($perms & 0xF000) {
case 0xC000: // soket
$info = 's';
break;
case 0xA000: // Sembolik bağ
$info = 'l';
break;
case 0x8000: // Sıradan dosya
$info = 'r';
break;
case 0x6000: // Blok aygıtı
$info = 'b';
break;
case 0x4000: // Dizin
$info = 'd';
break;
case 0x2000: // Karakter aygıtı
$info = 'c';
break;
case 0x1000: // FIFO boru
$info = 'p';
break;
default: // Bilinmiyor
$info = 'u';
}

// Kullanıcı
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));

// Grup
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));

// Herkes
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>

Yukarıdaki örneğin çıktısı:

-rw-r--r--

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • chmod() - Dosya kipini değiştirir
  • is_readable() - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • stat() - Bir dosya hakkında bilgi döndürür


Dosya uzunluğunu döndürür

  • « fileperms
  • filetype »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya uzunluğunu döndürür

filesize

(PHP 4, PHP 5, PHP 7, PHP 8)

filesize — Dosya uzunluğunu döndürür

Açıklama

filesize(string $dosyaismi): int|false

Belirtilen dosyanın uzunluğunu döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Başarı durumunda dosya boyunu bayt cinsinden döndürür, aksi takdirde false döndürür ve ayrıca E_WARNING seviyesinde bir hata iletisi üretilir.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - filesize() örneği

<?php

// çıktısı:
// somefile.txt: 1024 bytes

$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar


Dosya türünü döndürür

  • « filesize
  • flock »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya türünü döndürür

filetype

(PHP 4, PHP 5, PHP 7, PHP 8)

filetype — Dosya türünü döndürür

Açıklama

filetype(string $dosyaismi): string|false

Belirtilen dosyanın türünü döndürür.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dönen Değerler

Dosyanın türünü döndürür. Olası değerler: fifo, char, dir, block, link, file, socket ve unknown.

Bir hata oluşursa false döner. eğer stat çağrısı başarısız olur veya dosya türü anlaşılamazsa ayrıca, bir E_NOTICE iletisi çıktılanır.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - filetype() örneği

<?php

echo filetype('/etc/passwd');
echo "\n";
echo filetype('/etc/');

?>

Yukarıdaki örneğin çıktısı:

file
dir

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • is_link() - Dosya sembolik bağ ise bunu doğrular
  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar
  • mime_content_type() - Bir dosya için MIME içerik türünü saptar
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür
  • stat() - Bir dosya hakkında bilgi döndürür


Öneri niteliğinde taşınabilir dosya kilitleme

  • « filetype
  • fnmatch »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Öneri niteliğinde taşınabilir dosya kilitleme

flock

(PHP 4, PHP 5, PHP 7, PHP 8)

flock — Öneri niteliğinde taşınabilir dosya kilitleme

Açıklama

flock(resource $akım, int $işlem, int &$engellensin = null): bool

flock() işlevi, sanal olarak her platformda (çoğu Unix türevi yanında Windows da dahil) kullanılabilen basit bir okuma/yazma modeli oluşturmanızı mümkün kılar.

Kilit, fclose() işlevinden başka akım çöp toplayıcıyla toplanırken de serbest bırakılır.

PHP, tavsiye niteliğinde dosyaların tamamını kilitlemenin taşınabilir bir türünü destekler (yani, dosyalara erişen tüm programların dosyaları kilitlerken aynı yöntemi kullanmaları zorunludur, aksi takdirde kullandıkları yöntem çalışmayacaktır). Öntanımlı olarak, bu işlev istenen kilit alınıncaya kadar bekler. Bu durum aşağıda açıklanan LOCK_NB seçeneği ile (Windows dışındaki platformlarda) değiştirilebilir.

Bağımsız Değişkenler

akım

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

işlem

işlem şunlardan biri olabilir:

  • Paylaşımlı bir kilit (okuyucu) edinmek için LOCK_SH.
  • Ayrıcalıklı bir kilit (yazıcı) edinmek için LOCK_EX.
  • Bir kilidi (paylaşımlı veya ayrıcalıklı) serbest bırakmak için LOCK_UN.

Kilitleme sırasında işlevin engelleme yapmasını istemiyorsanız yukarıdaki işlemlerden birine bir bit maskesi olarak LOCK_NB eklemek mümkündür (Windows'ta desteklenmez).

engellesin

Kilidin engellemesi için isteğe bağlı üçüncü bağımsız değişkene 1 atanır (EWOULDBLOCK errno kuralı).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - flock() örneği

<?php

$dt = fopen("/tmp/lock.txt", "w");

if (flock($dt, LOCK_EX)) { // ayrıcalıklı bir kilit elde edelim
ftruncate($fp, 0); // dosyayı kırp
fwrite($dt, "Buraya bir şeyler yazalım\n");
fflush($dt); // kilidi bırakmadan önce çıkışı temizleyelim
flock($dt, LOCK_UN); // kilidi serbest bırakalım
} else {
echo "Kilit edinilemedi!";
}

fclose($dt);

?>

Örnek 2 - LOCK_NB kullanarak flock()

<?php
$fp = fopen('/tmp/lock.txt', 'r+');

/* LOCK_EX işlemi üstünde LOCK_NB'yi etkinleştirelim */
if(!flock($fp, LOCK_EX | LOCK_NB)) {
echo 'Kilit edinilemedi';
exit(-1);
}

/* ... */

fclose($fp);
?>

Notlar

Bilginize:

flock() işlevi Windows altında zorunlu olarak kilitler. flock(), Windows'ta tavsiye niteliğinde kilitleme yerine zorunlu kilitlemeyi kullanır. Zorunlu kilitleme, Linux ve System V tabanlı işletim sistemlerinde, fcntl() sistem çağrısı tarafından desteklenen olağan mekanizma yoluyla desteklenir: yani, söz konusu dosya setgid izin bitine sahipse ve grup yürütme biti temizlenmişse. Linux'ta, bunun çalışması için dosya sisteminin de mand seçeneğiyle bağlanması gerekecektir.

Bilginize:

flock() işlevi bir dosya tanıtıcısı gerektirdiğinden bir dosyayı yazmak amacıyla açarken (fopen() işlevinde "w" veya "w+" bağımsız değişkenleri ile) içeriğini silebilmek için dosyaya başkalarının erişimini engellemeniz, yani özel bir kilit dosyası kullanmanız gerekir.

Bilginize:

Yalnızca yerel dosyalar için fopen() tarafından döndürülen dosya göstericilerinde veya streamWrapper::stream_lock() yöntemini uygulayan kullanıcı alanı akımların dosya göstericilerinde kullanılabilir.

Uyarı

Ardıl kodda akım bağımsız değişkenine başka bir değer atanması kilidin serbest kalmasına sebep olur.

Uyarı

Bazı işletim sistemlerinde flock() işlevi süreç seviyesinde gerçeklenmiştir. ISAPI gibi çok evreli bir API kullanıldığında, dosyaları aynı sunucu örneğinin paralel evrelerinde çalışan diğer PHP betiklerine karşı flock() üzerinden korumak mümkün olmayabilir!

flock() işlevi, FAT ve türevleri gibi artık antika olmuş dosya sistemlerinde desteklenmez ve bu ortamlarda daima false döndürür.

Bilginize:

Windows'ta, kilitleme süreci dosyayı ikinci kez açarsa, kilit kaldırılana kadar ikinci tanıtıcı üzerinden dosyaya erişemez.


Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar

  • « flock
  • fopen »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar

fnmatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

fnmatch — Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar

Açıklama

fnmatch(string $kalıp, string $dosyaismi, int $seçenekler = 0): bool

fnmatch() işlevi, belirtilen dosyaismi'nin belirtilen dosya kalıbı ile eşleşip eşleşmediğine bakar.

Bağımsız Değişkenler

kalıp

Kabuk dosya ismi kalıbı.

dosyaismi

Sınanacak dizge. İşlev özellikle dosya isimleri için yararlı olsa da sıradan dizgeler için de kullanılabilir.

Ortalama bir kullanıcı, kabuk dosya ismi kalıplarını veya bunların en basit biçimleri olan '?' ve '*' karakterlerini kullanabilir. Bu bakımdan, programcı olmayan kullanıcılar için preg_match() yerine fnmatch() kullanımı daha uygun olabilir.

seçenekler

Belirtilebilecek seçenekler:

fnmatch() işlevinin seçenekler bağımsız değişkeninde belirtilebilecek seçenekler
Seçenek | Açıklama
FNM_NOESCAPE | \ karakteri kalıplarda özel olarak ele alınmaz. Normalde, \ kendinden sonraki karakteri önceler; bu seçenek etkinse bu özellik kapatılır, böylece sadece kendisiyle eşleşebilir. Önceleme etkin olduğunda, \? kalıbı sadece ? karakteri ile eşleşir, çünkü kalıp içindeki soru işareti sıradan bir karakter gibi işlem görür. Eğer FNM_NOESCAPE seçeneği etkinse, \ sıradan bir karakterdir.
FNM_PATHNAME | Bu POSIX.2 ile gelen bir FNM_FILE_NAME takma ismidir.
FNM_PERIOD

. karakteri dosya isimlerinin başında ise özel olarak ele alınır. Bu seçenek etkinse ve . karakteri dizge dizgesinin ilk karakteri ise kalıp ile eşleşemez.

FNM_PERIOD ve FNM_FILE_NAME birlikte belirtilmişse, . karakterinin dizge dizgesinin başında olmasının yanında / karakterini izlediği durumda da eşleşme sağlanır. (Kabuk FNM_PERIOD ve FNM_FILE_NAME seçeneklerini dosya isimleriyle eşleşme ararken birlikte kullanır.)

FNM_CASEFOLD | dizge ile kalıp karşılaştırılırken harf büyüklüğüne bakılmaz.

Dönen Değerler

Eşleşme sağlanmışsa true aksi takdirde false.

Örnekler

Örnek 1 - Bir renk isminin bir kabuk dosya kalıbıyla eşleştirilmesi

<?php
if (fnmatch("*gr[ae]y", $color)) {
echo "grinin bir tonu ...";
}
?>

Notlar

Uyarı

Bu işlev şimdilik POSIX uyumlu olmayan sistemlerde kullanılamamaktadır, Windows hariç.

Ayrıca Bakınız

  • glob() - Bir kalıpla eşleşen dosya yollarını bulur
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür


Bir dosya veya URL'yi açar

  • « fnmatch
  • fpassthru »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya veya URL'yi açar

fopen

(PHP 4, PHP 5, PHP 7, PHP 8)

fopen — Bir dosya veya URL'yi açar

Açıklama

fopen(
string $dosyaismi,
string $kip,
bool $include_path_kullan = false,
?resource $bağlam = null
): resource|false

fopen() işlevi dosyaismi ile belirtilen özkaynak için bir akım açar.

Bağımsız Değişkenler

dosyaismi

Eğer dosyaismi "şema://...", biçeminde belirtilmişse bir URL belirtildiği varsayılır ve PHP bu şema için bir protokol eylemcisi (başka bir deyişle bir sarmalayıcı) bulmaya çalışır. Eğer bu protokol için kayıtlı bir sarmalayıcı yoksa PHP, sorunun giderilmesine yardımcı olmanız için bir uyarı verip belirtilen dosya ismini sıradan bir dosya gibi ele alarak işleme devam eder.

Eğer PHP dosyaismi ile belirtilen dosyanın bir yerel dosya olduğuna karar verirse bu dosya üzerinde bir akım açmaya çalışır. Dosya PHP için erişilebilir olmalıdır, yani dosyanın bu erişim için yeterli izinlere sahip olduğundan emin olmanız gerekir. open_basedir yönergesi etkinse bunlarla ilgili kısıtlamalar uygulanabilir.

Eğer PHP dosyaismi ile belirtilen dosyanın bir URL olduğuna ve bununla ilgili kayıtlı bir protokol olduğuna karar verirse ve bu protokol bir ağ protokolü olarak kaydedilmişse PHP allow_url_fopen yönergesinin etkin olup olmadığına bakar. Eğer yönergeye 'Off' değeri atanmışsa PHP bir uyarı verip işlevin başarısız olmasını sağlar.

Bilginize:

Desteklenen protokolleri Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulabilirsiniz. Bazı protokoller (sarmalayıcılar) bağlam ve/veya php.ini seçeneklerini destekler. Kullanılabilecek seçeneklerin neler olduğunu öğrenmek için protokolle ilgili sayfaya bakınız (örneğin, http sarmalayıcısı user_agent php.ini yönergesini kullanır).

Windows platformunda dosya yolunu belirtmekte kullanılan tersbölü çizgilerini öncelemeyi unutmayın. Daha da iyisi dosya yolunu belirtmek için bölü çizgilerini kullanın. Örnek:

<?php
$dt = fopen("c:\\dizin\\kaynak.txt", "r");
?>

kip

kip bağımsız değişkeninde akım için gerekli erişim türü belirtilir. Şunlardan biri olabilir:

fopen() işlevinin kip bağımsız değişkeninde belirtilebilecek kip çeşitleri
Kip | Açıklama
'r' | Akım sadece okumak için açılır; dosya konumlayıcı dosyanın başlangıcına yerleştirilir.
'r+' | Akım hem okumak hem de yazmak için açılır; dosya konumlayıcı dosyanın başlangıcına yerleştirilir.
'w' | Akım sadece yazmak için açılır; dosya konumlayıcı dosyanın başlangıcına yerleştirilir ve dosya uzunluğu sıfır yapılır. Dosya mevcut değilse oluşturulmaya çalışılır.
'w+' | Akım hem okumak hem de yazmak için açılması dışında 'w' gibidir.
'a' | Akım sadece yazmak için açılır; dosya konumlayıcı dosyanın sonuna yerleştirilir. Dosya mevcut değilse oluşturulmaya çalışılır. fseek() işlevi bu kipte etkisiz olup daima dosyanın sonuna yazar.
'a+' | Akım hem okumak hem de yazmak için açılır; dosya konumlayıcı dosyanın sonuna yerleştirilir. Dosya mevcut değilse oluşturulmaya çalışılır. fseek() işlevi bu kipte etkisiz olup daima dosyanın sonuna yazar.
'x' | Dosya oluşturulur ve sadece yazmak için açılır; dosya konumlayıcı dosyanın başlangıcına yerleştirilir. Dosya zaten mevcutsa fopen() false döndürürek başarısız olur ve E_WARNING seviyesinde bir hata üretir. Dosya mevcut değilse oluşturulmaya çalışılır. Bu işlem, open(2) sistem çağrısı için O_EXCL|O_CREAT seçeneklerini belirtmeye eşdeğerdir.
'x+' | Dosya oluşturulur ve hem okumak hem de yazmak için açılır; aksi takdirde 'x' verilmiş gibi davranır. eşdeğerdir.
'c' | Dosya yalnızca yazmak için açılır. Dosya yoksa oluşturulur. Varsa, ne kesilir ('w' bağımsız değişkenininin aksine), ne de bu işleve yapılan çağrı başarısız olur ('x' durumunda olduğu gibi). Dosya konumlayıcı dosyanın başlangıcına yerleştirilir. Dosyayı değiştirmeye çalışmadan önce bir tavsiye kilidi (flock() bölümüne bakın) isteniyorsa bu yararlı olabilir, 'w' kullanımındaki gibi kilitlenmeden önce dosyayı kesebilir (kesme istenirse, kilit talep edildikten sonra ftruncate() kullanılabilir). requested).
'c+' | Dosya hem okumak hem de yazmak için açılır; aksi takdirde, 'c' bağımsız değişkenindeki gibi davranır.
'e' | Açık dosya konumlayıcıya close-on-exec bayrağını uygular. Sadece PHP, POSIX.1-2008 uyumlu sistemler üzerinde derlenmişse kullanılabilir.

Bilginize:

Her işletim sistemi ailesinin farklı satır sonlandırma kuralları vardır. Bir metin dosyasını yazarken işletim sisteminizin gerektirdiği satır sonlandırma karakterlerini kullanmanız gerekir. Unix ve türevleri satırları sonlandırmak için \n, Windows ailesi \r\n, Mac'ler ise (Mac OS Classic) \r karakterini kullanır.

Dosyalarınızı yazarken yanlış satır sonlandırma karakterleri kullanırsanız, dosyayı başka uygulamalarda açtığınızda tuhaf görünebilir.

Windows'un \n karakterlerini şeffaf olarak \r\n karakterlerine dönüştürmesini sağlayan bir metin kipi dönüşüm seçeneği ('t') vardır. Eğer satır sonlandırma karakterlerinin değişmeden kalmasını istiyorsanız ikil kipi devreye sokan 'b' seçeneğini kullanabilirsiniz. Bu seçenekleri ('b' veya 't') kip bağımsız değişkeninde daima son karakter olarak belirtin.

Öntanımlı dönüşüm kipi 'b''dir. Salt metin dosyalarla çalışıyorsanız ve betiğinizde satır sonu karakteri olarak \n kullanıyorsanız, fakat dosyalarınızın notepad'in eski sürümleri gibi uygulamalarla da okunabilmesini istiyorsanız 't' kipini kullanmanız, diğer tüm durumlarda ise 'b' kipini kullanmanız gerekir.

İkil dosyalarla çalışırken 't' seçeneğini belirseniz, verinizle ilgili tuhaf sorunlarla karşılaşabilirsiniz (örneğin, bozuk görüntü dosyaları ve \r\n karakterlerine bağlı tuhaf sorunlar).

Bilginize:

Uyumluluk adına, dosyanızı 't' seçeneğinin kullanılmasını gerektirmeyecek satır sonlandırma karakterleri ile yazmanızı ve dosyayı açarken daima 'b' seçeneğini kullanmanızı hararetle tavsiye ederiz.

Bilginize: php://output, php://input, php://stdin, php://stdout, php://stderr ve php://fd akım sarmalayıcıları için kip yok sayılır.

include_path_kullan

Açacağınız dosyanın aranacağı yollara include_path yönergesinde belirtilen yolları da dahil etmek isterseniz, isteğe bağlı olan bu üçüncü bağımsız değişkenle '1' veya true değerini aktarmalısınız.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Başarı durumunda bir dosya tanıtıcısı aksi takdirde false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.16, 7.1.2 | 'e' seçeneği eklendi.

Örnekler

Örnek 1 - fopen() örnekleri

<?php
$dt = fopen("/home/rasmus/file.txt", "r");
$dt = fopen("/home/rasmus/file.gif", "wb");
$dt = fopen("http://www.example.com/", "r");
$dt = fopen("ftp://user:password@example.com/somefile.txt", "w");
?>

Notlar

Uyarı

Microsoft IIS, SSL kullanırken bir close_notify göndermeden bağlantıyı kapatarak protokolle çelişir. Verinin sonuna ulaştığınız zaman PHP bunu "SSL: Fatal Protocol Error" (SSL: "Ölümcül Protokol Hatası") olarak raporlar. Bu sorunu bertaraf etmek için error_reporting değerini uyarıları içermeyecek bir seviyeye indirmek gerekir. PHP, akımı https:// şeması kullanılarak açılırsa hatalı IIS sunucu yazılımını saptayıp uyarıları engelleyebilir. Bir ssl:// soketi oluşturmak için fsockopen() kullanılacaksa uyarıları saptayıp engellemekten geliştirici sorumludur.

Bilginize:

PHP'nin sunucu modülü sürümünü kullanıyorsanız ve dosyaları okumak ve yazmak ile ilgili sorunlar bakımından deneyimliyseniz, sunucu sürecinin bu dosya ve dizinlere erişim izninin olması gerektiğini aklınızdan çıkarmamalısınız.

Bilginize:

dosyaismi bir dizin olduğunda da bu işlev başarılı olabilir. dosyaismi'nin bir dosya mı yoksa bir dizin mi olduğundan emin olamıyorsanız fopen() işlevini çağırmadan önce is_dir() kullanmanız gerekebilir.

Ayrıca Bakınız

  • Desteklenen Protokoller ve Sarmalayıcılar
  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fread() - Dosyayı ikil kipte okur
  • fwrite() - Dosyaya ikil kipte yazar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar
  • is_readable() - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • popen() - Bir süreç tanıtıcısı açar
  • stream_context_create() - Bir akım bağlamı oluşturur
  • umask() - Geçerli izin maskesini değiştirir
  • SplFileObject


Bir dosya tanıtıcısında kalan verinin tamamını çıktılar

  • « fopen
  • fputcsv »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya tanıtıcısında kalan verinin tamamını çıktılar

fpassthru

(PHP 4, PHP 5, PHP 7, PHP 8)

fpassthru — Bir dosya tanıtıcısında kalan verinin tamamını çıktılar

Açıklama

fpassthru(resource $dt): int

Belirtilen dosya tanıtıcısını geçerli konumdan dosya sonuna kadar okur ve sonucu çıktı tamponuna yazar.

Veriyi dosyaya yazmayı bitirmişseniz, dosya konumlayıcıyı dosyanın başlangıcına getirmek için rewind() işlevini kullanabilirsiniz.

Dosyada değişiklik yapmadan veya dosya konumlayıcıyı belli bir konuma taşımadan sadece bir dosyanın içeriğini dökümlemekse amacınız, sizi fopen() çağrısı yapmaktan kurtaran readfile() işlevini kullanabilirsiniz.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

dt'den okunup çıktı tamponuna aktarılan karakterlerin sayısı ile döner.

Örnekler

Örnek 1 - İkil dosyalarla fpassthru() kullanımı

<?php

// dosyayı ikil kipte açalım
$name = './img/ok.png';
$fp = fopen($name, 'rb');

// Doğru başlıkları gönderelim
header("Content-Type: image/png");
header("Content-Length: " . filesize($name));

// Görüntüyü tampona atıp betiği durduralım
fpassthru($fp);
exit;

?>

Notlar

Bilginize:

İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya açılırken fopen() işlevinin kip bağımsız değişkenine 'b' harfi dahil edilmelidir.

Sisteminiz b seçeneğinin kullanımını gerektirmiyor olsa bile, betiğinizin taşınabilirliği açısından bu seçeneğin de kullanılmasını teşvik ediyoruz.

Ayrıca Bakınız

  • readfile() - Bir dosyayı çıktılar
  • fopen() - Bir dosya veya URL'yi açar
  • popen() - Bir süreç tanıtıcısı açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar


Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar

  • « fpassthru
  • fputs »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar

fputcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsv — Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar

Açıklama

fputcsv(
resource $akım,
array $alanlar,
string $ayraç = ",",
string $sınırlayıcı = "\"",
string $öncelem = "\\",
string $satır_sonu = "\n"
): int|false

fputcsv() işlevi alanlar dizisi içinde aktarılan bir dizgeyi bir CSV satırı olarak biçemler ve sonuna bir satırsonu karakteri ekleyerek akım ile belirtilen dosya tanıtıcısına yazar.

Bağımsız Değişkenler

akım

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

alanlar

Dizge dizisi.

ayraç

İsteğe bağlı bu bağımsız değişken ile alan ayracı (tek baytlık bir karakter) belirtilir.

sınırlayıcı

İsteğe bağlı bu bağımsız değişken ile alan sınırlayıcı (tek baytlık bir karakter) belirtilir.

öncelem

Belirtilmesi seçimlik olup önceleme karakteri (tek baytlık bir karakter) belirtmekte kullanılır. Boş dizge ("") özel önceleme mekanizmasını iptal eder.

satır_sonu

Seçimlik satır_sonu bağımsız değişkeni ile satırsonu karakteri değiştirilebilir.

Bilginize:

sınırlayıcı karakteri içeren bir alan varsa ve öncelem karakteri ile öncelenmemişse, sınırlayıcı karakter kendisiyle öncelenir.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde yazılan dizgenin uzunluğu döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Seçimlik satır_sonu bağımsız değişkeni eklendi.
7.4.0 | öncelem bağımsız değişkeni, özel önceleme mekanizmasını iptal edebilmek için artık boş dizge kabul ediyor.

Örnekler

Örnek 1 - fputcsv() örneği

<?php
$liste = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);

$dt = fopen('file.csv', 'w');

foreach ($liste as $alan) {
fputcsv($dt, $alan);
}

fclose($dt);
?>

Yukarıdaki örnek file.csv dosyasına şunları yazar:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Notlar

Bilginize: Eğer PHP'nin Macintosh bilgisayarlarda çalışırken veya bu bilgisayarlarda oluşturulmuş dosyalarla çalışırken satır sonlarını tanımamaması gibi bir sorunla karşılaşılaşılırsa, auto_detect_line_endings çalışma anı seçeneği etkin kılınarak bu sorun çözülebilir.

Ayrıca Bakınız

  • fgetcsv() - Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür


fwrite işlevinin takma adıdır

  • « fputcsv
  • fread »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • fwrite işlevinin takma adıdır

fputs

(PHP 4, PHP 5, PHP 7, PHP 8)

fputs — fwrite() işlevinin takma adıdır

Açıklama

Bu işlev fwrite() işlevinin takma adıdır.


Dosyayı ikil kipte okur

  • « fputs
  • fscanf »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyayı ikil kipte okur

fread

(PHP 4, PHP 5, PHP 7, PHP 8)

fread — Dosyayı ikil kipte okur

Açıklama

fread(resource $dt, int $uzunluk): string|false

fread() işlevi, dt dosya tanıtıcısı ile belirtilen dosya akımından uzunluk bayta kadar veri okur. Okuma işlemi aşağıdaki koşullardan biri sağlanır sağlanmaz durur:

  • uzunluk bayt okununca.
  • Dosya sonuna ulaşılınca.
  • Bir paket kullanılabilir hale gelince veya soket zaman aşımına uğrayınca (ağ akımları için).
  • Eğer akım arabelleğe alınmışsa ve düz bir dosyaya ait değilse, en fazla yığıt boyutuna (genellikle 8192) eşit sayıda bayta kadar bir okuma yapılır; önceden arabelleğe alınan verilere bağlı olarak, döndürülen verilerin boyutu yığıt boyutundan daha büyük olabilir.

Bağımsız Değişkenler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

uzunluk

Okunacak azami bayt sayısı.

Dönen Değerler

Hata durumunda false aksi takdirde okunan dizge döner.

Örnekler

Örnek 1 - Basit bir fread() örneği

<?php
// bir dosyanın içeriğini bir dizge olarak okuyalım
$dosya = "/usr/local/birmetin.txt";
$dt = fopen($dosya, "r");
$içerik = fread($dt, filesize($dosya));
fclose($dt);
?>

Örnek 2 -İkil fread() örneği

Uyarı

İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya açılırken fopen() işlevinin kip bağımsız değişkenine 'b' harfi dahil edilmelidir.

<?php
$dosya = "c:\\files\\birresim.gif";
$dt = fopen($dosya, "rb");
$içerik = fread($dt, filesize($dosya));
fclose($dt);
?>

Örnek 3 - Uzak fread() örnekleri

Uyarı

Okuma işlemi sıradan bir dosyadan değil de popen() ve fsockopen() işlevinden veya uzak dosyalar okunurken dönen akımlardan yapılıyorsa bir paket kullanılabilir hale gelince okuma işlemi durur. Yani, veriyi aşağıdaki örnekte gösterildiği gibi parçalar halinde toplamalısınız.

<?php
$dt = fopen("http://www.example.com/", "rb");
$içerik = stream_get_contents($dt);
fclose($dt);
?>
<?php
$dt = fopen("http://www.example.com/", "rb");
if (FALSE === $dt) {
exit("URL'ye akım açılamadı");
}

$içerik = '';

while (!feof($dt)) {
$içerik .= fread($dt, 8192);
}
fclose($dt);
?>

Notlar

Bilginize:

İstediğiniz bir dosyanın içeriğini bir dizge olarak almaksa, yukarıdaki koddan çok daha iyi başarım sağlayan file_get_contents() işlevini kullanın.

Bilginize:

fread() işlevinin mevcut dosya konumundan okuduğuna dikkat edin. Dosya konumlayıcının mevcut konumunu öğrenmek için ftell(), konumu dosyanın başına taşımak için rewind()işlevini kullanın.

Ayrıca Bakınız

  • fwrite() - Dosyaya ikil kipte yazar
  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • popen() - Bir süreç tanıtıcısı açar
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • fpassthru() - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • rewind() - Bir dosya tanıtıcısında konumu başa taşır
  • unpack() - Paketlenmiş bir ikil dizgeden verileri ayrıştırır


Bir dosyadaki girdiyi belli bir biçeme göre çözümler

  • « fread
  • fseek »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyadaki girdiyi belli bir biçeme göre çözümler

fscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

fscanf — Bir dosyadaki girdiyi belli bir biçeme göre çözümler

Açıklama

fscanf(resource $dt, string $biçem, mixed &...$değerler): array|int|false|null

fscanf() işlevi, girdisini dt ile ilişkili bir dosyadan alması ve bu girdiyi belirtilen biçem'e göre yorumlaması dışında sscanf() işlevine benzer.

Biçem dizgesindeki boşluk karakterleri girdi akımındaki boşluk karakterleri ile eşleşir. Yani, biçem dizgesindeki bir sekme karakteri (\t) girdi dizgesindeki tek bir boşluk karakteri (" ") ile eşleşebilir.

Her fscanf() çağrısı dosyadan tek bir satır okur.

Bağımsız Değişkenler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

biçem

Girdi dizgesinin yorumlanmasında kullanılan bu dizge ile ilgili ayrıntılar aşağıdaki farklar dışında sprintf() işlevinin belgesinde açıklanmıştır:

  • İşlev yerele duyarlı değildir.
  • F, g, G and b desteklenmez.
  • D ondalık sayı anlamına gelir.
  • i taban algılamalı tamsayı anlamına gelir.
  • n şimdiye kadar işlenen karakter sayısı anlamına gelir.
  • s herhangi bir boşluk karakterinde okumayı durdurur.
  • dğşnum$ yerine * bu dönüştürme belirtiminin atamasını baskılar.

değerler

İsteğe bağlı atanmış değerler.

Dönen Değerler

Bu işleve sadece iki bağımsız değişken aktarılırsa çözümlenen değerler bir dizi olarak döndürülür. Aksi takdirde, eğer isteğe bağlı bağımsız değişkenler aktarılırsa işlev atanan değerlerin sayısı ile döner. İsteğe bağlı değerler gönderimli aktarılmalıdır.

biçem dizgesi içinde gerekenden daha fazla alt dizge mevcutsa işlev null döner. Diğer hata durumlarında false döner.

Örnekler

Örnek 1 - fscanf() örneği

<?php
$dt = fopen("kişiler.txt", "r");
while ($kişiselveri = fscanf($dt, "%s\t%s\t%s\n")) {
list ($isim, $meslek, $ülkekodu) = $kişiselveri;
//... değerlerle yapılan işlemler
}
fclose($dt);
?>

Örnek 2 - kişiler.txt içeriği

avni      avanak        tr
varyemez  işadamı       us
tenten    gezgin        fr
zagor     kahraman      ca

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür


Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

  • « fscanf
  • fstat »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

fseek

(PHP 4, PHP 5, PHP 7, PHP 8)

fseek — Dosya tanıtıcısında konumu bir yerden başka bir yere taşır

Açıklama

fseek(resource $dt, int $nereye, int $nereden = SEEK_SET): int

Dosya tanıtıcısı dt ile belirtilen bir dosyada konum göstericisini belli bir konuma götürür. Dosyanın başlangıcından itibaren bayt sayısı olarak ölçülen yeni konum, nereden değerine nereye değeri eklenerek belirtilir.

Genel olarak, dosyanın sonununu aşan konumlamaya izin verilir; veri daha sonra yazılırsa, dosyanın sonu ile istenen konum arasındaki herhangi bir yazılı olmayan bölgedeki okumalar 0 değerine sahip baytlar verir. Ancak, özellikle temelde sabit boyutlu bir depolama alanı olan bazı akımlar bu davranışı desteklemeyebilir.

Bağımsız Değişkenler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

nereye

Yeni konum.

Konumu dosya sonunun öncesine taşımak için bu bağımsız değişkenle negatif bir değer, nereden bağımsız değişkeniyle de SEEK_END aktarın.

nereden

Mevcut konumun nasıl yorumlanacağı belirtilir:

  • SEEK_SET - nereye konumunun dosya başlangıcından itibaren belirtildiği varsayılır.
  • SEEK_CUR - nereye konumunun mevcut dosya konumundan itibaren bayt sayısı olarak belirtildiği varsayılır. Bu miktar pozitif veya negatif olabilir.
  • SEEK_END - nereye konumunun dosya sonundan itibaren belirtildiği varsayılır.

Dönen Değerler

Başarı durumunda 0 aksi takdirde -1 döner.

Örnekler

Örnek 1 - fseek() örneği

<?php

$fp = fopen('dosya.txt', 'r');

// Biraz veri okuyalım
$data = fgets($fp, 4096);

// rewind($fp) çağrısı yapmış gibi
// dosyanın başına dönelim;
fseek($fp, 0);

?>

Notlar

Bilginize:

Eğer dosya, ekleme (a veya a+) kipinde açılmışsa, dosyaya yazılan her veri konuma bakılmaksızın daima dosyanın sonuna eklenir. fseek() çağrısının bu durumdaki sonucu tanımsızdır.

Bilginize:

Tüm akımlar dosya içi konumlamayı desteklemez. Konumlamayı desteklemeyenler için, mevcut konumdan ileriye doğru bir konumlama, verileri okuyup terkederek gerçekleştirilir; diğer konumlama biçimleri başarısız olacaktır.

Ayrıca Bakınız

  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • rewind() - Bir dosya tanıtıcısında konumu başa taşır


Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür

  • « fseek
  • fsync »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür

fstat

(PHP 4, PHP 5, PHP 7, PHP 8)

fstat — Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür

Açıklama

fstat(resource $dt): array|false

Dosya tanıtıcısı dt olan bir dosya ile ilgili istatistikleri döndürür. Bir dosya ismi yerine açık bir dosya tanıtıcısı üzerinde çalışması dışında stat() işlevi gibidir.

Bağımsız Değişkenler

dt

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

Dönen Değerler

Dosya ile ilgili istatistikleri içeren bir dizi döndürür. Dönen dizinin biçemi hakkında bilgi edinmek için stat() işlevine bakınız. Başarısızlık durumunda false döndürür.

Örnekler

Örnek 1 - fstat() örneği

<?php

// bir dosya açalım
$fp = fopen("/etc/passwd", "r");

// istatistikleri toplayalım
$fstat = fstat($fp);

// dosyayı kapatalım
fclose($fp);

// sadece ilişkisel kısmı basar
print_r(array_slice($fstat, 13));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.


Synchronizes changes to the file (including meta-data)

  • « fstat
  • ftell »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Synchronizes changes to the file (including meta-data)

fsync

(PHP 8 >= 8.1.0)

fsync — Synchronizes changes to the file (including meta-data)

Açıklama

fsync(resource $stream): bool

This function synchronizes changes to the file, including its meta-data. This is similar to fflush(), but it also instructs the operating system to write to the storage media.

Bağımsız Değişkenler

stream

Dosya tanıtıcısı geçerli olmalı ve fopen() veya fsockopen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır (ve henüz fclose() tarafından kapatılmamış olmalıdır).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 fsync() example

<?php

$file = 'test.txt';

$stream = fopen($file, 'w');
fwrite($stream, 'test data');
fwrite($stream, "\r\n");
fwrite($stream, 'additional data');

fsync($stream);
fclose($stream);
?>

Ayrıca Bakınız

  • fdatasync() - Synchronizes data (but not meta-data) to the file
  • fflush() - Çıktıyı bir dosyaya boşaltır


Dosya okuma/yazma konumlayıcının mevcut konumu ile döner

  • « fsync
  • ftruncate »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya okuma/yazma konumlayıcının mevcut konumu ile döner

ftell

(PHP 4, PHP 5, PHP 7, PHP 8)

ftell — Dosya okuma/yazma konumlayıcının mevcut konumu ile döner

Açıklama

ftell(resource $dt): int|false

Dosya tanıtıcısı dt ile belirtilen dosyadaki dosya konumlayıcının konumunu döndürür.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() veya popen() tarafından başarıyla açılmış bir dosya için döndürülmüş olmalıdır. ftell() işlevi sadece ekleme kipinde ('a' seçeneği ile) açılmış akımlarda yanlış sonuçlar verebilir.

Dönen Değerler

Dosya tanıtıcısı dt ile belirtilen dosyadaki dosya konumlayıcının konumunu (dosyanın başlangıcına göre) döndürür.

Bir hata oluşursa false döner.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Örnekler

Örnek 1 - ftell() örneği

<?php

// Bir dosya açıp biraz veri okuyalım
$fp = fopen("/etc/passwd", "r");
$data = fgets($fp, 12);

// Bakalım neredeyiz?
echo ftell($fp); // 11

fclose($fp);

?>

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • popen() - Bir süreç tanıtıcısı açar
  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
  • rewind() - Bir dosya tanıtıcısında konumu başa taşır


Bir dosyayı belli bir uzunlukta budar

  • « ftell
  • fwrite »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyayı belli bir uzunlukta budar

ftruncate

(PHP 4, PHP 5, PHP 7, PHP 8)

ftruncate — Bir dosyayı belli bir uzunlukta budar

Açıklama

ftruncate(resource $dt, int $boyut): bool

Dosya tanıtıcısı dt ile belirtilen dosyanın uzunluğunu boyut baytla sınırlar.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı.

Bilginize:

dt yazmak için açılmış olmalıdır.

boyut

Budama boyu.

Bilginize:

Eğer boyut dosyadan büyükse dosya \0 baytları ile doldurularak boyut bayta genişletilir.

Eğer boyut dosyadan küçükse artan kısım kaybedilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Dosya boyutunu sınırlama örneği

<?php
$dosya = 'lorem_ipsum.txt';

$dt = fopen($dosya, 'r+');
ftruncate($dt, rand(1, filesize($dosya)));
rewind($dt);
echo fread($dt, filesize($dosya));
fclose($dt);
?>

Notlar

Bilginize:

Dosya tanıtıcısı değişmez.

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır


Dosyaya ikil kipte yazar

  • « ftruncate
  • glob »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyaya ikil kipte yazar

fwrite

(PHP 4, PHP 5, PHP 7, PHP 8)

fwrite — Dosyaya ikil kipte yazar

Açıklama

fwrite(resource $akım, string $veri, ?int $uzunluk = null): int|false

fwrite() işlevi, veri dizgesini dosya tanıtıcısı akım ile belirtilen dosya akımına yazar.

Bağımsız Değişkenler

akım

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

veri

Akıma yazılacak dizge.

uzunluk

uzunluk bağımsız değişkeni bir tamsayı ise yazma işlemi uzunluk bayt yazıldıktan sonra veya dizge dizgesinin sonuna gelindiğinde durur (hangisi önce vuku bulursa).

Dönen Değerler

fwrite() işlevi bir hata oluşmamışsa yazılan baytların sayısını, aksi takdirde false döndürür.

Hatalar/İstisnalar

fwrite() başarısızlık durumunda E_WARNING çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - Basit bir fwrite() örneği

<?php
$dosya = 'dnm.txt';
$veri = "Bunu dosyaya ekleyelim\n";

// Önce dosya mevcut mu ve yazılabilir mi, bakalım.
if (is_writable($dosya)) {

// Örneğimizde $dosya'yı ekleme kipinde açıyoruz.
// Konumlayıcı dosyanın sonunda olduğundan fwrite()
// $veri dizgesini dosyanın sonuna ekleyecektir.
if (!$dt = fopen($dosya, 'a')) {
echo "$dosya dosyası açılamadı";
exit;
}

// $veri'yi açılan dosyaya yazalım.
if (fwrite($dt, $veri) === FALSE) {
echo "$dosya dosyasına yazılamıyor";
exit;
}

echo "$dosya dosyasına '$veri' başarıyla yazıldı";

fclose($dt);

} else {
echo "$dosya dosyası yazılabilir değil";
}
?>

Notlar

Bilginize:

Bir ağ akımına yazarken, dizgenin tamamı yazılamadan akım kapanabilir. Bu durum fwrite() dönüş değerinden saptanabilir:

<?php
function fwrite_stream($fp, $string) {
for ($written = 0; $written < strlen($string); $written += $fwrite) {
$fwrite = fwrite($fp, substr($string, $written));
if ($fwrite === false) {
return $written;
}
}
return $written;
}
?>

Bilginize:

İkil ve metin dosyaları farklı ele alan sistemlerde (Windows gibi) dosya açılırken fopen() işlevinin kip bağımsız değişkenine 'b' harfi dahil edilmelidir.

Bilginize:

Eğer akım dosya sonuna ekleme kipinde açılmışsa (bazı sistemlerde ve dosya yerel dosya sisteminde olduğu sürece veri uzunluğu dosya sisteminin blok boyunu aşmadığı takdirde) yazma işlemi atomiktir. Yani, fwrite() işlevini çağırmadan önce dosya tanıtıcısını flock() ile kilitlemeye gerek yoktur; tüm veri kesintiye uğramaksızın yazılacaktır.

Bilginize:

Eğer dosya tanıtıcısında peşpeşe iki yazma yaparsanız, her iki veri de dosyanın sonuna eklenir:

<?php
$dt = fopen('veri.txt', 'w');
fwrite($dt, '1');
fwrite($dt, '23');
fclose($dt);

// veri.txt dosyasının içeriği '123' değil '23' olacaktır.
?>

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fopen() - Bir dosya veya URL'yi açar
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • popen() - Bir süreç tanıtıcısı açar
  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür
  • pack() - Veriyi ikil bir dizge halinde paketler


Bir kalıpla eşleşen dosya yollarını bulur

  • « fwrite
  • is_dir »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir kalıpla eşleşen dosya yollarını bulur

glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

glob — Bir kalıpla eşleşen dosya yollarını bulur

Açıklama

glob(string $kalıp, int $seçenekler = 0): array|false

glob() işlevi, dosya yollarını, kabuklarda kullanılana benzer şekilde, libc glob() işlevi tarafından kullanılan kurallara uygun olarak belli bir kalıp ile eşleştirmeye çalışır.

Bağımsız Değişkenler

kalıp

Dosya eşleştirme kalıbı. Yaklaşık (~) veya bağımsız değişken yorumlaması yapılmaz.

Özel karakterler:

  • * - Sıfır veya daha fazla karakterle eşleşir.
  • ? - Tek bir karakterle eşleşir (herhangi bir karakter).
  • [...] - Bir karakter grubundaki tek bir karakter ile eşleşir. İlk karakter ! ise eşleşme grupta olmayan bir karakterle gerçekleşir.
  • \ - GLOB_NOESCAPE seçeneği etkin değilse önündeki karakteri önceler.

seçenekler

Geçerli seçenekler:

  • GLOB_MARK - Dönen her dizine bir bölü çizgisi ekler (Windows üzerinde ters bölü çizgisi ekler).
  • GLOB_NOSORT - Dosyaları dizinde göründükleri sırayla döndürür (sıralamaz). Bu seçenek kullanılmadığında dosya yolları abecesel sıralanır.
  • GLOB_NOCHECK - Hiçbir eşleşme bulunamazsa arama kalıbını döndürür.
  • GLOB_NOESCAPE - Tersbölüler denetim karakterlerini öncelemez.
  • GLOB_BRACE - {a,b,c} kalıbını 'a', 'b', veya 'c' ile eşleşecek şekilde genişletir.
  • GLOB_ONLYDIR - Sadece kalıpla eşleşen dizinleri döndürür.
  • GLOB_ERR - Okuma hatalarında işlemi durdurur (okunamayan dizinler gibi); öntanımlı olarak hatalar yoksayılır.

Bilginize: GLOB_BRACE seçeneği Alpine Linux veya Solaris gibi GNU olmayan sistemlerde kullanılamıyor.

Dönen Değerler

Eşleşen dosya ve dizinleri içeren bir dizi döndürür. Bir eşleşme bulunamazsa veya hata oluşursa false döndürür.

Bilginize:

Bazı sistemlerde boş eşleşme ile hata durumunu ayrımsamak mümkün değildir.

Örnekler

Örnek 1 glob() işlevini opendir() ve arkadaşları ile değiştirmenin uygun yolu

<?php
foreach (glob("*.txt") as $dosya) {
echo "$dosya boyu " . filesize($dosya) . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

funclist.txt boyu 44686
funcsummary.txt boyu 267625
quickref.txt boyu 137820

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Bu işlevi bazı sistemlerde kullanamazsınız (örneğin, eski Sun OS'lar).

Ayrıca Bakınız

  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • readdir() - Dizinden bir girdinin ismini okur
  • closedir() - Dizin tanıtıcısını kapatır
  • fnmatch() - Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar


Bir dosyanın bir dizin olup olmadığını söyler

  • « glob
  • is_executable »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyanın bir dizin olup olmadığını söyler

is_dir

(PHP 4, PHP 5, PHP 7, PHP 8)

is_dir — Bir dosyanın bir dizin olup olmadığını söyler

Açıklama

is_dir(string $dosyaismi): bool

Belirtilen dosyanın bir dizin olup olmadığını söyler.

Bağımsız Değişkenler

dosyaismi

Dosyanın yolu. Eğer dosyaismi bir göreli yol belirtiyorsa, çalışma dizinine göreli olduğu varsayılır; bir sembolik veya sabit bağ ise bağ çözümlenip hedefinin bir dizin olup olmadığına bakılır. open_basedir etkin kılınmışsa ilgili kısıtlamalar uygulanabilir.

Dönen Değerler

dosyaismi ile belirtilen dosya mevcutsa ve bir dizin ise true aksi takdirde false döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_dir() örneği

<?php
var_dump(is_dir('bir_dosya.txt'));
var_dump(is_dir('bir_dizin/abc'));

var_dump(is_dir('..')); // bir dizin yukarı
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(true)

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • chdir() - Dizin değiştirir
  • dir() - Directory sınıfının örneğini döndürür
  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • is_link() - Dosya sembolik bağ ise bunu doğrular


Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler

  • « is_dir
  • is_file »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler

is_executable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_executable — Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler

Açıklama

is_executable(string $dosyaismi): bool

Belirtilen dosyanın çalıştırılabilir bir dosya olup olmadığını söyler.

Bağımsız Değişkenler

dosyaismi

Dosyanın yolu.

Dönen Değerler

dosyaismi ile belirtilen dosya mevcutsa ve çalıştırılabilir bir dosya ise true aksi takdirde false döndürür. POSIX sistemlerde, dosya izinlerinde çalıştırılabilir biti etkin kılınmışsa dosya çalıştırılabilir bir dosya olur. Windows için aşağıda Notlar bölümüne bakın.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_executable() örneği

<?php

$dosya = '/home/vincent/somefile.sh';

if (is_executable($dosya)) {
echo $dosya.' çalıştırılabilir';
} else {
echo $dosya.' çalıştırılamaz';
}

?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Bilginize: Windows'ta, bir dosya Win API GetBinaryType() tarafından tamamen çalıştırılabilir bir dosya olarak raporlanıyorsa dosya çalıştırılabilir bir dosya olarak kabul edilir. Tarihsel sebeplerle, .bat ve .cmd uzantılı dosyalar da çalıştırılabilir dosyalar olarak kabul edilir. PHP 7.4.0 öncesinde, .exe veya .com uzantılı bir dosya boş değilse çalıştırılabilir dosya olduğu varsayılırdı. is_executable() işlevi açısından PATHEXT'in konu dışı oluşuna dikkat edin.

Ayrıca Bakınız

  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • is_link() - Dosya sembolik bağ ise bunu doğrular


Bir dosyanın sıradan bir dosya olup olmadığını söyler

  • « is_executable
  • is_link »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyanın sıradan bir dosya olup olmadığını söyler

is_file

(PHP 4, PHP 5, PHP 7, PHP 8)

is_file — Bir dosyanın sıradan bir dosya olup olmadığını söyler

Açıklama

is_file(string $dosyaismi): bool

Belirtilen dosyanın sıradan bir dosya olup olmadığını söyler.

Bağımsız Değişkenler

dosyaismi

Dosyanın yolu.

Dönen Değerler

dosyaismi ile belirtilen dosya mevcutsa ve sıradan bir dosya ise true aksi takdirde false döndürür.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_file() örneği

<?php
var_dump(is_file('bir_dosya.txt')) . "\n";
var_dump(is_file('/usr/bin/')) . "\n";
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • is_link() - Dosya sembolik bağ ise bunu doğrular
  • SplFileInfo


Dosya sembolik bağ ise bunu doğrular

  • « is_file
  • is_readable »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya sembolik bağ ise bunu doğrular

is_link

(PHP 4, PHP 5, PHP 7, PHP 8)

is_link — Dosya sembolik bağ ise bunu doğrular

Açıklama

is_link(string $dosya): bool

Belirtilen dosyanın bir sembolik bağ olup olmadığını söyler.

Bağımsız Değişkenler

dosya

Dosyanın yolu.

Dönen Değerler

dosya mevcutsa ve sembolik bağ ise true aksi takdirde false döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Sembolik bağ oluşturulup sınamak

<?php
$bağ = 'dosya';

if (is_link($bağ)) {
echo readlink($bağ);
} else {
symlink('dosya.php', $bağ);
}
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • is_file() - Bir dosyanın sıradan bir dosya olup olmadığını söyler
  • readlink() - Bir sembolik bağın hedefi ile döner


Bir dosyanın mevcut ve okunabilir olup olmadığını söyler

  • « is_link
  • is_uploaded_file »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyanın mevcut ve okunabilir olup olmadığını söyler

is_readable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_readable — Bir dosyanın mevcut ve okunabilir olup olmadığını söyler

Açıklama

is_readable(string $dosyaismi): bool

Bir dosyanın mevcut ve okunabilir olup olmadığını söyler.

Bağımsız Değişkenler

dosyaismi

Dosyanın yolu.

Dönen Değerler

dosyaismi ile belirtilen dosya mevcutsa ve okunabilirse true aksi takdirde false döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_readable() örneği

<?php
$dosya = 'dnm.txt';
if (is_readable($dosya)) {
echo 'Dosya okunabilir';
} else {
echo 'Dosya okunamaz';
}
?>

Notlar

PHP'nin sadece HTTP sunucusunun aidiyetinde çalıştığı kullanıcının sahibi olduğu dosyalara erişebildiği unutulmamalıdır.

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Bilginize:

Sınama etkin kullanıcı veya grup kimliği ile değil gerçek kullanıcı veya grup kimliği ile yapılır.

Bu işlev dizinler için true döndürebilir. Dosyalaral dizinler arasından ayrım yapabilmek için is_dir() işlevi kullanılabilir.

Ayrıca Bakınız

  • is_writable() - Dosyanın yazılabilir kipte ise bunu doğrular
  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar
  • fgets() - Dosya tanıtıcısından bir satır döndürür


Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler

  • « is_readable
  • is_writable »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler

is_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

is_uploaded_file — Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler

Açıklama

is_uploaded_file(string $dosyaismi): bool

dosyaismi ile belirtilen dosya HTTP POST üzerinden karşıya yüklenebiliyorsa true döndürür. Yetkisiz kullanıcıların /etc/passwd gibi üzerinde işlem yapmalarının yasak olduğu dosyaları betik üzerinden dışarı göndermelerine engel olmaya yardımcı olur.

Bir dosyanın karşıya yüklenmesi ile dosya içeriğinin kullanıcıya veya aynı sistem üzerindeki diğer kullanıcılara ifşa edilmesini sağlayacak şeyleri yapma şansı doğacaksa bu sınamalar oldukça önem kazanır.

İşlemin gerektiği gibi yapılabilmesi için is_uploaded_file() işlevi $_FILES['userfile']['tmp_name'] gibi bir bağımsız değişkene ihtiyaç duyar - istemcilerin makinesinde karşıya yüklenen dosyanın ismi $_FILES['userfile']['name'] çalışmaz.

Bağımsız Değişkenler

dosyaismi

Sınanacak dosyanın ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - is_uploaded_file() örneği

<?php

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
echo $_FILES['userfile']['name'] ." dosyası başarıyla karşıya yüklendi.\n";
echo "Dosya içeriği:\n";
readfile($_FILES['userfile']['tmp_name']);
} else {
echo "Saldırısı olasılığı: ";
echo "'". $_FILES['userfile']['tmp_name'] . "' ";
echo "dosyası karşıya yüklenmek isteniyor.";
}

?>

Ayrıca Bakınız

  • move_uploaded_file() - Karşıya yüklenen bir dosyayı yeni bir yere taşır
  • $_FILES
  • Basit bir kullanım örneği için Karşıya dosya yükleme bölümüne bakınız.


Dosyanın yazılabilir kipte ise bunu doğrular

  • « is_uploaded_file
  • is_writeable »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın yazılabilir kipte ise bunu doğrular

is_writable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_writable — Dosyanın yazılabilir kipte ise bunu doğrular

Açıklama

is_writable(string $dosya): bool

dosyaismi ile belirtilen dosya mevcutsa ve yazılabilirse true döndürür. dosyaismi olarak bir dizin belirtilerek bir dizinin yazılabilirliği sınanabilir.

PHP'nin sadece HTTP sunucusunun aidiyetinde çalıştığı kullanıcının (çoğunlukla 'nobody') sahibi olduğu dosyalara erişebildiği unutulmamalıdır.

Bağımsız Değişkenler

dosya

Yazılabilirliği sınanacak dosya veya dizin.

Dönen Değerler

dosya mevcutsa ve yazılabilirse true aksi takdirde false döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_writable() örneği

<?php
$dosya = 'test.txt';
if (is_writable($dosya)) {
echo 'Dosyaya yazılabilir';
} else {
echo 'Dosya yazılabilir kipte değil';
}
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_readable() - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar
  • fwrite() - Dosyaya ikil kipte yazar


Dosya yazılabilir kipteyse bunu doğrular

  • « is_writable
  • lchgrp »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosya yazılabilir kipteyse bunu doğrular

is_writeable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_writeable — Dosya yazılabilir kipteyse bunu doğrular

Açıklama

is_writable(string $dosya): bool

dosya mevcut ve yazılabilir ise true döndürür. dosya olarak bir dizin belirtilirse dizinin yazılabilirliğine bakılır.

PHP'nin dosyaya http sunucusunu çalıştıran kullanıcının kimliği (çoğunlukla 'nobody') ile erişebileceği unutulmamalıdır.

Bağımsız Değişkenler

dosya

Yazılabilirliği sınanacak dosya veya dizin.

Dönen Değerler

dosya mevcut ve yazılabilir ise true döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - is_writable() örneği

<?php
$dosya = 'test.txt';
if (is_writable($dosya)) {
echo 'Dosyaya yazılabilir';
} else {
echo 'Dosya yazılabilir kipte değil';
}
?>

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • is_readable() - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
  • file_exists() - Bir dosya veya dizinin mevcut olup olmadığına bakar
  • fwrite() - Dosyaya ikil kipte yazar


Bir sembolik bağın grubunu değiştirir

  • « is_writeable
  • lchown »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir sembolik bağın grubunu değiştirir

lchgrp

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

lchgrp — Bir sembolik bağın grubunu değiştirir

Açıklama

lchgrp(string $dosyaismi, string|int $grup): bool

dosyaismi ile belirtilen sembolik bağın grubunu grup olarak değiştirir.

Bir sembolik bağın grubunu keyfi olarak sadece root değiştirebilir; diğer kullanıcılar sadece sahibi oldukları bir sembolik bağın grubunu üyesi oldukları gruplarla değiştirebilirler.

Bağımsız Değişkenler

dosyaismi

Sembolik bağın yolu.

grup

Grup ismi veya numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir sembolik bağın grubunun değiştirilmesi

<?php
$hedef = 'dosya.php';
$bağ = 'dosya.html';
symlink($hedef, $bağ);

lchgrp($bağ, 8);
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Ayrıca Bakınız

  • chgrp() - Dosya grubunu değiştirir
  • lchown() - Bir sembolik bağın sahibini değiştirir
  • chown() - Dosyanın sahibini değiştirir
  • chmod() - Dosya kipini değiştirir


Bir sembolik bağın sahibini değiştirir

  • « lchgrp
  • link »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir sembolik bağın sahibini değiştirir

lchown

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

lchown — Bir sembolik bağın sahibini değiştirir

Açıklama

lchown(string $dosyaismi, string|int $kullanıcı): bool

dosyaismi ile belirtilen sembolik bağın sahibini kullanıcı yapar.

Bir sembolik bağın sahibini sadece root değiştirebilir.

Bağımsız Değişkenler

dosyaismi

Sembolik bağın yolu.

kullanıcı

Kullanıcı ismi veya numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir sembolik bağın sahibinin değiştirilmesi

<?php
$hedef = 'dosya.php';
$bağ = 'dosya.html';
symlink($hedef, $bağ);

lchown($bağ, 8);
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Ayrıca Bakınız

  • chown() - Dosyanın sahibini değiştirir
  • lchgrp() - Bir sembolik bağın grubunu değiştirir
  • chgrp() - Dosya grubunu değiştirir
  • chmod() - Dosya kipini değiştirir


Sabit bir bağ oluşturur

  • « lchown
  • linkinfo »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Sabit bir bağ oluşturur

link

(PHP 4, PHP 5, PHP 7, PHP 8)

link — Sabit bir bağ oluşturur

Açıklama

link(string $hedef, string $bağ): bool

link() işlevi sabit bağ oluşturur.

Bağımsız Değişkenler

hedef

Bağın hedefi.

bağ

Bağ dosyası ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

bağ zaten varsa veya hedef mevcut değilse işlev başarısız olur ve bir E_WARNING üretir.

Örnekler

Örnek 1 - Basit bir sabit bağ oluşturma örneği

<?php

$hedef = 'mevcut.uzt'; // Bu dosya mevcut.
$bağ = 'yeni.uzt'; // Bu da bağ dosyamız olsun.

link($hedef, $bağ);
?>

Notlar

Bilginize: Dosyaların sunucunun dosya sistemi üzerinden erişilebilir olması gerektiğinden bu işlev uzak dosyalar üzerinde çalışmayacaktır.

Bilginize: Sadece Windows için: Bu işlev, PHP'nin yükseltilmiş bir kipte veya UAC devre dışı bırakılmış durumda çalışmasını gerektirir.

Ayrıca Bakınız

  • symlink() - Bir sembolik bağ oluşturur
  • readlink() - Bir sembolik bağın hedefi ile döner
  • linkinfo() - Bir bağ hakkında bilgi verir
  • unlink() - Bir dosyayı siler


Bir bağ hakkında bilgi verir

  • « link
  • lstat »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir bağ hakkında bilgi verir

linkinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

linkinfo — Bir bağ hakkında bilgi verir

Açıklama

linkinfo(string $yol): int|false

Bir bağ hakkında bilgi verir.

Bu işlev yol bağımsız değişkeni ile belirtilen bağın gerçekte etkin olup olmadığını (stat.h dosyasında tanımlı S_ISLNK makrosunun kullandığı yöntemle) sınamak için kullanılır.

Bağımsız Değişkenler

yol

Bağ dosyasının yolu.

Dönen Değerler

linkinfo() işlevi lstat sistem çağrısından dönen Unix C stat yapısının st_dev alanının içeriğini döndürür. Başarı durumunda negatif olmayan bir tamsayı, bağ bulunamazsa -1, bir open.base_dir ihlali olursa false döndürür.

Örnekler

Örnek 1 - linkinfo() örneği

<?php

echo linkinfo('/vmlinuz'); // 835

?>

Ayrıca Bakınız

  • symlink() - Bir sembolik bağ oluşturur
  • link() - Sabit bir bağ oluşturur
  • readlink() - Bir sembolik bağın hedefi ile döner


Bir dosya veya sembolik bağ hakkında bilgi verir

  • « linkinfo
  • mkdir »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya veya sembolik bağ hakkında bilgi verir

lstat

(PHP 4, PHP 5, PHP 7, PHP 8)

lstat — Bir dosya veya sembolik bağ hakkında bilgi verir

Açıklama

lstat(string $dosyaismi): array|false

dosyaismi ile belirtilen bir dosya veya sembolik bağın istatistiklerini toplar.

Bağımsız Değişkenler

dosyaismi

Bir dosya veya sembolik bağın yolu.

Dönen Değerler

lstat() işlevinin döndürdüğü dizinin yapısı hakkında bilgi edinmek için stat() sayfasına bakınız. dosyaismi bağımsız değişkeninin bir sembolik bağ olması durumunda sembolik bağın hedefi yerine sembolik bağın kendisi hakkında bilgi döndürmesi bakımından stat() işlevinden farklıdır.

Başarısızlık durumunda, false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - stat() ve lstat() karşılaştırması

<?php
symlink('dosya.php', 'dosya');

// Dosya ve dosya.php için bilgileri karşılaştıralım
array_diff(stat('dosya'), lstat('dosya'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

İik dosya arasındaki bilgi farkları:

Array
(
    [ino] => 97236376
    [mode] => 33188
    [size] => 34
    [atime] => 1223580003
    [mtime] => 1223581848
    [ctime] => 1223581848
    [blocks] => 8
)

Notlar

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • stat() - Bir dosya hakkında bilgi döndürür


Dizin oluşturur

  • « lstat
  • move_uploaded_file »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dizin oluşturur

mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

mkdir — Dizin oluşturur

Açıklama

mkdir(
string $dizin,
int $izinler = 0777,
bool $ardışık = false,
?resource $bağlam = null
): bool

Yolu belirtilen dizini oluşturmaya çalışır.

Bağımsız Değişkenler

dizin

Oluşturulacak dizinin yolu.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

izinler

Öntanımlı olarak, olası en geniş erişim izni anlamına gelen 0777'dir. Erişim türleri hakkında ayrıntılı bilgi edinmek için chmod() sayfasına bakınız.

Bilginize:

izinler Windows'ta yoksayılır.

Başına 0 getirerek kipi sekizlik tabanda belirtmek daha kullanışlı olabilir. Ayrıca, erişim kipi umask() kullanarak değiştirilebilen erişim maskesi ile de değiştirilebilir.

ardışık

true ise, dizin bağımsız değişkeninde belirtilen üst dizinlerin de aynı izinlerle oluşturulmasını sağlar.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Bilginize:

Oluşturulacak dizin zaten varsa bu bir hata olarak ele alınır ve yine de false döndürülür. Dizini oluşturmaya çalışmadan önce var olup olmadığına is_dir() veya file_exists() işlevi ile bakılabilir.

Hatalar/İstisnalar

Dizin mevcutsa E_WARNING seviyesinde hata çıktılanır.

İlgili izinler dizinin oluşturulmasını engelliyorsa E_WARNING seviyesinde hata çıktılanır.

Örnekler

Örnek 1 - mkdir() örneği

<?php
mkdir("/dizinim/için/bir/yol", 0700);
?>

Örnek 2 mkdir() işlevinin ardışık bağımsız değişkeni ile kullanımı

<?php
// İstenen dizin yapısı
$yapı = './alt1/alt2/alt3/';

// Alt dizinleri de oluşturmak için mkdir() işlevine
// <parameter>ardışık</parameter> bağımsız değişkeni belirtilmelidir.

if (!mkdir($yapı, 0777, true)) {
die('Dizinler oluşturulamadı....');
}

// ...
?>

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • rmdir() - Dizin siler
  • umask() - Geçerli izin maskesini değiştirir


Karşıya yüklenen bir dosyayı yeni bir yere taşır

  • « mkdir
  • parse_ini_file »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Karşıya yüklenen bir dosyayı yeni bir yere taşır

move_uploaded_file

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

move_uploaded_file — Karşıya yüklenen bir dosyayı yeni bir yere taşır

Açıklama

move_uploaded_file(string $dosyaismi, string $hedef): bool

Bu işlev, dosyaismi ile belirtilen dosyanın karşıya yüklenen geçerli bir dosya olduğundan emin olduktan sonra (PHP'nin HTTP POST mekanizması ile karşıya yüklenen bir dosya ise) dosyayı hedef ile belirtilen adrese taşır.

Bir dosyanın karşıya yüklenmesi ile dosya içeriğinin kullanıcıya veya aynı sistem üzerindeki diğer kullanıcılara ifşa edilmesini sağlayacak şeyleri yapma şansı doğacaksa bu sınamalar oldukça önem kazanır.

Bağımsız Değişkenler

dosyaismi

Karşıya yüklenen dosyanın ismi.

hedef

Dosyanın taşınacağı adres.

Dönen Değerler

Başarı durumunda true döner.

Eğer dosyaismi karşıya yüklenen geçerli bir dosya değilse işlem gerçekleşmez ve işlev false ile döner.

Eğer dosyaismi karşıya yüklenen geçerli bir dosya ise fakat bir sebeple taşınamıyorsa işlem gerçekleşmez ve işlev false ile dönerken ek olarak bir uyarı çıktılanır.

Örnekler

Örnek 1 - Çok sayıda dosyanın karşıya yüklenmesi

<?php
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
// basename() dosya sistemi çapraz saldırılarını engelleyebilir;
// dosya isminin daha fazla doğrulanması/temizliği uygun olabilir
$name = basename($_FILES["pictures"]["name"][$key]);
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
?>

Notlar

Bilginize:

move_uploaded_file() işlevi open_basedir yönergesinden etkilenir. Bununla birlikte, karşıya yüklenecek dosyaların hedef'e taşınmasına izin verilmesinden dolayı yapılacak işlem bu sınırlamalarla çelişir. move_uploaded_file() işlevi, karşıya yüklenecek dosyaların sadece PHP üzerinden taşınmasına izin vererek işlemin güvenliğini sağlar.

Uyarı

Hedefte bir dosya varsa üzerine yazılır.

Ayrıca Bakınız

  • is_uploaded_file() - Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler
  • rename() - Bir dosya veya dizinin ismini değiştirir
  • Basit bir kullanım örneği için Karşıya dosya yükleme bölümüne bakınız.


Bir yapılandırma dosyasını çözümler

  • « move_uploaded_file
  • parse_ini_string »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir yapılandırma dosyasını çözümler

parse_ini_file

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_ini_file — Bir yapılandırma dosyasını çözümler

Açıklama

parse_ini_file(string $dosyaismi, bool $bölümleri_işle = false, int $tarama_kipi = INI_SCANNER_NORMAL): array|false

parse_ini_file() işlevi dosyaismi ile belirtilen yapılandırma dosyasını yükler ve içindeki ayarları bir ilişkisel dizi içinde döndürür.

Belirtilen dosyanın yapısı php.ini dosyasının yapısıyla aynı olmalıdır.

Bağımsız Değişkenler

dosyaismi

Çözümlenecek yapılandırma dosyasının ismi. Göreli bir yol kullanılıyorsa, mevcut çalışma dizinine göre, ardından include_path değerlendirilir.

bölümleri_işle

Bu bağımsız değişkene true atanırsa bölüm isimlerini ve içerdikleri ayarları içeren çok boyutlu bir dizi döner. Bağımsız değişkenin öntanımlı değeri false'tır.

tarama_kipi

Değeri INI_SCANNER_NORMAL (öntanımlıdır) veya INI_SCANNER_RAW olabilir. Eğer INI_SCANNER_RAW belirtilirse seçenek değerleri çözümlenmez.

PHP 5.6.1 ve sonrasında bu INI_SCANNER_TYPED olarak da belirtilebilir. Bu kipte mantıksal, null ve tamsayı türler mümkün olduğunca korunur. "true", "on" ve "yes" dizge değerleri true değerine dönüştürülür. "false", "off", "no" ve "none" ise false yapılır. "null" dizgesi ise null değerine dönüşür. Ayrıca, tüm sayısal dizgeler mümkün olduğu takdirde tamsayı türe çevrilir.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde ayarları bir ilişkisel dizi içinde döndürür.

Örnekler

Örnek 1 - misal.ini içeriği

; Bu bir yapılandırma dosyası örneğidir.
; php.ini içinde ';' ile başlayan satırlar açıklamadır.

[ilk_bölüm]
bir = 1
yedi = 7
hayvan = AT

[ikinci_bölüm]
yol = "/usr/local/bin"
URL = "http://localhost/~kullanici"

[üçüncü_bölüm]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"

urls[svn] = "http://svn.php.net"
urls[git] = "http://git.php.net"

Örnek 2 - parse_ini_file() örneği

INI dosyası içinde sabitler de (fakat __FILE__ gibi sihirli sabitler değil) çözümlenebilir, bu bakımdan parse_ini_file() işlevini çalıştırmadan önce bir sabiti bir ini değeri olarak tanımlamışsanız, bu sabit de sonuca dahil edilir. Sadece ini değerleri değerlendirmeye alınır ve değer bir sabit olmalıdır. Örnek:

<?php

define('AT', 'Doru at');

// Bölümleri çözümlemeyelim
$ini_dizisi = parse_ini_file("misal.ini");
print_r($ini_dizisi);

// Bölümleri de çözümleyelim
$ini_dizisi = parse_ini_file("misal.ini", true);
print_r($ini_dizisi);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [bir] => 1
    [yedi] => 7
    [hayvan] => Doru at
    [yol] => /usr/local/bin
    [URL] => http://localhost/~kullanici
    [phpversion] => Array
        (
            [0] => 5.0
            [1] => 5.1
            [2] => 5.2
            [3] => 5.3
        )

    [urls] => Array
        (
            [svn] => http://svn.php.net
            [git] => http://git.php.net
        )

)
Array
(
    [ilk_bölüm] => Array
        (
            [bir] => 1
            [yedi] => 7
            [hayvan] => Doru at
        )

    [ikinci_bölüm] => Array
        (
            [yol] => /usr/local/bin
            [URL] => http://localhost/~kullanici
        )

    [üçüncü_bölüm] => Array
        (
            [phpversion] => Array
                (
                    [0] => 5.0
                    [1] => 5.1
                    [2] => 5.2
                    [3] => 5.3
                )

            [urls] => Array
                (
                    [svn] => http://svn.php.net
                    [git] => http://git.php.net
                )

        )

)

Örnek 3 - Bir php.ini dosyasının parse_ini_file() ile çözümlenmesi

<?php
// Aşağıdaki sonuçları karşılaştırmak için basit bir işlev
function evethayır($ifade)
{
return($ifade ? 'Evet' : 'Hayır');
}

// php_ini_loaded_file() ile php.ini dosyasının yolunu öğrenelim.
$ini_yolu = php_ini_loaded_file();

// php.ini dosyasını çözümleyelim
$ini = parse_ini_file($ini_yolu);

// Değerleri karşılaştırıp basalım; get_cfg_var() ile de aynı
// sonuçların alınacağına dikkat ediniz
echo '(çözümlenen) magic_quotes_gpc =' .
evethayır($ini['magic_quotes_gpc']) . PHP_EOL;
echo '(yüklenen) magic_quotes_gpc = ' .
evethayır(get_cfg_var('magic_quotes_gpc')) . PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(çözümlenen) magic_quotes_gpc = Evet
(yüklenen) magic_quotes_gpc = Evet

Örnek 4 Ara Değerler

Sabitleri değerlendirmeye ek olarak, belirli karakterlerin ini değerlerinde özel anlamları vardır. Buna ek olarak, ortam değişkenleri ve önceden tanımlanmış yapılandırma seçenekleri ${}sözdizimi kullanılarak okunabilir (bkz: get_cfg_var()).

; bitsel VEYA için | kullanılır
three = 2|3

; bitsel VE için & kullanılır
four = 6&5

; bitsel Ayrıcalıklı VEYA için ^ kullanılır
five = 3^6

; bitsel olumsuzlama için ~ kullanılır
negative_two = ~1

; gruplama için () kullanılır
seven = (8|7)&(6|5)

; PATH ortam değişkenini oku
path = ${PATH}

; 'memory_limit' yapılandırma seçeneğini oku
configured_memory_limit = ${memory_limit}

Örnek 5 Öncelleme Karakterleri

Bazı karakterlerin çift tırnaklı dizgelerde özel anlamları olduğundan önlerine tersbölü çizgisi konarak öncelenmeleri gerekir. Hepsinden önce, dizgenin sınırlarını belirleyen çift tırnak " ve tersbölünün \ kendisi (özel karakterlerden birini önceliyorsa) bu özel karakterlerdendir:

tırnaklı = "She said \"Exactly my point\"."
; İçinde tırnak imleri bulunan; bir dize elde edilir.

ipucu = "Çift tırnağı öncelemek için \\\" kullan"
; Sonuç: Çift tırnağı öncelemek için \" kullan

Windows benzeri dosya yollarında bunun bir istisnası vardır: Tırnaklı dizgeyi bir satırsonu izliyorsa sondaki ters bölüyü öncelememek mümkündür:

save_path = "C:\Temp\"

Çok satırlı bir değerde ardından satır sonu gelen bir çift tırnağın öncelenmesi gerekiyorsa, değer birleştirmeyi aşağıdaki şekilde kullanmak mümkündür (bir çift tırnaklı dizenin hemen ardından bir diğeri gelir):

long_text = "Lorem \"ipsum\"""
 dolor" ; Sonuç: Lorem "ipsum"\n dolor

Özel anlamı olan karakterlerden bir diğeri $ dolar imidir. Ardından açan kaşlı ayraç geliyorsa dolar iminin öncelenmesi gerekir:

code = "\${test}"

Karakter önceleme INI_SCANNER_RAW kipinde desteklenmez (bu kipte tüm karakterler "oldukları gibi" işlenir).

İni çözümleyicisinin standart öncelemleri (\n, \t ve benzerlerini) desteklemediğini dikkate almak gerekir. Gerekirse, parse_ini_file() işlevinin sonucunu stripcslashes() işleviyle yeniden işlemden geçirmek gerekebilir.

Notlar

Bilginize:

Bu işlev php.ini dosyasına hiçbir şey yapmaz. Zaten betiğinizi çalıştırdığınız sırada işlem yapılır. Bu işlevi sadece kendi uygulamanızın yapılandırma dosyasını okumak için kullanabilirsiniz.

Bilginize:

INI dosyasındaki bir değer harf ve rakamların haricinde karakterler içeriyorsa bu değeri çift tırnak (") imlerinin arasına almalısınız.

Bilginize: INI dosyalarında anahtar olarak kullanılmaması gereken bazı özel sözcükler vardır. Bunlar: null, yes, no, true, false, on, off, none. INI_SCANNER_TYPED kipi kullanılmadıkça null, off, no ve false sözcükleri "" ile sonuçlanırken, on, yes ve true sözcükleri "1" ile sonuçlanır. ?{}|&~![()^" karakterleri hiçbir yerde anahtar veya değer içinde kullanılmamalıdır.

Bilginize:

Eşit işareti içermeyen girdiler yoksayılır. Örneğin, "foo" yoksayılırken "bar =" çözümlenir ve boş değer eklenir. Örneğin, MySQL my.cnf içinde bir "no-auto-rehash" girdisine sahiptir ve herhangi bir değer almadığı için yoksayılır.

Bilginize:

ini dosyaları genellikle HTTP sunucuları tarafından düz metin olarak kabul edilir ve bu nedenle istenirse tarayıcılara sunulur. Bu, güvenlik için ini dosyalarınızı belge kök dizininiz dışında tutmanız veya HTTP sunucunuzu onlara hizmet vermeyecek şekilde yeniden yapılandırmanız gerektiği anlamına gelir. Bunlardan herhangi birinin yapılmaması bir güvenlik riski oluşturabilir.

Ayrıca Bakınız

  • parse_ini_string() - Bir yapılandırma dizgesini çözümler


Bir yapılandırma dizgesini çözümler

  • « parse_ini_file
  • pathinfo »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir yapılandırma dizgesini çözümler

parse_ini_string

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

parse_ini_string — Bir yapılandırma dizgesini çözümler

Açıklama

parse_ini_string(string $ini_dizgesi, bool $bölümleri_işle = false, int $tarama_kipi = INI_SCANNER_NORMAL): array|false

parse_ini_string() işlevi ini_dizgesi içindeki ayarları bir ilişkisel dizi içinde döndürür.

ini_dizgesi'nin yapısı php.ini dosyasının yapısıyla aynı olmalıdır.

Bağımsız Değişkenler

ini_dizgesi

Çözümlenecek ini dosyası içeriği.

bölümleri_işle

Bu bağımsız değişkene true atanırsa bölüm isimlerini ve içerdikleri ayarları içeren çok boyutlu bir dizi döner. Bağımsız değişkenin öntanımlı değeri false'tır.

tarama_kipi

Değeri INI_SCANNER_NORMAL (öntanımlıdır) veya INI_SCANNER_RAW olabilir. Eğer INI_SCANNER_RAW belirtilirse seçenek değerleri çözümlenmez.

PHP 5.6.1 ve sonrasında bu INI_SCANNER_TYPED olarak da belirtilebilir. Bu kipte mantıksal, null ve tamsayı türler mümkün olduğunca korunur. "true", "on" ve "yes" dizge değerleri true değerine dönüştürülür. "false", "off", "no" ve "none" ise false yapılır. "null" dizgesi ise null değerine dönüşür. Ayrıca, tüm sayısal dizgeler mümkün olduğu takdirde tamsayı türe çevrilir.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde ayarları bir ilişkisel dizi içinde döndürür.

Notlar

Bilginize: INI dosyalarında anahtar olarak kullanılmaması gereken bazı özel sözcükler vardır. Bunlar: null, yes, no, true, false, on, off, none. INI_SCANNER_TYPED kipi kullanılmadıkça null, off, no ve false sözcükleri "" ile sonuçlanırken, on, yes ve true sözcükleri "1" ile sonuçlanır. ?{}|&~![()^" karakterleri hiçbir yerde anahtar veya değer içinde kullanılmamalıdır.

Ayrıca Bakınız

  • parse_ini_file() - Bir yapılandırma dosyasını çözümler


Bir dosya yolu hakkında bilgi döndürür

  • « parse_ini_string
  • pclose »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya yolu hakkında bilgi döndürür

pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pathinfo — Bir dosya yolu hakkında bilgi döndürür

Açıklama

pathinfo(string $yol, int $seçenekler = PATHINFO_ALL): array|string

pathinfo() işlevi belirtilen seçeneklere bağlı olarak, belirtilen yol hakkında bilgi içeren bir ilişkisel dizi ya da bir dizge döndürür.

Bilginize:

Geçerli dosya yolu bilgisinin alınması hakkında daha ayrıntılı bilgi edinmek için Öntanımlı Değişkenler bölümü okunabilir.

Bilginize:

pathinfo() safça girdi dizgesi üzerinde çalışır, dosya sisteminden ve ".." gibi bileşenlerden haberi yoktur.

Bilginize:

Yalnızca Windows sistemlerinde, \ karakteri bir dizin ayırıcı olarak yorumlanır. Diğer sistemlerde ise herhangi bir karakter gibi ele alınır.

Dikkat

pathinfo() yereli de bilmez, bundan dolayı çok baytlı karakterler içeren dosya yollarından doğru bileşeni ayırabilmesi için eşleşen yerelin setlocale() işlevi kullanılarak atanması gerekir.

Bağımsız Değişkenler

yol

Bilgi toplanacak yol.

seçenekler

İsteğe bağlı seçenekler bağımsız değişkeninde hangi bileşenlerin döndürüleceğini PATHINFO_DIRNAME, PATHINFO_BASENAME, PATHINFO_EXTENSION ve PATHINFO_FILENAME seçeneklerinin birleşimi olarak belirtebilirsiniz. Bir değer belirtilmezse tüm bileşenler döndürülür.

Dönen Değerler

seçenekler bağımsız değişkeni atlanırsa dönen ilişkisel dizi şu bileşenleri içerir: dirname (dizin ismi), basename (uzantısız isim), extension (uzantı) ve filename (dosya ismi).

Bilginize:

yol birden fazla uzantı içeriyorsa PATHINFO_EXTENSION seçeneği ile yalnızca sonuncusu dönerken PATHINFO_FILENAME seçeneğinde ise sadece sonuncu uzantı kırpılır. Aşağıdaki örneğe bakınız.

Bilginize:

yol bir uzantı içermiyorsa dönen dizi extension elemanını içermez. Aşağıdaki örneğe bakınız.

Bilginize:

yol'un basename elemanı bir nokta ile başlıyorsa, noktadan sonrası extension elemanına aktarılır, filename elemanı ise boş kalır. Aşağıdaki örneğe bakınız.

Eğer seçenekler belirtilirse ve tüm bileşenler istenmemişse işlev bir ilişkisel dizi değil, bir dizge döndürür.

Örnekler

Örnek 1 - pathinfo() örneği

<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n";
?>

Yukarıdaki örneğin çıktısı:

/www/htdocs/inc
lib.inc.php
php
lib.inc

Örnek 2 - Uzantısız ve boş uzantılı farkını gösteren pathinfo() örneği

<?php
$path_parts = pathinfo('/yol/bosuzanti.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/yol/yokuzanti');
var_dump($path_parts['extension']);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(0) ""

Notice: Undefined index: extension in test.php on line 6
NULL

Örnek 3 - pathinfo() ve uzantı-dosya

<?php
print_r(pathinfo('/some/path/.test'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [dirname] => /some/path
    [basename] => .test
    [extension] => test
    [filename] =>
)

Örnek 4 - pathinfo() dizi başvurusunu kaldırma örneği

seçenekler bit maskesi değildir. Tek bir değer aktarılabilir. Yalnızca çözümlenmiş değerlerden oluşan sınırlı bir değer kümesini seçmek için dizi yıkımı şu şekilde kullanılabilir:

<?php
['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');

var_dump($basename, $dirname);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "lib.inc.php"
string(15) "/www/htdocs/inc"

Ayrıca Bakınız

  • dirname() - Üst dizinin yolunu döndürür
  • basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • parse_url() - Bir URL'yi bileşenlerine ayırır
  • realpath() - Normalleştirilmiş mutlak dosya yolunu döndürür


Bir süreç tanıtıcısını kapatır

  • « pathinfo
  • popen »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir süreç tanıtıcısını kapatır

pclose

(PHP 4, PHP 5, PHP 7, PHP 8)

pclose — Bir süreç tanıtıcısını kapatır

Açıklama

pclose(resource $dt): int

popen() tarafından açılmış bir borunun dosya tanıtıcısını kapatır.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve başarılı bir popen() çağrısından dönmüş olmalıdır.

Dönen Değerler

Çalışan sürecin sonlandırma durum kodu ile döner. Hata oluşması durumunda -1 döner.

Bilginize:

PHP --enable-sigchild seçeneği ile derlenmişse bu işlevin dönen değeri tanımsızdır.

Örnekler

Örnek 1 - pclose() örneği

<?php
$dt = popen('/bin/ls', 'r');
pclose($handle);
?>

Notlar

Bilginize: Unix Only:

pclose() dahili olarak waitpid(3) sistem çağrısı kullanılarak gerçeklenmiştir. Gerçek çıkış durumunu öğrenmek için pcntl_wexitstatus() işlevi kullanılmalıdır.

Ayrıca Bakınız

  • popen() - Bir süreç tanıtıcısı açar


Bir süreç tanıtıcısı açar

  • « pclose
  • readfile »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir süreç tanıtıcısı açar

popen

(PHP 4, PHP 5, PHP 7, PHP 8)

popen — Bir süreç tanıtıcısı açar

Açıklama

popen(string $komut, string $kip): resource|false

Belirtilen komut tarafından çatallanarak çalıştırılan bir sürece bir boruhattı açar.

Bağımsız Değişkenler

komut

Komut.

kip

Kip. Okumak için 'r' veya yazmak için 'w' aktarılır.

Windows üzerinde, popen() öntanımlı olarak metin kipindedir, örneğin, borudan okunan veya boruya yazılan her \n karakteri \r\n haline getirilir. Bu istenmiyorsa, kip bağımsız değişkenine okuma için 'rb' veya yazma için 'wb' atanarak ikil kip zorlanabilir.

Dönen Değerler

fopen() işlevi tarafından döndürülenden farklı olarak hem okuma hem de yazma için kullanılabilen ve pclose() ile kapatılması gereken bir dosya tanıtıcısı ile döner. Bu tanıtıcı, fgets(), fgetss() ve fwrite() işlevleri tarafından kullanılabilir. Kip 'r' ise dönen dosya konumlayıcı komutun standart çıktısına eşitlenir. Kip 'w' ise dönen dosya konumlayıcı komutun standart girdisine eşitlenir.

Bir hata oluşursa false döner.

Örnekler

Örnek 1 - popen() örneği

<?php
$handle = popen("/bin/ls", "r");
?>

Belirtilen komut dosyası bulunamazsa da geçerli bir tanıtıcı döner. Bu tuhaf görünebilir fakat böyle olması gerekir; böylece kabuk tarafından döndürülen hata iletisine erişmeniz sağlanır:

Örnek 2 - Hata döndüren popen() örneği

<?php
error_reporting(E_ALL);

/* Komutu std. hataya yönlendirelim. */
$bt = popen('/bir/yol/calistirilabilirdosya 2>&1', 'r');
echo "'$tanıtıcı'; " . gettype($bt) . "\n";
$okunan = fread($bt, 2096);
echo $okunan;
pclose($bt);
?>

Notlar

Bilginize:

İki yönlü destek arıyorsanız proc_open() kullanın.

Ayrıca Bakınız

  • pclose() - Bir süreç tanıtıcısını kapatır
  • fopen() - Bir dosya veya URL'yi açar
  • proc_open() - Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar


Bir dosyayı çıktılar

  • « popen
  • readlink »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyayı çıktılar

readfile

(PHP 4, PHP 5, PHP 7, PHP 8)

readfile — Bir dosyayı çıktılar

Açıklama

readfile(string $dosyaismi, bool $include_path_kullan = false, ?resource $bağlam = null): int|false

Bir dosyayı okuyup çıktı tamponuna yazar.

Bağımsız Değişkenler

dosyaismi

Okunacak dosya.

include_path_kullan

Dosyanın include_path yolunda da aranmasını istiyorsanız bu isteğe bağlı bağımsız değişkene true atamalısınız.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Herşey yolunda gitmişse dosyadan okunan baytların sayısı, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - readfile() kullanarak dosya indirmeyi zorlamak

<?php
$file = 'monkey.gif';

if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
readfile($file);
exit;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Aç / Kaydet penceresi

Notlar

Bilginize:

readfile() kendi başına büyük dosyalar gönderirken bile herhangi bir bellek sorunu ortaya çıkmaz. Yetersiz bellek hatasıyla karşılaşırsanız, ob_get_level() kullanarak çıktı tamponlamasının kapalı olduğundan emin olun.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Ayrıca Bakınız

  • fpassthru() - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
  • file() - Dosya içeriğinin tamamını bir diziye okur
  • fopen() - Bir dosya veya URL'yi açar
  • include - include
  • require - require
  • virtual() - Bir Apache alt isteği gerçekleştirir
  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür
  • Desteklenen Protokoller ve Sarmalayıcılar


Bir sembolik bağın hedefi ile döner

  • « readfile
  • realpath_cache_get »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir sembolik bağın hedefi ile döner

readlink

(PHP 4, PHP 5, PHP 7, PHP 8)

readlink — Bir sembolik bağın hedefi ile döner

Açıklama

readlink(string $yol): string|false

readlink() işlevi, C readlink işlevinin yaptığını yapar.

Bağımsız Değişkenler

yol

Sembolik bağ yolu.

Dönen Değerler

Hata durumunda false aksi takdirde sembolik bağın içeriğini döndürür.

Bilginize: Windows hariç, yol bir sembolik bağ değilse işlev başarısız olur, Windows üzerinde ise normalleştirilmiş yol döner.

Örnekler

Örnek 1 - readlink() örneği

<?php

// örn, /boot/vmlinux-2.4.20-xfs döner
echo readlink('/vmlinuz');

?>

Ayrıca Bakınız

  • is_link() - Dosya sembolik bağ ise bunu doğrular
  • symlink() - Bir sembolik bağ oluşturur
  • linkinfo() - Bir bağ hakkında bilgi verir


Mutlak dosya yolu önbellek girdilerini döndürür

  • « readlink
  • realpath_cache_size »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Mutlak dosya yolu önbellek girdilerini döndürür

realpath_cache_get

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

realpath_cache_get — Mutlak dosya yolu önbellek girdilerini döndürür

Açıklama

realpath_cache_get(): array

Mutlak dosya yolu önbelleğinin içeriğini döndürür.

Dönen Değerler

Mutlak dosya yolu önbellek girdilerini bir dizi olarak döndürür. Dizinin anahtarları özgün dosya yolu girdileri, değerleri ise veri öğelerini içeren dizilerdir. Bu veri öğeleri, çözümlenen dosya yolu, son kullanım tarihi ve önbellekte tutulan diğer seçeneklerdir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 - realpath_cache_get() örneği

<?php
var_dump(realpath_cache_get());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["/test"]=>
  array(4) {
    ["key"]=>
    int(123456789)
    ["is_dir"]=>
    bool(true)
    ["realpath"]=>
    string(5) "/test"
    ["expires"]=>
    int(1260318939)
  }
  ["/test/test.php"]=>
  array(4) {
    ["key"]=>
    int(987654321)
    ["is_dir"]=>
    bool(false)
    ["realpath"]=>
    string(12) "/root/test.php"
    ["expires"]=>
    int(1260318939)
  }
}

Ayrıca Bakınız

  • realpath_cache_size() - Mutlak dosya yolu önbellek boyunu döndürür


Mutlak dosya yolu önbellek boyunu döndürür

  • « realpath_cache_get
  • realpath »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Mutlak dosya yolu önbellek boyunu döndürür

realpath_cache_size

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

realpath_cache_size — Mutlak dosya yolu önbellek boyunu döndürür

Açıklama

realpath_cache_size(): int

Mutlak dosya yolu önbelleği tarafından kullanılan bellek miktarını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanılan bellek miktarı.

Örnekler

Örnek 1 - realpath_cache_size() örneği

<?php
var_dump(realpath_cache_size());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(412)

Ayrıca Bakınız

  • realpath_cache_get() - Mutlak dosya yolu önbellek girdilerini döndürür
  • realpath_cache_size yapılandırma seçeneği.


Normalleştirilmiş mutlak dosya yolunu döndürür

  • « realpath_cache_size
  • rename »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Normalleştirilmiş mutlak dosya yolunu döndürür

realpath

(PHP 4, PHP 5, PHP 7, PHP 8)

realpath — Normalleştirilmiş mutlak dosya yolunu döndürür

Açıklama

realpath(string $yol): string|false

realpath() işlevi tüm sembolik bağları genişletir ve /./, /../ gösterimlerini çözümleyip belirtilen yol'a bir / ekler ve normalleştirilmiş mutlak dosya yolu olarak döndürür.

Bağımsız Değişkenler

yol

Sınanacak dosya yolu.

Bilginize:

Bir yolun belirtilmesi gerekirse de, değer boş bir dizge de olabilir. Bu durumda değer, geçerli dizin olarak yorumlanır.

Dönen Değerler

Başarı durumunda normalleştirilmiş mutlak dosya yolunu döndürür. Sonuç hiçbir sembolik bağ, /./ veya /../ bileşenlerini içermez. Ayrıca, sondaki \ veya / kaldırılır.

Başarısızlık durumunda, örneğin dosya mevcut olmadığında realpath() false ile döner.

Bilginize:

Çalışan betik dosya hiyerarşisi içindeki tüm dizinlerde çalıştırılabilir izinlerine sahip olmalıdır, aksi takdirde realpath() false döndürür.

Bilginize:

Harf büyüklüğüne duyarsız dosya sistemlerinde realpath() karakter büyüklüklerini aynı yapabileceği gibi olduğu gibi de bırakabilir.

Bilginize:

realpath() işlevi yolun gerçek değil de sanal olduğu bir Phar içindeki bir dosya için işlem yapmaz.

Bilginize:

Windows'ta, dizin kavşakları ve sembolik bağları yalnızca bir seviye genişletilir.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Örnekler

Örnek 1 - realpath() örneği

<?php
chdir('/var/log/');
echo realpath('./../../etc/passwd');

echo realpath('/tmp/') . PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

/etc/passwd
/tmp

Örnek 2 - Windows'ta realpath()

Windows'ta realpath() Unix tarzı dosya yolunu Windows tarzı dosya yoluna dönüştürür.

<?php
echo realpath('/windows/system32'), PHP_EOL;

echo realpath('C:\Program Files\\'), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

C:\WINDOWS\System32
C:\Program Files

Ayrıca Bakınız

  • basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • dirname() - Üst dizinin yolunu döndürür
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Bir dosya veya dizinin ismini değiştirir

  • « realpath
  • rewind »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya veya dizinin ismini değiştirir

rename

(PHP 4, PHP 5, PHP 7, PHP 8)

rename — Bir dosya veya dizinin ismini değiştirir

Açıklama

rename(string $eski_dosya, string $yeni_dosya, ?resource $bağlam = null): bool

İsmi eski_dosya ile belirtilen bir dosya veya dizinin ismini gerekirse dizinler arasında taşımak suretiyle yeni_dosya olarak değiştirir. Eğer yeni_dosya bir dosya ismini değiştiriyorsa ve böyle bir dosya zaten varsa üzerine yazılır. Eğer yeni_dosya bir dizin ismini değiştiriyorsa ve böyle bir dizin zaten varsa işlev bir uyarı üretir.

Bağımsız Değişkenler

eski_dosya

Eski isim.

Bilginize:

eski_dosya'da kullanılan sarmalayıcının yeni_dosya'daki sarmalayıcı ile aynı olması gerekir.

yeni_dosya

Yeni isim.

Bilginize: Windows üzerinde, yeni_dosya zaten varsa yazılabilir olmalıdır. Aksi takdirde, rename() başarısız olur ve bir E_WARNING üretir.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - rename()örneği

<?php
rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt");
?>

Ayrıca Bakınız

  • copy() - Dosya kopyalar
  • unlink() - Bir dosyayı siler
  • move_uploaded_file() - Karşıya yüklenen bir dosyayı yeni bir yere taşır


Bir dosya tanıtıcısında konumu başa taşır

  • « rename
  • rmdir »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya tanıtıcısında konumu başa taşır

rewind

(PHP 4, PHP 5, PHP 7, PHP 8)

rewind — Bir dosya tanıtıcısında konumu başa taşır

Açıklama

rewind(resource $dt): bool

Dosya konumu göstericisini dt dosya akımının başlangıcına konumlandırır.

Bilginize:

Dosyayı dosya sonuna ekleme kipinde ("a" veya "a+") açmışsanız, dosya konum göstericisinin yerine bakılmaksızın dosyaya yazılan her veri daima dosyanın sonuna yazılır.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı geçerli olmalı ve fopen() tarafından başarıyla açılmış bir dosyayı göstermelidir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - rewind() üste yazma örneği

<?php
$dt = fopen('dosya.txt', 'r+');

fwrite($dt, 'Uzunca bir cümle.');
rewind($dt);
fwrite($dt, 'Foo');
rewind($dt);

echo fread($dt, filesize('dosya.txt'));

fclose($dt);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Uzunca bir cümle.

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • fwrite() - Dosyaya ikil kipte yazar


Dizin siler

  • « rewind
  • set_file_buffer »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dizin siler

rmdir

(PHP 4, PHP 5, PHP 7, PHP 8)

rmdir — Dizin siler

Açıklama

rmdir(string $dizin, ?resource $bağlam = null): bool

Yolu dizin ile belirtilen dizini silmeye çalışır. Silinebilmesi için dizin boş olmalı ve erişim izinleri buna izin vermelidir. Başarısızlık durumunda E_WARNING seviyeside hata çıktılanır.

Bağımsız Değişkenler

dizin

Dizinin yolu.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - rmdir() örneği

<?php
if (!is_dir('misaller')) {
mkdir('misaller');
}

rmdir('misaller');
?>

Ayrıca Bakınız

  • is_dir() - Bir dosyanın bir dizin olup olmadığını söyler
  • mkdir() - Dizin oluşturur
  • unlink() - Bir dosyayı siler


stream_set_write_buffer işlevinin takma adıdır

  • « rmdir
  • stat »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • stream_set_write_buffer işlevinin takma adıdır

set_file_buffer

(PHP 4, PHP 5, PHP 7, PHP 8)

set_file_buffer — stream_set_write_buffer() işlevinin takma adıdır

Açıklama

Bu işlev, stream_set_write_buffer() işlevinin takma adıdır.


Bir dosya hakkında bilgi döndürür

  • « set_file_buffer
  • symlink »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosya hakkında bilgi döndürür

stat

(PHP 4, PHP 5, PHP 7, PHP 8)

stat — Bir dosya hakkında bilgi döndürür

Açıklama

stat(string $dosyaismi): array|false

dosyaismi ile belirtilen dosyanın istatistiklerini toplar. Eğer dosyaismi bir sembolik bağ ise istatistikler bağ dosyasından değil hedefinden toplanır. PHP 7.4.0 öncesinde, Windows üzerinde, bu durumda, NTS size, atime, mtime ve ctime istatistiklerini sembolik bağdan oluştururdu.

lstat(), sembolik bağların durumunu döndürmesi dışında stat() işlevine eşdeğerdir.

Bağımsız Değişkenler

dosyaismi

Dosyanın yolu.

Dönen Değerler

stat() and fstat() sonuç biçemi
İndis | Anahtar | Açıklama
0 | dev | aygıt numarası ***
1 | ino | dosya düğümü numarası ****
2 | mode | dosya düğümü koruma kipi *****
3 | nlink | bağ sayısı
4 | uid | sahibinin kullanıcı kimliği *
5 | gid | sahibinin grup kimliği *
6 | rdev | dosya düğümü aygıtı ise aygıt türü
7 | size | bayt sayısı
8 | atime | son erişim zamanı (Unix zaman damgası)
9 | mtime | son değişiklik zamanı (Unix zaman damgası)
10 | ctime | dosya düğümü son değişiklik zamanı (Unix zaman damgası)
11 | blksize | dosya sisteminin G/Ç blok boyu **
12 | blocks | ayrılmış 512 baytlık blokların sayısı **

* Windows üzerinde daima 0'dır.

** Sadece st_blksize türünü destekleyen sistemlerde geçerlidir; diğer sistemlerde (Windows gibi) -1 döner.

*** PHP 7.4.0 öncesinde, Windows üzerinde, bu dosyayı içeren birimin 64 bitlik işaretsiz bir tam sayı olarak seri numarasıdır, bu nedenle taşabilir. Önceden, sürücü harfinin sayısal karşılığıydı (örneğin, C: sürücüsü stat() için 2 ve lstat() için 0 idi).

**** PHP 7.4.0 öncesinde, Windows üzerinde, bu, 64 bitlik işaretsiz bir tam sayı olarak dosyayla ilişkili tanımlayıcıdır, bu nedenle taşabilir. Önceden her zaman 0 idi.

***** Windows'ta, yazılabilir izin biti, salt-okunur yapılır ve tüm kullanıcılar, grup ve sahip için aynı değer kullanılır. is_writable() işlevinin aksine ACL dikkate alınmaz.

Çeşitli işlevler tarafından okunan bilgileri içeren kip değeri. Sekizlik olarak yazıldığında, sağdan başlayarak, ilk üç hane chmod() tarafından döndürülür. Sonraki basamak PHP tarafından yok sayılır. Sonraki iki hane dosya türünü gösterir:

kip dosya türleri
Sekizlik kip | Anlamı
0140000 | soket
0120000 | bağ
0100000 | normal dosya
0060000 | blok aygıtı
0040000 | dizin
0020000 | karakter aygıtı
0010000 | fifo
Dolayısıyla, örneğin, normal bir dosyanın kipi 0100644 iken dizin için 0040755 olur.

Hata durumunda, stat() false döndürür.

Bilginize: PHP'nin tamsayı türü, işaretli tamsayı türü olduğundan 32 bitlik tamsayıların kullanıldığı sistemlerde bazı dosya sistemi işlevleri 2GB'tan büyük dosyalarda beklenmedik sonuçlar verebilir.

Hatalar/İstisnalar

Başarısızlık durumunda bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Windows üzerinde, aygıt numarası artık dosyayı içeren birimin seri numarası oldu. Evvelce dosya ile ilgili tanımlayıcının düğüm numarası idi.
7.4.0 | Sembolik bağların size, atime, mtime ve ctime istatistikleri olarak artık hedefin istatistikleri kullanılıyor. Evvelce, bunları NTS sembolik bağdan oluştururdu.

Örnekler

Örnek 1 - stat() örneği

<?php
/* Dosya durumunu alalım */
$stat = stat('C:\php\php.exe');

/*
* Dosya erişim zamanını basalım.
* Bu, fileatime() çağrısına eşdeğerdir.
*/
echo 'Erişim zamanı: ' . $stat['atime'];

/*
* Dosya değişiklik zamanını basalım.
* Bu, filemtime() çağrısına eşdeğerdir.
*/
echo 'Değişiklik zamanı: ' . $stat['mtime'];

/* Aygıt numarasını basalım */
echo 'Aygıt numarası: ' . $stat['dev'];

Örnek 2 - stat() bilgisinin touch() ile birlikte kullanımı

<?php
/* Dosya durumunu alalım */
$stat = stat('C:\php\php.exe');

/* Bilgiyi alırken başarısız olduk mu? */
if(!$stat) {
echo 'Stat çağrısı başarısız oldu...';
} else {
/*
* Mevcut erişim zamanı 1 hafta öncesi olsun
*/
$atime = $stat['atime'] + 604800;

/* Dosyaya dokunalım */
if (!touch('some_file.txt', time(), $atime)) {
echo 'Dosyaya erişilemedi...';
} else {
echo 'Dosyaya başarıyla erişildi...';
}
}
?>

Notlar

Bilginize:

Zaman çözünürlüğünün dosya sistemine göre farklı olabileceğini unutmayın.

Bilginize: Bu işlevin sonuçları önbelleğe kaydedilir. Daha ayrıntılı bilgi clearstatcache() işlevinde bulunabilir.

İpucu

PHP 5.0.0 sürümünden itibaren bu işlev bazı URL sarmalayıcıları ile kullanılabilmektedir. stat() ailesini destekleyen sarmalayıcıların listesi Desteklenen Protokoller ve Sarmalayıcılar başlığı altında bulunabilir.

Ayrıca Bakınız

  • lstat() - Bir dosya veya sembolik bağ hakkında bilgi verir
  • fstat() - Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür
  • filemtime() - Dosyanın değişiklik zamanını döndürür
  • filegroup() - Dosyanın sahibi olan grubu döndürür
  • SplFileInfo


Bir sembolik bağ oluşturur

  • « stat
  • tempnam »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir sembolik bağ oluşturur

symlink

(PHP 4, PHP 5, PHP 7, PHP 8)

symlink — Bir sembolik bağ oluşturur

Açıklama

symlink(string $hedef, string $bağ): bool

symlink() işlevi mevcut hedef'e bağ bağımsız değişkeninde belirtilen isimle bir sembolik bağ oluşturur.

Bağımsız Değişkenler

hedef

Bağın hedefi.

bağ

Sembolik bağın ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

bağ dosyası zaten varsa bu işlev başarısız olur ve bir E_WARNING çıktılar. Windows üzerinde, buna ek olarak hedef dosyasının yokluğu da işlevin başarısız olmasına ve bir E_WARNING çıktılanmasına sebep olur.

Örnekler

Örnek 1 - Bir sembolik bağ oluşturmak

<?php
$hedef = 'uploads.php';
$bağ = 'uploads';
symlink($hedef, $bağ);

echo readlink($bağ);
?>

Ayrıca Bakınız

  • link() - Sabit bir bağ oluşturur
  • readlink() - Bir sembolik bağın hedefi ile döner
  • linkinfo() - Bir bağ hakkında bilgi verir
  • unlink() - Bir dosyayı siler


Eşsiz bir isimle dosya oluşturur

  • « symlink
  • tmpfile »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Eşsiz bir isimle dosya oluşturur

tempnam

(PHP 4, PHP 5, PHP 7, PHP 8)

tempnam — Eşsiz bir isimle dosya oluşturur

Açıklama

tempnam(string $dizin, string $önek): string|false

Belirtilen dizinde eşsiz bir isimle bir dosya oluşturur ve erişim izinlerini 0600'e ayarlar. Eğer belirtilen dizin mevcut değilse veya yazılabilir değilse tempnam() sistem geçici dizininde bir dosya oluşturup bunun ismini içeren tam dosya yolunu döndürür.

Bağımsız Değişkenler

dizin

Geçici dosyanın oluşturulacağı dizin.

önek

Üretilecek geçici dosyaismi için önek.

Bilginize: Önekin sadece ilk 63 karakteri kullanılır, kalanı yok sayılır. Windows ise önekin sadece ilk üç karakterini kullanır.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde yeni geçici dosyanın tam dosya yolu ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | tempnam() sistemin temp dizinini kullanmak zorunda kalınca artık bir uyarı veriyor.

Örnekler

Örnek 1 - tempnam() örneği

<?php
$geçicidosya = tempnam("/tmp", "FOO");

$tutamak = fopen($geçicidosya, "w");
fwrite($tutamak, "geçici dosya yazılıyor");
fclose($tutamak);

// bir takım kodlar

unlink($geçicidosya);
?>

Notlar

Bilginize: PHP dizin ile belirtilen dizinde bir dosya oluşturamazsa son çare olarak sistem öntanımlısını dener. NTFS dosya sisteminde bu durum, dizin ile belirtilen dizin 65534'ten dana fazla dosya içerdiğinde de ortaya çıkar.

Ayrıca Bakınız

  • tmpfile() - Geçici bir dosya oluşturur
  • sys_get_temp_dir() - Geçici dosyalar için kullanılan dizini döndürür
  • unlink() - Bir dosyayı siler


Geçici bir dosya oluşturur

  • « tempnam
  • touch »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Geçici bir dosya oluşturur

tmpfile

(PHP 4, PHP 5, PHP 7, PHP 8)

tmpfile — Geçici bir dosya oluşturur

Açıklama

tmpfile(): resource|false

Eşsiz bir isimle oku-yaz-ikil (w+b) kipinde geçici bir dosya oluşturur ve bu dosya için bir dosya tanıtıcısı döndürür.

Dosya (fclose() çağrılarak kapatıldığında tmpfile() tarafından döndürülen dosya tanıtıcısına herhangi bir atıf kalmadığı zaman) veya betik sonlandığında dosya otomatikman silinir.

Dikkat

Betik beklenmedik şekilde sonlanırsa geçici dosya silinebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde fopen() işlevinin yaptığı gibi yeni dosya için bir dosya tanıtıcısı ile döner.

Örnekler

Örnek 1 - tmpfile() örneği

<?php
$temp = tmpfile();
fwrite($temp, "geçici dosyaya yazılıyor");
fseek($temp, 0);
echo fread($temp, 1024);
fclose($temp); // Dosyanın silinmesine sebep olur
?>

Yukarıdaki örneğin çıktısı:

geçici dosyaya yazılıyor

Ayrıca Bakınız

  • tempnam() - Eşsiz bir isimle dosya oluşturur
  • sys_get_temp_dir() - Geçici dosyalar için kullanılan dizini döndürür


Dosyanın erişim ve değişiklik zamanını ayarlar

  • « tmpfile
  • umask »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Dosyanın erişim ve değişiklik zamanını ayarlar

touch

(PHP 4, PHP 5, PHP 7, PHP 8)

touch — Dosyanın erişim ve değişiklik zamanını ayarlar

Açıklama

touch(string $dosyaismi, ?int $zaman = null, ?int $ezamanı = null): bool

dosyaismi bağımsız değişkeni ile ismi belirtilen dosyanın erişim ve değişiklik zamanlarını zaman bağımsız değişkeni ile belirtilen zamana ayarlamaya çalışır.

Dosya mevcut değilse oluşturulur.

Bağımsız Değişkenler

dosyaismi

Erişilecek dosyanın ismi.

zaman

Değişiklik zamanı. Eğer zaman null ise, o anki zaman kullanılır.

ezamanı

null değilse dosyanın erişim zamanı ezamanı değerine ayarlanır. Aksi takdirde zaman değerine ayarlanır. İki bağımsız değişken de null ise geçerli sistem zamanı kullanılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman ve ezamanı artık null olabiliyor.

Örnekler

Örnek 1 - touch() örneği

<?php
if (touch($dosyaismi)) {
echo $dosyaismi . " için değişiklik zamanı şimdiye ayarlandı";
} else {
echo $dosyaismi . " için değişiklik zamanı değiştirilemedi";
}
?>

Örnek 2 -touch() ve zaman kullanımı

<?php
// Dosyanın değişiklik zamanını bir saat önceye ayarlayalım
$zaman = time() - 3600;

// Dosyaya dokunalım
if(!touch('bir_dosya.txt', $zaman))
{
echo 'Hoop, bir şeyler yanlış oldu...';
} else {
echo 'Dosyaya başarıyla dokunuldu';
}
?>

Notlar

Bilginize:

Zaman çözünürlüğünün dosya sistemine göre farklı olabileceğini unutmayın.


Geçerli izin maskesini değiştirir

  • « touch
  • unlink »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Geçerli izin maskesini değiştirir

umask

(PHP 4, PHP 5, PHP 7, PHP 8)

umask — Geçerli izin maskesini değiştirir

Açıklama

umask(?int $maske = null): int

umask() işlevi PHP'nin izin maskesini maske & 0777 olarak ayarlar ve eskisini döndürür. PHP bir sunucu modülü olarak kullanıldığında izin maskesi her isteğin bitiminde eski değerine döndürülür.

Bağımsız Değişkenler

maske

Yeni izin maskesi.

Dönen Değerler

maske null ise umask() işlevi geçerli izin maskesini, aksi takdirde eski izin maskesini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | maske artık null olabiliyor.

Örnekler

Örnek 1 - umask() örneği

<?php
$eski = umask(0);
chmod("/bir/dizin/bir_dosya.txt", 0755);
umask($eski);

// Sınayalım
if ($eski != umask()) {
die('İzin maskesine eski değeri atanırken bir hata oluştu');
}
?>

Notlar

Bilginize:

Bu işlevi çok evreli sunucularda kullanmaktan kaçının. Dosya izinlerini dosyayı oluşturduktan sonra chmod() ile değiştirmek daha iyidir. umask() kullanımı çalışmakta olan betiklerin ve aynı izin maskesini kullanması sebebiyle HTTP sunucusunun beklenmedik davranışlar göstermesiyle sonuçlanabilir.


Bir dosyayı siler

  • « umask
  • Inotify »
  • PHP Manual
  • Dosya Sistemi İşlevleri
  • Bir dosyayı siler

unlink

(PHP 4, PHP 5, PHP 7, PHP 8)

unlink — Bir dosyayı siler

Açıklama

unlink(string $dosyaismi, ?resource $bağlam = null): bool

dosyaismi ile belirtilen dosyayı siler. Unix C unlink() işlevine benzer. Başarısızlık durumunda E_WARNING seviyesinde bir hata üretilir.

Bağımsız Değişkenler

dosyaismi

Dosya yolu.

Dosya sembolik bağ ise sembolik bağ silinir. Windows'ta, bir dizinin sembolik bağı silinecekse bunun yerine rmdir() işlevi kullanılmalıdır.

bağlam

Akım bağlamı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Windows üzerinde, tanıtıcısı kullanımda olan dosyalar artık unlink() ile silinebiliyor, evvelce bu başarısız olurdu. Ancak, tüm tanıtıcıları kapatılana kadar bu işlev ile silinmiş bir dosyayı yeniden oluşturmak mümkündür.

Örnekler

Örnek 1 - Basit unlink() kullanımı

<?php
$fh = fopen('deneme.html', 'a');
fwrite($fh, '<h1>Menhaba Dünya!</h1>');
fclose($fh);

unlink('deneme.html');
?>

Ayrıca Bakınız

  • rmdir() - Dizin siler


Inotify

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Yapılandırma/Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Inotify İşlevleri
    • inotify_add_watch — Add a watch to an initialized inotify instance
    • inotify_init — Initialize an inotify instance
    • inotify_queue_len — Return a number upper than zero if there are pending events
    • inotify_read — Read events from an inotify instance
    • inotify_rm_watch — Remove an existing watch from an inotify instance


Giriş

The inotify extension exposes the inotify functions inotify_init(), inotify_add_watch() and inotify_rm_watch().

As the C inotify_init() function returns a file descriptor, PHP's inotify_init() returns a stream resource, usable with standard stream functions, like stream_select(), stream_set_blocking() and fclose(). inotify_read() replaces the C way of reading inotify events.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması
  • Özkaynak Türleri


  • « Yapılandırma/Kurulum
  • Yapılandırma/Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires Linux 2.6.13 or newer, and a recent libC.


Yapılandırma/Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/inotify.


  • « Yapılandırma/Kurulum
  • Özkaynak Türleri »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

This extension defines a stream resource returned by inotify_init().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Inotify constants usable with inotify_add_watch() and/or returned by inotify_read()
IN_ACCESS (int)
File was accessed (read) (*)
IN_MODIFY (int)
File was modified (*)
IN_ATTRIB (int)
Metadata changed (e.g. permissions, mtime, etc.) (*)
IN_CLOSE_WRITE (int)
File opened for writing was closed (*)
IN_CLOSE_NOWRITE (int)
File not opened for writing was closed (*)
IN_OPEN (int)
File was opened (*)
IN_MOVED_TO (int)
File moved into watched directory (*)
IN_MOVED_FROM (int)
File moved out of watched directory (*)
IN_CREATE (int)
File or directory created in watched directory (*)
IN_DELETE (int)
File or directory deleted in watched directory (*)
IN_DELETE_SELF (int)
Watched file or directory was deleted
IN_MOVE_SELF (int)
Watch file or directory was moved
IN_CLOSE (int)
Equals to IN_CLOSE_WRITE | IN_CLOSE_NOWRITE
IN_MOVE (int)
Equals to IN_MOVED_FROM | IN_MOVED_TO
IN_ALL_EVENTS (int)
Bitmask of all the above constants
IN_UNMOUNT (int)
File system containing watched object was unmounted
IN_Q_OVERFLOW (int)
Event queue overflowed (wd is -1 for this event)
IN_IGNORED (int)
Watch was removed (explicitly by inotify_rm_watch() or because file was removed or filesystem unmounted
IN_ISDIR (int)
Subject of this event is a directory
IN_ONLYDIR (int)
Only watch pathname if it is a directory (Since Linux 2.6.15)
IN_DONT_FOLLOW (int)
Do not dereference pathname if it is a symlink (Since Linux 2.6.15)
IN_MASK_ADD (int)
Add events to watch mask for this pathname if it already exists (instead of replacing mask).
IN_ONESHOT (int)
Monitor pathname for one event, then remove from watch list.

Bilginize: The events marked with an asterisk (*) above can occur for files in watched directories.


Inotify İşlevleri

İçindekiler

  • inotify_add_watch — Add a watch to an initialized inotify instance
  • inotify_init — Initialize an inotify instance
  • inotify_queue_len — Return a number upper than zero if there are pending events
  • inotify_read — Read events from an inotify instance
  • inotify_rm_watch — Remove an existing watch from an inotify instance


Add a watch to an initialized inotify instance

  • « Inotify İşlevleri
  • inotify_init »
  • PHP Manual
  • Inotify İşlevleri
  • Add a watch to an initialized inotify instance

inotify_add_watch

(PECL inotify >= 0.1.2)

inotify_add_watch — Add a watch to an initialized inotify instance

Açıklama

inotify_add_watch(resource $inotify_instance, string $pathname, int $mask): int

inotify_add_watch() adds a new watch or modify an existing watch for the file or directory specified in pathname.

Using inotify_add_watch() on a watched object replaces the existing watch. Using the IN_MASK_ADD constant adds (OR) events to the existing watch.

Bağımsız Değişkenler

inotify_instance

inotify_init() tarafından döndürülen özkaynak

pathname

File or directory to watch

mask

Events to watch for. See Yerleşik Sabitler.

Dönen Değerler

The return value is a unique (inotify instance wide) watch descriptor.

Ayrıca Bakınız

  • inotify_init() - Initialize an inotify instance


Initialize an inotify instance

  • « inotify_add_watch
  • inotify_queue_len »
  • PHP Manual
  • Inotify İşlevleri
  • Initialize an inotify instance

inotify_init

(PECL inotify >= 0.1.2)

inotify_init — Initialize an inotify instance

Açıklama

inotify_init(): resource

Initialize an inotify instance for use with inotify_add_watch()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A stream resource or false on error.

Örnekler

Örnek 1 Example usage of inotify

<?php
// Open an inotify instance
$fd = inotify_init();

// Watch __FILE__ for metadata changes (e.g. mtime)
$watch_descriptor = inotify_add_watch($fd, __FILE__, IN_ATTRIB);

// generate an event
touch(__FILE__);

// Read events
$events = inotify_read($fd);
print_r($events);

// The following methods allows to use inotify functions without blocking on inotify_read():

// - Using stream_select() on $fd:
$read = array($fd);
$write = null;
$except = null;
stream_select($read,$write,$except,0);

// - Using stream_set_blocking() on $fd
stream_set_blocking($fd, 0);
inotify_read($fd); // Does no block, and return false if no events are pending

// - Using inotify_queue_len() to check if event queue is not empty
$queue_len = inotify_queue_len($fd); // If > 0, inotify_read() will not block

// Stop watching __FILE__ for metadata changes
inotify_rm_watch($fd, $watch_descriptor);

// Close the inotify instance
// This may have closed all watches if this was not already done
fclose($fd);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(
  array(
    'wd' => 1,     // Equals $watch_descriptor
    'mask' => 4,   // IN_ATTRIB bit is set
    'cookie' => 0, // unique id to connect related events (e.g.
                   // IN_MOVE_FROM and IN_MOVE_TO events)
    'name' => '',  // the name of a file (e.g. if we monitored changes
                   // in a directory)
  ),
);

Ayrıca Bakınız

  • inotify_add_watch() - Add a watch to an initialized inotify instance
  • inotify_rm_watch() - Remove an existing watch from an inotify instance
  • inotify_queue_len() - Return a number upper than zero if there are pending events
  • inotify_read() - Read events from an inotify instance
  • fclose() - Açık bir dosya tanıtıcısını kapatır


Return a number upper than zero if there are pending events

  • « inotify_init
  • inotify_read »
  • PHP Manual
  • Inotify İşlevleri
  • Return a number upper than zero if there are pending events

inotify_queue_len

(PECL inotify >= 0.1.2)

inotify_queue_len — Return a number upper than zero if there are pending events

Açıklama

inotify_queue_len(resource $inotify_instance): int

This function allows to know if inotify_read() will block or not. If a number upper than zero is returned, there are pending events and inotify_read() will not block.

Bağımsız Değişkenler

inotify_instance

inotify_init() tarafından döndürülen özkaynak

Dönen Değerler

Returns a number upper than zero if there are pending events.

Ayrıca Bakınız

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
  • stream_set_blocking() - Akımın engelleme kipini ayarlar


Read events from an inotify instance

  • « inotify_queue_len
  • inotify_rm_watch »
  • PHP Manual
  • Inotify İşlevleri
  • Read events from an inotify instance

inotify_read

(PECL inotify >= 0.1.2)

inotify_read — Read events from an inotify instance

Açıklama

inotify_read(resource $inotify_instance): array

Read inotify events from an inotify instance.

Bağımsız Değişkenler

inotify_instance

inotify_init() tarafından döndürülen özkaynak

Dönen Değerler

An array of inotify events or false if no events was pending and inotify_instance is non-blocking. Each event is an array with the following keys:

  • wd is a watch descriptor returned by inotify_add_watch()
  • mask is a bit mask of events
  • cookie is a unique id to connect related events (e.g. IN_MOVE_FROM and IN_MOVE_TO)
  • name is the name of a file (e.g. if a file was modified in a watched directory)

Ayrıca Bakınız

  • inotify_init() - Initialize an inotify instance
  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • inotify_queue_len() - Return a number upper than zero if there are pending events


Remove an existing watch from an inotify instance

  • « inotify_read
  • xattr »
  • PHP Manual
  • Inotify İşlevleri
  • Remove an existing watch from an inotify instance

inotify_rm_watch

(PECL inotify >= 0.1.2)

inotify_rm_watch — Remove an existing watch from an inotify instance

Açıklama

inotify_rm_watch(resource $inotify_instance, int $watch_descriptor): bool

inotify_rm_watch() removes the watch watch_descriptor from the inotify instance inotify_instance.

Bağımsız Değişkenler

inotify_instance

inotify_init() tarafından döndürülen özkaynak

watch_descriptor

Watch to remove from the instance

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • inotify_init() - Initialize an inotify instance


xattr

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • xattr İşlevleri
    • xattr_get — Bir özniteliğin değerini döndürür
    • xattr_list — Ek özniteliklerin listesini döndürür
    • xattr_remove — Bir ek özniteliği siler
    • xattr_set — Bir ek özniteliği tanımlar
    • xattr_supported — Dosya sistemi ek öznitelikleri destekliyor mu diye bakar


Giriş

Xattr eklentisi bir dosya sisteminin ek özniteliklerinde değişiklik yapmaya yarar.


Gereksinimler

xattr eklentisini kullanmak için, libattr sisteminizde kurulu olmalıdır. Libattr » http://savannah.nongnu.org/projects/attr/ adresinden edinilebilir.

Bilginize:

Bu işlevler sadece ek özniteliklerin desteklendiği dosya sistemlerinde dosya sistemi bağlanırken etkinleştirildikleri takdirde çalışır. Ek öznitelikleri desteklediği bilinen dosya sistemleri şunlardır: ext2, ext3, reiserfs, jfs ve xfs.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/xattr

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XATTR_ROOT (int)
Özniteliği root isim alanında tanımlar; root yetkisi gerektirir.
XATTR_DONTFOLLOW (int)
Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.
XATTR_CREATE (int)
Ek öznitelik zaten tanımlıysa işlev başarısız olur.
XATTR_REPLACE (int)
Öznitelik evvelce tanımlanmamışsa işlev başarısız olur.


xattr İşlevleri

İçindekiler

  • xattr_get — Bir özniteliğin değerini döndürür
  • xattr_list — Ek özniteliklerin listesini döndürür
  • xattr_remove — Bir ek özniteliği siler
  • xattr_set — Bir ek özniteliği tanımlar
  • xattr_supported — Dosya sistemi ek öznitelikleri destekliyor mu diye bakar


Bir özniteliğin değerini döndürür

  • « xattr İşlevleri
  • xattr_list »
  • PHP Manual
  • xattr İşlevleri
  • Bir özniteliğin değerini döndürür

xattr_get

(PECL xattr >= 0.9.0)

xattr_get — Bir özniteliğin değerini döndürür

Açıklama

xattr_get(string $dosya, string $isim, int $seçenekler = 0): string

Belirtilen dosyanın belirtilen özniteliğinin değerini döndürür.

Ek öznitelikler iki isim alanına sahiptir: kullanıcı ve root. Kullanıcı isim alanını tüm kullanıcılar kullanabilir; root isim alanını ise sadece root yetkilerine sahip kullanıcılar kullanabilir. xattr eklentisi öntanımlı olarak kullanıcı isim alanında işlem yapar, fakat bu davranış seçenekler bağımsız değişkeni ile değiştirilebilir.

Bağımsız Değişkenler

dosya

Özniteliği sorgulanacak dosyanın yolu.

isim

Özniteliğin ismi.

seçenekler

Desteklenen xattr seçenekleri
XATTR_DONTFOLLOW | Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.
XATTR_ROOT | Özniteliği root isim alanında tanımlar; root yetkisi gerektirir.

Dönen Değerler

Öznitelik tanımlı değilse false tanımlıysa değeri bir dizge olarak döndürür.

Örnekler

Örnek 1 - Yönetici dosyayı imzalamış mı diye bakmak

<?php
$dosya = '/usr/local/sbin/bir_dosya';
$imza = xattr_get($dosya, 'Root imzasi', XATTR_ROOT);

/* ... $imza geçerli mi diye bakılsın ... */

?>

Ayrıca Bakınız

  • xattr_list() - Ek özniteliklerin listesini döndürür
  • xattr_set() - Bir ek özniteliği tanımlar
  • xattr_remove() - Bir ek özniteliği siler


Ek özniteliklerin listesini döndürür

  • « xattr_get
  • xattr_remove »
  • PHP Manual
  • xattr İşlevleri
  • Ek özniteliklerin listesini döndürür

xattr_list

(PECL xattr >= 0.9.0)

xattr_list — Ek özniteliklerin listesini döndürür

Açıklama

xattr_list(string $dosya, int $seçenekler = 0): array

Belirtilen dosyanın ek özniteliklerinin listesini döndürür.

Ek öznitelikler iki isim alanına sahiptir: kullanıcı ve root. Kullanıcı isim alanını tüm kullanıcılar kullanabilir; root isim alanını ise sadece root yetkilerine sahip kullanıcılar kullanabilir. xattr eklentisi öntanımlı olarak kullanıcı isim alanında işlem yapar, fakat bu davranış seçenekler bağımsız değişkeni ile değiştirilebilir.

Bağımsız Değişkenler

dosya

Dosya yolu.

seçenekler

Desteklenen xattr seçenekleri
XATTR_DONTFOLLOW | Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.
XATTR_ROOT | Özniteliği root isim alanında tanımlar; root yetkisi gerektirir.

Dönen Değerler

Ek özniteliklerin isimlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - Bir dosyanın tüm özniteliklerini listelemek

<?php
$file = 'some_file';
$root_attributes = xattr_list($file, XATTR_ROOT);
$user_attributes = xattr_list($file);

echo "root öznitelikleri: \n";
foreach ($root_attributes as $attr_name) {
printf("%s\n", $attr_name);
}

echo "\n kullanıcı öznitelikleri: \n";
foreach ($attributes as $attr_name) {
printf("%s\n", $attr_name);
}

?>

Ayrıca Bakınız

  • xattr_get() - Bir özniteliğin değerini döndürür


Bir ek özniteliği siler

  • « xattr_list
  • xattr_set »
  • PHP Manual
  • xattr İşlevleri
  • Bir ek özniteliği siler

xattr_remove

(PECL xattr >= 0.9.0)

xattr_remove — Bir ek özniteliği siler

Açıklama

xattr_remove(string $dosya, string $isim, int $seçenekler = 0): bool

Belirtilen dosyanın belirtilen özniteliğini siler.

Ek öznitelikler iki isim alanına sahiptir: kullanıcı ve root. Kullanıcı isim alanını tüm kullanıcılar kullanabilir; root isim alanını ise sadece root yetkilerine sahip kullanıcılar kullanabilir. xattr eklentisi öntanımlı olarak kullanıcı isim alanında işlem yapar, fakat bu davranış seçenekler bağımsız değişkeni ile değiştirilebilir.

Bağımsız Değişkenler

dosya

Özniteliği silinecek dosyanın yolu.

isim

Silinecek özniteliğin ismi.

seçenekler

Desteklenen xattr seçenekleri
XATTR_DONTFOLLOW | Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.
XATTR_ROOT | Özniteliği root isim alanında tanımlar; root yetkisi gerektirir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir dosyanın ek özniteliklerinin tamamını silmek

<?php
$dosya = '/mnt/hda1/bir_dosya';
$öznitelikler = xattr_list($dosya);

foreach ($öznitelikler as $öznitelik) {
xattr_remove($dosya, $öznitelik);
}
?>

Ayrıca Bakınız

  • xattr_list() - Ek özniteliklerin listesini döndürür
  • xattr_set() - Bir ek özniteliği tanımlar
  • xattr_get() - Bir özniteliğin değerini döndürür


Bir ek özniteliği tanımlar

  • « xattr_remove
  • xattr_supported »
  • PHP Manual
  • xattr İşlevleri
  • Bir ek özniteliği tanımlar

xattr_set

(PECL xattr >= 0.9.0)

xattr_set — Bir ek özniteliği tanımlar

Açıklama

xattr_set(
string $dosya,
string $isim,
string $değer,
int $seçenekler = 0
): bool

Belirtilen dosyanın belirtilen özniteliğini tanımlar.

Ek öznitelikler iki isim alanına sahiptir: kullanıcı ve root. Kullanıcı isim alanını tüm kullanıcılar kullanabilir; root isim alanını ise sadece root yetkilerine sahip kullanıcılar kullanabilir. xattr eklentisi öntanımlı olarak kullanıcı isim alanında işlem yapar, fakat bu davranış seçenekler bağımsız değişkeni ile değiştirilebilir.

Bağımsız Değişkenler

dosya

Özniteliği tanımlanacak dosyanın yolu.

isim

Ek özniteliğin ismi. Öznitelik yoksa oluşturulur varsa değeri değiştirilir. Bu davranışı seçenekler bağımsız değişkeni ile değiştirebilirsiniz.

değer

Özniteliğin değeri.

seçenekler

Desteklenen xattr seçenekleri
XATTR_CREATE | Ek öznitelik zaten tanımlıysa işlev başarısız olur.
XATTR_REPLACE | Öznitelik evvelce tanımlanmamışsa işlev başarısız olur.
XATTR_DONTFOLLOW | Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.
XATTR_ROOT | Özniteliği root isim alanında tanımlar; root yetkisi gerektirir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir .wav dosyasında ek öznitelik tanımlamak

<?php
$file = 'sevilen_sarki.wav';
xattr_set($file, 'Sarkici', 'Birisi');
xattr_set($file, 'Kalite', 'Eh iste');
xattr_set($file, 'Dinleme sayisi', '34');

/* ... bazı kodlar ... */

printf("Bu şarkı %d kere çalınmış", xattr_get($file, 'Dinleme sayisi'));
?>

Ayrıca Bakınız

  • xattr_get() - Bir özniteliğin değerini döndürür
  • xattr_remove() - Bir ek özniteliği siler


Dosya sistemi ek öznitelikleri destekliyor mu diye bakar

  • « xattr_set
  • xdiff »
  • PHP Manual
  • xattr İşlevleri
  • Dosya sistemi ek öznitelikleri destekliyor mu diye bakar

xattr_supported

(PECL xattr >= 1.0.0)

xattr_supported — Dosya sistemi ek öznitelikleri destekliyor mu diye bakar

Açıklama

xattr_supported(string $dosya, int $seçenekler = 0): bool

Belirtilen dosyayı içeren dosya sistemi ek öznitelikleri destekliyorsa true döner. Dosya için okuma izni gerekir.

Bağımsız Değişkenler

dosya

Sınanacak dosyanın yolu.

seçenekler

Desteklenen xattr seçenekleri
XATTR_DONTFOLLOW Sembolik bağlar izlenmez, sembolik bağın kendisinde işlem yapar.

Dönen Değerler

Dosya sistemi ek öznitelikleri destekliyorsa true, desteklemiyorsa false, yanlış yol belirtimi veya okuma izninin yokluğu gibi sebeplerle destek saptanamazsa null döner.

Örnekler

Örnek 1 - xattr_supported() örneği

Aşağıdaki kodda ek öznitelikler kullanılabiliyor mu diye bakılmaktadır.

<?php
$dosya = '/mnt/hda1/bir_dosya';

if (xattr_supported($dosya)) {
/* ... xattr_* işlevleri burada kullanılabilir ... */
}

?>

Ayrıca Bakınız

  • xattr_get() - Bir özniteliğin değerini döndürür
  • xattr_list() - Ek özniteliklerin listesini döndürür


xdiff

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • xdiff İşlevleri
    • xdiff_file_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
    • xdiff_file_bdiff — İki dosyanın ikil farkını alır
    • xdiff_file_bpatch — Bir dosyaya bir ikil yama uygular
    • xdiff_file_diff_binary — xdiff_file_bdiff işlevinin takma adıdır
    • xdiff_file_diff — İki dosyanın tekil farkını alır
    • xdiff_file_merge3 — Üç dosyayı tek dosya haline getirir
    • xdiff_file_patch_binary — xdiff_file_bpatch işlevinin takma adıdır
    • xdiff_file_patch — Bir dosyaya bir tekil yama uygular
    • xdiff_file_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
    • xdiff_string_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
    • xdiff_string_bdiff — İki dizgenin ikil farkını alır
    • xdiff_string_bpatch — Bir dizgeyi bir ikil fark dizgesiyle yamar
    • xdiff_string_diff_binary — xdiff_string_bdiff işlevinin takma adıdır
    • xdiff_string_diff — İki dizgenin tekil farkını alır
    • xdiff_string_merge3 — Üç dizgeyi tek bir dizge haline getirir
    • xdiff_string_patch_binary — xdiff_string_bpatch işlevinin takma adıdır
    • xdiff_string_patch — Bir dizgeyi bir tekil fark dizgesi ile yamar
    • xdiff_string_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır


Giriş

xdiff eklentisi, dosyaların farklı sürümleri arasındaki farkları içeren yama dosyalarını oluşturmanızı ve bunları uygulamanızı sağlar.

Eklenti iki işlem kipini destekler: Dizgeler ve dosyalar. Ayrıca iki farklı yama biçemini destekler: Tekil ve ikil. Tekilleştirilmiş yamalar kolayca okundukları için metin dosyaları için çok uygundur. İkil yamalar ise arşivler ve resimler gibi ikil dosyalar için uygun olup basılamayan karakterleri de elde edebilirler ve ikil olarak güvenilirdirler.

1.5.0 sürümünden başlayarak ikil yamaları üretmek için iki ayrı işlev kümesi kullanılmaktadır. Yeni işlevler, xdiff_string_rabdiff() ve xdiff_file_rabdiff(), eski işlevlerle uyumlu çıktılar üretmekle birlikte ürettikleri çıktılar daha hızlı ve daha küçüktür. İkil yamaların üretim yöntemleri ve bunların farkları hakkında daha ayrıntılı bilgi edinmek için » libxdiff sitesine bakınız.

xdiff eklentisi bu işlevleri gerçeklemek için libxdiff kütüphanesini kullanmaktadır. Daha fazla bilgi için » http://www.xmailserver.org/xdiff-lib.html adresine bakınız.


Gereksinimler

xdiff eklentisini kullanmak için sisteminizde libxdiff kurulu olmalıdır. libxdiff » http://www.xmailserver.org/xdiff-lib.html adresinden edinilebilir.

Bilginize:

Bellek sınırlarını zorlamamak için libxdiff'in en azından 0.7 sürümü gerekir.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/xdiff

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XDIFF_PATCH_NORMAL (int)
xdiff_string_patch() ve xdiff_file_patch() işlevlerinin yamayı özgün dosyaya uygulayıp dosyanın yeni sürümünü elde etmek amacıyla kullanılacağını belirtir. Bu öntanımlı işlem kipidir.
XDIFF_PATCH_REVERSE (int)
xdiff_string_patch() ve xdiff_file_patch() işlevlerinin yamayı yeni sürüme uygulayıp dosyanın özgün sürümünü elde etmek amacıyla kullanılacağını belirtir.


xdiff İşlevleri

İçindekiler

  • xdiff_file_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
  • xdiff_file_bdiff — İki dosyanın ikil farkını alır
  • xdiff_file_bpatch — Bir dosyaya bir ikil yama uygular
  • xdiff_file_diff_binary — xdiff_file_bdiff işlevinin takma adıdır
  • xdiff_file_diff — İki dosyanın tekil farkını alır
  • xdiff_file_merge3 — Üç dosyayı tek dosya haline getirir
  • xdiff_file_patch_binary — xdiff_file_bpatch işlevinin takma adıdır
  • xdiff_file_patch — Bir dosyaya bir tekil yama uygular
  • xdiff_file_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
  • xdiff_string_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
  • xdiff_string_bdiff — İki dizgenin ikil farkını alır
  • xdiff_string_bpatch — Bir dizgeyi bir ikil fark dizgesiyle yamar
  • xdiff_string_diff_binary — xdiff_string_bdiff işlevinin takma adıdır
  • xdiff_string_diff — İki dizgenin tekil farkını alır
  • xdiff_string_merge3 — Üç dizgeyi tek bir dizge haline getirir
  • xdiff_string_patch_binary — xdiff_string_bpatch işlevinin takma adıdır
  • xdiff_string_patch — Bir dizgeyi bir tekil fark dizgesi ile yamar
  • xdiff_string_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır


Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

  • « xdiff İşlevleri
  • xdiff_file_bdiff »
  • PHP Manual
  • xdiff İşlevleri
  • Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

xdiff_file_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

Açıklama

xdiff_file_bdiff_size(string $dosya): int

Belirtilen ikil yama dizgesini özgün dosyaya uyguladıktan sonra oluşacak yeni dosyanın boyutunu döndürür.

Bağımsız Değişkenler

dosya

xdiff_file_bdiff() veya xdiff_file_rabdiff() tarafından oluşturulmuş ikil yama dosyasının yolu.

Dönen Değerler

Oluşacak dosyanın boyutunu döndürür.

Örnekler

Örnek 1 - xdiff_file_bdiff_size() örneği

Aşağıdaki kodda, bir ikil yama uygulanarak oluşturulacak dosyanın boyutu döndürülmektedir.

<?php
$length = xdiff_string_bdiff_size('file.bdiff');
echo "Elde edilen dosya $length bayt uzunluktadır";
?>

Ayrıca Bakınız

  • xdiff_file_bdiff() - İki dosyanın ikil farkını alır
  • xdiff_file_rabdiff() - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
  • xdiff_file_bpatch() - Bir dosyaya bir ikil yama uygular


İki dosyanın ikil farkını alır

  • « xdiff_file_bdiff_size
  • xdiff_file_bpatch »
  • PHP Manual
  • xdiff İşlevleri
  • İki dosyanın ikil farkını alır

xdiff_file_bdiff

(PECL xdiff >= 1.5.0)

xdiff_file_bdiff — İki dosyanın ikil farkını alır

Açıklama

xdiff_file_bdiff(string $eski_dosya, string $yeni_dosya, string $hedef): bool

eski_dosya ile yeni_dosya arasındaki farklardan bir ikil fark dizgesi oluşturup sonucu hedef dosyasına kaydeder. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_file_bpatch() ve xdiff_string_bpatch() işleviyle uygulanabilir.

Bağımsız Değişkenler

eski_dosya

İlk dosyanın yolu. Eski dosya olarak ele alınır.

yeni_dosya

İkinci dosyanın yolu. Yeni dosya olarak ele alınır.

hedef

Elde edilen yamanın kaydedileceği dosyanın yolu. Dosya ikil bir dosya olacağından içeriği insanlarca okunabilir olmayacaktır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_bdiff() örneği

Aşağıda iki arşiv dosyasının ikil farkı alınmaktadır.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_bdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notlar

Bilginize:

Her iki dosya da belleğe yükleneceğinden memory_limit yönergesinde yeteri kadar bellek belirtilmelidir.

Ayrıca Bakınız

  • xdiff_file_bpatch() - Bir dosyaya bir ikil yama uygular


Bir dosyaya bir ikil yama uygular

  • « xdiff_file_bdiff
  • xdiff_file_diff_binary »
  • PHP Manual
  • xdiff İşlevleri
  • Bir dosyaya bir ikil yama uygular

xdiff_file_bpatch

(PECL xdiff >= 1.5.0)

xdiff_file_bpatch — Bir dosyaya bir ikil yama uygular

Açıklama

xdiff_file_bpatch(string $dosya, string $yama, string $hedef): bool

Belirtilen dosya'ya ikil yama'yı uygular ve sonucu hedef'e kaydeder. Bu işlev xdiff_file_bdiff() ve xdiff_file_rabdiff() işlevleriyle veya bunların dizgelerle çalışan eşdeğerleriyle üretilmiş yamaları kabul eder.

Bağımsız Değişkenler

dosya

Yamanın uygulanacağı dosyanın yolu.

yama

İkil yama dosyası.

hedef

Sonucun kaydedileceği dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_bpatch() örneği

Aşağıda bir dosyaya ikil yama uygulanmaktadır.

<?php
$old_version = 'archive-1.0.tgz';
$patch = 'archive.bpatch';

$result = xdiff_file_bpatch($old_version, $patch, 'archive-1.1.tgz');
if ($result) {
echo "Dosya yamandı";
} else {
echo "Dosya yamanamadı";
}

?>

Notlar

Bilginize:

Her iki dosya da (dosya ve yama) belleğe yükleneceğinden memory_limit yönergesinde yeteri kadar bellek belirtilmelidir.

Ayrıca Bakınız

  • xdiff_file_bdiff() - İki dosyanın ikil farkını alır
  • xdiff_file_rabdiff() - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır


xdiff_file_bdiff işlevinin takma adıdır

  • « xdiff_file_bpatch
  • xdiff_file_diff »
  • PHP Manual
  • xdiff İşlevleri
  • xdiff_file_bdiff işlevinin takma adıdır

xdiff_file_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_file_diff_binary — xdiff_file_bdiff() işlevinin takma adıdır

Açıklama

xdiff_file_diff_binary(string $eski_dosya, string $yeni_dosya, string $hedef): bool

eski_dosya ile yeni_dosya arasındaki farklardan bir ikil fark dizgesi oluşturup sonucu hedef dosyasına kaydeder. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_file_bpatch() işleviyle uygulanabilir.

1.5.0 sürümünden itibaren, bu işlev xdiff_file_bdiff() işlevinin takma adıdır.

Bağımsız Değişkenler

eski_dosya

İlk dosyanın yolu. Eski dosya olarak ele alınır.

yeni_dosya

İkinci dosyanın yolu. Yeni dosya olarak ele alınır.

hedef

Elde edilen yamanın kaydedileceği dosyanın yolu. Dosya ikil bir dosya olacağından içeriği insanlarca okunabilir olmayacaktır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_diff_binary() örneği

Aşağıda iki arşiv dosyasının ikil farkı alınmaktadır.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_diff_binary($old_version, $new_version, 'my_script.bdiff');
?>

Notlar

Bilginize:

Her iki dosya da belleğe yükleneceğinden memory_limit yönergesinde yeteri kadar bellek belirtilmelidir.

Ayrıca Bakınız

  • xdiff_file_bdiff() - İki dosyanın ikil farkını alır
  • xdiff_file_bpatch() - Bir dosyaya bir ikil yama uygular


İki dosyanın tekil farkını alır

  • « xdiff_file_diff_binary
  • xdiff_file_merge3 »
  • PHP Manual
  • xdiff İşlevleri
  • İki dosyanın tekil farkını alır

xdiff_file_diff

(PECL xdiff >= 0.2.0)

xdiff_file_diff — İki dosyanın tekil farkını alır

Açıklama

xdiff_file_diff(
string $eski_dosya,
string $yeni_dosya,
string $hedef,
int $bağlam = 3,
bool $küçült = false
): bool

eski_dosya ile yeni_dosya arasındaki farklardan bir tekil fark dizgesi oluşturup sonucu hedef'e kaydeder. Elde edilen fark dizgesi insanlarca okunabilen bir dizgedir. İsteğe bağlı bağlam bağımsız değişkeni ile her değişikliğin altında ve üstünde kaç bağlam satırının bulunacağı belirtilir. Seçimlik küçült bağımsız değişkeninde true atandığı takdirde mümkün olan en küçük yama dizgesi oluşturulmaya çalışılır (işlem biraz uzun sürebilir).

Bağımsız Değişkenler

eski_dosya

İlk dosyanın yolu. Eski dosya olarak ele alınır.

yeni_dosya

İkinci dosyanın yolu. Yeni dosya olarak ele alınır.

hedef

Elde edilen yamanın kaydedileceği dosyanın yolu.

bağlam

Her değişikliğin altında ve üstünde kaç bağlam satırının bulunacağı belirtilir.

küçült

true atandığı takdirde mümkün olan en küçük yama dizgesi oluşturulmaya çalışılır (işlem biraz uzun sürebilir).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_diff() örneği

Aşağıdaki kodda, iki PHP dosyasının iki bağlam satırlı tekil farkı alınmaktadır.

<?php
$old_version = 'my_script.php';
$new_version = 'my_new_script.php';

xdiff_file_diff($old_version, $new_version, 'my_script.diff', 2);
?>

Notlar

Bilginize:

Bu işlev ikil dosyalarla iyi çalışmaz. İkil fark dosyası elde etmek için xdiff_file_bdiff() veya xdiff_file_rabdiff() işlevi kullanılabilir.

Ayrıca Bakınız

  • xdiff_file_patch() - Bir dosyaya bir tekil yama uygular


Üç dosyayı tek dosya haline getirir

  • « xdiff_file_diff
  • xdiff_file_patch_binary »
  • PHP Manual
  • xdiff İşlevleri
  • Üç dosyayı tek dosya haline getirir

xdiff_file_merge3

(PECL xdiff >= 0.2.0)

xdiff_file_merge3 — Üç dosyayı tek dosya haline getirir

Açıklama

xdiff_file_merge3(
string $eski_dosya,
string $yeni_dosya1,
string $yeni_dosya2,
string $hedef
): mixed

Üç dosyayı tek bir dosya oluşturacak şekilde katıştırır ve sonucu bir dosyaya kaydeder. eski_dosya verinin özgün sürümü olup yeni_dosya1 ve yeni_dosya2 özgün sürümün değiştirilmiş iki sürümüdür.

Bağımsız Değişkenler

eski_dosya

İlk dosyanın yolu. Eski dosya olarak ele alınır.

yeni_dosya1

İkinci dosyanın yolu. eski_dosya'nın değiştirilmiş sürümü olarak ele alınır.

yeni_dosya2

Üçüncü dosyanın yolu. eski_dosya'nın değiştirilmiş sürümü olarak ele alınır.

hedef

Sonucun kaydedileceği dosyanın yolu.

Dönen Değerler

Dahili bir hata oluşmuşsa false, katıştırma başarılıysa true, reddedilen değişiklikler varsa reddedilen parçaları içeren bir dizge döner.

Örnekler

Örnek 1 - xdiff_file_merge3() örneği

Aşağıdaki kodda bir betiğin üç sürümü katıştırılıp tek bir betik elde edilmektedir.

<?php
$old_version = 'original_script.php';
$fix1 = 'script_with_fix1.php';
$fix2 = 'script_with_fix2.php';

$errors = xdiff_file_merge3($old_version, $fix1, $fix2, 'fixed_script.php');
if (is_string($errors)) {
echo "Reddedilenler:\n";
echo $errors;
}
?>

Ayrıca Bakınız

  • xdiff_string_merge3() - Üç dizgeyi tek bir dizge haline getirir


xdiff_file_bpatch işlevinin takma adıdır

  • « xdiff_file_merge3
  • xdiff_file_patch »
  • PHP Manual
  • xdiff İşlevleri
  • xdiff_file_bpatch işlevinin takma adıdır

xdiff_file_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_file_patch_binary — xdiff_file_bpatch() işlevinin takma adıdır

Açıklama

xdiff_file_patch_binary(string $dosya, string $yama, string $hedef): bool

Belirtilen dosya'ya ikil yama'yı uygular ve sonucu hedef'e kaydeder. Bu işlev xdiff_file_bdiff() ve xdiff_file_rabdiff() işlevleriyle veya bunların dizgelerle çalışan eşdeğerleriyle üretilmiş yamaları kabul eder.

1.5.0 sürümünden itibaren, bu işlev xdiff_file_bpatch() işlevinin takma adıdır.

Bağımsız Değişkenler

dosya

Yamanın uygulanacağı dosyanın yolu.

yama

İkil yama dosyası.

hedef

Sonucun kaydedileceği dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_patch_binary() örneği

Aşağıdaki kodda, bir dosya bir ikil fark dizgesiyle yamanmaktadır.

<?php
$eski_dosya = 'archive-1.0.tgz';
$yama = 'archive.bpatch';

$sonuç = xdiff_file_patch_binary($eski_dosya, $yama, 'archive-1.1.tgz');
if ($sonuç) {
echo "Dosya yamandı";
} else {
echo "Dosya yamanamadı";
}

?>

Notlar

Bilginize:

Her iki dosya da (dosya ve yama) belleğe yükleneceğinden memory_limit yönergesinde yeteri kadar bellek belirtilmelidir.

Ayrıca Bakınız

  • xdiff_string_patch_binary() - xdiff_string_bpatch işlevinin takma adıdır


Bir dosyaya bir tekil yama uygular

  • « xdiff_file_patch_binary
  • xdiff_file_rabdiff »
  • PHP Manual
  • xdiff İşlevleri
  • Bir dosyaya bir tekil yama uygular

xdiff_file_patch

(PECL xdiff >= 0.2.0)

xdiff_file_patch — Bir dosyaya bir tekil yama uygular

Açıklama

xdiff_file_patch(
string $dosya,
string $yama,
string $hedef,
int $seçenekler = DIFF_PATCH_NORMAL
): mixed

Belirtilen dosya'ya tekil yama'yı uygular ve sonucu hedef'e kaydeder. yama dizgesi xdiff_file_diff() veya xdiff_string_diff() ile üretilmiş tekil türde bir fark dizgesi olmalıdır. İsteğe bağlı seçenekler bağımsız değişkeni ile işlem kipi belirtilebilir.

Bağımsız Değişkenler

dosya

Yamanın uygulanacağı dosyanın yolu.

yama

xdiff_string_diff() ve xdiff_file_diff() işlevleriyle veya uygun araçlarla üretilmiş tekil yama dizgesi.

hedef

Sonucun kaydedileceği dosyanın yolu..

seçenekler

XDIFF_PATCH_NORMAL (öntanımlı kip, normal yama) veya XDIFF_PATCH_REVERSE (tersinir yama) olabilir.

1.5.0 sürümünden itibaren XDIFF_PATCH_IGNORESPACE sabiti bit seviyesinde VEYAlanarak belirtilebilmektedir.

Dönen Değerler

Dahili bir hata oluşmuşsa false, yama başarıyla uygulanmışsa true, reddedilen değişiklikler varsa reddedilen parçaları içeren bir dizge döner.

Örnekler

Örnek 1 - xdiff_file_patch() örneği

Aşağıdaki kodda, bir dosya bir tekil fark dizgesiyle yamanmaktadır.

<?php
$eski_dosya = 'my_script-1.0.php';
$yama = 'my_script.patch';

$hatalar = xdiff_file_patch($eski_dosya, $yama, 'my_script-1.1.php');
if (is_string($hatalar)) {
echo "Reddedilenler:\n";
echo $hatalar;
}

?>

Örnek 2 - Yamayı geri alma örneği

Aşağıdaki kodda uygulanmış bir yama geri alınmaktadır.

<?php
$yeni_dosya = 'my_script-1.1.php';
$yama = 'my_script.patch';

$hatalar = xdiff_file_patch($yeni_dosya, $yama, 'my_script-1.0.php', XDIFF_PATCH_REVERSE);
if (is_string($hatalar)) {
echo "Reddedilenler:\n";
echo $hatalar;
}

?>

Ayrıca Bakınız

  • xdiff_file_diff() - İki dosyanın tekil farkını alır


Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

  • « xdiff_file_patch
  • xdiff_string_bdiff_size »
  • PHP Manual
  • xdiff İşlevleri
  • Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

xdiff_file_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_file_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

Açıklama

xdiff_file_rabdiff(string $eski_dosya, string $yeni_dosya, string $hedef): bool

İki dosyanın ikil farkını alır ve sonucu bir dosyaya kaydeder. Bu işlevin xdiff_file_bdiff() işlevinden farkı, farklı algoritmalar kullanılması nedeniyle daha hızlı çalışması ve daha küçük fark üretmesidir. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_string_bpatch() veya xdiff_file_bpatch() işleviyle uygulanabilir.

Algoritmalar arasındaki farklarla ilgili daha ayrıntılı bilgi edinmek için » libxdiff sitesine bakınız.

Bağımsız Değişkenler

eski_dosya

İlk ikil veri dosyası; eski dosya olarak ele alınır.

yeni_dosya

İkinci ikil veri dosyası; yeni dosya olarak ele alınır.

hedef

Elde edilen yama dosyasının dosya yolu. Elde edilen dosya ikil biçemde olup insanlarca okunamayacaktır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - xdiff_file_rabdiff() örneği

Aşağıdaki kodda iki arşivin ikil farkı alınmaktadır.

<?php
$old_version = 'my_script_1.0.tgz';
$new_version = 'my_script_1.1.tgz';

xdiff_file_rabdiff($old_version, $new_version, 'my_script.bdiff');
?>

Notlar

Bilginize:

Her iki dosya da belleğe yükleneceğinden memory_limit yönergesinde yeteri kadar bellek belirtilmelidir.

Ayrıca Bakınız

  • xdiff_file_bpatch() - Bir dosyaya bir ikil yama uygular


Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

  • « xdiff_file_rabdiff
  • xdiff_string_bdiff »
  • PHP Manual
  • xdiff İşlevleri
  • Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

xdiff_string_bdiff_size

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff_size — Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür

Açıklama

xdiff_string_bdiff_size(string $yama): int

Belirtilen ikil yama dizgesini özgün dosyaya uyguladıktan sonra oluşacak yeni dosyanın boyutunu döndürür.

Bağımsız Değişkenler

yama

xdiff_string_bdiff() veya xdiff_string_rabdiff() tarafından oluşturulmuş bir ikil yama dizgesi.

Dönen Değerler

Oluşacak dosyanın boyutunu döndürür.

Örnekler

Örnek 1 - xdiff_string_bdiff_size() örneği

Aşağıdaki kodda, bir ikil yama uygulanarak oluşturulacak dosyanın boyutu döndürülmektedir.

<?php
$binary_patch = file_get_contents('file.bdiff');
$length = xdiff_string_bdiff_size($binary_patch);
echo "Elde edilen dosya $length bayt uzunluktadır";
?>

Ayrıca Bakınız

  • xdiff_string_bdiff() - İki dizgenin ikil farkını alır
  • xdiff_string_rabdiff() - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
  • xdiff_string_bpatch() - Bir dizgeyi bir ikil fark dizgesiyle yamar


İki dizgenin ikil farkını alır

  • « xdiff_string_bdiff_size
  • xdiff_string_bpatch »
  • PHP Manual
  • xdiff İşlevleri
  • İki dizgenin ikil farkını alır

xdiff_string_bdiff

(PECL xdiff >= 1.5.0)

xdiff_string_bdiff — İki dizgenin ikil farkını alır

Açıklama

xdiff_string_bdiff(string $eski_veri, string $yeni_veri): string

eski_veri dizgesi ile yeni_veri dizgesi arasındaki farklardan bir ikil fark dizgesi oluşturup sonucu döndürür. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_string_bpatch() veya xdiff_file_bpatch() işleviyle uygulanabilir.

Bağımsız Değişkenler

eski_veri

İlk veri dizgesi. Eski veri olarak ele alınır.

yeni_veri

İkinci veri dizgesi. Yeni veri olarak ele alınır.

Dönen Değerler

Bir hata oluşmuşsa false yoksa elde edilen fark dizgesi döner.

Ayrıca Bakınız

  • xdiff_string_bpatch() - Bir dizgeyi bir ikil fark dizgesiyle yamar


Bir dizgeyi bir ikil fark dizgesiyle yamar

  • « xdiff_string_bdiff
  • xdiff_string_diff_binary »
  • PHP Manual
  • xdiff İşlevleri
  • Bir dizgeyi bir ikil fark dizgesiyle yamar

xdiff_string_bpatch

(PECL xdiff >= 1.5.0)

xdiff_string_bpatch — Bir dizgeyi bir ikil fark dizgesiyle yamar

Açıklama

xdiff_string_bpatch(string $dizge, string $yama): string

Belirtilen dizge dizgesini ikil yama dizgesi ile yamar. Bu işlev xdiff_string_bdiff() ve xdiff_string_rabdiff() işlevleriyle veya bunların dosyalarla çalışan eşdeğerleriyle üretilmiş yamaları kabul eder.

Bağımsız Değişkenler

dizge

Yamanacak ikil dizge.

yama

İkil yama dizgesi.

Dönen Değerler

Bir hata oluşursa false yoksa yamanmış dizgeyi döndürür.

Ayrıca Bakınız

  • xdiff_string_bdiff() - İki dizgenin ikil farkını alır
  • xdiff_string_rabdiff() - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır


xdiff_string_bdiff işlevinin takma adıdır

  • « xdiff_string_bpatch
  • xdiff_string_diff »
  • PHP Manual
  • xdiff İşlevleri
  • xdiff_string_bdiff işlevinin takma adıdır

xdiff_string_diff_binary

(PECL xdiff >= 0.2.0)

xdiff_string_diff_binary — xdiff_string_bdiff() işlevinin takma adıdır

Açıklama

xdiff_string_bdiff(string $eski_veri, string $yeni_veri): string

eski_veri dizgesi ile yeni_veri dizgesi arasındaki farklardan bir ikil fark dizgesi oluşturup sonucu döndürür. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_string_bpatch() veya xdiff_file_bpatch() işleviyle uygulanabilir.

1.5.0 sürümünden itibaren, bu işlev xdiff_string_bdiff() işlevinin takma adıdır.

Bağımsız Değişkenler

eski_veri

İlk veri dizgesi. Eski veri olarak ele alınır.

yeni_veri

İkinci veri dizgesi. Yeni veri olarak ele alınır.

Dönen Değerler

Bir hata oluşmuşsa false yoksa elde edilen fark dizgesi döner.

Ayrıca Bakınız

  • xdiff_string_bdiff() - İki dizgenin ikil farkını alır
  • xdiff_string_bpatch() - Bir dizgeyi bir ikil fark dizgesiyle yamar


İki dizgenin tekil farkını alır

  • « xdiff_string_diff_binary
  • xdiff_string_merge3 »
  • PHP Manual
  • xdiff İşlevleri
  • İki dizgenin tekil farkını alır

xdiff_string_diff

(PECL xdiff >= 0.2.0)

xdiff_string_diff — İki dizgenin tekil farkını alır

Açıklama

xdiff_string_diff(
string $eski_veri,
string $yeni_veri,
int $bağlam = 3,
bool $küçült = false
): string

eski_veri dizgesi ile yeni_veri dizgesi arasındaki farklardan bir tekil fark dizgesi oluşturup sonucu döndürür. Elde edilen fark dizgesi insanlarca okunabilen bir dizgedir. İsteğe bağlı bağlam bağımsız değişkeni ile her değişikliğin altında ve üstünde kaç bağlam satırının bulunacağı belirtilir. Seçimlik küçült bağımsız değişkeninde true atandığı takdirde mümkün olan en küçük yama dizgesi oluşturulmaya çalışılır (işlem biraz uzun sürebilir).

Bağımsız Değişkenler

eski_veri

İlk veri dizgesi. Eski veri olarak ele alınır.

yeni_veri

İkinci veri dizgesi. Yeni veri olarak ele alınır.

bağlam

Her değişikliğin altında ve üstünde kaç bağlam satırının bulunacağı belirtilir.

küçült

true atandığı takdirde mümkün olan en küçük yama dizgesi oluşturulmaya çalışılır (işlem biraz uzun sürebilir).

Dönen Değerler

Bir hata oluşmuşsa false yoksa elde edilen fark dizgesi döner.

Örnekler

Örnek 1 - xdiff_string_diff() örneği

Aşağıdaki kodda iki makaleden bir tekil fark dizgesi elde edilmektedir.

$eski_makale = file_get_contents('./old_article.txt');
/* Yeni makalenin HTML forma yapıştırıldığı varsayılıyor */
$yeni_makale =$_REQUEST['article'];

$yama = xdiff_string_diff($eski_makale, $yeni_makale, 1);
if (is_string($yama)) {
echo "İki makale arasındaki farklar:\n";
echo $yama;
}

?>

Notlar

Bilginize:

Bu işlev ikil dizgelerle iyi çalışmaz. İkil fark dizgesi elde etmek için xdiff_string_bdiff() veya xdiff_string_rabdiff() işlevini kullanın.

Ayrıca Bakınız

  • xdiff_string_patch() - Bir dizgeyi bir tekil fark dizgesi ile yamar


Üç dizgeyi tek bir dizge haline getirir

  • « xdiff_string_diff
  • xdiff_string_patch_binary »
  • PHP Manual
  • xdiff İşlevleri
  • Üç dizgeyi tek bir dizge haline getirir

xdiff_string_merge3

(PECL xdiff >= 0.2.0)

xdiff_string_merge3 — Üç dizgeyi tek bir dizge haline getirir

Açıklama

xdiff_string_merge3(
string $eski_veri,
string $yeni_veri1,
string $yeni_veri2,
string &$hatalar = ?
): mixed

Belirtilen üç dizgeyi karıştırıp tek bir dizge halinde döndürür. eski_veri verinin özgün sürümü olup yeni_veri1 ve yeni_veri2 özgün sürümün değiştirilmiş iki sürümüdür. Katıştırma işlemi sırasında reddedilen parçalar, belirtildiği takdirde hatalar değişkeninde saklanır.

Bağımsız Değişkenler

eski_veri

Özgün veri. Eski veri olarak ele alınır.

yeni_veri1

İkinci veri dizgesi. eski_veri dizgesinin değiştirilmiş sürümü olarak ele alınır.

yeni_veri2

Üçüncü veri dizgesi. eski_veri dizgesinin değiştirilmiş sürümü olarak ele alınır.

hatalar

Katıştırma işlemi sırasında reddedilen parçalar, belirtildiği takdirde bu değişkende saklanır.

Dönen Değerler

Dahili bir hata oluşmuşsa false, elde edilen dizge boşsa true yoksa elde edilen dizge döner.

Ayrıca Bakınız

  • xdiff_file_merge3() - Üç dosyayı tek dosya haline getirir


xdiff_string_bpatch işlevinin takma adıdır

  • « xdiff_string_merge3
  • xdiff_string_patch »
  • PHP Manual
  • xdiff İşlevleri
  • xdiff_string_bpatch işlevinin takma adıdır

xdiff_string_patch_binary

(PECL xdiff >= 0.2.0)

xdiff_string_patch_binary — xdiff_string_bpatch() işlevinin takma adıdır

Açıklama

xdiff_string_patch_binary(string $dizge, string $yama): string

Belirtilen dizge dizgesini ikil yama dizgesi ile yamar. Bu işlev xdiff_string_bdiff() ve xdiff_string_rabdiff() işlevleriyle veya bunların dosyalarla çalışan eşdeğerleriyle üretilmiş yamaları kabul eder.

1.5.0 sürümünden itibaren, bu işlev xdiff_string_bpatch() işlevinin takma adıdır.

Bağımsız Değişkenler

dizge

Yamanacak ikil dizge.

yama

İkil yama dizgesi.

Dönen Değerler

Bir hata oluşursa false yoksa yamanmış dizgeyi döndürür.

Ayrıca Bakınız

  • xdiff_string_bpatch() - Bir dizgeyi bir ikil fark dizgesiyle yamar
  • xdiff_string_bdiff() - İki dizgenin ikil farkını alır
  • xdiff_string_rabdiff() - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır


Bir dizgeyi bir tekil fark dizgesi ile yamar

  • « xdiff_string_patch_binary
  • xdiff_string_rabdiff »
  • PHP Manual
  • xdiff İşlevleri
  • Bir dizgeyi bir tekil fark dizgesi ile yamar

xdiff_string_patch

(PECL xdiff >= 0.2.0)

xdiff_string_patch — Bir dizgeyi bir tekil fark dizgesi ile yamar

Açıklama

xdiff_string_patch(
string $dizge,
string $yama,
int $seçenekler = ?,
string &$hata = ?
): string

Belirtilen tekil fark dizgesi yama ile dizge dizgesini yamar ve sonucu döndürür. yama dizgesi xdiff_file_diff() veya xdiff_string_diff() ile üretilmiş tekil türde bir fark dizgesi olmalıdır. İsteğe bağlı seçenekler bağımsız değişkeni ile işlem kipi belirtilebilir. Reddedilen yama parçaları, belirtildiği takdirde hata değişkeninde döndürülür.

Bağımsız Değişkenler

dizge

Yamanacak dizge.

yama

xdiff_string_diff() ve xdiff_file_diff() işlevleriyle veya uygun araçlarla üretilmiş tekil yama dizgesi.

seçenekler

XDIFF_PATCH_NORMAL (öntanımlı kip, normal yama) veya XDIFF_PATCH_REVERSE (tersinir yama) olabilir.

1.5.0 sürümünden itibaren XDIFF_PATCH_IGNORESPACE sabiti bit seviyesinde VEYAlanarak belirtilebilmektedir.

hata

Sağlandığı takdirde, reddedilen yama parçaları bu değişkende döndürülür.

Dönen Değerler

Hata oluşursa false yoksa yamanmış dizgeyi döndürür.

Örnekler

Örnek 1 - xdiff_string_patch() örneği

Aşağıdaki kodda bir makaleye değişiklikler uygulamaktadır.

<?php
$eski_makale = file_get_contents('./old_article.txt');
/* Yamanın HTML forma yapıştırıldığı varsayılıyor */
$fark = $_SERVER['yama'];

$hatalar = '';

$yeni_makale = xdiff_string_patch($eski_makale, $fark,
XDIFF_PATCH_NORMAL, $hatalar);
if (is_string($yeni_makale)) {
echo "Yeni makale:\n";
echo $yeni_makale;
}

if (strlen($hatalar)) {
echo "Reddedilenler: \n";
echo $hatalar;
}

?>

Ayrıca Bakınız

  • xdiff_string_diff() - İki dizgenin tekil farkını alır


Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

  • « xdiff_string_patch
  • İnsan Dilleri ve Karakter Kodlaması Desteği »
  • PHP Manual
  • xdiff İşlevleri
  • Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

xdiff_string_rabdiff

(PECL xdiff >= 1.5.0)

xdiff_string_rabdiff — Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır

Açıklama

xdiff_string_bdiff(string $eski_veri, string $yeni_veri): string

İki dizgenin ikil farkını alır ve sonucu döndürür. Bu işlevin xdiff_string_bdiff() işlevinden farkı, farklı algoritmalar kullanılması nedeniyle daha hızlı çalışması ve daha küçük fark üretilmesidir. Bu işlev hem metin hem de ikil verilerle çalışabilir. Elde edilen yama daha sonra xdiff_string_bpatch() veya xdiff_file_bpatch() işleviyle uygulanabilir.

Algoritmalar arasındaki farklarla ilgili daha ayrıntılı bilgi edinmek için » libxdiff sitesine bakınız.

Bağımsız Değişkenler

eski_veri

İlk ikil veri dizgesi; eski veri olarak ele alınır.

yeni_veri

İkinci ikil veri dizgesi; yeni veri olarak ele alınır.

Dönen Değerler

Bir hata oluşmuşsa false aksi takdirde eski ve yeni veri arasındaki farkları içeren ikil bir dizge döner.

Ayrıca Bakınız

  • xdiff_string_bpatch() - Bir dizgeyi bir ikil fark dizgesiyle yamar


İnsan Dilleri ve Karakter Kodlaması Desteği

  • Enchant — Enchant spelling library
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Enchant İşlevleri
    • EnchantBroker — The EnchantBroker class
    • EnchantDictionary — The EnchantDictionary class
  • Gender — Determine gender of firstnames
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • Gender\Gender — The Gender\Gender class
  • Gettext
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Gettext İşlevleri
  • iconv — Karakter Kümesi Dönüştürme
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • iconv İşlevleri
  • Intl — Uluslararasılaştırma İşlevleri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Karşılaştırıcı — Collator sınıfı
    • Sayı Biçemleyici — NumberFormatter sınıfı
    • Yerel — Locale sınıfı
    • Normalleştirici — Normalizer sınıfı
    • İleti Biçemleyici — MessageFormatter sınıfı
    • IntlCalendar — The IntlCalendar class
    • IntlGregorianCalendar — The IntlGregorianCalendar class
    • IntlTimeZone — The IntlTimeZone class
    • Tarih Biçemleyici — IntlDateFormatter sınıfı
    • ResourceBundle — The ResourceBundle class
    • Spoofchecker — The Spoofchecker class
    • Transliterator — The Transliterator class
    • IntlBreakIterator — The IntlBreakIterator class
    • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlDatePatternGenerator — The IntlDatePatternGenerator class
    • IntlPartsIterator — The IntlPartsIterator class
    • UConverter — The UConverter class
    • Grapheme (Sesletim Kümeleri) İşlevleri
    • IDN İşlevleri
    • IntlChar
    • IntlException — Exception class for intl errors
    • IntlIterator — The IntlIterator class
    • intl İşlevleri
  • Mbstring — Çok Baytlı Dizgeler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Desteklenen kodlamaların özetleri
    • Japonca çok baytlı kodlamanın temelleri
    • HTTP Girdisi ve Çıktısı
    • Desteklenen Karakter Kodlamaları
    • İşlevlerin Aşırı Yüklenme Özelliği
    • PHP Karakter Kodlaması Gereksinimleri
    • Çok baytlı Dizge İşlevleri
  • Pspell
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Pspell İşlevleri
    • PSpell\Dictionary — The PSpell\Dictionary class
    • PSpell\Config — The PSpell\Config class
  • Recode — GNU Recode
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Recode İşlevleri


Enchant spelling library

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Enchant İşlevleri
    • enchant_broker_describe — Enumerates the Enchant providers
    • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free_dict — Free a dictionary resource
    • enchant_broker_free — Free the broker resource and its dictionaries
    • enchant_broker_get_dict_path — Get the directory path for a given backend
    • enchant_broker_get_error — Returns the last error of the broker
    • enchant_broker_init — Create a new broker object capable of requesting
    • enchant_broker_list_dicts — Returns a list of available dictionaries
    • enchant_broker_request_dict — Create a new dictionary using a tag
    • enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file
    • enchant_broker_set_dict_path — Set the directory path for a given backend
    • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
    • enchant_dict_add_to_personal — Takma Adı: enchant_dict_add
    • enchant_dict_add_to_session — Add 'word' to this spell-checking session
    • enchant_dict_add — Add a word to personal word list
    • enchant_dict_check — Check whether a word is correctly spelled or not
    • enchant_dict_describe — Describes an individual dictionary
    • enchant_dict_get_error — Returns the last error of the current spelling-session
    • enchant_dict_is_added — Whether or not 'word' exists in this spelling-session
    • enchant_dict_is_in_session — Takma Adı: enchant_dict_is_added
    • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement — Add a correction for a word
    • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met
  • EnchantBroker — The EnchantBroker class
  • EnchantDictionary — The EnchantDictionary class


Giriş

Enchant is the PHP binding for the » Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchant supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)


Gereksinimler

This version uses the functions of the » Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later. Enchant 2.0.0 or later is only supported as of PHP 8.0.0.

Enchant also requires » Glib 2.6 or greater. Pre-compiled Windows libraries are available from » http://ftp.gnome.org/pub/gnome/binaries/win32/glib/.


Kurulum

Provided the required libraries are installed, users may enable enchant by adding the --with-enchant[=dir] option when compiling PHP.

Windows users must enable php_enchant.dll in order to use this extension.

Bilginize: Additional setup on Windows

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libenchant.dll, glib-2.dll, gmodule-2.dll.

Furthermore, it is necessary to copy at least one of the shipped providers in lib\enchant to \usr\local\lib\enchant-2 (which is an absolute path from the root of the current drive). Prior to PHP 8.0.0, i.e. using Enchant v1, the providers had to be copied to C:\enchant_plugins instead, where this path could be customized by creating the registry value HKEY_CURRENT_USER\SOFTWARE\Enchant\Config\Module_Dir and setting it to the desired path.


Özkaynak Türleri

Prior to PHP 8.0.0, there are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.


Öntanımlı Sabitler

LIBENCHANT_VERSION (string)
The version of libenchant. Available as of PHP 8.0.0.
ENCHANT_MYSPELL (int)
Dictionary type for MySpell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path(). Deprecated as of PHP 8.0.0.
ENCHANT_ISPELL (int)
Dictionary type for Ispell. Used with enchant_broker_get_dict_path() and enchant_broker_set_dict_path(). Deprecated as of PHP 8.0.0.


Örnekler

Örnek 1 Enchant Usage Example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (enchant_broker_dict_exists($r,$tag)) {
$d = enchant_broker_request_dict($r, $tag);
$dprovides = enchant_dict_describe($d);
echo "dictionary $tag provides:\n";
$wordcorrect = enchant_dict_check($d, "soong");
print_r($dprovides);
if (!$wordcorrect) {
$suggs = enchant_dict_suggest($d, "soong");
echo "Suggestions for 'soong':";
print_r($suggs);
}
enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>


Enchant İşlevleri

İçindekiler

  • enchant_broker_describe — Enumerates the Enchant providers
  • enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict — Free a dictionary resource
  • enchant_broker_free — Free the broker resource and its dictionaries
  • enchant_broker_get_dict_path — Get the directory path for a given backend
  • enchant_broker_get_error — Returns the last error of the broker
  • enchant_broker_init — Create a new broker object capable of requesting
  • enchant_broker_list_dicts — Returns a list of available dictionaries
  • enchant_broker_request_dict — Create a new dictionary using a tag
  • enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file
  • enchant_broker_set_dict_path — Set the directory path for a given backend
  • enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language
  • enchant_dict_add_to_personal — Takma Adı: enchant_dict_add
  • enchant_dict_add_to_session — Add 'word' to this spell-checking session
  • enchant_dict_add — Add a word to personal word list
  • enchant_dict_check — Check whether a word is correctly spelled or not
  • enchant_dict_describe — Describes an individual dictionary
  • enchant_dict_get_error — Returns the last error of the current spelling-session
  • enchant_dict_is_added — Whether or not 'word' exists in this spelling-session
  • enchant_dict_is_in_session — Takma Adı: enchant_dict_is_added
  • enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions
  • enchant_dict_store_replacement — Add a correction for a word
  • enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met


Enumerates the Enchant providers

  • « Enchant İşlevleri
  • enchant_broker_dict_exists »
  • PHP Manual
  • Enchant İşlevleri
  • Enumerates the Enchant providers

enchant_broker_describe

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0)

enchant_broker_describe — Enumerates the Enchant providers

Açıklama

enchant_broker_describe(EnchantBroker $broker): array

Enumerates the Enchant providers and tells you some rudimentary information about them. The same info is provided through phpinfo().

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

Dönen Değerler

Returns an array of available Enchant providers with their details.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Örnekler

Örnek 1 List the backends provided by the given broker

<?php
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo "Current broker provides the following backend(s):\n";
print_r($bprovides);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Current broker provides the following backend(s):
Array
(
    [0] => Array
        (
            [name] => aspell
            [desc] => Aspell Provider
            [file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [name] => hspell
            [desc] => Hspell Provider
            [file] => /usr/lib/enchant/libenchant_hspell.so
        )

    [2] => Array
        (
            [name] => ispell
            [desc] => Ispell Provider
            [file] => /usr/lib/enchant/libenchant_ispell.so
        )

    [3] => Array
        (
            [name] => myspell
            [desc] => Myspell Provider
            [file] => /usr/lib/enchant/libenchant_myspell.so
        )

)


Whether a dictionary exists or not. Using non-empty tag

  • « enchant_broker_describe
  • enchant_broker_free_dict »
  • PHP Manual
  • Enchant İşlevleri
  • Whether a dictionary exists or not. Using non-empty tag

enchant_broker_dict_exists

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_dict_exists — Whether a dictionary exists or not. Using non-empty tag

Açıklama

enchant_broker_dict_exists(EnchantBroker $broker, string $tag): bool

Tells if a dictionary exists or not, using a non-empty tags

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

tag

non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

Dönen Değerler

Returns true when the tag exist or false when not.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Örnekler

Örnek 1 A enchant_broker_dict_exists() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
echo $tag . " dictionary found.\n";
}
?>

Ayrıca Bakınız

  • enchant_broker_describe() - Enumerates the Enchant providers


Free a dictionary resource

  • « enchant_broker_dict_exists
  • enchant_broker_free »
  • PHP Manual
  • Enchant İşlevleri
  • Free a dictionary resource

enchant_broker_free_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_free_dict — Free a dictionary resource

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

enchant_broker_free_dict(EnchantDictionary $dictionary): bool

Free a dictionary. As of PHP 8.0.0, it is recommended to unset the object instead of calling this function.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects a EnchantDictionary now; previoulsy, a resource was expected.

Ayrıca Bakınız

  • enchant_broker_request_dict() - Create a new dictionary using a tag
  • enchant_broker_request_pwl_dict() - Creates a dictionary using a PWL file


Free the broker resource and its dictionaries

  • « enchant_broker_free_dict
  • enchant_broker_get_dict_path »
  • PHP Manual
  • Enchant İşlevleri
  • Free the broker resource and its dictionaries

enchant_broker_free

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_free — Free the broker resource and its dictionaries

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

enchant_broker_free(EnchantBroker $broker): bool

Free a broker with all its dictionaries. As of PHP 8.0.0, it is recommended to unset the object instead of calling this function.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Ayrıca Bakınız

  • enchant_broker_init() - Create a new broker object capable of requesting


Get the directory path for a given backend

  • « enchant_broker_free
  • enchant_broker_get_error »
  • PHP Manual
  • Enchant İşlevleri
  • Get the directory path for a given backend

enchant_broker_get_dict_path

(PHP 5 >= 5.3.1, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_get_dict_path — Get the directory path for a given backend

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

enchant_broker_get_dict_path(EnchantBroker $broker, int $type): string|false

Get the directory path for a given backend.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

Dönen Değerler

Returns the path of the dictionary directory on success başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Notlar

Bilginize:

This function is only available if the extension has been compiled with Enchant v1.

Ayrıca Bakınız

  • enchant_broker_set_dict_path() - Set the directory path for a given backend


Returns the last error of the broker

  • « enchant_broker_get_dict_path
  • enchant_broker_init »
  • PHP Manual
  • Enchant İşlevleri
  • Returns the last error of the broker

enchant_broker_get_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_get_error — Returns the last error of the broker

Açıklama

enchant_broker_get_error(EnchantBroker $broker): string|false

Returns the last error which occurred in this broker.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

Dönen Değerler

Return the msg string if an error was found or false

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.


Create a new broker object capable of requesting

  • « enchant_broker_get_error
  • enchant_broker_list_dicts »
  • PHP Manual
  • Enchant İşlevleri
  • Create a new broker object capable of requesting

enchant_broker_init

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_init — Create a new broker object capable of requesting

Açıklama

enchant_broker_init(): EnchantBroker|false

Bağımsız Değişkenler

Dönen Değerler

Returns a broker resource on success or false.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns an EnchantBroker instance now; previously, a resource was returned.

Ayrıca Bakınız

  • enchant_broker_free() - Free the broker resource and its dictionaries


Returns a list of available dictionaries

  • « enchant_broker_init
  • enchant_broker_request_dict »
  • PHP Manual
  • Enchant İşlevleri
  • Returns a list of available dictionaries

enchant_broker_list_dicts

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_list_dicts — Returns a list of available dictionaries

Açıklama

enchant_broker_list_dicts(EnchantBroker $broker): array

Returns a list of available dictionaries with their details.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

Dönen Değerler

Returns an array of available dictionaries with their details.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Örnekler

Örnek 1 List all available dictionaries for one broker

<?php
$r = enchant_broker_init();
$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [lang_tag] => de
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [1] => Array
        (
            [lang_tag] => de_DE
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [3] => Array
        (
            [lang_tag] => en
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [4] => Array
        (
            [lang_tag] => en_GB
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [5] => Array
        (
            [lang_tag] => en_US
            [provider_name] => aspell
            [provider_desc] => Aspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_aspell.so
        )

    [6] => Array
        (
            [lang_tag] => hi_IN
            [provider_name] => myspell
            [provider_desc] => Myspell Provider
            [provider_file] => /usr/lib/enchant/libenchant_myspell.so
        )

)

Ayrıca Bakınız

  • enchant_broker_describe() - Enumerates the Enchant providers


Create a new dictionary using a tag

  • « enchant_broker_list_dicts
  • enchant_broker_request_pwl_dict »
  • PHP Manual
  • Enchant İşlevleri
  • Create a new dictionary using a tag

enchant_broker_request_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_request_dict — Create a new dictionary using a tag

Açıklama

enchant_broker_request_dict(EnchantBroker $broker, string $tag): EnchantDictionary|false

create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for ("en_US", "de_DE", ...)

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

tag

A tag describing the locale, for example en_US, de_DE

Dönen Değerler

Returns a dictionary resource on success başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.

Örnekler

Örnek 1 A enchant_broker_request_dict() example

Check if a dictionary exists using enchant_broker_dict_exists() and request it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
$dict = enchant_broker_request_dict($r, $tag);
}
?>

Ayrıca Bakınız

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource


Creates a dictionary using a PWL file

  • « enchant_broker_request_dict
  • enchant_broker_set_dict_path »
  • PHP Manual
  • Enchant İşlevleri
  • Creates a dictionary using a PWL file

enchant_broker_request_pwl_dict

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_request_pwl_dict — Creates a dictionary using a PWL file

Açıklama

enchant_broker_request_pwl_dict(EnchantBroker $broker, string $filename): EnchantDictionary|false

Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

filename

Path to the PWL file. If there is no such file, a new one will be created if possible.

Dönen Değerler

Returns a dictionary resource on success başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.
8.0.0 | On success, this function returns an EnchantDictionary instance now; previoulsy, a resource was retured.

Ayrıca Bakınız

  • enchant_dict_describe() - Describes an individual dictionary
  • enchant_broker_dict_exists() - Whether a dictionary exists or not. Using non-empty tag
  • enchant_broker_free_dict() - Free a dictionary resource


Set the directory path for a given backend

  • « enchant_broker_request_pwl_dict
  • enchant_broker_set_ordering »
  • PHP Manual
  • Enchant İşlevleri
  • Set the directory path for a given backend

enchant_broker_set_dict_path

(PHP 5 >= 5.3.1, PHP 7, PHP 8, PECL enchant >= 1.0.1)

enchant_broker_set_dict_path — Set the directory path for a given backend

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

enchant_broker_set_dict_path(EnchantBroker $broker, int $type, string $path): bool

Set the directory path for a given backend.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

type

The type of the dictionaries, i.e. ENCHANT_MYSPELL or ENCHANT_ISPELL.

path

The path of the dictionary directory.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.

Notlar

Bilginize:

This function is only available if the extension has been compiled with Enchant v1.

Ayrıca Bakınız

  • enchant_broker_get_dict_path() - Get the directory path for a given backend


Declares a preference of dictionaries to use for the language

  • « enchant_broker_set_dict_path
  • enchant_dict_add_to_personal »
  • PHP Manual
  • Enchant İşlevleri
  • Declares a preference of dictionaries to use for the language

enchant_broker_set_ordering

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_broker_set_ordering — Declares a preference of dictionaries to use for the language

Açıklama

enchant_broker_set_ordering(EnchantBroker $broker, string $tag, string $ordering): bool

Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

Bağımsız Değişkenler

broker

An Enchant broker returned by enchant_broker_init().

tag

Language tag. The special "*" tag can be used as a language tag to declare a default ordering for any language that does not explicitly declare an ordering.

ordering

Comma delimited list of provider names

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | broker expects an EnchantBroker instance now; previoulsy, a resource was expected.


Takma Adı: enchant_dict_add

  • « enchant_broker_set_ordering
  • enchant_dict_add_to_session »
  • PHP Manual
  • Enchant İşlevleri
  • Takma Adı: enchant_dict_add

enchant_dict_add_to_personal

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_add_to_personal — Takma Adı: enchant_dict_add()

Uyarı

Bu takma adın kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR.

Açıklama

Bu işlev şu işlevin takma adıdır: enchant_dict_add().


Add 'word' to this spell-checking session

  • « enchant_dict_add_to_personal
  • enchant_dict_add »
  • PHP Manual
  • Enchant İşlevleri
  • Add 'word' to this spell-checking session

enchant_dict_add_to_session

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_add_to_session — Add 'word' to this spell-checking session

Açıklama

enchant_dict_add_to_session(EnchantDictionary $dictionary, string $word): void

Add a word to the given dictionary. It will be added only for the active spell-checking session.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to add

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Ayrıca Bakınız

  • enchant_broker_request_dict() - Create a new dictionary using a tag


Add a word to personal word list

  • « enchant_dict_add_to_session
  • enchant_dict_check »
  • PHP Manual
  • Enchant İşlevleri
  • Add a word to personal word list

enchant_dict_add

(PHP 8)

enchant_dict_add — Add a word to personal word list

Açıklama

enchant_dict_add(EnchantDictionary $dictionary, string $word): void

Add a word to personal word list of the given dictionary.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to add

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Örnek 1 Adding a word to a PWL

<?php

$filename = './my_word_list.pwl';
$word = 'Supercalifragilisticexpialidocious';

$broker = enchant_broker_init();
$dict = enchant_broker_request_pwl_dict($broker, $filename);

enchant_dict_add($dict, $word);

enchant_broker_free($broker);

?>

Ayrıca Bakınız

  • enchant_broker_request_pwl_dict() - Creates a dictionary using a PWL file
  • enchant_broker_request_dict() - Create a new dictionary using a tag


Check whether a word is correctly spelled or not

  • « enchant_dict_add
  • enchant_dict_describe »
  • PHP Manual
  • Enchant İşlevleri
  • Check whether a word is correctly spelled or not

enchant_dict_check

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_check — Check whether a word is correctly spelled or not

Açıklama

enchant_dict_check(EnchantDictionary $dictionary, string $word): bool

If the word is correctly spelled return true, otherwise return false

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to check

Dönen Değerler

Returns true if the word is spelled correctly, false if not.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Describes an individual dictionary

  • « enchant_dict_check
  • enchant_dict_get_error »
  • PHP Manual
  • Enchant İşlevleri
  • Describes an individual dictionary

enchant_dict_describe

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_describe — Describes an individual dictionary

Açıklama

enchant_dict_describe(EnchantDictionary $dictionary): array

Returns the details of the dictionary.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.
8.0.0 | Prior to this version, the function returned false on failure.

Örnekler

Örnek 1 A enchant_dict_describe() example

Check if a dictionary exists using enchant_broker_dict_exists() and show the detail of it.

<?php
$tag = 'en_US';
$broker = enchant_broker_init();
if (enchant_broker_dict_exists($broker,$tag)) {
$dict = enchant_broker_request_dict($r, $tag);
$dict_details = enchant_dict_describe($dict);
print_r($dict_details);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [lang] => en_US
    [name] => aspell
    [desc] => Aspell Provider
    [file] => /usr/lib/enchant/libenchant_aspell.so
)


Returns the last error of the current spelling-session

  • « enchant_dict_describe
  • enchant_dict_is_added »
  • PHP Manual
  • Enchant İşlevleri
  • Returns the last error of the current spelling-session

enchant_dict_get_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_get_error — Returns the last error of the current spelling-session

Açıklama

enchant_dict_get_error(EnchantDictionary $dictionary): string|false

Returns the last error of the current spelling-session

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

Dönen Değerler

Returns the error message as string or false if no error occurred.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Whether or not 'word' exists in this spelling-session

  • « enchant_dict_get_error
  • enchant_dict_is_in_session »
  • PHP Manual
  • Enchant İşlevleri
  • Whether or not 'word' exists in this spelling-session

enchant_dict_is_added

(PHP 8)

enchant_dict_is_added — Whether or not 'word' exists in this spelling-session

Açıklama

enchant_dict_is_added(EnchantDictionary $dictionary, string $word): bool

Tells whether or not a word already exists in the current session.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to lookup

Dönen Değerler

Returns true if the word exists or false

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Ayrıca Bakınız

  • enchant_dict_add_to_session() - Add 'word' to this spell-checking session


Takma Adı: enchant_dict_is_added

  • « enchant_dict_is_added
  • enchant_dict_quick_check »
  • PHP Manual
  • Enchant İşlevleri
  • Takma Adı: enchant_dict_is_added

enchant_dict_is_in_session

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_is_in_session — Takma Adı: enchant_dict_is_added()

Uyarı

Bu takma adın kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR.

Açıklama

Bu işlev şu işlevin takma adıdır: enchant_dict_is_added().


Check the word is correctly spelled and provide suggestions

  • « enchant_dict_is_in_session
  • enchant_dict_store_replacement »
  • PHP Manual
  • Enchant İşlevleri
  • Check the word is correctly spelled and provide suggestions

enchant_dict_quick_check

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant:0.2.0-1.0.1)

enchant_dict_quick_check — Check the word is correctly spelled and provide suggestions

Açıklama

enchant_dict_quick_check(EnchantDictionary $dictionary, string $word, array &$suggestions = null): bool

If the word is correctly spelled return true, otherwise return false, if suggestions variable is provided, fill it with spelling alternatives.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

The word to check

suggestions

If the word is not correctly spelled, this variable will contain an array of suggestions.

Dönen Değerler

Returns true if the word is correctly spelled or false

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Örnekler

Örnek 1 A enchant_dict_quick_check() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();

if (enchant_broker_dict_exists($r,$tag)) {
$d = enchant_broker_request_dict($r, $tag);
enchant_dict_quick_check($d, 'soong', $suggs);
print_r($suggs);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => song
    [1] => snog
    [2] => soon
    [3] => Sang
    [4] => Sung
    [5] => sang
    [6] => sung
    [7] => sponge
    [8] => spongy
    [9] => snag
    [10] => snug
    [11] => sonic
    [12] => sing
    [13] => songs
    [14] => Son
    [15] => Sonja
    [16] => Synge
    [17] => son
    [18] => Sejong
    [19] => sarong
    [20] => sooner
    [21] => Sony
    [22] => sown
    [23] => scone
    [24] => song's
)

Ayrıca Bakınız

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_suggest() - Will return a list of values if any of those pre-conditions are not met


Add a correction for a word

  • « enchant_dict_quick_check
  • enchant_dict_suggest »
  • PHP Manual
  • Enchant İşlevleri
  • Add a correction for a word

enchant_dict_store_replacement

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_store_replacement — Add a correction for a word

Açıklama

enchant_dict_store_replacement(EnchantDictionary $dictionary, string $misspelled, string $correct): void

Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up in the suggestion list.

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

misspelled

The work to fix

correct

The correct word

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.


Will return a list of values if any of those pre-conditions are not met

  • « enchant_dict_store_replacement
  • EnchantBroker »
  • PHP Manual
  • Enchant İşlevleri
  • Will return a list of values if any of those pre-conditions are not met

enchant_dict_suggest

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL enchant >= 0.1.0 )

enchant_dict_suggest — Will return a list of values if any of those pre-conditions are not met

Açıklama

enchant_dict_suggest(EnchantDictionary $dictionary, string $word): array

Bağımsız Değişkenler

dictionary

An Enchant dictionary returned by enchant_broker_request_dict() or enchant_broker_request_pwl_dict().

word

Word to use for the suggestions.

Dönen Değerler

Will returns an array of suggestions if the word is bad spelled.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dictionary expects an EnchantDictionary instance now; previoulsy, a resource was expected.

Örnekler

Örnek 1 A enchant_dict_suggest() example

<?php
$tag = 'en_US';
$r = enchant_broker_init();
if (enchant_broker_dict_exists($r,$tag)) {
$d = enchant_broker_request_dict($r, $tag);

$wordcorrect = enchant_dict_check($d, "soong");
if (!$wordcorrect) {
$suggs = enchant_dict_suggest($d, "soong");
echo "Suggestions for 'soong':";
print_r($suggs);
}
enchant_broker_free_dict($d);
}
enchant_broker_free($r);
?>

Ayrıca Bakınız

  • enchant_dict_check() - Check whether a word is correctly spelled or not
  • enchant_dict_quick_check() - Check the word is correctly spelled and provide suggestions


The EnchantBroker class

(PHP 8)

Giriş

A fully opaque class which replaces enchant_broker resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class EnchantBroker {
}


The EnchantDictionary class

(PHP 8)

Giriş

A fully opaque class which replaces enchant_dict resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class EnchantDictionary {
}


Determine gender of firstnames

  • Giriş
  • Yapılandırma/Kurulum
    • Kurulum
  • Örnekler
    • Usage example.
  • Gender\Gender — The Gender\Gender class
    • Gender\Gender::connect — Connect to an external name dictionary
    • Gender\Gender::__construct — Construct the Gender object
    • Gender\Gender::country — Get textual country representation
    • Gender\Gender::get — Get gender of a name
    • Gender\Gender::isNick — Check if the name0 is an alias of the name1
    • Gender\Gender::similarNames — Get similar names


Giriş

Gender PHP extension is a port of the gender.c program originally written by Joerg Michael. The main purpose is to find out the gender of firstnames. The current database contains >40000 firstnames from 54 countries.


  • « Giriş
  • Kurulum »
  • PHP Manual
  • Gender
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Kurulum


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/gender.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/gender/.


  • « Kurulum
  • Usage example. »
  • PHP Manual
  • Gender
  • Örnekler

Örnekler

İçindekiler

  • Usage example.


Usage example.

Gender class usage example.

Örnek 1 Usage example.

<?php

namespace Gender;

$gender = new Gender;

$name = "Milene";
$country = Gender::FRANCE;

$result = $gender->get($name, $country);

$data = $gender->country($country);

switch($result) {
case Gender::IS_FEMALE:
printf("The name %s is female in %s\n", $name, $data['country']);
break;

case Gender::IS_MOSTLY_FEMALE:
printf("The name %s is mostly female in %s\n", $name, $data['country']);
break;

case Gender::IS_MALE:
printf("The name %s is male in %s\n", $name, $data['country']);
break;

case Gender::IS_MOSTLY_MALE:
printf("The name %s is mostly male in %s\n", $name, $data['country']);
break;

case Gender::IS_UNISEX_NAME:
printf("The name %s is unisex in %s\n", $name, $data['country']);
break;

case Gender::IS_A_COUPLE:
printf("The name %s is both male and female in %s\n", $name, $data['country']);
break;

case Gender::NAME_NOT_FOUND:
printf("The name %s was not found for %s\n", $name, $data['country']);
break;

case Gender::ERROR_IN_NAME:
echo "There is an error in the given name!\n";
break;

default:
echo "An error occurred!\n";
break;

}


The Gender\Gender class

(PECL gender >= 0.6.0)

Giriş

Sınıf Sözdizimi

class Gender\Gender {
/* Sabitler */
const int IS_FEMALE = 70;
const int IS_MOSTLY_FEMALE = 102;
const int IS_MALE = 77;
const int IS_MOSTLY_MALE = 109;
const int IS_UNISEX_NAME = 63;
const int IS_A_COUPLE = 67;
const int NAME_NOT_FOUND = 32;
const int ERROR_IN_NAME = 69;
const int ANY_COUNTRY = 0;
const int BRITAIN = 1;
const int IRELAND = 2;
const int USA = 3;
const int SPAIN = 4;
const int PORTUGAL = 5;
const int ITALY = 6;
const int MALTA = 7;
const int FRANCE = 8;
const int BELGIUM = 9;
const int LUXEMBOURG = 10;
const int NETHERLANDS = 11;
const int GERMANY = 12;
const int EAST_FRISIA = 13;
const int AUSTRIA = 14;
const int SWISS = 15;
const int ICELAND = 16;
const int DENMARK = 17;
const int NORWAY = 18;
const int SWEDEN = 19;
const int FINLAND = 20;
const int ESTONIA = 21;
const int LATVIA = 22;
const int LITHUANIA = 23;
const int POLAND = 24;
const int CZECH_REP = 25;
const int SLOVAKIA = 26;
const int HUNGARY = 27;
const int ROMANIA = 28;
const int BULGARIA = 29;
const int BOSNIA = 30;
const int CROATIA = 31;
const int KOSOVO = 32;
const int MACEDONIA = 33;
const int MONTENEGRO = 34;
const int SERBIA = 35;
const int SLOVENIA = 36;
const int ALBANIA = 37;
const int GREECE = 38;
const int RUSSIA = 39;
const int BELARUS = 40;
const int MOLDOVA = 41;
const int UKRAINE = 42;
const int ARMENIA = 43;
const int AZERBAIJAN = 44;
const int GEORGIA = 45;
const int KAZAKH_UZBEK = 46;
const int TURKEY = 47;
const int ARABIA = 48;
const int ISRAEL = 49;
const int CHINA = 50;
const int INDIA = 51;
const int JAPAN = 52;
const int KOREA = 53;
/* Yöntemler */
public __construct(string $dsn = ?)
public connect(string $dsn): bool
public country(int $country): array|false
public get(string $name, int $country = ?): int
public isNick(string $name0, string $name1, int $country = ?): array
public similarNames(string $name, int $country = ?): array
}

Öntanımlı Sabitler

Gender\Gender::IS_FEMALE

Gender\Gender::IS_MOSTLY_FEMALE

Gender\Gender::IS_MALE

Gender\Gender::IS_MOSTLY_MALE

Gender\Gender::IS_UNISEX_NAME

Gender\Gender::IS_A_COUPLE

Gender\Gender::NAME_NOT_FOUND

Gender\Gender::ERROR_IN_NAME

Gender\Gender::ANY_COUNTRY

Gender\Gender::BRITAIN

Gender\Gender::IRELAND

Gender\Gender::USA

Gender\Gender::SPAIN

Gender\Gender::PORTUGAL

Gender\Gender::ITALY

Gender\Gender::MALTA

Gender\Gender::FRANCE

Gender\Gender::BELGIUM

Gender\Gender::LUXEMBOURG

Gender\Gender::NETHERLANDS

Gender\Gender::GERMANY

Gender\Gender::EAST_FRISIA

Gender\Gender::AUSTRIA

Gender\Gender::SWISS

Gender\Gender::ICELAND

Gender\Gender::DENMARK

Gender\Gender::NORWAY

Gender\Gender::SWEDEN

Gender\Gender::FINLAND

Gender\Gender::ESTONIA

Gender\Gender::LATVIA

Gender\Gender::LITHUANIA

Gender\Gender::POLAND

Gender\Gender::CZECH_REP

Gender\Gender::SLOVAKIA

Gender\Gender::HUNGARY

Gender\Gender::ROMANIA

Gender\Gender::BULGARIA

Gender\Gender::BOSNIA

Gender\Gender::CROATIA

Gender\Gender::KOSOVO

Gender\Gender::MACEDONIA

Gender\Gender::MONTENEGRO

Gender\Gender::SERBIA

Gender\Gender::SLOVENIA

Gender\Gender::ALBANIA

Gender\Gender::GREECE

Gender\Gender::RUSSIA

Gender\Gender::BELARUS

Gender\Gender::MOLDOVA

Gender\Gender::UKRAINE

Gender\Gender::ARMENIA

Gender\Gender::AZERBAIJAN

Gender\Gender::GEORGIA

Gender\Gender::KAZAKH_UZBEK

Gender\Gender::TURKEY

Gender\Gender::ARABIA

Gender\Gender::ISRAEL

Gender\Gender::CHINA

Gender\Gender::INDIA

Gender\Gender::JAPAN

Gender\Gender::KOREA

İçindekiler

  • Gender\Gender::connect — Connect to an external name dictionary
  • Gender\Gender::__construct — Construct the Gender object
  • Gender\Gender::country — Get textual country representation
  • Gender\Gender::get — Get gender of a name
  • Gender\Gender::isNick — Check if the name0 is an alias of the name1
  • Gender\Gender::similarNames — Get similar names


Connect to an external name dictionary

  • « Gender\Gender
  • Gender\Gender::__construct »
  • PHP Manual
  • Gender\Gender
  • Connect to an external name dictionary

Gender\Gender::connect

(PECL gender >= 0.6.0)

Gender\Gender::connect — Connect to an external name dictionary

Açıklama

public Gender\Gender::connect(string $dsn): bool

Connect to an external name dictionary. Currently only streams are supported.

Bağımsız Değişkenler

dsn

DSN to open.

Dönen Değerler

Boolean as success of failure.


Construct the Gender object

  • « Gender\Gender::connect
  • Gender\Gender::country »
  • PHP Manual
  • Gender\Gender
  • Construct the Gender object

Gender\Gender::__construct

(PECL gender >= 0.6.0)

Gender\Gender::__construct — Construct the Gender object

Açıklama

public Gender\Gender::__construct(string $dsn = ?)

Create a Gender object optionally connecting to an external name dictionary. When no external database was given, compiled in data will be used.

Bağımsız Değişkenler

dsn

DSN to open.


Get textual country representation

  • « Gender\Gender::__construct
  • Gender\Gender::get »
  • PHP Manual
  • Gender\Gender
  • Get textual country representation

Gender\Gender::country

(PECL gender >= 0.8.0)

Gender\Gender::country — Get textual country representation

Açıklama

public Gender\Gender::country(int $country): array|false

Returns the textual representation of a country from a Gender class constant.

Bağımsız Değişkenler

country

A country ID specified by a Gender\Gender class constant.

Dönen Değerler

Returns an array with the short and full names of the country on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using Gender\Gender::country()

$gender = new Gender\Gender;
var_dump($gender->country(Gender\Gender::BRITAIN));

Yukarıdaki örneğin çıktısı:

array(2) {
  'country_short' =>
  string(2) "UK"
  'country' =>
  string(13) "Great Britain"
}


Get gender of a name

  • « Gender\Gender::country
  • Gender\Gender::isNick »
  • PHP Manual
  • Gender\Gender
  • Get gender of a name

Gender\Gender::get

(PECL gender >= 0.6.0)

Gender\Gender::get — Get gender of a name

Açıklama

public Gender\Gender::get(string $name, int $country = ?): int

Get the gender of the name in a particular country.

Bağımsız Değişkenler

name

Name to check.

country

Country id identified by Gender class constant.

Dönen Değerler

Returns gender of the name.


Check if the name0 is an alias of the name1

  • « Gender\Gender::get
  • Gender\Gender::similarNames »
  • PHP Manual
  • Gender\Gender
  • Check if the name0 is an alias of the name1

Gender\Gender::isNick

(PECL gender >= 0.9.0)

Gender\Gender::isNick — Check if the name0 is an alias of the name1

Açıklama

public Gender\Gender::isNick(string $name0, string $name1, int $country = ?): array

Check whether the name0 is a nick of the name1.

Bağımsız Değişkenler

name0

Name to check.

name1

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Get similar names

  • « Gender\Gender::isNick
  • Gettext »
  • PHP Manual
  • Gender\Gender
  • Get similar names

Gender\Gender::similarNames

(PECL gender >= 0.9.0)

Gender\Gender::similarNames — Get similar names

Açıklama

public Gender\Gender::similarNames(string $name, int $country = ?): array

Get similar names for the given name and country.

Bağımsız Değişkenler

name

Name to check.

country

Country id identified by Gender class constant. If ommited ANY_COUNTRY is used.

Dönen Değerler

Returns an array with the similar names found.


Gettext

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Gettext İşlevleri
    • bind_textdomain_codeset — Belli bir uygulamanın iletileri için karakter kodlaması tanımlar
    • bindtextdomain — Uygulama adı için bir yol tanımlar
    • dcgettext — Belirtilen arama için geçerli uygulama adını değiştirir
    • dcngettext — dcgettext işlevinin çoğul biçemli sürümü
    • dgettext — Geçerli uygulama adını değiştirir
    • dngettext — dgettext işlevinin çoğul biçemli sürümü
    • gettext — Geçerli uygulama alanında bir iletiyi arar
    • ngettext — gettext işlevinin çoğul biçemli sürümü
    • textdomain — Öntanımlı uygulama adını tanımlar


Giriş

Gettext işlevleri PHP uygulamalarınızı uluslararasılaştırmak için kullanabileceğiniz NLS (Yerel Dil Desteği) arayüzünü gerçekler. Bu işlevlerin ayrıntılı açıklamaları için sisteminizdeki gettext belgelerine veya » http://www.gnu.org/software/gettext/manual/gettext.html adresine bakınız.


Gereksinimler

Bu işlevleri kullanabilmek için » http://www.gnu.org/software/gettext/gettext.html adresinden GNU gettext paketini indirip kurmanız gerekir.


Kurulum

GNU gettext desteği için PHP paketini derlerken --with-gettext[=DiZiN] yapılandırma seçeneğini kullanmalısınız. Burada DiZiN, gettext'in kurulu olduğu dizin olup /usr/local öntanımlıdır.


  • « Özkaynak Türleri
  • Gettext İşlevleri »
  • PHP Manual
  • Gettext
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Gettext İşlevleri

İçindekiler

  • bind_textdomain_codeset — Belli bir uygulamanın iletileri için karakter kodlaması tanımlar
  • bindtextdomain — Uygulama adı için bir yol tanımlar
  • dcgettext — Belirtilen arama için geçerli uygulama adını değiştirir
  • dcngettext — dcgettext işlevinin çoğul biçemli sürümü
  • dgettext — Geçerli uygulama adını değiştirir
  • dngettext — dgettext işlevinin çoğul biçemli sürümü
  • gettext — Geçerli uygulama alanında bir iletiyi arar
  • ngettext — gettext işlevinin çoğul biçemli sürümü
  • textdomain — Öntanımlı uygulama adını tanımlar


Belli bir uygulamanın iletileri için karakter kodlaması tanımlar

  • « Gettext İşlevleri
  • bindtextdomain »
  • PHP Manual
  • Gettext İşlevleri
  • Belli bir uygulamanın iletileri için karakter kodlaması tanımlar

bind_textdomain_codeset

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

bind_textdomain_codeset — Belli bir uygulamanın iletileri için karakter kodlaması tanımlar

Açıklama

bind_textdomain_codeset(string $uygulama_adı, ?string $karküm): string|false

bind_textdomain_codeset() işlevi, gettext() ve benzeri işlevler tarafından belli bir uygulama_adı için döndürülen iletilerin hangi karakter kodlaması ile kodlanacağını belirler.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

karküm

Karakter kümesi. null aktarılırsa geçerli karakter kümesi döndürülür.

Dönen Değerler

Başarılı olursa bir dizge ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | karküm artık null olabiliyor. Evvelce, geçerli karakter kümesi döndürülemiyordu.

Notlar

Bilginize:

bind_textdomain_codeset() bilgisi süreç başınadır, evre başına değil.


Uygulama adı için bir yol tanımlar

  • « bind_textdomain_codeset
  • dcgettext »
  • PHP Manual
  • Gettext İşlevleri
  • Uygulama adı için bir yol tanımlar

bindtextdomain

(PHP 4, PHP 5, PHP 7, PHP 8)

bindtextdomain — Uygulama adı için bir yol tanımlar

Açıklama

bindtextdomain(string $uygulama_adı, ?string $dizin): string|false

bindtextdomain() işleve bir uygulama için yol tanımlar.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

dizin

Bir dizinin yolu. Boş dizge geçerli dizin demektir. null aktarılırsa geçerli dizin döndürülür.

Dönen Değerler

uygulama_adı için tanımlanan tam dizin yolu, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | dizin artık null olabiliyor. Evvelce, geçerli dizin döndürülemiyordu.

Örnekler

Örnek 1 - bindtextdomain() örneği

<?php

$domain = 'myapp';
echo bindtextdomain($domain, '/usr/share/myapp/locale');

?>

Yukarıdaki örneğin çıktısı:

/usr/share/myapp/locale

Notlar

Bilginize:

The bindtextdomain() bilgisi süreç başınadır, evre başına değil.


Belirtilen arama için geçerli uygulama adını değiştirir

  • « bindtextdomain
  • dcngettext »
  • PHP Manual
  • Gettext İşlevleri
  • Belirtilen arama için geçerli uygulama adını değiştirir

dcgettext

(PHP 4, PHP 5, PHP 7, PHP 8)

dcgettext — Belirtilen arama için geçerli uygulama adını değiştirir

Açıklama

dcgettext(string $uygulama_adı, string $ileti, int $yerel): string

dcgettext() işlevi, belirtilen iletinin belli bir uygulama_adı altında aranabilmesini sağlar.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

ileti

Özgün ileti.

yerel

Yerel kategorisi.

Dönen Değerler

Başarılı olursa bir dizge ile döner.

Ayrıca Bakınız

  • gettext() - Geçerli uygulama alanında bir iletiyi arar


dcgettext işlevinin çoğul biçemli sürümü

  • « dcgettext
  • dgettext »
  • PHP Manual
  • Gettext İşlevleri
  • dcgettext işlevinin çoğul biçemli sürümü

dcngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

dcngettext — dcgettext işlevinin çoğul biçemli sürümü

Açıklama

dcngettext(
string $uygulama_adı,
string $tekil,
string $çoğul,
int $sayı,
int $yerel
): string

dcngettext() işlevi, belirtilen çoğul iletilerin belli bir uygulama_adı altında aranabilmesini sağlar.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

tekil

çoğul

sayı

yerel

Dönen Değerler

Başarılı olursa bir dizge ile döner.

Ayrıca Bakınız

  • ngettext() - gettext işlevinin çoğul biçemli sürümü


Geçerli uygulama adını değiştirir

  • « dcngettext
  • dngettext »
  • PHP Manual
  • Gettext İşlevleri
  • Geçerli uygulama adını değiştirir

dgettext

(PHP 4, PHP 5, PHP 7, PHP 8)

dgettext — Geçerli uygulama adını değiştirir

Açıklama

dgettext(string $uygulama_adı, string $ileti): string

dgettext() işlevi, belirtilen iletinin belli bir uygulama_adı altında aranabilmesini sağlar.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

ileti

Özgün ileti.

Dönen Değerler

Başarılı olursa bir dizge ile döner.

Ayrıca Bakınız

  • gettext() - Geçerli uygulama alanında bir iletiyi arar


dgettext işlevinin çoğul biçemli sürümü

  • « dgettext
  • gettext »
  • PHP Manual
  • Gettext İşlevleri
  • dgettext işlevinin çoğul biçemli sürümü

dngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

dngettext — dgettext işlevinin çoğul biçemli sürümü

Açıklama

dngettext(
string $uygulama_adı,
string $tekil,
string $çoğul,
int $sayı
): string

dngettext()işlevi, belirtilen çoğul biçemli iletilerin belli bir uygulama_adı altında aranabilmesini sağlar.

Bağımsız Değişkenler

uygulama_adı

Gettext iletileri için uygulama veya paket adı.

msgid1

msgid2

n

Dönen Değerler

Başarılı olursa bir dizge döndürür.

Ayrıca Bakınız

  • ngettext() - gettext işlevinin çoğul biçemli sürümü


Geçerli uygulama alanında bir iletiyi arar

  • « dngettext
  • ngettext »
  • PHP Manual
  • Gettext İşlevleri
  • Geçerli uygulama alanında bir iletiyi arar

gettext

(PHP 4, PHP 5, PHP 7, PHP 8)

gettext — Geçerli uygulama alanında bir iletiyi arar

Açıklama

gettext(string $ileti): string

Geçerli uygulama alanında bir iletiyi arar.

Bağımsız Değişkenler

ileti

Çevrilecek ileti.

Dönen Değerler

Çevrilmişse çevrilmiş iletiyle, çevrilmemişse belirtilen iletiyle döner.

Örnekler

Örnek 1 - gettext() örneği

<?php
// Yereli Türkçe yapalım
putenv('LC_ALL=tr_TR')
setlocale(LC_ALL, 'tr_TR');

// Çevirilerin bulunduğu yeri belirtelim
bindtextdomain("myPHPApp", "./locale");

// Uygulama adını belirtelim
textdomain("myPHPApp");

// Böylece çevirilerin aranacağı yer
// ./locale/tr_TR/LC_MESSAGES/myPHPApp.mo olarak belirlendi.

// Bir ileti basalım
echo gettext("Welcome to My PHP Application");

// gettext() için rumuz olarak _() kullanalım
echo _("Have a nice day");
?>

Notlar

Bilginize:

Bu işlev için takma ad olarak altçizgi imini ('_') kullanabilirsiniz.

Bilginize:

Bir yereli bazı sistemlerde setlocale() ile atamak yeterli olmaz, putenv() işlevinin de kullanılması gerekir.

Ayrıca Bakınız

  • setlocale() - Yereli ayarlar


gettext işlevinin çoğul biçemli sürümü

  • « gettext
  • textdomain »
  • PHP Manual
  • Gettext İşlevleri
  • gettext işlevinin çoğul biçemli sürümü

ngettext

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ngettext — gettext işlevinin çoğul biçemli sürümü

Açıklama

ngettext(string $tekil, string $çoğul, int $sayı): string

gettext() işlevinin çoğul biçemli sürümüdür. Bazı dillerde çoğul biçemli iletiler için birden fazla ileti gerekebilir.

Bağımsız Değişkenler

tekil

Tekil ileti kimliği.

çoğul

Çoğul ileti kimliği.

sayı

Geçerli dil için istenen çoğul iletinin çoğul sayısı.

Dönen Değerler

Geçerli yerelde, sayı sayısı için tekil ve çoğul ile betimlenen doğru çoğul biçemli iletiyi döndürür.

Örnekler

Örnek 1 ngettext() örneği

<?php

setlocale(LC_ALL, 'cs_CZ');
printf(ngettext("%d window", "%d windows", 1), 1); // 1 okno
printf(ngettext("%d window", "%d windows", 2), 2); // 2 okna
printf(ngettext("%d window", "%d windows", 5), 5); // 5 oken

?>


Öntanımlı uygulama adını tanımlar

  • « ngettext
  • iconv »
  • PHP Manual
  • Gettext İşlevleri
  • Öntanımlı uygulama adını tanımlar

textdomain

(PHP 4, PHP 5, PHP 7, PHP 8)

textdomain — Öntanımlı uygulama adını tanımlar

Açıklama

textdomain(?string $uygulama_adı): string

gettext() çağrılarının yapıldığı arama bölgesini tanımlar. Bu arama bölgesine genellikle uygulamanın adı verilir.

Bağımsız Değişkenler

uygulama_adı

İletilerin ait olduğu uygulamanın adı; mevcut ayarların aynen kullanılması için null da belirtilebilir.

Dönen Değerler

Başarılı olduğu takdirde (muhtemelen değiştirdiği) uygulama veya paket ismiyle döner.

Notlar

Bilginize:

The textdomain() bilgisi süreç başınadır, evre başına değil.


Karakter Kümesi Dönüştürme

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • iconv İşlevleri
    • iconv_get_encoding — iconv eklentisinin dahili yapılandırma değişkenlerini döndürür
    • iconv_mime_decode_headers — Bir defada birden fazla MIME başlık alanını çözümler
    • iconv_mime_decode — Bir MIME başlık alanının kodunu çözer
    • iconv_mime_encode — Bir MIME başlık alanını tertipler
    • iconv_set_encoding — Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar
    • iconv_strlen — Dizgenin karakter sayısı ile döner
    • iconv_strpos — Samanlıktaki ilk iğneyi bulur
    • iconv_strrpos — Samanlıktakı son iğneyi bulur
    • iconv_substr — Bir dizgenin bir alt dizgesini döndürür
    • iconv — Dizgenin karakter kodlamasını dönüştürür
    • ob_iconv_handler — Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar


Giriş

Bu modül, iconv karakter kümesi dönüştürme oluşumu için bir arayüz içerir. Bu modülle, bir dizgenin karakter kodlamasını yerel kodlamadan herhangi bir başka bir kodlamaya dönüştürebilirsiniz. Desteklenen karakter kümeleri sisteminizde kurulu iconv gerçeklenimine bağlıdır. iconv işlevinin bazı sistemlerde beklendiği gibi çalışmayabileceğine dikkat ediniz. Böyle bir durumda, daha uygun sonuçlar üreteceğinden » GNU libiconv kütüphanesinin kurulması önerilir.

Bu eklenti çok dilli betikleri yazmanızı kolaylaştıracak çeşitli işlevler içermektedir. Yeni özellikleri keşfetmek için bundan sonraki bölümlere bakınız.


Gereksinimler

Günümüz POSIX-uyumlu sistemlerinden birini kullanıyorsanız standart C kütüphaneleri iconv oluşumlarını içerdiğinden bu özelliği elde etmek için hiçbir şey yapmanız gerekmez. Aksi takdirde, sisteminize » libiconv kütüphanesini kurmanız gerekir.


Kurulum

Bu eklenti öntanımlı olarak etkin olduğundan iptal etmek için PHP'nin --without-iconv yapılandırma seçeneği ile derlenmesi gerekir.

PHP'nin derlendiği sistemde bulunan iconv kurulumunun yerini belirtmek gerekirse seçimlik --with-iconv[=DIR] derleme seçeneği kullanılabilir, bu yapılmazsa öntanımlı yerler taranır.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Iconv Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

Uyarı

Bazı sistemler (IBM AIX gibi) "ISO-8859-1" yerine "ISO8859-1" kullanırlar. Dolayısıyla yapılandırma seçeneklerinde ve işlev bağımsız değişkenlerinde bu değerin kullanılması gerekir.

iconv.input_encoding string
Uyarı

Bu işlevin kullanımı PHP 5.6.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

PHP 5.6 ve sonrasında bu seçenek boş bırakılıp yerine input_encoding kullanılmalıdır.

iconv.output_encoding string

iconv.internal_encoding string
Uyarı

Bu işlevin kullanımı PHP 5.6.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

PHP 5.6 ve sonrasında bu seçenek boş bırakılıp yerine default_charset kullanılmalıdır.


Öntanımlı Sabitler

Hangi iconv gerçekleniminin bu eklentiye uygun olduğunu çalışma anında tanımlamak mümkündür.

iconv gerçeklenim sabitleri
İsim | Tür | Açıklama
ICONV_IMPL | string | Gerçeklenimin ismi.
ICONV_VERSION | string | Gerçeklenimin sürümü.

Bilginize:

Bu sabitleri kullanarak gerçeklenim bağımlısı betikler yazmanız kesinlikle önerilmez.

Aşağıdaki sabitler kullanılmaktadır:

Diğer iconv sabitleri
İsim | Tür | Açıklama
ICONV_MIME_DECODE_STRICT | int | iconv_mime_decode() için kullanılan bir bit maskesi
ICONV_MIME_DECODE_CONTINUE_ON_ERROR | int | iconv_mime_decode() için kullanılan bir bit maskesi


iconv İşlevleri

Ayrıca Bakınız

GNU Recode işlevleri.

İçindekiler

  • iconv_get_encoding — iconv eklentisinin dahili yapılandırma değişkenlerini döndürür
  • iconv_mime_decode_headers — Bir defada birden fazla MIME başlık alanını çözümler
  • iconv_mime_decode — Bir MIME başlık alanının kodunu çözer
  • iconv_mime_encode — Bir MIME başlık alanını tertipler
  • iconv_set_encoding — Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar
  • iconv_strlen — Dizgenin karakter sayısı ile döner
  • iconv_strpos — Samanlıktaki ilk iğneyi bulur
  • iconv_strrpos — Samanlıktakı son iğneyi bulur
  • iconv_substr — Bir dizgenin bir alt dizgesini döndürür
  • iconv — Dizgenin karakter kodlamasını dönüştürür
  • ob_iconv_handler — Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar


iconv eklentisinin dahili yapılandırma değişkenlerini döndürür

  • « iconv İşlevleri
  • iconv_mime_decode_headers »
  • PHP Manual
  • iconv İşlevleri
  • iconv eklentisinin dahili yapılandırma değişkenlerini döndürür

iconv_get_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv_get_encoding — iconv eklentisinin dahili yapılandırma değişkenlerini döndürür

Açıklama

iconv_get_encoding(string $tür = "all"): array|string|false

iconv eklentisinin dahili yapılandırma değişkenlerini döndürür.

Bağımsız Değişkenler

tür

Belirtilmesi isteğe bağlı olup şunlardan biri belirtilebilir:

  • Hepsi için all
  • Girdi karakter kodlaması için input_encoding
  • Çıktı karakter kodlaması için output_encoding
  • Dahili karakter kodlaması için internal_encoding

Dönen Değerler

Başarısızlık durumunda false aksi takdirde dahili yapılandırma değişkeninin değeri döner.

Eğer tür belirtilmezse veya "all" belirtilirse, iconv_get_encoding() bu değişkenleri içeren bir dizi ile döner.

Örnekler

Örnek 1 - iconv_get_encoding() örneği

<pre>
<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-1");
var_dump(iconv_get_encoding('all'));
?>
</pre>

Yukarıdaki örneğin çıktısı:

Array
(
    [input_encoding] => ISO-8859-1
    [output_encoding] => ISO-8859-1
    [internal_encoding] => UTF-8
)

Ayrıca Bakınız

  • iconv_set_encoding() - Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar
  • ob_iconv_handler() - Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar


Bir defada birden fazla MIME başlık alanını çözümler

  • « iconv_get_encoding
  • iconv_mime_decode »
  • PHP Manual
  • iconv İşlevleri
  • Bir defada birden fazla MIME başlık alanını çözümler

iconv_mime_decode_headers

(PHP 5, PHP 7, PHP 8)

iconv_mime_decode_headers — Bir defada birden fazla MIME başlık alanını çözümler

Açıklama

iconv_mime_decode_headers(string $kodlanmış_başlıklar, int $kip = 0, ?string $karküm = null): array|false

Çok sayıda MIME başlık alanını bir kerede çözümler.

Bağımsız Değişkenler

kodlanmış_başlıklar

Bir dizge olarak kodlanmış başlıklar.

kip

kip bağımsız değişkeni, işlev bozuk bir MIME başlık alanı saptadığı takdirde işlevin davranışını belirler. Aşağıdaki değerleri bir bit maskesi olarak belirtebilirsiniz:

iconv_mime_decode_headers() tarafından desteklenen bit maskeleri
Değer | Sabit | Açıklama
1 | ICONV_MIME_DECODE_STRICT | Belirtilirse, başlık, » RFC2047'de tanımlanan standartlarla tam uyumlu kodlanır. Bu seçenek öntanımlı olarak kapalıdır, çünkü belirtime uymayan ve doğru MIME başlıkları üretmeyen pek çok kullanıcı eposta istemcisi var.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Belirtilirse, iconv_mime_decode_headers() işlevi yazım hatalarını yoksayıp belirtilen başlığı işlemeye devam etmeye çalışır.

karküm

İsteğe bağlı karküm bağımsız değişkeni elde edilecek dizgenin karakter kümesini belirler. Belirtilmezse, dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olacağı varsayılır.

Dönen Değerler

kodlanmış_başlıklar dizgesi ile belirtilen kodlanmış MIME başlık alanlarını çözümleyip sonucu bir ilişkisel dizi olarak döndürür. Bu işlem sırasında bir hata oluşursa false döner.

Dönen dizideki her anahtar bir başlık alanına, her değer de anahtarla ilgili bir başlık değerine karşılıktır. Aynı isimde birden fazla alan varsa işlev bunları otomatik olarak göründükleri sırayla sayısal indisli bir diziye yerleştirir. Başlık isimlerinin harf büyüklüğüne duyarsız oldukları unutulmamalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık boş olabiliyor.

Örnekler

Örnek 1 - iconv_mime_decode_headers() örneği

<?php
$headers_string = <<<EOF
Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=
To: example@example.com
Date: Thu, 1 Jan 1970 00:00:00 +0000
Message-Id: <example@example.com>
Received: from localhost (localhost [127.0.0.1]) by localhost
with SMTP id example for <example@example.com>;
Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
(envelope-from example-return-0000-example=example.com@example.com)
Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000

EOF;

$headers = iconv_mime_decode_headers($headers_string, 0, "ISO-8859-1");
print_r($headers);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [Subject] => Prüfung Prüfung
    [To] => example@example.com
    [Date] => Thu, 1 Jan 1970 00:00:00 +0000
    [Message-Id] => <example@example.com>
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
        )

)

Ayrıca Bakınız

  • iconv_mime_decode() - Bir MIME başlık alanının kodunu çözer
  • mb_decode_mimeheader() - MIME başlık alanındaki dizgeyi dönüştürür
  • imap_mime_header_decode() - MIME başlık elemanlarının kodlamasını açar
  • imap_base64() - Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür
  • imap_qprint() - Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür


Bir MIME başlık alanının kodunu çözer

  • « iconv_mime_decode_headers
  • iconv_mime_encode »
  • PHP Manual
  • iconv İşlevleri
  • Bir MIME başlık alanının kodunu çözer

iconv_mime_decode

(PHP 5, PHP 7, PHP 8)

iconv_mime_decode — Bir MIME başlık alanının kodunu çözer

Açıklama

iconv_mime_decode(string $kodlanmış_başlık, int $kip = 0, ?string $karküm = null): string|false

Bir MIME başlık alanının kodunu çözer.

Bağımsız Değişkenler

kodlanmış_başlık

Bir dizge olarak kodlanmış başlık.

kip

kip bağımsız değişkeni, işlev bozuk bir MIME başlık alanı saptadığı takdirde işlevin davranışını belirler. Aşağıdaki değerleri bir bit maskesi olarak belirtebilirsiniz:

iconv_mime_decode() tarafından desteklenen bit maskeleri
Değer | Sabit | Açıklama
1 | ICONV_MIME_DECODE_STRICT | Belirtilirse, başlık, » RFC2047'de tanımlanan standartlarla tam uyumlu kodlanır. Bu seçenek öntanımlı olarak kapalıdır, çünkü belirtime uymayan ve doğru MIME başlıkları üretmeyen pek çok kullanıcı eposta istemcisi var.
2 | ICONV_MIME_DECODE_CONTINUE_ON_ERROR | Belirtilirse, iconv_mime_decode_headers() işlevi yazım hatalarını yoksayıp belirtilen başlığı işlemeye devam etmeye çalışır.

karküm

İsteğe bağlı karküm bağımsız değişkeni elde edilecek dizgenin karakter kümesini belirler. Belirtilmezse veya null belirtilirse dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olacağı varsayılır.

Dönen Değerler

Başarı durumunda kodu çözülmüş MIME alanı, aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık null olabiliyor.

Örnekler

Örnek 1 - iconv_mime_decode() örneği

<?php
// Sonuç: "Subject: Prüfung Prüfung"
echo iconv_mime_decode("Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?=",
0, "ISO-8859-1");
?>

Ayrıca Bakınız

  • iconv_mime_decode_headers() - Bir defada birden fazla MIME başlık alanını çözümler
  • mb_decode_mimeheader() - MIME başlık alanındaki dizgeyi dönüştürür
  • imap_mime_header_decode() - MIME başlık elemanlarının kodlamasını açar
  • imap_base64() - Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür
  • imap_qprint() - Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür


Bir MIME başlık alanını tertipler

  • « iconv_mime_decode
  • iconv_set_encoding »
  • PHP Manual
  • iconv İşlevleri
  • Bir MIME başlık alanını tertipler

iconv_mime_encode

(PHP 5, PHP 7, PHP 8)

iconv_mime_encode — Bir MIME başlık alanını tertipler

Açıklama

iconv_mime_encode(string $alan_adı, string $alan_değeri, array $seçenekler = []): string|false

Örnekteki gibi, geçerli bir MIME başlık alanını bir dizge olarak tertipleyip döndürür:

Subject: Re: PHP =?utf-8?q?=C3=87eviri?= Grubu
Bu örnekte, "Subject" alan ismi, "Re: PHP =?utf-8?..." ise alanın değeridir.

Bağımsız Değişkenler

alan_adı

Alan ismi.

alan_değeri

Alanın değeri.

seçenekler

İsteğe bağlı seçenekler bağımsız değişkeninde yapılandırma öğelerini içeren bir dizi belirterek iconv_mime_encode() işlevinin davranışını belirleyebilirsiniz. Desteklenen öğeler aşağıda listelenmiştir. Öğe isimlerinin harf büyüklüğüne duyarlı oluşuna dikkat ediniz.

iconv_mime_encode() tarafından desteklenen yapılandırma öğeleri
Öğe | Tür | Açıklama | Öntanımlı değer | Örnek
scheme | string | Alan değerinin kodlanmasında kullanılacak yöntemi belirler. Bu öğenin değeri "B" veya "Q" olabilir. "B" base64 kodlama şemasını, "Q" ise quoted-printable kodlama şemasını betimler. | B | B
input-charset | string | alan_adı ve alan_değeri bağımsız değişkenleri için girdi karakter kümesini belirler. Belirtilmezse, iconv.internal_encoding INI yönergesinin değerinin kullanılacağı varsayılır. | iconv.internal_encoding | ISO-8859-1
output-charset | string | MIME başlığını tertiplemekte kullanılacak karakter kümesini belirler. | iconv.internal_encoding | UTF-8
line-length | integer | Başlık satırının azami uzunluğunu belirler. » RFC2822 - Genel Ağ İleti Biçemi belirtimine göre, bu değerden daha uzun bir başlık alanı satırı, en uzunu bu kadar baytlık satırlar halinde katlanır. Belirtilmezse, satır uzunluğu 76 karakterle sınırlanır. | 76 | 996
line-break-chars | string | Uzun başlık alanlarına satır katlama uygulandığında satır sonlarına eklenecek dizgeyi belirler. Belirtilmezse, "\r\n" (CR LF) öntanımlıdır. Bu öğenin input-charset değerinden bağımsız olarak daima bir ASCII dizge olarak ele alınacağına dikkat ediniz. | \r\n | \n

Dönen Değerler

Başarı durumunda kodlanmış MIME alanı, aksi takdirde false döner.

Örnekler

Örnek 1 - iconv_mime_encode() örneği

<?php
$preferences = array(
"input-charset" => "ISO-8859-1",
"output-charset" => "UTF-8",
"line-length" => 76,
"line-break-chars" => "\n"
);
$preferences["scheme"] = "Q";
// Sonucu: "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

$preferences["scheme"] = "B";
// Sonucu: "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
?>

Ayrıca Bakınız

  • imap_binary() - 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür
  • mb_encode_mimeheader() - Dizgeyi MIME başlığı için kodlar
  • imap_8bit() - 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür
  • quoted_printable_encode() - 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür


Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar

  • « iconv_mime_encode
  • iconv_strlen »
  • PHP Manual
  • iconv İşlevleri
  • Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar

iconv_set_encoding

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv_set_encoding — Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar

Açıklama

iconv_set_encoding(string $türü, string $karküm): bool

türü belirtilen dahili yapılandırma yönergesine değer olarak karküm atar.

Bağımsız Değişkenler

türü

Bir dizge olarak şunlardan biri olabilir:

  • input_encoding
  • output_encoding
  • internal_encoding

karküm

Karakter kümesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - iconv_set_encoding() örneği

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-9");
?>

Ayrıca Bakınız

  • iconv_get_encoding() - iconv eklentisinin dahili yapılandırma değişkenlerini döndürür
  • ob_iconv_handler() - Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar


Dizgenin karakter sayısı ile döner

  • « iconv_set_encoding
  • iconv_strpos »
  • PHP Manual
  • iconv İşlevleri
  • Dizgenin karakter sayısı ile döner

iconv_strlen

(PHP 5, PHP 7, PHP 8)

iconv_strlen — Dizgenin karakter sayısı ile döner

Açıklama

iconv_strlen(string $dizge, ?string $karküm = null): int|false

Taydaşı olan strlen() işlevinden farklı olarak bayt değil karakter sayar. Karakterler karküm ile belirlenen karakter kümesine göre değerlendirilirler.

Bağımsız Değişkenler

dizge

Karakter sayısı hesaplanacak dizge.

karküm

Eğer karküm belirtilmezse veya null ise, dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olduğu varsayılır.

Dönen Değerler

dizge dizgesinin karakter sayısını bir tamsayı olarak döndürür. Hata oluşmuşsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık null olabiliyor.

Ayrıca Bakınız

  • grapheme_strlen() - Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
  • mb_strlen() - Dizge uzunluğu ile döner
  • strlen() - Dizge uzunluğunu döndürür


Samanlıktaki ilk iğneyi bulur

  • « iconv_strlen
  • iconv_strrpos »
  • PHP Manual
  • iconv İşlevleri
  • Samanlıktaki ilk iğneyi bulur

iconv_strpos

(PHP 5, PHP 7, PHP 8)

iconv_strpos — Samanlıktaki ilk iğneyi bulur

Açıklama

iconv_strpos(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?string $encoding = null
): int|false

Samanlık içindeki ilk iğnenin yerini bulur.

Benzeri olan strpos() işlevinden farklı olarak, ilk iğnenin başlangıcına kadar bayt sayısını değil karakter sayısını döndürür. Karakterler karküm ile belirlenen karakter kümesine göre karakter olarak sayılır.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

iğne

Aranacak alt dizge.

başlangıç

Aramanın başlatılacağı konum (seçimlik). Negatifse dizgenin sonundan itibaren sayılır.

karküm

Eğer karküm belirtilmezse veya null ise, dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olduğu varsayılır.

Eğer samanlık veya iğne birer dizge değilse bir dizgeye dönüştürülür ve değeri kendisi olan bir sabit gibi ele alınır.

Dönen Değerler

İlk iğne'nin samanlık içinde bulunduğu yerin indisi ile döner.

Eğer samanlık içinde iğne yoksa false döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık null olabiliyor.
7.1.0 | başlangıç negatif olabiliyor.

Ayrıca Bakınız

  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • iconv_strrpos() - Samanlıktakı son iğneyi bulur
  • mb_strpos() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür


Samanlıktakı son iğneyi bulur

  • « iconv_strpos
  • iconv_substr »
  • PHP Manual
  • iconv İşlevleri
  • Samanlıktakı son iğneyi bulur

iconv_strrpos

(PHP 5, PHP 7, PHP 8)

iconv_strrpos — Samanlıktakı son iğneyi bulur

Açıklama

iconv_strrpos(string $samanlık, string $iğne, ?string $karküm = null): int|false

Benzeri olan strrpos() işlevinden farklı olarak, "sonuncu" iğnenin başlangıcına kadar bayt sayısını değil "karakter sayısını" döndürür. Karakterler karküm ile belirlenen karakter kümesine göre karakter olarak sayılır.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

iğne

Aranacak alt dizge.

karküm

Eğer karküm belirtilmezse veya null ise, dizgenin karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olduğu varsayılır.

Eğer samanlık veya iğne birer dizge değilse bir dizgeye dönüştürülür ve değeri kendisi olan bir sabit gibi ele alınır.

Dönen Değerler

Sonuncu iğne'nin samanlık içinde bulunduğu yerin indisi ile döner.

Eğer samanlık içinde iğne yoksa false döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık null olabiliyor.

Ayrıca Bakınız

  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • iconv_strpos() - Samanlıktaki ilk iğneyi bulur
  • mb_strrpos() - Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür


Bir dizgenin bir alt dizgesini döndürür

  • « iconv_strrpos
  • iconv »
  • PHP Manual
  • iconv İşlevleri
  • Bir dizgenin bir alt dizgesini döndürür

iconv_substr

(PHP 5, PHP 7, PHP 8)

iconv_substr — Bir dizgenin bir alt dizgesini döndürür

Açıklama

iconv_substr(
string $dizge,
int $başlangıç,
?int $uzunluk = null,
?string $karküm = null
): string|false

dizge dizgesinden başlangıç konumu başlangıç ile belirtilen karakterden başlayan uzunluk karakterlik bir dizge döndürür.

Bağımsız Değişkenler

dizge

Özgün dizge.

başlangıç

başlangıç negatif bir değer değilse, çıkarılacak alt dizgenin başlangıç karakteri, özgün dizgenin ilk karakteri 0 olmak üzere başlangıç'ıncı karakter olur.

başlangıç negatif bir değer ise, çıkarılacak alt dizgenin ilk karakteri sondan sayılarak bulunur.

uzunluk

uzunluk pozitif bir değerse, dönen dizge en fazla uzunluk karakter içerir (özgün dizgenin uzunluğuna bağlı olarak).

uzunluk negatif bir değerse, özgün dizgenin başından itibaren başlangıçıncı karakterden başlayıp, özgün dizgenin sondan itibaren uzunluk'uncu karakterinde biten alt dizge döndürülür. başlangıç da negatifse, her iki değerin pozitif olduğu durumda uygulanan işlem bu kez özgün dizgenin sonundan başlanarak uygulanır.

karküm

karküm belirtilmezse veya null ise, dizge karakter kodlamasının iconv.internal_encoding yönergesinde belirtilen kodlama olduğu varsayılır.

başlangıç ve uzunluk bağımsız değişkenlerinde sayılanlar bayt değil dizgenin karakter kümesine göre birer karakterdir. İşlevin benzeri olan subrstr() işlevinde baytlar sayılır.

Dönen Değerler

Belirtilen dizge dizgesinin başlangıç ve uzunluk ile belirtilen parçasını döndürür.

Eğer dizge uzunluğu, başlangıç değerinden küçükse false, eşitse boş dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm artık null olabiliyor.
7.0.11 | dizge eğer başlangıç karakter uzunluktaysa boş dizge döner, evvelce false dönerdi.

Ayrıca Bakınız

  • substr() - Dizgenin bir kısmını döndürür
  • mb_substr() - Dizgenin bir alt dizgesini alır
  • mb_strcut() - Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner


Dizgenin karakter kodlamasını dönüştürür

  • « iconv_substr
  • ob_iconv_handler »
  • PHP Manual
  • iconv İşlevleri
  • Dizgenin karakter kodlamasını dönüştürür

iconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

iconv — Dizgenin karakter kodlamasını dönüştürür

Açıklama

iconv(string $kodlamadan, string $kodlamaya, string $dizge): string|false

dizge dizgesinin karakter kodlamasını kodlamadan kodlamaya dönüştürür.

Bağımsız Değişkenler

kodlamadan

dizgenin geçerli karakter kodlaması.

kodlamaya

dizgenin dönüştürüleceği karakter kodlaması.

Çıktı karakter kümesinin sonuna //TRANSLIT dizgesini eklerseniz, bu karakter kümesinde gösterilemeyen bir karaktere rastlanırsa bu karakterin yerine görünüş bakımından benzer bir karakter yerleştirilir. //IGNORE dizgesini eklerseniz, çıktı kararakter kümesinde gösterilemeyen bir karakter saptandığında karakter yoksayılır. Aksi takdirde bir E_NOTICE üretilir ve işlev false döndürür.

Dikkat

//TRANSLIT ekinin davranışı sistemin iconv gerçeklenimine bağlıdır (bkz. ICONV_IMPL). Bazı gerçeklenimler //TRANSLIT ekini yoksayar, dolayısıyla kodlamaya karakter kümesi için geçersiz karakterlerde başarısız olur.

dizge

Dönüştürülecek dizge.

Dönen Değerler

Dönüşüm başarılı olursa dönüştürülen dizge, aksi takdirde false döner.

Örnekler

Örnek 1 - iconv() örneği

<?php
$text = "Bu bir Euro simgesidir: '€'.";

echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Original : Bu bir Euro simgesidir: '€'.
TRANSLIT : Bu bir Euro simgesidir: 'EUR'.
IGNORE   : Bu bir Euro simgesidir: ''.
Plain    :
Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7

Notlar

Bilginize:

Kullanılabilecek karakter kodlamaları ve seçenekler, iconv'nin kurulu gerçeklenimine bağlıdır. kodlamadan veya kodlamaya kodlamaları sistem tarafından desteklenmiyorsa, false döner.

Ayrıca Bakınız

  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • UConverter::transcode() - Convert a string from one character encoding to another


Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar

  • « iconv
  • Intl »
  • PHP Manual
  • iconv İşlevleri
  • Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar

ob_iconv_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ob_iconv_handler — Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar

Açıklama

ob_iconv_handler(string $içerik, int $durum): string

Dizgenin karakter kodlamasını dahili kodlamadan (internal_encoding) çıktı kodlamasına (output_encoding) dönüştürür.

internal_encoding ve output_encoding ya php.ini dosyasında ya da iconv_set_encoding() işleviyle tanımlanmalıdır.

Bağımsız Değişkenler

Bu bağımsız değişkenler için ob_start() işlevine bakınız.

Dönen Değerler

Dönüş değerleri için ob_start() işlevine bakınız.

Örnekler

Örnek 1 - ob_iconv_handler() örneği

<?php
iconv_set_encoding("internal_encoding", "UTF-8");
iconv_set_encoding("output_encoding", "ISO-8859-9");
ob_start("ob_iconv_handler"); // çıktı tamponlamayı başlat
?>

Ayrıca Bakınız

  • iconv_get_encoding() - iconv eklentisinin dahili yapılandırma değişkenlerini döndürür
  • iconv_set_encoding() - Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar
  • Çıktı Denetim İşlevleri


Uluslararasılaştırma İşlevleri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Bu eklentinin temel kullanımı
  • Karşılaştırıcı — Collator sınıfı
    • Collator::asort — Diziyi indislerin arasındaki ilişkilere göre sıralar
    • Collator::compare — İki Evrenkodlu dizgeyi karşılaştırır
    • Collator::__construct — Bir karşılaştırıcı oluşturur
    • Collator::create — Bir karşılaştırıcı oluşturur
    • Collator::getAttribute — Karşılaştırma özniteliğinin değerini döndürür
    • Collator::getErrorCode — Karşılaştırıcının son hata kodunu döndürür
    • Collator::getErrorMessage — Karşılaştırıcının son hata iletisini döndürür
    • Collator::getLocale — Karşılaştırıcının yerel ismini döndürür
    • Collator::getSortKey — Get sorting key for a string
    • Collator::getStrength — Geçerli karşılaştırma seviyesini döndürür
    • Collator::setAttribute — Karşılaştırma özniteliği tanımlar
    • Collator::setStrength — Sıralamanın seviyesini ayarlar
    • Collator::sortWithSortKeys — Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar
    • Collator::sort — Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar
  • Sayı Biçemleyici — NumberFormatter sınıfı
    • NumberFormatter::create — Bir sayı biçemleyici oluşturur
    • NumberFormatter::formatCurrency — Bir para değerini biçemler
    • NumberFormatter::format — Bir sayıyı biçemler
    • NumberFormatter::getAttribute — Bir sayısal öznitelikle döner
    • NumberFormatter::getErrorCode — Biçemleyicinin son hata numarası ile döner
    • NumberFormatter::getErrorMessage — Biçemleyicinin son hata iletisini döndürür
    • NumberFormatter::getLocale — Biçemleyici yerelin ismi ile döner
    • NumberFormatter::getPattern — Biçemleyici tarafından kullanılan kalıp dizgesi ile döner
    • NumberFormatter::getSymbol — Simge değeri ile döner
    • NumberFormatter::getTextAttribute — Bir metin öznitelik ile döner
    • NumberFormatter::parseCurrency — Bir para gösteriminin sayısal değeri ile döner
    • NumberFormatter::parse — Bir sayı dizgesini sayıya dönüştürür
    • NumberFormatter::setAttribute — Bir öznitelik tanımlar
    • NumberFormatter::setPattern — Biçemleyici kalıbı tanımlar
    • NumberFormatter::setSymbol — Bir simge değeri tanımlar
    • NumberFormatter::setTextAttribute — Bir metin öznitelik tanımlar
  • Yerel — Locale sınıfı
    • Locale::acceptFromHttp — HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır
    • Locale::canonicalize — Canonicalize the locale string
    • Locale::composeLocale — Doğru sıralanmış yerel ile döner
    • Locale::filterMatches — Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar
    • Locale::getAllVariants — Girdi yerelindeki tüm lehçeleri döndürür
    • Locale::getDefault — Öntanımlı yerel değerini döndürür
    • Locale::getDisplayLanguage — Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
    • Locale::getDisplayName — Girdi yerelinin yerelleştirilmiş ismini döndürür
    • Locale::getDisplayRegion — Girdi yereli için yerelleştirilmiş ülke ismini döndürür
    • Locale::getDisplayScript — Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
    • Locale::getDisplayVariant — Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür
    • Locale::getKeywords — Girdi yerelindeki anahtar sözcükleri döndürür
    • Locale::getPrimaryLanguage — Girdi yerelinden anadil kodunu döndürür
    • Locale::getRegion — Girdi yerelinden ülke kodunu döndürür
    • Locale::getScript — Girdi yereli için yazı yaftasını döndürür
    • Locale::lookup — En iyi eşleşen dili bulmak için dil yaftası listesini araştırır
    • Locale::parseLocale — Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür
    • Locale::setDefault — Öntanımlı çalışma anı yerelini tanımlar
  • Normalleştirici — Normalizer sınıfı
    • Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
    • Normalizer::isNormalized — Belirtilen dizge normalleştirilmiş mi diye bakar
    • Normalizer::normalize — Belirtilen girdiyi normalleştirir ve dizge olarak döndürür
  • İleti Biçemleyici — MessageFormatter sınıfı
    • MessageFormatter::create — Yeni bir ileti biçemleyici nesne oluşturur
    • MessageFormatter::formatMessage — İletiyi çabuk biçemler
    • MessageFormatter::format — İleti biçemler
    • MessageFormatter::getErrorCode — Son işlemin hata kodunu döndürür
    • MessageFormatter::getErrorMessage — Son işlemin hata iletisini döndürür
    • MessageFormatter::getLocale — Biçemleyicinin oluşturulduğu yereli döndürür
    • MessageFormatter::getPattern — Biçemleyici tarafından kullanılan kalıbı döndürür
    • MessageFormatter::parseMessage — Girdi dizgesini hızla çözümler
    • MessageFormatter::parse — Girdi dizgesini kalıba uygun olarak çözümler
    • MessageFormatter::setPattern — Biçemleyici tarafından kullanılacak kalıbı tanımlar
  • IntlCalendar — The IntlCalendar class
    • IntlCalendar::add — Add a (signed) amount of time to a field
    • IntlCalendar::after — Whether this object's time is after that of the passed object
    • IntlCalendar::before — Whether this object's time is before that of the passed object
    • IntlCalendar::clear — Clear a field or all fields
    • IntlCalendar::__construct — Private constructor for disallowing instantiation
    • IntlCalendar::createInstance — Create a new IntlCalendar
    • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get — Get the value for a field
    • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode — Get last error code on the object
    • IntlCalendar::getErrorMessage — Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
    • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
    • IntlCalendar::getLocale — Get the locale associated with the object
    • IntlCalendar::getMaximum — Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum — Get the global minimum value for a field
    • IntlCalendar::getNow — Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
    • IntlCalendar::getTime — Get time currently represented by the object
    • IntlCalendar::getTimeZone — Get the object's timezone
    • IntlCalendar::getType — Get the calendar type
    • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet — Whether a field is set
    • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
    • IntlCalendar::roll — Add value to field without carrying into more significant fields
    • IntlCalendar::set — Set a time field or several common fields at once
    • IntlCalendar::setDate — Set a date fields
    • IntlCalendar::setDateTime — Set a date and time fields
    • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
    • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone — Set the timezone used by this calendar
    • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object
  • IntlGregorianCalendar — The IntlGregorianCalendar class
    • IntlGregorianCalendar::__construct — Create the Gregorian Calendar class
    • IntlGregorianCalendar::createFromDate — Create a new IntlGregorianCalendar instance from date
    • IntlGregorianCalendar::createFromDateTime — Create a new IntlGregorianCalendar instance from date and time
    • IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date
    • IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year
    • IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date
  • IntlTimeZone — The IntlTimeZone class
    • IntlTimeZone::__construct — Private constructor to disallow direct instantiation
    • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
    • IntlTimeZone::createTimeZoneIDEnumeration — Get an enumeration over system time zone IDs with the given filter conditions
    • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode — Get last error code on the object
    • IntlTimeZone::getErrorMessage — Get last error message on the object
    • IntlTimeZone::getGMT — Create GMT (UTC) timezone
    • IntlTimeZone::getID — Get timezone ID
    • IntlTimeZone::getIDForWindowsID — Translate a Windows timezone into a system timezone
    • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getRegion — Get the region code associated with the given system time zone ID
    • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
    • IntlTimeZone::getUnknown — Get the "unknown" time zone
    • IntlTimeZone::getWindowsID — Translate a system timezone into a Windows timezone
    • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time
  • Tarih Biçemleyici — IntlDateFormatter sınıfı
    • IntlDateFormatter::create — Bir tarih biçemleyici oluşturur
    • IntlDateFormatter::format — Tarih/saat değerini bir dizge olarak biçemler
    • IntlDateFormatter::formatObject — Formats an object
    • IntlDateFormatter::getCalendar — IntlDateFormatter tarafından kullanılan takvim türünü döndürür
    • IntlDateFormatter::getDateType — IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür
    • IntlDateFormatter::getErrorCode — Son işlemin hata kodunu döndürür
    • IntlDateFormatter::getErrorMessage — Son işlemin hata iletisini döndürür
    • IntlDateFormatter::getLocale — Biçemleyicinin kullandığı yereli döndürür
    • IntlDateFormatter::getPattern — IntlDateFormatter tarafından kullanılan kalıbı döndürür
    • IntlDateFormatter::getTimeType — IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür
    • IntlDateFormatter::getTimeZoneId — IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür
    • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
    • IntlDateFormatter::getTimeZone — Get formatter's timezone
    • IntlDateFormatter::isLenient — IntlDateFormatter esnek çözümleme mi yapıyor diye bakar
    • IntlDateFormatter::localtime — Tarih dizgesini alanlarına çözümler
    • IntlDateFormatter::parse — Dizgeyi bir zaman damgası değerine dönüştürür
    • IntlDateFormatter::setCalendar — Kullanılacak takvimi tanımlar
    • IntlDateFormatter::setLenient — Çözümleyiciye esneklik verir
    • IntlDateFormatter::setPattern — IntlDateFormatter tarafından kullanılan kalıbı tanımlar
    • IntlDateFormatter::setTimeZone — Sets formatter's timezone
  • ResourceBundle — The ResourceBundle class
    • ResourceBundle::count — Get number of elements in the bundle
    • ResourceBundle::create — Create a resource bundle
    • ResourceBundle::getErrorCode — Get bundle's last error code
    • ResourceBundle::getErrorMessage — Get bundle's last error message
    • ResourceBundle::get — Get data from the bundle
    • ResourceBundle::getLocales — Get supported locales
  • Spoofchecker — The Spoofchecker class
    • Spoofchecker::areConfusable — Checks if given strings can be confused
    • Spoofchecker::__construct — Constructor
    • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales — Locales to use when running checks
    • Spoofchecker::setChecks — Set the checks to run
    • Spoofchecker::setRestrictionLevel — Set the restriction level
  • Transliterator — The Transliterator class
    • Transliterator::__construct — Private constructor to deny instantiation
    • Transliterator::create — Create a transliterator
    • Transliterator::createFromRules — Create transliterator from rules
    • Transliterator::createInverse — Create an inverse transliterator
    • Transliterator::getErrorCode — Get last error code
    • Transliterator::getErrorMessage — Get last error message
    • Transliterator::listIDs — Get transliterator IDs
    • Transliterator::transliterate — Transliterate a string
  • IntlBreakIterator — The IntlBreakIterator class
    • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
    • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
    • IntlBreakIterator::current — Get index of current position
    • IntlBreakIterator::first — Set position to the first character in the text
    • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode — Get last error code on the object
    • IntlBreakIterator::getErrorMessage — Get last error message on the object
    • IntlBreakIterator::getLocale — Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText — Get the text being scanned
    • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last — Set the iterator position to index beyond the last character
    • IntlBreakIterator::next — Advance the iterator the next boundary
    • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText — Set the text being scanned
  • IntlRuleBasedBreakIterator — The IntlRuleBasedBreakIterator class
    • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
    • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position
  • IntlCodePointBreakIterator — The IntlCodePointBreakIterator class
    • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator
  • IntlDatePatternGenerator — The IntlDatePatternGenerator class
    • IntlDatePatternGenerator::create — Creates a new IntlDatePatternGenerator instance
    • IntlDatePatternGenerator::getBestPattern — Determines the most suitable date/time format
  • IntlPartsIterator — The IntlPartsIterator class
    • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator
  • UConverter — The UConverter class
    • UConverter::__construct — Create UConverter object
    • UConverter::convert — Convert string from one charset to another
    • UConverter::fromUCallback — Default "from" callback function
    • UConverter::getAliases — Get the aliases of the given name
    • UConverter::getAvailable — Get the available canonical converter names
    • UConverter::getDestinationEncoding — Get the destination encoding
    • UConverter::getDestinationType — Get the destination converter type
    • UConverter::getErrorCode — Get last error code on the object
    • UConverter::getErrorMessage — Get last error message on the object
    • UConverter::getSourceEncoding — Get the source encoding
    • UConverter::getSourceType — Get the source converter type
    • UConverter::getStandards — Get standards associated to converter names
    • UConverter::getSubstChars — Get substitution chars
    • UConverter::reasonText — Get string representation of the callback reason
    • UConverter::setDestinationEncoding — Set the destination encoding
    • UConverter::setSourceEncoding — Set the source encoding
    • UConverter::setSubstChars — Set the substitution chars
    • UConverter::toUCallback — Default "to" callback function
    • UConverter::transcode — Convert a string from one character encoding to another
  • Grapheme (Sesletim Kümeleri) İşlevleri
    • grapheme_extract — UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür
    • grapheme_stripos — Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
    • grapheme_stristr — Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
    • grapheme_strlen — Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
    • grapheme_strpos — Bir dizgede ilk sesletim biriminin yerini bulur
    • grapheme_strripos — Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
    • grapheme_strrpos — Bir dizgedeki sonuncu sesletim biriminin yerini bulur
    • grapheme_strstr — Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
    • grapheme_substr — Bir alt dizge döndürür
  • IDN İşlevleri
    • idn_to_ascii — Alan adını IDNA ASCII biçimine dönüştürür
    • idn_to_utf8 — Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür
  • IntlChar
    • IntlChar::charAge — Get the "age" of the code point
    • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection — Get bidirectional category value for a code point
    • IntlChar::charFromName — Find Unicode character by name and return its code point value
    • IntlChar::charMirror — Get the "mirror-image" character for a code point
    • IntlChar::charName — Retrieve the name of a Unicode character
    • IntlChar::charType — Get the general category value for a code point
    • IntlChar::chr — Return Unicode character by code point value
    • IntlChar::digit — Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase — Perform case folding on a code point
    • IntlChar::forDigit — Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
    • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass — Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum — Get the property constant value for a given property name
    • IntlChar::getPropertyName — Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum — Get the property value for a given value name
    • IntlChar::getPropertyValueName — Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion — Get the Unicode version
    • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
    • IntlChar::isalnum — Check if code point is an alphanumeric character
    • IntlChar::isalpha — Check if code point is a letter character
    • IntlChar::isbase — Check if code point is a base character
    • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl — Check if code point is a control character
    • IntlChar::isdefined — Check whether the code point is defined
    • IntlChar::isdigit — Check if code point is a digit character
    • IntlChar::isgraph — Check if code point is a graphic character
    • IntlChar::isIDIgnorable — Check if code point is an ignorable character
    • IntlChar::isIDPart — Check if code point is permissible in an identifier
    • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl — Check if code point is an ISO control code
    • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
    • IntlChar::islower — Check if code point is a lowercase letter
    • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint — Check if code point is a printable character
    • IntlChar::ispunct — Check if code point is punctuation character
    • IntlChar::isspace — Check if code point is a space character
    • IntlChar::istitle — Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
    • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit — Check if code point is a hexadecimal digit
    • IntlChar::ord — Return Unicode code point value of character
    • IntlChar::tolower — Make Unicode character lowercase
    • IntlChar::totitle — Make Unicode character titlecase
    • IntlChar::toupper — Make Unicode character uppercase
  • IntlException — Exception class for intl errors
  • IntlIterator — The IntlIterator class
    • IntlIterator::current — Get the current element
    • IntlIterator::key — Get the current key
    • IntlIterator::next — Move forward to the next element
    • IntlIterator::rewind — Rewind the iterator to the first element
    • IntlIterator::valid — Check if current position is valid
  • intl İşlevleri
    • intl_error_name — Belirtilen hata kodunun simgesel ismini döndürür
    • intl_get_error_code — Son hatanın kodunu döndürür
    • intl_get_error_message — Son hatayı açıklayan bir dizge ile döner
    • intl_is_failure — Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Giriş

Uluslararasılaştırma uzantısı (bundan sonra Intl olarak anılacaktır) » ICU kitaplığı için bir sarmalayıcı olup PHP programcılarının biçimlendirme, harf dönüşümü, kodlama dönüşümü, takvim işlemleri, » UCA uyumlu karşılaştırma, metin bulma, yerel ayar tanımlayıcıları, zaman dilimleri ve sesletim kümeleri ile çalışma dahil ancak bunlarla sınırlı olmamak üzere çeşitli yerel ayara duyarlı işlemlerin gerçekleştirmesini sağlar.

ICU API'leri yakından izlendiğinden C/C++ veya Java'da ICU ile çalışma deneyimi olan kişiler PHP API'sini de kolayca kullanabilir. Ayrıca ICU belgeleri de çeşitli ICU işlevlerini anlamaya yardımcı olacaktır.

Eklenti çeşitli modüllerden oluşur ve her biri ICU'nun belli bir API'si ile ilgilidir:

  • Karşılaştırıcı: Yerele duyarlı sıralama destekli dizge karşılaştırma yeteneği sağlar.
  • Sayı Biçemleyici: Sayıların yerelleştirilmiş biçeme veya belirtilen şablona ya da belli bir kural kümesine uygun olarak gösterilmesini ve dizgelerin sayılara çözümlenmesini mümkün kılar.
  • İleti Biçemleyici: Yerel kurallara ve belirtilen şablona göre biçemlenmiş verileri (sayılar, tarihler gibi) birleştirerek iletilerin oluşturulmasını ve içinden verileri çıkararak iletilerin çözümlenmesini mümkün kılar. Çoğulları, yerele göre sayıları, para birimlerini, kuralları ve çok daha fazlasını işleyebilir.
  • Normalleştirici: Metni Evrenkod normalleştirme biçimlerinden birine dönüştürecek bir işlev ve normalleştirilmiş bir dizgeyi sınayacak bir yordam sağlar.
  • Yerel: Yerel betimleyicilerden alt etiketleri almak için, yerel betimleyicilerle işlevler biçiminde etkileşim kurar; yerel betimleyicileri çözümler, birleştirir ve eşleştirir (sorgular ve süzer).
  • Takvim: Yerele duyarlı takvim işlemleri için kullanılabilecek ve seçilen yerel için saat dilimi, haftanın ilk günü veya şimdi yaz saati uygulaması olup olmadığı gibi çeşitli bilgileri almak için kullanılabilecek bir sınıf sağlar.
  • Zaman Dilimi: Dünyadaki tüm zaman dilimleri hakkında bilgi içeren » Zaman Dilimi Veritabanına bir sarmalayıcı sağlar.
  • . Tarih Biçemleyici: Yerelleştirilmiş biçime veya verilen kalıba ya da kural kümesine göre tarih ve saati görüntülemeyi, dizeleri tarih ve saate ayrıştırmayı sağlar
  • Abece dönüştürücü: Çeşitli dillerdeki dizelerin latin gösterimlerinin elde edilmesini sağlar.

Kaynakça

  • » Çeşitli ICU belgeleri

  • » ICU Kullanıcı Kılavuzu

  • » Evrenkod Karşılaştırma Algoritması


Gereksinimler

Bu eklentiyi derlemek için » ICU kütüphanesinin 4.0.0 veya üstü sürümünü kurmalısınız. PHP 7.4.0 itibariyle ICU 50.1 veya üstü gerekir.


Kurulum

--enable-intl seçeneğini kullanarak PHP paketiyle gelen sürümü derlemek mümkündür.

ICU'yu standart dizinlerden birine kurmadıysanız dinamik ilintileyicinin (ld) kütüphaneyi bulabilmesi için kurduğunuz yeri LD_LIBRARY_PATH ortam değişkeninde belirtmelisiniz:

$ export LD_LIBRARY_PATH=/opt/icu/lib

Aksi takdirde, PHP ve ICU kendi öntanımlı dizinlerine kurulmuşsa paketi yapılandırmak için configure betiğine ek seçenekler gerekmez.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Intl Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | PECL 3.0.0a1 ve sonrasında kullanılabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

intl.default_locale string

Hiçbir şey belirtilmediğinde (karşılık gelen bağımsız değişkeni atlayarak veya NULL belirterek) intl işlevlerinde kullanılacak yerel. Bunlar ICU yerelleridir, sistem yerelleri değildir. Yerleşik ICU yerelleri ve bunları verileri » http://demo.icu-project.org/icu-bin/locexp adresinde bulunabilir.

ICU öntanımlı yerelinin kullanımına zorlamak için öntanımlı değer boştur. Bir kez değiştirildikten sonra bu ini ayarı tekrar öntanımlı değere döndürülemez. Etkin değer sunucunun ortamına bağlı olduğundan, bu öntanımlı ayara güvenilmemelidir.

intl.error_level int

ICU işlevlerinde bir hata oluştuğunda üretilen hata iletilerinin seviyesi. Bu, E_WARNING gibi bir PHP hata seviyesidir. Hata iletilerini engellemek için 0 atanabilir. Bu, hatayı gösteren dönüş değerlerini veya intl_get_error_code() tarafından döndürülen değerleri veya hata kodlarını ve iletilerini almak için kullanılan sınıfa özgü yöntemleri etkilemez.

Öntanımlı değer: 0.

intl.use_exceptions int

True atanırsa, bir intl işlevinde hata oluştuğunda intl.error_level ile üretilen hata iletisine ek olarak IntlException türünde bir istisna yavrulanır.

Öntanımlı değer: false


Öntanımlı Sabitler

INTL_ICU_VERSION (string)
Noktalı ondalık gösterimle geçerli UCU kütüphanesi sürümü.
INTL_MAX_LOCALE_LEN (int)
PHP kodunda yerel uzunluğunu 80 olarak sınırlar. Bundan daha uzun yerel isimleri kabul edilmez.
IDNA_DEFAULT (int)
IDN işlevleri için girdideki tanımsız kodların işleme sokulması engellenir ve girdinin alan adlarıyla ilgili ASCII kurallarına uygunluğu sınanmaz.
IDNA_ALLOW_UNASSIGNED (int)
IDN işlevleri için girdideki tanımsız kodların işleme sokulmasına izin verilir.
IDNA_USE_STD3_RULES (int)
Girdinin alan adlarıyla ilgili ASCII kurallarına uygunluğu sınanır.
IDNA_CHECK_BIDI (int)
Girdinin BiDi kurallarıyla uyumlu olup olmadığı sınanır. Bu sınamayı zaten yapan IDNA2003 gerçekleniminde yoksayılır.
IDNA_CHECK_CONTEXTJ (int)
Girdinin CONTEXTJ kurallarıyla uyumlu olup olmadığı sınanır. Bu sınama IDNA2008 için yeni olup IDNA2003 gerçekleniminde yoksayılır.
IDNA_NONTRANSITIONAL_TO_ASCII (int)
idn_to_ascii() işlevinde geçişsiz işlem için bir seçenek. Geçişli işlem öntanımlı olarak etkindir. Bu seçenek IDNA2003 gerçekleniminde yoksayılır.
IDNA_NONTRANSITIONAL_TO_UNICODE (int)
idn_to_utf8() işlevinde geçişsiz işlem için bir seçenek. Geçişli işlem öntanımlı olarak etkindir. Bu seçenek IDNA2003 gerçekleniminde yoksayılır.
INTL_IDNA_VARIANT_2003 (int)
idn_to_utf8() ve idn_to_ascii() işlevinde IDNA 2003 algoritması kullanılır. Bu öntanımlıdır. Bu sabit ve öntanımlılığın PHP 7.2.0 itibariyle kullanımı önerilmemektedir.
INTL_IDNA_VARIANT_UTS46 (int)
idn_to_utf8() ve idn_to_ascii() işlevinde UTS #46 algoritması kullanılır. ICU 4.6 ve sonrasında kullanılabilir.
IDNA_ERROR_EMPTY_LABEL (int)
IDNA_ERROR_LABEL_TOO_LONG (int)
IDNA_ERROR_DOMAIN_NAME_TOO_LONG (int)
IDNA_ERROR_LEADING_HYPHEN (int)
IDNA_ERROR_TRAILING_HYPHEN (int)
IDNA_ERROR_HYPHEN_3_4 (int)
IDNA_ERROR_LEADING_COMBINING_MARK (int)
IDNA_ERROR_DISALLOWED (int)
IDNA_ERROR_PUNYCODE (int)
IDNA_ERROR_LABEL_HAS_DOT (int)
IDNA_ERROR_INVALID_ACE_LABEL (int)
IDNA_ERROR_BIDI (int)
IDNA_ERROR_CONTEXTJ (int)
idn_to_utf8() ve idn_to_ascii() işlevinden UTS #46 algoritmasınca döndürülen bir bit kümesiyle bildirilen hatalar.


  • « Öntanımlı Sabitler
  • Bu eklentinin temel kullanımı »
  • PHP Manual
  • Intl
  • Örnekler

Örnekler

İçindekiler

  • Bu eklentinin temel kullanımı


Bu eklentinin temel kullanımı

Her modül iki çeşit API içerir: Yordamsal ve nesne yönelimli. Bunlar, ilgili belgelerde de açıklandığı gibi birbirlerine eşdeğerdir.

Bilginize:

Tüm girdi dizgeleri UTF-8 olmak zorundadır. Tüm çıktılar da ayrıca UTF-8'dir.

Örnek 1 - Yordamsal API kullanım örneği

<?php
$coll = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");
?>

Örnek 2 - Nesne yönelimli API kullanım örneği

<?php
$coll = new Collator('en_US');
$al = $coll->getLocale(Locale::ACTUAL_LOCALE);
echo "Asıl yerel: $al\n";

$formatter = new NumberFormatter('en_US', NumberFormatter::DECIMAL);
echo $formatter->format(1234567);
?>


Collator sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Yerele duyarlı sıralama desteğiyle dizge karşılaştırma yeteneği sağlar.

Sınıf Sözdizimi

class Collator {
/* Sabitler */
const int DEFAULT_VALUE;
const int PRIMARY;
const int SECONDARY;
const int TERTIARY;
const int DEFAULT_STRENGTH;
const int QUATERNARY;
const int IDENTICAL;
const int OFF;
const int ON;
const int SHIFTED;
const int NON_IGNORABLE;
const int LOWER_FIRST;
const int UPPER_FIRST;
const int FRENCH_COLLATION;
const int ALTERNATE_HANDLING;
const int CASE_FIRST;
const int CASE_LEVEL;
const int NORMALIZATION_MODE;
const int STRENGTH;
const int HIRAGANA_QUATERNARY_MODE;
const int NUMERIC_COLLATION;
const int SORT_REGULAR;
const int SORT_STRING;
const int SORT_NUMERIC;
/* Yöntemler */
public __construct(string $yerel)
public asort(array &$dizi, int $sıralama_türü = Collator::SORT_REGULAR): bool
public compare(string $dizge1, string $dizge2): int|false
public static create(string $yerel): ?Collator
public getAttribute(int $öznitelik): int|false
public getErrorCode(): int|false
public getErrorMessage(): string|false
public getLocale(int $tür): string|false
public getSortKey(string $string): string|false
public getStrength(): int
public setAttribute(int $öznitelik, int $değer): bool
public setStrength(int $seviye): bool
public sortWithSortKeys(array &$dizi): bool
public sort(array &$dizi, int $sıralama_seçeneği = Collator::SORT_REGULAR): bool
}

Öntanımlı Sabitler

Collator::FRENCH_COLLATION

Dizgenin geri planındaki farklı aksanlara göre dizgeleri sıralar. Bu öznitelik Fransızca yerellerde ve bir kaç başka yerelde otomatik olarak etkindir. Kullanıcılar normalde bu özniteliği açıkça etkinleştirme ihtiyacı duymazlar. Bu özniteliğe On değeri atamanın başarım açısından bir bedeli vardır fakat sıralama anahtarının uzunluğu tesirsizdir. Olası değerler şunlardır:

  • Collator::ON
  • Collator::OFF(öntanımlı)
  • Collator::DEFAULT_VALUE

Örnek 1 - FRENCH_COLLATION kuralları

  • F=OFF cote < coté < côte < côté
  • F=ON cote < côte < coté < côté

Collator::ALTERNATE_HANDLING

Alternate özniteliği, UCA'da değişken karakterler denen karakterleri (boşluk karakterleri, noktalama imleri ve simgeler) denetim altında tutmak için kullanılır. Eğer bu özniteliğe NonIgnorable (N) değeri atanırsa bu karakterler arasındaki farklar harfler arasındaki farklarla aynı önemdedir. Eğer Shifted (S) atanırsa bu karakterler çok düşük önemde olurlar. Shifted değeri çoğunlukla Strength (etki seviyesi) ile birlikte Dördüncüllüğü (Quaternary) belirtmekte kullanılır. Böyle bir durumda, boşluk karakterleri, noktalama imleri ve simgelerin dizgeleri karşılaştırırken hesaba katılabilmesi için dizgelerin tüm diğer şeyler (temel harfler, aksanlar ve harf büyüklüğü) bakımından eşdeğer olmaları gerekir. Eğer özniteliğe Shifted atanmazsa üçüncül (Tertiary) ve dördüncül (Quaternary) etki seviyeleri arasında hiçbir fark yoktur. Daha fazla bilgi ve örnekler için » UCA sitesindeki "Variable_Weighting" konusuna bakınız. Özniteliğin değerlerinin basitçe On ve Off olmamasının sebebi gelecekte başka değerlerin eklenebilecek olmasıdır. UCA seçeneği Blanked üçüncül etki seviyesi ile ifade edilir ve özniteliğe Shifted atanır. Çoğu yerel için NonIgnorable öntanımlıdır. Eğer Shifted seçilirse ve noktalama dışında birbirinin aynı çok sayıda dizge varsa işlem daha yavaş olabilir; etki seviyesi ayrıca arttırılmadıkça sıralama anahtarı uzunluğu tesirsiz olacaktır.

Olası değerler:

  • Collator::NON_IGNORABLE(öntanımlı)
  • Collator::SHIFTED
  • Collator::DEFAULT_VALUE

Örnek 2 - ALTERNATE_HANDLING kuralları

  • S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
  • S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
  • S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA

Collator::CASE_FIRST (int)

Case_First özniteliği, dizgeler arasında başka farkların olmadığı durumda büyük harflerin küçük harflerden önce mi yoksa sonra mı olacağını belirler. Olası değerler, büyük harflerin önce geleceğini belirten Uppercase_First (U), küçük harflerin önce olacağını belirten Lowercase_First (L) değerlerine ilaveten standart Default ve Off değerleridir. Sonuçları bakımından Off ve Lowercase_First arasında hemen hemen hiç fark yoktur. Bu bakımdan kullanıcılar genelde Lowercase_First kullanmazlar, sadece Off veya Uppercase_First kullanırlar. X ve L arasındaki farkların ayrıntıları ile ilgilenen kullanıcılar Karşılaştırma Özelleştirmesini incelemelidirler. L veya U belirtmenin dizge karşılaştırma başarımında etkisi olmaz, fakat sıralama anahtarı uzunluğunu etkiler.

Olası değerler:

  • Collator::OFF(öntanımlı)
  • Collator::LOWER_FIRST
  • Collator::UPPER_FIRST
  • Collator:DEFAULT

Örnek 3 - CASE_FIRST kuralları

  • C=X or C=L "china" < "China" < "denmark" < "Denmark"
  • C=U "China" < "china" < "Denmark" < "denmark"

Collator::CASE_LEVEL

Case_Level özniteliği harf büyüklüğünü değil aksanları yoksaymak için kullanılır. Böyle bir durumda, etki seviyesine (Strength) Primary ve Case_Level özniteliğine On atanır. Çoğu yerelde On öntanımlıdır ve bu değerin küçük bir dizge karşılaştırma başarımı ve sıralama anahtarı ektisi vardır.

Olası değerler:

  • Collator::OFF(öntanımlı)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Örnek 4 - CASE_LEVEL kuralları

  • S=1, E=X role = Role = rôle
  • S=1, E=O role = rôle < Role

Collator::NORMALIZATION_MODE

Normalleştirme ayarı, karşılaştırmada metnin tamamen normalleştirilip normalleştirilmeyeceğini belirler. Değeri off olsa bile (çoğu yerel için öntanımlıdır) ortak kullanımda gösterildiği haliyle metin doğru olarak karşılaştırılacaktır (Ayrıntılar için UTN #5'e bakınız). Sadece, meşru sırada olmayan aksan imleri sorun çıkarır. Özniteliğe On atanmışsa, olası tüm metin girdiler için en iyi sonuçlar garanti edilir ve normalleştirme gerektiren dizilimlerin sıklığına bağlı olarak orta seviyede bir dizge karşılaştırma başarımı maliyeti vardır. Sıralama anahtarı uzunluğu üzerinde önemli bir etkisi yoktur. Eğer girdi metninin NFD veya NFKD normalleştirme şekillerinden birinde olduğu biliniyorsa bu normalleştirme seçeneğini etkin kılmaya gerek yoktur.

Olası değerler:

  • Collator::OFF(öntanımlı)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::STRENGTH

ICU Karşılaştırma hizmeti çok seviyeli karşılaştırmayı destekler (bunlara seviye (level) dendiği gibi tesir derecesi de (Strength) denir). Bu seviyeler sayesinde ICU, dizgeleri yerel uzlaşımlara bağlı olarak hassas bir şekilde sıralar. Bununla birlikte, metin içinde dizge araması, seviyelerin seçilerek devreye sokulmasına izin verilerek çeşitli eşleşme koşullarıyla gerçekleştirilebilir. Daha ayrıntılı bilgi edinmek için collator_set_strength() işlevine bakınız.

Olası değerler:

  • Collator::PRIMARY
  • Collator::SECONDARY
  • Collator::TERTIARY(öntanımlı)
  • Collator::QUATERNARY
  • Collator::IDENTICAL
  • Collator::DEFAULT_VALUE

Collator::HIRAGANA_QUATERNARY_MODE

JIS x 4061 ile uyumluluk Hiragana ve Katakana karakterler arasında ayrım sağlayacak ek seviyeler gerektirir. Eğer standartla uyumluluk gerekirse bu özniteliğe On atanmalı ve seviye olarak Quaternary (dördüncül) kullanılmalıdır. Bu, sıralama anahtarı uzunluğunu ve dizge karşılaştırma başarımını etkiler.

Olası değerler:

  • Collator::OFF(öntanımlı)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::NUMERIC_COLLATION

Etkin kılınırsa bu öznitelik, rakamlardan oluşan altdizgelerin sayısal değerleri için bir karşılaştırma anahtarı üretir. Bu, sıralamada '2''den sonra '100' almanın bir yoludur.

Olası değerler:

  • Collator::OFF(default)
  • Collator::ON
  • Collator::DEFAULT_VALUE

Collator::DEFAULT_VALUE
Collator::PRIMARY
Collator::SECONDARY
Collator::TERTIARY
Collator::DEFAULT_STRENGTH
Collator::QUATERNARY
Collator::IDENTICAL
Collator::OFF
Collator::ON
Collator::SHIFTED
Collator::NON_IGNORABLE
Collator::LOWER_FIRST
Collator::UPPER_FIRST
Collator::SORT_REGULAR

Collator::SORT_STRING

Collator::SORT_NUMERIC

İçindekiler

  • Collator::asort — Diziyi indislerin arasındaki ilişkilere göre sıralar
  • Collator::compare — İki Evrenkodlu dizgeyi karşılaştırır
  • Collator::__construct — Bir karşılaştırıcı oluşturur
  • Collator::create — Bir karşılaştırıcı oluşturur
  • Collator::getAttribute — Karşılaştırma özniteliğinin değerini döndürür
  • Collator::getErrorCode — Karşılaştırıcının son hata kodunu döndürür
  • Collator::getErrorMessage — Karşılaştırıcının son hata iletisini döndürür
  • Collator::getLocale — Karşılaştırıcının yerel ismini döndürür
  • Collator::getSortKey — Get sorting key for a string
  • Collator::getStrength — Geçerli karşılaştırma seviyesini döndürür
  • Collator::setAttribute — Karşılaştırma özniteliği tanımlar
  • Collator::setStrength — Sıralamanın seviyesini ayarlar
  • Collator::sortWithSortKeys — Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar
  • Collator::sort — Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar


Diziyi indislerin arasındaki ilişkilere göre sıralar

  • « Karşılaştırıcı
  • Collator::compare »
  • PHP Manual
  • Karşılaştırıcı
  • Diziyi indislerin arasındaki ilişkilere göre sıralar

Collator::asort

collator_asort

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::asort -- collator_asort — Diziyi indislerin arasındaki ilişkilere göre sıralar

Açıklama

Nesne yönelimli kullanım

public Collator::asort(array &$dizi, int $sıralama_türü = Collator::SORT_REGULAR): bool

Yordamsal kullanım

collator_asort(Collator $nesne, array &$dizi, int $sıralama_türü = Collator::SORT_REGULAR): bool

Bir diziyi indislerinin arasındaki ilişkilere uygun olarak sıralar. Elemanlarının sıralamasının önem kazandığı yerlerde ilişkisel dizilerin içeriğini sıraya sokmakta kullanılır. Dizi elemanları yerele özgü kurallara göre sıralanır.

PHP'nin standart asort() işlevinin eşdeğeridir.

Bağımsız Değişkenler

nesne

Collator nesnesi.

dizi

Sıralanacak dizgeleri içeren dizi.

sıralama_türü

İsteğe bağlı sıralama türü şunlardan biri olabilir:

  • Collator::SORT_REGULAR - öğeleri normal olarak karşılaştırır (tür değişmez).

  • Collator::SORT_NUMERIC - öğeler sayısal olarak sıralanır.

  • Collator::SORT_STRING - öğeler dizge olarak karşılaştırılır.

Öntanımlı değer Collator::SORT_REGULAR olup geçersiz sıralama türü belirtildiğinde de geçerli olur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_asort() örneği

<?php
$coll = collator_create( 'en_US' );
$dizi = array(
'a' => '100',
'b' => '50',
'c' => '7'
);
collator_asort( $coll, $dizi, Collator::SORT_NUMERIC );
var_export( $dizi );

collator_asort( $coll, $dizi, Collator::SORT_STRING );
var_export( $dizi );
?>

Yukarıdaki örneğin çıktısı:

array (
  'c' => '7',
  'b' => '50',
  'a' => '100',
)array (
  'a' => '100',
  'b' => '50',
  'c' => '7',
)

Ayrıca Bakınız

  • Collator sabitleri
  • collator_sort() - Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar
  • collator_sort_with_sort_keys() - Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar


İki Evrenkodlu dizgeyi karşılaştırır

  • « Collator::asort
  • Collator::__construct »
  • PHP Manual
  • Karşılaştırıcı
  • İki Evrenkodlu dizgeyi karşılaştırır

Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::compare -- collator_compare — İki Evrenkodlu dizgeyi karşılaştırır

Açıklama

Nesne yönelimli kullanım

public Collator::compare(string $dizge1, string $dizge2): int|false

Yordamsal kullanım

collator_compare(Collator $nesne, string $dizge1, string $dizge2): int|false

İki Unicode dizgeyi yerelin karşılaştırma kurallarına uygun olarak karşılaştırır.

Bağımsız Değişkenler

nesne

Collator nesnesi.

dizge1

Karşılaştırılacak dizgelerden biri.

dizge2

Karşılaştırılacak dizgelerden biri.

Dönen Değerler

Dönen karşılaştırma sonuçları:

  • dizge1, dizge2'den büyükse: 1

  • dizge1 ve dizge2 aynıysa: 0

  • dizge1, dizge2'den küçükse: 2

Hata oluşmuşsa false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 - collator_compare() örneği

<?php
$s1 = 'Hello';
$s2 = 'hello';

$coll = collator_create( 'en_US' );
$res = collator_compare( $coll, $s1, $s2 );

if ($res === false) {
echo collator_get_error_message( $coll );
} else if( $res > 0 ) {
echo "s1, s2'den büyüktür\n";
} else if( $res < 0 ) {
echo "s1, s2'den küçüktür\n";
} else {
echo "s1 ve s2 aynıdır\n";
}
?>

Yukarıdaki örneğin çıktısı:

s1, s2'den büyüktür

Örnek 2 - Aksansız veya büyük/küçük harfe duyarlı olmayan dizeleri karşılaştırma

<?php
$c = new Collator('en');
$c->setStrength(Collator::PRIMARY);

if ($c->compare('Séan', 'Sean') == 0)
{
echo "İkisi aynı\n";
}

Yukarıdaki örneğin çıktısı:

İkisi aynı

Bu örnek, karşlaştırıcıya yalnızca temel karakterleri hesaba katarak karşılaştırma yapması talimatını verir. Karşılaştırma seviyeleri Collator->setStrength() belgesinde açıklanmıştır.

Ayrıca Bakınız

  • collator_sort() - Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar


Bir karşılaştırıcı oluşturur

  • « Collator::compare
  • Collator::create »
  • PHP Manual
  • Karşılaştırıcı
  • Bir karşılaştırıcı oluşturur

Collator::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::__construct — Bir karşılaştırıcı oluşturur

Açıklama

public Collator::__construct(string $yerel)

Yeni bir Collator örneği oluşturur.

Bağımsız Değişkenler

yerel

Kullanılacak karşılaştırma kurallarını içeren yerel. Yerel olarak özel değerler verilebilir; eğer boş bir dizge aktarılırsa öntanımlı yerelin karşılaştırma kuralları geçerli olur. Eğer "root" verilirse » UCA kuralları geçerli olur.

Kullanıcının farklı ülke ve yörelerle ilgili beklentilerine bağlı olarak, doğru sıralama ve eşleştirmeyi yapabilmek için locale en önemli özniteliktir. Öntanımlı » UCA kuralları sadece Felemenkçe, Portekizce gibi bir kaç yerel için doğru sıralama yapar (buradaki "doğru" sözcüğü, kullanıcının dille ilgili beklentileri ile ilgilidir). Öntanımlı yerelin yetmediği noktada UCA'nın beklediğiniz sıralamayı yapabilmesi için doğru yereli belirtmelisiniz. Yerelin seçilmesiyle, yerel için makul sayılabilecek tüm öznitelikler otomatik olarak belli değerlere ayarlanır. Bu bakımdan çoğunlukla yerele özgü özniteliklerin ayrıca belirtilmesi gerekmez. Bazı durumlarda yerel seçimi dizge karşılaştırma başarımında ve/veya sıralama anahtarı uzunluğunda bir fark oluşturabilir.

Hatalar/İstisnalar

Hata durumunda "boş" bir nesne döner. Neler olup bittiğini öğrenmek için intl_get_error_code() ve/veya intl_get_error_message() işlevini kullanabilirsiniz.

Örnekler

Örnek 1 - Collator::__construct() örneği

<?php
$coll = new Collator('en_CA');
?>

Ayrıca Bakınız

  • Collator::create() - Bir karşılaştırıcı oluşturur
  • collator_create() - Bir karşılaştırıcı oluşturur


Bir karşılaştırıcı oluşturur

  • « Collator::__construct
  • Collator::getAttribute »
  • PHP Manual
  • Karşılaştırıcı
  • Bir karşılaştırıcı oluşturur

Collator::create

collator_create

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::create -- collator_create — Bir karşılaştırıcı oluşturur

Açıklama

Nesne yönelimli kullanım

public static Collator::create(string $yerel): ?Collator

Yordamsal kullanım

collator_create(string $yerel): ?Collator

Dizgeler yerel kurallara uygun olarak karşılaştırılır.

Bağımsız Değişkenler

yerel

Gereken karşılaştırma kurallarını içeren yerel. Yerel olarak özel değerler verilebilir; eğer boş bir dizge aktarılırsa öntanımlı yerelin karşılaştırma kuralları geçerli olur. Eğer "root" aktarılırsa » UCA kuralları geçerli olur.

Dönen Değerler

Bir hata oluşursa null, aksi takdirde Collator nesnesinin yeni bir örneği.

Örnekler

Örnek 1 - collator_create() örneği

<?php
$coll = collator_create( 'en_US' );

if( !isset( $coll ) ) {
printf( "Nesne örneği oluşturulamadı: %s\n", intl_get_error_message() );
exit( 1 );
}
?>

Ayrıca Bakınız

  • Collator::__construct() - Bir karşılaştırıcı oluşturur


Karşılaştırma özniteliğinin değerini döndürür

  • « Collator::create
  • Collator::getErrorCode »
  • PHP Manual
  • Karşılaştırıcı
  • Karşılaştırma özniteliğinin değerini döndürür

Collator::getAttribute

collator_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::getAttribute -- collator_get_attribute — Karşılaştırma özniteliğinin değerini döndürür

Açıklama

Nesne yönelimli kullanım

public Collator::getAttribute(int $öznitelik): int|false

Yordamsal kullanım

collator_get_attribute(Collator $nesne, int $öznitelik): int|false

Karşılaştırma özniteliğinin değerini tamsayı olarak döndürür.

Bağımsız Değişkenler

nesne

Collator nesnesi.

öznitelik

Değeri öğrenilecek öznitelik.

Dönen Değerler

Özniteliğin değeri, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_get_attribute() örneği

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if( $val === false )
{
// Hata ile ilgili işlemler.
}
?>

Ayrıca Bakınız

  • Collator sabitleri
  • collator_set_attribute() - Karşılaştırma özniteliği tanımlar
  • collator_get_strength() - Geçerli karşılaştırma seviyesini döndürür


Karşılaştırıcının son hata kodunu döndürür

  • « Collator::getAttribute
  • Collator::getErrorMessage »
  • PHP Manual
  • Karşılaştırıcı
  • Karşılaştırıcının son hata kodunu döndürür

Collator::getErrorCode

collator_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::getErrorCode -- collator_get_error_code — Karşılaştırıcının son hata kodunu döndürür

Açıklama

Nesne yönelimli kullanım

public Collator::getErrorCode(): int|false

Yordamsal kullanım

collator_get_error_code(Collator $nesne): int|false

Bağımsız Değişkenler

nesne

Collator nesnesi.

Dönen Değerler

Son karşılaştırma işlevi çağrısında oluşan hatanın kodu, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_get_error_code() örneği

<?php
$coll = collator_create( 'en_US' );
if( collator_get_attribute( $coll, Collator::FRENCH_COLLATION ) === false )
handle_error( collator_get_error_code() );
?>

Ayrıca Bakınız

  • collator_get_error_message() - Karşılaştırıcının son hata iletisini döndürür


Karşılaştırıcının son hata iletisini döndürür

  • « Collator::getErrorCode
  • Collator::getLocale »
  • PHP Manual
  • Karşılaştırıcı
  • Karşılaştırıcının son hata iletisini döndürür

Collator::getErrorMessage

collator_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::getErrorMessage -- collator_get_error_message — Karşılaştırıcının son hata iletisini döndürür

Açıklama

Nesne yönelimli kullanım

public Collator::getErrorMessage(): string|false

Yordamsal kullanım

collator_get_error_message(Collator $nesne): string|false

Son hatanın iletisini döndürür.

Bağımsız Değişkenler

nesne

Collator nesnesi.

Dönen Değerler

Son karşılaştırma işlevi çağrısında oluşan hatanın açıklaması, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_get_error_message() örneği

<?php
$coll = collator_create( 'lt' );
if( collator_compare( $coll, 'y', 'k' ) === false ) {
echo collator_get_error_message( $coll );
}
?>

Ayrıca Bakınız

  • collator_get_error_code() - Karşılaştırıcının son hata kodunu döndürür


Karşılaştırıcının yerel ismini döndürür

  • « Collator::getErrorMessage
  • Collator::getSortKey »
  • PHP Manual
  • Karşılaştırıcı
  • Karşılaştırıcının yerel ismini döndürür

Collator::getLocale

collator_get_locale

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::getLocale -- collator_get_locale — Karşılaştırıcının yerel ismini döndürür

Açıklama

Nesne yönelimli kullanım

public Collator::getLocale(int $tür): string|false

Yordamsal kullanım

collator_get_locale(Collator $nesne, int $tür): string|false

Karşılaştırıcının yerel adını döndürür.

Bağımsız Değişkenler

nesne

Collator nesnesi.

tür

Geçerli yerel için Locale::VALID_LOCALE, fiili yerel için Locale::ACTUAL_LOCALE belirtilir. Fiili yerel öntanımlıdır.

Dönen Değerler

Karşılaştırma verisinin geldiği gerçek yerel ismi. Eğer karşılaştırıcı kurallardan örneklenmişse veya hata oluşursa false döner.

Örnekler

Örnek 1 - collator_get_locale() örneği

<?php
$coll = collator_create( 'tr_TR_Istanbul' );
$res_val = collator_get_locale( $coll, Locale::VALID_LOCALE );
$res_act = collator_get_locale( $coll, Locale::ACTUAL_LOCALE );
echo "İstenen yerel ismi: tr_TR_Istanbul\n";
printf("Geçerli yerel ismi: %s\nFiili yerel ismi: %s\n", $res_val, $res_act );
?>

Yukarıdaki örneğin çıktısı:

İstenen yerel ismi: tr_TR_Istanbul
Geçerli yerel ismi: tr_TR
Fiili yerel ismi: tr

Ayrıca Bakınız

  • collator_create() - Bir karşılaştırıcı oluşturur


Get sorting key for a string

  • « Collator::getLocale
  • Collator::getStrength »
  • PHP Manual
  • Karşılaştırıcı
  • Get sorting key for a string

Collator::getSortKey

collator_get_sort_key

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 1.0.3)

Collator::getSortKey -- collator_get_sort_key — Get sorting key for a string

Açıklama

Nesne yönelimli kullanım

public Collator::getSortKey(string $string): string|false

Yordamsal kullanım

collator_get_sort_key(Collator $object, string $string): string|false

Return collation key for a string. Collation keys can be compared directly instead of strings, though are implementation specific and may change between ICU library versions. Sort keys are generally only useful in databases or other circumstances where function calls are extremely expensive.

Bağımsız Değişkenler

object

Collator object.

string

The string to produce the key from.

Dönen Değerler

Returns the collation key for the string, başarısızlık durumunda false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 collator_get_sort_key()example

<?php
$s1 = 'Hello';

$coll = collator_create('en_US');
$res = collator_get_sort_key($coll, $s1);

echo bin2hex($res);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

3832404046010901dc08

Ayrıca Bakınız

  • collator_sort() - Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar
  • collator_sort_with_sort_keys() - Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar


Geçerli karşılaştırma seviyesini döndürür

  • « Collator::getSortKey
  • Collator::setAttribute »
  • PHP Manual
  • Karşılaştırıcı
  • Geçerli karşılaştırma seviyesini döndürür

Collator::getStrength

collator_get_strength

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::getStrength -- collator_get_strength — Geçerli karşılaştırma seviyesini döndürür

Açıklama

Nesne yönelimli kullanım

public Collator::getStrength(): int

Yordamsal kullanım

collator_get_strength(Collator $nesne): int

Geçerli karşılaştırma seviyesini döndürür.

Bağımsız Değişkenler

nesne

Collator nesnesi.

Dönen Değerler

Karşılaştırma seviyesi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_get_strength() örneği

<?php
$coll = collator_create( 'en_US' );
$strength = collator_get_strength( $coll );
?>

Ayrıca Bakınız

  • Collator sabitleri
  • collator_set_strength() - Sıralamanın seviyesini ayarlar
  • collator_get_attribute() - Karşılaştırma özniteliğinin değerini döndürür


Karşılaştırma özniteliği tanımlar

  • « Collator::getStrength
  • Collator::setStrength »
  • PHP Manual
  • Karşılaştırıcı
  • Karşılaştırma özniteliği tanımlar

Collator::setAttribute

collator_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::setAttribute -- collator_set_attribute — Karşılaştırma özniteliği tanımlar

Açıklama

Nesne yönelimli kullanım

public Collator::setAttribute(int $öznitelik, int $değer): bool

Yordamsal kullanım

collator_set_attribute(Collator $nesne, int $öznitelik, int $değer): bool

Bağımsız Değişkenler

nesne

Collator nesnesi.

öznitelik

Öznitelik.

değer

Özniteliğe atanacak değer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_set_attribute() örneği

<?php
$coll = collator_create( 'en_CA' );
$val = collator_get_attribute( $coll, Collator::NUMERIC_COLLATION );
if ($val === false) {
// Hata işleme.
} elseif ($val === Collator::ON) {
// Bazı işlemler.
}
?>

Ayrıca Bakınız

  • Collator sabitleri
  • collator_get_attribute() - Karşılaştırma özniteliğinin değerini döndürür
  • collator_set_strength() - Sıralamanın seviyesini ayarlar


Sıralamanın seviyesini ayarlar

  • « Collator::setAttribute
  • Collator::sortWithSortKeys »
  • PHP Manual
  • Karşılaştırıcı
  • Sıralamanın seviyesini ayarlar

Collator::setStrength

collator_set_strength

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::setStrength -- collator_set_strength — Sıralamanın seviyesini ayarlar

Açıklama

Nesne yönelimli kullanım

public Collator::setStrength(int $seviye): bool

Yordamsal kullanım

collator_set_strength(Collator $nesne, int $seviye): bool

» ICU Karşılaştırma Hizmeti çok seviyeli karşılaştırmayı destekler. Bu sınıflandırma sayesinde ICU dizgeleri sıralamayı yerel uzlaşımlara uygun olarak daha büyük hassasiyetle yerine getirir. Bununla birlikte, seviyelerin seçmeli olarak devreye sokulabilmesi sayesinde metin içinde bir dizgenin aranması çeşitli eşleşme koşullarıyla yapılabilir.

  1. Birincil seviye: Bu genel olarak, temel karakterler arasındaki farkları ("a" < "b" gibi) ifade etmek için kullanılır. Bu en güçlü farktır. Örneğin sözlükler bu temel karakterlere göre farklı bölümlere ayrılırlar. Buna ayrıca level 1 nitelik adı verilir.

  2. İkincil seviye: Karakterlerdeki aksanlar ikincil farklar olarak ele alınır (örneğin, "as" < "às" < "at") Dile bağlı olarak harfler arasındaki diğer farklar da ikincil farklar olarak ele alınabilir. Dizgelerin içinde herhangi bir yerde birincil dereceden bir farkın varlığında ikincil seviyeden bir fark yoksayılır. Buna ayrıca level 2 nitelik adı verilir.

    Bilginize:

    Bazı dillerde (Danca gibi) bazı aksanlı karakterler temel karakterler olarak ele alınırlar. Bununla birlikte çoğu dilde aksanlı bir karakter aynı harfin aksansız olanına göre ikinci dereceden bir farktan başka bir şey değildir.

  3. Üçüncül seviye: Büyük ve küçük harfler arasındaki farklar üçüncül seviyeden farklardandır (örneğin, "ao" < "Ao" < "aò"). Buna ek olarak, bir harfin büyük veya küçük harflisinin temel karakterlerden farkları da ("A" ve " " gibi) üçüncül seviyedendir. Bu farklara diğer bir örnek de büyük ve küçük Kana arasındaki farktır. Dizgelerin içinde herhangi bir yerde bir birincil veya ikincil seviyeden farkın varlığında üçüncül seviyeden bir fark yoksayılır. Buna ayrıca level 3 nitelik adı verilir.

  4. Dördüncül seviye: 13. seviyede, noktalama yoksayıldığında (Noktalamanın Yoksayılması'na bakınız), noktalamalı ve noktalamasız sözcükleri ayırmakta ek bir seviye kullanılabilir (örneğin, "ab" < "a-b" < "aB"). Bu fark, birinci, ikincil veya üçüncül seviyeden farkların varlığında yoksayılır. Bu, level 4 nitelik olarak da bilinir. Dördüncül seviye sadece, noktalamanın yok sayılması gerekliyse veya bir Japonca metin işleniyorsa kullanılmalıdır (Hiragana işlemi'ne bakınız).

  5. Eş seviye: Diğer tüm seviyelerin eşitliğinde eşitliği bozmak için eş seviye kullanılır. NFD biçimindeki her dizgenin Unicode kod değerleri, 14. seviyede fark bulunmayan durumda, bu seviyede karşılaştırılır. Örneğin İbranice şive imleri sadece bu seviyede ayrımsanır. Bu seviye gereksiz yere kullanılmamalı, iki dizge arasındaki sadece kod değerleri arasındaki farklar gibi oldukça nadir durumlarda kullanılmalıdır. Bu seviyenin kullanımı, esasen, hem arttırımlı karşılaştırma hem de sıralama anahtarı üretiminde (sıralama anahtarı uzunluğunu arttırması gibi) başarımı azaltır. Bu, level 5 nitelik olarak da bilinir.

Örneğin, bazıları, metin içinde arama yaparken aksanlı karakterleri veya aksanlı karakterleri ve büyük/küçük harf farklarını yoksaymayı seçebilirler. Hemen hemen tüm karakterler ilk üç seviyeye göre ayrımsanabilir ve bu bakımdan çoğu yerelde üçüncül (Tertiary) seviye öntanımlıdır. Bununla birlikte, Alternate özniteliğine Shifted atanırsa, boşluk ve noktalama karakterleri ve simgeler diğer taraftan yoksayılmadıkça bunlar arasındaki eşitlikleri bozmak için dördüncül (Quaternary) seviye kullanılabilir. Karakterler arasında çok hassas ayrım gerekliyse, eş (Identical) seviye de kullanılabilir. (Örneğin, Matematiksel Kalın Küçük A ile Matematiksel Eğik Küçük A arasındaki ayrımı sadece eş seviye sağlayabilir.) Bununla birlikte, üçüncül ve eş seviyelerden daha yüksek seviyelerin kullanımı belirgin şekilde daha uzun sıralama anahtarları ve eş dizgeler arasında daha yavaş karşılaştırma başarımı ile sonuçlanır.

Bağımsız Değişkenler

nesne

Collator nesnesi.

seviye

Atanacak seviye.

Olası değerler:

  • Collator::PRIMARY

  • Collator::SECONDARY

  • Collator::TERTIARY

  • Collator::QUATERNARY

  • Collator::IDENTICAL

  • Collator::DEFAULT_STRENGTH

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_set_strength() örneği

<?php
$arr = array( 'aò', 'Ao', 'ao' );
$coll = collator_create( 'en_US' );

// Diziyi öntanımlı seviyeyle sıralayalım.
collator_sort( $coll, $arr );
var_export( $arr );

// Diziyi birincil seviyeyle sıralayalım.
collator_set_strength( $coll, Collator::PRIMARY );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 'ao',
  1 => 'Ao',
  2 => 'aò',
)
array (
  0 => 'aò',
  1 => 'Ao',
  2 => 'ao',
)

Ayrıca Bakınız

  • Collator sabitleri
  • collator_get_strength() - Geçerli karşılaştırma seviyesini döndürür


Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar

  • « Collator::setStrength
  • Collator::sort »
  • PHP Manual
  • Karşılaştırıcı
  • Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar

Collator::sortWithSortKeys

collator_sort_with_sort_keys

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::sortWithSortKeys -- collator_sort_with_sort_keys — Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar

Açıklama

Nesne yönelimli kullanım

public Collator::sortWithSortKeys(array &$dizi): bool

Yordamsal kullanım

collator_sort_with_sort_keys(Collator $nesne, array &$dizi): bool

collator_sort() işlevine benzer, fakat büyük dizilerde daha fazla hız kazanmak için ucol_getSortKey() tarafından üretilen ICU sıralama anahtarını kullanır.

Bağımsız Değişkenler

nesne

Collator nesnesi.

dizi

Sıralanacak dizge dizisi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_sort_with_sort_keys() örneği

<?php
$arr = array( 'Kuytu', 'Kuğu', 'Kuş' );
$coll = collator_create( 'tr' );

collator_sort_with_sort_keys( $coll, $arr );
var_export( $arr );
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 'Kuğu',
  1 => 'Kuş',
  2 => 'Kuytu',
)

Ayrıca Bakınız

  • Collator sabitleri
  • collator_sort() - Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar
  • collator_asort() - Diziyi indislerin arasındaki ilişkilere göre sıralar


Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar

  • « Collator::sortWithSortKeys
  • Sayı Biçemleyici »
  • PHP Manual
  • Karşılaştırıcı
  • Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar

Collator::sort

collator_sort

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Collator::sort -- collator_sort — Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar

Açıklama

Nesne yönelimli kullanım

public Collator::sort(array &$dizi, int $sıralama_seçeneği = Collator::SORT_REGULAR): bool

Yordamsal kullanım

collator_sort(Collator $nesne, array &$dizi, int $sıralama_seçeneği = Collator::SORT_REGULAR): bool

Bu işlev bir diziyi geçerli yerel kurallarına uygun olarak sıralar.

Standart PHP sort() işlevine eşdeğerdir.

Bağımsız Değişkenler

nesne

Collator nesnesi.

dizi

Sıralanacak dizge dizisi.

sıralama_türü

İsteğe bağla sıralama türü, şunlardan biri olabilir:

  • Collator::SORT_REGULAR - öğeler normal olarak karşılaştırılır (türleri değiştirilmez). Bağımsız değişkene geçersiz değer belirtilirse bu sabit kullanılır.

  • Collator::SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.

  • Collator::SORT_STRING - öğeler dizgesel olarak karşılaştırılır.

Öntanımlı sıralama türü: Collator::SORT_REGULAR.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - collator_sort() örneği

<?php
$coll = collator_create( 'tr_TR' );
$arr = array( 'zor', 'ışık', 'çok', 'iğne' );

var_export( $arr );
collator_sort( $coll, $arr );
var_export( $arr );
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 'zor',
  1 => 'ışık',
  2 => 'çok',
  3 => 'iğne',
)array (
  0 => 'çok',
  1 => 'ışık',
  2 => 'iğne',
  3 => 'zor',
)

Ayrıca Bakınız

  • Collator sabitleri
  • collator_asort() - Diziyi indislerin arasındaki ilişkilere göre sıralar
  • collator_sort_with_sort_keys() - Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar


NumberFormatter sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Uygulamalar sayılar üzerinde işlem yapmak ve bunları saklamak için yerelden bağımsız bir ikil gösterim kullanır. Sayılar gösterilirken veya basılırken bunlar yerele özgü dizgelere dönüştürülür. Örneğin, 12345.67 sayısı ABD için "12,345.67", Fransa için "12 345,67" ve Almanya ve Türkiye için "12.345,67" biçimindedir.

NumberFormatter (SayıBiçemleyici) sınıfınca sağlanmış yöntemleri çağırmak suretiyle sayılar, paralar ve yüzdeler öntanımlı yerele veya belirtilen yerele uygun olarak biçemlenebilir. NumberFormatter sınıfı yerele duyarlı olduğundan her yerel için yeni bir sayı biçemleyici oluşturmak gerekir. NumberFormatter sınıfının yöntemleri kayan noktalı sayılar gibi ilkel sayı türlerini biçemler ve bunları yerele özgü dizgeler olarak çıktılar.

Paraları, uygun bir sayı ve para birimi simgesiyle biçemleyip bir dizge olarak döndürmek için bir biçemleyici oluşturmak amacıyla para biçemleme türü kullanılabilir. Şüphesiz, NumberFormatter sınıfı paralar arasındaki kıymet oranlarını bilmez ve belirtilen paranın değerini belirtilen yerele göre dönüştürmez. Yani para birimi ne olursa olsun para biriminin yanında hep belirtilen miktar görünür. 9988776.65 değeri için sonuçlar şöyle olabilir:

  • Fransa'da 9 988 776,65 €
  • Türkiye'de 9.988.776,65 YTL veya 9.988.776 TL
  • ABD'de $9,988,776.65

Yüzdeleri biçemlemek için, yüzde biçemleme türü kullanılarak yerele özgü bir biçemleyici oluşturulur. Bu biçemleyici ile örneğin, 0.75 gibi bir ondalık sayı %75 olarak gösterilir.

Sayıların hecelenmesi gibi daha karmaşık biçemlemeler için kurala dayalı sayı biçemleyici kullanılır.

Sınıf Sözdizimi

class NumberFormatter {
/* Sabitler */
public const int PATTERN_DECIMAL;
public const int DECIMAL;
public const int CURRENCY;
public const int PERCENT;
public const int SCIENTIFIC;
public const int SPELLOUT;
public const int ORDINAL;
public const int DURATION;
public const int PATTERN_RULEBASED;
public const int IGNORE;
public const int CURRENCY_ACCOUNTING;
public const int DEFAULT_STYLE;
public const int ROUND_CEILING;
public const int ROUND_FLOOR;
public const int ROUND_DOWN;
public const int ROUND_UP;
public const int ROUND_HALFEVEN;
public const int ROUND_HALFDOWN;
public const int ROUND_HALFUP;
public const int PAD_BEFORE_PREFIX;
public const int PAD_AFTER_PREFIX;
public const int PAD_BEFORE_SUFFIX;
public const int PAD_AFTER_SUFFIX;
public const int PARSE_INT_ONLY;
public const int GROUPING_USED;
public const int DECIMAL_ALWAYS_SHOWN;
public const int MAX_INTEGER_DIGITS;
public const int MIN_INTEGER_DIGITS;
public const int INTEGER_DIGITS;
public const int MAX_FRACTION_DIGITS;
public const int MIN_FRACTION_DIGITS;
public const int FRACTION_DIGITS;
public const int MULTIPLIER;
public const int GROUPING_SIZE;
public const int ROUNDING_MODE;
public const int ROUNDING_INCREMENT;
public const int FORMAT_WIDTH;
public const int PADDING_POSITION;
public const int SECONDARY_GROUPING_SIZE;
public const int SIGNIFICANT_DIGITS_USED;
public const int MIN_SIGNIFICANT_DIGITS;
public const int MAX_SIGNIFICANT_DIGITS;
public const int LENIENT_PARSE;
public const int POSITIVE_PREFIX;
public const int POSITIVE_SUFFIX;
public const int NEGATIVE_PREFIX;
public const int NEGATIVE_SUFFIX;
public const int PADDING_CHARACTER;
public const int CURRENCY_CODE;
public const int DEFAULT_RULESET;
public const int PUBLIC_RULESETS;
public const int DECIMAL_SEPARATOR_SYMBOL;
public const int GROUPING_SEPARATOR_SYMBOL;
public const int PATTERN_SEPARATOR_SYMBOL;
public const int PERCENT_SYMBOL;
public const int ZERO_DIGIT_SYMBOL;
public const int DIGIT_SYMBOL;
public const int MINUS_SIGN_SYMBOL;
public const int PLUS_SIGN_SYMBOL;
public const int CURRENCY_SYMBOL;
public const int INTL_CURRENCY_SYMBOL;
public const int MONETARY_SEPARATOR_SYMBOL;
public const int EXPONENTIAL_SYMBOL;
public const int PERMILL_SYMBOL;
public const int PAD_ESCAPE_SYMBOL;
public const int INFINITY_SYMBOL;
public const int NAN_SYMBOL;
public const int SIGNIFICANT_DIGIT_SYMBOL;
public const int MONETARY_GROUPING_SEPARATOR_SYMBOL;
public const int TYPE_DEFAULT;
public const int TYPE_INT32;
public const int TYPE_INT64;
public const int TYPE_DOUBLE;
public const int TYPE_CURRENCY;
/* Yöntemler */
public __construct(string $yerel, int $tür, ?string $kalıp = null)
public static create(string $yerel, int $tür, ?string $kalıp = null): ?NumberFormatter
public formatCurrency(float $miktar, string $para_birimi): string|false
public format(int|float $sayı, int $tür = NumberFormatter::TYPE_DEFAULT): string|false
public getAttribute(int $öznitelik): int|float|false
public getErrorCode(): int
public getErrorMessage(): string
public getLocale(int $tür = ULOC_ACTUAL_LOCALE): string|false
public getPattern(): string|false
public getSymbol(int $simge): string|false
public getTextAttribute(int $öznitelik): string|false
public parseCurrency(string $dizge, string &$para_simgesi, int &$konum = null): float|false
public parse(string $dizge, int $tür = NumberFormatter::TYPE_DOUBLE, int &$konum = null): int|float|false
public setAttribute(int $öznitelik, int|float $değer): bool
public setPattern(string $kalıp): bool
public setSymbol(int $simge, string $değer): bool
public setTextAttribute(int $öznitelik, string $değer): bool
}

Öntanımlı Sabitler

Bu biçemler numfmt_create() işlevi tarafından biçemleyici türünü tanımlamak için kullanılırlar.

NumberFormatter::PATTERN_DECIMAL
Şablona göre tanımlı ondalık biçem
NumberFormatter::DECIMAL
Ondalık biçem
NumberFormatter::CURRENCY
Para birimi biçemi
NumberFormatter::PERCENT
Yüzde biçemi
NumberFormatter::SCIENTIFIC
Bilimsel sayı gösterim biçemi
NumberFormatter::SPELLOUT
Kurala dayalı heceleme biçemi
NumberFormatter::ORDINAL
Kurala dayalı sıra gösterim biçemi
NumberFormatter::DURATION
Kurala dayalı süre gösterim biçemi
NumberFormatter::PATTERN_RULEBASED
Şablona göre tanımlı kurala dayalı biçem
NumberFormatter::CURRENCY_ACCOUNTING
Muhasebe için para birimi biçemi, örneğin, negatif para birimi miktarı için -$3.00 yerine ($3.00) gibi. PHP 7.4.1 itibariyle ve ICU 53 ile kullanılabilir.
NumberFormatter::DEFAULT_STYLE
Yerele özgü öntanımlı biçem
NumberFormatter::IGNORE
PATTERN_DECIMAL için takma ad

Bu sabitler sayıların nasıl çözümlenip biçemleneceğini tanımlar. numfmt_format() ve numfmt_parse() işlevlerinin bağımsız değişkenleri olarak kullanılırlar.

NumberFormatter::TYPE_DEFAULT
Türü değişken türünden türet
NumberFormatter::TYPE_INT32
32 bitlik tamsayı olarak çözümle/biçemle
NumberFormatter::TYPE_INT64
64 bitlik tamsayı olarak çözümle/biçemle
NumberFormatter::TYPE_DOUBLE
Bir kayan noktalı sayı olarak çözümle/biçemle
NumberFormatter::TYPE_CURRENCY
Para birimi olarak çözümle/biçemle

numfmt_get_attribute() ve numfmt_set_attribute() işlevi tarafından kullanılan sayı biçemleme öznitelikleri:

NumberFormatter::PARSE_INT_ONLY
Sadece tamsayıları çözümle.
NumberFormatter::GROUPING_USED
Gruplama ayracı kullan.
NumberFormatter::DECIMAL_ALWAYS_SHOWN
Ondalık noktayı daima göster.
NumberFormatter::MAX_INTEGER_DIGITS
Azami tamsayı hane sayısı.
NumberFormatter::MIN_INTEGER_DIGITS
Asgari tamsayı hane sayısı.
NumberFormatter::INTEGER_DIGITS
Tamsayı hane sayısı.
NumberFormatter::MAX_FRACTION_DIGITS
Ondalık kısım azami hane sayısı
NumberFormatter::MIN_FRACTION_DIGITS
Ondalık kısım asgari hane sayısı.
NumberFormatter::FRACTION_DIGITS
Ondalık kısım hane sayısı
NumberFormatter::MULTIPLIER
Çarpan.
NumberFormatter::GROUPING_SIZE
Grup genişliği.
NumberFormatter::ROUNDING_MODE
Yuvarlama kipi.
NumberFormatter::ROUNDING_INCREMENT
Yuvarlama artışı.
NumberFormatter::FORMAT_WIDTH
Çıktı biçeminde dolgu genişliği.
NumberFormatter::PADDING_POSITION
Dolgunun konumu. Olası değerler için dolgu konumlama sabitlerine bakınız.
NumberFormatter::SECONDARY_GROUPING_SIZE
İkincil gruplama genişliği.
NumberFormatter::SIGNIFICANT_DIGITS_USED
Kıymetli haneleri kullan.
NumberFormatter::MIN_SIGNIFICANT_DIGITS
Asgari kıymetli hane sayısı.
NumberFormatter::MAX_SIGNIFICANT_DIGITS
Azami kıymetli hane sayısı.
NumberFormatter::LENIENT_PARSE
Kurala dayalı biçemlerde kullanılan esnek çözümleme kipi.

numfmt_get_text_attribute() ve numfmt_set_text_attribute() işlevlerinde kullanılan sayı biçemi metin öznitelikleri:

NumberFormatter::POSITIVE_PREFIX
Pozitif öneki.
NumberFormatter::POSITIVE_SUFFIX
Pozitif soneki.
NumberFormatter::NEGATIVE_PREFIX
Negatif öneki.
NumberFormatter::NEGATIVE_SUFFIX
Negatif soneki.
NumberFormatter::PADDING_CHARACTER
Dolgu karakteri.
NumberFormatter::CURRENCY_CODE
ISO para birimi.
NumberFormatter::DEFAULT_RULESET
Öntanımlı kural kümesi. Sadece kurala dayalı biçemleyicilerle kullanılabilir.
NumberFormatter::PUBLIC_RULESETS
Genel kural kümeleri. Sadece kurala dayalı biçemleyicilerle kullanılabilir. Salt okunur bir özniteliktir. Genel kural kümeleri, kural kümesi isimleri noktalı virgüllerle (;) ayrılarak tek bir dizge halinde gönderilir.

numfmt_get_symbol() ve numfmt_set_symbol() işlevleri tarafından kullanılan sayı biçemleme simgeleri.

NumberFormatter::DECIMAL_SEPARATOR_SYMBOL
Ondalık ayraç.
NumberFormatter::GROUPING_SEPARATOR_SYMBOL
Gruplama ayracı.
NumberFormatter::PATTERN_SEPARATOR_SYMBOL
Şablon ayracı.
NumberFormatter::PERCENT_SYMBOL
Yüzde imi.
NumberFormatter::ZERO_DIGIT_SYMBOL
Sıfır.
NumberFormatter::DIGIT_SYMBOL
Şablonda bir rakamı ifade eden karakter.
NumberFormatter::MINUS_SIGN_SYMBOL
Eksi imi.
NumberFormatter::PLUS_SIGN_SYMBOL
Artı imi.
NumberFormatter::CURRENCY_SYMBOL
Para birimi simgesi.
NumberFormatter::INTL_CURRENCY_SYMBOL
Uluslararası para birimi simgesi.
NumberFormatter::MONETARY_SEPARATOR_SYMBOL
Para ayracı.
NumberFormatter::EXPONENTIAL_SYMBOL
Üstel imi.
NumberFormatter::PERMILL_SYMBOL
Binde imi.
NumberFormatter::PAD_ESCAPE_SYMBOL
Öncelem dolgu karakteri.
NumberFormatter::INFINITY_SYMBOL
Sonsuz imi.
NumberFormatter::NAN_SYMBOL
Bir-sayı-değil imi.
NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL
Kıymetli hane imi.
NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL
Para gruplama imi.

numfmt_get_attribute()
ve numfmt_set_attribute() işlevleri tarafından
NumberFormatter::ROUNDING_MODE özniteliği ile
kullanılan yuvarlama kipi değerleri.

NumberFormatter::ROUND_CEILING
Pozitif sonsuza yuvarlama kipi.
NumberFormatter::ROUND_DOWN
Sıfıra yuvarlama kipi.
NumberFormatter::ROUND_FLOOR
Negatif sonsuza yuvarlama kipi.
NumberFormatter::ROUND_HALFDOWN
İki komşuya da eşit uzaklıkta olmamak koşuluyla aşağı yuvarlama kipi.
NumberFormatter::ROUND_HALFEVEN
İki komşuya da eşit uzaklıkta olmamak koşuluyla çift sayılı komşuya yuvarlama kipi.
NumberFormatter::ROUND_HALFUP
İki komşuya da eşit uzaklıkta olmamak koşuluyla yukarı yuvarlama kipi.
NumberFormatter::ROUND_UP
Sıfırdan öteye yuvarlama kipi.

numfmt_get_attribute()
ve numfmt_set_attribute() işlevleri tarafından
NumberFormatter::PADDING_POSITION özniteliği ile
birlikte kullanılan dolgu konumu değerleri:

NumberFormatter::PAD_AFTER_PREFIX
Dolgu karakterlerini önekten sonra yerleştir.
NumberFormatter::PAD_AFTER_SUFFIX
Dolgu karakterlerini sonekten sonra yerleştir.
NumberFormatter::PAD_BEFORE_PREFIX
Dolgu karakterlerini önekten önce yerleştir.
NumberFormatter::PAD_BEFORE_SUFFIX
Dolgu karakterlerini sonekten önce yerleştir.

Ayrıca Bakınız

  • » ICU biçemleme belgeleri
  • » ICU sayı biçemleyicileri
  • » ICU ondalık sayı biçemleyicileri
  • » ICU kurala dayalı sayı biçemleyecileri

İçindekiler

  • NumberFormatter::create — Bir sayı biçemleyici oluşturur
  • NumberFormatter::formatCurrency — Bir para değerini biçemler
  • NumberFormatter::format — Bir sayıyı biçemler
  • NumberFormatter::getAttribute — Bir sayısal öznitelikle döner
  • NumberFormatter::getErrorCode — Biçemleyicinin son hata numarası ile döner
  • NumberFormatter::getErrorMessage — Biçemleyicinin son hata iletisini döndürür
  • NumberFormatter::getLocale — Biçemleyici yerelin ismi ile döner
  • NumberFormatter::getPattern — Biçemleyici tarafından kullanılan kalıp dizgesi ile döner
  • NumberFormatter::getSymbol — Simge değeri ile döner
  • NumberFormatter::getTextAttribute — Bir metin öznitelik ile döner
  • NumberFormatter::parseCurrency — Bir para gösteriminin sayısal değeri ile döner
  • NumberFormatter::parse — Bir sayı dizgesini sayıya dönüştürür
  • NumberFormatter::setAttribute — Bir öznitelik tanımlar
  • NumberFormatter::setPattern — Biçemleyici kalıbı tanımlar
  • NumberFormatter::setSymbol — Bir simge değeri tanımlar
  • NumberFormatter::setTextAttribute — Bir metin öznitelik tanımlar


Bir sayı biçemleyici oluşturur

  • « Sayı Biçemleyici
  • NumberFormatter::formatCurrency »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir sayı biçemleyici oluşturur

NumberFormatter::create

numfmt_create

NumberFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::create -- numfmt_create -- NumberFormatter::__construct — Bir sayı biçemleyici oluşturur

Açıklama

Nesne yönelimli kullanım

public static NumberFormatter::create(string $yerel, int $tür, ?string $kalıp = null): ?NumberFormatter

Yordamsal kullanım

numfmt_create(string $yerel, int $tür, ?string $kalıp = null): ?NumberFormatter

Nesne yönelimli kullanım (kurucu):

public NumberFormatter::__construct(string $yerel, int $tür, ?string $kalıp = null)

Bir sayı biçemleyici oluşturur.

Bağımsız Değişkenler

yerel

Sayının biçemleneceği yerel (tr_TR gibi bir yerel ismi).

tür

Biçemleyici türü sabitlerinden biri. Eğer değer olarak NumberFormatter::PATTERN_DECIMAL veya NumberFormatter::PATTERN_RULEBASED belirtilmişse, sayı biçemi, numfmt_set_pattern tarafından desteklenen kalıp karakterlerine veya » ICU RuleBasedNumberFormat belgesinde açıklanan sözdizimine uygun olarak belirtilen kalıba uygun olarak açılır.

kalıp

Biçemleyici türünün bir kalıp gerektirmesi durumunda kalıp dizgesi.

Dönen Değerler

Bir hata oluşursa null, aksi takdirde NumberFormatter nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kalıp artık null olabiliyor.

Örnekler

Örnek 1 - numfmt_create() örneği

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'tr', NumberFormatter::SPELLOUT );
echo numfmt_format($fmt, 1142)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo $fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'tr', NumberFormatter::SPELLOUT );
echo $fmt->format(1142)."\n";
?>

Yukarıdaki örneğin çıktısı:

1.234.567,891
bin yüz kırk iki

Ayrıca Bakınız

  • numfmt_format() - Bir sayıyı biçemler
  • numfmt_parse() - Bir sayı dizgesini sayıya dönüştürür


Bir para değerini biçemler

  • « NumberFormatter::create
  • NumberFormatter::format »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir para değerini biçemler

NumberFormatter::formatCurrency

numfmt_format_currency

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::formatCurrency -- numfmt_format_currency — Bir para değerini biçemler

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::formatCurrency(float $miktar, string $para_birimi): string|false

Yordamsal kullanım

numfmt_format_currency(NumberFormatter $biçemleyici, float $miktar, string $para_birimi): string|false

Biçemleyici kurallarına uygun olarak para miktarını biçemler.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

miktar

Sayısal olarak para miktarı.

para_birimi

3 harfli ISO 4217 para birimi.

Dönen Değerler

Biçemlenmiş para miktarı dizgesi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - numfmt_format_currency() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "TRL")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "YTL")."\n\n";
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
echo numfmt_format_currency($fmt, 1234567.891234567890000, "EUR")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "TRL")."\n";
echo numfmt_format_currency($fmt, 1234567.891234567890000, "TRY")."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "TRL")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "YTL")."\n\n";
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "TRL")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "TRY")."\n";
?>

Yukarıdaki örneğin çıktısı:

€1.234.567,89
TRL 1.234.568
YTL 1.234.567,89

1.234.567,89 €
1.234.568 TRL
1.234.567,89 TRY

Notlar

Bilginize:

Bu biçimlendirme yöntemiyle elde edilebilen biçimler, temel ICU kütüphanesinin, para birimini dar para birimi simgesiyle biçimlendirmek gibi, olanaklarını tam olarak kullanamaz.

Tüm olanaklar için msgfmt_format_message() kullanılabilir.

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_format() - Bir sayıyı biçemler
  • numfmt_parse_currency() - Bir para gösteriminin sayısal değeri ile döner
  • msgfmt_format_message() - İletiyi çabuk biçemler


Bir sayıyı biçemler

  • « NumberFormatter::formatCurrency
  • NumberFormatter::getAttribute »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir sayıyı biçemler

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_format — Bir sayıyı biçemler

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::format(int|float $sayı, int $tür = NumberFormatter::TYPE_DEFAULT): string|false

Yordamsal kullanım

numfmt_format(NumberFormatter $biçemleyici, int|float $sayı, int $tür = NumberFormatter::TYPE_DEFAULT): string|false

Bir sayıyı biçemleyici kurallarına uygun olarak biçemler.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

sayı

Biçemlenecek sayı. int veya float türünde olabilir, diğer türler bir sayısal türe dönüştürülür.

tür

Kullanılacak biçemleme türü. NumberFormatter::TYPE_CURRENCY sabitinin desteklenmediği unutulmamalı, yerine NumberFormatter::formatCurrency() kullanılmalıdır.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde biçemlenmiş değeri içeren dizge döner.

Örnekler

Örnek 1 - numfmt_format() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
report_error("Biçemleyici hatası");
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Biçemleyici hatası");
}
?>

Yukarıdaki örneğin çıktısı:

1.234.567,891

Notlar

Bilginize:

Bu biçimlendirme yöntemiyle elde edilebilen biçimler, temel ICU kütüphanesinin, para birimini dar para birimi simgesiyle biçimlendirmek gibi, olanaklarını tam olarak kullanamaz.

Tüm olanaklar için msgfmt_format_message() kullanılabilir.

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_format_currency() - Bir para değerini biçemler
  • numfmt_parse() - Bir sayı dizgesini sayıya dönüştürür
  • msgfmt_format_message() - İletiyi çabuk biçemler


Bir sayısal öznitelikle döner

  • « NumberFormatter::format
  • NumberFormatter::getErrorCode »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir sayısal öznitelikle döner

NumberFormatter::getAttribute

numfmt_get_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getAttribute -- numfmt_get_attribute — Bir sayısal öznitelikle döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getAttribute(int $öznitelik): int|float|false

Yordamsal kullanım

numfmt_get_attribute(NumberFormatter $biçemleyici, int $öznitelik): int|float|false

Biçemleyici ile ilgili belirtilen sayısal özniteliğin değerini döndürür. Tamsayı hanelerin sayısı, sayısal bir öznitelik örneği olarak verilebilir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

öznitelik

Öznitelik belirteci; sayısal öznitelik sabitlerinden biri.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde öznitelik değeri döner.

Örnekler

Örnek 1 - numfmt_get_attribute() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Hane sayısı: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Hane sayısı: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Hane sayısı: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Hane sayısı: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Hane sayısı: 3
1.234.567,891
Hane sayısı: 2
1.234.567,89

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_get_text_attribute() - Bir metin öznitelik ile döner
  • numfmt_set_attribute() - Bir öznitelik tanımlar


Biçemleyicinin son hata numarası ile döner

  • « NumberFormatter::getAttribute
  • NumberFormatter::getErrorMessage »
  • PHP Manual
  • Sayı Biçemleyici
  • Biçemleyicinin son hata numarası ile döner

NumberFormatter::getErrorCode

numfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getErrorCode -- numfmt_get_error_code — Biçemleyicinin son hata numarası ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getErrorCode(): int

Yordamsal kullanım

numfmt_get_error_code(NumberFormatter $biçemleyici): int

Biçimleyicinin çağrılan son işlevinden dönen hatanın numarasını döndürür.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

Dönen Değerler

Biçimleyicinin çağrılan son işlevinden dönen hatanın numarası.

Örnekler

Örnek 1 - numfmt_get_error_code() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_get_error_code($fmt))) {
report_error("Biçemleyici hatası");
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Biçemleyici hatası");
}
?>

Ayrıca Bakınız

  • numfmt_get_error_message() - Biçemleyicinin son hata iletisini döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Biçemleyicinin son hata iletisini döndürür

  • « NumberFormatter::getErrorCode
  • NumberFormatter::getLocale »
  • PHP Manual
  • Sayı Biçemleyici
  • Biçemleyicinin son hata iletisini döndürür

NumberFormatter::getErrorMessage

numfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getErrorMessage -- numfmt_get_error_message — Biçemleyicinin son hata iletisini döndürür

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getErrorMessage(): string

Yordamsal kullanım

numfmt_get_error_message(NumberFormatter $biçemleyici): string

Biçimleyicinin çağrılan son işlevinden dönen hatanın iletisini döndürür.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

Dönen Değerler

Biçimleyicinin çalışan son işlevinden dönen hatanın iletisini döndürür.

Örnekler

Örnek 1 - numfmt_get_error_message() örneği

<?php
$fmt = numfmt_create('tr_TR', NumberFormatter::DECIMAL);
$data = numfmt_format($fmt, 1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter('tr_TR', NumberFormatter::DECIMAL);
$fmt->format(1234567.891234567890000);
var_dump(numfmt_get_error_message($fmt));
?>

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Biçemleyici yerelin ismi ile döner

  • « NumberFormatter::getErrorMessage
  • NumberFormatter::getPattern »
  • PHP Manual
  • Sayı Biçemleyici
  • Biçemleyici yerelin ismi ile döner

NumberFormatter::getLocale

numfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getLocale -- numfmt_get_locale — Biçemleyici yerelin ismi ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getLocale(int $tür = ULOC_ACTUAL_LOCALE): string|false

Yordamsal kullanım

numfmt_get_locale(NumberFormatter $biçemleyici, int $tür = ULOC_ACTUAL_LOCALE): string|false

Biçemleyici yerelin ismi ile döner.

Bağımsız Değişkenler

fmt

NumberFormatter nesnesi.

tür

Geçerli yereli Locale::VALID_LOCALE sabitiyle fiili yereli Locale::ACTUAL_LOCALE sabitiyle belirtebilirsiniz. Fiili yerel öntanımlıdır.

Dönen Değerler

Biçemleyici yerelin ismi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - numfmt_get_locale() örneği

<?php
$req = 'tr_TR_OTTOMAN';
$fmt = numfmt_create( $req, NumberFormatter::DECIMAL);
$res_val = numfmt_get_locale( $fmt, Locale::VALID_LOCALE );
$res_act = numfmt_get_locale( $fmt, Locale::ACTUAL_LOCALE );
printf( "İstenen yerel ismi: %s\nGeçerli yerel ismi: %s\nFiili yerel ismi: %s\n",
$req, $res_val, $res_act );
?>

Yukarıdaki örneğin çıktısı:

İstenen yerel ismi: tr_TR_OTTOMAN
Geçerli yerel ismi: tr_TR
Fiili yerel ismi: tr

Ayrıca Bakınız

  • numfmt_create() - Bir sayı biçemleyici oluşturur
  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner


Biçemleyici tarafından kullanılan kalıp dizgesi ile döner

  • « NumberFormatter::getLocale
  • NumberFormatter::getSymbol »
  • PHP Manual
  • Sayı Biçemleyici
  • Biçemleyici tarafından kullanılan kalıp dizgesi ile döner

NumberFormatter::getPattern

numfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getPattern -- numfmt_get_pattern — Biçemleyici tarafından kullanılan kalıp dizgesi ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getPattern(): string|false

Yordamsal kullanım

numfmt_get_pattern(NumberFormatter $biçemleyici): string|false

Biçemleyici tarafından kullanılan kalıp dizgesi ile döner

Bağımsız Değişkenler

fmt

NumberFormatter nesnesi.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde biçemleyici tarafından kullanılan kalıp dizgesi ile döner.

Örnekler

Örnek 1 - numfmt_get_pattern() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Kalıp: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Kalıp: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Kalıp: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Kalıp: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Kalıp: #,##0.###
1.234.567,891
Kalıp: #0.# kg
1234567,9 kg

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_set_pattern() - Biçemleyici kalıbı tanımlar
  • numfmt_create() - Bir sayı biçemleyici oluşturur


Simge değeri ile döner

  • « NumberFormatter::getPattern
  • NumberFormatter::getTextAttribute »
  • PHP Manual
  • Sayı Biçemleyici
  • Simge değeri ile döner

NumberFormatter::getSymbol

numfmt_get_symbol

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getSymbol -- numfmt_get_symbol — Simge değeri ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getSymbol(int $simge): string|false

Yordamsal kullanım

numfmt_get_symbol(NumberFormatter $biçemleyici, int $simge): string|false

Biçemleyici ile ilgili bir simge döndürür. Biçemleyici, bir sayıda yüzde imi gibi yerele bağlı karakterleri ifade eden simgeler kullanır. Bu arayüz, kurala dayalı biçemleyicileri desteklemez.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

simge

Biçem simgesi sabitlerinden biri olarak simge belirteci.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde simge dizgesi döner.

Örnekler

Örnek 1 - numfmt_get_symbol() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Ayraç: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Ayraç: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Ayraç: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Ayraç: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Ayraç: .
1.234.567,891
Ayraç: *
1*234*567,891

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_set_symbol() - Bir simge değeri tanımlar


Bir metin öznitelik ile döner

  • « NumberFormatter::getSymbol
  • NumberFormatter::parseCurrency »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir metin öznitelik ile döner

NumberFormatter::getTextAttribute

numfmt_get_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::getTextAttribute -- numfmt_get_text_attribute — Bir metin öznitelik ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::getTextAttribute(int $öznitelik): string|false

Yordamsal kullanım

numfmt_get_text_attribute(NumberFormatter $biçemleyici, int $öznitelik): string|false

Biçemleyici ile ilgili bir metin öznitelik değeri ile döner. Pozitif sayı soneki, bir metin öznitelik örneği olarak verilebilir. Eğer biçimleyici özniteliği anlamazsa U_UNSUPPORTED_ERROR hatası üretilir. Kurala dayalı biçemleyiciler sadece NumberFormatter::DEFAULT_RULESET ve NumberFormatter::PUBLIC_RULESETS kural kümeleridir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

öznitelik

Öznitelik belirteci. Metin öznitelik sabitlerinden biri.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde öznitelik değeri döner.

Örnekler

Örnek 1 - numfmt_get_text_attribute() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Önek: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "EKSİ");
echo "Önek: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Önek: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "EKSİ");
echo "Önek: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Önek: -
-1.234.567,891
Önek: EKSİ
EKSİ1.234.567,891

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_get_attribute() - Bir sayısal öznitelikle döner
  • numfmt_set_text_attribute() - Bir metin öznitelik tanımlar


Bir para gösteriminin sayısal değeri ile döner

  • « NumberFormatter::getTextAttribute
  • NumberFormatter::parse »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir para gösteriminin sayısal değeri ile döner

NumberFormatter::parseCurrency

numfmt_parse_currency

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::parseCurrency -- numfmt_parse_currency — Bir para gösteriminin sayısal değeri ile döner

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::parseCurrency(string $dizge, string &$para_simgesi, int &$konum = null): float|false

Yordamsal kullanım

numfmt_parse_currency(
NumberFormatter $biçemleyici,
string $dizge,
string &$para_simgesi,
int &$konum = null
): float|false

Geçerli biçemleyiciyi kullanarak, bir para dizgesini float türünde bir sayıya ve para birimine dönüştürür.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

dizge

Sayıya dönüştürülecek dizge.

para_simgesi

Para biriminin döndürüleceği bağımsız değişken (3 harflik ISO 4217 para birimi).

konum

Çözümlemenin başlatılacağı dizge konumu. İşlev döndüğünde bu bağımsız değişken çözümlemenin bittiği konumu gösterir.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde dönüştürülen sayı değeri döner.

Örnekler

Örnek 1 - numfmt_parse_currency() örneği

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".numfmt_parse_currency($fmt, $num, $curr)." in $curr\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
$num = "1.234.567,89\xc2\xa0$";
echo "We have ".$fmt->parseCurrency($num, $curr)." in $curr\n";
?>

Yukarıdaki örneğin çıktısı:

We have 1234567.89 in USD

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_parse() - Bir sayı dizgesini sayıya dönüştürür
  • numfmt_format_currency() - Bir para değerini biçemler


Bir sayı dizgesini sayıya dönüştürür

  • « NumberFormatter::parseCurrency
  • NumberFormatter::setAttribute »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir sayı dizgesini sayıya dönüştürür

NumberFormatter::parse

numfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::parse -- numfmt_parse — Bir sayı dizgesini sayıya dönüştürür

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::parse(string $dizge, int $tür = NumberFormatter::TYPE_DOUBLE, int &$konum = null): int|float|false

Yordamsal kullanım

numfmt_parse(
NumberFormatter $biçemleyici,
string $dizge,
int $tür = NumberFormatter::TYPE_DOUBLE,
int &$konum = null
): int|float|false

Geçerli biçemleyici kurallarına uygun olarak bir dizgeyi bir sayıya çevirir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

dizge

Sayıya dönüştürülecek dizge.

tür

Kullanılacak biçemleme türü. Öntanımlı olarak, NumberFormatter::TYPE_DOUBLE kullanılır. NumberFormatter::TYPE_CURRENCY sabitinin desteklenmediği unutulmamalı, yerine NumberFormatter::parseCurrency() kullanılmalıdır.

konum

Çözümlemenin başlatılacağı dizge konumu. İşlev döndüğünde bu bağımsız değişken çözümlemenin bittiği konumu gösterir.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde dönüştürülen sayı değeri döner.

Örnekler

Örnek 1 - numfmt_parse() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo numfmt_parse($fmt, $num)."\n";
echo numfmt_parse($fmt, $num, NumberFormatter::TYPE_INT32)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
$num = "1.234.567,891";
echo $fmt->parse($num)."\n";
echo $fmt->parse($num, NumberFormatter::TYPE_INT32)."\n";
?>

Yukarıdaki örneğin çıktısı:

1234567.891
1234567

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_format() - Bir sayıyı biçemler
  • numfmt_parse_currency() - Bir para gösteriminin sayısal değeri ile döner


Bir öznitelik tanımlar

  • « NumberFormatter::parse
  • NumberFormatter::setPattern »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir öznitelik tanımlar

NumberFormatter::setAttribute

numfmt_set_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::setAttribute -- numfmt_set_attribute — Bir öznitelik tanımlar

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::setAttribute(int $öznitelik, int|float $değer): bool

Yordamsal kullanım

numfmt_set_attribute(NumberFormatter $biçemleyici, int $öznitelik, int|float $değer): bool

Biçemleyici ile ilgili sayısal bir özniteliğe bir değer tanımlar. Tamsayı hanelerin sayısı, sayısal bir öznitelik örneği olarak verilebilir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

öznitelik

Öznitelik belirteci; sayısal öznitelik sabitlerinden biri.

değer

Öznitelik değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - numfmt_set_attribute() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Hane sayısı: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Hane sayısı: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Hane sayısı: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
echo "Hane sayısı: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Hane sayısı: 3
1.234.567,891
Hane sayısı: 2
1.234.567,89

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_get_attribute() - Bir sayısal öznitelikle döner
  • numfmt_set_text_attribute() - Bir metin öznitelik tanımlar


Biçemleyici kalıbı tanımlar

  • « NumberFormatter::setAttribute
  • NumberFormatter::setSymbol »
  • PHP Manual
  • Sayı Biçemleyici
  • Biçemleyici kalıbı tanımlar

NumberFormatter::setPattern

numfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::setPattern -- numfmt_set_pattern — Biçemleyici kalıbı tanımlar

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::setPattern(string $kalıp): bool

Yordamsal kullanım

numfmt_set_pattern(NumberFormatter $biçemleyici, string $kalıp): bool

Biçemleyici tarafından kullanılan kalıbı tanımlar. Kurala dayalı biçemleyicilerde kullanılamaz.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

kalıp
numfmt_set_pattern() tarafından desteklenen kalıp karakterleri
simge | Konum | Yerelleşti rilebilir mi | Açıklama
0 | Rakam | Evet | Rakam
1-9 | Rakam | Evet | Yuvarlama belirten '1'den '9'a kadar rakam
@ Rakam Hayır Anlamlı hane.
# Rakam Evet Rakam; sıfır yokluk ifade eder.
. Rakam Evet Ondalık veya kuruş ayracı.
- Rakam Evet Eksi imi.
, Rakam Evet Gruplama ayracı.
E | Rakam | Evet | Bilimsel gösterimde sayı ile üssü ayırır. Önek veya sonek içinde tırnak içine alınmaz.
+ Üs Evet Yerelleştirilmiş artı imi ile potitif üs için önek. Önek veya sonek içinde tırnak içine alınmaz.
; Alt kalıplar arasında Evet Pozitif ve negatif alt kalıpları ayırır.
% Önek veya sonek Evet 100 ile çarpma veya yüzde gösterimi.
‰ (\u2030) | Önek veya sonek | Evet | 1000 ile çarpma veya binde gösterimi.
¤ (\u00A4) | Önek veya sonek | Hayır | Tek olursa yerel para simgesi ile, çift olursa uluslararası para simgesi ile değiştirilir. Bu simgenin bulunduğu bir kalıpta ondalık ayraç yerine kuruş ayracı kullanılır.
' Önek veya sonek Hayır Önek veya sonek içinde özel karakterleri tırnak içine almak için kullanılır. Örneğin, "'#'#" kalıbı 123 sayısını "#123" olarak biçemler. Tek tırnağın kendisini belirtmek için "# o''clock" örneğindeki gibi kendisiyle öncelenir.
* Önek veya sonek Evet Dolgu karakterini önceler.

Ayrıca, » ICU DecimalFormat belgesinden de yararlanılabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 numfmt_set_pattern() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Kalıp: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_pattern($fmt, "#0.# kg");
echo "Kalıp: ".numfmt_get_pattern($fmt)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Kalıp: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setPattern("#0.# kg");
echo "Kalıp: ".$fmt->getPattern()."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Kalıp: #,##0.###
1.234.567,891
Kalıp: #0.# kg
1234567,9 kg

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_create() - Bir sayı biçemleyici oluşturur
  • numfmt_get_pattern() - Biçemleyici tarafından kullanılan kalıp dizgesi ile döner


Bir simge değeri tanımlar

  • « NumberFormatter::setPattern
  • NumberFormatter::setTextAttribute »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir simge değeri tanımlar

NumberFormatter::setSymbol

numfmt_set_symbol

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::setSymbol -- numfmt_set_symbol — Bir simge değeri tanımlar

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::setSymbol(int $simge, string $değer): bool

Yordamsal kullanım

numfmt_set_symbol(NumberFormatter $biçemleyici, int $simge, string $değer): bool

Bir biçemleyici ile ilgili bir simge tanımlar. Biçemleyici, bir sayıda yüzde imi gibi yerele bağlı karakterleri ifade eden simgeler kullanır. Bu arayüz, kurala dayalı biçemleyicileri desteklemez.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

simge

Biçem simgesi sabitlerinden biri olarak simge belirteci.

değer

Simge için metin.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - numfmt_set_symbol() örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Ayraç: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
numfmt_set_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Ayraç: ".numfmt_get_symbol($fmt, NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo numfmt_format($fmt, 1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Ayraç: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
$fmt->setSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL, "*");
echo "Ayraç: ".$fmt->getSymbol(NumberFormatter::GROUPING_SEPARATOR_SYMBOL)."\n";
echo $fmt->format(1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Ayraç: .
1.234.567,891
Ayraç: *
1*234*567,891

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_get_symbol() - Simge değeri ile döner


Bir metin öznitelik tanımlar

  • « NumberFormatter::setSymbol
  • Yerel »
  • PHP Manual
  • Sayı Biçemleyici
  • Bir metin öznitelik tanımlar

NumberFormatter::setTextAttribute

numfmt_set_text_attribute

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::setTextAttribute -- numfmt_set_text_attribute — Bir metin öznitelik tanımlar

Açıklama

Nesne yönelimli kullanım

public NumberFormatter::setTextAttribute(int $öznitelik, string $değer): bool

Yordamsal kullanım

numfmt_set_text_attribute(NumberFormatter $biçemleyici, int $öznitelik, string $değer): bool

Biçemleyici ile ilgili bir metin tanımlar. Bir metin özniteliğe bir örnek olarak pozitif sayı soneki gösterilebilir. Eğer biçemleyici özniteliği anlamazsa U_UNSUPPORTED_ERROR hatası üretilir. Kurala dayalı biçemleyiciler sadece NumberFormatter::DEFAULT_RULESET ve NumberFormatter::PUBLIC_RULESETS kural kümeleridir.

Bağımsız Değişkenler

biçemleyici

NumberFormatter nesnesi.

öznitelik

Öznitelik belirteci. metin öznitelik sabitlerinden biri.

değer

Öznitelik değeri için metin.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Yordamsal kullanım örneği

<?php
$fmt = numfmt_create( 'tr_TR', NumberFormatter::DECIMAL );
echo "Önek: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
numfmt_set_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX, "EKSİ");
echo "Önek: ".numfmt_get_text_attribute($fmt, NumberFormatter::NEGATIVE_PREFIX)."\n";
echo numfmt_format($fmt, -1234567.891234567890000)."\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new NumberFormatter( 'tr_TR', NumberFormatter::DECIMAL );
echo "Önek: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
$fmt->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "EKSİ");
echo "Önek: ".$fmt->getTextAttribute(NumberFormatter::NEGATIVE_PREFIX)."\n";
echo $fmt->format(-1234567.891234567890000)."\n";
?>

Yukarıdaki örneğin çıktısı:

Önek: -
-1.234.567,891
Önek: EKSİ
EKSİ1.234.567,891

Ayrıca Bakınız

  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner
  • numfmt_get_text_attribute() - Bir metin öznitelik ile döner
  • numfmt_set_attribute() - Bir öznitelik tanımlar


Locale sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Bir yerel (Locale), API'den dili, kültürü ve bölgeye özge özellikleri öğrenmek için kullanılan bir betimleyicidir. PHP yerelleri ICU (ve birçok Unix benzeri sistem üreticisi, Mac, Java, vs.) tarafından kullanılan CLDR yerelleriyle aynı yöntemle düzenlenip betimlenirler. Yereller, (alt çizgi yerine tire kullanılan) RFC 4646 dil yaftalarına ek olarak daha geleneksel olan alt çizgi kullanan betimleyiciler kullanılarak da betimlenebilir. Aksi belirtilmedikçe bu sınıftaki işlevler her iki gösterim biçemine de duyarlıdır.

Yerel betimleyicileri için örnekler:

  • tr-TR (Türkçe, Türkiye)
  • zh-Hant-TW (Çince, Geleneksel Yazı, Tayvan)
  • fr-CA, fr-FR (Kanada Fransızcası ve Fransa Fransızcası)

Locale sınıfı (ve ilgili yordamsal işlevler) yerel betimleyicileri ile etkileşim, bir betimleyicinin iyi biçimliliğini, geçerliliğini doğrulama, vs. için kullanılırlar. UAX #35'teki (ve ICU tarafından miras alınan) CLDR tarafından kullanılan eklentiler ICU'da da normal olarak geçerlidir ve kullanılırlar.

Locale sınıfı bir nesne olarak örneklenemez. Sağlanan tüm işlev/yöntemler duruktur.

Boş veya null dizge "kök" yerel olarak ele alınır ve CLDR'de "en_US_POSIX" yereline denktir. Dil yaftaları (ve dolayısıyla yerel betimleyicileri) harf büyüklüğüne duyarsızdır. Belirtimle harf eşleştirmesi yapacak bir meşrulaştırma işlevi mevcuttur.

Sınıf Sözdizimi

class Locale {
/* Sabitler */
public const int ACTUAL_LOCALE;
public const int VALID_LOCALE;
public const null DEFAULT_LOCALE = null;
public const string LANG_TAG;
public const string EXTLANG_TAG;
public const string SCRIPT_TAG;
public const string REGION_TAG;
public const string VARIANT_TAG;
public const string GRANDFATHERED_LANG_TAG;
public const string PRIVATE_TAG;
/* Yöntemler */
public static acceptFromHttp(string $başlık): string|false
public static canonicalize(string $locale): ?string
public static composeLocale(array $alt_yaftalar): string|false
public static filterMatches(string $dil_yaftası, string $yerel, bool $meşru = false): ?bool
public static getAllVariants(string $yerel): ?array
public static getDefault(): string
public static getDisplayLanguage(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false
public static getDisplayName(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false
public static getDisplayRegion(string $ülke_yereli, ?string $adlandırma_yereli = null): string|false
public static getDisplayScript(string $yazı_yereli, ?string $adlandırma_yereli = null): string|false
public static getDisplayVariant(string $lehçe_yereli, ?string $adlandırma_yereli = null): string|false
static getKeywords(string $yerel): array|false|null
public static getPrimaryLanguage(string $yerel): ?string
public static getRegion(string $yerel): ?string
publicstatic getScript(string $yerel): ?string
public static lookup(
array $dil_yaftası,
string $yerel,
bool $meşru = false,
?string $öntanımlı_yerel = null
): ?string
public static parseLocale(string $yerel): ?array
public static setDefault(string $yerel): bool
}

Öntanımlı Sabitler

Locale::DEFAULT_LOCALE
NumberFormatter gibi yereli etkileyen çeşitli sınıfların çeşitli yöntemlerinde yerel bağımsız değişkeni olarak kullanılır. Bu sabit, bu yöntemlerin öntanımlı yereli kullanmasını sağlar.

Bu sabitler çeşitli sınıfların getLocale yöntemleri için yerel seçimlerini belirler.

Locale::ACTUAL_LOCALE
Asıl verinin geldiği yereldir.
Locale::VALID_LOCALE
ICU tarafından desteklenen en geçerli yereldir.

Bu sabitler, yerellerin nasıl çözümlenip oluşturulduğunu tanımlar. Bunların, locale_compose() işlevinin dizi bağımsız değişkeninde anahtar olarak kullanılması gerekir ve locale_parse() işlevinden dönen ilişkisel dizinin anahtarlarıdırlar.

Locale::LANG_TAG
Dil alt yaftası
Locale::EXTLANG_TAG
Ek dil alt yaftası
Locale::SCRIPT_TAG
Yazı alt yaftası
Locale::REGION_TAG
Bölge yaftası
Locale::VARIANT_TAG
Lehçe alt yaftası
Locale::GRANDFATHERED_LANG_TAG
Ebeveyn dil alt yaftası
Locale::PRIVATE_TAG
Özel alt yafta

Ayrıca Bakınız

  • » RFC 4646 - Dilleri Betimleyen Yaftalar
  • » RFC 4647 - Dil Yaftalarıyla Eşleşme
  • » Unicode CLDR Projesi: Ortak Yerel Veri Deposu
  • » IANA Dil Alt Yaftaları Kütüğü
  • » ICU Kullanıcı Kılavuzu - Yerel
  • » ICU Locale API'si

İçindekiler

  • Locale::acceptFromHttp — HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır
  • Locale::canonicalize — Canonicalize the locale string
  • Locale::composeLocale — Doğru sıralanmış yerel ile döner
  • Locale::filterMatches — Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar
  • Locale::getAllVariants — Girdi yerelindeki tüm lehçeleri döndürür
  • Locale::getDefault — Öntanımlı yerel değerini döndürür
  • Locale::getDisplayLanguage — Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
  • Locale::getDisplayName — Girdi yerelinin yerelleştirilmiş ismini döndürür
  • Locale::getDisplayRegion — Girdi yereli için yerelleştirilmiş ülke ismini döndürür
  • Locale::getDisplayScript — Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
  • Locale::getDisplayVariant — Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür
  • Locale::getKeywords — Girdi yerelindeki anahtar sözcükleri döndürür
  • Locale::getPrimaryLanguage — Girdi yerelinden anadil kodunu döndürür
  • Locale::getRegion — Girdi yerelinden ülke kodunu döndürür
  • Locale::getScript — Girdi yereli için yazı yaftasını döndürür
  • Locale::lookup — En iyi eşleşen dili bulmak için dil yaftası listesini araştırır
  • Locale::parseLocale — Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür
  • Locale::setDefault — Öntanımlı çalışma anı yerelini tanımlar


HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır

  • « Yerel
  • Locale::canonicalize »
  • PHP Manual
  • Yerel
  • HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır

Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_http — HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır

Açıklama

Nesne yönelimli kullanım

public static Locale::acceptFromHttp(string $başlık): string|false

Yordamsal kullanım

locale_accept_from_http(string $başlık): string|false

HTTP "Accept-Language" başlığında talep edilen dillerle en uyumlu yereli bulmaya çalışır.

Bağımsız Değişkenler

başlık

"Accept-Language" başlığını RFC 2616'daki biçeme uygun olarak içeren dizge .

Dönen Değerler

Başlıkla eşleşen yerel.

başlık INTL_MAX_LOCALE_LEN'den uzunsa false döner.

Örnekler

Örnek 1 - locale_accept_from_http() örneği

<?php
$locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;
?>

Yukarıdaki örneğin çıktısı:

tr_TR

Ayrıca Bakınız

  • locale_lookup() - En iyi eşleşen dili bulmak için dil yaftası listesini araştırır


Canonicalize the locale string

  • « Locale::acceptFromHttp
  • Locale::composeLocale »
  • PHP Manual
  • Yerel
  • Canonicalize the locale string

Locale::canonicalize

locale_canonicalize

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::canonicalize -- locale_canonicalize — Canonicalize the locale string

Açıklama

public static Locale::canonicalize(string $locale): ?string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler

Canonicalized locale string.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.


Doğru sıralanmış yerel ile döner

  • « Locale::canonicalize
  • Locale::filterMatches »
  • PHP Manual
  • Yerel
  • Doğru sıralanmış yerel ile döner

Locale::composeLocale

locale_compose

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::composeLocale -- locale_compose — Doğru sıralanmış yerel ile döner

Açıklama

Nesne yönelimli kullanım

public static Locale::composeLocale(array $alt_yaftalar): string|false

Yordamsal kullanım

locale_compose(array $alt_yaftalar): string|false

Anahtarların yerel alt yaftalarının betimleyicileri, değerlerin ise bu alt yaftalarla ilişkili değerler olduğu bir ilişkisel dizi ile belirtilen yereli bu alt yaftaları doğru sırayla birleştirerek oluşturur.

Bağımsız Değişkenler

alt_yaftalar

Anahtarların yerel alt yaftalarının betimleyicileri, değerlerin ise bu alt yaftalarla ilişkili değerler olduğu bir ilişkisel dizi.

Bilginize:

'extlang' anahtarı en fazla 3 değer alabilirken 'variant' ve 'private' alt yaftaları en fazla 15 değer alabilir ve 0-14 indislerine sahip olabilir. Bu bakımdan, girdi dizisindeki anahtarlar variant0, variant1, ..., variant14 olabilir. Döndürülen yerele bu yaftalar sonek olarak bu sırayla yerleştirilir.

'variant', 'private' ve 'extlang' için çoklu değerler belli bir anahtarın ('variant' gibi) alt dizisi olarak (bu durumda alt yafta numara sınırlaması uygulanmaz) belirtilebileceği gibi 'variant0', 'variant1', şeklinde ayrı ayrı anahtar-değer çiftleriyle de belirtilebilir.

Dönen Değerler

alt_yaftalar boşsa false, yoksa oluşturulan yerelin tanıtıcısı döner.

Örnekler

Örnek 1 - locale_compose() örneği

<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo locale_compose($arr);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$arr = array(
'language'=>'en',
'script' =>'Hans',
'region' =>'CN',
'variant2'=>'rozaj',
'variant1'=>'nedis',
'private1'=>'prv1',
'private2'=>'prv2'
);
echo Locale::composeLocale($arr);
?>

Yukarıdaki örneğin çıktısı:

Locale: en_Hans_CN_nedis_rozaj_x_prv1_prv2

Örnek 3 - Alt yafta sınırlaması

alt_yaftalar numara sonlandırmalı olarak ayrı anahtarlar olarak belirtilirse, desteklenmeyen anahtarlar sessizce yok sayılır (bu durumda'extlang3') ve sonuç numaralara göre sıralanır. Alt yaftalar bir dizi olarak belirtilirse sıralamaya numara sınırlaması uygulanmaz.

<?php
$arr = array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang3' => 'd',
'extlang2' => 'c',
'extlang1' => 'b',
'extlang0' => 'a',
);
echo locale_compose($arr), PHP_EOL;

$arr = array(
'language' => 'en',
'script' => 'Hans',
'region' => 'CN',
'extlang' => ['a', 'b', 'c', 'd'],
);
echo locale_compose($arr), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

en_a_b_c_Hans_CN
en_a_b_c_d_Hans_CN

Ayrıca Bakınız

  • locale_parse() - Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür


Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar

  • « Locale::composeLocale
  • Locale::getAllVariants »
  • PHP Manual
  • Yerel
  • Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar

Locale::filterMatches

locale_filter_matches

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::filterMatches -- locale_filter_matches — Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar

Açıklama

Nesne yönelimli kullanım

public static Locale::filterMatches(string $dil_yaftası, string $yerel, bool $meşru = false): ?bool

Yordamsal kullanım

locale_filter_matches(string $dil_yaftası, string $yerel, bool $meşru = false): ?bool

RFC 4647'nin temel süzme algoritmasına göre dil_yaftasının yerel ile eşleşip eşleşmediğine bakar.

Bağımsız Değişkenler

dil_yaftası

Sınanacak dil yaftası.

yerel

Dil yaftasının sınanacağı yerel.

meşru

true ise bağımsız değişkenler eşleştirilmeden önce meşru biçeme dönüştürülür.

Dönen Değerler

dil_yaftası ile yerel eşleşirse true eşleşmezse false döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Örnekler

Örnek 1 - locale_filter_matches() örneği

<?php
echo (locale_filter_matches('de-DEVA','de-DE', false)) ?
"Eşleşir" : "Eşleşmez";
echo '; ';
echo (locale_filter_matches('de-DE_1996','de-DE', false)) ?
"Eşleşir" : "Eşleşmez";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo (Locale::filterMatches('de-DEVA','de-DE', false)) ?
"Eşleşir" : "Eşleşmez";
echo '; ';
echo (Locale::filterMatches('de-DE-1996','de-DE', false)) ?
"Eşleşir" : "Eşleşmez";
?>

Yukarıdaki örneğin çıktısı:

Eşleşmez; Eşleşir

Ayrıca Bakınız

  • locale_lookup() - En iyi eşleşen dili bulmak için dil yaftası listesini araştırır


Girdi yerelindeki tüm lehçeleri döndürür

  • « Locale::filterMatches
  • Locale::getDefault »
  • PHP Manual
  • Yerel
  • Girdi yerelindeki tüm lehçeleri döndürür

Locale::getAllVariants

locale_get_all_variants

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getAllVariants -- locale_get_all_variants — Girdi yerelindeki tüm lehçeleri döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getAllVariants(string $yerel): ?array

Yordamsal kullanım

locale_get_all_variants(string $yerel): ?array

Girdi yerelindeki tüm lehçeleri döndürür.

Bağımsız Değişkenler

yerel

Lehçelerin çıkarılacağı yerel.

Dönen Değerler

Varsa girdi yerelindeki tüm lehçeler bir dizi içinde döner, yoksa null döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Örnekler

Örnek 1 - locale_get_all_variants() örneği

<?php
$arr = locale_get_all_variants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$arr = Locale::getAllVariants('sl_IT_NEDIS_ROJAZ_1901');
var_export( $arr );
?>

Yukarıdaki örneğin çıktısı:

array (
    0 => 'NEDIS',
    1 => 'ROJAZ',
    2 => '1901',
)

Ayrıca Bakınız

  • locale_get_primary_language() - Girdi yerelinden anadil kodunu döndürür
  • locale_get_script() - Girdi yereli için yazı yaftasını döndürür
  • locale_get_region() - Girdi yerelinden ülke kodunu döndürür


Öntanımlı yerel değerini döndürür

  • « Locale::getAllVariants
  • Locale::getDisplayLanguage »
  • PHP Manual
  • Yerel
  • Öntanımlı yerel değerini döndürür

Locale::getDefault

locale_get_default

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDefault -- locale_get_default — Öntanımlı yerel değerini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDefault(): string

Yordamsal kullanım

locale_get_default(): string

Küresel 'default_locale' değişkenindeki öntanımlı yerel değerini döndürür. Bu değer PHP yapılandırması sırasında php.ini dosyasında intl.default_locale yönergesine atanır. Öntanımlı yerel, php.ini dosyasında belirtilmemişse ICU'nun uloc_getDefault() işlevi kullanılır.

Bağımsız Değişkenler

Dönen Değerler

Geçerli çalışma anı yereli.

Örnekler

Örnek 1 - locale_get_default() örneği

<?php
ini_set('intl.default_locale', 'tr-TR');
echo locale_get_default();
echo '; ';
locale_set_default('en');
echo locale_get_default();
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
ini_set('intl.default_locale', 'tr-TR');
echo Locale::getDefault();
echo '; ';
Locale::setDefault('en');
echo Locale::getDefault();
?>

Yukarıdaki örneğin çıktısı:

tr-TR; en

Ayrıca Bakınız

  • locale_set_default() - Öntanımlı çalışma anı yerelini tanımlar


Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür

  • « Locale::getDefault
  • Locale::getDisplayName »
  • PHP Manual
  • Yerel
  • Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür

Locale::getDisplayLanguage

locale_get_display_language

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDisplayLanguage -- locale_get_display_language — Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDisplayLanguage(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false

Yordamsal kullanım

locale_get_display_language(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false

Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür. adlandırma_yereli null ise öntanımlı yerel kullanılır.

Bağımsız Değişkenler

hedef_yerel

Anadil adı döndürülecek yerel.

adlandırma_yereli

İsteğe bağlı olarak anadil isminin gösteriminde kullanılacak yerel.

Dönen Değerler

hedef_yerel ile belirtilen yerelin anadil kodunun adlandırma_yereli ile belirtilen yereldeki ismi döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adlandırma_yereli artık null olabiliyor.

Örnekler

Örnek 1 - locale_get_display_language() örneği

<?php
echo locale_get_display_language('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_language('sl-Latn-IT-nedis', 'tr');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayLanguage('sl-Latn-IT-nedis', 'tr');
?>

Yukarıdaki örneğin çıktısı:

Slovenian;
slovène;
Slovence

Ayrıca Bakınız

  • locale_get_display_name() - Girdi yerelinin yerelleştirilmiş ismini döndürür
  • locale_get_display_script() - Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
  • locale_get_display_region() - Girdi yereli için yerelleştirilmiş ülke ismini döndürür
  • locale_get_display_variant() - Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür


Girdi yerelinin yerelleştirilmiş ismini döndürür

  • « Locale::getDisplayLanguage
  • Locale::getDisplayRegion »
  • PHP Manual
  • Yerel
  • Girdi yerelinin yerelleştirilmiş ismini döndürür

Locale::getDisplayName

locale_get_display_name

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDisplayName -- locale_get_display_name — Girdi yerelinin yerelleştirilmiş ismini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDisplayName(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false

Yordamsal kullanım

locale_get_display_name(string $hedef_yerel, ?string $adlandırma_yereli = null): string|false

Girdi yerelinin yerelleştirilmiş ismini döndürür. adlandırma_yereli null ise öntanımlı yerel kullanılır.

Bağımsız Değişkenler

hedef_yerel

İsmi gösterilecek yerel.

adlandırma_yereli

İsteğe bağlı olarak yerel isminin gösteriminde kullanılacak yerel.

Dönen Değerler

hedef_yerel ile belirtilen yerelin adlandırma_yereli ile belirtilen yereldeki ismi döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adlandırma_yereli artık null olabiliyor.

Örnekler

Örnek 1 - locale_get_display_name() örneği

<?php
echo locale_get_display_name('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_name('sl-Latn-IT-nedis', 'tr');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayName('sl-Latn-IT-nedis', 'tr');
?>

Yukarıdaki örneğin çıktısı:

Slovenian (Latin, Italy, Natisone dialect);
slovène (latin, Italie, dialecte de Natisone);
Slovence (Latin, İtalya, Natisone Lehçesi)

Ayrıca Bakınız

  • locale_get_display_language() - Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
  • locale_get_display_script() - Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
  • locale_get_display_region() - Girdi yereli için yerelleştirilmiş ülke ismini döndürür
  • locale_get_display_variant() - Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür


Girdi yereli için yerelleştirilmiş ülke ismini döndürür

  • « Locale::getDisplayName
  • Locale::getDisplayScript »
  • PHP Manual
  • Yerel
  • Girdi yereli için yerelleştirilmiş ülke ismini döndürür

Locale::getDisplayRegion

locale_get_display_region

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDisplayRegion -- locale_get_display_region — Girdi yereli için yerelleştirilmiş ülke ismini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDisplayRegion(string $ülke_yereli, ?string $adlandırma_yereli = null): string|false

Yordamsal kullanım

locale_get_display_region(string $ülke_yereli, ?string $adlandırma_yereli = null): string|false

Girdi yereli için yerelleştirilmiş ülke ismini döndürür. adlandırma_yereli null ise öntanımlı yerel kullanılır.

Bağımsız Değişkenler

ülke_yereli

Ülke ismi gösterilecek yerel.

adlandırma_yereli

İsteğe bağlı olarak ülke isminin gösteriminde kullanılacak yerel.

Dönen Değerler

ülke_yereli bağımsız değişkenindeki yerel yaftasında belirtilen ülke isminin adlandırma_yereli ile belirtilen yereldeki karşılığı döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adlandırma_yereli artık null olabiliyor.

Örnekler

Örnek 1 - locale_get_display_region() örneği

<?php
echo locale_get_display_region('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_region('sl-Latn-IT-nedis', 'tr');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayRegion('sl-Latn-IT-nedis', 'tr');
?>

Yukarıdaki örneğin çıktısı:

Italy;
Italie;
İtalya

Ayrıca Bakınız

  • locale_get_display_name() - Girdi yerelinin yerelleştirilmiş ismini döndürür
  • locale_get_display_language() - Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
  • locale_get_display_script() - Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
  • locale_get_display_variant() - Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür


Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür

  • « Locale::getDisplayRegion
  • Locale::getDisplayVariant »
  • PHP Manual
  • Yerel
  • Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür

Locale::getDisplayScript

locale_get_display_script

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDisplayScript -- locale_get_display_script — Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDisplayScript(string $yazı_yereli, ?string $adlandırma_yereli = null): string|false

Yordamsal kullanım

locale_get_display_script(string $yazı_yereli, ?string $adlandırma_yereli = null): string|false

Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür. adlandırma_yereli null ise öntanımlı yerel kullanılır.

Bağımsız Değişkenler

yazı_yereli

Yazı türü gösterilecek yerel.

adlandırma_yereli

İsteğe bağlı olarak yazı isminin gösteriminde kullanılacak yerel.

Dönen Değerler

yazı_yereli bağımsız değişkenindeki yerel yaftasında belirtilen yazı isminin adlandırma_yereli ile belirtilen yereldeki karşılığı döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adlandırma_yereli artık null olabiliyor.

Örnekler

Örnek 1 - locale_get_display_script() örneği

<?php
echo locale_get_display_script('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'de');
echo ";\n";
echo locale_get_display_script('sl-Latn-IT-nedis', 'tr');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'de');
echo ";\n";
echo Locale::getDisplayScript('sl-Latn-IT-nedis', 'tr');
?>

Yukarıdaki örneğin çıktısı:

Latin;
Lateinisch;
Latin

Ayrıca Bakınız

  • locale_get_display_name() - Girdi yerelinin yerelleştirilmiş ismini döndürür
  • locale_get_display_language() - Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
  • locale_get_display_region() - Girdi yereli için yerelleştirilmiş ülke ismini döndürür
  • locale_get_display_variant() - Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür


Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür

  • « Locale::getDisplayScript
  • Locale::getKeywords »
  • PHP Manual
  • Yerel
  • Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür

Locale::getDisplayVariant

locale_get_display_variant

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getDisplayVariant -- locale_get_display_variant — Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getDisplayVariant(string $lehçe_yereli, ?string $adlandırma_yereli = null): string|false

Yordamsal kullanım

locale_get_display_variant(string $lehçe_yereli, ?string $adlandırma_yereli = null): string|false

Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür. adlandırma_yereli null ise öntanımlı yerel kullanılır.

Bağımsız Değişkenler

lehçe_yereli

Lehçe ismi döndürülecek yerel.

adlandırma_yereli

İsteğe bağlı olarak lehçe isminin gösteriminde kullanılacak yerel.

Dönen Değerler

lehçe_yereli ile belirtilen yerel yaftasında belirtilen lehçe isminin adlandırma_yereli ile belirtilen yereldeki karşılığı döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adlandırma_yereli artık null olabiliyor.

Örnekler

Örnek 1 - locale_get_display_variant() örneği

<?php
echo locale_get_display_variant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo locale_get_display_variant('sl-Latn-IT-nedis', 'tr');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'en');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'fr');
echo ";\n";
echo Locale::getDisplayVariant('sl-Latn-IT-nedis', 'tr');
?>

Yukarıdaki örneğin çıktısı:

Natisone dialect;
dialecte de Natisone;
Natisone Lehçesi

Ayrıca Bakınız

  • locale_get_display_name() - Girdi yerelinin yerelleştirilmiş ismini döndürür
  • locale_get_display_language() - Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
  • locale_get_display_script() - Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
  • locale_get_display_region() - Girdi yereli için yerelleştirilmiş ülke ismini döndürür


Girdi yerelindeki anahtar sözcükleri döndürür

  • « Locale::getDisplayVariant
  • Locale::getPrimaryLanguage »
  • PHP Manual
  • Yerel
  • Girdi yerelindeki anahtar sözcükleri döndürür

Locale::getKeywords

locale_get_keywords

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getKeywords -- locale_get_keywords — Girdi yerelindeki anahtar sözcükleri döndürür

Açıklama

Nesne yönelimli kullanım

static Locale::getKeywords(string $yerel): array|false|null

Yordamsal kullanım

locale_get_keywords(string $yerel): array|false|null

Girdi yerelindeki anahtar sözcükleri döndürür.

Bağımsız Değişkenler

yerel

Anahtar sözcüklerin çıkarılacağı yerel.

Dönen Değerler

Belirtilen yerel ile ilgili anahtar-değer çiftlerini içeren bir ilişkisel dizi döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Örnekler

Örnek 1 - locale_get_keywords() örneği

<?php
$keywords_arr = locale_get_keywords('de_DE@currency=EUR;collation=PHONEBOOK');
if ($keywords_arr) {
foreach ($keywords_arr as $key => $value) {
echo "$key = $value\n";
}
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$keywords_arr = Locale::getKeywords('de_DE@currency=EUR;collation=PHONEBOOK');
if ($keywords_arr) {
foreach ($keywords_arr as $key => $value){
echo "$key = $value\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

collation = PHONEBOOK
currency = EUR

Ayrıca Bakınız

  • locale_get_all_variants() - Girdi yerelindeki tüm lehçeleri döndürür


Girdi yerelinden anadil kodunu döndürür

  • « Locale::getKeywords
  • Locale::getRegion »
  • PHP Manual
  • Yerel
  • Girdi yerelinden anadil kodunu döndürür

Locale::getPrimaryLanguage

locale_get_primary_language

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getPrimaryLanguage -- locale_get_primary_language — Girdi yerelinden anadil kodunu döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getPrimaryLanguage(string $yerel): ?string

Yordamsal kullanım

locale_get_primary_language(string $yerel): ?string

Girdi yerelinde belirtilen anadil kodunu döndürür.

Bağımsız Değişkenler

yerel

Anadil kodu çıkarılacak yerel.

Dönen Değerler

Varsa anadil kodu döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Örnekler

Örnek 1 - locale_get_primary_language() örneği

<?php
echo locale_get_primary_language('zh-Hant');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getPrimaryLanguage('zh-Hant');
?>

Yukarıdaki örneğin çıktısı:

zh

Ayrıca Bakınız

  • locale_get_script() - Girdi yereli için yazı yaftasını döndürür
  • locale_get_region() - Girdi yerelinden ülke kodunu döndürür
  • locale_get_all_variants() - Girdi yerelindeki tüm lehçeleri döndürür


Girdi yerelinden ülke kodunu döndürür

  • « Locale::getPrimaryLanguage
  • Locale::getScript »
  • PHP Manual
  • Yerel
  • Girdi yerelinden ülke kodunu döndürür

Locale::getRegion

locale_get_region

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getRegion -- locale_get_region — Girdi yerelinden ülke kodunu döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::getRegion(string $yerel): ?string

Yordamsal kullanım

locale_get_region(string $yerel): ?string

Girdi yerelinde belirtilen ülke kodunu döndürür

Bağımsız Değişkenler

yerel

Ülke kodu çıkarılacak yerel.

Dönen Değerler

Varsa ülke alt yaftası, yoksa null döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Örnekler

Örnek 1 - locale_get_region() örneği

<?php
echo locale_get_region('de-CH-1901');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getRegion('de-CH-1901');
?>

Yukarıdaki örneğin çıktısı:

CH

Ayrıca Bakınız

  • locale_get_primary_language() - Girdi yerelinden anadil kodunu döndürür
  • locale_get_script() - Girdi yereli için yazı yaftasını döndürür
  • locale_get_all_variants() - Girdi yerelindeki tüm lehçeleri döndürür


Girdi yereli için yazı yaftasını döndürür

  • « Locale::getRegion
  • Locale::lookup »
  • PHP Manual
  • Yerel
  • Girdi yereli için yazı yaftasını döndürür

Locale::getScript

locale_get_script

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::getScript -- locale_get_script — Girdi yereli için yazı yaftasını döndürür

Açıklama

Nesne yönelimli kullanım

publicstatic Locale::getScript(string $yerel): ?string

Yordamsal kullanım

locale_get_script(string $yerel): ?string

Girdi yereli için yazı yaftasını döndürür.

Bağımsız Değişkenler

yerel

Yazı alt yaftası çıkarılacak yerel.

Dönen Değerler

Varsa yazı alt yaftası, yoksa null döner.

Örnekler

Örnek 1 locale_get_script() örneği

<?php
echo locale_get_script('sr-Cyrl');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
echo Locale::getScript('sr-Cyrl');
?>

Yukarıdaki örneğin çıktısı:

Cyrl

Ayrıca Bakınız

  • locale_get_primary_language() - Girdi yerelinden anadil kodunu döndürür
  • locale_get_region() - Girdi yerelinden ülke kodunu döndürür
  • locale_get_all_variants() - Girdi yerelindeki tüm lehçeleri döndürür


En iyi eşleşen dili bulmak için dil yaftası listesini araştırır

  • « Locale::getScript
  • Locale::parseLocale »
  • PHP Manual
  • Yerel
  • En iyi eşleşen dili bulmak için dil yaftası listesini araştırır

Locale::lookup

locale_lookup

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::lookup -- locale_lookup — En iyi eşleşen dili bulmak için dil yaftası listesini araştırır

Açıklama

Nesne yönelimli kullanım

public static Locale::lookup(
array $dil_yaftası,
string $yerel,
bool $meşru = false,
?string $öntanımlı_yerel = null
): ?string

Yordamsal kullanım

locale_lookup(
array $dil_yaftası,
string $yerel,
bool $meşru = false,
?string $öntanımlı_yerel = null
): ?string

RFC 4647'nin arama algoritmasına uygun olarak, yerel ile belirtilen dil aralığı ile en iyi eşleşen dil yaftasını dil_yaftası içindeki öğeler arasında arar.

Bağımsız Değişkenler

dil_yaftası

yerel ile karşılaştırılacak dil yaftalarının listesini içeren bir dizi. En fazya 100 öğeye izin verilir.

yerel

Dil aralığını eşleştirmek için kullanılacak yerel.

meşru

true ise bağımsız değişkenler eşleştirilmeden önce meşru biçeme dönüştürülür.

öntanımlı_yerel

Bir eşleşme bulunamadığı takdirde kullanılacak yerel.

Dönen Değerler

Bulunduğu takdirde en iyi eşleşen dil yaftası, aksi takdirde öntanımlı değer döner.

yerel INTL_MAX_LOCALE_LEN'den uzunsa null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | öntanımlı_yerel artık null olabiliyor.

Örnekler

Örnek 1 - locale_lookup() örneği

<?php
$arr = array(
'de-DEVA',
'de-DE-1996',
'de',
'de-De'
);
echo locale_lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$arr = array(
'de-DEVA',
'de-DE-1996',
'de',
'de-De'
);
echo Locale::lookup($arr, 'de-DE-1996-x-prv1-prv2', true, 'en_US');
?>

Yukarıdaki örneğin çıktısı:

de_de_1996

Ayrıca Bakınız

  • locale_filter_matches() - Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar


Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür

  • « Locale::lookup
  • Locale::setDefault »
  • PHP Manual
  • Yerel
  • Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür

Locale::parseLocale

locale_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::parseLocale -- locale_parse — Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür

Açıklama

Nesne yönelimli kullanım

public static Locale::parseLocale(string $yerel): ?array

Yordamsal kullanım

locale_parse(string $yerel): ?array

Yerel alt yaftalarını anahtar-değer çiftleri halinde içeren bir dizi döndürür.

Bağımsız Değişkenler

yerel

Alt yafta dizisi çıkarılacak yerel. Bilginize: 'extlang' anahtarı en fazla 3 değer alabilirken 'variant' ve 'private' alt yaftaları en fazla 15 değer alabilir.

Dönen Değerler

Anahtarların yerel alt yaftalarının betimleyicileri, değerlerin ise bu alt yaftalarla ilişkili değerler olduğu bir ilişkisel dizi ile döner. Dizi içeriği yerel alt yaftaların yerel değerindeki belirtiliş sırasına göre oluşturulur. Örneğin, alt yaftalar '-varX-varY-varZ' biçiminde belirtilmişse, dönen dizi şunları içerecektir: variant0=>varX , variant1=>varY , variant2=>varZ

yerel uzunluğu INTL_MAX_LOCALE_LEN'den büyükse null döner.

Örnekler

Örnek 1 - locale_parse() örneği

<?php
$arr = locale_parse('sl-Latn-IT-nedis');
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key : $value , ";
}
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$arr = Locale::parseLocale('sl-Latn-IT-nedis');
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key : $value , ";
}
}
?>

Yukarıdaki örneğin çıktısı:

language : sl , script : Latn , region : IT , variant0 : NEDIS ,

Ayrıca Bakınız

  • locale_compose() - Doğru sıralanmış yerel ile döner


Öntanımlı çalışma anı yerelini tanımlar

  • « Locale::parseLocale
  • Normalleştirici »
  • PHP Manual
  • Yerel
  • Öntanımlı çalışma anı yerelini tanımlar

Locale::setDefault

locale_set_default

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::setDefault -- locale_set_default — Öntanımlı çalışma anı yerelini tanımlar

Açıklama

Nesne yönelimli kullanım

public static Locale::setDefault(string $yerel): bool

Yordamsal kullanım

locale_set_default(string $yerel): bool

Öntanımlı çalışma anı yerelini yerel olarak tanımlar. Bu değişiklik, küresel 'default_locale' INTL yerel betimleyicisinin değerini ayarlar. UAX #35 uzantıları kabul edilir.

Bağımsız Değişkenler

yerel

BCP 47 uyumlu bir dil yaftası.

Dönen Değerler

true döner.

Örnekler

Örnek 1 - locale_set_default() örneği

<?php
locale_set_default('tr-TR');
echo locale_get_default();
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
Locale::setDefault('tr-TR');
echo Locale::getDefault();
?>

Yukarıdaki örneğin çıktısı:

tr-TR

Ayrıca Bakınız

  • locale_get_default() - Öntanımlı yerel değerini döndürür


Normalizer sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Normalleştirme, karakterlerin ve karakter dizilimlerinin biçemsel olarak tanımlanmış temel bir gösterim oluşturacak şekilde dönüştürülme işlemidir. Bu işlem, bir metin aranırken veya sıralanırken gereken karşılaştırma ihtiyaçlarının karşılanması için çok önemli olup bunun yanında, metnin saklanması sırasında metnin uygun gösterimle saklandığından emin olunmasını da sağlar.

Unicode Konsorsiyumu, uygulamaların çeşitli ihtiyaçlarını karşılamak üzere bazı normalleştirme biçimleri tanımlamıştır:

  • Normalleştirme Biçimi D (NFD) - Normal Ayrıştırma
  • Normalleştirme Biçimi C (NFC) - Normal Ayrıştırmayı izleyen Normal Birleştirme
  • Normalleştirme Biçimi KD (NFKD) - Uyumluluk Ayrıştırması
  • Normalleştirme Biçimi KC (NFKC) - Uyumluluk Ayrıştırmasını izleyen Normal Birleştirme
Farklı biçimler, metin üzerindeki dünüşüm kümesinin kurallarına uygun olarak tanımlanır, dönüşümler ise hem bir algoritma hem de bir veri dosyaları kümesi olarak ifade edilir.

Sınıf Sözdizimi

class Normalizer {
/* Sabitler */
public const int FORM_D;
public const int NFD;
public const int FORM_KD;
public const int NFKD;
public const int FORM_C;
public const int NFC;
public const int FORM_KC;
public const int NFKC;
public const int FORM_KC_CF;
public const int NFKC_CF;
/* Yöntemler */
public static getRawDecomposition(string $string, int $form = Normalizer::FORM_C): ?string
public static isNormalized(string $dizge, int $biçim = Normalizer::FORM_C): bool
public static normalize(string $dizge, int $biçim = Normalizer::FORM_C): string|false
}

Öntanımlı Sabitler

Aşağıdaki sabitler normalleştirici tarafından kullanılan normalleştirme biçimlerini tanımlar:

Normalizer::FORM_C
Normalleştirme Biçimi C (NFC) - Normal Ayrıştırmayı izleyen Normal Birleştirme
Normalizer::FORM_D
Normalleştirme Biçimi D (NFD) - Normal Ayrıştırma
Normalizer::NFD

Normalizer::FORM_KC
Normalleştirme Biçimi KC (NFKC) -Uyumluluk Ayrıştırmasını izleyen Normal Birleştirme
Normalizer::NFKC

Normalizer::FORM_KC_CF

Normalizer::FORM_KD
Normalleştirme Biçimi KD (NFKD) - Uyumluluk Ayrıştırması
Normalizer::NFKD

Normalizer::NFC

Normalizer::NFKC_CF

Ayrıca Bakınız

  • » Evrenkod Normalleştirmesi
  • » Evrenkod Normalleştirme SSS'si
  • » ICU Kullanıcı Kılavuzu - Normalleştirme
  • » ICU API Başvuru Kılavuzu - Normalleştirme

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Normalizer::NONE kaldırıldı.

İçindekiler

  • Normalizer::getRawDecomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
  • Normalizer::isNormalized — Belirtilen dizge normalleştirilmiş mi diye bakar
  • Normalizer::normalize — Belirtilen girdiyi normalleştirir ve dizge olarak döndürür


Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

  • « Normalleştirici
  • Normalizer::isNormalized »
  • PHP Manual
  • Normalleştirici
  • Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

Normalizer::getRawDecomposition

normalizer_get_raw_decomposition

(PHP 7 >= 7.3, PHP 8)

Normalizer::getRawDecomposition -- normalizer_get_raw_decomposition — Gets the Decomposition_Mapping property for the given UTF-8 encoded code point

Açıklama

Nesne yönelimli kullanım

public static Normalizer::getRawDecomposition(string $string, int $form = Normalizer::FORM_C): ?string

Yordamsal kullanım

normalizer_get_raw_decomposition(string $string, int $form = Normalizer::FORM_C): ?string

Gets the Decomposition_Mapping property, as specified in the Unicode Character Database (UCD), for the given UTF-8 encoded code point.

Bağımsız Değişkenler

string

The input string, which should be a single, UTF-8 encoded, code point.

Dönen Değerler

Returns a string containing the Decomposition_Mapping property, if present in the UCD.

Returns null if there is no Decomposition_Mapping property for the character.

Örnekler

Örnek 1 Normalizer::getRawDecomposition() example

<?php

$result = "";
$strings = [
"a",
"\u{FFDA}",
"\u{FDFA}",
"",
"aa",
"\xF5",
];

foreach ($strings as $string) {
$decomposition = Normalizer::getRawDecomposition($string);
// $decomposition = normalizer_get_raw_decomposition($string); Procedural way

$error_code = intl_get_error_code();
$error_message = intl_get_error_message();

$string_hex = bin2hex($string);
$result .= "---------------------\n";

if ($decomposition === null) {
$result .= "'$string_hex' has no decomposition mapping\n" ;
} else {
$result .= "'$string_hex' has the decomposition mapping '" . bin2hex($decomposition) . "'\n" ;
}

$result .= "error info: '$error_message' ($error_code)\n";
}

echo $result;
?>

Yukarıdaki örneğin çıktısı:

---------------------
'61' has no decomposition mapping
error info: 'U_ZERO_ERROR' (0)
---------------------
'efbf9a' has the decomposition mapping 'e385a1'
error info: 'U_ZERO_ERROR' (0)
---------------------
'efb7ba' has the decomposition mapping 'd8b5d984d98920d8a7d984d984d98720d8b9d984d98ad98720d988d8b3d984d985'
error info: 'U_ZERO_ERROR' (0)
---------------------
'' has no decomposition mapping
error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1)
---------------------
'6161' has no decomposition mapping
error info: 'Input string must be exactly one UTF-8 encoded code point long.: U_ILLEGAL_ARGUMENT_ERROR' (1)
---------------------
'f5' has no decomposition mapping
error info: 'Code point out of range: U_ILLEGAL_ARGUMENT_ERROR' (1)

Ayrıca Bakınız

  • Normalizer::normalize() - Belirtilen girdiyi normalleştirir ve dizge olarak döndürür
  • Normalizer::isNormalized() - Belirtilen dizge normalleştirilmiş mi diye bakar


Belirtilen dizge normalleştirilmiş mi diye bakar

  • « Normalizer::getRawDecomposition
  • Normalizer::normalize »
  • PHP Manual
  • Normalleştirici
  • Belirtilen dizge normalleştirilmiş mi diye bakar

Normalizer::isNormalized

normalizer_is_normalized

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Normalizer::isNormalized -- normalizer_is_normalized — Belirtilen dizge normalleştirilmiş mi diye bakar

Açıklama

Nesne yönelimli kullanım

public static Normalizer::isNormalized(string $dizge, int $biçim = Normalizer::FORM_C): bool

Yordamsal kullanım

normalizer_is_normalized(string $dizge, int $biçim = Normalizer::FORM_C): bool

Belirtilen dizge belirtilen normalleştirme türünde mi diye bakar.

Bağımsız Değişkenler

dizge

Normalleştirilmiş mi diye bakılacak dizge.

biçim

Normalleştirme biçimlerinden biri.

Dönen Değerler

Dizge normalleştirilmişse true aksi takdirde veya bir hata oluşursa false döner.

Örnekler

Örnek 1 - normalizer_is_normalized() örneği

<?php
$char_A_ring = "\xC3\x85"; // 'å' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = normalizer_normalize( 'A' . $char_combining_ring_above,
Normalizer::FORM_C );

echo ( normalizer_is_normalized($char_orig, Normalizer::FORM_C) ) ?
"normalleştirilmiş" : "normalleştirilmemiş";
echo '; ';
echo ( normalizer_is_normalized($char_norm, Normalizer::FORM_C) ) ?
"normalleştirilmiş" : "normalleştirilmemiş";
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$char_A_ring = "\xC3\x85"; // 'å' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)

$char_orig = 'A' . $char_combining_ring_above;
$char_norm = Normalizer::normalize( 'A' . $char_combining_ring_above,
Normalizer::FORM_C );

echo ( Normalizer::isNormalized($char_orig, Normalizer::FORM_C) ) ?
"normalleştirilmiş" : "normalleştirilmemiş";
echo '; ';
echo ( Normalizer::isNormalized($char_norm, Normalizer::FORM_C) ) ?
"normalleştirilmiş" : "normalleştirilmemiş";
?>

Yukarıdaki örneğin çıktısı:

normalleştirilmemiş; normalleştirilmiş

Ayrıca Bakınız

  • normalizer_normalize() - Belirtilen girdiyi normalleştirir ve dizge olarak döndürür


Belirtilen girdiyi normalleştirir ve dizge olarak döndürür

  • « Normalizer::isNormalized
  • İleti Biçemleyici »
  • PHP Manual
  • Normalleştirici
  • Belirtilen girdiyi normalleştirir ve dizge olarak döndürür

Normalizer::normalize

normalizer_normalize

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Normalizer::normalize -- normalizer_normalize — Belirtilen girdiyi normalleştirir ve dizge olarak döndürür

Açıklama

Nesne yönelimli kullanım

public static Normalizer::normalize(string $dizge, int $biçim = Normalizer::FORM_C): string|false

Yordamsal kullanım

normalizer_normalize(string $dizge, int $biçim = Normalizer::FORM_C): string|false

Belirtilen girdiyi normalleştirir ve dizge olarak döndürür.

Bağımsız Değişkenler

dizge

Normalleştirilecek dizge

biçim

Normalleştirme biçimlerinden biri.

Dönen Değerler

Bir hata oluşursa false, aksi takdirde normalleştirilen dizge döner.

Örnekler

Örnek 1 - normalizer_normalize() örneği

<?php
$char_A_ring = "\xC3\x85"; // 'å' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)

$char_1 = normalizer_normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = normalizer_normalize( 'A' . $char_combining_ring_above,
Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$char_A_ring = "\xC3\x85"; // 'å' (U+00C5)
$char_combining_ring_above = "\xCC\x8A"; // 'COMBINING RING ABOVE' (U+030A)

$char_1 = Normalizer::normalize( $char_A_ring, Normalizer::FORM_C );
$char_2 = Normalizer::normalize( 'A' . $char_combining_ring_above,
Normalizer::FORM_C );

echo urlencode($char_1);
echo ' ';
echo urlencode($char_2);
?>

Yukarıdaki örneğin çıktısı:

%C3%85 %C3%85

Ayrıca Bakınız

  • normalizer_is_normalized() - Belirtilen dizge normalleştirilmiş mi diye bakar


MessageFormatter sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

MessageFormatter (İleti Biçemleyici), dilden bağımsız iletiler üretmeyi ve birleştirmeyi mümkün kılan somut bir sınıftır. Bu sınıfın yöntemleri, son kullanıcılar tarafından görülecek iletileri derlemek için kullanılır.

MessageFormatter sınıfı, program tarafından sağlanan çeşitli (metin, sayı ve tarih gibi) veri parçaları sayesinde iletilerin montajını yapar. MessageFormatter'ın bir sınıf olmasından dolayı programın bu veri parçalarının sırasını bilmeye ihtiyacı yoktur. Sınıf bu veri parçaları için biçemleme belirtimlerini kullanarak iletiyi bir özkaynak paketi içinde tek bir dizge halinde monte eder. Örneğin, MessageFormatter "Finished printing x out of y files..." cümlesini çeviriye izin verecek esneklikte basmanıza yardımcı olacaktır.

Öncelikle, bir son kullanıcı iletisi bir cümle olarak oluşturulur ve bir dizge olarak elde edilir. Cümle yapısı, sözcük sırası, sayı biçemi ve daha bir çok şey dilden dile farklılıklar gösterdiğinden bu işlem yerelleştiriciler açısından sorunlara yol açar. İletileri dilden bağımsız bir yolla oluşturmak için iletinin parçaları her veri için bir anahtar sağlanarak ayrı ayrı yerlerde tutulur. MessageFormatter sınıfı bu anahtarları kullanarak ileti parçalarını birleştirebilir, bunları yerelleştirebilir ve son kullanıcıya iyi biçimlenmiş bir dizge olarak gösterebilir.

MessageFormatter, bir nesne kümesini alır, bunları biçemler ve bunları uygun yerlerde bir şablon içine yerleştirir. Seçim biçemleri, çoğul biçemlerin sayılarla eşleştirilip bir öğe dizisinden seçilebilmesini sağlar. Genelde, bağımsız değişkenler ve özkaynaklar üzerinden gelen ileti biçemi çalışma anında dinamik olarak bağımsız değişkenlere atanır.

Sınıf Sözdizimi

class MessageFormatter {
/* Yöntemler */
public __construct(string $yerel, string $kalıp)
public static create(string $locale, string $pattern): ?MessageFormatter
public static formatMessage(string $yerel, string $kalıp, array $bağımsız_değişkenler): string|false
public format(array $bağımsız_değişkenler): string|false
public getErrorCode(): int
public getErrorMessage(): string
public getLocale(): string
public getPattern(): string|false
public static parseMessage(string $yerel, string $kalıp, string $ileti): array|false
public parse(string $dizge): array|false
public setPattern(string $kalıp): bool
}

Ayrıca Bakınız

  • » ICU biçemleme belgeleri
  • » ICU ileti biçemleme belgesi
  • » ICU ileti biçemleyicileri
  • » ICU seçim biçemleyicileri

İçindekiler

  • MessageFormatter::create — Yeni bir ileti biçemleyici nesne oluşturur
  • MessageFormatter::formatMessage — İletiyi çabuk biçemler
  • MessageFormatter::format — İleti biçemler
  • MessageFormatter::getErrorCode — Son işlemin hata kodunu döndürür
  • MessageFormatter::getErrorMessage — Son işlemin hata iletisini döndürür
  • MessageFormatter::getLocale — Biçemleyicinin oluşturulduğu yereli döndürür
  • MessageFormatter::getPattern — Biçemleyici tarafından kullanılan kalıbı döndürür
  • MessageFormatter::parseMessage — Girdi dizgesini hızla çözümler
  • MessageFormatter::parse — Girdi dizgesini kalıba uygun olarak çözümler
  • MessageFormatter::setPattern — Biçemleyici tarafından kullanılacak kalıbı tanımlar


Yeni bir ileti biçemleyici nesne oluşturur

  • « İleti Biçemleyici
  • MessageFormatter::formatMessage »
  • PHP Manual
  • İleti Biçemleyici
  • Yeni bir ileti biçemleyici nesne oluşturur

MessageFormatter::create

MessageFormatter::__construct

msgfmt_create

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::create -- MessageFormatter::__construct -- msgfmt_create — Yeni bir ileti biçemleyici nesne oluşturur

Açıklama

Nesne yönelimli kullanım (yöntem)

public static MessageFormatter::create(string $locale, string $pattern): ?MessageFormatter

Nesne yönelimli kullanım (kurucu):

public MessageFormatter::__construct(string $yerel, string $kalıp)

Yordamsal kullanım

msgfmt_create(string $yerel, string $kalıp): ?MessageFormatter

Yeni bir ileti biçemleyici nesne oluşturur.

Bağımsız Değişkenler

yerel

Bağımsız değişkenlerin biçemlenmesinde kullanılacak yerel.

kalıp

Bağımsız değişkenlerin içine yerleştirileceği dizge. Kalıp 'tek tırnak dostu' sözdizimi kullanır; yorumlanmadan önce dahili olarak » Tırnaklama/Önceleme işleminden geçirilir.

Dönen Değerler

Biçemleyici nesne, başarısızlık durumunda null.

Hatalar/İstisnalar

Kurucu olarak çağrıldığında başarısızlık durumunda IntlException yavrulanır.

Örnekler

Örnek 1 - msgfmt_create() örneği

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("tr", "{0,number,integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder");
echo msgfmt_format($fmt, array(123, 4560, 4560/123));
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("tr", "{0,number,integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder");
echo $fmt->format(array(123, 4560, 4560/123));
?>

Yukarıdaki örneğin çıktısı:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder

Ayrıca Bakınız

  • msgfmt_format() - İleti biçemler
  • msgfmt_parse() - Girdi dizgesini kalıba uygun olarak çözümler
  • msgfmt_get_error_code() - Son işlemin hata kodunu döndürür
  • msgfmt_get_error_message() - Son işlemin hata iletisini döndürür


İletiyi çabuk biçemler

  • « MessageFormatter::create
  • MessageFormatter::format »
  • PHP Manual
  • İleti Biçemleyici
  • İletiyi çabuk biçemler

MessageFormatter::formatMessage

msgfmt_format_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::formatMessage -- msgfmt_format_message — İletiyi çabuk biçemler

Açıklama

Nesne yönelimli kullanım

public static MessageFormatter::formatMessage(string $yerel, string $kalıp, array $bağımsız_değişkenler): string|false

Yordamsal kullanım

msgfmt_format_message(string $yerel, string $kalıp, array $bağımsız_değişkenler): string|false

Girdi dizgesini bir biçemleyici nesne oluşturmaya gerek bırakmaksızın biçemler. Bu işlev, çözümleme işleminin bir kereliğine yapılıp bağımsız değişkenlerin ve durumun saklanmasına ihtiyaç olmadığında veya doğrudan ICU'ya ek bağlam sağlayarak çıktı özelleştirilmek istendiğinde kullanılır.

Bağımsız Değişkenler

yerel

Yerele bağlı kısımların biçemlenmesinde kullanılacak yerel.

kalıp

İçine veri yerleştirilecek kalıp dizgesi. Kalıp 'tek tırnak dostu' sözdizimi kullanır; yorumlanmadan önce dahili olarak » Tırnaklama/Önceleme işleminden geçirilir.

bağımsız_değişkenler

Biçem dizgesine yerleştirilecek bağımsız değişkenleri içeren dizi.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde biçemlenmiş kalıp dizgesi ile döner.

Örnekler

Örnek 1 - msgfmt_format_message() örneği

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree\n",
array(4560, 123, 4560/123));
echo msgfmt_format_message("tr", "{0,number,integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder\n",
array(123, 4560, 4560/123));
echo msgfmt_format_message("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo msgfmt_format_message("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}",
['apple' => 0]
), "\n";

Örnek 2 - Nesne yönelimli örnek

<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,
integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree\n",
array(4560, 123, 4560/123));
echo MessageFormatter::formatMessage("tr", "{0,number,
integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder\n",
array(123, 4560, 4560/123));
echo MessageFormatter::formatMessage("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo MessageFormatter::formatMessage("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}",
['apple' => 0]
), "\n";
?>

Yukarıdaki örneğin çıktısı:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder
You finished 3rd!
There are no apples

Örnek 3 - ICU'ya para birimini ortak ve dar para birimi simgesiyle biçimlendirme talimatı vermek

ICU ? 67 gerekir.

<?php
echo msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD}", array(123.45));
echo msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD unit-width-narrow}", array(123.45));

Yukarıdaki örneğin çıktısı:

123,45 CA$
123,45 $

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_parse() - Girdi dizgesini kalıba uygun olarak çözümler
  • msgfmt_get_error_code() - Son işlemin hata kodunu döndürür
  • msgfmt_get_error_message() - Son işlemin hata iletisini döndürür


İleti biçemler

  • « MessageFormatter::formatMessage
  • MessageFormatter::getErrorCode »
  • PHP Manual
  • İleti Biçemleyici
  • İleti biçemler

MessageFormatter::format

msgfmt_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::format -- msgfmt_format — İleti biçemler

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::format(array $bağımsız_değişkenler): string|false

Yordamsal kullanım

msgfmt_format(MessageFormatter $biçemleyici, array $bağımsız_değişkenler): string|false

Yerelin kurallarına uygun olarak biçem dizgesi içine veri yerleştirerek iletiyi biçemler.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici.

bağımsı_ değişkenler

Biçem dizgesine yerleştirilecek bağımsız değişkenler.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde biçemlenmiş dizge ile döner.

Örnekler

Örnek 1 - msgfmt_format() örneği

<?php
$fmt = msgfmt_create("en_US", "{0,number,integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree");
echo msgfmt_format($fmt, array(4560, 123, 4560/123));
$fmt = msgfmt_create("tr", "{0,number,integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder");
echo msgfmt_format($fmt, array(123, 4560, 4560/123));
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter("en_US", "{0,number,integer} monkeys on {1,
number,integer} trees make {2,number} monkeys per tree");
echo $fmt->format(array(4560, 123, 4560/123));
$fmt = new MessageFormatter("tr", "{0,number,integer} ağaçta {1,
number,integer} maymun, ağaç başına {2,number} maymun eder");
echo $fmt->format(array(123, 4560, 4560/123));
?>

Yukarıdaki örneğin çıktısı:

4,560 monkeys on 123 trees make 37.073 monkeys per tree
123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_parse() - Girdi dizgesini kalıba uygun olarak çözümler
  • msgfmt_format_message() - İletiyi çabuk biçemler
  • msgfmt_get_error_code() - Son işlemin hata kodunu döndürür
  • msgfmt_get_error_message() - Son işlemin hata iletisini döndürür


Son işlemin hata kodunu döndürür

  • « MessageFormatter::format
  • MessageFormatter::getErrorMessage »
  • PHP Manual
  • İleti Biçemleyici
  • Son işlemin hata kodunu döndürür

MessageFormatter::getErrorCode

msgfmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::getErrorCode -- msgfmt_get_error_code — Son işlemin hata kodunu döndürür

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::getErrorCode(): int

Yordamsal kullanım

msgfmt_get_error_code(MessageFormatter $biçemleyici): int

Son işlemin hata kodunu döndürür.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici

Dönen Değerler

UErrorCode değerlerinden biri olarak hata kodu. İlk değer: U_ZERO_ERROR.

Ayrıca Bakınız

  • msgfmt_get_error_message() - Son işlemin hata iletisini döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Son işlemin hata iletisini döndürür

  • « MessageFormatter::getErrorCode
  • MessageFormatter::getLocale »
  • PHP Manual
  • İleti Biçemleyici
  • Son işlemin hata iletisini döndürür

MessageFormatter::getErrorMessage

msgfmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::getErrorMessage -- msgfmt_get_error_message — Son işlemin hata iletisini döndürür

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::getErrorMessage(): string

Yordamsal kullanım

msgfmt_get_error_message(MessageFormatter $biçemleyici): string

Son işlemin hata iletisini döndürür.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici.

Dönen Değerler

Son hatanın açıklaması.

Örnekler

Örnek 1 - msgfmt_get_error_message() örneği

<?php
$fmt = msgfmt_create( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
$str = msgfmt_format($fmt, array());
if(!$str) {
echo "ERROR: ".msgfmt_get_error_message($fmt) . " (" . msgfmt_get_error_code($fmt) . ")\n";
}
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
$str = $fmt->format(array());
if(!$str) {
echo "ERROR: ".$fmt->getErrorMessage()." (" . $fmt->getErrorCode().")\n";
}
?>

Yukarıdaki örneğin çıktısı:

ERROR: msgfmt_format: not enough parameters: U_ILLEGAL_ARGUMENT_ERROR (1)

Ayrıca Bakınız

  • msgfmt_get_error_code() - Son işlemin hata kodunu döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Biçemleyicinin oluşturulduğu yereli döndürür

  • « MessageFormatter::getErrorMessage
  • MessageFormatter::getPattern »
  • PHP Manual
  • İleti Biçemleyici
  • Biçemleyicinin oluşturulduğu yereli döndürür

MessageFormatter::getLocale

msgfmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::getLocale -- msgfmt_get_locale — Biçemleyicinin oluşturulduğu yereli döndürür

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::getLocale(): string

Yordamsal kullanım

msgfmt_get_locale(MessageFormatter $biçemleyici): string

Biçemleyicinin oluşturulduğu yereli döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne

Dönen Değerler

Yerel ismi

Örnekler

Örnek 1 - msgfmt_get_locale() örneği

<?php
$fmt = msgfmt_create('tr_TR', "Sayı: {0,number}");
echo msgfmt_get_locale($fmt);
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter('tr_TR', "Sayı: {0,number}");
echo $fmt->getLocale();
?>

Yukarıdaki örneğin çıktısı:

tr_TR

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur


Biçemleyici tarafından kullanılan kalıbı döndürür

  • « MessageFormatter::getLocale
  • MessageFormatter::parseMessage »
  • PHP Manual
  • İleti Biçemleyici
  • Biçemleyici tarafından kullanılan kalıbı döndürür

MessageFormatter::getPattern

msgfmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::getPattern -- msgfmt_get_pattern — Biçemleyici tarafından kullanılan kalıbı döndürür

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::getPattern(): string|false

Yordamsal kullanım

msgfmt_get_pattern(MessageFormatter $biçemleyici): string|false

Biçemleyici tarafından kullanılan kalıbı döndürür.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici.

Dönen Değerler

İleti biçemleyici tarafından kullanılan kalıp dizgesi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - msgfmt_get_pattern() örneği

<?php
$fmt = msgfmt_create( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo "Öntanımlı kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Biçemleme sonucu: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} maymuna karşılık {1, number} ağaç var." );
echo "Yeni kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Biçemleme sonucu: " . msgfmt_format( $fmt, array(456, 123) ) . "\n";
?>
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo "Öntanımlı kalıp: '" . $fmt->getPattern() . "'\n";
echo "Biçemleme sonucu: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} maymuna karşılık {1, number} ağaç var." );
echo "Yeni kalıp: '" . $fmt->getPattern() . "'\n";
echo "Biçemleme sonucu: " . $fmt->format(array(456, 123)) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öntanımlı kalıp: '{0, number} ağaçta {1, number} maymun var.'
Biçemleme sonucu: 123 ağaçta 456 maymun var.
Yeni kalıp: '{0, number} maymuna karşılık {1, number} ağaç var.'
Biçemleme sonucu: 456 maymuna karşılık 123 ağaç var.

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_set_pattern() - Biçemleyici tarafından kullanılacak kalıbı tanımlar


Girdi dizgesini hızla çözümler

  • « MessageFormatter::getPattern
  • MessageFormatter::parse »
  • PHP Manual
  • İleti Biçemleyici
  • Girdi dizgesini hızla çözümler

MessageFormatter::parseMessage

msgfmt_parse_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::parseMessage -- msgfmt_parse_message — Girdi dizgesini hızla çözümler

Açıklama

Nesne yönelimli kullanım

public static MessageFormatter::parseMessage(string $yerel, string $kalıp, string $ileti): array|false

Yordamsal kullanım

msgfmt_parse_message(string $yerel, string $kalıp, string $ileti): array|false

Girdi dizgesini bir biçemleyici nesne oluşturmaya gerek bırakmaksızın çözümler. Bu işlev, çözümleme işleminin bir kereliğine yapılıp bağımsız değişkenlerin ve durumun saklanmasına ihtiyaç olmadığında kullanılır.

Bağımsız Değişkenler

yerel

Yerele bağlı kısımların çözümlenmesinde kullanılacak yerel.

kalıp

iletinin çözümlenmesinde kullanılacak dizge.

ileti

kalıp dizgesine uygun olarak çözümlenecek dizge.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde çözümleme sonucu elde edilen öğeleri içeren bir dizi.

Örnekler

Örnek 1 - msgfmt_parse_message() örneği

<?php
$res = msgfmt_parse_message('en_US', "{0,number,integer} monkeys on {1,
number,integer} trees make {2,number} monkeys per tree",
"4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$res = msgfmt_parse_message('tr',"{0,number,integer} ağaçta {1,
number,integer} maymun, ağaç başına {2,number} maymun eder",
"123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder");
var_export($res);
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$res = MessageFormatter::parseMessage('en_US', "{0,number,
integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree",
"4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$res = MessageFormatter::parseMessage('tr', "{0,number,integer} ağaçta {1,
number,integer} maymun, ağaç başına {2,number} maymun eder",
"123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder");
var_export($res);
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)array (
  0 => 123,
  1 => 4560,
  2 => 37.073,
)

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_format_message() - İletiyi çabuk biçemler
  • msgfmt_parse() - Girdi dizgesini kalıba uygun olarak çözümler


Girdi dizgesini kalıba uygun olarak çözümler

  • « MessageFormatter::parseMessage
  • MessageFormatter::setPattern »
  • PHP Manual
  • İleti Biçemleyici
  • Girdi dizgesini kalıba uygun olarak çözümler

MessageFormatter::parse

msgfmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::parse -- msgfmt_parse — Girdi dizgesini kalıba uygun olarak çözümler

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::parse(string $dizge): array|false

Yordamsal kullanım

msgfmt_parse(MessageFormatter $biçemleyici, string $dizge): array|false

Girdi dizgesini çözümler ve elde edilen öğeleri bir dizi içinde döndürür.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici.

dizge

Çözümlenecek dizge.

Dönen Değerler

Bir hata oluşmuşsa false, aksi takdirde çözümleme sonucu elde edilen öğeleri içeren bir dizi.

Örnekler

Örnek 1 - msgfmt_parse() örneği

<?php
$fmt = msgfmt_create('en_US', "{0,number,integer} monkeys on {1,number,
integer} trees make {2,number} monkeys per tree");
$res = msgfmt_parse($fmt,
"4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = msgfmt_create('tr', "{0,number,integer} ağaçta {1,number,
integer} maymun, ağaç başına {2,number} maymun eder");
$res = msgfmt_parse($fmt,
"123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder");
var_export($res);
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter('en_US', "{0,number,integer} monkeys on {1,
number,integer} trees make {2,number} monkeys per tree");
$res = $fmt->parse("4,560 monkeys on 123 trees make 37.073 monkeys per tree");
var_export($res);

$fmt = new MessageFormatter('tr', "{0,number,integer} ağaçta {1,
number,integer} maymun, ağaç başına {2,number} maymun eder");
$res = $fmt->parse("123 ağaçta 4.560 maymun, ağaç başına 37,073 maymun eder");
var_export($res);
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 4560,
  1 => 123,
  2 => 37.073,
)array (
  0 => 123,
  1 => 4560,
  2 => 37.073,
)

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_format() - İleti biçemler
  • msgfmt_parse_message() - Girdi dizgesini hızla çözümler


Biçemleyici tarafından kullanılacak kalıbı tanımlar

  • « MessageFormatter::parse
  • IntlCalendar »
  • PHP Manual
  • İleti Biçemleyici
  • Biçemleyici tarafından kullanılacak kalıbı tanımlar

MessageFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessageFormatter::setPattern -- msgfmt_set_pattern — Biçemleyici tarafından kullanılacak kalıbı tanımlar

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::setPattern(string $kalıp): bool

Yordamsal kullanım

msgfmt_set_pattern(MessageFormatter $biçemleyici, string $kalıp): bool

Biçemleyici tarafından kullanılacak kalıbı tanımlar.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici

kalıp

Bu ileti biçemleyici tarafından kullanılacak kalıp dizgesi. Kalıp 'tek tırnak dostu' sözdizimi kullanır; yorumlanmadan önce dahili olarak » Tırnaklama/Önceleme işleminden geçirilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - msgfmt_set_pattern() örneği

<?php
$fmt = msgfmt_create( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo "Öntanımlı kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Biçemleme sonucu: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} maymuna karşılık {1, number} ağaç var." );
echo "Yeni kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Biçemleme sonucu: " . msgfmt_format( $fmt, array(456, 123) ) . "\n";
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt = new MessageFormatter( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo "Öntanımlı kalıp: '" . $fmt->getPattern() . "'\n";
echo "Biçemleme sonucu: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} maymuna karşılık {1, number} ağaç var." );
echo "Yeni kalıp: '" . $fmt->getPattern() . "'\n";
echo "Biçemleme sonucu: " . $fmt->format(array(456, 123)) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öntanımlı kalıp: '{0, number} ağaçta {1, number} maymun var.'
Biçemleme sonucu: 123 ağaçta 456 maymun var.
Yeni kalıp: '{0, number} maymuna karşılık {1, number} ağaç var.'
Biçemleme sonucu: 456 maymuna karşılık 123 ağaç var.

Ayrıca Bakınız

  • msgfmt_create() - Yeni bir ileti biçemleyici nesne oluşturur
  • msgfmt_get_pattern() - Biçemleyici tarafından kullanılan kalıbı döndürür


The IntlCalendar class

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

Giriş

Sınıf Sözdizimi

class IntlCalendar {
/* Sabitler */
public const int FIELD_ERA;
public const int FIELD_YEAR;
public const int FIELD_MONTH;
public const int FIELD_WEEK_OF_YEAR;
public const int FIELD_WEEK_OF_MONTH;
public const int FIELD_DATE;
public const int FIELD_DAY_OF_YEAR;
public const int FIELD_DAY_OF_WEEK;
public const int FIELD_DAY_OF_WEEK_IN_MONTH;
public const int FIELD_AM_PM;
public const int FIELD_HOUR;
public const int FIELD_HOUR_OF_DAY;
public const int FIELD_MINUTE;
public const int FIELD_SECOND;
public const int FIELD_MILLISECOND;
public const int FIELD_ZONE_OFFSET;
public const int FIELD_DST_OFFSET;
public const int FIELD_YEAR_WOY;
public const int FIELD_DOW_LOCAL;
public const int FIELD_EXTENDED_YEAR;
public const int FIELD_JULIAN_DAY;
public const int FIELD_MILLISECONDS_IN_DAY;
public const int FIELD_IS_LEAP_MONTH;
public const int FIELD_FIELD_COUNT;
public const int FIELD_DAY_OF_MONTH;
public const int DOW_SUNDAY;
public const int DOW_MONDAY;
public const int DOW_TUESDAY;
public const int DOW_WEDNESDAY;
public const int DOW_THURSDAY;
public const int DOW_FRIDAY;
public const int DOW_SATURDAY;
public const int DOW_TYPE_WEEKDAY;
public const int DOW_TYPE_WEEKEND;
public const int DOW_TYPE_WEEKEND_OFFSET;
public const int DOW_TYPE_WEEKEND_CEASE;
public const int WALLTIME_FIRST;
public const int WALLTIME_LAST;
public const int WALLTIME_NEXT_VALID;
/* Yöntemler */
private __construct()
public add(int $field, int $value): bool
public after(IntlCalendar $other): bool
public before(IntlCalendar $other): bool
public clear(?int $field = null): true
public static createInstance(IntlTimeZone|DateTimeZone|string|null $timezone = null, ?string $locale = null): ?IntlCalendar
public equals(IntlCalendar $other): bool
public fieldDifference(float $timestamp, int $field): int|false
public static fromDateTime(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar
public get(int $field): int|false
public getActualMaximum(int $field): int|false
public getActualMinimum(int $field): int|false
public static getAvailableLocales(): array
public getDayOfWeekType(int $dayOfWeek): int|false
public getErrorCode(): int|false
public getErrorMessage(): string|false
public getFirstDayOfWeek(): int|false
public getGreatestMinimum(int $field): int|false
public static getKeywordValuesForLocale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false
public getLeastMaximum(int $field): int|false
public getLocale(int $type): string|false
public getMaximum(int $field): int|false
public getMinimalDaysInFirstWeek(): int|false
public getMinimum(int $field): int|false
public static getNow(): float
public getRepeatedWallTimeOption(): int
public getSkippedWallTimeOption(): int
public getTime(): float|false
public getTimeZone(): IntlTimeZone|false
public getType(): string
public getWeekendTransition(int $dayOfWeek): int|false
public inDaylightTime(): bool
public isEquivalentTo(IntlCalendar $other): bool
public isLenient(): bool
public isSet(int $field): bool
public isWeekend(?float $timestamp = null): bool
public roll(int $field, int|bool $value): bool
public set(int $field, int $value): true
public set(
int $year,
int $month,
int $dayOfMonth = NULL,
int $hour = NULL,
int $minute = NULL,
int $second = NULL
): true
public setDate(int $year, int $month, int $dayOfMonth): void
public setDateTime(
int $year,
int $month,
int $dayOfMonth,
int $hour,
int $minute,
int $second = null
): void
public setFirstDayOfWeek(int $dayOfWeek): true
public setLenient(bool $lenient): true
public setMinimalDaysInFirstWeek(int $days): true
public setRepeatedWallTimeOption(int $option): true
public setSkippedWallTimeOption(int $option): true
public setTime(float $timestamp): bool
public setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): bool
public toDateTime(): DateTime|false
}

Öntanımlı Sabitler

IntlCalendar::FIELD_ERA

Calendar field numerically representing an era, for instance 1 for AD and 0 for BC in the Gregorian/Julian calendars and 235 for the Heisei (??) era in the Japanese calendar. Not all calendars have more than one era.

IntlCalendar::FIELD_YEAR

Calendar field for the year. This is not unique across eras. If the calendar type has more than one era, generally the minimum value for this field will be 1.

IntlCalendar::FIELD_MONTH

Calendar field for the month. The month sequence is zero-based, so January (here used to signify the first month of the calendar; this may be called another name, such as Muharram in the Islamic calendar) is represented by 0, February by 1, ..., December by 11 and, for calendars that have it, the 13th or leap month by 12.

IntlCalendar::FIELD_WEEK_OF_YEAR

Calendar field for the number of the week of the year. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_WEEK_OF_MONTH

Calendar field for the number of the week of the month. This depends on which day of the week is deemed to start the week and the minimal number of days in a week.

IntlCalendar::FIELD_DATE

Calendar field for the day of the month. The same as IntlCalendar::FIELD_DAY_OF_MONTH, which has a clearer name.

IntlCalendar::FIELD_DAY_OF_YEAR

Calendar field for the day of the year. For the Gregorian calendar, starts with 1 and ends with 365 or 366.

IntlCalendar::FIELD_DAY_OF_WEEK

Calendar field for the day of the week. Its values start with 1 (Sunday, see IntlCalendar::DOW_SUNDAY and subsequent constants) and the last valid value is 7 (Saturday).

IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH

Given a day of the week (Sunday, Monday, ...), this calendar field assigns an ordinal to such a day of the week in a specific month. Thus, if the value of this field is 1 and the value of the day of the week is 2 (Monday), then the set day of the month is the 1st Monday of the month; the maximum value is 5.

Additionally, the value 0 and negative values are also allowed. The value 0 encompasses the seven days that occur immediately before the first seven days of a month (which therefore have a 'day of week in month' with value 1). Negative values starts counting from the end of the month - -1 points to the last occurrence of a day of the week in a month, -2 to the second last, and so on.

Unlike IntlCalendar::FIELD_WEEK_OF_MONTH and IntlCalendar::FIELD_WEEK_OF_YEAR, this value does not depend on IntlCalendar::getFirstDayOfWeek() or on IntlCalendar::getMinimalDaysInFirstWeek(). The first Monday is the first Monday, even if it occurs in a week that belongs to the previous month.

IntlCalendar::FIELD_AM_PM

Calendar field indicating whether a time is before noon (value 0, AM) or after (1). Midnight is AM, noon is PM.

IntlCalendar::FIELD_HOUR

Calendar field for the hour, without specifying whether it's in the morning or in the afternoon. Valid values are 0 to 11.

IntlCalendar::FIELD_HOUR_OF_DAY

Calendar field for the full (24h) hour of the day. Valid values are 0 to 23.

IntlCalendar::FIELD_MINUTE

Calendar field for the minutes component of the time.

IntlCalendar::FIELD_SECOND

Calendar field for the seconds component of the time.

IntlCalendar::FIELD_MILLISECOND

Calendar field the milliseconds component of the time.

IntlCalendar::FIELD_ZONE_OFFSET

Calendar field indicating the raw offset of the timezone, in milliseconds. The raw offset is the timezone offset, excluding any offset due to daylight saving time.

IntlCalendar::FIELD_DST_OFFSET

Calendar field for the daylight saving time offset of the calendar's timezone, in milliseconds, if active for calendar's time.

IntlCalendar::FIELD_YEAR_WOY

Calendar field representing the year for week of year purposes.

IntlCalendar::FIELD_DOW_LOCAL

Calendar field for the localized day of the week. This is a value between 1 and 7, 1 being used for the day of the week that matches the value returned by IntlCalendar::getFirstDayOfWeek().

IntlCalendar::FIELD_EXTENDED_YEAR

Calendar field for a year number representation that is continuous across eras. For the Gregorian calendar, the value of this field matches that of IntlCalendar::FIELD_YEAR for AD years; a BC year y is represented by -y + 1.

IntlCalendar::FIELD_JULIAN_DAY

Calendar field for a modified Julian day number. It is different from a conventional Julian day number in that its transitions occur at local zone midnight rather than at noon UTC. It uniquely identifies a date.

IntlCalendar::FIELD_MILLISECONDS_IN_DAY

Calendar field encompassing the information in IntlCalendar::FIELD_HOUR_OF_DAY, IntlCalendar::FIELD_MINUTE, IntlCalendar::FIELD_SECOND and IntlCalendar::FIELD_MILLISECOND. Range is from the 0 to 24 * 3600 * 1000 - 1. It is not the amount of milliseconds elapsed in the day since on DST transitions it will have discontinuities analog to those of the wall time.

IntlCalendar::FIELD_IS_LEAP_MONTH

Calendar field whose value is 1 for indicating a leap month and 0 otherwise.

IntlCalendar::FIELD_FIELD_COUNT

The total number of fields.

IntlCalendar::FIELD_DAY_OF_MONTH

Alias for IntlCalendar::FIELD_DATE.

IntlCalendar::DOW_SUNDAY

Sunday.

IntlCalendar::DOW_MONDAY

Monday.

IntlCalendar::DOW_TUESDAY

Tuesday.

IntlCalendar::DOW_WEDNESDAY

Wednesday.

IntlCalendar::DOW_THURSDAY

Thursday.

IntlCalendar::DOW_FRIDAY

Friday.

IntlCalendar::DOW_SATURDAY

Saturday.

IntlCalendar::DOW_TYPE_WEEKDAY

Output of IntlCalendar::getDayOfWeekType() indicating a day of week is a weekday.

IntlCalendar::DOW_TYPE_WEEKEND

Output of IntlCalendar::getDayOfWeekType() indicating a day of week belongs to the weekend.

IntlCalendar::DOW_TYPE_WEEKEND_OFFSET

Output of IntlCalendar::getDayOfWeekType() indicating the weekend begins during the given day of week.

IntlCalendar::DOW_TYPE_WEEKEND_CEASE

Output of IntlCalendar::getDayOfWeekType() indicating the weekend ends during the given day of week.

IntlCalendar::WALLTIME_FIRST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour less and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the first occurrence of such wall time.

IntlCalendar::WALLTIME_LAST

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the same instant as wall times with one hour after and of IntlCalendar::getRepeatedWallTimeOption() indicating the wall times in the repeated range should refer to the instant of the second occurrence of such wall time.

IntlCalendar::WALLTIME_NEXT_VALID

Output of IntlCalendar::getSkippedWallTimeOption() indicating that wall times in the skipped range should refer to the instant when the daylight saving time transition occurs (begins).

İçindekiler

  • IntlCalendar::add — Add a (signed) amount of time to a field
  • IntlCalendar::after — Whether this object's time is after that of the passed object
  • IntlCalendar::before — Whether this object's time is before that of the passed object
  • IntlCalendar::clear — Clear a field or all fields
  • IntlCalendar::__construct — Private constructor for disallowing instantiation
  • IntlCalendar::createInstance — Create a new IntlCalendar
  • IntlCalendar::equals — Compare time of two IntlCalendar objects for equality
  • IntlCalendar::fieldDifference — Calculate difference between given time and this object's time
  • IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::get — Get the value for a field
  • IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time
  • IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time
  • IntlCalendar::getAvailableLocales — Get array of locales for which there is data
  • IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getErrorCode — Get last error code on the object
  • IntlCalendar::getErrorMessage — Get last error message on the object
  • IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale
  • IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field
  • IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values
  • IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field
  • IntlCalendar::getLocale — Get the locale associated with the object
  • IntlCalendar::getMaximum — Get the global maximum value for a field
  • IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have
  • IntlCalendar::getMinimum — Get the global minimum value for a field
  • IntlCalendar::getNow — Get number representing the current time
  • IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time
  • IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time
  • IntlCalendar::getTime — Get time currently represented by the object
  • IntlCalendar::getTimeZone — Get the object's timezone
  • IntlCalendar::getType — Get the calendar type
  • IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends
  • IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time
  • IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time
  • IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode
  • IntlCalendar::isSet — Whether a field is set
  • IntlCalendar::isWeekend — Whether a certain date/time is in the weekend
  • IntlCalendar::roll — Add value to field without carrying into more significant fields
  • IntlCalendar::set — Set a time field or several common fields at once
  • IntlCalendar::setDate — Set a date fields
  • IntlCalendar::setDateTime — Set a date and time fields
  • IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start
  • IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient
  • IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have
  • IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions
  • IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch
  • IntlCalendar::setTimeZone — Set the timezone used by this calendar
  • IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object


Add a (signed) amount of time to a field

  • « IntlCalendar
  • IntlCalendar::after »
  • PHP Manual
  • IntlCalendar
  • Add a (signed) amount of time to a field

IntlCalendar::add

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::add — Add a (signed) amount of time to a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::add(int $field, int $value): bool

Yordamsal kullanım

intlcal_add(IntlCalendar $calendar, int $field, int $value): bool

Add a signed amount to a field. Adding a positive amount allows advances in time, even if the numeric value of the field decreases (e.g. when working with years in BC dates).

Other fields may need to adjusted - for instance, adding a month to the 31st of January will result in the 28th (or 29th) of February. Contrary to IntlCalendar::roll(), when a value wraps around, more significant fields may change. For instance, adding a day to the 31st of January will result in the 1st of February, not the 1st of January.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

value

The signed amount to add to the current field. If the amount is positive, the instant will be moved forward; if it is negative, the instant will be moved into the past. The unit is implicit to the field type. For instance, hours for IntlCalendar::FIELD_HOUR_OF_DAY.

Dönen Değerler

Returns true on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::add()

<?php
ini_set('intl.default_locale', 'fr_FR');
ini_set('date.timezone', 'UTC');

$cal = new IntlGregorianCalendar(2012, 0 /* January */, 31);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
echo IntlDateFormatter::formatObject($cal), "\n";

Yukarıdaki örneğin çıktısı:

31 janv. 2012 00:00:00
29 févr. 2012 00:00:00
1 mars 2012 00:00:00


Whether this object's time is after that of the passed object

  • « IntlCalendar::add
  • IntlCalendar::before »
  • PHP Manual
  • IntlCalendar
  • Whether this object's time is after that of the passed object

IntlCalendar::after

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::after — Whether this object's time is after that of the passed object

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::after(IntlCalendar $other): bool

Yordamsal kullanım

intlcal_after(IntlCalendar $calendar, IntlCalendar $other): bool

Returns whether this object's time succeeds the argument's time.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

other

The calendar whose time will be checked against the primary object's time.

Dönen Değerler

Returns true if this object's current time is after that of the calendar argument's time. Returns false otherwise.

Başarısızlık durumunda ayrıca false döner. Hataları yakalamak için ya intl_get_error_code() işlevini kullanın ya da Intl eklentisini istisnaları yavrulamaya ayarlayın.

Örnekler

Örnek 1 IntlCalendar::after()

<?php
$cal1 = IntlCalendar::createInstance();
$cal2 = clone $cal1;

var_dump($cal1->after($cal2), //false
$cal2->after($cal1)); //false

$cal1->roll(IntlCalendar::FIELD_MILLISECOND, true);

var_dump($cal1->after($cal2), //true
$cal2->after($cal1)); //false


Whether this object's time is before that of the passed object

  • « IntlCalendar::after
  • IntlCalendar::clear »
  • PHP Manual
  • IntlCalendar
  • Whether this object's time is before that of the passed object

IntlCalendar::before

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::before — Whether this object's time is before that of the passed object

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::before(IntlCalendar $other): bool

Yordamsal kullanım

intlcal_before(IntlCalendar $calendar, IntlCalendar $other): bool

Returns whether this object's time precedes the argument's time.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

other

The calendar whose time will be checked against the primary object's time.

Dönen Değerler

Returns true if this object's current time is before that of the calendar argument's time. Returns false otherwise.

Başarısızlık durumunda ayrıca false döner. Hataları yakalamak için ya intl_get_error_code() işlevini kullanın ya da Intl eklentisini istisnaları yavrulamaya ayarlayın.


Clear a field or all fields

  • « IntlCalendar::before
  • IntlCalendar::__construct »
  • PHP Manual
  • IntlCalendar
  • Clear a field or all fields

IntlCalendar::clear

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::clear — Clear a field or all fields

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::clear(?int $field = null): true

Yordamsal kullanım

intlcal_clear(IntlCalendar $calendar, ?int $field = null): true

Clears either all of the fields or a specific field. A cleared field is marked as unset, giving it the lowest priority against overlapping fields or even default values when calculating the time. Additionally, its value is set to 0, though given the field's low priority, its value may have been internally set to another value by the time the field has finished been queried.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 IntlCalendar::clear() examples

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'UTC');

$fields = array(
'FIELD_ERA' => 0,
'FIELD_YEAR' => 1,
'FIELD_MONTH' => 2,
'FIELD_WEEK_OF_YEAR' => 3,
'FIELD_WEEK_OF_MONTH' => 4,
'FIELD_DATE' => 5,
'FIELD_DAY_OF_YEAR' => 6,
'FIELD_DAY_OF_WEEK' => 7,
'FIELD_DAY_OF_WEEK_IN_MONTH' => 8,
'FIELD_AM_PM' => 9,
'FIELD_HOUR' => 10,
'FIELD_HOUR_OF_DAY' => 11,
'FIELD_MINUTE' => 12,
'FIELD_SECOND' => 13,
'FIELD_MILLISECOND' => 14,
'FIELD_ZONE_OFFSET' => 15,
'FIELD_DST_OFFSET' => 16,
'FIELD_YEAR_WOY' => 17,
'FIELD_DOW_LOCAL' => 18,
'FIELD_EXTENDED_YEAR' => 19,
'FIELD_JULIAN_DAY' => 20,
'FIELD_MILLISECONDS_IN_DAY' => 21,
'FIELD_IS_LEAP_MONTH' => 22,
'FIELD_FIELD_COUNT' => 23,
);
function getSetFields(IntlCalendar $cal) {
global $fields;
$ret = array();
foreach ($fields as $name => $value) {
if ($cal->isSet($value)) {
$ret[] = $name;
}
}
return $ret;
}

$cal = new IntlGregorianCalendar(2013, 2 /* March */, 15);
echo "After GregorianCalendar creation\n";
print_r(getSetFields($cal));
echo "\n";

echo IntlDateFormatter::formatObject($cal), "\n";
echo "After the formatter requested the extended year\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear(IntlCalendar::FIELD_YEAR);
echo "After the year has been cleared, the date stays the same\n";
echo IntlDateFormatter::formatObject($cal), "\n";
echo "because FIELD_EXTENDED_YEAR is still set\n";
print_r(getSetFields($cal));
echo "\n";

var_dump($cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR));
echo "After the extended year has been cleared\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";
echo "\n";

echo "After the fields are recalculated,\n"
. " extended year is set again (to 1970)\n";
print_r(getSetFields($cal));
echo "\n";

$cal->clear();
echo "After calling variant with no arguments\n";
print_r(getSetFields($cal));
echo IntlDateFormatter::formatObject($cal), "\n";

Yukarıdaki örneğin çıktısı:

After GregorianCalendar creation
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
)

15/03/2013 00:00:00
After the formatter requested the extended year
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_YEAR
    [2] => FIELD_MONTH
    [3] => FIELD_DATE
    [4] => FIELD_EXTENDED_YEAR
)

After the year has been cleared, the date stays the same
15/03/2013 00:00:00
because FIELD_EXTENDED_YEAR is still set
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

bool(true)
After the extended year has been cleared
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
)
15/03/1970 00:00:00

After the fields are recalculated,
 extended year is set again (to 1970)
Array
(
    [0] => FIELD_ERA
    [1] => FIELD_MONTH
    [2] => FIELD_DATE
    [3] => FIELD_EXTENDED_YEAR
)

After calling variant with no arguments
Array
(
)
01/01/1970 00:00:00


Private constructor for disallowing instantiation

  • « IntlCalendar::clear
  • IntlCalendar::createInstance »
  • PHP Manual
  • IntlCalendar
  • Private constructor for disallowing instantiation

IntlCalendar::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::__construct — Private constructor for disallowing instantiation

Açıklama

private IntlCalendar::__construct()

A private constructor for disallowing instantiation with the new operator.

Call IntlCalendar::createInstance() instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Create a new IntlCalendar

  • « IntlCalendar::__construct
  • IntlCalendar::equals »
  • PHP Manual
  • IntlCalendar
  • Create a new IntlCalendar

IntlCalendar::createInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::createInstance — Create a new IntlCalendar

Açıklama

Nesne yönelimli kullanım

public static IntlCalendar::createInstance(IntlTimeZone|DateTimeZone|string|null $timezone = null, ?string $locale = null): ?IntlCalendar

Yordamsal kullanım

intlcal_create_instance(IntlTimeZone|DateTimeZone|string|null $timezone = null, ?string $locale = null): ?IntlCalendar

Given a timezone and locale, this method creates an IntlCalendar object. This factory method may return a subclass of IntlCalendar.

The calendar created will represent the time instance at which it was created, based on the system time. The fields can all be cleared by calling IntCalendar::clear() with no arguments. See also IntlGregorianCalendar::__construct().

Bağımsız Değişkenler

timezone

The timezone to use.

  • date_default_timezone_get() tarafından döndürüldüğü gibi ve date_default_timezone_set() işlevi üzerinden veya date.timezone ini yönergesinde belirtildiği gibi, öntanımlı zaman dilimi kullanıldığı durumda null.

  • Doğrudan kullanılacaksa, IntlTimeZone.

  • DateTimeZone. Tanımlayıcısı çıkarılır ve bir ICU zaman dilimi nesnesi oluşturulur; zaman dilimi PHP'nin değil, ICU'nun veritabanı tarafından desteklenir.

  • Geçerli bir ICU zaman dilimi tanımlayıcısı olması gereken bir dizge. Bkz: IntlTimeZone::createTimeZoneIDEnumeration(). "GMT+08:30" gibi ham gösterimler de kabul edilir

locale

A locale to use or null to use the default locale.

Dönen Değerler

The created IntlCalendar instance or null on failure.

Örnekler

Örnek 1 IntlCalendar::createInstance()

<?php
ini_set('intl.default_locale', 'es_ES');
ini_set('date.timezone', 'Europe/Madrid');

$cal = IntlCalendar::createInstance();
echo "No arguments\n";
var_dump(get_class($cal),
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit timezone\n";
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT());
var_dump(get_class($cal),
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));
echo "\n";

echo "Explicit locale (with calendar)\n";
$cal = IntlCalendar::createInstance(NULL, 'es_ES@calendar=persian');
var_dump(get_class($cal),
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL));

Yukarıdaki örneğin çıktısı:

No arguments
string(21) "IntlGregorianCalendar"
string(68) "martes 18 de junio de 2013 14:11:02 Hora de verano de Europa Central"

Explicit timezone
string(21) "IntlGregorianCalendar"
string(45) "martes 18 de junio de 2013 12:11:02 GMT+00:00"

Explicit locale (with calendar)
string(12) "IntlCalendar"
string(70) "martes 28 de Khordad de 1392 14:11:02 Hora de verano de Europa Central"

Ayrıca Bakınız

  • IntlGregorianCalendar::__construct() - Create the Gregorian Calendar class


Compare time of two IntlCalendar objects for equality

  • « IntlCalendar::createInstance
  • IntlCalendar::fieldDifference »
  • PHP Manual
  • IntlCalendar
  • Compare time of two IntlCalendar objects for equality

IntlCalendar::equals

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::equals — Compare time of two IntlCalendar objects for equality

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::equals(IntlCalendar $other): bool

Yordamsal kullanım

intlcal_equals(IntlCalendar $calendar, IntlCalendar $other): bool

Returns true if this calendar and the given calendar have the same time. The settings, calendar types and field states do not have to be the same.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

other

The calendar to compare with the primary object.

Dönen Değerler

Returns true if the current time of both this and the passed in IntlCalendar object are the same, or false otherwise.

Başarısızlık durumunda ayrıca false döner. Hataları yakalamak için ya intl_get_error_code() işlevini kullanın ya da Intl eklentisini istisnaları yavrulamaya ayarlayın.

Örnekler

Örnek 1 IntlCalendar::equals()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
$cal2 = clone $cal1;

var_dump($cal1->equals($cal2)); //TRUE

//The locale is not included in the comparison
$cal2 = IntlCalendar::createInstance(NULL, 'pt_PT');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//And set fields state is not included as well
$cal2->clear(IntlCalendar::FIELD_YEAR);
var_dump($cal1->isSet(IntlCalendar::FIELD_YEAR) ==
$cal2->isSet(IntlCalendar::FIELD_YEAR)); //FALSE
var_dump($cal1->equals($cal2)); //TRUE

//Neither is the calendar type
$cal2 = IntlCalendar::createInstance(NULL, 'es_ES@calendar=islamic');
$cal2->setTime($cal1->getTime());
var_dump($cal1->equals($cal2)); //TRUE

//Only the time is
$cal2 = clone $cal1;
$cal2->setTime($cal1->getTime() + 1.);
var_dump($cal1->equals($cal2)); //FALSE


Calculate difference between given time and this object's time

  • « IntlCalendar::equals
  • IntlCalendar::fromDateTime »
  • PHP Manual
  • IntlCalendar
  • Calculate difference between given time and this object's time

IntlCalendar::fieldDifference

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::fieldDifference — Calculate difference between given time and this object's time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::fieldDifference(float $timestamp, int $field): int|false

Yordamsal kullanım

intlcal_field_difference(IntlCalendar $calendar, float $timestamp, int $field): int|false

Return the difference between the given time and the time this object is set to, with respect to the quantity specified the field parameter.

This method is meant to be called successively, first with the most significant field of interest down to the least significant field. To this end, as a side effect, this calendar's value for the field specified is advanced by the amount returned.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

timestamp

The time against which to compare the quantity represented by the field. For the result to be positive, the time given for this parameter must be ahead of the time of the object the method is being invoked on.

field

The field that represents the quantity being compared.

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

Returns a (signed) difference of time in the unit associated with the specified field başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::fieldDifference()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal1 = IntlCalendar::fromDateTime('2012-02-29 09:00:11');
$cal2 = IntlCalendar::fromDateTime('2013-03-01 09:19:29');
$time = $cal2->getTime();

echo "Time before: ", IntlDateFormatter::formatObject($cal1), "\n";

printf(
"The difference in time is %d year(s), %d month(s), "
. "%d day(s), %d hour(s) and %d minute(s)\n",
$cal1->fieldDifference($time, IntlCalendar::FIELD_YEAR),
$cal1->fieldDifference($time, IntlCalendar::FIELD_MONTH),
$cal1->fieldDifference($time, IntlCalendar::FIELD_DAY_OF_MONTH),
$cal1->fieldDifference($time, IntlCalendar::FIELD_HOUR_OF_DAY),
$cal1->fieldDifference($time, IntlCalendar::FIELD_MINUTE)
);

//now it was advanced to the target time, exception for the seconds,
//for which we did not measure the difference
echo "Time after: ", IntlDateFormatter::formatObject($cal1), "\n";

Yukarıdaki örneğin çıktısı:

Time before: 29 févr. 2012 09:00:11
The difference in time is 1 year(s), 0 month(s), 1 day(s), 0 hour(s) and 19 minute(s)
Time after: 1 mars 2013 09:19:11


Create an IntlCalendar from a DateTime object or string

  • « IntlCalendar::fieldDifference
  • IntlCalendar::get »
  • PHP Manual
  • IntlCalendar
  • Create an IntlCalendar from a DateTime object or string

IntlCalendar::fromDateTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a2)

IntlCalendar::fromDateTime — Create an IntlCalendar from a DateTime object or string

Açıklama

Nesne yönelimli kullanım

public static IntlCalendar::fromDateTime(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar

Yordamsal kullanım

intlcal_from_date_time(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar

Creates an IntlCalendar object either from a DateTime object or from a string from which a DateTime object can be built.

The new calendar will represent not only the same instant as the given DateTime (subject to precision loss for dates very far into the past or future), but also the same timezone (subject to the caveat that different timezone databases will be used, and therefore the results may differ).

Bağımsız Değişkenler

datetime

A DateTime object or a string that can be passed to DateTime::__construct().

Dönen Değerler

The created IntlCalendar object or null in case of failure. If a string is passed, any exception that occurs inside the DateTime constructor is propagated.

Örnekler

Örnek 1 IntlCalendar::fromDateTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

//same as IntlCalendar::fromDateTime(new DateTime(...))
$cal1 = IntlCalendar::fromDateTime('2013-02-28 00:01:02 Europe/Berlin');

//Note the timezone is Europe/Berlin, not the default Europe/Lisbon
echo IntlDateFormatter::formatObject($cal1, 'yyyy MMMM d HH:mm:ss VVVV', 'de_DE'), "\n";

Yukarıdaki örneğin çıktısı:

2013 Februar 28 00:01:02 Deutschland Zeit


Get the value for a field

  • « IntlCalendar::fromDateTime
  • IntlCalendar::getActualMaximum »
  • PHP Manual
  • IntlCalendar
  • Get the value for a field

IntlCalendar::get

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::get — Get the value for a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::get(int $field): int|false

Yordamsal kullanım

intlcal_get(IntlCalendar $calendar, int $field): int|false

Gets the value for a specific field.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An integer with the value of the time field.

Örnekler

Örnek 1 IntlCalendar::get()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$class = new ReflectionClass('IntlCalendar');
$fields = array();
foreach ($class->getConstants() as $name => $val) {
if (strpos($name, 'FIELD_') !== 0 || $val > 22)
continue;
$fields[$val] = $name;
}

$cal = IntlCalendar::createInstance(); // current time
var_dump(IntlDateFormatter::formatObject($cal));
foreach ($fields as $val => $name) {
echo "$val ($name)", "\n ", $cal->get($val), "\n";
}

Yukarıdaki örneğin çıktısı:

string(23) "Jul 1, 2013, 4:44:44 AM"
0 (FIELD_ERA)
    1
1 (FIELD_YEAR)
    2013
2 (FIELD_MONTH)
    6
3 (FIELD_WEEK_OF_YEAR)
    27
4 (FIELD_WEEK_OF_MONTH)
    1
5 (FIELD_DAY_OF_MONTH)
    1
6 (FIELD_DAY_OF_YEAR)
    182
7 (FIELD_DAY_OF_WEEK)
    2
8 (FIELD_DAY_OF_WEEK_IN_MONTH)
    1
9 (FIELD_AM_PM)
    0
10 (FIELD_HOUR)
    4
11 (FIELD_HOUR_OF_DAY)
    4
12 (FIELD_MINUTE)
    44
13 (FIELD_SECOND)
    44
14 (FIELD_MILLISECOND)
    551
15 (FIELD_ZONE_OFFSET)
    0
16 (FIELD_DST_OFFSET)
    3600000
17 (FIELD_YEAR_WOY)
    2013
18 (FIELD_DOW_LOCAL)
    2
19 (FIELD_EXTENDED_YEAR)
    2013
20 (FIELD_JULIAN_DAY)
    2456475
21 (FIELD_MILLISECONDS_IN_DAY)
    17084551
22 (FIELD_IS_LEAP_MONTH)
    0


The maximum value for a field, considering the object's current time

  • « IntlCalendar::get
  • IntlCalendar::getActualMinimum »
  • PHP Manual
  • IntlCalendar
  • The maximum value for a field, considering the object's current time

IntlCalendar::getActualMaximum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getActualMaximum — The maximum value for a field, considering the object's current time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getActualMaximum(int $field): int|false

Yordamsal kullanım

intlcal_get_actual_maximum(IntlCalendar $calendar, int $field): int|false

Returns a field's relative maximum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the smallest relative maximum for the field and would increment it until reaching the global maximum or the field value wraps around, in which the value returned would be the global maximum or the value before the wrapping, respectively.

For instance, in the gregorian calendar, the actual maximum value for the day of month would vary between 28 and 31, depending on the month and year of the current time.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing the maximum value in the units associated with the given field başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getActualMaximum()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = IntlCalendar::fromDateTime('2013-02-15');
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //28

$cal->add(IntlCalendar::FIELD_EXTENDED_YEAR, -1);
var_dump($cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH)); //29

Yukarıdaki örneğin çıktısı:

int(28)
int(29)

Ayrıca Bakınız

  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getActualMinimum() - The minimum value for a field, considering the object's current time


The minimum value for a field, considering the object's current time

  • « IntlCalendar::getActualMaximum
  • IntlCalendar::getAvailableLocales »
  • PHP Manual
  • IntlCalendar
  • The minimum value for a field, considering the object's current time

IntlCalendar::getActualMinimum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getActualMinimum — The minimum value for a field, considering the object's current time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getActualMinimum(int $field): int|false

Yordamsal kullanım

intlcal_get_actual_minimum(IntlCalendar $calendar, int $field): int|false

Returns a field's relative minimum value around the current time. The exact semantics vary by field, but in the general case this is the value that would be obtained if one would set the field value into the greatest relative minimum for the field and would decrement it until reaching the global minimum or the field value wraps around, in which the value returned would be the global minimum or the value before the wrapping, respectively.

For the Gregorian calendar, this is always the same as IntlCalendar::getMinimum().

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing the minimum value in the field's unit başarısızlık durumunda false döner.

Ayrıca Bakınız

  • IntlCalendar::getMinimum() - Get the global minimum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field
  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time


Get array of locales for which there is data

  • « IntlCalendar::getActualMinimum
  • IntlCalendar::getDayOfWeekType »
  • PHP Manual
  • IntlCalendar
  • Get array of locales for which there is data

IntlCalendar::getAvailableLocales

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getAvailableLocales — Get array of locales for which there is data

Açıklama

Nesne yönelimli kullanım

public static IntlCalendar::getAvailableLocales(): array

Yordamsal kullanım

intlcal_get_available_locales(): array

Gives the list of locales for which calendars are installed. As of ICU 51, this is the list of all installed ICU locales.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of strings, one for which locale.

Örnekler

Örnek 1 IntlCalendar::getAvailableLocales()

<?php
print_r(IntlCalendar::getAvailableLocales());

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => af
    [1] => af_NA
    [2] => af_ZA
    [3] => agq
    [4] => agq_CM
    [5] => ak
    [6] => ak_GH
    [7] => am
    [8] => am_ET
    [9] => ar
    [10] => ar_001
    [11] => ar_AE
    [12] => ar_BH
    [13] => ar_DJ
    ... output abbreviated ...
    [595] => zh_Hant_HK
    [596] => zh_Hant_MO
    [597] => zh_Hant_TW
    [598] => zu
    [599] => zu_ZA
)


Tell whether a day is a weekday, weekend or a day that has a transition between the two

  • « IntlCalendar::getAvailableLocales
  • IntlCalendar::getErrorCode »
  • PHP Manual
  • IntlCalendar
  • Tell whether a day is a weekday, weekend or a day that has a transition between the two

IntlCalendar::getDayOfWeekType

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getDayOfWeekType — Tell whether a day is a weekday, weekend or a day that has a transition between the two

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getDayOfWeekType(int $dayOfWeek): int|false

Yordamsal kullanım

intlcal_get_day_of_week_type(IntlCalendar $calendar, int $dayOfWeek): int|false

Returns whether the passed day is a weekday (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a day during which the weekend ceases (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).

If the return is either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then
IntlCalendar::getWeekendTransition() can be called to
obtain the time of the transition.

This function requires ICU 4.4 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, ...,
IntlCalendar::DOW_SATURDAY.

Dönen Değerler

Returns one of the constants
IntlCalendar::DOW_TYPE_WEEKDAY,
IntlCalendar::DOW_TYPE_WEEKEND,
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getDayOfWeekType()

<?php
foreach (array('en_US', 'ar_SA') as $locale) {
echo "Locale: ", Locale::getDisplayName($locale, "en_US"), "\n";

$cal = IntlCalendar::createInstance('UTC', $locale);

for ($i = IntlCalendar::DOW_SUNDAY; $i <= IntlCalendar::DOW_SATURDAY; $i++) {
$type = $cal->getDayOfWeekType($i);
$transition = ($type !== IntlCalendar::DOW_TYPE_WEEKDAY)
? $cal->getWeekendTransition($i)
: '';
echo $i, " ", $type, " ", $transition, "\n";
}
echo "\n";
}
?>

Yukarıdaki örneğin çıktısı:

Locale: English (United States)
1 1 86400000
2 0
3 0
4 0
5 0
6 0
7 1 0

Locale: Arabic (Saudi Arabia)
1 0
2 0
3 0
4 0
5 0
6 1 0
7 1 86400000


Get last error code on the object

  • « IntlCalendar::getDayOfWeekType
  • IntlCalendar::getErrorMessage »
  • PHP Manual
  • IntlCalendar
  • Get last error code on the object

IntlCalendar::getErrorCode

intlcal_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getErrorCode -- intlcal_get_error_code — Get last error code on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlCalendar::getErrorCode(): int|false

Yordamsal kullanım:

intlcal_get_error_code(IntlCalendar $calendar): int|false

Returns the numeric ICU error code for the last call on this object (including cloning) or the IntlCalendar given for the calendar parameter (in the procedural?style version). This may indicate only a warning (negative error code) or no error at all (U_ZERO_ERROR). The actual presence of an error can be tested with intl_is_failure().

Invalid arguments detected on the PHP side (before invoking functions of the ICU library) are not recorded for the purposes of this function.

The last error that occurred in any call to a function of the intl extension, including early argument errors, can be obtained with intl_get_error_code(). This function resets the global error code, but not the object's error code.

Bağımsız Değişkenler

calendar

The calendar object, on the procedural style interface.

Dönen Değerler

An ICU error code indicating either success, failure or a warning. Returns false on failure.

Örnekler

Örnek 1 IntlCalendar::getErrorCode() and IntlCalendar::getErrorMessage()

<?php
ini_set("intl.error_level", E_WARNING);
ini_set("intl.default_locale", "nl");

$intlcal = new IntlGregorianCalendar(2012, 1, 29);
var_dump(
$intlcal->getErrorCode(),
$intlcal->getErrorMessage()
);
$intlcal->fieldDifference(-1e100, IntlCalendar::FIELD_SECOND);

var_dump(
$intlcal->getErrorCode(),
$intlcal->getErrorMessage()
);

Yukarıdaki örneğin çıktısı:

int(0)
string(12) "U_ZERO_ERROR"

Warning: IntlCalendar::fieldDifference(): intlcal_field_difference: Call to ICU method has failed in /home/glopes/php/ws/example.php on line 10
int(1)
string(81) "intlcal_field_difference: Call to ICU method has failed: U_ILLEGAL_ARGUMENT_ERROR"

Ayrıca Bakınız

  • IntlCalendar::getErrorMessage() - Get last error message on the object
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar
  • intl_error_name() - Belirtilen hata kodunun simgesel ismini döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_get_error_message() - Son hatayı açıklayan bir dizge ile döner


Get last error message on the object

  • « IntlCalendar::getErrorCode
  • IntlCalendar::getFirstDayOfWeek »
  • PHP Manual
  • IntlCalendar
  • Get last error message on the object

IntlCalendar::getErrorMessage

intlcal_get_error_message

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getErrorMessage -- intlcal_get_error_message — Get last error message on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlCalendar::getErrorMessage(): string|false

Yordamsal kullanım:

intlcal_get_error_message(IntlCalendar $calendar): string|false

Returns the error message (if any) associated with the error reported by IntlCalendar::getErrorCode() or intlcal_get_error_code(). If there is no associated error message, only the string representation of the name of the error constant will be returned. Otherwise, the message also includes a message set on the side of the PHP binding.

Bağımsız Değişkenler

calendar

The calendar object, on the procedural style interface.

Dönen Değerler

The error message associated with last error that occurred in a function call on this object, or a string indicating the non-existence of an error. Returns false on failure.

Örnekler

Örnek 1 IntlCalendar::getErrorMessage()

<?php
$cal = IntlCalendar::createInstance('UTC', 'en_US');
var_dump($cal->getErrorMessage());

$cal->getWeekendTransition(IntlCalendar::DOW_WEDNESDAY);
var_dump($cal->getErrorMessage());

Yukarıdaki örneğin çıktısı:

string(12) "U_ZERO_ERROR"
string(82) "intlcal_get_weekend_transition: Error calling ICU method: U_ILLEGAL_ARGUMENT_ERROR"


Get the first day of the week for the calendar's locale

  • « IntlCalendar::getErrorMessage
  • IntlCalendar::getGreatestMinimum »
  • PHP Manual
  • IntlCalendar
  • Get the first day of the week for the calendar's locale

IntlCalendar::getFirstDayOfWeek

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getFirstDayOfWeek — Get the first day of the week for the calendar's locale

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getFirstDayOfWeek(): int|false

Yordamsal kullanım

intlcal_get_first_day_of_week(IntlCalendar $calendar): int|false

The week day deemed to start a week, either the default value for this locale or the value set with IntlCalendar::setFirstDayOfWeek().

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, ...,
IntlCalendar::DOW_SATURDAY başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getFirstDayOfWeek()

<?php
ini_set('date.timezone', 'UTC');

$cal1 = IntlCalendar::createInstance(NULL, 'es_ES');
var_dump($cal1->getFirstDayOfWeek()); // Monday
$cal1->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal1->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 5

$cal2 = IntlCalendar::createInstance(NULL, 'en_US');
var_dump($cal2->getFirstDayOfWeek()); // Sunday
$cal2->set(2013, 1 /* February */, 3); // a Sunday
var_dump($cal2->get(IntlCalendar::FIELD_WEEK_OF_YEAR)); // 6

Yukarıdaki örneğin çıktısı:

int(2)
int(5)
int(1)
int(6)

Ayrıca Bakınız

  • IntlCalendar::setFirstDayOfWeek() - Set the day on which the week is deemed to start


Get the largest local minimum value for a field

  • « IntlCalendar::getFirstDayOfWeek
  • IntlCalendar::getKeywordValuesForLocale »
  • PHP Manual
  • IntlCalendar
  • Get the largest local minimum value for a field

IntlCalendar::getGreatestMinimum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getGreatestMinimum — Get the largest local minimum value for a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getGreatestMinimum(int $field): int|false

Yordamsal kullanım

intlcal_get_greatest_minimum(IntlCalendar $calendar, int $field): int|false

Returns the largest local minimum for a field. This should be a value larger or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn larger or equal to that returned by IntlCalendar::getMinimum(). All these three functions return the same value for the Gregorian calendar.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing a field value, in the field's unit, başarısızlık durumunda false döner.


Get set of locale keyword values

  • « IntlCalendar::getGreatestMinimum
  • IntlCalendar::getLeastMaximum »
  • PHP Manual
  • IntlCalendar
  • Get set of locale keyword values

IntlCalendar::getKeywordValuesForLocale

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getKeywordValuesForLocale — Get set of locale keyword values

Açıklama

Nesne yönelimli kullanım

public static IntlCalendar::getKeywordValuesForLocale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false

Yordamsal kullanım

intlcal_get_keyword_values_for_locale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false

For a given locale key, get the set of values for that key that would result in a different behavior. For now, only the 'calendar' keyword is supported.

This function requires ICU 4.2 or later.

Bağımsız Değişkenler

keyword

The locale keyword for which relevant values are to be queried. Only 'calendar' is supported.

locale

The locale onto which the keyword/value pair are to be appended.

onlyCommon

Whether to show only the values commonly used for the specified locale.

Dönen Değerler

An iterator that yields strings with the locale keyword values başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getKeyworkValuesForLocale()

<?php
print_r(
iterator_to_array(
IntlCalendar::getKeywordValuesForLocale(
'calendar', 'fa_IR', true)));
print_r(
iterator_to_array(
IntlCalendar::getKeywordValuesForLocale(
'calendar', 'fa_IR', false)));

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
)
Array
(
    [0] => persian
    [1] => gregorian
    [2] => islamic
    [3] => islamic-civil
    [4] => japanese
    [5] => buddhist
    [6] => roc
    [7] => hebrew
    [8] => chinese
    [9] => indian
    [10] => coptic
    [11] => ethiopic
    [12] => ethiopic-amete-alem
)


Get the smallest local maximum for a field

  • « IntlCalendar::getKeywordValuesForLocale
  • IntlCalendar::getLocale »
  • PHP Manual
  • IntlCalendar
  • Get the smallest local maximum for a field

IntlCalendar::getLeastMaximum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getLeastMaximum — Get the smallest local maximum for a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getLeastMaximum(int $field): int|false

Yordamsal kullanım

intlcal_get_least_maximum(IntlCalendar $calendar, int $field): int|false

Returns the smallest local maximumw for a field. This should be a value smaller or equal to that returned by IntlCalendar::getActualMaxmimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getMaximum().

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing a field value in the field's unit başarısızlık durumunda false döner.

Örnekler

Örnek 1 Maxima examples

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'it_IT');

$cal = new IntlGregorianCalendar(2013, 3 /* April */, 6);
var_dump(
$cal->getLeastMaximum(IntlCalendar::FIELD_DAY_OF_MONTH), // 28
$cal->getActualMaximum(IntlCalendar::FIELD_DAY_OF_MONTH), // 30
$cal->getMaximum(IntlCalendar::FIELD_DAY_OF_MONTH) // 31
);

Yukarıdaki örneğin çıktısı:

int(28)
int(30)
int(31)

Ayrıca Bakınız

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getMaximum() - Get the global maximum value for a field
  • IntlCalendar::getGreatestMinimum() - Get the largest local minimum value for a field


Get the locale associated with the object

  • « IntlCalendar::getLeastMaximum
  • IntlCalendar::getMaximum »
  • PHP Manual
  • IntlCalendar
  • Get the locale associated with the object

IntlCalendar::getLocale

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getLocale — Get the locale associated with the object

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getLocale(int $type): string|false

Yordamsal kullanım

intlcal_get_locale(IntlCalendar $calendar, int $type): string|false

Returns the locale used by this calendar object.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

type

Whether to fetch the actual locale (the locale from which the calendar data originates, with Locale::ACTUAL_LOCALE) or the valid locale, i.e., the most specific locale supported by ICU relatively to the requested locale - see Locale::VALID_LOCALE. From the most general to the most specific, the locales are ordered in this fashion - actual locale, valid locale, requested locale.

Dönen Değerler

A locale string başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getLocale()

<?php
$cal = IntlCalendar::createInstance(IntlTimeZone::getGMT(), 'en_US_CALIFORNIA');
var_dump(
$cal->getLocale(Locale::ACTUAL_LOCALE),
$cal->getLocale(Locale::VALID_LOCALE)
);

Yukarıdaki örneğin çıktısı:

string(2) "en"
string(5) "en_US"


Get the global maximum value for a field

  • « IntlCalendar::getLocale
  • IntlCalendar::getMinimalDaysInFirstWeek »
  • PHP Manual
  • IntlCalendar
  • Get the global maximum value for a field

IntlCalendar::getMaximum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getMaximum — Get the global maximum value for a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getMaximum(int $field): int|false

Yordamsal kullanım

intlcal_get_maximum(IntlCalendar $calendar, int $field): int|false

Gets the global maximum for a field, in this specific calendar. This value is larger or equal to that returned by IntlCalendar::getActualMaximum(), which is in its turn larger or equal to that returned by IntlCalendar::getLeastMaximum().

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing a field value in the field's unit başarısızlık durumunda false döner.

Ayrıca Bakınız

  • IntlCalendar::getActualMaximum() - The maximum value for a field, considering the object's current time
  • IntlCalendar::getLeastMaximum() - Get the smallest local maximum for a field
  • IntlCalendar::getMinimum() - Get the global minimum value for a field


Get minimal number of days the first week in a year or month can have

  • « IntlCalendar::getMaximum
  • IntlCalendar::getMinimum »
  • PHP Manual
  • IntlCalendar
  • Get minimal number of days the first week in a year or month can have

IntlCalendar::getMinimalDaysInFirstWeek

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getMinimalDaysInFirstWeek — Get minimal number of days the first week in a year or month can have

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getMinimalDaysInFirstWeek(): int|false

Yordamsal kullanım

intlcal_get_minimal_days_in_first_week(IntlCalendar $calendar): int|false

Returns the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

An int representing a number of days başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlCalendar::getMinimalDaysInFirstWeek()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 0 /* January */, 2);
var_dump(IntlDateFormatter::formatObject($cal, 'cccc')); // Wednesday

var_dump($cal->getMinimalDaysInFirstWeek(), // 1
$cal->getFirstDayofWeek()); // 1 (Sunday)

// Week 1 of 2013
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(4);
// Still Week 1 of 2013 (1st week has 5 days in the new year)
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

$cal->setMinimalDaysInFirstWeek(6);
// Week 53 of 2012
var_dump(IntlDateFormatter::formatObject($cal, "'Week 'w' of 'Y"));

Yukarıdaki örneğin çıktısı:

string(9) "Wednesday"
int(1)
int(1)
string(14) "Week 1 of 2013"
string(14) "Week 1 of 2013"
string(15) "Week 53 of 2012"


Get the global minimum value for a field

  • « IntlCalendar::getMinimalDaysInFirstWeek
  • IntlCalendar::getNow »
  • PHP Manual
  • IntlCalendar
  • Get the global minimum value for a field

IntlCalendar::getMinimum

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getMinimum — Get the global minimum value for a field

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getMinimum(int $field): int|false

Yordamsal kullanım

intlcal_get_minimum(IntlCalendar $calendar, int $field): int|false

Gets the global minimum for a field, in this specific calendar. This value is smaller or equal to that returned by IntlCalendar::getActualMinimum(), which is in its turn smaller or equal to that returned by IntlCalendar::getGreatestMinimum(). For the Gregorian calendar, these three functions always return the same value (for each field).

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

An int representing a value for the given field in the field's unit başarısızlık durumunda false döner.


Get number representing the current time

  • « IntlCalendar::getMinimum
  • IntlCalendar::getRepeatedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Get number representing the current time

IntlCalendar::getNow

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getNow — Get number representing the current time

Açıklama

Nesne yönelimli kullanım

public static IntlCalendar::getNow(): float

Yordamsal kullanım

intlcal_get_now(): float

The number of milliseconds that have passed since the reference date. This number is derived from the system time.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A float representing a number of milliseconds since the epoch, not counting leap seconds.

Örnekler

Örnek 1 IntlCalendar::getNow()

<?php
$formatter = IntlDateFormatter::create('es_ES',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Madrid');

$val = IntlCalendar::getNow();

var_dump($val);
echo $formatter->format(IntlCalendar::getNow() / 1000.), "\n";

Yukarıdaki örneğin çıktısı:

float(1371425814666)
lunes, 17 de junio de 2013 01:36:54 Hora de verano de Europa central


Get behavior for handling repeating wall time

  • « IntlCalendar::getNow
  • IntlCalendar::getSkippedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Get behavior for handling repeating wall time

IntlCalendar::getRepeatedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getRepeatedWallTimeOption — Get behavior for handling repeating wall time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getRepeatedWallTimeOption(): int

Yordamsal kullanım

intlcal_get_repeated_wall_time_option(IntlCalendar $calendar): int

Gets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST.

This function requires ICU 4.9 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Örnekler

Örnek 1 IntlCalendar::getRepeatedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On October 27th at 0200, the clock goes back 1 hour and from GMT+01 to GMT+00
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30);

var_dump($cal->getRepeatedWalltimeOption()); // 0 WALLTIME_LAST

$formatter = IntlDateFormatter::create(
NULL,
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000.));

$cal->setRepeatedWalltimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getRepeatedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000.));

Yukarıdaki örneğin çıktısı:

int(0)
string(42) "Sunday, October 27, 2013 at 1:30:00 AM GMT"
int(1)
string(43) "Sunday, October 27, 2013 at 12:30:00 AM GMT"

Ayrıca Bakınız

  • IntlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions


Get behavior for handling skipped wall time

  • « IntlCalendar::getRepeatedWallTimeOption
  • IntlCalendar::getTime »
  • PHP Manual
  • IntlCalendar
  • Get behavior for handling skipped wall time

IntlCalendar::getSkippedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getSkippedWallTimeOption — Get behavior for handling skipped wall time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getSkippedWallTimeOption(): int

Yordamsal kullanım

intlcal_get_skipped_wall_time_option(IntlCalendar $calendar): int

Gets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Örnekler

Örnek 1 IntlCalendar::getSkippedWallTimeOption()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');
ini_set('intl.error_level', E_WARNING);

//On March 31st at 0100, the clock goes forward 1 hour and from GMT+00 to GMT+01
$cal = new IntlGregorianCalendar(2013, 2 /* March */, 31, 1, 30);

var_dump(
$cal->isLenient(), // true
$cal->getSkippedWalltimeOption() // 0 WALLTIME_LAST
);

$formatter = IntlDateFormatter::create(
NULL,
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'UTC'
);
var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
var_dump($cal->getSkippedWalltimeOption()); // 1 WALLTIME_FIRST
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

$cal->setSkippedWallTimeOption(IntlCalendar::WALLTIME_NEXT_VALID);
var_dump($cal->getSkippedWalltimeOption()); // 2 WALLTIME_NEXT_VALID
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1);

var_dump($formatter->format($cal->getTime() / 1000));

Yukarıdaki örneğin çıktısı:

bool(true)
int(0)
string(40) "Sunday, March 31, 2013 at 1:30:00 AM GMT"
int(1)
string(41) "Sunday, March 31, 2013 at 12:30:00 AM GMT"
int(2)
string(40) "Sunday, March 31, 2013 at 1:00:00 AM GMT"

Ayrıca Bakınız

  • IntlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • IntlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • IntlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions


Get time currently represented by the object

  • « IntlCalendar::getSkippedWallTimeOption
  • IntlCalendar::getTimeZone »
  • PHP Manual
  • IntlCalendar
  • Get time currently represented by the object

IntlCalendar::getTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getTime — Get time currently represented by the object

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getTime(): float|false

Yordamsal kullanım

intlcal_get_time(IntlCalendar $calendar): float|false

Returns the time associated with this object, expressed as the number of milliseconds since the epoch.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

A float representing the number of milliseconds elapsed since the reference time (1 Jan 1970 00:00:00 UTC), başarısızlık durumunda false döner

Örnekler

Örnek 1 IntlCalendar::getTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = new IntlGregorianCalendar(2013, 4 /* May */, 1, 0, 0, 0);
$time = $cal->getTime();
var_dump($time, $time / 1000 == strtotime('2013-05-01 00:00:00')); //true

Yukarıdaki örneğin çıktısı:

float(1367362800000)
bool(true)

Ayrıca Bakınız

  • IntlCalendar::getNow() - Get number representing the current time


Get the object's timezone

  • « IntlCalendar::getTime
  • IntlCalendar::getType »
  • PHP Manual
  • IntlCalendar
  • Get the object's timezone

IntlCalendar::getTimeZone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getTimeZone — Get the object's timezone

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getTimeZone(): IntlTimeZone|false

Yordamsal kullanım

intlcal_get_time_zone(IntlCalendar $calendar): IntlTimeZone|false

Returns the IntlTimeZone object associated with this calendar.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

An IntlTimeZone object corresponding to the one used internally in this object. Returns false on failure.

Örnekler

Örnek 1 IntlCalendar::getTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance();
print_r($cal->getTimeZone());

$cal->setTimeZone('UTC');
print_r($cal->getTimeZone());

$cal = IntlCalendar::fromDateTime('2012-01-01 00:00:00 GMT+03:33');
print_r($cal->getTimeZone());

Yukarıdaki örneğin çıktısı:

IntlTimeZone Object
(
    [valid] => 1
    [id] => Europe/Lisbon
    [rawOffset] => 0
    [currentOffset] => 3600000
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => UTC
    [rawOffset] => 0
    [currentOffset] => 0
)
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+03:33
    [rawOffset] => 12780000
    [currentOffset] => 12780000
)

Ayrıca Bakınız

  • IntlCalendar::setTimeZone() - Set the timezone used by this calendar
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • IntlGregorianCalendar::__construct() - Create the Gregorian Calendar class


Get the calendar type

  • « IntlCalendar::getTimeZone
  • IntlCalendar::getWeekendTransition »
  • PHP Manual
  • IntlCalendar
  • Get the calendar type

IntlCalendar::getType

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getType — Get the calendar type

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getType(): string

Yordamsal kullanım

intlcal_get_type(IntlCalendar $calendar): string

A string describing the type of this calendar. This is one of the valid values for the calendar keyword value 'calendar'.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

A string representing the calendar type, such as 'gregorian', 'islamic', etc.

Örnekler

Örnek 1 IntlCalendar::getType()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'en_US');

$cal = IntlCalendar::createInstance(NULL, '@calendar=ethiopic-amete-alem');
var_dump($cal->getType());

$cal = new IntlGregorianCalendar();
var_dump($cal->getType());

Yukarıdaki örneğin çıktısı:

string(19) "ethiopic-amete-alem"
string(9) "gregorian"


Get time of the day at which weekend begins or ends

  • « IntlCalendar::getType
  • IntlCalendar::inDaylightTime »
  • PHP Manual
  • IntlCalendar
  • Get time of the day at which weekend begins or ends

IntlCalendar::getWeekendTransition

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::getWeekendTransition — Get time of the day at which weekend begins or ends

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::getWeekendTransition(int $dayOfWeek): int|false

Yordamsal kullanım

intlcal_get_weekend_transition(IntlCalendar $calendar, int $dayOfWeek): int|false

Returns the number of milliseconds after midnight at which the weekend begins or ends.

This is only applicable for days of the week for which
IntlCalendar::getDayOfWeekType() returns either
IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this
function for other days of the week is an error condition.

This function requires ICU 4.4 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, ...,
IntlCalendar::DOW_SATURDAY.

Dönen Değerler

The number of milliseconds into the day at which the weekend begins or ends başarısızlık durumunda false döner.

Örnekler

See example on IntlCalendar::getDayOfWeekType().


Whether the object's time is in Daylight Savings Time

  • « IntlCalendar::getWeekendTransition
  • IntlCalendar::isEquivalentTo »
  • PHP Manual
  • IntlCalendar
  • Whether the object's time is in Daylight Savings Time

IntlCalendar::inDaylightTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::inDaylightTime — Whether the object's time is in Daylight Savings Time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::inDaylightTime(): bool

Yordamsal kullanım

intlcal_in_daylight_time(IntlCalendar $calendar): bool

Whether, for the instant represented by this object and for this object's timezone, daylight saving time is in place.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

Returns true if the date is in Daylight Savings Time, false otherwise.

Başarısızlık durumunda ayrıca false döner. Hataları yakalamak için ya intl_get_error_code() işlevini kullanın ya da Intl eklentisini istisnaları yavrulamaya ayarlayın.

Örnekler

Örnek 1 IntlCalendar::inDaylightTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1, 4, 56, 31);
var_dump($cal->inDaylightTime()); // true
$cal->set(IntlCalendar::FIELD_MONTH, 11 /* December */);
var_dump($cal->inDaylightTime()); // false

//DST end transition on 2013-10-27 at 0200 (wall time back 1 hour)
$cal = new IntlGregorianCalendar(2013, 9 /* October */, 27, 1, 30, 0);

var_dump($cal->inDaylightTime()); // false (default WALLTIME_LAST)

$cal->setRepeatedWallTimeOption(IntlCalendar::WALLTIME_FIRST);
$cal->set(IntlCalendar::FIELD_HOUR_OF_DAY, 1); // force time recalculation
var_dump($cal->inDaylightTime()); // true


Whether another calendar is equal but for a different time

  • « IntlCalendar::inDaylightTime
  • IntlCalendar::isLenient »
  • PHP Manual
  • IntlCalendar
  • Whether another calendar is equal but for a different time

IntlCalendar::isEquivalentTo

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::isEquivalentTo — Whether another calendar is equal but for a different time

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::isEquivalentTo(IntlCalendar $other): bool

Yordamsal kullanım

intlcal_is_equivalent_to(IntlCalendar $calendar, IntlCalendar $other): bool

Returns whether this and the given object are equivalent for all purposes except as to the time they have set. The locales do not have to match, as long as no change in behavior results from such mismatch. This includes the timezone, whether the lenient mode is set, the repeated and skipped wall time settings, the days of the week when the weekend starts and ceases and the times where such transitions occur. It may also include other calendar specific settings, such as the Gregorian/Julian transition instant.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

other

The other calendar against which the comparison is to be made.

Dönen Değerler

Assuming there are no argument errors, returns true if the calendars are equivalent except possibly for their set time.

Örnekler

Örnek 1 IntlCalendar::isEquivalentTo()

<?php
$cal1 = IntlCalendar::createInstance('Europe/Lisbon', 'pt_PT');
$cal2 = IntlCalendar::createInstance('Europe/Lisbon', 'es_ES');
$cal2->clear();

var_dump($cal1->isEquivalentTo($cal2)); // true

$cal3 = IntlCalendar::createInstance('Europe/Lisbon', 'en_US');
var_dump($cal1->isEquivalentTo($cal3)); // false
var_dump($cal1->getFirstDayOfWeek(), // 2 (Monday)
$cal3->getFirstDayOfWeek()); // 1 (Sunday)

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
int(2)
int(1)

Ayrıca Bakınız

  • IntlCalendar::equals() - Compare time of two IntlCalendar objects for equality


Whether date/time interpretation is in lenient mode

  • « IntlCalendar::isEquivalentTo
  • IntlCalendar::isSet »
  • PHP Manual
  • IntlCalendar
  • Whether date/time interpretation is in lenient mode

IntlCalendar::isLenient

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::isLenient — Whether date/time interpretation is in lenient mode

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::isLenient(): bool

Yordamsal kullanım

intlcal_is_lenient(IntlCalendar $calendar): bool

Returns whether the current date/time interpretations is lenient (the default). If that is case, some out of range values for fields will be accepted instead of raising an error.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

A bool representing whether the calendar is set to lenient mode.

Örnekler

Örnek 1 IntlCalendar::isLenient()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');
ini_set('intl.use_exceptions', '1');

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
var_dump(IntlDateFormatter::formatObject($cal), // 01/07/2013, 00:00:00
$cal->isLenient()); // true

$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // 02/08/2013, 00:00:00

$cal->setLenient(false);
var_dump($cal->isLenient()); // false
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 33);
var_dump(IntlDateFormatter::formatObject($cal)); // error

Yukarıdaki örneğin çıktısı:

string(20) "01/07/2013, 00:00:00"
bool(true)
string(20) "02/08/2013, 00:00:00"
bool(false)

Fatal error: Uncaught exception 'IntlException' with message 'datefmt_format_object: error obtaining instant from IntlCalendar' in /home/foobar/example.php:16
Stack trace:
#0 /home/foobar/example.php(16): IntlDateFormatter::formatObject(Object(IntlGregorianCalendar))
#1 {main}
  thrown in /home/foobar/example.php on line 16


Whether a field is set

  • « IntlCalendar::isLenient
  • IntlCalendar::isWeekend »
  • PHP Manual
  • IntlCalendar
  • Whether a field is set

IntlCalendar::isSet

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::isSet — Whether a field is set

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::isSet(int $field): bool

Yordamsal kullanım

intlcal_is_set(IntlCalendar $calendar, int $field): bool

Returns whether a field is set (as opposed to clear). Set fields take priority over unset fields and their default values when the date/time is being calculated. Fields set later take priority over fields set earlier.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

Dönen Değerler

Assuming there are no argument errors, returns true if the field is set.

Örnekler

See the example on IntlCalendar::clear().

Ayrıca Bakınız

  • IntlCalendar::clear() - Clear a field or all fields
  • IntlCalendar::set() - Set a time field or several common fields at once


Whether a certain date/time is in the weekend

  • « IntlCalendar::isSet
  • IntlCalendar::roll »
  • PHP Manual
  • IntlCalendar
  • Whether a certain date/time is in the weekend

IntlCalendar::isWeekend

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::isWeekend — Whether a certain date/time is in the weekend

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::isWeekend(?float $timestamp = null): bool

Yordamsal kullanım

intlcal_is_weekend(IntlCalendar $calendar, ?float $timestamp = null): bool

Returns whether either the obejct's current time or the provided timestamp occur during a weekend in this object's calendar system.

This function requires ICU 4.4 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

timestamp

An optional timestamp representing the number of milliseconds since the epoch, excluding leap seconds. If null, this object's current time is used instead.

Dönen Değerler

A bool indicating whether the given or this object's time occurs in a weekend.

Başarısızlık durumunda ayrıca false döner. Hataları yakalamak için ya intl_get_error_code() işlevini kullanın ya da Intl eklentisini istisnaları yavrulamaya ayarlayın.

Örnekler

Örnek 1 IntlCalendar::isWeekend()

<?php
ini_set('date.timezone', 'Europe/Lisbon');

$cal = new IntlGregorianCalendar(NULL, 'en_US');
$cal->set(2013, 6 /* July */, 7); // a Sunday

var_dump($cal->isWeekend()); // true
var_dump($cal->isWeekend(strtotime('2013-07-01 00:00:00'))); // false, Monday

$cal = new IntlGregorianCalendar(NULL, 'ar_SA');
$cal->set(2013, 6 /* July */, 7); // a Sunday
var_dump($cal->isWeekend()); // false, Sunday not in weekend in this calendar

Ayrıca Bakınız

  • IntlCalendar::getDayOfWeekType() - Tell whether a day is a weekday, weekend or a day that has a transition between the two
  • IntlCalendar::getWeekendTransition() - Get time of the day at which weekend begins or ends


Add value to field without carrying into more significant fields

  • « IntlCalendar::isWeekend
  • IntlCalendar::set »
  • PHP Manual
  • IntlCalendar
  • Add value to field without carrying into more significant fields

IntlCalendar::roll

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::roll — Add value to field without carrying into more significant fields

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::roll(int $field, int|bool $value): bool

Yordamsal kullanım

intlcal_roll(IntlCalendar $calendar, int $field, int|bool $value): bool

Adds a (signed) amount to a field. The difference with respect to IntlCalendar::add() is that when the field value overflows, it does not carry into more significant fields.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

value

The (signed) amount to add to the field, true for rolling up (adding 1), or false for rolling down (subtracting 1).

Dönen Değerler

Returns true on success or false on failure.

Örnekler

Örnek 1 IntlCalendar::roll()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

$cal = new IntlGregorianCalendar(2013, 5 /* June */, 30);

$cal->add(IntlCalendar::FIELD_DAY_OF_MONTH, 1);
var_dump(IntlDateFormatter::formatObject($cal)); // "01/07/2013, 00:00:00"

$cal->set(2013, 5 /* June */, 30);
$cal->roll(IntlCalendar::FIELD_DAY_OF_MONTH, true); // roll up, same as rolling +1
var_dump(IntlDateFormatter::formatObject($cal)); // "01/06/2013, 00:00:00"

Yukarıdaki örneğin çıktısı:

string(20) "01/07/2013, 00:00:00"
string(20) "01/06/2013, 00:00:00"

Ayrıca Bakınız

  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::set() - Set a time field or several common fields at once


Set a time field or several common fields at once

  • « IntlCalendar::roll
  • IntlCalendar::setDate »
  • PHP Manual
  • IntlCalendar
  • Set a time field or several common fields at once

IntlCalendar::set

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::set — Set a time field or several common fields at once

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::set(int $field, int $value): true
public IntlCalendar::set(
int $year,
int $month,
int $dayOfMonth = NULL,
int $hour = NULL,
int $minute = NULL,
int $second = NULL
): true

Yordamsal kullanım

intlcal_set(IntlCalendar $cal, int $field, int $value): true
intlcal_set(
IntlCalendar $cal,
int $year,
int $month,
int $dayOfMonth = NULL,
int $hour = NULL,
int $minute = NULL,
int $second = NULL
): bool

Sets either a specific field to the given value, or sets at once several common fields. The range of values that are accepted depend on whether the calendar is using the lenient mode.

For fields that conflict, the fields that are set later have priority.

This method cannot be called with exactly four arguments.

Bağımsız Değişkenler

cal

IntlCalendar örneği.

field

IntlCalendar tarih/zaman allan sabitlerinden biri. Bu tamsayı değerler 0 ile IntlCalendar::FIELD_COUNT arasındadır.

value

The new value of the given field.

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, ..., December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 IntlCalendar::set()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'pt_PT');

//Calls made later have priority
$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
var_dump(IntlDateFormatter::formatObject($cal));

$cal = new IntlGregorianCalendar(2013, 6 /* July */, 1);
$cal->set(IntlCalendar::FIELD_YEAR, 2012);
$cal->set(IntlCalendar::FIELD_EXTENDED_YEAR, 2011);
//the time has not been recalculated yet. If we clear the extended year,
//the year set before will be used
$cal->clear(IntlCalendar::FIELD_EXTENDED_YEAR);
var_dump(IntlDateFormatter::formatObject($cal));

Yukarıdaki örneğin çıktısı:

string(20) "01/07/2011, 00:00:00"
string(20) "01/07/2012, 00:00:00"

Ayrıca Bakınız

  • IntlCalendar::get() - Get the value for a field
  • IntlCalendar::add() - Add a (signed) amount of time to a field
  • IntlCalendar::roll() - Add value to field without carrying into more significant fields


Set a date fields

  • « IntlCalendar::set
  • IntlCalendar::setDateTime »
  • PHP Manual
  • IntlCalendar
  • Set a date fields

IntlCalendar::setDate

(PHP 8 >= 8.3.0)

IntlCalendar::setDate — Set a date fields

Açıklama

public IntlCalendar::setDate(int $year, int $month, int $dayOfMonth): void

Sets a date fields to the given value.

Bağımsız Değişkenler

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, ..., December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 IntlCalendar::setDate() example

<?php
$intlCal = IntlCalendar::createInstance('UTC');

$intlCal->setDate(2012, 1, 29);
?>


Set a date and time fields

  • « IntlCalendar::setDate
  • IntlCalendar::setFirstDayOfWeek »
  • PHP Manual
  • IntlCalendar
  • Set a date and time fields

IntlCalendar::setDateTime

(PHP 8 >= 8.3.0)

IntlCalendar::setDateTime — Set a date and time fields

Açıklama

public IntlCalendar::setDateTime(
int $year,
int $month,
int $dayOfMonth,
int $hour,
int $minute,
int $second = null
): void

Sets a date and time fields to the given value.

Bağımsız Değişkenler

year

The new value for IntlCalendar::FIELD_YEAR.

month

The new value for IntlCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, ..., December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlCalendar::FIELD_DAY_OF_MONTH.

hour

The new value for IntlCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlCalendar::FIELD_MINUTE.

second

The new value for IntlCalendar::FIELD_SECOND.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 IntlCalendar::setDateTime() example

<?php
$intlCal = IntlCalendar::createInstance('UTC');

$intlCal->setDateTime(2012, 1, 29, 23, 58);
?>


Set the day on which the week is deemed to start

  • « IntlCalendar::setDateTime
  • IntlCalendar::setLenient »
  • PHP Manual
  • IntlCalendar
  • Set the day on which the week is deemed to start

IntlCalendar::setFirstDayOfWeek

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setFirstDayOfWeek — Set the day on which the week is deemed to start

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setFirstDayOfWeek(int $dayOfWeek): true

Yordamsal kullanım

intlcal_set_first_day_of_week(IntlCalendar $calendar, int $dayOfWeek): true

Defines the day of week deemed to start the week. This affects the behavior of fields that depend on the concept of week start and end such as IntlCalendar::FIELD_WEEK_OF_YEAR and IntlCalendar::FIELD_YEAR_WOY.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

dayOfWeek

One of the constants IntlCalendar::DOW_SUNDAY,
IntlCalendar::DOW_MONDAY, ...,
IntlCalendar::DOW_SATURDAY.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 IntlCalendar::setFirstDayOfWeek()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = IntlCalendar::createInstance();
$cal->set(2013, 5 /* June */, 30); // A Sunday

var_dump($cal->getFirstDayOfWeek()); // 2 (Monday)

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month : 'W'
week of year : 'ww
EOD
), "\n";

$cal->setFirstDayOfWeek(IntlCalendar::DOW_SUNDAY);

echo IntlDateFormatter::formatObject($cal, <<<EOD
'local day of week: 'cc'
week of month : 'W'
week of year : 'ww
EOD
), "\n";

Yukarıdaki örneğin çıktısı:

int(2)
local day of week: 7
week of month    : 4
week of year     : 26
local day of week: 1
week of month    : 5
week of year     : 27


Set whether date/time interpretation is to be lenient

  • « IntlCalendar::setFirstDayOfWeek
  • IntlCalendar::setMinimalDaysInFirstWeek »
  • PHP Manual
  • IntlCalendar
  • Set whether date/time interpretation is to be lenient

IntlCalendar::setLenient

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setLenient — Set whether date/time interpretation is to be lenient

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setLenient(bool $lenient): true

Yordamsal kullanım

intlcal_set_lenient(IntlCalendar $calendar, bool $lenient): true

Defines whether the calendar is 'lenient mode'. In such a mode, some of out-of-bounds values for some fields are accepted, the behavior being similar to that of IntlCalendar::add() (i.e., the value wraps around, carrying into more significant fields each time). If the lenient mode is off, then such values will generate an error.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

lenient

Use true to activate the lenient mode; false otherwise.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

See the example in IntlCalendar::isLenient().


Set minimal number of days the first week in a year or month can have

  • « IntlCalendar::setLenient
  • IntlCalendar::setRepeatedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Set minimal number of days the first week in a year or month can have

IntlCalendar::setMinimalDaysInFirstWeek

(PHP 5 >= 5.5.1, PHP 7, PHP 8)

IntlCalendar::setMinimalDaysInFirstWeek — Set minimal number of days the first week in a year or month can have

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setMinimalDaysInFirstWeek(int $days): true

Yordamsal kullanım

intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, int $days): true

Sets the smallest number of days the first week of a year or month must have in the new year or month. For instance, in the Gregorian calendar, if this value is 1, then the first week of the year will necessarily include January 1st, while if this value is 7, then the week with January 1st will be the first week of the year only if the day of the week for January 1st matches the day of the week returned by IntlCalendar::getFirstDayOfWeek(); otherwise it will be the previous year's last week.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

days

The number of minimal days to set.

Dönen Değerler

Daima true döndürür.

Hatalar/İstisnalar

ValueError if days is out of range (less than 1 or more than 7).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | A ValueError is now thrown on invalid input. Previously, false was returned.


Set behavior for handling repeating wall times at negative timezone offset transitions

  • « IntlCalendar::setMinimalDaysInFirstWeek
  • IntlCalendar::setSkippedWallTimeOption »
  • PHP Manual
  • IntlCalendar
  • Set behavior for handling repeating wall times at negative timezone offset transitions

IntlCalendar::setRepeatedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setRepeatedWallTimeOption — Set behavior for handling repeating wall times at negative timezone offset transitions

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setRepeatedWallTimeOption(int $option): true

Yordamsal kullanım

intlcal_set_repeated_wall_time_option(IntlCalendar $calendar, int $option): true

Sets the current strategy for dealing with wall times that are repeated whenever the clock is set back during dailight saving time end transitions. The default value is IntlCalendar::WALLTIME_LAST (take the post-DST instant). The other possible value is IntlCalendar::WALLTIME_FIRST (take the instant that occurs during DST).

This function requires ICU 4.9 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

option

One of the constants IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

See the example on IntlCalendar::getRepeatedWallTimeOption().

Ayrıca Bakınız

  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time
  • intlCalendar::setSkippedWallTimeOption() - Set behavior for handling skipped wall times at positive timezone offset transitions
  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time


Set behavior for handling skipped wall times at positive timezone offset transitions

  • « IntlCalendar::setRepeatedWallTimeOption
  • IntlCalendar::setTime »
  • PHP Manual
  • IntlCalendar
  • Set behavior for handling skipped wall times at positive timezone offset transitions

IntlCalendar::setSkippedWallTimeOption

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setSkippedWallTimeOption — Set behavior for handling skipped wall times at positive timezone offset transitions

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setSkippedWallTimeOption(int $option): true

Yordamsal kullanım

intlcal_set_skipped_wall_time_option(IntlCalendar $calendar, int $option): true

Sets the current strategy for dealing with wall times that are skipped whenever the clock is forwarded during dailight saving time start transitions. The default value is IntlCalendar::WALLTIME_LAST (take it as being the same instant as the one when the wall time is one hour more). Alternative values are IntlCalendar::WALLTIME_FIRST (same instant as the one with a wall time of one hour less) and IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).

This affects only the instant represented by the calendar (as reported by IntlCalendar::getTime()), the field values will not be rewritten accordingly.

The calendar must be lenient for this option to have any effect, otherwise attempting to set a non-existing time will cause an error.

This function requires ICU 4.9 or later.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

option

One of the constants IntlCalendar::WALLTIME_FIRST,
IntlCalendar::WALLTIME_LAST or
IntlCalendar::WALLTIME_NEXT_VALID.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

See the example on IntlCalendar::getSkippedWallTimeOption().

Ayrıca Bakınız

  • intlCalendar::getSkippedWallTimeOption() - Get behavior for handling skipped wall time
  • intlCalendar::setRepeatedWallTimeOption() - Set behavior for handling repeating wall times at negative timezone offset transitions
  • intlCalendar::getRepeatedWallTimeOption() - Get behavior for handling repeating wall time


Set the calendar time in milliseconds since the epoch

  • « IntlCalendar::setSkippedWallTimeOption
  • IntlCalendar::setTimeZone »
  • PHP Manual
  • IntlCalendar
  • Set the calendar time in milliseconds since the epoch

IntlCalendar::setTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setTime — Set the calendar time in milliseconds since the epoch

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setTime(float $timestamp): bool

Yordamsal kullanım

intlcal_set_time(IntlCalendar $calendar, float $timestamp): bool

Sets the instant represented by this object. The instant is represented by a float whose value should be an integer number of milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring leap seconds. All the field values will be recalculated accordingly.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

timestamp

An instant represented by the number of number of milliseconds between such instant and the epoch, ignoring leap seconds.

Dönen Değerler

Returns true on success and false on failure.

Örnekler

Örnek 1 IntlCalendar::setTime()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'fr_FR');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

/* In Europe/Lisbon, on 2013-10-27 at 0200, the clock goes back one hour and
the timezone from UTC+01 to UTC+00 */

$cal->setTime(strtotime('2013-10-27 00:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

$cal->setTime(strtotime('2013-10-27 01:30:00 UTC') * 1000.);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";

Yukarıdaki örneğin çıktısı:

samedi 1 juin 2013 12:00:00 heure avancée d'Europe de l'Ouest
dimanche 27 octobre 2013 01:30:00 heure avancée d'Europe de l'Ouest
dimanche 27 octobre 2013 01:30:00 heure normale d'Europe de l'Ouest


Set the timezone used by this calendar

  • « IntlCalendar::setTime
  • IntlCalendar::toDateTime »
  • PHP Manual
  • IntlCalendar
  • Set the timezone used by this calendar

IntlCalendar::setTimeZone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlCalendar::setTimeZone — Set the timezone used by this calendar

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): bool

Yordamsal kullanım

intlcal_set_time_zone(IntlCalendar $calendar, IntlTimeZone|DateTimeZone|string|null $timezone): bool

Defines a new timezone for this calendar. The time represented by the object is preserved to the detriment of the field values.

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

timezone

The new timezone to be used by this calendar. It can be specified in the following ways:

  • date_default_timezone_get() tarafından döndürüldüğü gibi ve date_default_timezone_set() işlevi üzerinden veya date.timezone ini yönergesinde belirtildiği gibi, öntanımlı zaman dilimi kullanıldığı durumda null.

  • Doğrudan kullanılacaksa, IntlTimeZone.

  • DateTimeZone. Tanımlayıcısı çıkarılır ve bir ICU zaman dilimi nesnesi oluşturulur; zaman dilimi PHP'nin değil, ICU'nun veritabanı tarafından desteklenir.

  • Geçerli bir ICU zaman dilimi tanımlayıcısı olması gereken bir dizge. Bkz: IntlTimeZone::createTimeZoneIDEnumeration(). "GMT+08:30" gibi ham gösterimler de kabul edilir

Dönen Değerler

Returns true on success and false on failure.

Örnekler

Örnek 1 IntlCalendar::setTimeZone()

<?php
ini_set('date.timezone', 'Europe/Lisbon');
ini_set('intl.default_locale', 'es_ES');

$cal = new IntlGregorianCalendar(2013, 5 /* May */, 1, 12, 0, 0);

echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone(IntlTimeZone::getGMT());
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

$cal->setTimeZone('GMT+03:33');
echo IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL), "\n";
echo "(instant {$cal->getTime()})\n";

Yukarıdaki örneğin çıktısı:

sábado, 1 de junio de 2013 12:00:00 Hora de verano de Europa occidental
(instant 1370084400000)
sábado, 1 de junio de 2013 11:00:00 GMT
(instant 1370084400000)
sábado, 1 de junio de 2013 14:33:00 GMT+03:33
(instant 1370084400000)


Convert an IntlCalendar into a DateTime object

  • « IntlCalendar::setTimeZone
  • IntlGregorianCalendar »
  • PHP Manual
  • IntlCalendar
  • Convert an IntlCalendar into a DateTime object

IntlCalendar::toDateTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a2)

IntlCalendar::toDateTime — Convert an IntlCalendar into a DateTime object

Açıklama

Nesne yönelimli kullanım

public IntlCalendar::toDateTime(): DateTime|false

Yordamsal kullanım

intlcal_to_date_time(IntlCalendar $calendar): DateTime|false

Create a DateTime object that represents the same instant (up to second precision, with a rounding error of less than 1 second) and has an analog timezone to this object (the difference being DateTime's timezone will be backed by PHP's timezone while IntlCalendar's timezone is backed by ICU's).

Bağımsız Değişkenler

calendar

IntlCalendar örneği.

Dönen Değerler

A DateTime object with the same timezone as this object (though using PHP's database instead of ICU's) and the same time, except for the smaller precision (second precision instead of millisecond). Returns false on failure.

Örnekler

Örnek 1 IntlCalendar::toDateTime()

<?php
ini_set('date.timezone', 'UTC');
ini_set('intl.default_locale', 'pt_PT');

$cal = IntlCalendar::createInstance('Europe/Lisbon'); //current time

$dt = $cal->toDateTime();
print_r($dt);

Yukarıdaki örneğin çıktısı:

DateTime Object
(
    [date] => 2013-07-02 00:29:13
    [timezone_type] => 3
    [timezone] => Europe/Lisbon
)

Ayrıca Bakınız

  • IntlCalendar::fromDateTime() - Create an IntlCalendar from a DateTime object or string
  • IntlCalendar::getTime() - Get time currently represented by the object
  • IntlCalendar::createInstance() - Create a new IntlCalendar
  • DateTime::__construct() - Returns new DateTime object


The IntlGregorianCalendar class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

class IntlGregorianCalendar extends IntlCalendar {
/* Miras alınan sabitler */
public const int IntlCalendar::FIELD_ERA;
public const int IntlCalendar::FIELD_YEAR;
public const int IntlCalendar::FIELD_MONTH;
public const int IntlCalendar::FIELD_WEEK_OF_YEAR;
public const int IntlCalendar::FIELD_WEEK_OF_MONTH;
public const int IntlCalendar::FIELD_DATE;
public const int IntlCalendar::FIELD_DAY_OF_YEAR;
public const int IntlCalendar::FIELD_DAY_OF_WEEK;
public const int IntlCalendar::FIELD_DAY_OF_WEEK_IN_MONTH;
public const int IntlCalendar::FIELD_AM_PM;
public const int IntlCalendar::FIELD_HOUR;
public const int IntlCalendar::FIELD_HOUR_OF_DAY;
public const int IntlCalendar::FIELD_MINUTE;
public const int IntlCalendar::FIELD_SECOND;
public const int IntlCalendar::FIELD_MILLISECOND;
public const int IntlCalendar::FIELD_ZONE_OFFSET;
public const int IntlCalendar::FIELD_DST_OFFSET;
public const int IntlCalendar::FIELD_YEAR_WOY;
public const int IntlCalendar::FIELD_DOW_LOCAL;
public const int IntlCalendar::FIELD_EXTENDED_YEAR;
public const int IntlCalendar::FIELD_JULIAN_DAY;
public const int IntlCalendar::FIELD_MILLISECONDS_IN_DAY;
public const int IntlCalendar::FIELD_IS_LEAP_MONTH;
public const int IntlCalendar::FIELD_FIELD_COUNT;
public const int IntlCalendar::FIELD_DAY_OF_MONTH;
public const int IntlCalendar::DOW_SUNDAY;
public const int IntlCalendar::DOW_MONDAY;
public const int IntlCalendar::DOW_TUESDAY;
public const int IntlCalendar::DOW_WEDNESDAY;
public const int IntlCalendar::DOW_THURSDAY;
public const int IntlCalendar::DOW_FRIDAY;
public const int IntlCalendar::DOW_SATURDAY;
public const int IntlCalendar::DOW_TYPE_WEEKDAY;
public const int IntlCalendar::DOW_TYPE_WEEKEND;
public const int IntlCalendar::DOW_TYPE_WEEKEND_OFFSET;
public const int IntlCalendar::DOW_TYPE_WEEKEND_CEASE;
public const int IntlCalendar::WALLTIME_FIRST;
public const int IntlCalendar::WALLTIME_LAST;
public const int IntlCalendar::WALLTIME_NEXT_VALID;
/* Yöntemler */
public __construct(IntlTimeZone $tz = ?, string $locale = ?)
public __construct(int $timeZoneOrYear, int $localeOrMonth, int $dayOfMonth)
public __construct(
int $timeZoneOrYear,
int $localeOrMonth,
int $dayOfMonth,
int $hour,
int $minute,
int $second = ?
)
public createFromDate(int $year, int $month, int $dayOfMonth): static
public createFromDateTime(
int $year,
int $month,
int $dayOfMonth,
int $hour,
int $minute,
int $second = null
): static
public getGregorianChange(): float
public isLeapYear(int $year): bool
public setGregorianChange(float $timestamp): bool
/* Miras alınan yöntemler */
public IntlCalendar::add(int $field, int $value): bool
public IntlCalendar::after(IntlCalendar $other): bool
public IntlCalendar::before(IntlCalendar $other): bool
public IntlCalendar::clear(?int $field = null): true
public static IntlCalendar::createInstance(IntlTimeZone|DateTimeZone|string|null $timezone = null, ?string $locale = null): ?IntlCalendar
public IntlCalendar::equals(IntlCalendar $other): bool
public IntlCalendar::fieldDifference(float $timestamp, int $field): int|false
public static IntlCalendar::fromDateTime(DateTime|string $datetime, ?string $locale = null): ?IntlCalendar
public IntlCalendar::get(int $field): int|false
public IntlCalendar::getActualMaximum(int $field): int|false
public IntlCalendar::getActualMinimum(int $field): int|false
public static IntlCalendar::getAvailableLocales(): array
public IntlCalendar::getDayOfWeekType(int $dayOfWeek): int|false
public IntlCalendar::getErrorCode(): int|false
public IntlCalendar::getErrorMessage(): string|false
public IntlCalendar::getFirstDayOfWeek(): int|false
public IntlCalendar::getGreatestMinimum(int $field): int|false
public static IntlCalendar::getKeywordValuesForLocale(string $keyword, string $locale, bool $onlyCommon): IntlIterator|false
public IntlCalendar::getLeastMaximum(int $field): int|false
public IntlCalendar::getLocale(int $type): string|false
public IntlCalendar::getMaximum(int $field): int|false
public IntlCalendar::getMinimalDaysInFirstWeek(): int|false
public IntlCalendar::getMinimum(int $field): int|false
public static IntlCalendar::getNow(): float
public IntlCalendar::getRepeatedWallTimeOption(): int
public IntlCalendar::getSkippedWallTimeOption(): int
public IntlCalendar::getTime(): float|false
public IntlCalendar::getTimeZone(): IntlTimeZone|false
public IntlCalendar::getType(): string
public IntlCalendar::getWeekendTransition(int $dayOfWeek): int|false
public IntlCalendar::inDaylightTime(): bool
public IntlCalendar::isEquivalentTo(IntlCalendar $other): bool
public IntlCalendar::isLenient(): bool
public IntlCalendar::isSet(int $field): bool
public IntlCalendar::isWeekend(?float $timestamp = null): bool
public IntlCalendar::roll(int $field, int|bool $value): bool
public IntlCalendar::set(int $field, int $value): true
public IntlCalendar::set(
int $year,
int $month,
int $dayOfMonth = NULL,
int $hour = NULL,
int $minute = NULL,
int $second = NULL
): true
public IntlCalendar::setDate(int $year, int $month, int $dayOfMonth): void
public IntlCalendar::setDateTime(
int $year,
int $month,
int $dayOfMonth,
int $hour,
int $minute,
int $second = null
): void
public IntlCalendar::setFirstDayOfWeek(int $dayOfWeek): true
public IntlCalendar::setLenient(bool $lenient): true
public IntlCalendar::setMinimalDaysInFirstWeek(int $days): true
public IntlCalendar::setRepeatedWallTimeOption(int $option): true
public IntlCalendar::setSkippedWallTimeOption(int $option): true
public IntlCalendar::setTime(float $timestamp): bool
public IntlCalendar::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): bool
public IntlCalendar::toDateTime(): DateTime|false
}

İçindekiler

  • IntlGregorianCalendar::__construct — Create the Gregorian Calendar class
  • IntlGregorianCalendar::createFromDate — Create a new IntlGregorianCalendar instance from date
  • IntlGregorianCalendar::createFromDateTime — Create a new IntlGregorianCalendar instance from date and time
  • IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date
  • IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year
  • IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date


Create the Gregorian Calendar class

  • « IntlGregorianCalendar
  • IntlGregorianCalendar::createFromDate »
  • PHP Manual
  • IntlGregorianCalendar
  • Create the Gregorian Calendar class

IntlGregorianCalendar::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlGregorianCalendar::__construct — Create the Gregorian Calendar class

Açıklama

public IntlGregorianCalendar::__construct(IntlTimeZone $tz = ?, string $locale = ?)
public IntlGregorianCalendar::__construct(int $timeZoneOrYear, int $localeOrMonth, int $dayOfMonth)
public IntlGregorianCalendar::__construct(
int $timeZoneOrYear,
int $localeOrMonth,
int $dayOfMonth,
int $hour,
int $minute,
int $second = ?
)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

tz

locale

timeZoneOrYear

localeOrMonth

dayOfMonth

hour

minute

second


Create a new IntlGregorianCalendar instance from date

  • « IntlGregorianCalendar::__construct
  • IntlGregorianCalendar::createFromDateTime »
  • PHP Manual
  • IntlGregorianCalendar
  • Create a new IntlGregorianCalendar instance from date

IntlGregorianCalendar::createFromDate

(PHP 8 >= 8.3.0)

IntlGregorianCalendar::createFromDate — Create a new IntlGregorianCalendar instance from date

Açıklama

public IntlGregorianCalendar::createFromDate(int $year, int $month, int $dayOfMonth): static

Creates a new IntlGregorianCalendar instance from date.

Bağımsız Değişkenler

year

The new value for IntlGregorianCalendar::FIELD_YEAR.

month

The new value for IntlGregorianCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, ..., December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlGregorianCalendar::FIELD_DAY_OF_MONTH.

Dönen Değerler

Returns a new IntlGregorianCalendar instance.

Örnekler

Örnek 1 IntlGregorianCalendar::createFromDate() example

<?php

$intlCalendar = IntlGregorianCalendar::createFromDate(2023, 11, 23);
var_dump($intlCalendar);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(IntlGregorianCalendar)#1 (5) {
  ["valid"]=>
  bool(true)
  ["type"]=>
  string(9) "gregorian"
  ["timeZone"]=>
  array(4) {
    ["valid"]=>
    bool(true)
    ["id"]=>
    string(16) "Europe/Amsterdam"
    ["rawOffset"]=>
    int(3600000)
    ["currentOffset"]=>
    int(3600000)
  }
  ["locale"]=>
  string(11) "en_US_POSIX"
  ["fields"]=>
  array(23) {
    ["era"]=>
    int(1)
    ["year"]=>
    int(2023)
    ["month"]=>
    int(11)
    ["week of year"]=>
    int(51)
    ["week of month"]=>
    int(4)
    ["day of year"]=>
    int(357)
    ["day of month"]=>
    int(23)
    ["day of week"]=>
    int(7)
    ["day of week in month"]=>
    int(4)
    ["AM/PM"]=>
    int(0)
    ["hour"]=>
    int(0)
    ["hour of day"]=>
    int(0)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
    ["millisecond"]=>
    int(0)
    ["zone offset"]=>
    int(3600000)
    ["DST offset"]=>
    int(0)
    ["year for week of year"]=>
    int(2023)
    ["localized day of week"]=>
    int(7)
    ["extended year"]=>
    int(2023)
    ["julian day"]=>
    int(2460302)
    ["milliseconds in day"]=>
    int(0)
    ["is leap month"]=>
    int(0)
  }
}

Ayrıca Bakınız

  • IntlGregorianCalendar::createFromDateTime() - Create a new IntlGregorianCalendar instance from date and time


Create a new IntlGregorianCalendar instance from date and time

  • « IntlGregorianCalendar::createFromDate
  • IntlGregorianCalendar::getGregorianChange »
  • PHP Manual
  • IntlGregorianCalendar
  • Create a new IntlGregorianCalendar instance from date and time

IntlGregorianCalendar::createFromDateTime

(PHP 8 >= 8.3.0)

IntlGregorianCalendar::createFromDateTime — Create a new IntlGregorianCalendar instance from date and time

Açıklama

public IntlGregorianCalendar::createFromDateTime(
int $year,
int $month,
int $dayOfMonth,
int $hour,
int $minute,
int $second = null
): static

Creates a new IntlGregorianCalendar instance from date and time.

Bağımsız Değişkenler

year

The new value for IntlGregorianCalendar::FIELD_YEAR.

month

The new value for IntlGregorianCalendar::FIELD_MONTH. The month sequence is zero-based, i.e., January is represented by 0, February by 1, ..., December is 11 and Undecember (if the calendar has it) is 12.

dayOfMonth

The new value for IntlGregorianCalendar::FIELD_DAY_OF_MONTH.

hour

The new value for IntlGregorianCalendar::FIELD_HOUR_OF_DAY.

minute

The new value for IntlGregorianCalendar::FIELD_MINUTE.

second

The new value for IntlGregorianCalendar::FIELD_SECOND.

Dönen Değerler

Returns a new IntlGregorianCalendar instance.

Örnekler

Örnek 1 IntlCalendar::setDateTime() example

<?php

$intlCalendar = IntlGregorianCalendar::createFromDateTime(2023, 11, 23, 12, 00);
var_dump($intlCalendar);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(IntlGregorianCalendar)#1 (5) {
  ["valid"]=>
  bool(true)
  ["type"]=>
  string(9) "gregorian"
  ["timeZone"]=>
  array(4) {
    ["valid"]=>
    bool(true)
    ["id"]=>
    string(16) "Europe/Amsterdam"
    ["rawOffset"]=>
    int(3600000)
    ["currentOffset"]=>
    int(3600000)
  }
  ["locale"]=>
  string(11) "en_US_POSIX"
  ["fields"]=>
  array(23) {
    ["era"]=>
    int(1)
    ["year"]=>
    int(2023)
    ["month"]=>
    int(11)
    ["week of year"]=>
    int(51)
    ["week of month"]=>
    int(4)
    ["day of year"]=>
    int(357)
    ["day of month"]=>
    int(23)
    ["day of week"]=>
    int(7)
    ["day of week in month"]=>
    int(4)
    ["AM/PM"]=>
    int(1)
    ["hour"]=>
    int(0)
    ["hour of day"]=>
    int(12)
    ["minute"]=>
    int(0)
    ["second"]=>
    int(0)
    ["millisecond"]=>
    int(0)
    ["zone offset"]=>
    int(3600000)
    ["DST offset"]=>
    int(0)
    ["year for week of year"]=>
    int(2023)
    ["localized day of week"]=>
    int(7)
    ["extended year"]=>
    int(2023)
    ["julian day"]=>
    int(2460302)
    ["milliseconds in day"]=>
    int(43200000)
    ["is leap month"]=>
    int(0)
  }
}

Ayrıca Bakınız

  • IntlGregorianCalendar::createFromDate() - Create a new IntlGregorianCalendar instance from date


Get the Gregorian Calendar change date

  • « IntlGregorianCalendar::createFromDateTime
  • IntlGregorianCalendar::isLeapYear »
  • PHP Manual
  • IntlGregorianCalendar
  • Get the Gregorian Calendar change date

IntlGregorianCalendar::getGregorianChange

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlGregorianCalendar::getGregorianChange — Get the Gregorian Calendar change date

Açıklama

public IntlGregorianCalendar::getGregorianChange(): float

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the change date.


Determine if the given year is a leap year

  • « IntlGregorianCalendar::getGregorianChange
  • IntlGregorianCalendar::setGregorianChange »
  • PHP Manual
  • IntlGregorianCalendar
  • Determine if the given year is a leap year

IntlGregorianCalendar::isLeapYear

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlGregorianCalendar::isLeapYear — Determine if the given year is a leap year

Açıklama

public IntlGregorianCalendar::isLeapYear(int $year): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

year

Dönen Değerler

Returns true for leap years, false otherwise and on failure.


Set the Gregorian Calendar the change date

  • « IntlGregorianCalendar::isLeapYear
  • IntlTimeZone »
  • PHP Manual
  • IntlGregorianCalendar
  • Set the Gregorian Calendar the change date

IntlGregorianCalendar::setGregorianChange

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlGregorianCalendar::setGregorianChange — Set the Gregorian Calendar the change date

Açıklama

public IntlGregorianCalendar::setGregorianChange(float $timestamp): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timestamp

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The IntlTimeZone class

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

Giriş

Sınıf Sözdizimi

class IntlTimeZone {
/* Sabitler */
public const int DISPLAY_SHORT;
public const int DISPLAY_LONG;
public const int DISPLAY_SHORT_GENERIC;
public const int DISPLAY_LONG_GENERIC;
public const int DISPLAY_SHORT_GMT;
public const int DISPLAY_LONG_GMT;
public const int DISPLAY_SHORT_COMMONLY_USED;
public const int DISPLAY_GENERIC_LOCATION;
public const int TYPE_ANY;
public const int TYPE_CANONICAL;
public const int TYPE_CANONICAL_LOCATION;
/* Yöntemler */
private __construct()
public static countEquivalentIDs(string $timezoneId): int|false
public static createDefault(): IntlTimeZone
public static createEnumeration(IntlTimeZone|string|int|float|null $countryOrRawOffset = null): IntlIterator|false
public static createTimeZone(string $timezoneId): ?IntlTimeZone
public static createTimeZoneIDEnumeration(int $type, ?string $region = null, ?int $rawOffset = null): IntlIterator|false
public static fromDateTimeZone(DateTimeZone $timezone): ?IntlTimeZone
public static getCanonicalID(string $timezoneId, bool &$isSystemId = null): string|false
public getDisplayName(bool $dst = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null): string|false
public getDSTSavings(): int
public static getEquivalentID(string $timezoneId, int $offset): string|false
public getErrorCode(): int|false
public getErrorMessage(): string|false
public static getGMT(): IntlTimeZone
public getID(): string|false
public static getIDForWindowsID(string $timezoneId, ?string $region = null): string|false
public getOffset(
float $timestamp,
bool $local,
int &$rawOffset,
int &$dstOffset
): bool
public getRawOffset(): int
public static getRegion(string $timezoneId): string|false
public static getTZDataVersion(): string|false
public static getUnknown(): IntlTimeZone
public static getWindowsID(string $timezoneId): string|false
public hasSameRules(IntlTimeZone $other): bool
public toDateTimeZone(): DateTimeZone|false
public useDaylightTime(): bool
}

Öntanımlı Sabitler

IntlTimeZone::DISPLAY_SHORT

IntlTimeZone::DISPLAY_LONG

IntlTimeZone::DISPLAY_SHORT_GENERIC

IntlTimeZone::DISPLAY_LONG_GENERIC

IntlTimeZone::DISPLAY_SHORT_GMT

IntlTimeZone::DISPLAY_LONG_GMT

IntlTimeZone::DISPLAY_SHORT_COMMONLY_USED

IntlTimeZone::DISPLAY_GENERIC_LOCATION

IntlTimeZone::TYPE_ANY

IntlTimeZone::TYPE_CANONICAL

IntlTimeZone::TYPE_CANONICAL_LOCATION

İçindekiler

  • IntlTimeZone::__construct — Private constructor to disallow direct instantiation
  • IntlTimeZone::countEquivalentIDs — Get the number of IDs in the equivalency group that includes the given ID
  • IntlTimeZone::createDefault — Create a new copy of the default timezone for this host
  • IntlTimeZone::createEnumeration — Get an enumeration over time zone IDs associated with the given country or offset
  • IntlTimeZone::createTimeZone — Create a timezone object for the given ID
  • IntlTimeZone::createTimeZoneIDEnumeration — Get an enumeration over system time zone IDs with the given filter conditions
  • IntlTimeZone::fromDateTimeZone — Create a timezone object from DateTimeZone
  • IntlTimeZone::getCanonicalID — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
  • IntlTimeZone::getDisplayName — Get a name of this time zone suitable for presentation to the user
  • IntlTimeZone::getDSTSavings — Get the amount of time to be added to local standard time to get local wall clock time
  • IntlTimeZone::getEquivalentID — Get an ID in the equivalency group that includes the given ID
  • IntlTimeZone::getErrorCode — Get last error code on the object
  • IntlTimeZone::getErrorMessage — Get last error message on the object
  • IntlTimeZone::getGMT — Create GMT (UTC) timezone
  • IntlTimeZone::getID — Get timezone ID
  • IntlTimeZone::getIDForWindowsID — Translate a Windows timezone into a system timezone
  • IntlTimeZone::getOffset — Get the time zone raw and GMT offset for the given moment in time
  • IntlTimeZone::getRawOffset — Get the raw GMT offset (before taking daylight savings time into account
  • IntlTimeZone::getRegion — Get the region code associated with the given system time zone ID
  • IntlTimeZone::getTZDataVersion — Get the timezone data version currently used by ICU
  • IntlTimeZone::getUnknown — Get the "unknown" time zone
  • IntlTimeZone::getWindowsID — Translate a system timezone into a Windows timezone
  • IntlTimeZone::hasSameRules — Check if this zone has the same rules and offset as another zone
  • IntlTimeZone::toDateTimeZone — Convert to DateTimeZone object
  • IntlTimeZone::useDaylightTime — Check if this time zone uses daylight savings time


Private constructor to disallow direct instantiation

  • « IntlTimeZone
  • IntlTimeZone::countEquivalentIDs »
  • PHP Manual
  • IntlTimeZone
  • Private constructor to disallow direct instantiation

IntlTimeZone::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::__construct — Private constructor to disallow direct instantiation

Açıklama

private IntlTimeZone::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Get the number of IDs in the equivalency group that includes the given ID

  • « IntlTimeZone::__construct
  • IntlTimeZone::createDefault »
  • PHP Manual
  • IntlTimeZone
  • Get the number of IDs in the equivalency group that includes the given ID

IntlTimeZone::countEquivalentIDs

intltz_count_equivalent_ids

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::countEquivalentIDs -- intltz_count_equivalent_ids — Get the number of IDs in the equivalency group that includes the given ID

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::countEquivalentIDs(string $timezoneId): int|false

Yordamsal kullanım:

intltz_count_equivalent_ids(string $timezoneId): int|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

Dönen Değerler


Create a new copy of the default timezone for this host

  • « IntlTimeZone::countEquivalentIDs
  • IntlTimeZone::createEnumeration »
  • PHP Manual
  • IntlTimeZone
  • Create a new copy of the default timezone for this host

IntlTimeZone::createDefault

intltz_create_default

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::createDefault -- intltz_create_default — Create a new copy of the default timezone for this host

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::createDefault(): IntlTimeZone

Yordamsal kullanım:

intltz_create_default(): IntlTimeZone

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get an enumeration over time zone IDs associated with the given country or offset

  • « IntlTimeZone::createDefault
  • IntlTimeZone::createTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Get an enumeration over time zone IDs associated with the given country or offset

IntlTimeZone::createEnumeration

intltz_create_enumeration

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::createEnumeration -- intltz_create_enumeration — Get an enumeration over time zone IDs associated with the given country or offset

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::createEnumeration(IntlTimeZone|string|int|float|null $countryOrRawOffset = null): IntlIterator|false

Yordamsal kullanım:

intltz_create_enumeration(IntlTimeZone|string|int|float|null $countryOrRawOffset = null): IntlIterator|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

countryOrRawOffset

Dönen Değerler


Create a timezone object for the given ID

  • « IntlTimeZone::createEnumeration
  • IntlTimeZone::createTimeZoneIDEnumeration »
  • PHP Manual
  • IntlTimeZone
  • Create a timezone object for the given ID

IntlTimeZone::createTimeZone

intltz_create_time_zone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::createTimeZone -- intltz_create_time_zone — Create a timezone object for the given ID

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::createTimeZone(string $timezoneId): ?IntlTimeZone

Yordamsal kullanım:

intltz_create_time_zone(string $timezoneId): ?IntlTimeZone

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

Dönen Değerler


Get an enumeration over system time zone IDs with the given filter conditions

  • « IntlTimeZone::createTimeZone
  • IntlTimeZone::fromDateTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Get an enumeration over system time zone IDs with the given filter conditions

IntlTimeZone::createTimeZoneIDEnumeration

intltz_create_time_zone_id_enumeration

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlTimeZone::createTimeZoneIDEnumeration -- intltz_create_time_zone_id_enumeration — Get an enumeration over system time zone IDs with the given filter conditions

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::createTimeZoneIDEnumeration(int $type, ?string $region = null, ?int $rawOffset = null): IntlIterator|false

Yordamsal kullanım:

intltz_create_time_zone_id_enumeration(int $type, ?string $region = null, ?int $rawOffset = null): IntlIterator|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

type

region

rawOffset

Dönen Değerler

Returns IntlIterator başarısızlık durumunda false döner.


Create a timezone object from DateTimeZone

  • « IntlTimeZone::createTimeZoneIDEnumeration
  • IntlTimeZone::getCanonicalID »
  • PHP Manual
  • IntlTimeZone
  • Create a timezone object from DateTimeZone

IntlTimeZone::fromDateTimeZone

intltz_from_date_time_zone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::fromDateTimeZone -- intltz_from_date_time_zone — Create a timezone object from DateTimeZone

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::fromDateTimeZone(DateTimeZone $timezone): ?IntlTimeZone

Yordamsal kullanım:

intltz_from_date_time_zone(DateTimeZone $timezone): ?IntlTimeZone

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezone

Dönen Değerler


Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

  • « IntlTimeZone::fromDateTimeZone
  • IntlTimeZone::getDisplayName »
  • PHP Manual
  • IntlTimeZone
  • Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

IntlTimeZone::getCanonicalID

intltz_get_canonical_id

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getCanonicalID -- intltz_get_canonical_id — Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getCanonicalID(string $timezoneId, bool &$isSystemId = null): string|false

Yordamsal kullanım:

intltz_get_canonical_id(string $timezoneId, bool &$isSystemId = null): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

isSystemId

Dönen Değerler


Get a name of this time zone suitable for presentation to the user

  • « IntlTimeZone::getCanonicalID
  • IntlTimeZone::getDSTSavings »
  • PHP Manual
  • IntlTimeZone
  • Get a name of this time zone suitable for presentation to the user

IntlTimeZone::getDisplayName

intltz_get_display_name

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getDisplayName -- intltz_get_display_name — Get a name of this time zone suitable for presentation to the user

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getDisplayName(bool $dst = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null): string|false

Yordamsal kullanım:

intltz_get_display_name(
IntlTimeZone $timezone,
bool $dst = false,
int $style = IntlTimeZone::DISPLAY_LONG,
?string $locale = null
): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

dst

style

locale

Dönen Değerler


Get the amount of time to be added to local standard time to get local wall clock time

  • « IntlTimeZone::getDisplayName
  • IntlTimeZone::getEquivalentID »
  • PHP Manual
  • IntlTimeZone
  • Get the amount of time to be added to local standard time to get local wall clock time

IntlTimeZone::getDSTSavings

intltz_get_dst_savings

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getDSTSavings -- intltz_get_dst_savings — Get the amount of time to be added to local standard time to get local wall clock time

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getDSTSavings(): int

Yordamsal kullanım:

intltz_get_dst_savings(IntlTimeZone $timezone): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get an ID in the equivalency group that includes the given ID

  • « IntlTimeZone::getDSTSavings
  • IntlTimeZone::getErrorCode »
  • PHP Manual
  • IntlTimeZone
  • Get an ID in the equivalency group that includes the given ID

IntlTimeZone::getEquivalentID

intltz_get_equivalent_id

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getEquivalentID -- intltz_get_equivalent_id — Get an ID in the equivalency group that includes the given ID

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getEquivalentID(string $timezoneId, int $offset): string|false

Yordamsal kullanım:

intltz_get_equivalent_id(string $timezoneId, int $offset): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

offset

Dönen Değerler


Get last error code on the object

  • « IntlTimeZone::getEquivalentID
  • IntlTimeZone::getErrorMessage »
  • PHP Manual
  • IntlTimeZone
  • Get last error code on the object

IntlTimeZone::getErrorCode

intltz_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getErrorCode -- intltz_get_error_code — Get last error code on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getErrorCode(): int|false

Yordamsal kullanım:

intltz_get_error_code(IntlTimeZone $timezone): int|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get last error message on the object

  • « IntlTimeZone::getErrorCode
  • IntlTimeZone::getGMT »
  • PHP Manual
  • IntlTimeZone
  • Get last error message on the object

IntlTimeZone::getErrorMessage

intltz_get_error_message

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getErrorMessage -- intltz_get_error_message — Get last error message on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getErrorMessage(): string|false

Yordamsal kullanım:

intltz_get_error_message(IntlTimeZone $timezone): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Create GMT (UTC) timezone

  • « IntlTimeZone::getErrorMessage
  • IntlTimeZone::getID »
  • PHP Manual
  • IntlTimeZone
  • Create GMT (UTC) timezone

IntlTimeZone::getGMT

intltz_get_gmt

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getGMT -- intltz_get_gmt — Create GMT (UTC) timezone

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getGMT(): IntlTimeZone

Yordamsal kullanım:

intltz_get_gmt(): IntlTimeZone

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get timezone ID

  • « IntlTimeZone::getGMT
  • IntlTimeZone::getIDForWindowsID »
  • PHP Manual
  • IntlTimeZone
  • Get timezone ID

IntlTimeZone::getID

intltz_get_id

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getID -- intltz_get_id — Get timezone ID

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getID(): string|false

Yordamsal kullanım:

intltz_get_id(IntlTimeZone $timezone): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Translate a Windows timezone into a system timezone

  • « IntlTimeZone::getID
  • IntlTimeZone::getOffset »
  • PHP Manual
  • IntlTimeZone
  • Translate a Windows timezone into a system timezone

IntlTimeZone::getIDForWindowsID

intltz_get_id_for_windows_id

(PHP 7 >= 7.1.0, PHP 8)

IntlTimeZone::getIDForWindowsID -- intltz_get_id_for_windows_id — Translate a Windows timezone into a system timezone

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getIDForWindowsID(string $timezoneId, ?string $region = null): string|false

Yordamsal kullanım:

intltz_get_id_for_windows_id(string $timezoneId, ?string $region = null): string|false

Translates a Windows timezone (e.g. "Pacific Standard Time") into a system timezone (e.g. "America/Los_Angeles").

Bilginize: This function requires ICU version ? 52.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

region

Dönen Değerler

Returns the system timezone başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | region is now nullable.

Ayrıca Bakınız

  • IntlTimeZone::getWindowsID() - Translate a system timezone into a Windows timezone


Get the time zone raw and GMT offset for the given moment in time

  • « IntlTimeZone::getIDForWindowsID
  • IntlTimeZone::getRawOffset »
  • PHP Manual
  • IntlTimeZone
  • Get the time zone raw and GMT offset for the given moment in time

IntlTimeZone::getOffset

intltz_get_offset

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getOffset -- intltz_get_offset — Get the time zone raw and GMT offset for the given moment in time

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getOffset(
float $timestamp,
bool $local,
int &$rawOffset,
int &$dstOffset
): bool

Yordamsal kullanım:

intltz_get_offset(
IntlTimeZone $timezone,
float $timestamp,
bool $local,
int &$rawOffset,
int &$dstOffset
): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timestamp

local

rawOffset

dstOffset

Dönen Değerler


Get the raw GMT offset (before taking daylight savings time into account

  • « IntlTimeZone::getOffset
  • IntlTimeZone::getRegion »
  • PHP Manual
  • IntlTimeZone
  • Get the raw GMT offset (before taking daylight savings time into account

IntlTimeZone::getRawOffset

intltz_get_raw_offset

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getRawOffset -- intltz_get_raw_offset — Get the raw GMT offset (before taking daylight savings time into account

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::getRawOffset(): int

Yordamsal kullanım:

intltz_get_raw_offset(IntlTimeZone $timezone): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the region code associated with the given system time zone ID

  • « IntlTimeZone::getRawOffset
  • IntlTimeZone::getTZDataVersion »
  • PHP Manual
  • IntlTimeZone
  • Get the region code associated with the given system time zone ID

IntlTimeZone::getRegion

intltz_get_region

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlTimeZone::getRegion -- intltz_get_region — Get the region code associated with the given system time zone ID

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getRegion(string $timezoneId): string|false

Yordamsal kullanım:

intltz_get_region(string $timezoneId): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

Dönen Değerler

Return region başarısızlık durumunda false döner.


Get the timezone data version currently used by ICU

  • « IntlTimeZone::getRegion
  • IntlTimeZone::getUnknown »
  • PHP Manual
  • IntlTimeZone
  • Get the timezone data version currently used by ICU

IntlTimeZone::getTZDataVersion

intltz_get_tz_data_version

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::getTZDataVersion -- intltz_get_tz_data_version — Get the timezone data version currently used by ICU

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getTZDataVersion(): string|false

Yordamsal kullanım:

intltz_get_tz_data_version(): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the "unknown" time zone

  • « IntlTimeZone::getTZDataVersion
  • IntlTimeZone::getWindowsID »
  • PHP Manual
  • IntlTimeZone
  • Get the "unknown" time zone

IntlTimeZone::getUnknown

intltz_get_unknown

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlTimeZone::getUnknown -- intltz_get_unknown — Get the "unknown" time zone

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getUnknown(): IntlTimeZone

Yordamsal kullanım:

intltz_get_unknown(): IntlTimeZone

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns IntlTimeZone or null on failure.


Translate a system timezone into a Windows timezone

  • « IntlTimeZone::getUnknown
  • IntlTimeZone::hasSameRules »
  • PHP Manual
  • IntlTimeZone
  • Translate a system timezone into a Windows timezone

IntlTimeZone::getWindowsID

intltz_get_windows_id

(PHP 7 >= 7.1.0, PHP 8)

IntlTimeZone::getWindowsID -- intltz_get_windows_id — Translate a system timezone into a Windows timezone

Açıklama

Nesne yönelimli kullanım (method):

public static IntlTimeZone::getWindowsID(string $timezoneId): string|false

Yordamsal kullanım:

intltz_get_windows_id(string $timezoneId): string|false

Translates a system timezone (e.g. "America/Los_Angeles") into a Windows timezone (e.g. "Pacific Standard Time").

Bilginize: This function requires ICU version ? 52.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timezoneId

Dönen Değerler

Returns the Windows timezone başarısızlık durumunda false döner.

Ayrıca Bakınız

  • IntlTimeZone::getIDForWindowsID() - Translate a Windows timezone into a system timezone


Check if this zone has the same rules and offset as another zone

  • « IntlTimeZone::getWindowsID
  • IntlTimeZone::toDateTimeZone »
  • PHP Manual
  • IntlTimeZone
  • Check if this zone has the same rules and offset as another zone

IntlTimeZone::hasSameRules

intltz_has_same_rules

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::hasSameRules -- intltz_has_same_rules — Check if this zone has the same rules and offset as another zone

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::hasSameRules(IntlTimeZone $other): bool

Yordamsal kullanım:

intltz_has_same_rules(IntlTimeZone $timezone, IntlTimeZone $other): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

other

Dönen Değerler


Convert to DateTimeZone object

  • « IntlTimeZone::hasSameRules
  • IntlTimeZone::useDaylightTime »
  • PHP Manual
  • IntlTimeZone
  • Convert to DateTimeZone object

IntlTimeZone::toDateTimeZone

intltz_to_date_time_zone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::toDateTimeZone -- intltz_to_date_time_zone — Convert to DateTimeZone object

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::toDateTimeZone(): DateTimeZone|false

Yordamsal kullanım:

intltz_to_date_time_zone(IntlTimeZone $timezone): DateTimeZone|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check if this time zone uses daylight savings time

  • « IntlTimeZone::toDateTimeZone
  • Tarih Biçemleyici »
  • PHP Manual
  • IntlTimeZone
  • Check if this time zone uses daylight savings time

IntlTimeZone::useDaylightTime

intltz_use_daylight_time

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

IntlTimeZone::useDaylightTime -- intltz_use_daylight_time — Check if this time zone uses daylight savings time

Açıklama

Nesne yönelimli kullanım (method):

public IntlTimeZone::useDaylightTime(): bool

Yordamsal kullanım:

intltz_use_daylight_time(IntlTimeZone $timezone): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


IntlDateFormatter sınıfı

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Date Formatter (Tarih Biçemleyici), şablon dizgeleri ve/veya kayıtlı şablonları kullanarak yerele bağlı tarih biçemlemeyi/çözümlemeyi etkin kılan somut bir sınıftır.

Bu sınıf, ICU tarih biçemleme işlevselliğini temsil eder. Kullanıcıların tarihleri yerelleştirilmiş biçemde gösterebilmesini veya şablon dizgelerini ve kayıtlı şablonları kullanarak, dizgeleri PHP tarih değerleri olarak çözümlemelerini mümkün kılar.

Sınıf Sözdizimi

class IntlDateFormatter {
/* Sabitler */
public const int FULL;
public const int LONG;
public const int MEDIUM;
public const int SHORT;
public const int NONE;
public const int RELATIVE_FULL;
public const int RELATIVE_LONG;
public const int RELATIVE_MEDIUM;
public const int RELATIVE_SHORT;
public const int GREGORIAN;
public const int TRADITIONAL;
/* Yöntemler */
public __construct(
?string $yerel,
int $tarih_türü = IntlDateFormatter::FULL,
int $saat_türü = IntlDateFormatter::FULL,
IntlTimeZone|DateTimeZone|string|null $zaman_dilimi = null,
IntlCalendar|int|null $takvim = null,
?string $kalıp = null
)
public static create(
?string $yerel,
int $tarih_türü = IntlDateFormatter::FULL,
int $saat_türü = IntlDateFormatter::FULL,
IntlTimeZone|DateTimeZone|string|null $zaman_dilimi = null,
IntlCalendar|int|null $takvim = null,
?string $kalıp = null
): ?IntlDateFormatter
public format(IntlCalendar|DateTimeInterface|array|string|int|float $değer): string|false
public static formatObject(IntlCalendar|DateTimeInterface $datetime, array|int|string|null $format = null, ?string $locale = null): string|false
public getCalendar(): int|false
public getDateType(): int|false
public getErrorCode(): int
public getErrorMessage(): string
public getLocale(int $tür = ULOC_ACTUAL_LOCALE): string|false
public getPattern(): string|false
public getTimeType(): int|false
public getTimeZoneId(): string|false
public getCalendarObject(): IntlCalendar|false|null
public getTimeZone(): IntlTimeZone|false
public isLenient(): bool
public localtime(string $dizge, int &$başlangıç = null): array|false
public parse(string $dizge, int &$başlangıç = null): int|float|false
public setCalendar(IntlCalendar|int|null $takvim): bool
public setLenient(bool $esnek): void
public setPattern(string $pattern): bool
public setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): ?bool
}

Ayrıca Bakınız

  • » ICU Tarih biçemcisi
  • » ICU Tarih biçemleri

Öntanımlı Sabitler

Bu sabitler, DateType ve TimeType kurucularında farklı biçemler belirtmek için kullanılırlar.

IntlDateFormatter::NONE
Bu elemanı içerme
IntlDateFormatter::FULL
Tamamen belirtilmiş biçim (01 Ocak 1970 Perşembe 02:00:00 Türkiye Saati)
IntlDateFormatter::LONG
Uzun biçim (01 Ocak 1970 Perşembe veya 02:00:00)
IntlDateFormatter::MEDIUM
Ortalama biçim (01 Oca 1970)
IntlDateFormatter::SHORT
En kısa biçim, sadece esas veri (12/13/52 or 3:30pm)
IntlDateFormatter::RELATIVE_FULL
IntlDateFormatter::FULL ile aynı, fakat dün, bugün ve yarın yesterday, today ve tomorrow olarak gösterilir. PHP 8.0.0 ve sonrasında kullanılabilir, sadece dateType içindir.
IntlDateFormatter::RELATIVE_LONG
IntlDateFormatter::LONG ile aynı, fakat dün, bugün ve yarın yesterday, today ve tomorrow olarak gösterilir. PHP 8.0.0 ve sonrasında kullanılabilir, sadece dateType içindir.
IntlDateFormatter::RELATIVE_MEDIUM
IntlDateFormatter::MEDIUM ile aynı, fakat dün, bugün ve yarın yesterday, today ve tomorrow olarak gösterilir. PHP 8.0.0 ve sonrasında kullanılabilir, sadece dateType içindir.
IntlDateFormatter::RELATIVE_SHORT
IntlDateFormatter::SHORT ile aynı, fakat dün, bugün ve yarın yesterday, today ve tomorrow olarak gösterilir. PHP 8.0.0 ve sonrasında kullanılabilir, sadece dateType içindir.

Aşağıdaki sabitler takvim belirtmek için kullanılır. Bu takvimlerin tamamı doğrudan Gregoriyen takvimine dayanır. Gregoriyen olmayan takvimlerin yerelde belirtilmesi gerekir. Örnek: locale="hi@calendar=BUDDHIST".

IntlDateFormatter::TRADITIONAL
Gregoriyen olmayan takvim
IntlDateFormatter::GREGORIAN
Gregoriyen takvimi

İçindekiler

  • IntlDateFormatter::create — Bir tarih biçemleyici oluşturur
  • IntlDateFormatter::format — Tarih/saat değerini bir dizge olarak biçemler
  • IntlDateFormatter::formatObject — Formats an object
  • IntlDateFormatter::getCalendar — IntlDateFormatter tarafından kullanılan takvim türünü döndürür
  • IntlDateFormatter::getDateType — IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür
  • IntlDateFormatter::getErrorCode — Son işlemin hata kodunu döndürür
  • IntlDateFormatter::getErrorMessage — Son işlemin hata iletisini döndürür
  • IntlDateFormatter::getLocale — Biçemleyicinin kullandığı yereli döndürür
  • IntlDateFormatter::getPattern — IntlDateFormatter tarafından kullanılan kalıbı döndürür
  • IntlDateFormatter::getTimeType — IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür
  • IntlDateFormatter::getTimeZoneId — IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür
  • IntlDateFormatter::getCalendarObject — Get copy of formatter's calendar object
  • IntlDateFormatter::getTimeZone — Get formatter's timezone
  • IntlDateFormatter::isLenient — IntlDateFormatter esnek çözümleme mi yapıyor diye bakar
  • IntlDateFormatter::localtime — Tarih dizgesini alanlarına çözümler
  • IntlDateFormatter::parse — Dizgeyi bir zaman damgası değerine dönüştürür
  • IntlDateFormatter::setCalendar — Kullanılacak takvimi tanımlar
  • IntlDateFormatter::setLenient — Çözümleyiciye esneklik verir
  • IntlDateFormatter::setPattern — IntlDateFormatter tarafından kullanılan kalıbı tanımlar
  • IntlDateFormatter::setTimeZone — Sets formatter's timezone


Bir tarih biçemleyici oluşturur

  • « Tarih Biçemleyici
  • IntlDateFormatter::format »
  • PHP Manual
  • Tarih Biçemleyici
  • Bir tarih biçemleyici oluşturur

IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Bir tarih biçemleyici oluşturur

Açıklama

Nesne yönelimli kullanım

public static IntlDateFormatter::create(
?string $yerel,
int $tarih_türü = IntlDateFormatter::FULL,
int $saat_türü = IntlDateFormatter::FULL,
IntlTimeZone|DateTimeZone|string|null $zaman_dilimi = null,
IntlCalendar|int|null $takvim = null,
?string $kalıp = null
): ?IntlDateFormatter

Nesne yönelimli kullanım (kurucu)

public IntlDateFormatter::__construct(
?string $yerel,
int $tarih_türü = IntlDateFormatter::FULL,
int $saat_türü = IntlDateFormatter::FULL,
IntlTimeZone|DateTimeZone|string|null $zaman_dilimi = null,
IntlCalendar|int|null $takvim = null,
?string $kalıp = null
)

Yordamsal kullanım

datefmt_create(
?string $yerel,
int $tarih_türü = IntlDateFormatter::FULL,
int $saat_türü = IntlDateFormatter::FULL,
IntlTimeZone|DateTimeZone|string|null $zaman_dilimi = null,
IntlCalendar|int|null $takvim = null,
?string $kalıp = null
): ?IntlDateFormatter

Bir tarih biçemleyici oluşturur

Bağımsız Değişkenler

yerel

Biçemleme ve çözümleme için kullanılacak yerel veya intl.default_locale ini yönergesinde belirtilen değeri kullanmak için null.

tarih_türü

Kullanılacak tarih türü IntlDateFormatter sabitlerinden biri olmalıdır. IntlDateFormatter::FULL ön tanımlıdır.

saat_türü

Kullanılacak saat türü IntlDateFormatter sabitlerinden biri olmalıdır. IntlDateFormatter::FULL ön tanımlıdır.

zaman_dilimi

Zaman dilimi. Öntanımlı değer (null belirtilirse kullanılan), date_default_timezone_get() tarafından döndürülen veya varsa, takvim bağımsız değişkeni için aktarılan IntlCalendar nesnesinde tanımlı olandır. Bu değer, ICU'nun veritabanında geçerli bir tanımlayıcı veya GMT-05:30 gibi açık bir konumu temsil eden bir değer olmalıdır.

takvim

Biçemleme ve çözümleme için kullanılacak takvim. Öntanımlı değer, IntlDateFormatter::GREGORIAN sabitine karşılık gelen null değeridir. Bu, IntlDateFormatter takvim sabitlerinden biri veya IntlCalendar nesnesi olabilir. Aktarılan herhangi bir IntlCalendar nesnesi kopyalanır; IntlDateFormatter tarafından değiştirilmez. Bu, kullanılan takvim türünü (Gregoryen, İslami, Fars vb.) ve zaman_dilimi bağımsız değişkeni için null değeri verilirse kullanılan saat dilimini de belirler.

kalıp

Biçemleme ve çözümleme için kullanılacak isteğe beğlı kalıp. Olası kalıplar için bkz: » https://unicode-org.github.io/icu/userguide/format_parse/datetime/

Dönen Değerler

Oluşturulan IntlDateFormatter nesnesi veya başarısızlık durumunda null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | tarih_türü ve saat_türü belirtmek artık isteğe bağlı.

Örnekler

Örnek 1 - datefmt_create() örneği

<?php
$fmt = datefmt_create("tr_TR", IntlDateFormatter::FULL,
IntlDateFormatter::FULL,'Europe/Istanbul',
IntlDateFormatter::GREGORIAN);
echo "İlk biçemli çıktı: ".datefmt_format($fmt, 1234567890);
$fmt = datefmt_create("en-US", IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Europe/Istanbul',
IntlDateFormatter::GREGORIAN);
echo "\nİkinci biçemli çıktı: ".datefmt_format($fmt, 1234567890);

$fmt = datefmt_create("tr_TR", IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Europe/Istanbul',
IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "\nİlk kalıbın çıktısı: ".datefmt_format( $fmt, 1234567890);
$fmt = datefmt_create("en-US", IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Europe/Istanbul',
IntlDateFormatter::GREGORIAN, "MM/dd/yyyy");
echo "\nİkinci kalıbın çıktısı: ".datefmt_format($fmt, 1234567890);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter("tr_TR", IntlDateFormatter::FULL,
IntlDateFormatter::FULL,'Europe/Istanbul',
IntlDateFormatter::GREGORIAN);
echo "İlk biçemli çıktı: ".$fmt->format(1234567890);
$fmt = new IntlDateFormatter("en-US", IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Europe/Istanbul',
IntlDateFormatter::GREGORIAN);
echo "\nİkinci biçemli çıktı: ".$fmt->format(1234567890);

$fmt = new IntlDateFormatter("tr_TR", IntlDateFormatter::FULL,
IntlDateFormatter::FULL,'Europe/Istanbul',
IntlDateFormatter::GREGORIAN, "dd/MM/yyyy");
echo "\nİlk kalıbın çıktısı: ".$fmt->format(1234567890);
$fmt = new IntlDateFormatter("en-US", IntlDateFormatter::FULL,
IntlDateFormatter::FULL, 'Europe/Istanbul',
IntlDateFormatter::GREGORIAN, "MM/dd/yyyy");
echo "\nİkinci kalıbın çıktısı: ".$fmt->format(1234567890);
?>

Yukarıdaki örneğin çıktısı:

İlk biçemli çıktı: 14 Şubat 2009 Cumartesi 01:31:30 Doğu Avrupa Standart Saati
İkinci biçemli çıktı: Saturday, February 14, 2009 at 1:31:30 AM Eastern European Standard Time
İlk kalıbın çıktısı: 14/02/2009
İkinci kalıbın çıktısı: 02/14/2009

Ayrıca Bakınız

  • datefmt_format() - Tarih/saat değerini bir dizge olarak biçemler
  • datefmt_parse() - Dizgeyi bir zaman damgası değerine dönüştürür
  • datefmt_get_error_code() - Son işlemin hata kodunu döndürür
  • datefmt_get_error_message() - Son işlemin hata iletisini döndürür


Tarih/saat değerini bir dizge olarak biçemler

  • « IntlDateFormatter::create
  • IntlDateFormatter::formatObject »
  • PHP Manual
  • Tarih Biçemleyici
  • Tarih/saat değerini bir dizge olarak biçemler

IntlDateFormatter::format

datefmt_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::format -- datefmt_format — Tarih/saat değerini bir dizge olarak biçemler

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::format(IntlCalendar|DateTimeInterface|array|string|int|float $değer): string|false

Yordamsal kullanım

datefmt_format(IntlDateFormatter $biçemleyici, IntlCalendar|DateTimeInterface|array|string|int|float $değer): string|false

Zaman değerini bir dizge olarak biçemler.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

değer

Biçemlenecek değer. Bu bir DateTimeInterface nesnesi, bir IntlCalendar nesnesi, Unix zaman başlangıcından itibaren saniye sayısını (muhtemelen kesirli) temsil eden sayısal bir tür veya localtime() tarafından çıktılanan biçimde bir dizi olabilir.

Değer olarak DateTime veya IntlCalendar nesnesi iletilirse, zaman dilimi dikkate alınmaz. Nesne, biçimlendiricinin yapılandırılmış zaman dilimi kullanılarak biçimlendirilir. Biçimlendirilecek nesnenin zaman dilimi kullanılmak istenirse, IntlDateFormatter::setTimeZone() nesnenin zaman dilimiyle çağrılmalıdır. Veya, bunun yerine IntlDateFormatter::formatObject() statik işlevi de kullanılabilir.

Dönen Değerler

Bir hata oluşmuşsa false aksi takdirde biçemli dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.5 | değer bağımsız değişkenine genel DateTimeInterface nesnelerinin aktarımı artık destekleniyor. Evvelce, sadece uygun DateTime nesneleri desteklenirdi.
PECL 3.0.0 | değer bağımsız değişkenine artık IntlCalendar nesneleri belirtilebiliyor.

Örnekler

Örnek 1 - datefmt_format() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "İlk biçemli çıktı: ".datefmt_format($fmt, 1234567890);

$fmt = datefmt_create(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci biçemli çıktı: ".datefmt_format($fmt, 1234567890);

$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "\nİlk kalıbın çıktısı: ".datefmt_format( $fmt, 1234567890);

$fmt = datefmt_create(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"MM/dd/yyyy"
);
echo "\nİkinci kalıbın çıktısı: ".datefmt_format($fmt, 1234567890);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "İlk biçemli çıktı: ".$fmt->format(1234567890);

$fmt = new IntlDateFormatter(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci biçemli çıktı: ".$fmt->format(1234567890);

$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "\nİlk kalıbın çıktısı: ".$fmt->format(1234567890);

$fmt = new IntlDateFormatter(
"en-US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"MM/dd/yyyy"
);
echo "\nİkinci kalıbın çıktısı: ".$fmt->format(1234567890);
?>

Yukarıdaki örneğin çıktısı:

İlk biçemli çıktı: 14 Şubat 2009 Cumartesi 01:31:30 Doğu Avrupa Standart Saati
İkinci biçemli çıktı: Saturday, February 14, 2009 at 1:31:30 AM Eastern European Standard Time
İlk kalıbın çıktısı: 14/02/2009
İkinci kalıbın çıktısı: 02/14/2009

Örnek 3 - IntlCalendar nesnesi ile

<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
$tz,
IntlDateFormatter::GREGORIAN
);

$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9. ay, Ramazan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //İlk gün
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);

echo "İslami yılda Ramazan başlangıcı:\n\t",
$formatter->format($cal), "\n";

// Biçemleyici zaman dilimi değişirse
$formatter->setTimeZone('Asia/Tokyo');
echo "Zaman dilimi değiştiğinde:\n\t",
$formatter->format($cal), "\n";

// Örnek hatalı... Gün doğru; saat yanlış.

Yukarıdaki örneğin çıktısı:

İslami yılda Ramazan başlangıcı:
        13 Nisan 2021 Salı 15:00:00 Orta Avrupa Yaz Saati
Zaman dilimi değiştiğinde:
        13 Nisan 2021 Salı 22:00:00 Japonya Standart Saati

Ayrıca Bakınız

  • datefmt_create() - Bir tarih biçemleyici oluşturur
  • datefmt_parse() - Dizgeyi bir zaman damgası değerine dönüştürür
  • datefmt_get_error_code() - Son işlemin hata kodunu döndürür
  • datefmt_get_error_message() - Son işlemin hata iletisini döndürür
  • datefmt_format_object() - Formats an object


Formats an object

  • « IntlDateFormatter::format
  • IntlDateFormatter::getCalendar »
  • PHP Manual
  • Tarih Biçemleyici
  • Formats an object

IntlDateFormatter::formatObject

datefmt_format_object

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)

IntlDateFormatter::formatObject -- datefmt_format_object — Formats an object

Açıklama

Nesne yönelimli kullanım

public static IntlDateFormatter::formatObject(IntlCalendar|DateTimeInterface $datetime, array|int|string|null $format = null, ?string $locale = null): string|false

Yordamsal kullanım

datefmt_format_object(IntlCalendar|DateTimeInterface $datetime, array|int|string|null $format = null, ?string $locale = null): string|false

This function allows formatting an IntlCalendar or DateTime object without first explicitly creating a IntlDateFormatter object.

The temporary IntlDateFormatter that will be created will take the timezone from the passed in object. The timezone database bundled with PHP will not be used - ICU's will be used instead. The timezone identifier used in DateTime objects must therefore also exist in ICU's database.

Bağımsız Değişkenler

datetime

An object of type IntlCalendar or DateTime. The timezone information in the object will be used.

format

How to format the date/time. This can either be an array with two elements (first the date style, then the time style, these being one of the constants IntlDateFormatter::NONE, IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM, IntlDateFormatter::LONG, IntlDateFormatter::FULL), an int with the value of one of these constants (in which case it will be used both for the time and the date) or a string with the format described in » the ICU documentation. If null, the default style will be used.

locale

The locale to use, or null to use the default one.

Dönen Değerler

A string with result başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlDateFormatter::formatObject() examples

<?php
/* default timezone is irrelevant; timezone taken from the object */
ini_set('date.timezone', 'UTC');
/* default locale is taken from this ini setting */
ini_set('intl.default_locale', 'fr_FR');

$cal = IntlCalendar::fromDateTime("2013-06-06 17:05:06 Europe/Dublin");
echo "default:\n\t",
IntlDateFormatter::formatObject($cal),
"\n";

echo "long \$format (full):\n\t",
IntlDateFormatter::formatObject($cal, IntlDateFormatter::FULL),
"\n";

echo "array \$format (none, full):\n\t",
IntlDateFormatter::formatObject($cal, array(
IntlDateFormatter::NONE,
IntlDateFormatter::FULL)),
"\n";

echo "string \$format (d 'of' MMMM y):\n\t",
IntlDateFormatter::formatObject($cal, "d 'of' MMMM y", 'en_US'),
"\n";

echo "with DateTime:\n\t",
IntlDateFormatter::formatObject(
new DateTime("2013-09-09 09:09:09 Europe/Madrid"),
IntlDateFormatter::FULL,
'es_ES'),
"\n";

Yukarıdaki örneğin çıktısı:

default:
    6 juin 2013 17:05:06
long $format (full):
    jeudi 6 juin 2013 17:05:06 heure d'été irlandaise
array $format (none, full):
    17:05:06 heure d'été irlandaise
string $format (d 'of' MMMM y):
    6 of June 2013
with DateTime:
    lunes, 9 de septiembre de 2013 09:09:09 Hora de verano de Europa central


IntlDateFormatter tarafından kullanılan takvim türünü döndürür

  • « IntlDateFormatter::formatObject
  • IntlDateFormatter::getDateType »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan takvim türünü döndürür

IntlDateFormatter::getCalendar

datefmt_get_calendar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getCalendar -- datefmt_get_calendar — IntlDateFormatter tarafından kullanılan takvim türünü döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getCalendar(): int|false

Yordamsal kullanım

datefmt_get_calendar(IntlDateFormatter $biçemleyici): int|false

Biçemleyici tarafından kullanılan takvimin türünü döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Biçemleyici tarafından kullanılan takvim türü. IntlDateFormatter::TRADITIONAL veya IntlDateFormatter::GREGORIAN olabilir. Başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_calendar() örneği

<?php
$fmt = datefmt_create(
"en_US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin takvimi: " . datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt, IntlDateFormatter::TRADITIONAL);
echo "\nBiçemleyicinin yeni takvimi: " . datefmt_get_calendar($fmt);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"en_US",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin takvimi: ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "\nBiçemleyicinin yeni takvimi: ".$fmt->getCalendar();

?>

Yukarıdaki örneğin çıktısı:

Biçemleyicinin takvimi: 1
Biçemleyicinin yeni takvimi: 0

Ayrıca Bakınız

  • datefmt_get_calendar_object() - Get copy of formatter's calendar object
  • datefmt_set_calendar() - Kullanılacak takvimi tanımlar
  • datefmt_create() - Bir tarih biçemleyici oluşturur


IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür

  • « IntlDateFormatter::getCalendar
  • IntlDateFormatter::getErrorCode »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür

IntlDateFormatter::getDateType

datefmt_get_datetype

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getDateType -- datefmt_get_datetype — IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getDateType(): int|false

Yordamsal kullanım

datefmt_get_datetype(IntlDateFormatter $biçemleyici): int|false

Biçemleyici tarafından kullanılan tarih gösterim türünü döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Geçerli tarih gösterim türü, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_datetype() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin tarih gösterim türü: ".datefmt_get_datetype($fmt);
echo "\nBiçemli çıktı: ".datefmt_format($fmt, 1234567890);

$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::SHORT,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyicinin yeni tarih gösterim türü: ".datefmt_get_datetype($fmt);
echo "\nİkinci biçemli çıktı: ".datefmt_format($fmt, 1234567890);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin tarih gösterim türü: ".$fmt->getDateType();
echo "\nBiçemli çıktı: ".datefmt_format( $fmt, 1234567890);

$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::SHORT,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyicinin yeni tarih gösterim türü: ".$fmt->getDateType();
echo "\nİkinci biçemli çıktı: ".datefmt_format( $fmt, 1234567890);
?>

Yukarıdaki örneğin çıktısı:

Biçemleyicinin tarih gösterim türü: 0
Biçemli çıktı: 14 Şubat 2009 Cumartesi 01:31:30 Doğu Avrupa Standart Saati
Biçemleyicinin yeni tarih gösterim türü: 3
İkinci biçemli çıktı: 14.02.2009 01:31:30 Doğu Avrupa Standart Saati

Ayrıca Bakınız

  • datefmt_get_timetype() - IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür
  • datefmt_create() - Bir tarih biçemleyici oluşturur


Son işlemin hata kodunu döndürür

  • « IntlDateFormatter::getDateType
  • IntlDateFormatter::getErrorMessage »
  • PHP Manual
  • Tarih Biçemleyici
  • Son işlemin hata kodunu döndürür

IntlDateFormatter::getErrorCode

datefmt_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorCode -- datefmt_get_error_code — Son işlemin hata kodunu döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getErrorCode(): int

Yordamsal kullanım

datefmt_get_error_code(IntlDateFormatter $biçemleyici): int

Son işlemin hata kodunu döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

UErrorCode değerlerinden biri olarak bir hata kodu. İlk değer: U_ZERO_ERROR.

Örnekler

Örnek 1 - datefmt_get_error_code() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
printf(
"HATA: %s (%d)\n",
datefmt_get_error_message($fmt),
datefmt_get_error_code($fmt)
);
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if (!$str) {
printf(
"HATA: %s (%d)\n",
$fmt->getErrorMessage(),
$fmt->getErrorCode()
);
}
?>

Yukarıdaki örneğin çıktısı:

HATA: U_ZERO_ERROR (0)

Ayrıca Bakınız

  • datefmt_get_error_message() - Son işlemin hata iletisini döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Son işlemin hata iletisini döndürür

  • « IntlDateFormatter::getErrorCode
  • IntlDateFormatter::getLocale »
  • PHP Manual
  • Tarih Biçemleyici
  • Son işlemin hata iletisini döndürür

IntlDateFormatter::getErrorMessage

datefmt_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getErrorMessage -- datefmt_get_error_message — Son işlemin hata iletisini döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getErrorMessage(): string

Yordamsal kullanım

datefmt_get_error_message(IntlDateFormatter $formatter): string

Son işlemin hata iletisini döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Son hatanın metni.

Örnekler

Örnek 1 - datefmt_get_error_message() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$str = datefmt_format($fmt);
if (!$str) {
printf(
"HATA: %s (%d)\n",
datefmt_get_error_message($fmt),
datefmt_get_error_code($fmt)
);
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$str = $fmt->format();
if (!$str) {
printf(
"HATA: %s (%d)\n",
$fmt->getErrorMessage(),
$fmt->getErrorCode()
);
}

?>

Yukarıdaki örneğin çıktısı:

HATA: U_ZERO_ERROR (0)

Ayrıca Bakınız

  • datefmt_get_error_code() - Son işlemin hata kodunu döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Biçemleyicinin kullandığı yereli döndürür

  • « IntlDateFormatter::getErrorMessage
  • IntlDateFormatter::getPattern »
  • PHP Manual
  • Tarih Biçemleyici
  • Biçemleyicinin kullandığı yereli döndürür

IntlDateFormatter::getLocale

datefmt_get_locale

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getLocale -- datefmt_get_locale — Biçemleyicinin kullandığı yereli döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getLocale(int $tür = ULOC_ACTUAL_LOCALE): string|false

Yordamsal kullanım

datefmt_get_locale(IntlDateFormatter $biçemleyici, int $tür = ULOC_ACTUAL_LOCALE): string|false

Biçemleyicinin kullandığı yereli döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

tür

Geçerli yerel için Locale::VALID_LOCALE, fiili yerel için Locale::ACTUAL_LOCALE belirtilir. Fiili yerel öntanımlıdır.

Dönen Değerler

Biçemleyicinin kullandığı yerel, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_locale() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyici yereli: ".datefmt_get_locale($fmt);
echo "\nBiçemli çıktı: ".datefmt_format( $fmt , 0);

$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyici yereli: ".datefmt_get_locale($fmt);
echo "\nYeni biçemli çıktı: ".datefmt_format( $fmt , 0);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyici yereli: ".$fmt->getLocale();
echo "\nBiçemli çıktı: ".$fmt->format(0);

$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyici yereli: ".$fmt->getLocale();
echo "\nYeni biçemli çıktı: ".$fmt->format(0);
?>

Yukarıdaki örneğin çıktısı:

Biçemleyici yereli: en
Biçemli çıktı: Wednesday, December 31, 1969 at 4:00:00 PM Pacific Standard Time
Biçemleyici yereli: tr
Yeni biçemli çıktı: 31 Aralık 1969 Çarşamba 16:00:00 Kuzey Amerika Pasifik Standart Saati

Ayrıca Bakınız

  • datefmt_create() - Bir tarih biçemleyici oluşturur


IntlDateFormatter tarafından kullanılan kalıbı döndürür

  • « IntlDateFormatter::getLocale
  • IntlDateFormatter::getTimeType »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan kalıbı döndürür

IntlDateFormatter::getPattern

datefmt_get_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getPattern -- datefmt_get_pattern — IntlDateFormatter tarafından kullanılan kalıbı döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getPattern(): string|false

Yordamsal kullanım

datefmt_get_pattern(IntlDateFormatter $biçemleyici): string|false

Biçemleyici tarafından kullanılan kalıbı döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Çözümleme/biçemleme amacıyla kullanılan kalıp dizgesi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_pattern() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "Biçem kalıbı: " . datefmt_get_pattern($fmt) . "\n";
echo "İlk biçem kalıplı çıktı: " . datefmt_format($fmt, 0) . "\n";
datefmt_set_pattern($fmt,'dd-MM-yyyy hh:mm:ss z');
echo "Yeni biçem kalıbı: " . datefmt_get_pattern($fmt) . "\n";
echo "İkinci biçem kalıplı çıktı: " . datefmt_format($fmt, 0) . "\n";
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "Biçem kalıbı: ", $fmt->getPattern(), "\n";
echo "İlk biçem kalıplı çıktı: ", $fmt->format(0), "\n";
$fmt->setPattern('dd-MM-yyyy hh:mm:ss z');
echo "Yeni biçem kalıbı: ", $fmt->getPattern(), "\n";
echo "İkinci biçem kalıplı çıktı: ", $fmt->format(0), "\n";
?>

Yukarıdaki örneğin çıktısı:

Biçem kalıbı: dd/MM/yyyy
İlk biçem kalıplı çıktı: 01/01/1970
Yeni biçem kalıbı: dd-MM-yyyy hh:mm:ss z
İkinci biçem kalıplı çıktı: 01-01-1970 02:00:00 GMT+2

Ayrıca Bakınız

  • datefmt_set_pattern() - IntlDateFormatter tarafından kullanılan kalıbı tanımlar
  • datefmt_create() - Bir tarih biçemleyici oluşturur


IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür

  • « IntlDateFormatter::getPattern
  • IntlDateFormatter::getTimeZoneId »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür

IntlDateFormatter::getTimeType

datefmt_get_timetype

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeType -- datefmt_get_timetype — IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getTimeType(): int|false

Yordamsal kullanım

datefmt_get_timetype(IntlDateFormatter $biçemleyici): int|false

IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Biçemleyicinin geçerli tarih gösterim türü, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_timetype() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin tarih gösterim türü: ".datefmt_get_timetype($fmt);
echo "\nBiçemli çıktı: ".datefmt_format($fmt, 0);

$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::SHORT,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyicinin yeni tarih gösterim türü: ".datefmt_get_timetype($fmt);
echo "\nİkinci biçemli çıktı: ".datefmt_format($fmt, 0);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin tarih gösterim türü: ".$fmt->getTimeType();
echo "\nBiçemli çıktı: ".$fmt->format(0);

$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::SHORT,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nBiçemleyicinin yeni tarih gösterim türü: ".$fmt->getTimeType();
echo "\nİkinci biçemli çıktı: ".$fmt->format(0);
?>

Yukarıdaki örneğin çıktısı:

Biçemleyicinin tarih gösterim türü: 0
Biçemli çıktı: 1 Ocak 1970 Perşembe 02:00:00 Doğu Avrupa Standart Saati
Biçemleyicinin yeni tarih gösterim türü: 3
İkinci biçemli çıktı: 1 Ocak 1970 Perşembe 02:00

Ayrıca Bakınız

  • datefmt_get_datetype() - IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür
  • datefmt_create() - Bir tarih biçemleyici oluşturur


IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür

  • « IntlDateFormatter::getTimeType
  • IntlDateFormatter::getCalendarObject »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür

IntlDateFormatter::getTimeZoneId

datefmt_get_timezone_id

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::getTimeZoneId -- datefmt_get_timezone_id — IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getTimeZoneId(): string|false

Yordamsal kullanım

datefmt_get_timezone_id(IntlDateFormatter $biçemleyici): string|false

IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

IntlDateFormatter tarafından kullanılan zaman dilimi tanıtıcısı, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_get_timezone_id() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyicinin zaman dilimi: ". datefmt_get_timezone_id($fmt) . "\n";
datefmt_set_timezone_id($fmt, 'Europe/Madrid');
echo "Yeni biçemleyicinin zaman dilimi: ".datefmt_get_timezone_id($fmt);

?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "timezone_id of the formatter is : " . $fmt->getTimezoneId() . "\n";
$fmt->setTimezoneId('Europe/Madrid');
echo "Now timezone_id of the formatter is : ".$fmt->getTimezoneId();

?>

Yukarıdaki örneğin çıktısı:

Biçemleyicinin zaman dilimi: America/Los_Angeles
Yeni biçemleyicinin zaman dilimi: Europe/Madrid

Ayrıca Bakınız

  • datefmt_set_timezone() - Sets formatter's timezone
  • datefmt_create() - Bir tarih biçemleyici oluşturur


Get copy of formatter's calendar object

  • « IntlDateFormatter::getTimeZoneId
  • IntlDateFormatter::getTimeZone »
  • PHP Manual
  • Tarih Biçemleyici
  • Get copy of formatter's calendar object

IntlDateFormatter::getCalendarObject

datefmt_get_calendar_object

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)

IntlDateFormatter::getCalendarObject -- datefmt_get_calendar_object — Get copy of formatter's calendar object

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getCalendarObject(): IntlCalendar|false|null

Yordamsal kullanım

datefmt_get_calendar_object(IntlDateFormatter $formatter): IntlCalendar|false|null

Obtain a copy of the calendar object used internally by this formatter. This calendar will have a type (as in gregorian, japanese, buddhist, roc, persian, islamic, etc.) and a timezone that match the type and timezone used by the formatter. The date/time of the object is unspecified.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A copy of the internal calendar object used by this formatter, or null if none has been set, başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlDateFormatter::getCalendarObject() example

<?php
$formatter = IntlDateFormatter::create(
"fr_FR@calendar=islamic",
NULL,
NULL,
"GMT-01:00",
IntlDateFormatter::TRADITIONAL
);

$cal = $formatter->getCalendarObject();

var_dump(
$cal->getType(),
$cal->getTimeZone(),
$cal->getLocale(Locale::VALID_LOCALE)
);

Yukarıdaki örneğin çıktısı:

string(7) "islamic"
object(IntlTimeZone)#3 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(9) "GMT-01:00"
  ["rawOffset"]=>
  int(-3600000)
  ["currentOffset"]=>
  int(-3600000)
}
string(5) "fr_FR"

Ayrıca Bakınız

  • IntlDateFormatter::getCalendar() - IntlDateFormatter tarafından kullanılan takvim türünü döndürür
  • IntlDateFormatter::setCalendar() - Kullanılacak takvimi tanımlar
  • IntlCalendar


Get formatter's timezone

  • « IntlDateFormatter::getCalendarObject
  • IntlDateFormatter::isLenient »
  • PHP Manual
  • Tarih Biçemleyici
  • Get formatter's timezone

IntlDateFormatter::getTimeZone

datefmt_get_timezone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)

IntlDateFormatter::getTimeZone -- datefmt_get_timezone — Get formatter's timezone

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::getTimeZone(): IntlTimeZone|false

Yordamsal kullanım

datefmt_get_timezone(IntlDateFormatter $formatter): IntlTimeZone|false

Returns an IntlTimeZone object representing the timezone that will be used by this object to format dates and times. When formatting IntlCalendar and DateTime objects with this IntlDateFormatter, the timezone used will be the one returned by this method, not the one associated with the objects being formatted.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The associated IntlTimeZone object başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlDateFormatter::getTimeZone() examples

<?php

$madrid = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Madrid');
$lisbon = IntlDateFormatter::create(NULL, NULL, NULL, 'Europe/Lisbon');

var_dump($madrid->getTimezone());
echo $madrid->getTimezone()->getDisplayName(
false, IntlTimeZone::DISPLAY_GENERIC_LOCATION, "en_US"), "\n";
echo $lisbon->getTimeZone()->getId(), "\n";
//The id can also be retrieved with ->getTimezoneId()
echo $lisbon->getTimeZoneId(), "\n";

Yukarıdaki örneğin çıktısı:

object(IntlTimeZone)#4 (4) {
  ["valid"]=>
  bool(true)
  ["id"]=>
  string(13) "Europe/Madrid"
  ["rawOffset"]=>
  int(3600000)
  ["currentOffset"]=>
  int(7200000)
}
Spain Time
Europe/Lisbon
Europe/Lisbon

Ayrıca Bakınız

  • IntlDateFormatter::getTimeZoneId() - IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür
  • IntlDateFormatter::setTimeZone() - Sets formatter's timezone
  • IntlTimeZone


IntlDateFormatter esnek çözümleme mi yapıyor diye bakar

  • « IntlDateFormatter::getTimeZone
  • IntlDateFormatter::localtime »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter esnek çözümleme mi yapıyor diye bakar

IntlDateFormatter::isLenient

datefmt_is_lenient

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::isLenient -- datefmt_is_lenient — IntlDateFormatter esnek çözümleme mi yapıyor diye bakar

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::isLenient(): bool

Yordamsal kullanım

datefmt_is_lenient(IntlDateFormatter $biçemleyici): bool

Kalıpla tam olarak eşleşmeyen girdilerin yorumlanmasında çözümleyicinin esnek mi yoksa katı mı davrandığına bakar.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

Dönen Değerler

Çözümleyici esnekse true değilse false. Öntanımlı olarak çözümleyici esnektir.

Örnekler

Örnek 1 - datefmt_is_lenient() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/mm/yyyy"
);
echo "Biçemleyici esnek mi?: ";
if( $fmt->isLenient() ){
echo('EVET');
} else {
echo('HAYIR');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " .
datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
echo "\n Hata iletisi: ".intl_get_error_message();
echo "\n Hata kodu: ".intl_get_error_code();
}
datefmt_set_lenient($fmt,false);
echo "\nYeni biçemleyici esnek mi?: ";
if( $fmt->isLenient() ){
echo('EVET');
} else {
echo('HAYIR');
}
datefmt_parse($fmt,"35/13/1971");
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " .
datefmt_parse($fmt,"35/13/1971");
if( intl_get_error_code() !=0 ){
echo "\n Hata iletisi: ".intl_get_error_message();
echo "\n Hata kodu: ".intl_get_error_code()."\n";
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/mm/yyyy"
);
echo "Biçemleyici esnek mi?: ";
if( $fmt->isLenient() ){
echo('EVET');
} else {
echo('HAYIR');
}
$fmt->parse("35/13/1971");
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " .
$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
echo "\n Hata iletisi: ".intl_get_error_message();
echo "\n Hata kodu: ".intl_get_error_code();
}

$fmt->setLenient(FALSE);
echo "\nYeni biçemleyici esnek mi?: ";
if( $fmt->isLenient() ){
echo('EVET');
} else {
echo('HAYIR');
}
$fmt->parse("35/13/1971");
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " .$fmt->parse("35/13/1971");
if( intl_get_error_code() !=0 ){
echo "\n Hata iletisi: ".intl_get_error_message();
echo "\n Hata kodu: ".intl_get_error_code()."\n";
}
?>

Yukarıdaki örneğin çıktısı:

Biçemleyici esnek mi?: EVET
 '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: 34467180
Yeni biçemleyici esnek mi?: HAYIR
 '35/13/1971' çözümlenmeye çalışılıyor. Sonuç:
 Hata iletisi: Date parsing failed: U_PARSE_ERROR
 Hata kodu: 9

Ayrıca Bakınız

  • datefmt_set_lenient() - Çözümleyiciye esneklik verir
  • datefmt_create() - Bir tarih biçemleyici oluşturur


Tarih dizgesini alanlarına çözümler

  • « IntlDateFormatter::isLenient
  • IntlDateFormatter::parse »
  • PHP Manual
  • Tarih Biçemleyici
  • Tarih dizgesini alanlarına çözümler

IntlDateFormatter::localtime

datefmt_localtime

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::localtime -- datefmt_localtime — Tarih dizgesini alanlarına çözümler

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::localtime(string $dizge, int &$başlangıç = null): array|false

Yordamsal kullanım

datefmt_localtime(IntlDateFormatter $biçemleyici, string $dizge, int &$başlangıç = null): array|false

Belirtilen dizge'nin başlangıç konumundan itibaren olabildiğince çok veri toplayarak tarihi oluşturan alanları bir dizi içine ayrıştırır.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesnesi.

dizge

Dönüştürülecek dizge.

başlangıç

başlangıç, dizgenin başlangıcı 0 kabul edilerek bulunur. Dizgeden veri toplanırken bir hata oluşmazsa, bu bağımsız değişkene -1 yerleştirilir, aksi takdirde hata oluştuğu sırada okunan son konum yerleştirilir. başlangıç > strlen($dizge) ise çözümleme, anında başarısız olur.

Dönen Değerler

Yerel zamana uygun, tamsayılardan oluşan bir dizi, başarısızlık durumunda false döner. 'tm_hour' alanındaki saat değeri, 24 saattir.

Örnekler

Örnek 1 - datefmt_localtime() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$arr = datefmt_localtime($fmt,
"Wednesday, December 31, 1969 4:00:00 PM PT");
echo "Çözümleme sonucu:\n";
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key : $value\n";
}
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
$arr = $fmt->localtime("Wednesday, December 31, 1969 4:00:00 PM PT");
echo "Çözümleme sonucu:\n";
if ($arr) {
foreach ($arr as $key => $value) {
echo "$key: $value\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

Çözümleme sonucu:
tm_sec: 0
tm_min: 0
tm_hour: 16
tm_year: 69
tm_mday: 31
tm_wday: 3
tm_yday: 365
tm_mon: 11
tm_isdst: 0

Ayrıca Bakınız

  • datefmt_create() - Bir tarih biçemleyici oluşturur
  • datefmt_format() - Tarih/saat değerini bir dizge olarak biçemler
  • datefmt_parse() - Dizgeyi bir zaman damgası değerine dönüştürür
  • datefmt_get_error_code() - Son işlemin hata kodunu döndürür
  • datefmt_get_error_message() - Son işlemin hata iletisini döndürür


Dizgeyi bir zaman damgası değerine dönüştürür

  • « IntlDateFormatter::localtime
  • IntlDateFormatter::setCalendar »
  • PHP Manual
  • Tarih Biçemleyici
  • Dizgeyi bir zaman damgası değerine dönüştürür

IntlDateFormatter::parse

datefmt_parse

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::parse -- datefmt_parse — Dizgeyi bir zaman damgası değerine dönüştürür

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::parse(string $dizge, int &$başlangıç = null): int|float|false

Yordamsal kullanım

datefmt_parse(IntlDateFormatter $biçemleyici, string $dizge, int &$başlangıç = null): int|float|false

Belirtilen dizge'nin başlangıç konumundan itibaren olabildiğinçe çok veri toplayarak bir arttırımlı zaman değeri oluşturmaya çalışır.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

dizge

Zaman damgasına dönüştürülecek dizge.

başlangıç

başlangıç, dizgenin başlangıcı 0 kabul edilerek bulunur. Dizgeden veri toplanırken bir hata oluşmazsa, bu bağımsız değişkene -1 yerleştirilir, aksi takdirde hata oluştuğu sırada okunan son konum yerleştirilir. başlangıç > strlen($string) ise çözümleme, anında başarısız olur.

Dönen Değerler

Zaman damgası, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "İlk çözümleme sonucu: ".
$fmt->parse("Wednesday, December 20, 1989 4:00:00 PM Pacific Standard Time");
$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci çözümleme sonucu: ".
$fmt->parse("21 Aralık 1989 Perşembe 02:00:00 Doğu Avrupa Standart Saati")."\n";
?>

Örnek 2 - datefmt_parse() örneği

<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo "İlk çözümleme sonucu: ". datefmt_parse( $fmt,
"Wednesday, December 20, 1989 4:00:00 PM Pacific Standard Time");
$fmt = datefmt_create(
$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "\nİkinci çözümleme sonucu: ".datefmt_parse( $fmt,
"21 Aralık 1989 Perşembe 02:00:00 Doğu Avrupa Standart Saati")."\n";
?>

Yukarıdaki örneğin çıktısı:

İlk çözümleme sonucu: 630201600
İkinci  çözümleme sonucu: 630201600

Ayrıca Bakınız

  • datefmt_create() - Bir tarih biçemleyici oluşturur
  • datefmt_format() - Tarih/saat değerini bir dizge olarak biçemler
  • datefmt_localtime() - Tarih dizgesini alanlarına çözümler
  • datefmt_get_error_code() - Son işlemin hata kodunu döndürür
  • datefmt_get_error_message() - Son işlemin hata iletisini döndürür


Kullanılacak takvimi tanımlar

  • « IntlDateFormatter::parse
  • IntlDateFormatter::setLenient »
  • PHP Manual
  • Tarih Biçemleyici
  • Kullanılacak takvimi tanımlar

IntlDateFormatter::setCalendar

datefmt_set_calendar

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setCalendar -- datefmt_set_calendar — Kullanılacak takvimi tanımlar

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::setCalendar(IntlCalendar|int|null $takvim): bool

Yordamsal kullanım

datefmt_set_calendar(IntlDateFormatter $biçemleyici, IntlCalendar|int|null $takvim): bool

Biçemleyici tarafından kullanılacak takvimi tanımlar.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

takvim

Ya kullanılacak takvimdir. Ya IntlDateFormatter::GREGORIAN'dır; bu öntanımlı olup null belirtildiğinde de kullanılır. Ya da IntlCalendar nesnesidir.

Aktarılan IntlCalendar nesneleri kopyalanır fakat değişiklik yapılmaz.

IntlCalendar nesnesi aktarılırsa biçemleyicinin zaman dilimine dokunulmaz, aksi takdirde aktarılan nesnenin zaman dilimi geçerli olur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
5.5.0/PECL 3.0.0 | Artık IntlCalendar nesnesi aktarılabiliyor.

Örnekler

Örnek 1 - datefmt_set_calendar() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyici takvimi: ".datefmt_get_calendar($fmt);
datefmt_set_calendar($fmt,IntlDateFormatter::TRADITIONAL);
echo "\nYenisi: ".datefmt_get_calendar($fmt);
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN
);
echo "Biçemleyici takvimi: ".$fmt->getCalendar();
$fmt->setCalendar(IntlDateFormatter::TRADITIONAL);
echo "\nYenisi: ".$fmt->getCalendar();
?>

Yukarıdaki örneğin çıktısı:

Biçemleyici takvimi: 1
Yenisi: 0

Örnek 3 - IntlCalendar nesneli örnek

<?php
$time = strtotime("2013-03-03 00:00:00 UTC");
$formatter = IntlDateFormatter::create("tr_TR", NULL, NULL, "Europe/Amsterdam");

echo "önce: ", $formatter->format($time), "\n";

/* takvimin yerelinin kullanılmayışına dikkat! */
$formatter->setCalendar(IntlCalendar::createInstance(
"America/New_York", "pt_BR@calendar=islamic"));

echo "sonra: ", $formatter->format($time), "\n";

Yukarıdaki örneğin çıktısı:

önce: 3 Mart 2013 Pazar 01:00:00 Orta Avrupa Standart Saati
sonra:  20 Rebiülahir 1434 Cumartesi 19:00:00 Kuzey Amerika Doğu Standart Saati

Ayrıca Bakınız

  • datefmt_get_calendar() - IntlDateFormatter tarafından kullanılan takvim türünü döndürür
  • datefmt_create() - Bir tarih biçemleyici oluşturur


Çözümleyiciye esneklik verir

  • « IntlDateFormatter::setCalendar
  • IntlDateFormatter::setPattern »
  • PHP Manual
  • Tarih Biçemleyici
  • Çözümleyiciye esneklik verir

IntlDateFormatter::setLenient

datefmt_set_lenient

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setLenient -- datefmt_set_lenient — Çözümleyiciye esneklik verir

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::setLenient(bool $esnek): void

Yordamsal kullanım

datefmt_set_lenient(IntlDateFormatter $biçemleyici, bool $esnek): void

Kalıpla tam olarak eşleşmeyen girdilerin yorumlanmasında çözümleyicinin esnek mi yoksa katı mı davranacağını belirler. Esnek çözümleme etkin olduğunda çözümleyici kusurlu tarih ve saat kalıplarını kabul eder ve olabildiğince bir değer oluşturmaya çalışır. Fazladan boşluklar, tanınmayan dizgecikler veya geçersiz değerler ("February 30th" gibi) kabul edilmez.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

esnek

Çözümleyicinin esnek olması isteniyorsa true istenmiyorsa false belirtilir. true öntanımlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - datefmt_set_lenient() örneği

<?php
$fmt = datefmt_create(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'Biçemleyici esnek mi?: ';
if ($fmt->isLenient()) {
echo 'EVET';
} else {
echo 'HAYIR';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\n Hata iletisi: " . intl_get_error_message();
echo "\n Hata kodu: " . intl_get_error_code();
}
datefmt_set_lenient($fmt, false);
echo "\nNow lenient of the formatter is : ";
if ($fmt->isLenient()) {
echo 'EVET';
} else {
echo 'HAYIR';
}
datefmt_parse($fmt, '35/13/1971');
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " . datefmt_parse($fmt, '35/13/1971');
if (intl_get_error_code() != 0) {
echo "\n Hata iletisi: ".intl_get_error_message();
echo "\n Hata kodu: ".intl_get_error_code();
}
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
'tr_TR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
'dd/MM/yyyy'
);
echo 'Biçemleyici esnek mi?: ';
if ($fmt->isLenient()) {
echo 'EVET';
} else {
echo 'HAYIR';
}
$fmt->parse('35/13/1971');
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "\n Hata iletisi: " . intl_get_error_message();
echo "\n Hata kodu: " . intl_get_error_code();
}
$fmt->setLenient(FALSE);
echo "\nYeni biçemleyici esnek mi?: ";
if ($fmt->isLenient()) {
echo 'EVET';
} else {
echo 'HAYIR';
}
$fmt->parse('35/13/1971');
echo "\n '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: " . $fmt->parse('35/13/1971');
if (intl_get_error_code() != 0) {
echo "\n Hata iletisi: " . intl_get_error_message();
echo "\n Hata kodu: " . intl_get_error_code();
}
?>

Yukarıdaki örneğin çıktısı:

Biçemleyici esnek mi?: EVET
 '35/13/1971' çözümlenmeye çalışılıyor. Sonuç: 66002400
Yeni biçemleyici esnek mi?: HAYIR
 '35/13/1971' çözümlenmeye çalışılıyor. Sonuç:
 Hata iletisi: Date parsing failed: U_PARSE_ERROR
 Hata kodu: 9

Ayrıca Bakınız

  • datefmt_is_lenient() - IntlDateFormatter esnek çözümleme mi yapıyor diye bakar
  • datefmt_create() - Bir tarih biçemleyici oluşturur


IntlDateFormatter tarafından kullanılan kalıbı tanımlar

  • « IntlDateFormatter::setLenient
  • IntlDateFormatter::setTimeZone »
  • PHP Manual
  • Tarih Biçemleyici
  • IntlDateFormatter tarafından kullanılan kalıbı tanımlar

IntlDateFormatter::setPattern

datefmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

IntlDateFormatter::setPattern -- datefmt_set_pattern — IntlDateFormatter tarafından kullanılan kalıbı tanımlar

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::setPattern(string $pattern): bool

Yordamsal kullanım

datefmt_set_pattern(IntlDateFormatter $biçemleyici, string $kalıp): bool

IntlDateFormatter tarafından kullanılan kalıbı tanımlar.

Bağımsız Değişkenler

biçemleyici

Biçemleyici nesne.

kalıp

Kullanılacak kalıp dizgesi. Olası kalıplar için bkz: » https://unicode-org.github.io/icu/userguide/format_parse/datetime/

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Yanlış oluşturulmuş biçem dizgeleri genelde hataya sebep olur.

Örnekler

Örnek 1 - datefmt_set_pattern() örneği

<?php
$fmt = datefmt_create(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Istanbul',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "Biçem kalıbı: ", datefmt_get_pattern($fmt), PHP_EOL;
echo "İlk biçem kalıplı çıktı: ", datefmt_format($fmt, 0), PHP_EOL;
datefmt_set_pattern($fmt,'dd-MM-yyyy hh:mm:ss z');
echo "Yeni biçem kalıbı: ", datefmt_get_pattern($fmt), PHP_EOL;
echo "İkinci biçem kalıplı çıktı: ", datefmt_format($fmt, 0), PHP_EOL;
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$fmt = new IntlDateFormatter(
"tr_TR",
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
"dd/MM/yyyy"
);
echo "Biçem kalıbı: ", $fmt->getPattern(), PHP_EOL;
echo "İlk biçem kalıplı çıktı: ", $fmt->format(0), PHP_EOL;
$fmt->setPattern('dd-MM-yyyy hh:mm:ss z');
echo "Yeni biçem kalıbı: ", $fmt->getPattern(), PHP_EOL;
echo "İkinci biçem kalıplı çıktı: ", $fmt->format(0), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

Biçem kalıbı: dd/MM/yyyy
İlk biçem kalıplı çıktı: 31/12/1969
Yeni biçem kalıbı: dd-MM-yyyy hh:mm:ss z
İkinci biçem kalıplı çıktı: 31-12-1969 04:00:00 GMT-8

Ayrıca Bakınız

  • datefmt_get_pattern() - IntlDateFormatter tarafından kullanılan kalıbı döndürür
  • datefmt_create() - Bir tarih biçemleyici oluşturur


Sets formatter's timezone

  • « IntlDateFormatter::setPattern
  • ResourceBundle »
  • PHP Manual
  • Tarih Biçemleyici
  • Sets formatter's timezone

IntlDateFormatter::setTimeZone

datefmt_set_timezone

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL intl >= 3.0.0)

IntlDateFormatter::setTimeZone -- datefmt_set_timezone — Sets formatter's timezone

Açıklama

Nesne yönelimli kullanım

public IntlDateFormatter::setTimeZone(IntlTimeZone|DateTimeZone|string|null $timezone): ?bool

Yordamsal kullanım

datefmt_set_timezone(IntlDateFormatter $formatter, IntlTimeZone|DateTimeZone|string|null $timezone): ?bool

Sets the timezone used for the IntlDateFormatter. object.

Bağımsız Değişkenler

formatter

The formatter resource.

timezone

The timezone to use for this formatter. This can be specified in the following forms:

  • date_default_timezone_get() tarafından döndürüldüğü gibi ve date_default_timezone_set() işlevi üzerinden veya date.timezone ini yönergesinde belirtildiği gibi, öntanımlı zaman dilimi kullanıldığı durumda null.

  • Doğrudan kullanılacaksa, IntlTimeZone.

  • DateTimeZone. Tanımlayıcısı çıkarılır ve bir ICU zaman dilimi nesnesi oluşturulur; zaman dilimi PHP'nin değil, ICU'nun veritabanı tarafından desteklenir.

  • Geçerli bir ICU zaman dilimi tanımlayıcısı olması gereken bir dizge. Bkz: IntlTimeZone::createTimeZoneIDEnumeration(). "GMT+08:30" gibi ham gösterimler de kabul edilir

Dönen Değerler

Returns null on success and false on failure.

Örnekler

Örnek 1 IntlDateFormatter::setTimeZone() examples

<?php
ini_set('date.timezone', 'Europe/Amsterdam');

$formatter = IntlDateFormatter::create(NULL, NULL, NULL, "UTC");

$formatter->setTimeZone(NULL);
echo "NULL\n ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(IntlTimeZone::createTimeZone('Europe/Lisbon'));
echo "IntlTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone(new DateTimeZone('Europe/Paris'));
echo "DateTimeZone\n ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('Europe/Rome');
echo "String\n ", $formatter->getTimeZone()->getId(), "\n";

$formatter->setTimeZone('GMT+00:30');
print_r($formatter->getTimeZone());

Yukarıdaki örneğin çıktısı:

NULL
    Europe/Amsterdam
IntlTimeZone
    Europe/Lisbon
DateTimeZone
    Europe/Paris
String
    Europe/Rome
IntlTimeZone Object
(
    [valid] => 1
    [id] => GMT+00:30
    [rawOffset] => 1800000
    [currentOffset] => 1800000
)

Ayrıca Bakınız

  • IntlDateFormatter::getTimeZone() - Get formatter's timezone


The ResourceBundle class

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

Giriş

Localized software products often require sets of data that are to be customized depending on current locale, e.g.: messages, labels, formatting patterns. ICU resource mechanism allows to define sets of resources that the application can load on locale basis, while accessing them in unified locale-independent fashion.

This class implements access to ICU resource data files. These files are binary data arrays which ICU uses to store the localized data.

ICU resource bundle can hold simple resources and complex resources. Complex resources are containers which can be either integer-indexed or string-indexed (just like PHP arrays). Simple resources can be of the following types: string, integer, binary data field or integer array.

ResourceBundle supports direct access to the data through array access pattern and iteration via foreach, as well as access via class methods. The result will be PHP value for simple resources and ResourceBundle object for complex ones. All resources are read-only.

Sınıf Sözdizimi

class ResourceBundle implements IteratorAggregate, Countable {
/* Yöntemler */
public __construct(?string $locale, ?string $bundle, bool $fallback = true)
public count(): int
public static create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle
public getErrorCode(): int
public getErrorMessage(): string
public get(string|int $index, bool $fallback = true): mixed
public static getLocales(string $bundle): array|false
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ResourceBundle implements IteratorAggregate now. Previously, Traversable was implemented instead.
7.4.0 | ResourceBundle implements Countable now.

Ayrıca Bakınız

  • » ICU Resource Management
  • » ICU Data

İçindekiler

  • ResourceBundle::count — Get number of elements in the bundle
  • ResourceBundle::create — Create a resource bundle
  • ResourceBundle::getErrorCode — Get bundle's last error code
  • ResourceBundle::getErrorMessage — Get bundle's last error message
  • ResourceBundle::get — Get data from the bundle
  • ResourceBundle::getLocales — Get supported locales


Get number of elements in the bundle

  • « ResourceBundle
  • ResourceBundle::create »
  • PHP Manual
  • ResourceBundle
  • Get number of elements in the bundle

ResourceBundle::count

resourcebundle_count

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::count -- resourcebundle_count — Get number of elements in the bundle

Açıklama

Nesne yönelimli kullanım

public ResourceBundle::count(): int

Yordamsal kullanım

resourcebundle_count(ResourceBundle $bundle): int

Get the number of elements in the bundle.

Bağımsız Değişkenler

bundle

ResourceBundle object.

Dönen Değerler

Returns number of elements in the bundle.

Örnekler

Örnek 1 resourcebundle_count() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_count($r);
?>

Örnek 2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->count();
?>

Yukarıdaki örneğin çıktısı:

42

Ayrıca Bakınız

  • resourcebundle_get() - Get data from the bundle


Create a resource bundle

  • « ResourceBundle::count
  • ResourceBundle::getErrorCode »
  • PHP Manual
  • ResourceBundle
  • Create a resource bundle

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__construct — Create a resource bundle

Açıklama

Nesne yönelimli kullanım (method)

public static ResourceBundle::create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

Yordamsal kullanım

resourcebundle_create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

Nesne yönelimli kullanım (constructor):

public ResourceBundle::__construct(?string $locale, ?string $bundle, bool $fallback = true)

Creates a resource bundle.

Bağımsız Değişkenler

locale

Locale for which the resources should be loaded (locale name, e.g. en_CA).

bundle

The directory where the data is stored or the name of the .dat file.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

Dönen Değerler

Returns ResourceBundle object or null on error.

Örnekler

Örnek 1 resourcebundle_create() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Örnek 2 ResourceBundle::create() example

<?php
$r = ResourceBundle::create( 'es', "/usr/share/data/myapp");
echo $r['teststring'];
?>

Yukarıdaki örneğin çıktısı:

¡Hola, mundo!

Ayrıca Bakınız

  • resourcebundle_get() - Get data from the bundle


Get bundle's last error code

  • « ResourceBundle::create
  • ResourceBundle::getErrorMessage »
  • PHP Manual
  • ResourceBundle
  • Get bundle's last error code

ResourceBundle::getErrorCode

resourcebundle_get_error_code

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::getErrorCode -- resourcebundle_get_error_code — Get bundle's last error code

Açıklama

Nesne yönelimli kullanım

public ResourceBundle::getErrorCode(): int

Yordamsal kullanım

resourcebundle_get_error_code(ResourceBundle $bundle): int

Get error code from the last function performed by the bundle object.

Bağımsız Değişkenler

bundle

ResourceBundle object.

Dönen Değerler

Returns error code from last bundle object call.

Örnekler

Örnek 1 resourcebundle_get_error_code() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
report_error("Bundle error");
}
?>

Örnek 2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
report_error("Bundle error");
}
?>

Ayrıca Bakınız

  • resourcebundle_get_error_message() - Get bundle's last error message
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Get bundle's last error message

  • « ResourceBundle::getErrorCode
  • ResourceBundle::get »
  • PHP Manual
  • ResourceBundle
  • Get bundle's last error message

ResourceBundle::getErrorMessage

resourcebundle_get_error_message

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::getErrorMessage -- resourcebundle_get_error_message — Get bundle's last error message

Açıklama

Nesne yönelimli kullanım

public ResourceBundle::getErrorMessage(): string

Yordamsal kullanım

resourcebundle_get_error_message(ResourceBundle $bundle): string

Get error message from the last function performed by the bundle object.

Bağımsız Değişkenler

bundle

ResourceBundle object.

Dönen Değerler

Returns error message from last bundle object's call.

Örnekler

Örnek 1 resourcebundle_get_error_message() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(resourcebundle_get_error_code($r))) {
report_error("Bundle error: ".resourcebundle_get_error_message($r));
}
?>

Örnek 2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r['somestring'];
if(intl_is_failure(ResourceBundle::getErrorCode($r))) {
report_error("Bundle error: ".ResourceBundle::getErrorMessage($r));
}
?>

Ayrıca Bakınız

  • resourcebundle_get_error_code() - Get bundle's last error code
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Get data from the bundle

  • « ResourceBundle::getErrorMessage
  • ResourceBundle::getLocales »
  • PHP Manual
  • ResourceBundle
  • Get data from the bundle

ResourceBundle::get

resourcebundle_get

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::get -- resourcebundle_get — Get data from the bundle

Açıklama

Nesne yönelimli kullanım

public ResourceBundle::get(string|int $index, bool $fallback = true): mixed

Yordamsal kullanım

resourcebundle_get(ResourceBundle $bundle, string|int $index, bool $fallback = true): mixed

Get the data from the bundle by index or string key.

Bağımsız Değişkenler

bundle

ResourceBundle object.

index

Data index, must be string or integer.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

Dönen Değerler

Returns the data located at the index or null on error. Strings, integers and binary data strings are returned as corresponding PHP types, integer array is returned as PHP array. Complex types are returned as ResourceBundle object.

Örnekler

Örnek 1 resourcebundle_get() example

<?php
$r = resourcebundle_create( 'es', "/usr/share/data/myapp");
echo resourcebundle_get($r, 'somestring');
?>

Örnek 2 OO example

<?php
$r = new ResourceBundle( 'es', "/usr/share/data/myapp");
echo $r->get('somestring');
?>

Yukarıdaki örneğin çıktısı:

?Hola, mundo!

Ayrıca Bakınız

  • resourcebundle_count() - Get number of elements in the bundle


Get supported locales

  • « ResourceBundle::get
  • Spoofchecker »
  • PHP Manual
  • ResourceBundle
  • Get supported locales

ResourceBundle::getLocales

resourcebundle_locales

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL intl >= 2.0.0)

ResourceBundle::getLocales -- resourcebundle_locales — Get supported locales

Açıklama

Nesne yönelimli kullanım

public static ResourceBundle::getLocales(string $bundle): array|false

Yordamsal kullanım

resourcebundle_locales(string $bundle): array|false

Get available locales from ResourceBundle name.

Bağımsız Değişkenler

bundle

Path of ResourceBundle for which to get available locales, or empty string for default locales list.

Dönen Değerler

Returns the list of locales supported by the bundle, or false on failure.

Örnekler

Örnek 1 resourcebundle_locales() example

<?php
$bundle = "/user/share/data/myapp";
echo join(PHP_EOL, resourcebundle_locales($bundle));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

es
root

Örnek 2 OO example

<?php
$bundle = "/usr/share/data/myapp";
$r = new ResourceBundle( 'es', $bundle);
echo join("\n", $r->getLocales($bundle));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

es
root

Ayrıca Bakınız

  • resourcebundle_get() - Get data from the bundle


The Spoofchecker class

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Giriş

This class is provided because Unicode contains large number of characters and incorporates the varied writing systems of the world and their incorrect usage can expose programs or systems to possible security attacks using characters similarity.

Provided methods allow to check whether an individual string is likely an attempt at confusing the reader (spoof detection), such as "p?yp?l" spelled with Cyrillic '?' characters.

Sınıf Sözdizimi

class Spoofchecker {
/* Sabitler */
public const int SINGLE_SCRIPT_CONFUSABLE;
public const int MIXED_SCRIPT_CONFUSABLE;
public const int WHOLE_SCRIPT_CONFUSABLE;
public const int ANY_CASE;
public const int SINGLE_SCRIPT;
public const int INVISIBLE;
public const int CHAR_LIMIT;
public const int ASCII;
public const int HIGHLY_RESTRICTIVE;
public const int MODERATELY_RESTRICTIVE;
public const int MINIMALLY_RESTRICTIVE;
public const int UNRESTRICTIVE;
public const int SINGLE_SCRIPT_RESTRICTIVE;
public const int MIXED_NUMBERS;
public const int HIDDEN_OVERLAY;
/* Yöntemler */
public __construct()
public areConfusable(string $string1, string $string2, int &$errorCode = null): bool
public isSuspicious(string $string, int &$errorCode = null): bool
public setAllowedLocales(string $locales): void
public setChecks(int $checks): void
public setRestrictionLevel(int $level): void
}

Öntanımlı Sabitler

Spoofchecker::SINGLE_SCRIPT_CONFUSABLE

Spoofchecker::MIXED_SCRIPT_CONFUSABLE

Spoofchecker::WHOLE_SCRIPT_CONFUSABLE

Spoofchecker::ANY_CASE

Spoofchecker::SINGLE_SCRIPT

Spoofchecker::INVISIBLE

Spoofchecker::CHAR_LIMIT

Spoofchecker::ASCII

Spoofchecker::HIGHLY_RESTRICTIVE

Spoofchecker::MODERATELY_RESTRICTIVE

Spoofchecker::MINIMALLY_RESTRICTIVE

Spoofchecker::UNRESTRICTIVE

Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE

Spoofchecker::MIXED_NUMBERS

Spoofchecker::HIDDEN_OVERLAY

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Class constants used by Spoofchecker::setRestrictionLevel() such as Spoofchecker::ASCII, Spoofchecker::HIGHLY_RESTRICTIVE, Spoofchecker::MODERATELY_RESTRICTIVE, Spoofchecker::MINIMALLY_RESTRICTIVE, Spoofchecker::UNRESTRICTIVE, Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE has been added.

İçindekiler

  • Spoofchecker::areConfusable — Checks if given strings can be confused
  • Spoofchecker::__construct — Constructor
  • Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters
  • Spoofchecker::setAllowedLocales — Locales to use when running checks
  • Spoofchecker::setChecks — Set the checks to run
  • Spoofchecker::setRestrictionLevel — Set the restriction level


Checks if given strings can be confused

  • « Spoofchecker
  • Spoofchecker::__construct »
  • PHP Manual
  • Spoofchecker
  • Checks if given strings can be confused

Spoofchecker::areConfusable

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Spoofchecker::areConfusable — Checks if given strings can be confused

Açıklama

public Spoofchecker::areConfusable(string $string1, string $string2, int &$errorCode = null): bool

Checks whether two given strings can easily be mistaken.

Bağımsız Değişkenler

string1

First string to check.

string2

Second string to check.

errorCode

This variable is set by-reference to int containing an error, if there was any.

Dönen Değerler

Returns true if two given strings can be confused, false otherwise.

Örnekler

Örnek 1 Spoofchecker::areConfusable() example

<?php
$checker = new Spoofchecker();

$checker->areConfusable('google.com', 'goog1e.com'); // true
// Lower l can be confused with digit one

$checker->areConfusable('google.com', 'g00g1e.com'); // false
// Zero (0) cannot be easily confused with "o" letter


Constructor

  • « Spoofchecker::areConfusable
  • Spoofchecker::isSuspicious »
  • PHP Manual
  • Spoofchecker
  • Constructor

Spoofchecker::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Spoofchecker::__construct — Constructor

Açıklama

public Spoofchecker::__construct()

Creates new instance of Spoofchecker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Checks if a given text contains any suspicious characters

  • « Spoofchecker::__construct
  • Spoofchecker::setAllowedLocales »
  • PHP Manual
  • Spoofchecker
  • Checks if a given text contains any suspicious characters

Spoofchecker::isSuspicious

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Spoofchecker::isSuspicious — Checks if a given text contains any suspicious characters

Açıklama

public Spoofchecker::isSuspicious(string $string, int &$errorCode = null): bool

Checks if given string contains any suspicious characters like letters which are almost identical visually, but are Unicode characters from different sets.

Bağımsız Değişkenler

string

String to test.

errorCode

This variable is set by-reference to int containing an error, if there was any.

Dönen Değerler

Returns true if there are suspicious characters, false otherwise.

Örnekler

Örnek 1 Spoofchecker::isSuspicious() example

<?php
$checker = new Spoofchecker();

$checker->isSuspicious('google.com'); // FALSE: only ASCII characters

$checker->isSuspicious('?aypal.com'); // TRUE
// The first letter is from Cyrylic, not a regular latin "P"


Locales to use when running checks

  • « Spoofchecker::isSuspicious
  • Spoofchecker::setChecks »
  • PHP Manual
  • Spoofchecker
  • Locales to use when running checks

Spoofchecker::setAllowedLocales

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Spoofchecker::setAllowedLocales — Locales to use when running checks

Açıklama

public Spoofchecker::setAllowedLocales(string $locales): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locales

Dönen Değerler


Set the checks to run

  • « Spoofchecker::setAllowedLocales
  • Spoofchecker::setRestrictionLevel »
  • PHP Manual
  • Spoofchecker
  • Set the checks to run

Spoofchecker::setChecks

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Spoofchecker::setChecks — Set the checks to run

Açıklama

public Spoofchecker::setChecks(int $checks): void

Sets the checks that will be performed by SpoofChecker::isSuspicious().

Bağımsız Değişkenler

checks

The checks that will be performed by SpoofChecker::isSuspicious().
A bitmask of
Spoofchecker::SINGLE_SCRIPT_CONFUSABLE,
Spoofchecker::MIXED_SCRIPT_CONFUSABLE,
Spoofchecker::WHOLE_SCRIPT_CONFUSABLE,
Spoofchecker::ANY_CASE,
Spoofchecker::SINGLE_SCRIPT,
Spoofchecker::INVISIBLE, or
Spoofchecker::CHAR_LIMIT.
Defaults to all checks as of ICU 58; prior to that version,
Spoofchecker::SINGLE_SCRIPT was excluded.

Dönen Değerler

Hiçbir değer dönmez.


Set the restriction level

  • « Spoofchecker::setChecks
  • Transliterator »
  • PHP Manual
  • Spoofchecker
  • Set the restriction level

Spoofchecker::setRestrictionLevel

(PHP 7 >= 7.3.0, PHP 8)

Spoofchecker::setRestrictionLevel — Set the restriction level

Açıklama

public Spoofchecker::setRestrictionLevel(int $level): void

Sets the restriction level of SpoofChecker::isSuspicious().

Bağımsız Değişkenler

level

The restriction level of SpoofChecker::isSuspicious().
One of
Spoofchecker::ASCII,
Spoofchecker::SINGLE_SCRIPT_RESTRICTIVE,
Spoofchecker::HIGHLY_RESTRICTIVE,
Spoofchecker::MODERATELY_RESTRICTIVE,
Spoofchecker::MINIMALLY_RESTRICTIVE, or
Spoofchecker::UNRESTRICTIVE.
Defaults to Spoofchecker::HIGHLY_RESTRICTIVE.

Dönen Değerler

Hiçbir değer dönmez.


The Transliterator class

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Giriş

Transliterator provides transliteration of strings.

Sınıf Sözdizimi

class Transliterator {
/* Sabitler */
public const int FORWARD;
public const int REVERSE;
/* Özellikler */
public readonly string $id;
/* Yöntemler */
final private __construct()
public static create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator
public static createFromRules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator
public createInverse(): ?Transliterator
public getErrorCode(): int|false
public getErrorMessage(): string|false
public static listIDs(): array|false
public transliterate(string $string, int $start = 0, int $end = -1): string|false
}

Özellikler

id

Öntanımlı Sabitler

Transliterator::FORWARD

Transliterator::REVERSE

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The id property is now readonly.

İçindekiler

  • Transliterator::__construct — Private constructor to deny instantiation
  • Transliterator::create — Create a transliterator
  • Transliterator::createFromRules — Create transliterator from rules
  • Transliterator::createInverse — Create an inverse transliterator
  • Transliterator::getErrorCode — Get last error code
  • Transliterator::getErrorMessage — Get last error message
  • Transliterator::listIDs — Get transliterator IDs
  • Transliterator::transliterate — Transliterate a string


Private constructor to deny instantiation

  • « Transliterator
  • Transliterator::create »
  • PHP Manual
  • Transliterator
  • Private constructor to deny instantiation

Transliterator::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::__construct — Private constructor to deny instantiation

Açıklama

final private Transliterator::__construct()

This method should not be called. Its only purpose is to deny instantiation with the new operator.

Use the factory methods Transliterator::create() or Transliterator::createFromRules() instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Ayrıca Bakınız

  • Transliterator::create() - Create a transliterator
  • Transliterator::createFromRules() - Create transliterator from rules


Create a transliterator

  • « Transliterator::__construct
  • Transliterator::createFromRules »
  • PHP Manual
  • Transliterator
  • Create a transliterator

Transliterator::create

transliterator_create

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::create -- transliterator_create — Create a transliterator

Açıklama

Nesne yönelimli kullanım

public static Transliterator::create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator

Yordamsal kullanım

transliterator_create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator

Opens a Transliterator by ID.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

id

The ID. A list of all registered transliterator IDs can be retrieved by using Transliterator::listIDs().

direction

The direction, defaults to Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Dönen Değerler

Returns a Transliterator object on success, or null on failure.

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation


Create transliterator from rules

  • « Transliterator::create
  • Transliterator::createInverse »
  • PHP Manual
  • Transliterator
  • Create transliterator from rules

Transliterator::createFromRules

transliterator_create_from_rules

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::createFromRules -- transliterator_create_from_rules — Create transliterator from rules

Açıklama

Nesne yönelimli kullanım

public static Transliterator::createFromRules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator

Yordamsal kullanım

transliterator_create_from_rules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator

Creates a Transliterator from rules.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

rules

The rules as defined in Transform Rules Syntax of UTS #35: Unicode LDML.

direction

The direction, defaults to Transliterator::FORWARD. May also be set to Transliterator::REVERSE.

Dönen Değerler

Returns a Transliterator object on success, or null on failure.

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator


Create an inverse transliterator

  • « Transliterator::createFromRules
  • Transliterator::getErrorCode »
  • PHP Manual
  • Transliterator
  • Create an inverse transliterator

Transliterator::createInverse

transliterator_create_inverse

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::createInverse -- transliterator_create_inverse — Create an inverse transliterator

Açıklama

Nesne yönelimli kullanım

public Transliterator::createInverse(): ?Transliterator

Yordamsal kullanım

transliterator_create_inverse(Transliterator $transliterator): ?Transliterator

Opens the inverse transliterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a Transliterator object on success, or null on failure

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::create() - Create a transliterator


Get last error code

  • « Transliterator::createInverse
  • Transliterator::getErrorMessage »
  • PHP Manual
  • Transliterator
  • Get last error code

Transliterator::getErrorCode

transliterator_get_error_code

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::getErrorCode -- transliterator_get_error_code — Get last error code

Açıklama

Nesne yönelimli kullanım

public Transliterator::getErrorCode(): int|false

Yordamsal kullanım

transliterator_get_error_code(Transliterator $transliterator): int|false

Gets the last error code for this transliterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

transliterator

Dönen Değerler

The error code on success, or false if none exists, or on failure.

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::listIDs() - Get transliterator IDs


Get last error message

  • « Transliterator::getErrorCode
  • Transliterator::listIDs »
  • PHP Manual
  • Transliterator
  • Get last error message

Transliterator::getErrorMessage

transliterator_get_error_message

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::getErrorMessage -- transliterator_get_error_message — Get last error message

Açıklama

Nesne yönelimli kullanım

public Transliterator::getErrorMessage(): string|false

Yordamsal kullanım

transliterator_get_error_message(Transliterator $transliterator): string|false

Gets the last error message for this transliterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

transliterator

Dönen Değerler

The error message on success, or false if none exists, or on failure.

Ayrıca Bakınız

  • Transliterator::getErrorCode() - Get last error code
  • Transliterator::listIDs() - Get transliterator IDs


Get transliterator IDs

  • « Transliterator::getErrorMessage
  • Transliterator::transliterate »
  • PHP Manual
  • Transliterator
  • Get transliterator IDs

Transliterator::listIDs

transliterator_list_ids

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::listIDs -- transliterator_list_ids — Get transliterator IDs

Açıklama

Nesne yönelimli kullanım

public static Transliterator::listIDs(): array|false

Yordamsal kullanım

transliterator_list_ids(): array|false

Returns an array with the registered transliterator IDs.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of registered transliterator IDs on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Retrieving the registered transliterator IDs

<?php
print_r(Transliterator::listIDs());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => ASCII-Latin
    [1] => Accents-Any
    [2] => Amharic-Latin/BGN
    [3] => Any-Accents
    [4] => Any-Publishing
...
    [650] => Any-ps_Latn/BGN
    [651] => Any-tk/BGN
    [652] => Any-ch_FONIPA
    [653] => Any-cs_FONIPA
    [654] => Any-cy_FONIPA
)

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::transliterate() - Transliterate a string


Transliterate a string

  • « Transliterator::listIDs
  • IntlBreakIterator »
  • PHP Manual
  • Transliterator
  • Transliterate a string

Transliterator::transliterate

transliterator_transliterate

(PHP 5 >= 5.4.0, PHP 7, PHP 8, PECL intl >= 2.0.0)

Transliterator::transliterate -- transliterator_transliterate — Transliterate a string

Açıklama

Nesne yönelimli kullanım

public Transliterator::transliterate(string $string, int $start = 0, int $end = -1): string|false

Yordamsal kullanım

transliterator_transliterate(
Transliterator|string $transliterator,
string $string,
int $start = 0,
int $end = -1
): string|false

Transforms a string or part thereof using an ICU transliterator.

Bağımsız Değişkenler

transliterator

In the procedural version, either a Transliterator or a string from which a Transliterator can be built.

string

The string to be transformed.

start

The start index (in UTF-16 code units) from which the string will start to be transformed, inclusive. Indexing starts at 0. The text before will be left as is.

end

The end index (in UTF-16 code units) until which the string will be transformed, exclusive. Indexing starts at 0. The text after will be left as is.

Dönen Değerler

The transformed string on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Converting escaped UTF-16 code units

<?php
$s = "\u304A\u65E9\u3046\u3054\u3056\u3044\u307E\u3059";
echo transliterator_transliterate("Hex-Any/Java", $s), "\n";

//now the reverse operation with a supplementary character
$supplChar = html_entity_decode('&#x1D11E;');
echo mb_strlen($supplChar, "UTF-8"), "\n";
$encSupplChar = transliterator_transliterate("Any-Hex/Java", $supplChar);
//echoes two encoded UTF-16 code units
echo $encSupplChar, "\n";
//and back
echo transliterator_transliterate("Hex-Any/Java", $encSupplChar), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

????????
1
\uD834\uDD1E
??

Ayrıca Bakınız

  • Transliterator::getErrorMessage() - Get last error message
  • Transliterator::__construct() - Private constructor to deny instantiation


The IntlBreakIterator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

A "break iterator" is an ICU object that exposes methods for locating boundaries in text (e.g. word or sentence boundaries). The PHP IntlBreakIterator serves as the base class for all types of ICU break iterators. Where extra functionality is available, the intl extension may expose the ICU break iterator with suitable subclasses, such as IntlRuleBasedBreakIterator or IntlCodePointBreakIterator.

This class implements IteratorAggregate. Traversing an IntlBreakIterator yields non-negative integer values representing the successive locations of the text boundaries, expressed as UTF-8 code units (byte) counts, taken from the beginning of the text (which has the location 0). The keys yielded by the iterator simply form the sequence of natural numbers {0, 1, 2, ...}.

Sınıf Sözdizimi

class IntlBreakIterator implements IteratorAggregate {
/* Sabitler */
public const int DONE;
public const int WORD_NONE;
public const int WORD_NONE_LIMIT;
public const int WORD_NUMBER;
public const int WORD_NUMBER_LIMIT;
public const int WORD_LETTER;
public const int WORD_LETTER_LIMIT;
public const int WORD_KANA;
public const int WORD_KANA_LIMIT;
public const int WORD_IDEO;
public const int WORD_IDEO_LIMIT;
public const int LINE_SOFT;
public const int LINE_SOFT_LIMIT;
public const int LINE_HARD;
public const int LINE_HARD_LIMIT;
public const int SENTENCE_TERM;
public const int SENTENCE_TERM_LIMIT;
public const int SENTENCE_SEP;
public const int SENTENCE_SEP_LIMIT;
/* Yöntemler */
private __construct()
public static createCharacterInstance(?string $locale = null): ?IntlBreakIterator
public static createCodePointInstance(): IntlCodePointBreakIterator
public static createLineInstance(?string $locale = null): ?IntlBreakIterator
public static createSentenceInstance(?string $locale = null): ?IntlBreakIterator
public static createTitleInstance(?string $locale = null): ?IntlBreakIterator
public static createWordInstance(?string $locale = null): ?IntlBreakIterator
public current(): int
public first(): int
public following(int $offset): int
public getErrorCode(): int
public getErrorMessage(): string
public getLocale(int $type): string|false
public getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator
public getText(): ?string
public isBoundary(int $offset): bool
public last(): int
public next(?int $offset = null): int
public preceding(int $offset): int
public previous(): int
public setText(string $text): ?bool
}

Öntanımlı Sabitler

IntlBreakIterator::DONE

IntlBreakIterator::WORD_NONE

IntlBreakIterator::WORD_NONE_LIMIT

IntlBreakIterator::WORD_NUMBER

IntlBreakIterator::WORD_NUMBER_LIMIT

IntlBreakIterator::WORD_LETTER

IntlBreakIterator::WORD_LETTER_LIMIT

IntlBreakIterator::WORD_KANA

IntlBreakIterator::WORD_KANA_LIMIT

IntlBreakIterator::WORD_IDEO

IntlBreakIterator::WORD_IDEO_LIMIT

IntlBreakIterator::LINE_SOFT

IntlBreakIterator::LINE_SOFT_LIMIT

IntlBreakIterator::LINE_HARD

IntlBreakIterator::LINE_HARD_LIMIT

IntlBreakIterator::SENTENCE_TERM

IntlBreakIterator::SENTENCE_TERM_LIMIT

IntlBreakIterator::SENTENCE_SEP

IntlBreakIterator::SENTENCE_SEP_LIMIT

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | IntlBreakIterator implements IteratorAggregate now. Previously, Traversable was implemented instead.

İçindekiler

  • IntlBreakIterator::__construct — Private constructor for disallowing instantiation
  • IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences
  • IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points
  • IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks
  • IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks
  • IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks
  • IntlBreakIterator::createWordInstance — Create break iterator for word breaks
  • IntlBreakIterator::current — Get index of current position
  • IntlBreakIterator::first — Set position to the first character in the text
  • IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset
  • IntlBreakIterator::getErrorCode — Get last error code on the object
  • IntlBreakIterator::getErrorMessage — Get last error message on the object
  • IntlBreakIterator::getLocale — Get the locale associated with the object
  • IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries
  • IntlBreakIterator::getText — Get the text being scanned
  • IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset
  • IntlBreakIterator::last — Set the iterator position to index beyond the last character
  • IntlBreakIterator::next — Advance the iterator the next boundary
  • IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset
  • IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current
  • IntlBreakIterator::setText — Set the text being scanned


Private constructor for disallowing instantiation

  • « IntlBreakIterator
  • IntlBreakIterator::createCharacterInstance »
  • PHP Manual
  • IntlBreakIterator
  • Private constructor for disallowing instantiation

IntlBreakIterator::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::__construct — Private constructor for disallowing instantiation

Açıklama

private IntlBreakIterator::__construct()

IntlBreakIterator instances should be created by using one of the static factory methods.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • IntlBreakIterator::createCharacterInstance() - Create break iterator for boundaries of combining character sequences
  • IntlBreakIterator::createCodePointInstance() - Create break iterator for boundaries of code points
  • IntlBreakIterator::createLineInstance() - Create break iterator for logically possible line breaks
  • IntlBreakIterator::createSentenceInstance() - Create break iterator for sentence breaks
  • IntlBreakIterator::createTitleInstance() - Create break iterator for title-casing breaks
  • IntlBreakIterator::createWordInstance() - Create break iterator for word breaks


Create break iterator for boundaries of combining character sequences

  • « IntlBreakIterator::__construct
  • IntlBreakIterator::createCodePointInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for boundaries of combining character sequences

IntlBreakIterator::createCharacterInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createCharacterInstance — Create break iterator for boundaries of combining character sequences

Açıklama

public static IntlBreakIterator::createCharacterInstance(?string $locale = null): ?IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler


Create break iterator for boundaries of code points

  • « IntlBreakIterator::createCharacterInstance
  • IntlBreakIterator::createLineInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for boundaries of code points

IntlBreakIterator::createCodePointInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createCodePointInstance — Create break iterator for boundaries of code points

Açıklama

public static IntlBreakIterator::createCodePointInstance(): IntlCodePointBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Create break iterator for logically possible line breaks

  • « IntlBreakIterator::createCodePointInstance
  • IntlBreakIterator::createSentenceInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for logically possible line breaks

IntlBreakIterator::createLineInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createLineInstance — Create break iterator for logically possible line breaks

Açıklama

public static IntlBreakIterator::createLineInstance(?string $locale = null): ?IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler


Create break iterator for sentence breaks

  • « IntlBreakIterator::createLineInstance
  • IntlBreakIterator::createTitleInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for sentence breaks

IntlBreakIterator::createSentenceInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createSentenceInstance — Create break iterator for sentence breaks

Açıklama

public static IntlBreakIterator::createSentenceInstance(?string $locale = null): ?IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler


Create break iterator for title-casing breaks

  • « IntlBreakIterator::createSentenceInstance
  • IntlBreakIterator::createWordInstance »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for title-casing breaks

IntlBreakIterator::createTitleInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createTitleInstance — Create break iterator for title-casing breaks

Açıklama

public static IntlBreakIterator::createTitleInstance(?string $locale = null): ?IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler


Create break iterator for word breaks

  • « IntlBreakIterator::createTitleInstance
  • IntlBreakIterator::current »
  • PHP Manual
  • IntlBreakIterator
  • Create break iterator for word breaks

IntlBreakIterator::createWordInstance

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::createWordInstance — Create break iterator for word breaks

Açıklama

public static IntlBreakIterator::createWordInstance(?string $locale = null): ?IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

locale

Dönen Değerler


Get index of current position

  • « IntlBreakIterator::createWordInstance
  • IntlBreakIterator::first »
  • PHP Manual
  • IntlBreakIterator
  • Get index of current position

IntlBreakIterator::current

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::current — Get index of current position

Açıklama

public IntlBreakIterator::current(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set position to the first character in the text

  • « IntlBreakIterator::current
  • IntlBreakIterator::following »
  • PHP Manual
  • IntlBreakIterator
  • Set position to the first character in the text

IntlBreakIterator::first

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::first — Set position to the first character in the text

Açıklama

public IntlBreakIterator::first(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Advance the iterator to the first boundary following specified offset

  • « IntlBreakIterator::first
  • IntlBreakIterator::getErrorCode »
  • PHP Manual
  • IntlBreakIterator
  • Advance the iterator to the first boundary following specified offset

IntlBreakIterator::following

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::following — Advance the iterator to the first boundary following specified offset

Açıklama

public IntlBreakIterator::following(int $offset): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

offset

Dönen Değerler


Get last error code on the object

  • « IntlBreakIterator::following
  • IntlBreakIterator::getErrorMessage »
  • PHP Manual
  • IntlBreakIterator
  • Get last error code on the object

IntlBreakIterator::getErrorCode

intl_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::getErrorCode -- intl_get_error_code — Get last error code on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlBreakIterator::getErrorCode(): int

Yordamsal kullanım:

intl_get_error_code(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get last error message on the object

  • « IntlBreakIterator::getErrorCode
  • IntlBreakIterator::getLocale »
  • PHP Manual
  • IntlBreakIterator
  • Get last error message on the object

IntlBreakIterator::getErrorMessage

intl_get_error_message

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::getErrorMessage -- intl_get_error_message — Get last error message on the object

Açıklama

Nesne yönelimli kullanım (method):

public IntlBreakIterator::getErrorMessage(): string

Yordamsal kullanım:

intl_get_error_message(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the locale associated with the object

  • « IntlBreakIterator::getErrorMessage
  • IntlBreakIterator::getPartsIterator »
  • PHP Manual
  • IntlBreakIterator
  • Get the locale associated with the object

IntlBreakIterator::getLocale

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::getLocale — Get the locale associated with the object

Açıklama

public IntlBreakIterator::getLocale(int $type): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

type

Dönen Değerler


Create iterator for navigating fragments between boundaries

  • « IntlBreakIterator::getLocale
  • IntlBreakIterator::getText »
  • PHP Manual
  • IntlBreakIterator
  • Create iterator for navigating fragments between boundaries

IntlBreakIterator::getPartsIterator

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::getPartsIterator — Create iterator for navigating fragments between boundaries

Açıklama

public IntlBreakIterator::getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

type

Optional key type. Possible values are:

  • IntlPartsIterator::KEY_SEQUENTIAL - The default. Sequentially increasing integers used as key.
  • IntlPartsIterator::KEY_LEFT - Byte offset left of current part used as key.
  • IntlPartsIterator::KEY_RIGHT - Byte offset right of current part used as key.

Dönen Değerler


Get the text being scanned

  • « IntlBreakIterator::getPartsIterator
  • IntlBreakIterator::isBoundary »
  • PHP Manual
  • IntlBreakIterator
  • Get the text being scanned

IntlBreakIterator::getText

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::getText — Get the text being scanned

Açıklama

public IntlBreakIterator::getText(): ?string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Tell whether an offset is a boundary's offset

  • « IntlBreakIterator::getText
  • IntlBreakIterator::last »
  • PHP Manual
  • IntlBreakIterator
  • Tell whether an offset is a boundary's offset

IntlBreakIterator::isBoundary

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::isBoundary — Tell whether an offset is a boundary's offset

Açıklama

public IntlBreakIterator::isBoundary(int $offset): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

offset

Dönen Değerler


Set the iterator position to index beyond the last character

  • « IntlBreakIterator::isBoundary
  • IntlBreakIterator::next »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to index beyond the last character

IntlBreakIterator::last

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::last — Set the iterator position to index beyond the last character

Açıklama

public IntlBreakIterator::last(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Advance the iterator the next boundary

  • « IntlBreakIterator::last
  • IntlBreakIterator::preceding »
  • PHP Manual
  • IntlBreakIterator
  • Advance the iterator the next boundary

IntlBreakIterator::next

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::next — Advance the iterator the next boundary

Açıklama

public IntlBreakIterator::next(?int $offset = null): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

offset

Dönen Değerler


Set the iterator position to the first boundary before an offset

  • « IntlBreakIterator::next
  • IntlBreakIterator::previous »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to the first boundary before an offset

IntlBreakIterator::preceding

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::preceding — Set the iterator position to the first boundary before an offset

Açıklama

public IntlBreakIterator::preceding(int $offset): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

offset

Dönen Değerler


Set the iterator position to the boundary immediately before the current

  • « IntlBreakIterator::preceding
  • IntlBreakIterator::setText »
  • PHP Manual
  • IntlBreakIterator
  • Set the iterator position to the boundary immediately before the current

IntlBreakIterator::previous

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::previous — Set the iterator position to the boundary immediately before the current

Açıklama

public IntlBreakIterator::previous(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set the text being scanned

  • « IntlBreakIterator::previous
  • IntlRuleBasedBreakIterator »
  • PHP Manual
  • IntlBreakIterator
  • Set the text being scanned

IntlBreakIterator::setText

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlBreakIterator::setText — Set the text being scanned

Açıklama

public IntlBreakIterator::setText(string $text): ?bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

text

Dönen Değerler


The IntlRuleBasedBreakIterator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

A subclass of IntlBreakIterator that encapsulates ICU break iterators whose behavior is specified using a set of rules. This is the most common kind of break iterators.

These rules are described in the » ICU Boundary Analysis User Guide.

Sınıf Sözdizimi

class IntlRuleBasedBreakIterator extends IntlBreakIterator {
/* Miras alınan sabitler */
public const int IntlBreakIterator::DONE;
public const int IntlBreakIterator::WORD_NONE;
public const int IntlBreakIterator::WORD_NONE_LIMIT;
public const int IntlBreakIterator::WORD_NUMBER;
public const int IntlBreakIterator::WORD_NUMBER_LIMIT;
public const int IntlBreakIterator::WORD_LETTER;
public const int IntlBreakIterator::WORD_LETTER_LIMIT;
public const int IntlBreakIterator::WORD_KANA;
public const int IntlBreakIterator::WORD_KANA_LIMIT;
public const int IntlBreakIterator::WORD_IDEO;
public const int IntlBreakIterator::WORD_IDEO_LIMIT;
public const int IntlBreakIterator::LINE_SOFT;
public const int IntlBreakIterator::LINE_SOFT_LIMIT;
public const int IntlBreakIterator::LINE_HARD;
public const int IntlBreakIterator::LINE_HARD_LIMIT;
public const int IntlBreakIterator::SENTENCE_TERM;
public const int IntlBreakIterator::SENTENCE_TERM_LIMIT;
public const int IntlBreakIterator::SENTENCE_SEP;
public const int IntlBreakIterator::SENTENCE_SEP_LIMIT;
/* Yöntemler */
public __construct(string $rules, bool $compiled = false)
public getBinaryRules(): string|false
public getRules(): string|false
public getRuleStatus(): int
public getRuleStatusVec(): array|false
/* Miras alınan yöntemler */
public static IntlBreakIterator::createCharacterInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createCodePointInstance(): IntlCodePointBreakIterator
public static IntlBreakIterator::createLineInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createSentenceInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createTitleInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createWordInstance(?string $locale = null): ?IntlBreakIterator
public IntlBreakIterator::current(): int
public IntlBreakIterator::first(): int
public IntlBreakIterator::following(int $offset): int
public IntlBreakIterator::getErrorCode(): int
public IntlBreakIterator::getErrorMessage(): string
public IntlBreakIterator::getLocale(int $type): string|false
public IntlBreakIterator::getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator
public IntlBreakIterator::getText(): ?string
public IntlBreakIterator::isBoundary(int $offset): bool
public IntlBreakIterator::last(): int
public IntlBreakIterator::next(?int $offset = null): int
public IntlBreakIterator::preceding(int $offset): int
public IntlBreakIterator::previous(): int
public IntlBreakIterator::setText(string $text): ?bool
}

İçindekiler

  • IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset
  • IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules
  • IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object
  • IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position
  • IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position


Create iterator from ruleset

  • « IntlRuleBasedBreakIterator
  • IntlRuleBasedBreakIterator::getBinaryRules »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Create iterator from ruleset

IntlRuleBasedBreakIterator::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlRuleBasedBreakIterator::__construct — Create iterator from ruleset

Açıklama

public IntlRuleBasedBreakIterator::__construct(string $rules, bool $compiled = false)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

rules

compiled

Dönen Değerler


Get the binary form of compiled rules

  • « IntlRuleBasedBreakIterator::__construct
  • IntlRuleBasedBreakIterator::getRules »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the binary form of compiled rules

IntlRuleBasedBreakIterator::getBinaryRules

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlRuleBasedBreakIterator::getBinaryRules — Get the binary form of compiled rules

Açıklama

public IntlRuleBasedBreakIterator::getBinaryRules(): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the rule set used to create this object

  • « IntlRuleBasedBreakIterator::getBinaryRules
  • IntlRuleBasedBreakIterator::getRuleStatus »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the rule set used to create this object

IntlRuleBasedBreakIterator::getRules

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlRuleBasedBreakIterator::getRules — Get the rule set used to create this object

Açıklama

public IntlRuleBasedBreakIterator::getRules(): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the largest status value from the break rules that determined the current break position

  • « IntlRuleBasedBreakIterator::getRules
  • IntlRuleBasedBreakIterator::getRuleStatusVec »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the largest status value from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatus

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlRuleBasedBreakIterator::getRuleStatus — Get the largest status value from the break rules that determined the current break position

Açıklama

public IntlRuleBasedBreakIterator::getRuleStatus(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the status values from the break rules that determined the current break position

  • « IntlRuleBasedBreakIterator::getRuleStatus
  • IntlCodePointBreakIterator »
  • PHP Manual
  • IntlRuleBasedBreakIterator
  • Get the status values from the break rules that determined the current break position

IntlRuleBasedBreakIterator::getRuleStatusVec

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlRuleBasedBreakIterator::getRuleStatusVec — Get the status values from the break rules that determined the current break position

Açıklama

public IntlRuleBasedBreakIterator::getRuleStatusVec(): array|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The IntlCodePointBreakIterator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

This break iterator identifies the boundaries between UTF-8 code points.

Sınıf Sözdizimi

class IntlCodePointBreakIterator extends IntlBreakIterator {
/* Miras alınan sabitler */
public const int IntlBreakIterator::DONE;
public const int IntlBreakIterator::WORD_NONE;
public const int IntlBreakIterator::WORD_NONE_LIMIT;
public const int IntlBreakIterator::WORD_NUMBER;
public const int IntlBreakIterator::WORD_NUMBER_LIMIT;
public const int IntlBreakIterator::WORD_LETTER;
public const int IntlBreakIterator::WORD_LETTER_LIMIT;
public const int IntlBreakIterator::WORD_KANA;
public const int IntlBreakIterator::WORD_KANA_LIMIT;
public const int IntlBreakIterator::WORD_IDEO;
public const int IntlBreakIterator::WORD_IDEO_LIMIT;
public const int IntlBreakIterator::LINE_SOFT;
public const int IntlBreakIterator::LINE_SOFT_LIMIT;
public const int IntlBreakIterator::LINE_HARD;
public const int IntlBreakIterator::LINE_HARD_LIMIT;
public const int IntlBreakIterator::SENTENCE_TERM;
public const int IntlBreakIterator::SENTENCE_TERM_LIMIT;
public const int IntlBreakIterator::SENTENCE_SEP;
public const int IntlBreakIterator::SENTENCE_SEP_LIMIT;
/* Yöntemler */
public getLastCodePoint(): int
/* Miras alınan yöntemler */
public static IntlBreakIterator::createCharacterInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createCodePointInstance(): IntlCodePointBreakIterator
public static IntlBreakIterator::createLineInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createSentenceInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createTitleInstance(?string $locale = null): ?IntlBreakIterator
public static IntlBreakIterator::createWordInstance(?string $locale = null): ?IntlBreakIterator
public IntlBreakIterator::current(): int
public IntlBreakIterator::first(): int
public IntlBreakIterator::following(int $offset): int
public IntlBreakIterator::getErrorCode(): int
public IntlBreakIterator::getErrorMessage(): string
public IntlBreakIterator::getLocale(int $type): string|false
public IntlBreakIterator::getPartsIterator(string $type = IntlPartsIterator::KEY_SEQUENTIAL): IntlPartsIterator
public IntlBreakIterator::getText(): ?string
public IntlBreakIterator::isBoundary(int $offset): bool
public IntlBreakIterator::last(): int
public IntlBreakIterator::next(?int $offset = null): int
public IntlBreakIterator::preceding(int $offset): int
public IntlBreakIterator::previous(): int
public IntlBreakIterator::setText(string $text): ?bool
}

İçindekiler

  • IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator


Get last code point passed over after advancing or receding the iterator

  • « IntlCodePointBreakIterator
  • IntlDatePatternGenerator »
  • PHP Manual
  • IntlCodePointBreakIterator
  • Get last code point passed over after advancing or receding the iterator

IntlCodePointBreakIterator::getLastCodePoint

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlCodePointBreakIterator::getLastCodePoint — Get last code point passed over after advancing or receding the iterator

Açıklama

public IntlCodePointBreakIterator::getLastCodePoint(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The IntlDatePatternGenerator class

(PHP 8 >= 8.1.0)

Giriş

Generates localized date and/or time format pattern strings suitable for use in IntlDateFormatter.

Sınıf Sözdizimi

class IntlDatePatternGenerator {
/* Yöntemler */
public __construct(?string $locale = null)
public static create(?string $locale = null): ?IntlDatePatternGenerator
public getBestPattern(string $skeleton): string|false
}

İçindekiler

  • IntlDatePatternGenerator::create — Creates a new IntlDatePatternGenerator instance
  • IntlDatePatternGenerator::getBestPattern — Determines the most suitable date/time format


Creates a new IntlDatePatternGenerator instance

  • « IntlDatePatternGenerator
  • IntlDatePatternGenerator::getBestPattern »
  • PHP Manual
  • IntlDatePatternGenerator
  • Creates a new IntlDatePatternGenerator instance

IntlDatePatternGenerator::create

IntlDatePatternGenerator::__construct

(PHP 8 >= 8.1.0)

IntlDatePatternGenerator::create -- IntlDatePatternGenerator::__construct — Creates a new IntlDatePatternGenerator instance

Açıklama

public static IntlDatePatternGenerator::create(?string $locale = null): ?IntlDatePatternGenerator
public IntlDatePatternGenerator::__construct(?string $locale = null)

Creates a new IntlDatePatternGenerator instance.

Bağımsız Değişkenler

locale

The locale. If null is passed, uses the ini setting intl.default_locale.

Dönen Değerler

Returns an IntlDatePatternGenerator instance on success, or null on failure.


Determines the most suitable date/time format

  • « IntlDatePatternGenerator::create
  • IntlPartsIterator »
  • PHP Manual
  • IntlDatePatternGenerator
  • Determines the most suitable date/time format

IntlDatePatternGenerator::getBestPattern

(PHP 8 >= 8.1.0)

IntlDatePatternGenerator::getBestPattern — Determines the most suitable date/time format

Açıklama

public IntlDatePatternGenerator::getBestPattern(string $skeleton): string|false

Determines which date/time format is most suitable for a particular locale.

Bağımsız Değişkenler

skeleton

The skeleton.

Dönen Değerler

Returns a format, accepted by DateTimeInterface::format() on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 IntlDatePatternGenerator::getBestPattern() example

<?php

$skeleton = 'YYYYMMdd';
$today = \DateTimeImmutable::createFromFormat('Y-m-d', '2021-04-24');

$patternGenerator = new \IntlDatePatternGenerator('de_DE');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo 'de: ', \IntlDateFormatter::formatObject($today, $pattern, 'de_DE'), "\n";

$patternGenerator = new \IntlDatePatternGenerator('en_US');
$pattern = $patternGenerator->getBestPattern($skeleton);
echo 'en: ', \IntlDateFormatter::formatObject($today, $pattern, 'en_US');
?>

Yukarıdaki örneğin çıktısı:

de: 24.04.2021
en: 04/24/2021


The IntlPartsIterator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

Objects of this class can be obtained from IntlBreakIterator objects. While the break iterators provide a sequence of boundary positions when iterated, IntlPartsIterator objects provide, as a convenience, the text fragments comprehended between two successive boundaries.

The keys may represent the offset of the left boundary, right boundary, or they may just the sequence of non-negative integers. See IntlBreakIterator::getPartsIterator().

Sınıf Sözdizimi

class IntlPartsIterator extends IntlIterator {
/* Sabitler */
public const int KEY_SEQUENTIAL;
public const int KEY_LEFT;
public const int KEY_RIGHT;
/* Yöntemler */
public getBreakIterator(): IntlBreakIterator
/* Miras alınan yöntemler */
public IntlIterator::current(): mixed
public IntlIterator::key(): mixed
public IntlIterator::next(): void
public IntlIterator::rewind(): void
public IntlIterator::valid(): bool
}

Öntanımlı Sabitler

IntlPartsIterator::KEY_SEQUENTIAL

IntlPartsIterator::KEY_LEFT

IntlPartsIterator::KEY_RIGHT

İçindekiler

  • IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator


Get IntlBreakIterator backing this parts iterator

  • « IntlPartsIterator
  • UConverter »
  • PHP Manual
  • IntlPartsIterator
  • Get IntlBreakIterator backing this parts iterator

IntlPartsIterator::getBreakIterator

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlPartsIterator::getBreakIterator — Get IntlBreakIterator backing this parts iterator

Açıklama

public IntlPartsIterator::getBreakIterator(): IntlBreakIterator

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The UConverter class

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

Giriş

Sınıf Sözdizimi

class UConverter {
/* Sabitler */
public const int REASON_UNASSIGNED;
public const int REASON_ILLEGAL;
public const int REASON_IRREGULAR;
public const int REASON_RESET;
public const int REASON_CLOSE;
public const int REASON_CLONE;
public const int UNSUPPORTED_CONVERTER;
public const int SBCS;
public const int DBCS;
public const int MBCS;
public const int LATIN_1;
public const int UTF8;
public const int UTF16_BigEndian;
public const int UTF16_LittleEndian;
public const int UTF32_BigEndian;
public const int UTF32_LittleEndian;
public const int EBCDIC_STATEFUL;
public const int ISO_2022;
public const int LMBCS_1;
public const int LMBCS_2;
public const int LMBCS_3;
public const int LMBCS_4;
public const int LMBCS_5;
public const int LMBCS_6;
public const int LMBCS_8;
public const int LMBCS_11;
public const int LMBCS_16;
public const int LMBCS_17;
public const int LMBCS_18;
public const int LMBCS_19;
public const int LMBCS_LAST;
public const int HZ;
public const int SCSU;
public const int ISCII;
public const int US_ASCII;
public const int UTF7;
public const int BOCU1;
public const int UTF16;
public const int UTF32;
public const int CESU8;
public const int IMAP_MAILBOX;
/* Yöntemler */
public __construct(?string $destination_encoding = null, ?string $source_encoding = null)
public convert(string $str, bool $reverse = false): string|false
public fromUCallback(
int $reason,
array $source,
int $codePoint,
int &$error
): string|int|array|null
public static getAliases(string $name): array|false|null
public static getAvailable(): array
public getDestinationEncoding(): string|false|null
public getDestinationType(): int|false|null
public getErrorCode(): int
public getErrorMessage(): ?string
public getSourceEncoding(): string|false|null
public getSourceType(): int|false|null
public static getStandards(): ?array
public getSubstChars(): string|false|null
public static reasonText(int $reason): string
public setDestinationEncoding(string $encoding): bool
public setSourceEncoding(string $encoding): bool
public setSubstChars(string $chars): bool
public toUCallback(
int $reason,
string $source,
string $codeUnits,
int &$error
): string|int|array|null
public static transcode(
string $str,
string $toEncoding,
string $fromEncoding,
?array $options = null
): string|false
}

Öntanımlı Sabitler

UConverter::REASON_UNASSIGNED

UConverter::REASON_ILLEGAL

UConverter::REASON_IRREGULAR

UConverter::REASON_RESET

UConverter::REASON_CLOSE

UConverter::REASON_CLONE

UConverter::UNSUPPORTED_CONVERTER

UConverter::SBCS

UConverter::DBCS

UConverter::MBCS

UConverter::LATIN_1

UConverter::UTF8

UConverter::UTF16_BigEndian

UConverter::UTF16_LittleEndian

UConverter::UTF32_BigEndian

UConverter::UTF32_LittleEndian

UConverter::EBCDIC_STATEFUL

UConverter::ISO_2022

UConverter::LMBCS_1

UConverter::LMBCS_2

UConverter::LMBCS_3

UConverter::LMBCS_4

UConverter::LMBCS_5

UConverter::LMBCS_6

UConverter::LMBCS_8

UConverter::LMBCS_11

UConverter::LMBCS_16

UConverter::LMBCS_17

UConverter::LMBCS_18

UConverter::LMBCS_19

UConverter::LMBCS_LAST

UConverter::HZ

UConverter::SCSU

UConverter::ISCII

UConverter::US_ASCII

UConverter::UTF7

UConverter::BOCU1

UConverter::UTF16

UConverter::UTF32

UConverter::CESU8

UConverter::IMAP_MAILBOX

İçindekiler

  • UConverter::__construct — Create UConverter object
  • UConverter::convert — Convert string from one charset to another
  • UConverter::fromUCallback — Default "from" callback function
  • UConverter::getAliases — Get the aliases of the given name
  • UConverter::getAvailable — Get the available canonical converter names
  • UConverter::getDestinationEncoding — Get the destination encoding
  • UConverter::getDestinationType — Get the destination converter type
  • UConverter::getErrorCode — Get last error code on the object
  • UConverter::getErrorMessage — Get last error message on the object
  • UConverter::getSourceEncoding — Get the source encoding
  • UConverter::getSourceType — Get the source converter type
  • UConverter::getStandards — Get standards associated to converter names
  • UConverter::getSubstChars — Get substitution chars
  • UConverter::reasonText — Get string representation of the callback reason
  • UConverter::setDestinationEncoding — Set the destination encoding
  • UConverter::setSourceEncoding — Set the source encoding
  • UConverter::setSubstChars — Set the substitution chars
  • UConverter::toUCallback — Default "to" callback function
  • UConverter::transcode — Convert a string from one character encoding to another


Create UConverter object

  • « UConverter
  • UConverter::convert »
  • PHP Manual
  • UConverter
  • Create UConverter object

UConverter::__construct

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::__construct — Create UConverter object

Açıklama

public UConverter::__construct(?string $destination_encoding = null, ?string $source_encoding = null)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

destination_encoding

source_encoding

Dönen Değerler


Convert string from one charset to another

  • « UConverter::__construct
  • UConverter::fromUCallback »
  • PHP Manual
  • UConverter
  • Convert string from one charset to another

UConverter::convert

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::convert — Convert string from one charset to another

Açıklama

public UConverter::convert(string $str, bool $reverse = false): string|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

str

reverse

Dönen Değerler


Default "from" callback function

  • « UConverter::convert
  • UConverter::getAliases »
  • PHP Manual
  • UConverter
  • Default "from" callback function

UConverter::fromUCallback

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::fromUCallback — Default "from" callback function

Açıklama

public UConverter::fromUCallback(
int $reason,
array $source,
int $codePoint,
int &$error
): string|int|array|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

reason

source

codePoint

error

Dönen Değerler


Get the aliases of the given name

  • « UConverter::fromUCallback
  • UConverter::getAvailable »
  • PHP Manual
  • UConverter
  • Get the aliases of the given name

UConverter::getAliases

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getAliases — Get the aliases of the given name

Açıklama

public static UConverter::getAliases(string $name): array|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


Get the available canonical converter names

  • « UConverter::getAliases
  • UConverter::getDestinationEncoding »
  • PHP Manual
  • UConverter
  • Get the available canonical converter names

UConverter::getAvailable

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getAvailable — Get the available canonical converter names

Açıklama

public static UConverter::getAvailable(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the destination encoding

  • « UConverter::getAvailable
  • UConverter::getDestinationType »
  • PHP Manual
  • UConverter
  • Get the destination encoding

UConverter::getDestinationEncoding

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getDestinationEncoding — Get the destination encoding

Açıklama

public UConverter::getDestinationEncoding(): string|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the destination converter type

  • « UConverter::getDestinationEncoding
  • UConverter::getErrorCode »
  • PHP Manual
  • UConverter
  • Get the destination converter type

UConverter::getDestinationType

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getDestinationType — Get the destination converter type

Açıklama

public UConverter::getDestinationType(): int|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get last error code on the object

  • « UConverter::getDestinationType
  • UConverter::getErrorMessage »
  • PHP Manual
  • UConverter
  • Get last error code on the object

UConverter::getErrorCode

intl_get_error_code

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getErrorCode -- intl_get_error_code — Get last error code on the object

Açıklama

public UConverter::getErrorCode(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get last error message on the object

  • « UConverter::getErrorCode
  • UConverter::getSourceEncoding »
  • PHP Manual
  • UConverter
  • Get last error message on the object

UConverter::getErrorMessage

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getErrorMessage — Get last error message on the object

Açıklama

public UConverter::getErrorMessage(): ?string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the source encoding

  • « UConverter::getErrorMessage
  • UConverter::getSourceType »
  • PHP Manual
  • UConverter
  • Get the source encoding

UConverter::getSourceEncoding

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getSourceEncoding — Get the source encoding

Açıklama

public UConverter::getSourceEncoding(): string|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the source converter type

  • « UConverter::getSourceEncoding
  • UConverter::getStandards »
  • PHP Manual
  • UConverter
  • Get the source converter type

UConverter::getSourceType

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getSourceType — Get the source converter type

Açıklama

public UConverter::getSourceType(): int|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get standards associated to converter names

  • « UConverter::getSourceType
  • UConverter::getSubstChars »
  • PHP Manual
  • UConverter
  • Get standards associated to converter names

UConverter::getStandards

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getStandards — Get standards associated to converter names

Açıklama

public static UConverter::getStandards(): ?array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get substitution chars

  • « UConverter::getStandards
  • UConverter::reasonText »
  • PHP Manual
  • UConverter
  • Get substitution chars

UConverter::getSubstChars

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::getSubstChars — Get substitution chars

Açıklama

public UConverter::getSubstChars(): string|false|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get string representation of the callback reason

  • « UConverter::getSubstChars
  • UConverter::setDestinationEncoding »
  • PHP Manual
  • UConverter
  • Get string representation of the callback reason

UConverter::reasonText

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::reasonText — Get string representation of the callback reason

Açıklama

public static UConverter::reasonText(int $reason): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

reason

Dönen Değerler


Set the destination encoding

  • « UConverter::reasonText
  • UConverter::setSourceEncoding »
  • PHP Manual
  • UConverter
  • Set the destination encoding

UConverter::setDestinationEncoding

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::setDestinationEncoding — Set the destination encoding

Açıklama

public UConverter::setDestinationEncoding(string $encoding): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

encoding

Dönen Değerler


Set the source encoding

  • « UConverter::setDestinationEncoding
  • UConverter::setSubstChars »
  • PHP Manual
  • UConverter
  • Set the source encoding

UConverter::setSourceEncoding

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::setSourceEncoding — Set the source encoding

Açıklama

public UConverter::setSourceEncoding(string $encoding): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

encoding

Dönen Değerler


Set the substitution chars

  • « UConverter::setSourceEncoding
  • UConverter::toUCallback »
  • PHP Manual
  • UConverter
  • Set the substitution chars

UConverter::setSubstChars

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::setSubstChars — Set the substitution chars

Açıklama

public UConverter::setSubstChars(string $chars): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

chars

Dönen Değerler


Default "to" callback function

  • « UConverter::setSubstChars
  • UConverter::transcode »
  • PHP Manual
  • UConverter
  • Default "to" callback function

UConverter::toUCallback

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::toUCallback — Default "to" callback function

Açıklama

public UConverter::toUCallback(
int $reason,
string $source,
string $codeUnits,
int &$error
): string|int|array|null

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

reason

source

codeUnits

error

Dönen Değerler


Convert a string from one character encoding to another

  • « UConverter::toUCallback
  • Grapheme (Sesletim Kümeleri) İşlevleri »
  • PHP Manual
  • UConverter
  • Convert a string from one character encoding to another

UConverter::transcode

(PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL >= 3.0.0a1)

UConverter::transcode — Convert a string from one character encoding to another

Açıklama

public static UConverter::transcode(
string $str,
string $toEncoding,
string $fromEncoding,
?array $options = null
): string|false

Converts str from fromEncoding to toEncoding.

Bağımsız Değişkenler

str

The string to be converted.

toEncoding

The desired encoding of the result.

fromEncoding

The current encoding used to interpret str.

options

An optional array, which may contain the following keys:

  • 'to_subst' - the substitution character to use in place of any character of str which cannot be encoded in toEncoding. If specified, it must represent a single character in the target encoding.

Dönen Değerler

Returns the converted string başarısızlık durumunda false döner.

Örnekler

Örnek 1 Converting from UTF-8 to UTF-16 and back

<?php
$utf8_string = "\x5A\x6F\xC3\xAB"; // 'Zoë' in UTF-8
$utf16_string = UConverter::transcode($utf8_string, 'UTF-16BE', 'UTF-8');
echo bin2hex($utf16_string), "\n";

$new_utf8_string = UConverter::transcode($utf16_string, 'UTF-8', 'UTF-16BE');
echo bin2hex($new_utf8_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

005a006f00eb
5a6fc3ab

Örnek 2 Invalid characters in input

If the input string contains a sequence of bytes which is not valid in the encoding specified by fromEncoding, they are replaced by Unicode code point U+FFFD (Replacement Character) before converting to toEncoding.

<?php
$invalid_utf8_string = "\xC3"; // incomplete multi-byte UTF-8 sequence
$utf16_string = UConverter::transcode($invalid_utf8_string, 'UTF-16BE', 'UTF-8');
echo bin2hex($utf16_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

fffd

Örnek 3 Characters which cannot be encoded

If the input string contains characters which cannot be represented in toEncoding, they are replaced with a single character. The default character to use depends on the encoding, and can be controlled using the 'to_subst' option.

<?php
$utf8_string = "\xE2\x82\xAC"; // € (Euro Sign) does not exist in ISO 8859-1

// Default replacement in ISO 8859-1 is "\x1A" (Substitute)
$iso8859_1_string = UConverter::transcode($utf8_string, 'ISO-8859-1', 'UTF-8');
echo bin2hex($iso8859_1_string), "\n";

// Specify a replacement of '?' ("\x3F") instead
$iso8859_1_string = UConverter::transcode(
$utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
echo bin2hex($iso8859_1_string), "\n";

// Since ISO 8859-1 cannot map U+FFFD, invalid input is also replaced by to_subst
$invalid_utf8_string = "\xC3"; // incomplete multi-byte UTF-8 sequence
$iso8859_1_string = UConverter::transcode(
$invalid_utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
echo bin2hex($iso8859_1_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

1a
3f
3f

Ayrıca Bakınız

  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


Grapheme (Sesletim Kümeleri) İşlevleri

İçindekiler

  • grapheme_extract — UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür
  • grapheme_stripos — Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_stristr — Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_strlen — Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
  • grapheme_strpos — Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strripos — Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strrpos — Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr — Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_substr — Bir alt dizge döndürür


UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür

  • « Grapheme (Sesletim Kümeleri) İşlevleri
  • grapheme_stripos »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür

grapheme_extract

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_extract — UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür

Açıklama

Yordamsal kullanım

grapheme_extract(
string $samanlık,
int $boyut,
int $tür = GRAPHEME_EXTR_COUNT,
int $başlangıç = 0,
int &$sonraki = null
): string

UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

boyut

Döndürülecek azami tür sayısı.

tür

boyut bağımsız değişkenini oluşturacak tür:

  • GRAPHEME_EXTR_COUNT (öntanımlı) - boyut, döndürülecek öntanımlı sesletim kümesi sayısıdır.
  • GRAPHEME_EXTR_MAXBYTES - boyut, döndürülecek azami bayt sayısıdır.
  • GRAPHEME_EXTR_MAXCHARS - boyut, döndürülecek UTF-8 karakterlerin azami sayısıdır.
başlangıç

Bayt cinsinden aramanın başlatılacağı konum. Belirtildiği takdirde, sıfır veya samanlık uzunluğuna eşit veya daha küçük bir tamsayı olmalıdır. Negatif değerler samanlık'ın sonundan itibarten sayılır. başlangıç bir UTF-8 karakterin ilk baytı değilse, sonraki karakterin ilk baytına taşınır.

sonraki

Sonraki aramanın başlangıç konumu. Çağrı sonunda dönen dizgenin son karakterinden sonraki ilk baytın konumu olacaktır.

Dönen Değerler

Belirtilen başlangıç konumunda başlayıp, boyut ve tür bağımsız değişkenlerine göre uzunluğu belirlenen bir öntanımlı sesletim kümesini içeren bir dizge ile döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | başlangıç artık negatif olabiliyor.

Örnekler

Örnek 1 - grapheme_extract() örneği

<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print urlencode(grapheme_extract( $char_a_ring_nfd . $char_o_diaeresis_nfd, 1,
GRAPHEME_EXTR_COUNT, 2));

?>

Yukarıdaki örneğin çıktısı:

o%CC%88

Ayrıca Bakınız

  • grapheme_substr() - Bir alt dizge döndürür
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur

  • « grapheme_extract
  • grapheme_stristr »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur

grapheme_stripos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_stripos — Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur

Açıklama

Yordamsal kullanım

grapheme_stripos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

başlangıç

samanlık içinde aramanın başlatılacağı yeri belirten isteğe bağlı bağımsız değişken. Konum, bayt veya karakter değil, sesletim birimi cinsinden belirtilmelidir. Belirtilmezse sıfır öntanımlıdır. Döndürülen konum, belirtilen başlangıç konumuna göre değil, samanlık dizgesinin başlangıcına göredir. Negatif başlangıç samanlık dizgesinin sonundan itibaren sayılır.

Dönen Değerler

Konumu bir tamsayı olarak döndürür. iğne bulunamazsa işlev false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | başlangıç artık negatif olabiliyor.

Örnekler

Örnek 1 - grapheme_stripos() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'Ö' (U+00D6) normalleştirme biçimi "D"

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd .
$char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Yukarıdaki örneğin çıktısı:

2

Ayrıca Bakınız

  • grapheme_stristr() - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_strpos() - Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strripos() - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strrpos() - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr() - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

  • « grapheme_stripos
  • grapheme_strlen »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

grapheme_stristr

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_stristr — Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

Açıklama

Yordamsal kullanım

grapheme_stristr(string $samanlık, string $iğne, bool $ilk_parça = false): string|false

Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

ilk_parça

true ise iğne'nin bulunduğu ilk konuma göre samanlık dizgesinin ilk parçası döner (iğne dahil).

Dönen Değerler

iğne bulunamazsa false, aksi takdirde samanlık parçası ile döner.

Örnekler

Örnek 1 - grapheme_stristr() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'Ö' (U+00D6) normalleştirme biçimi "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd .
$char_a_ring_nfd, $char_O_diaeresis_nfd));

?>

Yukarıdaki örneğin çıktısı:

o%CC%88a%CC%8A

Ayrıca Bakınız

  • grapheme_stripos() - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strpos() - Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strripos() - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strrpos() - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr() - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Dizgenin sesletim birimi cinsinden uzunluğunu döndürür

  • « grapheme_stristr
  • grapheme_strpos »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Dizgenin sesletim birimi cinsinden uzunluğunu döndürür

grapheme_strlen

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strlen — Dizgenin sesletim birimi cinsinden uzunluğunu döndürür

Açıklama

Yordamsal kullanım

grapheme_strlen(string $dizge): int|false|null

Dizgenin sesletim birimi (bayt veya karakter değil) cinsinden uzunluğunu döndürür.

Bağımsız Değişkenler

dizge

Uzunluğu sesletim birimi cinsinden ölçülecek dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

Dönen Değerler

Dizge boşsa 0, değilse dizgenin uzunluğu, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - grapheme_strlen() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print grapheme_strlen( 'abc' . $char_a_ring_nfd . $char_o_diaeresis_nfd .
$char_a_ring_nfd);

?>

Yukarıdaki örneğin çıktısı:

6

Ayrıca Bakınız

  • » Unicode Text Segmentation: Grapheme Cluster Boundaries
  • iconv_strlen() - Dizgenin karakter sayısı ile döner
  • mb_strlen() - Dizge uzunluğu ile döner
  • strlen() - Dizge uzunluğunu döndürür


Bir dizgede ilk sesletim biriminin yerini bulur

  • « grapheme_strlen
  • grapheme_strripos »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Bir dizgede ilk sesletim biriminin yerini bulur

grapheme_strpos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strpos — Bir dizgede ilk sesletim biriminin yerini bulur

Açıklama

Yordamsal kullanım

grapheme_strpos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

Bir dizgede ilk sesletim biriminin yerini bulur.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

başlangıç

samanlık içinde aramanın başlatılacağı yeri belirten isteğe bağlı bağımsız değişken. Konum, bayt veya karakter değil, sesletim birimi cinsinden belirtilmelidir. Belirtilmezse sıfır öntanımlıdır. Döndürülen konum, belirtilen başlangıç konumuna göre değil, samanlık dizgesinin başlangıcına göredir. Negatif başlangıç samanlık dizgesinin sonundan itibaren sayılır.

Dönen Değerler

Konumu bir tamsayı olarak döndürür. iğne bulunamazsa işlev false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | başlangıç artık negatif olabiliyor.

Örnekler

Örnek 1 - grapheme_strpos() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print grapheme_strpos( $char_a_ring_nfd . $char_a_ring_nfd .
$char_o_diaeresis_nfd, $char_o_diaeresis_nfd);

?>

Yukarıdaki örneğin çıktısı:

2

Ayrıca Bakınız

  • grapheme_stripos() - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_stristr() - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_strripos() - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strrpos() - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr() - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur

  • « grapheme_strpos
  • grapheme_strrpos »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur

grapheme_strripos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strripos — Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur

Açıklama

Yordamsal kullanım

grapheme_strripos(string $samanlık, string $iğne, int $konum = 0): int|false

Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

başlangıç

samanlık içinde aramanın başlatılacağı yeri belirten isteğe bağlı bağımsız değişken. Konum, bayt veya karakter değil, sesletim birimi cinsinden belirtilmelidir. Döndürülen konum, belirtilen başlangıç konumuna göre değil, samanlık dizgesinin başlangıcına göredir.

Dönen Değerler

Konumu bir tamsayı olarak döndürür. iğne bulunamazsa işlev false döndürür.

Örnekler

Örnek 1 - grapheme_strripos() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"
$char_O_diaeresis_nfd = "O\xCC\x88"; // 'Ö' (U+00D6) normalleştirme biçimi "D"

print grapheme_strripos( $char_a_ring_nfd . $char_o_diaeresis_nfd .
$char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

Yukarıdaki örneğin çıktısı:

2

Ayrıca Bakınız

  • grapheme_stripos() - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_stristr() - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_strpos() - Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strrpos() - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr() - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Bir dizgedeki sonuncu sesletim biriminin yerini bulur

  • « grapheme_strripos
  • grapheme_strstr »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Bir dizgedeki sonuncu sesletim biriminin yerini bulur

grapheme_strrpos

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strrpos — Bir dizgedeki sonuncu sesletim biriminin yerini bulur

Açıklama

Yordamsal kullanım

grapheme_strrpos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

Bir dizgedeki sonuncu sesletim biriminin yerini bulur.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

başlangıç

samanlık içinde aramanın başlatılacağı yeri belirten isteğe bağlı bağımsız değişken. Konum, bayt veya karakter değil, sesletim birimi cinsinden belirtilmelidir. Döndürülen konum, belirtilen başlangıç konumuna göre değil, samanlık dizgesinin başlangıcına göredir.

Dönen Değerler

Konumu bir tamsayı olarak döndürür. iğne bulunamazsa işlev false döndürür.

Örnekler

Örnek 1 - grapheme_strrpos() örneği

<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print grapheme_strrpos( $char_a_ring_nfd . $char_o_diaeresis_nfd .
$char_o_diaeresis_nfd, $char_o_diaeresis_nfd);
?>

Yukarıdaki örneğin çıktısı:

2

Ayrıca Bakınız

  • grapheme_stripos() - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_stristr() - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_strpos() - Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strripos() - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strstr() - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

  • « grapheme_strrpos
  • grapheme_substr »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

grapheme_strstr

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_strstr — Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner

Açıklama

Yordamsal kullanım

grapheme_strstr(string $samanlık, string $iğne, bool $ilk_parça = false): string|false

Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner (iğne dahil).

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

iğne

Aranacak dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

ilk_parça

true ise iğne'nin bulunduğu ilk konuma göre samanlık dizgesinin ilk parçası döner (iğne dahil).

Dönen Değerler

iğne bulunamazsa false, aksi takdirde samanlık parçası ile döner.

Örnekler

Örnek 1 - grapheme_strstr() örneği

<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print urlencode(grapheme_stristr( $char_a_ring_nfd . $char_o_diaeresis_nfd .
$char_a_ring_nfd, $char_o_diaeresis_nfd));
?>

Yukarıdaki örneğin çıktısı:

o%CC%88a%CC%8A

Ayrıca Bakınız

  • grapheme_stristr() - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
  • grapheme_stripos() - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strpos() - Bir dizgede ilk sesletim biriminin yerini bulur
  • grapheme_strripos() - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • grapheme_strrpos() - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


Bir alt dizge döndürür

  • « grapheme_strstr
  • IDN İşlevleri »
  • PHP Manual
  • Grapheme (Sesletim Kümeleri) İşlevleri
  • Bir alt dizge döndürür

grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_substr — Bir alt dizge döndürür

Açıklama

Yordamsal kullanım

grapheme_substr(string $dizge, int $başlangıç, ?int $uzunluk = null): string|false

Bir alt dizge döndürür.

Bağımsız Değişkenler

dizge

Aramanın yapılacağı dizge. Geçerli bir UTF-8 dizgesi olmalıdır.

başlangıç

Sesletim birimi cinsinden döndürülecek dizgenin başlangıç konumu. başlangıç negatifse, dönen dizgenin başlangıç konumu dizge'nin sonundan itibaren sayılır, değilse dizge'nin başlangıcından itibaren sıfırdan başlayarak sayılır.

uzunluk

Sesletim birimi cinsinden döndürülecek dizgenin uzunluğu. Eğer uzunluk pozitifse, dizgenin başından itibaren başlangıç'ıncı konumdan başlayan (dizgenin uzunluğuna bağlı olarak) en fazla uzunluk sayıda sesletim birimi döner. Eğer dizge, başlangıç sayıda sesletim birimi içermiyorsa veya ancak bu kadar sesletim birimi içeriyorsa işlev false döndürür. Eğer uzunluk negatifse, döndürülecek dizgenin son sesletim birimi, dizgenin sonundan itibaren uzunluk'uncu sesletim birimi olur. Eğer başlangıç da negatifse, dizgenin sonundan itibaren önce başlangıç birim sayılıp döndürülecek dizgenin son sesletim birimine ulaşılır sonra da bu konumdan itibaren sayılan uzunluk'uncu birim döndürülecek dizgenin ilk sesletim birimi olur.

Dönen Değerler

Bir dizge parçası, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev artık sınır dışı başlangıçları daima dizge sınırına kenetliyor. Evvelce, bazı durumlarda false yerine boş dizge dönerdi.

Örnekler

Örnek 1 - grapheme_substr() örneği

<?php

$char_a_ring_nfd = "a\xCC\x8A"; // 'å' (U+00E5) normalleştirme biçimi "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'ö' (U+00F6) normalleştirme biçimi "D"

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" .
$char_o_diaeresis_nfd . "O", 2, -1 ));
?>

Yukarıdaki örneğin çıktısı:

a%CC%8Abco%CC%88

Ayrıca Bakınız

  • grapheme_extract() - UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür
  • » Unicode Text Segmentation: Grapheme Cluster Boundaries


IDN İşlevleri

İçindekiler

  • idn_to_ascii — Alan adını IDNA ASCII biçimine dönüştürür
  • idn_to_utf8 — Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür


Alan adını IDNA ASCII biçimine dönüştürür

  • « IDN İşlevleri
  • idn_to_utf8 »
  • PHP Manual
  • IDN İşlevleri
  • Alan adını IDNA ASCII biçimine dönüştürür

idn_to_ascii

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_ascii — Alan adını IDNA ASCII biçimine dönüştürür

Açıklama

Yordamsal kullanım

idn_to_ascii(
string $alan,
int $seçenekler = IDNA_DEFAULT,
int $varyant = INTL_IDNA_VARIANT_UTS46,
array &$idna_info = null
): string|false

Unicode alan adını IDNA ASCII kodlu alan adına dönüştürür.

Bağımsız Değişkenler

alan

Dönüştürülecek alan adı. UTF-8 kodlu olmalıdır.

seçenekler

IDNA_* sabitlerinden oluşan dönüşüm seçenekleri. (IDNA_ERROR_* sabitleri hariç)

varyant

Ya IDNA 2003 için INTL_IDNA_VARIANT_2003 (kullanımı PHP 7.2.0 itibariyle önerilmiyor) ya da UTS #46 için INTL_IDNA_VARIANT_UTS46 (sadece ICU 4.6 ve üstü ile kullanılabilir).

idna_info

Bu bağımsız değişken sadece varyant için INTL_IDNA_VARIANT_UTS46 kullanılmışsa kullanılabilir. Bu durumda, muhtemelen meşru olmayan bir dönüşümün sonucu olarak 'result', sonucu değiştirmiş ya da değiştirecek olan UTS #46'nın geçiş mekanizmalarının kullanımının değişip değişmediğini gösteren bir mantıksal değer olarak 'isTransitionalDifferent' ve IDNA_ERROR_* hata sabitlerinin bir bit kümesini temsil eden birer tamsayı olarak 'errors' anahtarlı bir dizi ile doldurulur.

Dönen Değerler

ASCII uyumlu kodlanmış alan adı, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | varyant bağımsız değişkeninin öntanımlısı artık INTL_IDNA_VARIANT_UTS46 oldu; evvelce INTL_IDNA_VARIANT_2003 idi ve kulllanımı önerilmiyordu.
7.2.0 | INTL_IDNA_VARIANT_2003 sabitinin kulllanımı artık önerilmiyor; yerine INTL_IDNA_VARIANT_UTS46 kullanılmalıdır.

Örnekler

Örnek 1 - idn_to_ascii() örneği

<?php

echo idn_to_ascii('täst.de');

?>

Yukarıdaki örneğin çıktısı:

xn--tst-qla.de

Ayrıca Bakınız

  • idn_to_utf8() - Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür


Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür

  • « idn_to_ascii
  • IntlChar »
  • PHP Manual
  • IDN İşlevleri
  • Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür

idn_to_utf8

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.2, PECL idn >= 0.1)

idn_to_utf8 — Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür

Açıklama

Yordamsal kullanım

idn_to_utf8(
string $alan,
int $seçenekler = IDNA_DEFAULT,
int $varyant = INTL_IDNA_VARIANT_UTS46,
array &$idna_info = null
): string|false

Belirtilen IDNA ASCII kodlamalı Unicode alan adını normal UTF-8 kodlamalı alan adına dönüştürür.

Bağımsız Değişkenler

alan

Kodlaması UTF-8'e dönüştürülecek IDNA ASCII kodlu alan adı.

seçenekler

IDNA_* sabitlerinden oluşan dönüşüm seçenekleri. (IDNA_ERROR_* sabitleri hariç)

varyant

Ya IDNA 2003 için INTL_IDNA_VARIANT_2003 (kullanımı PHP 7.2.0 itibariyle önerilmiyor) ya da UTS #46 için INTL_IDNA_VARIANT_UTS46 (sadece ICU 4.6 ve üstü ile kullanılabilir).

idna_info

Bu bağımsız değişken sadece varyant için INTL_IDNA_VARIANT_UTS46 kullanılmışsa kullanılabilir. Bu durumda, muhtemelen meşru olmayan bir dönüşümün sonucu olarak 'result', sonucu değiştirmiş ya da değiştirecek olan UTS #46'nın geçiş mekanizmalarının kullanımının değişip değişmediğini gösteren bir mantıksal değer olarak 'isTransitionalDifferent' ve IDNA_ERROR_* hata sabitlerinin bir bit kümesini temsil eden birer tamsayı olarak 'errors' anahtarlı bir dizi ile doldurulur.

Dönen Değerler

UTF-8 kodlu alan adı, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | varyant bağımsız değişkeninin öntanımlısı artık INTL_IDNA_VARIANT_UTS46 oldu; evvelce INTL_IDNA_VARIANT_2003 idi ve kulllanımı önerilmiyordu.
7.2.0 | INTL_IDNA_VARIANT_2003 sabitinin kulllanımı artık önerilmiyor; yerine INTL_IDNA_VARIANT_UTS46 kullanılmalıdır.

Örnekler

Örnek 1 - idn_to_utf8() örneği

<?php

echo idn_to_utf8('xn--tst-qla.de');

?>

Yukarıdaki örneğin çıktısı:

täst.de

Ayrıca Bakınız

  • idn_to_ascii() - Alan adını IDNA ASCII biçimine dönüştürür


IntlChar

(PHP 7, PHP 8)

Giriş

IntlChar provides access to a number of utility methods that can be used to access information about Unicode characters.

The methods and constants adhere closely to the names and behavior used by the underlying ICU library.

Sınıf Sözdizimi

class IntlChar {
/* Sabitler */
public const string UNICODE_VERSION;
public const int CODEPOINT_MIN;
public const int CODEPOINT_MAX;
public const float NO_NUMERIC_VALUE;
public const int PROPERTY_ALPHABETIC;
public const int PROPERTY_BINARY_START;
public const int PROPERTY_ASCII_HEX_DIGIT;
public const int PROPERTY_BIDI_CONTROL;
public const int PROPERTY_BIDI_MIRRORED;
public const int PROPERTY_DASH;
public const int PROPERTY_DEFAULT_IGNORABLE_CODE_POINT;
public const int PROPERTY_DEPRECATED;
public const int PROPERTY_DIACRITIC;
public const int PROPERTY_EXTENDER;
public const int PROPERTY_FULL_COMPOSITION_EXCLUSION;
public const int PROPERTY_GRAPHEME_BASE;
public const int PROPERTY_GRAPHEME_EXTEND;
public const int PROPERTY_GRAPHEME_LINK;
public const int PROPERTY_HEX_DIGIT;
public const int PROPERTY_HYPHEN;
public const int PROPERTY_ID_CONTINUE;
public const int PROPERTY_ID_START;
public const int PROPERTY_IDEOGRAPHIC;
public const int PROPERTY_IDS_BINARY_OPERATOR;
public const int PROPERTY_IDS_TRINARY_OPERATOR;
public const int PROPERTY_JOIN_CONTROL;
public const int PROPERTY_LOGICAL_ORDER_EXCEPTION;
public const int PROPERTY_LOWERCASE;
public const int PROPERTY_MATH;
public const int PROPERTY_NONCHARACTER_CODE_POINT;
public const int PROPERTY_QUOTATION_MARK;
public const int PROPERTY_RADICAL;
public const int PROPERTY_SOFT_DOTTED;
public const int PROPERTY_TERMINAL_PUNCTUATION;
public const int PROPERTY_UNIFIED_IDEOGRAPH;
public const int PROPERTY_UPPERCASE;
public const int PROPERTY_WHITE_SPACE;
public const int PROPERTY_XID_CONTINUE;
public const int PROPERTY_XID_START;
public const int PROPERTY_CASE_SENSITIVE;
public const int PROPERTY_S_TERM;
public const int PROPERTY_VARIATION_SELECTOR;
public const int PROPERTY_NFD_INERT;
public const int PROPERTY_NFKD_INERT;
public const int PROPERTY_NFC_INERT;
public const int PROPERTY_NFKC_INERT;
public const int PROPERTY_SEGMENT_STARTER;
public const int PROPERTY_PATTERN_SYNTAX;
public const int PROPERTY_PATTERN_WHITE_SPACE;
public const int PROPERTY_POSIX_ALNUM;
public const int PROPERTY_POSIX_BLANK;
public const int PROPERTY_POSIX_GRAPH;
public const int PROPERTY_POSIX_PRINT;
public const int PROPERTY_POSIX_XDIGIT;
public const int PROPERTY_CASED;
public const int PROPERTY_CASE_IGNORABLE;
public const int PROPERTY_CHANGES_WHEN_LOWERCASED;
public const int PROPERTY_CHANGES_WHEN_UPPERCASED;
public const int PROPERTY_CHANGES_WHEN_TITLECASED;
public const int PROPERTY_CHANGES_WHEN_CASEFOLDED;
public const int PROPERTY_CHANGES_WHEN_CASEMAPPED;
public const int PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED;
public const int PROPERTY_BINARY_LIMIT;
public const int PROPERTY_BIDI_CLASS;
public const int PROPERTY_INT_START;
public const int PROPERTY_BLOCK;
public const int PROPERTY_CANONICAL_COMBINING_CLASS;
public const int PROPERTY_DECOMPOSITION_TYPE;
public const int PROPERTY_EAST_ASIAN_WIDTH;
public const int PROPERTY_GENERAL_CATEGORY;
public const int PROPERTY_JOINING_GROUP;
public const int PROPERTY_JOINING_TYPE;
public const int PROPERTY_LINE_BREAK;
public const int PROPERTY_NUMERIC_TYPE;
public const int PROPERTY_SCRIPT;
public const int PROPERTY_HANGUL_SYLLABLE_TYPE;
public const int PROPERTY_NFD_QUICK_CHECK;
public const int PROPERTY_NFKD_QUICK_CHECK;
public const int PROPERTY_NFC_QUICK_CHECK;
public const int PROPERTY_NFKC_QUICK_CHECK;
public const int PROPERTY_LEAD_CANONICAL_COMBINING_CLASS;
public const int PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS;
public const int PROPERTY_GRAPHEME_CLUSTER_BREAK;
public const int PROPERTY_SENTENCE_BREAK;
public const int PROPERTY_WORD_BREAK;
public const int PROPERTY_BIDI_PAIRED_BRACKET_TYPE;
public const int PROPERTY_INT_LIMIT;
public const int PROPERTY_GENERAL_CATEGORY_MASK;
public const int PROPERTY_MASK_START;
public const int PROPERTY_MASK_LIMIT;
public const int PROPERTY_NUMERIC_VALUE;
public const int PROPERTY_DOUBLE_START;
public const int PROPERTY_DOUBLE_LIMIT;
public const int PROPERTY_AGE;
public const int PROPERTY_STRING_START;
public const int PROPERTY_BIDI_MIRRORING_GLYPH;
public const int PROPERTY_CASE_FOLDING;
public const int PROPERTY_ISO_COMMENT;
public const int PROPERTY_LOWERCASE_MAPPING;
public const int PROPERTY_NAME;
public const int PROPERTY_SIMPLE_CASE_FOLDING;
public const int PROPERTY_SIMPLE_LOWERCASE_MAPPING;
public const int PROPERTY_SIMPLE_TITLECASE_MAPPING;
public const int PROPERTY_SIMPLE_UPPERCASE_MAPPING;
public const int PROPERTY_TITLECASE_MAPPING;
public const int PROPERTY_UNICODE_1_NAME;
public const int PROPERTY_UPPERCASE_MAPPING;
public const int PROPERTY_BIDI_PAIRED_BRACKET;
public const int PROPERTY_STRING_LIMIT;
public const int PROPERTY_SCRIPT_EXTENSIONS;
public const int PROPERTY_OTHER_PROPERTY_START;
public const int PROPERTY_OTHER_PROPERTY_LIMIT;
public const int PROPERTY_INVALID_CODE;
public const int CHAR_CATEGORY_UNASSIGNED;
public const int CHAR_CATEGORY_GENERAL_OTHER_TYPES;
public const int CHAR_CATEGORY_UPPERCASE_LETTER;
public const int CHAR_CATEGORY_LOWERCASE_LETTER;
public const int CHAR_CATEGORY_TITLECASE_LETTER;
public const int CHAR_CATEGORY_MODIFIER_LETTER;
public const int CHAR_CATEGORY_OTHER_LETTER;
public const int CHAR_CATEGORY_NON_SPACING_MARK;
public const int CHAR_CATEGORY_ENCLOSING_MARK;
public const int CHAR_CATEGORY_COMBINING_SPACING_MARK;
public const int CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER;
public const int CHAR_CATEGORY_LETTER_NUMBER;
public const int CHAR_CATEGORY_OTHER_NUMBER;
public const int CHAR_CATEGORY_SPACE_SEPARATOR;
public const int CHAR_CATEGORY_LINE_SEPARATOR;
public const int CHAR_CATEGORY_PARAGRAPH_SEPARATOR;
public const int CHAR_CATEGORY_CONTROL_CHAR;
public const int CHAR_CATEGORY_FORMAT_CHAR;
public const int CHAR_CATEGORY_PRIVATE_USE_CHAR;
public const int CHAR_CATEGORY_SURROGATE;
public const int CHAR_CATEGORY_DASH_PUNCTUATION;
public const int CHAR_CATEGORY_START_PUNCTUATION;
public const int CHAR_CATEGORY_END_PUNCTUATION;
public const int CHAR_CATEGORY_CONNECTOR_PUNCTUATION;
public const int CHAR_CATEGORY_OTHER_PUNCTUATION;
public const int CHAR_CATEGORY_MATH_SYMBOL;
public const int CHAR_CATEGORY_CURRENCY_SYMBOL;
public const int CHAR_CATEGORY_MODIFIER_SYMBOL;
public const int CHAR_CATEGORY_OTHER_SYMBOL;
public const int CHAR_CATEGORY_INITIAL_PUNCTUATION;
public const int CHAR_CATEGORY_FINAL_PUNCTUATION;
public const int CHAR_CATEGORY_CHAR_CATEGORY_COUNT;
public const int CHAR_DIRECTION_LEFT_TO_RIGHT;
public const int CHAR_DIRECTION_RIGHT_TO_LEFT;
public const int CHAR_DIRECTION_EUROPEAN_NUMBER;
public const int CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR;
public const int CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR;
public const int CHAR_DIRECTION_ARABIC_NUMBER;
public const int CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR;
public const int CHAR_DIRECTION_BLOCK_SEPARATOR;
public const int CHAR_DIRECTION_SEGMENT_SEPARATOR;
public const int CHAR_DIRECTION_WHITE_SPACE_NEUTRAL;
public const int CHAR_DIRECTION_OTHER_NEUTRAL;
public const int CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING;
public const int CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE;
public const int CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC;
public const int CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING;
public const int CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE;
public const int CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT;
public const int CHAR_DIRECTION_DIR_NON_SPACING_MARK;
public const int CHAR_DIRECTION_BOUNDARY_NEUTRAL;
public const int CHAR_DIRECTION_FIRST_STRONG_ISOLATE;
public const int CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE;
public const int CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE;
public const int CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE;
public const int CHAR_DIRECTION_CHAR_DIRECTION_COUNT;
public const int BLOCK_CODE_NO_BLOCK;
public const int BLOCK_CODE_BASIC_LATIN;
public const int BLOCK_CODE_LATIN_1_SUPPLEMENT;
public const int BLOCK_CODE_LATIN_EXTENDED_A;
public const int BLOCK_CODE_LATIN_EXTENDED_B;
public const int BLOCK_CODE_IPA_EXTENSIONS;
public const int BLOCK_CODE_SPACING_MODIFIER_LETTERS;
public const int BLOCK_CODE_COMBINING_DIACRITICAL_MARKS;
public const int BLOCK_CODE_GREEK;
public const int BLOCK_CODE_CYRILLIC;
public const int BLOCK_CODE_ARMENIAN;
public const int BLOCK_CODE_HEBREW;
public const int BLOCK_CODE_ARABIC;
public const int BLOCK_CODE_SYRIAC;
public const int BLOCK_CODE_THAANA;
public const int BLOCK_CODE_DEVANAGARI;
public const int BLOCK_CODE_BENGALI;
public const int BLOCK_CODE_GURMUKHI;
public const int BLOCK_CODE_GUJARATI;
public const int BLOCK_CODE_ORIYA;
public const int BLOCK_CODE_TAMIL;
public const int BLOCK_CODE_TELUGU;
public const int BLOCK_CODE_KANNADA;
public const int BLOCK_CODE_MALAYALAM;
public const int BLOCK_CODE_SINHALA;
public const int BLOCK_CODE_THAI;
public const int BLOCK_CODE_LAO;
public const int BLOCK_CODE_TIBETAN;
public const int BLOCK_CODE_MYANMAR;
public const int BLOCK_CODE_GEORGIAN;
public const int BLOCK_CODE_HANGUL_JAMO;
public const int BLOCK_CODE_ETHIOPIC;
public const int BLOCK_CODE_CHEROKEE;
public const int BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
public const int BLOCK_CODE_OGHAM;
public const int BLOCK_CODE_RUNIC;
public const int BLOCK_CODE_KHMER;
public const int BLOCK_CODE_MONGOLIAN;
public const int BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL;
public const int BLOCK_CODE_GREEK_EXTENDED;
public const int BLOCK_CODE_GENERAL_PUNCTUATION;
public const int BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS;
public const int BLOCK_CODE_CURRENCY_SYMBOLS;
public const int BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS;
public const int BLOCK_CODE_LETTERLIKE_SYMBOLS;
public const int BLOCK_CODE_NUMBER_FORMS;
public const int BLOCK_CODE_ARROWS;
public const int BLOCK_CODE_MATHEMATICAL_OPERATORS;
public const int BLOCK_CODE_MISCELLANEOUS_TECHNICAL;
public const int BLOCK_CODE_CONTROL_PICTURES;
public const int BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION;
public const int BLOCK_CODE_ENCLOSED_ALPHANUMERICS;
public const int BLOCK_CODE_BOX_DRAWING;
public const int BLOCK_CODE_BLOCK_ELEMENTS;
public const int BLOCK_CODE_GEOMETRIC_SHAPES;
public const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS;
public const int BLOCK_CODE_DINGBATS;
public const int BLOCK_CODE_BRAILLE_PATTERNS;
public const int BLOCK_CODE_CJK_RADICALS_SUPPLEMENT;
public const int BLOCK_CODE_KANGXI_RADICALS;
public const int BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
public const int BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION;
public const int BLOCK_CODE_HIRAGANA;
public const int BLOCK_CODE_KATAKANA;
public const int BLOCK_CODE_BOPOMOFO;
public const int BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO;
public const int BLOCK_CODE_KANBUN;
public const int BLOCK_CODE_BOPOMOFO_EXTENDED;
public const int BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS;
public const int BLOCK_CODE_CJK_COMPATIBILITY;
public const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
public const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS;
public const int BLOCK_CODE_YI_SYLLABLES;
public const int BLOCK_CODE_YI_RADICALS;
public const int BLOCK_CODE_HANGUL_SYLLABLES;
public const int BLOCK_CODE_HIGH_SURROGATES;
public const int BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES;
public const int BLOCK_CODE_LOW_SURROGATES;
public const int BLOCK_CODE_PRIVATE_USE_AREA;
public const int BLOCK_CODE_PRIVATE_USE;
public const int BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS;
public const int BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS;
public const int BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A;
public const int BLOCK_CODE_COMBINING_HALF_MARKS;
public const int BLOCK_CODE_CJK_COMPATIBILITY_FORMS;
public const int BLOCK_CODE_SMALL_FORM_VARIANTS;
public const int BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B;
public const int BLOCK_CODE_SPECIALS;
public const int BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS;
public const int BLOCK_CODE_OLD_ITALIC;
public const int BLOCK_CODE_GOTHIC;
public const int BLOCK_CODE_DESERET;
public const int BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS;
public const int BLOCK_CODE_MUSICAL_SYMBOLS;
public const int BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS;
public const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B;
public const int BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT;
public const int BLOCK_CODE_TAGS;
public const int BLOCK_CODE_CYRILLIC_SUPPLEMENT;
public const int BLOCK_CODE_CYRILLIC_SUPPLEMENTARY;
public const int BLOCK_CODE_TAGALOG;
public const int BLOCK_CODE_HANUNOO;
public const int BLOCK_CODE_BUHID;
public const int BLOCK_CODE_TAGBANWA;
public const int BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A;
public const int BLOCK_CODE_SUPPLEMENTAL_ARROWS_A;
public const int BLOCK_CODE_SUPPLEMENTAL_ARROWS_B;
public const int BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B;
public const int BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS;
public const int BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS;
public const int BLOCK_CODE_VARIATION_SELECTORS;
public const int BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A;
public const int BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B;
public const int BLOCK_CODE_LIMBU;
public const int BLOCK_CODE_TAI_LE;
public const int BLOCK_CODE_KHMER_SYMBOLS;
public const int BLOCK_CODE_PHONETIC_EXTENSIONS;
public const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS;
public const int BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS;
public const int BLOCK_CODE_LINEAR_B_SYLLABARY;
public const int BLOCK_CODE_LINEAR_B_IDEOGRAMS;
public const int BLOCK_CODE_AEGEAN_NUMBERS;
public const int BLOCK_CODE_UGARITIC;
public const int BLOCK_CODE_SHAVIAN;
public const int BLOCK_CODE_OSMANYA;
public const int BLOCK_CODE_CYPRIOT_SYLLABARY;
public const int BLOCK_CODE_TAI_XUAN_JING_SYMBOLS;
public const int BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT;
public const int BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION;
public const int BLOCK_CODE_ANCIENT_GREEK_NUMBERS;
public const int BLOCK_CODE_ARABIC_SUPPLEMENT;
public const int BLOCK_CODE_BUGINESE;
public const int BLOCK_CODE_CJK_STROKES;
public const int BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT;
public const int BLOCK_CODE_COPTIC;
public const int BLOCK_CODE_ETHIOPIC_EXTENDED;
public const int BLOCK_CODE_ETHIOPIC_SUPPLEMENT;
public const int BLOCK_CODE_GEORGIAN_SUPPLEMENT;
public const int BLOCK_CODE_GLAGOLITIC;
public const int BLOCK_CODE_KHAROSHTHI;
public const int BLOCK_CODE_MODIFIER_TONE_LETTERS;
public const int BLOCK_CODE_NEW_TAI_LUE;
public const int BLOCK_CODE_OLD_PERSIAN;
public const int BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT;
public const int BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION;
public const int BLOCK_CODE_SYLOTI_NAGRI;
public const int BLOCK_CODE_TIFINAGH;
public const int BLOCK_CODE_VERTICAL_FORMS;
public const int BLOCK_CODE_NKO;
public const int BLOCK_CODE_BALINESE;
public const int BLOCK_CODE_LATIN_EXTENDED_C;
public const int BLOCK_CODE_LATIN_EXTENDED_D;
public const int BLOCK_CODE_PHAGS_PA;
public const int BLOCK_CODE_PHOENICIAN;
public const int BLOCK_CODE_CUNEIFORM;
public const int BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION;
public const int BLOCK_CODE_COUNTING_ROD_NUMERALS;
public const int BLOCK_CODE_SUNDANESE;
public const int BLOCK_CODE_LEPCHA;
public const int BLOCK_CODE_OL_CHIKI;
public const int BLOCK_CODE_CYRILLIC_EXTENDED_A;
public const int BLOCK_CODE_VAI;
public const int BLOCK_CODE_CYRILLIC_EXTENDED_B;
public const int BLOCK_CODE_SAURASHTRA;
public const int BLOCK_CODE_KAYAH_LI;
public const int BLOCK_CODE_REJANG;
public const int BLOCK_CODE_CHAM;
public const int BLOCK_CODE_ANCIENT_SYMBOLS;
public const int BLOCK_CODE_PHAISTOS_DISC;
public const int BLOCK_CODE_LYCIAN;
public const int BLOCK_CODE_CARIAN;
public const int BLOCK_CODE_LYDIAN;
public const int BLOCK_CODE_MAHJONG_TILES;
public const int BLOCK_CODE_DOMINO_TILES;
public const int BLOCK_CODE_SAMARITAN;
public const int BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED;
public const int BLOCK_CODE_TAI_THAM;
public const int BLOCK_CODE_VEDIC_EXTENSIONS;
public const int BLOCK_CODE_LISU;
public const int BLOCK_CODE_BAMUM;
public const int BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS;
public const int BLOCK_CODE_DEVANAGARI_EXTENDED;
public const int BLOCK_CODE_HANGUL_JAMO_EXTENDED_A;
public const int BLOCK_CODE_JAVANESE;
public const int BLOCK_CODE_MYANMAR_EXTENDED_A;
public const int BLOCK_CODE_TAI_VIET;
public const int BLOCK_CODE_MEETEI_MAYEK;
public const int BLOCK_CODE_HANGUL_JAMO_EXTENDED_B;
public const int BLOCK_CODE_IMPERIAL_ARAMAIC;
public const int BLOCK_CODE_OLD_SOUTH_ARABIAN;
public const int BLOCK_CODE_AVESTAN;
public const int BLOCK_CODE_INSCRIPTIONAL_PARTHIAN;
public const int BLOCK_CODE_INSCRIPTIONAL_PAHLAVI;
public const int BLOCK_CODE_OLD_TURKIC;
public const int BLOCK_CODE_RUMI_NUMERAL_SYMBOLS;
public const int BLOCK_CODE_KAITHI;
public const int BLOCK_CODE_EGYPTIAN_HIEROGLYPHS;
public const int BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT;
public const int BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT;
public const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C;
public const int BLOCK_CODE_MANDAIC;
public const int BLOCK_CODE_BATAK;
public const int BLOCK_CODE_ETHIOPIC_EXTENDED_A;
public const int BLOCK_CODE_BRAHMI;
public const int BLOCK_CODE_BAMUM_SUPPLEMENT;
public const int BLOCK_CODE_KANA_SUPPLEMENT;
public const int BLOCK_CODE_PLAYING_CARDS;
public const int BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS;
public const int BLOCK_CODE_EMOTICONS;
public const int BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS;
public const int BLOCK_CODE_ALCHEMICAL_SYMBOLS;
public const int BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D;
public const int BLOCK_CODE_ARABIC_EXTENDED_A;
public const int BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS;
public const int BLOCK_CODE_CHAKMA;
public const int BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS;
public const int BLOCK_CODE_MEROITIC_CURSIVE;
public const int BLOCK_CODE_MEROITIC_HIEROGLYPHS;
public const int BLOCK_CODE_MIAO;
public const int BLOCK_CODE_SHARADA;
public const int BLOCK_CODE_SORA_SOMPENG;
public const int BLOCK_CODE_SUNDANESE_SUPPLEMENT;
public const int BLOCK_CODE_TAKRI;
public const int BLOCK_CODE_BASSA_VAH;
public const int BLOCK_CODE_CAUCASIAN_ALBANIAN;
public const int BLOCK_CODE_COPTIC_EPACT_NUMBERS;
public const int BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED;
public const int BLOCK_CODE_DUPLOYAN;
public const int BLOCK_CODE_ELBASAN;
public const int BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED;
public const int BLOCK_CODE_GRANTHA;
public const int BLOCK_CODE_KHOJKI;
public const int BLOCK_CODE_KHUDAWADI;
public const int BLOCK_CODE_LATIN_EXTENDED_E;
public const int BLOCK_CODE_LINEAR_A;
public const int BLOCK_CODE_MAHAJANI;
public const int BLOCK_CODE_MANICHAEAN;
public const int BLOCK_CODE_MENDE_KIKAKUI;
public const int BLOCK_CODE_MODI;
public const int BLOCK_CODE_MRO;
public const int BLOCK_CODE_MYANMAR_EXTENDED_B;
public const int BLOCK_CODE_NABATAEAN;
public const int BLOCK_CODE_OLD_NORTH_ARABIAN;
public const int BLOCK_CODE_OLD_PERMIC;
public const int BLOCK_CODE_ORNAMENTAL_DINGBATS;
public const int BLOCK_CODE_PAHAWH_HMONG;
public const int BLOCK_CODE_PALMYRENE;
public const int BLOCK_CODE_PAU_CIN_HAU;
public const int BLOCK_CODE_PSALTER_PAHLAVI;
public const int BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS;
public const int BLOCK_CODE_SIDDHAM;
public const int BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS;
public const int BLOCK_CODE_SUPPLEMENTAL_ARROWS_C;
public const int BLOCK_CODE_TIRHUTA;
public const int BLOCK_CODE_WARANG_CITI;
public const int BLOCK_CODE_COUNT;
public const int BLOCK_CODE_INVALID_CODE;
public const int BPT_NONE;
public const int BPT_OPEN;
public const int BPT_CLOSE;
public const int BPT_COUNT;
public const int EA_NEUTRAL;
public const int EA_AMBIGUOUS;
public const int EA_HALFWIDTH;
public const int EA_FULLWIDTH;
public const int EA_NARROW;
public const int EA_WIDE;
public const int EA_COUNT;
public const int UNICODE_CHAR_NAME;
public const int UNICODE_10_CHAR_NAME;
public const int EXTENDED_CHAR_NAME;
public const int CHAR_NAME_ALIAS;
public const int CHAR_NAME_CHOICE_COUNT;
public const int SHORT_PROPERTY_NAME;
public const int LONG_PROPERTY_NAME;
public const int PROPERTY_NAME_CHOICE_COUNT;
public const int DT_NONE;
public const int DT_CANONICAL;
public const int DT_COMPAT;
public const int DT_CIRCLE;
public const int DT_FINAL;
public const int DT_FONT;
public const int DT_FRACTION;
public const int DT_INITIAL;
public const int DT_ISOLATED;
public const int DT_MEDIAL;
public const int DT_NARROW;
public const int DT_NOBREAK;
public const int DT_SMALL;
public const int DT_SQUARE;
public const int DT_SUB;
public const int DT_SUPER;
public const int DT_VERTICAL;
public const int DT_WIDE;
public const int DT_COUNT;
public const int JT_NON_JOINING;
public const int JT_JOIN_CAUSING;
public const int JT_DUAL_JOINING;
public const int JT_LEFT_JOINING;
public const int JT_RIGHT_JOINING;
public const int JT_TRANSPARENT;
public const int JT_COUNT;
public const int JG_NO_JOINING_GROUP;
public const int JG_AIN;
public const int JG_ALAPH;
public const int JG_ALEF;
public const int JG_BEH;
public const int JG_BETH;
public const int JG_DAL;
public const int JG_DALATH_RISH;
public const int JG_E;
public const int JG_FEH;
public const int JG_FINAL_SEMKATH;
public const int JG_GAF;
public const int JG_GAMAL;
public const int JG_HAH;
public const int JG_TEH_MARBUTA_GOAL;
public const int JG_HAMZA_ON_HEH_GOAL;
public const int JG_HE;
public const int JG_HEH;
public const int JG_HEH_GOAL;
public const int JG_HETH;
public const int JG_KAF;
public const int JG_KAPH;
public const int JG_KNOTTED_HEH;
public const int JG_LAM;
public const int JG_LAMADH;
public const int JG_MEEM;
public const int JG_MIM;
public const int JG_NOON;
public const int JG_NUN;
public const int JG_PE;
public const int JG_QAF;
public const int JG_QAPH;
public const int JG_REH;
public const int JG_REVERSED_PE;
public const int JG_SAD;
public const int JG_SADHE;
public const int JG_SEEN;
public const int JG_SEMKATH;
public const int JG_SHIN;
public const int JG_SWASH_KAF;
public const int JG_SYRIAC_WAW;
public const int JG_TAH;
public const int JG_TAW;
public const int JG_TEH_MARBUTA;
public const int JG_TETH;
public const int JG_WAW;
public const int JG_YEH;
public const int JG_YEH_BARREE;
public const int JG_YEH_WITH_TAIL;
public const int JG_YUDH;
public const int JG_YUDH_HE;
public const int JG_ZAIN;
public const int JG_FE;
public const int JG_KHAPH;
public const int JG_ZHAIN;
public const int JG_BURUSHASKI_YEH_BARREE;
public const int JG_FARSI_YEH;
public const int JG_NYA;
public const int JG_ROHINGYA_YEH;
public const int JG_MANICHAEAN_ALEPH;
public const int JG_MANICHAEAN_AYIN;
public const int JG_MANICHAEAN_BETH;
public const int JG_MANICHAEAN_DALETH;
public const int JG_MANICHAEAN_DHAMEDH;
public const int JG_MANICHAEAN_FIVE;
public const int JG_MANICHAEAN_GIMEL;
public const int JG_MANICHAEAN_HETH;
public const int JG_MANICHAEAN_HUNDRED;
public const int JG_MANICHAEAN_KAPH;
public const int JG_MANICHAEAN_LAMEDH;
public const int JG_MANICHAEAN_MEM;
public const int JG_MANICHAEAN_NUN;
public const int JG_MANICHAEAN_ONE;
public const int JG_MANICHAEAN_PE;
public const int JG_MANICHAEAN_QOPH;
public const int JG_MANICHAEAN_RESH;
public const int JG_MANICHAEAN_SADHE;
public const int JG_MANICHAEAN_SAMEKH;
public const int JG_MANICHAEAN_TAW;
public const int JG_MANICHAEAN_TEN;
public const int JG_MANICHAEAN_TETH;
public const int JG_MANICHAEAN_THAMEDH;
public const int JG_MANICHAEAN_TWENTY;
public const int JG_MANICHAEAN_WAW;
public const int JG_MANICHAEAN_YODH;
public const int JG_MANICHAEAN_ZAYIN;
public const int JG_STRAIGHT_WAW;
public const int JG_COUNT;
public const int GCB_OTHER;
public const int GCB_CONTROL;
public const int GCB_CR;
public const int GCB_EXTEND;
public const int GCB_L;
public const int GCB_LF;
public const int GCB_LV;
public const int GCB_LVT;
public const int GCB_T;
public const int GCB_V;
public const int GCB_SPACING_MARK;
public const int GCB_PREPEND;
public const int GCB_REGIONAL_INDICATOR;
public const int GCB_COUNT;
public const int WB_OTHER;
public const int WB_ALETTER;
public const int WB_FORMAT;
public const int WB_KATAKANA;
public const int WB_MIDLETTER;
public const int WB_MIDNUM;
public const int WB_NUMERIC;
public const int WB_EXTENDNUMLET;
public const int WB_CR;
public const int WB_EXTEND;
public const int WB_LF;
public const int WB_MIDNUMLET;
public const int WB_NEWLINE;
public const int WB_REGIONAL_INDICATOR;
public const int WB_HEBREW_LETTER;
public const int WB_SINGLE_QUOTE;
public const int WB_DOUBLE_QUOTE;
public const int WB_COUNT;
public const int SB_OTHER;
public const int SB_ATERM;
public const int SB_CLOSE;
public const int SB_FORMAT;
public const int SB_LOWER;
public const int SB_NUMERIC;
public const int SB_OLETTER;
public const int SB_SEP;
public const int SB_SP;
public const int SB_STERM;
public const int SB_UPPER;
public const int SB_CR;
public const int SB_EXTEND;
public const int SB_LF;
public const int SB_SCONTINUE;
public const int SB_COUNT;
public const int LB_UNKNOWN;
public const int LB_AMBIGUOUS;
public const int LB_ALPHABETIC;
public const int LB_BREAK_BOTH;
public const int LB_BREAK_AFTER;
public const int LB_BREAK_BEFORE;
public const int LB_MANDATORY_BREAK;
public const int LB_CONTINGENT_BREAK;
public const int LB_CLOSE_PUNCTUATION;
public const int LB_COMBINING_MARK;
public const int LB_CARRIAGE_RETURN;
public const int LB_EXCLAMATION;
public const int LB_GLUE;
public const int LB_HYPHEN;
public const int LB_IDEOGRAPHIC;
public const int LB_INSEPARABLE;
public const int LB_INSEPERABLE;
public const int LB_INFIX_NUMERIC;
public const int LB_LINE_FEED;
public const int LB_NONSTARTER;
public const int LB_NUMERIC;
public const int LB_OPEN_PUNCTUATION;
public const int LB_POSTFIX_NUMERIC;
public const int LB_PREFIX_NUMERIC;
public const int LB_QUOTATION;
public const int LB_COMPLEX_CONTEXT;
public const int LB_SURROGATE;
public const int LB_SPACE;
public const int LB_BREAK_SYMBOLS;
public const int LB_ZWSPACE;
public const int LB_NEXT_LINE;
public const int LB_WORD_JOINER;
public const int LB_H2;
public const int LB_H3;
public const int LB_JL;
public const int LB_JT;
public const int LB_JV;
public const int LB_CLOSE_PARENTHESIS;
public const int LB_CONDITIONAL_JAPANESE_STARTER;
public const int LB_HEBREW_LETTER;
public const int LB_REGIONAL_INDICATOR;
public const int LB_COUNT;
public const int NT_NONE;
public const int NT_DECIMAL;
public const int NT_DIGIT;
public const int NT_NUMERIC;
public const int NT_COUNT;
public const int HST_NOT_APPLICABLE;
public const int HST_LEADING_JAMO;
public const int HST_VOWEL_JAMO;
public const int HST_TRAILING_JAMO;
public const int HST_LV_SYLLABLE;
public const int HST_LVT_SYLLABLE;
public const int HST_COUNT;
public const int FOLD_CASE_DEFAULT;
public const int FOLD_CASE_EXCLUDE_SPECIAL_I;
/* Yöntemler */
public static charAge(int|string $codepoint): ?array
public static charDigitValue(int|string $codepoint): ?int
public static charDirection(int|string $codepoint): ?int
public static charFromName(string $name, int $type = IntlChar::UNICODE_CHAR_NAME): ?int
public static charMirror(int|string $codepoint): int|string|null
public static charName(int|string $codepoint, int $type = IntlChar::UNICODE_CHAR_NAME): ?string
public static charType(int|string $codepoint): ?int
public static chr(int|string $codepoint): ?string
public static digit(int|string $codepoint, int $base = 10): int|false|null
public static enumCharNames(
int|string $start,
int|string $end,
callable $callback,
int $type = IntlChar::UNICODE_CHAR_NAME
): ?bool
public static enumCharTypes(callable $callback): void
public static foldCase(int|string $codepoint, int $options = IntlChar::FOLD_CASE_DEFAULT): int|string|null
public static forDigit(int $digit, int $base = 10): int
public static getBidiPairedBracket(int|string $codepoint): int|string|null
public static getBlockCode(int|string $codepoint): ?int
public static getCombiningClass(int|string $codepoint): ?int
public static getFC_NFKC_Closure(int|string $codepoint): string|false|null
public static getIntPropertyMaxValue(int $property): int
public static getIntPropertyMinValue(int $property): int
public static getIntPropertyValue(int|string $codepoint, int $property): ?int
public static getNumericValue(int|string $codepoint): ?float
public static getPropertyEnum(string $alias): int
public static getPropertyName(int $property, int $type = IntlChar::LONG_PROPERTY_NAME): string|false
public static getPropertyValueEnum(int $property, string $name): int
public static getPropertyValueName(int $property, int $value, int $type = IntlChar::LONG_PROPERTY_NAME): string|false
public static getUnicodeVersion(): array
public static hasBinaryProperty(int|string $codepoint, int $property): ?bool
public static isalnum(int|string $codepoint): ?bool
public static isalpha(int|string $codepoint): ?bool
public static isbase(int|string $codepoint): ?bool
public static isblank(int|string $codepoint): ?bool
public static iscntrl(int|string $codepoint): ?bool
public static isdefined(int|string $codepoint): ?bool
public static isdigit(int|string $codepoint): ?bool
public static isgraph(int|string $codepoint): ?bool
public static isIDIgnorable(int|string $codepoint): ?bool
public static isIDPart(int|string $codepoint): ?bool
public static isIDStart(int|string $codepoint): ?bool
public static isISOControl(int|string $codepoint): ?bool
public static isJavaIDPart(int|string $codepoint): ?bool
public static isJavaIDStart(int|string $codepoint): ?bool
public static isJavaSpaceChar(int|string $codepoint): ?bool
public static islower(int|string $codepoint): ?bool
public static isMirrored(int|string $codepoint): ?bool
public static isprint(int|string $codepoint): ?bool
public static ispunct(int|string $codepoint): ?bool
public static isspace(int|string $codepoint): ?bool
public static istitle(int|string $codepoint): ?bool
public static isUAlphabetic(int|string $codepoint): ?bool
public static isULowercase(int|string $codepoint): ?bool
public static isupper(int|string $codepoint): ?bool
public static isUUppercase(int|string $codepoint): ?bool
public static isUWhiteSpace(int|string $codepoint): ?bool
public static isWhitespace(int|string $codepoint): ?bool
public static isxdigit(int|string $codepoint): ?bool
public static ord(int|string $character): ?int
public static tolower(int|string $codepoint): int|string|null
public static totitle(int|string $codepoint): int|string|null
public static toupper(int|string $codepoint): int|string|null
}

Öntanımlı Sabitler

IntlChar::UNICODE_VERSION

IntlChar::CODEPOINT_MIN

IntlChar::CODEPOINT_MAX

IntlChar::NO_NUMERIC_VALUE

Special value that is returned by IntlChar::getNumericValue() when no numeric value is defined for a code point.

IntlChar::PROPERTY_ALPHABETIC

IntlChar::PROPERTY_BINARY_START

IntlChar::PROPERTY_ASCII_HEX_DIGIT

IntlChar::PROPERTY_BIDI_CONTROL

IntlChar::PROPERTY_BIDI_MIRRORED

IntlChar::PROPERTY_DASH

IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT

IntlChar::PROPERTY_DEPRECATED

IntlChar::PROPERTY_DIACRITIC

IntlChar::PROPERTY_EXTENDER

IntlChar::PROPERTY_FULL_COMPOSITION_EXCLUSION

IntlChar::PROPERTY_GRAPHEME_BASE

IntlChar::PROPERTY_GRAPHEME_EXTEND

IntlChar::PROPERTY_GRAPHEME_LINK

IntlChar::PROPERTY_HEX_DIGIT

IntlChar::PROPERTY_HYPHEN

IntlChar::PROPERTY_ID_CONTINUE

IntlChar::PROPERTY_ID_START

IntlChar::PROPERTY_IDEOGRAPHIC

IntlChar::PROPERTY_IDS_BINARY_OPERATOR

IntlChar::PROPERTY_IDS_TRINARY_OPERATOR

IntlChar::PROPERTY_JOIN_CONTROL

IntlChar::PROPERTY_LOGICAL_ORDER_EXCEPTION

IntlChar::PROPERTY_LOWERCASE

IntlChar::PROPERTY_MATH

IntlChar::PROPERTY_NONCHARACTER_CODE_POINT

IntlChar::PROPERTY_QUOTATION_MARK

IntlChar::PROPERTY_RADICAL

IntlChar::PROPERTY_SOFT_DOTTED

IntlChar::PROPERTY_TERMINAL_PUNCTUATION

IntlChar::PROPERTY_UNIFIED_IDEOGRAPH

IntlChar::PROPERTY_UPPERCASE

IntlChar::PROPERTY_WHITE_SPACE

IntlChar::PROPERTY_XID_CONTINUE

IntlChar::PROPERTY_XID_START

IntlChar::PROPERTY_CASE_SENSITIVE

IntlChar::PROPERTY_S_TERM

IntlChar::PROPERTY_VARIATION_SELECTOR

IntlChar::PROPERTY_NFD_INERT

IntlChar::PROPERTY_NFKD_INERT

IntlChar::PROPERTY_NFC_INERT

IntlChar::PROPERTY_NFKC_INERT

IntlChar::PROPERTY_SEGMENT_STARTER

IntlChar::PROPERTY_PATTERN_SYNTAX

IntlChar::PROPERTY_PATTERN_WHITE_SPACE

IntlChar::PROPERTY_POSIX_ALNUM

IntlChar::PROPERTY_POSIX_BLANK

IntlChar::PROPERTY_POSIX_GRAPH

IntlChar::PROPERTY_POSIX_PRINT

IntlChar::PROPERTY_POSIX_XDIGIT

IntlChar::PROPERTY_CASED

IntlChar::PROPERTY_CASE_IGNORABLE

IntlChar::PROPERTY_CHANGES_WHEN_LOWERCASED

IntlChar::PROPERTY_CHANGES_WHEN_UPPERCASED

IntlChar::PROPERTY_CHANGES_WHEN_TITLECASED

IntlChar::PROPERTY_CHANGES_WHEN_CASEFOLDED

IntlChar::PROPERTY_CHANGES_WHEN_CASEMAPPED

IntlChar::PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED

IntlChar::PROPERTY_BINARY_LIMIT

IntlChar::PROPERTY_BIDI_CLASS

IntlChar::PROPERTY_INT_START

IntlChar::PROPERTY_BLOCK

IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_DECOMPOSITION_TYPE

IntlChar::PROPERTY_EAST_ASIAN_WIDTH

IntlChar::PROPERTY_GENERAL_CATEGORY

IntlChar::PROPERTY_JOINING_GROUP

IntlChar::PROPERTY_JOINING_TYPE

IntlChar::PROPERTY_LINE_BREAK

IntlChar::PROPERTY_NUMERIC_TYPE

IntlChar::PROPERTY_SCRIPT

IntlChar::PROPERTY_HANGUL_SYLLABLE_TYPE

IntlChar::PROPERTY_NFD_QUICK_CHECK

IntlChar::PROPERTY_NFKD_QUICK_CHECK

IntlChar::PROPERTY_NFC_QUICK_CHECK

IntlChar::PROPERTY_NFKC_QUICK_CHECK

IntlChar::PROPERTY_LEAD_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS

IntlChar::PROPERTY_GRAPHEME_CLUSTER_BREAK

IntlChar::PROPERTY_SENTENCE_BREAK

IntlChar::PROPERTY_WORD_BREAK

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE

IntlChar::PROPERTY_INT_LIMIT

IntlChar::PROPERTY_GENERAL_CATEGORY_MASK

IntlChar::PROPERTY_MASK_START

IntlChar::PROPERTY_MASK_LIMIT

IntlChar::PROPERTY_NUMERIC_VALUE

IntlChar::PROPERTY_DOUBLE_START

IntlChar::PROPERTY_DOUBLE_LIMIT

IntlChar::PROPERTY_AGE

IntlChar::PROPERTY_STRING_START

IntlChar::PROPERTY_BIDI_MIRRORING_GLYPH

IntlChar::PROPERTY_CASE_FOLDING

IntlChar::PROPERTY_ISO_COMMENT

IntlChar::PROPERTY_LOWERCASE_MAPPING

IntlChar::PROPERTY_NAME

IntlChar::PROPERTY_SIMPLE_CASE_FOLDING

IntlChar::PROPERTY_SIMPLE_LOWERCASE_MAPPING

IntlChar::PROPERTY_SIMPLE_TITLECASE_MAPPING

IntlChar::PROPERTY_SIMPLE_UPPERCASE_MAPPING

IntlChar::PROPERTY_TITLECASE_MAPPING

IntlChar::PROPERTY_UNICODE_1_NAME

IntlChar::PROPERTY_UPPERCASE_MAPPING

IntlChar::PROPERTY_BIDI_PAIRED_BRACKET

IntlChar::PROPERTY_STRING_LIMIT

IntlChar::PROPERTY_SCRIPT_EXTENSIONS

IntlChar::PROPERTY_OTHER_PROPERTY_START

IntlChar::PROPERTY_OTHER_PROPERTY_LIMIT

IntlChar::PROPERTY_INVALID_CODE

IntlChar::CHAR_CATEGORY_UNASSIGNED

IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES

IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER

IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER

IntlChar::CHAR_CATEGORY_TITLECASE_LETTER

IntlChar::CHAR_CATEGORY_MODIFIER_LETTER

IntlChar::CHAR_CATEGORY_OTHER_LETTER

IntlChar::CHAR_CATEGORY_NON_SPACING_MARK

IntlChar::CHAR_CATEGORY_ENCLOSING_MARK

IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK

IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER

IntlChar::CHAR_CATEGORY_LETTER_NUMBER

IntlChar::CHAR_CATEGORY_OTHER_NUMBER

IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR

IntlChar::CHAR_CATEGORY_LINE_SEPARATOR

IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR

IntlChar::CHAR_CATEGORY_CONTROL_CHAR

IntlChar::CHAR_CATEGORY_FORMAT_CHAR

IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR

IntlChar::CHAR_CATEGORY_SURROGATE

IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION

IntlChar::CHAR_CATEGORY_START_PUNCTUATION

IntlChar::CHAR_CATEGORY_END_PUNCTUATION

IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION

IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION

IntlChar::CHAR_CATEGORY_MATH_SYMBOL

IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL

IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL

IntlChar::CHAR_CATEGORY_OTHER_SYMBOL

IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION

IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR

IntlChar::CHAR_DIRECTION_ARABIC_NUMBER

IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR

IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR

IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR

IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL

IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT

IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK

IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL

IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE

IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE

IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE

IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE

IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT

IntlChar::BLOCK_CODE_NO_BLOCK

IntlChar::BLOCK_CODE_BASIC_LATIN

IntlChar::BLOCK_CODE_LATIN_1_SUPPLEMENT

IntlChar::BLOCK_CODE_LATIN_EXTENDED_A

IntlChar::BLOCK_CODE_LATIN_EXTENDED_B

IntlChar::BLOCK_CODE_IPA_EXTENSIONS

IntlChar::BLOCK_CODE_SPACING_MODIFIER_LETTERS

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS

IntlChar::BLOCK_CODE_GREEK

IntlChar::BLOCK_CODE_CYRILLIC

IntlChar::BLOCK_CODE_ARMENIAN

IntlChar::BLOCK_CODE_HEBREW

IntlChar::BLOCK_CODE_ARABIC

IntlChar::BLOCK_CODE_SYRIAC

IntlChar::BLOCK_CODE_THAANA

IntlChar::BLOCK_CODE_DEVANAGARI

IntlChar::BLOCK_CODE_BENGALI

IntlChar::BLOCK_CODE_GURMUKHI

IntlChar::BLOCK_CODE_GUJARATI

IntlChar::BLOCK_CODE_ORIYA

IntlChar::BLOCK_CODE_TAMIL

IntlChar::BLOCK_CODE_TELUGU

IntlChar::BLOCK_CODE_KANNADA

IntlChar::BLOCK_CODE_MALAYALAM

IntlChar::BLOCK_CODE_SINHALA

IntlChar::BLOCK_CODE_THAI

IntlChar::BLOCK_CODE_LAO

IntlChar::BLOCK_CODE_TIBETAN

IntlChar::BLOCK_CODE_MYANMAR

IntlChar::BLOCK_CODE_GEORGIAN

IntlChar::BLOCK_CODE_HANGUL_JAMO

IntlChar::BLOCK_CODE_ETHIOPIC

IntlChar::BLOCK_CODE_CHEROKEE

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS

IntlChar::BLOCK_CODE_OGHAM

IntlChar::BLOCK_CODE_RUNIC

IntlChar::BLOCK_CODE_KHMER

IntlChar::BLOCK_CODE_MONGOLIAN

IntlChar::BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL

IntlChar::BLOCK_CODE_GREEK_EXTENDED

IntlChar::BLOCK_CODE_GENERAL_PUNCTUATION

IntlChar::BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS

IntlChar::BLOCK_CODE_CURRENCY_SYMBOLS

IntlChar::BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS

IntlChar::BLOCK_CODE_LETTERLIKE_SYMBOLS

IntlChar::BLOCK_CODE_NUMBER_FORMS

IntlChar::BLOCK_CODE_ARROWS

IntlChar::BLOCK_CODE_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_MISCELLANEOUS_TECHNICAL

IntlChar::BLOCK_CODE_CONTROL_PICTURES

IntlChar::BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERICS

IntlChar::BLOCK_CODE_BOX_DRAWING

IntlChar::BLOCK_CODE_BLOCK_ELEMENTS

IntlChar::BLOCK_CODE_GEOMETRIC_SHAPES

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS

IntlChar::BLOCK_CODE_DINGBATS

IntlChar::BLOCK_CODE_BRAILLE_PATTERNS

IntlChar::BLOCK_CODE_CJK_RADICALS_SUPPLEMENT

IntlChar::BLOCK_CODE_KANGXI_RADICALS

IntlChar::BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS

IntlChar::BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_HIRAGANA

IntlChar::BLOCK_CODE_KATAKANA

IntlChar::BLOCK_CODE_BOPOMOFO

IntlChar::BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO

IntlChar::BLOCK_CODE_KANBUN

IntlChar::BLOCK_CODE_BOPOMOFO_EXTENDED

IntlChar::BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS

IntlChar::BLOCK_CODE_YI_SYLLABLES

IntlChar::BLOCK_CODE_YI_RADICALS

IntlChar::BLOCK_CODE_HANGUL_SYLLABLES

IntlChar::BLOCK_CODE_HIGH_SURROGATES

IntlChar::BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES

IntlChar::BLOCK_CODE_LOW_SURROGATES

IntlChar::BLOCK_CODE_PRIVATE_USE_AREA

IntlChar::BLOCK_CODE_PRIVATE_USE

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS

IntlChar::BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A

IntlChar::BLOCK_CODE_COMBINING_HALF_MARKS

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_FORMS

IntlChar::BLOCK_CODE_SMALL_FORM_VARIANTS

IntlChar::BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B

IntlChar::BLOCK_CODE_SPECIALS

IntlChar::BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS

IntlChar::BLOCK_CODE_OLD_ITALIC

IntlChar::BLOCK_CODE_GOTHIC

IntlChar::BLOCK_CODE_DESERET

IntlChar::BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MUSICAL_SYMBOLS

IntlChar::BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B

IntlChar::BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT

IntlChar::BLOCK_CODE_TAGS

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CYRILLIC_SUPPLEMENTARY

IntlChar::BLOCK_CODE_TAGALOG

IntlChar::BLOCK_CODE_HANUNOO

IntlChar::BLOCK_CODE_BUHID

IntlChar::BLOCK_CODE_TAGBANWA

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_A

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_B

IntlChar::BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B

IntlChar::BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS

IntlChar::BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A

IntlChar::BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B

IntlChar::BLOCK_CODE_LIMBU

IntlChar::BLOCK_CODE_TAI_LE

IntlChar::BLOCK_CODE_KHMER_SYMBOLS

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS

IntlChar::BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS

IntlChar::BLOCK_CODE_LINEAR_B_SYLLABARY

IntlChar::BLOCK_CODE_LINEAR_B_IDEOGRAMS

IntlChar::BLOCK_CODE_AEGEAN_NUMBERS

IntlChar::BLOCK_CODE_UGARITIC

IntlChar::BLOCK_CODE_SHAVIAN

IntlChar::BLOCK_CODE_OSMANYA

IntlChar::BLOCK_CODE_CYPRIOT_SYLLABARY

IntlChar::BLOCK_CODE_TAI_XUAN_JING_SYMBOLS

IntlChar::BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT

IntlChar::BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION

IntlChar::BLOCK_CODE_ANCIENT_GREEK_NUMBERS

IntlChar::BLOCK_CODE_ARABIC_SUPPLEMENT

IntlChar::BLOCK_CODE_BUGINESE

IntlChar::BLOCK_CODE_CJK_STROKES

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT

IntlChar::BLOCK_CODE_COPTIC

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED

IntlChar::BLOCK_CODE_ETHIOPIC_SUPPLEMENT

IntlChar::BLOCK_CODE_GEORGIAN_SUPPLEMENT

IntlChar::BLOCK_CODE_GLAGOLITIC

IntlChar::BLOCK_CODE_KHAROSHTHI

IntlChar::BLOCK_CODE_MODIFIER_TONE_LETTERS

IntlChar::BLOCK_CODE_NEW_TAI_LUE

IntlChar::BLOCK_CODE_OLD_PERSIAN

IntlChar::BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT

IntlChar::BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION

IntlChar::BLOCK_CODE_SYLOTI_NAGRI

IntlChar::BLOCK_CODE_TIFINAGH

IntlChar::BLOCK_CODE_VERTICAL_FORMS

IntlChar::BLOCK_CODE_NKO

IntlChar::BLOCK_CODE_BALINESE

IntlChar::BLOCK_CODE_LATIN_EXTENDED_C

IntlChar::BLOCK_CODE_LATIN_EXTENDED_D

IntlChar::BLOCK_CODE_PHAGS_PA

IntlChar::BLOCK_CODE_PHOENICIAN

IntlChar::BLOCK_CODE_CUNEIFORM

IntlChar::BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION

IntlChar::BLOCK_CODE_COUNTING_ROD_NUMERALS

IntlChar::BLOCK_CODE_SUNDANESE

IntlChar::BLOCK_CODE_LEPCHA

IntlChar::BLOCK_CODE_OL_CHIKI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_A

IntlChar::BLOCK_CODE_VAI

IntlChar::BLOCK_CODE_CYRILLIC_EXTENDED_B

IntlChar::BLOCK_CODE_SAURASHTRA

IntlChar::BLOCK_CODE_KAYAH_LI

IntlChar::BLOCK_CODE_REJANG

IntlChar::BLOCK_CODE_CHAM

IntlChar::BLOCK_CODE_ANCIENT_SYMBOLS

IntlChar::BLOCK_CODE_PHAISTOS_DISC

IntlChar::BLOCK_CODE_LYCIAN

IntlChar::BLOCK_CODE_CARIAN

IntlChar::BLOCK_CODE_LYDIAN

IntlChar::BLOCK_CODE_MAHJONG_TILES

IntlChar::BLOCK_CODE_DOMINO_TILES

IntlChar::BLOCK_CODE_SAMARITAN

IntlChar::BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED

IntlChar::BLOCK_CODE_TAI_THAM

IntlChar::BLOCK_CODE_VEDIC_EXTENSIONS

IntlChar::BLOCK_CODE_LISU

IntlChar::BLOCK_CODE_BAMUM

IntlChar::BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS

IntlChar::BLOCK_CODE_DEVANAGARI_EXTENDED

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_A

IntlChar::BLOCK_CODE_JAVANESE

IntlChar::BLOCK_CODE_MYANMAR_EXTENDED_A

IntlChar::BLOCK_CODE_TAI_VIET

IntlChar::BLOCK_CODE_MEETEI_MAYEK

IntlChar::BLOCK_CODE_HANGUL_JAMO_EXTENDED_B

IntlChar::BLOCK_CODE_IMPERIAL_ARAMAIC

IntlChar::BLOCK_CODE_OLD_SOUTH_ARABIAN

IntlChar::BLOCK_CODE_AVESTAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PARTHIAN

IntlChar::BLOCK_CODE_INSCRIPTIONAL_PAHLAVI

IntlChar::BLOCK_CODE_OLD_TURKIC

IntlChar::BLOCK_CODE_RUMI_NUMERAL_SYMBOLS

IntlChar::BLOCK_CODE_KAITHI

IntlChar::BLOCK_CODE_EGYPTIAN_HIEROGLYPHS

IntlChar::BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT

IntlChar::BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C

IntlChar::BLOCK_CODE_MANDAIC

IntlChar::BLOCK_CODE_BATAK

IntlChar::BLOCK_CODE_ETHIOPIC_EXTENDED_A

IntlChar::BLOCK_CODE_BRAHMI

IntlChar::BLOCK_CODE_BAMUM_SUPPLEMENT

IntlChar::BLOCK_CODE_KANA_SUPPLEMENT

IntlChar::BLOCK_CODE_PLAYING_CARDS

IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS

IntlChar::BLOCK_CODE_EMOTICONS

IntlChar::BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS

IntlChar::BLOCK_CODE_ALCHEMICAL_SYMBOLS

IntlChar::BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D

IntlChar::BLOCK_CODE_ARABIC_EXTENDED_A

IntlChar::BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS

IntlChar::BLOCK_CODE_CHAKMA

IntlChar::BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS

IntlChar::BLOCK_CODE_MEROITIC_CURSIVE

IntlChar::BLOCK_CODE_MEROITIC_HIEROGLYPHS

IntlChar::BLOCK_CODE_MIAO

IntlChar::BLOCK_CODE_SHARADA

IntlChar::BLOCK_CODE_SORA_SOMPENG

IntlChar::BLOCK_CODE_SUNDANESE_SUPPLEMENT

IntlChar::BLOCK_CODE_TAKRI

IntlChar::BLOCK_CODE_BASSA_VAH

IntlChar::BLOCK_CODE_CAUCASIAN_ALBANIAN

IntlChar::BLOCK_CODE_COPTIC_EPACT_NUMBERS

IntlChar::BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_EXTENDED

IntlChar::BLOCK_CODE_DUPLOYAN

IntlChar::BLOCK_CODE_ELBASAN

IntlChar::BLOCK_CODE_GEOMETRIC_SHAPES_EXTENDED

IntlChar::BLOCK_CODE_GRANTHA

IntlChar::BLOCK_CODE_KHOJKI

IntlChar::BLOCK_CODE_KHUDAWADI

IntlChar::BLOCK_CODE_LATIN_EXTENDED_E

IntlChar::BLOCK_CODE_LINEAR_A

IntlChar::BLOCK_CODE_MAHAJANI

IntlChar::BLOCK_CODE_MANICHAEAN

IntlChar::BLOCK_CODE_MENDE_KIKAKUI

IntlChar::BLOCK_CODE_MODI

IntlChar::BLOCK_CODE_MRO

IntlChar::BLOCK_CODE_MYANMAR_EXTENDED_B

IntlChar::BLOCK_CODE_NABATAEAN

IntlChar::BLOCK_CODE_OLD_NORTH_ARABIAN

IntlChar::BLOCK_CODE_OLD_PERMIC

IntlChar::BLOCK_CODE_ORNAMENTAL_DINGBATS

IntlChar::BLOCK_CODE_PAHAWH_HMONG

IntlChar::BLOCK_CODE_PALMYRENE

IntlChar::BLOCK_CODE_PAU_CIN_HAU

IntlChar::BLOCK_CODE_PSALTER_PAHLAVI

IntlChar::BLOCK_CODE_SHORTHAND_FORMAT_CONTROLS

IntlChar::BLOCK_CODE_SIDDHAM

IntlChar::BLOCK_CODE_SINHALA_ARCHAIC_NUMBERS

IntlChar::BLOCK_CODE_SUPPLEMENTAL_ARROWS_C

IntlChar::BLOCK_CODE_TIRHUTA

IntlChar::BLOCK_CODE_WARANG_CITI

IntlChar::BLOCK_CODE_COUNT

IntlChar::BLOCK_CODE_INVALID_CODE

IntlChar::BPT_NONE

IntlChar::BPT_OPEN

IntlChar::BPT_CLOSE

IntlChar::BPT_COUNT

IntlChar::EA_NEUTRAL

IntlChar::EA_AMBIGUOUS

IntlChar::EA_HALFWIDTH

IntlChar::EA_FULLWIDTH

IntlChar::EA_NARROW

IntlChar::EA_WIDE

IntlChar::EA_COUNT

IntlChar::UNICODE_CHAR_NAME

IntlChar::UNICODE_10_CHAR_NAME

IntlChar::EXTENDED_CHAR_NAME

IntlChar::CHAR_NAME_ALIAS

IntlChar::CHAR_NAME_CHOICE_COUNT

IntlChar::SHORT_PROPERTY_NAME

IntlChar::LONG_PROPERTY_NAME

IntlChar::PROPERTY_NAME_CHOICE_COUNT

IntlChar::DT_NONE

IntlChar::DT_CANONICAL

IntlChar::DT_COMPAT

IntlChar::DT_CIRCLE

IntlChar::DT_FINAL

IntlChar::DT_FONT

IntlChar::DT_FRACTION

IntlChar::DT_INITIAL

IntlChar::DT_ISOLATED

IntlChar::DT_MEDIAL

IntlChar::DT_NARROW

IntlChar::DT_NOBREAK

IntlChar::DT_SMALL

IntlChar::DT_SQUARE

IntlChar::DT_SUB

IntlChar::DT_SUPER

IntlChar::DT_VERTICAL

IntlChar::DT_WIDE

IntlChar::DT_COUNT

IntlChar::JT_NON_JOINING

IntlChar::JT_JOIN_CAUSING

IntlChar::JT_DUAL_JOINING

IntlChar::JT_LEFT_JOINING

IntlChar::JT_RIGHT_JOINING

IntlChar::JT_TRANSPARENT

IntlChar::JT_COUNT

IntlChar::JG_NO_JOINING_GROUP

IntlChar::JG_AIN

IntlChar::JG_ALAPH

IntlChar::JG_ALEF

IntlChar::JG_BEH

IntlChar::JG_BETH

IntlChar::JG_DAL

IntlChar::JG_DALATH_RISH

IntlChar::JG_E

IntlChar::JG_FEH

IntlChar::JG_FINAL_SEMKATH

IntlChar::JG_GAF

IntlChar::JG_GAMAL

IntlChar::JG_HAH

IntlChar::JG_TEH_MARBUTA_GOAL

IntlChar::JG_HAMZA_ON_HEH_GOAL

IntlChar::JG_HE

IntlChar::JG_HEH

IntlChar::JG_HEH_GOAL

IntlChar::JG_HETH

IntlChar::JG_KAF

IntlChar::JG_KAPH

IntlChar::JG_KNOTTED_HEH

IntlChar::JG_LAM

IntlChar::JG_LAMADH

IntlChar::JG_MEEM

IntlChar::JG_MIM

IntlChar::JG_NOON

IntlChar::JG_NUN

IntlChar::JG_PE

IntlChar::JG_QAF

IntlChar::JG_QAPH

IntlChar::JG_REH

IntlChar::JG_REVERSED_PE

IntlChar::JG_SAD

IntlChar::JG_SADHE

IntlChar::JG_SEEN

IntlChar::JG_SEMKATH

IntlChar::JG_SHIN

IntlChar::JG_SWASH_KAF

IntlChar::JG_SYRIAC_WAW

IntlChar::JG_TAH

IntlChar::JG_TAW

IntlChar::JG_TEH_MARBUTA

IntlChar::JG_TETH

IntlChar::JG_WAW

IntlChar::JG_YEH

IntlChar::JG_YEH_BARREE

IntlChar::JG_YEH_WITH_TAIL

IntlChar::JG_YUDH

IntlChar::JG_YUDH_HE

IntlChar::JG_ZAIN

IntlChar::JG_FE

IntlChar::JG_KHAPH

IntlChar::JG_ZHAIN

IntlChar::JG_BURUSHASKI_YEH_BARREE

IntlChar::JG_FARSI_YEH

IntlChar::JG_NYA

IntlChar::JG_ROHINGYA_YEH

IntlChar::JG_MANICHAEAN_ALEPH

IntlChar::JG_MANICHAEAN_AYIN

IntlChar::JG_MANICHAEAN_BETH

IntlChar::JG_MANICHAEAN_DALETH

IntlChar::JG_MANICHAEAN_DHAMEDH

IntlChar::JG_MANICHAEAN_FIVE

IntlChar::JG_MANICHAEAN_GIMEL

IntlChar::JG_MANICHAEAN_HETH

IntlChar::JG_MANICHAEAN_HUNDRED

IntlChar::JG_MANICHAEAN_KAPH

IntlChar::JG_MANICHAEAN_LAMEDH

IntlChar::JG_MANICHAEAN_MEM

IntlChar::JG_MANICHAEAN_NUN

IntlChar::JG_MANICHAEAN_ONE

IntlChar::JG_MANICHAEAN_PE

IntlChar::JG_MANICHAEAN_QOPH

IntlChar::JG_MANICHAEAN_RESH

IntlChar::JG_MANICHAEAN_SADHE

IntlChar::JG_MANICHAEAN_SAMEKH

IntlChar::JG_MANICHAEAN_TAW

IntlChar::JG_MANICHAEAN_TEN

IntlChar::JG_MANICHAEAN_TETH

IntlChar::JG_MANICHAEAN_THAMEDH

IntlChar::JG_MANICHAEAN_TWENTY

IntlChar::JG_MANICHAEAN_WAW

IntlChar::JG_MANICHAEAN_YODH

IntlChar::JG_MANICHAEAN_ZAYIN

IntlChar::JG_STRAIGHT_WAW

IntlChar::JG_COUNT

IntlChar::GCB_OTHER

IntlChar::GCB_CONTROL

IntlChar::GCB_CR

IntlChar::GCB_EXTEND

IntlChar::GCB_L

IntlChar::GCB_LF

IntlChar::GCB_LV

IntlChar::GCB_LVT

IntlChar::GCB_T

IntlChar::GCB_V

IntlChar::GCB_SPACING_MARK

IntlChar::GCB_PREPEND

IntlChar::GCB_REGIONAL_INDICATOR

IntlChar::GCB_COUNT

IntlChar::WB_OTHER

IntlChar::WB_ALETTER

IntlChar::WB_FORMAT

IntlChar::WB_KATAKANA

IntlChar::WB_MIDLETTER

IntlChar::WB_MIDNUM

IntlChar::WB_NUMERIC

IntlChar::WB_EXTENDNUMLET

IntlChar::WB_CR

IntlChar::WB_EXTEND

IntlChar::WB_LF

IntlChar::WB_MIDNUMLET

IntlChar::WB_NEWLINE

IntlChar::WB_REGIONAL_INDICATOR

IntlChar::WB_HEBREW_LETTER

IntlChar::WB_SINGLE_QUOTE

IntlChar::WB_DOUBLE_QUOTE

IntlChar::WB_COUNT

IntlChar::SB_OTHER

IntlChar::SB_ATERM

IntlChar::SB_CLOSE

IntlChar::SB_FORMAT

IntlChar::SB_LOWER

IntlChar::SB_NUMERIC

IntlChar::SB_OLETTER

IntlChar::SB_SEP

IntlChar::SB_SP

IntlChar::SB_STERM

IntlChar::SB_UPPER

IntlChar::SB_CR

IntlChar::SB_EXTEND

IntlChar::SB_LF

IntlChar::SB_SCONTINUE

IntlChar::SB_COUNT

IntlChar::LB_UNKNOWN

IntlChar::LB_AMBIGUOUS

IntlChar::LB_ALPHABETIC

IntlChar::LB_BREAK_BOTH

IntlChar::LB_BREAK_AFTER

IntlChar::LB_BREAK_BEFORE

IntlChar::LB_MANDATORY_BREAK

IntlChar::LB_CONTINGENT_BREAK

IntlChar::LB_CLOSE_PUNCTUATION

IntlChar::LB_COMBINING_MARK

IntlChar::LB_CARRIAGE_RETURN

IntlChar::LB_EXCLAMATION

IntlChar::LB_GLUE

IntlChar::LB_HYPHEN

IntlChar::LB_IDEOGRAPHIC

IntlChar::LB_INSEPARABLE

IntlChar::LB_INSEPERABLE

IntlChar::LB_INFIX_NUMERIC

IntlChar::LB_LINE_FEED

IntlChar::LB_NONSTARTER

IntlChar::LB_NUMERIC

IntlChar::LB_OPEN_PUNCTUATION

IntlChar::LB_POSTFIX_NUMERIC

IntlChar::LB_PREFIX_NUMERIC

IntlChar::LB_QUOTATION

IntlChar::LB_COMPLEX_CONTEXT

IntlChar::LB_SURROGATE

IntlChar::LB_SPACE

IntlChar::LB_BREAK_SYMBOLS

IntlChar::LB_ZWSPACE

IntlChar::LB_NEXT_LINE

IntlChar::LB_WORD_JOINER

IntlChar::LB_H2

IntlChar::LB_H3

IntlChar::LB_JL

IntlChar::LB_JT

IntlChar::LB_JV

IntlChar::LB_CLOSE_PARENTHESIS

IntlChar::LB_CONDITIONAL_JAPANESE_STARTER

IntlChar::LB_HEBREW_LETTER

IntlChar::LB_REGIONAL_INDICATOR

IntlChar::LB_COUNT

IntlChar::NT_NONE

IntlChar::NT_DECIMAL

IntlChar::NT_DIGIT

IntlChar::NT_NUMERIC

IntlChar::NT_COUNT

IntlChar::HST_NOT_APPLICABLE

IntlChar::HST_LEADING_JAMO

IntlChar::HST_VOWEL_JAMO

IntlChar::HST_TRAILING_JAMO

IntlChar::HST_LV_SYLLABLE

IntlChar::HST_LVT_SYLLABLE

IntlChar::HST_COUNT

IntlChar::FOLD_CASE_DEFAULT

IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.6 | The IntlChar::NO_NUMERIC_VALUE constant was added.

İçindekiler

  • IntlChar::charAge — Get the "age" of the code point
  • IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character
  • IntlChar::charDirection — Get bidirectional category value for a code point
  • IntlChar::charFromName — Find Unicode character by name and return its code point value
  • IntlChar::charMirror — Get the "mirror-image" character for a code point
  • IntlChar::charName — Retrieve the name of a Unicode character
  • IntlChar::charType — Get the general category value for a code point
  • IntlChar::chr — Return Unicode character by code point value
  • IntlChar::digit — Get the decimal digit value of a code point for a given radix
  • IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range
  • IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories
  • IntlChar::foldCase — Perform case folding on a code point
  • IntlChar::forDigit — Get character representation for a given digit and radix
  • IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point
  • IntlChar::getBlockCode — Get the Unicode allocation block containing a code point
  • IntlChar::getCombiningClass — Get the combining class of a code point
  • IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point
  • IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property
  • IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point
  • IntlChar::getNumericValue — Get the numeric value for a Unicode code point
  • IntlChar::getPropertyEnum — Get the property constant value for a given property name
  • IntlChar::getPropertyName — Get the Unicode name for a property
  • IntlChar::getPropertyValueEnum — Get the property value for a given value name
  • IntlChar::getPropertyValueName — Get the Unicode name for a property value
  • IntlChar::getUnicodeVersion — Get the Unicode version
  • IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point
  • IntlChar::isalnum — Check if code point is an alphanumeric character
  • IntlChar::isalpha — Check if code point is a letter character
  • IntlChar::isbase — Check if code point is a base character
  • IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character
  • IntlChar::iscntrl — Check if code point is a control character
  • IntlChar::isdefined — Check whether the code point is defined
  • IntlChar::isdigit — Check if code point is a digit character
  • IntlChar::isgraph — Check if code point is a graphic character
  • IntlChar::isIDIgnorable — Check if code point is an ignorable character
  • IntlChar::isIDPart — Check if code point is permissible in an identifier
  • IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier
  • IntlChar::isISOControl — Check if code point is an ISO control code
  • IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier
  • IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java
  • IntlChar::islower — Check if code point is a lowercase letter
  • IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property
  • IntlChar::isprint — Check if code point is a printable character
  • IntlChar::ispunct — Check if code point is punctuation character
  • IntlChar::isspace — Check if code point is a space character
  • IntlChar::istitle — Check if code point is a titlecase letter
  • IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property
  • IntlChar::isULowercase — Check if code point has the Lowercase Unicode property
  • IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property
  • IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU
  • IntlChar::isxdigit — Check if code point is a hexadecimal digit
  • IntlChar::ord — Return Unicode code point value of character
  • IntlChar::tolower — Make Unicode character lowercase
  • IntlChar::totitle — Make Unicode character titlecase
  • IntlChar::toupper — Make Unicode character uppercase


Get the "age" of the code point

  • « IntlChar
  • IntlChar::charDigitValue »
  • PHP Manual
  • IntlChar
  • Get the "age" of the code point

IntlChar::charAge

(PHP 7, PHP 8)

IntlChar::charAge — Get the "age" of the code point

Açıklama

public static IntlChar::charAge(int|string $codepoint): ?array

Gets the "age" of the code point.

The "age" is the Unicode version when the code point was first designated (as a non-character or for Private Use) or assigned a character. This can be useful to avoid emitting code points to receiving processes that do not accept newer characters.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

The Unicode version number, as an array. For example, version 1.3.31.2 would be represented as [1, 3, 31, 2]. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charage("\u{2603}"));
var_dump(IntlChar::charage("\u{1F576}"));
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  int(1)
  [1]=>
  int(1)
  [2]=>
  int(0)
  [3]=>
  int(0)
}
array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Ayrıca Bakınız

  • IntlChar::getUnicodeVersion() - Get the Unicode version
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point


Get the decimal digit value of a decimal digit character

  • « IntlChar::charAge
  • IntlChar::charDirection »
  • PHP Manual
  • IntlChar
  • Get the decimal digit value of a decimal digit character

IntlChar::charDigitValue

(PHP 7, PHP 8)

IntlChar::charDigitValue — Get the decimal digit value of a decimal digit character

Açıklama

public static IntlChar::charDigitValue(int|string $codepoint): ?int

Returns the decimal digit value of a decimal digit character.

Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

The decimal digit value of codepoint, or -1 if it is not a decimal digit character. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charDigitValue("1"));
var_dump(IntlChar::charDigitValue("\u{0662}"));
var_dump(IntlChar::charDigitValue("\u{0E53}"));
?>

Yukarıdaki örneğin çıktısı:

int(1)
int(2)
int(3)

Ayrıca Bakınız

  • IntlChar::getNumericValue() - Get the numeric value for a Unicode code point


Get bidirectional category value for a code point

  • « IntlChar::charDigitValue
  • IntlChar::charFromName »
  • PHP Manual
  • IntlChar
  • Get bidirectional category value for a code point

IntlChar::charDirection

(PHP 7, PHP 8)

IntlChar::charDirection — Get bidirectional category value for a code point

Açıklama

public static IntlChar::charDirection(int|string $codepoint): ?int

Returns the bidirectional category value for the code point, which is used in the » Unicode bidirectional algorithm (UAX #9).

Bilginize:

Some unassigned code points have bidi values of R or AL because they are in blocks that are reserved for Right-To-Left scripts.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

The bidirectional category value; one of the following constants:

  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
  • IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
  • IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
  • IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
  • IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
  • IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
  • IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
  • IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
  • IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
  • IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
  • IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
  • IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
  • IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
  • IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT
Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charDirection("A") === IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT);
var_dump(IntlChar::charDirection("\u{05E9}") === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::charDirection("+") === IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR);
var_dump(IntlChar::charDirection(".") === IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)


Find Unicode character by name and return its code point value

  • « IntlChar::charDirection
  • IntlChar::charMirror »
  • PHP Manual
  • IntlChar
  • Find Unicode character by name and return its code point value

IntlChar::charFromName

(PHP 7, PHP 8)

IntlChar::charFromName — Find Unicode character by name and return its code point value

Açıklama

public static IntlChar::charFromName(string $name, int $type = IntlChar::UNICODE_CHAR_NAME): ?int

Finds a Unicode character by its name and returns its code point value.

The name is matched exactly and completely. If the name does not correspond to a code point, null is returned.

A Unicode 1.0 name is matched only if it differs from the modern name. Unicode names are all uppercase. Extended names are lowercase followed by an uppercase hexadecimal number, and within angle brackets.

Bağımsız Değişkenler

name

Full name of the Unicode character.

type

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Dönen Değerler

The Unicode value of the code point with the given name (as an int), or null if there is no such code point.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charFromName("LATIN CAPITAL LETTER A"));
var_dump(IntlChar::charFromName("SNOWMAN"));
var_dump(IntlChar::charFromName("RECYCLING SYMBOL FOR TYPE-1 PLASTICS"));
var_dump(IntlChar::charFromName("A RANDOM STRING WHICH DOESN'T CORRESPOND TO ANY UNICODE CHARACTER"));
?>

Yukarıdaki örneğin çıktısı:

int(65)
int(9731)
int(9843)
NULL

Ayrıca Bakınız

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range


Get the "mirror-image" character for a code point

  • « IntlChar::charFromName
  • IntlChar::charName »
  • PHP Manual
  • IntlChar
  • Get the "mirror-image" character for a code point

IntlChar::charMirror

(PHP 7, PHP 8)

IntlChar::charMirror — Get the "mirror-image" character for a code point

Açıklama

public static IntlChar::charMirror(int|string $codepoint): int|string|null

Maps the specified character to a "mirror-image" character.

For characters with the Bidi_Mirrored property, implementations sometimes need a "poor man's" mapping to another Unicode character (code point) such that the default glyph may serve as the mirror-image of the default glyph of the specified character. This is useful for text conversion to and from codepages with visual order, and for displays without glyph selection capabilities.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns another Unicode code point that may serve as a mirror-image substitute, or codepoint itself if there is no such mapping or codepoint does not have the Bidi_Mirrored property.

Unicode karakter kodu string türünde ise dönüş türü string, Unicode karakter kodu int türündeyse dönüş türü int olacaktır. Başarısızlık durumunda null döner.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charMirror("A"));
var_dump(IntlChar::charMirror("<"));
var_dump(IntlChar::charMirror("("));
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
string(1) ">"
string(2) ")"

Ayrıca Bakınız

  • IntlChar::isMirrored() - Check if code point has the Bidi_Mirrored property
  • IntlChar::PROPERTY_BIDI_MIRRORED


Retrieve the name of a Unicode character

  • « IntlChar::charMirror
  • IntlChar::charType »
  • PHP Manual
  • IntlChar
  • Retrieve the name of a Unicode character

IntlChar::charName

(PHP 7, PHP 8)

IntlChar::charName — Retrieve the name of a Unicode character

Açıklama

public static IntlChar::charName(int|string $codepoint, int $type = IntlChar::UNICODE_CHAR_NAME): ?string

Retrieves the name of a Unicode character.

Depending on type, the resulting character name is the "modern" name or the name that was defined in Unicode version 1.0. The name contains only "invariant" characters like A-Z, 0-9, space, and '-'. Unicode 1.0 names are only retrieved if they are different from the modern names and if ICU contains the data for them.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

type

Which set of names to use for the lookup. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Dönen Değerler

The corresponding name, or an empty string if there is no name for this character, or null if there is no such code point.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charName("."));
var_dump(IntlChar::charName(".", IntlChar::UNICODE_CHAR_NAME));
var_dump(IntlChar::charName("\u{2603}"));
var_dump(IntlChar::charName("\u{0000}"));
?>

Yukarıdaki örneğin çıktısı:

string(9) "FULL STOP"
string(9) "FULL STOP"
string(7) "SNOWMAN"
string(0) ""

Ayrıca Bakınız

  • IntlChar::charFromName() - Find Unicode character by name and return its code point value
  • IntlChar::enumCharNames() - Enumerate all assigned Unicode characters within a range


Get the general category value for a code point

  • « IntlChar::charName
  • IntlChar::chr »
  • PHP Manual
  • IntlChar
  • Get the general category value for a code point

IntlChar::charType

(PHP 7, PHP 8)

IntlChar::charType — Get the general category value for a code point

Açıklama

public static IntlChar::charType(int|string $codepoint): ?int

Returns the general category value for the code point.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the general category type, which may be one of the following constants:

  • IntlChar::CHAR_CATEGORY_UNASSIGNED
  • IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES
  • IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER
  • IntlChar::CHAR_CATEGORY_TITLECASE_LETTER
  • IntlChar::CHAR_CATEGORY_MODIFIER_LETTER
  • IntlChar::CHAR_CATEGORY_OTHER_LETTER
  • IntlChar::CHAR_CATEGORY_NON_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_ENCLOSING_MARK
  • IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK
  • IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER
  • IntlChar::CHAR_CATEGORY_LETTER_NUMBER
  • IntlChar::CHAR_CATEGORY_OTHER_NUMBER
  • IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR
  • IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR
  • IntlChar::CHAR_CATEGORY_SURROGATE
  • IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_START_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_END_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_MATH_SYMBOL
  • IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL
  • IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL
  • IntlChar::CHAR_CATEGORY_OTHER_SYMBOL
  • IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION
  • IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::charType("A") === IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER);
var_dump(IntlChar::charType(".") === IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION);
var_dump(IntlChar::charType("\t") === IntlChar::CHAR_CATEGORY_CONTROL_CHAR);
var_dump(IntlChar::charType("\u{2603}") === IntlChar::CHAR_CATEGORY_OTHER_SYMBOL);
var_dump(IntlChar::charType("multiple chars") === null);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)
bool(true)


Return Unicode character by code point value

  • « IntlChar::charType
  • IntlChar::digit »
  • PHP Manual
  • IntlChar
  • Return Unicode character by code point value

IntlChar::chr

(PHP 7, PHP 8)

IntlChar::chr — Return Unicode character by code point value

Açıklama

public static IntlChar::chr(int|string $codepoint): ?string

Returns a string containing the character specified by the Unicode code point value.

This function complements IntlChar::ord().

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

A string containing the single character specified by the Unicode code point value, or null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
$values = ["A", 63, 123, 9731];
foreach ($values as $value) {
var_dump(IntlChar::chr($value));
}
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
string(1) "?"
string(1) "{"
string(3) "?"

Ayrıca Bakınız

  • IntlChar::ord() - Return Unicode code point value of character
  • mb_chr() - Unicode karakter koduna göre karakteri döndürür
  • chr() - Bir sayıdan tek baytlık dizge üretir


Get the decimal digit value of a code point for a given radix

  • « IntlChar::chr
  • IntlChar::enumCharNames »
  • PHP Manual
  • IntlChar
  • Get the decimal digit value of a code point for a given radix

IntlChar::digit

(PHP 7, PHP 8)

IntlChar::digit — Get the decimal digit value of a code point for a given radix

Açıklama

public static IntlChar::digit(int|string $codepoint, int $base = 10): int|false|null

Returns the decimal digit value of the code point in the specified radix.

If the radix is not in the range 2<=radix<=36 or if the value of codepoint is not a valid digit in the specified radix, false is returned. A character is a valid digit if at least one of the following is true:

  • The character has a decimal digit value. Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal. In this case the value is the character's decimal digit value.
  • The character is one of the uppercase Latin letters 'A' through 'Z'. In this case the value is c-'A'+10.
  • The character is one of the lowercase Latin letters 'a' through 'z'. In this case the value is ch-'a'+10.
  • Latin letters from both the ASCII range (0061..007A, 0041..005A) as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A) are recognized.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

base

The radix (defaults to 10).

Dönen Değerler

Returns the numeric value represented by the character in the specified radix, or false if there is no value or if the value exceeds the radix. Returns null on failure.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::digit("0"));
var_dump(IntlChar::digit("3"));
var_dump(IntlChar::digit("A"));
var_dump(IntlChar::digit("A", 16));
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(3)
bool(false)
int(10)

Ayrıca Bakınız

  • IntlChar::forDigit() - Get character representation for a given digit and radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE


Enumerate all assigned Unicode characters within a range

  • « IntlChar::digit
  • IntlChar::enumCharTypes »
  • PHP Manual
  • IntlChar
  • Enumerate all assigned Unicode characters within a range

IntlChar::enumCharNames

(PHP 7, PHP 8)

IntlChar::enumCharNames — Enumerate all assigned Unicode characters within a range

Açıklama

public static IntlChar::enumCharNames(
int|string $start,
int|string $end,
callable $callback,
int $type = IntlChar::UNICODE_CHAR_NAME
): ?bool

Enumerate all assigned Unicode characters between the start and limit code points (start inclusive, limit exclusive) and call a function for each, passing the code point value and the character name.

For Unicode 1.0 names, only those are enumerated that differ from the modern names.

Bağımsız Değişkenler

start

The first code point in the enumeration range.

end

One more than the last code point in the enumeration range (the first one after the range).

callback

The function that is to be called for each character name. The following three arguments will be passed into it:

  • int $codepoint - The numeric code point value
  • int $nameChoice - The same value as the type parameter below
  • string $name - The name of the character

type

Selector for which kind of names to enumerate. Can be any of these constants:

  • IntlChar::UNICODE_CHAR_NAME (default)
  • IntlChar::UNICODE_10_CHAR_NAME
  • IntlChar::EXTENDED_CHAR_NAME
  • IntlChar::CHAR_NAME_ALIAS
  • IntlChar::CHAR_NAME_CHOICE_COUNT

Dönen Değerler

Başarı durumunda null, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharNames(0x2600, 0x2610, function($codepoint, $nameChoice, $name) {
printf("U+%04x %s\n", $codepoint, $name);
});
?>

Yukarıdaki örneğin çıktısı:

U+2600 BLACK SUN WITH RAYS
U+2601 CLOUD
U+2602 UMBRELLA
U+2603 SNOWMAN
U+2604 COMET
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2607 LIGHTNING
U+2608 THUNDERSTORM
U+2609 SUN
U+260a ASCENDING NODE
U+260b DESCENDING NODE
U+260c CONJUNCTION
U+260d OPPOSITION
U+260e BLACK TELEPHONE
U+260f WHITE TELEPHONE

Ayrıca Bakınız

  • IntlChar::charName() - Retrieve the name of a Unicode character
  • IntlChar::charFromName() - Find Unicode character by name and return its code point value


Enumerate all code points with their Unicode general categories

  • « IntlChar::enumCharNames
  • IntlChar::foldCase »
  • PHP Manual
  • IntlChar
  • Enumerate all code points with their Unicode general categories

IntlChar::enumCharTypes

(PHP 7, PHP 8)

IntlChar::enumCharTypes — Enumerate all code points with their Unicode general categories

Açıklama

public static IntlChar::enumCharTypes(callable $callback): void

Enumerates efficiently all code points with their Unicode general categories. This is useful for building data structures, for enumerating all assigned code points, etc.

For each contiguous range of code points with a given general category ("character type"), the callback function is called. Adjacent ranges have different types. The Unicode Standard guarantees that the numeric value of the type is 0..31.

Bağımsız Değişkenler

callback

The function that is to be called for each contiguous range of code points with the same general category. The following three arguments will be passed into it:

  • int $start - The starting code point of the range
  • int $end - The ending code point of the range
  • int $name - The category type (one of the IntlChar::CHAR_CATEGORY_* constants)

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Enumerating over a sample range of code points

<?php
IntlChar::enumCharTypes(function($start, $end, $type) {
printf("U+%04x through U+%04x are in category %d\n", $start, $end, $type);
});
?>

Yukarıdaki örneğin çıktısı:

U+0000 through U+0020 are in category 15
U+0020 through U+0021 are in category 12
U+0021 through U+0024 are in category 23
U+0024 through U+0025 are in category 25
U+0025 through U+0028 are in category 23
U+0028 through U+0029 are in category 20
U+0029 through U+002a are in category 21
U+002a through U+002b are in category 23
U+002b through U+002c are in category 24
U+002c through U+002d are in category 23
U+002d through U+002e are in category 19
U+002e through U+0030 are in category 23
U+0030 through U+003a are in category 9
...


Perform case folding on a code point

  • « IntlChar::enumCharTypes
  • IntlChar::forDigit »
  • PHP Manual
  • IntlChar
  • Perform case folding on a code point

IntlChar::foldCase

(PHP 7, PHP 8)

IntlChar::foldCase — Perform case folding on a code point

Açıklama

public static IntlChar::foldCase(int|string $codepoint, int $options = IntlChar::FOLD_CASE_DEFAULT): int|string|null

The given character is mapped to its case folding equivalent; if the character has no case folding equivalent, the character itself is returned.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

options

Either IntlChar::FOLD_CASE_DEFAULT (default) or IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I.

Dönen Değerler

Returns the Simple_Case_Folding of the code point, if any; otherwise the code point itself on success, or null on failure.


Get character representation for a given digit and radix

  • « IntlChar::foldCase
  • IntlChar::getBidiPairedBracket »
  • PHP Manual
  • IntlChar
  • Get character representation for a given digit and radix

IntlChar::forDigit

(PHP 7, PHP 8)

IntlChar::forDigit — Get character representation for a given digit and radix

Açıklama

public static IntlChar::forDigit(int $digit, int $base = 10): int

Determines the character representation for a specific digit in the specified radix.

If the value of radix is not a valid radix, or the value of digit is not a valid digit in the specified radix, the null character (U+0000) is returned.

The radix argument is valid if it is greater than or equal to 2 and less than or equal to 36. The digit argument is valid if 0 <= digit < radix.

If the digit is less than 10, then '0' + digit is returned. Otherwise, the value 'a' + digit - 10 is returned.

Bağımsız Değişkenler

digit

The number to convert to a character.

base

The radix (defaults to 10).

Dönen Değerler

The character representation (as a string) of the specified digit in the specified radix.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::forDigit(0));
var_dump(IntlChar::forDigit(3));
var_dump(IntlChar::forDigit(3, 10));
var_dump(IntlChar::forDigit(10));
var_dump(IntlChar::forDigit(10, 16));
?>

Yukarıdaki örneğin çıktısı:

int(48)
int(51)
int(51)
int(0)
int(97)

Ayrıca Bakınız

  • IntlChar::digit() - Get the decimal digit value of a code point for a given radix
  • IntlChar::charDigitValue() - Get the decimal digit value of a decimal digit character
  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::PROPERTY_NUMERIC_TYPE


Get the paired bracket character for a code point

  • « IntlChar::forDigit
  • IntlChar::getBlockCode »
  • PHP Manual
  • IntlChar
  • Get the paired bracket character for a code point

IntlChar::getBidiPairedBracket

(PHP 7, PHP 8)

IntlChar::getBidiPairedBracket — Get the paired bracket character for a code point

Açıklama

public static IntlChar::getBidiPairedBracket(int|string $codepoint): int|string|null

Maps the specified character to its paired bracket character.

For Bidi_Paired_Bracket_Type!=None, this is the same as IntlChar::charMirror(). Otherwise codepoint itself is returned.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the paired bracket code point, or codepoint itself if there is no such mapping. Returns null on failure.

Unicode karakter kodu string türünde ise dönüş türü string, Unicode karakter kodu int türündeyse dönüş türü int olacaktır. Başarısızlık durumunda null döner.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::getBidiPairedBracket(91));
var_dump(IntlChar::getBidiPairedBracket('['));
?>

Yukarıdaki örneğin çıktısı:

int(93)
string(1) "]"

Ayrıca Bakınız

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET
  • IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE


Get the Unicode allocation block containing a code point

  • « IntlChar::getBidiPairedBracket
  • IntlChar::getCombiningClass »
  • PHP Manual
  • IntlChar
  • Get the Unicode allocation block containing a code point

IntlChar::getBlockCode

(PHP 7, PHP 8)

IntlChar::getBlockCode — Get the Unicode allocation block containing a code point

Açıklama

public static IntlChar::getBlockCode(int|string $codepoint): ?int

Returns the Unicode allocation block that contains the character.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the block value for codepoint. See the IntlChar::BLOCK_CODE_* constants for possible return values. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::getBlockCode("A") === IntlChar::BLOCK_CODE_BASIC_LATIN);
var_dump(IntlChar::getBlockCode("?") === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getBlockCode("\u{2603}") === IntlChar::BLOCK_CODE_MISCELLANEOUS_SYMBOLS);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)


Get the combining class of a code point

  • « IntlChar::getBlockCode
  • IntlChar::getFC_NFKC_Closure »
  • PHP Manual
  • IntlChar
  • Get the combining class of a code point

IntlChar::getCombiningClass

(PHP 7, PHP 8)

IntlChar::getCombiningClass — Get the combining class of a code point

Açıklama

public static IntlChar::getCombiningClass(int|string $codepoint): ?int

Returns the combining class of the code point.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the combining class of the character. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::getCombiningClass("A"));
var_dump(IntlChar::getCombiningClass("\u{0334}"));
var_dump(IntlChar::getCombiningClass("\u{0358}"));
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(1)
int(232)


Get the FC_NFKC_Closure property for a code point

  • « IntlChar::getCombiningClass
  • IntlChar::getIntPropertyMaxValue »
  • PHP Manual
  • IntlChar
  • Get the FC_NFKC_Closure property for a code point

IntlChar::getFC_NFKC_Closure

(PHP 7, PHP 8)

IntlChar::getFC_NFKC_Closure — Get the FC_NFKC_Closure property for a code point

Açıklama

public static IntlChar::getFC_NFKC_Closure(int|string $codepoint): string|false|null

Gets the FC_NFKC_Closure property string for a character.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the FC_NFKC_Closure property string for the codepoint, or an empty string if there is none. Returns null or false on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::getFC_NFKC_Closure("\u{2121}"));
var_dump(IntlChar::getFC_NFKC_Closure("\u{1D2D}"));
?>

Yukarıdaki örneğin çıktısı:

string(3) "tel"
string(2) "æ"


Get the max value for a Unicode property

  • « IntlChar::getFC_NFKC_Closure
  • IntlChar::getIntPropertyMinValue »
  • PHP Manual
  • IntlChar
  • Get the max value for a Unicode property

IntlChar::getIntPropertyMaxValue

(PHP 7, PHP 8)

IntlChar::getIntPropertyMaxValue — Get the max value for a Unicode property

Açıklama

public static IntlChar::getIntPropertyMaxValue(int $property): int

Gets the maximum value for an enumerated/integer/binary Unicode property.

Bağımsız Değişkenler

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

Dönen Değerler

The maximum value returned by IntlChar::getIntPropertyValue() for a Unicode property. <=0 if the property selector is out of range.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMaxValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMaxValue(999999999)); // Some made-up value
?>

Yukarıdaki örneğin çıktısı:

int(22)
int(166)
int(1)
int(-1)

Ayrıca Bakınız

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the min value for a Unicode property

  • « IntlChar::getIntPropertyMaxValue
  • IntlChar::getIntPropertyValue »
  • PHP Manual
  • IntlChar
  • Get the min value for a Unicode property

IntlChar::getIntPropertyMinValue

(PHP 7, PHP 8)

IntlChar::getIntPropertyMinValue — Get the min value for a Unicode property

Açıklama

public static IntlChar::getIntPropertyMinValue(int $property): int

Gets the minimum value for an enumerated/integer/binary Unicode property.

Bağımsız Değişkenler

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

Dönen Değerler

The minimum value returned by IntlChar::getIntPropertyValue() for a Unicode property. 0 if the property selector is out of range.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_SCRIPT));
var_dump(IntlChar::getIntPropertyMinValue(IntlChar::PROPERTY_IDEOGRAPHIC));
var_dump(IntlChar::getIntPropertyMinValue(999999999)); // Some made-up value
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(0)
int(0)
int(0)

Ayrıca Bakınız

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the value for a Unicode property for a code point

  • « IntlChar::getIntPropertyMinValue
  • IntlChar::getNumericValue »
  • PHP Manual
  • IntlChar
  • Get the value for a Unicode property for a code point

IntlChar::getIntPropertyValue

(PHP 7, PHP 8)

IntlChar::getIntPropertyValue — Get the value for a Unicode property for a code point

Açıklama

public static IntlChar::getIntPropertyValue(int|string $codepoint, int $property): ?int

Gets the property value for an enumerated or integer Unicode property for a code point. Also returns binary and mask property values.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

Dönen Değerler

Returns the numeric value that is directly the property value or, for enumerated properties, corresponds to the numeric value of the enumerated constant of the respective property value enumeration type. Returns null on failure.

Returns 0 or 1 (for false/true) for binary Unicode properties.

Returns a bit-mask for mask properties.

Returns 0 if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getIntPropertyValue("A", IntlChar::PROPERTY_ALPHABETIC) === 1);
var_dump(IntlChar::getIntPropertyValue("[", IntlChar::PROPERTY_BIDI_MIRRORED) === 1);
var_dump(IntlChar::getIntPropertyValue("?", IntlChar::PROPERTY_BLOCK) === IntlChar::BLOCK_CODE_GREEK);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::getIntPropertyMinValue() - Get the min value for a Unicode property
  • IntlChar::getIntPropertyMaxValue() - Get the max value for a Unicode property
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Get the numeric value for a Unicode code point

  • « IntlChar::getIntPropertyValue
  • IntlChar::getPropertyEnum »
  • PHP Manual
  • IntlChar
  • Get the numeric value for a Unicode code point

IntlChar::getNumericValue

(PHP 7, PHP 8)

IntlChar::getNumericValue — Get the numeric value for a Unicode code point

Açıklama

public static IntlChar::getNumericValue(int|string $codepoint): ?float

Gets the numeric value for a Unicode code point as defined in the Unicode Character Database.

For characters without any numeric values in the Unicode Character Database, this function will return IntlChar::NO_NUMERIC_VALUE.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Numeric value of codepoint, or IntlChar::NO_NUMERIC_VALUE if none is defined. This constant was added in PHP 7.0.6, prior to this version the literal value (float)-123456789 may be used instead. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::getNumericValue("4"));
var_dump(IntlChar::getNumericValue("x"));
var_dump(IntlChar::getNumericValue("\u{216C}"));
?>

Yukarıdaki örneğin çıktısı:

float(4)
float(-123456789)
float(50)


Get the property constant value for a given property name

  • « IntlChar::getNumericValue
  • IntlChar::getPropertyName »
  • PHP Manual
  • IntlChar
  • Get the property constant value for a given property name

IntlChar::getPropertyEnum

(PHP 7, PHP 8)

IntlChar::getPropertyEnum — Get the property constant value for a given property name

Açıklama

public static IntlChar::getPropertyEnum(string $alias): int

Returns the property constant value for a given property name, as specified in the Unicode database file PropertyAliases.txt. Short, long, and any other variants are recognized.

In addition, this function maps the synthetic names "gcm" / "General_Category_Mask" to the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK. These names are not in PropertyAliases.txt.

This function complements IntlChar::getPropertyName().

Bağımsız Değişkenler

alias

The property name to be matched. The name is compared using "loose matching" as described in PropertyAliases.txt.

Dönen Değerler

Returns an IntlChar::PROPERTY_ constant value, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any property.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getPropertyEnum('Bidi_Class') === IntlChar::PROPERTY_BIDI_CLASS);
var_dump(IntlChar::getPropertyEnum('script') === IntlChar::PROPERTY_SCRIPT);
var_dump(IntlChar::getPropertyEnum('IDEOGRAPHIC') === IntlChar::PROPERTY_IDEOGRAPHIC);
var_dump(IntlChar::getPropertyEnum('Some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::getPropertyName() - Get the Unicode name for a property


Get the Unicode name for a property

  • « IntlChar::getPropertyEnum
  • IntlChar::getPropertyValueEnum »
  • PHP Manual
  • IntlChar
  • Get the Unicode name for a property

IntlChar::getPropertyName

(PHP 7, PHP 8)

IntlChar::getPropertyName — Get the Unicode name for a property

Açıklama

public static IntlChar::getPropertyName(int $property, int $type = IntlChar::LONG_PROPERTY_NAME): string|false

Returns the Unicode name for a given property, as given in the Unicode database file PropertyAliases.txt.

In addition, this function maps the property IntlChar::PROPERTY_GENERAL_CATEGORY_MASK to the synthetic names "gcm" / "General_Category_Mask". These names are not in PropertyAliases.txt.

This function complements IntlChar::getPropertyEnum().

Bağımsız Değişkenler

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

IntlChar::PROPERTY_INVALID_CODE should not be used. Also, if property is out of range, false is returned.

type

Selector for which name to get. If out of range, false is returned.

All properties have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Dönen Değerler

Returns the name, or false if either the property or the type is out of range.

If a given type returns false, then all larger values of type will return false, with one exception: if false is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-false value.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyName(IntlChar::PROPERTY_BIDI_CLASS, IntlChar::LONG_PROPERTY_NAME + 1));
?>

Yukarıdaki örneğin çıktısı:

string(10) "Bidi_Class"
string(2) "bc"
string(10) "Bidi_Class"
bool(false)

Ayrıca Bakınız

  • IntlChar::getPropertyEnum() - Get the property constant value for a given property name


Get the property value for a given value name

  • « IntlChar::getPropertyName
  • IntlChar::getPropertyValueName »
  • PHP Manual
  • IntlChar
  • Get the property value for a given value name

IntlChar::getPropertyValueEnum

(PHP 7, PHP 8)

IntlChar::getPropertyValueEnum — Get the property value for a given value name

Açıklama

public static IntlChar::getPropertyValueEnum(int $property, string $name): int

Returns the property value integer for a given value name, as specified in the Unicode database file PropertyValueAliases.txt. Short, long, and any other variants are recognized.

Bilginize:

Some of the names in PropertyValueAliases.txt will only be recognized with IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Bağımsız Değişkenler

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

If out of range, or this method doesn't work with the given value, IntlChar::PROPERTY_INVALID_CODE is returned.

name

The value name to be matched. The name is compared using "loose matching" as described in PropertyValueAliases.txt.

Dönen Değerler

Returns the corresponding value integer, or IntlChar::PROPERTY_INVALID_CODE if the given name does not match any value of the given property, or if the property is invalid.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BLOCK, 'greek') === IntlChar::BLOCK_CODE_GREEK);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'RIGHT_TO_LEFT') === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
var_dump(IntlChar::getPropertyValueEnum(IntlChar::PROPERTY_BIDI_CLASS, 'some made-up string') === IntlChar::PROPERTY_INVALID_CODE);
var_dump(IntlChar::getPropertyValueEnum(123456789, 'RIGHT_TO_LEFT') === IntlChar::PROPERTY_INVALID_CODE);
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)


Get the Unicode name for a property value

  • « IntlChar::getPropertyValueEnum
  • IntlChar::getUnicodeVersion »
  • PHP Manual
  • IntlChar
  • Get the Unicode name for a property value

IntlChar::getPropertyValueName

(PHP 7, PHP 8)

IntlChar::getPropertyValueName — Get the Unicode name for a property value

Açıklama

public static IntlChar::getPropertyValueName(int $property, int $value, int $type = IntlChar::LONG_PROPERTY_NAME): string|false

Returns the Unicode name for a given property value, as given in the Unicode database file PropertyValueAliases.txt.

Bilginize:

Some of the names in PropertyValueAliases.txt can only be retrieved using IntlChar::PROPERTY_GENERAL_CATEGORY_MASK, not IntlChar::PROPERTY_GENERAL_CATEGORY. These include:

  • "C" / "Other"
  • "L" / "Letter"
  • "LC" / "Cased_Letter"
  • "M" / "Mark"
  • "N" / "Number"
  • "P" / "Punctuation"
  • "S" / "Symbol"
  • "Z" / "Separator"

Bağımsız Değişkenler

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

If out of range, or this method doesn't work with the given value, false is returned.

value

Selector for a value for the given property. If out of range, false is returned.

In general, valid values range from 0 up to some maximum. There are a couple exceptions:

  • IntlChar::PROPERTY_BLOCK values begin at the non-zero value IntlChar::BLOCK_CODE_BASIC_LATIN
  • IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS values are not contiguous and range from 0..240.

type

Selector for which name to get. If out of range, false is returned.

All values have a long name. Most have a short name, but some do not. Unicode allows for additional names; if present these will be returned by adding 1, 2, etc. to IntlChar::LONG_PROPERTY_NAME.

Dönen Değerler

Returns the name, or false if either the property or the type is out of range. Returns null on failure.

If a given type returns false, then all larger values of type will return false, with one exception: if false is returned for IntlChar::SHORT_PROPERTY_NAME, then IntlChar::LONG_PROPERTY_NAME (and higher) may still return a non-false value.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME + 1));
?>

Yukarıdaki örneğin çıktısı:

string(16) "Greek_And_Coptic"
string(5) "Greek"
string(16) "Greek_And_Coptic"
bool(false)


Get the Unicode version

  • « IntlChar::getPropertyValueName
  • IntlChar::hasBinaryProperty »
  • PHP Manual
  • IntlChar
  • Get the Unicode version

IntlChar::getUnicodeVersion

(PHP 7, PHP 8)

IntlChar::getUnicodeVersion — Get the Unicode version

Açıklama

public static IntlChar::getUnicodeVersion(): array

Gets the Unicode version information.

The version array is filled in with the version information for the Unicode standard that is currently used by ICU. For example, Unicode version 3.1.1 is represented as an array with the values [3, 1, 1, 0].

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing the Unicode version number.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::getUnicodeVersion());
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  int(7)
  [1]=>
  int(0)
  [2]=>
  int(0)
  [3]=>
  int(0)
}

Ayrıca Bakınız

  • IntlChar::charAge() - Get the "age" of the code point


Check a binary Unicode property for a code point

  • « IntlChar::getUnicodeVersion
  • IntlChar::isalnum »
  • PHP Manual
  • IntlChar
  • Check a binary Unicode property for a code point

IntlChar::hasBinaryProperty

(PHP 7, PHP 8)

IntlChar::hasBinaryProperty — Check a binary Unicode property for a code point

Açıklama

public static IntlChar::hasBinaryProperty(int|string $codepoint, int $property): ?bool

Checks a binary Unicode property for a code point.

Unicode, especially in version 3.2, defines many more properties than the original set in UnicodeData.txt.

The properties APIs are intended to reflect Unicode properties as defined in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR). For details about the properties see » http://www.unicode.org/ucd/. For names of Unicode properties see the UCD file PropertyAliases.txt.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

property

Aranacak Unicode özelliği (bkz. IntlChar::PROPERTY_* sabitleri).

Dönen Değerler

Returns true or false according to the binary Unicode property value for codepoint. Also false if property is out of bounds or if the Unicode version does not have data for the property at all, or not for this code point. Returns null on failure.

Örnekler

Örnek 1 Farklı özelliklerin denenmesi

<?php
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("A", IntlChar::PROPERTY_BIDI_MIRRORED));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_ALPHABETIC));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_CASE_SENSITIVE));
var_dump(IntlChar::hasBinaryProperty("[", IntlChar::PROPERTY_BIDI_MIRRORED));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • IntlChar::getIntPropertyValue() - Get the value for a Unicode property for a code point
  • IntlChar::getUnicodeVersion() - Get the Unicode version


Check if code point is an alphanumeric character

  • « IntlChar::hasBinaryProperty
  • IntlChar::isalpha »
  • PHP Manual
  • IntlChar
  • Check if code point is an alphanumeric character

IntlChar::isalnum

(PHP 7, PHP 8)

IntlChar::isalnum — Check if code point is an alphanumeric character

Açıklama

public static IntlChar::isalnum(int|string $codepoint): ?bool

Determines whether the specified code point is an alphanumeric character (letter or digit). true for characters with general categories "L" (letters) and "Nd" (decimal digit numbers).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is an alphanumeric character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isalnum("A"));
var_dump(IntlChar::isalnum("1"));
var_dump(IntlChar::isalnum("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character
  • ctype_alnum() - Sınama, abecesayısal karakterler için yapılır


Check if code point is a letter character

  • « IntlChar::isalnum
  • IntlChar::isbase »
  • PHP Manual
  • IntlChar
  • Check if code point is a letter character

IntlChar::isalpha

(PHP 7, PHP 8)

IntlChar::isalpha — Check if code point is a letter character

Açıklama

public static IntlChar::isalpha(int|string $codepoint): ?bool

Determines whether the specified code point is a letter character. true for general categories "L" (letters).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a letter character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isalpha("A"));
var_dump(IntlChar::isalpha("1"));
var_dump(IntlChar::isalpha("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isdigit() - Check if code point is a digit character
  • ctype_alpha() - Sınama, abecesel karakterler için yapılır


Check if code point is a base character

  • « IntlChar::isalpha
  • IntlChar::isblank »
  • PHP Manual
  • IntlChar
  • Check if code point is a base character

IntlChar::isbase

(PHP 7, PHP 8)

IntlChar::isbase — Check if code point is a base character

Açıklama

public static IntlChar::isbase(int|string $codepoint): ?bool

Determines whether the specified code point is a base character. true for general categories "L" (letters), "N" (numbers), "Mc" (spacing combining marks), and "Me" (enclosing marks).

Bilginize:

This is different from the Unicode definition in chapter 3.5, conformance clause D13, which defines base characters to be all characters (not Cn) that do not graphically combine with preceding characters (M) and that are neither control (Cc) or format (Cf) characters.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a base character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isbase("A"));
var_dump(IntlChar::isbase("1"));
var_dump(IntlChar::isbase("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is a "blank" or "horizontal space" character

  • « IntlChar::isbase
  • IntlChar::iscntrl »
  • PHP Manual
  • IntlChar
  • Check if code point is a "blank" or "horizontal space" character

IntlChar::isblank

(PHP 7, PHP 8)

IntlChar::isblank — Check if code point is a "blank" or "horizontal space" character

Açıklama

public static IntlChar::isblank(int|string $codepoint): ?bool

Determines whether the specified code point is a "blank" or "horizontal space", a character that visibly separates words on a line.

The following are equivalent definitions:

  • true for Unicode White_Space characters except for "vertical space controls" where "vertical space controls" are the following characters: U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS)
  • true for U+0009 (TAB) and characters with general category "Zs" (space separators) except Zero Width Space (ZWSP, U+200B).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is either a "blank" or "horizontal space" character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isblank("A"));
var_dump(IntlChar::isblank(" "));
var_dump(IntlChar::isblank("\t"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU


Check if code point is a control character

  • « IntlChar::isblank
  • IntlChar::isdefined »
  • PHP Manual
  • IntlChar
  • Check if code point is a control character

IntlChar::iscntrl

(PHP 7, PHP 8)

IntlChar::iscntrl — Check if code point is a control character

Açıklama

public static IntlChar::iscntrl(int|string $codepoint): ?bool

Determines whether the specified code point is a control character.

A control character is one of the following:

  • ISO 8-bit control character (U+0000..U+001f and U+007f..U+009f)
  • IntlChar::CHAR_CATEGORY_CONTROL_CHAR (Cc)
  • IntlChar::CHAR_CATEGORY_FORMAT_CHAR (Cf)
  • IntlChar::CHAR_CATEGORY_LINE_SEPARATOR (Zl)
  • IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR (Zp)

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a control character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::iscntrl("A"));
var_dump(IntlChar::iscntrl(" "));
var_dump(IntlChar::iscntrl("\n"));
var_dump(IntlChar::iscntrl("\u{200e}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::isprint() - Check if code point is a printable character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT
  • ctype_cntrl() - Sınama, denetim karakterleri için yapılır


Check whether the code point is defined

  • « IntlChar::iscntrl
  • IntlChar::isdigit »
  • PHP Manual
  • IntlChar
  • Check whether the code point is defined

IntlChar::isdefined

(PHP 7, PHP 8)

IntlChar::isdefined — Check whether the code point is defined

Açıklama

public static IntlChar::isdefined(int|string $codepoint): ?bool

Determines whether the specified code point is "defined", which usually means that it is assigned a character.

true for general categories other than "Cn" (other, not assigned).

Bilginize:

Note that non-character code points (e.g., U+FDD0) are not "defined" (they are Cn), but surrogate code points are "defined" (Cs).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a defined character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isdefined("A"));
var_dump(IntlChar::isdefined(" "));
var_dump(IntlChar::isdefined("\u{FDD0}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isdigit() - Check if code point is a digit character
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter


Check if code point is a digit character

  • « IntlChar::isdefined
  • IntlChar::isgraph »
  • PHP Manual
  • IntlChar
  • Check if code point is a digit character

IntlChar::isdigit

(PHP 7, PHP 8)

IntlChar::isdigit — Check if code point is a digit character

Açıklama

public static IntlChar::isdigit(int|string $codepoint): ?bool

Determines whether the specified code point is a digit character.

true for characters with general category "Nd" (decimal digit numbers). Beginning with Unicode 4, this is the same as testing for the Numeric_Type of Decimal.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a digit character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isdigit("A"));
var_dump(IntlChar::isdigit("1"));
var_dump(IntlChar::isdigit("\t"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isalnum() - Check if code point is an alphanumeric character
  • IntlChar::isxdigit() - Check if code point is a hexadecimal digit
  • ctype_digit() - Sınama, rakamlar için yapılır


Check if code point is a graphic character

  • « IntlChar::isdigit
  • IntlChar::isIDIgnorable »
  • PHP Manual
  • IntlChar
  • Check if code point is a graphic character

IntlChar::isgraph

(PHP 7, PHP 8)

IntlChar::isgraph — Check if code point is a graphic character

Açıklama

public static IntlChar::isgraph(int|string $codepoint): ?bool

Determines whether the specified code point is a "graphic" character (printable, excluding spaces).

true for all characters except those with general categories "Cc" (control codes), "Cf" (format controls), "Cs" (surrogates), "Cn" (unassigned), and "Z" (separators).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a "graphic" character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isgraph("A"));
var_dump(IntlChar::isgraph("1"));
var_dump(IntlChar::isgraph("\u{2603}"));
var_dump(IntlChar::isgraph("\n"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • ctype_graph() - Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır


Check if code point is an ignorable character

  • « IntlChar::isgraph
  • IntlChar::isIDPart »
  • PHP Manual
  • IntlChar
  • Check if code point is an ignorable character

IntlChar::isIDIgnorable

(PHP 7, PHP 8)

IntlChar::isIDIgnorable — Check if code point is an ignorable character

Açıklama

public static IntlChar::isIDIgnorable(int|string $codepoint): ?bool

Determines if the specified character should be regarded as an ignorable character in an identifier.

true for characters with general category "Cf" (format controls) as well as non-whitespace ISO controls (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).

Bilginize:

Note that Unicode just recommends to ignore Cf (format controls).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is ignorable in identifiers, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isIDIgnorable("A"));
var_dump(IntlChar::isIDIgnorable(" "));
var_dump(IntlChar::isIDIgnorable("\u{007F}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT


Check if code point is permissible in an identifier

  • « IntlChar::isIDIgnorable
  • IntlChar::isIDStart »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible in an identifier

IntlChar::isIDPart

(PHP 7, PHP 8)

IntlChar::isIDPart — Check if code point is permissible in an identifier

Açıklama

public static IntlChar::isIDPart(int|string $codepoint): ?bool

Determines if the specified character is permissible in an identifier.

true for characters with general categories "L" (letters), "Nl" (letter numbers), "Nd" (decimal digits), "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and u_isIDIgnorable(c).

Bilginize:

This is almost the same as Unicode's ID_Continue (IntlChar::PROPERTY_ID_CONTINUE) except that Unicode recommends to ignore Cf which is less than IntlChar::isIDIgnorable().

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is the code point may occur in an identifier, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isIDPart("A"));
var_dump(IntlChar::isIDPart("$"));
var_dump(IntlChar::isIDPart("\n"));
var_dump(IntlChar::isIDPart("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::PROPERTY_ID_CONTINUE


Check if code point is permissible as the first character in an identifier

  • « IntlChar::isIDPart
  • IntlChar::isISOControl »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible as the first character in an identifier

IntlChar::isIDStart

(PHP 7, PHP 8)

IntlChar::isIDStart — Check if code point is permissible as the first character in an identifier

Açıklama

public static IntlChar::isIDStart(int|string $codepoint): ?bool

Determines if the specified character is permissible as the first character in an identifier according to Unicode (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers).

true for characters with general categories "L" (letters) and "Nl" (letter numbers).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint may start an identifier, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isIDStart("A"));
var_dump(IntlChar::isIDStart("$"));
var_dump(IntlChar::isIDStart("\n"));
var_dump(IntlChar::isIDStart("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::PROPERTY_ID_START


Check if code point is an ISO control code

  • « IntlChar::isIDStart
  • IntlChar::isJavaIDPart »
  • PHP Manual
  • IntlChar
  • Check if code point is an ISO control code

IntlChar::isISOControl

(PHP 7, PHP 8)

IntlChar::isISOControl — Check if code point is an ISO control code

Açıklama

public static IntlChar::isISOControl(int|string $codepoint): ?bool

Determines whether the specified code point is an ISO control code.

true for U+0000..U+001f and U+007f..U+009f (general category "Cc").

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is an ISO control code, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isISOControl(" "));
var_dump(IntlChar::isISOControl("\n"));
var_dump(IntlChar::isISOControl("\u{200e}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::iscntrl() - Check if code point is a control character


Check if code point is permissible in a Java identifier

  • « IntlChar::isISOControl
  • IntlChar::isJavaIDStart »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible in a Java identifier

IntlChar::isJavaIDPart

(PHP 7, PHP 8)

IntlChar::isJavaIDPart — Check if code point is permissible in a Java identifier

Açıklama

public static IntlChar::isJavaIDPart(int|string $codepoint): ?bool

Determines if the specified character is permissible in a Java identifier.

In addition to IntlChar::isIDPart(), true for characters with general category "Sc" (currency symbols).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint may occur in a Java identifier, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isJavaIDPart("A"));
var_dump(IntlChar::isJavaIDPart("$"));
var_dump(IntlChar::isJavaIDPart("\n"));
var_dump(IntlChar::isJavaIDPart("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isIDIgnorable() - Check if code point is an ignorable character
  • IntlChar::isIDPart() - Check if code point is permissible in an identifier
  • IntlChar::isJavaIDStart() - Check if code point is permissible as the first character in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::isdigit() - Check if code point is a digit character


Check if code point is permissible as the first character in a Java identifier

  • « IntlChar::isJavaIDPart
  • IntlChar::isJavaSpaceChar »
  • PHP Manual
  • IntlChar
  • Check if code point is permissible as the first character in a Java identifier

IntlChar::isJavaIDStart

(PHP 7, PHP 8)

IntlChar::isJavaIDStart — Check if code point is permissible as the first character in a Java identifier

Açıklama

public static IntlChar::isJavaIDStart(int|string $codepoint): ?bool

Determines if the specified character is permissible as the start of a Java identifier.

In addition to IntlChar::isIDStart(), true for characters with general categories "Sc" (currency symbols) and "Pc" (connecting punctuation).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint may start a Java identifier, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isJavaIDStart("A"));
var_dump(IntlChar::isJavaIDStart("$"));
var_dump(IntlChar::isJavaIDStart("\n"));
var_dump(IntlChar::isJavaIDStart("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isIDStart() - Check if code point is permissible as the first character in an identifier
  • IntlChar::isJavaIDPart() - Check if code point is permissible in a Java identifier
  • IntlChar::isalpha() - Check if code point is a letter character


Check if code point is a space character according to Java

  • « IntlChar::isJavaIDStart
  • IntlChar::islower »
  • PHP Manual
  • IntlChar
  • Check if code point is a space character according to Java

IntlChar::isJavaSpaceChar

(PHP 7, PHP 8)

IntlChar::isJavaSpaceChar — Check if code point is a space character according to Java

Açıklama

public static IntlChar::isJavaSpaceChar(int|string $codepoint): ?bool

Determine if the specified code point is a space character according to Java.

true for characters with general categories "Z" (separators), which does not include control codes (e.g., TAB or Line Feed).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a space character according to Java, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isJavaSpaceChar("A"));
var_dump(IntlChar::isJavaSpaceChar(" "));
var_dump(IntlChar::isJavaSpaceChar("\n"));
var_dump(IntlChar::isJavaSpaceChar("\t"));
var_dump(IntlChar::isJavaSpaceChar("\u{00A0}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)
bool(false)
bool(true)

Ayrıca Bakınız

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property


Check if code point is a lowercase letter

  • « IntlChar::isJavaSpaceChar
  • IntlChar::isMirrored »
  • PHP Manual
  • IntlChar
  • Check if code point is a lowercase letter

IntlChar::islower

(PHP 7, PHP 8)

IntlChar::islower — Check if code point is a lowercase letter

Açıklama

public static IntlChar::islower(int|string $codepoint): ?bool

Determines whether the specified code point has the general category "Ll" (lowercase letter).

Bilginize:

This misses some characters that are also lowercase but have a different general category value. In order to include those, use IntlChar::isULowercase().

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is an Ll lowercase letter, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::islower("A"));
var_dump(IntlChar::islower("a"));
var_dump(IntlChar::islower("?"));
var_dump(IntlChar::islower("?"));
var_dump(IntlChar::islower("1"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_LOWERCASE
  • ctype_lower() - Sınama, küçük harfler için yapılır


Check if code point has the Bidi_Mirrored property

  • « IntlChar::islower
  • IntlChar::isprint »
  • PHP Manual
  • IntlChar
  • Check if code point has the Bidi_Mirrored property

IntlChar::isMirrored

(PHP 7, PHP 8)

IntlChar::isMirrored — Check if code point has the Bidi_Mirrored property

Açıklama

public static IntlChar::isMirrored(int|string $codepoint): ?bool

Determines whether the code point has the Bidi_Mirrored property.

This property is set for characters that are commonly used in Right-To-Left contexts and need to be displayed with a "mirrored" glyph.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint has the Bidi_Mirrored property, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isMirrored("A"));
var_dump(IntlChar::isMirrored("<"));
var_dump(IntlChar::isMirrored("("));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::charMirror() - Get the "mirror-image" character for a code point
  • IntlChar::PROPERTY_BIDI_MIRRORED


Check if code point is a printable character

  • « IntlChar::isMirrored
  • IntlChar::ispunct »
  • PHP Manual
  • IntlChar
  • Check if code point is a printable character

IntlChar::isprint

(PHP 7, PHP 8)

IntlChar::isprint — Check if code point is a printable character

Açıklama

public static IntlChar::isprint(int|string $codepoint): ?bool

Determines whether the specified code point is a printable character.

true for general categories other than "C" (controls).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a printable character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isprint("A"));
var_dump(IntlChar::isprint(" "));
var_dump(IntlChar::isprint("\n"));
var_dump(IntlChar::isprint("\u{200e}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::iscntrl() - Check if code point is a control character
  • IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT
  • ctype_print() - Sınama, basılabilir karakterler için yapılır


Check if code point is punctuation character

  • « IntlChar::isprint
  • IntlChar::isspace »
  • PHP Manual
  • IntlChar
  • Check if code point is punctuation character

IntlChar::ispunct

(PHP 7, PHP 8)

IntlChar::ispunct — Check if code point is punctuation character

Açıklama

public static IntlChar::ispunct(int|string $codepoint): ?bool

Determines whether the specified code point is a punctuation character.

true for characters with general categories "P" (punctuation).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a punctuation character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::ispunct("."));
var_dump(IntlChar::ispunct(","));
var_dump(IntlChar::ispunct("\n"));
var_dump(IntlChar::ispunct("$"));

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • ctype_punct() - Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır


Check if code point is a space character

  • « IntlChar::ispunct
  • IntlChar::istitle »
  • PHP Manual
  • IntlChar
  • Check if code point is a space character

IntlChar::isspace

(PHP 7, PHP 8)

IntlChar::isspace — Check if code point is a space character

Açıklama

public static IntlChar::isspace(int|string $codepoint): ?bool

Determines if the specified character is a space character or not.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a space character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isspace("A"));
var_dump(IntlChar::isspace(" "));
var_dump(IntlChar::isspace("\n"));
var_dump(IntlChar::isspace("\t"));
var_dump(IntlChar::isspace("\u{00A0}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property
  • ctype_space() - Sınama, boşluk karakterleri için yapılır


Check if code point is a titlecase letter

  • « IntlChar::isspace
  • IntlChar::isUAlphabetic »
  • PHP Manual
  • IntlChar
  • Check if code point is a titlecase letter

IntlChar::istitle

(PHP 7, PHP 8)

IntlChar::istitle — Check if code point is a titlecase letter

Açıklama

public static IntlChar::istitle(int|string $codepoint): ?bool

Determines whether the specified code point is a titlecase letter.

true for general category "Lt" (titlecase letter).

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a titlecase letter, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::istitle("A"));
var_dump(IntlChar::istitle("a"));
var_dump(IntlChar::istitle("?"));
var_dump(IntlChar::istitle("?"));
var_dump(IntlChar::istitle("1"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::totitle() - Make Unicode character titlecase


Check if code point has the Alphabetic Unicode property

  • « IntlChar::istitle
  • IntlChar::isULowercase »
  • PHP Manual
  • IntlChar
  • Check if code point has the Alphabetic Unicode property

IntlChar::isUAlphabetic

(PHP 7, PHP 8)

IntlChar::isUAlphabetic — Check if code point has the Alphabetic Unicode property

Açıklama

public static IntlChar::isUAlphabetic(int|string $codepoint): ?bool

Check if a code point has the Alphabetic Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_ALPHABETIC)

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint has the Alphabetic Unicode property, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isUAlphabetic("A"));
var_dump(IntlChar::isUAlphabetic("1"));
var_dump(IntlChar::isUAlphabetic("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isalpha() - Check if code point is a letter character
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_ALPHABETIC


Check if code point has the Lowercase Unicode property

  • « IntlChar::isUAlphabetic
  • IntlChar::isupper »
  • PHP Manual
  • IntlChar
  • Check if code point has the Lowercase Unicode property

IntlChar::isULowercase

(PHP 7, PHP 8)

IntlChar::isULowercase — Check if code point has the Lowercase Unicode property

Açıklama

public static IntlChar::isULowercase(int|string $codepoint): ?bool

Check if a code point has the Lowercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_LOWERCASE)

Bilginize:

This is different than IntlChar::islower() and will return true for more characters.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint has the Lowercase Unicode property, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isULowercase("A"));
var_dump(IntlChar::isULowercase("a"));
var_dump(IntlChar::isULowercase("?"));
var_dump(IntlChar::isULowercase("?"));
var_dump(IntlChar::isULowercase("1"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(false)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_LOWERCASE


Check if code point has the general category "Lu" (uppercase letter)

  • « IntlChar::isULowercase
  • IntlChar::isUUppercase »
  • PHP Manual
  • IntlChar
  • Check if code point has the general category "Lu" (uppercase letter)

IntlChar::isupper

(PHP 7, PHP 8)

IntlChar::isupper — Check if code point has the general category "Lu" (uppercase letter)

Açıklama

public static IntlChar::isupper(int|string $codepoint): ?bool

Determines whether the specified code point has the general category "Lu" (uppercase letter).

Bilginize:

This misses some characters that are also uppercase but have a different general category value. In order to include those, use IntlChar::isUUppercase().

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is an Lu uppercase letter, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isupper("A"));
var_dump(IntlChar::isupper("a"));
var_dump(IntlChar::isupper("?"));
var_dump(IntlChar::isupper("?"));
var_dump(IntlChar::isupper("1"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::islower() - Check if code point is a lowercase letter
  • IntlChar::istitle() - Check if code point is a titlecase letter
  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • IntlChar::PROPERTY_UPPERCASE
  • ctype_upper() - Sınama, büyük harfler için yapılır


Check if code point has the Uppercase Unicode property

  • « IntlChar::isupper
  • IntlChar::isUWhiteSpace »
  • PHP Manual
  • IntlChar
  • Check if code point has the Uppercase Unicode property

IntlChar::isUUppercase

(PHP 7, PHP 8)

IntlChar::isUUppercase — Check if code point has the Uppercase Unicode property

Açıklama

public static IntlChar::isUUppercase(int|string $codepoint): ?bool

Check if a code point has the Uppercase Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_UPPERCASE)

Bilginize:

This is different than IntlChar::isupper() and will return true for more characters.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint has the Uppercase Unicode property, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isUUppercase("A"));
var_dump(IntlChar::isUUppercase("a"));
var_dump(IntlChar::isUUppercase("?"));
var_dump(IntlChar::isUUppercase("?"));
var_dump(IntlChar::isUUppercase("1"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Ayrıca Bakınız

  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_UPPERCASE


Check if code point has the White_Space Unicode property

  • « IntlChar::isUUppercase
  • IntlChar::isWhitespace »
  • PHP Manual
  • IntlChar
  • Check if code point has the White_Space Unicode property

IntlChar::isUWhiteSpace

(PHP 7, PHP 8)

IntlChar::isUWhiteSpace — Check if code point has the White_Space Unicode property

Açıklama

public static IntlChar::isUWhiteSpace(int|string $codepoint): ?bool

Check if a code point has the White_Space Unicode property.

This is the same as IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_WHITE_SPACE)

Bilginize:

This is different from both IntlChar::isspace() and IntlChar::isWhitespace().

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint has the White_Space Unicode property, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isUWhiteSpace("A"));
var_dump(IntlChar::isUWhiteSpace(" "));
var_dump(IntlChar::isUWhiteSpace("\n"));
var_dump(IntlChar::isUWhiteSpace("\t"));
var_dump(IntlChar::isUWhiteSpace("\u{00A0}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)
bool(true)
bool(true)

Ayrıca Bakınız

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isWhitespace() - Check if code point is a whitespace character according to ICU
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::hasBinaryProperty() - Check a binary Unicode property for a code point
  • IntlChar::PROPERTY_WHITE_SPACE


Check if code point is a whitespace character according to ICU

  • « IntlChar::isUWhiteSpace
  • IntlChar::isxdigit »
  • PHP Manual
  • IntlChar
  • Check if code point is a whitespace character according to ICU

IntlChar::isWhitespace

(PHP 7, PHP 8)

IntlChar::isWhitespace — Check if code point is a whitespace character according to ICU

Açıklama

public static IntlChar::isWhitespace(int|string $codepoint): ?bool

Determines if the specified code point is a whitespace character according to ICU.

A character is considered to be a ICU whitespace character if and only if it satisfies one of the following criteria:

  • It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
  • It is U+0009 HORIZONTAL TABULATION.
  • It is U+000A LINE FEED.
  • It is U+000B VERTICAL TABULATION.
  • It is U+000C FORM FEED.
  • It is U+000D CARRIAGE RETURN.
  • It is U+001C FILE SEPARATOR.
  • It is U+001D GROUP SEPARATOR.
  • It is U+001E RECORD SEPARATOR.
  • It is U+001F UNIT SEPARATOR.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a whitespace character according to ICU, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::iswhitespace("A"));
var_dump(IntlChar::iswhitespace(" "));
var_dump(IntlChar::iswhitespace("\n"));
var_dump(IntlChar::iswhitespace("\t"));
var_dump(IntlChar::iswhitespace("\u{00A0}"));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • IntlChar::isspace() - Check if code point is a space character
  • IntlChar::isJavaSpaceChar() - Check if code point is a space character according to Java
  • IntlChar::isUWhiteSpace() - Check if code point has the White_Space Unicode property


Check if code point is a hexadecimal digit

  • « IntlChar::isWhitespace
  • IntlChar::ord »
  • PHP Manual
  • IntlChar
  • Check if code point is a hexadecimal digit

IntlChar::isxdigit

(PHP 7, PHP 8)

IntlChar::isxdigit — Check if code point is a hexadecimal digit

Açıklama

public static IntlChar::isxdigit(int|string $codepoint): ?bool

Determines whether the specified code point is a hexadecimal digit.

true for characters with general category "Nd" (decimal digit numbers) as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII. (That is, for letters with code points 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)

This is equivalent to IntlChar::digit($codepoint, 16) >= 0.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns true if codepoint is a hexadecimal character, false if not. Returns null on failure.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)

Notlar

Bilginize:

In order to narrow the definition of hexadecimal digits to only ASCII characters use:

<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>

Ayrıca Bakınız

  • IntlChar::isdigit() - Check if code point is a digit character
  • ctype_xdigit() - Sınama, onaltılık rakamlar için yapılır


Return Unicode code point value of character

  • « IntlChar::isxdigit
  • IntlChar::tolower »
  • PHP Manual
  • IntlChar
  • Return Unicode code point value of character

IntlChar::ord

(PHP 7, PHP 8)

IntlChar::ord — Return Unicode code point value of character

Açıklama

public static IntlChar::ord(int|string $character): ?int

Returns the Unicode code point value of the given character.

This function complements IntlChar::chr().

Bağımsız Değişkenler

character

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the Unicode code point value as an integer.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::ord("A"));
var_dump(IntlChar::ord(" "));
var_dump(IntlChar::ord("\u{2603}"));
?>

Yukarıdaki örneğin çıktısı:

int(65)
int(32)
int(9731)

Ayrıca Bakınız

  • IntlChar::chr() - Return Unicode character by code point value
  • mb_ord() - Karakterin Unicode karakter kodunu döndürür
  • ord() - Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür


Make Unicode character lowercase

  • « IntlChar::ord
  • IntlChar::totitle »
  • PHP Manual
  • IntlChar
  • Make Unicode character lowercase

IntlChar::tolower

(PHP 7, PHP 8)

IntlChar::tolower — Make Unicode character lowercase

Açıklama

public static IntlChar::tolower(int|string $codepoint): int|string|null

The given character is mapped to its lowercase equivalent. If the character has no lowercase equivalent, the original character itself is returned.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the code point itself. Returns null on failure.

Unicode karakter kodu string türünde ise dönüş türü string, Unicode karakter kodu int türündeyse dönüş türü int olacaktır. Başarısızlık durumunda null döner.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::tolower("A"));
var_dump(IntlChar::tolower("a"));
var_dump(IntlChar::tolower("?"));
var_dump(IntlChar::tolower("?"));
var_dump(IntlChar::tolower("1"));
var_dump(IntlChar::tolower(ord("A")));
var_dump(IntlChar::tolower(ord("a")));
?>

Yukarıdaki örneğin çıktısı:

string(1) "a"
string(1) "a"
string(2) "?"
string(2) "?"
string(1) "1"
int(97)
int(97)

Ayrıca Bakınız

  • IntlChar::totitle() - Make Unicode character titlecase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_strtolower() - Dizgeyi küçük harfli yapar


Make Unicode character titlecase

  • « IntlChar::tolower
  • IntlChar::toupper »
  • PHP Manual
  • IntlChar
  • Make Unicode character titlecase

IntlChar::totitle

(PHP 7, PHP 8)

IntlChar::totitle — Make Unicode character titlecase

Açıklama

public static IntlChar::totitle(int|string $codepoint): int|string|null

The given character is mapped to its titlecase equivalent. If the character has no titlecase equivalent, the original character itself is returned.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the code point itself. Returns null on failure.

Unicode karakter kodu string türünde ise dönüş türü string, Unicode karakter kodu int türündeyse dönüş türü int olacaktır. Başarısızlık durumunda null döner.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::totitle("A"));
var_dump(IntlChar::totitle("a"));
var_dump(IntlChar::totitle("?"));
var_dump(IntlChar::totitle("?"));
var_dump(IntlChar::totitle("1"));
var_dump(IntlChar::totitle(ord("A")));
var_dump(IntlChar::totitle(ord("a")));
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
string(1) "A"
string(2) "?"
string(2) "?"
string(1) "1"
int(65)
int(65)

Ayrıca Bakınız

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::toupper() - Make Unicode character uppercase
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular


Make Unicode character uppercase

  • « IntlChar::totitle
  • IntlException »
  • PHP Manual
  • IntlChar
  • Make Unicode character uppercase

IntlChar::toupper

(PHP 7, PHP 8)

IntlChar::toupper — Make Unicode character uppercase

Açıklama

public static IntlChar::toupper(int|string $codepoint): int|string|null

The given character is mapped to its uppercase equivalent. If the character has no uppercase equivalent, the character itself is returned.

Bağımsız Değişkenler

codepoint

int türünde Unicode karakter kodu (örn. U+2603 SNOWMAN için 0x2603) veya string türünde Unicode karakter kodu (örn. "\u{2603}")

Dönen Değerler

Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the code point itself.

Unicode karakter kodu string türünde ise dönüş türü string, Unicode karakter kodu int türündeyse dönüş türü int olacaktır. Başarısızlık durumunda null döner.

Örnekler

Örnek 1 Farklı karakter kodlarının denenmesi

<?php
var_dump(IntlChar::toupper("A"));
var_dump(IntlChar::toupper("a"));
var_dump(IntlChar::toupper("?"));
var_dump(IntlChar::toupper("?"));
var_dump(IntlChar::toupper("1"));
var_dump(IntlChar::toupper(ord("A")));
var_dump(IntlChar::toupper(ord("a")));
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
string(1) "A"
string(2) "?"
string(2) "?"
string(1) "1"
int(65)
int(65)

Ayrıca Bakınız

  • IntlChar::tolower() - Make Unicode character lowercase
  • IntlChar::totitle() - Make Unicode character titlecase
  • mb_strtoupper() - Dizgeyi büyük harfli yapar


Exception class for intl errors

(PHP 5 > 5.5.0, PHP 7, PHP 8, PECL intl > 3.0.0a1)

Giriş

This class is used for generating exceptions when errors occur inside intl functions. Such exceptions are only generated when intl.use_exceptions is enabled.

Sınıf Sözdizimi

class IntlException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The IntlIterator class

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

This class represents iterator objects throughout the intl extension whenever the iterator cannot be identified with any other object provided by the extension. The distinct iterator object used internally by the foreach construct can only be obtained (in the relevant part here) from objects, so objects of this class serve the purpose of providing the hook through which this internal object can be obtained. As a convenience, this class also implements the Iterator interface, allowing the collection of values to be navigated using the methods defined in that interface. Both these methods and the internal iterator objects provided to foreach are backed by the same state (e.g. the position of the iterator and its current value).

Subclasses may provide richer functionality.

Sınıf Sözdizimi

class IntlIterator implements Iterator {
/* Yöntemler */
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
}

İçindekiler

  • IntlIterator::current — Get the current element
  • IntlIterator::key — Get the current key
  • IntlIterator::next — Move forward to the next element
  • IntlIterator::rewind — Rewind the iterator to the first element
  • IntlIterator::valid — Check if current position is valid


Get the current element

  • « IntlIterator
  • IntlIterator::key »
  • PHP Manual
  • IntlIterator
  • Get the current element

IntlIterator::current

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlIterator::current — Get the current element

Açıklama

public IntlIterator::current(): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the current key

  • « IntlIterator::current
  • IntlIterator::next »
  • PHP Manual
  • IntlIterator
  • Get the current key

IntlIterator::key

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlIterator::key — Get the current key

Açıklama

public IntlIterator::key(): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Move forward to the next element

  • « IntlIterator::key
  • IntlIterator::rewind »
  • PHP Manual
  • IntlIterator
  • Move forward to the next element

IntlIterator::next

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlIterator::next — Move forward to the next element

Açıklama

public IntlIterator::next(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Rewind the iterator to the first element

  • « IntlIterator::next
  • IntlIterator::valid »
  • PHP Manual
  • IntlIterator
  • Rewind the iterator to the first element

IntlIterator::rewind

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlIterator::rewind — Rewind the iterator to the first element

Açıklama

public IntlIterator::rewind(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check if current position is valid

  • « IntlIterator::rewind
  • intl İşlevleri »
  • PHP Manual
  • IntlIterator
  • Check if current position is valid

IntlIterator::valid

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

IntlIterator::valid — Check if current position is valid

Açıklama

public IntlIterator::valid(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


intl İşlevleri

İçindekiler

  • intl_error_name — Belirtilen hata kodunun simgesel ismini döndürür
  • intl_get_error_code — Son hatanın kodunu döndürür
  • intl_get_error_message — Son hatayı açıklayan bir dizge ile döner
  • intl_is_failure — Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar


Belirtilen hata kodunun simgesel ismini döndürür

  • « intl İşlevleri
  • intl_get_error_code »
  • PHP Manual
  • intl İşlevleri
  • Belirtilen hata kodunun simgesel ismini döndürür

intl_error_name

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

intl_error_name — Belirtilen hata kodunun simgesel ismini döndürür

Açıklama

intl_error_name(int $hata_kodu): string

ICU hata kodunun ismini döndürür.

Bağımsız Değişkenler

hata_kodu

ICU hata kodu.

Dönen Değerler

Hata kodu sabitinin ismi.

Örnekler

Örnek 1 - intl_error_name() örneği

<?php
$coll = collator_create( 'en_RU' );
$err_code = collator_get_error_code( $coll );

printf( "%d hata kodu için sabit ismi: %s\n.", $err_code, intl_error_name( $err_code ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

-128 hata kodu için sabit ismi: U_USING_FALLBACK_WARNING

Ayrıca Bakınız

  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_get_error_message() - Son hatayı açıklayan bir dizge ile döner


Son hatanın kodunu döndürür

  • « intl_error_name
  • intl_get_error_message »
  • PHP Manual
  • intl İşlevleri
  • Son hatanın kodunu döndürür

intl_get_error_code

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

intl_get_error_code — Son hatanın kodunu döndürür

Açıklama

intl_get_error_code(): int

Duruk yöntemlerde hata oluştuğunda hatanın alınacağı bir nesne yoksa hata kodunu öğrenmek için yararlıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son API işlevi çağrısından dönen hata kodu.

Örnekler

Örnek 1 - intl_get_error_code() örneği

<?php
$coll = collator_create( '<bad_param>' );
if( !$coll ) {
handle_error( intl_get_error_code() );
}
?>

Ayrıca Bakınız

  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar
  • intl_error_name() - Belirtilen hata kodunun simgesel ismini döndürür
  • intl_get_error_message() - Son hatayı açıklayan bir dizge ile döner
  • collator_get_error_code() - Karşılaştırıcının son hata kodunu döndürür
  • numfmt_get_error_code() - Biçemleyicinin son hata numarası ile döner


Son hatayı açıklayan bir dizge ile döner

  • « intl_get_error_code
  • intl_is_failure »
  • PHP Manual
  • intl İşlevleri
  • Son hatayı açıklayan bir dizge ile döner

intl_get_error_message

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

intl_get_error_message — Son hatayı açıklayan bir dizge ile döner

Açıklama

intl_get_error_message(): string

Son çağrılan uluslararasılaştırma işlevinde oluşan hatayı açıklayan dizge ile döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son API işlevi çağrısında oluşan hatayı açıklayan dizge.

Örnekler

Örnek 1 - intl_get_error_message() örneği

<?php
if( Collator::getAvailableLocales() === false ) {
show_error( intl_get_error_message() );
}
?>

Ayrıca Bakınız

  • intl_error_name() - Belirtilen hata kodunun simgesel ismini döndürür
  • intl_get_error_code() - Son hatanın kodunu döndürür
  • intl_is_failure() - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar
  • collator_get_error_message() - Karşılaştırıcının son hata iletisini döndürür
  • numfmt_get_error_message() - Biçemleyicinin son hata iletisini döndürür


Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar

  • « intl_get_error_message
  • Mbstring »
  • PHP Manual
  • intl İşlevleri
  • Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar

intl_is_failure

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

intl_is_failure — Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar

Açıklama

intl_is_failure(int $hata_kodu): bool

Belirtilen hata_kodu bir başarısızlık göstergesi ise true döner.

Bağımsız Değişkenler

hata_kodu

intl_get_error_code() ve collator_get_error_code() işlevlerinden dönen değer.

Dönen Değerler

Hata kodu bir başarısızlığın ifadesi ise true, başarı veya uyarı ifadesi ise false döner.

Örnekler

Örnek 1 - intl_is_failure() örneği

<?php
function check( $err_code )
{
var_export( intl_is_failure( $err_code ) );
echo "\n";
}

check( U_ZERO_ERROR );
check( U_USING_FALLBACK_WARNING );
check( U_ILLEGAL_ARGUMENT_ERROR );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

false
false
true

Ayrıca Bakınız

  • intl_get_error_code() - Son hatanın kodunu döndürür
  • collator_get_error_code() - Karşılaştırıcının son hata kodunu döndürür
  • Collator-getErrorCode() - Karşılaştırıcının son hata kodunu döndürür


Çok Baytlı Dizgeler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Desteklenen kodlamaların özetleri
  • Japonca çok baytlı kodlamanın temelleri
  • HTTP Girdisi ve Çıktısı
  • Desteklenen Karakter Kodlamaları
  • İşlevlerin Aşırı Yüklenme Özelliği
  • PHP Karakter Kodlaması Gereksinimleri
  • Çok baytlı Dizge İşlevleri
    • mb_check_encoding — Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar
    • mb_chr — Unicode karakter koduna göre karakteri döndürür
    • mb_convert_case — Bir dizgeye büyük-küçük harf dönüşümü uygular
    • mb_convert_encoding — Karakter kodlaması dönüşümü yapar
    • mb_convert_kana — Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür
    • mb_convert_variables — Değişken içeriğinin karakter kodlamasını dönüştürür
    • mb_decode_mimeheader — MIME başlık alanındaki dizgeyi dönüştürür
    • mb_decode_numericentity — HTML sayısal karakter gösterimini karaktere dönüştürür
    • mb_detect_encoding — Karakter kodlamasını algılar
    • mb_detect_order — Karakter kodlaması algılama sırasını tanımlar/döndürür
    • mb_encode_mimeheader — Dizgeyi MIME başlığı için kodlar
    • mb_encode_numericentity — Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür
    • mb_encoding_aliases — Bilinen bir kodlama türünün takma adını döndürür
    • mb_ereg_match — Çok baytlı dizge için düzenli ifadeyi eşleştirir
    • mb_ereg_replace_callback — Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular
    • mb_ereg_replace — Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
    • mb_ereg_search_getpos — Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür
    • mb_ereg_search_getregs — Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür
    • mb_ereg_search_init — Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar
    • mb_ereg_search_pos — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür
    • mb_ereg_search_regs — Çok baytlı düzenli ifadenin eşleşen parçası ile döner
    • mb_ereg_search_setpos — Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar
    • mb_ereg_search — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar
    • mb_ereg — Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir
    • mb_eregi_replace — Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
    • mb_eregi — Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular
    • mb_get_info — Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür
    • mb_http_input — HTTP girdi karakter kodlamasını algılar
    • mb_http_output — HTTP çıktı karakter kodlamasını tanımlar/döndürür
    • mb_internal_encoding — Dahili karakter kodlamasını tanımlar/döndürür
    • mb_language — Geçerli dili tanımlar/döndürür
    • mb_list_encodings — Desteklenen kodlamaların tamamını bir dizi olarak döndürür
    • mb_ord — Karakterin Unicode karakter kodunu döndürür
    • mb_output_handler — Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi
    • mb_parse_str — GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar
    • mb_preferred_mime_name — MIME karakter kümesi dizgesini döndürür
    • mb_regex_encoding — Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
    • mb_regex_set_options — mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür
    • mb_scrub — Bozuk bayt dizilerini yedek karakterle değiştirir
    • mb_send_mail — Kodlanmış olarak posta gönderir
    • mb_split — Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır
    • mb_str_pad — Pad a multibyte string to a certain length with another multibyte string
    • mb_str_split — Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür
    • mb_strcut — Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner
    • mb_strimwidth — Dizgeyi belirtilen genişlikte kırpar
    • mb_stripos — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
    • mb_stristr — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
    • mb_strlen — Dizge uzunluğu ile döner
    • mb_strpos — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
    • mb_strrchr — Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
    • mb_strrichr — Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
    • mb_strripos — Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür
    • mb_strrpos — Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür
    • mb_strstr — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
    • mb_strtolower — Dizgeyi küçük harfli yapar
    • mb_strtoupper — Dizgeyi büyük harfli yapar
    • mb_strwidth — Dizge genişliğini döndürür
    • mb_substitute_character — İkame karakteri atar/döndürür
    • mb_substr_count — Mevcut alt dizgelerin sayısı ile döner
    • mb_substr — Dizgenin bir alt dizgesini alır


Giriş

Çoğu dilde her karakter 8 bitlik bir değerle bire bir eşleşerek gösterilebilirken bazılarında bunun için bir bayttan fazlası gerekir. (Bir bayt 8 bittir. Her bit, sıfır ve bir olmak üzere en fazla iki değere sahip olabilir. Bundan dolayı, bir baytlık genişlikle 256 (2^8) farklı değer gösterilebilir.) Çok baytlı karakter kodlama şeması, normal bit seviyesi kodlama sistemindeki 256 karakterden fazlasını gösterebilmek için geliştirilmiştir.

Çok baytlı karakter kodlaması kullanılan bir dizgede bazı karakterler ardarda iki veya daha fazla baytla gösterilebildiğinden bu dizgeler üzerinde değişiklik (ekleme, sıralama, vs.) yapmak için özel işlevler gerekir. Böyle dizgelere tek baytlık karakterlere göre tasarlanmış sıradan işlevler uygulanırsa bir çok baytlı karakterin baytlarının bölünmesi çok muhtemeldir. Böyle bir durumda çok baytlı dizgenin anlamı değişecektir.

mbstring modülü, PHP'de çok baytlı kodlama ile çalışabilmeniz için çok baytlı dizge işlevleri sağlar. Bunun yanında olası karakter kodlama çiftleri arasında karakter kodlaması dönüşümleri yapılabilmesini de sağlar. mbstring modülü, UTF_8, UCS-2 gibi Evrenkod temelli kodlamaların yanında uyumluluk için tek baytlı karakter kodlamalarını da destekleyecek şekilde tasarlanmıştır (Bkz: Desteklenen Karakter Kodlamaları).


Kurulum

mbstring öntanımlı olarak etkin modüllerden biri değildir, yani PHP'yi derlerken etkinleştirmeniz gerekir. Ayrıntılar için Yapılandırma ve Kurulum bölümüne bakınız.

mbstring modülü ile ilgili yapılandırma seçenekleri:

  • --enable-mbstring: mbstring işlevlerini etkin kılar. mbstring işlevleri kullanmak istiyorsanız yapılandırma seçeneklerinize bunu da dahil etmelisiniz.

    mbstring modülü libmbfl kütüphanesini gerektirir. Bu kütüphane mbstring ile birlikte gelmektedir. PHP 7.3.0 öncesinde, libmbfl sistemde zaten kuruluysa, kurulu kütüphanenin kullanılması için --with-libmbfl[=DiZiN] seçeneğini belirtebilirsiniz.

  • --disable-mbregex: Çok baytlı karakter destekli düzenli ifade işlevlerini iptal eder.

    Oniguruma, çok baytlı karakter destekli düzenli ifade işlevleri için gereklidir. PHP 7.4.0'dan itibaren pkg-config, libonig kütüphanesini saptamak için kullanılmaktadır. PHP 7.4.0'dan önce Oniguruma, mbstring ile paketlenmişti, ancak --with-onig[=DIR] seçeneği ile önceden yüklenmiş bir libonig'e rağmen derleme yapmak mümkündü.

    Çok baytlı regex geriye dönük sınamasını --disable-mbregex-backtrack seçeneğini belirterek iptal etmek mümkündür.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

mbstring yapılandırma yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mbstring.language | "neutral" | PHP_INI_ALL |
mbstring.detect_order | NULL | PHP_INI_ALL |
mbstring.http_input | "pass" | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.http_output | "pass" | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.script_encoding | NULL | PHP_INI_ALL | PHP 5.0.0'da kaldırıldı. Yarine zend.script_encoding kullanın.
mbstring.substitute_character | NULL | PHP_INI_ALL |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP <= 5.2.6'da PHP_INI_PERDIR. PHP 7.2.0 itibariyle kullanımı önerilmemektedir.PHP 8.0.0'da kaldırıldı.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL |
mbstring.strict_detection | "0" | PHP_INI_ALL |
mbstring.regex_retry_limit | "1000000" | PHP_INI_ALL | PHP 7.4.0 ve sonrasında kullanılabilir.
mbstring.regex_stack_limit | "100000" | PHP_INI_ALL | PHP 7.3.5 ve sonrasında kullanılabilir.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mbstring.language string

Mbstring modülünde kullanılan öntanımlı ulusal dil ayarı (NLS). Bu yönerge, php.ini dosyasında kendinden sonra tanımlanması gereken mbstring.internal_encoding yönergesini otomatik ve sihirli olarak etkin kılar.

mbstring.encoding_translation bool

HTTP sorgularında girdi kodlamasını algılayıp dahili karakter kodlamasına dönüştüren şeffaf karakter kodlama süzgecini etkin kılar.

mbstring.internal_encoding string
Uyarı

Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.

Öntanımlı dahili karakter kodlamasını tanımlar.

Bu boş bıraklımalı ve yerine default_charset kullanılmalıdır.

mbstring.http_input string
Uyarı

Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.

Öntanımlı HTTP girdi karakter kodlamasını tanımlar.

Bu boş bıraklımalı ve yerine default_charset kullanılmalıdır.

mbstring.http_output string
Uyarı

Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.

Öntanımlı HTTP çıktı karakter kodlamasını tanımlar (çıktı, dahili karakter kodlamasından HTTP çıktı karakter kodlamasına dönüştürülerek çıktılanır).

Bu boş bıraklımalı ve yerine default_charset kullanılmalıdır.

mbstring.detect_order string

Öntanımlı karakter kodlaması algılama sırasını tanımlar. Ayrıca bakınız: mb_detect_order().

mbstring.substitute_character string

Geçersiz karakter kodlaması yerine kullanılacak karakteri tanımlar. Desteklenen değerler için mb_substitute_character() işlevine bakın.

mbstring.func_overload string
Uyarı

Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Mbstring taydaşları tarafından sağlanan tek baytlık işlevlerin yerine otomatik olarak mbstring işlevlerinin kullanılmasını sağlar. Daha ayrınılı bilgi için İşlevlerin Aşırı Yüklenme Özelliği bölümüne bakınız.

Bu atama sadece php.ini dosyasından değiştiilebilir.

mbstring.http_output_conv_mimetypes string

mbstring.strict_detection bool

Katı kodlama algılaması etkin kılınır. Açıklama ve örnekler mb_detect_encoding()işlevinde bulunabilir.

mbstring.regex_retry_limit int

Çok baytlı düzenli ifade eşleştirmesi sırasında işlenebilen geri izleme miktarını sınırlar.

Bu yönerge yalnızca kurulum oniguruma >= 6.8.0 ile ilintilenmişse kullanılabilir.

mbstring.regex_stack_limit int

Mbstring düzenli ifadelerinin yığıt derinliği sınırlar.

» HTML 4.01 belirtimine göre, tarayıcıların, bir formdan sayfada kullanılandan farklı bir karakter kodlaması ile veri göndermelerine izin verilmektedir. Tarayıcılar tarafından kullanılan karakter kodlamasının saptanması hakkında bilgi edinmek için mb_http_input() işlevine bakınız.

Günümüz tarayıcıları bir HTML sayfanın karakter kodlamasını kabul edilebilir bir doğrulukta tahmin edebiliyor olsalar da, Content-Type HTTP başlığının charset bağımsız değişkenine header() işleviyle veya default_charset INI yönergesiyle uygun bir değer atamak daha iyidir.

Örnek 1 - php.ini ayar örnekleri

; Öntanımlı dili belirtin.
mbstring.language        = Neutral; öntanımlıdır; belli bir dil yoktur (UTF-8)
mbstring.language        = Turkish; öntanımlı dil Türkçe
mbstring.language        = Japanese; öntanımlı dil Japonca

;; Öntanımlı dahili kodlamasını tanımlayın.
;; Önemli: PHP'de çalışan bir karakter kodlaması belirtin
mbstring.internal_encoding    = UTF-8  ; Dahili kodlama UTF-8

;; HTTP girdi kodlaması dönüşümü etkindir.
mbstring.encoding_translation = On

;; Öntanımlı HTTP girdi karakter kodlamasını tanımlayın.
;; Önemli: Betik, http_input ayarını değiştiremez.
mbstring.http_input           = pass    ; Dönüşüm yok.
mbstring.http_input           = auto    ; HTTP girdisi otomatik
           ; "auto"  mbstring.language atamasına göre genişletilir.
mbstring.http_input           = SJIS    ; HTTP girdisi SJIS olur
mbstring.http_input           = UTF-8,SJIS,EUC-JP ; Sıralama belirtir

;; Öntanımlı HTTP çıktı karakter kodlamasını tanımlayın.
mbstring.http_output          = pass    ; Dönüşüm yok.
mbstring.http_output          = UTF-8   ; HTTP çıktı kodlaması UTF-8

;; Öntanımlı kodlama algılama sırasını belirtin.
mbstring.detect_order         = auto    ; Algılama sırası otomatik
mbstring.detect_order         = ASCII,JIS,UTF-8,SJIS,EUC-JP ; Sıralama belirtir

;; Öntanımlı geçersiz karakter ikame karakteri
mbstring.substitute_character = 12307   ; Bir Evrenkodlu değer
mbstring.substitute_character = none    ; Karakter basılmaz
mbstring.substitute_character = long    ; Uzun, örnek: U+3000,JIS+7E7E

Örnek 2 - EUC-JP kullanıcıları için php.ini ayarları

;; Çıktı Tamponlaması kapalı
output_buffering      = Off

;; HTTP başlık karakter kümesi
default_charset       = EUC-JP

;; Öntanımlı dil: Japonca
mbstring.language = Japanese

;; HTTP girdi kodlaması dönüşümü etkin
mbstring.encoding_translation = On

;; HTTP girdi kodlaması dönüşümü: otomatik
mbstring.http_input   = auto

;; HTTP çıktısı EUC-JP'ye dönüştürülür
mbstring.http_output  = EUC-JP

;; Dahili kodlama EUC-JP'dir
mbstring.internal_encoding = EUC-JP

;; Geçersiz karakter basılmaz
mbstring.substitute_character = none

Örnek 3 - SJIS kullanıcıları için php.ini ayarları

;; Çıktı Tamponlaması etkin
output_buffering     = On

;; çıktı dönüşümünü mb_output_handler yapar
output_handler       = mb_output_handler

;; HTTP başlık karakter kümesi
default_charset      = Shift_JIS

;; Öntanımlı dil: Japonca
mbstring.language = Japanese

;; HTTP girdi kodlaması dönüşümü: otomatik
mbstring.http_input  = auto

;; HTTP çıktısı SJIS'e dönüştürülür
mbstring.http_output = SJIS

;; Dahili kodlama EUC-JP'dir
mbstring.internal_encoding = EUC-JP

;; Geçersiz karakter basılmaz
mbstring.substitute_character = none


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MB_OVERLOAD_MAIL (integer)
PHP 8.0.0'da kaldırıldı.
MB_OVERLOAD_STRING (integer)
PHP 8.0.0'da kaldırıldı.
MB_OVERLOAD_REGEX (integer)
PHP 8.0.0'da kaldırıldı.
MB_CASE_UPPER (integer)
Tam bir küçük harf satır katlaması gerçekleştirir. Bu, dizinin uzunluğunu değiştirebilir. Bu, mb_strtolower () tarafından kullanılan kiptir.
MB_CASE_LOWER (integer)
MB_CASE_TITLE (integer)
Cased ve CaseIgnorable türetilmiş Unicode özelliklerine göre tam bir başlık-büyük/küçük harf dönüşümü gerçekleştirir. Özellikle bu, alıntıların ve kesme işaretlerinin işlenmesini iyileştirir. Bu, dizinin uzunluğunu değiştirebilir.
MB_CASE_FOLD (int)
Dizede bulunan büyük/küçük harf ayrımlarını ortadan kaldıran bir tam büyük/küçük harf dönüşümü gerçekleştirir. Bu, harf büyüklüğüne duyarsız eşleştirme için kullanılır. Bu, dizinin uzunluğunu değiştirebilir. PHP 7.3'ten beri mevcuttur.
MB_CASE_LOWER_SIMPLE (int)
Basit bir küçük harfe dönüşüm gerçekleştirir. Bu, dizenin uzunluğunu değiştirmez. PHP 7.3'ten beri mevcuttur.
MB_CASE_UPPER_SIMPLE (int)
Basit bir büyük harfe dönüşüm gerçekleştirir. Bu, dizenin uzunluğunu değiştirmez. PHP 7.3'ten beri mevcuttur.
MB_CASE_TITLE_SIMPLE (int)
Basit başlık-büyük/küçük harf dönüşümü gerçekleştirir. Bu, dizenin uzunluğunu değiştirmez. PHP 7.3'ten beri mevcuttur.
MB_CASE_FOLD_SIMPLE (int)
Dizede bulunan büyük/küçük harf ayrımlarını kaldıran basit bir büyük/küçük harf dönüşümü gerçekleştirir. Bu, harf büyüklüğüne duyarsız eşleştirme için kullanılır. Bu, dizenin uzunluğunu değiştirmez. MBString eklentisi tarafından dahili olarak harf büyüklüğüne duyarsız işlemlerde kullanılır. PHP 7.3'ten beri mevcuttur.
MB_ONIGURUMA_VERSION (string)
Oniguruma sürüm, örn. 6.9.4. PHP 7.4'ten beri mevcuttur.


Desteklenen kodlamaların özetleri

Desteklenen kodlamaların özetleri
IANA karakter kümesi kütüğündeki isim | Dayandığı karakter kümesi | Açıklama | Ek bilgi
ISO-10646-UCS-4 | ISO 10646 | 31 bitlik kod genişliğine sahip Evrensel Karakter Kümesi, ISO/IEC 10646 tarafından UCS-4 olarak standartlaştırılmıştır. Evrenkodlu eşlemin en son sürümü ile eşzamanlı olarak güncellenir. | Eğer bu isim kodlama dönüşüm oluşumlarında kullanılırsa, dönüştürücü ard arda gelen baytların sıralamasını başa bir bayt sıralama imi ekleyerek betimlemeye çalışır.
ISO-10646-UCS-4 | UCS-4BE | Yukarı bakınız. | UCS-4'ün tersine, bayt sıralamasında en kıymetli baytın başta olduğu varsayılır.
ISO-10646-UCS-4 | UCS-4LE | Yukarı bakınız. | UCS-4'ün tersine, bayt sıralamasında en kıymetsiz baytın başta olduğu varsayılır.
ISO-10646-UCS-2 | UCS-2 | 16 bitlik kod genişliğine sahip Evrensel Karakter Kümesi, ISO/IEC 10646 tarafından UCS-2 olarak standartlaştırılmıştır. Evrenkodlu eşlemin en son sürümü ile eşzamanlı olarak güncellenir. | Eğer bu isim kodlama dönüşüm oluşumlarında kullanılırsa, dönüştürücü ard arda gelen baytların sıralamasını başa bir bayt sıralama imi ekleyerek betimlemeye çalışır.
ISO-10646-UCS-2 | UCS-2BE | Yukarı bakınız. | UCS-2'nin tersine, bayt sıralamasında en kıymetli baytın başta olduğu varsayılır.
ISO-10646-UCS-2 | UCS-2LE | Yukarı bakınız. | UCS-2'nin tersine, bayt sıralamasında en kıymetsiz baytın başta olduğu varsayılır.
UTF-32 | Unicode | 32 bitlik birim genişlikte Evrenkod Dönüşüm Biçemi. Kodlama uzayı Evrenkod karakter kümesi standardını kullanır. Evrenkod kod uzayı 21 bit genişlikte olduğundan, bu kodlama şeması UCS-4'e eşdeğer değildir. | Eğer bu isim kodlama dönüşüm oluşumlarında kullanılırsa, dönüştürücü ard arda gelen baytların sıralamasını başa bir bayt sıralama imi ekleyerek betimlemeye çalışır.
UTF-32BE | Unicode | Yukarı bakınız. | UTF-32'nin tersine, bayt sıralamasında en kıymetli baytın başta olduğu varsayılır.
UTF-32LE | Unicode | Yukarı bakınız. | UTF-32'nin tersine, bayt sıralamasında en kıymetsiz baytın başta olduğu varsayılır.
UTF-16 | Unicode | 16 bitlik birim genişlikte Evrenkod Dönüşüm Biçemi. Unicode 2.0 ve UTF-16, 21 bitlik bir kod uzayına sahip olduğundan, UTF-16 UCS-2'ye eşdeğer değildir. | Eğer bu isim kodlama dönüşüm oluşumlarında kullanılırsa, dönüştürücü ard arda gelen baytların sıralamasını başa bir bayt sıralama imi ekleyerek betimlemeye çalışır.
UTF-16BE | Unicode | Yukarı bakınız. | UTF-16'nın tersine, bayt sıralamasında en kıymetli baytın başta olduğu varsayılır.
UTF-16LE | Unicode | Yukarı bakınız. | UTF-16'nın tersine, bayt sıralamasında en kıymetsiz baytın başta olduğu varsayılır.
UTF-8 | Unicode / UCS | 8 bitlik birim genişlikte Evrenkod Dönüşüm Biçemi. | none
UTF-7 | Unicode | » RFC2152'de belirtilen, epostalara uygun bir Evrenkod dönüşüm biçemi. | none
(none) | Unicode | » IMAP protokolünde kullanmak üzere özelleştirilmiş bir UTF-7 çeşidi. | none
US-ASCII (MIME adı olarak tercih edilir) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII | ASCII / ISO 646 | Bilgi dönüşümü için Amerikan kod standardı olup genellikle 7 bitlik kodlamayı kullanır. Ayrıca, ISO 646 ile bir uluslararası standart haline getirilmiştir. | (none)
EUC-JP (MIME adı olarak tercih edilir) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese | US-ASCII / JIS X0201:1997 birleşimi (hankaku kana part) / JIS X0208:1990 / JIS X0212:1990 | İsim, Extended UNIX Code Packed Format for Japanese sözcüklerinden türetilmiş bir kısaltma olup, bu kodlama genellikle Unix ve benzeri platformlarda kullanılır. Özgün kodlama şeması, Genişletilmiş UNIX Kodu, ISO 2022 temel alınarak tasarlanmıştır. | EUC-JP adıyla anılan karakter kümesi, OS/2® ve Microsoft® Windows® tarafından kullanılan IBM932 / CP932'den farklıdır. Bu platformlar arasında dönüşüm bilgisi için EUCJP-WIN kullanın.
Shift_JIS (MIME adı olarak tercih edilir) / MS_Kanji / csShift_JIS | JIS X0201:1997 / JIS X0208:1997 birleşimi | Shift_JIS, eski kodlama şeması JIS X 0201:1976 ile uyumluluk sağlamak için pazara getirilen kişisel Japonca kelime işlemciler zamanında, 80'lerin başlarında geliştirlmiştir. IANA tanımına göre Shift_JIS karakter kümesi IBM932 / CP932'den pek az farklıdır. Bununla birlikte, "SJIS" / "Shift_JIS" çoğunlukla yanlış olarak bu kod kümelerini betimlemek için kullanılır. | CP932 kod eşlemi için, SJIS-WIN kullanın.
(none) | JIS X0201:1997 / JIS X0208:1997 / IBM eklentileri / NEC eklentileri birleşimi | Bu "kodlama" EUC-JP ile aynı kodlama şemasını kullanırsa da dayandıkları karakter kümeleri farklıdır. Yani, aynı kodlar farklı karakterlere karşılık gelir. | none
Windows-31J / csWindows31J | JIS X0201:1997 / JIS X0208:1997 / IBM eklentileri / NEC eklentileri birleşimi | Bu "kodlama" Shift_JIS ile aynı kodlama şemasını kullanırsa da dayandıkları karakter kümeleri farklıdır. Yani aynı kodlar farklı karakterlere karşılık gelir. | (none)
ISO-2022-JP (MIME adı olarak tercih edilir) / csISO2022JP | US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983 | » RFC1468 | (none)
JIS |  |  |
ISO-8859-1 |  |  |
ISO-8859-2 |  |  |
ISO-8859-3 |  |  |
ISO-8859-4 |  |  |
ISO-8859-5 |  |  |
ISO-8859-6 |  |  |
ISO-8859-7 |  |  |
ISO-8859-8 |  |  |
ISO-8859-9 |  |  |
ISO-8859-10 |  |  |
ISO-8859-13 |  |  |
ISO-8859-14 |  |  |
ISO-8859-15 |  |  |
ISO-8859-16 |  |  |
byte2be |  |  |
byte2le |  |  |
byte4be |  |  |
byte4le |  |  |
BASE64 |  |  |
HTML-ENTITIES |  |  |
7bit |  |  |
8bit |  |  |
EUC-CN |  |  |
CP936 |  |  |
HZ |  |  |
EUC-TW |  |  |
CP950 |  |  |
BIG-5 |  |  |
EUC-KR |  |  |
UHC (CP949) |  |  |
ISO-2022-KR |  |  |
Windows-1251 (CP1251) |  |  |
Windows-1252 (CP1252) |  |  |
CP866 (IBM866) |  |  |
KOI8-R |  |  |
KOI8-U |  |  |


Japonca çok baytlı kodlamanın temelleri

Japonca karakterler sadece çok baytlı karakter kodlaması ile gösterilebilir ve çok baytlı kodlama standartlar platforma ve kullanılan metnin amacına göre değişir. Daha da kötüsü bu kodlama standartları birbirlerinden oldukça farklıdır. Bir geliştirici, Japonca bir ortamda kullanılabilecek bir HTTP uygulaması oluşturulurken doğru karakter kodlamalarını kullanabilmek için bu karmaşayı iyi bilmek zorundadır.

  • Altı bayta kadar bayt içerebilen karakterlerin saklanması
  • Çoğu Japonca çok baytlı karakter tek baytlı karakterelerin iki katı genişliktedir. Bu karakterlere Japonca'da "zen-kaku" denir ve "tam geniş" anlamına gelir. Dar olanlarına ise "han-kaku" denir ve "yarı geniş" anlamına gelir. Karakterlerin çizgesel özellikleri, bunları göstermekte kullanılan yazı tiplerine bağlıdır.
  • Bazı karakter kodlamaları, belli bir kod bölgesine (00h .. 7fh) geçmek için ISO-2022 ile tanımlanmış kaydırma (öncelem) dizilimleri kullanır.
  • SMTP/NNTP için ISO-2022-JP kullanılmalı; başlıklar ve öğeler RFC gereksinimlerine uygun olarak yeniden kodlanmalıdır. Bunlar elzem olmasa da çoğu kullanıcı aracı başka kodlama yöntemi tanımadığından bunları kullanmak daha iyidir.
  • » i-mode veya » EZweb gibi taşınabilir telefon hizmetleri için oluşturulan sayfaların Shift_JIS kullandıkları varsayılır.
  • » i-mode veya » EZweb gibi taşınabilir telefon hizmetleri için resim-yazı (pictogram) karakterleri desteklenmektedir.


HTTP Girdisi ve Çıktısı

HTTP giriş/çıkış karakter kodlaması dönüşümü ikil verileri de dönüştürebilir, HTTP girdi/çıktısında ikil veri kullanılması durumunda karakter kod dönüşümünü kullanıcının denetleyeceği varsayılır.

Bilginize:

HTML formunun enctype özniteliğine multipart/form-data atanır ve php.ini dosyasında mbstring.encoding_translation yönergesine On değeri atanırsa POST edilen değişkenler ve karşıya yüklenen dosyaların isimleri de dahili karakter kodlamasına dönüştürülür. Bununla birlikte, sorgu anahtarlarına dönüşüm uygulanmaz.

  • HTTP Girdisi

    HTTP girdi karakter kümesini bir PHP betiğinden denetlemenin bir yolu yoktur. HTTP girdi karakter kümesi dönüşümü php.ini dosyasından kapatılır.

    Örnek 1 - HTTP girdi dönüşümünün php.ini'de kapatılması

    ;; HTTP girdi dönüşümünü kapatalım
mbstring.http_input = pass
;; HTTP girdi dönüşümünü kapatalım
mbstring.encoding_translation = Off

    PHP bir Apache modülü olarak kullanıldığında bu ayarları .htaccess ile dizinler için ve httpd.conf içinde sanal konaklar için geçersiz kılmak mümkündür. Ayrıntılar için Apache belgelerine ve bu kılavuzun Çalışma Anı Yapılandırması bölümüne bakınız.

  • HTTP Çıktısı

    Çıktı karakter kodlaması dönüşümünü etkin kılmanın çeşitli yolları vardır. Biri php.ini dosyasını kullanmak; diğeri ise ob_start() ile geriçağırım işlevi olarak mb_output_handler() kullanmaktır.

Örnek 2 - php.ini ayarları örneği

;; Çıktı karakter kodlaması dönüşümünü tüm PHP sayfaları için etkin kılalım

;; Çıktı tamponlamasını açalım
output_buffering    = On

;; çıktı dönüşümünü mb_output_handler yapsın
output_handler      = mb_output_handler

Örnek 3 - Betik örneği

<?php

// Çıktı karakter kodlaması dönüşümünü sadece bu sayfa için etkin kılalım

// HTTP Çıktı karakter kodlamasını SJIS yapalım
mb_http_output('SJIS');

// Geriçağırım işlevi olarak "mb_output_handler" belirtelim ve
// tamponlamayı başlatalım
ob_start('mb_output_handler');

?>


Desteklenen Karakter Kodlamaları

Şu anda, mbstring modülü tarafından aşağıdaki karakter kodlamaları desteklenmektedir. Bu karakter kodlamalarınının her birini mbstring işlevlerinin kodlama bağımsız değişkeninde belirtebilirsiniz.

Bu PHP modülünde şu karakter kodlamaları desteklenmektedir:

  • UCS-4*
  • UCS-4BE
  • UCS-4LE*
  • UCS-2
  • UCS-2BE
  • UCS-2LE
  • UTF-32*
  • UTF-32BE*
  • UTF-32LE*
  • UTF-16*
  • UTF-16BE*
  • UTF-16LE*
  • UTF-7
  • UTF7-IMAP
  • UTF-8*
  • ASCII*
  • EUC-JP*
  • SJIS*
  • eucJP-win*
  • SJIS-win*
  • ISO-2022-JP
  • ISO-2022-JP-MS
  • CP932
  • CP51932
  • SJIS-mac (alias: MacJapanese)
  • SJIS-Mobile#DOCOMO (alias: SJIS-DOCOMO)
  • SJIS-Mobile#KDDI (alias: SJIS-KDDI)
  • SJIS-Mobile#SOFTBANK (alias: SJIS-SOFTBANK)
  • UTF-8-Mobile#DOCOMO (alias: UTF-8-DOCOMO)
  • UTF-8-Mobile#KDDI-A
  • UTF-8-Mobile#KDDI-B (alias: UTF-8-KDDI)
  • UTF-8-Mobile#SOFTBANK (alias: UTF-8-SOFTBANK)
  • ISO-2022-JP-MOBILE#KDDI (alias: ISO-2022-JP-KDDI)
  • JIS
  • JIS-ms
  • CP50220
  • CP50220raw
  • CP50221
  • CP50222
  • ISO-8859-1*
  • ISO-8859-2*
  • ISO-8859-3*
  • ISO-8859-4*
  • ISO-8859-5*
  • ISO-8859-6*
  • ISO-8859-7*
  • ISO-8859-8*
  • ISO-8859-9*
  • ISO-8859-10*
  • ISO-8859-13*
  • ISO-8859-14*
  • ISO-8859-15*
  • ISO-8859-16*
  • byte2be
  • byte2le
  • byte4be
  • byte4le
  • BASE64
  • HTML-ENTITIES (rumuz: HTML)
  • 7bit
  • 8bit
  • EUC-CN*
  • CP936
  • GB18030
  • HZ
  • EUC-TW*
  • CP950
  • BIG-5*
  • EUC-KR*
  • UHC (rumuz: CP949)
  • ISO-2022-KR
  • Windows-1251 (rumuz: CP1251)
  • Windows-1252 (rumuz: CP1252)
  • CP866 (rumuz: IBM866)
  • KOI8-R*
  • KOI8-U*
  • ArmSCII-8 (rumuz: ArmSCII8)

* imi, bu kodlamaların düzenli ifadelerde de kullanılabildiğini ifade eder.

Bir kodlama ismi kabul eden her php.ini yönergesi ayrıca "auto" ve "pass" değerlerini de kabul eder. Bir kodlama ismi kabul eden her mbstring işlevinde ayrıca "auto" değeri de belirtilebilir.

Değer olarak "pass" atanmışsa hiçbir karakter kodlaması dönüşümü yapılmaz.

Değer olarak "auto" atanmışsa bu değer öntanımlı ulusal dil ayarı (NLS) için tanımlanmış kodlamaların listesine genişletilir. Örneğin, NLS olarak Japanese tanımlanmışsa bu değerin "ASCII,JIS,UTF-8,EUC-JP,SJIS" olduğu varsayılır.

Ayrıca bakınız: mb_detect_order()


İşlevlerin Aşırı Yüklenme Özelliği

Uyarı

Bu özelliğin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Genellikle, çalışan bir PHP uygulamasını çok baytlı bir ortamda çalışır duruma getirmek çoğu kişiye zor gelir. Bu durum genellikle çok baytlı kodlanmış dizgelerle düzgün şekilde çalışamayan substr() gibi standart dizge işlevleriyle yazılmış PHP uygulamalarında karşımıza çıkar.

Mbstring modülü, bir uygulamayı çok baytlı ortamlarda çalışır duruma getirmek için kod değişikliği yapılmaksızın standart dizge işlevlerinin çok baytlı taydaşlarının yerini almasını sağlayan 'işlevlerin aşırı yüklenme' özelliğini destekler. Örneğin, eğer aşırı yükleme etkin kılınmışsa substr() işlevi yerine mb_substr() işlevi çağrılır. Bu özellik, çoğu durumda, sadece tek baytlı karakter kodlamasını destekleyen uygulamaların çok baytlı karakter kodlaması kullanılan ortamlara kolayca uyarlanmasını sağlar.

İşlevlerin aşırı yüklenmesini sağlamak için php.ini dosyasında mbstring.func_overload yönergesine, aşırı yüklenecek işlev sınıflarını belirten bit maskelerinden oluşan bir değerin atanması gerekir. mail() işlevini aşırı yüklemek için 1, dizge işlevleri için 2, düzenli ifade işlevleri için 4 girmek gerekir. Örneğin, yönergeye 7 değeri atanırsa bu üç sınıfa ait işlevler aşırı yüklenecektir. Aşırı yüklenebilen işlevler aşağıda listelenmiştir.

Aşırı yüklenebilen işlevler
mbstring.func_overload değeri | özgün işlev | aşırı yükleyen işlev
1 | mail() | mb_send_mail()
2 | strlen() | mb_strlen()
2 | strpos() | mb_strpos()
2 | strrpos() | mb_strrpos()
2 | substr() | mb_substr()
2 | strtolower() | mb_strtolower()
2 | strtoupper() | mb_strtoupper()
2 | stripos() | mb_stripos()
2 | strripos() | mb_strripos()
2 | strstr() | mb_strstr()
2 | stristr() | mb_stristr()
2 | strrchr() | mb_strrchr()
2 | substr_count() | mb_substr_count()

Bilginize:

Dizin bağlamında yapılandırmalarda işlevlerin aşırı yüklenme özelliğinin kullanılması önerilmez. Çünkü, bu özelliğin üretim ortamında kullanılabilecek kararlılığa sahip olduğu henüz onaylanmamıştır; bu bakımdan önceden kestirilemeyen bazı davranışlarla karşılaşmak olasıdır.


PHP Karakter Kodlaması Gereksinimleri

Aşağıdaki karakter kodlaması türleri PHP'de güvenle kullanılabilmektedir.

  • Tek baytlık kodlama

    • 00h .. 7fh aralığındaki karakterlerden oluşan ASCII uyumlu (ISO646 uyumlu) eşlemler.

  • Çok baytlı kodlama

    • 00h .. 7fh aralığındaki karakterlerden oluşan ASCII uyumlu (ISO646 uyumlu) eşlemler.
    • ISO2022 öncelem dizileri kullanılmaz.
    • 00h .. 7fh aralığındaki baytların hiçbiri, çok baytlı bir karakterin baytlarından biri olarak kullanılmaz.

Aşağıdaki karakter kodlamaları PHP'da çalışmayan karakter kodlaması örnekleridir.

JIS, SJIS, ISO-2022-JP, BIG-5

Özellikle bu karakter kodlamalarıyla yazılmış dizgelerin betik içinde betimleyici olarak kulanıldığı durumda, bu kodlamalarla yazılmış PHP betikleri çalışmasa da, gelen HTTP sorguları için mbstring modülünün şeffaf kodlama süzme işlevi etkin kılınarak bu kodlamalardan büyük oranda kaçınmak mümkündür.

Bilginize:

Çözümleyici, tarayıcı ve karakter kodlaması konularında uzmanlığınız yoksa dahili karakter kodlaması olarak SJIS, BIG5, CP936, CP949 ve GB18030'u kesinlikle kullanmamalısınız.

Bilginize:

PHP ile bir veritabanını bağlanıyorsanız, başarımı artırmak ve kullanım kolaylığı bakımından dahili kodlama ile veritabanında kullandığınız kodlamanın aynı olması tercih edilmelidir.

PostgreSQL kullanıyorsanız ve PostgreSQL ön ve artalan arasında otomatik karakter kodlaması dönüşümünü destekliyorsa, veritabanında kullanılan karakter kodlaması PHP'nin kullandığından farklı olabilir.


Çok baytlı Dizge İşlevleri

Kaynakça

Çok baytlı karakter kodlama şemaları ve bunlarla ilgili konular oldukça karmaşık olup bu belgelemenin kapsamı dışındadır. Bu konularla ilgili daha ayrıntılı bilgi edinmek için aşağıdaki adreslere ve başka kaynaklara bakınız.

  • Evrenkod gereçleri

    » http://www.unicode.org/

  • Japonca/Korece/Çince karakter bilgileri

    » https://resources.oreilly.com/examples/9781565922242/blob/master/doc/cjk.inf

İçindekiler

  • mb_check_encoding — Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar
  • mb_chr — Unicode karakter koduna göre karakteri döndürür
  • mb_convert_case — Bir dizgeye büyük-küçük harf dönüşümü uygular
  • mb_convert_encoding — Karakter kodlaması dönüşümü yapar
  • mb_convert_kana — Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür
  • mb_convert_variables — Değişken içeriğinin karakter kodlamasını dönüştürür
  • mb_decode_mimeheader — MIME başlık alanındaki dizgeyi dönüştürür
  • mb_decode_numericentity — HTML sayısal karakter gösterimini karaktere dönüştürür
  • mb_detect_encoding — Karakter kodlamasını algılar
  • mb_detect_order — Karakter kodlaması algılama sırasını tanımlar/döndürür
  • mb_encode_mimeheader — Dizgeyi MIME başlığı için kodlar
  • mb_encode_numericentity — Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür
  • mb_encoding_aliases — Bilinen bir kodlama türünün takma adını döndürür
  • mb_ereg_match — Çok baytlı dizge için düzenli ifadeyi eşleştirir
  • mb_ereg_replace_callback — Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular
  • mb_ereg_replace — Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
  • mb_ereg_search_getpos — Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür
  • mb_ereg_search_getregs — Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür
  • mb_ereg_search_init — Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar
  • mb_ereg_search_pos — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür
  • mb_ereg_search_regs — Çok baytlı düzenli ifadenin eşleşen parçası ile döner
  • mb_ereg_search_setpos — Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar
  • mb_ereg_search — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar
  • mb_ereg — Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir
  • mb_eregi_replace — Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
  • mb_eregi — Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular
  • mb_get_info — Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür
  • mb_http_input — HTTP girdi karakter kodlamasını algılar
  • mb_http_output — HTTP çıktı karakter kodlamasını tanımlar/döndürür
  • mb_internal_encoding — Dahili karakter kodlamasını tanımlar/döndürür
  • mb_language — Geçerli dili tanımlar/döndürür
  • mb_list_encodings — Desteklenen kodlamaların tamamını bir dizi olarak döndürür
  • mb_ord — Karakterin Unicode karakter kodunu döndürür
  • mb_output_handler — Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi
  • mb_parse_str — GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar
  • mb_preferred_mime_name — MIME karakter kümesi dizgesini döndürür
  • mb_regex_encoding — Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_regex_set_options — mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür
  • mb_scrub — Bozuk bayt dizilerini yedek karakterle değiştirir
  • mb_send_mail — Kodlanmış olarak posta gönderir
  • mb_split — Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır
  • mb_str_pad — Pad a multibyte string to a certain length with another multibyte string
  • mb_str_split — Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür
  • mb_strcut — Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner
  • mb_strimwidth — Dizgeyi belirtilen genişlikte kırpar
  • mb_stripos — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
  • mb_stristr — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
  • mb_strlen — Dizge uzunluğu ile döner
  • mb_strpos — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
  • mb_strrchr — Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
  • mb_strrichr — Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
  • mb_strripos — Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür
  • mb_strrpos — Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür
  • mb_strstr — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
  • mb_strtolower — Dizgeyi küçük harfli yapar
  • mb_strtoupper — Dizgeyi büyük harfli yapar
  • mb_strwidth — Dizge genişliğini döndürür
  • mb_substitute_character — İkame karakteri atar/döndürür
  • mb_substr_count — Mevcut alt dizgelerin sayısı ile döner
  • mb_substr — Dizgenin bir alt dizgesini alır


Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar

  • « Çok baytlı Dizge İşlevleri
  • mb_chr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar

mb_check_encoding

(PHP 4 >= 4.4.3, PHP 5 >= 5.1.3, PHP 7, PHP 8)

mb_check_encoding — Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar

Açıklama

mb_check_encoding(array|string|null $değer = null, ?string $kodlama = null): bool

Belirtilen bayt diziliminin belirtilen kodlamaya uygun olup olmadığını sınar. değer bir dizi ise tüm anahtarlar ve değerler sırayla doğrulanır. "Geçersiz Kodlama Saldırısı"'nı önlemek için yararlıdır.

Bağımsız Değişkenler

değer

Sınanacak bayt akımı veya bir dizi. Belirtilmezse, isteğin başlangıcından itibaren tüm girdi sınanır.

Uyarı

PHP 8.1.0 ve sonrasında, bu bağımsız değişkenin atlanması veya null aktarılması önerilmemektedir.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | değer belirtilmeksizin veya bağımsız değişkene null atanarak işlevin çağrılması önerilmemektedir.
8.0.0 | değer ve kodlama artık null olabiliyor.
7.2.0 | İşlev değer olarak artık bir dizi olabiliyor. Evvelce sadece dizgeler destekleniyordu.


Unicode karakter koduna göre karakteri döndürür

  • « mb_check_encoding
  • mb_convert_case »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Unicode karakter koduna göre karakteri döndürür

mb_chr

(PHP 7 >= 7.2.0, PHP 8)

mb_chr — Unicode karakter koduna göre karakteri döndürür

Açıklama

mb_chr(int $karakter_kodu, ?string $kodlama = null): string|false

Belirtilen karakter kodlamasına göre belirtilen karakter kodunun Unicode karakterini döndürür.

mb_ord() işlevinin tersiniridir.

Bağımsız Değişkenler

karakter_kodu

Unicode karakter kodu. Örn, "??" karakterini döndürmek için 128024 belirtilmelidir.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Başarı durumunda Unicode karakter kodu belirtilen karakterin belirtilen karakter kodlamasındaki gösterimini, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - Farklı karakter kodlarının denenmesi

<?php
$values = [65, 63, 0x20AC, 128024];
foreach ($values as $value) {
var_dump(mb_chr($value, 'UTF-8'));
var_dump(mb_chr($value, 'ISO-8859-15'));
}
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
string(1) "A"
string(1) "?"
string(1) "?"
string(3) "€"
string(1) "?"
string(4) "??"
bool(false)

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_ord() - Karakterin Unicode karakter kodunu döndürür
  • IntlChar::ord() - Return Unicode code point value of character
  • chr() - Bir sayıdan tek baytlık dizge üretir


Bir dizgeye büyük-küçük harf dönüşümü uygular

  • « mb_chr
  • mb_convert_encoding »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgeye büyük-küçük harf dönüşümü uygular

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_convert_case — Bir dizgeye büyük-küçük harf dönüşümü uygular

Açıklama

mb_convert_case(string $dizge, int $kip, ?string $kodlama = null): string

Belirtilen dizgeye belirtilen kipe göre büyük-küçük harf dönüşümü uygular.

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge.

kip

Dönüşüm kipi. MB_CASE_UPPER, MB_CASE_LOWER, MB_CASE_TITLE, MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, MB_CASE_FOLD_SIMPLE sabitlerinden biri olabilir.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

kip ile belirtilen şekilde büyük-küçük harf dönüşümü yapılmış dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | kip artık MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE ve MB_CASE_FOLD_SIMPLE sabitlerini de destekliyor.

Örnekler

Örnek 1 - mb_convert_case() yerel ayarlara bakmaz

<?php
$str = "Pınar'ın çok sevdiği küçük bir kuzusu var.\n";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // PINAR'IN ÇOK SEVDIĞI KÜÇÜK BIR KUZUSU VAR.
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // Pinar'in Çok Sevdiği Küçük Bir Kuzusu Var.
?>

Örnek 2 - Latin harfleri kullanılmayan mb_convert_case() örneği

<?php
$str = "??????? ?????? ß???? ??µ??? ??, ??????????? ???? ?????? ?????\n";
$str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
echo $str; // ??????? ?????? ????? ?????? ??, ??????????? ???? ?????? ?????
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // ??????? ?????? ????? ??µ??? ??, ??????????? ???? ?????? ?????
?>

Evrenkod

strtolower() ve strtoupper() gibi standart büyük-küçük harf dönüşüm işlevlerinden farklı olarak, dönüşümü Unicode karakter özelliklerine göre yapar. Bu bakımdan bu işlevin davranışı yerel ayarlardan etkilenmez ve büyük-küçük harf ayrımı yapılabilen her karakteri dönüştürebilir.

Unicode özellikleri hakkında daha fazla bilgi için » http://www.unicode.org/reports/tr21/ adresine bakınız.

Ayrıca Bakınız

  • mb_strtolower() - Dizgeyi küçük harfli yapar
  • mb_strtoupper() - Dizgeyi büyük harfli yapar
  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir
  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir
  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
  • ucwords() - Dizgedeki her sözcüğün ilk harfini büyük harf yapar


Karakter kodlaması dönüşümü yapar

  • « mb_convert_case
  • mb_convert_kana »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Karakter kodlaması dönüşümü yapar

mb_convert_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_encoding — Karakter kodlaması dönüşümü yapar

Açıklama

mb_convert_encoding(array|string $dizge, string $kodlamaya, array|string|null $kodlamadan = null): array|string|false

Belirtilen dizgenin karakter kodlamasını kodlamadan veya dahili kodlamadan kodlamaya dönüştürür. dizge olarak bir dizi verilmişse tüm dizge değerler sırayla dönüştürülür.

Bağımsız Değişkenler

dizge

Kodlaması dönüştürülecek dizge veya dizi.

kodlamaya

Dizgenin dönüştürüleceği kodlama.

kodlamadan

kodlamadan bağımsız değişkeninde, dizge kodlamasını algılamak için kullanılacak karakter kodlamaları bir dizi veya virgül ayraçlı liste olarak belirtilir. Doğru kodlama mb_detect_encoding() işlevinde kullanılan algoritma ile saptanmaya çalışılır.

kodlamadan null ise veya atlanmışsa mbstring.internal_encoding yönergesinin değeri, aksi takdirde default_charset değeri kullanılır.

kodlamaya ve kodlamadan bağımsız değişkenlerine aktarılabilecek geçerli değerler için Desteklenen Karakter Kodlamaları sayfasına bakılabilir.

Dönen Değerler

Kodlaması dönüştürülen dizge.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, kodlamaya veya kodlamadan geçersiz bir kodlama içeriyorsa bir ValueError yavrulanıyor. PHP 8.0.0 öncesinde sadece E_WARNING çıktılanırdı.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlamadan geçersiz bir kodlama içeriyorsa mb_convert_encoding() artık bir ValueError yavruluyor. Evvelce sadece E_WARNING çıktılanırdı.
8.0.0 | kodlamaya geçersiz bir kodlama içeriyorsa mb_convert_encoding() artık bir ValueError yavruluyor. Evvelce sadece E_WARNING çıktılanırdı.
8.0.0 | kodlamadan artık null olabiliyor.
7.2.0 | İşlev dizge olarak artık dizi de kabul ediyor. Evvelce sadece dizge destekleniyordu.

Örnekler

Örnek 1 - mb_convert_encoding() örneği

<?php
/* Dahili karakter kodlamasını SJIS'e çevirelim */
$str = mb_convert_encoding($str, "SJIS");

/* EUC-JP'den UTF-7'ye dönüştürelim */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");

/* Kodlamayı algılayarak JIS, eucjp-win, sjis-win, kodlamalarından
UCS-2LE'ye dönüşüm yaptıralım */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");

/* mbstring.language değeri "Japanese" ise, "auto" değeri
* "ASCII,JIS,UTF-8,EUC-JP,SJIS" olarak genişletilir
*/
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>

Ayrıca Bakınız

  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür
  • UConverter::transcode() - Convert a string from one character encoding to another
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür

  • « mb_convert_encoding
  • mb_convert_variables »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür

mb_convert_kana

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_kana — Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür

Açıklama

mb_convert_kana(string $dizge, string $kip = "KV", ?string $kodlama = null): string

Belirtilen dizgeye "han-kaku" - "zen-kaku" dönüşümü uygular. İşlev sadece Japonca için kullanılabilir.

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge

kip

Dönüşüm seçeneği.

Aşağıdaki seeneklerin bir birleşimi olarak belirtilebilir.

Olası Dönüşüm Seçenekleri
Seçenek | Anlamı
r | "zen-kaku" (tam geniş) harfleri "han-kaku" (yarı geniş) harflere dönüştürür.
R | "han-kaku" harfleri "zen-kaku" harflere dönüştürür.
n | "zen-kaku" sayıları "han-kaku" sayılara dönüştürür.
N | "han-kaku" sayıları "zen-kaku" sayılara dönüştürür.
a | "zen-kaku" harfleri ve sayıları "han-kaku"'ya dönüştürür.
A | "han-kaku" harfleri ve sayıları "zen-kaku"'ya dönüştürür. ("a" ve "A" seçeneklerine dahil karakterler: U+0022, U+0027, U+005C, U+007E hariç U+0021 - U+007E)
s | "zen-kaku" boşluğu "han-kaku" boşluğa dönüştürür (U+3000 -> U+0020).
S | "han-kaku" boşluğu "zen-kaku" boşluğa dönüştürür (U+0020 -> U+3000).
k | "zen-kaku kata-kana" kodlamasından "han-kaku kata-kana" kodlamasına dönüştürür.
K | "han-kaku kata-kana" kodlamasından "zen-kaku kata-kana" kodlamasına dönüştürür.
h | "zen-kaku hira-gana" to "han-kaku kata-kana" kodlamasına dönüştürür.
H | "han-kaku kata-kana" kodlamasından "zen-kaku hira-gana" kodlamasına dönüştürür.
c | "zen-kaku kata-kana" kodlamasından "zen-kaku hira-gana" kodlamasına dönüştürür.
C | "zen-kaku hira-gana" kodlamasından "zen-kaku kata-kana" kodlamasına dönüştürür.
V | Sesli gösterimi kapatıp bir karaktere dönüştürür. "K","H" ile kullanılır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Dönüştürülen dizge.

Hatalar/İstisnalar

Farklı kip'lerin birleşimi geçersizse ValueError istisnası oluşur. Örneğin, "sS".

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Farklı kip'lerin birleşimi geçersizse artık ValueError istisnası oluşuyor.
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_convert_kana() örneği

<?php
/* "kana" kodlamasını "zen-kaku" "kata-kana" yapar*/
$str = mb_convert_kana($str, "KVC");

/* "han-kaku" "kata-kana" kodlamasını "zen-kaku" "kata-kana"
ve "zen-kaku" harf ve sayılarını "han-kaku" yapar */
$str = mb_convert_kana($str, "KVa");
?>


Değişken içeriğinin karakter kodlamasını dönüştürür

  • « mb_convert_kana
  • mb_decode_mimeheader »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Değişken içeriğinin karakter kodlamasını dönüştürür

mb_convert_variables

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_convert_variables — Değişken içeriğinin karakter kodlamasını dönüştürür

Açıklama

mb_convert_variables(
string $kodlamaya,
array|string $kodlamadan,
mixed &$değişken,
mixed &...$değişkenler
): string|false

Belirtilen değişkenlerin karakter kodlamasını kodlamadan kodlamaya dönüştürür.

mb_convert_variables() işlevi, kodlama algılamasının kısa dizgelerde başarısız olmaması için dizgeleri bir dizi veya nesne içinde birleştirir. Bu bakımdan kodlamayı karıştırmak tek bir dizi veya nesne içinde imkansızdır.

Bağımsız Değişkenler

kodlamaya

Dizgenin dönüştürüleceği karakter kodlaması.

kodlamadan

kodlamadan bağımsız değişkeninde, dizge kodlamasını algılamak için kullanılacak karakter kodlamaları bir dizi veya virgül ayraçlı liste olarak belirtilir. Belirtilmezse dahili algılama sırası kullanılır.

değişken

Kodlaması değiştirilecek değişken belirtilir. Dizi, dizge veya nesne belirtilebilir. İşlev tüm bağımsız değişkenlerin aynı karakter kodlamasına sahip olduğunu varsayar.

değişkenler

Diğer değişkenler.

Dönen Değerler

Başarı durumunda dönüşüm öncesi karakter kodlaması, aksi takdirde false döner.

Örnekler

Örnek 1 - mb_convert_variables() örneği

<?php
/* $post1, $post2 değişkenlinin içeriğini dahili kodlamaya dönüştürelim */
$dahilikod = mb_internal_encoding();
$girdikodu = mb_convert_variables($dahilikod, "ASCII,UTF-8,SJIS-win", $post1, $post2);
?>


MIME başlık alanındaki dizgeyi dönüştürür

  • « mb_convert_variables
  • mb_decode_numericentity »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • MIME başlık alanındaki dizgeyi dönüştürür

mb_decode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_decode_mimeheader — MIME başlık alanındaki dizgeyi dönüştürür

Açıklama

mb_decode_mimeheader(string $dizge): string

MIME başlığındaki dizgenin karakter kodlamasını dahili karakter kodlamasına dönüştürür.

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge.

Dönen Değerler

Kodlaması dahili karakter kodlamasına dönüştürülmüş dizge.

Ayrıca Bakınız

  • mb_encode_mimeheader() - Dizgeyi MIME başlığı için kodlar


HTML sayısal karakter gösterimini karaktere dönüştürür

  • « mb_decode_mimeheader
  • mb_detect_encoding »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • HTML sayısal karakter gösterimini karaktere dönüştürür

mb_decode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_decode_numericentity — HTML sayısal karakter gösterimini karaktere dönüştürür

Açıklama

mb_decode_numericentity(
string $dizge,
array $bölge,
?string $kodlama = null,
bool $onaltılık = false
): string

Belirtilen dizge dizgesindeki karakter kodlarından belirtilen bölge içinde kalan karakterlerin yerine HTML sayısal karakter gösterimlerini yerleştirir.

Bağımsız Değişkenler

dizge

HTML karakter kodlaması kaldırılacak dizge.

bölge

Dönüşüm yapılacak kod bölgesini içeren dizi.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

onaltılık

true ise sayısal gösterim onaltılık olur, değilse onluk olur.

Dönen Değerler

Dönüştürülen dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - bölge örneği

<?php
$bölge = array (
int kodlama_başı1, int kodlama_sonu1, int göreli_konum1, int maske1,
int kodlama_başı2, int kodlama_sonu2, int göreli_konum2, int maske2,
........
int kodlama_başıN, int kodlama_sonuN, int göreli_konumN, int maskeN );
// kodlama_başıN ve int kodlama_sonuN için Evrenkodlu değer belirt,
// değere göreli_konumN ekleyip sonucu maskeN ile bitsel VE'le ve
// değeri sayısal gösterim dizgesine dönüştür.
?>

Örnek 2 - JavaScript dizgeyi önceleyen map örneği

<?php
function escape_javascript_string($str) {
$map = [
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,0,0, // 49
0,0,0,0,0,0,0,0,1,1,
1,1,1,1,1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,1,1,1,1,1,1,0,0,0, // 99
0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0,0,0,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1, // 149
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1, // 199
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1, // 249
1,1,1,1,1,1,1, // 255
];
// Kodlama: UTF-8
$mblen = mb_strlen($str, 'UTF-8');
$utf32 = bin2hex(mb_convert_encoding($str, 'UTF-32', 'UTF-8'));
for ($i=0, $encoded=''; $i < $mblen; $i++) {
$u = substr($utf32, $i*8, 8);
$v = base_convert($u, 16, 10);
if ($v < 256 && $map[$v]) {
$encoded .= '\\x'.substr($u, 6,2);
} else if ($v == 2028) {
$encoded .= '\\u2028';
} else if ($v == 2029) {
$encoded .= '\\u2029';
} else {
$encoded .= mb_convert_encoding(hex2bin($u), 'UTF-8', 'UTF-32');
}
}
return $encoded;
}

// Veriyi sına
$convmap = [ 0x0, 0xffff, 0, 0xffff ];
$msg = '';
for ($i=0; $i < 1000; $i++) {
// chr() 128'den büyük değerler için doğru UTF-8 veri üretmez,
// yerine mb_decode_numericentity() kullanılır.
$msg .= mb_decode_numericentity('&#'.$i.';', $convmap, 'UTF-8');
}

// var_dump($msg);
var_dump(escape_javascript_string($msg));

Ayrıca Bakınız

  • mb_encode_numericentity() - Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür


Karakter kodlamasını algılar

  • « mb_decode_numericentity
  • mb_detect_order »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Karakter kodlamasını algılar

mb_detect_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_encoding — Karakter kodlamasını algılar

Açıklama

mb_detect_encoding(string $dizge, array|string|null $kodlamalar = null, bool $katı = false): string|false

Sıralı adaylar listesinden string türündeki dizge için en uygun karakter kodlamasını saptar.

Amaçlanan karakter kodlamasının otomatik tespiti hiçbir zaman tamamen güvenilir olamaz; bazı ek bilgiler olmadan, şifrelenmiş bir dizenin şifresini anahtarsız çözmeye benzer. Verilerle birlikte depolanan veya iletilen karakter kodlamasının bir "Content-Type" HTTP başlığı gibi bir göstergesinin kullanılması her zaman tercih edilir.

Bu işlev, tüm bayt dizilerinin geçerli bir dizge oluşturmadığı çok baytlı kodlamalarda çok yararlıdır. Belirtilen dizge böyle bir dizi içeriyorsa, bu kodlama reddedilecek ve sonraki kodlamaya bakılacaktır.

Bağımsız Değişkenler

dizge

Kodlaması algılanacak dizge.

kodlamalar

kodlamalar ile denenecek karakter kodlamalarının listesi belirtilir. Algı sırası bir dizeler dizisi veya virgül ayraçlı bir liste olarak belirtilebilir.

kodlamalar atlanırsa veya null ise, dahili algılama sırası veya mb_detect_order() işlevi kullanılır.

katı

dizge kodlamalar listesi için geçersiz olduğunda izlenecek yolu belirler. katı false ise en yakın eşleşen kodlama döner, true belirtilmişse false döner.

katı için öntanımlı değer, mbstring.strict_detection yapılandırma seçeneği ile atanabilir.

Dönen Değerler

dizge kodlamalar listesi için geçersiz ise false, yoksa algılanan karakter kodlaması döner.

Örnekler

Örnek 1 - mb_detect_encoding() örneği

<?php
// Karakter kodlamasını dahili algı sırasını kullanarak algılatalım
echo mb_detect_encoding($str);

// "auto" değeri mbstring.language ini değerine göre genişletilir
echo mb_detect_encoding($str, "auto");

// Kodlamaları virgül ayraçlı liste olarak belirtelim
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");

// Kodlamaları dizi olarak belirtelim
$encodings = [
"ASCII",
"JIS",
"EUC-JP"
];
echo mb_detect_encoding($str, $encodings);
?>

Örnek 2 - katı bağımsız değişkeninin etkisi

<?php
// 'áéóú' ISO-8859-1'de kodlandı
$str = "\xE1\xE9\xF3\xFA";

// Dizge ASCII veya UTF-8 için geçersiz, fakat UTF-8 daha iyi eşleşiyor
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8'], false));
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8'], true));

// Geçersiz kodlama bulunursa, katı bağımsız değişkeni sonucu değiştirmez
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8', 'ISO-8859-1'], false));
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8', 'ISO-8859-1'], true));
?>

Yukarıdaki örneğin çıktısı:

string(5) "UTF-8"
bool(false)
string(10) "ISO-8859-1"
string(10) "ISO-8859-1"

Bazı durumlarda aynı bayt sırası çok sayıda karakter kodlamasında geçerli bir dizge verebilir ve hangi yorumun amaçlandığını anlamak mümkündür. Örneğin, "\xC4\xA2" bayt sırasını ele alalım:

  • "Ä¢" (U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS ardından U+00A2 CENT SIGN) ISO-8859-1, ISO-8859-15 veya Windows-1252'den herhangi birinde geçerli.
  • "??" (U+0424 CYRILLIC CAPITAL LETTER EF ardından U+0402 CYRILLIC CAPITAL LETTER DJE) ISO-8859-5 için geçerli.
  • "G" (U+0122 LATIN CAPITAL LETTER G WITH CEDILLA) UTF-8 için geçerli.

Örnek 3 - Çok sayıda kodlama eşleştiğinde sıralamanın etkisi

<?php
$str = "\xC4\xA2";

// Dizge üç kodlamada da geçerli, dolayısıyla listenin başındaki döner
var_dump(mb_detect_encoding($str, ['UTF-8', 'ISO-8859-1', 'ISO-8859-5']));
var_dump(mb_detect_encoding($str, ['ISO-8859-1', 'ISO-8859-5', 'UTF-8']));
var_dump(mb_detect_encoding($str, ['ISO-8859-5', 'UTF-8', 'ISO-8859-1']));
?>

Yukarıdaki örneğin çıktısı:

string(5) "UTF-8"
string(10) "ISO-8859-1"
string(10) "ISO-8859-5"

Ayrıca Bakınız

  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür


Karakter kodlaması algılama sırasını tanımlar/döndürür

  • « mb_detect_encoding
  • mb_encode_mimeheader »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Karakter kodlaması algılama sırasını tanımlar/döndürür

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_order — Karakter kodlaması algılama sırasını tanımlar/döndürür

Açıklama

mb_detect_order(array|string|null $kodlama_listesi = null): array|bool

kodlama_listesi ile belirtilen otomatik karakter kodlaması algılama sırasını tanımlar.

Bağımsız Değişkenler

kodlama_listesi

kodlama_listesi bir dizi veya karakter kodlamalarının virgül ayraçlı listesi olarak belirtilir. Bkz, desteklenen kodlamalar

kodlama_listesi null ise veya belirtilmezse karakter kodlaması algılama sırasını içeren bir dizi döner.

Bu ayar, mb_detect_encoding() ve mb_send_mail() işlevini etkiler.

mbstring şimdilik aşağıdaki kodlama algılama süzgeçlerini gerçeklemiştir. Bu kodlamalarla ilgili geçersiz bir bayt dizilimine rastlanırsa kodlama algılaması başarısız olur.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

Bir ISO-8859-* karakter kodlamasını, mbstring daima ISO-8859-* olarak algılar.

UTF-16, UTF-32, UCS2 ve UCS4 için algılama daima başarısız olacaktır.

Dönen Değerler

Kodlama algılama sırasını ayarlarken başarı durumunda true, başarısızlık durumunda false döner

Kodlama algılama sırasını alırken, kodlamaların sıralı bir dizisi döndürülür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_detect_order() örnekleri

<?php
/* Algı sırasını virgül ayraçlı liste olarak verelim */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* Algı sırasını dizi olarak verelim */
$dizi[] = "ASCII";
$dizi[] = "JIS";
$dizi[] = "EUC-JP";
mb_detect_order($dizi);

/* Geçerli algı sırasını görelim */
echo implode(", ", mb_detect_order());
?>

Örnek 2 - Yararsız algılama sırası

; Daima ISO-8859-1 algılanır
detect_order = ISO-8859-1, UTF-8

; Daima UTF-8 algılanır, çünkü ASCII/UTF-7 değerleri
; UTF-8 için geçerlidir
detect_order = UTF-8, ASCII, UTF-7

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_http_input() - HTTP girdi karakter kodlamasını algılar
  • mb_http_output() - HTTP çıktı karakter kodlamasını tanımlar/döndürür
  • mb_send_mail() - Kodlanmış olarak posta gönderir


Dizgeyi MIME başlığı için kodlar

  • « mb_detect_order
  • mb_encode_numericentity »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgeyi MIME başlığı için kodlar

mb_encode_mimeheader

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_mimeheader — Dizgeyi MIME başlığı için kodlar

Açıklama

mb_encode_mimeheader(
string $dizge,
?string $karküm = null,
?string $aktarım_kodlaması = null,
string $satırsonu = "\r\n",
int $girinti = 0
): string

Belirtilen dizge dizgesini MIME başlığı kodlama şemasına göre kodlar.

Bağımsız Değişkenler

dizge

Kodlanacak dizge. Kodlaması mb_internal_encoding() ile aynı olmalıdır.

karküm

Dizgenin kodlanacağı karakter kümesinin ismi. Öntanımlı değer geçerli yerel dil ayarından (mbstring.language) alınır.

aktarım_kodlaması

aktarım_kodlaması ile MIME kodlama şeması belirtilir. "B" (Base64) veya "Q" (Quoted-Printable) olmalıdır. Belirtilmezse son çare olarak "B" kullanılır.

satırsonu

mb_encode_mimeheader() işlevinin satırları katlayabilmesi için satır sonu imleyici belirtir. (» RFC gereği belli bir uzunluktan daha uzun satırların katlanması gerekir. Bu uzunluk şimdilik 74 bayttır.) Belirtilmediği takdirde son çare olarak "\r\n" (CRLF) kullanılır.

girinti

İlk satırın girinti miktarı (Başlıkta dizge dizgesinden önceki karakter sayısı).

Dönen Değerler

Belirtilen dizgenin ASCII'ye dönüştürülmüş gösterimi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karküm ve aktarım_kodlaması artık null olabiliyor.

Örnekler

Örnek 1 - mb_encode_mimeheader() örneği

<?php
$name = "??"; // kanji
$mbox = "kru";
$domain = "gtinn.mon";
$addr = '"' . addcslashes(mb_encode_mimeheader($name, "UTF-7", "Q"), '"') . '" <' . $mbox . "@" . $domain . ">";
echo $addr;
?>

Yukarıdaki örneğin çıktısı:

"=?UTF-7?Q?+WSqQzg-?=" <kru@gtinn.mon>

Notlar

Bilginize:

Bu işlev daha yüksek seviyeden satır katlamaları için tasarlanmamıştır (sözcükleri bölmeden katlamak gibi). Bu davranış özgün dizgenin beklenmedik boşluklarla düzensizleşmesine sebep olabilir.

Ayrıca Bakınız

  • mb_decode_mimeheader() - MIME başlık alanındaki dizgeyi dönüştürür


Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür

  • « mb_encode_mimeheader
  • mb_encoding_aliases »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_numericentity — Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür

Açıklama

mb_encode_numericentity(
string $dizge,
array $bölge,
?string $kodlama = null,
bool $onaltılık = false
): string

Belirtilen dizge dizgesindeki karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür.

Bağımsız Değişkenler

dizge

HTML için kodlanacak dizge.

bölge

Dönüşüm yapılacak kod bölgesini içeren dizi.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

onaltılık

true ise sayısal gösterim onaltılık olur, değilse onluk olur.

Dönen Değerler

Dönüştürülen dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - bölge örneği

<?php
$bölge = array (
int kodlama_başı1, int kodlama_sonu1, int göreli_konum1, int maske1,
int kodlama_başı2, int kodlama_sonu2, int göreli_konum2, int maske2,
........
int kodlama_başıN, int kodlama_sonuN, int göreli_konumN, int maskeN );
// kodlama_başıN ve int kodlama_sonuN için Evrenkodlu değer belirt,
// değere göreli_konumN ekleyip sonucu maskeN ile bitsel VE'le ve
// değeri sayısal gösterim dizgesine dönüştür.
?>

Örnekler

Örnek 2 - mb_encode_numericentity() örneği

<?php
/* ISO-8859-1'in sol tarafını HTML sayısal karakter gösterimine dönüştürelim */
$bölge = array(0x80, 0xff, 0, 0xff);
$dizge = mb_encode_numericentity($dizge, $bölge, "ISO-8859-1");

/* Kullanıcı tanımlı SJIS-win'i 95-104 aralığında sayısal gösterime
dönüştürelim */
$bölge = array(
0xe000, 0xe03e, 0x1040, 0xffff,
0xe03f, 0xe0bb, 0x1041, 0xffff,
0xe0bc, 0xe0fa, 0x1084, 0xffff,
0xe0fb, 0xe177, 0x1085, 0xffff,
0xe178, 0xe1b6, 0x10c8, 0xffff,
0xe1b7, 0xe233, 0x10c9, 0xffff,
0xe234, 0xe272, 0x110c, 0xffff,
0xe273, 0xe2ef, 0x110d, 0xffff,
0xe2f0, 0xe32e, 0x1150, 0xffff,
0xe32f, 0xe3ab, 0x1151, 0xffff );
$dizge = mb_encode_numericentity($dizge, $bölge, "sjis-win");
?>

Ayrıca Bakınız

  • mb_decode_numericentity() - HTML sayısal karakter gösterimini karaktere dönüştürür


Bilinen bir kodlama türünün takma adını döndürür

  • « mb_encode_numericentity
  • mb_ereg_match »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bilinen bir kodlama türünün takma adını döndürür

mb_encoding_aliases

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mb_encoding_aliases — Bilinen bir kodlama türünün takma adını döndürür

Açıklama

mb_encoding_aliases(string $kodlama): array

kodlama türünün bilinen takma adlarını içeren bir dizi döndürür.

Bağımsız Değişkenler

kodlama

Takma adlarına bakılacak kodlama.

Dönen Değerler

Başarı durumunda kodlama takma adlarını içeren sayısal indisli bir dizi döner.

Hatalar/İstisnalar

kodlama bilinmiyorsa ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama bilinmiyorsa artık ValueError istisnası oluşuyor, evvelce bir E_WARNING çıktılanır ve işlev false döndürürdü.

Örnekler

Örnek 1 - mb_encoding_aliases() örneği

<?php
$encoding = 'ASCII';
$known_encodings = mb_list_encodings();

if (in_array($encoding, $known_encodings)) {

$aliases = mb_encoding_aliases($encoding);
print_r($aliases);

} else {

echo "$encoding diye bir kodlama bilinmiyor.\n";

}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => ANSI_X3.4-1968
    [1] => iso-ir-6
    [2] => ANSI_X3.4-1986
    [3] => ISO_646.irv:1991
    [4] => US-ASCII
    [5] => ISO646-US
    [6] => us
    [7] => IBM367
    [8] => cp367
    [9] => csASCII
)

Ayrıca Bakınız

  • mb_list_encodings() - Desteklenen kodlamaların tamamını bir dizi olarak döndürür


Çok baytlı dizge için düzenli ifadeyi eşleştirir

  • « mb_encoding_aliases
  • mb_ereg_replace_callback »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı dizge için düzenli ifadeyi eşleştirir

mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_match — Çok baytlı dizge için düzenli ifadeyi eşleştirir

Açıklama

mb_ereg_match(string $kalıp, string $dizge, ?string $seçenekler = null): bool

Bir düzenli ifadeyi çok baytlı bir dizge ile eşleştirir.

Bilginize: kalıp sadece dizge başlangıcında eşleşir.

Bağımsız Değişkenler

kalıp

Düzenli ifade kalıbı.

dizge

Kalıbın aranacağı dizge.

seçenekler

Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

dizge, şablon ile eşleşirse true eşleşmezse false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler artık null olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg() - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir


Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular

  • « mb_ereg_match
  • mb_ereg_replace »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular

mb_ereg_replace_callback

(PHP 5 >= 5.4.1, PHP 7, PHP 8)

mb_ereg_replace_callback — Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular

Açıklama

mb_ereg_replace_callback(
string $kalıp,
callable $geriçağırım,
string $dizge,
?string $seçenekler = null
): string|false|null

dizge dizisinde kalıp ile eşleşmeler arar, eşleşen metni geriçağırım işlevinin çıktısı ile değiştirir.

mb_ereg_replace() işlevindeki yeni bağımsız değişkeninin yerine burada bir geriçağırım işlevinin kullanılması dışında davranışları aynıdır.

Bağımsız Değişkenler

kalıp

Düzenli ifade kalıbı.

kalıpta çok baytlı karakterler kullanılabilir.

geriçağırım

konu dizgesinde eşleşen elemanları içeren bir dizi aktarılabilen ve yerleştirilecek dizgeyi döndürecek geriçağırım işlevi.

Genellikle mb_ereg_replace_callback() için geriçağırım işlevine tek bir yerde ihtiyaç duyulur. Bu durumda,mb_ereg_replace_callback() çağrısı içinde geriçağırımı bildirmek için anonim bir işlev kullanılabilir. Bunu bu şekilde yaparak, çağrı için ihtiyaç duyulan tüm bilgiler tek bir yerde elde edilebilir ve işlev isim alanı başka hiçbir yerde kullanılmayan bir geriçağırım işlevinin adıyla karıştırılmamış olur.

dizge

Arama yapılacak dizge

seçenekler

Arama seçenekleri. Ayrıntılar için mb_regex_set_options() işlevine bakılabilir.

Dönen Değerler

Başarı durumunda elde edilen dizge, hata durumunda false döner. dizge geçerli kodlama için geçersizse null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler artık null olabiliyor.
7.1.0 | Geçerli kodlama için dizge'nin geçerliliğine artık bakılıyor.

Örnekler

Örnek 1 - mb_ereg_replace_callback() örneği

<?php
// bu metin 2002'de kullanıldı
// 2003'te güncellemek istiyouz
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";
// geriçağırım işlevi
function next_year($matches)
{
// normal olarak: $matches[0] eşleşmenin tamamını
// $matches[1] '(...)' ile sarmalanmış ilk eşleşmeyi
// içerir ve böyle devam eder.
return $matches[1].($matches[2]+1);
}
echo mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
"next_year",
$text);

?>

Yukarıdaki örneğin çıktısı:

April fools day is 04/01/2003
Last christmas was 12/24/2002

Örnek 2 - Anonim işlev kullanan mb_ereg_replace_callback() örneği

<?php,
// bu metin 2002'de kullanıldı
// 2003'te güncellemek istiyouz
$text = "April fools day is 04/01/2002\n";
$text.= "Last christmas was 12/24/2001\n";

echo mb_ereg_replace_callback(
"(\d{2}/\d{2}/)(\d{4})",
function ($matches) {
return $matches[1].($matches[2]+1);
},
$text);
?>

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_replace() - Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
  • Anonim işlevler


Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

  • « mb_ereg_replace_callback
  • mb_ereg_search_getpos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

mb_ereg_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_replace — Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

Açıklama

mb_ereg_replace(
string $kalıp,
string $yeni,
string $dizge,
?string $seçenekler = null
): string|false|null

dizge içinde kalıp eşleştirilmeye çalışılır, eşleşen parça yenisi ile değiştirilir.

Bağımsız Değişkenler

kalıp

Düzenli ifade olarak kalıp.

kalıp içinde çok baytı karakterler kullanılabilir.

yeni

Yerleştirilecek metin.

dizge

İçinde kalıbın aranacağı dizge.

seçenekler
Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

Başarı durumunda elde edilen dizgeyle aksi takdirde false ile döner. Geçerli karakter kodlamasına göre dizge geçersizse null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler artık null olabiliyor.
7.1.0 | İşlev artık dizge geçerli karakter kodlamasına göre geçerli mi diye bakıyor.
7.1.0 | e seçeneğinin kullanımı artık önerilmiyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Uyarı

Güvenilmez girdilerle çalışırken e değiştiricisini asla kullanmayın. Otomatik önceleme yapılmayacaktır (preg_replace() işlevinde olduğu gibi). Bunu dikkate almazsanız, büyük olasılıkla uygulamanızda uzaktan kod çalıştırma açıkları oluşacaktır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_eregi_replace() - Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar


Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür

  • « mb_ereg_replace
  • mb_ereg_search_getregs »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür

mb_ereg_search_getpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_getpos — Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür

Açıklama

mb_ereg_search_getpos(): int

Sonraki çok baytlı düzenli ifade eşleşmesi için başlangıç konumunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

mb_ereg_search_getpos() işlevi,
mb_ereg_search(),
mb_ereg_search_pos(),
mb_ereg_search_regs() işlevleri için düzenli ifade
eşleşmesinin başlangıç konumunu döndürür. Konum dizgenin başlangıcından
itibaren bayt sayısını ifade eder.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_setpos() - Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar


Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür

  • « mb_ereg_search_getpos
  • mb_ereg_search_init »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür

mb_ereg_search_getregs

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_getregs — Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür

Açıklama

mb_ereg_search_getregs(): array|false

Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son mb_ereg_search(), mb_ereg_search_pos() veya mb_ereg_search_regs() işlevi tarafından eşleştirilen alt dizgeyi içeren bir dizi. Başka eşleşmeler de varsa, ilk eleman eşleşen alt dizgeyi, ikinci eleman köşeli ayraçlı ikinci parçayı, üçüncü eleman köşeli ayraçlı üçüncü parçayı, ... içerir. Bir hata durumunda false döner.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_init() - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar


Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar

  • « mb_ereg_search_getregs
  • mb_ereg_search_pos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar

mb_ereg_search_init

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_init — Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar

Açıklama

mb_ereg_search_init(string $dizge, ?string $kalıp = null, ?string $seçenekler = null): bool

mb_ereg_search_init() işlevi, çok baytlı düzenli ifade
eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar. Bu değerler,
mb_ereg_search(),
mb_ereg_search_pos() ve
mb_ereg_search_regs() işlevleri tarafından kullanılır.

Bağımsız Değişkenler

dizge

Kalıbın aranacağı dizge.

kalıp

Aranacak kalıp.

seçenekler

Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kalıp ve seçenekler artık null olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_regs() - Çok baytlı düzenli ifadenin eşleşen parçası ile döner


Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür

  • « mb_ereg_search_init
  • mb_ereg_search_regs »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_pos — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür

Açıklama

mb_ereg_search_pos(?string $kalıp = null, ?string $seçenekler = null): array|false

Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür.

Eşleştirilecek dizge mb_ereg_search_init() işlevi ile belirtilir. Belirtilmezse, evvelce belirtilmiş olan kullanılır.

Bağımsız Değişkenler

şablon

Eşleştirilecek şablon.

seçenekler

Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

Çok baytlı düzenli ifade için eşleşen parçanın konumunu ve uzunluğunu içeren iki boyutlu bir dizi ile döner. Dizinin ilk elemanı eşleşen parçanın dizgenin başlangıcına göre konumu, ikinci elemanı ise eşleşen parçanın bayt cinsinden uzunluğudur.

Bir hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kalıp ve seçenekler artık null olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_init() - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar


Çok baytlı düzenli ifadenin eşleşen parçası ile döner

  • « mb_ereg_search_pos
  • mb_ereg_search_setpos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı düzenli ifadenin eşleşen parçası ile döner

mb_ereg_search_regs

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_regs — Çok baytlı düzenli ifadenin eşleşen parçası ile döner

Açıklama

mb_ereg_search_regs(?string $kalıp = null, ?string $seçenekler = null): array|false

Çok baytlı düzenli ifadenin eşleşen parçası ile döner.

Bağımsız Değişkenler

kalıp

Aranacak kalıp.

seçenekler

Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

mb_ereg_search_regs() işlevi çok baytlı düzenli ifadeyi eşleştirmeye çalışır, eğer eşleşen bir parça varsa, eşleşen parçanın alt dizgesini ilk eleman olarak, köşeli ayraçlı ilk grubu ikinci eleman olarak, ikinci grubu üçüncü eleman olarak, ... bir dizi içinde döndürür. Bir hata oluşursa işlev false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kalıp ve seçenekler artık null olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_init() - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar


Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar

  • « mb_ereg_search_regs
  • mb_ereg_search »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar

mb_ereg_search_setpos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_setpos — Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar

Açıklama

mb_ereg_search_setpos(int $başlangıç): bool

mb_ereg_search_setpos() işlevi, mb_ereg_search() işlevi için başlangıç noktası tanımlar.

Bağımsız Değişkenler

başlangıç

Başlangıç noktası olarak tanımlanacak konum. Negatifse dizinin sonundan itibaren sayılan konumu belirtir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | başlangıç artık negatif olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_init() - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar


Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar

  • « mb_ereg_search_setpos
  • mb_ereg »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar

mb_ereg_search

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search — Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar

Açıklama

mb_ereg_search(?string $kalıp = null, ?string $seçenekler = null): bool

Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar.

Bağımsız Değişkenler

kalıp

Aranacak kalıp.

seçenekler

Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

Çok baytlı dizge içinde düzenli ifadeyle bir eşleşme bulunursa true yoksa false döner. Eşleşmenin aranacağı dizge mb_ereg_search_init() işlevi ile tanımlanır. Eğer bir şablon belirtilmezse evvelce belirtilmiş olan şablon kullanılır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kalıp ve seçenekler artık null olabiliyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_search_init() - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar


Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir

  • « mb_ereg_search
  • mb_eregi_replace »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir

mb_ereg

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg — Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir

Açıklama

mb_ereg(string $kalıp, string $dizge, array &$sonuç = null): bool

Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir.

Bağımsız Değişkenler

kalıp

Aranacak kalıp.

dizge

Kalıbın aranacağı dizge.

sonuç

Kalıbın parantezli alt dizeleri için eşleşmeler bulunursa ve işlev üçüncü bağımsız değişken belirtilerek çağrılırsa, eşleşmeler sonuç dizisinin elemanlarında saklanır. Eşleşme bulunmazsa, sonuç boş bir dizi içerir.

$sonuç[1], ilk sol parantezden başlayan alt dizeyi içerecektir; $sonuç[2], alt dizeyi ikinciden başlayarak içerecektir ve bu böyle devam eder. $sonuç[0], eşleşen dizenin tamamının bir kopyasını içerecektir.

Dönen Değerler

kalıp ile dizge eşleşiyorsa true yoksa false döner..

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarılı olursa artık true döndürüyor. Evvelce sonuç atlanmışsa, kalıp ve dizge eşleşirse veya dizge uzunluğu 0 ise işlev 1 döndürürdü. sonuç bağımsız değişkeni belirtilmişse, eşleşen alt dizge sonuç bağımsız değişkenine yerleştirilip uzunluğu dönüş değeri olarak döndürülürdü.
7.1.0 | mb_ereg() hiçbir eşleşme olmazsa sonuç bağımsız değişkenine atık boş bir dizi yerleştiriyor. Evvelce, böyle bir durumda sonuç bağımsız değişkeninde değişiklik yapılmazdı.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_eregi() - Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular


Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

  • « mb_ereg
  • mb_eregi »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

mb_eregi_replace

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_eregi_replace — Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar

Açıklama

mb_eregi_replace(
string $kalıp,
string $yeni,
string $dizge,
?string $seçenekler = null
): string|false|null

dizge içinde kalıp eşleştirilmeye çalışılır, eşleşen parça yenisi ile değiştirilir.

Bağımsız Değişkenler

kalıp

Düzenli ifade olarak kalıp. Çok baytlı karakterler kullanılabilir. Harf büyüklüğü dikkate alınmaz.

yeni

Yerleştirilecek metin.

dizge

İçinde kalıbın aranacağı dizge.

seçenekler
Arama seçenekleri. Ayrıntılar mb_regex_set_options() işlevinde bulunabilir.

Dönen Değerler

Başarı durumunda elde edilen dizgeyle aksi takdirde false ile döner. Geçerli karakter kodlamasına göre dizge geçersiz ise null döner. is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler artık null olabiliyor.
7.1.0 | Geçerli karakter kodlamasına göre dizge geçersiz ise artık null dönüyor.
7.1.0 | e seçeneğinin kullanımı artık önerilmiyor.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Uyarı

Güvenilmez girdilerle çalışırken e değiştiricisini asla kullanmayın. Otomatik önceleme yapılmayacaktır (preg_replace() işlevinde olduğu gibi). Bunu dikkate almazsanız, büyük olasılıkla uygulamanızda uzaktan kod çalıştırma açıkları oluşacaktır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg_replace() - Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar


Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular

  • « mb_eregi_replace
  • mb_get_info »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular

mb_eregi

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_eregi — Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular

Açıklama

mb_eregi(string $kalıp, string $dizge, array &$sonuç = null): bool

Bir düzenli ifadeyi harf büyüklüğüne duyarsız olarak çok baytlı bir dizge ile eşleştirir.

Bağımsız Değişkenler

kalıp

Düzenli ifade kalıbı.

dizge

Kalıbın aranacağı dizge.

sonuç

Kalıbın parantezli alt dizeleri için eşleşmeler bulunursa ve işlev üçüncü bağımsız değişken belirtilerek çağrılırsa, eşleşmeler sonuç dizisinin elemanlarında saklanır. Eşleşme bulunmazsa, sonuç boş bir dizi içerir.

$sonuç[1], ilk sol parantezden başlayan alt dizeyi içerecektir; $sonuç[2], alt dizeyi ikinciden başlayarak içerecektir ve bu böyle devam eder. $sonuç[0], eşleşen dizenin tamamının bir kopyasını içerecektir.

Dönen Değerler

kalıp ile dizge eşleşiyorsa true yoksa false döner..

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarılı olursa artık true döndürüyor. Evvelce sonuç atlanmışsa, kalıp ve dizge eşleşirse veya dizge uzunluğu 0 ise işlev 1 döndürürdü. sonuç bağımsız değişkeni belirtilmişse, eşleşen alt dizge sonuç bağımsız değişkenine yerleştirilip uzunluğu dönüş değeri olarak döndürülürdü.
7.1.0 | mb_ereg() hiçbir eşleşme olmazsa sonuç bağımsız değişkenine atık boş bir dizi yerleştiriyor. Evvelce, böyle bir durumda sonuç bağımsız değişkeninde değişiklik yapılmazdı.

Notlar

Bilginize:

Bu işlev karakter kodlaması olarak dahili kodlamayı veya mb_regex_encoding() işlevi tarafından belirtilen karakter kodlamasını kullanır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg() - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir


Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür

  • « mb_eregi
  • mb_http_input »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür

mb_get_info

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_get_info — Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür

Açıklama

mb_get_info(string $tür = "all"): array|string|int|false

mb_get_info() işlevi, mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür.

Bağımsız Değişkenler

tür

tür belirtilmemişse ya da "all" olarak belirtilmişse, "internal_encoding", "http_input", "http_output", "http_output_conv_mimetypes", "mail_charset", "mail_header_encoding", "mail_body_encoding", "illegal_chars", "encoding_translation", "language", "detect_order", "substitute_character" ve "strict_detection" elemanlarını içeren bir dizi döner.

Eğer tür olarak "internal_encoding", "http_input", "http_output", "http_output_conv_mimetypes", "mail_charset", "mail_header_encoding", "mail_body_encoding", "illegal_chars", "encoding_translation", "language", "detect_order", "substitute_character" veya "strict_detection" belirtilmişse belirtilen ayar seçeneği döndürülür.

Dönen Değerler

tür belirtilmemişse, tür bilgisini içeren bir dizi, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | "func_overload" ve "func_overload_list" artık desteklenmiyor.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_http_output() - HTTP çıktı karakter kodlamasını tanımlar/döndürür


HTTP girdi karakter kodlamasını algılar

  • « mb_get_info
  • mb_http_output »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • HTTP girdi karakter kodlamasını algılar

mb_http_input

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_http_input — HTTP girdi karakter kodlamasını algılar

Açıklama

mb_http_input(?string $tür = null): array|string|false

HTTP girdi karakter kodlamasını algılar.

Bağımsız Değişkenler

tür

Girdi türü: GET için "G", POST için "P", COOKIE için "C", dizge için "S", liste için "L" ve tam liste için "I" (bir dizi döner). tür belirtilmezse son işlenen girdinin türü ile döner.

Dönen Değerler

Belirtilentüre ilişkin karakter kodlaması adı veya tür olarak "I" belirtilmişse karakter kodlaması adarını içeren bir dizi ya da mb_http_input() belirtilen HTTP girdisini işlemezse false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tür artık null olabiliyor.

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_http_output() - HTTP çıktı karakter kodlamasını tanımlar/döndürür
  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür


HTTP çıktı karakter kodlamasını tanımlar/döndürür

  • « mb_http_input
  • mb_internal_encoding »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • HTTP çıktı karakter kodlamasını tanımlar/döndürür

mb_http_output

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_http_output — HTTP çıktı karakter kodlamasını tanımlar/döndürür

Açıklama

mb_http_output(?string $kodlama = null): string|bool

HTTP çıktı karakter kodlamasını tanımlar/döndürür. Bu işlevden sonra çıktı kodlaması dahili kodlamadan kodlama ile belirtilen kodlamaya dönüştürülür.

Bağımsız Değişkenler

kodlama

Belirtilmişse, işlev HTTP çıktı karakter kodlamasını tanımlar.

Belirtilmemişse, işlev HTTP çıktı karakter kodlamasını döndürür.

Dönen Değerler

kodlama belirtilmemişse, işlev HTTP çıktı karakter kodlamasını döndürür. Aksi takdirde, başarı durumunda true başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_http_input() - HTTP girdi karakter kodlamasını algılar
  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür


Dahili karakter kodlamasını tanımlar/döndürür

  • « mb_http_output
  • mb_language »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dahili karakter kodlamasını tanımlar/döndürür

mb_internal_encoding

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_internal_encoding — Dahili karakter kodlamasını tanımlar/döndürür

Açıklama

mb_internal_encoding(?string $kodlama = null): string|bool

Dahili karakter kodlamasını tanımlar/döndürür.

Bağımsız Değişkenler

kodlama

HTTP girdi karakter kodlaması dönüşümü için kullanılan karakter kodlaması ve dizge işlevleri için mbstring modülü tarafından tanımlanmış öntanımlı karakter kodlaması adı. Farkedileceği gibi, dahili kodlama çok baytlı düzenli ifadelerin kodlamasından tamamen farklıdır.

Dönen Değerler

kodlama belirtilmişse başarı durumunda true döner ve bu durumda çok baytlı düzenli ifade kodlaması değişmez. kodlama belirtilmemişse veya null ise geçerli kodlamanın ismi döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, kodlama geçersizse ValueError yavrulanmaktadır. Evvelce E_WARNING çıktılanırdı.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama geçersizse artık ValueError yavrulanıyor. Evvelce E_WARNING çıktılanırdı.
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_internal_encoding() örneği

<?php
/* Dahili karakter kodlamasını UTF-8 yapalım */
mb_internal_encoding("UTF-8");

/* Dahili karakter kodlamasını öğrenelim */
echo mb_internal_encoding();
?>

Ayrıca Bakınız

  • mb_http_input() - HTTP girdi karakter kodlamasını algılar
  • mb_http_output() - HTTP çıktı karakter kodlamasını tanımlar/döndürür
  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür
  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür


Geçerli dili tanımlar/döndürür

  • « mb_internal_encoding
  • mb_list_encodings »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Geçerli dili tanımlar/döndürür

mb_language

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_language — Geçerli dili tanımlar/döndürür

Açıklama

mb_language(?string $dil = null): string|bool

Geçerli dili tanımlar/döndürür.

Bağımsız Değişkenler

dil

Eposta iletilerini kodlamak için kullanılır. Geçerli değerler aşağıdaki tabloda listelenmiştir. mb_send_mail() bu değeri epostayı kodlamak için kullanır.

Dil | Karakter Kümesi | Kodlama | Takma Ad
German/de | ISO-8859-15 | Quoted-Printable | Deutsch
English/en | ISO-8859-1 | Quoted-Printable
Armenian/hy | ArmSCII-8 | Quoted-Printable
Japanese/ja | ISO-2022-JP | BASE64
Korean/ko | ISO-2022-KR | BASE64
neutral | UTF-8 | BASE64
Russian/ru | KOI8-R | Quoted-Printable
Turkish/tr | ISO-8859-9 | Quoted-Printable
Ukrainian/ua | KOI8-U | Quoted-Printable
uni | UTF-8 | BASE64 | evrensel
Simplified Chinese/zh-cn | HZ | BASE64
Traditional Chinese/zh-tw | BIG-5 | BASE64

Dönen Değerler

dil atlanmışsa veya null ise dil ismini bir dizge olarak döndürür. dil belirtilmişse ve geçerliyse true, aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dil artık null olabiliyor.

Ayrıca Bakınız

  • mb_send_mail() - Kodlanmış olarak posta gönderir


Desteklenen kodlamaların tamamını bir dizi olarak döndürür

  • « mb_language
  • mb_ord »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Desteklenen kodlamaların tamamını bir dizi olarak döndürür

mb_list_encodings

(PHP 5, PHP 7, PHP 8)

mb_list_encodings — Desteklenen kodlamaların tamamını bir dizi olarak döndürür

Açıklama

mb_list_encodings(): array

Desteklenen kodlamaların tamamını içeren bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sayısal indisli bir dizi döndürür.

Hatalar/İstisnalar

Bu işlev herhangi bir hata vermez.

Örnekler

Örnek 1 - mb_list_encodings() örneği

<?php

print_r(mb_list_encodings());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => pass
    [1] => auto
    [2] => wchar
    [3] => byte2be
    [4] => byte2le
    [5] => byte4be
    [6] => byte4le
    [7] => BASE64
    [8] => UUENCODE
    [9] => HTML-ENTITIES
    [10] => Quoted-Printable
    [11] => 7bit
    [12] => 8bit
    [13] => UCS-4
    [14] => UCS-4BE
    [15] => UCS-4LE
    [16] => UCS-2
    [17] => UCS-2BE
    [18] => UCS-2LE
    [19] => UTF-32
    [20] => UTF-32BE
    [21] => UTF-32LE
    [22] => UTF-16
    [23] => UTF-16BE
    [24] => UTF-16LE
    [25] => UTF-8
    [26] => UTF-7
    [27] => UTF7-IMAP
    [28] => ASCII
    [29] => EUC-JP
    [30] => SJIS
    [31] => eucJP-win
    [32] => SJIS-win
    [33] => JIS
    [34] => ISO-2022-JP
    [35] => Windows-1252
    [36] => ISO-8859-1
    [37] => ISO-8859-2
    [38] => ISO-8859-3
    [39] => ISO-8859-4
    [40] => ISO-8859-5
    [41] => ISO-8859-6
    [42] => ISO-8859-7
    [43] => ISO-8859-8
    [44] => ISO-8859-9
    [45] => ISO-8859-10
    [46] => ISO-8859-13
    [47] => ISO-8859-14
    [48] => ISO-8859-15
    [49] => EUC-CN
    [50] => CP936
    [51] => HZ
    [52] => EUC-TW
    [53] => BIG-5
    [54] => EUC-KR
    [55] => UHC
    [56] => ISO-2022-KR
    [57] => Windows-1251
    [58] => CP866
    [59] => KOI8-R
)

Ayrıca Bakınız

  • mb_encoding_aliases() - Bilinen bir kodlama türünün takma adını döndürür


Karakterin Unicode karakter kodunu döndürür

  • « mb_list_encodings
  • mb_output_handler »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Karakterin Unicode karakter kodunu döndürür

mb_ord

(PHP 7 >= 7.2.0, PHP 8)

mb_ord — Karakterin Unicode karakter kodunu döndürür

Açıklama

mb_ord(string $dizge, ?string $kodlama = null): int|false

Belirtilen karakter kodlamasına göre belirtilen karakterin Unicode karakter kodunu döndürür.

mb_chr() işlevinin tersiniridir.

Bağımsız Değişkenler

dizge

Bir dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Başarı durumunda belirtilen dizgenin ilk karakterinin Unicode karakter kodu, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

<?php
var_dump(mb_ord("A", "UTF-8"));
var_dump(mb_ord("??", "UTF-8"));
var_dump(mb_ord("\x80", "ISO-8859-1"));
var_dump(mb_ord("\x80", "Windows-1252"));
?>

Yukarıdaki örneğin çıktısı:

int(65)
int(128024)
int(128)
int(8364)

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_chr() - Unicode karakter koduna göre karakteri döndürür
  • IntlChar::ord() - Return Unicode code point value of character
  • ord() - Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür


Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi

  • « mb_ord
  • mb_parse_str »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi

mb_output_handler

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_output_handler — Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi

Açıklama

mb_output_handler(string $dizge, int $durum): string

mb_output_handler() bir ob_start() geriçağırım işlevidir. mb_output_handler() işlevi çıktı tamponundaki karakterlerin dahili karakter kodlamasını HTTP çıktısı karakter kodlamasına dönüştürür.

Bağımsız Değişkenler

dizge

Çıktı tamponunun içeriği.

durum

Çıktı tamponunun durumu.

Dönen Değerler

Dönüştürülen dizge.

Örnekler

Örnek 1 - mb_output_handler() örneği

<?php
mb_http_output("UTF-8");
ob_start("mb_output_handler");
?>

Notlar

Bilginize:

Bir resim verisi gibi bir ikil veriyi PHP betiğinizden göndermek isterseniz bu veriyi istemciye göndermeden önce header() işlevini kullanarak Content-Type: başlığını (örneğin, header("Content-Type: image/png") olarak) göndermelisiniz. Content-Type: başlığı gönderilmişse karakter kodlaması dönüşümü uygulanmaz.

header() işlevini kullanılarak 'Content-Type: text/*' gönderilmişse gövdenin metin içerip içermediğine bakılmaksızın karakter kodlaması dönüşümü yapılacağı unutulmamalıdır.

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır


GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar

  • « mb_output_handler
  • mb_preferred_mime_name »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar

mb_parse_str

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_parse_str — GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar

Açıklama

mb_parse_str(string $dizge, array &$sonuç): bool

GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar. PHP ham POST/COOKIE verisi sağlamadığından şimdilik sadece GET verisi için kullanılabilmektedir. İşlev, URL kodlu veriyi çözümler, kodlamayı algılar ve dahili kodlamaya dönüştürüp değerleri sonuç dizisine veya küresel değişkenlere atar.

Bağımsız Değişkenler

dizge

URL kodlu veri.

sonuç

Çözümlenip karakter kodlaması dönüştürülmüş değerleri içeren bir dizi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İkinci bağımsız değişken artık seçimlik değil.
7.2.0 | İkinci bağımsız değişken olmadan mb_parse_str() çağrısı yapmak artık önerilmiyor

Ayrıca Bakınız

  • mb_detect_order() - Karakter kodlaması algılama sırasını tanımlar/döndürür
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür


MIME karakter kümesi dizgesini döndürür

  • « mb_parse_str
  • mb_regex_encoding »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • MIME karakter kümesi dizgesini döndürür

mb_preferred_mime_name

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_preferred_mime_name — MIME karakter kümesi dizgesini döndürür

Açıklama

mb_preferred_mime_name(string $kodlama): string|false

Belirtilen kodlama için MIME karakter kümesini bir dizge olarak döndürür.

Bağımsız Değişkenler

kodlama

Karakter kodlaması.

Dönen Değerler

kodlama ile belirtilen karakter kodlaması için MIME charset dizgesini döndürür. Belirtilen kodlama için tercihli bir karakter kümesi yoksa false döner.

Örnekler

Örnek 1 - mb_preferred_mime_name() örneği

<?php
$outputenc = "sjis-win";
mb_http_output($outputenc);
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=" . mb_preferred_mime_name($outputenc));
?>


Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür

  • « mb_preferred_mime_name
  • mb_regex_set_options »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür

mb_regex_encoding

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_regex_encoding — Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür

Açıklama

mb_regex_encoding(?string $kodlama = null): string|bool

Çok baytlı düzenli ifade işlevleri için geçerli karakter kodlamasını bir dizge olarak atar/döndürür.

Bağımsız Değişkenler

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

kodlama atanabilmişse Başarı durumunda true, başarısızlık durumunda false döner. Bu durumda dahili karakter kodlaması değişmez. kodlama belirtilmemiş veya null ise çok baytlı düzenli ifade işlevlerinde kullanılan geçerli karakter kodlamasını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • mb_ereg() - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir


mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür

  • « mb_regex_encoding
  • mb_scrub »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_regex_set_options — mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür

Açıklama

mb_regex_set_options(?string $seçenekler = null): string

Çok baytlı düzenli ifade işlevleri için seçenekler dizgesiyle belirtilen örtanımlı seçenekleri tanımlar.

Bağımsız Değişkenler

seçenekler

Tanımlanacak seçenekler. Her karakterin bir seçeneğe karşılık geldiği bir dizge olmalıdır. Kip belirtmek için, kip karakteri sonuncu karakter olmalıdır. Çok sayıda seçenek olabilir ama tek bir kip belirtilebilir.

Düzenli ifade seçenekleri
Seçenek | Anlamı | Sürüm Bilgisi
i | Belirsiz eşleşme etkin olur
x | Genişletilmiş kalıp biçimi etkin olur
m | '.' satırsonları ile eşleşir
s | '^' -> '\A', '$' -> '\Z'
p | m ve s seçenekleri ile aynı
l | En uzun eşleşmeyi bulur
n | Boş eşleşmeler yok sayılır
e | eval() sonucu kod | PHP 7.1.0 ve sonrasında kullanımı önerilmiyor. PHP 8.0.0'da kaldırılmıştır.

Bilginize:

mb_regex_set_options() etkinse "e" seçeneği etkisizdir. mb_ereg_replace() veya mb_eregi_replace() ile kullanılır.

Düzenli ifade sözdizimi kipleri (yalnıca biri)
Kip | Anlamı
j | Java (Sun java.util.regex)
u | GNU regex
g | grep
c | Emacs
r | Ruby
z | Perl
b | POSIX Temel regex
d | POSIX Genişletilmiş regex

Dönen Değerler

Önceki seçenekler. seçenekler belirtilmemişse veya null ise, geçerli seçenekleri içeren bir dizge ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler belirtilmemişse veya null ise, artık önceki seçenekleri içeren bir dizge dönüyor. Evvelce, geçerli seçenekler dönerdi.
8.0.0 | seçenekler artık null olabiliyor.
8.0.0 | "e" seçeneği kaldırıldığından artık ValueError istisnası oluşturuyor.
7.1.0 | "e" seçeneğinin kullanımı önerilmediğinden artık E_DEPRECATED hatası veriyor.

Ayrıca Bakınız

  • mb_split() - Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır
  • mb_ereg() - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir
  • mb_eregi() - Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular


Bozuk bayt dizilerini yedek karakterle değiştirir

  • « mb_regex_set_options
  • mb_send_mail »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bozuk bayt dizilerini yedek karakterle değiştirir

mb_scrub

(PHP 7 >= 7.2.0, PHP 8)

mb_scrub — Bozuk bayt dizilerini yedek karakterle değiştirir

Açıklama

mb_scrub(string $dizge, ?string $kodlama = null): string

Belirtilen kodlamadan veya herhangi bir kodlama belirtilmemişse öntanımlı kodlamadan aynı kodlamaya bir karakter kümesi dönüşümü gerçekleştirir. Herhangi bir geçersiz bayt dizisinin yedek karakterle değiştirilmesi gibi bir etki sağlar.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

kodlama

dizgeyi yorumlamak için kullanılan kodlama. Atlanırsa veya null belirtilirse mbstring.internal_encoding yönergesine değer atanmışsa bu değer kullanılır, yoksa yerine default_charset setting yönergesindeki değer kullanılır.

Dönen Değerler

Geçersiz baytları değiştirilmiş dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.


Kodlanmış olarak posta gönderir

  • « mb_scrub
  • mb_split »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Kodlanmış olarak posta gönderir

mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mail — Kodlanmış olarak posta gönderir

Açıklama

mb_send_mail(
string $kime,
string $konu,
string $ileti,
array|string $ek_başlıklar = [],
?string $ek_bağımsız değişkenler = null
): bool

Eposta gönderir. Başlıklar ve ileti mb_language() ayarına göre dönüştürülüp kodlanır. mail() işlevi için bir sarmalayıcı olup ayrıntılar için mail() işlevine bakınız.

Bağımsız Değişkenler

kime

Epostanın gönderileceği adres. Adresler arasına virgül koyarak çok sayıda adres belirtilebilir. Bu bağımsız değişken otomatik olarak kodlanmaz.

konu

Epostanın konusu.

ileti

Postalanacak ileti.

ek_başlıklar (seçimlik)

Eposta başlığının sonuna bir dize veya dizi yerleştirilir.

Bu, genellikle ek başlıklar (From, Cc ve Bcc) eklemek için kullanılır. Birden fazla ek başlık CRLF (\r\n) ile ayrılmalıdır. Saldırganlar tarafından istenmeyen başlıkların eklenmemesi için bağımsız değişkeni doğrulayın.

Bir dizi aktarılırsa, anahtarları başlık adları ve değerleri de ilgili başlık değerleri olmalıdır.

Bilginize:

Posta gönderirken, postanın bir From başlığı içermesi gerekir. Bu, ek_bağımsız değişkenler bağımsız değişkeni ile ayarlanabilir veya php.ini içinde bir öntanımlı ayarlanabilir.

Bunun yapılmaması, Uyarı: mail (): php.ini içinde "sendmail_from" tanımlanmamış veya özel "From:" başlığı eksik benzeri bir hata iletisine sebep olacaktır. From başlığı ayrıca Windows altında Return-Path başlığını da ayarlar.

Bilginize:

İletiler alınmazsa, yalnızca LF(\n) kullanmayı deneyin. Bazı Unix posta aktarım aracıları (özellikle » qmail), LF'yi otomatik olarak CRLF ile değiştirir (bu, CRLF için kullanılırsa CR'nin iki katına çıkmasına neden olur). » RFC 2822 ile uyumlu olmadığı için bu son çare olmalıdır.

ek_bağımsız değişkenler

ek_bağımsız değişkenler bir posta sunucusu komut satırı bağımsız değişkenidir. Sendmail kullanırken doğru Return-Path başlığı belirtmek için kullanışlıdır.

Bu bağımsız değişken, komutun yürütülmesini önlemek için dahili olarak escapeshellcmd() tarafından öncelenir. escapeshellcmd(), komutun yürütülmesini engeller ancak ek parametrelerin eklenmesine izin verir. Güvenlik nedeniyle bu bağımsız değişkenin doğrulanması gerekir.

escapeshellcmd() otomatik olarak uygulandığından, internet RFC'leri tarafından eposta adresi olarak izin verilen bazı karakterler kullanılamaz. Bu mail() karakterlerini kullanmak için gerekli programlar kullanılamaz.

Zarf göndericisi (-f) bu yöntem kullanılarak ayarlandığında iletiye bir 'X-Warning' başlığının eklenmesini önlemek için, http sunucusunun çalıştığı kullanıcı, sendmail yapılandırmasına güvenilir kullanıcı olarak eklenmelidir. Sendmail kullanıcıları için bu dosya /etc/mail/trusted-users dosyasıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ek_bağımsız değişkenler artık boş olabiliyor.
7.2.0 | ek_bağımsız değişkenler artık dizi kabul ediyor.

Ayrıca Bakınız

  • mail() - Eposta gönderir
  • mb_encode_mimeheader() - Dizgeyi MIME başlığı için kodlar
  • mb_language() - Geçerli dili tanımlar/döndürür


Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır

  • « mb_send_mail
  • mb_str_pad »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır

mb_split

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_split — Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır

Açıklama

mb_split(string $şablon, string $dizge, int $sınır = -1): array|false

dizge ile belirtilen bir dizgeyi şablon ile belirtilen düzenli ifadeye göre parçalara ayırır ve sonucu bir dizi olarak döndürür.

Bağımsız Değişkenler

şablon

Düzenli ifade şablonu.

dizge

Parçalara ayrılacak dizge.

sınır
İsteğe bağlı olup, belirtildiği takdirde en fazla sınır sayıda parça döndürülür.

Dönen Değerler

Dir dizi olarak sonuç, başarısızlık durumunda false döner.

Notlar

Bilginize:

mb_regex_encoding() ile belirtilen karakter kodlaması bu işlev için öntanımlı karakter kodlaması olarak kullanılır.

Ayrıca Bakınız

  • mb_regex_encoding() - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
  • mb_ereg() - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir


Pad a multibyte string to a certain length with another multibyte string

  • « mb_split
  • mb_str_split »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Pad a multibyte string to a certain length with another multibyte string

mb_str_pad

(PHP 8 >= PHP 8.3.0)

mb_str_pad — Pad a multibyte string to a certain length with another multibyte string

Açıklama

mb_str_pad(
string $string,
int $length,
string $pad_string = " ",
int $pad_type = STR_PAD_RIGHT,
?string $encoding = null
): string

This function returns the string padded on the left, the right, or both sides to the specified padding length, where the length is measured in Unicode codepoints. If the optional argument pad_string is not supplied, the string is padded with spaces, otherwise it is padded with characters from pad_string up to the limit.

Bağımsız Değişkenler

string

The input string.

length

If the value of length is negative, less than, or equal to the length of the input string, no padding takes place, and string will be returned.

pad_string

Bilginize:

The pad_string may be truncated if the required number of padding characters can't be evenly divided by the pad_string's length.

pad_type

Optional argument pad_type can be STR_PAD_RIGHT, STR_PAD_LEFT, or STR_PAD_BOTH. By default STR_PAD_RIGHT.

encoding

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Returns the padded string.

Örnekler

Örnek 1 mb_str_pad() example

<?php
var_dump(mb_str_pad('??', 6, '???', STR_PAD_RIGHT)); // string(18) "??????"
var_dump(mb_str_pad('??', 6, '???', STR_PAD_LEFT)); // string(18) "??????"
var_dump(mb_str_pad('??', 6, '???', STR_PAD_BOTH)); // string(18) "??????"

var_dump(mb_str_pad("??", 3, "?", STR_PAD_LEFT)); // string(10) "????"
?>


Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür

  • « mb_str_pad
  • mb_strcut »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür

mb_str_split

(PHP 7 >= 7.4.0, PHP 8)

mb_str_split — Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür

Açıklama

mb_str_split(string $dizge, int $uzunluk = 1, ?string $kodlama = null): array

Bir dizgeler dizisi döndürür. 1, 2, veya 4 baytlık sabit boyutlular yanında değişken karakter boyutlu kodlamaları da destekleyen bir str_split() sürümüdür. uzunluk belirtilmişse dizge belirtilen bayt uzunlukta parçalara bölünür. kodlama belirtilmese de olur.

Bağımsız Değişkenler

dizge

Karakterleri ayrıştırılacak dizge.

uzunluk

Belirtilirse, dönen dizinin her elemanı tek baytlık karakterler değil, çok baytlı karakterler içerir.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Desteklenen kodlamalardan birini içeren bir dizge.

Dönen Değerler

mb_str_split() dizge dizisi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.
8.0.0 | Başarısızlık durumunda artık false dönmüyor.

Ayrıca Bakınız

  • str_split() - Bir dizgeyi bir diziye dönüştürür


Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner

  • « mb_str_split
  • mb_strimwidth »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner

mb_strcut

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strcut — Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner

Açıklama

mb_strcut(
string $dizge,
int $başlangıç,
?int $uzunluk = null,
?string $kodlama = null
): string

mb_strcut() işlevi bir dizgeden bir alt digeyi çıkarma işlemini mb_substr() gibi yapar ama karakterlerle değil baytlarla çalışır. Eğer başlangıç konumu çok baytlı bir karakterin ikinci veya sonraki baytındaysa başlangıcı o karaterin ilk baytına taşır. Bu da ayrıca, dizgeyi basitçe baytların arasından kesen ve bozuk çok baytlı dizgeyle dönen substr() ile aradaki farktır.

Bağımsız Değişkenler

dizge

Parça çıkarılacak dizge.

başlangıç

başlangıç negatif değilse, dönen dizge dizge içinde sıfırdan itibaren sayılarak başlangıçıncı bayttan başlar. Örneğin, 'abcdef' dizgesinde 0ıncı bayt 'a' iken 2incisi 'c'dir ve bu böyle gider.

başlangıç negatifse, dönen dizge dizgenin sonundan sayılan başlangıçıncı bayttan başlar. Ancak negatif başlangıçıncı bayt dizgenin başlangıcını aşıyorsa dönen parça dizgenin başlangıcından başlar.

uzunluk

Bayt cinsinden uzunluk. Atlanıra veya null ise dizgenin sonuna kadar tüm baytlar çıkarılır.

uzunluk negatifse,dönen dizge dizgenin sonundan itibaren sayılan uzunlukuncu baytta sonlanır. Ancak uzunlukuncu bayt dizgenin başlanıcından öncesini işaret ediyorsa boş dizge döner.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

mb_strcut() işlevi, dizge dizgesinden başlangıç ve uzunluk ile belirtilen parçayı döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_substr() - Dizgenin bir alt dizgesini alır
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür


Dizgeyi belirtilen genişlikte kırpar

  • « mb_strcut
  • mb_stripos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgeyi belirtilen genişlikte kırpar

mb_strimwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strimwidth — Dizgeyi belirtilen genişlikte kırpar

Açıklama

mb_strimwidth(
string $dizge,
int $başlangıç,
int $genişlik,
string $kırpıcı = "",
?string $kodlama = null
): string

Belirtilen dizge dizgesini genişlik ile belirtilen genişlikten kırpar. Burada yarım genişlikte karakterler 1, tam genişlikte karakterler 2 sayılır. Doğu Asya karakter genişlikleri ile ilgili ayrıntılar için bkz.» http://www.unicode.org/reports/tr11/

Bağımsız Değişkenler

dizge

Kırpılacak dizge.

başlangıç

Kırpma genişliğinin başlatılacağı konum. Dizgenin başından itibaren sayılır. İlk karakterin indisi 0'dır. Negatifse dizgenin sonundan itibaren karater sayısıdır.

genişlik

Kırpma genişliği. Negatifse dizgenin sonundan itibaren karater sayısıdır.

kırpıcı

Dizge kırpılırken dizgenin sonuna eklenen bir dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Kırpılmış dizge ile döner. kırpıcı belirtilmişse, genişlikinci karakterin yerini alır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.
7.1.0 | başlangıçs ve genişlik artık negatif olabiliyor.

Örnekler

Örnek 1 - mb_strimwidth() örneği

<?php
$str = mb_strimwidth($str, 0, 40, "..>");
echo mb_strimwidth("Hello World", 0, 10, "...");
// output: "Hello W..."

?>

Ayrıca Bakınız

  • mb_strwidth() - Dizge genişliğini döndürür
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür


Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

  • « mb_strimwidth
  • mb_stristr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

mb_stripos

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stripos — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

Açıklama

mb_stripos(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?string $kodlama = null
): int|false

Karakter sayısına dayalı olarak güvenilir bir çok baytlı strpos() işlemi yürütür. iğne'nin ilk karakterinin yeri samanlık dizgesinin ilk karakterine göre hesaplanır. İlk karakterin indisi 0'dır. mb_strpos() işlevinden farklı olarak, mb_stripos() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

İlk iğne'nin aranacağı dizge.

needle

samanlık içinde ilki aranacak dizge.

başlangıç

samanlık içinde aramanın başlatılacağı konum. Negetifse dizgenin sonundan itibaren sayılır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

iğne'nin samanlık içinde bulunduğu ilk yerin indisi ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.
7.1.0 | başlangıç artık negatif olabiliyor.

Ayrıca Bakınız

  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • mb_strpos() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür


Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

  • « mb_stripos
  • mb_strlen »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

mb_stristr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_stristr — Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

Açıklama

mb_stristr(
string $samanlık,
string $iğne,
bool $ilk_parça = false,
?string $kodlama = null
): string|false

mb_strstr() işlevi, samanlık içinde iğne'yi bulur ve iğne'nin ilk karakterinin yerine göre samanlık dizgesinin ilk veya son parçası ile döner. Eğer samanlık içinde iğne yoksa false döndürür. mb_strstr() işlevinden farklı olarak, mb_stristr() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

İlk iğne'nin aranacağı dizge.

iğne

samanlık içinde aranacak dizge.

ilk_parça

samanlık dizgesinin hangi parçasının döndürüleceğini belirler. true atanırsa samanlık dizgesinin ilk karakterinden (dahil) iğne dizgesinin ilk karakterine (hariç) kadar olan parçayla döner. false atanırsa, iğne dizgesinin ilk karakterinden (dahil) samanlık dizgesinin son karakterine (dahil) kadar olan parça döndürülür. false öntanımlıdır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Eğer samanlık içinde iğne yoksa false, aksi takdirde ilk veya son samanlık parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strstr() - İlk alt dizgeyi bulur
  • mb_strstr() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner


Dizge uzunluğu ile döner

  • « mb_stristr
  • mb_strpos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizge uzunluğu ile döner

mb_strlen

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strlen — Dizge uzunluğu ile döner

Açıklama

mb_strlen(string $dizge, ?string $kodlama = null): int

Belirtilen dizgenin karakter sayısını döndürür.

Bağımsız Değişkenler

dizge

Karakter sayısı öğrenilmek istenen dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

dizge bağımsız değişkeni ile belirtilen dizgenin karakter sayısını döndürür. Her çok baytlı karakter 1 sayılır.

Hatalar/İstisnalar

Belirtilen kodlama bilinmiyorsa, E_WARNING seviyesinde bir hata üretilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • grapheme_strlen() - Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
  • iconv_strlen() - Dizgenin karakter sayısı ile döner
  • strlen() - Dizge uzunluğunu döndürür


Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

  • « mb_strlen
  • mb_strrchr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

mb_strpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strpos — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür

Açıklama

mb_strpos(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?string $kodlama = null
): int|false

Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür.

Karakter sayısına dayalı olarak güvenilir bir çok baytlı strpos() işlemi yürütür. iğne'nin ilk karakterinin yeri samanlık dizgesinin ilk karakterine göre hesaplanır. İlk karakterin indisi 0'dır.

Bağımsız Değişkenler

samanlık

İlk iğne'nin aranacağı dizge.

iğne

samanlık içinde ilki aranacak dizge. strpos() işlevinden farklı olarak sayısal değerler karakterin sıra değeri değildir.

başlangıç

samanlık içinde aramanın başlatılacağı konum. Belirtilmezse 0 kullanılır. Negatif değer dizgenin sonundan itibaren sayılır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

İlk iğne'nin samanlık içinde bulunduğu yerin indisi ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.
7.1.0 | başlangıç artık negatif olabiliyor.

Ayrıca Bakınız

  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • strpos() - Bir alt dizgenin ilkinin konumunu bulur


Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

  • « mb_strpos
  • mb_strrichr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

mb_strrchr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrchr — Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

Açıklama

mb_strrchr(
string $samanlık,
string $iğne,
bool $ilk_parça = false,
?string $kodlama = null
): string|false

mb_strrchr() işlevi, samanlık içinde ilk iğne'yi bulur ve ilk_parça değerine göre samanlık dizgesinin ilk veya son parçası ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Bağımsız Değişkenler

samanlık

Sonuncu iğne'nin aranacağı dizge.

iğne

samanlık içinde aranacak karakter.

ilk_parça

samanlık dizgesinin hangi parçasının döndürüleceğini belirler. true atanırsa samanlık dizgesinin ilk karakterinden (dahil) iğne karakterine (hariç) kadar olan parçayla döner. false atanırsa, iğne karakterinden (dahil) samanlık dizgesinin son karakterine (dahil) kadar olan parça döndürülür. false öntanımlıdır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Eğer samanlık içinde iğne yoksa false, aksi takdirde ilk veya son samanlık parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • mb_strstr() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
  • mb_strrichr() - Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner


Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

  • « mb_strrchr
  • mb_strripos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

mb_strrichr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strrichr — Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner

Açıklama

mb_strrichr(
string $samanlık,
string $iğne,
bool $ilk_parça = false,
?string $kodlama = null
): string|false

mb_strrichr() işlevi, samanlık içinde iğne'yi bulur ve iğne'nin yerine göre samanlık dizgesinin ilk veya son parçası ile döner. Eğer samanlık içinde iğne yoksa false döndürür. mb_strrchr() işlevinden farklı olarak mb_strrichr() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

Sonuncu iğne'nin aranacağı dizge.

iğne

samanlık içinde aranacak karakter.

ilk_parça

samanlık dizgesinin hangi parçasının döndürüleceğini belirler. true atanırsa samanlık dizgesinin ilk karakterinden (dahil) iğne karakterine (hariç) kadar olan parçayla döner. false atanırsa, iğne karakterinden (dahil) samanlık dizgesinin son karakterine (dahil) kadar olan parça döndürülür.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Eğer samanlık içinde iğne yoksa false, aksi takdirde ilk veya son samanlık parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_stristr() - Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
  • mb_strrchr() - Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner


Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür

  • « mb_strrichr
  • mb_strrpos »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür

mb_strripos

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strripos — Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür

Açıklama

mb_strripos(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?string $kodlama = null
): int|false

Karakter sayısına dayalı olarak güvenilir bir çok baytlı strripos() işlemi yürütür. iğne'nin ilk karakterinin yeri samanlık dizgesinin ilk karakterine göre hesaplanır. İlk karakterin indisi 0'dır. mb_strrpos() işlevinden farklı olarak mb_strripos() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

Sonuncu iğne'nin aranacağı dizge.

iğne

samanlık içinde sonuncusu aranacak dizge.

başlangıç

samanlık içinde aramanın başlatılacağı konum.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Sonuncu iğne'nin samanlık içinde bulunduğu yerin indisi ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • mb_strrpos() - Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür


Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür

  • « mb_strripos
  • mb_strstr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür

mb_strrpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strrpos — Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür

Açıklama

mb_strrpos(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?string $kodlama = null
): int|false

Karakter sayısına dayalı olarak güvenilir bir çok baytlı strrpos() işlemi yürütür. iğne'nin ilk karakterinin yeri samanlık dizgesinin ilk karakterine göre hesaplanır. İlk karakterin indisi 0'dır.

Bağımsız Değişkenler

samanlık

Sonuncu iğne'nin aranacağı dizge.

iğne

samanlık içinde sonuncusu aranacak dizge.

başlangıç
samanlık içinde aramanın başlatılacağı konum. Negatif bir değer samanlık dizgesinin son karakterine göre aramanın durdurulacağı konumu belirtir.
kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Sonuncu iğne'nin samanlık içinde bulunduğu yerin indisi ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başlangıç bağımsız değişkenini kaldırmadan üçüncü bağımsız değişken olarak kodlama bağımsız değişkeni aktarılıyor.
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_strpos() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur


Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

  • « mb_strrpos
  • mb_strtolower »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

mb_strstr

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strstr — Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner

Açıklama

mb_strstr(
string $samanlık,
string $iğne,
bool $ilk_parça = false,
?string $kodlama = null
): string|false

mb_strstr() işlevi, samanlık içinde iğne'yi bulur ve iğne'nin ilk karakterinin yerine göre samanlık dizgesinin ilk veya son parçası ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Bağımsız Değişkenler

samanlık

İlk iğne'nin aranacağı dizge.

iğne

samanlık içinde aranacak dizge.

ilk_parça

samanlık dizgesinin hangi parçasının döndürüleceğini belirler. true atanırsa samanlık dizgesinin ilk karakterinden (dahil) iğne dizgesinin ilk karakterine (hariç) kadar olan parçayla döner. false atanırsa, iğne dizgesinin ilk karakterinden (dahil) samanlık dizgesinin son karakterine (dahil) kadar olan parça döndürülür.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Eğer samanlık içinde iğne yoksa false, aksi takdirde ilk veya son samanlık parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strstr() - İlk alt dizgeyi bulur
  • mb_stristr() - Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner


Dizgeyi küçük harfli yapar

  • « mb_strstr
  • mb_strtoupper »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgeyi küçük harfli yapar

mb_strtolower

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_strtolower — Dizgeyi küçük harfli yapar

Açıklama

mb_strtolower(string $dizge, ?string $kodlama = null): string

dizge içindeki 'abecesel' karakterlerin tamamını küçük harfe çevirir.

Bağımsız Değişkenler

dizge

Küçük harfli yapılacak dizge.

encoding

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

İçindeki 'abecesel' karakterlerin tamamı küçük harfe çevrilmiş olarak dizge döner.

Örnekler

Örnek 1 - mb_strtolower() yerele duyarsızlık örneği

<?php
$str = "PINAR'IN ÇOK SEVDİĞİ küçük BİR KUZUSU VAR.";
$str = mb_strtolower($str);
echo $str; // pinar'in çok sevdiği küçük bir kuzusu var.
?>

Örnek 2 - Latin olmayan karakterlerle mb_strtolower() örneği

<?php
$str = "??????? ?????? ß???? ??µ??? ??, ??????????? ???? ?????? ?????";
$str = mb_strtolower($str, 'UTF-8');
echo $str; //??????? ?????? ß???? ??µ??? ??, ??????????? ???? ?????? ?????
?>

Evrenkod

strtolower() ve strtoupper() gibi standart büyük-küçük harf dönüşüm işlevlerinden farklı olarak, dönüşümü Unicode karakter özelliklerine göre yapar. Bu bakımdan bu işlevin davranışı yerel ayarlardan etkilenmez ve büyük-küçük harf ayrımı yapılabilen her karakteri dönüştürebilir.

Unicode özellikleri hakkında daha fazla bilgi için » http://www.unicode.org/reports/tr21/ adresine bakınız.

Ayrıca Bakınız

  • mb_strtoupper() - Dizgeyi büyük harfli yapar
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular
  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir


Dizgeyi büyük harfli yapar

  • « mb_strtolower
  • mb_strwidth »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgeyi büyük harfli yapar

mb_strtoupper

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_strtoupper — Dizgeyi büyük harfli yapar

Açıklama

mb_strtoupper(string $dizge, ?string $kodlama = null): string

dizge içindeki 'abecesel' karakterlerin tamamını büyük harfe çevirir.

Bağımsız Değişkenler

dizge

Büyük harfli yapılacak dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

İçindeki 'abecesel' karakterlerin tamamı büyük harfe çevrilmiş olarak dizge.

Örnekler

Örnek 1 - mb_strtoupper() yerele duyarsızlık örneği

<?php
$str = "Şahizar'ın çok sevdiği küçük bir KUZUSU var.";
$str = mb_strtoupper($str);
echo $str; // ŞAHIZAR'IN ÇOK SEVDIĞI KÜÇÜK BIR KUZUSU VAR.
?>

Örnek 2 - Latin olmayan karakterlerle mb_strtoupper() örneği

<?php
$str = "??????? ?????? ß???? ??µ??? ??, ??????????? ???? ?????? ?????";
$str = mb_strtoupper($str, 'UTF-8');
echo $str; // ??????? ?????? ????? ?????? ??, ??????????? ???? ?????? ?????
?>

Evrenkod

strtolower() ve strtoupper() gibi standart büyük-küçük harf dönüşüm işlevlerinden farklı olarak, dönüşümü Unicode karakter özelliklerine göre yapar. Bu bakımdan bu işlevin davranışı yerel ayarlardan etkilenmez ve büyük-küçük harf ayrımı yapılabilen her karakteri dönüştürebilir.

Unicode özellikleri hakkında daha fazla bilgi için » http://www.unicode.org/reports/tr21/ adresine bakınız.

Ayrıca Bakınız

  • mb_strtolower() - Dizgeyi küçük harfli yapar
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular
  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir


Dizge genişliğini döndürür

  • « mb_strtoupper
  • mb_substitute_character »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizge genişliğini döndürür

mb_strwidth

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_strwidth — Dizge genişliğini döndürür

Açıklama

mb_strwidth(string $dizge, ?string $kodlama = null): int

dizge dizgesinin genişliği ile döner. Burada yarım genişlikte karakterler 1, tam genişlikte karakterler 2 sayılır. Doğu Asya karakter genişlikleri ile ilgili ayrıntılar için bkz.» http://www.unicode.org/reports/tr11/

Çok baytlı karakterler normalde tek baytlı karakterlerden iki misli daha geniştir.

Tam genişlikte karakterler: U+1100-U+115F, U+11A3-U+11A7, U+11FA-U+11FF, U+2329-U+232A, U+2E80-U+2E99, U+2E9B-U+2EF3, U+2F00-U+2FD5, U+2FF0-U+2FFB, U+3000-U+303E, U+3041-U+3096, U+3099-U+30FF, U+3105-U+312D, U+3131-U+318E, U+3190-U+31BA, U+31C0-U+31E3, U+31F0-U+321E, U+3220-U+3247, U+3250-U+32FE, U+3300-U+4DBF, U+4E00-U+A48C, U+A490-U+A4C6, U+A960-U+A97C, U+AC00-U+D7A3, U+D7B0-U+D7C6, U+D7CB-U+D7FB, U+F900-U+FAFF, U+FE10-U+FE19, U+FE30-U+FE52, U+FE54-U+FE66, U+FE68-U+FE6B, U+FF01-U+FF60, U+FFE0-U+FFE6, U+1B000-U+1B001, U+1F200-U+1F202, U+1F210-U+1F23A, U+1F240-U+1F248, U+1F250-U+1F251, U+20000-U+2FFFD, U+30000-U+3FFFD. Diğer karakterlerin tümü yarım genişliktedir.

Bağımsız Değişkenler

dizgi

Genişliği hesaplanacak dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

dizge dizgesinin genişliği.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_strwidth() örneği

<?php
var_dump(
mb_strwidth('a'), // LATIN SMALL LETTER A
mb_strwidth("\u{ff41}") // FULLWIDTH LATIN SMALL LETTER A
);
?>

Yukarıdaki örneğin çıktısı:

int(1)
int(2)

Ayrıca Bakınız

  • mb_strimwidth() - Dizgeyi belirtilen genişlikte kırpar
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür


İkame karakteri atar/döndürür

  • « mb_strwidth
  • mb_substr_count »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • İkame karakteri atar/döndürür

mb_substitute_character

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_substitute_character — İkame karakteri atar/döndürür

Açıklama

mb_substitute_character(string|int|null $ikamekrk = null): string|int|bool

Girdi karakter kodlaması geçersiz olduğunda veya bir karakter kodunun çıktı karakter kodlamasında mevcut olmadığı durumda geçersiz karakterin yerine kullanılacak karakteri belirtmek için kullanılır. Geçersiz karakterlerin yerine Bir "none" (çıktı yok), string veya int türünde bir değer (Unidode karakter kodu) belirtilebilir.

Bu ayarlamadan etkilenen işlevler: mb_convert_encoding(),
mb_convert_variables(),
mb_output_handler() ve mb_send_mail().

Bağımsız Değişkenler

ikamekrk

Bir integer olarak bir Evrenkod değeri veya bir string olarak aşağıdaki dizgelerden biri belirtilir:

  • "none": hiçbir şey çıktılanmaz
  • "long": Karakterin kod değeri çıktılanır (Örnek: U+3000, JIS+7E7E)
  • "entity": Karakter öğesi (Örnek: &#x200;)

Dönen Değerler

Eğer ikamekrk atanabilmişse başarı durumunda true, aksi takdirde false döner. Eğer ikamekrk belirtilmemişse veya null ise, geçerli ayarlarla döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ikamekrk artık boş dizgeyi desteklemiyor, yerine "none" belirtilmeli.
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_substitute_character() örneği

<?php
/* Unicode U+3013 (GETA MARK) basılsın */
mb_substitute_character(0x3013);

/* Onaltılık biçeme ayarlayalım */
mb_substitute_character("long");

/* Geçerli ayarı göster */
echo mb_substitute_character();
?>


Mevcut alt dizgelerin sayısı ile döner

  • « mb_substitute_character
  • mb_substr »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Mevcut alt dizgelerin sayısı ile döner

mb_substr_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_substr_count — Mevcut alt dizgelerin sayısı ile döner

Açıklama

mb_substr_count(string $samanlık, string $iğne, ?string $kodlama = null): int

samanlık ile belirtilen dizge içinde iğne ile belirtilen dizgelerden kaç tane bulunduğu bilgisini verir.

Bağımsız Değişkenler

samanlık

İçinde arama yapılacak dizge.

needle

Aranacak dizge.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

samanlık ile belirtilen dizge içinde iğne ile belirtilen dizgelerden kaç tane bulunduğu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - mb_substr_count() örneği

<?php
echo mb_substr_count("Bu da Buda bu da Buda.", "Bu"); // 3 basar
?>

Ayrıca Bakınız

  • mb_strpos() - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
  • mb_substr() - Dizgenin bir alt dizgesini alır
  • substr_count() - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur


Dizgenin bir alt dizgesini alır

  • « mb_substr_count
  • Pspell »
  • PHP Manual
  • Çok baytlı Dizge İşlevleri
  • Dizgenin bir alt dizgesini alır

mb_substr

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_substr — Dizgenin bir alt dizgesini alır

Açıklama

mb_substr(
string $dizge,
int $başlangıç,
?int $uzunluk = null,
?string $kodlama = null
): string

Karakterler üzerinde güvenilir bir çok baytlı substr() işlemi gerçekleştirir. başlangıç konumuna dizge başlangıcından sayılarak erişilir. Belirtilen dizgenin ilk karakterinin indisinin 0 olduğu varsayılır.

Bağımsız Değişkenler

dizge

Alt dizge başlangıcının aranacağı dizge.

başlangıç

başlangıç negatif değilse, dizge içinde sıfırıncı konumdan itibaren başlangıç'ıncı konumda başlayan dizge döner. Örneğin, 'abcdef' dizgesinde 0 konumundaki karakter 'a', 2 konumundaki karakter 'c' olur ve böyle devam eder.

başlangıç negatifse, dizgenin sonuncu karakterinden itibaren başlangıçıncı karakterden başlayan dize döner.

uzunluk

İstenen alt dizgenin azami uzunluğu. Atlanırsa veya null ise, dizgenin tüm karakterleri çıkarılır.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

mb_substr() işlevi, yeri başlangıç ve uzunluk bağımsız değişkenleri ile belirtilen dizge parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kodlama artık null olabiliyor.

Ayrıca Bakınız

  • mb_strcut() - Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner
  • mb_internal_encoding() - Dahili karakter kodlamasını tanımlar/döndürür


Pspell

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Pspell İşlevleri
    • pspell_add_to_personal — Add the word to a personal wordlist
    • pspell_add_to_session — Add the word to the wordlist in the current session
    • pspell_check — Check a word
    • pspell_clear_session — Clear the current session
    • pspell_config_create — Create a config used to open a dictionary
    • pspell_config_data_dir — Location of language data files
    • pspell_config_dict_dir — Location of the main word list
    • pspell_config_ignore — Ignore words less than N characters long
    • pspell_config_mode — Change the mode number of suggestions returned
    • pspell_config_personal — Set a file that contains personal wordlist
    • pspell_config_repl — Set a file that contains replacement pairs
    • pspell_config_runtogether — Consider run-together words as valid compounds
    • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
    • pspell_new_config — Load a new dictionary with settings based on a given config
    • pspell_new_personal — Load a new dictionary with personal wordlist
    • pspell_new — Load a new dictionary
    • pspell_save_wordlist — Save the personal wordlist to a file
    • pspell_store_replacement — Store a replacement pair for a word
    • pspell_suggest — Suggest spellings of a word
  • PSpell\Dictionary — The PSpell\Dictionary class
  • PSpell\Config — The PSpell\Config class


Giriş

These functions allow you to check the spelling of a word and offer suggestions.


Gereksinimler

To compile PHP with pspell support, you need the aspell library, available from » http://aspell.net/.


Kurulum

If you have the libraries needed add the --with-pspell[=dir] option when compiling PHP.

Bilginize: Note to Win32 Users

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: aspell-15.dll from the bin folder of the aspell installation.

Win32 support requires at least aspell version 0.50.


Özkaynak Türleri

Prior to PHP 8.1.0, there were two resource types used in this extension. The first one is the dictionary link identifier, the second is a resource which holds pspell config.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PSPELL_FAST (int)
PSPELL_NORMAL (int)
PSPELL_BAD_SPELLERS (int)
PSPELL_RUN_TOGETHER (int)


Pspell İşlevleri

İçindekiler

  • pspell_add_to_personal — Add the word to a personal wordlist
  • pspell_add_to_session — Add the word to the wordlist in the current session
  • pspell_check — Check a word
  • pspell_clear_session — Clear the current session
  • pspell_config_create — Create a config used to open a dictionary
  • pspell_config_data_dir — Location of language data files
  • pspell_config_dict_dir — Location of the main word list
  • pspell_config_ignore — Ignore words less than N characters long
  • pspell_config_mode — Change the mode number of suggestions returned
  • pspell_config_personal — Set a file that contains personal wordlist
  • pspell_config_repl — Set a file that contains replacement pairs
  • pspell_config_runtogether — Consider run-together words as valid compounds
  • pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist
  • pspell_new_config — Load a new dictionary with settings based on a given config
  • pspell_new_personal — Load a new dictionary with personal wordlist
  • pspell_new — Load a new dictionary
  • pspell_save_wordlist — Save the personal wordlist to a file
  • pspell_store_replacement — Store a replacement pair for a word
  • pspell_suggest — Suggest spellings of a word


Add the word to a personal wordlist

  • « Pspell İşlevleri
  • pspell_add_to_session »
  • PHP Manual
  • Pspell İşlevleri
  • Add the word to a personal wordlist

pspell_add_to_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_add_to_personal — Add the word to a personal wordlist

Açıklama

pspell_add_to_personal(PSpell\Dictionary $dictionary, string $word): bool

pspell_add_to_personal() adds a word to the personal wordlist. If you used pspell_new_config() with pspell_config_personal() to open the dictionary, you can save the wordlist later with pspell_save_wordlist().

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

word

The added word.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell, "Vlad");
pspell_save_wordlist($pspell);
?>

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Add the word to the wordlist in the current session

  • « pspell_add_to_personal
  • pspell_check »
  • PHP Manual
  • Pspell İşlevleri
  • Add the word to the wordlist in the current session

pspell_add_to_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_add_to_session — Add the word to the wordlist in the current session

Açıklama

pspell_add_to_session(PSpell\Dictionary $dictionary, string $word): bool

pspell_add_to_session() adds a word to the wordlist associated with the current session. It is very similar to pspell_add_to_personal()

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

word

The added word.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.


Check a word

  • « pspell_add_to_session
  • pspell_clear_session »
  • PHP Manual
  • Pspell İşlevleri
  • Check a word

pspell_check

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_check — Check a word

Açıklama

pspell_check(PSpell\Dictionary $dictionary, string $word): bool

pspell_check() checks the spelling of a word.

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

word

The tested word.

Dönen Değerler

Returns true if the spelling is correct, false if not.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_check() Example

<?php
$pspell = pspell_new("en");

if (pspell_check($pspell, "testt")) {
echo "This is a valid spelling";
} else {
echo "Sorry, wrong spelling";
}
?>


Clear the current session

  • « pspell_check
  • pspell_config_create »
  • PHP Manual
  • Pspell İşlevleri
  • Clear the current session

pspell_clear_session

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_clear_session — Clear the current session

Açıklama

pspell_clear_session(PSpell\Dictionary $dictionary): bool

pspell_clear_session() clears the current session. The current wordlist becomes blank, and, for example, if you try to save it with pspell_save_wordlist(), nothing happens.

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_add_to_personal() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell, "Vlad");
pspell_clear_session($pspell);
pspell_save_wordlist($pspell); //"Vlad" will not be saved
?>


Create a config used to open a dictionary

  • « pspell_clear_session
  • pspell_config_data_dir »
  • PHP Manual
  • Pspell İşlevleri
  • Create a config used to open a dictionary

pspell_config_create

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_create — Create a config used to open a dictionary

Açıklama

pspell_config_create(
string $language,
string $spelling = "",
string $jargon = "",
string $encoding = ""
): PSpell\Config

Create a config used to open a dictionary.

pspell_config_create() has a very similar syntax to pspell_new(). In fact, using pspell_config_create() immediately followed by pspell_new_config() will produce the exact same result. However, after creating a new config, you can also use pspell_config_*() functions before calling pspell_new_config() to take advantage of some advanced functionality.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Bağımsız Değişkenler

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

Dönen Değerler

Returns an PSpell\Config instance.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PSpell\Config instance now; previously, a resource was returned.

Örnekler

Örnek 1 pspell_config_create()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_personal($pspell_config, "en");
?>


Location of language data files

  • « pspell_config_create
  • pspell_config_dict_dir »
  • PHP Manual
  • Pspell İşlevleri
  • Location of language data files

pspell_config_data_dir

(PHP 5, PHP 7, PHP 8)

pspell_config_data_dir — Location of language data files

Açıklama

pspell_config_data_dir(PSpell\Config $config, string $directory): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.


Location of the main word list

  • « pspell_config_data_dir
  • pspell_config_ignore »
  • PHP Manual
  • Pspell İşlevleri
  • Location of the main word list

pspell_config_dict_dir

(PHP 5, PHP 7, PHP 8)

pspell_config_dict_dir — Location of the main word list

Açıklama

pspell_config_dict_dir(PSpell\Config $config, string $directory): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.


Ignore words less than N characters long

  • « pspell_config_dict_dir
  • pspell_config_mode »
  • PHP Manual
  • Pspell İşlevleri
  • Ignore words less than N characters long

pspell_config_ignore

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_ignore — Ignore words less than N characters long

Açıklama

pspell_config_ignore(PSpell\Config $config, int $min_length): bool

pspell_config_ignore() should be used on a config before calling pspell_new_config(). This function allows short words to be skipped by the spell checker.

Bağımsız Değişkenler

config

PSpell\Config örneği.

min_length

Words less than min_length characters will be skipped.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_config_ignore()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_ignore($pspell_config, 5);
$pspell = pspell_new_config($pspell_config);
pspell_check($pspell, "abcd"); //will not result in an error
?>


Change the mode number of suggestions returned

  • « pspell_config_ignore
  • pspell_config_personal »
  • PHP Manual
  • Pspell İşlevleri
  • Change the mode number of suggestions returned

pspell_config_mode

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_mode — Change the mode number of suggestions returned

Açıklama

pspell_config_mode(PSpell\Config $config, int $mode): bool

pspell_config_mode() should be used on a config before calling pspell_new_config(). This function determines how many suggestions will be returned by pspell_suggest().

Bağımsız Değişkenler

config

PSpell\Config örneği.

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_config_mode() Example

<?php
$pspell_config = pspell_config_create("en");
pspell_config_mode($pspell_config, PSPELL_FAST);
$pspell = pspell_new_config($pspell_config);
pspell_check($pspell, "thecat");
?>


Set a file that contains personal wordlist

  • « pspell_config_mode
  • pspell_config_repl »
  • PHP Manual
  • Pspell İşlevleri
  • Set a file that contains personal wordlist

pspell_config_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_personal — Set a file that contains personal wordlist

Açıklama

pspell_config_personal(PSpell\Config $config, string $filename): bool

Set a file that contains personal wordlist. The personal wordlist will be loaded and used in addition to the standard one after you call pspell_new_config(). The file is also the file where pspell_save_wordlist() will save personal wordlist to.

pspell_config_personal() should be used on a config before calling pspell_new_config().

Bağımsız Değişkenler

config

PSpell\Config örneği.

filename

The personal wordlist. If the file does not exist, it will be created. The file should be writable by whoever PHP runs as (e.g. nobody).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_config_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
$pspell = pspell_new_config($pspell_config);
pspell_check($pspell, "thecat");
?>

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Set a file that contains replacement pairs

  • « pspell_config_personal
  • pspell_config_runtogether »
  • PHP Manual
  • Pspell İşlevleri
  • Set a file that contains replacement pairs

pspell_config_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_repl — Set a file that contains replacement pairs

Açıklama

pspell_config_repl(PSpell\Config $config, string $filename): bool

Set a file that contains replacement pairs.

The replacement pairs improve the quality of the spellchecker. When a word is misspelled, and a proper suggestion was not found in the list, pspell_store_replacement() can be used to store a replacement pair and then pspell_save_wordlist() to save the wordlist along with the replacement pairs.

pspell_config_repl() should be used on a config before calling pspell_new_config().

Bağımsız Değişkenler

config

PSpell\Config örneği.

filename

The file should be writable by whoever PHP runs as (e.g. nobody).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_config_repl()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_config($pspell_config);
pspell_check($pspell, "thecat");
?>

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Consider run-together words as valid compounds

  • « pspell_config_repl
  • pspell_config_save_repl »
  • PHP Manual
  • Pspell İşlevleri
  • Consider run-together words as valid compounds

pspell_config_runtogether

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_runtogether — Consider run-together words as valid compounds

Açıklama

pspell_config_runtogether(PSpell\Config $config, bool $allow): bool

This function determines whether run-together words will be treated as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.

pspell_config_runtogether() should be used on a config before calling pspell_new_config().

Bağımsız Değişkenler

config

PSpell\Config örneği.

allow

true if run-together words should be treated as legal compounds, false otherwise.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_config_runtogether()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_runtogether($pspell_config, true);
$pspell = pspell_new_config($pspell_config);
pspell_check($pspell, "thecat");
?>


Determine whether to save a replacement pairs list along with the wordlist

  • « pspell_config_runtogether
  • pspell_new_config »
  • PHP Manual
  • Pspell İşlevleri
  • Determine whether to save a replacement pairs list along with the wordlist

pspell_config_save_repl

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_config_save_repl — Determine whether to save a replacement pairs list along with the wordlist

Açıklama

pspell_config_save_repl(PSpell\Config $config, bool $save): bool

pspell_config_save_repl() determines whether pspell_save_wordlist() will save the replacement pairs along with the wordlist. Usually there is no need to use this function because if pspell_config_repl() is used, the replacement pairs will be saved by pspell_save_wordlist() anyway, and if it is not, the replacement pairs will not be saved.

pspell_config_save_repl() should be used on a config before calling pspell_new_config().

Bağımsız Değişkenler

config

PSpell\Config örneği.

save

true if replacement pairs should be saved, false otherwise.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Load a new dictionary with settings based on a given config

  • « pspell_config_save_repl
  • pspell_new_personal »
  • PHP Manual
  • Pspell İşlevleri
  • Load a new dictionary with settings based on a given config

pspell_new_config

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new_config — Load a new dictionary with settings based on a given config

Açıklama

pspell_new_config(PSpell\Config $config): PSpell\Dictionary|false

pspell_new_config() opens up a new dictionary with settings specified in a config, created with pspell_config_create() and modified with pspell_config_*() functions. This method provides you with the most flexibility and has all the functionality provided by pspell_new() and pspell_new_personal().

Bağımsız Değişkenler

config

The config parameter is the one returned by pspell_config_create() when the config was created.

Dönen Değerler

Returns an PSpell\Dictionary instance on success, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The config parameter expects an PSpell\Config instance now; previously, a resource was expected.
8.1.0 | Returns an PSpell\Dictionary instance now; previously, a resource was returned.

Örnekler

Örnek 1 pspell_new_config()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_config($pspell_config);
?>


Load a new dictionary with personal wordlist

  • « pspell_new_config
  • pspell_new »
  • PHP Manual
  • Pspell İşlevleri
  • Load a new dictionary with personal wordlist

pspell_new_personal

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new_personal — Load a new dictionary with personal wordlist

Açıklama

pspell_new_personal(
string $filename,
string $language,
string $spelling = "",
string $jargon = "",
string $encoding = "",
int $mode = 0
): PSpell\Dictionary|false

pspell_new_personal() opens up a new dictionary with a personal wordlist. The wordlist can be modified and saved with pspell_save_wordlist(), if desired. However, the replacement pairs are not saved. In order to save replacement pairs, you should create a config using pspell_config_create(), set the personal wordlist file with pspell_config_personal(), set the file for replacement pairs with pspell_config_repl(), and open a new dictionary with pspell_new_config().

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Bağımsız Değişkenler

filename

The file where words added to the personal list will be stored. It should be an absolute filename beginning with '/' because otherwise it will be relative to $HOME, which is "/root" for most systems, and is probably not what you want.

language

The language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

Extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding that words are expected to be in. Valid values are utf-8, iso8859-*, koi8-r, viscii, cp1252, machine unsigned 16, machine unsigned 32.

mode

The mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Dönen Değerler

Returns an PSpell\Dictionary instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PSpell\Dictionary instance now; previously, a resource was returned.

Örnekler

Örnek 1 pspell_new_personal()

<?php
$pspell = pspell_new_personal ("/var/dictionaries/custom.pws",
"en", "", "", "", PSPELL_FAST|PSPELL_RUN_TOGETHER);
?>


Load a new dictionary

  • « pspell_new_personal
  • pspell_save_wordlist »
  • PHP Manual
  • Pspell İşlevleri
  • Load a new dictionary

pspell_new

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new — Load a new dictionary

Açıklama

pspell_new(
string $language,
string $spelling = "",
string $jargon = "",
string $encoding = "",
int $mode = 0
): PSpell\Dictionary|false

pspell_new() opens up a new dictionary and returns an PSpell\Dictionary instance for use in other pspell functions.

For more information and examples, check out inline manual pspell website:» http://aspell.net/.

Bağımsız Değişkenler

language

The language parameter is the language code which consists of the two letter ISO 639 language code and an optional two letter ISO 3166 country code after a dash or underscore.

spelling

The spelling parameter is the requested spelling for languages with more than one spelling such as English. Known values are 'american', 'british', and 'canadian'.

jargon

The jargon parameter contains extra information to distinguish two different words lists that have the same language and spelling parameters.

encoding

The encoding parameter is the encoding that words are expected to be in. Valid values are 'utf-8', 'iso8859-*', 'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine unsigned 32'. This parameter is largely untested, so be careful when using.

mode

The mode parameter is the mode in which spellchecker will work. There are several modes available:

  • PSPELL_FAST - Fast mode (least number of suggestions)
  • PSPELL_NORMAL - Normal mode (more suggestions)
  • PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
  • PSPELL_RUN_TOGETHER - Consider run-together words as legal compounds. That is, "thecat" will be a legal compound, although there should be a space between the two words. Changing this setting only affects the results returned by pspell_check(); pspell_suggest() will still return suggestions.
Mode is a bitmask constructed from different constants listed above. However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually exclusive, so you should select only one of them.

Dönen Değerler

Returns an PSpell\Dictionary instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Returns an PSpell\Dictionary instance now; previously, a resource was returned.

Örnekler

Örnek 1 pspell_new()

<?php
$pspell = pspell_new("en", "", "", "",
(PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>


Save the personal wordlist to a file

  • « pspell_new
  • pspell_store_replacement »
  • PHP Manual
  • Pspell İşlevleri
  • Save the personal wordlist to a file

pspell_save_wordlist

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_save_wordlist — Save the personal wordlist to a file

Açıklama

pspell_save_wordlist(PSpell\Dictionary $dictionary): bool

pspell_save_wordlist() saves the personal wordlist from the current session. The location of files to be saved specified with pspell_config_personal() and (optionally) pspell_config_repl().

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_add_to_personal()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/tmp/dicts/newdict");
$pspell = pspell_new_config($pspell_config);

pspell_add_to_personal($pspell, "Vlad");
pspell_save_wordlist($pspell);
?>

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Store a replacement pair for a word

  • « pspell_save_wordlist
  • pspell_suggest »
  • PHP Manual
  • Pspell İşlevleri
  • Store a replacement pair for a word

pspell_store_replacement

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_store_replacement — Store a replacement pair for a word

Açıklama

pspell_store_replacement(PSpell\Dictionary $dictionary, string $misspelled, string $correct): bool

pspell_store_replacement() stores a replacement pair for a word, so that replacement can be returned by pspell_suggest() later. In order to be able to take advantage of this function, you have to use pspell_new_personal() to open the dictionary. In order to permanently save the replacement pair, you have to use pspell_config_personal() and pspell_config_repl() to set the path where to save your custom wordlists, and then use pspell_save_wordlist() for the changes to be written to disk.

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

misspelled

The misspelled word.

correct

The fixed spelling for the misspelled word.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_store_replacement()

<?php
$pspell_config = pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_config($pspell_config);

pspell_store_replacement($pspell, $misspelled, $correct);
pspell_save_wordlist($pspell);
?>

Notlar

Bilginize:

This function will not work unless you have pspell .11.2 and aspell .32.5 or later.


Suggest spellings of a word

  • « pspell_store_replacement
  • PSpell\Dictionary »
  • PHP Manual
  • Pspell İşlevleri
  • Suggest spellings of a word

pspell_suggest

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_suggest — Suggest spellings of a word

Açıklama

pspell_suggest(PSpell\Dictionary $dictionary, string $word): array|false

pspell_suggest() returns an array of possible spellings for the given word.

Bağımsız Değişkenler

dictionary

PSpell\Dictionary örneği.

word

The tested word.

Dönen Değerler

Returns an array of possible spellings.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The dictionary parameter expects an PSpell\Dictionary instance now; previously, a resource was expected.

Örnekler

Örnek 1 pspell_suggest() example

<?php
$pspell = pspell_new("en");

if (!pspell_check($pspell, "testt")) {
$suggestions = pspell_suggest($pspell, "testt");

foreach ($suggestions as $suggestion) {
echo "Possible spelling: $suggestion<br />";
}
}
?>


The PSpell\Dictionary class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a pspell resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class PSpell\Dictionary {
}


The PSpell\Config class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a pspell config resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class PSpell\Config {
}


GNU Recode

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Recode İşlevleri
    • recode_file — Dosyadan dosyaya karakter kodlaması dönüşümü yapar
    • recode_string — Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar
    • recode — recode_string işlevinin takma adıdır


Giriş

Bu modül, GNU Recode kütüphanesine bir arayüz içerir. GNU Recode kütüphanesi çeşitli karakter kümeleriyle kodlanmış dosyalar arasında kodlama dönüşümü yapar. Bunu tam olarak sağlayamazsa hatalı karakterlerden kurtulabilir veya bazı yaklaşımlar yapabilir. Kütüphane yaklaşık 150 farklı karakter kümesini tanır ve bunların çiftleri arasında dosya dönüşümü yapabilir. » RFC 1345'te tanımlı karakter kümelerinin çoğu desteklenmektedir.

Bilginize: PHP 7.4.0 itibariyle, bu eklenti, » PECL deposuna taşınmış olup PHP paketinin içinde gelmemektedir. Bu eklenti yerine Çok Baytlı Dizgeler veya iconv eklentileri kullanılabilir.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.


Gereksinimler

Sisteminizde GNU Recode 3.5 veya üstü bir sürümün kurulu olması gerekir. Paketi » http://directory.fsf.org/All_GNU_Packages/recode.html adresinden temin edebilirsiniz..

Uyarı

Recode kütüphanesinin 3.6 sürümü bazı durumlarda dönüştürülen karakterlerin ardına tuhaf karakterler eklemektedir. Bu bakımdan Recode kütüphanesinin 3.5 sürümünü veya taydaşları olduğu iconv veya mbstring eklentisini kullanmak tercih edilmelidir.


Kurulum

PHP 7.4

PHP 7.4.0 itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/recode.

PHP < 7.4

Bu modülde tanımlanmış işlevleri kullanıbilmek için PHP'yi --with-recode[=DiZiN] yapılandırma seçeneğiyle derlemelisiniz.

Uyarı

mysql veya imap eklentilerinden birini yükledikten sonra recode'u bir eklenti olarak yüklerseniz PHP'de çökme ve başlatma sorunları baş gösterebilir. Recode eklentisini bu eklentilerden önce yükleyerek bu sorunları engelleyebilirsiniz. Bu sorunun sebebi tamamen tekniktir; imap ve recode tarafından kullanılan her iki C istemci kütüphanesinin de kendi hash_lookup() işlevleri vardır, mysql ve recode'un ise kendi hash_insert işlevleri vardır.

Uyarı

IMAP, recode ve YAZ eklentileri, aynı dahili simgeleri paylaştıklarından birlikte kullanılamazlar. Bilgi: Yaz 2.0 ve sonrası bu sorundan etkilenmemektedir.


  • « Özkaynak Türleri
  • Recode İşlevleri »
  • PHP Manual
  • Recode
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Recode İşlevleri

İçindekiler

  • recode_file — Dosyadan dosyaya karakter kodlaması dönüşümü yapar
  • recode_string — Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar
  • recode — recode_string işlevinin takma adıdır


Dosyadan dosyaya karakter kodlaması dönüşümü yapar

  • « Recode İşlevleri
  • recode_string »
  • PHP Manual
  • Recode İşlevleri
  • Dosyadan dosyaya karakter kodlaması dönüşümü yapar

recode_file

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode_file — Dosyadan dosyaya karakter kodlaması dönüşümü yapar

Açıklama

recode_file(string $istek, resource $girdi, resource $çıktı): bool

Belirtilen isteğe bağlı olarak dosya tanıtıcısı girdi ile belirtilen dosyayı dosya tanıtıcısı çıktı ile belirtilen dosyaya yeniden kodlar.

Bağımsız Değişkenler

istek

Yeniden kodlama isteği türü.

girdi

Girdi olarak bir yerel dosya tanıtıcısı.

çıktı

Çıktı olarak bir yerel dosya tanıtıcısı.

Dönen Değerler

İşlemi başaramazsa false, aksi takdirde true döner.

Örnekler

Örnek 1 - Basit bir recode_file() örneği

<?php
$input = fopen('girdi.txt', 'r');
$output = fopen('çıktı.txt', 'w');
recode_file("ISO-8859-9..UTF-8", $input, $output);
?>

Notlar

Bu işlev henüz uzak dosyaların (URL) dosya tanıtıcıları ile çalışmamaktadır. Her iki dosya tanıtıcı da yerel olmak zorundadır.

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar


Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar

  • « recode_file
  • recode »
  • PHP Manual
  • Recode İşlevleri
  • Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar

recode_string

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode_string — Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar

Açıklama

recode_string(string $istek, string $dizge): string

Yapılan istek isteğine bağlı olarak bir dizge'yi yeniden kodlar.

Bağımsız Değişkenler

istek

Yeniden kodlama isteği türü.

dizge

Yeniden kodlanacak dizge.

Dönen Değerler

İşlemi başaramazsa false, aksi takdirde yeniden kodlanan dizge ile döner.

Örnekler

Örnek 1 - Basit bir recode_string() örneği

<?php
echo recode_string("us..flat", "The following character has a diacritical mark: á");
?>

Notlar

Basit bir recode isteği de "ISO-8859-9..utf-8" olabilir.

Ayrıca Bakınız

  • Recode istekleri ile ilgili ayrıntılı bilgi için GNU Recode belgelerine bakınız.
  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • UConverter::transcode() - Convert a string from one character encoding to another
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


recode_string işlevinin takma adıdır

  • « recode_string
  • Resim İşleme ve Resim Üretimi »
  • PHP Manual
  • Recode İşlevleri
  • recode_string işlevinin takma adıdır

recode

(PHP 4, PHP 5, PHP 7 < 7.4.0)

recode — recode_string() işlevinin takma adıdır

Açıklama

Bu işlev, recode_string() işlevinin takma adıdır.


Resim İşleme ve Resim Üretimi

  • Exif — Değiş Tokuş Edilebilir Görüntü Bilgileri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Exif İşlevleri
  • GD — Görüntü İşleme ve GD
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • GD ve Görüntü İşlevleri
    • GdImage — GdImage sınıfı
    • GdFont — GdFont sınıfı
  • Gmagick
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Gmagick — The Gmagick class
    • GmagickDraw — The GmagickDraw class
    • GmagickPixel — The GmagickPixel class
  • ImageMagick — Görüntü İşleme (ImageMagick)
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Imagick — Imagick sınıfı
    • ImagickDraw — ImagickDraw sınıfı
    • ImagickPixel — ImagickPixel sınıfı
    • ImagickPixelIterator — ImagickPixelIterator sınıfı
    • ImagickKernel — ImagickKernel sınıfı


Değiş Tokuş Edilebilir Görüntü Bilgileri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Exif İşlevleri
    • exif_imagetype — Bir görüntünün türünü saptar
    • exif_read_data — Bir görüntü dosyasından EXIF başlıklarını okur
    • exif_tagname — Bir indis için başlık ismini döndürür
    • exif_thumbnail — Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür
    • read_exif_data — exif_read_data işlevinin takma adıdır


Giriş

Exif eklentisi ile görüntülerin temel verileri üzerinde çalışabilirsiniz. Örneğin, görüntülerin başlıklarında sayısal kameralar tarafından saklanmış ham verileri okumak için exif işlevlerini kullanabilirsiniz Bu tür başlıklar genelde JPEG ve TIFF görüntülerde bulunur.


Gereksinimler

PHP --enable-exif seçeneği ile derlenmelidir. EXIF başlıklarında çokbaytlılık desteğini etkinleştirmek için, PHP derlenirken --enable-mbstring seçeneği ile mbstring eklentisi ettkin kılınmalıdır. PHP exif modülü için ek kütüphanelere ihtiyaç duymaz.

Windowsa özel: mbstring eklentisi daima etkin olmalıdır. Önemli: mbstring eklentisi php.ini içinde EXIF'ten önce yüklenmelidir.


Kurulum

Exif desteğini etkin kılmak için PHP'yi --enable-exif seçeneği ile derleyin.

Windows kullanıcılarının, php.ini içinde hem php_mbstring.dll hem de php_exif.dll DLL'lerini etkin kılmaları gerekir. php.ini dosyanızı yapılandırırken php_mbstring.dll dosyasının php_exif.dll dosyasından önce yüklenmesini sağlamalısınız.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

mbstring modülü kullanılabildiği takdirde, exif, Evrenkod ve JIS karakter kodlamalı kullanıcı açıklamalarının dönüşümünü otomatik olarak yapar. Önce belirtilen karakter kümesi kullanılarak kodlama dönüştürüldükten sonra bu yapılır. Sonuç HTTP çıktısına uygun olarak diğer karakter kodlamasına dönüştürülür.

Exif yapılandırma yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL |
exif.encode_jis | "" | PHP_INI_ALL |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

exif.encode_unicode string

exif.encode_unicode, UNICODE kodlu kullanıcı açıklamalarının elde edilmesinde kullanılacak karakter kümesini tanımlar. Çoğu Asya ülkesinde kullanılabilecek olan ISO-8859-15 öntanımlıdır. Bu değer boş olabilir. Belirtildiği takdirde mbstring tarafından tanınan karakter kümelerinden biri olmalıdır. Boş olduğu takdirde mbstring eklentisinin öntanımlı dahili kodlaması kullanılır.

exif.decode_unicode_motorola string

exif.decode_unicode_motorola, görüntü motorola bayt sıralamasına sahipse UNICODE kodlu kullanıcı açıklamaları için görüntü içi karakter kümesini tanımlar. Bu değer boş olamaz fakat mbstring tarafından tanınan kodlamalar liste halinde belirtilebilir. UCS-2BE öntanımlıdır.

exif.decode_unicode_intel string

exif.decode_unicode_intel, görüntü intel bayt sıralamasına sahipse UNICODE kodlu kullanıcı açıklamaları için görüntü içi karakter kümesini tanımlar. Bu değer boş olamaz fakat mbstring tarafından tanınan kodlamalar liste halinde belirtilebilir. UCS-2LE öntanımlıdır.

exif.encode_jis string

exif.encode_jis JIS kodlu kullanıcı açıklamalarının elde edilmesinde kullanılacak karakter kümesini tanımlar. İşlevin mbstring eklentisinin öntanımlı dahili kodlamasının kullanılmasını sağlayan boş değer öntanımlı değerdir.

exif.decode_jis_motorola string

exif.decode_jis_motorola, görüntü motorola bayt sıralamasına sahipse JIS kodlu kullanıcı açıklamaları için görüntü içi karakter kümesini tanımlar. Bu değer boş olamaz fakat mbstring tarafından tanınan kodlamalar liste halinde belirtilebilir. JIS öntanımlıdır.

exif.decode_jis_intel string

exif.decode_jis_intel, görüntü intel bayt sıralamasına sahipse JIS kodlu kullanıcı açıklamaları için görüntü içi karakter kümesini tanımlar. Bu değer boş olamaz fakat mbstring tarafından tanınan kodlamalar liste halinde belirtilebilir. JIS öntanımlıdır.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

EXIF_USE_MBSTRING (int)
mbstring etkinse bu sabitin değeri 1, değilse 0'dır.

Yerleşik sabitlerin bazıları exif_imagetype() işlevi tarafından listelenir.


Exif İşlevleri

İçindekiler

  • exif_imagetype — Bir görüntünün türünü saptar
  • exif_read_data — Bir görüntü dosyasından EXIF başlıklarını okur
  • exif_tagname — Bir indis için başlık ismini döndürür
  • exif_thumbnail — Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür
  • read_exif_data — exif_read_data işlevinin takma adıdır


Bir görüntünün türünü saptar

  • « Exif İşlevleri
  • exif_read_data »
  • PHP Manual
  • Exif İşlevleri
  • Bir görüntünün türünü saptar

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

exif_imagetype — Bir görüntünün türünü saptar

Açıklama

exif_imagetype(string $dosya): int|false

exif_imagetype() işlevi bir görüntünün ilk baytlarındaki dosya imzasını okur.

exif_imagetype() işlevi, desteklenmeyen dosya türlerini diğer exif işlevlerinde kullanmaktan kaçınabilmek için veya tarayıcının belli bir görüntü türünü gösterip göstermeyeceğini saptamak için $_SERVER['HTTP_ACCEPT'] ile birlikte kullanmak üzere tasarlanmıştır.

Bağımsız Değişkenler

dosya
İçerdiği görüntü türü saptanacak dosya.

Dönen Değerler

Doğru imza bulunduğu takdirde uygun sabitin değeri döndürülür, aksi takdirde false döner. Dönüş değeri getimagesize() ile aynıdır fakat exif_imagetype() daha hızlıdır.

Öntanımlı Sabitler

exif_imagetype() dönüş değeri olarak şu sabitler tanımlıdır:

Görüntü türü Sabitleri
Değer | Sabit
1 | IMAGETYPE_GIF
2 | IMAGETYPE_JPEG
3 | IMAGETYPE_PNG
4 | IMAGETYPE_SWF
5 | IMAGETYPE_PSD
6 | IMAGETYPE_BMP
7 | IMAGETYPE_TIFF_II (intel bayt sıralaması)
8 | IMAGETYPE_TIFF_MM (motorola bayt sıralaması)
9 | IMAGETYPE_JPC
10 | IMAGETYPE_JP2
11 | IMAGETYPE_JPX
12 | IMAGETYPE_JB2
13 | IMAGETYPE_SWC
14 | IMAGETYPE_IFF
15 | IMAGETYPE_WBMP
16 | IMAGETYPE_XBM
17 | IMAGETYPE_ICO
18 | IMAGETYPE_WEBP

Hatalar/İstisnalar

Görüntü türünü belirlemek için dosyadan yeterince bayt okuyamazsa exif_imagetype() bir E_NOTICE çıktılar ve false değeriyle döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | WebP desteği eklendi.

Örnekler

Örnek 1 - exif_imagetype() örneği

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'Bu bir GIF değil.';
}
?>

Ayrıca Bakınız

  • image_type_to_mime_type() - getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür
  • getimagesize() - Bir görüntünün boyutlarını döndürür


Bir görüntü dosyasından EXIF başlıklarını okur

  • « exif_imagetype
  • exif_tagname »
  • PHP Manual
  • Exif İşlevleri
  • Bir görüntü dosyasından EXIF başlıklarını okur

exif_read_data

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_read_data — Bir görüntü dosyasından EXIF başlıklarını okur

Açıklama

exif_read_data(
kaynak|string $file,
?string $bölümler = null,
bool $diziler = false,
bool $küçük_örnek = false
): array|false

Bir görüntü dosyasından EXIF başlıklarını okur Böylece sayısal kameralar tarafından üretilen temel veriler okunabilir.

Exif başlıkları sayısal kameralar tarafından üretilen JPEG/TIFF görüntülerde bulunması için tasarlanmışlarsa da ne yazık ki, her sayısal kamera imalatçısı görüntü başlıklarının elde edilmesi konusunda farklı yaklaşımlara sahiptirler. Bu bakımdan bazı Exif başlıkları görüntü üzerinde mevcut olmayabilir.

Height ve Width başlıkları getimagesize() işlevinin yaptığı gibi hesaplandığından döndürülen başlığın birer parçası olmamalıdırlar. html başlığı normal HTML içinde kullanılacak metnin yükseklik/genişlik dizgesidir.

Bir Exif başlığı bir telif hakkı bilgisi içerdiği takdirde, bu iki değerden oluşur. Çözüm Exif 2.10 standadıyla uyumsuz olup COMPUTED bölümü hem Copyright.Photographer hem de Copyright.Editor başlıklarını içerirken IFD0 bölümleri iki girdiyi ayıran null karakterli bayt dizisini içerir. Eğer veri türü yanlışsa sadece ilk girdi döner (Exif'in normal davranışı). COMPUTED bölümü ayrıca, Copyright dizgesini de içerir ve bu dizge ya özgün telif hakkı dizgesini ya da fotoğraf ve eser düzenleyici telif haklarını içeren dizgeyi içerir.

UserComment yaftası Copyright yaftası ile aynı sorunlara sahiptir. O da iki değer saklayabilir. İlki kullanılan kodlama, ikincisi değerin kendisidir. Bu durumda, IFD bölümü sadece kodlamayı ve bayt dizisini içerir. COMPUTED bölümü UserCommentEncoding ve UserComment girdilerinin ikisini de saklar. UserComment girdisi her iki durumda da mevcuttur, dolayısıyla IFD0 bölümündeki değere tercihan kullanılmış olmalıdır.

exif_read_data() işlevi ayrıca, EXIF belirtimine uygun olarak EXIF veri başlıklarını da doğrular.

Bağımsız Değişkenler

kaynak

Görüntü dosyasının yeri. Bir dosya yolu (akım sarmalayıcılar belirtilebilir) veya resource türünde bir akım.

bölümler

Sonuç dizisinin üretiminde kullanılmak üzere dosyadaki başlıkların virgül ayraçlı listesi. Belirtilen başlıkların hiçbiri bulunamazsa işlev false döndürür.

FILE | FileName, FileSize, FileDateTime, SectionsFound (Dosyaİsmi, DosyaBoyu, DosyaTarihiSaati, BölümlarVar)
COMPUTED | html, Width, Height, IsColor (html, genişlik, yükseklik, Renklidir) ve varsa başkaları. Height ve Width, getimagesize() işlevinin yaptığı gibi hesaplanır, dolayısıyla bunlar döndürülen başlığın parçaları olmamalıdır. Ayrıca, html, normal HTML içinde kullanılacak height/width dizgesidir.
ANY_TAG | IFD0, EXIF, ... gibi bir yaftaya sahip her türlü bilgi
IFD0 | IFD0'ın tüm yaftalanmış bilgisi. Normal görüntü dosyalarında burada görüntü boyutu ve saire bulunur.
THUMBNAIL | Dosya ikinci bir IFD'ye sahipse görüntünün küçük bir örneğini içerdiği varsayılır. Küçük görüntü örneği ile ilgili tüm veriler bu bölümde saklanır.
COMMENT | JPEG görüntülerin açıklama başlıkları.
EXIF | EXIF bölümü IFD0 bölümünün bir alt bölümüdür. Burada görüntü hakkında çok daha fazla bilgi bulunur. Bu girdilerin çoğu sayısal kamera ile ilgilidir.

diziler

Her bölümün bir dizi haline getirilip getirilmeyeceğini belirler. COMPUTED, THUMBNAIL ve COMMENT bölümleri, diğer bölümlerle karışmaması için daima bir dizi haline getirilirler.

küçük_örnek

true belirtilmişse küçük görüntü örneğinin kendisi okunur. Aksi takdirde, sadece yaftalı veriler okunur.

Dönen Değerler

Dönen değer bir dizi olup, dizi indisleri başlık isimlerini, değerler bu başlıklarla ilgili verileri içerir. Eğer hiçbir veri döndürülemezse exif_read_data() işlevi false döndürür.

Hatalar/İstisnalar

Desteklenmeyen başlıklar veya olası hata durumlarında E_WARNING ve/veya E_NOTICE seviyesinde hata üretilebilir, fakat işlev hala anlaşılabilir bilgileri okumaya çalışır.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 | bölümler artık boş olabiliyor.
7.2.0 | kaynak bağımsız değişkeni normal dosyalardan başka artık akımları da destekliyor.
7.2.0 Aşağıdaki EXIF biçemlerine destek eklendi:
  • Samsung
  • DJI
  • Panasonic
  • Sony
  • Pentax
  • Minolta
  • Sigma/Foveon
  • AGFA
  • Kyocera
  • Ricoh
  • Epson

Örnekler

Örnek 1 - exif_read_data() örneği

<?php
echo "test1.jpg:<br />\n";
$exif = exif_read_data('tests/test1.jpg', 'IFD0');
echo $exif===false ? "<Başlık verisi bulunamadı.<br />\n" : "Görüntü başlıkları içeriyor<br />\n";

$exif = exif_read_data('tests/test2.jpg', 0, true);
echo "test2.jpg:<br />\n";
foreach ($exif as $key => $section) {
foreach ($section as $name => $val) {
echo "$key.$name: $val<br />\n";
}
}
?>

Görüntü başlık bilgisi içermediğinden ilk çağrı başarısız olur.

Yukarıdaki örnek şuna benzer bir çıktı üretir:

test1.jpg:
Başlık verisi bulunamadı.
test2.jpg:
FILE.FileName: test2.jpg
FILE.FileDateTime: 1017666176
FILE.FileSize: 1240
FILE.FileType: 2
FILE.SectionsFound: ANY_TAG, IFD0, THUMBNAIL, COMMENT
COMPUTED.html: width="1" height="1"
COMPUTED.Height: 1
COMPUTED.Width: 1
COMPUTED.IsColor: 1
COMPUTED.ByteOrderMotorola: 1
COMPUTED.UserComment: Exif test image.
COMPUTED.UserCommentEncoding: ASCII
COMPUTED.Copyright: Photo (c) M.Boerger, Edited by M.Boerger.
COMPUTED.Copyright.Photographer: Photo (c) M.Boerger
COMPUTED.Copyright.Editor: Edited by M.Boerger.
IFD0.Copyright: Photo (c) M.Boerger
IFD0.UserComment: ASCII
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.JPEGInterchangeFormatLength: 523
COMMENT.0: Comment #1.
COMMENT.1: Comment #2.
COMMENT.2: Comment #3end
THUMBNAIL.JPEGInterchangeFormat: 134
THUMBNAIL.Thumbnail.Height: 1
THUMBNAIL.Thumbnail.Height: 1

Örnek 2 - PHP 7.2.0 itibariyle exif_read_data() akımları destekliyor

<?php
// Bir dosya açar, bu ikil kipte olmalı
$fp = fopen('/path/to/image.jpg', 'rb');

if (!$fp) {
echo 'Hata: Görüntü okumak için açılamadı';
exit;
}

// Exif başlıklarını okumaya çalış
$headers = exif_read_data($fp);

if (!$headers) {
echo 'Hata: Exif başlıkları okunamadı';
exit;
}

// 'COMPUTED' başlıklarını bas
echo 'EXIF Headers:' . PHP_EOL;

foreach ($headers['COMPUTED'] as $header => $value) {
printf(' %s => %s%s', $header, $value, PHP_EOL);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

EXIF Headers:
 Height => 576
 Width => 1024
 IsColor => 1
 ByteOrderMotorola => 0
 ApertureFNumber => f/5.6
 UserComment =>
 UserCommentEncoding => UNDEFINED
 Copyright => Denis
 Thumbnail.FileType => 2
 Thumbnail.MimeType => image/jpeg

Notlar

Bilginize:

mbstring etkinse, unicode karakterleri işlemeye çalışır ve exif.decode_unicode_motorola ve exif.decode_unicode_intel ile belirtilen karakter kümesini seçer. Exif eklentisi karakter kodlamasını bulmaya çalışmaz. Kullanıcı exif_read_data() işlevini çağırmadan önce bu iki ini yönergesinden birine uygun karakter kodlamasını belirtmelidir.

Bilginize:

kaynak bağımsız değişkeni işleve bir akım aktarmak için kullanılmışsa, akım araştırılabilri olmalıdır. Bu işlev döndükten sonra dosya göstericisinin yeri değişmeyecektir.

Ayrıca Bakınız

  • exif_thumbnail() - Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür
  • getimagesize() - Bir görüntünün boyutlarını döndürür
  • Desteklenen Protokoller ve Sarmalayıcılar


Bir indis için başlık ismini döndürür

  • « exif_read_data
  • exif_thumbnail »
  • PHP Manual
  • Exif İşlevleri
  • Bir indis için başlık ismini döndürür

exif_tagname

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_tagname — Bir indis için başlık ismini döndürür

Açıklama

exif_tagname(int $indis): string|false

Bağımsız Değişkenler

indis

Bir Etiket Adının aranacağı Etiket Kimliği.

Dönen Değerler

indis tanımlı bir Etiket Kimliği değilse false, aksi takdirde başlık ismi döner.

Örnekler

Örnek 1 - exif_tagname() örneği

<?php
echo "256: ".exif_tagname(256).PHP_EOL;
echo "257: ".exif_tagname(257).PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

256: ImageWidth
257: ImageLength

Ayrıca Bakınız

  • exif_imagetype() - Bir görüntünün türünü saptar
  • » EXIF Belirtimi
  • » EXIF Etiketleri


Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür

  • « exif_tagname
  • read_exif_data »
  • PHP Manual
  • Exif İşlevleri
  • Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür

exif_thumbnail

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

exif_thumbnail — Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür

Açıklama

exif_thumbnail(
resource|string $dosya,
int &$genişlik = null,
int &$yükseklik = null,
int &$görüntü_türü = null
): string|false

exif_thumbnail() işlevi bir görüntünün içinde gömülü küçük örneği döndürür.

Görüntülerin küçük örneklerini bu işlev ile göndermek isterseniz MIME türü bilgisini header() işlevini kullanarak göndermeniz gerekir.

exif_thumbnail() bir görüntü oluşturamaz ama boyutlarını belirleyebilir. Bu durumda dönen değer false olur fakat genişlik ve yükseklik tanımlanmış olur.

Bağımsız Değişkenler

dosya

Okunacak görüntü dosyasının yeri. Bu bir dosya yolu veya resource türünde bir akım olmalıdır.

genişlik

Döndürülecek küçük örneğin genişliği.

height

Döndürülecek küçük örneğin yüksekliği.

görüntü_türü

Döndürülecek küçük örneğin görüntü türü. TIFF veya JPEG olabilir.

Dönen Değerler

Gömülü bir görüntü örneği yoksa false, aksi takdirde gömülü küçük örneği döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | dosya bağımsız değişkeni artık yerel dosyalardan başka akım özkaynaklarını da destekliyor.

Örnekler

Örnek 1 - exif_thumbnail() örneği

<?php
$resim = exif_thumbnail('/bir/yol/resim.jpg', $gen, $yks, $tür);

if ($resim!==false) {
header('Content-type: ' .image_type_to_mime_type($tür));
echo $resim;
exit;
} else {
// Görüntü örneği yoksa, hataları burada ele alacağız
echo 'Görüntünün içinde küçük bir örneği yok';
}
?>

Notlar

Bilginize:

dosya bu işeve bir akım aktarmak için kullanılırsa akım aranabilir olmalıdır. İşlev döndükten sonra dosya tanıtıcısının konumu değişmeyecektir.

Ayrıca Bakınız

  • exif_read_data() - Bir görüntü dosyasından EXIF başlıklarını okur
  • image_type_to_mime_type() - getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür


exif_read_data işlevinin takma adıdır

  • « exif_thumbnail
  • GD »
  • PHP Manual
  • Exif İşlevleri
  • exif_read_data işlevinin takma adıdır

read_exif_data

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

read_exif_data — exif_read_data() işlevinin takma adıdır

Uyarı

Bu takma adın kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR.

Açıklama

Bu işlev exif_read_data() işlevinin takma adıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Bu takma adın kullanımı artık önerilmiyor.


Görüntü İşleme ve GD

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • PHP ile PNG oluşturmak
    • Alfa kanallarını kullanarak resme damga basmak
    • Yarı geçirgen filigran oluşturmak için imagecopymerge kullanımı
  • GD ve Görüntü İşlevleri
    • gd_info — Kurulu GD kütüphanesi hakkında bilgi verir
    • getimagesize — Bir görüntünün boyutlarını döndürür
    • getimagesizefromstring — Dizgedeki görüntünün boyutunu döndürür
    • image_type_to_extension — Resim türü ile ilgili dosya uzantısını döndürür
    • image_type_to_mime_type — getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür
    • image2wbmp — Görüntüyü tarayıcıya veya dosyaya yazar.
    • imageaffine — İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür
    • imageaffinematrixconcat — İki ilgin dönüşüm matrisini birleştirir
    • imageaffinematrixget — İlgin dönüşüm matrisini döndürür
    • imagealphablending — Bir görüntü için harmanlama kipini etkinleştirir
    • imageantialias — Kenar yumuşatma işlevlerini uygulatır
    • imagearc — Bir yay çizer
    • imageavif — Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagebmp — BMP görüntüyü tarayıcıya veya dosyaya çıktılar
    • imagechar — Yatay olarak bir karakter çizer
    • imagecharup — Düşey olarak bir karakter çizer
    • imagecolorallocate — Bir görüntü için bir renk ayırır
    • imagecolorallocatealpha — Bir görüntü için alfa kanallı bir renk ayırır
    • imagecolorat — Bir pikselin renk indisini döndürür
    • imagecolorclosest — Belirtilen rengin en yakın benzerinin indisini döndürür
    • imagecolorclosestalpha — Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir
    • imagecolorclosesthwb — En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir
    • imagecolordeallocate — Bir rengi tanımsız yapar
    • imagecolorexact — Belirtilen rengin indisini döndürür
    • imagecolorexactalpha — Alfası ile birlikte belirtilen rengin indisini verir
    • imagecolormatch — Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar
    • imagecolorresolve — Belirtilen rengin veya en yakın benzerinin indisini döndürür
    • imagecolorresolvealpha — Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir
    • imagecolorset — Bir palet indisi için renk tanımlar
    • imagecolorsforindex — Bir renk indisinin renk bilgisini döndürür
    • imagecolorstotal — Bir görüntü paletindeki renk sayısını döndürür
    • imagecolortransparent — Bir rengi şeffaflaştırır
    • imageconvolution — Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular
    • imagecopy — Bir resim parçasını kopyalar
    • imagecopymerge — Bir görüntüyü kopyalar ve karıştırır
    • imagecopymergegray — Bir görüntüyü kopyalar ve gri tonlama ile karıştırır
    • imagecopyresampled — Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır
    • imagecopyresized — Görüntünün bir parçasını kopyalar ve boyutlandırır
    • imagecreate — Yeni bir paletli görüntü oluşturur
    • imagecreatefromavif — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefrombmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromgd2 — Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgd2part — Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgd — Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgif — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromjpeg — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefrompng — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromstring — Belirtilen dizgeden yeni bir görüntü oluşturur
    • imagecreatefromtga — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromwbmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromwebp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromxbm — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromxpm — Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatetruecolor — Yeni bir gerçek renkli görüntü oluşturur
    • imagecrop — Görüntüyü belirtilen dikdörtgen ile kırpar
    • imagecropauto — Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar
    • imagedashedline — Kesikli çizgi çizer
    • imagedestroy — Bir görüntüyü bellekten siler
    • imageellipse — Bir elips çizer
    • imagefill — Görüntüyü boyar
    • imagefilledarc — Bir yay çizer ve içini doldurur
    • imagefilledellipse — İçi dolu bir elips çizer
    • imagefilledpolygon — İçi dolu bir çokgen çizer
    • imagefilledrectangle — İçi dolu bir dikdörtgen çizer
    • imagefilltoborder — Belli bir bölgeyi belli bir renge boyar
    • imagefilter — Bir görüntüye bir süzgeç uygular
    • imageflip — Belirtilen kipi kullanarak görüntüyü ters çevirir
    • imagefontheight — Yazı tipi piksel yüksekliğini döndürür
    • imagefontwidth — Yazı tipi piksel genişliğini döndürür
    • imageftbbox — Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar
    • imagefttext — Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar
    • imagegammacorrect — Bir GD görüntüye gamma düzeltmesi uygular
    • imagegd2 — Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar
    • imagegd — Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar
    • imagegetclip — Kırpma dikdörtgenini döndürür
    • imagegetinterpolation — Ara değerleme yöntemini döndürür
    • imagegif — Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagegrabscreen — Ekran görüntüsünü yakalar
    • imagegrabwindow — Bir pencereyi yakalar
    • imageinterlace — Geçişimliliği açıp kapar
    • imageistruecolor — Bir görüntünün gerçek renkli olup olmadığını bulur
    • imagejpeg — Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagelayereffect — Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar
    • imageline — Bir çizgi çizer
    • imageloadfont — Yeni bir bit eşlemli yazı tipi yükler
    • imageopenpolygon — Açık çokgen çizer
    • imagepalettecopy — Paleti bir görüntüden diğerine kopyalar
    • imagepalettetotruecolor — Palet tabanlı bir görüntüyü gerçek renge dönüştürür
    • imagepng — Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
    • imagepolygon — Çokgen çizer
    • imagerectangle — Bir dikdörtgen çizer
    • imageresolution — Görüntünün çözünürlüğünü tanımlar veya döndürür
    • imagerotate — Bir görüntüyü belirtilen açıya göre döndürür
    • imagesavealpha — Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir
    • imagescale — Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar
    • imagesetbrush — Çizgi çizmek için fırça görüntüsü oluşturur
    • imagesetclip — Kırpma dikdörtgenini tanımlar
    • imagesetinterpolation — Ara değerleme yöntemini tanımlar
    • imagesetpixel — Bir pikselin rengini değiştirir
    • imagesetstyle — Çizgi tarzını ayarlar
    • imagesetthickness — Çizgi kalınlığını ayarlar
    • imagesettile — Görüntüyü doldurmak için döşemeyi etkin kılar
    • imagestring — Bir dizgeyi yatay olarak yazar
    • imagestringup — Bir dizgeyi 90 derece döndürülmüş olarak yazar
    • imagesx — Görüntünün genişliğini döndürür
    • imagesy — Görüntünün yüksekliğini döndürür
    • imagetruecolortopalette — Gerçek renkli görüntüyü paletli görüntüye dönüştürür
    • imagettfbbox — TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür
    • imagettftext — Metni görüntüye TrueType yazı tipi ile yazar
    • imagetypes — Kurulu PHP'nin desteklediği görüntü türlerini döndürür
    • imagewbmp — Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagewebp — WebP görüntüyü tarayıcıya veya dosyaya çıktılar
    • imagexbm — Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar
    • iptcembed — İkil IPTC verisini bir JPEG görüntünün içine gömer
    • iptcparse — Bir ikil IPTC bloğunu tekil etiketlere böler
    • jpeg2wbmp — Bir JPEG dosyasını WBMP dosyasına dönüştürür
    • png2wbmp — Bir PNG dosyasını WBMP dosyasına dönüştürür
  • GdImage — GdImage sınıfı
  • GdFont — GdFont sınıfı


Giriş

PHP sadece HTML çıktı oluşturmaz. Ayrıca, GIF, PNG, JPEG, WBMP ve XPM dahil çeşitli görüntü biçemlerinde dosyalar oluşturabilir veya bunlar üzerinde değişiklik yapabilir. Dahası, PHP görüntü akımlarını doğrudan tarayıcıya gönderebilir. Bunun için PHP'nin GD kütüphanesi ile derlenmesi gerekir. Kullanılacak görüntü biçemlerine bağlı olarak başka PHP ve GD kütüphaneleri de gerektirebilir.

PHP'deki görüntü işlevleri, JPEG, GIF, PNG, SWF, TIFF ve JPEG2000 görüntülerinin boyutlarını öğrenmek için kullanılabilir.

Exif eklentesi ile JPEG ve TIFF görüntü başlıklarındaki bilgiler üzerinde çalışmak ve böylece sayısal kameralar tarafından üretilmiş temel verileri okumak mümkündür. Exif işlevleri GD kütüphanesine ihtiyaç duymaz.

Bilginize: Görüntüleri okumak, değiştirmek ve yazmak için kütüphanenin yeteneklerinin nasıl geliştirileceğini öğrenmek için gereksinimler sayfasına bakılabilir. Sayısal kameralardan aldığınız görüntülerin temel verilerini okumak için exif eklentisi gerekir.

Bilginize: getimagesize() işlevi GD eklentisini gerektirmez.

Dikkat

GD kütüphanesinin PHP paketinde gelen sürümü, sistem sürümlerinin aksine bellek ayırmak için Zend bellek yöneticisini kullanır. Bu bakımdan memory_limit uygulanmaz.

GD çeşitli biçemleri destekler. Aşağıda GD'nin desteklediği biçemler sıralanmıştır. Oku/yaz desteğinin yanında Bilgi sütununda kullanılabilirlik bilgilerine de yer verilmiştir.

GD'nin desteklediği biçemler
Biçem | Okuma desteği | Yazma desteği | Bilgi
JPEG | var | var |
PNG | var | var |
GIF | var | var |
XBM | var | var |
XPM | var | yok |
WBMP | var | var |
WebP | var | var |
BMP | var | var | PHP 7.2.0 itibariyle kullanılabilir.

Yukarıdaki tabloda hem okuma hem de yazma için birçok biçem bulunması PHP'nin bunlar için destekle derlendiği anlamına gelmez. Derleme sırasında GD için hangi biçemlerin mevcut olduğunu bulmak için gd_info() işlevi kullanılabilir. Biçemlerin derleme desteği hakkında daha fazla bilgi için kurulum bölümüne bakılabilir.


Gereksinimler

GD kütüphanesi (» http://www.libgd.org/ adresinden edinilebilir) kuruluysa görüntülerde değişiklik yapmak veya yenilerini oluşturmak mümkündür.

Üzerinde işlem yapaılabilecek görüntü biçemleri kurulu GD kütüphanesine ve GD'nin bu biçemlere erişmesini sağlayan diğer kütüphanelere bağlıdır.

Bilginize: libgd-2.1.0 ve üstü gerekse de, PHP paketiyle gelmekte olan GD kütüphanesi de kullanılabilir.

Bilginize: GD kütüphanesi zlib >= 1.2.0.4 gerektirir.

GD yetenekleri daha fazla görüntü biçemini destekleyecek şekilde genişletilebilir.

Desteklenen görüntü biçemleri
Görüntü biçemi | İndirilecek kütüphane | Ek bilgiler
gif |  |
jpeg | » http://www.ijg.org/ | PHP'yi jpeg kütüphanesini derlemek için yapılandırırken --enable-shared seçeneği kullanılmalıdır. Bu yapılmazsa, PHP'yi derlemek için yapılandırırken libjpeg.(a|so) bulunamadı anlamında bir hata iletisi çıktılanır.
png | » http://www.libpng.org/pub/png/libpng.html | Sadece gd-1.6'dan yeni GD sürümlerince desteklenmektedir.
xpm | » http://www.ibiblio.org/pub/Linux/libs/X/!INDEX.html | Sisteminizde X pencere sistemi kuruluysa bu kütüphane de kurulu demektir.

Daha fazla yazı tipini destekleyecek şekilde GD yeteneklerini genişletebilirsiniz. » FreeType 2 kütüphanesi desteklenmektedir.


Kurulum

GD desteğini etkin kılmak için PHP --with-gd[=DiZiN] seçeneği ile derlenmelidir; buradaki DiZiN GD'nin kurulu olduğu dizindir. GD kütüphanesinin PHP ile dağıtılan sürümünü kullanmak için PHP --with-gd seçeneğiyle derlenmelidir. GD kütüphanesi libpng ve libjpeg desteğini gerektirir. PHP 7.4.0'dan itibaren --with-gd seçeneği, --enable-gd (eklenti etkinleştirilecekse) ve --with-external-gd (paketlenmiş olan yerine harici bir libgd kullanmayı tercih etmek için) haline gelir.

Windows'ta, GD DLL php_gd.dll dosyası php.ini dosyasında bir eklenti olarak belirtilmelidir. PHP 8.0.0 öncesinde DLL ismi php_gd2.dll idi.

GD'nin yetenekleri daha fazla görüntü biçemi kullanmak üzere genişletilmek istenirse PHP'yi derlemek için yapılandırırken --with-XXXX seçenekleri kullanılmalıdır.

Desteklenen görüntü biçemleri
Görüntü Biçemi | Yapılandırma Anahtarı
jpeg | Jpeg desteğini etkinleştirmek için --with-jpeg-dir=DiZiN seçeneği kullanılır. Jpeg 6b, 7 veya 8 desteklenir. PHP 7.4.0 ve sonrasında bu seçenek yerine --with-jpeg seçeneği kullanılır.
png | PNG desteğini etkinleştirmek için --with-png-dir=DiZiN seçeneği kullanılır. libpng zlib kütüphanesini gerektirdiğinden --with-zlib-dir[=DiZiN] seçeneği de gerekecektir. PHP 7.4.0 ve sonrasında --with-png-dir ve --with-zlib-dir seçenekleri kaldırılmış olup libpng ve zlib gerekmektedir.
xpm | XPM desteğini etkinleştirmek için --with-xpm-dir=DiZiN seçeneği kullanılır. Eğer yapılandırma betiği kütüphanelerinizin yerini bulamazsa X11 kütüphanelerinin kurulu olduğu yol belirtilmelidir. PHP 7.4.0 ve sonrasında bunun yerine --with-xpm kullanılmaktadır.
webp | Webp desteğini etkinleştirmek için --with-webp-dir=DiZiN seçeneği kullanılır. PHP 7.4.0 ve sonrasında bunun yerine --with-webp kullanılmaktadır.

Bilginize: PHP'yi libpng desteği ile derlerken, libpng ile ilintili GD sürümü kullanılmalıdır.

GD'nin yeteneklerini farklı yazıtiplerini kullanacak şekilde genişletmek için kurulum sırasında bunu --with-XXXX yapılandırma seçeneği ile belirtmek gerekir.

Desteklenen yazıtipi kütüphaneleri
Yazıtipi Kütüphanesi | Yapılandırma Seçeneği
FreeType 2 | FreeType 2 desteğini etkinleştirmek için --with-freetype-dir=DiZiN seçeneği kullanılır. PHP 7.4.0 ve sonrasında bunun yerine kütüphaneyi pkg-config ile bulan --with-freetype seçeneği kullanılmaktadır.
Doğal TrueType dizge işlevi | Doğal TrueType dizge işlevi desteğini etkinleştirmek için --enable-gd-native-ttf seçeneği kullanılır. (Bu seçenek etkisiz olup PHP 7.2.0 ve sonrasında kaldırılmıştır.)


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Görüntü Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
gd.jpeg_ignore_warning | "1" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

gd.jpeg_ignore_warning bool

libjpeg(-turbo) tarafından üretilen uyarıları (hataları değil) yok saymak için kullanılır.

gd.jpeg_ignore_warning ile ilgili değişiklikler
Sürüm: | Açıklama
7.1.0 | gd.jpeg_ignore_warning öntanımlısı 0 iken 1 oldu.

Ayrıca, exif yapılandırma yönergelerine de bakınız.

Uyarı

Görüntü işlevleri bellek miktarına çok bağımlıdır. GD kütüphanesinin PHP ile gelen sürümünü kullanıyorsanız, memory_limit yönergesinde yeterince büyük bir bellek miktarı belirtmeyi unutmayın.


Özkaynak Türleri

Bu eklenti aşağıdaki özkaynakları tanımlar:

GD özkaynaklarının listesi
İsim | Açıklama | Bilgi
gd | Görüntü özkaynağı, imagecreatefrompng() gibi işlevler kullanır. | PHP 8.0.0 öncesi
gd font | Yazıtipi özkaynağı, imageloadfont() ile dahili olarak oluşturulur. | PHP 8.1.0 öncesi


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

GD_VERSION (string)
PHP'nin desteklediği GD sürümü.
GD_MAJOR_VERSION (int)
PHP'nin desteklediği GD ana sürümü.
GD_MINOR_VERSION (int)
PHP'nin desteklediği GD alt sürümü.
GD_RELEASE_VERSION (int)
PHP'nin desteklediği GD yama sürümü.
GD_EXTRA_VERSION (string)
PHP'nin desteklediği GD ön (beta/rc) sürümü.
GD_BUNDLED (int)
PHP ile birlikte gelen GD kullanılmışsa 1, aksi takdirde 0.
IMG_AVIF (int)
imagetypes() tarafından dönüş değeri olarak kullanılır (PHP 8.1.0 ve sonrasında kullanılabilir.)
IMG_BMP (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_GIF (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_JPG (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_JPEG (int)
imagetypes() tarafından dönüş değeri olarak kullanılır

Bilginize:

Bu sabit IMG_JPG ile aynı değere sehiptir.

IMG_PNG (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_WBMP (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_XPM (int)
imagetypes() tarafından dönüş değeri olarak kullanılır
IMG_WEBP (int)
imagetypes() tarafından dönüş değeri olarak kullanılır (PHP 7.0.10 ve sonrasında kullanılabilir.)
IMG_WEBP_LOSSLESS (int)
(PHP 8.1.0 ve sonrasında kullanılabilir.)
IMG_COLOR_TILED (int)
imagecolorallocate() veya imagecolorallocatealpha() ile ayrılan bir renk yerine kullanılabilen özel renk seçeneği.
IMG_COLOR_STYLED (int)
imagecolorallocate() veya imagecolorallocatealpha() ile ayrılan bir renk yerine kullanılabilen özel renk seçeneği.
IMG_COLOR_BRUSHED (int)
imagecolorallocate() veya imagecolorallocatealpha() ile ayrılan bir renk yerine kullanılabilen özel renk seçeneği.
IMG_COLOR_STYLEDBRUSHED (int)
imagecolorallocate() veya imagecolorallocatealpha() ile ayrılan bir renk yerine kullanılabilen özel renk seçeneği.
IMG_COLOR_TRANSPARENT (int)
imagecolorallocate() veya imagecolorallocatealpha() ile ayrılan bir renk yerine kullanılabilen özel renk seçeneği.
IMG_AFFINE_TRANSLATE (int)
imageaffinematrixget() işlevince kullanılan bir paralel dönüşüm türü sabiti.
IMG_AFFINE_SCALE (int)
imageaffinematrixget() işlevince kullanılan bir paralel dönüşüm türü sabiti.
IMG_AFFINE_ROTATE (int)
imageaffinematrixget() işlevince kullanılan bir paralel dönüşüm türü sabiti.
IMG_AFFINE_SHEAR_HORIZONTAL (int)
imageaffinematrixget() işlevince kullanılan bir paralel dönüşüm türü sabiti.
IMG_AFFINE_SHEAR_VERTICAL (int)
imageaffinematrixget() işlevince kullanılan bir paralel dönüşüm türü sabiti.
IMG_ARC_ROUNDED (int)
imagefilledarc() işlevince kullanılan bir tarz sabiti.

Bilginize:

Bu sabit IMG_ARC_PIE ile aynı değere sahiptir.

IMG_ARC_PIE (int)
imagefilledarc() işlevince kullanılan bir tarz sabiti.
IMG_ARC_CHORD (int)
imagefilledarc() işlevince kullanılan bir tarz sabiti.
IMG_ARC_NOFILL (int)
imagefilledarc() işlevince kullanılan bir tarz sabiti.
IMG_ARC_EDGED (int)
imagefilledarc() işlevince kullanılan bir tarz sabiti.
IMG_GD2_RAW (int)
imagegd2() işlevince kullanılan bir tür sabiti.
IMG_GD2_COMPRESSED (int)
imagegd2() işlevince kullanılan bir tür sabiti.
IMG_EFFECT_REPLACE (int)
imagelayereffect() işlevince kullanılan bir alfa karıştırma etkisi
IMG_EFFECT_ALPHABLEND (int)
imagelayereffect() işlevince kullanılan bir alfa karıştırma etkisi
IMG_EFFECT_NORMAL (int)
imagelayereffect() işlevince kullanılan bir alfa karıştırma etkisi
IMG_EFFECT_OVERLAY (int)
imagelayereffect() işlevince kullanılan bir alfa karıştırma etkisi
IMG_EFFECT_MULTIPLY (int)
imagelayereffect() işlevince kullanılan bir alfa karıştırma etkisi
IMG_FILTER_NEGATE (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_GRAYSCALE (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_BRIGHTNESS (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_CONTRAST (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_COLORIZE (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_EDGEDETECT (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_GAUSSIAN_BLUR (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_SELECTIVE_BLUR (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_EMBOSS (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_MEAN_REMOVAL (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_SMOOTH (int)
imagefilter() işlevince kullanılan özel GD süzgeci.
IMG_FILTER_PIXELATE (int)
imagefilter() işlevince kullanılan özel GD süzgeci. (PHP 5.3.0'dan beri kullanılabilmektedir.)
IMG_FILTER_SCATTER (int)
imagefilter() işlevince kullanılan özel GD süzgeci. (PHP 7.4.0'dan beri kullanılabilmektedir.)
IMAGETYPE_GIF (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JPEG (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JPEG2000 (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_PNG (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_SWF (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_PSD (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_BMP (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_WBMP (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_XBM (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_TIFF_II (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_TIFF_MM (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_IFF (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JB2 (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JPC (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JP2 (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_JPX (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_SWC (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_ICO (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti.
IMAGETYPE_WEBP (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti. PHP 7.1.0'dan beri mevcuttur.
IMAGETYPE_AVIF (int)
image_type_to_mime_type() ve image_type_to_extension() işlevince kullanılan görüntü türü sabiti. (PHP 8.1.0 ve sonrasında kullanılabilir.)
PNG_NO_FILTER (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_FILTER_NONE (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_FILTER_SUB (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_FILTER_UP (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_FILTER_AVG (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_FILTER_PAETH (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
PNG_ALL_FILTERS (int)
imagepng() işlevince kullanılan özel bir PNG süzgeci.
IMG_FLIP_VERTICAL (int)
PHP 5.5.0 ve sorasında imageflip() ile birlikte kullanılabilir.
IMG_FLIP_HORIZONTAL (int)
PHP 5.5.0 ve sorasında imageflip() ile birlikte kullanılabilir.
IMG_FLIP_BOTH (int)
PHP 5.5.0 ve sorasında imageflip() ile birlikte kullanılabilir.
IMG_BELL (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BESSEL (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BILINEAR_FIXED (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BICUBIC (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BICUBIC_FIXED (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BLACKMAN (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BOX (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_BSPLINE (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_CATMULLROM (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_GAUSSIAN (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_GENERALIZED_CUBIC (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_HERMITE (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_HAMMING (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_HANNING (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_MITCHELL (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_POWER (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_QUADRATIC (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_SINC (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_NEAREST_NEIGHBOUR (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_WEIGHTED4 (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.
IMG_TRIANGLE (int)
PHP 5.5.0 ve sorasında imagesetinterpolation() ile birlikte kullanılabilir.


Örnekler

İçindekiler

  • PHP ile PNG oluşturmak
  • Alfa kanallarını kullanarak resme damga basmak
  • Yarı geçirgen filigran oluşturmak için imagecopymerge kullanımı


PHP ile PNG oluşturmak

Örnek 1 - PHP ile PNG oluşturma örneği

<?php

header("Content-type: image/png");
$string = $_GET['text'];
$foto = imagecreatefrompng("images/button1.png");
$turuncu = imagecolorallocate($foto, 220, 210, 60);
$px = (imagesx($foto) - 7.5 * strlen($string)) / 2;
imagestring($foto, 3, $px, 9, $string, $turuncu);
imagepng($foto);
imagedestroy($foto);

?>
Bu örnek bir sayfadan şöyle bir etiketle çağırlabilir: <img src="button.php?text=gönder">. Yukarıdaki button.php betiği bu "gönder" dizgesini alır ve "images/button1.png" resminin üzerine yerleştirip elde edilen resmi çıktılar. Bu yöntem, her düğme için ayrı bir düğme resmi kullanmaktan daha verimlidir. Bu yöntemle düğmeler devingen olarak üretilir.


Alfa kanallarını kullanarak resme damga basmak

Örnek 1 - Alfa kanallarını kullanarak resme damga basma örneği

<?php
// Filigran uygulanacak fotoğrafı ve damgayı yükleyelim.
$damga = imagecreatefrompng('damga.png');
$foto = imagecreatefromjpeg('foto.jpeg');

// Damganın kenar boşluklarını ayarlayıp resmin
// yükseklik ve genişliğini alalım
$sağ_boşluk = 10;
$alt_boşluk = 10;
$sx = imagesx($damga);
$sy = imagesy($damga);

// Damga resmini koordinatları belirterek kenar boşlukları ile
// birlikte fotoğrafın üzerine kopyalayalım.
imagecopy($foto, $damga, imagesx($foto) - $sx - $sağ_boşluk,
imagesy($foto) - $sy - $alt_boşluk,
0, 0, imagesx($damga), imagesy($damga));

// Sonucu çıktılayıp belleği serbest bırakalım.
header('Content-type: image/png');
imagepng($foto);
imagedestroy($foto);
?>
Alfa kanallarını kullanarak resmin damgalanması
Telif haklı fotoğraflara ve görüntülere bir işaret veya damga basmanın en uygun yolu budur. Damga resminde metin olarak bir alfa kanalının varlığı halinde metne kenar yumuşatma uygulanacağına dikkat edin. Bu, kopyalama sırasında korunur.


Yarı geçirgen filigran oluşturmak için imagecopymerge kullanımı

  • « Alfa kanallarını kullanarak resme damga basmak
  • GD ve Görüntü İşlevleri »
  • PHP Manual
  • Örnekler
  • Yarı geçirgen filigran oluşturmak için imagecopymerge kullanımı

Yarı geçirgen filigran oluşturmak için imagecopymerge() kullanımı

Örnek 1 imagecopymerge() kullanarak yarı geçirgen filigran oluşturma örneği

<?php
// Filigran uygulanacak fotoğrafı ve damgayı yükleyelim.
$foto = imagecreatefromjpeg('foto.jpeg');

// Önce damga resmini GD'yi kullanarak oluşturalım.
$damga = imagecreatetruecolor(100, 70);
imagefilledrectangle($damga, 0, 0, 99, 99, 0x0000FF);
imagefilledrectangle($damga, 9, 9, 90, 60, 0xFFFFFF);
imagestring($damga, 5, 20, 20, 'libGD', 0x0000FF);
imagestring($damga, 3, 20, 40, '(c) 2007-9', 0x0000FF);

// Damganın kenar boşluklarını ayarlayıp resmin
// yükseklik ve genişliğini alalım
$yan_boşluk = 10;
$alt_boşluk = 10;
$sx = imagesx($damga);
$sy = imagesy($damga);

// %50 matlıktaki damgayı fotoğrafa basalım.
imagecopymerge($foto, $damga, imagesx($foto) - $sx - $yan_boşluk,
imagesy($foto) - $sy - $alt_boşluk, 0, 0,
imagesx($damga), imagesy($damga), 50);

// Sonucu kaydedip belleği serbest bırakalım.
imagepng($foto, 'damgalı_foto.png');
imagedestroy($foto);

?>
Yarı geçirgen filigran oluşturmak için imagecopymerge() kullanımı
Bu örnekte özgün görüntü ile damgayı birleştirmek için imagecopymerge() işlevi kullanılmıştır. Bu işlevi kullanarak damgamızın ışık geçirgenliğini ayarlayabiliriz. Bu örnekte ışık geçirgenliği %50 olarak ayarlanmıştır. Uygulamada, kaldırılması zor olduğundan yarı geçirgen filigran olarak telif haklarının korunmasında kullanılır.


GD ve Görüntü İşlevleri

İçindekiler

  • gd_info — Kurulu GD kütüphanesi hakkında bilgi verir
  • getimagesize — Bir görüntünün boyutlarını döndürür
  • getimagesizefromstring — Dizgedeki görüntünün boyutunu döndürür
  • image_type_to_extension — Resim türü ile ilgili dosya uzantısını döndürür
  • image_type_to_mime_type — getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür
  • image2wbmp — Görüntüyü tarayıcıya veya dosyaya yazar.
  • imageaffine — İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür
  • imageaffinematrixconcat — İki ilgin dönüşüm matrisini birleştirir
  • imageaffinematrixget — İlgin dönüşüm matrisini döndürür
  • imagealphablending — Bir görüntü için harmanlama kipini etkinleştirir
  • imageantialias — Kenar yumuşatma işlevlerini uygulatır
  • imagearc — Bir yay çizer
  • imageavif — Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagebmp — BMP görüntüyü tarayıcıya veya dosyaya çıktılar
  • imagechar — Yatay olarak bir karakter çizer
  • imagecharup — Düşey olarak bir karakter çizer
  • imagecolorallocate — Bir görüntü için bir renk ayırır
  • imagecolorallocatealpha — Bir görüntü için alfa kanallı bir renk ayırır
  • imagecolorat — Bir pikselin renk indisini döndürür
  • imagecolorclosest — Belirtilen rengin en yakın benzerinin indisini döndürür
  • imagecolorclosestalpha — Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir
  • imagecolorclosesthwb — En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir
  • imagecolordeallocate — Bir rengi tanımsız yapar
  • imagecolorexact — Belirtilen rengin indisini döndürür
  • imagecolorexactalpha — Alfası ile birlikte belirtilen rengin indisini verir
  • imagecolormatch — Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar
  • imagecolorresolve — Belirtilen rengin veya en yakın benzerinin indisini döndürür
  • imagecolorresolvealpha — Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir
  • imagecolorset — Bir palet indisi için renk tanımlar
  • imagecolorsforindex — Bir renk indisinin renk bilgisini döndürür
  • imagecolorstotal — Bir görüntü paletindeki renk sayısını döndürür
  • imagecolortransparent — Bir rengi şeffaflaştırır
  • imageconvolution — Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular
  • imagecopy — Bir resim parçasını kopyalar
  • imagecopymerge — Bir görüntüyü kopyalar ve karıştırır
  • imagecopymergegray — Bir görüntüyü kopyalar ve gri tonlama ile karıştırır
  • imagecopyresampled — Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır
  • imagecopyresized — Görüntünün bir parçasını kopyalar ve boyutlandırır
  • imagecreate — Yeni bir paletli görüntü oluşturur
  • imagecreatefromavif — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefrombmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromgd2 — Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur
  • imagecreatefromgd2part — Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur
  • imagecreatefromgd — Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur
  • imagecreatefromgif — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromjpeg — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefrompng — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromstring — Belirtilen dizgeden yeni bir görüntü oluşturur
  • imagecreatefromtga — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromwbmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromwebp — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromxbm — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromxpm — Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatetruecolor — Yeni bir gerçek renkli görüntü oluşturur
  • imagecrop — Görüntüyü belirtilen dikdörtgen ile kırpar
  • imagecropauto — Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar
  • imagedashedline — Kesikli çizgi çizer
  • imagedestroy — Bir görüntüyü bellekten siler
  • imageellipse — Bir elips çizer
  • imagefill — Görüntüyü boyar
  • imagefilledarc — Bir yay çizer ve içini doldurur
  • imagefilledellipse — İçi dolu bir elips çizer
  • imagefilledpolygon — İçi dolu bir çokgen çizer
  • imagefilledrectangle — İçi dolu bir dikdörtgen çizer
  • imagefilltoborder — Belli bir bölgeyi belli bir renge boyar
  • imagefilter — Bir görüntüye bir süzgeç uygular
  • imageflip — Belirtilen kipi kullanarak görüntüyü ters çevirir
  • imagefontheight — Yazı tipi piksel yüksekliğini döndürür
  • imagefontwidth — Yazı tipi piksel genişliğini döndürür
  • imageftbbox — Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar
  • imagefttext — Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar
  • imagegammacorrect — Bir GD görüntüye gamma düzeltmesi uygular
  • imagegd2 — Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar
  • imagegd — Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar
  • imagegetclip — Kırpma dikdörtgenini döndürür
  • imagegetinterpolation — Ara değerleme yöntemini döndürür
  • imagegif — Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagegrabscreen — Ekran görüntüsünü yakalar
  • imagegrabwindow — Bir pencereyi yakalar
  • imageinterlace — Geçişimliliği açıp kapar
  • imageistruecolor — Bir görüntünün gerçek renkli olup olmadığını bulur
  • imagejpeg — Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagelayereffect — Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar
  • imageline — Bir çizgi çizer
  • imageloadfont — Yeni bir bit eşlemli yazı tipi yükler
  • imageopenpolygon — Açık çokgen çizer
  • imagepalettecopy — Paleti bir görüntüden diğerine kopyalar
  • imagepalettetotruecolor — Palet tabanlı bir görüntüyü gerçek renge dönüştürür
  • imagepng — Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagepolygon — Çokgen çizer
  • imagerectangle — Bir dikdörtgen çizer
  • imageresolution — Görüntünün çözünürlüğünü tanımlar veya döndürür
  • imagerotate — Bir görüntüyü belirtilen açıya göre döndürür
  • imagesavealpha — Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir
  • imagescale — Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar
  • imagesetbrush — Çizgi çizmek için fırça görüntüsü oluşturur
  • imagesetclip — Kırpma dikdörtgenini tanımlar
  • imagesetinterpolation — Ara değerleme yöntemini tanımlar
  • imagesetpixel — Bir pikselin rengini değiştirir
  • imagesetstyle — Çizgi tarzını ayarlar
  • imagesetthickness — Çizgi kalınlığını ayarlar
  • imagesettile — Görüntüyü doldurmak için döşemeyi etkin kılar
  • imagestring — Bir dizgeyi yatay olarak yazar
  • imagestringup — Bir dizgeyi 90 derece döndürülmüş olarak yazar
  • imagesx — Görüntünün genişliğini döndürür
  • imagesy — Görüntünün yüksekliğini döndürür
  • imagetruecolortopalette — Gerçek renkli görüntüyü paletli görüntüye dönüştürür
  • imagettfbbox — TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür
  • imagettftext — Metni görüntüye TrueType yazı tipi ile yazar
  • imagetypes — Kurulu PHP'nin desteklediği görüntü türlerini döndürür
  • imagewbmp — Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagewebp — WebP görüntüyü tarayıcıya veya dosyaya çıktılar
  • imagexbm — Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar
  • iptcembed — İkil IPTC verisini bir JPEG görüntünün içine gömer
  • iptcparse — Bir ikil IPTC bloğunu tekil etiketlere böler
  • jpeg2wbmp — Bir JPEG dosyasını WBMP dosyasına dönüştürür
  • png2wbmp — Bir PNG dosyasını WBMP dosyasına dönüştürür


Kurulu GD kütüphanesi hakkında bilgi verir

  • « GD ve Görüntü İşlevleri
  • getimagesize »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kurulu GD kütüphanesi hakkında bilgi verir

gd_info

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

gd_info — Kurulu GD kütüphanesi hakkında bilgi verir

Açıklama

gd_info(): array

Kurulu GD kütüphanesinin sürümü ve yapabildikleri hakkında bilgi verir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ilişkisel dizi döner.

gd_info() tarafından döndürülen dizinin elemanları
Öznitelik | Anlamı
GD Version | Kurulu libgd sürümünü içeren string türünde bir değer.
FreeType Support | bool türünde bir değer. FreeType desteği varsa true.
FreeType Linkage | FreeType desteğinin nasıl sağlandığını açıklayan string türünde bir değer. Olası değerler: 'with freetype' (FreeType ile), 'with TTF library' (TTF kütüphanesi ile) ve 'with unknown library' (bilinmeyen bir kütüphane ile). Bu eleman sadece FreeType Support elemanının değeri true ise anlamlıdır.
GIF Read Support | bool türünde bir değer. GIF görüntüleri okuma desteği varsa true.
GIF Create Support | bool türünde bir değer. GIF görüntüleri oluşturma desteği varsa true.
JPEG Support | bool türünde bir değer. JPEG desteği varsa true.
PNG Support | bool türünde bir değer. PNG desteği varsa true.
WBMP Support | bool türünde bir değer. WBMP desteği varsa true.
XPM Support | bool türünde bir değer. XPM desteği varsa true.
XBM Support | bool türünde bir değer. XBM desteği varsa true.
WebP Support | bool value. WebP desteği varsa true.
AVIF Support | bool türünde bir değer. AVIF desteği varsa true. PHP 8.1.0 ve sonrasında kullanılabilir.

Örnekler

Örnek 1 gd_info() kullanımı

<?php
var_dump(gd_info());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(14) {
  ["GD Version"]=>
  string(26) "bundled (2.1.0 compatible)"
  ["FreeType Support"]=>
  bool(true)
  ["FreeType Linkage"]=>
  string(13) "with freetype"
  ["GIF Read Support"]=>
  bool(true)
  ["GIF Create Support"]=>
  bool(true)
  ["JPEG Support"]=>
  bool(true)
  ["PNG Support"]=>
  bool(true)
  ["WBMP Support"]=>
  bool(true)
  ["XPM Support"]=>
  bool(true)
  ["XBM Support"]=>
  bool(true)
  ["WebP Support"]=>
  bool(true)
  ["BMP Support"]=>
  bool(true)
  ["AVIF Support"]=>
  bool(false)
  ["TGA Read Support"]=>
  bool(true)
}

Ayrıca Bakınız

  • imagepng() - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagejpeg() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagegif() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagewebp() - WebP görüntüyü tarayıcıya veya dosyaya çıktılar
  • imageavif() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür


Bir görüntünün boyutlarını döndürür

  • « gd_info
  • getimagesizefromstring »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntünün boyutlarını döndürür

getimagesize

(PHP 4, PHP 5, PHP 7, PHP 8)

getimagesize — Bir görüntünün boyutlarını döndürür

Açıklama

getimagesize(string $dosyaismi, array &$ekbilgi = null): array|false

getimagesize() işlevi dosya ismiyle belirtilen desteklenen görüntünün boyutlarını saptar ve görüntünün boyutlarından başka görüntü dosyası biçemini, HTML IMG etiketinin öznitelikleri olarak yükseklik ve genişliği ve görüntüye ilişkin HTTP içerik türünü bir dizi içinde döndürür.

getimagesize() işlevi ayrıca, ekbilgi bağımsız değişkeninde bazı ek bilgiler döndürebilir.

Dikkat

Bu işlev belirtilen dosyaisminin geçerli bir görüntü dosyası olacağını varsayar. Bir görüntü dosyası belirtilmemişse bile, hatalı olarak bunu bir görüntü dosyası olarak algılar ve işlev başarıyla döner, fakat dizi anlamsız değerler içerebilir.

getimagesize() işlevi belirtilen dosyanın geçerli bir dosya olup olmadığını sınamak için kullanılmamalı, Fileinfo eklentisi gibi amaca yönelik bir çözüm kullanılmalıdır.

Bilginize: JPC ve JP2 farklı bit derinliğinde bileşenler içerebilirler. Bu durumda, "bits" değeri saptanan en büyük bit derinliğidir. Ayrıca JP2 dosyaları çok sayıda JPEG 2000 kod akımı içerebilir. Bu durumda, getimagesize() işlevi, dosyanın başlığında saptadığı ilk kod akımının değerleriyle döner.

Bilginize: Simge (icon) görüntüleri hakkında bilgi en yüksek bit derinliğine sahip simgeden elde edilir.

Bilginize: GIF görüntüleri her çerçevenin görüntünün yalnızca bir bölümünü içerdiği çok sayıda çerçeveden oluşabilir. getimagesize() tarafından bildirilen görüntünün boyutu toplam boyuttur (mantıksal ekran tanıtıcısından okunur).

Bağımsız Değişkenler

dosyaismi

Hakkında bilgi döndürülecek görüntüyü içeren dosyanın yolu. Burada bir yerel dosya belirtilebileceği gibi (yapılandırma izin veriyorsa) desteklenen akımlardan biri kullanılarak uzak bir dosya da belirtilebilir.

ekbilgi

İsteğe bağlı bu bağımsız değişken ile görüntü dosyası hakkında bazı ek bilgiler edinilebilir. Şimdilik, bir ilişkisel dizi olarak farklı JPG APP imleyicileri döndürülmektedir. Bazı programlar bu APP imleyicilerini görüntüye metin bilgisini gömmek için kullanırlar. En çok uygulananı APP13 imleyicisindeki » IPTC bilgisini gömmektir. İkil APP13 imleyicisini okunabilir hale dönüştürebilmek için iptcparse() işlevini kullanabilirsiniz.

Bilginize:

ekbilgi sadece JFIF dosyalarını destekler.

Dönen Değerler

En fazla 7 elemanlı bir dizi ile döner. Bazı görüntü türleri channels ve bits elemanlarını içermeyebilir.

0 ve 1 indisleri sırayla görüntünün genişliğini ve yüksekliğini içerir.

Bilginize:

Bazı biçemler hiç görüntü içermeyeceği gibi bazıları da birden fazla görüntü içerebilir. Bu gibi durumlarda, getimagesize() görüntü boyutlarını doğru olarak saptayamayabilir ve bu durumda boyutları 0 olarak döndürür.

2 indisinde görüntünün türünü belirtmek üzere IMAGETYPE_XXX sabitlerinden biri bulunur.

3 indisinde doğrudan IMG etiketinin öznitelikleri olarak kullanılabilecek şekilde, height="yyy" width="xxx" dizgesi bulunur.

mime indisinde görüntünün MIME türü bulunur. Bu dizge HTTP Content-type başlığında kullanılır:

Örnek 1 - getimagesize() ve MIME türleri

<?php
$boyutlar = getimagesize($filename);
$dt = fopen($filename, "rb");
if ($boyutlar && $dt) {
header("Content-type: {$boyutlar['mime']}");
fpassthru($dt);
exit;
} else {
// hata
}
?>

channels indisinde RGB görüntüler için 3, CMYK görüntüler için 4 değeri bulunur.

bits indisinde renk bit sayısı bulunur.

Bazı görüntü türleri için channels ve bits değerlerinin varlığı biraz kafa karıştırıcıdır. Örneğin, GIF daima piksel başına 3 kanal kullanır fakat genel bir renk tablosuna sahip canlandırmalı bir GIF için piksel başına bit sayısı hesaplanamaz.

Başarısızlık halinde false döner.

Hatalar/İstisnalar

dosyaismi görüntüsüne erişmek imkansızsa getimagesize() E_WARNING seviyesinde bir hata üretir. Okuma hatasında ise E_NOTICE seviyesinde bir hata üretir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Artık görüntünün boyutları, bitleri ve AVIF görüntü kanalları dönüyor; evvelce boyutlar için 0x0 döndürülür, bitler ve kanallarla ilgili bir dönüş olmazdı.
7.1.0 | WebP desteği eklendi

Örnekler

Örnek 2 - getimagesize() dosya örneği

<?php
list($width, $height, $type, $attr) = getimagesize("img/flag.jpg");
echo "<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() örneği\" />";
?>

Örnek 3 - getimagesize (URL)

<?php
$size = getimagesize("http://www.example.com/gifs/logo.gif");

// Dosya ismi boşluk karakteri içeriyorsa düzgün şekilde kodlamak gerekir
$size = getimagesize("http://www.example.com/gifs/lo%20go.gif");

?>

Örnek 4 - IPTC döndüren getimagesize() örneği

<?php
$size = getimagesize("testimg.jpg", $info);
if (isset($info["APP13"])) {
$iptc = iptcparse($info["APP13"]);
var_dump($iptc);
}
?>

Notlar

Bilginize:

Bu işlev için GD görüntü kütüphanesi gerekli değildir.

Ayrıca Bakınız

  • image_type_to_mime_type() - getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür
  • exif_imagetype() - Bir görüntünün türünü saptar
  • exif_read_data() - Bir görüntü dosyasından EXIF başlıklarını okur
  • exif_thumbnail() - Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür
  • imagesx() - Görüntünün genişliğini döndürür
  • imagesy() - Görüntünün yüksekliğini döndürür


Dizgedeki görüntünün boyutunu döndürür

  • « getimagesize
  • image_type_to_extension »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Dizgedeki görüntünün boyutunu döndürür

getimagesizefromstring

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

getimagesizefromstring — Dizgedeki görüntünün boyutunu döndürür

Açıklama

getimagesizefromstring(string $dizge, array &$görüntü_bilgisi = null): array|false

İlk bağımsız değişken olarak dosya ismi yerine bir dizge kabul etmesi dışında getimagesize() işlevi gibidir.

İşlevin nasıl çalıştığı hakkında bilgi için getimagesize() belgesine bakılabilir.

Bağımsız Değişkenler

dizge

Dizge olarak görüntü bilgisi.

görüntü_bilgisi

Bkz: getimagesize()

Dönen Değerler

Bkz: getimagesize()

Örnekler

Örnek 1 - getimagesizefromstring() örneği

<?php
$img = '/path/to/test.png';

// bir dosya olarak aç
$size_info1 = getimagesize($img);

// Bir dizge olarak aç
$data = file_get_contents($img);
$size_info2 = getimagesizefromstring($data);
?>

Ayrıca Bakınız

  • getimagesize() - Bir görüntünün boyutlarını döndürür


Resim türü ile ilgili dosya uzantısını döndürür

  • « getimagesizefromstring
  • image_type_to_mime_type »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Resim türü ile ilgili dosya uzantısını döndürür

image_type_to_extension

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

image_type_to_extension — Resim türü ile ilgili dosya uzantısını döndürür

Açıklama

image_type_to_extension(int $resim_türü, bool $noktalı = true): string|false

IMAGETYPE_XXX sabiti ile ilgili dosya uzantısını döndürür.

Bağımsız Değişkenler

resim_türü

IMAGETYPE_XXX sabitlerinden biri.

notkalı

Uzantıya bir nokta eklenip eklenmeyeceği belirtilir. true öntanımlıdır.

Dönen Değerler

Belirtilen resim türü ile ilgili dosya uzantısını bir dizge olarak döndürür, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - image_type_to_extension() örneği

<?php
// Boş bir resim oluşturalım
$resim = imagecreatetruecolor(100, 100);

// Resmi kaydedelim
imagepng($resim, './dnm' . image_type_to_extension(IMAGETYPE_PNG));
imagedestroy($resim);
?>

Notlar

Bilginize:

Bu işlev için GD görüntü kütüphanesi gerekli değildir.


getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür

  • « image_type_to_extension
  • image2wbmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür

image_type_to_mime_type

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

image_type_to_mime_type — getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür

Açıklama

image_type_to_mime_type(int $resim_türü): string

image_type_to_mime_type() işlevi belirtilen IMAGETYPE_XXX sabiti ile ilişkili MIME türünü döndürür.

Bağımsız Değişkenler

resim_türü

IMAGETYPE_XXX sabitlerinden biri.

Dönen Değerler

Dönen değer şunlardan biri olabilir:

Sabitlere göre dönen değerler
resimtürü | Dönen değer
IMAGETYPE_GIF | image/gif
IMAGETYPE_JPEG | image/jpeg
IMAGETYPE_PNG | image/png
IMAGETYPE_SWF | application/x-shockwave-flash
IMAGETYPE_PSD | image/psd
IMAGETYPE_BMP | image/bmp
IMAGETYPE_TIFF_II (intel bayt sırası) | image/tiff
IMAGETYPE_TIFF_MM (motorola bayt sırası) | image/tiff
IMAGETYPE_JPC | application/octet-stream
IMAGETYPE_JP2 | image/jp2
IMAGETYPE_JPX | application/octet-stream
IMAGETYPE_JB2 | application/octet-stream
IMAGETYPE_SWC | application/x-shockwave-flash
IMAGETYPE_IFF | image/iff
IMAGETYPE_WBMP | image/vnd.wap.wbmp
IMAGETYPE_XBM | image/xbm
IMAGETYPE_ICO | image/vnd.microsoft.icon
IMAGETYPE_WEBP | image/webp

Örnekler

Örnek 1 - image_type_to_mime_type() örneği

<?php
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));
?>

Notlar

Bilginize:

Bu işlev için GD görüntü kütüphanesi gerekli değildir.

Ayrıca Bakınız

  • getimagesize() - Bir görüntünün boyutlarını döndürür
  • exif_imagetype() - Bir görüntünün türünü saptar
  • exif_read_data() - Bir görüntü dosyasından EXIF başlıklarını okur
  • exif_thumbnail() - Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür


Görüntüyü tarayıcıya veya dosyaya yazar.

  • « image_type_to_mime_type
  • imageaffine »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü tarayıcıya veya dosyaya yazar.

image2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

image2wbmp — Görüntüyü tarayıcıya veya dosyaya yazar.

Uyarı

Bu işlevin kullanımı PHP 7.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

image2wbmp(resource $görüntü, string $dosyaismi = ?, int $önalan = ?): bool

image2wbmp() işlevi belirtilen görüntünün WBMP sürümünü tarayıcıya veya belirtilmişse dosyaismi dosyasına çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi görüntü oluşturma işlevlerinden dönen görüntü özkaynağı.

dosyaismi

Görüntünün kaydedileceği dosyanın yolu. Verilmezse ham görüntü akımı doğrudan tarayıcıya gönderilir.

önalan

imagecolorallocate() işlevinden elde edilen bir tanıtıcıyı atayarak bu bağımsız değişken ile önalan rengini atayabilirsiniz. Öntanımlı önalan rengi siyahtır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Örnekler

Örnek 1 - image2wbmp() örneği

<?php
$file = 'php.png';
$image = imagecreatefrompng($file);

header('Content-Type: ' . image_type_to_mime_type(IMAGETYPE_WBMP));
image2wbmp($image); // doğrudan akımı çıktılıyoruz
imagedestroy($image);
?>

Ayrıca Bakınız

  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.


İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür

  • « image2wbmp
  • imageaffinematrixconcat »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür

imageaffine

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffine — İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür

Açıklama

imageaffine(GdImage $görüntü, array $ilgin, ?array $kırpma_bölgesi = null): GdImage|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

ilgin

0'dan 5'e kadar anahtarlı dizi.

kırpma_bölgesi

"x", "y", "width" ve "height" anahtarlı dizi veya null.

Dönen Değerler

Başarı durumunda ilgin dönüşümlü görüntü, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kırpma_bölgesi artık null olabiliyor.
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi.


İki ilgin dönüşüm matrisini birleştirir

  • « imageaffine
  • imageaffinematrixget »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İki ilgin dönüşüm matrisini birleştirir

imageaffinematrixconcat

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffinematrixconcat — İki ilgin dönüşüm matrisini birleştirir

Açıklama

imageaffinematrixconcat(array $matris1, array $matris2): array|false

Aynı görüntüye bir defada çok sayıda dönüşüm uygulayabilecek iki ilgin dönüşüm matrisinin birleşimini döndürür.

Bağımsız Değişkenler

matris1

1. ilgin dönüşüm matrisi (0'dan 5'e kadar anahtarlı, kayan noktalı değerler içeren bir dizi).

matris2

2. ilgin dönüşüm matrisi (0'dan 5'e kadar anahtarlı, kayan noktalı değerler içeren bir dizi).

Dönen Değerler

Başarı durumunda ilgin dönüşüm matrisi (0'dan 5'e kadar anahtarlı, kayan noktalı değerler içeren bir dizi), başarısızlık durumunda false döner.

Örnekler

Örnek 1 - imageaffinematrixconcat() örneği

<?php
$m1 = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' => 2, 'y' => 3));
$m2 = imageaffinematrixget(IMG_AFFINE_SCALE, array('x' => 4, 'y' => 5));
$matrix = imageaffinematrixconcat($m1, $m2);
print_r($matrix);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 4
    [1] => 0
    [2] => 0
    [3] => 5
    [4] => 8
    [5] => 15
)

Ayrıca Bakınız

  • imageaffine() - İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür
  • imageaffinematrixget() - İlgin dönüşüm matrisini döndürür


İlgin dönüşüm matrisini döndürür

  • « imageaffinematrixconcat
  • imagealphablending »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İlgin dönüşüm matrisini döndürür

imageaffinematrixget

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageaffinematrixget — İlgin dönüşüm matrisini döndürür

Açıklama

imageaffinematrixget(int $tür, array|float $seçenekler): array|false

Returns an affine transformation matrix.

Bağımsız Değişkenler

tür

IMG_AFFINE_* sabitlerinden biri.

seçenekler

tür olarak IMG_AFFINE_TRANSLATE veya IMG_AFFINE_SCALE belirtilmişse, seçenekler x ve y anahtarlı, float türünde değerler içeren bir dizi olmalıdır.

tür olarak IMG_AFFINE_ROTATE, IMG_AFFINE_SHEAR_HORIZONTAL veya IMG_AFFINE_SHEAR_VERTICAL belirtilmişse, seçenekler açı belirten float türünde bir değer olmalıdır.

Dönen Değerler

Başarı durumunda ilgin dönüşüm matrisi (0'dan 5'e kadar anahtarlı, kayan noktalı değerler içeren bir dizi), başarısızlık durumunda false döner.

Örnekler

Örnek 1 - imageaffinematrixget() örneği

<?php
$matrix = imageaffinematrixget(IMG_AFFINE_TRANSLATE, array('x' => 2, 'y' => 3));
print_r($matrix);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 1
    [1] => 0
    [2] => 0
    [3] => 1
    [4] => 2
    [5] => 3
)

Ayrıca Bakınız

  • imageaffine() - İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür
  • imageaffinematrixconcat() - İki ilgin dönüşüm matrisini birleştirir


Bir görüntü için harmanlama kipini etkinleştirir

  • « imageaffinematrixget
  • imageantialias »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntü için harmanlama kipini etkinleştirir

imagealphablending

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagealphablending — Bir görüntü için harmanlama kipini etkinleştirir

Açıklama

imagealphablending(GdImage $görüntü, bool $etkin): bool

imagealphablending() gerçek renkli görüntülerde iki farklı çizim kipi kullanımına izin verir. Harmanlama kipinde, tüm çizim işlevlerine rengin alfa kanalı bileşeni sağlanır, örneğin imagesetpixel() işlevi o rengin ne kadar parlak gösterileceğini belirleyebilir. Sonuç olarak GD otomatik olarak, rengin çizilmesi sırasında mevcut rengin harmanlanmasını sağlar ve sonucu görüntüde saklar. Elde edilen piksel mattır. Harmanlamama kipinde alfa kanalı bilgisi piksel çizim rengine aynen kopyalanır. Harmanlama kipi paletli görüntüler için kullanılamaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

etkin

Harmanlama kipinin etkin olup olmayacağı; gerçek renkli görüntüler için true, aksi takdirde false öntanımlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagealphablending() örneği

<?php
// Bir görüntü oluştur
$im = imagecreatetruecolor(100, 100);

// Alfa harmanlamasını etkin kıl
imagealphablending($im, true);

// Bir kare çiz
imagefilledrectangle($im, 30, 30, 70, 70, imagecolorallocate($im, 255, 0, 0));

// Sonucu çıktıla
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>


Kenar yumuşatma işlevlerini uygulatır

  • « imagealphablending
  • imagearc »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kenar yumuşatma işlevlerini uygulatır

imageantialias

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imageantialias — Kenar yumuşatma işlevlerini uygulatır

Açıklama

imageantialias(GdImage $görüntü, bool $etkin): bool

Hızlı çizilen kenar yumuşatma yöntemlerini çizgiler ve içi boş çokgenler için etkin kılar. Alfa bileşenlerini desteklemez. Doğrudan harmanlama yapar. Sadece gerçek renkli görüntülerle çalışır.

Çizgi kalınlığı ve tarzı desteklenmez.

Kenar yumuşatmalı çizim ilkellerinin şeffaf artalanda kullanılmasının sonuçları belirsizdir. Harmanlama yöntemi çizgi rengiyle artalan rengini harmanlar. Alfa bileşen desteğinin yokluğu nedeniyle alfa kenar yumuşatması yapılamaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

etkin

Kenar yumuşatma uygulanıp uygulanmayacağı; gerçek renkli görüntüler için true, aksi takdirde false öntanımlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
7.2.0 | imageantialias() artık özel bir ilgi gerekmeden kullanılabiliyor. Evvelce, kullanılabilmesi için PHP'nin paketinde gelen GD kütüphanesi ile derlenmesi gerekirdi.

Örnekler

Örnek 1 - Kenar yumuşatmalı çizginin normal çizgiyle karşılaştırılması

<?php
// İki görüntü oluşturalım
$aa = imagecreatetruecolor(400, 100);
$normal = imagecreatetruecolor(200, 100);

// Görüntünün birinde kenar yumuşatma etkin olsun
imageantialias($aa, true);

// Renkleri ayıralım
$red = imagecolorallocate($normal, 255, 0, 0);
$red_aa = imagecolorallocate($aa, 255, 0, 0);

// Görüntülere birer çizgi çizelim
imageline($normal, 0, 0, 200, 100, $red);
imageline($aa, 0, 0, 200, 100, $red_aa);

// İki görüntüyü yanyana bir görüntüye yerleştirelim
// Soldaki kenar yumuşatmalı olsun
imagecopymerge($aa, $normal, 200, 0, 0, 0, 200, 100, 100);

// Görüntüyü çıktılayalım
header('Content-Type: image/png');

imagepng($aa);
imagedestroy($aa);
imagedestroy($normal);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur


Bir yay çizer

  • « imageantialias
  • imageavif »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir yay çizer

imagearc

(PHP 4, PHP 5, PHP 7, PHP 8)

imagearc — Bir yay çizer

Açıklama

imagearc(
GdImage $görüntü,
int $merkez_x,
int $merkez_y,
int $genişlik,
int $yükseklik,
int $ilk_açı,
int $son_açı,
int $renk
): bool

imagearc() işlevi koordinatları belirtilen çemberin bir yayını çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

merkez_x

Merkezin X konumu.

merkez_y

Merkezin Y konumu.

genişlik

Yay genişliği.

yükseklik

Yay yüksekliği.

ilk_açı

Derece cinsinden yayın başlangıç açısı.

son_açı

Derece cinsinden yayın bitiş açısı. 0° saat 3 konumu olup yay saat yönünde çizilir.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagearc() ile çember çizmek

<?php

// 200*200 bir görüntü oluşturalım
$img = imagecreatetruecolor(200, 200);

// Bir kaç renk ayıralım
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
$green = imagecolorallocate($img, 0, 255, 0);
$blue = imagecolorallocate($img, 0, 0, 255);

// kafayı çizelim
imagearc($img, 100, 100, 200, 200, 0, 360, $white);
// ağız
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// gözler
imagearc($img, 60, 75, 50, 50, 0, 360, $green);
imagearc($img, 140, 75, 50, 50, 0, 360, $blue);

// Görüntüyü tarayıcıya gönderelim
header("Content-type: image/png");
imagepng($img);

// Belleği serbest bırakalım
imagedestroy($img);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: imagearc() ile çember çizmek

Ayrıca Bakınız

  • imagefilledarc() - Bir yay çizer ve içini doldurur
  • imageellipse() - Bir elips çizer
  • imagefilledellipse() - İçi dolu bir elips çizer


Görüntüyü tarayıcıya veya dosyaya yazar.

  • « imagearc
  • imagebmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü tarayıcıya veya dosyaya yazar.

imageavif

(PHP 8 >= 8.1.0)

imageavif — Görüntüyü tarayıcıya veya dosyaya yazar.

Açıklama

imageavif(
GdImage $image,
resource|string|null $file = null,
int $quality = -1,
int $speed = -1
): bool

Outputs or saves a AVIF Raster image from the given image.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

file

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

quality

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, larger file). If -1 is provided, the default value 30 is used.

speed

speed is optional, and ranges from 0 (slow, smaller file) to 10 (fast, larger file). If -1 is provided, the default value 6 is used.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Ayrıca Bakınız

  • imagepng() - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagejpeg() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür


BMP görüntüyü tarayıcıya veya dosyaya çıktılar

  • « imageavif
  • imagechar »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • BMP görüntüyü tarayıcıya veya dosyaya çıktılar

imagebmp

(PHP 7 >= 7.2.0, PHP 8)

imagebmp — BMP görüntüyü tarayıcıya veya dosyaya çıktılar

Açıklama

imagebmp(GdImage $görüntü, resource|string|null $dosya = null, bool $sıkıştır = true): bool

Belirtilen görüntünün BMP sürümünü kaydeder veya çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

Bilginize:

sıkıştırılmış bağımsız değişkeni belirtilmemişse null değeri geçersizdir.

sıkıştır

BMP'nin çalışma uzunluğu kodlaması (RLE) ile sıkıştırılıp sıkıştırılmayacağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | sıkıştır artık mantıksal bir değer; evvelce bir tamsayı idi.

Örnekler

Örnek 1 - BMP dosyası kaydı

<?php
// Boş bir görüntü oluştur ve bir metin ekle
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5, 'BMP with PHP', $text_color);

// Görüntüyü kaydet
imagebmp($im, 'php.bmp');

// Belleği serbest bırak
imagedestroy($im);
?>


Yatay olarak bir karakter çizer

  • « imagebmp
  • imagecharup »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yatay olarak bir karakter çizer

imagechar

(PHP 4, PHP 5, PHP 7, PHP 8)

imagechar — Yatay olarak bir karakter çizer

Açıklama

imagechar(
GdImage $görüntü,
GdFont|int $yazıtipi,
int $x,
int $y,
string $karakter,
int $renk
): bool

imagechar() işlevi karakter dizgesinin ilk karakterini görüntü ile belirtilen görüntünün üst sol x,y konumuna (görüntünün üst sol köşesi 0,0'dır) renk renginde çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

x

Başlangıç X koordinatı.

y

Başlangıç Y koordinatı.

karakter

Çizilecek karakter.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagechar() örneği

<?php

$im = imagecreate(100, 100);

$dizge = 'PHP';

$artalan = imagecolorallocate($im, 255, 255, 255);
$siyah = imagecolorallocate($im, 0, 0, 0);

// Üst sol köşeye siyah bir "P" basalım
imagechar($im, 1, 0, 0, $dizge, $siyah);

header('Content-type: image/png');
imagepng($im);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: imagechar()

Ayrıca Bakınız

  • imagecharup() - Düşey olarak bir karakter çizer
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler


Düşey olarak bir karakter çizer

  • « imagechar
  • imagecolorallocate »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Düşey olarak bir karakter çizer

imagecharup

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecharup — Düşey olarak bir karakter çizer

Açıklama

imagecharup(
GdImage $görüntü,
GdFont|int $yazıtipi,
int $x,
int $y,
string $c,
int $color
): bool

imagecharup() işlevi karakter dizgesinin ilk karakterini resim ile belirtilen görüntünün üst sol x,y konumuna (görüntünün üst sol köşesi 0,0'dır) renk renginde aşağıdan yukarıya doğru dikine çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

x

Başlangıç X koordinatı.

y

Başlangıç Y koordinatı.

karakter

Çizilecek karakter.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecharup() örneği

<?php

$im = imagecreate(100, 100);

$string = 'Neden ilk harf Z olmasın';

$bg = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// Beyaz artalana siyah bir "Z" basalım
imagecharup($im, 3, 10, 10, $string, $black);

header('Content-type: image/png');
imagepng($im);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: imagecharup()

Ayrıca Bakınız

  • imagechar() - Yatay olarak bir karakter çizer
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler


Bir görüntü için bir renk ayırır

  • « imagecharup
  • imagecolorallocatealpha »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntü için bir renk ayırır

imagecolorallocate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorallocate — Bir görüntü için bir renk ayırır

Açıklama

imagecolorallocate(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi
): int|false

Belirtilen renk bileşenleriyle oluşturulan renk için bir renk tanıtıcısı döndürür.

imagecolorallocate() işlevi görüntü'de bulunan her renk için ayrı ayrı çağırmalıdır.

Bilginize:

İlk imagecolorallocate() çağrısı, imagecreate() ile oluşturulmuş paletli görüntünün artalanını boyar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Renk ayrılamamışsa false, aksi takdirde renk inidisi ile döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorallocate() örneği

<?php

$im = imagecreate(100, 100);

// Artalan rengi kırmızı olsun
$artalan = imagecolorallocate($im, 255, 0, 0);

// Bir kaç renk ayıralım
$beyaz = imagecolorallocate($im, 255, 255, 255);
$siyah = imagecolorallocate($im, 0, 0, 0);

// Onaltılık değerlerle
$beyaz = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$siyah = imagecolorallocate($im, 0x00, 0x00, 0x00);

?>

Ayrıca Bakınız

  • imagecolorallocatealpha() - Bir görüntü için alfa kanallı bir renk ayırır
  • imagecolordeallocate() - Bir rengi tanımsız yapar


Bir görüntü için alfa kanallı bir renk ayırır

  • « imagecolorallocate
  • imagecolorat »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntü için alfa kanallı bir renk ayırır

imagecolorallocatealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imagecolorallocatealpha — Bir görüntü için alfa kanallı bir renk ayırır

Açıklama

imagecolorallocatealpha(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi,
int $alfa
): int|false

imagecolorallocatealpha() işlevi alfa bağımsız değişkeni ile ek olarak şeffaflık belirtilebilmesi dışında imagecolorallocate() işlevine eşdeğerdir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

alfa

0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.

kırmızı, yeşil ve mavi değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Renk ayrılamazsa false, aksi takdirde rengin indisini döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorallocatealpha() örneği

<?php
$size = 300;
$image=imagecreatetruecolor($size, $size);

// Siyah kenar çizgili beyaz artalan
$back = imagecolorallocate($image, 255, 255, 255);
$border = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 0, 0, $size - 1, $size - 1, $back);
imagerectangle($image, 0, 0, $size - 1, $size - 1, $border);

$yellow_x = 100;
$yellow_y = 75;
$red_x = 120;
$red_y = 165;
$blue_x = 187;
$blue_y = 125;
$radius = 150;

// Renkleri alfa değerleriyle ayıralım
$yellow = imagecolorallocatealpha($image, 255, 255, 0, 75);
$red = imagecolorallocatealpha($image, 255, 0, 0, 75);
$blue = imagecolorallocatealpha($image, 0, 0, 255, 75);

// Üst üste üç elips çizelim
imagefilledellipse($image, $yellow_x, $yellow_y, $radius, $radius, $yellow);
imagefilledellipse($image, $red_x, $red_y, $radius, $radius, $red);
imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);

// Başlığı çıktılamayı unutmuyoruz!
header('Content-Type: image/png');

// ve sonucu çıktılıyoruz
imagepng($image);
imagedestroy($image);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagecolorallocatealpha() kullanım örneği

Örnek 2 - imagecolorallocatealpha() ile kullanmak için alfa değerlerini dönüştürmek

Genelde 0'lık alfa değerleri tamamen şeffaf pikselleri belirtir ve alfa kanalının 8 biti vardır. Bu tür alfa değerlerini imagecolorallocatealpha() ile uyumlu olacak şekilde dönüştürmek için basit aritmetik yeterlidir:

<?php
$alpha8 = 0; // tamamen şeffaf
var_dump(127 - ($alpha8 >> 1));
$alpha8 = 255; // tamamen mat
var_dump(127 - ($alpha8 >> 1));
?>

Yukarıdaki örneğin çıktısı:

int(127)
int(0)

Ayrıca Bakınız

  • imagecolorallocate() - Bir görüntü için bir renk ayırır
  • imagecolordeallocate() - Bir rengi tanımsız yapar


Bir pikselin renk indisini döndürür

  • « imagecolorallocatealpha
  • imagecolorclosest »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir pikselin renk indisini döndürür

imagecolorat

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorat — Bir pikselin renk indisini döndürür

Açıklama

imagecolorat(GdImage $görüntü, int $x, int $y): int|false

görüntü ile belirtilen resmin belirtilen koordinatlardaki pikselinin renk indisini döndürür.

PHP, görüntü gerçek renkliyse bu işlev pikselin RGB değerini bir tamsayı olarak döndürür. Kırmızı, yeşil ve mavi bileşenlerin değerlerini elde etmek için bu değere bit maskesi ve bit kaydırma uygulamak gerekir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x

Pikselin X konumu.

y

Pikselin Y konumu.

Dönen Değerler

Renk indisini döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Hesapla RGB değeri bileşenlerine ayırmak

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(119)
int(123)
int(180)

Örnek 2 - imagecolorsforindex() ile RGB değeri bileşenlerine ayırmak

<?php
$im = imagecreatefrompng("php.png");
$rgb = imagecolorat($im, 10, 15);

$colors = imagecolorsforindex($im, $rgb);

var_dump($colors);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(4) {
  ["red"]=>
  int(119)
  ["green"]=>
  int(123)
  ["blue"]=>
  int(180)
  ["alpha"]=>
  int(127)
}

Ayrıca Bakınız

  • imagecolorset() - Bir palet indisi için renk tanımlar
  • imagecolorsforindex() - Bir renk indisinin renk bilgisini döndürür
  • imagesetpixel() - Bir pikselin rengini değiştirir


Belirtilen rengin en yakın benzerinin indisini döndürür

  • « imagecolorat
  • imagecolorclosestalpha »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belirtilen rengin en yakın benzerinin indisini döndürür

imagecolorclosest

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorclosest — Belirtilen rengin en yakın benzerinin indisini döndürür

Açıklama

imagecolorclosest(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi
): int

Bu işlev, bileşenleri belirtilen rengin en yakın benzerinin indisini döndürür.

İstenen renk ile paletteki renk arasındaki "mesafe" rengin bileşenlerinden oluşan üç boyutlu uzayda hesaplanır.

Görüntüyü bir dosyadan oluşturursanız sadece Görüntüde kullanılan renkler çözümlenir. Renklerin sadece bir palette bulunması durumunda bu çözümleme yapılmaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Paletteki en yakın rengin indisi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir görüntüde renk aramak

<?php
// Bir görüntü açıp paletli görüntüye dönüştürelim
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Aranacak renkler (RGB)
$colors = array(
array(254, 145, 154),
array(153, 145, 188),
array(153, 90, 145),
array(255, 137, 92)
);

// Renkleri bulmak için bir döngü kuralım.
// En yakın rengin indisini alıp o indisin rengini öğrenelim
foreach($colors as $id => $rgb)
{
$res = imagecolorclosest($im, $rgb[0], $rgb[1], $rgb[2]);
$res = imagecolorsforindex($im, $res);
$res = "({$res['red']}, {$res['green']}, {$res['blue']}, {$res['alpha']})";

echo "#$id: Aranan ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); En yakın $res.\n";
}

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

#0: Aranan (254, 145, 154); En yakın (252, 150, 148).
#1: Aranan (153, 145, 188); En yakın (148, 150, 196).
#2: Aranan (153, 90, 145); En yakın (148, 90, 156).
#3: Aranan (255, 137, 92); En yakın (252, 150, 92).

Ayrıca Bakınız

  • imagecolorexact() - Belirtilen rengin indisini döndürür
  • imagecolorclosestalpha() - Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir
  • imagecolorclosesthwb() - En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir


Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir

  • « imagecolorclosest
  • imagecolorclosesthwb »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir

imagecolorclosestalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorclosestalpha — Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir

Açıklama

imagecolorclosestalpha(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi,
int $alfa
): int

Bu işlev, alfası ile birlikte belirtilen rengin paletli görüntüdeki en yakın benzerinin indisini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

alfa

0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Paletteki en yakın rengin indisi döner.

Örnekler

Örnek 1 - Bir görüntüde renk aramak

<?php
// Bir görüntü açıp paletli resme dönüştürelim
$im = imagecreatefrompng('figures/imagecolorclosest.png');
imagetruecolortopalette($im, false, 255);

// Aranacak renkler (RGB)
$colors = array(
array(254, 145, 154, 50),
array(153, 145, 188, 127),
array(153, 90, 145, 0),
array(255, 137, 92, 84)
);

// Renkleri bulmak için bir döngü kuralım.
// En yakın rengin indisini alıp o indisin rengini öğrenelim
foreach($colors as $id => $rgb)
{
$res = imagecolorclosestalpha($im, $rgb[0], $rgb[1], $rgb[2], $rgb[3]);
$res = imagecolorsforindex($im, $res);
$res = "({$res['red']}, {$res['green']}, {$res['blue']}, {$res['alpha']})";

echo "#$id: Aranan ($rgb[0], $rgb[1], $rgb[2], $rgb[3]); En yakın $res.\n";
}

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

#0: Aranan (254, 145, 154, 50); En yakın (252, 150, 148, 0).
#1: Aranan (153, 145, 188, 127); En yakın (148, 150, 196, 0).
#2: Aranan (153, 90, 145, 0); En yakın (148, 90, 156, 0).
#3: Aranan (255, 137, 92, 84); En yakın (252, 150, 92, 0).

Ayrıca Bakınız

  • imagecolorexactalpha() - Alfası ile birlikte belirtilen rengin indisini verir
  • imagecolorclosest() - Belirtilen rengin en yakın benzerinin indisini döndürür
  • imagecolorclosesthwb() - En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir


En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir

  • « imagecolorclosestalpha
  • imagecolordeallocate »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir

imagecolorclosesthwb

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecolorclosesthwb — En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir

Açıklama

imagecolorclosesthwb(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi
): int

Belirtilen resimdeki belirtilen renge en yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

Dönen Değerler

En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorclosesthwb() örneği

<?php
$im = imagecreatefromgif('php.gif');

echo 'HWB: ' . imagecolorclosesthwb($im, 116, 115, 152);

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

HWB: 33

Ayrıca Bakınız

  • imagecolorclosest() - Belirtilen rengin en yakın benzerinin indisini döndürür


Bir rengi tanımsız yapar

  • « imagecolorclosesthwb
  • imagecolorexact »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir rengi tanımsız yapar

imagecolordeallocate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolordeallocate — Bir rengi tanımsız yapar

Açıklama

imagecolordeallocate(GdImage $görüntü, int $renk): bool

imagecolorallocate() veya imagecolorallocatealpha() ile tanımlanmış bir rengin tanıtıcısını siler.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

renk

Renk tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolordeallocate() örneği

<?php
$beyaz = imagecolorallocate($im, 255, 255, 255);
imagecolordeallocate($im, $beyaz);
?>

Ayrıca Bakınız

  • imagecolorallocate() - Bir görüntü için bir renk ayırır
  • imagecolorallocatealpha() - Bir görüntü için alfa kanallı bir renk ayırır


Belirtilen rengin indisini döndürür

  • « imagecolordeallocate
  • imagecolorexactalpha »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belirtilen rengin indisini döndürür

imagecolorexact

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorexact — Belirtilen rengin indisini döndürür

Açıklama

imagecolorexact(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi
): int

Paletli bir görüntüden belirtilen rengin indisini döndürür.

Görüntüyü bir dosyadan oluşturursanız sadece Görüntüde kullanılan renkler çözümlenir. Renklerin sadece bir palette bulunması durumunda bu çözümleme yapılmaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

Dönen Değerler

Renk palette mevcut değilse -1, aksi takdirde rengin indisini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - GD logosunun renklerini öğrenelim

<?php
// Görüntüyü belirtelim
$im = imagecreatefrompng('./gdlogo.png');

$colors = Array();
$colors[] = imagecolorexact($im, 255, 0, 0);
$colors[] = imagecolorexact($im, 0, 0, 0);
$colors[] = imagecolorexact($im, 255, 255, 255);
$colors[] = imagecolorexact($im, 100, 255, 52);

print_r($colors);

// Belleği serbest bırakalım
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 16711680
    [1] => 0
    [2] => 16777215
    [3] => 6618932
)

Ayrıca Bakınız

  • imagecolorclosest() - Belirtilen rengin en yakın benzerinin indisini döndürür


Alfası ile birlikte belirtilen rengin indisini verir

  • « imagecolorexact
  • imagecolormatch »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Alfası ile birlikte belirtilen rengin indisini verir

imagecolorexactalpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorexactalpha — Alfası ile birlikte belirtilen rengin indisini verir

Açıklama

imagecolorexactalpha(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi,
int $alfa
): int

Bu işlev, alfası ile birlikte belirtilen rengin paletli görüntüdeki en yakın benzerinin indisini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

alfa

0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Renk palette mevcut değilse -1, aksi takdirde rengin indisini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - GD logosunun renklerini öğrenelim

<?php

// Görüntüyü belirtelim
$im = imagecreatefrompng('./gdlogo.png');

$colors = Array();
$colors[] = imagecolorexactalpha($im, 255, 0, 0, 0);
$colors[] = imagecolorexactalpha($im, 0, 0, 0, 127);
$colors[] = imagecolorexactalpha($im, 255, 255, 255, 55);
$colors[] = imagecolorexactalpha($im, 100, 255, 52, 20);

print_r($colors);

// Belleği serbest bırakalım
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 16711680
    [1] => 2130706432
    [2] => 939524095
    [3] => 342163252
)

Ayrıca Bakınız

  • imagecolorclosestalpha() - Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir


Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar

  • « imagecolorexactalpha
  • imagecolorresolve »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar

imagecolormatch

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagecolormatch — Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar

Açıklama

imagecolormatch(GdImage $görüntü1, GdImage $görüntü2): bool

Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar.

Bağımsız Değişkenler

görüntü1

Gerçek renkli görüntü nesnesi.

görüntü2

Renkleri görüntü1 ile aynı yapılacak görüntü nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü1 ve görüntü2 artık GdImage örneği; evvelce, resource türünde bir değer kabul edilirdi.

Örnekler

Örnek 1 - imagecolormatch() örneği

<?php
// Gerçek renkli ve paletli görüntüleri belirtelim
$im1 = imagecreatefrompng('./gdlogo.png');
$im2 = imagecreate(imagesx($im1), imagesy($im1));

// $im2'ye bir kaç renk ekleyelim
$colors = Array();
$colors[] = imagecolorallocate($im2, 255, 36, 74);
$colors[] = imagecolorallocate($im2, 40, 0, 240);
$colors[] = imagecolorallocate($im2, 82, 100, 255);
$colors[] = imagecolorallocate($im2, 84, 63, 44);

// Bu renkleri gerçek renkli görüntüden güncelleyelim
imagecolormatch($im1, $im2);

// Belleği serbest bırakalım
imagedestroy($im1);
imagedestroy($im2);
?>

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur


Belirtilen rengin veya en yakın benzerinin indisini döndürür

  • « imagecolormatch
  • imagecolorresolvealpha »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belirtilen rengin veya en yakın benzerinin indisini döndürür

imagecolorresolve

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorresolve — Belirtilen rengin veya en yakın benzerinin indisini döndürür

Açıklama

imagecolorresolve(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi
): int

Bu işlev, belirtilen rengin kendisinin veya en yakın benzerinin indisini döndürür.

Görüntüyü bir dosyadan oluşturursanız sadece Görüntüde kullanılan renkler çözümlenir. Renklerin sadece bir palette bulunması durumunda bu çözümleme yapılmaz.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

Dönen Değerler

Bir renk indisi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir görüntüdeki renkleri öğrenmek için imagecoloresolve() kullanımı

<?php
// Bir görüntü yükleyelim
$im = imagecreatefromgif('http://docs.php.net/images/php.gif');

// Görüntüden en yakın renkleri alalım
$colors = array();
$colors[] = imagecolorresolve($im, 255, 255, 255, 0);
$colors[] = imagecolorresolve($im, 0, 0, 200, 127);

// Sonucu çıktılayalım
print_r($colors);

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 89
    [1] => 85
)

Ayrıca Bakınız

  • imagecolorclosest() - Belirtilen rengin en yakın benzerinin indisini döndürür


Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir

  • « imagecolorresolve
  • imagecolorset »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir

imagecolorresolvealpha

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecolorresolvealpha — Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir

Açıklama

imagecolorresolvealpha(
GdImage $görüntü,
int $kırmızı,
int $yeşil,
int $mavi,
int $alfa
): int

Bu işlev, alfası ile birlikte belirtilen rengin kendisinin veya en yakın benzerinin indisini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

alfa

0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.

Renk bileşenlerinin değerleri onluk tabanda 0-255 aralığında, onaltılık tabanda 0x00-0xFF aralığında belirtilebilir.

Dönen Değerler

Bir renk indisi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir görüntüdeki renkleri öğrenmek için imagecolorresolvealpha() kullanımı

<?php
// Bir görüntü yükleyelim
$im = imagecreatefromgif('http://docs.php.net/images/php.gif');

// Görüntüden en yakın rengi alalım
$colors = array();
$colors[] = imagecolorresolvealpha($im, 255, 255, 255, 0);
$colors[] = imagecolorresolvealpha($im, 0, 0, 200, 127);

// Output
print_r($colors);

imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 89
    [1] => 85
)

Ayrıca Bakınız

  • imagecolorclosestalpha() - Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir


Bir palet indisi için renk tanımlar

  • « imagecolorresolvealpha
  • imagecolorsforindex »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir palet indisi için renk tanımlar

imagecolorset

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorset — Bir palet indisi için renk tanımlar

Açıklama

imagecolorset(
GdImage $görüntü,
int $indis,
int $kırmızı,
int $yeşil,
int $mavi,
int $alfa = 0
): ?false

Belirtilen palet indisine belirtilen rengi tanımlar. Bir paletli görüntünün renklerini boyama işlevlerini kullanmadan değiştirmek için yararlıdır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

indis

Palet içinde bir indis.

kırmızı

Kırmızı bileşenin değeri.

yeşil

Yeşil bileşenin değeri.

mavi

Mavi bileşenin değeri.

alpha

Alfa bileşeninin değeri.

Dönen Değerler

Başarı durumunda null, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorset() örneği

<?php
// 300x100 bir görüntü oluşturalım
$im = imagecreate(300, 100);

// Artalan rengi kırmızı olsun
imagecolorallocate($im, 255, 0, 0);

// Artalan renginin indisini alalım
$bg = imagecolorat($im, 0, 0);

// Artalan rengini mavi yapalım
imagecolorset($im, $bg, 0, 0, 255);

// Görüntüyü tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagecolorat() - Bir pikselin renk indisini döndürür


Bir renk indisinin renk bilgisini döndürür

  • « imagecolorset
  • imagecolorstotal »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir renk indisinin renk bilgisini döndürür

imagecolorsforindex

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorsforindex — Bir renk indisinin renk bilgisini döndürür

Açıklama

imagecolorsforindex(GdImage $görüntü, int $renk): array

İndisi belirtilen rengi döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

renk

Renk indisi.

Dönen Değerler

Belirtilen renk indisi ile ilişkili "red", "green", "blue" ve "alpha" (kırmızı, yeşil, mavi ve alfa) anahtarlarını içeren bir ilişkisel dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | imagecolorsforindex() işlevi renk kapsam dışında ise artık ValueError istisnası oluşturuyor; evvelce bu durumda false dönerdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorsforindex() örneği

<?php

// Bir görüntü açalım
$im = imagecreatefrompng('nexen.png');

// Bir noktanın renk indisini alalım
$start_x = 40;
$start_y = 50;
$color_index = imagecolorat($im, $start_x, $start_y);

// Renk bilgisini insan okuyabilir biçeme dönüştürelim
$color_tran = imagecolorsforindex($im, $color_index);

// Sonucu görelim
print_r($color_tran);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
   [red] => 226
   [green] => 222
   [blue] => 252
   [alpha] => 0
)

Ayrıca Bakınız

  • imagecolorat() - Bir pikselin renk indisini döndürür
  • imagecolorexact() - Belirtilen rengin indisini döndürür


Bir görüntü paletindeki renk sayısını döndürür

  • « imagecolorsforindex
  • imagecolortransparent »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntü paletindeki renk sayısını döndürür

imagecolorstotal

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolorstotal — Bir görüntü paletindeki renk sayısını döndürür

Açıklama

imagecolorstotal(GdImage $görüntü): int

Bir görüntü paletindeki renk sayısını döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

Paletli görüntüler için paletteki renk sayısını, gerçek renkli görüntüler için ise 0 döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagecolorstotal() örneği

<?php
// Görüntü dosyasını açalım
$im = imagecreatefromgif('php.gif');

echo 'Görüntüdeki toplam renk sayısı: ' . imagecolorstotal($im);

// Belleği serbest bırakalım
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Görüntüdeki toplam renk sayısı: 128

Ayrıca Bakınız

  • imagecolorat() - Bir pikselin renk indisini döndürür
  • imagecolorsforindex() - Bir renk indisinin renk bilgisini döndürür
  • imageistruecolor() - Bir görüntünün gerçek renkli olup olmadığını bulur


Bir rengi şeffaflaştırır

  • « imagecolorstotal
  • imageconvolution »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir rengi şeffaflaştırır

imagecolortransparent

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecolortransparent — Bir rengi şeffaflaştırır

Açıklama

imagecolortransparent(GdImage $görüntü, ?int $renk = null): int

Belirtilen resimde şeffaf rengi tanımlar veya döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Yeni (none belirtilmişse geçerli olan) şeffaf renk ile döner. renk null ise ve görüntüde şeffaf renk yoksa -1 döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | renk artık null olabiliyor.

Örnekler

Örnek 1 - imagecolortransparent() örneği

<?php
// 55x30 bir görüntü oluşturalım
$im = imagecreatetruecolor(55, 30);
$red = imagecolorallocate($im, 255, 0, 0);
$black = imagecolorallocate($im, 0, 0, 0);

// Artalanı şeffaf yapalım
imagecolortransparent($im, $black);

// Kırmızı bir dökdörtgen çizelim
imagefilledrectangle($im, 4, 4, 50, 25, $red);

// Görüntüyü kaydedelim
imagepng($im, './imagecolortransparent.png');
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

imagecolortransparent() örneğinin çıktısı

Notlar

Bilginize:

Şeffaflık sadece gerçek renkli görüntüler ve imagecopymerge() ile kopyalanır, paletli görüntüler ve imagecopy() ile kopyalanmaz.

Bilginize:

Şeffaflık bir görüntü özelliğidir, bir renk özelliği değildir. Bir rengin şeffaf olmasını isterseniz, görüntünün o bölgesi silinip şeffaf olarak yeniden çizilir.


Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular

  • « imagecolortransparent
  • imagecopy »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular

imageconvolution

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

imageconvolution — Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular

Açıklama

imageconvolution(
GdImage $görüntü,
array $matris,
float $bölen,
float $konum
): bool

Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

matris

Bir 3x3 matris: üç gerçel sayı içeren üç diziden oluşmuş bir dizi.

bölen

Normalleştirme için kullanılan evrişim sonucu böleni.

konum

Renk konumu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - PHP.net logosuna kabartma etkisi vermek

<?php
$image = imagecreatefromgif('http://www.php.net/images/php.gif');

$emboss = array(array(2, 0, 0), array(0, -1, 0), array(0, 0, -1));
imageconvolution($image, $emboss, 1, 127);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Yukarıdaki örneğin çıktısı:

Örnek çıktısı : PHP.net logosunu kabartmak

Örnek 2 - Gauss bulanıklığı

<?php
$image = imagecreatetruecolor(180,40);

// Görüntüye bir yazı yazıp görüntüyü bulanıklaştıralım
imagestring($image, 5, 10, 8, 'Gaussian Blur Text', 0x00ff00);
$gaussian = array(array(1.0, 2.0, 1.0), array(2.0, 4.0, 2.0), array(1.0, 2.0, 1.0));
imageconvolution($image, $gaussian, 16, 0);

// Karşılaştırma için aynı metni tekrar yazalım
imagestring($image, 5, 10, 18, 'Gaussian Blur Text', 0x00ff00);

header('Content-Type: image/png');
imagepng($image, null, 9);
?>

Yukarıdaki örneğin çıktısı:

Örnek çıktısı : Gauss bulanıklığı

Ayrıca Bakınız

  • imagefilter() - Bir görüntüye bir süzgeç uygular


Bir resim parçasını kopyalar

  • « imageconvolution
  • imagecopymerge »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir resim parçasını kopyalar

imagecopy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecopy — Bir resim parçasını kopyalar

Açıklama

imagecopy(
GdImage $hedef,
GdImage $kaynak,
int $hdf_x,
int $hdf_y,
int $kyn_x,
int $kyn_y,
int $kyn_gnş,
int $kyn_yks
): bool

hedef resmin hdf_x, hdf_y noktasına kaynak resmin kyn_x, kyn_y, kyn_gnş ve kyn_yks ile belirlenen parçasını kopyalar.

Bağımsız Değişkenler

hedef

Görüntünün gönderileceği özkaynak.

kaynak

Görüntünün alındığı özkaynak.

hdf_x

Hedef resimdeki X koordinatı.

hdf_y

Hedef resimdeki Y koordinatı.

kyn_x

Kaynak resimdeki X koordinatı.

kyn_x

Kaynak resimdeki Y koordinatı.

kyn_gnş

Kaynak genişliği.

kyn_yks

Kaynak yüksekliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - PHP.net logosunun kırpılması

<?php
// Resim örneklerini oluşturalım
$kaynak = imagecreatefromgif('php.gif');
$hedef = imagecreatetruecolor(80, 40);

// Kopyalayalım
imagecopy($dest, $src, 0, 0, 20, 13, 80, 40);

// Resmi çıktılayıp belleği serbest bırakalım
header('Content-Type: image/gif');
imagegif($hedef);

imagedestroy($hedef);
imagedestroy($kaynak);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP.net logosunun kırpılması örneğinin çıktısı

Ayrıca Bakınız

  • imagecrop() - Görüntüyü belirtilen dikdörtgen ile kırpar


Bir görüntüyü kopyalar ve karıştırır

  • « imagecopy
  • imagecopymergegray »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntüyü kopyalar ve karıştırır

imagecopymerge

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecopymerge — Bir görüntüyü kopyalar ve karıştırır

Açıklama

imagecopymerge(
GdImage $hedef,
GdImage $kaynak,
int $hdf_x,
int $hdf_y,
int $kyn_x,
int $kyn_y,
int $kyn_gnş,
int $kyn_yks,
int $oran
): bool

hedef görüntünün hdf_x, hdf_y noktasına kaynak görüntünün kyn_x, kyn_y, kyn_gnş ve kyn_yks ile belirlenen parçasını kopyalar.

Bağımsız Değişkenler

hedef

Görüntünün gönderileceği özkaynak.

kaynak

Görüntünün alındığı özkaynak.

hdf_x

Hedef görüntüdeki X koordinatı.

hdf_y

Hedef görüntüdeki Y koordinatı.

kyn_x

Kaynak görüntüdeki X koordinatı.

kyn_x

Kaynak görüntüdeki Y koordinatı.

kyn_gnş

Kaynak genişliği.

kyn_yks

Kaynak yüksekliği.

oran

0-100 arasında bir değer olup, iki görüntü bu şeffaflık oranına göre karıştırılır. 0 değeri için hiçbir ek işlem yapılmaz. 100 için ise, gerçek renkli görüntülere alfa şeffaflatması uygulanırken paletli görüntülere, alfa bileşenlerinin yok sayılması hariç, imagecopy() işlevindeki yaklaşım uygulanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - PHP.net logo'sunun iki kopyasının %75 şeffaflıkla karıştırılması

<?php
// Görüntü örneklerini oluşturalım
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Kopyalayıp karıştıralım
imagecopymerge($dest, $src, 10, 10, 0, 0, 100, 47, 75);

// Görüntüyü çıktılayıp belleği serbest bırakalım
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>


Bir görüntüyü kopyalar ve gri tonlama ile karıştırır

  • « imagecopymerge
  • imagecopyresampled »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntüyü kopyalar ve gri tonlama ile karıştırır

imagecopymergegray

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopymergegray — Bir görüntüyü kopyalar ve gri tonlama ile karıştırır

Açıklama

imagecopymergegray(
GdImage $hedef,
GdImage $kaynak,
int $hdf_x,
int $hdf_y,
int $kyn_x,
int $kyn_y,
int $kyn_gnş,
int $kyn_yks,
int $oran
): bool

hedef görüntünün hdf_x, hdf_y noktasına kaynak görüntünün kyn_x, kyn_y, kyn_gnş ve kyn_yks ile belirlenen parçasını kopyalar.

Kaynak pikselleri hedefe kopyalamadan önce gri tonlamaya dönüştürerek kaynak görüntünün renk sıcaklığını koruması dışında imagecopymerge() işlevi ile aynıdır.

Bağımsız Değişkenler

hedef

Görüntünün gönderileceği özkaynak.

kaynak

Görüntünün alındığı özkaynak.

hdf_x

Hedef görüntüdeki X koordinatı.

hdf_y

Hedef görüntüdeki Y koordinatı.

kyn_x

Kaynak görüntüdeki X koordinatı.

kyn_x

Kaynak görüntüdeki Y koordinatı.

kyn_gnş

Kaynak genişliği.

kyn_yks

Kaynak yüksekliği.

oran

0-100 arasında bir değer olup, iki görüntü bu şeffaflık oranına göre karıştırılır. 0 değeri için hiçbir ek işlem yapılmaz. 100 için ise, gerçek renkli görüntülere alfa şeffaflatması uygulanırken paletli görüntülere, alfa bileşenlerinin yok sayılması hariç, imagecopy() işlevindeki yaklaşım uygulanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - imagecopymergegray() örneği

<?php
// Görüntü örneklerini oluşturalım
$dest = imagecreatefromgif('php.gif');
$src = imagecreatefromgif('php.gif');

// Kopyalayıp karıştıralım - Grilik = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Görüntüyü çıktılayıp belleği serbest bırakalım
header('Content-Type: image/gif');
imagegif($dest);

imagedestroy($dest);
imagedestroy($src);
?>


Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır

  • « imagecopymergegray
  • imagecopyresized »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır

imagecopyresampled

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecopyresampled — Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır

Açıklama

imagecopyresampled(
GdImage $hedef,
GdImage $kaynak,
int $hdf_x,
int $hdf_y,
int $kyn_x,
int $kyn_y,
int $hdf_gnş,
int $hdf_yks,
int $kyn_gnş,
int $kyn_yks
): bool

imagecopyresampled() işlevi bir görüntü karesini boyutlandırarak başka bir görüntüye kopyalarken piksel renklerini ara değerlerle yumuşatarak görüntünün kalitesini korur.

Başka bir deyişle, imagecopyresampled() işlevi kaynak görüntünün kyn_x, kyn_y noktasından, kyn_gnş ve kyn_yks ile belirlenen parçasını alıp, hedef görüntünün hdf_x, hdf_y noktasında hdf_gnş, hdf_yks ile belirlenen parçasına yerleştirir.

Eğer kaynak ve hedef koordinatları ile genişlik ve yükseklikler farklıysa parça yerleştirilirken küçültülür veya büyütülür. Koordinatlar parçanın sol üst köşesini belirtir. Bu işlev aynı görüntünün içinde kopyalama yapmak amacıyla da kullanılabilir (hedef ve kaynak aynı ise), fakat parçaların üstüste gelmesi halinde sonuç belirsizdir.

Bağımsız Değişkenler

hedef

Görüntünün gönderileceği özkaynak.

kaynak

Görüntünün alındığı özkaynak.

hdf_x

Hedef görüntüdeki X koordinatı.

hdf_y

Hedef görüntüdeki Y koordinatı.

kyn_x

Kaynak görüntüdeki X koordinatı.

kyn_y

Kaynak görüntüdeki Y koordinatı.

hdf_gnş

Hedef görüntüdeki parça genişliği.

hdf_yks

Hedef görüntüdeki parça yüksekliği.

kyn_gnş

Kaynak genişliği.

kyn_yks

Kaynak yüksekliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - Basit örnek

Bu örnekte görüntü yarı boyutunda yeniden örneklenmektedir.

<?php
// Dosya ve yeni boyut
$dosya = 'test.jpg';
$oran = 0.5;

// İçerik türü
header('Content-type: image/jpeg');

// Yeni resmin boyutları
list($gen, $yük) = getimagesize($filename);
$yenigen = $gen * $oran;
$yeniyük = $yük * $oran;

// Görüntüleri yükleyelim
$hedef = imagecreatetruecolor($yeniger, $yeniyük);
$kaynak = imagecreatefromjpeg($dosya);

// Görüntüyü örnekleyelim
imagecopyresampled($hedef, $kaynak, 0, 0, 0, 0, $yenigen, $yeniyük, $gen, $yük);

// Görüntüyü çıktılayalım
imagejpeg($image_p, null, 100);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Basit örneğin çıktısı

Örnek 2 - Bir görüntünün orantılı olarak örneklenmesi

Bu örnekte görüntü 200 piksellik azami yükseklik ve genişlikle örneklenmektedir.

<?php
// Dosya
$dosya = 'dnm.jpg';

// Azami yükseklik ve genişlik
$gen = 200;
$yük = 200;

// İçerik türü
header('Content-type: image/jpeg');

// Yeni boyutları hesaplayalım
list($özgen, $özyük) = getimagesize($dosya);

$özoran = $özgen/$özyük;

if ($gen/$yük > $özoran) {
$gen = $yük*$özoran;
} else {
$yük = $gen/$özoran;
}

// Görüntüyü örnekleyelim
$hedef = imagecreatetruecolor($gen, $yük);
$kaynak = imagecreatefromjpeg($dosya);
imagecopyresampled($hedef, $kaynak, 0, 0, 0, 0, $gen, $yük, $özgen, $özyük);

// Görüntüyü çıktılayalım
imagejpeg($image_p, null, 100);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bir görüntünün orantılı olarak kopyalanması örneği

Notlar

Bilginize:

Paletli görüntülerdeki sınırlama (255+1 renk) nedeniyle bir sorun vardır. Görüntüyü yeniden örneklerken veya süzerken 255'ten daha çok renk gerekir ve bu nedenle yeniden örneklenen piksel renkleri için bir yaklaşım uygulanır. Paletli görüntüde yeni renk için paletten bir yer ayrılmaya çalışılır, eğer bu işlem başarısız olursa (teorik olarak) o renge en yakın renk seçilir. Bu her zaman görsel olarak en yakın renk olmayabilir. Bunun sonucu olarak kısmen boş görüntüler gibi tuhaf sonuçlar alınabilir. Bu gibi sorunlarla karşılaşmamak için hedef görüntü olarak gerçek renkli (örneğin, imagecreatetruecolor() ile oluşturulmuş) bir görüntü kullanın.

Ayrıca Bakınız

  • imagecopyresized() - Görüntünün bir parçasını kopyalar ve boyutlandırır
  • imagescale() - Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar
  • imagecrop() - Görüntüyü belirtilen dikdörtgen ile kırpar


Görüntünün bir parçasını kopyalar ve boyutlandırır

  • « imagecopyresampled
  • imagecreate »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntünün bir parçasını kopyalar ve boyutlandırır

imagecopyresized

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecopyresized — Görüntünün bir parçasını kopyalar ve boyutlandırır

Açıklama

imagecopyresized(
GdImage $hedef,
GdImage $kaynak,
int $hdf_x,
int $hdf_y,
int $kyn_x,
int $kyn_y,
int $hdf_gnş,
int $hdf_yks,
int $kyn_gnş,
int $kyn_yks
): bool

imagecopyresized() işlevi kaynak görüntünün bir bölümünü hedef görüntünün bir bölümüne sığacak şekilde boyutlandırarak kopyalar.

Başka bir deyişle, imagecopyresized() işlevi kaynak görüntünün kyn_x, kyn_y noktasından, kyn_gnş ve kyn_yks ile belirlenen parçasını alıp hedef görüntünün hdf_x, hdf_y noktasına hdf_gnş, hdf_yks ile belirlenen parçasına yerleştirir.

Eğer kaynak ve hedef koordinatları ile genişlik ve yükseklikler farklıysa parça yerleştirilirken küçültülür veya büyütülür. Koordinatlar parçanın sol üst köşesini belirtir. Bu işlev aynı görüntünün içinde kopyalama yapmak amacıyla da kullanılabilir (hedef ve kaynak aynı ise), fakat parçaların üstüste gelmesi halinde sonuç belirsizdir.

Bağımsız Değişkenler

hedef

Görüntünün gönderileceği özkaynak.

kaynak

Görüntünün alındığı özkaynak.

hdf_x

Hedef görüntüdeki X koordinatı.

hdf_y

Hedef görüntüdeki Y koordinatı.

kyn_x

Kaynak görüntüdeki X koordinatı.

kyn_y

Kaynak görüntüdeki Y koordinatı.

hdf_gnş

Hedef görüntüdeki parça genişliği.

hdf_yks

Hedef görüntüdeki parça yüksekliği.

kyn_gnş

Kaynak genişliği.

kyn_yks

Kaynak yüksekliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - Bir görüntünün boyutlandırılması

Bu örnekte görüntü yarı boyutunda gösterilmektedir.

<?php
// Dosya ve yeni boyut
$dosya = 'test.jpg';
$oran = 0.5;

// İçerik türü
header('Content-Type: image/jpeg');

// Yeni görüntünün boyutları
list($gen, $yük) = getimagesize($filename);
$yenigen = $gen * $oran;
$yeniyük = $yük * $oran;

// Görüntüleri yükleyelim
$hedef = imagecreatetruecolor($yeniger, $yeniyük);
$kaynak = imagecreatefromjpeg($dosya);

// Görüntüyü boyutlandıralım
imagecopyresized($hedef, $kaynak, 0, 0, 0, 0, $yenigen, $yeniyük, $gen, $yük);

// Görüntüyü çıktılayalım
imagejpeg($hedef);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bir görüntünün boyutlandırılması örneğinin çıktısı

Görüntü yarı boyutunda çıktılanır ama imagecopyresampled() kullanılsaydı kalite daha iyi olurdu.

Notlar

Bilginize:

Paletli görüntülerdeki sınırlama (255+1 renk) nedeniyle bir sorun vardır. Görüntüyü yeniden örneklerken veya süzerken 255'ten daha çok renk gerekir ve bu nedenle yeniden örneklenen piksel renkleri için bir yaklaşım uygulanır. Paletli görüntüde yeni renk için paletten bir yer ayrılmaya çalışılır, eğer bu işlem başarısız olursa (teorik olarak) o renge en yakın renk seçilir. Bu her zaman görsel olarak en yakın renk olmayabilir. Bunun sonucu olarak kısmen boş resimler gibi tuhaf sonuçlar alınabilir. Bu gibi sorunlarla karşılaşmamak için hedef görüntü olarak gerçek renkli (örneğin, imagecreatetruecolor() ile oluşturulmuş) bir görüntü kullanın.

Ayrıca Bakınız

  • imagecopyresampled() - Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır
  • imagescale() - Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar
  • imagecrop() - Görüntüyü belirtilen dikdörtgen ile kırpar


Yeni bir paletli görüntü oluşturur

  • « imagecopyresized
  • imagecreatefromavif »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yeni bir paletli görüntü oluşturur

imagecreate

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreate — Yeni bir paletli görüntü oluşturur

Açıklama

imagecreate(int $genişlik, int $yükseklik): GdImage|false

imagecreate() işlevi, boyutları belirtilen boş görüntüyü oluşturur ve onun için bir görüntü tanıtıcısı döndürür.

Genel olarak, görüntü işlemenin mümkün olan en yüksek kalitede gerçekleşmesi için imagecreate() yerine imagecreatetruecolor() kullanılmasını öneririz. Bir palet görüntüsünün çıktısını almak istiyorsanız, görüntüyü imagepng() veya imagegif() ile kaydetmeden hemen önce imagetruecolortopalette() çağrılmalıdır.

Bağımsız Değişkenler

genişlik

Görüntünün genişliği.

yükseklik

Görüntünün yüksekliği.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - Yeni bir GD görüntü akımı oluşturup bir görüntü çıktılamak

<?php
header("Content-type: image/png");
$im = @imagecreate(110, 20)
or die("GD görüntü akımı ilklendirilemedi");
$artalan = imagecolorallocate($im, 0, 0, 0);
$önalan = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $önalan);
imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yeni bir GD görüntü akımı oluşturup bir görüntü çıktılamak örneğinin çıktısı

Ayrıca Bakınız

  • imagedestroy() - Bir görüntüyü bellekten siler
  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreate
  • imagecreatefrombmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromavif

(PHP 8 >= 8.1.0)

imagecreatefromavif — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromavif(string $filename): GdImage|false

imagecreatefromavif() returns an image object representing the image obtained from the given filename.

Bağımsız Değişkenler

filename

Path to the AVIF raster image.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromavif
  • imagecreatefromgd2 »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefrombmp

(PHP 7 >= 7.2.0, PHP 8)

imagecreatefrombmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefrombmp(string $dosya): GdImage|false

Belirtilen dosyadan sağlanan görüntü için GDImage nesnesi döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosya

BMP görüntüyü içeren dosyanın yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefrombmp() ile BMP -> PNG dönüşümü

<?php
// BMP dosyayı yükle
$im = imagecreatefrombmp('./example.bmp');

// Öntanımlı değerlerle PNG dosyasına dönüştür
imagepng($im, './example.png');
imagedestroy($im);
?>


Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur

  • « imagecreatefrombmp
  • imagecreatefromgd2part »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur

imagecreatefromgd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd2 — Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur

Açıklama

imagecreatefromgd2(string $dosyaismi): GdImage|false

Dosya ismi verilen GD2 görüntüsünü betimleyen bir görüntü tanıtıcısı döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

GD2 görüntüsünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromgd2() örneği

<?php
// Görüntüyü açmaya çalışalım
$im = imagecreatefromgd2('./dnm.gd2');

// Görüntünün negatifini elde edelim
if(function_exists('imagefilter'))
{
imagefilter($im, IMG_FILTER_NEGATE);
}

// Görüntüyü kaydedelim
imagegd2($im, './guncel_dnm.gd2');
imagedestroy($im);
?>

Notlar

Uyarı

GD ve GD2 görüntü biçemleri libgd'nin tescilli görüntü biçemleridir. Bunlar kullanımdan kalkmış kabul edilmeli, geliştirme ve deneme amacı dışında kullanılmamalıdır.


Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur

  • « imagecreatefromgd2
  • imagecreatefromgd »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur

imagecreatefromgd2part

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd2part — Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur

Açıklama

imagecreatefromgd2part(
string $dosyaismi,
int $X,
int $Y,
int $genişlik,
int $yükseklik
): GdImage|false

Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

GD2 görüntüsünün dosya yolu.

X

Parçanın X konumu.

Y

Parçanın Y konumu.

genişlik

Kaynak genişliği.

yükseklik

Kaynak yüksekliği.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromgd2part() örneği

<?php
// Bu örnek için öncelikle görüntü boyutuna ihtiyacımız var
$image = getimagesize('./dnm.gd2');

// Parçanın örneğini oluşturalım
$im = imagecreatefromgd2part('./dnm.gd2', 4, 4, ($image[0] / 2) - 6, ($image[1] / 2) - 6);

// Görüntüye kabartma etkisi verelim
if(function_exists('imagefilter'))
{
imagefilter($im, IMG_FILTER_EMBOSS);
}

// Görüntüyü kaydedelim
imagegd2($im, './kabartma_dnm.gd2');
imagedestroy($im);
?>

Notlar

Uyarı

GD ve GD2 görüntü biçemleri libgd'nin tescilli görüntü biçemleridir. Bunlar kullanımdan kalkmış kabul edilmeli, geliştirme ve deneme amacı dışında kullanılmamalıdır.


Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur

  • « imagecreatefromgd2part
  • imagecreatefromgif »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur

imagecreatefromgd

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagecreatefromgd — Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur

Açıklama

imagecreatefromgd(string $dosyaismi): GdImage|false

Dosya ismi verilen GD görüntüsünü betimleyen bir görüntü tanıtıcısı döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

GD görüntüsünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromgd() örneği

<?php
// Görüntüyü açmaya çalışalım
$im = @imagecreatefromgd('./dnm.gd');

// Başarılı oldu mu bakalım
if(!$im)
{
die('Belirtilen GD görüntüsü yüklenemedi!');
}

// Görüntü üzerindeki işlemler burada

// Görüntüyü kaydedelim
imagegd($im, './guncel_dnm.gd');
imagedestroy($im);
?>

Notlar

Uyarı

GD ve GD2 görüntü biçemleri libgd'nin tescilli görüntü biçemleridir. Bunlar kullanımdan kalkmış kabul edilmeli, geliştirme ve deneme amacı dışında kullanılmamalıdır.


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromgd
  • imagecreatefromjpeg »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromgif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefromgif — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromgif(string $dosyaismi): GdImage|false

imagecreatefromgif() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü nesnesi döndürür.

Dikkat

GIF dosyaları belleğe okunurken görüntü nesnesinde yalnız ilk kare döner. Görüntü boyutunun getimagesize() tarafından bildirilen boyut olması gerekli değildir.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

GIF görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - Bir GIF yüklerken oluşan bir hatanın ele alınması

<?php
function GIFyükle($ad)
{
/* Görüntüyü açmaya çalışalım */
$im = @imagecreatefromgif($ad);

/* Başarılı oldu mu bakalım */
if(!$im)
{
/* Boş bir resim oluşturalım */
$im = imagecreatetruecolor (150, 30);
$bgc = imagecolorallocate ($im, 255, 255, 255);
$tc = imagecolorallocate ($im, 0, 0, 0);

imagefilledrectangle ($im, 0, 0, 150, 30, $bgc);

/* Hata iletisini çıktılayalım */
imagestring ($im, 1, 5, 5, $ad . ' yüklenirken hata oluştu', $tc);
}

return $im;
}

header('Content-Type: image/gif');

$img = GIFyükle('bogus.image');

imagegif($img);
imagedestroy($img);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bir GIF'in yüklenmesi sırasında hata oluşması örneği


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromgif
  • imagecreatefrompng »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromjpeg

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefromjpeg — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromjpeg(string $dosyaismi): GdImage|false

imagecreatefromjpeg() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü nesnesi döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

JPEG görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - Bir JPEG yüklerken oluşan bir hatanın ele alınması

<?php
function JPEGyükle($ad)
{
/* Görüntüyü açmaya çalışalım */
$im = @imagecreatefromjpeg($ad);

/* Başarılı oldu mu bakalım */
if(!$im)
{
/* Boş bir görüntü oluşturalım */
$im = imagecreatetruecolor (20, 20);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, 0, 10, 10, $bgc);

/* Hata iletisini çıktılayalım */
imagestring($im, 1, 5, 5, $ad . ' yüklenirken hata oluştu', $tc);
}

return $im;
}

header('Content-Type: image/jpeg');

$img = JPEGyükle('bogus.image');

imagejpeg($img);
imagedestroy($img);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bir JPEG yüklerken oluşan bir hatanın ele alınması


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromjpeg
  • imagecreatefromstring »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefrompng

(PHP 4, PHP 5, PHP 7, PHP 8)

imagecreatefrompng — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefrompng(string $dosyaismi): GdImage|false

imagecreatefrompng() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü tanıtıcısı döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

PNG görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - Bir PNG yüklerken oluşan bir hatanın ele alınması

<?php
function PNGyükle($ad)
{
/* Görüntüyü açmaya çalışalım */
$im = @imagecreatefrompng($ad);

/* Başarılı oldu mu bakalım */
if(!$im)
{
/* Boş bir görüntü oluşturalım */
$im = imagecreatetruecolor (20, 20);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, 0, 10, 10, $bgc);

/* Hata iletisini çıktılayalım */
imagestring($im, 1, 5, 5, $ad . ' yüklenirken hata oluştu', $tc);
}

return $im;
}

header('Content-Type: image/png');

$img = PNGyükle('bozuk.görüntü');

imagepng($img);
imagedestroy($img);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:


Belirtilen dizgeden yeni bir görüntü oluşturur

  • « imagecreatefrompng
  • imagecreatefromtga »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belirtilen dizgeden yeni bir görüntü oluşturur

imagecreatefromstring

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

imagecreatefromstring — Belirtilen dizgeden yeni bir görüntü oluşturur

Açıklama

imagecreatefromstring(string $veri): GdImage|false

imagecreatefromstring() işleve veri ile belirtilen görüntü dizgesinden elde edilen görüntü için görüntü nesnesi döndürür. PHP desteklediği takdirde otomatik olaran algılanan dosya biçemleri: JPEG, PNG, GIF, BMP, WBMP, GD2, ve WEBP.

Bağımsız Değişkenler

veri

Görüntü verisini içeren dizge.

Dönen Değerler

Görüntü dosya biçemi desteklenmiyorsa, veri biçemi tanınmıyorsa veya görüntü bozuksa ya da yüklenemiyorsa false aksi takdirde görüntü nesnesini döndürür.

Hatalar/İstisnalar

veri bilinmeyen bir biçemdeyse imagecreatefromstring() işlevi E_WARNING seviyesinde bir hata verir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.
7.3.0 | WEBP artık destekleniyor (kullanılan libgd destekliyorsa).

Örnekler

Örnek 1 - imagecreatefromstring() örneği

<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
if ($im !== false) {
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
}
else {
echo 'Bir hata oluştu.';
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı : imagecreatefromstring()

Ayrıca Bakınız

  • imagecreatefromjpeg() - Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefrompng() - Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatefromgif() - Bir dosya veya URL'den yeni bir görüntü oluşturur.
  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromstring
  • imagecreatefromwbmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromtga

(PHP 7 >= 7.4.0, PHP 8)

imagecreatefromtga — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromtga(string $dosya): GdImage|false

imagecreatefromtga() belirtilen dosyadaki görüntünün GDImage nesnesini döndürür.

Bağımsız Değişkenler

dosya

Truevision TGA görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce bir özkaynak dönerdi.


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromtga
  • imagecreatefromwebp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromwbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromwbmp — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromwbmp(string $dosyaismi): GdImage|false

imagecreatefromwbmp() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü nesnesi döndürür.

Bilginize: WBMP görüntüler Wireless bit eşlemlerdir, Windows bit eşlemler değildir. Windows bit eşlemler imagecreatefrombmp() ile yüklenir.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

WBMP görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - Bir WBMP yüklerken oluşan bir hatanın ele alınması

<?php
function WBMPyükle($ad)
{
/* Görüntüyü açmaya çalışalım */
$im = @imagecreatefromwbmp($ad);

/* Başarılı oldu mu bakalım */
if(!$im)
{
/* Boş bir görüntü oluşturalım */
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);

imagefilledrectangle($im, 0, 0, 150, 30, $bgc);

/* Hata iletisini çıktılayalım */
imagestring($im, 1, 5, 5, $ad . ' yüklenirken hata oluştu', $tc);
}

return $im;
}

header('Content-Type: image/vnd.wap.wbmp');

$img = WBMPyükle('bozuk.görüntü');

imagewbmp($img);
imagedestroy($img);
?>


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromwbmp
  • imagecreatefromxbm »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromwebp

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

imagecreatefromwebp — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromwebp(string $dosya): GdImage|false

Belirtilen dosyadan sağlanan görüntü için GDImage nesnesi döndürür. Canlandırmalı WebP dosyalarının okunamayacağı dikkate alınmalıdır.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosya

WebP görüntüyü içeren dosyanın yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromwebp() ile WebP -> JPEG dönüşümü

<?php
// WebP dosyasını yükle
$im = imagecreatefromwebp('./example.webp');

// %100 kalite ile jpeg dosyasına dönüştür
imagejpeg($im, './example.jpeg', 100);
imagedestroy($im);
?>


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromwebp
  • imagecreatefromxpm »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromxbm

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromxbm — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromxbm(string $dosyaismi): GdImage|false

imagecreatefromxbm() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü tanıtıcısı döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

XBM görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromxbm() örneği

<?php
// XBM dosyasını yükleyelim
$xbm = imagecreatefromxbm('./ornek.xbm');

// Bir PNG dosyasına dönüştürelim
imagepng($xbm, './ornek.png');
imagedestroy($xbm);
?>


Bir dosya veya URL'den yeni bir görüntü oluşturur.

  • « imagecreatefromxbm
  • imagecreatetruecolor »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dosya veya URL'den yeni bir görüntü oluşturur.

imagecreatefromxpm

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagecreatefromxpm — Bir dosya veya URL'den yeni bir görüntü oluşturur.

Açıklama

imagecreatefromxpm(string $dosyaismi): GdImage|false

imagecreatefromxpm() işlevi dosya ismi verilen görüntüyü betimleyen bir görüntü nesnesi döndürür.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

Bağımsız Değişkenler

dosyaismi

XPM görüntünün dosya yolu.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 - imagecreatefromxpm() örneği

<?php
// XPM desteği var mı, bakalım
if(!(imagetypes() & IMG_XPM))
{
die('XPM desteği yok!');
}

// Görüntünün bir örneğini oluşturalım
$xpm = imagecreatefromxpm('./ornek.xpm');

// Burada görüntü üzerinde bazı işlemler yapalım

// PHP'de XPM görüntüleri yazmak için destek bulunmadığından
// resmi %100 kalite ile bir JPEG olarak kaydedeceğiz.
imagejpeg($im, './ornek.jpg', 100);
imagedestroy($im);
?>


Yeni bir gerçek renkli görüntü oluşturur

  • « imagecreatefromxpm
  • imagecrop »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yeni bir gerçek renkli görüntü oluşturur

imagecreatetruecolor

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagecreatetruecolor — Yeni bir gerçek renkli görüntü oluşturur

Açıklama

imagecreatetruecolor(int $genişlik, int $yükseklik): GdImage|false

imagecreatetruecolor() işlevi boyutları belirtilen siyah bir görüntü oluşturur ve onun için bir görüntü nesnesi döndürür.

Bağımsız Değişkenler

genişlik

Görüntü genişliği.

yükseklik

Görüntü yüksekliği.

Dönen Değerler

Başarı durumunda görüntü nesnesi, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.

Örnekler

Örnek 1 Yeni bir GD2 görüntü akımı oluşturup bir görüntü çıktılamak

<?php
header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
or die('GD2 görüntü akımı ilklendirilemedi');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Yeni bir GD2 görüntü akımı oluşturup bir görüntü çıktılamak

Ayrıca Bakınız

  • imagedestroy() - Bir görüntüyü bellekten siler
  • imagecreate() - Yeni bir paletli görüntü oluşturur


Görüntüyü belirtilen dikdörtgen ile kırpar

  • « imagecreatetruecolor
  • imagecropauto »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü belirtilen dikdörtgen ile kırpar

imagecrop

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecrop — Görüntüyü belirtilen dikdörtgen ile kırpar

Açıklama

imagecrop(GdImage $görüntü, array $dikdörtgen): GdImage|false

görüntüyü belirtilen dikdörtgen ile kırpar ve bir GDImage nesnesi olarak döndürür. Belirtilen görüntü olduğu gibi bırakılır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dikdörtgen

x, y, width ve height anahtarlı bir dizi.

Dönen Değerler

Başarı durumunda kırpılmış GDImage nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - imagecrop() örneği

Bu örnekte bir görüntü belirtilen dikdörtgen ile kırpılmaktadır.

<?php
$im = imagecreatefrompng('example.png');
$size = min(imagesx($im), imagesy($im));
$im2 = imagecrop($im, ['x' => 0, 'y' => 0, 'width' => $size, 'height' => $size]);
if ($im2 !== FALSE) {
imagepng($im2, 'example-cropped.png');
imagedestroy($im2);
}
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagecropauto() - Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar


Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar

  • « imagecrop
  • imagedashedline »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar

imagecropauto

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagecropauto — Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar

Açıklama

imagecropauto(
GdImage $görüntü,
int $kip = IMG_CROP_DEFAULT,
float $eşik = 0.5,
int $rnek = -1
): GdImage|false

Belirtilen kip kullanılarak görüntü otomatik olarak kırpılır ve GDImage nesnesi olarak döndürülür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kip

Aşağıdaki sabitlerden biri olmalıdır:

IMG_CROP_DEFAULT
IMG_CROP_TRANSPARENT ile aynıdır. PHP 7.4.0 öncesinde, görüntü şeffaf renge sahip değilse, libgd IMG_CROP_SIDES sabitini kullanırdı.
IMG_CROP_TRANSPARENT
Şeffaf artalan ile kırpar.
IMG_CROP_BLACK
Siyah artalan ile kırpar.
IMG_CROP_WHITE
Beyaz artalan ile kırpar.
IMG_CROP_SIDES
Kırpma artalanını belirlemek için görüntünün 4 köşesi kullanılır.
IMG_CROP_THRESHOLD
Görüntü, belirtilen eşik ve renk değerleri kullanılarak kırpılır.
eşik

Görüntü rengini ve kırpılacak rengi karşılaştırırken kullanılacak tolerans yüzde olarak belirtilir. Renk farkını hesaplamak için kullanılan yöntem, RGB(a) küpündeki renk mesafesine dayanmaktadır.

Sadece IMG_CROP_THRESHOLD kipinde kullanılır.

Bilginize: PHP 7.4.0 öncesinde, PHP paketinde gelen libgd biraz farklı bir algoritma kullanıyordu, bu nedenle aynı eşik, sistem ve paketli libgd için farklı sonuçlar veriyordu.

renk

Bir RGB renk değeri veya bir palet indisi.

Sadece IMG_CROP_THRESHOLD kipinde kullanılır.

Dönen Değerler

Başarı durumunda kırpılmış GDImage nesnesi, başarısızlık durumunda false döner. Görüntünün tamamı kırpılmışsa işlev false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | Başarı durumunda artık GDImage örneği dönüyor; evvelce resource türünde bir değer dönerdi.
7.4.0 | PHP paketinde gelen libgd'nin sistem libgd'si ile aynı eşik kırpma algoritmasını kullanması sağlandı. Böylece artık libgd IMG_CROP_DEFAULT sabitinden IMG_CROP_SIDES sabitine geri düşmüyor.
7.4.0 | kip için öntanımlı değer IMG_CROP_AUTO oldu. Evvelce, IMG_CROP_DEFAULT sabitine denk gelen -1 idi. Ancak, artık -1 belirtilmesi önerilmiyor.

Örnekler

Örnek 1 - Otomatik kırpmanın doğru kullanımı

Dönen Değerler bölümünde belirtildiği gibi, görüntünün tamamı kırpılmışsa imagecropauto() false değerini döndürmektedir. Bu örnekte, yalnızca kırpılacak bir şey varsa $im otomatik olarak kırpılmaktadır; aksi takdirde özgün görüntü ile devam edilmektedir.

<?php
$cropped = imagecropauto($im, IMG_CROP_DEFAULT);
if ($cropped !== false) { // yeni bir nesne dönmüşse
imagedestroy($im); // özgün görüntüyü yok et
$im = $cropped; // kırpılmış görüntüyü $im'e ata
}
?>

Ayrıca Bakınız

  • imagecrop() - Görüntüyü belirtilen dikdörtgen ile kırpar


Kesikli çizgi çizer

  • « imagecropauto
  • imagedestroy »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kesikli çizgi çizer

imagedashedline

(PHP 4, PHP 5, PHP 7, PHP 8)

imagedashedline — Kesikli çizgi çizer

Açıklama

imagedashedline(
GdImage $görüntü,
int $x1,
int $y1,
int $x2,
int $y2,
int $renk
): bool

Bu işlevin kullanımı önerilmemektedir. Yerine imagesetstyle() ve imageline() çiftini kullanın.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x1

Sol üst köşenin X konumu.

y1

Sol üst köşenin Y konumu. Görüntünün sol üst köşesinin koordinatları 0, 0'dır.

x2

Sağ alt köşenin X konumu.

y2

Sağ alt köşenin Y konumu.

renk

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagedashedline() örneği

<?php
// 100x100 bir tuval oluşturalım
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Dikine bir kesikli çizgi çizelim
imagedashedline($im, 50, 25, 50, 75, $white);

// Görüntüyü kaydedelim
imagepng($im, './dashedline.png');
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagedashedline()

Örnek 2 - Başka bir imagedashedline() örneği

<?php
// 100x100 bir tuval oluşturalım
$im = imagecreatetruecolor(100, 100);
$white = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);

// Çizgi tarzını taımlayalım: İlk dört piksel beyaz,
// sonraki dört piksel renksiz. Bu, kesikli çizgi etkisi verir.
$style = Array(
$white,
$white,
$white,
$white,
IMG_COLOR_TRANSPARENT,
IMG_COLOR_TRANSPARENT,
IMG_COLOR_TRANSPARENT,
IMG_COLOR_TRANSPARENT
);

imagesetstyle($im, $style);

// Kesikli çizgimizi çizelim
imageline($im, 50, 25, 50, 75, IMG_COLOR_STYLED);

// Görüntüyü kaydedelim
imagepng($im, './imageline.png');
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagesetstyle() - Çizgi tarzını ayarlar
  • imageline() - Bir çizgi çizer


Bir görüntüyü bellekten siler

  • « imagedashedline
  • imageellipse »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntüyü bellekten siler

imagedestroy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagedestroy — Bir görüntüyü bellekten siler

Açıklama

imagedestroy(GdImage $görüntü): bool

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

PHP 8.0.0 öncesinde, imagedestroy() işlevi görüntü için ayrılan belleği serbest bırakırdı.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık hiçbir şey yapmıyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - PHP 8.0.0 öncesinde imagedestroy() örneği

<?php
// 100 x 100 bir tuval oluşturalım
$im = imagecreatetruecolor(100, 100);

// Üzerinde işlem yapalım ve kaydedelim

// İşimiz bitince görüntüye ayrılan belleği serbest bırakalım
imagedestroy($im);
?>


Bir elips çizer

  • « imagedestroy
  • imagefill »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir elips çizer

imageellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imageellipse — Bir elips çizer

Açıklama

imageellipse(
GdImage $görüntü,
int $merkez_x,
int $merkez_y,
int $genişlik,
int $yükseklik,
int $renk
): bool

Belirtilen koordinatlar merkez olmak üzere bir elips çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

mx

Merkezin X konumu.

my

Merkezin Y konumu.

genişlik

Elipsin genişliği.

yükseklik

Elipsin yüksekliği.

renk

Elipsin rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imageellipse() örneği

<?php

// Boş bir görüntü oluşturalım.
$image = imagecreatetruecolor(400, 300);

// Artalan rengini seçelim.
$bg = imagecolorallocate($image, 0, 0, 0);

// Artalanı seçtiğimiz renge boyayalım.
imagefill($image, 0, 0, $bg);

// Elips için bir renk seçelim.
$col_ellipse = imagecolorallocate($image, 255, 255, 255);

// Elipsi çizelim.
imageellipse($image, 200, 150, 300, 200, $col_ellipse);

// Görüntüyü çıktılayalım.
header("Content-Type: image/png");
imagepng($image);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imageellipse()

Notlar

Bilginize:

imageellipse() işlevi imagesetthickness() işlevini yoksayar.

Ayrıca Bakınız

  • imagefilledellipse() - İçi dolu bir elips çizer
  • imagearc() - Bir yay çizer


Görüntüyü boyar

  • « imageellipse
  • imagefilledarc »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü boyar

imagefill

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefill — Görüntüyü boyar

Açıklama

imagefill(
GdImage $görüntü,
int $x,
int $y,
int $renk
): bool

Belirtilen koordinattan başlayarak (görüntünün üst sol köşesi 0.0'dır) belirtilen görüntüyü renk ile boyar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x

Başlangıç noktasının X konumu.

y

Başlangıç noktasının Y konumu.

renk

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagefill() örneği

<?php

$im = imagecreatetruecolor(100, 100);

// artalan rengi kırmızı olsun
$renk = imagecolorallocate($im, 255, 0, 0);
imagefill($im, 0, 0, $renk);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Çıktı örneği: imagefill()

Ayrıca Bakınız

  • imagecolorallocate() - Bir görüntü için bir renk ayırır


Bir yay çizer ve içini doldurur

  • « imagefill
  • imagefilledellipse »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir yay çizer ve içini doldurur

imagefilledarc

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagefilledarc — Bir yay çizer ve içini doldurur

Açıklama

imagefilledarc(
GdImage $görüntü,
int $merkez_x,
int $merkez_y,
int $genişlik,
int $yükseklik,
int $ilk_açı,
int $son_açı,
int $renk,
int $tarz
): bool

Belirtiren görüntü üzerinde merkez koordinatları verilen yay parçasını çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

merkez_x

Merkezin X konumu.

merkez_y

Merkezin Y konumu.

genişlik

Yay genişliği.

yükseklik

Yay yüksekliği.

ilk_açı

Derece cinsinden yayın başlangıç açısı.

son_açı

Derece cinsinden yayın bitiş açısı. 0° saat 3 konumu olup yay saat yönünde çizilir.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

tarz

Aşağıdaki olasılıklar bitsel VEYAlanarak belirtilir:

  1. IMG_ARC_PIE
  2. IMG_ARC_CHORD
  3. IMG_ARC_NOFILL
  4. IMG_ARC_EDGED
IMG_ARC_PIE ve IMG_ARC_CHORD sabitleri birlikte kullanılamaz. IMG_ARC_CHORD yayın başlangıç ve bitişini düz bir çizgiyle birleştirir (yay kirişi). IMG_ARC_PIE bir pasta dilimi üretir. IMG_ARC_NOFILL yayın ve kirişin sadece çizileceğini, içinin doldurulmayacağını belirtir. IMG_ARC_EDGED ile IMG_ARC_NOFILL birlikte yayın başlangıç ve bitişinin merkeze bir doğru ile birleştirileceğini belirtir; bu içi boş bir yay dilimini göstermenin en iyi yoludur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - 3 boyutlu bir pasta oluşturmak

<?php

// Tuvalimizi oluşturalım
$image = imagecreatetruecolor(100, 100);

// renkleri ayıralım
$beyaz = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gri = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$koyugri = imagecolorallocate($image, 0x90, 0x90, 0x90);
$mavi = imagecolorallocate($image, 0x00, 0x00, 0x80);
$lacivert = imagecolorallocate($image, 0x00, 0x00, 0x50);
$kırmızı = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$kahve = imagecolorallocate($image, 0x90, 0x00, 0x00);

// 3D etkisi oluşturalım
for ($i = 60; $i > 50; $i--) {
imagefilledarc($image, 50, $i, 100, 50, 0, 45, $lacivert, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $lacivert, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $kahve, IMG_ARC_PIE);
}

imagefilledarc($image, 50, 50, 100, 50, 0, 45, $mavi, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gri, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $kırmızı, IMG_ARC_PIE);

// Görüntüyü çıktılayalım
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: 3 boyutlu bir pasta oluşturmak


İçi dolu bir elips çizer

  • « imagefilledarc
  • imagefilledpolygon »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İçi dolu bir elips çizer

imagefilledellipse

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagefilledellipse — İçi dolu bir elips çizer

Açıklama

imagefilledellipse(
GdImage $görüntü,
int $merkez_x,
int $merkez_y,
int $genişlik,
int $yükseklik,
int $renk
): bool

Belirtiren görüntü üzerinde merkez koordinatları verilen içi dolu elipsi çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

merkez_x

Merkezin X konumu.

merkez_y

Merkezin Y konumu.

genişlik

Elipsin genişliği.

yükseklik

Elipsin yüksekliği.

renk

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagefilledellipse() örneği

<?php

// Tuvalimizi oluşturalım
$image = imagecreatetruecolor(400, 300);

// Artalan rengini seçelim
$bg = imagecolorallocate($image, 0, 0, 0);

// Elipsin rengini seçelim
$beyaz = imagecolorallocate($image, 255, 255, 255);

// Beyaz elipsi çizelim
imagefilledellipse($image, 200, 150, 300, 200, $beyaz);

// Görüntüyü çıktılayalım
header("Content-Type: image/png");
imagepng($image);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagefilledellipse()

Notlar

Bilginize:

imagefilledellipse() işlevi imagesetthickness() işlevini yoksayar.

Ayrıca Bakınız

  • imageellipse() - Bir elips çizer
  • imagefilledarc() - Bir yay çizer ve içini doldurur


İçi dolu bir çokgen çizer

  • « imagefilledellipse
  • imagefilledrectangle »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İçi dolu bir çokgen çizer

imagefilledpolygon

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilledpolygon — İçi dolu bir çokgen çizer

Açıklama

PHP 8.0.0 ve üstü için sözdizimi (isimli bağımsız değişkenler desteklenmez)

imagefilledpolygon(GdImage $görüntü, array $noktalar, int $renk): bool

Diğer sözdizimi (PHP 8.1.0 ve sonrası için önerilmiyor)

imagefilledpolygon(
GdImage $görüntü,
array $noktalar,
int $nokta_sayısı,
int $renk
): bool

imagefilledpolygon() belirtilen görüntü üzerinde içi dolu bir çokgen çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

noktalar

Çokgeni oluşturan kırık çizginin kırılma noktalarının x ve y koordinatlarını çizilme sırasıyla içeren dizi.

nokta_sayısı

Kırılma noktalarının sayısı; en az 3 olmalıdır.

İkinci sözdizimindeki gibi bu bağımsız değişken atlanırsa, noktalar çift sayıda öğeye sahip olmalı ve nokta_sayısının count($noktalar)/2 olduğu varsayılmalıdır.
renk

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | nokta_sayısı bağımsız değişkeninin kullanımı artık önerilmiyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagefilledpolygon() örneği

<?php
// Kırık çizginin kırılma noktalarını içeren dizi
$values = array(
40, 50, // Nokta 1 (x, y)
20, 240, // Nokta 2 (x, y)
60, 60, // Nokta 3 (x, y)
240, 20, // Nokta 4 (x, y)
50, 40, // Nokta 5 (x, y)
10, 10 // Nokta 6 (x, y)
);

// Tuvalimizi oluşturalım
$image = imagecreatetruecolor(250, 250);

// renkleri seçelim
$bg = imagecolorallocate($image, 0, 0, 0);
$mavi = imagecolorallocate($image, 0, 0, 255);

// artalanı boyayalım
imagefilledrectangle($image, 0, 0, 249, 249, $bg);

// çokgeni çizelim
imagefilledpolygon($image, $values, 6, $mavi);

// görüntüyü çıktılayalım.
header('Content-Type: image/png');
imagepng($image);
imagedestroy($image);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagefilledpolygon()

Ayrıca Bakınız

  • imagepolygon() - Çokgen çizer


İçi dolu bir dikdörtgen çizer

  • « imagefilledpolygon
  • imagefilltoborder »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İçi dolu bir dikdörtgen çizer

imagefilledrectangle

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilledrectangle — İçi dolu bir dikdörtgen çizer

Açıklama

imagefilledrectangle(
GdImage $görüntü,
int $x1,
int $y1,
int $x2,
int $y2,
int $renk
): bool

Belirtiren görüntü üzerinde başlangıç ve bitiş koordinatları verilen dikdörtgeni renk ile boyayarak çizer. Resmin sol üst köşesinin koordinatları 0,0'dır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x1

1. noktanın X konumu

y1

1. noktanın Y konumu.

x2

2. noktanın X konumu

y2

2. noktanın Y konumu

renk

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagefilledrectangle() örneği

<?php
// Bir tuval oluşturalım
$im = imagecreatetruecolor(55, 30);
$beyaz = imagecolorallocate($im, 255, 255, 255);

// Beyaz bir dikdörtgen çizelim
imagefilledrectangle($im, 4, 4, 50, 25, $beyaz);

// görüntüyü kaydedelim
imagepng($im, './beyazdikdortgenresmi.png');
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagefilledrectangle()


Belli bir bölgeyi belli bir renge boyar

  • « imagefilledrectangle
  • imagefilter »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belli bir bölgeyi belli bir renge boyar

imagefilltoborder

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefilltoborder — Belli bir bölgeyi belli bir renge boyar

Açıklama

imagefilltoborder(
GdImage $görüntü,
int $x,
int $y,
int $kenar_rengi,
int $dolgu
): bool

imagefilltoborder() işlevi sınırları kenar_rengi ile tanımlanmış bir bölgeyi dolgu renginde boyar. Doldurma işleminin başlangıç noktası x ve y ile belirtilir. Resmin sol üst köşesinin koordinatları 0,0'dır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x

Başlangıç noktasının X konumu.

y

Başlangıç noktasının Y konumu.

kenar_rengi

Kenar rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

dolgu

Dolgu rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir elipsi belli bir renge boyamak

<?php
// Tuvalimizi oluşturup artalan rengini beyaz yapalım
$im = imagecreatetruecolor(100, 100);
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 255, 255, 255));

// Siyah kalemle bir elips çizelim
imageellipse($im, 50, 50, 50, 50, imagecolorallocate($im, 0, 0, 0));

// Kenar ve dolgu renklerini belirleyelim
$kenar = imagecolorallocate($im, 0, 0, 0);
$dolgu = imagecolorallocate($im, 255, 0, 0);

// Kenar rengine göre belirlenen kapalı alanı boyayalım
imagefilltoborder($im, 50, 50, $kenar, $dolgu);

// Görüntüyü çıktılayıp belleği serbest bırakalım
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Bir elipsi belli bir renge boyamak

Notlar

Algoritma, hangi piksellerin önceden ayarlandığını açıkça hatırlamaz, bunun yerine pikselin renginden bunu çıkarır, bu nedenle yeni ayarlanmış pikseller ile zaten orada olan pikseller arasında ayrım yapamaz. Bu, görüntüde halihazırda kullanılan herhangi bir dolgu renginin seçilmesinin istenmeyen sonuçlara yol açabileceği anlamına gelir.


Bir görüntüye bir süzgeç uygular

  • « imagefilltoborder
  • imageflip »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntüye bir süzgeç uygular

imagefilter

(PHP 5, PHP 7, PHP 8)

imagefilter — Bir görüntüye bir süzgeç uygular

Açıklama

imagefilter(GdImage $image, int $süzgeç, array|int|float|bool ...$seçenekler): bool

imagefilter() işlevi, türü süzgeç ile belirtilen süzgeci görüntüye uygular.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

süzgeç

süzgeç şunlardan biri olabilir:

  • IMG_FILTER_NEGATE: Görüntüdeki tüm renkleri zıt renge dönüştürür.
  • IMG_FILTER_GRAYSCALE: Görüntüyü gri tonlamalı hale getirir. REC.601 luma (Y') hesaplamasındaki katsayılar kullanılarak kırmızı, yeşil ve mavi bileşenlerin ağırlıklı ortalamalarından gri tonlama elde edilir.
  • IMG_FILTER_BRIGHTNESS: Görüntünün parlaklığını değiştirir. Parlaklık seviyesini belirtmek için seçenekler[0] bağımsız değişkenini kullanın. Parlaklık -255 ile 255 arasındadır.
  • IMG_FILTER_CONTRAST: Görüntünün karşıtlık seviyesini değiştirir. Karşıtlık seviyesini belirtmek için seçenekler[0] bağımsız değişkenini kullanın.
  • IMG_FILTER_COLORIZE: Rengi sizin belirtmeniz dışında IMG_FILTER_GRAYSCALE gibidir. Kırmızı, yeşil ve mavi renk seviyeleri belirtmek için sırayla seçenekler[0], seçenekler[1] ve seçenekler[2] bağımsız değişkenlerini, alfa kanalı için de seçenekler[3] bağımsız değişkenini kullanın. Ana renklerin seviyesi 0 ile 255 arasında belirtilebilir.
  • IMG_FILTER_EDGEDETECT: Görüntünün kenarlarını vurgulamak için kenar algılaması kullanılır.
  • IMG_FILTER_EMBOSS: Görüntüye kabartma uygular.
  • IMG_FILTER_GAUSSIAN_BLUR: Görüntüyü Gauss yöntemiyle bulanıklaştırır.
  • IMG_FILTER_SELECTIVE_BLUR: Görüntüyü bulanıklaştırır.
  • IMG_FILTER_MEAN_REMOVAL: Karalama taslak etkisi oluşturmak için silme işlemi uygular.
  • IMG_FILTER_SMOOTH: Görüntünün sert hatlarını yumuşatır. Yumuşatma seviyesini belirtmek için seçenekler[0] bağımsız değişkenini kullanın.
  • IMG_FILTER_PIXELATE: Görüntüye mozaik etkisi verir. Mozaik boyutu için seçenekler[0] mozaik etki kipini belirtmek için seçenekler[1] bağımsız değişkenini kullanın.
  • IMG_FILTER_SCATTER: Görüntüye saçılma etkisi verir, etki gücünü tanımlamak için seçenekler[0] ve seçenekler[1]'i ve yalnızca seçili piksel renklerini uygulamak için seçenekler[2]'yi kullanın.

seçenekler[0]

  • IMG_FILTER_BRIGHTNESS: Parlaklık seviyesi.
  • IMG_FILTER_CONTRAST: Karşıtlık seviyesi.
  • IMG_FILTER_COLORIZE: Kırmızı bileşenin değeri.
  • IMG_FILTER_SMOOTH: Yumuşatma seviyesi.
  • IMG_FILTER_PIXELATE: Piksel cinsinden mozaik boyu.
  • IMG_FILTER_SCATTER: Etki eksiltme seviyesi. Bu, seçenekler[1] ile ayarlanan toplama seviyesinden daha yüksek veya ona eşit olmamalıdır.

seçenekler[1]

  • IMG_FILTER_COLORIZE: Yeşil bileşenin değeri.
  • IMG_FILTER_PIXELATE: Gelişkin mozaik etkisinin kullanılıp kullanılmayacağı (false öntanımlıdır).
  • IMG_FILTER_SCATTER: Etki toplama seviyesi.

seçenekler[2]

  • IMG_FILTER_COLORIZE: Mavi bileşenin değeri.
  • IMG_FILTER_SCATTER: Etkiyi uygulamak için isteğe bağlı dizi indisli renk değerleri.

seçenekler[3]

  • IMG_FILTER_COLORIZE: Alfa kanalı. 0-127 arasında belirtilebilir. 0 tamamen mat, 127 ise tamamen şeffaf demektir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
7.4.0 | Saçılma desteği (IMG_FILTER_SCATTER) eklendi.

Örnekler

Örnek 1 - imagefilter() gri tonlama örneği

<?php
$im = imagecreatefrompng('dave.png');

if($im && imagefilter($im, IMG_FILTER_GRAYSCALE))
{
echo 'Görüntüye gri tonlama uygulandı.';

imagepng($im, 'dave.png');
}
else
{
echo 'Görüntüye gri tonlama uygulanamadı.';
}

imagedestroy($im);
?>

Örnek 2 - imagefilter() parlaklık örneği

<?php
$im = imagecreatefrompng('sean.png');

if($im && imagefilter($im, IMG_FILTER_BRIGHTNESS, 20))
{
echo 'Görüntünün parlaklığı değişti.';

imagepng($im, 'sean.png');
imagedestroy($im);
}
else
{
echo 'Görüntünün parlaklığı değiştirilemedi.';
}
?>

Örnek 3 - imagefilter() renklendirme örneği

<?php
$im = imagecreatefrompng('philip.png');

/* K, Y, M olarak 0, 255, 0 yeşildir */
if($im && imagefilter($im, IMG_FILTER_COLORIZE, 0, 255, 0))
{
echo 'Görüntü yeşertildi.';

imagepng($im, 'philip.png');
imagedestroy($im);
}
else
{
echo 'Görüntü yeşertilemedi.';
}
?>

Örnek 4 imagefilter() negatiflik örneği

<?php
// İşlevin taşınabilir olması için, yani imagefilter() kullanamadığımız
// durumlar için kendi negatiflik işlevimizi yazalım
function negate($im)
{
if(function_exists('imagefilter'))
{
return imagefilter($im, IMG_FILTER_NEGATE);
}

for($x = 0; $x < imagesx($im); ++$x)
{
for($y = 0; $y < imagesy($im); ++$y)
{
$index = imagecolorat($im, $x, $y);
$rgb = imagecolorsforindex($index);
$color = imagecolorallocate($im, 255 - $rgb['red'],
255 - $rgb['green'], 255 - $rgb['blue']);

imagesetpixel($im, $x, $y, $color);
}
}

return(true);
}

$im = imagecreatefromjpeg('kalle.jpg');

if($im && negate($im))
{
echo 'Görüntünün negatifi başarıyla elde edildi.';

imagejpeg($im, 'kalle.jpg', 100);
imagedestroy($im);
}
else
{
echo 'Görüntünün negatifi elde edilemedi.';
}
?>

Örnek 5 imagefilter() mozaikleştirme örneği

<?php
// PHP logosunu yükleyelim, farkları göstermek için bize iki görüntü lazım
$logo1 = imagecreatefrompng('./php.png');
$logo2 = imagecreatefrompng('./php.png');

// Üzerinde farkları göstermek için bir tuval oluşturalım
$output = imagecreatetruecolor(imagesx($logo1) * 2, imagesy($logo1));

// Her örneğe 3 piksellik mozaikleştirme uygulayalım
imagefilter($logo1, IMG_FILTER_PIXELATE, 3);
imagefilter($logo2, IMG_FILTER_PIXELATE, 3, true);

// Farkları çıktı görüntüsünde karıştıralım
imagecopy($output, $logo1, 0, 0, 0, 0, imagesx($logo1) - 1,
imagesy($logo1) - 1);
imagecopy($output, $logo2, imagesx($logo2), 0, 0, 0,
imagesx($logo2) - 1, imagesy($logo2) - 1);
imagedestroy($logo1);
imagedestroy($logo2);

// Farkları çıktılayalım
header('Content-Type: image/png');
imagepng($output);
imagedestroy($output);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagefilter() mozaikleştirme

Örnek 6 - imagefilter() saçılma örneği

<?php
// PHP logosunu yükleyelim
$logo = imagecreatefrompng('./php.png');

// Görüntüye çok yumuşak saçılma etkisi uygulayalım
imagefilter($logo, IMG_FILTER_SCATTER, 3, 5);

// Saçılma etkili görüntüyü çıktılayalım
header('Content-Type: image/png');
imagepng($logo);
imagedestroy($logo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagefilter() saçılma

Notlar

Bilginize: IMG_FILTER_SCATTER sonucu daima rastgeledir.

Ayrıca Bakınız

  • imageconvolution() - Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular


Belirtilen kipi kullanarak görüntüyü ters çevirir

  • « imagefilter
  • imagefontheight »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Belirtilen kipi kullanarak görüntüyü ters çevirir

imageflip

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imageflip — Belirtilen kipi kullanarak görüntüyü ters çevirir

Açıklama

imageflip(GdImage $görüntü, int $kip): bool

Belirtilen kipe göre görüntüyü ters çevirir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kip

Görüntünün nasıl ters çevrileceği aşağıdaki IMG_FLIP_* sabitleri ile belirtilir:

Sabit | Anlamı
IMG_FLIP_HORIZONTAL | Resim yatay olarak ters çevrilir.
IMG_FLIP_VERTICAL | Resim dikey olarak ters çevrilir.
IMG_FLIP_BOTH | Resim hem dikey hem de yatay olarak ters çevrilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Görüntüyü dikey olarak ters çevirmek

Bu örnekte IMG_FLIP_VERTICAL sabiti kullanılmıştır.

<?php
// Dosya
$filename = 'phplogo.png';

// İçerik türü
header('Content-Type: image/png');

// Yükle
$im = imagecreatefrompng($filename);

// Düşey olarak tersine çevir
imageflip($im, IMG_FLIP_VERTICAL);

// Çıktıla
imagejpeg($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Düşeyde ters çevrilmiş görüntü

Örnek 2 - Görüntüyü yatay olarak ters çevirmek

Bu örnekte IMG_FLIP_HORIZONTAL sabiti kullanılmıştır.

<?php
// Dosya
$filename = 'phplogo.png';

// İçerik türü
header('Content-Type: image/png');

// Yükle
$im = imagecreatefrompng($filename);

// Yatayda tersine çevir
imageflip($im, IMG_FLIP_HORIZONTAL);

// Çıktıla
imagejpeg($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Yatayda ters çevrilmiş görüntü


Yazı tipi piksel yüksekliğini döndürür

  • « imageflip
  • imagefontwidth »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yazı tipi piksel yüksekliğini döndürür

imagefontheight

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefontheight — Yazı tipi piksel yüksekliğini döndürür

Açıklama

imagefontheight(GdFont|int $yazıtipi): int

Belirtilen yazı tipinin bir karakterinin piksel cinsinden yüksekliğini döndürür.

Bağımsız Değişkenler

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

Dönen Değerler

Piksel cinsinden yükseklik döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.

Örnekler

Örnek 1 - Yerleşik yazı tipleri üzerinde imagefontheight()

<?php
echo 'Yazı tipi yüksekliği: ' . imagefontheight(4) . ' piksel';
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yazı tipi yüksekliği: 16 piksel

Örnek 2 - imagefontheight() ile imageloadfont() işlevinin birlikte kullanımı

<?php
// Bir .gdf yazı tipi yükleyelim
$font = imageloadfont('anonymous.gdf');

echo 'Yazı tipi yüksekliği: ' . imagefontheight($font) . ' piksel';
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yazı tipi yüksekliği: 43 piksel

Ayrıca Bakınız

  • imagefontwidth() - Yazı tipi piksel genişliğini döndürür
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler


Yazı tipi piksel genişliğini döndürür

  • « imagefontheight
  • imageftbbox »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yazı tipi piksel genişliğini döndürür

imagefontwidth

(PHP 4, PHP 5, PHP 7, PHP 8)

imagefontwidth — Yazı tipi piksel genişliğini döndürür

Açıklama

imagefontwidth(GdFont|int $yazıtipi): int

Belirtilen yazı tipindeki bir karakterin piksel cinsinden genişliğini döndürür.

Bağımsız Değişkenler

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

Dönen Değerler

Piksel cinsinden genişlik döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.

Örnekler

Örnek 1 - Yerleşik yazı tipleri üzerinde imagefontwidth()

<?php
echo 'Yazı tipi genişliği: ' . imagefontwidth(4) . ' piksel';
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yazı tipi genişliği: 8 piksel

Örnek 2 - imagefontwidth() ile imageloadfont() işlevinin birlikte kullanımı

<?php
// Bir .gdf yazı tipi yükleyelim
$font = imageloadfont('anonymous.gdf');

echo 'Yazı tipi genişliği: ' . imagefontwidth($font) . ' piksel';
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yazı tipi genişliği: 23 piksel

Ayrıca Bakınız

  • imagefontheight() - Yazı tipi piksel yüksekliğini döndürür
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler


Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar

  • « imagefontwidth
  • imagefttext »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar

imageftbbox

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imageftbbox — Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar

Açıklama

imageftbbox(
float $boyut,
float $açı,
string $yazıtipi,
string $metin,
array $seçenekler = []
): array|false

Bu işlev, bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar.

Bilginize:

PHP 8.0.0 öncesinde imageftbbox() işlevi imagettfbbox() işlevinin geliştirilmişi olup ek olarak seçenekler bağımsız değişkenine sahipti. PHP 8.0.0 ve sonrasında imagettfbbox() işlevi imageftbbox() işlevinin takma adıdır.

Bağımsız Değişkenler

boyut

Punto cinsinden yazıtipi boyutu.

açı

Metnin yazım açısı.

yazıtipi

FreeType2 yazı tipi dosyasının ismi. Bir URL olarak belirtilebilir. PHP'nin kullandığı GD kütüphanesinin sürümüne bağlı olarak, / ile başlamayan bir FreeType2 dosya ismine .ttf uzantısı eklenir ve kütüphane bu dosya ismini kütüphanede tanımlı dizinlerde arar.

metin

Çerçevesi hesaplanacak metin.

seçenekler

seçenekler için olası dizi indisleri
Anahtar | Türü | Anlamı
linespacing | float | Satırlar arasındaki boşluğu tanımlar.

Dönen Değerler

Metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi ile döner:

0 | Sol alt köşenin X konumu
1 | Sol alt köşenin Y konumu
2 | Sağ alt köşenin X konumu
3 | Sağ alt köşenin Y konumu
4 | Sağ üst köşenin X konumu
5 | Sağ üst köşenin Y konumu
6 | Sol üst köşenin X konumu
7 | Sol üst köşenin Y konumu

Noktalar açıdan bağımsız olarak metne görelidir. Yani, "sol üst" denince metne yatay olarak bakarken sol üst köşe kastedilmektedir.

Başarısızlık durumunda, false döner.

Örnekler

Örnek 1 - imageftbbox() örneği

<?php
// Tuvalimizi oluşturalım
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Artalan rengi beyaz olsun
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Yazı tipi dosyamızın yolu
$font = './arial.ttf';

// Metin çerçevesini hesaplatalım
$bbox = imageftbbox(10, 0, $font, 'The PHP Documentation Group');

// Metnin yazılmaya başlanacağı koordinatlar
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 5;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

imagefttext($im, 10, 0, $x, $y, $black, $font, 'The PHP Documentation Group');

// Görüntüyü çıktılayalım
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notlar

Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • imagefttext() - Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar
  • imagettfbbox() - TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür


Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar

  • « imageftbbox
  • imagegammacorrect »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar

imagefttext

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagefttext — Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar

Açıklama

imagefttext(
GdImage $görüntü,
float $boyut,
float $açı,
int $x,
int $y,
int $renk,
string $yazıtipi,
string $metin,
array $seçenekler = []
): array|false

Bilginize:

PHP 8.0.0 öncesinde imagefttext() işlevi imagettftext() işlevinin geliştirilmişi olup ek olarak seçenekler bağımsız değişkenine sahipti. PHP 8.0.0 ve sonrasında imagettftext() işlevi imagefttext() işlevinin takma adıdır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

boyut

Kullanılacak yazı tipinin punto olarak boyutu.

açı

Derece cinsinden açı. Soldan sağa yazılan bir metnin açısı 0 derecedir. Daha büyük değerler ters saat yönünde belirtilmiş varsayılır. Örneğin 90 derecelik bir metin aşağıdan yukarı doğru yazılır.

x

x ve y ile belirtilen koordinatlar ilk harfin taban noktasını (kabaca harfin sol alt köşesi) tanımlar. Bu tanımlama, koordinatların harfin sol üst köşesini tanımladığı imagestring() işlevinden farklıdır. Resmin sol üst köşesinin koordinatları 0, 0'dır.

y

x bağımsız değişkenine bakınız.

renk

Renk indisi. Negatif bir renk indisi kenar yumuşatmayı kapatır. imagecolorallocate() işlevine bakınız.

yazıtipi

Kullanılacak FreeType2 yazı tipi dosyasının yolu.

PHP'nin kullandığı GD kütüphanesinin sürümüne bağlı olarak, / ile başlamayan bir FreeType2 dosya ismine .ttf uzantısı eklenir ve kütüphane bu dosya ismini kütüphanede tanımlı dizinlerde arar.

Yazı tiplerinin betikle aynı dizinde bulunduğu durumlarda herhangi bir sorun çıkmaması için aşağıdaki çözüm kullanılabilir.

<?php
// GD ortam değişkenini tanımlayalım
putenv('GDFONTPATH=' . realpath('.'));

// Kullanılacak yazı tipinin ismi (dikkat: .ttf uzantısı yok)
$font = 'freesans';
?>

metin

Resme yerleştirilecek metin.

seçenekler

seçenekler için olası dizi indisleri
Anahtar | Türü | Anlamı
linespacing | float | Satırlar arasındaki boşluğu tanımlar.

Dönen Değerler

Metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi ile döner:

0 | Sol alt köşenin X konumu
1 | Sol alt köşenin Y konumu
2 | Sağ alt köşenin X konumu
3 | Sağ alt köşenin Y konumu
4 | Sağ üst köşenin X konumu
5 | Sağ üst köşenin Y konumu
6 | Sol üst köşenin X konumu
7 | Sol üst köşenin Y konumu

Başarısızlık durumunda, false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagefttext() örneği

<?php
// 300x100 bir tuval oluşturalım
$im = imagecreatetruecolor(300, 100);
$red = imagecolorallocate($im, 0xFF, 0x00, 0x00);
$black = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Artalan rengi kırmızı olsun
imagefilledrectangle($im, 0, 0, 299, 99, $red);

// ttf dosyamızın yolu
$font_file = './arial.ttf';

// 'PHP Manual' metnini 13 puntoluk yazdıralım
imagefttext($im, 13, 0, 105, 55, $black, $font_file, 'PHP Manual');

// Görüntüyü tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notlar

Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • imageftbbox() - Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar
  • imagettftext() - Metni görüntüye TrueType yazı tipi ile yazar


Bir GD görüntüye gamma düzeltmesi uygular

  • « imagefttext
  • imagegd2 »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir GD görüntüye gamma düzeltmesi uygular

imagegammacorrect

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegammacorrect — Bir GD görüntüye gamma düzeltmesi uygular

Açıklama

imagegammacorrect(GdImage $görüntü, float $girdi_gamması, float $çıktı_gamması): bool

görüntü ile belirtilen GD görüntüye belirtilen girdi ve çıktı gamma düzeltmelerini uygular.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

girdi_gamması

Girdi gamması.

çıktı_gamması

Çıktı gamması.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagegammacorrect() örneği

<?php
// Bir görüntü yükleyelim
$im = imagecreatefromgif('php.gif');

// Gammayı düzeltelim, çıktı = 1.537
imagegammacorrect($im, 1.0, 1.537);

// Görüntüyü kaydedip belleği serbest bırakalım
imagegif($im, './php_gamma_corrected.gif');
imagedestroy($im);
?>


Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar

  • « imagegammacorrect
  • imagegd »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar

imagegd2

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagegd2 — Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar

Açıklama

imagegd2(
GdImage $görüntü,
?string $dosya = null,
int $parça_boyutu = 128,
int $tür = IMG_GD2_RAW
): bool

Bir GD2 görüntüyü belirtilen dosyaya çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

GD2 görüntünün kaydedileceği yol. Belirtilmezse veya null verilirse ham görüntü akımı doğrudan çıktılanır.

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

parça_boyutu

Parça boyutu.

tür

IMG_GD2_RAW veya IMG_GD2_COMPRESSED olabilir. IMG_GD2_RAW öntanımlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | dosya artık null olabiliyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir GD2 görüntünün çıktılanması

<?php
// Bir tuval oluşturup üzerine bir metin çizelim
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);

// Görüntüyü çıktılayalım
imagegd2($im);

// Belleği serbest bırakalım
imagedestroy($im);
?>

Örnek 2 - Bir GD2 görüntünün kaydedilmesi

<?php
// Bir tuval oluşturup üzerine bir metin çizelim
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);

// gd2 görüntüyü kaydedelim
// GD2 görüntülerin dosya biçemi .gd2'dir.
// http://www.libgd.org/GdFileFormats adresine bakınız
imagegd2($im, 'simple.gd2');

// Belleği serbest bırakalım
imagedestroy($im);
?>

Notlar

Bilginize:

GD2 biçemi görüntü parçalarının hızlı yüklenebilmesi için kullanılan bir görüntü biçemidir. GD2 biçeminin sadece GD2 uyumlu uygulamalarda kullanılabileceğine dikkat ediniz.

Uyarı

GD ve GD2 görüntü biçemleri libgd'nin tescilli görüntü biçemleridir. Bunlar kullanımdan kalkmış kabul edilmeli, geliştirme ve deneme amacı dışında kullanılmamalıdır.

Ayrıca Bakınız

  • imagegd() - Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar


Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar

  • « imagegd2
  • imagegetclip »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar

imagegd

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imagegd — Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar

Açıklama

imagegd(GdImage $görüntü, ?string $dosya = null): bool

Bir GD görüntüyü dosya ile belirtilen dosyaya çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | dosya artık null olabiliyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
7.2.0 | imagegd() artık gerçek renkli görüntüleri çıktılamayı sağlıyor. Evvelce bu örtük olarak palete dönüşürdü.

Örnekler

Örnek 1 - Bir GD görüntünün çıktılanması

<?php
// Bir tuval oluşturup üzerine bir metin çizelim
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);

// Görüntüyü çıktılayalım
imagegd($im);

// Belleği serbest bırakalım
imagedestroy($im);
?>

Örnek 2 - Bir GD görüntünün kaydedilmesi

<?php
// Bir tuval oluşturup üzerine bir metin çizelim
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);

// gd görüntüyü kaydedelim
// GD görüntülerin dosya biçemi .gd'dir.
// http://www.libgd.org/GdFileFormats adresine bakınız
imagegd($im, 'simple.gd');

// Belleği serbest bırakalım
imagedestroy($im);
?>

Notlar

Bilginize:

GD biçemi görüntü parçalarının hızlı yüklenebilmesi için kullanılan bir görüntü biçemidir. GD biçeminin sadece GD uyumlu uygulamalarda kullanılabileceğine dikkat ediniz.

Uyarı

GD ve GD2 görüntü biçemleri libgd'nin tescilli görüntü biçemleridir. Bunlar kullanımdan kalkmış kabul edilmeli, geliştirme ve deneme amacı dışında kullanılmamalıdır.

Ayrıca Bakınız

  • imagegd2() - Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar


Kırpma dikdörtgenini döndürür

  • « imagegd
  • imagegetinterpolation »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kırpma dikdörtgenini döndürür

imagegetclip

(PHP 7 >= 7.2.0, PHP 8)

imagegetclip — Kırpma dikdörtgenini döndürür

Açıklama

imagegetclip(GdImage $görüntü): array

imagegetclip() geçerli kırpma dikdörtgeninin koordinatlarını döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

İşlev, aşağıdaki girdilere sahip kırpma dikdörtgenini içeren diziyi döndürür:

  • x-üst sol köşenin koordinatı
  • y-üst sağ köşenin koordinatı
  • x-alt sol köşenin koordinatı
  • y-alt sağ köşenin koordinatı

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagegetclip() örneği

Kırpma dikdörtgeninin tanımlanması ve döndürülmesi.

<?php
$im = imagecreate(100, 100);
imagesetclip($im, 10,10, 89,89);
print_r(imagegetclip($im));

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 10
    [1] => 10
    [2] => 89
    [3] => 89
)

Ayrıca Bakınız

  • imagesetclip() - Kırpma dikdörtgenini tanımlar


Ara değerleme yöntemini döndürür

  • « imagegetclip
  • imagegif »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Ara değerleme yöntemini döndürür

imagegetinterpolation

(PHP 8)

imagegetinterpolation — Ara değerleme yöntemini döndürür

Açıklama

imagegetinterpolation(GdImage $görüntü): int

görüntü nesnesine atanmış ara değerleme yöntemini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

Ara değerleme yöntemini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Ayrıca Bakınız

  • imagesetinterpolation() - Ara değerleme yöntemini tanımlar


Görüntüyü tarayıcıya veya dosyaya yazar.

  • « imagegetinterpolation
  • imagegrabscreen »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü tarayıcıya veya dosyaya yazar.

imagegif

(PHP 4, PHP 5, PHP 7, PHP 8)

imagegif — Görüntüyü tarayıcıya veya dosyaya yazar.

Açıklama

imagegif(GdImage $görüntü, resource|string|null $dosya = null): bool

imagegif() işlevi görüntü ile belirtilen görüntünün GIF biçemlisini oluşturup dosyaya çıktılar. görüntü bağımsız değişkeni imagecreate() veya imagecreatefrom* işlevleri tarafından oluşturulmuş bir görüntüyü belirtmelidir.

Görüntünün artalanı imagecolortransparent() ile şeffaf yapılmışsa dosya biçemi GIF89a, aksi takdirde GIF87a'dır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagegif() ile bir görüntüyü çıktılamak

<?php
// Boş bir görüntü oluşturalım
$im = imagecreatetruecolor(100, 100);

// Artalan rengi beyaz olsun
imagefilledrectangle($im, 0, 0, 99, 99, 0xFFFFFF);

// Görüntüye bir metin çizelim
imagestring($im, 3, 40, 20, 'GD Library', 0xFFBA00);

// Görüntüyü tarayıcıya gönderelim
header('Content-Type: image/gif');

imagegif($im);
imagedestroy($im);
?>

Örnek 2 - Bir PNG görüntüyü imagegif() ile bir GIF görüntüye dönüştürmek

<?php

// Görüntüyü PNG olarak yükleyelim
$png = imagecreatefrompng('./php.png');

// Bir GIF olarak kaydedelim
imagegif($png, './php.gif');

// Belleği serbest bırakalım
imagedestroy($png);

// İşimiz bitti
echo 'PNG başarıyla GIF yapıldı!';
?>

Notlar

Bilginize:

Aşağıdaki kod parçası GD desteğinin durumuna bakarak taşınabilir PHP uygulamaları yazmanızı sağlar:

<?php
// Boş bir görüntü oluşturalım
$im = imagecreatetruecolor(100, 100);

// Görüntü üzerinde bazı işlemler yapalım

// Görüntüyü çıktılayalım
if(function_exists('imagegif'))
{
// GIF için
header('Content-Type: image/gif');

imagegif($im);
}
elseif(function_exists('imagejpeg'))
{
// JPEG için
header('Content-Type: image/jpeg');

imagejpeg($im, NULL, 100);
}
elseif(function_exists('imagepng'))
{
// PNG için
header('Content-Type: image/png');

imagepng($im);
}
elseif(function_exists('imagewbmp'))
{
// WBMP için
header('Content-Type: image/vnd.wap.wbmp');

imagewbmp($im);
}
else
{
imagedestroy($im);

die('Bu PHP sunucusunda görüntü desteği yok');
}

// Görüntü desteği varsa belleği serbest bırakalım
if($im)
{
imagedestroy($im);
}
?>

Bilginize:

Desteklenen resim biçemlerini bulmak için function_exists() yerine imagetypes() işlevini kullanabilirsiniz:

<?php
if(imagetypes() & IMG_GIF)
{
header('Content-Type: image/gif');
imagegif($im);
}
elseif(imagetypes() & IMG_JPG)
{
/* ... vb. */
}
?>

Ayrıca Bakınız

  • imagepng() - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagejpeg() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür


Ekran görüntüsünü yakalar

  • « imagegif
  • imagegrabwindow »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Ekran görüntüsünü yakalar

imagegrabscreen

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabscreen — Ekran görüntüsünü yakalar

Açıklama

imagegrabscreen(): GdImage|false

Ekranın tamamının bir görüntüsünü yakalar.

Bilginize:

Bu işlev sadece Windows'ta kullanılabilmektedir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata oluşursa false aksi takdirde bir görüntü nesnesi ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık GDImage nesnesi döndürüyor; evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - imagegrabscreen() örneği

Bu örnekte ekran görüntüsünün nasıl alınıp bir PNG görüntü olarak kaydedileceği gösterilmiştir.

<?php
$im = imagegrabscreen();
imagepng($im, "ekranım.png");
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagegrabwindow() - Bir pencereyi yakalar


Bir pencereyi yakalar

  • « imagegrabscreen
  • imageinterlace »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir pencereyi yakalar

imagegrabwindow

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabwindow — Bir pencereyi yakalar

Açıklama

imagegrabwindow(int $pencere, bool $istemci_alanı = false): GdImage|false

Bir pencere tanıtıcısı (pencerenin COM örneğinin HWND özelliği) kullanarak bir pencerenin tamamının veya sadece içinin görüntüsünü yakalar.

Bilginize:

Bu işlev sadece Windows üzerinde kullanılabilir.

Bağımsız Değişkenler

pencere

Görüntüsü yakalanacak pencerenin COM örneğinin HWND özelliği.

istemci_alanı

Pencerenin istemci alanı.

Dönen Değerler

Hata oluşursa false aksi takdirde bir görüntü nesnesi ile döner.

Hatalar/İstisnalar

pencere geçersiz bir tanıtıcı içeriyorsa bir E_NOTICE, Windows API çok eskiyse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda işlev artık GDImage nesnesi döndürüyor; evvelce resource türünde bir değer dönerdi.
8.0.0 | istemci_alanı artık bool tür kabul ediyor; evvelce bu, int idi.

Örnekler

Örnek 1 - imagegrabwindow() örneği

Bir pencere yakalamak için (örneğin IE):

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Bir pencerenin sadece içeriğini yakalamak için (örneğin IE):

<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Hala çalışıyor mu? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagegrabscreen() - Ekran görüntüsünü yakalar


Geçişimliliği açıp kapar

  • « imagegrabwindow
  • imageistruecolor »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Geçişimliliği açıp kapar

imageinterlace

(PHP 4, PHP 5, PHP 7, PHP 8)

imageinterlace — Geçişimliliği açıp kapar

Açıklama

imageinterlace(GdImage $görüntü, ?bool $etkin = null): bool

imageinterlace() işlevi geçişim bitini açıp kapar.

Eğer geçişim biti etkin ve görüntü bir JPEG görüntü olarak kullanılmışsa görüntü aşamalı JPEG olarak oluşturulur.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

etkin

true ise görüntü geçişimli olur, false ise geçişim biti kapatılır. null aktarılması geçişim bitinde değişiklik olmadığı anlamına gelir.

Dönen Değerler

Geçişim biti etkinse 1 aksi takdirde 0 döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.5 | imageinterlace() artık bool değer döndürüyor; evvelce int değer dönerdi (geçişimliyse sıfırdan farklı, değilse sıfır).
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | etkin artık bool kabul ediyor; evvelce bu, int idi.

Örnekler

Örnek 1 - imageinterlace() ile geçişimi etkin kılmak

<?php
// Bir görüntü taslağı oluşturalım
$im = imagecreatefromgif('php.gif');

// Geçişimi etkin kılalım
imageinterlace($im, true);

// Geçişimli görüntüyü kaydedelim
imagegif($im, './php_interlaced.gif');
imagedestroy($im);
?>


Bir görüntünün gerçek renkli olup olmadığını bulur

  • « imageinterlace
  • imagejpeg »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntünün gerçek renkli olup olmadığını bulur

imageistruecolor

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imageistruecolor — Bir görüntünün gerçek renkli olup olmadığını bulur

Açıklama

imageistruecolor(GdImage $görüntü): bool

imageistruecolor() işlevi belirtilen görüntünün bir gerçek renkli görüntü olup olmadığına bakar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

görüntü gerçek renkli ise true aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imageistruecolor() ile görüntünün gerçek renkli olup olmadığının saptanması

<?php
// $im bir görüntü tanıtıcısı olsun

// Bakalım görüntü gerçek renkli miymiş?
if(!imageistruecolor($im))
{
// Değilse gerçek renkli yeni bir taslak oluşturalım
$tc = imagecreatetruecolor(imagesx($im), imagesy($im));

//Piksellerin üstüne kopyala
imagecopy($tc, $im, 0, 0, 0, 0, imagesx($im), imagesy($im));
imagedestroy($im);

$im = $tc;
$tc = NULL;

// VEYA imagepalettetotruecolor() kullan
}

// Görüntü taslağıyla çalışmaya devam
?>

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • imagepalettetotruecolor() - Palet tabanlı bir görüntüyü gerçek renge dönüştürür


Görüntüyü tarayıcıya veya dosyaya yazar.

  • « imageistruecolor
  • imagelayereffect »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü tarayıcıya veya dosyaya yazar.

imagejpeg

(PHP 4, PHP 5, PHP 7, PHP 8)

imagejpeg — Görüntüyü tarayıcıya veya dosyaya yazar.

Açıklama

imagejpeg(GdImage $görüntü, resource|string|null $çıktıyeri = null, int $kalite = -1): bool

imagejpeg() işlevi görüntü ile belirtilen JPEG biçemli görüntüyü tarayıcıya veya bir dosyaya çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

çıktıyeri

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

kalite

kalite isteğe bağlı olup 0'dan (en kötü kalite, en küçük dosya) 100'e (en yüksek kalite, en büyük dosya) kadar bir değer belirtilebilir. Öntanımlı değer (-1), öntanımlı IJG kalite değerini (yaklaşık 75) kullanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Bir JPEG görüntüyü tarayıcıya çıktılamak

<?php
// Bir görüntü taslağı oluşturup bir metin ekle
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// İçerik türünü belirt
header('Content-Type: image/jpeg');

// Görüntüyü çıktıla
imagejpeg($im);

// Belleği serbest bırak
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Bir JPEG resmini çıktılamak

Örnek 2 - Bir JPEG görüntüyü bir dosyaya kaydetmek

<?php
// Bir görüntü taslağı oluşturup bir metin ekle
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// Görüntüyü 'basitmetin.jpg' ismiyle kaydet
imagejpeg($im, 'basitmetin.jpg');

// Belleği serbest bırak
imagedestroy($im);
?>

Örnek 3 - Görüntüyü %75 kaliteyle tarayıcıya çıktılamak

<?php
// Bir görüntü taslağı oluşturup bir metin ekle
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);

// İçerik türünü belirt
header('Content-Type: image/jpeg');

// çıktıyeri'ni NULL ile atlayıp kaliteyi 75% yap
imagejpeg($im, NULL, 75);

// Belleği serbest bırak
imagedestroy($im);
?>

Notlar

Bilginize:

Aşamalı JPEG'ler çıktılamak isterseniz geçişimliliği imageinterlace() ile ayarlamalısınız.

Ayrıca Bakınız

  • imagepng() - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagegif() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imageinterlace() - Geçişimliliği açıp kapar
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür


Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar

  • « imagejpeg
  • imageline »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagelayereffect — Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar

Açıklama

imagelayereffect(GdImage $görüntü, int $etki): bool

Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

etki

Şu sabitlerden biri olabilir:

IMG_EFFECT_REPLACE
Piksel değiştirme etkisi kullanılır (imagealphablending() işlevine true aktarmaya eşdeğerdir).
IMG_EFFECT_ALPHABLEND
Normal piksel harmanlaması kullanılır(imagealphablending() işlevine false aktarmaya eşdeğerdir).
IMG_EFFECT_NORMAL
IMG_EFFECT_ALPHABLEND ile aynı.
IMG_EFFECT_OVERLAY
Siyah pikseller siyah, beyaz pikseller beyaz olarak kalırken gri artalan pikselleri önalan pikselinin rengini alırlar.
IMG_EFFECT_MULTIPLY
Çarpma etkisi ile üzerini kaplar.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
7.2.0 | IMG_EFFECT_MULTIPLY eklendi (systemde libgd >= 2.1.1 veya PHP ile gelen libgd gerekir).

Örnekler

Örnek 1 - imagelayereffect() örneği

<?php
// Görüntü taslağını oluşturalım
$im = imagecreatetruecolor(100, 100);

// Artalanı griye boyayalım
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Artalan renk değiştirme etkisini etkin kılalım
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Gri zemine iki elips çizelim
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Görüntüyü çıktılayalım
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagelayereffect()


Bir çizgi çizer

  • « imagelayereffect
  • imageloadfont »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir çizgi çizer

imageline

(PHP 4, PHP 5, PHP 7, PHP 8)

imageline — Bir çizgi çizer

Açıklama

imageline(
GdImage $görüntü,
int $x1,
int $y1,
int $x2,
int $y2,
int $renk
): bool

Belirtilen noktaların arasına bir çizgi çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x1

İlk noktanın X konumu.

y1

İlk noktanın Y konumu.

x2

İkinci noktanın X konumu.

y2

İkinci noktanın Y konumu.

renk

Çizginin rengi. imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Kalın bir çizgi çizelim

<?php

function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1)
{
/* Sadece yatay ve dikey çizgiler için iyi çalışır
imagesetthickness($image, $thick);
return imageline($image, $x1, $y1, $x2, $y2, $color);
*/
if ($thick == 1) {
return imageline($image, $x1, $y1, $x2, $y2, $color);
}
$t = $thick / 2 - 0.5;
if ($x1 == $x2 || $y1 == $y2) {
return imagefilledrectangle($image, round(min($x1, $x2) - $t),
round(min($y1, $y2) - $t), round(max($x1, $x2) + $t),
round(max($y1, $y2) + $t), $color);
}
$k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
$a = $t / sqrt(1 + pow($k, 2));
$points = array(
round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
);
imagefilledpolygon($image, $points, 4, $color);
return imagepolygon($image, $points, 4, $color);
}

?>

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • imagecolorallocate() - Bir görüntü için bir renk ayırır


Yeni bir bit eşlemli yazı tipi yükler

  • « imageline
  • imageopenpolygon »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Yeni bir bit eşlemli yazı tipi yükler

imageloadfont

(PHP 4, PHP 5, PHP 7, PHP 8)

imageloadfont — Yeni bir bit eşlemli yazı tipi yükler

Açıklama

imageloadfont(string $dosya): GdFont|false

imageloadfont() işlevi bir kullanıcı tanımlı biteşlemli yazı tipini yükler ve onun için bir GdFont nesnesi döndürür.

Bağımsız Değişkenler

dosya

İkil ve mimariye bağımlı biçemde yazı tipi dosyası. Yani, yazı tipi dosyalarını PHP'nin çalıştığı makine ile aynı işlemciye (CPU) sahip bir makinede üretmiş olmalısınız.

Yazı tipi dosyası biçemleri
bayt konumu | C veri türü | açıklama
0-3 | int | Yazı tipindeki karakterlerin sayısı.
4-7 | int | Yazı tipindeki ilk karakterin değeri (çoğunlukla boşluk karakterinin kodu olan 32'dir).
8-11 | int | Her karakterin piksel olarak genişliği
12-15 | int | Her karakterin piksel olarak yüksekliği
16- | char | Karakter verisini içeren dizi; bir karakterin her pikseli için bir bayt olmak üzere toplam (karakter_sayısı * genişlik * yükseklik) bayt içerir.

Dönen Değerler

GdFont nesnesi ile döner. Bir hata oluşursa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık GdFont örneği dönüyor, evvelce tamsayı bir değer dönerdi.

Örnekler

Örnek 1 - imageloadfont() örneği

<?php
// Yeni bir görüntü taslağı oluşturalım
$im = imagecreatetruecolor(50, 20);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Artalan rengi beyaz olsun
imagefilledrectangle($im, 0, 0, 49, 19, $white);

// gd yazı tipini yükleyip 'Hello' yazalım
$font = imageloadfont('./04b.gdf');
imagestring($im, $font, 0, 0, 'Hello', $black);

// Görüntüyü tarayıcıya gönderelim
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagefontwidth() - Yazı tipi piksel genişliğini döndürür
  • imagefontheight() - Yazı tipi piksel yüksekliğini döndürür


Açık çokgen çizer

  • « imageloadfont
  • imagepalettecopy »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Açık çokgen çizer

imageopenpolygon

(PHP 7 >= 7.2.0, PHP 8)

imageopenpolygon — Açık çokgen çizer

Açıklama

PHP 8.0.0 ve üstü için sözdizimi (isimli bağımsız değişkenler desteklenmez)

imageopenpolygon(GdImage $görüntü, array $noktalar, int $renk): bool

Diğer sözdizimi (PHP 8.1.0 ve sonrası için önerilmiyor)

imageopenpolygon(
GdImage $görüntü,
array $noktalar,
int $nokta_sayısı,
int $renk
): bool

imageopenpolygon() belirtilen görüntünün üzerine açık bir çokgen çizer. Contrary to imagepolygon() işlevinin aksine, ilk ve son nokta arasına çizgi çizilmez.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

noktalar

Çokgenin köşelerini içeren bir dizi, örn:

points[0] | = x0
points[1] | = y0
points[2] | = x1
points[3] | = y1

nokta_sayısı

Toplam nokta (köşe) sayısı, en az 3 olmalıdır.

İkinci sözdizimindeki gibi bu bağımsız değişkenin yokluğunda noktalar dizisi çift sayıda eleman içermelidir. Bu durumda, nokta_sayısının count($noktalar)/2 olduğu varsayılır.
renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | nokta_sayısı bağımsız değişkeninin kullanımı artık önerilmiyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imageopenpolygon() örneği

<?php
// Boş bir görüntü oluştur
$image = imagecreatetruecolor(400, 300);

// Çokgen için bir renk ayır
$renk = imagecolorallocate($image, 255, 255, 255);

// Çokgeni çiz
imageopenpolygon($image, array(
0, 0,
100, 200,
300, 200
),
3,
$renk);

// Görüntüyü tarayıcıya aktar
header('Content-type: image/png');

imagepng($image);
imagedestroy($image);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imageopenpolygon()

Ayrıca Bakınız

  • imagepolygon() - Çokgen çizer


Paleti bir görüntüden diğerine kopyalar

  • « imageopenpolygon
  • imagepalettetotruecolor »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Paleti bir görüntüden diğerine kopyalar

imagepalettecopy

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagepalettecopy — Paleti bir görüntüden diğerine kopyalar

Açıklama

imagepalettecopy(GdImage $hedef, GdImage $kaynak): void

imagepalettecopy() işlevi kaynak görüntüdeki paleti hedef görüntüye kopyalar.

Bağımsız Değişkenler

hedef

Paletin kopyalanacağı görüntü nesnesi.

kaynak

Kopyalanacak paleti içeren görüntü nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hedef ve kaynak artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - imagepalettecopy() örneği

<?php
// Paletli iki görüntü oluşturalım
$palette1 = imagecreate(100, 100);
$palette2 = imagecreate(100, 100);

// İlk palette artalanı yeşil yapalım
$green = imagecolorallocate($palette1, 0, 255, 0);

// Paleti diğer görüntüye kopyalayalım
imagepalettecopy($palette2, $palette1);

// Böylece imagecolorallocate() işlevini iki kere kullanmadan
// yeşil rengi her iki görüntüde de kullanabiliyoruz
imagefilledrectangle($palette2, 0, 0, 99, 99, $green);

// Görüntüyü tarayıcıya çıktılayalım
header('Content-type: image/png');

imagepng($palette2);
imagedestroy($palette1);
imagedestroy($palette2);
?>


Palet tabanlı bir görüntüyü gerçek renge dönüştürür

  • « imagepalettecopy
  • imagepng »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Palet tabanlı bir görüntüyü gerçek renge dönüştürür

imagepalettetotruecolor

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagepalettetotruecolor — Palet tabanlı bir görüntüyü gerçek renge dönüştürür

Açıklama

imagepalettetotruecolor(GdImage $görüntü): bool

imagecreate() gibi bir işlevle oluşturulmuş palet tabanlı görüntüyü imagecreatetruecolor() işleviyle oluşturulmuş gibi gerçek renkli görüntüye dönüştürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

Dönüşüm tamamlanabilmişse veya kaynak görüntü zaten gerçek renkliyse true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 Görüntü nesnesini gerçek renkliye dönüştürmek

<?php
// Geriye uyumluluk
if(!function_exists('imagepalettetotruecolor'))
{
function imagepalettetotruecolor(&$src)
{
if(imageistruecolor($src))
{
return(true);
}

$dst = imagecreatetruecolor(imagesx($src), imagesy($src));

imagecopy($dst, $src, 0, 0, 0, 0, imagesx($src), imagesy($src));
imagedestroy($src);

$src = $dst;

return(true);
}
}

// Çıktılama işlevi
$typeof = function() use($im)
{
echo 'Görüntü türü = ' . (imageistruecolor($im) ? 'gerçek renkli' : 'paletli'), PHP_EOL;
};

// Palet tabanlı görüntü oluştur
$im = imagecreate(100, 100);
$typeof();

// Gerçek renkliye dönüştür
imagepalettetotruecolor($im);
$typeof();

// Belleği serbest bırak
imagedestroy($im);
?>

Yukarıdaki örneğin çıktısı:

Görüntü türü = paletli
Görüntü türü = gerçek renkli

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • imageistruecolor() - Bir görüntünün gerçek renkli olup olmadığını bulur


Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar

  • « imagepalettetotruecolor
  • imagepolygon »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar

imagepng

(PHP 4, PHP 5, PHP 7, PHP 8)

imagepng — Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar

Açıklama

imagepng(
GdImage $görüntü,
resource|string|null $dosya = null,
int $kalite = -1,
int $süzgeçler = -1
): bool

görüntü ile belirtilen bir PNG görüntüyü tarayıcıya veya bir dosyaya çıktılar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

Bilginize:

Eğer kalite ve süzgeçler bağımsız değişkenleri belirtilmezse null geçersizdir.

kalite

Öntanımlı değer (-1) öntanımlı zlib sıkıştırma değerini kullanır. Daha fazla bilgi için: » zlib kılavuzu.

süzgeçler

PNG dosyasının boyutunu küçültme imkanı sağlar. PNG_FILTER_XXX sabitlerinin bir birleşiminden oluşan bir bit maskesi olarak belirtilir. Ayrıca, tüm süzgeçleri etkisiz veya etkili kılmak için (sırayla) PNG_NO_FILTER veya PNG_ALL_FILTERS sabiti kullanılabilir. Öntanımlı değer (-1) süzme işlemini iptal eder.

Dikkat

süzgeçler bağımsız değişkenini sistem libgd yoksayar.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

<?php
$im = imagecreatefrompng("test.png");

header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Ayrıca Bakınız

  • imagegif() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagewbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagejpeg() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür
  • imagesavealpha() - Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir


Çokgen çizer

  • « imagepng
  • imagerectangle »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Çokgen çizer

imagepolygon

(PHP 4, PHP 5, PHP 7, PHP 8)

imagepolygon — Çokgen çizer

Açıklama

PHP 8.0.0 ve üstü için sözdizimi (isimli bağımsız değişkenler desteklenmez)

imagepolygon(GdImage $görüntü, array $noktalar, int $renk): bool

Diğer sözdizimi (PHP 8.1.0 ve sonrası için önerilmiyor)

imagepolygon(
GdImage $görüntü,
array $noktalar,
int $nokta_sayısı,
int $renk
): bool

imagepolygon() belirtilen görüntü üzerine çokgen çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

noktalar

Çokgenin köşeleri. Dizinin yerleşimi şöyledir:

noktalar[0] | = x0
noktalar[1] | = y0
noktalar[2] | = x1
noktalar[3] | = y1

nokta_sayısı

Köşe sayısı, en az 3 olmalı.

Bu bağımsız değişken, ikinci sözdizimindeki gibi atlanırsa, noktalar çift sayıda olmalı ve nokta_sayısının count($noktalar)/2 olduğu varsayılmalıdır.
renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | nokta_sayısı bağımsız değişkeninin kullanımı artık önerilmiyor.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagepolygon() örneği

<?php
// Bir görüntü taslağı oluşturalım
$grnt = imagecreatetruecolor(400, 300);

// Çokgenin rengini ayarlayalım
$renk = imagecolorallocate($grnt, 255, 255, 255);

// Çokgeni çizelim
imagepolygon($grnt, array(
0, 0,
100, 200,
300, 200
),
3,
$renk);

// Görüntüyü tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($grnt);
imagedestroy($grnt);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagepolygon()

Ayrıca Bakınız

  • imagecreate() - Yeni bir paletli görüntü oluşturur
  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur


Bir dikdörtgen çizer

  • « imagepolygon
  • imageresolution »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dikdörtgen çizer

imagerectangle

(PHP 4, PHP 5, PHP 7, PHP 8)

imagerectangle — Bir dikdörtgen çizer

Açıklama

imagerectangle(
GdImage $görüntü,
int $x1,
int $y1,
int $x2,
int $y2,
int $renk
): bool

imagerectangle() işlevi köşe koordinatları belirtilen dikdörtgeni çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x1

Sol üst köşenin X konumu.

y1

Sol üst köşenin Y konumu. Sol üst köşenin koordinatları 0, 0'dır.

x2

Sağ alt köşenin X konumu.

y2

Sağ alt köşenin Y konumu.

color

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagerectangle() örneği

<?php
// 200 x 200 bir görüntü oluşturalım
$canvas = imagecreatetruecolor(200, 200);

// Renkleri belirleyelim
$pink = imagecolorallocate($canvas, 255, 105, 180);
$white = imagecolorallocate($canvas, 255, 255, 255);
$green = imagecolorallocate($canvas, 132, 135, 28);

// Farklı renklerde üç dikdörtgen çizelim
imagerectangle($canvas, 50, 50, 150, 150, $pink);
imagerectangle($canvas, 45, 60, 120, 100, $white);
imagerectangle($canvas, 100, 120, 75, 160, $green);

// Görüntüyü çıktılayıp belleği serbest bırakalım
header('Content-Type: image/jpeg');

imagejpeg($canvas);
imagedestroy($canvas);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Basit imagerectangle() örneği


Görüntünün çözünürlüğünü tanımlar veya döndürür

  • « imagerectangle
  • imagerotate »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntünün çözünürlüğünü tanımlar veya döndürür

imageresolution

(PHP 7 >= 7.2.0, PHP 8)

imageresolution — Görüntünün çözünürlüğünü tanımlar veya döndürür

Açıklama

imageresolution(GdImage $görüntü, ?int $çözünürlük_x = null, ?int $çözünürlük_y = null): array|bool

imageresolution() belirtilen görüntünün çözünürlüğünü inç başına nokta sayısı (DPI) olarak tanımlar veya döndürür. Seçimlik bağımsız değişkenlere null aktarılırsa, geçerli çözünürlük indisli bir dizide döndürülür. Sadece çözünürlük_x null değilse, yatay ve düşey çözünürlük bu değere ayarlanır. Seçimlik bağımsız değişkenlerin hiçbiri null değilse, yatay ve düşey çözünürlükler sırayla bu değerlere ayarlanır.

Çözünürlük yalnızca görüntüler bu tür bilgileri (şu anda PNG ve JPEG) destekleyen biçimlerden okunduğunda ve bu biçimlere yazıldığında temel bilgi olarak kullanılır. Herhangi bir çizim işlemini etkilemez. Yeni görüntüler için varsayılan çözünürlük 96 DPI'dır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

çözünürlük_x

DPI olarak yatay çözünürlük.

çözünürlük_y

DPI olarak düşey çözünürlük.

Dönen Değerler

Çözünürlüğü döndürmek için kullanıldığında başarılı olursa yatay ve düşey çözünürlükleri içeren bir dizi, başarısızlık durumunda false döner. Çözünürlüğü tanımlamak için kullanıldığında başarılı olursa true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çözünürlük_x ve çözünürlük_y artık null olabiliyor.

Örnekler

Örnek 1 - Bir görüntünün çözünürlüğünü tanımlamak ve döndürmek

<?php
$im = imagecreatetruecolor(100, 100);
imageresolution($im, 200);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 200
    [1] => 200
)
Array
(
    [0] => 300
    [1] => 72
)


Bir görüntüyü belirtilen açıya göre döndürür

  • « imageresolution
  • imagesavealpha »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir görüntüyü belirtilen açıya göre döndürür

imagerotate

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagerotate — Bir görüntüyü belirtilen açıya göre döndürür

Açıklama

imagerotate(GdImage $görüntü, float $açı, int $artalan): GdImage|false

Belirtilen görüntüyü açı derece döndürür.

Dönüş merkezi görüntünün merkezi olup, döndürülen görüntü özgün görüntüden farklı boyutlara sahip olabilir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

açı

Derece olarak saat yönünün tersine dönüş açısı.

artalan

Döndürme işleminden sonra boşta kalan yerin rengi.

Dönen Değerler

Döndürülen görüntü nesnesini döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Kullanılmayan dördüncü bağımsız değişken kaldırıldı.
8.0.0 | Başarı durumunda artık GDImage nesnesi dönüyor; evvelce, resourcetüründe bir değer dönerdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | Kullanılmayan şeffaflığı_yoksay artık bool türünde değer kabul ediyor, evvelce int idi.

Örnekler

Örnek 1 - Bir remin 180° döndürülmesi

Bu örnekte bir resim 180° (başağı) döndürülmektedir.

<?php
// Döndür ve doldur
$filename = 'test.jpg';
$degrees = 180;

// İçerik türü
header('Content-Type: image/jpeg');

// görüntüyü yükle
$source = imagecreatefromjpeg($filename);

// Döndür
$rotate = imagerotate($source, $degrees, 0);

// Çıktıla
imagejpeg($rotate);

// Belleği serbest bırak
imagedestroy($source);
imagedestroy($rotate);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Bir resmi 180 derece döndürmek

Notlar

Bilginize:

Bu işlev imagesetinterpolation() tarafından belirlenmiş ara değerleme yönteminden etkilenmez.

Ayrıca Bakınız

  • imagesetinterpolation() - Ara değerleme yöntemini tanımlar


Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir

  • « imagerotate
  • imagescale »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir

imagesavealpha

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

imagesavealpha — Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir

Açıklama

imagesavealpha(GdImage $görüntü, bool $alfa_kaydet): bool

imagesavealpha() işlevi görüntüleri kaydederken (tek renkli şeffaflığın tersine) alfa kanalı bilgisinin tamamının saklanması için seçenek belirtir. Bu, yalnızca tam alfa kanalı bilgilerini destekleyen PNG, WebP ve AVIF gibi görüntüler için desteklenir.

Bilginize: WebP ve AVIF için alfa kanalının tamamı daima kaydedildiğinden imagesavealpha() yalnızca PNG görüntüler için anlamlıdır. Gelecekte değişebileceği için bu davranışa güvenilmesi önerilmez. Bu bakımdan imagesavealpha() işlevini WebP ve AVIF görüntüleri için de bunu bilerek çağırmak gerekir.

Alfa kanal bilgisinin durduğu yerde kalması için alfa harmanlamayı devreden çıkarmalısınız (imagealphablending($im, false)).

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

alfa_kaydet

Alfa kanalının saklanıp saklanmayacağını belirtilir; false öntanımlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Temel imagesavealpha() kullanımı

<?php
// Alfa kanalları olan bir png gürüntüyü yükle
$png = imagecreatefrompng('./alphachannel_example.png');

// Gerekli işlemleri yap

// Alfa harmanlamasını kapat
imagealphablending($png, false);

// Gerekli işlemleri yap

// Alfa saklama seçeneğini etkin kıl
imagesavealpha($png, true);

// Görüntüyü tarayıcıya gönder
header('Content-Type: image/png');

imagepng($png);
imagedestroy($png);
?>

Ayrıca Bakınız

  • imagealphablending() - Bir görüntü için harmanlama kipini etkinleştirir


Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar

  • « imagesavealpha
  • imagesetbrush »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar

imagescale

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagescale — Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar

Açıklama

imagescale(
GdImage $görüntü,
int $genişlik,
int $yükseklik = -1,
int $kip = IMG_BILINEAR_FIXED
): GdImage|false

imagescale() belirtilen algoritmayı kullanarak görüntüyü oranlar.

Bilginize:

Çoğu GD işlevinin tersine, imagescale() işlevi aktarılan görüntü nesnesinde değişiklik yapmaz; yeni bir görüntü nesnesi döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

genişlik

Oranlanacak görüntüye uygulanacak genişlik.

yükseklik

Oranlanacak görüntüye uygulanacak yükseklik. Belirtilmezse veya negatif ise mevcut oran korunur.

kip

IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED sabitlerinden biri veya başka herhangi bir şey (iki geçiş yapılır).

Bilginize: IMG_WEIGHTED4 henüz desteklenmemektedir.

Dönen Değerler

Başarı durumunda oranlanmış görüntü, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev başarı durumunda artık bir GDImage örneği döndürüyor; evvelce resource türünde bir değer dönerdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Ayrıca Bakınız

  • imagecopyresized() - Görüntünün bir parçasını kopyalar ve boyutlandırır
  • imagecopyresampled() - Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır


Çizgi çizmek için fırça görüntüsü oluşturur

  • « imagescale
  • imagesetclip »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Çizgi çizmek için fırça görüntüsü oluşturur

imagesetbrush

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetbrush — Çizgi çizmek için fırça görüntüsü oluşturur

Açıklama

imagesetbrush(GdImage $görüntü, GdImage $fırça): bool

imagesetbrush() işlevi imageline() ve imagepolygon() gibi çizgi çizme işlevleri tarafından özel IMG_COLOR_STYLED veya IMG_COLOR_STYLEDBRUSHED renkli çizgilerini çizmek için kullanılan fırça resmini oluşturur.

Dikkat

Bir fırça ile işiniz bittiğinde özel bir işlem yapmanız gerekmez, fakat eğer fırça görüntüsünü silerseniz, yeni bir fırça görüntüsü oluşturana kadar IMG_COLOR_BRUSHED veya IMG_COLOR_STYLEDBRUSHED rengini kullanmamalısınız!

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

fırça

Bir görüntü nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü ve fırça artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - imagesetbrush() örneği

<?php
// Minik bir PHP logosu yükle
$php = imagecreatefrompng('./php.png');

// 100x100'lük asıl görüntüyü oluştur
$im = imagecreatetruecolor(100, 100);

// Artalanı beyaz renkle doldur
$white = imagecolorallocate($im, 255, 255, 255);
imagefilledrectangle($im, 0, 0, 299, 99, $white);

// Fırçayı oluştur
imagesetbrush($im, $php);

// Fırçayla bir çizgi çiz
imageline($im, 50, 50, 50, 60, IMG_COLOR_BRUSHED);

// Görüntüyü tarayıcıya gönder
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($php);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagesetbrush()


Kırpma dikdörtgenini tanımlar

  • « imagesetbrush
  • imagesetinterpolation »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kırpma dikdörtgenini tanımlar

imagesetclip

(PHP 7 >= 7.2.0, PHP 8)

imagesetclip — Kırpma dikdörtgenini tanımlar

Açıklama

imagesetclip(
GdImage $görüntü,
int $x1,
int $y1,
int $x2,
int $y2
): bool

imagesetclip() geçerli kırpma dikdörtgenini tanımlar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x1

Üst sol köşenin x koordinatı.

y1

Üst sol köşenin y koordinatı.

x2

Alt sağ köşenin x koordinatı.

y2

Alt sağ köşenin y koordinatı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Ayrıca Bakınız

  • imagegetclip() - Kırpma dikdörtgenini döndürür


Ara değerleme yöntemini tanımlar

  • « imagesetclip
  • imagesetpixel »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Ara değerleme yöntemini tanımlar

imagesetinterpolation

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagesetinterpolation — Ara değerleme yöntemini tanımlar

Açıklama

imagesetinterpolation(GdImage $görüntü, int $yöntem = IMG_BILINEAR_FIXED): bool

Ara değerleme yöntemini tanımlar. Atanan ara değerleme yöntemi imagerotate() gibi çeşitli GD işlevlerini etkiler.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yöntem

Ara değerleme yöntemi şunlaredan biri olabilir:

  • IMG_BELL: Çan süzgeci.
  • IMG_BESSEL: Bessel süzgeci.
  • IMG_BICUBIC: Çift kübik ara değerlemesi.
  • IMG_BICUBIC_FIXED: Çift kübik ara değerlemesinin sabit nokta uygulaması.
  • IMG_BILINEAR_FIXED: Çift doğrusal ara değerlemesinin sabit nokta uygulaması. (öntanımlıdır (ayrıca görüntü oluşturmada)).
  • IMG_BLACKMAN: Blackman pencere işlevi.
  • IMG_BOX: Kutu bulanıklığı süzgeci.
  • IMG_BSPLINE: Yivli ara değerleme.
  • IMG_CATMULLROM: Kübik Hermit yivli ara değerleme.
  • IMG_GAUSSIAN: Gauss işlevi.
  • IMG_GENERALIZED_CUBIC: Genelleştirilmiş kübik yivli fraktal ara değerlemesi.
  • IMG_HERMITE: Hermit ara değerlemesi.
  • IMG_HAMMING: Abartma süzgeci.
  • IMG_HANNING: Hanning süzgeci.
  • IMG_MITCHELL: Mitchell süzgeci.
  • IMG_POWER: Güç ara değerlemesi.
  • IMG_QUADRATIC: İkinci dereceden ters ara değerleme.
  • IMG_SINC: Sinc işlevi.
  • IMG_NEAREST_NEIGHBOUR: En yakın komşu ara değerlemesi.
  • IMG_WEIGHTED4: Ağırlıklandırma süzgeci.
  • IMG_TRIANGLE: Üçgen ara değerlemesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesetinterpolation() örneği

<?php
// Görüntüyü yükle
$görüntü = imagecreate(500, 500);

// Öntanımlı ara değerleme: IMG_BILINEAR_FIXED
// 'Mitchell' süzgecine geç:
imagesetinterpolation($görüntü, IMG_MITCHELL);

// $görüntü ile çalışmaya devam...
?>

Notlar

Ara değerleme yöntemini değiştirmek, işlem sırasında aşağıdaki işlevleri etkiler:

  • imageaffine()
  • imagerotate()

Ayrıca Bakınız

  • imagegetinterpolation() - Ara değerleme yöntemini döndürür


Bir pikselin rengini değiştirir

  • « imagesetinterpolation
  • imagesetstyle »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir pikselin rengini değiştirir

imagesetpixel

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesetpixel — Bir pikselin rengini değiştirir

Açıklama

imagesetpixel(
GdImage $görüntü,
int $x,
int $y,
int $renk
): bool

imagesetpixel() işlevi koordinatları belirtilen pikselin rengini değiştirir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

x

Pikselin X konumu.

y

Pikselin Y konumu.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesetpixel() örneği

Normal bir resimle sonuçlanan rasgele bir çizim.

<?php

$x = 200;
$y = 200;

$gd = imagecreatetruecolor($x, $y);

$corners[0] = array('x' => 100, 'y' => 10);
$corners[1] = array('x' => 0, 'y' => 190);
$corners[2] = array('x' => 200, 'y' => 190);

$red = imagecolorallocate($gd, 255, 0, 0);

for ($i = 0; $i < 100000; $i++) {
imagesetpixel($gd, round($x), round($y), $red);
$a = rand(0, 2);
$x = ($x + $corners[$a]['x']) / 2;
$y = ($y + $corners[$a]['y']) / 2;
}

header('Content-Type: image/png');
imagepng($gd);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagesetpixel()

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • imagecolorallocate() - Bir görüntü için bir renk ayırır
  • imagecolorat() - Bir pikselin renk indisini döndürür


Çizgi tarzını ayarlar

  • « imagesetpixel
  • imagesetthickness »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Çizgi tarzını ayarlar

imagesetstyle

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetstyle — Çizgi tarzını ayarlar

Açıklama

imagesetstyle(GdImage $görüntü, array $tarz): bool

imagesetstyle() işlevi imageline() ve imagepolygon() gibi çizgi çizme işlevleri tarafından özel IMG_COLOR_STYLED veya IMG_COLOR_STYLEDBRUSHED renkli çizgilerini çizmek için kullanılan çizgi tarzlarını ayarlamakta kullanılır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

tarz

Piksel renklerinden oluşan bir dizi. Şeffaf bir piksel eklemek için IMG_COLOR_TRANSPARENT sabitini kullanabilirsiniz. tarz boş bir dizi olmamalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Aşağıdaki betik örneğinde bir tuvalin sol üst köşesinden sağ alt köşesine kesikli çizgi çizilmektedir:

Örnek 1 - imagesetstyle() örneği

<?php
header("Content-Type: image/jpeg");
$im = imagecreatetruecolor(100, 100);
$b = imagecolorallocate($im, 255, 255, 255);
$k = imagecolorallocate($im, 255, 0, 0);

// 5 kırmızı 5 beyaz piksellik kesikli bir çizgi çiz/
$style = array($k, $k, $k, $k, $k, $b, $b, $b, $b, $b);
imagesetstyle($im, $style);
imageline($im, 0, 0, 100, 100, IMG_COLOR_STYLED);

// imagesetbrush ile imagesetstyle kullanarak
// mutlu yüzlerden bir çizgi çiz
$style = array($b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $b, $k);
imagesetstyle($im, $style);

$brush = imagecreatefrompng("http://www.libpng.org/pub/png/images/smile.happy.png");
$b2 = imagecolorallocate($brush, 255, 255, 255);
imagecolortransparent($brush, $b2);
imagesetbrush($im, $brush);
imageline($im, 100, 0, 0, 100, IMG_COLOR_STYLEDBRUSHED);

imagejpeg($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagesetstyle()

Ayrıca Bakınız

  • imagesetbrush() - Çizgi çizmek için fırça görüntüsü oluşturur
  • imageline() - Bir çizgi çizer


Çizgi kalınlığını ayarlar

  • « imagesetstyle
  • imagesettile »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Çizgi kalınlığını ayarlar

imagesetthickness

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesetthickness — Çizgi kalınlığını ayarlar

Açıklama

imagesetthickness(GdImage $resim, int $kalınlık): bool

imagesetthickness() işlevi, dörtgen, çokgen, elips ve saire çizerken kullanılan çizgilerin kalınlığını kalınlık piksele ayarlar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

kalınlık

Piksel cinsinden çizgi kalınlığı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesetthickness() örneği

<?php
// 200x100 bir resim oluşturalım
$im = imagecreatetruecolor(200, 100);
$beyaz = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
$siyah = imagecolorallocate($im, 0x00, 0x00, 0x00);

// Artalan rengi beyaz olsun
imagefilledrectangle($im, 0, 0, 299, 99, $beyaz);

// Çizgi kalınlığını 5 piksel yapalım
imagesetthickness($im, 5);

// Dörtgeni siyah renkte çizelim
imagerectangle($im, 14, 14, 185, 85, $siyah);

// Resmi tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Çıktı örneği: imagesetthickness()


Görüntüyü doldurmak için döşemeyi etkin kılar

  • « imagesetthickness
  • imagestring »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü doldurmak için döşemeyi etkin kılar

imagesettile

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagesettile — Görüntüyü doldurmak için döşemeyi etkin kılar

Açıklama

imagesettile(GdImage $görüntü, GdImage $karo): bool

imagesettile() işlevi, imagefill() ve imagefilledpolygon() gibi görüntü doldurma işlevleri tarafından özel IMG_COLOR_TILED rengiyle doldurulmak üzere görüntü döşemeyi etkin kılar.

Bir karo, görüntü alanını doldurmak üzere yinelenen bir görüntü karesidir. Karo olarak herhangi bir GD görüntüsü kullanılabilir ve karo görüntüsüne imagecolortransparent() ile şeffaf renk indisi atanabilir. Bir karo, döşeneceği alanın belli parçaları parlak olacak şekilde oluşturulabilir.

Dikkat

Bir karo ile işiniz bittiğinde özel bir işlem yapmanız gerekmez, fakat eğer karo görüntüsünü silerseniz (ya da PHP'nin yok etmesine izin verirseniz), yeni bir karo görüntüsü oluşturana kadar IMG_COLOR_TILED rengini kullanmamalısınız!

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

karo

Bir karo olarak kullanılacak görüntü nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü ve karo artık GdImage nesnesi; evvelce resource türünde bir değer olmalıydı.

Örnekler

Örnek 1 - imagesettile() örneği

<?php
// Bir görüntü yükleyelim
$zend = imagecreatefromgif('./zend.gif');

// 200x200 bir görüntü oluşturalım
$im = imagecreatetruecolor(200, 200);

// Döşemeyi etkin kılalım
imagesettile($im, $zend);

// Yüklediğimiz görüntünün döşenmesini sağlayalım
imagefilledrectangle($im, 0, 0, 199, 199, IMG_COLOR_TILED);

// Görüntüyü tarayıcıya gönderelim
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
imagedestroy($zend);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagesettile() örneği


Bir dizgeyi yatay olarak yazar

  • « imagesettile
  • imagestringup »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dizgeyi yatay olarak yazar

imagestring

(PHP 4, PHP 5, PHP 7, PHP 8)

imagestring — Bir dizgeyi yatay olarak yazar

Açıklama

imagestring(
GdImage $görüntü,
GdFont|int $yazıtipi,
int $x,
int $y,
string $dizge,
int $renk
): bool

Belirtilen dizge'yi belirtilen yere çizer.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

x

Üst sol köşenin X konumu.

y

Üst sol köşenin Y konumu.

dizge

Çizilecek dizge.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagestring() örneği

<?php
// 100*30'luk bir görüntü oluşturalım
$im = imagecreate(100, 30);

// Beyaz artalan üstüne mavi metin
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

// Dizgeyi görüntünün sol üst tarafına yazalım
imagestring($im, 5, 0, 0, 'Hello world!', $textcolor);

// Görüntüyü çıktılayalım
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagestring()

Ayrıca Bakınız

  • imagestringup() - Bir dizgeyi 90 derece döndürülmüş olarak yazar
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler
  • imagettftext() - Metni görüntüye TrueType yazı tipi ile yazar


Bir dizgeyi 90 derece döndürülmüş olarak yazar

  • « imagestring
  • imagesx »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir dizgeyi 90 derece döndürülmüş olarak yazar

imagestringup

(PHP 4, PHP 5, PHP 7, PHP 8)

imagestringup — Bir dizgeyi 90 derece döndürülmüş olarak yazar

Açıklama

imagestringup(
GdImage $görüntü,
GdFont|int $yazıtipi,
int $x,
int $y,
string $dizge,
int $renk
): bool

Belirtilen dizgeyi belirtilen yere düşey olarak yazar.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

yazıtipi

Değer olarak, Latin2 kodlamalı yerleşik yazı tipleri için 1, 2, 3, 4, 5 (daha büyük numara daha yüksek yazı tipine karşılıktır) veya imageloadfont() işlevinden dönen GdFont örneği belirtilebilir.

x

Alt sol köşenin X konumu.

y

Alt sol köşenin Y konumu.

dizge

Çizilecek dizge.

renk

imagecolorallocate() işlevi le oluşturulmuş bir renk tanıtıcı..

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | yazıtipi bağımsız değişkeni artık ya GdFont nesnesi ya da tamsayı değer kabul ediyor, evvelce sadece tamsayı değer kabul edilirdi.
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagestringup() örneği

<?php
// 100*100 bir görüntü oluşturalım
$im = imagecreatetruecolor(100, 100);

// Metni çizelim
$textcolor = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
imagestringup($im, 3, 40, 80, 'gd library', $textcolor);

// Görüntüyü kaydedelim
imagepng($im, './stringup.png');
imagedestroy($im);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagestringup()

Ayrıca Bakınız

  • imagestring() - Bir dizgeyi yatay olarak yazar
  • imageloadfont() - Yeni bir bit eşlemli yazı tipi yükler


Görüntünün genişliğini döndürür

  • « imagestringup
  • imagesy »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntünün genişliğini döndürür

imagesx

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesx — Görüntünün genişliğini döndürür

Açıklama

imagesx(GdImage $görüntü): int

Belirtilen görüntünün genişliğini döndürür

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

görüntünün genişliğini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesx() örneği

<?php

// 300*200'lük bir görüntü oluşturalım
$img = imagecreatetruecolor(300, 200);

echo imagesx($img); // çıktısı: 300

?>

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • getimagesize() - Bir görüntünün boyutlarını döndürür
  • imagesy() - Görüntünün yüksekliğini döndürür


Görüntünün yüksekliğini döndürür

  • « imagesx
  • imagetruecolortopalette »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntünün yüksekliğini döndürür

imagesy

(PHP 4, PHP 5, PHP 7, PHP 8)

imagesy — Görüntünün yüksekliğini döndürür

Açıklama

imagesy(GdImage $görüntü): int

Belirtilen görüntünün yüksekliğini döndürür.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

Dönen Değerler

görüntünün yüksekliğini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - imagesy() örneği

<?php

// 300*200'lük bir resim oluşturalım
$img = imagecreatetruecolor(300, 200);

echo imagesy($img); // çıktısı: 200

?>

Ayrıca Bakınız

  • imagecreatetruecolor() - Yeni bir gerçek renkli görüntü oluşturur
  • getimagesize() - Bir görüntünün boyutlarını döndürür
  • imagesx() - Görüntünün genişliğini döndürür


Gerçek renkli görüntüyü paletli görüntüye dönüştürür

  • « imagesy
  • imagettfbbox »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Gerçek renkli görüntüyü paletli görüntüye dönüştürür

imagetruecolortopalette

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagetruecolortopalette — Gerçek renkli görüntüyü paletli görüntüye dönüştürür

Açıklama

imagetruecolortopalette(GdImage $görüntü, bool $titrek, int $renk_sayısı): bool

imagetruecolortopalette() işlevi bir gerçek renkli görüntüyü bir paletli görüntüye dönüştürür. Bu işlevde Bağımsız JPEG Grubunun kütüphanesindeki çok iyi sonuçlar veren özgün koddan yararlanılmıştır. Paleti elde etmek için alfa kanalı bilgisi ve mevcut renkler mümkün olduğunca korunmaya çalışılarak kodda değişiklik yapılmıştır. Bu umulduğu kadar iyi çalışmamaktadır. En yüksek çıktı kalitesine ulaşmak için en iyisi gerçek renkli görüntü çıktısı üretimini basitleştirmektir.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

titrek

Görüntünün titrek olup olmayacağı belirtilir. Görüntünün titrek olması için true belirtildiği takdirde görüntü daha benekli olur fakat renk geçişleri daha iyi olur.

renk_sayısı

Palette bulunacak azami renk sayısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - Gerçek renkli görüntüyü paletli görüntüye dönüştürmek

<?php
// Bir gerçek renkli görüntü oluştur
$im = imagecreatetruecolor(100, 100);

// 255 renkli bir palete sahip bir görüntüye dönüştür
imagetruecolortopalette($im, false, 255);

// Görüntüyü kaydet
imagepng($im, './paletteimage.png');
imagedestroy($im);
?>


TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür

  • « imagetruecolortopalette
  • imagettftext »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür

imagettfbbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imagettfbbox — TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür

Açıklama

imagettfbbox(
float $boyut,
float $açı,
string $yazıtipi,
string $metin,
array $seçenekler = []
): array|false

Bir TrueType metin için yazıyı çevreleyen kutunun sınırlarını piksel cinsinden hesaplar ve sonucu bir dizi içinde döndürür.

Bilginize:

PHP 8.0.0 öncesinde imageftbbox() işlevi imagettfbbox() işlevinin geliştirilmişi olup ek olarak seçenekler bağımsız değişkenine sahipti. PHP 8.0.0 ve sonrasında imagettfbbox() işlevi imageftbbox() işlevinin takma adıdır.

Bağımsız Değişkenler

boyut

Punto cinsinden yazıtipi boyutu.

açı

Belirtilen metnin yazım açısı.

ytdosyası

TrueType yazı tipinin dosya yolu.

PHP'nin kullandığı GD kütüphanesi sürümüne bağlı olarak, ytdosyası bir / ile başlamıyorsa dosya adına .ttf uzantısı eklenir ve kütüphane bu dosyayı kütüphanede tanımlı bir dosya yolunda bulmaya çalışır.

2.0.18'den küçük sürümlü GD kütüphanesi kulllanılıyorsa farklı yazı tipi dosyalarının yolları arasında noktalı virgül yerine boşluk karakteri kullanılır. Bu özelliğin boşluk karakterleri içeren dosya yollarında kullanımı bir uyarı iletisiyle sonuçlanır: Warning: Could not find/open font. Bundan etkilenen sürümler için tek çözüm yazı tipi dosyasını boşluklar içermeyen bir dosya yoluna taşımaktır.

Bir yazı tipinin, kullanıldığı komut dosyasıyla aynı dizinde bulunduğu durumlarda, aşağıdaki çözüm bu sorunu ortadan kaldıracaktır.

<?php
// GD için ortam değişkeni
putenv('GDFONTPATH=' . realpath('.'));

// Yazı tipinin ismi (.ttf uzantısının olmayışına dikkat)
$ytdosyası = 'biryt';
?>

Bilginize:

open_basedir ytdosyasına uygulanmaz.

metin

Çerçevesi hesaplanacak metin.

Dönen Değerler

Bir hata durumunda false yoksa metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi döner:

anahtar | içeriği
0 | Sol alt köşenin X konumu
1 | Sol alt köşenin Y konumu
2 | Sağ alt köşenin X konumu
3 | Sağ alt köşenin Y konumu
4 | Sağ üst köşenin X konumu
5 | Sağ üst köşenin Y konumu
6 | Sol üst köşenin X konumu
7 | Sol üst köşenin Y konumu

Noktalar açıdan bağımsız olarak metne görelidir. Yani, "sol üst" denince metne yatay olarak bakarkenki sol üst köşe kastedilmektedir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - imagettfbbox() örneği

<?php
// 300x150'lik bir görüntü oluştur
$im = imagecreatetruecolor(300, 150);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

// Artalan rengi beyaz olsun
imagefilledrectangle($im, 0, 0, 299, 299, $white);

// Bu yazı tipi dosyası olsun
$font = './arial.ttf';

// İlk metnin çerçevesini oluştur
$bbox = imagettfbbox(10, 45, $font, 'Powered by PHP ' . phpversion());

// Bunlar X ve Y koordinatları olsun
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) - 25;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Metni yaz
imagettftext($im, 10, 45, $x, $y, $black, $font, 'Powered by PHP ' . phpversion());

// Şimdi ikinci metnin çerçevesini oluştur
$bbox = imagettfbbox(10, 45, $font, 'and Zend Engine ' . zend_version());

// Bu metin ilkinin altında olsun
$x = $bbox[0] + (imagesx($im) / 2) - ($bbox[4] / 2) + 10;
$y = $bbox[1] + (imagesy($im) / 2) - ($bbox[5] / 2) - 5;

// Metni yaz
imagettftext($im, 10, 45, $x, $y, $black, $font, 'and Zend Engine ' . zend_version());

// Tarayıcıya çıktıla
header('Content-Type: image/png');

imagepng($im);
imagedestroy($im);
?>

Notlar

Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • imagettftext() - Metni görüntüye TrueType yazı tipi ile yazar
  • imageftbbox() - Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar


Metni görüntüye TrueType yazı tipi ile yazar

  • « imagettfbbox
  • imagetypes »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Metni görüntüye TrueType yazı tipi ile yazar

imagettftext

(PHP 4, PHP 5, PHP 7, PHP 8)

imagettftext — Metni görüntüye TrueType yazı tipi ile yazar

Açıklama

imagettftext(
GdImage $görüntü,
float $boyut,
float $açı,
int $x,
int $y,
int $renk,
string $yazıtipi,
string $metin,
array $seçenekler = []
): array|false

Belirtilen metni belirtilen TrueType yazı tipi ile belirtilen görüntüye yazar.

Bilginize:

PHP 8.0.0 öncesinde imagefttext() işlevi imagettftext() işlevinin geliştirilmişi olup ek olarak seçenekler bağımsız değişkenine sahipti. PHP 8.0.0 ve sonrasında imagettftext() işlevi imagefttext() işlevinin takma adıdır.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

boyut

Punto cinsinden yazıtipi boyutu.

açı

Derece cinsinden açı. Soldan sağa yazılan bir metnin açısı 0 derecedir. Daha büyük değerler yelkovanın ters yönünde belirtilmiş varsayılır. Örneğin 90 derecelik bir metin aşağıdan yukarı doğru yazılır.

x

x ve y ile belirtilen koordinatlar ilk harfin taban noktasını (kabaca harfin sol alt köşesi) tanımlar. Bu tanımlama, koordinatların harfin sol üst köşesini tanımladığı imagestring() işlevinden farklıdır. Resmin sol üst köşesinin koordinatları 0, 0'dır.

y

x bağımsız değişkenine bakınız.

renk

Renk indisi. Negatif bir renk indisi kenar yumuşatmayı kapatır. imagecolorallocate() işlevine bakınız.

ytdosyası

TrueType yazı tipinin dosya yolu.

PHP'nin kullandığı GD kütüphanesi sürümüne bağlı olarak, ytdosyası bir / ile başlamıyorsa dosya adına .ttf uzantısı eklenir ve kütüphane bu dosyayı kütüphanede tanımlı bir dosya yolunda bulmaya çalışır.

2.0.18'den küçük sürümlü GD kütüphanesi kulllanılıyorsa farklı yazı tipi dosyalarının yolları arasında noktalı virgül yerine boşluk karakteri kullanılır. Bu özelliğin boşluk karakterleri içeren dosya yollarında kullanımı bir uyarı iletisiyle sonuçlanır: Warning: Could not find/open font. Bundan etkilenen sürümler için tek çözüm yazı tipi dosyasını boşluklar içermeyen bir dosya yoluna taşımaktır.

Bir yazı tipinin, kullanıldığı komut dosyasıyla aynı dizinde bulunduğu durumlarda, aşağıdaki çözüm bu sorunu ortadan kaldıracaktır.

<?php
// GD için ortam değişkeni
putenv('GDFONTPATH=' . realpath('.'));

// Yazı tipinin ismi (.ttf uzantısının olmayışına dikkat)
$ytdosyası = 'biryt';
?>

Bilginize:

open_basedir ytdosyasına uygulanmaz.

metin

UTF-8 kodlanmış metin dizgesi.

Karakter numarası 127'den büyük karakterler için onluk karakter numarası (&#8364; şeklinde) belirtilebilir. Onaltılık gösterim de (&#xA9; şeklinde) desteklenmektedir. UTF-8 kodlu metinler doğrudan aktarılabilir.

&copy; gibi isimli öğeler desteklenmemektedir. Bu tür isimli öğeleri UTF-8 dizgelerde kullanmak için html_entity_decode() işlevi ile dönüştürebilirsiniz.

Eğer yazı tipi tarafından desteklenmeyen bir karakter belirtirseniz karakterin yerinde boş bir dikdörtgen görürsünüz.

Dönen Değerler

Hata durumunda false yoksa metin çerçevesinin dört köşesinin koordinatlarını içeren 8 elemanlı bir dizi döner. Çerçevenin köşeleri dizide sırayla şunlardır: sol alt, sağ alt, sağ üst, sol üst. Noktalar açıdan bağımsız olarak metne görelidir. Yani, "sol üst" denince metne yatay olarak bakarkenki sol üst köşe kastedilmektedir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - imagettftext() örneği

Bu örnek betik, içinde Arial yazı tipi ile siyah renkte (gri gölgeli) "Testing..." yazılmış 400x30 piksellik beyaz bir PNG görüntü üretecektir.

<?php
// İçerik türünü belirt
header('Content-Type: image/png');

// Görüntüyü boş olarak oluştur
$resim = imagecreatetruecolor(400, 30);

// Renkleri tanımla
$beyaz = imagecolorallocate($resim, 255, 255, 255);
$gri = imagecolorallocate($resim, 128, 128, 128);
$siyah = imagecolorallocate($resim, 0, 0, 0);
imagefilledrectangle($resim, 0, 0, 399, 29, $beyaz);

// Metni tanımla
$metin = 'Testing...';
// Buraya kendi dosya yolunuzu yaz
$font = 'arial.ttf';

// Metne gölge ver
imagettftext($resim, 20, 0, 11, 21, $gri, $font, $metin);

// Metni ekle
imagettftext($resim, 20, 0, 10, 20, $siyah, $font, $metin);

// imagejpeg()'ye göre daha temiz sonuç veren imagepng()'yi kullan
imagepng($resim);
imagedestroy($resim);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: imagettftext()

Notlar

Bilginize: Bu işlev sadece, PHP, freetype desteği (--with-freetype-dir=DİZİN seçeneği) ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • imagettfbbox() - TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür
  • imagefttext() - Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar


Kurulu PHP'nin desteklediği görüntü türlerini döndürür

  • « imagettftext
  • imagewbmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Kurulu PHP'nin desteklediği görüntü türlerini döndürür

imagetypes

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

imagetypes — Kurulu PHP'nin desteklediği görüntü türlerini döndürür

Açıklama

imagetypes(): int

Kurulu PHP'nin desteklediği görüntü türlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

PHP ile ilitilenmiş GD kütüphanesinin desteklediği görüntü biçemleri ile ilgili bir bit alanı döndürür. Bu alanla sınanabilecek sabitlerin isimleri: IMG_AVIF | IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM | IMG_WEBP.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | IMG_AVIF eklendi.
7.2.0 | IMG_BMP eklendi.
7.0.10 | IMG_WEBP eklendi.

Örnekler

Örnek 1 - PNG desteğinin sınanması

<?php
if (imagetypes() & IMG_PNG) {
echo "PNG destekleniyor";
}
?>

Ayrıca Bakınız

  • gd_info() - Kurulu GD kütüphanesi hakkında bilgi verir


Görüntüyü tarayıcıya veya dosyaya yazar.

  • « imagetypes
  • imagewebp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Görüntüyü tarayıcıya veya dosyaya yazar.

imagewbmp

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

imagewbmp — Görüntüyü tarayıcıya veya dosyaya yazar.

Açıklama

imagewbmp(GdImage $görüntü, resource|string|null $dosya = null, ?int $artalan = null): bool

Belirtilen görüntüyü WBMP biçemli olarak çıktılar veya kaydeder.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

artalan

imagecolorallocate() tarafından sağlanmış bir tanıtıcı ile bir artalan rengi tanımlayabilirsiniz. Öntanımlı artalan rengi siyahtır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.
8.0.0 | artalan artık null olabiliyor.

Örnekler

Örnek 1 - Bir WBMP görüntüyü çıktılamak

<?php
// Boş bir görüntü oluşturup üzerine bir metin ekle
$resim = imagecreatetruecolor(120, 20);
$metin_rengi = imagecolorallocate($resim, 233, 14, 91);
imagestring($resim, 1, 5, 5, 'Bir deneme dizgesi', $metin_rengi);

// İçerik türü başlığını ayarla: image/vnd.wap.wbmp
// İpucu: içerik türleri için image_type_to_mime_type() işlevine bakılabilir
header('Content-Type: image/vnd.wap.wbmp');

// Görüntüyü çıktıla
imagewbmp($resim);

// Belleği serbest bırak
imagedestroy($resim);
?>

Örnek 2 - Bir WBMP görüntünün kaydedilmesi

<?php
// Boş bir görüntü oluşturup üzerine bir metin ekle
$resim = imagecreatetruecolor(120, 20);
$metin_rengi = imagecolorallocate($resim, 233, 14, 91);
imagestring($resim, 1, 5, 5, 'Bir deneme dizgesi', $metin_rengi);

// Görüntüyü kaydet
imagewbmp($im, 'dnm.wbmp');

// Belleği serbest bırak
imagedestroy($im);
?>

Örnek 3 - Görüntüyü farklı bir artalan rengi ile çıktılamak

<?php
// Boş bir görüntü oluşturup üzerine bir metin ekle
$resim = imagecreatetruecolor(120, 20);
$metin_rengi = imagecolorallocate($resim, 233, 14, 91);
imagestring($resim, 1, 5, 5, 'Bir deneme dizgesi', $metin_rengi);

// İçerik türü başlığını ayarla: image/vnd.wap.wbmp
// İpucu: içerik türleri için image_type_to_mime_type() işlevine bakılabilir
header('Content-Type: image/vnd.wap.wbmp');

// Yeni artalan rengini ayarla
$artalan_rengi = imagecolorallocate($resim, 255, 0, 0);

imagewbmp($resim, NULL, $artalan_rengi);

// Belleği serbest bırak
imagedestroy($resim);
?>

Ayrıca Bakınız

  • image2wbmp() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagepng() - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
  • imagegif() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagejpeg() - Görüntüyü tarayıcıya veya dosyaya yazar.
  • imagetypes() - Kurulu PHP'nin desteklediği görüntü türlerini döndürür


WebP görüntüyü tarayıcıya veya dosyaya çıktılar

  • « imagewbmp
  • imagexbm »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • WebP görüntüyü tarayıcıya veya dosyaya çıktılar

imagewebp

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

imagewebp — WebP görüntüyü tarayıcıya veya dosyaya çıktılar

Açıklama

imagewebp(GdImage $görüntü, resource|string|null $dosya = null, int $kalite = -1): bool

Belirtilen görüntü nesnesini çıktılar veya kaydeder.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosya

Dosyanın kaydedileceği yol veya işlev döndüğünde kendiliğinden kapanan açık bir akım kaynağı. null atanırsa veya hiçbir şey atanmazsa doğrudan ham görüntü akımı çıktılanır.

kalite

kalite 0 (en kötü kalite, daha küçük dosya) ile 100 (en iyi kalite, daha büyük dosya) arasında olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | görüntü bağımsız değişkeninde artık bir GdImage nesnesi aktarmak gerekiyor; evvelce resource türünde geçerli bir gd değeri gerekirdi.

Örnekler

Örnek 1 - WebP görüntünün dosyaya kaydedilmesi

<?php
// Boş bir görüntü oluştur ve bir metin çiz
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);

imagestring($im, 1, 5, 5, 'WebP with PHP', $text_color);

// Görüntüyü kaydet
imagewebp($im, 'php.webp');

// Belleği serbest bırak
imagedestroy($im);
?>


Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar

  • « imagewebp
  • iptcembed »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar

imagexbm

(PHP 5, PHP 7, PHP 8)

imagexbm — Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar

Açıklama

imagexbm(GdImage $görüntü, ?string $dosya, ?int $önalan = null): bool

Belirtilen görüntünün XBM sürümünü çıktılar veya kaydeder.

Bilginize: imagexbm() herhangi bir dolgulama yapmaz, dolayısıyla resim genişliği 8 ile çarpılmalıdır. Bu sınırlama artık PHP 7.0.9 itibariyle uygulanmıyor.

Bağımsız Değişkenler

görüntü

imagecreatetruecolor() gibi bir görüntü oluşturma işlevinden dönen bir GdImage nesnesi.

dosyaismi

Dizge olarak görüntünün kaydedileceği dosyanın yolu. null verilirse doğrudan ham görüntü akımı çıktılanır.

dosyaismi (.xbm uzantısız) ayrıca XBM'nin C tanımlayıcıları için de kullanılır, dolayısıyla geçerli yerelin alfasayısal olmayan karakterleri altçizgilerle ikame edilir. dosyaismi olarak null verilirse görüntü C tanıtıcıları için kullanılır.

önalan

imagecolorallocate() tarafından sağlanmış bir tanıtıcı ile bir önalan rengi tanımlayabilirsiniz. Öntanımlı önalan rengi siyahtır. Kalan tüm renkler artalan rengidir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | önalan artık null olabiliyor.
8.0.0 | Kullanılmayan dördüncü bağımsız değişken kaldırıldı.

Örnekler

Örnek 1 - Bir XBM dosyasının kaydedilmesi

<?php
// Boş bir görüntü oluşturup üzerine bir metin ekle
$resim = imagecreatetruecolor(120, 20);
$metin_rengi = imagecolorallocate($resim, 233, 14, 91);
imagestring($resim, 1, 5, 5, 'Bir deneme dizgesi', $metin_rengi);

// Görüntüyü kaydet
imagexbm($resim, 'dnm.xbm');

// Belleği serbest bırak
imagedestroy($resim);
?>

Örnek 2 - XBM dosyasını farklı bir artalan rengi ile çıktılamak

<?php
// Boş bir görüntü oluşturup üzerine bir metin ekle
$resim = imagecreatetruecolor(120, 20);
$metin_rengi = imagecolorallocate($resim, 233, 14, 91);
imagestring($resim, 1, 5, 5, 'Bir deneme dizgesi', $metin_rengi);

// Yeni önalan rengini ayarla
$önalan_rengi = imagecolorallocate($resim, 255, 0, 0);

// Görüntüyü çıktıla
imagexbm($resim, NULL, $artalan_rengi);

// Belleği serbest bırak
imagedestroy($resim);
?>

Notlar


İkil IPTC verisini bir JPEG görüntünün içine gömer

  • « imagexbm
  • iptcparse »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • İkil IPTC verisini bir JPEG görüntünün içine gömer

iptcembed

(PHP 4, PHP 5, PHP 7, PHP 8)

iptcembed — İkil IPTC verisini bir JPEG görüntünün içine gömer

Açıklama

iptcembed(string $iptc_verisi, string $dosyaismi, int $kuyruk = 0): string|bool

İkil IPTC verisini bir JPEG görüntünün içine gömer.

Bağımsız Değişkenler

iptc_verisi

Yazılacak veri.

dosyaismi

JPEG görüntünün dosya yolu.

kuyruk

Kuyruk seçeneği; 2'den küçükse JPEG bir dizge olarak döner. Değilse, JPEG standart çıktıya basılır.

Dönen Değerler

Bir hata oluşursa false döner. Başarı durumunda kuyruk seçeneği 2'den küçükse JPEG bir dizge olarak döner, başarısızlık durumunda false döner. Aksi takdirde başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - IPTC verisinin bir JPEG içine gömülmesi

<?php

// Thies C. Arntzen'in yazdığı iptc_make_tag() işlevi
function iptc_make_tag($rec, $data, $value)
{
$length = strlen($value);
$retval = chr(0x1C) . chr($rec) . chr($data);

if($length < 0x8000)
{
$retval .= chr($length >> 8) . chr($length & 0xFF);
}
else
{
$retval .= chr(0x80) .
chr(0x04) .
chr(($length >> 24) & 0xFF) .
chr(($length >> 16) & 0xFF) .
chr(($length >> 8) & 0xFF) .
chr($length & 0xFF);
}

return $retval . $value;
}

// jpeg dosyasının yolu
$path = './phplogo.jpg';

// IPTC etiketlerini düzenle
$iptc = array(
'2#120' => 'Test image',
'2#116' => 'Copyright 2008-2009, The PHP Group'
);

// IPTC etiketlerini ikil veriye dönüştür
$data = '';

foreach($iptc as $tag => $string)
{
$tag = substr($tag, 2);
$data .= iptc_make_tag(2, $tag, $string);
}

// IPTC verisini görüntüye göm
$content = iptcembed($data, $path);

// Yeni görüntü verisini dosyaya yaz
$fp = fopen($path, "wb");
fwrite($fp, $content);
fclose($fp);
?>

Notlar

Bilginize:

Bu işlev için GD görüntü kütüphanesi gerekli değildir.


Bir ikil IPTC bloğunu tekil etiketlere böler

  • « iptcembed
  • jpeg2wbmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir ikil IPTC bloğunu tekil etiketlere böler

iptcparse

(PHP 4, PHP 5, PHP 7, PHP 8)

iptcparse — Bir ikil IPTC bloğunu tekil etiketlere böler

Açıklama

iptcparse(string $iptc_bloğu): array|false

Bir » IPTC bloğunu tekil etiketler halinde çözümler.

Bağımsız Değişkenler

iptc_bloğu

Bir ikil IPTC bloğu.

Dönen Değerler

İndis olarak etiket imleyici ve değer olarak değeri kullanan bir dizi döndürür. Bir hata oluşmuşsa veya hiç IPTC verisi yoksa false döner.

Örnekler

Örnek 1 - getimagesize() ile iptcparse() kullanımı

<?php
$size = getimagesize('./test.jpg', $info);
if(isset($info['APP13']))
{
$iptc = iptcparse($info['APP13']);
var_dump($iptc);
}
?>

Notlar

Bilginize:

Bu işlev için GD görüntü kütüphanesi gerekli değildir.


Bir JPEG dosyasını WBMP dosyasına dönüştürür

  • « iptcparse
  • png2wbmp »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir JPEG dosyasını WBMP dosyasına dönüştürür

jpeg2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

jpeg2wbmp — Bir JPEG dosyasını WBMP dosyasına dönüştürür

Uyarı

Bu işlevin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

jpeg2wbmp(
string $jpegdosya,
string $wbmpdosya,
int $hdf_yüks,
int $hdf_genş,
int $eşik
): bool

Bir JPEG görüntü dosyasını WBMP görüntü dosyasına dönüştürür.

Bağımsız Değişkenler

jpegdosya

JPEG dosyasının yolu.

wbmpdosya

Hedef WBMP dosyasının yolu.

hdf_yüks

Hedef görüntü yüksekliği.

hdf_genş

Hedef görüntü genişliği.

eşik

0'dan 8'e kadar eşik değer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Örnekler

Örnek 1 - jpeg2wbmp() örneği

<?php
// JPEG görüntü
$jpg = './dnm.jpg';

// görüntü boyutlarını öğren
$boyutlar = getimagesize($jpg);

// görüntüyü dönüştür
jpeg2wbmp($jpg, './dnm.wbmp', $boyutlar[1], $boyutlar[0], 5);
?>

Ayrıca Bakınız

  • png2wbmp() - Bir PNG dosyasını WBMP dosyasına dönüştürür


Bir PNG dosyasını WBMP dosyasına dönüştürür

  • « jpeg2wbmp
  • GdImage »
  • PHP Manual
  • GD ve Görüntü İşlevleri
  • Bir PNG dosyasını WBMP dosyasına dönüştürür

png2wbmp

(PHP 4 >= 4.0.5, PHP 5, PHP 7)

png2wbmp — Bir PNG dosyasını WBMP dosyasına dönüştürür

Uyarı

Bu işlevin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

png2wbmp(
string $png_dosya,
string $wbmp_dosya,
int $hdf_yüks,
int $hdf_genş,
int $eşik
): bool

Bir PNG görüntü dosyasını WBMP görüntü dosyasına dönüştürür.

Bağımsız Değişkenler

png_dosya

PNG dosyasının yolu.

wbmp_dosya

Hedef WBMP dosyasının yolu.

hdf_yüks

Hedef görüntü yüksekliği.

hdf_genş

Hedef görüntü genişliği.

eşik

0'dan 8'e kadar eşik değer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Dikkat

Ancak, libgd görüntüyü çıktılamakta başarısız olursa bu işlev true döndürür.

Örnekler

Örnek 1 - png2wbmp() örneği

<?php
// PNG dosyası
$png = './dnm.png';

// görüntü boyutlarını öğren
$boyutlar = getimagesize($png);

// görüntüyü dönüştür
png2wbmp($png, './dnm.wbmp', $boyutlar[1], $boyutlar[0], 7);
?>

Ayrıca Bakınız

  • jpeg2wbmp() - Bir JPEG dosyasını WBMP dosyasına dönüştürür


GdImage sınıfı

(PHP 8)

Giriş

PHP 8.0.0 ve sonrasında, gd özkaynaklarının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class GdImage {
}


GdFont sınıfı

(PHP 8 >= 8.1.0)

Giriş

PHP 8.1.0 ve sonrasında gd font özkaynaklarının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class GdFont {
}


Gmagick

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Örnekler
  • Gmagick — The Gmagick class
    • Gmagick::addimage — Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage — Adds random noise to the image
    • Gmagick::annotateimage — Annotates an image with text
    • Gmagick::blurimage — Adds blur filter to image
    • Gmagick::borderimage — Surrounds the image with a border
    • Gmagick::charcoalimage — Simulates a charcoal drawing
    • Gmagick::chopimage — Removes a region of an image and trims
    • Gmagick::clear — Clears all resources associated to Gmagick object
    • Gmagick::commentimage — Adds a comment to your image
    • Gmagick::compositeimage — Composite one image onto another
    • Gmagick::__construct — The Gmagick constructor
    • Gmagick::cropimage — Extracts a region of the image
    • Gmagick::cropthumbnailimage — Creates a crop thumbnail
    • Gmagick::current — The current purpose
    • Gmagick::cyclecolormapimage — Displaces an image's colormap
    • Gmagick::deconstructimages — Returns certain pixel differences between images
    • Gmagick::despeckleimage — The despeckleimage purpose
    • Gmagick::destroy — The destroy purpose
    • Gmagick::drawimage — Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage — Enhance edges within the image
    • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage — Improves the quality of a noisy image
    • Gmagick::equalizeimage — Equalizes the image histogram
    • Gmagick::flipimage — Creates a vertical mirror image
    • Gmagick::flopimage — Creates a horizontal mirror image
    • Gmagick::frameimage — Adds a simulated three-dimensional border
    • Gmagick::gammaimage — Gamma-corrects an image
    • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename — The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor — Returns the image background color
    • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor — Returns the image border color
    • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
    • Gmagick::getimagecolors — Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace — Gets the image colorspace
    • Gmagick::getimagecompose — Returns the composite operator associated with the image
    • Gmagick::getimagedelay — Gets the image delay
    • Gmagick::getimagedepth — Gets the depth of the image
    • Gmagick::getimagedispose — Gets the image disposal method
    • Gmagick::getimageextrema — Gets the extrema for the image
    • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat — Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma — Gets the image gamma
    • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
    • Gmagick::getimageheight — Returns the image height
    • Gmagick::getimagehistogram — Gets the image histogram
    • Gmagick::getimageindex — Gets the index of the current active image
    • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
    • Gmagick::getimageiterations — Gets the image iterations
    • Gmagick::getimagematte — Check if the image has a matte channel
    • Gmagick::getimagemattecolor — Returns the image matte color
    • Gmagick::getimageprofile — Returns the named image profile
    • Gmagick::getimageredprimary — Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent — Gets the image rendering intent
    • Gmagick::getimageresolution — Gets the image X and Y resolution
    • Gmagick::getimagescene — Gets the image scene
    • Gmagick::getimagesignature — Generates an SHA-256 message digest
    • Gmagick::getimagetype — Gets the potential image type
    • Gmagick::getimageunits — Gets the image units of resolution
    • Gmagick::getimagewhitepoint — Returns the chromaticity white point
    • Gmagick::getimagewidth — Returns the width of the image
    • Gmagick::getpackagename — Returns the GraphicsMagick package name
    • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string
    • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string
    • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor
    • Gmagick::getsize — Returns the size associated with the Gmagick object
    • Gmagick::getversion — Returns the GraphicsMagick API version
    • Gmagick::hasnextimage — Checks if the object has more images
    • Gmagick::haspreviousimage — Checks if the object has a previous image
    • Gmagick::implodeimage — Creates a new image as a copy
    • Gmagick::labelimage — Adds a label to an image
    • Gmagick::levelimage — Adjusts the levels of an image
    • Gmagick::magnifyimage — Scales an image proportionally 2x
    • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image
    • Gmagick::medianfilterimage — Applies a digital filter
    • Gmagick::minifyimage — Scales an image proportionally to half its size
    • Gmagick::modulateimage — Control the brightness, saturation, and hue
    • Gmagick::motionblurimage — Simulates motion blur
    • Gmagick::newimage — Creates a new image
    • Gmagick::nextimage — Moves to the next image
    • Gmagick::normalizeimage — Enhances the contrast of a color image
    • Gmagick::oilpaintimage — Simulates an oil painting
    • Gmagick::previousimage — Move to the previous image in the object
    • Gmagick::profileimage — Adds or removes a profile from an image
    • Gmagick::quantizeimage — Analyzes the colors within a reference image
    • Gmagick::quantizeimages — The quantizeimages purpose
    • Gmagick::queryfontmetrics — Returns an array representing the font metrics
    • Gmagick::queryfonts — Returns the configured fonts
    • Gmagick::queryformats — Returns formats supported by Gmagick
    • Gmagick::radialblurimage — Radial blurs an image
    • Gmagick::raiseimage — Creates a simulated 3d button-like effect
    • Gmagick::read — Reads image from filename
    • Gmagick::readimage — Reads image from filename
    • Gmagick::readimageblob — Reads image from a binary string
    • Gmagick::readimagefile — The readimagefile purpose
    • Gmagick::reducenoiseimage — Smooths the contours of an image
    • Gmagick::removeimage — Removes an image from the image list
    • Gmagick::removeimageprofile — Removes the named image profile and returns it
    • Gmagick::resampleimage — Resample image to desired resolution
    • Gmagick::resizeimage — Scales an image
    • Gmagick::rollimage — Offsets an image
    • Gmagick::rotateimage — Rotates an image
    • Gmagick::scaleimage — Scales the size of an image
    • Gmagick::separateimagechannel — Separates a channel from the image
    • Gmagick::setCompressionQuality — Sets the object's default compression quality
    • Gmagick::setfilename — Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor — Sets the image background color
    • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point
    • Gmagick::setimagebordercolor — Sets the image border color
    • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace — Sets the image colorspace
    • Gmagick::setimagecompose — Sets the image composite operator
    • Gmagick::setimagedelay — Sets the image delay
    • Gmagick::setimagedepth — Sets the image depth
    • Gmagick::setimagedispose — Sets the image disposal method
    • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat — Sets the format of a particular image
    • Gmagick::setimagegamma — Sets the image gamma
    • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point
    • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image
    • Gmagick::setimageiterations — Sets the image iterations
    • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary — Sets the image chromaticity red primary point
    • Gmagick::setimagerenderingintent — Sets the image rendering intent
    • Gmagick::setimageresolution — Sets the image resolution
    • Gmagick::setimagescene — Sets the image scene
    • Gmagick::setimagetype — Sets the image type
    • Gmagick::setimageunits — Sets the image units of resolution
    • Gmagick::setimagewhitepoint — Sets the image chromaticity white point
    • Gmagick::setsamplingfactors — Sets the image sampling factors
    • Gmagick::setsize — Sets the size of the Gmagick object
    • Gmagick::shearimage — Creating a parallelogram
    • Gmagick::solarizeimage — Applies a solarizing effect to the image
    • Gmagick::spreadimage — Randomly displaces each pixel in a block
    • Gmagick::stripimage — Strips an image of all profiles and comments
    • Gmagick::swirlimage — Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage — Changes the size of an image
    • Gmagick::trimimage — Remove edges from the image
    • Gmagick::write — Takma Adı: Gmagick::writeimage
    • Gmagick::writeimage — Writes an image to the specified filename
  • GmagickDraw — The GmagickDraw class
    • GmagickDraw::annotate — Draws text on the image
    • GmagickDraw::arc — Draws an arc
    • GmagickDraw::bezier — Draws a bezier curve
    • GmagickDraw::ellipse — Draws an ellipse on the image
    • GmagickDraw::getfillcolor — Returns the fill color
    • GmagickDraw::getfillopacity — Returns the opacity used when drawing
    • GmagickDraw::getfont — Returns the font
    • GmagickDraw::getfontsize — Returns the font pointsize
    • GmagickDraw::getfontstyle — Returns the font style
    • GmagickDraw::getfontweight — Returns the font weight
    • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration — Returns the text decoration
    • GmagickDraw::gettextencoding — Returns the code set used for text annotations
    • GmagickDraw::line — Draws a line
    • GmagickDraw::point — Draws a point
    • GmagickDraw::polygon — Draws a polygon
    • GmagickDraw::polyline — Draws a polyline
    • GmagickDraw::rectangle — Draws a rectangle
    • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle — Draws a rounded rectangle
    • GmagickDraw::scale — Adjusts the scaling factor
    • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects
    • GmagickDraw::setfillopacity — The setfillopacity purpose
    • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text
    • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text
    • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight — Sets the font weight
    • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines
    • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines
    • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines
    • GmagickDraw::settextdecoration — Specifies a decoration
    • GmagickDraw::settextencoding — Specifies the text code set
  • GmagickPixel — The GmagickPixel class
    • GmagickPixel::__construct — The GmagickPixel constructor
    • GmagickPixel::getcolor — Returns the color
    • GmagickPixel::getcolorcount — Returns the color count associated with this color
    • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor — Sets the color
    • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels


Giriş

Gmagick is a php extension to create, modify and obtain meta information of images using the GraphicsMagick API.

GraphicsMagick prides itself as the swiss army knife of image processing. It works with over 88 major formats including important formats like DPX, GIF, JPEG, JPEG-2000, PNG, PDF, PNM, and TIFF.

Gmagick consists of a main Gmagick class, a GmagickDraw class which is in effect a drawing wand and a GmagickPixel class of which instances represent a single pixel of an image (color, opacity).


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması


Gereksinimler

This extension works best with GraphicsMagick version 1.4+. Gmagick should work with earlier versions up to GraphicsMagick 1.2.6 but some features and formats are not supported for these versions. Windows version of GraphicsMagick is available from the GraphicsMagick website. To read about the difference between ImageMagick and GraphicsMagick, check this out: » FAQ .


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/gmagick.

Bilginize: The official name of this extension is gmagick.

For Windows, the build of the Gmagick extension is available » here


  • « Kurulum
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Colortype constants
Gmagick::COLOR_BLACK (int)
Black
Gmagick::COLOR_BLUE (int)
Blue
Gmagick::COLOR_CYAN (int)
Cyan
Gmagick::COLOR_GREEN (int)
Green
Gmagick::COLOR_RED (int)
Red
Gmagick::COLOR_YELLOW (int)
Yellow
Gmagick::COLOR_MAGENTA (int)
Magenta
Gmagick::COLOR_OPACITY (int)
Opacity
Gmagick::COLOR_ALPHA (int)
Alpha
Gmagick::COLOR_FUZZ (int)
Fuzz
Composite Operator Constants
Gmagick::COMPOSITE_DEFAULT (int)
The default composite operator
Gmagick::COMPOSITE_UNDEFINED (int)
Undefined composite operator
Gmagick::COMPOSITE_NO (int)
No composite operator defined
Gmagick::COMPOSITE_ADD (int)
The result of image + image
Gmagick::COMPOSITE_ATOP (int)
The result is the same shape as image, with composite image obscuring image where the image shapes overlap
Gmagick::COMPOSITE_BLEND (int)
Blends the image
Gmagick::COMPOSITE_BUMPMAP (int)
The same as COMPOSITE_MULTIPLY, except the source is converted to grayscale first.
Gmagick::COMPOSITE_CLEAR (int)
Makes the target image transparent
Gmagick::COMPOSITE_COLORBURN (int)
Darkens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORDODGE (int)
Brightens the destination image to reflect the source image
Gmagick::COMPOSITE_COLORIZE (int)
Colorizes the target image using the composite image
Gmagick::COMPOSITE_COPYBLACK (int)
Copies black from the source to target
Gmagick::COMPOSITE_COPYBLUE (int)
Copies blue from the source to target
Gmagick::COMPOSITE_COPY (int)
Copies the source image on the target image
Gmagick::COMPOSITE_COPYCYAN (int)
Copies cyan from the source to target
Gmagick::COMPOSITE_COPYGREEN (int)
Copies green from the source to target
Gmagick::COMPOSITE_COPYMAGENTA (int)
Copies magenta from the source to target
Gmagick::COMPOSITE_COPYOPACITY (int)
Copies opacity from the source to target
Gmagick::COMPOSITE_COPYRED (int)
Copies red from the source to target
Gmagick::COMPOSITE_COPYYELLOW (int)
Copies yellow from the source to target
Gmagick::COMPOSITE_DARKEN (int)
Darkens the target image
Gmagick::COMPOSITE_DSTATOP (int)
The part of the destination lying inside of the source is composited over the source and replaces the destination
Gmagick::COMPOSITE_DST (int)
The target is left untouched
Gmagick::COMPOSITE_DSTIN (int)
The parts inside the source replace the target
Gmagick::COMPOSITE_DSTOUT (int)
The parts outside the source replace the target
Gmagick::COMPOSITE_DSTOVER (int)
Target replaces the source
Gmagick::COMPOSITE_DIFFERENCE (int)
Subtracts the darker of the two constituent colors from the lighter
Gmagick::COMPOSITE_DISPLACE (int)
Shifts target image pixels as defined by the source
Gmagick::COMPOSITE_DISSOLVE (int)
Dissolves the source in to the target
Gmagick::COMPOSITE_EXCLUSION (int)
Produces an effect similar to that of Gmagick::COMPOSITE_DIFFERENCE, but appears as lower contrast
Gmagick::COMPOSITE_HARDLIGHT (int)
Multiplies or screens the colors, dependent on the source color value
Gmagick::COMPOSITE_HUE (int)
Modifies the hue of the target as defined by source
Gmagick::COMPOSITE_IN (int)
Composites source into the target
Gmagick::COMPOSITE_LIGHTEN (int)
Lightens the target as defined by source
Gmagick::COMPOSITE_LUMINIZE (int)
Luminizes the target as defined by source
Gmagick::COMPOSITE_MINUS (int)
Subtracts the source from the target
Gmagick::COMPOSITE_MODULATE (int)
Modulates the target brightness, saturation and hue as defined by source
Gmagick::COMPOSITE_MULTIPLY (int)
Multiplies the target to the source
Gmagick::COMPOSITE_OUT (int)
Composites outer parts of the source on the target
Gmagick::COMPOSITE_OVER (int)
Composites source over the target
Gmagick::COMPOSITE_OVERLAY (int)
Overlays the source on the target
Gmagick::COMPOSITE_PLUS (int)
Adds the source to the target
Gmagick::COMPOSITE_REPLACE (int)
Replaces the target with the source
Gmagick::COMPOSITE_SATURATE (int)
Saturates the target as defined by the source
Gmagick::COMPOSITE_SCREEN (int)
The source and destination are complemented and then multiplied and then replace the destination
Gmagick::COMPOSITE_SOFTLIGHT (int)
Darkens or lightens the colors, dependent on the source
Gmagick::COMPOSITE_SRCATOP (int)
The part of the source lying inside of the destination is composited onto the destination
Gmagick::COMPOSITE_SRC (int)
The source is copied to the destination
Gmagick::COMPOSITE_SRCIN (int)
The part of the source lying inside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOUT (int)
The part of the source lying outside of the destination replaces the destination
Gmagick::COMPOSITE_SRCOVER (int)
The source replaces the destination
Gmagick::COMPOSITE_SUBTRACT (int)
Subtract the colors in the source image from the destination image
Gmagick::COMPOSITE_THRESHOLD (int)
The source is composited on the target as defined by source threshold
Gmagick::COMPOSITE_XOR (int)
The part of the source that lies outside of the destination is combined with the part of the destination that lies outside of the source
Montage Mode constants
Gmagick::MONTAGEMODE_FRAME (int)
Gmagick::MONTAGEMODE_UNFRAME (int)
Gmagick::MONTAGEMODE_CONCATENATE (int)
Style constants
Gmagick::STYLE_NORMAL (int)
Gmagick::STYLE_ITALIC (int)
Gmagick::STYLE_OBLIQUE (int)
Gmagick::STYLE_ANY (int)
Filter constants
Gmagick::FILTER_UNDEFINED (int)
Gmagick::FILTER_POINT (int)
Gmagick::FILTER_BOX (int)
Gmagick::FILTER_TRIANGLE (int)
Gmagick::FILTER_HERMITE (int)
Gmagick::FILTER_HANNING (int)
Gmagick::FILTER_HAMMING (int)
Gmagick::FILTER_BLACKMAN (int)
Gmagick::FILTER_GAUSSIAN (int)
Gmagick::FILTER_QUADRATIC (int)
Gmagick::FILTER_CUBIC (int)
Gmagick::FILTER_CATROM (int)
Gmagick::FILTER_MITCHELL (int)
Gmagick::FILTER_LANCZOS (int)
Gmagick::FILTER_BESSEL (int)
Gmagick::FILTER_SINC (int)
Image type constants
Gmagick::IMGTYPE_UNDEFINED (int)
Gmagick::IMGTYPE_BILEVEL (int)
Gmagick::IMGTYPE_GRAYSCALE (int)
Gmagick::IMGTYPE_GRAYSCALEMATTE (int)
Gmagick::IMGTYPE_PALETTE (int)
Gmagick::IMGTYPE_PALETTEMATTE (int)
Gmagick::IMGTYPE_TRUECOLOR (int)
Gmagick::IMGTYPE_TRUECOLORMATTE (int)
Gmagick::IMGTYPE_COLORSEPARATION (int)
Gmagick::IMGTYPE_COLORSEPARATIONMATTE (int)
Gmagick::IMGTYPE_OPTIMIZE (int)
Resolution constants
Gmagick::RESOLUTION_UNDEFINED (int)
Gmagick::RESOLUTION_PIXELSPERINCH (int)
Gmagick::RESOLUTION_PIXELSPERCENTIMETER (int)
Compression constants
Gmagick::COMPRESSION_UNDEFINED (int)
Gmagick::COMPRESSION_NO (int)
Gmagick::COMPRESSION_BZIP (int)
Gmagick::COMPRESSION_FAX (int)
Gmagick::COMPRESSION_GROUP4 (int)
Gmagick::COMPRESSION_JPEG (int)
Gmagick::COMPRESSION_JPEG2000 (int)
Gmagick::COMPRESSION_LOSSLESSJPEG (int)
Gmagick::COMPRESSION_LZW (int)
Gmagick::COMPRESSION_RLE (int)
Gmagick::COMPRESSION_ZIP (int)
Paint constants
Gmagick::PAINT_POINT (int)
Gmagick::PAINT_REPLACE (int)
Gmagick::PAINT_FLOODFILL (int)
Gmagick::PAINT_FILLTOBORDER (int)
Gmagick::PAINT_RESET (int)
Gravity constants
Gmagick::GRAVITY_NORTHWEST (int)
Gmagick::GRAVITY_NORTH (int)
Gmagick::GRAVITY_NORTHEAST (int)
Gmagick::GRAVITY_WEST (int)
Gmagick::GRAVITY_CENTER (int)
Gmagick::GRAVITY_EAST (int)
Gmagick::GRAVITY_SOUTHWEST (int)
Gmagick::GRAVITY_SOUTH (int)
Gmagick::GRAVITY_SOUTHEAST (int)
Stretch constants
Gmagick::STRETCH_NORMAL (int)
Gmagick::STRETCH_ULTRACONDENSED (int)
Gmagick::STRETCH_CONDENSED (int)
Gmagick::STRETCH_SEMICONDENSED (int)
Gmagick::STRETCH_SEMIEXPANDED (int)
Gmagick::STRETCH_EXPANDED (int)
Gmagick::STRETCH_EXTRAEXPANDED (int)
Gmagick::STRETCH_ULTRAEXPANDED (int)
Gmagick::STRETCH_ANY (int)
Align constants
Gmagick::ALIGN_UNDEFINED (int)
Gmagick::ALIGN_LEFT (int)
Gmagick::ALIGN_CENTER (int)
Gmagick::ALIGN_RIGHT (int)
Decoration constants
Gmagick::DECORATION_NO (int)
Gmagick::DECORATION_UNDERLINE (int)
Gmagick::DECORATION_OVERLINE (int)
Gmagick::DECORATION_LINETROUGH (int)
Noise constants
Gmagick::NOISE_UNIFORM (int)
Gmagick::NOISE_GAUSSIAN (int)
Gmagick::NOISE_MULTIPLICATIVEGAUSSIAN (int)
Gmagick::NOISE_IMPULSE (int)
Gmagick::NOISE_LAPLACIAN (int)
Gmagick::NOISE_POISSON (int)
Channel constants
Gmagick::CHANNEL_UNDEFINED (int)
Gmagick::CHANNEL_RED (int)
Gmagick::CHANNEL_GRAY (int)
Gmagick::CHANNEL_CYAN (int)
Gmagick::CHANNEL_GREEN (int)
Gmagick::CHANNEL_MAGENTA (int)
Gmagick::CHANNEL_BLUE (int)
Gmagick::CHANNEL_YELLOW (int)
Gmagick::CHANNEL_ALPHA (int)
Gmagick::CHANNEL_OPACITY (int)
Gmagick::CHANNEL_MATTE (int)
Gmagick::CHANNEL_BLACK (int)
Gmagick::CHANNEL_INDEX (int)
Gmagick::CHANNEL_ALL (int)
Metric constants
Gmagick::METRIC_UNDEFINED (int)
Gmagick::METRIC_MEANABSOLUTEERROR (int)
Gmagick::METRIC_MEANSQUAREERROR (int)
Gmagick::METRIC_PEAKABSOLUTEERROR (int)
Gmagick::METRIC_PEAKSIGNALTONOISERATIO (int)
Gmagick::METRIC_ROOTMEANSQUAREDERROR (int)
Pixel constants
Gmagick::PIXEL_CHAR (int)
Gmagick::PIXEL_DOUBLE (int)
Gmagick::PIXEL_FLOAT (int)
Gmagick::PIXEL_INTEGER (int)
Gmagick::PIXEL_LONG (int)
Gmagick::PIXEL_QUANTUM (int)
Gmagick::PIXEL_SHORT (int)
Colorspace constants
Gmagick::COLORSPACE_UNDEFINED (int)
Gmagick::COLORSPACE_RGB (int)
Gmagick::COLORSPACE_GRAY (int)
Gmagick::COLORSPACE_TRANSPARENT (int)
Gmagick::COLORSPACE_OHTA (int)
Gmagick::COLORSPACE_LAB (int)
Gmagick::COLORSPACE_XYZ (int)
Gmagick::COLORSPACE_YCBCR (int)
Gmagick::COLORSPACE_YCC (int)
Gmagick::COLORSPACE_YIQ (int)
Gmagick::COLORSPACE_YPBPR (int)
Gmagick::COLORSPACE_YUV (int)
Gmagick::COLORSPACE_CMYK (int)
Gmagick::COLORSPACE_SRGB (int)
Gmagick::COLORSPACE_HSB (int)
Gmagick::COLORSPACE_HSL (int)
Gmagick::COLORSPACE_HWB (int)
Gmagick::COLORSPACE_REC601LUMA (int)
Gmagick::COLORSPACE_REC709LUMA (int)
Gmagick::COLORSPACE_LOG (int)
Virtual Pixel Method constants
Gmagick::VIRTUALPIXELMETHOD_UNDEFINED (int)
Gmagick::VIRTUALPIXELMETHOD_BACKGROUND (int)
Gmagick::VIRTUALPIXELMETHOD_CONSTANT (int)
Gmagick::VIRTUALPIXELMETHOD_EDGE (int)
Gmagick::VIRTUALPIXELMETHOD_MIRROR (int)
Gmagick::VIRTUALPIXELMETHOD_TILE (int)
Gmagick::VIRTUALPIXELMETHOD_TRANSPARENT (int)
Preview constants
Gmagick::PREVIEW_UNDEFINED (int)
Gmagick::PREVIEW_ROTATE (int)
Gmagick::PREVIEW_SHEAR (int)
Gmagick::PREVIEW_ROLL (int)
Gmagick::PREVIEW_HUE (int)
Gmagick::PREVIEW_SATURATION (int)
Gmagick::PREVIEW_BRIGHTNESS (int)
Gmagick::PREVIEW_GAMMA (int)
Gmagick::PREVIEW_SPIFF (int)
Gmagick::PREVIEW_DULL (int)
Gmagick::PREVIEW_GRAYSCALE (int)
Gmagick::PREVIEW_QUANTIZE (int)
Gmagick::PREVIEW_DESPECKLE (int)
Gmagick::PREVIEW_REDUCENOISE (int)
Gmagick::PREVIEW_ADDNOISE (int)
Gmagick::PREVIEW_SHARPEN (int)
Gmagick::PREVIEW_BLUR (int)
Gmagick::PREVIEW_THRESHOLD (int)
Gmagick::PREVIEW_EDGEDETECT (int)
Gmagick::PREVIEW_SPREAD (int)
Gmagick::PREVIEW_SOLARIZE (int)
Gmagick::PREVIEW_SHADE (int)
Gmagick::PREVIEW_RAISE (int)
Gmagick::PREVIEW_SEGMENT (int)
Gmagick::PREVIEW_SWIRL (int)
Gmagick::PREVIEW_IMPLODE (int)
Gmagick::PREVIEW_WAVE (int)
Gmagick::PREVIEW_OILPAINT (int)
Gmagick::PREVIEW_CHARCOALDRAWING (int)
Gmagick::PREVIEW_JPEG (int)
Rendering Intent constants
Gmagick::RENDERINGINTENT_UNDEFINED (int)
Gmagick::RENDERINGINTENT_SATURATION (int)
Gmagick::RENDERINGINTENT_PERCEPTUAL (int)
Gmagick::RENDERINGINTENT_ABSOLUTE (int)
Gmagick::RENDERINGINTENT_RELATIVE (int)
Fillrule constants
Gmagick::FILLRULE_UNDEFINED (int)
Gmagick::FILLRULE_EVENODD (int)
Gmagick::FILLRULE_NONZERO (int)
Pathunit constants
Gmagick::PATHUNITS_UNDEFINED (int)
Gmagick::PATHUNITS_USERSPACE (int)
Gmagick::PATHUNITS_USERSPACEONUSE (int)
Gmagick::PATHUNITS_OBJECTBOUNDINGBOX (int)
Linecap constants
Gmagick::LINECAP_UNDEFINED (int)
Gmagick::LINECAP_BUTT (int)
Gmagick::LINECAP_ROUND (int)
Gmagick::LINECAP_SQUARE (int)
Line Join constants
Gmagick::LINEJOIN_UNDEFINED (int)
Gmagick::LINEJOIN_MITER (int)
Gmagick::LINEJOIN_ROUND (int)
Gmagick::LINEJOIN_BEVEL (int)
Resourcetype constants
Gmagick::RESOURCETYPE_UNDEFINED (int)
Gmagick::RESOURCETYPE_AREA (int)
Gmagick::RESOURCETYPE_DISK (int)
Gmagick::RESOURCETYPE_FILE (int)
Gmagick::RESOURCETYPE_MAP (int)
Gmagick::RESOURCETYPE_MEMORY (int)
Orientation constants
Gmagick::ORIENTATION_UNDEFINED (int)
Gmagick::ORIENTATION_TOPLEFT (int)
Gmagick::ORIENTATION_TOPRIGHT (int)
Gmagick::ORIENTATION_BOTTOMRIGHT (int)
Gmagick::ORIENTATION_BOTTOMLEFT (int)
Gmagick::ORIENTATION_LEFTTOP (int)
Gmagick::ORIENTATION_RIGHTTOP (int)
Gmagick::ORIENTATION_RIGHTBOTTOM (int)
Gmagick::ORIENTATION_LEFTBOTTOM (int)
Interlace constants
Gmagick::INTERLACE_UNDEFINED (int)
Gmagick::INTERLACE_NO (int)
Gmagick::INTERLACE_NONE (int)
Gmagick::INTERLACE_LINE (int)
Gmagick::INTERLACE_PLANE (int)
Gmagick::INTERLACE_PARTITION (int)


Örnekler

The following shows some common Gmagick image operations.

Örnek 1 Gmagick Example

<?php
//Instantiate a new Gmagick object
$image = new Gmagick('example.jpg');

//Make thumbnail from image loaded. 0 for either axes preserves aspect ratio
$image->thumbnailimage(100, 0);

//Create a border around the image, then simulate how the image will look like as an oil painting
//Notice the chaining of mutator methods which is supported in gmagick
$image->borderimage("yellow", 8, 8)->oilpaintimage(0.3);

//Write the current image at the current state to a file
$image->write('example_thumbnail.jpg');
?>


The Gmagick class

(PECL gmagick >= Unknown)

Giriş

Sınıf Sözdizimi

class Gmagick {
/* Yöntemler */
public __construct(string $filename = ?)
public addimage(Gmagick $source): Gmagick
public addnoiseimage(int $noise_type): Gmagick
public annotateimage(
GmagickDraw $GmagickDraw,
float $x,
float $y,
float $angle,
string $text
): Gmagick
public blurimage(float $radius, float $sigma, int $channel = ?): Gmagick
public borderimage(GmagickPixel $color, int $width, int $height): Gmagick
public charcoalimage(float $radius, float $sigma): Gmagick
public chopimage(
int $width,
int $height,
int $x,
int $y
): Gmagick
public clear(): Gmagick
public commentimage(string $comment): Gmagick
public compositeimage(
Gmagick $source,
int $COMPOSE,
int $x,
int $y
): Gmagick
public cropimage(
int $width ,
int $height ,
int $x,
int $y
): Gmagick
public cropthumbnailimage(int $width, int $height): Gmagick
public current(): Gmagick
public cyclecolormapimage(int $displace): Gmagick
public deconstructimages(): Gmagick
public despeckleimage(): Gmagick
public destroy(): bool
public drawimage(GmagickDraw $GmagickDraw): Gmagick
public edgeimage(float $radius): Gmagick
public embossimage(float $radius, float $sigma): Gmagick
public enhanceimage(): Gmagick
public equalizeimage(): Gmagick
public flipimage(): Gmagick
public flopimage(): Gmagick
public frameimage(
GmagickPixel $color,
int $width,
int $height,
int $inner_bevel,
int $outer_bevel
): Gmagick
public gammaimage(float $gamma): Gmagick
public getcopyright(): string
public getfilename(): string
public getimagebackgroundcolor(): GmagickPixel
public getimageblueprimary(): array
public getimagebordercolor(): GmagickPixel
public getimagechanneldepth(int $channel_type): int
public getimagecolors(): int
public getimagecolorspace(): int
public getimagecompose(): int
public getimagedelay(): int
public getimagedepth(): int
public getimagedispose(): int
public getimageextrema(): array
public getimagefilename(): string
public getimageformat(): string
public getimagegamma(): float
public getimagegreenprimary(): array
public getimageheight(): int
public getimagehistogram(): array
public getimageindex(): int
public getimageinterlacescheme(): int
public getimageiterations(): int
public getimagematte(): int
public getimagemattecolor(): GmagickPixel
public getimageprofile(string $name): string
public getimageredprimary(): array
public getimagerenderingintent(): int
public getimageresolution(): array
public getimagescene(): int
public getimagesignature(): string
public getimagetype(): int
public getimageunits(): int
public getimagewhitepoint(): array
public getimagewidth(): int
public getpackagename(): string
public getquantumdepth(): array
public getreleasedate(): string
public getsamplingfactors(): array
public getsize(): array
public getversion(): array
public hasnextimage(): mixed
public haspreviousimage(): mixed
public implodeimage(float $radius): mixed
public labelimage(string $label): mixed
public levelimage(
float $blackPoint,
float $gamma,
float $whitePoint,
int $channel = Gmagick::CHANNEL_DEFAULT
): mixed
public magnifyimage(): mixed
public mapimage(gmagick $gmagick, bool $dither): Gmagick
public medianfilterimage(float $radius): void
public minifyimage(): Gmagick
public modulateimage(float $brightness, float $saturation, float $hue): Gmagick
public motionblurimage(float $radius, float $sigma, float $angle): Gmagick
public newimage(
int $width,
int $height,
string $background,
string $format = ?
): Gmagick
public nextimage(): bool
public normalizeimage(int $channel = ?): Gmagick
public oilpaintimage( float $radius ): Gmagick
public previousimage(): bool
public profileimage(string $name, string $profile): Gmagick
public quantizeimage(
int $numColors,
int $colorspace,
int $treeDepth,
bool $dither,
bool $measureError
): Gmagick
public quantizeimages(
int $numColors,
int $colorspace,
int $treeDepth,
bool $dither,
bool $measureError
): Gmagick
public queryfontmetrics(GmagickDraw $draw, string $text): array
public queryfonts(string $pattern = "*"): array
public queryformats(string $pattern = "*"): array
public radialblurimage(float $angle, int $channel = Gmagick::CHANNEL_DEFAULT): Gmagick
public raiseimage(
int $width,
int $height,
int $x,
int $y,
bool $raise
): Gmagick
public read(string $filename): Gmagick
public readimage(string $filename): Gmagick
public readimageblob(string $imageContents, string $filename = ?): Gmagick
public readimagefile(resource $fp, string $filename = ?): Gmagick
public reducenoiseimage(float $radius): Gmagick
public removeimage(): Gmagick
public removeimageprofile(string $name): string
public resampleimage(
float $xResolution,
float $yResolution,
int $filter,
float $blur
): Gmagick
public resizeimage(
int $width,
int $height,
int $filter,
float $blur,
bool $fit = false
): Gmagick
public rollimage(int $x, int $y): Gmagick
public rotateimage(mixed $color, float $degrees): Gmagick
public scaleimage(int $width, int $height, bool $fit = false): Gmagick
public separateimagechannel(int $channel): Gmagick
setCompressionQuality( int $quality = 75 ): Gmagick
public setfilename(string $filename): Gmagick
public setimagebackgroundcolor(GmagickPixel $color): Gmagick
public setimageblueprimary(float $x, float $y): Gmagick
public setimagebordercolor(GmagickPixel $color): Gmagick
public setimagechanneldepth(int $channel, int $depth): Gmagick
public setimagecolorspace(int $colorspace): Gmagick
public setimagecompose(int $composite): Gmagick
public setimagedelay(int $delay): Gmagick
public setimagedepth(int $depth): Gmagick
public setimagedispose(int $disposeType): Gmagick
public setimagefilename(string $filename): Gmagick
public setimageformat(string $imageFormat): Gmagick
public setimagegamma(float $gamma): Gmagick
public setimagegreenprimary(float $x, float $y): Gmagick
public setimageindex(int $index): Gmagick
public setimageinterlacescheme(int $interlace): Gmagick
public setimageiterations(int $iterations): Gmagick
public setimageprofile(string $name, string $profile): Gmagick
public setimageredprimary(float $x, float $y): Gmagick
public setimagerenderingintent(int $rendering_intent): Gmagick
public setimageresolution(float $xResolution, float $yResolution): Gmagick
public setimagescene(int $scene): Gmagick
public setimagetype(int $imgType): Gmagick
public setimageunits(int $resolution): Gmagick
public setimagewhitepoint(float $x, float $y): Gmagick
public setsamplingfactors(array $factors): Gmagick
public setsize(int $columns, int $rows): Gmagick
public shearimage(mixed $color, float $xShear, float $yShear): Gmagick
public solarizeimage(int $threshold): Gmagick
public spreadimage(float $radius): Gmagick
public stripimage(): Gmagick
public swirlimage(float $degrees): Gmagick
public thumbnailimage(int $width, int $height, bool $fit = false): Gmagick
public trimimage(float $fuzz): Gmagick
public writeimage(string $filename, bool $all_frames = false): Gmagick
}

İçindekiler

  • Gmagick::addimage — Adds new image to Gmagick object image list
  • Gmagick::addnoiseimage — Adds random noise to the image
  • Gmagick::annotateimage — Annotates an image with text
  • Gmagick::blurimage — Adds blur filter to image
  • Gmagick::borderimage — Surrounds the image with a border
  • Gmagick::charcoalimage — Simulates a charcoal drawing
  • Gmagick::chopimage — Removes a region of an image and trims
  • Gmagick::clear — Clears all resources associated to Gmagick object
  • Gmagick::commentimage — Adds a comment to your image
  • Gmagick::compositeimage — Composite one image onto another
  • Gmagick::__construct — The Gmagick constructor
  • Gmagick::cropimage — Extracts a region of the image
  • Gmagick::cropthumbnailimage — Creates a crop thumbnail
  • Gmagick::current — The current purpose
  • Gmagick::cyclecolormapimage — Displaces an image's colormap
  • Gmagick::deconstructimages — Returns certain pixel differences between images
  • Gmagick::despeckleimage — The despeckleimage purpose
  • Gmagick::destroy — The destroy purpose
  • Gmagick::drawimage — Renders the GmagickDraw object on the current image
  • Gmagick::edgeimage — Enhance edges within the image
  • Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect
  • Gmagick::enhanceimage — Improves the quality of a noisy image
  • Gmagick::equalizeimage — Equalizes the image histogram
  • Gmagick::flipimage — Creates a vertical mirror image
  • Gmagick::flopimage — Creates a horizontal mirror image
  • Gmagick::frameimage — Adds a simulated three-dimensional border
  • Gmagick::gammaimage — Gamma-corrects an image
  • Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string
  • Gmagick::getfilename — The filename associated with an image sequence
  • Gmagick::getimagebackgroundcolor — Returns the image background color
  • Gmagick::getimageblueprimary — Returns the chromaticy blue primary point
  • Gmagick::getimagebordercolor — Returns the image border color
  • Gmagick::getimagechanneldepth — Gets the depth for a particular image channel
  • Gmagick::getimagecolors — Returns the color of the specified colormap index
  • Gmagick::getimagecolorspace — Gets the image colorspace
  • Gmagick::getimagecompose — Returns the composite operator associated with the image
  • Gmagick::getimagedelay — Gets the image delay
  • Gmagick::getimagedepth — Gets the depth of the image
  • Gmagick::getimagedispose — Gets the image disposal method
  • Gmagick::getimageextrema — Gets the extrema for the image
  • Gmagick::getimagefilename — Returns the filename of a particular image in a sequence
  • Gmagick::getimageformat — Returns the format of a particular image in a sequence
  • Gmagick::getimagegamma — Gets the image gamma
  • Gmagick::getimagegreenprimary — Returns the chromaticy green primary point
  • Gmagick::getimageheight — Returns the image height
  • Gmagick::getimagehistogram — Gets the image histogram
  • Gmagick::getimageindex — Gets the index of the current active image
  • Gmagick::getimageinterlacescheme — Gets the image interlace scheme
  • Gmagick::getimageiterations — Gets the image iterations
  • Gmagick::getimagematte — Check if the image has a matte channel
  • Gmagick::getimagemattecolor — Returns the image matte color
  • Gmagick::getimageprofile — Returns the named image profile
  • Gmagick::getimageredprimary — Returns the chromaticity red primary point
  • Gmagick::getimagerenderingintent — Gets the image rendering intent
  • Gmagick::getimageresolution — Gets the image X and Y resolution
  • Gmagick::getimagescene — Gets the image scene
  • Gmagick::getimagesignature — Generates an SHA-256 message digest
  • Gmagick::getimagetype — Gets the potential image type
  • Gmagick::getimageunits — Gets the image units of resolution
  • Gmagick::getimagewhitepoint — Returns the chromaticity white point
  • Gmagick::getimagewidth — Returns the width of the image
  • Gmagick::getpackagename — Returns the GraphicsMagick package name
  • Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string
  • Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string
  • Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor
  • Gmagick::getsize — Returns the size associated with the Gmagick object
  • Gmagick::getversion — Returns the GraphicsMagick API version
  • Gmagick::hasnextimage — Checks if the object has more images
  • Gmagick::haspreviousimage — Checks if the object has a previous image
  • Gmagick::implodeimage — Creates a new image as a copy
  • Gmagick::labelimage — Adds a label to an image
  • Gmagick::levelimage — Adjusts the levels of an image
  • Gmagick::magnifyimage — Scales an image proportionally 2x
  • Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image
  • Gmagick::medianfilterimage — Applies a digital filter
  • Gmagick::minifyimage — Scales an image proportionally to half its size
  • Gmagick::modulateimage — Control the brightness, saturation, and hue
  • Gmagick::motionblurimage — Simulates motion blur
  • Gmagick::newimage — Creates a new image
  • Gmagick::nextimage — Moves to the next image
  • Gmagick::normalizeimage — Enhances the contrast of a color image
  • Gmagick::oilpaintimage — Simulates an oil painting
  • Gmagick::previousimage — Move to the previous image in the object
  • Gmagick::profileimage — Adds or removes a profile from an image
  • Gmagick::quantizeimage — Analyzes the colors within a reference image
  • Gmagick::quantizeimages — The quantizeimages purpose
  • Gmagick::queryfontmetrics — Returns an array representing the font metrics
  • Gmagick::queryfonts — Returns the configured fonts
  • Gmagick::queryformats — Returns formats supported by Gmagick
  • Gmagick::radialblurimage — Radial blurs an image
  • Gmagick::raiseimage — Creates a simulated 3d button-like effect
  • Gmagick::read — Reads image from filename
  • Gmagick::readimage — Reads image from filename
  • Gmagick::readimageblob — Reads image from a binary string
  • Gmagick::readimagefile — The readimagefile purpose
  • Gmagick::reducenoiseimage — Smooths the contours of an image
  • Gmagick::removeimage — Removes an image from the image list
  • Gmagick::removeimageprofile — Removes the named image profile and returns it
  • Gmagick::resampleimage — Resample image to desired resolution
  • Gmagick::resizeimage — Scales an image
  • Gmagick::rollimage — Offsets an image
  • Gmagick::rotateimage — Rotates an image
  • Gmagick::scaleimage — Scales the size of an image
  • Gmagick::separateimagechannel — Separates a channel from the image
  • Gmagick::setCompressionQuality — Sets the object's default compression quality
  • Gmagick::setfilename — Sets the filename before you read or write the image
  • Gmagick::setimagebackgroundcolor — Sets the image background color
  • Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point
  • Gmagick::setimagebordercolor — Sets the image border color
  • Gmagick::setimagechanneldepth — Sets the depth of a particular image channel
  • Gmagick::setimagecolorspace — Sets the image colorspace
  • Gmagick::setimagecompose — Sets the image composite operator
  • Gmagick::setimagedelay — Sets the image delay
  • Gmagick::setimagedepth — Sets the image depth
  • Gmagick::setimagedispose — Sets the image disposal method
  • Gmagick::setimagefilename — Sets the filename of a particular image in a sequence
  • Gmagick::setimageformat — Sets the format of a particular image
  • Gmagick::setimagegamma — Sets the image gamma
  • Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point
  • Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter
  • Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image
  • Gmagick::setimageiterations — Sets the image iterations
  • Gmagick::setimageprofile — Adds a named profile to the Gmagick object
  • Gmagick::setimageredprimary — Sets the image chromaticity red primary point
  • Gmagick::setimagerenderingintent — Sets the image rendering intent
  • Gmagick::setimageresolution — Sets the image resolution
  • Gmagick::setimagescene — Sets the image scene
  • Gmagick::setimagetype — Sets the image type
  • Gmagick::setimageunits — Sets the image units of resolution
  • Gmagick::setimagewhitepoint — Sets the image chromaticity white point
  • Gmagick::setsamplingfactors — Sets the image sampling factors
  • Gmagick::setsize — Sets the size of the Gmagick object
  • Gmagick::shearimage — Creating a parallelogram
  • Gmagick::solarizeimage — Applies a solarizing effect to the image
  • Gmagick::spreadimage — Randomly displaces each pixel in a block
  • Gmagick::stripimage — Strips an image of all profiles and comments
  • Gmagick::swirlimage — Swirls the pixels about the center of the image
  • Gmagick::thumbnailimage — Changes the size of an image
  • Gmagick::trimimage — Remove edges from the image
  • Gmagick::write — Takma Adı: Gmagick::writeimage
  • Gmagick::writeimage — Writes an image to the specified filename


Adds new image to Gmagick object image list

  • « Gmagick
  • Gmagick::addnoiseimage »
  • PHP Manual
  • Gmagick
  • Adds new image to Gmagick object image list

Gmagick::addimage

(PECL gmagick >= Unknown)

Gmagick::addimage — Adds new image to Gmagick object image list

Açıklama

public Gmagick::addimage(Gmagick $source): Gmagick

Adds new image to Gmagick object from the current position of the source object. After the operation iterator position is moved at the end of the list.

Bağımsız Değişkenler

source

The source Gmagick object

Dönen Değerler

The Gmagick object with image added

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds random noise to the image

  • « Gmagick::addimage
  • Gmagick::annotateimage »
  • PHP Manual
  • Gmagick
  • Adds random noise to the image

Gmagick::addnoiseimage

(PECL gmagick >= Unknown)

Gmagick::addnoiseimage — Adds random noise to the image

Açıklama

public Gmagick::addnoiseimage(int $noise_type): Gmagick

Adds random noise to the image.

Bağımsız Değişkenler

noise_type

The type of the noise. Refer to this list of noise constants.

Dönen Değerler

The Gmagick object with noise added.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Annotates an image with text

  • « Gmagick::addnoiseimage
  • Gmagick::blurimage »
  • PHP Manual
  • Gmagick
  • Annotates an image with text

Gmagick::annotateimage

(PECL gmagick >= Unknown)

Gmagick::annotateimage — Annotates an image with text

Açıklama

public Gmagick::annotateimage(
GmagickDraw $GmagickDraw,
float $x,
float $y,
float $angle,
string $text
): Gmagick

Annotates an image with text.

Bağımsız Değişkenler

GmagickDraw

The GmagickDraw object that contains settings for drawing the text.

x

Horizontal offset in pixels to the left of text.

y

Vertical offset in pixels to the baseline of text.

angle

The angle at which to write the text.

text

The string to draw.

Dönen Değerler

The Gmagick object with annotation made.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds blur filter to image

  • « Gmagick::annotateimage
  • Gmagick::borderimage »
  • PHP Manual
  • Gmagick
  • Adds blur filter to image

Gmagick::blurimage

(PECL gmagick >= Unknown)

Gmagick::blurimage — Adds blur filter to image

Açıklama

public Gmagick::blurimage(float $radius, float $sigma, int $channel = ?): Gmagick

Adds blur filter to image.

Bağımsız Değişkenler

radius

Blur radius

sigma

Standard deviation

Dönen Değerler

The blurred Gmagick object

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Surrounds the image with a border

  • « Gmagick::blurimage
  • Gmagick::charcoalimage »
  • PHP Manual
  • Gmagick
  • Surrounds the image with a border

Gmagick::borderimage

(PECL gmagick >= Unknown)

Gmagick::borderimage — Surrounds the image with a border

Açıklama

public Gmagick::borderimage(GmagickPixel $color, int $width, int $height): Gmagick

Surrounds the image with a border of the color defined by the bordercolor GmagickPixel object or a color string.

Bağımsız Değişkenler

color

GmagickPixel object or a string containing the border color.

width

Border width.

height

Border height.

Dönen Değerler

The Gmagick object with border defined.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Simulates a charcoal drawing

  • « Gmagick::borderimage
  • Gmagick::chopimage »
  • PHP Manual
  • Gmagick
  • Simulates a charcoal drawing

Gmagick::charcoalimage

(PECL gmagick >= Unknown)

Gmagick::charcoalimage — Simulates a charcoal drawing

Açıklama

public Gmagick::charcoalimage(float $radius, float $sigma): Gmagick

Simulates a charcoal drawing.

Bağımsız Değişkenler

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

Dönen Değerler

The Gmagick object with charcoal simulation.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Removes a region of an image and trims

  • « Gmagick::charcoalimage
  • Gmagick::clear »
  • PHP Manual
  • Gmagick
  • Removes a region of an image and trims

Gmagick::chopimage

(PECL gmagick >= Unknown)

Gmagick::chopimage — Removes a region of an image and trims

Açıklama

public Gmagick::chopimage(
int $width,
int $height,
int $x,
int $y
): Gmagick

Removes a region of an image and collapses the image to occupy the removed portion.

Bağımsız Değişkenler

width

Width of the chopped area.

height

Height of the chopped area.

x

X origo of the chopped area.

y

Y origo of the chopped area.

Dönen Değerler

The chopped Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Clears all resources associated to Gmagick object

  • « Gmagick::chopimage
  • Gmagick::commentimage »
  • PHP Manual
  • Gmagick
  • Clears all resources associated to Gmagick object

Gmagick::clear

(PECL gmagick >= Unknown)

Gmagick::clear — Clears all resources associated to Gmagick object

Açıklama

public Gmagick::clear(): Gmagick

Clears all resources associated to Gmagick object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The cleared Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds a comment to your image

  • « Gmagick::clear
  • Gmagick::compositeimage »
  • PHP Manual
  • Gmagick
  • Adds a comment to your image

Gmagick::commentimage

(PECL gmagick >= Unknown)

Gmagick::commentimage — Adds a comment to your image

Açıklama

public Gmagick::commentimage(string $comment): Gmagick

Adds a comment to your image.

Bağımsız Değişkenler

comment

The comment to add.

Dönen Değerler

The Gmagick object with comment added.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Composite one image onto another

  • « Gmagick::commentimage
  • Gmagick::__construct »
  • PHP Manual
  • Gmagick
  • Composite one image onto another

Gmagick::compositeimage

(PECL gmagick >= Unknown)

Gmagick::compositeimage — Composite one image onto another

Açıklama

public Gmagick::compositeimage(
Gmagick $source,
int $COMPOSE,
int $x,
int $y
): Gmagick

Composite one image onto another at the specified offset.

Bağımsız Değişkenler

source

Gmagick object which holds the composite image.

compose

Composite operator.

x

The column offset of the composited image.

y

The row offset of the composited image.

Dönen Değerler

The Gmagick object with compositions.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The Gmagick constructor

  • « Gmagick::compositeimage
  • Gmagick::cropimage »
  • PHP Manual
  • Gmagick
  • The Gmagick constructor

Gmagick::__construct

(PECL gmagick >= Unknown)

Gmagick::__construct — The Gmagick constructor

Açıklama

public Gmagick::__construct(string $filename = ?)

The Gmagick constructor.

Bağımsız Değişkenler

filename

The path to an image to load or array of paths.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Extracts a region of the image

  • « Gmagick::__construct
  • Gmagick::cropthumbnailimage »
  • PHP Manual
  • Gmagick
  • Extracts a region of the image

Gmagick::cropimage

(PECL gmagick >= Unknown)

Gmagick::cropimage — Extracts a region of the image

Açıklama

public Gmagick::cropimage(
int $width ,
int $height ,
int $x,
int $y
): Gmagick

Extracts a region of the image.

Bağımsız Değişkenler

width

The width of the crop.

height

The height of the crop.

x

The X coordinate of the cropped region's top left corner.

y

The Y coordinate of the cropped region's top left corner.

Dönen Değerler

The cropped Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creates a crop thumbnail

  • « Gmagick::cropimage
  • Gmagick::current »
  • PHP Manual
  • Gmagick
  • Creates a crop thumbnail

Gmagick::cropthumbnailimage

(PECL gmagick >= Unknown)

Gmagick::cropthumbnailimage — Creates a crop thumbnail

Açıklama

public Gmagick::cropthumbnailimage(int $width, int $height): Gmagick

Creates a fixed size thumbnail by first scaling the image down and cropping a specified area from the center.

Bağımsız Değişkenler

width

The width of the thumbnail.

height

The Height of the thumbnail.

Dönen Değerler

The cropped Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The current purpose

  • « Gmagick::cropthumbnailimage
  • Gmagick::cyclecolormapimage »
  • PHP Manual
  • Gmagick
  • The current purpose

Gmagick::current

(PECL gmagick >= Unknown)

Gmagick::current — The current purpose

Açıklama

public Gmagick::current(): Gmagick

Returns reference to the current gmagick object with image pointer at the correct sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns self on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Displaces an image's colormap

  • « Gmagick::current
  • Gmagick::deconstructimages »
  • PHP Manual
  • Gmagick
  • Displaces an image's colormap

Gmagick::cyclecolormapimage

(PECL gmagick >= Unknown)

Gmagick::cyclecolormapimage — Displaces an image's colormap

Açıklama

public Gmagick::cyclecolormapimage(int $displace): Gmagick

Displaces an image's colormap by a given number of positions. If you cycle the colormap a number of times you can produce a psychedelic effect.

Bağımsız Değişkenler

displace

The amount to displace the colormap.

Dönen Değerler

Returns self on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns certain pixel differences between images

  • « Gmagick::cyclecolormapimage
  • Gmagick::despeckleimage »
  • PHP Manual
  • Gmagick
  • Returns certain pixel differences between images

Gmagick::deconstructimages

(PECL gmagick >= Unknown)

Gmagick::deconstructimages — Returns certain pixel differences between images

Açıklama

public Gmagick::deconstructimages(): Gmagick

Compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a new Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The despeckleimage purpose

  • « Gmagick::deconstructimages
  • Gmagick::destroy »
  • PHP Manual
  • Gmagick
  • The despeckleimage purpose

Gmagick::despeckleimage

(PECL gmagick >= Unknown)

Gmagick::despeckleimage — The despeckleimage purpose

Açıklama

public Gmagick::despeckleimage(): Gmagick

Reduces the speckle noise in an image while preserving the edges of the original image.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The despeckled Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.

Örnekler

Örnek 1 Gmagick::despeckleimage() example

<?php
/* ... */
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The destroy purpose

  • « Gmagick::despeckleimage
  • Gmagick::drawimage »
  • PHP Manual
  • Gmagick
  • The destroy purpose

Gmagick::destroy

(PECL gmagick >= Unknown)

Gmagick::destroy — The destroy purpose

Açıklama

public Gmagick::destroy(): bool

Destroys the Gmagick object and frees all resources associated with it

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Renders the GmagickDraw object on the current image

  • « Gmagick::destroy
  • Gmagick::edgeimage »
  • PHP Manual
  • Gmagick
  • Renders the GmagickDraw object on the current image

Gmagick::drawimage

(PECL gmagick >= Unknown)

Gmagick::drawimage — Renders the GmagickDraw object on the current image

Açıklama

public Gmagick::drawimage(GmagickDraw $GmagickDraw): Gmagick

Renders the GmagickDraw object on the current image.

Bağımsız Değişkenler

GmagickDraw

The drawing operations to render on the image.

Dönen Değerler

The drawn Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Enhance edges within the image

  • « Gmagick::drawimage
  • Gmagick::embossimage »
  • PHP Manual
  • Gmagick
  • Enhance edges within the image

Gmagick::edgeimage

(PECL gmagick >= Unknown)

Gmagick::edgeimage — Enhance edges within the image

Açıklama

public Gmagick::edgeimage(float $radius): Gmagick

Enhance edges within the image with a convolution filter of the given radius. Use radius 0 and it will be auto-selected.

Bağımsız Değişkenler

radius

The radius of the operation.

Dönen Değerler

The Gmagick object with edges enhanced.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns a grayscale image with a three-dimensional effect

  • « Gmagick::edgeimage
  • Gmagick::enhanceimage »
  • PHP Manual
  • Gmagick
  • Returns a grayscale image with a three-dimensional effect

Gmagick::embossimage

(PECL gmagick >= Unknown)

Gmagick::embossimage — Returns a grayscale image with a three-dimensional effect

Açıklama

public Gmagick::embossimage(float $radius, float $sigma): Gmagick

Returns a grayscale image with a three-dimensional effect. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and it will choose a suitable radius for you.

Bağımsız Değişkenler

radius

The radius of the effect.

sigma

The sigma of the effect.

Dönen Değerler

The embossed Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Improves the quality of a noisy image

  • « Gmagick::embossimage
  • Gmagick::equalizeimage »
  • PHP Manual
  • Gmagick
  • Improves the quality of a noisy image

Gmagick::enhanceimage

(PECL gmagick >= Unknown)

Gmagick::enhanceimage — Improves the quality of a noisy image

Açıklama

public Gmagick::enhanceimage(): Gmagick

Applies a digital filter that improves the quality of a noisy image.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The enhanced Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Equalizes the image histogram

  • « Gmagick::enhanceimage
  • Gmagick::flipimage »
  • PHP Manual
  • Gmagick
  • Equalizes the image histogram

Gmagick::equalizeimage

(PECL gmagick >= Unknown)

Gmagick::equalizeimage — Equalizes the image histogram

Açıklama

public Gmagick::equalizeimage(): Gmagick

Equalizes the image histogram.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The equalized Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creates a vertical mirror image

  • « Gmagick::equalizeimage
  • Gmagick::flopimage »
  • PHP Manual
  • Gmagick
  • Creates a vertical mirror image

Gmagick::flipimage

(PECL gmagick >= Unknown)

Gmagick::flipimage — Creates a vertical mirror image

Açıklama

public Gmagick::flipimage(): Gmagick

Creates a vertical mirror image by reflecting the pixels around the central x-axis.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The flipped Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.

Ayrıca Bakınız

  • Gmagick::flopimage() - Creates a horizontal mirror image


Creates a horizontal mirror image

  • « Gmagick::flipimage
  • Gmagick::frameimage »
  • PHP Manual
  • Gmagick
  • Creates a horizontal mirror image

Gmagick::flopimage

(PECL gmagick >= Unknown)

Gmagick::flopimage — Creates a horizontal mirror image

Açıklama

public Gmagick::flopimage(): Gmagick

Creates a horizontal mirror image by reflecting the pixels around the central y-axis.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The flopped Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.

Ayrıca Bakınız

  • Gmagick::flipimage() - Creates a vertical mirror image


Adds a simulated three-dimensional border

  • « Gmagick::flopimage
  • Gmagick::gammaimage »
  • PHP Manual
  • Gmagick
  • Adds a simulated three-dimensional border

Gmagick::frameimage

(PECL gmagick >= Unknown)

Gmagick::frameimage — Adds a simulated three-dimensional border

Açıklama

public Gmagick::frameimage(
GmagickPixel $color,
int $width,
int $height,
int $inner_bevel,
int $outer_bevel
): Gmagick

Adds a simulated three-dimensional border around the image. The width and height specify the border width of the vertical and horizontal sides of the frame. The inner and outer bevels indicate the width of the inner and outer shadows of the frame.

Bağımsız Değişkenler

color

GmagickPixel object or a float representing the matte color.

width

The width of the border.

height

The height of the border.

inner_bevel

The inner bevel width.

outer_bevel

The outer bevel width.

Dönen Değerler

The framed Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gamma-corrects an image

  • « Gmagick::frameimage
  • Gmagick::getcopyright »
  • PHP Manual
  • Gmagick
  • Gamma-corrects an image

Gmagick::gammaimage

(PECL gmagick >= Unknown)

Gmagick::gammaimage — Gamma-corrects an image

Açıklama

public Gmagick::gammaimage(float $gamma): Gmagick

Gamma-corrects an image. The same image viewed on different devices will have perceptual differences in the way the image's intensities are represented on the screen. Specify individual gamma levels for the red, green, and blue channels, or adjust all three with the gamma parameter. Values typically range from 0.8 to 2.3.

Bağımsız Değişkenler

gamma

The amount of gamma-correction.

Dönen Değerler

The gamma corrected Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the GraphicsMagick API copyright as a string

  • « Gmagick::gammaimage
  • Gmagick::getfilename »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick API copyright as a string

Gmagick::getcopyright

(PECL gmagick >= Unknown)

Gmagick::getcopyright — Returns the GraphicsMagick API copyright as a string

Açıklama

public Gmagick::getcopyright(): string

Returns the GraphicsMagick API copyright as a string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the copyright notice of GraphicsMagick and Magickwand C API.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The filename associated with an image sequence

  • « Gmagick::getcopyright
  • Gmagick::getimagebackgroundcolor »
  • PHP Manual
  • Gmagick
  • The filename associated with an image sequence

Gmagick::getfilename

(PECL gmagick >= Unknown)

Gmagick::getfilename — The filename associated with an image sequence

Açıklama

public Gmagick::getfilename(): string

Returns the filename associated with an image sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the image background color

  • « Gmagick::getfilename
  • Gmagick::getimageblueprimary »
  • PHP Manual
  • Gmagick
  • Returns the image background color

Gmagick::getimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::getimagebackgroundcolor — Returns the image background color

Açıklama

public Gmagick::getimagebackgroundcolor(): GmagickPixel

Returns the image background color.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an GmagickPixel set to the background color of the image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the chromaticy blue primary point

  • « Gmagick::getimagebackgroundcolor
  • Gmagick::getimagebordercolor »
  • PHP Manual
  • Gmagick
  • Returns the chromaticy blue primary point

Gmagick::getimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::getimageblueprimary — Returns the chromaticy blue primary point

Açıklama

public Gmagick::getimageblueprimary(): array

Returns the chromaticity blue primary point for the image.

Bağımsız Değişkenler

x

The chromaticity blue primary x-point.

y

The chromaticity blue primary y-point.

Dönen Değerler

Array consisting of "x" and "y" coordinates of point.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the image border color

  • « Gmagick::getimageblueprimary
  • Gmagick::getimagechanneldepth »
  • PHP Manual
  • Gmagick
  • Returns the image border color

Gmagick::getimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::getimagebordercolor — Returns the image border color

Açıklama

public Gmagick::getimagebordercolor(): GmagickPixel

Returns the image border color.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

GmagickPixel object representing the color of the border.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the depth for a particular image channel

  • « Gmagick::getimagebordercolor
  • Gmagick::getimagecolors »
  • PHP Manual
  • Gmagick
  • Gets the depth for a particular image channel

Gmagick::getimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::getimagechanneldepth — Gets the depth for a particular image channel

Açıklama

public Gmagick::getimagechanneldepth(int $channel_type): int

Gets the depth for a particular image channel.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Depth of image channel

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the color of the specified colormap index

  • « Gmagick::getimagechanneldepth
  • Gmagick::getimagecolorspace »
  • PHP Manual
  • Gmagick
  • Returns the color of the specified colormap index

Gmagick::getimagecolors

(PECL gmagick >= Unknown)

Gmagick::getimagecolors — Returns the color of the specified colormap index

Açıklama

public Gmagick::getimagecolors(): int

Returns the color of the specified colormap index.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of colors in image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image colorspace

  • « Gmagick::getimagecolors
  • Gmagick::getimagecompose »
  • PHP Manual
  • Gmagick
  • Gets the image colorspace

Gmagick::getimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::getimagecolorspace — Gets the image colorspace

Açıklama

public Gmagick::getimagecolorspace(): int

Gets the image colorspace.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Colorspace

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the composite operator associated with the image

  • « Gmagick::getimagecolorspace
  • Gmagick::getimagedelay »
  • PHP Manual
  • Gmagick
  • Returns the composite operator associated with the image

Gmagick::getimagecompose

(PECL gmagick >= Unknown)

Gmagick::getimagecompose — Returns the composite operator associated with the image

Açıklama

public Gmagick::getimagecompose(): int

Returns the composite operator associated with the image.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the composite operator associated with the image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image delay

  • « Gmagick::getimagecompose
  • Gmagick::getimagedepth »
  • PHP Manual
  • Gmagick
  • Gets the image delay

Gmagick::getimagedelay

(PECL gmagick >= Unknown)

Gmagick::getimagedelay — Gets the image delay

Açıklama

public Gmagick::getimagedelay(): int

Gets the image delay

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the composite operator associated with the image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the depth of the image

  • « Gmagick::getimagedelay
  • Gmagick::getimagedispose »
  • PHP Manual
  • Gmagick
  • Gets the depth of the image

Gmagick::getimagedepth

(PECL gmagick >= Unknown)

Gmagick::getimagedepth — Gets the depth of the image

Açıklama

public Gmagick::getimagedepth(): int

Gets the depth of the image.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Image depth

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image disposal method

  • « Gmagick::getimagedepth
  • Gmagick::getimageextrema »
  • PHP Manual
  • Gmagick
  • Gets the image disposal method

Gmagick::getimagedispose

(PECL gmagick >= Unknown)

Gmagick::getimagedispose — Gets the image disposal method

Açıklama

public Gmagick::getimagedispose(): int

Gets the image disposal method

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the dispose method on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the extrema for the image

  • « Gmagick::getimagedispose
  • Gmagick::getimagefilename »
  • PHP Manual
  • Gmagick
  • Gets the extrema for the image

Gmagick::getimageextrema

(PECL gmagick >= Unknown)

Gmagick::getimageextrema — Gets the extrema for the image

Açıklama

public Gmagick::getimageextrema(): array

Returns an associative array with the keys "min" and "max". Hata durumunda bir GmagickException istisnası oluşur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an associative array with the keys "min" and "max".

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the filename of a particular image in a sequence

  • « Gmagick::getimageextrema
  • Gmagick::getimageformat »
  • PHP Manual
  • Gmagick
  • Returns the filename of a particular image in a sequence

Gmagick::getimagefilename

(PECL gmagick >= Unknown)

Gmagick::getimagefilename — Returns the filename of a particular image in a sequence

Açıklama

public Gmagick::getimagefilename(): string

Returns the filename of a particular image in a sequence

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string with the filename of the image

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the format of a particular image in a sequence

  • « Gmagick::getimagefilename
  • Gmagick::getimagegamma »
  • PHP Manual
  • Gmagick
  • Returns the format of a particular image in a sequence

Gmagick::getimageformat

(PECL gmagick >= Unknown)

Gmagick::getimageformat — Returns the format of a particular image in a sequence

Açıklama

public Gmagick::getimageformat(): string

Returns the format of a particular image in a sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the image format on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image gamma

  • « Gmagick::getimageformat
  • Gmagick::getimagegreenprimary »
  • PHP Manual
  • Gmagick
  • Gets the image gamma

Gmagick::getimagegamma

(PECL gmagick >= Unknown)

Gmagick::getimagegamma — Gets the image gamma

Açıklama

public Gmagick::getimagegamma(): float

Gets the image gamma

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image gamma on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the chromaticy green primary point

  • « Gmagick::getimagegamma
  • Gmagick::getimageheight »
  • PHP Manual
  • Gmagick
  • Returns the chromaticy green primary point

Gmagick::getimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::getimagegreenprimary — Returns the chromaticy green primary point

Açıklama

public Gmagick::getimagegreenprimary(): array

Returns the chromaticity green primary point. Returns an array with the keys "x" and "y".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the keys "x" and "y" on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the image height

  • « Gmagick::getimagegreenprimary
  • Gmagick::getimagehistogram »
  • PHP Manual
  • Gmagick
  • Returns the image height

Gmagick::getimageheight

(PECL gmagick >= Unknown)

Gmagick::getimageheight — Returns the image height

Açıklama

public Gmagick::getimageheight(): int

Returns the image height

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image height in pixels.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image histogram

  • « Gmagick::getimageheight
  • Gmagick::getimageindex »
  • PHP Manual
  • Gmagick
  • Gets the image histogram

Gmagick::getimagehistogram

(PECL gmagick >= Unknown)

Gmagick::getimagehistogram — Gets the image histogram

Açıklama

public Gmagick::getimagehistogram(): array

Returns the image histogram as an array of GmagickPixel objects. Throw an GmagickException on error.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image histogram as an array of GmagickPixel objects.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the index of the current active image

  • « Gmagick::getimagehistogram
  • Gmagick::getimageinterlacescheme »
  • PHP Manual
  • Gmagick
  • Gets the index of the current active image

Gmagick::getimageindex

(PECL gmagick >= Unknown)

Gmagick::getimageindex — Gets the index of the current active image

Açıklama

public Gmagick::getimageindex(): int

Returns the index of the current active image within the Gmagick object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Index of current active image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image interlace scheme

  • « Gmagick::getimageindex
  • Gmagick::getimageiterations »
  • PHP Manual
  • Gmagick
  • Gets the image interlace scheme

Gmagick::getimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::getimageinterlacescheme — Gets the image interlace scheme

Açıklama

public Gmagick::getimageinterlacescheme(): int

Gets the image interlace scheme.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the interlace scheme as an integer on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image iterations

  • « Gmagick::getimageinterlacescheme
  • Gmagick::getimagematte »
  • PHP Manual
  • Gmagick
  • Gets the image iterations

Gmagick::getimageiterations

(PECL gmagick >= Unknown)

Gmagick::getimageiterations — Gets the image iterations

Açıklama

public Gmagick::getimageiterations(): int

Gets the image iterations.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image iterations as an integer.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Check if the image has a matte channel

  • « Gmagick::getimageiterations
  • Gmagick::getimagemattecolor »
  • PHP Manual
  • Gmagick
  • Check if the image has a matte channel

Gmagick::getimagematte

(PECL gmagick >= Unknown)

Gmagick::getimagematte — Check if the image has a matte channel

Açıklama

public Gmagick::getimagematte(): int

Returns true if the image has a matte channel, otherwise false.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the image has a matte channel, otherwise false.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the image matte color

  • « Gmagick::getimagematte
  • Gmagick::getimageprofile »
  • PHP Manual
  • Gmagick
  • Returns the image matte color

Gmagick::getimagemattecolor

(PECL gmagick >= Unknown)

Gmagick::getimagemattecolor — Returns the image matte color

Açıklama

public Gmagick::getimagemattecolor(): GmagickPixel

Returns GmagickPixel object on success. Throw an GmagickException on error.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns GmagickPixel object on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the named image profile

  • « Gmagick::getimagemattecolor
  • Gmagick::getimageredprimary »
  • PHP Manual
  • Gmagick
  • Returns the named image profile

Gmagick::getimageprofile

(PECL gmagick >= Unknown)

Gmagick::getimageprofile — Returns the named image profile

Açıklama

public Gmagick::getimageprofile(string $name): string

Returns the named image profile.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the image profile.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the chromaticity red primary point

  • « Gmagick::getimageprofile
  • Gmagick::getimagerenderingintent »
  • PHP Manual
  • Gmagick
  • Returns the chromaticity red primary point

Gmagick::getimageredprimary

(PECL gmagick >= Unknown)

Gmagick::getimageredprimary — Returns the chromaticity red primary point

Açıklama

public Gmagick::getimageredprimary(): array

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the chromaticity red primary point as an array with the keys "x" and "y".

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image rendering intent

  • « Gmagick::getimageredprimary
  • Gmagick::getimageresolution »
  • PHP Manual
  • Gmagick
  • Gets the image rendering intent

Gmagick::getimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::getimagerenderingintent — Gets the image rendering intent

Açıklama

public Gmagick::getimagerenderingintent(): int

Gets the image rendering intent

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Extracts a region of the image and returns it as a new wand

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image X and Y resolution

  • « Gmagick::getimagerenderingintent
  • Gmagick::getimagescene »
  • PHP Manual
  • Gmagick
  • Gets the image X and Y resolution

Gmagick::getimageresolution

(PECL gmagick >= Unknown)

Gmagick::getimageresolution — Gets the image X and Y resolution

Açıklama

public Gmagick::getimageresolution(): array

Returns the resolution as an array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the resolution as an array.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image scene

  • « Gmagick::getimageresolution
  • Gmagick::getimagesignature »
  • PHP Manual
  • Gmagick
  • Gets the image scene

Gmagick::getimagescene

(PECL gmagick >= Unknown)

Gmagick::getimagescene — Gets the image scene

Açıklama

public Gmagick::getimagescene(): int

Gets the image scene.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image scene.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Generates an SHA-256 message digest

  • « Gmagick::getimagescene
  • Gmagick::getimagetype »
  • PHP Manual
  • Gmagick
  • Generates an SHA-256 message digest

Gmagick::getimagesignature

(PECL gmagick >= Unknown)

Gmagick::getimagesignature — Generates an SHA-256 message digest

Açıklama

public Gmagick::getimagesignature(): string

Generates an SHA-256 message digest for the image pixel stream.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the SHA-256 hash of the file.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the potential image type

  • « Gmagick::getimagesignature
  • Gmagick::getimageunits »
  • PHP Manual
  • Gmagick
  • Gets the potential image type

Gmagick::getimagetype

(PECL gmagick >= Unknown)

Gmagick::getimagetype — Gets the potential image type

Açıklama

public Gmagick::getimagetype(): int

Gets the potential image type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the potential image type.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the image units of resolution

  • « Gmagick::getimagetype
  • Gmagick::getimagewhitepoint »
  • PHP Manual
  • Gmagick
  • Gets the image units of resolution

Gmagick::getimageunits

(PECL gmagick >= Unknown)

Gmagick::getimageunits — Gets the image units of resolution

Açıklama

public Gmagick::getimageunits(): int

Gets the image units of resolution.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image units of resolution.


Returns the chromaticity white point

  • « Gmagick::getimageunits
  • Gmagick::getimagewidth »
  • PHP Manual
  • Gmagick
  • Returns the chromaticity white point

Gmagick::getimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::getimagewhitepoint — Returns the chromaticity white point

Açıklama

public Gmagick::getimagewhitepoint(): array

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the chromaticity white point as an associative array with the keys "x" and "y".

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the width of the image

  • « Gmagick::getimagewhitepoint
  • Gmagick::getpackagename »
  • PHP Manual
  • Gmagick
  • Returns the width of the image

Gmagick::getimagewidth

(PECL gmagick >= Unknown)

Gmagick::getimagewidth — Returns the width of the image

Açıklama

public Gmagick::getimagewidth(): int

Returns the width of the image.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the image width.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the GraphicsMagick package name

  • « Gmagick::getimagewidth
  • Gmagick::getquantumdepth »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick package name

Gmagick::getpackagename

(PECL gmagick >= Unknown)

Gmagick::getpackagename — Returns the GraphicsMagick package name

Açıklama

public Gmagick::getpackagename(): string

Returns the GraphicsMagick package name.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the GraphicsMagick package name as a string.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the Gmagick quantum depth as a string

  • « Gmagick::getpackagename
  • Gmagick::getreleasedate »
  • PHP Manual
  • Gmagick
  • Returns the Gmagick quantum depth as a string

Gmagick::getquantumdepth

(PECL gmagick >= Unknown)

Gmagick::getquantumdepth — Returns the Gmagick quantum depth as a string

Açıklama

public Gmagick::getquantumdepth(): array

Returns the Gmagick quantum depth as a string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the Gmagick quantum depth as a string.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the GraphicsMagick release date as a string

  • « Gmagick::getquantumdepth
  • Gmagick::getsamplingfactors »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick release date as a string

Gmagick::getreleasedate

(PECL gmagick >= Unknown)

Gmagick::getreleasedate — Returns the GraphicsMagick release date as a string

Açıklama

public Gmagick::getreleasedate(): string

Returns the GraphicsMagick release date as a string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the GraphicsMagick release date as a string.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Gets the horizontal and vertical sampling factor

  • « Gmagick::getreleasedate
  • Gmagick::getsize »
  • PHP Manual
  • Gmagick
  • Gets the horizontal and vertical sampling factor

Gmagick::getsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::getsamplingfactors — Gets the horizontal and vertical sampling factor

Açıklama

public Gmagick::getsamplingfactors(): array

Gets the horizontal and vertical sampling factor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an associative array with the horizontal and vertical sampling factors of the image.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the size associated with the Gmagick object

  • « Gmagick::getsamplingfactors
  • Gmagick::getversion »
  • PHP Manual
  • Gmagick
  • Returns the size associated with the Gmagick object

Gmagick::getsize

(PECL gmagick >= Unknown)

Gmagick::getsize — Returns the size associated with the Gmagick object

Açıklama

public Gmagick::getsize(): array

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the size associated with the Gmagick object as an array with the keys "columns" and "rows".

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the GraphicsMagick API version

  • « Gmagick::getsize
  • Gmagick::hasnextimage »
  • PHP Manual
  • Gmagick
  • Returns the GraphicsMagick API version

Gmagick::getversion

(PECL gmagick >= Unknown)

Gmagick::getversion — Returns the GraphicsMagick API version

Açıklama

public Gmagick::getversion(): array

Returns the GraphicsMagick API version as a string and as a number.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the GraphicsMagick API version as a string and as a number.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Checks if the object has more images

  • « Gmagick::getversion
  • Gmagick::haspreviousimage »
  • PHP Manual
  • Gmagick
  • Checks if the object has more images

Gmagick::hasnextimage

(PECL gmagick >= Unknown)

Gmagick::hasnextimage — Checks if the object has more images

Açıklama

public Gmagick::hasnextimage(): mixed

Returns true if the object has more images when traversing the list in the forward direction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the object has more images when traversing the list in the forward direction, returns false if there are none.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Checks if the object has a previous image

  • « Gmagick::hasnextimage
  • Gmagick::implodeimage »
  • PHP Manual
  • Gmagick
  • Checks if the object has a previous image

Gmagick::haspreviousimage

(PECL gmagick >= Unknown)

Gmagick::haspreviousimage — Checks if the object has a previous image

Açıklama

public Gmagick::haspreviousimage(): mixed

Returns true if the object has more images when traversing the list in the reverse direction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the object has more images when traversing the list in the reverse direction, returns false if there are none.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creates a new image as a copy

  • « Gmagick::haspreviousimage
  • Gmagick::labelimage »
  • PHP Manual
  • Gmagick
  • Creates a new image as a copy

Gmagick::implodeimage

(PECL gmagick >= Unknown)

Gmagick::implodeimage — Creates a new image as a copy

Açıklama

public Gmagick::implodeimage(float $radius): mixed

Creates a new image that is a copy of an existing one with the image pixels "imploded" by the specified percentage.

Bağımsız Değişkenler

radius

The radius of the implode.

Dönen Değerler

Returns imploded Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds a label to an image

  • « Gmagick::implodeimage
  • Gmagick::levelimage »
  • PHP Manual
  • Gmagick
  • Adds a label to an image

Gmagick::labelimage

(PECL gmagick >= Unknown)

Gmagick::labelimage — Adds a label to an image

Açıklama

public Gmagick::labelimage(string $label): mixed

Adds a label to an image.

Bağımsız Değişkenler

label

The label to add

Dönen Değerler

Gmagick with label.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adjusts the levels of an image

  • « Gmagick::labelimage
  • Gmagick::magnifyimage »
  • PHP Manual
  • Gmagick
  • Adjusts the levels of an image

Gmagick::levelimage

(PECL gmagick >= Unknown)

Gmagick::levelimage — Adjusts the levels of an image

Açıklama

public Gmagick::levelimage(
float $blackPoint,
float $gamma,
float $whitePoint,
int $channel = Gmagick::CHANNEL_DEFAULT
): mixed

Adjusts the levels of an image by scaling the colors falling between specified white and black points to the full available quantum range. The parameters provided represent the black, mid, and white points. The black point specifies the darkest color in the image. Colors darker than the black point are set to zero. Mid point specifies a gamma correction to apply to the image. White point specifies the lightest color in the image. Colors brighter than the white point are set to the maximum quantum value.

Bağımsız Değişkenler

blackPoint

The image black point.

gamma

The gamma value.

whitePoint

The image white point.

channel

Provide any channel constant that is valid for your channel mode. To apply to more than one channel, combine channeltype constants using bitwise operators. Refer to this list of channel constants.

Dönen Değerler

Gmagick object with image leveled.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Scales an image proportionally 2x

  • « Gmagick::levelimage
  • Gmagick::mapimage »
  • PHP Manual
  • Gmagick
  • Scales an image proportionally 2x

Gmagick::magnifyimage

(PECL gmagick >= Unknown)

Gmagick::magnifyimage — Scales an image proportionally 2x

Açıklama

public Gmagick::magnifyimage(): mixed

Conveniently scales an image proportionally to twice its original size.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Magnified Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Replaces the colors of an image with the closest color from a reference image

  • « Gmagick::magnifyimage
  • Gmagick::medianfilterimage »
  • PHP Manual
  • Gmagick
  • Replaces the colors of an image with the closest color from a reference image

Gmagick::mapimage

(PECL gmagick >= Unknown)

Gmagick::mapimage — Replaces the colors of an image with the closest color from a reference image

Açıklama

public Gmagick::mapimage(gmagick $gmagick, bool $dither): Gmagick

Replaces the colors of an image with the closest color from a reference image.

Bağımsız Değişkenler

gmagick

The reference image.

dither

Set this integer value to something other than zero to dither the mapped image.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Applies a digital filter

  • « Gmagick::mapimage
  • Gmagick::minifyimage »
  • PHP Manual
  • Gmagick
  • Applies a digital filter

Gmagick::medianfilterimage

(PECL gmagick >= Unknown)

Gmagick::medianfilterimage — Applies a digital filter

Açıklama

public Gmagick::medianfilterimage(float $radius): void

Applies a digital filter that improves the quality of a noisy image. Each pixel is replaced by the median in a set of neighboring pixels as defined by radius.

Bağımsız Değişkenler

radius

The radius of the pixel neighborhood.

Dönen Değerler

Gmagick object with median filter applied.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Scales an image proportionally to half its size

  • « Gmagick::medianfilterimage
  • Gmagick::modulateimage »
  • PHP Manual
  • Gmagick
  • Scales an image proportionally to half its size

Gmagick::minifyimage

(PECL gmagick >= Unknown)

Gmagick::minifyimage — Scales an image proportionally to half its size

Açıklama

public Gmagick::minifyimage(): Gmagick

A convenient method that scales an image proportionally to one-half its original size.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Control the brightness, saturation, and hue

  • « Gmagick::minifyimage
  • Gmagick::motionblurimage »
  • PHP Manual
  • Gmagick
  • Control the brightness, saturation, and hue

Gmagick::modulateimage

(PECL gmagick >= Unknown)

Gmagick::modulateimage — Control the brightness, saturation, and hue

Açıklama

public Gmagick::modulateimage(float $brightness, float $saturation, float $hue): Gmagick

Lets you control the brightness, saturation, and hue of an image. Hue is the percentage of absolute rotation from the current position. For example 50 results in a counter-clockwise rotation of 90 degrees, 150 results in a clockwise rotation of 90 degrees, with 0 and 200 both resulting in a rotation of 180 degrees.

Bağımsız Değişkenler

brightness

The percent change in brighness (-100 thru +100).

saturation

The percent change in saturation (-100 thru +100)

hue

The percent change in hue (-100 thru +100)

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Simulates motion blur

  • « Gmagick::modulateimage
  • Gmagick::newimage »
  • PHP Manual
  • Gmagick
  • Simulates motion blur

Gmagick::motionblurimage

(PECL gmagick >= Unknown)

Gmagick::motionblurimage — Simulates motion blur

Açıklama

public Gmagick::motionblurimage(float $radius, float $sigma, float $angle): Gmagick

Simulates motion blur. We convolve the image with a Gaussian operator of the given radius and standard deviation (sigma). For reasonable results, radius should be larger than sigma. Use a radius of 0 and Gmagick::motionblurimage() selects a suitable radius for you. Angle gives the angle of the blurring motion.

Bağımsız Değişkenler

radius

The radius of the Gaussian, in pixels, not counting the center pixel.

sigma

The standard deviation of the Gaussian, in pixels.

angle

Apply the effect along this angle.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creates a new image

  • « Gmagick::motionblurimage
  • Gmagick::nextimage »
  • PHP Manual
  • Gmagick
  • Creates a new image

Gmagick::newimage

(PECL gmagick >= Unknown)

Gmagick::newimage — Creates a new image

Açıklama

public Gmagick::newimage(
int $width,
int $height,
string $background,
string $format = ?
): Gmagick

Creates a new image with the specified background color.

Bağımsız Değişkenler

width

Width of the new image.

height

Height of the new image.

background

The background color used for this image (as float).

format

Image format.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Moves to the next image

  • « Gmagick::newimage
  • Gmagick::normalizeimage »
  • PHP Manual
  • Gmagick
  • Moves to the next image

Gmagick::nextimage

(PECL gmagick >= Unknown)

Gmagick::nextimage — Moves to the next image

Açıklama

public Gmagick::nextimage(): bool

Associates the next image in the image list with an Gmagick object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Enhances the contrast of a color image

  • « Gmagick::nextimage
  • Gmagick::oilpaintimage »
  • PHP Manual
  • Gmagick
  • Enhances the contrast of a color image

Gmagick::normalizeimage

(PECL gmagick >= Unknown)

Gmagick::normalizeimage — Enhances the contrast of a color image

Açıklama

public Gmagick::normalizeimage(int $channel = ?): Gmagick

Enhances the contrast of a color image by adjusting the pixels color to span the entire range of colors available.

Bağımsız Değişkenler

channel

Identify which channel to normalize.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Simulates an oil painting

  • « Gmagick::normalizeimage
  • Gmagick::previousimage »
  • PHP Manual
  • Gmagick
  • Simulates an oil painting

Gmagick::oilpaintimage

(PECL gmagick >= Unknown)

Gmagick::oilpaintimage — Simulates an oil painting

Açıklama

public Gmagick::oilpaintimage( float $radius ): Gmagick

Applies a special effect filter that simulates an oil painting. Each pixel is replaced by the most frequent color occurring in a circular region defined by radius.

Bağımsız Değişkenler

radius

The radius of the circular neighborhood.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Move to the previous image in the object

  • « Gmagick::oilpaintimage
  • Gmagick::profileimage »
  • PHP Manual
  • Gmagick
  • Move to the previous image in the object

Gmagick::previousimage

(PECL gmagick >= Unknown)

Gmagick::previousimage — Move to the previous image in the object

Açıklama

public Gmagick::previousimage(): bool

Associates the previous image in an image list with the Gmagick object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds or removes a profile from an image

  • « Gmagick::previousimage
  • Gmagick::quantizeimage »
  • PHP Manual
  • Gmagick
  • Adds or removes a profile from an image

Gmagick::profileimage

(PECL gmagick >= Unknown)

Gmagick::profileimage — Adds or removes a profile from an image

Açıklama

public Gmagick::profileimage(string $name, string $profile): Gmagick

Adds or removes a ICC, IPTC, or generic profile from an image. If the profile is null, it is removed from the image otherwise added. Use a name of * and a profile of null to remove all profiles from the image.

Bağımsız Değişkenler

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Analyzes the colors within a reference image

  • « Gmagick::profileimage
  • Gmagick::quantizeimages »
  • PHP Manual
  • Gmagick
  • Analyzes the colors within a reference image

Gmagick::quantizeimage

(PECL gmagick >= Unknown)

Gmagick::quantizeimage — Analyzes the colors within a reference image

Açıklama

public Gmagick::quantizeimage(
int $numColors,
int $colorspace,
int $treeDepth,
bool $dither,
bool $measureError
): Gmagick

Analyzes the colors within a reference image and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Bağımsız Değişkenler

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The quantizeimages purpose

  • « Gmagick::quantizeimage
  • Gmagick::queryfontmetrics »
  • PHP Manual
  • Gmagick
  • The quantizeimages purpose

Gmagick::quantizeimages

(PECL gmagick >= Unknown)

Gmagick::quantizeimages — The quantizeimages purpose

Açıklama

public Gmagick::quantizeimages(
int $numColors,
int $colorspace,
int $treeDepth,
bool $dither,
bool $measureError
): Gmagick

Analyzes the colors within a sequence of images and chooses a fixed number of colors to represent the image. The goal of the algorithm is to minimize the color difference between the input and output image while minimizing the processing time.

Bağımsız Değişkenler

numColors

The number of colors.

colorspace

Perform color reduction in this colorspace, typically RGBColorspace.

treeDepth

Normally, this integer value is zero or one. A zero or one tells Quantize to choose a optimal tree depth of Log4(number_colors).% A tree of this depth generally allows the best representation of the reference image with the least amount of memory and the fastest computational speed. In some cases, such as an image with low color dispersion (a few number of colors), a value other than Log4(number_colors) is required. To expand the color tree completely, use a value of 8.

dither

A value other than zero distributes the difference between an original image and the corresponding color reduced algorithm to neighboring pixels along a Hilbert curve.

measureError

A value other than zero measures the difference between the original and quantized images. This difference is the total quantization error. The error is computed by summing over all pixels in an image the distance squared in RGB space between each reference pixel value and its quantized value.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns an array representing the font metrics

  • « Gmagick::quantizeimages
  • Gmagick::queryfonts »
  • PHP Manual
  • Gmagick
  • Returns an array representing the font metrics

Gmagick::queryfontmetrics

(PECL gmagick >= Unknown)

Gmagick::queryfontmetrics — Returns an array representing the font metrics

Açıklama

public Gmagick::queryfontmetrics(GmagickDraw $draw, string $text): array

MagickQueryFontMetrics() returns an array representing the font metrics.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns the configured fonts

  • « Gmagick::queryfontmetrics
  • Gmagick::queryformats »
  • PHP Manual
  • Gmagick
  • Returns the configured fonts

Gmagick::queryfonts

(PECL gmagick >= Unknown)

Gmagick::queryfonts — Returns the configured fonts

Açıklama

public Gmagick::queryfonts(string $pattern = "*"): array

Returns fonts supported by Gmagick.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Returns formats supported by Gmagick

  • « Gmagick::queryfonts
  • Gmagick::radialblurimage »
  • PHP Manual
  • Gmagick
  • Returns formats supported by Gmagick

Gmagick::queryformats

(PECL gmagick >= Unknown)

Gmagick::queryformats — Returns formats supported by Gmagick

Açıklama

public Gmagick::queryformats(string $pattern = "*"): array

Returns formats supported by Gmagick.

Bağımsız Değişkenler

pattern

Specifies a string containing a pattern.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Radial blurs an image

  • « Gmagick::queryformats
  • Gmagick::raiseimage »
  • PHP Manual
  • Gmagick
  • Radial blurs an image

Gmagick::radialblurimage

(PECL gmagick >= Unknown)

Gmagick::radialblurimage — Radial blurs an image

Açıklama

public Gmagick::radialblurimage(float $angle, int $channel = Gmagick::CHANNEL_DEFAULT): Gmagick

Radial blurs an image.

Bağımsız Değişkenler

angle

The angle of the blur in degrees.

channel

Related channel.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creates a simulated 3d button-like effect

  • « Gmagick::radialblurimage
  • Gmagick::read »
  • PHP Manual
  • Gmagick
  • Creates a simulated 3d button-like effect

Gmagick::raiseimage

(PECL gmagick >= Unknown)

Gmagick::raiseimage — Creates a simulated 3d button-like effect

Açıklama

public Gmagick::raiseimage(
int $width,
int $height,
int $x,
int $y,
bool $raise
): Gmagick

Creates a simulated three-dimensional button-like effect by lightening and darkening the edges of the image. Members width and height of raise_info define the width of the vertical and horizontal edge of the effect.

Bağımsız Değişkenler

width

Width of the area to raise.

height

Height of the area to raise.

x

X coordinate.

y

Y coordinate.

raise

A value other than zero creates a 3-D raise effect, otherwise it has a lowered effect.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Reads image from filename

  • « Gmagick::raiseimage
  • Gmagick::readimage »
  • PHP Manual
  • Gmagick
  • Reads image from filename

Gmagick::read

(PECL gmagick >= Unknown)

Gmagick::read — Reads image from filename

Açıklama

public Gmagick::read(string $filename): Gmagick

Reads image from filename.

Bağımsız Değişkenler

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Reads image from filename

  • « Gmagick::read
  • Gmagick::readimageblob »
  • PHP Manual
  • Gmagick
  • Reads image from filename

Gmagick::readimage

(PECL gmagick >= Unknown)

Gmagick::readimage — Reads image from filename

Açıklama

public Gmagick::readimage(string $filename): Gmagick

Reads image from filename.

Bağımsız Değişkenler

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Reads image from a binary string

  • « Gmagick::readimage
  • Gmagick::readimagefile »
  • PHP Manual
  • Gmagick
  • Reads image from a binary string

Gmagick::readimageblob

(PECL gmagick >= Unknown)

Gmagick::readimageblob — Reads image from a binary string

Açıklama

public Gmagick::readimageblob(string $imageContents, string $filename = ?): Gmagick

Reads image from a binary string.

Bağımsız Değişkenler

imageContents

Content of image.

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The readimagefile purpose

  • « Gmagick::readimageblob
  • Gmagick::reducenoiseimage »
  • PHP Manual
  • Gmagick
  • The readimagefile purpose

Gmagick::readimagefile

(PECL gmagick >= Unknown)

Gmagick::readimagefile — The readimagefile purpose

Açıklama

public Gmagick::readimagefile(resource $fp, string $filename = ?): Gmagick

Reads an image or image sequence from an open file descriptor.

Bağımsız Değişkenler

fp

The file descriptor.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Smooths the contours of an image

  • « Gmagick::readimagefile
  • Gmagick::removeimage »
  • PHP Manual
  • Gmagick
  • Smooths the contours of an image

Gmagick::reducenoiseimage

(PECL gmagick >= Unknown)

Gmagick::reducenoiseimage — Smooths the contours of an image

Açıklama

public Gmagick::reducenoiseimage(float $radius): Gmagick

Smooths the contours of an image while still preserving edge information. The algorithm works by replacing each pixel with its neighbor closest in value. A neighbor is defined by radius. Use a radius of 0 and Gmagick::reducenoiseimage() selects a suitable radius for you.

Bağımsız Değişkenler

radius

The radius of the pixel neighborhood.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Removes an image from the image list

  • « Gmagick::reducenoiseimage
  • Gmagick::removeimageprofile »
  • PHP Manual
  • Gmagick
  • Removes an image from the image list

Gmagick::removeimage

(PECL gmagick >= Unknown)

Gmagick::removeimage — Removes an image from the image list

Açıklama

public Gmagick::removeimage(): Gmagick

Removes an image from the image list.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Removes the named image profile and returns it

  • « Gmagick::removeimage
  • Gmagick::resampleimage »
  • PHP Manual
  • Gmagick
  • Removes the named image profile and returns it

Gmagick::removeimageprofile

(PECL gmagick >= Unknown)

Gmagick::removeimageprofile — Removes the named image profile and returns it

Açıklama

public Gmagick::removeimageprofile(string $name): string

Removes the named image profile and returns it.

Bağımsız Değişkenler

name

Name of profile to return: ICC, IPTC, or generic profile.

Dönen Değerler

The named profile.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Resample image to desired resolution

  • « Gmagick::removeimageprofile
  • Gmagick::resizeimage »
  • PHP Manual
  • Gmagick
  • Resample image to desired resolution

Gmagick::resampleimage

(PECL gmagick >= Unknown)

Gmagick::resampleimage — Resample image to desired resolution

Açıklama

public Gmagick::resampleimage(
float $xResolution,
float $yResolution,
int $filter,
float $blur
): Gmagick

Resample image to desired resolution.

Bağımsız Değişkenler

xResolution

The new image x resolution.

yResolution

The new image y resolution.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, smaller than 1 is sharp.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Scales an image

  • « Gmagick::resampleimage
  • Gmagick::rollimage »
  • PHP Manual
  • Gmagick
  • Scales an image

Gmagick::resizeimage

(PECL gmagick >= Unknown)

Gmagick::resizeimage — Scales an image

Açıklama

public Gmagick::resizeimage(
int $width,
int $height,
int $filter,
float $blur,
bool $fit = false
): Gmagick

Scales an image to the desired dimensions with a filter.

Bağımsız Değişkenler

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

filter

Image filter to use.

blur

The blur factor where larger than 1 is blurry, lesser than 1 is sharp.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Offsets an image

  • « Gmagick::resizeimage
  • Gmagick::rotateimage »
  • PHP Manual
  • Gmagick
  • Offsets an image

Gmagick::rollimage

(PECL gmagick >= Unknown)

Gmagick::rollimage — Offsets an image

Açıklama

public Gmagick::rollimage(int $x, int $y): Gmagick

Offsets an image as defined by x and y.

Bağımsız Değişkenler

x

The x offset.

y

The y offset.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Rotates an image

  • « Gmagick::rollimage
  • Gmagick::scaleimage »
  • PHP Manual
  • Gmagick
  • Rotates an image

Gmagick::rotateimage

(PECL gmagick >= Unknown)

Gmagick::rotateimage — Rotates an image

Açıklama

public Gmagick::rotateimage(mixed $color, float $degrees): Gmagick

Rotates an image the specified number of degrees. Empty triangles left over from rotating the image are filled with the background color.

Bağımsız Değişkenler

color

The background pixel.

degrees

The number of degrees to rotate the image.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Scales the size of an image

  • « Gmagick::rotateimage
  • Gmagick::separateimagechannel »
  • PHP Manual
  • Gmagick
  • Scales the size of an image

Gmagick::scaleimage

(PECL gmagick >= Unknown)

Gmagick::scaleimage — Scales the size of an image

Açıklama

public Gmagick::scaleimage(int $width, int $height, bool $fit = false): Gmagick

Scales the size of an image to the given dimensions. The other parameter will be calculated if 0 is passed as either param.

Bağımsız Değişkenler

width

The number of columns in the scaled image.

height

The number of rows in the scaled image.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Separates a channel from the image

  • « Gmagick::scaleimage
  • Gmagick::setCompressionQuality »
  • PHP Manual
  • Gmagick
  • Separates a channel from the image

Gmagick::separateimagechannel

(PECL gmagick >= Unknown)

Gmagick::separateimagechannel — Separates a channel from the image

Açıklama

public Gmagick::separateimagechannel(int $channel): Gmagick

Separates a channel from the image and returns a grayscale image. A channel is a particular color component of each pixel in the image.

Bağımsız Değişkenler

channel

One of the Channel constant (Gmagick::CHANNEL_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the object's default compression quality

  • « Gmagick::separateimagechannel
  • Gmagick::setfilename »
  • PHP Manual
  • Gmagick
  • Sets the object's default compression quality

Gmagick::setCompressionQuality

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Gmagick::setCompressionQuality — Sets the object's default compression quality

Açıklama

Gmagick::setCompressionQuality( int $quality = 75 ): Gmagick

Sets the object's default compression quality.

Bağımsız Değişkenler

quality

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.

Örnekler

Örnek 1 Gmagick::setCompressionQuality()

<?php
$gm = new Gmagick();
$gm->read("magick:rose");
$gm->setCompressionQuality(2);
?>


Sets the filename before you read or write the image

  • « Gmagick::setCompressionQuality
  • Gmagick::setimagebackgroundcolor »
  • PHP Manual
  • Gmagick
  • Sets the filename before you read or write the image

Gmagick::setfilename

(PECL gmagick >= Unknown)

Gmagick::setfilename — Sets the filename before you read or write the image

Açıklama

public Gmagick::setfilename(string $filename): Gmagick

Sets the filename before you read or write an image file.

Bağımsız Değişkenler

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image background color

  • « Gmagick::setfilename
  • Gmagick::setimageblueprimary »
  • PHP Manual
  • Gmagick
  • Sets the image background color

Gmagick::setimagebackgroundcolor

(PECL gmagick >= Unknown)

Gmagick::setimagebackgroundcolor — Sets the image background color

Açıklama

public Gmagick::setimagebackgroundcolor(GmagickPixel $color): Gmagick

Sets the image background color.

Bağımsız Değişkenler

color

The background pixel wand.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image chromaticity blue primary point

  • « Gmagick::setimagebackgroundcolor
  • Gmagick::setimagebordercolor »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity blue primary point

Gmagick::setimageblueprimary

(PECL gmagick >= Unknown)

Gmagick::setimageblueprimary — Sets the image chromaticity blue primary point

Açıklama

public Gmagick::setimageblueprimary(float $x, float $y): Gmagick

Sets the image chromaticity blue primary point.

Bağımsız Değişkenler

x

The blue primary x-point.

y

The blue primary y-point.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image border color

  • « Gmagick::setimageblueprimary
  • Gmagick::setimagechanneldepth »
  • PHP Manual
  • Gmagick
  • Sets the image border color

Gmagick::setimagebordercolor

(PECL gmagick >= Unknown)

Gmagick::setimagebordercolor — Sets the image border color

Açıklama

public Gmagick::setimagebordercolor(GmagickPixel $color): Gmagick

Sets the image border color.

Bağımsız Değişkenler

color

The border pixel wand.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the depth of a particular image channel

  • « Gmagick::setimagebordercolor
  • Gmagick::setimagecolorspace »
  • PHP Manual
  • Gmagick
  • Sets the depth of a particular image channel

Gmagick::setimagechanneldepth

(PECL gmagick >= Unknown)

Gmagick::setimagechanneldepth — Sets the depth of a particular image channel

Açıklama

public Gmagick::setimagechanneldepth(int $channel, int $depth): Gmagick

Sets the depth of a particular image channel.

Bağımsız Değişkenler

channel

One of the Channel constant (Gmagick::CHANNEL_*).

depth

The image depth in bits.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image colorspace

  • « Gmagick::setimagechanneldepth
  • Gmagick::setimagecompose »
  • PHP Manual
  • Gmagick
  • Sets the image colorspace

Gmagick::setimagecolorspace

(PECL gmagick >= Unknown)

Gmagick::setimagecolorspace — Sets the image colorspace

Açıklama

public Gmagick::setimagecolorspace(int $colorspace): Gmagick

Sets the image colorspace.

Bağımsız Değişkenler

colorspace

One of the Colorspace constant (Gmagick::COLORSPACE_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image composite operator

  • « Gmagick::setimagecolorspace
  • Gmagick::setimagedelay »
  • PHP Manual
  • Gmagick
  • Sets the image composite operator

Gmagick::setimagecompose

(PECL gmagick >= Unknown)

Gmagick::setimagecompose — Sets the image composite operator

Açıklama

public Gmagick::setimagecompose(int $composite): Gmagick

Sets the image composite operator.

Bağımsız Değişkenler

composite

The image composite operator.

Dönen Değerler

The Gmagick object on success

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image delay

  • « Gmagick::setimagecompose
  • Gmagick::setimagedepth »
  • PHP Manual
  • Gmagick
  • Sets the image delay

Gmagick::setimagedelay

(PECL gmagick >= Unknown)

Gmagick::setimagedelay — Sets the image delay

Açıklama

public Gmagick::setimagedelay(int $delay): Gmagick

Sets the image delay.

Bağımsız Değişkenler

delay

The image delay in 1/100th of a second.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image depth

  • « Gmagick::setimagedelay
  • Gmagick::setimagedispose »
  • PHP Manual
  • Gmagick
  • Sets the image depth

Gmagick::setimagedepth

(PECL gmagick >= Unknown)

Gmagick::setimagedepth — Sets the image depth

Açıklama

public Gmagick::setimagedepth(int $depth): Gmagick

Sets the image depth.

Bağımsız Değişkenler

depth

The image depth in bits: 8, 16, or 32.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image disposal method

  • « Gmagick::setimagedepth
  • Gmagick::setimagefilename »
  • PHP Manual
  • Gmagick
  • Sets the image disposal method

Gmagick::setimagedispose

(PECL gmagick >= Unknown)

Gmagick::setimagedispose — Sets the image disposal method

Açıklama

public Gmagick::setimagedispose(int $disposeType): Gmagick

Sets the image disposal method.

Bağımsız Değişkenler

disposeType

The image disposal type.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the filename of a particular image in a sequence

  • « Gmagick::setimagedispose
  • Gmagick::setimageformat »
  • PHP Manual
  • Gmagick
  • Sets the filename of a particular image in a sequence

Gmagick::setimagefilename

(PECL gmagick >= Unknown)

Gmagick::setimagefilename — Sets the filename of a particular image in a sequence

Açıklama

public Gmagick::setimagefilename(string $filename): Gmagick

Sets the filename of a particular image in a sequence.

Bağımsız Değişkenler

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the format of a particular image

  • « Gmagick::setimagefilename
  • Gmagick::setimagegamma »
  • PHP Manual
  • Gmagick
  • Sets the format of a particular image

Gmagick::setimageformat

(PECL gmagick >= Unknown)

Gmagick::setimageformat — Sets the format of a particular image

Açıklama

public Gmagick::setimageformat(string $imageFormat): Gmagick

Sets the format of a particular image in a sequence.

Bağımsız Değişkenler

imageFormat

The image format.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image gamma

  • « Gmagick::setimageformat
  • Gmagick::setimagegreenprimary »
  • PHP Manual
  • Gmagick
  • Sets the image gamma

Gmagick::setimagegamma

(PECL gmagick >= Unknown)

Gmagick::setimagegamma — Sets the image gamma

Açıklama

public Gmagick::setimagegamma(float $gamma): Gmagick

Sets the image gamma.

Bağımsız Değişkenler

gamma

The image gamma.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image chromaticity green primary point

  • « Gmagick::setimagegamma
  • Gmagick::setimageindex »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity green primary point

Gmagick::setimagegreenprimary

(PECL gmagick >= Unknown)

Gmagick::setimagegreenprimary — Sets the image chromaticity green primary point

Açıklama

public Gmagick::setimagegreenprimary(float $x, float $y): Gmagick

Sets the image chromaticity green primary point.

Bağımsız Değişkenler

x

The chromaticity green primary x-point.

y

The chromaticity green primary y-point.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Set the iterator to the position in the image list specified with the index parameter

  • « Gmagick::setimagegreenprimary
  • Gmagick::setimageinterlacescheme »
  • PHP Manual
  • Gmagick
  • Set the iterator to the position in the image list specified with the index parameter

Gmagick::setimageindex

(PECL gmagick >= Unknown)

Gmagick::setimageindex — Set the iterator to the position in the image list specified with the index parameter

Açıklama

public Gmagick::setimageindex(int $index): Gmagick

Set the iterator to the position in the image list specified with the index parameter.

Bağımsız Değişkenler

index

The scene number.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the interlace scheme of the image

  • « Gmagick::setimageindex
  • Gmagick::setimageiterations »
  • PHP Manual
  • Gmagick
  • Sets the interlace scheme of the image

Gmagick::setimageinterlacescheme

(PECL gmagick >= Unknown)

Gmagick::setimageinterlacescheme — Sets the interlace scheme of the image

Açıklama

public Gmagick::setimageinterlacescheme(int $interlace): Gmagick

Sets the interlace scheme of the image.

Bağımsız Değişkenler

interlace

One of the Interlace constant (Gmagick::INTERLACE_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image iterations

  • « Gmagick::setimageinterlacescheme
  • Gmagick::setimageprofile »
  • PHP Manual
  • Gmagick
  • Sets the image iterations

Gmagick::setimageiterations

(PECL gmagick >= Unknown)

Gmagick::setimageiterations — Sets the image iterations

Açıklama

public Gmagick::setimageiterations(int $iterations): Gmagick

Sets the image iterations.

Bağımsız Değişkenler

iterations

The image delay in 1/100th of a second.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Adds a named profile to the Gmagick object

  • « Gmagick::setimageiterations
  • Gmagick::setimageredprimary »
  • PHP Manual
  • Gmagick
  • Adds a named profile to the Gmagick object

Gmagick::setimageprofile

(PECL gmagick >= Unknown)

Gmagick::setimageprofile — Adds a named profile to the Gmagick object

Açıklama

public Gmagick::setimageprofile(string $name, string $profile): Gmagick

Adds a named profile to the Gmagick object. If a profile with the same name already exists, it is replaced. This method differs from the Gmagick::profileimage() method in that it does not apply any CMS color profiles.

Bağımsız Değişkenler

name

Name of profile to add or remove: ICC, IPTC, or generic profile.

profile

The profile.

Dönen Değerler

The Gmagick object on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image chromaticity red primary point

  • « Gmagick::setimageprofile
  • Gmagick::setimagerenderingintent »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity red primary point

Gmagick::setimageredprimary

(PECL gmagick >= Unknown)

Gmagick::setimageredprimary — Sets the image chromaticity red primary point

Açıklama

public Gmagick::setimageredprimary(float $x, float $y): Gmagick

Sets the image chromaticity red primary point.

Bağımsız Değişkenler

x

The red primary x-point.

y

The red primary y-point.

Dönen Değerler

The Gmagick object on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image rendering intent

  • « Gmagick::setimageredprimary
  • Gmagick::setimageresolution »
  • PHP Manual
  • Gmagick
  • Sets the image rendering intent

Gmagick::setimagerenderingintent

(PECL gmagick >= Unknown)

Gmagick::setimagerenderingintent — Sets the image rendering intent

Açıklama

public Gmagick::setimagerenderingintent(int $rendering_intent): Gmagick

Sets the image rendering intent.

Bağımsız Değişkenler

rendering_intent

One of the Rendering Intent constant (Gmagick::RENDERINGINTENT_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image resolution

  • « Gmagick::setimagerenderingintent
  • Gmagick::setimagescene »
  • PHP Manual
  • Gmagick
  • Sets the image resolution

Gmagick::setimageresolution

(PECL gmagick >= Unknown)

Gmagick::setimageresolution — Sets the image resolution

Açıklama

public Gmagick::setimageresolution(float $xResolution, float $yResolution): Gmagick

Sets the image resolution.

Bağımsız Değişkenler

xResolution

The image x resolution.

yResolution

The image y resolution.

Dönen Değerler

The Gmagick object on success.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image scene

  • « Gmagick::setimageresolution
  • Gmagick::setimagetype »
  • PHP Manual
  • Gmagick
  • Sets the image scene

Gmagick::setimagescene

(PECL gmagick >= Unknown)

Gmagick::setimagescene — Sets the image scene

Açıklama

public Gmagick::setimagescene(int $scene): Gmagick

Sets the image scene.

Bağımsız Değişkenler

scene

The image scene number.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image type

  • « Gmagick::setimagescene
  • Gmagick::setimageunits »
  • PHP Manual
  • Gmagick
  • Sets the image type

Gmagick::setimagetype

(PECL gmagick >= Unknown)

Gmagick::setimagetype — Sets the image type

Açıklama

public Gmagick::setimagetype(int $imgType): Gmagick

Sets the image type.

Bağımsız Değişkenler

imgType

One of the Image type constant (Gmagick::IMGTYPE_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image units of resolution

  • « Gmagick::setimagetype
  • Gmagick::setimagewhitepoint »
  • PHP Manual
  • Gmagick
  • Sets the image units of resolution

Gmagick::setimageunits

(PECL gmagick >= Unknown)

Gmagick::setimageunits — Sets the image units of resolution

Açıklama

public Gmagick::setimageunits(int $resolution): Gmagick

Sets the image units of resolution.

Bağımsız Değişkenler

resolution

One of the Resolution constant (Gmagick::RESOLUTION_*).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image chromaticity white point

  • « Gmagick::setimageunits
  • Gmagick::setsamplingfactors »
  • PHP Manual
  • Gmagick
  • Sets the image chromaticity white point

Gmagick::setimagewhitepoint

(PECL gmagick >= Unknown)

Gmagick::setimagewhitepoint — Sets the image chromaticity white point

Açıklama

public Gmagick::setimagewhitepoint(float $x, float $y): Gmagick

Sets the image chromaticity white point.

Bağımsız Değişkenler

x

The white x-point.

y

The white y-point.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the image sampling factors

  • « Gmagick::setimagewhitepoint
  • Gmagick::setsize »
  • PHP Manual
  • Gmagick
  • Sets the image sampling factors

Gmagick::setsamplingfactors

(PECL gmagick >= Unknown)

Gmagick::setsamplingfactors — Sets the image sampling factors

Açıklama

public Gmagick::setsamplingfactors(array $factors): Gmagick

Sets the image sampling factors.

Bağımsız Değişkenler

factors

An array of floats representing the sampling factor for each color component (in RGB order).

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Sets the size of the Gmagick object

  • « Gmagick::setsamplingfactors
  • Gmagick::shearimage »
  • PHP Manual
  • Gmagick
  • Sets the size of the Gmagick object

Gmagick::setsize

(PECL gmagick >= Unknown)

Gmagick::setsize — Sets the size of the Gmagick object

Açıklama

public Gmagick::setsize(int $columns, int $rows): Gmagick

Sets the size of the Gmagick object. Set it before you read a raw image format such as Gmagick::COLORSPACE_RGB, Gmagick::COLORSPACE_GRAY, or Gmagick::COLORSPACE_CMYK.

Bağımsız Değişkenler

columns

The width in pixels.

rows

The height in pixels.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Creating a parallelogram

  • « Gmagick::setsize
  • Gmagick::solarizeimage »
  • PHP Manual
  • Gmagick
  • Creating a parallelogram

Gmagick::shearimage

(PECL gmagick >= Unknown)

Gmagick::shearimage — Creating a parallelogram

Açıklama

public Gmagick::shearimage(mixed $color, float $xShear, float $yShear): Gmagick

Slides one edge of an image along the X or Y axis, creating a parallelogram. An X direction shear slides an edge along the X axis, while a Y direction shear slides an edge along the Y axis. The amount of the shear is controlled by a shear angle. For X direction shears, x_shear is measured relative to the Y axis, and similarly, for Y direction shears y_shear is measured relative to the X axis. Empty triangles left over from shearing the image are filled with the background color.

Bağımsız Değişkenler

color

The background pixel wand.

xShear

The number of degrees to shear the image.

yShear

The number of degrees to shear the image.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Applies a solarizing effect to the image

  • « Gmagick::shearimage
  • Gmagick::spreadimage »
  • PHP Manual
  • Gmagick
  • Applies a solarizing effect to the image

Gmagick::solarizeimage

(PECL gmagick >= Unknown)

Gmagick::solarizeimage — Applies a solarizing effect to the image

Açıklama

public Gmagick::solarizeimage(int $threshold): Gmagick

Applies a special effect to the image, similar to the effect achieved in a photo darkroom by selectively exposing areas of photo sensitive paper to light. Threshold ranges from 0 to QuantumRange and is a measure of the extent of the solarization.

Bağımsız Değişkenler

threshold

Define the extent of the solarization.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Randomly displaces each pixel in a block

  • « Gmagick::solarizeimage
  • Gmagick::stripimage »
  • PHP Manual
  • Gmagick
  • Randomly displaces each pixel in a block

Gmagick::spreadimage

(PECL gmagick >= Unknown)

Gmagick::spreadimage — Randomly displaces each pixel in a block

Açıklama

public Gmagick::spreadimage(float $radius): Gmagick

Special effects method that randomly displaces each pixel in a block defined by the radius parameter.

Bağımsız Değişkenler

radius

Choose a random pixel in a neighborhood of this extent.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Strips an image of all profiles and comments

  • « Gmagick::spreadimage
  • Gmagick::swirlimage »
  • PHP Manual
  • Gmagick
  • Strips an image of all profiles and comments

Gmagick::stripimage

(PECL gmagick >= Unknown)

Gmagick::stripimage — Strips an image of all profiles and comments

Açıklama

public Gmagick::stripimage(): Gmagick

Strips an image of all profiles and comments.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Swirls the pixels about the center of the image

  • « Gmagick::stripimage
  • Gmagick::thumbnailimage »
  • PHP Manual
  • Gmagick
  • Swirls the pixels about the center of the image

Gmagick::swirlimage

(PECL gmagick >= Unknown)

Gmagick::swirlimage — Swirls the pixels about the center of the image

Açıklama

public Gmagick::swirlimage(float $degrees): Gmagick

Swirls the pixels about the center of the image, where degrees indicates the sweep of the arc through which each pixel is moved. You get a more dramatic effect as the degrees move from 1 to 360.

Bağımsız Değişkenler

degrees

Define the tightness of the swirling effect.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Changes the size of an image

  • « Gmagick::swirlimage
  • Gmagick::trimimage »
  • PHP Manual
  • Gmagick
  • Changes the size of an image

Gmagick::thumbnailimage

(PECL gmagick >= Unknown)

Gmagick::thumbnailimage — Changes the size of an image

Açıklama

public Gmagick::thumbnailimage(int $width, int $height, bool $fit = false): Gmagick

Changes the size of an image to the given dimensions and removes any associated profiles. The goal is to produce small low cost thumbnail images suited for display on the Web. If true is given as a third parameter then columns and rows parameters are used as maximums for each side. Both sides will be scaled down until the match or are smaller than the parameter given for the side.

Bağımsız Değişkenler

width

Image width.

height

Image height.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Remove edges from the image

  • « Gmagick::thumbnailimage
  • Gmagick::write »
  • PHP Manual
  • Gmagick
  • Remove edges from the image

Gmagick::trimimage

(PECL gmagick >= Unknown)

Gmagick::trimimage — Remove edges from the image

Açıklama

public Gmagick::trimimage(float $fuzz): Gmagick

Remove edges that are the background color from the image.

Bağımsız Değişkenler

fuzz

By default target must match a particular pixel color exactly. However, in many cases two colors may differ by a small amount. The fuzz member of image defines how much tolerance is acceptable to consider two colors as the same. This parameter represents the variation on the quantum range.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


Takma Adı: Gmagick::writeimage

  • « Gmagick::trimimage
  • Gmagick::writeimage »
  • PHP Manual
  • Gmagick
  • Takma Adı: Gmagick::writeimage

Gmagick::write

(PECL gmagick >= Unknown)

Gmagick::write — Takma Adı: Gmagick::writeimage()

Açıklama

Bu yöntem şu yöntemin takma adıdır: Gmagick::writeimage().


Writes an image to the specified filename

  • « Gmagick::write
  • GmagickDraw »
  • PHP Manual
  • Gmagick
  • Writes an image to the specified filename

Gmagick::writeimage

(PECL gmagick >= Unknown)

Gmagick::writeimage — Writes an image to the specified filename

Açıklama

public Gmagick::writeimage(string $filename, bool $all_frames = false): Gmagick

Writes an image to the specified filename. If the filename parameter is null, the image is written to the filename set by Gmagick::readimage() or Gmagick::setimagefilename().

Bağımsız Değişkenler

filename

The image filename.

Dönen Değerler

The Gmagick object.

Hatalar/İstisnalar

Hata durumunda bir GmagickException istisnası oluşur.


The GmagickDraw class

(PECL gmagick >= Unknown)

Giriş

Sınıf Sözdizimi

class GmagickDraw {
/* Yöntemler */
public annotate(float $x, float $y, string $text): GmagickDraw
public arc(
float $sx,
float $sy,
float $ex,
float $ey,
float $sd,
float $ed
): GmagickDraw
public bezier(array $coordinate_array): GmagickDraw
public ellipse(
float $ox,
float $oy,
float $rx,
float $ry,
float $start,
float $end
): GmagickDraw
public getfillcolor(): GmagickPixel
public getfillopacity(): float
public getfont(): mixed
public getfontsize(): float
public getfontstyle(): int
public getfontweight(): int
public getstrokecolor(): GmagickPixel
public getstrokeopacity(): float
public getstrokewidth(): float
public gettextdecoration(): int
public gettextencoding(): mixed
public line(
float $sx,
float $sy,
float $ex,
float $ey
): GmagickDraw
public point(float $x, float $y): GmagickDraw
public polygon(array $coordinates): GmagickDraw
public polyline(array $coordinate_array): GmagickDraw
public rectangle(
float $x1,
float $y1,
float $x2,
float $y2
): GmagickDraw
public rotate(float $degrees): GmagickDraw
public roundrectangle(
float $x1,
float $y1,
float $x2,
float $y2,
float $rx,
float $ry
): GmagickDraw
public scale(float $x, float $y): GmagickDraw
public setfillcolor(mixed $color): GmagickDraw
public setfillopacity(float $fill_opacity): GmagickDraw
public setfont(string $font): GmagickDraw
public setfontsize(float $pointsize): GmagickDraw
public setfontstyle(int $style): GmagickDraw
public setfontweight(int $weight): GmagickDraw
public setstrokecolor(mixed $color): GmagickDraw
public setstrokeopacity(float $stroke_opacity): GmagickDraw
public setstrokewidth(float $width): GmagickDraw
public settextdecoration(int $decoration): GmagickDraw
public settextencoding(string $encoding): GmagickDraw
}

İçindekiler

  • GmagickDraw::annotate — Draws text on the image
  • GmagickDraw::arc — Draws an arc
  • GmagickDraw::bezier — Draws a bezier curve
  • GmagickDraw::ellipse — Draws an ellipse on the image
  • GmagickDraw::getfillcolor — Returns the fill color
  • GmagickDraw::getfillopacity — Returns the opacity used when drawing
  • GmagickDraw::getfont — Returns the font
  • GmagickDraw::getfontsize — Returns the font pointsize
  • GmagickDraw::getfontstyle — Returns the font style
  • GmagickDraw::getfontweight — Returns the font weight
  • GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines
  • GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines
  • GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines
  • GmagickDraw::gettextdecoration — Returns the text decoration
  • GmagickDraw::gettextencoding — Returns the code set used for text annotations
  • GmagickDraw::line — Draws a line
  • GmagickDraw::point — Draws a point
  • GmagickDraw::polygon — Draws a polygon
  • GmagickDraw::polyline — Draws a polyline
  • GmagickDraw::rectangle — Draws a rectangle
  • GmagickDraw::rotate — Applies the specified rotation to the current coordinate space
  • GmagickDraw::roundrectangle — Draws a rounded rectangle
  • GmagickDraw::scale — Adjusts the scaling factor
  • GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects
  • GmagickDraw::setfillopacity — The setfillopacity purpose
  • GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text
  • GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text
  • GmagickDraw::setfontstyle — Sets the font style to use when annotating with text
  • GmagickDraw::setfontweight — Sets the font weight
  • GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines
  • GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines
  • GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines
  • GmagickDraw::settextdecoration — Specifies a decoration
  • GmagickDraw::settextencoding — Specifies the text code set


Draws text on the image

  • « GmagickDraw
  • GmagickDraw::arc »
  • PHP Manual
  • GmagickDraw
  • Draws text on the image

GmagickDraw::annotate

(PECL gmagick >= Unknown)

GmagickDraw::annotate — Draws text on the image

Açıklama

public GmagickDraw::annotate(float $x, float $y, string $text): GmagickDraw

Draws text on the image.

Bağımsız Değişkenler

x

x ordinate to left of text

y

y ordinate to text baseline

text

text to draw

Dönen Değerler

The GmagickDraw object.


Draws an arc

  • « GmagickDraw::annotate
  • GmagickDraw::bezier »
  • PHP Manual
  • GmagickDraw
  • Draws an arc

GmagickDraw::arc

(PECL gmagick >= Unknown)

GmagickDraw::arc — Draws an arc

Açıklama

public GmagickDraw::arc(
float $sx,
float $sy,
float $ex,
float $ey,
float $sd,
float $ed
): GmagickDraw

Draws an arc falling within a specified bounding rectangle on the image.

Bağımsız Değişkenler

sx

starting x ordinate of bounding rectangle

sy

starting y ordinate of bounding rectangle

ex

ending x ordinate of bounding rectangle

ey

ending y ordinate of bounding rectangle

sd

starting degrees of rotation

ed

ending degrees of rotation

Dönen Değerler

The GmagickDraw object.


Draws a bezier curve

  • « GmagickDraw::arc
  • GmagickDraw::ellipse »
  • PHP Manual
  • GmagickDraw
  • Draws a bezier curve

GmagickDraw::bezier

(PECL gmagick >= Unknown)

GmagickDraw::bezier — Draws a bezier curve

Açıklama

public GmagickDraw::bezier(array $coordinate_array): GmagickDraw

Draws a bezier curve through a set of points on the image.

Bağımsız Değişkenler

coordinate_array

Coordinates array

Dönen Değerler

The GmagickDraw object.


Draws an ellipse on the image

  • « GmagickDraw::bezier
  • GmagickDraw::getfillcolor »
  • PHP Manual
  • GmagickDraw
  • Draws an ellipse on the image

GmagickDraw::ellipse

(PECL gmagick >= Unknown)

GmagickDraw::ellipse — Draws an ellipse on the image

Açıklama

public GmagickDraw::ellipse(
float $ox,
float $oy,
float $rx,
float $ry,
float $start,
float $end
): GmagickDraw

Draws an ellipse on the image.

Bağımsız Değişkenler

ox

origin x ordinate

oy

origin y ordinate

rx

radius in x

ry

radius in y

start

starting rotation in degrees

end

ending rotation in degrees

Dönen Değerler

The GmagickDraw object.


Returns the fill color

  • « GmagickDraw::ellipse
  • GmagickDraw::getfillopacity »
  • PHP Manual
  • GmagickDraw
  • Returns the fill color

GmagickDraw::getfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::getfillcolor — Returns the fill color

Açıklama

public GmagickDraw::getfillcolor(): GmagickPixel

Returns the fill color used for drawing filled objects.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The GmagickPixel fill color used for drawing filled objects.


Returns the opacity used when drawing

  • « GmagickDraw::getfillcolor
  • GmagickDraw::getfont »
  • PHP Manual
  • GmagickDraw
  • Returns the opacity used when drawing

GmagickDraw::getfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::getfillopacity — Returns the opacity used when drawing

Açıklama

public GmagickDraw::getfillopacity(): float

Returns the opacity used when drawing

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the opacity used when drawing using the fill color or fill texture. Fully opaque is 1.0.


Returns the font

  • « GmagickDraw::getfillopacity
  • GmagickDraw::getfontsize »
  • PHP Manual
  • GmagickDraw
  • Returns the font

GmagickDraw::getfont

(PECL gmagick >= Unknown)

GmagickDraw::getfont — Returns the font

Açıklama

public GmagickDraw::getfont(): mixed

Returns a string specifying the font used when annotating with text.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and false if no font is set.


Returns the font pointsize

  • « GmagickDraw::getfont
  • GmagickDraw::getfontstyle »
  • PHP Manual
  • GmagickDraw
  • Returns the font pointsize

GmagickDraw::getfontsize

(PECL gmagick >= Unknown)

GmagickDraw::getfontsize — Returns the font pointsize

Açıklama

public GmagickDraw::getfontsize(): float

Returns the font pointsize used when annotating with text.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the font size associated with the current GmagickDraw object.


Returns the font style

  • « GmagickDraw::getfontsize
  • GmagickDraw::getfontweight »
  • PHP Manual
  • GmagickDraw
  • Returns the font style

GmagickDraw::getfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::getfontstyle — Returns the font style

Açıklama

public GmagickDraw::getfontstyle(): int

Returns the font style used when annotating with text.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the font style constant (STYLE_) associated with the GmagickDraw object or 0 if no style is set.


Returns the font weight

  • « GmagickDraw::getfontstyle
  • GmagickDraw::getstrokecolor »
  • PHP Manual
  • GmagickDraw
  • Returns the font weight

GmagickDraw::getfontweight

(PECL gmagick >= Unknown)

GmagickDraw::getfontweight — Returns the font weight

Açıklama

public GmagickDraw::getfontweight(): int

Returns the font weight used when annotating with text.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an int on success and 0 if no weight is set.


Returns the color used for stroking object outlines

  • « GmagickDraw::getfontweight
  • GmagickDraw::getstrokeopacity »
  • PHP Manual
  • GmagickDraw
  • Returns the color used for stroking object outlines

GmagickDraw::getstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::getstrokecolor — Returns the color used for stroking object outlines

Açıklama

public GmagickDraw::getstrokecolor(): GmagickPixel

Returns the color used for stroking object outlines.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an GmagickPixel object which describes the color.


Returns the opacity of stroked object outlines

  • « GmagickDraw::getstrokecolor
  • GmagickDraw::getstrokewidth »
  • PHP Manual
  • GmagickDraw
  • Returns the opacity of stroked object outlines

GmagickDraw::getstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::getstrokeopacity — Returns the opacity of stroked object outlines

Açıklama

public GmagickDraw::getstrokeopacity(): float

Returns the opacity of stroked object outlines.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a float describing the opacity.


Returns the width of the stroke used to draw object outlines

  • « GmagickDraw::getstrokeopacity
  • GmagickDraw::gettextdecoration »
  • PHP Manual
  • GmagickDraw
  • Returns the width of the stroke used to draw object outlines

GmagickDraw::getstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::getstrokewidth — Returns the width of the stroke used to draw object outlines

Açıklama

public GmagickDraw::getstrokewidth(): float

Returns the width of the stroke used to draw object outlines.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a float describing the stroke width.


Returns the text decoration

  • « GmagickDraw::getstrokewidth
  • GmagickDraw::gettextencoding »
  • PHP Manual
  • GmagickDraw
  • Returns the text decoration

GmagickDraw::gettextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::gettextdecoration — Returns the text decoration

Açıklama

public GmagickDraw::gettextdecoration(): int

Returns the decoration applied when annotating with text.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns one of the DECORATION_ constants and 0 if no decoration is set.


Returns the code set used for text annotations

  • « GmagickDraw::gettextdecoration
  • GmagickDraw::line »
  • PHP Manual
  • GmagickDraw
  • Returns the code set used for text annotations

GmagickDraw::gettextencoding

(PECL gmagick >= Unknown)

GmagickDraw::gettextencoding — Returns the code set used for text annotations

Açıklama

public GmagickDraw::gettextencoding(): mixed

Returns a string which specifies the code set used for text annotations.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string specifying the code set or false if text encoding is not set.


Draws a line

  • « GmagickDraw::gettextencoding
  • GmagickDraw::point »
  • PHP Manual
  • GmagickDraw
  • Draws a line

GmagickDraw::line

(PECL gmagick >= Unknown)

GmagickDraw::line — Draws a line

Açıklama

public GmagickDraw::line(
float $sx,
float $sy,
float $ex,
float $ey
): GmagickDraw

Draws a line on the image using the current stroke color, stroke opacity, and stroke width.

Bağımsız Değişkenler

sx

starting x ordinate

sy

starting y ordinate

ex

ending x ordinate

ey

ending y ordinate

Dönen Değerler

The GmagickDraw object.


Draws a point

  • « GmagickDraw::line
  • GmagickDraw::polygon »
  • PHP Manual
  • GmagickDraw
  • Draws a point

GmagickDraw::point

(PECL gmagick >= Unknown)

GmagickDraw::point — Draws a point

Açıklama

public GmagickDraw::point(float $x, float $y): GmagickDraw

Draws a point using the current stroke color and stroke thickness at the specified coordinates.

Bağımsız Değişkenler

x

target x coordinate

y

target y coordinate

Dönen Değerler

The GmagickDraw object.


Draws a polygon

  • « GmagickDraw::point
  • GmagickDraw::polyline »
  • PHP Manual
  • GmagickDraw
  • Draws a polygon

GmagickDraw::polygon

(PECL gmagick >= Unknown)

GmagickDraw::polygon — Draws a polygon

Açıklama

public GmagickDraw::polygon(array $coordinates): GmagickDraw

Draws a polygon using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Bağımsız Değişkenler

coordinates

coordinate array

Dönen Değerler

The GmagickDraw object.


Draws a polyline

  • « GmagickDraw::polygon
  • GmagickDraw::rectangle »
  • PHP Manual
  • GmagickDraw
  • Draws a polyline

GmagickDraw::polyline

(PECL gmagick >= Unknown)

GmagickDraw::polyline — Draws a polyline

Açıklama

public GmagickDraw::polyline(array $coordinate_array): GmagickDraw

Draws a polyline using the current stroke, stroke width, and fill color or texture, using the specified array of coordinates.

Bağımsız Değişkenler

coordinate_array

The array of coordinates

Dönen Değerler

The GmagickDraw object.


Draws a rectangle

  • « GmagickDraw::polyline
  • GmagickDraw::rotate »
  • PHP Manual
  • GmagickDraw
  • Draws a rectangle

GmagickDraw::rectangle

(PECL gmagick >= Unknown)

GmagickDraw::rectangle — Draws a rectangle

Açıklama

public GmagickDraw::rectangle(
float $x1,
float $y1,
float $x2,
float $y2
): GmagickDraw

Draws a rectangle given two coordinates and using the current stroke, stroke width, and fill settings.

Bağımsız Değişkenler

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

Dönen Değerler

The GmagickDraw object.


Applies the specified rotation to the current coordinate space

  • « GmagickDraw::rectangle
  • GmagickDraw::roundrectangle »
  • PHP Manual
  • GmagickDraw
  • Applies the specified rotation to the current coordinate space

GmagickDraw::rotate

(PECL gmagick >= Unknown)

GmagickDraw::rotate — Applies the specified rotation to the current coordinate space

Açıklama

public GmagickDraw::rotate(float $degrees): GmagickDraw

Applies the specified rotation to the current coordinate space.

Bağımsız Değişkenler

degrees

degrees of rotation

Dönen Değerler

The GmagickDraw object.


Draws a rounded rectangle

  • « GmagickDraw::rotate
  • GmagickDraw::scale »
  • PHP Manual
  • GmagickDraw
  • Draws a rounded rectangle

GmagickDraw::roundrectangle

(PECL gmagick >= Unknown)

GmagickDraw::roundrectangle — Draws a rounded rectangle

Açıklama

public GmagickDraw::roundrectangle(
float $x1,
float $y1,
float $x2,
float $y2,
float $rx,
float $ry
): GmagickDraw

Draws a rounded rectangle given two coordinates, x and y corner radiuses and using the current stroke, stroke width, and fill settings.

Bağımsız Değişkenler

x1

x ordinate of first coordinate

y1

y ordinate of first coordinate

x2

x ordinate of second coordinate

y2

y ordinate of second coordinate

rx

radius of corner in horizontal direction

ry

radius of corner in vertical direction

Dönen Değerler

The GmagickDraw object.


Adjusts the scaling factor

  • « GmagickDraw::roundrectangle
  • GmagickDraw::setfillcolor »
  • PHP Manual
  • GmagickDraw
  • Adjusts the scaling factor

GmagickDraw::scale

(PECL gmagick >= Unknown)

GmagickDraw::scale — Adjusts the scaling factor

Açıklama

public GmagickDraw::scale(float $x, float $y): GmagickDraw

Adjusts the scaling factor to apply in the horizontal and vertical directions to the current coordinate space.

Bağımsız Değişkenler

x

horizontal scale factor

y

vertical scale factor

Dönen Değerler

The GmagickDraw object.


Sets the fill color to be used for drawing filled objects

  • « GmagickDraw::scale
  • GmagickDraw::setfillopacity »
  • PHP Manual
  • GmagickDraw
  • Sets the fill color to be used for drawing filled objects

GmagickDraw::setfillcolor

(PECL gmagick >= Unknown)

GmagickDraw::setfillcolor — Sets the fill color to be used for drawing filled objects

Açıklama

public GmagickDraw::setfillcolor(mixed $color): GmagickDraw

Sets the fill color to be used for drawing filled objects.

Bağımsız Değişkenler

color

GmagickPixel or string indicating color to use for filling.

Dönen Değerler

The GmagickDraw object on success.


The setfillopacity purpose

  • « GmagickDraw::setfillcolor
  • GmagickDraw::setfont »
  • PHP Manual
  • GmagickDraw
  • The setfillopacity purpose

GmagickDraw::setfillopacity

(PECL gmagick >= Unknown)

GmagickDraw::setfillopacity — The setfillopacity purpose

Açıklama

public GmagickDraw::setfillopacity(float $fill_opacity): GmagickDraw

Sets the opacity to use when drawing using the fill color or fill texture. Setting it to 1.0 will make fill full opaque.

Bağımsız Değişkenler

fill_opacity

Fill opacity

Dönen Değerler

The GmagickDraw object.


Sets the fully-specified font to use when annotating with text

  • « GmagickDraw::setfillopacity
  • GmagickDraw::setfontsize »
  • PHP Manual
  • GmagickDraw
  • Sets the fully-specified font to use when annotating with text

GmagickDraw::setfont

(PECL gmagick >= Unknown)

GmagickDraw::setfont — Sets the fully-specified font to use when annotating with text

Açıklama

public GmagickDraw::setfont(string $font): GmagickDraw

Sets the fully-specified font to use when annotating with text

Bağımsız Değişkenler

font

font name

Dönen Değerler

The GmagickDraw object.


Sets the font pointsize to use when annotating with text

  • « GmagickDraw::setfont
  • GmagickDraw::setfontstyle »
  • PHP Manual
  • GmagickDraw
  • Sets the font pointsize to use when annotating with text

GmagickDraw::setfontsize

(PECL gmagick >= Unknown)

GmagickDraw::setfontsize — Sets the font pointsize to use when annotating with text

Açıklama

public GmagickDraw::setfontsize(float $pointsize): GmagickDraw

Sets the font pointsize to use when annotating with text.

Bağımsız Değişkenler

pointsize

Text pointsize

Dönen Değerler

The GmagickDraw object.


Sets the font style to use when annotating with text

  • « GmagickDraw::setfontsize
  • GmagickDraw::setfontweight »
  • PHP Manual
  • GmagickDraw
  • Sets the font style to use when annotating with text

GmagickDraw::setfontstyle

(PECL gmagick >= Unknown)

GmagickDraw::setfontstyle — Sets the font style to use when annotating with text

Açıklama

public GmagickDraw::setfontstyle(int $style): GmagickDraw

Sets the font style to use when annotating with text. The AnyStyle enumeration acts as a wild-card "don't care" option.

Bağımsız Değişkenler

style

Font style (NormalStyle, ItalicStyle, ObliqueStyle, AnyStyle)

Dönen Değerler

The GmagickDraw object.


Sets the font weight

  • « GmagickDraw::setfontstyle
  • GmagickDraw::setstrokecolor »
  • PHP Manual
  • GmagickDraw
  • Sets the font weight

GmagickDraw::setfontweight

(PECL gmagick >= Unknown)

GmagickDraw::setfontweight — Sets the font weight

Açıklama

public GmagickDraw::setfontweight(int $weight): GmagickDraw

Sets the font weight to use when annotating with text.

Bağımsız Değişkenler

weight

Font weight (valid range 100-900)

Dönen Değerler

The GmagickDraw object.


Sets the color used for stroking object outlines

  • « GmagickDraw::setfontweight
  • GmagickDraw::setstrokeopacity »
  • PHP Manual
  • GmagickDraw
  • Sets the color used for stroking object outlines

GmagickDraw::setstrokecolor

(PECL gmagick >= Unknown)

GmagickDraw::setstrokecolor — Sets the color used for stroking object outlines

Açıklama

public GmagickDraw::setstrokecolor(mixed $color): GmagickDraw

Sets the color used for stroking object outlines.

Bağımsız Değişkenler

color

GmagickPixel or string representing the color for the stroke.

Dönen Değerler

The GmagickDraw object on success.


Specifies the opacity of stroked object outlines

  • « GmagickDraw::setstrokecolor
  • GmagickDraw::setstrokewidth »
  • PHP Manual
  • GmagickDraw
  • Specifies the opacity of stroked object outlines

GmagickDraw::setstrokeopacity

(PECL gmagick >= Unknown)

GmagickDraw::setstrokeopacity — Specifies the opacity of stroked object outlines

Açıklama

public GmagickDraw::setstrokeopacity(float $stroke_opacity): GmagickDraw

Specifies the opacity of stroked object outlines.

Bağımsız Değişkenler

stroke_opacity

Stroke opacity. The value 1.0 is opaque.

Dönen Değerler

The GmagickDraw object.


Sets the width of the stroke used to draw object outlines

  • « GmagickDraw::setstrokeopacity
  • GmagickDraw::settextdecoration »
  • PHP Manual
  • GmagickDraw
  • Sets the width of the stroke used to draw object outlines

GmagickDraw::setstrokewidth

(PECL gmagick >= Unknown)

GmagickDraw::setstrokewidth — Sets the width of the stroke used to draw object outlines

Açıklama

public GmagickDraw::setstrokewidth(float $width): GmagickDraw

Sets the width of the stroke used to draw object outlines

Bağımsız Değişkenler

width

Stroke width

Dönen Değerler

The GmagickDraw object.


Specifies a decoration

  • « GmagickDraw::setstrokewidth
  • GmagickDraw::settextencoding »
  • PHP Manual
  • GmagickDraw
  • Specifies a decoration

GmagickDraw::settextdecoration

(PECL gmagick >= Unknown)

GmagickDraw::settextdecoration — Specifies a decoration

Açıklama

public GmagickDraw::settextdecoration(int $decoration): GmagickDraw

Specifies a decoration to be applied when annotating with text.

Bağımsız Değişkenler

int

Text decoration. One of NoDecoration, UnderlineDecoration, OverlineDecoration, or LineThroughDecoration

Dönen Değerler

The GmagickDraw object.


Specifies the text code set

  • « GmagickDraw::settextdecoration
  • GmagickPixel »
  • PHP Manual
  • GmagickDraw
  • Specifies the text code set

GmagickDraw::settextencoding

(PECL gmagick >= Unknown)

GmagickDraw::settextencoding — Specifies the text code set

Açıklama

public GmagickDraw::settextencoding(string $encoding): GmagickDraw

Specifies the code set to use for text annotations. The only character encoding which may be specified at this time is "UTF-8" for representing Unicode as a sequence of bytes. Specify an empty string to set text encoding to the system's default. Successful text annotation using Unicode may require fonts designed to support Unicode.

Bağımsız Değişkenler

encoding

Character string specifying text encoding

Dönen Değerler

The GmagickDraw object.


The GmagickPixel class

(PECL gmagick >= Unknown)

Giriş

Sınıf Sözdizimi

class GmagickPixel {
/* Yöntemler */
public __construct(string $color = ?)
public getcolor(bool $as_array = false, bool $normalize_array = false): mixed
public getcolorcount(): int
public getcolorvalue(int $color): float
public setcolor(string $color): GmagickPixel
public setcolorvalue(int $color, float $value): GmagickPixel
}

İçindekiler

  • GmagickPixel::__construct — The GmagickPixel constructor
  • GmagickPixel::getcolor — Returns the color
  • GmagickPixel::getcolorcount — Returns the color count associated with this color
  • GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel
  • GmagickPixel::setcolor — Sets the color
  • GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels


The GmagickPixel constructor

  • « GmagickPixel
  • GmagickPixel::getcolor »
  • PHP Manual
  • GmagickPixel
  • The GmagickPixel constructor

GmagickPixel::__construct

(PECL gmagick >= Unknown)

GmagickPixel::__construct — The GmagickPixel constructor

Açıklama

public GmagickPixel::__construct(string $color = ?)

Constructs an GmagickPixel object. If a color is specified, the object is constructed and then initialised with that color before being returned.

Bağımsız Değişkenler

color

The optional color string to use as the initial value of this object.


Returns the color

  • « GmagickPixel::__construct
  • GmagickPixel::getcolorcount »
  • PHP Manual
  • GmagickPixel
  • Returns the color

GmagickPixel::getcolor

(PECL gmagick >= Unknown)

GmagickPixel::getcolor — Returns the color

Açıklama

public GmagickPixel::getcolor(bool $as_array = false, bool $normalize_array = false): mixed

Returns the color described by the GmagickPixel object, as a string or an array. If the color has an opacity channel set, this is provided as a fourth value in the list.

Bağımsız Değişkenler

as_array

true to indicate return of array instead of string.

normalize_array

true to normalize the color values.

Dönen Değerler

A string or an array of channel values, each normalized if true is given as normalize_array. Throws GmagickPixelException on error.


Returns the color count associated with this color

  • « GmagickPixel::getcolor
  • GmagickPixel::getcolorvalue »
  • PHP Manual
  • GmagickPixel
  • Returns the color count associated with this color

GmagickPixel::getcolorcount

(PECL gmagick >= Unknown)

GmagickPixel::getcolorcount — Returns the color count associated with this color

Açıklama

public GmagickPixel::getcolorcount(): int

Returns the color count associated with this color.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the color count as an integer on success, throws GmagickPixelException on failure.


Gets the normalized value of the provided color channel

  • « GmagickPixel::getcolorcount
  • GmagickPixel::setcolor »
  • PHP Manual
  • GmagickPixel
  • Gets the normalized value of the provided color channel

GmagickPixel::getcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::getcolorvalue — Gets the normalized value of the provided color channel

Açıklama

public GmagickPixel::getcolorvalue(int $color): float

Retrieves the value of the color channel specified, as a floating-point number between 0 and 1.

Bağımsız Değişkenler

color

The channel to check, specified as one of the Gmagick channel constants.

Dönen Değerler

The value of the channel, as a normalized floating-point number, throwing GmagickPixelException on error.


Sets the color

  • « GmagickPixel::getcolorvalue
  • GmagickPixel::setcolorvalue »
  • PHP Manual
  • GmagickPixel
  • Sets the color

GmagickPixel::setcolor

(PECL gmagick >= Unknown)

GmagickPixel::setcolor — Sets the color

Açıklama

public GmagickPixel::setcolor(string $color): GmagickPixel

Sets the color described by the GmagickPixel object, with a string (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)", etc.).

Bağımsız Değişkenler

color

The color definition to use in order to initialise the GmagickPixel object.

Dönen Değerler

The GmagickPixel object.


Sets the normalized value of one of the channels

  • « GmagickPixel::setcolor
  • ImageMagick »
  • PHP Manual
  • GmagickPixel
  • Sets the normalized value of one of the channels

GmagickPixel::setcolorvalue

(PECL gmagick >= Unknown)

GmagickPixel::setcolorvalue — Sets the normalized value of one of the channels

Açıklama

public GmagickPixel::setcolorvalue(int $color, float $value): GmagickPixel

Sets the value of the specified channel of this object to the provided value, which should be between 0 and 1. This function can be used to provide an opacity channel to a GmagickPixel object.

Bağımsız Değişkenler

color

One of the Gmagick channel color constants.

value

The value to set this channel to, ranging from 0 to 1.

Dönen Değerler

The GmagickPixel object.


Görüntü İşleme (ImageMagick)

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel kullanım
  • Imagick — Imagick sınıfı
    • Imagick::adaptiveBlurImage — Görüntüyü uyarlamalı olarak bulanıklaştırır
    • Imagick::adaptiveResizeImage — Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır
    • Imagick::adaptiveSharpenImage — Uyarlamalı olarak görüntüyü keskinleştirir
    • Imagick::adaptiveThresholdImage — Bir yoğunluk aralığına göre her piksel için bir eşik seçer
    • Imagick::addImage — Imagick görüntü listesine yeni bir görüntü ekler
    • Imagick::addNoiseImage — Görüntüye rasgele gürültü ekler
    • Imagick::affineTransformImage — Görüntüyü dönüştürür
    • Imagick::animateImages — Bir görüntüyü veya görüntüleri canlandırır
    • Imagick::annotateImage — Görüntüye bir metin çizer
    • Imagick::appendImages — Bir görüntü kümesini ekler
    • Imagick::autoLevelImage — Adjusts the levels of a particular image channel
    • Imagick::averageImages — Bir görüntü kümesinin ortalamasını alır
    • Imagick::blackThresholdImage — Eşiğin altında kalan tüm renkleri siyaha çevirir
    • Imagick::blueShiftImage — Mutes the colors of the image
    • Imagick::blurImage — Görüntüye bir bulanıklık süzgeci ekler
    • Imagick::borderImage — Görüntüye bir çerçeve çizer
    • Imagick::brightnessContrastImage — Change the brightness and/or contrast of an image
    • Imagick::charcoalImage — Kara kalem çizimi taklit eder
    • Imagick::chopImage — Bir görüntünün bir bölgesini silerek kırpar
    • Imagick::clampImage — Restricts the color range from 0 to the quantum depth.
    • Imagick::clear — Imagick nesnesi ile ilgili tüm özkaynakları temizler
    • Imagick::clipImage — 8BIM profilindeki ilk yol boyunca görüntüyü kırpar
    • Imagick::clipImagePath — Clips along the named paths from the 8BIM profile, if present
    • Imagick::clipPathImage — 8BIM profili boyunca isimli yolları kırpar
    • Imagick::clone — Imagick nesnesinin tam bir kopyasını yapar
    • Imagick::clutImage — Görüntünün renklerini değiştirir
    • Imagick::coalesceImages — Bir görüntü kümesini tek bir görüntü olarak birleştirir
    • Imagick::colorFloodfillImage — Hedefle eşleşen her pikselin rengini değiştirir
    • Imagick::colorizeImage — Görüntünün her pikseline dolgu rengini karıştırır
    • Imagick::colorMatrixImage — Apply color transformation to an image
    • Imagick::combineImages — Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir
    • Imagick::commentImage — Görüntüye bir açıklama ekler
    • Imagick::compareImageChannels — Bir veya daha fazla görüntünün farkını döndürür
    • Imagick::compareImageLayers — Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür
    • Imagick::compareImages — Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır
    • Imagick::compositeImage — Bir görüntüyü diğeriyle birleştirir
    • Imagick::__construct — Imagick kurucusu
    • Imagick::contrastImage — Görüntünün zıtlığını değiştirir
    • Imagick::contrastStretchImage — Renkli bir görüntünün zıtlığını ayarlar
    • Imagick::convolveImage — Görüntüye bir evrişim çekirdeği uygular
    • Imagick::count — Get the number of images
    • Imagick::cropImage — Görüntünün bir bölgesini çıkarır
    • Imagick::cropThumbnailImage — Görüntünün kırpık bir örneğini oluşturur
    • Imagick::current — Geçerli Imagick nesnesini döndürür
    • Imagick::cycleColormapImage — Bir görüntünün renk eşleminin bir kısmını değiştirir
    • Imagick::decipherImage — Şifreli bir görüntünün şifresini çözer
    • Imagick::deconstructImages — Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür
    • Imagick::deleteImageArtifact — Delete image artifact
    • Imagick::deleteImageProperty — Deletes an image property
    • Imagick::deskewImage — Removes skew from the image
    • Imagick::despeckleImage — Görüntünün benekli görünümünü düzeltir
    • Imagick::destroy — Imagick nesnesini siler
    • Imagick::displayImage — Bir görüntüyü gösterir
    • Imagick::displayImages — Bir görüntü dizisini gösterir
    • Imagick::distortImage — Çeşitli yöntemlerle görüntüyü bozunuma uğratır
    • Imagick::drawImage — Belirtilen ImagickDraw nesnesini görüntüye uygular
    • Imagick::edgeImage — Görüntünün kenarlarını yuvarlatır
    • Imagick::embossImage — Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür
    • Imagick::encipherImage — Bir görüntüyü şifreler
    • Imagick::enhanceImage — Görüntü kalitesini arttırır
    • Imagick::equalizeImage — Görüntünün renk dağılımını dengeler
    • Imagick::evaluateImage — Görüntüye bir ifade uygular
    • Imagick::exportImagePixels — Exports raw image pixels
    • Imagick::extentImage — Görüntü boyutlarını belirler
    • Imagick::filter — Applies a custom convolution kernel to the image
    • Imagick::flattenImages — Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir
    • Imagick::flipImage — Görüntünün düşeydeki yansımasını oluşturur
    • Imagick::floodFillPaintImage — Hedefle eşleşen piksellerin renklerini değiştirir
    • Imagick::flopImage — Görüntünün yataydaki yansımasını oluşturur
    • Imagick::forwardFourierTransformImage — Implements the discrete Fourier transform (DFT)
    • Imagick::frameImage — Üç boyutluluğu taklit ederek bir çerçeve ekler
    • Imagick::functionImage — Applies a function on the image
    • Imagick::fxImage — Bir ifadeyi görüntüdeki her piksele uygular
    • Imagick::gammaImage — Görüntünün gammasını düzeltir
    • Imagick::gaussianBlurImage — Görüntüyü bulanıklaştırır
    • Imagick::getColorspace — Gets the colorspace
    • Imagick::getCompression — Nesnenin sıkıştırma türünü döndürür
    • Imagick::getCompressionQuality — Nesnenin sıkıştırma seviyesini döndürür
    • Imagick::getCopyright — ImageMagick telif hakkı bilgisini döndürür
    • Imagick::getFilename — Görüntü dizisi ile ilişkili dosya ismini döndürür
    • Imagick::getFont — Yazıtipini döndürür
    • Imagick::getFormat — Imagick nesnesinin biçemini döndürür
    • Imagick::getGravity — Gets the gravity
    • Imagick::getHomeURL — ImageMagick sitesinin adresini döndürür
    • Imagick::getImage — Yeni bir Imagick nesnesi döndürür
    • Imagick::getImageAlphaChannel — Checks if the image has an alpha channel
    • Imagick::getImageArtifact — Get image artifact
    • Imagick::getImageAttribute — Returns a named attribute
    • Imagick::getImageBackgroundColor — Resmin artalan rengini döndürür
    • Imagick::getImageBlob — Görüntü dizisini ikil dizge olarak döndürür
    • Imagick::getImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür
    • Imagick::getImageBorderColor — Görüntünün çerçeve rengini döndürür
    • Imagick::getImageChannelDepth — Belirtilen kanalın derinliğini döndürür
    • Imagick::getImageChannelDistortion — Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır
    • Imagick::getImageChannelDistortions — Gets channel distortions
    • Imagick::getImageChannelExtrema — Belirtilen kanalların uç değerlerini döndürür
    • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean — Kanal ortalama ve standart sapmasını döndürür
    • Imagick::getImageChannelRange — Gets channel range
    • Imagick::getImageChannelStatistics — Görüntüdeki her kanalın istatistiklerini döndürür
    • Imagick::getImageClipMask — Resim kırpma maskesini döndürür
    • Imagick::getImageColormapColor — Renk eşlemi indisi belirtilen rengi döndürür
    • Imagick::getImageColors — Görüntüdeki eşsiz renklerin sayısını döndürür
    • Imagick::getImageColorspace — Resmin renk uzayını döndürür
    • Imagick::getImageCompose — Görüntü ile ilgili birleştirme işlecini döndürür
    • Imagick::getImageCompression — Görüntünün sıkıştırma türünü döndürür
    • Imagick::getImageCompressionQuality — Görüntünün sıkıştırma seviyesini döndürür
    • Imagick::getImageDelay — Görüntü gecikmesini döndürür
    • Imagick::getImageDepth — Görüntü derinliğini döndürür
    • Imagick::getImageDispose — Görüntünün elden çıkarma yöntemini döndürür
    • Imagick::getImageDistortion — Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır
    • Imagick::getImageExtrema — Görüntü ile ilgili uç değerleri döndürür
    • Imagick::getImageFilename — Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür
    • Imagick::getImageFormat — Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür
    • Imagick::getImageGamma — Görüntünün gammasını döndürür
    • Imagick::getImageGeometry — Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür
    • Imagick::getImageGravity — Gets the image gravity
    • Imagick::getImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür
    • Imagick::getImageHeight — Görüntünün yüksekliğini döndürür
    • Imagick::getImageHistogram — Görüntünün renk dağılımını döndürür
    • Imagick::getImageIndex — Geçerli etkin görüntünün indisini döndürür
    • Imagick::getImageInterlaceScheme — Görüntünün geçişim şemasını döndürür
    • Imagick::getImageInterpolateMethod — Aradeğerleme yöntemini döndürür
    • Imagick::getImageIterations — Görüntü yineleme sayısını döndürür
    • Imagick::getImageLength — Görüntü uzunluğunu döndürür
    • Imagick::getImageMatte — Görüntünün bir matlık kanalı varsa true döndürür
    • Imagick::getImageMatteColor — Görüntünün matlık rengini döndürür
    • Imagick::getImageMimeType — Returns the image mime-type
    • Imagick::getImageOrientation — Görüntü baskı yönünü döndürür
    • Imagick::getImagePage — Sayfa geometrisini döndürür
    • Imagick::getImagePixelColor — Belirtilen pikselin rengini döndürür
    • Imagick::getImageProfile — İsimli görüntü profilini döndürür
    • Imagick::getImageProfiles — Görüntü profillerini döndürür
    • Imagick::getImageProperties — Görüntü özelliklerini döndürür
    • Imagick::getImageProperty — İsimli görüntü özelliğini döndürür
    • Imagick::getImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür
    • Imagick::getImageRegion — Görüntünün bir bölgesini çıkarır
    • Imagick::getImageRenderingIntent — Görüntüye komutların uygulanış tarzını döndürür
    • Imagick::getImageResolution — Görüntünün X ve Y çözünürlüklerini döndürür
    • Imagick::getImagesBlob — Tüm görüntü dizilerini bir ikil dizge olarak döndürür
    • Imagick::getImageScene — Görüntünün artalan dekorunu döndürür
    • Imagick::getImageSignature — Görüntünün SHA-256 aşını üretir
    • Imagick::getImageSize — Görüntü uzunluğunu bayt cinsinden döndürür
    • Imagick::getImageTicksPerSecond — Görüntünün saniyedeki tik sayısını döndürür
    • Imagick::getImageTotalInkDensity — Görüntünün belli bir renginin toplam yoğunluğunu döndürür
    • Imagick::getImageType — Olası görüntü türünü döndürür
    • Imagick::getImageUnits — Görüntü çözünürlük birimlerini döndürür
    • Imagick::getImageVirtualPixelMethod — Sanal piksel yöntemini döndürür
    • Imagick::getImageWhitePoint — Görüntünün renk bileşenlerinden beyaz noktayı döndürür
    • Imagick::getImageWidth — Görüntü genişliğini döndürür
    • Imagick::getInterlaceScheme — Nesne geçişim şemasını döndürür
    • Imagick::getIteratorIndex — Geçerli etkin görüntünün indisini döndürür
    • Imagick::getNumberImages — Nesnedeki görüntü sayısını döndürür
    • Imagick::getOption — Belirtilen anahtarla ilgili değeri döndürür
    • Imagick::getPackageName — ImageMagick paket ismini döndürür
    • Imagick::getPage — Sayfa geometrisini döndürür
    • Imagick::getPixelIterator — Bir MagickPixelIterator nesnesi döndürür
    • Imagick::getPixelRegionIterator — Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür
    • Imagick::getPointSize — Punto değerini döndürür
    • Imagick::getQuantum — Returns the ImageMagick quantum range
    • Imagick::getQuantumDepth — Parçacık derinliğini döndürür
    • Imagick::getQuantumRange — Imagick parçacık aralığını döndürür
    • Imagick::getRegistry — Get a StringRegistry entry
    • Imagick::getReleaseDate — ImageMagick dağıtım tarihini döndürür
    • Imagick::getResource — Belirtilen özkaynağın bellek kullanımını döndürür
    • Imagick::getResourceLimit — Belirtilen özkaynağın bellek kullanım sınırını döndürür
    • Imagick::getSamplingFactors — Yatay ve düşey örnekleme katsayısını döndürür
    • Imagick::getSize — Imagick nesnesi ile ilgili boyutları döndürür
    • Imagick::getSizeOffset — Boyut başlangıç noktasını döndürür
    • Imagick::getVersion — ImageMagick API sürümünü döndürür
    • Imagick::haldClutImage — Replaces colors in the image
    • Imagick::hasNextImage — Görüntünün sonrasında bir görüntü daha var mı diye bakar
    • Imagick::hasPreviousImage — Görüntünün öncesinde bir görüntü daha var mı diye bakar
    • Imagick::identifyFormat — Formats a string with image details
    • Imagick::identifyImage — Görüntünün özniteliklerini döndürerek görüntüyü tanımlar
    • Imagick::implodeImage — Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur
    • Imagick::importImagePixels — Imports image pixels
    • Imagick::inverseFourierTransformImage — Implements the inverse discrete Fourier transform (DFT)
    • Imagick::labelImage — Görüntüye bir yafta ekler
    • Imagick::levelImage — Bir görüntünün seviyelerini ayarlar
    • Imagick::linearStretchImage — Görüntünün koyuluğunu doygunluk ile abartır
    • Imagick::liquidRescaleImage — Bir görüntüyü veya görüntüleri canlandırır
    • Imagick::listRegistry — List all the registry settings
    • Imagick::magnifyImage — En boy oranını koruyarak görüntüyü iki katına büyütür
    • Imagick::mapImage — Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir
    • Imagick::matteFloodfillImage — Bir rengin şeffaflık değerini değiştirir
    • Imagick::medianFilterImage — Görüntüye bir sayısal süzgeç uygular
    • Imagick::mergeImageLayers — Görüntü katmanlarını katıştırır
    • Imagick::minifyImage — En boy oranını koruyarak görüntüyü yarı boyutuna indirir
    • Imagick::modulateImage — Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler
    • Imagick::montageImage — Birleşik bir görüntü oluşturur
    • Imagick::morphImages — Bir görüntü dizisini başkalaşıma uğratır
    • Imagick::morphology — Applies a user supplied kernel to the image according to the given morphology method.
    • Imagick::mosaicImages — Görüntülerden bir mozaik oluşturur
    • Imagick::motionBlurImage — Hareket bulanıklığını taklit eder
    • Imagick::negateImage — Görüntünün renklerini negatiflerine dönüştürür
    • Imagick::newImage — Yeni bir görüntü oluşturur
    • Imagick::newPseudoImage — Yeni bir görüntü oluşturur
    • Imagick::nextImage — Bir sonraki görüntüye gider
    • Imagick::normalizeImage — Renkli bir görüntünün zıtlığını arttırır
    • Imagick::oilPaintImage — Yağlı boya resmi taklit eder
    • Imagick::opaquePaintImage — Hedef ile eşleşen piksellerin rengini değiştirir
    • Imagick::optimizeImageLayers — En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler
    • Imagick::orderedPosterizeImage — Görüntüye kurallı titreklik uygular
    • Imagick::paintFloodfillImage — Belirtilen renkle eşleşen piksellerin rengini değiştirir
    • Imagick::paintOpaqueImage — Bir rengi bir başka renkle değiştirir
    • Imagick::paintTransparentImage — Görüntüdeki belli bir rengi dolgu rengiyle değiştirir
    • Imagick::pingImage — Temel görüntü özniteliklerini bir dosyadan okur
    • Imagick::pingImageBlob — Temel görüntü özniteliklerini bir dizgeden okur
    • Imagick::pingImageFile — Temel görüntü özniteliklerini bir akımdan okur
    • Imagick::polaroidImage — Polaroid resmi taklit eder
    • Imagick::posterizeImage — Görüntüdeki renkleri belli bir sayıya düşürür
    • Imagick::previewImages — Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır
    • Imagick::previousImage — Bir önceki görüntüye gider
    • Imagick::profileImage — Bir görüntüye profil ekler veya çıkarır
    • Imagick::quantizeImage — Belli bir görüntü içindeki renk miktarını bulur
    • Imagick::quantizeImages — Bir görüntü kümesi içindeki renk miktarını bulur
    • Imagick::queryFontMetrics — Yazı tipinin özelliklerini içeren bir dizi döndürür
    • Imagick::queryFonts — Yapılandırımış yazı tiplerini döndürür
    • Imagick::queryFormats — Imagick tarafından desteklenen biçemleri döndürür
    • Imagick::radialBlurImage — Görüntüye dairesel bulanıklık uygular
    • Imagick::raiseImage — 3 boyutlu düğme benzeri bir etki oluşturur
    • Imagick::randomThresholdImage — Yüksek zıtlığa sahip iki renkli görüntü oluşturur
    • Imagick::readImage — Görüntüyü dosyadar okur
    • Imagick::readImageBlob — Görüntüyü ikil bir dizgeden okur
    • Imagick::readImageFile — Görüntüyü akımdan okur
    • Imagick::readimages — Reads image from an array of filenames
    • Imagick::recolorImage — Görüntüyü yeniden renklendirir
    • Imagick::reduceNoiseImage — Görüntünün dış hatlarını yumuşatır
    • Imagick::remapImage — Remaps image colors
    • Imagick::removeImage — Görüntü kümesinden görüntü siler
    • Imagick::removeImageProfile — İsimli görüntü profilini silip döndürür
    • Imagick::render — Evvelce verilmiş tüm çizim komutlarını uygular
    • Imagick::resampleImage — Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler
    • Imagick::resetImagePage — Görüntü sayfasını sıfırlar
    • Imagick::resizeImage — Görüntüyü boyutlandırır
    • Imagick::rollImage — Görüntünün başlangıç noktasını tanımlar
    • Imagick::rotateImage — Görüntüyü döndürür
    • Imagick::rotationalBlurImage — Rotational blurs an image
    • Imagick::roundCorners — Görüntünün köşelerini yuvarlatır
    • Imagick::sampleImage — Görüntüyü piksel örneklemeyle oranlar
    • Imagick::scaleImage — Görüntünün enboy oranını ayarlar
    • Imagick::segmentImage — Segments an image
    • Imagick::selectiveBlurImage — Selectively blur an image within a contrast threshold
    • Imagick::separateImageChannel — Görüntüden bir kanalı ayırır
    • Imagick::sepiaToneImage — Görüntüye kızıl kahverengi tonlama uygular
    • Imagick::setBackgroundColor — Nesnenin öntanımlı artalan rengini tanımlar
    • Imagick::setColorspace — Set colorspace
    • Imagick::setCompression — Nesnenin öntanımlı sıkıştırma türünü tanımlar
    • Imagick::setCompressionQuality — Nesnenin öntanımlı sıkıştırma seviyesini tanımlar
    • Imagick::setFilename — Görüntüye dosya ismi tanımlar
    • Imagick::setFirstIterator — Imagick yineleyiciyi ilk görüntüye konumlar
    • Imagick::setFont — Imagick nesnesinin yazı tipini tanımlar
    • Imagick::setFormat — Imagick nesnesinin biçemini tanımlar
    • Imagick::setGravity — Sets the gravity
    • Imagick::setImage — Nesnedeki görüntüyü değiştirir
    • Imagick::setImageAlphaChannel — Görüntünün şeffaflık kanalını tanımlar
    • Imagick::setImageArtifact — Set image artifact
    • Imagick::setImageAttribute — Sets an image attribute
    • Imagick::setImageBackgroundColor — Görüntünün artalan rengini tanımlar
    • Imagick::setImageBias — Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar
    • Imagick::setImageBiasQuantum — Sets the image bias
    • Imagick::setImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar
    • Imagick::setImageBorderColor — Görüntünün çerçeve rengini tanımlar
    • Imagick::setImageChannelDepth — Belli bir görüntü kanalının derinliğini tanımlar
    • Imagick::setImageClipMask — Görüntü kırpma maskesini tanımlar
    • Imagick::setImageColormapColor — Renk eşlemi indisi belirtilen rengi tanımlar
    • Imagick::setImageColorspace — Görüntünün renk uzayını tanımlar
    • Imagick::setImageCompose — Görüntü birleştirme işlecini tanımlar
    • Imagick::setImageCompression — Görüntü sıkıştırma seviyesini tanımlar
    • Imagick::setImageCompressionQuality — Görüntü sıkıştırma seviyesini belirler
    • Imagick::setImageDelay — Görüntü gecikmesini tanımlar
    • Imagick::setImageDepth — Görüntü derinliğini tanımlar
    • Imagick::setImageDispose — Görüntünün elden çıkarma yöntemini tanımlar
    • Imagick::setImageExtent — Görüntünün boyutlarını tanımlar
    • Imagick::setImageFilename — Belli bir görüntünün dosya ismini tanımlar
    • Imagick::setImageFormat — Belli bir görüntünün biçemini tanımlar
    • Imagick::setImageGamma — Görüntünün gammasını tanımlar
    • Imagick::setImageGravity — Sets the image gravity
    • Imagick::setImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar
    • Imagick::setImageIndex — Yineleyici konumunu tanımlar
    • Imagick::setImageInterlaceScheme — Görüntü geçişim şemasını tanımlar
    • Imagick::setImageInterpolateMethod — Görüntünün aradeğer pikseli yöntemini tanımlar
    • Imagick::setImageIterations — Görüntü yineleme sayısını tanımlar
    • Imagick::setImageMatte — Görüntünün matlık kanalını ayarlar
    • Imagick::setImageMatteColor — Görüntünün şeffaf rengini tanımlar
    • Imagick::setImageOpacity — Görüntünün matlık seviyesini tanımlar
    • Imagick::setImageOrientation — Görüntünün baskı yönünü tanımlar
    • Imagick::setImagePage — Görüntünün sayfa geometrisini tanımlar
    • Imagick::setImageProfile — Imagick nesnesine isimli bir profil ekler
    • Imagick::setImageProperty — Bir görüntü özelliğini tanımlar
    • Imagick::setImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar
    • Imagick::setImageRenderingIntent — Görüntüye komutların uygulanış tarzını belirler
    • Imagick::setImageResolution — Görüntünün çözünürlüğünü ayarlar
    • Imagick::setImageScene — Görüntünün dekorunu tanımlar
    • Imagick::setImageTicksPerSecond — Canlandırma hızını değiştirir
    • Imagick::setImageType — Görüntü türünü tanımlar
    • Imagick::setImageUnits — Görüntünün çözünürlük birimlerini tanımlar
    • Imagick::setImageVirtualPixelMethod — Görüntünün sanal piksel yöntemini tanımlar
    • Imagick::setImageWhitePoint — Renk berraklığının beyaz noktasını tanımlar
    • Imagick::setInterlaceScheme — Görüntü geçişim şemasını tanımlar
    • Imagick::setIteratorIndex — Yineleyici konumunu belirler
    • Imagick::setLastIterator — Son görüntüye bir Imagick yineleyicisi atar
    • Imagick::setOption — Bir seçenek tanımlar
    • Imagick::setPage — Imagick nesnesinin sayfa geometrisini tanımlar
    • Imagick::setPointSize — Yazı puntosunu belirler
    • Imagick::setProgressMonitor — Set a callback to be called during processing
    • Imagick::setRegistry — Sets the ImageMagick registry entry named key to value
    • Imagick::setResolution — Görüntü çözünürlüğünü tanımlar
    • Imagick::setResourceLimit — Belli bir özkaynağa sınır tanımlar
    • Imagick::setSamplingFactors — Görüntü örnekleme çarpanlarını ayarlar
    • Imagick::setSize — Imagick nesnesinin boyutlarını ayarlar
    • Imagick::setSizeOffset — Imagick nesnesinin başlangıcını ve boyutlarını ayarlar
    • Imagick::setType — Görüntünün tür özniteliğini tanımlar
    • Imagick::shadeImage — Üç boyutluluk etkisi oluşturur
    • Imagick::shadowImage — Görüntüde gölgeleri taklit eder
    • Imagick::sharpenImage — Görüntüyü netleştirir
    • Imagick::shaveImage — Görüntünün kenarındaki pikselleri rendeler
    • Imagick::shearImage — Bir paralalkenar oluşturur
    • Imagick::sigmoidalContrastImage — Bir resmin zıtlığını ayarlar
    • Imagick::sketchImage — Kara kalem çalışmasını taklit eder
    • Imagick::smushImages — Takes all images from the current image pointer to the end of the image list and smushs them
    • Imagick::solarizeImage — Görüntüye uzun pozlama etkisi uygular
    • Imagick::sparseColorImage — Interpolates colors
    • Imagick::spliceImage — Görüntüye düz bir renk ekler
    • Imagick::spreadImage — Bir kümedeki her pikseli rasgele gösterir
    • Imagick::statisticImage — Modifies image using a statistics function
    • Imagick::steganoImage — Görüntünün içine sayısal bir filigran gizler
    • Imagick::stereoImage — İki görüntüyü birleştirir
    • Imagick::stripImage — Görüntüden tüm profilleri ve açıklamaları ayıklar
    • Imagick::subImageMatch — Searches for a subimage in the current image and returns a similarity image
    • Imagick::swirlImage — Görüntünün merkezine yakın pikselleri girdap gibi döndürür
    • Imagick::textureImage — Doku görüntüsünü yatay ve düşeyde yineler
    • Imagick::thresholdImage — Bazı pikselleri belli bir eşiğe göre değiştir
    • Imagick::thumbnailImage — Görüntünün boyutlarını değiştirir
    • Imagick::tintImage — Görüntüdeki her piksele bir renk yöneyi uygular
    • Imagick::__toString — Returns the image as a string
    • Imagick::transformImage — Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu
    • Imagick::transformImageColorspace — Transforms an image to a new colorspace
    • Imagick::transparentPaintImage — Pikselleri şeffaflaştırır
    • Imagick::transposeImage — Görüntünün düşeydeki yansımasını oluşturur
    • Imagick::transverseImage — Görüntünün yataydaki yansımasını oluşturur
    • Imagick::trimImage — Görüntünün kenarlarını siler
    • Imagick::uniqueImageColors — Biri dışında tüm piksel renklerini iptal eder
    • Imagick::unsharpMaskImage — Görüntüyü netleştirir
    • Imagick::valid — Imagick nesnesinin geçerli olup olmadığını sınar
    • Imagick::vignetteImage — Görüntüye bir nakış süzgeci uygular
    • Imagick::waveImage — Görüntüye bir dalga süzgeci uygular
    • Imagick::whiteThresholdImage — Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar
    • Imagick::writeImage — Görüntüyü belirtilen dosyaya yazar
    • Imagick::writeImageFile — Bir görüntüyü belirtilen dosya tanıtıcısına yazar
    • Imagick::writeImages — Bir görüntüyü veya görüntü kümesini dosyaya yazar
    • Imagick::writeImagesFile — Görüntü karelerini bir dosya tanıtıcısına yazar
  • ImagickDraw — ImagickDraw sınıfı
    • ImagickDraw::affine — Geçerli homojen koordinatlar matrisini ayarlar
    • ImagickDraw::annotation — Görüntünün üzerine bir metin çizer
    • ImagickDraw::arc — Bir yay çizer
    • ImagickDraw::bezier — Bir Bezier eğrisi çizer
    • ImagickDraw::circle — Bir daire çizer
    • ImagickDraw::clear — ImagickDraw nesnesini temizler
    • ImagickDraw::clone — Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar
    • ImagickDraw::color — Bir görüntüyü boyar
    • ImagickDraw::comment — Bir yöney çıktı akımına bir açıklama ekler
    • ImagickDraw::composite — Bir görüntüyü geçerli görüntüyle bileştirir
    • ImagickDraw::__construct — ImagickDraw kurucusu
    • ImagickDraw::destroy — ImagickDraw yıkıcısı
    • ImagickDraw::ellipse — Görüntünün üzerine bir elips çizer
    • ImagickDraw::getClipPath — Geçerli yalıtım maskesi kimliğini döndürür
    • ImagickDraw::getClipRule — Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür
    • ImagickDraw::getClipUnits — Yalıtım maskesi birimlerinin yorumunu döndürür
    • ImagickDraw::getFillColor — Dolgu rengini döndürür
    • ImagickDraw::getFillOpacity — Çizimde kullanılan matlık değerini döndürür
    • ImagickDraw::getFillRule — Geçerli dolgu kuralını döndürür
    • ImagickDraw::getFont — Geçerli yazı tipini döndürür
    • ImagickDraw::getFontFamily — Yazı tipi ailesini döndürür
    • ImagickDraw::getFontSize — Yazı tipi yüksekliğini döndürür
    • ImagickDraw::getFontStretch — Gets the font stretch to use when annotating with text
    • ImagickDraw::getFontStyle — Yazı tipi tarzını döndürür
    • ImagickDraw::getFontWeight — Yazı tipi kalınlığını döndürür
    • ImagickDraw::getGravity — Metnin çekim yönünü döndürür
    • ImagickDraw::getStrokeAntialias — Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür
    • ImagickDraw::getStrokeColor — Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür
    • ImagickDraw::getStrokeDashArray — Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür
    • ImagickDraw::getStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını döndürür
    • ImagickDraw::getStrokeLineCap — Kalın çizgilerdeki çizgi uçlarının şeklini döndürür
    • ImagickDraw::getStrokeLineJoin — Kalın çizgi ekleminin şeklini döndürür
    • ImagickDraw::getStrokeMiterLimit — Gönyenin kesildiği sınırı döndürür
    • ImagickDraw::getStrokeOpacity — Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür
    • ImagickDraw::getStrokeWidth — Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür
    • ImagickDraw::getTextAlignment — Metin hizalamasını döndürür
    • ImagickDraw::getTextAntialias — Geçerli metin yumuşatma ayarını döndürür
    • ImagickDraw::getTextDecoration — Metin süslemesi türünü döndürür
    • ImagickDraw::getTextEncoding — Metin çizerken kullanılan karakter kümesi ismini döndürür
    • ImagickDraw::getTextInterlineSpacing — Gets the text interword spacing
    • ImagickDraw::getTextInterwordSpacing — Gets the text interword spacing
    • ImagickDraw::getTextKerning — Gets the text kerning
    • ImagickDraw::getTextUnderColor — Metin artalanındaki rengi döndürür
    • ImagickDraw::getVectorGraphics — Yöney çizgesini içeren bir dizge döner
    • ImagickDraw::line — Bir çizgi çizer
    • ImagickDraw::matte — Görüntünün matlık kanalını boyar
    • ImagickDraw::pathClose — Geçerli hatta son elemanı ekler
    • ImagickDraw::pathCurveToAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute — İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierRelative — İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToRelative — Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToSmoothAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToSmoothRelative — Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathEllipticArcAbsolute — Eliptik bir yay çizer
    • ImagickDraw::pathEllipticArcRelative — Bir eliptik yay çizer
    • ImagickDraw::pathFinish — Geçerli hattı sonlandırır
    • ImagickDraw::pathLineToAbsolute — Bir hat elemanı çizer
    • ImagickDraw::pathLineToHorizontalAbsolute — Yatay bir hat elemanı çizer
    • ImagickDraw::pathLineToHorizontalRelative — Yatay bir hat elemanı çizer
    • ImagickDraw::pathLineToRelative — Bir hat elemanı çizer
    • ImagickDraw::pathLineToVerticalAbsolute — Düşey bir hat elemanı çizer
    • ImagickDraw::pathLineToVerticalRelative — Bir düşey hat elemanı çizer
    • ImagickDraw::pathMoveToAbsolute — Yeni bir hat elemanı başlatır
    • ImagickDraw::pathMoveToRelative — Yeni bir hat elemanı başlatır
    • ImagickDraw::pathStart — Bir hat çizim listesinin başlangıcını bildirir
    • ImagickDraw::point — Bir nokta çizer
    • ImagickDraw::polygon — Bir çokgen çizer
    • ImagickDraw::polyline — Bir çoklu çizgi çizer
    • ImagickDraw::pop — Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür
    • ImagickDraw::popClipPath — Bir yalıtım maskesi tanımını sonlandırır
    • ImagickDraw::popDefs — Bir tanım listesini sonlandırır
    • ImagickDraw::popPattern — Bir örüntü tanımını sonlandırır
    • ImagickDraw::push — Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar
    • ImagickDraw::pushClipPath — Bir yalıtım maskesi tanımı başlatır
    • ImagickDraw::pushDefs — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir
    • ImagickDraw::pushPattern — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir
    • ImagickDraw::rectangle — Bir dikdörtgen çizer
    • ImagickDraw::render — Evvelce verilmiş tüm çizim komutlarını resme uygular
    • ImagickDraw::resetVectorGraphics — Resets the vector graphics
    • ImagickDraw::rotate — Geçerli koordinat sistemini belirtilen açıda döndürür
    • ImagickDraw::roundRectangle — Köşeleri yuvarlatılmış bir dikdörtgen çizer
    • ImagickDraw::scale — Enboy oranını ayarlar
    • ImagickDraw::setClipPath — Bir isimli yalıtım maskesini resimle ilişkilendirir
    • ImagickDraw::setClipRule — Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler
    • ImagickDraw::setClipUnits — Yalıtım maskesi birimlerinin yorumunu belirler
    • ImagickDraw::setFillAlpha — Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler
    • ImagickDraw::setFillColor — Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler
    • ImagickDraw::setFillOpacity — Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler
    • ImagickDraw::setFillPatternURL — Nesne dolgu örüntüsü için kullanılacak adresi belirler
    • ImagickDraw::setFillRule — Çokgen çizerken kullanılacak dolgu kuralını belirler
    • ImagickDraw::setFont — Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler
    • ImagickDraw::setFontFamily — Yazı tipi ailesini belirler
    • ImagickDraw::setFontSize — Yazı tipi yüksekliğini belirler
    • ImagickDraw::setFontStretch — Yazı tipinin karakter genişliğini belirler
    • ImagickDraw::setFontStyle — Yazı tipi tarzını belirler
    • ImagickDraw::setFontWeight — Yazı tipi kalınlığını belirler
    • ImagickDraw::setGravity — Metnin çekim yönünü belirler
    • ImagickDraw::setResolution — Sets the resolution
    • ImagickDraw::setStrokeAlpha — Vurgulu nesne dış hatlarının şeffaflığını tanımlar
    • ImagickDraw::setStrokeAntialias — Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler
    • ImagickDraw::setStrokeColor — Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar
    • ImagickDraw::setStrokeDashArray — Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler
    • ImagickDraw::setStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını belirler
    • ImagickDraw::setStrokeLineCap — Kalın çizgilerde çizgi uçlarının şeklini belirler
    • ImagickDraw::setStrokeLineJoin — Kalın çizgi ekleminin şeklini belirler
    • ImagickDraw::setStrokeMiterLimit — Gönyenin kesildiği sınırı tanımlar
    • ImagickDraw::setStrokeOpacity — Vurgulanmış nesne dış hatlarının matlığını tanımlar
    • ImagickDraw::setStrokePatternURL — Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar
    • ImagickDraw::setStrokeWidth — Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar
    • ImagickDraw::setTextAlignment — Metni hizalar
    • ImagickDraw::setTextAntialias — Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler
    • ImagickDraw::setTextDecoration — Bir karakter süslemesi tanımlar
    • ImagickDraw::setTextEncoding — Metin karakter kümesini tanımlar
    • ImagickDraw::setTextInterlineSpacing — Sets the text interline spacing
    • ImagickDraw::setTextInterwordSpacing — Sets the text interword spacing
    • ImagickDraw::setTextKerning — Sets the text kerning
    • ImagickDraw::setTextUnderColor — Metin çerçevesinin artalan rengini tanımlar
    • ImagickDraw::setVectorGraphics — Yöney çizgesini tanımlar
    • ImagickDraw::setViewbox — Tuval boyutunu uçtan uca tanımlar
    • ImagickDraw::skewX — Geçerli koordinat sistemini yatayda belirtilen açıda eğer
    • ImagickDraw::skewY — Geçerli koordinat sistemini düşeyde belirtilen açıda eğer
    • ImagickDraw::translate — Geçerli koordinat sisteminin başnoktasını değiştirir
  • ImagickPixel — ImagickPixel sınıfı
    • ImagickPixel::clear — Nesne ile ilişkili özkaynakları temizler
    • ImagickPixel::__construct — ImagickPixel nesnesini oluşturur
    • ImagickPixel::destroy — Nesne ile ilgili özkaynakları serbest bırakır
    • ImagickPixel::getColor — Bir renk döndürür
    • ImagickPixel::getColorAsString — Rengi bir dizge olarak döndürür
    • ImagickPixel::getColorCount — Nesnenin renk sayısını döndürür
    • ImagickPixel::getColorQuantum — Returns the color of the pixel in an array as Quantum values
    • ImagickPixel::getColorValue — Belirtilen renk kanalının normalleştirilmiş değerini döndürür
    • ImagickPixel::getColorValueQuantum — Gets the quantum value of a color in the ImagickPixel
    • ImagickPixel::getHSL — ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür
    • ImagickPixel::getIndex — Gets the colormap index of the pixel wand
    • ImagickPixel::isPixelSimilar — Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum — Returns whether two colors differ by less than the specified distance
    • ImagickPixel::isSimilar — İki renk arasındaki benzerliği hesaplar
    • ImagickPixel::setColor — Renk tanımlar
    • ImagickPixel::setColorCount — Sets the color count associated with this color
    • ImagickPixel::setColorValue — Renk kanallarından birinin normalleştirilmiş değerini belirler
    • ImagickPixel::setColorValueQuantum — Sets the quantum value of a color element of the ImagickPixel
    • ImagickPixel::setHSL — Normalleştirilmiş HSL rengini ayarlar
    • ImagickPixel::setIndex — Sets the colormap index of the pixel wand
  • ImagickPixelIterator — ImagickPixelIterator sınıfı
    • ImagickPixelIterator::clear — Piksel yineleyici ile ilişkili özkaynakları temizler
    • ImagickPixelIterator::__construct — Bir ImagickPixelIterator nesnesi oluşturur
    • ImagickPixelIterator::destroy — Piksel yineleyici ile ilişkili özkaynakları serbest bırakır
    • ImagickPixelIterator::getCurrentIteratorRow — Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür
    • ImagickPixelIterator::getIteratorRow — Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür
    • ImagickPixelIterator::getNextIteratorRow — Piksel yineleyicinin sonraki satırını döndürür
    • ImagickPixelIterator::getPreviousIteratorRow — Önceki satırı döndürür
    • ImagickPixelIterator::newPixelIterator — Yeni bir piksel yineleyici döndürür
    • ImagickPixelIterator::newPixelRegionIterator — Yeni bir bölgesel piksel yineleyicisi döndürür
    • ImagickPixelIterator::resetIterator — Piksel yineleyiciyi sıfırlar
    • ImagickPixelIterator::setIteratorFirstRow — Piksel yineleyiciyi ilk piksel satırına hizalar
    • ImagickPixelIterator::setIteratorLastRow — Piksel yineleyiciyi son piksel satırına hizalar
    • ImagickPixelIterator::setIteratorRow — Piksel yineleyiciyi satırını tanımlar
    • ImagickPixelIterator::syncIterator — Piksel yineleyiciyi eşzamanlar
  • ImagickKernel — ImagickKernel sınıfı
    • ImagickKernel::addKernel — Attach another kernel to a kernel list
    • ImagickKernel::addUnityKernel — Adds a Unity Kernel to the kernel list
    • ImagickKernel::fromBuiltIn — Create a kernel from a builtin in kernel
    • ImagickKernel::fromMatrix — Create a kernel from a 2d matrix of values
    • ImagickKernel::getMatrix — Get the 2d matrix of values used in this kernel
    • ImagickKernel::scale — Scales a kernel list by the given amount
    • ImagickKernel::separate — Separates a linked set of kernels and returns an array of ImagickKernels


Giriş

Imagick, doğal bir PHP eklentisi olup, görüntüleri oluşturmak ve değiştirmek için ImageMagick API'sini kullanır.

ImageMagick görüntüleri oluşturmak, düzenlemek ve biteşlemli görüntüler oluşturmak için birtakım yazılımlardan meydana gelmiştir. DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG ve TIFF dahil 100'ün üzerinde görüntü biçemini okur, yazar ve dönüştürebilir.

ImageMagick Studio LLC, görüntülerle ilgili çözümlerin özgürce kullanılabilmesine adanmış kazançsız bir örgütlenmedir.


Gereksinimler

Windows olmayan platformlara kurulum gereksinimleri

ImageMagick >= 6.2.4 gerekir. Desteklenen biçemlerin miktarı tamamen ImageMagick kurulumunuzca desteklenen dosya biçemlerinin sayısına bağlıdır. Imagemagick, örneğin PDF işlemlerini yapabilmek için, ghostscript gerektirir.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/imagick.

Bilginize: Bu eklentinin resmi ismi imagick'tir.

Windows kullanıcıları DLL dosyasını » PECL sitesinden indirebilir. Bu paketler, extension_dir ini yönergesine konulması gereken eklenti DLL'ini (php_imagick.dll) zaten içermektedir. Bunlar ayrıca, yerleri PATH ortam değişkenine konması gereken ImageMagick DLL'lerini de içerir. Imagick 3.6.0 ve sonrasında, config içinde XML yapılandırma dosyaları da bulunmaktadır; yerleşik öntanımlılar yerine bunları kullanmak için bunları ya %USERPROFILE%/.config/ImageMagick içine ya da MAGICK_CONFIGURE_PATH ortam değişkeninde belirtilen yollara eklemek gerekir. Daha ayrıntılı bilgi için » ImageMagick yapılandırma dosyaları belgelerine bakılabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Imagick yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
imagick.locale_fix | false | PHP_INI_ALL | Imagick 2.1.0 itibariyle kullanılabilir.
imagick.progress_monitor | false | PHP_INI_SYSTEM | Imagick 2.2.2 itibariyle kullanılabilir.
imagick.skip_version_check | false | PHP_INI_SYSTEM | Imagick 3.3.0 itibariyle kullanılabilir.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

imagick.locale_fix bool

Ondalık ayracı olarak ',' kullanılan yerellerle ilgili çizim hatasını düzeltir.

imagick.progress_monitor bool

Görüntü işleme izlemeyi etinleştirmekte kullanılır.

imagick.skip_version_check bool

Imagick yüklendiğinde, şu anda kullanılmakta olan sürüm numarasıyla, derlendiği ImageMagick'in sürüm numarasını karşılaştırır ve eşleşmezse bir uyarı verir. Bu uyarı, bu ini yönergesi etkinleştirilerek engellenebilir.

Kullanılandan farklı bir ImageMagick sürümüyle derlenmiş bir Imagick eklentisinin kullanılması önerilmez. Çalışıyor gibi görünse de, rastgele çökmelere veya tanımlanmamış başka davranışlara yol açabilir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

COLOR Sabitleri

Renk Türü Sabitleri. Bu sabitler esas olarak ImagickPixel ile kullanılır.

imagick::COLOR_BLACK (int)
Siyah
imagick::COLOR_BLUE (int)
Mavi
imagick::COLOR_CYAN (int)
Turkuaz
imagick::COLOR_GREEN (int)
Yeşil
imagick::COLOR_RED (int)
Kırmızı
imagick::COLOR_YELLOW (int)
Sarı
imagick::COLOR_MAGENTA (int)
Eflatun
imagick::COLOR_OPACITY (int)
Matlık
imagick::COLOR_ALPHA (int)
Alfa
imagick::COLOR_FUZZ (int)
Renk benzerliği.
DISPOSE Sabitleri

Elden Çıkarma Türü Sabitleri

imagick::DISPOSE_UNRECOGNIZED (int)
Tanınmayan elden çıkarma türü
imagick::DISPOSE_UNDEFINED (int)
Tanımsız elden çıkarma türü
imagick::DISPOSE_NONE (int)
Tanımlı elden çıkarma türü yok.
imagick::DISPOSE_BACKGROUND (int)
Artalan
imagick::DISPOSE_PREVIOUS (int)
Önceki
COMPOSITE Sabitleri

Birleştirme İşleci Sabitler

imagick::COMPOSITE_DEFAULT (int)
Öntanımlı birleştirme işleci
imagick::COMPOSITE_UNDEFINED (int)
Tanımsız birleştirme işleci
imagick::COMPOSITE_NO (int)
Hiç birleştirme işleci tanımlanmamış
imagick::COMPOSITE_ADD (int)
Görüntü + görüntü sonucu
imagick::COMPOSITE_ATOP (int)
Sonuç, görüntüle aynı görüntüyü içerir, ancak görüntülerin üst üste bindiği yerde birleşik görüntü bulanıklaşır.
imagick::COMPOSITE_BLEND (int)
Görüntüleri kaynaştır
imagick::COMPOSITE_BUMPMAP (int)
Kaynağın önce gri tonlamaya dönüştürülmesi dışında COMPOSITE_MULTIPLY ile aynıdır.
imagick::COMPOSITE_CLEAR (int)
Hedef Görüntüyü şeffaf yapar
imagick::COMPOSITE_COLORBURN (int)
Kaynak görüntünün yansıtmak için hedef Görüntüyü karartır
imagick::COMPOSITE_COLORDODGE (int)
Kaynak görüntünün yansıtmak için hedef görüntüyü aydınlatır
imagick::COMPOSITE_COLORIZE (int)
Birleşik görüntü kullanarak hedef görüntüyü renklendirir
imagick::COMPOSITE_COPYBLACK (int)
Siyahı kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYBLUE (int)
Maviyi kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPY (int)
Kaynak görüntüyü hedef görüntüye kopyalar
imagick::COMPOSITE_COPYCYAN (int)
Turkuazı kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYGREEN (int)
Yeşili kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYMAGENTA (int)
Eflatunu kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYOPACITY (int)
Matlığı kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYRED (int)
Kırmızıyı kaynaktan hedefe kopyalar
imagick::COMPOSITE_COPYYELLOW (int)
Sarıyı kaynaktan hedefe kopyalar
imagick::COMPOSITE_DARKEN (int)
Hedef görüntüyü karartır
imagick::COMPOSITE_DSTATOP (int)
Kaynağın içinde bulunan hedef bölüm, kaynağın üzerine yerleştirilip hedef yer değiştirilir.
imagick::COMPOSITE_DST (int)
Hedef görüntüye dokunulmaz
imagick::COMPOSITE_DSTIN (int)
Kaynağın içindeki parçaların yerine hedefi yerleştirir
imagick::COMPOSITE_DSTOUT (int)
Kaynağın dışındaki parçaların yerine hedefi yerleştirir
imagick::COMPOSITE_DSTOVER (int)
Hedefe kaynağı yerleştirir
imagick::COMPOSITE_DIFFERENCE (int)
Belirleyici iki renkten koyu olanının açık olandan çıkarır
imagick::COMPOSITE_DISPLACE (int)
Hedef görüntünün piksellerini kaynakta tanımlandığı gibi kaydırır
imagick::COMPOSITE_DISSOLVE (int)
Kaynağı hedefte eritir
imagick::COMPOSITE_EXCLUSION (int)
Daha düşük zıtlıkta görünmesi dışında imagick::COMPOSITE_DIFFERENCE ile aynı etkiyi oluşturur
imagick::COMPOSITE_HARDLIGHT (int)
Kaynak renk değerine bağlı olarak renkleri çoğullar ve ekranlar
imagick::COMPOSITE_HUE (int)
Hedefin renk sıcaklığını kaynakta tanımlandığı gibi değiştirir
imagick::COMPOSITE_IN (int)
Kaynağı hedefe birleştirir
imagick::COMPOSITE_LIGHTEN (int)
Hedefi kaynakta tanımlandığı gibi aydınlatır
imagick::COMPOSITE_LUMINIZE (int)
Hedefi kaynakta tanımlandığı gibi ışıklandırır
imagick::COMPOSITE_MINUS (int)
Kaynağı hedeften çıkarır
imagick::COMPOSITE_MODULATE (int)
Hedef parlaklığını, doygunluğunu ve renk sıcaklığını kaynakta tanımlandığı gibi modüle eder
imagick::COMPOSITE_MULTIPLY (int)
Hedefi kaynağa çoğullar
imagick::COMPOSITE_OUT (int)
Kaynağın dış kısımlarını hedefle birleştirir
imagick::COMPOSITE_OVER (int)
Kaynağı hedefin üzerinde birleştirir
imagick::COMPOSITE_OVERLAY (int)
Kaynağı hedefin üzerine yerleştirir
imagick::COMPOSITE_PLUS (int)
Kaynağı hedefe ekler
imagick::COMPOSITE_REPLACE (int)
Kaynakla hedefi yer değiştirir
imagick::COMPOSITE_SATURATE (int)
Hedefi kaynakta tanımlandığı gibi ışıkla doyurur
imagick::COMPOSITE_SCREEN (int)
Kaynak ve hedefin eşleniği alınıp çarpıldıktan sonra hedef yer değiştirilir
imagick::COMPOSITE_SOFTLIGHT (int)
Kaynağa bağlı olarak renkleri açık veya koyu yapar
imagick::COMPOSITE_SRCATOP (int)
Hedefin içinde bulunan kaynak bölüm, hedefin üzerinde birleştirilir
imagick::COMPOSITE_SRC (int)
Kaynağı hedefe kopyalar
imagick::COMPOSITE_SRCIN (int)
Hedefin içinde bulunan kaynak bölüm, hedefle yer değiştirilir
imagick::COMPOSITE_SRCOUT (int)
Hedefin dışında bulunan kaynak bölüm, hedefle yer değiştirilir
imagick::COMPOSITE_SRCOVER (int)
Kaynak hedefle yer değiştirir
imagick::COMPOSITE_SUBTRACT (int)
Kaynak görüntüdeki renkler hedef görüntüden çıkarılır
imagick::COMPOSITE_THRESHOLD (int)
Kaynak hedefle, kaynak eşiğinde tanımlandığı gibi birleştirilir
imagick::COMPOSITE_XOR (int)
Hedefin dışında kalan kaynak parçası ile kaynağın dışında kalan hedef parçası birleştirilir
MONTAGEMODE Sabitleri

Montaj Kipi Sabitleri

imagick::MONTAGEMODE_FRAME (int)
imagick::MONTAGEMODE_UNFRAME (int)
imagick::MONTAGEMODE_CONCATENATE (int)
STYLE Sabitleri

Yazı Tipi Tarzı Sabitleri

imagick::STYLE_NORMAL (int)
Normal
imagick::STYLE_ITALIC (int)
Eğik
imagick::STYLE_OBLIQUE (int)
Eğik
imagick::STYLE_ANY (int)
Herhangi biri
FILTER Sabitleri

Süzgeç Sabitleri

imagick::FILTER_UNDEFINED (int)
imagick::FILTER_POINT (int)
imagick::FILTER_BOX (int)
imagick::FILTER_TRIANGLE (int)
imagick::FILTER_HERMITE (int)
imagick::FILTER_HANNING (int)
imagick::FILTER_HAMMING (int)
imagick::FILTER_BLACKMAN (int)
imagick::FILTER_GAUSSIAN (int)
imagick::FILTER_QUADRATIC (int)
imagick::FILTER_CUBIC (int)
imagick::FILTER_CATROM (int)
imagick::FILTER_MITCHELL (int)
imagick::FILTER_LANCZOS (int)
imagick::FILTER_BESSEL (int)
imagick::FILTER_SINC (int)
IMGTYPE Sabitleri

Görüntü Türü Sabitleri

imagick::IMGTYPE_UNDEFINED (int)
imagick::IMGTYPE_BILEVEL (int)
imagick::IMGTYPE_GRAYSCALE (int)
imagick::IMGTYPE_GRAYSCALEMATTE (int)
imagick::IMGTYPE_PALETTE (int)
imagick::IMGTYPE_PALETTEMATTE (int)
imagick::IMGTYPE_TRUECOLOR (int)
imagick::IMGTYPE_TRUECOLORMATTE (int)
imagick::IMGTYPE_COLORSEPARATION (int)
imagick::IMGTYPE_COLORSEPARATIONMATTE (int)
imagick::IMGTYPE_OPTIMIZE (int)
RESOLUTION Sabitleri

Çözünürlük Sabitleri

imagick::RESOLUTION_UNDEFINED (int)
imagick::RESOLUTION_PIXELSPERINCH (int)
imagick::RESOLUTION_PIXELSPERCENTIMETER (int)
COMPRESSION Sabitleri

Sıkıştırma Sabitleri

imagick::COMPRESSION_UNDEFINED (int)
imagick::COMPRESSION_NO (int)
imagick::COMPRESSION_BZIP (int)
imagick::COMPRESSION_FAX (int)
imagick::COMPRESSION_GROUP4 (int)
imagick::COMPRESSION_JPEG (int)
imagick::COMPRESSION_JPEG2000 (int)
imagick::COMPRESSION_LOSSLESSJPEG (int)
imagick::COMPRESSION_LZW (int)
imagick::COMPRESSION_RLE (int)
imagick::COMPRESSION_ZIP (int)
imagick::COMPRESSION_DXT1 (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.0 ve üstü
imagick::COMPRESSION_DXT3 (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.0 ve üstü
imagick::COMPRESSION_DXT5 (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.0 ve üstü
PAINT Sabitleri

Boyama Sabitleri

imagick::PAINT_POINT (int)
imagick::PAINT_REPLACE (int)
imagick::PAINT_FLOODFILL (int)
imagick::PAINT_FILLTOBORDER (int)
imagick::PAINT_RESET (int)
GRAVITY Sabitleri

Çekim Yönü Sabitleri

imagick::GRAVITY_NORTHWEST (int)
Kuzeybatı
imagick::GRAVITY_NORTH (int)
Kuzey
imagick::GRAVITY_NORTHEAST (int)
Kuzeydoğu
imagick::GRAVITY_WEST (int)
Batı
imagick::GRAVITY_CENTER (int)
Merkez
imagick::GRAVITY_EAST (int)
Doğu
imagick::GRAVITY_SOUTHWEST (int)
Güneybatı
imagick::GRAVITY_SOUTH (int)
Güney
imagick::GRAVITY_SOUTHEAST (int)
Güneydoğu
STRETCH Sabitleri

Yazı Tipi Karakter Genişliği Sabitleri

imagick::STRETCH_NORMAL (int)
Normal
imagick::STRETCH_ULTRACONDENSED (int)
Çok dar
imagick::STRETCH_CONDENSED (int)
Dar
imagick::STRETCH_SEMICONDENSED (int)
Az dar
imagick::STRETCH_SEMIEXPANDED (int)
Az geniş
imagick::STRETCH_EXPANDED (int)
Geniş
imagick::STRETCH_EXTRAEXPANDED (int)
Çok geniş
imagick::STRETCH_ULTRAEXPANDED (int)
Epeyce geniş
imagick::STRETCH_ANY (int)
Herhangi biri
ALIGN Sabitleri

Hizalama Sabitleri

imagick::ALIGN_UNDEFINED (int)
imagick::ALIGN_LEFT (int)
imagick::ALIGN_CENTER (int)
imagick::ALIGN_RIGHT (int)
DECORATION Sabitleri

Metin Süsleme Sabitleri

imagick::DECORATION_NO (int)
imagick::DECORATION_UNDERLINE (int)
imagick::DECORATION_OVERLINE (int)
imagick::DECORATION_LINETROUGH (int)
NOISE Sabitleri

Gürültü Sabitleri

imagick::NOISE_UNIFORM (int)
imagick::NOISE_GAUSSIAN (int)
imagick::NOISE_MULTIPLICATIVEGAUSSIAN (int)
imagick::NOISE_IMPULSE (int)
imagick::NOISE_LAPLACIAN (int)
imagick::NOISE_POISSON (int)
imagick::NOISE_RANDOM (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
CHANNEL Sabitleri

Kanal Sabitleri

imagick::CHANNEL_UNDEFINED (int)
imagick::CHANNEL_RED (int)
imagick::CHANNEL_GRAY (int)
imagick::CHANNEL_CYAN (int)
imagick::CHANNEL_GREEN (int)
imagick::CHANNEL_MAGENTA (int)
imagick::CHANNEL_BLUE (int)
imagick::CHANNEL_YELLOW (int)
imagick::CHANNEL_ALPHA (int)
imagick::CHANNEL_OPACITY (int)
imagick::CHANNEL_MATTE (int)
imagick::CHANNEL_BLACK (int)
imagick::CHANNEL_INDEX (int)
imagick::CHANNEL_ALL (int)
imagick::CHANNEL_DEFAULT (int)
METRIC Sabitleri

Metrik Sabitleri

imagick::METRIC_UNDEFINED (int)
imagick::METRIC_MEANABSOLUTEERROR (int)
imagick::METRIC_MEANSQUAREERROR (int)
imagick::METRIC_PEAKABSOLUTEERROR (int)
imagick::METRIC_PEAKSIGNALTONOISERATIO (int)
imagick::METRIC_ROOTMEANSQUAREDERROR (int)
PIXEL Sabitleri

Piksel Sabitleri

imagick::PIXEL_CHAR (int)
imagick::PIXEL_DOUBLE (int)
imagick::PIXEL_FLOAT (int)
imagick::PIXEL_INTEGER (int)
Only available for ImageMagick < 7.
imagick::PIXEL_LONG (int)
imagick::PIXEL_QUANTUM (int)
imagick::PIXEL_SHORT (int)
EVALUATE Sabitleri

Değerlendirme İşleci Sabitleri

imagick::EVALUATE_UNDEFINED (int)
imagick::EVALUATE_ADD (int)
imagick::EVALUATE_AND (int)
imagick::EVALUATE_DIVIDE (int)
imagick::EVALUATE_LEFTSHIFT (int)
imagick::EVALUATE_MAX (int)
imagick::EVALUATE_MIN (int)
imagick::EVALUATE_MULTIPLY (int)
imagick::EVALUATE_OR (int)
imagick::EVALUATE_RIGHTSHIFT (int)
imagick::EVALUATE_SET (int)
imagick::EVALUATE_SUBTRACT (int)
imagick::EVALUATE_XOR (int)
imagick::EVALUATE_POW (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_LOG (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_THRESHOLD (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_THRESHOLDBLACK (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_THRESHOLDWHITE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_GAUSSIANNOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_IMPULSENOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_LAPLACIANNOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_MULTIPLICATIVENOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_POISSONNOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_UNIFORMNOISE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_COSINE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_SINE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
imagick::EVALUATE_ADDMODULUS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.4 ve üstü.
COLORSPACE Sabitleri

Renk Uzayı Sabitleri

imagick::COLORSPACE_UNDEFINED (int)
imagick::COLORSPACE_RGB (int)
imagick::COLORSPACE_GRAY (int)
imagick::COLORSPACE_TRANSPARENT (int)
imagick::COLORSPACE_OHTA (int)
imagick::COLORSPACE_LAB (int)
imagick::COLORSPACE_XYZ (int)
imagick::COLORSPACE_YCBCR (int)
imagick::COLORSPACE_YCC (int)
imagick::COLORSPACE_YIQ (int)
imagick::COLORSPACE_YPBPR (int)
imagick::COLORSPACE_YUV (int)
imagick::COLORSPACE_CMYK (int)
imagick::COLORSPACE_SRGB (int)
imagick::COLORSPACE_HSB (int)
imagick::COLORSPACE_HSL (int)
imagick::COLORSPACE_HWB (int)
imagick::COLORSPACE_REC601LUMA (int)
imagick::COLORSPACE_REC709LUMA (int)
imagick::COLORSPACE_LOG (int)
imagick::COLORSPACE_CMY (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.2 ve üstü.
VIRTUALPIXELMETHOD Sabitleri

Sanal Piksel Yöntemi Sabitleri

imagick::VIRTUALPIXELMETHOD_UNDEFINED (int)
imagick::VIRTUALPIXELMETHOD_BACKGROUND (int)
imagick::VIRTUALPIXELMETHOD_CONSTANT (int)
imagick::VIRTUALPIXELMETHOD_EDGE (int)
imagick::VIRTUALPIXELMETHOD_MIRROR (int)
imagick::VIRTUALPIXELMETHOD_TILE (int)
imagick::VIRTUALPIXELMETHOD_TRANSPARENT (int)
imagick::VIRTUALPIXELMETHOD_MASK (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.2 ve üstü.
imagick::VIRTUALPIXELMETHOD_BLACK (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.2 ve üstü.
imagick::VIRTUALPIXELMETHOD_GRAY (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.2 ve üstü.
imagick::VIRTUALPIXELMETHOD_WHITE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.2 ve üstü.
imagick::VIRTUALPIXELMETHOD_HORIZONTALTILE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.3 ve üstü.
imagick::VIRTUALPIXELMETHOD_VERTICALTILE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.3 ve üstü.
PREVIEW Sabitleri

Önizleme Sabitleri

imagick::PREVIEW_UNDEFINED (int)
imagick::PREVIEW_ROTATE (int)
imagick::PREVIEW_SHEAR (int)
imagick::PREVIEW_ROLL (int)
imagick::PREVIEW_HUE (int)
imagick::PREVIEW_SATURATION (int)
imagick::PREVIEW_BRIGHTNESS (int)
imagick::PREVIEW_GAMMA (int)
imagick::PREVIEW_SPIFF (int)
imagick::PREVIEW_DULL (int)
imagick::PREVIEW_GRAYSCALE (int)
imagick::PREVIEW_QUANTIZE (int)
imagick::PREVIEW_DESPECKLE (int)
imagick::PREVIEW_REDUCENOISE (int)
imagick::PREVIEW_ADDNOISE (int)
imagick::PREVIEW_SHARPEN (int)
imagick::PREVIEW_BLUR (int)
imagick::PREVIEW_THRESHOLD (int)
imagick::PREVIEW_EDGEDETECT (int)
imagick::PREVIEW_SPREAD (int)
imagick::PREVIEW_SOLARIZE (int)
imagick::PREVIEW_SHADE (int)
imagick::PREVIEW_RAISE (int)
imagick::PREVIEW_SEGMENT (int)
imagick::PREVIEW_SWIRL (int)
imagick::PREVIEW_IMPLODE (int)
imagick::PREVIEW_WAVE (int)
imagick::PREVIEW_OILPAINT (int)
imagick::PREVIEW_CHARCOALDRAWING (int)
imagick::PREVIEW_JPEG (int)
RENDERINGINTENT Sabitleri

Uygulama Amacı Sabitleri

imagick::RENDERINGINTENT_UNDEFINED (int)
imagick::RENDERINGINTENT_SATURATION (int)
imagick::RENDERINGINTENT_PERCEPTUAL (int)
imagick::RENDERINGINTENT_ABSOLUTE (int)
imagick::RENDERINGINTENT_RELATIVE (int)
INTERLACE Sabitleri

Geçişim Sabitleri

imagick::INTERLACE_UNDEFINED (int)
imagick::INTERLACE_NO (int)
imagick::INTERLACE_LINE (int)
imagick::INTERLACE_PLANE (int)
imagick::INTERLACE_PARTITION (int)
imagick::INTERLACE_GIF (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.4 ve üstü.
imagick::INTERLACE_JPEG (int)
imagick::INTERLACE_PNG (int)
FILLRULE Sabitleri

Dolgu Kuralı Sabitleri

imagick::FILLRULE_UNDEFINED (int)
imagick::FILLRULE_EVENODD (int)
imagick::FILLRULE_NONZERO (int)
PATHUNITS Sabitleri

Yalıtım Birimi Sabitleri

imagick::PATHUNITS_UNDEFINED (int)
imagick::PATHUNITS_USERSPACE (int)
imagick::PATHUNITS_USERSPACEONUSE (int)
imagick::PATHUNITS_OBJECTBOUNDINGBOX (int)
LINECAP Sabitleri

Çizgi Uç Türü Sabitleri

imagick::LINECAP_UNDEFINED (int)
imagick::LINECAP_BUTT (int)
imagick::LINECAP_ROUND (int)
imagick::LINECAP_SQUARE (int)
LINEJOIN Sabitleri

Çizgi Eklem Türü Sabitleri

imagick::LINEJOIN_UNDEFINED (int)
Eklem şekli tanımsız
imagick::LINEJOIN_MITER (int)
Ekleme gönye köşesi şeklini verir
imagick::LINEJOIN_ROUND (int)
Eklem köşesini yuvarlatır
imagick::LINEJOIN_BEVEL (int)
Eklem köşesini kırar
RESOURCETYPE Sabitleri

Özkaynak Türü Sabitleri

imagick::RESOURCETYPE_UNDEFINED (int)
imagick::RESOURCETYPE_AREA (int)
Piksel önbelleğinde bulunabilecek bir görüntünün azami genişlik * yüksekliğini ayarlar.
imagick::RESOURCETYPE_DISK (int)
Piksel önbelleği tarafından kullanılmasına izin verilen azami disk alanı miktarını bayt cinsinden ayarlar.
imagick::RESOURCETYPE_FILE (int)
Azami açık piksel önbellek dosyası sayısını ayarlar.
imagick::RESOURCETYPE_MAP (int)
Piksel önbelleği için ayrılacak azami bellek haritası miktarını bayt cinsinden ayarlar.
imagick::RESOURCETYPE_MEMORY (int)
Yığından piksel önbelleği için ayrılacak azami bellek miktarını bayt cinsinden ayarlar.
imagick::RESOURCETYPE_THREAD (int)
Azami paralel evre sayısını ayarlar. Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.7.8 ve üstü.
LAYERMETHOD Sabitleri

Katman Yöntemi Sabitleri

imagick::LAYERMETHOD_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_COALESCE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_COMPAREANY (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_COMPARECLEAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_COMPAREOVERLAY (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_DISPOSE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_OPTIMIZE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_OPTIMIZEPLUS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.2.9 ve üstü.
imagick::LAYERMETHOD_OPTIMIZEIMAGE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::LAYERMETHOD_OPTIMIZETRANS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::LAYERMETHOD_REMOVEDUPS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::LAYERMETHOD_REMOVEZERO (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::LAYERMETHOD_COMPOSITE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::LAYERMETHOD_MERGE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.7 ve üstü.
imagick::LAYERMETHOD_FLATTEN (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.7 ve üstü.
imagick::LAYERMETHOD_MOSAIC (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.7 ve üstü.
ORIENTATION Sabitleri

Yön Sabitleri

imagick::ORIENTATION_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_TOPLEFT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_TOPRIGHT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_BOTTOMRIGHT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_BOTTOMLEFT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_LEFTTOP (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_RIGHTTOP (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_RIGHTBOTTOM (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
imagick::ORIENTATION_LEFTBOTTOM (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.0 ve üstü.
DISTORTION Sabitleri

Bozunum Sabitleri

imagick::DISTORTION_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_AFFINE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_AFFINEPROJECTION (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_ARC (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_BILINEAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_PERSPECTIVE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_PERSPECTIVEPROJECTION (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_SCALEROTATETRANSLATE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.6 ve üstü.
imagick::DISTORTION_POLYNOMIAL (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_POLAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_DEPOLAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_BARREL (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_BARRELINVERSE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_SHEPARDS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DISTORTION_SENTINEL (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
ALPHACHANNEL Sabitleri

Alfa Kanalı Sabitleri

imagick::ALPHACHANNEL_ACTIVATE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.8 ve üstü.
imagick::ALPHACHANNEL_DEACTIVATE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.8 ve üstü.
imagick::ALPHACHANNEL_RESET (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.8 ve üstü.
imagick::ALPHACHANNEL_SET (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.8 ve üstü.
imagick::ALPHACHANNEL_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_COPY (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_EXTRACT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_OPAQUE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_SHAPE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_TRANSPARENT (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::ALPHACHANNEL_BACKGROUND (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.5.3 ve üstü.
imagick::ALPHACHANNEL_REMOVE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.7.8 ve üstü.
imagick::ALPHACHANNEL_ASSOCIATE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.9.0 ve üstü.
imagick::ALPHACHANNEL_DISSOCIATE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.9.0 ve üstü.
imagick::ALPHACHANNEL_ON (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 7.0.0 ve üstü.
imagick::ALPHACHANNEL_OFF (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 7.0.0 ve üstü.
imagick::ALPHACHANNEL_DISCRETE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 7.0.0 ve üstü.
SPARSECOLORMETHOD Sabitleri

Seyrek Renk Yöntemi Sabitleri

imagick::SPARSECOLORMETHOD_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::SPARSECOLORMETHOD_BARYCENTRIC (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::SPARSECOLORMETHOD_BILINEAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::SPARSECOLORMETHOD_POLYNOMIAL (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::SPARSECOLORMETHOD_SPEPARDS (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::SPARSECOLORMETHOD_VORONOI (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
FUNCTION Sabitleri

İşlev Sabitleri

imagick::FUNCTION_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.9 ve üstü.
imagick::FUNCTION_POLYNOMIAL (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.9 ve üstü.
imagick::FUNCTION_SINUSOID (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.9 ve üstü.
INTERPOLATE Sabitleri

Aradeğerleme Sabitleri

imagick::INTERPOLATE_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_AVERAGE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_BICUBIC (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_BILINEAR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_FILTER (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_INTEGER (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_MESH (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_NEARESTNEIGHBOR (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.2 ve üstü.
imagick::INTERPOLATE_SPLINE (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.3.4 ve üstü.
DITHERMETHOD Sabitleri

Titreklik Yöntemi Sabitleri

imagick::DITHERMETHOD_UNDEFINED (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DITHERMETHOD_NO (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DITHERMETHOD_RIEMERSMA (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.
imagick::DITHERMETHOD_FLOYDSTEINBERG (int)
Bu sabitini kullanılabilmesi için gerekli ImageMagick kütüphanesinin sürüm numarası: 6.4.6 ve üstü.


  • « Öntanımlı Sabitler
  • Temel kullanım »
  • PHP Manual
  • ImageMagick
  • Örnekler

Örnekler

İçindekiler

  • Temel kullanım


Temel kullanım

Imagick PHP'de görüntü işlemlerini nesne yönelimli arayüzü sayesinde oldukça kolaylaştırır. Burada bir görüntünün küçük bir örneğinin nasıl elde edildiği gösterilmiştir:

Örnek 1 - Imagick ile görüntü örneği (thumbnail) oluşturmak

<?php

header('Content-type: image/jpeg');

$görüntü = new Imagick('görüntü.jpg');

// Genişlik veya yükseklik olarak 0 verilmişse
// enboy oranı korunur
$görüntü->thumbnailImage(100, 0);

echo $image;

?>

Imagick'teki SPL ve nesne yönelimli özellikler kullanarak bir dizin içindeki tüm görüntü dosyaları kolayca yeniden boyutlandırılabilir (Büyük sayısal kamera görüntülerini HTML sayfalarında izlenebilir boyuta indirmek gibi). Temel verileri kaybetmek istemediğimizden bu örnekte resize kullanıyoruz:

Örnek 2 - Bir dizindeki tüm JPG dosyalarının küçük örneklerinin elde edilmesi

<?php

$görüntüler = new Imagick(glob('images/*.JPG'));

foreach($görüntüler as $görüntü) {

// 0, görüntünün enboy oranına uyulmasını sağlar
$görüntü->thumbnailImage(1024,0);

}

$görüntüler->writeImages();

?>

Burada bir görüntünün yansımasının oluşturulması örneklenmiştir. Yansıtma için görüntünün simetriği alınıp derece derece koyulaşan bir maske uygulanmıştır. Hem özgün görüntü hem de simetriği aynı tuvalin üzerine yerleştirilmiştir.

Örnek 3 - Bir görüntünün yansımasının oluşturulması

<?php
/* Görüntüyü oku */
$im = new Imagick("test.png");

/* Görüntünün küçük örneğini oluştur */
$im->thumbnailImage(200, null);

/* Görüntüye bir çerçeve çizgisi çiz */
$im->borderImage(new ImagickPixel("white"), 5, 5);

/* Görüntüyü kopyalayıp simetriğini al */
$reflection = $im->clone();
$reflection->flipImage();

/* Yansımaya uygulanacak maskeyi oluştur */
$gradient = new Imagick();

/* Maske biraz büyük olmalı ve bir çerçevesi olmalı */
$gradient->newPseudoImage($reflection->getImageWidth() + 10,
$reflection->getImageHeight() + 10, "gradient:transparent-black");

/* Maskeyi yansımaya uygula */
$reflection->compositeImage($gradient, imagick::COMPOSITE_OVER, 0, 0);

/* Biraz matlık ekle (ImageMagick 6.2.9 ve sonrası gerekir.) */
$reflection->setImageOpacity( 0.3 );

/* Boş bir tuval oluştur */
$canvas = new Imagick();

/* Tuval her iki görüntüyü de tutacak kadar büyük olmalı */
$width = $im->getImageWidth() + 40;
$height = ($im->getImageHeight() * 2) + 30;
$canvas->newImage($width, $height, new ImagickPixel("black"));
$canvas->setImageFormat("png");

/* Her iki görüntüyü tuval üzerinde birleştir */
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, 20, 10);
$canvas->compositeImage($reflection, imagick::COMPOSITE_OVER,
20, $im->getImageHeight() + 10);

/* Görüntüyü çıktıla */
header("Content-Type: image/png");
echo $canvas;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: Bir görüntünün yansımasının oluşturulması

Aşağıdaki örnekte çizim sırasında örüntülerle görüntünün nasıl kaplandığı gösterilmiştir.

Örnek 4 - Metni bir örüntü ile kaplamak

<?php

/* Yeni bir görüntü nesnesi oluştur */
$im = new Imagick();

/* Örüntü olarak kullanılacak yeni görüntüyü oluştur */
$im->newPseudoImage(50, 50, "gradient:red-black");

/* Bir çizim nesnesi oluştur */
$draw = new ImagickDraw();

/* Örüntüyü "gradient" ismiyle oluştur */
$draw->pushPattern('gradient', 0, 0, 50, 50);

/* Örüntüyle maskeyi birleştir */
$draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im);

/* Örüntüyü kapat */
$draw->popPattern();

/* "gradient" örüntüsü ile görüntüyü kapla */
$draw->setFillPatternURL('#gradient');

/* Yazı tipi boyu 52 olsun */
$draw->setFontSize(52);

/* Bir şeyler yaz */
$draw->annotation(20, 50, "Hello World!");

/* Beyaz zeminli bir tuval oluştur */
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");

/* Çizimi tuvalin üzerine yerleştir */
$canvas->drawImage($draw);

/* Görüntüye çerçeve olarak 1px kalınlığında siyah çizgi çiz */
$canvas->borderImage('black', 1, 1);

/* Görüntünün dosya biçemi PNG olsun*/
$canvas->setImageFormat('png');

/* Görüntüyü çıktıla */
header("Content-Type: image/png");
echo $canvas;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: Metni bir örüntü ile kaplamak

Canlandırmalı GIF görüntüleri ile çalışmak.

Örnek 5 - GIF görüntüyü okumak ve tüm kareleri boyutlandırmak

<?php

/* Yeni bir imagick nesnesi oluşturup GIF görüntüyü okut */
$im = new Imagick("example.gif");

/* Tüm görüntü karelerini boyutlandır */
foreach ($im as $frame) {
/* 50x50 kareler */
$frame->thumbnailImage(50, 50);

/* Sanal tuvali doğru boyuta ayarla */
$frame->setImagePage(50, 50, 0, 0);
}

/* writeImage yerine writeImages kullanılıyor! */
$im->writeImages("example_small.gif", true);
?>

Elips ilkeli ve özel yazı tipleriyle çalışma

Örnek 6 - PHP logosu yapımı

<?php
/* Genişliği ve yüksekliği orijinal PHP logosuyla orantılı olarak ayarla */
$width = 400;
$height = 210;

/* Imagick nesnesini şeffaf tuval ile oluştur */
$img = new Imagick();
$img->newImage($width, $height, new ImagickPixel('transparent'));

/* Elips çizmek için yeni ImagickDraw örneği */
$draw = new ImagickDraw();
/* Elips dolgu rengini eflatun yap */
$draw->setFillColor('#777bb4');
/* Elips boyutlarını ayarla */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Elipsi tuvale aktar */
$img->drawImage($draw);

/* Metin için dolgu rengini siyah yap (Dikkat: ImagickDraw yeniden kullanılıyor) */
$draw->setFillColor('black');
/* Kenar konturunu beyaz yap */
$draw->setStrokeColor('white');
/* Kenar konturunun kalınlığını ayarla */
$draw->setStrokeWidth(2);
/* Yazı tipi karakter aralığını ayarla (negatif değer yakınlaştırır) */
$draw->setTextKerning(-8);
/* PHP logosunda kullanılan yazı tipini ve boyutunu ayarla */
$draw->setFont('Handel Gothic.ttf');
$draw->setFontSize(150);
/* Metni düşey ve yatayda ortala */
$draw->setGravity(Imagick::GRAVITY_CENTER);

/* Merkez "php" yi -10'luk Y uzaklığıyla tuvale ekle (elipsin içinde) */
$img->annotateImage($draw, 0, -10, 0, 'php');
$img->setImageFormat('png');

/* PNG için uygun başlığı ekle ve görüntüyü çıktıla */
header('Content-Type: image/png');
echo $img;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örneğin çıktısı: Imagick ile PHP logosu yapımı


Imagick sınıfı

(PECL imagick 2, PECL imagick 3)

Sınıf Sözdizimi

class Imagick implements Iterator {
public __construct(mixed $dosyalar = ?)
public adaptiveBlurImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public adaptiveResizeImage(
int $genişlik,
int $yükseklik,
bool $sığdır = false,
bool $eski = false
): bool
public adaptiveSharpenImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public adaptiveThresholdImage(int $genişlik, int $yükseklik, int $başlangıç): bool
public addImage(Imagick $kaynak): bool
public addNoiseImage(int $gürültü_türü, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public affineTransformImage(ImagickDraw $matris): bool
public animateImages(string $x_sunucusu): bool
public annotateImage(
ImagickDraw $çizim_ayarı,
float $x,
float $y,
float $açı,
string $metin
): bool
public appendImages(bool $yön = false): Imagick
public autoLevelImage(int $channel = Imagick::CHANNEL_DEFAULT): bool
public averageImages(): Imagick
public blackThresholdImage(mixed $threshold): bool
public blueShiftImage(float $factor = 1.5): bool
public blurImage(float $yarıçap, float $sapma, int $kanal = ?): bool
public borderImage(mixed $çerçeve_rengi, int $genişlik, int $yükseklik): bool
public brightnessContrastImage(float $brightness, float $contrast, int $channel = Imagick::CHANNEL_DEFAULT): bool
public charcoalImage(float $yarıçap, float $sapma): bool
public chopImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public clampImage(int $channel = Imagick::CHANNEL_DEFAULT): bool
public clear(): bool
clipImage(): bool
public clipImagePath(string $pathname, string $inside): void
public clipPathImage(string $yol_adı, bool $içinde): bool
public clone(): Imagick
public clutImage(Imagick $renk_tablosu, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public coalesceImages(): Imagick
public colorFloodfillImage(
mixed $dolgu,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y
): bool
public colorizeImage(mixed $renk, bool $matlık = false): bool
public colorMatrixImage(array $color_matrix = Imagick::CHANNEL_DEFAULT): bool
public combineImages(int $kanal): Imagick
public commentImage(string $açıklama): bool
public compareImageChannels(Imagick $görüntü, int $kanal, int $metrik): array
public compareImageLayers(int $yöntem): Imagick
public compareImages(Imagick $görüntü, int $metrik): array
public compositeImage(
Imagick $birleşik_nesne,
int $işleç,
int $x,
int $y,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public contrastImage(bool $zıtlık): bool
public contrastStretchImage(float $siyah_nokta, float $beyaz_nokta, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public convolveImage(array $çekirdek, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public count(int $mode = 0): int
public cropImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public cropThumbnailImage(int $genişlik, int $yükseklik, bool $eski = false): bool
public current(): Imagick
public cycleColormapImage(int $miktar): bool
public decipherImage(string $parola): bool
public deconstructImages(): Imagick
public deleteImageArtifact(string $artifact): bool
public deleteImageProperty(string $name): bool
public deskewImage(float $threshold): bool
public despeckleImage(): bool
public destroy(): bool
public displayImage(string $sunucu): bool
public displayImages(string $sunucu): bool
public distortImage(int $yöntem, array $bağımsız_değişkenler, bool $sığdır): bool
public drawImage(ImagickDraw $işlem): bool
public edgeImage(float $yarıçap): bool
public embossImage(float $yarıçap, float $sapma): bool
public encipherImage(string $parola): bool
public enhanceImage(): bool
public equalizeImage(): bool
public evaluateImage(int $işleç, float $terim, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public exportImagePixels(
int $x,
int $y,
int $width,
int $height,
string $map,
int $STORAGE
): array
public extentImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public filter(ImagickKernel $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): bool
public flattenImages(): Imagick
public flipImage(): bool
public floodFillPaintImage(
mixed $dolgu,
float $benzerlik,
mixed $hedef,
int $x,
int $y,
bool $ters,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
flopImage(): bool
public forwardFourierTransformimage(bool $magnitude): bool
public frameImage(
mixed $mat_renk,
int $genişlik,
int $yükseklik,
int $iç_pah,
int $dış_pah
): bool
public functionImage(int $function, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT): bool
public fxImage(string $ifade, int $kanal = Imagick::CHANNEL_DEFAULT): Imagick
public gammaImage(float $gamma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public gaussianBlurImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public getColorspace(): int
public getCompression(): int
public getCompressionQuality(): int
public getCopyright(): string
public getFilename(): string
public getFont(): string
public getFormat(): string
public getGravity(): int
public static getHomeURL(): string
public getImage(): Imagick
public getImageAlphaChannel(): bool
public getImageArtifact(string $artifact): string
public getImageAttribute(string $key): string
public getImageBackgroundColor(): ImagickPixel
public getImageBlob(): string
public getImageBluePrimary(): array
public getImageBorderColor(): ImagickPixel
public getImageChannelDepth(int $kanal): int
public getImageChannelDistortion(Imagick $görüntü, int $kanal, int $metrik): float
public getImageChannelDistortions(Imagick $reference, int $metric, int $channel = Imagick::CHANNEL_DEFAULT): float
public getImageChannelExtrema(int $kanal): array
public getImageChannelKurtosis(int $channel = Imagick::CHANNEL_DEFAULT): array
public getImageChannelMean(int $kanal): array
public getImageChannelRange(int $channel): array
public getImageChannelStatistics(): array
public getImageClipMask(): Imagick
public getImageColormapColor(int $indis): ImagickPixel
public getImageColors(): int
public getImageColorspace(): int
public getImageCompose(): int
public getImageCompression(): int
public getCompressionQuality(): int
public getImageDelay(): int
public getImageDepth(): int
public getImageDispose(): int
public getImageDistortion(Imagick $görüntü, int $metrik): float
public getImageExtrema(): array
public getImageFilename(): string
public getImageFormat(): string
public getImageGamma(): float
public getImageGeometry(): array
public getImageGravity(): int
public getImageGreenPrimary(): array
public getImageHeight(): int
public getImageHistogram(): array
public getImageIndex(): int
public getImageInterlaceScheme(): int
public getImageInterpolateMethod(): int
public getImageIterations(): int
public getImageLength(): int
public getImageMatte(): int
public getImageMatteColor(): ImagickPixel
public getImageMimeType(): string
public getImageOrientation(): int
public getImagePage(): array
public getImagePixelColor(int $x, int $y): ImagickPixel
public getImageProfile(string $isim): string
public getImageProfiles(string $şablon = "*", bool $değerler_ile = true): array
public getImageProperties(string $şablon = "*", bool $değerler_ile = true): array
public getImageProperty(string $isim): string
public getImageRedPrimary(): array
public getImageRegion(
int $genişlik,
int $yükseklik,
int $x,
int $y
): Imagick
public getImageRenderingIntent(): int
public getImageResolution(): array
public getImagesBlob(): string
public getImageScene(): int
public getImageSignature(): string
public getImageSize(): int
public getImageTicksPerSecond(): int
public getImageTotalInkDensity(): float
public getImageType(): int
public getImageUnits(): int
public getImageVirtualPixelMethod(): int
public getImageWhitePoint(): array
public getImageWidth(): int
public getInterlaceScheme(): int
public getIteratorIndex(): int
public getNumberImages(): int
public getOption(string $anahtar): string
public getPackageName(): string
public getPage(): array
public getPixelIterator(): ImagickPixelIterator
public getPixelRegionIterator(
int $x,
int $y,
int $genişlik,
int $yükseklik
): ImagickPixelIterator
public getPointSize(): string
public static getQuantum(): int
public getQuantumDepth(): array
public getQuantumRange(): array
public static getRegistry(string $key): string
public getReleaseDate(): string
public getResource(int $tür): int
public getResourceLimit(int $tür): int
public getSamplingFactors(): array
public getSize(): array
public getSizeOffset(): int
public getVersion(): array
public haldClutImage(Imagick $clut, int $channel = Imagick::CHANNEL_DEFAULT): bool
public hasNextImage(): bool
public hasPreviousImage(): bool
public identifyFormat(string $embedText): string|false
public identifyImage(bool $hamÇıktıEkle = false): array
public implodeImage(float $yarıçap): bool
public importImagePixels(
int $x,
int $y,
int $width,
int $height,
string $map,
int $storage,
array $pixels
): bool
public inverseFourierTransformImage(Imagick $complement, bool $magnitude): bool
public labelImage(string $yafta): bool
public levelImage(
float $siyah_nokta,
float $gamma,
float $beyaz_nokta,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public linearStretchImage(float $siyah_nokta, float $beyaz_nokta): bool
public liquidRescaleImage(
int $genişlik,
int $yükseklik,
float $delta_x,
float $diklik
): bool
public static listRegistry(): array
public magnifyImage(): bool
public mapImage(Imagick $görüntü, bool $kıpırtı): bool
public matteFloodfillImage(
float $alfa,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y
): bool
public medianFilterImage(float $yarıçap): bool
public mergeImageLayers(int $katman_yöntemi): bool
public minifyImage(): bool
public modulateImage(float $parlaklık, float $doygunluk, float $sıcaklık): bool
public montageImage(
ImagickDraw $nesne,
string $döşeme_geometrisi,
string $örnek_geometrisi,
int $kip,
string $çerçeve
): Imagick
public morphImages(int $kare_sayısı): Imagick
public morphology(
int $morphologyMethod,
int $iterations,
ImagickKernel $ImagickKernel,
int $channel = Imagick::CHANNEL_DEFAULT
): bool
public mosaicImages(): Imagick
public motionBlurImage(
float $yarıçap,
float $sapma,
float $açı,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public negateImage(bool $gri_tonlama, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public newImage(
int $genişlik,
int $yükseklik,
mixed $artalan,
string $biçem = ?
): bool
public newPseudoImage(int $genişlik, int $yükseklik, string $sözde_dizge): bool
public nextImage(): bool
public normalizeImage(int $kanal = Imagick::CHANNEL_DEFAULT): bool
public oilPaintImage(float $yarıcap): bool
public opaquePaintImage(
mixed $hedef,
mixed $renk,
float $benzerlik,
bool $ters,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public optimizeImageLayers(): bool
public orderedPosterizeImage(string $eşik_eşlemi, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public paintFloodfillImage(
mixed $dolgu,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public paintOpaqueImage(
mixed $eskisi,
mixed $yenisi,
float $benzerlik,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public paintTransparentImage(mixed $hedef, float $alfa, float $benzerlik): bool
public pingImage(string $dosya): bool
publicpingImageBlob(string $görüntü): bool
public pingImageFile(resource $dt, string $dosya = ?): bool
polaroidImage(ImagickDraw $nesne, float $açı): bool
public posterizeImage(int $seviyeler, bool $kıpırtı): bool
public previewImages(int $preview): bool
public previousImage(): bool
public profileImage(string $isim, ?string $profil): bool
public quantizeImage(
int $renk_sayısı,
int $renk_uzayı,
int $ağaç_derinliği,
bool $kıpırtı,
bool $ölçme_hatası
): bool
public quantizeImages(
int $renk_sayısı,
int $renk_uzayı,
int $ağaç_derinliği,
bool $kıpırtı,
bool $ölçme_hatası
): bool
public queryFontMetrics(ImagickDraw $nesne, string $metin, bool $çoksatırlı = ?): array
public static queryFonts(string $şablon = "*"): array
public static queryFormats(string $şablon = "*"): array
public radialBlurImage(float $açı, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public raiseImage(
int $genişlik,
int $yükseklik,
int $x,
int $y,
bool $çıkıntı
): bool
public randomThresholdImage(float $düşük, float $yüksek, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public readImage(string $dosya): bool
public readImageBlob(string $dizge, string $dosya = ?): bool
public readImageFile(resource $dt, string $dosya = null): bool
public readImages(array $filenames): bool
public animateImages(array $matris): bool
publicreduceNoiseImage(float $yarıçap): bool
public remapImage(Imagick $replacement, int $DITHER): bool
public removeImage(): bool
public removeImageProfile(string $isim): string
public render(): bool
public resampleImage(
float $x_çözünürlüğü,
float $y_çözünürlüğü,
int $süzgeç,
float $bulanıklık
): bool
public resetImagePage(string $sayfa): bool
public resizeImage(
int $genişlik,
int $yükseklik,
int $süzgeç,
float $bulanıklık,
bool $sığdır = false,
bool $eski = false
): bool
public rollImage(int $x, int $y): bool
public rotateImage(mixed $artalan, float $açı): bool
public rotationalBlurImage(float $angle, int $channel = Imagick::CHANNEL_DEFAULT): bool
public roundCorners(
float $x_yarıçapı,
float $y_yarıçapı,
float $vurgu_genişliği = 10,
float $yer_değiştirme = 5,
float $boyut_düzeltme = -6
): bool
public sampleImage(int $genişlik, int $yükseklik): bool
public scaleImage(
int $genişlik,
int $yükseklik,
bool $sığdır = false,
bool $eski = false
): bool
public segmentImage(
int $COLORSPACE,
float $cluster_threshold,
float $smooth_threshold,
bool $verbose = false
): bool
public selectiveBlurImage(
float $radius,
float $sigma,
float $threshold,
int $channel = Imagick::CHANNEL_DEFAULT
): bool
public separateImageChannel(int $kanal): bool
public sepiaToneImage(float $eşik): bool
public setBackgroundColor(mixed $renk): bool
public setColorspace(int $COLORSPACE): bool
public setCompression(int $sıkıştırma): bool
public setCompressionQuality(int $seviye): bool
public setFilename(string $dosya): bool
public setFirstIterator(): bool
public setFont(string $yazıtipi): bool
public setFormat(string $biçem): bool
public setGravity(int $gravity): bool
public setImage(Imagick $yenisi): bool
public setImageAlphaChannel(int $kip): bool
public setImageArtifact(string $artifact, string $value): bool
public setImageAttribute(string $key, string $value): bool
public setImageBackgroundColor(mixed $renk): bool
public setImageBias(float $sapma): bool
public setImageBiasQuantum(float $bias): void
public setImageBluePrimary(float $x, float $y): bool
public setImageBorderColor(mixed $renk): bool
public setImageChannelDepth(int $kanal, int $derinlik): bool
public setImageClipMask(Imagick $kırpıcı_resim): bool
public setImageColormapColor(int $indis, ImagickPixel $renk): bool
public setImageColorspace(int $renk_uzayı): bool
public setImageCompose(int $işleç): bool
public setImageCompression(int $sıkıştırma): bool
public setImageCompressionQuality(int $seviye): bool
public setImageDelay(int $gecikme): bool
public setImageDepth(int $derinlik): bool
public setImageDispose(int $yöntem): bool
public setImageExtent(int $genişlik, int $yükseklik): bool
public setImageFilename(string $dosya): bool
public setImageFormat(string $biçem): bool
public setImageGamma(float $gamma): bool
public setImageGravity(int $gravity): bool
public setImageGreenPrimary(float $x, float $y): bool
public setImageIndex(int $indis): bool
public setImageInterlaceScheme(int $geçişim_şeması): bool
public setImageInterpolateMethod(int $yöntem): bool
public setImageIterations(int $yineleme): bool
public setImageMatte(bool $matlık): bool
public setImageMatteColor(mixed $şeffaf_renk): bool
public setImageOpacity(float $matlık): bool
public setImageOrientation(int $baskı_yönü): bool
public setImagePage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public setImageProfile(string $isim, string $profil): bool
public setImageProperty(string $isim, string $değer): bool
public setImageRedPrimary(float $x, float $y): bool
public setImageRenderingIntent(int $uygulama_tarzı): bool
public setImageResolution(float $x_çözünürlüğü, float $y_çözünürlüğü): bool
public setImageScene(int $dekor): bool
public setImageTicksPerSecond(int $göreli_hız): bool
public setImageType(int $resim_türü): bool
public setImageUnits(int $birimler): bool
public setImageVirtualPixelMethod(int $yöntem): bool
public setImageWhitePoint(float $x, float $y): bool
public setInterlaceScheme(int $geçişim_şeması): bool
public setIteratorIndex(int $indis): bool
public setLastIterator(): bool
public setOption(string $anahtar, string $değer): bool
public setPage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public setPointSize(float $punto): bool
public setProgressMonitor(callable $callback): bool
public static setRegistry(string $key, string $value): bool
public setResolution(float $x_çözünürlüğü, float $y_çözünürlüğü): bool
public setResourceLimit(int $özkaynak, int $sınır): bool
public setSamplingFactors(array $çarpanlar): bool
public setSize(int $sütun, int $satır): bool
public setSizeOffset(int $sütun, int $satır, int $başlangıç): bool
public setType(int $görüntü_türü): bool
public shadeImage(bool $gri, float $başucu, float $yükseliş): bool
public shadowImage(
float $matlık,
float $sapma,
int $x,
int $y
): bool
public sharpenImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public shaveImage(int $sütun, int $satır): bool
public shearImage(mixed $artalan, float $x_kaykılması, float $y_kaykılması): bool
public sigmoidalContrastImage(
bool $netleştir,
float $zıtlık,
float $aradeğer,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public sketchImage(float $yarıçap, float $sapma, float $açı): bool
public smushImages(bool $stack, int $offset): Imagick
public solarizeImage(int $eşik): bool
public sparseColorImage(int $SPARSE_METHOD, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT): bool
public spliceImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool
public spreadImage(float $yarıçap): bool
public statisticImage(
int $type,
int $width,
int $height,
int $channel = Imagick::CHANNEL_DEFAULT
): bool
public steganoImage(Imagick $filigran, int $konum): Imagick
public stereoImage(Imagick $görüntü): bool
public stripImage(): bool
public subImageMatch(Imagick $Imagick, array &$offset = ?, float &$similarity = ?): Imagick
public swirlImage(float $açı): bool
textureImage(Imagick $doku_kalemi): Imagick
public thresholdImage(float $eşik, int $kanal = Imagick::CHANNEL_DEFAULT): bool
public thumbnailImage(
int $sütun,
int $satır,
bool $sığdır = false,
bool $doldur = false,
bool $eski = false
): bool
public tintImage(mixed $ton, mixed $matlık, bool $eski = false): bool
public __toString(): string
public transformImage(string $budama, string $geometri): Imagick
public transformImageColorspace(int $colorspace): bool
public transparentPaintImage(
mixed $hedef,
float $şeffaflık,
float $benzerlik,
bool $ters
): bool
public transposeImage(): bool
public transverseImage(): bool
public trimImage(float $benzerlik): bool
public uniqueImageColors(): bool
public unsharpMaskImage(
float $yarıçap,
float $sapma,
float $miktar,
float $eşik,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool
public valid(): bool
public vignetteImage(
float $siyahNokta,
float $beyazNokta,
int $x,
int $y
): bool
public waveImage(float $genlik, float $dalga_boyu): bool
public whiteThresholdImage(mixed $eşik): bool
public writeImage(string $dosya = null): bool
public writeImageFile(resource $dt, string $biçem = ?): bool
public writeImages(string $dosya, bool $bitişik): bool
public writeImagesFile(resource $dt, string $biçem = ?): bool
}

Görüntü Yöntemleri ve küresel yöntemler

Imagick sınıfı çok sayıda görüntüyü aynı anda işleme yeteneğine sahiptir. Bu dahili bir yığıt kullanılarak sağlanır. Daima üzerinde çalışılan görüntüyü gösteren bir dahili gösterici vardır. İşlevlerin çoğu sadece yığıttaki geçerli görüntü üzerinde işlem yaparken, bazıları da Imagick sınıfının tüm görüntüleri üzerinde işlem yapar. Bir uzlaşım olarak, sadece yığıttaki geçerli görüntüyü etkileyen yöntemlerin isimlerinde Image sözcüğü bulunabilir.

Sınıf yöntemleri

Çok sayıda yöntem olduğundan bunları kullanım amaçlarına göre sınıflayarak listelemek daha iyi olacak:

Kullanım Amacına göre Sınıf yöntemleri
Görüntü Etkileri | Veri Alma Yöntemleri | Veri Atama Yöntemleri | Görüntülerin Okunması ve Yazılması | Diğer İşlemler
Imagick::adaptiveBlurImage() | Imagick::getCompression() | Imagick::setBackgroundColor() | Imagick::__construct() | Imagick::clear()
Imagick::adaptiveResizeImage() | Imagick::getFilename() | Imagick::setCompressionQuality() | Imagick::addImage() | Imagick::clone()
Imagick::adaptiveSharpenImage() | Imagick::getFormat() | Imagick::setCompression() | Imagick::appendImages() | Imagick::current()
Imagick::adaptiveThresholdImage() | Imagick::getImageBackgroundColor() | Imagick::setFilename() | Imagick::getFilename() | Imagick::destroy()
Imagick::addNoiseImage() | Imagick::getImageBlob() | Imagick::getImagesBlob() | Imagick::setFormat() | Imagick::getFormat()
Imagick::affinetransformimage() | Imagick::getImageBluePrimary() | Imagick::setImageBackgroundColor() | Imagick::getImageFilename() | Imagick::getFormat()
Imagick::annotateImage() | Imagick::getImageBorderColor() | Imagick::setFirstIterator() | Imagick::getImageFormat() | Imagick::getHomeURL()
Imagick::averageImages() | Imagick::getImageChannelDepth() | Imagick::setImageBias() | Imagick::getImage() | Imagick::commentImage()
Imagick::blackThresholdImage() | Imagick::getImageChannelDistortion() | Imagick::setImageBluePrimary() | Imagick::setImageFilename() | Imagick::getNumberImages()
Imagick::blurImage() | Imagick::getImageChannelExtrema() | Imagick::setImageBorderColor() | Imagick::setImageFormat() | Imagick::getReleaseDate()
Imagick::borderImage() | Imagick::getImageChannelMean() | Imagick::setImageChannelDepth() | Imagick::readImageFile() | Imagick::getVersion()
Imagick::charcoalImage() | Imagick::getImageChannelStatistics() | Imagick::setImageColormapColor() | Imagick::readImage() | Imagick::hasNextImage()
Imagick::chopImage() | Imagick::getImageColormapColor() | Imagick::setImageColorSpace() | Imagick::writeImages() | Imagick::hasPreviousImage()
Imagick::clipImage() | Imagick::getImageColorspace() | Imagick::setImageCompose() | Imagick::writeImage() | Imagick::labelImage()
Imagick::clipPathImage() | Imagick::getImageColors() | Imagick::setImageCompression() |  | Imagick::newImage()
Imagick::coalesceImages() | Imagick::getImageCompose() | Imagick::setImageDelay() |  | Imagick::newPseudoImage()
Imagick::colorFloodFillImage() | Imagick::getImageDelay() | Imagick::setImageDepth() |  | Imagick::nextImage()
Imagick::colorizeImage() | Imagick::getImageDepth() | Imagick::setImageDispose() |  | Imagick::pingImageBlob()
Imagick::combineImages() | Imagick::getImageDispose() | Imagick::setImageDispose() |  | Imagick::pingImageFile()
Imagick::compareImageChannels() | Imagick::getImageDistortion() | Imagick::setImageExtent() |  | Imagick::pingImage()
Imagick::compareImageLayers() | Imagick::getImageExtrema() | Imagick::setImageFilename() |  | Imagick::previousImage()
Imagick::compositeImage() | Imagick::getImageFilename() | Imagick::setImageFormat() |  | Imagick::profileImage()
Imagick::contrastImage() | Imagick::getImageFormat() | Imagick::setImageGamma() |  | Imagick::queryFormats()
Imagick::contrastStretchImage() | Imagick::getImageGamma() | Imagick::setImageGreenPrimary() |  | Imagick::removeImageProfile()
Imagick::convolveImage() | Imagick::getImageGeometry() | Imagick::setImageIndex() |  | Imagick::removeImage()
Imagick::cropImage() | Imagick::getImageGreenPrimary() | Imagick::setImageInterpolateMethod() |  | Imagick::setFirstIterator()
Imagick::cycleColormapImage() | Imagick::getImageHeight() | Imagick::setImageIterations() |  | Imagick::setImageIndex()
Imagick::deconstructImages() | Imagick::getImageHistogram() | Imagick::setImageMatteColor() |  | Imagick::getCopyright()
Imagick::drawImage() | Imagick::getImageIndex() | Imagick::setImageMatte() |  |
Imagick::edgeImage() | Imagick::getImageInterlaceScheme() | Imagick::setImagePage() |  |
Imagick::embossImage() | Imagick::getImageInterpolateMethod() | Imagick::setImageProfile() |  |
Imagick::enhanceImage() | Imagick::getImageIterations() | Imagick::setImageProperty() |  |
Imagick::equalizeImage() | Imagick::getImageMatteColor() | Imagick::setImageRedPrimary() |  |
Imagick::evaluateImage() | Imagick::getImageMatte() | Imagick::setImageRenderingIntent() |  |
Imagick::flattenImages() | Imagick::getImagePage() | Imagick::setImageResolution() |  |
Imagick::flipImage() | Imagick::getImagePixelColor() | Imagick::setImageScene() |  |
Imagick::flopImage() | Imagick::getImageProfile() | Imagick::setImageTicksPerSecond() |  |
 | Imagick::getImageProperty() | Imagick::setImageType() |  |
Imagick::fxImage() | Imagick::getImageRedPrimary() | Imagick::setImageUnits() |  |
Imagick::gammaImage() | Imagick::getImageRegion() | Imagick::setImageVirtualPixelMethod() |  |
Imagick::gaussianBlurImage() | Imagick::getImageRenderingIntent() | Imagick::setImageWhitepoint() |  |
Imagick::implodeImage() | Imagick::getImageResolution() | Imagick::setInterlaceScheme() |  |
Imagick::levelImage() | Imagick::getImageScene() | Imagick::setOption() |  |
Imagick::linearStretchImage() | Imagick::getImageSignature() | Imagick::setPage() |  |
Imagick::magnifyImage() | Imagick::getImageTicksPerSecond() | Imagick::setResolution() |  |
Imagick::matteFloodFillImage() | Imagick::getImageTotalInkDensity() | Imagick::setResourceLimit() |  |
Imagick::medianFilterImage() | Imagick::getImageType() | Imagick::setSamplingFactors() |  |
Imagick::minifyImage() | Imagick::getImageUnits() | Imagick::setSizeOffset() |  |
Imagick::modulateImage() | Imagick::getImageVirtualPixelMethod() | Imagick::setSize() |  |
Imagick::montageImage() | Imagick::getImageWhitepoint() | Imagick::setType() |  |
Imagick::morphImages() | Imagick::getImageWidth() |  |  |
Imagick::mosaicImages() | Imagick::getImage() |  |  |
Imagick::motionBlurImage() | Imagick::getInterlaceScheme() |  |  |
Imagick::negateImage() | Imagick::getNumberImages() |  |  |
Imagick::normalizeImage() | Imagick::getOption() |  |  |
Imagick::oilPaintImage() | Imagick::getPackageName() |  |  |
Imagick::optimizeImageLayers() | Imagick::getPage() |  |  |
Imagick::paintOpaqueImage() | Imagick::getPixelIterator() |  |  |
Imagick::paintTransparentImage() | Imagick::getPixelRegionIterator() |  |  |
Imagick::posterizeImage() | Imagick::getQuantumDepth() |  |  |
Imagick::radialBlurImage() | Imagick::getQuantumRange() |  |  |
Imagick::raiseImage() | Imagick::getResourceLimit() |  |  |
Imagick::randomThresholdImage() | Imagick::getResource() |  |  |
Imagick::reduceNoiseImage() | Imagick::getSamplingFactors() |  |  |
Imagick::render() | Imagick::getSizeOffset() |  |  |
Imagick::resampleImage() | Imagick::getSize() |  |  |
Imagick::resizeImage() | Imagick::identifyImage() |  |  |
Imagick::rollImage() | Imagick::getImageSize() |  |  |
Imagick::rotateImage() |  |  |  |
Imagick::sampleImage() |  |  |  |
Imagick::scaleImage() |  |  |  |
Imagick::separateImageChannel() |  |  |  |
Imagick::sepiaToneImage() |  |  |  |
Imagick::shadeImage() |  |  |  |
Imagick::shadowImage() |  |  |  |
Imagick::sharpenImage() |  |  |  |
Imagick::shaveImage() |  |  |  |
Imagick::shearImage() |  |  |  |
Imagick::sigmoidalContrastImage() |  |  |  |
Imagick::sketchImage() |  |  |  |
Imagick::solarizeImage() |  |  |  |
Imagick::spliceImage() |  |  |  |
Imagick::spreadImage() |  |  |  |
Imagick::steganoImage() |  |  |  |
Imagick::stereoImage() |  |  |  |
Imagick::stripImage() |  |  |  |
Imagick::swirlImage() |  |  |  |
Imagick::textureImage() |  |  |  |
Imagick::thresholdImage() |  |  |  |
Imagick::thumbnailImage() |  |  |  |
Imagick::tintImage() |  |  |  |
Imagick::transverseImage() |  |  |  |
Imagick::trimImage() |  |  |  |
Imagick::uniqueImageColors() |  |  |  |
Imagick::unsharpMaskImage() |  |  |  |
Imagick::vignetteImage() |  |  |  |
Imagick::waveImage() |  |  |  |
Imagick::whiteThresholdImage() |  |  |  |

İçindekiler

  • Imagick::adaptiveBlurImage — Görüntüyü uyarlamalı olarak bulanıklaştırır
  • Imagick::adaptiveResizeImage — Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır
  • Imagick::adaptiveSharpenImage — Uyarlamalı olarak görüntüyü keskinleştirir
  • Imagick::adaptiveThresholdImage — Bir yoğunluk aralığına göre her piksel için bir eşik seçer
  • Imagick::addImage — Imagick görüntü listesine yeni bir görüntü ekler
  • Imagick::addNoiseImage — Görüntüye rasgele gürültü ekler
  • Imagick::affineTransformImage — Görüntüyü dönüştürür
  • Imagick::animateImages — Bir görüntüyü veya görüntüleri canlandırır
  • Imagick::annotateImage — Görüntüye bir metin çizer
  • Imagick::appendImages — Bir görüntü kümesini ekler
  • Imagick::autoLevelImage — Adjusts the levels of a particular image channel
  • Imagick::averageImages — Bir görüntü kümesinin ortalamasını alır
  • Imagick::blackThresholdImage — Eşiğin altında kalan tüm renkleri siyaha çevirir
  • Imagick::blueShiftImage — Mutes the colors of the image
  • Imagick::blurImage — Görüntüye bir bulanıklık süzgeci ekler
  • Imagick::borderImage — Görüntüye bir çerçeve çizer
  • Imagick::brightnessContrastImage — Change the brightness and/or contrast of an image
  • Imagick::charcoalImage — Kara kalem çizimi taklit eder
  • Imagick::chopImage — Bir görüntünün bir bölgesini silerek kırpar
  • Imagick::clampImage — Restricts the color range from 0 to the quantum depth.
  • Imagick::clear — Imagick nesnesi ile ilgili tüm özkaynakları temizler
  • Imagick::clipImage — 8BIM profilindeki ilk yol boyunca görüntüyü kırpar
  • Imagick::clipImagePath — Clips along the named paths from the 8BIM profile, if present
  • Imagick::clipPathImage — 8BIM profili boyunca isimli yolları kırpar
  • Imagick::clone — Imagick nesnesinin tam bir kopyasını yapar
  • Imagick::clutImage — Görüntünün renklerini değiştirir
  • Imagick::coalesceImages — Bir görüntü kümesini tek bir görüntü olarak birleştirir
  • Imagick::colorFloodfillImage — Hedefle eşleşen her pikselin rengini değiştirir
  • Imagick::colorizeImage — Görüntünün her pikseline dolgu rengini karıştırır
  • Imagick::colorMatrixImage — Apply color transformation to an image
  • Imagick::combineImages — Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir
  • Imagick::commentImage — Görüntüye bir açıklama ekler
  • Imagick::compareImageChannels — Bir veya daha fazla görüntünün farkını döndürür
  • Imagick::compareImageLayers — Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür
  • Imagick::compareImages — Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır
  • Imagick::compositeImage — Bir görüntüyü diğeriyle birleştirir
  • Imagick::__construct — Imagick kurucusu
  • Imagick::contrastImage — Görüntünün zıtlığını değiştirir
  • Imagick::contrastStretchImage — Renkli bir görüntünün zıtlığını ayarlar
  • Imagick::convolveImage — Görüntüye bir evrişim çekirdeği uygular
  • Imagick::count — Get the number of images
  • Imagick::cropImage — Görüntünün bir bölgesini çıkarır
  • Imagick::cropThumbnailImage — Görüntünün kırpık bir örneğini oluşturur
  • Imagick::current — Geçerli Imagick nesnesini döndürür
  • Imagick::cycleColormapImage — Bir görüntünün renk eşleminin bir kısmını değiştirir
  • Imagick::decipherImage — Şifreli bir görüntünün şifresini çözer
  • Imagick::deconstructImages — Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür
  • Imagick::deleteImageArtifact — Delete image artifact
  • Imagick::deleteImageProperty — Deletes an image property
  • Imagick::deskewImage — Removes skew from the image
  • Imagick::despeckleImage — Görüntünün benekli görünümünü düzeltir
  • Imagick::destroy — Imagick nesnesini siler
  • Imagick::displayImage — Bir görüntüyü gösterir
  • Imagick::displayImages — Bir görüntü dizisini gösterir
  • Imagick::distortImage — Çeşitli yöntemlerle görüntüyü bozunuma uğratır
  • Imagick::drawImage — Belirtilen ImagickDraw nesnesini görüntüye uygular
  • Imagick::edgeImage — Görüntünün kenarlarını yuvarlatır
  • Imagick::embossImage — Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür
  • Imagick::encipherImage — Bir görüntüyü şifreler
  • Imagick::enhanceImage — Görüntü kalitesini arttırır
  • Imagick::equalizeImage — Görüntünün renk dağılımını dengeler
  • Imagick::evaluateImage — Görüntüye bir ifade uygular
  • Imagick::exportImagePixels — Exports raw image pixels
  • Imagick::extentImage — Görüntü boyutlarını belirler
  • Imagick::filter — Applies a custom convolution kernel to the image
  • Imagick::flattenImages — Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir
  • Imagick::flipImage — Görüntünün düşeydeki yansımasını oluşturur
  • Imagick::floodFillPaintImage — Hedefle eşleşen piksellerin renklerini değiştirir
  • Imagick::flopImage — Görüntünün yataydaki yansımasını oluşturur
  • Imagick::forwardFourierTransformImage — Implements the discrete Fourier transform (DFT)
  • Imagick::frameImage — Üç boyutluluğu taklit ederek bir çerçeve ekler
  • Imagick::functionImage — Applies a function on the image
  • Imagick::fxImage — Bir ifadeyi görüntüdeki her piksele uygular
  • Imagick::gammaImage — Görüntünün gammasını düzeltir
  • Imagick::gaussianBlurImage — Görüntüyü bulanıklaştırır
  • Imagick::getColorspace — Gets the colorspace
  • Imagick::getCompression — Nesnenin sıkıştırma türünü döndürür
  • Imagick::getCompressionQuality — Nesnenin sıkıştırma seviyesini döndürür
  • Imagick::getCopyright — ImageMagick telif hakkı bilgisini döndürür
  • Imagick::getFilename — Görüntü dizisi ile ilişkili dosya ismini döndürür
  • Imagick::getFont — Yazıtipini döndürür
  • Imagick::getFormat — Imagick nesnesinin biçemini döndürür
  • Imagick::getGravity — Gets the gravity
  • Imagick::getHomeURL — ImageMagick sitesinin adresini döndürür
  • Imagick::getImage — Yeni bir Imagick nesnesi döndürür
  • Imagick::getImageAlphaChannel — Checks if the image has an alpha channel
  • Imagick::getImageArtifact — Get image artifact
  • Imagick::getImageAttribute — Returns a named attribute
  • Imagick::getImageBackgroundColor — Resmin artalan rengini döndürür
  • Imagick::getImageBlob — Görüntü dizisini ikil dizge olarak döndürür
  • Imagick::getImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür
  • Imagick::getImageBorderColor — Görüntünün çerçeve rengini döndürür
  • Imagick::getImageChannelDepth — Belirtilen kanalın derinliğini döndürür
  • Imagick::getImageChannelDistortion — Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır
  • Imagick::getImageChannelDistortions — Gets channel distortions
  • Imagick::getImageChannelExtrema — Belirtilen kanalların uç değerlerini döndürür
  • Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose
  • Imagick::getImageChannelMean — Kanal ortalama ve standart sapmasını döndürür
  • Imagick::getImageChannelRange — Gets channel range
  • Imagick::getImageChannelStatistics — Görüntüdeki her kanalın istatistiklerini döndürür
  • Imagick::getImageClipMask — Resim kırpma maskesini döndürür
  • Imagick::getImageColormapColor — Renk eşlemi indisi belirtilen rengi döndürür
  • Imagick::getImageColors — Görüntüdeki eşsiz renklerin sayısını döndürür
  • Imagick::getImageColorspace — Resmin renk uzayını döndürür
  • Imagick::getImageCompose — Görüntü ile ilgili birleştirme işlecini döndürür
  • Imagick::getImageCompression — Görüntünün sıkıştırma türünü döndürür
  • Imagick::getImageCompressionQuality — Görüntünün sıkıştırma seviyesini döndürür
  • Imagick::getImageDelay — Görüntü gecikmesini döndürür
  • Imagick::getImageDepth — Görüntü derinliğini döndürür
  • Imagick::getImageDispose — Görüntünün elden çıkarma yöntemini döndürür
  • Imagick::getImageDistortion — Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır
  • Imagick::getImageExtrema — Görüntü ile ilgili uç değerleri döndürür
  • Imagick::getImageFilename — Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür
  • Imagick::getImageFormat — Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür
  • Imagick::getImageGamma — Görüntünün gammasını döndürür
  • Imagick::getImageGeometry — Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür
  • Imagick::getImageGravity — Gets the image gravity
  • Imagick::getImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür
  • Imagick::getImageHeight — Görüntünün yüksekliğini döndürür
  • Imagick::getImageHistogram — Görüntünün renk dağılımını döndürür
  • Imagick::getImageIndex — Geçerli etkin görüntünün indisini döndürür
  • Imagick::getImageInterlaceScheme — Görüntünün geçişim şemasını döndürür
  • Imagick::getImageInterpolateMethod — Aradeğerleme yöntemini döndürür
  • Imagick::getImageIterations — Görüntü yineleme sayısını döndürür
  • Imagick::getImageLength — Görüntü uzunluğunu döndürür
  • Imagick::getImageMatte — Görüntünün bir matlık kanalı varsa true döndürür
  • Imagick::getImageMatteColor — Görüntünün matlık rengini döndürür
  • Imagick::getImageMimeType — Returns the image mime-type
  • Imagick::getImageOrientation — Görüntü baskı yönünü döndürür
  • Imagick::getImagePage — Sayfa geometrisini döndürür
  • Imagick::getImagePixelColor — Belirtilen pikselin rengini döndürür
  • Imagick::getImageProfile — İsimli görüntü profilini döndürür
  • Imagick::getImageProfiles — Görüntü profillerini döndürür
  • Imagick::getImageProperties — Görüntü özelliklerini döndürür
  • Imagick::getImageProperty — İsimli görüntü özelliğini döndürür
  • Imagick::getImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür
  • Imagick::getImageRegion — Görüntünün bir bölgesini çıkarır
  • Imagick::getImageRenderingIntent — Görüntüye komutların uygulanış tarzını döndürür
  • Imagick::getImageResolution — Görüntünün X ve Y çözünürlüklerini döndürür
  • Imagick::getImagesBlob — Tüm görüntü dizilerini bir ikil dizge olarak döndürür
  • Imagick::getImageScene — Görüntünün artalan dekorunu döndürür
  • Imagick::getImageSignature — Görüntünün SHA-256 aşını üretir
  • Imagick::getImageSize — Görüntü uzunluğunu bayt cinsinden döndürür
  • Imagick::getImageTicksPerSecond — Görüntünün saniyedeki tik sayısını döndürür
  • Imagick::getImageTotalInkDensity — Görüntünün belli bir renginin toplam yoğunluğunu döndürür
  • Imagick::getImageType — Olası görüntü türünü döndürür
  • Imagick::getImageUnits — Görüntü çözünürlük birimlerini döndürür
  • Imagick::getImageVirtualPixelMethod — Sanal piksel yöntemini döndürür
  • Imagick::getImageWhitePoint — Görüntünün renk bileşenlerinden beyaz noktayı döndürür
  • Imagick::getImageWidth — Görüntü genişliğini döndürür
  • Imagick::getInterlaceScheme — Nesne geçişim şemasını döndürür
  • Imagick::getIteratorIndex — Geçerli etkin görüntünün indisini döndürür
  • Imagick::getNumberImages — Nesnedeki görüntü sayısını döndürür
  • Imagick::getOption — Belirtilen anahtarla ilgili değeri döndürür
  • Imagick::getPackageName — ImageMagick paket ismini döndürür
  • Imagick::getPage — Sayfa geometrisini döndürür
  • Imagick::getPixelIterator — Bir MagickPixelIterator nesnesi döndürür
  • Imagick::getPixelRegionIterator — Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür
  • Imagick::getPointSize — Punto değerini döndürür
  • Imagick::getQuantum — Returns the ImageMagick quantum range
  • Imagick::getQuantumDepth — Parçacık derinliğini döndürür
  • Imagick::getQuantumRange — Imagick parçacık aralığını döndürür
  • Imagick::getRegistry — Get a StringRegistry entry
  • Imagick::getReleaseDate — ImageMagick dağıtım tarihini döndürür
  • Imagick::getResource — Belirtilen özkaynağın bellek kullanımını döndürür
  • Imagick::getResourceLimit — Belirtilen özkaynağın bellek kullanım sınırını döndürür
  • Imagick::getSamplingFactors — Yatay ve düşey örnekleme katsayısını döndürür
  • Imagick::getSize — Imagick nesnesi ile ilgili boyutları döndürür
  • Imagick::getSizeOffset — Boyut başlangıç noktasını döndürür
  • Imagick::getVersion — ImageMagick API sürümünü döndürür
  • Imagick::haldClutImage — Replaces colors in the image
  • Imagick::hasNextImage — Görüntünün sonrasında bir görüntü daha var mı diye bakar
  • Imagick::hasPreviousImage — Görüntünün öncesinde bir görüntü daha var mı diye bakar
  • Imagick::identifyFormat — Formats a string with image details
  • Imagick::identifyImage — Görüntünün özniteliklerini döndürerek görüntüyü tanımlar
  • Imagick::implodeImage — Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur
  • Imagick::importImagePixels — Imports image pixels
  • Imagick::inverseFourierTransformImage — Implements the inverse discrete Fourier transform (DFT)
  • Imagick::labelImage — Görüntüye bir yafta ekler
  • Imagick::levelImage — Bir görüntünün seviyelerini ayarlar
  • Imagick::linearStretchImage — Görüntünün koyuluğunu doygunluk ile abartır
  • Imagick::liquidRescaleImage — Bir görüntüyü veya görüntüleri canlandırır
  • Imagick::listRegistry — List all the registry settings
  • Imagick::magnifyImage — En boy oranını koruyarak görüntüyü iki katına büyütür
  • Imagick::mapImage — Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir
  • Imagick::matteFloodfillImage — Bir rengin şeffaflık değerini değiştirir
  • Imagick::medianFilterImage — Görüntüye bir sayısal süzgeç uygular
  • Imagick::mergeImageLayers — Görüntü katmanlarını katıştırır
  • Imagick::minifyImage — En boy oranını koruyarak görüntüyü yarı boyutuna indirir
  • Imagick::modulateImage — Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler
  • Imagick::montageImage — Birleşik bir görüntü oluşturur
  • Imagick::morphImages — Bir görüntü dizisini başkalaşıma uğratır
  • Imagick::morphology — Applies a user supplied kernel to the image according to the given morphology method.
  • Imagick::mosaicImages — Görüntülerden bir mozaik oluşturur
  • Imagick::motionBlurImage — Hareket bulanıklığını taklit eder
  • Imagick::negateImage — Görüntünün renklerini negatiflerine dönüştürür
  • Imagick::newImage — Yeni bir görüntü oluşturur
  • Imagick::newPseudoImage — Yeni bir görüntü oluşturur
  • Imagick::nextImage — Bir sonraki görüntüye gider
  • Imagick::normalizeImage — Renkli bir görüntünün zıtlığını arttırır
  • Imagick::oilPaintImage — Yağlı boya resmi taklit eder
  • Imagick::opaquePaintImage — Hedef ile eşleşen piksellerin rengini değiştirir
  • Imagick::optimizeImageLayers — En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler
  • Imagick::orderedPosterizeImage — Görüntüye kurallı titreklik uygular
  • Imagick::paintFloodfillImage — Belirtilen renkle eşleşen piksellerin rengini değiştirir
  • Imagick::paintOpaqueImage — Bir rengi bir başka renkle değiştirir
  • Imagick::paintTransparentImage — Görüntüdeki belli bir rengi dolgu rengiyle değiştirir
  • Imagick::pingImage — Temel görüntü özniteliklerini bir dosyadan okur
  • Imagick::pingImageBlob — Temel görüntü özniteliklerini bir dizgeden okur
  • Imagick::pingImageFile — Temel görüntü özniteliklerini bir akımdan okur
  • Imagick::polaroidImage — Polaroid resmi taklit eder
  • Imagick::posterizeImage — Görüntüdeki renkleri belli bir sayıya düşürür
  • Imagick::previewImages — Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır
  • Imagick::previousImage — Bir önceki görüntüye gider
  • Imagick::profileImage — Bir görüntüye profil ekler veya çıkarır
  • Imagick::quantizeImage — Belli bir görüntü içindeki renk miktarını bulur
  • Imagick::quantizeImages — Bir görüntü kümesi içindeki renk miktarını bulur
  • Imagick::queryFontMetrics — Yazı tipinin özelliklerini içeren bir dizi döndürür
  • Imagick::queryFonts — Yapılandırımış yazı tiplerini döndürür
  • Imagick::queryFormats — Imagick tarafından desteklenen biçemleri döndürür
  • Imagick::radialBlurImage — Görüntüye dairesel bulanıklık uygular
  • Imagick::raiseImage — 3 boyutlu düğme benzeri bir etki oluşturur
  • Imagick::randomThresholdImage — Yüksek zıtlığa sahip iki renkli görüntü oluşturur
  • Imagick::readImage — Görüntüyü dosyadar okur
  • Imagick::readImageBlob — Görüntüyü ikil bir dizgeden okur
  • Imagick::readImageFile — Görüntüyü akımdan okur
  • Imagick::readimages — Reads image from an array of filenames
  • Imagick::recolorImage — Görüntüyü yeniden renklendirir
  • Imagick::reduceNoiseImage — Görüntünün dış hatlarını yumuşatır
  • Imagick::remapImage — Remaps image colors
  • Imagick::removeImage — Görüntü kümesinden görüntü siler
  • Imagick::removeImageProfile — İsimli görüntü profilini silip döndürür
  • Imagick::render — Evvelce verilmiş tüm çizim komutlarını uygular
  • Imagick::resampleImage — Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler
  • Imagick::resetImagePage — Görüntü sayfasını sıfırlar
  • Imagick::resizeImage — Görüntüyü boyutlandırır
  • Imagick::rollImage — Görüntünün başlangıç noktasını tanımlar
  • Imagick::rotateImage — Görüntüyü döndürür
  • Imagick::rotationalBlurImage — Rotational blurs an image
  • Imagick::roundCorners — Görüntünün köşelerini yuvarlatır
  • Imagick::sampleImage — Görüntüyü piksel örneklemeyle oranlar
  • Imagick::scaleImage — Görüntünün enboy oranını ayarlar
  • Imagick::segmentImage — Segments an image
  • Imagick::selectiveBlurImage — Selectively blur an image within a contrast threshold
  • Imagick::separateImageChannel — Görüntüden bir kanalı ayırır
  • Imagick::sepiaToneImage — Görüntüye kızıl kahverengi tonlama uygular
  • Imagick::setBackgroundColor — Nesnenin öntanımlı artalan rengini tanımlar
  • Imagick::setColorspace — Set colorspace
  • Imagick::setCompression — Nesnenin öntanımlı sıkıştırma türünü tanımlar
  • Imagick::setCompressionQuality — Nesnenin öntanımlı sıkıştırma seviyesini tanımlar
  • Imagick::setFilename — Görüntüye dosya ismi tanımlar
  • Imagick::setFirstIterator — Imagick yineleyiciyi ilk görüntüye konumlar
  • Imagick::setFont — Imagick nesnesinin yazı tipini tanımlar
  • Imagick::setFormat — Imagick nesnesinin biçemini tanımlar
  • Imagick::setGravity — Sets the gravity
  • Imagick::setImage — Nesnedeki görüntüyü değiştirir
  • Imagick::setImageAlphaChannel — Görüntünün şeffaflık kanalını tanımlar
  • Imagick::setImageArtifact — Set image artifact
  • Imagick::setImageAttribute — Sets an image attribute
  • Imagick::setImageBackgroundColor — Görüntünün artalan rengini tanımlar
  • Imagick::setImageBias — Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar
  • Imagick::setImageBiasQuantum — Sets the image bias
  • Imagick::setImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar
  • Imagick::setImageBorderColor — Görüntünün çerçeve rengini tanımlar
  • Imagick::setImageChannelDepth — Belli bir görüntü kanalının derinliğini tanımlar
  • Imagick::setImageClipMask — Görüntü kırpma maskesini tanımlar
  • Imagick::setImageColormapColor — Renk eşlemi indisi belirtilen rengi tanımlar
  • Imagick::setImageColorspace — Görüntünün renk uzayını tanımlar
  • Imagick::setImageCompose — Görüntü birleştirme işlecini tanımlar
  • Imagick::setImageCompression — Görüntü sıkıştırma seviyesini tanımlar
  • Imagick::setImageCompressionQuality — Görüntü sıkıştırma seviyesini belirler
  • Imagick::setImageDelay — Görüntü gecikmesini tanımlar
  • Imagick::setImageDepth — Görüntü derinliğini tanımlar
  • Imagick::setImageDispose — Görüntünün elden çıkarma yöntemini tanımlar
  • Imagick::setImageExtent — Görüntünün boyutlarını tanımlar
  • Imagick::setImageFilename — Belli bir görüntünün dosya ismini tanımlar
  • Imagick::setImageFormat — Belli bir görüntünün biçemini tanımlar
  • Imagick::setImageGamma — Görüntünün gammasını tanımlar
  • Imagick::setImageGravity — Sets the image gravity
  • Imagick::setImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar
  • Imagick::setImageIndex — Yineleyici konumunu tanımlar
  • Imagick::setImageInterlaceScheme — Görüntü geçişim şemasını tanımlar
  • Imagick::setImageInterpolateMethod — Görüntünün aradeğer pikseli yöntemini tanımlar
  • Imagick::setImageIterations — Görüntü yineleme sayısını tanımlar
  • Imagick::setImageMatte — Görüntünün matlık kanalını ayarlar
  • Imagick::setImageMatteColor — Görüntünün şeffaf rengini tanımlar
  • Imagick::setImageOpacity — Görüntünün matlık seviyesini tanımlar
  • Imagick::setImageOrientation — Görüntünün baskı yönünü tanımlar
  • Imagick::setImagePage — Görüntünün sayfa geometrisini tanımlar
  • Imagick::setImageProfile — Imagick nesnesine isimli bir profil ekler
  • Imagick::setImageProperty — Bir görüntü özelliğini tanımlar
  • Imagick::setImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar
  • Imagick::setImageRenderingIntent — Görüntüye komutların uygulanış tarzını belirler
  • Imagick::setImageResolution — Görüntünün çözünürlüğünü ayarlar
  • Imagick::setImageScene — Görüntünün dekorunu tanımlar
  • Imagick::setImageTicksPerSecond — Canlandırma hızını değiştirir
  • Imagick::setImageType — Görüntü türünü tanımlar
  • Imagick::setImageUnits — Görüntünün çözünürlük birimlerini tanımlar
  • Imagick::setImageVirtualPixelMethod — Görüntünün sanal piksel yöntemini tanımlar
  • Imagick::setImageWhitePoint — Renk berraklığının beyaz noktasını tanımlar
  • Imagick::setInterlaceScheme — Görüntü geçişim şemasını tanımlar
  • Imagick::setIteratorIndex — Yineleyici konumunu belirler
  • Imagick::setLastIterator — Son görüntüye bir Imagick yineleyicisi atar
  • Imagick::setOption — Bir seçenek tanımlar
  • Imagick::setPage — Imagick nesnesinin sayfa geometrisini tanımlar
  • Imagick::setPointSize — Yazı puntosunu belirler
  • Imagick::setProgressMonitor — Set a callback to be called during processing
  • Imagick::setRegistry — Sets the ImageMagick registry entry named key to value
  • Imagick::setResolution — Görüntü çözünürlüğünü tanımlar
  • Imagick::setResourceLimit — Belli bir özkaynağa sınır tanımlar
  • Imagick::setSamplingFactors — Görüntü örnekleme çarpanlarını ayarlar
  • Imagick::setSize — Imagick nesnesinin boyutlarını ayarlar
  • Imagick::setSizeOffset — Imagick nesnesinin başlangıcını ve boyutlarını ayarlar
  • Imagick::setType — Görüntünün tür özniteliğini tanımlar
  • Imagick::shadeImage — Üç boyutluluk etkisi oluşturur
  • Imagick::shadowImage — Görüntüde gölgeleri taklit eder
  • Imagick::sharpenImage — Görüntüyü netleştirir
  • Imagick::shaveImage — Görüntünün kenarındaki pikselleri rendeler
  • Imagick::shearImage — Bir paralalkenar oluşturur
  • Imagick::sigmoidalContrastImage — Bir resmin zıtlığını ayarlar
  • Imagick::sketchImage — Kara kalem çalışmasını taklit eder
  • Imagick::smushImages — Takes all images from the current image pointer to the end of the image list and smushs them
  • Imagick::solarizeImage — Görüntüye uzun pozlama etkisi uygular
  • Imagick::sparseColorImage — Interpolates colors
  • Imagick::spliceImage — Görüntüye düz bir renk ekler
  • Imagick::spreadImage — Bir kümedeki her pikseli rasgele gösterir
  • Imagick::statisticImage — Modifies image using a statistics function
  • Imagick::steganoImage — Görüntünün içine sayısal bir filigran gizler
  • Imagick::stereoImage — İki görüntüyü birleştirir
  • Imagick::stripImage — Görüntüden tüm profilleri ve açıklamaları ayıklar
  • Imagick::subImageMatch — Searches for a subimage in the current image and returns a similarity image
  • Imagick::swirlImage — Görüntünün merkezine yakın pikselleri girdap gibi döndürür
  • Imagick::textureImage — Doku görüntüsünü yatay ve düşeyde yineler
  • Imagick::thresholdImage — Bazı pikselleri belli bir eşiğe göre değiştir
  • Imagick::thumbnailImage — Görüntünün boyutlarını değiştirir
  • Imagick::tintImage — Görüntüdeki her piksele bir renk yöneyi uygular
  • Imagick::__toString — Returns the image as a string
  • Imagick::transformImage — Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu
  • Imagick::transformImageColorspace — Transforms an image to a new colorspace
  • Imagick::transparentPaintImage — Pikselleri şeffaflaştırır
  • Imagick::transposeImage — Görüntünün düşeydeki yansımasını oluşturur
  • Imagick::transverseImage — Görüntünün yataydaki yansımasını oluşturur
  • Imagick::trimImage — Görüntünün kenarlarını siler
  • Imagick::uniqueImageColors — Biri dışında tüm piksel renklerini iptal eder
  • Imagick::unsharpMaskImage — Görüntüyü netleştirir
  • Imagick::valid — Imagick nesnesinin geçerli olup olmadığını sınar
  • Imagick::vignetteImage — Görüntüye bir nakış süzgeci uygular
  • Imagick::waveImage — Görüntüye bir dalga süzgeci uygular
  • Imagick::whiteThresholdImage — Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar
  • Imagick::writeImage — Görüntüyü belirtilen dosyaya yazar
  • Imagick::writeImageFile — Bir görüntüyü belirtilen dosya tanıtıcısına yazar
  • Imagick::writeImages — Bir görüntüyü veya görüntü kümesini dosyaya yazar
  • Imagick::writeImagesFile — Görüntü karelerini bir dosya tanıtıcısına yazar


Görüntüyü uyarlamalı olarak bulanıklaştırır

  • « Imagick
  • Imagick::adaptiveResizeImage »
  • PHP Manual
  • Imagick
  • Görüntüyü uyarlamalı olarak bulanıklaştırır

Imagick::adaptiveBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveBlurImage — Görüntüyü uyarlamalı olarak bulanıklaştırır

Açıklama

public Imagick::adaptiveBlurImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüyü uyarlamalı olarak bulanıklaştırır. Görüntünün geneline standart bir bulanıklık uygulanırken görüntünün kenarlarına uygulanan uyarlamalı bulanıklık yoğunluğu oldukça azaltılır.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır. Yarıcapın kendiliğinden seçilmesi için 0 belirtin.

sapma

Piksel cinsinden standart sapma.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::adaptiveBlurImage() örneği

Görüntünün uyarlamalı olarak bulanıklaştırılıp tarayıcıya çıktılanması.

<?php

header('Content-Type: image/jpeg');

$image = new Imagick('test.jpg');

$image->adaptiveBlurImage(5,3);
echo $image;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Imagick::adaptiveBlurImage() kullanımı

Ayrıca Bakınız

  • Imagick::blurImage() - Görüntüye bir bulanıklık süzgeci ekler
  • Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
  • Imagick::radialBlurImage() - Görüntüye dairesel bulanıklık uygular


Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır

  • « Imagick::adaptiveBlurImage
  • Imagick::adaptiveSharpenImage »
  • PHP Manual
  • Imagick
  • Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır

Imagick::adaptiveResizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveResizeImage — Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır

Açıklama

public Imagick::adaptiveResizeImage(
int $genişlik,
int $yükseklik,
bool $sığdır = false,
bool $eski = false
): bool

Görüntü verisinin nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır. Sert renk değişiklikleri ile görüntü bulanıklaştırılmamaya çalışılır. Görüntüyü özgün boyutlarına göre oldukça küçük boyutlara indirmek için çok kullanışlıdır. Elde edilen görüntü büyük bir görüntünün küçük bir örneği gibi görünmez. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bilginize: sığdır bağımsız değişkeninin davranışı Imagick 3.0.0 sürümünde değişmiştir. Evvelce 200x150 ebadındaki bir görüntü 400x400 ebadındaki bir alana sığdırılmak istendiğinde bu yapılmazdı. Artık görüntü 400x300 ebadına getirilerek belirtilen alana sığdırılmaktadır. sığdır bağımsız değişkeni kullanıldığı takdirde yükseklik ve genişliğin ikisi de verilmelidir.

Bağımsız Değişkenler

genişlik

Küçültülen görüntünün genişliği.

yükseklik

Küçültülen görüntünün yüksekliği.

sığdır

Görüntünün belirtilen boyutlara sığdırılıp sığdırılmayacağı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | İsteğe bağlı sığdır bağımsız değişkeni eklendi.
PECL imagick 2.1.0 | Artık küçültme sırasında enboy oranı hesaba katılıyor. Bunu sağlamak için boyutlardan birini 0 vermek yeterlidir.

Örnekler

Örnek 1 - Imagick::adaptiveResizeImage()örneği

Görüntünün standart bir boyuta indirilmesi. Görüntüyü özgün görüntüye göre oldukça küçük boyutlara indirmek için çok kullanışlıdır.

<?php
header('Content-Type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo $image;
?>

Ayrıca Bakınız

  • Imagick::chopImage() - Bir görüntünün bir bölgesini silerek kırpar
  • Imagick::cropImage() - Görüntünün bir bölgesini çıkarır
  • Imagick::magnifyImage() - En boy oranını koruyarak görüntüyü iki katına büyütür
  • Imagick::minifyImage() - En boy oranını koruyarak görüntüyü yarı boyutuna indirir
  • Imagick::resizeImage() - Görüntüyü boyutlandırır
  • Imagick::scaleImage() - Görüntünün enboy oranını ayarlar
  • Imagick::shaveImage() - Görüntünün kenarındaki pikselleri rendeler
  • Imagick::thumbnailImage() - Görüntünün boyutlarını değiştirir
  • Imagick::trimImage() - Görüntünün kenarlarını siler


Uyarlamalı olarak görüntüyü keskinleştirir

  • « Imagick::adaptiveResizeImage
  • Imagick::adaptiveThresholdImage »
  • PHP Manual
  • Imagick
  • Uyarlamalı olarak görüntüyü keskinleştirir

Imagick::adaptiveSharpenImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveSharpenImage — Uyarlamalı olarak görüntüyü keskinleştirir

Açıklama

public Imagick::adaptiveSharpenImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Yoğunlukça yakın kenarları yoğunlukça uzak olanlara göre keskinleştirerek uyarlamalı olarak görüntüyü netleştirir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır. Yarıcapın kendiliğinden seçilmesi için 0 belirtin.

sapma

Piksel cinsinden standart sapma.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::adaptiveSharpenImage() örneği

Yarıçap 2 ve sapma 1 piksel olmak üzere görüntünün uyarlamalı olarak keskinleştirilmesi.

<?php
try {
$image = new Imagick('image.png');
$image->adaptiveSharpenImage(2,1);
} catch(ImagickException $e) {
echo 'Hata: ' , $e->getMessage();
die();
}
header('Content-Type: image/png');
echo $image;
?>

Ayrıca Bakınız

  • Imagick::sharpenImage() - Görüntüyü netleştirir


Bir yoğunluk aralığına göre her piksel için bir eşik seçer

  • « Imagick::adaptiveSharpenImage
  • Imagick::addImage »
  • PHP Manual
  • Imagick
  • Bir yoğunluk aralığına göre her piksel için bir eşik seçer

Imagick::adaptiveThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveThresholdImage — Bir yoğunluk aralığına göre her piksel için bir eşik seçer

Açıklama

public Imagick::adaptiveThresholdImage(int $genişlik, int $yükseklik, int $başlangıç): bool

Komşularının yoğunluk değerlerinin aralığına göre her piksel için bağımsız bir eşik seçer. Görüntünün ayırdedici tepeleri içermeyen genel renk yoğunluğu dağılımına uygun bir eşik seçimini mümkün kılar.

Bağımsız Değişkenler

genişlik

Komşuluk genişliği.

yükseklik

Komşuluk yüksekliği.

başlangıç

Ortalama başlangıç.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::adaptiveThresholdImage()

<?php
function adaptiveThresholdImage($imagePath, $width, $height, $adaptiveOffset)
{
$imagick = new \Imagick(realpath($imagePath));
$adaptiveOffsetQuantum = intval($adaptiveOffset * \Imagick::getQuantum());
$imagick->adaptiveThresholdImage($width, $height, $adaptiveOffsetQuantum);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Imagick görüntü listesine yeni bir görüntü ekler

  • « Imagick::adaptiveThresholdImage
  • Imagick::addNoiseImage »
  • PHP Manual
  • Imagick
  • Imagick görüntü listesine yeni bir görüntü ekler

Imagick::addImage

(PECL imagick 2, PECL imagick 3)

Imagick::addImage — Imagick görüntü listesine yeni bir görüntü ekler

Açıklama

public Imagick::addImage(Imagick $kaynak): bool

Kaynak Imagick görüntü listesinde geçerli konuma yeni bir görüntü ekler. İşlem sonunda yineleyici bir sonraki görüntü konumuna ilerletirilir.

Bağımsız Değişkenler

kaynak

Kaynak Imagick nesnesi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüye rasgele gürültü ekler

  • « Imagick::addImage
  • Imagick::affineTransformImage »
  • PHP Manual
  • Imagick
  • Görüntüye rasgele gürültü ekler

Imagick::addNoiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::addNoiseImage — Görüntüye rasgele gürültü ekler

Açıklama

public Imagick::addNoiseImage(int $gürültü_türü, int $kanal = Imagick::CHANNEL_DEFAULT): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntüye rasgele gürültü ekler.

Bağımsız Değişkenler

gürültü_türü

Gürültü türü sabitlerinden biri.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::addNoiseImage()

<?php
function addNoiseImage($noiseType, $imagePath, $channel)
{
$imagick = new \Imagick(realpath($imagePath));
$imagick->addNoiseImage($noiseType, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü dönüştürür

  • « Imagick::addNoiseImage
  • Imagick::animateImages »
  • PHP Manual
  • Imagick
  • Görüntüyü dönüştürür

Imagick::affineTransformImage

(PECL imagick 2, PECL imagick 3)

Imagick::affineTransformImage — Görüntüyü dönüştürür

Açıklama

public Imagick::affineTransformImage(ImagickDraw $matris): bool

Homojen koordinatlar matrisine göre görüntüyü dönüştürür.

Bağımsız Değişkenler

matris

Homojen koordinatlar matrisi (affine matrix).

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::affineTransformImage()

<?php
function affineTransformImage($imagePath)
{
$imagick = new \Imagick(realpath($imagePath));
$draw = new \ImagickDraw();

$angle = deg2rad(40);

$affineRotate = array(
"sx" => cos($angle), "sy" => cos($angle),
"rx" => sin($angle), "ry" => -sin($angle),
"tx" => 0, "ty" => 0,
);

$draw->affine($affineRotate);

$imagick->affineTransformImage($draw);

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntüyü veya görüntüleri canlandırır

  • « Imagick::affineTransformImage
  • Imagick::annotateImage »
  • PHP Manual
  • Imagick
  • Bir görüntüyü veya görüntüleri canlandırır

Imagick::animateImages

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::animateImages — Bir görüntüyü veya görüntüleri canlandırır

Açıklama

public Imagick::animateImages(string $x_sunucusu): bool

Bu yöntem görüntüyü bir yerel veya uzak X sunucusu üzerinde canlandırır. Bu yöntem Windows üzerinde kullanılamaz. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

x_sunucusu

X sunucusunun adresi.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::displayImage() - Bir görüntüyü gösterir


Görüntüye bir metin çizer

  • « Imagick::animateImages
  • Imagick::appendImages »
  • PHP Manual
  • Imagick
  • Görüntüye bir metin çizer

Imagick::annotateImage

(PECL imagick 2, PECL imagick 3)

Imagick::annotateImage — Görüntüye bir metin çizer

Açıklama

public Imagick::annotateImage(
ImagickDraw $çizim_ayarı,
float $x,
float $y,
float $açı,
string $metin
): bool

Görüntüye bir metin çizer.

Bağımsız Değişkenler

çizim_ayarı

Metni çizmekte kullanılacak ayarları içeren ImagickDraw nesnesi.

x

Metnin ilk harfinin taban çizgisi başlangıcının X konumu.

y

Metnin ilk harfinin taban çizgisi başlangıcının Y konumu.

açı

Metnin yazılacağı açı.

metin

Çizilecek dizge.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::annotateImage() örneği

Boş bir tuvale bir metin çizelim.

<?php
// Nesneleri oluştur
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

// Yeni görüntü
$image->newImage(800, 75, $pixel);

// Metin siyah olsun
$draw->setFillColor('black');

// Yazı tipi özelliklerini belirt
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

// Metni çiz
$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox jumps over the lazy dog');

// Resim biçemi
$image->setImageFormat('png');

// Resmi çıktıla
header('Content-Type: image/png');
echo $image;

?>

Ayrıca Bakınız

  • ImagickDraw::annotation() - Görüntünün üzerine bir metin çizer
  • ImagickDraw::setFont() - Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler


Bir görüntü kümesini ekler

  • « Imagick::annotateImage
  • Imagick::autoLevelImage »
  • PHP Manual
  • Imagick
  • Bir görüntü kümesini ekler

Imagick::appendImages

(PECL imagick 2, PECL imagick 3)

Imagick::appendImages — Bir görüntü kümesini ekler

Açıklama

public Imagick::appendImages(bool $yön = false): Imagick

Daha büyük bir görüntünün içine bir görüntü kümesi ekler.

Bağımsız Değişkenler

yön

Kümenin yönü. Öntanımlı yön (veya false belirtilirse) soldan sağadır. true belirtilirse görüntüler yukarıdan aşağı yığılır.

Dönen Değerler

Başarı durumunda yeni bir Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::appendImages() örneği

<?php

/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* kırmızı, yeşil ve mavi tuvaller oluştur */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Bunları birbirlerine ekle */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Elde edilen resmi çıktıla */
$combined->setImageFormat("png");
header("Content-Type: image/png");
echo $combined;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Çıktı örneği: Imagick::appendImages()


Adjusts the levels of a particular image channel

  • « Imagick::appendImages
  • Imagick::averageImages »
  • PHP Manual
  • Imagick
  • Adjusts the levels of a particular image channel

Imagick::autoLevelImage

(PECL imagick 3 >= 3.3.0)

Imagick::autoLevelImage — Adjusts the levels of a particular image channel

Açıklama

public Imagick::autoLevelImage(int $channel = Imagick::CHANNEL_DEFAULT): bool

Adjusts the levels of a particular image channel by scaling the minimum and maximum values to the full quantum range.

Bağımsız Değişkenler

channel

Which channel should the auto-levelling should be done on.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::autoLevelImage()

<?php
function autoLevelImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->autoLevelImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntü kümesinin ortalamasını alır

  • « Imagick::autoLevelImage
  • Imagick::blackThresholdImage »
  • PHP Manual
  • Imagick
  • Bir görüntü kümesinin ortalamasını alır

Imagick::averageImages

(PECL imagick 2, PECL imagick 3)

Imagick::averageImages — Bir görüntü kümesinin ortalamasını alır

Açıklama

public Imagick::averageImages(): Imagick
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir görüntü kümesinin ortalamasını alır.

Dönen Değerler

Başarı durumunda yeni bir Imagick nesnesi döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Eşiğin altında kalan tüm renkleri siyaha çevirir

  • « Imagick::averageImages
  • Imagick::blueShiftImage »
  • PHP Manual
  • Imagick
  • Eşiğin altında kalan tüm renkleri siyaha çevirir

Imagick::blackThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::blackThresholdImage — Eşiğin altında kalan tüm renkleri siyaha çevirir

Açıklama

public Imagick::blackThresholdImage(mixed $threshold): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Eşiğin altında kalan tüm renkleri siyaha çevirmesi üstündekilere dokunmaması dışında Imagick::thresholdImage() gibidir.

Bağımsız Değişkenler

eşik

Bu eşiğin altındaki herşey siyah olur.

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::blackThresholdImage()

<?php
function blackThresholdImage($imagePath, $thresholdColor) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->blackthresholdimage($thresholdColor);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Mutes the colors of the image

  • « Imagick::blackThresholdImage
  • Imagick::blurImage »
  • PHP Manual
  • Imagick
  • Mutes the colors of the image

Imagick::blueShiftImage

(PECL imagick 3 >= 3.3.0)

Imagick::blueShiftImage — Mutes the colors of the image

Açıklama

public Imagick::blueShiftImage(float $factor = 1.5): bool

Mutes the colors of the image to simulate a scene at nighttime in the moonlight.

Bağımsız Değişkenler

factor

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::blueShiftImage()

<?php
function blueShiftImage($imagePath, $blueShift) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->blueShiftImage($blueShift);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüye bir bulanıklık süzgeci ekler

  • « Imagick::blueShiftImage
  • Imagick::borderImage »
  • PHP Manual
  • Imagick
  • Görüntüye bir bulanıklık süzgeci ekler

Imagick::blurImage

(PECL imagick 2, PECL imagick 3)

Imagick::blurImage — Görüntüye bir bulanıklık süzgeci ekler

Açıklama

public Imagick::blurImage(float $yarıçap, float $sapma, int $kanal = ?): bool

Görüntüye bir bulanıklık süzgeci ekler. İsteğe bağlı üçüncü bağımsız değişkende süzgecin ekleneceği kanal belirtilir.

Bağımsız Değişkenler

yarıçap

Bulanıklık yarıçapı.

sapma

Standart sapma.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_ALL öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::blurImage() örneği

Görüntüyü bulanıklaştırıp tarayıcıda gösterelim.

<?php

header('Content-Type: image/jpeg');

$image = new Imagick('test.jpg');

$image->blurImage(5,3);
echo $image;

?>

Ayrıca Bakınız

  • Imagick::adaptiveBlurImage() - Görüntüyü uyarlamalı olarak bulanıklaştırır
  • Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
  • Imagick::radialBlurImage() - Görüntüye dairesel bulanıklık uygular


Görüntüye bir çerçeve çizer

  • « Imagick::blurImage
  • Imagick::brightnessContrastImage »
  • PHP Manual
  • Imagick
  • Görüntüye bir çerçeve çizer

Imagick::borderImage

(PECL imagick 2, PECL imagick 3)

Imagick::borderImage — Görüntüye bir çerçeve çizer

Açıklama

public Imagick::borderImage(mixed $çerçeve_rengi, int $genişlik, int $yükseklik): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntüye çerçeve_rengi ile belirtilen renkte bir çerçeve çizer.

Bağımsız Değişkenler

çerçeve_rengi

Çerçeve rengini içeren dizge veya ImagickPixel nesnesi.

genişlik

Çerçeve genişliği.

yükseklik

Çerçeve yüksekliği.

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::borderImage()

<?php
function borderImage($imagePath, $color, $width, $height) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->borderImage($color, $width, $height);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Change the brightness and/or contrast of an image

  • « Imagick::borderImage
  • Imagick::charcoalImage »
  • PHP Manual
  • Imagick
  • Change the brightness and/or contrast of an image

Imagick::brightnessContrastImage

(PECL imagick 3 >= 3.3.0)

Imagick::brightnessContrastImage — Change the brightness and/or contrast of an image

Açıklama

public Imagick::brightnessContrastImage(float $brightness, float $contrast, int $channel = Imagick::CHANNEL_DEFAULT): bool

Change the brightness and/or contrast of an image. It converts the brightness and contrast parameters into slope and intercept and calls a polynomical function to apply to the image.

Bağımsız Değişkenler

brightness

contrast

channel

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::brightnessContrastImage()

<?php
function brightnessContrastImage($imagePath, $brightness, $contrast, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->brightnessContrastImage($brightness, $contrast, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Kara kalem çizimi taklit eder

  • « Imagick::brightnessContrastImage
  • Imagick::chopImage »
  • PHP Manual
  • Imagick
  • Kara kalem çizimi taklit eder

Imagick::charcoalImage

(PECL imagick 2, PECL imagick 3)

Imagick::charcoalImage — Kara kalem çizimi taklit eder

Açıklama

public Imagick::charcoalImage(float $yarıçap, float $sapma): bool

Kara kalem çizimi taklit eder.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır.

sapma

Piksel cinsinden standart sapma.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::charcoalImage()

<?php
function charcoalImage($imagePath, $radius, $sigma) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->charcoalImage($radius, $sigma);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntünün bir bölgesini silerek kırpar

  • « Imagick::charcoalImage
  • Imagick::clampImage »
  • PHP Manual
  • Imagick
  • Bir görüntünün bir bölgesini silerek kırpar

Imagick::chopImage

(PECL imagick 2, PECL imagick 3)

Imagick::chopImage — Bir görüntünün bir bölgesini silerek kırpar

Açıklama

public Imagick::chopImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Bir görüntünün bir bölgesini silerek kırpar.

Bağımsız Değişkenler

genişlik

Görüntünün kırpıldıktan sonraki genişliği.

yükseklik

Görüntünün kırpıldıktan sonraki yüksekliği.

x

Görüntünün kırpıldıktan sonraki genişlik başlangıcı.

y

Görüntünün kırpıldıktan sonraki yükseklik başlangıcı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::chopImage() örneği

<?php
/* İki nesne oluşturalım */
$image = new Imagick();
$pixel = new ImagickPixel( 'gray' );

/* Yeni resim */
$image->newImage(400, 200, $pixel);

/* Kırpık resim */
$image->chopImage(200, 200, 0, 0);

/* Resim biçemi */
$image->setImageFormat('png');

/* Resmi çıktılayalım */
header('Content-Type: image/png');
echo $image;

?>

Ayrıca Bakınız

  • Imagick::cropImage() - Görüntünün bir bölgesini çıkarır


Restricts the color range from 0 to the quantum depth.

  • « Imagick::chopImage
  • Imagick::clear »
  • PHP Manual
  • Imagick
  • Restricts the color range from 0 to the quantum depth.

Imagick::clampImage

(PECL imagick 3 >= 3.3.0)

Imagick::clampImage — Restricts the color range from 0 to the quantum depth.

Açıklama

public Imagick::clampImage(int $channel = Imagick::CHANNEL_DEFAULT): bool

Restricts the color range from 0 to the quantum depth.

Bağımsız Değişkenler

channel

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Imagick nesnesi ile ilgili tüm özkaynakları temizler

  • « Imagick::clampImage
  • Imagick::clipImage »
  • PHP Manual
  • Imagick
  • Imagick nesnesi ile ilgili tüm özkaynakları temizler

Imagick::clear

(PECL imagick 2, PECL imagick 3)

Imagick::clear — Imagick nesnesi ile ilgili tüm özkaynakları temizler

Açıklama

public Imagick::clear(): bool

Imagick nesnesi ile ilgili tüm özkaynakları temizler.

Dönen Değerler

Başarı durumunda true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


8BIM profilindeki ilk yol boyunca görüntüyü kırpar

  • « Imagick::clear
  • Imagick::clipImagePath »
  • PHP Manual
  • Imagick
  • 8BIM profilindeki ilk yol boyunca görüntüyü kırpar

Imagick::clipImage

(PECL imagick 2, PECL imagick 3)

Imagick::clipImage — 8BIM profilindeki ilk yol boyunca görüntüyü kırpar

Açıklama

Imagick::clipImage(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Varsa, 8BIM profilindeki ilk yol boyunca görüntüyü kırpar.

Dönen Değerler

Başarı durumunda true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Clips along the named paths from the 8BIM profile, if present

  • « Imagick::clipImage
  • Imagick::clipPathImage »
  • PHP Manual
  • Imagick
  • Clips along the named paths from the 8BIM profile, if present

Imagick::clipImagePath

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::clipImagePath — Clips along the named paths from the 8BIM profile, if present

Açıklama

public Imagick::clipImagePath(string $pathname, string $inside): void

Clips along the named paths from the 8BIM profile, if present. Later operations take effect inside the path. Id may be a number if preceded with #, to work on a numbered path, e.g., "#1" to use the first path.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

pathname

inside

Dönen Değerler


8BIM profili boyunca isimli yolları kırpar

  • « Imagick::clipImagePath
  • Imagick::clone »
  • PHP Manual
  • Imagick
  • 8BIM profili boyunca isimli yolları kırpar

Imagick::clipPathImage

(PECL imagick 2, PECL imagick 3)

Imagick::clipPathImage — 8BIM profili boyunca isimli yolları kırpar

Açıklama

public Imagick::clipPathImage(string $yol_adı, bool $içinde): bool

Varsa, 8BIM profili boyunca isimli yolları kırpar. Sonraki işlemler yolun içinde etkili olur. Bir # ile öncelenmişse numaralı bir yol üzerinde işlem yapılır; ilk yol için #1 gibi.

Bağımsız Değişkenler

yol_adı

Yolun ismi.

içinde

true ise sonraki işlemler yolun içinde etkili olur. false ise sonraki işlemler yolun dışında etkili olur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Imagick nesnesinin tam bir kopyasını yapar

  • « Imagick::clipPathImage
  • Imagick::clutImage »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin tam bir kopyasını yapar

Imagick::clone

(PECL imagick 2, PECL imagick 3)

Imagick::clone — Imagick nesnesinin tam bir kopyasını yapar

Açıklama

public Imagick::clone(): Imagick

Imagick nesnesinin tam bir kopyasını yapar.

Uyarı

clone sözcüğünün kullanımını teşvik için imagick 3.1.0 itibariyle bu işlevin kullanımı ÖNERİLMİYOR. keyword.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda yeni bir Imagick nesnesi döner. Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 3.1.0 | clone sözcüğünün kullanımını teşvik için bu yönetmin kullanımı artık önerilmiyor.

Örnekler

Örnek 1 - Farklı imagick sürümlerinde Imagick nesnesinin kopyalanması

<?php
// imagick 2.x ve 3.0 sürümlerinde Imagick nesnesinin kopyalanması:
$newImage = $image->clone();

// 3.1.0 ve sonrasında Imagick nesnesinin kopyalanması:
$newImage = clone $image;
?>


Görüntünün renklerini değiştirir

  • « Imagick::clone
  • Imagick::coalesceImages »
  • PHP Manual
  • Imagick
  • Görüntünün renklerini değiştirir

Imagick::clutImage

(PECL imagick 2, PECL imagick 3)

Imagick::clutImage — Görüntünün renklerini değiştirir

Açıklama

public Imagick::clutImage(Imagick $renk_tablosu, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntünün renklerini belirtilen renk tablosuna göre değiştirir. İsteğe bağlı ikinci bağımsız değişkende renklerin değiştirileceği kanal belirtilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

renk_tablosu

Renk tablosunu içeren Imagick nesnesi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Belirtilmezse sadece öntanımlı kanallar değiştirilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::clutImage() örneği

Renk tablosuna göre görüntünün renklerini değiştirelim.

<?php
$image = new Imagick('test.jpg');
$clut = new Imagick();
$clut->newImage(1, 1, new ImagickPixel('black'));
$image->clutImage($clut);
$image->writeImage('test_out.jpg');
?>

Ayrıca Bakınız

  • Imagick::adaptiveBlurImage() - Görüntüyü uyarlamalı olarak bulanıklaştırır
  • Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
  • Imagick::radialBlurImage() - Görüntüye dairesel bulanıklık uygular


Bir görüntü kümesini tek bir görüntü olarak birleştirir

  • « Imagick::clutImage
  • Imagick::colorFloodfillImage »
  • PHP Manual
  • Imagick
  • Bir görüntü kümesini tek bir görüntü olarak birleştirir

Imagick::coalesceImages

(PECL imagick 2, PECL imagick 3)

Imagick::coalesceImages — Bir görüntü kümesini tek bir görüntü olarak birleştirir

Açıklama

public Imagick::coalesceImages(): Imagick

Bir görüntü kümesini sayfa başlangıçlarını ve sıralama yöntemlerini hesaba katarak birleştirir. GIF, MIFF ve MNG canlandırma dizileri genellikle bir görüntü artalanı ile başlar ve sonraki her görüntüde boyut ve başlangıç değişiklik gösterir. Görüntü dizisindeki her görüntünün kendi boyutuyla sonraki görüntüyle birleştirilerek yer aldığı yeni bir Imagick nesnesi döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda yeni bir Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Hedefle eşleşen her pikselin rengini değiştirir

  • « Imagick::coalesceImages
  • Imagick::colorizeImage »
  • PHP Manual
  • Imagick
  • Hedefle eşleşen her pikselin rengini değiştirir

Imagick::colorFloodfillImage

(PECL imagick 2, PECL imagick 3)

Imagick::colorFloodfillImage — Hedefle eşleşen her pikselin rengini değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::colorFloodfillImage(
mixed $dolgu,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y
): bool

Hedefle eşleşen her pikselin ve yanındakinin rengini değiştirir.

Bağımsız Değişkenler

dolgu

Renk ifade eden bir dizge veya bir ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

çerçeve_rengi

Çerçeve rengini ifade eden bir dizge veya bir ImagickPixel nesnesi.

x

İşlemin başlatılacağı X konumu.

y

İşlemin başlatılacağı Y konumu.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
>PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.


Görüntünün her pikseline dolgu rengini karıştırır

  • « Imagick::colorFloodfillImage
  • Imagick::colorMatrixImage »
  • PHP Manual
  • Imagick
  • Görüntünün her pikseline dolgu rengini karıştırır

Imagick::colorizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::colorizeImage — Görüntünün her pikseline dolgu rengini karıştırır

Açıklama

public Imagick::colorizeImage(mixed $renk, bool $matlık = false): bool

Görüntünün her pikseline dolgu rengini karıştırır.

Bağımsız Değişkenler

renk

Renklendirme amacı ile kullanılacak renk dizgesi veya ImagickPixel nesnesi.

matlık

Matlık değerini içeren bir gerçek sayı veya ImagickPixel nesnesi. Tam matlık için 1.0; tam şeffaflık için 0.0 kullanın.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::colorizeImage()

<?php
function colorizeImage($imagePath, $color, $opacity) {
$imagick = new \Imagick(realpath($imagePath));
$opacity = $opacity / 255.0;
$opacityColor = new \ImagickPixel("rgba(0, 0, 0, $opacity)");
$imagick->colorizeImage($color, $opacityColor);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Apply color transformation to an image

  • « Imagick::colorizeImage
  • Imagick::combineImages »
  • PHP Manual
  • Imagick
  • Apply color transformation to an image

Imagick::colorMatrixImage

(PECL imagick 3 >= 3.3.0)

Imagick::colorMatrixImage — Apply color transformation to an image

Açıklama

public Imagick::colorMatrixImage(array $color_matrix = Imagick::CHANNEL_DEFAULT): bool

Apply color transformation to an image. The method permits saturation changes, hue rotation, luminance to alpha, and various other effects. Although variable-sized transformation matrices can be used, typically one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA with offsets). The matrix is similar to those used by Adobe Flash except offsets are in column 6 rather than 5 (in support of CMYKA images) and offsets are normalized (divide Flash offset by 255)

Bağımsız Değişkenler

color_matrix

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::colorMatrixImage()

<?php
function colorMatrixImage($imagePath, $colorMatrix) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageOpacity(1);

//A color matrix should look like:
// $colorMatrix = [
// 1.5, 0.0, 0.0, 0.0, 0.0, -0.157,
// 0.0, 1.0, 0.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 1.5, 0.0, 0.0, -0.157,
// 0.0, 0.0, 0.0, 1.0, 0.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 1.0, 0.0,
// 0.0, 0.0, 0.0, 0.0, 0.0, 1.0
// ];

$background = new \Imagick();
$background->newPseudoImage($imagick->getImageWidth(), $imagick->getImageHeight(), "pattern:checkerboard");

$background->setImageFormat('png');

$imagick->setImageFormat('png');
$imagick->colorMatrixImage($colorMatrix);

$background->compositeImage($imagick, \Imagick::COMPOSITE_ATOP, 0, 0);

header("Content-Type: image/png");
echo $background->getImageBlob();
}

?>


Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir

  • « Imagick::colorMatrixImage
  • Imagick::commentImage »
  • PHP Manual
  • Imagick
  • Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir

Imagick::combineImages

(PECL imagick 2, PECL imagick 3)

Imagick::combineImages — Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir

Açıklama

public Imagick::combineImages(int $kanal): Imagick

Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir. Her görüntünün gri tonlama değerleri birleşik görüntünün kanal sırasına göre atanır. Normalde sıralama şöyledir: 1 => Red, 2 => Green, 3 => Blue, vb.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüye bir açıklama ekler

  • « Imagick::combineImages
  • Imagick::compareImageChannels »
  • PHP Manual
  • Imagick
  • Görüntüye bir açıklama ekler

Imagick::commentImage

(PECL imagick 2, PECL imagick 3)

Imagick::commentImage — Görüntüye bir açıklama ekler

Açıklama

public Imagick::commentImage(string $açıklama): bool

Görüntüye bir açıklama ekler.

Bağımsız Değişkenler

açıklama

Eklenecek açıklama dizgesi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::commentImage() kullanımı

Görüntüye açıklama ekleyip açıklamayı okumak:

<?php

/* Yeni bir Imagick nesnesi oluşturalım */
$im = new imagick();

/* Boş bir görüntü oluşturalım */
$im->newImage(100, 100, new ImagickPixel("red"));

/* Görüntüye bir açıklama ekleyelim */
$im->commentImage("Hello World!");

/* Açıklamayı gösterelim */
echo $im->getImageProperty("comment");

?>


Bir veya daha fazla görüntünün farkını döndürür

  • « Imagick::commentImage
  • Imagick::compareImageLayers »
  • PHP Manual
  • Imagick
  • Bir veya daha fazla görüntünün farkını döndürür

Imagick::compareImageChannels

(PECL imagick 2, PECL imagick 3)

Imagick::compareImageChannels — Bir veya daha fazla görüntünün farkını döndürür

Açıklama

public Imagick::compareImageChannels(Imagick $görüntü, int $kanal, int $metrik): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir veya daha fazla görüntüyü karşılaştırıp farkını döndürür.

Bağımsız Değişkenler

görüntü

Karşılaştırılacak görüntüyü içeren Imagick nesnesi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

metrik

Metrik türü sabitlerinden biri.

Dönen Değerler

Yeniden oluşturulan görüntüyü ve görüntüler arasındaki farkı içeren bir dizi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür

  • « Imagick::compareImageChannels
  • Imagick::compareImages »
  • PHP Manual
  • Imagick
  • Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür

Imagick::compareImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::compareImageLayers — Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür

Açıklama

public Imagick::compareImageLayers(int $yöntem): Imagick

Her görüntüyü bir sonraki ile karşılaştırıp keşfettiği farklı pikselleri sarmalayan en büyük boyuttaki görüntüyü döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

yöntem

Katman yöntemi sabitlerinden biri.

Dönen Değerler

Yeni bir Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::compareImageLayers() örneği

Görüntü katmanlarını karşılaştırır

<?php
/* Yeni bir imagick nesnesi oluşturalım */
$im = new Imagick("test.gif");

/* Görüntü katmanlarını en iyileyelim */
$result = $im->compareImageLayers(imagick::LAYERMETHOD_COALESCE);

/* $result ile biraz çalışalım */
?>

Ayrıca Bakınız

  • Imagick::optimizeImageLayers() - En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler
  • Imagick::writeImages() - Bir görüntüyü veya görüntü kümesini dosyaya yazar
  • Imagick::writeImage() - Görüntüyü belirtilen dosyaya yazar


Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır

  • « Imagick::compareImageLayers
  • Imagick::compositeImage »
  • PHP Manual
  • Imagick
  • Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır

Imagick::compareImages

(PECL imagick 2, PECL imagick 3)

Imagick::compareImages — Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır

Açıklama

public Imagick::compareImages(Imagick $görüntü, int $metrik): array

Yeniden oluşturulan görüntüyü ve görüntüler arasındaki farkı içeren bir dizi döner.

Bağımsız Değişkenler

görüntü

Karşılaştırılacak görüntü.

metrik

Geçerli metrik sabitlerinden biri.

Dönen Değerler

Yeniden oluşturulan görüntüyü ve görüntüler arasındaki farkı içeren bir dizi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::compareImages() örneği

Görüntüleri karşılaştırır ve yeniden oluşturulan görüntüyü gösterir.

<?php

$image1 = new imagick("image1.png");
$image2 = new imagick("image2.png");

$result = $image1->compareImages($image2, Imagick::METRIC_MEANSQUAREERROR);
$result[0]->setImageFormat("png");

header("Content-Type: image/png");
echo $result[0];

?>


Bir görüntüyü diğeriyle birleştirir

  • « Imagick::compareImages
  • Imagick::__construct »
  • PHP Manual
  • Imagick
  • Bir görüntüyü diğeriyle birleştirir

Imagick::compositeImage

(PECL imagick 2, PECL imagick 3)

Imagick::compositeImage — Bir görüntüyü diğeriyle birleştirir

Açıklama

public Imagick::compositeImage(
Imagick $birleşik_nesne,
int $işleç,
int $x,
int $y,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Belirtilen konumda görüntüyü bir başka resimle birleştirir. setImageArtifact'a, birleştirme algoritması için gereken ek bağımsız değişkenlerden 'compose: args' ilk bağımsız değişken olarak, veriler ikinci bağımsız değişken olarak aktarılmalıdır.

Bağımsız Değişkenler

birleşik_nesne

Birleşik görüntünün saklanacağı Imagick nesnesi.

işleç

Birleştirme işleci sabitlerinden biri.

x

Birleşik görüntünün genişlik başlangıcı.

y

Birleşik görüntünün yükseklik başlangıcı.

kanal

Normalde kanal türü sabitlerinden biri belirtilebilir, ancak bitsel işleçler kullanılarak birden fazla kanal da belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::compositeImage() kullanımı:

'mathematics' birleştirme yöntemi ile iki görüntüyü birleştirmek

<?php

// convert src1.png src2.png -compose mathematics -define
// komutunu çalıştırmaya eşdeğerdir
compose:args="1,0,-0.5,0.5" -composite output.png

$src1 = new \Imagick("./src1.png");
$src2 = new \Imagick("./src2.png");

$src1->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src1->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);
$src1->writeImage("./output.png");

?>

Ayrıca Bakınız

  • Imagick::setImageArtifact() - Set image artifact


Imagick kurucusu

  • « Imagick::compositeImage
  • Imagick::contrastImage »
  • PHP Manual
  • Imagick
  • Imagick kurucusu

Imagick::__construct

(PECL imagick 2, PECL imagick 3)

Imagick::__construct — Imagick kurucusu

Açıklama

public Imagick::__construct(mixed $dosyalar = ?)

Belirtilen görüntü veya görüntü kümesi için bir Imagick örneği oluşturur.

Bağımsız Değişkenler

dosyalar

Görüntünün yükleneceği yol dizgesi veya yolları içeren dizi. Yollar dosya isimleri için joker karakterler içerebilecği gibi URL'ler de belirtilebilir.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün zıtlığını değiştirir

  • « Imagick::__construct
  • Imagick::contrastStretchImage »
  • PHP Manual
  • Imagick
  • Görüntünün zıtlığını değiştirir

Imagick::contrastImage

(PECL imagick 2, PECL imagick 3)

Imagick::contrastImage — Görüntünün zıtlığını değiştirir

Açıklama

public Imagick::contrastImage(bool $zıtlık): bool

Görüntünün en koyu ve en açık pikselleri arasındaki yoğunluk farklarını ayarlar. netlik bağımsız değişkeninde sıfırdan farklı bir değer belirtilmesi zıtlığı arttırırken, tersi azaltır.

Bağımsız Değişkenler

zıklık

Zıtlık değeri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::contrastImage() örneği

<?php
function contrastImage($imagePath, $contrastType) {
$imagick = new \Imagick(realpath($imagePath));
if ($contrastType != 2) {
$imagick->contrastImage($contrastType);
}

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Renkli bir görüntünün zıtlığını ayarlar

  • « Imagick::contrastImage
  • Imagick::convolveImage »
  • PHP Manual
  • Imagick
  • Renkli bir görüntünün zıtlığını ayarlar

Imagick::contrastStretchImage

(PECL imagick 2, PECL imagick 3)

Imagick::contrastStretchImage — Renkli bir görüntünün zıtlığını ayarlar

Açıklama

public Imagick::contrastStretchImage(float $siyah_nokta, float $beyaz_nokta, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Kullanılabilir renk aralığının tamamına yaymak için pikselleri ayarlayarak renkli görüntünün zıtlığını arttırır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

siyah_nokta

Görüntünün en koyu noktası.

beyaz_nokta

Görüntünün en açık noktası.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.


Görüntüye bir evrişim çekirdeği uygular

  • « Imagick::contrastStretchImage
  • Imagick::count »
  • PHP Manual
  • Imagick
  • Görüntüye bir evrişim çekirdeği uygular

Imagick::convolveImage

(PECL imagick 2, PECL imagick 3)

Imagick::convolveImage — Görüntüye bir evrişim çekirdeği uygular

Açıklama

public Imagick::convolveImage(array $çekirdek, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüye, özel bir evrişim çekirdeği uygular.

Bağımsız Değişkenler

çekirdek

Evrişim çekirdeği.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::convolveImage() örneği

<?php
function convolveImage($imagePath, $bias, $kernelMatrix) {
$imagick = new \Imagick(realpath($imagePath));
//$edgeFindingKernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1,];
$imagick->setImageBias($bias * \Imagick::getQuantum());
$imagick->convolveImage($kernelMatrix);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Get the number of images

  • « Imagick::convolveImage
  • Imagick::cropImage »
  • PHP Manual
  • Imagick
  • Get the number of images

Imagick::count

(PECL imagick 3 >= 3.3.0)

Imagick::count — Get the number of images

Açıklama

public Imagick::count(int $mode = 0): int

Returns the number of images.

Bağımsız Değişkenler

mode

An unused argument. Currently there is a non-particularly well defined feature in PHP where calling count() on a countable object might (or might not) require this method to accept a parameter. This parameter is here to be conformant with the interface of countable, even though the param is not used.

Dönen Değerler

Returns the number of images.


Görüntünün bir bölgesini çıkarır

  • « Imagick::count
  • Imagick::cropThumbnailImage »
  • PHP Manual
  • Imagick
  • Görüntünün bir bölgesini çıkarır

Imagick::cropImage

(PECL imagick 2, PECL imagick 3)

Imagick::cropImage — Görüntünün bir bölgesini çıkarır

Açıklama

public Imagick::cropImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Görüntünün bir bölgesini çıkarır.

Bağımsız Değişkenler

genişlik

Kırpma genişliği.

yükseklik

Kırpma yüksekliği.

x

Kırpılacak bölgenin sol üst köşesinin X koordinatı.

y

Kırpılacak bölgenin sol üst köşesinin Y koordinatı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün kırpık bir örneğini oluşturur

  • « Imagick::cropImage
  • Imagick::current »
  • PHP Manual
  • Imagick
  • Görüntünün kırpık bir örneğini oluşturur

Imagick::cropThumbnailImage

(PECL imagick 2, PECL imagick 3)

Imagick::cropThumbnailImage — Görüntünün kırpık bir örneğini oluşturur

Açıklama

public Imagick::cropThumbnailImage(int $genişlik, int $yükseklik, bool $eski = false): bool

Görüntüyü enboy oranının koruyarak küçülttükten/büyüttükten sonra merkezi bölgenin çevresini kırparak istenen boyuta getirir.

Bağımsız Değişkenler

genişlik

Kırpık örneğin genişliği.

yükseklik

Kırpık örneğin yüksekliği.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Geçerli Imagick nesnesini döndürür

  • « Imagick::cropThumbnailImage
  • Imagick::cycleColormapImage »
  • PHP Manual
  • Imagick
  • Geçerli Imagick nesnesini döndürür

Imagick::current

(PECL imagick 2, PECL imagick 3)

Imagick::current — Geçerli Imagick nesnesini döndürür

Açıklama

public Imagick::current(): Imagick

Geçerli Imagick nesnesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda nesnenin kendisi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir görüntünün renk eşleminin bir kısmını değiştirir

  • « Imagick::current
  • Imagick::decipherImage »
  • PHP Manual
  • Imagick
  • Bir görüntünün renk eşleminin bir kısmını değiştirir

Imagick::cycleColormapImage

(PECL imagick 2, PECL imagick 3)

Imagick::cycleColormapImage — Bir görüntünün renk eşleminin bir kısmını değiştirir

Açıklama

public Imagick::cycleColormapImage(int $miktar): bool

Bir görüntünün renk eşleminden belirtilen sayıda rengi değiştirir. Bu işlemi defalarca tekrarlamak suretiyle rengarenk bir görüntü üretebilirsiniz.

Bağımsız Değişkenler

miktar

Renk eşleminde değiştirilecek renk sayısı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Şifreli bir görüntünün şifresini çözer

  • « Imagick::cycleColormapImage
  • Imagick::deconstructImages »
  • PHP Manual
  • Imagick
  • Şifreli bir görüntünün şifresini çözer

Imagick::decipherImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::decipherImage — Şifreli bir görüntünün şifresini çözer

Açıklama

public Imagick::decipherImage(string $parola): bool

Evvelce Imagick::encipherImage() ile şifrelenmiş bir görüntünün şifresini çözer. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

parola

Parola.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::encipherImage() - Bir görüntüyü şifreler


Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür

  • « Imagick::decipherImage
  • Imagick::deleteImageArtifact »
  • PHP Manual
  • Imagick
  • Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür

Imagick::deconstructImages

(PECL imagick 2, PECL imagick 3)

Imagick::deconstructImages — Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür

Açıklama

public Imagick::deconstructImages(): Imagick

Her görüntüyü bir sonraki ile karşılaştırıp keşfettiği farklı pikselleri sarmalayan en büyük boyutu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda yeni bir Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Delete image artifact

  • « Imagick::deconstructImages
  • Imagick::deleteImageProperty »
  • PHP Manual
  • Imagick
  • Delete image artifact

Imagick::deleteImageArtifact

(PECL imagick 3)

Imagick::deleteImageArtifact — Delete image artifact

Açıklama

public Imagick::deleteImageArtifact(string $artifact): bool

Deletes an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

artifact

The name of the artifact to delete

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Ayrıca Bakınız

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::getImageArtifact() - Get image artifact


Deletes an image property

  • « Imagick::deleteImageArtifact
  • Imagick::deskewImage »
  • PHP Manual
  • Imagick
  • Deletes an image property

Imagick::deleteImageProperty

(PECL imagick 3 >= 3.3.0)

Imagick::deleteImageProperty — Deletes an image property

Açıklama

public Imagick::deleteImageProperty(string $name): bool

Deletes an image property.

Bağımsız Değişkenler

name

The name of the property to delete.

Dönen Değerler

Başarı durumunda true döner.


Removes skew from the image

  • « Imagick::deleteImageProperty
  • Imagick::despeckleImage »
  • PHP Manual
  • Imagick
  • Removes skew from the image

Imagick::deskewImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.3.0)

Imagick::deskewImage — Removes skew from the image

Açıklama

public Imagick::deskewImage(float $threshold): bool

This method can be used to remove skew from for example scanned images where the paper was not properly placed on the scanning surface. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

threshold

Deskew threshold

Dönen Değerler

Örnekler

Örnek 1 Imagick::deskewImage()

<?php
function deskewImage($threshold) {
$imagick = new \Imagick(realpath("images/NYTimes-Page1-11-11-1918.jpg"));
$deskewImagick = clone $imagick;

//This is the only thing required for deskewing.
$deskewImagick->deskewImage($threshold);

//The rest of this example is to make the result obvious - because
//otherwise the result is not obvious.
$trim = 9;

$deskewImagick->cropImage($deskewImagick->getImageWidth() - $trim, $deskewImagick->getImageHeight(), $trim, 0);
$imagick->cropImage($imagick->getImageWidth() - $trim, $imagick->getImageHeight(), $trim, 0);
$deskewImagick->resizeimage($deskewImagick->getImageWidth() / 2, $deskewImagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
$imagick->resizeimage($imagick->getImageWidth() / 2, $imagick->getImageHeight() / 2, \Imagick::FILTER_LANCZOS, 1);
$newCanvas = new \Imagick();
$newCanvas->newimage($imagick->getImageWidth() + $deskewImagick->getImageWidth() + 20, $imagick->getImageHeight(), 'red', 'jpg');
$newCanvas->compositeimage($imagick, \Imagick::COMPOSITE_COPY, 5, 0);
$newCanvas->compositeimage($deskewImagick, \Imagick::COMPOSITE_COPY, $imagick->getImageWidth() + 10, 0);

header("Content-Type: image/jpg");
echo $newCanvas->getImageBlob();
}

?>


Görüntünün benekli görünümünü düzeltir

  • « Imagick::deskewImage
  • Imagick::destroy »
  • PHP Manual
  • Imagick
  • Görüntünün benekli görünümünü düzeltir

Imagick::despeckleImage

(PECL imagick 2, PECL imagick 3)

Imagick::despeckleImage — Görüntünün benekli görünümünü düzeltir

Açıklama

public Imagick::despeckleImage(): bool

Özgün görüntünün kenarlarını koruyarak benekli görünümünü düzeltir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::despeckleImage() örneği

<?php
function despeckleImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->despeckleImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Imagick nesnesini siler

  • « Imagick::despeckleImage
  • Imagick::displayImage »
  • PHP Manual
  • Imagick
  • Imagick nesnesini siler

Imagick::destroy

(PECL imagick 2, PECL imagick 3)

Imagick::destroy — Imagick nesnesini siler

Açıklama

public Imagick::destroy(): bool

Bu yöntem Imagick nesnesinin yıkıcısı olup nesneyle ilişkili tüm özkaynakları serbest bırakıp nesneyi siler. Eşdeğeri olan Imagick::clear yöntemi varken bu yöntemin kullanımı önerilmiyor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Bir görüntüyü gösterir

  • « Imagick::destroy
  • Imagick::displayImages »
  • PHP Manual
  • Imagick
  • Bir görüntüyü gösterir

Imagick::displayImage

(PECL imagick 2, PECL imagick 3)

Imagick::displayImage — Bir görüntüyü gösterir

Açıklama

public Imagick::displayImage(string $sunucu): bool

Görüntüyü belirtilen X pencere sunucusunda gösterir

Bağımsız Değişkenler

sunucu

X sunucusunun ismi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir görüntü dizisini gösterir

  • « Imagick::displayImage
  • Imagick::distortImage »
  • PHP Manual
  • Imagick
  • Bir görüntü dizisini gösterir

Imagick::displayImages

(PECL imagick 2, PECL imagick 3)

Imagick::displayImages — Bir görüntü dizisini gösterir

Açıklama

public Imagick::displayImages(string $sunucu): bool

Görüntüleri belirtilen X pencere sunucusunda gösterir.

Bağımsız Değişkenler

sunucu

X sunucusunun ismi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Çeşitli yöntemlerle görüntüyü bozunuma uğratır

  • « Imagick::displayImages
  • Imagick::drawImage »
  • PHP Manual
  • Imagick
  • Çeşitli yöntemlerle görüntüyü bozunuma uğratır

Imagick::distortImage

(PECL imagick 2 >= 2.0.1, PECL imagick 3)

Imagick::distortImage — Çeşitli yöntemlerle görüntüyü bozunuma uğratır

Açıklama

public Imagick::distortImage(int $yöntem, array $bağımsız_değişkenler, bool $sığdır): bool

sığdır bağımsız değişkeninde true belirtilmedikçe eski ve yeni görüntüler arasında boyut farkı olmaksızın çeşitli yöntemlerle görüntüyü bozunuma uğratır.

sığdır bağımsız değişkeninde true belirtildiği takdirde bozunuma uğratılan görüntü başlangıcı, genişlik ve yüksekliği ayarlanarak yeni görüntüye sığdırılmaya çalışılır. Ayrıca, çoğu durumda, kaynak görüntünün sanal başlangıcı eşleme sırasında hesaba katılır.

Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

yöntem

Bozunum yöntemi sabitlerinden biri.

bağımsız_değişkenler

Bozunum yönteminin bağımsız değişkenleri.

sığdır

true belirtildiği takdirde kaynağın bozunmuş hali yeni görüntüye sığdırmaya çalışılır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::distortImage() örneği

Görüntüyü bozunuma uğratıp tarayıcıda görüntüler.

<?php
/* Yeni nesneyi oluşturalım */
$im = new Imagick();

/* Yeni checkerboard örüntüsünü oluşturalım */
$im->newPseudoImage(100, 100, "pattern:checkerboard");

/* Görüntü biçemi PNG olsun */
$im->setImageFormat('png');

/* Yeni görünür alanları şeffaf yapalım */
$im->setImageVirtualPixelMethod(Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);

/* Matlığı etkin kılalım */
$im->setImageMatte(true);

/* Bozunuma uğratılacak noktalar */
$controlPoints = array( 10, 10,
10, 5,

10, $im->getImageHeight() - 20,
10, $im->getImageHeight() - 5,

$im->getImageWidth() - 10, 10,
$im->getImageWidth() - 10, 20,

$im->getImageWidth() - 10, $im->getImageHeight() - 10,
$im->getImageWidth() - 10, $im->getImageHeight() - 30);

/* Görüntüyü bozunuma uğratalım */
$im->distortImage(Imagick::DISTORTION_PERSPECTIVE, $controlPoints, true);

/* Görüntüyü çıktılayalım */
header("Content-Type: image/png");
echo $im;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Imagick::distortImage() kullanımı

Ayrıca Bakınız

  • Imagick::blurImage() - Görüntüye bir bulanıklık süzgeci ekler
  • Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
  • Imagick::radialBlurImage() - Görüntüye dairesel bulanıklık uygular


Belirtilen ImagickDraw nesnesini görüntüye uygular

  • « Imagick::distortImage
  • Imagick::edgeImage »
  • PHP Manual
  • Imagick
  • Belirtilen ImagickDraw nesnesini görüntüye uygular

Imagick::drawImage

(PECL imagick 2, PECL imagick 3)

Imagick::drawImage — Belirtilen ImagickDraw nesnesini görüntüye uygular

Açıklama

public Imagick::drawImage(ImagickDraw $işlem): bool

Belirtilen ImagickDraw nesnesini görüntüye uygular.

Bağımsız Değişkenler

işlem

Görüntüye uygulanacak çizim işlemi.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün kenarlarını yuvarlatır

  • « Imagick::drawImage
  • Imagick::embossImage »
  • PHP Manual
  • Imagick
  • Görüntünün kenarlarını yuvarlatır

Imagick::edgeImage

(PECL imagick 2, PECL imagick 3)

Imagick::edgeImage — Görüntünün kenarlarını yuvarlatır

Açıklama

public Imagick::edgeImage(float $yarıçap): bool

Belirtilen yarıçapa bir evrişim süzgeci uygulamak suretiyle görüntünün kenarlarını yuvarlatır. yarıçap olarak 0 verirseniz Imagick::edgeImage() size uygun bir yarıçap seçecektir.

Bağımsız Değişkenler

yarıçap

Yuvarlatma yarıçapı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::edgeImage() kullanımı

<?php
function edgeImage($imagePath, $radius) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->edgeImage($radius);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür

  • « Imagick::edgeImage
  • Imagick::encipherImage »
  • PHP Manual
  • Imagick
  • Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür

Imagick::embossImage

(PECL imagick 2, PECL imagick 3)

Imagick::embossImage — Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür

Açıklama

public Imagick::embossImage(float $yarıçap, float $sapma): bool

Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile resim evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::embossImage() size uygun bir yarıçap seçecektir.

Bağımsız Değişkenler

yarıçap

Etkinin uygulanacağı yarıçap.

sapma

Piksel cinsinden standart sapma.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::embossImage() kullanımı

<?php
function embossImage($imagePath, $radius, $sigma) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->embossImage($radius, $sigma);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntüyü şifreler

  • « Imagick::embossImage
  • Imagick::enhanceImage »
  • PHP Manual
  • Imagick
  • Bir görüntüyü şifreler

Imagick::encipherImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::encipherImage — Bir görüntüyü şifreler

Açıklama

public Imagick::encipherImage(string $parola): bool

Düz pikselleri şifreli piksellere dönüştürür. Görüntünün şifresi Imagick::decipherImage() ile çözülene kadar okunabilir olmayacaktır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

parola

Parola.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::decipherImage() - Şifreli bir görüntünün şifresini çözer


Görüntü kalitesini arttırır

  • « Imagick::encipherImage
  • Imagick::equalizeImage »
  • PHP Manual
  • Imagick
  • Görüntü kalitesini arttırır

Imagick::enhanceImage

(PECL imagick 2, PECL imagick 3)

Imagick::enhanceImage — Görüntü kalitesini arttırır

Açıklama

public Imagick::enhanceImage(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntünün kalitesini arttırmak için bir sayısal süzeç uygular.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::enhanceImage() kullanımı

<?php
function enhanceImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->enhanceImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün renk dağılımını dengeler

  • « Imagick::enhanceImage
  • Imagick::evaluateImage »
  • PHP Manual
  • Imagick
  • Görüntünün renk dağılımını dengeler

Imagick::equalizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::equalizeImage — Görüntünün renk dağılımını dengeler

Açıklama

public Imagick::equalizeImage(): bool

Görüntünün renk dağılımını dengeler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::equalizeImage()

<?php
function equalizeImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->equalizeImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüye bir ifade uygular

  • « Imagick::equalizeImage
  • Imagick::exportImagePixels »
  • PHP Manual
  • Imagick
  • Görüntüye bir ifade uygular

Imagick::evaluateImage

(PECL imagick 2, PECL imagick 3)

Imagick::evaluateImage — Görüntüye bir ifade uygular

Açıklama

public Imagick::evaluateImage(int $işleç, float $terim, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüye aritmetik, mantıksal ya da ilişkisel bir ifade uygular. Görüntüyü aydınlık veya karanlık yapmak için, görüntünün zıtlığını azaltıp arttırmak için veya görüntünün negatifini elde etmek için bu yöntemi kullanabilirsiniz.

Bağımsız Değişkenler

işleç

Değerlendirme işleci.

terim

İşlecin değeri.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::evaluateImage() kullanımı

Bir görüntünün matlığını azaltmak için evaluateImage kullanımı

<?php
// Görüntü için yeni bir nesne oluştur
$im = new Imagick('example-alpha.png');

// Alfayı %50 düşür
$im->evaluateImage(Imagick::EVALUATE_DIVIDE, 2, Imagick::CHANNEL_ALPHA);

// Görüntüyü çıktıla
header("Content-Type: image/png");
echo $im;
?>


Exports raw image pixels

  • « Imagick::evaluateImage
  • Imagick::extentImage »
  • PHP Manual
  • Imagick
  • Exports raw image pixels

Imagick::exportImagePixels

(PECL imagick 2 >=2.3.0, PECL imagick 3)

Imagick::exportImagePixels — Exports raw image pixels

Açıklama

public Imagick::exportImagePixels(
int $x,
int $y,
int $width,
int $height,
string $map,
int $STORAGE
): array

Exports image pixels into an array. The map defines the ordering of the exported pixels. The size of the returned array is width * height * strlen(map). Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

x

X-coordinate of the exported area

y

Y-coordinate of the exported area

width

Width of the exported aread

height

Height of the exported area

map

Ordering of the exported pixels. For example "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I and P.

STORAGE

Refer to this list of pixel type constants

Dönen Değerler

Returns an array containing the pixels values.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Using Imagick::exportImagePixels()

Export image pixels into an array

<?php

/* Create new object */
$im = new Imagick();

/* Create new image */
$im->newPseudoImage(0, 0, "magick:rose");

/* Export the image pixels */
$pixels = $im->exportImagePixels(10, 10, 2, 2, "RGB", Imagick::PIXEL_CHAR);

/* Output */
var_dump($pixels);
?>

Yukarıdaki örneğin çıktısı:

array(12) {
  [0]=>
  int(72)
  [1]=>
  int(64)
  [2]=>
  int(57)
  [3]=>
  int(69)
  [4]=>
  int(59)
  [5]=>
  int(43)
  [6]=>
  int(124)
  [7]=>
  int(120)
  [8]=>
  int(-96)
  [9]=>
  int(91)
  [10]=>
  int(84)
  [11]=>
  int(111)
}


Görüntü boyutlarını belirler

  • « Imagick::exportImagePixels
  • Imagick::filter »
  • PHP Manual
  • Imagick
  • Görüntü boyutlarını belirler

Imagick::extentImage

(PECL imagick 2, PECL imagick 3)

Imagick::extentImage — Görüntü boyutlarını belirler

Açıklama

public Imagick::extentImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Görüntü boyutlarını atamak için geriye uyumlu bir yöntemdir. Yöntem görüntünün boyutlarını belirlemekten başka görüntünün tuval üzerindeki başlangıç koordinatlarını da belirler. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.1 veya sonraki bir sürümü kuruluysa kullanılabilir.

Dikkat

ImageMagick 6.5.7-8'den (1623) önce, sola kayarken $x pozitif, sağa kaydırırken negatif, bir resmi yukarı kaydırırken $y pozitif ve aşağı kaydırırken negatifti.

ImageMagick 6.3.7 (1591) ve ImageMagick 6.5.7-8 (1623) arasında bir yerde, $x ve $y eksenleri ters çevrildi, böylece sola kayarken $x negatif, sağa kayarken pozitif, ve bir görüntüyü yukarı kaydırırken $y negatif ve bir görüntüyü aşağı kaydırırken pozitifti.

ImageMagick 6.5.7-8 (1623) ile ImageMagick 6.6.9-7 (1641) arasında bir yerde, $x ve $y eksenleri ImageMagick 6.5.7-8 (1623) öncesi işlevselliğine geri döndürüldü.

Bağımsız Değişkenler

genişlik

Görüntünün yeni genişliği.

yükseklik

Görüntünün yeni yüksekliği.

x

Görüntünün yeni X konumu.

y

Görüntünün yeni Y konumu.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::resizeImage() - Görüntüyü boyutlandırır
  • Imagick::thumbnailImage() - Görüntünün boyutlarını değiştirir
  • Imagick::cropImage() - Görüntünün bir bölgesini çıkarır


Applies a custom convolution kernel to the image

  • « Imagick::extentImage
  • Imagick::flattenImages »
  • PHP Manual
  • Imagick
  • Applies a custom convolution kernel to the image

Imagick::filter

(PECL imagick 3 >= 3.3.0)

Imagick::filter — Applies a custom convolution kernel to the image

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::filter(ImagickKernel $ImagickKernel, int $channel = Imagick::CHANNEL_UNDEFINED): bool

Applies a custom convolution kernel to the image.

Bağımsız Değişkenler

ImagickKernel

An instance of ImagickKernel that represents either a single kernel or a linked series of kernels.

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::filter()

<?php
function filter($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$matrix = [
[-1, 0, -1],
[0, 5, 0],
[-1, 0, -1],
];

$kernel = \ImagickKernel::fromMatrix($matrix);
$strength = 0.5;
$kernel->scale($strength, \Imagick::NORMALIZE_KERNEL_VALUE);
$kernel->addUnityKernel(1 - $strength);

$imagick->filter($kernel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir

  • « Imagick::filter
  • Imagick::flipImage »
  • PHP Manual
  • Imagick
  • Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir

Imagick::flattenImages

(PECL imagick 2, PECL imagick 3)

Imagick::flattenImages — Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::flattenImages(): Imagick

Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir. Photoshop katmanlarını tek bir görüntü elde edecek şekilde birleştirmek için faydalıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün düşeydeki yansımasını oluşturur

  • « Imagick::flattenImages
  • Imagick::floodFillPaintImage »
  • PHP Manual
  • Imagick
  • Görüntünün düşeydeki yansımasını oluşturur

Imagick::flipImage

(PECL imagick 2, PECL imagick 3)

Imagick::flipImage — Görüntünün düşeydeki yansımasını oluşturur

Açıklama

public Imagick::flipImage(): bool

Pikselleri X eksenine göre yansıtarak görüntünün düşeydeki yansımasını oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::flipImage() kullanımı

<?php
function flipImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->flipImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::flopimage() - Görüntünün yataydaki yansımasını oluşturur


Hedefle eşleşen piksellerin renklerini değiştirir

  • « Imagick::flipImage
  • Imagick::flopImage »
  • PHP Manual
  • Imagick
  • Hedefle eşleşen piksellerin renklerini değiştirir

Imagick::floodFillPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::floodFillPaintImage — Hedefle eşleşen piksellerin renklerini değiştirir

Açıklama

public Imagick::floodFillPaintImage(
mixed $dolgu,
float $benzerlik,
mixed $hedef,
int $x,
int $y,
bool $ters,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Hedefin ve yakın komşularının renk değerini değiştirir. Bu yöntem artık kullanımı önerilmeyen Imagick::paintFloodFillImage() işlevinin yerini almıştır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.8 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

dolgu

Dolgu rengini içeren bir dizge veya bir ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

hedef

Boyanacak hedef rengi içeren bir dizge veya bir ImagickPixel nesnesi.

x

Renk değişikliğinin başlatılacağı X konumu.

y

Renk değişikliğinin başlatılacağı Y konumu.

ters

true belirtilirse hedefle eşlemeyen renkler değiştirilir.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::floodfillPaintImage() örneği

<?php

/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* kırmızı, yeşil ve mavi tuvaller oluştur */
$im->newImage(100, 50, "red");
$im->newImage(100, 50, "green");
$im->newImage(100, 50, "blue");

/* Bunları birbirlerine ekle */
$im->resetIterator();
$combined = $im->appendImages(true);

/* Elde edilen görüntüyü karşılaştırmak için sakla */
$combined->writeImage("floodfillpaint_intermediate.png");

/* Boyanacak hedef piksel */
$x = 1;
$y = 1;

/* Boyanacak pikselin rengini öğren */
$target = $combined->getImagePixelColor($x, $y);

/* Hedef pikseli ve aynı renkteki komşu pikselleri siyaha boya */
$combined->floodfillPaintImage("black", 1, $target, $x, $y, false);

/* Sonucu kaydet */
$combined->writeImage("floodfillpaint_result.png");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek çıktısı: Imagick::floodfillPaintImage()
Örnek çıktısı: Imagick::floodfillPaintImage()


Görüntünün yataydaki yansımasını oluşturur

  • « Imagick::floodFillPaintImage
  • Imagick::forwardFourierTransformImage »
  • PHP Manual
  • Imagick
  • Görüntünün yataydaki yansımasını oluşturur

Imagick::flopImage

(PECL imagick 2, PECL imagick 3)

Imagick::flopImage — Görüntünün yataydaki yansımasını oluşturur

Açıklama

Imagick::flopImage(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Pikselleri Y eksenine göre yansıtarak görüntünün yataydaki yansımasını oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::flopImage()

<?php
function flopImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->flopImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::flipimage() - Görüntünün düşeydeki yansımasını oluşturur


Implements the discrete Fourier transform (DFT)

  • « Imagick::flopImage
  • Imagick::frameImage »
  • PHP Manual
  • Imagick
  • Implements the discrete Fourier transform (DFT)

Imagick::forwardFourierTransformImage

(PECL imagick 3 >= 3.3.0)

Imagick::forwardFourierTransformImage — Implements the discrete Fourier transform (DFT)

Açıklama

public Imagick::forwardFourierTransformimage(bool $magnitude): bool

Implements the discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Bağımsız Değişkenler

magnitude

If true, return as magnitude / phase pair otherwise a real / imaginary image pair.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::forwardFourierTransformImage()

<?php
//Utility function for forwardTransformImage
function createMask() {
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(0);
$draw->setStrokeColor('rgb(255, 255, 255)');
$draw->setFillColor('rgb(255, 255, 255)');

//Draw a circle on the y-axis, with it's centre
//at x, y that touches the origin
$draw->circle(250, 250, 220, 250);

$imagick = new \Imagick();
$imagick->newImage(512, 512, "black");
$imagick->drawImage($draw);
$imagick->gaussianBlurImage(20, 20);
$imagick->autoLevelImage();

return $imagick;
}

function forwardFourierTransformImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->resizeimage(512, 512, \Imagick::FILTER_LANCZOS, 1);

$mask = createMask();
$imagick->forwardFourierTransformImage(true);

@$imagick->setimageindex(0);
$magnitude = $imagick->getimage();

@$imagick->setimageindex(1);
$imagickPhase = $imagick->getimage();

if (true) {
$imagickPhase->compositeImage($mask, \Imagick::COMPOSITE_MULTIPLY, 0, 0);
}

if (false) {
$output = clone $imagickPhase;
$output->setimageformat('png');
header("Content-Type: image/png");
echo $output->getImageBlob();
}

$magnitude->inverseFourierTransformImage($imagickPhase, true);

$magnitude->setimageformat('png');
header("Content-Type: image/png");
echo $magnitude->getImageBlob();
}

?>


Üç boyutluluğu taklit ederek bir çerçeve ekler

  • « Imagick::forwardFourierTransformImage
  • Imagick::functionImage »
  • PHP Manual
  • Imagick
  • Üç boyutluluğu taklit ederek bir çerçeve ekler

Imagick::frameImage

(PECL imagick 2, PECL imagick 3)

Imagick::frameImage — Üç boyutluluğu taklit ederek bir çerçeve ekler

Açıklama

public Imagick::frameImage(
mixed $mat_renk,
int $genişlik,
int $yükseklik,
int $iç_pah,
int $dış_pah
): bool

Görüntünün çevresine üç boyutlu taklidi bir çerçeve ekler. genişlik ve yükseklik çerçevenin yatay ve düşey kenarlarının uzunluklarıdır. iç_pah ve dış_pah ise çerçevenin iç ve dış gölge genişlikleridir.

Bağımsız Değişkenler

mat_renk

Mat rengi ifade eden bir renk dizgesi veya bir ImagickPixel nesnesi.

genişlik

Çerçeve genişliği.

yükseklik

Çerçeve yüksekliği.

iç_pah

İç pah genişliği.

dış_pah

Dış pah genişliği.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::frameImage() kullanımı

<?php
function frameImage($imagePath, $color, $width, $height, $innerBevel, $outerBevel) {
$imagick = new \Imagick(realpath($imagePath));

$width = $width + $innerBevel + $outerBevel;
$height = $height + $innerBevel + $outerBevel;

$imagick->frameimage(
$color,
$width,
$height,
$innerBevel,
$outerBevel
);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Applies a function on the image

  • « Imagick::frameImage
  • Imagick::fxImage »
  • PHP Manual
  • Imagick
  • Applies a function on the image

Imagick::functionImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::functionImage — Applies a function on the image

Açıklama

public Imagick::functionImage(int $function, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT): bool

Applies an arithmetic, relational, or logical expression to a pseudo image.

See also » ImageMagick v6 Examples - Image Transformations — Function, Multi-Argument Evaluate

Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

function

Refer to this list of function constants

arguments

Array of arguments to pass to this function.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Create a sinusoidal gradient

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(3, -90);
$imagick->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

header("Content-Type: image/png");
$imagick->setImageFormat("png");
echo $imagick->getImageBlob();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Output of create a sinusoidal gradient

Örnek 2 Create a gradient from the polynomial (4x^2 - 4x + 1)

<?php
$imagick = new Imagick();
$imagick->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(4, -4, 1);
$imagick->functionImage(Imagick::FUNCTION_POLYNOMIAL, $arguments);

header("Content-Type: image/png");
$imagick->setimageformat("png");
echo $imagick->getImageBlob();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Output of create a polynomial gradient

Örnek 3 Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient

<?php
$imagick1 = new Imagick();
$imagick1->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(9, -90);
$imagick1->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);

$imagick2 = new Imagick();
$imagick2->newPseudoImage(200, 200, 'gradient:black-white');
$arguments = array(0.5, 0);
$imagick2->functionImage(Imagick::FUNCTION_SINUSOID, $arguments);
$imagick1->compositeimage($imagick2, Imagick::COMPOSITE_MULTIPLY, 0, 0);

header("Content-Type: image/png");
$imagick1->setImageFormat("png");
echo $imagick1->getImageBlob();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Output of create complex gradient


Bir ifadeyi görüntüdeki her piksele uygular

  • « Imagick::functionImage
  • Imagick::gammaImage »
  • PHP Manual
  • Imagick
  • Bir ifadeyi görüntüdeki her piksele uygular

Imagick::fxImage

(PECL imagick 2, PECL imagick 3)

Imagick::fxImage — Bir ifadeyi görüntüdeki her piksele uygular

Açıklama

public Imagick::fxImage(string $ifade, int $kanal = Imagick::CHANNEL_DEFAULT): Imagick

Belirtilen ifadeyi görüntüdeki her piksele uygular. Daha fazla bilgi için » Özel etkiler için Fx görüntü işleci sayfasına bakınız.

Bağımsız Değişkenler

ifadeyi

Her piksele uygulanacak ifade.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::fxImage() kullanımı

<?php
function fxImage() {
$imagick = new \Imagick();
$imagick->newPseudoImage(200, 200, "xc:white");

$fx = 'xx=i-w/2; yy=j-h/2; rr=hypot(xx,yy); (.5-rr/140)*1.2+.5';
$fxImage = $imagick->fxImage($fx);

header("Content-Type: image/png");
$fxImage->setimageformat('png');
echo $fxImage->getImageBlob();
}

?>


Görüntünün gammasını düzeltir

  • « Imagick::fxImage
  • Imagick::gaussianBlurImage »
  • PHP Manual
  • Imagick
  • Görüntünün gammasını düzeltir

Imagick::gammaImage

(PECL imagick 2, PECL imagick 3)

Imagick::gammaImage — Görüntünün gammasını düzeltir

Açıklama

public Imagick::gammaImage(float $gamma, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntünün gammasını düzeltir. Aynı görüntü farklı ekranlarda algısal olarak bazı farklar gösterir. Bu farkları düzeltmek için kırmızı, mavi ve yeşil kanalların gamma değerlerinde değişiklik yapılır. Bu değerler 0.8 ile 2.3 arasında belirtilir.

Bağımsız Değişkenler

gamma

Kanalın gamma düzeltmesi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::gammaImage() kullanımı

<?php
function gammaImage($imagePath, $gamma, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->gammaImage($gamma, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü bulanıklaştırır

  • « Imagick::gammaImage
  • Imagick::getColorspace »
  • PHP Manual
  • Imagick
  • Görüntüyü bulanıklaştırır

Imagick::gaussianBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::gaussianBlurImage — Görüntüyü bulanıklaştırır

Açıklama

public Imagick::gaussianBlurImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntüyü bulanıklaştırır. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile resim evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::motionBlurImage() size uygun bir yarıçap seçecektir.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır.

sapma

Piksel cinsinden standart sapma.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::gaussianBlurImage() kullanımı

<?php
function gaussianBlurImage($imagePath, $radius, $sigma, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->gaussianBlurImage($radius, $sigma, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Gets the colorspace

  • « Imagick::gaussianBlurImage
  • Imagick::getCompression »
  • PHP Manual
  • Imagick
  • Gets the colorspace

Imagick::getColorspace

(PECL imagick 3)

Imagick::getColorspace — Gets the colorspace

Açıklama

public Imagick::getColorspace(): int

Gets the global colorspace value. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer which can be compared against COLORSPACE constants.


Nesnenin sıkıştırma türünü döndürür

  • « Imagick::getColorspace
  • Imagick::getCompressionQuality »
  • PHP Manual
  • Imagick
  • Nesnenin sıkıştırma türünü döndürür

Imagick::getCompression

(PECL imagick 2, PECL imagick 3)

Imagick::getCompression — Nesnenin sıkıştırma türünü döndürür

Açıklama

public Imagick::getCompression(): int

Nesnenin sıkıştırma türünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Nesnenin sıkıştırma türünü sıkıştırma sabitlerinden biri olarak döndürür.


Nesnenin sıkıştırma seviyesini döndürür

  • « Imagick::getCompression
  • Imagick::getCopyright »
  • PHP Manual
  • Imagick
  • Nesnenin sıkıştırma seviyesini döndürür

Imagick::getCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::getCompressionQuality — Nesnenin sıkıştırma seviyesini döndürür

Açıklama

public Imagick::getCompressionQuality(): int

Nesnenin sıkıştırma seviyesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Nesnenin sıkıştırma seviyesini bir tamsayı olarak döndürür.


ImageMagick telif hakkı bilgisini döndürür

  • « Imagick::getCompressionQuality
  • Imagick::getFilename »
  • PHP Manual
  • Imagick
  • ImageMagick telif hakkı bilgisini döndürür

Imagick::getCopyright

(PECL imagick 2, PECL imagick 3)

Imagick::getCopyright — ImageMagick telif hakkı bilgisini döndürür

Açıklama

public Imagick::getCopyright(): string

ImageMagick telif hakkı bilgisini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImageMagick telif hakkı bilgisini içeren bir dizge döndürür.


Görüntü dizisi ile ilişkili dosya ismini döndürür

  • « Imagick::getCopyright
  • Imagick::getFont »
  • PHP Manual
  • Imagick
  • Görüntü dizisi ile ilişkili dosya ismini döndürür

Imagick::getFilename

(PECL imagick 2, PECL imagick 3)

Imagick::getFilename — Görüntü dizisi ile ilişkili dosya ismini döndürür

Açıklama

public Imagick::getFilename(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü dizisi ile ilişkili dosya ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda bir dizge döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Yazıtipini döndürür

  • « Imagick::getFilename
  • Imagick::getFormat »
  • PHP Manual
  • Imagick
  • Yazıtipini döndürür

Imagick::getFont

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::getFont — Yazıtipini döndürür

Açıklama

public Imagick::getFont(): string

Nesnenin yazıtipini döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir yazıtipi tanımlı değilse false, tanımlıysa yazıtipi ismini içeren bir dizge döner.

Ayrıca Bakınız

  • Imagick::setFont() - Imagick nesnesinin yazı tipini tanımlar
  • ImagickDraw::setFont() - Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler
  • ImagickDraw::getFont() - Geçerli yazı tipini döndürür


Imagick nesnesinin biçemini döndürür

  • « Imagick::getFont
  • Imagick::getGravity »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin biçemini döndürür

Imagick::getFormat

(PECL imagick 2, PECL imagick 3)

Imagick::getFormat — Imagick nesnesinin biçemini döndürür

Açıklama

public Imagick::getFormat(): string

Imagick nesnesinin biçemini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Imagick nesnesinin biçemini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Gets the gravity

  • « Imagick::getFormat
  • Imagick::getHomeURL »
  • PHP Manual
  • Imagick
  • Gets the gravity

Imagick::getGravity

(PECL imagick 2, PECL imagick 3)

Imagick::getGravity — Gets the gravity

Açıklama

public Imagick::getGravity(): int

Gets the global gravity property for the Imagick object. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.0 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the gravity property. Refer to the list of gravity constants.


ImageMagick sitesinin adresini döndürür

  • « Imagick::getGravity
  • Imagick::getImage »
  • PHP Manual
  • Imagick
  • ImageMagick sitesinin adresini döndürür

Imagick::getHomeURL

(PECL imagick 2, PECL imagick 3)

Imagick::getHomeURL — ImageMagick sitesinin adresini döndürür

Açıklama

public static Imagick::getHomeURL(): string

ImageMagick sitesinin adresini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImageMagick sitesinin adresini içeren bir dizge döndürür.


Yeni bir Imagick nesnesi döndürür

  • « Imagick::getHomeURL
  • Imagick::getImageAlphaChannel »
  • PHP Manual
  • Imagick
  • Yeni bir Imagick nesnesi döndürür

Imagick::getImage

(PECL imagick 2, PECL imagick 3)

Imagick::getImage — Yeni bir Imagick nesnesi döndürür

Açıklama

public Imagick::getImage(): Imagick

Geçerli resim dizisine dahil yeni bir Imagick nesnesi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yeni bir Imagick nesnesi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Checks if the image has an alpha channel

  • « Imagick::getImage
  • Imagick::getImageArtifact »
  • PHP Manual
  • Imagick
  • Checks if the image has an alpha channel

Imagick::getImageAlphaChannel

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageAlphaChannel — Checks if the image has an alpha channel

Açıklama

public Imagick::getImageAlphaChannel(): bool

Returns whether the image has an alpha channel.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the image has an alpha channel value and false if not, i.e. the image is RGB rather than RGBA or CMYK rather than CMYKA.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
imagick 3.6.0 | Returns a bool now; previously, an int was returned.


Get image artifact

  • « Imagick::getImageAlphaChannel
  • Imagick::getImageAttribute »
  • PHP Manual
  • Imagick
  • Get image artifact

Imagick::getImageArtifact

(PECL imagick 3)

Imagick::getImageArtifact — Get image artifact

Açıklama

public Imagick::getImageArtifact(string $artifact): string

Gets an artifact associated with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

artifact

The name of the artifact

Dönen Değerler

Returns the artifact value on success.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Ayrıca Bakınız

  • Imagick::setImageArtifact() - Set image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact


Returns a named attribute

  • « Imagick::getImageArtifact
  • Imagick::getImageBackgroundColor »
  • PHP Manual
  • Imagick
  • Returns a named attribute

Imagick::getImageAttribute

(PECL imagick 2, PECL imagick 3)

Imagick::getImageAttribute — Returns a named attribute

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageAttribute(string $key): string

Returns a named attribute.

Bağımsız Değişkenler

key

The key of the attribute to get.

Dönen Değerler


Resmin artalan rengini döndürür

  • « Imagick::getImageAttribute
  • Imagick::getImageBlob »
  • PHP Manual
  • Imagick
  • Resmin artalan rengini döndürür

Imagick::getImageBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBackgroundColor — Resmin artalan rengini döndürür

Açıklama

public Imagick::getImageBackgroundColor(): ImagickPixel

Resmin artalan rengini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Resmin artalan rengini bir ImagickPixel nesnesi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü dizisini ikil dizge olarak döndürür

  • « Imagick::getImageBackgroundColor
  • Imagick::getImageBluePrimary »
  • PHP Manual
  • Imagick
  • Görüntü dizisini ikil dizge olarak döndürür

Imagick::getImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBlob — Görüntü dizisini ikil dizge olarak döndürür

Açıklama

public Imagick::getImageBlob(): string

Görüntüyü bellekteki biçemiyle ikil dizge olarak döndürür. Görüntünün biçemi dönen dizgenin dosya biçemine bağlıdır (GIF, JPEG, PNG, vb.). Görüntü biçemini değiştirmek için Imagick::setImageFormat() yöntemini kullanın.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntüyü içeren bir ikil dizge döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür

  • « Imagick::getImageBlob
  • Imagick::getImageBorderColor »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür

Imagick::getImageBluePrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür

Açıklama

public Imagick::getImageBluePrimary(): array

Görüntünün renk bileşenlerinden birincil mavi noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Dönen Değerler

Başarı durumunda resmin renk bileşenlerinden birincil mavi noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün çerçeve rengini döndürür

  • « Imagick::getImageBluePrimary
  • Imagick::getImageChannelDepth »
  • PHP Manual
  • Imagick
  • Görüntünün çerçeve rengini döndürür

Imagick::getImageBorderColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageBorderColor — Görüntünün çerçeve rengini döndürür

Açıklama

public Imagick::getImageBorderColor(): ImagickPixel

Görüntünün çerçeve rengini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün çerçeve rengini bir ImagickPixel nesnesi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen kanalın derinliğini döndürür

  • « Imagick::getImageBorderColor
  • Imagick::getImageChannelDistortion »
  • PHP Manual
  • Imagick
  • Belirtilen kanalın derinliğini döndürür

Imagick::getImageChannelDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelDepth — Belirtilen kanalın derinliğini döndürür

Açıklama

public Imagick::getImageChannelDepth(int $kanal): int

Belirtilen görüntü kanalının derinliğini döndürür.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Belirtilen görüntü kanalının derinliğini bir tamsayı olarak döndürür.


Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır

  • « Imagick::getImageChannelDepth
  • Imagick::getImageChannelDistortions »
  • PHP Manual
  • Imagick
  • Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır

Imagick::getImageChannelDistortion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelDistortion — Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır

Açıklama

public Imagick::getImageChannelDistortion(Imagick $görüntü, int $kanal, int $metrik): float

Görüntünün kanallarını yeniden oluşturulan bir görüntü ile karşılaştırır ve belirtilen bozunum metriğini döndürür.

Bağımsız Değişkenler

görüntü

Karşılaştırılacak Imagick nesnesi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

metric

Metrik sabitlerinden biri.

Dönen Değerler

Belirtilen bozunum metriğini bir gerçek sayı olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Gets channel distortions

  • « Imagick::getImageChannelDistortion
  • Imagick::getImageChannelExtrema »
  • PHP Manual
  • Imagick
  • Gets channel distortions

Imagick::getImageChannelDistortions

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageChannelDistortions — Gets channel distortions

Açıklama

public Imagick::getImageChannelDistortions(Imagick $reference, int $metric, int $channel = Imagick::CHANNEL_DEFAULT): float

Compares one or more image channels of an image to a reconstructed image and returns the specified distortion metrics Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.4 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

reference

Imagick object containing the reference image

metric

Refer to this list of metric type constants.

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Returns a float describing the channel distortion.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen kanalların uç değerlerini döndürür

  • « Imagick::getImageChannelDistortions
  • Imagick::getImageChannelKurtosis »
  • PHP Manual
  • Imagick
  • Belirtilen kanalların uç değerlerini döndürür

Imagick::getImageChannelExtrema

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelExtrema — Belirtilen kanalların uç değerlerini döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageChannelExtrema(int $kanal): array

Belirtilen kanal veya kanalların uç değerlerini "minima" ve "maxima" anahtarlı bir ilişkisel dizi olarak döndürür.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda kanal veya kanalların uç değerlerini "minima" ve "maxima" anahtarlı bir ilişkisel dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


The getImageChannelKurtosis purpose

  • « Imagick::getImageChannelExtrema
  • Imagick::getImageChannelMean »
  • PHP Manual
  • Imagick
  • The getImageChannelKurtosis purpose

Imagick::getImageChannelKurtosis

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageChannelKurtosis — The getImageChannelKurtosis purpose

Açıklama

public Imagick::getImageChannelKurtosis(int $channel = Imagick::CHANNEL_DEFAULT): array

Get the kurtosis and skewness of a specific channel. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Returns an array with kurtosis and skewness members.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Kanal ortalama ve standart sapmasını döndürür

  • « Imagick::getImageChannelKurtosis
  • Imagick::getImageChannelRange »
  • PHP Manual
  • Imagick
  • Kanal ortalama ve standart sapmasını döndürür

Imagick::getImageChannelMean

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelMean — Kanal ortalama ve standart sapmasını döndürür

Açıklama

public Imagick::getImageChannelMean(int $kanal): array

Belirtilen kanal veya kanalların ortalama ve standart sapmasını döndürür.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda kanalların ortalama ve standart sapmasını "mean" ve "standardDeviation" anahtarlı bir dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Gets channel range

  • « Imagick::getImageChannelMean
  • Imagick::getImageChannelStatistics »
  • PHP Manual
  • Imagick
  • Gets channel range

Imagick::getImageChannelRange

(PECL imagick 2 >= 2.2.1, PECL imagick 3)

Imagick::getImageChannelRange — Gets channel range

Açıklama

public Imagick::getImageChannelRange(int $channel): array

Gets the range for one or more image channels. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.0 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Returns an array containing minima and maxima values of the channel(s).

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüdeki her kanalın istatistiklerini döndürür

  • « Imagick::getImageChannelRange
  • Imagick::getImageClipMask »
  • PHP Manual
  • Imagick
  • Görüntüdeki her kanalın istatistiklerini döndürür

Imagick::getImageChannelStatistics

(PECL imagick 2, PECL imagick 3)

Imagick::getImageChannelStatistics — Görüntüdeki her kanalın istatistiklerini döndürür

Açıklama

public Imagick::getImageChannelStatistics(): array

Görüntüdeki her kanalın istatistiklerini döndürür. İstatistik bilgisi kanal derinliğini, azami ve asgari uçları, ortalama ve standart sapmayı içerir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntüdeki her kanalın istatistiklerini bir ilişkisel dizi olarak döndürür.


Resim kırpma maskesini döndürür

  • « Imagick::getImageChannelStatistics
  • Imagick::getImageColormapColor »
  • PHP Manual
  • Imagick
  • Resim kırpma maskesini döndürür

Imagick::getImageClipMask

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageClipMask — Resim kırpma maskesini döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageClipMask(): Imagick

Kırpıcı görüntüyü döndürür. Kırpıcı görüntü kırpma maskesini içeren bir Imagick nesnesidir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kırpma maskesini içeren bir Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Renk eşlemi indisi belirtilen rengi döndürür

  • « Imagick::getImageClipMask
  • Imagick::getImageColors »
  • PHP Manual
  • Imagick
  • Renk eşlemi indisi belirtilen rengi döndürür

Imagick::getImageColormapColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColormapColor — Renk eşlemi indisi belirtilen rengi döndürür

Açıklama

public Imagick::getImageColormapColor(int $indis): ImagickPixel

Renk eşlemi indisi belirtilen rengi döndürür.

Bağımsız Değişkenler

indis

Renk eşlemindeki bir indis.

Dönen Değerler

Renk eşlemi indisi belirtilen rengi bir ImagickPixel nesnesi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüdeki eşsiz renklerin sayısını döndürür

  • « Imagick::getImageColormapColor
  • Imagick::getImageColorspace »
  • PHP Manual
  • Imagick
  • Görüntüdeki eşsiz renklerin sayısını döndürür

Imagick::getImageColors

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColors — Görüntüdeki eşsiz renklerin sayısını döndürür

Açıklama

public Imagick::getImageColors(): int

Görüntüdeki eşsiz renklerin (piksellerin) sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntüdeki eşsiz renklerin (piksellerin) sayısını döndürür.


Resmin renk uzayını döndürür

  • « Imagick::getImageColors
  • Imagick::getImageCompose »
  • PHP Manual
  • Imagick
  • Resmin renk uzayını döndürür

Imagick::getImageColorspace

(PECL imagick 2, PECL imagick 3)

Imagick::getImageColorspace — Resmin renk uzayını döndürür

Açıklama

public Imagick::getImageColorspace(): int

Resmin renk uzayını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

COLORSPACE sabiti ile karşılaştırılabilecek bir tamsayı döndürür.


Görüntü ile ilgili birleştirme işlecini döndürür

  • « Imagick::getImageColorspace
  • Imagick::getImageCompression »
  • PHP Manual
  • Imagick
  • Görüntü ile ilgili birleştirme işlecini döndürür

Imagick::getImageCompose

(PECL imagick 2, PECL imagick 3)

Imagick::getImageCompose — Görüntü ile ilgili birleştirme işlecini döndürür

Açıklama

public Imagick::getImageCompose(): int

Görüntü ile ilgili birleştirme işlecini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü ile ilgili birleştirme işlecini döndürür.


Görüntünün sıkıştırma türünü döndürür

  • « Imagick::getImageCompose
  • Imagick::getImageCompressionQuality »
  • PHP Manual
  • Imagick
  • Görüntünün sıkıştırma türünü döndürür

Imagick::getImageCompression

(PECL imagick 3 >= 3.3.0)

Imagick::getImageCompression — Görüntünün sıkıştırma türünü döndürür

Açıklama

public Imagick::getImageCompression(): int

Görüntünün sıkıştırma türünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün sıkıştırma türünü sıkıştırma sabitlerinden biri olarak döndürür.


Görüntünün sıkıştırma seviyesini döndürür

  • « Imagick::getImageCompression
  • Imagick::getImageDelay »
  • PHP Manual
  • Imagick
  • Görüntünün sıkıştırma seviyesini döndürür

Imagick::getImageCompressionQuality

(PECL imagick 2 >= 2.2.2, PECL imagick 3)

Imagick::getImageCompressionQuality — Görüntünün sıkıştırma seviyesini döndürür

Açıklama

public Imagick::getCompressionQuality(): int

Görüntünün sıkıştırma seviyesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün sıkıştırma seviyesini bir tamsayı olarak döndürür.


Görüntü gecikmesini döndürür

  • « Imagick::getImageCompressionQuality
  • Imagick::getImageDepth »
  • PHP Manual
  • Imagick
  • Görüntü gecikmesini döndürür

Imagick::getImageDelay

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDelay — Görüntü gecikmesini döndürür

Açıklama

public Imagick::getImageDelay(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü gecikmesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü gecikmesini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü derinliğini döndürür

  • « Imagick::getImageDelay
  • Imagick::getImageDispose »
  • PHP Manual
  • Imagick
  • Görüntü derinliğini döndürür

Imagick::getImageDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDepth — Görüntü derinliğini döndürür

Açıklama

public Imagick::getImageDepth(): int

Görüntü derinliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü derinliğini bir tamsayı olarak döndürür.


Görüntünün elden çıkarma yöntemini döndürür

  • « Imagick::getImageDepth
  • Imagick::getImageDistortion »
  • PHP Manual
  • Imagick
  • Görüntünün elden çıkarma yöntemini döndürür

Imagick::getImageDispose

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDispose — Görüntünün elden çıkarma yöntemini döndürür

Açıklama

public Imagick::getImageDispose(): int

Görüntünün elden çıkarma yöntemini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün elden çıkarma yöntemini bir elden çıkarma sabiti olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır

  • « Imagick::getImageDispose
  • Imagick::getImageExtrema »
  • PHP Manual
  • Imagick
  • Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır

Imagick::getImageDistortion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageDistortion — Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır

Açıklama

public Imagick::getImageDistortion(Imagick $görüntü, int $metrik): float

Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır ve belirtilen bozunum metriğini döndürür.

Bağımsız Değişkenler

görüntü

Karşılaştırılacak Imagick nesnesi.

metrik

Metrik sabitlerinden biri..

Dönen Değerler

Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır ve belirtilen bozunum metriğini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü ile ilgili uç değerleri döndürür

  • « Imagick::getImageDistortion
  • Imagick::getImageFilename »
  • PHP Manual
  • Imagick
  • Görüntü ile ilgili uç değerleri döndürür

Imagick::getImageExtrema

(PECL imagick 2, PECL imagick 3)

Imagick::getImageExtrema — Görüntü ile ilgili uç değerleri döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageExtrema(): array

Görüntü ile ilgili uç değerleri "min" ve "max" anahtarlı bir ilişkisel dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

"min" ve "max" anahtarlı bir ilişkisel dizi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür

  • « Imagick::getImageExtrema
  • Imagick::getImageFormat »
  • PHP Manual
  • Imagick
  • Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür

Imagick::getImageFilename

(PECL imagick 2, PECL imagick 3)

Imagick::getImageFilename — Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür

Açıklama

public Imagick::getImageFilename(): string

Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir görüntü dizisindeki belli bir görüntünün dosya ismini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür

  • « Imagick::getImageFilename
  • Imagick::getImageGamma »
  • PHP Manual
  • Imagick
  • Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür

Imagick::getImageFormat

(PECL imagick 2, PECL imagick 3)

Imagick::getImageFormat — Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür

Açıklama

public Imagick::getImageFormat(): string

Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir görüntü dizisindeki belli bir görüntünün biçemini içeren bir dizge döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün gammasını döndürür

  • « Imagick::getImageFormat
  • Imagick::getImageGeometry »
  • PHP Manual
  • Imagick
  • Görüntünün gammasını döndürür

Imagick::getImageGamma

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGamma — Görüntünün gammasını döndürür

Açıklama

public Imagick::getImageGamma(): float

Görüntünün gammasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda görüntünün gammasını döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür

  • « Imagick::getImageGamma
  • Imagick::getImageGravity »
  • PHP Manual
  • Imagick
  • Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür

Imagick::getImageGeometry

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGeometry — Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür

Açıklama

public Imagick::getImageGeometry(): array

Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün genişliğini ve yüksekliğini içeren bir dizi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::getImageGeometry() kullanımı

<?php
$imagick = new Imagick();
$imagick->newImage(100, 200, "black");
print_r($imagick->getImageGeometry());
?>
Array
(
    [width] => 100
    [height] => 200
)


Gets the image gravity

  • « Imagick::getImageGeometry
  • Imagick::getImageGreenPrimary »
  • PHP Manual
  • Imagick
  • Gets the image gravity

Imagick::getImageGravity

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageGravity — Gets the image gravity

Açıklama

public Imagick::getImageGravity(): int

Gets the current gravity value of the image. Unlike Imagick::getGravity(), this method returns the gravity defined for the current image sequence. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.4 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the images gravity property. Refer to the list of gravity constants.


Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür

  • « Imagick::getImageGravity
  • Imagick::getImageHeight »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür

Imagick::getImageGreenPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür

Açıklama

public Imagick::getImageGreenPrimary(): array

Görüntünün renk bileşenlerinden birincil yeşil noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda görüntünün renk bileşenlerinden birincil yeşil noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür. Hata durumunda bir ImagickException istisnası oluşur.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün yüksekliğini döndürür

  • « Imagick::getImageGreenPrimary
  • Imagick::getImageHistogram »
  • PHP Manual
  • Imagick
  • Görüntünün yüksekliğini döndürür

Imagick::getImageHeight

(PECL imagick 2, PECL imagick 3)

Imagick::getImageHeight — Görüntünün yüksekliğini döndürür

Açıklama

public Imagick::getImageHeight(): int

Görüntünün yüksekliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün yüksekliğini piksel cinsinden döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün renk dağılımını döndürür

  • « Imagick::getImageHeight
  • Imagick::getImageIndex »
  • PHP Manual
  • Imagick
  • Görüntünün renk dağılımını döndürür

Imagick::getImageHistogram

(PECL imagick 2, PECL imagick 3)

Imagick::getImageHistogram — Görüntünün renk dağılımını döndürür

Açıklama

public Imagick::getImageHistogram(): array

Görüntünün renk dağılımını bir ImagickPixel nesneleri dizisi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün renk dağılımını bir ImagickPixel nesneleri dizisi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::getImageHistogram() kullanımı

<?php
function getColorStatistics($histogramElements, $colorChannel) {
$colorStatistics = [];

foreach ($histogramElements as $histogramElement) {
$color = $histogramElement->getColorValue($colorChannel);
$color = intval($color * 255);
$count = $histogramElement->getColorCount();

if (array_key_exists($color, $colorStatistics)) {
$colorStatistics[$color] += $count;
}
else {
$colorStatistics[$color] = $count;
}
}

ksort($colorStatistics);

return $colorStatistics;
}

function getImageHistogram($imagePath) {

$backgroundColor = 'black';

$draw = new \ImagickDraw();
$draw->setStrokeWidth(0); // çizgiler mümkün olduğunca ince olsun

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

$histogramWidth = 256;
$histogramHeight = 100; // RGB segmanların yüksekliği

$imagick = new \Imagick(realpath($imagePath));
// görüntüyü küçült, yoksa PHP belleği tükenecek
// Bu, ister istemez "pikselli" görüntülerde kötü sonuçlara sebep olur
$imagick->adaptiveResizeImage(200, 200, true);
$histogramElements = $imagick->getImageHistogram();

$histogram = new \Imagick();
$histogram->newpseudoimage($histogramWidth, $histogramHeight * 3, 'xc:black');
$histogram->setImageFormat('png');

$getMax = function ($carry, $item) {
if ($item > $carry) {
return $item;
}
return $carry;
};

$colorValues = [
'red' => getColorStatistics($histogramElements, \Imagick::COLOR_RED),
'lime' => getColorStatistics($histogramElements, \Imagick::COLOR_GREEN),
'blue' => getColorStatistics($histogramElements, \Imagick::COLOR_BLUE),
];

$max = array_reduce($colorValues['red'] , $getMax, 0);
$max = array_reduce($colorValues['lime'] , $getMax, $max);
$max = array_reduce($colorValues['blue'] , $getMax, $max);

$scale = $histogramHeight / $max;

$count = 0;
foreach ($colorValues as $color => $values) {
$draw->setstrokecolor($color);

$offset = ($count + 1) * $histogramHeight;

foreach ($values as $index => $value) {
$draw->line($index, $offset, $index, $offset - ($value * $scale));
}
$count++;
}

$histogram->drawImage($draw);

header( "Content-Type: image/png" );
echo $histogram;
}

?>


Geçerli etkin görüntünün indisini döndürür

  • « Imagick::getImageHistogram
  • Imagick::getImageInterlaceScheme »
  • PHP Manual
  • Imagick
  • Geçerli etkin görüntünün indisini döndürür

Imagick::getImageIndex

(PECL imagick 2, PECL imagick 3)

Imagick::getImageIndex — Geçerli etkin görüntünün indisini döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageIndex(): int

Imagick nesnesi içindeki geçerli etkin görüntünün indisini döndürür. Bu yöntemin kullanımı önerilmemektedir. Yerine Imagick::getIteratorIndex() yöntemini kullanın.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıttaki görüntünün indisini bir tamsayı olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün geçişim şemasını döndürür

  • « Imagick::getImageIndex
  • Imagick::getImageInterpolateMethod »
  • PHP Manual
  • Imagick
  • Görüntünün geçişim şemasını döndürür

Imagick::getImageInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::getImageInterlaceScheme — Görüntünün geçişim şemasını döndürür

Açıklama

public Imagick::getImageInterlaceScheme(): int

Görüntünün geçişim şemasını bir geçişim sabiti olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün geçişim şemasını bir tamsayı olarak döndürür. Hata durumunda bir ImagickException istisnası oluşur.


Aradeğerleme yöntemini döndürür

  • « Imagick::getImageInterlaceScheme
  • Imagick::getImageIterations »
  • PHP Manual
  • Imagick
  • Aradeğerleme yöntemini döndürür

Imagick::getImageInterpolateMethod

(PECL imagick 2, PECL imagick 3)

Imagick::getImageInterpolateMethod — Aradeğerleme yöntemini döndürür

Açıklama

public Imagick::getImageInterpolateMethod(): int

Görüntünün aradeğerleme yöntemini Imagick::INTERPOLATE_* sabitlerinden biri olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün aradeğerleme yöntemini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü yineleme sayısını döndürür

  • « Imagick::getImageInterpolateMethod
  • Imagick::getImageLength »
  • PHP Manual
  • Imagick
  • Görüntü yineleme sayısını döndürür

Imagick::getImageIterations

(PECL imagick 2, PECL imagick 3)

Imagick::getImageIterations — Görüntü yineleme sayısını döndürür

Açıklama

public Imagick::getImageIterations(): int

Görüntü yineleme sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü yineleme sayısını bir tamsayı olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü uzunluğunu döndürür

  • « Imagick::getImageIterations
  • Imagick::getImageMatte »
  • PHP Manual
  • Imagick
  • Görüntü uzunluğunu döndürür

Imagick::getImageLength

(PECL imagick 2, PECL imagick 3)

Imagick::getImageLength — Görüntü uzunluğunu döndürür

Açıklama

public Imagick::getImageLength(): int

Resmin bayt cinsinden uzunluğunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü uzunluğunu bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - Imagick::getImageLength() örneği

Görüntü dosyası uzunluğunu bayt cinsinden döndürmek

<?php
$image = new Imagick('test.jpg');
echo $image->getImageLength() . ' bayt';
?>


Görüntünün bir matlık kanalı varsa true döndürür

  • « Imagick::getImageLength
  • Imagick::getImageMatteColor »
  • PHP Manual
  • Imagick
  • Görüntünün bir matlık kanalı varsa true döndürür

Imagick::getImageMatte

(PECL imagick 2, PECL imagick 3)

Imagick::getImageMatte — Görüntünün bir matlık kanalı varsa true döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageMatte(): int

Görüntünün bir matlık kanalı varsa true, yoksa false döndürür Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün matlık rengini döndürür

  • « Imagick::getImageMatte
  • Imagick::getImageMimeType »
  • PHP Manual
  • Imagick
  • Görüntünün matlık rengini döndürür

Imagick::getImageMatteColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImageMatteColor — Görüntünün matlık rengini döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageMatteColor(): ImagickPixel

Görüntünün matlık rengini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün matlık rengini bir ImagickPixel nesnesi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Returns the image mime-type

  • « Imagick::getImageMatteColor
  • Imagick::getImageOrientation »
  • PHP Manual
  • Imagick
  • Returns the image mime-type

Imagick::getImageMimeType

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::getImageMimeType — Returns the image mime-type

Açıklama

public Imagick::getImageMimeType(): string

Returns the image mime-type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Görüntü baskı yönünü döndürür

  • « Imagick::getImageMimeType
  • Imagick::getImagePage »
  • PHP Manual
  • Imagick
  • Görüntü baskı yönünü döndürür

Imagick::getImageOrientation

(PECL imagick 2, PECL imagick 3)

Imagick::getImageOrientation — Görüntü baskı yönünü döndürür

Açıklama

public Imagick::getImageOrientation(): int

Görüntü baskı yönünü yön sabitlerinden biri olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda bir tamsayı döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Sayfa geometrisini döndürür

  • « Imagick::getImageOrientation
  • Imagick::getImagePixelColor »
  • PHP Manual
  • Imagick
  • Sayfa geometrisini döndürür

Imagick::getImagePage

(PECL imagick 2, PECL imagick 3)

Imagick::getImagePage — Sayfa geometrisini döndürür

Açıklama

public Imagick::getImagePage(): array

Görüntü ile ilgili sayfa geometrisini "width", "height", "x" ve "y" anahtarlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü ile ilgili sayfa geometrisini "width", "height", "x" ve "y" anahtarlı bir dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen pikselin rengini döndürür

  • « Imagick::getImagePage
  • Imagick::getImageProfile »
  • PHP Manual
  • Imagick
  • Belirtilen pikselin rengini döndürür

Imagick::getImagePixelColor

(PECL imagick 2, PECL imagick 3)

Imagick::getImagePixelColor — Belirtilen pikselin rengini döndürür

Açıklama

public Imagick::getImagePixelColor(int $x, int $y): ImagickPixel

Belirtilen pikselin rengini bir ImagickPixel nesnesi olarak döndürür.

Bağımsız Değişkenler

x

Pikselin X koordinatı.

y

Pikselin Y koordinatı.

Dönen Değerler

Koordinatları verilen pikselin rengini bir ImagickPixel nesnesi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


İsimli görüntü profilini döndürür

  • « Imagick::getImagePixelColor
  • Imagick::getImageProfiles »
  • PHP Manual
  • Imagick
  • İsimli görüntü profilini döndürür

Imagick::getImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProfile — İsimli görüntü profilini döndürür

Açıklama

public Imagick::getImageProfile(string $isim): string

İsmi belirtilen görüntü profilini döndürür.

Bağımsız Değişkenler

isim

Döndürülecek profilin ismi.

Dönen Değerler

Görüntü profilini içeren bir dizge.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü profillerini döndürür

  • « Imagick::getImageProfile
  • Imagick::getImageProperties »
  • PHP Manual
  • Imagick
  • Görüntü profillerini döndürür

Imagick::getImageProfiles

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProfiles — Görüntü profillerini döndürür

Açıklama

public Imagick::getImageProfiles(string $şablon = "*", bool $değerler_ile = true): array

Belirtilen şablon ile eşleşen profillerin tümünü içeren bir dizi döndürür. değerler_ile bağımsız değişkeninde false aktarılırsa sadece profil isimleri döndürülür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

şablon

Özellik isimleri için şablon.

değerler_ile

false belirtilirse sadece özellik isimleri, true belirtilirse değerler de döndürülür.

Dönen Değerler

Görüntü profillerini ve isimlerini içeren bir dizi.


Görüntü özelliklerini döndürür

  • « Imagick::getImageProfiles
  • Imagick::getImageProperty »
  • PHP Manual
  • Imagick
  • Görüntü özelliklerini döndürür

Imagick::getImageProperties

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProperties — Görüntü özelliklerini döndürür

Açıklama

public Imagick::getImageProperties(string $şablon = "*", bool $değerler_ile = true): array

Belirtilen şablon ile eşleşen özelliklerin tümünü içeren bir dizi döndürür. değerler_ile bağımsız değişkeninde false aktarılırsa sadece özellik isimleri döndürülür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

şablon

Özellik isimleri için şablon.

değerler_ile

false belirtilirse sadece özellik isimleri, true belirtilirse değerler de döndürülür.

Dönen Değerler

Görüntü özelliklerini ve isimlerini içeren bir dizi.

Örnekler

Örnek 1 - Imagick::getImageProperties() örneği

EXIF bilgisini elde etme örneği.

<?php

/* Nesneyi oluşturalım */
$im = new imagick("/path/to/example.jpg");

/* EXIF bilgisini alalım */
$exifDizisi = $im->getImageProperties("exif:*");

/* EXIF özelliklerini tarayalım */
foreach ($exifDizisi as $isim => $özellik)
{
echo "{$isim} => {$özellik}<br />\n";
}

?>


İsimli görüntü özelliğini döndürür

  • « Imagick::getImageProperties
  • Imagick::getImageRedPrimary »
  • PHP Manual
  • Imagick
  • İsimli görüntü özelliğini döndürür

Imagick::getImageProperty

(PECL imagick 2, PECL imagick 3)

Imagick::getImageProperty — İsimli görüntü özelliğini döndürür

Açıklama

public Imagick::getImageProperty(string $isim): string

İsimli görüntü özelliğini döndürür.

Bağımsız Değişkenler

isim

Özelliğin ismi (Exif:DateTime gibi)

Dönen Değerler

Belirtilen özelliği bir dizge olarak döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.2 veya sonraki bir sürümü kuruluysa kullanılabilir.

Örnekler

Örnek 1 - Imagick::getImageProperty() örneği

Görüntü özelliklerinin belirtilmesi ve döndürülmesi.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Ayrıca Bakınız

  • Imagick::setImageProperty() - Bir görüntü özelliğini tanımlar


Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür

  • « Imagick::getImageProperty
  • Imagick::getImageRegion »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür

Imagick::getImageRedPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür

Açıklama

public Imagick::getImageRedPrimary(): array

Görüntünün renk bileşenlerinden birincil kırmızı noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün renk bileşenlerinden birincil kırmızı noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür. Hata durumunda bir ImagickException istisnası oluşur.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün bir bölgesini çıkarır

  • « Imagick::getImageRedPrimary
  • Imagick::getImageRenderingIntent »
  • PHP Manual
  • Imagick
  • Görüntünün bir bölgesini çıkarır

Imagick::getImageRegion

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRegion — Görüntünün bir bölgesini çıkarır

Açıklama

public Imagick::getImageRegion(
int $genişlik,
int $yükseklik,
int $x,
int $y
): Imagick

Görüntünün belirtilen bölgesini yeni bir nesne olarak döndürür.

Bağımsız Değişkenler

width

Bölgenin genişliği.

height

Bölgenin yüksekliği.

x

Bölgenin sol üst köşesinin X konumu.

y

Bölgenin sol üst köşesinin Y konumu.

Dönen Değerler

Görüntünün belirtilen bölgesini yeni bir nesne olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüye komutların uygulanış tarzını döndürür

  • « Imagick::getImageRegion
  • Imagick::getImageResolution »
  • PHP Manual
  • Imagick
  • Görüntüye komutların uygulanış tarzını döndürür

Imagick::getImageRenderingIntent

(PECL imagick 2, PECL imagick 3)

Imagick::getImageRenderingIntent — Görüntüye komutların uygulanış tarzını döndürür

Açıklama

public Imagick::getImageRenderingIntent(): int

Görüntüye komutların uygulanış tarzını döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntüye komutların uygulanış tarzını döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün X ve Y çözünürlüklerini döndürür

  • « Imagick::getImageRenderingIntent
  • Imagick::getImagesBlob »
  • PHP Manual
  • Imagick
  • Görüntünün X ve Y çözünürlüklerini döndürür

Imagick::getImageResolution

(PECL imagick 2, PECL imagick 3)

Imagick::getImageResolution — Görüntünün X ve Y çözünürlüklerini döndürür

Açıklama

public Imagick::getImageResolution(): array

Görüntünün X ve Y çözünürlüklerini içeren bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çözünürlükleri içeren bir dizi.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Tüm görüntü dizilerini bir ikil dizge olarak döndürür

  • « Imagick::getImageResolution
  • Imagick::getImageScene »
  • PHP Manual
  • Imagick
  • Tüm görüntü dizilerini bir ikil dizge olarak döndürür

Imagick::getImagesBlob

(PECL imagick 2, PECL imagick 3)

Imagick::getImagesBlob — Tüm görüntü dizilerini bir ikil dizge olarak döndürür

Açıklama

public Imagick::getImagesBlob(): string

Görüntüleri dosya biçemi ile içeren bir ikil dizi döndürür. Resmin biçemi döndürülen ikil dizgenin biçemiyle (GIF, JPEG, PNG, vb.) belirlenir. Dönen ikil dizgenin görüntü biçemini değiştirmek için Imagick::setImageFormat() yöntemini kullanın.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntüleri içeren bir ikil dizge döner. Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün artalan dekorunu döndürür

  • « Imagick::getImagesBlob
  • Imagick::getImageSignature »
  • PHP Manual
  • Imagick
  • Görüntünün artalan dekorunu döndürür

Imagick::getImageScene

(PECL imagick 2, PECL imagick 3)

Imagick::getImageScene — Görüntünün artalan dekorunu döndürür

Açıklama

public Imagick::getImageScene(): int

Görüntünün artalan dekorunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün artalan dekorunu döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün SHA-256 aşını üretir

  • « Imagick::getImageScene
  • Imagick::getImageSize »
  • PHP Manual
  • Imagick
  • Görüntünün SHA-256 aşını üretir

Imagick::getImageSignature

(PECL imagick 2, PECL imagick 3)

Imagick::getImageSignature — Görüntünün SHA-256 aşını üretir

Açıklama

public Imagick::getImageSignature(): string

Görüntü piksel akımının SHA-256 aşını üretir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dosyanın SHA-256 aşını içeren bir dizge döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü uzunluğunu bayt cinsinden döndürür

  • « Imagick::getImageSignature
  • Imagick::getImageTicksPerSecond »
  • PHP Manual
  • Imagick
  • Görüntü uzunluğunu bayt cinsinden döndürür

Imagick::getImageSize

(PECL imagick 2, PECL imagick 3)

Imagick::getImageSize — Görüntü uzunluğunu bayt cinsinden döndürür

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::getImageSize(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü uzunluğunu bayt cinsinden döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü bayt sayısını bir tamsayı olarak döndürür. Yöntemin kullanımı önerilmiyor, yerine Imagick::getImageLength() kullanın.


Görüntünün saniyedeki tik sayısını döndürür

  • « Imagick::getImageSize
  • Imagick::getImageTotalInkDensity »
  • PHP Manual
  • Imagick
  • Görüntünün saniyedeki tik sayısını döndürür

Imagick::getImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::getImageTicksPerSecond — Görüntünün saniyedeki tik sayısını döndürür

Açıklama

public Imagick::getImageTicksPerSecond(): int

Görüntünün saniyedeki tik sayısını döndürür.

Dönen Değerler

Görüntünün saniyedeki tik sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün belli bir renginin toplam yoğunluğunu döndürür

  • « Imagick::getImageTicksPerSecond
  • Imagick::getImageType »
  • PHP Manual
  • Imagick
  • Görüntünün belli bir renginin toplam yoğunluğunu döndürür

Imagick::getImageTotalInkDensity

(PECL imagick 2, PECL imagick 3)

Imagick::getImageTotalInkDensity — Görüntünün belli bir renginin toplam yoğunluğunu döndürür

Açıklama

public Imagick::getImageTotalInkDensity(): float

Görüntünün belli bir renginin toplam yoğunluğunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün belli bir renginin toplam yoğunluğunu döndürür. Hata durumunda bir ImagickException istisnası oluşur.


Olası görüntü türünü döndürür

  • « Imagick::getImageTotalInkDensity
  • Imagick::getImageUnits »
  • PHP Manual
  • Imagick
  • Olası görüntü türünü döndürür

Imagick::getImageType

(PECL imagick 2, PECL imagick 3)

Imagick::getImageType — Olası görüntü türünü döndürür

Açıklama

public Imagick::getImageType(): int

Olası görüntü türünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Olası görüntü türünü döndürür:

  • imagick::IMGTYPE_UNDEFINED
  • imagick::IMGTYPE_BILEVEL
  • imagick::IMGTYPE_GRAYSCALE
  • imagick::IMGTYPE_GRAYSCALEMATTE
  • imagick::IMGTYPE_PALETTE
  • imagick::IMGTYPE_PALETTEMATTE
  • imagick::IMGTYPE_TRUECOLOR
  • imagick::IMGTYPE_TRUECOLORMATTE
  • imagick::IMGTYPE_COLORSEPARATION
  • imagick::IMGTYPE_COLORSEPARATIONMATTE
  • imagick::IMGTYPE_OPTIMIZE

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü çözünürlük birimlerini döndürür

  • « Imagick::getImageType
  • Imagick::getImageVirtualPixelMethod »
  • PHP Manual
  • Imagick
  • Görüntü çözünürlük birimlerini döndürür

Imagick::getImageUnits

(PECL imagick 2, PECL imagick 3)

Imagick::getImageUnits — Görüntü çözünürlük birimlerini döndürür

Açıklama

public Imagick::getImageUnits(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü çözünürlük birimlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü çözünürlük birimlerini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Sanal piksel yöntemini döndürür

  • « Imagick::getImageUnits
  • Imagick::getImageWhitePoint »
  • PHP Manual
  • Imagick
  • Sanal piksel yöntemini döndürür

Imagick::getImageVirtualPixelMethod

(PECL imagick 2, PECL imagick 3)

Imagick::getImageVirtualPixelMethod — Sanal piksel yöntemini döndürür

Açıklama

public Imagick::getImageVirtualPixelMethod(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli görüntünün sanal piksel yöntemini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda sanal piksel yöntemini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün renk bileşenlerinden beyaz noktayı döndürür

  • « Imagick::getImageVirtualPixelMethod
  • Imagick::getImageWidth »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden beyaz noktayı döndürür

Imagick::getImageWhitePoint

(PECL imagick 2, PECL imagick 3)

Imagick::getImageWhitePoint — Görüntünün renk bileşenlerinden beyaz noktayı döndürür

Açıklama

public Imagick::getImageWhitePoint(): array

Görüntünün renk bileşenlerinden beyaz noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün renk bileşenlerinden beyaz noktayı "x" ve "y" anahtarlı bir dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü genişliğini döndürür

  • « Imagick::getImageWhitePoint
  • Imagick::getInterlaceScheme »
  • PHP Manual
  • Imagick
  • Görüntü genişliğini döndürür

Imagick::getImageWidth

(PECL imagick 2, PECL imagick 3)

Imagick::getImageWidth — Görüntü genişliğini döndürür

Açıklama

public Imagick::getImageWidth(): int

Görüntü genişliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntü genişliğini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Nesne geçişim şemasını döndürür

  • « Imagick::getImageWidth
  • Imagick::getIteratorIndex »
  • PHP Manual
  • Imagick
  • Nesne geçişim şemasını döndürür

Imagick::getInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::getInterlaceScheme — Nesne geçişim şemasını döndürür

Açıklama

public Imagick::getInterlaceScheme(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne geçişim şemasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Nesne geçişim şemasını bir geçişim şeması sabiti olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Geçerli etkin görüntünün indisini döndürür

  • « Imagick::getInterlaceScheme
  • Imagick::getNumberImages »
  • PHP Manual
  • Imagick
  • Geçerli etkin görüntünün indisini döndürür

Imagick::getIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::getIteratorIndex — Geçerli etkin görüntünün indisini döndürür

Açıklama

public Imagick::getIteratorIndex(): int

Imagick nesnesi içindeki geçerli etkin görüntünün indisini döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yığıttaki görüntünün indisini bir tamsayı olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::getIteratorIndex() örneği

Görüntüleri oluşturup yineleyici indisini tanımlar ve döndürür.

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Ayrıca Bakınız

  • Imagick::setIteratorIndex() - Yineleyici konumunu belirler
  • Imagick::getImageIndex() - Geçerli etkin görüntünün indisini döndürür
  • Imagick::setImageIndex() - Yineleyici konumunu tanımlar


Nesnedeki görüntü sayısını döndürür

  • « Imagick::getIteratorIndex
  • Imagick::getOption »
  • PHP Manual
  • Imagick
  • Nesnedeki görüntü sayısını döndürür

Imagick::getNumberImages

(PECL imagick 2, PECL imagick 3)

Imagick::getNumberImages — Nesnedeki görüntü sayısını döndürür

Açıklama

public Imagick::getNumberImages(): int

Imagick nesnesi ile ilgili görüntülerin sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda Imagick nesnesi ile ilgili görüntülerin sayısını döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen anahtarla ilgili değeri döndürür

  • « Imagick::getNumberImages
  • Imagick::getPackageName »
  • PHP Manual
  • Imagick
  • Belirtilen anahtarla ilgili değeri döndürür

Imagick::getOption

(PECL imagick 2, PECL imagick 3)

Imagick::getOption — Belirtilen anahtarla ilgili değeri döndürür

Açıklama

public Imagick::getOption(string $anahtar): string

Nesnenin belirtilen anahtarla ilgili değerini döndürür.

Bağımsız Değişkenler

anahtar

Değeri döndürülecek anahtar

Dönen Değerler

Nesnenin belirtilen anahtarla ilgili değerini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


ImageMagick paket ismini döndürür

  • « Imagick::getOption
  • Imagick::getPage »
  • PHP Manual
  • Imagick
  • ImageMagick paket ismini döndürür

Imagick::getPackageName

(PECL imagick 2, PECL imagick 3)

Imagick::getPackageName — ImageMagick paket ismini döndürür

Açıklama

public Imagick::getPackageName(): string

ImageMagick paket ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImageMagick paket ismini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Sayfa geometrisini döndürür

  • « Imagick::getPackageName
  • Imagick::getPixelIterator »
  • PHP Manual
  • Imagick
  • Sayfa geometrisini döndürür

Imagick::getPage

(PECL imagick 2, PECL imagick 3)

Imagick::getPage — Sayfa geometrisini döndürür

Açıklama

public Imagick::getPage(): array

Imagick nesnesi ile ilgili sayfa geometrisini "width", "height", "x" ve "y" anahtarlı bir ilişkisel dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda Imagick nesnesi ile ilgili sayfa geometrisini "width", "height", "x" ve "y" anahtarlı bir ilişkisel dizi olarak döndürür. Hata durumunda bir ImagickException istisnası oluşur.


Bir MagickPixelIterator nesnesi döndürür

  • « Imagick::getPage
  • Imagick::getPixelRegionIterator »
  • PHP Manual
  • Imagick
  • Bir MagickPixelIterator nesnesi döndürür

Imagick::getPixelIterator

(PECL imagick 2, PECL imagick 3)

Imagick::getPixelIterator — Bir MagickPixelIterator nesnesi döndürür

Açıklama

public Imagick::getPixelIterator(): ImagickPixelIterator

Bir MagickPixelIterator nesnesi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda br MagickPixelIterator nesnesi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::getPixelIterator() kullanımı

<?php
function getPixelIterator($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = $imagick->getPixelIterator();

foreach ($imageIterator as $row => $pixels) { /* piksel satırlarında döngü */
foreach ($pixels as $column => $pixel) { /* Satırdaki piksellere döngü
/** @var $pixel \ImagickPixel */
if ($column % 2) {
$pixel->setColor("rgba(0, 0, 0, 0)"); /* 2. pikselleri syaha boya */
}
}
$imageIterator->syncIterator(); /* Yineleyiciyi eşzamanla.
* Her yinelemede bunu yapmak önemli. */
}

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür

  • « Imagick::getPixelIterator
  • Imagick::getPointSize »
  • PHP Manual
  • Imagick
  • Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür

Imagick::getPixelRegionIterator

(PECL imagick 2, PECL imagick 3)

Imagick::getPixelRegionIterator — Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür

Açıklama

public Imagick::getPixelRegionIterator(
int $x,
int $y,
int $genişlik,
int $yükseklik
): ImagickPixelIterator

Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür.

Bağımsız Değişkenler

x

Bölgenin X koordinatı.

y

Bölgenin Y koordinatı.

genişlik

Bölgenin genişliği.

yükseklik

Bölgenin yüksekliği.

Dönen Değerler

Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::getPixelRegionIterator() kullanımı

Görüntünün üst sol köşesindeki pikseller üzerinde siyaha boyayarak dolaş.

<?php
$im = new Imagick(realpath("./testImage.png"));
$areaIterator = $im->getPixelRegionIterator(0, 0, 10, 10);

foreach ($areaIterator as $rowIterator) {
foreach ($rowIterator as $pixel) {
// Her pikseli sayaha bpya
$pixel->setColor("rgba(0, 0, 0, 0)");
}
$areaIterator->syncIterator();
}
$im->writeImage("./output.png");
?>


Punto değerini döndürür

  • « Imagick::getPixelRegionIterator
  • Imagick::getQuantum »
  • PHP Manual
  • Imagick
  • Punto değerini döndürür

Imagick::getPointSize

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::getPointSize — Punto değerini döndürür

Açıklama

public Imagick::getPointSize(): string

Nesnenin yazıtipi yüksekliğini punto olarak döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yazıtipi yüksekliği float türünde punto cinsinden değer olarak döner.

Ayrıca Bakınız

  • Imagick::setPointSize() - Yazı puntosunu belirler


Returns the ImageMagick quantum range

  • « Imagick::getPointSize
  • Imagick::getQuantumDepth »
  • PHP Manual
  • Imagick
  • Returns the ImageMagick quantum range

Imagick::getQuantum

(PECL imagick 3 >= 3.3.0)

Imagick::getQuantum — Returns the ImageMagick quantum range

Açıklama

public static Imagick::getQuantum(): int

Returns the ImageMagick quantum range. If HDRI was enabled then the type is a float, if not it is an int.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Parçacık derinliğini döndürür

  • « Imagick::getQuantum
  • Imagick::getQuantumRange »
  • PHP Manual
  • Imagick
  • Parçacık derinliğini döndürür

Imagick::getQuantumDepth

(PECL imagick 2, PECL imagick 3)

Imagick::getQuantumDepth — Parçacık derinliğini döndürür

Açıklama

public Imagick::getQuantumDepth(): array

Imagick parçacık derinliğini bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

"quantumDepthLong" ve "quantumDepthString" üyelerini içeren bir dizi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Imagick parçacık aralığını döndürür

  • « Imagick::getQuantumDepth
  • Imagick::getRegistry »
  • PHP Manual
  • Imagick
  • Imagick parçacık aralığını döndürür

Imagick::getQuantumRange

(PECL imagick 2, PECL imagick 3)

Imagick::getQuantumRange — Imagick parçacık aralığını döndürür

Açıklama

public Imagick::getQuantumRange(): array

Imagick parçacık aralığını bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Imagick örneği için parçacık aralığını bir dizi olarak döndürür. "quantumDepthLong" ve "quantumDepthString" üyelerini içeren ilişkisel dizi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Get a StringRegistry entry

  • « Imagick::getQuantumRange
  • Imagick::getReleaseDate »
  • PHP Manual
  • Imagick
  • Get a StringRegistry entry

Imagick::getRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::getRegistry — Get a StringRegistry entry

Açıklama

public static Imagick::getRegistry(string $key): string

Get the StringRegistry entry for the named key or false if not set.

Bağımsız Değişkenler

key

The entry to get.

Dönen Değerler


ImageMagick dağıtım tarihini döndürür

  • « Imagick::getRegistry
  • Imagick::getResource »
  • PHP Manual
  • Imagick
  • ImageMagick dağıtım tarihini döndürür

Imagick::getReleaseDate

(PECL imagick 2, PECL imagick 3)

Imagick::getReleaseDate — ImageMagick dağıtım tarihini döndürür

Açıklama

public Imagick::getReleaseDate(): string

ImageMagick dağıtım tarihini bir dizge olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImageMagick dağıtım tarihini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen özkaynağın bellek kullanımını döndürür

  • « Imagick::getReleaseDate
  • Imagick::getResourceLimit »
  • PHP Manual
  • Imagick
  • Belirtilen özkaynağın bellek kullanımını döndürür

Imagick::getResource

(PECL imagick 2, PECL imagick 3)

Imagick::getResource — Belirtilen özkaynağın bellek kullanımını döndürür

Açıklama

public Imagick::getResource(int $tür): int

tür ile belirtilen özkaynağın bellek kullanımını megabayt olarak döndürür.

Bağımsız Değişkenler

tür

Özkaynak türü sabitlerinden biri.

Dönen Değerler

Belirtilen özkaynağın bellek kullanımını megabayt olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belirtilen özkaynağın bellek kullanım sınırını döndürür

  • « Imagick::getResource
  • Imagick::getSamplingFactors »
  • PHP Manual
  • Imagick
  • Belirtilen özkaynağın bellek kullanım sınırını döndürür

Imagick::getResourceLimit

(PECL imagick 2, PECL imagick 3)

Imagick::getResourceLimit — Belirtilen özkaynağın bellek kullanım sınırını döndürür

Açıklama

public Imagick::getResourceLimit(int $tür): int

Belirtilen özkaynağın bellek kullanım sınırını döndürür.

Bağımsız Değişkenler

tür

Özkaynak türü sabitlerinden biri. Bellek miktarı birimi özkaynağın türüne bağlıdır.

Dönen Değerler

Belirtilen özkaynağın bellek kullanım sınırını döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Ayrıca Bakınız

  • Imagick::setResourceLimit() - Belli bir özkaynağa sınır tanımlar


Yatay ve düşey örnekleme katsayısını döndürür

  • « Imagick::getResourceLimit
  • Imagick::getSize »
  • PHP Manual
  • Imagick
  • Yatay ve düşey örnekleme katsayısını döndürür

Imagick::getSamplingFactors

(PECL imagick 2, PECL imagick 3)

Imagick::getSamplingFactors — Yatay ve düşey örnekleme katsayısını döndürür

Açıklama

public Imagick::getSamplingFactors(): array

Yatay ve düşey örnekleme katsayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yatay ve düşey örnekleme katsayısılarını bir dizi olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Imagick nesnesi ile ilgili boyutları döndürür

  • « Imagick::getSamplingFactors
  • Imagick::getSizeOffset »
  • PHP Manual
  • Imagick
  • Imagick nesnesi ile ilgili boyutları döndürür

Imagick::getSize

(PECL imagick 2, PECL imagick 3)

Imagick::getSize — Imagick nesnesi ile ilgili boyutları döndürür

Açıklama

public Imagick::getSize(): array

Imagick nesnesi ile ilgili boyutları "columns" ve "rows" anahtarlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Önceden Imagick::setSize() kullanarak atanmış Imagick nesnesi ile ilgili piksel boyutlarını döndürür.

Bilginize:

Bu yöntem sadece Imagick::setSize() kullanarak atanmış boyutları döndürür. Görüntünün asıl genişlik ve yüksekliğini elde etmek için Imagick::getImageWidth() ve Imagick::getImageHeight() işlevlerini kullanın.

Örnekler

Örnek 1 - 200x400 boyutlarındaki ham RGB görüntüyü 400x800 boyutlarına büyüttükten sonra boyutlarını döndürmek

<?php
// Boyutları belirledikten sonra ham görüntüyü yükle
$img = new Imagick();
$img->setSize(200, 400);
$img->readImage("image.rgb");

// Büyüt
$img->scaleImage(400, 800);

// Şimdi boyutlarına bak
$size = $img->getSize();
print_r($size);

echo $img->getImageWidth()."x".$img->getImageHeight();
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [columns] => 200
    [rows] => 400
)
400x800


Boyut başlangıç noktasını döndürür

  • « Imagick::getSize
  • Imagick::getVersion »
  • PHP Manual
  • Imagick
  • Boyut başlangıç noktasını döndürür

Imagick::getSizeOffset

(PECL imagick 2, PECL imagick 3)

Imagick::getSizeOffset — Boyut başlangıç noktasını döndürür

Açıklama

public Imagick::getSizeOffset(): int

Imagick nesnesi ile ilgili boyut başlangıç noktasını döndürür. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Imagick nesnesi ile ilgili boyut başlangıç noktasını döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


ImageMagick API sürümünü döndürür

  • « Imagick::getSizeOffset
  • Imagick::haldClutImage »
  • PHP Manual
  • Imagick
  • ImageMagick API sürümünü döndürür

Imagick::getVersion

(PECL imagick 2, PECL imagick 3)

Imagick::getVersion — ImageMagick API sürümünü döndürür

Açıklama

public Imagick::getVersion(): array

ImageMagick API sürümünü bir dizge ve bir sayı olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImageMagick API sürümünü bir dizge ve bir sayı olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Replaces colors in the image

  • « Imagick::getVersion
  • Imagick::hasNextImage »
  • PHP Manual
  • Imagick
  • Replaces colors in the image

Imagick::haldClutImage

(PECL imagick 3)

Imagick::haldClutImage — Replaces colors in the image

Açıklama

public Imagick::haldClutImage(Imagick $clut, int $channel = Imagick::CHANNEL_DEFAULT): bool

Replaces colors in the image using a Hald lookup table. Hald images can be created using HALD color coder.

Bağımsız Değişkenler

clut

Imagick object containing the Hald lookup image.

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Imagick::haldClutImage()

<?php
function haldClutImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagickPalette = new \Imagick(realpath("images/hald/hald_8.png"));
$imagickPalette->sepiatoneImage(55);
$imagick->haldClutImage($imagickPalette);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün sonrasında bir görüntü daha var mı diye bakar

  • « Imagick::haldClutImage
  • Imagick::hasPreviousImage »
  • PHP Manual
  • Imagick
  • Görüntünün sonrasında bir görüntü daha var mı diye bakar

Imagick::hasNextImage

(PECL imagick 2, PECL imagick 3)

Imagick::hasNextImage — Görüntünün sonrasında bir görüntü daha var mı diye bakar

Açıklama

public Imagick::hasNextImage(): bool

Görüntü listesinde, görüntünün sonrasında bir görüntü daha varsa true döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün sonrasında bir görüntü daha varsa true yoksa false döndürür.


Görüntünün öncesinde bir görüntü daha var mı diye bakar

  • « Imagick::hasNextImage
  • Imagick::identifyFormat »
  • PHP Manual
  • Imagick
  • Görüntünün öncesinde bir görüntü daha var mı diye bakar

Imagick::hasPreviousImage

(PECL imagick 2, PECL imagick 3)

Imagick::hasPreviousImage — Görüntünün öncesinde bir görüntü daha var mı diye bakar

Açıklama

public Imagick::hasPreviousImage(): bool

Görüntü listesinde, görüntünün öncesinde bir görüntü daha varsa true döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Görüntünün öncesinde bir görüntü daha varsa true yoksa false döndürür.


Formats a string with image details

  • « Imagick::hasPreviousImage
  • Imagick::identifyImage »
  • PHP Manual
  • Imagick
  • Formats a string with image details

Imagick::identifyFormat

(PECL imagick 3 >= 3.3.0)

Imagick::identifyFormat — Formats a string with image details

Açıklama

public Imagick::identifyFormat(string $embedText): string|false

Replaces any embedded formatting characters with the appropriate image property and returns the interpreted text. See http://www.imagemagick.org/script/escape.php for escape sequences.

Bağımsız Değişkenler

embedText

A string containing formatting sequences e.g. "Trim box: %@ number of unique colors: %k".

Dönen Değerler

Returns format başarısızlık durumunda false döner.

Örnekler

Örnek 1 Imagick::identifyFormat()

<?php
$output = "Output of 'Trim box: %@ number of unique colors: %k' is: <br/>";
$imagick = new \Imagick(realpath("./images/artifact/mask.png"));
$output .= $imagick->identifyFormat("Trim box: %@ number of unique colors: %k");

?>


Görüntünün özniteliklerini döndürerek görüntüyü tanımlar

  • « Imagick::identifyFormat
  • Imagick::implodeImage »
  • PHP Manual
  • Imagick
  • Görüntünün özniteliklerini döndürerek görüntüyü tanımlar

Imagick::identifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::identifyImage — Görüntünün özniteliklerini döndürerek görüntüyü tanımlar

Açıklama

public Imagick::identifyImage(bool $hamÇıktıEkle = false): array

Görüntünün özniteliklerini döndürerek görüntüyü tanımlar. Öznitelikler, görüntünün genişliği, yüksekliği ve benzerlerinden oluşur.

Bağımsız Değişkenler

hamÇıktıEkle

true ise ham çıktı diziye eklenir.

Dönen Değerler

Görüntünün özniteliklerini içeren bir dizi.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnek 1 - Dönen değer örneği

Array
(
    [imageName] => /some/path/image.jpg
    [format] => JPEG (Joint Photographic Experts Group JFIF format)
    [geometry] => Array
        (
            [width] => 90
            [height] => 90
        )

    [type] => TrueColor
    [colorSpace] => RGB
    [resolution] => Array
        (
            [x] => 300
            [y] => 300
        )

    [units] => PixelsPerInch
    [fileSize] => 1.88672kb
    [compression] => JPEG
    [signature] => 9a6dc8f604f97d0d691c0286176ddf992e188f0bebba98494b2146ee2d7118da
)


Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur

  • « Imagick::identifyImage
  • Imagick::importImagePixels »
  • PHP Manual
  • Imagick
  • Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur

Imagick::implodeImage

(PECL imagick 2, PECL imagick 3)

Imagick::implodeImage — Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur

Açıklama

public Imagick::implodeImage(float $yarıçap): bool

Görüntünün piksellerini belirtilen yarıçapta içe çökerterek kopyalamak suretiyle yeni bir görüntü oluşturur.

Bağımsız Değişkenler

yarıçap

Çökertme yarıçapı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::implodeImage() örneği

<?php
function implodeImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->implodeImage(0.0001);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();

}

?>


Imports image pixels

  • « Imagick::implodeImage
  • Imagick::inverseFourierTransformImage »
  • PHP Manual
  • Imagick
  • Imports image pixels

Imagick::importImagePixels

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::importImagePixels — Imports image pixels

Açıklama

public Imagick::importImagePixels(
int $x,
int $y,
int $width,
int $height,
string $map,
int $storage,
array $pixels
): bool

Imports pixels from an array into an image. The map is usually 'RGB'. This method imposes the following constraints for the parameters: amount of pixels in the array must match width x height x length of the map. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

x

The image x position

y

The image y position

width

The image width

height

The image height

map

Map of pixel ordering as a string. This can be for example RGB. The value can be any combination or order of R = red, G = green, B = blue, A = alpha (0 is transparent), O = opacity (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I = intensity (for grayscale), P = pad.

storage

The pixel storage method. Refer to this list of pixel constants.

pixels

The array of pixels

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Imagick::importImagePixels() example

<?php

/* Generate array of pixels. 2000 pixels per color stripe */
$count = 2000 * 3;

$pixels =
array_merge(array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0),
array_pad(array(), $count, 255),
array_pad(array(), $count, 0));

/* Width and height. The area is amount of pixels divided
by three. Three comes from 'RGB', three values per pixel */
$width = $height = pow((count($pixels) / 3), 0.5);

/* Create empty image */
$im = new Imagick();
$im->newImage($width, $height, 'gray');

/* Import the pixels into image.
width * height * strlen("RGB") must match count($pixels) */
$im->importImagePixels(0, 0, $width, $height, "RGB", Imagick::PIXEL_CHAR, $pixels);

/* output as jpeg image */
$im->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $im;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Output of example : Imagick::importImagePixels()


Implements the inverse discrete Fourier transform (DFT)

  • « Imagick::importImagePixels
  • Imagick::labelImage »
  • PHP Manual
  • Imagick
  • Implements the inverse discrete Fourier transform (DFT)

Imagick::inverseFourierTransformImage

(PECL imagick 3 >= 3.3.0)

Imagick::inverseFourierTransformImage — Implements the inverse discrete Fourier transform (DFT)

Açıklama

public Imagick::inverseFourierTransformImage(Imagick $complement, bool $magnitude): bool

Implements the inverse discrete Fourier transform (DFT) of the image either as a magnitude / phase or real / imaginary image pair.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

complement

The second image to combine with this one to form either the magnitude / phase or real / imaginary image pair.

magnitude

If true, combine as magnitude / phase pair otherwise a real / imaginary image pair.

Dönen Değerler

Başarı durumunda true döner.


Görüntüye bir yafta ekler

  • « Imagick::inverseFourierTransformImage
  • Imagick::levelImage »
  • PHP Manual
  • Imagick
  • Görüntüye bir yafta ekler

Imagick::labelImage

(PECL imagick 2, PECL imagick 3)

Imagick::labelImage — Görüntüye bir yafta ekler

Açıklama

public Imagick::labelImage(string $yafta): bool

Görüntüye bir yafta ekler.

Bağımsız Değişkenler

yafta

Eklenecek yafta.

Dönen Değerler

Başarı durumunda true döner.


Bir görüntünün seviyelerini ayarlar

  • « Imagick::labelImage
  • Imagick::linearStretchImage »
  • PHP Manual
  • Imagick
  • Bir görüntünün seviyelerini ayarlar

Imagick::levelImage

(PECL imagick 2, PECL imagick 3)

Imagick::levelImage — Bir görüntünün seviyelerini ayarlar

Açıklama

public Imagick::levelImage(
float $siyah_nokta,
float $gamma,
float $beyaz_nokta,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Siyah ve beyaz noktalarla belirtilen kullanılabilir parçacık aralığının tamamına karşı düşen renkleri oranlayarak bir görüntünün seviyelerini ayarlar. Belirtilen bağımsız değişkenler siyah, gri ve beyaz noktaları belirtir. siyah_nokta görüntünün kabul edilebilir en koyu rengini belirtir. Bu noktadan daha koyu renklere sıfır atanır. gamma ile görüntüye uygulanacak gamma düzeltmesi belirtilir. beyaz_nokta görüntünün kabul edilebilir en açık rengini belirtir. Bu noktadan daha açık renklere azami parçacık değeri atanır.

Bağımsız Değişkenler

siyah_nokta

Görüntünün en koyu rengi.

gamma

Gamma düzeltmesi.

beyaz_nokta

Görüntünün en açık rengi.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::levelImage() örneği

<?php
function levelImage($blackPoint, $gamma, $whitePoint) {
$imagick = new \Imagick();
$imagick->newPseudoimage(500, 500, 'gradient:black-white');

$imagick->setFormat('png');
$quantum = $imagick->getQuantum();
$imagick->levelImage($blackPoint / 100 , $gamma, $quantum * $whitePoint / 100);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Görüntünün koyuluğunu doygunluk ile abartır

  • « Imagick::levelImage
  • Imagick::liquidRescaleImage »
  • PHP Manual
  • Imagick
  • Görüntünün koyuluğunu doygunluk ile abartır

Imagick::linearStretchImage

(PECL imagick 2, PECL imagick 3)

Imagick::linearStretchImage — Görüntünün koyuluğunu doygunluk ile abartır

Açıklama

public Imagick::linearStretchImage(float $siyah_nokta, float $beyaz_nokta): bool

Görüntünün koyuluğunu doygunluk ile abartır.

Bağımsız Değişkenler

siyah_nokta

Görüntünün siyah noktası.

beyaz_nokta

Görüntünün beyaz noktası

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::linearStretchImage() örneği

<?php
function linearStretchImage($imagePath, $blackThreshold, $whiteThreshold) {
$imagick = new \Imagick(realpath($imagePath));
$pixels = $imagick->getImageWidth() * $imagick->getImageHeight();
$imagick->linearStretchImage($blackThreshold * $pixels, $whiteThreshold * $pixels);

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir görüntüyü veya görüntüleri canlandırır

  • « Imagick::linearStretchImage
  • Imagick::listRegistry »
  • PHP Manual
  • Imagick
  • Bir görüntüyü veya görüntüleri canlandırır

Imagick::liquidRescaleImage

(PECL imagick 2 >= 2.2.0, PECL imagick 3)

Imagick::liquidRescaleImage — Bir görüntüyü veya görüntüleri canlandırır

Açıklama

public Imagick::liquidRescaleImage(
int $genişlik,
int $yükseklik,
float $delta_x,
float $diklik
): bool

Akışkan yeniden boyutlandırma yöntemi kullanılarak görüntülerin boyutlandırılmasını sağlar. Bu yöntem birleşim yerini ayırma tekniğinin bir gerçeklenimidir. Bu yöntemin çalışması için ImageMagick kütüphanesinin liblqr desteğiyle derlenmiş olması gerekir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

genişlik

Hedefin genişliği.

yükseklik

Hedefin yüksekliği.

delta_x

Birleşim yerinin x ekseninı ne kadar çaprazlayacağını belirler. 0 değeri birleşim yerinin düz olmasını sağlar.

diklik

Düz olmayan birleşim yerleri için bir sapma tanımlar, Bu bağımsız değişkenin değeri genelde 0'dır.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::resizeImage() - Görüntüyü boyutlandırır


List all the registry settings

  • « Imagick::liquidRescaleImage
  • Imagick::magnifyImage »
  • PHP Manual
  • Imagick
  • List all the registry settings

Imagick::listRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::listRegistry — List all the registry settings

Açıklama

public static Imagick::listRegistry(): array

List all the registry settings. Returns an array of all the key/value pairs in the registry

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing the key/values from the registry.


En boy oranını koruyarak görüntüyü iki katına büyütür

  • « Imagick::listRegistry
  • Imagick::mapImage »
  • PHP Manual
  • Imagick
  • En boy oranını koruyarak görüntüyü iki katına büyütür

Imagick::magnifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::magnifyImage — En boy oranını koruyarak görüntüyü iki katına büyütür

Açıklama

public Imagick::magnifyImage(): bool

En boy oranını koruyarak görüntüyü iki katına büyütür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::magnifyImage() örneği

<?php
function magnifyImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->magnifyImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir

  • « Imagick::magnifyImage
  • Imagick::matteFloodfillImage »
  • PHP Manual
  • Imagick
  • Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir

Imagick::mapImage

(PECL imagick 2, PECL imagick 3)

Imagick::mapImage — Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::mapImage(Imagick $görüntü, bool $kıpırtı): bool

Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir.

Bağımsız Değişkenler

görüntü

kıpırtı

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir rengin şeffaflık değerini değiştirir

  • « Imagick::mapImage
  • Imagick::medianFilterImage »
  • PHP Manual
  • Imagick
  • Bir rengin şeffaflık değerini değiştirir

Imagick::matteFloodfillImage

(PECL imagick 2, PECL imagick 3)

Imagick::matteFloodfillImage — Bir rengin şeffaflık değerini değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::matteFloodfillImage(
float $alfa,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y
): bool

çerçeve_rengi ile eşleşen her pikselin ve komşu pikselinin şeffaflık değerini değiştirir. imagick::PAINT_FILLTOBORDER etkinse görüntünün çerçeve rengi ile eşleşmeyen komşu piksellerinin şeffaflık değerleri değiştirilir.

Bağımsız Değişkenler

alfa

Şeffaflık seviyesi; 1.0 tamamen mat, 0.0 tamamen şeffaf demektir.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

çerçeve_rengi

Bir renk dizgesi veya bir ImagickPixel nesnesi.

x

İşlemin başlatılacağı noktanın X konumu.

y

İşlemin başlatılacağı noktanın Y konumu.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.


Görüntüye bir sayısal süzgeç uygular

  • « Imagick::matteFloodfillImage
  • Imagick::mergeImageLayers »
  • PHP Manual
  • Imagick
  • Görüntüye bir sayısal süzgeç uygular

Imagick::medianFilterImage

(PECL imagick 2, PECL imagick 3)

Imagick::medianFilterImage — Görüntüye bir sayısal süzgeç uygular

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::medianFilterImage(float $yarıçap): bool

Bir sayısal süzgeç uygulayarak görüntünün görüntü kalitesini arttırır. yarıçap ile tanımlanan piksel kümesindeki her pikseli kümenin ortanca rengiyle değiştirir.

Bağımsız Değişkenler

yarıçap

Ortanca renginin tespit edilip diğer piksellerine uygulanacağı piksel kümesini tanımlayan yarıçap.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::medianFilterImage() örneği

<?php
function medianFilterImage($radius, $imagePath) {
$imagick = new \Imagick(realpath($imagePath));
@$imagick->medianFilterImage($radius);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntü katmanlarını katıştırır

  • « Imagick::medianFilterImage
  • Imagick::minifyImage »
  • PHP Manual
  • Imagick
  • Görüntü katmanlarını katıştırır

Imagick::mergeImageLayers

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::mergeImageLayers — Görüntü katmanlarını katıştırır

Açıklama

public Imagick::mergeImageLayers(int $katman_yöntemi): bool

Görüntü katmanlarını tek bir katman haline gelecek şekilde katıştırır. PSD gibi çok katmanlı görüntülerle çalışırken yararlıdır. Katmanların nasıl katıştırılacağı katman_yöntemi ile belirtilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

katman_yöntemi

Katman yöntemi sabitlerinden biri.

Dönen Değerler

Katıştırılan görüntüyü içeren Imagick nesnesini döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::mergeImageLayers() örneği

<?php
function mergeImageLayers($layerMethodType, $imagePath1, $imagePath2) {

$imagick = new \Imagick(realpath($imagePath));

$imagick2 = new \Imagick(realpath($imagePath2));
$imagick->addImage($imagick2);
$imagick->setImageFormat('png');

$result = $imagick->mergeImageLayers($layerMethodType);
header("Content-Type: image/png");
echo $result->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::flattenImages() - Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir


En boy oranını koruyarak görüntüyü yarı boyutuna indirir

  • « Imagick::mergeImageLayers
  • Imagick::modulateImage »
  • PHP Manual
  • Imagick
  • En boy oranını koruyarak görüntüyü yarı boyutuna indirir

Imagick::minifyImage

(PECL imagick 2, PECL imagick 3)

Imagick::minifyImage — En boy oranını koruyarak görüntüyü yarı boyutuna indirir

Açıklama

public Imagick::minifyImage(): bool

En boy oranını koruyarak görüntüyü yarı boyutuna indirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler

  • « Imagick::minifyImage
  • Imagick::montageImage »
  • PHP Manual
  • Imagick
  • Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler

Imagick::modulateImage

(PECL imagick 2, PECL imagick 3)

Imagick::modulateImage — Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler

Açıklama

public Imagick::modulateImage(float $parlaklık, float $doygunluk, float $sıcaklık): bool

Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetleyebilmenizi sağlar. Renk parlaklığını 20 arttırmak, renk doygunluğunu 10 azaltıp renk sıcaklığına dokunmamak için şu değerleri kullanın: 120,90,100.

Bağımsız Değişkenler

parlaklık

Parlaklık yüzdesi.

doygunluk

Doygunluk yüzdesi.

sıcaklık

Geçerli konumdan itibaren mutlak bir dönüş yüzdesi. Örneğin, 50 değeri saatin ters yönünde 90° dönüşle sonuçlanırken 150 değeri saat yönünde 90° ile sonuçlanır. 0 ve 200, her ikisi de 180 derecelik bir dönüşle sonuçlanır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::modulateImage()

<?php
function modulateImage($imagePath, $hue, $brightness, $saturation) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->modulateImage($brightness, $saturation, $hue);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Birleşik bir görüntü oluşturur

  • « Imagick::modulateImage
  • Imagick::morphImages »
  • PHP Manual
  • Imagick
  • Birleşik bir görüntü oluşturur

Imagick::montageImage

(PECL imagick 2, PECL imagick 3)

Imagick::montageImage — Birleşik bir görüntü oluşturur

Açıklama

public Imagick::montageImage(
ImagickDraw $nesne,
string $döşeme_geometrisi,
string $örnek_geometrisi,
int $kip,
string $çerçeve
): Imagick

Ayrı ayrı görüntüleri birleştirerek birleşik bir görüntü haline getirir. Görüntüler birleşik görüntünün üzerine her karenin altında isteğe bağlı olarak bulunan görüntü ismine göre döşenir.

Bağımsız Değişkenler

nesne

Yazı tipi ismi, boyut ve renk bu nesne ile sağlanır.

döşeme_geometrisi

Satır ve sayfa başına kare sayısı (6x4+0+0 gibi).

örnek_geometrisi

Her küçük görüntü örneği için önerilen görüntü ve çerçeve boyutu (120x120+4+3 gibi)

kip

Örnek görüntü birleştirme kipi. Montaj kipi sabitlerine bakınız.

çerçeve

Görüntüyü süslü bir çerçeve ile sarmalar (15x15+3+3 gibi). Çerçeve rengi olarak görüntünün matlık rengi kullanılır.

Dönen Değerler

Birleşik görüntüyü oluşturur ve Imagick nesnesi olarak döndürür.


Bir görüntü dizisini başkalaşıma uğratır

  • « Imagick::montageImage
  • Imagick::morphology »
  • PHP Manual
  • Imagick
  • Bir görüntü dizisini başkalaşıma uğratır

Imagick::morphImages

(PECL imagick 2, PECL imagick 3)

Imagick::morphImages — Bir görüntü dizisini başkalaşıma uğratır

Açıklama

public Imagick::morphImages(int $kare_sayısı): Imagick

Bir görüntü dizisini başkalaşıma uğratır. Hem görüntü piksellerinde hem de görüntü boyutlarında bir görüntüden diğerine bir başkalaşım etkisi vermek için düzgün doğrusal aradeğerleme yapar.

Bağımsız Değişkenler

kare_sayısı

Resimler arasında üretilecek görüntü sayısı.

Dönen Değerler

Yöntem başarılı olursa yeni bir Imagick nesnesi döndürür. Hata durumunda bir ImagickException istisnası oluşur.


Applies a user supplied kernel to the image according to the given morphology method.

  • « Imagick::morphImages
  • Imagick::mosaicImages »
  • PHP Manual
  • Imagick
  • Applies a user supplied kernel to the image according to the given morphology method.

Imagick::morphology

(PECL imagick 3 >= 3.3.0)

Imagick::morphology — Applies a user supplied kernel to the image according to the given morphology method.

Açıklama

public Imagick::morphology(
int $morphologyMethod,
int $iterations,
ImagickKernel $ImagickKernel,
int $channel = Imagick::CHANNEL_DEFAULT
): bool

Applies a user supplied kernel to the image according to the given morphology method.

Bağımsız Değişkenler

morphologyMethod

Which morphology method to use one of the \Imagick::MORPHOLOGY_* constants.

iterations

The number of iteration to apply the morphology function. A value of -1 means loop until no change found. How this is applied may depend on the morphology method. Typically this is a value of 1.

ImagickKernel

channel

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Convolve Imagick::morphology()

<?php
$imagick = $this->getCharacter();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_GAUSSIAN, "5,1");
$imagick->morphology(\Imagick::MORPHOLOGY_CONVOLVE, 2, $kernel);
header("Content-Type: image/png");
echo $imagick->getImageBlob();

?>

Örnek 2 Correlate Imagick::morphology()

<?php

// Top-left pixel must be black
// Bottom right pixel must be white
// We don't care about the rest.

$imagick = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromMatrix(self::$correlateMatrix, [2, 2]);
$imagick->morphology(\Imagick::MORPHOLOGY_CORRELATE, 1, $kernel);
header("Content-Type: image/png");
echo $imagick->getImageBlob();

?>

Örnek 3 Erode Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_ERODE, 2, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 4 Erode Intensity Imagick::morphology()

<?php
$canvas = $this->getCharacter();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
$canvas->morphology(\Imagick::MORPHOLOGY_ERODE_INTENSITY, 2, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 5 Dilate Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_DILATE, 4, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 6 Dilate intensity Imagick::morphology()

<?php
$canvas = $this->getCharacter();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "1");
$canvas->morphology(\Imagick::MORPHOLOGY_DILATE_INTENSITY, 4, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 7 Distance with Chebyshev kernel Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CHEBYSHEV, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
$canvas->autoLevelImage();
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 8 Distance with Manhattan kernel Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_MANHATTAN, "5");
$canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
$canvas->autoLevelImage();
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 9 Distance with ocatagonal kernel Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGONAL, "5");
$canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
$canvas->autoLevelImage();
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 10 Distance with Euclidean kernel Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_EUCLIDEAN, "4");
$canvas->morphology(\Imagick::MORPHOLOGY_DISTANCE, 3, $kernel);
$canvas->autoLevelImage();
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 11 Edge Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_EDGE, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 12 Open Imagick::morphology()

<?php
// As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
$canvas->morphology(\Imagick::MORPHOLOGY_OPEN, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 13 Open intensity Imagick::morphology()

<?php
// As a result you will see that 'Open' smoothed the outline, by rounding off any sharp points, and remove any parts that is smaller than the shape used. It will also disconnect or 'open' any thin bridges.

$canvas = $this->getCharacter();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
$canvas->morphology(\Imagick::MORPHOLOGY_OPEN_INTENSITY, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 14 Close Imagick::morphology()

<?php
//The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
$canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 15 Close Intensity Imagick::morphology()

<?php
//The basic use of the 'Close' method is to reduce or remove any 'holes' or 'gaps' about the size of the kernel 'Structure Element'. That is 'close' parts of the background that are about that size.
$canvas = $this->getCharacter();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "6");
$canvas->morphology(\Imagick::MORPHOLOGY_CLOSE_INTENSITY, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 16 Smooth Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_SMOOTH, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 17 Edge in Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_EDGE_IN, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 18 Edge out Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_OCTAGON, "3");
$canvas->morphology(\Imagick::MORPHOLOGY_EDGE_OUT, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 19 The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
$canvas->morphology(\Imagick::MORPHOLOGY_TOP_HAT, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 20 The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology()

<?php

$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "5");
$canvas->morphology(\Imagick::MORPHOLOGY_BOTTOM_HAT, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 21 Hit and Miss Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
//This finds all the pixels with 3 pixels of the right edge
$matrix = [[1, false, false, 0]];
$kernel = \ImagickKernel::fromMatrix(
$matrix,
[0, 0]
);
$canvas->morphology(\Imagick::MORPHOLOGY_HIT_AND_MISS, 1, $kernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 22 Thinning Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
$rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
$leftEdgeKernel->addKernel($rightEdgeKernel);

$canvas->morphology(\Imagick::MORPHOLOGY_THINNING, 3, $leftEdgeKernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 23 Thicken Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$leftEdgeKernel = \ImagickKernel::fromMatrix([[0, 1]], [1, 0]);
$rightEdgeKernel = \ImagickKernel::fromMatrix([[1, 0]], [0, 0]);
$leftEdgeKernel->addKernel($rightEdgeKernel);

$canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, 3, $leftEdgeKernel);
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 24 Thick to generate a convex hull Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$diamondKernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "1");
$convexKernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_CONVEX_HULL, "");

// The thicken morphology doesn't handle small gaps. We close them
// with the close morphology.
$canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);
$canvas->morphology(\Imagick::MORPHOLOGY_THICKEN, -1, $convexKernel);
$canvas->morphology(\Imagick::MORPHOLOGY_CLOSE, 1, $diamondKernel);

header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 25 Iterative morphology Imagick::morphology()

<?php
$canvas = $this->getCharacterOutline();
$kernel = \ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DISK, "2");
$canvas->morphology(\Imagick::MORPHOLOGY_ITERATIVE, 3, $kernel);
$canvas->autoLevelImage();
header("Content-Type: image/png");
echo $canvas->getImageBlob();

?>

Örnek 26 Helper function to get an image silhouette Imagick::morphology()

<?php
function getCharacterOutline() {
$imagick = new \Imagick(realpath("./images/character.png"));
$character = new \Imagick();
$character->newPseudoImage(
$imagick->getImageWidth(),
$imagick->getImageHeight(),
"canvas:white"
);
$canvas = new \Imagick();
$canvas->newPseudoImage(
$imagick->getImageWidth(),
$imagick->getImageHeight(),
"canvas:black"
);

$character->compositeimage(
$imagick,
\Imagick::COMPOSITE_COPYOPACITY,
0, 0
);
$canvas->compositeimage(
$character,
\Imagick::COMPOSITE_ATOP,
0, 0
);
$canvas->setFormat('png');

return $canvas;
}
?>


Görüntülerden bir mozaik oluşturur

  • « Imagick::morphology
  • Imagick::motionBlurImage »
  • PHP Manual
  • Imagick
  • Görüntülerden bir mozaik oluşturur

Imagick::mosaicImages

(PECL imagick 2, PECL imagick 3)

Imagick::mosaicImages — Görüntülerden bir mozaik oluşturur

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::mosaicImages(): Imagick

Yapışık tek bir görüntü oluşturmak üzere bir görüntü kümesini görüntüye yanyana yerleştirir. Görüntünün sayfa başlangıcına göre tanımlanmış bir konumda birleştirilmiş bir dizi görüntünün her birini bir kalemle ilişkilendirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Hareket bulanıklığını taklit eder

  • « Imagick::mosaicImages
  • Imagick::negateImage »
  • PHP Manual
  • Imagick
  • Hareket bulanıklığını taklit eder

Imagick::motionBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::motionBlurImage — Hareket bulanıklığını taklit eder

Açıklama

public Imagick::motionBlurImage(
float $yarıçap,
float $sapma,
float $açı,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Hareket bulanıklığını taklit eder. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile resim evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::motionBlurImage() size uygun bir yarıçap seçecektir. açı ile bulanıklaştırma açısı belirtilir.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır.

sapma

Piksel cinsinden standart sapma.

açı

Bulanıklığın uygulanacağı açı.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.Bu bağımsız değişken, sadece, derleme sırasında ImageMagick kütüphanesinin 6.4.4 veya sonraki bir sürümü kuruluysa etkilidir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::motionBlurImage() örneği

<?php
function motionBlurImage($imagePath, $radius, $sigma, $angle, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->motionBlurImage($radius, $sigma, $angle, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün renklerini negatiflerine dönüştürür

  • « Imagick::motionBlurImage
  • Imagick::newImage »
  • PHP Manual
  • Imagick
  • Görüntünün renklerini negatiflerine dönüştürür

Imagick::negateImage

(PECL imagick 2, PECL imagick 3)

Imagick::negateImage — Görüntünün renklerini negatiflerine dönüştürür

Açıklama

public Imagick::negateImage(bool $gri_tonlama, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntünün renklerini negatiflerine dönüştürür. gri_tonlama bağımsız değişkenine true atanırsa görüntünün sadece gri tonlama renkleri negatiflerine dönüştürülür.

Bağımsız Değişkenler

gri_tonlama

true atanırsa görüntünün sadece gri tonlu pikselleri negatiflerine dönüştürülür.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Imagick::negateImage()

<?php
function negateImage($imagePath, $grayOnly, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->negateImage($grayOnly, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Yeni bir görüntü oluşturur

  • « Imagick::negateImage
  • Imagick::newPseudoImage »
  • PHP Manual
  • Imagick
  • Yeni bir görüntü oluşturur

Imagick::newImage

(PECL imagick 2, PECL imagick 3)

Imagick::newImage — Yeni bir görüntü oluşturur

Açıklama

public Imagick::newImage(
int $genişlik,
int $yükseklik,
mixed $artalan,
string $biçem = ?
): bool

Bir ImagickPixel değerini artalan rengi ile ilişkilendirerek yeni bir görüntü oluşturur.

Bağımsız Değişkenler

genişlik

Yeni görüntünün genişliği.

yükseklik

Yeni görüntünün yüksekliği.

artalan

Yeni görüntünün artalan rengi.

biçem

Görüntü biçemi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.
PECL imagick 2.0.1 | Seçimlik biçem bağımsız değişkeni eklendi

Örnekler

Örnek 1 - Imagick::newImage() örneği

Yeni bir görüntü oluşturup görüntüleyelim.

<?php

$image = new Imagick();
$image->newImage(100, 100, new ImagickPixel('red'));
$image->setImageFormat('png');

header('Content-type: image/png');
echo $image;

?>


Yeni bir görüntü oluşturur

  • « Imagick::newImage
  • Imagick::nextImage »
  • PHP Manual
  • Imagick
  • Yeni bir görüntü oluşturur

Imagick::newPseudoImage

(PECL imagick 2, PECL imagick 3)

Imagick::newPseudoImage — Yeni bir görüntü oluşturur

Açıklama

public Imagick::newPseudoImage(int $genişlik, int $yükseklik, string $sözde_dizge): bool

ImageMagick sözde biçemlerini kullanarak yeni bir görüntü oluşturur.

Bağımsız Değişkenler

genişlik

Yeni görüntünün genişliği.

yükseklik

Yeni görüntünün yüksekliği

sözde_dizge

Sözde görüntü tanımını içeren dizge.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::newPseudoImage() örneği

<?php
function newPseudoImage($canvasType) {
$imagick = new \Imagick();
$imagick->newPseudoImage(300, 300, $canvasType);
$imagick->setImageFormat("png");
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

//newPseudoImage('gradient:red-rgba(64, 255, 255, 0.5)');
//newPseudoImage("radial-gradient:red-blue");
newPseudoImage("plasma:fractal");

?>


Bir sonraki görüntüye gider

  • « Imagick::newPseudoImage
  • Imagick::normalizeImage »
  • PHP Manual
  • Imagick
  • Bir sonraki görüntüye gider

Imagick::nextImage

(PECL imagick 2, PECL imagick 3)

Imagick::nextImage — Bir sonraki görüntüye gider

Açıklama

public Imagick::nextImage(): bool

Görüntü listesindeki bir sonraki görüntüyü Imagick nesnesi ile ilişkilendirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Renkli bir görüntünün zıtlığını arttırır

  • « Imagick::nextImage
  • Imagick::oilPaintImage »
  • PHP Manual
  • Imagick
  • Renkli bir görüntünün zıtlığını arttırır

Imagick::normalizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::normalizeImage — Renkli bir görüntünün zıtlığını arttırır

Açıklama

public Imagick::normalizeImage(int $kanal = Imagick::CHANNEL_DEFAULT): bool

Piksel renklerini, kullanılabilen renk aralığının tamamına yaymak için ayarlayarak renkli bir görüntünün zıtlığını arttırır.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::normalizeImage() örneği

<?php
function normalizeImage($imagePath, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$original = clone $imagick;
$original->cropimage($original->getImageWidth() / 2, $original->getImageHeight(), 0, 0);
$imagick->normalizeImage($channel);
$imagick->compositeimage($original, \Imagick::COMPOSITE_ATOP, 0, 0);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Yağlı boya resmi taklit eder

  • « Imagick::normalizeImage
  • Imagick::opaquePaintImage »
  • PHP Manual
  • Imagick
  • Yağlı boya resmi taklit eder

Imagick::oilPaintImage

(PECL imagick 2, PECL imagick 3)

Imagick::oilPaintImage — Yağlı boya resmi taklit eder

Açıklama

public Imagick::oilPaintImage(float $yarıcap): bool

Yağlı boya etkisi oluşturmak için görüntüye bir süzgeç uygular. Belirtilen yarıçapa göre tanımlanın dairesel bölge içindeki her piksel, o bölge içinde en sık rastlanan renkle değiştirilir.

Bağımsız Değişkenler

yarıcap

Dairesel bölgeyi belirleyen yarıçap.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::oilPaintImage() örneği

<?php
function oilPaintImage($imagePath, $radius) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->oilPaintImage($radius);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Hedef ile eşleşen piksellerin rengini değiştirir

  • « Imagick::oilPaintImage
  • Imagick::optimizeImageLayers »
  • PHP Manual
  • Imagick
  • Hedef ile eşleşen piksellerin rengini değiştirir

Imagick::opaquePaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::opaquePaintImage — Hedef ile eşleşen piksellerin rengini değiştirir

Açıklama

public Imagick::opaquePaintImage(
mixed $hedef,
mixed $renk,
float $benzerlik,
bool $ters,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

hedef ile eşleşen renkleri renk ile değiştirir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.8 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

hedef

Değiştirilecek rengi içeren bir dizge veya bir ImagickPixel nesnesi.

renk

Yeni renk.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

ters

true belirtilirse hedef renk ile eşleşmeyen renkteki piksellerin renkleri değiştirilir.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.


En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler

  • « Imagick::opaquePaintImage
  • Imagick::orderedPosterizeImage »
  • PHP Manual
  • Imagick
  • En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler

Imagick::optimizeImageLayers

(PECL imagick 2, PECL imagick 3)

Imagick::optimizeImageLayers — En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler

Açıklama

public Imagick::optimizeImageLayers(): bool

Bir hareketli GIF görüntüde, canlandırma sonuçlarını koruyarak her görüntüyü önceki görüntü ile karşılaştırıp kırpılacak en küçük görüntü karesini seçmeye çalışır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::optimizeImageLayers() örneği

Bir GIF görüntüyü okur, en iyiler ve yazar.

<?php
/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick("test.gif");

/* Görüntü katmanlarını en iyile */
$im->optimizeImageLayers();

/* Elde edilen görüntüyü dosyaya yaz */
$im->writeImages("test_optimized.gif", true);
?>

Ayrıca Bakınız

  • Imagick::compareImageLayers() - Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür
  • Imagick::writeImages() - Bir görüntüyü veya görüntü kümesini dosyaya yazar
  • Imagick::writeImage() - Görüntüyü belirtilen dosyaya yazar


Görüntüye kurallı titreklik uygular

  • « Imagick::optimizeImageLayers
  • Imagick::paintFloodfillImage »
  • PHP Manual
  • Imagick
  • Görüntüye kurallı titreklik uygular

Imagick::orderedPosterizeImage

(PECL imagick 2 >= 2.2.2, PECL imagick 3)

Imagick::orderedPosterizeImage — Görüntüye kurallı titreklik uygular

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::orderedPosterizeImage(string $eşik_eşlemi, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Önceden tanımlanmış kıpırtı eşik seviyelerine göre görüntüye titreklik uygular. Belirtilen kanal veya kanallara bağlı olarak çok sayıda eşik seviyesi bulunabilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.1 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

eşik_eşlemi

Kullanılacak eşik eşleminin ismini içeren bir dizge.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::orderedPosterizeImage() örneği

<?php
function orderedPosterizeImage($imagePath, $orderedPosterizeType) {
$imagick = new \Imagick(realpath($imagePath));

$imagick->orderedPosterizeImage($orderedPosterizeType);
$imagick->setImageFormat('png');

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

//orderedPosterizeImage($imagePath, 'o4x4,3,3');
//orderedPosterizeImage($imagePath, 'o8x8,6,6');
orderedPosterizeImage($imagePath, 'h8x8a');
?>


Belirtilen renkle eşleşen piksellerin rengini değiştirir

  • « Imagick::orderedPosterizeImage
  • Imagick::paintOpaqueImage »
  • PHP Manual
  • Imagick
  • Belirtilen renkle eşleşen piksellerin rengini değiştirir

Imagick::paintFloodfillImage

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::paintFloodfillImage — Belirtilen renkle eşleşen piksellerin rengini değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::paintFloodfillImage(
mixed $dolgu,
float $benzerlik,
mixed $çerçeve_rengi,
int $x,
int $y,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Belirtilen dolgu rengiyle eşleşen piksellerin ve komşularının rengini değiştirir. ImageMagick 6.3.8 itibariyle bu yöntemin kullanımı önerilmemektedir; yerine Imagick::floodfillPaintImage() kullanılmalıdır.

Bağımsız Değişkenler

dolgu

Renk ifade eden bir dizge veya bir ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

çerçeve_rengi

Çerçeve rengini ifade eden bir dizge veya bir ImagickPixel nesnesi.

x

Dolgunun başlatılacağı X konumu.

y

Dolgunun başlatılacağı Y konumu.

kanal

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.


Bir rengi bir başka renkle değiştirir

  • « Imagick::paintFloodfillImage
  • Imagick::paintTransparentImage »
  • PHP Manual
  • Imagick
  • Bir rengi bir başka renkle değiştirir

Imagick::paintOpaqueImage

(PECL imagick 2, PECL imagick 3)

Imagick::paintOpaqueImage — Bir rengi bir başka renkle değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::paintOpaqueImage(
mixed $eskisi,
mixed $yenisi,
float $benzerlik,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

eskisi renkteki pikselleri yenisi renge çevirir.

Bağımsız Değişkenler

eskisi

Mevcut rengi ifade eden bir dizge veya bir ImagickPixel nesnesi.

yenisi

Yeni rengi ifade eden bir dizge veya bir ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick2.1.0 | Artık birinci ve ikinci bağımsız değişkenlerde renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.


Görüntüdeki belli bir rengi dolgu rengiyle değiştirir

  • « Imagick::paintOpaqueImage
  • Imagick::pingImage »
  • PHP Manual
  • Imagick
  • Görüntüdeki belli bir rengi dolgu rengiyle değiştirir

Imagick::paintTransparentImage

(PECL imagick 2, PECL imagick 3)

Imagick::paintTransparentImage — Görüntüdeki belli bir rengi dolgu rengiyle değiştirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::paintTransparentImage(mixed $hedef, float $alfa, float $benzerlik): bool

Görüntüdeki belli bir rengi dolgu rengiyle değiştirir.

Bağımsız Değişkenler

hedef

Değiştirilecek renk.

alfa

Şeffaflık seviyesi: 1.0 tam mat ve 0.0 tam şeffaf.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.


Temel görüntü özniteliklerini bir dosyadan okur

  • « Imagick::paintTransparentImage
  • Imagick::pingImageBlob »
  • PHP Manual
  • Imagick
  • Temel görüntü özniteliklerini bir dosyadan okur

Imagick::pingImage

(PECL imagick 2, PECL imagick 3)

Imagick::pingImage — Temel görüntü özniteliklerini bir dosyadan okur

Açıklama

public Imagick::pingImage(string $dosya): bool

Bu yöntem, görüntünün tamamını belleğe aktarmadan görüntünün boyutlarının ve biçeminin sorgulanmasını sağlar.

Bağımsız Değişkenler

dosya

Bilgilerin okunacağı dosya.

Dönen Değerler

Başarı durumunda true döner.


Temel görüntü özniteliklerini bir dizgeden okur

  • « Imagick::pingImage
  • Imagick::pingImageFile »
  • PHP Manual
  • Imagick
  • Temel görüntü özniteliklerini bir dizgeden okur

Imagick::pingImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::pingImageBlob — Temel görüntü özniteliklerini bir dizgeden okur

Açıklama

publicImagick::pingImageBlob(string $görüntü): bool

Bu yöntem, görüntünün tamamını belleğe aktarmadan görüntünün boyutlarının ve biçeminin sorgulanmasını sağlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

görüntü

Görüntü verisini içeren ikil dizge.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::pingImageBlob() örneği

<?php
/* Görüntünün içeriğini bir dizgeye oku */
$image = file_get_contents("test.jpg");

/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* Dizgeyi nesneye aktar */
$im->pingImageBlob($image);

/* Görüntünün genişlik ve yüksekliğini bas */
echo $im->getImageWidth() . 'x' . $im->getImageHeight();
?>

Ayrıca Bakınız

  • Imagick::pingImage() - Temel görüntü özniteliklerini bir dosyadan okur
  • Imagick::pingImageFile() - Temel görüntü özniteliklerini bir akımdan okur
  • Imagick::readImage() - Görüntüyü dosyadar okur
  • Imagick::readImageBlob() - Görüntüyü ikil bir dizgeden okur
  • Imagick::readImageFile() - Görüntüyü akımdan okur


Temel görüntü özniteliklerini bir akımdan okur

  • « Imagick::pingImageBlob
  • Imagick::polaroidImage »
  • PHP Manual
  • Imagick
  • Temel görüntü özniteliklerini bir akımdan okur

Imagick::pingImageFile

(PECL imagick 2, PECL imagick 3)

Imagick::pingImageFile — Temel görüntü özniteliklerini bir akımdan okur

Açıklama

public Imagick::pingImageFile(resource $dt, string $dosya = ?): bool

Bu yöntem, görüntünün tamamını belleğe aktarmadan görüntünün boyutlarının ve biçeminin sorgulanmasını sağlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

filehandle

Görüntü için açık bir dosya tanıtıcısı.

dosya

Seçimlik olarak görüntünün dosya ismi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::pingImageFile() örneği

Uzaktaki bir dosyayı açmak

<?php
/* Uzak dosyaya fopen */
$dt = fopen("http://example.com/test.jpg");

/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* Dosya tanıtıcısını nesneye aktar */
$im->pingImageFile($dt);
?>

Ayrıca Bakınız

  • Imagick::pingImage() - Temel görüntü özniteliklerini bir dosyadan okur
  • Imagick::pingImageBlob() - Temel görüntü özniteliklerini bir dizgeden okur
  • Imagick::readImage() - Görüntüyü dosyadar okur
  • Imagick::readImageBlob() - Görüntüyü ikil bir dizgeden okur
  • Imagick::readImageFile() - Görüntüyü akımdan okur


Polaroid resmi taklit eder

  • « Imagick::pingImageFile
  • Imagick::posterizeImage »
  • PHP Manual
  • Imagick
  • Polaroid resmi taklit eder

Imagick::polaroidImage

(PECL imagick 2, PECL imagick 3)

Imagick::polaroidImage — Polaroid resmi taklit eder

Açıklama

Imagick::polaroidImage(ImagickDraw $nesne, float $açı): bool

Polaroid resmi taklit eder. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.2 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

nesne

Polaroid resmin özellikleri.

açı

Polaroid açısı.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::polaroidImage() örneği

<?php
/* Nesneyi oluştur */
$image = new Imagick('source.png');

/* Matlığı ayarla */
$image->polaroidImage(new ImagickDraw(), 25);

/* Görüntüyü çıktıla */
header('Content-type: image/png');
echo $image;

?>


Görüntüdeki renkleri belli bir sayıya düşürür

  • « Imagick::polaroidImage
  • Imagick::previewImages »
  • PHP Manual
  • Imagick
  • Görüntüdeki renkleri belli bir sayıya düşürür

Imagick::posterizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::posterizeImage — Görüntüdeki renkleri belli bir sayıya düşürür

Açıklama

public Imagick::posterizeImage(int $seviyeler, bool $kıpırtı): bool

Görüntüdeki renkleri belli bir sayıya düşürür.

Bağımsız Değişkenler

seviyeler

Her kanalda izin verilen renk sayısı seviyeleri. Düşük değerler daha belirgin etkiler oluşturur.

kıpırtı

Sıfırdan farklı bir tamsayı.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::posterizeImage()

<?php
function posterizeImage($imagePath, $posterizeType, $numberLevels) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->posterizeImage($numberLevels, $posterizeType);
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

posterizeImage($imagePath, \Imagick::DITHERMETHOD_RIEMERSMA, 8);

?>


Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır

  • « Imagick::posterizeImage
  • Imagick::previousImage »
  • PHP Manual
  • Imagick
  • Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır

Imagick::previewImages

(PECL imagick 2, PECL imagick 3)

Imagick::previewImages — Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır

Açıklama

public Imagick::previewImages(int $preview): bool

Bir görüntü işlemini farklı derecelerde uygulayarak, Görüntünün üretilmiş 9 küçük örneğini bir tuvale döşer. Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitinde çok işe yarar.

Bağımsız Değişkenler

önizleme

Önizleme türü sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir önceki görüntüye gider

  • « Imagick::previewImages
  • Imagick::profileImage »
  • PHP Manual
  • Imagick
  • Bir önceki görüntüye gider

Imagick::previousImage

(PECL imagick 2, PECL imagick 3)

Imagick::previousImage — Bir önceki görüntüye gider

Açıklama

public Imagick::previousImage(): bool

Görüntü listesindeki bir önceki görüntüyü Imagick nesnesi ile ilişkilendirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Bir görüntüye profil ekler veya çıkarır

  • « Imagick::previousImage
  • Imagick::quantizeImage »
  • PHP Manual
  • Imagick
  • Bir görüntüye profil ekler veya çıkarır

Imagick::profileImage

(PECL imagick 2, PECL imagick 3)

Imagick::profileImage — Bir görüntüye profil ekler veya çıkarır

Açıklama

public Imagick::profileImage(string $isim, ?string $profil): bool

Görüntüye bir ICC, IPTC veya soysal bir profil ekler veya olanı siler. Görüntüdeki tüm profilleri silmek için isim olarak '*', profil olarak null belirtilebilir.

Bağımsız Değişkenler

isim

profil

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belli bir görüntü içindeki renk miktarını bulur

  • « Imagick::profileImage
  • Imagick::quantizeImages »
  • PHP Manual
  • Imagick
  • Belli bir görüntü içindeki renk miktarını bulur

Imagick::quantizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::quantizeImage — Belli bir görüntü içindeki renk miktarını bulur

Açıklama

public Imagick::quantizeImage(
int $renk_sayısı,
int $renk_uzayı,
int $ağaç_derinliği,
bool $kıpırtı,
bool $ölçme_hatası
): bool

Belli bir görüntü içindeki renkleri inceleyip görüntüyü ifade edebilecek sayıda renk seçer. Algoritmanın amacı, girdi ve çıktı görüntüleri arasındaki renk farkını en aza indirerek işlem zamanını kısaltmaktır.

Bağımsız Değişkenler

renk_sayısı

Renk sayısı

renk_uzayı

Renk azaltma bu renk uzayında yapılır.

ağaç_derinliği

Normalde sıfır ya da bir olup, bu takdirde renk sayısına en uygun ağaç seçilir. Ağaç derinliği, en az bellek harcayarak en yüksek işlem hızında görüntünün en iyi nasıl ifade edilececeğini belirler. Renk ağacını tam boyutuna genişletmek için 8 kullanın.

kıpırtı

Sıfırdan büyük bir değer komşu pikseller arasındaki farkı dağıtır.

ölçme_hatası

Özgün görüntü ile işlem görmüş görüntü arasındaki farkın ölçüsü olarak sıfırdan farklı bir tamsayı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::quantizeImage()

<?php
function quantizeImage($imagePath, $numberColors, $colorSpace, $treeDepth, $dither) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->quantizeImage($numberColors, $colorSpace, $treeDepth, $dither, false);
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir görüntü kümesi içindeki renk miktarını bulur

  • « Imagick::quantizeImage
  • Imagick::queryFontMetrics »
  • PHP Manual
  • Imagick
  • Bir görüntü kümesi içindeki renk miktarını bulur

Imagick::quantizeImages

(PECL imagick 2, PECL imagick 3)

Imagick::quantizeImages — Bir görüntü kümesi içindeki renk miktarını bulur

Açıklama

public Imagick::quantizeImages(
int $renk_sayısı,
int $renk_uzayı,
int $ağaç_derinliği,
bool $kıpırtı,
bool $ölçme_hatası
): bool

Bir görüntü kümesi içindeki renkleri inceleyip görüntüyü ifade edebilecek sayıda renk seçer. Algoritmanın amacı, girdi ve çıktı görüntüleri arasındaki renk farkını en aza indirerek işlem zamanını kısaltmaktır.

Bağımsız Değişkenler

renk_sayısı

Renk sayısı.

renk_uzayı

Renk azaltma bu renk uzayında yapılır.

ağaç_derinliği

Normalde sıfır ya da bir olup, bu takdirde renk sayısına en uygun ağaç seçilir. Ağaç derinliği, en az bellek harcayarak en yüksek işlem hızında görüntünün en iyi nasıl ifade edilececeğini belirler. Renk ağacını tam boyutuna genişletmek için 8 kullanın.

kıpırtı

Sıfırdan büyük bir değer komşu pikseller arasındaki farkı dağıtır.

ölçme_hatası

Özgün görüntülerle işlem görmüş görüntüler arasındaki farkın ölçüsü olarak sıfırdan farklı bir tamsayı.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Yazı tipinin özelliklerini içeren bir dizi döndürür

  • « Imagick::quantizeImages
  • Imagick::queryFonts »
  • PHP Manual
  • Imagick
  • Yazı tipinin özelliklerini içeren bir dizi döndürür

Imagick::queryFontMetrics

(PECL imagick 2, PECL imagick 3)

Imagick::queryFontMetrics — Yazı tipinin özelliklerini içeren bir dizi döndürür

Açıklama

public Imagick::queryFontMetrics(ImagickDraw $nesne, string $metin, bool $çoksatırlı = ?): array

Yazı tipi özelliklerini içeren çok boyutlu bir dizi döndürür.

Bağımsız Değişkenler

nesne

Yazı tipi özelliklerine bakılacak ImagickDraw nesnesi.

metin

Metin dizgesi.

çoksatırlı

Boş bırakılırsa çok satırlılık otomatik olarak saptanır.

Dönen Değerler

Yazı tipi özelliklerini içeren çok boyutlu bir dizi.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::queryFontMetrics() örneği

Metni çizmek için kullanılan yazı tipinin özelliklerini sorgular ve sonuçları ekrana döker.

<?php
/* Yeni bir Imagick nesnesi oluşturalım */
$im = new Imagick();

/* Bir ImagickDraw nesnesi oluşturalım */
$draw = new ImagickDraw();

/* Yazı tipini tanımlayalım */
$draw->setFont('/path/to/font.ttf');

/* Çok satırlılığı algılatarak yazı tipinin özelliklerini dökelim */
var_dump($im->queryFontMetrics($draw, "Hello World!"));
?>


Yapılandırımış yazı tiplerini döndürür

  • « Imagick::queryFontMetrics
  • Imagick::queryFormats »
  • PHP Manual
  • Imagick
  • Yapılandırımış yazı tiplerini döndürür

Imagick::queryFonts

(PECL imagick 2, PECL imagick 3)

Imagick::queryFonts — Yapılandırımış yazı tiplerini döndürür

Açıklama

public static Imagick::queryFonts(string $şablon = "*"): array

Imagick yapılandırılmış yazı tiplerini döndürür.

Bağımsız Değişkenler

şablon

Sorgu şablonu.

Dönen Değerler

Yapılandırılmış yazı tiplerini içeren bir dizi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::queryFonts() örneği

<?php
$output = '';
$output .= "'Helvetica*' ile eşleşen yazı tipleri:<br/>";

$fontList = \Imagick::queryFonts("Helvetica*");

foreach ($fontList as $fontName) {
$output .= '<li>'. $fontName."</li>";
}

return $output;

?>


Imagick tarafından desteklenen biçemleri döndürür

  • « Imagick::queryFonts
  • Imagick::radialBlurImage »
  • PHP Manual
  • Imagick
  • Imagick tarafından desteklenen biçemleri döndürür

Imagick::queryFormats

(PECL imagick 2, PECL imagick 3)

Imagick::queryFormats — Imagick tarafından desteklenen biçemleri döndürür

Açıklama

public static Imagick::queryFormats(string $şablon = "*"): array

Imagick tarafından desteklenen biçemleri döndürür.

Bağımsız Değişkenler

şablon

Dönen Değerler

Imagick tarafından desteklenen biçemleri içeren bir dizi döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::queryFormats() örneği

<?php
function render() {
$output = "";
$input = \Imagick::queryformats();
$columns = 6;

$output .= "<table border='2'>";

for ($i=0; $i < count($input); $i += $columns) {
$output .= "<tr>";
for ($c=0; $c<$columns; $c++) {
$output .= "<td>";
if (($i + $c) < count($input)) {
$output .= $input[$i + $c];
}
$output .= "</td>";
}
$output .= "</tr>";
}

$output .= "</table>";

return $output;
}

?>


Görüntüye dairesel bulanıklık uygular

  • « Imagick::queryFormats
  • Imagick::raiseImage »
  • PHP Manual
  • Imagick
  • Görüntüye dairesel bulanıklık uygular

Imagick::radialBlurImage

(PECL imagick 2, PECL imagick 3)

Imagick::radialBlurImage — Görüntüye dairesel bulanıklık uygular

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::radialBlurImage(float $açı, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüye dairesel bulanıklık uygular.

Bağımsız Değişkenler

açı

Bulanıklık açısı.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_ALL öntanımlıdır. Bu bağımsız değişken, sadece, derleme sırasında ImageMagick

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::radialBlurImage()

<?php
function radialBlurImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
//Blur 3 times with different radii
$imagick->radialBlurImage(3);
$imagick->radialBlurImage(5);
$imagick->radialBlurImage(7);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


3 boyutlu düğme benzeri bir etki oluşturur

  • « Imagick::radialBlurImage
  • Imagick::randomThresholdImage »
  • PHP Manual
  • Imagick
  • 3 boyutlu düğme benzeri bir etki oluşturur

Imagick::raiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::raiseImage — 3 boyutlu düğme benzeri bir etki oluşturur

Açıklama

public Imagick::raiseImage(
int $genişlik,
int $yükseklik,
int $x,
int $y,
bool $çıkıntı
): bool

Görüntünün kenarlarını karartarak ve aydınlatarak üç boyutlu düğme benzeri bir etki oluşturur.

Bağımsız Değişkenler

genişlik

Çıkıntı genişliği.

yükseklik

Çıkıntı yüksekliği.

x

y

çıkıntı

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::raiseImage() örneği

<?php
function raiseImage($imagePath, $width, $height, $x, $y, $raise) {
$imagick = new \Imagick(realpath($imagePath));

//x ve y gereksiz mi?
$imagick->raiseImage($width, $height, $x, $y, $raise);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Yüksek zıtlığa sahip iki renkli görüntü oluşturur

  • « Imagick::raiseImage
  • Imagick::readImage »
  • PHP Manual
  • Imagick
  • Yüksek zıtlığa sahip iki renkli görüntü oluşturur

Imagick::randomThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::randomThresholdImage — Yüksek zıtlığa sahip iki renkli görüntü oluşturur

Açıklama

public Imagick::randomThresholdImage(float $düşük, float $yüksek, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Piksel değerlerini tek tek belirtilen eşiğe uygun olarak değiştirir. Elde edilen görüntü, iki renkli yüksek zıtlığa sahip bir görüntü olur. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

düşük

Düşük nokta.

yüksek

Yüksek nokta.

kanal

Kanal kipi için geçerli herhangi bir kanal sabiti. Birden fazla kanal belirtmek isterseniz kanal sabitlerini bitsel işleçleri kullanarak birleştirebilirsiniz.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::randomThresholdImage() örneği

<?php
function randomThresholdimage($imagePath, $lowThreshold, $highThreshold, $channel) {
$imagick = new \Imagick(realpath($imagePath));

$imagick->randomThresholdimage(
$lowThreshold * \Imagick::getQuantum(),
$highThreshold * \Imagick::getQuantum(),
$channel
);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü dosyadar okur

  • « Imagick::randomThresholdImage
  • Imagick::readImageBlob »
  • PHP Manual
  • Imagick
  • Görüntüyü dosyadar okur

Imagick::readImage

(PECL imagick 2, PECL imagick 3)

Imagick::readImage — Görüntüyü dosyadar okur

Açıklama

public Imagick::readImage(string $dosya): bool

Görüntüyü belirtilen dosyadan okur.

Bağımsız Değişkenler

dosya

Dosya yolu.

Dönen Değerler

Başarı durumunda true döner.


Görüntüyü ikil bir dizgeden okur

  • « Imagick::readImage
  • Imagick::readImageFile »
  • PHP Manual
  • Imagick
  • Görüntüyü ikil bir dizgeden okur

Imagick::readImageBlob

(PECL imagick 2, PECL imagick 3)

Imagick::readImageBlob — Görüntüyü ikil bir dizgeden okur

Açıklama

public Imagick::readImageBlob(string $dizge, string $dosya = ?): bool

Görüntüyü belirtilen ikil dizgeden okur.

Bağımsız Değişkenler

dizge

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::readImageBlob() örneği

<?php
function readImageBlob() {
$base64 = "iVBORw0KGgoAAAANSUhEUgAAAM0AAAD
NCAMAAAAsYgRbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5c
cllPAAAABJQTFRF3NSmzMewPxIG//ncJEJsldTou1jHgAAAARBJREFUeNrs2EEK
gCAQBVDLuv+V20dENbMY831wKz4Y/VHb/5RGQ0NDQ0NDQ0NDQ0NDQ0NDQ
0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0PzMWtyaGhoaGhoaGhoaGhoaGhoxtb0QGho
aGhoaGhoaGhoaGhoaMbRLEvv50VTQ9OTQ5OpyZ01GpM2g0bfmDQaL7S+ofFC6x
v3ZpxJiywakzbvd9r3RWPS9I2+MWk0+kbf0Hih9Y17U0nTHibrDDQ0NDQ0NDQ0
NDQ0NDQ0NTXbRSL/AK72o6GhoaGhoRlL8951vwsNDQ0NDQ1NDc0WyHtDTEhD
Q0NDQ0NTS5MdGhoaGhoaGhoaGhoaGhoaGhoaGhoaGposzSHAAErMwwQ2HwRQ
AAAAAElFTkSuQmCC";

$imageBlob = base64_decode($base64);

$imagick = new Imagick();
$imagick->readImageBlob($imageBlob);

header("Content-Type: image/png");
echo $imagick;
}

?>


Görüntüyü akımdan okur

  • « Imagick::readImageBlob
  • Imagick::readimages »
  • PHP Manual
  • Imagick
  • Görüntüyü akımdan okur

Imagick::readImageFile

(PECL imagick 2, PECL imagick 3)

Imagick::readImageFile — Görüntüyü akımdan okur

Açıklama

public Imagick::readImageFile(resource $dt, string $dosya = null): bool

Görüntüyü belirtilen dosya tanıtıcısından okur.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı.

dosya

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Reads image from an array of filenames

  • « Imagick::readImageFile
  • Imagick::recolorImage »
  • PHP Manual
  • Imagick
  • Reads image from an array of filenames

Imagick::readimages

(PECL imagick 2, PECL imagick 3)

Imagick::readimages — Reads image from an array of filenames

Açıklama

public Imagick::readImages(array $filenames): bool

Reads image from an array of filenames. All the images are held in a single Imagick object.

Bağımsız Değişkenler

filenames

Dönen Değerler

Başarı durumunda true döner.


Görüntüyü yeniden renklendirir

  • « Imagick::readimages
  • Imagick::reduceNoiseImage »
  • PHP Manual
  • Imagick
  • Görüntüyü yeniden renklendirir

Imagick::recolorImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::recolorImage — Görüntüyü yeniden renklendirir

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::animateImages(array $matris): bool

Görüntü renklerini döndürür, oranlar, keser, dönüştürür. Her boyda matris desteklense de normalde RGBA için 5x5, CMYK için 6x6 matris kullanılır. Son satırın normalleştirilmiş değerleri içermesi gerekir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

matris

Renk değerlerini içeren matris.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::recolorImage() örneği

<?php
function recolorImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$remapColor = [ 1, 0, 0,
0, 0, 1,
0, 1, 0,];

//$remapColor = [
// 1.438, -0.122, -0.016, 0, 0, -0.03,
// -0.062, 1.378, -0.016, 0, 0, 0.05,
// -0.062, -0.122, 1.483, 0, 0, -0.02,
//];

@$imagick->recolorImage($remapColor);

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::displayImage() - Bir görüntüyü gösterir


Görüntünün dış hatlarını yumuşatır

  • « Imagick::recolorImage
  • Imagick::remapImage »
  • PHP Manual
  • Imagick
  • Görüntünün dış hatlarını yumuşatır

Imagick::reduceNoiseImage

(PECL imagick 2, PECL imagick 3)

Imagick::reduceNoiseImage — Görüntünün dış hatlarını yumuşatır

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

publicImagick::reduceNoiseImage(float $yarıçap): bool

Görüntünün dış hatlarını kenar bilgisini koruyarak yumuşatır. Algoritma, her pikselin rengini komşu pikselin rengine en yakın renkle değiştirerek çalışır. Komşuluk yarıçap ile belirlenir.

Bağımsız Değişkenler

yarıçap

0 belirtilirse yöntem uygun bir yarıçap seçecektir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::reduceNoiseImage() örneği

<?php
function reduceNoiseImage($imagePath, $reduceNoise) {
$imagick = new \Imagick(realpath($imagePath));
@$imagick->reduceNoiseImage($reduceNoise);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Remaps image colors

  • « Imagick::reduceNoiseImage
  • Imagick::removeImage »
  • PHP Manual
  • Imagick
  • Remaps image colors

Imagick::remapImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::remapImage — Remaps image colors

Açıklama

public Imagick::remapImage(Imagick $replacement, int $DITHER): bool

Replaces colors an image with those defined by replacement. The colors are replaced with the closest possible color. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

replacement

An Imagick object containing the replacement colors

DITHER

Refer to this list of dither method constants

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü kümesinden görüntü siler

  • « Imagick::remapImage
  • Imagick::removeImageProfile »
  • PHP Manual
  • Imagick
  • Görüntü kümesinden görüntü siler

Imagick::removeImage

(PECL imagick 2, PECL imagick 3)

Imagick::removeImage — Görüntü kümesinden görüntü siler

Açıklama

public Imagick::removeImage(): bool

Görüntü kümesinden görüntü siler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


İsimli görüntü profilini silip döndürür

  • « Imagick::removeImage
  • Imagick::render »
  • PHP Manual
  • Imagick
  • İsimli görüntü profilini silip döndürür

Imagick::removeImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::removeImageProfile — İsimli görüntü profilini silip döndürür

Açıklama

public Imagick::removeImageProfile(string $isim): string

İsimli görüntü profilini silip döndürür.

Bağımsız Değişkenler

isim

Dönen Değerler

Görüntünün profilini bir dizge olarak döndürür.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Evvelce verilmiş tüm çizim komutlarını uygular

  • « Imagick::removeImageProfile
  • Imagick::resampleImage »
  • PHP Manual
  • Imagick
  • Evvelce verilmiş tüm çizim komutlarını uygular

Imagick::render

(PECL imagick 2, PECL imagick 3)

Imagick::render — Evvelce verilmiş tüm çizim komutlarını uygular

Açıklama

public Imagick::render(): bool

Evvelce verilmiş tüm çizim komutlarını uygular.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler

  • « Imagick::render
  • Imagick::resetImagePage »
  • PHP Manual
  • Imagick
  • Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler

Imagick::resampleImage

(PECL imagick 2, PECL imagick 3)

Imagick::resampleImage — Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler

Açıklama

public Imagick::resampleImage(
float $x_çözünürlüğü,
float $y_çözünürlüğü,
int $süzgeç,
float $bulanıklık
): bool

Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler.

Bağımsız Değişkenler

x_çözünürlüğü

y_çözünürlüğü

süzgeç

bulanıklık

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::resampleImage() örneği

<?php
function resampleImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));

$imagick->resampleImage(200, 200, \Imagick::FILTER_LANCZOS, 1);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntü sayfasını sıfırlar

  • « Imagick::resampleImage
  • Imagick::resizeImage »
  • PHP Manual
  • Imagick
  • Görüntü sayfasını sıfırlar

Imagick::resetImagePage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::resetImagePage — Görüntü sayfasını sıfırlar

Açıklama

public Imagick::resetImagePage(string $sayfa): bool

Sayfa tanımlama biçemi: GxY+x+y. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

sayfa

Bir dizge olarak sayfa tanımı. Örnek: 7168x5147+0+0

Dönen Değerler

Başarı durumunda true döner.


Görüntüyü boyutlandırır

  • « Imagick::resetImagePage
  • Imagick::rollImage »
  • PHP Manual
  • Imagick
  • Görüntüyü boyutlandırır

Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::resizeImage — Görüntüyü boyutlandırır

Açıklama

public Imagick::resizeImage(
int $genişlik,
int $yükseklik,
int $süzgeç,
float $bulanıklık,
bool $sığdır = false,
bool $eski = false
): bool

Bir süzgeç kullanarak görüntüyü boyutlarını belirtildiği gibi değiştirir.

Bilginize: sığdır bağımsız değişkeninin davranışı Imagick 3.0.0 sürümünde değişmiştir. Evvelce 200x150 ebadındaki bir görüntü 400x400 ebadındaki bir alana sığdırılmak istendiğinde bu yapılmazdı. Artık görüntü 400x300 ebadına getirilerek belirtilen alana sığdırılmaktadır. sığdır bağımsız değişkeni kullanıldığı takdirde yükseklik ve genişliğin ikisi de verilmelidir.

Bağımsız Değişkenler

genişlik

Resmin genişliği.

yükseklik

Resmin yüksekliği.

süzgeç

Süzgeç sabitlerinden biri.

bulanıklık

Birden büyük değerler bulanıklığı, küçük değerler netliği arttırır.

fit

Boyutlara sığdırmayı zorlayan seçimlik bağımsız değişken.

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Seçimlik sığdır bağımsız değişkeni eklendi. Yöntem artık sadece yükseklik veya genişlik vererek oranlamayı da destekliyor. Hesaplanacak boyut için bağımsız değişkene 0 belirtmek gerekiyor.


Görüntünün başlangıç noktasını tanımlar

  • « Imagick::resizeImage
  • Imagick::rotateImage »
  • PHP Manual
  • Imagick
  • Görüntünün başlangıç noktasını tanımlar

Imagick::rollImage

(PECL imagick 2, PECL imagick 3)

Imagick::rollImage — Görüntünün başlangıç noktasını tanımlar

Açıklama

public Imagick::rollImage(int $x, int $y): bool

Görüntünün başlangıç noktasını tanımlar.

Bağımsız Değişkenler

x

Noktanın X konumu.

y

Noktanın Y konumu.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::rollImage() örneği

<?php
function rollImage($imagePath, $rollX, $rollY) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->rollimage($rollX, $rollY);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü döndürür

  • « Imagick::rollImage
  • Imagick::rotationalBlurImage »
  • PHP Manual
  • Imagick
  • Görüntüyü döndürür

Imagick::rotateImage

(PECL imagick 2, PECL imagick 3)

Imagick::rotateImage — Görüntüyü döndürür

Açıklama

public Imagick::rotateImage(mixed $artalan, float $açı): bool

Görüntüyü açı derece döndürür. Görüntünün döndürülmesiyle boşalan üçgenler artalan rengiyle doldurulur.

Bağımsız Değişkenler

artalan

Artalan rengi.

açı

Derece cinsinden dönme açısı.

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::rotateImage() örneği

<?php
function rotateImage($imagePath, $angle, $color) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->rotateimage($color, $angle);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Rotational blurs an image

  • « Imagick::rotateImage
  • Imagick::roundCorners »
  • PHP Manual
  • Imagick
  • Rotational blurs an image

Imagick::rotationalBlurImage

(PECL imagick 3 >= 3.3.0)

Imagick::rotationalBlurImage — Rotational blurs an image

Açıklama

public Imagick::rotationalBlurImage(float $angle, int $channel = Imagick::CHANNEL_DEFAULT): bool

Rotational blurs an image.

Bağımsız Değişkenler

angle

The angle to apply the blur over.

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::rotationalBlurImage()

<?php
function rotationalBlurImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->rotationalBlurImage(3);
$imagick->rotationalBlurImage(5);
$imagick->rotationalBlurImage(7);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün köşelerini yuvarlatır

  • « Imagick::rotationalBlurImage
  • Imagick::sampleImage »
  • PHP Manual
  • Imagick
  • Görüntünün köşelerini yuvarlatır

Imagick::roundCorners

(PECL imagick 2, PECL imagick 3)

Imagick::roundCorners — Görüntünün köşelerini yuvarlatır

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::roundCorners(
float $x_yarıçapı,
float $y_yarıçapı,
float $vurgu_genişliği = 10,
float $yer_değiştirme = 5,
float $boyut_düzeltme = -6
): bool

Görüntünün köşelerini yuvarlatır. İlk iki bağımsız değişken yuvarlatma miktarını belirlerken, son üç bağımsız değişken ise yuvarlatma işleminin hassas ayarı için kullanılır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir. Imagick, ImageMagick 7.0.0 veya daha yeni bir sürümle derlenmişse bu yöntem kullanılamaz.

Bağımsız Değişkenler

x_yarıçapı

X yarıçapı.

y_yarıçapı

Y yarıçapı.

vurgu_genişliği

Vurgu genişliği

yer_değiştirme

Yer değiştirme miktarı.

boyut_düzeltme

Boyut düzeltme miktarı.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::roundCorners() örneği

<?php

$image = new Imagick();
$image->newPseudoImage(100, 100, "magick:rose");
$image->setImageFormat("png");

$image->roundCorners(5,3);
$image->writeImage("rounded.png");
?>


Görüntüyü piksel örneklemeyle oranlar

  • « Imagick::roundCorners
  • Imagick::scaleImage »
  • PHP Manual
  • Imagick
  • Görüntüyü piksel örneklemeyle oranlar

Imagick::sampleImage

(PECL imagick 2, PECL imagick 3)

Imagick::sampleImage — Görüntüyü piksel örneklemeyle oranlar

Açıklama

public Imagick::sampleImage(int $genişlik, int $yükseklik): bool

Görüntüyü piksel örnekleme yöntemiyle istenen boyutlara ayarlar. Diğer oranlama yöntemlerinin tersine bu yöntem görüntüye fazladan renk eklemez.

Bağımsız Değişkenler

genişlik

yükseklik

Dönen Değerler

Başarı durumunda true döner.


Görüntünün enboy oranını ayarlar

  • « Imagick::sampleImage
  • Imagick::segmentImage »
  • PHP Manual
  • Imagick
  • Görüntünün enboy oranını ayarlar

Imagick::scaleImage

(PECL imagick 2, PECL imagick 3)

Imagick::scaleImage — Görüntünün enboy oranını ayarlar

Açıklama

public Imagick::scaleImage(
int $genişlik,
int $yükseklik,
bool $sığdır = false,
bool $eski = false
): bool

Görüntünün boyutlarını belirtilen değerlere ayarlar. 0 olarak belirtilen bağımsız değişken görüntünün enboy oranı hesaba katılarak diğer bağımsız değişkene göre hesaplanır.

Bilginize: sığdır bağımsız değişkeninin davranışı Imagick 3.0.0 sürümünde değişmiştir. Evvelce 200x150 ebadındaki bir görüntü 400x400 ebadındaki bir alana sığdırılmak istendiğinde bu yapılmazdı. Artık görüntü 400x300 ebadına getirilerek belirtilen alana sığdırılmaktadır. sığdır bağımsız değişkeni kullanıldığı takdirde yükseklik ve genişliğin ikisi de verilmelidir.

Bağımsız Değişkenler

genişlik

yükseklik

sığdır

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Seçimlik sığdır bağımsız değişkeni eklendi. Yöntem artık sadece yükseklik veya genişlik vererek oranlamayı da destekliyor. Hesaplanacak boyut için bağımsız değişkene 0 belirtmek gerekiyor.

Örnekler

Örnek 1 - Imagick::scaleImage() örneği

<?php
function scaleImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->scaleImage(150, 150, true);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Segments an image

  • « Imagick::scaleImage
  • Imagick::selectiveBlurImage »
  • PHP Manual
  • Imagick
  • Segments an image

Imagick::segmentImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::segmentImage — Segments an image

Açıklama

public Imagick::segmentImage(
int $COLORSPACE,
float $cluster_threshold,
float $smooth_threshold,
bool $verbose = false
): bool

Analyses the image and identifies units that are similar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

COLORSPACE

One of the COLORSPACE constants.

cluster_threshold

A percentage describing minimum number of pixels contained in hexedra before it is considered valid.

smooth_threshold

Eliminates noise from the histogram.

verbose

Whether to output detailed information about recognised classes.

Dönen Değerler

Örnekler

Örnek 1 Imagick::segmentImage()

<?php
function segmentImage($imagePath, $colorSpace, $clusterThreshold, $smoothThreshold) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->segmentImage($colorSpace, $clusterThreshold, $smoothThreshold);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

segmentImage($imagePath, \Imagick::COLORSPACE_RGB, 5, 5);

?>


Selectively blur an image within a contrast threshold

  • « Imagick::segmentImage
  • Imagick::separateImageChannel »
  • PHP Manual
  • Imagick
  • Selectively blur an image within a contrast threshold

Imagick::selectiveBlurImage

(PECL imagick 3 >= 3.3.0)

Imagick::selectiveBlurImage — Selectively blur an image within a contrast threshold

Açıklama

public Imagick::selectiveBlurImage(
float $radius,
float $sigma,
float $threshold,
int $channel = Imagick::CHANNEL_DEFAULT
): bool

Selectively blur an image within a contrast threshold. It is similar to the unsharpen mask that sharpens everything with contrast above a certain threshold.

Bağımsız Değişkenler

radius

sigma

threshold

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::selectiveBlurImage()

<?php
function selectiveBlurImage($imagePath, $radius, $sigma, $threshold, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->selectiveBlurImage($radius, $sigma, $threshold, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüden bir kanalı ayırır

  • « Imagick::selectiveBlurImage
  • Imagick::sepiaToneImage »
  • PHP Manual
  • Imagick
  • Görüntüden bir kanalı ayırır

Imagick::separateImageChannel

(PECL imagick 2, PECL imagick 3)

Imagick::separateImageChannel — Görüntüden bir kanalı ayırır

Açıklama

public Imagick::separateImageChannel(int $kanal): bool

Görüntüden bir kanalı ayırır.

Bağımsız Değişkenler

kanal

Ayrılacak kanal. 1, 2 ve 3. kanal için sırasıyla CHANNEL_RED, CHANNEL_GREEN, CHANNEL_BLUE sabitleri kullanılabilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::separateImageChannel() örneği

<?php
function separateImageChannel($imagePath, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->separateimagechannel($channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

separateImageChannel($imagePath, \Imagick::CHANNEL_GREEN);

?>


Görüntüye kızıl kahverengi tonlama uygular

  • « Imagick::separateImageChannel
  • Imagick::setBackgroundColor »
  • PHP Manual
  • Imagick
  • Görüntüye kızıl kahverengi tonlama uygular

Imagick::sepiaToneImage

(PECL imagick 2, PECL imagick 3)

Imagick::sepiaToneImage — Görüntüye kızıl kahverengi tonlama uygular

Açıklama

public Imagick::sepiaToneImage(float $eşik): bool

Görüntüye karanlık odada uygulanan kızıl kahverengi tonlamaya benzer özel bir etki uygular.

Bağımsız Değişkenler

threshold

0 ile parçacık aralığı (QuantumRange) arasında bir değer olarak belirtilir. Makul bir tonlama için 80 iyi bir başlangıç noktasıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::sepiaToneImage() örneği

<?php
function sepiaToneImage($imagePath, $sepia) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->sepiaToneImage($sepia);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Nesnenin öntanımlı artalan rengini tanımlar

  • « Imagick::sepiaToneImage
  • Imagick::setColorspace »
  • PHP Manual
  • Imagick
  • Nesnenin öntanımlı artalan rengini tanımlar

Imagick::setBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::setBackgroundColor — Nesnenin öntanımlı artalan rengini tanımlar

Açıklama

public Imagick::setBackgroundColor(mixed $renk): bool

Nesnenin öntanımlı artalan rengini tanımlar.

Bağımsız Değişkenler

renk

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.


Set colorspace

  • « Imagick::setBackgroundColor
  • Imagick::setCompression »
  • PHP Manual
  • Imagick
  • Set colorspace

Imagick::setColorspace

(PECL imagick 3)

Imagick::setColorspace — Set colorspace

Açıklama

public Imagick::setColorspace(int $COLORSPACE): bool

Sets the global colorspace value for the object. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

COLORSPACE

One of the COLORSPACE constants

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Nesnenin öntanımlı sıkıştırma türünü tanımlar

  • « Imagick::setColorspace
  • Imagick::setCompressionQuality »
  • PHP Manual
  • Imagick
  • Nesnenin öntanımlı sıkıştırma türünü tanımlar

Imagick::setCompression

(PECL imagick 2, PECL imagick 3)

Imagick::setCompression — Nesnenin öntanımlı sıkıştırma türünü tanımlar

Açıklama

public Imagick::setCompression(int $sıkıştırma): bool

Nesnenin öntanımlı sıkıştırma türünü tanımlar.

Bağımsız Değişkenler

sıkıştırma

Sıkıştırma türü. Bkz: Imagick::COMPRESSION_* sabitleri.

Dönen Değerler

Başarı durumunda true döner.


Nesnenin öntanımlı sıkıştırma seviyesini tanımlar

  • « Imagick::setCompression
  • Imagick::setFilename »
  • PHP Manual
  • Imagick
  • Nesnenin öntanımlı sıkıştırma seviyesini tanımlar

Imagick::setCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::setCompressionQuality — Nesnenin öntanımlı sıkıştırma seviyesini tanımlar

Açıklama

public Imagick::setCompressionQuality(int $seviye): bool

Nesnenin öntanımlı sıkıştırma seviyesini tanımlar

Dikkat

Bu yöntem sadece, Imagick::newPseudoImage gibi yöntemlerle yeni oluşturulmuş görüntüler üzerinde çalışır. Eski görüntüler için Imagick::setImageCompressionQuality() yöntemi kullanılmalıdır.

Bağımsız Değişkenler

seviye

1-100 arasında bir tamsayı, 1 = çok sıkıştırma, 100 = az sıkıştırma.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setCompressionQuality() örneği

<?php
function setCompressionQuality($imagePath, $quality) {

$backgroundImagick = new \Imagick(realpath($imagePath));
$imagick = new \Imagick();
$imagick->setCompressionQuality($quality);
$imagick->newPseudoImage(
$backgroundImagick->getImageWidth(),
$backgroundImagick->getImageHeight(),
'canvas:white'
);

$imagick->compositeImage(
$backgroundImagick,
\Imagick::COMPOSITE_ATOP,
0,
0
);

$imagick->setFormat("jpg");
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüye dosya ismi tanımlar

  • « Imagick::setCompressionQuality
  • Imagick::setFirstIterator »
  • PHP Manual
  • Imagick
  • Görüntüye dosya ismi tanımlar

Imagick::setFilename

(PECL imagick 2, PECL imagick 3)

Imagick::setFilename — Görüntüye dosya ismi tanımlar

Açıklama

public Imagick::setFilename(string $dosya): bool

Okumak veya yazmak için görüntüye dosya ismi tanımlar.

Bağımsız Değişkenler

dosya

Dönen Değerler

Başarı durumunda true döner.


Imagick yineleyiciyi ilk görüntüye konumlar

  • « Imagick::setFilename
  • Imagick::setFont »
  • PHP Manual
  • Imagick
  • Imagick yineleyiciyi ilk görüntüye konumlar

Imagick::setFirstIterator

(PECL imagick 2, PECL imagick 3)

Imagick::setFirstIterator — Imagick yineleyiciyi ilk görüntüye konumlar

Açıklama

public Imagick::setFirstIterator(): bool

Imagick yineleyiciyi ilk görüntüye konumlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Imagick nesnesinin yazı tipini tanımlar

  • « Imagick::setFirstIterator
  • Imagick::setFormat »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin yazı tipini tanımlar

Imagick::setFont

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setFont — Imagick nesnesinin yazı tipini tanımlar

Açıklama

public Imagick::setFont(string $yazıtipi): bool

Imagick nesnesinin yazı tipini tanımlar. Bu yöntemle pseudo-format gibi bir başlık yazı tipi belirtilebilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6-4 veya sonraki bir sürümü kuruluysa kullanılabilir. Yazı tipinin ImageMagick yapılandırmasına dahil edilmiş olması ve yazıtipi dosyasının mevcut olması gerekir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

yazıtipi

Yazı tipi ismi veya yazı tipi dosyasının ismi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setFont() örneği

<?php
/* Bir imagick nesnesi oluştur */
$im = new Imagick();

/* Nesneye bir yazı tipi ata */
$im->setFont("example.ttf");

/* Yeni bir başlık oluştur */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Nesne üzerinde başka işlemler yap */
?>

Ayrıca Bakınız

  • Imagick::getFont() - Yazıtipini döndürür
  • ImagickDraw::setFont() - Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler
  • ImagickDraw::getFont() - Geçerli yazı tipini döndürür


Imagick nesnesinin biçemini tanımlar

  • « Imagick::setFont
  • Imagick::setGravity »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin biçemini tanımlar

Imagick::setFormat

(PECL imagick 2, PECL imagick 3)

Imagick::setFormat — Imagick nesnesinin biçemini tanımlar

Açıklama

public Imagick::setFormat(string $biçem): bool

Imagick nesnesinin biçemini tanımlar.

Bağımsız Değişkenler

biçem

Dönen Değerler

Başarı durumunda true döner.


Sets the gravity

  • « Imagick::setFormat
  • Imagick::setImage »
  • PHP Manual
  • Imagick
  • Sets the gravity

Imagick::setGravity

(PECL imagick 2 >= 2.2.0, PECL imagick 3)

Imagick::setGravity — Sets the gravity

Açıklama

public Imagick::setGravity(int $gravity): bool

Sets the global gravity property for the Imagick object. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.0 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

gravity

The gravity property. Refer to the list of gravity constants.

Dönen Değerler

Hiçbir değer dönmez.


Nesnedeki görüntüyü değiştirir

  • « Imagick::setGravity
  • Imagick::setImageAlphaChannel »
  • PHP Manual
  • Imagick
  • Nesnedeki görüntüyü değiştirir

Imagick::setImage

(PECL imagick 2, PECL imagick 3)

Imagick::setImage — Nesnedeki görüntüyü değiştirir

Açıklama

public Imagick::setImage(Imagick $yenisi): bool

Geçerli görüntüyü yenisi ile değiştirir.

Bağımsız Değişkenler

yenisi

Geçerli görüntünün yerine konacak resim.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImage() örneği

<?php
/* Nesneleri oluşturalım */
$eskisi = new Imagick('eski.jpg');
$yenisi = new Imagick('yeni.jpg');

/* Eskisinin yerine yenisini koyalım */
$eskisi->setImage($yenisi);

/* görüntüyü çıktılayalım */
header('Content-type: image/jpeg');
echo $eskisi;

?>


Görüntünün şeffaflık kanalını tanımlar

  • « Imagick::setImage
  • Imagick::setImageArtifact »
  • PHP Manual
  • Imagick
  • Görüntünün şeffaflık kanalını tanımlar

Imagick::setImageAlphaChannel

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setImageAlphaChannel — Görüntünün şeffaflık kanalını tanımlar

Açıklama

public Imagick::setImageAlphaChannel(int $kip): bool

Görüntünün şeffaflık kanalını etkin veya etkisiz kılar. kip bağımsız değişkeni Imagick::ALPHACHANNEL_* sabitlerinden biri olmalıdır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.8 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

kip

Imagick::ALPHACHANNEL_* sabitlerinden biri olmalıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Ayrıca Bakınız

  • Imagick::setImageMatte() - Görüntünün matlık kanalını ayarlar
  • Imagick Şeffaflık Kanalı Sabitleri


Set image artifact

  • « Imagick::setImageAlphaChannel
  • Imagick::setImageAttribute »
  • PHP Manual
  • Imagick
  • Set image artifact

Imagick::setImageArtifact

(PECL imagick 3)

Imagick::setImageArtifact — Set image artifact

Açıklama

public Imagick::setImageArtifact(string $artifact, string $value): bool

Associates an artifact with the image. The difference between image properties and image artifacts is that properties are public and artifacts are private. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.5.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

artifact

The name of the artifact

value

The value of the artifact

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Imagick::setImageArtifact()

<?php
function setImageArtifact() {

$src1 = new \Imagick(realpath("./images/artifact/source1.png"));
$src2 = new \Imagick(realpath("./images/artifact/source2.png"));

$src2->setImageVirtualPixelMethod(\Imagick::VIRTUALPIXELMETHOD_TRANSPARENT);
$src2->setImageArtifact('compose:args', "1,0,-0.5,0.5");
$src1->compositeImage($src2, Imagick::COMPOSITE_MATHEMATICS, 0, 0);

$src1->setImageFormat('png');
header("Content-Type: image/png");
echo $src1->getImagesBlob();
}

?>

Ayrıca Bakınız

  • Imagick::getImageArtifact() - Get image artifact
  • Imagick::deleteImageArtifact() - Delete image artifact


Sets an image attribute

  • « Imagick::setImageArtifact
  • Imagick::setImageBackgroundColor »
  • PHP Manual
  • Imagick
  • Sets an image attribute

Imagick::setImageAttribute

(PECL imagick 2, PECL imagick 3)

Imagick::setImageAttribute — Sets an image attribute

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageAttribute(string $key, string $value): bool

Sets an image attribute.

Bağımsız Değişkenler

key

value

Dönen Değerler

Başarı durumunda true döner.


Görüntünün artalan rengini tanımlar

  • « Imagick::setImageAttribute
  • Imagick::setImageBias »
  • PHP Manual
  • Imagick
  • Görüntünün artalan rengini tanımlar

Imagick::setImageBackgroundColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBackgroundColor — Görüntünün artalan rengini tanımlar

Açıklama

public Imagick::setImageBackgroundColor(mixed $renk): bool

Görüntünün artalan rengini tanımlar

Bağımsız Değişkenler

renk

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece ImagickPixel nesnesi belirtilebiliyordu.


Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar

  • « Imagick::setImageBackgroundColor
  • Imagick::setImageBiasQuantum »
  • PHP Manual
  • Imagick
  • Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar

Imagick::setImageBias

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBias — Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageBias(float $sapma): bool

Görüntüyü evriştirmekte kullanılan yöntem (Imagick::convolveImage gibi()) için görüntü sapmasını tanımlar.

Bağımsız Değişkenler

sapma

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageBias() örneği

<?php
// Buradaki convolveImage kullanımı için ImageMagick 6.9.0-1 gerekir
function setImageBias($bias) {
$imagick = new \Imagick(realpath("images/stack.jpg"));

$xKernel = array(
-0.70, 0, 0.70,
-0.70, 0, 0.70,
-0.70, 0, 0.70
);

$imagick->setImageBias($bias * \Imagick::getQuantum());
$imagick->convolveImage($xKernel, \Imagick::CHANNEL_ALL);

$imagick->setImageFormat('png');

header('Content-type: image/png');
echo $imagick->getImageBlob();
}

?>


Sets the image bias

  • « Imagick::setImageBias
  • Imagick::setImageBluePrimary »
  • PHP Manual
  • Imagick
  • Sets the image bias

Imagick::setImageBiasQuantum

(PECL imagick 3 >= 3.3.0)

Imagick::setImageBiasQuantum — Sets the image bias

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageBiasQuantum(float $bias): void

Sets the image bias. Bias should be scaled with 0 (no adjustment) to 1 (quantum value).

Bağımsız Değişkenler

bias

Dönen Değerler


Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar

  • « Imagick::setImageBiasQuantum
  • Imagick::setImageBorderColor »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar

Imagick::setImageBluePrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBluePrimary — Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar

Açıklama

public Imagick::setImageBluePrimary(float $x, float $y): bool

Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar.

Bağımsız Değişkenler

x

y

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün çerçeve rengini tanımlar

  • « Imagick::setImageBluePrimary
  • Imagick::setImageChannelDepth »
  • PHP Manual
  • Imagick
  • Görüntünün çerçeve rengini tanımlar

Imagick::setImageBorderColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageBorderColor — Görüntünün çerçeve rengini tanımlar

Açıklama

public Imagick::setImageBorderColor(mixed $renk): bool

Görüntünün çerçeve rengini tanımlar.

Bağımsız Değişkenler

renk

Çerçeve rengi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece ImagickPixel nesnesi belirtilebiliyordu.


Belli bir görüntü kanalının derinliğini tanımlar

  • « Imagick::setImageBorderColor
  • Imagick::setImageClipMask »
  • PHP Manual
  • Imagick
  • Belli bir görüntü kanalının derinliğini tanımlar

Imagick::setImageChannelDepth

(PECL imagick 2, PECL imagick 3)

Imagick::setImageChannelDepth — Belli bir görüntü kanalının derinliğini tanımlar

Açıklama

public Imagick::setImageChannelDepth(int $kanal, int $derinlik): bool

Belli bir görüntü kanalının derinliğini tanımlar.

Bağımsız Değişkenler

kanal

derinlik

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü kırpma maskesini tanımlar

  • « Imagick::setImageChannelDepth
  • Imagick::setImageColormapColor »
  • PHP Manual
  • Imagick
  • Görüntü kırpma maskesini tanımlar

Imagick::setImageClipMask

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::setImageClipMask — Görüntü kırpma maskesini tanımlar

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageClipMask(Imagick $kırpıcı_resim): bool

Görüntü kırpma maskesi olarak bir nesne tanımlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

kırpıcı_resim

Kırpma maskesini içeren Imagick nesnesi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageClipMask() örneği

<?php
function setImageClipMask($imagePath) {
$imagick = new \Imagick();
$imagick->readImage(realpath($imagePath));

$width = $imagick->getImageWidth();
$height = $imagick->getImageHeight();

$clipMask = new \Imagick();
$clipMask->newPseudoImage(
$width,
$height,
"canvas:transparent"
);

$draw = new \ImagickDraw();
$draw->setFillColor('white');
$draw->circle(
$width / 2,
$height / 2,
($width / 2) + ($width / 4),
$height / 2
);
$clipMask->drawImage($draw);
$imagick->setImageClipMask($clipMask);

$imagick->negateImage(false);
$imagick->setFormat("png");

header("Content-Type: image/png");
echo $imagick->getImagesBlob();

}

?>


Renk eşlemi indisi belirtilen rengi tanımlar

  • « Imagick::setImageClipMask
  • Imagick::setImageColorspace »
  • PHP Manual
  • Imagick
  • Renk eşlemi indisi belirtilen rengi tanımlar

Imagick::setImageColormapColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageColormapColor — Renk eşlemi indisi belirtilen rengi tanımlar

Açıklama

public Imagick::setImageColormapColor(int $indis, ImagickPixel $renk): bool

Renk eşlemi indisi belirtilen rengi tanımlar.

Bağımsız Değişkenler

indis

renk

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün renk uzayını tanımlar

  • « Imagick::setImageColormapColor
  • Imagick::setImageCompose »
  • PHP Manual
  • Imagick
  • Görüntünün renk uzayını tanımlar

Imagick::setImageColorspace

(PECL imagick 2, PECL imagick 3)

Imagick::setImageColorspace — Görüntünün renk uzayını tanımlar

Açıklama

public Imagick::setImageColorspace(int $renk_uzayı): bool

Görüntünün renk uzayını tanımlar. Bu yöntem yeni görüntü oluştururken kullanılmalıdır. Eski görüntüler için Imagick::transformImageColorspace() kullanılmalıdır.

Bağımsız Değişkenler

renk_uzayı

COLORSPACE sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü birleştirme işlecini tanımlar

  • « Imagick::setImageColorspace
  • Imagick::setImageCompression »
  • PHP Manual
  • Imagick
  • Görüntü birleştirme işlecini tanımlar

Imagick::setImageCompose

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompose — Görüntü birleştirme işlecini tanımlar

Açıklama

public Imagick::setImageCompose(int $işleç): bool

Görüntü birleştirme işlecini tanımlar. Imagick::montageImage() yöntemi kullanılırken görüntünün küçük örneğinin nasıl oluşturulacağını belirlemek için yararlıdır.

Bağımsız Değişkenler

işleç

Birleşterme işleci sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü sıkıştırma seviyesini tanımlar

  • « Imagick::setImageCompose
  • Imagick::setImageCompressionQuality »
  • PHP Manual
  • Imagick
  • Görüntü sıkıştırma seviyesini tanımlar

Imagick::setImageCompression

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompression — Görüntü sıkıştırma seviyesini tanımlar

Açıklama

public Imagick::setImageCompression(int $sıkıştırma): bool

Görüntü sıkıştırma seviyesini tanımlar.

Bağımsız Değişkenler

sıkıştırma

Sıkıştırma sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü sıkıştırma seviyesini belirler

  • « Imagick::setImageCompression
  • Imagick::setImageDelay »
  • PHP Manual
  • Imagick
  • Görüntü sıkıştırma seviyesini belirler

Imagick::setImageCompressionQuality

(PECL imagick 2, PECL imagick 3)

Imagick::setImageCompressionQuality — Görüntü sıkıştırma seviyesini belirler

Açıklama

public Imagick::setImageCompressionQuality(int $seviye): bool

Görüntünün sıkıştırma seviyesini belirler.

Bağımsız Değişkenler

seviye

Tamsayı olarak sıkıştırma seviyesi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageCompressionQuality() örneği

<?php
function setImageCompressionQuality($imagePath, $quality) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageCompressionQuality($quality);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntü gecikmesini tanımlar

  • « Imagick::setImageCompressionQuality
  • Imagick::setImageDepth »
  • PHP Manual
  • Imagick
  • Görüntü gecikmesini tanımlar

Imagick::setImageDelay

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDelay — Görüntü gecikmesini tanımlar

Açıklama

public Imagick::setImageDelay(int $gecikme): bool

Görüntü gecikmesini tanımlar. Canlandırmalı görüntüler için, sonraki kareye geçmeden önce beklenecek süredir.

Nesnedeki her kare için tek tek gecikme süresi belirlenebilir.

Bağımsız Değişkenler

gecikme

Karenin gösterilme süresi 'tikler' ile ifade edilir. Canlandırmalı GIF'lerde 100 tik 1 saniyeye eşittir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageDelay() ile canlandırmalı GIF'te değişiklik yapmak

<?php

// Burada canlanırmalı GIF kare hızı 50ms'den sıfıra kadar değiştiriliyor.
// Bu durumda bazı tarayıcılar bazı kareleri atlayabilir.
$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$frameCount = 0;

foreach ($imagick as $frame) {
$imagick->setImageDelay((($frameCount % 11) * 5));
$frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>


Görüntü derinliğini tanımlar

  • « Imagick::setImageDelay
  • Imagick::setImageDispose »
  • PHP Manual
  • Imagick
  • Görüntü derinliğini tanımlar

Imagick::setImageDepth

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDepth — Görüntü derinliğini tanımlar

Açıklama

public Imagick::setImageDepth(int $derinlik): bool

Görüntü derinliğini tanımlar.

Bağımsız Değişkenler

derinlik

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün elden çıkarma yöntemini tanımlar

  • « Imagick::setImageDepth
  • Imagick::setImageExtent »
  • PHP Manual
  • Imagick
  • Görüntünün elden çıkarma yöntemini tanımlar

Imagick::setImageDispose

(PECL imagick 2, PECL imagick 3)

Imagick::setImageDispose — Görüntünün elden çıkarma yöntemini tanımlar

Açıklama

public Imagick::setImageDispose(int $yöntem): bool

Görüntünün elden çıkarma yöntemini tanımlar.

Bağımsız Değişkenler

yöntem

Elden çıkarma türü sabitlerinden biri

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün boyutlarını tanımlar

  • « Imagick::setImageDispose
  • Imagick::setImageFilename »
  • PHP Manual
  • Imagick
  • Görüntünün boyutlarını tanımlar

Imagick::setImageExtent

(PECL imagick 2, PECL imagick 3)

Imagick::setImageExtent — Görüntünün boyutlarını tanımlar

Açıklama

public Imagick::setImageExtent(int $genişlik, int $yükseklik): bool

Görüntünün boyutlarını genişlik ve yükseklik olarak tanımlar.

Bağımsız Değişkenler

genişlik

yükseklik

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belli bir görüntünün dosya ismini tanımlar

  • « Imagick::setImageExtent
  • Imagick::setImageFormat »
  • PHP Manual
  • Imagick
  • Belli bir görüntünün dosya ismini tanımlar

Imagick::setImageFilename

(PECL imagick 2, PECL imagick 3)

Imagick::setImageFilename — Belli bir görüntünün dosya ismini tanımlar

Açıklama

public Imagick::setImageFilename(string $dosya): bool

Bir görüntü silsilesi içinde belli bir görüntünün dosya ismini tanımlar.

Bağımsız Değişkenler

dosya

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Belli bir görüntünün biçemini tanımlar

  • « Imagick::setImageFilename
  • Imagick::setImageGamma »
  • PHP Manual
  • Imagick
  • Belli bir görüntünün biçemini tanımlar

Imagick::setImageFormat

(PECL imagick 2, PECL imagick 3)

Imagick::setImageFormat — Belli bir görüntünün biçemini tanımlar

Açıklama

public Imagick::setImageFormat(string $biçem): bool

Bir görüntü silsilesi içinde belli bir görüntünün biçemini tanımlar.

Bağımsız Değişkenler

biçem

Görüntü biçeminin dizgesel gösterimi. Desteklenen biçimler ImageMagick kurulumuna bağlıdır.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün gammasını tanımlar

  • « Imagick::setImageFormat
  • Imagick::setImageGravity »
  • PHP Manual
  • Imagick
  • Görüntünün gammasını tanımlar

Imagick::setImageGamma

(PECL imagick 2, PECL imagick 3)

Imagick::setImageGamma — Görüntünün gammasını tanımlar

Açıklama

public Imagick::setImageGamma(float $gamma): bool

Görüntünün gammasını tanımlar.

Bağımsız Değişkenler

gamma

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Sets the image gravity

  • « Imagick::setImageGamma
  • Imagick::setImageGreenPrimary »
  • PHP Manual
  • Imagick
  • Sets the image gravity

Imagick::setImageGravity

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::setImageGravity — Sets the image gravity

Açıklama

public Imagick::setImageGravity(int $gravity): bool

Sets the gravity property for the current image. This method can be used to set the gravity property for a single image sequence. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.4 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

gravity

The gravity property. Refer to the list of gravity constants.

Dönen Değerler

Hiçbir değer dönmez.


Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar

  • « Imagick::setImageGravity
  • Imagick::setImageIndex »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar

Imagick::setImageGreenPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageGreenPrimary — Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar

Açıklama

public Imagick::setImageGreenPrimary(float $x, float $y): bool

Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar.

Bağımsız Değişkenler

x

y

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Yineleyici konumunu tanımlar

  • « Imagick::setImageGreenPrimary
  • Imagick::setImageInterlaceScheme »
  • PHP Manual
  • Imagick
  • Yineleyici konumunu tanımlar

Imagick::setImageIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setImageIndex — Yineleyici konumunu tanımlar

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageIndex(int $indis): bool

Yineleyicinin görüntüdeki konumunu belirtilen indise ayarlar.

Bu yöntemin kullanımı artık önerilmemektedir. Yerine Imagick::setIteratorIndex() yöntemini kullanın.

Bağımsız Değişkenler

indis

Yineleyiciye atanacak konum.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü geçişim şemasını tanımlar

  • « Imagick::setImageIndex
  • Imagick::setImageInterpolateMethod »
  • PHP Manual
  • Imagick
  • Görüntü geçişim şemasını tanımlar

Imagick::setImageInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::setImageInterlaceScheme — Görüntü geçişim şemasını tanımlar

Açıklama

public Imagick::setImageInterlaceScheme(int $geçişim_şeması): bool

Görüntü geçişim şemasını tanımlar.

Bağımsız Değişkenler

geçişim_şeması

Geçişim sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün aradeğer pikseli yöntemini tanımlar

  • « Imagick::setImageInterlaceScheme
  • Imagick::setImageIterations »
  • PHP Manual
  • Imagick
  • Görüntünün aradeğer pikseli yöntemini tanımlar

Imagick::setImageInterpolateMethod

(PECL imagick 2, PECL imagick 3)

Imagick::setImageInterpolateMethod — Görüntünün aradeğer pikseli yöntemini tanımlar

Açıklama

public Imagick::setImageInterpolateMethod(int $yöntem): bool

Görüntünün aradeğer pikseli yöntemini tanımlar.

Bağımsız Değişkenler

yöntem

Imagick::INTERPOLATE_* sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.


Görüntü yineleme sayısını tanımlar

  • « Imagick::setImageInterpolateMethod
  • Imagick::setImageMatte »
  • PHP Manual
  • Imagick
  • Görüntü yineleme sayısını tanımlar

Imagick::setImageIterations

(PECL imagick 2, PECL imagick 3)

Imagick::setImageIterations — Görüntü yineleme sayısını tanımlar

Açıklama

public Imagick::setImageIterations(int $yineleme): bool

Canlandırmalı bir görüntünün yinelenme sayısını ayarlar.

Bağımsız Değişkenler

yineleme

Yineleme sayısı. '0' sürekli yinelenecek anlamına gelir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageIterations() örneği

<?php

$imagick = new Imagick(realpath("Test.gif"));

$imagick = $imagick->coalesceImages();
$imagick->setImageIterations(1);
$imagick = $imagick->deconstructImages();

$imagick->writeImages('/path/to/save/OnceOnly.gif', true);

?>


Görüntünün matlık kanalını ayarlar

  • « Imagick::setImageIterations
  • Imagick::setImageMatteColor »
  • PHP Manual
  • Imagick
  • Görüntünün matlık kanalını ayarlar

Imagick::setImageMatte

(PECL imagick 2, PECL imagick 3)

Imagick::setImageMatte — Görüntünün matlık kanalını ayarlar

Açıklama

public Imagick::setImageMatte(bool $matlık): bool

Görüntünün matlık kanalını ayarlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

matlık

true matlık kanalını etkin kılar, false iptal eder.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün şeffaf rengini tanımlar

  • « Imagick::setImageMatte
  • Imagick::setImageOpacity »
  • PHP Manual
  • Imagick
  • Görüntünün şeffaf rengini tanımlar

Imagick::setImageMatteColor

(PECL imagick 2, PECL imagick 3)

Imagick::setImageMatteColor — Görüntünün şeffaf rengini tanımlar

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageMatteColor(mixed $şeffaf_renk): bool

Görüntünün şeffaf rengini tanımlar.

Bağımsız Değişkenler

şeffaf_renk

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık renk olarak rengi ifade eden bir dizge belirtilebiliyor. Evvelce sadece ImagickPixel nesnesi belirtilebiliyordu.


Görüntünün matlık seviyesini tanımlar

  • « Imagick::setImageMatteColor
  • Imagick::setImageOrientation »
  • PHP Manual
  • Imagick
  • Görüntünün matlık seviyesini tanımlar

Imagick::setImageOpacity

(PECL imagick 2, PECL imagick 3)

Imagick::setImageOpacity — Görüntünün matlık seviyesini tanımlar

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::setImageOpacity(float $matlık): bool

Görüntünün matlık seviyesini belirtilen seviyeye ayarlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.1 veya sonraki bir sürümü kuruluysa kullanılabilir. Bu yöntem tüm kanallarda çalışır. Örneğin 0,5 matlık değeri tüm şeffaf alanların kısmen mat olarak ayarlanacağı anlamına gelir. Şeffaf olmayan alanların tamamını şeffaf yapmak için Imagick::evaluateImage() yöntemini kullanın.

Bağımsız Değişkenler

matlık

Şeffaflık seviyesi. Tam mat: 1.0; tam şeffaf: 0.0

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setImageOpacity() örneği

<?php
/* Nesneyi oluştur */
$image = new Imagick('source.png');

/* Matlığı ayarla */
$image->setImageOpacity(0.7);

/* Görüntüyü çıktıla */
header('Content-Type: image/png');
echo $image;

?>


Görüntünün baskı yönünü tanımlar

  • « Imagick::setImageOpacity
  • Imagick::setImagePage »
  • PHP Manual
  • Imagick
  • Görüntünün baskı yönünü tanımlar

Imagick::setImageOrientation

(PECL imagick 2, PECL imagick 3)

Imagick::setImageOrientation — Görüntünün baskı yönünü tanımlar

Açıklama

public Imagick::setImageOrientation(int $baskı_yönü): bool

Görüntünün baskı yönünü tanımlar.

Bağımsız Değişkenler

baskı_yönü

Yön sabitlerinden (ORIENTATION_) biri.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::setImageOrientation()

<?php
// Görünüşe göre hiçbir şey yapmıyor
function setImageOrientation($imagePath, $orientationType) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageOrientation($orientationType);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün sayfa geometrisini tanımlar

  • « Imagick::setImageOrientation
  • Imagick::setImageProfile »
  • PHP Manual
  • Imagick
  • Görüntünün sayfa geometrisini tanımlar

Imagick::setImagePage

(PECL imagick 2, PECL imagick 3)

Imagick::setImagePage — Görüntünün sayfa geometrisini tanımlar

Açıklama

public Imagick::setImagePage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Görüntünün sayfa geometrisini tanımlar.

Bağımsız Değişkenler

genişlik

yükseklik

x

y

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Imagick nesnesine isimli bir profil ekler

  • « Imagick::setImagePage
  • Imagick::setImageProperty »
  • PHP Manual
  • Imagick
  • Imagick nesnesine isimli bir profil ekler

Imagick::setImageProfile

(PECL imagick 2, PECL imagick 3)

Imagick::setImageProfile — Imagick nesnesine isimli bir profil ekler

Açıklama

public Imagick::setImageProfile(string $isim, string $profil): bool

Imagick nesnesine isimli bir profil ekler. Aynı isimde bir profil varsa onun yerine geçer. Bu yöntem, CMS renk profillerini uygulamayan Imagick::ProfileImage() yönteminden farklıdır.

Bağımsız Değişkenler

isim

Profilin ismi.

profil

Profil dizgesi.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Bir görüntü özelliğini tanımlar

  • « Imagick::setImageProfile
  • Imagick::setImageRedPrimary »
  • PHP Manual
  • Imagick
  • Bir görüntü özelliğini tanımlar

Imagick::setImageProperty

(PECL imagick 2, PECL imagick 3)

Imagick::setImageProperty — Bir görüntü özelliğini tanımlar

Açıklama

public Imagick::setImageProperty(string $isim, string $değer): bool

Bir görüntü özelliğini tanımlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.2 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

isim

Özelliğin ismi.

değer

Özelliğin değeri.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setImageProperty() örneği

Görüntü özelliklerinini belirlenmesi ve döndürülmesi.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");

$image->setImageProperty('Exif:Make', 'Imagick');
echo $image->getImageProperty('Exif:Make');
?>

Ayrıca Bakınız

  • Imagick::getImageProperty() - İsimli görüntü özelliğini döndürür


Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar

  • « Imagick::setImageProperty
  • Imagick::setImageRenderingIntent »
  • PHP Manual
  • Imagick
  • Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar

Imagick::setImageRedPrimary

(PECL imagick 2, PECL imagick 3)

Imagick::setImageRedPrimary — Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar

Açıklama

public Imagick::setImageRedPrimary(float $x, float $y): bool

Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar.

Bağımsız Değişkenler

x

y

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüye komutların uygulanış tarzını belirler

  • « Imagick::setImageRedPrimary
  • Imagick::setImageResolution »
  • PHP Manual
  • Imagick
  • Görüntüye komutların uygulanış tarzını belirler

Imagick::setImageRenderingIntent

(PECL imagick 2, PECL imagick 3)

Imagick::setImageRenderingIntent — Görüntüye komutların uygulanış tarzını belirler

Açıklama

public Imagick::setImageRenderingIntent(int $uygulama_tarzı): bool

Görüntüye komutların uygulanış tarzını belirler.

Bağımsız Değişkenler

uygulama_tarzı

Uygulama tarzı sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntünün çözünürlüğünü ayarlar

  • « Imagick::setImageRenderingIntent
  • Imagick::setImageScene »
  • PHP Manual
  • Imagick
  • Görüntünün çözünürlüğünü ayarlar

Imagick::setImageResolution

(PECL imagick 2, PECL imagick 3)

Imagick::setImageResolution — Görüntünün çözünürlüğünü ayarlar

Açıklama

public Imagick::setImageResolution(float $x_çözünürlüğü, float $y_çözünürlüğü): bool

Görüntünün çözünürlüğünü ayarlar.

Bağımsız Değişkenler

x_çözünürlüğü

y_çözünürlüğü

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::setImageResolution() örneği

<?php
function setImageResolution($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageResolution(50, 50);

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün dekorunu tanımlar

  • « Imagick::setImageResolution
  • Imagick::setImageTicksPerSecond »
  • PHP Manual
  • Imagick
  • Görüntünün dekorunu tanımlar

Imagick::setImageScene

(PECL imagick 2, PECL imagick 3)

Imagick::setImageScene — Görüntünün dekorunu tanımlar

Açıklama

public Imagick::setImageScene(int $dekor): bool

Görüntünün dekorunu tanımlar.

Bağımsız Değişkenler

dekor

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Canlandırma hızını değiştirir

  • « Imagick::setImageScene
  • Imagick::setImageType »
  • PHP Manual
  • Imagick
  • Canlandırma hızını değiştirir

Imagick::setImageTicksPerSecond

(PECL imagick 2, PECL imagick 3)

Imagick::setImageTicksPerSecond — Canlandırma hızını değiştirir

Açıklama

public Imagick::setImageTicksPerSecond(int $göreli_hız): bool

Özgün hız 100 olmak üzere canlandırma hızını değiştirir.

Bilginize:

Canlandırmalı GIF'ler için bu yöntem, her zaman 100 olarak tanımlanan saniyedeki 'görüntü tiki' sayısını değiştirmez. Bunun yerine, istenen değişimi taklit etmek için karenin görüntülenme süresini ayarlar.

Örneğin, her karenin 20 tik (1/5 saniye) görüntülendiği canlandırmalı bir GIF için, bu yöntem 50 tik_hızı ile çağrıldığında, kareler 40 tik görüntülenecek şekilde ayarlanacak (2/5 saniye) ve görüntü özgün hızın yarısında canlandırılacaktır.

Bağımsız Değişkenler

göreli_hız

Özgün hız 100 olmak üzere göreli canlandırma hızı.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Canlandırmalı GIF'in oynatma hızını Imagick::setImageTicksPerSecond ile ayarlamak

<?php

// Canlandırmalı GIF, oynatma süresinin ilk yarısında yarım hızda,
// ikinci yarısında çift hızda oynatılacak.

$imagick = new Imagick(realpath("Test.gif"));
$imagick = $imagick->coalesceImages();

$totalFrames = $imagick->getNumberImages();

$frameCount = 0;

foreach ($imagick as $frame) {
$imagick->setImageTicksPerSecond(50);

if ($frameCount < ($totalFrames / 2)) {
// İlk yarıda hız, özgün hızın yarısı olsun
$imagick->setImageTicksPerSecond(50);
} else {
// İkinci yarıda hız, özgün hızın iki katı olsun
$imagick->setImageTicksPerSecond(200);
}

$frameCount++;
}

$imagick = $imagick->deconstructImages();

$imagick->writeImages("/path/to/save/output.gif", true);

?>


Görüntü türünü tanımlar

  • « Imagick::setImageTicksPerSecond
  • Imagick::setImageUnits »
  • PHP Manual
  • Imagick
  • Görüntü türünü tanımlar

Imagick::setImageType

(PECL imagick 2, PECL imagick 3)

Imagick::setImageType — Görüntü türünü tanımlar

Açıklama

public Imagick::setImageType(int $resim_türü): bool

Görüntü türünü tanımlar.

Bağımsız Değişkenler

resim_türü

Görüntü türü sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün çözünürlük birimlerini tanımlar

  • « Imagick::setImageType
  • Imagick::setImageVirtualPixelMethod »
  • PHP Manual
  • Imagick
  • Görüntünün çözünürlük birimlerini tanımlar

Imagick::setImageUnits

(PECL imagick 2, PECL imagick 3)

Imagick::setImageUnits — Görüntünün çözünürlük birimlerini tanımlar

Açıklama

public Imagick::setImageUnits(int $birimler): bool

Görüntünün çözünürlük birimlerini tanımlar.

Bağımsız Değişkenler

birimler

Dönen Değerler

Başarı durumunda true döner.


Görüntünün sanal piksel yöntemini tanımlar

  • « Imagick::setImageUnits
  • Imagick::setImageWhitePoint »
  • PHP Manual
  • Imagick
  • Görüntünün sanal piksel yöntemini tanımlar

Imagick::setImageVirtualPixelMethod

(PECL imagick 2, PECL imagick 3)

Imagick::setImageVirtualPixelMethod — Görüntünün sanal piksel yöntemini tanımlar

Açıklama

public Imagick::setImageVirtualPixelMethod(int $yöntem): bool

Görüntünün sanal piksel yöntemini tanımlar.

Bağımsız Değişkenler

yöntem

Sanal piksel yöntemi sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.


Renk berraklığının beyaz noktasını tanımlar

  • « Imagick::setImageVirtualPixelMethod
  • Imagick::setInterlaceScheme »
  • PHP Manual
  • Imagick
  • Renk berraklığının beyaz noktasını tanımlar

Imagick::setImageWhitePoint

(PECL imagick 2, PECL imagick 3)

Imagick::setImageWhitePoint — Renk berraklığının beyaz noktasını tanımlar

Açıklama

public Imagick::setImageWhitePoint(float $x, float $y): bool

Renk berraklığının beyaz noktasını tanımlar.

Bağımsız Değişkenler

x

y

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntü geçişim şemasını tanımlar

  • « Imagick::setImageWhitePoint
  • Imagick::setIteratorIndex »
  • PHP Manual
  • Imagick
  • Görüntü geçişim şemasını tanımlar

Imagick::setInterlaceScheme

(PECL imagick 2, PECL imagick 3)

Imagick::setInterlaceScheme — Görüntü geçişim şemasını tanımlar

Açıklama

public Imagick::setInterlaceScheme(int $geçişim_şeması): bool

Görüntü geçişim şemasını tanımlar.

Bağımsız Değişkenler

geçişim_şeması

Dönen Değerler

Başarı durumunda true döner.


Yineleyici konumunu belirler

  • « Imagick::setInterlaceScheme
  • Imagick::setLastIterator »
  • PHP Manual
  • Imagick
  • Yineleyici konumunu belirler

Imagick::setIteratorIndex

(PECL imagick 2, PECL imagick 3)

Imagick::setIteratorIndex — Yineleyici konumunu belirler

Açıklama

public Imagick::setIteratorIndex(int $indis): bool

Yineleyiciyi listesinde indisi belirtilen konuma ayarlar. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

indis

Yineleyicinin atanacağı konum.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setIteratorIndex() örneği

Görüntüleri oluşturup yineleyici indisini tanımlar ve döndürür.

<?php
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel("red"));
$im->newImage(100, 100, new ImagickPixel("green"));
$im->newImage(100, 100, new ImagickPixel("blue"));

$im->setIteratorIndex(1);
echo $im->getIteratorIndex();
?>

Ayrıca Bakınız

  • Imagick::getIteratorIndex() - Geçerli etkin görüntünün indisini döndürür
  • Imagick::getImageIndex() - Geçerli etkin görüntünün indisini döndürür
  • Imagick::setImageIndex() - Yineleyici konumunu tanımlar


Son görüntüye bir Imagick yineleyicisi atar

  • « Imagick::setIteratorIndex
  • Imagick::setOption »
  • PHP Manual
  • Imagick
  • Son görüntüye bir Imagick yineleyicisi atar

Imagick::setLastIterator

(PECL imagick 2 >= 2.0.1, PECL imagick 3)

Imagick::setLastIterator — Son görüntüye bir Imagick yineleyicisi atar

Açıklama

public Imagick::setLastIterator(): bool

Son görüntüye bir Imagick yineleyicisi atar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Bir seçenek tanımlar

  • « Imagick::setLastIterator
  • Imagick::setPage »
  • PHP Manual
  • Imagick
  • Bir seçenek tanımlar

Imagick::setOption

(PECL imagick 2, PECL imagick 3)

Imagick::setOption — Bir seçenek tanımlar

Açıklama

public Imagick::setOption(string $anahtar, string $değer): bool

Belirtilen seçeneği kalemle ilişkilendirir.

Bağımsız Değişkenler

anahtar

değer

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setOption() ile '$extent' boyuta ulaşmak

<?php
function renderJPG($extent) {
$imagePath = $this->control->getImagePath();
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageFormat('jpg');
$imagick->setOption('jpeg:extent', $extent);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Örnek 2 - Imagick::setOption() genel kullanımı

<?php
function renderPNG($imagePath, $format) {

$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageFormat('png');
$imagick->setOption('png:format', $format);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

//Save as 64bit PNG.
renderPNG($imagePath, 'png64');

?>

Örnek 3 - Imagick::setOption() örneği

<?php
function renderCustomBitDepthPNG() {
$imagePath = $this->control->getImagePath();
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageFormat('png');

$imagick->setOption('png:bit-depth', '16');
$imagick->setOption('png:color-type', 6);
header("Content-Type: image/png");
$crash = true;
if ($crash) {
echo $imagick->getImageBlob();
}
else {
$tempFilename = tempnam('./', 'imagick');
$imagick->writeimage(realpath($tempFilename));
echo file_get_contents($tempFilename);
}
}

?>


Imagick nesnesinin sayfa geometrisini tanımlar

  • « Imagick::setOption
  • Imagick::setPointSize »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin sayfa geometrisini tanımlar

Imagick::setPage

(PECL imagick 2, PECL imagick 3)

Imagick::setPage — Imagick nesnesinin sayfa geometrisini tanımlar

Açıklama

public Imagick::setPage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Imagick nesnesinin sayfa geometrisini tanımlar.

Bağımsız Değişkenler

genişlik

yükseklik

x

y

Dönen Değerler

Başarı durumunda true döner.


Yazı puntosunu belirler

  • « Imagick::setPage
  • Imagick::setProgressMonitor »
  • PHP Manual
  • Imagick
  • Yazı puntosunu belirler

Imagick::setPointSize

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

Imagick::setPointSize — Yazı puntosunu belirler

Açıklama

public Imagick::setPointSize(float $punto): bool

Nesnenin yazı puntosunu belirler. Bu yöntem örneğin başlık yazı tipi boyutunu belirlemek için kullanılabilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.7 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

punto

Punto cinsinden yazı tipi yüksekliği.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setPointSize() örneği

Imagick::setPointSize kullanım örneği

<?php
/* Yeni bir imagick nesnesi oluştur */
$im = new Imagick();

/* Nesne için yazıtipine belirle */
$im->setFont("example.ttf");

/* Yazı tipi yüksekliğini belirle */
$im->setPointSize(12);

/* Başlığı çiz */
$im->newPseudoImage(100, 100, "caption:Hello");

/* Yapılacak diğer işlemler */
?>

Ayrıca Bakınız

  • Imagick::getPointSize() - Punto değerini döndürür


Set a callback to be called during processing

  • « Imagick::setPointSize
  • Imagick::setRegistry »
  • PHP Manual
  • Imagick
  • Set a callback to be called during processing

Imagick::setProgressMonitor

(PECL imagick 3 >= 3.3.0)

Imagick::setProgressMonitor — Set a callback to be called during processing

Açıklama

public Imagick::setProgressMonitor(callable $callback): bool

Set a callback that will be called during the processing of the Imagick image.

Bağımsız Değişkenler

callback

The progress function to call. It should return true if image processing should continue, or false if it should be cancelled. The offset parameter indicates the progress and the span parameter indicates the total amount of work needed to be done.

callback ( mixed $offset , mixed $span ): bool
Dikkat

The values passed to the callback function are not consistent. In particular the span parameter can increase during image processing. Because of this calculating the percentage complete of an image operation is not trivial.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::setProgressMonitor()

<?php
$abortReason = null;

try {
$imagick = new \Imagick(realpath($this->control->getImagePath()));
$startTime = time();

$callback = function ($offset, $span) use ($startTime, &$abortReason) {
if (((100 * $offset) / $span) > 20) {
$abortReason = "Processing reached 20%";
return false;
}

$nowTime = time();

if ($nowTime - $startTime > 5) {
$abortReason = "Image processing took more than 5 seconds";
return false;
}
if (($offset % 5) == 0) {
echo "Progress: $offset / $span <br/>";
}
return true;
};

$imagick->setProgressMonitor($callback);

$imagick->waveImage(2, 15);

echo "Data len is: ".strlen($imagick->getImageBlob());
}
catch(\ImagickException $e) {
if ($abortReason != null) {
echo "Image processing was aborted: ".$abortReason."<br/>";
}
else {
echo "ImagickException caught: ".$e->getMessage()." Exception type is ".get_class($e);
}
}

?>


Sets the ImageMagick registry entry named key to value

  • « Imagick::setProgressMonitor
  • Imagick::setResolution »
  • PHP Manual
  • Imagick
  • Sets the ImageMagick registry entry named key to value

Imagick::setRegistry

(PECL imagick 3 >= 3.3.0)

Imagick::setRegistry — Sets the ImageMagick registry entry named key to value

Açıklama

public static Imagick::setRegistry(string $key, string $value): bool

Sets the ImageMagick registry entry named key to value. This is most useful for setting "temporary-path" which controls where ImageMagick creates temporary images e.g. while processing PDFs.

Bağımsız Değişkenler

key

value

Dönen Değerler

Başarı durumunda true döner.


Görüntü çözünürlüğünü tanımlar

  • « Imagick::setRegistry
  • Imagick::setResourceLimit »
  • PHP Manual
  • Imagick
  • Görüntü çözünürlüğünü tanımlar

Imagick::setResolution

(PECL imagick 2, PECL imagick 3)

Imagick::setResolution — Görüntü çözünürlüğünü tanımlar

Açıklama

public Imagick::setResolution(float $x_çözünürlüğü, float $y_çözünürlüğü): bool

Görüntü çözünürlüğünü tanımlar.

Bağımsız Değişkenler

x_çözünürlüğü

Yatay çözünürlük

y_çözünürlüğü

Düşey çözünürlük

Dönen Değerler

Başarı durumunda true döner.

Notlar

Imagick::setResolution() görüntüyü oluşturmadan veya yüklemeden önce çağrılmalıdır.

Ayrıca Bakınız

  • Imagick::setImageResolution() - Görüntünün çözünürlüğünü ayarlar
  • Imagick::getImageResolution() - Görüntünün X ve Y çözünürlüklerini döndürür


Belli bir özkaynağa sınır tanımlar

  • « Imagick::setResolution
  • Imagick::setSamplingFactors »
  • PHP Manual
  • Imagick
  • Belli bir özkaynağa sınır tanımlar

Imagick::setResourceLimit

(PECL imagick 2, PECL imagick 3)

Imagick::setResourceLimit — Belli bir özkaynağa sınır tanımlar

Açıklama

public Imagick::setResourceLimit(int $özkaynak, int $sınır): bool

Bu yöntem, temelde ImageMagick kütüphanesinin özkaynak sınırlarını değiştirmek için kullanılır.

Bağımsız Değişkenler

özkaynak

Özkaynak türü sabitlerinden biri.

sınır

Birim sınırlanan özkaynağın türüne bağlıdır.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::getResourceLimit() - Belirtilen özkaynağın bellek kullanım sınırını döndürür


Görüntü örnekleme çarpanlarını ayarlar

  • « Imagick::setResourceLimit
  • Imagick::setSize »
  • PHP Manual
  • Imagick
  • Görüntü örnekleme çarpanlarını ayarlar

Imagick::setSamplingFactors

(PECL imagick 2, PECL imagick 3)

Imagick::setSamplingFactors — Görüntü örnekleme çarpanlarını ayarlar

Açıklama

public Imagick::setSamplingFactors(array $çarpanlar): bool

Görüntü örnekleme çarpanlarını ayarlar.

Bağımsız Değişkenler

çarpanlar

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setSamplingFactors() örneği

<?php
function setSamplingFactors($imagePath) {

$imagePath = "../imagick/images/FineDetail.png";
$imagick = new \Imagick(realpath($imagePath));
$imagick->setImageFormat('jpg');
$imagick->setSamplingFactors(array('2x2', '1x1', '1x1'));

$compressed = $imagick->getImageBlob();

$reopen = new \Imagick();
$reopen->readImageBlob($compressed);

$reopen->resizeImage(
$reopen->getImageWidth() * 4,
$reopen->getImageHeight() * 4,
\Imagick::FILTER_POINT,
1
);

header("Content-Type: image/jpg");
echo $reopen->getImageBlob();
}

?>


Imagick nesnesinin boyutlarını ayarlar

  • « Imagick::setSamplingFactors
  • Imagick::setSizeOffset »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin boyutlarını ayarlar

Imagick::setSize

(PECL imagick 2, PECL imagick 3)

Imagick::setSize — Imagick nesnesinin boyutlarını ayarlar

Açıklama

public Imagick::setSize(int $sütun, int $satır): bool

Imagick nesnesinin boyutlarını ayarlar. RGB, GRAY veya CMYK gibi bir ham görüntü biçemini okumadan önce nesnenin boyutlarını ayarlamalısınız.

Bağımsız Değişkenler

sütun

satır

Dönen Değerler

Başarı durumunda true döner.


Imagick nesnesinin başlangıcını ve boyutlarını ayarlar

  • « Imagick::setSize
  • Imagick::setType »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin başlangıcını ve boyutlarını ayarlar

Imagick::setSizeOffset

(PECL imagick 2, PECL imagick 3)

Imagick::setSizeOffset — Imagick nesnesinin başlangıcını ve boyutlarını ayarlar

Açıklama

public Imagick::setSizeOffset(int $sütun, int $satır, int $başlangıç): bool

Imagick nesnesinin başlangıcını ve boyutlarını ayarlar. RGB, GRAY veya CMYK gibi bir ham görüntü biçemini okumadan önce nesnenin boyutlarını ayarlamalısınız. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

sütun

Piksel cinsinden genişlik.

satır

Piksel cinsinden yükseklik.

başlangıç

Resim başlangıcı.

Dönen Değerler

Başarı durumunda true döner.


Görüntünün tür özniteliğini tanımlar

  • « Imagick::setSizeOffset
  • Imagick::shadeImage »
  • PHP Manual
  • Imagick
  • Görüntünün tür özniteliğini tanımlar

Imagick::setType

(PECL imagick 2, PECL imagick 3)

Imagick::setType — Görüntünün tür özniteliğini tanımlar

Açıklama

public Imagick::setType(int $görüntü_türü): bool

Görüntünün tür özniteliğini tanımlar.

Bağımsız Değişkenler

görüntü_türü

Görüntü türü sabitlerinden biri.

Dönen Değerler

Başarı durumunda true döner.


Üç boyutluluk etkisi oluşturur

  • « Imagick::setType
  • Imagick::shadowImage »
  • PHP Manual
  • Imagick
  • Üç boyutluluk etkisi oluşturur

Imagick::shadeImage

(PECL imagick 2, PECL imagick 3)

Imagick::shadeImage — Üç boyutluluk etkisi oluşturur

Açıklama

public Imagick::shadeImage(bool $gri, float $başucu, float $yükseliş): bool

Üç boyutluluk etkisi vermek için bir görüntüye belli bir mesafeden ışık düşürür. Işığın yerini başucu ve yükseliş bağımsız değişkenleri ile belirtebilirsiniz. başucu X ekseninden uzaklığı derece cinsinden, yükseliş ise Z eksenine göre yüksekliği piksel cinsinden belirtir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

gri

Sıfırdan farklı bir değer her pikselin gölgelenme koyuluğunu belirtir.

başucu

Işık kaynağının yataydaki yönünü belirtir.

yükseliş

Işık kaynağının düşeydeki yönünü belirtir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Başarısızlık durumunda ImagickException yavrulanır.

Örnekler

Örnek 1 - Imagick::shadeImage() örneği

<?php
function shadeImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->shadeImage(true, 45, 20);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüde gölgeleri taklit eder

  • « Imagick::shadeImage
  • Imagick::sharpenImage »
  • PHP Manual
  • Imagick
  • Görüntüde gölgeleri taklit eder

Imagick::shadowImage

(PECL imagick 2, PECL imagick 3)

Imagick::shadowImage — Görüntüde gölgeleri taklit eder

Açıklama

public Imagick::shadowImage(
float $matlık,
float $sapma,
int $x,
int $y
): bool

Görüntüde gölgeleri taklit eder.

Bağımsız Değişkenler

matlık

sapma

x

y

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::shadowImage() örneği

<?php
function shadowImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->shadowImage(0.4, 10, 50, 5);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü netleştirir

  • « Imagick::shadowImage
  • Imagick::shaveImage »
  • PHP Manual
  • Imagick
  • Görüntüyü netleştirir

Imagick::sharpenImage

(PECL imagick 2, PECL imagick 3)

Imagick::sharpenImage — Görüntüyü netleştirir

Açıklama

public Imagick::sharpenImage(float $yarıçap, float $sapma, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Görüntüyü netleştirir. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile resim evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::sharpenImage() size uygun bir yarıçap seçecektir.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır.

sapma

Piksel cinsinden standart sapma.

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::sharpenImage() örneği

<?php
function sharpenImage($imagePath, $radius, $sigma, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->sharpenimage($radius, $sigma, $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntünün kenarındaki pikselleri rendeler

  • « Imagick::sharpenImage
  • Imagick::shearImage »
  • PHP Manual
  • Imagick
  • Görüntünün kenarındaki pikselleri rendeler

Imagick::shaveImage

(PECL imagick 2, PECL imagick 3)

Imagick::shaveImage — Görüntünün kenarındaki pikselleri rendeler

Açıklama

public Imagick::shaveImage(int $sütun, int $satır): bool

Görüntünün kenarındaki pikselleri rendeler.

Bağımsız Değişkenler

sütun

satır

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::shaveImage() örneği

<?php
function shaveImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->shaveImage(100, 50);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir paralalkenar oluşturur

  • « Imagick::shaveImage
  • Imagick::sigmoidalContrastImage »
  • PHP Manual
  • Imagick
  • Bir paralalkenar oluşturur

Imagick::shearImage

(PECL imagick 2, PECL imagick 3)

Imagick::shearImage — Bir paralalkenar oluşturur

Açıklama

public Imagick::shearImage(mixed $artalan, float $x_kaykılması, float $y_kaykılması): bool

Bir paralelkenar oluşturmak için görüntünün bir kenarını X ve Y eksenleri boyunca kaydırır. Kaykılma miktarı, kaykılma açısıyla belirtilir. X yönünde kaykılma için, x_kaykılması Y eksenine göre ölçülür. Y yönünde kaykılma için ise, y_kaykılması X eksenine göre ölçülür. Kaykılmadan dolayı ortaya çıkan boş üçgenler artalan rengi ile doldurulur.

Bağımsız Değişkenler

artalan

Kaykılmadan dolayı ortaya çıkan boş üçgenlerin doldurulacağı renk.

x_kaykılması

X eksenindeki kaykılmanın derece cinsinden değeri.

y_kaykılması

Y eksenindeki kaykılmanın derece cinsinden değeri.

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | İlk bağımsız değişkende rengi ifade etmek için bir dizge belirtilebilir oldu. Evvelce sadece bir ImagickPixel nesnesi belirtilebiliyordu.

Örnekler

Örnek 1 - Imagick::shearImage() örneği

<?php
function shearImage($imagePath, $color, $shearX, $shearY) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->shearimage($color, $shearX, $shearY);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir resmin zıtlığını ayarlar

  • « Imagick::shearImage
  • Imagick::sketchImage »
  • PHP Manual
  • Imagick
  • Bir resmin zıtlığını ayarlar

Imagick::sigmoidalContrastImage

(PECL imagick 2, PECL imagick 3)

Imagick::sigmoidalContrastImage — Bir resmin zıtlığını ayarlar

Açıklama

public Imagick::sigmoidalContrastImage(
bool $netleştir,
float $zıtlık,
float $aradeğer,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Bir resmin zıtlığını (contrast) doğrusal olmayan sigmamsı zıtlık algoritması ile ayarlar. Sigmamsı aktarım işlevi kullanılarak parlak ve gölgeli bölgeler ışığa doyurulmadan resmin zıtlığı arttırılır.

Ayrıca, bkz: » ImageMagick v6 Örnekleri - Görüntü dönüşümleri — Sigmamsı Doğrusal Olmayan Zıtlık

Bağımsız Değişkenler

netleştir

true belirtilirse resmin zıtlığı arttırılır, false belirtilirse düşürülür.

zıtlık

Zıtlığın ne kadar arttırılacağı/azaltılacağı belirtilir. (0: Yok, 3: Normal, 20: Aşırı)

aradeğer

Elde edilen resimde ara tonların nereye uygulanacağını belirler. (0: Beyaz, 0.5: Gri, 1: Siyah)

kanal

Zıtlığın uygulanacağı renk kanalı. Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 Imagick::sigmoidalContrastImage() kullanarak, $contrast ve $midpoint değişkenleriyle tanımlanan karıştırma ile iki görüntüyü sorunsuz bir şekilde karıştırmak için geçişimli görüntü oluşturmak

<?php

function generateBlendImage($width, $height, $contrast = 10, $midpoint = 0.5) {
$imagick = new Imagick();
$imagick->newPseudoImage($width, $height, 'gradient:black-white');
$quanta = $imagick->getQuantumRange();
$imagick->sigmoidalContrastImage(true, $contrast, $midpoint * $quanta["quantumRangeLong"]);

return $imagick;
}

?>


Kara kalem çalışmasını taklit eder

  • « Imagick::sigmoidalContrastImage
  • Imagick::smushImages »
  • PHP Manual
  • Imagick
  • Kara kalem çalışmasını taklit eder

Imagick::sketchImage

(PECL imagick 2, PECL imagick 3)

Imagick::sketchImage — Kara kalem çalışmasını taklit eder

Açıklama

public Imagick::sketchImage(float $yarıçap, float $sapma, float $açı): bool

Kara kalem çalışmasını taklit eder. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile resim evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::sketchImage() size uygun bir yarıçap seçecektir. açı ile bulanıklaştırma açısı belirtilir. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

yarıçap

Merkezdeki piksel sayısı değil, piksel cinsinden Gauss işleci yarıçapıdır.

sapma

Piksel cinsinden standart sapma.

açı

Etki bu açıya uygulanır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::sketchImage() örneği

<?php
function sketchImage($imagePath, $radius, $sigma, $angle) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->sketchimage($radius, $sigma, $angle);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Takes all images from the current image pointer to the end of the image list and smushs them

  • « Imagick::sketchImage
  • Imagick::solarizeImage »
  • PHP Manual
  • Imagick
  • Takes all images from the current image pointer to the end of the image list and smushs them

Imagick::smushImages

(PECL imagick 3 >= 3.3.0)

Imagick::smushImages — Takes all images from the current image pointer to the end of the image list and smushs them

Açıklama

public Imagick::smushImages(bool $stack, int $offset): Imagick

Takes all images from the current image pointer to the end of the image list and smushs them to each other top-to-bottom if the stack parameter is true, otherwise left-to-right.

Bağımsız Değişkenler

stack

offset

Dönen Değerler

The new smushed image.

Örnekler

Örnek 1 Imagick::smushImages()

<?php
function smushImages($imagePath, $imagePath2) {

$imagick = new \Imagick(realpath($imagePath));
$imagick2 = new \Imagick(realpath($imagePath2));

$imagick->addimage($imagick2);
$smushed = $imagick->smushImages(false, 50);
$smushed->setImageFormat('jpg');
header("Content-Type: image/jpg");
echo $smushed->getImageBlob();
}

?>


Görüntüye uzun pozlama etkisi uygular

  • « Imagick::smushImages
  • Imagick::sparseColorImage »
  • PHP Manual
  • Imagick
  • Görüntüye uzun pozlama etkisi uygular

Imagick::solarizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::solarizeImage — Görüntüye uzun pozlama etkisi uygular

Açıklama

public Imagick::solarizeImage(int $eşik): bool

Karanlık odada ışığa duyarlı kağıdın belli alanlarına uzun süre ışık vererek elde edilen etkiye benzer bir etkiyi resme uygular. Eşik değeri, etkinin yayılma genişliğinin bir ölçüsü olup, 0 ile ParçacıkAralığı (QuantumRange) arasında bir değer olabilir.

Bağımsız Değişkenler

eşik

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::solarizeImage()

<?php
function solarizeImage($imagePath, $solarizeThreshold) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->solarizeImage($solarizeThreshold * \Imagick::getQuantum());
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Interpolates colors

  • « Imagick::solarizeImage
  • Imagick::spliceImage »
  • PHP Manual
  • Imagick
  • Interpolates colors

Imagick::sparseColorImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::sparseColorImage — Interpolates colors

Açıklama

public Imagick::sparseColorImage(int $SPARSE_METHOD, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT): bool

Given the arguments array containing numeric values this method interpolates the colors found at those coordinates across the whole image using sparse_method. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.4.5 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

SPARSE_METHOD

Refer to this list of sparse method constants

arguments

An array containing the coordinates. The array is in format array(1,1, 2,45)

channel

Normalde kanal türü sabitlerinden biridir, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir. Imagick::CHANNEL_DEFAULT öntanımlıdır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
function renderImageBarycentric2() {
$points = [
[0.30, 0.10, 'red'],
[0.10, 0.80, 'blue'],
[0.70, 0.60, 'lime'],
[0.80, 0.20, 'yellow'],
];
$imagick = createGradientImage(
400, 400,
$points,
\Imagick::SPARSECOLORMETHOD_BARYCENTRIC
);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>

Örnek 2 SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage()

<?php
function renderImageBilinear() {
$points = [[0.30, 0.10, 'red'], [0.10, 0.80, 'blue'], [0.70, 0.60, 'lime'], [0.80, 0.20, 'yellow'],];
$imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_BILINEAR);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>

Örnek 3 SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage()

<?php
function renderImageShepards() {
$points = [
[0.30, 0.10, 'red'],
[0.10, 0.80, 'blue'],
[0.70, 0.60, 'lime'],
[0.80, 0.20, 'yellow'],
];
$imagick = createGradientImage(600, 600, $points, \Imagick::SPARSECOLORMETHOD_SPEPARDS);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>

Örnek 4 SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage()

<?php
function renderImageVoronoi() {
$points = [
[0.30, 0.10, 'red'],
[0.10, 0.80, 'blue'],
[0.70, 0.60, 'lime'],
[0.80, 0.20, 'yellow'],
];
$imagick = createGradientImage(500, 500, $points, \Imagick::SPARSECOLORMETHOD_VORONOI);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>

Örnek 5 SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage()

<?php
function renderImageBarycentric() {
$points = [
[0, 0, 'skyblue'],
[-1, 1, 'skyblue'],
[1, 1, 'black'],
];
$imagick = createGradientImage(600, 200, $points, \Imagick::SPARSECOLORMETHOD_BARYCENTRIC);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>

Örnek 6 createGradientImage is used by other examples. Imagick::sparseColorImage()

<?php
function createGradientImage($width, $height, $colorPoints, $sparseMethod, $absolute = false) {

$imagick = new \Imagick();
$imagick->newImage($width, $height, "white");
$imagick->setImageFormat("png");

$barycentricPoints = array();

foreach ($colorPoints as $colorPoint) {

if ($absolute == true) {
$barycentricPoints[] = $colorPoint[0];
$barycentricPoints[] = $colorPoint[1];
}
else {
$barycentricPoints[] = $colorPoint[0] * $width;
$barycentricPoints[] = $colorPoint[1] * $height;
}

if (is_string($colorPoint[2])) {
$imagickPixel = new \ImagickPixel($colorPoint[2]);
}
else if ($colorPoint[2] instanceof \ImagickPixel) {
$imagickPixel = $colorPoint[2];
}
else{
$errorMessage = sprintf(
"Value %s is neither a string nor an ImagickPixel class. Cannot use as a color.",
$colorPoint[2]
);

throw new \InvalidArgumentException(
$errorMessage
);
}

$red = $imagickPixel->getColorValue(\Imagick::COLOR_RED);
$green = $imagickPixel->getColorValue(\Imagick::COLOR_GREEN);
$blue = $imagickPixel->getColorValue(\Imagick::COLOR_BLUE);
$alpha = $imagickPixel->getColorValue(\Imagick::COLOR_ALPHA);

$barycentricPoints[] = $red;
$barycentricPoints[] = $green;
$barycentricPoints[] = $blue;
$barycentricPoints[] = $alpha;
}

$imagick->sparseColorImage($sparseMethod, $barycentricPoints);

return $imagick;
}

?>


Görüntüye düz bir renk ekler

  • « Imagick::sparseColorImage
  • Imagick::spreadImage »
  • PHP Manual
  • Imagick
  • Görüntüye düz bir renk ekler

Imagick::spliceImage

(PECL imagick 2, PECL imagick 3)

Imagick::spliceImage — Görüntüye düz bir renk ekler

Açıklama

public Imagick::spliceImage(
int $genişlik,
int $yükseklik,
int $x,
int $y
): bool

Görüntüye düz bir renk ekler

Bağımsız Değişkenler

genişlik

yükseklik

x

y

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::spliceImage() örneği

<?php
function spliceImage($imagePath, $startX, $startY, $width, $height) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->spliceImage($width, $height, $startX, $startY);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Bir kümedeki her pikseli rasgele gösterir

  • « Imagick::spliceImage
  • Imagick::statisticImage »
  • PHP Manual
  • Imagick
  • Bir kümedeki her pikseli rasgele gösterir

Imagick::spreadImage

(PECL imagick 2, PECL imagick 3)

Imagick::spreadImage — Bir kümedeki her pikseli rasgele gösterir

Açıklama

public Imagick::spreadImage(float $yarıçap): bool

yarıçap bağımsız değişkeni ile belirtilen bir küme içindeki her pikseli rasgele gösteren özel bir etki yaratır.

Bağımsız Değişkenler

yarıçap

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::spreadImage() örneği

<?php
function spreadImage($imagePath, $radius) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->spreadImage($radius);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Modifies image using a statistics function

  • « Imagick::spreadImage
  • Imagick::steganoImage »
  • PHP Manual
  • Imagick
  • Modifies image using a statistics function

Imagick::statisticImage

(PECL imagick 3 >= 3.3.0)

Imagick::statisticImage — Modifies image using a statistics function

Açıklama

public Imagick::statisticImage(
int $type,
int $width,
int $height,
int $channel = Imagick::CHANNEL_DEFAULT
): bool

Replace each pixel with corresponding statistic from the neighborhood of the specified width and height.

Bağımsız Değişkenler

type

width

height

channel

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::statisticImage()

<?php
function statisticImage($imagePath, $statisticType, $width, $height, $channel) {
$imagick = new \Imagick(realpath($imagePath));

$imagick->statisticImage(
$statisticType,
$width,
$height,
$channel
);

header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

statisticImage($imagePath, \Imagick::STATISTIC_MEDIAN, 5, 5, \Imagick::CHANNEL_DEFAULT);

?>


Görüntünün içine sayısal bir filigran gizler

  • « Imagick::statisticImage
  • Imagick::stereoImage »
  • PHP Manual
  • Imagick
  • Görüntünün içine sayısal bir filigran gizler

Imagick::steganoImage

(PECL imagick 2, PECL imagick 3)

Imagick::steganoImage — Görüntünün içine sayısal bir filigran gizler

Açıklama

public Imagick::steganoImage(Imagick $filigran, int $konum): Imagick

Görüntünün içine sayısal bir filigran gizler. Daha sonra bu filigranı resmin kimliğini doğrulamak için kullanabilirsiniz.

Bağımsız Değişkenler

filigran

Görüntünün içine gizlenecek filigran resmi.

konum

Filigranın resmin içinde yerleştirileceği konum.

Dönen Değerler

Başarı durumunda true döner.


İki görüntüyü birleştirir

  • « Imagick::steganoImage
  • Imagick::stripImage »
  • PHP Manual
  • Imagick
  • İki görüntüyü birleştirir

Imagick::stereoImage

(PECL imagick 2, PECL imagick 3)

Imagick::stereoImage — İki görüntüyü birleştirir

Açıklama

public Imagick::stereoImage(Imagick $görüntü): bool

İki görüntüyü bir sağda biri solda olmak üzere bir görüntü çifti haline getirir.

Bağımsız Değişkenler

görüntü

Diğer görüntü.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Görüntüden tüm profilleri ve açıklamaları ayıklar

  • « Imagick::stereoImage
  • Imagick::subImageMatch »
  • PHP Manual
  • Imagick
  • Görüntüden tüm profilleri ve açıklamaları ayıklar

Imagick::stripImage

(PECL imagick 2, PECL imagick 3)

Imagick::stripImage — Görüntüden tüm profilleri ve açıklamaları ayıklar

Açıklama

public Imagick::stripImage(): bool

Görüntüden tüm profilleri ve açıklamaları ayıklar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.


Searches for a subimage in the current image and returns a similarity image

  • « Imagick::stripImage
  • Imagick::swirlImage »
  • PHP Manual
  • Imagick
  • Searches for a subimage in the current image and returns a similarity image

Imagick::subImageMatch

(PECL imagick 3 >= 3.3.0)

Imagick::subImageMatch — Searches for a subimage in the current image and returns a similarity image

Açıklama

public Imagick::subImageMatch(Imagick $Imagick, array &$offset = ?, float &$similarity = ?): Imagick

Searches for a subimage in the current image and returns a similarity image such that an exact match location is completely white and if none of the pixels match, black, otherwise some gray level in-between. You can also pass in the optional parameters bestMatch and similarity. After calling the function similarity will be set to the 'score' of the similarity between the subimage and the matching position in the larger image, bestMatch will contain an associative array with elements x, y, width, height that describe the matching region.

Bağımsız Değişkenler

Imagick

offset

similarity

A new image that displays the amount of similarity at each pixel.

Dönen Değerler

Örnekler

Örnek 1 Imagick::subImageMatch()

<?php
function subImageMatch($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick2 = clone $imagick;
$imagick2->cropimage(40, 40, 250, 110);
$imagick2->vignetteimage(0, 1, 3, 3);

$similarity = null;
$bestMatch = null;
$comparison = $imagick->subImageMatch($imagick2, $bestMatch, $similarity);

$comparison->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Görüntünün merkezine yakın pikselleri girdap gibi döndürür

  • « Imagick::subImageMatch
  • Imagick::textureImage »
  • PHP Manual
  • Imagick
  • Görüntünün merkezine yakın pikselleri girdap gibi döndürür

Imagick::swirlImage

(PECL imagick 2, PECL imagick 3)

Imagick::swirlImage — Görüntünün merkezine yakın pikselleri girdap gibi döndürür

Açıklama

public Imagick::swirlImage(float $açı): bool

Görüntünün merkezine yakın pikselleri girdap gibi döndürür. açı ile her pikselin çizeceği yayın açısı belirtilir.

Bağımsız Değişkenler

açı

En iyi etki 1..360 derece arasında alınır.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::swirlImage() örneği

<?php
function swirlImage($imagePath, $swirl) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->swirlImage($swirl);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Doku görüntüsünü yatay ve düşeyde yineler

  • « Imagick::swirlImage
  • Imagick::thresholdImage »
  • PHP Manual
  • Imagick
  • Doku görüntüsünü yatay ve düşeyde yineler

Imagick::textureImage

(PECL imagick 2, PECL imagick 3)

Imagick::textureImage — Doku görüntüsünü yatay ve düşeyde yineler

Açıklama

Imagick::textureImage(Imagick $doku_kalemi): Imagick

Doku görüntüsünü tuval görüntüsü üzerine yatay ve düşeyde yanyana yerleştirir.

Bağımsız Değişkenler

doku_kalemi

Doku görüntüsünü içeren Imagick nesnesi

Dönen Değerler

Yinelemeli doku görüntüsünün uygulandığı yeni Imagick nesnesi döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::textureImage() örneği

<?php
function textureImage($imagePath) {
$image = new \Imagick();
$image->newImage(640, 480, new \ImagickPixel('pink'));
$image->setImageFormat("jpg");
$texture = new \Imagick(realpath($imagePath));
$texture->scaleimage($image->getimagewidth() / 4, $image->getimageheight() / 4);
$image = $image->textureImage($texture);
header("Content-Type: image/jpg");
echo $image;
}

?>


Bazı pikselleri belli bir eşiğe göre değiştir

  • « Imagick::textureImage
  • Imagick::thumbnailImage »
  • PHP Manual
  • Imagick
  • Bazı pikselleri belli bir eşiğe göre değiştir

Imagick::thresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::thresholdImage — Bazı pikselleri belli bir eşiğe göre değiştir

Açıklama

public Imagick::thresholdImage(float $eşik, int $kanal = Imagick::CHANNEL_DEFAULT): bool

Her pikselin yoğunluğunu belli bir eşikle karşılaştırarak bazı pikselleri değiştirir. Sonuçta iki renkli yüksek zıtlığa sahip bir resim elde edilir.

Bağımsız Değişkenler

eşik

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::thresholdImage() örneği

<?php
function thresholdimage($imagePath, $threshold, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->thresholdimage($threshold * \Imagick::getQuantum(), $channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>


Görüntünün boyutlarını değiştirir

  • « Imagick::thresholdImage
  • Imagick::tintImage »
  • PHP Manual
  • Imagick
  • Görüntünün boyutlarını değiştirir

Imagick::thumbnailImage

(PECL imagick 2, PECL imagick 3)

Imagick::thumbnailImage — Görüntünün boyutlarını değiştirir

Açıklama

public Imagick::thumbnailImage(
int $sütun,
int $satır,
bool $sığdır = false,
bool $doldur = false,
bool $eski = false
): bool

Bir görüntünün boyutlarını belirtilen boyutlara indirir ve görüntü ile ilişkili profilleri siler. Yöntemin amacı, bir HTML sayfada gösterilmek üzere görüntünün küçük bir örneğini oluşturmaktır.

Bilginize: sığdır bağımsız değişkeninin davranışı Imagick 3.0.0 sürümünde değişmiştir. Evvelce 200x150 ebadındaki bir görüntü 400x400 ebadındaki bir alana sığdırılmak istendiğinde bu yapılmazdı. Artık görüntü 400x300 ebadına getirilerek belirtilen alana sığdırılmaktadır. sığdır bağımsız değişkeni kullanıldığı takdirde yükseklik ve genişliğin ikisi de verilmelidir.

Bağımsız Değişkenler

sütun

Görüntünün genişliği.

satır

Görüntünün yüksekliği.

sığdır

true belirtildiği takdirde, her iki yönde de azami uzunluk olarak satır ve sütun değerleri kullanılır. İki kenarın uzunluğu belirtilen boyuta veya biraz daha altına inene kadar küçültülür.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::thumbnailImage() örneği

<?php
function thumbnailImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setbackgroundcolor('rgb(64, 64, 64)');
$imagick->thumbnailImage(100, 100, true, true);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüdeki her piksele bir renk yöneyi uygular

  • « Imagick::thumbnailImage
  • Imagick::__toString »
  • PHP Manual
  • Imagick
  • Görüntüdeki her piksele bir renk yöneyi uygular

Imagick::tintImage

(PECL imagick 2, PECL imagick 3)

Imagick::tintImage — Görüntüdeki her piksele bir renk yöneyi uygular

Açıklama

public Imagick::tintImage(mixed $ton, mixed $matlık, bool $eski = false): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntüdeki her piksele bir renk yöneyi uygular. Yöneyin uzunluğu siyah ve beyaz için 0, ara tonlar için ise en azamisidir. Kullanılan yöney ağırlığı işlevi: f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).

Bağımsız Değişkenler

ton

matlık

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Artık, ilk bağımsız değişken için bir renk dizgesi ve ikinci bağımsız değişken olarak opaklık miktarını ifade eden bir gerçek sayı belirtilebilmektedir. Önceki sürümlerde sadece bir ImagickPixel nesnesinin belirtilmesine izin verilirdi.

Örnekler

Örnek 1 - Imagick::tintImage() örneği

<?php
function tintImage($r, $g, $b, $a) {
$a = $a / 100;

$imagick = new \Imagick();
$imagick->newPseudoImage(400, 400, 'gradient:black-white');

$tint = new \ImagickPixel("rgb($r, $g, $b)");
$opacity = new \ImagickPixel("rgb(128, 128, 128, $a)");
$imagick->tintImage($tint, $opacity);
$imagick->setImageFormat('png');
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Returns the image as a string

  • « Imagick::tintImage
  • Imagick::transformImage »
  • PHP Manual
  • Imagick
  • Returns the image as a string

Imagick::__toString

(PECL imagick 2, PECL imagick 3)

Imagick::__toString — Returns the image as a string

Açıklama

public Imagick::__toString(): string

Returns the current image as string. This will only return a single image; it should not be used for Imagick objects that contain multiple images e.g. an animated GIF or PDF with multiple pages.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string content on success or an empty string on failure.

Ayrıca Bakınız

  • Imagick::getImageBlob() - Görüntü dizisini ikil dizge olarak döndürür
  • Imagick::getImagesBlob() - Tüm görüntü dizilerini bir ikil dizge olarak döndürür


Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu

  • « Imagick::__toString
  • Imagick::transformImageColorspace »
  • PHP Manual
  • Imagick
  • Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu

Imagick::transformImage

(PECL imagick 2, PECL imagick 3)

Imagick::transformImage — Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu

Uyarı

Imagick 3.4.4 itibariyle bu işlevin kullanımı ÖNERİLMEMEKTEDİR. Bu işleve asla güvenilmemelidir.

Açıklama

public Imagick::transformImage(string $budama, string $geometri): Imagick

Birer dizge olarak budama miktarını ve görüntü geometrisini ayarlamak için uygun bir yol. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

budama

Görüntünün budanan parçasının geometrisini tanımlayan bir dizge.

geometri

Görüntünün budanmış halinin geometrisini tanımlayan bir dizge.

Dönen Değerler

Dönüştürülmüş görüntüyü içeren Imagick nesnesi döner.

Örnekler

Örnek 1 Imagick::transformImage() örneği

Bu örnekte 100x100 siyah bir görüntü elde edilmektedir.

<?php
$image = new Imagick();
$image->newImage(300, 200, "black");
$new_image = $image->transformImage("100x100", "100x100");
$new_image->writeImage('test_out.jpg');
?>

Ayrıca Bakınız

  • Imagick::adaptiveBlurImage() - Görüntüyü uyarlamalı olarak bulanıklaştırır
  • Imagick::motionBlurImage() - Hareket bulanıklığını taklit eder
  • Imagick::radialBlurImage() - Görüntüye dairesel bulanıklık uygular
  • Imagick::cropImage() - Görüntünün bir bölgesini çıkarır
  • Imagick::resizeImage() - Görüntüyü boyutlandırır
  • Imagick::thumbnailImage() - Görüntünün boyutlarını değiştirir


Transforms an image to a new colorspace

  • « Imagick::transformImage
  • Imagick::transparentPaintImage »
  • PHP Manual
  • Imagick
  • Transforms an image to a new colorspace

Imagick::transformImageColorspace

(PECL imagick 3)

Imagick::transformImageColorspace — Transforms an image to a new colorspace

Açıklama

public Imagick::transformImageColorspace(int $colorspace): bool

Transforms an image to a new colorspace.

Bağımsız Değişkenler

colorspace

The colorspace the image should be transformed to, one of the COLORSPACE constants e.g. Imagick::COLORSPACE_CMYK.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 Imagick::transformImageColorspace() example

Transforms an image to a new colorspace, and then extracts a single channel so that the individual channel values can be viewed.

<?php
function transformImageColorspace($imagePath, $colorSpace, $channel) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->transformimagecolorspace($colorSpace);
//channel should be one of the channel constants e.g. \Imagick::CHANNEL_BLUE
$imagick->separateImageChannel($channel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>

Ayrıca Bakınız

  • Imagick::setColorSpace() - Set colorspace


Pikselleri şeffaflaştırır

  • « Imagick::transformImageColorspace
  • Imagick::transposeImage »
  • PHP Manual
  • Imagick
  • Pikselleri şeffaflaştırır

Imagick::transparentPaintImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::transparentPaintImage — Pikselleri şeffaflaştırır

Açıklama

public Imagick::transparentPaintImage(
mixed $hedef,
float $şeffaflık,
float $benzerlik,
bool $ters
): bool

hedef renkteki pikselleri şeffaflaştırır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.8 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

hedef

Şeffaf yapılacak renk.

şeffaflık

Şeffaflık derecesi: 1.0 tamamen mat, 0.0 tamamen şeffaf.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir.

ters

true belirtilirse hedef renkle eşleşmeyen renkler şeffaflaştırılır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::transparentPaintImage() örneği

<?php
function transparentPaintImage($color, $alpha, $fuzz) {
$imagick = new \Imagick(realpath("images/BlueScreen.jpg"));

// Şeffaflığı desteklemesi lazım
$imagick->setimageformat('png');

$imagick->transparentPaintImage(
$color, $alpha, $fuzz * \Imagick::getQuantum(), false
);

// Gerekli değil, ancak kalan pikselleri toplamaya yardımcı olur
$imagick->despeckleimage();

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Görüntünün düşeydeki yansımasını oluşturur

  • « Imagick::transparentPaintImage
  • Imagick::transverseImage »
  • PHP Manual
  • Imagick
  • Görüntünün düşeydeki yansımasını oluşturur

Imagick::transposeImage

(PECL imagick 2, PECL imagick 3)

Imagick::transposeImage — Görüntünün düşeydeki yansımasını oluşturur

Açıklama

public Imagick::transposeImage(): bool

Pikselleri 90 derece döndürerek ve x eksenine göre yansıtarak resmin düşeydeki yansımasını oluşturur. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::transposeImage() örneği

<?php
function transposeImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->transposeImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::transverseImage() - Görüntünün yataydaki yansımasını oluşturur


Görüntünün yataydaki yansımasını oluşturur

  • « Imagick::transposeImage
  • Imagick::trimImage »
  • PHP Manual
  • Imagick
  • Görüntünün yataydaki yansımasını oluşturur

Imagick::transverseImage

(PECL imagick 2, PECL imagick 3)

Imagick::transverseImage — Görüntünün yataydaki yansımasını oluşturur

Açıklama

public Imagick::transverseImage(): bool

Pikselleri 270 derece döndürerek ve y eksenine göre yansıtarak görüntünün yataydaki yansımasını oluşturur. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::transverseImage() örneği

<?php
function transverseImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->transverseImage();
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::transposeImage() - Görüntünün düşeydeki yansımasını oluşturur


Görüntünün kenarlarını siler

  • « Imagick::transverseImage
  • Imagick::uniqueImageColors »
  • PHP Manual
  • Imagick
  • Görüntünün kenarlarını siler

Imagick::trimImage

(PECL imagick 2, PECL imagick 3)

Imagick::trimImage — Görüntünün kenarlarını siler

Açıklama

public Imagick::trimImage(float $benzerlik): bool

Artalan rengi olarak görüntünün kenarlarını siler. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir. Öntanımlı olarak hedefin belli bir piksel rengi ile tam olarak eşleşmesi gerekir. Ancak, çoğu durumda iki renk arasında küçük bir fark vardır. benzerlik bağımsız değişkeni iki rengin aynı kabul edilebilmesi için ne kadarlık bir farkın kabul edilebilir olduğunu belirler. Bu bağımsız değişken tanecik aralığında bir değişimi ifade eder.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::trimImage() örneği

Görüntünün kenarlarını kırpıp tarayıcıda gösterelim.

<?php
/* Bir görüntüyü okuyarak nesneYi oluştur */
$im = new Imagick("image.jpg");

/* Görüntüyü kırp */
$im->trimImage(0);

/* ve çıktıla */
header("Content-Type: image/" . $im->getImageFormat());
echo $im;
?>

Ayrıca Bakınız

  • Imagick::getQuantumDepth() - Parçacık derinliğini döndürür
  • Imagick::getQuantumRange() - Imagick parçacık aralığını döndürür
  • imagecropauto() - Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar


Biri dışında tüm piksel renklerini iptal eder

  • « Imagick::trimImage
  • Imagick::unsharpMaskImage »
  • PHP Manual
  • Imagick
  • Biri dışında tüm piksel renklerini iptal eder

Imagick::uniqueImageColors

(PECL imagick 2,PECL imagick 3)

Imagick::uniqueImageColors — Biri dışında tüm piksel renklerini iptal eder

Açıklama

public Imagick::uniqueImageColors(): bool

Biri dışında tüm piksel renklerini iptal eder. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::uniqueImageColors() örneği

<?php
function uniqueImageColors($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
//Reduce the image to 256 colours nicely.
$imagick->quantizeImage(256, \Imagick::COLORSPACE_YIQ, 0, false, false);
$imagick->uniqueImageColors();
$imagick->scaleimage($imagick->getImageWidth(), $imagick->getImageHeight() * 20);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Görüntüyü netleştirir

  • « Imagick::uniqueImageColors
  • Imagick::valid »
  • PHP Manual
  • Imagick
  • Görüntüyü netleştirir

Imagick::unsharpMaskImage

(PECL imagick 2, PECL imagick 3)

Imagick::unsharpMaskImage — Görüntüyü netleştirir

Açıklama

public Imagick::unsharpMaskImage(
float $yarıçap,
float $sapma,
float $miktar,
float $eşik,
int $kanal = Imagick::CHANNEL_DEFAULT
): bool

Görüntüyü netleştirir. Yarıçap ve standart sapması belirtilen bir Gauss işleci ile görüntü evriştirilir. Makul sonuçlar elde etmek için yarıçap standart sapmadan büyük olmalıdır. yarıçap olarak 0 verirseniz Imagick::unsharpMaskImage() size uygun bir yarıçap seçecektir.

Bağımsız Değişkenler

yarıçap

sapma

Standart sapma.

miktar

eşik

kanal

Normalde kanal türü sabitlerinden biri, ancak bitsel işleçler kullanılarak birden fazla kanal belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::unsharpMaskImage() örneği

<?php
function unsharpMaskImage($imagePath, $radius, $sigma, $amount, $unsharpThreshold) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->unsharpMaskImage($radius, $sigma, $amount, $unsharpThreshold);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Imagick nesnesinin geçerli olup olmadığını sınar

  • « Imagick::unsharpMaskImage
  • Imagick::vignetteImage »
  • PHP Manual
  • Imagick
  • Imagick nesnesinin geçerli olup olmadığını sınar

Imagick::valid

(PECL imagick 2, PECL imagick 3)

Imagick::valid — Imagick nesnesinin geçerli olup olmadığını sınar

Açıklama

public Imagick::valid(): bool

Imagick nesnesinin geçerli olup olmadığını sınar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Görüntüye bir nakış süzgeci uygular

  • « Imagick::valid
  • Imagick::waveImage »
  • PHP Manual
  • Imagick
  • Görüntüye bir nakış süzgeci uygular

Imagick::vignetteImage

(PECL imagick 2, PECL imagick 3)

Imagick::vignetteImage — Görüntüye bir nakış süzgeci uygular

Açıklama

public Imagick::vignetteImage(
float $siyahNokta,
float $beyazNokta,
int $x,
int $y
): bool

Görüntünün kenarlarını nakış tarzında yumuşatır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

siyahNokta

Siyah nokta.

beyazNokta

Beyaz nokta.

x

Elipsin X konumu.

y

Elipsin Y konumu.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::vignetteImage() örneği

<?php
function vignetteImage($imagePath, $blackPoint, $whitePoint, $x, $y) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->vignetteImage($blackPoint, $whitePoint, $x, $y);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::waveImage() - Görüntüye bir dalga süzgeci uygular
  • Imagick::swirlImage() - Görüntünün merkezine yakın pikselleri girdap gibi döndürür


Görüntüye bir dalga süzgeci uygular

  • « Imagick::vignetteImage
  • Imagick::whiteThresholdImage »
  • PHP Manual
  • Imagick
  • Görüntüye bir dalga süzgeci uygular

Imagick::waveImage

(PECL imagick 2, PECL imagick 3)

Imagick::waveImage — Görüntüye bir dalga süzgeci uygular

Açıklama

public Imagick::waveImage(float $genlik, float $dalga_boyu): bool

Görüntüye bir dalga süzgeci uygular. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.2.9 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

genlik

Dalganın genliği.

dalga_boyu

Dalga uzunluğu.

Dönen Değerler

Başarı durumunda true döner.

Hatalar/İstisnalar

Hata durumunda bir ImagickException istisnası oluşur.

Örnekler

Örnek 1 - Imagick::waveImage() biraz yavaş olabilir

<?php
function waveImage($imagePath, $amplitude, $length) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->waveImage($amplitude, $length);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>

Ayrıca Bakınız

  • Imagick::solarizeImage() - Görüntüye uzun pozlama etkisi uygular
  • Imagick::oilpaintImage() - Yağlı boya resmi taklit eder
  • Imagick::embossImage() - Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür
  • Imagick::addNoiseImage() - Görüntüye rasgele gürültü ekler
  • Imagick::swirlImage() - Görüntünün merkezine yakın pikselleri girdap gibi döndürür


Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar

  • « Imagick::waveImage
  • Imagick::writeImage »
  • PHP Manual
  • Imagick
  • Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar

Imagick::whiteThresholdImage

(PECL imagick 2, PECL imagick 3)

Imagick::whiteThresholdImage — Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar

Açıklama

public Imagick::whiteThresholdImage(mixed $eşik): bool

Eşiğin üzerindeki piksellerin tümünü beyaza boyamaya çalışması ve eşiğin altında kalan renklere hiç dokunmaması dışında Imagick::ThresholdImage() yöntemine benzer.

Bağımsız Değişkenler

eşik

Dönen Değerler

Başarı durumunda true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL imagick 2.1.0 | Bağımsız değişken olarak bir rengi ifade eden bir dizgenin belirtilebilmesi sağlandı. Önceki sürümlerde sadece bir ImagickPixel nesnesi belirtmeye izin verilirdi.

Örnekler

Örnek 1 * Imagick::whiteThresholdImage() örneği

<?php
function whiteThresholdImage($imagePath, $color) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->whiteThresholdImage($color);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}

?>


Görüntüyü belirtilen dosyaya yazar

  • « Imagick::whiteThresholdImage
  • Imagick::writeImageFile »
  • PHP Manual
  • Imagick
  • Görüntüyü belirtilen dosyaya yazar

Imagick::writeImage

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImage — Görüntüyü belirtilen dosyaya yazar

Açıklama

public Imagick::writeImage(string $dosya = null): bool

Görüntüyü belirtilen dosyaya yazar. dosya olarak null verilmişse görüntü, Imagick::ReadImage() veya Imagick::SetImageFilename() ile belirlenen dosyaya yazılır.

Bağımsız Değişkenler

dosya

Görüntünün yazılacağı dosyanın yolu. Dosya uzantısı görüntünün türünü belirler. Dosya uzantısına bakılmaksızın görüntü türü "jpg:test.png" biçemine benzer şekilde belirtilebilir.

Dönen Değerler

Başarı durumunda true döner.


Bir görüntüyü belirtilen dosya tanıtıcısına yazar

  • « Imagick::writeImage
  • Imagick::writeImages »
  • PHP Manual
  • Imagick
  • Bir görüntüyü belirtilen dosya tanıtıcısına yazar

Imagick::writeImageFile

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImageFile — Bir görüntüyü belirtilen dosya tanıtıcısına yazar

Açıklama

public Imagick::writeImageFile(resource $dt, string $biçem = ?): bool

Görüntüyü belirtilen dosya tanıtıcısına yazar. Dosya tanıtıcısı fopen() gibi bir işlevle açılmış olmalıdır. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

dt

Görüntünün yazılacağı dosya tanıtıcısı.

biçem

Görüntü biçemi. Geçerli biçem belirteçlerinin listesi ImageMagick'in derlenmiş özelliklerine bağlıdır ve Imagick::queryFormats() ile sorgulanabilir.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::queryFormats() - Imagick tarafından desteklenen biçemleri döndürür


Bir görüntüyü veya görüntü kümesini dosyaya yazar

  • « Imagick::writeImageFile
  • Imagick::writeImagesFile »
  • PHP Manual
  • Imagick
  • Bir görüntüyü veya görüntü kümesini dosyaya yazar

Imagick::writeImages

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImages — Bir görüntüyü veya görüntü kümesini dosyaya yazar

Açıklama

public Imagick::writeImages(string $dosya, bool $bitişik): bool

Bir görüntüyü veya görüntü kümesini belirtilen dosyaya yazar.

Bağımsız Değişkenler

dosya

Görüntünün yazılacağı dosyanın yolu.

bitişik

Dönen Değerler

Başarı durumunda true döner.


Görüntü karelerini bir dosya tanıtıcısına yazar

  • « Imagick::writeImages
  • ImagickDraw »
  • PHP Manual
  • Imagick
  • Görüntü karelerini bir dosya tanıtıcısına yazar

Imagick::writeImagesFile

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

Imagick::writeImagesFile — Görüntü karelerini bir dosya tanıtıcısına yazar

Açıklama

public Imagick::writeImagesFile(resource $dt, string $biçem = ?): bool

Tüm görüntü karelerini belirtiler dosya tanıtıcısına yazar. Bu işlevi, canlandırmalı GIF'leri ve diğer çok kareli görüntüleri açık bir dosya tanıtıcısına yazmak için kullanabilirsiniz. Bu yöntem, derleme sırasında ImageMagick kütüphanesinin 6.3.6 veya sonraki bir sürümü kuruluysa kullanılabilir.

Bağımsız Değişkenler

dt

Görüntülerin yazılacağı dosya tanıtıcısı.

biçem

Görüntü biçemi. Geçerli biçem belirteçlerinin listesi ImageMagick'in derlenmiş özelliklerine bağlıdır ve Imagick::queryFormats() ile sorgulanabilir.

Dönen Değerler

Başarı durumunda true döner.

Ayrıca Bakınız

  • Imagick::queryFormats() - Imagick tarafından desteklenen biçemleri döndürür


ImagickDraw sınıfı

(PECL imagick 2, PECL imagick 3)

Sınıf Sözdizimi

class ImagickDraw {
public affine(array $matris): bool
public annotation(float $x, float $y, string $metin): bool
public arc(
float $sx,
float $sy,
float $ex,
float $ey,
float $sd,
float $ed
): bool
public bezier(array $noktalar): bool
public circle(
float $ox,
float $oy,
float $px,
float $py
): bool
public clear(): bool
public clone(): ImagickDraw
public color(float $x, float $y, int $boyamaYöntemi): bool
public comment(string $açıklama): bool
public composite(
int $işleç,
float $x,
float $y,
float $genişlik,
float $yükseklik,
Imagick $görüntü
): bool
public __construct()
public destroy(): bool
public ellipse(
float $ox,
float $oy,
float $rx,
float $ry,
float $başlangıç,
float $bitiş
): bool
public getClipPath(): string
public getClipRule(): int
public getClipUnits(): int
public getFillColor(): ImagickPixel
public getFillOpacity(): float
public getFillRule(): int
public getFont(): string
public getFontFamily(): string
public getFontSize(): float
public getFontStretch(): int
public getFontStyle(): int
public getFontWeight(): int
public getGravity(): int
public getStrokeAntialias(): bool
public getStrokeColor(): ImagickPixel
public getStrokeDashArray(): array
public getStrokeDashOffset(): float
public getStrokeLineCap(): int
public getStrokeLineJoin(): int
public getStrokeMiterLimit(): int
public getStrokeOpacity(): float
public getStrokeWidth(): float
public getTextAlignment(): int
public getTextAntialias(): bool
public getTextDecoration(): int
public getTextEncoding(): string
public getTextInterlineSpacing(): float
public getTextInterwordSpacing(): float
public getTextKerning(): float
public getTextUnderColor(): ImagickPixel
public getVectorGraphics(): string
publicline(
float $bx,
float $by,
float $sx,
float $sy
): bool
public matte(float $x, float $y, int $boyamaYöntemi): bool
public pathClose(): bool
public pathCurveToAbsolute(
float $x1,
float $y1,
float $x2,
float $y2,
float $x,
float $y
): bool
public pathCurveToQuadraticBezierAbsolute(
float $x1,
float $y1,
float $x,
float $y
): bool
public pathCurveToQuadraticBezierRelative(
float $x1,
float $y1,
float $x,
float $y
): bool
public pathCurveToQuadraticBezierSmoothAbsolute(float $x, float $y): bool
public pathCurveToQuadraticBezierSmoothRelative(float $x, float $y): bool
public pathCurveToRelative(
float $x1,
float $y1,
float $x2,
float $y2,
float $x,
float $y
): bool
public pathCurveToSmoothAbsolute(
float $x2,
float $y2,
float $x,
float $y
): bool
public pathCurveToSmoothRelative(
float $x2,
float $y2,
float $x,
float $y
): bool
public pathEllipticArcAbsolute(
float $rx,
float $ry,
float $x_ekseni_açısı,
bool $büyük_yay,
bool $saat_yönü,
float $x,
float $y
): bool
public pathEllipticArcRelative(
float $rx,
float $ry,
float $x_ekseni_açısı,
bool $büyük_yay,
bool $saat_yönü,
float $x,
float $y
): bool
public pathFinish(): bool
public pathLineToAbsolute(float $x, float $y): bool
public pathLineToHorizontalAbsolute(float $x): bool
public pathLineToHorizontalRelative(float $x): bool
public pathLineToRelative(float $x, float $y): bool
public pathLineToVerticalAbsolute(float $y): bool
public pathLineToVerticalRelative(float $y): bool
public pathMoveToAbsolute(float $x, float $y): bool
public pathMoveToRelative(float $x, float $y): bool
public pathStart(): bool
public point(float $x, float $y): bool
public polygon(array $koordinatlar): bool
public polyline(array $koordinatlar): bool
public pop(): bool
public popClipPath(): bool
public popDefs(): bool
public popPattern(): bool
public push(): bool
public pushClipPath(string $yalıtım_maskesi_kimliği): bool
public pushDefs(): bool
public pushPattern(
string $örüntü_kimliği,
float $x,
float $y,
float $genişlik,
float $yükseklik
): bool
public rectangle(
float $x1,
float $y1,
float $x2,
float $y2
): bool
public render(): bool
public resetVectorGraphics(): bool
public rotate(float $açı): bool
public roundRectangle(
float $x1,
float $y1,
float $x2,
float $y2,
float $rx,
float $ry
): bool
public scale(float $x, float $y): bool
public setClipPath(string $yalıtım_maskesi): bool
public setClipRule(int $dolgu_kuralı): bool
public setClipUnits(int $yalıtım_birimleri): bool
public setFillAlpha(float $şeffaflık): bool
public setFillColor(ImagickPixel $dolgu_rengi): bool
public setFillOpacity(float $matlık): bool
public setFillPatternURL(string $dolgu_adresi): bool
public setFillRule(int $dolgu_kuralı): bool
public setFont(string $yazıtipi_adı): bool
public setFontFamily(string $yazıtipi_ailesi): bool
public setFontSize(float $punto): bool
public setFontStretch(int $gerginlik): bool
public setFontStyle(int $tarz): bool
public setFontWeight(int $kalınlık): bool
public setGravity(int $çekimYönü): bool
public setResolution(float $x_resolution, float $y_resolution): bool
public setStrokeAlpha(float $şeffaflık): bool
public setStrokeAntialias(bool $vurguyu_yumuşat): bool
public setStrokeColor(ImagickPixel $vurgu_rengi): bool
public setStrokeDashArray(array $tireDizisi): bool
public setStrokeDashOffset(float $tire_başlangıcı): bool
public setStrokeLineCap(int $uçTürü): bool
public setStrokeLineJoin(int $eklemTürü): bool
public setStrokeMiterLimit(int $gönyeSınırı): bool
public setStrokeOpacity(float $vurgu_matlığı): bool
public setStrokePatternURL(string $örüntü_adresi): bool
public setStrokeWidth(float $vurgu_genişliği): bool
public setTextAlignment(int $hizalama): bool
public setTextAntialias(bool $yumuşat): bool
public setTextDecoration(int $süs): bool
public setTextEncoding(string $karküm): bool
public setTextInterlineSpacing(float $spacing): bool
public setTextInterwordSpacing(float $spacing): bool
public setTextKerning(float $kerning): bool
public setTextUnderColor(ImagickPixel $artalan): bool
public setVectorGraphics(string $xml): bool
public setViewbox(
int $x1,
int $y1,
int $x2,
int $y2
): bool
public skewX(float $derece): bool
public skewY(float $derece): bool
public translate(float $x, float $y): bool
}

İçindekiler

  • ImagickDraw::affine — Geçerli homojen koordinatlar matrisini ayarlar
  • ImagickDraw::annotation — Görüntünün üzerine bir metin çizer
  • ImagickDraw::arc — Bir yay çizer
  • ImagickDraw::bezier — Bir Bezier eğrisi çizer
  • ImagickDraw::circle — Bir daire çizer
  • ImagickDraw::clear — ImagickDraw nesnesini temizler
  • ImagickDraw::clone — Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar
  • ImagickDraw::color — Bir görüntüyü boyar
  • ImagickDraw::comment — Bir yöney çıktı akımına bir açıklama ekler
  • ImagickDraw::composite — Bir görüntüyü geçerli görüntüyle bileştirir
  • ImagickDraw::__construct — ImagickDraw kurucusu
  • ImagickDraw::destroy — ImagickDraw yıkıcısı
  • ImagickDraw::ellipse — Görüntünün üzerine bir elips çizer
  • ImagickDraw::getClipPath — Geçerli yalıtım maskesi kimliğini döndürür
  • ImagickDraw::getClipRule — Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür
  • ImagickDraw::getClipUnits — Yalıtım maskesi birimlerinin yorumunu döndürür
  • ImagickDraw::getFillColor — Dolgu rengini döndürür
  • ImagickDraw::getFillOpacity — Çizimde kullanılan matlık değerini döndürür
  • ImagickDraw::getFillRule — Geçerli dolgu kuralını döndürür
  • ImagickDraw::getFont — Geçerli yazı tipini döndürür
  • ImagickDraw::getFontFamily — Yazı tipi ailesini döndürür
  • ImagickDraw::getFontSize — Yazı tipi yüksekliğini döndürür
  • ImagickDraw::getFontStretch — Gets the font stretch to use when annotating with text
  • ImagickDraw::getFontStyle — Yazı tipi tarzını döndürür
  • ImagickDraw::getFontWeight — Yazı tipi kalınlığını döndürür
  • ImagickDraw::getGravity — Metnin çekim yönünü döndürür
  • ImagickDraw::getStrokeAntialias — Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür
  • ImagickDraw::getStrokeColor — Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür
  • ImagickDraw::getStrokeDashArray — Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür
  • ImagickDraw::getStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını döndürür
  • ImagickDraw::getStrokeLineCap — Kalın çizgilerdeki çizgi uçlarının şeklini döndürür
  • ImagickDraw::getStrokeLineJoin — Kalın çizgi ekleminin şeklini döndürür
  • ImagickDraw::getStrokeMiterLimit — Gönyenin kesildiği sınırı döndürür
  • ImagickDraw::getStrokeOpacity — Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür
  • ImagickDraw::getStrokeWidth — Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür
  • ImagickDraw::getTextAlignment — Metin hizalamasını döndürür
  • ImagickDraw::getTextAntialias — Geçerli metin yumuşatma ayarını döndürür
  • ImagickDraw::getTextDecoration — Metin süslemesi türünü döndürür
  • ImagickDraw::getTextEncoding — Metin çizerken kullanılan karakter kümesi ismini döndürür
  • ImagickDraw::getTextInterlineSpacing — Gets the text interword spacing
  • ImagickDraw::getTextInterwordSpacing — Gets the text interword spacing
  • ImagickDraw::getTextKerning — Gets the text kerning
  • ImagickDraw::getTextUnderColor — Metin artalanındaki rengi döndürür
  • ImagickDraw::getVectorGraphics — Yöney çizgesini içeren bir dizge döner
  • ImagickDraw::line — Bir çizgi çizer
  • ImagickDraw::matte — Görüntünün matlık kanalını boyar
  • ImagickDraw::pathClose — Geçerli hatta son elemanı ekler
  • ImagickDraw::pathCurveToAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute — İkinci dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToQuadraticBezierRelative — İkinci dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — İkinci dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — İkinci dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToRelative — Üçüncü dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToSmoothAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathCurveToSmoothRelative — Üçüncü dereceden bir Bezier eğrisi çizer
  • ImagickDraw::pathEllipticArcAbsolute — Eliptik bir yay çizer
  • ImagickDraw::pathEllipticArcRelative — Bir eliptik yay çizer
  • ImagickDraw::pathFinish — Geçerli hattı sonlandırır
  • ImagickDraw::pathLineToAbsolute — Bir hat elemanı çizer
  • ImagickDraw::pathLineToHorizontalAbsolute — Yatay bir hat elemanı çizer
  • ImagickDraw::pathLineToHorizontalRelative — Yatay bir hat elemanı çizer
  • ImagickDraw::pathLineToRelative — Bir hat elemanı çizer
  • ImagickDraw::pathLineToVerticalAbsolute — Düşey bir hat elemanı çizer
  • ImagickDraw::pathLineToVerticalRelative — Bir düşey hat elemanı çizer
  • ImagickDraw::pathMoveToAbsolute — Yeni bir hat elemanı başlatır
  • ImagickDraw::pathMoveToRelative — Yeni bir hat elemanı başlatır
  • ImagickDraw::pathStart — Bir hat çizim listesinin başlangıcını bildirir
  • ImagickDraw::point — Bir nokta çizer
  • ImagickDraw::polygon — Bir çokgen çizer
  • ImagickDraw::polyline — Bir çoklu çizgi çizer
  • ImagickDraw::pop — Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür
  • ImagickDraw::popClipPath — Bir yalıtım maskesi tanımını sonlandırır
  • ImagickDraw::popDefs — Bir tanım listesini sonlandırır
  • ImagickDraw::popPattern — Bir örüntü tanımını sonlandırır
  • ImagickDraw::push — Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar
  • ImagickDraw::pushClipPath — Bir yalıtım maskesi tanımı başlatır
  • ImagickDraw::pushDefs — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir
  • ImagickDraw::pushPattern — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir
  • ImagickDraw::rectangle — Bir dikdörtgen çizer
  • ImagickDraw::render — Evvelce verilmiş tüm çizim komutlarını resme uygular
  • ImagickDraw::resetVectorGraphics — Resets the vector graphics
  • ImagickDraw::rotate — Geçerli koordinat sistemini belirtilen açıda döndürür
  • ImagickDraw::roundRectangle — Köşeleri yuvarlatılmış bir dikdörtgen çizer
  • ImagickDraw::scale — Enboy oranını ayarlar
  • ImagickDraw::setClipPath — Bir isimli yalıtım maskesini resimle ilişkilendirir
  • ImagickDraw::setClipRule — Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler
  • ImagickDraw::setClipUnits — Yalıtım maskesi birimlerinin yorumunu belirler
  • ImagickDraw::setFillAlpha — Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler
  • ImagickDraw::setFillColor — Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler
  • ImagickDraw::setFillOpacity — Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler
  • ImagickDraw::setFillPatternURL — Nesne dolgu örüntüsü için kullanılacak adresi belirler
  • ImagickDraw::setFillRule — Çokgen çizerken kullanılacak dolgu kuralını belirler
  • ImagickDraw::setFont — Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler
  • ImagickDraw::setFontFamily — Yazı tipi ailesini belirler
  • ImagickDraw::setFontSize — Yazı tipi yüksekliğini belirler
  • ImagickDraw::setFontStretch — Yazı tipinin karakter genişliğini belirler
  • ImagickDraw::setFontStyle — Yazı tipi tarzını belirler
  • ImagickDraw::setFontWeight — Yazı tipi kalınlığını belirler
  • ImagickDraw::setGravity — Metnin çekim yönünü belirler
  • ImagickDraw::setResolution — Sets the resolution
  • ImagickDraw::setStrokeAlpha — Vurgulu nesne dış hatlarının şeffaflığını tanımlar
  • ImagickDraw::setStrokeAntialias — Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler
  • ImagickDraw::setStrokeColor — Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar
  • ImagickDraw::setStrokeDashArray — Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler
  • ImagickDraw::setStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını belirler
  • ImagickDraw::setStrokeLineCap — Kalın çizgilerde çizgi uçlarının şeklini belirler
  • ImagickDraw::setStrokeLineJoin — Kalın çizgi ekleminin şeklini belirler
  • ImagickDraw::setStrokeMiterLimit — Gönyenin kesildiği sınırı tanımlar
  • ImagickDraw::setStrokeOpacity — Vurgulanmış nesne dış hatlarının matlığını tanımlar
  • ImagickDraw::setStrokePatternURL — Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar
  • ImagickDraw::setStrokeWidth — Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar
  • ImagickDraw::setTextAlignment — Metni hizalar
  • ImagickDraw::setTextAntialias — Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler
  • ImagickDraw::setTextDecoration — Bir karakter süslemesi tanımlar
  • ImagickDraw::setTextEncoding — Metin karakter kümesini tanımlar
  • ImagickDraw::setTextInterlineSpacing — Sets the text interline spacing
  • ImagickDraw::setTextInterwordSpacing — Sets the text interword spacing
  • ImagickDraw::setTextKerning — Sets the text kerning
  • ImagickDraw::setTextUnderColor — Metin çerçevesinin artalan rengini tanımlar
  • ImagickDraw::setVectorGraphics — Yöney çizgesini tanımlar
  • ImagickDraw::setViewbox — Tuval boyutunu uçtan uca tanımlar
  • ImagickDraw::skewX — Geçerli koordinat sistemini yatayda belirtilen açıda eğer
  • ImagickDraw::skewY — Geçerli koordinat sistemini düşeyde belirtilen açıda eğer
  • ImagickDraw::translate — Geçerli koordinat sisteminin başnoktasını değiştirir


Geçerli homojen koordinatlar matrisini ayarlar

  • « ImagickDraw
  • ImagickDraw::annotation »
  • PHP Manual
  • ImagickDraw
  • Geçerli homojen koordinatlar matrisini ayarlar

ImagickDraw::affine

(PECL imagick 2, PECL imagick 3)

ImagickDraw::affine — Geçerli homojen koordinatlar matrisini ayarlar

Açıklama

public ImagickDraw::affine(array $matris): bool

Belirtilen matrise göre homojen koordinatlar matrisini ayarlar.

Bağımsız Değişkenler

matris

Bir dizi olarak homojen koordinatlar matrisi (Affine matrix).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::affine() örneği

<?php
function affine($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeWidth(1);
$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);

$PI = 3.141592653589794;
$angle = 60 * $PI / 360;

// Çizim koordinatlarını ölçekle.
$affineScale = array("sx" => 1.75, "sy" => 1.75, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

// Çizim koordinatlarını kırp
$affineShear = array("sx" => 1, "sy" => 1, "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0);

// Çizim koordinatlarını döndür. Kırpma koordinatları matrisi
// yanlış ölçeklendirilmiş çizimler üretir.
$affineRotate = array("sx" => cos($angle), "sy" => cos($angle), "rx" => sin($angle), "ry" => -sin($angle), "tx" => 0, "ty" => 0,);

// Çizimi dönüştür
$affineTranslate = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 30, "ty" => 30);

// Tanımlı homojen koordinatlar matrisi
$affineIdentity = array("sx" => 1, "sy" => 1, "rx" => 0, "ry" => 0, "tx" => 0, "ty" => 0);

$examples = [$affineScale, $affineShear, $affineRotate, $affineTranslate, $affineIdentity,];

$count = 0;

foreach ($examples as $example) {
$draw->push();
$draw->translate(($count % 2) * 250, intval($count / 2) * 250);
$draw->translate(100, 100);
$draw->affine($example);
$draw->rectangle(-50, -50, 50, 50);
$draw->pop();
$count++;
}

// Çizim komutlarının işlenebileceği bir görüntü nesnesi oluştur
$image = new \Imagick();
$image->newImage(500, 750, $backgroundColor);
$image->setImageFormat("png");

// ImagickDraw nesnesindeki çizim komutlarını görüntüye işle
$image->drawImage($draw);

// Görüntüyü tarayıcıya gönder
header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Görüntünün üzerine bir metin çizer

  • « ImagickDraw::affine
  • ImagickDraw::arc »
  • PHP Manual
  • ImagickDraw
  • Görüntünün üzerine bir metin çizer

ImagickDraw::annotation

(PECL imagick 2, PECL imagick 3)

ImagickDraw::annotation — Görüntünün üzerine bir metin çizer

Açıklama

public ImagickDraw::annotation(float $x, float $y, string $metin): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntünün üzerine bir metin çizer.

Bağımsız Değişkenler

x

Metnin çizileceği yerin X koordinatı.

y

Metnin çizileceği yerin Y koordinatı.

metin

Görüntünün üzerine çizilecek metin.

Dönen Değerler

Hiçbir değer dönmez.


Bir yay çizer

  • « ImagickDraw::annotation
  • ImagickDraw::bezier »
  • PHP Manual
  • ImagickDraw
  • Bir yay çizer

ImagickDraw::arc

(PECL imagick 2, PECL imagick 3)

ImagickDraw::arc — Bir yay çizer

Açıklama

public ImagickDraw::arc(
float $sx,
float $sy,
float $ex,
float $ey,
float $sd,
float $ed
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü üzerinde belirtilen çerçeveye başlangıç ve bitiş açıları verilen yayı çizer.

Bağımsız Değişkenler

sx

Çerçevenin sol üst köşesinin X konumu.

sy

Çerçevenin sol üst köşesinin Y konumu.

ex

Çerçevenin sağ alt köşesinin X konumu.

ey

Çerçevenin sağ alt köşesinin Y konumu.

sd

Yayın başlangıç açısı.

ed

Yayın bitiş açısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::arc() örneği

<?php
function arc($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $startAngle, $endAngle) {

// İçine çizmek için bir ImagickDraw nesnesi oluştur
$draw = new \ImagickDraw();
$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);

$draw->arc($startX, $startY, $endX, $endY, $startAngle, $endAngle);

// Çizim komutlarının işlenebileceği bir görüntü nesnesi oluştur
$image = new \Imagick();
$image->newImage(IMAGE_WIDTH, IMAGE_HEIGHT, $backgroundColor);
$image->setImageFormat("png");

// ImagickDraw nesnesindeki çizim komutlarını görüntüye işle.
$image->drawImage($draw);

// Görüntüyü tarayıcıya gönder
header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Bir Bezier eğrisi çizer

  • « ImagickDraw::arc
  • ImagickDraw::circle »
  • PHP Manual
  • ImagickDraw
  • Bir Bezier eğrisi çizer

ImagickDraw::bezier

(PECL imagick 2, PECL imagick 3)

ImagickDraw::bezier — Bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::bezier(array $noktalar): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntü üzerine noktaları verilen Bezier eğrisini çizer.

Bağımsız Değişkenler

noktalar

Çok boyutlu bir dizi; örnek: array( array( 'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::bezier() örneği

<?php
function bezier($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);

$smoothPointsSet = [
[
['x' => 10.0 * 5, 'y' => 10.0 * 5],
['x' => 30.0 * 5, 'y' => 90.0 * 5],
['x' => 25.0 * 5, 'y' => 10.0 * 5],
['x' => 50.0 * 5, 'y' => 50.0 * 5],
],
[
['x' => 50.0 * 5, 'y' => 50.0 * 5],
['x' => 75.0 * 5, 'y' => 90.0 * 5],
['x' => 70.0 * 5, 'y' => 10.0 * 5],
['x' => 90.0 * 5, 'y' => 40.0 * 5],
],
];

foreach ($smoothPointsSet as $points) {
$draw->bezier($points);
}

$disjointPoints = [
[
['x' => 10 * 5, 'y' => 10 * 5],
['x' => 30 * 5, 'y' => 90 * 5],
['x' => 25 * 5, 'y' => 10 * 5],
['x' => 50 * 5, 'y' => 50 * 5],
],
[
['x' => 50 * 5, 'y' => 50 * 5],
['x' => 80 * 5, 'y' => 50 * 5],
['x' => 70 * 5, 'y' => 10 * 5],
['x' => 90 * 5, 'y' => 40 * 5],
]
];
$draw->translate(0, 200);

foreach ($disjointPoints as $points) {
$draw->bezier($points);
}

// Çizim komutlarının işlenebileceği bir görüntü nesnesi oluştur
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

// ImagickDraw nesnesindeki çizim komutlarını görüntüye işle
$imagick->drawImage($draw);

// Görüntüyü tarayıcıya gönder
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir daire çizer

  • « ImagickDraw::bezier
  • ImagickDraw::clear »
  • PHP Manual
  • ImagickDraw
  • Bir daire çizer

ImagickDraw::circle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::circle — Bir daire çizer

Açıklama

public ImagickDraw::circle(
float $ox,
float $oy,
float $px,
float $py
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntünün üzerine bir daire çizer.

Bağımsız Değişkenler

ox

Merkezin X koordinatı.

oy

Merkezin Y koordinatı.

px

Çember X koordinatı

py

Çember Y koordinatı

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::circle() örneği

<?php
function circle($strokeColor, $fillColor, $backgroundColor, $originX, $originY, $endX, $endY) {

// İçine çizmek için bir ImagickDraw nesnesi oluştur
$draw = new \ImagickDraw();

$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->circle($originX, $originY, $endX, $endY);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


ImagickDraw nesnesini temizler

  • « ImagickDraw::circle
  • ImagickDraw::clone »
  • PHP Manual
  • ImagickDraw
  • ImagickDraw nesnesini temizler

ImagickDraw::clear

(PECL imagick 2, PECL imagick 3)

ImagickDraw::clear — ImagickDraw nesnesini temizler

Açıklama

public ImagickDraw::clear(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickDraw nesnesini verilmiş komutlardan temizleyip ayarları öntanımlı değerlerle sıfırlar.

Dönen Değerler

Temiz bir ImagickDraw nesnesi döner.


Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar

  • « ImagickDraw::clear
  • ImagickDraw::color »
  • PHP Manual
  • ImagickDraw
  • Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar

ImagickDraw::clone

(PECL imagick 2, PECL imagick 3)

ImagickDraw::clone — Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar

Açıklama

public ImagickDraw::clone(): ImagickDraw
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar.

Dönen Değerler

Bir ImagickDraw nesnesi döner.


Bir görüntüyü boyar

  • « ImagickDraw::clone
  • ImagickDraw::comment »
  • PHP Manual
  • ImagickDraw
  • Bir görüntüyü boyar

ImagickDraw::color

(PECL imagick 2, PECL imagick 3)

ImagickDraw::color — Bir görüntüyü boyar

Açıklama

public ImagickDraw::color(float $x, float $y, int $boyamaYöntemi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli dolgu rengini ve belirtilen boyama yöntemini kullanarak belirtilen konumdan başlayarak görüntüyü boyar.

Bağımsız Değişkenler

x

Boyamanın başlayacağı X konumu.

y

Boyamanın başlayacağı Y konumu.

boyamaYöntemi

PAINT sabitlerinden biri. (imagick::PAINT_*)

Dönen Değerler

Hiçbir değer dönmez.


Bir yöney çıktı akımına bir açıklama ekler

  • « ImagickDraw::color
  • ImagickDraw::composite »
  • PHP Manual
  • ImagickDraw
  • Bir yöney çıktı akımına bir açıklama ekler

ImagickDraw::comment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::comment — Bir yöney çıktı akımına bir açıklama ekler

Açıklama

public ImagickDraw::comment(string $açıklama): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir yöney çıktı akımına belirtilen açıklamayı ekler.

Bağımsız Değişkenler

açıklama

Yöney çıktı akımına eklenecek açıklama dizgesi.

Dönen Değerler

Hiçbir değer dönmez.


Bir görüntüyü geçerli görüntüyle bileştirir

  • « ImagickDraw::comment
  • ImagickDraw::__construct »
  • PHP Manual
  • ImagickDraw
  • Bir görüntüyü geçerli görüntüyle bileştirir

ImagickDraw::composite

(PECL imagick 2, PECL imagick 3)

ImagickDraw::composite — Bir görüntüyü geçerli görüntüyle bileştirir

Açıklama

public ImagickDraw::composite(
int $işleç,
float $x,
float $y,
float $genişlik,
float $yükseklik,
Imagick $görüntü
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen birleştirme işlecini kullanarak belirtilen noktaya belirtilen boyutta belirtilen görüntüyü geçerli görüntüyle birleştirir.

Bağımsız Değişkenler

işleç

Birleştirme işleci sabitlerinden biri (imagick::COMPOSITE_*).

x

Sol üst köşenin yatay konumu.

y

Sol üst köşenin düşey konumu.

genişlik

Birleşik görüntünün genişliği,

yükseklik

Birleşik görüntünün yüksekliği.

görüntü

Birleştirilecek görüntünün alınacağı Imagick nesnesi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 ImagickDraw::composite() örneği

<?php
function composite($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setFillOpacity(1);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setStrokeWidth(2);
$draw->setFont("../fonts/CANDY.TTF");
$draw->setFontSize(140);
$draw->rectangle(0, 0, 1000, 300);
$draw->setFillColor('white');
$draw->setfillopacity(1);
$draw->annotation(50, 180, "Lorem Ipsum!");
// Çizim komutlarını uygulamak için bir görüntü nesnesi oluştur
$imagick = new \Imagick();
$imagick->newImage(1000, 302, $backgroundColor);
$imagick->setImageFormat("png");
// ImagickDraw nesnesindeki çizim komutlarını görüntüye uygula
$imagick->drawImage($draw);
// Görüntüyü tarayıcıya gönder
header("Content-Type: image/png");
echo $imagick->getImageBlob();
}
?>


ImagickDraw kurucusu

  • « ImagickDraw::composite
  • ImagickDraw::destroy »
  • PHP Manual
  • ImagickDraw
  • ImagickDraw kurucusu

ImagickDraw::__construct

(PECL imagick 2, PECL imagick 3)

ImagickDraw::__construct — ImagickDraw kurucusu

Açıklama

public ImagickDraw::__construct()
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickDraw kurucusu.

Dönen Değerler

Hiçbir değer dönmez.


ImagickDraw yıkıcısı

  • « ImagickDraw::__construct
  • ImagickDraw::ellipse »
  • PHP Manual
  • ImagickDraw
  • ImagickDraw yıkıcısı

ImagickDraw::destroy

(PECL imagick 2, PECL imagick 3)

ImagickDraw::destroy — ImagickDraw yıkıcısı

Açıklama

public ImagickDraw::destroy(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickDraw nesnesi ile ilişkili tüm özkaynakları serbest bırakır.

Dönen Değerler

Hiçbir değer dönmez.


Görüntünün üzerine bir elips çizer

  • « ImagickDraw::destroy
  • ImagickDraw::getClipPath »
  • PHP Manual
  • ImagickDraw
  • Görüntünün üzerine bir elips çizer

ImagickDraw::ellipse

(PECL imagick 2, PECL imagick 3)

ImagickDraw::ellipse — Görüntünün üzerine bir elips çizer

Açıklama

public ImagickDraw::ellipse(
float $ox,
float $oy,
float $rx,
float $ry,
float $başlangıç,
float $bitiş
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Görüntünün üzerine bir elips çizer.

Bağımsız Değişkenler

ox

oy

rx

ry

başlangıç

bitiş

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::ellipse() örneği

<?php
function ellipse($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->ellipse(125, 70, 100, 50, 0, 360);
$draw->ellipse(350, 70, 100, 50, 0, 315);

$draw->push();
$draw->translate(125, 250);
$draw->rotate(30);
$draw->ellipse(0, 0, 100, 50, 0, 360);
$draw->pop();

$draw->push();
$draw->translate(350, 250);
$draw->rotate(30);
$draw->ellipse(0, 0, 100, 50, 0, 315);
$draw->pop();

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Geçerli yalıtım maskesi kimliğini döndürür

  • « ImagickDraw::ellipse
  • ImagickDraw::getClipRule »
  • PHP Manual
  • ImagickDraw
  • Geçerli yalıtım maskesi kimliğini döndürür

ImagickDraw::getClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipPath — Geçerli yalıtım maskesi kimliğini döndürür

Açıklama

public ImagickDraw::getClipPath(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli yalıtım maskesi kimliğini döndürür.

Dönen Değerler

Bir yalıtım maskesi yoksa false aksi takdirde geçerli yalıtım maskesi kimliğini bir dizge olarak döndürür.


Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür

  • « ImagickDraw::getClipPath
  • ImagickDraw::getClipUnits »
  • PHP Manual
  • ImagickDraw
  • Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür

ImagickDraw::getClipRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipRule — Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür

Açıklama

public ImagickDraw::getClipRule(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür.

Dönen Değerler

Dolgu kuralı sabitlerinden biri (imagick::FILLRULE_*).


Yalıtım maskesi birimlerinin yorumunu döndürür

  • « ImagickDraw::getClipRule
  • ImagickDraw::getFillColor »
  • PHP Manual
  • ImagickDraw
  • Yalıtım maskesi birimlerinin yorumunu döndürür

ImagickDraw::getClipUnits

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getClipUnits — Yalıtım maskesi birimlerinin yorumunu döndürür

Açıklama

public ImagickDraw::getClipUnits(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yalıtım maskesi birimlerinin yorumunu döndürür.

Dönen Değerler

Başarı durumunda bir tamsayı döner.


Dolgu rengini döndürür

  • « ImagickDraw::getClipUnits
  • ImagickDraw::getFillOpacity »
  • PHP Manual
  • ImagickDraw
  • Dolgu rengini döndürür

ImagickDraw::getFillColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillColor — Dolgu rengini döndürür

Açıklama

public ImagickDraw::getFillColor(): ImagickPixel
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dolgulu nesnelerin çiziminde kullanılan dolgu rengini döndürür.

Dönen Değerler

Bir ImagickPixel nesnesi döner.


Çizimde kullanılan matlık değerini döndürür

  • « ImagickDraw::getFillColor
  • ImagickDraw::getFillRule »
  • PHP Manual
  • ImagickDraw
  • Çizimde kullanılan matlık değerini döndürür

ImagickDraw::getFillOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillOpacity — Çizimde kullanılan matlık değerini döndürür

Açıklama

public ImagickDraw::getFillOpacity(): float
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dolgu dokusu veya dolgu rengi için kullanılan matlık değerini döndürür. Tam matlık değeri 1.0'dır.

Dönen Değerler

Matlık değerini bir gerçek sayı olarak döndürür.


Geçerli dolgu kuralını döndürür

  • « ImagickDraw::getFillOpacity
  • ImagickDraw::getFont »
  • PHP Manual
  • ImagickDraw
  • Geçerli dolgu kuralını döndürür

ImagickDraw::getFillRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFillRule — Geçerli dolgu kuralını döndürür

Açıklama

public ImagickDraw::getFillRule(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Çokgen çizerken kullanılan dolgu kuralını döndürür.

Dönen Değerler

Dolgu kuralı sabitlerinden biri (imagick::FILLRULE_*).


Geçerli yazı tipini döndürür

  • « ImagickDraw::getFillRule
  • ImagickDraw::getFontFamily »
  • PHP Manual
  • ImagickDraw
  • Geçerli yazı tipini döndürür

ImagickDraw::getFont

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFont — Geçerli yazı tipini döndürür

Açıklama

public ImagickDraw::getFont(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizerken kullanılan yazı tipi adını bir dizge olarak döndürür.

Dönen Değerler

Başarı durumanda bir dizge yoksa false döner.


Yazı tipi ailesini döndürür

  • « ImagickDraw::getFont
  • ImagickDraw::getFontSize »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi ailesini döndürür

ImagickDraw::getFontFamily

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontFamily — Yazı tipi ailesini döndürür

Açıklama

public ImagickDraw::getFontFamily(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizerken kullanılan yazı tipi ailesinin ismini döndürür.

Dönen Değerler

Yazı tipi ailesi belirlenmemişse false, aksi takdirde yazı tipi ailesinin ismini içeren bir dizge döner.


Yazı tipi yüksekliğini döndürür

  • « ImagickDraw::getFontFamily
  • ImagickDraw::getFontStretch »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi yüksekliğini döndürür

ImagickDraw::getFontSize

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontSize — Yazı tipi yüksekliğini döndürür

Açıklama

public ImagickDraw::getFontSize(): float
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizmekte kullanılan yazı tipi yüksekliğini punto olarak döndürür.

Dönen Değerler

ImagickDraw nesnesi ile ilişkilendirilmiş yazı tipinin yüksekliğini döndürür.


Gets the font stretch to use when annotating with text

  • « ImagickDraw::getFontSize
  • ImagickDraw::getFontStyle »
  • PHP Manual
  • ImagickDraw
  • Gets the font stretch to use when annotating with text

ImagickDraw::getFontStretch

(PECL imagick 2 >=2.3.0, PECL imagick 3)

ImagickDraw::getFontStretch — Gets the font stretch to use when annotating with text

Açıklama

public ImagickDraw::getFontStretch(): int

Gets the font stretch to use when annotating with text. Returns a StretchType.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Yazı tipi tarzını döndürür

  • « ImagickDraw::getFontStretch
  • ImagickDraw::getFontWeight »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi tarzını döndürür

ImagickDraw::getFontStyle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontStyle — Yazı tipi tarzını döndürür

Açıklama

public ImagickDraw::getFontStyle(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizerken kullanılan yazı tipi tarzını döndürür

Dönen Değerler

Bir tarz belirlenmemişse 0, aksi takdirde ImagickDraw nesnesiyle ilişkilendirilen yazı tipi tarzı sabitlerinden biri (imagick::STYLE_*) döner.


Yazı tipi kalınlığını döndürür

  • « ImagickDraw::getFontStyle
  • ImagickDraw::getGravity »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi kalınlığını döndürür

ImagickDraw::getFontWeight

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getFontWeight — Yazı tipi kalınlığını döndürür

Açıklama

public ImagickDraw::getFontWeight(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizerken kullanılan yazı tipi kalınlığını döndürür.

Dönen Değerler

Kalınlık belirlenmemişse 0, aksi takdirde bir tamsayı döner.


Metnin çekim yönünü döndürür

  • « ImagickDraw::getFontWeight
  • ImagickDraw::getStrokeAntialias »
  • PHP Manual
  • ImagickDraw
  • Metnin çekim yönünü döndürür

ImagickDraw::getGravity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getGravity — Metnin çekim yönünü döndürür

Açıklama

public ImagickDraw::getGravity(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin yerleştirilirken kullanılan çekim yönünü döndürür.

Dönen Değerler

Çekim yönü belirlenmemişse 0, aksi takdirde çekim yönü sabitlerinden biri (imagick::GRAVITY_*) döner.


Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür

  • « ImagickDraw::getGravity
  • ImagickDraw::getStrokeColor »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür

ImagickDraw::getStrokeAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeAntialias — Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür

Açıklama

public ImagickDraw::getStrokeAntialias(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Vurgu kenar yumuşatması ayarını döndürür. Vurgulu dış hatlara öntanımlı olarak kenar yumuşatması uygulanır. Yumuşatma iptal edildiğinde vurgulu kenar piksellerinin rengi belirlenirken vurgu ve tuval rengi parlaklık bakımından karşılaştırılır (eşikleme).

Dönen Değerler

Kenar yumuşatma etkinse true değilse false döner.


Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür

  • « ImagickDraw::getStrokeAntialias
  • ImagickDraw::getStrokeDashArray »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür

ImagickDraw::getStrokeColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeColor — Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür

Açıklama

public ImagickDraw::getStrokeColor(): ImagickPixel
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür.

Dönen Değerler

Vurgunun rengini bir ImagickPixel nesnesi olarak döndürür.


Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür

  • « ImagickDraw::getStrokeColor
  • ImagickDraw::getStrokeDashOffset »
  • PHP Manual
  • ImagickDraw
  • Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür

ImagickDraw::getStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeDashArray — Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür

Açıklama

public ImagickDraw::getStrokeDashArray(): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür.

Dönen Değerler

Dizi oluşturulmamışsa boş bir dizi, aksi takdirde tireleri ve boşlukları içeren bir dizi döndürür.


Kesikli çizgi örüntüsünde tire başlangıcını döndürür

  • « ImagickDraw::getStrokeDashArray
  • ImagickDraw::getStrokeLineCap »
  • PHP Manual
  • ImagickDraw
  • Kesikli çizgi örüntüsünde tire başlangıcını döndürür

ImagickDraw::getStrokeDashOffset

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını döndürür

Açıklama

public ImagickDraw::getStrokeDashOffset(): float
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kesikli çizgi örüntüsünde tire başlangıcını döndürür.

Dönen Değerler

Tire başlangıcı belirlenmemişse 0, aksi takdirde başlangıcı belirten bir gerçek sayı döner.


Kalın çizgilerdeki çizgi uçlarının şeklini döndürür

  • « ImagickDraw::getStrokeDashOffset
  • ImagickDraw::getStrokeLineJoin »
  • PHP Manual
  • ImagickDraw
  • Kalın çizgilerdeki çizgi uçlarının şeklini döndürür

ImagickDraw::getStrokeLineCap

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeLineCap — Kalın çizgilerdeki çizgi uçlarının şeklini döndürür

Açıklama

public ImagickDraw::getStrokeLineCap(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kalın çizgilerdeki çizgi uçlarının şeklini döndürür.

Dönen Değerler

Uç şekli belirlenmemişse 0, aksi takdirde çizgi ucu sabitlerinden biri (imagick::LINECAP_*) döner.


Kalın çizgi ekleminin şeklini döndürür

  • « ImagickDraw::getStrokeLineCap
  • ImagickDraw::getStrokeMiterLimit »
  • PHP Manual
  • ImagickDraw
  • Kalın çizgi ekleminin şeklini döndürür

ImagickDraw::getStrokeLineJoin

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeLineJoin — Kalın çizgi ekleminin şeklini döndürür

Açıklama

public ImagickDraw::getStrokeLineJoin(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kalın çizgi eklemlerinin şeklini döndürür.

Dönen Değerler

Eklem şekli belirlenmemişse 0, aksi takdirde çizgi eklemi sabitlerinden biri (imagick::LINEJOIN_*) döner.


Gönyenin kesildiği sınırı döndürür

  • « ImagickDraw::getStrokeLineJoin
  • ImagickDraw::getStrokeOpacity »
  • PHP Manual
  • ImagickDraw
  • Gönyenin kesildiği sınırı döndürür

ImagickDraw::getStrokeMiterLimit

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeMiterLimit — Gönyenin kesildiği sınırı döndürür

Açıklama

public ImagickDraw::getStrokeMiterLimit(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Gönyenin kesildiği sınırı döndürür. İki kalın çizgi keskin bir açı ile kesiştiğinde kesişim yeri gönye köşesi biçimini alacak şekilde çizgi fazlalıkları atılır. Bu gönye köşesini uzatmak mümkündür. Gönye sınırı ile gönye uzunluğunun çizgi genişliğine oranına bir sınırlama getirilir.

Dönen Değerler

Gönye sınırı belirlenmemişse 0, aksi takdirde gönye sınırını belirten bir tamsayı döner.


Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür

  • « ImagickDraw::getStrokeMiterLimit
  • ImagickDraw::getStrokeWidth »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür

ImagickDraw::getStrokeOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeOpacity — Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür

Açıklama

public ImagickDraw::getStrokeOpacity(): float
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür.

Dönen Değerler

Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını float türünde gerçek sayı olarak döndürür.


Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür

  • « ImagickDraw::getStrokeOpacity
  • ImagickDraw::getTextAlignment »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür

ImagickDraw::getStrokeWidth

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getStrokeWidth — Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür

Açıklama

public ImagickDraw::getStrokeWidth(): float
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini float türünde döndürür.

Dönen Değerler

Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini bir gerçek sayı olarak döndürür.


Metin hizalamasını döndürür

  • « ImagickDraw::getStrokeWidth
  • ImagickDraw::getTextAntialias »
  • PHP Manual
  • ImagickDraw
  • Metin hizalamasını döndürür

ImagickDraw::getTextAlignment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextAlignment — Metin hizalamasını döndürür

Açıklama

public ImagickDraw::getTextAlignment(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metne uygulanan hizalama türünü döndürür.

Dönen Değerler

Hiçbir hizalama yoksa 0, aksi takdirde hizalama sabitlerinden biri (imagick::ALIGN_*) döner.


Geçerli metin yumuşatma ayarını döndürür

  • « ImagickDraw::getTextAlignment
  • ImagickDraw::getTextDecoration »
  • PHP Manual
  • ImagickDraw
  • Geçerli metin yumuşatma ayarını döndürür

ImagickDraw::getTextAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextAntialias — Geçerli metin yumuşatma ayarını döndürür

Açıklama

public ImagickDraw::getTextAntialias(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metne yumuşatma uygulanıp uygulanmadığı bilgisi döner. Metinlere öntanımlı olarak yumuşatma uygulanır.

Dönen Değerler

Metne yumuşatma uygulanıyorsa true yoksa false döner.


Metin süslemesi türünü döndürür

  • « ImagickDraw::getTextAntialias
  • ImagickDraw::getTextEncoding »
  • PHP Manual
  • ImagickDraw
  • Metin süslemesi türünü döndürür

ImagickDraw::getTextDecoration

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextDecoration — Metin süslemesi türünü döndürür

Açıklama

public ImagickDraw::getTextDecoration(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metne uygulanan süslemenin türünü döndürür.

Dönen Değerler

Bir süsleme yoksa 0, aksi takdirde süsleme türü sabitlerinden biri (imagick::DECORATION_*) döner.


Metin çizerken kullanılan karakter kümesi ismini döndürür

  • « ImagickDraw::getTextDecoration
  • ImagickDraw::getTextInterlineSpacing »
  • PHP Manual
  • ImagickDraw
  • Metin çizerken kullanılan karakter kümesi ismini döndürür

ImagickDraw::getTextEncoding

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextEncoding — Metin çizerken kullanılan karakter kümesi ismini döndürür

Açıklama

public ImagickDraw::getTextEncoding(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizerken kullanılan karakter kümesi ismini döndürür.

Dönen Değerler

Karakter kodlaması tanımsızsa false aksi takdirde metin çizerken kullanılan karakter kümesi ismini bir dizge olarak döndürür.


Gets the text interword spacing

  • « ImagickDraw::getTextEncoding
  • ImagickDraw::getTextInterwordSpacing »
  • PHP Manual
  • ImagickDraw
  • Gets the text interword spacing

ImagickDraw::getTextInterlineSpacing

(PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextInterlineSpacing — Gets the text interword spacing

Açıklama

public ImagickDraw::getTextInterlineSpacing(): float

Gets the text interword spacing.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets the text interword spacing

  • « ImagickDraw::getTextInterlineSpacing
  • ImagickDraw::getTextKerning »
  • PHP Manual
  • ImagickDraw
  • Gets the text interword spacing

ImagickDraw::getTextInterwordSpacing

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextInterwordSpacing — Gets the text interword spacing

Açıklama

public ImagickDraw::getTextInterwordSpacing(): float

Gets the text interword spacing.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets the text kerning

  • « ImagickDraw::getTextInterwordSpacing
  • ImagickDraw::getTextUnderColor »
  • PHP Manual
  • ImagickDraw
  • Gets the text kerning

ImagickDraw::getTextKerning

(PECL imagick 2 >= 2.3.0, PECL imagick 3 >= 3.1.0)

ImagickDraw::getTextKerning — Gets the text kerning

Açıklama

public ImagickDraw::getTextKerning(): float

Gets the text kerning.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Metin artalanındaki rengi döndürür

  • « ImagickDraw::getTextKerning
  • ImagickDraw::getVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Metin artalanındaki rengi döndürür

ImagickDraw::getTextUnderColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getTextUnderColor — Metin artalanındaki rengi döndürür

Açıklama

public ImagickDraw::getTextUnderColor(): ImagickPixel
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çerçevesi artalanının rengini döndürür.

Dönen Değerler

Rengi ifade eden bir ImagickPixel nesnesi döner.


Yöney çizgesini içeren bir dizge döner

  • « ImagickDraw::getTextUnderColor
  • ImagickDraw::line »
  • PHP Manual
  • ImagickDraw
  • Yöney çizgesini içeren bir dizge döner

ImagickDraw::getVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::getVectorGraphics — Yöney çizgesini içeren bir dizge döner

Açıklama

public ImagickDraw::getVectorGraphics(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickDraw nesnesi örneklenene kadar yapılan çizge çağrıları ile üretilen yöney çizgesini içeren bir dizge döner.

Dönen Değerler

Yöney çizgesini içeren bir dizge döner.


Bir çizgi çizer

  • « ImagickDraw::getVectorGraphics
  • ImagickDraw::matte »
  • PHP Manual
  • ImagickDraw
  • Bir çizgi çizer

ImagickDraw::line

(PECL imagick 2, PECL imagick 3)

ImagickDraw::line — Bir çizgi çizer

Açıklama

publicImagickDraw::line(
float $bx,
float $by,
float $sx,
float $sy
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli vurgu rengi, matlığı ve genişliğini kullanarak görüntüye bir çizgi çizer.

Bağımsız Değişkenler

bx

Başlangıç noktasının X koordinatı.

by

Başlangıç noktasının Y koordinatı.

sx

Bitiş noktasının X koordinatı.

sy

Bitiş noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::line() örneği

<?php
function line($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->line(125, 70, 100, 50);
$draw->line(350, 170, 100, 150);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Görüntünün matlık kanalını boyar

  • « ImagickDraw::line
  • ImagickDraw::pathClose »
  • PHP Manual
  • ImagickDraw
  • Görüntünün matlık kanalını boyar

ImagickDraw::matte

(PECL imagick 2, PECL imagick 3)

ImagickDraw::matte — Görüntünün matlık kanalını boyar

Açıklama

public ImagickDraw::matte(float $x, float $y, int $boyamaYöntemi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Pikselleri şeffaflaştırmak için görüntünün matlık kanalını boyar.

Bağımsız Değişkenler

x

Mat pikselin X koordinatı.

y

Mat pikselin Y koordinatı.

boyamaYöntemi

Boyama sabitlerinden biri (imagick::PAINT_*).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ImagickDraw::matte() örneği

<?php
function matte($strokeColor, $fillColor, $backgroundColor, $paintType) {
$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->matte(120, 120, $paintType);
$draw->rectangle(100, 100, 300, 200);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Geçerli hatta son elemanı ekler

  • « ImagickDraw::matte
  • ImagickDraw::pathCurveToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Geçerli hatta son elemanı ekler

ImagickDraw::pathClose

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathClose — Geçerli hatta son elemanı ekler

Açıklama

public ImagickDraw::pathClose(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli nokta ile son çizilen hat elemanının başlangıç noktası (genellikle son moveto noktasıdır) arasına bir hat elemanı ekleyerek hattı kapatır.

Dönen Değerler

Hiçbir değer dönmez.


Üçüncü dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathClose
  • ImagickDraw::pathCurveToQuadraticBezierAbsolute »
  • PHP Manual
  • ImagickDraw
  • Üçüncü dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToAbsolute(
float $x1,
float $y1,
float $x2,
float $y2,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak, eğrinin başlangıcındaki denetim noktası olarak (x1, y1), sonundaki denetim noktası olarak (x2, y2) kullanılarak geçerli noktadan belirtilen (x,y) noktasına üçüncü dereceden bir Bezier eğrisi çizer. Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x1

Başlangıçtaki denetim noktasının X koordinatı.

y1

Başlangıçtaki denetim noktasının Y koordinatı.

x2

Sondaki denetim noktasının X koordinatı.

y2

Sondaki denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


İkinci dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToAbsolute
  • ImagickDraw::pathCurveToQuadraticBezierRelative »
  • PHP Manual
  • ImagickDraw
  • İkinci dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToQuadraticBezierAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierAbsolute — İkinci dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToQuadraticBezierAbsolute(
float $x1,
float $y1,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak, denetim noktası (x1, y1) olmak üzere geçerli noktadan belirtilen (x,y) noktasına ikinci dereceden bir Bezier eğrisi çizer. Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x1

Denetim noktasının X koordinatı.

y1

Denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::pathCurveToQuadraticBezierAbsolute() örneği

<?php
function pathCurveToQuadraticBezierAbsolute($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// Bu, başlangıç noktası olarak geçerli konumu olan ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası ilk iki bağımsız değişken
// ve bitiş noktası son iki bağımsız değişkendir.
$draw->pathCurveToQuadraticBezierAbsolute(
150,50,
250,250
);

// Bu, başlangıç noktası olarak geçerli konumla ikinci dereceden bir
// bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası x, y değerleri ile tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
450,250
);

// Bu, başlangıç noktası olarak geçerli konumun bulunduğu ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası, x, y değerleriyle geçerli
// konumdan göreli olarak tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothRelative(
200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();

}

?>


İkinci dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToQuadraticBezierAbsolute
  • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute »
  • PHP Manual
  • ImagickDraw
  • İkinci dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToQuadraticBezierRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierRelative — İkinci dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToQuadraticBezierRelative(
float $x1,
float $y1,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak, denetim noktası (x1, y1) olmak üzere geçerli noktadan belirtilen (x,y) noktasına ikinci dereceden bir Bezier eğrisi çizer. Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x1

Denetim noktasının X koordinatı.

y1

Denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


İkinci dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToQuadraticBezierRelative
  • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative »
  • PHP Manual
  • ImagickDraw
  • İkinci dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute — İkinci dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak, geçerli noktadan belirtilen (x,y) noktasına ikinci dereceden bir Bezier eğrisi çizer. Önceki komutun geçerli noktaya göre denetim noktasının yansıması denetim noktası olarak ele alınır. (Böyle bir komut yoksa veya önceki komut ImagickDraw::pathCurveToQuadraticBezierAbsolute(), ImagickDraw::pathCurveToQuadraticBezierRelative(), ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute() veya ImagickDraw::pathCurveToQuadraticBezierSmoothRelative() değilse ilk denetim noktası olarak geçerli nokta kullanılır.) İşlemin sonunda Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bu işlev, bir kübik Bezier eğrisini sorunsuz bir şekilde devam ettirmek için kullanılamaz. Yalnızca ikinci dereceden bir eğriden sorunsuz bir şekilde devam edebilir.

Bağımsız Değişkenler

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute() örneği

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// Bu, başlangıç noktası olarak geçerli konumu olan ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası ilk iki bağımsız değişken
// ve bitiş noktası son iki bağımsız değişkendir.
$draw->pathCurveToQuadraticBezierAbsolute(
150,50,
250,250
);

// Bu, başlangıç noktası olarak geçerli konumla ikinci dereceden bir
// bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası x, y değerleri ile tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
450,250
);

// Bu, başlangıç noktası olarak geçerli konumun bulunduğu ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası, x, y değerleriyle geçerli
// konumdan göreli olarak tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothRelative(
200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>


İkinci dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute
  • ImagickDraw::pathCurveToRelative »
  • PHP Manual
  • ImagickDraw
  • İkinci dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToQuadraticBezierSmoothRelative — İkinci dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToQuadraticBezierSmoothRelative(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak, geçerli noktadan belirtilen (x,y) noktasına ikinci dereceden bir Bezier eğrisi çizer. Önceki komutun geçerli noktaya göre denetim noktasının yansıması denetim noktası olarak ele alınır. (Böyle bir komut yoksa veya önceki komut ImagickDraw::pathCurveToQuadraticBezierAbsolute(), ImagickDraw::pathCurveToQuadraticBezierRelative(), ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute() veya ImagickDraw::pathCurveToQuadraticBezierSmoothRelative() değilse ilk denetim noktası olarak geçerli nokta kullanılır.) İşlemin sonunda Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bu işlev, bir kübik Bezier eğrisini sorunsuz bir şekilde devam ettirmek için kullanılamaz. Yalnızca ikinci dereceden bir eğriden sorunsuz bir şekilde devam edilebilir.

Bağımsız Değişkenler

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::pathCurveToQuadraticBezierSmoothRelative() örneği

<?php
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor("black");
$draw->setFillColor("blue");

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50,250);

// Bu, başlangıç noktası olarak geçerli konumu olan ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası ilk iki bağımsız değişken
// ve bitiş noktası son iki bağımsız değişkendir.
$draw->pathCurveToQuadraticBezierAbsolute(
150,50,
250,250
);

// Bu, başlangıç noktası olarak geçerli konumla ikinci dereceden bir
// bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası x, y değerleri ile tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothAbsolute(
450,250
);

// Bu, başlangıç noktası olarak geçerli konumun bulunduğu ikinci dereceden
// bir bezier eğrisini belirtir, denetim noktası önceki eğrilerin denetim
// noktasından yansıtılır ve bitiş noktası, x, y değerleriyle geçerli
// konumdan göreli olarak tanımlanır.
$draw->pathCurveToQuadraticBezierSmoothRelative(
200,-100
);

$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(700, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
?>


Üçüncü dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToQuadraticBezierSmoothRelative
  • ImagickDraw::pathCurveToSmoothAbsolute »
  • PHP Manual
  • ImagickDraw
  • Üçüncü dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToRelative — Üçüncü dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToRelative(
float $x1,
float $y1,
float $x2,
float $y2,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak, eğrinin başlangıcındaki denetim noktası olarak (x1, y1), sonundaki denetim noktası olarak (x2, y2) kullanılarak geçerli noktadan belirtilen (x,y) noktasına üçüncü dereceden bir Bezier eğrisi çizer. Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x1

Başlangıçtaki denetim noktasının X koordinatı.

y1

Başlangıçtaki denetim noktasının Y koordinatı.

x2

Sondaki denetim noktasının X koordinatı.

y2

Sondaki denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Üçüncü dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToRelative
  • ImagickDraw::pathCurveToSmoothRelative »
  • PHP Manual
  • ImagickDraw
  • Üçüncü dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToSmoothAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToSmoothAbsolute — Üçüncü dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToSmoothAbsolute(
float $x2,
float $y2,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak, geçerli noktadan belirtilen (x,y) noktasına üçüncü dereceden bir Bezier eğrisi çizer. Önceki komutun geçerli noktaya göre ikinci denetim noktasının yansıması ilk denetim noktası olarak ele alınır. (Böyle bir komut yoksa veya önceki komut ImagickDraw::pathCurveToAbsolute(), ImagickDraw::pathCurveToRelative(), ImagickDraw::pathCurveToSmoothAbsolute() veya ImagickDraw::pathCurveToSmoothRelative() değilse ilk denetim noktası olarak geçerli nokta kullanılır.) (x2, y2) ikinci (yani eğrinin sonundaki) denetim noktasıdır. İşlemin sonunda Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x2

Sondaki denetim noktasının X koordinatı.

y2

Sondaki denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı

Dönen Değerler

Hiçbir değer dönmez.


Üçüncü dereceden bir Bezier eğrisi çizer

  • « ImagickDraw::pathCurveToSmoothAbsolute
  • ImagickDraw::pathEllipticArcAbsolute »
  • PHP Manual
  • ImagickDraw
  • Üçüncü dereceden bir Bezier eğrisi çizer

ImagickDraw::pathCurveToSmoothRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathCurveToSmoothRelative — Üçüncü dereceden bir Bezier eğrisi çizer

Açıklama

public ImagickDraw::pathCurveToSmoothRelative(
float $x2,
float $y2,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak, geçerli noktadan belirtilen (x,y) noktasına üçüncü dereceden bir Bezier eğrisi çizer. Önceki komutun geçerli noktaya göre ikinci denetim noktasının yansıması ilk denetim noktası olarak ele alınır. (Böyle bir komut yoksa veya önceki komut ImagickDraw::pathCurveToAbsolute(), ImagickDraw::pathCurveToRelative(), ImagickDraw::pathCurveToSmoothAbsolute() veya ImagickDraw::pathCurveToSmoothRelative() değilse ilk denetim noktası olarak geçerli nokta kullanılır.) (x2, y2) ikinci (yani eğrinin sonundaki) denetim noktasıdır. İşlemin sonunda Bezier eğrisinin son (x,y) noktası geçerli nokta haline gelir.

Bağımsız Değişkenler

x2

Sondaki denetim noktasının X koordinatı.

y2

Sondaki denetim noktasının Y koordinatı.

x

Eğrinin son noktasının X koordinatı.

y

Eğrinin son noktasının Y koordinatı

Dönen Değerler

Hiçbir değer dönmez.


Eliptik bir yay çizer

  • « ImagickDraw::pathCurveToSmoothRelative
  • ImagickDraw::pathEllipticArcRelative »
  • PHP Manual
  • ImagickDraw
  • Eliptik bir yay çizer

ImagickDraw::pathEllipticArcAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathEllipticArcAbsolute — Eliptik bir yay çizer

Açıklama

public ImagickDraw::pathEllipticArcAbsolute(
float $rx,
float $ry,
float $x_ekseni_açısı,
bool $büyük_yay,
bool $saat_yönü,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak geçerli noktadan (x, y) koordinatlarına bir eliptik yay çizer. Elipsin büyüklüğü ve yönü (rx, ry) yarıçapları ve x_ekseni_açısı tarafından tanımlanır. x_ekseni_açısı elipsin geçerli koordinat sistemine göre ne kadar döndürüleceğini belirler. Elipsin merkezi diğer bağımsız değişkenlerden yararlanılarak otomatik olarak hesaplanır. Yayın nasıl çizileceği büyük_yay ve saat_yönü bağımsız değişkenlerine göre belirlenip buna göre hesaplanır. Eğer büyük_yay için true belirtilmişse kullanılabilecek en büyük yay çizilir. Eğer saat_yönü için true belirtilirse, yay, saat akrebi yönünde çizilir.

Bağımsız Değişkenler

rx

x yarıçapı.

ry

y yarıçapı.

x_ekseni_açısı

x ekseni dönüş açısı.

büyük_yay

true belirtilmişse kullanılabilecek en büyük yay çizilir.

saat_yönü

true belirtilirse yay saat akrebi yönünde çizilir.

x

x koordinatı.

y

y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Bir eliptik yay çizer

  • « ImagickDraw::pathEllipticArcAbsolute
  • ImagickDraw::pathFinish »
  • PHP Manual
  • ImagickDraw
  • Bir eliptik yay çizer

ImagickDraw::pathEllipticArcRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathEllipticArcRelative — Bir eliptik yay çizer

Açıklama

public ImagickDraw::pathEllipticArcRelative(
float $rx,
float $ry,
float $x_ekseni_açısı,
bool $büyük_yay,
bool $saat_yönü,
float $x,
float $y
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak geçerli noktadan (x, y) koordinatlarına bir eliptik yay çizer. Elipsin büyüklüğü ve yönü (rx, ry) yarıçapları ve x_ekseni_açısı tarafından tanımlanır. x_ekseni_açısı elipsin geçerli koordinat sistemine göre ne kadar döndürüleceğini belirler. Elipsin merkezi diğer bağımsız değişkenlerden yararlanılarak otomatik olarak hesaplanır. Yayın nasıl çizileceği büyük_yay ve saat_yönü bağımsız değişkenlerine göre belirlenip buna göre hesaplanır. Eğer büyük_yay için true belirtilmişse kullanılabilecek en büyük yay çizilir. Eğer saat_yönü için true belirtilirse, yay, saat akrebi yönünde çizilir.

Bağımsız Değişkenler

rx

x yarıçapı.

ry

y yarıçapı.

x_ekseni_açısı

x ekseni dönüş açısı.

büyük_yay

true belirtilmişse kullanılabilecek en büyük yay çizilir.

saat_yönü

true belirtilirse yay saat akrebi yönünde çizilir.

x

x koordinatı.

y

y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Geçerli hattı sonlandırır

  • « ImagickDraw::pathEllipticArcRelative
  • ImagickDraw::pathLineToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Geçerli hattı sonlandırır

ImagickDraw::pathFinish

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathFinish — Geçerli hattı sonlandırır

Açıklama

public ImagickDraw::pathFinish(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli hattı sonlandırır.

Dönen Değerler

Hiçbir değer dönmez.


Bir hat elemanı çizer

  • « ImagickDraw::pathFinish
  • ImagickDraw::pathLineToHorizontalAbsolute »
  • PHP Manual
  • ImagickDraw
  • Bir hat elemanı çizer

ImagickDraw::pathLineToAbsolute

(PECL imagick 2)

ImagickDraw::pathLineToAbsolute — Bir hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToAbsolute(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak geçerli noktadan belirtilen noktaya bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

x

Hedef noktanın X konumu.

y

Hedef noktanın Y konumu.

Dönen Değerler

Hiçbir değer dönmez.


Yatay bir hat elemanı çizer

  • « ImagickDraw::pathLineToAbsolute
  • ImagickDraw::pathLineToHorizontalRelative »
  • PHP Manual
  • ImagickDraw
  • Yatay bir hat elemanı çizer

ImagickDraw::pathLineToHorizontalAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToHorizontalAbsolute — Yatay bir hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToHorizontalAbsolute(float $x): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak geçerli noktadan belirtilen noktaya yatay bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

x

Hedef noktanın X koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Yatay bir hat elemanı çizer

  • « ImagickDraw::pathLineToHorizontalAbsolute
  • ImagickDraw::pathLineToRelative »
  • PHP Manual
  • ImagickDraw
  • Yatay bir hat elemanı çizer

ImagickDraw::pathLineToHorizontalRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToHorizontalRelative — Yatay bir hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToHorizontalRelative(float $x): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak geçerli noktadan belirtilen noktaya yatay bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

x

Hedef noktanın X koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Bir hat elemanı çizer

  • « ImagickDraw::pathLineToHorizontalRelative
  • ImagickDraw::pathLineToVerticalAbsolute »
  • PHP Manual
  • ImagickDraw
  • Bir hat elemanı çizer

ImagickDraw::pathLineToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToRelative — Bir hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToRelative(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak geçerli noktadan belirtilen noktaya bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

x

Hedef noktanın X konumu.

y

Hedef noktanın Y konumu.

Dönen Değerler

Hiçbir değer dönmez.


Düşey bir hat elemanı çizer

  • « ImagickDraw::pathLineToRelative
  • ImagickDraw::pathLineToVerticalRelative »
  • PHP Manual
  • ImagickDraw
  • Düşey bir hat elemanı çizer

ImagickDraw::pathLineToVerticalAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToVerticalAbsolute — Düşey bir hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToVerticalAbsolute(float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Mutlak koordinatları kullanarak geçerli noktadan belirtilen noktaya düşey bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

y

Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Bir düşey hat elemanı çizer

  • « ImagickDraw::pathLineToVerticalAbsolute
  • ImagickDraw::pathMoveToAbsolute »
  • PHP Manual
  • ImagickDraw
  • Bir düşey hat elemanı çizer

ImagickDraw::pathLineToVerticalRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathLineToVerticalRelative — Bir düşey hat elemanı çizer

Açıklama

public ImagickDraw::pathLineToVerticalRelative(float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Göreli koordinatları kullanarak geçerli noktadan belirtilen noktaya düşey bir hat elemanı çizer. Belirtilen nokta geçerli nokta haline gelir.

Bağımsız Değişkenler

y

Y koordinatı.

Dönen Değerler

Hiçbir değer dönmez.


Yeni bir hat elemanı başlatır

  • « ImagickDraw::pathLineToVerticalRelative
  • ImagickDraw::pathMoveToRelative »
  • PHP Manual
  • ImagickDraw
  • Yeni bir hat elemanı başlatır

ImagickDraw::pathMoveToAbsolute

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathMoveToAbsolute — Yeni bir hat elemanı başlatır

Açıklama

public ImagickDraw::pathMoveToAbsolute(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen koordinatları mutlak koordinatlar olarak kullanıp yeni bir hat elemanı başlatır. Belirtilen koordinat geçerli koordinat haline gelir.

Bağımsız Değişkenler

x

Başlangıç noktasının X konumu.

y

Başlangıç noktasının Y konumu.

Dönen Değerler

Hiçbir değer dönmez.


Yeni bir hat elemanı başlatır

  • « ImagickDraw::pathMoveToAbsolute
  • ImagickDraw::pathStart »
  • PHP Manual
  • ImagickDraw
  • Yeni bir hat elemanı başlatır

ImagickDraw::pathMoveToRelative

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathMoveToRelative — Yeni bir hat elemanı başlatır

Açıklama

public ImagickDraw::pathMoveToRelative(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen koordinatları göreli koordinatlar olarak kullanıp yeni bir hat elemanı başlatır. Belirtilen koordinat geçerli koordinat haline gelir.

Bağımsız Değişkenler

x

Hedef X konumu.

y

Hedef Y konumu.

Dönen Değerler

Hiçbir değer dönmez.


Bir hat çizim listesinin başlangıcını bildirir

  • « ImagickDraw::pathMoveToRelative
  • ImagickDraw::point »
  • PHP Manual
  • ImagickDraw
  • Bir hat çizim listesinin başlangıcını bildirir

ImagickDraw::pathStart

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pathStart — Bir hat çizim listesinin başlangıcını bildirir

Açıklama

public ImagickDraw::pathStart(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir ImagickDraw::pathFinish() yönergesi ile sonlandırılana kadar ImagickDraw::path yönergeleri ile çizilecek bir hattın başlangıcını bildirir. Çizim için kullanılan ImagickDraw::path yönergeleri tek başlarına işlevsel olmadıklarından daima ImagickDraw::pathStart() ile ImagickDraw::pathFinish() yönergeleri arasında kullanılmalıdırlar.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::pathStart() örneği

<?php
function pathStart($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(72);

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 50);
$draw->pathLineToAbsolute(100, 50);
$draw->pathLineToRelative(0, 50);
$draw->pathLineToHorizontalRelative(-50);
$draw->pathFinish();

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 50);
$draw->pathMoveToRelative(300, 0);
$draw->pathLineToRelative(50, 0);
$draw->pathLineToVerticalRelative(50);
$draw->pathLineToHorizontalAbsolute(350);
$draw->pathclose();
$draw->pathFinish();

$draw->pathStart();
$draw->pathMoveToAbsolute(50, 300);
$draw->pathCurveToAbsolute(50, 300, 100, 200, 300, 300);
$draw->pathLineToVerticalAbsolute(350);
$draw->pathFinish();

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir nokta çizer

  • « ImagickDraw::pathStart
  • ImagickDraw::polygon »
  • PHP Manual
  • ImagickDraw
  • Bir nokta çizer

ImagickDraw::point

(PECL imagick 2, PECL imagick 3)

ImagickDraw::point — Bir nokta çizer

Açıklama

public ImagickDraw::point(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli vurgu rengini ve vurgu kalınlığını kullanarak koordinatları belirtilen noktayı çizer.

Bağımsız Değişkenler

x

Noktanın X konumu.

y

Noktanın Y konumu.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::point() örneği

<?php
function point($fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setFillColor($fillColor);

for ($x = 0; $x < 10000; $x++) {
$draw->point(rand(0, 500), rand(0, 500));
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir çokgen çizer

  • « ImagickDraw::point
  • ImagickDraw::polyline »
  • PHP Manual
  • ImagickDraw
  • Bir çokgen çizer

ImagickDraw::polygon

(PECL imagick 2, PECL imagick 3)

ImagickDraw::polygon — Bir çokgen çizer

Açıklama

public ImagickDraw::polygon(array $koordinatlar): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen koordinat dizisini, geçerli vurgu rengini, vurgu genişliğini, dolgu rengini veya dokuyu kullanarak bir çokgen çizer.

Bağımsız Değişkenler

koordinatlar

X ve Y koordinatlarını içeren çok boyutlu dizi. Örnek: array( array( 'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::polygon() örneği

<?php
function polygon($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setStrokeWidth(4);

$draw->setFillColor($fillColor);

$points = [
['x' => 40 * 5, 'y' => 10 * 5],
['x' => 20 * 5, 'y' => 20 * 5],
['x' => 70 * 5, 'y' => 50 * 5],
['x' => 60 * 5, 'y' => 15 * 5],
];

$draw->polygon($points);

$image = new \Imagick();
$image->newImage(500, 300, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Bir çoklu çizgi çizer

  • « ImagickDraw::polygon
  • ImagickDraw::pop »
  • PHP Manual
  • ImagickDraw
  • Bir çoklu çizgi çizer

ImagickDraw::polyline

(PECL imagick 2, PECL imagick 3)

ImagickDraw::polyline — Bir çoklu çizgi çizer

Açıklama

public ImagickDraw::polyline(array $koordinatlar): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen koordinat dizisini, geçerli vurgu rengini, vurgu genişliğini, dolgu rengini veya dokuyu kullanarak bir çoklu çizgi çizer.

Bağımsız Değişkenler

koordinatlar

X ve Y koordinatlarını içeren dizi. Örnek: array( array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::polyline() örneği

<?php
function polyline($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(5);

$points = [
['x' => 40 * 5, 'y' => 10 * 5],
['x' => 20 * 5, 'y' => 20 * 5],
['x' => 70 * 5, 'y' => 50 * 5],
['x' => 60 * 5, 'y' => 15 * 5]
];

$draw->polyline($points);

$image = new \Imagick();
$image->newImage(500, 300, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür

  • « ImagickDraw::polyline
  • ImagickDraw::popClipPath »
  • PHP Manual
  • ImagickDraw
  • Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür

ImagickDraw::pop

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pop — Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür

Açıklama

public ImagickDraw::pop(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickDraw yığıtından geçerli nesneyi siler ve yığıta ondan önce basılmış nesneyi döndürür. Yığıtta çok sayıda nesne bulunabilir. Yığıta basılandan daha fazla ImagickDraw nesnesini çekmeye çalışmak bir hata oluşmasına sebep olur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Bir yalıtım maskesi tanımını sonlandırır

  • « ImagickDraw::pop
  • ImagickDraw::popDefs »
  • PHP Manual
  • ImagickDraw
  • Bir yalıtım maskesi tanımını sonlandırır

ImagickDraw::popClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popClipPath — Bir yalıtım maskesi tanımını sonlandırır

Açıklama

public ImagickDraw::popClipPath(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir yalıtım maskesi tanımını sonlandırır.

Dönen Değerler

Hiçbir değer dönmez.


Bir tanım listesini sonlandırır

  • « ImagickDraw::popClipPath
  • ImagickDraw::popPattern »
  • PHP Manual
  • ImagickDraw
  • Bir tanım listesini sonlandırır

ImagickDraw::popDefs

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popDefs — Bir tanım listesini sonlandırır

Açıklama

public ImagickDraw::popDefs(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir tanım listesini sonlandırır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::popDefs() örneği

<?php
function popDefs($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setstrokeOpacity(1);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->pushDefs();
$draw->setStrokeColor('white');
$draw->rectangle(50, 50, 200, 200);
$draw->popDefs();

$draw->rectangle(300, 50, 450, 200);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir örüntü tanımını sonlandırır

  • « ImagickDraw::popDefs
  • ImagickDraw::push »
  • PHP Manual
  • ImagickDraw
  • Bir örüntü tanımını sonlandırır

ImagickDraw::popPattern

(PECL imagick 2, PECL imagick 3)

ImagickDraw::popPattern — Bir örüntü tanımını sonlandırır

Açıklama

public ImagickDraw::popPattern(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir örüntü tanımını sonlandırır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar

  • « ImagickDraw::popPattern
  • ImagickDraw::pushClipPath »
  • PHP Manual
  • ImagickDraw
  • Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar

ImagickDraw::push

(PECL imagick 2, PECL imagick 3)

ImagickDraw::push — Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar

Açıklama

public ImagickDraw::push(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yeni bir ImagickDraw nesnesi oluşturmak için geçerli ImagickDraw nesnesinin bir kopyasını oluşturur ve ImagickDraw yığıtına yerleştirir. Özgün ImagickDraw nesnesi ImagickDraw::pop() ile yığıttan çekilebilir. Tüm ImagickDraw nesneleri bir ImagickDraw yığıtında saklanır. Her ImagickDraw::pop() çağrısına karşılık evvelce yapılmış bir ImagickDraw::push() çağrısı olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ImagickDraw::push() örneği

<?php
function push($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillModifiedColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->push();
$draw->translate(50, 50);
$draw->rectangle(200, 200, 300, 300);
$draw->pop();
$draw->setFillColor($fillColor);
$draw->rectangle(200, 200, 300, 300);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir yalıtım maskesi tanımı başlatır

  • « ImagickDraw::push
  • ImagickDraw::pushDefs »
  • PHP Manual
  • ImagickDraw
  • Bir yalıtım maskesi tanımı başlatır

ImagickDraw::pushClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushClipPath — Bir yalıtım maskesi tanımı başlatır

Açıklama

public ImagickDraw::pushClipPath(string $yalıtım_maskesi_kimliği): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir ImagickDraw::popClipPath() çağrısı ile sonlandırılana kadar verilecek çizim komutları ile oluşturulacak bir yalıtım maskesi tanımını başlatır.

Bağımsız Değişkenler

yalıtım_maskesi_kimliği

Yalıtım maskesi (clip path) kimliği.

Dönen Değerler

Hiçbir değer dönmez.


Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir

  • « ImagickDraw::pushClipPath
  • ImagickDraw::pushPattern »
  • PHP Manual
  • ImagickDraw
  • Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir

ImagickDraw::pushDefs

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushDefs — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs() yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir

Açıklama

public ImagickDraw::pushDefs(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs() yöntemi çağrılıncaya kadar isimli elemanları (çizim parçaları, dokular gibi) tanımlayacağını belirtir. Bunlar kısa zamanda güvenle verimli olarak kullanılabilir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::popDefs() örneği

<?php
function popDefs($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setstrokeOpacity(1);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->pushDefs();
$draw->setStrokeColor('white');
$draw->rectangle(50, 50, 200, 200);
$draw->popDefs();

$draw->rectangle(300, 50, 450, 200);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir

  • « ImagickDraw::pushDefs
  • ImagickDraw::rectangle »
  • PHP Manual
  • ImagickDraw
  • Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir

ImagickDraw::pushPattern

(PECL imagick 2, PECL imagick 3)

ImagickDraw::pushPattern — Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern() yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir

Açıklama

public ImagickDraw::pushPattern(
string $örüntü_kimliği,
float $x,
float $y,
float $genişlik,
float $yükseklik
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern() yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir. Örüntü uzayı, sol üst köşenin koordinatları, bir genişlik ve bir yükseklikle belirtilerek örüntünün kendi çizim uzayı haline gelir. Çizilebilen her şey örüntünün tanımında kullanılabilir. İsimli örüntüler çizgi ve fırça tanımları olarak kullanılabilir.

Bağımsız Değişkenler

örüntü_kimliği

Örüntü kimliği.

x

Sol üst köşenin X konumu.

y

Sol üst köşenin Y konumu.

genişlik

Örüntünün genişliği.

yükseklik

Örüntünün yüksekliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ImagickDraw::pushPattern() örneği

<?php
function pushPattern($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(1);

$draw->pushPattern("MyFirstPattern", 0, 0, 50, 50);
for ($x = 0; $x < 50; $x += 10) {
for ($y = 0; $y < 50; $y += 5) {
$positionX = $x + (($y / 5) % 5);
$draw->rectangle($positionX, $y, $positionX + 5, $y + 5);
}
}
$draw->popPattern();

$draw->setFillOpacity(0);
$draw->rectangle(100, 100, 400, 400);
$draw->setFillOpacity(1);

$draw->setFillOpacity(1);

$draw->push();
$draw->setFillPatternURL('#MyFirstPattern');
$draw->setFillColor('yellow');
$draw->rectangle(100, 100, 400, 400);
$draw->pop();

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir dikdörtgen çizer

  • « ImagickDraw::pushPattern
  • ImagickDraw::render »
  • PHP Manual
  • ImagickDraw
  • Bir dikdörtgen çizer

ImagickDraw::rectangle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::rectangle — Bir dikdörtgen çizer

Açıklama

public ImagickDraw::rectangle(
float $x1,
float $y1,
float $x2,
float $y2
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Köşegen koordinatları belirtilen dikdörtgeni çizer. Çizim için geçerli çizgi türü, çizgi kalınlığı ve dolgu ayarları kullanılır.

Bağımsız Değişkenler

x1

Sol üst köşenin X konumu.

y1

Sol üst köşenin Y konumu.

x2

Sağ alt köşenin X konumu.

y2

Sağ alt köşenin Y konumu.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::rectangle() örneği

<?php
function rectangle($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);

$draw->rectangle(200, 200, 300, 300);
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Evvelce verilmiş tüm çizim komutlarını resme uygular

  • « ImagickDraw::rectangle
  • ImagickDraw::resetVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Evvelce verilmiş tüm çizim komutlarını resme uygular

ImagickDraw::render

(PECL imagick 2, PECL imagick 3)

ImagickDraw::render — Evvelce verilmiş tüm çizim komutlarını resme uygular

Açıklama

public ImagickDraw::render(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Evvelce verilmiş tüm çizim komutlarını resme uygular.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Resets the vector graphics

  • « ImagickDraw::render
  • ImagickDraw::rotate »
  • PHP Manual
  • ImagickDraw
  • Resets the vector graphics

ImagickDraw::resetVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::resetVectorGraphics — Resets the vector graphics

Açıklama

public ImagickDraw::resetVectorGraphics(): bool

Resets the vector graphics.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true döner.


Geçerli koordinat sistemini belirtilen açıda döndürür

  • « ImagickDraw::resetVectorGraphics
  • ImagickDraw::roundRectangle »
  • PHP Manual
  • ImagickDraw
  • Geçerli koordinat sistemini belirtilen açıda döndürür

ImagickDraw::rotate

(PECL imagick 2, PECL imagick 3)

ImagickDraw::rotate — Geçerli koordinat sistemini belirtilen açıda döndürür

Açıklama

public ImagickDraw::rotate(float $açı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli koordinat sistemini belirtilen açıda döndürür

Bağımsız Değişkenler

açı

Derece cinsinden döndürme açısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::rotate() örneği

<?php
function rotate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setStrokeOpacity(1);
$draw->setFillColor($fillColor);
$draw->rectangle(200, 200, 300, 300);
$draw->setFillColor($fillModifiedColor);
$draw->rotate(15);
$draw->rectangle(200, 200, 300, 300);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Köşeleri yuvarlatılmış bir dikdörtgen çizer

  • « ImagickDraw::rotate
  • ImagickDraw::scale »
  • PHP Manual
  • ImagickDraw
  • Köşeleri yuvarlatılmış bir dikdörtgen çizer

ImagickDraw::roundRectangle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::roundRectangle — Köşeleri yuvarlatılmış bir dikdörtgen çizer

Açıklama

public ImagickDraw::roundRectangle(
float $x1,
float $y1,
float $x2,
float $y2,
float $rx,
float $ry
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Köşegen koordinatları belirtilen dikdörtgeni, köşelerini x ve y yarıçaplarına göre yuvarlatarak çizer. Çizim için geçerli çizgi türü, çizgi kalınlığı ve dolgu ayarları kullanılır.

Bağımsız Değişkenler

x1

Sol üst köşenin X konumu.

y1

Sol üst köşenin Y konumu.

x2

Sağ alt köşenin X konumu.

y2

Sağ alt köşenin Y konumu.

rx

x yarıçapı

ry

y yarıçapı

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::roundRectangle() örneği

<?php
function roundRectangle($strokeColor, $fillColor, $backgroundColor, $startX, $startY, $endX, $endY, $roundX, $roundY) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);

$draw->roundRectangle($startX, $startY, $endX, $endY, $roundX, $roundY);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Enboy oranını ayarlar

  • « ImagickDraw::roundRectangle
  • ImagickDraw::setClipPath »
  • PHP Manual
  • ImagickDraw
  • Enboy oranını ayarlar

ImagickDraw::scale

(PECL imagick 2, PECL imagick 3)

ImagickDraw::scale — Enboy oranını ayarlar

Açıklama

public ImagickDraw::scale(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli koordinat sisteminde yatay ve düşey yönlerde uygulanacak enboy oranını belirler.

Bağımsız Değişkenler

x

Yatay katsayı.

y

Düşey katsayı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::scale() örneği

<?php
function scale($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setStrokeWidth(4);
$draw->setFillColor($fillColor);
$draw->rectangle(200, 200, 300, 300);
$draw->setFillColor($fillModifiedColor);
$draw->scale(1.4, 1.4);
$draw->rectangle(200, 200, 300, 300);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Bir isimli yalıtım maskesini resimle ilişkilendirir

  • « ImagickDraw::scale
  • ImagickDraw::setClipRule »
  • PHP Manual
  • ImagickDraw
  • Bir isimli yalıtım maskesini resimle ilişkilendirir

ImagickDraw::setClipPath

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipPath — Bir isimli yalıtım maskesini resimle ilişkilendirir

Açıklama

public ImagickDraw::setClipPath(string $yalıtım_maskesi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bir isimli yalıtım maskesini resimle ilişkilendirir. Yürürlükte kaldığı sürece, sadece yalıtım maskesiyle sınırlanan alanlar değiştirilir.

Bağımsız Değişkenler

yalıtım_maskesi

Resimle ilişkilendirilecek yalıtım maskesinin ismi.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setClipPath() örneği

<?php
function setClipPath($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);

$clipPathName = 'testClipPath';

$draw->pushClipPath($clipPathName);
$draw->rectangle(0, 0, 250, 250);
$draw->popClipPath();
$draw->setClipPath($clipPathName);
$draw->rectangle(100, 100, 400, 400);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler

  • « ImagickDraw::setClipPath
  • ImagickDraw::setClipUnits »
  • PHP Manual
  • ImagickDraw
  • Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler

ImagickDraw::setClipRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipRule — Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler

Açıklama

public ImagickDraw::setClipRule(int $dolgu_kuralı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler.

Bağımsız Değişkenler

dolgu_kuralı

Dolgu kuralı sabitlerinden biri (imagick::FILLRULE_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setClipRule() örneği

<?php
function setClipRule($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);
//\Imagick::FILLRULE_EVENODD
//\Imagick::FILLRULE_NONZERO

$clipPathName = 'testClipPath';
$draw->pushClipPath($clipPathName);
$draw->setClipRule(\Imagick::FILLRULE_EVENODD);
$draw->rectangle(0, 0, 300, 500);
$draw->rectangle(200, 0, 500, 500);
$draw->popClipPath();
$draw->setClipPath($clipPathName);
$draw->rectangle(200, 200, 300, 300);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yalıtım maskesi birimlerinin yorumunu belirler

  • « ImagickDraw::setClipRule
  • ImagickDraw::setFillAlpha »
  • PHP Manual
  • ImagickDraw
  • Yalıtım maskesi birimlerinin yorumunu belirler

ImagickDraw::setClipUnits

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setClipUnits — Yalıtım maskesi birimlerinin yorumunu belirler

Açıklama

public ImagickDraw::setClipUnits(int $yalıtım_birimleri): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yalıtım maskesi birimlerinin yorumunu belirler.

Bağımsız Değişkenler

yalıtım_birimleri

Yalıtım birimlerinin sayısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setClipUnits() örneği

<?php
function setClipUnits($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);
$clipPathName = 'testClipPath';
$draw->setClipUnits(\Imagick::RESOLUTION_PIXELSPERINCH);
$draw->pushClipPath($clipPathName);
$draw->rectangle(0, 0, 250, 250);
$draw->popClipPath();
$draw->setClipPath($clipPathName);

//RESOLUTION_PIXELSPERINCH
//RESOLUTION_PIXELSPERCENTIMETER

$draw->rectangle(200, 200, 300, 300);
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler

  • « ImagickDraw::setClipUnits
  • ImagickDraw::setFillColor »
  • PHP Manual
  • ImagickDraw
  • Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler

ImagickDraw::setFillAlpha

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillAlpha — Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler

Açıklama

public ImagickDraw::setFillAlpha(float $şeffaflık): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler. Tam şeffaflık 1.0'dır.

Bağımsız Değişkenler

şeffaflık

Dolgunun ışık geçirgenliği.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFillAlpha() örneği

<?php
function setFillAlpha($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);
$draw->rectangle(100, 200, 200, 300);
@$draw->setFillAlpha(0.4);
$draw->rectangle(300, 200, 400, 300);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler

  • « ImagickDraw::setFillAlpha
  • ImagickDraw::setFillOpacity »
  • PHP Manual
  • ImagickDraw
  • Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler

ImagickDraw::setFillColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillColor — Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler

Açıklama

public ImagickDraw::setFillColor(ImagickPixel $dolgu_rengi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler.

Bağımsız Değişkenler

dolgu_rengi

Renk olarak kullanılacak ImagickPixel nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFillColor() örneği

<?php
function setFillColor($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(1.5);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->rectangle(50, 50, 150, 150);

$draw->setFillColor("rgb(200, 32, 32)");
$draw->rectangle(200, 50, 300, 150);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler

  • « ImagickDraw::setFillColor
  • ImagickDraw::setFillPatternURL »
  • PHP Manual
  • ImagickDraw
  • Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler

ImagickDraw::setFillOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillOpacity — Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler

Açıklama

public ImagickDraw::setFillOpacity(float $matlık): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler. Tam matlık değeri 1.0'dır.

Bağımsız Değişkenler

matlık

Dolgunun ışık geçirmezliği.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFillOpacity() örneği

<?php
function setFillOpacity($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);

$draw->rectangle(100, 200, 200, 300);

$draw->setFillOpacity(0.4);
$draw->rectangle(300, 200, 400, 300);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Nesne dolgu örüntüsü için kullanılacak adresi belirler

  • « ImagickDraw::setFillOpacity
  • ImagickDraw::setFillRule »
  • PHP Manual
  • ImagickDraw
  • Nesne dolgu örüntüsü için kullanılacak adresi belirler

ImagickDraw::setFillPatternURL

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillPatternURL — Nesne dolgu örüntüsü için kullanılacak adresi belirler

Açıklama

public ImagickDraw::setFillPatternURL(string $dolgu_adresi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dolgu örüntüsü için kullanılacak adresi belirler. Şimdilik sadece yerel betimleyiciler ("#betimleyici") desteklenmektedir. Bu yerel betimleyiciler genelde ImagickDraw::pushPattern() ve/veya ImagickDraw::popPattern() ile bir isimli örüntü tanımlamak suretiyle oluşturulurlar.

Bağımsız Değişkenler

dolgu_adresi

Dolgu örüntüsünün temin edileceği adres.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Çokgen çizerken kullanılacak dolgu kuralını belirler

  • « ImagickDraw::setFillPatternURL
  • ImagickDraw::setFont »
  • PHP Manual
  • ImagickDraw
  • Çokgen çizerken kullanılacak dolgu kuralını belirler

ImagickDraw::setFillRule

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFillRule — Çokgen çizerken kullanılacak dolgu kuralını belirler

Açıklama

public ImagickDraw::setFillRule(int $dolgu_kuralı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Çokgen çizerken kullanılacak dolgu kuralını belirler.

Bağımsız Değişkenler

dolgu_kuralı

Dolgu kuralı sabitlerinden biri (imagick::FILLRULE_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFillRule() örneği

<?php
function setFillRule($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$fillRules = [\Imagick::FILLRULE_NONZERO, \Imagick::FILLRULE_EVENODD];

$points = 11;
$size = 150;

$draw->translate(175, 160);

for ($x = 0; $x < 2; $x++) {
$draw->setFillRule($fillRules[$x]);
$draw->pathStart();
for ($n = 0; $n < $points * 2; $n++) {

if ($n >= $points) {
$angle = fmod($n * 360 * 4 / $points, 360) * pi() / 180;
}
else {
$angle = fmod($n * 360 * 3 / $points, 360) * pi() / 180;
}

$positionX = $size * sin($angle);
$positionY = $size * cos($angle);

if ($n == 0) {
$draw->pathMoveToAbsolute($positionX, $positionY);
}
else {
$draw->pathLineToAbsolute($positionX, $positionY);
}
}

$draw->pathClose();
$draw->pathFinish();

$draw->translate(325, 0);
}

$image = new \Imagick();
$image->newImage(700, 320, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler

  • « ImagickDraw::setFillRule
  • ImagickDraw::setFontFamily »
  • PHP Manual
  • ImagickDraw
  • Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler

ImagickDraw::setFont

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFont — Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler

Açıklama

public ImagickDraw::setFont(string $yazıtipi_adı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler.

Bağımsız Değişkenler

yazıtipi_adı

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::setFont() örneği

<?php
function setFont($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);
$draw->setFontSize(36);

$draw->setFont("../fonts/Arial.ttf");
$draw->annotation(50, 50, "Lorem Ipsum!");

$draw->setFont("../fonts/Consolas.ttf");
$draw->annotation(50, 100, "Lorem Ipsum!");

$draw->setFont("../fonts/CANDY.TTF");
$draw->annotation(50, 150, "Lorem Ipsum!");

$draw->setFont("../fonts/Inconsolata-dz.otf");
$draw->annotation(50, 200, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(500, 300, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yazı tipi ailesini belirler

  • « ImagickDraw::setFont
  • ImagickDraw::setFontSize »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi ailesini belirler

ImagickDraw::setFontFamily

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontFamily — Yazı tipi ailesini belirler

Açıklama

public ImagickDraw::setFontFamily(string $yazıtipi_ailesi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metni çizerken kullanılacak yazı tipi ailesini belirler.

Bağımsız Değişkenler

yazıtipi_ailesi

Yazı tipi ailesi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::setFontFamily() örneği

<?php
function setFontFamily($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(2);

$draw->setFontSize(48);

$draw->setFontFamily("Times");
$draw->annotation(50, 50, "Lorem Ipsum!");

$draw->setFontFamily("AvantGarde");
$draw->annotation(50, 100, "Lorem Ipsum!");

$draw->setFontFamily("NewCenturySchlbk");
$draw->annotation(50, 150, "Lorem Ipsum!");

$draw->setFontFamily("Palatino");
$draw->annotation(50, 200, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(450, 250, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yazı tipi yüksekliğini belirler

  • « ImagickDraw::setFontFamily
  • ImagickDraw::setFontStretch »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi yüksekliğini belirler

ImagickDraw::setFontSize

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontSize — Yazı tipi yüksekliğini belirler

Açıklama

public ImagickDraw::setFontSize(float $punto): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yazı tipi yüksekliğini punto olarak belirler.

Bağımsız Değişkenler

punto

Punto olarak yazı tipi yüksekliği.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFontSize() örneği

<?php
function setFontSize($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeOpacity(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFont("../fonts/Arial.ttf");

$sizes = [24, 36, 48, 60, 72];

foreach ($sizes as $size) {
$draw->setFontSize($size);
$draw->annotation(50, ($size * $size / 16), "Lorem Ipsum!");
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yazı tipinin karakter genişliğini belirler

  • « ImagickDraw::setFontSize
  • ImagickDraw::setFontStyle »
  • PHP Manual
  • ImagickDraw
  • Yazı tipinin karakter genişliğini belirler

ImagickDraw::setFontStretch

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontStretch — Yazı tipinin karakter genişliğini belirler

Açıklama

public ImagickDraw::setFontStretch(int $gerginlik): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metni çizerken kullanılacak yazı tipi karakter genişliğini belirler.

Bağımsız Değişkenler

gerginlik

Yazı tipi karakter genişliği sabitlerinden biri (imagick::STRETCH_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFontStretch() örneği

<?php
function setFontStretch($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(36);

$fontStretchTypes = [
\Imagick::STRETCH_ULTRACONDENSED,
\Imagick::STRETCH_CONDENSED,
\Imagick::STRETCH_SEMICONDENSED,
\Imagick::STRETCH_SEMIEXPANDED,
\Imagick::STRETCH_EXPANDED,
\Imagick::STRETCH_EXTRAEXPANDED,
\Imagick::STRETCH_ULTRAEXPANDED,
\Imagick::STRETCH_ANY
];

$offset = 0;
foreach ($fontStretchTypes as $fontStretch) {
$draw->setFontStretch($fontStretch);
$draw->annotation(50, 75 + $offset, "Lorem Ipsum!");
$offset += 50;
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yazı tipi tarzını belirler

  • « ImagickDraw::setFontStretch
  • ImagickDraw::setFontWeight »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi tarzını belirler

ImagickDraw::setFontStyle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontStyle — Yazı tipi tarzını belirler

Açıklama

public ImagickDraw::setFontStyle(int $tarz): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metni çizerken kullanılacak yazı tipi tarzını belirler.

Bağımsız Değişkenler

style

Yazı tipi tarzı sabitlerinden biri (imagick::STYLE_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setFontStyle() örneği

<?php
function setFontStyle($fillColor, $strokeColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setFontSize(36);
$draw->setFontStyle(\Imagick::STYLE_NORMAL);
$draw->annotation(50, 50, "Lorem Ipsum!");

$draw->setFontStyle(\Imagick::STYLE_ITALIC);
$draw->annotation(50, 100, "Lorem Ipsum!");

$draw->setFontStyle(\Imagick::STYLE_OBLIQUE);
$draw->annotation(50, 150, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(350, 300, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yazı tipi kalınlığını belirler

  • « ImagickDraw::setFontStyle
  • ImagickDraw::setGravity »
  • PHP Manual
  • ImagickDraw
  • Yazı tipi kalınlığını belirler

ImagickDraw::setFontWeight

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setFontWeight — Yazı tipi kalınlığını belirler

Açıklama

public ImagickDraw::setFontWeight(int $kalınlık): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metni çizerken kullanılacak yazı tipi kalınlığını belirler.

Bağımsız Değişkenler

yükseklik

Dönen Değerler

Örnekler

Örnek 1 - ImagickDraw::setFontWeight() örneği

<?php
function setFontWeight($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(1);

$draw->setFontSize(36);

$draw->setFontWeight(100);
$draw->annotation(50, 50, "Lorem Ipsum!");

$draw->setFontWeight(200);
$draw->annotation(50, 100, "Lorem Ipsum!");

$draw->setFontWeight(400);
$draw->annotation(50, 150, "Lorem Ipsum!");

$draw->setFontWeight(800);
$draw->annotation(50, 200, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Metnin çekim yönünü belirler

  • « ImagickDraw::setFontWeight
  • ImagickDraw::setResolution »
  • PHP Manual
  • ImagickDraw
  • Metnin çekim yönünü belirler

ImagickDraw::setGravity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setGravity — Metnin çekim yönünü belirler

Açıklama

public ImagickDraw::setGravity(int $çekimYönü): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin yerleştirilirken kullanılacak çekim yönünü belirler.

Bağımsız Değişkenler

çekimYönü

Çekim yönü sabitlerinden biri (imagick::GRAVITY_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setGravity() örneği

<?php
function setGravity($fillColor, $strokeColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setFontSize(24);

$gravitySettings = array(
\Imagick::GRAVITY_NORTHWEST => 'NorthWest',
\Imagick::GRAVITY_NORTH => 'North',
\Imagick::GRAVITY_NORTHEAST => 'NorthEast',
\Imagick::GRAVITY_WEST => 'West',
\Imagick::GRAVITY_CENTER => 'Centre',
\Imagick::GRAVITY_SOUTHWEST => 'SouthWest',
\Imagick::GRAVITY_SOUTH => 'South',
\Imagick::GRAVITY_SOUTHEAST => 'SouthEast',
\Imagick::GRAVITY_EAST => 'East'
);

$draw->setFont("../fonts/Arial.ttf");

foreach ($gravitySettings as $type => $description) {
$draw->setGravity($type);
$draw->annotation(50, 50, '"' . $description . '"');
}

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Sets the resolution

  • « ImagickDraw::setGravity
  • ImagickDraw::setStrokeAlpha »
  • PHP Manual
  • ImagickDraw
  • Sets the resolution

ImagickDraw::setResolution

(PECL imagick 3 >= 3.1.0)

ImagickDraw::setResolution — Sets the resolution

Açıklama

public ImagickDraw::setResolution(float $x_resolution, float $y_resolution): bool

Sets the resolution.

Bağımsız Değişkenler

x_resolution

y_resolution

Dönen Değerler

Başarı durumunda true döner.


Vurgulu nesne dış hatlarının şeffaflığını tanımlar

  • « ImagickDraw::setResolution
  • ImagickDraw::setStrokeAntialias »
  • PHP Manual
  • ImagickDraw
  • Vurgulu nesne dış hatlarının şeffaflığını tanımlar

ImagickDraw::setStrokeAlpha

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeAlpha — Vurgulu nesne dış hatlarının şeffaflığını tanımlar

Açıklama

public ImagickDraw::setStrokeAlpha(float $şeffaflık): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Vurgulu nesne dış hatlarının ışık geçirgenliğini tanımlar.

Bağımsız Değişkenler

şeffaflık

Işık geçirgenliği.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeAlpha() örneği

<?php
function setStrokeAlpha($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(4);
$draw->line(100, 100, 400, 145);
$draw->rectangle(100, 200, 225, 350);
$draw->setStrokeOpacity(0.1);
$draw->line(100, 120, 400, 165);
$draw->rectangle(275, 200, 400, 350);

$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler

  • « ImagickDraw::setStrokeAlpha
  • ImagickDraw::setStrokeColor »
  • PHP Manual
  • ImagickDraw
  • Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler

ImagickDraw::setStrokeAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeAntialias — Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler

Açıklama

public ImagickDraw::setStrokeAntialias(bool $vurguyu_yumuşat): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını belirler. Vurgulu dış hatlara öntanımlı olarak yumuşatma uygulanır. Yumaşatma iptal edildiğinde vurgulu kenar piksellerinin rengi belirlenirken vurgu ve tuval rengi parlaklık bakımından karşılaştırılır (eşikleme).

Bağımsız Değişkenler

vurguyu_yumuşat

Vurgulu dış hatlara öntanımlı olarak yumuşatma uygulanır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeAntialias() örneği

<?php
function setStrokeAntialias($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setStrokeAntialias(false);
$draw->line(100, 100, 400, 105);

$draw->line(100, 140, 400, 185);

$draw->setStrokeAntialias(true);
$draw->line(100, 110, 400, 115);
$draw->line(100, 150, 400, 195);

$image = new \Imagick();
$image->newImage(500, 250, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar

  • « ImagickDraw::setStrokeAntialias
  • ImagickDraw::setStrokeDashArray »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar

ImagickDraw::setStrokeColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeColor — Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar

Açıklama

public ImagickDraw::setStrokeColor(ImagickPixel $vurgu_rengi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar.

Bağımsız Değişkenler

vurgu_rengi

Nesne dış hatlarını vurgulamakta kullanılacak renk.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeColor() örneği

<?php
function setStrokeColor($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(5);

$draw->line(100, 100, 400, 145);
$draw->rectangle(100, 200, 225, 350);

$draw->setStrokeOpacity(0.1);
$draw->line(100, 120, 400, 165);
$draw->rectangle(275, 200, 400, 350);

$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler

  • « ImagickDraw::setStrokeColor
  • ImagickDraw::setStrokeDashOffset »
  • PHP Manual
  • ImagickDraw
  • Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler

ImagickDraw::setStrokeDashArray

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashArray — Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler

Açıklama

public ImagickDraw::setStrokeDashArray(array $tireDizisi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kesikli çizgi örüntüsünü oluşturmakta kullanılacak tireleri ve boşlukları tanımlar. tireDizisi, kesikli çizgiyi oluşturan tire ve boşlukların kesikli çizgide yer alış sırasına göre dizildiği ve bunların uzunluklarının piksel sayısı cinsinden belirtildiği bir dizidir. Mevcut bir tire dizisini silmek için bağımsız değişkene sıfır elemanlı bir dizi aktarmak yeterlidir. Kullanışlı bir tire dizisi genellikle 5 3 2 üyelerinden oluşur.

Bağımsız Değişkenler

tireDizisi

Tire ve boşlukların uzunluklarını içeren dizi.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickDraw::setStrokeDashArray() örneği

<?php
function setStrokeDashArray($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(4);

$draw->setStrokeDashArray([10, 10]);
$draw->rectangle(100, 50, 225, 175);

$draw->setStrokeDashArray([20, 5, 20, 5, 5, 5,]);
$draw->rectangle(275, 50, 400, 175);

$draw->setStrokeDashArray([20, 5, 20, 5, 5]);
$draw->rectangle(100, 200, 225, 350);

$draw->setStrokeDashArray([1, 1, 1, 1, 2, 2, 3, 3, 5, 5, 8, 8, 13, 13, 21, 21, 34, 34, 55, 55, 89, 89, 144, 144, 233, 233, 377, 377, 610, 610, 987, 987, 1597, 1597, 2584, 2584, 4181, 4181,]);

$draw->rectangle(275, 200, 400, 350);

$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Kesikli çizgi örüntüsünde tire başlangıcını belirler

  • « ImagickDraw::setStrokeDashArray
  • ImagickDraw::setStrokeLineCap »
  • PHP Manual
  • ImagickDraw
  • Kesikli çizgi örüntüsünde tire başlangıcını belirler

ImagickDraw::setStrokeDashOffset

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeDashOffset — Kesikli çizgi örüntüsünde tire başlangıcını belirler

Açıklama

public ImagickDraw::setStrokeDashOffset(float $tire_başlangıcı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kesikli çizgi örüntüsünde tire başlangıcını belirler.

Bağımsız Değişkenler

dash_offset

Tire başlangıcı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeDashOffset() örneği

<?php
function setStrokeDashOffset($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(4);
$draw->setStrokeDashArray([20, 20]);
$draw->setStrokeDashOffset(0);
$draw->rectangle(100, 50, 225, 175);

//Start the dash effect halfway through the solid portion
$draw->setStrokeDashOffset(10);
$draw->rectangle(275, 50, 400, 175);

//Start the dash effect on the space portion
$draw->setStrokeDashOffset(20);
$draw->rectangle(100, 200, 225, 350);
$draw->setStrokeDashOffset(5);
$draw->rectangle(275, 200, 400, 350);

$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Kalın çizgilerde çizgi uçlarının şeklini belirler

  • « ImagickDraw::setStrokeDashOffset
  • ImagickDraw::setStrokeLineJoin »
  • PHP Manual
  • ImagickDraw
  • Kalın çizgilerde çizgi uçlarının şeklini belirler

ImagickDraw::setStrokeLineCap

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeLineCap — Kalın çizgilerde çizgi uçlarının şeklini belirler

Açıklama

public ImagickDraw::setStrokeLineCap(int $uçTürü): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kalın çizgilerde çizgi uçlarının şeklini belirler.

Bağımsız Değişkenler

linecap

Çizgi ucu sabitlerinden biri (imagick::LINECAP_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeLineCap() örneği

<?php
function setStrokeLineCap($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(25);

$lineTypes = [\Imagick::LINECAP_BUTT, \Imagick::LINECAP_ROUND, \Imagick::LINECAP_SQUARE,];

$offset = 0;

foreach ($lineTypes as $lineType) {
$draw->setStrokeLineCap($lineType);
$draw->line(50 + $offset, 50, 50 + $offset, 250);
$offset += 50;
}

$imagick = new \Imagick();
$imagick->newImage(300, 300, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Kalın çizgi ekleminin şeklini belirler

  • « ImagickDraw::setStrokeLineCap
  • ImagickDraw::setStrokeMiterLimit »
  • PHP Manual
  • ImagickDraw
  • Kalın çizgi ekleminin şeklini belirler

ImagickDraw::setStrokeLineJoin

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeLineJoin — Kalın çizgi ekleminin şeklini belirler

Açıklama

public ImagickDraw::setStrokeLineJoin(int $eklemTürü): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Kalın çizgi eklemlerinin şeklini (gönye, yuvarlak, eğimli) belirler.

Bağımsız Değişkenler

eklemTürü

Çizgi eklemi sabitlerinden biri (imagick::LINEJOIN_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeLineJoin() örneği

<?php
function setStrokeLineJoin($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);

$draw->setStrokeWidth(20);

$offset = 220;

$lineJoinStyle = [
\Imagick::LINEJOIN_MITER,
\Imagick::LINEJOIN_ROUND,
\Imagick::LINEJOIN_BEVEL,
];

for ($x = 0; $x < count($lineJoinStyle); $x++) {
$draw->setStrokeLineJoin($lineJoinStyle[$x]);
$points = [
['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
['x' => 20 * 5, 'y' => 20 * 5 + $x * $offset],
['x' => 70 * 5, 'y' => 50 * 5 + $x * $offset],
['x' => 40 * 5, 'y' => 10 * 5 + $x * $offset],
];

$draw->polyline($points);
}

$image = new \Imagick();
$image->newImage(500, 700, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Gönyenin kesildiği sınırı tanımlar

  • « ImagickDraw::setStrokeLineJoin
  • ImagickDraw::setStrokeOpacity »
  • PHP Manual
  • ImagickDraw
  • Gönyenin kesildiği sınırı tanımlar

ImagickDraw::setStrokeMiterLimit

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeMiterLimit — Gönyenin kesildiği sınırı tanımlar

Açıklama

public ImagickDraw::setStrokeMiterLimit(int $gönyeSınırı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Gönyenin kesildiği sınırı tanımlar. İki kalın çizgi keskin bir açı ile kesiştiğinde kesişim yeri gönye köşesi biçimini alacak şekilde çizgi fazlalıkları atılır. Bu gönye köşesini uzatmak mümkündür. gönyeSınırı gönye uzunluğunun çizgi genişliğine oranına bir sınırlama getirir.

Bağımsız Değişkenler

gönyeSınırı

Gönye uzatma sınırı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeMiterLimit() örneği

<?php
function setStrokeMiterLimit($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setStrokeOpacity(0.6);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(10);

$yOffset = 100;

$draw->setStrokeLineJoin(\Imagick::LINEJOIN_MITER);

for ($y = 0; $y < 3; $y++) {

$draw->setStrokeMiterLimit(40 * $y);

$points = [
['x' => 22 * 3, 'y' => 15 * 4 + $y * $yOffset],
['x' => 20 * 3, 'y' => 20 * 4 + $y * $yOffset],
['x' => 70 * 5, 'y' => 45 * 4 + $y * $yOffset],
];

$draw->polygon($points);
}

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

$image->setImageType(\Imagick::IMGTYPE_PALETTE);
$image->setImageCompressionQuality(100);
$image->stripImage();

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Vurgulanmış nesne dış hatlarının matlığını tanımlar

  • « ImagickDraw::setStrokeMiterLimit
  • ImagickDraw::setStrokePatternURL »
  • PHP Manual
  • ImagickDraw
  • Vurgulanmış nesne dış hatlarının matlığını tanımlar

ImagickDraw::setStrokeOpacity

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeOpacity — Vurgulanmış nesne dış hatlarının matlığını tanımlar

Açıklama

public ImagickDraw::setStrokeOpacity(float $vurgu_matlığı): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Vurgulanmış nesne dış hatlarının matlığını tanımlar.

Bağımsız Değişkenler

vurgu_matlığı

Tam matlık değeri 1.0'dır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeOpacity() örneği

<?php
function setStrokeOpacity($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();

$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(10);
$draw->setStrokeOpacity(1);
$draw->line(100, 80, 400, 125);
$draw->rectangle(25, 200, 150, 350);
$draw->setStrokeOpacity(0.5);
$draw->line(100, 100, 400, 145);
$draw->rectangle(200, 200, 325, 350);
$draw->setStrokeOpacity(0.2);
$draw->line(100, 120, 400, 165);
$draw->rectangle(375, 200, 500, 350);

$image = new \Imagick();
$image->newImage(550, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar

  • « ImagickDraw::setStrokeOpacity
  • ImagickDraw::setStrokeWidth »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar

ImagickDraw::setStrokePatternURL

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokePatternURL — Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar

Açıklama

public ImagickDraw::setStrokePatternURL(string $örüntü_adresi): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar.

Bağımsız Değişkenler

örüntü_adresi

Dış hatların çiziminde kullanılacak örüntünün adresi.

Dönen Değerler

Başarı durumunda true döner.


Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar

  • « ImagickDraw::setStrokePatternURL
  • ImagickDraw::setTextAlignment »
  • PHP Manual
  • ImagickDraw
  • Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar

ImagickDraw::setStrokeWidth

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setStrokeWidth — Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar

Açıklama

public ImagickDraw::setStrokeWidth(float $vurgu_genişliği): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar.

Bağımsız Değişkenler

vurgu_genişliği

Nesne dış hatları için çizgi genişliği.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setStrokeWidth() örneği

<?php
function setStrokeWidth($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeWidth(1);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->line(100, 100, 400, 145);
$draw->rectangle(100, 200, 225, 350);
$draw->setStrokeWidth(5);
$draw->line(100, 120, 400, 165);
$draw->rectangle(275, 200, 400, 350);

$image = new \Imagick();
$image->newImage(500, 400, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Metni hizalar

  • « ImagickDraw::setStrokeWidth
  • ImagickDraw::setTextAntialias »
  • PHP Manual
  • ImagickDraw
  • Metni hizalar

ImagickDraw::setTextAlignment

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextAlignment — Metni hizalar

Açıklama

public ImagickDraw::setTextAlignment(int $hizalama): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizilirken metne uygulanacak hizalama türünü tanımlar.

Bağımsız Değişkenler

hizalama

Hizalama sabitlerinden biri (imagick::ALIGN_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setTextAlignment() örneği

<?php
function setTextAlignment($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setFontSize(36);

$draw->setTextAlignment(\Imagick::ALIGN_LEFT);
$draw->annotation(250, 75, "Lorem Ipsum!");
$draw->setTextAlignment(\Imagick::ALIGN_CENTER);
$draw->annotation(250, 150, "Lorem Ipsum!");
$draw->setTextAlignment(\Imagick::ALIGN_RIGHT);
$draw->annotation(250, 225, "Lorem Ipsum!");
$draw->line(250, 0, 250, 500);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler

  • « ImagickDraw::setTextAlignment
  • ImagickDraw::setTextDecoration »
  • PHP Manual
  • ImagickDraw
  • Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler

ImagickDraw::setTextAntialias

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextAntialias — Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler

Açıklama

public ImagickDraw::setTextAntialias(bool $yumuşat): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler. Öntanımlı olarak kenar yumuşatma uygulanır.

Bağımsız Değişkenler

yumuşat

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setTextAntialias() örneği

<?php
function setTextAntialias($fillColor, $backgroundColor) {

$draw = new \ImagickDraw();
$draw->setStrokeColor('none');
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(1);
$draw->setFontSize(32);
$draw->setTextAntialias(false);
$draw->annotation(5, 30, "Lorem Ipsum!");
$draw->setTextAntialias(true);
$draw->annotation(5, 65, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(220, 80, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

//Scale the image so that people can see the aliasing.
$imagick->scaleImage(220 * 6, 80 * 6);
$imagick->cropImage(640, 480, 0, 0);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Bir karakter süslemesi tanımlar

  • « ImagickDraw::setTextAntialias
  • ImagickDraw::setTextEncoding »
  • PHP Manual
  • ImagickDraw
  • Bir karakter süslemesi tanımlar

ImagickDraw::setTextDecoration

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextDecoration — Bir karakter süslemesi tanımlar

Açıklama

public ImagickDraw::setTextDecoration(int $süs): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çizilirken uygulanacak süsleme belirtilir.

Bağımsız Değişkenler

süs

Süsleme türü sabitlerinden biri (imagick::DECORATION_*).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setTextDecoration() örneği

<?php
function setTextDecoration($strokeColor, $fillColor, $backgroundColor, $textDecoration) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->setTextDecoration($textDecoration);
$draw->annotation(50, 75, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(500, 200, $backgroundColor);
$imagick->setImageFormat("png");
$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Metin karakter kümesini tanımlar

  • « ImagickDraw::setTextDecoration
  • ImagickDraw::setTextInterlineSpacing »
  • PHP Manual
  • ImagickDraw
  • Metin karakter kümesini tanımlar

ImagickDraw::setTextEncoding

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextEncoding — Metin karakter kümesini tanımlar

Açıklama

public ImagickDraw::setTextEncoding(string $karküm): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metinleri çizerken kullanılacak karakter kümesini tanımlar. Şimdilik belirtilebilecek tek karakter kümesi, Evrenkod karakterlerini çok baytlı olarak ifade eden "UTF-8"'dir. karküm olarak boş bir dizge belirtirseniz sistem öntanımlısı kullanılır. Metinlerin başarıyla çizilebilmesi için Evrenkod destekli yazı tipleri kullanmalısınız.

Bağımsız Değişkenler

karküm

Karakter kümesi ismi.

Dönen Değerler

Hiçbir değer dönmez.


Sets the text interline spacing

  • « ImagickDraw::setTextEncoding
  • ImagickDraw::setTextInterwordSpacing »
  • PHP Manual
  • ImagickDraw
  • Sets the text interline spacing

ImagickDraw::setTextInterlineSpacing

(PECL imagick 3 >= 3.1.0)

ImagickDraw::setTextInterlineSpacing — Sets the text interline spacing

Açıklama

public ImagickDraw::setTextInterlineSpacing(float $spacing): bool

Sets the text interline spacing.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

spacing

Dönen Değerler

Başarı durumunda true döner.


Sets the text interword spacing

  • « ImagickDraw::setTextInterlineSpacing
  • ImagickDraw::setTextKerning »
  • PHP Manual
  • ImagickDraw
  • Sets the text interword spacing

ImagickDraw::setTextInterwordSpacing

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickDraw::setTextInterwordSpacing — Sets the text interword spacing

Açıklama

public ImagickDraw::setTextInterwordSpacing(float $spacing): bool

Sets the text interword spacing.

Bağımsız Değişkenler

spacing

Dönen Değerler

Başarı durumunda true döner.


Sets the text kerning

  • « ImagickDraw::setTextInterwordSpacing
  • ImagickDraw::setTextUnderColor »
  • PHP Manual
  • ImagickDraw
  • Sets the text kerning

ImagickDraw::setTextKerning

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickDraw::setTextKerning — Sets the text kerning

Açıklama

public ImagickDraw::setTextKerning(float $kerning): bool

Sets the text kerning

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

kerning

Dönen Değerler

Başarı durumunda true döner.


Metin çerçevesinin artalan rengini tanımlar

  • « ImagickDraw::setTextKerning
  • ImagickDraw::setVectorGraphics »
  • PHP Manual
  • ImagickDraw
  • Metin çerçevesinin artalan rengini tanımlar

ImagickDraw::setTextUnderColor

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setTextUnderColor — Metin çerçevesinin artalan rengini tanımlar

Açıklama

public ImagickDraw::setTextUnderColor(ImagickPixel $artalan): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Metin çerçevesinin artalan rengini tanımlar.

Bağımsız Değişkenler

artalan

Artalan rengi.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setTextUnderColor() örneği

<?php
function setTextUnderColor($strokeColor, $fillColor, $backgroundColor, $textUnderColor) {
$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);
$draw->annotation(50, 75, "Lorem Ipsum!");
$draw->setTextUnderColor($textUnderColor);
$draw->annotation(50, 175, "Lorem Ipsum!");

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Yöney çizgesini tanımlar

  • « ImagickDraw::setTextUnderColor
  • ImagickDraw::setViewbox »
  • PHP Manual
  • ImagickDraw
  • Yöney çizgesini tanımlar

ImagickDraw::setVectorGraphics

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setVectorGraphics — Yöney çizgesini tanımlar

Açıklama

public ImagickDraw::setVectorGraphics(string $xml): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen ImagickDraw nesnesi ile ilişkili yöney çizgesini tanımlar. Bu yöntemi, yöney çizgesinin durumununda ısrarcı olmak için bir yöntem olarak ImagickDraw::getVectorGraphics() ile birlikte kullanın.

Bağımsız Değişkenler

xml

Yöney çizgesini içeren XML.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ImagickDraw::setVectorGraphics() örneği

<?php
function setVectorGraphics() {
// Yeni bir çizim nesnesi oluşturup bir şeyler çiz
$draw = new \ImagickDraw();
$draw->setFillColor("red");
$draw->circle(20, 20, 50, 50);
$draw->setFillColor("blue");
$draw->circle(50, 70, 50, 50);
$draw->rectangle(50, 120, 80, 150);

// Çizimi bir dizge olarak döndür
$SVG = $draw->getVectorGraphics();

//$svg bir dizgedir, bir dizgenin kaydedilebileceği her yere kaydedilebilir

// Yeni bir çizim nesnesi üretmek için kayıtlı çizimi kullan
$draw2 = new \ImagickDraw();
// SVG metnini yerleştir
$draw2->setVectorGraphics("<root>".$SVG."</root>");

$imagick = new \Imagick();
$imagick->newImage(200, 200, 'white');
$imagick->setImageFormat("png");

$imagick->drawImage($draw2);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Tuval boyutunu uçtan uca tanımlar

  • « ImagickDraw::setVectorGraphics
  • ImagickDraw::skewX »
  • PHP Manual
  • ImagickDraw
  • Tuval boyutunu uçtan uca tanımlar

ImagickDraw::setViewbox

(PECL imagick 2, PECL imagick 3)

ImagickDraw::setViewbox — Tuval boyutunu uçtan uca tanımlar

Açıklama

public ImagickDraw::setViewbox(
int $x1,
int $y1,
int $x2,
int $y2
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Tuval boyutunun uçtan uca belirler. Normal olarak, tuval resmi ile aynı boyut kullanılarak belirtilir. Yöney verisi SVG veya MVG biçemleninde saklandığı takdirde, görüntüleyicinin üzerinde yöney verisini kullanacağı tuval boyunu belirtirken bu çerçeve kullanılır.

Bağımsız Değişkenler

x1

Sol üst X konumu.

y1

Sol üst Y konumu.

x2

Sağ alt X konumu.

y2

Sağ alt Y konumu.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::setViewBox() örneği

<?php
function setViewBox($strokeColor, $fillColor, $backgroundColor) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeWidth(2);
$draw->setFontSize(72);

/*

Çizim vektör verileriyle kaydedilecek genel tuval boyutunu ayarlar.
Genellikle bu, tuval görüntüsüyle aynı boyut kullanılarak belirtilir.
Vektör verileri SVG veya MVG biçemlerinde kaydedildiğinde, görüntüleme
kutusu, bir izleyicinin vektör verilerini üzerinde oluşturacağı tuval
görüntüsünün boyutunu belirtmek için kullanılır.

*/

$draw->circle(250, 250, 250, 0);
$draw->setviewbox(0, 0, 200, 200);
$draw->circle(125, 250, 250, 250);
$draw->translate(250, 125);
$draw->circle(0, 0, 125, 0);

$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Geçerli koordinat sistemini yatayda belirtilen açıda eğer

  • « ImagickDraw::setViewbox
  • ImagickDraw::skewY »
  • PHP Manual
  • ImagickDraw
  • Geçerli koordinat sistemini yatayda belirtilen açıda eğer

ImagickDraw::skewX

(PECL imagick 2, PECL imagick 3)

ImagickDraw::skewX — Geçerli koordinat sistemini yatayda belirtilen açıda eğer

Açıklama

public ImagickDraw::skewX(float $derece): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli koordinat sistemini yatayda belirtilen açıda eğer.

Bağımsız Değişkenler

derece

Eğim açısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::skewX() örneği

<?php
function skewX($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
$startX, $startY, $endX, $endY, $skew) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setStrokeWidth(2);
$draw->setFillColor($fillColor);
$draw->rectangle($startX, $startY, $endX, $endY);
$draw->setFillColor($fillModifiedColor);
$draw->skewX($skew);
$draw->rectangle($startX, $startY, $endX, $endY);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Geçerli koordinat sistemini düşeyde belirtilen açıda eğer

  • « ImagickDraw::skewX
  • ImagickDraw::translate »
  • PHP Manual
  • ImagickDraw
  • Geçerli koordinat sistemini düşeyde belirtilen açıda eğer

ImagickDraw::skewY

(PECL imagick 2, PECL imagick 3)

ImagickDraw::skewY — Geçerli koordinat sistemini düşeyde belirtilen açıda eğer

Açıklama

public ImagickDraw::skewY(float $derece): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli koordinat sistemini düşey yönde belirtilen açıda eğer.

Bağımsız Değişkenler

derece

Eğim açısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::skewY() örneği

<?php
function skewY($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
$startX, $startY, $endX, $endY, $skew) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setStrokeWidth(2);
$draw->setFillColor($fillColor);
$draw->rectangle($startX, $startY, $endX, $endY);
$draw->setFillColor($fillModifiedColor);
$draw->skewY($skew);
$draw->rectangle($startX, $startY, $endX, $endY);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");
$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Geçerli koordinat sisteminin başnoktasını değiştirir

  • « ImagickDraw::skewY
  • ImagickPixel »
  • PHP Manual
  • ImagickDraw
  • Geçerli koordinat sisteminin başnoktasını değiştirir

ImagickDraw::translate

(PECL imagick 2, PECL imagick 3)

ImagickDraw::translate — Geçerli koordinat sisteminin başnoktasını değiştirir

Açıklama

public ImagickDraw::translate(float $x, float $y): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Geçerli koordinat sisteminin başnoktasını belirtilen koordinatlara taşımak suretiyle koordinat sistemine bir dönüşüm uygular.

Bağımsız Değişkenler

x

Yatay dönüşüm noktası.

y

Düşey dönüşüm noktası.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - ImagickDraw::translate() örneği

<?php
function translate($strokeColor, $fillColor, $backgroundColor, $fillModifiedColor,
$startX, $startY, $endX, $endY, $translateX, $translateY) {

$draw = new \ImagickDraw();

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->rectangle($startX, $startY, $endX, $endY);

$draw->setFillColor($fillModifiedColor);
$draw->translate($translateX, $translateY);
$draw->rectangle($startX, $startY, $endX, $endY);

$image = new \Imagick();
$image->newImage(500, 500, $backgroundColor);
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


ImagickPixel sınıfı

(PECL imagick 2, PECL imagick 3)

Sınıf Sözdizimi

class ImagickPixel {
public clear(): bool
public __construct(string $renk = ?)
public destroy(): bool
public getColor(int $normal = 0): array
public getColorAsString(): string
public getColorCount(): int
public getColorQuantum(): array
public getColorValue(int $kanal): float
public getColorValueQuantum(int $color): int|float
public getHSL(): array
public getIndex(): int
public isPixelSimilar(ImagickPixel $color, float $fuzz): bool
public isPixelSimilarQuantum(string $color, string $fuzz = ?): bool
public isSimilar(ImagickPixel $renk, float $benzerlik): bool
public setColor(string $renk): bool
public setcolorcount(int $colorCount): bool
public setColorValue(int $kanal, float $değer): bool
public setColorValueQuantum(int $color, int|float $value): bool
public setHSL(float $sıcaklık, float $doygunluk, float $parlaklık): bool
public setIndex(int $index): bool
}

İçindekiler

  • ImagickPixel::clear — Nesne ile ilişkili özkaynakları temizler
  • ImagickPixel::__construct — ImagickPixel nesnesini oluşturur
  • ImagickPixel::destroy — Nesne ile ilgili özkaynakları serbest bırakır
  • ImagickPixel::getColor — Bir renk döndürür
  • ImagickPixel::getColorAsString — Rengi bir dizge olarak döndürür
  • ImagickPixel::getColorCount — Nesnenin renk sayısını döndürür
  • ImagickPixel::getColorQuantum — Returns the color of the pixel in an array as Quantum values
  • ImagickPixel::getColorValue — Belirtilen renk kanalının normalleştirilmiş değerini döndürür
  • ImagickPixel::getColorValueQuantum — Gets the quantum value of a color in the ImagickPixel
  • ImagickPixel::getHSL — ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür
  • ImagickPixel::getIndex — Gets the colormap index of the pixel wand
  • ImagickPixel::isPixelSimilar — Check the distance between this color and another
  • ImagickPixel::isPixelSimilarQuantum — Returns whether two colors differ by less than the specified distance
  • ImagickPixel::isSimilar — İki renk arasındaki benzerliği hesaplar
  • ImagickPixel::setColor — Renk tanımlar
  • ImagickPixel::setColorCount — Sets the color count associated with this color
  • ImagickPixel::setColorValue — Renk kanallarından birinin normalleştirilmiş değerini belirler
  • ImagickPixel::setColorValueQuantum — Sets the quantum value of a color element of the ImagickPixel
  • ImagickPixel::setHSL — Normalleştirilmiş HSL rengini ayarlar
  • ImagickPixel::setIndex — Sets the colormap index of the pixel wand


Nesne ile ilişkili özkaynakları temizler

  • « ImagickPixel
  • ImagickPixel::__construct »
  • PHP Manual
  • ImagickPixel
  • Nesne ile ilişkili özkaynakları temizler

ImagickPixel::clear

(PECL imagick 2, PECL imagick 3)

ImagickPixel::clear — Nesne ile ilişkili özkaynakları temizler

Açıklama

public ImagickPixel::clear(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Belirtilen ImagickPixel nesnesini ilk oluşturulduğu duruma döndürür. Bu ayrıca, nesne ile ilişkilendirilmiş rengi de tanımsız yapar.

Dönen Değerler

Başarı durumunda true döner.


ImagickPixel nesnesini oluşturur

  • « ImagickPixel::clear
  • ImagickPixel::destroy »
  • PHP Manual
  • ImagickPixel
  • ImagickPixel nesnesini oluşturur

ImagickPixel::__construct

(PECL imagick 2, PECL imagick 3)

ImagickPixel::__construct — ImagickPixel nesnesini oluşturur

Açıklama

public ImagickPixel::__construct(string $renk = ?)
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickPixel nesnesini oluşturur. Bir renk belirtilmişse nesne bu renk kullanılarak ilklendirilir.

Bağımsız Değişkenler

renk

Bu nesnenin ilklendirilmesinde kullanılmak üzere belirtilmesi isteğe bağlı renk dizgesi.

Dönen Değerler

Oluşturma veya ilklendirme başarılı olursa bir ImagickPixel nesnesi döner, aksi halde bir ImagickPixelException istisnası oluşur.

Örnekler

Örnek 1 - ImagickPixel::construct() örneği

<?php
function construct() {

$columns = 4;

$exampleColors = array(
"rgba(100%, 0%, 0%, 0.5)",
"hsb(33.3333%, 100%, 75%)", // yeşil
"hsl(120, 255, 191.25)", // yeşil
"graya(50%, 0.5)", // yarı şeffaf gri
"LightCoral", "none", //"cmyk(0.9, 0.48, 0.83, 0.50)",
"#f00", // #rgb
"#ff0000", // #rrggbb
"#ff0000ff", // #rrggbbaa
"#ffff00000000", // #rrrrggggbbbb
"#ffff00000000ffff", // #rrrrggggbbbbaaaa
"rgb(255, 0, 0)", // her bileşen için 0-255 arasında bir tamsayı
"rgb(100.0%, 0.0%, 0.0%)", // her bileşen için 0—100% arasında bir gerçel sayı
"rgb(255, 0, 0)", // 0 - 255 arası
"rgba(255, 0, 0, 1.0)", // aynı, örtük bir şeffaflık değeri ile
"rgb(100%, 0%, 0%)", // 0.0% - 100.0% arası
"rgba(100%, 0%, 0%, 1.0)", // aynı, örtük bir şeffaflık değeri ile
);

$draw = new \ImagickDraw();
$count = 0;
$black = new \ImagickPixel('rgb(0, 0, 0)');

foreach ($exampleColors as $exampleColor) {
$color = new \ImagickPixel($exampleColor);

$draw->setstrokewidth(1.0);
$draw->setStrokeColor($black);
$draw->setFillColor($color);
$offsetX = ($count % $columns) * 50 + 5;
$offsetY = intval($count / $columns) * 50 + 5;
$draw->rectangle(0 + $offsetX, 0 + $offsetY, 40 + $offsetX, 40 + $offsetY);
$count++;
}

$image = new \Imagick();
$image->newImage(350, 350, "blue");
$image->setImageFormat("png");
$image->drawImage($draw);
header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Nesne ile ilgili özkaynakları serbest bırakır

  • « ImagickPixel::__construct
  • ImagickPixel::getColor »
  • PHP Manual
  • ImagickPixel
  • Nesne ile ilgili özkaynakları serbest bırakır

ImagickPixel::destroy

(PECL imagick 2, PECL imagick 3)

ImagickPixel::destroy — Nesne ile ilgili özkaynakları serbest bırakır

Açıklama

public ImagickPixel::destroy(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

ImagickPixel nesnesi tarafından kullanılmış özkaynakları serbest bırakarak (nesneyi silerek) nesne ile ilişkilendirilmiş rengi tanımsız yapar. Nesne bu yöntem çağrıldıktan sonra artık kullanılmamalıdır.

Dönen Değerler

Başarı durumunda true döner.


Bir renk döndürür

  • « ImagickPixel::destroy
  • ImagickPixel::getColorAsString »
  • PHP Manual
  • ImagickPixel
  • Bir renk döndürür

ImagickPixel::getColor

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColor — Bir renk döndürür

Açıklama

public ImagickPixel::getColor(int $normal = 0): array

ImagickPixel nesnesiyle tanımlanmış rengi bir dizi olarak döndürür. Renk bir matlık kanalına sahipse bu dördüncü bir elemanla sağlanır.

Bağımsız Değişkenler

normal

Renk değerleri normalleştirilmiş mi? Olası değerler: 0, 1 veya 2.

normal için olası değerler:
normal | Açıklama
0 | RGB değeri olarak 0 ile 255 (dahil) arasında tamsayı bir değer, şeffaflık değeri olarak ise tamsayı olarak 0 veya 1 döner.
1 | RGBA değeri olarak 0 ile 1 (dahil) arasında bir gerçel sayı döner.
2 | RGBA değeri olarak 0 ile 255 (dahil) arasında tamsayı bir değer döner.

Dönen Değerler

Kanal değerlerini içeren bir dizi. Bağımsız değişken olarak true belirtilmişse elemanların her biri normalleştirilmiş bir değer içerir. Bir hata durumunda ImagickPixelException yavrulanır.

Örnekler

Örnek 1 - Imagick::getColor() temel kullanım örneği

<?php

// Kahverengi bir ImagickPixel nesnesi oluştur
$color = new ImagickPixel('brown');

// %25 şeffaflık/matlık olsun
$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColor();

echo "Standart değerler".PHP_EOL;
print_r($colorInfo);

$colorInfo = $color->getColor(1);

echo "Normalleştirilmiş değerler:".PHP_EOL;
print_r($colorInfo);

?>

Yukarıdaki örneğin çıktısı:

Standart değerler
Array
(
    [r] => 165
    [g] => 42
    [b] => 42
    [a] => 0
)
Normalleştirilmiş değerler:
Array
(
    [r] => 0.64705882352941
    [g] => 0.16470588235294
    [b] => 0.16470588235294
    [a] => 0.25000381475547
)


Rengi bir dizge olarak döndürür

  • « ImagickPixel::getColor
  • ImagickPixel::getColorCount »
  • PHP Manual
  • ImagickPixel
  • Rengi bir dizge olarak döndürür

ImagickPixel::getColorAsString

(PECL imagick 2 >= 2.1.0, PECL imagick 3)

ImagickPixel::getColorAsString — Rengi bir dizge olarak döndürür

Açıklama

public ImagickPixel::getColorAsString(): string

ImagickPixel nesnesinin rengini bir dizge olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ImagickPixel nesnesinin rengi bir dizge olarak döner.

Örnekler

Örnek 1 -Imagick::getColorAsString() temel kullanım örneği

<?php

// Kahverengi bir ImagickPixel nesnesi oluştur
$color = new ImagickPixel('brown');

$color->setColorValue(Imagick::COLOR_ALPHA, 64 / 256.0);

$colorInfo = $color->getColorAsString();

print_r($colorInfo);
?>

Yukarıdaki örneğin çıktısı:

rgb(165,42,42)

Notlar

Bilginize: Matlık/şeffaflık dönmez

Bu işlev dönen dizge içinde rengin matlık değerini döndürmez.


Nesnenin renk sayısını döndürür

  • « ImagickPixel::getColorAsString
  • ImagickPixel::getColorQuantum »
  • PHP Manual
  • ImagickPixel
  • Nesnenin renk sayısını döndürür

ImagickPixel::getColorCount

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColorCount — Nesnenin renk sayısını döndürür

Açıklama

public ImagickPixel::getColorCount(): int

Belirtilen renk nesnesi ile ilişkili renk sayısını döndürür.

Renk sayısı nesne rengindeki piksellerin sayısıdır.

ImagickPixel::getColorCount yöntemi sadece Imagick::getImageHistogram() ile oluşturulan ImagickPixel nesnelerinde çalışıyor gibi görünüyor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda renk sayısı bir tamsayı olarak döner, aksi takdirde bir ImagickPixelException istisnası oluşur.

Örnekler

Örnek 1 - ImagickPixel::getColorCount örneği

<?php
$imagick = new \Imagick();
$imagick->newPseudoImage(640, 480, "magick:logo");
$histogramElements = $imagick->getImageHistogram();
$lastColor = array_pop($histogramElements);
echo "Son renk pikseli sayısı: ".$lastColor->getColorCount();
?>

Çıktısı şuna benzer:

Son renk pikseli sayısı: 256244


Returns the color of the pixel in an array as Quantum values

  • « ImagickPixel::getColorCount
  • ImagickPixel::getColorValue »
  • PHP Manual
  • ImagickPixel
  • Returns the color of the pixel in an array as Quantum values

ImagickPixel::getColorQuantum

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ImagickPixel::getColorQuantum — Returns the color of the pixel in an array as Quantum values

Açıklama

public ImagickPixel::getColorQuantum(): array

Returns the color of the pixel in an array as Quantum values. If ImageMagick was compiled as HDRI these will be floats, otherwise they will be integers.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with keys "r", "g", "b", "a".


Belirtilen renk kanalının normalleştirilmiş değerini döndürür

  • « ImagickPixel::getColorQuantum
  • ImagickPixel::getColorValueQuantum »
  • PHP Manual
  • ImagickPixel
  • Belirtilen renk kanalının normalleştirilmiş değerini döndürür

ImagickPixel::getColorValue

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getColorValue — Belirtilen renk kanalının normalleştirilmiş değerini döndürür

Açıklama

public ImagickPixel::getColorValue(int $kanal): float

Belirtilen renk kanalının değerini 0 ile 1 arasında bir gerçek sayı olarak döndürür.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri.

Dönen Değerler

Belirtilen renk kanalının değerini 0 ile 1 arasında bir gerçek sayı olarak döndürür. Bir hata durumunda bir ImagickPixelException yavrulanır.

Örnekler

Örnek 1 - Imagick::getColorValue() temel kullanım örneği

<?php

$color = new ImagickPixel('rgba(90%, 20%, 20%, 0.75)');

echo "Matlık: ".$color->getColorValue(Imagick::COLOR_ALPHA).PHP_EOL;
echo "".PHP_EOL;
echo Kırmızı: ".$color->getColorValue(Imagick::COLOR_RED).PHP_EOL;
echo "Yeşil: ".$color->getColorValue(Imagick::COLOR_GREEN).PHP_EOL;
echo "Mavi: ".$color->getColorValue(Imagick::COLOR_BLUE).PHP_EOL;
echo "".PHP_EOL;
echo "Turkuaz: ".$color->getColorValue(Imagick::COLOR_CYAN).PHP_EOL;
echo "Mor: ".$color->getColorValue(Imagick::COLOR_MAGENTA).PHP_EOL;
echo "Sarı: ".$color->getColorValue(Imagick::COLOR_YELLOW).PHP_EOL;
echo "Siyah: ".$color->getColorValue(Imagick::COLOR_BLACK).PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

Matlık: 0.74999618524453

Kırmızı: 0.90000762951095
Yeşil: 0.2
Mavi: 0.2

Turkuaz: 0.90000762951095
Mor: 0.2
Sarı: 0.2
Siyah: 0


Gets the quantum value of a color in the ImagickPixel

  • « ImagickPixel::getColorValue
  • ImagickPixel::getHSL »
  • PHP Manual
  • ImagickPixel
  • Gets the quantum value of a color in the ImagickPixel

ImagickPixel::getColorValueQuantum

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::getColorValueQuantum — Gets the quantum value of a color in the ImagickPixel

Açıklama

public ImagickPixel::getColorValueQuantum(int $color): int|float

Gets the quantum value of a color in the ImagickPixel. Return value is a float if ImageMagick was compiled with HDRI, otherwise an integer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The quantum value of the color element. Float if ImageMagick was compiled with HDRI, otherwise an int.

Örnekler

Örnek 1 ImagickPixel::getColorValueQuantum()

<?php
$color = new \ImagickPixel('rgb(128, 5, 255)');
$colorRed = $color->getColorValueQuantum(\Imagick::COLOR_RED);
$colorGreen = $color->getColorValueQuantum(\Imagick::COLOR_GREEN);
$colorBlue = $color->getColorValueQuantum(\Imagick::COLOR_BLUE);
$colorAlpha = $color->getColorValueQuantum(\Imagick::COLOR_ALPHA);

printf(
"Red: %s Green: %s Blue %s Alpha: %s",
$colorRed,
$colorGreen,
$colorBlue,
$colorAlpha
);

?>


ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür

  • « ImagickPixel::getColorValueQuantum
  • ImagickPixel::getIndex »
  • PHP Manual
  • ImagickPixel
  • ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür

ImagickPixel::getHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::getHSL — ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür

Açıklama

public ImagickPixel::getHSL(): array

Bir ImagickPixel nesnesi olarak tanımlı normalleştirilmiş HSL rengini her elemanında 0.0 ile 1.0 arasında bir değer içeren üç elemanlı bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Rengin sıcaklık, doygunluk ve parlaklık değerleri sırayla "hue", "saturation" ve "luminosity" anahtarlarıyla bir ilişkisel dizi olarak döner. Başarısızlık durumunda bir ImagickPixelException yavrulanır.

Örnekler

Örnek 1 - Imagick::getHSL() örneği

<?php

$color = new ImagickPixel('rgb(90%, 10%, 10%)');

$colorInfo = $color->getHSL();

print_r($colorInfo);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [hue] => 0
    [saturation] => 0.80001220740379
    [luminosity] => 0.50000762951095
)

Notlar

Bilginize:

ImageMagick kütüphanesinin 6.2.9 ve üstü sürümleriyle kullanılabilir.


Gets the colormap index of the pixel wand

  • « ImagickPixel::getHSL
  • ImagickPixel::isPixelSimilar »
  • PHP Manual
  • ImagickPixel
  • Gets the colormap index of the pixel wand

ImagickPixel::getIndex

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::getIndex — Gets the colormap index of the pixel wand

Açıklama

public ImagickPixel::getIndex(): int

Gets the colormap index of the pixel wand.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check the distance between this color and another

  • « ImagickPixel::getIndex
  • ImagickPixel::isPixelSimilarQuantum »
  • PHP Manual
  • ImagickPixel
  • Check the distance between this color and another

ImagickPixel::isPixelSimilar

(PECL imagick 3 >= 3.3.0)

ImagickPixel::isPixelSimilar — Check the distance between this color and another

Açıklama

public ImagickPixel::isPixelSimilar(ImagickPixel $color, float $fuzz): bool

Checks the distance between the color described by this ImagickPixel object and that of the provided object, by plotting their RGB values on the color cube. If the distance between the two points is less than the fuzz value given, the colors are similar. This method replaces ImagickPixel::isSimilar() and correctly normalises the fuzz value to ImageMagick QuantumRange.

Bağımsız Değişkenler

color

The ImagickPixel object to compare this object against.

fuzz

The maximum distance within which to consider these colors as similar. The theoretical maximum for this value is the square root of three (1.732).

Dönen Değerler

Başarı durumunda true döner.


Returns whether two colors differ by less than the specified distance

  • « ImagickPixel::isPixelSimilar
  • ImagickPixel::isSimilar »
  • PHP Manual
  • ImagickPixel
  • Returns whether two colors differ by less than the specified distance

ImagickPixel::isPixelSimilarQuantum

(PECL imagick 3 >= 3.3.0)

ImagickPixel::isPixelSimilarQuantum — Returns whether two colors differ by less than the specified distance

Açıklama

public ImagickPixel::isPixelSimilarQuantum(string $color, string $fuzz = ?): bool

Returns true if the distance between two colors is less than the specified distance. The fuzz value should be in the range 0-QuantumRange. The maximum value represents the longest possible distance in the colorspace. e.g. from RGB(0, 0, 0) to RGB(255, 255, 255) for the RGB colorspace

Bağımsız Değişkenler

color

fuzz

Dönen Değerler


İki renk arasındaki benzerliği hesaplar

  • « ImagickPixel::isPixelSimilarQuantum
  • ImagickPixel::setColor »
  • PHP Manual
  • ImagickPixel
  • İki renk arasındaki benzerliği hesaplar

ImagickPixel::isSimilar

(PECL imagick 2, PECL imagick 3)

ImagickPixel::isSimilar — İki renk arasındaki benzerliği hesaplar

Açıklama

public ImagickPixel::isSimilar(ImagickPixel $renk, float $benzerlik): bool

renk bağımsız değişkeni ile belirtilen ImagickPixel nesnesinin rengi ile bu nesnenin rengi arasındaki benzerliği hesaplar. Eğer iki nesne arasındaki benzerlik benzerlik ile belirtilen değerden küçükse iki renk benzerdir. Bu işlev eskidir. Yerine ImagickPixel::isPixelSimilar() kullanılnalıdır.

Bağımsız Değişkenler

renk

Bu nesne ile karşılaştırılacak ImagickPixel nesnesi.

benzerlik

Renkler arasındaki azami benzerlik. Örneğin bu değere 10 atarsanız, renk kırmızı ise ve kırmızının koyulukları 100 ve 102 ise bu iki renk aynı kabul edilir. Bu değerin kuramsal azamisi üçün kareköküne eşit bir değerdir (1.732).

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickPixel::isSimilar() örneği

<?php
// Aşağıdaki denemeler 255 olarak ifade edilen azami mesafe ile
// yapılmıştır, bu nedenle bunları bir birim küpün köşegen uzunluğu
// olan üçün karekökü ile ölçeklendirmemiz gerekir.

$root3 = 1.732050807568877;

$tests = array(
['rgb(245, 0, 0)', 'rgb(255, 0, 0)', 9 / $root3, false,],
['rgb(245, 0, 0)', 'rgb(255, 0, 0)', 10 / $root3, true,],
['rgb(0, 0, 0)', 'rgb(7, 7, 0)', 9 / $root3, false,],
['rgb(0, 0, 0)', 'rgb(7, 7, 0)', 10 / $root3, true,],
['rgba(0, 0, 0, 1)', 'rgba(7, 7, 0, 1)', 9 / $root3, false,],
['rgba(0, 0, 0, 1)', 'rgba(7, 7, 0, 1)', 10 / $root3, true,],
['rgb(128, 128, 128)', 'rgb(128, 128, 120)', 7 / $root3, false,],
['rgb(128, 128, 128)', 'rgb(128, 128, 120)', 8 / $root3, true,],
['rgb(0, 0, 0)', 'rgb(255, 255, 255)', 254.9, false,],
['rgb(0, 0, 0)', 'rgb(255, 255, 255)', 255, true,],
['rgb(255, 0, 0)', 'rgb(0, 255, 255)', 254.9, false,],
['rgb(255, 0, 0)', 'rgb(0, 255, 255)', 255, true,],
['black', 'rgba(0, 0, 0)', 0.0, true],
['black', 'rgba(10, 0, 0, 1.0)', 10.0 / $root3, true],);

$output = "<table width='100%' class='infoTable'><thead>
<tr>
<th>
Color 1
</th>
<th>
Color 2
</th>
<th>
Deneme mesafesi * 255
</th>
<th>
Mesafe dahilinde
</th>
</tr>
</thead>";

$output .= "<tbody>";

foreach ($tests as $testInfo) {
$color1 = $testInfo[0];
$color2 = $testInfo[1];
$distance = $testInfo[2];
$expectation = $testInfo[3];
$testDistance = ($distance / 255.0);

$color1Pixel = new \ImagickPixel($color1);
$color2Pixel = new \ImagickPixel($color2);

$isSimilar = $color1Pixel->isPixelSimilar($color2Pixel, $testDistance);

if ($isSimilar !== $expectation) {
echo "Deneme mesafesi başarısız. [$color1] ile [$color2] renkleri mesafe içinde değil. $testDistance BAŞARISIZ.".NL;
}

$layout = "<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td style='text-align: center;'>%s</td>
</tr>";

$output .= sprintf(
$layout,
$color1,
$color2,
$distance,
$isSimilar ? 'evet' : 'hayır'
);
}

$output .= "</tbody></table>";

return $output;

?>


Renk tanımlar

  • « ImagickPixel::isSimilar
  • ImagickPixel::setColorCount »
  • PHP Manual
  • ImagickPixel
  • Renk tanımlar

ImagickPixel::setColor

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColor — Renk tanımlar

Açıklama

public ImagickPixel::setColor(string $renk): bool

Bir renk dizgesi olarak verilen rengi ImagickPixel nesnesi olarak tanımlar. Renk dizgesi örnekleri: "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)"

Bağımsız Değişkenler

renk

ImagickPixel nesnesini ilklendirmekte kullanılacak renk dizgesi.

Dönen Değerler

Belirtilen renk ile nesne tanımlanabilmişse true aksi takdirde false.

Örnekler

Örnek 1 - ImagickPixel::setColor() örneği

<?php
function setColor() {
$draw = new \ImagickDraw();

$strokeColor = new \ImagickPixel('green');
$fillColor = new \ImagickPixel();
$fillColor->setColor('rgba(100%, 75%, 0%, 1.0)');

$draw->setstrokewidth(3.0);
$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->rectangle(200, 200, 300, 300);

$image = new \Imagick();
$image->newImage(500, 500, "SteelBlue2");
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Sets the color count associated with this color

  • « ImagickPixel::setColor
  • ImagickPixel::setColorValue »
  • PHP Manual
  • ImagickPixel
  • Sets the color count associated with this color

ImagickPixel::setColorCount

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColorCount — Sets the color count associated with this color

Açıklama

public ImagickPixel::setcolorcount(int $colorCount): bool

Sets the color count associated with this color.

Bağımsız Değişkenler

colorCount

Dönen Değerler

Başarı durumunda true döner.


Renk kanallarından birinin normalleştirilmiş değerini belirler

  • « ImagickPixel::setColorCount
  • ImagickPixel::setColorValueQuantum »
  • PHP Manual
  • ImagickPixel
  • Renk kanallarından birinin normalleştirilmiş değerini belirler

ImagickPixel::setColorValue

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setColorValue — Renk kanallarından birinin normalleştirilmiş değerini belirler

Açıklama

public ImagickPixel::setColorValue(int $kanal, float $değer): bool

0 ile 1 arasında bir değerle belirtilen renk kanalı değeriyle nesnenin rengini ayarlar. Bu işlev bir ImagickPixel nesnesi için bir matlık kanalı sağlamakta kullanılabilir.

Bağımsız Değişkenler

kanal

Normalde kanal türü sabitlerinden biri.

değer

Kanal değeri 0 ile 1 arasında olmalıdır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Imagick::setColorValue() örneği

<?php

$color = new \ImagickPixel('firebrick');

$color->setColorValue(Imagick::COLOR_ALPHA, 0.5);

print_r($color->getcolor(true));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [r] => 0.69803921568627
    [g] => 0.13333333333333
    [b] => 0.13333333333333
    [a] => 0.50000762951095
)


Sets the quantum value of a color element of the ImagickPixel

  • « ImagickPixel::setColorValue
  • ImagickPixel::setHSL »
  • PHP Manual
  • ImagickPixel
  • Sets the quantum value of a color element of the ImagickPixel

ImagickPixel::setColorValueQuantum

(PECL imagick 2 >=2.3.0, PECL imagick 3)

ImagickPixel::setColorValueQuantum — Sets the quantum value of a color element of the ImagickPixel

Açıklama

public ImagickPixel::setColorValueQuantum(int $color, int|float $value): bool

Sets the quantum value of a color element of the ImagickPixel.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

color

Which color element to set e.g. \Imagick::COLOR_GREEN.

value

The quantum value to set the color element to. This should be a float if ImageMagick was compiled with HDRI otherwise an int in the range 0 to Imagick::getQuantum().

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 ImagickPixel::setColorValueQuantum()

<?php
function setColorValueQuantum() {
$image = new \Imagick();

$quantumRange = $image->getQuantumRange();

$draw = new \ImagickDraw();
$color = new \ImagickPixel('blue');
$color->setcolorValueQuantum(\Imagick::COLOR_RED, 128 * $quantumRange['quantumRangeLong'] / 256);

$draw->setstrokewidth(1.0);
$draw->setStrokeColor($color);
$draw->setFillColor($color);
$draw->rectangle(200, 200, 300, 300);

$image->newImage(500, 500, "SteelBlue2");
$image->setImageFormat("png");

$image->drawImage($draw);

header("Content-Type: image/png");
echo $image->getImageBlob();
}

?>


Normalleştirilmiş HSL rengini ayarlar

  • « ImagickPixel::setColorValueQuantum
  • ImagickPixel::setIndex »
  • PHP Manual
  • ImagickPixel
  • Normalleştirilmiş HSL rengini ayarlar

ImagickPixel::setHSL

(PECL imagick 2, PECL imagick 3)

ImagickPixel::setHSL — Normalleştirilmiş HSL rengini ayarlar

Açıklama

public ImagickPixel::setHSL(float $sıcaklık, float $doygunluk, float $parlaklık): bool

ImagickPixel nesnesi ile tanımlanan rengin sıcaklığını, doygunluğunu ve parlaklığını normalleştirir.

Bağımsız Değişkenler

sıcaklık

Kırmızının değeri 0 olmak üzere sıcaklık dairesindeki bir yay parçası olarak (0 ile 1 arasında) renk sıcaklığının (hue) normalleştirilmiş değeri.

doygunluk

Doygunluk için normalleştirilmiş değer; tam doygunluk 1'dir.

parlaklık

Parlaklık için normalleştirilmiş değer. 0.5 parlaklıkla tam sıcaklık ve doygunluğun sağlandığı siyahın 0, beyazın 1 ile temsil edildiği bir aralıkta belirtilir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - Bir rengi değiştirmek için ImagickPixel::setHSL() kullanımı

<?php

// Saf kırmızıya yakın bir renk oluştur
$color = new ImagickPixel('rgb(90%, 10%, 10%)');

// HSL değerlerini al
$colorInfo = $color->getHSL();

// Sıcaklığı 180 derece döndür
$newHue = $colorInfo['hue'] + 0.5;
if ($newHue > 1) {
$newHue = $newHue - 1;
}

// ImagickPixel nesnesine yeni pikseli ata
$colorInfo = $color->setHSL($newHue, $colorInfo['saturation'], $colorInfo['luminosity']);

//Yeni renk mavi/yeşil mi bak
$colorInfo = $color->getcolor();
print_r($colorInfo);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [r] => 26
    [g] => 230
    [b] => 230
    [a] => 255
)

Notlar

Bilginize:

ImageMagick kütüphanesinin 6.2.9 ve üstü sürümleriyle kullanılabilir.


Sets the colormap index of the pixel wand

  • « ImagickPixel::setHSL
  • ImagickPixelIterator »
  • PHP Manual
  • ImagickPixel
  • Sets the colormap index of the pixel wand

ImagickPixel::setIndex

(PECL imagick 2 >= 2.3.0, PECL imagick 3)

ImagickPixel::setIndex — Sets the colormap index of the pixel wand

Açıklama

public ImagickPixel::setIndex(int $index): bool

Sets the colormap index of the pixel wand.

Bağımsız Değişkenler

index

Dönen Değerler

Başarı durumunda true döner.


ImagickPixelIterator sınıfı

(PECL imagick 2, PECL imagick 3)

Sınıf Sözdizimi

class ImagickPixelIterator {
public clear(): bool
public __construct(Imagick $kalem)
public destroy(): bool
public getCurrentIteratorRow(): array
public getIteratorRow(): int
public getNextIteratorRow(): array
public getPreviousIteratorRow(): array
public newPixelIterator(Imagick $kalem): bool
public newPixelRegionIterator(
Imagick $kalem,
int $x,
int $y,
int $sütun_sayısı,
int $satır_sayısı
): bool
public resetIterator(): bool
public setIteratorFirstRow(): bool
public setIteratorLastRow(): bool
public setIteratorRow(int $satır): bool
public syncIterator(): bool
}

İçindekiler

  • ImagickPixelIterator::clear — Piksel yineleyici ile ilişkili özkaynakları temizler
  • ImagickPixelIterator::__construct — Bir ImagickPixelIterator nesnesi oluşturur
  • ImagickPixelIterator::destroy — Piksel yineleyici ile ilişkili özkaynakları serbest bırakır
  • ImagickPixelIterator::getCurrentIteratorRow — Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür
  • ImagickPixelIterator::getIteratorRow — Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür
  • ImagickPixelIterator::getNextIteratorRow — Piksel yineleyicinin sonraki satırını döndürür
  • ImagickPixelIterator::getPreviousIteratorRow — Önceki satırı döndürür
  • ImagickPixelIterator::newPixelIterator — Yeni bir piksel yineleyici döndürür
  • ImagickPixelIterator::newPixelRegionIterator — Yeni bir bölgesel piksel yineleyicisi döndürür
  • ImagickPixelIterator::resetIterator — Piksel yineleyiciyi sıfırlar
  • ImagickPixelIterator::setIteratorFirstRow — Piksel yineleyiciyi ilk piksel satırına hizalar
  • ImagickPixelIterator::setIteratorLastRow — Piksel yineleyiciyi son piksel satırına hizalar
  • ImagickPixelIterator::setIteratorRow — Piksel yineleyiciyi satırını tanımlar
  • ImagickPixelIterator::syncIterator — Piksel yineleyiciyi eşzamanlar


Piksel yineleyici ile ilişkili özkaynakları temizler

  • « ImagickPixelIterator
  • ImagickPixelIterator::__construct »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyici ile ilişkili özkaynakları temizler

ImagickPixelIterator::clear

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::clear — Piksel yineleyici ile ilişkili özkaynakları temizler

Açıklama

public ImagickPixelIterator::clear(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyiciyi ilk oluşturulduğu duruma getirir.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickPixelIterator::clear() örneği

<?php
function clear($imagePath) {
$imagick = new \Imagick(realpath($imagePath));

$imageIterator = $imagick->getPixelRegionIterator(100, 100, 250, 200);

/* Piksel satırlarında döngü */
foreach ($imageIterator as $pixels) {
/** @var $pixel \ImagickPixel */
/* Piksel sütunlarında döngü */
foreach ($pixels as $column => $pixel) {
if ($column % 2) {
/* Her ikinci pikseli siyah yap */
$pixel->setColor("rgba(0, 0, 0, 0)");
}
}
/* Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

$imageIterator->clear();

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Bir ImagickPixelIterator nesnesi oluşturur

  • « ImagickPixelIterator::clear
  • ImagickPixelIterator::destroy »
  • PHP Manual
  • ImagickPixelIterator
  • Bir ImagickPixelIterator nesnesi oluşturur

ImagickPixelIterator::__construct

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::__construct — Bir ImagickPixelIterator nesnesi oluşturur

Açıklama

public ImagickPixelIterator::__construct(Imagick $kalem)
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yeni bir ImagickPixelIterator nesnesi oluşturur.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickPixelIterator::construct() örneği

<?php
function construct($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = new \ImagickPixelIterator($imagick);

/* Piksel satırlarında döngü */
foreach ($imageIterator as $pixels) {
/*Piksel sütunlarında döngü */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 2) {
/* Her ikinci pikseli siyah yap */
$pixel->setColor("rgba(0, 0, 0, 0)");
}
}
/* Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Piksel yineleyici ile ilişkili özkaynakları serbest bırakır

  • « ImagickPixelIterator::__construct
  • ImagickPixelIterator::getCurrentIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyici ile ilişkili özkaynakları serbest bırakır

ImagickPixelIterator::destroy

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::destroy — Piksel yineleyici ile ilişkili özkaynakları serbest bırakır

Açıklama

public ImagickPixelIterator::destroy(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyici ile ilişkili özkaynakları serbest bırakır (nesneyi siler).

Dönen Değerler

Başarı durumunda true döner.


Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür

  • « ImagickPixelIterator::destroy
  • ImagickPixelIterator::getIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür

ImagickPixelIterator::getCurrentIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getCurrentIteratorRow — Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür

Açıklama

public ImagickPixelIterator::getCurrentIteratorRow(): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyicinin üzerinde bulunduğu satırı ImagickPixel nesnelerinden oluşan bir dizi olarak döndürür.

Dönen Değerler

Piksel yineleyicinin üzerinde bulunduğu satır, ImagickPixel nesnelerinden oluşan bir dizi olarak döner.


Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür

  • « ImagickPixelIterator::getCurrentIteratorRow
  • ImagickPixelIterator::getNextIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür

ImagickPixelIterator::getIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getIteratorRow — Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür

Açıklama

public ImagickPixelIterator::getIteratorRow(): int

Piksel yineleyicinin üzerinde bulunduğu satırınn numarasını döndürür.

Dönen Değerler

Satır numarasını bir tamsayı olarak döndürür. Bir hata durumunda bir ImagickPixelIteratorException istisnası oluşur.


Piksel yineleyicinin sonraki satırını döndürür

  • « ImagickPixelIterator::getIteratorRow
  • ImagickPixelIterator::getPreviousIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyicinin sonraki satırını döndürür

ImagickPixelIterator::getNextIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getNextIteratorRow — Piksel yineleyicinin sonraki satırını döndürür

Açıklama

public ImagickPixelIterator::getNextIteratorRow(): array

Sonraki satırı piksel yineleyicideki piksel kalemlerinden oluşan bir dizi olarak döndürür.

Dönen Değerler

Sonraki satırı ImagickPixel nesnelerinden oluşan bir dizi olarak döndürür. Bir hata durumunda bir ImagickPixelIteratorException yavrulanır.

Örnekler

Örnek 1 - ImagickPixelIterator::getNextIteratorRow() örneği

<?php
function getNextIteratorRow($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = $imagick->getPixelIterator();

$count = 0;
while ($pixels = $imageIterator->getNextIteratorRow()) {
if (($count % 3) == 0) {
/* Satırdaki piksellere döngü */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 2) {
/* Her ikinci pikseli siyah yap */
$pixel->setColor("rgba(0, 0, 0, 0)");
}
}
/* Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

$count += 1;
}

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Önceki satırı döndürür

  • « ImagickPixelIterator::getNextIteratorRow
  • ImagickPixelIterator::newPixelIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Önceki satırı döndürür

ImagickPixelIterator::getPreviousIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::getPreviousIteratorRow — Önceki satırı döndürür

Açıklama

public ImagickPixelIterator::getPreviousIteratorRow(): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Önceki satırı piksel yineleyicideki piksel kalemlerinden oluşan bir dizi olarak döndürür.

Dönen Değerler

Önceki satırı ImagickPixel nesnelerinden oluşan bir dizi olarak döndürür. Bir hata durumunda bir ImagickPixelIteratorException istisnası oluşur.


Yeni bir piksel yineleyici döndürür

  • « ImagickPixelIterator::getPreviousIteratorRow
  • ImagickPixelIterator::newPixelRegionIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Yeni bir piksel yineleyici döndürür

ImagickPixelIterator::newPixelIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::newPixelIterator — Yeni bir piksel yineleyici döndürür

Açıklama

public ImagickPixelIterator::newPixelIterator(Imagick $kalem): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yeni bir piksel yineleyici döndürür.

Dönen Değerler

Başarı durumunda true döner. Hata durumunda bir ImagickPixelIteratorException istisnası oluşur.


Yeni bir bölgesel piksel yineleyicisi döndürür

  • « ImagickPixelIterator::newPixelIterator
  • ImagickPixelIterator::resetIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Yeni bir bölgesel piksel yineleyicisi döndürür

ImagickPixelIterator::newPixelRegionIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::newPixelRegionIterator — Yeni bir bölgesel piksel yineleyicisi döndürür

Açıklama

public ImagickPixelIterator::newPixelRegionIterator(
Imagick $kalem,
int $x,
int $y,
int $sütun_sayısı,
int $satır_sayısı
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Yeni bir bölgesel piksel yineleyicisi döndürür.

Bağımsız Değişkenler

kalem

x

y

sütun_sayısı

satır_sayısı

Dönen Değerler

Başarılı olursa yeni bir ImagickPixelIterator nesnesi, aksi takdirde bir ImagickPixelIteratorException istisnası oluşur.


Piksel yineleyiciyi sıfırlar

  • « ImagickPixelIterator::newPixelRegionIterator
  • ImagickPixelIterator::setIteratorFirstRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyiciyi sıfırlar

ImagickPixelIterator::resetIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::resetIterator — Piksel yineleyiciyi sıfırlar

Açıklama

public ImagickPixelIterator::resetIterator(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyiciyi sıfırlar. Bir piksel taşıyıcısındaki tüm pikseller üzerinde yineleme yapmak için ImagickPixelIterator::getNextIteratorRow() ile birlikte kullanılır.

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickPixelIterator::resetIterator() örneği

<?php
function resetIterator($imagePath) {

$imagick = new \Imagick(realpath($imagePath));

$imageIterator = $imagick->getPixelIterator();

/* Piksel satırlarında döngü */
foreach ($imageIterator as $pixels) {
/* Piksel sütunlarında döngü */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 2) {

/* Her pikseli %25 kırmızı yap */
$pixel->setColorValue(\Imagick::COLOR_RED, 64);
}
}
/* Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

$imageIterator->resetiterator();

/* Piksel satırlarında döngü */
foreach ($imageIterator as $pixels) {
/* Piksel sütunlarında döngü */
foreach ($pixels as $column => $pixel) {
/** @var $pixel \ImagickPixel */
if ($column % 3) {
/* Her pikseli biraz mavileştir */
$pixel->setColorValue(\Imagick::COLOR_BLUE, 64);
//* Her ikinci pikseli siyah yap*/
$pixel->setColor("rgba(0, 0, 128, 0)");
}
}
/*Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

$imageIterator->clear();

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Piksel yineleyiciyi ilk piksel satırına hizalar

  • « ImagickPixelIterator::resetIterator
  • ImagickPixelIterator::setIteratorLastRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyiciyi ilk piksel satırına hizalar

ImagickPixelIterator::setIteratorFirstRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorFirstRow — Piksel yineleyiciyi ilk piksel satırına hizalar

Açıklama

public ImagickPixelIterator::setIteratorFirstRow(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyiciyi ilk piksel satırına hizalar.

Dönen Değerler

Başarı durumunda true döner.


Piksel yineleyiciyi son piksel satırına hizalar

  • « ImagickPixelIterator::setIteratorFirstRow
  • ImagickPixelIterator::setIteratorRow »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyiciyi son piksel satırına hizalar

ImagickPixelIterator::setIteratorLastRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorLastRow — Piksel yineleyiciyi son piksel satırına hizalar

Açıklama

public ImagickPixelIterator::setIteratorLastRow(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyiciyi son piksel satırına hizalar.

Dönen Değerler

Başarı durumunda true döner.


Piksel yineleyiciyi satırını tanımlar

  • « ImagickPixelIterator::setIteratorLastRow
  • ImagickPixelIterator::syncIterator »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyiciyi satırını tanımlar

ImagickPixelIterator::setIteratorRow

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::setIteratorRow — Piksel yineleyiciyi satırını tanımlar

Açıklama

public ImagickPixelIterator::setIteratorRow(int $satır): bool

Piksel yineleyiciyi satırını tanımlar.

Bağımsız Değişkenler

satır

Dönen Değerler

Başarı durumunda true döner.

Örnekler

Örnek 1 - ImagickPixelIterator::setIteratorRow() örneği

<?php
function setIteratorRow($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imageIterator = $imagick->getPixelRegionIterator(200, 100, 200, 200);

for ($x = 0; $x < 20; $x++) {
$imageIterator->setIteratorRow($x * 5);
$pixels = $imageIterator->getCurrentIteratorRow();
/* Satırdaki piksellere döngü */
foreach ($pixels as $pixel) {
/** @var $pixel \ImagickPixel */
/* Her ikinci pikseli siyah yap */
$pixel->setColor("rgba(0, 0, 0, 0)");
}

/* Yineleyiciyi eşle, her yinelemede bunu yapmak önemli */
$imageIterator->syncIterator();
}

header("Content-Type: image/jpg");
echo $imagick;
}

?>


Piksel yineleyiciyi eşzamanlar

  • « ImagickPixelIterator::setIteratorRow
  • ImagickKernel »
  • PHP Manual
  • ImagickPixelIterator
  • Piksel yineleyiciyi eşzamanlar

ImagickPixelIterator::syncIterator

(PECL imagick 2, PECL imagick 3)

ImagickPixelIterator::syncIterator — Piksel yineleyiciyi eşzamanlar

Açıklama

public ImagickPixelIterator::syncIterator(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Piksel yineleyiciyi eşzamanlar.

Dönen Değerler

Başarı durumunda true döner.


ImagickKernel sınıfı

(PECL imagick >= 3.3.0)

Giriş

Sınıf Sözdizimi

class ImagickKernel {
/* Yöntemler */
public addKernel(ImagickKernel $ImagickKernel): void
public addUnityKernel(float $scale): void
public static fromBuiltin(int $kernelType, string $kernelString): ImagickKernel
public static fromMatrix(array $matrix, array $origin = ?): ImagickKernel
public getMatrix(): array
public scale(float $scale, int $normalizeFlag = ?): void
public separate(): array
}

İçindekiler

  • ImagickKernel::addKernel — Attach another kernel to a kernel list
  • ImagickKernel::addUnityKernel — Adds a Unity Kernel to the kernel list
  • ImagickKernel::fromBuiltIn — Create a kernel from a builtin in kernel
  • ImagickKernel::fromMatrix — Create a kernel from a 2d matrix of values
  • ImagickKernel::getMatrix — Get the 2d matrix of values used in this kernel
  • ImagickKernel::scale — Scales a kernel list by the given amount
  • ImagickKernel::separate — Separates a linked set of kernels and returns an array of ImagickKernels


Attach another kernel to a kernel list

  • « ImagickKernel
  • ImagickKernel::addUnityKernel »
  • PHP Manual
  • ImagickKernel
  • Attach another kernel to a kernel list

ImagickKernel::addKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addKernel — Attach another kernel to a kernel list

Açıklama

public ImagickKernel::addKernel(ImagickKernel $ImagickKernel): void

Attach another kernel to this kernel to allow them to both be applied in a single morphology or filter function. Returns the new combined kernel.

Bağımsız Değişkenler

ImagickKernel

Dönen Değerler

Örnekler

Örnek 1 ImagickKernel::addKernel()

<?php
function addKernel($imagePath) {
$matrix1 = [
[-1, -1, -1],
[ 0, 0, 0],
[ 1, 1, 1],
];

$matrix2 = [
[-1, 0, 1],
[-1, 0, 1],
[-1, 0, 1],
];

$kernel1 = ImagickKernel::fromMatrix($matrix1);
$kernel2 = ImagickKernel::fromMatrix($matrix2);
$kernel1->addKernel($kernel2);

$imagick = new \Imagick(realpath($imagePath));
$imagick->filter($kernel1);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();

}

?>


Adds a Unity Kernel to the kernel list

  • « ImagickKernel::addKernel
  • ImagickKernel::fromBuiltIn »
  • PHP Manual
  • ImagickKernel
  • Adds a Unity Kernel to the kernel list

ImagickKernel::addUnityKernel

(PECL imagick >= 3.3.0)

ImagickKernel::addUnityKernel — Adds a Unity Kernel to the kernel list

Açıklama

public ImagickKernel::addUnityKernel(float $scale): void

Adds a given amount of the 'Unity' Convolution Kernel to the given pre-scaled and normalized Kernel. This in effect adds that amount of the original image into the resulting convolution kernel. The resulting effect is to convert the defined kernels into blended soft-blurs, unsharp kernels or into sharpening kernels.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 ImagickKernel::addUnityKernel()

<?php

function renderKernelTable($matrix) {
$output = "<table class='infoTable'>";

foreach ($matrix as $row) {
$output .= "<tr>";
foreach ($row as $cell) {
$output .= "<td style='text-align:left'>";
if ($cell === false) {
$output .= "false";
}
else {
$output .= round($cell, 3);
}
$output .= "</td>";
}
$output .= "</tr>";
}

$output .= "</table>";

return $output;
}

$matrix = [
[-1, 0, -1],
[ 0, 4, 0],
[-1, 0, -1],
];

$kernel = \ImagickKernel::fromMatrix($matrix);
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
$output = "Before adding unity kernel: <br/>";
$output .= renderKernelTable($kernel->getMatrix());
$kernel->addUnityKernel(0.5);
$output .= "After adding unity kernel: <br/>";
$output .= renderKernelTable($kernel->getMatrix());

$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_VALUE);
$output .= "After renormalizing kernel: <br/>";
$output .= renderKernelTable($kernel->getMatrix());

echo $output;

?>

Örnek 2 ImagickKernel::addUnityKernel()

<?php
function addUnityKernel($imagePath) {

$matrix = [
[-1, 0, -1],
[ 0, 4, 0],
[-1, 0, -1],
];

$kernel = ImagickKernel::fromMatrix($matrix);

$kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
$kernel->addUnityKernel(0.5);

$imagick = new \Imagick(realpath($imagePath));
$imagick->filter($kernel);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();

}

?>


Create a kernel from a builtin in kernel

  • « ImagickKernel::addUnityKernel
  • ImagickKernel::fromMatrix »
  • PHP Manual
  • ImagickKernel
  • Create a kernel from a builtin in kernel

ImagickKernel::fromBuiltIn

(PECL imagick >= 3.3.0)

ImagickKernel::fromBuiltIn — Create a kernel from a builtin in kernel

Açıklama

public static ImagickKernel::fromBuiltin(int $kernelType, string $kernelString): ImagickKernel

Create a kernel from a builtin in kernel. See http://www.imagemagick.org/Usage/morphology/#kernel for examples. Currently the 'rotation' symbols are not supported. Example: $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND, "2");

Bağımsız Değişkenler

kerneltype

The type of kernel to build e.g. \Imagick::KERNEL_DIAMOND

kernelString

A string that describes the parameters e.g. "4,2.5"

Dönen Değerler

Örnekler

Örnek 1 ImagickKernel::fromBuiltin()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
$matrix = $imagickKernel->getMatrix();

$imageMargin = 20;

$tileSize = 20;
$tileSpace = 4;
$shadowSigma = 4;
$shadowDropX = 20;
$shadowDropY = 0;

$radius = ($tileSize / 2) * 0.9;

$rows = count($matrix);
$columns = count($matrix[0]);

$imagickDraw = new \ImagickDraw();

$imagickDraw->setFillColor('#afafaf');
$imagickDraw->setStrokeColor('none');

$imagickDraw->translate($imageMargin, $imageMargin);
$imagickDraw->push();

ksort($matrix);

foreach ($matrix as $row) {
ksort($row);
$imagickDraw->push();
foreach ($row as $cell) {
if ($cell !== false) {
$color = intval(255 * $cell);
$colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
$imagickDraw->setFillColor($colorString);
$imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
}
$imagickDraw->translate(($tileSize + $tileSpace), 0);
}
$imagickDraw->pop();
$imagickDraw->translate(0, ($tileSize + $tileSpace));
}

$imagickDraw->pop();

$width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
$height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

$imagickDraw->push();
$imagickDraw->translate($width/2 , $height/2);
$imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
$imagickDraw->setStrokeColor('white');
$imagickDraw->circle(0, 0, $radius - 1, 0);
$imagickDraw->setStrokeColor('black');
$imagickDraw->circle(0, 0, $radius, 0);
$imagickDraw->pop();

$canvasWidth = $width + (2 * $imageMargin);
$canvasHeight = $height + (2 * $imageMargin);

$kernel = new \Imagick();
$kernel->newPseudoImage(
$canvasWidth,
$canvasHeight,
'canvas:none'
);

$kernel->setImageFormat('png');
$kernel->drawImage($imagickDraw);

/* create drop shadow on it's own layer */
$canvas = $kernel->clone();
$canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
$canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

$canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
$canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

/* composite original text_layer onto shadow_layer */
$canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
$canvas->setImageFormat('png');

return $canvas;
}

function createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
$string = '';

if ($kernelFirstTerm != false && strlen(trim($kernelFirstTerm)) != 0) {
$string .= $kernelFirstTerm;

if ($kernelSecondTerm != false && strlen(trim($kernelSecondTerm)) != 0) {
$string .= ','.$kernelSecondTerm;
if ($kernelThirdTerm != false && strlen(trim($kernelThirdTerm)) != 0) {
$string .= ','.$kernelThirdTerm;
}
}
}

$kernel = ImagickKernel::fromBuiltIn(
$kernelType,
$string
);

return $kernel;
}

function fromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm) {
$diamondKernel = createFromBuiltin($kernelType, $kernelFirstTerm, $kernelSecondTerm, $kernelThirdTerm);
$imagick = renderKernel($diamondKernel);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

fromBuiltin(\Imagick::KERNEL_DIAMOND, 2, false, false);

?>


Create a kernel from a 2d matrix of values

  • « ImagickKernel::fromBuiltIn
  • ImagickKernel::getMatrix »
  • PHP Manual
  • ImagickKernel
  • Create a kernel from a 2d matrix of values

ImagickKernel::fromMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::fromMatrix — Create a kernel from a 2d matrix of values

Açıklama

public static ImagickKernel::fromMatrix(array $matrix, array $origin = ?): ImagickKernel

Create a kernel from an 2d matrix of values. Each value should either be a float (if the element should be used) or 'false' if the element should be skipped. For matrices that are odd sizes in both dimensions the origin pixel will default to the centre of the kernel. For all other kernel sizes the origin pixel must be specified.

Bağımsız Değişkenler

array

A matrix (i.e. 2d array) of values that define the kernel. Each element should be either a float value, or FALSE if that element shouldn't be used by the kernel.

array

Which element of the kernel should be used as the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2, 2] would specify that the bottom right element should be the origin pixel.

Dönen Değerler

The generated ImagickKernel.

Örnekler

Örnek 1 ImagickKernel::fromMatrix()

<?php

function renderKernel(ImagickKernel $imagickKernel) {
$matrix = $imagickKernel->getMatrix();

$imageMargin = 20;

$tileSize = 20;
$tileSpace = 4;
$shadowSigma = 4;
$shadowDropX = 20;
$shadowDropY = 0;

$radius = ($tileSize / 2) * 0.9;

$rows = count($matrix);
$columns = count($matrix[0]);

$imagickDraw = new \ImagickDraw();

$imagickDraw->setFillColor('#afafaf');
$imagickDraw->setStrokeColor('none');

$imagickDraw->translate($imageMargin, $imageMargin);
$imagickDraw->push();

ksort($matrix);

foreach ($matrix as $row) {
ksort($row);
$imagickDraw->push();
foreach ($row as $cell) {
if ($cell !== false) {
$color = intval(255 * $cell);
$colorString = sprintf("rgb(%f, %f, %f)", $color, $color, $color);
$imagickDraw->setFillColor($colorString);
$imagickDraw->rectangle(0, 0, $tileSize, $tileSize);
}
$imagickDraw->translate(($tileSize + $tileSpace), 0);
}
$imagickDraw->pop();
$imagickDraw->translate(0, ($tileSize + $tileSpace));
}

$imagickDraw->pop();

$width = ($columns * $tileSize) + (($columns - 1) * $tileSpace);
$height = ($rows * $tileSize) + (($rows - 1) * $tileSpace);

$imagickDraw->push();
$imagickDraw->translate($width/2 , $height/2);
$imagickDraw->setFillColor('rgba(0, 0, 0, 0)');
$imagickDraw->setStrokeColor('white');
$imagickDraw->circle(0, 0, $radius - 1, 0);
$imagickDraw->setStrokeColor('black');
$imagickDraw->circle(0, 0, $radius, 0);
$imagickDraw->pop();

$canvasWidth = $width + (2 * $imageMargin);
$canvasHeight = $height + (2 * $imageMargin);

$kernel = new \Imagick();
$kernel->newPseudoImage(
$canvasWidth,
$canvasHeight,
'canvas:none'
);

$kernel->setImageFormat('png');
$kernel->drawImage($imagickDraw);

/* create drop shadow on it's own layer */
$canvas = $kernel->clone();
$canvas->setImageBackgroundColor(new \ImagickPixel('rgb(0, 0, 0)'));
$canvas->shadowImage(100, $shadowSigma, $shadowDropX, $shadowDropY);

$canvas->setImagePage($canvasWidth, $canvasHeight, -5, -5);
$canvas->cropImage($canvasWidth, $canvasHeight, 0, 0);

/* composite original text_layer onto shadow_layer */
$canvas->compositeImage($kernel, \Imagick::COMPOSITE_OVER, 0, 0);
$canvas->setImageFormat('png');

return $canvas;
}

function createFromMatrix() {
$matrix = [
[0.5, 0, 0.2],
[0, 1, 0],
[0.9, 0, false],
];

$kernel = \ImagickKernel::fromMatrix($matrix);

return $kernel;
}

function fromMatrix() {
$kernel = createFromMatrix();
$imagick = renderKernel($kernel);

header("Content-Type: image/png");
echo $imagick->getImageBlob();
}

?>


Get the 2d matrix of values used in this kernel

  • « ImagickKernel::fromMatrix
  • ImagickKernel::scale »
  • PHP Manual
  • ImagickKernel
  • Get the 2d matrix of values used in this kernel

ImagickKernel::getMatrix

(PECL imagick >= 3.3.0)

ImagickKernel::getMatrix — Get the 2d matrix of values used in this kernel

Açıklama

public ImagickKernel::getMatrix(): array

Get the 2d matrix of values used in this kernel. The elements are either float for elements that are used or 'false' if the element should be skipped.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A matrix (2d array) of the values that represent the kernel.

Örnekler

Örnek 1 ImagickKernel::getMatrix()

<?php

function renderKernelTable($matrix) {
$output = "<table class='infoTable'>";

foreach ($matrix as $row) {
$output .= "<tr>";
foreach ($row as $cell) {
$output .= "<td style='text-align:left'>";
if ($cell === false) {
$output .= "false";
}
else {
$output .= round($cell, 3);
}
$output .= "</td>";
}
$output .= "</tr>";
}

$output .= "</table>";

return $output;
}

$output = "The built-in kernel name 'ring' with parameters of '2,3.5':<br/>";
$kernel = \ImagickKernel::fromBuiltIn(
\Imagick::KERNEL_RING,
"2,3.5"
);
$matrix = $kernel->getMatrix();
$output .= renderKernelTable($matrix);

echo $output;

?>


Scales a kernel list by the given amount

  • « ImagickKernel::getMatrix
  • ImagickKernel::separate »
  • PHP Manual
  • ImagickKernel
  • Scales a kernel list by the given amount

ImagickKernel::scale

(PECL imagick >= 3.3.0)

ImagickKernel::scale — Scales a kernel list by the given amount

Açıklama

public ImagickKernel::scale(float $scale, int $normalizeFlag = ?): void

Scales the given kernel list by the given amount, with or without normalization of the sum of the kernel values (as per given flags). The exact behaviour of this function depends on the normalization type being used please see http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for details.

Bağımsız Değişkenler

scale

normalizeFlag

  • Imagick::NORMALIZE_KERNEL_NONE
  • Imagick::NORMALIZE_KERNEL_VALUE
  • Imagick::NORMALIZE_KERNEL_CORRELATE
  • Imagick::NORMALIZE_KERNEL_PERCENT

Dönen Değerler

Örnekler

Örnek 1 ImagickKernel::scale()

<?php

function renderKernelTable($matrix) {
$output = "<table class='infoTable'>";

foreach ($matrix as $row) {
$output .= "<tr>";
foreach ($row as $cell) {
$output .= "<td style='text-align:left'>";
if ($cell === false) {
$output .= "false";
}
else {
$output .= round($cell, 3);
}
$output .= "</td>";
}
$output .= "</tr>";
}

$output .= "</table>";

return $output;
}

$output = "";

$matrix = [
[-1, 0, -1],
[ 0, 4, 0],
[-1, 0, -1],
];

$kernel = \ImagickKernel::fromMatrix($matrix);
$kernelClone = clone $kernel;

$output .= "Start kernel<br/>";
$output .= renderKernelTable($kernel->getMatrix());

$output .= "Scaling with NORMALIZE_KERNEL_VALUE. The <br/>";
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_VALUE);
$output .= renderKernelTable($kernel->getMatrix());

$kernel = clone $kernelClone;
$output .= "Scaling by percent<br/>";
$kernel->scale(2, \Imagick::NORMALIZE_KERNEL_PERCENT);
$output .= renderKernelTable($kernel->getMatrix());

$matrix2 = [
[-1, -1, 1],
[ -1, false, 1],
[1, 1, 1],
];

$kernel = \ImagickKernel::fromMatrix($matrix2);
$output .= "Scaling by correlate<br/>";
$kernel->scale(1, \Imagick::NORMALIZE_KERNEL_CORRELATE);
$output .= renderKernelTable($kernel->getMatrix());

return $output;
?>


Separates a linked set of kernels and returns an array of ImagickKernels

  • « ImagickKernel::scale
  • Postayla İlgili Eklentiler »
  • PHP Manual
  • ImagickKernel
  • Separates a linked set of kernels and returns an array of ImagickKernels

ImagickKernel::separate

(PECL imagick >= 3.3.0)

ImagickKernel::separate — Separates a linked set of kernels and returns an array of ImagickKernels

Açıklama

public ImagickKernel::separate(): array

Separates a linked set of kernels and returns an array of ImagickKernels.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 ImagickKernel::separate()

<?php

function renderKernelTable($matrix) {

$output = "<table class='infoTable'>";
foreach ($matrix as $row) {
$output .= "<tr>";
foreach ($row as $cell) {
$output .= "<td style='text-align:left'>";
if ($cell === false) {
$output .= "false";
}
else {
$output .= round($cell, 3);
}
$output .= "</td>";
}
$output .= "</tr>";
}

$output .= "</table>";

return $output;
}

$matrix = [
[-1, 0, -1],
[ 0, 4, 0],
[-1, 0, -1],
];

$kernel = \ImagickKernel::fromMatrix($matrix);
$kernel->scale(4, \Imagick::NORMALIZE_KERNEL_VALUE);
$diamondKernel = \ImagickKernel::fromBuiltIn(
\Imagick::KERNEL_DIAMOND,
"2"
);

$kernel->addKernel($diamondKernel);

$kernelList = $kernel->separate();

$output = '';
$count = 0;
foreach ($kernelList as $kernel) {
$output .= "<br/>Kernel $count<br/>";
$output .= renderKernelTable($kernel->getMatrix());
$count++;
}

return $output;

?>


Postayla İlgili Eklentiler

  • IMAP — IMAP, POP3 ve NNTP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • IMAP İşlevleri
    • IMAP\Connection — IMAP\Connection sınıfı
  • Mail — Eposta
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Eposta İşlevleri
  • Mailparse
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Mailparse İşlevleri


IMAP, POP3 ve NNTP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • IMAP İşlevleri
    • imap_8bit — 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür
    • imap_alerts — Oluşan tüm IMAP uyarı iletilerini döndürür
    • imap_append — Belirtilen posta kutusuna bir ileti ekler
    • imap_base64 — Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür
    • imap_binary — 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür
    • imap_body — İleti gövdesini okur
    • imap_bodystruct — Belirtilen iletinin bir gövde bölümünün yapısını okur
    • imap_check — Posta kutusu bilgilerini döndürür
    • imap_clearflag_full — İletilerdeki imleri temizler
    • imap_close — IMAP akımını kapatır
    • imap_create — imap_createmailbox işlevinin takma adıdır
    • imap_createmailbox — Yeni bir posta kutusu oluşturur
    • imap_delete — Belirtilen iletiyi silindi olarak imler
    • imap_deletemailbox — Bir posta kutusunu siler
    • imap_errors — Oluşan tüm IMAP hatalarının iletilerini döndürür
    • imap_expunge — Silindi imli tüm iletileri gerçekten siler
    • imap_fetch_overview — Belirtilen iletinin başlıklarından belli bilgileri toplar
    • imap_fetchbody — Belirtilen iletinin belli bir gövde bölümünü döndürür
    • imap_fetchheader — Bir iletinin başlığını döndürür
    • imap_fetchmime — İletinin belirli bir bölümü için MIME başlıklarını getirir
    • imap_fetchstructure — Belli bir iletinin yapısını okur
    • imap_fetchtext — imap_body işlevinin takma adıdır
    • imap_gc — IMAP önbelleğini temizler
    • imap_get_quota — Belirtilen kullanıcının kota ayarlarını döndürür
    • imap_get_quotaroot — Kullanıcının kendi kota ayarlarını döndürür
    • imap_getacl — Belirtilen posta kutusunun erişim izinlerini döndürür
    • imap_getmailboxes — Posta kutuları hakkında ayrıntılı bilgi döndürür
    • imap_getsubscribed — Üyesi olunan tüm posta kutularını listeler
    • imap_header — imap_headerinfo işlevinin takma adıdır
    • imap_headerinfo — Belirtilen iletinin başlığını okur
    • imap_headers — Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür
    • imap_is_open — Check if the IMAP stream is still valid
    • imap_last_error — Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür
    • imap_list — Posta kutularını listeler
    • imap_listmailbox — imap_list işlevinin takma adıdır
    • imap_listscan — Belirtilen metin ile eşleşen posta kutularını listeler
    • imap_listsubscribed — imap_lsub işlevinin takma adıdır
    • imap_lsub — Üyesi olunan tüm posta kutularını listeler
    • imap_mail_compose — Zarfı ve gövdesi belirtilen MIME iletisini oluşturur
    • imap_mail_copy — Belirtilen iletileri bir posta kutusuna kopyalar
    • imap_mail_move — Belirtilen iletiyi bir posta kutusuna taşır
    • imap_mail — Bir eposta iletisi gönderir
    • imap_mailboxmsginfo — Posta kutusu hakkında bilgi döndürür
    • imap_mime_header_decode — MIME başlık elemanlarının kodlamasını açar
    • imap_msgno — Belirtilen eşsiz kimlik için ileti numarasını döndürür
    • imap_mutf7_to_utf8 — Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar
    • imap_num_msg — Posta kutusundaki ileti sayısını döndürür
    • imap_num_recent — Posta kutusuna en son gelen ileti sayısını döndürür
    • imap_open — Belirtilen posta kutusuna yeni bir IMAP akımı açar
    • imap_ping — Belirtilen IMAP akımı hala etkin mi diye bakar
    • imap_qprint — Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür
    • imap_rename — imap_renamemailbox işlevinin takma adıdır
    • imap_renamemailbox — Posta kutusunun ismini değiştirir
    • imap_reopen — IMAP akımını yeni posta kutusunda yeniden açar
    • imap_rfc822_parse_adrlist — Bir adres dizgesini çözümler
    • imap_rfc822_parse_headers — Bir dizgedeki eposta başlıklarını çözümler
    • imap_rfc822_write_address — Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür
    • imap_savebody — Belirtilen iletinin gövdesini bir dosyaya kaydeder
    • imap_scan — imap_listscan işlevinin takma adıdır
    • imap_scanmailbox — imap_listscan işlevinin takma adıdır
    • imap_search — Belirtilen kurala uyan iletileri bir dizi içinde döndürür
    • imap_set_quota — Belirtilen posta kutusu için bir kota tanımlar
    • imap_setacl — Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar
    • imap_setflag_full — İletileri imler
    • imap_sort — İletileri sıralar ve döndürür
    • imap_status — Bir posta kutusunun durum bilgisini döndürür
    • imap_subscribe — Bir posta kutusuna üyeliği başlatır
    • imap_thread — Bir iletinin konu ağacını döndürür
    • imap_timeout — IMAP zaman aşımını tanımlar veya döndürür
    • imap_uid — Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür
    • imap_undelete — Silindi diye imlenmiş bir iletinin imini kaldırır
    • imap_unsubscribe — Bir posta kutusundan üyeliği sonlandırır
    • imap_utf7_decode — Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür
    • imap_utf7_encode — ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür
    • imap_utf8_to_mutf7 — UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar
    • imap_utf8 — MIME kodlu metni UTF-8'e dönüştürür
  • IMAP\Connection — IMAP\Connection sınıfı


Giriş

Bu işlevler sayesinde sadece IMAP protokolü ile değil NNTP, POP3 ve yerel posta kutusu erişim yöntemleri ile de çalışabilirsiniz.

Bununla birlikte, bazı IMAP işlevlerinin POP protokolü ile düzgün çalışmayacağını bilmenizde yarar var.

Uyarı

IMAP eklentisi evreli çalışmada güvenilir değildir; ZTS etkin derlemelerle kullanılmamalıdır.


Gereksinimler

Bu eklenti, sisteminizde c-client kütüphanesinin kurulu olmasını gerektirir. En son sürümünü » https://github.com/uw-imap/imap adresinden indirip kurabilirsiniz.

IMAP kaynak dosyalarının doğrudan sistemin include/ dizinine kopyalanmaması büyük önem taşır, aksi takdirde orada bazı sorunlar çıkabilir. En iyisi sistemde /usr/local/imap-2000b/ gibi yeni bir dizin oluşturup (yeri ve adı kullandığınız IMAP sürümüne bağlıdır) içine lib/ ve include/ gibi yeni dizinler açmaktır. IMAP kaynak ağacınızın c-client dizinindeki tüm *.h dosyalarını include/ altına ve tüm *.c dosyalarını lib/ altına kopyalayın. Buna ek olarak IMAP'ı derlerken c-client.a diye bir dosya oluşturulur. Bu dosyayı da lib/ dizininin altına koyup adını libc-client.a olarak değiştirin.

Bilginize:

c-client kütüphanesinin SSL ve/veya Kerberos destekli olmasını isterseniz paket ile birlikte gelen belgeleri okuyun.


Kurulum

Bu işlevlerin çalışması için PHP'yi --with-imap[=DiZiN] seçeneği ile derlemelisiniz. Buradaki DiZiN c-client kurulumunun yapıldığı ana dizindir (PREFIX). Örneğimizde olduğu gibi --with- imap=/usr/local/imap-2000b seçeneğini kullanmalısınız. Bu konum, yukarıda açıklanan DiZiNe bağlı olarak değişiklik gösterebilir. Windows kullanıcılarının php_imap.dll DLL'ini php.ini dosyasına dahil etmeleri gerekebilir.

Bilginize: C-client kütüphanesinin yapılandırmasına bağlı olarak PHP yapılandırma seçeneklerine --with-imap-ssl=/bir/yol/openssl/ ve/veya --with-kerberos=/bir/yol/kerberos seçeneğini eklemeniz gerekebilir.

Uyarı

IMAP eklentisi evreli çalışmada güvenilir değildir; ZTS etkin derlemelerle kullanılmamalıdır.

Uyarı

IMAP, recode ve YAZ eklentileri, aynı dahili simgeleri paylaştıklarından birlikte kullanılamazlar. Bilgi: Yaz 2.0 ve sonrası bu sorundan etkilenmemektedir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

IMAP Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
imap.enable_insecure_rsh | "0" | PHP_INI_SYSTEM | PHP 7.1.25, 7.2.13, 7.3.0 sürümlerinde geçerlidir. Evvelce örtük olarak etkindi.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

imap.enable_insecure_rsh bool

Bu php.ini seçeneği etkin olduğu sürece sunucuya kurulan her bağlantı rsh veya ssh komutunu çalıştırabilir.

Uyarı

rsh veya ssh komutuna bunları aktarmadan önce posta kutusu isimlerini ne PHP ne de IMAP kütüphanesi süzer. Bu bakımdan, bu php.ini seçeneğini iptal etmeden bu işleve güvenilir olmayan verinin aktarılması güvenli değildir.


Özkaynak Türleri

PHP 8.1.0'dan önce, bu eklentide açık bir IMAP akımının tanıtıcısı olarak, imap_open() tarafından döndürülen bir imap özkaynağı kullanılıyordu.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

NIL (int)
PHP 8.1.0 ve sonrasında kullanımı önerilmiyor.
OP_DEBUG (int)
OP_READONLY (int)
Open mailbox read-only
OP_ANONYMOUS (int)
Haberler için bir .newsrc kullanmayın veya güncellemeyin (sadece NNTP için).
OP_SHORTCACHE (int)
OP_SILENT (int)
OP_PROTOTYPE (int)
OP_HALFOPEN (int)
IMAP ve NNTP isimleri için bir posta kutusu değil bir bağlantı açılır.
OP_EXPUNGE (int)
OP_SECURE (int)
CL_EXPUNGE (int)
imap_close() çağrıldığında kapatmadan önce posta kutusu sessizce silinir.
FT_UID (int)
Bağımsız değişken bir kullanıcı kimliğidir.
FT_PEEK (int)
Zaten varsa \Seen seçeneği tekrar atanmaz.
FT_NOT (int)
FT_INTERNAL (int)
Dönen dizge dahili biçemde olur, CRLF ile meşrulaştırılmaz.
FT_PREFETCHTEXT (int)
ST_UID (int)
Sıralama bağımsız değişkeni sıra numaraları yerine kullanıcı kimliklerini içerir.
ST_SILENT (int)
ST_SET (int)
CP_UID (int)
Sıra numaraları kullanıcı kimliklerini içerir.
CP_MOVE (int)
imap_mail_copy() ile kopyalandıktan sonra geçerli posta kutusundaki iletiler silinir.
SE_UID (int)
Sıra numaraları yerine kullanıcı kimlikleri döndürülür.
SE_FREE (int)
SE_NOPREFETCH (int)
Aranan iletiler önce alınıp sonra aranmaz.
SO_FREE (int)
SO_NOSERVER (int)
SA_MESSAGES (int)
SA_RECENT (int)
SA_UNSEEN (int)
SA_UIDNEXT (int)
SA_UIDVALIDITY (int)
SA_ALL (int)
LATT_NOINFERIORS (int)
Bu posta kutusunun "çocukları" yoktur (altında başka posta kutusu yoktur).
LATT_NOSELECT (int)
Bu bir posta kutusu değil sadece bir taşıyıcıdır - bu yüzden onu açamazsınız.
LATT_MARKED (int)
Posta kutusu imlenmiş. Sadece UW-IMAPD tarafından kullanılır.
LATT_UNMARKED (int)
Posta kutusu imlenmemiş. Sadece UW-IMAPD tarafından kullanılır.
LATT_REFERRAL (int)
Bu kapsayıcının uzak posta kutusuna yönlendirmesi var.
LATT_HASCHILDREN (int)
Bu posta kutusunun seçilebilir alt seviyeleri var.
LATT_HASNOCHILDREN (int)
Bu posta kutusunun seçilebilir alt seviyeleri yok.
SORTDATE (int)
imap_sort() için sıralama kuralı: İleti tarihi.
SORTARRIVAL (int)
imap_sort() için sıralama kuralı: Geliş tarihi.
SORTFROM (int)
imap_sort() için sıralama kuralı: İlk Kimden adresindeki posta kutusu.
SORTSUBJECT (int)
imap_sort() için sıralama kuralı: İleti konusu
SORTTO (int)
imap_sort() için sıralama kuralı: İlk Kime adresindeki posta kutusu.
SORTCC (int)
imap_sort() için sıralama kuralı: İlk karbon kopya adresindeki posta kutusu.
SORTSIZE (int)
imap_sort() için sıralama kuralı: Sekizlik olarak ileti uzunluğu.
TYPETEXT (int)
Birincil gövde türü: biçimlendirilmemiş metin
TYPEMULTIPART (int)
Birincil gövde türü: çoklu bölüm
TYPEMESSAGE (int)
Birincil gövde türü: sarmalanmış ileti
TYPEAPPLICATION (int)
Birincil gövde türü: uygulama verisi
TYPEAUDIO (int)
Birincil gövde türü: ses
TYPEIMAGE (int)
Birincil gövde türü: sabit resim
TYPEVIDEO (int)
Birincil gövde türü: video
TYPEMODEL (int)
Birincil gövde türü: model
TYPEOTHER (int)
Birincil gövde türü: bilinmiyor
ENC7BIT (int)
Gövde kodlaması: 7 bit SMTP semantik veri
ENC8BIT (int)
Gövde kodlaması: 7 bit SMTP semantik veri
ENCBINARY (int)
Gövde kodlaması: 8 bit ikil veri
ENCBASE64 (int)
Gövde kodlaması: base-64 kodlu veri
ENCQUOTEDPRINTABLE (int)
Gövde kodlaması: insan tarafından okunabilir 8'e 7 bit veri
ENCOTHER (int)
Gövde kodlaması: bilinmiyor
IMAP_OPENTIMEOUT (int)
IMAP_READTIMEOUT (int)
IMAP_WRITETIMEOUT (int)
IMAP_CLOSETIMEOUT (int)
IMAP_GC_ELT (int)
Çöp toplayıcı; ileti önbellek elemanlarını temizler.
IMAP_GC_ENV (int)
Çöp toplayıcı; zarfları ve ileti gövdelerini temizler.
IMAP_GC_TEXTS (int)
Çöp toplayıcı; metinleri temizler.


IMAP İşlevleri

Ayrıca Bakınız

Bu belgede bulunan işlev açıklamalarında tüm ayrıntılara yer verilememiştir. Bu bilgileri c-client kütüphanesinin belgelerinden ve aşağıdaki RFC'lerden edinebilirsiniz:

  • » RFC2821: Simple Mail Transfer Protocol (SMTP) - Basit dosya Aktarım Protokolü.
  • » RFC2822: Standard for ARPA internet text messages - ARPA genel ağ metin iletileri standardı.
  • » RFC2060: Internet Message Access Protocol (IMAP) Version 4rev1 - Genel ağ İleti Erişim Protokolü 4.1 sürümü.
  • » RFC1939: Post Office Protocol Version 3 (POP3) - Postane Protokolünün 3. sürümü.
  • » RFC977: Network News Transfer Protocol (NNTP) - Ağ Haberleri Aktarım Protokolü.
  • » RFC2076: Common Internet Message Headers - Genel Ağ Ortak İleti Başlıkları.
  • » RFC2045, » RFC2046, » RFC2047, » RFC2048 ve » RFC2049: Multipurpose Internet Mail Extensions (MIME) - Çok Amaçlı Genel Ağ Posta Eklentileri.
Ayrıca, » Programming Internet Email - Genel Ağ Epostasını Programlamak (David Wood) ve » Managing IMAP - IMAP Yönetimi (Dianna Mullet & Kevin Mullet) kitaplarında ayrıntılı bir genel bakış mevcuttur.

İçindekiler

  • imap_8bit — 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür
  • imap_alerts — Oluşan tüm IMAP uyarı iletilerini döndürür
  • imap_append — Belirtilen posta kutusuna bir ileti ekler
  • imap_base64 — Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür
  • imap_binary — 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür
  • imap_body — İleti gövdesini okur
  • imap_bodystruct — Belirtilen iletinin bir gövde bölümünün yapısını okur
  • imap_check — Posta kutusu bilgilerini döndürür
  • imap_clearflag_full — İletilerdeki imleri temizler
  • imap_close — IMAP akımını kapatır
  • imap_create — imap_createmailbox işlevinin takma adıdır
  • imap_createmailbox — Yeni bir posta kutusu oluşturur
  • imap_delete — Belirtilen iletiyi silindi olarak imler
  • imap_deletemailbox — Bir posta kutusunu siler
  • imap_errors — Oluşan tüm IMAP hatalarının iletilerini döndürür
  • imap_expunge — Silindi imli tüm iletileri gerçekten siler
  • imap_fetch_overview — Belirtilen iletinin başlıklarından belli bilgileri toplar
  • imap_fetchbody — Belirtilen iletinin belli bir gövde bölümünü döndürür
  • imap_fetchheader — Bir iletinin başlığını döndürür
  • imap_fetchmime — İletinin belirli bir bölümü için MIME başlıklarını getirir
  • imap_fetchstructure — Belli bir iletinin yapısını okur
  • imap_fetchtext — imap_body işlevinin takma adıdır
  • imap_gc — IMAP önbelleğini temizler
  • imap_get_quota — Belirtilen kullanıcının kota ayarlarını döndürür
  • imap_get_quotaroot — Kullanıcının kendi kota ayarlarını döndürür
  • imap_getacl — Belirtilen posta kutusunun erişim izinlerini döndürür
  • imap_getmailboxes — Posta kutuları hakkında ayrıntılı bilgi döndürür
  • imap_getsubscribed — Üyesi olunan tüm posta kutularını listeler
  • imap_header — imap_headerinfo işlevinin takma adıdır
  • imap_headerinfo — Belirtilen iletinin başlığını okur
  • imap_headers — Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür
  • imap_is_open — Check if the IMAP stream is still valid
  • imap_last_error — Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür
  • imap_list — Posta kutularını listeler
  • imap_listmailbox — imap_list işlevinin takma adıdır
  • imap_listscan — Belirtilen metin ile eşleşen posta kutularını listeler
  • imap_listsubscribed — imap_lsub işlevinin takma adıdır
  • imap_lsub — Üyesi olunan tüm posta kutularını listeler
  • imap_mail_compose — Zarfı ve gövdesi belirtilen MIME iletisini oluşturur
  • imap_mail_copy — Belirtilen iletileri bir posta kutusuna kopyalar
  • imap_mail_move — Belirtilen iletiyi bir posta kutusuna taşır
  • imap_mail — Bir eposta iletisi gönderir
  • imap_mailboxmsginfo — Posta kutusu hakkında bilgi döndürür
  • imap_mime_header_decode — MIME başlık elemanlarının kodlamasını açar
  • imap_msgno — Belirtilen eşsiz kimlik için ileti numarasını döndürür
  • imap_mutf7_to_utf8 — Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar
  • imap_num_msg — Posta kutusundaki ileti sayısını döndürür
  • imap_num_recent — Posta kutusuna en son gelen ileti sayısını döndürür
  • imap_open — Belirtilen posta kutusuna yeni bir IMAP akımı açar
  • imap_ping — Belirtilen IMAP akımı hala etkin mi diye bakar
  • imap_qprint — Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür
  • imap_rename — imap_renamemailbox işlevinin takma adıdır
  • imap_renamemailbox — Posta kutusunun ismini değiştirir
  • imap_reopen — IMAP akımını yeni posta kutusunda yeniden açar
  • imap_rfc822_parse_adrlist — Bir adres dizgesini çözümler
  • imap_rfc822_parse_headers — Bir dizgedeki eposta başlıklarını çözümler
  • imap_rfc822_write_address — Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür
  • imap_savebody — Belirtilen iletinin gövdesini bir dosyaya kaydeder
  • imap_scan — imap_listscan işlevinin takma adıdır
  • imap_scanmailbox — imap_listscan işlevinin takma adıdır
  • imap_search — Belirtilen kurala uyan iletileri bir dizi içinde döndürür
  • imap_set_quota — Belirtilen posta kutusu için bir kota tanımlar
  • imap_setacl — Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar
  • imap_setflag_full — İletileri imler
  • imap_sort — İletileri sıralar ve döndürür
  • imap_status — Bir posta kutusunun durum bilgisini döndürür
  • imap_subscribe — Bir posta kutusuna üyeliği başlatır
  • imap_thread — Bir iletinin konu ağacını döndürür
  • imap_timeout — IMAP zaman aşımını tanımlar veya döndürür
  • imap_uid — Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür
  • imap_undelete — Silindi diye imlenmiş bir iletinin imini kaldırır
  • imap_unsubscribe — Bir posta kutusundan üyeliği sonlandırır
  • imap_utf7_decode — Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür
  • imap_utf7_encode — ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür
  • imap_utf8_to_mutf7 — UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar
  • imap_utf8 — MIME kodlu metni UTF-8'e dönüştürür


8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür

  • « IMAP İşlevleri
  • imap_alerts »
  • PHP Manual
  • IMAP İşlevleri
  • 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür

imap_8bit

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_8bit — 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür

Açıklama

imap_8bit(string $dizge): string|false

» RFC 2045'in 6.7. bölümüne uygun olarak 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür.

Bağımsız Değişkenler

dizge

Dönüştürülecek 8 bitlik dizge.

Dönen Değerler

7 bitlik (quoted-printable) bir dizge, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_qprint() - Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür


Oluşan tüm IMAP uyarı iletilerini döndürür

  • « imap_8bit
  • imap_append »
  • PHP Manual
  • IMAP İşlevleri
  • Oluşan tüm IMAP uyarı iletilerini döndürür

imap_alerts

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_alerts — Oluşan tüm IMAP uyarı iletilerini döndürür

Açıklama

imap_alerts(): array|false

Son imap_alerts() çağrısından beri veya sayfa isteğinin başından beri oluşan tüm uyarı iletilerini içeren bir dizi döndürür.

imap_alerts() çağrısı uyarı yığıtını temizler. IMAP belirtimi bu iletilerin kullanıcıya aktarılmasını gerektirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Üretilmiş tüm uyarı iletilerini içeren bir dizi döner. Eğer hiç uyarı iletisi yoksa false döner.

Ayrıca Bakınız

  • imap_errors() - Oluşan tüm IMAP hatalarının iletilerini döndürür


Belirtilen posta kutusuna bir ileti ekler

  • « imap_alerts
  • imap_base64 »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen posta kutusuna bir ileti ekler

imap_append

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_append — Belirtilen posta kutusuna bir ileti ekler

Açıklama

imap_append(
IMAP\Connection $imap,
string $dizin,
string $ileti,
?string $seçenekler = null,
?string $rfc2060_tarih = null
): bool

Belirtilen dizine bir ileti ekler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

dizin

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

ileti

Bir dizge olarak eklenecek ileti.

Cyrus IMAP sunucusuna gönderirken, iletide satır sonu karakteri olarak "\n" değil "\r\n" kullanmalısınz, yoksa işlem başarısız olur.

seçenekler

Belirtildiği takdirde dizine bu seçenekler de yazılır.

rfc2060_tarih

Bu bağımsız değişken belirtilmişse, ekli iletinin INTERNALDATE alanına atanır. Değer, RFC2060'a uygun bir tarih dizgesi olmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.
8.0.0 | seçenekler ve rfc2060_tarih artık null olabiliyor.

Örnekler

Örnek 1 - imap_append() örneği

<?php
$imap = imap_open("{imap.example.org}INBOX.Drafts", "username", "password");

$check = imap_check($imap);
echo "Ekleme öncesi ileti sayısı: ". $check->Nmsgs . "\n";

imap_append($imap, "{imap.example.org}INBOX.Drafts"
, "From: me@example.com\r\n"
. "To: you@example.com\r\n"
. "Subject: test\r\n"
. "\r\n"
. "Bu bir deneme iletisidir, lütfen yok sayın.\r\n"
);

$check = imap_check($imap);
echo "Ekleme sonrası ileti sayısı: ". $check->Nmsgs . "\n";

imap_close($imap);
?>


Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür

  • « imap_append
  • imap_binary »
  • PHP Manual
  • IMAP İşlevleri
  • Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür

imap_base64

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_base64 — Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür

Açıklama

imap_base64(string $dizge): string|false

Base-64 kodlu dizge dizgesini 8 bitlik bir dizgeye dönüştürür.

Bağımsız Değişkenler

metin

Base64 kodlu metin.

Dönen Değerler

8 bitlik bir dizge, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_binary() - 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür
  • base64_encode() - Veriye MIME base64 kodlaması uygular
  • base64_decode() - MIME base64 ile kodlanmış verinin kodunu açar
  • » RFC2045, Bölüm 6.8


8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür

  • « imap_base64
  • imap_body »
  • PHP Manual
  • IMAP İşlevleri
  • 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür

imap_binary

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_binary — 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür

Açıklama

imap_binary(string $dizge): string|false

8 bitlik dizge, » RFC 2045'in 6.8. bölümüne uygun olarak bir base64 dizgesine dönüştürülür.

Bağımsız Değişkenler

dizge

8 bitlik dizge.

Dönen Değerler

Base64 ile kodlanmış bir dizge, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_base64() - Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür


İleti gövdesini okur

  • « imap_binary
  • imap_bodystruct »
  • PHP Manual
  • IMAP İşlevleri
  • İleti gövdesini okur

imap_body

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_body — İleti gövdesini okur

Açıklama

imap_body(IMAP\Connection $imap, int $ileti_num, int $seçenekler = 0): string|false

ileti_num ile belirtilen iletinin gövdesini döndürür.

imap_body() işlevi ileti gövdesinin bire bir kopyasını döndürür. Çok parçalı MIME kodlu bir iletiden tek bir parçayı elde etmek için önce yapı imap_fetchstructure() ile incelenmeli sonra da gövdeden istenen bölüm imap_fetchbody()ile çıkarılmalıdır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

seçenekler

Şunlardan gerekenleri içeren bir bit maskesidir:

  • FT_UID - ileti_num bir eşsiz kimliktir.
  • FT_PEEK - \Seen imi tanımlıysa bir daha tanımlanmaz.
  • FT_INTERNAL - CRLF ile meşrulaştırılmamış olarak dizgeyi dahili biçemde döndürür.

Dönen Değerler

Belirtilen iletinin gövdesi bir dizge olarak, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.


Belirtilen iletinin bir gövde bölümünün yapısını okur

  • « imap_body
  • imap_check »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletinin bir gövde bölümünün yapısını okur

imap_bodystruct

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_bodystruct — Belirtilen iletinin bir gövde bölümünün yapısını okur

Açıklama

imap_bodystruct(IMAP\Connection $imap, int $ileti_num, string $bölüm): stdClass|false

Belirtilen iletinin bölüm ile belirtilen gövde bölümünün yapısını okur.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

bölüm

Okunacak gövde bölümü.

Dönen Değerler

Bilgi bir nesne içinde döndürülür, başarısızlık durumunda false döner. Nesnenin yapısı ve özellikleri hakkında bilgi almak için imap_fetchstructure() işlevine bakınız.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetchstructure() - Belli bir iletinin yapısını okur


Posta kutusu bilgilerini döndürür

  • « imap_bodystruct
  • imap_clearflag_full »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusu bilgilerini döndürür

imap_check

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_check — Posta kutusu bilgilerini döndürür

Açıklama

imap_check(IMAP\Connection $imap): stdClass|false

Posta kutusu bilgilerini döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Şu özelliklere sahip bir nesne döner:

  • Date - » RFC 2822'ye uygun olarak biçemlenmiş sistem zamanı.
  • Driver - Posta kutusuna erişirken kullanılan protokol: POP3, IMAP, NNTP
  • Mailbox - Posta kutusunun ismi.
  • Nmsgs - Posta kutusundaki ileti sayısı.
  • Recent - Posta kutusuna son gelen ileti sayısı.

Başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_check() örneği

<?php

$imap = imap_check($imap_stream);
var_dump($imap);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)(5) {
  ["Date"]=>
  string(37) "Wed, 10 Dec 2003 17:56:54 +0100 (CET)"
  ["Driver"]=>
  string(4) "imap"
  ["Mailbox"]=>
  string(54)
  "{www.example.com:143/imap/user="foo@example.com"}INBOX"
  ["Nmsgs"]=>
  int(1)
  ["Recent"]=>
  int(0)
}


İletilerdeki imleri temizler

  • « imap_check
  • imap_close »
  • PHP Manual
  • IMAP İşlevleri
  • İletilerdeki imleri temizler

imap_clearflag_full

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_clearflag_full — İletilerdeki imleri temizler

Açıklama

imap_clearflag_full(
IMAP\Connection $imap,
string $aralık,
string $imler,
int $seçenekler = 0
): bool

Belirtilen aralık içindeki iletilerden imler ile belirtilen imleri siler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

aralık

İleti numaraları aralığı. İstenen iletileri X,Y biçeminde sıralayabilir veya X:Y biçeminde bir aralık olarak belirtebilirsiniz.

imler

» RFC 2060'ta belirtildiği gibi silinecek imleri "\\Seen" (okundu), "\\Answered" (yanıtlandı), "\\Flagged (imli)", "\\Deleted" (silindi), "\\Draft" (taslak) olarak belirtebilirsiniz.

seçenekler

Şunlardan gerekenleri içeren bir bit maskesidir:

  • ST_UID - aralık bağımsız değişkeninin eşsiz kimlikleri içerdiği varsayılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_setflag_full() - İletileri imler


IMAP akımını kapatır

  • « imap_clearflag_full
  • imap_create »
  • PHP Manual
  • IMAP İşlevleri
  • IMAP akımını kapatır

imap_close

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_close — IMAP akımını kapatır

Açıklama

imap_close(IMAP\Connection $imap, int $seçenekler = 0): bool

Belirtilen IMAP akımını kapatır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

seçenekler

Değer olarak CL_EXPUNGE belirtilirse, posta kutusu kapatılmadan önce silindi olarak imlenmiş iletiler posta kutusundan silinir. Bu işlevselliği imap_expunge() işleviyle de elde edebilirsiniz.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_open() - Belirtilen posta kutusuna yeni bir IMAP akımı açar


imap_createmailbox işlevinin takma adıdır

  • « imap_close
  • imap_createmailbox »
  • PHP Manual
  • IMAP İşlevleri
  • imap_createmailbox işlevinin takma adıdır

imap_create

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_create — imap_createmailbox() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: imap_createmailbox().


Yeni bir posta kutusu oluşturur

  • « imap_create
  • imap_delete »
  • PHP Manual
  • IMAP İşlevleri
  • Yeni bir posta kutusu oluşturur

imap_createmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_createmailbox — Yeni bir posta kutusu oluşturur

Açıklama

imap_createmailbox(IMAP\Connection $imap, string $pk): bool

pk ile belirtilen posta kutusunu oluşturur.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

pk

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız. Uluslararası karakterler içeren posta kutusu isimleri imap_utf7_encode() ile kodlanmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_createmailbox() örneği

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$name1 = "phpnewbox";
$name2 = imap_utf7_encode("phpnewböx"); // phpnewb&w7Y-x

$newname = $name1;

echo "Yeni posta kutusu: '$name1'<br />\n";

// Gelen kutusunda önce "phptestbox" adında yeni bir posta kutusu
// oluşturacağız. Oluşturduktan sonra durumuna bakacağız ve son olarak
// gelen kutusunu ilk haline getirmek için yeni posta kutusunu sileceğiz.

if (@imap_createmailbox($mbox, imap_utf7_encode("{imap.example.org}INBOX.$newname"))) {
$status = @imap_status($mbox, "{imap.example.org}INBOX.$newname", SA_ALL);
if ($status) {
echo "Yeni posta kutusu '$name1' ile ilgili durum:<br />\n";
echo "İleti sayısı: " . $status->messages . "<br />\n";
echo "Son gelen sayısı: " . $status->recent . "<br />\n";
echo "Okunmamış sayısı: " . $status->unseen . "<br />\n";
echo "Sonraki eşsiz kimlik: " . $status->uidnext . "<br />\n";
echo "Kimlik doğrulaması: " . $status->uidvalidity . "<br />\n";

if (imap_renamemailbox($mbox, "{imap.example.org}INBOX.$newname",
"{imap.example.org}INBOX.$name2")) {
echo "Yeni posta kutusunun ismi '$name1' iken '$name2' yapıldı<br />\n";
$newname = $name2;
} else {
echo "imap_renamemailbox başarısız oldu: " .
imap_last_error() . "<br />\n";
}
} else {
echo "Yeni posta kutusunun durumuna bakılırken bir hata oluştu: " .
imap_last_error() . "<br />\n";
}

if (@imap_deletemailbox($mbox, "{imap.example.org}INBOX.$newname")) {
echo "Yeni posta kutusu silindi.<br />\n";
} else {
echo "Yeni posta kutusu için imap_deletemailbox başarısız oldu: " .
implode("<br />\n", imap_errors()) . "<br />\n";
}

} else {
echo "Yeni posta kutusu oluşturulamadı: " .
implode("<br />\n", imap_errors()) . "<br />\n";
}

imap_close($mbox);
?>

Ayrıca Bakınız

  • imap_renamemailbox() - Posta kutusunun ismini değiştirir
  • imap_deletemailbox() - Bir posta kutusunu siler


Belirtilen iletiyi silindi olarak imler

  • « imap_createmailbox
  • imap_deletemailbox »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletiyi silindi olarak imler

imap_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_delete — Belirtilen iletiyi silindi olarak imler

Açıklama

imap_delete(IMAP\Connection $imap, string $ileti_num, int $seçenekler = 0): bool

ileti_num ile belirtilen iletileri silinmek üzere imler. Bu iletiler bir imap_expunge() çağrısına kadar veya CL_EXPUNGE seçeneği ile yapılan bir imap_close() çağrısına kadar posta kutusunda kalır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

IMAP4 tarzı aralık dizgesi biçeminde bir veya daha fazla ileti içeren bir dizge ("n", "n:m" veya bunların virgüllerle ayrılmış birleşimleri).

seçenekler

Bu bağımsız değişkende FT_UID sabiti belirtilirse ileti_num bağımsız değişkeninin eşsiz kimlikleri içerdiği varsayılır.

Dönen Değerler

true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_delete() örneği

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("bağlanılamadı: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);
echo "Silme imlemesi öncesi ileti sayısı: " . $check->Nmsgs . "<br />\n";

imap_delete($mbox, 1);

$check = imap_mailboxmsginfo($mbox);
echo "Silme imlemesi sonrası ileti sayısı: " . $check->Nmsgs . "<br />\n";

imap_expunge($mbox);

$check = imap_mailboxmsginfo($mbox);
echo "İletiler silindikten sonraki ileti sayısı: " .
$check->Nmsgs . "<br />\n";

imap_close($mbox);
?>

Notlar

Bilginize:

IMAP posta kutuları bağlantılar arasında ileti imlerini saklamazlar. Bu nedenle silinmek üzere imlenmiş iletileri gerçekten silmek için imap_expunge() işlevini aynı oturumda kullanmalısınız.

Ayrıca Bakınız

  • imap_undelete() - Silindi diye imlenmiş bir iletinin imini kaldırır
  • imap_expunge() - Silindi imli tüm iletileri gerçekten siler
  • imap_close() - IMAP akımını kapatır


Bir posta kutusunu siler

  • « imap_delete
  • imap_errors »
  • PHP Manual
  • IMAP İşlevleri
  • Bir posta kutusunu siler

imap_deletemailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_deletemailbox — Bir posta kutusunu siler

Açıklama

imap_deletemailbox(IMAP\Connection $imap, string $pk): bool

pk ile belirtilen posta kutusunu siler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

pk

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_createmailbox() - Yeni bir posta kutusu oluşturur
  • imap_renamemailbox() - Posta kutusunun ismini değiştirir
  • imap_open() - Belirtilen posta kutusuna yeni bir IMAP akımı açar


Oluşan tüm IMAP hatalarının iletilerini döndürür

  • « imap_deletemailbox
  • imap_expunge »
  • PHP Manual
  • IMAP İşlevleri
  • Oluşan tüm IMAP hatalarının iletilerini döndürür

imap_errors

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_errors — Oluşan tüm IMAP hatalarının iletilerini döndürür

Açıklama

imap_errors(): array|false

Hata yığıtı sıfırlandığından beri veya bu sayfa isteği sırasında oluşan tüm IMAP hatalarını döndürür.

imap_errors() çağrısı hata yığıtını temizler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son imap_errors() çağrısından beri veya sayfa isteğinin başından beri oluşan tüm hataların iletilerini içeren bir dizi döndürür. Döndürülecek hiç hata iletisi yoksa false döner.

Ayrıca Bakınız

  • imap_last_error() - Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür
  • imap_alerts() - Oluşan tüm IMAP uyarı iletilerini döndürür


Silindi imli tüm iletileri gerçekten siler

  • « imap_errors
  • imap_fetch_overview »
  • PHP Manual
  • IMAP İşlevleri
  • Silindi imli tüm iletileri gerçekten siler

imap_expunge

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_expunge — Silindi imli tüm iletileri gerçekten siler

Açıklama

imap_expunge(IMAP\Connection $imap): bool

imap_delete(), imap_mail_move() veya imap_setflag_full() tarafından 'silindi' olarak imlenmiş tüm iletileri siler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

true döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.


Belirtilen iletinin başlıklarından belli bilgileri toplar

  • « imap_expunge
  • imap_fetchbody »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletinin başlıklarından belli bilgileri toplar

imap_fetch_overview

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetch_overview — Belirtilen iletinin başlıklarından belli bilgileri toplar

Açıklama

imap_fetch_overview(IMAP\Connection $imap, string $aralık, int $seçenekler = 0): array|false

aralık ile belirtilen iletilerin posta başlıklarını alır ve içinden belli bilgileri toplar.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

aralık

İleti numaraları aralığı. İstenen iletileri X,Y biçeminde sıralayabilir veya X:Y biçeminde bir aralık olarak belirtebilirsiniz.

seçenekler

Bu bağımsız değişkende FT_UID sabiti belirtilirse aralık bağımsız değişkeni ileti numaralarını veya eşsiz kimlikleri içerebilir.

Dönen Değerler

Her biri belli bir iletiye ait nesnelerden oluşan bir dizi döner. Nesne, sadece iletide mevcut olan özellikleri içerir. Olası özellikler:

  • subject - İleti konusu.
  • from - Kimden.
  • to - Kime.
  • date - İletinin gönderildiği tarih.
  • message_id - İleti kimliği.
  • references - İleti kimliğine gönderimler.
  • in_reply_to - İleti, bu ileti kimliğine bir yanıttır.
  • size - İletinin bayt cinsinden uzunluğu.
  • uid - İletinin posta kusunudaki eşsiz kimliği.
  • msgno - İletinin posta kusunudaki sıra numarası
  • recent - İleti son gönderilenlerden olarak imlenmiş.
  • flagged - İleti imlenmiş.
  • answered - İleti, yanıtlandı olarak imlenmiş.
  • deleted - İleti, silindi olarak imlenmiş.
  • seen - İleti, okundu olarak imlenmiş.
  • draft - İleti taslak olarak imlenmiş.
  • udate - Geliş tarihinin UNIX zaman damgası.
Bu işlev başarısızlık durumunda false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_fetch_overview() örneği

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
or die("bağlanılamadı: " . imap_last_error());

$MC = imap_check($mbox);

// INBOX içindeki tüm iletilerle ilgili bilgileri toplayalım
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
{$overview->subject}\n";
}
imap_close($mbox);
?>

Ayrıca Bakınız

  • imap_fetchheader() - Bir iletinin başlığını döndürür


Belirtilen iletinin belli bir gövde bölümünü döndürür

  • « imap_fetch_overview
  • imap_fetchheader »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletinin belli bir gövde bölümünü döndürür

imap_fetchbody

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchbody — Belirtilen iletinin belli bir gövde bölümünü döndürür

Açıklama

imap_fetchbody(
IMAP\Connection $imap,
int $ileti_num,
string $bölüm,
int $seçenekler = 0
): string|false

Belirtilen iletinin belli bir gövde bölümünü döndürür. Gövde parçaları bu işlevle çözülmez.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

iletinum

İleti numarası.

bölüm

Parça numarası. IMAP4 belirtimine uygun olarak, gövde parçasını indisleyen noktalarla ayrılmış sayılardan oluşan bir dizge olarak belirtilir.

seçenekler

Aşağıdaki sabitlerin biri veya birkaçından oluşan bir bit maskesidir:

  • FT_UID - iletinum bağımsız değişkeninin eşsiz kimlik olarak ele alınmasını sağlar.
  • FT_PEEK - Zaten ileti \Seen (okundu) imliyse tekrar okundu olarak imlenmez.
  • FT_INTERNAL - Satırları CRLF'lerle meşrulaştırılmadan dizgenin "dahili" biçemiyle döndürülmesini sağlar.

Dönen Değerler

Belirtilen ileti bölümünü bir dizge olarak döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_savebody() - Belirtilen iletinin gövdesini bir dosyaya kaydeder
  • imap_fetchstructure() - Belli bir iletinin yapısını okur


Bir iletinin başlığını döndürür

  • « imap_fetchbody
  • imap_fetchmime »
  • PHP Manual
  • IMAP İşlevleri
  • Bir iletinin başlığını döndürür

imap_fetchheader

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchheader — Bir iletinin başlığını döndürür

Açıklama

imap_fetchheader(IMAP\Connection $imap, int $ileti_num, int $seçenekler = 0): string|false

Belirtilen iletinin » RFC2822 biçemli başlığının tamamını herhangi bir işlemden geçirmeden döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

seçenekler

Olası seçenekler:

  • FT_UID - The iletinum bağımsız değişkeninin bir eşsiz kimlik olarak ele alınmasını sağlar.
  • FT_INTERNAL - Satırları CRLF'lerle meşrulaştırılmadan dizgenin "dahili" biçemiyle döndürülmesini sağlar.
  • FT_PREFETCHTEXT - Aynı anda ileti metninin de alınmasını sağlar. İletinin tam metni istendiği durumda (içeriğin yerel bir dosyaya kaydedilmek istenmesi gibi) IMAP bağlantısında ek bir RTT (gecikme) oluşmasını engeller.

Dönen Değerler

Belirtilen iletinin başlığını içeren bir dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetch_overview() - Belirtilen iletinin başlıklarından belli bilgileri toplar


İletinin belirli bir bölümü için MIME başlıklarını getirir

  • « imap_fetchheader
  • imap_fetchstructure »
  • PHP Manual
  • IMAP İşlevleri
  • İletinin belirli bir bölümü için MIME başlıklarını getirir

imap_fetchmime

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

imap_fetchmime — İletinin belirli bir bölümü için MIME başlıklarını getirir

Açıklama

imap_fetchmime(
IMAP\Connection $imap,
int $ileti_num,
string $bölüm,
int $seçenekler = 0
): string|false

Belirtilen iletilerin belirli bir gövde bölümünün MIME başlıklarını getirir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

bölüm

Bölüm numarası. IMAP4 belirtimine göre bir gövde parçası listesini indisleyen nokta ayraçlı bir tamsayı dizisidir.

seçenekler

Aşağıdakilerden bir veya daha fazlasını içeren bir bit maskesi:

  • FT_UID - ileti_num bir UID'dir
  • FT_PEEK - Zaten atanmışsa Görüldü bayrağı atanmaz.
  • FT_INTERNAL - Dönen dizge dahili biçemde olur, CRLF ile standartlaştırılmaz.

Dönen Değerler

Belirtilen iletilerin belirli bir gövde bölümünün MIME başlıkları bir dizge olarak döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetchbody() - Belirtilen iletinin belli bir gövde bölümünü döndürür
  • imap_fetchstructure() - Belli bir iletinin yapısını okur
  • imap_fetchheader() - Bir iletinin başlığını döndürür


Belli bir iletinin yapısını okur

  • « imap_fetchmime
  • imap_fetchtext »
  • PHP Manual
  • IMAP İşlevleri
  • Belli bir iletinin yapısını okur

imap_fetchstructure

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchstructure — Belli bir iletinin yapısını okur

Açıklama

imap_fetchstructure(IMAP\Connection $imap, int $ileti_num, int $seçenekler = 0): stdClass|false

Belirtilen ileti için yapılandırılmış tüm bilgiyi döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

seçenekler

Bu isteğe bağlı bağımsız değişkende tek bir seçenek belirtilebilir: ileti_num bağımsız değişkeninin eşsiz kimlik olarak ele alınmasını sağlayan FT_UID sabiti.

Dönen Değerler

Aşağıdaki özelliklere sahip bir nesne, başarısızlık durumunda false döner.

imap_fetchstructure() işlevinden dönen nesnenin özellikleri
type | Birincil gövde türü.
encoding | Gövde aktarım kodlaması.
ifsubtype | Bir alt MIME türünde dizge varsa true.
subtype | MIME alt türü.
ifdescription | Bir açıklama dizgesi varsa true
description | Açıklama dizgesinin içeriği.
ifid | Kimliklendirici bir dizge varsa true.
id | Kimliklendirme dizgesi.
lines | Satır sayısı.
bytes | Bayt sayısı.
ifdisposition | Bir Content-Disposition: başlığı varsa true.
disposition | Content-Disposition: başlıklı dizge.
ifdparameters | dparameters dizisi mevcutsa true.
dparameters | Content-disposition MIME başlığındaki bağımsız değişkenlere karşı düşen "attribute" ve "value" özelliklerine sahip nesnelerden oluşan bir dizi.
ifparameters | parameters dizisi mevcutsa true.
parameters | "attribute" ve "value" özelliklerine sahip nesnelerden oluşan bir dizi.
parts | Her biri bir MIME gövde parçasına karşılık gelen ve üst seviye nesnenin yapısına eşdeğer nesnelerden oluşan bir dizi.

Birincil gövde türü (değer kütüphaneye göre değişir, bu bakımdan sabitlerin kullanılması önerilir)
Değer | Türü | Sabiti
0 | text | TYPETEXT
1 | multipart | TYPEMULTIPART
2 | message | TYPEMESSAGE
3 | application | TYPEAPPLICATION
4 | audio | TYPEAUDIO
5 | image | TYPEIMAGE
6 | video | TYPEVIDEO
7 | model | TYPEMODEL
8 | other | TYPEOTHER

Aktarım kodlaması (değer kütüphaneye göre değişir, bu bakımdan sabitlerin kullanılması önerilir)
Değer | Türü | Sabiti
0 | 7bit | ENC7BIT
1 | 8bit | ENC8BIT
2 | Binary | ENCBINARY
3 | Base64 | ENCBASE64
4 | Quoted-Printable | ENCQUOTEDPRINTABLE
5 | other | ENCOTHER

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetchbody() - Belirtilen iletinin belli bir gövde bölümünü döndürür
  • imap_bodystruct() - Belirtilen iletinin bir gövde bölümünün yapısını okur


imap_body işlevinin takma adıdır

  • « imap_fetchstructure
  • imap_gc »
  • PHP Manual
  • IMAP İşlevleri
  • imap_body işlevinin takma adıdır

imap_fetchtext

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_fetchtext — imap_body() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: imap_body().


IMAP önbelleğini temizler

  • « imap_fetchtext
  • imap_get_quota »
  • PHP Manual
  • IMAP İşlevleri
  • IMAP önbelleğini temizler

imap_gc

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_gc — IMAP önbelleğini temizler

Açıklama

imap_gc(IMAP\Connection $imap, int $seçenekler): bool

Türü belirtilen önbellek girdilerini siler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

seçenekler

Silinecek önbellek türü. Şu sabitlerden biri veya birkaçı belirtilebilir: IMAP_GC_ELT (ileti önbellek elemanları), IMAP_GC_ENV (zarflar ve gövdeler), IMAP_GC_TEXTS (metinler).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_gc() örneği

<?php

$mbox = imap_open("{imap.example.org:143}", "username", "password");

imap_gc($mbox, IMAP_GC_ELT);

?>


Belirtilen kullanıcının kota ayarlarını döndürür

  • « imap_gc
  • imap_get_quotaroot »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen kullanıcının kota ayarlarını döndürür

imap_get_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_get_quota — Belirtilen kullanıcının kota ayarlarını döndürür

Açıklama

imap_get_quota(IMAP\Connection $imap, string $kullanıcı): array|false

Belirtilen kullanıcının posta kutusunun kota ayarlarını ve istatistiklerini döndürür.

Bu işlev sadece yönetici tarafından kullanılır. Diğer kullanıcıların imap_get_quotaroot() işlevini kullanmaları gerekir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

quota_root

Genelde user.isim biçeminde olup 'isim' hakkında bilgi istenecek posta kutusunun ismidir.

Dönen Değerler

Belirtilen posta kutusunun kapasitesi ile ilgili bilgileri bir ilişkisel dizi içinde döndürür. Tüm değerler bir özkaynağın adını anahtar olarak alan birer dizidir ve bu alt diziler 'usage' ve 'limit' indisli değerler içerir. Bir hata durumunda false döner.

PHP 4.3'ten itibaren, işlev » RFC 2087'ye daha fazla uyumludur. Dönen dizi sınırsız sayıda özkaynağı (iletiler, alt dizinler gibi) destekleyecek şekilde değiştirilmiştir. Her özkaynakla ilgili bilgiler ayrıca alt dizinlere konmuştur. İlişkisel dizinin her anahtarı değer olarak 'usage' ve 'limit' indisli bir dizi içerir.

Geriye uyumluluk adına özgün erişim yöntemleri hala kullanılabilmekteyse de bir güncelleme önerilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_get_quota() örneği

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$quota_value = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_value)) {
echo "Kullanılan: " . $quota_value['usage'];
echo "Azami boyut: " . $quota_value['limit'];
}

imap_close($mbox);
?>

Örnek 2 - imap_get_quota() 4.3 ve üstü örneği

<?php
$mbox = imap_open("{imap.example.org}", "mailadmin", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$quota_values = imap_get_quota($mbox, "user.kalowsky");
if (is_array($quota_values)) {
$storage = $quota_values['STORAGE'];
echo "Kullanılmış saklama alanı: " . $storage['usage'];
echo "Saklama alanının azami boyutu: " . $storage['limit'];

$message = $quota_values['MESSAGE'];
echo "İletinin uzunluğu: " . $message['usage'];
echo "İleti için azami uzunluk: " . $message['limit'];

/* ... */
}

imap_close($mbox);
?>

Notlar

Bu işlev sadece c-client2000 ve üstü kütüphane sürümleriyle kullanılabilir.

imap_akımı posta yöneticisi olarak açılmış olmalıdır, yoksa işlev başarısız olur.

Ayrıca Bakınız

  • imap_open() - Belirtilen posta kutusuna yeni bir IMAP akımı açar
  • imap_set_quota() - Belirtilen posta kutusu için bir kota tanımlar
  • imap_get_quotaroot() - Kullanıcının kendi kota ayarlarını döndürür


Kullanıcının kendi kota ayarlarını döndürür

  • « imap_get_quota
  • imap_getacl »
  • PHP Manual
  • IMAP İşlevleri
  • Kullanıcının kendi kota ayarlarını döndürür

imap_get_quotaroot

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imap_get_quotaroot — Kullanıcının kendi kota ayarlarını döndürür

Açıklama

imap_get_quotaroot(IMAP\Connection $imap, string $pk): array|false

Kullanıcının kota ayarlarını döndürür. 'limit' değeri kullanıcının posta kutusu için izin verilen azami toplam kullanım alanını gösterir. 'usage' değeri ise kullanıcının o anki toplam posta kutusu kullanımını gösterir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

pk

Normalde posta kutusunun ismidir (örneğin, INBOX).

Dönen Değerler

Belirtilen posta kutusunun kapasitesi ile ilgili bilgileri bir ilişkisel dizi içinde döndürür. Tüm değerler bir özkaynağın adını anahtar olarak alan birer dizidir ve bu alt diziler 'usage' ve 'limit' indisli değerler içerir.

Bir hata durumunda false, sunucudan alınan yanıt çözümlenemezse bağlantı hakkında bilgi içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_get_quotaroot() örneği

<?php
$mbox = imap_open("{imap.example.org}", "kalowsky", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$quota = imap_get_quotaroot($mbox, "INBOX");
if (is_array($quota)) {
$storage = $quota['STORAGE'];
echo "Kullanılmış saklama alanı: " . $storage['usage'];
echo "Saklama alanının azami boyutu: " . $storage['limit'];

$message = $quota['MESSAGE'];
echo "İletinin uzunluğu: " . $message['usage'];
echo "İleti için azami uzunluk: " . $message['limit'];

/* ... */

}

imap_close($mbox);
?>

Notlar

Bu işlev sadece c-client2000 ve üstü kütüphane sürümleriyle kullanılabilir.

imap_akımı posta kutusu kotasına bakılacak kullanıcı için açılmış olmalıdır.

Ayrıca Bakınız

  • imap_open() - Belirtilen posta kutusuna yeni bir IMAP akımı açar
  • imap_set_quota() - Belirtilen posta kutusu için bir kota tanımlar
  • imap_get_quota() - Belirtilen kullanıcının kota ayarlarını döndürür


Belirtilen posta kutusunun erişim izinlerini döndürür

  • « imap_get_quotaroot
  • imap_getmailboxes »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen posta kutusunun erişim izinlerini döndürür

imap_getacl

(PHP 5, PHP 7, PHP 8)

imap_getacl — Belirtilen posta kutusunun erişim izinlerini döndürür

Açıklama

imap_getacl(IMAP\Connection $imap, string $pk): array|false

Belirtilen posta kutusunun (pk) erişim izinlerini döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

pk

Posta kutusunun ismi; bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

"dizin" => "izinler" çiftlerinden oluşan bir ilişkisel dizi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_getacl() örneği

<?php

print_r(imap_getacl($imap, 'user.joecool'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [asubfolder] => lrswipcda
    [anothersubfolder] => lrswipcda
)

Notlar

Bu işlev sadece c-client2000 ve üstü kütüphane sürümleriyle kullanılabilir.

Ayrıca Bakınız

  • imap_setacl() - Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar


Posta kutuları hakkında ayrıntılı bilgi döndürür

  • « imap_getacl
  • imap_getsubscribed »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutuları hakkında ayrıntılı bilgi döndürür

imap_getmailboxes

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getmailboxes — Posta kutuları hakkında ayrıntılı bilgi döndürür

Açıklama

imap_getmailboxes(IMAP\Connection $imap, string $hedef, string $kalıp): array|false

Posta kutusu listesini okuyup her PK için ayrıntılı bilgi döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

hedef

imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kalıp

Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.

kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.

Dönen Değerler

Posta kutusu bilgilerini içeren nesnelerden oluşan bir dizi döner. Her nesnenin üç özelliği vardır: Posta kutusunun ismini içeren name, hiyerarşik ayracı içeren delimiter ve attributes. attributes özelliği şu değerleri içerebilen bir bit maskesidir:

  • LATT_NOINFERIORS - "Çocuklar" olmaksızın posta kutusunun kendisi (bunun altında posta kutusu bulunmaz). Bir alt posta kutusu olmaz. Bu posta kutusu altında imap_createmailbox() çalışmaz.

  • LATT_NOSELECT - Sadece bir taşıyıcıdır, bir posta kutusu değildir - bu açılamaz.

  • LATT_MARKED - Posta kutusu imlidir. Yani, son erişimden bu yana yeni gelmiş iletiler var demektir. Her IMAP sunucusu bu bilgiyi sağlamaz.

  • LATT_UNMARKED - Posta kutusu imsizdir, posta kutusunda yeni gelmiş ileti yoktur. MARKED veya UNMARKED bilgisi sağlanmışsa IMAP sunucusunun bu posta kutusunda bu özelliği desteklediğini varsayabiliriz.

  • LATT_REFERRAL - Bu taşıyıcının uzak bir posta kutusuna yönlendirmesi var.

  • LATT_HASCHILDREN - Bu posta kutusunun seçilebilir alt öğeleri vardır.

  • LATT_HASNOCHILDREN - Bu posta kutusunun seçilebilir alt öğeleri yoktur.

İşlev başarısızlık durumunda false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_getmailboxes() örneği

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
foreach ($list as $key => $val) {
echo "($key) ";
echo imap_utf7_decode($val->name) . ",";
echo "'" . $val->delimiter . "',";
echo $val->attributes . "<br />\n";
}
} else {
echo "imap_getmailboxes başarısız oldu: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Ayrıca Bakınız

  • imap_getsubscribed() - Üyesi olunan tüm posta kutularını listeler


Üyesi olunan tüm posta kutularını listeler

  • « imap_getmailboxes
  • imap_header »
  • PHP Manual
  • IMAP İşlevleri
  • Üyesi olunan tüm posta kutularını listeler

imap_getsubscribed

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getsubscribed — Üyesi olunan tüm posta kutularını listeler

Açıklama

imap_getsubscribed(IMAP\Connection $imap, string $hedef, string $kalıp): array|false

Üyesi olunan tüm posta kutularını bir dizi içinde döndürür.

Sadece kullanıcının üyesi olduğu posta kutularını döndürmesi dışında imap_getmailboxes() işlevine benzer.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

hedef

imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kalıp

Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.

kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.

Dönen Değerler

Posta kutusu bilgilerini içeren nesnelerden oluşan bir dizi döner. Her nesnenin üç özelliği vardır: Posta kutusunun ismini içeren name, hiyerarşik ayracı içeren delimiter ve attributes. attributes özelliği şu değerleri içerebilen bir bit maskesidir:

  • LATT_NOINFERIORS - "Çocuklar" olmaksızın posta kutusunun kendisi (bunun altında posta kutusu bulunmaz).
  • LATT_NOSELECT - Sadece bir taşıyıcıdır, bir posta kutusu değildir - bu açılamaz.
  • LATT_MARKED - Posta kutusu imlidir. Sadece UW-IMAPD kullanır.
  • LATT_UNMARKED - Posta kutusu imsizdir. Sadece UW-IMAPD kullanır.

  • LATT_REFERRAL - Bu taşıyıcının uzak bir posta kutusuna yönlendirmesi var.

  • LATT_HASCHILDREN - Bu posta kutusunun seçilebilir alt öğeleri vardır.

  • LATT_HASNOCHILDREN - Bu posta kutusunun seçilebilir alt öğeleri yoktur.

İşlev başarısızlık durumunda false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.


imap_headerinfo işlevinin takma adıdır

  • « imap_getsubscribed
  • imap_headerinfo »
  • PHP Manual
  • IMAP İşlevleri
  • imap_headerinfo işlevinin takma adıdır

imap_header

(PHP 4, PHP 5, PHP 7)

imap_header — imap_headerinfo() işlevinin takma adıdır

Uyarı

Bu takma ad PHP 8.0.0'da tamamen KALDIRILMIŞTIR.

Açıklama

Bu işlev, imap_headerinfo() işlevinin takma adıdır.


Belirtilen iletinin başlığını okur

  • « imap_header
  • imap_headers »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletinin başlığını okur

imap_headerinfo

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_headerinfo — Belirtilen iletinin başlığını okur

Açıklama

imap_headerinfo(
IMAP\Connection $imap,
int $ileti_num,
int $kimden_uzunluğu = 0,
int $konu_uzunluğu = 0
): stdClass|false

İleti numarası belirtilen iletinin başlıklarını okuyup elde ettiği bilgiyi bir nesne içinde döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

kimden_uzunluğu

fetchfrom özelliği için karakter sayısı. Sıfır veya daha büyük bir tamsayı olmalıdır.

konu_uzunluğu

fetchsubject özelliği için karakter sayısı. Sıfır veya daha büyük bir tamsayı olmalıdır.

öntanımlı_konak

Dönen Değerler

Hata durumunda false aksi takdirde aşağıdaki özelliklerde bir nesne döner:

  • toaddress - to: satırının tamamı, en fazla 1024 karakter.
  • to - To: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host.
  • fromaddress - from: satırının tamamı, en fazla 1024 karakter.
  • from - From: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host.
  • ccaddress - cc: satırının tamamı, en fazla 1024 karakter.
  • cc - Cc: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host.
  • bccaddress - bcc: satırının tamamı, en fazla 1024 karakter.
  • bcc - Bcc: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host.
  • reply_toaddress - Reply-To: satırının tamamı, en fazla 1024 karakter.
  • reply_to - Reply-To: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host.
  • senderaddress - sender: satırının tamamı, en fazla 1024 karakter.
  • sender - Sender: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host
  • return_pathaddress - Return-Path: satırının tamamı, en fazla 1024 karakter.
  • return_path - Return-Path: satırındaki nesnelerden oluşan bir dizi. Nesneler şu özelliklere sahiptir: personal, adl, mailbox ve host
  • remail -
  • date - Başlıklarda bulunan ileti tarihi.
  • Date - date ile aynı.
  • subject - İleti konusu
  • Subject - subject ile aynı.
  • in_reply_to -
  • message_id -
  • newsgroups -
  • followup_to -
  • references -
  • Recent - Son gelenlerdense ve okunmuşsa R, son gelenlerdense ve okunmamışsa N, son gelenlerden değilse ' '.
  • Unseen - Son gelenlerden değilse ve okunmamışsa U, okunmuş olsun ya da olmasın son gelenlerdense ' '.
  • Flagged - İmli ise F, değilse ' '.
  • Answered - Yanıtlanmışsa A, yanıtlanmamışsa ' '.
  • Deleted - Silinmişse D, silinmemişse ' '.
  • Draft - Taslaksa X, değilse ' '.
  • Msgno - İleti numarası.
  • MailDate -
  • Size - İleti uzunluğu
  • udate - Unix zamanı olarak ileti tarihi.
  • fetchfrom - kimden_uzunluğu karakterlik from: satırı.
  • fetchsubject - konu_uzunluğu karakterlik subject: satırı.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.
8.0.0 | Kullanılmayan öntanımlı_konak bağımsız değişkeni kaldırıldı.

Ayrıca Bakınız

  • imap_fetch_overview() - Belirtilen iletinin başlıklarından belli bilgileri toplar


Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür

  • « imap_headerinfo
  • imap_is_open »
  • PHP Manual
  • IMAP İşlevleri
  • Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür

imap_headers

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_headers — Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür

Açıklama

imap_headers(IMAP\Connection $imap): array|false

Posta kutusu içindeki tüm iletilerin başlıklarını döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Başlık bilgisiyle biçemlenmiş dizgelerden oluşan bir dizi döner. Her eleman bir eposta iletisine aittir. Başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.


Check if the IMAP stream is still valid

  • « imap_headers
  • imap_last_error »
  • PHP Manual
  • IMAP İşlevleri
  • Check if the IMAP stream is still valid

imap_is_open

(PHP 8 >= 8.2.1)

imap_is_open — Check if the IMAP stream is still valid

Açıklama

imap_is_open(IMAP\Connection $imap): bool

Check if the IMAP stream is still valid.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Returns true if the stream is still valid, false otherwise.

Örnekler

Örnek 1 imap_is_open() example

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password") or die(implode(", ", imap_errors()));
imap_is_open($mbox);
// ...
?>


Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür

  • « imap_is_open
  • imap_list »
  • PHP Manual
  • IMAP İşlevleri
  • Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür

imap_last_error

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_last_error — Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür

Açıklama

imap_last_error(): string|false

Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür. Hata yığıtına dokunulmaz, dolayısıyla işlev peşpeşe çağrılırsa hep aynı ileti dönecektir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ortada bir hata iletisi yoksa false, varsa son IMAP hatasının açıklamasını içeren bir dizge döndürür

Ayrıca Bakınız

  • imap_errors() - Oluşan tüm IMAP hatalarının iletilerini döndürür


Posta kutularını listeler

  • « imap_last_error
  • imap_listmailbox »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutularını listeler

imap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_list — Posta kutularını listeler

Açıklama

imap_list(IMAP\Connection $imap, string $hedef, string $kalıp): array|false

Posta kutusu listesini okur.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

hedef

imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kalıp

Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.

kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.

Dönen Değerler

Posta kutusu isimlerini içeren bir dizi döner. Başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_list() örneği

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
foreach ($list as $val) {
echo imap_utf7_decode($val) . "\n";
}
} else {
echo "imap_list başarısız oldu: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Ayrıca Bakınız

  • imap_getmailboxes() - Posta kutuları hakkında ayrıntılı bilgi döndürür
  • imap_lsub() - Üyesi olunan tüm posta kutularını listeler


imap_list işlevinin takma adıdır

  • « imap_list
  • imap_listscan »
  • PHP Manual
  • IMAP İşlevleri
  • imap_list işlevinin takma adıdır

imap_listmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listmailbox — imap_list() işlevinin takma adıdır

Açıklama

Bu işlev, imap_list() işlevinin takma adıdır.


Belirtilen metin ile eşleşen posta kutularını listeler

  • « imap_listmailbox
  • imap_listsubscribed »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen metin ile eşleşen posta kutularını listeler

imap_listscan

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listscan — Belirtilen metin ile eşleşen posta kutularını listeler

Açıklama

imap_listscan(
IMAP\Connection $imap,
string $hedef,
string $kalıp,
string $içerik
): array|false

Posta kutusu metninde içerik bulunan posta kutusu isimlerini içeren bir dizi döndürür.

Posta kutusu verisi içinde içerik dizgesinin varlığına bakması dışında imap_list() işlevine benzer.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

hedef

imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kalıp

Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.

kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.

içerik

Aranacak dizge.

Dönen Değerler

Posta kutusu metninde içerik dizgesi geçen posta kutusu isimlerini bir dizi içinde döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_listmailbox() - imap_list işlevinin takma adıdır
  • imap_search() - Belirtilen kurala uyan iletileri bir dizi içinde döndürür


imap_lsub işlevinin takma adıdır

  • « imap_listscan
  • imap_lsub »
  • PHP Manual
  • IMAP İşlevleri
  • imap_lsub işlevinin takma adıdır

imap_listsubscribed

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_listsubscribed — imap_lsub() işlevinin takma adıdır

Açıklama

Bu işlev, imap_lsub() işlevinin takma adıdır.


Üyesi olunan tüm posta kutularını listeler

  • « imap_listsubscribed
  • imap_mail_compose »
  • PHP Manual
  • IMAP İşlevleri
  • Üyesi olunan tüm posta kutularını listeler

imap_lsub

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_lsub — Üyesi olunan tüm posta kutularını listeler

Açıklama

imap_lsub(IMAP\Connection $imap, string $hedef, string $kalıp): array|false

Üyesi olunan tüm posta kutularını bir dizi içinde döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

hedef

imap_open() işlevinde açıklandığı gibi normal olarak bir sunucu belirtimi olmalıdır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kalıp

Posta kutusu hiyerarşisi içine aramanın başlayacağı yeri belirtir.

kalıp içinde belirtilebilecek iki özel karakter vardır: Alt dizinlere inilmesini sağlayan '*' ve alt dizinlere inilmemesini sağlayan '%'. kalıp olarak '*' posta kutusu hiyerarşisi içindeki tüm posta kutularının listelenmesini, '%' ise sadece tepe seviyedeki posta kutularının listelenmesini sağlar. kalıp olarak '~/mail/%' belirtilirse alt dizinlere inilmeden sadece ~/mail dizini altındaki posta kutuları listelenir.

Dönen Değerler

Üye olunan tüm posta kutularını bir dizi içinde döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_list() - Posta kutularını listeler
  • imap_getmailboxes() - Posta kutuları hakkında ayrıntılı bilgi döndürür


Zarfı ve gövdesi belirtilen MIME iletisini oluşturur

  • « imap_lsub
  • imap_mail_copy »
  • PHP Manual
  • IMAP İşlevleri
  • Zarfı ve gövdesi belirtilen MIME iletisini oluşturur

imap_mail_compose

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_compose — Zarfı ve gövdesi belirtilen MIME iletisini oluşturur

Açıklama

imap_mail_compose(array $zarf, array $gövdeler): string|false

Belirtilen zarf ve gövdeler bölümlerini kullanarak bir MIME iletisi oluşturur.

Bağımsız Değişkenler

zarf

Başlıkları içeren bir ilişkisel dizi. Geçerli anahtarlar: "remail", "return_path", "date", "from", "reply_to", "in_reply_to", "subject", "to", "cc", "bcc" ve "message_id". Bu anahtarlara ileti ile ilgili değerler atanır. Ek başlıklar ayarlamak için, bu başlıkların bir dizisini bekleyen "custom_headers" anahtarı desteklenir, ör. ["User-Agent: Posta İstemcim"].

gövdeler

Gövdeleri içeren bir ilişkisel dizi. İlk gövde, iletinin ana gövdesidir; yalnızca TYPEMULTIPART türünde ise, diğer gövdeler işlenir; bu gövdeler parçaların gövdelerini oluşturur.

Gövde dizisinin yapısı
Anahtar | Tür | Açıklama
type | int | MIME türü. TYPETEXT (öntanımlı), TYPEMULTIPART, TYPEMESSAGE, TYPEAPPLICATION, TYPEAUDIO, TYPEIMAGE, TYPEMODEL, TYPEOTHER sabitlerinden biri.
encoding | int | Content-Transfer-Encoding. ENC7BIT (öntanımlı), ENC8BIT, ENCBINARY, ENCBASE64, ENCQUOTEDPRINTABLE, ENCOTHER sabitlerinden biri.
charset | string | MIME türünün karakter kümesi.
type.parameters | array | Content-Type isim ve değerlerini içeren ilişkisel bir dizi.
subtype | string | MIME alt türü; TYPEIMAGE için 'jpeg' gibi.
id | string | Content-ID.
description | string | Content-Description.
disposition.type | string | Content-Disposition, örn. 'attachment'.
disposition | array | Content-Disposition isim ve değerlerini içeren ilişkisel bir dizi.
contents.data | string | İş yükü.
lines | int | Yüklü satır sayısı.
bytes | int | Yüklü bayt miktarı.
md5 | string | Yükün MD5 aşı.

Dönen Değerler

Dizge olarak MIME iletisi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - imap_mail_compose() örneği

<?php

$envelope["from"]= "joe@example.com";
$envelope["to"] = "foo@example.com";
$envelope["cc"] = "bar@example.com";

$part1["type"] = TYPEMULTIPART;
$part1["subtype"] = "mixed";

$filename = "/tmp/imap.c.gz";
$fp = fopen($filename, "r");
$contents = fread($fp, filesize($filename));
fclose($fp);

$part2["type"] = TYPEAPPLICATION;
$part2["encoding"] = ENCBINARY;
$part2["subtype"] = "octet-stream";
$part2["description"] = basename($filename);
$part2["contents.data"] = $contents;

$part3["type"] = TYPETEXT;
$part3["subtype"] = "plain";
$part3["description"] = "description3";
$part3["contents.data"] = "contents.data3\n\n\n\t";

$body[1] = $part1;
$body[2] = $part2;
$body[3] = $part3;

echo nl2br(imap_mail_compose($envelope, $body));

?>


Belirtilen iletileri bir posta kutusuna kopyalar

  • « imap_mail_compose
  • imap_mail_move »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletileri bir posta kutusuna kopyalar

imap_mail_copy

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_copy — Belirtilen iletileri bir posta kutusuna kopyalar

Açıklama

imap_mail_copy(
IMAP\Connection $imap,
string $iletiler,
string $pk,
int $seçenekler = 0
): bool

iletiler bağımsız değişkeninde belirtilen posta iletileri belirtilen posta kutusuna (pk) kopyalanır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

iletiler

Kopyalanacak iletiler, » RFC 2060'da açıklandığı gibi bir ileti numarası aralığı olarak belirtilir.

pk

Posta kutusu ismi; daha fazla bilgi için imap_open()işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

seçenekler

Aşağıdakilerin birini veya tamamını içeren bir bit maskesidir:

  • CP_UID - Sıra numaraları eşsiz kimlikleri içerir.
  • CP_MOVE - Kopyalandıktan sonra ileti yerel posta kutusundan silinir. Bu seçenek atanmışsa işlev, imap_mail_move() işlevi gibi davranır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_mail_move() - Belirtilen iletiyi bir posta kutusuna taşır


Belirtilen iletiyi bir posta kutusuna taşır

  • « imap_mail_copy
  • imap_mail »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletiyi bir posta kutusuna taşır

imap_mail_move

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail_move — Belirtilen iletiyi bir posta kutusuna taşır

Açıklama

imap_mail_move(
IMAP\Connection $imap,
string $iletiler,
string $pk,
int $seçenekler = 0
): bool

iletiler bağımsız değişkeninde belirtilen posta iletileri belirtilen posta kutusuna (pk) taşınır. Aslında, iletiler posta kutusuna kopyalandıktan sonra özgün iletiler silinmek üzere işaretlenir. Bu, posta kutusundaki iletilere yeni kullanıcı kimliklerin atanacağı anlamına gelir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

iletiler

Taşınacak iletiler, » RFC 2060'da açıklandığı gibi bir ileti numarası aralığı olarak belirtilir.

pk

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

seçenekler

Şimdilik tek bir seçenek desteklenmektedir:

  • CP_UID - Sıra numaraları eşsiz kimlikleri içerir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Notlar

Bilginize:

imap_mail_move() özgün postayı bir silme bayrağıyla işaretler, postayı gerçekten silmek için imap_expunge() işlevi çağrılmalıdır.

Ayrıca Bakınız

  • imap_mail_copy() - Belirtilen iletileri bir posta kutusuna kopyalar


Bir eposta iletisi gönderir

  • « imap_mail_move
  • imap_mailboxmsginfo »
  • PHP Manual
  • IMAP İşlevleri
  • Bir eposta iletisi gönderir

imap_mail

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mail — Bir eposta iletisi gönderir

Açıklama

imap_mail(
string $kime,
string $konu,
string $ileti,
?string $ek_başlıklar = null,
?string $cc = null,
?string $bcc = null,
?string $dönüş_yolu = null
): bool

Cc ve Bcc alıcıları doğru yorumlanan epostaların gönderimine imkan verir.

kime, cc ve bcc bağımsız değişkenleri birer dizge olup » RFC 822'ye göre yorumlanırlar.

Bağımsız Değişkenler

kime

Alıcının adresi.

konu

Postanın konusu.

ileti

Postanın gövdesi. Bkz: imap_mail_compose()

ek_başlıklar

Posta üzerinde gönderilecek ek başlıkları içeren bir dizge.

cc

bcc

Kara karbon kopya alıcıları (bcc) olarak belirtilen alıcılar eposta başlıklarında görünmez.

dönüş_yolu

Posta teslim edilemezse kullanılacak dönüş adresi bu bağımsız değişkende belirtilir. PHP'nin çok sayıda kullanıcı için posta istemcisi olarak çalıştığı durumda yararlıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ek_başlıklar, cc, bcc ve dönüş_yolu artık null olabiliyor.

Ayrıca Bakınız

  • mail() - Eposta gönderir
  • imap_mail_compose() - Zarfı ve gövdesi belirtilen MIME iletisini oluşturur


Posta kutusu hakkında bilgi döndürür

  • « imap_mail
  • imap_mime_header_decode »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusu hakkında bilgi döndürür

imap_mailboxmsginfo

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mailboxmsginfo — Posta kutusu hakkında bilgi döndürür

Açıklama

imap_mailboxmsginfo(IMAP\Connection $imap): stdClass

Sunucudaki posta kutusunun durumunu sorgular. imap_status() işlevine benzemekle birlikte, biraz zaman alsa da posta kutusundaki iletilerin toplam uzunluğunu da döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Aşağıdaki özelliklere sahip bir nesne döner:

Posta kutusu özellikleri
Date | Son değişiklik tarihi (günün zamanı)
Driver | Sürücü
Mailbox | Posta kutusu ismi
Nmsgs | İleti sayısı
Recent | Son gelen ileti sayısı
Unread | Okunmamış ileti sayısı
Deleted | Silinmiş ileti sayısı
Size | Posta kutusunun boyu

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_mailboxmsginfo() örneği

<?php

$mbox = imap_open("{imap.example.org}INBOX", "username", "password")
or die("bağlanılamadı: " . imap_last_error());

$check = imap_mailboxmsginfo($mbox);

if ($check) {
echo "Date: " . $check->Date . "<br />\n" ;
echo "Driver: " . $check->Driver . "<br />\n" ;
echo "Mailbox: " . $check->Mailbox . "<br />\n" ;
echo "Messages: " . $check->Nmsgs . "<br />\n" ;
echo "Recent: " . $check->Recent . "<br />\n" ;
echo "Unread: " . $check->Unread . "<br />\n" ;
echo "Deleted: " . $check->Deleted . "<br />\n" ;
echo "Size: " . $check->Size . "<br />\n" ;
} else {
echo "imap_mailboxmsginfo() hata verdi: " . imap_last_error() . "<br />\n";
}

imap_close($mbox);

?>


MIME başlık elemanlarının kodlamasını açar

  • « imap_mailboxmsginfo
  • imap_msgno »
  • PHP Manual
  • IMAP İşlevleri
  • MIME başlık elemanlarının kodlamasını açar

imap_mime_header_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_mime_header_decode — MIME başlık elemanlarının kodlamasını açar

Açıklama

imap_mime_header_decode(string $dizge): array|false

ASCII olmayan karakterler içeren MIME ileti başlıklarının kodlamasını açar (» RFC 2047'ye bakınız).

Bağımsız Değişkenler

dizge

MIME kodlu metin.

Dönen Değerler

Kodu açılan başlıklar bir nesne dizisi olarak döndürülür. Her nesnenin iki özelliği vardır: charset ve text.

Başlıklar kodlanmamışsa, yani salt ASCII iseler nesnenin charset özelliğine default değeri atanır.

İşlev başarısızlık durumunda false döndürür.

Örnekler

Örnek 1 - imap_mime_header_decode() örneği

<?php
$text = "=?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= <keld@example.com>";

$elements = imap_mime_header_decode($text);
for ($i=0; $i<count($elements); $i++) {
echo "Charset: {$elements[$i]->charset}\n";
echo "Text: {$elements[$i]->text}\n\n";
}
?>

Yukarıdaki örneğin çıktısı:

Charset: ISO-8859-1
Text: Keld Jørn Simonsen

Charset: default
Text:  <keld@example.com>

Yukarıdaki örnekte dizi iki elemanlıdır. İlk elemandaki nesne ISO-8859-1 kodlu bir dizge içerirken ikincisi salt ASCII bir dizge içermektedir.

Ayrıca Bakınız

  • imap_utf8() - MIME kodlu metni UTF-8'e dönüştürür


Belirtilen eşsiz kimlik için ileti numarasını döndürür

  • « imap_mime_header_decode
  • imap_mutf7_to_utf8 »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen eşsiz kimlik için ileti numarasını döndürür

imap_msgno

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_msgno — Belirtilen eşsiz kimlik için ileti numarasını döndürür

Açıklama

imap_msgno(IMAP\Connection $imap, int $ileti_uid): int

Belirtilen eşsiz kimlik (ileti_uid) için ileti numarasını döndürür.

Bu işlev imap_uid() işlevinin tersidir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_uid

İletinin eşsiz kimliği.

Dönen Değerler

İletinin sıra numarası bir tamsayı olarak döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_uid() - Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür


Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar

  • « imap_msgno
  • imap_num_msg »
  • PHP Manual
  • IMAP İşlevleri
  • Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar

imap_mutf7_to_utf8

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_mutf7_to_utf8 — Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar

Açıklama

imap_mutf7_to_utf8(string $dizge): string|false

Değiştirilmiş bir UTF-7 dizgesini (RFC 2060, 5.1.3 bölümünde belirtildiği gibi) UTF-8 olarak kodlar.

Bilginize:

Bu işlev yalnızca, utf8_to_mutf7() işlevini libcclient dışa aktarıyorsa kullanılabilir.

Bağımsız Değişkenler

dizge

Değiştirilmiş UTF-7 dizgesi.

Dönen Değerler

UTF-8 kodlu dizge ile döner, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_utf8_to_mutf7() - UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar


Posta kutusundaki ileti sayısını döndürür

  • « imap_mutf7_to_utf8
  • imap_num_recent »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusundaki ileti sayısını döndürür

imap_num_msg

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_num_msg — Posta kutusundaki ileti sayısını döndürür

Açıklama

imap_num_msg(IMAP\Connection $imap): int|false

Posta kutusundaki ileti sayısını döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

İleti sayısı bir tamsayı olarak döner, hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_num_recent() - Posta kutusuna en son gelen ileti sayısını döndürür
  • imap_status() - Bir posta kutusunun durum bilgisini döndürür


Posta kutusuna en son gelen ileti sayısını döndürür

  • « imap_num_msg
  • imap_open »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusuna en son gelen ileti sayısını döndürür

imap_num_recent

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_num_recent — Posta kutusuna en son gelen ileti sayısını döndürür

Açıklama

imap_num_recent(IMAP\Connection $imap): int

Posta kutusuna en son gelen ileti sayısını döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Son gelen ileti sayısını bir tamsayı olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_num_msg() - Posta kutusundaki ileti sayısını döndürür
  • imap_status() - Bir posta kutusunun durum bilgisini döndürür


Belirtilen posta kutusuna yeni bir IMAP akımı açar

  • « imap_num_recent
  • imap_ping »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen posta kutusuna yeni bir IMAP akımı açar

imap_open

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_open — Belirtilen posta kutusuna yeni bir IMAP akımı açar

Açıklama

imap_open(
string $pk,
string $kullanıcı,
string $parola,
int $bayraklar = NIL,
int $dnm_sayısı = 0,
array $seçenekler = []
): IMAP\Connection|false

Belirtilen posta kutusuna (pk) bir IMAP akımı açar.

Bu işlev POP3 ve NNTP sunucularına oturum açmak için de kullanılabilirse de bazı işlevler ve özellikler sadece IMAP sunucularında kullanılabilmektedir.

Bağımsız Değişkenler

pk

Bir posta kutusu ismi, bir sunucu ve sunucu üzerindeki bir posta kutusu yolundan oluşur. INBOX özel bir isim olup kullanıcıların kişisel posta kutularını betimler. Uluslararası karakterler içeren posta kutusu isimleri, ASCII bölgesinde basılabilir hale getirilmek üzere imap_utf7_encode() ile kodlanır.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Posta kutusu isminin sunucu parçası '{' ve '}' ayraçları arasına yazılmış sunucu adı veya IP adresine iki nokta imi ile eklemlenebilen isteğe bağlı bir port ve '/' ile eklemlenebilen yine isteğe bağlı bir protokol belirtiminden oluşur.

Tüm posta kutusu bağımsız değişkenlerinde sunucu parçasının belirtilmesi zorunludur.

Tüm isimler { ayracı ile başlar ve genelde şu sözdizimine sahiptir: "{" uzak_sistem_adı [":" port] [imler] "}" [pk_ismi]. Sözdizimini oluşturan parçaların açıklamaları:

  • uzak_sistem_adı - Genel Ağ alan adı veya sunucunun IP adresi.
  • port - İsteğe bağlı TCP port numarası; öntanımlı değeri hizmetin öntanımlı port numarasıdır.
  • imler - İsteğe bağlı imlerin açıklamaları için aşağıdaki tabloya bakınız.
  • pk_ismi - Uzak posta kutusu ismi; INBOX öntanımlı isimdir.

İsimler için seçimlik imler
İm | Açıklama
/service=hizmet | Posta kutusuna erişimi sağlayan hizmetin adı; "imap" öntanımlı değerdir.
/user=kullanıcı | Sunucuya oturum açmak için uzak kullanıcı ismi
/authuser=kullanıcı | Kimlik doğrulaması için kullanılacak kullanıcı ismi; belirtilirse parola olarak bu kullanıcının parolası kullanılır.
/anonymous | Bir anonim kullanıcı olarak erişim
/debug | Uygulamanın hata ayıklama günlüğündeki protokol uzaktan ölçümü kaydedilir.
/secure | Salt metin bir parola ağ üzerinden aktarılmaz.
/imap, /imap2, /imap2bis, /imap4, /imap4rev1 | /service=imap'a eşdeğerdir.
/pop3 | /service=pop3'e eşdeğerdir.
/nntp | /service=nntp'ye eşdeğerdir.
/norsh | Ön kimlik doğrulamalı IMAP oturumu oluşturmak için rsh veya ssh kullanılmaz
/ssl | Oturumu şifrelemek için use the SSL kullanılır.
/validate-cert | TLS/SSL sunucusundaki sertifikaları doğrular (bu öntanımlı davranıştır)
/novalidate-cert | TLS/SSL sunucusundaki sertifikalar doğrulanmaz; sunucu öz- imzalı sertifikalar kullanıyorsa gerekir.
/tls | Oturumu şifrelemek için start-TLS kullanımı zorlanır ve bunu desteklemeyen sunuculara bağlantı reddedilir.
/notls | Oturumu şifrelemek için sunucular desteklese bile start-TLS kullanılmaz.
/readonly | Salt-okunur posta kutusu açma isteği yapılır. (Sadece IMAP içindir. NNTP'de yoksayılır, SMTP ve POP3 ile kullanıldığında ise hata oluşur).

kullanıcı

Kullanıcı ismi.

Parola

kullanıcı ile ilişkili parola.

bayraklar

Aşağıdakilerden bir veya birkaçını içeren bir bit maskesidir:

  • OP_READONLY - Posta kutusu salt-okunu açılır.
  • OP_ANONYMOUS - Haberler (sadece NNTP) için .newsrc kullanılmaz ve güncellenmez.
  • OP_HALFOPEN - IMAP ve NNTP isimleri için bir posta kutusu değil bir bağlantı açar.
  • CL_EXPUNGE - Kapatmadan önce posta kutusu sessizce silinir (ayrıca bakınız: imap_delete() ve imap_expunge())
  • OP_DEBUG - Hata ayıklama protokolü pazarlığı yapılır.
  • OP_SHORTCACHE - Küçük (sadece elt) önbellekleme
  • OP_SILENT - Olaylar aktarılmaz (dahili kullanım)
  • OP_PROTOTYPE - Sürücü önörneği döner.
  • OP_SECURE - Güvenilir olmayan bağlantıyla kimlik doğrulaması yapılmaz.

dnm_sayısı

Azami bağlantı denemesi sayısı.

seçenekler

Bağlantı bağımsız değişkenleri. Aşağıdaki anahtarlar bunlardan biri veya bir kaçını atamakta kullanılabilir:

  • DISABLE_AUTHENTICATOR - Kimlik kanıtlama özelliklerini iptal eder.

Dönen Değerler

Hata durumunda false yoksa bir IMAP\Connection nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Artık IMAP\Connection nesnesi dönüyor; evvelce imap akımı özkaynağı dönerdi.

Örnekler

Örnek 1 - imap_open() işlevinin farklı kullanımları

<?php
// Yerel makinenin 143. portunda çalışan IMAP sunucusuna bağlan
$mbox = imap_open("{localhost:143}INBOX", "birey", "parola");

// Yerel makinenin 110. portunda çalışan POP3 sunucusuna bağlan
$mbox = imap_open ("{localhost:110/pop3}INBOX", "birey", "parola");

// Protokol belirtimi olarak /ssl kullanarak
// bir SSL IMAP veya POP3 sunucusuna bağlan
$mbox = imap_open ("{localhost:993/imap/ssl}INBOX", "birey", "parola");

// Protokol belirtimi olarak /ssl/novalidate-cert kullanarak öz-imzalı
// sertifika kullanan bir SSL IMAP veya POP3 sunucusuna bağlan
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}",
"birey", "parola");

// Yerel makinenin 119. portunda çalışan NNTP sunucusuna bağlan
$nntp = imap_open ("{localhost:119/nntp}comp.test", "", "");
// Bir uzak sunucuya bağlanmak için "localhost" yerine sunucunun adını
// veya IP adresini yazın.
?>

Örnek 2 - imap_open() örneği

<?php
$mbox = imap_open("{imap.example.org:143}", "birey", "parola");

echo "<h1>Posta kutuları</h1>\n";
$folders = imap_listmailbox($mbox, "{imap.example.org:143}", "*");

if ($folders == false) {
echo "İşlem başarısız oldu<br />\n";
} else {
foreach ($folders as $val) {
echo $val . "<br />\n";
}
}

echo "<h1>INBOX içindeki başlıklar</h1>\n";
$headers = imap_headers($mbox);

if ($headers == false) {
echo "İşlem başarısız oldu<br />\n";
} else {
foreach ($headers as $val) {
echo $val . "<br />\n";
}
}

imap_close($mbox);
?>

Ayrıca Bakınız

  • imap_close() - IMAP akımını kapatır


Belirtilen IMAP akımı hala etkin mi diye bakar

  • « imap_open
  • imap_qprint »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen IMAP akımı hala etkin mi diye bakar

imap_ping

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_ping — Belirtilen IMAP akımı hala etkin mi diye bakar

Açıklama

imap_ping(IMAP\Connection $imap): bool

imap_ping() işlevi hala etkin olup olmadığını anlamak için belirtilen akıma ping atar. Yeni postaların varlığını sınamak için kullanılabilir; özellikle belli bir süre etkinlik olmadığında bağlantıyı kapatan sunucularda belli aralıklarla yeni eposta gelip gelmediğine bakmak için iyi bir yöntemdir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

Dönen Değerler

Akım hala etkinse true, diğer tüm durumlarda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_ping() örneği

<?php

$imap = imap_open("{imap.example.org}", "mailadmin", "password");

// bir süre geçtikten sonra
if (!imap_ping($imap)) {
// yeniden bağlanmaya çalış
}

?>


Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür

  • « imap_ping
  • imap_rename »
  • PHP Manual
  • IMAP İşlevleri
  • Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür

imap_qprint

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_qprint — Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür

Açıklama

imap_qprint(string $dizge): string|false

Belirtilen 7 bitlik (quoted-printable kodlu) dizgenin kodlamasını » RFC2045, bölüm 6.7'ye uygun olarak 8 bite dönüştürür.

Bağımsız Değişkenler

dizge

7 bitlik (quoted-printable) dizge.

Dönen Değerler

8 bitlik dizge döner, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_8bit() - 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür


imap_renamemailbox işlevinin takma adıdır

  • « imap_qprint
  • imap_renamemailbox »
  • PHP Manual
  • IMAP İşlevleri
  • imap_renamemailbox işlevinin takma adıdır

imap_rename

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rename — imap_renamemailbox() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: imap_renamemailbox().


Posta kutusunun ismini değiştirir

  • « imap_rename
  • imap_reopen »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusunun ismini değiştirir

imap_renamemailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_renamemailbox — Posta kutusunun ismini değiştirir

Açıklama

imap_renamemailbox(IMAP\Connection $imap, string $eskisi, string $yenisi): bool

Posta kutusunun ismini değiştirir. Posta kutusu isimlerinin biçemi için imap_open() işlevine bakın.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

eskisi

Eski posta kutusu ismi.

yenisi

Yeni posta kutusu ismi.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_createmailbox() - Yeni bir posta kutusu oluşturur
  • imap_deletemailbox() - Bir posta kutusunu siler


IMAP akımını yeni posta kutusunda yeniden açar

  • « imap_renamemailbox
  • imap_rfc822_parse_adrlist »
  • PHP Manual
  • IMAP İşlevleri
  • IMAP akımını yeni posta kutusunda yeniden açar

imap_reopen

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_reopen — IMAP akımını yeni posta kutusunda yeniden açar

Açıklama

imap_reopen(
IMAP\Connection $imap,
string $pk,
int $seçenekler = 0,
int $dnm_sayısı = 0
): bool

Bir IMAP veya NNTP sunucu üzerinde belirtilen posta kutusu için (pk) belirtilen akımı yeniden açar.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

pk

Posta kutusu adı; ayrıntılar için imap_open()işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

seçenekler

Aşağıdakilerden gerekenleri içeren bir bit maskesi olarak belirtilir:

  • OP_READONLY - Posta kutusunu salt-okunur açar
  • OP_ANONYMOUS - Haberler (sadece NNTP) için .newsrc kullanılmaz ve güncellenmez.
  • OP_HALFOPEN - IMAP ve NNTP isimleri için bir posta kutusu değil bir bağlantı açar.
  • OP_EXPUNGE - Akım yeniden başlatılacağı zaman eskisi sessizce silinir.
  • CL_EXPUNGE - Kapatmadan önce posta kutusu sessizce silinir (ayrıca bakınız: imap_delete() ve imap_expunge())

dnm_sayısı

Azama bağlantı denemesi sayısı.

Dönen Değerler

Akım yeniden açılabilirse true yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_reopen() örneği

<?php
$mbox = imap_open("{imap.example.org:143}INBOX", "username", "password")
or die(implode(", ", imap_errors()));
// ...
imap_reopen($mbox, "{imap.example.org:143}INBOX.Sent")
or die(implode(", ", imap_errors()));
// ..
?>


Bir adres dizgesini çözümler

  • « imap_reopen
  • imap_rfc822_parse_headers »
  • PHP Manual
  • IMAP İşlevleri
  • Bir adres dizgesini çözümler

imap_rfc822_parse_adrlist

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_parse_adrlist — Bir adres dizgesini çözümler

Açıklama

imap_rfc822_parse_adrlist(string $adres, string $konak_adı): array

Belirtilen adresleri içeren dizgeyi » RFC 2822'de tanımlandığı gibi çözümler.

Bağımsız Değişkenler

adres

Eposta adreslerini içeren bir dizge.

konak_adı

Öntanımlı konak adı.

Dönen Değerler

Bir nesne dizisi döner. Nesnelerin özellikleri şunlardır:

  • mailbox - Posta kutusu ismi (kullanıcı adı)
  • host - Alan adı
  • personal - Kullanıcının adı ve soyadı.
  • adl - @ alan adres yolu

Örnekler

Örnek 1 - imap_rfc822_parse_adrlist() örneği

<?php

$address_string = "Joe Doe <doe@example.com>, postmaster@example.com, root";
$address_array = imap_rfc822_parse_adrlist($address_string, "example.com");
if (!is_array($address_array) || count($address_array) < 1) {
die("Bir şeyler yanlış\n");
}

foreach ($address_array as $id => $val) {
echo "# $id\n";
echo " Posta kutusu: " . $val->mailbox . "\n";
echo " Alan adı: " . $val->host . "\n";
echo " Adı ve soyadı: " . $val->personal . "\n";
echo " adl: " . $val->adl . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

# 0
  Posta kutusu:  doe
  Alan adı:      example.com
  Adı ve soyadı: Joe Doe
  adl:
# 1
  Posta kutusu:  postmaster
  Alan adı:      example.com
  Adı ve soyadı:
  adl:
# 2
  Posta kutusu:  root
  Alan adı:      example.com
  Adı ve soyadı:
  adl:

Ayrıca Bakınız

  • imap_rfc822_parse_headers() - Bir dizgedeki eposta başlıklarını çözümler


Bir dizgedeki eposta başlıklarını çözümler

  • « imap_rfc822_parse_adrlist
  • imap_rfc822_write_address »
  • PHP Manual
  • IMAP İşlevleri
  • Bir dizgedeki eposta başlıklarını çözümler

imap_rfc822_parse_headers

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_parse_headers — Bir dizgedeki eposta başlıklarını çözümler

Açıklama

imap_rfc822_parse_headers(string $başlıklar, string $konakadı = "UNKNOWN"): stdClass

imap_header() işlevindeki gibi çeşitli başlık elemanlarından oluşan bir nesne döner.

Bağımsız Değişkenler

başlıklar

Çözümlenecek başlık verisi.

konakadı

Öntanımlı konak adı.

Dönen Değerler

imap_header() işlevindeki gibi bir nesne döndürür, farklı olarak IMAP sunucusundan gelen diğer özellikler ve imler hariç tutulur.

Ayrıca Bakınız

  • imap_rfc822_parse_adrlist() - Bir adres dizgesini çözümler


Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür

  • « imap_rfc822_parse_headers
  • imap_savebody »
  • PHP Manual
  • IMAP İşlevleri
  • Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür

imap_rfc822_write_address

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_rfc822_write_address — Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür

Açıklama

imap_rfc822_write_address(string $posta_kutusu, string $alan_adı, string $adı_soyadı): string|false

Belirtilen verilerle » RFC 2822'de tanımlandığı gibi düzgün olarak biçemlenmiş bir eposta adresi döndürür.

Bağımsız Değişkenler

posta_kutusu

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

alan_adı

Eposta adresinin alan adı parçası.

adı_soyadı

Eposta adresi sahibinin adı ve soyadı.

Dönen Değerler

» RFC 2822'de tanımlandığı gibi düzgün olarak biçemlenmiş bir eposta adresi döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - imap_rfc822_write_address() örneği

<?php
echo imap_rfc822_write_address("hartmut", "example.com", "Hartmut Holzgraefe");
?>

Yukarıdaki örneğin çıktısı:

Hartmut Holzgraefe <hartmut@example.com>


Belirtilen iletinin gövdesini bir dosyaya kaydeder

  • « imap_rfc822_write_address
  • imap_scan »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen iletinin gövdesini bir dosyaya kaydeder

imap_savebody

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

imap_savebody — Belirtilen iletinin gövdesini bir dosyaya kaydeder

Açıklama

imap_savebody(
IMAP\Connection $imap,
resource|string|int $dosya,
int $ileti_num,
string $parçanum = "",
int $seçenekler = 0
): bool

Belirtilen ileti gövdesinin belirtilen parçasını bir dosyaya kaydeder.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

dosya

Bir dizge olarak ileti parçasının kaydedileceği dosyanın yolu veya fopen() tarafından döndürülmüş geçerli bir dosya tanıtıcısı.

ileti_num

İleti numarası.

parçanum

Parça numarası. IMAP4 belirtimine uygun olarak bir gövde parça listesi içindeki indisleri nokta ile ayrılmış tamsayılar biçeminde içeren bir dizge.

seçenekler

Şunlardan gerekenleri içeren bir bit maskesidir:

  • FT_UID - ileti_num bir eşsiz kimliktir.
  • FT_PEEK - \Seen imi tanımlıysa bir daha tanımlanmaz.
  • FT_INTERNAL - CRLF ile meşrulaştırılmamış olarak dizgeyi dahili biçemde döndürür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_fetchbody() - Belirtilen iletinin belli bir gövde bölümünü döndürür


imap_listscan işlevinin takma adıdır

  • « imap_savebody
  • imap_scanmailbox »
  • PHP Manual
  • IMAP İşlevleri
  • imap_listscan işlevinin takma adıdır

imap_scan

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_scan — imap_listscan() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: imap_listscan().


imap_listscan işlevinin takma adıdır

  • « imap_scan
  • imap_search »
  • PHP Manual
  • IMAP İşlevleri
  • imap_listscan işlevinin takma adıdır

imap_scanmailbox

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_scanmailbox — imap_listscan() işlevinin takma adıdır

Açıklama

Bu işlev, imap_listscan() işlevinin takma adıdır.


Belirtilen kurala uyan iletileri bir dizi içinde döndürür

  • « imap_scanmailbox
  • imap_set_quota »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen kurala uyan iletileri bir dizi içinde döndürür

imap_search

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_search — Belirtilen kurala uyan iletileri bir dizi içinde döndürür

Açıklama

imap_search(
IMAP\Connection $imap,
string $kural,
int $seçenekler = SE_FREE,
string $karküm = ""
): array|false

Belirtilen IMAP akımı üzerinde açılmış posta kutusunda bir arama gerçekleştirir.

Örneğin, "annem" tarafından gönderilen yanıtlanmamış tüm iletileri döndürmek için şu kural kullanılır: "UNANSWERED FROM annem". Arama işlemi harf büyüklüğüne duyarsızdır. UW c-client kaynak kodundan okunan kural listesi eksik veya yanlış olabilir (ayrıca bakınız: » RFC1176, "tag SEARCH search_criteria" bölümü).

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

kural

Boşluk ayraçlı bir dizge olup aşağıdaki anahtar sözcüklere izin verilir. Çok sözcüklü bağımsız değişkenlerin çift tırnak içine alınması gerekir (örnek: FROM "joey smith").

  • ALL - Kuralın kalanı ile eşleşen tüm iletiler döndürülür.
  • ANSWERED - \\ANSWERED (yanıtlandı) imli iletiler döndürülür.
  • BCC "dizge" - Bcc: başlığında "dizge" bulunan iletiler döndürülür
  • BEFORE "tarih" - Date: başlığındaki "tarih" tarihinden önceki iletiler döndürülür.
  • BODY "dizge" - İleti gövdesindeki "dizge" ile eşleşen iletiler döndürülür
  • CC "dizge" - Cc: başlığında "dizge" bulunan iletiler döndürülür.
  • DELETED - silinen iletiler döndürülür.
  • FLAGGED - \\FLAGGED imli (bazan Önemli ve Acil diye de nitelenir) iletiler döndürülür.
  • FROM "dizge" - From: başlığında "dizge" bulunan iletiler döndürülür.
  • KEYWORD "dizge" - Bir anahtar sözcük olarak "ileti" içeren iletiler döndürülür.
  • NEW - Yeni iletiler döndürülür.
  • OLD - Eski iletiler döndürülür.
  • ON "tarih" - Date: başlığında "tarih" bulunan iletiler döndürülür.
  • RECENT - \\RECENT (en yeni) imli iletiler döndürülür.
  • SEEN - \\SEEN (okundu) imli iletiler döndürülür.
  • SINCE "tarih" - Date: başlığında "tarih" tarihinden sonraki tarihli iletiler döndürülür.
  • SUBJECT "dizge" - Subject: başlığında "dizge" bulunan iletiler döndürülür.
  • TEXT "dizge" - "dizge" metniyle eşleşen iletiler döndürülür.
  • TO "dizge" - To: başlığında "dizge" bulunan iletiler döndürülür.
  • UNANSWERED - Yanıtlanmamış iletiler döndürülür.
  • UNDELETED - Silinmiş iletiler döndürülür.
  • UNFLAGGED - İmlenmemiş iletiler döndürülür.
  • UNKEYWORD "dizge" - "dizge" anahtar sözcüğünü içermeyen iletiler döndürülür.
  • UNSEEN - Henüz okunmamış iletiler döndürülür.

seçenekler

Tek geçerli değer, iletilerin dizi içinde ileti numaralarıyla değil eşsiz kimlikleriyle dönmesini sağlayan SE_UID sabitidir.

karküm

Dizge aramasında kullanılacak MIME karakter kümesi.

Dönen Değerler

İleti numaralarını veya eşsiz kimlikleri içeren bir dizi döner.

kural ile belirtilen arama kuralı anlaşılamazsa veya kurala uyan hiçbir ileti yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_search() örneği

<?php
$imap = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY);

$some = imap_search($imap, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID);
$msgnos = imap_search($imap, 'ALL');
$uids = imap_search($imap, 'ALL', SE_UID);

print_r($some);
print_r($msgnos);
print_r($uids);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 4
    [1] => 6
    [2] => 11
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
    [5] => 6
)
Array
(
    [0] => 1
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 11
    [5] => 12
)

Ayrıca Bakınız

  • imap_listscan() - Belirtilen metin ile eşleşen posta kutularını listeler


Belirtilen posta kutusu için bir kota tanımlar

  • « imap_search
  • imap_setacl »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen posta kutusu için bir kota tanımlar

imap_set_quota

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

imap_set_quota — Belirtilen posta kutusu için bir kota tanımlar

Açıklama

imap_set_quota(IMAP\Connection $imap, string $posta_kutusu, int $kota_sınırı): bool

Belirtilen posta kutusu için bir kota üst sınırı tanımlar.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

posta_kutusu

Kotası tanımlanacak posta kutusu. IMAP standardına uygun olarak kullanıcı.isim biçeminde belirtilmelidir.

kota_sınırı

posta_kutusu'nun azami boyu (KB olarak)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_set_quota() örneği

<?php
$mbox = imap_open("{imap.example.org:143}", "mailadmin", "password");

if (!imap_set_quota($mbox, "user.kalowsky", 3000)) {
echo "Kota ayarlanırken bir sorun çıktı\n";
return;
}

imap_close($mbox);
?>

Notlar

Bu işlev şimdilik sadece c-client2000 ve üstü kütüphane sürümlerini kullananlar tarafından kullanılabilmektedir.

Belirtilen imap_akımı posta yöneticisi tarafından açılmış olmalıdır, yoksa işlev başarısız olur.

Ayrıca Bakınız

  • imap_open() - Belirtilen posta kutusuna yeni bir IMAP akımı açar
  • imap_get_quota() - Belirtilen kullanıcının kota ayarlarını döndürür


Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar

  • « imap_set_quota
  • imap_setflag_full »
  • PHP Manual
  • IMAP İşlevleri
  • Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar

imap_setacl

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_setacl — Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar

Açıklama

imap_setacl(
IMAP\Connection $imap,
string $posta_kutusu,
string $kullanıcı,
string $izinler
): bool

Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

posta_kutusu

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

kullanıcı

Erişim izinleri değiştirilecek kullanıcı.

izinler

Kullanıcıya verilecek izinler. Boş bir dizge atanması geçerli izinleri siler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Notlar

Bu işlev sadece c-client2000 ve üstü kütüphane sürümlerini kullanan kullanıcılar için kullanılabilir.

Ayrıca Bakınız

  • imap_getacl() - Belirtilen posta kutusunun erişim izinlerini döndürür


İletileri imler

  • « imap_setacl
  • imap_sort »
  • PHP Manual
  • IMAP İşlevleri
  • İletileri imler

imap_setflag_full

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_setflag_full — İletileri imler

Açıklama

imap_setflag_full(
IMAP\Connection $imap,
string $aralık,
string $im,
int $seçenekler = 0
): bool

Belirtilen aralık içindeki iletilerin imlerine belirtilen im imini ekler.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

aralık

İleti numaraları aralığı. İmlenecek iletileri X,Y biçeminde sıralayabilir veya X:Y biçeminde bir aralık olarak belirtebilirsiniz.

im

» RFC 2060 tarafından tanımlanmış şu imler belirtilebilir: \Seen (okundu), \Answered (yanıtlandı), \Flagged (imlendi), \Deleted (silindi) ve \Draft (taslak).

seçenekler

Şu seçeneklerden sadece birini içerebilir:

  • ST_UID - aralık bağımsız değişkeni sıra numaraları yerine eşsiz kimlikleri içerir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_setflag_full() örneği

<?php
$pk = imap_open("{imap.example.org:143}", "birey", "parola")
or die("bağlanılamadı: " . imap_last_error());

$durum = imap_setflag_full($pk, "2,5", "\\Seen \\Flagged");

echo gettype($durum) . "\n";
echo $durum . "\n";

imap_close($pk);
?>

Ayrıca Bakınız

  • imap_clearflag_full() - İletilerdeki imleri temizler


İletileri sıralar ve döndürür

  • « imap_setflag_full
  • imap_status »
  • PHP Manual
  • IMAP İşlevleri
  • İletileri sıralar ve döndürür

imap_sort

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_sort — İletileri sıralar ve döndürür

Açıklama

imap_sort(
IMAP\Connection $imap,
int $kural,
bool $tersine,
int $seçenekler = 0,
?string $arama_kuralı = null,
?string $karküm = null
): array|false

Belirtilen bağımsız değişkenlere göre iletileri sıralar ve döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

kural

Şunlardan sadece biri belirtilebilir:

  • SORTDATE - İleti tarihi
  • SORTARRIVAL - Geliş tarihi
  • SORTFROM -İlk Kimden adresindeki posta kutusu
  • SORTSUBJECT - İleti konusu
  • SORTTO - İlk Kime adresindeki posta kutusu
  • SORTCC - İlk Karbon Kopya adresindeki posta kutusu
  • SORTSIZE - Sekizlik olarak ileti uzunluğu

tersine

1 atanırsa sıralama ters yönde yapılır.

seçenekler

Aşağıda, lazım olanlardan oluşan bir bit maskesi olarak belirtilir:

  • SE_UID - Sıra numarası yerine eşsiz kimlikler döner.
  • SE_NOPREFETCH - Arama yapılacak iletiler önce alınmaz.

arama_kuralı

IMAP2 biçemi arama kuralı dizgesi. Ayrıntılar için bkz: imap_search()

karküm

Dizgeleri sıralamakta kullanılacak MIME karakter kümesi.

Dönen Değerler

Belirtilen bağımsız değişkenlere göre sıralanmış olarak bir ileti dizisi döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.
8.0.0 | tersine artık int değil bool türünde.
8.0.0 | arama_kuralı ve karküm artık null olabiliyor.


Bir posta kutusunun durum bilgisini döndürür

  • « imap_sort
  • imap_subscribe »
  • PHP Manual
  • IMAP İşlevleri
  • Bir posta kutusunun durum bilgisini döndürür

imap_status

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_status — Bir posta kutusunun durum bilgisini döndürür

Açıklama

imap_status(IMAP\Connection $imap, string $posta_kutusu, int $seçenekler): stdClass|false

Belirtilen posta_kutusu hakkında durum bilgisi döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

posta_kutusu

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

seçenekler

Geçerli seçenekler:

  • SA_MESSAGES - Posta kutusundaki ileti sayısını $durum->messages yapar.
  • SA_RECENT - Posta kutusundaki son iletinin numarasını $durum->recent yapar.
  • SA_UNSEEN - Posta kutusundaki okunmamış (yeni) ileti sayısını $durum->unseen yapar.
  • SA_UIDNEXT - Posta kutusunda kullanılacak sonraki eşsiz kimliği $durum->uidnext yapar.
  • SA_UIDVALIDITY - Posta kutusundaki eşsiz kimlikler geçersiz olduğunda değişen bir sabitin değerini $durum->uidvalidity yapar.
  • SA_ALL - Yukarıdakilerin hepsini tanımlar.

Dönen Değerler

Durum bilgisini içeren bir nesne döndürür, başarısızlık durumunda false döner. Nesne şu özelliklere sahiptir: messages, recent, unseen, uidnext ve uidvalidity.

Ayrıca, seçenekler bağımsız değişkenine yukarıdaki sabitleri içeren bir bit maskesi atanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_status() örneği

<?php
$pk = imap_open("{imap.example.com}", "birey", "parola", OP_HALFOPEN)
or die("bağlanılamadı: " . imap_last_error());

$durum = imap_status($pk, "{imap.example.org}INBOX", SA_ALL);
if ($durum) {
echo "İleti sayısı: " . $durum->messages . "<br />\n";
echo "Yeni gelenler: " . $durum->recent . "<br />\n";
echo "Okunmamışlar: " . $durum->unseen . "<br />\n";
echo "Sonraki eşsiz kimlik:" . $durum->uidnext . "<br />\n";
echo "kimli geçerli mi?: " . $durum->uidvalidity . "<br />\n";
} else {
echo "imap_status başarısız oldu: " . imap_last_error() . "\n";
}

imap_close($pk);
?>


Bir posta kutusuna üyeliği başlatır

  • « imap_status
  • imap_thread »
  • PHP Manual
  • IMAP İşlevleri
  • Bir posta kutusuna üyeliği başlatır

imap_subscribe

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_subscribe — Bir posta kutusuna üyeliği başlatır

Açıklama

imap_subscribe(IMAP\Connection $imap, string $posta_kutusu): bool

Belirtilen posta kutusuna yeni bir üyelik başlatır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

posta_kutusu

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_unsubscribe() - Bir posta kutusundan üyeliği sonlandırır


Bir iletinin konu ağacını döndürür

  • « imap_subscribe
  • imap_timeout »
  • PHP Manual
  • IMAP İşlevleri
  • Bir iletinin konu ağacını döndürür

imap_thread

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

imap_thread — Bir iletinin konu ağacını döndürür

Açıklama

imap_thread(IMAP\Connection $imap, int $seçenekler = SE_FREE): array|false

Bir iletinin konu ağacını döndürür.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

seçenekler

Dönen Değerler

Bir iletinin konu ağacını REFERENCES alanına göre içeren bir ilişkisel dizi döner. İşlem sırasında bir hata oluşmuşsa false döner.

Posta kutusundaki her ileti sonuç dizisinde üç girdi ile temsil edilir:

  • $thread["XX.num"] - geçerli ileti numarası

  • $thread["XX.next"] - sonraki

  • $thread["XX.branch"] - dal

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Örnekler

Örnek 1 - imap_thread() örneği

<?php

// Bir haber grubundaki bir tartışmayı HTML olarak çıktılayalım

$nntp = imap_open('{news.example.com:119/nntp}some.newsgroup', '', '');
$threads = imap_thread($nntp);

foreach ($threads as $key => $val) {
$tree = explode('.', $key);
if ($tree[1] == 'num') {
$header = imap_headerinfo($nntp, $val);
echo "<ul>\n\t<li>" . $header->fromaddress . "\n";
} elseif ($tree[1] == 'branch') {
echo "\t</li>\n</ul>\n";
}
}

imap_close($nntp);

?>


IMAP zaman aşımını tanımlar veya döndürür

  • « imap_thread
  • imap_uid »
  • PHP Manual
  • IMAP İşlevleri
  • IMAP zaman aşımını tanımlar veya döndürür

imap_timeout

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

imap_timeout — IMAP zaman aşımını tanımlar veya döndürür

Açıklama

imap_timeout(int $türü, int $süre = -1): int|bool

IMAP zaman aşımını tanımlar veya döndürür.

Bağımsız Değişkenler

türü

Şunlardan biridir: IMAP_OPENTIMEOUT, IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, IMAP_CLOSETIMEOUT.

süre

Saniye cinsinden zaman aşımı süresi.

Dönen Değerler

süre bağımsız değişkeni belirtilmişse true başarısızlık durumunda ise false döner.

süre belirtilmemişse veya -1 ise türü ile belirtilen türdeki geçerli zaman aşımı süresini bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - imap_timeout() örneği

<?php

echo "Okuma zaman aşımı: " . imap_timeout(IMAP_READTIMEOUT) . "\n";

?>


Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür

  • « imap_timeout
  • imap_undelete »
  • PHP Manual
  • IMAP İşlevleri
  • Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür

imap_uid

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_uid — Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür

Açıklama

imap_uid(IMAP\Connection $imap, int $ileti_num): int|false

Numarası belirtilen iletiyle ilgili eşsiz kimliğini döndürür. Adından anlaşılacağı gibi eşsiz kimlik eşsiz bir betimleyici olup posta kutusundaki her değişiklikte ileti numarası değişse bile o değişmez.

Bu işlev, imap_msgno() işlevinin tersidir.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

İleti numarası.

Dönen Değerler

Belirtilen iletinin eşsiz kimliği döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Notlar

Bilginize:

Bu işlev POP3 posta kutularında kullanılamaz.

Ayrıca Bakınız

  • imap_msgno() - Belirtilen eşsiz kimlik için ileti numarasını döndürür


Silindi diye imlenmiş bir iletinin imini kaldırır

  • « imap_uid
  • imap_unsubscribe »
  • PHP Manual
  • IMAP İşlevleri
  • Silindi diye imlenmiş bir iletinin imini kaldırır

imap_undelete

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_undelete — Silindi diye imlenmiş bir iletinin imini kaldırır

Açıklama

imap_undelete(IMAP\Connection $imap, string $ileti_num, int $seçenekler = 0): bool

Belirtilen iletiden imap_delete() veya imap_mail_move() işleviyle konmuş silme imini kaldırır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

ileti_num

IMAP4 tarzı aralık dizgesi biçeminde bir veya daha fazla ileti içeren bir dizge ("n", "n:m" veya bunların virgüllerle ayrılmış birleşimleri).

seçenekler

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_delete() - Belirtilen iletiyi silindi olarak imler
  • imap_mail_move() - Belirtilen iletiyi bir posta kutusuna taşır


Bir posta kutusundan üyeliği sonlandırır

  • « imap_undelete
  • imap_utf7_decode »
  • PHP Manual
  • IMAP İşlevleri
  • Bir posta kutusundan üyeliği sonlandırır

imap_unsubscribe

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_unsubscribe — Bir posta kutusundan üyeliği sonlandırır

Açıklama

imap_unsubscribe(IMAP\Connection $imap, string $posta_kutusu): bool

Belirtilen posta_kutusu ile üyeliği sonlandırır.

Bağımsız Değişkenler

imap

IMAP\Connection nesnesi.

posta_kutusu

Posta kutusu ismi; daha fazla bilgi için imap_open() işlevine bakınız.

Uyarı

imap.enable_insecure_rsh iptal edilmedikçe bu bağımsız değişkene güvenilir olmayan verinin aktarılması güvenli değildir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | imap bağımsız değişkeni artık IMAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir imap değeri kabul ederdi.

Ayrıca Bakınız

  • imap_subscribe() - Bir posta kutusuna üyeliği başlatır


Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür

  • « imap_unsubscribe
  • imap_utf7_encode »
  • PHP Manual
  • IMAP İşlevleri
  • Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür

imap_utf7_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf7_decode — Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür

Açıklama

imap_utf7_decode(string $metin): string|false

Takviyeli UTF-7 ile kodlanmış metin dizgesinin karakter kodlamasını ISO-8859-1'e dönüştürür.

Basılabilir ASCII karakter aralığı dışında kalan karakterler içeren posta kutusu isimlerini kodlamak için gerekir.

Bağımsız Değişkenler

metin

» RFC 2060, 5.1.3. bölümünde tanımlanan takviyeli UTF-7 ile kodlanmış bir dizge.

Dönen Değerler

metin, geçersiz takviyeli UTF-7 kodları veya ISO-8859-1'de bulunmayan karakterler içeriyorsa false, yoksa dönüştürülmüş dizge döner.

Ayrıca Bakınız

  • imap_utf7_encode() - ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür


ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür

  • « imap_utf7_decode
  • imap_utf8_to_mutf7 »
  • PHP Manual
  • IMAP İşlevleri
  • ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür

imap_utf7_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf7_encode — ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür

Açıklama

imap_utf7_encode(string $veri): string

Belirtilen veri dizgesinin karakter kodlamasını takviyeli UTF-7'ye dönüştürür.

Basılabilir ASCII karakter aralığı dışında kalan karakterler içeren posta kutusu isimlerini kodlamak için gerekir.

Bağımsız Değişkenler

veri

ISO-8859-1 kodlu bir dizge.

Dönen Değerler

veri dizgesinin » RFC 2060'ın 5.1.3. bölümünde tanımlanan takviyeli UTF-7 ile kodlanmış halini döndürür.

Ayrıca Bakınız

  • imap_utf7_decode() - Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür


UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar

  • « imap_utf7_encode
  • imap_utf8 »
  • PHP Manual
  • IMAP İşlevleri
  • UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar

imap_utf8_to_mutf7

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

imap_utf8_to_mutf7 — UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar

Açıklama

imap_utf8_to_mutf7(string $dizge): string|false

UTF-8 dizgesini (RFC 2060, 5.1.3 bölümünde belirtildiği gibi) değiştirilmiş UTF-7 olarak kodlar.

Bilginize:

Bu işlev yalnızca, utf8_to_mutf7() işlevini libcclient dışa aktarıyorsa kullanılabilir.

Bağımsız Değişkenler

dizge

UTF-8 kodlu dizge.

Dönen Değerler

Değiştirilmiş UTF-7 kodlu dizge ile döner, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • imap_mutf7_to_utf8() - Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar


MIME kodlu metni UTF-8'e dönüştürür

  • « imap_utf8_to_mutf7
  • IMAP\Connection »
  • PHP Manual
  • IMAP İşlevleri
  • MIME kodlu metni UTF-8'e dönüştürür

imap_utf8

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_utf8 — MIME kodlu metni UTF-8'e dönüştürür

Açıklama

imap_utf8(string $mimeli_metin): string

Belirtilen MIME kodlu mimeli_metin dizgesinin karakter kodlamasını, karakter kümesi libc_istemci tarafından biliniyorsa UTF-8'e dönüştürür, aksi takdirde belirtilen metnin kodlaması çözümlenir ama UTF-8'e dönüştürülmez.

Bağımsız Değişkenler

mimeli_metin

MIME kodlu dizge. MIME kodlama yöntemi » RFC2047'de, UTF-8 belirtimi ise » RFC2044'te açıklanmıştır.

Dönen Değerler

Kodu çözülmüş ve mümkünse UTF-8'e dönüştürülmüş dizge.

Örnekler

Örnek 1 - imap_utf8() örneği

<?php
echo imap_utf8("Johannes =?ISO-8859-1?Q?Schl=FCter?=");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Johannes Schlu¨ter

Ayrıca Bakınız

  • imap_mime_header_decode() - MIME başlık elemanlarının kodlamasını açar


IMAP\Connection sınıfı

(PHP 8 >= 8.1.0)

Giriş

PHP 8.1.0 ve sonrasında imap özkaynağının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class IMAP\Connection {
}


Eposta

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Eposta İşlevleri
    • ezmlm_hash — EZMLM için gereken ileti özetini hesaplar
    • mail — Eposta gönderir


  • « Mail
  • Yapılandırma/Kurulum »
  • PHP Manual
  • Mail
  • Giriş

Giriş

mail() işlevi eposta göndermeyi mümkün kılar.


Gereksinimler

Eposta işlevlerinin kullanılabilmesi için PHP'nin derlenmesi sırasında sendmail çalıştırılabilirine erişebilmesi gerekir. Eğer qmail, postfix gibi başka bir eposta gönderme programı kullanıyorsanız PHP'nin, bunların sendmail sarmalayıcılarını kullandığından emin olmalısınız. PHP, sendmail dosyasını önce PATH ortam değişkenindeki yollarda arar. Bulamazsa şu yolları arar: /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. sendmail dosyasının PATH ortam değişkenindeki yollardan birinde bulunmasını sağlarsanız iyi olur. Ayrıca, PHP'yi derleyen kullanıcının da sendmail çalıştırılabilirine erişimi olması gerekir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Eposta eklentisi yapılandırma yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mail.add_x_header | "0" | PHP_INI_PERDIR |
mail.log | null | PHP_INI_PERDIR | PHP_INI_SYSTEM|PHP_INI_PERDIR
mail.force_extra_parameters | NULL | PHP_INI_PERDIR | PHP_INI_SYSTEM|PHP_INI_PERDIR
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mail.add_x_header bool

Betiğin kullanıcı kimliğini ve dosya adını değer olarak alan X-PHP-Originating-Script başlığını ekler.

mail.log string

Tüm mail() çağrılarının günlükleneceği dosyanın tam yolu. Günlük girdileri betiğin tam yolu, satır numarası, To adresi ve başlıkları içerir.

mail.force_extra_parameters string

Belirtilen bağımsız değişkenlerin sendmail çalıştırılabilirine ek bağımsız değişkenler olarak aktarılmasını sağlar. Bu bağımsız değişkenler daima mail() işlevinin beşinci bağımsız değişkeninin değerinin yerine kullanılır.

SMTP string

Sadece Windows altında kullanılır: PHP'nin mail() işleviyle eposta göndermek için kullanacağı SMTP sunucusunun konak ismi veya IP adresi.

smtp_port int

Sadece Windows altında kullanılır: mail() işlevi ile eposta gönderirken SMTP yönergesinde belirtilen sunucuya bağlantı için kullanılacak port numarası; 25 öntanımlıdır.

sendmail_from string

Windows altında SMTP ile eposta gönderirken kullanılan gönderici ("From:") eposta adresi. Bu adres ayrıca "Return-Path:" başlığının değeri olarak da kullanılır.

sendmail_path string

sendmail programının bulunduğu yer; normalde /usr/sbin/sendmail veya /usr/lib/sendmail'dir. configure bu yeri sizin için bulup, bu yeri yönergenin öntanımlı değeri haline getirir; eğer bu işlem başarısız olursa, programın yerini siz de belirtebilirsiniz.

sendmail kullanılmayan sistemlerde bu yönergeye aynı amaçla kullanılan programın yerini yazmalısınız. Örneğin, » Qmail kullananlar /var/qmail/bin/sendmail veya /var/qmail/bin/qmail-inject gibi bir atama yapabilirler.

qmail-inject epostayı gönderirken herhangi bir seçenek belirtmeyi gerektirmez.

Bu yönerge Windows altında da çalışır. Belirtildiği takdirde, smtp, smtp_port ve sendmail_from yönergeleri yok sayılır ve bu yönergede belirtilen komut çalıştırılır.


  • « Özkaynak Türleri
  • Eposta İşlevleri »
  • PHP Manual
  • Mail
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Eposta İşlevleri

İçindekiler

  • ezmlm_hash — EZMLM için gereken ileti özetini hesaplar
  • mail — Eposta gönderir


EZMLM için gereken ileti özetini hesaplar

  • « Eposta İşlevleri
  • mail »
  • PHP Manual
  • Eposta İşlevleri
  • EZMLM için gereken ileti özetini hesaplar

ezmlm_hash

(PHP 4 >= 4.0.2, PHP 5, PHP 7)

ezmlm_hash — EZMLM için gereken ileti özetini hesaplar

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

ezmlm_hash(string $adres): int

ezmlm_hash() işlevi EZMLM eposta listelerini bir MySQL veritabanınıda tutarken gereken ileti özetini hesaplar.

Bağımsız Değişkenler

adres

Özeti hesaplanacak eposta adresi.

Dönen Değerler

adres ile belirtilen eposta adresinin özetini bir dizge olarak döndürür.

Örnekler

Örnek 1 - Adres özetinin hesaplanıp bir kullanıcının üye yapılması

<?php

$adres = "joecool@example.com";
$özet = ezmlm_hash($adres);
$sorgu = sprintf("INSERT INTO sample VALUES (%s, '%s')", $özet, $adres);
$db->query($sorgu); // PHPLIB db arayüzü kullanılarak

?>


Eposta gönderir

  • « ezmlm_hash
  • Mailparse »
  • PHP Manual
  • Eposta İşlevleri
  • Eposta gönderir

mail

(PHP 4, PHP 5, PHP 7, PHP 8)

mail — Eposta gönderir

Açıklama

mail(
string $kime,
string $konu,
string $ileti,
array|string $ek_başlıklar = [],
string $ek_bağımsız değişkenler = ""
): bool

Sends an email.

Bağımsız Değişkenler

kime

Epostanın alıcısı veya alıcıları.

Bu dizgenin biçemi » RFC 2822'ye uygun olmalıdır. Bazı örnekler:

  • user@example.com
  • user@example.com, anotheruser@example.com
  • User <user@example.com>
  • User <user@example.com>, Another User <anotheruser@example.com>

konu

Epostanın konusu.

Dikkat

Konu » RFC 2047'nin koşullarını yerine getirmelidir.

ileti

Gönderilecek ileti.

Her satır bir CRLF (\r\n) karakteri ile bitmeli ve 70 karakterden uzun olmamalıdır.

Dikkat

(Sadece Windows'ta) PHP, bir SMTP sunucu ile doğrudan konuşacaksa, bir satırın başında noktaya rastlanırsa bu nokta silinir. Bu hoşunuza gitmiyorsa bu noktaları çift nokta haline getirin.

<?php
$text = str_replace("\n.", "\n..", $text);
?>

ek_başlıklar (seçimlik)

Eposta başlığının sonuna yerleştirilecek string veya array türünde veri.

Bu genellikle ek başlıklar eklemek için kullanılır (From, Cc, Bcc gibi). Çok sayıda başlık eklenecekse bunlar birer CRLF (\r\n) ile birbirlerinden ayrılmalıdır. Bu başlığı oluşturmak için dış veriler kullanılıyorsa, istenmeyen başlıkların araya girmemesi için veriler elden geçirilip temizlenmelidir.

Bir dizi aktarılmışsa, anahtarları başlık isimleri, değerleri de ilgili başlık değerleri olmalıdır.

Bilginize:

Sırasıyla PHP 5.4.42 ve 5.5.27 öncesinde, ek_başlıklar eposta başlığı enjeksiyon korumasına sahip değildi. Bu bakımdan, kullanıcılar belirtilen başlıkların güvenli olduğundan ve sadece başlıkları içerdiğinden emin olmalıdır. Örn, eposta gövdesi asla çok sayıda satırsonu konularak başlatılmamalıdır.

Bilginize:

Eposta gönderilirken bir From başlığı içermesi gerekir. Bu başlık, bu bağımsız değişken ile belirtilebileceği gibi öntanımlı gönderici adresini php.ini dosyasında da belirtmek mümkündür.

Bunu yapmazsanız şöyle bir hata alırsınız: Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing (Uyarı: mail(): php.ini dosyasında "sendmail_from" atanmamış veya özel "From:" başlığı eksik). From başlığı Windows altında doğrudan SMTP üzerinden gönderirken Return-Path başlığını da tanımlar.

Bilginize:

Eğer ileti alınmazsa satırsonlarını CRLF (\r\n) ile değil sadece LF (\n) ile sonlandırmayı deneyin. Bazı düşük kaliteli Unix eposta sunucuları (en bilineni » qmail) LF karakterlerini otomatik olarak CRLF karakterleri ile değiştirir (CRLF kullanıldıysa sonuç CRCRLF olur). Bu yöntem » RFC 2822'ye uygun olmadığından başka çare yoksa kullanılmalıdır.

ek_bağımsız değişkenler (seçimlik)

Eposta gönderirken kullanılan programa komut satırı seçenekleri aktarmak için kullanılır. Eposta gönderme programının adı sendmail_path yapılandırma yönergesinde belirtilir. Örneğin, sendmail kullanılıyorsa bu bağımsız değişkeni -f komut satırı seçeneği ile zarf gönderici adresini belirtmek için kullanabilirsiniz.

Bu bağımsız değişken komut çalıştırmayı engellemek için dahili olarak escapeshellcmd() işlevi tarafından öncelenir, fakat işlev ek bağımsız değişkenler eklemeye izin verir. Güvenlik nedeniyle, kabuk komutuna istenmeyen bağımsız değişkenler eklenmesinden kaçınmak için bu bağımsız değişkenin kullanıcı tarafından elden geçirilip temizlenmesi önerilir.

escapeshellcmd() işlevi otomatik uygulandığından, internet RFCleri tarafından eposta adreslerinde izin verilen bazı karakterler kullanılamaz. mail() böyle karakterlere izin veremez, bu bakımdan bu tür karakterlerin kullanılmasının gerekli olduğu programlarda alternatif e-posta gönderme yöntemleri (bir iskelet veya kitaplık kullanmak gibi) önerilir.

Zarf göndericisinin (-f) bu bağımsız değişken ile belirtildiği durumda, iletiye bir 'X-Warning' başlığının eklenmemesi için HTTP sunucusunu çalıştıran kullanıcının sendmail yapılandırma dosyasını güvenilir kullanıcı olarak kaydedilmesi gerekir. sendmail kullanıcıları için, bu dosyanın yeri: /etc/mail/trusted-users.

Dönen Değerler

Eposta sunucu tarafından başarıyla teslim alınmışsa true, aksi takdirde false döner.

Yalnız şuna dikkat edin: Epostanın sunucu tarafından teslim alınması, epostanın alıcısına ulaştığı anlamına gelmez.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | ek_başlıklar bağımsız değişkeni artık dizi de kabul ediyor.

Örnekler

Örnek 1 - Eposta gönderimi

mail() işlevi ile basit bir eposta gönderelim:

<?php
// İleti
$ileti = "Line 1\r\nLine 2\r\nLine 3";

// Satırlarımızın 70 karakterden uzun olanlarını katlamamız lazım
$ileti = wordwrap($ileti, 70, "\r\n");

// Epostayı gönderelim
mail('kafeinli@example.com', 'İleti konusu', $ileti);
?>

Örnek 2 - Ek başlıklarla eposta gönderimi

From ve Reply-To adreslerini ek başlıklar olarak belirtelim:

<?php
$kime = 'nobody@example.com';
$konu = 'konu';
$ileti = 'Merhaba';
$başlıklar = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($kime, $konu, $ileti, $başlıklar);
?>

Örnek 3 - array türünde ek başlıklarla eposta gönderimi

Bu örnekte, üst örnekteki eposta gönderilmekte, ancak ek başlıklar bir dizi olarak aktarılmaktadır (PHP 7.2.0 ve sonrasında kullanılabilir).

<?php
$kime = 'nobody@example.com';
$konu = 'konu';
$ileti = 'Merhaba';
$başlıklar = array(
'From' => 'webmaster@example.com',
'Reply-To' => 'webmaster@example.com',
'X-Mailer' => 'PHP/' . phpversion()
);

mail($kime, $konu, $ileti, $başlıklar);
?>

Örnek 4 - Ek komut satırı seçenekleriyle eposta gönderimi

sendmail_path yönergesinde belirtilen posta gönderme programına komut satırı bağımsız değişkenleri aktarmak için ek_bağımsız değişkenler bağımsız değişkeni kullanılabilir.

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
'-fwebmaster@example.com');
?>

Örnek 5 - HTML eposta gönderimi

mail() işleviyle HTML eposta göndermek de mümkündür.

<?php
// çok sayıda alıcı
$to = 'johny@example.com, sally@example.com'; // virgüle dikkat

// konu
$subject = 'Ağustos ayında hatırlanacak doğum günleri';

// ileti
$message = '
<html>
<head>
<title>Ağustos ayında hatırlanacak doğum günleri</title>
</head>
<body>
<p>Ağustos ayındaki doğum günleri!</p>
<table>
<tr>
<th>Kişi</th><th>Gün</th><th>Ay</th><th>Yıl</th>
</tr>
<tr>
<td>Ali</td><td>3</td><td>Ağustos</td><td>1970</td>
</tr>
<tr>
<td>Veli</td><td>17</td><td>Ağustos</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

// HTML eposta göndermek için, the Content-type başlığı belirtilmeli
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; CHARSET=Windows-1254';

// Ek başlıklar
+$headers[] = 'To: Mary <mary@example.com>, Kelly <kelly@example.com>';
+$headers[] = 'From: Birthday Reminder <birthday@example.com>';
+$headers[] = 'Cc: birthdayarchive@example.com';
+$headers[] = 'Bcc: birthdaycheck@example.com';

// İletiyi postalayalım
mail($to, $subject, $message, implode("\r\n", $headers));
?>

Bilginize:

HTML veya daha karmaşık bir eposta göndermek isterseniz » PEAR::Mail_Mime PEAR paketini kullanmanızı öneririz.

Notlar

Bilginize:

mail() işlevinin Windows SMTP gerçeklenimi bir çok bakımdan sendmail gerçekleniminden farklıdır. Birincisi, iletileri göndermek için yerel bir program kullanılmaz, doğrudan soketlerle çalışılır ve MTA'nın soketi dinlediği varsayılır.

İkincisi, From:, Cc:, Bcc: ve Date: gibi özel başlıklar, epostayı ilk alan MTA tarafından yorumlanmaz, fakat PHP tarafından çözümlenir.

Aslında, to bağımsız değişkeninin "Adı Soyad <birisi@example.com>" biçeminde bir adres olmaması gerekir. mail komutu MTA ile anlaşırken bunu gerektiği gibi çözümleyemeyebilir.

Bilginize:

Çok sayıda epostayı göndermek için mail() işlevini bir döngüye sokmak hiç de iyi bir fikir değildir. Bu işlev her eposta için SMTP soketini açıp kapadığından verimli değildir.

Çok sayıda eposta göndermek için, » PEAR::Mail ve » PEAR::Mail_Queue paketlerine bakınız.

Bilginize:

Şu RFC'ler yararlı olabilir: » RFC 1896, » RFC 2045, » RFC 2046, » RFC 2047, » RFC 2048, » RFC 2049 ve » RFC 2822.

Ayrıca Bakınız

  • mb_send_mail() - Kodlanmış olarak posta gönderir
  • imap_mail() - Bir eposta iletisi gönderir
  • » PEAR::Mail
  • » PEAR::Mail_Mime


Mailparse

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Mailparse İşlevleri
    • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
    • mailparse_msg_create — Create a mime mail resource
    • mailparse_msg_extract_part_file — Extracts/decodes a message section
    • mailparse_msg_extract_part — Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free — Frees a MIME resource
    • mailparse_msg_get_part_data — Returns an associative array of info about the message
    • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
    • mailparse_msg_parse_file — Parses a file
    • mailparse_msg_parse — Incrementally parse data into buffer
    • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
    • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file


Giriş

Mailparse is an extension for parsing and working with email messages. It can deal with » RFC 822 and » RFC 2045 (MIME) compliant messages.

Mailparse is stream based, which means that it does not keep in-memory copies of the files it processes - so it is very resource efficient when dealing with large messages.

Bilginize:

Mailparse requires the mbstring extension, and mbstring must be loaded before mailparse.


Kurulum

Bu » PECL eklentisi PHP ile gelmez. Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/mailparse.

In order to use these functions you must compile PHP with mailparse support by using the --enable-mailparse configure option.

Windows users will enable php_mailparse.dll inside of php.ini in order to use these functions. Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.

It is necessary that the mbstring extension is loaded before mailparse.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Mailparse Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
mailparse.def_charset | "us-ascii" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

mailparse.def_charset string

The default character set.


Özkaynak Türleri

Mailparse defines the resource type mailparse_mail_structure, which is returned by mailparse_msg_create() and mailparse_msg_parse_file().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MAILPARSE_EXTRACT_OUTPUT (int)
MAILPARSE_EXTRACT_STREAM (int)
MAILPARSE_EXTRACT_RETURN (int)


Mailparse İşlevleri

İçindekiler

  • mailparse_determine_best_xfer_encoding — Gets the best way of encoding
  • mailparse_msg_create — Create a mime mail resource
  • mailparse_msg_extract_part_file — Extracts/decodes a message section
  • mailparse_msg_extract_part — Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding
  • mailparse_msg_free — Frees a MIME resource
  • mailparse_msg_get_part_data — Returns an associative array of info about the message
  • mailparse_msg_get_part — Returns a handle on a given section in a mimemessage
  • mailparse_msg_get_structure — Returns an array of mime section names in the supplied message
  • mailparse_msg_parse_file — Parses a file
  • mailparse_msg_parse — Incrementally parse data into buffer
  • mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses
  • mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp
  • mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file


Gets the best way of encoding

  • « Mailparse İşlevleri
  • mailparse_msg_create »
  • PHP Manual
  • Mailparse İşlevleri
  • Gets the best way of encoding

mailparse_determine_best_xfer_encoding

(PECL mailparse >= 0.9.0)

mailparse_determine_best_xfer_encoding — Gets the best way of encoding

Açıklama

mailparse_determine_best_xfer_encoding(resource $fp): string

Figures out the best way of encoding the content read from the given file pointer.

Bağımsız Değişkenler

fp

A valid file pointer, which must be seek-able.

Dönen Değerler

Returns one of the character encodings supported by the mbstring module.

Örnekler

Örnek 1 mailparse_determine_best_xfer_encoding() example

<?php

$fp = fopen('somemail.eml', 'r');
echo 'Best encoding: ' . mailparse_determine_best_xfer_encoding($fp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Best encoding: 7bit


Create a mime mail resource

  • « mailparse_determine_best_xfer_encoding
  • mailparse_msg_extract_part_file »
  • PHP Manual
  • Mailparse İşlevleri
  • Create a mime mail resource

mailparse_msg_create

(PECL mailparse >= 0.9.0)

mailparse_msg_create — Create a mime mail resource

Açıklama

mailparse_msg_create(): resource

Create a MIME mail resource.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a handle that can be used to parse a message.

Notlar

Bilginize:

It is recommended to call mailparse_msg_free() on the result of this function, when it is no longer needed, to avoid memory leaks.

Ayrıca Bakınız

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_parse_file() - Parses a file


Extracts/decodes a message section

  • « mailparse_msg_create
  • mailparse_msg_extract_part »
  • PHP Manual
  • Mailparse İşlevleri
  • Extracts/decodes a message section

mailparse_msg_extract_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part_file — Extracts/decodes a message section

Açıklama

mailparse_msg_extract_part_file(resource $mimemail, mixed $filename, callable $callbackfunc = ?): string

Extracts/decodes a message section from the supplied filename.

The contents of the section will be decoded according to their transfer encoding - base64, quoted-printable and uuencoded text are supported.

Bağımsız Değişkenler

mimemail

A valid MIME resource, created with mailparse_msg_create().

filename

Can be a file name or a valid stream resource.

callbackfunc

If set, this must be either a valid callback that will be passed the extracted section, or null to make this function return the extracted section.

If not specified, the contents will be sent to "stdout".

Dönen Değerler

If callbackfunc is not null returns true on success.

If callbackfunc is set to null, returns the extracted section as a string.

Returns false on error.

Ayrıca Bakınız

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding


Extracts/decodes a message section

  • « mailparse_msg_extract_part_file
  • mailparse_msg_extract_whole_part_file »
  • PHP Manual
  • Mailparse İşlevleri
  • Extracts/decodes a message section

mailparse_msg_extract_part

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_part — Extracts/decodes a message section

Açıklama

mailparse_msg_extract_part(resource $mimemail, string $msgbody, callable $callbackfunc = ?): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

mimemail

A valid MIME resource.

msgbody

callbackfunc

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • mailparse_msg_extract_part_file() - Extracts/decodes a message section
  • mailparse_msg_extract_whole_part_file() - Extracts a message section including headers without decoding the transfer encoding


Extracts a message section including headers without decoding the transfer encoding

  • « mailparse_msg_extract_part
  • mailparse_msg_free »
  • PHP Manual
  • Mailparse İşlevleri
  • Extracts a message section including headers without decoding the transfer encoding

mailparse_msg_extract_whole_part_file

(PECL mailparse >= 0.9.0)

mailparse_msg_extract_whole_part_file — Extracts a message section including headers without decoding the transfer encoding

Açıklama

mailparse_msg_extract_whole_part_file(resource $mimemail, string $filename, callable $callbackfunc = ?): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

mimemail

A valid MIME resource.

filename

callbackfunc

Dönen Değerler

Ayrıca Bakınız

  • mailparse_msg_extract_part() - Extracts/decodes a message section
  • mailparse_msg_extract_part_file() - Extracts/decodes a message section


Frees a MIME resource

  • « mailparse_msg_extract_whole_part_file
  • mailparse_msg_get_part_data »
  • PHP Manual
  • Mailparse İşlevleri
  • Frees a MIME resource

mailparse_msg_free

(PECL mailparse >= 0.9.0)

mailparse_msg_free — Frees a MIME resource

Açıklama

mailparse_msg_free(resource $mimemail): bool

Frees a MIME resource.

Bağımsız Değişkenler

mimemail

A valid MIME resource allocated by mailparse_msg_create() or mailparse_msg_parse_file().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • mailparse_msg_create() - Create a mime mail resource
  • mailparse_msg_parse_file() - Parses a file


Returns an associative array of info about the message

  • « mailparse_msg_free
  • mailparse_msg_get_part »
  • PHP Manual
  • Mailparse İşlevleri
  • Returns an associative array of info about the message

mailparse_msg_get_part_data

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part_data — Returns an associative array of info about the message

Açıklama

mailparse_msg_get_part_data(resource $mimemail): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

mimemail

A valid MIME resource.


Returns a handle on a given section in a mimemessage

  • « mailparse_msg_get_part_data
  • mailparse_msg_get_structure »
  • PHP Manual
  • Mailparse İşlevleri
  • Returns a handle on a given section in a mimemessage

mailparse_msg_get_part

(PECL mailparse >= 0.9.0)

mailparse_msg_get_part — Returns a handle on a given section in a mimemessage

Açıklama

mailparse_msg_get_part(resource $mimemail, string $mimesection): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

mimemail

A valid MIME resource.

mimesection


Returns an array of mime section names in the supplied message

  • « mailparse_msg_get_part
  • mailparse_msg_parse_file »
  • PHP Manual
  • Mailparse İşlevleri
  • Returns an array of mime section names in the supplied message

mailparse_msg_get_structure

(PECL mailparse >= 0.9.0)

mailparse_msg_get_structure — Returns an array of mime section names in the supplied message

Açıklama

mailparse_msg_get_structure(resource $mimemail): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

mimemail

A valid MIME resource.


Parses a file

  • « mailparse_msg_get_structure
  • mailparse_msg_parse »
  • PHP Manual
  • Mailparse İşlevleri
  • Parses a file

mailparse_msg_parse_file

(PECL mailparse >= 0.9.0)

mailparse_msg_parse_file — Parses a file

Açıklama

mailparse_msg_parse_file(string $filename): resource

Parses a file. This is the optimal way of parsing a mail file that you have on disk.

Bağımsız Değişkenler

filename

Path to the file holding the message. The file is opened and streamed through the parser.

Bilginize:

The message contained in filename is supposed to end with a newline (CRLF); otherwise the last line of the message will not be parsed.

Dönen Değerler

Returns a MIME resource representing the structure, or false on error.

Notlar

Bilginize:

It is recommended to call mailparse_msg_free() on the result of this function, when it is no longer needed, to avoid memory leaks.

Ayrıca Bakınız

  • mailparse_msg_free() - Frees a MIME resource
  • mailparse_msg_create() - Create a mime mail resource


Incrementally parse data into buffer

  • « mailparse_msg_parse_file
  • mailparse_rfc822_parse_addresses »
  • PHP Manual
  • Mailparse İşlevleri
  • Incrementally parse data into buffer

mailparse_msg_parse

(PECL mailparse >= 0.9.0)

mailparse_msg_parse — Incrementally parse data into buffer

Açıklama

mailparse_msg_parse(resource $mimemail, string $data): bool

Incrementally parse data into the supplied mime mail resource.

This function allow you to stream portions of a file at a time, rather than read and parse the whole thing.

Bağımsız Değişkenler

mimemail

A valid MIME resource.

data

Bilginize:

The final chunk of data is supposed to end with a newline (CRLF); otherwise the last line of the message will not be parsed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Parse RFC 822 compliant addresses

  • « mailparse_msg_parse
  • mailparse_stream_encode »
  • PHP Manual
  • Mailparse İşlevleri
  • Parse RFC 822 compliant addresses

mailparse_rfc822_parse_addresses

(PECL mailparse >= 0.9.0)

mailparse_rfc822_parse_addresses — Parse RFC 822 compliant addresses

Açıklama

mailparse_rfc822_parse_addresses(string $addresses): array

Parses a » RFC 822 compliant recipient list, such as that found in the To: header.

Bağımsız Değişkenler

addresses

A string containing addresses, like in: Wez Furlong <wez@example.com>, doe@example.com

Bilginize:

This string must not include the header name.

Dönen Değerler

Returns an array of associative arrays with the following keys for each recipient:

display | The recipient name, for display purpose. If this part is not set for a recipient, this key will hold the same value as address.
address | The email address
is_group | true if the recipient is a newsgroup, false otherwise.

Örnekler

Örnek 1 mailparse_rfc822_parse_addresses() example

<?php

$to = 'Wez Furlong <wez@example.com>, doe@example.com';
var_dump(mailparse_rfc822_parse_addresses($to));

?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  array(3) {
    ["display"]=>
    string(11) "Wez Furlong"
    ["address"]=>
    string(15) "wez@example.com"
    ["is_group"]=>
    bool(false)
  }
  [1]=>
  array(3) {
    ["display"]=>
    string(15) "doe@example.com"
    ["address"]=>
    string(15) "doe@example.com"
    ["is_group"]=>
    bool(false)
  }
}


Streams data from source file pointer, apply encoding and write to destfp

  • « mailparse_rfc822_parse_addresses
  • mailparse_uudecode_all »
  • PHP Manual
  • Mailparse İşlevleri
  • Streams data from source file pointer, apply encoding and write to destfp

mailparse_stream_encode

(PECL mailparse >= 0.9.0)

mailparse_stream_encode — Streams data from source file pointer, apply encoding and write to destfp

Açıklama

mailparse_stream_encode(resource $sourcefp, resource $destfp, string $encoding): bool

Streams data from the source file pointer, apply encoding and write to the destination file pointer.

Bağımsız Değişkenler

sourcefp

A valid file handle. The file is streamed through the parser.

destfp

The destination file handle in which the encoded data will be written.

encoding

One of the character encodings supported by the mbstring module.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 mailparse_stream_encode() example

<?php

// email.eml contents: hello, this is some text=hello.
$fp = fopen('email.eml', 'r');

$dest = tmpfile();

mailparse_stream_encode($fp, $dest, "quoted-printable");

rewind($dest);

// Display new file contents
fpassthru($dest);

?>

Yukarıdaki örneğin çıktısı:

hello, this is some text=3Dhello.


Scans the data from fp and extract each embedded uuencoded file

  • « mailparse_stream_encode
  • Matematiksel Eklentiler »
  • PHP Manual
  • Mailparse İşlevleri
  • Scans the data from fp and extract each embedded uuencoded file

mailparse_uudecode_all

(PECL mailparse >= 0.9.0)

mailparse_uudecode_all — Scans the data from fp and extract each embedded uuencoded file

Açıklama

mailparse_uudecode_all(resource $fp): array

Scans the data from the given file pointer and extract each embedded uuencoded file into a temporary file.

Bağımsız Değişkenler

fp

A valid file pointer.

Dönen Değerler

Returns an array of associative arrays listing filename information.

filename | Path to the temporary file name created
origfilename | The original filename, for uuencoded parts only
The first filename entry is the message body. The next entries are the decoded uuencoded files.

Örnekler

Örnek 1 mailparse_uudecode_all() example

<?php

$text = <<<EOD
To: fred@example.com

hello, this is some text hello.
blah blah blah.

begin 644 test.txt
/=&AI<R!I<R!A('1E<W0*
`
end

EOD;

$fp = tmpfile();
fwrite($fp, $text);

$data = mailparse_uudecode_all($fp);

echo "BODY\n";
readfile($data[0]["filename"]);
echo "UUE ({$data[1]['origfilename']})\n";
readfile($data[1]["filename"]);

// Clean up
unlink($data[0]["filename"]);
unlink($data[1]["filename"]);

?>

Yukarıdaki örneğin çıktısı:

BODY
To: fred@example.com

hello, this is some text hello.
blah blah blah.

UUE (test.txt)
this is a test


Matematiksel Eklentiler

  • BC — BCMath Keyfi Duyarlıklı Matematik
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • BC Math İşlevleri
  • GMP — GNU Multiple Precision
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • GMP İşlevleri
    • GMP — The GMP class
  • Math — Mathematical Functions
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Math İşlevleri
  • Statistics
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Statistic İşlevleri
  • Trader — Technical Analysis for Traders
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Trader İşlevleri


BCMath Keyfi Duyarlıklı Matematik

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • BC Math İşlevleri
    • bcadd — İki keyfi duyarlıklı sayıyı toplar
    • bccomp — İki keyfi duyarlıklı sayıyı karşılaştırır
    • bcdiv — İki keyfi duyarlıklı sayıyı böler
    • bcmod — Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur
    • bcmul — İki keyfi duyarlıklı sayıyı çarpar
    • bcpow — Keyfi duyarlıklı sayılar için üs alma işlemi yapar
    • bcpowmod — Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur
    • bcscale — Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar
    • bcsqrt — Keyfi duyarlıklı bir sayının karekök alma işlemini yapar
    • bcsub — Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar


Giriş

Keyfi duyarlıklı matematik işlemleri için PHP, herhangi bir boyut ve duyarlıktaki sayıları 2147483647'ye kadar (veya 0x7FFFFFFF) destekleyen BCMath işlevlerini kullanır. Yeterli bellek yoksa, sayılar dizge olarak gösterilir.

Geçerli (yani, iyi biçimli) BCMath sayıları /^[+-]?[0-9]*(\.[0-9]*)?$/ düzenli ifadesi ile eşleşen dizgelerdir.

Dikkat

string türünde bir terim bekleyen bir BCMath işlevine float türünde değer aktarılması, PHP'nin float değerleri string türüne dönüştürme yolundan dolayı istenen etkiyi sağlamayabilir (string üstel gösterim içerebilir ama üstel gösterim BCMath tarafından desteklenmez, ayrıca PHP 8.0.0 öncesinde ondalık ayracı yerele bağımlıdır ama BCMath burada ondalık nokta bekler).

<?php
$num1 = 0; // (string) 0 => '0'
$num2 = -0.000005; // (string) -0.000005 => '-5.05E-6'
echo bcadd($num1, $num2, 6); // => '0.000000'

setlocale(LC_NUMERIC, 'de_DE'); // ondalık ayraç virgüldür
$num2 = 1.2; // (string) 1.2 => '1,2'
echo bcsub($num1, $num2, 1); // => '0.0'
?>


Kurulum

Bu işlevler, PHP --enable-bcmath ile yapılandırıldı ise erişilebilirdir.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

BC matematik yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
bcmath.scale | "0" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

bcmath.scale int

Bütün bcmath işlevleri için ondalık hane sayısı, ayrıca bcscale() işlevine bakınız.


  • « Özkaynak Türleri
  • BC Math İşlevleri »
  • PHP Manual
  • BC
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


BC Math İşlevleri

İçindekiler

  • bcadd — İki keyfi duyarlıklı sayıyı toplar
  • bccomp — İki keyfi duyarlıklı sayıyı karşılaştırır
  • bcdiv — İki keyfi duyarlıklı sayıyı böler
  • bcmod — Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur
  • bcmul — İki keyfi duyarlıklı sayıyı çarpar
  • bcpow — Keyfi duyarlıklı sayılar için üs alma işlemi yapar
  • bcpowmod — Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur
  • bcscale — Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar
  • bcsqrt — Keyfi duyarlıklı bir sayının karekök alma işlemini yapar
  • bcsub — Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar


İki keyfi duyarlıklı sayıyı toplar

  • « BC Math İşlevleri
  • bccomp »
  • PHP Manual
  • BC Math İşlevleri
  • İki keyfi duyarlıklı sayıyı toplar

bcadd

(PHP 4, PHP 5, PHP 7, PHP 8)

bcadd — İki keyfi duyarlıklı sayıyı toplar

Açıklama

bcadd(string $sayı1, string $sayı2, ?int $basamak = null): string

sayı1 ile sayı2yi toplar.

Bağımsız Değişkenler

sayı1

Dizge olarak sol terim.

sayı2

Dizge olarak sağ terim.

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

İki sayının toplamını dizge olarak verir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnek 1 - bcadd() örneği

<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b); // 6
echo bcadd($a, $b, 4); // 6.2340

?>

Ayrıca Bakınız

  • bcsub() - Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar


İki keyfi duyarlıklı sayıyı karşılaştırır

  • « bcadd
  • bcdiv »
  • PHP Manual
  • BC Math İşlevleri
  • İki keyfi duyarlıklı sayıyı karşılaştırır

bccomp

(PHP 4, PHP 5, PHP 7, PHP 8)

bccomp — İki keyfi duyarlıklı sayıyı karşılaştırır

Açıklama

bccomp(string $sol_terim, string $sag_terim, ?int $basamak = null): int

sol_terim ile sag_terim'i karşılaştırır ve sonucu tamsayı olarak döndürür.

Bağımsız Değişkenler

sol_terim

Dizge olarak sol terim.

sag_terim

Dizge olarak sağ terim.

basamak

Seçime bağlı basamak bağımsız değişkeni, karşılaştırmada dikkate alınacak ondalık bölümden sonraki basamak sayısını ayarlar.

Dönen Değerler

Eğer iki terim eşitse 0 döndürür, sol_terim sag_terim'den büyükse 1, değilse -1 döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnek 1 bccomp() örneği

<?php

echo bccomp('1', '2') . "\n"; // -1
echo bccomp('1.00001', '1', 3); // 0
echo bccomp('1.00001', '1', 5); // 1

?>


İki keyfi duyarlıklı sayıyı böler

  • « bccomp
  • bcmod »
  • PHP Manual
  • BC Math İşlevleri
  • İki keyfi duyarlıklı sayıyı böler

bcdiv

(PHP 4, PHP 5, PHP 7, PHP 8)

bcdiv — İki keyfi duyarlıklı sayıyı böler

Açıklama

bcdiv(string $bölünen, string $bölen, ?int $basamak = null): string

bölünen'i bölen'e böler.

Bağımsız Değişkenler

bölünen

Dizge olarak bölünen.

bölen

Dizge olarak bölen.

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Bölme sonucunu dizge olarak hesaplar. Eğer bölen 0 ise null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnek 1 - bcdiv() örneği

<?php

echo bcdiv('105', '6.55957', 3); // 16.007

?>

Ayrıca Bakınız

  • bcmul() - İki keyfi duyarlıklı sayıyı çarpar


Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur

  • « bcdiv
  • bcmul »
  • PHP Manual
  • BC Math İşlevleri
  • Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur

bcmod

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmod — Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur

Açıklama

bcmod(string $bölünen, string $bölen, ?int $basamak = null): string

bölünen'in bölen'e bölünmesinden kalanı döndürür. bölen sıfır olmadıkça sonuç bölünen'in işaretini alır.

Bağımsız Değişkenler

bölünen

Dizge olarak bölünen sayı.

bölen

Dizge olarak bölen sayı.

Dönen Değerler

Dizge olarak kalanı veya bölen 0 ise null döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.
7.2.0 | bölünen ve bölen artık ondalık kısmı kırpılıp tamsayı yapılmıyor. Dolayısıyla, işlev artık % işleci gibi değil fmod() gibi davranıyor.
7.2.0 | basamak bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - bcmod() örneği

<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>

Örnek 2 - Ondalık basamaklarla bcmod()

<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // PHP 7.2.0 ve sonrası 0.5 - öncesi 0
?>

Ayrıca Bakınız

  • bcdiv() - İki keyfi duyarlıklı sayıyı böler


İki keyfi duyarlıklı sayıyı çarpar

  • « bcmod
  • bcpow »
  • PHP Manual
  • BC Math İşlevleri
  • İki keyfi duyarlıklı sayıyı çarpar

bcmul

(PHP 4, PHP 5, PHP 7, PHP 8)

bcmul — İki keyfi duyarlıklı sayıyı çarpar

Açıklama

bcmul(string $sol_terim, string $sag_terim, ?int $basamak = null): string

sol_terim ile sag_terim'i çarpar.

Bağımsız Değişkenler

sol_terim

Dizge olarak sol terim.

sag_terim

Dizge olarak sağ terim.

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Sonucu dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.
7.3.0 | bcmul() artık sayıların ondalık basamak sayısını dikkate alıyor. Daha önce, döndürülen sayılarda sondaki ondalık sıfırları yoksayabiliyordu.

Örnekler

Örnek 1 - bcmul() örneği

<?php
echo bcmul('1.34747474747', '35', 3); // 47.161
echo bcmul('2', '4'); // 8
?>

Notlar

Bilginize:

PHP 7.3.0 öncesinde bcmul() ondalık noktadan sonraki basamak sayısını basamak ile belirtilenden daha az sayıda döndürebiliyordu. Artık sadece basamak ile belirtilenden daha azı ile gereken hassasiyet sağlanabildiği takdirde bu olmaktadır. Örnek:

Örnek 2 - bcmul() basamak örneği

<?php
echo bcmul('5', '2', 2); // "10" basar, "10.00" değil
?>

Ayrıca Bakınız

  • bcdiv() - İki keyfi duyarlıklı sayıyı böler


Keyfi duyarlıklı sayılar için üs alma işlemi yapar

  • « bcmul
  • bcpowmod »
  • PHP Manual
  • BC Math İşlevleri
  • Keyfi duyarlıklı sayılar için üs alma işlemi yapar

bcpow

(PHP 4, PHP 5, PHP 7, PHP 8)

bcpow — Keyfi duyarlıklı sayılar için üs alma işlemi yapar

Açıklama

bcpow(string $taban, string $üs, ?int $basamak = null): string

tabanın üssünü hesaplar.

Bağımsız Değişkenler

taban

Dizge olarak taban.

üs

Dizge olarak üs. Üs tamsayılardan oluşmuyorsa tamsayı olmayan kısım kırpılır. Üssün geçerli aralığı platforma özgüdür, ancak en azından -2147483648 ile 2147483647 arasındadır.

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Sonucu dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | bcpow() artık sayıların ondalık basamak sayısını dikkate alıyor. Daha önce, döndürülen sayılarda sondaki ondalık sıfırları yoksayabiliyordu.

Örnekler

Örnek 1 bcpow() örneği

<?php

echo bcpow('4.2', '3', 2); // 74.08

?>

Notlar

Bilginize:

PHP 7.3.0 öncesinde bcpow() ondalık noktadan sonraki basamak sayısını basamak ile belirtilenden daha az sayıda döndürebiliyordu. Artık sadece basamak ile belirtilenden daha azı ile gereken hassasiyet sağlanabildiği takdirde bu olmaktadır. Örnek:

Örnek 2 bcpow() basamak örneği

<?php
echo bcpow('5', '2', 2); // "25" basar, "25.00" değil
?>
+

Ayrıca Bakınız

  • bcpowmod() - Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur
  • bcsqrt() - Keyfi duyarlıklı bir sayının karekök alma işlemini yapar


Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur

  • « bcpow
  • bcscale »
  • PHP Manual
  • BC Math İşlevleri
  • Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur

bcpowmod

(PHP 5, PHP 7, PHP 8)

bcpowmod — Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur

Açıklama

bcpowmod(
string $taban,
string $üs,
string $modül,
?int $basamak = null
): string

tabanın üssünü bulur, sonucun modül ile kalanını bulur.

Bağımsız Değişkenler

taban

Tamsayı dizgesi olarak taban (Yani, ondalık basamak sayısı sıfır olmalı).

üs

Negatif olmayan tamsayı dizgesi olarak üs (Yani, ondalık basamak sayısı sıfır olmalı).

modül

Tamsayı dizgesi olarak modül (Yani, ondalık basamak sayısı sıfır olmalı).

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Dizge olarak sonucu veya modül 0 ise veya üs negatifse false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnekteki 2 deyim denktir. Bununla birlikte bcpowmod() deyimi daha az zamanda sonuç verir ve daha büyük bağımsız değişkenleri kabul eder.

<?php
$a = bcpowmod($x, $y, $mod);

$b = bcmod(bcpow($x, $y), $mod);

// $a ve $b sonuclari esittir.

?>

Notlar

Bilginize:

Bu işlev kalan bulma işlemleri yaptığı için pozitif tamsayı olmayan sayılar beklenmeyen sonuçlar verebilir.

Ayrıca Bakınız

  • bcpow() - Keyfi duyarlıklı sayılar için üs alma işlemi yapar
  • bcmod() - Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur


Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar

  • « bcpowmod
  • bcsqrt »
  • PHP Manual
  • BC Math İşlevleri
  • Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar

bcscale

(PHP 4, PHP 5, PHP 7, PHP 8)

bcscale — Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar

Açıklama

bcscale(int $basamak): bool

Bir basamak belirtilmeden çağrılan bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini atar.

bcscale(null $basamak = null): int

Geçerli basamak sayısını döndürür.

Bağımsız Değişkenler

basamak

Ölçek katsayısı.

Dönen Değerler

Öntanımlı değer atanıyorsa eski değeri döndürür, aksi takdirde geçerli değeri döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.
7.3.0 | bcscale() artık geçerli basamak sayısını döndürmek için kullanılabiliyor. Değer atamak için kullanıldığında ise eski değeri döndürüyor. Evvelce basamak belirtmek zorunluydu ve bcscale() daima true döndürürdü.

Örnekler

Örnek 1 - bcscale() örneği

<?php

// ontanimli olcek : 3
bcscale(3);
echo bcdiv('105', '6.55957'); // 16.007

// bcscale() cagrilmamasi ile esdegerdir
echo bcdiv('105', '6.55957', 3); // 16.007

?>


Keyfi duyarlıklı bir sayının karekök alma işlemini yapar

  • « bcscale
  • bcsub »
  • PHP Manual
  • BC Math İşlevleri
  • Keyfi duyarlıklı bir sayının karekök alma işlemini yapar

bcsqrt

(PHP 4, PHP 5, PHP 7, PHP 8)

bcsqrt — Keyfi duyarlıklı bir sayının karekök alma işlemini yapar

Açıklama

bcsqrt(string $terim, ?int $basamak = null): string

terimin karekökünü döndürür.

Bağımsız Değişkenler

terim

İyi biçemli BCMath sayısal dizgesi olarak terim.

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Karakökü iyi biçemli BCMath sayısal dizgesi olarak döndürür.

Hatalar/İstisnalar

Bu işlev,

  • terim iyi biçemli BCMath sayısal dizgesi değilse
  • terim negatifse
  • basamak geçerli aralığın dışındaysa
bir ValueError nesnesi oluşturur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | terim iyi biçemli BCMath sayısal dizgesi değilse veya negatifse artık bir ValueError nesnesi oluşuyor. Evvelce, bunun yerine E_WARNING çıktılanırdı.
8.0.0 | basamak artık 0 ila 2147483647 arasında olmalı; evvelce negatif değerler sessizce 0 olarak ele alınırdı.
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnek 1 bcsqrt() örneği

<?php

echo bcsqrt('2', 3); // 1.414

?>

Ayrıca Bakınız

  • bcpow() - Keyfi duyarlıklı sayılar için üs alma işlemi yapar


Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar

  • « bcsqrt
  • GMP »
  • PHP Manual
  • BC Math İşlevleri
  • Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar

bcsub

(PHP 4, PHP 5, PHP 7, PHP 8)

bcsub — Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar

Açıklama

bcsub(string $sol_terim, string $sag_terim, ?int $basamak = null): string

sol_terimden sag_terimi çıkartır.

Bağımsız Değişkenler

sol_terim

Dizge olarak sol terim.

sag_terim

Dizge olarak sağ terim

basamak

Bu seçimlik bağımsız değişken ondalık iminin sağında kaç hane gösterileceğini belirler. Kullanılmazsa, betik genelinde geçerli olacak şekilde bcscale() işleviyle atanabilir, bu da yapılmazsa son çare değeri 0 geçerli olur.

Dönen Değerler

Dizge olarak çıkartma sonucunu verir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | basamak artık null olabiliyor.

Örnekler

Örnek 1 bcsub() örneği

<?php

$a = '1.234';
$b = '5';

echo bcsub($a, $b); // -3
echo bcsub($a, $b, 4); // -3.7660

?>

Ayrıca Bakınız

  • bcadd() - İki keyfi duyarlıklı sayıyı toplar


GNU Multiple Precision

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Örnekler
  • GMP İşlevleri
    • gmp_abs — Absolute value
    • gmp_add — Add numbers
    • gmp_and — Bitwise AND
    • gmp_binomial — Calculates binomial coefficient
    • gmp_clrbit — Clear bit
    • gmp_cmp — Compare numbers
    • gmp_com — Calculates one's complement
    • gmp_div_q — Divide numbers
    • gmp_div_qr — Divide numbers and get quotient and remainder
    • gmp_div_r — Remainder of the division of numbers
    • gmp_div — Takma Adı: gmp_div_q
    • gmp_divexact — Exact division of numbers
    • gmp_export — Export to a binary string
    • gmp_fact — Factorial
    • gmp_gcd — Calculate GCD
    • gmp_gcdext — Calculate GCD and multipliers
    • gmp_hamdist — Hamming distance
    • gmp_import — Import from a binary string
    • gmp_init — Create GMP number
    • gmp_intval — Convert GMP number to integer
    • gmp_invert — Inverse by modulo
    • gmp_jacobi — Jacobi symbol
    • gmp_kronecker — Kronecker symbol
    • gmp_lcm — Calculate LCM
    • gmp_legendre — Legendre symbol
    • gmp_mod — Modulo operation
    • gmp_mul — Multiply numbers
    • gmp_neg — Negate number
    • gmp_nextprime — Find next prime number
    • gmp_or — Bitwise OR
    • gmp_perfect_power — Perfect power check
    • gmp_perfect_square — Perfect square check
    • gmp_popcount — Population count
    • gmp_pow — Raise number into power
    • gmp_powm — Raise number into power with modulo
    • gmp_prob_prime — Check if number is "probably prime"
    • gmp_random_bits — Random number
    • gmp_random_range — Get a uniformly selected integer
    • gmp_random_seed — Sets the RNG seed
    • gmp_random — Random number
    • gmp_root — Take the integer part of nth root
    • gmp_rootrem — Take the integer part and remainder of nth root
    • gmp_scan0 — Scan for 0
    • gmp_scan1 — Scan for 1
    • gmp_setbit — Set bit
    • gmp_sign — Sign of number
    • gmp_sqrt — Calculate square root
    • gmp_sqrtrem — Square root with remainder
    • gmp_strval — Convert GMP number to string
    • gmp_sub — Subtract numbers
    • gmp_testbit — Tests if a bit is set
    • gmp_xor — Bitwise XOR
  • GMP — The GMP class
    • GMP::__construct — Create GMP number
    • GMP::__serialize — Serializes the GMP object
    • GMP::__unserialize — Deserializes the data parameter into a GMP object


Giriş

These functions allow for arbitrary-length integers to be worked with using the GNU MP library.

Bilginize:

Most GMP functions accept GMP number arguments. These are shown in this documentation as GMP objects. Most of these functions will also accept numeric and string arguments, so long as it is possible to convert the latter to a number. Also, if there is a more performant function that can operate on the arguments (integers only), then it will be used instead (this is done transparently). See also the gmp_init() function.

Bilginize:

From PHP 5.6 onwards, the arithmetic, bitwise, and comparison operators may be used with the GMP objects returned from gmp_init() and other GMP functions.

Uyarı

Large integers must be specified as strings - otherwise, PHP will coerce them to floats, resulting in a loss of precision.

Bilginize: This extension is available on Windows platforms.


Gereksinimler

The GMP library can be downloaded from » http://gmplib.org/#DOWNLOAD. This site also has the GMP manual available.

At least GMP version 4.2 is required, with some functions requiring a more recent version of the GMP library.

On Windows, MPIR is required instead of GMP.


Kurulum

In order to have these functions available, PHP must be compiled with GMP support by using the --with-gmp option.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

GMP_ROUND_ZERO (int)
GMP_ROUND_PLUSINF (int)
GMP_ROUND_MINUSINF (int)
GMP_MSW_FIRST (int)
GMP_LSW_FIRST (int)
GMP_LITTLE_ENDIAN (int)
GMP_BIG_ENDIAN (int)
GMP_NATIVE_ENDIAN (int)
GMP_VERSION (string)
The GMP library version


Örnekler

Örnek 1 Factorial function using GMP

<?php
function fact($x)
{
$return = 1;
for ($i=2; $i <= $x; $i++) {
$return = gmp_mul($return, $i);
}
return $return;
}

echo gmp_strval(fact(1000)) . "\n";
?>

This will calculate factorial of 1000 (pretty big number) very fast.


GMP İşlevleri

Ayrıca Bakınız

More mathematical functions can be found in the Matematiksel Eklentiler section

İçindekiler

  • gmp_abs — Absolute value
  • gmp_add — Add numbers
  • gmp_and — Bitwise AND
  • gmp_binomial — Calculates binomial coefficient
  • gmp_clrbit — Clear bit
  • gmp_cmp — Compare numbers
  • gmp_com — Calculates one's complement
  • gmp_div_q — Divide numbers
  • gmp_div_qr — Divide numbers and get quotient and remainder
  • gmp_div_r — Remainder of the division of numbers
  • gmp_div — Takma Adı: gmp_div_q
  • gmp_divexact — Exact division of numbers
  • gmp_export — Export to a binary string
  • gmp_fact — Factorial
  • gmp_gcd — Calculate GCD
  • gmp_gcdext — Calculate GCD and multipliers
  • gmp_hamdist — Hamming distance
  • gmp_import — Import from a binary string
  • gmp_init — Create GMP number
  • gmp_intval — Convert GMP number to integer
  • gmp_invert — Inverse by modulo
  • gmp_jacobi — Jacobi symbol
  • gmp_kronecker — Kronecker symbol
  • gmp_lcm — Calculate LCM
  • gmp_legendre — Legendre symbol
  • gmp_mod — Modulo operation
  • gmp_mul — Multiply numbers
  • gmp_neg — Negate number
  • gmp_nextprime — Find next prime number
  • gmp_or — Bitwise OR
  • gmp_perfect_power — Perfect power check
  • gmp_perfect_square — Perfect square check
  • gmp_popcount — Population count
  • gmp_pow — Raise number into power
  • gmp_powm — Raise number into power with modulo
  • gmp_prob_prime — Check if number is "probably prime"
  • gmp_random_bits — Random number
  • gmp_random_range — Get a uniformly selected integer
  • gmp_random_seed — Sets the RNG seed
  • gmp_random — Random number
  • gmp_root — Take the integer part of nth root
  • gmp_rootrem — Take the integer part and remainder of nth root
  • gmp_scan0 — Scan for 0
  • gmp_scan1 — Scan for 1
  • gmp_setbit — Set bit
  • gmp_sign — Sign of number
  • gmp_sqrt — Calculate square root
  • gmp_sqrtrem — Square root with remainder
  • gmp_strval — Convert GMP number to string
  • gmp_sub — Subtract numbers
  • gmp_testbit — Tests if a bit is set
  • gmp_xor — Bitwise XOR


Absolute value

  • « GMP İşlevleri
  • gmp_add »
  • PHP Manual
  • GMP İşlevleri
  • Absolute value

gmp_abs

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_abs — Absolute value

Açıklama

gmp_abs(GMP|int|string $num): GMP

Get the absolute value of a number.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns the absolute value of num, as a GMP number.

Örnekler

Örnek 1 gmp_abs() example

<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");

echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

274982683358
274982683358


Add numbers

  • « gmp_abs
  • gmp_and »
  • PHP Manual
  • GMP İşlevleri
  • Add numbers

gmp_add

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_add — Add numbers

Açıklama

gmp_add(GMP|int|string $num1, GMP|int|string $num2): GMP

Add two numbers.

Bağımsız Değişkenler

num1

The first summand (augent).

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The second summand (addend).

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

A GMP number representing the sum of the arguments.

Örnekler

Örnek 1 gmp_add() example

<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>

Yukarıdaki örneğin çıktısı:

200000000000000


Bitwise AND

  • « gmp_add
  • gmp_binomial »
  • PHP Manual
  • GMP İşlevleri
  • Bitwise AND

gmp_and

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_and — Bitwise AND

Açıklama

gmp_and(GMP|int|string $num1, GMP|int|string $num2): GMP

Calculates bitwise AND of two GMP numbers.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

A GMP number representing the bitwise AND comparison.

Örnekler

Örnek 1 gmp_and() example

<?php
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

4
0


Calculates binomial coefficient

  • « gmp_and
  • gmp_clrbit »
  • PHP Manual
  • GMP İşlevleri
  • Calculates binomial coefficient

gmp_binomial

(PHP 7 >= 7.3.0, PHP 8)

gmp_binomial — Calculates binomial coefficient

Açıklama

gmp_binomial(GMP|int|string $n, int $k): GMP

Calculates the binomial coefficient C(n, k).

Bağımsız Değişkenler

n

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

k

Dönen Değerler

Returns the binomial coefficient C(n, k).

Hatalar/İstisnalar

Throws ValueError if k is negative. Prior to PHP 8.0.0, E_WARNING was issued instead.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function no longer returns false on failure.


Clear bit

  • « gmp_binomial
  • gmp_cmp »
  • PHP Manual
  • GMP İşlevleri
  • Clear bit

gmp_clrbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_clrbit — Clear bit

Açıklama

gmp_clrbit(GMP $num, int $index): void

Clears (sets to 0) bit index in num. The index starts at 0.

Bağımsız Değişkenler

num

A GMP object.

index

The index of the bit to clear. Index 0 represents the least significant bit.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_clrbit() example

<?php
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
?>

Yukarıdaki örneğin çıktısı:

254

Notlar

Bilginize:

Unlike most of the other GMP functions, gmp_clrbit() must be called with a GMP object that already exists (using gmp_init() for example). One will not be automatically created.

Ayrıca Bakınız

  • gmp_setbit() - Set bit
  • gmp_testbit() - Tests if a bit is set


Compare numbers

  • « gmp_clrbit
  • gmp_com »
  • PHP Manual
  • GMP İşlevleri
  • Compare numbers

gmp_cmp

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_cmp — Compare numbers

Açıklama

gmp_cmp(GMP|int|string $num1, GMP|int|string $num2): int

Compares two numbers.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns a positive value if a > b, zero if a = b and a negative value if a < b.

Örnekler

Örnek 1 gmp_cmp() example

<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to

echo "$cmp1 $cmp2 $cmp3\n";
?>

Yukarıdaki örneğin çıktısı:

1 -1 0


Calculates one's complement

  • « gmp_cmp
  • gmp_div_q »
  • PHP Manual
  • GMP İşlevleri
  • Calculates one's complement

gmp_com

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_com — Calculates one's complement

Açıklama

gmp_com(GMP|int|string $num): GMP

Returns the one's complement of num.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns the one's complement of num, as a GMP number.

Örnekler

Örnek 1 gmp_com() example

<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>

Yukarıdaki örneğin çıktısı:

-1235


Divide numbers

  • « gmp_com
  • gmp_div_qr »
  • PHP Manual
  • GMP İşlevleri
  • Divide numbers

gmp_div_q

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_q — Divide numbers

Açıklama

gmp_div_q(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): GMP

Divides num1 by num2 and returns the integer result.

Bağımsız Değişkenler

num1

The number being divided.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The number that num1 is being divided by.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

rounding_mode

The result rounding is defined by the rounding_mode, which can have the following values:

  • GMP_ROUND_ZERO: The result is truncated towards 0.
  • GMP_ROUND_PLUSINF: The result is rounded towards +infinity.
  • GMP_ROUND_MINUSINF: The result is rounded towards -infinity.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_div_q() example

<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";

$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";

$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";

$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";

$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>

Yukarıdaki örneğin çıktısı:

20
0
1
0
-1

Notlar

Bilginize:

This function can also be called as gmp_div().

Ayrıca Bakınız

  • gmp_div_r() - Remainder of the division of numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder


Divide numbers and get quotient and remainder

  • « gmp_div_q
  • gmp_div_r »
  • PHP Manual
  • GMP İşlevleri
  • Divide numbers and get quotient and remainder

gmp_div_qr

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_qr — Divide numbers and get quotient and remainder

Açıklama

gmp_div_qr(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): array

The function divides num1 by num2.

Bağımsız Değişkenler

num1

The number being divided.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The number that num1 is being divided by.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

rounding_mode

See the gmp_div_q() function for description of the rounding_mode argument.

Dönen Değerler

Returns an array, with the first element being [n/d] (the integer result of the division) and the second being (n - [n/d] * d) (the remainder of the division).

Örnekler

Örnek 1 Division of GMP numbers

<?php
$a = gmp_init("0x41682179fbf5");
$res = gmp_div_qr($a, "0xDEFE75");
printf("Result is: q - %s, r - %s",
gmp_strval($res[0]), gmp_strval($res[1]));
?>

Ayrıca Bakınız

  • gmp_div_q() - Divide numbers
  • gmp_div_r() - Remainder of the division of numbers


Remainder of the division of numbers

  • « gmp_div_qr
  • gmp_div »
  • PHP Manual
  • GMP İşlevleri
  • Remainder of the division of numbers

gmp_div_r

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div_r — Remainder of the division of numbers

Açıklama

gmp_div_r(GMP|int|string $num1, GMP|int|string $num2, int $rounding_mode = GMP_ROUND_ZERO): GMP

Calculates remainder of the integer division of num1 by num2. The remainder has the sign of the num1 argument, if not zero.

Bağımsız Değişkenler

num1

The number being divided.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The number that num1 is being divided by.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

rounding_mode

See the gmp_div_q() function for description of the rounding_mode argument.

Dönen Değerler

The remainder, as a GMP number.

Örnekler

Örnek 1 gmp_div_r() example

<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>

Yukarıdaki örneğin çıktısı:

5

Ayrıca Bakınız

  • gmp_div_q() - Divide numbers
  • gmp_div_qr() - Divide numbers and get quotient and remainder


Takma Adı: gmp_div_q

  • « gmp_div_r
  • gmp_divexact »
  • PHP Manual
  • GMP İşlevleri
  • Takma Adı: gmp_div_q

gmp_div

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_div — Takma Adı: gmp_div_q()

Açıklama

Bu işlev şu işlevin takma adıdır: gmp_div_q().


Exact division of numbers

  • « gmp_div
  • gmp_export »
  • PHP Manual
  • GMP İşlevleri
  • Exact division of numbers

gmp_divexact

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_divexact — Exact division of numbers

Açıklama

gmp_divexact(GMP|int|string $num1, GMP|int|string $num2): GMP

Divides num1 by num2, using fast "exact division" algorithm. This function produces correct results only when it is known in advance that num2 divides num1.

Bağımsız Değişkenler

num1

The number being divided.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The number that num1 is being divided by.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_divexact() example

<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";

$div2 = gmp_divexact("10", "3"); // bogus result
echo gmp_strval($div2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

5
2863311534


Export to a binary string

  • « gmp_divexact
  • gmp_fact »
  • PHP Manual
  • GMP İşlevleri
  • Export to a binary string

gmp_export

(PHP 5 >= 5.6.1, PHP 7, PHP 8)

gmp_export — Export to a binary string

Açıklama

gmp_export(GMP|int|string $num, int $word_size = 1, int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN): string

Export a GMP number to a binary string

Bağımsız Değişkenler

num

The GMP number being exported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

flags

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Dönen Değerler

Returns a string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function no longer returns false on failure.

Örnekler

Örnek 1 gmp_export() example

<?php
$number = gmp_init(16705);
echo gmp_export($number) . "\n";
?>

Yukarıdaki örneğin çıktısı:

AA

Ayrıca Bakınız

  • gmp_import() - Import from a binary string


Factorial

  • « gmp_export
  • gmp_gcd »
  • PHP Manual
  • GMP İşlevleri
  • Factorial

gmp_fact

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_fact — Factorial

Açıklama

gmp_fact(GMP|int|string $num): GMP

Calculates factorial (num!) of num.

Bağımsız Değişkenler

num

The factorial number.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_fact() example

<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";

$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

120
30414093201713378043612608166064768844377641568960512000000000000


Calculate GCD

  • « gmp_fact
  • gmp_gcdext »
  • PHP Manual
  • GMP İşlevleri
  • Calculate GCD

gmp_gcd

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_gcd — Calculate GCD

Açıklama

gmp_gcd(GMP|int|string $num1, GMP|int|string $num2): GMP

Calculate greatest common divisor of num1 and num2. The result is always positive even if either of, or both, input operands are negative.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

A positive GMP number that divides into both num1 and num2.

Örnekler

Örnek 1 gmp_gcd() example

<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3

Ayrıca Bakınız

  • gmp_lcm() - Calculate LCM


Calculate GCD and multipliers

  • « gmp_gcd
  • gmp_hamdist »
  • PHP Manual
  • GMP İşlevleri
  • Calculate GCD and multipliers

gmp_gcdext

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_gcdext — Calculate GCD and multipliers

Açıklama

gmp_gcdext(GMP|int|string $num1, GMP|int|string $num2): array

Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd is the greatest common divisor. Returns an array with respective elements g, s and t.

This function can be used to solve linear Diophantine equations in two variables. These are equations that allow only integer solutions and have the form: a*x + b*y = c. For more information, go to the » "Diophantine Equation" page at MathWorld

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

An array of GMP numbers.

Örnekler

Örnek 1 Solving a linear Diophantine equation

<?php
// Solve the equation a*s + b*t = g
// where a = 12, b = 21, g = gcd(12, 21) = 3
$a = gmp_init(12);
$b = gmp_init(21);
$g = gmp_gcd($a, $b);
$r = gmp_gcdext($a, $b);

$check_gcd = (gmp_strval($g) == gmp_strval($r['g']));
$eq_res = gmp_add(gmp_mul($a, $r['s']), gmp_mul($b, $r['t']));
$check_res = (gmp_strval($g) == gmp_strval($eq_res));

if ($check_gcd && $check_res) {
$fmt = "Solution: %d*%d + %d*%d = %d\n";
printf($fmt, gmp_strval($a), gmp_strval($r['s']), gmp_strval($b),
gmp_strval($r['t']), gmp_strval($r['g']));
} else {
echo "Error while solving the equation\n";
}

// output: Solution: 12*2 + 21*-1 = 3
?>


Hamming distance

  • « gmp_gcdext
  • gmp_import »
  • PHP Manual
  • GMP İşlevleri
  • Hamming distance

gmp_hamdist

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_hamdist — Hamming distance

Açıklama

gmp_hamdist(GMP|int|string $num1, GMP|int|string $num2): int

Returns the hamming distance between num1 and num2. Both operands should be non-negative.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

It should be positive.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

It should be positive.

Dönen Değerler

The hamming distance between num1 and num2, as an int.

Örnekler

Örnek 1 gmp_hamdist() example

<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";

/* hamdist is equivalent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>

Yukarıdaki örneğin çıktısı:

6
6

Ayrıca Bakınız

  • gmp_popcount() - Population count
  • gmp_xor() - Bitwise XOR


Import from a binary string

  • « gmp_hamdist
  • gmp_init »
  • PHP Manual
  • GMP İşlevleri
  • Import from a binary string

gmp_import

(PHP 5 >= 5.6.1, PHP 7, PHP 8)

gmp_import — Import from a binary string

Açıklama

gmp_import(string $data, int $word_size = 1, int $flags = GMP_MSW_FIRST | GMP_NATIVE_ENDIAN): GMP

Import a GMP number from a binary string

Bağımsız Değişkenler

data

The binary string being imported

word_size

Default value is 1. The number of bytes in each chunk of binary data. This is mainly used in conjunction with the options parameter.

flags

Default value is GMP_MSW_FIRST | GMP_NATIVE_ENDIAN.

Dönen Değerler

Returns a GMP number.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function no longer returns false on failure.

Örnekler

Örnek 1 gmp_import() example

<?php
$number = gmp_import("\0");
echo gmp_strval($number) . "\n";

$number = gmp_import("\0\1\2");
echo gmp_strval($number) . "\n";
?>

Yukarıdaki örneğin çıktısı:

0
258

Ayrıca Bakınız

  • gmp_export() - Export to a binary string


Create GMP number

  • « gmp_import
  • gmp_intval »
  • PHP Manual
  • GMP İşlevleri
  • Create GMP number

gmp_init

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_init — Create GMP number

Açıklama

gmp_init(int|string $num, int $base = 0): GMP

Creates a GMP number from an integer or string.

Bağımsız Değişkenler

num

An integer or a string. The string representation can be decimal, hexadecimal or octal.

base

The base.

The base may vary from 2 to 62. If base is 0 (default value), the actual base is determined from the leading characters: if the first two characters are 0x or 0X, hexadecimal is assumed, if the first two characters are 0b or 0B, binary is assumed, otherwise if the first character is 0, octal is assumed, otherwise decimal is assumed. For bases up to 36, case is ignored; upper-case and lower-case letters have the same value. For bases 37 to 62, upper-case letter represent the usual 10 to 35 while lower-case letter represent 36 to 61.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 Creating GMP number

<?php
$a = gmp_init(123456);
$b = gmp_init("0xFFFFDEBACDFEDF7200");
?>

Notlar

Bilginize:

It is not necessary to call this function in order to use integers or strings in place of GMP numbers in GMP functions (such as with gmp_add()). Function arguments are automatically converted to GMP numbers, if such conversion is possible and needed, using the same rules as gmp_init().

Ayrıca Bakınız

  • GMP::__construct() - Create GMP number


Convert GMP number to integer

  • « gmp_init
  • gmp_invert »
  • PHP Manual
  • GMP İşlevleri
  • Convert GMP number to integer

gmp_intval

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_intval — Convert GMP number to integer

Açıklama

gmp_intval(GMP|int|string $num): int

This function converts GMP number into native PHP ints.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

The int value of num.

Örnekler

Örnek 1 gmp_intval() example

<?php
// displays correct result
echo gmp_intval("2147483647") . "\n";

// displays wrong result, above PHP integer limit
echo gmp_intval("2147483648") . "\n";

// displays correct result
echo gmp_strval("2147483648") . "\n";
?>

Yukarıdaki örneğin çıktısı:

2147483647
2147483647
2147483648

Notlar

Uyarı

This function returns a useful result only if the number actually fits the PHP integer (i.e., signed long type). To simply print the GMP number, use gmp_strval().


Inverse by modulo

  • « gmp_intval
  • gmp_jacobi »
  • PHP Manual
  • GMP İşlevleri
  • Inverse by modulo

gmp_invert

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_invert — Inverse by modulo

Açıklama

gmp_invert(GMP|int|string $num1, GMP|int|string $num2): GMP|false

Computes the inverse of num1 modulo num2.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

A GMP number on success or false if an inverse does not exist.

Örnekler

Örnek 1 gmp_invert() example

<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>

Yukarıdaki örneğin çıktısı:

9


Jacobi symbol

  • « gmp_invert
  • gmp_kronecker »
  • PHP Manual
  • GMP İşlevleri
  • Jacobi symbol

gmp_jacobi

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_jacobi — Jacobi symbol

Açıklama

gmp_jacobi(GMP|int|string $num1, GMP|int|string $num2): int

Computes » Jacobi symbol of num1 and num2. num2 should be odd and must be positive.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Should be odd and must be positive.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_jacobi() example

<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>

Yukarıdaki örneğin çıktısı:

1
0

Ayrıca Bakınız

  • gmp_kronecker() - Kronecker symbol
  • gmp_legendre() - Legendre symbol


Kronecker symbol

  • « gmp_jacobi
  • gmp_lcm »
  • PHP Manual
  • GMP İşlevleri
  • Kronecker symbol

gmp_kronecker

(PHP 7 >= 7.3.0, PHP 8)

gmp_kronecker — Kronecker symbol

Açıklama

gmp_kronecker(GMP|int|string $num1, GMP|int|string $num2): int

This function computes the Kronecker symbol of num1 and num2.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns the Kronecker symbol of num1 and num2

Ayrıca Bakınız

  • gmp_jacobi() - Jacobi symbol
  • gmp_legendre() - Legendre symbol


Calculate LCM

  • « gmp_kronecker
  • gmp_legendre »
  • PHP Manual
  • GMP İşlevleri
  • Calculate LCM

gmp_lcm

(PHP 7 >= 7.3.0, PHP 8)

gmp_lcm — Calculate LCM

Açıklama

gmp_lcm(GMP|int|string $num1, GMP|int|string $num2): GMP

This function computes the least common multiple (lcm) of num1 and num2.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Ayrıca Bakınız

  • gmp_gcd() - Calculate GCD


Legendre symbol

  • « gmp_lcm
  • gmp_mod »
  • PHP Manual
  • GMP İşlevleri
  • Legendre symbol

gmp_legendre

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_legendre — Legendre symbol

Açıklama

gmp_legendre(GMP|int|string $num1, GMP|int|string $num2): int

Compute the » Legendre symbol of num1 and num2. num2 should be odd and must be positive.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Should be odd and must be positive.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_legendre() example

<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>

Yukarıdaki örneğin çıktısı:

1
0

Ayrıca Bakınız

  • gmp_jacobi() - Jacobi symbol
  • gmp_kronecker() - Kronecker symbol


Modulo operation

  • « gmp_legendre
  • gmp_mul »
  • PHP Manual
  • GMP İşlevleri
  • Modulo operation

gmp_mod

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_mod — Modulo operation

Açıklama

gmp_mod(GMP|int|string $num1, GMP|int|string $num2): GMP

Calculates num1 modulo num2. The result is always non-negative, the sign of num2 is ignored.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The modulo that is being evaluated.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_mod() example

<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>

Yukarıdaki örneğin çıktısı:

2


Multiply numbers

  • « gmp_mod
  • gmp_neg »
  • PHP Manual
  • GMP İşlevleri
  • Multiply numbers

gmp_mul

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_mul — Multiply numbers

Açıklama

gmp_mul(GMP|int|string $num1, GMP|int|string $num2): GMP

Multiplies num1 by num2 and returns the result.

Bağımsız Değişkenler

num1

A number that will be multiplied by num2.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

A number that will be multiplied by num1.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_mul() example

<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>

Yukarıdaki örneğin çıktısı:

24691356000


Negate number

  • « gmp_mul
  • gmp_nextprime »
  • PHP Manual
  • GMP İşlevleri
  • Negate number

gmp_neg

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_neg — Negate number

Açıklama

gmp_neg(GMP|int|string $num): GMP

Returns the negative value of a number.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns -num, as a GMP number.

Örnekler

Örnek 1 gmp_neg() example

<?php
$neg1 = gmp_neg("1");
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1");
echo gmp_strval($neg2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

-1
1


Find next prime number

  • « gmp_neg
  • gmp_or »
  • PHP Manual
  • GMP İşlevleri
  • Find next prime number

gmp_nextprime

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

gmp_nextprime — Find next prime number

Açıklama

gmp_nextprime(GMP|int|string $num): GMP

Find next prime number

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Return the next prime number greater than num, as a GMP number.

Örnekler

Örnek 1 gmp_nextprime() example

<?php
$prime1 = gmp_nextprime(10); // next prime number greater than 10
$prime2 = gmp_nextprime(-1000); // next prime number greater than -1000

echo gmp_strval($prime1) . "\n";
echo gmp_strval($prime2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

11
2

Notlar

Bilginize:

This function uses a probabilistic algorithm to identify primes and chances to get a composite number are extremely small.


Bitwise OR

  • « gmp_nextprime
  • gmp_perfect_power »
  • PHP Manual
  • GMP İşlevleri
  • Bitwise OR

gmp_or

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_or — Bitwise OR

Açıklama

gmp_or(GMP|int|string $num1, GMP|int|string $num2): GMP

Calculates bitwise inclusive OR of two GMP numbers.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_or() example

<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>

Yukarıdaki örneğin çıktısı:

fffffff6
fffffff2


Perfect power check

  • « gmp_or
  • gmp_perfect_square »
  • PHP Manual
  • GMP İşlevleri
  • Perfect power check

gmp_perfect_power

(PHP 7 >= 7.3.0, PHP 8)

gmp_perfect_power — Perfect power check

Açıklama

gmp_perfect_power(GMP|int|string $num): bool

Checks whether num is a perfect power.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns true if num is a perfect power, false otherwise.

Ayrıca Bakınız

  • gmp_perfect_square() - Perfect square check


Perfect square check

  • « gmp_perfect_power
  • gmp_popcount »
  • PHP Manual
  • GMP İşlevleri
  • Perfect square check

gmp_perfect_square

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_perfect_square — Perfect square check

Açıklama

gmp_perfect_square(GMP|int|string $num): bool

Check if a number is a perfect square.

Bağımsız Değişkenler

num

The number being checked as a perfect square.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns true if num is a perfect square, false otherwise.

Örnekler

Örnek 1 gmp_perfect_square() example

<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));

// not a perfect square
var_dump(gmp_perfect_square("7"));

// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(true)

Ayrıca Bakınız

  • gmp_perfect_power() - Perfect power check
  • gmp_sqrt() - Calculate square root
  • gmp_sqrtrem() - Square root with remainder


Population count

  • « gmp_perfect_square
  • gmp_pow »
  • PHP Manual
  • GMP İşlevleri
  • Population count

gmp_popcount

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_popcount — Population count

Açıklama

gmp_popcount(GMP|int|string $num): int

Get the population count.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

The population count of num, as an int.

Örnekler

Örnek 1 gmp_popcount() example

<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3
7


Raise number into power

  • « gmp_popcount
  • gmp_powm »
  • PHP Manual
  • GMP İşlevleri
  • Raise number into power

gmp_pow

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_pow — Raise number into power

Açıklama

gmp_pow(GMP|int|string $num, int $exponent): GMP

Raise num into power exponent.

Bağımsız Değişkenler

num

The base number.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

exponent

The positive power to raise the num.

Dönen Değerler

The new (raised) number, as a GMP number. The case of 0^0 yields 1.

Örnekler

Örnek 1 gmp_pow() example

<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Negative exp, generates warning
echo gmp_strval($pow3) . "\n";
?>

Yukarıdaki örneğin çıktısı:

2147483648
1


Raise number into power with modulo

  • « gmp_pow
  • gmp_prob_prime »
  • PHP Manual
  • GMP İşlevleri
  • Raise number into power with modulo

gmp_powm

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_powm — Raise number into power with modulo

Açıklama

gmp_powm(GMP|int|string $num, GMP|int|string $exponent, GMP|int|string $modulus): GMP

Calculate (num raised into power exponent) modulo modulus. If exponent is negative, result is undefined.

Bağımsız Değişkenler

num

The base number.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

exponent

The positive power to raise the num.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

modulus

The modulo.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

The new (raised) number, as a GMP number.

Örnekler

Örnek 1 gmp_powm() example

<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>

Yukarıdaki örneğin çıktısı:

2147483648


Check if number is "probably prime"

  • « gmp_powm
  • gmp_random_bits »
  • PHP Manual
  • GMP İşlevleri
  • Check if number is "probably prime"

gmp_prob_prime

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_prob_prime — Check if number is "probably prime"

Açıklama

gmp_prob_prime(GMP|int|string $num, int $repetitions = 10): int

The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

Bağımsız Değişkenler

num

The number being checked as a prime.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

repetitions

Reasonable values of repetitions vary from 5 to 10 (default being 10); a higher value lowers the probability for a non-prime to pass as a "probable" prime.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

If this function returns 0, num is definitely not prime. If it returns 1, then num is "probably" prime. If it returns 2, then num is surely prime.

Örnekler

Örnek 1 gmp_prob_prime() example

<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";

// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";

// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>

Yukarıdaki örneğin çıktısı:

0
1
2


Random number

  • « gmp_prob_prime
  • gmp_random_range »
  • PHP Manual
  • GMP İşlevleri
  • Random number

gmp_random_bits

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_bits — Random number

Açıklama

gmp_random_bits(int $bits): GMP

Generate a random number. The number will be between 0 and 2$bits - 1.

bits must greater than 0, and the maximum value is restricted by available memory.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

bits

The number of bits to generate.

Dönen Değerler

A random GMP number.

Hatalar/İstisnalar

If bits is less than 1, a ValueError will be thrown.

Örnekler

Örnek 1 gmp_random_bits() example

<?php
$rand1 = gmp_random_bits(3); // random number from 0 to 7
$rand2 = gmp_random_bits(5); // random number from 0 to 31

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3
15


Get a uniformly selected integer

  • « gmp_random_bits
  • gmp_random_seed »
  • PHP Manual
  • GMP İşlevleri
  • Get a uniformly selected integer

gmp_random_range

(PHP 5 >= 5.6.3, PHP 7, PHP 8)

gmp_random_range — Get a uniformly selected integer

Açıklama

gmp_random_range(GMP|int|string $min, GMP|int|string $max): GMP

Generate a random number. The number will be between min and max.

min and max can both be negative, but min must always be less than max.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

min

A GMP number representing the lower bound for the random number

max

A GMP number representing the upper bound for the random number

Dönen Değerler

Returns a GMP object which contains a uniformly selected integer from the closed interval [min, max]. Both min and max are possible return values.

Hatalar/İstisnalar

If max is less than min, a ValueError will be thrown.

Örnekler

Örnek 1 gmp_random_range() example

<?php
$rand1 = gmp_random_range(0, 100); // random number between 0 and 100
$rand2 = gmp_random_range(-100, -10); // random number between -100 and -10

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

42
-67


Sets the RNG seed

  • « gmp_random_range
  • gmp_random »
  • PHP Manual
  • GMP İşlevleri
  • Sets the RNG seed

gmp_random_seed

(PHP 7, PHP 8)

gmp_random_seed — Sets the RNG seed

Açıklama

gmp_random_seed(GMP|int|string $seed): void

Bağımsız Değişkenler

seed

The seed to be set for the gmp_random(), gmp_random_bits(), and gmp_random_range() functions.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws a ValueError if seed is invalid.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | If seed is invalid, gmp_random_seed() now throws a ValueError. Previously it emitted an E_WARNING and returned false.

Örnekler

Örnek 1 gmp_random_seed() example

<?php
// set the seed
gmp_random_seed(100);

var_dump(gmp_strval(gmp_random(1)));

// set the seed to something else
gmp_random_seed(gmp_init(-100));

var_dump(gmp_strval(gmp_random_bits(10)));

// set the seed to something invalid
var_dump(gmp_random_seed('not a number'));

Yukarıdaki örneğin çıktısı:

string(20) "15370156633245019617"
string(3) "683"

Warning: gmp_random_seed(): Unable to convert variable to GMP - string is not an integer in %s on line %d
bool(false)

Ayrıca Bakınız

  • gmp_init() - Create GMP number
  • gmp_random() - Random number
  • gmp_random_bits() - Random number
  • gmp_random_range() - Get a uniformly selected integer


Random number

  • « gmp_random_seed
  • gmp_root »
  • PHP Manual
  • GMP İşlevleri
  • Random number

gmp_random

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

gmp_random — Random number

Uyarı

Bu işlevin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

gmp_random(int $limiter = 20): GMP

Generate a random number. The number will be between 0 and (2 ** n) - 1, where n is the number of bits per limb multiplied by limiter. If limiter is negative, negative numbers are generated.

A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from system to system. Generally, the number of bits in a limb is either 32 or 64, but this is not guaranteed.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

limiter

The limiter.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

A random GMP number.

Örnekler

Örnek 1 gmp_random() example

<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb

echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

1915834968
8642564075890328087


Take the integer part of nth root

  • « gmp_random
  • gmp_rootrem »
  • PHP Manual
  • GMP İşlevleri
  • Take the integer part of nth root

gmp_root

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

gmp_root — Take the integer part of nth root

Açıklama

gmp_root(GMP|int|string $num, int $nth): GMP

Takes the nth root of num and returns the integer component of the result.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

nth

The positive root to take of num.

Dönen Değerler

The integer component of the resultant root, as a GMP number.


Take the integer part and remainder of nth root

  • « gmp_root
  • gmp_scan0 »
  • PHP Manual
  • GMP İşlevleri
  • Take the integer part and remainder of nth root

gmp_rootrem

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

gmp_rootrem — Take the integer part and remainder of nth root

Açıklama

gmp_rootrem(GMP|int|string $num, int $nth): array

Takes the nth root of num and returns the integer component and remainder of the result.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

nth

The positive root to take of num.

Dönen Değerler

A two element array, where the first element is the integer component of the root, and the second element is the remainder, both represented as GMP numbers.


Scan for 0

  • « gmp_rootrem
  • gmp_scan1 »
  • PHP Manual
  • GMP İşlevleri
  • Scan for 0

gmp_scan0

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_scan0 — Scan for 0

Açıklama

gmp_scan0(GMP|int|string $num1, int $start): int

Scans num1, starting with bit start, towards more significant bits, until the first clear bit is found.

Bağımsız Değişkenler

num1

The number to scan.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

start

The starting bit.

Dönen Değerler

Returns the index of the found bit, as an int. The index starts from 0.

Örnekler

Örnek 1 gmp_scan0() example

<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";

// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3
7


Scan for 1

  • « gmp_scan0
  • gmp_setbit »
  • PHP Manual
  • GMP İşlevleri
  • Scan for 1

gmp_scan1

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_scan1 — Scan for 1

Açıklama

gmp_scan1(GMP|int|string $num1, int $start): int

Scans num1, starting with bit start, towards more significant bits, until the first set bit is found.

Bağımsız Değişkenler

num1

The number to scan.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

start

The starting bit.

Dönen Değerler

Returns the index of the found bit, as an int. If no set bit is found, -1 is returned.

Örnekler

Örnek 1 gmp_scan1() example

<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";

// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3
9


Set bit

  • « gmp_scan1
  • gmp_sign »
  • PHP Manual
  • GMP İşlevleri
  • Set bit

gmp_setbit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_setbit — Set bit

Açıklama

gmp_setbit(GMP $num, int $index, bool $value = true): void

Sets bit index in num.

Bağımsız Değişkenler

num

A GMP object.

index

The index of the bit to set. Index 0 represents the least significant bit.

value

True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_setbit() example - 0 index

<?php
$a = gmp_init("2"); //
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0); // 0b10 now becomes 0b11
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Yukarıdaki örneğin çıktısı:

2 -> 0b10
3 -> 0b11

Örnek 2 gmp_setbit() example - 1 index

<?php
$a = gmp_init("0xfd");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Yukarıdaki örneğin çıktısı:

253 -> 0b11111101
255 -> 0b11111111

Örnek 3 gmp_setbit() example - clearing a bit

<?php
$a = gmp_init("0xff");
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
gmp_setbit($a, 0, false); // clear bit at index 0
echo gmp_strval($a), ' -> 0b', gmp_strval($a, 2), "\n";
?>

Yukarıdaki örneğin çıktısı:

255 -> 0b11111111
254 -> 0b11111110

Notlar

Bilginize:

Unlike most of the other GMP functions, gmp_setbit() must be called with a GMP object that already exists (using gmp_init() for example). One will not be automatically created.

Ayrıca Bakınız

  • gmp_clrbit() - Clear bit
  • gmp_testbit() - Tests if a bit is set


Sign of number

  • « gmp_setbit
  • gmp_sqrt »
  • PHP Manual
  • GMP İşlevleri
  • Sign of number

gmp_sign

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sign — Sign of number

Açıklama

gmp_sign(GMP|int|string $num): int

Checks the sign of a number.

Bağımsız Değişkenler

num

Either a GMP object, or a numeric string provided that it is possible to convert the latter to an int.

Dönen Değerler

Returns 1 if num is positive, -1 if num is negative, and 0 if num is zero.

Örnekler

Örnek 1 gmp_sign() example

<?php
// positive
echo gmp_sign("500") . "\n";

// negative
echo gmp_sign("-500") . "\n";

// zero
echo gmp_sign("0") . "\n";
?>

Yukarıdaki örneğin çıktısı:

1
-1
0

Ayrıca Bakınız

  • gmp_abs() - Absolute value
  • abs() - Absolute value


Calculate square root

  • « gmp_sign
  • gmp_sqrtrem »
  • PHP Manual
  • GMP İşlevleri
  • Calculate square root

gmp_sqrt

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sqrt — Calculate square root

Açıklama

gmp_sqrt(GMP|int|string $num): GMP

Calculates square root of num.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

The integer portion of the square root, as a GMP number.

Örnekler

Örnek 1 gmp_sqrt() example

<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");

echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3
2
1234567890


Square root with remainder

  • « gmp_sqrt
  • gmp_strval »
  • PHP Manual
  • GMP İşlevleri
  • Square root with remainder

gmp_sqrtrem

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sqrtrem — Square root with remainder

Açıklama

gmp_sqrtrem(GMP|int|string $num): array

Calculate the square root of a number, with remainder.

Bağımsız Değişkenler

num

The number being square rooted.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Returns array where first element is the integer square root of num and the second is the remainder (i.e., the difference between num and the first element squared).

Örnekler

Örnek 1 gmp_sqrtrem() example

<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");

echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>

Yukarıdaki örneğin çıktısı:

3, 0
2, 3
1024, 0


Convert GMP number to string

  • « gmp_sqrtrem
  • gmp_sub »
  • PHP Manual
  • GMP İşlevleri
  • Convert GMP number to string

gmp_strval

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_strval — Convert GMP number to string

Açıklama

gmp_strval(GMP|int|string $num, int $base = 10): string

Convert GMP number to string representation in base base. The default base is 10.

Bağımsız Değişkenler

num

The GMP number that will be converted to a string.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

base

The base of the returned number. The default base is 10. Allowed values for the base are from 2 to 62 and -2 to -36.

Dönen Değerler

The number, as a string.

Örnekler

Örnek 1 Converting a GMP number to a string

<?php
$a = gmp_init("0x41682179fbf5");
printf("Decimal: %s, 36-based: %s", gmp_strval($a), gmp_strval($a,36));
?>


Subtract numbers

  • « gmp_strval
  • gmp_testbit »
  • PHP Manual
  • GMP İşlevleri
  • Subtract numbers

gmp_sub

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_sub — Subtract numbers

Açıklama

gmp_sub(GMP|int|string $num1, GMP|int|string $num2): GMP

Subtracts num2 from num1 and returns the result.

Bağımsız Değişkenler

num1

The number being subtracted from.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

The number subtracted from num1.

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_sub() example

<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>

Yukarıdaki örneğin çıktısı:

281470681743360


Tests if a bit is set

  • « gmp_sub
  • gmp_xor »
  • PHP Manual
  • GMP İşlevleri
  • Tests if a bit is set

gmp_testbit

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gmp_testbit — Tests if a bit is set

Açıklama

gmp_testbit(GMP|int|string $num, int $index): bool

Tests if the specified bit is set.

Bağımsız Değişkenler

num

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

index

The bit to test

Dönen Değerler

Returns true if the bit is set in num, otherwise false.

Hatalar/İstisnalar

An E_WARNING level error is issued when index is less than zero, and false is returned.

Örnekler

Örnek 1 gmp_testbit() example

<?php
$n = gmp_init("1000000");
var_dump(gmp_testbit($n, 1));
gmp_setbit($n, 1);
var_dump(gmp_testbit($n, 1));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • gmp_setbit() - Set bit
  • gmp_clrbit() - Clear bit


Bitwise XOR

  • « gmp_testbit
  • GMP »
  • PHP Manual
  • GMP İşlevleri
  • Bitwise XOR

gmp_xor

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

gmp_xor — Bitwise XOR

Açıklama

gmp_xor(GMP|int|string $num1, GMP|int|string $num2): GMP

Calculates bitwise exclusive OR (XOR) of two GMP numbers.

Bağımsız Değişkenler

num1

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

num2

Bir GMP nesnesi, bir tamsayı veya sayısal bir dizge.

Dönen Değerler

Bir GMP nesnesi.

Örnekler

Örnek 1 gmp_xor() example

<?php
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);

$xor3 = gmp_xor($xor1, $xor2);

echo gmp_strval($xor3, 2) . "\n";
?>

Yukarıdaki örneğin çıktısı:

1011110111000100


The GMP class

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

Giriş

A GMP number. These objects support overloaded arithmetic, bitwise and comparison operators.

Bilginize:

No object-oriented interface is provided to manipulate GMP objects. Please use the procedural GMP API.

class GMP {
/* Yöntemler */
public __construct(int|string $num = 0, int $base = 0)
public __serialize(): array
public __unserialize(array $data): void
}

İçindekiler

  • GMP::__construct — Create GMP number
  • GMP::__serialize — Serializes the GMP object
  • GMP::__unserialize — Deserializes the data parameter into a GMP object


Create GMP number

  • « GMP
  • GMP::__serialize »
  • PHP Manual
  • GMP
  • Create GMP number

GMP::__construct

(PHP 8 >= 8.2.4)

GMP::__construct — Create GMP number

Açıklama

public GMP::__construct(int|string $num = 0, int $base = 0)

Creates a GMP number from an integer or string.

Bağımsız Değişkenler

num

An integer or a string. The string representation can be decimal, hexadecimal or octal.

base

The base.

The base may vary from 2 to 62. If base is 0 (default value), the actual base is determined from the leading characters: if the first two characters are 0x or 0X, hexadecimal is assumed, if the first two characters are 0b or 0B, binary is assumed, otherwise if the first character is 0, octal is assumed, otherwise decimal is assumed. For bases up to 36, case is ignored; upper-case and lower-case letters have the same value. For bases 37 to 62, upper-case letter represent the usual 10 to 35 while lower-case letter represent 36 to 61.

Ayrıca Bakınız

  • gmp_init() - Create GMP number


Serializes the GMP object

  • « GMP::__construct
  • GMP::__unserialize »
  • PHP Manual
  • GMP
  • Serializes the GMP object

GMP::__serialize

(PHP 8 >= 8.1.0)

GMP::__serialize — Serializes the GMP object

Açıklama

public GMP::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Deserializes the data parameter into a GMP object

  • « GMP::__serialize
  • Math »
  • PHP Manual
  • GMP
  • Deserializes the data parameter into a GMP object

GMP::__unserialize

(PHP 8 >= 8.1.0)

GMP::__unserialize — Deserializes the data parameter into a GMP object

Açıklama

public GMP::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The value being deserialized.

Dönen Değerler

Hiçbir değer dönmez.


Mathematical Functions

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Math İşlevleri
    • abs — Absolute value
    • acos — Arc cosine
    • acosh — Inverse hyperbolic cosine
    • asin — Arc sine
    • asinh — Inverse hyperbolic sine
    • atan2 — Arc tangent of two variables
    • atan — Arc tangent
    • atanh — Inverse hyperbolic tangent
    • base_convert — Convert a number between arbitrary bases
    • bindec — Binary to decimal
    • ceil — Round fractions up
    • cos — Cosine
    • cosh — Hyperbolic cosine
    • decbin — Decimal to binary
    • dechex — Decimal to hexadecimal
    • decoct — Decimal to octal
    • deg2rad — Converts the number in degrees to the radian equivalent
    • exp — Calculates the exponent of e
    • expm1 — Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero
    • fdiv — Divides two numbers, according to IEEE 754
    • floor — Round fractions down
    • fmod — Returns the floating point remainder (modulo) of the division of the arguments
    • hexdec — Hexadecimal to decimal
    • hypot — Calculate the length of the hypotenuse of a right-angle triangle
    • intdiv — Integer division
    • is_finite — Checks whether a float is finite
    • is_infinite — Checks whether a float is infinite
    • is_nan — Checks whether a float is NAN
    • log10 — Base-10 logarithm
    • log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
    • log — Natural logarithm
    • max — Find highest value
    • min — Find lowest value
    • octdec — Octal to decimal
    • pi — Get value of pi
    • pow — Exponential expression
    • rad2deg — Converts the radian number to the equivalent number in degrees
    • round — Rounds a float
    • sin — Sine
    • sinh — Hyperbolic sine
    • sqrt — Square root
    • tan — Tangent
    • tanh — Hyperbolic tangent


Giriş

These math functions will only handle values within the range of the int and float types. To handle larger numbers, take a look at the arbitrary precision math or GNU Multiple Precision functions functions.

Ayrıca Bakınız

  • arithmetic operators
  • Arbitrary precision math functions
  • GNU Multiple Precision functions


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

Math constants
Constant | Value | Description | Availability
M_PI | 3.14159265358979323846 | Pi |
M_E | 2.7182818284590452354 | e |
M_LOG2E | 1.4426950408889634074 | log_2 e |
M_LOG10E | 0.43429448190325182765 | log_10 e |
M_LN2 | 0.69314718055994530942 | log_e 2 |
M_LN10 | 2.30258509299404568402 | log_e 10 |
M_PI_2 | 1.57079632679489661923 | pi/2 |
M_PI_4 | 0.78539816339744830962 | pi/4 |
M_1_PI | 0.31830988618379067154 | 1/pi |
M_2_PI | 0.63661977236758134308 | 2/pi |
M_SQRTPI | 1.77245385090551602729 | sqrt(pi) |
M_2_SQRTPI | 1.12837916709551257390 | 2/sqrt(pi) |
M_SQRT2 | 1.41421356237309504880 | sqrt(2) |
M_SQRT3 | 1.73205080756887729352 | sqrt(3) |
M_SQRT1_2 | 0.70710678118654752440 | 1/sqrt(2) |
M_LNPI | 1.14472988584940017414 | log_e(pi) |
M_EULER | 0.57721566490153286061 | Euler constant |
PHP_ROUND_HALF_UP | 1 | Round halves up |
PHP_ROUND_HALF_DOWN | 2 | Round halves down |
PHP_ROUND_HALF_EVEN | 3 | Round halves to even numbers |
PHP_ROUND_HALF_ODD | 4 | Round halves to odd numbers |
NAN | NAN (as a float) | Not A Number |
INF | INF (as a float) | The infinite |


Math İşlevleri

İçindekiler

  • abs — Absolute value
  • acos — Arc cosine
  • acosh — Inverse hyperbolic cosine
  • asin — Arc sine
  • asinh — Inverse hyperbolic sine
  • atan2 — Arc tangent of two variables
  • atan — Arc tangent
  • atanh — Inverse hyperbolic tangent
  • base_convert — Convert a number between arbitrary bases
  • bindec — Binary to decimal
  • ceil — Round fractions up
  • cos — Cosine
  • cosh — Hyperbolic cosine
  • decbin — Decimal to binary
  • dechex — Decimal to hexadecimal
  • decoct — Decimal to octal
  • deg2rad — Converts the number in degrees to the radian equivalent
  • exp — Calculates the exponent of e
  • expm1 — Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero
  • fdiv — Divides two numbers, according to IEEE 754
  • floor — Round fractions down
  • fmod — Returns the floating point remainder (modulo) of the division of the arguments
  • hexdec — Hexadecimal to decimal
  • hypot — Calculate the length of the hypotenuse of a right-angle triangle
  • intdiv — Integer division
  • is_finite — Checks whether a float is finite
  • is_infinite — Checks whether a float is infinite
  • is_nan — Checks whether a float is NAN
  • log10 — Base-10 logarithm
  • log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
  • log — Natural logarithm
  • max — Find highest value
  • min — Find lowest value
  • octdec — Octal to decimal
  • pi — Get value of pi
  • pow — Exponential expression
  • rad2deg — Converts the radian number to the equivalent number in degrees
  • round — Rounds a float
  • sin — Sine
  • sinh — Hyperbolic sine
  • sqrt — Square root
  • tan — Tangent
  • tanh — Hyperbolic tangent


Absolute value

  • « Math İşlevleri
  • acos »
  • PHP Manual
  • Math İşlevleri
  • Absolute value

abs

(PHP 4, PHP 5, PHP 7, PHP 8)

abs — Absolute value

Açıklama

abs(int|float $num): int|float

Returns the absolute value of num.

Bağımsız Değişkenler

num

The numeric value to process

Dönen Değerler

The absolute value of num. If the argument num is of type float, the return type is also float, otherwise it is int (as float usually has a bigger value range than int).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | num no longer accepts internal objects which support numeric conversion.

Örnekler

Örnek 1 abs() example

<?php
var_dump(abs(-4.2));
var_dump(abs(5));
var_dump(abs(-5));
?>

Yukarıdaki örneğin çıktısı:

float(4.2)
int(5)
int(5)

Ayrıca Bakınız

  • gmp_abs() - Absolute value
  • gmp_sign() - Sign of number


Arc cosine

  • « abs
  • acosh »
  • PHP Manual
  • Math İşlevleri
  • Arc cosine

acos

(PHP 4, PHP 5, PHP 7, PHP 8)

acos — Arc cosine

Açıklama

acos(float $num): float

Returns the arc cosine of num in radians. acos() is the inverse function of cos(), which means that $num == cos(acos($num)) for every value of num that is in the domain of acos().

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The arc cosine of num in radians.

Ayrıca Bakınız

  • cos() - Cosine
  • acosh() - Inverse hyperbolic cosine
  • asin() - Arc sine
  • atan() - Arc tangent


Inverse hyperbolic cosine

  • « acos
  • asin »
  • PHP Manual
  • Math İşlevleri
  • Inverse hyperbolic cosine

acosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

acosh — Inverse hyperbolic cosine

Açıklama

acosh(float $num): float

Returns the inverse hyperbolic cosine of num, i.e. the value whose hyperbolic cosine is num.

Bağımsız Değişkenler

num

The value to process

Dönen Değerler

The inverse hyperbolic cosine of num

Ayrıca Bakınız

  • cosh() - Hyperbolic cosine
  • acos() - Arc cosine
  • asinh() - Inverse hyperbolic sine
  • atanh() - Inverse hyperbolic tangent


Arc sine

  • « acosh
  • asinh »
  • PHP Manual
  • Math İşlevleri
  • Arc sine

asin

(PHP 4, PHP 5, PHP 7, PHP 8)

asin — Arc sine

Açıklama

asin(float $num): float

Returns the arc sine of num in radians. asin() is the inverse function of sin(), which means that $num == sin(asin($num)) for every value of num that is in the domain of asin().

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The arc sine of num in radians

Ayrıca Bakınız

  • sin() - Sine
  • asinh() - Inverse hyperbolic sine
  • acos() - Arc cosine
  • atan() - Arc tangent


Inverse hyperbolic sine

  • « asin
  • atan2 »
  • PHP Manual
  • Math İşlevleri
  • Inverse hyperbolic sine

asinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

asinh — Inverse hyperbolic sine

Açıklama

asinh(float $num): float

Returns the inverse hyperbolic sine of num, i.e. the value whose hyperbolic sine is num.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The inverse hyperbolic sine of num

Ayrıca Bakınız

  • sinh() - Hyperbolic sine
  • asin() - Arc sine
  • acosh() - Inverse hyperbolic cosine
  • atanh() - Inverse hyperbolic tangent


Arc tangent of two variables

  • « asinh
  • atan »
  • PHP Manual
  • Math İşlevleri
  • Arc tangent of two variables

atan2

(PHP 4, PHP 5, PHP 7, PHP 8)

atan2 — Arc tangent of two variables

Açıklama

atan2(float $y, float $x): float

This function calculates the arc tangent of the two variables x and y. It is similar to calculating the arc tangent of y / x, except that the signs of both arguments are used to determine the quadrant of the result.

The function returns the result in radians, which is between -PI and PI (inclusive).

Bağımsız Değişkenler

y

Dividend parameter

x

Divisor parameter

Dönen Değerler

The arc tangent of y/x in radians.

Ayrıca Bakınız

  • atan() - Arc tangent


Arc tangent

  • « atan2
  • atanh »
  • PHP Manual
  • Math İşlevleri
  • Arc tangent

atan

(PHP 4, PHP 5, PHP 7, PHP 8)

atan — Arc tangent

Açıklama

atan(float $num): float

Returns the arc tangent of num in radians. atan() is the inverse function of tan(), which means that $num == tan(atan($num)) for every value of num that is in the domain of atan().

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The arc tangent of num in radians.

Ayrıca Bakınız

  • tan() - Tangent
  • atanh() - Inverse hyperbolic tangent
  • asin() - Arc sine
  • acos() - Arc cosine


Inverse hyperbolic tangent

  • « atan
  • base_convert »
  • PHP Manual
  • Math İşlevleri
  • Inverse hyperbolic tangent

atanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

atanh — Inverse hyperbolic tangent

Açıklama

atanh(float $num): float

Returns the inverse hyperbolic tangent of num, i.e. the value whose hyperbolic tangent is num.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

Inverse hyperbolic tangent of num

Ayrıca Bakınız

  • tanh() - Hyperbolic tangent
  • atan() - Arc tangent
  • asinh() - Inverse hyperbolic sine
  • acosh() - Inverse hyperbolic cosine


Convert a number between arbitrary bases

  • « atanh
  • bindec »
  • PHP Manual
  • Math İşlevleri
  • Convert a number between arbitrary bases

base_convert

(PHP 4, PHP 5, PHP 7, PHP 8)

base_convert — Convert a number between arbitrary bases

Açıklama

base_convert(string $num, int $from_base, int $to_base): string

Returns a string containing num represented in base to_base. The base in which num is given is specified in from_base. Both from_base and to_base have to be between 2 and 36, inclusive. Digits in numbers with a base higher than 10 will be represented with the letters a-z, with a meaning 10, b meaning 11 and z meaning 35. The case of the letters doesn't matter, i.e. num is interpreted case-insensitively.

Uyarı

base_convert() may lose precision on large numbers due to properties related to the internal float type used. Please see the Floating point numbers section in the manual for more specific information and limitations.

Bağımsız Değişkenler

num

The number to convert. Any invalid characters in num are silently ignored. As of PHP 7.4.0 supplying any invalid characters is deprecated.

from_base

The base num is in

to_base

The base to convert num to

Dönen Değerler

num converted to base to_base

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Passing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.

Örnekler

Örnek 1 base_convert() example

<?php
$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);
?>

Yukarıdaki örneğin çıktısı:

101000110111001100110100

Ayrıca Bakınız

  • intval() - Bir değişkenin tamsayı değerini döndürür


Binary to decimal

  • « base_convert
  • ceil »
  • PHP Manual
  • Math İşlevleri
  • Binary to decimal

bindec

(PHP 4, PHP 5, PHP 7, PHP 8)

bindec — Binary to decimal

Açıklama

bindec(string $binary_string): int|float

Returns the decimal equivalent of the binary number represented by the binary_string argument.

bindec() converts a binary number to an int or, if needed for size reasons, float.

bindec() interprets all binary_string values as unsigned integers. This is because bindec() sees the most significant bit as another order of magnitude rather than as the sign bit.

Bağımsız Değişkenler

binary_string

The binary string to convert. Any invalid characters in binary_string are silently ignored. As of PHP 7.4.0 supplying any invalid characters is deprecated.

Uyarı

The parameter must be a string. Using other data types will produce unexpected results.

Dönen Değerler

The decimal value of binary_string

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Passing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.

Örnekler

Örnek 1 bindec() example

<?php
echo bindec('110011') . "\n";
echo bindec('000110011') . "\n";

echo bindec('111');
?>

Yukarıdaki örneğin çıktısı:

51
51
7

Örnek 2 bindec() interprets input as unsigned integers

<?php
/*
* The lesson from this example is in the output
* rather than the PHP code itself.
*/

$magnitude_lower = pow(2, (PHP_INT_SIZE * 8) - 2);
p($magnitude_lower - 1);
p($magnitude_lower, 'See the rollover? Watch it next time around...');

p(PHP_INT_MAX, 'PHP_INT_MAX');
p(~PHP_INT_MAX, 'interpreted to be one more than PHP_INT_MAX');

if (PHP_INT_SIZE == 4) {
$note = 'interpreted to be the largest unsigned integer';
} else {
$note = 'interpreted to be the largest unsigned integer
(18446744073709551615) but skewed by float precision';
}
p(-1, $note);

function p($input, $note = '') {
echo "input: $input\n";

$format = '%0' . (PHP_INT_SIZE * 8) . 'b';
$bin = sprintf($format, $input);
echo "binary: $bin\n";

ini_set('precision', 20); // For readability on 64 bit boxes.
$dec = bindec($bin);
echo 'bindec(): ' . $dec . "\n";

if ($note) {
echo "NOTE: $note\n";
}

echo "\n";
}
?>

Yukarıdaki örneğin 32 bitlik makinelerdeki çıktısı:

input:        1073741823
binary:       00111111111111111111111111111111
bindec():     1073741823

input:        1073741824
binary:       01000000000000000000000000000000
bindec():     1073741824
NOTE:         See the rollover?  Watch it next time around...

input:        2147483647
binary:       01111111111111111111111111111111
bindec():     2147483647
NOTE:         PHP_INT_MAX

input:        -2147483648
binary:       10000000000000000000000000000000
bindec():     2147483648
NOTE:         interpreted to be one more than PHP_INT_MAX

input:        -1
binary:       11111111111111111111111111111111
bindec():     4294967295
NOTE:         interpreted to be the largest unsigned integer

Yukarıdaki örneğin 64 bitlik makinelerdeki çıktısı:

input:        4611686018427387903
binary:       0011111111111111111111111111111111111111111111111111111111111111
bindec():     4611686018427387903

input:        4611686018427387904
binary:       0100000000000000000000000000000000000000000000000000000000000000
bindec():     4611686018427387904
NOTE:         See the rollover?  Watch it next time around...

input:        9223372036854775807
binary:       0111111111111111111111111111111111111111111111111111111111111111
bindec():     9223372036854775807
NOTE:         PHP_INT_MAX

input:        -9223372036854775808
binary:       1000000000000000000000000000000000000000000000000000000000000000
bindec():     9223372036854775808
NOTE:         interpreted to be one more than PHP_INT_MAX

input:        -1
binary:       1111111111111111111111111111111111111111111111111111111111111111
bindec():     18446744073709551616
NOTE:         interpreted to be the largest unsigned integer
              (18446744073709551615) but skewed by float precision

Notlar

Bilginize:

The function can convert numbers that are too large to fit into the platforms int type, larger values are returned as float in that case.

Ayrıca Bakınız

  • decbin() - Decimal to binary
  • octdec() - Octal to decimal
  • hexdec() - Hexadecimal to decimal
  • base_convert() - Convert a number between arbitrary bases


Round fractions up

  • « bindec
  • cos »
  • PHP Manual
  • Math İşlevleri
  • Round fractions up

ceil

(PHP 4, PHP 5, PHP 7, PHP 8)

ceil — Round fractions up

Açıklama

ceil(int|float $num): float

Returns the next highest integer value by rounding up num if necessary.

Bağımsız Değişkenler

num

The value to round

Dönen Değerler

num rounded up to the next highest integer. The return value of ceil() is still of type float as the value range of float is usually bigger than that of int.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | num no longer accepts internal objects which support numeric conversion.

Örnekler

Örnek 1 ceil() example

<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>

Ayrıca Bakınız

  • floor() - Round fractions down
  • round() - Rounds a float


Cosine

  • « ceil
  • cosh »
  • PHP Manual
  • Math İşlevleri
  • Cosine

cos

(PHP 4, PHP 5, PHP 7, PHP 8)

cos — Cosine

Açıklama

cos(float $num): float

cos() returns the cosine of the num parameter. The num parameter is in radians.

Bağımsız Değişkenler

num

An angle in radians

Dönen Değerler

The cosine of num

Örnekler

Örnek 1 cos() example

<?php

echo cos(M_PI); // -1

?>

Ayrıca Bakınız

  • acos() - Arc cosine
  • sin() - Sine
  • tan() - Tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent


Hyperbolic cosine

  • « cos
  • decbin »
  • PHP Manual
  • Math İşlevleri
  • Hyperbolic cosine

cosh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

cosh — Hyperbolic cosine

Açıklama

cosh(float $num): float

Returns the hyperbolic cosine of num, defined as (exp($num) + exp(-$num))/2.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The hyperbolic cosine of num

Ayrıca Bakınız

  • cos() - Cosine
  • acosh() - Inverse hyperbolic cosine
  • sinh() - Hyperbolic sine
  • tanh() - Hyperbolic tangent


Decimal to binary

  • « cosh
  • dechex »
  • PHP Manual
  • Math İşlevleri
  • Decimal to binary

decbin

(PHP 4, PHP 5, PHP 7, PHP 8)

decbin — Decimal to binary

Açıklama

decbin(int $num): string

Returns a string containing a binary representation of the given num argument.

Bağımsız Değişkenler

num

Decimal value to convert

Range of inputs on 32-bit machines
positive num | negative num | return value
0 | 0
1 | 1
2 | 10
... normal progression ...
2147483646 | 1111111111111111111111111111110
2147483647 (largest signed integer) | 1111111111111111111111111111111 (31 1's)
2147483648 | -2147483648 | 10000000000000000000000000000000
... normal progression ...
4294967294 | -2 | 11111111111111111111111111111110
4294967295 (largest unsigned integer) | -1 | 11111111111111111111111111111111 (32 1's)
Range of inputs on 64-bit machines
positive num | negative num | return value
0 | 0
1 | 1
2 | 10
... normal progression ...
9223372036854775806 | 111111111111111111111111111111111111111111111111111111111111110
9223372036854775807 (largest signed integer) | 111111111111111111111111111111111111111111111111111111111111111 (63 1's)
-9223372036854775808 | 1000000000000000000000000000000000000000000000000000000000000000
... normal progression ...
-2 | 1111111111111111111111111111111111111111111111111111111111111110
-1 | 1111111111111111111111111111111111111111111111111111111111111111 (64 1's)

Dönen Değerler

Binary string representation of num

Örnekler

Örnek 1 decbin() example

<?php
echo decbin(12) . "\n";
echo decbin(26);
?>

Yukarıdaki örneğin çıktısı:

1100
11010

Ayrıca Bakınız

  • bindec() - Binary to decimal
  • decoct() - Decimal to octal
  • dechex() - Decimal to hexadecimal
  • base_convert() - Convert a number between arbitrary bases
  • printf() - Biçemli bir dizge çıktılar, using %b, %032b or %064b as the format
  • sprintf(), using %b, %032b or %064b as the format


Decimal to hexadecimal

  • « decbin
  • decoct »
  • PHP Manual
  • Math İşlevleri
  • Decimal to hexadecimal

dechex

(PHP 4, PHP 5, PHP 7, PHP 8)

dechex — Decimal to hexadecimal

Açıklama

dechex(int $num): string

Returns a string containing a hexadecimal representation of the given unsigned num argument.

The largest number that can be converted is PHP_INT_MAX * 2 + 1 (or -1): on 32-bit platforms, this will be 4294967295 in decimal, which results in dechex() returning ffffffff.

Bağımsız Değişkenler

num

The decimal value to convert.

As PHP's int type is signed, but dechex() deals with unsigned integers, negative integers will be treated as though they were unsigned.

Dönen Değerler

Hexadecimal string representation of num.

Örnekler

Örnek 1 dechex() example

<?php
echo dechex(10) . "\n";
echo dechex(47);
?>

Yukarıdaki örneğin çıktısı:

a
2f

Örnek 2 dechex() example with large integers

<?php
// The output below assumes a 32-bit platform.
// Note that the output is the same for all values.
echo dechex(-1)."\n";
echo dechex(PHP_INT_MAX * 2 + 1)."\n";
echo dechex(pow(2, 32) - 1)."\n";
?>

Yukarıdaki örneğin çıktısı:

ffffffff
ffffffff
ffffffff

Ayrıca Bakınız

  • hexdec() - Hexadecimal to decimal
  • decbin() - Decimal to binary
  • decoct() - Decimal to octal
  • base_convert() - Convert a number between arbitrary bases


Decimal to octal

  • « dechex
  • deg2rad »
  • PHP Manual
  • Math İşlevleri
  • Decimal to octal

decoct

(PHP 4, PHP 5, PHP 7, PHP 8)

decoct — Decimal to octal

Açıklama

decoct(int $num): string

Returns a string containing an octal representation of the given num argument. The largest number that can be converted depends on the platform in use. For 32-bit platforms this is usually 4294967295 in decimal resulting in 37777777777. For 64-bit platforms this is usually 9223372036854775807 in decimal resulting in 777777777777777777777.

Bağımsız Değişkenler

num

Decimal value to convert

Dönen Değerler

Octal string representation of num

Örnekler

Örnek 1 decoct() example

<?php
echo decoct(15) . "\n";
echo decoct(264);
?>

Yukarıdaki örneğin çıktısı:

17
410

Ayrıca Bakınız

  • octdec() - Octal to decimal
  • decbin() - Decimal to binary
  • dechex() - Decimal to hexadecimal
  • base_convert() - Convert a number between arbitrary bases


Converts the number in degrees to the radian equivalent

  • « decoct
  • exp »
  • PHP Manual
  • Math İşlevleri
  • Converts the number in degrees to the radian equivalent

deg2rad

(PHP 4, PHP 5, PHP 7, PHP 8)

deg2rad — Converts the number in degrees to the radian equivalent

Açıklama

deg2rad(float $num): float

This function converts num from degrees to the radian equivalent.

Bağımsız Değişkenler

num

Angular value in degrees

Dönen Değerler

The radian equivalent of num

Örnekler

Örnek 1 deg2rad() example

<?php

echo deg2rad(45); // 0.785398163397
var_dump(deg2rad(45) === M_PI_4); // bool(true)

?>

Ayrıca Bakınız

  • rad2deg() - Converts the radian number to the equivalent number in degrees


Calculates the exponent of e

  • « deg2rad
  • expm1 »
  • PHP Manual
  • Math İşlevleri
  • Calculates the exponent of e

exp

(PHP 4, PHP 5, PHP 7, PHP 8)

exp — Calculates the exponent of e

Açıklama

exp(float $num): float

Returns e raised to the power of num.

Bilginize:

'e' is the base of the natural system of logarithms, or approximately 2.718282.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

'e' raised to the power of num

Örnekler

Örnek 1 exp() example

<?php
echo exp(12) . "\n";
echo exp(5.7);
?>

Yukarıdaki örneğin çıktısı:

1.6275E+005
298.87

Ayrıca Bakınız

  • log() - Natural logarithm
  • pow() - Exponential expression


Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero

  • « exp
  • fdiv »
  • PHP Manual
  • Math İşlevleri
  • Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero

expm1

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

expm1 — Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero

Açıklama

expm1(float $num): float

expm1() returns the equivalent to 'exp(num) - 1' computed in a way that is accurate even if the value of num is near zero, a case where 'exp (num) - 1' would be inaccurate due to subtraction of two numbers that are nearly equal.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

'e' to the power of num minus one

Ayrıca Bakınız

  • log1p() - Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
  • exp() - Calculates the exponent of e


Divides two numbers, according to IEEE 754

  • « expm1
  • floor »
  • PHP Manual
  • Math İşlevleri
  • Divides two numbers, according to IEEE 754

fdiv

(PHP 8)

fdiv — Divides two numbers, according to IEEE 754

Açıklama

fdiv(float $num1, float $num2): float

Returns the floating point result of dividing the num1 by the num2. If the num2 is zero, then one of INF, -INF, or NAN will be returned.

Note that in comparisons, NAN will never == or ===, any value, including itself.

Bağımsız Değişkenler

num1

The dividend (numerator)

num2

The divisor

Dönen Değerler

The floating point result of num1/num2

Örnekler

Örnek 1 Using fdiv()

<?php
var_dump(fdiv(5.7, 1.3)); // float(4.384615384615385)
var_dump(fdiv(4, 2)); // float(2)
var_dump(fdiv(1.0, 0.0)); // float(INF)
var_dump(fdiv(-1.0, 0.0)); // float(-INF)
var_dump(fdiv(0.0, 0.0)); // float(NAN)
?>

Ayrıca Bakınız

  • / - Floating-point division
  • intdiv() - Integer division
  • fmod() - Modulus


Round fractions down

  • « fdiv
  • fmod »
  • PHP Manual
  • Math İşlevleri
  • Round fractions down

floor

(PHP 4, PHP 5, PHP 7, PHP 8)

floor — Round fractions down

Açıklama

floor(int|float $num): float

Returns the next lowest integer value (as float) by rounding down num if necessary.

Bağımsız Değişkenler

num

The numeric value to round

Dönen Değerler

num rounded to the next lowest integer. The return value of floor() is still of type float.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | num no longer accepts internal objects which support numeric conversion.

Örnekler

Örnek 1 floor() example

<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>

Ayrıca Bakınız

  • ceil() - Round fractions up
  • round() - Rounds a float


Returns the floating point remainder (modulo) of the division of the arguments

  • « floor
  • hexdec »
  • PHP Manual
  • Math İşlevleri
  • Returns the floating point remainder (modulo) of the division of the arguments

fmod

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

fmod — Returns the floating point remainder (modulo) of the division of the arguments

Açıklama

fmod(float $num1, float $num2): float

Returns the floating point remainder of dividing the dividend (num1) by the divisor (num2). The remainder (r) is defined as: num1 = i * num2 + r, for some integer i. If num2 is non-zero, r has the same sign as num1 and a magnitude less than the magnitude of num2.

Bağımsız Değişkenler

num1

The dividend

num2

The divisor

Dönen Değerler

The floating point remainder of num1/num2

Örnekler

Örnek 1 Using fmod()

<?php
$x = 5.7;
$y = 1.3;
$r = fmod($x, $y);
// $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
?>

Ayrıca Bakınız

  • / - Floating-point division
  • % - Integer modulus
  • intdiv() - Integer division


Hexadecimal to decimal

  • « fmod
  • hypot »
  • PHP Manual
  • Math İşlevleri
  • Hexadecimal to decimal

hexdec

(PHP 4, PHP 5, PHP 7, PHP 8)

hexdec — Hexadecimal to decimal

Açıklama

hexdec(string $hex_string): int|float

Returns the decimal equivalent of the hexadecimal number represented by the hex_string argument. hexdec() converts a hexadecimal string to a decimal number.

hexdec() will ignore any non-hexadecimal characters it encounters. As of PHP 7.4.0 supplying any invalid characters is deprecated.

Bağımsız Değişkenler

hex_string

The hexadecimal string to convert

Dönen Değerler

The decimal representation of hex_string

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Passing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.

Örnekler

Örnek 1 hexdec() example

<?php
var_dump(hexdec("See"));
var_dump(hexdec("ee"));
// both print "int(238)"

var_dump(hexdec("that")); // print "int(10)"
var_dump(hexdec("a0")); // print "int(160)"
?>

Notlar

Bilginize:

The function can convert numbers that are too large to fit into the platforms int type, larger values are returned as float in that case.

Ayrıca Bakınız

  • dechex() - Decimal to hexadecimal
  • bindec() - Binary to decimal
  • octdec() - Octal to decimal
  • base_convert() - Convert a number between arbitrary bases


Calculate the length of the hypotenuse of a right-angle triangle

  • « hexdec
  • intdiv »
  • PHP Manual
  • Math İşlevleri
  • Calculate the length of the hypotenuse of a right-angle triangle

hypot

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

hypot — Calculate the length of the hypotenuse of a right-angle triangle

Açıklama

hypot(float $x, float $y): float

hypot() returns the length of the hypotenuse of a right-angle triangle with sides of length x and y, or the distance of the point (x, y) from the origin. This is equivalent to sqrt($x*$x + $y*$y).

Bağımsız Değişkenler

x

Length of first side

y

Length of second side

Dönen Değerler

Calculated length of the hypotenuse


Integer division

  • « hypot
  • is_finite »
  • PHP Manual
  • Math İşlevleri
  • Integer division

intdiv

(PHP 7, PHP 8)

intdiv — Integer division

Açıklama

intdiv(int $num1, int $num2): int

Returns the integer quotient of the division of num1 by num2.

Bağımsız Değişkenler

num1

Number to be divided.

num2

Number which divides the num1.

Dönen Değerler

The integer quotient of the division of num1 by num2.

Hatalar/İstisnalar

If num2 is 0, a DivisionByZeroError exception is thrown. If the num1 is PHP_INT_MIN and the num2 is -1, then an ArithmeticError exception is thrown.

Örnekler

Örnek 1 intdiv() example

<?php
var_dump(intdiv(3, 2));
var_dump(intdiv(-3, 2));
var_dump(intdiv(3, -2));
var_dump(intdiv(-3, -2));
var_dump(intdiv(PHP_INT_MAX, PHP_INT_MAX));
var_dump(intdiv(PHP_INT_MIN, PHP_INT_MIN));
var_dump(intdiv(PHP_INT_MIN, -1));
var_dump(intdiv(1, 0));
?>
int(1)
int(-1)
int(-1)
int(1)
int(1)
int(1)

Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in %s on line 8
Fatal error: Uncaught DivisionByZeroError: Division by zero in %s on line 9

Ayrıca Bakınız

  • / - Floating-point division
  • % - Integer modulus
  • fmod() - Floating-point modulo


Checks whether a float is finite

  • « intdiv
  • is_infinite »
  • PHP Manual
  • Math İşlevleri
  • Checks whether a float is finite

is_finite

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_finite — Checks whether a float is finite

Açıklama

is_finite(float $num): bool

Returns whether the given num is a finite float.

A finite float is neither NAN (is_nan()), nor infinite (is_infinite()).

Bağımsız Değişkenler

num

The float to check

Dönen Değerler

true if num is none of NAN, INF, -INF, else false.

Örnekler

Örnek 1 is_finite() example

<?php
$float = 1.2345;
var_dump($float, is_finite($float));

$nan = sqrt(-1);
var_dump($nan, is_finite($nan));

$inf = 1e308 * 2;
var_dump($inf, is_finite($inf));
?>

Yukarıdaki örneğin çıktısı:

float(1.2345)
bool(true)
float(NAN)
bool(false)
float(INF)
bool(false)

Ayrıca Bakınız

  • is_infinite() - Checks whether a float is infinite
  • is_nan() - Checks whether a float is NAN


Checks whether a float is infinite

  • « is_finite
  • is_nan »
  • PHP Manual
  • Math İşlevleri
  • Checks whether a float is infinite

is_infinite

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_infinite — Checks whether a float is infinite

Açıklama

is_infinite(float $num): bool

Returns whether the given num is either INF or -INF.

Bağımsız Değişkenler

num

The float to check

Dönen Değerler

true if num is either INF or -INF, else false.

Örnekler

Örnek 1 is_infinite() example

<?php
$inf = 1e308 * 2;

var_dump($inf, is_infinite($inf));

$negative_inf = -$inf;

var_dump($negative_inf, is_infinite($negative_inf));
?>

Yukarıdaki örneğin çıktısı:

float(INF)
bool(true)
float(-INF)
bool(true)

Ayrıca Bakınız

  • is_finite() - Checks whether a float is finite
  • is_nan() - Checks whether a float is NAN


Checks whether a float is NAN

  • « is_infinite
  • log10 »
  • PHP Manual
  • Math İşlevleri
  • Checks whether a float is NAN

is_nan

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_nan — Checks whether a float is NAN

Açıklama

is_nan(float $num): bool

Returns whether the given num is NAN (Not A Number).

NAN is returned from mathematical operations that are undefined, for example when passing parameters outside of function's input domain. The square root (sqrt()) is only defined for positive numbers, passing a negative number will result in NAN. Other examples of operations returning NAN are dividing INF by INF and any operation involving an existing NAN value.

Bilginize:

Despite its name of Not A Number, NAN is a valid value of type float.

Dikkat

NAN does not compare equal to NAN. To check whether a float is NAN, is_nan() must be used. Checking $float === NAN will not work.

Bağımsız Değişkenler

num

The float to check

Dönen Değerler

true if num is NAN, else false.

Örnekler

Örnek 1 is_nan() example

<?php
$nan = sqrt(-1);

var_dump($nan, is_nan($nan));
?>

Yukarıdaki örneğin çıktısı:

float(NAN)
bool(true)

Ayrıca Bakınız

  • is_finite() - Checks whether a float is finite
  • is_infinite() - Checks whether a float is infinite


Base-10 logarithm

  • « is_nan
  • log1p »
  • PHP Manual
  • Math İşlevleri
  • Base-10 logarithm

log10

(PHP 4, PHP 5, PHP 7, PHP 8)

log10 — Base-10 logarithm

Açıklama

log10(float $num): float

Returns the base-10 logarithm of num.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The base-10 logarithm of num

Ayrıca Bakınız

  • log() - Natural logarithm


Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

  • « log10
  • log »
  • PHP Manual
  • Math İşlevleri
  • Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

log1p

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

log1p — Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero

Açıklama

log1p(float $num): float

log1p() returns log(1 + num) computed in a way that is accurate even when the value of num is close to zero. log() might only return log(1) in this case due to lack of precision.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

log(1 + num)

Ayrıca Bakınız

  • expm1() - Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero
  • log() - Natural logarithm
  • log10() - Base-10 logarithm


Natural logarithm

  • « log1p
  • max »
  • PHP Manual
  • Math İşlevleri
  • Natural logarithm

log

(PHP 4, PHP 5, PHP 7, PHP 8)

log — Natural logarithm

Açıklama

log(float $num, float $base = M_E): float

If the optional base parameter is specified, log() returns logbase num, otherwise log() returns the natural logarithm of num.

Bağımsız Değişkenler

num

The value to calculate the logarithm for

base

The optional logarithmic base to use (defaults to 'e' and so to the natural logarithm).

Dönen Değerler

The logarithm of num to base, if given, or the natural logarithm.

Ayrıca Bakınız

  • log10() - Base-10 logarithm
  • exp() - Calculates the exponent of e
  • pow() - Exponential expression
  • error_log() - Tanımlı hata işleme yordamlarına bir hata iletisi gönderir


Find highest value

  • « log
  • min »
  • PHP Manual
  • Math İşlevleri
  • Find highest value

max

(PHP 4, PHP 5, PHP 7, PHP 8)

max — Find highest value

Açıklama

max(mixed $value, mixed ...$values): mixed

Alternative signature (not supported with named arguments):

max(array $value_array): mixed

If the first and only parameter is an array, max() returns the highest value in that array. If at least two parameters are provided, max() returns the biggest of these values.

Bilginize:

Values of different types will be compared using the standard comparison rules. For instance, a non-numeric string will be compared to an int as though it were 0, but multiple non-numeric string values will be compared alphanumerically. The actual value returned will be of the original type with no conversion applied.

Dikkat

Be careful when passing arguments of different types because max() can produce unpredictable results.

Bağımsız Değişkenler

value

Any comparable value.

values

Any comparable values.

value_array

An array containing the values.

Dönen Değerler

max() returns the parameter value considered "highest" according to standard comparisons. If multiple values of different types evaluate as equal (e.g. 0 and 'abc') the first provided to the function will be returned.

Hatalar/İstisnalar

If an empty array is passed, max() throws a ValueError.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | max() throws a ValueError on failure now; previously, false was returned and an E_WARNING error was emitted.
8.0.0 | As string to number comparisons were changed, max() no longer returns a different value based on the argument order in those cases.

Örnekler

Örnek 1 Example uses of max()

<?php
echo max(2, 3, 1, 6, 7); // 7
echo max(array(2, 4, 5)); // 5

// Here we are comparing -1 < 0, so 'hello' is the highest value
echo max('hello', -1); // hello

// With multiple arrays of different lengths, max returns the longest
$val = max(array(2, 2, 2), array(1, 1, 1, 1)); // array(1, 1, 1, 1)

// Multiple arrays of the same length are compared from left to right
// so in our example: 2 == 2, but 5 > 4
$val = max(array(2, 4, 8), array(2, 5, 1)); // array(2, 5, 1)

// If both an array and non-array are given, the array will be returned
// as comparisons treat arrays as greater than any other value
$val = max('string', array(2, 5, 7), 42); // array(2, 5, 7)

// If one argument is NULL or a boolean, it will be compared against
// other values using the rule FALSE < TRUE regardless of the other types involved
// In the below example, -10 is treated as TRUE in the comparison
$val = max(-10, FALSE); // -10

// 0, on the other hand, is treated as FALSE, so is "lower than" TRUE
$val = max(0, TRUE); // TRUE
?>

Ayrıca Bakınız

  • min() - Find lowest value
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür


Find lowest value

  • « max
  • octdec »
  • PHP Manual
  • Math İşlevleri
  • Find lowest value

min

(PHP 4, PHP 5, PHP 7, PHP 8)

min — Find lowest value

Açıklama

min(mixed $value, mixed ...$values): mixed

Alternative signature (not supported with named arguments):

min(array $value_array): mixed

If the first and only parameter is an array, min() returns the lowest value in that array. If at least two parameters are provided, min() returns the smallest of these values.

Bilginize:

Values of different types will be compared using the standard comparison rules. For instance, a non-numeric string will be compared to an int as though it were 0, but multiple non-numeric string values will be compared alphanumerically. The actual value returned will be of the original type with no conversion applied.

Dikkat

Be careful when passing arguments of different types because min() can produce unpredictable results.

Bağımsız Değişkenler

value

Any comparable value.

values

Any comparable values.

value_array

An array containing the values.

Dönen Değerler

min() returns the parameter value considered "lowest" according to standard comparisons. If multiple values of different types evaluate as equal (e.g. 0 and 'abc') the first provided to the function will be returned.

Hatalar/İstisnalar

If an empty array is passed, min() throws a ValueError.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | min() throws a ValueError on failure now; previously, false was returned and an E_WARNING error was emitted.
8.0.0 | As string to number comparisons were changed, min() no longer returns a different value based on the argument order in those cases.

Örnekler

Örnek 1 Example uses of min()

<?php
echo min(2, 3, 1, 6, 7); // 1
echo min(array(2, 4, 5)); // 2

// Here we are comparing -1 < 0, so -1 is the lowest value
echo min('hello', -1); // -1

// With multiple arrays of different lengths, min returns the shortest
$val = min(array(2, 2, 2), array(1, 1, 1, 1)); // array(2, 2, 2)

// Multiple arrays of the same length are compared from left to right
// so in our example: 2 == 2, but 4 < 5
$val = min(array(2, 4, 8), array(2, 5, 1)); // array(2, 4, 8)

// If both an array and non-array are given, the array is never returned
// as comparisons treat arrays as greater than any other value
$val = min('string', array(2, 5, 7), 42); // string

// If one argument is NULL or a boolean, it will be compared against
// other values using the rules FALSE < TRUE and NULL == FALSE regardless of the
// other types involved
// In the below examples, both -10 and 10 are treated as TRUE in the comparison
$val = min(-10, FALSE, 10); // FALSE
$val = min(-10, NULL, 10); // NULL

// 0, on the other hand, is treated as FALSE, so is "lower than" TRUE
$val = min(0, TRUE); // 0
?>

Ayrıca Bakınız

  • max() - Find highest value
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür


Octal to decimal

  • « min
  • pi »
  • PHP Manual
  • Math İşlevleri
  • Octal to decimal

octdec

(PHP 4, PHP 5, PHP 7, PHP 8)

octdec — Octal to decimal

Açıklama

octdec(string $octal_string): int|float

Returns the decimal equivalent of the octal number represented by the octal_string argument.

Bağımsız Değişkenler

octal_string

The octal string to convert. Any invalid characters in octal_string are silently ignored. As of PHP 7.4.0 supplying any invalid characters is deprecated.

Dönen Değerler

The decimal representation of octal_string

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Passing invalid characters will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist.

Örnekler

Örnek 1 octdec() example

<?php
echo octdec('77') . "\n";
echo octdec(decoct(45));
?>

Yukarıdaki örneğin çıktısı:

63
45

Notlar

Bilginize:

The function can convert numbers that are too large to fit into the platforms int type, larger values are returned as float in that case.

Ayrıca Bakınız

  • decoct() - Decimal to octal
  • bindec() - Binary to decimal
  • hexdec() - Hexadecimal to decimal
  • base_convert() - Convert a number between arbitrary bases


Get value of pi

  • « octdec
  • pow »
  • PHP Manual
  • Math İşlevleri
  • Get value of pi

pi

(PHP 4, PHP 5, PHP 7, PHP 8)

pi — Get value of pi

Açıklama

pi(): float

Returns an approximation of pi. Also, you can use the M_PI constant which yields identical results to pi().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of pi as float.

Örnekler

Örnek 1 pi() example

<?php
echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898
?>


Exponential expression

  • « pi
  • rad2deg »
  • PHP Manual
  • Math İşlevleri
  • Exponential expression

pow

(PHP 4, PHP 5, PHP 7, PHP 8)

pow — Exponential expression

Açıklama

pow(mixed $num, mixed $exponent): int|float|object

Returns num raised to the power of exponent.

Bilginize:

It is possible to use the ** operator instead.

Bağımsız Değişkenler

num

The base to use

exponent

The exponent

Dönen Değerler

num raised to the power of exponent. If both arguments are non-negative integers and the result can be represented as an integer, the result will be returned with int type, otherwise it will be returned as a float.

Örnekler

Örnek 1 Some examples of pow()

<?php

var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20); // 1
echo pow(0, 0); // 1
echo pow(10, -1); // 0.1

echo pow(-1, 5.5); // NAN
?>

Notlar

Bilginize:

This function will convert all input to a number, even non-scalar values, which could lead to weird results.

Ayrıca Bakınız

  • exp() - Calculates the exponent of e
  • sqrt() - Square root
  • bcpow() - Keyfi duyarlıklı sayılar için üs alma işlemi yapar
  • gmp_pow() - Raise number into power


Converts the radian number to the equivalent number in degrees

  • « pow
  • round »
  • PHP Manual
  • Math İşlevleri
  • Converts the radian number to the equivalent number in degrees

rad2deg

(PHP 4, PHP 5, PHP 7, PHP 8)

rad2deg — Converts the radian number to the equivalent number in degrees

Açıklama

rad2deg(float $num): float

This function converts num from radian to degrees.

Bağımsız Değişkenler

num

A radian value

Dönen Değerler

The equivalent of num in degrees

Örnekler

Örnek 1 rad2deg() example

<?php

echo rad2deg(M_PI_4); // 45

?>

Ayrıca Bakınız

  • deg2rad() - Converts the number in degrees to the radian equivalent


Rounds a float

  • « rad2deg
  • sin »
  • PHP Manual
  • Math İşlevleri
  • Rounds a float

round

(PHP 4, PHP 5, PHP 7, PHP 8)

round — Rounds a float

Açıklama

round(int|float $num, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float

Returns the rounded value of num to specified precision (number of digits after the decimal point). precision can also be negative or zero (default).

Bağımsız Değişkenler

num

The value to round.

precision

The optional number of decimal digits to round to.

If the precision is positive, num is rounded to precision significant digits after the decimal point.

If the precision is negative, num is rounded to precision significant digits before the decimal point, i.e. to the nearest multiple of pow(10, -$precision), e.g. for a precision of -1 num is rounded to tens, for a precision of -2 to hundreds, etc.

mode

Use one of the following constants to specify the mode in which rounding occurs.

Sabitler | Açıklama
PHP_ROUND_HALF_UP | Rounds num away from zero when it is half way there, making 1.5 into 2 and -1.5 into -2.
PHP_ROUND_HALF_DOWN | Rounds num towards zero when it is half way there, making 1.5 into 1 and -1.5 into -1.
PHP_ROUND_HALF_EVEN | Rounds num towards the nearest even value when it is half way there, making both 1.5 and 2.5 into 2.
PHP_ROUND_HALF_ODD | Rounds num towards the nearest odd value when it is half way there, making 1.5 into 1 and 2.5 into 3.

Dönen Değerler

The value rounded to the given precision as a float.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | num no longer accepts internal objects which support numeric conversion.

Örnekler

Örnek 1 round() examples

<?php
var_dump(round(3.4));
var_dump(round(3.5));
var_dump(round(3.6));
var_dump(round(3.6, 0));
var_dump(round(5.045, 2));
var_dump(round(5.055, 2));
var_dump(round(345, -2));
var_dump(round(345, -3));
var_dump(round(678, -2));
var_dump(round(678, -3));
?>

Yukarıdaki örneğin çıktısı:

float(3)
float(4)
float(4)
float(4)
float(5.05)
float(5.06)
float(300)
float(0)
float(700)
float(1000)

Örnek 2 How precision affects a float

<?php
$number = 135.79;

var_dump(round($number, 3));
var_dump(round($number, 2));
var_dump(round($number, 1));
var_dump(round($number, 0));
var_dump(round($number, -1));
var_dump(round($number, -2));
var_dump(round($number, -3));
?>

Yukarıdaki örneğin çıktısı:

float(135.79)
float(135.79)
float(135.8)
float(136)
float(140)
float(100)
float(0)

Örnek 3 mode examples

<?php
echo 'Rounding modes with 9.5' . PHP_EOL;
var_dump(round(9.5, 0, PHP_ROUND_HALF_UP));
var_dump(round(9.5, 0, PHP_ROUND_HALF_DOWN));
var_dump(round(9.5, 0, PHP_ROUND_HALF_EVEN));
var_dump(round(9.5, 0, PHP_ROUND_HALF_ODD));

echo PHP_EOL;
echo 'Rounding modes with 8.5' . PHP_EOL;
var_dump(round(8.5, 0, PHP_ROUND_HALF_UP));
var_dump(round(8.5, 0, PHP_ROUND_HALF_DOWN));
var_dump(round(8.5, 0, PHP_ROUND_HALF_EVEN));
var_dump(round(8.5, 0, PHP_ROUND_HALF_ODD));
?>

Yukarıdaki örneğin çıktısı:

Rounding modes with 9.5
float(10)
float(9)
float(10)
float(9)

Rounding modes with 8.5
float(9)
float(8)
float(8)
float(9)

Örnek 4 mode with precision examples

<?php
echo 'Using PHP_ROUND_HALF_UP with 1 decimal digit precision' . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_UP));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_UP));

echo PHP_EOL;
echo 'Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision' . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_DOWN));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_DOWN));

echo PHP_EOL;
echo 'Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision' . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_EVEN));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_EVEN));

echo PHP_EOL;
echo 'Using PHP_ROUND_HALF_ODD with 1 decimal digit precision' . PHP_EOL;
var_dump(round( 1.55, 1, PHP_ROUND_HALF_ODD));
var_dump(round(-1.55, 1, PHP_ROUND_HALF_ODD));
?>

Yukarıdaki örneğin çıktısı:

Using PHP_ROUND_HALF_UP with 1 decimal digit precision
float(1.6)
float(-1.6)

Using PHP_ROUND_HALF_DOWN with 1 decimal digit precision
float(1.5)
float(-1.5)

Using PHP_ROUND_HALF_EVEN with 1 decimal digit precision
float(1.6)
float(-1.6)

Using PHP_ROUND_HALF_ODD with 1 decimal digit precision
float(1.5)
float(-1.5)

Ayrıca Bakınız

  • ceil() - Round fractions up
  • floor() - Round fractions down
  • number_format() - Sayıyı binlik bölümlere ayırır


Sine

  • « round
  • sinh »
  • PHP Manual
  • Math İşlevleri
  • Sine

sin

(PHP 4, PHP 5, PHP 7, PHP 8)

sin — Sine

Açıklama

sin(float $num): float

sin() returns the sine of the num parameter. The num parameter is in radians.

Bağımsız Değişkenler

num

A value in radians

Dönen Değerler

The sine of num

Örnekler

Örnek 1 sin() example

<?php

// Precision depends on your precision directive
echo sin(deg2rad(60)); // 0.866025403 ...
echo sin(60); // -0.304810621 ...

?>

Ayrıca Bakınız

  • asin() - Arc sine
  • sinh() - Hyperbolic sine
  • cos() - Cosine
  • tan() - Tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent


Hyperbolic sine

  • « sin
  • sqrt »
  • PHP Manual
  • Math İşlevleri
  • Hyperbolic sine

sinh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sinh — Hyperbolic sine

Açıklama

sinh(float $num): float

Returns the hyperbolic sine of num, defined as (exp($num) - exp(-$num))/2.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The hyperbolic sine of num

Ayrıca Bakınız

  • sin() - Sine
  • asinh() - Inverse hyperbolic sine
  • cosh() - Hyperbolic cosine
  • tanh() - Hyperbolic tangent


Square root

  • « sinh
  • tan »
  • PHP Manual
  • Math İşlevleri
  • Square root

sqrt

(PHP 4, PHP 5, PHP 7, PHP 8)

sqrt — Square root

Açıklama

sqrt(float $num): float

Returns the square root of num.

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The square root of num or the special value NAN for negative numbers.

Örnekler

Örnek 1 sqrt() example

<?php
// Precision depends on your precision directive
echo sqrt(9); // 3
echo sqrt(10); // 3.16227766 ...
?>

Ayrıca Bakınız

  • pow() - Exponential expression
  • M_SQRTPI - sqrt(pi)
  • M_2_SQRTPI - 2/sqrt(pi)
  • M_SQRT2 - sqrt(2)
  • M_SQRT3 - sqrt(3)
  • M_SQRT1_2 - 1/sqrt(2)


Tangent

  • « sqrt
  • tanh »
  • PHP Manual
  • Math İşlevleri
  • Tangent

tan

(PHP 4, PHP 5, PHP 7, PHP 8)

tan — Tangent

Açıklama

tan(float $num): float

tan() returns the tangent of the num parameter. The num parameter is in radians.

Bağımsız Değişkenler

num

The argument to process in radians

Dönen Değerler

The tangent of num

Örnekler

Örnek 1 tan() example

<?php

echo tan(M_PI_4); // 1

?>

Ayrıca Bakınız

  • atan() - Arc tangent
  • atan2() - Arc tangent of two variables
  • sin() - Sine
  • cos() - Cosine
  • tanh() - Hyperbolic tangent
  • deg2rad() - Converts the number in degrees to the radian equivalent


Hyperbolic tangent

  • « tan
  • Statistics »
  • PHP Manual
  • Math İşlevleri
  • Hyperbolic tangent

tanh

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

tanh — Hyperbolic tangent

Açıklama

tanh(float $num): float

Returns the hyperbolic tangent of num, defined as sinh($num)/cosh($num).

Bağımsız Değişkenler

num

The argument to process

Dönen Değerler

The hyperbolic tangent of num

Ayrıca Bakınız

  • tan() - Tangent
  • atanh() - Inverse hyperbolic tangent
  • sinh() - Hyperbolic sine
  • cosh() - Hyperbolic cosine


Statistics

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Statistic İşlevleri
    • stats_absolute_deviation — Returns the absolute deviation of an array of values
    • stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others
    • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others
    • stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others
    • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others
    • stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others
    • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others
    • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others
    • stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others
    • stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others
    • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others
    • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others
    • stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others
    • stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others
    • stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others
    • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others
    • stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others
    • stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others
    • stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others
    • stats_covariance — Computes the covariance of two data sets
    • stats_dens_beta — Probability density function of the beta distribution
    • stats_dens_cauchy — Probability density function of the Cauchy distribution
    • stats_dens_chisquare — Probability density function of the chi-square distribution
    • stats_dens_exponential — Probability density function of the exponential distribution
    • stats_dens_f — Probability density function of the F distribution
    • stats_dens_gamma — Probability density function of the gamma distribution
    • stats_dens_laplace — Probability density function of the Laplace distribution
    • stats_dens_logistic — Probability density function of the logistic distribution
    • stats_dens_normal — Probability density function of the normal distribution
    • stats_dens_pmf_binomial — Probability mass function of the binomial distribution
    • stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution
    • stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution
    • stats_dens_pmf_poisson — Probability mass function of the Poisson distribution
    • stats_dens_t — Probability density function of the t-distribution
    • stats_dens_uniform — Probability density function of the uniform distribution
    • stats_dens_weibull — Probability density function of the Weibull distribution
    • stats_harmonic_mean — Returns the harmonic mean of an array of values
    • stats_kurtosis — Computes the kurtosis of the data in the array
    • stats_rand_gen_beta — Generates a random deviate from the beta distribution
    • stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution
    • stats_rand_gen_exponential — Generates a random deviate from the exponential distribution
    • stats_rand_gen_f — Generates a random deviate from the F distribution
    • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma — Generates a random deviate from the gamma distribution
    • stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution
    • stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution
    • stats_rand_gen_int — Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution
    • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution
    • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution
    • stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution
    • stats_rand_gen_normal — Generates a single random deviate from a normal distribution
    • stats_rand_gen_t — Generates a single random deviate from a t-distribution
    • stats_rand_get_seeds — Get the seed values of the random number generator
    • stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator
    • stats_rand_ranf — Generates a random floating point number between 0 and 1
    • stats_rand_setall — Set seed values to the random generator
    • stats_skew — Computes the skewness of the data in the array
    • stats_standard_deviation — Returns the standard deviation
    • stats_stat_binomial_coef — Returns a binomial coefficient
    • stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets
    • stats_stat_factorial — Returns the factorial of an integer
    • stats_stat_independent_t — Returns the t-value from the independent two-sample t-test
    • stats_stat_innerproduct — Returns the inner product of two vectors
    • stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples
    • stats_stat_percentile — Returns the percentile value
    • stats_stat_powersum — Returns the power sum of a vector
    • stats_variance — Returns the variance


Giriş

This is the statistics extension. It contains few dozens of functions useful for statistical computations. It is a wrapper around 2 scientific libraries, namely DCDFLIB (Library of C routines for Cumulative Distributions Functions, Inverses, and Other parameters) by B. Brown & J. Lavato and RANDLIB by Barry Brown, James Lavato & Kathy Russell. Includes CD and PD functions.


Gereksinimler

No external libraries are needed. The extension comes bundled with the libraries used.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/stats.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


  • « Özkaynak Türleri
  • Statistic İşlevleri »
  • PHP Manual
  • Statistics
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Statistic İşlevleri

İçindekiler

  • stats_absolute_deviation — Returns the absolute deviation of an array of values
  • stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others
  • stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others
  • stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others
  • stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others
  • stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others
  • stats_cdf_f — Calculates any one parameter of the F distribution given values for the others
  • stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others
  • stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others
  • stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others
  • stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others
  • stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others
  • stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others
  • stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others
  • stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others
  • stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others
  • stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others
  • stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others
  • stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others
  • stats_covariance — Computes the covariance of two data sets
  • stats_dens_beta — Probability density function of the beta distribution
  • stats_dens_cauchy — Probability density function of the Cauchy distribution
  • stats_dens_chisquare — Probability density function of the chi-square distribution
  • stats_dens_exponential — Probability density function of the exponential distribution
  • stats_dens_f — Probability density function of the F distribution
  • stats_dens_gamma — Probability density function of the gamma distribution
  • stats_dens_laplace — Probability density function of the Laplace distribution
  • stats_dens_logistic — Probability density function of the logistic distribution
  • stats_dens_normal — Probability density function of the normal distribution
  • stats_dens_pmf_binomial — Probability mass function of the binomial distribution
  • stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution
  • stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution
  • stats_dens_pmf_poisson — Probability mass function of the Poisson distribution
  • stats_dens_t — Probability density function of the t-distribution
  • stats_dens_uniform — Probability density function of the uniform distribution
  • stats_dens_weibull — Probability density function of the Weibull distribution
  • stats_harmonic_mean — Returns the harmonic mean of an array of values
  • stats_kurtosis — Computes the kurtosis of the data in the array
  • stats_rand_gen_beta — Generates a random deviate from the beta distribution
  • stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution
  • stats_rand_gen_exponential — Generates a random deviate from the exponential distribution
  • stats_rand_gen_f — Generates a random deviate from the F distribution
  • stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)
  • stats_rand_gen_gamma — Generates a random deviate from the gamma distribution
  • stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution
  • stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution
  • stats_rand_gen_int — Generates random integer between 1 and 2147483562
  • stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution
  • stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  • stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution
  • stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution
  • stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution
  • stats_rand_gen_normal — Generates a single random deviate from a normal distribution
  • stats_rand_gen_t — Generates a single random deviate from a t-distribution
  • stats_rand_get_seeds — Get the seed values of the random number generator
  • stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator
  • stats_rand_ranf — Generates a random floating point number between 0 and 1
  • stats_rand_setall — Set seed values to the random generator
  • stats_skew — Computes the skewness of the data in the array
  • stats_standard_deviation — Returns the standard deviation
  • stats_stat_binomial_coef — Returns a binomial coefficient
  • stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets
  • stats_stat_factorial — Returns the factorial of an integer
  • stats_stat_independent_t — Returns the t-value from the independent two-sample t-test
  • stats_stat_innerproduct — Returns the inner product of two vectors
  • stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples
  • stats_stat_percentile — Returns the percentile value
  • stats_stat_powersum — Returns the power sum of a vector
  • stats_variance — Returns the variance


Returns the absolute deviation of an array of values

  • « Statistic İşlevleri
  • stats_cdf_beta »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the absolute deviation of an array of values

stats_absolute_deviation

(PECL stats >= 1.0.0)

stats_absolute_deviation — Returns the absolute deviation of an array of values

Açıklama

stats_absolute_deviation(array $a): float

Returns the absolute deviation of the values in a.

Bağımsız Değişkenler

a

The input array

Dönen Değerler

Returns the absolute deviation of the values in a, or false if a is empty or is not an array.


Calculates any one parameter of the beta distribution given values for the others

  • « stats_absolute_deviation
  • stats_cdf_binomial »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the beta distribution given values for the others

stats_cdf_beta

(PECL stats >= 1.0.0)

stats_cdf_beta — Calculates any one parameter of the beta distribution given values for the others

Açıklama

stats_cdf_beta(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the beta distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, alpha, and beta denotes cumulative distribution function, the value of the random variable, and shape parameters of the beta distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | alpha | beta
2 | x | CDF | alpha | beta
3 | alpha | x | CDF | beta
4 | beta | x | CDF | alpha

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, alpha, or beta, determined by which.


Calculates any one parameter of the binomial distribution given values for the others

  • « stats_cdf_beta
  • stats_cdf_cauchy »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the binomial distribution given values for the others

stats_cdf_binomial

(PECL stats >= 1.0.0)

stats_cdf_binomial — Calculates any one parameter of the binomial distribution given values for the others

Açıklama

stats_cdf_binomial(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the binomial distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, n, and p denotes cumulative distribution function, the number of successes, the number of trials, and the success rate for each trial, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | n | p
2 | x | CDF | n | p
3 | n | x | CDF | p
4 | p | x | CDF | n

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, n, or p, determined by which.


Calculates any one parameter of the Cauchy distribution given values for the others

  • « stats_cdf_binomial
  • stats_cdf_chisquare »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the Cauchy distribution given values for the others

stats_cdf_cauchy

(PECL stats >= 1.0.0)

stats_cdf_cauchy — Calculates any one parameter of the Cauchy distribution given values for the others

Açıklama

stats_cdf_cauchy(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Cauchy distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, x0, and gamma denotes cumulative distribution function, the value of the random variable, the location and the scale parameter of the Cauchy distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | x0 | gamma
2 | x | CDF | x0 | gamma
3 | x0 | x | CDF | gamma
4 | gamma | x | CDF | x0

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, x0, or gamma, determined by which.


Calculates any one parameter of the chi-square distribution given values for the others

  • « stats_cdf_cauchy
  • stats_cdf_exponential »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the chi-square distribution given values for the others

stats_cdf_chisquare

(PECL stats >= 1.0.0)

stats_cdf_chisquare — Calculates any one parameter of the chi-square distribution given values for the others

Açıklama

stats_cdf_chisquare(float $par1, float $par2, int $which): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the chi-square distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and k denotes cumulative distribution function, the value of the random variable, and the degree of freedom of the chi-square distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | k
2 | x | CDF | k
3 | k | x | CDF

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, or k, determined by which.


Calculates any one parameter of the exponential distribution given values for the others

  • « stats_cdf_chisquare
  • stats_cdf_f »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the exponential distribution given values for the others

stats_cdf_exponential

(PECL stats >= 1.0.0)

stats_cdf_exponential — Calculates any one parameter of the exponential distribution given values for the others

Açıklama

stats_cdf_exponential(float $par1, float $par2, int $which): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the exponential distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and lambda denotes cumulative distribution function, the value of the random variable, and the rate parameter of the exponential distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | lambda
2 | x | CDF | lambda
3 | lambda | x | CDF

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, or lambda, determined by which.


Calculates any one parameter of the F distribution given values for the others

  • « stats_cdf_exponential
  • stats_cdf_gamma »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the F distribution given values for the others

stats_cdf_f

(PECL stats >= 1.0.0)

stats_cdf_f — Calculates any one parameter of the F distribution given values for the others

Açıklama

stats_cdf_f(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the F distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, d1, and d2 denotes cumulative distribution function, the value of the random variable, and the degree of freedoms of the F distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | d1 | d2
2 | x | CDF | d1 | d2
3 | d1 | x | CDF | d2
4 | d2 | x | CDF | d1

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, d1, or d2, determined by which.


Calculates any one parameter of the gamma distribution given values for the others

  • « stats_cdf_f
  • stats_cdf_laplace »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the gamma distribution given values for the others

stats_cdf_gamma

(PECL stats >= 1.0.0)

stats_cdf_gamma — Calculates any one parameter of the gamma distribution given values for the others

Açıklama

stats_cdf_gamma(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the gamma distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and theta denotes cumulative distribution function, the value of the random variable, and the shape and the scale parameter of the gamma distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | theta
2 | x | CDF | k | theta
3 | k | x | CDF | theta
4 | theta | x | CDF | k

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, k, or theta, determined by which.


Calculates any one parameter of the Laplace distribution given values for the others

  • « stats_cdf_gamma
  • stats_cdf_logistic »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the Laplace distribution given values for the others

stats_cdf_laplace

(PECL stats >= 1.0.0)

stats_cdf_laplace — Calculates any one parameter of the Laplace distribution given values for the others

Açıklama

stats_cdf_laplace(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Laplace distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and b denotes cumulative distribution function, the value of the random variable, and the location and the scale parameter of the Laplace distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | b
2 | x | CDF | mu | b
3 | mu | x | CDF | b
4 | b | x | CDF | mu

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, mu, or b, determined by which.


Calculates any one parameter of the logistic distribution given values for the others

  • « stats_cdf_laplace
  • stats_cdf_negative_binomial »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the logistic distribution given values for the others

stats_cdf_logistic

(PECL stats >= 1.0.0)

stats_cdf_logistic — Calculates any one parameter of the logistic distribution given values for the others

Açıklama

stats_cdf_logistic(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the logistic distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and s denotes cumulative distribution function, the value of the random variable, and the location and the scale parameter of the logistic distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | s
2 | x | CDF | mu | s
3 | mu | x | CDF | s
4 | s | x | CDF | mu

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, mu, or s, determined by which.


Calculates any one parameter of the negative binomial distribution given values for the others

  • « stats_cdf_logistic
  • stats_cdf_noncentral_chisquare »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the negative binomial distribution given values for the others

stats_cdf_negative_binomial

(PECL stats >= 1.0.0)

stats_cdf_negative_binomial — Calculates any one parameter of the negative binomial distribution given values for the others

Açıklama

stats_cdf_negative_binomial(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the negative binomial distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, r, and p denotes cumulative distribution function, the number of failure, the number of success, and the success rate for each trial, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | r | p
2 | x | CDF | r | p
3 | r | x | CDF | p
4 | p | x | CDF | r

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, r, or p, determined by which.


Calculates any one parameter of the non-central chi-square distribution given values for the others

  • « stats_cdf_negative_binomial
  • stats_cdf_noncentral_f »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the non-central chi-square distribution given values for the others

stats_cdf_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_cdf_noncentral_chisquare — Calculates any one parameter of the non-central chi-square distribution given values for the others

Açıklama

stats_cdf_noncentral_chisquare(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central chi-square distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and lambda denotes cumulative distribution function, the value of the random variable, the degree of freedom and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | lambda
2 | x | CDF | k | lambda
3 | k | x | CDF | lambda
4 | lambda | x | CDF | k

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, k, or lambda, determined by which.


Calculates any one parameter of the non-central F distribution given values for the others

  • « stats_cdf_noncentral_chisquare
  • stats_cdf_noncentral_t »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the non-central F distribution given values for the others

stats_cdf_noncentral_f

(PECL stats >= 1.0.0)

stats_cdf_noncentral_f — Calculates any one parameter of the non-central F distribution given values for the others

Açıklama

stats_cdf_noncentral_f(
float $par1,
float $par2,
float $par3,
float $par4,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central F distribution. The kind of the return value and parameters (par1, par2, par3, and par4) are determined by which.

The following table lists the return value and parameters by which. CDF, x, nu1, nu2, and lambda denotes cumulative distribution function, the value of the random variable, the degree of freedoms and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3 | par4
1 | CDF | x | nu1 | nu2 | lambda
2 | x | CDF | nu1 | nu2 | lambda
3 | nu1 | x | CDF | nu2 | lambda
4 | nu2 | x | CDF | nu1 | lambda
5 | lambda | x | CDF | nu1 | nu2

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

par4

The fourth parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, nu1, nu2, or lambda, determined by which.


Calculates any one parameter of the non-central t-distribution give values for the others

  • « stats_cdf_noncentral_f
  • stats_cdf_normal »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the non-central t-distribution give values for the others

stats_cdf_noncentral_t

(PECL stats >= 1.0.0)

stats_cdf_noncentral_t — Calculates any one parameter of the non-central t-distribution give values for the others

Açıklama

stats_cdf_noncentral_t(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the non-central t-distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, nu, and mu denotes cumulative distribution function, the value of the random variable, the degrees of freedom and the non-centrality parameter of the distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | nu | mu
2 | x | CDF | nu | mu
3 | nu | x | CDF | mu
4 | mu | x | CDF | nu

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, nu, or mu, determined by which.


Calculates any one parameter of the normal distribution given values for the others

  • « stats_cdf_noncentral_t
  • stats_cdf_poisson »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the normal distribution given values for the others

stats_cdf_normal

(PECL stats >= 1.0.0)

stats_cdf_normal — Calculates any one parameter of the normal distribution given values for the others

Açıklama

stats_cdf_normal(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the normal distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, mu, and sigma denotes cumulative distribution function, the value of the random variable, the mean and the standard deviation of the normal distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | mu | sigma
2 | x | CDF | mu | sigma
3 | mu | x | CDF | sigma
4 | sigma | x | CDF | mu

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, mu, or sigma, determined by which.


Calculates any one parameter of the Poisson distribution given values for the others

  • « stats_cdf_normal
  • stats_cdf_t »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the Poisson distribution given values for the others

stats_cdf_poisson

(PECL stats >= 1.0.0)

stats_cdf_poisson — Calculates any one parameter of the Poisson distribution given values for the others

Açıklama

stats_cdf_poisson(float $par1, float $par2, int $which): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Poisson distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and lambda denotes cumulative distribution function, the value of the random variable, and the parameter of the Poisson distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | lambda
2 | x | CDF | lambda
3 | lambda | x | CDF

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, or lambda, determined by which.


Calculates any one parameter of the t-distribution given values for the others

  • « stats_cdf_poisson
  • stats_cdf_uniform »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the t-distribution given values for the others

stats_cdf_t

(PECL stats >= 1.0.0)

stats_cdf_t — Calculates any one parameter of the t-distribution given values for the others

Açıklama

stats_cdf_t(float $par1, float $par2, int $which): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the t-distribution. The kind of the return value and parameters (par1 and par2) are determined by which.

The following table lists the return value and parameters by which. CDF, x, and nu denotes cumulative distribution function, the value of the random variable, and the degrees of freedom of the t-distribution, respectively.

Return value and parameters
which | Return value | par1 | par2
1 | CDF | x | nu
2 | x | CDF | nu
3 | nu | x | CDF

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, or nu, determined by which.


Calculates any one parameter of the uniform distribution given values for the others

  • « stats_cdf_t
  • stats_cdf_weibull »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the uniform distribution given values for the others

stats_cdf_uniform

(PECL stats >= 1.0.0)

stats_cdf_uniform — Calculates any one parameter of the uniform distribution given values for the others

Açıklama

stats_cdf_uniform(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the uniform distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, a, and b denotes cumulative distribution function, the value of the random variable, the lower bound and the higher bound of the uniform distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | a | b
2 | x | CDF | a | b
3 | a | x | CDF | b
4 | b | x | CDF | a

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, a, or b, determined by which.


Calculates any one parameter of the Weibull distribution given values for the others

  • « stats_cdf_uniform
  • stats_covariance »
  • PHP Manual
  • Statistic İşlevleri
  • Calculates any one parameter of the Weibull distribution given values for the others

stats_cdf_weibull

(PECL stats >= 1.0.0)

stats_cdf_weibull — Calculates any one parameter of the Weibull distribution given values for the others

Açıklama

stats_cdf_weibull(
float $par1,
float $par2,
float $par3,
int $which
): float

Returns the cumulative distribution function, its inverse, or one of its parameters, of the Weibull distribution. The kind of the return value and parameters (par1, par2, and par3) are determined by which.

The following table lists the return value and parameters by which. CDF, x, k, and lambda denotes cumulative distribution function, the value of the random variable, the shape and the scale parameter of the Weibull distribution, respectively.

Return value and parameters
which | Return value | par1 | par2 | par3
1 | CDF | x | k | lambda
2 | x | CDF | k | lambda
3 | k | x | CDF | lambda
4 | lambda | x | CDF | k

Bağımsız Değişkenler

par1

The first parameter

par2

The second parameter

par3

The third parameter

which

The flag to determine what to be calculated

Dönen Değerler

Returns CDF, x, k, or lambda, determined by which.


Computes the covariance of two data sets

  • « stats_cdf_weibull
  • stats_dens_beta »
  • PHP Manual
  • Statistic İşlevleri
  • Computes the covariance of two data sets

stats_covariance

(PECL stats >= 1.0.0)

stats_covariance — Computes the covariance of two data sets

Açıklama

stats_covariance(array $a, array $b): float

Returns the covariance of a and b.

Bağımsız Değişkenler

a

The first array

b

The second array

Dönen Değerler

Returns the covariance of a and b, or false on failure.


Probability density function of the beta distribution

  • « stats_covariance
  • stats_dens_cauchy »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the beta distribution

stats_dens_beta

(PECL stats >= 1.0.0)

stats_dens_beta — Probability density function of the beta distribution

Açıklama

stats_dens_beta(float $x, float $a, float $b): float

Returns the probability density at x, where the random variable follows the beta distribution of which the shape parameters are a and b.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

a

The shape parameter of the distribution

b

The shape parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the Cauchy distribution

  • « stats_dens_beta
  • stats_dens_chisquare »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the Cauchy distribution

stats_dens_cauchy

(PECL stats >= 1.0.0)

stats_dens_cauchy — Probability density function of the Cauchy distribution

Açıklama

stats_dens_cauchy(float $x, float $ave, float $stdev): float

Returns the probability density at x, where the random variable follows the Cauchy distribution whose location and scale are ave and stdev, respectively.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The scale parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the chi-square distribution

  • « stats_dens_cauchy
  • stats_dens_exponential »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the chi-square distribution

stats_dens_chisquare

(PECL stats >= 1.0.0)

stats_dens_chisquare — Probability density function of the chi-square distribution

Açıklama

stats_dens_chisquare(float $x, float $dfr): float

Returns the probability density at x, where the random variable follows the chi-square distribution of which the degree of freedom is dfr.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

dfr

The degree of freedom of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the exponential distribution

  • « stats_dens_chisquare
  • stats_dens_f »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the exponential distribution

stats_dens_exponential

(PECL stats >= 1.0.0)

stats_dens_exponential — Probability density function of the exponential distribution

Açıklama

stats_dens_exponential(float $x, float $scale): float

Returns the probability density at x, where the random variable follows the exponential distribution of which the scale is scale.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

scale

The scale of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the F distribution

  • « stats_dens_exponential
  • stats_dens_gamma »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the F distribution

stats_dens_f

(PECL stats >= 1.0.0)

stats_dens_f — Probability density function of the F distribution

Açıklama

stats_dens_f(float $x, float $dfr1, float $dfr2): float

Returns the probability density at x, where the random variable follows the F distribution of which the degree of freedoms are dfr1 and dfr2.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

dfr1

The degree of freedom of the distribution

dfr2

The degree of freedom of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the gamma distribution

  • « stats_dens_f
  • stats_dens_laplace »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the gamma distribution

stats_dens_gamma

(PECL stats >= 1.0.0)

stats_dens_gamma — Probability density function of the gamma distribution

Açıklama

stats_dens_gamma(float $x, float $shape, float $scale): float

Returns the probability density at x, where the random variable follows the gamma distribution of which the shape parameter is shape and the scale parameter is scale.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

shape

The shape parameter of the distribution

scale

The scale parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the Laplace distribution

  • « stats_dens_gamma
  • stats_dens_logistic »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the Laplace distribution

stats_dens_laplace

(PECL stats >= 1.0.0)

stats_dens_laplace — Probability density function of the Laplace distribution

Açıklama

stats_dens_laplace(float $x, float $ave, float $stdev): float

Returns the probability density at x, where the random variable follows the Laplace distribution of which the location parameter is ave and the scale parameter is stdev.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The shape parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the logistic distribution

  • « stats_dens_laplace
  • stats_dens_normal »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the logistic distribution

stats_dens_logistic

(PECL stats >= 1.0.0)

stats_dens_logistic — Probability density function of the logistic distribution

Açıklama

stats_dens_logistic(float $x, float $ave, float $stdev): float

Returns the probability density at x, where the random variable follows the logistic distribution of which the location parameter is ave and the scale parameter is stdev.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

ave

The location parameter of the distribution

stdev

The shape parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the normal distribution

  • « stats_dens_logistic
  • stats_dens_pmf_binomial »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the normal distribution

stats_dens_normal

(PECL stats >= 1.0.0)

stats_dens_normal — Probability density function of the normal distribution

Açıklama

stats_dens_normal(float $x, float $ave, float $stdev): float

Returns the probability density at x, where the random variable follows the normal distribution of which the mean is ave and the standard deviation is stdev.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

ave

The mean of the distribution

stdev

The standard deviation of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability mass function of the binomial distribution

  • « stats_dens_normal
  • stats_dens_pmf_hypergeometric »
  • PHP Manual
  • Statistic İşlevleri
  • Probability mass function of the binomial distribution

stats_dens_pmf_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_binomial — Probability mass function of the binomial distribution

Açıklama

stats_dens_pmf_binomial(float $x, float $n, float $pi): float

Returns the probability mass at x, where the random variable follows the binomial distribution of which the number of trials is n and the success rate is pi.

Bağımsız Değişkenler

x

The value at which the probability mass is calculated

n

The number of trials of the distribution

pi

The success rate of the distribution

Dönen Değerler

The probability mass at x or false for failure.


Probability mass function of the hypergeometric distribution

  • « stats_dens_pmf_binomial
  • stats_dens_pmf_negative_binomial »
  • PHP Manual
  • Statistic İşlevleri
  • Probability mass function of the hypergeometric distribution

stats_dens_pmf_hypergeometric

(PECL stats >= 1.0.0)

stats_dens_pmf_hypergeometric — Probability mass function of the hypergeometric distribution

Açıklama

stats_dens_pmf_hypergeometric(
float $n1,
float $n2,
float $N1,
float $N2
): float

Returns the probability mass at n1, where the random variable follows the hypergeometric distribution of which the number of failure is n2, the number of success samples is N1, and the number of failure samples is N2.

Bağımsız Değişkenler

n1

The number of success, at which the probability mass is calculated

n2

The number of failure of the distribution

N1

The number of success samples of the distribution

N2

The number of failure samples of the distribution

Dönen Değerler

The probability mass at n1 or false for failure.


Probability mass function of the negative binomial distribution

  • « stats_dens_pmf_hypergeometric
  • stats_dens_pmf_poisson »
  • PHP Manual
  • Statistic İşlevleri
  • Probability mass function of the negative binomial distribution

stats_dens_pmf_negative_binomial

(PECL stats >= 1.0.0)

stats_dens_pmf_negative_binomial — Probability mass function of the negative binomial distribution

Açıklama

stats_dens_pmf_negative_binomial(float $x, float $n, float $pi): float

Returns the probability mass at x, where the random variable follows the negative binomial distribution of which the number of the success is n and the success rate is pi.

Bağımsız Değişkenler

x

The value at which the probability mass is calculated

n

The number of the success of the distribution

pi

The success rate of the distribution

Dönen Değerler

The probability mass at x or false for failure.


Probability mass function of the Poisson distribution

  • « stats_dens_pmf_negative_binomial
  • stats_dens_t »
  • PHP Manual
  • Statistic İşlevleri
  • Probability mass function of the Poisson distribution

stats_dens_pmf_poisson

(PECL stats >= 1.0.0)

stats_dens_pmf_poisson — Probability mass function of the Poisson distribution

Açıklama

stats_dens_pmf_poisson(float $x, float $lb): float

Returns the probability mass at x, where the random variable follows the Poisson distribution whose parameter is lb.

Bağımsız Değişkenler

x

The value at which the probability mass is calculated

lb

The parameter of the Poisson distribution

Dönen Değerler

The probability mass at x or false for failure.


Probability density function of the t-distribution

  • « stats_dens_pmf_poisson
  • stats_dens_uniform »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the t-distribution

stats_dens_t

(PECL stats >= 1.0.0)

stats_dens_t — Probability density function of the t-distribution

Açıklama

stats_dens_t(float $x, float $dfr): float

Returns the probability density at x, where the random variable follows the t-distribution of which the degree of freedom is dfr.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

dfr

The degree of freedom of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the uniform distribution

  • « stats_dens_t
  • stats_dens_weibull »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the uniform distribution

stats_dens_uniform

(PECL stats >= 1.0.0)

stats_dens_uniform — Probability density function of the uniform distribution

Açıklama

stats_dens_uniform(float $x, float $a, float $b): float

Returns the probability density at x, where the random variable follows the uniform distribution of which the lower bound is a and the upper bound is b.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

a

The lower bound of the distribution

b

The upper bound of the distribution

Dönen Değerler

The probability density at x or false for failure.


Probability density function of the Weibull distribution

  • « stats_dens_uniform
  • stats_harmonic_mean »
  • PHP Manual
  • Statistic İşlevleri
  • Probability density function of the Weibull distribution

stats_dens_weibull

(PECL stats >= 1.0.0)

stats_dens_weibull — Probability density function of the Weibull distribution

Açıklama

stats_dens_weibull(float $x, float $a, float $b): float

Returns the probability density at x, where the random variable follows the Weibull distribution of which the shape parameter is a and the scale parameter is b.

Bağımsız Değişkenler

x

The value at which the probability density is calculated

a

The shape parameter of the distribution

b

The scale parameter of the distribution

Dönen Değerler

The probability density at x or false for failure.


Returns the harmonic mean of an array of values

  • « stats_dens_weibull
  • stats_kurtosis »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the harmonic mean of an array of values

stats_harmonic_mean

(PECL stats >= 1.0.0)

stats_harmonic_mean — Returns the harmonic mean of an array of values

Açıklama

stats_harmonic_mean(array $a): number

Returns the harmonic mean of the values in a.

Bağımsız Değişkenler

a

The input array

Dönen Değerler

Returns the harmonic mean of the values in a, or false if a is empty or is not an array.


Computes the kurtosis of the data in the array

  • « stats_harmonic_mean
  • stats_rand_gen_beta »
  • PHP Manual
  • Statistic İşlevleri
  • Computes the kurtosis of the data in the array

stats_kurtosis

(PECL stats >= 1.0.0)

stats_kurtosis — Computes the kurtosis of the data in the array

Açıklama

stats_kurtosis(array $a): float

Returns the kurtosis of the values in a.

Bağımsız Değişkenler

a

The input array

Dönen Değerler

Returns the kurtosis of the values in a, or false if a is empty or is not an array.


Generates a random deviate from the beta distribution

  • « stats_kurtosis
  • stats_rand_gen_chisquare »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the beta distribution

stats_rand_gen_beta

(PECL stats >= 1.0.0)

stats_rand_gen_beta — Generates a random deviate from the beta distribution

Açıklama

stats_rand_gen_beta(float $a, float $b): float

Returns a random deviate from the beta distribution with parameters A and B. The density of the beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 < x <. Method R. C. H. Cheng.

Bağımsız Değişkenler

a

The shape parameter of the beta distribution

b

The shape parameter of the beta distribution

Dönen Değerler

A random deviate


Generates a random deviate from the chi-square distribution

  • « stats_rand_gen_beta
  • stats_rand_gen_exponential »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the chi-square distribution

stats_rand_gen_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_chisquare — Generates a random deviate from the chi-square distribution

Açıklama

stats_rand_gen_chisquare(float $df): float

Returns a random deviate from the chi-square distribution where the degrees of freedom is df.

Bağımsız Değişkenler

df

The degrees of freedom

Dönen Değerler

A random deviate


Generates a random deviate from the exponential distribution

  • « stats_rand_gen_chisquare
  • stats_rand_gen_f »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the exponential distribution

stats_rand_gen_exponential

(PECL stats >= 1.0.0)

stats_rand_gen_exponential — Generates a random deviate from the exponential distribution

Açıklama

stats_rand_gen_exponential(float $av): float

Returns a random deviate from the exponential distribution of which the scale is av.

Bağımsız Değişkenler

av

The scale parameter

Dönen Değerler

A random deviate


Generates a random deviate from the F distribution

  • « stats_rand_gen_exponential
  • stats_rand_gen_funiform »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the F distribution

stats_rand_gen_f

(PECL stats >= 1.0.0)

stats_rand_gen_f — Generates a random deviate from the F distribution

Açıklama

stats_rand_gen_f(float $dfn, float $dfd): float

Generates a random deviate from the F (variance ratio) distribution with "dfn" degrees of freedom in the numerator and "dfd" degrees of freedom in the denominator. Method : directly generates ratio of chisquare variates.

Bağımsız Değişkenler

dfn

The degrees of freedom in the numerator

dfd

The degrees of freedom in the denominator

Dönen Değerler

A random deviate


Generates uniform float between low (exclusive) and high (exclusive)

  • « stats_rand_gen_f
  • stats_rand_gen_gamma »
  • PHP Manual
  • Statistic İşlevleri
  • Generates uniform float between low (exclusive) and high (exclusive)

stats_rand_gen_funiform

(PECL stats >= 1.0.0)

stats_rand_gen_funiform — Generates uniform float between low (exclusive) and high (exclusive)

Açıklama

stats_rand_gen_funiform(float $low, float $high): float

Returns a random deviate from the uniform distribution from low to high.

Bağımsız Değişkenler

low

The lower bound (inclusive)

high

The upper bound (exclusive)

Dönen Değerler

A random deviate


Generates a random deviate from the gamma distribution

  • « stats_rand_gen_funiform
  • stats_rand_gen_ibinomial_negative »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the gamma distribution

stats_rand_gen_gamma

(PECL stats >= 1.0.0)

stats_rand_gen_gamma — Generates a random deviate from the gamma distribution

Açıklama

stats_rand_gen_gamma(float $a, float $r): float

Generates a random deviate from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1) * Exp(-A*X).

Bağımsız Değişkenler

a

location parameter of Gamma distribution (a > 0).

r

shape parameter of Gamma distribution (r > 0).

Dönen Değerler

A random deviate


Generates a random deviate from the negative binomial distribution

  • « stats_rand_gen_gamma
  • stats_rand_gen_ibinomial »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the negative binomial distribution

stats_rand_gen_ibinomial_negative

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial_negative — Generates a random deviate from the negative binomial distribution

Açıklama

stats_rand_gen_ibinomial_negative(int $n, float $p): int

Returns a random deviate from a negative binomial distribution where the number of success is n and the success rate is p.

Bağımsız Değişkenler

n

The number of success

p

The success rate

Dönen Değerler

A random deviate, which is the number of failure.


Generates a random deviate from the binomial distribution

  • « stats_rand_gen_ibinomial_negative
  • stats_rand_gen_int »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the binomial distribution

stats_rand_gen_ibinomial

(PECL stats >= 1.0.0)

stats_rand_gen_ibinomial — Generates a random deviate from the binomial distribution

Açıklama

stats_rand_gen_ibinomial(int $n, float $pp): int

Returns a random deviate from the binomial distribution whose number of trials is n and whose probability of an event in each trial is pp.

Bağımsız Değişkenler

n

The number of trials

pp

The probability of an event in each trial

Dönen Değerler

A random deviate


Generates random integer between 1 and 2147483562

  • « stats_rand_gen_ibinomial
  • stats_rand_gen_ipoisson »
  • PHP Manual
  • Statistic İşlevleri
  • Generates random integer between 1 and 2147483562

stats_rand_gen_int

(PECL stats >= 1.0.0)

stats_rand_gen_int — Generates random integer between 1 and 2147483562

Açıklama

stats_rand_gen_int(): int

Returns a random integer between 1 and 2147483562

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A random integer


Generates a single random deviate from a Poisson distribution

  • « stats_rand_gen_int
  • stats_rand_gen_iuniform »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a single random deviate from a Poisson distribution

stats_rand_gen_ipoisson

(PECL stats >= 1.0.0)

stats_rand_gen_ipoisson — Generates a single random deviate from a Poisson distribution

Açıklama

stats_rand_gen_ipoisson(float $mu): int

Returns a random deviate from the Poisson distribution with parameter mu.

Bağımsız Değişkenler

mu

The parameter of the Poisson distribution

Dönen Değerler

A random deviate


Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

  • « stats_rand_gen_ipoisson
  • stats_rand_gen_noncentral_chisquare »
  • PHP Manual
  • Statistic İşlevleri
  • Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

stats_rand_gen_iuniform

(PECL stats >= 1.0.0)

stats_rand_gen_iuniform — Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)

Açıklama

stats_rand_gen_iuniform(int $low, int $high): int

Returns a random integer from the discrete uniform distribution between low (inclusive) and high (inclusive).

Bağımsız Değişkenler

low

The lower bound

high

The upper bound

Dönen Değerler

A random integer


Generates a random deviate from the non-central chi-square distribution

  • « stats_rand_gen_iuniform
  • stats_rand_gen_noncentral_f »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the non-central chi-square distribution

stats_rand_gen_noncentral_chisquare

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_chisquare — Generates a random deviate from the non-central chi-square distribution

Açıklama

stats_rand_gen_noncentral_chisquare(float $df, float $xnonc): float

Returns a random deviate from the non-central chi-square distribution with degrees of freedom, df, and non-centrality parameter, xnonc.

Bağımsız Değişkenler

df

The degrees of freedom

xnonc

The non-centrality parameter

Dönen Değerler

A random deviate


Generates a random deviate from the noncentral F distribution

  • « stats_rand_gen_noncentral_chisquare
  • stats_rand_gen_noncentral_t »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random deviate from the noncentral F distribution

stats_rand_gen_noncentral_f

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_f — Generates a random deviate from the noncentral F distribution

Açıklama

stats_rand_gen_noncentral_f(float $dfn, float $dfd, float $xnonc): float

Returns a random deviate from the non-central F distribution where the degrees of freedoms are dfn (numerator) and dfd (denominator), and the non-centrality parameter is xnonc.

Bağımsız Değişkenler

dfn

The degrees of freedom of the numerator

dfd

The degrees of freedom of the denominator

xnonc

The non-centrality parameter

Dönen Değerler

A random deviate


Generates a single random deviate from a non-central t-distribution

  • « stats_rand_gen_noncentral_f
  • stats_rand_gen_normal »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a single random deviate from a non-central t-distribution

stats_rand_gen_noncentral_t

(PECL stats >= 1.0.0)

stats_rand_gen_noncentral_t — Generates a single random deviate from a non-central t-distribution

Açıklama

stats_rand_gen_noncentral_t(float $df, float $xnonc): float

Returns a random deviate from the non-central t-distribution with the degrees of freedom, df, and the non-centrality parameter, xnonc.

Bağımsız Değişkenler

df

The degrees of freedom

xnonc

The non-centrality parameter

Dönen Değerler

A random deviate


Generates a single random deviate from a normal distribution

  • « stats_rand_gen_noncentral_t
  • stats_rand_gen_t »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a single random deviate from a normal distribution

stats_rand_gen_normal

(PECL stats >= 1.0.0)

stats_rand_gen_normal — Generates a single random deviate from a normal distribution

Açıklama

stats_rand_gen_normal(float $av, float $sd): float

Returns a random deviate from the normal distribution with mean, av, and standard deviation, sd.

Bağımsız Değişkenler

av

The mean of the normal distribution

sd

The standard deviation of the normal distribution

Dönen Değerler

A random deviate


Generates a single random deviate from a t-distribution

  • « stats_rand_gen_normal
  • stats_rand_get_seeds »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a single random deviate from a t-distribution

stats_rand_gen_t

(PECL stats >= 1.0.0)

stats_rand_gen_t — Generates a single random deviate from a t-distribution

Açıklama

stats_rand_gen_t(float $df): float

Returns a random deviate from the t-distribution with the degrees of freedom, df.

Bağımsız Değişkenler

df

The degrees of freedom

Dönen Değerler

A random deviate


Get the seed values of the random number generator

  • « stats_rand_gen_t
  • stats_rand_phrase_to_seeds »
  • PHP Manual
  • Statistic İşlevleri
  • Get the seed values of the random number generator

stats_rand_get_seeds

(PECL stats >= 1.0.0)

stats_rand_get_seeds — Get the seed values of the random number generator

Açıklama

stats_rand_get_seeds(): array

Returns the current seed values of the random number generator

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of two integers.


Generate two seeds for the RGN random number generator

  • « stats_rand_get_seeds
  • stats_rand_ranf »
  • PHP Manual
  • Statistic İşlevleri
  • Generate two seeds for the RGN random number generator

stats_rand_phrase_to_seeds

(PECL stats >= 1.0.0)

stats_rand_phrase_to_seeds — Generate two seeds for the RGN random number generator

Açıklama

stats_rand_phrase_to_seeds(string $phrase): array

Generate two seeds for the random number generator from a phrase.

Bağımsız Değişkenler

phrase

The input phrase

Dönen Değerler

Returns an array of two integers.


Generates a random floating point number between 0 and 1

  • « stats_rand_phrase_to_seeds
  • stats_rand_setall »
  • PHP Manual
  • Statistic İşlevleri
  • Generates a random floating point number between 0 and 1

stats_rand_ranf

(PECL stats >= 1.0.0)

stats_rand_ranf — Generates a random floating point number between 0 and 1

Açıklama

stats_rand_ranf(): float

Returns a random floating point number from a uniform distribution between 0 (exclusive) and 1 (exclusive).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A random floating point number


Set seed values to the random generator

  • « stats_rand_ranf
  • stats_skew »
  • PHP Manual
  • Statistic İşlevleri
  • Set seed values to the random generator

stats_rand_setall

(PECL stats >= 1.0.0)

stats_rand_setall — Set seed values to the random generator

Açıklama

stats_rand_setall(int $iseed1, int $iseed2): void

Set iseed1 and iseed2 as seed values to the random generator used in statistic functions.

Bağımsız Değişkenler

iseed1

The value which is used as the random seed

iseed2

The value which is used as the random seed

Dönen Değerler

No values are returned.


Computes the skewness of the data in the array

  • « stats_rand_setall
  • stats_standard_deviation »
  • PHP Manual
  • Statistic İşlevleri
  • Computes the skewness of the data in the array

stats_skew

(PECL stats >= 1.0.0)

stats_skew — Computes the skewness of the data in the array

Açıklama

stats_skew(array $a): float

Returns the skewness of the values in a.

Bağımsız Değişkenler

a

The input array

Dönen Değerler

Returns the skewness of the values in a, or false if a is empty or is not an array.


Returns the standard deviation

  • « stats_skew
  • stats_stat_binomial_coef »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the standard deviation

stats_standard_deviation

(PECL stats >= 1.0.0)

stats_standard_deviation — Returns the standard deviation

Açıklama

stats_standard_deviation(array $a, bool $sample = false): float

Returns the standard deviation of the values in a.

Bağımsız Değişkenler

a

The array of data to find the standard deviation for. Note that all values of the array will be cast to float.

sample

Indicates if a represents a sample of the population; defaults to false.

Dönen Değerler

Returns the standard deviation on success; false on failure.

Hatalar/İstisnalar

Raises an E_WARNING when there are fewer than 2 values in a.


Returns a binomial coefficient

  • « stats_standard_deviation
  • stats_stat_correlation »
  • PHP Manual
  • Statistic İşlevleri
  • Returns a binomial coefficient

stats_stat_binomial_coef

(PECL stats >= 1.0.0)

stats_stat_binomial_coef — Returns a binomial coefficient

Açıklama

stats_stat_binomial_coef(int $x, int $n): float

Returns the binomial coefficient of n choose x.

Bağımsız Değişkenler

x

The number of chooses from the set

n

The number of elements in the set

Dönen Değerler

Returns the binomial coefficient


Returns the Pearson correlation coefficient of two data sets

  • « stats_stat_binomial_coef
  • stats_stat_factorial »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the Pearson correlation coefficient of two data sets

stats_stat_correlation

(PECL stats >= 1.0.0)

stats_stat_correlation — Returns the Pearson correlation coefficient of two data sets

Açıklama

stats_stat_correlation(array $arr1, array $arr2): float

Returns the Pearson correlation coefficient between arr1 and arr2.

Bağımsız Değişkenler

arr1

The first array

arr2

The second array

Dönen Değerler

Returns the Pearson correlation coefficient between arr1 and arr2, or false on failure.


Returns the factorial of an integer

  • « stats_stat_correlation
  • stats_stat_independent_t »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the factorial of an integer

stats_stat_factorial

(PECL stats >= 1.0.0)

stats_stat_factorial — Returns the factorial of an integer

Açıklama

stats_stat_factorial(int $n): float

Returns the factorial of an integer, n.

Bağımsız Değişkenler

n

An integer

Dönen Değerler

The factorial of n.


Returns the t-value from the independent two-sample t-test

  • « stats_stat_factorial
  • stats_stat_innerproduct »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the t-value from the independent two-sample t-test

stats_stat_independent_t

(PECL stats >= 1.0.0)

stats_stat_independent_t — Returns the t-value from the independent two-sample t-test

Açıklama

stats_stat_independent_t(array $arr1, array $arr2): float

Returns the t-value of the independent two-sample t-test between arr1 and arr2.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

arr1

The first set of values

arr2

The second set of values

Dönen Değerler

Returns the t-value, or false if failure.


Returns the inner product of two vectors

  • « stats_stat_independent_t
  • stats_stat_paired_t »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the inner product of two vectors

stats_stat_innerproduct

(PECL stats >= 1.0.0)

stats_stat_innerproduct — Returns the inner product of two vectors

Açıklama

stats_stat_innerproduct(array $arr1, array $arr2): float

Returns the inner product of arr1 and arr2.

Bağımsız Değişkenler

arr1

The first array

arr2

The second array

Dönen Değerler

Returns the inner product of arr1 and arr2, or false on failure.


Returns the t-value of the dependent t-test for paired samples

  • « stats_stat_innerproduct
  • stats_stat_percentile »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the t-value of the dependent t-test for paired samples

stats_stat_paired_t

(PECL stats >= 1.0.0)

stats_stat_paired_t — Returns the t-value of the dependent t-test for paired samples

Açıklama

stats_stat_paired_t(array $arr1, array $arr2): float

Returns the t-value of the dependent t-test for paired samples arr1 and arr2.

Bağımsız Değişkenler

arr1

The first samples

arr2

The second samples

Dönen Değerler

Returns the t-value, or false if failure.


Returns the percentile value

  • « stats_stat_paired_t
  • stats_stat_powersum »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the percentile value

stats_stat_percentile

(PECL stats >= 1.0.0)

stats_stat_percentile — Returns the percentile value

Açıklama

stats_stat_percentile(array $arr, float $perc): float

Returns the perc-th percentile value of the array arr.

Bağımsız Değişkenler

arr

The input array

perc

The percentile

Dönen Değerler

Returns the percentile values of the input array.


Returns the power sum of a vector

  • « stats_stat_percentile
  • stats_variance »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the power sum of a vector

stats_stat_powersum

(PECL stats >= 1.0.0)

stats_stat_powersum — Returns the power sum of a vector

Açıklama

stats_stat_powersum(array $arr, float $power): float

Returns the sum of the power-th power of a vector represented as an array arr.

Bağımsız Değişkenler

arr

The input array

power

The power

Dönen Değerler

Returns the power sum of the input array.


Returns the variance

  • « stats_stat_powersum
  • Trader »
  • PHP Manual
  • Statistic İşlevleri
  • Returns the variance

stats_variance

(PECL stats >= 1.0.0)

stats_variance — Returns the variance

Açıklama

stats_variance(array $a, bool $sample = false): float

Returns the variance of the values in a.

Bağımsız Değişkenler

a

The array of data to find the standard deviation for. Note that all values of the array will be cast to float.

sample

Indicates if a represents a sample of the population; defaults to false.

Dönen Değerler

Returns the variance on success; false on failure.


Technical Analysis for Traders

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Trader İşlevleri
    • trader_acos — Vector Trigonometric ACos
    • trader_ad — Chaikin A/D Line
    • trader_add — Vector Arithmetic Add
    • trader_adosc — Chaikin A/D Oscillator
    • trader_adx — Average Directional Movement Index
    • trader_adxr — Average Directional Movement Index Rating
    • trader_apo — Absolute Price Oscillator
    • trader_aroon — Aroon
    • trader_aroonosc — Aroon Oscillator
    • trader_asin — Vector Trigonometric ASin
    • trader_atan — Vector Trigonometric ATan
    • trader_atr — Average True Range
    • trader_avgprice — Average Price
    • trader_bbands — Bollinger Bands
    • trader_beta — Beta
    • trader_bop — Balance Of Power
    • trader_cci — Commodity Channel Index
    • trader_cdl2crows — Two Crows
    • trader_cdl3blackcrows — Three Black Crows
    • trader_cdl3inside — Three Inside Up/Down
    • trader_cdl3linestrike — Three-Line Strike
    • trader_cdl3outside — Three Outside Up/Down
    • trader_cdl3starsinsouth — Three Stars In The South
    • trader_cdl3whitesoldiers — Three Advancing White Soldiers
    • trader_cdlabandonedbaby — Abandoned Baby
    • trader_cdladvanceblock — Advance Block
    • trader_cdlbelthold — Belt-hold
    • trader_cdlbreakaway — Breakaway
    • trader_cdlclosingmarubozu — Closing Marubozu
    • trader_cdlconcealbabyswall — Concealing Baby Swallow
    • trader_cdlcounterattack — Counterattack
    • trader_cdldarkcloudcover — Dark Cloud Cover
    • trader_cdldoji — Doji
    • trader_cdldojistar — Doji Star
    • trader_cdldragonflydoji — Dragonfly Doji
    • trader_cdlengulfing — Engulfing Pattern
    • trader_cdleveningdojistar — Evening Doji Star
    • trader_cdleveningstar — Evening Star
    • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji — Gravestone Doji
    • trader_cdlhammer — Hammer
    • trader_cdlhangingman — Hanging Man
    • trader_cdlharami — Harami Pattern
    • trader_cdlharamicross — Harami Cross Pattern
    • trader_cdlhighwave — High-Wave Candle
    • trader_cdlhikkake — Hikkake Pattern
    • trader_cdlhikkakemod — Modified Hikkake Pattern
    • trader_cdlhomingpigeon — Homing Pigeon
    • trader_cdlidentical3crows — Identical Three Crows
    • trader_cdlinneck — In-Neck Pattern
    • trader_cdlinvertedhammer — Inverted Hammer
    • trader_cdlkicking — Kicking
    • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom — Ladder Bottom
    • trader_cdllongleggeddoji — Long Legged Doji
    • trader_cdllongline — Long Line Candle
    • trader_cdlmarubozu — Marubozu
    • trader_cdlmatchinglow — Matching Low
    • trader_cdlmathold — Mat Hold
    • trader_cdlmorningdojistar — Morning Doji Star
    • trader_cdlmorningstar — Morning Star
    • trader_cdlonneck — On-Neck Pattern
    • trader_cdlpiercing — Piercing Pattern
    • trader_cdlrickshawman — Rickshaw Man
    • trader_cdlrisefall3methods — Rising/Falling Three Methods
    • trader_cdlseparatinglines — Separating Lines
    • trader_cdlshootingstar — Shooting Star
    • trader_cdlshortline — Short Line Candle
    • trader_cdlspinningtop — Spinning Top
    • trader_cdlstalledpattern — Stalled Pattern
    • trader_cdlsticksandwich — Stick Sandwich
    • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap — Tasuki Gap
    • trader_cdlthrusting — Thrusting Pattern
    • trader_cdltristar — Tristar Pattern
    • trader_cdlunique3river — Unique 3 River
    • trader_cdlupsidegap2crows — Upside Gap Two Crows
    • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
    • trader_ceil — Vector Ceil
    • trader_cmo — Chande Momentum Oscillator
    • trader_correl — Pearson's Correlation Coefficient (r)
    • trader_cos — Vector Trigonometric Cos
    • trader_cosh — Vector Trigonometric Cosh
    • trader_dema — Double Exponential Moving Average
    • trader_div — Vector Arithmetic Div
    • trader_dx — Directional Movement Index
    • trader_ema — Exponential Moving Average
    • trader_errno — Get error code
    • trader_exp — Vector Arithmetic Exp
    • trader_floor — Vector Floor
    • trader_get_compat — Get compatibility mode
    • trader_get_unstable_period — Get unstable period
    • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor — Hilbert Transform - Phasor Components
    • trader_ht_sine — Hilbert Transform - SineWave
    • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
    • trader_kama — Kaufman Adaptive Moving Average
    • trader_linearreg_angle — Linear Regression Angle
    • trader_linearreg_intercept — Linear Regression Intercept
    • trader_linearreg_slope — Linear Regression Slope
    • trader_linearreg — Linear Regression
    • trader_ln — Vector Log Natural
    • trader_log10 — Vector Log10
    • trader_ma — Moving average
    • trader_macd — Moving Average Convergence/Divergence
    • trader_macdext — MACD with controllable MA type
    • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
    • trader_mama — MESA Adaptive Moving Average
    • trader_mavp — Moving average with variable period
    • trader_max — Highest value over a specified period
    • trader_maxindex — Index of highest value over a specified period
    • trader_medprice — Median Price
    • trader_mfi — Money Flow Index
    • trader_midpoint — MidPoint over period
    • trader_midprice — Midpoint Price over period
    • trader_min — Lowest value over a specified period
    • trader_minindex — Index of lowest value over a specified period
    • trader_minmax — Lowest and highest values over a specified period
    • trader_minmaxindex — Indexes of lowest and highest values over a specified period
    • trader_minus_di — Minus Directional Indicator
    • trader_minus_dm — Minus Directional Movement
    • trader_mom — Momentum
    • trader_mult — Vector Arithmetic Mult
    • trader_natr — Normalized Average True Range
    • trader_obv — On Balance Volume
    • trader_plus_di — Plus Directional Indicator
    • trader_plus_dm — Plus Directional Movement
    • trader_ppo — Percentage Price Oscillator
    • trader_roc — Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rocr — Rate of change ratio: (price/prevPrice)
    • trader_rsi — Relative Strength Index
    • trader_sar — Parabolic SAR
    • trader_sarext — Parabolic SAR - Extended
    • trader_set_compat — Set compatibility mode
    • trader_set_unstable_period — Set unstable period
    • trader_sin — Vector Trigonometric Sin
    • trader_sinh — Vector Trigonometric Sinh
    • trader_sma — Simple Moving Average
    • trader_sqrt — Vector Square Root
    • trader_stddev — Standard Deviation
    • trader_stoch — Stochastic
    • trader_stochf — Stochastic Fast
    • trader_stochrsi — Stochastic Relative Strength Index
    • trader_sub — Vector Arithmetic Subtraction
    • trader_sum — Summation
    • trader_t3 — Triple Exponential Moving Average (T3)
    • trader_tan — Vector Trigonometric Tan
    • trader_tanh — Vector Trigonometric Tanh
    • trader_tema — Triple Exponential Moving Average
    • trader_trange — True Range
    • trader_trima — Triangular Moving Average
    • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf — Time Series Forecast
    • trader_typprice — Typical Price
    • trader_ultosc — Ultimate Oscillator
    • trader_var — Variance
    • trader_wclprice — Weighted Close Price
    • trader_willr — Williams' %R
    • trader_wma — Weighted Moving Average


Giriş

The trader extension is a free open source stock library based on TA-Lib. It's dedicated to trading software developers requiring to perform technical analysis of financial market data. Alongside many indicators like ADX, MACD, RSI, Stochastic, TRIX the candlestick pattern recognition and several vector arithmetic and algebraic functions are present.

Calculations can be done in two modes - TA-Lib and Metastock. Changing it using trader_set_compat() will affect the way some trader functions work.

Some trader functions provide different results depending of the "starting point" of the data being involved. This is often referred as a function having memories. An example of such function is the Exponential Moving Average. It is possible to control the unstable period (the amount of data to strip off) using trader_set_unstable_period() function.

Extended documentation about indicators, formulas and implementations in other programming languages can be found under » tadoc.org.


Gereksinimler

The trader extension is based on » TA-Lib. TA-Lib is fully integrated into the extension, therefore no external libraries are needed.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/trader.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/trader/.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Trader Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
trader.real_precision | 3 | PHP_INI_ALL | Since trader 0.2.1
trader.real_round_mode | HALF_DOWN | PHP_INI_ALL | Since trader 0.3.0

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

trader.real_precision int

All the values in the returned arrays will be rounded to this precision. However the calculations inside TA-Lib happen with unrounded values.

trader.real_round_mode string

Controls the trader real rounding policy. Valid values are HALF_UP, HALF_DOWN, HALF_EVEN and HALF_ODD. The behaviour is identical to the round() function used with the mode argument.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

TRADER_MA_TYPE_SMA (int)
TRADER_MA_TYPE_EMA (int)
TRADER_MA_TYPE_WMA (int)
TRADER_MA_TYPE_DEMA (int)
TRADER_MA_TYPE_TEMA (int)
TRADER_MA_TYPE_TRIMA (int)
TRADER_MA_TYPE_KAMA (int)
TRADER_MA_TYPE_MAMA (int)
TRADER_MA_TYPE_T3 (int)
TRADER_REAL_MIN (float)
TRADER_REAL_MAX (float)
TRADER_FUNC_UNST_ADX (int)
TRADER_FUNC_UNST_ADXR (int)
TRADER_FUNC_UNST_ATR (int)
TRADER_FUNC_UNST_CMO (int)
TRADER_FUNC_UNST_DX (int)
TRADER_FUNC_UNST_EMA (int)
TRADER_FUNC_UNST_HT_DCPERIOD (int)
TRADER_FUNC_UNST_HT_DCPHASE (int)
TRADER_FUNC_UNST_HT_PHASOR (int)
TRADER_FUNC_UNST_HT_SINE (int)
TRADER_FUNC_UNST_HT_TRENDLINE (int)
TRADER_FUNC_UNST_HT_TRENDMODE (int)
TRADER_FUNC_UNST_KAMA (int)
TRADER_FUNC_UNST_MAMA (int)
TRADER_FUNC_UNST_MFI (int)
TRADER_FUNC_UNST_MINUS_DI (int)
TRADER_FUNC_UNST_MINUS_DM (int)
TRADER_FUNC_UNST_NATR (int)
TRADER_FUNC_UNST_PLUS_DI (int)
TRADER_FUNC_UNST_PLUS_DM (int)
TRADER_FUNC_UNST_RSI (int)
TRADER_FUNC_UNST_STOCHRSI (int)
TRADER_FUNC_UNST_T3 (int)
TRADER_FUNC_UNST_ALL (int)
TRADER_FUNC_UNST_NONE (int)
TRADER_COMPATIBILITY_DEFAULT (int)
TRADER_COMPATIBILITY_METASTOCK (int)
TRADER_ERR_SUCCESS (int)
TRADER_ERR_LIB_NOT_INITIALIZE (int)
TRADER_ERR_BAD_PARAM (int)
TRADER_ERR_ALLOC_ERR (int)
TRADER_ERR_GROUP_NOT_FOUND (int)
TRADER_ERR_FUNC_NOT_FOUND (int)
TRADER_ERR_INVALID_HANDLE (int)
TRADER_ERR_INVALID_PARAM_HOLDER (int)
TRADER_ERR_INVALID_PARAM_HOLDER_TYPE (int)
TRADER_ERR_INVALID_PARAM_FUNCTION (int)
TRADER_ERR_INPUT_NOT_ALL_INITIALIZE (int)
TRADER_ERR_OUTPUT_NOT_ALL_INITIALIZE (int)
TRADER_ERR_OUT_OF_RANGE_START_INDEX (int)
TRADER_ERR_OUT_OF_RANGE_END_INDEX (int)
TRADER_ERR_INVALID_LIST_TYPE (int)
TRADER_ERR_BAD_OBJECT (int)
TRADER_ERR_NOT_SUPPORTED (int)
TRADER_ERR_INTERNAL_ERROR (int)
TRADER_ERR_UNKNOWN_ERROR (int)


Trader İşlevleri

İçindekiler

  • trader_acos — Vector Trigonometric ACos
  • trader_ad — Chaikin A/D Line
  • trader_add — Vector Arithmetic Add
  • trader_adosc — Chaikin A/D Oscillator
  • trader_adx — Average Directional Movement Index
  • trader_adxr — Average Directional Movement Index Rating
  • trader_apo — Absolute Price Oscillator
  • trader_aroon — Aroon
  • trader_aroonosc — Aroon Oscillator
  • trader_asin — Vector Trigonometric ASin
  • trader_atan — Vector Trigonometric ATan
  • trader_atr — Average True Range
  • trader_avgprice — Average Price
  • trader_bbands — Bollinger Bands
  • trader_beta — Beta
  • trader_bop — Balance Of Power
  • trader_cci — Commodity Channel Index
  • trader_cdl2crows — Two Crows
  • trader_cdl3blackcrows — Three Black Crows
  • trader_cdl3inside — Three Inside Up/Down
  • trader_cdl3linestrike — Three-Line Strike
  • trader_cdl3outside — Three Outside Up/Down
  • trader_cdl3starsinsouth — Three Stars In The South
  • trader_cdl3whitesoldiers — Three Advancing White Soldiers
  • trader_cdlabandonedbaby — Abandoned Baby
  • trader_cdladvanceblock — Advance Block
  • trader_cdlbelthold — Belt-hold
  • trader_cdlbreakaway — Breakaway
  • trader_cdlclosingmarubozu — Closing Marubozu
  • trader_cdlconcealbabyswall — Concealing Baby Swallow
  • trader_cdlcounterattack — Counterattack
  • trader_cdldarkcloudcover — Dark Cloud Cover
  • trader_cdldoji — Doji
  • trader_cdldojistar — Doji Star
  • trader_cdldragonflydoji — Dragonfly Doji
  • trader_cdlengulfing — Engulfing Pattern
  • trader_cdleveningdojistar — Evening Doji Star
  • trader_cdleveningstar — Evening Star
  • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
  • trader_cdlgravestonedoji — Gravestone Doji
  • trader_cdlhammer — Hammer
  • trader_cdlhangingman — Hanging Man
  • trader_cdlharami — Harami Pattern
  • trader_cdlharamicross — Harami Cross Pattern
  • trader_cdlhighwave — High-Wave Candle
  • trader_cdlhikkake — Hikkake Pattern
  • trader_cdlhikkakemod — Modified Hikkake Pattern
  • trader_cdlhomingpigeon — Homing Pigeon
  • trader_cdlidentical3crows — Identical Three Crows
  • trader_cdlinneck — In-Neck Pattern
  • trader_cdlinvertedhammer — Inverted Hammer
  • trader_cdlkicking — Kicking
  • trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu
  • trader_cdlladderbottom — Ladder Bottom
  • trader_cdllongleggeddoji — Long Legged Doji
  • trader_cdllongline — Long Line Candle
  • trader_cdlmarubozu — Marubozu
  • trader_cdlmatchinglow — Matching Low
  • trader_cdlmathold — Mat Hold
  • trader_cdlmorningdojistar — Morning Doji Star
  • trader_cdlmorningstar — Morning Star
  • trader_cdlonneck — On-Neck Pattern
  • trader_cdlpiercing — Piercing Pattern
  • trader_cdlrickshawman — Rickshaw Man
  • trader_cdlrisefall3methods — Rising/Falling Three Methods
  • trader_cdlseparatinglines — Separating Lines
  • trader_cdlshootingstar — Shooting Star
  • trader_cdlshortline — Short Line Candle
  • trader_cdlspinningtop — Spinning Top
  • trader_cdlstalledpattern — Stalled Pattern
  • trader_cdlsticksandwich — Stick Sandwich
  • trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)
  • trader_cdltasukigap — Tasuki Gap
  • trader_cdlthrusting — Thrusting Pattern
  • trader_cdltristar — Tristar Pattern
  • trader_cdlunique3river — Unique 3 River
  • trader_cdlupsidegap2crows — Upside Gap Two Crows
  • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
  • trader_ceil — Vector Ceil
  • trader_cmo — Chande Momentum Oscillator
  • trader_correl — Pearson's Correlation Coefficient (r)
  • trader_cos — Vector Trigonometric Cos
  • trader_cosh — Vector Trigonometric Cosh
  • trader_dema — Double Exponential Moving Average
  • trader_div — Vector Arithmetic Div
  • trader_dx — Directional Movement Index
  • trader_ema — Exponential Moving Average
  • trader_errno — Get error code
  • trader_exp — Vector Arithmetic Exp
  • trader_floor — Vector Floor
  • trader_get_compat — Get compatibility mode
  • trader_get_unstable_period — Get unstable period
  • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
  • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
  • trader_ht_phasor — Hilbert Transform - Phasor Components
  • trader_ht_sine — Hilbert Transform - SineWave
  • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
  • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
  • trader_kama — Kaufman Adaptive Moving Average
  • trader_linearreg_angle — Linear Regression Angle
  • trader_linearreg_intercept — Linear Regression Intercept
  • trader_linearreg_slope — Linear Regression Slope
  • trader_linearreg — Linear Regression
  • trader_ln — Vector Log Natural
  • trader_log10 — Vector Log10
  • trader_ma — Moving average
  • trader_macd — Moving Average Convergence/Divergence
  • trader_macdext — MACD with controllable MA type
  • trader_macdfix — Moving Average Convergence/Divergence Fix 12/26
  • trader_mama — MESA Adaptive Moving Average
  • trader_mavp — Moving average with variable period
  • trader_max — Highest value over a specified period
  • trader_maxindex — Index of highest value over a specified period
  • trader_medprice — Median Price
  • trader_mfi — Money Flow Index
  • trader_midpoint — MidPoint over period
  • trader_midprice — Midpoint Price over period
  • trader_min — Lowest value over a specified period
  • trader_minindex — Index of lowest value over a specified period
  • trader_minmax — Lowest and highest values over a specified period
  • trader_minmaxindex — Indexes of lowest and highest values over a specified period
  • trader_minus_di — Minus Directional Indicator
  • trader_minus_dm — Minus Directional Movement
  • trader_mom — Momentum
  • trader_mult — Vector Arithmetic Mult
  • trader_natr — Normalized Average True Range
  • trader_obv — On Balance Volume
  • trader_plus_di — Plus Directional Indicator
  • trader_plus_dm — Plus Directional Movement
  • trader_ppo — Percentage Price Oscillator
  • trader_roc — Rate of change : ((price/prevPrice)-1)*100
  • trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice
  • trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100
  • trader_rocr — Rate of change ratio: (price/prevPrice)
  • trader_rsi — Relative Strength Index
  • trader_sar — Parabolic SAR
  • trader_sarext — Parabolic SAR - Extended
  • trader_set_compat — Set compatibility mode
  • trader_set_unstable_period — Set unstable period
  • trader_sin — Vector Trigonometric Sin
  • trader_sinh — Vector Trigonometric Sinh
  • trader_sma — Simple Moving Average
  • trader_sqrt — Vector Square Root
  • trader_stddev — Standard Deviation
  • trader_stoch — Stochastic
  • trader_stochf — Stochastic Fast
  • trader_stochrsi — Stochastic Relative Strength Index
  • trader_sub — Vector Arithmetic Subtraction
  • trader_sum — Summation
  • trader_t3 — Triple Exponential Moving Average (T3)
  • trader_tan — Vector Trigonometric Tan
  • trader_tanh — Vector Trigonometric Tanh
  • trader_tema — Triple Exponential Moving Average
  • trader_trange — True Range
  • trader_trima — Triangular Moving Average
  • trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
  • trader_tsf — Time Series Forecast
  • trader_typprice — Typical Price
  • trader_ultosc — Ultimate Oscillator
  • trader_var — Variance
  • trader_wclprice — Weighted Close Price
  • trader_willr — Williams' %R
  • trader_wma — Weighted Moving Average


Vector Trigonometric ACos

  • « Trader İşlevleri
  • trader_ad »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric ACos

trader_acos

(PECL trader >= 0.2.0)

trader_acos — Vector Trigonometric ACos

Açıklama

trader_acos(array $real): array

Calculates the arc cosine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Chaikin A/D Line

  • « trader_acos
  • trader_add »
  • PHP Manual
  • Trader İşlevleri
  • Chaikin A/D Line

trader_ad

(PECL trader >= 0.2.0)

trader_ad — Chaikin A/D Line

Açıklama

trader_ad(
array $high,
array $low,
array $close,
array $volume
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Arithmetic Add

  • « trader_ad
  • trader_adosc »
  • PHP Manual
  • Trader İşlevleri
  • Vector Arithmetic Add

trader_add

(PECL trader >= 0.2.0)

trader_add — Vector Arithmetic Add

Açıklama

trader_add(array $real0, array $real1): array

Calculates the vector addition of real0 to real1 and returns the resulting vector.

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Chaikin A/D Oscillator

  • « trader_add
  • trader_adx »
  • PHP Manual
  • Trader İşlevleri
  • Chaikin A/D Oscillator

trader_adosc

(PECL trader >= 0.2.0)

trader_adosc — Chaikin A/D Oscillator

Açıklama

trader_adosc(
array $high,
array $low,
array $close,
array $volume,
int $fastPeriod = ?,
int $slowPeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Average Directional Movement Index

  • « trader_adosc
  • trader_adxr »
  • PHP Manual
  • Trader İşlevleri
  • Average Directional Movement Index

trader_adx

(PECL trader >= 0.2.0)

trader_adx — Average Directional Movement Index

Açıklama

trader_adx(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Average Directional Movement Index Rating

  • « trader_adx
  • trader_apo »
  • PHP Manual
  • Trader İşlevleri
  • Average Directional Movement Index Rating

trader_adxr

(PECL trader >= 0.2.0)

trader_adxr — Average Directional Movement Index Rating

Açıklama

trader_adxr(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Absolute Price Oscillator

  • « trader_adxr
  • trader_aroon »
  • PHP Manual
  • Trader İşlevleri
  • Absolute Price Oscillator

trader_apo

(PECL trader >= 0.2.0)

trader_apo — Absolute Price Oscillator

Açıklama

trader_apo(
array $real,
int $fastPeriod = ?,
int $slowPeriod = ?,
int $mAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Aroon

  • « trader_apo
  • trader_aroonosc »
  • PHP Manual
  • Trader İşlevleri
  • Aroon

trader_aroon

(PECL trader >= 0.2.0)

trader_aroon — Aroon

Açıklama

trader_aroon(array $high, array $low, int $timePeriod = ?): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Aroon Oscillator

  • « trader_aroon
  • trader_asin »
  • PHP Manual
  • Trader İşlevleri
  • Aroon Oscillator

trader_aroonosc

(PECL trader >= 0.2.0)

trader_aroonosc — Aroon Oscillator

Açıklama

trader_aroonosc(array $high, array $low, int $timePeriod = ?): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric ASin

  • « trader_aroonosc
  • trader_atan »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric ASin

trader_asin

(PECL trader >= 0.2.0)

trader_asin — Vector Trigonometric ASin

Açıklama

trader_asin(array $real): array

Calculates the arc sine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric ATan

  • « trader_asin
  • trader_atr »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric ATan

trader_atan

(PECL trader >= 0.2.0)

trader_atan — Vector Trigonometric ATan

Açıklama

trader_atan(array $real): array

Calculates the arc tangent for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Average True Range

  • « trader_atan
  • trader_avgprice »
  • PHP Manual
  • Trader İşlevleri
  • Average True Range

trader_atr

(PECL trader >= 0.2.0)

trader_atr — Average True Range

Açıklama

trader_atr(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Average Price

  • « trader_atr
  • trader_bbands »
  • PHP Manual
  • Trader İşlevleri
  • Average Price

trader_avgprice

(PECL trader >= 0.2.0)

trader_avgprice — Average Price

Açıklama

trader_avgprice(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Bollinger Bands

  • « trader_avgprice
  • trader_beta »
  • PHP Manual
  • Trader İşlevleri
  • Bollinger Bands

trader_bbands

(PECL trader >= 0.2.0)

trader_bbands — Bollinger Bands

Açıklama

trader_bbands(
array $real,
int $timePeriod = ?,
float $nbDevUp = ?,
float $nbDevDn = ?,
int $mAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDevUp

Deviation multiplier for upper band. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

nbDevDn

Deviation multiplier for lower band. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Beta

  • « trader_bbands
  • trader_bop »
  • PHP Manual
  • Trader İşlevleri
  • Beta

trader_beta

(PECL trader >= 0.2.0)

trader_beta — Beta

Açıklama

trader_beta(array $real0, array $real1, int $timePeriod = ?): array

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Balance Of Power

  • « trader_beta
  • trader_cci »
  • PHP Manual
  • Trader İşlevleri
  • Balance Of Power

trader_bop

(PECL trader >= 0.2.0)

trader_bop — Balance Of Power

Açıklama

trader_bop(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Commodity Channel Index

  • « trader_bop
  • trader_cdl2crows »
  • PHP Manual
  • Trader İşlevleri
  • Commodity Channel Index

trader_cci

(PECL trader >= 0.2.0)

trader_cci — Commodity Channel Index

Açıklama

trader_cci(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Two Crows

  • « trader_cci
  • trader_cdl3blackcrows »
  • PHP Manual
  • Trader İşlevleri
  • Two Crows

trader_cdl2crows

(PECL trader >= 0.2.0)

trader_cdl2crows — Two Crows

Açıklama

trader_cdl2crows(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three Black Crows

  • « trader_cdl2crows
  • trader_cdl3inside »
  • PHP Manual
  • Trader İşlevleri
  • Three Black Crows

trader_cdl3blackcrows

(PECL trader >= 0.2.0)

trader_cdl3blackcrows — Three Black Crows

Açıklama

trader_cdl3blackcrows(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three Inside Up/Down

  • « trader_cdl3blackcrows
  • trader_cdl3linestrike »
  • PHP Manual
  • Trader İşlevleri
  • Three Inside Up/Down

trader_cdl3inside

(PECL trader >= 0.2.0)

trader_cdl3inside — Three Inside Up/Down

Açıklama

trader_cdl3inside(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three-Line Strike

  • « trader_cdl3inside
  • trader_cdl3outside »
  • PHP Manual
  • Trader İşlevleri
  • Three-Line Strike

trader_cdl3linestrike

(PECL trader >= 0.2.0)

trader_cdl3linestrike — Three-Line Strike

Açıklama

trader_cdl3linestrike(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three Outside Up/Down

  • « trader_cdl3linestrike
  • trader_cdl3starsinsouth »
  • PHP Manual
  • Trader İşlevleri
  • Three Outside Up/Down

trader_cdl3outside

(PECL trader >= 0.2.0)

trader_cdl3outside — Three Outside Up/Down

Açıklama

trader_cdl3outside(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three Stars In The South

  • « trader_cdl3outside
  • trader_cdl3whitesoldiers »
  • PHP Manual
  • Trader İşlevleri
  • Three Stars In The South

trader_cdl3starsinsouth

(PECL trader >= 0.2.0)

trader_cdl3starsinsouth — Three Stars In The South

Açıklama

trader_cdl3starsinsouth(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Three Advancing White Soldiers

  • « trader_cdl3starsinsouth
  • trader_cdlabandonedbaby »
  • PHP Manual
  • Trader İşlevleri
  • Three Advancing White Soldiers

trader_cdl3whitesoldiers

(PECL trader >= 0.2.0)

trader_cdl3whitesoldiers — Three Advancing White Soldiers

Açıklama

trader_cdl3whitesoldiers(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Abandoned Baby

  • « trader_cdl3whitesoldiers
  • trader_cdladvanceblock »
  • PHP Manual
  • Trader İşlevleri
  • Abandoned Baby

trader_cdlabandonedbaby

(PECL trader >= 0.2.0)

trader_cdlabandonedbaby — Abandoned Baby

Açıklama

trader_cdlabandonedbaby(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Advance Block

  • « trader_cdlabandonedbaby
  • trader_cdlbelthold »
  • PHP Manual
  • Trader İşlevleri
  • Advance Block

trader_cdladvanceblock

(PECL trader >= 0.2.0)

trader_cdladvanceblock — Advance Block

Açıklama

trader_cdladvanceblock(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Belt-hold

  • « trader_cdladvanceblock
  • trader_cdlbreakaway »
  • PHP Manual
  • Trader İşlevleri
  • Belt-hold

trader_cdlbelthold

(PECL trader >= 0.2.0)

trader_cdlbelthold — Belt-hold

Açıklama

trader_cdlbelthold(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Breakaway

  • « trader_cdlbelthold
  • trader_cdlclosingmarubozu »
  • PHP Manual
  • Trader İşlevleri
  • Breakaway

trader_cdlbreakaway

(PECL trader >= 0.2.0)

trader_cdlbreakaway — Breakaway

Açıklama

trader_cdlbreakaway(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Closing Marubozu

  • « trader_cdlbreakaway
  • trader_cdlconcealbabyswall »
  • PHP Manual
  • Trader İşlevleri
  • Closing Marubozu

trader_cdlclosingmarubozu

(PECL trader >= 0.2.0)

trader_cdlclosingmarubozu — Closing Marubozu

Açıklama

trader_cdlclosingmarubozu(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Concealing Baby Swallow

  • « trader_cdlclosingmarubozu
  • trader_cdlcounterattack »
  • PHP Manual
  • Trader İşlevleri
  • Concealing Baby Swallow

trader_cdlconcealbabyswall

(PECL trader >= 0.2.0)

trader_cdlconcealbabyswall — Concealing Baby Swallow

Açıklama

trader_cdlconcealbabyswall(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Counterattack

  • « trader_cdlconcealbabyswall
  • trader_cdldarkcloudcover »
  • PHP Manual
  • Trader İşlevleri
  • Counterattack

trader_cdlcounterattack

(PECL trader >= 0.2.0)

trader_cdlcounterattack — Counterattack

Açıklama

trader_cdlcounterattack(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Dark Cloud Cover

  • « trader_cdlcounterattack
  • trader_cdldoji »
  • PHP Manual
  • Trader İşlevleri
  • Dark Cloud Cover

trader_cdldarkcloudcover

(PECL trader >= 0.2.0)

trader_cdldarkcloudcover — Dark Cloud Cover

Açıklama

trader_cdldarkcloudcover(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Doji

  • « trader_cdldarkcloudcover
  • trader_cdldojistar »
  • PHP Manual
  • Trader İşlevleri
  • Doji

trader_cdldoji

(PECL trader >= 0.2.0)

trader_cdldoji — Doji

Açıklama

trader_cdldoji(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Doji Star

  • « trader_cdldoji
  • trader_cdldragonflydoji »
  • PHP Manual
  • Trader İşlevleri
  • Doji Star

trader_cdldojistar

(PECL trader >= 0.2.0)

trader_cdldojistar — Doji Star

Açıklama

trader_cdldojistar(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Dragonfly Doji

  • « trader_cdldojistar
  • trader_cdlengulfing »
  • PHP Manual
  • Trader İşlevleri
  • Dragonfly Doji

trader_cdldragonflydoji

(PECL trader >= 0.2.0)

trader_cdldragonflydoji — Dragonfly Doji

Açıklama

trader_cdldragonflydoji(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Engulfing Pattern

  • « trader_cdldragonflydoji
  • trader_cdleveningdojistar »
  • PHP Manual
  • Trader İşlevleri
  • Engulfing Pattern

trader_cdlengulfing

(PECL trader >= 0.2.0)

trader_cdlengulfing — Engulfing Pattern

Açıklama

trader_cdlengulfing(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Evening Doji Star

  • « trader_cdlengulfing
  • trader_cdleveningstar »
  • PHP Manual
  • Trader İşlevleri
  • Evening Doji Star

trader_cdleveningdojistar

(PECL trader >= 0.2.0)

trader_cdleveningdojistar — Evening Doji Star

Açıklama

trader_cdleveningdojistar(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Evening Star

  • « trader_cdleveningdojistar
  • trader_cdlgapsidesidewhite »
  • PHP Manual
  • Trader İşlevleri
  • Evening Star

trader_cdleveningstar

(PECL trader >= 0.2.0)

trader_cdleveningstar — Evening Star

Açıklama

trader_cdleveningstar(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Up/Down-gap side-by-side white lines

  • « trader_cdleveningstar
  • trader_cdlgravestonedoji »
  • PHP Manual
  • Trader İşlevleri
  • Up/Down-gap side-by-side white lines

trader_cdlgapsidesidewhite

(PECL trader >= 0.2.0)

trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines

Açıklama

trader_cdlgapsidesidewhite(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Gravestone Doji

  • « trader_cdlgapsidesidewhite
  • trader_cdlhammer »
  • PHP Manual
  • Trader İşlevleri
  • Gravestone Doji

trader_cdlgravestonedoji

(PECL trader >= 0.2.0)

trader_cdlgravestonedoji — Gravestone Doji

Açıklama

trader_cdlgravestonedoji(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hammer

  • « trader_cdlgravestonedoji
  • trader_cdlhangingman »
  • PHP Manual
  • Trader İşlevleri
  • Hammer

trader_cdlhammer

(PECL trader >= 0.2.0)

trader_cdlhammer — Hammer

Açıklama

trader_cdlhammer(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hanging Man

  • « trader_cdlhammer
  • trader_cdlharami »
  • PHP Manual
  • Trader İşlevleri
  • Hanging Man

trader_cdlhangingman

(PECL trader >= 0.2.0)

trader_cdlhangingman — Hanging Man

Açıklama

trader_cdlhangingman(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Harami Pattern

  • « trader_cdlhangingman
  • trader_cdlharamicross »
  • PHP Manual
  • Trader İşlevleri
  • Harami Pattern

trader_cdlharami

(PECL trader >= 0.2.0)

trader_cdlharami — Harami Pattern

Açıklama

trader_cdlharami(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Harami Cross Pattern

  • « trader_cdlharami
  • trader_cdlhighwave »
  • PHP Manual
  • Trader İşlevleri
  • Harami Cross Pattern

trader_cdlharamicross

(PECL trader >= 0.2.0)

trader_cdlharamicross — Harami Cross Pattern

Açıklama

trader_cdlharamicross(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


High-Wave Candle

  • « trader_cdlharamicross
  • trader_cdlhikkake »
  • PHP Manual
  • Trader İşlevleri
  • High-Wave Candle

trader_cdlhighwave

(PECL trader >= 0.2.0)

trader_cdlhighwave — High-Wave Candle

Açıklama

trader_cdlhighwave(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hikkake Pattern

  • « trader_cdlhighwave
  • trader_cdlhikkakemod »
  • PHP Manual
  • Trader İşlevleri
  • Hikkake Pattern

trader_cdlhikkake

(PECL trader >= 0.2.0)

trader_cdlhikkake — Hikkake Pattern

Açıklama

trader_cdlhikkake(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Modified Hikkake Pattern

  • « trader_cdlhikkake
  • trader_cdlhomingpigeon »
  • PHP Manual
  • Trader İşlevleri
  • Modified Hikkake Pattern

trader_cdlhikkakemod

(PECL trader >= 0.2.0)

trader_cdlhikkakemod — Modified Hikkake Pattern

Açıklama

trader_cdlhikkakemod(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Homing Pigeon

  • « trader_cdlhikkakemod
  • trader_cdlidentical3crows »
  • PHP Manual
  • Trader İşlevleri
  • Homing Pigeon

trader_cdlhomingpigeon

(PECL trader >= 0.2.0)

trader_cdlhomingpigeon — Homing Pigeon

Açıklama

trader_cdlhomingpigeon(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Identical Three Crows

  • « trader_cdlhomingpigeon
  • trader_cdlinneck »
  • PHP Manual
  • Trader İşlevleri
  • Identical Three Crows

trader_cdlidentical3crows

(PECL trader >= 0.2.0)

trader_cdlidentical3crows — Identical Three Crows

Açıklama

trader_cdlidentical3crows(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


In-Neck Pattern

  • « trader_cdlidentical3crows
  • trader_cdlinvertedhammer »
  • PHP Manual
  • Trader İşlevleri
  • In-Neck Pattern

trader_cdlinneck

(PECL trader >= 0.2.0)

trader_cdlinneck — In-Neck Pattern

Açıklama

trader_cdlinneck(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Inverted Hammer

  • « trader_cdlinneck
  • trader_cdlkicking »
  • PHP Manual
  • Trader İşlevleri
  • Inverted Hammer

trader_cdlinvertedhammer

(PECL trader >= 0.2.0)

trader_cdlinvertedhammer — Inverted Hammer

Açıklama

trader_cdlinvertedhammer(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Kicking

  • « trader_cdlinvertedhammer
  • trader_cdlkickingbylength »
  • PHP Manual
  • Trader İşlevleri
  • Kicking

trader_cdlkicking

(PECL trader >= 0.2.0)

trader_cdlkicking — Kicking

Açıklama

trader_cdlkicking(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Kicking - bull/bear determined by the longer marubozu

  • « trader_cdlkicking
  • trader_cdlladderbottom »
  • PHP Manual
  • Trader İşlevleri
  • Kicking - bull/bear determined by the longer marubozu

trader_cdlkickingbylength

(PECL trader >= 0.2.0)

trader_cdlkickingbylength — Kicking - bull/bear determined by the longer marubozu

Açıklama

trader_cdlkickingbylength(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Ladder Bottom

  • « trader_cdlkickingbylength
  • trader_cdllongleggeddoji »
  • PHP Manual
  • Trader İşlevleri
  • Ladder Bottom

trader_cdlladderbottom

(PECL trader >= 0.2.0)

trader_cdlladderbottom — Ladder Bottom

Açıklama

trader_cdlladderbottom(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Long Legged Doji

  • « trader_cdlladderbottom
  • trader_cdllongline »
  • PHP Manual
  • Trader İşlevleri
  • Long Legged Doji

trader_cdllongleggeddoji

(PECL trader >= 0.2.0)

trader_cdllongleggeddoji — Long Legged Doji

Açıklama

trader_cdllongleggeddoji(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Long Line Candle

  • « trader_cdllongleggeddoji
  • trader_cdlmarubozu »
  • PHP Manual
  • Trader İşlevleri
  • Long Line Candle

trader_cdllongline

(PECL trader >= 0.2.0)

trader_cdllongline — Long Line Candle

Açıklama

trader_cdllongline(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Marubozu

  • « trader_cdllongline
  • trader_cdlmatchinglow »
  • PHP Manual
  • Trader İşlevleri
  • Marubozu

trader_cdlmarubozu

(PECL trader >= 0.2.0)

trader_cdlmarubozu — Marubozu

Açıklama

trader_cdlmarubozu(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Matching Low

  • « trader_cdlmarubozu
  • trader_cdlmathold »
  • PHP Manual
  • Trader İşlevleri
  • Matching Low

trader_cdlmatchinglow

(PECL trader >= 0.2.0)

trader_cdlmatchinglow — Matching Low

Açıklama

trader_cdlmatchinglow(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Mat Hold

  • « trader_cdlmatchinglow
  • trader_cdlmorningdojistar »
  • PHP Manual
  • Trader İşlevleri
  • Mat Hold

trader_cdlmathold

(PECL trader >= 0.2.0)

trader_cdlmathold — Mat Hold

Açıklama

trader_cdlmathold(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Morning Doji Star

  • « trader_cdlmathold
  • trader_cdlmorningstar »
  • PHP Manual
  • Trader İşlevleri
  • Morning Doji Star

trader_cdlmorningdojistar

(PECL trader >= 0.2.0)

trader_cdlmorningdojistar — Morning Doji Star

Açıklama

trader_cdlmorningdojistar(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


Morning Star

  • « trader_cdlmorningdojistar
  • trader_cdlonneck »
  • PHP Manual
  • Trader İşlevleri
  • Morning Star

trader_cdlmorningstar

(PECL trader >= 0.2.0)

trader_cdlmorningstar — Morning Star

Açıklama

trader_cdlmorningstar(
array $open,
array $high,
array $low,
array $close,
float $penetration = ?
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

penetration

Percentage of penetration of a candle within another candle.

Dönen Değerler

Returns an array with calculated data or false on failure.


On-Neck Pattern

  • « trader_cdlmorningstar
  • trader_cdlpiercing »
  • PHP Manual
  • Trader İşlevleri
  • On-Neck Pattern

trader_cdlonneck

(PECL trader >= 0.2.0)

trader_cdlonneck — On-Neck Pattern

Açıklama

trader_cdlonneck(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Piercing Pattern

  • « trader_cdlonneck
  • trader_cdlrickshawman »
  • PHP Manual
  • Trader İşlevleri
  • Piercing Pattern

trader_cdlpiercing

(PECL trader >= 0.2.0)

trader_cdlpiercing — Piercing Pattern

Açıklama

trader_cdlpiercing(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rickshaw Man

  • « trader_cdlpiercing
  • trader_cdlrisefall3methods »
  • PHP Manual
  • Trader İşlevleri
  • Rickshaw Man

trader_cdlrickshawman

(PECL trader >= 0.2.0)

trader_cdlrickshawman — Rickshaw Man

Açıklama

trader_cdlrickshawman(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rising/Falling Three Methods

  • « trader_cdlrickshawman
  • trader_cdlseparatinglines »
  • PHP Manual
  • Trader İşlevleri
  • Rising/Falling Three Methods

trader_cdlrisefall3methods

(PECL trader >= 0.2.0)

trader_cdlrisefall3methods — Rising/Falling Three Methods

Açıklama

trader_cdlrisefall3methods(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Separating Lines

  • « trader_cdlrisefall3methods
  • trader_cdlshootingstar »
  • PHP Manual
  • Trader İşlevleri
  • Separating Lines

trader_cdlseparatinglines

(PECL trader >= 0.2.0)

trader_cdlseparatinglines — Separating Lines

Açıklama

trader_cdlseparatinglines(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Shooting Star

  • « trader_cdlseparatinglines
  • trader_cdlshortline »
  • PHP Manual
  • Trader İşlevleri
  • Shooting Star

trader_cdlshootingstar

(PECL trader >= 0.2.0)

trader_cdlshootingstar — Shooting Star

Açıklama

trader_cdlshootingstar(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Short Line Candle

  • « trader_cdlshootingstar
  • trader_cdlspinningtop »
  • PHP Manual
  • Trader İşlevleri
  • Short Line Candle

trader_cdlshortline

(PECL trader >= 0.2.0)

trader_cdlshortline — Short Line Candle

Açıklama

trader_cdlshortline(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Spinning Top

  • « trader_cdlshortline
  • trader_cdlstalledpattern »
  • PHP Manual
  • Trader İşlevleri
  • Spinning Top

trader_cdlspinningtop

(PECL trader >= 0.2.0)

trader_cdlspinningtop — Spinning Top

Açıklama

trader_cdlspinningtop(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Stalled Pattern

  • « trader_cdlspinningtop
  • trader_cdlsticksandwich »
  • PHP Manual
  • Trader İşlevleri
  • Stalled Pattern

trader_cdlstalledpattern

(PECL trader >= 0.2.0)

trader_cdlstalledpattern — Stalled Pattern

Açıklama

trader_cdlstalledpattern(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Stick Sandwich

  • « trader_cdlstalledpattern
  • trader_cdltakuri »
  • PHP Manual
  • Trader İşlevleri
  • Stick Sandwich

trader_cdlsticksandwich

(PECL trader >= 0.2.0)

trader_cdlsticksandwich — Stick Sandwich

Açıklama

trader_cdlsticksandwich(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Takuri (Dragonfly Doji with very long lower shadow)

  • « trader_cdlsticksandwich
  • trader_cdltasukigap »
  • PHP Manual
  • Trader İşlevleri
  • Takuri (Dragonfly Doji with very long lower shadow)

trader_cdltakuri

(PECL trader >= 0.2.0)

trader_cdltakuri — Takuri (Dragonfly Doji with very long lower shadow)

Açıklama

trader_cdltakuri(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Tasuki Gap

  • « trader_cdltakuri
  • trader_cdlthrusting »
  • PHP Manual
  • Trader İşlevleri
  • Tasuki Gap

trader_cdltasukigap

(PECL trader >= 0.2.0)

trader_cdltasukigap — Tasuki Gap

Açıklama

trader_cdltasukigap(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Thrusting Pattern

  • « trader_cdltasukigap
  • trader_cdltristar »
  • PHP Manual
  • Trader İşlevleri
  • Thrusting Pattern

trader_cdlthrusting

(PECL trader >= 0.2.0)

trader_cdlthrusting — Thrusting Pattern

Açıklama

trader_cdlthrusting(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Tristar Pattern

  • « trader_cdlthrusting
  • trader_cdlunique3river »
  • PHP Manual
  • Trader İşlevleri
  • Tristar Pattern

trader_cdltristar

(PECL trader >= 0.2.0)

trader_cdltristar — Tristar Pattern

Açıklama

trader_cdltristar(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Unique 3 River

  • « trader_cdltristar
  • trader_cdlupsidegap2crows »
  • PHP Manual
  • Trader İşlevleri
  • Unique 3 River

trader_cdlunique3river

(PECL trader >= 0.2.0)

trader_cdlunique3river — Unique 3 River

Açıklama

trader_cdlunique3river(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Upside Gap Two Crows

  • « trader_cdlunique3river
  • trader_cdlxsidegap3methods »
  • PHP Manual
  • Trader İşlevleri
  • Upside Gap Two Crows

trader_cdlupsidegap2crows

(PECL trader >= 0.2.0)

trader_cdlupsidegap2crows — Upside Gap Two Crows

Açıklama

trader_cdlupsidegap2crows(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Upside/Downside Gap Three Methods

  • « trader_cdlupsidegap2crows
  • trader_ceil »
  • PHP Manual
  • Trader İşlevleri
  • Upside/Downside Gap Three Methods

trader_cdlxsidegap3methods

(PECL trader >= 0.2.0)

trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods

Açıklama

trader_cdlxsidegap3methods(
array $open,
array $high,
array $low,
array $close
): array

Bağımsız Değişkenler

open

Opening price, array of real values.

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Ceil

  • « trader_cdlxsidegap3methods
  • trader_cmo »
  • PHP Manual
  • Trader İşlevleri
  • Vector Ceil

trader_ceil

(PECL trader >= 0.2.0)

trader_ceil — Vector Ceil

Açıklama

trader_ceil(array $real): array

Calculates the next highest integer for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Chande Momentum Oscillator

  • « trader_ceil
  • trader_correl »
  • PHP Manual
  • Trader İşlevleri
  • Chande Momentum Oscillator

trader_cmo

(PECL trader >= 0.2.0)

trader_cmo — Chande Momentum Oscillator

Açıklama

trader_cmo(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Pearson's Correlation Coefficient (r)

  • « trader_cmo
  • trader_cos »
  • PHP Manual
  • Trader İşlevleri
  • Pearson's Correlation Coefficient (r)

trader_correl

(PECL trader >= 0.2.0)

trader_correl — Pearson's Correlation Coefficient (r)

Açıklama

trader_correl(array $real0, array $real1, int $timePeriod = ?): array

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric Cos

  • « trader_correl
  • trader_cosh »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Cos

trader_cos

(PECL trader >= 0.2.0)

trader_cos — Vector Trigonometric Cos

Açıklama

trader_cos(array $real): array

Calculates the cosine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric Cosh

  • « trader_cos
  • trader_dema »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Cosh

trader_cosh

(PECL trader >= 0.2.0)

trader_cosh — Vector Trigonometric Cosh

Açıklama

trader_cosh(array $real): array

Calculates the hyperbolic cosine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Double Exponential Moving Average

  • « trader_cosh
  • trader_div »
  • PHP Manual
  • Trader İşlevleri
  • Double Exponential Moving Average

trader_dema

(PECL trader >= 0.2.0)

trader_dema — Double Exponential Moving Average

Açıklama

trader_dema(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Arithmetic Div

  • « trader_dema
  • trader_dx »
  • PHP Manual
  • Trader İşlevleri
  • Vector Arithmetic Div

trader_div

(PECL trader >= 0.2.0)

trader_div — Vector Arithmetic Div

Açıklama

trader_div(array $real0, array $real1): array

Divides each value from real0 by the corresponding value from real1 and returns the resulting array.

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Directional Movement Index

  • « trader_div
  • trader_ema »
  • PHP Manual
  • Trader İşlevleri
  • Directional Movement Index

trader_dx

(PECL trader >= 0.2.0)

trader_dx — Directional Movement Index

Açıklama

trader_dx(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Exponential Moving Average

  • « trader_dx
  • trader_errno »
  • PHP Manual
  • Trader İşlevleri
  • Exponential Moving Average

trader_ema

(PECL trader >= 0.2.0)

trader_ema — Exponential Moving Average

Açıklama

trader_ema(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Get error code

  • « trader_ema
  • trader_exp »
  • PHP Manual
  • Trader İşlevleri
  • Get error code

trader_errno

(PECL trader >= 0.3.0)

trader_errno — Get error code

Açıklama

trader_errno(): int

Get error code of the last operation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the error code identified by one of the TRADER_ERR_* constants.


Vector Arithmetic Exp

  • « trader_errno
  • trader_floor »
  • PHP Manual
  • Trader İşlevleri
  • Vector Arithmetic Exp

trader_exp

(PECL trader >= 0.2.0)

trader_exp — Vector Arithmetic Exp

Açıklama

trader_exp(array $real): array

Calculates e raised to the power of each value in real. Returns an array with the calculated data.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Floor

  • « trader_exp
  • trader_get_compat »
  • PHP Manual
  • Trader İşlevleri
  • Vector Floor

trader_floor

(PECL trader >= 0.2.0)

trader_floor — Vector Floor

Açıklama

trader_floor(array $real): array

Calculates the next lowest integer for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Get compatibility mode

  • « trader_floor
  • trader_get_unstable_period »
  • PHP Manual
  • Trader İşlevleri
  • Get compatibility mode

trader_get_compat

(PECL trader >= 0.2.2)

trader_get_compat — Get compatibility mode

Açıklama

trader_get_compat(): int

Get compatibility mode which affects the way calculations are done by all the extension functions.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the compatibility mode id which can be identified by TRADER_COMPATIBILITY_* series of constants.


Get unstable period

  • « trader_get_compat
  • trader_ht_dcperiod »
  • PHP Manual
  • Trader İşlevleri
  • Get unstable period

trader_get_unstable_period

(PECL trader >= 0.2.2)

trader_get_unstable_period — Get unstable period

Açıklama

trader_get_unstable_period(int $functionId): int

Get unstable period factor for a particular function.

Bağımsız Değişkenler

functionId

Function ID the factor to be read for. TRADER_FUNC_UNST_* series of constants should be used.

Dönen Değerler

Returns the unstable period factor for the corresponding function.


Hilbert Transform - Dominant Cycle Period

  • « trader_get_unstable_period
  • trader_ht_dcphase »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - Dominant Cycle Period

trader_ht_dcperiod

(PECL trader >= 0.2.0)

trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period

Açıklama

trader_ht_dcperiod(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hilbert Transform - Dominant Cycle Phase

  • « trader_ht_dcperiod
  • trader_ht_phasor »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - Dominant Cycle Phase

trader_ht_dcphase

(PECL trader >= 0.2.0)

trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase

Açıklama

trader_ht_dcphase(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hilbert Transform - Phasor Components

  • « trader_ht_dcphase
  • trader_ht_sine »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - Phasor Components

trader_ht_phasor

(PECL trader >= 0.2.0)

trader_ht_phasor — Hilbert Transform - Phasor Components

Açıklama

trader_ht_phasor(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hilbert Transform - SineWave

  • « trader_ht_phasor
  • trader_ht_trendline »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - SineWave

trader_ht_sine

(PECL trader >= 0.2.0)

trader_ht_sine — Hilbert Transform - SineWave

Açıklama

trader_ht_sine(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hilbert Transform - Instantaneous Trendline

  • « trader_ht_sine
  • trader_ht_trendmode »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - Instantaneous Trendline

trader_ht_trendline

(PECL trader >= 0.2.0)

trader_ht_trendline — Hilbert Transform - Instantaneous Trendline

Açıklama

trader_ht_trendline(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Hilbert Transform - Trend vs Cycle Mode

  • « trader_ht_trendline
  • trader_kama »
  • PHP Manual
  • Trader İşlevleri
  • Hilbert Transform - Trend vs Cycle Mode

trader_ht_trendmode

(PECL trader >= 0.2.0)

trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode

Açıklama

trader_ht_trendmode(array $real): array

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Kaufman Adaptive Moving Average

  • « trader_ht_trendmode
  • trader_linearreg_angle »
  • PHP Manual
  • Trader İşlevleri
  • Kaufman Adaptive Moving Average

trader_kama

(PECL trader >= 0.2.0)

trader_kama — Kaufman Adaptive Moving Average

Açıklama

trader_kama(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Linear Regression Angle

  • « trader_kama
  • trader_linearreg_intercept »
  • PHP Manual
  • Trader İşlevleri
  • Linear Regression Angle

trader_linearreg_angle

(PECL trader >= 0.2.0)

trader_linearreg_angle — Linear Regression Angle

Açıklama

trader_linearreg_angle(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Linear Regression Intercept

  • « trader_linearreg_angle
  • trader_linearreg_slope »
  • PHP Manual
  • Trader İşlevleri
  • Linear Regression Intercept

trader_linearreg_intercept

(PECL trader >= 0.2.0)

trader_linearreg_intercept — Linear Regression Intercept

Açıklama

trader_linearreg_intercept(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Linear Regression Slope

  • « trader_linearreg_intercept
  • trader_linearreg »
  • PHP Manual
  • Trader İşlevleri
  • Linear Regression Slope

trader_linearreg_slope

(PECL trader >= 0.2.0)

trader_linearreg_slope — Linear Regression Slope

Açıklama

trader_linearreg_slope(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Linear Regression

  • « trader_linearreg_slope
  • trader_ln »
  • PHP Manual
  • Trader İşlevleri
  • Linear Regression

trader_linearreg

(PECL trader >= 0.2.0)

trader_linearreg — Linear Regression

Açıklama

trader_linearreg(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Log Natural

  • « trader_linearreg
  • trader_log10 »
  • PHP Manual
  • Trader İşlevleri
  • Vector Log Natural

trader_ln

(PECL trader >= 0.2.0)

trader_ln — Vector Log Natural

Açıklama

trader_ln(array $real): array

Calculates the natural logarithm for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Log10

  • « trader_ln
  • trader_ma »
  • PHP Manual
  • Trader İşlevleri
  • Vector Log10

trader_log10

(PECL trader >= 0.2.0)

trader_log10 — Vector Log10

Açıklama

trader_log10(array $real): array

Calculates the base-10 logarithm for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Moving average

  • « trader_log10
  • trader_macd »
  • PHP Manual
  • Trader İşlevleri
  • Moving average

trader_ma

(PECL trader >= 0.2.0)

trader_ma — Moving average

Açıklama

trader_ma(array $real, int $timePeriod = ?, int $mAType = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Moving Average Convergence/Divergence

  • « trader_ma
  • trader_macdext »
  • PHP Manual
  • Trader İşlevleri
  • Moving Average Convergence/Divergence

trader_macd

(PECL trader >= 0.2.0)

trader_macd — Moving Average Convergence/Divergence

Açıklama

trader_macd(
array $real,
int $fastPeriod = ?,
int $slowPeriod = ?,
int $signalPeriod = ?
): array

Bağımsız Değişkenler

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


MACD with controllable MA type

  • « trader_macd
  • trader_macdfix »
  • PHP Manual
  • Trader İşlevleri
  • MACD with controllable MA type

trader_macdext

(PECL trader >= 0.2.0)

trader_macdext — MACD with controllable MA type

Açıklama

trader_macdext(
array $real,
int $fastPeriod = ?,
int $fastMAType = ?,
int $slowPeriod = ?,
int $slowMAType = ?,
int $signalPeriod = ?,
int $signalMAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

fastMAType

Type of Moving Average for fast MA. TRADER_MA_TYPE_* series of constants should be used.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

slowMAType

Type of Moving Average for slow MA. TRADER_MA_TYPE_* series of constants should be used.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

signalMAType

Type of Moving Average for signal line. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Moving Average Convergence/Divergence Fix 12/26

  • « trader_macdext
  • trader_mama »
  • PHP Manual
  • Trader İşlevleri
  • Moving Average Convergence/Divergence Fix 12/26

trader_macdfix

(PECL trader >= 0.2.0)

trader_macdfix — Moving Average Convergence/Divergence Fix 12/26

Açıklama

trader_macdfix(array $real, int $signalPeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

signalPeriod

Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


MESA Adaptive Moving Average

  • « trader_macdfix
  • trader_mavp »
  • PHP Manual
  • Trader İşlevleri
  • MESA Adaptive Moving Average

trader_mama

(PECL trader >= 0.2.0)

trader_mama — MESA Adaptive Moving Average

Açıklama

trader_mama(array $real, float $fastLimit = ?, float $slowLimit = ?): array

Bağımsız Değişkenler

real

Array of real values.

fastLimit

Upper limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.

slowLimit

Lower limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.

Dönen Değerler

Returns an array with calculated data or false on failure.


Moving average with variable period

  • « trader_mama
  • trader_max »
  • PHP Manual
  • Trader İşlevleri
  • Moving average with variable period

trader_mavp

(PECL trader >= 0.2.0)

trader_mavp — Moving average with variable period

Açıklama

trader_mavp(
array $real,
array $periods,
int $minPeriod = ?,
int $maxPeriod = ?,
int $mAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

periods

Array of real values.

minPeriod

Value less than minimum will be changed to Minimum period. Valid range from 2 to 100000

maxPeriod

Value higher than minimum will be changed to Maximum period. Valid range from 2 to 100000

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Highest value over a specified period

  • « trader_mavp
  • trader_maxindex »
  • PHP Manual
  • Trader İşlevleri
  • Highest value over a specified period

trader_max

(PECL trader >= 0.2.0)

trader_max — Highest value over a specified period

Açıklama

trader_max(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Index of highest value over a specified period

  • « trader_max
  • trader_medprice »
  • PHP Manual
  • Trader İşlevleri
  • Index of highest value over a specified period

trader_maxindex

(PECL trader >= 0.2.0)

trader_maxindex — Index of highest value over a specified period

Açıklama

trader_maxindex(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Median Price

  • « trader_maxindex
  • trader_mfi »
  • PHP Manual
  • Trader İşlevleri
  • Median Price

trader_medprice

(PECL trader >= 0.2.0)

trader_medprice — Median Price

Açıklama

trader_medprice(array $high, array $low): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Money Flow Index

  • « trader_medprice
  • trader_midpoint »
  • PHP Manual
  • Trader İşlevleri
  • Money Flow Index

trader_mfi

(PECL trader >= 0.2.0)

trader_mfi — Money Flow Index

Açıklama

trader_mfi(
array $high,
array $low,
array $close,
array $volume,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

volume

Volume traded, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


MidPoint over period

  • « trader_mfi
  • trader_midprice »
  • PHP Manual
  • Trader İşlevleri
  • MidPoint over period

trader_midpoint

(PECL trader >= 0.2.0)

trader_midpoint — MidPoint over period

Açıklama

trader_midpoint(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Midpoint Price over period

  • « trader_midpoint
  • trader_min »
  • PHP Manual
  • Trader İşlevleri
  • Midpoint Price over period

trader_midprice

(PECL trader >= 0.2.0)

trader_midprice — Midpoint Price over period

Açıklama

trader_midprice(array $high, array $low, int $timePeriod = ?): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Lowest value over a specified period

  • « trader_midprice
  • trader_minindex »
  • PHP Manual
  • Trader İşlevleri
  • Lowest value over a specified period

trader_min

(PECL trader >= 0.2.0)

trader_min — Lowest value over a specified period

Açıklama

trader_min(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Index of lowest value over a specified period

  • « trader_min
  • trader_minmax »
  • PHP Manual
  • Trader İşlevleri
  • Index of lowest value over a specified period

trader_minindex

(PECL trader >= 0.2.0)

trader_minindex — Index of lowest value over a specified period

Açıklama

trader_minindex(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Lowest and highest values over a specified period

  • « trader_minindex
  • trader_minmaxindex »
  • PHP Manual
  • Trader İşlevleri
  • Lowest and highest values over a specified period

trader_minmax

(PECL trader >= 0.2.0)

trader_minmax — Lowest and highest values over a specified period

Açıklama

trader_minmax(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Indexes of lowest and highest values over a specified period

  • « trader_minmax
  • trader_minus_di »
  • PHP Manual
  • Trader İşlevleri
  • Indexes of lowest and highest values over a specified period

trader_minmaxindex

(PECL trader >= 0.2.0)

trader_minmaxindex — Indexes of lowest and highest values over a specified period

Açıklama

trader_minmaxindex(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Minus Directional Indicator

  • « trader_minmaxindex
  • trader_minus_dm »
  • PHP Manual
  • Trader İşlevleri
  • Minus Directional Indicator

trader_minus_di

(PECL trader >= 0.2.0)

trader_minus_di — Minus Directional Indicator

Açıklama

trader_minus_di(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Minus Directional Movement

  • « trader_minus_di
  • trader_mom »
  • PHP Manual
  • Trader İşlevleri
  • Minus Directional Movement

trader_minus_dm

(PECL trader >= 0.2.0)

trader_minus_dm — Minus Directional Movement

Açıklama

trader_minus_dm(array $high, array $low, int $timePeriod = ?): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Momentum

  • « trader_minus_dm
  • trader_mult »
  • PHP Manual
  • Trader İşlevleri
  • Momentum

trader_mom

(PECL trader >= 0.2.0)

trader_mom — Momentum

Açıklama

trader_mom(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Arithmetic Mult

  • « trader_mom
  • trader_natr »
  • PHP Manual
  • Trader İşlevleri
  • Vector Arithmetic Mult

trader_mult

(PECL trader >= 0.2.0)

trader_mult — Vector Arithmetic Mult

Açıklama

trader_mult(array $real0, array $real1): array

Calculates the vector dot product of real0 with real1 and returns the resulting vector.

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Normalized Average True Range

  • « trader_mult
  • trader_obv »
  • PHP Manual
  • Trader İşlevleri
  • Normalized Average True Range

trader_natr

(PECL trader >= 0.2.0)

trader_natr — Normalized Average True Range

Açıklama

trader_natr(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


On Balance Volume

  • « trader_natr
  • trader_plus_di »
  • PHP Manual
  • Trader İşlevleri
  • On Balance Volume

trader_obv

(PECL trader >= 0.2.0)

trader_obv — On Balance Volume

Açıklama

trader_obv(array $real, array $volume): array

Bağımsız Değişkenler

real

Array of real values.

volume

Volume traded, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Plus Directional Indicator

  • « trader_obv
  • trader_plus_dm »
  • PHP Manual
  • Trader İşlevleri
  • Plus Directional Indicator

trader_plus_di

(PECL trader >= 0.2.0)

trader_plus_di — Plus Directional Indicator

Açıklama

trader_plus_di(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Plus Directional Movement

  • « trader_plus_di
  • trader_ppo »
  • PHP Manual
  • Trader İşlevleri
  • Plus Directional Movement

trader_plus_dm

(PECL trader >= 0.2.0)

trader_plus_dm — Plus Directional Movement

Açıklama

trader_plus_dm(array $high, array $low, int $timePeriod = ?): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Percentage Price Oscillator

  • « trader_plus_dm
  • trader_roc »
  • PHP Manual
  • Trader İşlevleri
  • Percentage Price Oscillator

trader_ppo

(PECL trader >= 0.2.0)

trader_ppo — Percentage Price Oscillator

Açıklama

trader_ppo(
array $real,
int $fastPeriod = ?,
int $slowPeriod = ?,
int $mAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

fastPeriod

Number of period for the fast MA. Valid range from 2 to 100000.

slowPeriod

Number of period for the slow MA. Valid range from 2 to 100000.

mAType

Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rate of change : ((price/prevPrice)-1)*100

  • « trader_ppo
  • trader_rocp »
  • PHP Manual
  • Trader İşlevleri
  • Rate of change : ((price/prevPrice)-1)*100

trader_roc

(PECL trader >= 0.2.0)

trader_roc — Rate of change : ((price/prevPrice)-1)*100

Açıklama

trader_roc(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rate of change Percentage: (price-prevPrice)/prevPrice

  • « trader_roc
  • trader_rocr100 »
  • PHP Manual
  • Trader İşlevleri
  • Rate of change Percentage: (price-prevPrice)/prevPrice

trader_rocp

(PECL trader >= 0.2.0)

trader_rocp — Rate of change Percentage: (price-prevPrice)/prevPrice

Açıklama

trader_rocp(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rate of change ratio 100 scale: (price/prevPrice)*100

  • « trader_rocp
  • trader_rocr »
  • PHP Manual
  • Trader İşlevleri
  • Rate of change ratio 100 scale: (price/prevPrice)*100

trader_rocr100

(PECL trader >= 0.2.0)

trader_rocr100 — Rate of change ratio 100 scale: (price/prevPrice)*100

Açıklama

trader_rocr100(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Rate of change ratio: (price/prevPrice)

  • « trader_rocr100
  • trader_rsi »
  • PHP Manual
  • Trader İşlevleri
  • Rate of change ratio: (price/prevPrice)

trader_rocr

(PECL trader >= 0.2.0)

trader_rocr — Rate of change ratio: (price/prevPrice)

Açıklama

trader_rocr(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Relative Strength Index

  • « trader_rocr
  • trader_sar »
  • PHP Manual
  • Trader İşlevleri
  • Relative Strength Index

trader_rsi

(PECL trader >= 0.2.0)

trader_rsi — Relative Strength Index

Açıklama

trader_rsi(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Parabolic SAR

  • « trader_rsi
  • trader_sarext »
  • PHP Manual
  • Trader İşlevleri
  • Parabolic SAR

trader_sar

(PECL trader >= 0.2.0)

trader_sar — Parabolic SAR

Açıklama

trader_sar(
array $high,
array $low,
float $acceleration = ?,
float $maximum = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

acceleration

Acceleration Factor used up to the Maximum value. Valid range from 0 to TRADER_REAL_MAX.

maximum

Acceleration Factor Maximum value. Valid range from 0 to TRADER_REAL_MAX.

Dönen Değerler

Returns an array with calculated data or false on failure.


Parabolic SAR - Extended

  • « trader_sar
  • trader_set_compat »
  • PHP Manual
  • Trader İşlevleri
  • Parabolic SAR - Extended

trader_sarext

(PECL trader >= 0.2.0)

trader_sarext — Parabolic SAR - Extended

Açıklama

trader_sarext(
array $high,
array $low,
float $startValue = ?,
float $offsetOnReverse = ?,
float $accelerationInitLong = ?,
float $accelerationLong = ?,
float $accelerationMaxLong = ?,
float $accelerationInitShort = ?,
float $accelerationShort = ?,
float $accelerationMaxShort = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

startValue

Start value and direction. 0 for Auto, >0 for Long, <0 for Short. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.

offsetOnReverse

Percent offset added/removed to initial stop on short/long reversal. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitLong

Acceleration Factor initial value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationLong

Acceleration Factor for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxLong

Acceleration Factor maximum value for the Long direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationInitShort

Acceleration Factor initial value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationShort

Acceleration Factor for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

accelerationMaxShort

Acceleration Factor maximum value for the Short direction. Valid range from 0 to TRADER_REAL_MAX.

Dönen Değerler

Returns an array with calculated data or false on failure.


Set compatibility mode

  • « trader_sarext
  • trader_set_unstable_period »
  • PHP Manual
  • Trader İşlevleri
  • Set compatibility mode

trader_set_compat

(PECL trader >= 0.2.2)

trader_set_compat — Set compatibility mode

Açıklama

trader_set_compat(int $compatId): void

Set compatibility mode which will affect the way calculations are done by all the extension functions.

Bağımsız Değişkenler

compatId

Compatibility Id. TRADER_COMPATIBILITY_* series of constants should be used.

Dönen Değerler

Hiçbir değer dönmez.


Set unstable period

  • « trader_set_compat
  • trader_sin »
  • PHP Manual
  • Trader İşlevleri
  • Set unstable period

trader_set_unstable_period

(PECL trader >= 0.2.2)

trader_set_unstable_period — Set unstable period

Açıklama

trader_set_unstable_period(int $functionId, int $timePeriod): void

Influences unstable period factor for functions, which are sensible to it. More information about unstable periods can be found on the » TA-Lib API documentation page.

Bağımsız Değişkenler

functionId

Function ID the factor should be set for. TRADER_FUNC_UNST_* constant series can be used to affect the corresponding function.

timePeriod

Unstable period value.

Dönen Değerler

Hiçbir değer dönmez.


Vector Trigonometric Sin

  • « trader_set_unstable_period
  • trader_sinh »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Sin

trader_sin

(PECL trader >= 0.2.0)

trader_sin — Vector Trigonometric Sin

Açıklama

trader_sin(array $real): array

Calculates the sine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric Sinh

  • « trader_sin
  • trader_sma »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Sinh

trader_sinh

(PECL trader >= 0.2.0)

trader_sinh — Vector Trigonometric Sinh

Açıklama

trader_sinh(array $real): array

Calculates the hyperbolic sine for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Simple Moving Average

  • « trader_sinh
  • trader_sqrt »
  • PHP Manual
  • Trader İşlevleri
  • Simple Moving Average

trader_sma

(PECL trader >= 0.2.0)

trader_sma — Simple Moving Average

Açıklama

trader_sma(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Square Root

  • « trader_sma
  • trader_stddev »
  • PHP Manual
  • Trader İşlevleri
  • Vector Square Root

trader_sqrt

(PECL trader >= 0.2.0)

trader_sqrt — Vector Square Root

Açıklama

trader_sqrt(array $real): array

Calculates the square root of each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Standard Deviation

  • « trader_sqrt
  • trader_stoch »
  • PHP Manual
  • Trader İşlevleri
  • Standard Deviation

trader_stddev

(PECL trader >= 0.2.0)

trader_stddev — Standard Deviation

Açıklama

trader_stddev(array $real, int $timePeriod = ?, float $nbDev = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDev

Dönen Değerler

Returns an array with calculated data or false on failure.


Stochastic

  • « trader_stddev
  • trader_stochf »
  • PHP Manual
  • Trader İşlevleri
  • Stochastic

trader_stoch

(PECL trader >= 0.2.0)

trader_stoch — Stochastic

Açıklama

trader_stoch(
array $high,
array $low,
array $close,
int $fastK_Period = ?,
int $slowK_Period = ?,
int $slowK_MAType = ?,
int $slowD_Period = ?,
int $slowD_MAType = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

slowK_Period

Smoothing for making the Slow-K line. Valid range from 1 to 100000, usually set to 3.

slowK_MAType

Type of Moving Average for Slow-K. TRADER_MA_TYPE_* series of constants should be used.

slowD_Period

Smoothing for making the Slow-D line. Valid range from 1 to 100000.

slowD_MAType

Type of Moving Average for Slow-D. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Stochastic Fast

  • « trader_stoch
  • trader_stochrsi »
  • PHP Manual
  • Trader İşlevleri
  • Stochastic Fast

trader_stochf

(PECL trader >= 0.2.0)

trader_stochf — Stochastic Fast

Açıklama

trader_stochf(
array $high,
array $low,
array $close,
int $fastK_Period = ?,
int $fastD_Period = ?,
int $fastD_MAType = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

fastD_Period

Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually set to 3.

fastD_MAType

Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Stochastic Relative Strength Index

  • « trader_stochf
  • trader_sub »
  • PHP Manual
  • Trader İşlevleri
  • Stochastic Relative Strength Index

trader_stochrsi

(PECL trader >= 0.2.0)

trader_stochrsi — Stochastic Relative Strength Index

Açıklama

trader_stochrsi(
array $real,
int $timePeriod = ?,
int $fastK_Period = ?,
int $fastD_Period = ?,
int $fastD_MAType = ?
): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

fastK_Period

Time period for building the Fast-K line. Valid range from 1 to 100000.

fastD_Period

Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually set to 3.

fastD_MAType

Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants should be used.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Arithmetic Subtraction

  • « trader_stochrsi
  • trader_sum »
  • PHP Manual
  • Trader İşlevleri
  • Vector Arithmetic Subtraction

trader_sub

(PECL trader >= 0.2.0)

trader_sub — Vector Arithmetic Subtraction

Açıklama

trader_sub(array $real0, array $real1): array

Calculates the vector subtraction of real1 from real0 and returns the resulting vector.

Bağımsız Değişkenler

real0

Array of real values.

real1

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Summation

  • « trader_sub
  • trader_t3 »
  • PHP Manual
  • Trader İşlevleri
  • Summation

trader_sum

(PECL trader >= 0.2.0)

trader_sum — Summation

Açıklama

trader_sum(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Triple Exponential Moving Average (T3)

  • « trader_sum
  • trader_tan »
  • PHP Manual
  • Trader İşlevleri
  • Triple Exponential Moving Average (T3)

trader_t3

(PECL trader >= 0.2.0)

trader_t3 — Triple Exponential Moving Average (T3)

Açıklama

trader_t3(array $real, int $timePeriod = ?, float $vFactor = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

vFactor

Volume Factor. Valid range from 1 to 0.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric Tan

  • « trader_t3
  • trader_tanh »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Tan

trader_tan

(PECL trader >= 0.2.0)

trader_tan — Vector Trigonometric Tan

Açıklama

trader_tan(array $real): array

Calculates the tangent for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Vector Trigonometric Tanh

  • « trader_tan
  • trader_tema »
  • PHP Manual
  • Trader İşlevleri
  • Vector Trigonometric Tanh

trader_tanh

(PECL trader >= 0.2.0)

trader_tanh — Vector Trigonometric Tanh

Açıklama

trader_tanh(array $real): array

Calculates the hyperbolic tangent for each value in real and returns the resulting array.

Bağımsız Değişkenler

real

Array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Triple Exponential Moving Average

  • « trader_tanh
  • trader_trange »
  • PHP Manual
  • Trader İşlevleri
  • Triple Exponential Moving Average

trader_tema

(PECL trader >= 0.2.0)

trader_tema — Triple Exponential Moving Average

Açıklama

trader_tema(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


True Range

  • « trader_tema
  • trader_trima »
  • PHP Manual
  • Trader İşlevleri
  • True Range

trader_trange

(PECL trader >= 0.2.0)

trader_trange — True Range

Açıklama

trader_trange(array $high, array $low, array $close): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Triangular Moving Average

  • « trader_trange
  • trader_trix »
  • PHP Manual
  • Trader İşlevleri
  • Triangular Moving Average

trader_trima

(PECL trader >= 0.2.0)

trader_trima — Triangular Moving Average

Açıklama

trader_trima(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

  • « trader_trima
  • trader_tsf »
  • PHP Manual
  • Trader İşlevleri
  • 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

trader_trix

(PECL trader >= 0.2.0)

trader_trix — 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

Açıklama

trader_trix(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Time Series Forecast

  • « trader_trix
  • trader_typprice »
  • PHP Manual
  • Trader İşlevleri
  • Time Series Forecast

trader_tsf

(PECL trader >= 0.2.0)

trader_tsf — Time Series Forecast

Açıklama

trader_tsf(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Typical Price

  • « trader_tsf
  • trader_ultosc »
  • PHP Manual
  • Trader İşlevleri
  • Typical Price

trader_typprice

(PECL trader >= 0.2.0)

trader_typprice — Typical Price

Açıklama

trader_typprice(array $high, array $low, array $close): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Ultimate Oscillator

  • « trader_typprice
  • trader_var »
  • PHP Manual
  • Trader İşlevleri
  • Ultimate Oscillator

trader_ultosc

(PECL trader >= 0.2.0)

trader_ultosc — Ultimate Oscillator

Açıklama

trader_ultosc(
array $high,
array $low,
array $close,
int $timePeriod1 = ?,
int $timePeriod2 = ?,
int $timePeriod3 = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod1

Number of bars for 1st period. Valid range from 1 to 100000.

timePeriod2

Number of bars for 2nd period. Valid range from 1 to 100000.

timePeriod3

Number of bars for 3rd period. Valid range from 1 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Variance

  • « trader_ultosc
  • trader_wclprice »
  • PHP Manual
  • Trader İşlevleri
  • Variance

trader_var

(PECL trader >= 0.2.0)

trader_var — Variance

Açıklama

trader_var(array $real, int $timePeriod = ?, float $nbDev = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

nbDev

Dönen Değerler

Returns an array with calculated data or false on failure.


Weighted Close Price

  • « trader_var
  • trader_willr »
  • PHP Manual
  • Trader İşlevleri
  • Weighted Close Price

trader_wclprice

(PECL trader >= 0.2.0)

trader_wclprice — Weighted Close Price

Açıklama

trader_wclprice(array $high, array $low, array $close): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

Dönen Değerler

Returns an array with calculated data or false on failure.


Williams' %R

  • « trader_wclprice
  • trader_wma »
  • PHP Manual
  • Trader İşlevleri
  • Williams' %R

trader_willr

(PECL trader >= 0.2.0)

trader_willr — Williams' %R

Açıklama

trader_willr(
array $high,
array $low,
array $close,
int $timePeriod = ?
): array

Bağımsız Değişkenler

high

High price, array of real values.

low

Low price, array of real values.

close

Closing price, array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Weighted Moving Average

  • « trader_willr
  • Salt Metin Olmayan MIME Çıktılama »
  • PHP Manual
  • Trader İşlevleri
  • Weighted Moving Average

trader_wma

(PECL trader >= 0.2.0)

trader_wma — Weighted Moving Average

Açıklama

trader_wma(array $real, int $timePeriod = ?): array

Bağımsız Değişkenler

real

Array of real values.

timePeriod

Number of period. Valid range from 2 to 100000.

Dönen Değerler

Returns an array with calculated data or false on failure.


Salt Metin Olmayan MIME Çıktılama

  • FDF — Forms Data Format
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • FDF İşlevleri
  • GnuPG — GNU Privacy Guard
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • GnuPG İşlevleri
  • wkhtmltox
    • Giriş
    • Yapılandırma/Kurulum
    • wkhtmltox\PDF\Converter — The wkhtmltox\PDF\Converter class
    • wkhtmltox\PDF\Object — The wkhtmltox\PDF\Object class
    • wkhtmltox\Image\Converter — The wkhtmltox\Image\Converter class
  • PS — PostScript document creation
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • PS İşlevleri
  • RpmInfo
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • RpmInfo İşlevleri
  • XLSWriter
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Vtiful\Kernel\Excel — The Vtiful\Kernel\Excel class
    • Vtiful\Kernel\Format — The Vtiful\Kernel\Format class


Forms Data Format

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • FDF İşlevleri
    • fdf_add_doc_javascript — Adds javascript code to the FDF document
    • fdf_add_template — Adds a template into the FDF document
    • fdf_close — Close an FDF document
    • fdf_create — Create a new FDF document
    • fdf_enum_values — Call a user defined function for each document value
    • fdf_errno — Return error code for last fdf operation
    • fdf_error — Return error description for FDF error code
    • fdf_get_ap — Get the appearance of a field
    • fdf_get_attachment — Extracts uploaded file embedded in the FDF
    • fdf_get_encoding — Get the value of the /Encoding key
    • fdf_get_file — Get the value of the /F key
    • fdf_get_flags — Gets the flags of a field
    • fdf_get_opt — Gets a value from the opt array of a field
    • fdf_get_status — Get the value of the /STATUS key
    • fdf_get_value — Get the value of a field
    • fdf_get_version — Gets version number for FDF API or file
    • fdf_header — Sets FDF-specific output headers
    • fdf_next_field_name — Get the next field name
    • fdf_open_string — Read a FDF document from a string
    • fdf_open — Open a FDF document
    • fdf_remove_item — Sets target frame for form
    • fdf_save_string — Returns the FDF document as a string
    • fdf_save — Save a FDF document
    • fdf_set_ap — Set the appearance of a field
    • fdf_set_encoding — Sets FDF character encoding
    • fdf_set_file — Set PDF document to display FDF data in
    • fdf_set_flags — Sets a flag of a field
    • fdf_set_javascript_action — Sets an javascript action of a field
    • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt — Sets an option of a field
    • fdf_set_status — Set the value of the /STATUS key
    • fdf_set_submit_form_action — Sets a submit form action of a field
    • fdf_set_target_frame — Set target frame for form display
    • fdf_set_value — Set the value of a field
    • fdf_set_version — Sets version number for a FDF file


Giriş

Forms Data Format (FDF) is a format for handling forms within PDF documents. You should read the documentation at » http://www.adobe.com/devnet/acrobat/fdftoolkit.html for more information on what FDF is and how it is used in general.

The general idea of FDF is similar to HTML forms. The difference is basically the format how data is transmitted to the server when the submit button is pressed (this is actually the Form Data Format) and the format of the form itself (which is the Portable Document Format, PDF). Processing the FDF data is one of the features provided by the fdf functions. But there is more. One may as well take an existing PDF form and populated the input fields with data without modifying the form itself. In such a case one would create a FDF document (fdf_create()) set the values of each input field (fdf_set_value()) and associate it with a PDF form (fdf_set_file()). Finally it has to be sent to the browser with MimeType application/vnd.fdf. The Acrobat reader plugin of your browser recognizes the MimeType, reads the associated PDF form and fills in the data from the FDF document.

If you look at an FDF-document with a text editor you will find a catalogue object with the name FDF. Such an object may contain a number of entries like Fields, F, Status etc.. The most commonly used entries are Fields which points to a list of input fields, and F which contains the filename of the PDF-document this data belongs to. Those entries are referred to in the FDF documentation as /F-Key or /Status-Key. Modifying this entries is done by functions like fdf_set_file() and fdf_set_status(). Fields are modified with fdf_set_value(), fdf_set_opt() etc..


Gereksinimler

You need the FDF toolkit SDK available from » http://www.adobe.com/devnet/acrobat/fdftoolkit.html. As of PHP 4.3.0 you need at least SDK version 5.0. The FDF toolkit library is available in binary form only, platforms supported by Adobe are Win32, Linux, Solaris and AIX.


Kurulum

Bu eklentinin geliştirmesi durmuştur. Ancak, kaynak kodu PECL SVN deposunda bulunabilir. Yeri: » https://svn.php.net/viewvc/pecl/fdf.

This extension is no longer bundled with PHP.

Bilginize: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local.

Bilginize: Note to Win32 Users

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: fdftk.dll


Özkaynak Türleri

Most fdf functions require a fdf resource as their first parameter. A fdf resource is a handle to an opened fdf file. fdf resources may be obtained using fdf_create(), fdf_open() and fdf_open_string().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

FDFValue (int)
FDFStatus (int)
FDFFile (int)
FDFID (int)
FDFFf (int)
FDFSetFf (int)
FDFClearFf (int)
FDFFlags (int)
FDFSetF (int)
FDFClrF (int)
FDFAP (int)
FDFAS (int)
FDFAction (int)
FDFAA (int)
FDFAPRef (int)
FDFIF (int)
FDFEnter (int)
FDFExit (int)
FDFDown (int)
FDFUp (int)
FDFFormat (int)
FDFValidate (int)
FDFKeystroke (int)
FDFCalculate (int)
FDFNormalAP (int)
FDFRolloverAP (int)
FDFDownAP (int)


Örnekler

The following examples shows just the evaluation of form data.

Örnek 1 Evaluating a FDF document

<?php
// Open fdf from input string provided by the extension
// The pdf form contained several input text fields with the names
// volume, date, comment, publisher, preparer, and two checkboxes
// show_publisher and show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume");
echo "The volume field has the value '<b>$volume</b>'<br />";

$date = fdf_get_value($fdf, "date");
echo "The date field has the value '<b>$date</b>'<br />";

$comment = fdf_get_value($fdf, "comment");
echo "The comment field has the value '<b>$comment</b>'<br />";

if (fdf_get_value($fdf, "show_publisher") == "On") {
$publisher = fdf_get_value($fdf, "publisher");
echo "The publisher field has the value '<b>$publisher</b>'<br />";
} else
echo "Publisher shall not be shown.<br />";

if (fdf_get_value($fdf, "show_preparer") == "On") {
$preparer = fdf_get_value($fdf, "preparer");
echo "The preparer field has the value '<b>$preparer</b>'<br />";
} else
echo "Preparer shall not be shown.<br />";
fdf_close($fdf);
?>


FDF İşlevleri

İçindekiler

  • fdf_add_doc_javascript — Adds javascript code to the FDF document
  • fdf_add_template — Adds a template into the FDF document
  • fdf_close — Close an FDF document
  • fdf_create — Create a new FDF document
  • fdf_enum_values — Call a user defined function for each document value
  • fdf_errno — Return error code for last fdf operation
  • fdf_error — Return error description for FDF error code
  • fdf_get_ap — Get the appearance of a field
  • fdf_get_attachment — Extracts uploaded file embedded in the FDF
  • fdf_get_encoding — Get the value of the /Encoding key
  • fdf_get_file — Get the value of the /F key
  • fdf_get_flags — Gets the flags of a field
  • fdf_get_opt — Gets a value from the opt array of a field
  • fdf_get_status — Get the value of the /STATUS key
  • fdf_get_value — Get the value of a field
  • fdf_get_version — Gets version number for FDF API or file
  • fdf_header — Sets FDF-specific output headers
  • fdf_next_field_name — Get the next field name
  • fdf_open_string — Read a FDF document from a string
  • fdf_open — Open a FDF document
  • fdf_remove_item — Sets target frame for form
  • fdf_save_string — Returns the FDF document as a string
  • fdf_save — Save a FDF document
  • fdf_set_ap — Set the appearance of a field
  • fdf_set_encoding — Sets FDF character encoding
  • fdf_set_file — Set PDF document to display FDF data in
  • fdf_set_flags — Sets a flag of a field
  • fdf_set_javascript_action — Sets an javascript action of a field
  • fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF
  • fdf_set_opt — Sets an option of a field
  • fdf_set_status — Set the value of the /STATUS key
  • fdf_set_submit_form_action — Sets a submit form action of a field
  • fdf_set_target_frame — Set target frame for form display
  • fdf_set_value — Set the value of a field
  • fdf_set_version — Sets version number for a FDF file


Adds javascript code to the FDF document

  • « FDF İşlevleri
  • fdf_add_template »
  • PHP Manual
  • FDF İşlevleri
  • Adds javascript code to the FDF document

fdf_add_doc_javascript

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_add_doc_javascript — Adds javascript code to the FDF document

Açıklama

fdf_add_doc_javascript(resource $fdf_document, string $script_name, string $script_code): bool

Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the FDF is imported into it.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

script_name

The script name.

script_code

The script code. It is strongly suggested to use \r for linebreaks within the script code.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Adding JavaScript code to a FDF

<?php
$fdf = fdf_create();
fdf_add_doc_javascript($fdf, "PlusOne", "function PlusOne(x)\r{\r return x+1;\r}\r");
fdf_save($fdf);
?>

will create a FDF like this:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /JavaScript << /Doc [ (PlusOne)(function PlusOne\(x\)\r{\r  return x+1;\r}\r)] >> >>
>>
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF


Adds a template into the FDF document

  • « fdf_add_doc_javascript
  • fdf_close »
  • PHP Manual
  • FDF İşlevleri
  • Adds a template into the FDF document

fdf_add_template

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_add_template — Adds a template into the FDF document

Açıklama

fdf_add_template(
resource $fdf_document,
int $newpage,
string $filename,
string $template,
int $rename
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Close an FDF document

  • « fdf_add_template
  • fdf_create »
  • PHP Manual
  • FDF İşlevleri
  • Close an FDF document

fdf_close

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_close — Close an FDF document

Açıklama

fdf_close(resource $fdf_document): void

Closes the FDF document.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • fdf_open() - Open a FDF document


Create a new FDF document

  • « fdf_close
  • fdf_enum_values »
  • PHP Manual
  • FDF İşlevleri
  • Create a new FDF document

fdf_create

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_create — Create a new FDF document

Açıklama

fdf_create(): resource

Creates a new FDF document.

This function is needed if one would like to populate input fields in a PDF document with data.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a FDF document handle, or false on error.

Örnekler

Örnek 1 Populating a PDF document

<?php
$outfdf = fdf_create();
fdf_set_value($outfdf, "volume", $volume, 0);

fdf_set_file($outfdf, "http:/testfdf/resultlabel.pdf");
fdf_save($outfdf, "outtest.fdf");
fdf_close($outfdf);
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest.fdf", "r");
fpassthru($fp);
unlink("outtest.fdf");
?>

Ayrıca Bakınız

  • fdf_close() - Close an FDF document
  • fdf_save() - Save a FDF document
  • fdf_open() - Open a FDF document


Call a user defined function for each document value

  • « fdf_create
  • fdf_errno »
  • PHP Manual
  • FDF İşlevleri
  • Call a user defined function for each document value

fdf_enum_values

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_enum_values — Call a user defined function for each document value

Açıklama

fdf_enum_values(resource $fdf_document, callable $function, mixed $userdata = ?): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Return error code for last fdf operation

  • « fdf_enum_values
  • fdf_error »
  • PHP Manual
  • FDF İşlevleri
  • Return error code for last fdf operation

fdf_errno

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_errno — Return error code for last fdf operation

Açıklama

fdf_errno(): int

Gets the error code set by the last FDF function call.

A textual description of the error may be obtained using with fdf_error().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the error code as an integer, or zero if there was no errors.

Ayrıca Bakınız

  • fdf_error() - Return error description for FDF error code


Return error description for FDF error code

  • « fdf_errno
  • fdf_get_ap »
  • PHP Manual
  • FDF İşlevleri
  • Return error description for FDF error code

fdf_error

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_error — Return error description for FDF error code

Açıklama

fdf_error(int $error_code = -1): string

Gets a textual description for the FDF error code given in error_code.

Bağımsız Değişkenler

error_code

An error code obtained with fdf_errno(). If not provided, this function uses the internal error code set by the last operation.

Dönen Değerler

Returns the error message as a string, or the string no error if nothing went wrong.

Ayrıca Bakınız

  • fdf_errno() - Return error code for last fdf operation


Get the appearance of a field

  • « fdf_error
  • fdf_get_attachment »
  • PHP Manual
  • FDF İşlevleri
  • Get the appearance of a field

fdf_get_ap

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_ap — Get the appearance of a field

Açıklama

fdf_get_ap(
resource $fdf_document,
string $field,
int $face,
string $filename
): bool

Gets the appearance of a field (i.e. the value of the /AP key) and stores it in a file.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field

face

The possible values are FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

The appearance will be stored in this parameter.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Extracts uploaded file embedded in the FDF

  • « fdf_get_ap
  • fdf_get_encoding »
  • PHP Manual
  • FDF İşlevleri
  • Extracts uploaded file embedded in the FDF

fdf_get_attachment

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_attachment — Extracts uploaded file embedded in the FDF

Açıklama

fdf_get_attachment(resource $fdf_document, string $fieldname, string $savepath): array

Extracts a file uploaded by means of the "file selection" field fieldname and stores it under savepath.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

savepath

May be the name of a plain file or an existing directory in which the file is to be created under its original name. Any existing file under the same name will be overwritten.

Bilginize:

There seems to be no other way to find out the original filename but to store the file using a directory as savepath and check for the basename it was stored under.

Dönen Değerler

The returned array contains the following fields:

  • path - path were the file got stored
  • size - size of the stored file in bytes
  • type - mimetype if given in the FDF

Örnekler

Örnek 1 Storing an uploaded file

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
$data = fdf_get_attachment($fdf, "filename", "/tmpdir");
echo "The uploaded file is stored in $data[path]";
?>


Get the value of the /Encoding key

  • « fdf_get_attachment
  • fdf_get_file »
  • PHP Manual
  • FDF İşlevleri
  • Get the value of the /Encoding key

fdf_get_encoding

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_encoding — Get the value of the /Encoding key

Açıklama

fdf_get_encoding(resource $fdf_document): string

Gets the value of the /Encoding key.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Returns the encoding as a string. An empty string is returned if the default PDFDocEncoding/Unicode scheme is used.

Ayrıca Bakınız

  • fdf_set_encoding() - Sets FDF character encoding


Get the value of the /F key

  • « fdf_get_encoding
  • fdf_get_flags »
  • PHP Manual
  • FDF İşlevleri
  • Get the value of the /F key

fdf_get_file

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_file — Get the value of the /F key

Açıklama

fdf_get_file(resource $fdf_document): string

Gets the value of the /F key.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Returns the key value, as a string.

Ayrıca Bakınız

  • fdf_set_file() - Set PDF document to display FDF data in


Gets the flags of a field

  • « fdf_get_file
  • fdf_get_opt »
  • PHP Manual
  • FDF İşlevleri
  • Gets the flags of a field

fdf_get_flags

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_flags — Gets the flags of a field

Açıklama

fdf_get_flags(resource $fdf_document, string $fieldname, int $whichflags): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Gets a value from the opt array of a field

  • « fdf_get_flags
  • fdf_get_status »
  • PHP Manual
  • FDF İşlevleri
  • Gets a value from the opt array of a field

fdf_get_opt

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECLv)

fdf_get_opt — Gets a value from the opt array of a field

Açıklama

fdf_get_opt(resource $fdf_document, string $fieldname, int $element = -1): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Get the value of the /STATUS key

  • « fdf_get_opt
  • fdf_get_value »
  • PHP Manual
  • FDF İşlevleri
  • Get the value of the /STATUS key

fdf_get_status

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_status — Get the value of the /STATUS key

Açıklama

fdf_get_status(resource $fdf_document): string

Gets the value of the /STATUS key.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Returns the key value, as a string.

Ayrıca Bakınız

  • fdf_set_status() - Set the value of the /STATUS key


Get the value of a field

  • « fdf_get_status
  • fdf_get_version »
  • PHP Manual
  • FDF İşlevleri
  • Get the value of a field

fdf_get_value

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_value — Get the value of a field

Açıklama

fdf_get_value(resource $fdf_document, string $fieldname, int $which = -1): mixed

Gets the value for the requested field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

which

Elements of an array field can be retrieved by passing this optional parameter, starting at zero. For non-array fields, this parameter will be ignored.

Dönen Değerler

Returns the field value.

Sürüm Bilgisi

Sürüm: | Açıklama
4.3.0 | Support for arrays and the which parameter were added.

Ayrıca Bakınız

  • fdf_set_value() - Set the value of a field


Gets version number for FDF API or file

  • « fdf_get_value
  • fdf_header »
  • PHP Manual
  • FDF İşlevleri
  • Gets version number for FDF API or file

fdf_get_version

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_get_version — Gets version number for FDF API or file

Açıklama

fdf_get_version(resource $fdf_document = ?): string

Return the FDF version for the given document, or the toolkit API version number if no parameter is given.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Returns the version as a string. For the current FDF toolkit 5.0 the API version number is 5.0 and the document version number is either 1.2, 1.3 or 1.4.

Ayrıca Bakınız

  • fdf_set_version() - Sets version number for a FDF file


Sets FDF-specific output headers

  • « fdf_get_version
  • fdf_next_field_name »
  • PHP Manual
  • FDF İşlevleri
  • Sets FDF-specific output headers

fdf_header

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVNf)

fdf_header — Sets FDF-specific output headers

Açıklama

fdf_header(): void

This is a convenience function to set appropriate HTTP headers for FDF output. It sets the Content-type: to application/vnd.fdf.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Get the next field name

  • « fdf_header
  • fdf_open_string »
  • PHP Manual
  • FDF İşlevleri
  • Get the next field name

fdf_next_field_name

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_next_field_name — Get the next field name

Açıklama

fdf_next_field_name(resource $fdf_document, string $fieldname = ?): string

Gets the name of the field after the given field. This name can be used with several functions.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string. If not given, the first field will be assumed.

Dönen Değerler

Returns the field name as a string.

Örnekler

Örnek 1 Detecting all fieldnames in a FDF

<?php
$fdf = fdf_open($HTTP_FDF_DATA);
for ($field = fdf_next_field_name($fdf);
$field != "";
$field = fdf_next_field_name($fdf, $field)) {
echo "field: $field\n";
}
?>

Ayrıca Bakınız

  • fdf_get_value() - Get the value of a field


Read a FDF document from a string

  • « fdf_next_field_name
  • fdf_open »
  • PHP Manual
  • FDF İşlevleri
  • Read a FDF document from a string

fdf_open_string

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_open_string — Read a FDF document from a string

Açıklama

fdf_open_string(string $fdf_data): resource

Reads form data from a string.

You can use fdf_open_string() together with $HTTP_FDF_DATA to process FDF form input from a remote client.

Bağımsız Değişkenler

fdf_data

The data as returned from a PDF form or created using fdf_create() and fdf_save_string().

Dönen Değerler

Returns a FDF document handle, or false on error.

Örnekler

Örnek 1 Accessing the form data

<?php
$fdf = fdf_open_string($HTTP_FDF_DATA);
/* ... */
fdf_close($fdf);
?>

Ayrıca Bakınız

  • fdf_open() - Open a FDF document
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string


Open a FDF document

  • « fdf_open_string
  • fdf_remove_item »
  • PHP Manual
  • FDF İşlevleri
  • Open a FDF document

fdf_open

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_open — Open a FDF document

Açıklama

fdf_open(string $filename): resource

Opens a file with form data.

You can also use fdf_open_string() to process the results of a PDF form POST request.

Bağımsız Değişkenler

filename

Path to the FDF file. This file must contain the data as returned from a PDF form or created using fdf_create() and fdf_save().

Dönen Değerler

Returns a FDF document handle, or false on error.

Örnekler

Örnek 1 Accessing the form data

<?php
// Save the FDF data into a temp file
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// Open temp file and evaluate data
$fdf = fdf_open("test.fdf");
/* ... */
fdf_close($fdf);
?>

Ayrıca Bakınız

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document


Sets target frame for form

  • « fdf_open
  • fdf_save_string »
  • PHP Manual
  • FDF İşlevleri
  • Sets target frame for form

fdf_remove_item

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_remove_item — Sets target frame for form

Açıklama

fdf_remove_item(resource $fdf_document, string $fieldname, int $item): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Returns the FDF document as a string

  • « fdf_remove_item
  • fdf_save »
  • PHP Manual
  • FDF İşlevleri
  • Returns the FDF document as a string

fdf_save_string

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_save_string — Returns the FDF document as a string

Açıklama

fdf_save_string(resource $fdf_document): string

Returns the FDF document as a string.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

Dönen Değerler

Returns the document as a string, or false on error.

Örnekler

Örnek 1 Retrieving FDF as a string

<?php
$fdf = fdf_create();
fdf_set_value($fdf, "foo", "bar");
$str = fdf_save_string($fdf);
fdf_close($fdf);
echo $str;
?>

Yukarıdaki örneğin çıktısı:

%FDF-1.2
%âãÏÓ
1 0 obj
<<
/FDF << /Fields 2 0 R >>
>>
endobj
2 0 obj
[
<< /T (foo)/V (bar)>>
]
endobj
trailer
<<
/Root 1 0 R

>>
%%EOF

Ayrıca Bakınız

  • fdf_open_string() - Read a FDF document from a string
  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save() - Save a FDF document


Save a FDF document

  • « fdf_save_string
  • fdf_set_ap »
  • PHP Manual
  • FDF İşlevleri
  • Save a FDF document

fdf_save

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_save — Save a FDF document

Açıklama

fdf_save(resource $fdf_document, string $filename = ?): bool

Saves a FDF document.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

filename

If provided, the resulting FDF will be written in this parameter. Otherwise, this function will write the FDF to the default PHP output stream.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_close() - Close an FDF document
  • fdf_create() - Create a new FDF document
  • fdf_save_string() - Returns the FDF document as a string


Set the appearance of a field

  • « fdf_save
  • fdf_set_encoding »
  • PHP Manual
  • FDF İşlevleri
  • Set the appearance of a field

fdf_set_ap

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_ap — Set the appearance of a field

Açıklama

fdf_set_ap(
resource $fdf_document,
string $field_name,
int $face,
string $filename,
int $page_number
): bool

Sets the appearance of a field (i.e. the value of the /AP key).

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

field_name

face

The possible values FDFNormalAP, FDFRolloverAP and FDFDownAP.

filename

page_number

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets FDF character encoding

  • « fdf_set_ap
  • fdf_set_file »
  • PHP Manual
  • FDF İşlevleri
  • Sets FDF character encoding

fdf_set_encoding

(PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_encoding — Sets FDF character encoding

Açıklama

fdf_set_encoding(resource $fdf_document, string $encoding): bool

Sets the character encoding for the FDF document.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

encoding

The encoding name. The following values are supported: "Shift-JIS", "UHC", "GBK" and "BigFive".

An empty string resets the encoding to the default PDFDocEncoding/Unicode scheme.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set PDF document to display FDF data in

  • « fdf_set_encoding
  • fdf_set_flags »
  • PHP Manual
  • FDF İşlevleri
  • Set PDF document to display FDF data in

fdf_set_file

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_file — Set PDF document to display FDF data in

Açıklama

fdf_set_file(resource $fdf_document, string $url, string $target_frame = ?): bool

Selects a different PDF document to display the form results in then the form it originated from.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

url

Should be given as an absolute URL.

target_frame

Use this parameter to specify the frame in which the document will be displayed. You can also set the default value for this parameter using fdf_set_target_frame().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Passing FDF data to a second form

<?php
/* set content type for Adobe FDF */
fdf_header();

/* start new fdf */
$fdf = fdf_create();

/* set field "foo" to value "bar" */
fdf_set_value($fdf, "foo", "bar");

/* tell client to display FDF data using "fdf_form.pdf" */
fdf_set_file($fdf, "http://www.example.com/fdf_form.pdf");

/* output fdf */
fdf_save($fdf);

/* clean up */
fdf_close($fdf);
?>

Ayrıca Bakınız

  • fdf_get_file() - Get the value of the /F key
  • fdf_set_target_frame() - Set target frame for form display


Sets a flag of a field

  • « fdf_set_file
  • fdf_set_javascript_action »
  • PHP Manual
  • FDF İşlevleri
  • Sets a flag of a field

fdf_set_flags

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_flags — Sets a flag of a field

Açıklama

fdf_set_flags(
resource $fdf_document,
string $fieldname,
int $whichFlags,
int $newFlags
): bool

Sets certain flags of the given field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

whichFlags

newFlags

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_set_opt() - Sets an option of a field


Sets an javascript action of a field

  • « fdf_set_flags
  • fdf_set_on_import_javascript »
  • PHP Manual
  • FDF İşlevleri
  • Sets an javascript action of a field

fdf_set_javascript_action

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_javascript_action — Sets an javascript action of a field

Açıklama

fdf_set_javascript_action(
resource $fdf_document,
string $fieldname,
int $trigger,
string $script
): bool

Sets a javascript action for the given field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_set_submit_form_action() - Sets a submit form action of a field


Adds javascript code to be executed when Acrobat opens the FDF

  • « fdf_set_javascript_action
  • fdf_set_opt »
  • PHP Manual
  • FDF İşlevleri
  • Adds javascript code to be executed when Acrobat opens the FDF

fdf_set_on_import_javascript

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_on_import_javascript — Adds javascript code to be executed when Acrobat opens the FDF

Açıklama

fdf_set_on_import_javascript(resource $fdf_document, string $script, bool $before_data_import): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Ayrıca Bakınız

  • fdf_add_doc_javascript() - Adds javascript code to the FDF document
  • fdf_set_javascript_action() - Sets an javascript action of a field


Sets an option of a field

  • « fdf_set_on_import_javascript
  • fdf_set_status »
  • PHP Manual
  • FDF İşlevleri
  • Sets an option of a field

fdf_set_opt

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_opt — Sets an option of a field

Açıklama

fdf_set_opt(
resource $fdf_document,
string $fieldname,
int $element,
string $str1,
string $str2
): bool

Sets options of the given field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

element

str1

str2

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_set_flags() - Sets a flag of a field


Set the value of the /STATUS key

  • « fdf_set_opt
  • fdf_set_submit_form_action »
  • PHP Manual
  • FDF İşlevleri
  • Set the value of the /STATUS key

fdf_set_status

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_status — Set the value of the /STATUS key

Açıklama

fdf_set_status(resource $fdf_document, string $status): bool

Sets the value of the /STATUS key. When a client receives a FDF with a status set it will present the value in an alert box.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

status

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_get_status() - Get the value of the /STATUS key


Sets a submit form action of a field

  • « fdf_set_status
  • fdf_set_target_frame »
  • PHP Manual
  • FDF İşlevleri
  • Sets a submit form action of a field

fdf_set_submit_form_action

(PHP 4 >= 4.0.2, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_submit_form_action — Sets a submit form action of a field

Açıklama

fdf_set_submit_form_action(
resource $fdf_document,
string $fieldname,
int $trigger,
string $script,
int $flags
): bool

Sets a submit form action for the given field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

trigger

script

flags

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_set_javascript_action() - Sets an javascript action of a field


Set target frame for form display

  • « fdf_set_submit_form_action
  • fdf_set_value »
  • PHP Manual
  • FDF İşlevleri
  • Set target frame for form display

fdf_set_target_frame

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_target_frame — Set target frame for form display

Açıklama

fdf_set_target_frame(resource $fdf_document, string $frame_name): bool

Sets the target frame to display a result PDF defined with fdf_save_file() in.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

frame_name

The frame name, as a string.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_save_file()


Set the value of a field

  • « fdf_set_target_frame
  • fdf_set_version »
  • PHP Manual
  • FDF İşlevleri
  • Set the value of a field

fdf_set_value

(PHP 4, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_value — Set the value of a field

Açıklama

fdf_set_value(
resource $fdf_document,
string $fieldname,
mixed $value,
int $isName = ?
): bool

Sets the value for the given field.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

fieldname

Name of the FDF field, as a string.

value

This parameter will be stored as a string unless it is an array. In this case all array elements will be stored as a value array.

isName

Bilginize:

In older versions of the FDF toolkit last parameter determined if the field value was to be converted to a PDF Name (= 1) or set to a PDF String (= 0).

The value is no longer used in the current toolkit version 5.0. For compatibility reasons it is still supported as an optional parameter, but ignored internally.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_get_value() - Get the value of a field
  • fdf_remove_item() - Sets target frame for form


Sets version number for a FDF file

  • « fdf_set_value
  • GnuPG »
  • PHP Manual
  • FDF İşlevleri
  • Sets version number for a FDF file

fdf_set_version

(PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL fdf SVN)

fdf_set_version — Sets version number for a FDF file

Açıklama

fdf_set_version(resource $fdf_document, string $version): bool

Sets the FDF version for the given document.

Some features supported by this extension are only available in newer FDF versions.

Bağımsız Değişkenler

fdf_document

The FDF document handle, returned by fdf_create(), fdf_open() or fdf_open_string().

version

The version number. For the current FDF toolkit 5.0, this may be either 1.2, 1.3 or 1.4.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fdf_get_version() - Gets version number for FDF API or file


GNU Privacy Guard

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Clearsign text
  • GnuPG İşlevleri
    • gnupg_adddecryptkey — Add a key for decryption
    • gnupg_addencryptkey — Add a key for encryption
    • gnupg_addsignkey — Add a key for signing
    • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
    • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
    • gnupg_clearsignkeys — Removes all keys which were set for signing before
    • gnupg_decrypt — Decrypts a given text
    • gnupg_decryptverify — Decrypts and verifies a given text
    • gnupg_deletekey — Delete a key from the keyring
    • gnupg_encrypt — Encrypts a given text
    • gnupg_encryptsign — Encrypts and signs a given text
    • gnupg_export — Exports a key
    • gnupg_getengineinfo — Returns the engine info
    • gnupg_geterror — Returns the errortext, if a function fails
    • gnupg_geterrorinfo — Returns the error info
    • gnupg_getprotocol — Returns the currently active protocol for all operations
    • gnupg_gettrustlist — Search the trust items
    • gnupg_import — Imports a key
    • gnupg_init — Initialize a connection
    • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
    • gnupg_listsignatures — List key signatures
    • gnupg_setarmor — Toggle armored output
    • gnupg_seterrormode — Sets the mode for error_reporting
    • gnupg_setsignmode — Sets the mode for signing
    • gnupg_sign — Signs a given text
    • gnupg_verify — Verifies a signed text


  • « GnuPG
  • Yapılandırma/Kurulum »
  • PHP Manual
  • GnuPG
  • Giriş

Giriş

This module allows you to interact with » gnupg.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires the » gpgme library


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/gnupg.


Öntanımlı Sabitler

GNUPG_SIG_MODE_NORMAL (int)
GNUPG_SIG_MODE_DETACH (int)
GNUPG_SIG_MODE_CLEAR (int)
GNUPG_VALIDITY_UNKNOWN (int)
GNUPG_VALIDITY_UNDEFINED (int)
GNUPG_VALIDITY_NEVER (int)
GNUPG_VALIDITY_MARGINAL (int)
GNUPG_VALIDITY_FULL (int)
GNUPG_VALIDITY_ULTIMATE (int)
GNUPG_PROTOCOL_OpenPGP (int)
GNUPG_PROTOCOL_CMS (int)
GNUPG_SIGSUM_VALID (int)
GNUPG_SIGSUM_GREEN (int)
GNUPG_SIGSUM_RED (int)
GNUPG_SIGSUM_KEY_REVOKED (int)
GNUPG_SIGSUM_KEY_EXPIRED (int)
GNUPG_SIGSUM_KEY_MISSING (int)
GNUPG_SIGSUM_SIG_EXPIRED (int)
GNUPG_SIGSUM_CRL_MISSING (int)
GNUPG_SIGSUM_CRL_TOO_OLD (int)
GNUPG_SIGSUM_BAD_POLICY (int)
GNUPG_SIGSUM_SYS_ERROR (int)
GNUPG_ERROR_WARNING (int)
GNUPG_ERROR_EXCEPTION (int)
GNUPG_ERROR_SILENT (int)


  • « Öntanımlı Sabitler
  • Clearsign text »
  • PHP Manual
  • GnuPG
  • Örnekler

Örnekler

İçindekiler

  • Clearsign text


Clearsign text

This example will clearsign a given text.

Örnek 1 gnupg clearsign example (procedural)

<?php
// init gnupg
$res = gnupg_init();
// not really needed. Clearsign is default
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = gnupg_sign($res,"just a test");
echo $signed;
?>

Örnek 2 gnupg clearsign example (OO)

<?php
// new class
$gnupg = new gnupg();
// not really needed. Clearsign is default
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// add key with passphrase 'test' for signing
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// sign
$signed = $gnupg->sign("just a test");
echo $signed;
?>

Örnek 3 keylistiterator

This extension also comes with an Iterator for your keyring.

<?php
// create a new iterator for listing all public keys that matches 'example'
$iterator = new gnupg_keylistiterator("example");
foreach($iterator as $fingerprint => $userid){
echo $fingerprint." -> ".$userid."\n";
}
?>


GnuPG İşlevleri

Notlar

This extension makes use of the keyring of the current user. This keyring is normally located in ~./.gnupg/. To specify a custom location, store the path to the keyring in the environment variable GNUPGHOME. See putenv for more information how to do this.

Some functions require the specification of a key. This specification can be anything that refers to a unique key (userid, key-id, fingerprint, ...). This documentation uses the fingerprint in all examples.

Bilginize:

As alternative to the explicitly documented functions using resources, you can also use an object-oriented style using gnupg objects.

İçindekiler

  • gnupg_adddecryptkey — Add a key for decryption
  • gnupg_addencryptkey — Add a key for encryption
  • gnupg_addsignkey — Add a key for signing
  • gnupg_cleardecryptkeys — Removes all keys which were set for decryption before
  • gnupg_clearencryptkeys — Removes all keys which were set for encryption before
  • gnupg_clearsignkeys — Removes all keys which were set for signing before
  • gnupg_decrypt — Decrypts a given text
  • gnupg_decryptverify — Decrypts and verifies a given text
  • gnupg_deletekey — Delete a key from the keyring
  • gnupg_encrypt — Encrypts a given text
  • gnupg_encryptsign — Encrypts and signs a given text
  • gnupg_export — Exports a key
  • gnupg_getengineinfo — Returns the engine info
  • gnupg_geterror — Returns the errortext, if a function fails
  • gnupg_geterrorinfo — Returns the error info
  • gnupg_getprotocol — Returns the currently active protocol for all operations
  • gnupg_gettrustlist — Search the trust items
  • gnupg_import — Imports a key
  • gnupg_init — Initialize a connection
  • gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern
  • gnupg_listsignatures — List key signatures
  • gnupg_setarmor — Toggle armored output
  • gnupg_seterrormode — Sets the mode for error_reporting
  • gnupg_setsignmode — Sets the mode for signing
  • gnupg_sign — Signs a given text
  • gnupg_verify — Verifies a signed text


Add a key for decryption

  • « GnuPG İşlevleri
  • gnupg_addencryptkey »
  • PHP Manual
  • GnuPG İşlevleri
  • Add a key for decryption

gnupg_adddecryptkey

(PECL gnupg >= 0.5)

gnupg_adddecryptkey — Add a key for decryption

Açıklama

gnupg_adddecryptkey(resource $identifier, string $fingerprint, string $passphrase): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

fingerprint

Parmakizi anahtarı.

passphrase

The pass phrase.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_adddecryptkey() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Örnek 2 OO gnupg_adddecryptkey() example

<?php
$gpg = new gnupg();
$gpg->adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>


Add a key for encryption

  • « gnupg_adddecryptkey
  • gnupg_addsignkey »
  • PHP Manual
  • GnuPG İşlevleri
  • Add a key for encryption

gnupg_addencryptkey

(PECL gnupg >= 0.5)

gnupg_addencryptkey — Add a key for encryption

Açıklama

gnupg_addencryptkey(resource $identifier, string $fingerprint): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

fingerprint

Parmakizi anahtarı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_addencryptkey() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
?>

Örnek 2 OO gnupg_addencryptkey() example

<?php
$gpg = new gnupg();
$gpg->addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
?>


Add a key for signing

  • « gnupg_addencryptkey
  • gnupg_cleardecryptkeys »
  • PHP Manual
  • GnuPG İşlevleri
  • Add a key for signing

gnupg_addsignkey

(PECL gnupg >= 0.5)

gnupg_addsignkey — Add a key for signing

Açıklama

gnupg_addsignkey(resource $identifier, string $fingerprint, string $passphrase = ?): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

fingerprint

Parmakizi anahtarı.

passphrase

The pass phrase.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_addsignkey() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
?>

Örnek 2 OO gnupg_addsignkey() example

<?php
$gpg = new gnupg();
$gpg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
?>


Removes all keys which were set for decryption before

  • « gnupg_addsignkey
  • gnupg_clearencryptkeys »
  • PHP Manual
  • GnuPG İşlevleri
  • Removes all keys which were set for decryption before

gnupg_cleardecryptkeys

(PECL gnupg >= 0.5)

gnupg_cleardecryptkeys — Removes all keys which were set for decryption before

Açıklama

gnupg_cleardecryptkeys(resource $identifier): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_cleardecryptkeys() example

<?php
$res = gnupg_init();
gnupg_cleardecryptkeys($res);
?>

Örnek 2 OO gnupg_cleardecryptkeys() example

<?php
$gpg = new gnupg();
$gpg->cleardecryptkeys();
?>


Removes all keys which were set for encryption before

  • « gnupg_cleardecryptkeys
  • gnupg_clearsignkeys »
  • PHP Manual
  • GnuPG İşlevleri
  • Removes all keys which were set for encryption before

gnupg_clearencryptkeys

(PECL gnupg >= 0.5)

gnupg_clearencryptkeys — Removes all keys which were set for encryption before

Açıklama

gnupg_clearencryptkeys(resource $identifier): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_clearencryptkeys() example

<?php
$res = gnupg_init();
gnupg_clearencryptkeys($res);
?>

Örnek 2 OO gnupg_clearencryptkeys() example

<?php
$gpg = new gnupg();
$gpg->clearencryptkeys();
?>


Removes all keys which were set for signing before

  • « gnupg_clearencryptkeys
  • gnupg_decrypt »
  • PHP Manual
  • GnuPG İşlevleri
  • Removes all keys which were set for signing before

gnupg_clearsignkeys

(PECL gnupg >= 0.5)

gnupg_clearsignkeys — Removes all keys which were set for signing before

Açıklama

gnupg_clearsignkeys(resource $identifier): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_clearsignkeys() example

<?php
$res = gnupg_init();
gnupg_clearsignkeys($res);
?>

Örnek 2 OO gnupg_clearsignkeys() example

<?php
$gpg = new gnupg();
$gpg->clearsignkeys();
?>


Decrypts a given text

  • « gnupg_clearsignkeys
  • gnupg_decryptverify »
  • PHP Manual
  • GnuPG İşlevleri
  • Decrypts a given text

gnupg_decrypt

(PECL gnupg >= 0.1)

gnupg_decrypt — Decrypts a given text

Açıklama

gnupg_decrypt(resource $identifier, string $text): string|false

Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

text

The text being decrypted.

Dönen Değerler

On success, this function returns the decrypted text. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_decrypt() example

<?php
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = gnupg_decrypt($res,$encrypted_text);
echo $plain;
?>

Örnek 2 OO gnupg_decrypt() example

<?php
$gpg = new gnupg();
$gpg->adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$plain = $gpg->decrypt($encrypted_text);
echo $plain;
?>


Decrypts and verifies a given text

  • « gnupg_decrypt
  • gnupg_deletekey »
  • PHP Manual
  • GnuPG İşlevleri
  • Decrypts and verifies a given text

gnupg_decryptverify

(PECL gnupg >= 0.2)

gnupg_decryptverify — Decrypts and verifies a given text

Açıklama

gnupg_decryptverify(resource $identifier, string $text, string &$plaintext): array|false

Decrypts and verifies a given text and returns information about the signature.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

text

The text being decrypted.

plaintext

The parameter plaintext gets filled with the decrypted text.

Dönen Değerler

On success, this function returns information about the signature and fills the plaintext parameter with the decrypted text. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_decryptverify() example

<?php
$plaintext = "";
$res = gnupg_init();
gnupg_adddecryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = gnupg_decryptverify($res,$text,$plaintext);
print_r($info);
?>

Örnek 2 OO gnupg_decryptverify() example

<?php
$plaintext = "";
$gpg = new gnupg();
$gpg->adddecryptkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$info = $gpg->decryptverify($text,$plaintext);
print_r($info);
?>


Delete a key from the keyring

  • « gnupg_decryptverify
  • gnupg_encrypt »
  • PHP Manual
  • GnuPG İşlevleri
  • Delete a key from the keyring

gnupg_deletekey

(PECL gnupg >= 0.5)

gnupg_deletekey — Delete a key from the keyring

Açıklama

gnupg_deletekey(resource $identifier, string $key, bool $allow_secret): bool

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

key

The key to delete.

allow_secret

It specifies whether to delete secret keys as well.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_deletekey() example

<?php
$res = gnupg_init();
gnupg_deletekey($res, "8660281B6051D071D94B5B230549F9DC851566DC");
?>

Örnek 2 OO gnupg_deletekey() example

<?php
$gpg = new gnupg();
$gpg->deletekey("8660281B6051D071D94B5B230549F9DC851566DC");
?>


Encrypts a given text

  • « gnupg_deletekey
  • gnupg_encryptsign »
  • PHP Manual
  • GnuPG İşlevleri
  • Encrypts a given text

gnupg_encrypt

(PECL gnupg >= 0.1)

gnupg_encrypt — Encrypts a given text

Açıklama

gnupg_encrypt(resource $identifier, string $plaintext): string|false

Encrypts the given plaintext with the keys, which were set with gnupg_addencryptkey before and returns the encrypted text.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

plaintext

The text being encrypted.

Dönen Değerler

On success, this function returns the encrypted text. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_encrypt() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
$enc = gnupg_encrypt($res, "just a test");
echo $enc;
?>

Örnek 2 OO gnupg_encrypt() example

<?php
$gpg = new gnupg();
$gpg->addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$enc = $gpg->encrypt("just a test");
echo $enc;
?>


Encrypts and signs a given text

  • « gnupg_encrypt
  • gnupg_export »
  • PHP Manual
  • GnuPG İşlevleri
  • Encrypts and signs a given text

gnupg_encryptsign

(PECL gnupg >= 0.2)

gnupg_encryptsign — Encrypts and signs a given text

Açıklama

gnupg_encryptsign(resource $identifier, string $plaintext): string|false

Encrypts and signs the given plaintext with the keys, which were set with gnupg_addsignkey and gnupg_addencryptkey before and returns the encrypted and signed text.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

plaintext

The text being encrypted.

Dönen Değerler

On success, this function returns the encrypted and signed text. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_encryptsign() example

<?php
$res = gnupg_init();
gnupg_addencryptkey($res,"8660281B6051D071D94B5B230549F9DC851566DC");
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = gnupg_encryptsign($res, "just a test");
echo $enc;
?>

Örnek 2 OO gnupg_encryptsign() example

<?php
$gpg = new gnupg();
$gpg->addencryptkey("8660281B6051D071D94B5B230549F9DC851566DC");
$gpg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$enc = $gpg->encryptsign("just a test");
echo $enc;
?>


Exports a key

  • « gnupg_encryptsign
  • gnupg_getengineinfo »
  • PHP Manual
  • GnuPG İşlevleri
  • Exports a key

gnupg_export

(PECL gnupg >= 0.1)

gnupg_export — Exports a key

Açıklama

gnupg_export(resource $identifier, string $fingerprint): string|false

Exports the key fingerprint.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

fingerprint

Parmakizi anahtarı.

Dönen Değerler

On success, this function returns the keydata. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_export() example

<?php
$res = gnupg_init();
$export = gnupg_export($res,"8660281B6051D071D94B5B230549F9DC851566DC");
echo $export;
?>

Örnek 2 OO gnupg_export() example

<?php
$gpg = new gnupg();
$export = $gpg->export("8660281B6051D071D94B5B230549F9DC851566DC");
?>


Returns the engine info

  • « gnupg_export
  • gnupg_geterror »
  • PHP Manual
  • GnuPG İşlevleri
  • Returns the engine info

gnupg_getengineinfo

(PECL gnupg >= 1.5)

gnupg_getengineinfo — Returns the engine info

Açıklama

gnupg_getengineinfo(resource $identifier): array

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Returns an array with engine info consting of protocol, file_name and home_dir.

Örnekler

Örnek 1 Procedural gnupg_getengineinfo() example

<?php
$res = gnupg_init();
print_r(gnupg_getengineinfo($res));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["protocol"]=>
  int(0)
  ["file_name"]=>
  string(12) "/usr/bin/gpg"
  ["home_dir"]=>
  string(0) ""
}

Örnek 2 OO gnupg_getengineinfo() example

<?php
$gpg = new gnupg(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
print_r($gpg->getengineinfo());
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["protocol"]=>
  int(0)
  ["file_name"]=>
  string(13) "/usr/bin/gpg2"
  ["home_dir"]=>
  string(15) "/var/www/.gnupg"
}


Returns the errortext, if a function fails

  • « gnupg_getengineinfo
  • gnupg_geterrorinfo »
  • PHP Manual
  • GnuPG İşlevleri
  • Returns the errortext, if a function fails

gnupg_geterror

(PECL gnupg >= 0.1)

gnupg_geterror — Returns the errortext, if a function fails

Açıklama

gnupg_geterror(resource $identifier): string|false

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Returns an errortext, if an error has occurred, otherwise false.

Örnekler

Örnek 1 Procedural gnupg_geterror() example

<?php
$res = gnupg_init();
echo gnupg_geterror($res);
?>

Örnek 2 OO gnupg_geterror() example

<?php
$gpg = new gnupg();
echo $gpg->geterror();
?>


Returns the error info

  • « gnupg_geterror
  • gnupg_getprotocol »
  • PHP Manual
  • GnuPG İşlevleri
  • Returns the error info

gnupg_geterrorinfo

(PECL gnupg >= 1.5)

gnupg_geterrorinfo — Returns the error info

Açıklama

gnupg_geterrorinfo(resource $identifier): array

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Returns an array with error info.

Örnekler

Örnek 1 Procedural gnupg_geterrorinfo() example

<?php
$res = gnupg_init();
// this is called without any error
print_r(gnupg_geterrorinfo($res));
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["generic_message"]=>
  bool(false)
  ["gpgme_code"]=>
  int(0)
  ["gpgme_source"]=>
  string(18) "Unspecified source"
  ["gpgme_message"]=>
  string(7) "Success"
}

Örnek 2 OO gnupg_geterrorinfo() example

<?php
$gpg = new gnupg();
// error call
$gpg->decrypt('abc');
// error info should be displayed
print_r($gpg->geterrorinfo());
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["generic_message"]=>
  string(14) "decrypt failed"
  ["gpgme_code"]=>
  int(117440570)
  ["gpgme_source"]=>
  string(5) "GPGME"
  ["gpgme_message"]=>
  string(7) "No data"
}


Returns the currently active protocol for all operations

  • « gnupg_geterrorinfo
  • gnupg_gettrustlist »
  • PHP Manual
  • GnuPG İşlevleri
  • Returns the currently active protocol for all operations

gnupg_getprotocol

(PECL gnupg >= 0.1)

gnupg_getprotocol — Returns the currently active protocol for all operations

Açıklama

gnupg_getprotocol(resource $identifier): int

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

Dönen Değerler

Returns the currently active protocol, which can be one of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.

Örnekler

Örnek 1 Procedural gnupg_getprotocol() example

<?php
$res = gnupg_init();
echo gnupg_getprotocol($res);
?>

Örnek 2 OO gnupg_getprotocol() example

<?php
$gpg = new gnupg();
echo $gpg->getprotocol();
?>


Search the trust items

  • « gnupg_getprotocol
  • gnupg_import »
  • PHP Manual
  • GnuPG İşlevleri
  • Search the trust items

gnupg_gettrustlist

(PECL gnupg >= 0.5)

gnupg_gettrustlist — Search the trust items

Açıklama

gnupg_gettrustlist(resource $identifier, string $pattern): ?array

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

pattern

Expression to limit the list of trust items to only the ones matching the pattern.

Dönen Değerler

On success, this function returns an array of trust items. On failure, this function returns null.

Örnekler

Örnek 1 Procedural gnupg_gettrustlist() example

<?php
$res = gnupg_init();
$items = gnupg_gettrustlist($res);
print_r($items);
?>

Örnek 2 OO gnupg_gettrustlist() example

<?php
$gpg = new gnupg();
$items = $gpg->gettrustlist();
print_r($items);
?>


Imports a key

  • « gnupg_gettrustlist
  • gnupg_init »
  • PHP Manual
  • GnuPG İşlevleri
  • Imports a key

gnupg_import

(PECL gnupg >= 0.3)

gnupg_import — Imports a key

Açıklama

gnupg_import(resource $identifier, string $keydata): array|false

Imports the key keydata and returns an array with information about the importprocess.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

keydata

The data key that is being imported.

Dönen Değerler

On success, this function returns and info-array about the importprocess. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_import() example

<?php
$res = gnupg_init();
$info = gnupg_import($res,$keydata);
print_r($info);
?>

Örnek 2 OO gnupg_import() example

<?php
$gpg = new gnupg();
$info = $gpg->import($keydata);
print_r($info);
?>


Initialize a connection

  • « gnupg_import
  • gnupg_keyinfo »
  • PHP Manual
  • GnuPG İşlevleri
  • Initialize a connection

gnupg_init

(PECL gnupg >= 0.4)

gnupg_init — Initialize a connection

Açıklama

gnupg_init(?array $options = null): resource

Bağımsız Değişkenler

options

Must be an associative array. It is used to change the default configuration of the crypto engine.

Configuration overrides
key | type | description
file_name | string | It is the file name of the executable program implementing this protocol which is usually path of the gpg executable.
home_dir | string | It is the directory name of the configuration directory. It also overrides GNUPGHOME environment variable that is used for the same purpose.

Dönen Değerler

A GnuPG resource connection used by other GnuPG functions.

Sürüm Bilgisi

Sürüm: | Açıklama
1.5.0 | The options parameter was added.

Örnekler

Örnek 1 Procedural gnupg_init() example with default setting

<?php
$res = gnupg_init();
?>

Örnek 2 Procedural gnupg_init() example with overriden file name and home dir

<?php
$res = gnupg_init(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>

Örnek 3 OO gnupg initializer example with default setting

<?php
$gpg = new gnupg();
?>

Örnek 4 OO gnupg initializer example with overriden file name and home dir

<?php
$gpg = new gnupg(["file_name" => "/usr/bin/gpg2", "home_dir" => "/var/www/.gnupg"]);
?>


Returns an array with information about all keys that matches the given pattern

  • « gnupg_init
  • gnupg_listsignatures »
  • PHP Manual
  • GnuPG İşlevleri
  • Returns an array with information about all keys that matches the given pattern

gnupg_keyinfo

(PECL gnupg >= 0.1)

gnupg_keyinfo — Returns an array with information about all keys that matches the given pattern

Açıklama

gnupg_keyinfo(resource $identifier, string $pattern): array|false

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

pattern

The pattern being checked against the keys.

Dönen Değerler

Returns an array with information about all keys that matches the given pattern or false, if an error has occurred.

Örnekler

Örnek 1 Procedural gnupg_keyinfo() example

<?php
$res = gnupg_init();
$info = gnupg_keyinfo($res, 'test');
print_r($info);
?>

Örnek 2 OO gnupg_keyinfo() example

<?php
$gpg = new gnupg();
$info = $gpg->keyinfo("test");
print_r($info);
?>


List key signatures

  • « gnupg_keyinfo
  • gnupg_setarmor »
  • PHP Manual
  • GnuPG İşlevleri
  • List key signatures

gnupg_listsignatures

(PECL gnupg >= 0.5)

gnupg_listsignatures — List key signatures

Açıklama

gnupg_listsignatures(resource $identifier, string $keyid): ?array

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

keyid

The key ID to list signatures for.

Dönen Değerler

On success, this function returns an array of key signatures. On failure, this function returns null.

Örnekler

Örnek 1 Procedural gnupg_listsignatures() example

<?php
$res = gnupg_init();
$signatures = gnupg_listsignatures($res, "8660281B6051D071D94B5B230549F9DC851566DC");
print_r($signatures);
?>

Örnek 2 OO gnupg_listsignatures() example

<?php
$gpg = new gnupg();
$signatures = $gpg->listsignatures("8660281B6051D071D94B5B230549F9DC851566DC");
print_r($signatures);
?>


Toggle armored output

  • « gnupg_listsignatures
  • gnupg_seterrormode »
  • PHP Manual
  • GnuPG İşlevleri
  • Toggle armored output

gnupg_setarmor

(PECL gnupg >= 0.1)

gnupg_setarmor — Toggle armored output

Açıklama

gnupg_setarmor(resource $identifier, int $armor): bool

Toggle the armored output.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

armor

Pass a non-zero integer-value to this function to enable armored-output (default). Pass 0 to disable armored output.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_setarmor() example

<?php
$res = gnupg_init();
gnupg_setarmor($res,1); // enable armored output;
gnupg_setarmor($res,0); // disable armored output;
?>

Örnek 2 OO gnupg_setarmor() example

<?php
$gpg = new gnupg();
$gpg->setarmor(1); // enable armored output;
$gpg->setarmor(0); // disable armored output;
?>


Sets the mode for error_reporting

  • « gnupg_setarmor
  • gnupg_setsignmode »
  • PHP Manual
  • GnuPG İşlevleri
  • Sets the mode for error_reporting

gnupg_seterrormode

(PECL gnupg >= 0.6)

gnupg_seterrormode — Sets the mode for error_reporting

Açıklama

gnupg_seterrormode(resource $identifier, int $errormode): void

Sets the mode for error_reporting.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

errormode

The error mode.

errormode takes a constant indicating what type of error_reporting should be used. The possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Procedural gnupg_seterrormode() example

<?php
$res = gnupg_init();
gnupg_seterrormode($res,GNUPG_ERROR_WARNING); // raise a PHP-Warning in case of an error
?>

Örnek 2 OO gnupg_seterrormode() example

<?php
$gpg = new gnupg();
$gpg->seterrormode(gnupg::ERROR_EXCEPTION); // throw an exception in case of an error
?>


Sets the mode for signing

  • « gnupg_seterrormode
  • gnupg_sign »
  • PHP Manual
  • GnuPG İşlevleri
  • Sets the mode for signing

gnupg_setsignmode

(PECL gnupg >= 0.1)

gnupg_setsignmode — Sets the mode for signing

Açıklama

gnupg_setsignmode(resource $identifier, int $signmode): bool

Sets the mode for signing.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

sigmode

The mode for signing.

signmode takes a constant indicating what type of signature should be produced. The possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Procedural gnupg_setsignmode() example

<?php
$res = gnupg_init();
gnupg_setsignmode($res,GNUPG_SIG_MODE_DETACH); // produce a detached signature
?>

Örnek 2 OO gnupg_setsignmode() example

<?php
$gpg = new gnupg();
$gpg->setsignmode(gnupg::SIG_MODE_DETACH); // produce a detached signature
?>


Signs a given text

  • « gnupg_setsignmode
  • gnupg_verify »
  • PHP Manual
  • GnuPG İşlevleri
  • Signs a given text

gnupg_sign

(PECL gnupg >= 0.1)

gnupg_sign — Signs a given text

Açıklama

gnupg_sign(resource $identifier, string $plaintext): string|false

Signs the given plaintext with the keys, which were set with gnupg_addsignkey before and returns the signed text or the signature, depending on what was set with gnupg_setsignmode.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

plaintext

The plain text being signed.

Dönen Değerler

On success, this function returns the signed text or the signature. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_sign() example

<?php
$res = gnupg_init();
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = gnupg_sign($res, "just a test");
echo $signed;
?>

Örnek 2 OO gnupg_sign() example

<?php
$gpg = new gnupg();
$gpg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
$signed = $gpg->sign("just a test");
echo $signed;
?>


Verifies a signed text

  • « gnupg_sign
  • wkhtmltox »
  • PHP Manual
  • GnuPG İşlevleri
  • Verifies a signed text

gnupg_verify

(PECL gnupg >= 0.1)

gnupg_verify — Verifies a signed text

Açıklama

gnupg_verify(
resource $identifier,
string $signed_text,
string $signature,
string &$plaintext = ?
): array|false

Verifies the given signed_text and returns information about the signature.

Bağımsız Değişkenler

identifier

Gnupg tanıtıcısı, bir gnupg_init() çağrısından veya gnupg nesnesinden elde edilir.

signed_text

The signed text.

signature

The signature. To verify a clearsigned text, set signature to false.

plaintext

The plain text. If this optional parameter is passed, it is filled with the plain text.

Dönen Değerler

On success, this function returns information about the signature. On failure, this function returns false.

Örnekler

Örnek 1 Procedural gnupg_verify() example

<?php
$plaintext = "";
$res = gnupg_init();
// clearsigned
$info = gnupg_verify($res,$signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = gnupg_verify($res,$signed_text,$signature);
print_r($info);
?>

Örnek 2 OO gnupg_verify() example

<?php
$plaintext = "";
$gpg = new gnupg();
// clearsigned
$info = $gpg->verify($signed_text,false,$plaintext);
print_r($info);
// detached signature
$info = $gpg->verify($signed_text,$signature);
print_r($info);
?>


wkhtmltox

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • wkhtmltox\PDF\Converter — The wkhtmltox\PDF\Converter class
    • wkhtmltox\PDF\Converter::add — Add an object for conversion
    • wkhtmltox\PDF\Converter::__construct — Create a new PDF converter
    • wkhtmltox\PDF\Converter::convert — Perform PDF conversion
    • wkhtmltox\PDF\Converter::getVersion — Determine version of Converter
  • wkhtmltox\PDF\Object — The wkhtmltox\PDF\Object class
    • wkhtmltox\PDF\Object::__construct — Create a new PDF Object
  • wkhtmltox\Image\Converter — The wkhtmltox\Image\Converter class
    • wkhtmltox\Image\Converter::__construct — Create a new Image converter
    • wkhtmltox\Image\Converter::convert — Perform Image conversion
    • wkhtmltox\Image\Converter::getVersion — Determine version of Converter


Giriş

libwkhtmltox is an open source LGPLv3 library for rendering HTML into PDF and various image formats using the QtWebKit rendering engine.


Gereksinimler

libwkhtmltox source and binary releases are distributed at » wkhtmltopdf.org.

Dikkat

Windows users need to take the additional step of adding wkhtmltox.dll to their PATH.


Kurulum

The source code of this extension, and binaries for Windows are hosted by » github,

Fetching the source code and building the extension:

git clone https://github.com/krakjoe/wkhtmltox
cd wkhtmltox
phpize
./configure --with-wkhtmltox=/path/to/wkhtmltox/installation
make
sudo make install

Fetching updates and rebuilding the extension:

cd wkhtmltox
phpize --clean
git pull origin master
phpize
./configure --with-wkhtmltox=/path/to/wkhtmltox/installation
make
sudo make install


Çalışma Anı Yapılandırması

Name | Description | Default | Stage | Changelog
wkhtmltox.graphics | allow libwkhtmltox to use graphics | Off | PHP_INI_SYSTEM | PHP_INI_PERDIR | >= 0.3.2


The wkhtmltox\PDF\Converter class

(wkhtmltox >= 0.1.0)

Giriş

Converts an HTML input, or set of HTML inputs, into PDF output

Sınıf Sözdizimi

class wkhtmltox\PDF\Converter {
/* Constructor */
public __construct(array $settings = ?)
/* Yöntemler */
public add(wkhtmltox\PDF\Object $object): void
public convert(): ?string
public getVersion(): string
}

İçindekiler

  • wkhtmltox\PDF\Converter::add — Add an object for conversion
  • wkhtmltox\PDF\Converter::__construct — Create a new PDF converter
  • wkhtmltox\PDF\Converter::convert — Perform PDF conversion
  • wkhtmltox\PDF\Converter::getVersion — Determine version of Converter


Add an object for conversion

  • « wkhtmltox\PDF\Converter
  • wkhtmltox\PDF\Converter::__construct »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Add an object for conversion

wkhtmltox\PDF\Converter::add

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::add — Add an object for conversion

Açıklama

public wkhtmltox\PDF\Converter::add(wkhtmltox\PDF\Object $object): void

Adds the given object to conversion

Bağımsız Değişkenler

object

The object to add


Create a new PDF converter

  • « wkhtmltox\PDF\Converter::add
  • wkhtmltox\PDF\Converter::convert »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Create a new PDF converter

wkhtmltox\PDF\Converter::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::__construct — Create a new PDF converter

Açıklama

public wkhtmltox\PDF\Converter::__construct(array $settings = ?)

Creates a PDF converter, using optional configuration settings

Bağımsız Değişkenler

settings

Name | Description | Values | Changelog
size.pageSize | paper size of output document | A4 | >= 0.1.0
size.width | with of the output document | 210mm | >= 0.1.0
size.height | height of the output document | 297mm | >= 0.1.0
orientation orientation of the output document
Landscape
Portrait
>= 0.1.0
colorMode color mode of the output document
Color
Greyscale
>= 0.1.0
resolution | resoluition of the output document | most likely has no effect | >= 0.1.0
dpi | dpi to use while printing | 80 | >= 0.1.0
pageOffset | integer added to page numbers generating headers, footers, and toc | >= 0.1.0
copies | >= 0.1.0
collate | collate copies | boolean | >= 0.1.0
outline | generate PDF outline | boolean | >= 0.1.0
outlineDepth | maximum depth of outline | >= 0.1.0
dumpOutline | path of file to dump outline XML | >= 0.1.0
out | path of output file, if "-" stdout is used | >= 0.1.0
documentTitle | title for the output document | >= 0.1.0
useCompression | enable or disable lossless compression | boolean | >= 0.1.0
margin.top | size of the top margin | 2cm | >= 0.1.0
margin.bottom | size of the bottom margin | 2cm | >= 0.1.0
margin.left | size of the left margin | 2cm | >= 0.1.0
margin.right | size of the right margin | 2cm | >= 0.1.0
imageDPI | maximum DPI for images in the output document | >= 0.1.0
imageQuality | the jpeg compression factor for images in the output document | 94 | >= 0.1.0
load.cookieJar | path of file used to load and store cookies | /tmp/cookies.txt | >= 0.1.0


Perform PDF conversion

  • « wkhtmltox\PDF\Converter::__construct
  • wkhtmltox\PDF\Converter::getVersion »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Perform PDF conversion

wkhtmltox\PDF\Converter::convert

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Converter::convert — Perform PDF conversion

Açıklama

public wkhtmltox\PDF\Converter::convert(): ?string

Performs conversion of all previously added Objects

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Where the return value is used, it will be populated with the contents of the conversion buffer


Determine version of Converter

  • « wkhtmltox\PDF\Converter::convert
  • wkhtmltox\PDF\Object »
  • PHP Manual
  • wkhtmltox\PDF\Converter
  • Determine version of Converter

wkhtmltox\PDF\Converter::getVersion

(wkhtmltox >= 0.3.2)

wkhtmltox\PDF\Converter::getVersion — Determine version of Converter

Açıklama

public wkhtmltox\PDF\Converter::getVersion(): string

Determines the version of Converter as reported by libwkhtmltox

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a version string


The wkhtmltox\PDF\Object class

(wkhtmltox >= 0.1.0)

Giriş

Represents an HTML document, input to PDF converter

Sınıf Sözdizimi

class wkhtmltox\PDF\Object {
/* Constructor */
public __construct(string $buffer, array $settings = ?)
}

İçindekiler

  • wkhtmltox\PDF\Object::__construct — Create a new PDF Object


Create a new PDF Object

  • « wkhtmltox\PDF\Object
  • wkhtmltox\Image\Converter »
  • PHP Manual
  • wkhtmltox\PDF\Object
  • Create a new PDF Object

wkhtmltox\PDF\Object::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\PDF\Object::__construct — Create a new PDF Object

Açıklama

public wkhtmltox\PDF\Object::__construct(string $buffer, array $settings = ?)

Creates a new PDF Object from the given buffer and optional configuration settings

Bağımsız Değişkenler

buffer

HTML

settings

Name | Description | Values | Changelog
page | URL or path of the HTML to convert | >= 0.1.0
useExternalLinks | set true to convert external links in the input into external PDF links in the output | boolean | >= 0.1.0
useLocalLinks | set true to convert internal links in the input into internal PDF links in the output | boolean | >= 0.1.0
produceForms | set true to turn HTML forms into PDF forms | boolean | >= 0.1.0
replacements | undocumented | >= 0.1.0
includeInOutline | set true to include sections from this object in the outline and toc | boolean | >= 0.1.0
pagesCount | set true to make page count in toc inclusive of the number of pages in this object | boolean | >= 0.1.0
tocXsl | set to style sheet to convert this object into a toc object | >= 0.1.0
toc.useDottedLines | set true to use dotted lines in toc | boolean | >= 0.1.0
toc.captionText | the caption text for toc | >= 0.1.0
toc.forwardLinks | set true to create links from toc to content | boolean | >= 0.1.0
toc.backLinks | set true to create links from content to toc | boolean | >= 0.1.0
toc.indentation | indentation for toc | 2em | >= 0.1.0
toc.fontScale | the factor to scale down the font at every toc level | 0.8 | >= 0.1.0
header.fontSize | font size for use in header | 13 | >= 0.1.0
header.fontName | name of font for use in header | times | >= 0.1.0
header.left | text for left of header | >= 0.1.0
header.center | text for center of header | >= 0.1.0
header.right | text for right of header | >= 0.1.0
header.line | enable or disable horizontal rule under header | boolean | >= 0.1.0
header.spacing | space between header and content | 1.8 | >= 0.1.0
header.htmlUrl | URL or path of HTML to use in header | >= 0.1.0
footer.fontSize | font size for use in footer | 13 | >= 0.1.0
footer.fontName | name of font for use in footer | times | >= 0.1.0
footer.left | text for left of footer | >= 0.1.0
footer.center | text for center of footer | >= 0.1.0
footer.right | text for right of footer | >= 0.1.0
footer.line | enable or disable horizontal rule under footer | boolean | >= 0.1.0
footer.spacing | space between footer and content | 1.8 | >= 0.1.0
footer.htmlUrl | URL or path of HTML to use in footer | >= 0.1.0
load.username | user name to use when loging into a website | bart | >= 0.1.0
load.password | the password to used when logging into a website | elbarto | >= 0.1.0
load.jsdelay | the amount of time in milliseconds to wait after a page is loaded until it is captured | 1200 | >= 0.1.0
load.zoomFactor | how much zoom should be applied to the content | 2.2 | >= 0.1.0
load.customHeaders | custom headers to send when requesting the main web page | >= 0.1.0
load.repertCustomHeaders | set true to send with all requests | boolean | >= 0.1.0
load.cookies | cookie string to send when requesting the main web page | >= 0.1.0
load.post | post string to send when requesting the main web page | >= 0.1.0
load.blockLocalFileAccess | disallow local and piped files to access other local files | boolean | >= 0.1.0
load.stopSlowScript | stop slow running javascript | boolean
load.debugJavascript | allow javascript to raise warnings | boolean | >= 0.1.0
load.loadErrorHandling set error handling strategy
abort | abort the convertion process
skip | do not add the object to the final output
ignore | try to add the object to the final output
>= 0.1.0
load.proxy | >= 0.1.0
web.background | include background image in output | boolean | >= 0.1.0
web.loadImages | include images in output | boolean | >= 0.1.0
web.enableJavascript | enable or disable javascript | boolean | >= 0.1.0
web.enableIntelligentShrinking | enable to attempt to fit more content on page, only applies to PDF output | boolean | >= 0.1.0
web.minimumFontSize | the minimum font size allowed | 9 | >= 0.1.0
web.printMediaType | print content using print media type instead of screen media type | boolean | >= 0.1.0
web.defaultEncoding | content to use where no encoding is specified | utf-8 | >= 0.1.0
web.userStyleSheet | URL or path to a user specified style sheet | /path/to/style.css | >= 0.1.0
web.enablePlugins | enable or disable NS plugins | boolean | >= 0.1.0


The wkhtmltox\Image\Converter class

(wkhtmltox >= 0.1.0)

Giriş

Converts an HTML input into various image formats

Sınıf Sözdizimi

class wkhtmltox\Image\Converter {
/* Constructor */
public __construct(string $buffer = ?, array $settings = ?)
/* Yöntemler */
public convert(): ?string
public getVersion(): string
}

İçindekiler

  • wkhtmltox\Image\Converter::__construct — Create a new Image converter
  • wkhtmltox\Image\Converter::convert — Perform Image conversion
  • wkhtmltox\Image\Converter::getVersion — Determine version of Converter


Create a new Image converter

  • « wkhtmltox\Image\Converter
  • wkhtmltox\Image\Converter::convert »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Create a new Image converter

wkhtmltox\Image\Converter::__construct

(wkhtmltox >= 0.1.0)

wkhtmltox\Image\Converter::__construct — Create a new Image converter

Açıklama

public wkhtmltox\Image\Converter::__construct(string $buffer = ?, array $settings = ?)

Creates an Image converter, optionally taking an input buffer and configuration settings

Bağımsız Değişkenler

buffer

HTML

settings

Name | Description | Values | Changelog
in | URL or path of the input file, if "-" stdin is used | /path/to/markup.html | >= 0.1.0
out | path of output file, if "-" stdout is used, by default an internal buffer is used | /path/to/output.png | >= 0.1.0
fmt output format to use
"" default
jpg | output as JPEG
png | output as PNG
bmp | output as bitmap
svg | output as SVG
>= 0.1.0
transparent | when outputting a PNG or SVG, make the white background transparent | boolean | >= 0.1.0
screenWidth | the with of the screen used to render in pixels | 800 | >= 0.1.0
smartWidth | when true, screenWidth is expanded to the content width | boolean | >= 0.1.0
quality | compression factor to use when outputting a JPEG image | 94 | >= 0.1.0
crop.left | left/x coordinate of the window to capture in pixels | 200 | >= 0.1.0
crop.top | top/y coordinate of the window to capture in pixels | 200 | >= 0.1.0
crop.width | width of the window to capture in pixels | 200 | >= 0.1.0
crop.height | height of the window to capture in pixels | 200 | >= 0.1.0
load.cookieJar | path of file used to load and store cookies | /tmp/cookies.txt | >= 0.1.0
load.username | user name to use when loging into a website | bart | >= 0.1.0
load.password | the password to used when logging into a website | elbarto | >= 0.1.0
load.jsdelay | the amount of time in milliseconds to wait after a page is loaded until it is captured | 1200 | >= 0.1.0
load.zoomFactor | how much zoom should be applied to the content | 2.2 | >= 0.1.0
load.customHeaders | custom headers to send when requesting the main web page | >= 0.1.0
load.repertCustomHeaders | set true to send with all requests | boolean | >= 0.1.0
load.cookies | cookie string to send when requesting the main web page | >= 0.1.0
load.post | post string to send when requesting the main web page | >= 0.1.0
load.blockLocalFileAccess | disallow local and piped files to access other local files | boolean | >= 0.1.0
load.stopSlowScript | stop slow running javascript | boolean
load.debugJavascript | allow javascript to raise warnings | boolean | >= 0.1.0
load.loadErrorHandling set error handling strategy
abort | abort the convertion process
skip | do not add the object to the final output
ignore | try to add the object to the final output
>= 0.1.0
load.proxy | >= 0.1.0
web.background | include background image in output | boolean | >= 0.1.0
web.loadImages | include images in output | boolean | >= 0.1.0
web.enableJavascript | enable or disable javascript | boolean | >= 0.1.0
web.enableIntelligentShrinking | enable to attempt to fit more content on page, only applies to PDF output | boolean | >= 0.1.0
web.minimumFontSize | the minimum font size allowed | 9 | >= 0.1.0
web.printMediaType | print content using print media type instead of screen media type | boolean | >= 0.1.0
web.defaultEncoding | content to use where no encoding is specified | utf-8 | >= 0.1.0
web.userStyleSheet | URL or path to a user specified style sheet | /path/to/style.css | >= 0.1.0
web.enablePlugins | enable or disable NS plugins | boolean | >= 0.1.0


Perform Image conversion

  • « wkhtmltox\Image\Converter::__construct
  • wkhtmltox\Image\Converter::getVersion »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Perform Image conversion

wkhtmltox\Image\Converter::convert

(wkhtmltox >= 0.1.0)

wkhtmltox\Image\Converter::convert — Perform Image conversion

Açıklama

public wkhtmltox\Image\Converter::convert(): ?string

Performs conversion of the input buffer

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Where the return value is used, it will be populated with the contents of the conversion buffer


Determine version of Converter

  • « wkhtmltox\Image\Converter::convert
  • PS »
  • PHP Manual
  • wkhtmltox\Image\Converter
  • Determine version of Converter

wkhtmltox\Image\Converter::getVersion

(wkhtmltox >= 0.3.2)

wkhtmltox\Image\Converter::getVersion — Determine version of Converter

Açıklama

public wkhtmltox\Image\Converter::getVersion(): string

Determines the version of Converter as reported by libwkhtmltox

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a version string

Uyarı

This is not yet implemented by libwkhtmltox


PostScript document creation

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • PS İşlevleri
    • ps_add_bookmark — Add bookmark to current page
    • ps_add_launchlink — Adds link which launches file
    • ps_add_locallink — Adds link to a page in the same document
    • ps_add_note — Adds note to current page
    • ps_add_pdflink — Adds link to a page in a second pdf document
    • ps_add_weblink — Adds link to a web location
    • ps_arc — Draws an arc counterclockwise
    • ps_arcn — Draws an arc clockwise
    • ps_begin_page — Start a new page
    • ps_begin_pattern — Start a new pattern
    • ps_begin_template — Start a new template
    • ps_circle — Draws a circle
    • ps_clip — Clips drawing to current path
    • ps_close_image — Closes image and frees memory
    • ps_close — Closes a PostScript document
    • ps_closepath_stroke — Closes and strokes path
    • ps_closepath — Closes path
    • ps_continue_text — Continue text in next line
    • ps_curveto — Draws a curve
    • ps_delete — Deletes all resources of a PostScript document
    • ps_end_page — End a page
    • ps_end_pattern — End a pattern
    • ps_end_template — End a template
    • ps_fill_stroke — Fills and strokes the current path
    • ps_fill — Fills the current path
    • ps_findfont — Loads a font
    • ps_get_buffer — Fetches the full buffer containig the generated PS data
    • ps_get_parameter — Gets certain parameters
    • ps_get_value — Gets certain values
    • ps_hyphenate — Hyphenates a word
    • ps_include_file — Reads an external file with raw PostScript code
    • ps_lineto — Draws a line
    • ps_makespotcolor — Create spot color
    • ps_moveto — Sets current point
    • ps_new — Creates a new PostScript document object
    • ps_open_file — Opens a file for output
    • ps_open_image_file — Opens image from file
    • ps_open_image — Reads an image for later placement
    • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
    • ps_place_image — Places image on the page
    • ps_rect — Draws a rectangle
    • ps_restore — Restore previously save context
    • ps_rotate — Sets rotation factor
    • ps_save — Save current context
    • ps_scale — Sets scaling factor
    • ps_set_border_color — Sets color of border for annotations
    • ps_set_border_dash — Sets length of dashes for border of annotations
    • ps_set_border_style — Sets border style of annotations
    • ps_set_info — Sets information fields of document
    • ps_set_parameter — Sets certain parameters
    • ps_set_text_pos — Sets position for text output
    • ps_set_value — Sets certain values
    • ps_setcolor — Sets current color
    • ps_setdash — Sets appearance of a dashed line
    • ps_setflat — Sets flatness
    • ps_setfont — Sets font to use for following output
    • ps_setgray — Sets gray value
    • ps_setlinecap — Sets appearance of line ends
    • ps_setlinejoin — Sets how contected lines are joined
    • ps_setlinewidth — Sets width of a line
    • ps_setmiterlimit — Sets the miter limit
    • ps_setoverprintmode — Sets overprint mode
    • ps_setpolydash — Sets appearance of a dashed line
    • ps_shading_pattern — Creates a pattern based on a shading
    • ps_shading — Creates a shading for later use
    • ps_shfill — Fills an area with a shading
    • ps_show_boxed — Output text in a box
    • ps_show_xy2 — Output text at position
    • ps_show_xy — Output text at given position
    • ps_show2 — Output a text at current position
    • ps_show — Output text
    • ps_string_geometry — Gets geometry of a string
    • ps_stringwidth — Gets width of a string
    • ps_stroke — Draws the current path
    • ps_symbol_name — Gets name of a glyph
    • ps_symbol_width — Gets width of a glyph
    • ps_symbol — Output a glyph
    • ps_translate — Sets translation


Giriş

This module allows to create PostScript documents. It has many similarities with the pdf extension. Actually the API is almost identical and one can in many cases just replace the prefix of each function from pdf_ to ps_. This also works for functions which has no meaning in the PostScript document (like adding hyperlinks) but will have an effect if the document is converted to PDF.

Documents created by this extension are sometimes even superior to documents created with the pdf extension, because pslib's text rendering functions can handle kerning, hyphenation and ligatures which results in much better output of boxed text.


Gereksinimler

You need at least pslib >= 0.1.12. The ps library (pslib) is available at » http://pslib.sourceforge.net/.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ps.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

This extension defines a PostScript document resource returned by ps_new().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

The following two tables lists all constants defined by the ps extension.

Contants for line caps
Name | Meaning
ps_LINECAP_BUTT |
ps_LINECAP_ROUND |
ps_LINECAP_SQUARED |
Contants for line joins
Name | Meaning
ps_LINEJOIN_MITER |
ps_LINEJOIN_ROUND |
ps_LINEJOIN_BEVEL |


PS İşlevleri

Contact Information

If you have comments, bugfixes, enhancements for either this extension or pslib then please drop me a mail » steinm@php.net. Any help is very welcome.

İçindekiler

  • ps_add_bookmark — Add bookmark to current page
  • ps_add_launchlink — Adds link which launches file
  • ps_add_locallink — Adds link to a page in the same document
  • ps_add_note — Adds note to current page
  • ps_add_pdflink — Adds link to a page in a second pdf document
  • ps_add_weblink — Adds link to a web location
  • ps_arc — Draws an arc counterclockwise
  • ps_arcn — Draws an arc clockwise
  • ps_begin_page — Start a new page
  • ps_begin_pattern — Start a new pattern
  • ps_begin_template — Start a new template
  • ps_circle — Draws a circle
  • ps_clip — Clips drawing to current path
  • ps_close_image — Closes image and frees memory
  • ps_close — Closes a PostScript document
  • ps_closepath_stroke — Closes and strokes path
  • ps_closepath — Closes path
  • ps_continue_text — Continue text in next line
  • ps_curveto — Draws a curve
  • ps_delete — Deletes all resources of a PostScript document
  • ps_end_page — End a page
  • ps_end_pattern — End a pattern
  • ps_end_template — End a template
  • ps_fill_stroke — Fills and strokes the current path
  • ps_fill — Fills the current path
  • ps_findfont — Loads a font
  • ps_get_buffer — Fetches the full buffer containig the generated PS data
  • ps_get_parameter — Gets certain parameters
  • ps_get_value — Gets certain values
  • ps_hyphenate — Hyphenates a word
  • ps_include_file — Reads an external file with raw PostScript code
  • ps_lineto — Draws a line
  • ps_makespotcolor — Create spot color
  • ps_moveto — Sets current point
  • ps_new — Creates a new PostScript document object
  • ps_open_file — Opens a file for output
  • ps_open_image_file — Opens image from file
  • ps_open_image — Reads an image for later placement
  • ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document
  • ps_place_image — Places image on the page
  • ps_rect — Draws a rectangle
  • ps_restore — Restore previously save context
  • ps_rotate — Sets rotation factor
  • ps_save — Save current context
  • ps_scale — Sets scaling factor
  • ps_set_border_color — Sets color of border for annotations
  • ps_set_border_dash — Sets length of dashes for border of annotations
  • ps_set_border_style — Sets border style of annotations
  • ps_set_info — Sets information fields of document
  • ps_set_parameter — Sets certain parameters
  • ps_set_text_pos — Sets position for text output
  • ps_set_value — Sets certain values
  • ps_setcolor — Sets current color
  • ps_setdash — Sets appearance of a dashed line
  • ps_setflat — Sets flatness
  • ps_setfont — Sets font to use for following output
  • ps_setgray — Sets gray value
  • ps_setlinecap — Sets appearance of line ends
  • ps_setlinejoin — Sets how contected lines are joined
  • ps_setlinewidth — Sets width of a line
  • ps_setmiterlimit — Sets the miter limit
  • ps_setoverprintmode — Sets overprint mode
  • ps_setpolydash — Sets appearance of a dashed line
  • ps_shading_pattern — Creates a pattern based on a shading
  • ps_shading — Creates a shading for later use
  • ps_shfill — Fills an area with a shading
  • ps_show_boxed — Output text in a box
  • ps_show_xy2 — Output text at position
  • ps_show_xy — Output text at given position
  • ps_show2 — Output a text at current position
  • ps_show — Output text
  • ps_string_geometry — Gets geometry of a string
  • ps_stringwidth — Gets width of a string
  • ps_stroke — Draws the current path
  • ps_symbol_name — Gets name of a glyph
  • ps_symbol_width — Gets width of a glyph
  • ps_symbol — Output a glyph
  • ps_translate — Sets translation


Add bookmark to current page

  • « PS İşlevleri
  • ps_add_launchlink »
  • PHP Manual
  • PS İşlevleri
  • Add bookmark to current page

ps_add_bookmark

(PECL ps >= 1.1.0)

ps_add_bookmark — Add bookmark to current page

Açıklama

ps_add_bookmark(
resource $psdoc,
string $text,
int $parent = 0,
int $open = 0
): int

Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in a hierarchical tree. Clicking on a bookmark will jump to the given page.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text used for displaying the bookmark.

parent

A bookmark previously created by this function which is used as the parent of the new bookmark.

open

If open is unequal to zero the bookmark will be shown open by the pdf viewer.

Dönen Değerler

The returned value is a reference for the bookmark. It is only used if the bookmark shall be used as a parent. The value is greater zero if the function succeeds. In case of an error zero will be returned.

Ayrıca Bakınız

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds link which launches file

  • « ps_add_bookmark
  • ps_add_locallink »
  • PHP Manual
  • PS İşlevleri
  • Adds link which launches file

ps_add_launchlink

(PECL ps >= 1.1.0)

ps_add_launchlink — Adds link which launches file

Açıklama

ps_add_launchlink(
resource $psdoc,
float $llx,
float $lly,
float $urx,
float $ury,
string $filename
): bool

Places a hyperlink at the given position pointing to a file program which is being started when clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The path of the program to be started, when the link is clicked on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds link to a page in the same document

  • « ps_add_launchlink
  • ps_add_note »
  • PHP Manual
  • PS İşlevleri
  • Adds link to a page in the same document

ps_add_locallink

(PECL ps >= 1.1.0)

ps_add_locallink — Adds link to a page in the same document

Açıklama

ps_add_locallink(
resource $psdoc,
float $llx,
float $lly,
float $urx,
float $ury,
int $page,
string $dest
): bool

Places a hyperlink at the given position pointing to a page in the same document. Clicking on the link will jump to the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

page

The number of the page displayed when clicking on the link.

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_weblink() - Adds link to a web location


Adds note to current page

  • « ps_add_locallink
  • ps_add_pdflink »
  • PHP Manual
  • PS İşlevleri
  • Adds note to current page

ps_add_note

(PECL ps >= 1.1.0)

ps_add_note — Adds note to current page

Açıklama

ps_add_note(
resource $psdoc,
float $llx,
float $lly,
float $urx,
float $ury,
string $contents,
string $title,
string $icon,
int $open
): bool

Adds a note at a certain position on the page. Notes are like little rectangular sheets with text on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If folded, the specified icon is used as a placeholder.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

contents

The text of the note.

title

The title of the note as displayed in the header of the note.

icon

The icon shown if the note is folded. This parameter can be set to comment, insert, note, paragraph, newparagraph, key, or help.

open

If open is unequal to zero the note will be shown unfolded after opening the document with a pdf viewer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_add_pdflink() - Adds link to a page in a second pdf document
  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location


Adds link to a page in a second pdf document

  • « ps_add_note
  • ps_add_weblink »
  • PHP Manual
  • PS İşlevleri
  • Adds link to a page in a second pdf document

ps_add_pdflink

(PECL ps >= 1.1.0)

ps_add_pdflink — Adds link to a page in a second pdf document

Açıklama

ps_add_pdflink(
resource $psdoc,
float $llx,
float $lly,
float $urx,
float $ury,
string $filename,
int $page,
string $dest
): bool

Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link will branch to the document at the given page. The first page in a document has number 1.

The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

filename

The name of the pdf document to be opened when clicking on this link.

page

The page number of the destination pdf document

dest

The parameter dest determines how the document is being viewed. It can be fitpage, fitwidth, fitheight, or fitbbox.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_weblink() - Adds link to a web location


Adds link to a web location

  • « ps_add_pdflink
  • ps_arc »
  • PHP Manual
  • PS İşlevleri
  • Adds link to a web location

ps_add_weblink

(PECL ps >= 1.1.0)

ps_add_weblink — Adds link to a web location

Açıklama

ps_add_weblink(
resource $psdoc,
float $llx,
float $lly,
float $urx,
float $ury,
string $url
): bool

Places a hyperlink at the given position pointing to a web page. The hyperlink's source position is a rectangle with its lower left corner at (llx, lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.

The note will not be visible if the document is printed or viewed but it will show up if the document is converted to pdf by either Acrobat Distiller™ or Ghostview.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

llx

The x-coordinate of the lower left corner.

lly

The y-coordinate of the lower left corner.

urx

The x-coordinate of the upper right corner.

ury

The y-coordinate of the upper right corner.

url

The url of the hyperlink to be opened when clicking on this link, e.g. http://www.php.net.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_add_launchlink() - Adds link which launches file
  • ps_add_locallink() - Adds link to a page in the same document
  • ps_add_pdflink() - Adds link to a page in a second pdf document


Draws an arc counterclockwise

  • « ps_add_weblink
  • ps_arcn »
  • PHP Manual
  • PS İşlevleri
  • Draws an arc counterclockwise

ps_arc

(PECL ps >= 1.1.0)

ps_arc — Draws an arc counterclockwise

Açıklama

ps_arc(
resource $psdoc,
float $x,
float $y,
float $radius,
float $alpha,
float $beta
): bool

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn counterclockwise (use ps_arcn() to draw clockwise). The subpath added to the current path starts on the arc at angle alpha and ends on the arc at angle beta.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The start angle given in degrees.

beta

The end angle given in degrees.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_arcn() - Draws an arc clockwise


Draws an arc clockwise

  • « ps_arc
  • ps_begin_page »
  • PHP Manual
  • PS İşlevleri
  • Draws an arc clockwise

ps_arcn

(PECL ps >= 1.1.0)

ps_arcn — Draws an arc clockwise

Açıklama

ps_arcn(
resource $psdoc,
float $x,
float $y,
float $radius,
float $alpha,
float $beta
): bool

Draws a portion of a circle with at middle point at (x, y). The arc starts at an angle of alpha and ends at an angle of beta. It is drawn clockwise (use ps_arc() to draw counterclockwise). The subpath added to the current path starts on the arc at angle beta and ends on the arc at angle alpha.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

alpha

The starting angle given in degrees.

beta

The end angle given in degrees.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_arc() - Draws an arc counterclockwise


Start a new page

  • « ps_arcn
  • ps_begin_pattern »
  • PHP Manual
  • PS İşlevleri
  • Start a new page

ps_begin_page

(PECL ps >= 1.1.0)

ps_begin_page — Start a new page

Açıklama

ps_begin_page(resource $psdoc, float $width, float $height): bool

Starts a new page. Although the parameters width and height imply a different page size for each page, this is not possible in PostScript. The first call of ps_begin_page() will set the page size for the whole document. Consecutive calls will have no effect, except for creating a new page. The situation is different if you intent to convert the PostScript document into PDF. This function places pdfmarks into the document which can set the size for each page indiviually. The resulting PDF document will have different page sizes.

Though PostScript does not know different page sizes, pslib places a bounding box for each page into the document. This size is evaluated by some PostScript viewers and will have precedence over the BoundingBox in the Header of the document. This can lead to unexpected results when you set a BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will always have a lower left corner (0, 0) and overwrites the global setting.

Each page is encapsulated into save/restore. This means, that most of the settings made on one page will not be retained on the next page.

If there is up to the first call of ps_begin_page() no call of ps_findfont(), then the header of the PostScript document will be output and the bounding box will be set to the size of the first page. The lower left corner of the bounding box is set to (0, 0). If ps_findfont() was called before, then the header has been output already, and the document will not have a valid bounding box. In order to prevent this, one should call ps_set_info() to set the info field BoundingBox and possibly Orientation before any ps_findfont() or ps_begin_page() calls.

Bilginize:

Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation, if it has been set before with ps_set_info() and ps_findfont() has not been called before.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the page in pixel, e.g. 596 for A4 format.

height

The height of the page in pixel, e.g. 842 for A4 format.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_end_page() - End a page
  • ps_findfont() - Loads a font
  • ps_set_info() - Sets information fields of document


Start a new pattern

  • « ps_begin_page
  • ps_begin_template »
  • PHP Manual
  • PS İşlevleri
  • Start a new pattern

ps_begin_pattern

(PECL ps >= 1.2.0)

ps_begin_pattern — Start a new pattern

Açıklama

ps_begin_pattern(
resource $psdoc,
float $width,
float $height,
float $xstep,
float $ystep,
int $painttype
): int|false

Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for filling areas. It is used like a color by calling ps_setcolor() and setting the color space to pattern.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the pattern in pixel.

height

The height of the pattern in pixel.

x-step

The distance in pixel of placements of the pattern in horizontal direction.

y-step

The distance in pixel of placements of the pattern in vertical direction.

painttype

Must be 1 or 2.

Dönen Değerler

The identifier of the pattern başarısızlık durumunda false döner.

Örnekler

Örnek 1 Creating and using a pattern

<?php
$ps = ps_new();

if (!ps_open_file($ps, "pattern.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "pattern.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Pattern example");

$pspattern = ps_begin_pattern($ps, 10.0, 10.0, 10.0, 10.0, 1);
ps_setlinewidth($ps, 0.2);
ps_setcolor($ps, "stroke", "rgb", 0.0, 0.0, 1.0, 0.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 7, 7);
ps_stroke($ps);
ps_moveto($ps, 0, 7);
ps_lineto($ps, 7, 0);
ps_stroke($ps);
ps_end_pattern($ps);

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "both", "pattern", $pspattern, 0.0, 0.0, 0.0);
ps_rect($ps, 50, 400, 200, 200);
ps_fill($ps);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ayrıca Bakınız

  • ps_end_pattern() - End a pattern
  • ps_setcolor() - Sets current color
  • ps_shading_pattern() - Creates a pattern based on a shading


Start a new template

  • « ps_begin_pattern
  • ps_circle »
  • PHP Manual
  • PS İşlevleri
  • Start a new template

ps_begin_template

(PECL ps >= 1.2.0)

ps_begin_template — Start a new template

Açıklama

ps_begin_template(resource $psdoc, float $width, float $height): int

Starts a new template. A template is called a form in the postscript language. It is created similar to a pattern but used like an image. Templates are often used for drawings which are placed several times through out the document, e.g. like a company logo. All drawing functions may be used within a template. The template will not be drawn until it is placed by ps_place_image().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of the template in pixel.

height

The height of the template in pixel.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Creating and using a template

<?php
$ps = ps_new();

if (!ps_open_file($ps, "template.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_parameter($ps, "warning", "true");
ps_set_info($ps, "Creator", "template.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Template example");

$pstemplate = ps_begin_template($ps, 30.0, 30.0);
ps_moveto($ps, 0, 0);
ps_lineto($ps, 30, 30);
ps_moveto($ps, 0, 30);
ps_lineto($ps, 30, 0);
ps_stroke($ps);
ps_end_template($ps);

ps_begin_page($ps, 596, 842);
ps_place_image($ps, $pstemplate, 20.0, 20.0, 1.0);
ps_place_image($ps, $pstemplate, 50.0, 30.0, 0.5);
ps_place_image($ps, $pstemplate, 70.0, 70.0, 0.6);
ps_place_image($ps, $pstemplate, 30.0, 50.0, 1.3);
ps_end_page($ps);

ps_close($ps);
ps_delete($ps);
?>

Ayrıca Bakınız

  • ps_end_template() - End a template


Draws a circle

  • « ps_begin_template
  • ps_clip »
  • PHP Manual
  • PS İşlevleri
  • Draws a circle

ps_circle

(PECL ps >= 1.1.0)

ps_circle — Draws a circle

Açıklama

ps_circle(
resource $psdoc,
float $x,
float $y,
float $radius
): bool

Draws a circle with its middle point at (x, y). The circle starts and ends at position (x+radius, y). If this function is called outside a path it will start a new path. If it is called within a path it will add the circle as a subpath. If the last drawing operation does not end in point (x+radius, y) then there will be a gap in the path.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

The x-coordinate of the circle's middle point.

y

The y-coordinate of the circle's middle point.

radius

The radius of the circle

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_arc() - Draws an arc counterclockwise
  • ps_arcn() - Draws an arc clockwise


Clips drawing to current path

  • « ps_circle
  • ps_close_image »
  • PHP Manual
  • PS İşlevleri
  • Clips drawing to current path

ps_clip

(PECL ps >= 1.1.0)

ps_clip — Clips drawing to current path

Açıklama

ps_clip(resource $psdoc): bool

Takes the current path and uses it to define the border of a clipping area. Everything drawn outside of that area will not be visible.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_closepath() - Closes path


Closes image and frees memory

  • « ps_clip
  • ps_close »
  • PHP Manual
  • PS İşlevleri
  • Closes image and frees memory

ps_close_image

(PECL ps >= 1.1.0)

ps_close_image — Closes image and frees memory

Açıklama

ps_close_image(resource $psdoc, int $imageid): void|false

Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

Resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

Dönen Değerler

Returns null on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file


Closes a PostScript document

  • « ps_close_image
  • ps_closepath_stroke »
  • PHP Manual
  • PS İşlevleri
  • Closes a PostScript document

ps_close

(PECL ps >= 1.1.0)

ps_close — Closes a PostScript document

Açıklama

ps_close(resource $psdoc): bool

Closes the PostScript document.

This function writes the trailer of the PostScript document. It also writes the bookmark tree. ps_close() does not free any resources, which is done by ps_delete().

This function is also called by ps_delete() if it has not been called before.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_open_file() - Opens a file for output
  • ps_delete() - Deletes all resources of a PostScript document


Closes and strokes path

  • « ps_close
  • ps_closepath »
  • PHP Manual
  • PS İşlevleri
  • Closes and strokes path

ps_closepath_stroke

(PECL ps >= 1.1.0)

ps_closepath_stroke — Closes and strokes path

Açıklama

ps_closepath_stroke(resource $psdoc): bool

Connects the last point with first point of a path and draws the resulting closed line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_closepath() - Closes path


Closes path

  • « ps_closepath_stroke
  • ps_continue_text »
  • PHP Manual
  • PS İşlevleri
  • Closes path

ps_closepath

(PECL ps >= 1.1.0)

ps_closepath — Closes path

Açıklama

ps_closepath(resource $psdoc): bool

Connects the last point with the first point of a path. The resulting path can be used for stroking, filling, clipping, etc..

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_clip() - Clips drawing to current path
  • ps_closepath_stroke() - Closes and strokes path


Continue text in next line

  • « ps_closepath
  • ps_curveto »
  • PHP Manual
  • PS İşlevleri
  • Continue text in next line

ps_continue_text

(PECL ps >= 1.1.0)

ps_continue_text — Continue text in next line

Açıklama

ps_continue_text(resource $psdoc, string $text): bool

Output a text one line below the last line. The line spacing is taken from the value "leading" which must be set with ps_set_value(). The actual position of the text is determined by the values "textx" and "texty" which can be requested with ps_get_value()

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to output.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_show() - Output text
  • ps_show_xy() - Output text at given position
  • ps_show_boxed() - Output text in a box


Draws a curve

  • « ps_continue_text
  • ps_delete »
  • PHP Manual
  • PS İşlevleri
  • Draws a curve

ps_curveto

(PECL ps >= 1.1.0)

ps_curveto — Draws a curve

Açıklama

ps_curveto(
resource $psdoc,
float $x1,
float $y1,
float $x2,
float $y2,
float $x3,
float $y3
): bool

Add a section of a cubic Bézier curve described by the three given control points to the current path.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x1

x-coordinate of first control point.

y1

y-coordinate of first control point.

x2

x-coordinate of second control point.

y2

y-coordinate of second control point.

x3

x-coordinate of third control point.

y3

y-coordinate of third control point.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_lineto() - Draws a line


Deletes all resources of a PostScript document

  • « ps_curveto
  • ps_end_page »
  • PHP Manual
  • PS İşlevleri
  • Deletes all resources of a PostScript document

ps_delete

(PECL ps >= 1.1.0)

ps_delete — Deletes all resources of a PostScript document

Açıklama

ps_delete(resource $psdoc): bool

Mainly frees memory used by the document. Also closes a file, if it was not closed before with ps_close(). You should in any case close the file with ps_close() before, because ps_close() not just closes the file but also outputs a trailor containing PostScript comments like the number of pages in the document and adding the bookmark hierarchy.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_close() - Closes a PostScript document


End a page

  • « ps_delete
  • ps_end_pattern »
  • PHP Manual
  • PS İşlevleri
  • End a page

ps_end_page

(PECL ps >= 1.1.0)

ps_end_page — End a page

Açıklama

ps_end_page(resource $psdoc): bool

Ends a page which was started with ps_begin_page(). Ending a page will leave the current drawing context, which e.g. requires to reload fonts if they were loading within the page, and to set many other drawing parameters like the line width, or color.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_begin_page() - Start a new page


End a pattern

  • « ps_end_page
  • ps_end_template »
  • PHP Manual
  • PS İşlevleri
  • End a pattern

ps_end_pattern

(PECL ps >= 1.2.0)

ps_end_pattern — End a pattern

Açıklama

ps_end_pattern(resource $psdoc): bool

Ends a pattern which was started with ps_begin_pattern(). Once a pattern has been ended, it can be used like a color to fill areas.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_begin_pattern() - Start a new pattern


End a template

  • « ps_end_pattern
  • ps_fill_stroke »
  • PHP Manual
  • PS İşlevleri
  • End a template

ps_end_template

(PECL ps >= 1.2.0)

ps_end_template — End a template

Açıklama

ps_end_template(resource $psdoc): bool

Ends a template which was started with ps_begin_template(). Once a template has been ended, it can be used like an image.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_begin_template() - Start a new template


Fills and strokes the current path

  • « ps_end_template
  • ps_fill »
  • PHP Manual
  • PS İşlevleri
  • Fills and strokes the current path

ps_fill_stroke

(PECL ps >= 1.1.0)

ps_fill_stroke — Fills and strokes the current path

Açıklama

ps_fill_stroke(resource $psdoc): bool

Fills and draws the path constructed with previously called drawing functions like ps_lineto().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_fill() - Fills the current path
  • ps_stroke() - Draws the current path


Fills the current path

  • « ps_fill_stroke
  • ps_findfont »
  • PHP Manual
  • PS İşlevleri
  • Fills the current path

ps_fill

(PECL ps >= 1.1.0)

ps_fill — Fills the current path

Açıklama

ps_fill(resource $psdoc): bool

Fills the path constructed with previously called drawing functions like ps_lineto().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_fill_stroke() - Fills and strokes the current path
  • ps_stroke() - Draws the current path


Loads a font

  • « ps_fill
  • ps_get_buffer »
  • PHP Manual
  • PS İşlevleri
  • Loads a font

ps_findfont

(PECL ps >= 1.1.0)

ps_findfont — Loads a font

Açıklama

ps_findfont(
resource $psdoc,
string $fontname,
string $encoding,
bool $embed = false
): int

Loads a font for later use. Before text is output with a loaded font it must be set with ps_setfont(). This function needs the adobe font metric file in order to calculate the space used up by the characters. A font which is loaded within a page will only be available on that page. Fonts which are to be used in the complete document have to be loaded before the first call of ps_begin_page(). Calling ps_findfont() between pages will make that font available for all following pages.

The name of the afm file must be fontname.afm. If the font shall be embedded the file fontname.pfb containing the font outline must be present as well.

Calling ps_findfont() before the first page requires to output the postscript header which includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first call of ps_begin_page() which now comes after ps_findfont(). Consequently the BoundingBox has not been set and a warning will be issued when ps_findfont() is called. In order to prevent this situation, one should call ps_set_parameter() to set the BoundingBox before ps_findfont() is called.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontname

The name of the font.

encoding

ps_findfont() will try to load the file passed in the parameter encoding. Encoding files are of the same syntax as those used by dvips(1). They contain a font encoding vector (which is currently not used but must be present) and a list of extra ligatures to extend the list of ligatures derived from the afm file.

encoding can be null or the empty string if the default encoding (TeXBase1) shall be used.

If the encoding is set to builtin then there will be no reencoding and the font specific encoding will be used. This is very useful with symbol fonts.

embed

If set to a value >0 the font will be embedded into the document. This requires the font outline (.pfb file) to be present.

Dönen Değerler

Returns the identifier of the font or zero in case of an error. The identifier is a positive number.

Ayrıca Bakınız

  • ps_begin_page() - Start a new page
  • ps_setfont() - Sets font to use for following output


Fetches the full buffer containig the generated PS data

  • « ps_findfont
  • ps_get_parameter »
  • PHP Manual
  • PS İşlevleri
  • Fetches the full buffer containig the generated PS data

ps_get_buffer

(PECL ps >= 1.1.0)

ps_get_buffer — Fetches the full buffer containig the generated PS data

Açıklama

ps_get_buffer(resource $psdoc): string

This function is not implemented yet. It will always return an empty string. The idea for a later implementation is to write the contents of the postscript file into an internal buffer if in memory creation is requested, and retrieve the buffer content with this function. Currently, documents created in memory are send to the browser without buffering.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Ayrıca Bakınız

  • ps_open_file() - Opens a file for output


Gets certain parameters

  • « ps_get_buffer
  • ps_get_value »
  • PHP Manual
  • PS İşlevleri
  • Gets certain parameters

ps_get_parameter

(PECL ps >= 1.1.0)

ps_get_parameter — Gets certain parameters

Açıklama

ps_get_parameter(resource $psdoc, string $name, float $modifier = ?): string|false

Gets several parameters which were directly set by ps_set_parameter() or indirectly by one of the other functions. Parameters are by definition string values. This function cannot be used to retrieve resources which were also set by ps_set_parameter().

The parameter name can have the following values.

fontname

The name of the currently active font or the font whose identifier is passed in parameter modifier.

fontencoding

The encoding of the currently active font.

dottedversion

The version of the underlying pslib library in the format <major>.<minor>.<subminor>

scope

The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph.

ligaturedisolvechar

The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'.

imageencoding

The encoding used for encoding images. Can be either hex or 85. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding.

linenumbermode

Set to paragraph if lines are numbered within a paragraph or box if they are numbered within the surrounding box.

linebreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will add a line break.

parbreak

Only used if text is output with ps_show_boxed(). If set to true a carriage return will start a new paragraph.

hyphenation

Only used if text is output with ps_show_boxed(). If set to true the paragraph will be hyphenated if a hypen dictionary is set and exists.

hyphendict

Filename of the dictionary used for hyphenation pattern.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the parameter.

modifier

An identifier needed if a parameter of a resource is requested, e.g. the size of an image. In such a case the resource id is passed.

Dönen Değerler

Returns the value of the parameter başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_set_parameter() - Sets certain parameters


Gets certain values

  • « ps_get_parameter
  • ps_hyphenate »
  • PHP Manual
  • PS İşlevleri
  • Gets certain values

ps_get_value

(PECL ps >= 1.1.0)

ps_get_value — Gets certain values

Açıklama

ps_get_value(resource $psdoc, string $name, float $modifier = ?): float

Gets several values which were set by ps_set_value(). Values are by definition float values.

The parameter name can have the following values.

fontsize

The size of the currently active font or the font whose identifier is passed in parameter modifier.

font

The currently active font itself.

imagewidth

The width of the image whose id is passed in the parameter modifier.

imageheight

The height of the image whose id is passed in the parameter modifier.

capheight

The height of a capital M in the currently active font or the font whose identifier is passed in parameter modifier.

ascender

The ascender of the currently active font or the font whose identifier is passed in parameter modifier.

descender

The descender of the currently active font or the font whose identifier is passed in parameter modifier.

italicangle

The italicangle of the currently active font or the font whose identifier is passed in parameter modifier.

underlineposition

The underlineposition of the currently active font or the font whose identifier is passed in parameter modifier.

underlinethickness

The underlinethickness of the currently active font or the font whose identifier is passed in parameter modifier.

textx

The current x-position for text output.

texty

The current y-position for text output.

textrendering

The current mode for text rendering.

textrise

The space by which text is risen above the base line.

leading

The distance between text lines in points.

wordspacing

The space between words as a multiple of the width of a space char.

charspacing

The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.

hyphenminchars

Minimum number of chars hyphenated at the end of a word.

parindent

Indention of the first n line in a paragraph.

numindentlines

Number of line in a paragraph to indent if parindent != 0.0.

parskip

Distance between paragraphs.

linenumberspace

Overall space in front of each line for the line number.

linenumbersep

Space between the line and the line number.

major

The major version number of pslib.

minor

The minor version number of pslib.

subminor, revision

The subminor version number of pslib.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the value.

modifier

The parameter modifier specifies the resource for which the value is to be retrieved. This can be the id of a font or an image.

Dönen Değerler

Returns the value of the parameter or false.

Ayrıca Bakınız

  • ps_set_value() - Sets certain values


Hyphenates a word

  • « ps_get_value
  • ps_include_file »
  • PHP Manual
  • PS İşlevleri
  • Hyphenates a word

ps_hyphenate

(PECL ps >= 1.1.1)

ps_hyphenate — Hyphenates a word

Açıklama

ps_hyphenate(resource $psdoc, string $text): array|false

Hyphenates the passed word. ps_hyphenate() evaluates the value hyphenminchars (set by ps_set_value()) and the parameter hyphendict (set by ps_set_parameter()). hyphendict must be set before calling this function.

This function requires the locale category LC_CTYPE to be set properly. This is done when the extension is initialized by using the environment variables. On Unix systems read the man page of locale for more information.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

text should not contain any non alpha characters. Possible positions for breaks are returned in an array of interger numbers. Each number is the position of the char in text after which a hyphenation can take place.

Dönen Değerler

An array of integers indicating the position of possible breaks in the text başarısızlık durumunda false döner.

Örnekler

Örnek 1 Hyphennate a text

<?php
$word = "Koordinatensystem";
$psdoc = ps_new();
ps_set_parameter($psdoc, "hyphendict", "hyph_de.dic");
$hyphens = ps_hyphenate($psdoc, $word);
for($i=0; $i<strlen($word); $i++) {
echo $word[$i];
if(in_array($i, $hyphens))
echo "-";
}
ps_delete($psdoc);
?>

Yukarıdaki örneğin çıktısı:

Ko-ordi-na-ten-sys-tem

Ayrıca Bakınız

  • ps_show_boxed() - Output text in a box
  • locale(1)


Reads an external file with raw PostScript code

  • « ps_hyphenate
  • ps_lineto »
  • PHP Manual
  • PS İşlevleri
  • Reads an external file with raw PostScript code

ps_include_file

(PECL ps >= 1.3.4)

ps_include_file — Reads an external file with raw PostScript code

Açıklama

ps_include_file(resource $psdoc, string $file): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

file

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Draws a line

  • « ps_include_file
  • ps_makespotcolor »
  • PHP Manual
  • PS İşlevleri
  • Draws a line

ps_lineto

(PECL ps >= 1.1.0)

ps_lineto — Draws a line

Açıklama

ps_lineto(resource $psdoc, float $x, float $y): bool

Adds a straight line from the current point to the given coordinates to the current path. Use ps_moveto() to set the starting point of the line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the end point of the line.

y

y-coordinate of the end point of the line.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Drawing a rectangle

<?php
$ps = ps_new();
if (!ps_open_file($ps, "rectangle.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Lineto example");

ps_begin_page($ps, 596, 842);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

Ayrıca Bakınız

  • ps_moveto() - Sets current point


Create spot color

  • « ps_lineto
  • ps_moveto »
  • PHP Manual
  • PS İşlevleri
  • Create spot color

ps_makespotcolor

(PECL ps >= 1.1.0)

ps_makespotcolor — Create spot color

Açıklama

ps_makespotcolor(resource $psdoc, string $name, int $reserved = 0): int

Creates a spot color from the current fill color. The fill color must be defined in rgb, cmyk or gray colorspace. The spot color name can be an arbitrary name. A spot color can be set as any color with ps_setcolor(). When the document is not printed but displayed by an postscript viewer the given color in the specified color space is use.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

Name of the spot color, e.g. Pantone 5565.

Dönen Değerler

The id of the new spot color or 0 in case of an error.

Örnekler

Örnek 1 Creating and using a spot color

<?php
$ps = ps_new();
if (!ps_open_file($ps, "spotcolor.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "spotcolor.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Spot color example");

ps_begin_page($ps, 596, 842);
ps_setcolor($ps, "fill", "cmyk", 0.37, 0.0, 0.34, 0.34);
$spotcolor = ps_makespotcolor($ps, "PANTONE 5565 C", 0);
ps_setcolor($ps, "fill", "spot", $spotcolor, 0.5, 0.0, 0.0);
ps_moveto($ps, 100, 100);
ps_lineto($ps, 100, 200);
ps_lineto($ps, 200, 200);
ps_lineto($ps, 200, 100);
ps_lineto($ps, 100, 100);
ps_fill($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example creates the spot color "PANTONE 5565 C" which is a darker green (olive) and fills a rectangle with 50% intensity.

Ayrıca Bakınız

  • ps_setcolor() - Sets current color


Sets current point

  • « ps_makespotcolor
  • ps_new »
  • PHP Manual
  • PS İşlevleri
  • Sets current point

ps_moveto

(PECL ps >= 1.1.0)

ps_moveto — Sets current point

Açıklama

ps_moveto(resource $psdoc, float $x, float $y): bool

Sets the current point to new coordinates. If this is the first call of ps_moveto() after a previous path has been ended then it will start a new path. If this function is called in the middle of a path it will just set the current point and start a subpath.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the point to move to.

y

y-coordinate of the point to move to.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_lineto() - Draws a line


Creates a new PostScript document object

  • « ps_moveto
  • ps_open_file »
  • PHP Manual
  • PS İşlevleri
  • Creates a new PostScript document object

ps_new

(PECL ps >= 1.1.0)

ps_new — Creates a new PostScript document object

Açıklama

ps_new(): resource|false

Creates a new document instance. It does not create the file on disk or in memory, it just sets up everything. ps_new() is usually followed by a call of ps_open_file() to actually create the postscript document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Resource of PostScript document başarısızlık durumunda false döner. The return value is passed to all other functions as the first argument.

Ayrıca Bakınız

  • ps_delete() - Deletes all resources of a PostScript document


Opens a file for output

  • « ps_new
  • ps_open_image_file »
  • PHP Manual
  • PS İşlevleri
  • Opens a file for output

ps_open_file

(PECL ps >= 1.1.0)

ps_open_file — Opens a file for output

Açıklama

ps_open_file(resource $psdoc, string $filename = ?): bool

Creates a new file on disk and writes the PostScript document into it. The file will be closed when ps_close() is called.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

filename

The name of the postscript file. If filename is not passed the document will be created in memory and all output will go straight to the browser.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_close() - Closes a PostScript document


Opens image from file

  • « ps_open_file
  • ps_open_image »
  • PHP Manual
  • PS İşlevleri
  • Opens image from file

ps_open_image_file

(PECL ps >= 1.1.0)

ps_open_image_file — Opens image from file

Açıklama

ps_open_image_file(
resource $psdoc,
string $type,
string $filename,
string $stringparam = ?,
int $intparam = 0
): int

Loads an image for later use.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

filename

The name of the file containing the image data.

stringparam

Not used.

intparam

Not used.

Dönen Değerler

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Ayrıca Bakınız

  • ps_open_image() - Reads an image for later placement
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory


Reads an image for later placement

  • « ps_open_image_file
  • ps_open_memory_image »
  • PHP Manual
  • PS İşlevleri
  • Reads an image for later placement

ps_open_image

(PECL ps >= 1.1.0)

ps_open_image — Reads an image for later placement

Açıklama

ps_open_image(
resource $psdoc,
string $type,
string $source,
string $data,
int $lenght,
int $width,
int $height,
int $components,
int $bpc,
string $params
): int

Reads an image which is already available in memory. The parameter source is currently not evaluated and assumed to be memory. The image data is a sequence of pixels starting in th upper left corner and ending in the lower right corner. Each pixel consists of components color components, and each component has bpc bits.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of the image. Possible values are png, jpeg, or eps.

source

Not used.

data

The image data.

length

The length of the image data.

width

The width of the image.

height

The height of the image.

components

The number of components for each pixel. This can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba images).

bpc

Number of bits per component (quite often 8).

params

Dönen Değerler

Returns identifier of image or zero in case of an error. The identifier is a positive number greater than 0.

Ayrıca Bakınız

  • ps_open_image_file() - Opens image from file
  • ps_place_image() - Places image on the page
  • ps_close_image() - Closes image and frees memory


Takes an GD image and returns an image for placement in a PS document

  • « ps_open_image
  • ps_place_image »
  • PHP Manual
  • PS İşlevleri
  • Takes an GD image and returns an image for placement in a PS document

ps_open_memory_image

(PECL ps >= 1.1.0)

ps_open_memory_image — Takes an GD image and returns an image for placement in a PS document

Açıklama

ps_open_memory_image(resource $psdoc, int $gd): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

gd


Places image on the page

  • « ps_open_memory_image
  • ps_rect »
  • PHP Manual
  • PS İşlevleri
  • Places image on the page

ps_place_image

(PECL ps >= 1.1.0)

ps_place_image — Places image on the page

Açıklama

ps_place_image(
resource $psdoc,
int $imageid,
float $x,
float $y,
float $scale
): bool

Places a formerly loaded image on the page. The image can be scaled. If the image shall be rotated as well, you will have to rotate the coordinate system before with ps_rotate().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

imageid

The resource identifier of the image as returned by ps_open_image() or ps_open_image_file().

x

x-coordinate of the lower left corner of the image.

y

y-coordinate of the lower left corner of the image.

scale

The scaling factor for the image. A scale of 1.0 will result in a resolution of 72 dpi, because each pixel is equivalent to 1 point.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_open_image() - Reads an image for later placement
  • ps_open_image_file() - Opens image from file


Draws a rectangle

  • « ps_place_image
  • ps_restore »
  • PHP Manual
  • PS İşlevleri
  • Draws a rectangle

ps_rect

(PECL ps >= 1.1.0)

ps_rect — Draws a rectangle

Açıklama

ps_rect(
resource $psdoc,
float $x,
float $y,
float $width,
float $height
): bool

Draws a rectangle with its lower left corner at (x, y). The rectangle starts and ends in its lower left corner. If this function is called outside a path it will start a new path. If it is called within a path it will add the rectangle as a subpath. If the last drawing operation does not end in the lower left corner then there will be a gap in the path.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the lower left corner of the rectangle.

y

y-coordinate of the lower left corner of the rectangle.

width

The width of the image.

height

The height of the image.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_arc() - Draws an arc counterclockwise
  • ps_cirle()
  • ps_lineto() - Draws a line


Restore previously save context

  • « ps_rect
  • ps_rotate »
  • PHP Manual
  • PS İşlevleri
  • Restore previously save context

ps_restore

(PECL ps >= 1.1.0)

ps_restore — Restore previously save context

Açıklama

ps_restore(resource $psdoc): bool

Restores a previously saved graphics context. Any call of ps_save() must be accompanied by a call to ps_restore(). All coordinate transformations, line style settings, color settings, etc. are being restored to the state before the call of ps_save().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_save() - Save current context


Sets rotation factor

  • « ps_restore
  • ps_save »
  • PHP Manual
  • PS İşlevleri
  • Sets rotation factor

ps_rotate

(PECL ps >= 1.1.0)

ps_rotate — Sets rotation factor

Açıklama

ps_rotate(resource $psdoc, float $rot): bool

Sets the rotation of the coordinate system.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

rot

Angle of rotation in degree.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Rotation of the coordinate system

<?php
function rectangle($ps) {
ps_moveto($ps, 0, 0);
ps_lineto($ps, 0, 50);
ps_lineto($ps, 50, 50);
ps_lineto($ps, 50, 0);
ps_lineto($ps, 0, 0);
ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "rotation.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "rotation.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Rotation example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 100, 100);
ps_rotate($ps, 45);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text without rotation");
ps_end_page($ps);

ps_delete($ps);
?>

The above example illustrates a very common way of rotating a graphic (in this case just a rectangle) by simply rotating the coordinate system. Since the graphic's coordinate system assumes (0,0) to be the origin, the page coordinate system is also translated to place the graphics not on the edge of the page. Pay attention to the order of ps_translate() and ps_rotate(). In the above case the rectancle is rotated around the point (100, 100) in the untranslated coordinate system. Switching the two statements has a completely different result.

In order to output the following text at the original position, all modifications of the coordinate system are encapsulated in ps_save() and ps_restore().

Ayrıca Bakınız

  • ps_scale() - Sets scaling factor
  • ps_translate() - Sets translation


Save current context

  • « ps_rotate
  • ps_scale »
  • PHP Manual
  • PS İşlevleri
  • Save current context

ps_save

(PECL ps >= 1.1.0)

ps_save — Save current context

Açıklama

ps_save(resource $psdoc): bool

Saves the current graphics context, containing colors, translation and rotation settings and some more. A saved context can be restored with ps_restore().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_restore() - Restore previously save context


Sets scaling factor

  • « ps_save
  • ps_set_border_color »
  • PHP Manual
  • PS İşlevleri
  • Sets scaling factor

ps_scale

(PECL ps >= 1.1.0)

ps_scale — Sets scaling factor

Açıklama

ps_scale(resource $psdoc, float $x, float $y): bool

Sets horizontal and vertical scaling of the coordinate system.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

Scaling factor in horizontal direction.

y

Scaling factor in vertical direction.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_rotate() - Sets rotation factor
  • ps_translate() - Sets translation


Sets color of border for annotations

  • « ps_scale
  • ps_set_border_dash »
  • PHP Manual
  • PS İşlevleri
  • Sets color of border for annotations

ps_set_border_color

(PECL ps >= 1.1.0)

ps_set_border_color — Sets color of border for annotations

Açıklama

ps_set_border_color(
resource $psdoc,
float $red,
float $green,
float $blue
): bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the color of the rectangle's border line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

red

The red component of the border color.

green

The green component of the border color.

blue

The blue component of the border color.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_set_border_dash() - Sets length of dashes for border of annotations
  • ps_set_border_style() - Sets border style of annotations


Sets length of dashes for border of annotations

  • « ps_set_border_color
  • ps_set_border_style »
  • PHP Manual
  • PS İşlevleri
  • Sets length of dashes for border of annotations

ps_set_border_dash

(PECL ps >= 1.1.0)

ps_set_border_dash — Sets length of dashes for border of annotations

Açıklama

ps_set_border_dash(resource $psdoc, float $black, float $white): bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the length of the black and white portion of a dashed border line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

black

The length of the dash.

white

The length of the gap between dashes.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_style() - Sets border style of annotations


Sets border style of annotations

  • « ps_set_border_dash
  • ps_set_info »
  • PHP Manual
  • PS İşlevleri
  • Sets border style of annotations

ps_set_border_style

(PECL ps >= 1.1.0)

ps_set_border_style — Sets border style of annotations

Açıklama

ps_set_border_style(resource $psdoc, string $style, float $width): bool

Links added with one of the functions ps_add_weblink(), ps_add_pdflink(), etc. will be displayed with a surounded rectangle when the postscript document is converted to pdf and viewed in a pdf viewer. This rectangle is not visible in the postscript document. This function sets the appearance and width of the border line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

style

style can be solid or dashed.

width

The line width of the border.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_set_border_color() - Sets color of border for annotations
  • ps_set_border_dash() - Sets length of dashes for border of annotations


Sets information fields of document

  • « ps_set_border_style
  • ps_set_parameter »
  • PHP Manual
  • PS İşlevleri
  • Sets information fields of document

ps_set_info

(PECL ps >= 1.1.0)

ps_set_info — Sets information fields of document

Açıklama

ps_set_info(resource $p, string $key, string $val): bool

Sets certain information fields of the document. This fields will be shown as a comment in the header of the PostScript file. If the document is converted to pdf this fields will also be used for the document information.

The BoundingBox is usually set to the value given to the first page. This only works if ps_findfont() has not been called before. In such cases the BoundingBox would be left unset unless you set it explicitly with this function.

This function will have no effect anymore when the header of the postscript file has been already written. It must be called before the first page or the first call of ps_findfont().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

key

The name of the information field to set. The values which can be set are Keywords, Subject, Title, Creator, Author, BoundingBox, and Orientation. Be aware that some of them has a meaning to PostScript viewers.

value

The value of the information field. The field Orientation can be set to either Portrait or Landscape. The BoundingBox is a string consisting of four numbers. The first two numbers are the coordinates of the lower left corner of the page. The last two numbers are the coordinates of the upper right corner.

Bilginize:

Up to version 0.2.6 of pslib, the BoundingBox and Orientation will be overwritten by ps_begin_page(), unless ps_findfont() has been called before.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_findfont() - Loads a font
  • ps_begin_page() - Start a new page


Sets certain parameters

  • « ps_set_info
  • ps_set_text_pos »
  • PHP Manual
  • PS İşlevleri
  • Sets certain parameters

ps_set_parameter

(PECL ps >= 1.1.0)

ps_set_parameter — Sets certain parameters

Açıklama

ps_set_parameter(resource $psdoc, string $name, string $value): bool

Sets several parameters which are used by many functions. Parameters are by definition string values.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

For a list of possible names see ps_get_parameter().

value

The value of the parameter.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_get_parameters()
  • ps_set_value() - Sets certain values


Sets position for text output

  • « ps_set_parameter
  • ps_set_value »
  • PHP Manual
  • PS İşlevleri
  • Sets position for text output

ps_set_text_pos

(PECL ps >= 1.1.0)

ps_set_text_pos — Sets position for text output

Açıklama

ps_set_text_pos(resource $psdoc, float $x, float $y): bool

Set the position for the next text output. You may alternatively set the x and y value separately by calling ps_set_value() and choosing textx respectively texty as the value name.

If you want to output text at a certain position it is more convenient to use ps_show_xy() instead of setting the text position and calling ps_show().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the new text position.

y

y-coordinate of the new text position.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Placing text at a given position

<?php
$ps = ps_new();
if (!ps_open_file($ps, "text.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "rectangle.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Text placement example");

ps_begin_page($ps, 596, 842);
$psfont = ps_findfont($ps, "Helvetica", "", 0);
ps_setfont($ps, $psfont, 8.0);
ps_show_xy($ps, "Some text at (100, 100)", 100, 100);

ps_set_value($ps, "textx", 100);
ps_set_value($ps, "texty", 120);
ps_show($ps, "Some text at (100, 120)");
ps_end_page($ps);

ps_delete($ps);
?>

Ayrıca Bakınız

  • ps_set_value() - Sets certain values
  • ps_show() - Output text


Sets certain values

  • « ps_set_text_pos
  • ps_setcolor »
  • PHP Manual
  • PS İşlevleri
  • Sets certain values

ps_set_value

(PECL ps >= 1.1.0)

ps_set_value — Sets certain values

Açıklama

ps_set_value(resource $psdoc, string $name, float $value): bool

Sets several values which are used by many functions. Parameters are by definition float values.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

name

The name can be one of the following:

textrendering

The way how text is shown.

textx

The x coordinate for text output.

texty

The y coordinate for text output.

wordspacing

The distance between words relative to the width of a space.

leading

The distance between lines in pixels.

value

The value of the parameter.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_get_value() - Gets certain values
  • ps_set_parameter() - Sets certain parameters


Sets current color

  • « ps_set_value
  • ps_setdash »
  • PHP Manual
  • PS İşlevleri
  • Sets current color

ps_setcolor

(PECL ps >= 1.1.0)

ps_setcolor — Sets current color

Açıklama

ps_setcolor(
resource $psdoc,
string $type,
string $colorspace,
float $c1,
float $c2,
float $c3,
float $c4
): bool

Sets the color for drawing, filling, or both.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The parameter type can be both, fill, or fillstroke.

colorspace

The colorspace should be one of gray, rgb, cmyk, spot, pattern. Depending on the colorspace either only the first, the first three or all parameters will be used.

c1

Depending on the colorspace this is either the red component (rgb), the cyan component (cmyk), the gray value (gray), the identifier of the spot color or the identifier of the pattern.

c2

Depending on the colorspace this is either the green component (rgb), the magenta component (cmyk).

c3

Depending on the colorspace this is either the blue component (rgb), the yellow component (cmyk).

c4

This must only be set in cmyk colorspace and specifies the black component.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Dikkat

The second parameter is currently not always evaluated. The color is sometimes set for filling and drawing just as if fillstroke were passed.


Sets appearance of a dashed line

  • « ps_setcolor
  • ps_setflat »
  • PHP Manual
  • PS İşlevleri
  • Sets appearance of a dashed line

ps_setdash

(PECL ps >= 1.1.0)

ps_setdash — Sets appearance of a dashed line

Açıklama

ps_setdash(resource $psdoc, float $on, float $off): bool

Sets the length of the black and white portions of a dashed line.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

on

The length of the dash.

off

The length of the gap between dashes.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setpolydash() - Sets appearance of a dashed line


Sets flatness

  • « ps_setdash
  • ps_setfont »
  • PHP Manual
  • PS İşlevleri
  • Sets flatness

ps_setflat

(PECL ps >= 1.1.0)

ps_setflat — Sets flatness

Açıklama

ps_setflat(resource $psdoc, float $value): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The value must be between 0.2 and 1.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets font to use for following output

  • « ps_setflat
  • ps_setgray »
  • PHP Manual
  • PS İşlevleri
  • Sets font to use for following output

ps_setfont

(PECL ps >= 1.1.0)

ps_setfont — Sets font to use for following output

Açıklama

ps_setfont(resource $psdoc, int $fontid, float $size): bool

Sets a font, which has to be loaded before with ps_findfont(). Outputting text without setting a font results in an error.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

fontid

The font identifier as returned by ps_findfont().

size

The size of the font.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_findfont() - Loads a font
  • ps_set_text_pos() - Sets position for text output for an example.


Sets gray value

  • « ps_setfont
  • ps_setlinecap »
  • PHP Manual
  • PS İşlevleri
  • Sets gray value

ps_setgray

(PECL ps >= 1.1.0)

ps_setgray — Sets gray value

Açıklama

ps_setgray(resource $psdoc, float $gray): bool

Sets the gray value for all following drawing operations.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

gray

The value must be between 0 (white) and 1 (black).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setcolor() - Sets current color


Sets appearance of line ends

  • « ps_setgray
  • ps_setlinejoin »
  • PHP Manual
  • PS İşlevleri
  • Sets appearance of line ends

ps_setlinecap

(PECL ps >= 1.1.0)

ps_setlinecap — Sets appearance of line ends

Açıklama

ps_setlinecap(resource $psdoc, int $type): bool

Sets how line ends look like.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of line ends. Possible values are PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit


Sets how contected lines are joined

  • « ps_setlinecap
  • ps_setlinewidth »
  • PHP Manual
  • PS İşlevleri
  • Sets how contected lines are joined

ps_setlinejoin

(PECL ps >= 1.1.0)

ps_setlinejoin — Sets how contected lines are joined

Açıklama

ps_setlinejoin(resource $psdoc, int $type): bool

Sets how lines are joined.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The way lines are joined. Possible values are PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinewidth() - Sets width of a line
  • ps_setmiterlimit() - Sets the miter limit


Sets width of a line

  • « ps_setlinejoin
  • ps_setmiterlimit »
  • PHP Manual
  • PS İşlevleri
  • Sets width of a line

ps_setlinewidth

(PECL ps >= 1.1.0)

ps_setlinewidth — Sets width of a line

Açıklama

ps_setlinewidth(resource $psdoc, float $width): bool

Sets the line width for all following drawing operations.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

width

The width of lines in points.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setmiterlimit() - Sets the miter limit


Sets the miter limit

  • « ps_setlinewidth
  • ps_setoverprintmode »
  • PHP Manual
  • PS İşlevleri
  • Sets the miter limit

ps_setmiterlimit

(PECL ps >= 1.1.0)

ps_setmiterlimit — Sets the miter limit

Açıklama

ps_setmiterlimit(resource $psdoc, float $value): bool

If two lines join in a small angle and the line join is set to PS_LINEJOIN_MITER, then the resulting spike will be very long. The miter limit is the maximum ratio of the miter length (the length of the spike) and the line width.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

value

The maximum ratio between the miter length and the line width. Larger values (> 10) will result in very long spikes when two lines meet in a small angle. Keep the default unless you know what you are doing.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_setlinecap() - Sets appearance of line ends
  • ps_setlinejoin() - Sets how contected lines are joined
  • ps_setlinewidth() - Sets width of a line


Sets overprint mode

  • « ps_setmiterlimit
  • ps_setpolydash »
  • PHP Manual
  • PS İşlevleri
  • Sets overprint mode

ps_setoverprintmode

(PECL ps >= 1.3.0)

ps_setoverprintmode — Sets overprint mode

Açıklama

ps_setoverprintmode(resource $psdoc, int $mode): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

mode

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets appearance of a dashed line

  • « ps_setoverprintmode
  • ps_shading_pattern »
  • PHP Manual
  • PS İşlevleri
  • Sets appearance of a dashed line

ps_setpolydash

(PECL ps >= 1.1.0)

ps_setpolydash — Sets appearance of a dashed line

Açıklama

ps_setpolydash(resource $psdoc, float $arr): bool

Sets the length of the black and white portions of a dashed line. ps_setpolydash() is used to set more complicated dash patterns.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

arr

arr is a list of length elements alternately for the black and white portion.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Drawing a dashed line

<?php
$ps = ps_new();
if (!ps_open_file($ps, "polydash.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "polydash.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Poly dash example");

ps_begin_page($ps, 596, 842);
ps_setpolydash($ps, array(10, 5, 2, 5));
ps_moveto($ps, 100, 100);
ps_lineto($ps, 200, 200);
ps_stroke($ps);
ps_end_page($ps);

ps_delete($ps);
?>

This example draws a line with a 10 and 2 points long line, and gaps of 5 points inbetween.

Ayrıca Bakınız

  • ps_setdash() - Sets appearance of a dashed line


Creates a pattern based on a shading

  • « ps_setpolydash
  • ps_shading »
  • PHP Manual
  • PS İşlevleri
  • Creates a pattern based on a shading

ps_shading_pattern

(PECL ps >= 1.3.0)

ps_shading_pattern — Creates a pattern based on a shading

Açıklama

ps_shading_pattern(resource $psdoc, int $shadingid, string $optlist): int|false

Creates a pattern based on a shading, which has to be created before with ps_shading(). Shading patterns can be used like regular patterns.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

optlist

This argument is not currently used.

Dönen Değerler

The identifier of the pattern başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_shading() - Creates a shading for later use
  • ps_shfill() - Fills an area with a shading


Creates a shading for later use

  • « ps_shading_pattern
  • ps_shfill »
  • PHP Manual
  • PS İşlevleri
  • Creates a shading for later use

ps_shading

(PECL ps >= 1.3.0)

ps_shading — Creates a shading for later use

Açıklama

ps_shading(
resource $psdoc,
string $type,
float $x0,
float $y0,
float $x1,
float $y1,
float $c1,
float $c2,
float $c3,
float $c4,
string $optlist
): int|false

Creates a shading, which can be used by ps_shfill() or ps_shading_pattern().

The color of the shading can be in any color space except for pattern.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

type

The type of shading can be either radial or axial. Each shading starts with the current fill color and ends with the given color values passed in the parameters c1 to c4 (see ps_setcolor() for their meaning).

x0, x1, y0, y1

The coordinates x0, y0, x1, y1 are the start and end point of the shading. If the type of shading is radial the two points are the middle points of a starting and ending circle.

c1, c2, c3, c4

See ps_setcolor() for their meaning.

optlist

If the shading is of type radial the optlist must also contain the parameters r0 and r1 with the radius of the start and end circle.

Dönen Değerler

Returns the identifier of the pattern başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_shading_pattern() - Creates a pattern based on a shading
  • ps_shfill() - Fills an area with a shading


Fills an area with a shading

  • « ps_shading
  • ps_show_boxed »
  • PHP Manual
  • PS İşlevleri
  • Fills an area with a shading

ps_shfill

(PECL ps >= 1.3.0)

ps_shfill — Fills an area with a shading

Açıklama

ps_shfill(resource $psdoc, int $shadingid): bool

Fills an area with a shading, which has to be created before with ps_shading(). This is an alternative way to creating a pattern from a shading ps_shading_pattern() and using the pattern as the filling color.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

shadingid

The identifier of a shading previously created with ps_shading().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_shading() - Creates a shading for later use
  • ps_shading_pattern() - Creates a pattern based on a shading


Output text in a box

  • « ps_shfill
  • ps_show_xy2 »
  • PHP Manual
  • PS İşlevleri
  • Output text in a box

ps_show_boxed

(PECL ps >= 1.1.0)

ps_show_boxed — Output text in a box

Açıklama

ps_show_boxed(
resource $psdoc,
string $text,
float $left,
float $bottom,
float $width,
float $height,
string $hmode,
string $feature = ?
): int

Outputs a text in a given box. The lower left corner of the box is at (left, bottom). Line breaks will be inserted where needed. Multiple spaces are treated as one. Tabulators are treated as spaces.

The text will be hyphenated if the parameter hyphenation is set to true and the parameter hyphendict contains a valid filename for a hyphenation file. The line spacing is taken from the value leading. Paragraphs can be separated by an empty line just like in TeX. If the value parindent is set to value > 0.0 then the first n lines will be indented. The number n of lines is set by the parameter numindentlines. In order to prevent indenting of the first m paragraphs set the value parindentskip to a positive number.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output into the given box.

left

x-coordinate of the lower left corner of the box.

bottom

y-coordinate of the lower left corner of the box.

width

Width of the box.

height

Height of the box.

hmode

The parameter hmode can be justify, fulljustify, right, left, or center. The difference of justify and fulljustify just affects the last line of the box. In fulljustify mode the last line will be left and right justified unless this is also the last line of paragraph. In justify mode it will always be left justified.

feature

Used parameters

The output of ps_show_boxed() can be configured with several parameters and values which must be set with either ps_set_parameter() or ps_set_value(). Beside the parameters and values which affect text output, the following parameters and values are evaluated.

leading (value)

Distance between baselines of two consecutive lines.

linebreak (parameter)

Set to true if you want a carriage return to start a new line instead of treating it as a space. Defaults to false.

parbreak (parameter)

Set to true if you want a carriage return on a single line to start a new paragraph instead of treating it as a space. Defaults to true.

hyphenation (parameter)

Set to true in order to turn hyphenation on. This requires a dictionary to be set with the parameter hyphendict. Defaults to false.

hyphendict (parameter)

Filename of the dictionary used for hyphenation pattern (see below).

hyphenminchar (value)

The number of chars which must at least be left over before or after the hyphen. This implies that only words of at least two times this value will be hyphenated. The default value is three. Setting a value of zero will result in the default value.

parindent (value)

Set the amount of space in pixel for indenting the first m lines of a paragraph. m can be set with the value numindentlines.

parskip (value)

Set the amount of extra space in pixel between paragraphs. Defaults to 0 which will result in a normal line distance.

numindentlines (value)

Number of lines from the start of the paragraph which will be indented. Defaults to 1.

parindentskip (value)

Number of paragraphs in the box whose first lines will not be indented. This defaults to 0. This is useful for paragraphs right after a section heading or text being continued in a second box. In both case one would set this to 1.

linenumbermode (parameter)

Set how lines are to be numbered. Possible values are box for numbering lines in the whole box or paragraph to number lines within each paragraph.

linenumberspace (value)

The space for the column left of the numbered line containing the line number. The line number will be right justified into this column. Defaults to 20.

linenumbersep (value)

The space between the column with line numbers and the line itself. Defaults to 5.

Hyphenation

Text is hyphenated if the parameter hyphenation is set to true and a valid hyphenation dictionary is set. pslib does not ship its own hyphenation dictionary but uses one from openoffice, scribus or koffice. You can find their dictionaries for different languages in one of the following directories if the software is installed:

  • /usr/share/apps/koffice/hyphdicts/
  • /usr/lib/scribus/dicts/
  • /usr/lib/openoffice/share/dict/ooo/
Currently scribus appears to have the most complete hyphenation dictionaries.

Dönen Değerler

Number of characters that could not be written.

Ayrıca Bakınız

  • ps_continue_text() - Continue text in next line


Output text at position

  • « ps_show_boxed
  • ps_show_xy »
  • PHP Manual
  • PS İşlevleri
  • Output text at position

ps_show_xy2

(PECL ps >= 1.1.0)

ps_show_xy2 — Output text at position

Açıklama

ps_show_xy2(
resource $psdoc,
string $text,
int $len,
float $xcoor,
float $ycoor
): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Output text at given position

  • « ps_show_xy2
  • ps_show2 »
  • PHP Manual
  • PS İşlevleri
  • Output text at given position

ps_show_xy

(PECL ps >= 1.1.0)

ps_show_xy — Output text at given position

Açıklama

ps_show_xy(
resource $psdoc,
string $text,
float $x,
float $y
): bool

Output a text at the given text position.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

x

x-coordinate of the lower left corner of the box surrounding the text.

y

y-coordinate of the lower left corner of the box surrounding the text.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_continue_text() - Continue text in next line
  • ps_show() - Output text


Output a text at current position

  • « ps_show_xy
  • ps_show »
  • PHP Manual
  • PS İşlevleri
  • Output a text at current position

ps_show2

(PECL ps >= 1.1.0)

ps_show2 — Output a text at current position

Açıklama

ps_show2(resource $psdoc, string $text, int $len): bool

Output text at the current position. Do not print more than len characters.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

len

The maximum number of characters to print.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Output text

  • « ps_show2
  • ps_string_geometry »
  • PHP Manual
  • PS İşlevleri
  • Output text

ps_show

(PECL ps >= 1.1.0)

ps_show — Output text

Açıklama

ps_show(resource $psdoc, string $text): bool

Output a text at the current text position. The text position can be set by storing the x and y coordinates into the values textx and texty with the function ps_set_value(). The function will issue an error if a font was not set before with ps_setfont().

ps_show() evaluates the following parameters and values as set by ps_set_parameter() and ps_set_value().

charspacing (value)

Distance between two consecutive glyphs. If this value is unequal to zero then all ligatures will be resolved. Values less than zero are allowed.

kerning (parameter)

Setting this parameter to "false" will turn off kerning. Kerning is turned on by default.

ligatures (parameter)

Setting this parameter to "false" will turn off the use of ligatures. Ligatures are turned on by default.

underline (parameter)

Setting this parameter to "true" will turn on underlining. Underlining is turned off by default.

overline (parameter)

Setting this parameter to "true" will turn on overlining. Overlining is turned off by default.

strikeout (parameter)

Setting this parameter to "true" will turn on striking out. Striking out is turned off by default.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text to be output.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_continue_text() - Continue text in next line
  • ps_show_xy() - Output text at given position
  • ps_setfont() - Sets font to use for following output


Gets geometry of a string

  • « ps_show
  • ps_stringwidth »
  • PHP Manual
  • PS İşlevleri
  • Gets geometry of a string

ps_string_geometry

(PECL ps >= 1.2.0)

ps_string_geometry — Gets geometry of a string

Açıklama

ps_string_geometry(
resource $psdoc,
string $text,
int $fontid = 0,
float $size = 0.0
): array

This function is similar to ps_stringwidth() but returns an array of dimensions containing the width, ascender, and descender of the text.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the geometry is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Dönen Değerler

An array of the dimensions of a string. The element 'width' contains the width of the string as returned by ps_stringwidth(). The element 'descender' contains the maximum descender and 'ascender' the maximum ascender of the string.

Ayrıca Bakınız

  • ps_continue_text() - Continue text in next line
  • ps_stringwidth() - Gets width of a string


Gets width of a string

  • « ps_string_geometry
  • ps_stroke »
  • PHP Manual
  • PS İşlevleri
  • Gets width of a string

ps_stringwidth

(PECL ps >= 1.1.0)

ps_stringwidth — Gets width of a string

Açıklama

ps_stringwidth(
resource $psdoc,
string $text,
int $fontid = 0,
float $size = 0.0
): float

Calculates the width of a string in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width. If kerning is turned on, it will be taken into account.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

text

The text for which the width is to be calculated.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Dönen Değerler

Width of a string in points.

Ayrıca Bakınız

  • ps_string_geometry() - Gets geometry of a string


Draws the current path

  • « ps_stringwidth
  • ps_symbol_name »
  • PHP Manual
  • PS İşlevleri
  • Draws the current path

ps_stroke

(PECL ps >= 1.1.0)

ps_stroke — Draws the current path

Açıklama

ps_stroke(resource $psdoc): bool

Draws the path constructed with previously called drawing functions like ps_lineto().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_closepath_stroke() - Closes and strokes path
  • ps_fill() - Fills the current path
  • ps_fill_stroke() - Fills and strokes the current path


Gets name of a glyph

  • « ps_stroke
  • ps_symbol_width »
  • PHP Manual
  • PS İşlevleri
  • Gets name of a glyph

ps_symbol_name

(PECL ps >= 1.2.0)

ps_symbol_name — Gets name of a glyph

Açıklama

ps_symbol_name(resource $psdoc, int $ord, int $fontid = 0): string

This function needs an Adobe font metrics file to know which glyphs are available.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The parameter ord is the position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

Dönen Değerler

The name of a glyph in the given font.

Ayrıca Bakınız

  • ps_symbol() - Output a glyph
  • ps_symbol_width() - Gets width of a glyph


Gets width of a glyph

  • « ps_symbol_name
  • ps_symbol »
  • PHP Manual
  • PS İşlevleri
  • Gets width of a glyph

ps_symbol_width

(PECL ps >= 1.2.0)

ps_symbol_width — Gets width of a glyph

Açıklama

ps_symbol_width(
resource $psdoc,
int $ord,
int $fontid = 0,
float $size = 0.0
): float

Calculates the width of a glyph in points if it was output in the given font and font size. This function needs an Adobe font metrics file to calculate the precise width.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

fontid

The identifier of the font to be used. If not font is specified the current font will be used.

size

The size of the font. If no size is specified the current size is used.

Dönen Değerler

The width of a glyph in points.

Ayrıca Bakınız

  • ps_symbol() - Output a glyph
  • ps_symbol_name() - Gets name of a glyph


Output a glyph

  • « ps_symbol_width
  • ps_translate »
  • PHP Manual
  • PS İşlevleri
  • Output a glyph

ps_symbol

(PECL ps >= 1.2.0)

ps_symbol — Output a glyph

Açıklama

ps_symbol(resource $psdoc, int $ord): bool

Output the glyph at position ord in the font encoding vector of the current font. The font encoding for a font can be set when loading the font with ps_findfont().

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

ord

The position of the glyph in the font encoding vector.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ps_symbol_name() - Gets name of a glyph
  • ps_symbol_width() - Gets width of a glyph


Sets translation

  • « ps_symbol
  • RpmInfo »
  • PHP Manual
  • PS İşlevleri
  • Sets translation

ps_translate

(PECL ps >= 1.1.0)

ps_translate — Sets translation

Açıklama

ps_translate(resource $psdoc, float $x, float $y): bool

Sets a new initial point of the coordinate system.

Bağımsız Değişkenler

psdoc

Resource identifier of the postscript file as returned by ps_new().

x

x-coordinate of the origin of the translated coordinate system.

y

y-coordinate of the origin of the translated coordinate system.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Translation of the coordinate system

<?php
function rectangle($ps) {
ps_moveto($ps, 0, 0);
ps_lineto($ps, 0, 50);
ps_lineto($ps, 50, 50);
ps_lineto($ps, 50, 0);
ps_lineto($ps, 0, 0);
ps_stroke($ps);
}

$ps = ps_new();
if (!ps_open_file($ps, "translate.ps")) {
print "Cannot open PostScript file\n";
exit;
}

ps_set_info($ps, "Creator", "translate.php");
ps_set_info($ps, "Author", "Uwe Steinmann");
ps_set_info($ps, "Title", "Translated example");
ps_set_info($ps, "BoundingBox", "0 0 596 842");

$psfont = ps_findfont($ps, "Helvetica", "", 0);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_translate($ps, -500, -750);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_begin_page($ps, 596, 842);
ps_set_text_pos($ps, 100, 100);
ps_save($ps);
ps_translate($ps, 500, 750);
rectangle($ps);
ps_restore($ps);
ps_setfont($ps, $psfont, 8.0);
ps_show($ps, "Text at initial position");
ps_end_page($ps);

ps_delete($ps);
?>

The above example demonstrates two possible ways to place a graphic (in this case just a rectangle) at any position on the page, while the graphic itself uses its own coordinate system. The trick is to change the origin of the current coordinate system before drawing the rectangle. The translation has to be undone after the graphic has been drawn.

On the second page a slightly different and more elegant approach is applied. Instead of undoing the translation with a second call of ps_translate() the graphics context is saved before modifying the coordinate system and restored after drawing the rectangle.

Ayrıca Bakınız

  • ps_scale() - Sets scaling factor
  • ps_rotate() - Sets rotation factor


RpmInfo

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Installation via PECL
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • RpmInfo İşlevleri
    • rpmaddtag — Add tag retrieved in query
    • rpmdbinfo — Get information from installed RPM
    • rpmdbsearch — Search RPM packages
    • rpmgetsymlink — Get target of a symlink
    • rpminfo — Get information from a RPM file
    • rpmvercmp — RPM version comparison


Giriş

This extension enables you to retrieve information from RPM files or from the installed RPMs database.

It also provides a rpm stream wrapper to retrieve RPM content (since version 1.0.0 with librpm >= 4.13).


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Installation via PECL
  • Çalışma Anı Yapılandırması
  • Özkaynak Türleri


  • « Yapılandırma/Kurulum
  • Installation via PECL »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires » librpm version 4.11.3 or higher.


Installation via PECL

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/rpminfo.


  • « Installation via PECL
  • Özkaynak Türleri »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

RPMVERSION (string)
System librpm version.
RPMSENSE_ANY (int)
RPMSENSE_LESS (int)
RPMSENSE_GREATER (int)
RPMSENSE_EQUAL (int)
RPMSENSE_POSTTRANS (int)
RPMSENSE_PREREQ (int)
RPMSENSE_PRETRANS (int)
RPMSENSE_INTERP (int)
RPMSENSE_SCRIPT_PRE (int)
RPMSENSE_SCRIPT_POST (int)
RPMSENSE_SCRIPT_PREUN (int)
RPMSENSE_SCRIPT_POSTUN (int)
RPMSENSE_SCRIPT_VERIFY (int)
RPMSENSE_FIND_REQUIRES (int)
RPMSENSE_FIND_PROVIDES (int)
RPMSENSE_TRIGGERIN (int)
RPMSENSE_TRIGGERUN (int)
RPMSENSE_TRIGGERPOSTUN (int)
RPMSENSE_MISSINGOK (int)
RPMSENSE_RPMLIB (int)
RPMSENSE_TRIGGERPREIN (int)
RPMSENSE_KEYRING (int)
RPMSENSE_CONFIG (int)
RPMMIRE_DEFAULT (int)
Search pattern is a regular expression with \., .* and ^...$ added.
RPMMIRE_STRCMP (int)
Search pattern is a string, using strcmp(3).
RPMMIRE_REGEX (int)
Search pattern is a regular expression, using regcomp(3).
RPMMIRE_GLOB (int)
Search pattern is a glob expression, using fnmatch(3).
RPMTAG_ARCH (int)
RPMTAG_ARCHSUFFIX (int)
Requires librpm >= 4.18
RPMTAG_ARCHIVESIZE (int)
RPMTAG_BASENAMES (int)
Name (not path) of files, with database index.
RPMTAG_BUGURL (int)
RPMTAG_BUILDARCHS (int)
RPMTAG_BUILDHOST (int)
RPMTAG_BUILDTIME (int)
RPMTAG_C (int)
RPMTAG_CHANGELOGNAME (int)
RPMTAG_CHANGELOGTEXT (int)
RPMTAG_CHANGELOGTIME (int)
RPMTAG_CLASSDICT (int)
RPMTAG_CONFLICTFLAGS (int)
RPMTAG_CONFLICTNAME (int)
Conflicting dependencies, with database index.
RPMTAG_CONFLICTNEVRS (int)
RPMTAG_CONFLICTS (int)
RPMTAG_CONFLICTVERSION (int)
RPMTAG_COOKIE (int)
RPMTAG_DBINSTANCE (int)
RPMTAG_DEPENDSDICT (int)
RPMTAG_DESCRIPTION (int)
RPMTAG_DIRINDEXES (int)
RPMTAG_DIRNAMES (int)
Directory of files, with database index.
RPMTAG_DISTRIBUTION (int)
RPMTAG_DISTTAG (int)
RPMTAG_DISTURL (int)
RPMTAG_DSAHEADER (int)
RPMTAG_E (int)
RPMTAG_ENCODING (int)
RPMTAG_ENHANCEFLAGS (int)
RPMTAG_ENHANCENAME (int)
Weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_ENHANCENEVRS (int)
RPMTAG_ENHANCES (int)
RPMTAG_ENHANCEVERSION (int)
RPMTAG_EPOCH (int)
RPMTAG_EPOCHNUM (int)
RPMTAG_EVR (int)
RPMTAG_EXCLUDEARCH (int)
RPMTAG_EXCLUDEOS (int)
RPMTAG_EXCLUSIVEARCH (int)
RPMTAG_EXCLUSIVEOS (int)
RPMTAG_FILECAPS (int)
RPMTAG_FILECLASS (int)
RPMTAG_FILECOLORS (int)
RPMTAG_FILECONTEXTS (int)
RPMTAG_FILEDEPENDSN (int)
RPMTAG_FILEDEPENDSX (int)
RPMTAG_FILEDEVICES (int)
RPMTAG_FILEDIGESTALGO (int)
RPMTAG_FILEDIGESTS (int)
RPMTAG_FILEFLAGS (int)
RPMTAG_FILEGROUPNAME (int)
RPMTAG_FILEINODES (int)
RPMTAG_FILELANGS (int)
RPMTAG_FILELINKTOS (int)
RPMTAG_FILEMD5S (int)
RPMTAG_FILEMODES (int)
RPMTAG_FILEMTIMES (int)
RPMTAG_FILENAMES (int)
RPMTAG_FILENLINKS (int)
RPMTAG_FILEPROVIDE (int)
RPMTAG_FILERDEVS (int)
RPMTAG_FILEREQUIRE (int)
RPMTAG_FILESIGNATURELENGTH (int)
RPMTAG_FILESIGNATURES (int)
RPMTAG_FILESIZES (int)
RPMTAG_FILESTATES (int)
RPMTAG_FILETRIGGERCONDS (int)
RPMTAG_FILETRIGGERFLAGS (int)
RPMTAG_FILETRIGGERINDEX (int)
RPMTAG_FILETRIGGERNAME (int)
File trigger name, with database index, requires librpm >= 4.13.
RPMTAG_FILETRIGGERPRIORITIES (int)
RPMTAG_FILETRIGGERSCRIPTFLAGS (int)
RPMTAG_FILETRIGGERSCRIPTPROG (int)
RPMTAG_FILETRIGGERSCRIPTS (int)
RPMTAG_FILETRIGGERTYPE (int)
RPMTAG_FILETRIGGERVERSION (int)
RPMTAG_FILEUSERNAME (int)
RPMTAG_FILEVERIFYFLAGS (int)
RPMTAG_FSCONTEXTS (int)
RPMTAG_GIF (int)
RPMTAG_GROUP (int)
Group of the package, with database index.
RPMTAG_HDRID (int)
RPMTAG_HEADERCOLOR (int)
RPMTAG_HEADERI18NTABLE (int)
RPMTAG_HEADERIMAGE (int)
RPMTAG_HEADERIMMUTABLE (int)
RPMTAG_HEADERREGIONS (int)
RPMTAG_HEADERSIGNATURES (int)
RPMTAG_ICON (int)
RPMTAG_INSTALLCOLOR (int)
RPMTAG_INSTALLTID (int)
Installation transaction ID, with database index.
RPMTAG_INSTALLTIME (int)
RPMTAG_INSTFILENAMES (int)
Path of files, with database index.
RPMTAG_INSTPREFIXES (int)
RPMTAG_LICENSE (int)
RPMTAG_LONGARCHIVESIZE (int)
RPMTAG_LONGFILESIZES (int)
RPMTAG_LONGSIGSIZE (int)
RPMTAG_LONGSIZE (int)
RPMTAG_MODULARITYLABEL (int)
RPMTAG_N (int)
RPMTAG_NAME (int)
Package name, with database index.
RPMTAG_NEVR (int)
RPMTAG_NEVRA (int)
RPMTAG_NOPATCH (int)
RPMTAG_NOSOURCE (int)
RPMTAG_NVR (int)
RPMTAG_NVRA (int)
RPMTAG_O (int)
RPMTAG_OBSOLETEFLAGS (int)
RPMTAG_OBSOLETENAME (int)
Obsoleted packages, with database index.
RPMTAG_OBSOLETENEVRS (int)
RPMTAG_OBSOLETES (int)
RPMTAG_OBSOLETEVERSION (int)
RPMTAG_OLDENHANCES (int)
RPMTAG_OLDENHANCESFLAGS (int)
RPMTAG_OLDENHANCESNAME (int)
RPMTAG_OLDENHANCESVERSION (int)
RPMTAG_OLDFILENAMES (int)
RPMTAG_OLDSUGGESTS (int)
RPMTAG_OLDSUGGESTSFLAGS (int)
RPMTAG_OLDSUGGESTSNAME (int)
RPMTAG_OLDSUGGESTSVERSION (int)
RPMTAG_OPTFLAGS (int)
RPMTAG_ORDERFLAGS (int)
RPMTAG_ORDERNAME (int)
RPMTAG_ORDERVERSION (int)
RPMTAG_ORIGBASENAMES (int)
RPMTAG_ORIGDIRINDEXES (int)
RPMTAG_ORIGDIRNAMES (int)
RPMTAG_ORIGFILENAMES (int)
RPMTAG_OS (int)
RPMTAG_P (int)
RPMTAG_PACKAGER (int)
RPMTAG_PATCH (int)
RPMTAG_PATCHESFLAGS (int)
RPMTAG_PATCHESNAME (int)
RPMTAG_PATCHESVERSION (int)
RPMTAG_PAYLOADCOMPRESSOR (int)
RPMTAG_PAYLOADDIGEST (int)
RPMTAG_PAYLOADDIGESTALT (int)
With librpm >= 4.16.
RPMTAG_PAYLOADDIGESTALGO (int)
RPMTAG_PAYLOADFLAGS (int)
RPMTAG_PAYLOADFORMAT (int)
RPMTAG_PKGID (int)
RPMTAG_PLATFORM (int)
RPMTAG_POLICIES (int)
RPMTAG_POLICYFLAGS (int)
RPMTAG_POLICYNAMES (int)
RPMTAG_POLICYTYPES (int)
RPMTAG_POLICYTYPESINDEXES (int)
RPMTAG_POSTIN (int)
RPMTAG_POSTINFLAGS (int)
RPMTAG_POSTINPROG (int)
RPMTAG_POSTTRANS (int)
RPMTAG_POSTTRANSFLAGS (int)
RPMTAG_POSTTRANSPROG (int)
RPMTAG_POSTUN (int)
RPMTAG_POSTUNFLAGS (int)
RPMTAG_POSTUNPROG (int)
RPMTAG_POSTUNTRANS (int)
Requires librpm >= 4.19
RPMTAG_POSTUNTRANSFLAGS (int)
Requires librpm >= 4.19
RPMTAG_POSTUNTRANSPROG (int)
Requires librpm >= 4.19
RPMTAG_PREFIXES (int)
RPMTAG_PREIN (int)
RPMTAG_PREINFLAGS (int)
RPMTAG_PREINPROG (int)
RPMTAG_PRETRANS (int)
RPMTAG_PRETRANSFLAGS (int)
RPMTAG_PRETRANSPROG (int)
RPMTAG_PREUN (int)
RPMTAG_PREUNFLAGS (int)
RPMTAG_PREUNPROG (int)
RPMTAG_PREUNTRANS (int)
Requires librpm >= 4.19
RPMTAG_PREUNTRANSFLAGS (int)
Requires librpm >= 4.19
RPMTAG_PREUNTRANSPROG (int)
Requires librpm >= 4.19
RPMTAG_PROVIDEFLAGS (int)
RPMTAG_PROVIDENAME (int)
Provided dependencies, with database index.
RPMTAG_PROVIDENEVRS (int)
RPMTAG_PROVIDES (int)
RPMTAG_PROVIDEVERSION (int)
RPMTAG_PUBKEYS (int)
RPMTAG_R (int)
RPMTAG_RECOMMENDFLAGS (int)
RPMTAG_RECOMMENDNAME (int)
Recommended weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_RECOMMENDNEVRS (int)
RPMTAG_RECOMMENDS (int)
RPMTAG_RECOMMENDVERSION (int)
RPMTAG_RECONTEXTS (int)
RPMTAG_RELEASE (int)
RPMTAG_REMOVETID (int)
RPMTAG_REQUIREFLAGS (int)
RPMTAG_REQUIRENAME (int)
Required dependencies, with database index.
RPMTAG_REQUIRENEVRS (int)
RPMTAG_REQUIRES (int)
RPMTAG_REQUIREVERSION (int)
RPMTAG_RPMVERSION (int)
RPMTAG_RSAHEADER (int)
RPMTAG_SHA1HEADER (int)
SHA1 signature, with database index.
RPMTAG_SHA256HEADER (int)
RPMTAG_SIGGPG (int)
RPMTAG_SIGMD5 (int)
MD5 signature, with database index.
RPMTAG_SIGPGP (int)
RPMTAG_SIGSIZE (int)
RPMTAG_SIZE (int)
RPMTAG_SOURCE (int)
RPMTAG_SOURCEPACKAGE (int)
RPMTAG_SOURCEPKGID (int)
RPMTAG_SOURCERPM (int)
RPMTAG_SPEC (int)
Requires librpm >= 4.18
RPMTAG_SUGGESTFLAGS (int)
RPMTAG_SUGGESTNAME (int)
Suggested weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_SUGGESTNEVRS (int)
RPMTAG_SUGGESTS (int)
RPMTAG_SUGGESTVERSION (int)
RPMTAG_SUMMARY (int)
RPMTAG_SUPPLEMENTFLAGS (int)
RPMTAG_SUPPLEMENTNAME (int)
Weak dependencies, with database index, requires librpm >= 4.13.
RPMTAG_SUPPLEMENTNEVRS (int)
RPMTAG_SUPPLEMENTS (int)
RPMTAG_SUPPLEMENTVERSION (int)
RPMTAG_SYSUSERS (int)
Requires librpm >= 4.19
RPMTAG_TRANSFILETRIGGERCONDS (int)
RPMTAG_TRANSFILETRIGGERFLAGS (int)
RPMTAG_TRANSFILETRIGGERINDEX (int)
RPMTAG_TRANSFILETRIGGERNAME (int)
Transaction file trigger name, with database index, requires librpm >= 4.13.
RPMTAG_TRANSFILETRIGGERPRIORITIES (int)
RPMTAG_TRANSFILETRIGGERSCRIPTFLAGS (int)
RPMTAG_TRANSFILETRIGGERSCRIPTPROG (int)
RPMTAG_TRANSFILETRIGGERSCRIPTS (int)
RPMTAG_TRANSFILETRIGGERTYPE (int)
RPMTAG_TRANSFILETRIGGERVERSION (int)
RPMTAG_TRANSLATIONURL (int)
Requires librpm >= 4.18
RPMTAG_TRIGGERCONDS (int)
RPMTAG_TRIGGERFLAGS (int)
RPMTAG_TRIGGERINDEX (int)
RPMTAG_TRIGGERNAME (int)
Trigger name, with database index.
RPMTAG_TRIGGERSCRIPTFLAGS (int)
RPMTAG_TRIGGERSCRIPTPROG (int)
RPMTAG_TRIGGERSCRIPTS (int)
RPMTAG_TRIGGERTYPE (int)
RPMTAG_TRIGGERVERSION (int)
RPMTAG_UPSTREAMRELEASES (int)
Requires librpm >= 4.18
RPMTAG_URL (int)
RPMTAG_V (int)
RPMTAG_VCS (int)
RPMTAG_VENDOR (int)
RPMTAG_VERBOSE (int)
RPMTAG_VERIFYSCRIPT (int)
RPMTAG_VERIFYSCRIPTFLAGS (int)
RPMTAG_VERIFYSCRIPTPROG (int)
RPMTAG_VERITYSIGNATUREALGO (int)
With librpm >= 4.17.
RPMTAG_VERITYSIGNATURES (int)
With librpm >= 4.17.
RPMTAG_VERSION (int)
RPMTAG_XPM (int)


RpmInfo İşlevleri

İçindekiler

  • rpmaddtag — Add tag retrieved in query
  • rpmdbinfo — Get information from installed RPM
  • rpmdbsearch — Search RPM packages
  • rpmgetsymlink — Get target of a symlink
  • rpminfo — Get information from a RPM file
  • rpmvercmp — RPM version comparison


Add tag retrieved in query

  • « RpmInfo İşlevleri
  • rpmdbinfo »
  • PHP Manual
  • RpmInfo İşlevleri
  • Add tag retrieved in query

rpmaddtag

(PECL rpminfo >= 0.5.0)

rpmaddtag — Add tag retrieved in query

Açıklama

rpmaddtag(int $tag): bool

Add an additional retrieved tag in subsequent queries.

Bağımsız Değişkenler

tag

One of RPMTAG_* constant, see the rpminfo constants page.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • rpminfo() - Get information from a RPM file
  • rpmdbinfo() - Get information from installed RPM
  • rpmdbsearch() - Search RPM packages


Get information from installed RPM

  • « rpmaddtag
  • rpmdbsearch »
  • PHP Manual
  • RpmInfo İşlevleri
  • Get information from installed RPM

rpmdbinfo

(PECL rpminfo >= 0.2.0)

rpmdbinfo — Get information from installed RPM

Açıklama

rpmdbinfo(string $nevr, bool $full = false): ?array

Retrieve information about an installed package, from the system RPM database.

Bağımsız Değişkenler

nevr

Name with optional epoch, version and release.

full

If true all information headers for the file are retrieved, else only a minimal set.

Dönen Değerler

An array of array of information or NULL on error.

Örnekler

Örnek 1 A rpmdbinfo() example

<?php
rpmaddtag(RPMTAG_INSTALLTIME);
$info = rpmdbinfo("php-pecl-rpminfo");
print_r($info);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [Name] => php-pecl-rpminfo
            [Version] => 0.4.2
            [Release] => 1.fc31
            [Summary] => RPM information
            [Installtime] => 1586244687
            [Arch] => x86_64
        )
)

Ayrıca Bakınız

  • rpmaddtag() - Add tag retrieved in query


Search RPM packages

  • « rpmdbinfo
  • rpmgetsymlink »
  • PHP Manual
  • RpmInfo İşlevleri
  • Search RPM packages

rpmdbsearch

(PECL rpminfo >= 0.3.0)

rpmdbsearch — Search RPM packages

Açıklama

rpmdbsearch(
string $pattern,
int $rpmtag = RPMTAG_NAME,
int $rpmmire = -1,
bool $full = false
): ?array

Search packages in the system RPM database.

Bağımsız Değişkenler

pattern

Value to search for.

rpmtag

Search criterion, one of RPMTAG_* constant, see the rpminfo constants page.

rpmmire

Pattern type, one of RPMMIRE_* constant, see the rpminfo constants page. When < 0 the criterion must equals the value, and database index is used if possible.

full

If true all information headers for the file are retrieved, else only a minimal set.

Dönen Değerler

An array of array of information or NULL on error.

Örnekler

Örnek 1 Searching for the package owning a file

<?php
$info = rpmdbsearch("/usr/bin/php", RPMTAG_INSTFILENAMES);
print_r($info);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [Name] => php-cli
            [Version] => 7.4.4
            [Release] => 1.fc32
            [Summary] => Command-line interface for PHP
            [Arch] => x86_64
        )

)

Ayrıca Bakınız

  • rpmaddtag() - Add tag retrieved in query


Get target of a symlink

  • « rpmdbsearch
  • rpminfo »
  • PHP Manual
  • RpmInfo İşlevleri
  • Get target of a symlink

rpmgetsymlink

(PECL rpminfo >= 1.1.0)

rpmgetsymlink — Get target of a symlink

Açıklama

rpmgetsymlink(string $path, string $name): ?string

Get target of a symlink.

Bağımsız Değişkenler

path

Path of the RPM file.

name

Name of the symlink file.

Dönen Değerler

A string with target of the symlink, NULL on error, or an empty string if not a symlink.


Get information from a RPM file

  • « rpmgetsymlink
  • rpmvercmp »
  • PHP Manual
  • RpmInfo İşlevleri
  • Get information from a RPM file

rpminfo

(PECL rpminfo >= 0.1.0)

rpminfo — Get information from a RPM file

Açıklama

rpminfo(string $path, bool $full = false, string &$error = ?): ?array

Retrieve information about a local file, a RPM package.

Bağımsız Değişkenler

path

Path of the RPM file.

full

If true all information headers for the file are retrieved, else only a minimal set.

error

If provided, will receive the possible error message, and will avoid a runtime warning.

Dönen Değerler

An array of information or NULL on error.

Örnekler

Örnek 1 A rpminfo() example

<?php
rpmaddtag(RPMTAG_BUILDTIME);
$info = rpminfo("./php-pecl-rpminfo-0.4.2-1.el8.remi.7.4.x86_64.rpm");
print_r($info);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [Name] => php-pecl-rpminfo
    [Version] => 0.4.2
    [Release] => 1.el8
    [Summary] => RPM information
    [Buildtime] => 1586244821
    [Arch] => x86_64
)

Ayrıca Bakınız

  • rpmaddtag() - Add tag retrieved in query


RPM version comparison

  • « rpminfo
  • XLSWriter »
  • PHP Manual
  • RpmInfo İşlevleri
  • RPM version comparison

rpmvercmp

(PECL rpminfo >= 0.1.0)

rpmvercmp — RPM version comparison

Açıklama

rpmvercmp(string $evr1, string $evr2, ?string $operator = null): int|bool

Compare 2 RPM versions.

Bağımsız Değişkenler

evr1

First epoch:version-release string

evr2

Second epoch:version-release string

operator

An optional operator. The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively.

This parameter is case-sensitive, values should be lowercase.

Dönen Değerler

Returns < 0 if evr1 is less than evr2, > 0 if evr1 is greater than evr2, and 0 if they are equal.

When using the optional operator argument, the function will return true if the relationship is the one specified by the operator, false otherwise.

Sürüm Bilgisi

Sürüm: | Açıklama
0.7.0 | Optional operator was added.


XLSWriter

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Vtiful\Kernel\Excel — The Vtiful\Kernel\Excel class
    • Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet
    • Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter
    • Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory
    • Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor
    • Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data
    • Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName
    • Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle
    • Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header
    • Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula
    • Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage
    • Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText
    • Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells
    • Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output
    • Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn
    • Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow
  • Vtiful\Kernel\Format — The Vtiful\Kernel\Format class
    • Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align
    • Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold
    • Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic
    • Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline


  • « XLSWriter
  • Yapılandırma/Kurulum »
  • PHP Manual
  • XLSWriter
  • Giriş

Giriş

An efficient and fast xlsx file export extension.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • XLSWriter
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Özkaynak Türleri


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

XLSWriter requires PHP 7.0 and above.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/xlswriter


Özkaynak Türleri

There is one resource used by the procedural version of the XLSWriter extension: returned by fileName() or \Vtiful\Kernel\Format.


  • « Özkaynak Türleri
  • Vtiful\Kernel\Excel »
  • PHP Manual
  • XLSWriter
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


The Vtiful\Kernel\Excel class

(PECL xlswriter >= 1.2.1)

Giriş

Create xlsx files and set cells and output xlsx files

Sınıf Sözdizimi

class Vtiful\Kernel\Excel {
/* Yöntemler */
public __construct(array $config)
public addSheet(string $sheetName)
public autoFilter(string $scope)
public constMemory(string $fileName, string $sheetName = ?)
public data(array $data)
public fileName(string $fileName, string $sheetName = ?)
public getHandle()
public header(array $headerData)
public insertFormula(int $row, int $column, string $formula)
public insertImage(int $row, int $column, string $localImagePath)
public insertText(
int $row,
int $column,
int|float|string $data,
string $format = ?
)
public mergeCells(string $scope, string $data)
public output()
public setColumn(string $range, float $width, resource $format = ?)
public setRow(string $range, float $height, resource $format = ?)
}

İçindekiler

  • Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet
  • Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter
  • Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory
  • Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor
  • Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data
  • Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName
  • Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle
  • Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header
  • Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula
  • Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage
  • Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText
  • Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells
  • Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output
  • Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn
  • Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow


Vtiful\Kernel\Excel addSheet

  • « Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel::autoFilter »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel addSheet

Vtiful\Kernel\Excel::addSheet

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::addSheet — Vtiful\Kernel\Excel addSheet

Açıklama

public Vtiful\Kernel\Excel::addSheet(string $sheetName)

Create a new worksheet in the xlsx file.

Bağımsız Değişkenler

sheetName

Worksheet name

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
->header(['name', 'age'])
->data([
['viest', 23],
['wjx', 23]
]);

$file->addSheet('sheet_two')
->header(['name', 'age'])
->data([
['james', 33],
['king', 33]
]);

$file->output();
?>


Vtiful\Kernel\Excel autoFilter

  • « Vtiful\Kernel\Excel::addSheet
  • Vtiful\Kernel\Excel::constMemory »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel autoFilter

Vtiful\Kernel\Excel::autoFilter

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::autoFilter — Vtiful\Kernel\Excel autoFilter

Açıklama

public Vtiful\Kernel\Excel::autoFilter(string $scope)

Add autofilter to a worksheet.

Bağımsız Değişkenler

scope

Cell start and end coordinate string.

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName('test.xlsx')
->header(['name', 'age'])
->data($data)
->autoFilter('A1:B11') // auto filter
->output();
?>


Vtiful\Kernel\Excel constMemory

  • « Vtiful\Kernel\Excel::autoFilter
  • Vtiful\Kernel\Excel::__construct »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel constMemory

Vtiful\Kernel\Excel::constMemory

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::constMemory — Vtiful\Kernel\Excel constMemory

Açıklama

public Vtiful\Kernel\Excel::constMemory(string $fileName, string $sheetName = ?)

Write a large file with constant memory usage.

Bağımsız Değişkenler

fileName

XLSX file name

sheetName

Worksheet name

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => '/home/viest'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $instance->constMemory('tutorial.xlsx', 'sheet');
?>


Vtiful\Kernel\Excel constructor

  • « Vtiful\Kernel\Excel::constMemory
  • Vtiful\Kernel\Excel::data »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel constructor

Vtiful\Kernel\Excel::__construct

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::__construct — Vtiful\Kernel\Excel constructor

Açıklama

public Vtiful\Kernel\Excel::__construct(array $config)

Vtiful\Kernel\Excel constructor, create a class object.

Bağımsız Değişkenler

config

XLSX file export configuration

Örnekler

Örnek 1 example

<?php
$config = [
'path' => '/home/viest'
];

$excelObject = new \Vtiful\Kernel\Excel($config);
?>


Vtiful\Kernel\Excel data

  • « Vtiful\Kernel\Excel::__construct
  • Vtiful\Kernel\Excel::fileName »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel data

Vtiful\Kernel\Excel::data

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::data — Vtiful\Kernel\Excel data

Açıklama

public Vtiful\Kernel\Excel::data(array $data)

Write a data in the worksheet.

Bağımsız Değişkenler

data

worksheet data

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
->header(['name', 'age'])
->data([
['viest', 23],
['wjx', 23],
]);
?>


Vtiful\Kernel\Excel fileName

  • « Vtiful\Kernel\Excel::data
  • Vtiful\Kernel\Excel::getHandle »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel fileName

Vtiful\Kernel\Excel::fileName

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::fileName — Vtiful\Kernel\Excel fileName

Açıklama

public Vtiful\Kernel\Excel::fileName(string $fileName, string $sheetName = ?)

Create a brand new xlsx file and create a worksheet.

Bağımsız Değişkenler

fileName

XLSX file name

sheetName

Worksheet name

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => '/home/viest'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $instance->fileName('tutorial.xlsx', 'sheet');
?>


Vtiful\Kernel\Excel getHandle

  • « Vtiful\Kernel\Excel::fileName
  • Vtiful\Kernel\Excel::header »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel getHandle

Vtiful\Kernel\Excel::getHandle

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::getHandle — Vtiful\Kernel\Excel getHandle

Açıklama

public Vtiful\Kernel\Excel::getHandle()

Get the xlsx text resource handle.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Resource

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
->header(['name', 'age']);

$handle = $file->getHandle();
?>


Vtiful\Kernel\Excel header

  • « Vtiful\Kernel\Excel::getHandle
  • Vtiful\Kernel\Excel::insertFormula »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel header

Vtiful\Kernel\Excel::header

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::header — Vtiful\Kernel\Excel header

Açıklama

public Vtiful\Kernel\Excel::header(array $headerData)

Write a header in the worksheet.

Bağımsız Değişkenler

headerData

worksheet header data

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
->header(['name', 'age']);
?>


Vtiful\Kernel\Excel insertFormula

  • « Vtiful\Kernel\Excel::header
  • Vtiful\Kernel\Excel::insertImage »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertFormula

Vtiful\Kernel\Excel::insertFormula

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertFormula — Vtiful\Kernel\Excel insertFormula

Açıklama

public Vtiful\Kernel\Excel::insertFormula(int $row, int $column, string $formula)

Insert calculation formula.

Bağımsız Değişkenler

row

cell row

column

cell column

formula

formula string

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx")
->header(['name', 'money']);

for($index = 1; $index < 10; $index++) {
$file->insertText($index, 0, 'viest');
$file->insertText($index, 1, 10);
}

$file->insertText(12, 0, "Total");
$file->insertFormula(12, 1, '=SUM(B2:B11)'); // insert formula

$file->output();


Vtiful\Kernel\Excel insertImage

  • « Vtiful\Kernel\Excel::insertFormula
  • Vtiful\Kernel\Excel::insertText »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertImage

Vtiful\Kernel\Excel::insertImage

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertImage — Vtiful\Kernel\Excel insertImage

Açıklama

public Vtiful\Kernel\Excel::insertImage(int $row, int $column, string $localImagePath)

Insert a local image into the cell.

Bağımsız Değişkenler

row

cell row

column

cell column

localImagePath

local image path

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx");

$file->insertImage(5, 0, '/vagrant/ASW-G-66.jpg');

$file->output();


Vtiful\Kernel\Excel insertText

  • « Vtiful\Kernel\Excel::insertImage
  • Vtiful\Kernel\Excel::mergeCells »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel insertText

Vtiful\Kernel\Excel::insertText

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::insertText — Vtiful\Kernel\Excel insertText

Açıklama

public Vtiful\Kernel\Excel::insertText(
int $row,
int $column,
int|float|string $data,
string $format = ?
)

Write text in a cell.

Bağımsız Değişkenler

row

cell row

column

cell column

data

data to be written

format

String format

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$file = $excel->fileName("free.xlsx")
->header(['name', 'money']);

for ($index = 0; $index < 10; $index++) {
$file->insertText($index+1, 0, 'viest');
$file->insertText($index+1, 1, 10000, '#,##0');
}

$textFile->output();


Vtiful\Kernel\Excel mergeCells

  • « Vtiful\Kernel\Excel::insertText
  • Vtiful\Kernel\Excel::output »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel mergeCells

Vtiful\Kernel\Excel::mergeCells

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::mergeCells — Vtiful\Kernel\Excel mergeCells

Açıklama

public Vtiful\Kernel\Excel::mergeCells(string $scope, string $data)

Merge Cells.

Bağımsız Değişkenler

scope

cell start and end coordinate strings

data

string data

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$excel->fileName("test.xlsx")
->mergeCells('A1:C1', 'Merge cells')
->output();


Vtiful\Kernel\Excel output

  • « Vtiful\Kernel\Excel::mergeCells
  • Vtiful\Kernel\Excel::setColumn »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel output

Vtiful\Kernel\Excel::output

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::output — Vtiful\Kernel\Excel output

Açıklama

public Vtiful\Kernel\Excel::output()

Output xlsx file to disk.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

XLSX file path;

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$fileObject = new \Vtiful\Kernel\Excel($config);

$file = $fileObject->fileName('tutorial.xlsx', 'sheet_one')
->header(['name', 'age'])
->data([
['viest', 23],
['wjx', 23],
]);

$path = $file->output();
?>


Vtiful\Kernel\Excel setColumn

  • « Vtiful\Kernel\Excel::output
  • Vtiful\Kernel\Excel::setRow »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel setColumn

Vtiful\Kernel\Excel::setColumn

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::setColumn — Vtiful\Kernel\Excel setColumn

Açıklama

public Vtiful\Kernel\Excel::setColumn(string $range, float $width, resource $format = ?)

Set the format of the column.

Bağımsız Değişkenler

range

cell start and end coordinate strings

width

column width

format

cell format resource

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn('A:A', 200, $boldStyle)
->output();


Vtiful\Kernel\Excel setRow

  • « Vtiful\Kernel\Excel::setColumn
  • Vtiful\Kernel\Format »
  • PHP Manual
  • Vtiful\Kernel\Excel
  • Vtiful\Kernel\Excel setRow

Vtiful\Kernel\Excel::setRow

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Excel::setRow — Vtiful\Kernel\Excel setRow

Açıklama

public Vtiful\Kernel\Excel::setRow(string $range, float $height, resource $format = ?)

Set the format of the column.

Bağımsız Değişkenler

range

cell start and end coordinate strings

height

row height

format

cell format resource

Dönen Değerler

Vtiful\Kernel\Excel instance

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setRow('A1', 20, $boldStyle,)
->output();


The Vtiful\Kernel\Format class

(PECL xlswriter >= 1.2.1)

Giriş

Create a cell format object

Sınıf Sözdizimi

class Vtiful\Kernel\Format {
/* Sabitler */
const int FORMAT_ALIGN_LEFT = 1;
const int FORMAT_ALIGN_CENTER = 2;
const int FORMAT_ALIGN_RIGHT = 3;
const int FORMAT_ALIGN_FILL = 4;
const int FORMAT_ALIGN_JUSTIFY = 5;
const int FORMAT_ALIGN_CENTER_ACROSS = 6;
const int FORMAT_ALIGN_DISTRIBUTED = 7;
const int FORMAT_ALIGN_VERTICAL_TOP = 8;
const int FORMAT_ALIGN_VERTICAL_BOTTOM = 9;
const int FORMAT_ALIGN_VERTICAL_CENTER = 10;
const int FORMAT_ALIGN_VERTICAL_JUSTIFY = 11;
const int FORMAT_ALIGN_VERTICAL_DISTRIBUTED = 12;
const int UNDERLINE_SINGLE = 1;
const int UNDERLINE_DOUBLE = 2;
const int UNDERLINE_SINGLE_ACCOUNTING = 3;
const int UNDERLINE_DOUBLE_ACCOUNTING = 4;
/* Yöntemler */
public align(resource $handle, int $style)
public bold(resource $handle)
public italic(resource $handle)
public underline(resource $handle, int $style)
}

Öntanımlı Sabitler

Vtiful\Kernel\Format::FORMAT_ALIGN_LEFT

Vtiful\Kernel\Format::FORMAT_ALIGN_CENTER

Vtiful\Kernel\Format::FORMAT_ALIGN_RIGHT

Vtiful\Kernel\Format::FORMAT_ALIGN_FILL

Vtiful\Kernel\Format::FORMAT_ALIGN_JUSTIFY

Vtiful\Kernel\Format::FORMAT_ALIGN_CENTER_ACROSS

Vtiful\Kernel\Format::FORMAT_ALIGN_DISTRIBUTED

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_TOP

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_BOTTOM

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_CENTER

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_JUSTIFY

Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_DISTRIBUTED

Vtiful\Kernel\Format::UNDERLINE_SINGLE

Vtiful\Kernel\Format::UNDERLINE_DOUBLE

Vtiful\Kernel\Format::UNDERLINE_SINGLE_ACCOUNTING

Vtiful\Kernel\Format::UNDERLINE_DOUBLE_ACCOUNTING

İçindekiler

  • Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align
  • Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold
  • Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic
  • Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline


Vtiful\Kernel\Format align

  • « Vtiful\Kernel\Format
  • Vtiful\Kernel\Format::bold »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format align

Vtiful\Kernel\Format::align

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::align — Vtiful\Kernel\Format align

Açıklama

public Vtiful\Kernel\Format::align(resource $handle, int $style)

set cell align

Bağımsız Değişkenler

handle

xlsx file handle

style

Vtiful\Kernel\Format constant

Dönen Değerler

Resource

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$alignStyle = \Vtiful\Kernel\Format::align($fileHandle, \Vtiful\Kernel\Format::FORMAT_ALIGN_LEFT);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn('A:A', 200, $align)
->output();
?>


Vtiful\Kernel\Format bold

  • « Vtiful\Kernel\Format::align
  • Vtiful\Kernel\Format::italic »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format bold

Vtiful\Kernel\Format::bold

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::bold — Vtiful\Kernel\Format bold

Açıklama

public Vtiful\Kernel\Format::bold(resource $handle)

Vtiful\Kernel\Format bold format

Bağımsız Değişkenler

handle

xlsx file handle

Dönen Değerler

Resource

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$boldStyle = \Vtiful\Kernel\Format::bold($fileHandle);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn('A:A', 200, $boldStyle)
->output();
?>


Vtiful\Kernel\Format italic

  • « Vtiful\Kernel\Format::bold
  • Vtiful\Kernel\Format::underline »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format italic

Vtiful\Kernel\Format::italic

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::italic — Vtiful\Kernel\Format italic

Açıklama

public Vtiful\Kernel\Format::italic(resource $handle)

Vtiful\Kernel\Format italic format

Bağımsız Değişkenler

handle

xlsx file handle

Dönen Değerler

Resource

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$italicStyle = \Vtiful\Kernel\Format::italic($fileHandle);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn('A:A', 200, $italicStyle)
->output();
?>


Vtiful\Kernel\Format underline

  • « Vtiful\Kernel\Format::italic
  • Süreç Denetim Eklentileri »
  • PHP Manual
  • Vtiful\Kernel\Format
  • Vtiful\Kernel\Format underline

Vtiful\Kernel\Format::underline

(PECL xlswriter >= 1.2.1)

Vtiful\Kernel\Format::underline — Vtiful\Kernel\Format underline

Açıklama

public Vtiful\Kernel\Format::underline(resource $handle, int $style)

Vtiful\Kernel\Format underline format

Bağımsız Değişkenler

handle

xlsx file handle

style

Vtiful\Kernel\Format constant

Dönen Değerler

Resource

Örnekler

Örnek 1 example

<?php
$config = [
'path' => './tests'
];

$excel = new \Vtiful\Kernel\Excel($config);

$fileObject = $excel->fileName('tutorial01.xlsx');
$fileHandle = $fileObject->getHandle();

$underlineStyle = \Vtiful\Kernel\Format::underline($fileHandle, \Vtiful\Kernel\Format::UNDERLINE_SINGLE);

$fileObject->header(['name', 'age'])
->data([['viest', 21]])
->setColumn('A:A', 200, $underlineStyle)
->output();
?>


Süreç Denetim Eklentileri

  • Eio
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Eio İşlevleri
  • Ev
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Watchers
    • Watcher callbacks
    • Periodic watcher operation modes
    • Ev — The Ev class
    • EvCheck — The EvCheck class
    • EvChild — The EvChild class
    • EvEmbed — The EvEmbed class
    • EvFork — The EvFork class
    • EvIdle — The EvIdle class
    • EvIo — The EvIo class
    • EvLoop — The EvLoop class
    • EvPeriodic — The EvPeriodic class
    • EvPrepare — The EvPrepare class
    • EvSignal — The EvSignal class
    • EvStat — The EvStat class
    • EvTimer — The EvTimer class
    • EvWatcher — The EvWatcher class
  • Expect
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Expect İşlevleri
  • PCNTL — Süreç Denetimi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Süreç Denetim İşlevleri
  • POSIX
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • POSIX İşlevleri
  • Exec — Sistem Programlarının Çalıştırılması
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Program Çalıştırma İşlevleri
  • parallel
    • Giriş
    • Installation
    • Philosophy
    • Functional API
    • parallel\Runtime — The parallel\Runtime class
    • parallel\Future — The parallel\Future class
    • parallel\Channel — The parallel\Channel class
    • parallel\Events — The parallel\Events class
    • parallel\Events\Input — The parallel\Events\Input class
    • parallel\Events\Event — The parallel\Events\Event class
    • parallel\Events\Event\Type — The parallel\Events\Event\Type class
    • parallel\Sync — The parallel\Sync class
  • pthreads
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Threaded — The Threaded class
    • Thread — The Thread class
    • Worker — The Worker class
    • Collectable — The Collectable interface
    • Pool — The Pool class
    • Volatile — The Volatile class
  • Semaphore — Semaphore, Shared Memory and IPC
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Semaphore İşlevleri
    • SysvMessageQueue — The SysvMessageQueue class
    • SysvSemaphore — The SysvSemaphore class
    • SysvSharedMemory — The SysvSharedMemory class
  • Shared Memory
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Shared Memory İşlevleri
    • Shmop — The Shmop class
  • Sync
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SyncMutex — The SyncMutex class
    • SyncSemaphore — The SyncSemaphore class
    • SyncEvent — The SyncEvent class
    • SyncReaderWriter — The SyncReaderWriter class
    • SyncSharedMemory — The SyncSharedMemory class


Eio

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Eio İşlevleri
    • eio_busy — Artificially increase load. Could be useful in tests, benchmarking
    • eio_cancel — Cancels a request
    • eio_chmod — Change file/directory permissions
    • eio_chown — Change file/directory permissions
    • eio_close — Close file
    • eio_custom — Execute custom request like any other eio_* call
    • eio_dup2 — Duplicate a file descriptor
    • eio_event_loop — Polls libeio until all requests proceeded
    • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod — Change file permissions
    • eio_fchown — Change file ownership
    • eio_fdatasync — Synchronize a file's in-core state with storage device
    • eio_fstat — Get file status
    • eio_fstatvfs — Get file system statistics
    • eio_fsync — Synchronize a file's in-core state with storage device
    • eio_ftruncate — Truncate a file
    • eio_futime — Change file last access and modification times
    • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio
    • eio_get_last_error — Returns string describing the last error associated with a request resource
    • eio_grp_add — Adds a request to the request group
    • eio_grp_cancel — Cancels a request group
    • eio_grp_limit — Set group limit
    • eio_grp — Creates a request group
    • eio_init — (Re-)initialize Eio
    • eio_link — Create a hardlink for file
    • eio_lstat — Get file status
    • eio_mkdir — Create directory
    • eio_mknod — Create a special or ordinary file
    • eio_nop — Does nothing, except go through the whole request cycle
    • eio_npending — Returns number of finished, but unhandled requests
    • eio_nready — Returns number of not-yet handled requests
    • eio_nreqs — Returns number of requests to be processed
    • eio_nthreads — Returns number of threads currently in use
    • eio_open — Opens a file
    • eio_poll — Can be to be called whenever there are pending requests that need finishing
    • eio_read — Read from a file descriptor at given offset
    • eio_readahead — Perform file readahead into page cache
    • eio_readdir — Reads through a whole directory
    • eio_readlink — Read value of a symbolic link
    • eio_realpath — Get the canonicalized absolute pathname
    • eio_rename — Change the name or location of a file
    • eio_rmdir — Remove a directory
    • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile — Transfer data between file descriptors
    • eio_set_max_idle — Set maximum number of idle threads
    • eio_set_max_parallel — Set maximum parallel threads
    • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll
    • eio_set_max_poll_time — Set maximum poll time
    • eio_set_min_parallel — Set minimum parallel thread number
    • eio_stat — Get file status
    • eio_statvfs — Get file system statistics
    • eio_symlink — Create a symbolic link
    • eio_sync_file_range — Sync a file segment with disk
    • eio_sync — Commit buffer cache to disk
    • eio_syncfs — Calls Linux' syncfs syscall, if available
    • eio_truncate — Truncate a file
    • eio_unlink — Delete a name and possibly the file it refers to
    • eio_utime — Change file last access and modification times
    • eio_write — Write to file


Giriş

This extension provides asyncronous POSIX I/O by means of » libeio C library written by Marc Lehmann.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.

Uyarı

It is important to be aware that each request is executed in a thread, and the order of execution of continuously queued requests basically is unpredictable. For instance, the following piece of code is incorrect.

Örnek 1 Incorrect requests

<?php
// Request to create symlink of $filename to $link
eio_symlink($filename, $link);

// Request to move $filename to $new_filename
eio_rename($filename, $new_filename);

// Process requests
eio_event_loop();
?>
In the example above eio_rename() request may finish before eio_symlink(). To fix it you might call eio_rename() in the callback of eio_symlink():

Örnek 2 Calling request from a request callback

<?php
function my_symlink_done($filename, $result) {
// Request to move $filename to $new_filename
eio_rename($filename, "/path/to/new-name");

// Process requests
eio_event_loop();
}

// Request to create symlink of $filename to $link
eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_done", $filename);

// Process requests
eio_event_loop();
?>
Alternatively, you might want to create a request group:

Örnek 3 Calling request from a request callback

<?php
/* Is called when the group requests are done */
function my_grp_done($data, $result) {
// ...
}

function my_symlink_done($filename, $result) {
// Create eio_rename request and add it to the group
$req = eio_rename($filename, "/path/to/new-name");
eio_grp_add($grp, $req);
// You might want to add more requests...
}

// Create a request group
$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_symlink request and add it to the group
// Pass $filename to the callback
$req = eio_symlink($filename, $link,
EIO_PRI_DEFAULT, "my_symlink_done", $filename);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>
Group is a special kind of request that could accumulate a set of regular eio requests. This could be used to create a complex request that opens, reads and closes a file.

Since version 0.3.0 alpha, a variable used in communications with libeio internally, could be retrieved with eio_get_event_stream(). The variable could be used to bind to an event loop supported by some other extension. You might organize a simple event loop where eio and libevent work together:

Örnek 4 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
/* Some libevent regulation might go here .. */
if (eio_nreqs()) {
eio_poll();
}
/* .. and here */
}

function my_res_cb($d, $r) {
var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

// This stream is used to bind with libevent
$fd = eio_get_event_stream();

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>


Gereksinimler

This extension has » libeio library embedded. So you do NOT need to install libeio separately.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/eio.

For information about manual installation, please read the file INSTALL included in the package.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

There are two resource types in this extension: request and request group.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Request priority constants:

EIO_PRI_MIN (int)
Request minimal prioriry
EIO_PRI_DEFAULT (int)
Request default prioriry
EIO_PRI_MAX (int)
Request maximal prioriry

eio_seek() whence argument:

EIO_SEEK_SET (int)
The offset is set to specified number of bytes(offset).
EIO_SEEK_CUR (int)
The offset is set to its current location plus offset bytes.
EIO_SEEK_END (int)
The offset is set to the size of the file plus offset bytes.

Flags used with eio_readdir():

EIO_READDIR_DENTS (int)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (int)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (int)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (int)
EIO_DT_UNKNOWN (int)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (int)
FIFO node type
EIO_DT_CHR (int)
Node type
EIO_DT_MPC (int)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (int)
Directory node type
EIO_DT_NAM (int)
Xenix special named file node type
EIO_DT_BLK (int)
Node type
EIO_DT_MPB (int)
Multiplexed block device (v7+coherent)
EIO_DT_REG (int)
Node type
EIO_DT_NWK (int)
EIO_DT_CMP (int)
HP-UX network special node type
EIO_DT_LNK (int)
Link node type
EIO_DT_SOCK (int)
Socket node type
EIO_DT_DOOR (int)
Solaris door node type
EIO_DT_WHT (int)
Node type
EIO_DT_MAX (int)
Highest node type value

Access modes for eio_open() flags argument:

EIO_O_RDONLY (int)
EIO_O_WRONLY (int)
EIO_O_RDWR (int)
EIO_O_NONBLOCK (int)
EIO_O_APPEND (int)
EIO_O_CREAT (int)
EIO_O_TRUNC (int)
EIO_O_EXCL (int)
EIO_O_FSYNC (int)

mode argument flags for eio_open():

EIO_S_IRUSR (int)
EIO_S_IWUSR (int)
EIO_S_IXUSR (int)
EIO_S_IRGRP (int)
EIO_S_IWGRP (int)
EIO_S_IXGRP (int)
EIO_S_IROTH (int)
EIO_S_IWOTH (int)
EIO_S_IXOTH (int)
EIO_S_IFREG (int)
EIO_S_IFCHR (int)
EIO_S_IFBLK (int)
EIO_S_IFIFO (int)
EIO_S_IFSOCK (int)

eio_sync_file_range() flags:

EIO_SYNC_FILE_RANGE_WAIT_BEFORE (int)
EIO_SYNC_FILE_RANGE_WRITE (int)
EIO_SYNC_FILE_RANGE_WAIT_AFTER (int)

eio_fallocate() flags:

EIO_FALLOC_FL_KEEP_SIZE (int)

Bilginize:

EIO_S_I* constants have the same meaning as their S_I* POSIX counterparts.

Bilginize:

EIO_SYNC_FILE_* constants have the same meaning as their SYNC_FILE_** counterparts.

Bilginize:

EIO_O_* constants have the same meaning as their O_* POSIX counterparts.


Örnekler

Örnek 1 Cancelling a request

<?php
/* Is called when eio_nop() finished */
function my_nop_cb($data, $result) {
echo "my_nop ", $data, "\n";
}

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Örnek 2 Calling eio_chmod()

<?php
$temp_filename = dirname(__FILE__) ."/eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
global $temp_filename;

if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
echo "eio_chmod_ok";
}

@unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_chmod_ok

Örnek 3 Making a custom request

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
var_dump($data);
var_dump(count($result));
var_dump($result['data_modified']);
var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
var_dump($data);

$result = array(
'result' => 1001,
'data_modified' => "my custom data",
);

return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)

Örnek 4 Grouping requests

<?php
/*
* Create a group request to open, read and close a file
*/

$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
global $temp_filename;
var_dump($result == 0);
@unlink($temp_filename);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
global $my_file_fd, $grp;

$my_file_fd = $result;

var_dump($result > 0);

// Create eio_read() request and add it to the group
$req = eio_read($my_file_fd, 4, 0, EIO_PRI_DEFAULT, "my_grp_file_read_callback");
eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
global $my_file_fd, $grp;

var_dump($result);

// Create eio_close() request and add it to the group
$req = eio_close($my_file_fd);
eio_grp_add($grp, $req);
}

$grp = eio_grp("my_grp_done", "my_grp_data");

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);
var_dump($grp);

eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Örnek 5 Using eio with libevent extension

<?php
function my_eio_poll($fd, $events, $arg) {
/* Some libevent regulation might go here .. */
if (eio_nreqs()) {
eio_poll();
}
/* .. and here */
}

function my_nop_cb($d, $r) {
var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_nop_cb", "nop data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"

Örnek 6 Using eio with event extension

<?php
$base = new EventBase();

// Retrieve eio polling stream.
// Note, this variable should be alive as long as the event loop is running.
$eio_stream = eio_get_event_stream();

// Bind eio polling stream to the event loop.
$poll_event = new Event($base, $eio_stream, Event::READ, function () {
if (eio_nreqs()) {
eio_poll();
}
});
$poll_event->add();

// Add eio jobs
eio_nop(EIO_PRI_DEFAULT, function () {
echo "eio_nop\n";
});

// Add events
$timer = Event::timer($base, function () {
echo "2 seconds elapsed\n";
});
$timer->add(2);

// Dispatch events.
$base->dispatch();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_nop
2 seconds elapsed


Eio İşlevleri

İçindekiler

  • eio_busy — Artificially increase load. Could be useful in tests, benchmarking
  • eio_cancel — Cancels a request
  • eio_chmod — Change file/directory permissions
  • eio_chown — Change file/directory permissions
  • eio_close — Close file
  • eio_custom — Execute custom request like any other eio_* call
  • eio_dup2 — Duplicate a file descriptor
  • eio_event_loop — Polls libeio until all requests proceeded
  • eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file
  • eio_fchmod — Change file permissions
  • eio_fchown — Change file ownership
  • eio_fdatasync — Synchronize a file's in-core state with storage device
  • eio_fstat — Get file status
  • eio_fstatvfs — Get file system statistics
  • eio_fsync — Synchronize a file's in-core state with storage device
  • eio_ftruncate — Truncate a file
  • eio_futime — Change file last access and modification times
  • eio_get_event_stream — Get stream representing a variable used in internal communications with libeio
  • eio_get_last_error — Returns string describing the last error associated with a request resource
  • eio_grp_add — Adds a request to the request group
  • eio_grp_cancel — Cancels a request group
  • eio_grp_limit — Set group limit
  • eio_grp — Creates a request group
  • eio_init — (Re-)initialize Eio
  • eio_link — Create a hardlink for file
  • eio_lstat — Get file status
  • eio_mkdir — Create directory
  • eio_mknod — Create a special or ordinary file
  • eio_nop — Does nothing, except go through the whole request cycle
  • eio_npending — Returns number of finished, but unhandled requests
  • eio_nready — Returns number of not-yet handled requests
  • eio_nreqs — Returns number of requests to be processed
  • eio_nthreads — Returns number of threads currently in use
  • eio_open — Opens a file
  • eio_poll — Can be to be called whenever there are pending requests that need finishing
  • eio_read — Read from a file descriptor at given offset
  • eio_readahead — Perform file readahead into page cache
  • eio_readdir — Reads through a whole directory
  • eio_readlink — Read value of a symbolic link
  • eio_realpath — Get the canonicalized absolute pathname
  • eio_rename — Change the name or location of a file
  • eio_rmdir — Remove a directory
  • eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
  • eio_sendfile — Transfer data between file descriptors
  • eio_set_max_idle — Set maximum number of idle threads
  • eio_set_max_parallel — Set maximum parallel threads
  • eio_set_max_poll_reqs — Set maximum number of requests processed in a poll
  • eio_set_max_poll_time — Set maximum poll time
  • eio_set_min_parallel — Set minimum parallel thread number
  • eio_stat — Get file status
  • eio_statvfs — Get file system statistics
  • eio_symlink — Create a symbolic link
  • eio_sync_file_range — Sync a file segment with disk
  • eio_sync — Commit buffer cache to disk
  • eio_syncfs — Calls Linux' syncfs syscall, if available
  • eio_truncate — Truncate a file
  • eio_unlink — Delete a name and possibly the file it refers to
  • eio_utime — Change file last access and modification times
  • eio_write — Write to file


Artificially increase load. Could be useful in tests, benchmarking

  • « Eio İşlevleri
  • eio_cancel »
  • PHP Manual
  • Eio İşlevleri
  • Artificially increase load. Could be useful in tests, benchmarking

eio_busy

(PECL eio >= 0.0.1dev)

eio_busy — Artificially increase load. Could be useful in tests, benchmarking

Açıklama

eio_busy(
int $delay,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_busy() artificially increases load taking delay seconds to execute. May be used for debugging, or benchmarking.

Bağımsız Değişkenler

delay

Delay in seconds

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

This callback is called when all the group requests are done.

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_busy() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_nop() - Does nothing, except go through the whole request cycle


Cancels a request

  • « eio_busy
  • eio_chmod »
  • PHP Manual
  • Eio İşlevleri
  • Cancels a request

eio_cancel

(PECL eio >= 0.0.1dev)

eio_cancel — Cancels a request

Açıklama

eio_cancel(resource $req): void

eio_cancel() cancels a request specified by req

Bağımsız Değişkenler

req

The request resource

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 eio_cancel() example

<?php
/* Is called when eio_nop() finished */
function my_nop_cb($data, $result) {
echo "my_nop ", $data, "\n";
}

// This eio_nop() call will be cancelled
$req = eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "1");
var_dump($req);
eio_cancel($req);

// This time eio_nop() will be processed
eio_nop(EIO_PRI_DEFAULT, "my_nop_cb", "2");

// Process requests
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(4) of type (EIO Request Descriptor)
my_nop 2

Ayrıca Bakınız

  • eio_grp_cancel() - Cancels a request group


Change file/directory permissions

  • « eio_cancel
  • eio_chown »
  • PHP Manual
  • Eio İşlevleri
  • Change file/directory permissions

eio_chmod

(PECL eio >= 0.0.1dev)

eio_chmod — Change file/directory permissions

Açıklama

eio_chmod(
string $path,
int $mode,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_chmod() changes file, or directory permissions. The new permissions are specified by mode.

Bağımsız Değişkenler

path

Path to the target file or directory

Uyarı

Avoid relative paths

mode

The new permissions. E.g. 0644.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_chmod() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_chown() - Change file/directory permissions


Change file/directory permissions

  • « eio_chmod
  • eio_close »
  • PHP Manual
  • Eio İşlevleri
  • Change file/directory permissions

eio_chown

(PECL eio >= 0.0.1dev)

eio_chown — Change file/directory permissions

Açıklama

eio_chown(
string $path,
int $uid,
int $gid = -1,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

Changes file, or directory permissions.

Bağımsız Değişkenler

path

Path to file or directory.

Uyarı

Avoid relative paths

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_chown() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_chmod() - Change file/directory permissions


Close file

  • « eio_chown
  • eio_custom »
  • PHP Manual
  • Eio İşlevleri
  • Close file

eio_close

(PECL eio >= 0.0.1dev)

eio_close — Close file

Açıklama

eio_close(
mixed $fd,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_close() closes file specified by fd.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_close() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_open() - Opens a file


Execute custom request like any other eio_* call

  • « eio_close
  • eio_dup2 »
  • PHP Manual
  • Eio İşlevleri
  • Execute custom request like any other eio_* call

eio_custom

(PECL eio >= 0.0.1dev)

eio_custom — Execute custom request like any other eio_* call

Açıklama

eio_custom(
callable $execute,
int $pri,
callable $callback,
mixed $data = NULL
): resource

eio_custom() executes custom function specified by execute processing it just like any other eio_* call.

Bağımsız Değişkenler

execute

Specifies the request function that should match the following prototype:

      mixed execute(mixed data);
callback is event completion callback that should match the following prototype:
      void callback(mixed data, mixed result);
data is the data passed to execute via data argument without modifications result value returned by execute

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_custom() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_custom() example

<?php
/* Callback for the custom callback */
function my_custom_callback($data, $result) {
var_dump($data);
var_dump(count($result));
var_dump($result['data_modified']);
var_dump($result['result']);
}

/* The custom request */
function my_custom($data) {
var_dump($data);

$result = array(
'result' => 1001,
'data_modified' => "my custom data",
);

return $result;
}

$data = "my_custom_data";
$req = eio_custom("my_custom", EIO_PRI_DEFAULT, "my_custom_callback", $data);
var_dump($req);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(4) of type (EIO Request Descriptor)
string(14) "my_custom_data"
string(14) "my_custom_data"
int(2)
string(14) "my custom data"
int(1001)


Duplicate a file descriptor

  • « eio_custom
  • eio_event_loop »
  • PHP Manual
  • Eio İşlevleri
  • Duplicate a file descriptor

eio_dup2

(PECL eio >= 0.0.1dev)

eio_dup2 — Duplicate a file descriptor

Açıklama

eio_dup2(
mixed $fd,
mixed $fd2,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_dup2() duplicates file descriptor.

Bağımsız Değişkenler

fd

Source stream, Socket resource, or numeric file descriptor

fd2

Target stream, Socket resource, or numeric file descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_dup2() returns request resource on success, başarısızlık durumunda false döner.


Polls libeio until all requests proceeded

  • « eio_dup2
  • eio_fallocate »
  • PHP Manual
  • Eio İşlevleri
  • Polls libeio until all requests proceeded

eio_event_loop

(PECL eio >= 0.0.1dev)

eio_event_loop — Polls libeio until all requests proceeded

Açıklama

eio_event_loop(): bool

eio_event_loop() polls libeio until all requests proceeded.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_event_loop() returns true on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_event_loop() example

<?php
$temp_filename = "eio-temp-file.tmp";
touch($temp_filename);

/* Is called when eio_chmod() finished */
function my_chmod_callback($data, $result) {
global $temp_filename;

if ($result == 0 && !is_readable($temp_filename) && is_writable($temp_filename)) {
echo "eio_chmod_ok";
}

@unlink($temp_filename);
}

eio_chmod($temp_filename, 0200, EIO_PRI_DEFAULT, "my_chmod_callback");
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_chmod_ok

Ayrıca Bakınız

  • eio_poll() - Can be to be called whenever there are pending requests that need finishing


Allows the caller to directly manipulate the allocated disk space for a file

  • « eio_event_loop
  • eio_fchmod »
  • PHP Manual
  • Eio İşlevleri
  • Allows the caller to directly manipulate the allocated disk space for a file

eio_fallocate

(PECL eio >= 0.0.1dev)

eio_fallocate — Allows the caller to directly manipulate the allocated disk space for a file

Açıklama

eio_fallocate(
mixed $fd,
int $mode,
int $offset,
int $length,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_fallocate() allows the caller to directly manipulate the allocated disk space for the file specified by fd file descriptor for the byte range starting at offset and continuing for length bytes.

Bilginize: File should be opened for writing

EIO_O_CREAT should be logically OR'd with EIO_O_WRONLY, or EIO_O_RDWR

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

Currently only one flag is supported for mode: EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant FALLOC_FL_KEEP_SIZE).

offset

Specifies start of the byte range.

length

Specifies length the byte range.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_fallocate() returns request resource on success, başarısızlık durumunda false döner.


Change file permissions

  • « eio_fallocate
  • eio_fchown »
  • PHP Manual
  • Eio İşlevleri
  • Change file permissions

eio_fchmod

(PECL eio >= 0.0.1dev)

eio_fchmod — Change file permissions

Açıklama

eio_fchmod(
mixed $fd,
int $mode,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_fchmod() changes permissions for the file specified by fd file descriptor.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

mode

The new permissions. E.g. 0644.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_fchmod() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_fchown() - Change file ownership


Change file ownership

  • « eio_fchmod
  • eio_fdatasync »
  • PHP Manual
  • Eio İşlevleri
  • Change file ownership

eio_fchown

(PECL eio >= 0.0.1dev)

eio_fchown — Change file ownership

Açıklama

eio_fchown(
mixed $fd,
int $uid,
int $gid = -1,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_fchown() changes ownership of the file specified by fd file descriptor.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor.

uid

User ID. Is ignored when equal to -1.

gid

Group ID. Is ignored when equal to -1.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_chmod() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_fchmod() - Change file permissions


Synchronize a file's in-core state with storage device

  • « eio_fchown
  • eio_fstat »
  • PHP Manual
  • Eio İşlevleri
  • Synchronize a file's in-core state with storage device

eio_fdatasync

(PECL eio >= 0.0.1dev)

eio_fdatasync — Synchronize a file's in-core state with storage device

Açıklama

eio_fdatasync(
mixed $fd,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_fdatasync() synchronizes a file's in-core state with storage device.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open().

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_fdatasync() returns request resource on success, başarısızlık durumunda false döner.


Get file status

  • « eio_fdatasync
  • eio_fstatvfs »
  • PHP Manual
  • Eio İşlevleri
  • Get file status

eio_fstat

(PECL eio >= 0.0.1dev)

eio_fstat — Get file status

Açıklama

eio_fstat(
mixed $fd,
int $pri,
callable $callback,
mixed $data = ?
): resource

eio_fstat() returns file status information in result argument of callback

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_busy() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_lstat() example

<?php
// Create temporary file
$tmp_filename = dirname(__FILE__) ."/eio-file.tmp";
touch($tmp_filename);

/* Is called when eio_fstat() done */
function my_res_cb($data, $result) {
// Should output array with stat info
var_dump($result);

if ($data['fd']) {
// Close temporary file
eio_close($data['fd']);
eio_event_loop();
}
// Remove temporary file
@unlink($data['file']);
}

/* Is called when eio_open() done */
function my_open_cb($data, $result) {
// Prepare data for callback
$d = array(
'fd' => $result,
'file'=> $data
);
// Request stat info
eio_fstat($result, EIO_PRI_DEFAULT, "my_res_cb", $d);
// Process request(s)
eio_event_loop();
}

// Open temporary file
eio_open($tmp_filename, EIO_O_RDONLY, NULL, EIO_PRI_DEFAULT,
"my_open_cb", $tmp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489159)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318239506)
  ["st_mtime"]=>
  int(1318239506)
  ["st_ctime"]=>
  int(1318239506)
}

Ayrıca Bakınız

  • eio_lstat() - Get file status
  • eio_stat() - Get file status


Get file system statistics

  • « eio_fstat
  • eio_fsync »
  • PHP Manual
  • Eio İşlevleri
  • Get file system statistics

eio_fstatvfs

(PECL eio >= 0.0.1dev)

eio_fstatvfs — Get file system statistics

Açıklama

eio_fstatvfs(
mixed $fd,
int $pri,
callable $callback,
mixed $data = ?
): resource

eio_fstatvfs() returns file system statistics in result of callback.

Bağımsız Değişkenler

fd

A file descriptor of a file within the mounted file system.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_fstatvfs() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_statvfs() - Get file system statistics


Synchronize a file's in-core state with storage device

  • « eio_fstatvfs
  • eio_ftruncate »
  • PHP Manual
  • Eio İşlevleri
  • Synchronize a file's in-core state with storage device

eio_fsync

(PECL eio >= 0.0.1dev)

eio_fsync — Synchronize a file's in-core state with storage device

Açıklama

eio_fsync(
mixed $fd,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

Synchronize a file's in-core state with storage device

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_fsync() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_sync() - Commit buffer cache to disk


Truncate a file

  • « eio_fsync
  • eio_futime »
  • PHP Manual
  • Eio İşlevleri
  • Truncate a file

eio_ftruncate

(PECL eio >= 0.0.1dev)

eio_ftruncate — Truncate a file

Açıklama

eio_ftruncate(
mixed $fd,
int $offset = 0,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_ftruncate() causes a regular file referenced by fd file descriptor to be truncated to precisely length bytes.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor.

offset

Offset from beginning of the file

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_ftruncate() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_truncate() - Truncate a file


Change file last access and modification times

  • « eio_ftruncate
  • eio_get_event_stream »
  • PHP Manual
  • Eio İşlevleri
  • Change file last access and modification times

eio_futime

(PECL eio >= 0.0.1dev)

eio_futime — Change file last access and modification times

Açıklama

eio_futime(
mixed $fd,
float $atime,
float $mtime,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_futime() changes file last access and modification times.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

atime

Access time

mtime

Modification time

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_futime() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_utime() - Change file last access and modification times


Get stream representing a variable used in internal communications with libeio

  • « eio_futime
  • eio_get_last_error »
  • PHP Manual
  • Eio İşlevleri
  • Get stream representing a variable used in internal communications with libeio

eio_get_event_stream

(PECL eio >= 0.3.1b)

eio_get_event_stream — Get stream representing a variable used in internal communications with libeio

Açıklama

eio_get_event_stream(): mixed

eio_get_event_stream() acquires stream representing a variable used in internal communications with libeio. Could be used to bind with some event loop provided by other PECL extension, for example libevent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_get_event_stream() returns stream on success; otherwise, null

Örnekler

Örnek 1 Using eio with libevent

<?php
function my_eio_poll($fd, $events, $arg) {
/* Some libevent regulation might go here .. */
if (eio_nreqs()) {
eio_poll();
}
/* .. and here */
}

function my_res_cb($d, $r) {
var_dump($r); var_dump($d);
}

$base = event_base_new();
$event = event_new();

$fd = eio_get_event_stream();
var_dump($fd);

eio_nop(EIO_PRI_DEFAULT, "my_res_cb", "nop data");
eio_mkdir("/tmp/abc-eio-temp", 0750, EIO_PRI_DEFAULT, "my_res_cb", "mkdir data");
/* some other eio_* calls here ... */

// set event flags
event_set($event, $fd, EV_READ /*| EV_PERSIST*/, "my_eio_poll", array($event, $base));

// set event base
event_base_set($event, $base);

// enable event
event_add($event);

// start event loop
event_base_loop($base);

/* The same will be available via buffered libevent interface */
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(0)
string(8) "nop data"
int(0)
string(10) "mkdir data"


Returns string describing the last error associated with a request resource

  • « eio_get_event_stream
  • eio_grp_add »
  • PHP Manual
  • Eio İşlevleri
  • Returns string describing the last error associated with a request resource

eio_get_last_error

(PECL eio >= 1.0.0)

eio_get_last_error — Returns string describing the last error associated with a request resource

Açıklama

eio_get_last_error(resource $req): string

eio_get_last_error() returns string describing the last error associated with req.

Bağımsız Değişkenler

req

The request resource

Dönen Değerler

eio_get_last_error() returns string describing the last error associated with the request resource specified by req.

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Adds a request to the request group

  • « eio_get_last_error
  • eio_grp_cancel »
  • PHP Manual
  • Eio İşlevleri
  • Adds a request to the request group

eio_grp_add

(PECL eio >= 0.0.1dev)

eio_grp_add — Adds a request to the request group

Açıklama

eio_grp_add(resource $grp, resource $req): void

eio_grp_add() adds a request to the request group.

Bağımsız Değişkenler

grp

The request group resource returned by eio_grp()

req

The request resource

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Grouping requests

<?php
/*
* Create a group request to open, read and close a file
*/

// Create temporary file and write some bytes to it
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
var_dump($result == 0);
@unlink($data);
}

/* Is called when eio_open() done */
function my_grp_file_opened_callback($data, $result) {
global $grp;

// $result should contain the file descriptor
var_dump($result > 0);

// Create eio_read() request and add it to the group
// Pass file descriptor to the callback
$req = eio_read($result, 4, 0,
EIO_PRI_DEFAULT, "my_grp_file_read_callback", $result);
eio_grp_add($grp, $req);
}

/* Is called when eio_read() done */
function my_grp_file_read_callback($data, $result) {
global $grp;

// Read bytes
var_dump($result);

// Create eio_close() request and add it to the group
// $data should contain the file descriptor
$req = eio_close($data);
eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);
var_dump($grp);

// Create eio_open() request and add it to the group
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

resource(6) of type (EIO Group Descriptor)
bool(true)
string(4) "some"
bool(true)

Ayrıca Bakınız

  • eio_grp() - Creates a request group
  • eio_grp_cancel() - Cancels a request group
  • eio_grp_limit() - Set group limit


Cancels a request group

  • « eio_grp_add
  • eio_grp_limit »
  • PHP Manual
  • Eio İşlevleri
  • Cancels a request group

eio_grp_cancel

(PECL eio >= 0.0.1dev)

eio_grp_cancel — Cancels a request group

Açıklama

eio_grp_cancel(resource $grp): void

eio_grp_cancel() cancels a group request specified by grp request group resource.

Bağımsız Değişkenler

grp

The request group resource returned by eio_grp().

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • eio_grp() - Creates a request group
  • eio_grp_add() - Adds a request to the request group


Set group limit

  • « eio_grp_cancel
  • eio_grp »
  • PHP Manual
  • Eio İşlevleri
  • Set group limit

eio_grp_limit

(PECL eio >= 0.0.1dev)

eio_grp_limit — Set group limit

Açıklama

eio_grp_limit(resource $grp, int $limit): void

Limit number of requests in the request group.

Bağımsız Değişkenler

grp

The request group resource.

limit

Number of requests in the group.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • eio_grp_add() - Adds a request to the request group


Creates a request group

  • « eio_grp_limit
  • eio_init »
  • PHP Manual
  • Eio İşlevleri
  • Creates a request group

eio_grp

(PECL eio >= 0.0.1dev)

eio_grp — Creates a request group

Açıklama

eio_grp(callable $callback, string $data = NULL): resource

eio_grp() creates a request group.

Bağımsız Değişkenler

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_grp() returns request group resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_grp() example

<?php
$temp_filename = dirname(__FILE__) ."/eio-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "some data");
fclose($fp);
$my_file_fd = NULL;

/* Is called when the group requests are done */
function my_grp_done($data, $result) {
// Remove the file, if it still exists
@unlink($data);
}

/* Is called when the temporary file is opened */
function my_grp_file_opened_callback($data, $result) {
global $my_file_fd, $grp;

$my_file_fd = $result;

$req = eio_read($my_file_fd, 4, 0,
EIO_PRI_DEFAULT, "my_grp_file_read_callback");
eio_grp_add($grp, $req);
}

/* Is called when the file is read */
function my_grp_file_read_callback($data, $result) {
global $my_file_fd, $grp;

var_dump($result);

// Create request to close the file
$req = eio_close($my_file_fd);

// Add request to the group
eio_grp_add($grp, $req);
}

// Create request group
$grp = eio_grp("my_grp_done", $temp_filename);

// Create request
$req = eio_open($temp_filename, EIO_O_RDWR | EIO_O_APPEND , NULL,
EIO_PRI_DEFAULT, "my_grp_file_opened_callback", NULL);

// Add request to the group
eio_grp_add($grp, $req);

// Process requests
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(4) "some"

Ayrıca Bakınız

  • eio_grp_cancel() - Cancels a request group
  • eio_grp_add() - Adds a request to the request group


(Re-)initialize Eio

  • « eio_grp
  • eio_link »
  • PHP Manual
  • Eio İşlevleri
  • (Re-)initialize Eio

eio_init

(PECL eio = 1.0.0)

eio_init — (Re-)initialize Eio

Açıklama

eio_init(): void

eio_init() (re-)initializes Eio. It allocates memory for internal structures of libeio and Eio itself. You may call eio_init() before using Eio functions. Otherwise it will be called internally first time you invoke an Eio function in a process.

Bilginize:

This function was removed in version 3.0.0RC1 of the eio extension for PHP version 8 and higher.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Create a hardlink for file

  • « eio_init
  • eio_lstat »
  • PHP Manual
  • Eio İşlevleri
  • Create a hardlink for file

eio_link

(PECL eio >= 0.0.1dev)

eio_link — Create a hardlink for file

Açıklama

eio_link(
string $path,
string $new_path,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_link() creates a hardlink new_path for a file specified by path.

Bağımsız Değişkenler

path

Source file path.

new_path

Target file path.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

Örnekler

Örnek 1 eio_link() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
global $link, $filename;
var_dump(file_exists($data) && !is_link($data));
@unlink($data);

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
global $link, $filename;
var_dump(file_exists($data) && is_link($data));

if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
@unlink($link);
@unlink($filename);
}
}

function my_readlink_cb($data, $result) {
global $filename, $link;
var_dump($result);

@unlink($link);
@unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
string(%d) "%ssymlink.dat"

Ayrıca Bakınız

  • eio_symlink() - Create a symbolic link


Get file status

  • « eio_link
  • eio_mkdir »
  • PHP Manual
  • Eio İşlevleri
  • Get file status

eio_lstat

(PECL eio >= 0.0.1dev)

eio_lstat — Get file status

Açıklama

eio_lstat(
string $path,
int $pri,
callable $callback,
mixed $data = NULL
): resource

eio_lstat() returns file status information in result argument of callback

Bağımsız Değişkenler

path

The file path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_lstat() returns request resource on success or false on error.

Örnekler

Örnek 1 eio_lstat() example

<?php
$tmp_filename = dirname(__FILE__). "/eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
var_dump($data);
var_dump($result);
}

function my_open_cb($data, $result) {
eio_close($result);
eio_event_loop();

@unlink($data);
}

eio_lstat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_lstat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(9) "eio_lstat"
array(12) {
 ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2099197)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318235777)
  ["st_mtime"]=>
  int(1318235777)
  ["st_ctime"]=>
  int(1318235777)
}

Ayrıca Bakınız

  • eio_stat() - Get file status
  • eio_fstat() - Get file status


Create directory

  • « eio_lstat
  • eio_mknod »
  • PHP Manual
  • Eio İşlevleri
  • Create directory

eio_mkdir

(PECL eio >= 0.0.1dev)

eio_mkdir — Create directory

Açıklama

eio_mkdir(
string $path,
int $mode,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_mkdir() creates directory with specified access mode.

Bağımsız Değişkenler

path

Path for the new directory.

mode

Access mode, e.g. 0755

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_mkdir() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_mkdir() example

<?php
$temp_dirname = "eio-temp-dir";

/* Is called when eio_mkdir() finishes */
function my_mkdir_callback($data, $result) {
if ($result == 0 && is_dir($temp_dirname)
&& !is_readable($temp_dirname)
&& is_writable($temp_dirname)) {
echo "eio_mkdir_ok";
}

// Remove directory
if (file_exists($data))
rmdir($temp_dirname);
}

// Create directory with access mode 0300
eio_mkdir($temp_dirname, 0300, EIO_PRI_DEFAULT, "my_mkdir_callback", $temp_dirname);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_mkdir_ok

Ayrıca Bakınız

  • eio_rmdir() - Remove a directory


Create a special or ordinary file

  • « eio_mkdir
  • eio_nop »
  • PHP Manual
  • Eio İşlevleri
  • Create a special or ordinary file

eio_mknod

(PECL eio >= 0.0.1dev)

eio_mknod — Create a special or ordinary file

Açıklama

eio_mknod(
string $path,
int $mode,
int $dev,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_mknod() creates ordinary or special(often) file.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

path

Path for the new node(file).

mode

Specifies both the permissions to use and the type of node to be created. It should be a combination (using bitwise OR) of one of the file types listed below and the permissions for the new node(e.g. 0640). Possible file types are: EIO_S_IFREG(regular file), EIO_S_IFCHR(character file), EIO_S_IFBLK(block special file), EIO_S_IFIFO(FIFO - named pipe) and EIO_S_IFSOCK(UNIX domain socket). To specify permissions EIO_S_I* constants could be used.

dev

If the file type is EIO_S_IFCHR or EIO_S_IFBLK then dev specifies the major and minor numbers of the newly created device special file. Otherwise dev ignored. See mknod(2) man page for details.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_mknod() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_mknod() example

<?php
// FIFO name
$temp_filename = "/tmp/eio-temp-fifo";

/* Is called when eio_mknod() finishes */
function my_mknod_callback($data, $result) {
$s = stat($data);
var_dump($s);

if ($result == 0) {
echo "eio_mknod_ok";
}

@unlink($data);
}

eio_mknod($temp_filename, EIO_S_IFIFO, 0,
EIO_PRI_DEFAULT, "my_mknod_callback", $temp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(26) {
  [0]=>
  int(17)
  [1]=>
  int(2337608)
  [2]=>
  int(4096)
  [3]=>
  int(1)
  [4]=>
  int(1000)
  [5]=>
  int(100)
  [6]=>
  int(0)
  [7]=>
  int(0)
  [8]=>
  int(1318241261)
  [9]=>
  int(1318241261)
  [10]=>
  int(1318241261)
  [11]=>
  int(4096)
  [12]=>
  int(0)
  ["dev"]=>
  int(17)
  ["ino"]=>
  int(2337608)
  ["mode"]=>
  int(4096)
  ["nlink"]=>
  int(1)
  ["uid"]=>
  int(1000)
  ["gid"]=>
  int(100)
  ["rdev"]=>
  int(0)
  ["size"]=>
  int(0)
  ["atime"]=>
  int(1318241261)
  ["mtime"]=>
  int(1318241261)
  ["ctime"]=>
  int(1318241261)
  ["blksize"]=>
  int(4096)
  ["blocks"]=>
  int(0)
}
eio_mknod_ok

Ayrıca Bakınız

  • eio_open() - Opens a file


Does nothing, except go through the whole request cycle

  • « eio_mknod
  • eio_npending »
  • PHP Manual
  • Eio İşlevleri
  • Does nothing, except go through the whole request cycle

eio_nop

(PECL eio >= 0.0.1dev)

eio_nop — Does nothing, except go through the whole request cycle

Açıklama

eio_nop(int $pri = EIO_PRI_DEFAULT, callable $callback = NULL, mixed $data = NULL): resource

eio_nop() does nothing, except go through the whole request cycle. Could be useful in debugging.

Bağımsız Değişkenler

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_nop() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_busy() - Artificially increase load. Could be useful in tests, benchmarking


Returns number of finished, but unhandled requests

  • « eio_nop
  • eio_nready »
  • PHP Manual
  • Eio İşlevleri
  • Returns number of finished, but unhandled requests

eio_npending

(PECL eio >= 0.0.1dev)

eio_npending — Returns number of finished, but unhandled requests

Açıklama

eio_npending(): int

eio_npending() returns number of finished, but unhandled requests

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_npending() returns number of finished, but unhandled requests.

Ayrıca Bakınız

  • eio_nreqs() - Returns number of requests to be processed
  • eio_nready() - Returns number of not-yet handled requests
  • eio_nthreads() - Returns number of threads currently in use


Returns number of not-yet handled requests

  • « eio_npending
  • eio_nreqs »
  • PHP Manual
  • Eio İşlevleri
  • Returns number of not-yet handled requests

eio_nready

(PECL eio >= 0.0.1dev)

eio_nready — Returns number of not-yet handled requests

Açıklama

eio_nready(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_nready() returns number of not-yet handled requests

Ayrıca Bakınız

  • eio_nreqs() - Returns number of requests to be processed
  • eio_nready()
  • eio_nthreads() - Returns number of threads currently in use


Returns number of requests to be processed

  • « eio_nready
  • eio_nthreads »
  • PHP Manual
  • Eio İşlevleri
  • Returns number of requests to be processed

eio_nreqs

(PECL eio >= 0.0.1dev)

eio_nreqs — Returns number of requests to be processed

Açıklama

eio_nreqs(): int

eio_nreqs() could be called in a custom loop calling eio_poll().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_nreqs() returns number of requests to be processed.

Örnekler

Örnek 1 eio_nreqs() example

<?php
function res_cb($data, $result) {
var_dump($data);
var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
eio_poll();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Ayrıca Bakınız

  • eio_poll() - Can be to be called whenever there are pending requests that need finishing
  • eio_nready() - Returns number of not-yet handled requests


Returns number of threads currently in use

  • « eio_nreqs
  • eio_open »
  • PHP Manual
  • Eio İşlevleri
  • Returns number of threads currently in use

eio_nthreads

(PECL eio >= 0.0.1dev)

eio_nthreads — Returns number of threads currently in use

Açıklama

eio_nthreads(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_nthreads() returns number of threads currently in use.

Ayrıca Bakınız

  • eio_npending() - Returns number of finished, but unhandled requests
  • eio_nready() - Returns number of not-yet handled requests
  • eio_nreqs() - Returns number of requests to be processed
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_max_parallel() - Set maximum parallel threads
  • eio_set_min_parallel() - Set minimum parallel thread number


Opens a file

  • « eio_nthreads
  • eio_poll »
  • PHP Manual
  • Eio İşlevleri
  • Opens a file

eio_open

(PECL eio >= 0.0.1dev)

eio_open — Opens a file

Açıklama

eio_open(
string $path,
int $flags,
int $mode,
int $pri,
callable $callback,
mixed $data = NULL
): resource

eio_open() opens file specified by path in access mode mode with

Bağımsız Değişkenler

path

Path of the file to be opened.

Uyarı

In some SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.

flags

One of EIO_O_* constants, or their combinations. EIO_O_* constants have the same meaning, as their corresponding O_* counterparts defined in fnctl.h C header file. Default is EIO_O_RDWR.

mode

One of EIO_S_I* constants, or their combination (via bitwise OR operator). The constants have the same meaning as their S_I* counterparts defined in » sys/stat.h C header file. Required, if a file is created. Otherwise ignored.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_open() returns file descriptor in result argument of callback on success; otherwise, result is equal to -1.

Örnekler

Örnek 1 eio_open() example

<?php
$temp_filename = "eio-temp-file.tmp";

/* Is called when eio_close() finishes */
function my_close_cb($data, $result) {
// Zero indicates success
var_dump($result == 0);
@unlink($data);
}

/* Is called when eio_open() finishes */
function my_file_opened_callback($data, $result) {
// $result should contain the file descriptor
var_dump($result > 0);

if ($result > 0) {
// Close the file
eio_close($result, EIO_PRI_DEFAULT, "my_close_cb", $data);
eio_event_loop();
}
}

// Create new file for reading and writing
// Deny group and others to do anything with that file
eio_open($temp_filename, EIO_O_CREAT | EIO_O_RDWR, EIO_S_IRUSR | EIO_S_IWUSR,
EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)

Ayrıca Bakınız

  • eio_mknod() - Create a special or ordinary file


Can be to be called whenever there are pending requests that need finishing

  • « eio_open
  • eio_read »
  • PHP Manual
  • Eio İşlevleri
  • Can be to be called whenever there are pending requests that need finishing

eio_poll

(PECL eio >= 0.0.1dev)

eio_poll — Can be to be called whenever there are pending requests that need finishing

Açıklama

eio_poll(): int

eio_poll() can be used to implement special event loop. For this eio_nreqs() could be used to test if there are unprocessed requests.

Bilginize:

Applicable only when implementing userspace event loop.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

If any request invocation returns a non-zero value, returns that value. Otherwise, it returns 0.

Örnekler

Örnek 1 eio_poll() example

<?php
function res_cb($data, $result) {
var_dump($data);
var_dump($result);
}

eio_nop(EIO_PRI_DEFAULT, "res_cb", "1");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "2");
eio_nop(EIO_PRI_DEFAULT, "res_cb", "3");

while (eio_nreqs()) {
// Some specific IPC or so
eio_poll();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "1"
int(0)
string(1) "3"
int(0)
string(1) "2"
int(0)

Ayrıca Bakınız

  • eio_nreqs() - Returns number of requests to be processed


Read from a file descriptor at given offset

  • « eio_poll
  • eio_readahead »
  • PHP Manual
  • Eio İşlevleri
  • Read from a file descriptor at given offset

eio_read

(PECL eio >= 0.0.1dev)

eio_read — Read from a file descriptor at given offset

Açıklama

eio_read(
mixed $fd,
int $length,
int $offset,
int $pri,
callable $callback,
mixed $data = NULL
): resource

eio_read() reads up to length bytes from fd file descriptor at offset. The read bytes are stored in result argument of callback.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor

length

Maximum number of bytes to read.

offset

Offset within the file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_read() stores read bytes in result argument of callback function.

Örnekler

Örnek 1 eio_read() example

<?php
// Open a temporary file and write some bytes there
$temp_filename = "eio-temp-file.tmp";
$fp = fopen($temp_filename, "w");
fwrite($fp, "1234567890");
fclose($fp);

/* Is called when eio_read() is done */
function my_read_cb($data, $result) {
global $temp_filename;

// Output read bytes
var_dump($result);

// Close file
eio_close($data);
eio_event_loop();

// Remove temporary file
@unlink($temp_filename);
}

/* Is called when eio_open() is done */
function my_file_opened_callback($data, $result) {
// $result should contain the file descriptor
if ($result > 0) {
// Read 5 bytes starting from third
eio_read($result, 5, 2, EIO_PRI_DEFAULT, "my_read_cb", $result);
eio_event_loop();
} else {
// eio_open() failed
unlink($data);
}
}

// Open the file for reading and writing
eio_open($temp_filename, EIO_O_RDWR, NULL,
EIO_PRI_DEFAULT, "my_file_opened_callback", $temp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "34567"

Ayrıca Bakınız

  • eio_open() - Opens a file
  • eio_write() - Write to file
  • eio_close() - Close file
  • eio_event_loop() - Polls libeio until all requests proceeded


Perform file readahead into page cache

  • « eio_read
  • eio_readdir »
  • PHP Manual
  • Eio İşlevleri
  • Perform file readahead into page cache

eio_readahead

(PECL eio >= 0.0.1dev)

eio_readahead — Perform file readahead into page cache

Açıklama

eio_readahead(
mixed $fd,
int $offset,
int $length,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_readahead() populates the page cache with data from a file so that subsequent reads from that file will not block on disk I/O. See READAHEAD(2) man page for details.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_readahead() returns request resource on success, başarısızlık durumunda false döner.


Reads through a whole directory

  • « eio_readahead
  • eio_readlink »
  • PHP Manual
  • Eio İşlevleri
  • Reads through a whole directory

eio_readdir

(PECL eio >= 0.0.1dev)

eio_readdir — Reads through a whole directory

Açıklama

eio_readdir(
string $path,
int $flags,
int $pri,
callable $callback,
string $data = NULL
): resource

Reads through a whole directory(via the opendir, readdir and closedir system calls) and returns either the names or an array in result argument of callback function, depending on the flags argument.

Bağımsız Değişkenler

path

Directory path.

flags

Combination of EIO_READDIR_* constants.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_readdir() returns request resource on success, başarısızlık durumunda false döner. Sets result argument of callback function according to flags:

EIO_READDIR_DENTS (int)
eio_readdir() flag. If specified, the result argument of the callback becomes an array with the following keys: 'names' - array of directory names 'dents' - array of struct eio_dirent-like arrays having the following keys each: 'name' - the directory name; 'type' - one of EIO_DT_* constants; 'inode' - the inode number, if available, otherwise unspecified;
EIO_READDIR_DIRS_FIRST (int)
When this flag is specified, the names will be returned in an order where likely directories come first, in optimal stat order.
EIO_READDIR_STAT_ORDER (int)
When this flag is specified, then the names will be returned in an order suitable for stat'ing each one. When planning to stat() all files in the given directory, the returned order will likely be fastest.
EIO_READDIR_FOUND_UNKNOWN (int)

Node types:

EIO_DT_UNKNOWN (int)
Unknown node type(very common). Further stat() needed.
EIO_DT_FIFO (int)
FIFO node type
EIO_DT_CHR (int)
Node type
EIO_DT_MPC (int)
Multiplexed char device (v7+coherent) node type
EIO_DT_DIR (int)
Directory node type
EIO_DT_NAM (int)
Xenix special named file node type
EIO_DT_BLK (int)
Node type
EIO_DT_MPB (int)
Multiplexed block device (v7+coherent)
EIO_DT_REG (int)
Node type
EIO_DT_NWK (int)
EIO_DT_CMP (int)
HP-UX network special node type
EIO_DT_LNK (int)
Link node type
EIO_DT_SOCK (int)
Socket node type
EIO_DT_DOOR (int)
Solaris door node type
EIO_DT_WHT (int)
Node type
EIO_DT_MAX (int)
Highest node type value

Örnekler

Örnek 1 eio_readdir() example

<?php
/* Is called when eio_readdir() finishes */
function my_readdir_callback($data, $result) {
echo __FUNCTION__, " called\n";
echo "data: "; var_dump($data);
echo "result: "; var_dump($result);
echo "\n";
}

eio_readdir("/var/spool/news", EIO_READDIR_STAT_ORDER | EIO_READDIR_DIRS_FIRST,
EIO_PRI_DEFAULT, "my_readdir_callback");
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

my_readdir_callback called
data: NULL
result: array(2) {
 ["names"]=>
  array(7) {
   [0]=>
    string(7) "archive"
    [1]=>
    string(8) "articles"
    [2]=>
    string(8) "incoming"
    [3]=>
    string(7) "innfeed"
    [4]=>
    string(8) "outgoing"
    [5]=>
    string(8) "overview"
    [6]=>
    string(3) "tmp"
  }
 ["dents"]=>
  array(7) {
   [0]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "archive"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393265)
    }
   [1]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "articles"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393266)
    }
   [2]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "incoming"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393267)
    }
   [3]=>
    array(3)
    {
     ["name"]=>
      string(7)
      "innfeed"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393269)
    }
   [4]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "outgoing"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393270)
    }
   [5]=>
    array(3)
    {
     ["name"]=>
      string(8)
      "overview"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393271)
    }
   [6]=>
    array(3)
    {
     ["name"]=>
      string(3)
      "tmp"
      ["type"]=>
      int(4)
      ["inode"]=>
      int(393272)
    }
  }
}


Read value of a symbolic link

  • « eio_readdir
  • eio_realpath »
  • PHP Manual
  • Eio İşlevleri
  • Read value of a symbolic link

eio_readlink

(PECL eio >= 0.0.1dev)

eio_readlink — Read value of a symbolic link

Açıklama

eio_readlink(
string $path,
int $pri,
callable $callback,
mixed $data = NULL
): resource

Bağımsız Değişkenler

path

Source symbolic link path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_readlink() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_readlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";
$hardlink = dirname(__FILE__)."/hardlink.link";

function my_hardlink_cb($data, $result) {
global $link, $filename;
var_dump(file_exists($data) && !is_link($data));
@unlink($data);

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
}

function my_symlink_cb($data, $result) {
global $link, $filename;
var_dump(file_exists($data) && is_link($data));

if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
@unlink($link);
@unlink($filename);
}
}

function my_readlink_cb($data, $result) {
global $filename, $link;
var_dump($result);

@unlink($link);
@unlink($filename);
}

eio_link($filename, $hardlink, EIO_PRI_DEFAULT, "my_hardlink_cb", $hardlink);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
string(16) "/tmp/symlink.dat"

Ayrıca Bakınız

  • eio_symlink() - Create a symbolic link


Get the canonicalized absolute pathname

  • « eio_readlink
  • eio_rename »
  • PHP Manual
  • Eio İşlevleri
  • Get the canonicalized absolute pathname

eio_realpath

(PECL eio >= 0.0.1dev)

eio_realpath — Get the canonicalized absolute pathname

Açıklama

eio_realpath(
string $path,
int $pri,
callable $callback,
string $data = NULL
): resource

eio_realpath() returns the canonicalized absolute pathname in result argument of callback function.

Bağımsız Değişkenler

path

Short pathname

pri

callback

data

Dönen Değerler

Örnekler

Örnek 1 eio_realpath() example

<?php
var_dump(getcwd());

function my_realpath_allback($data, $result) {
var_dump($result);
}

eio_realpath("../", EIO_PRI_DEFAULT, "my_realpath_allback");
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(12) "/home/ruslan"
string(5) "/home"


Change the name or location of a file

  • « eio_realpath
  • eio_rmdir »
  • PHP Manual
  • Eio İşlevleri
  • Change the name or location of a file

eio_rename

(PECL eio >= 0.0.1dev)

eio_rename — Change the name or location of a file

Açıklama

eio_rename(
string $path,
string $new_path,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_rename() renames or moves a file to new location.

Bağımsız Değişkenler

path

Source path

new_path

Target path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_rename() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_rename() example

<?php
$filename = dirname(__FILE__)."/eio-temp-file.dat";
touch($filename);
$new_filename = dirname(__FILE__)."/eio-temp-file-new.dat";

function my_rename_cb($data, $result) {
global $filename, $new_filename;

if ($result == 0 && !file_exists($filename) && file_exists($new_filename)) {
@unlink($new_filename);
echo "eio_rename_ok";
} else {
@unlink($filename);
}
}

eio_rename($filename, $new_filename, EIO_PRI_DEFAULT, "my_rename_cb", $filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_rename_ok


Remove a directory

  • « eio_rename
  • eio_seek »
  • PHP Manual
  • Eio İşlevleri
  • Remove a directory

eio_rmdir

(PECL eio >= 0.0.1dev)

eio_rmdir — Remove a directory

Açıklama

eio_rmdir(
string $path,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_rmdir() removes a directory.

Bağımsız Değişkenler

path

Directory path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_rmdir() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_rmdir() example

<?php
$temp_dirname = "eio-temp-dir";
mkdir($temp_dirname);

function my_rmdir_callback($data, $result) {
if ($result == 0 && !file_exists($data)) {
echo "eio_rmdir_ok";
} else if (file_exists($data)) {
rmdir($data);
}
}

eio_rmdir($temp_dirname, EIO_PRI_DEFAULT, "my_rmdir_callback", $temp_dirname);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

eio_rmdir_ok

Ayrıca Bakınız

  • eio_mkdir() - Create directory


Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

  • « eio_rmdir
  • eio_sendfile »
  • PHP Manual
  • Eio İşlevleri
  • Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

eio_seek

(PECL eio >= 0.5.0b)

eio_seek — Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence

Açıklama

eio_seek(
mixed $fd,
int $offset,
int $whence,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_seek() repositions the offset of the open file associated with stream, Socket resource, or file descriptor specified by fd to the argument offset according to the directive whence as follows:

  • EIO_SEEK_SET - Set position equal to offset bytes.
  • EIO_SEEK_CUR - Set position to current location plus offset.
  • EIO_SEEK_END - Set position to end-of-file plus offset.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor

offset

Starting point from which data is to be read.

length

Number of bytes to be read.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_seek() returns request resource on success, başarısızlık durumunda false döner.


Transfer data between file descriptors

  • « eio_seek
  • eio_set_max_idle »
  • PHP Manual
  • Eio İşlevleri
  • Transfer data between file descriptors

eio_sendfile

(PECL eio >= 0.0.1dev)

eio_sendfile — Transfer data between file descriptors

Açıklama

eio_sendfile(
mixed $out_fd,
mixed $in_fd,
int $offset,
int $length,
int $pri = ?,
callable $callback = ?,
string $data = ?
): resource

eio_sendfile() copies data between one file descriptor and another. See SENDFILE(2) man page for details.

Bağımsız Değişkenler

out_fd

Output stream, Socket resource, or file descriptor. Should be opened for writing.

in_fd

Input stream, Socket resource, or file descriptor. Should be opened for reading.

offset

Offset within the source file.

length

Number of bytes to copy.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_sendfile() returns request resource on success, başarısızlık durumunda false döner.


Set maximum number of idle threads

  • « eio_sendfile
  • eio_set_max_parallel »
  • PHP Manual
  • Eio İşlevleri
  • Set maximum number of idle threads

eio_set_max_idle

(PECL eio >= 0.0.1dev)

eio_set_max_idle — Set maximum number of idle threads

Açıklama

eio_set_max_idle(int $nthreads): void

Bağımsız Değişkenler

nthreads

Number of idle threads.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_min_parallel() - Set minimum parallel thread number
  • eio_set_max_parallel() - Set maximum parallel threads


Set maximum parallel threads

  • « eio_set_max_idle
  • eio_set_max_poll_reqs »
  • PHP Manual
  • Eio İşlevleri
  • Set maximum parallel threads

eio_set_max_parallel

(PECL eio >= 0.0.1dev)

eio_set_max_parallel — Set maximum parallel threads

Açıklama

eio_set_max_parallel(int $nthreads): void

Bağımsız Değişkenler

nthreads

Number of parallel threads

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_min_parallel() - Set minimum parallel thread number


Set maximum number of requests processed in a poll

  • « eio_set_max_parallel
  • eio_set_max_poll_time »
  • PHP Manual
  • Eio İşlevleri
  • Set maximum number of requests processed in a poll

eio_set_max_poll_reqs

(PECL eio >= 0.0.1dev)

eio_set_max_poll_reqs — Set maximum number of requests processed in a poll

Açıklama

eio_set_max_poll_reqs(int $nreqs): void

Bağımsız Değişkenler

nreqs

Number of requests

Dönen Değerler

Hiçbir değer dönmez.


Set maximum poll time

  • « eio_set_max_poll_reqs
  • eio_set_min_parallel »
  • PHP Manual
  • Eio İşlevleri
  • Set maximum poll time

eio_set_max_poll_time

(PECL eio >= 0.0.1dev)

eio_set_max_poll_time — Set maximum poll time

Açıklama

eio_set_max_poll_time(float $nseconds): void

Polling stops, if poll took longer than nseconds seconds.

Bağımsız Değişkenler

nseconds

Number of seconds

Dönen Değerler

Hiçbir değer dönmez.


Set minimum parallel thread number

  • « eio_set_max_poll_time
  • eio_stat »
  • PHP Manual
  • Eio İşlevleri
  • Set minimum parallel thread number

eio_set_min_parallel

(PECL eio >= 0.0.1dev)

eio_set_min_parallel — Set minimum parallel thread number

Açıklama

eio_set_min_parallel(string $nthreads): void

Bağımsız Değişkenler

nthreads

Number of parallel threads.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • eio_nthreads() - Returns number of threads currently in use
  • eio_set_max_idle() - Set maximum number of idle threads
  • eio_set_max_parallel() - Set maximum parallel threads


Get file status

  • « eio_set_min_parallel
  • eio_statvfs »
  • PHP Manual
  • Eio İşlevleri
  • Get file status

eio_stat

(PECL eio >= 0.0.1dev)

eio_stat — Get file status

Açıklama

eio_stat(
string $path,
int $pri,
callable $callback,
mixed $data = NULL
): resource

eio_stat() returns file status information in result argument of callback

Bağımsız Değişkenler

path

The file path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_stat() returns request resource on success or false on error. On success assigns result argument of callback to an array.

Örnekler

Örnek 1 eio_stat() example

<?php
$tmp_filename = "eio-file.tmp";
touch($tmp_filename);

function my_res_cb($data, $result) {
var_dump($data);
var_dump($result);
}

function my_open_cb($data, $result) {
eio_close($result);
eio_event_loop();

@unlink($data);
}

eio_stat($tmp_filename, EIO_PRI_DEFAULT, "my_res_cb", "eio_stat");
eio_open($tmp_filename, EIO_O_RDONLY, NULL,
EIO_PRI_DEFAULT, "my_open_cb", $tmp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(8) "eio_stat"
array(12) {
  ["st_dev"]=>
  int(2050)
  ["st_ino"]=>
  int(2489173)
  ["st_mode"]=>
  int(33188)
  ["st_nlink"]=>
  int(1)
  ["st_uid"]=>
  int(1000)
  ["st_gid"]=>
  int(100)
  ["st_rdev"]=>
  int(0)
  ["st_blksize"]=>
  int(4096)
  ["st_blocks"]=>
  int(0)
  ["st_atime"]=>
  int(1318250380)
  ["st_mtime"]=>
  int(1318250380)
  ["st_ctime"]=>
  int(1318250380)
}

Ayrıca Bakınız

  • eio_lstat() - Get file status
  • eio_fstat() - Get file status


Get file system statistics

  • « eio_stat
  • eio_symlink »
  • PHP Manual
  • Eio İşlevleri
  • Get file system statistics

eio_statvfs

(PECL eio >= 0.0.1dev)

eio_statvfs — Get file system statistics

Açıklama

eio_statvfs(
string $path,
int $pri,
callable $callback,
mixed $data = ?
): resource

eio_statvfs() returns file system statistics information in result argument of callback

Bağımsız Değişkenler

path

Pathname of any file within the mounted file system

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_statvfs() returns request resource on success, başarısızlık durumunda false döner. On success assigns result argument of callback to an array.

Örnekler

Örnek 1 eio_statvfs() example

<?php
$tmp_filename = '/tmp/eio-file.tmp';
touch($tmp_filename);

function my_statvfs_callback($data, $result) {
var_dump($data);
var_dump($result);

@unlink($data);
}

eio_statvfs($tmp_filename, EIO_PRI_DEFAULT, "my_statvfs_callback", $tmp_filename);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(17) "/tmp/eio-file.tmp"
array(11) {
  ["f_bsize"]=>
  int(4096)
  ["f_frsize"]=>
  int(4096)
  ["f_blocks"]=>
  int(262144)
  ["f_bfree"]=>
  int(262111)
  ["f_bavail"]=>
  int(262111)
  ["f_files"]=>
  int(1540815)
  ["f_ffree"]=>
  int(1540743)
  ["f_favail"]=>
  int(1540743)
  ["f_fsid"]=>
  int(0)
  ["f_flag"]=>
  int(4102)
  ["f_namemax"]=>
  int(255)
}


Create a symbolic link

  • « eio_statvfs
  • eio_sync_file_range »
  • PHP Manual
  • Eio İşlevleri
  • Create a symbolic link

eio_symlink

(PECL eio >= 0.0.1dev)

eio_symlink — Create a symbolic link

Açıklama

eio_symlink(
string $path,
string $new_path,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_symlink() creates a symbolic link new_path to path.

Bağımsız Değişkenler

path

Source path

new_path

Target path

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_symlink() returns request resource on success, başarısızlık durumunda false döner.

Örnekler

Örnek 1 eio_symlink() example

<?php
$filename = dirname(__FILE__)."/symlink.dat";
touch($filename);
$link = dirname(__FILE__)."/symlink.link";

function my_symlink_cb($data, $result) {
global $link, $filename;
var_dump(file_exists($data) && is_link($data));

if (!eio_readlink($data, EIO_PRI_DEFAULT, "my_readlink_cb", NULL)) {
@unlink($link);
@unlink($filename);
}
}

function my_readlink_cb($data, $result) {
global $filename, $link;
var_dump($result);

@unlink($link);
@unlink($filename);
}

eio_symlink($filename, $link, EIO_PRI_DEFAULT, "my_symlink_cb", $link);
eio_event_loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
string(16) "/tmp/symlink.dat"

Ayrıca Bakınız

  • eio_link() - Create a hardlink for file


Sync a file segment with disk

  • « eio_symlink
  • eio_sync »
  • PHP Manual
  • Eio İşlevleri
  • Sync a file segment with disk

eio_sync_file_range

(PECL eio >= 0.0.1dev)

eio_sync_file_range — Sync a file segment with disk

Açıklama

eio_sync_file_range(
mixed $fd,
int $offset,
int $nbytes,
int $flags,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_sync_file_range() permits fine control when synchronizing the open file referred to by the file descriptor fd with disk.

Bağımsız Değişkenler

fd

File descriptor

offset

The starting byte of the file range to be synchronized

nbytes

Specifies the length of the range to be synchronized, in bytes. If nbytes is zero, then all bytes from offset through to the end of file are synchronized.

flags

A bit-mask. Can include any of the following values: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE, EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have the same meaning as their SYNC_FILE_RANGE_* counterparts(see SYNC_FILE_RANGE(2) man page).

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_sync_file_range() returns request resource on success, başarısızlık durumunda false döner.


Commit buffer cache to disk

  • « eio_sync_file_range
  • eio_syncfs »
  • PHP Manual
  • Eio İşlevleri
  • Commit buffer cache to disk

eio_sync

(PECL eio >= 0.0.1dev)

eio_sync — Commit buffer cache to disk

Açıklama

eio_sync(int $pri = EIO_PRI_DEFAULT, callable $callback = NULL, mixed $data = NULL): resource

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

eio_sync() returns request resource on success, başarısızlık durumunda false döner.


Calls Linux' syncfs syscall, if available

  • « eio_sync
  • eio_truncate »
  • PHP Manual
  • Eio İşlevleri
  • Calls Linux' syncfs syscall, if available

eio_syncfs

(PECL eio >= 0.0.1dev)

eio_syncfs — Calls Linux' syncfs syscall, if available

Açıklama

eio_syncfs(
mixed $fd,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

Bağımsız Değişkenler

fd

File descriptor

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_syncfs() returns request resource on success, başarısızlık durumunda false döner.


Truncate a file

  • « eio_syncfs
  • eio_unlink »
  • PHP Manual
  • Eio İşlevleri
  • Truncate a file

eio_truncate

(PECL eio >= 0.0.1dev)

eio_truncate — Truncate a file

Açıklama

eio_truncate(
string $path,
int $offset = 0,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_truncate() causes the regular file named by path to be truncated to a size of precisely length bytes

Bağımsız Değişkenler

path

File path

offset

Offset from beginning of the file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_busy() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_ftruncate() - Truncate a file


Delete a name and possibly the file it refers to

  • « eio_truncate
  • eio_utime »
  • PHP Manual
  • Eio İşlevleri
  • Delete a name and possibly the file it refers to

eio_unlink

(PECL eio >= 0.0.1dev)

eio_unlink — Delete a name and possibly the file it refers to

Açıklama

eio_unlink(
string $path,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_unlink() deletes a name from the file system.

Bağımsız Değişkenler

path

Path to file

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_unlink() returns request resource on success, başarısızlık durumunda false döner.


Change file last access and modification times

  • « eio_unlink
  • eio_write »
  • PHP Manual
  • Eio İşlevleri
  • Change file last access and modification times

eio_utime

(PECL eio >= 0.0.1dev)

eio_utime — Change file last access and modification times

Açıklama

eio_utime(
string $path,
float $atime,
float $mtime,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

Bağımsız Değişkenler

path

Path to the file.

atime

Access time

mtime

Modification time

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_utime() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_futime() - Change file last access and modification times


Write to file

  • « eio_utime
  • Ev »
  • PHP Manual
  • Eio İşlevleri
  • Write to file

eio_write

(PECL eio >= 0.0.1dev)

eio_write — Write to file

Açıklama

eio_write(
mixed $fd,
string $str,
int $length = 0,
int $offset = 0,
int $pri = EIO_PRI_DEFAULT,
callable $callback = NULL,
mixed $data = NULL
): resource

eio_write() writes up to length bytes from str at offset offset from the beginning of the file.

Bağımsız Değişkenler

fd

Stream, Socket resource, or numeric file descriptor, e.g. returned by eio_open()

str

Source string

length

Maximum number of bytes to write.

offset

Offset from the beginning of file.

pri

The request priority: EIO_PRI_DEFAULT, EIO_PRI_MIN, EIO_PRI_MAX, or null. If null passed, pri internally is set to EIO_PRI_DEFAULT.

callback

callback function is called when the request is done. It should match the following prototype:

void callback(mixed $data, int $result[, resource $req]);
data

is custom data passed to the request.

result

request-specific result value; basically, the value returned by corresponding system call.

req

is optional request resource which can be used with functions like eio_get_last_error()

data

Arbitrary variable passed to callback.

Dönen Değerler

eio_write() returns request resource on success, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • eio_open() - Opens a file


Ev

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Watchers
  • Watcher callbacks
  • Periodic watcher operation modes
  • Ev — The Ev class
    • Ev::backend — Returns an integer describing the backend used by libev
    • Ev::depth — Returns recursion depth
    • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops
    • Ev::feedSignal — Feed a signal event info Ev
    • Ev::feedSignalEvent — Feed signal event into the default loop
    • Ev::iteration — Return the number of times the default event loop has polled for new events
    • Ev::now — Returns the time when the last iteration of the default event loop has started
    • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
    • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform
    • Ev::resume — Resume previously suspended default event loop
    • Ev::run — Begin checking for events and calling callbacks for the default loop
    • Ev::sleep — Block the process for the given number of seconds
    • Ev::stop — Stops the default event loop
    • Ev::supportedBackends — Returns the set of backends supported by current libev configuration
    • Ev::suspend — Suspend the default event loop
    • Ev::time — Returns the current time in fractional seconds since the epoch
    • Ev::verify — Performs internal consistency checks(for debugging)
  • EvCheck — The EvCheck class
    • EvCheck::__construct — Constructs the EvCheck watcher object
    • EvCheck::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild — The EvChild class
    • EvChild::__construct — Constructs the EvChild watcher object
    • EvChild::createStopped — Create instance of a stopped EvCheck watcher
    • EvChild::set — Configures the watcher
  • EvEmbed — The EvEmbed class
    • EvEmbed::__construct — Constructs the EvEmbed object
    • EvEmbed::createStopped — Create stopped EvEmbed watcher object
    • EvEmbed::set — Configures the watcher
    • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop
  • EvFork — The EvFork class
    • EvFork::__construct — Constructs the EvFork watcher object
    • EvFork::createStopped — Creates a stopped instance of EvFork watcher class
  • EvIdle — The EvIdle class
    • EvIdle::__construct — Constructs the EvIdle watcher object
    • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object
  • EvIo — The EvIo class
    • EvIo::__construct — Constructs EvIo watcher object
    • EvIo::createStopped — Create stopped EvIo watcher object
    • EvIo::set — Configures the watcher
  • EvLoop — The EvLoop class
    • EvLoop::backend — Returns an integer describing the backend used by libev
    • EvLoop::check — Creates EvCheck object associated with the current event loop instance
    • EvLoop::child — Creates EvChild object associated with the current event loop
    • EvLoop::__construct — Constructs the event loop object
    • EvLoop::defaultLoop — Returns or creates the default event loop
    • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object
    • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
    • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork — Must be called after a fork
    • EvLoop::now — Returns the current "event loop time"
    • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
    • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume — Resume previously suspended default event loop
    • EvLoop::run — Begin checking for events and calling callbacks for the loop
    • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop — Stops the event loop
    • EvLoop::suspend — Suspend the loop
    • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify — Performs internal consistency checks(for debugging)
  • EvPeriodic — The EvPeriodic class
    • EvPeriodic::again — Simply stops and restarts the periodic watcher again
    • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::__construct — Constructs EvPeriodic watcher object
    • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
    • EvPeriodic::set — Configures the watcher
  • EvPrepare — The EvPrepare class
    • EvPrepare::__construct — Constructs EvPrepare watcher object
    • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher
  • EvSignal — The EvSignal class
    • EvSignal::__construct — Constructs EvSignal watcher object
    • EvSignal::createStopped — Create stopped EvSignal watcher object
    • EvSignal::set — Configures the watcher
  • EvStat — The EvStat class
    • EvStat::attr — Returns the values most recently detected by Ev
    • EvStat::__construct — Constructs EvStat watcher object
    • EvStat::createStopped — Create a stopped EvStat watcher object
    • EvStat::prev — Returns the previous set of values returned by EvStat::attr
    • EvStat::set — Configures the watcher
    • EvStat::stat — Initiates the stat call
  • EvTimer — The EvTimer class
    • EvTimer::again — Restarts the timer watcher
    • EvTimer::__construct — Constructs an EvTimer watcher object
    • EvTimer::createStopped — Creates EvTimer stopped watcher object
    • EvTimer::set — Configures the watcher
  • EvWatcher — The EvWatcher class
    • EvWatcher::clear — Clear watcher pending status
    • EvWatcher::__construct — Abstract constructor of a watcher object
    • EvWatcher::feed — Feeds the given revents set into the event loop
    • EvWatcher::getLoop — Returns the loop responsible for the watcher
    • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive — Configures whether to keep the loop from returning
    • EvWatcher::setCallback — Sets new callback for the watcher
    • EvWatcher::start — Starts the watcher
    • EvWatcher::stop — Stops the watcher


Giriş

This extension provides interface to » libev library - a high performance full-featured event loop written in C.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.

Libev is an event loop: one registers interest in certain events (such as a file descriptor being readable or a timeout occurring), and it will manage these event sources and provide the program with events.

To do this, it must take more or less complete control over the process (or thread) by executing the event loop handler, and will then communicate events via a callback mechanism.

You register interest in certain events by registering so-called event watchers, and then hand it over to libev by starting the watcher.

For details refer to the » documentation of libev


Gereksinimler

libev library is embedded into this extension. You don't need to install it separately.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ev .


Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.

Most constants are moved to Ev singleton class.


Örnekler

Örnek 1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
echo "is called every second, is launched after 2 seconds\n";
echo "iteration = ", Ev::iteration(), PHP_EOL;

// Stop the watcher after 5 iterations
Ev::iteration() == 5 and $w->stop();
// Stop the watcher if further calls cause more than 10 iterations
Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
echo "Callback of a timer created as stopped\n";

// Stop the watcher after 2 iterations
Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Örnek 2 Periodic timer. Tick each 10.5 seconds

<?php
$w = new EvPeriodic(0., 10.5, NULL, function ($w, $revents) {
echo time(), PHP_EOL;
});

Ev::run();
?>

Örnek 3 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
echo time(), PHP_EOL;
});

Ev::run();
?>

Örnek 4 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
echo time(), PHP_EOL;
});

Ev::run();
?>

Örnek 5 Wait until STDIN is readable

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
echo "STDIN is readable\n";
});

Ev::run(Ev::RUN_ONCE);
?>

Örnek 6 Use some async I/O to access a socket

<?php
/* Use some async I/O to access a socket */

// `sockets' extension still logs warnings
// for EINPROGRESS, EAGAIN/EWOULDBLOCK etc.
error_reporting(E_ERROR);

$e_nonblocking = array (/*EAGAIN or EWOULDBLOCK*/11, /*EINPROGRESS*/115);

// Get the port for the WWW service
$service_port = getservbyname('www', 'tcp');

// Get the IP address for the target host
$address = gethostbyname('google.co.uk');

// Create a TCP/IP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === FALSE) {
echo "socket_create() failed: reason: "
.socket_strerror(socket_last_error()) . "\n";
}

// Set O_NONBLOCK flag
socket_set_nonblock($socket);

// Abort on timeout
$timeout_watcher = new EvTimer(10.0, 0., function () use ($socket) {
socket_close($socket);
Ev::stop(Ev::BREAK_ALL);
});

// Make HEAD request when the socket is writable
$write_watcher = new EvIo($socket, Ev::WRITE, function ($w)
use ($socket, $timeout_watcher, $e_nonblocking)
{
// Stop timeout watcher
$timeout_watcher->stop();
// Stop write watcher
$w->stop();

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: google.co.uk\r\n";
$in .= "Connection: Close\r\n\r\n";

if (!socket_write($socket, $in, strlen($in))) {
trigger_error("Failed writing $in to socket", E_USER_ERROR);
}

$read_watcher = new EvIo($socket, Ev::READ, function ($w, $re)
use ($socket, $e_nonblocking)
{
// Socket is readable. recv() 20 bytes using non-blocking mode
$ret = socket_recv($socket, $out, 20, MSG_DONTWAIT);

if ($ret) {
echo $out;
} elseif ($ret === 0) {
// All read
$w->stop();
socket_close($socket);
return;
}

// Caught EINPROGRESS, EAGAIN, or EWOULDBLOCK
if (in_array(socket_last_error(), $e_nonblocking)) {
return;
}

$w->stop();
socket_close($socket);
});

Ev::run();
});

$result = socket_connect($socket, $address, $service_port);

Ev::run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

HTTP/1.1 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1254
Date: Sun, 23 Dec 2012 16:08:27 GMT
Expires: Tue, 22 Jan 2013 16:08:27 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Connection: close

Örnek 7 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
: 0;

if ($loop_lo) {
$embed = new EvEmbed($loop_lo, function () {});
} else {
$loop_lo = $loop_hi;
}
?>

Örnek 8 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}

if (!$socket_loop) {
$socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Örnek 9 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
echo "SIGTERM received\n";
$watcher->stop();
});

Ev::run();
?>

Örnek 10 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";

$attr = $w->attr();

if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});

Ev::run();
?>

Örnek 11 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();

$stat = $w->data;

// 1 second after the most recent change of the file
printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Reset timer watcher
$timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Örnek 12 Process status changes

<?php
$pid = pcntl_fork();

if ($pid == -1) {
fprintf(STDERR, "pcntl_fork failed\n");
} elseif ($pid) {
$w = new EvChild($pid, FALSE, function ($w, $revents) {
$w->stop();

printf("Process %d exited with status %d\n", $w->rpid, $w->rstatus);
});

Ev::run();

// Protect against Zombies
pcntl_wait($status);
} else {
//Forked child
exit(2);
}
?>


Watchers

A watcher is an object that gets created to record interest in some event. For instance, the following code waits for STDIN to become readable:

<?php
// Wait until STDIN is readable
$w = new EvIo(STDIN, Ev::READ, function ($watcher, $revents) {
echo "STDIN is readable\n";
});
Ev::run(Ev::RUN_ONCE);
?>

All the watcher constructors automatically start the watchers. createStopped methods create stopped watchers(e.g. EvIo::createStopped() )

Note that a watcher will automatically be stopped when the watcher object is destroyed. Therefore, the watcher objects returned by the constructors or factory methods should be kept.

Note also that all methods changing some watcher property( set , priority etc.) automatically stop and start it again if it is active, which means pending events get lost.

See also: Watcher callbacks .


Watcher callbacks

All watchers can be active(waiting for events) or inactive(paused). Only active watchers will have their callbacks invoked. All callbacks will be called with at least two arguments: watcher - the watcher, and revents a bitmask of received events.

Watcher callbacks are passed to the watcher constructors (the classes derived from EvWatcher - EvCheck::__construct() , EvChild::__construct() etc.). A watcher callback should match the following prototype:

callback( object $watcher = NULL , int $revents = NULL ): void

watcher

The watcher instance(of a class extending EvWatcher ).

revents

Watcher received events .

Each watcher type has its associated bit in revents , so one can use the same callback for multiple watchers. The event mask is named after the type, i.e. EvChild (or EvLoop::child() ) sets EV::CHILD , EvPrepare (or EvLoop::prepare() ) sets Ev::PREPARE , EvPeriodic (or EvLoop::periodic() ) sets Ev::PERIODIC and so on, with the exception of I/O events (which can set both Ev::READ and Ev::WRITE bits).


Periodic watcher operation modes

EvPeriodic watcher works in different modes depending on the offset , interval and reschedule_cb parameters.

  1. Absolute timer . In this mode interval = 0 , reschedule_cb = null. This time simply fires at the wallclock time offset and doesn't repeat. It will not adjust when a time jump occurs, that is, if it is to be run at January 1st 2014 then it will run when the system time reaches or surpasses this time.

  2. Repeating interval timer . In this mode interval > 0 , reschedule_cb = null; the watcher will always be scheduled to timeout at the next offset + N * interval time(for some integer N ) and then repeat, regardless of any time jumps.

    This can be used to create timers that do not drift with respect to system time:

    <?php
    $hourly     = EvPeriodic(0, 3600, NULL, function () {
    echo     "once per hour\n";
    });
    ?>
    That doesn't mean there will always be 3600 seconds in between triggers, but only that the callback will be called when the system time shows a full hour( UTC ).

    EvPeriodic will try to run the callback in this mode at the next possible time where time = offset ( mod interval ), regardless of any time jumps.

  3. Manual reschedule mode . In this mode reschedule_cb is a callable .

    interval and offset are both being ignored. Instead, each time the periodic watcher gets scheduled, the reschedule callback ( reschedule_cb ) will be called with the watcher as first, and the current time as second argument.

    This callback must not stop or destroy this or any other periodic watchers, ever, and must not call any event loop functions or methods. To stop it return 1e30 and stop it afterwards. An EvPrepare watcher may be used for this task.

    It must return the next time to trigger, based on the passed time value (that is, the lowest time value larger than or equal to the second argument). It will usually be called just before the callback will be triggered, but might be called at other times, too.

    Örnek 1 Using reschedule callback

    <?php
    // Tick each 10.5 seconds

    function reschedule_cb ($watcher, $now) {
    return     $now + (10.5. - fmod($now, 10.5));
    }

    $w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
    echo     time(), PHP_EOL;
    });

    Ev::run();
    ?>


The Ev class

(PECL ev >= 0.2.0)

Giriş

Ev is a static class providing access to the default loop and to some common operations.

Sınıf Sözdizimi

final class Ev {
/* Sabitler */
const int FLAG_AUTO = 0;
const int FLAG_NOENV = 16777216;
const int FLAG_FORKCHECK = 33554432;
const int FLAG_NOINOTIFY = 1048576;
const int FLAG_SIGNALFD = 2097152;
const int FLAG_NOSIGMASK = 4194304;
const int RUN_NOWAIT = 1;
const int RUN_ONCE = 2;
const int BREAK_CANCEL = 0;
const int BREAK_ONE = 1;
const int BREAK_ALL = 2;
const int MINPRI = -2;
const int MAXPRI = 2;
const int READ = 1;
const int WRITE = 2;
const int TIMER = 256;
const int PERIODIC = 512;
const int SIGNAL = 1024;
const int CHILD = 2048;
const int STAT = 4096;
const int IDLE = 8192;
const int PREPARE = 16384;
const int CHECK = 32768;
const int EMBED = 65536;
const int CUSTOM = 16777216;
const int ERROR = 2147483648;
const int BACKEND_SELECT = 1;
const int BACKEND_POLL = 2;
const int BACKEND_EPOLL = 4;
const int BACKEND_KQUEUE = 8;
const int BACKEND_DEVPOLL = 16;
const int BACKEND_PORT = 32;
const int BACKEND_ALL = 63;
const int BACKEND_MASK = 65535;
/* Yöntemler */
final public static backend(): int
final public static depth(): int
final public static embeddableBackends(): int
final public static feedSignal( int $signum ): void
final public static feedSignalEvent( int $signum ): void
final public static iteration(): int
final public static now(): float
final public static nowUpdate(): void
final public static recommendedBackends(): int
final public static resume(): void
final public static run( int $flags = ?): void
final public static sleep( float $seconds ): void
final public static stop( int $how = ?): void
final public static supportedBackends(): int
final public static suspend(): void
final public static time(): float
final public static verify(): void
}

Öntanımlı Sabitler

Flags passed to create a loop:

Ev::FLAG_AUTO

The default flags value

Ev::FLAG_NOENV

If this flag used(or the program runs setuid or setgid), libev won't look at the environment variable LIBEV_FLAGS . Otherwise(by default), LIBEV_FLAGS will override the flags completely if it is found. Useful for performance tests and searching for bugs.

Ev::FLAG_FORKCHECK

Makes libev check for a fork in each iteration, instead of calling EvLoop::fork() manually. This works by calling getpid() on every iteration of the loop, and thus this might slow down the event loop with lots of loop iterations, but usually is not noticeable. This flag setting cannot be overridden or specified in the LIBEV_FLAGS environment variable.

Ev::FLAG_NOINOTIFY

When this flag is specified, libev won't attempt to use the inotify API for its » ev_stat watchers. The flag can be useful to conserve inotify file descriptors, as otherwise each loop using ev_stat watchers consumes one inotify handle.

Ev::FLAG_SIGNALFD

When this flag is specified, libev will attempt to use the signalfd API for its » ev_signal (and » ev_child ) watchers. This API delivers signals synchronously, which makes it both faster and might make it possible to get the queued signal data. It can also simplify signal handling with threads, as long as signals are properly blocked in threads. Signalfd will not be used by default.

Ev::FLAG_NOSIGMASK

When this flag is specified, libev will avoid to modify the signal mask. Specifically, this means having to make sure signals are unblocked before receiving them.

This behaviour is useful for custom signal handling, or handling signals only in specific threads.

Flags passed to Ev::run() , or EvLoop::run()

Ev::RUN_NOWAIT

Means that event loop will look for new events, will handle those events and any already outstanding ones, but will not wait and block the process in case there are no events and will return after one iteration of the loop. This is sometimes useful to poll and handle new events while doing lengthy calculations, to keep the program responsive.

Ev::RUN_ONCE

Means that event loop will look for new events (waiting if necessary) and will handle those and any already outstanding ones. It will block the process until at least one new event arrives (which could be an event internal to libev itself, so there is no guarantee that a user-registered callback will be called), and will return after one iteration of the loop.

Flags passed to Ev::stop() , or EvLoop::stop()

Ev::BREAK_CANCEL

Cancel the break operation.

Ev::BREAK_ONE

Makes the innermost Ev::run() (or EvLoop::run() ) call return.

Ev::BREAK_ALL

Makes all nested Ev::run() (or EvLoop::run() ) calls return.

Watcher priorities:

Ev::MINPRI

Minimum allowed watcher priority.

Ev::MAXPRI

Maximum allowed watcher priority.

Bit masks of (received) events:

Ev::READ

The file descriptor in the EvIo watcher has become readable.

Ev::WRITE

The file descriptor in the EvIo watcher has become writable.

Ev::TIMER

EvTimer watcher has been timed out.

Ev::PERIODIC

EvPeriodic watcher has been timed out.

Ev::SIGNAL

A signal specified in EvSignal::__construct() has been received.

Ev::CHILD

The pid specified in EvChild::__construct() has received a status change.

Ev::STAT

The path specified in EvStat watcher changed its attributes.

Ev::IDLE

EvIdle watcher works when there is nothing to do with other watchers.

Ev::PREPARE

All EvPrepare watchers are invoked just before Ev::run() starts. Thus, EvPrepare watchers are the last watchers invoked before the event loop sleeps or polls for new events.

Ev::CHECK

All EvCheck watchers are queued just after Ev::run() has gathered the new events, but before it queues any callbacks for any received events. Thus, EvCheck watchers will be invoked before any other watchers of the same or lower priority within an event loop iteration.

Ev::EMBED

The embedded event loop specified in the EvEmbed watcher needs attention.

Ev::CUSTOM

Not ever sent(or otherwise used) by libev itself, but can be freely used by libev users to signal watchers (e.g. via EvWatcher::feed() ).

Ev::ERROR

An unspecified error has occurred, the watcher has been stopped. This might happen because the watcher could not be properly started because libev ran out of memory, a file descriptor was found to be closed or any other problem. Libev considers these application bugs. See also » ANATOMY OF A WATCHER

Backend flags:

Ev::BACKEND_SELECT

select(2) backend

Ev::BACKEND_POLL

poll(2) backend

Ev::BACKEND_EPOLL

Linux-specific epoll(7) backend for both pre- and post-2.6.9 kernels

Ev::BACKEND_KQUEUE

kqueue backend used on most BSD systems. EvEmbed watcher could be used to embed one loop(with kqueue backend) into another. For instance, one can try to create an event loop with kqueue backend and use it for sockets only.

Ev::BACKEND_DEVPOLL

Solaris 8 backend. This is not implemented yet.

Ev::BACKEND_PORT

Solaris 10 event port mechanism with a good scaling.

Ev::BACKEND_ALL

Try all backends(even currupted ones). It's not recommended to use it explicitly. Bitwise operators should be applied here(e.g. Ev::BACKEND_ALL & ~ Ev::BACKEND_KQUEUE ) Use Ev::recommendedBackends() , or don't specify any backends at all.

Ev::BACKEND_MASK

Not a backend, but a mask to select all backend bits from flags value to mask out any backends(e.g. when modifying the LIBEV_FLAGS environment variable).

Bilginize:

For the default loop during module initialization phase Ev registers » ev_loop_fork call by means of pthread_atfork (if available).

Bilginize:

There are methods providing access to the default event loop in Ev class(e.g. Ev::iteration() , Ev::depth() etc.) For custom loops (created with EvLoop::__construct() ) these values may be accessed via corresponding properties and methods of the EvLoop class.

The instance of the default event loop itself can be fetched by means of EvLoop::defaultLoop() method.

İçindekiler

  • Ev::backend — Returns an integer describing the backend used by libev
  • Ev::depth — Returns recursion depth
  • Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops
  • Ev::feedSignal — Feed a signal event info Ev
  • Ev::feedSignalEvent — Feed signal event into the default loop
  • Ev::iteration — Return the number of times the default event loop has polled for new events
  • Ev::now — Returns the time when the last iteration of the default event loop has started
  • Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
  • Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform
  • Ev::resume — Resume previously suspended default event loop
  • Ev::run — Begin checking for events and calling callbacks for the default loop
  • Ev::sleep — Block the process for the given number of seconds
  • Ev::stop — Stops the default event loop
  • Ev::supportedBackends — Returns the set of backends supported by current libev configuration
  • Ev::suspend — Suspend the default event loop
  • Ev::time — Returns the current time in fractional seconds since the epoch
  • Ev::verify — Performs internal consistency checks(for debugging)


Returns an integer describing the backend used by libev

  • « Ev
  • Ev::depth »
  • PHP Manual
  • Ev
  • Returns an integer describing the backend used by libev

Ev::backend

(PECL ev >= 0.2.0)

Ev::backend — Returns an integer describing the backend used by libev

Açıklama

final public static Ev::backend(): int

Returns an integer describing the backend used by libev . See Backend flags

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer(bit mask) describing the backend used by libev .

Ayrıca Bakınız

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags


Returns recursion depth

  • « Ev::backend
  • Ev::embeddableBackends »
  • PHP Manual
  • Ev
  • Returns recursion depth

Ev::depth

(PECL ev >= 0.2.0)

Ev::depth — Returns recursion depth

Açıklama

final public static Ev::depth(): int

The number of times Ev::run() was entered minus the number of times Ev::run() was exited normally, in other words, the recursion depth. Outside Ev::run() , this number is 0 . In a callback, this number is 1 , unless Ev::run() was invoked recursively (or from another thread), in which case it is higher.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ev_depth() returns recursion depth of the default loop.

Ayrıca Bakınız

  • Ev::iteration() - Return the number of times the default event loop has polled for new events


Returns the set of backends that are embeddable in other event loops

  • « Ev::depth
  • Ev::feedSignal »
  • PHP Manual
  • Ev
  • Returns the set of backends that are embeddable in other event loops

Ev::embeddableBackends

(PECL ev >= 0.2.0)

Ev::embeddableBackends — Returns the set of backends that are embeddable in other event loops

Açıklama

final public static Ev::embeddableBackends(): int

Returns the set of backends that are embeddable in other event loops.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Örnekler

Örnek 1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}

if (!$socket_loop) {
$socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ayrıca Bakınız

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags
  • Examples


Feed a signal event info Ev

  • « Ev::embeddableBackends
  • Ev::feedSignalEvent »
  • PHP Manual
  • Ev
  • Feed a signal event info Ev

Ev::feedSignal

(PECL ev >= 0.2.0)

Ev::feedSignal — Feed a signal event info Ev

Açıklama

final public static Ev::feedSignal( int $signum ): void

Simulates a signal receive. It is safe to call this function at any time, from any context, including signal handlers or random threads. Its main use is to customise signal handling in the process.

Unlike Ev::feedSignalEvent() , this works regardless of which loop has registered the signal.

Bağımsız Değişkenler

signum

Signal number. See signal(7) man page for detals. You can use constants exported by pcntl extension.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::feedSignalEvent() - Feed signal event into the default loop


Feed signal event into the default loop

  • « Ev::feedSignal
  • Ev::iteration »
  • PHP Manual
  • Ev
  • Feed signal event into the default loop

Ev::feedSignalEvent

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ev::feedSignalEvent — Feed signal event into the default loop

Açıklama

final public static Ev::feedSignalEvent( int $signum ): void

Feed signal event into the default loop. Ev will react to this call as if the signal specified by signal had occurred.

Bağımsız Değişkenler

signum

Signal number. See signal(7) man page for detals. See also constants exported by pcntl extension.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::feedSignal() - Feed a signal event info Ev


Return the number of times the default event loop has polled for new events

  • « Ev::feedSignalEvent
  • Ev::now »
  • PHP Manual
  • Ev
  • Return the number of times the default event loop has polled for new events

Ev::iteration

(PECL ev >= 0.2.0)

Ev::iteration — Return the number of times the default event loop has polled for new events

Açıklama

final public static Ev::iteration(): int

Return the number of times the event loop has polled for new events. Sometimes useful as a generation counter.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns number of polls of the default event loop.

Ayrıca Bakınız

  • Ev::depth() - Returns recursion depth


Returns the time when the last iteration of the default event loop has started

  • « Ev::iteration
  • Ev::nowUpdate »
  • PHP Manual
  • Ev
  • Returns the time when the last iteration of the default event loop has started

Ev::now

(PECL ev >= 0.2.0)

Ev::now — Returns the time when the last iteration of the default event loop has started

Açıklama

final public static Ev::now(): float

Returns the time when the last iteration of the default event loop has started. This is the time that timers( EvTimer and EvPeriodic ) are based on, and referring to it is usually faster then calling Ev::time() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns number of seconds(fractional) representing the time when the last iteration of the default event loop has started.

Ayrıca Bakınız

  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress


Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

  • « Ev::now
  • Ev::recommendedBackends »
  • PHP Manual
  • Ev
  • Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

Ev::nowUpdate

(PECL ev >= 0.2.0)

Ev::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress

Açıklama

final public static Ev::nowUpdate(): void

Establishes the current time by querying the kernel, updating the time returned by Ev::now() in the progress. This is a costly operation and is usually done automatically within Ev::run() .

This method is rarely useful, but when some event callback runs for a very long time without entering the event loop, updating libev 's consideration of the current time is a good idea.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Returns a bit mask of recommended backends for current platform

  • « Ev::nowUpdate
  • Ev::resume »
  • PHP Manual
  • Ev
  • Returns a bit mask of recommended backends for current platform

Ev::recommendedBackends

(PECL ev >= 0.2.0)

Ev::recommendedBackends — Returns a bit mask of recommended backends for current platform

Açıklama

final public static Ev::recommendedBackends(): int

Returns the set of all backends compiled into this binary of libev and also recommended for this platform, meaning it will work for most file descriptor types. This set is often smaller than the one returned by ev_supported_backends() , as for example kqueue is broken on most BSD systems and will not be auto-detected unless it is requested explicitly. This is the set of backends that libev will probe no backends specified explicitly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Örnekler

Örnek 1 Embedding one loop into another

<?php
/*
* Try to get an embeddable event loop and embed it into the default event loop.
* If it is impossible, use the default
* loop. The default loop is stored in $loop_hi, while the embeddable loop is
* stored in $loop_lo(which is $loop_hi in the case no embeddable loop can be
* used).
*
* Sample translated to PHP
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop_hi = EvLoop::defaultLoop();
$loop_lo = NULL;
$embed = NULL;

/*
* See if there is a chance of getting one that works
* (flags' value of 0 means autodetection)
*/
$loop_lo = Ev::embeddableBackends() & Ev::recommendedBackends()
? new EvLoop(Ev::embeddableBackends() & Ev::recommendedBackends())
: 0;

if ($loop_lo) {
$embed = new EvEmbed($loop_lo, function () {});
} else {
$loop_lo = $loop_hi;
}
?>

Ayrıca Bakınız

  • EvEmbed
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Ev::supportedBackends() - Returns the set of backends supported by current libev configuration
  • Backend flags
  • Examples


Resume previously suspended default event loop

  • « Ev::recommendedBackends
  • Ev::run »
  • PHP Manual
  • Ev
  • Resume previously suspended default event loop

Ev::resume

(PECL ev >= 0.2.0)

Ev::resume — Resume previously suspended default event loop

Açıklama

final public static Ev::resume(): void

Ev::suspend() and Ev::resume() methods suspend and resume a loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Calling suspend / resume has the side effect of updating the event loop time(see Ev::nowUpdate() ).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::suspend() - Suspend the default event loop


Begin checking for events and calling callbacks for the default loop

  • « Ev::resume
  • Ev::sleep »
  • PHP Manual
  • Ev
  • Begin checking for events and calling callbacks for the default loop

Ev::run

(PECL ev >= 0.2.0)

Ev::run — Begin checking for events and calling callbacks for the default loop

Açıklama

final public static Ev::run( int $flags = ?): void

Begin checking for events and calling callbacks for the default loop . Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is true), in which case the return value will be false. The return value can generally be interpreted as if true, there is more work left to do .

Bağımsız Değişkenler

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::stop() - Stops the default event loop
  • EvLoop::run() - Begin checking for events and calling callbacks for the loop


Block the process for the given number of seconds

  • « Ev::run
  • Ev::stop »
  • PHP Manual
  • Ev
  • Block the process for the given number of seconds

Ev::sleep

(PECL ev >= 0.2.0)

Ev::sleep — Block the process for the given number of seconds

Açıklama

final public static Ev::sleep( float $seconds ): void

Block the process for the given number of seconds.

Bağımsız Değişkenler

seconds

Fractional number of seconds

Dönen Değerler

Hiçbir değer dönmez.


Stops the default event loop

  • « Ev::sleep
  • Ev::supportedBackends »
  • PHP Manual
  • Ev
  • Stops the default event loop

Ev::stop

(PECL ev >= 0.2.0)

Ev::stop — Stops the default event loop

Açıklama

final public static Ev::stop( int $how = ?): void

Stops the default event loop

Bağımsız Değişkenler

how

One of Ev::BREAK_* constants .

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::run() - Begin checking for events and calling callbacks for the default loop


Returns the set of backends supported by current libev configuration

  • « Ev::stop
  • Ev::suspend »
  • PHP Manual
  • Ev
  • Returns the set of backends supported by current libev configuration

Ev::supportedBackends

(PECL ev >= 0.2.0)

Ev::supportedBackends — Returns the set of backends supported by current libev configuration

Açıklama

final public static Ev::supportedBackends(): int

Returns the set of backends supported by current libev configuration.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bit mask which can containing backend flags combined using bitwise OR operator.

Örnekler

Örnek 1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}

if (!$socket_loop) {
$socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ayrıca Bakınız

  • EvEmbed
  • Ev::recommendedBackends() - Returns a bit mask of recommended backends for current platform
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops
  • Backend flags
  • Examples


Suspend the default event loop

  • « Ev::supportedBackends
  • Ev::time »
  • PHP Manual
  • Ev
  • Suspend the default event loop

Ev::suspend

(PECL ev >= 0.2.0)

Ev::suspend — Suspend the default event loop

Açıklama

final public static Ev::suspend(): void

Ev::suspend() and Ev::resume() methods suspend and resume the default loop correspondingly.

All timer watchers will be delayed by the time spend between suspend and resume , and all periodic watchers will be rescheduled(that is, they will lose any events that would have occurred while suspended).

After calling Ev::suspend() it is not allowed to call any function on the given loop other than Ev::resume() . Also it is not allowed to call Ev::resume() without a previous call to Ev::suspend() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::resume() - Resume previously suspended default event loop


Returns the current time in fractional seconds since the epoch

  • « Ev::suspend
  • Ev::verify »
  • PHP Manual
  • Ev
  • Returns the current time in fractional seconds since the epoch

Ev::time

(PECL ev >= 0.2.0)

Ev::time — Returns the current time in fractional seconds since the epoch

Açıklama

final public static Ev::time(): float

Returns the current time in fractional seconds since the epoch. Consider using Ev::now()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current time in fractional seconds since the epoch.

Ayrıca Bakınız

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Performs internal consistency checks(for debugging)

  • « Ev::time
  • EvCheck »
  • PHP Manual
  • Ev
  • Performs internal consistency checks(for debugging)

Ev::verify

(PECL ev >= 0.2.0)

Ev::verify — Performs internal consistency checks(for debugging)

Açıklama

final public static Ev::verify(): void

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The EvCheck class

(PECL ev >= 0.2.0)

Giriş

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn't matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sınıf Sözdizimi

class EvCheck extends EvWatcher {
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct( callable $callback , mixed $data = ?, int $priority = ?)
final public static createStopped( string $callback , string $data = ?, string $priority = ?): object
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

İçindekiler

  • EvCheck::__construct — Constructs the EvCheck watcher object
  • EvCheck::createStopped — Create instance of a stopped EvCheck watcher


Constructs the EvCheck watcher object

  • « EvCheck
  • EvCheck::createStopped »
  • PHP Manual
  • EvCheck
  • Constructs the EvCheck watcher object

EvCheck::__construct

(PECL ev >= 0.2.0)

EvCheck::__construct — Constructs the EvCheck watcher object

Açıklama

public EvCheck::__construct( callable $callback , mixed $data = ?, int $priority = ?)

Constructs the EvCheck watcher object.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvPrepare
  • EvLoop::check() - Creates EvCheck object associated with the current event loop instance


Create instance of a stopped EvCheck watcher

  • « EvCheck::__construct
  • EvChild »
  • PHP Manual
  • EvCheck
  • Create instance of a stopped EvCheck watcher

EvCheck::createStopped

(PECL ev >= 0.2.0)

EvCheck::createStopped — Create instance of a stopped EvCheck watcher

Açıklama

final public static EvCheck::createStopped( string $callback , string $data = ?, string $priority = ?): object

Create instance of a stopped EvCheck watcher

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvCheck object on success.

Ayrıca Bakınız

  • EvPrepare


The EvChild class

(PECL ev >= 0.2.0)

Giriş

EvChild watchers trigger when the process receives a SIGCHLD in response to some child status changes (most typically when a child dies or exits). It is permissible to install an EvChild watcher after the child has been forked(which implies it might have already exited), as long as the event loop isn't entered(or is continued from a watcher), i.e. forking and then immediately registering a watcher for the child is fine, but forking and registering a watcher a few event loop iterations later or in the next callback invocation is not.

It is allowed to register EvChild watchers in the default loop only.

Sınıf Sözdizimi

class EvChild extends EvWatcher {
/* Özellikler */
public $pid;
public $rpid;
public $rstatus;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
int $pid ,
bool $trace ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)
final public static createStopped(
int $pid ,
bool $trace ,
callable $callback ,
mixed $data = ?,
int $priority = ?
): object
public set( int $pid , bool $trace ): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

pid

Readonly . The process ID this watcher watches out for, or 0 , meaning any process ID.

rpid

Readonly .The process ID that detected a status change.

rstatus

Readonly . The process exit status caused by rpid .

İçindekiler

  • EvChild::__construct — Constructs the EvChild watcher object
  • EvChild::createStopped — Create instance of a stopped EvCheck watcher
  • EvChild::set — Configures the watcher


Constructs the EvChild watcher object

  • « EvChild
  • EvChild::createStopped »
  • PHP Manual
  • EvChild
  • Constructs the EvChild watcher object

EvChild::__construct

(PECL ev >= 0.2.0)

EvChild::__construct — Constructs the EvChild watcher object

Açıklama

public EvChild::__construct(
int $pid ,
bool $trace ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)

Constructs the EvChild watcher object.

Call the callback when a status change for process ID pid (or any PID if pid is 0 ) has been received(a status change happens when the process terminates or is killed, or, when trace is true, additionally when it is stopped or continued). In other words, when the process receives a SIGCHLD , Ev will fetch the outstanding exit/wait status for all changed/zombie children and call the callback.

It is valid to install a child watcher after an EvChild has exited but before the event loop has started its next iteration. For example, first one calls fork , then the new child process might exit, and only then an EvChild watcher is installed in the parent for the new PID .

You can access both exit/tracing status and pid by using the rstatus and rpid properties of the watcher object.

The number of PID watchers per PID is unlimited. All of them will be called.

The EvChild::createStopped() method doesn't start(activate) the newly created watcher.

Bağımsız Değişkenler

pid

Wait for status changes of process PID(or any process if PID is specified as 0 ).

trace

If false, only activate the watcher when the process terminates. Otherwise(true) additionally activate the watcher when the process is stopped or continued.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvLoop::child() - Creates EvChild object associated with the current event loop


Create instance of a stopped EvCheck watcher

  • « EvChild::__construct
  • EvChild::set »
  • PHP Manual
  • EvChild
  • Create instance of a stopped EvCheck watcher

EvChild::createStopped

(PECL ev >= 0.2.0)

EvChild::createStopped — Create instance of a stopped EvCheck watcher

Açıklama

final public static EvChild::createStopped(
int $pid ,
bool $trace ,
callable $callback ,
mixed $data = ?,
int $priority = ?
): object

The same as EvChild::__construct() , but doesn't start the watcher automatically.

Bağımsız Değişkenler

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Ayrıca Bakınız

  • EvChild::__construct() - Constructs the EvChild watcher object
  • EvLoop::child() - Creates EvChild object associated with the current event loop


Configures the watcher

  • « EvChild::createStopped
  • EvEmbed »
  • PHP Manual
  • EvChild
  • Configures the watcher

EvChild::set

(PECL ev >= 0.2.0)

EvChild::set — Configures the watcher

Açıklama

public EvChild::set( int $pid , bool $trace ): void

Bağımsız Değişkenler

pid

The same as for EvChild::__construct()

trace

The same as for EvChild::__construct()

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvChild::__construct() - Constructs the EvChild watcher object


The EvEmbed class

(PECL ev >= 0.2.0)

Giriş

Used to embed one event loop into another.

Sınıf Sözdizimi

class EvEmbed extends EvWatcher {
/* Özellikler */
public $embed;
/* Yöntemler */
public __construct(
object $other ,
callable $callback = ?,
mixed $data = ?,
int $priority = ?
)
final public static createStopped(
object $other ,
callable $callback = ?,
mixed $data = ?,
int $priority = ?
): void
public set( object $other ): void
public sweep(): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

is_active

data

is_pending

priority

embed

İçindekiler

  • EvEmbed::__construct — Constructs the EvEmbed object
  • EvEmbed::createStopped — Create stopped EvEmbed watcher object
  • EvEmbed::set — Configures the watcher
  • EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop


Constructs the EvEmbed object

  • « EvEmbed
  • EvEmbed::createStopped »
  • PHP Manual
  • EvEmbed
  • Constructs the EvEmbed object

EvEmbed::__construct

(PECL ev >= 0.2.0)

EvEmbed::__construct — Constructs the EvEmbed object

Açıklama

public EvEmbed::__construct(
object $other ,
callable $callback = ?,
mixed $data = ?,
int $priority = ?
)

This is a rather advanced watcher type that lets to embed one event loop into another(currently only IO events are supported in the embedded loop, other types of watchers might be handled in a delayed or incorrect fashion and must not be used).

See » the libev documentation for details.

This watcher is most useful on BSD systems without working kqueue to still be able to handle a large number of sockets. See example below.

Bağımsız Değişkenler

other

Instance of EvLoop . The loop to embed, this loop must be embeddable(see Ev::embeddableBackends() ).

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Örnekler

Örnek 1 Embedding loop created with kqueue backend into the default loop

<?php
/*
* Check if kqueue is available but not recommended and create a kqueue backend
* for use with sockets (which usually work with any kqueue implementation).
* Store the kqueue/socket-only event loop in loop_socket. (One might optionally
* use EVFLAG_NOENV, too)
*
* Example borrowed from
* http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#Examples_CONTENT-9
*/
$loop = EvLoop::defaultLoop();
$socket_loop = NULL;
$embed = NULL;

if (Ev::supportedBackends() & ~Ev::recommendedBackends() & Ev::BACKEND_KQUEUE) {
if (($socket_loop = new EvLoop(Ev::BACKEND_KQUEUE))) {
$embed = new EvEmbed($loop);
}
}

if (!$socket_loop) {
$socket_loop = $loop;
}

// Now use $socket_loop for all sockets, and $loop for anything else
?>

Ayrıca Bakınız

  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops


Create stopped EvEmbed watcher object

  • « EvEmbed::__construct
  • EvEmbed::set »
  • PHP Manual
  • EvEmbed
  • Create stopped EvEmbed watcher object

EvEmbed::createStopped

(PECL ev >= 0.2.0)

EvEmbed::createStopped — Create stopped EvEmbed watcher object

Açıklama

final public static EvEmbed::createStopped(
object $other ,
callable $callback = ?,
mixed $data = ?,
int $priority = ?
): void

The same as EvEmbed::__construct() , but doesn't start the watcher automatically.

Bağımsız Değişkenler

other

The same as for EvEmbed::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns stopped EvEmbed object on success.

Ayrıca Bakınız

  • EvEmbed::__construct() - Constructs the EvEmbed object
  • Ev::embeddableBackends() - Returns the set of backends that are embeddable in other event loops


Configures the watcher

  • « EvEmbed::createStopped
  • EvEmbed::sweep »
  • PHP Manual
  • EvEmbed
  • Configures the watcher

EvEmbed::set

(PECL ev >= 0.2.0)

EvEmbed::set — Configures the watcher

Açıklama

public EvEmbed::set( object $other ): void

Configures the watcher to use other event loop object.

Bağımsız Değişkenler

other

The same as for EvEmbed::__construct()

Dönen Değerler

Hiçbir değer dönmez.


Make a single, non-blocking sweep over the embedded loop

  • « EvEmbed::set
  • EvFork »
  • PHP Manual
  • EvEmbed
  • Make a single, non-blocking sweep over the embedded loop

EvEmbed::sweep

(PECL ev >= 0.2.0)

EvEmbed::sweep — Make a single, non-blocking sweep over the embedded loop

Açıklama

public EvEmbed::sweep(): void

Make a single, non-blocking sweep over the embedded loop. Works similarly to the following, but in the most appropriate way for embedded loops:

<?php
$other->start(Ev::RUN_NOWAIT);
?>

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvWatcher::start() - Starts the watcher


The EvFork class

(PECL ev >= 0.2.0)

Giriş

Fork watchers are called when a fork() was detected (usually because whoever signalled libev about it by calling EvLoop::fork() ). The invocation is done before the event loop blocks next and before EvCheck watchers are being called, and only in the child after the fork. Note, that if whoever calling EvLoop::fork() calls it in the wrong process, the fork handlers will be invoked, too.

Sınıf Sözdizimi

class EvFork extends EvWatcher {
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct( callable $callback , mixed $data = null , int $priority = 0 )
final public static createStopped( string $callback , string $data = ?, string $priority = ?): object
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

İçindekiler

  • EvFork::__construct — Constructs the EvFork watcher object
  • EvFork::createStopped — Creates a stopped instance of EvFork watcher class


Constructs the EvFork watcher object

  • « EvFork
  • EvFork::createStopped »
  • PHP Manual
  • EvFork
  • Constructs the EvFork watcher object

EvFork::__construct

(PECL ev >= 0.2.0)

EvFork::__construct — Constructs the EvFork watcher object

Açıklama

public EvFork::__construct( callable $callback , mixed $data = null , int $priority = 0 )

Constructs the EvFork watcher object and starts the watcher automatically.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvLoop::fork() - Creates EvFork watcher object associated with the current event loop instance
  • EvCheck


Creates a stopped instance of EvFork watcher class

  • « EvFork::__construct
  • EvIdle »
  • PHP Manual
  • EvFork
  • Creates a stopped instance of EvFork watcher class

EvFork::createStopped

(PECL ev >= 0.2.0)

EvFork::createStopped — Creates a stopped instance of EvFork watcher class

Açıklama

final public static EvFork::createStopped( string $callback , string $data = ?, string $priority = ?): object

The same as EvFork::__construct() , but doesn't start the watcher automatically.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvFork(stopped) object on success.

Ayrıca Bakınız

  • EvFork::__construct() - Constructs the EvFork watcher object


The EvIdle class

(PECL ev >= 0.2.0)

Giriş

EvIdle watchers trigger events when no other events of the same or higher priority are pending ( EvPrepare , EvCheck and other EvIdle watchers do not count as receiving events ).

Thus, as long as the process is busy handling sockets or timeouts(or even signals) of the same or higher priority it will not be triggered. But when the process is in idle(or only lower-priority watchers are pending), the EvIdle watchers are being called once per event loop iteration - until stopped, that is, or the process receives more events and becomes busy again with higher priority stuff.

Apart from keeping the process non-blocking(which is a useful on its own sometimes), EvIdle watchers are a good place to do "pseudo-background processing" , or delay processing stuff to after the event loop has handled all outstanding events.

The most noticeable effect is that as long as any idle watchers are active, the process will not block when waiting for new events.

Sınıf Sözdizimi

class EvIdle extends EvWatcher {
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct( callable $callback , mixed $data = ?, int $priority = ?)
final public static createStopped( string $callback , mixed $data = ?, int $priority = ?): object
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

İçindekiler

  • EvIdle::__construct — Constructs the EvIdle watcher object
  • EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object


Constructs the EvIdle watcher object

  • « EvIdle
  • EvIdle::createStopped »
  • PHP Manual
  • EvIdle
  • Constructs the EvIdle watcher object

EvIdle::__construct

(PECL ev >= 0.2.0)

EvIdle::__construct — Constructs the EvIdle watcher object

Açıklama

public EvIdle::__construct( callable $callback , mixed $data = ?, int $priority = ?)

Constructs the EvIdle watcher object and starts the watcher automatically.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvIdle::createStopped() - Creates instance of a stopped EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance


Creates instance of a stopped EvIdle watcher object

  • « EvIdle::__construct
  • EvIo »
  • PHP Manual
  • EvIdle
  • Creates instance of a stopped EvIdle watcher object

EvIdle::createStopped

(PECL ev >= 0.2.0)

EvIdle::createStopped — Creates instance of a stopped EvIdle watcher object

Açıklama

final public static EvIdle::createStopped( string $callback , mixed $data = ?, int $priority = ?): object

The same as EvIdle::__construct() , but doesn't start the watcher automatically.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvIdle object on success.

Ayrıca Bakınız

  • EvIdle::__construct() - Constructs the EvIdle watcher object
  • EvLoop::idle() - Creates EvIdle watcher object associated with the current event loop instance


The EvIo class

(PECL ev >= 0.2.0)

Giriş

EvIo watchers check whether a file descriptor(or socket, or a stream castable to numeric file descriptor) is readable or writable in each iteration of the event loop, or, more precisely, when reading would not block the process and writing would at least be able to write some data. This behaviour is called level-triggering because events are kept receiving as long as the condition persists. To stop receiving events just stop the watcher.

The number of read and/or write event watchers per fd is unlimited. Setting all file descriptors to non-blocking mode is also usually a good idea(but not required).

Another thing to watch out for is that it is quite easy to receive false readiness notifications, i.e. the callback might be called with Ev::READ but a subsequent read() will actually block because there is no data. It is very easy to get into this situation. Thus it is best to always use non-blocking I/O: An extra read() returning EAGAIN (or similar) is far preferable to a program hanging until some data arrives.

If for some reason it is impossible to run the fd in non-blocking mode, then separately re-test whether a file descriptor is really ready. Some people additionally use SIGALRM and an interval timer, just to be sure thry won't block infinitely.

Always consider using non-blocking mode.

Sınıf Sözdizimi

class EvIo extends EvWatcher {
/* Özellikler */
public $fd;
public $events;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = ?,
int $priority = ?
)
final public static createStopped(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvIo
public set( mixed $fd , int $events ): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

fd

events

İçindekiler

  • EvIo::__construct — Constructs EvIo watcher object
  • EvIo::createStopped — Create stopped EvIo watcher object
  • EvIo::set — Configures the watcher


Constructs EvIo watcher object

  • « EvIo
  • EvIo::createStopped »
  • PHP Manual
  • EvIo
  • Constructs EvIo watcher object

EvIo::__construct

(PECL ev >= 0.2.0)

EvIo::__construct — Constructs EvIo watcher object

Açıklama

public EvIo::__construct(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = ?,
int $priority = ?
)

Constructs EvIo watcher object and starts the watcher automatically.

Bağımsız Değişkenler

fd

Can be a stream opened with fopen() or similar functions, numeric file descriptor, or socket.

events

Ev::READ and/or Ev::WRITE . See the bit masks .

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvIo::createStopped() - Create stopped EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance


Create stopped EvIo watcher object

  • « EvIo::__construct
  • EvIo::set »
  • PHP Manual
  • EvIo
  • Create stopped EvIo watcher object

EvIo::createStopped

(PECL ev >= 0.2.0)

EvIo::createStopped — Create stopped EvIo watcher object

Açıklama

final public static EvIo::createStopped(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvIo

The same as EvIo::__construct() , but doesn't start the watcher automatically.

Bağımsız Değişkenler

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvIo object on success.

Ayrıca Bakınız

  • EvIo::__construct() - Constructs EvIo watcher object
  • EvLoop::io() - Create EvIo watcher object associated with the current event loop instance


Configures the watcher

  • « EvIo::createStopped
  • EvLoop »
  • PHP Manual
  • EvIo
  • Configures the watcher

EvIo::set

(PECL ev >= 0.2.0)

EvIo::set — Configures the watcher

Açıklama

public EvIo::set( mixed $fd , int $events ): void

Configures the EvIo watcher

Bağımsız Değişkenler

fd

The same as for EvIo::__construct()

events

The same as for EvIo::__construct()

Dönen Değerler

Hiçbir değer dönmez.


The EvLoop class

(PECL ev >= 0.2.0)

Giriş

Represents an event loop that is always distinct from the default loop . Unlike the default loop , it cannot handle EvChild watchers.

Having threads we have to create a loop per thread, and use the default loop in the parent thread.

The default event loop is initialized automatically by Ev . It is accessible via methods of the Ev class, or via EvLoop::defaultLoop() method.

Sınıf Sözdizimi

final class EvLoop {
/* Özellikler */
public $data;
public $backend;
public $is_default_loop;
public $iteration;
public $pending;
public $io_interval;
public $timeout_interval;
public $depth;
/* Yöntemler */
public __construct(
int $flags = ?,
mixed $data = NULL ,
float $io_interval = 0.0 ,
float $timeout_interval = 0.0
)
public backend(): int
final public check( string $callback , string $data = ?, string $priority = ?): EvCheck
final public child(
string $pid ,
string $trace ,
string $callback ,
string $data = ?,
string $priority = ?
): EvChild
public static defaultLoop(
int $flags = Ev::FLAG_AUTO ,
mixed $data = NULL ,
float $io_interval = 0. ,
float $timeout_interval = 0.
): EvLoop
final public embed(
string $other ,
string $callback = ?,
string $data = ?,
string $priority = ?
): EvEmbed
final public fork( callable $callback , mixed $data = null , int $priority = 0 ): EvFork
final public idle( callable $callback , mixed $data = null , int $priority = 0 ): EvIdle
public invokePending(): void
final public io(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvIo
public loopFork(): void
public now(): float
public nowUpdate(): void
final public periodic(
float $offset ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvPeriodic
final public prepare( callable $callback , mixed $data = null , int $priority = 0 ): EvPrepare
public resume(): void
public run( int $flags = 0 ): void
final public signal(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvSignal
final public stat(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvStat
public stop( int $how = ?): void
public suspend(): void
final public timer(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvTimer
public verify(): void
}

Özellikler

data

Custom data attached to loop

backend

Readonly . The backend flags indicating the event backend in use.

is_default_loop

Readonly . true if it is the default event loop.

iteration

The current iteration count of the loop. See Ev::iteration()

pending

The number of pending watchers. 0 indicates that there are no watchers pending.

io_interval

Higher io_interval allows libev to spend more time collecting EvIo events, so more events can be handled per iteration, at the cost of increasing latency. Timeouts (both EvPeriodic and EvTimer ) will not be affected. Setting this to a non-zero value will introduce an additional sleep() call into most loop iterations. The sleep time ensures that libev will not poll for EvIo events more often than once per this interval, on average. Many programs can usually benefit by setting the io_interval to a value near 0.1 , which is often enough for interactive servers(not for games). It usually doesn't make much sense to set it to a lower value than 0.01 , as this approaches the timing granularity of most systems.

See also » FUNCTIONS CONTROLLING EVENT LOOPS .

timeout_interval

Higher timeout_interval allows libev to spend more time collecting timeouts, at the expense of increased latency/jitter/inexactness(the watcher callback will be called later). EvIo watchers will not be affected. Setting this to a non-null value will not introduce any overhead in libev . See also » FUNCTIONS CONTROLLING EVENT LOOPS .

depth

The recursion depth. See Ev::depth() .

İçindekiler

  • EvLoop::backend — Returns an integer describing the backend used by libev
  • EvLoop::check — Creates EvCheck object associated with the current event loop instance
  • EvLoop::child — Creates EvChild object associated with the current event loop
  • EvLoop::__construct — Constructs the event loop object
  • EvLoop::defaultLoop — Returns or creates the default event loop
  • EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object
  • EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance
  • EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance
  • EvLoop::invokePending — Invoke all pending watchers while resetting their pending state
  • EvLoop::io — Create EvIo watcher object associated with the current event loop instance
  • EvLoop::loopFork — Must be called after a fork
  • EvLoop::now — Returns the current "event loop time"
  • EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
  • EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance
  • EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance
  • EvLoop::resume — Resume previously suspended default event loop
  • EvLoop::run — Begin checking for events and calling callbacks for the loop
  • EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance
  • EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance
  • EvLoop::stop — Stops the event loop
  • EvLoop::suspend — Suspend the loop
  • EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance
  • EvLoop::verify — Performs internal consistency checks(for debugging)


Returns an integer describing the backend used by libev

  • « EvLoop
  • EvLoop::check »
  • PHP Manual
  • EvLoop
  • Returns an integer describing the backend used by libev

EvLoop::backend

(PECL ev >= 0.2.0)

EvLoop::backend — Returns an integer describing the backend used by libev

Açıklama

public EvLoop::backend(): int

The same as Ev::backend() , but for the loop instance.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer describing the backend used by libev. See Ev::backend() .

Ayrıca Bakınız

  • Ev::backend() - Returns an integer describing the backend used by libev


Creates EvCheck object associated with the current event loop instance

  • « EvLoop::backend
  • EvLoop::child »
  • PHP Manual
  • EvLoop
  • Creates EvCheck object associated with the current event loop instance

EvLoop::check

(PECL ev >= 0.2.0)

EvLoop::check — Creates EvCheck object associated with the current event loop instance

Açıklama

final public EvLoop::check( string $callback , string $data = ?, string $priority = ?): EvCheck

Creates EvCheck object associated with the current event loop instance.

Bağımsız Değişkenler

All parameters have the same meaning as for EvCheck::__construct()

Dönen Değerler

Returns EvCheck object on success.

Ayrıca Bakınız

  • EvCheck::__construct() - Constructs the EvCheck watcher object


Creates EvChild object associated with the current event loop

  • « EvLoop::check
  • EvLoop::__construct »
  • PHP Manual
  • EvLoop
  • Creates EvChild object associated with the current event loop

EvLoop::child

(PECL ev >= 0.2.0)

EvLoop::child — Creates EvChild object associated with the current event loop

Açıklama

final public EvLoop::child(
string $pid ,
string $trace ,
string $callback ,
string $data = ?,
string $priority = ?
): EvChild

Creates EvChild object associated with the current event loop.

Bağımsız Değişkenler

All parameters have the same meaning as for EvChild::__construct()

Dönen Değerler

Returns EvChild object on success.

Ayrıca Bakınız

  • EvChild::__construct() - Constructs the EvChild watcher object


Constructs the event loop object

  • « EvLoop::child
  • EvLoop::defaultLoop »
  • PHP Manual
  • EvLoop
  • Constructs the event loop object

EvLoop::__construct

(PECL ev >= 0.2.0)

EvLoop::__construct — Constructs the event loop object

Açıklama

public EvLoop::__construct(
int $flags = ?,
mixed $data = NULL ,
float $io_interval = 0.0 ,
float $timeout_interval = 0.0
)

Constructs the event loop object.

Bağımsız Değişkenler

flags

One of the event loop flags

data

Custom data associated with the loop.

io_interval

See io_interval

timeout_interval

See timeout_interval

Ayrıca Bakınız

  • EvLoop::defaultLoop() - Returns or creates the default event loop


Returns or creates the default event loop

  • « EvLoop::__construct
  • EvLoop::embed »
  • PHP Manual
  • EvLoop
  • Returns or creates the default event loop

EvLoop::defaultLoop

(PECL ev >= 0.2.0)

EvLoop::defaultLoop — Returns or creates the default event loop

Açıklama

public static EvLoop::defaultLoop(
int $flags = Ev::FLAG_AUTO ,
mixed $data = NULL ,
float $io_interval = 0. ,
float $timeout_interval = 0.
): EvLoop

If the default event loop is not created, EvLoop::defaultLoop() creates it with the specified parameters. Otherwise, it just returns the object representing previously created instance ignoring all the parameters.

Bağımsız Değişkenler

flags

One of the event loop flags

data

Custom data to associate with the loop.

io_collect_interval

See io_interval

timeout_collect_interval

See timeout_interval

Dönen Değerler

Returns EvLoop object on success.

Ayrıca Bakınız

  • EvLoop::__construct() - Constructs the event loop object


Creates an instance of EvEmbed watcher associated with the current EvLoop object

  • « EvLoop::defaultLoop
  • EvLoop::fork »
  • PHP Manual
  • EvLoop
  • Creates an instance of EvEmbed watcher associated with the current EvLoop object

EvLoop::embed

(PECL ev >= 0.2.0)

EvLoop::embed — Creates an instance of EvEmbed watcher associated with the current EvLoop object

Açıklama

final public EvLoop::embed(
string $other ,
string $callback = ?,
string $data = ?,
string $priority = ?
): EvEmbed

Creates an instance of EvEmbed watcher associated with the current EvLoop object.

Bağımsız Değişkenler

All parameters have the same meaning as for EvEmbed::__construct() .

Dönen Değerler

Returns EvEmbed object on success.

Ayrıca Bakınız

  • EvEmbed::__construct() - Constructs the EvEmbed object


Creates EvFork watcher object associated with the current event loop instance

  • « EvLoop::embed
  • EvLoop::idle »
  • PHP Manual
  • EvLoop
  • Creates EvFork watcher object associated with the current event loop instance

EvLoop::fork

(PECL ev >= 0.2.0)

EvLoop::fork — Creates EvFork watcher object associated with the current event loop instance

Açıklama

final public EvLoop::fork( callable $callback , mixed $data = null , int $priority = 0 ): EvFork

Creates EvFork watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same meaning as for EvFork::__construct()

Dönen Değerler

Returns EvFork object on success.

Ayrıca Bakınız

  • EvFork::__construct() - Constructs the EvFork watcher object


Creates EvIdle watcher object associated with the current event loop instance

  • « EvLoop::fork
  • EvLoop::invokePending »
  • PHP Manual
  • EvLoop
  • Creates EvIdle watcher object associated with the current event loop instance

EvLoop::idle

(PECL ev >= 0.2.0)

EvLoop::idle — Creates EvIdle watcher object associated with the current event loop instance

Açıklama

final public EvLoop::idle( callable $callback , mixed $data = null , int $priority = 0 ): EvIdle

Creates EvIdle watcher object associated with the current event loop instance

Bağımsız Değişkenler

All the parameters have the same meaning as for EvIdle::__construct()

Dönen Değerler

Returns EvIdle object on success.

Ayrıca Bakınız

  • EvIdle::__construct() - Constructs the EvIdle watcher object


Invoke all pending watchers while resetting their pending state

  • « EvLoop::idle
  • EvLoop::io »
  • PHP Manual
  • EvLoop
  • Invoke all pending watchers while resetting their pending state

EvLoop::invokePending

(PECL ev >= 0.2.0)

EvLoop::invokePending — Invoke all pending watchers while resetting their pending state

Açıklama

public EvLoop::invokePending(): void

Invoke all pending watchers while resetting their pending state.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Create EvIo watcher object associated with the current event loop instance

  • « EvLoop::invokePending
  • EvLoop::loopFork »
  • PHP Manual
  • EvLoop
  • Create EvIo watcher object associated with the current event loop instance

EvLoop::io

(PECL ev >= 0.2.0)

EvLoop::io — Create EvIo watcher object associated with the current event loop instance

Açıklama

final public EvLoop::io(
mixed $fd ,
int $events ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvIo

Create EvIo watcher object associated with the current event loop instance.

Bağımsız Değişkenler

All parameters have the same meaning as for EvIo::__construct()

Dönen Değerler

Returns EvIo object on success.

Ayrıca Bakınız

  • EvIo::__construct() - Constructs EvIo watcher object


Must be called after a fork

  • « EvLoop::io
  • EvLoop::now »
  • PHP Manual
  • EvLoop
  • Must be called after a fork

EvLoop::loopFork

(PECL ev >= 0.2.0)

EvLoop::loopFork — Must be called after a fork

Açıklama

public EvLoop::loopFork(): void

Must be called after a fork in the child, before entering or continuing the event loop. An alternative is to use Ev::FLAG_FORKCHECK which calls this function automatically, at some performance loss (refer to the » libev documentation ).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns the current "event loop time"

  • « EvLoop::loopFork
  • EvLoop::nowUpdate »
  • PHP Manual
  • EvLoop
  • Returns the current "event loop time"

EvLoop::now

(PECL ev >= 0.2.0)

EvLoop::now — Returns the current "event loop time"

Açıklama

public EvLoop::now(): float

Returns the current "event loop time", which is the time the event loop received events and started processing them. This timestamp does not change as long as callbacks are being processed, and this is also the base time used for relative timers. You can treat it as the timestamp of the event occurring(or more correctly, libev finding out about it).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns time of the event loop in (fractional) seconds.

Ayrıca Bakınız

  • Ev::now() - Returns the time when the last iteration of the default event loop has started


Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

  • « EvLoop::now
  • EvLoop::periodic »
  • PHP Manual
  • EvLoop
  • Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

EvLoop::nowUpdate

(PECL ev >= 0.2.0)

EvLoop::nowUpdate — Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress

Açıklama

public EvLoop::nowUpdate(): void

Establishes the current time by querying the kernel, updating the time returned by EvLoop::now() in the progress. This is a costly operation and is usually done automatically within EvLoop::run() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvLoop::now() - Returns the current "event loop time"
  • Ev::nowUpdate() - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress


Creates EvPeriodic watcher object associated with the current event loop instance

  • « EvLoop::nowUpdate
  • EvLoop::prepare »
  • PHP Manual
  • EvLoop
  • Creates EvPeriodic watcher object associated with the current event loop instance

EvLoop::periodic

(PECL ev >= 0.2.0)

EvLoop::periodic — Creates EvPeriodic watcher object associated with the current event loop instance

Açıklama

final public EvLoop::periodic(
float $offset ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvPeriodic

Creates EvPeriodic watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same maening as for EvPeriodic::__construct()

Dönen Değerler

Returns EvPeriodic object on success.

Ayrıca Bakınız

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object


Creates EvPrepare watcher object associated with the current event loop instance

  • « EvLoop::periodic
  • EvLoop::resume »
  • PHP Manual
  • EvLoop
  • Creates EvPrepare watcher object associated with the current event loop instance

EvLoop::prepare

(PECL ev >= 0.2.0)

EvLoop::prepare — Creates EvPrepare watcher object associated with the current event loop instance

Açıklama

final public EvLoop::prepare( callable $callback , mixed $data = null , int $priority = 0 ): EvPrepare

Creates EvPrepare watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same maening as for EvPrepare()

Dönen Değerler

Returns EvPrepare object on success

Ayrıca Bakınız

  • EvPrepare::__construct() - Constructs EvPrepare watcher object


Resume previously suspended default event loop

  • « EvLoop::prepare
  • EvLoop::run »
  • PHP Manual
  • EvLoop
  • Resume previously suspended default event loop

EvLoop::resume

(PECL ev >= 0.2.0)

EvLoop::resume — Resume previously suspended default event loop

Açıklama

public EvLoop::resume(): void

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvLoop::suspend() - Suspend the loop
  • Ev::resume() - Resume previously suspended default event loop


Begin checking for events and calling callbacks for the loop

  • « EvLoop::resume
  • EvLoop::signal »
  • PHP Manual
  • EvLoop
  • Begin checking for events and calling callbacks for the loop

EvLoop::run

(PECL ev >= 0.2.0)

EvLoop::run — Begin checking for events and calling callbacks for the loop

Açıklama

public EvLoop::run( int $flags = 0 ): void

Begin checking for events and calling callbacks for the current event loop. Returns when a callback calls Ev::stop() method, or the flags are nonzero(in which case the return value is true) or when there are no active watchers which reference the loop( EvWatcher::keepalive() is true), in which case the return value will be false. The return value can generally be interpreted as if true, there is more work left to do .

Bağımsız Değişkenler

flags

Optional parameter flags can be one of the following:

List for possible values of flags
flags | Description
0 | The default behavior described above
Ev::RUN_ONCE | Block at most one(wait, but don't loop)
Ev::RUN_NOWAIT | Don't block at all(fetch/handle events, but don't wait)

See the run flag constants .

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvLoop::stop() - Stops the event loop
  • Ev::run() - Begin checking for events and calling callbacks for the default loop


Creates EvSignal watcher object associated with the current event loop instance

  • « EvLoop::run
  • EvLoop::stat »
  • PHP Manual
  • EvLoop
  • Creates EvSignal watcher object associated with the current event loop instance

EvLoop::signal

(PECL ev >= 0.2.0)

EvLoop::signal — Creates EvSignal watcher object associated with the current event loop instance

Açıklama

final public EvLoop::signal(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvSignal

Creates EvSignal watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same meaning as for EvSignal::__construct()

Dönen Değerler

Returns EvSignal object on success

Ayrıca Bakınız

  • EvSignal::__construct() - Constructs EvSignal watcher object


Creates EvStat watcher object associated with the current event loop instance

  • « EvLoop::signal
  • EvLoop::stop »
  • PHP Manual
  • EvLoop
  • Creates EvStat watcher object associated with the current event loop instance

EvLoop::stat

(PECL ev >= 0.2.0)

EvLoop::stat — Creates EvStat watcher object associated with the current event loop instance

Açıklama

final public EvLoop::stat(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvStat

Creates EvStat watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same meaning as for EvSignal::__construct()

Dönen Değerler

Returns EvStat object on success

Ayrıca Bakınız

  • EvSignal::__construct() - Constructs EvSignal watcher object


Stops the event loop

  • « EvLoop::stat
  • EvLoop::suspend »
  • PHP Manual
  • EvLoop
  • Stops the event loop

EvLoop::stop

(PECL ev >= 0.2.0)

EvLoop::stop — Stops the event loop

Açıklama

public EvLoop::stop( int $how = ?): void

Stops the event loop

Bağımsız Değişkenler

how

One of Ev::BREAK_* constants .

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvLoop::run() - Begin checking for events and calling callbacks for the loop
  • Ev::stop() - Stops the default event loop


Suspend the loop

  • « EvLoop::stop
  • EvLoop::timer »
  • PHP Manual
  • EvLoop
  • Suspend the loop

EvLoop::suspend

(PECL ev >= 0.2.0)

EvLoop::suspend — Suspend the loop

Açıklama

public EvLoop::suspend(): void

EvLoop::suspend() and EvLoop::resume() methods suspend and resume a loop correspondingly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvLoop::resume() - Resume previously suspended default event loop
  • Ev::suspend() - Suspend the default event loop


Creates EvTimer watcher object associated with the current event loop instance

  • « EvLoop::suspend
  • EvLoop::verify »
  • PHP Manual
  • EvLoop
  • Creates EvTimer watcher object associated with the current event loop instance

EvLoop::timer

(PECL ev >= 0.2.0)

EvLoop::timer — Creates EvTimer watcher object associated with the current event loop instance

Açıklama

final public EvLoop::timer(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvTimer

Creates EvTimer watcher object associated with the current event loop instance

Bağımsız Değişkenler

All parameters have the same meaning as for EvTimer::__construct()

Dönen Değerler

Returns EvTimer object on success

Ayrıca Bakınız

  • EvTimer::__construct() - Constructs an EvTimer watcher object


Performs internal consistency checks(for debugging)

  • « EvLoop::timer
  • EvPeriodic »
  • PHP Manual
  • EvLoop
  • Performs internal consistency checks(for debugging)

EvLoop::verify

(PECL ev >= 0.2.0)

EvLoop::verify — Performs internal consistency checks(for debugging)

Açıklama

public EvLoop::verify(): void

Performs internal consistency checks(for debugging libev ) and abort the program if any data structures were found to be corrupted.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Ev::verify() - Performs internal consistency checks(for debugging)


The EvPeriodic class

(PECL ev >= 0.2.0)

Giriş

Periodic watchers are also timers of a kind, but they are very versatile.

Unlike EvTimer , EvPeriodic watchers are not based on real time(or relative time, the physical time that passes) but on wall clock time(absolute time, calendar or clock). The difference is that wall clock time can run faster or slower than real time, and time jumps are not uncommon(e.g. when adjusting it).

EvPeriodic watcher can be configured to trigger after some specific point in time. For example, if an EvPeriodic watcher is configured to trigger "in 10 seconds" (e.g. EvLoop::now() + 10.0 , i.e. an absolute time, not a delay), and the system clock is reset to January of the previous year , then it will take a year or more to trigger the event (unlike an EvTimer , which would still trigger roughly 10 seconds after starting it as it uses a relative timeout).

As with timers, the callback is guaranteed to be invoked only when the point in time where it is supposed to trigger has passed. If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

Sınıf Sözdizimi

class EvPeriodic extends EvWatcher {
/* Özellikler */
public $offset;
public $interval;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
float $offset ,
string $interval ,
callable $reschedule_cb ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)
public again(): void
public at(): float
final public static createStopped(
float $offset ,
float $interval ,
callable $reschedule_cb ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvPeriodic
public set( float $offset , float $interval ): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

offset

When repeating, this contains the offset value, otherwise this is the absolute point in time(the offset value passed to EvPeriodic::set() , although libev might modify this value for better numerical stability).

interval

The current interval value. Can be modified any time, but changes only take effect when the periodic timer fires or EvPeriodic::again() is being called.

İçindekiler

  • EvPeriodic::again — Simply stops and restarts the periodic watcher again
  • EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next
  • EvPeriodic::__construct — Constructs EvPeriodic watcher object
  • EvPeriodic::createStopped — Create a stopped EvPeriodic watcher
  • EvPeriodic::set — Configures the watcher


Simply stops and restarts the periodic watcher again

  • « EvPeriodic
  • EvPeriodic::at »
  • PHP Manual
  • EvPeriodic
  • Simply stops and restarts the periodic watcher again

EvPeriodic::again

(PECL ev >= 0.2.0)

EvPeriodic::again — Simply stops and restarts the periodic watcher again

Açıklama

public EvPeriodic::again(): void

Simply stops and restarts the periodic watcher again. This is only useful when attributes are changed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvTimer::again() - Restarts the timer watcher


Returns the absolute time that this watcher is supposed to trigger next

  • « EvPeriodic::again
  • EvPeriodic::__construct »
  • PHP Manual
  • EvPeriodic
  • Returns the absolute time that this watcher is supposed to trigger next

EvPeriodic::at

(PECL ev >= 0.2.0)

EvPeriodic::at — Returns the absolute time that this watcher is supposed to trigger next

Açıklama

public EvPeriodic::at(): float

When the watcher is active, returns the absolute time that this watcher is supposed to trigger next. This is not the same as the offset argument to EvPeriodic::set() or EvPeriodic::__construct() , but indeed works even in interval mode.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the absolute time this watcher is supposed to trigger next in seconds.


Constructs EvPeriodic watcher object

  • « EvPeriodic::at
  • EvPeriodic::createStopped »
  • PHP Manual
  • EvPeriodic
  • Constructs EvPeriodic watcher object

EvPeriodic::__construct

(PECL ev >= 0.2.0)

EvPeriodic::__construct — Constructs EvPeriodic watcher object

Açıklama

public EvPeriodic::__construct(
float $offset ,
string $interval ,
callable $reschedule_cb ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)

Constructs EvPeriodic watcher object and starts it automatically. EvPeriodic::createStopped() method creates stopped periodic watcher.

Bağımsız Değişkenler

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass null. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Örnekler

Örnek 1 Periodic timer. Use reschedule callback

<?php
// Tick each 10.5 seconds

function reschedule_cb ($watcher, $now) {
return $now + (10.5. - fmod($now, 10.5));
}

$w = new EvPeriodic(0., 0., "reschedule_cb", function ($w, $revents) {
echo time(), PHP_EOL;
});
Ev::run();
?>

Örnek 2 Periodic timer. Tick every 10.5 seconds starting at now

<?php
// Tick every 10.5 seconds starting at now
$w = new EvPeriodic(fmod(Ev::now(), 10.5), 10.5, NULL, function ($w, $revents) {
echo time(), PHP_EOL;
});
Ev::run();
?>

Örnek 3 Hourly watcher

<?php
$hourly = EvPeriodic(0, 3600, NULL, function () {
echo "once per hour\n";
});
?>

Ayrıca Bakınız

  • Periodic watcher operation modes
  • EvTimer
  • EvPeriodic::createStopped() - Create a stopped EvPeriodic watcher


Create a stopped EvPeriodic watcher

  • « EvPeriodic::__construct
  • EvPeriodic::set »
  • PHP Manual
  • EvPeriodic
  • Create a stopped EvPeriodic watcher

EvPeriodic::createStopped

(PECL ev >= 0.2.0)

EvPeriodic::createStopped — Create a stopped EvPeriodic watcher

Açıklama

final public static EvPeriodic::createStopped(
float $offset ,
float $interval ,
callable $reschedule_cb ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvPeriodic

Create EvPeriodic object. Unlike EvPeriodic::__construct() this method doesn't start the watcher automatically.

Bağımsız Değişkenler

offset

See Periodic watcher operation modes

interval

See Periodic watcher operation modes

reschedule_cb

Reschedule callback. You can pass null. See Periodic watcher operation modes

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvPeriodic watcher object on success.

Ayrıca Bakınız

  • EvPeriodic::__construct() - Constructs EvPeriodic watcher object
  • EvTimer::createStopped() - Creates EvTimer stopped watcher object


Configures the watcher

  • « EvPeriodic::createStopped
  • EvPrepare »
  • PHP Manual
  • EvPeriodic
  • Configures the watcher

EvPeriodic::set

(PECL ev >= 0.2.0)

EvPeriodic::set — Configures the watcher

Açıklama

public EvPeriodic::set( float $offset , float $interval ): void

(Re-)Configures EvPeriodic watcher

Bağımsız Değişkenler

offset

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

interval

The same meaning as for EvPeriodic::__construct() . See Periodic watcher operation modes

Dönen Değerler

Hiçbir değer dönmez.


The EvPrepare class

(PECL ev >= 0.2.0)

Giriş

EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare watchers get invoked before the process blocks, EvCheck afterwards.

It is not allowed to call EvLoop::run() or similar methods or functions that enter the current event loop from either EvPrepare or EvCheck watchers. Other loops than the current one are fine, however. The rationale behind this is that one don't need to check for recursion in those watchers, i.e. the sequence will always be: EvPrepare -> blocking -> EvCheck , so having a watcher of each kind they will always be called in pairs bracketing the blocking call.

The main purpose is to integrate other event mechanisms into libev and their use is somewhat advanced. They could be used, for example, to track variable changes, implement custom watchers, integrate net-snmp or a coroutine library and lots more. They are also occasionally useful to cache some data and want to flush it before blocking.

It is recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority, to ensure that they are being run before any other watchers after the poll (this doesn't matter for EvPrepare watchers).

Also, EvCheck watchers should not activate/feed events. While libev fully supports this, they might get executed before other EvCheck watchers did their job.

Sınıf Sözdizimi

class EvPrepare extends EvWatcher {
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct( string $callback , string $data = ?, string $priority = ?)
final public static createStopped( callable $callback , mixed $data = null , int $priority = 0 ): EvPrepare
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

İçindekiler

  • EvPrepare::__construct — Constructs EvPrepare watcher object
  • EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher


Constructs EvPrepare watcher object

  • « EvPrepare
  • EvPrepare::createStopped »
  • PHP Manual
  • EvPrepare
  • Constructs EvPrepare watcher object

EvPrepare::__construct

(PECL ev >= 0.2.0)

EvPrepare::__construct — Constructs EvPrepare watcher object

Açıklama

public EvPrepare::__construct( string $callback , string $data = ?, string $priority = ?)

Constructs EvPrepare watcher object. And starts the watcher automatically. If need a stopped watcher consider using EvPrepare::createStopped()

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Ayrıca Bakınız

  • EvCheck


Creates a stopped instance of EvPrepare watcher

  • « EvPrepare::__construct
  • EvSignal »
  • PHP Manual
  • EvPrepare
  • Creates a stopped instance of EvPrepare watcher

EvPrepare::createStopped

(PECL ev >= 0.2.0)

EvPrepare::createStopped — Creates a stopped instance of EvPrepare watcher

Açıklama

final public static EvPrepare::createStopped( callable $callback , mixed $data = null , int $priority = 0 ): EvPrepare

Creates a stopped instance of EvPrepare watcher. Unlike EvPrepare::__construct() , this method doesn' start the watcher automatically.

Bağımsız Değişkenler

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Return EvPrepare object on success.

Ayrıca Bakınız

  • EvPrepare::__construct() - Constructs EvPrepare watcher object
  • EvWatcher::start() - Starts the watcher


The EvSignal class

(PECL ev >= 0.2.0)

Giriş

EvSignal watchers will trigger an event when the process receives a specific signal one or more times. Even though signals are very asynchronous, libev will try its best to deliver signals synchronously, i.e. as part of the normal event processing, like any other event.

There is no limit for the number of watchers for the same signal, but only within the same loop, i.e. one can watch for SIGINT in the default loop and for SIGIO in another loop, but it is not allowed to watch for SIGINT in both the default loop and another loop at the same time. At the moment, SIGCHLD is permanently tied to the default loop.

If possible and supported, libev will install its handlers with SA_RESTART (or equivalent) behaviour enabled, so system calls should not be unduly interrupted. In case of a problem with system calls getting interrupted by signals, all the signals can be blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.

Sınıf Sözdizimi

class EvSignal extends EvWatcher {
/* Özellikler */
public $signum;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)
final public static createStopped(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvSignal
public set( int $signum ): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

signum

Signal number. See the constants exported by pcntl extension. See also signal(7) man page.

İçindekiler

  • EvSignal::__construct — Constructs EvSignal watcher object
  • EvSignal::createStopped — Create stopped EvSignal watcher object
  • EvSignal::set — Configures the watcher


Constructs EvSignal watcher object

  • « EvSignal
  • EvSignal::createStopped »
  • PHP Manual
  • EvSignal
  • Constructs EvSignal watcher object

EvSignal::__construct

(PECL ev >= 0.2.0)

EvSignal::__construct — Constructs EvSignal watcher object

Açıklama

public EvSignal::__construct(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)

Constructs EvSignal watcher object and starts it automatically. For a stopped periodic watcher consider using EvSignal::createStopped() method.

Bağımsız Değişkenler

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Örnekler

Örnek 1 Handle SIGTERM signal

<?php
$w = new EvSignal(SIGTERM, function ($watcher) {
echo "SIGTERM received\n";
$watcher->stop();
});

Ev::run();
?>

Ayrıca Bakınız

  • EvSignal::createStopped() - Create stopped EvSignal watcher object


Create stopped EvSignal watcher object

  • « EvSignal::__construct
  • EvSignal::set »
  • PHP Manual
  • EvSignal
  • Create stopped EvSignal watcher object

EvSignal::createStopped

(PECL ev >= 0.2.0)

EvSignal::createStopped — Create stopped EvSignal watcher object

Açıklama

final public static EvSignal::createStopped(
int $signum ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvSignal

Create stopped EvSignal watcher object. Unlike EvSignal::__construct() , this method does't start the watcher automatically.

Bağımsız Değişkenler

signum

Signal number. See constants exported by pcntl extension. See also signal(7) man page.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvSignal object on success.

Ayrıca Bakınız

  • EvWatcher::start() - Starts the watcher
  • EvSignal::__construct() - Constructs EvSignal watcher object


Configures the watcher

  • « EvSignal::createStopped
  • EvStat »
  • PHP Manual
  • EvSignal
  • Configures the watcher

EvSignal::set

(PECL ev >= 0.2.0)

EvSignal::set — Configures the watcher

Açıklama

public EvSignal::set( int $signum ): void

Configures the watcher.

Bağımsız Değişkenler

signum

Signal number. The same as for EvSignal::__construct()

Dönen Değerler

Hiçbir değer dönmez.


The EvStat class

(PECL ev >= 0.2.0)

Giriş

EvStat monitors a file system path for attribute changes. It calls stat() on that path in regular intervals(or when the OS signals it changed) and sees if it changed compared to the last time, invoking the callback if it did.

The path does not need to exist: changing from "path exists" to "path does not exist" is a status change like any other. The condition "path does not exist" is signified by the 'nlink' item being 0(returned by EvStat::attr() method).

The path must not end in a slash or contain special components such as '.' or .. . The path should be absolute: if it is relative and the working directory changes, then the behaviour is undefined.

Since there is no portable change notification interface available, the portable implementation simply calls stat() regularly on the path to see if it changed somehow. For this case a recommended polling interval can be specified. If one specifies a polling interval of 0.0 (highly recommended) then a suitable, unspecified default value will be used(which could be expected to be around 5 seconds, although this might change dynamically). libev will also impose a minimum interval which is currently around 0.1 , but that's usually overkill.

This watcher type is not meant for massive numbers of EvStat watchers, as even with OS-supported change notifications, this can be resource-intensive.

Sınıf Sözdizimi

class EvStat extends EvWatcher {
/* Özellikler */
public $path;
public $interval;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)
public attr(): array
final public static createStopped(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): void
public prev(): void
public set( string $path , float $interval ): void
public stat(): bool
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

interval

Readonly . Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

path

Readonly . The path to wait for status changes on.

İçindekiler

  • EvStat::attr — Returns the values most recently detected by Ev
  • EvStat::__construct — Constructs EvStat watcher object
  • EvStat::createStopped — Create a stopped EvStat watcher object
  • EvStat::prev — Returns the previous set of values returned by EvStat::attr
  • EvStat::set — Configures the watcher
  • EvStat::stat — Initiates the stat call


Returns the values most recently detected by Ev

  • « EvStat
  • EvStat::__construct »
  • PHP Manual
  • EvStat
  • Returns the values most recently detected by Ev

EvStat::attr

(PECL ev >= 0.2.0)

EvStat::attr — Returns the values most recently detected by Ev

Açıklama

public EvStat::attr(): array

Returns array of the values most recently detected by Ev

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array with the values most recently detect by Ev(without actual stat 'ing):

List for item keys of the array returned by EvStat::attr()
Key | Description
'dev' | ID of device containing file
'ino' | inode number
'mode' | protection
'nlink' | number of hard links
'uid' | user ID of owner
'size' | total size, in bytes
'gid' | group ID of owner
'rdev' | device ID (if special file)
'blksize' | blocksize for file system I/O
'blocks' | number of 512B blocks allocated
'atime' | time of last access
'ctime' | time of last status change
'mtime' | time of last modification

See stat(2) man page for details.

Örnekler

Örnek 1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";

$attr = $w->attr();

if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});

Ev::run();
?>

Ayrıca Bakınız

  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr
  • EvStat::stat() - Initiates the stat call


Constructs EvStat watcher object

  • « EvStat::attr
  • EvStat::createStopped »
  • PHP Manual
  • EvStat
  • Constructs EvStat watcher object

EvStat::__construct

(PECL ev >= 0.2.0)

EvStat::__construct — Constructs EvStat watcher object

Açıklama

public EvStat::__construct(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)

Constructs EvStat watcher object and starts the watcher automatically.

Bağımsız Değişkenler

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Örnekler

Örnek 1 Monitor changes of /var/log/messages

<?php
// Use 10 second update interval.
$w = new EvStat("/var/log/messages", 8, function ($w) {
echo "/var/log/messages changed\n";

$attr = $w->attr();

if ($attr['nlink']) {
printf("Current size: %ld\n", $attr['size']);
printf("Current atime: %ld\n", $attr['atime']);
printf("Current mtime: %ld\n", $attr['mtime']);
} else {
fprintf(STDERR, "`messages` file is not there!");
$w->stop();
}
});

Ev::run();
?>


Create a stopped EvStat watcher object

  • « EvStat::__construct
  • EvStat::prev »
  • PHP Manual
  • EvStat
  • Create a stopped EvStat watcher object

EvStat::createStopped

(PECL ev >= 0.2.0)

EvStat::createStopped — Create a stopped EvStat watcher object

Açıklama

final public static EvStat::createStopped(
string $path ,
float $interval ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): void

Creates EvStat watcher object, but doesn't start it automatically(unlike EvStat::__construct() ).

Bağımsız Değişkenler

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns a stopped EvStat watcher object on success.

Ayrıca Bakınız

  • EvStat::__construct() - Constructs EvStat watcher object
  • EvWatcher::start() - Starts the watcher


Returns the previous set of values returned by EvStat::attr

  • « EvStat::createStopped
  • EvStat::set »
  • PHP Manual
  • EvStat
  • Returns the previous set of values returned by EvStat::attr

EvStat::prev

(PECL ev >= 0.2.0)

EvStat::prev — Returns the previous set of values returned by EvStat::attr

Açıklama

public EvStat::prev(): void

Just like EvStat::attr() , but returns the previous set of values.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the same structure as the array returned by EvStat::attr() . The array contains previously detected values.

Ayrıca Bakınız

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::stat() - Initiates the stat call


Configures the watcher

  • « EvStat::prev
  • EvStat::stat »
  • PHP Manual
  • EvStat
  • Configures the watcher

EvStat::set

(PECL ev >= 0.2.0)

EvStat::set — Configures the watcher

Açıklama

public EvStat::set( string $path , float $interval ): void

Configures the watcher.

Bağımsız Değişkenler

path

The path to wait for status changes on.

interval

Hint on how quickly a change is expected to be detected and should normally be specified as 0.0 to let libev choose a suitable value.

Dönen Değerler

Hiçbir değer dönmez.


Initiates the stat call

  • « EvStat::set
  • EvTimer »
  • PHP Manual
  • EvStat
  • Initiates the stat call

EvStat::stat

(PECL ev >= 0.2.0)

EvStat::stat — Initiates the stat call

Açıklama

public EvStat::stat(): bool

Initiates the stat call(updates internal cache). It stats(using lstat ) the path specified in the watcher and sets to the values found.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if path exists. Otherwise false.

Ayrıca Bakınız

  • EvStat::attr() - Returns the values most recently detected by Ev
  • EvStat::prev() - Returns the previous set of values returned by EvStat::attr


The EvTimer class

(PECL ev >= 0.2.0)

Giriş

EvTimer watchers are simple relative timers that generate an event after a given time, and optionally repeating in regular intervals after that.

The timers are based on real time, that is, if one registers an event that times out after an hour and resets the system clock to January last year , it will still time out after(roughly) one hour. "Roughly" because detecting time jumps is hard, and some inaccuracies are unavoidable.

The callback is guaranteed to be invoked only after its timeout has passed (not at, so on systems with very low-resolution clocks this might introduce a small delay). If multiple timers become ready during the same loop iteration then the ones with earlier time-out values are invoked before ones of the same priority with later time-out values (but this is no longer true when a callback calls EvLoop::run() recursively).

The timer itself will do a best-effort at avoiding drift, that is, if a timer is configured to trigger every 10 seconds, then it will normally trigger at exactly 10 second intervals. If, however, the script cannot keep up with the timer because it takes longer than those 10 seconds to do) the timer will not fire more than once per event loop iteration.

Sınıf Sözdizimi

class EvTimer extends EvWatcher {
/* Özellikler */
public $repeat;
public $remaining;
/* Miras alınan özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
public __construct(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)
public again(): void
final public static createStopped(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvTimer
public set( float $after , float $repeat ): void
/* Miras alınan yöntemler */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}

Özellikler

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

remaining

Returns the remaining time until a timer fires. If the timer is active, then this time is relative to the current event loop time, otherwise it's the timeout value currently configured.

That is, after instanciating an EvTimer with an after value of 5.0 and repeat value of 7.0 , remaining returns 5.0 . When the timer is started and one second passes, remaining will return 4.0 . When the timer expires and is restarted, it will return roughly 7.0 (likely slightly less as callback invocation takes some time too), and so on.

İçindekiler

  • EvTimer::again — Restarts the timer watcher
  • EvTimer::__construct — Constructs an EvTimer watcher object
  • EvTimer::createStopped — Creates EvTimer stopped watcher object
  • EvTimer::set — Configures the watcher


Restarts the timer watcher

  • « EvTimer
  • EvTimer::__construct »
  • PHP Manual
  • EvTimer
  • Restarts the timer watcher

EvTimer::again

(PECL ev >= 0.2.0)

EvTimer::again — Restarts the timer watcher

Açıklama

public EvTimer::again(): void

This will act as if the timer timed out and restart it again if it is repeating. The exact semantics are:

  1. if the timer is pending, its pending status is cleared.

  2. if the timer is started but non-repeating, stop it (as if it timed out).

  3. if the timer is repeating, either start it if necessary (with the repeat value), or reset the running timer to the repeat value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvWatcher::stop() - Stops the watcher


Constructs an EvTimer watcher object

  • « EvTimer::again
  • EvTimer::createStopped »
  • PHP Manual
  • EvTimer
  • Constructs an EvTimer watcher object

EvTimer::__construct

(PECL ev >= 0.2.0)

EvTimer::__construct — Constructs an EvTimer watcher object

Açıklama

public EvTimer::__construct(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
)

Constructs an EvTimer watcher object.

Bağımsız Değişkenler

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Örnekler

Örnek 1 Simple timers

<?php
// Create and start timer firing after 2 seconds
$w1 = new EvTimer(2, 0, function () {
echo "2 seconds elapsed\n";
});

// Create and launch timer firing after 2 seconds repeating each second
// until we manually stop it
$w2 = new EvTimer(2, 1, function ($w) {
echo "is called every second, is launched after 2 seconds\n";
echo "iteration = ", Ev::iteration(), PHP_EOL;

// Stop the watcher after 5 iterations
Ev::iteration() == 5 and $w->stop();
// Stop the watcher if further calls cause more than 10 iterations
Ev::iteration() >= 10 and $w->stop();
});

// Create stopped timer. It will be inactive until we start it ourselves
$w_stopped = EvTimer::createStopped(10, 5, function($w) {
echo "Callback of a timer created as stopped\n";

// Stop the watcher after 2 iterations
Ev::iteration() >= 2 and $w->stop();
});

// Loop until Ev::stop() is called or all of watchers stop
Ev::run();

// Start and look if it works
$w_stopped->start();
echo "Run single iteration\n";
Ev::run(Ev::RUN_ONCE);

echo "Restart the second watcher and try to handle the same events, but don't block\n";
$w2->again();
Ev::run(Ev::RUN_NOWAIT);

$w = new EvTimer(10, 0, function() {});
echo "Running a blocking loop\n";
Ev::run();
echo "END\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2 seconds elapsed
is called every second, is launched after 2 seconds
iteration = 1
is called every second, is launched after 2 seconds
iteration = 2
is called every second, is launched after 2 seconds
iteration = 3
is called every second, is launched after 2 seconds
iteration = 4
is called every second, is launched after 2 seconds
iteration = 5
Run single iteration
Callback of a timer created as stopped
Restart the second watcher and try to handle the same events, but don't block
Running a blocking loop
is called every second, is launched after 2 seconds
iteration = 8
is called every second, is launched after 2 seconds
iteration = 9
is called every second, is launched after 2 seconds
iteration = 10
END

Ayrıca Bakınız

  • EvTimer::createStopped() - Creates EvTimer stopped watcher object
  • EvPeriodic
  • » ev_timer - relative and optionally repeating timeouts
  • » Be smart about timeouts


Creates EvTimer stopped watcher object

  • « EvTimer::__construct
  • EvTimer::set »
  • PHP Manual
  • EvTimer
  • Creates EvTimer stopped watcher object

EvTimer::createStopped

(PECL ev >= 0.2.0)

EvTimer::createStopped — Creates EvTimer stopped watcher object

Açıklama

final public static EvTimer::createStopped(
float $after ,
float $repeat ,
callable $callback ,
mixed $data = null ,
int $priority = 0
): EvTimer

Creates EvTimer stopped watcher object. Unlike EvTimer::__construct() , this method doesn't start the watcher automatically.

Bağımsız Değişkenler

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

callback

See Watcher callbacks .

data

Custom data associated with the watcher.

priority

Watcher priority

Dönen Değerler

Returns EvTimer watcher object on success.

Örnekler

Örnek 1 Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay

<?php
$timer = EvTimer::createStopped(0., 1.02, function ($w) {
$w->stop();

$stat = $w->data;

// 1 second after the most recent change of the file
printf("Current size: %ld\n", $stat->attr()['size']);
});

$stat = new EvStat("/var/log/messages", 0., function () use ($timer) {
// Reset timer watcher
$timer->again();
});

$timer->data = $stat;

Ev::run();
?>

Ayrıca Bakınız

  • EvTimer::__construct() - Constructs an EvTimer watcher object
  • EvPeriodic


Configures the watcher

  • « EvTimer::createStopped
  • EvWatcher »
  • PHP Manual
  • EvTimer
  • Configures the watcher

EvTimer::set

(PECL ev >= 0.2.0)

EvTimer::set — Configures the watcher

Açıklama

public EvTimer::set( float $after , float $repeat ): void

Configures the watcher

Bağımsız Değişkenler

after

Configures the timer to trigger after after seconds.

repeat

If repeat is 0.0 , then it will automatically be stopped once the timeout is reached. If it is positive, then the timer will automatically be configured to trigger again every repeat seconds later, until stopped manually.

Dönen Değerler

Hiçbir değer dönmez.


The EvWatcher class

(PECL ev >= 0.2.0)

Giriş

EvWatcher is a base class for all watchers( EvCheck , EvChild etc.). Since EvWatcher 's constructor is abstract , one can't(and don't need to) create EvWatcher objects directly.

Sınıf Sözdizimi

abstract class EvWatcher {
/* Özellikler */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Yöntemler */
abstract public __construct()
public clear(): int
public feed( int $revents ): void
public getLoop(): EvLoop
public invoke( int $revents ): void
public keepalive( bool $value = ?): bool
public setCallback( callable $callback ): void
public start(): void
public stop(): void
}

Özellikler

is_active

Readonly . true if the watcher is active. false otherwise.

data

User custom data associated with the watcher

is_pending

Readonly .true if the watcher is pending, i.e. it has outstanding events, but its callback has not yet been invoked. false otherwise. As long, as a watcher is pending(but not active), one must not change its priority.

priority

int between Ev::MINPRI and Ev::MAXPRI . Pending watchers with higher priority will be invoked before watchers with lower priority, but priority will not keep watchers from being executed(except for EvIdle watchers). EvIdle watchers provide functionality to suppress invocation when higher priority events are pending.

İçindekiler

  • EvWatcher::clear — Clear watcher pending status
  • EvWatcher::__construct — Abstract constructor of a watcher object
  • EvWatcher::feed — Feeds the given revents set into the event loop
  • EvWatcher::getLoop — Returns the loop responsible for the watcher
  • EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask
  • EvWatcher::keepalive — Configures whether to keep the loop from returning
  • EvWatcher::setCallback — Sets new callback for the watcher
  • EvWatcher::start — Starts the watcher
  • EvWatcher::stop — Stops the watcher


Clear watcher pending status

  • « EvWatcher
  • EvWatcher::__construct »
  • PHP Manual
  • EvWatcher
  • Clear watcher pending status

EvWatcher::clear

(PECL ev >= 0.2.0)

EvWatcher::clear — Clear watcher pending status

Açıklama

public EvWatcher::clear(): int

If the watcher is pending, this method clears its pending status and returns its revents bitset(as if its callback was invoked). If the watcher isn't pending it does nothing and returns 0 .

Sometimes it can be useful to "poll" a watcher instead of waiting for its callback to be invoked, which can be accomplished with this function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

In case if the watcher is pending, returns revents bitset as if the watcher callback had been invoked. Otherwise returns 0 .


Abstract constructor of a watcher object

  • « EvWatcher::clear
  • EvWatcher::feed »
  • PHP Manual
  • EvWatcher
  • Abstract constructor of a watcher object

EvWatcher::__construct

(PECL ev >= 0.2.0)

EvWatcher::__construct — Abstract constructor of a watcher object

Açıklama

abstract public EvWatcher::__construct()

EvWatcher::__construct() is an abstract constructor of a watcher object implemented in the derived classes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Feeds the given revents set into the event loop

  • « EvWatcher::__construct
  • EvWatcher::getLoop »
  • PHP Manual
  • EvWatcher
  • Feeds the given revents set into the event loop

EvWatcher::feed

(PECL ev >= 0.2.0)

EvWatcher::feed — Feeds the given revents set into the event loop

Açıklama

public EvWatcher::feed( int $revents ): void

Feeds the given revents set into the event loop, as if the specified event had happened for the watcher.

Bağımsız Değişkenler

revents

Bit mask of watcher received events .

Dönen Değerler

Hiçbir değer dönmez.


Returns the loop responsible for the watcher

  • « EvWatcher::feed
  • EvWatcher::invoke »
  • PHP Manual
  • EvWatcher
  • Returns the loop responsible for the watcher

EvWatcher::getLoop

(PECL ev >= 0.2.0)

EvWatcher::getLoop — Returns the loop responsible for the watcher

Açıklama

public EvWatcher::getLoop(): EvLoop

Returns the loop responsible for the watcher

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns EvLoop event loop object responsible for the watcher.


Invokes the watcher callback with the given received events bit mask

  • « EvWatcher::getLoop
  • EvWatcher::keepalive »
  • PHP Manual
  • EvWatcher
  • Invokes the watcher callback with the given received events bit mask

EvWatcher::invoke

(PECL ev >= 0.2.0)

EvWatcher::invoke — Invokes the watcher callback with the given received events bit mask

Açıklama

public EvWatcher::invoke( int $revents ): void

Invokes the watcher callback with the given received events bit mask.

Bağımsız Değişkenler

revents

Bit mask of watcher received events .

Dönen Değerler

Hiçbir değer dönmez.


Configures whether to keep the loop from returning

  • « EvWatcher::invoke
  • EvWatcher::setCallback »
  • PHP Manual
  • EvWatcher
  • Configures whether to keep the loop from returning

EvWatcher::keepalive

(PECL ev >= 0.2.0)

EvWatcher::keepalive — Configures whether to keep the loop from returning

Açıklama

public EvWatcher::keepalive( bool $value = ?): bool

Configures whether to keep the loop from returning. With keepalive value set to false the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Watchers have keepalive value true by default.

Clearing keepalive status is useful when returning from Ev::run() / EvLoop::run() just because of the watcher is undesirable. It could be a long running UDP socket watcher or so.

Bağımsız Değişkenler

value

With keepalive value set to false the watcher won't keep Ev::run() / EvLoop::run() from returning even though the watcher is active.

Dönen Değerler

Returns the previous state.

Örnekler

Örnek 1 Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.

<?php
$udp_socket = ...
$udp_watcher = new EvIo($udp_socket, Ev::READ, function () { /* ... */ });
$udp_watcher->keepalive(FALSE);
?>


Sets new callback for the watcher

  • « EvWatcher::keepalive
  • EvWatcher::start »
  • PHP Manual
  • EvWatcher
  • Sets new callback for the watcher

EvWatcher::setCallback

(PECL ev >= 0.2.0)

EvWatcher::setCallback — Sets new callback for the watcher

Açıklama

public EvWatcher::setCallback( callable $callback ): void

Sets new callback for the watcher

Bağımsız Değişkenler

callback

See Watcher callbacks .

Dönen Değerler

Hiçbir değer dönmez.


Starts the watcher

  • « EvWatcher::setCallback
  • EvWatcher::stop »
  • PHP Manual
  • EvWatcher
  • Starts the watcher

EvWatcher::start

(PECL ev >= 0.2.0)

EvWatcher::start — Starts the watcher

Açıklama

public EvWatcher::start(): void

Marks the watcher as active. Note that only active watchers will receive events.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvWatcher::stop() - Stops the watcher


Stops the watcher

  • « EvWatcher::start
  • Expect »
  • PHP Manual
  • EvWatcher
  • Stops the watcher

EvWatcher::stop

(PECL ev >= 0.2.0)

EvWatcher::stop — Stops the watcher

Açıklama

public EvWatcher::stop(): void

Marks the watcher as inactive. Note that only active watchers will receive events.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EvWatcher::start() - Starts the watcher


Expect

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Expect Usage Examples
  • Expect İşlevleri
    • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process


Giriş

This extension allows to interact with processes through PTY. You may consider using the expect:// wrapper with the filesystem functions which provide a simpler and more intuitive interface.


Gereksinimler

This module uses the functions of the » expect library. You need libexpect version >= 5.43.0.


Kurulum

Bu » PECL eklentisi PHP ile gelmez. Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/expect.

In order to use these functions you must compile PHP with expect support by using the --with-expect[=DIR] configure option.

Windows users will enable php_expect.dll inside of php.ini in order to use these functions. Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

In order to configure expect extension, there are configuration options in the configuration file php.ini.

Expect Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Changelog
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

expect.timeout int

The timeout period for waiting for the data, when using the expect_expectl() function.

A value of "-1" disables a timeout from occurring.

Bilginize:

A value of "0" causes the expect_expectl() function to return immediately.

expect.loguser bool

Whether expect should send any output from the spawned process to stdout. Since interactive programs typically echo their input, this usually suffices to show both sides of the conversation.

expect.logfile string

Name of the file, where the output from the spawned process will be written. If this file doesn't exist, it will be created.

Bilginize:

If this configuration is not empty, the output is written regardless of the value of expect.loguser.

expect.match_max int

Changes default size (2000 bytes) of the buffer used to match asterisks in patterns.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

expect_popen() returns an open PTY stream used by expect_expectl().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

EXP_GLOB (int)
Indicates that the pattern is a glob-style string pattern.
EXP_EXACT (int)
Indicates that the pattern is an exact string.
EXP_REGEXP (int)
Indicates that the pattern is a regexp-style string pattern.
EXP_EOF (int)
Value, returned by expect_expectl(), when EOF is reached.
EXP_TIMEOUT (int)
Value, returned by expect_expectl() upon timeout of seconds, specified in value of expect.timeout
EXP_FULLBUFFER (int)
Value, returned by expect_expectl() if no pattern have been matched.


  • « Öntanımlı Sabitler
  • Expect Usage Examples »
  • PHP Manual
  • Expect
  • Örnekler

Örnekler

İçindekiler

  • Expect Usage Examples


Expect Usage Examples

Örnek 1 Expect Usage Example

This example connects to the remote host via SSH, and prints the remote uptime.

<?php
ini_set("expect.loguser", "Off");

$stream = fopen("expect://ssh root@remotehost uptime", "r");

$cases = array (
array (0 => "password:", 1 => PASSWORD)
);

switch (expect_expectl ($stream, $cases)) {
case PASSWORD:
fwrite ($stream, "password\n");
break;

default:
die ("Error was occurred while connecting to the remote host!\n");
}

while ($line = fgets($stream)) {
print $line;
}
fclose ($stream);
?>

The following example connects to the remote host, determines whether installed OS is for 32 or 64 bit, then runs update for specific package.

Örnek 2 Another Expect Usage Example

<?php
ini_set("expect.timeout", -1);
ini_set("expect.loguser", "Off");

$stream = expect_popen("ssh root@remotehost");

while (true) {
switch (expect_expectl ($stream, array (
array ("password:", PASSWORD), // SSH is asking for password
array ("yes/no)?", YESNO), // SSH is asking whether to store the host entry
array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
))) {
case PASSWORD:
fwrite ($stream, "secret\n");
break;

case YESNO:
fwrite ($stream, "yes\n");
break;

case SHELL:
fwrite ($stream, "uname -a\n");
while (true) {
switch (expect_expectl ($stream, array (
array ("~$ ", SHELL, EXP_EXACT), // We've got the shell!
array ("^Linux.*$", UNAME, EXP_REGEXP), // uname -a output
), $match)) {
case UNAME:
$uname .= $match[0];
break;

case SHELL:
// Run update:
if (strstr ($uname, "x86_64")) {
fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_64bit.rpm\n");
} else {
fwrite ($stream, "rpm -Uhv http://mirrorsite/somepath/some_32bit.rpm\n");
}
fwrite ($stream, "exit\n");
break 2;

case EXP_TIMEOUT:
case EXP_EOF:
break 2;

default:
die ("Error has occurred!\n");
}
}
break 2;

case EXP_TIMEOUT:
case EXP_EOF:
break 2;

default:
die ("Error has occurred!\n");
}
}

fclose ($stream);
?>


Expect İşlevleri

İçindekiler

  • expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
  • expect_popen — Execute command via Bourne shell, and open the PTY stream to the process


Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

  • « Expect İşlevleri
  • expect_popen »
  • PHP Manual
  • Expect İşlevleri
  • Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

expect_expectl

(PECL expect >= 0.1.0)

expect_expectl — Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen

Açıklama

expect_expectl(resource $expect, array $cases, array &$match = ?): int

Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen.

If match is provided, then it is filled with the result of search. The matched string can be found in match[0]. The match substrings (according to the parentheses) in the original pattern can be found in match[1], match[2], and so on, up to match[9] (the limitation of libexpect).

Bağımsız Değişkenler

expect

An Expect stream, previously opened with expect_popen().

cases

An array of expect cases. Each expect case is an indexed array, as described in the following table:

Expect Case Array
Index Key | Value Type | Description | Is Mandatory | Default Value
0 | string | pattern, that will be matched against the output from the stream | yes
1 | mixed | value, that will be returned by this function, if the pattern matches | yes
2 | integer | pattern type, one of: EXP_GLOB, EXP_EXACT or EXP_REGEXP | no | EXP_GLOB

Dönen Değerler

Returns value associated with the pattern that was matched.

On failure this function returns: EXP_EOF, EXP_TIMEOUT or EXP_FULLBUFFER

Sürüm Bilgisi

Sürüm: | Açıklama
PECL expect 0.2.1 | Prior to version 0.2.1, in match parameter a match string was returned, not an array of match substrings.

Örnekler

Örnek 1 expect_expectl() example

<?php
// Copies file from remote host:
ini_set("expect.timeout", 30);

$stream = fopen("expect://scp user@remotehost:/var/log/messages /home/user/messages.txt", "r");

$cases = array(
// array(pattern, value to return if pattern matched)
array("password:", "asked for password"),
array("yes/no)?", "asked for yes/no")
);

while (true) {
switch (expect_expectl($stream, $cases)) {
case "asked for password":
fwrite($stream, "my password\n");
break;
case "asked for yes/no":
fwrite($stream, "yes\n");
break;
case EXP_TIMEOUT:
case EXP_EOF:
break 2; // break both the switch statement and the while loop
default:
die("Error has occurred!");
}
}

fclose($stream);
?>

Ayrıca Bakınız

  • expect_popen() - Execute command via Bourne shell, and open the PTY stream to the process


Execute command via Bourne shell, and open the PTY stream to the process

  • « expect_expectl
  • PCNTL »
  • PHP Manual
  • Expect İşlevleri
  • Execute command via Bourne shell, and open the PTY stream to the process

expect_popen

(PECL expect >= 0.1.0)

expect_popen — Execute command via Bourne shell, and open the PTY stream to the process

Açıklama

expect_popen(string $command): resource

Execute command via Bourne shell, and open the PTY stream to the process.

Bağımsız Değişkenler

command

Command to execute.

Dönen Değerler

Returns an open PTY stream to the processes stdio, stdout, and stderr.

On failure this function returns false.

Örnekler

Örnek 1 expect_popen() example

<?php
// Login to the PHP.net CVS repository:
$stream = expect_popen ("cvs -d :pserver:anonymous@cvs.php.net:/repository login");
sleep (3);
fwrite ($stream, "phpfi\n");
fclose ($stream);
?>

Ayrıca Bakınız

  • popen() - Bir süreç tanıtıcısı açar


Süreç Denetimi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel kullanım
  • Süreç Denetim İşlevleri
    • pcntl_alarm — Belli bir süre sonra SIGALRM sinyali gönderir
    • pcntl_async_signals — Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür
    • pcntl_errno — pcntl_get_last_error işlevinin takma adıdır
    • pcntl_exec — Belirtilen programı geçerli süreç ortamında çalıştırır
    • pcntl_fork — Çalışan süreci çatallar
    • pcntl_get_last_error — Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür
    • pcntl_getpriority — Bir sürecin önceliğini döndürür
    • pcntl_rfork — Manipulates process resources
    • pcntl_setpriority — Sürecin önceliğini değiştirir
    • pcntl_signal_dispatch — Askıdaki sinyaller için sinyal eylemciyi çağırır
    • pcntl_signal_get_handler — Belirtilen sinyal için geçerli işleyiciyi döndürür
    • pcntl_signal — Bir sinyal eylemci belirtir
    • pcntl_sigprocmask — Sinyalleri ekler, siler veya engeller
    • pcntl_sigtimedwait — Sinyalleri zaman aşımı dolana kadar bekler
    • pcntl_sigwaitinfo — Belirtilen sinyalleri bekler
    • pcntl_strerror — Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür
    • pcntl_unshare — Dissociates parts of the process execution context
    • pcntl_wait — Çatallanmış bir çocuğun durum kodu için bekler
    • pcntl_waitpid — Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
    • pcntl_wexitstatus — Sonlanmış çocuk sürecin dönüş kodunu döndürür
    • pcntl_wifexited — Durum kodunun normal bir çıkışı mı işaret ettiğine bakar
    • pcntl_wifsignaled — Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar
    • pcntl_wifstopped — Çocuk sürecin durmuş olup olmadığına bakar
    • pcntl_wstopsig — Çocuk sürecin durmasına sebep olan sinyali döndürür
    • pcntl_wtermsig — Çocuk sürecin sonlanmasına sebep olan sinyali döndürür


Giriş

PHP'deki Süreç Denetimi desteği, Unix tarzı süreç oluşturma, program çalıştırma, sinyal işleme ve süreç sonlandırmayı gerçekleştirir. Süreç Denetimi bir HTTP sunucu ortamında etkinleştirilmemelidir yoksa ortamda kullanılan bir Süreç Denetimi işlevi beklenmedik sonuçlar verebilir.

Bu belge Süreç Denetim işlevlerinin her birinin genel kullanımını açıklamak amacıyla oluşturulmuştur. Unix süreç denetimi hakkında ayrıntılı bilgi edinmek için fork(2), waitpid(2) ve signal(2) kılavuz sayfaları ile sistem belgelerinize ve Advanced Programming in the UNIX Environment [W. Richard Stevens (Addison-Wesley)] gibi kaynaklara bakınız.

PCNTL eklentisi, sinyal işleme geriçağırım mekanizması olarak, önceki mekanizmadan daha hızlı olduğu için artık tikleri kullanmaktadır. Bu değişiklik "kullanıcı tikleri" ile aynı anlamsallıktadır. Geriçağırım işlevlerinizin yerlerini belirtmek için declare() deyimini kullanın. Bu, eşzamansız olayların işlenme maliyetini küçültür. Geçmişte, PHP'nin PCNTL destekli derlenmesi, betiğiniz PCNTL kullanmasa bile hep bu maliyetin yüksek olmasına sebep olurdu.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.


Kurulum

PHP'deki Süreç Denetimi desteği öntanımlı olarak etkin değildir. PHP'yi derlerken Süreç Denetim eklentisini etkin kılmak isterseniz --enable-pcntl yapılandırma seçeneği ile PHP'nin CGI veya CLI sürümünü derlemek zorundasınız.

Bilginize:

Şimdilik bu eklenti, Unix türevi olmayan platformlarda (Windows gibi) çalışmamaktadır.


Öntanımlı Sabitler

Aşağıda Süreç Denetim işlevleri tarafından desteklenen sinyaller listelenmiştir. Bu sinyallerin öntanımlı davranışları hakkında bilgi edinmek için signal(7) kılavuz sayfasına bakınız.

Süreç Denetim Sabitleri
WNOHANG (int)
WUNTRACED (int)
SIG_* Sabitleri
SIG_IGN (int)
SIG_DFL (int)
SIG_ERR (int)
SIGHUP (int)
SIGINT (int)
SIGQUIT (int)
SIGILL (int)
SIGTRAP (int)
SIGABRT (int)
SIGIOT (int)
SIGBUS (int)
SIGFPE (int)
SIGKILL (int)
SIGUSR1 (int)
SIGSEGV (int)
SIGUSR2 (int)
SIGPIPE (int)
SIGALRM (int)
SIGTERM (int)
SIGSTKFLT (int)
SIGCLD (int)
SIGCHLD (int)
SIGCONT (int)
SIGSTOP (int)
SIGTSTP (int)
SIGTTIN (int)
SIGTTOU (int)
SIGURG (int)
SIGXCPU (int)
SIGXFSZ (int)
SIGVTALRM (int)
SIGPROF (int)
SIGWINCH (int)
SIGPOLL (int)
SIGIO (int)
SIGPWR (int)
SIGSYS (int)
SIGBABY (int)
SIG_BLOCK (int)
SIG_UNBLOCK (int)
SIG_SETMASK (int)
SI_* Sabitleri
SI_USER (int)
SI_NOINFO (int)
SI_KERNEL (int)
SI_QUEUE (int)
SI_TIMER (int)
SI_MSGGQ (int)
SI_ASYNCIO (int)
SI_SIGIO (int)
SI_TKILL (int)
CLD_* Sabitleri
CLD_EXITED (int)
CLD_KILLED (int)
CLD_DUMPED (int)
CLD_TRAPPED (int)
CLD_STOPPED (int)
CLD_CONTINUED (int)
TRAP_* Sabitleri
TRAP_BRKPT (int)
TRAP_TRACE (int)
POLL_* Sabitleri
POLL_IN (int)
POLL_OUT (int)
POLL_MSG (int)
POLL_ERR (int)
POLL_PRI (int)
POLL_HUP (int)
ILL_* Sabitleri
ILL_ILLOPC (int)
ILL_ILLOPN (int)
ILL_ILLADR (int)
ILL_ILLTRP (int)
ILL_PRVOPC (int)
ILL_PRVREG (int)
ILL_COPROC (int)
ILL_BADSTK (int)
FPE_* Sabitleri
FPE_INTDIV (int)
FPE_INTOVF (int)
FPE_FLTDIV (int)
FPE_FLTOVF (int)
FPE_FLTUND (int)
FPE_FLTRES (int)
FPE_FLTINV (int)
FPE_FLTSUB (int)
SEGV_* Sabitleri
SEGV_MAPERR (int)
SEGV_ACCERR (int)
BUS_* Sabitleri
BUS_ADRALN (int)
BUS_ADRERR (int)
BUS_OBJERR (int)
CLONE_* Sabitleri
CLONE_NEWNS (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWIPC (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWUTS (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWNET (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWPID (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWUSER (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
CLONE_NEWCGROUP (int)
PHP 7.4.0 ve sonrasında kullanılabilir.
PRIO_* constants
PRIO_PGRP (int)
PRIO_USER (int)
PRIO_PROCESS (int)
PRIO_DARWIN_BG (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
PRIO_DARWIN_THREAD (int)
PHP 8.1.0 ve sonrasında kullanılabilir.


  • « Öntanımlı Sabitler
  • Temel kullanım »
  • PHP Manual
  • PCNTL
  • Örnekler

Örnekler

İçindekiler

  • Temel kullanım


Temel kullanım

Bu örnekte bir sinyal eylemci ile bir artalan süreci çocuk süreç haline gelmektedir.

Örnek 1 - Süreç Denetimi örneği

<?php
declare(ticks=1);

$pid = pcntl_fork();
if ($pid == -1) {
die("çatallama yapılamadı");
} else if ($pid) {
exit(); // Ana süreç
} else {
// Çocuk süreç
}

// denetim uçbirimini terkedelim
if (posix_setsid() == -1) {
die("uçbirim terkedilemedi");
}

// sinyal eylemcilerimizi tanıtalım
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");

// Görevler yerine getirilene kadar döngüde kalalım
while (1) {

// işe yarar şeyler burada

}

function sig_handler($signo)
{

switch ($signo) {
case SIGTERM:
// Kapanma işlemleri
exit;
break;
case SIGHUP:
// Yeniden başlatma işlemleri
break;
default:
// Tüm diğer sinyallerle ilgili işlemler
}

}

?>


Süreç Denetim İşlevleri

Ayrıca Bakınız

POSIX İşlevleri

İçindekiler

  • pcntl_alarm — Belli bir süre sonra SIGALRM sinyali gönderir
  • pcntl_async_signals — Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür
  • pcntl_errno — pcntl_get_last_error işlevinin takma adıdır
  • pcntl_exec — Belirtilen programı geçerli süreç ortamında çalıştırır
  • pcntl_fork — Çalışan süreci çatallar
  • pcntl_get_last_error — Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür
  • pcntl_getpriority — Bir sürecin önceliğini döndürür
  • pcntl_rfork — Manipulates process resources
  • pcntl_setpriority — Sürecin önceliğini değiştirir
  • pcntl_signal_dispatch — Askıdaki sinyaller için sinyal eylemciyi çağırır
  • pcntl_signal_get_handler — Belirtilen sinyal için geçerli işleyiciyi döndürür
  • pcntl_signal — Bir sinyal eylemci belirtir
  • pcntl_sigprocmask — Sinyalleri ekler, siler veya engeller
  • pcntl_sigtimedwait — Sinyalleri zaman aşımı dolana kadar bekler
  • pcntl_sigwaitinfo — Belirtilen sinyalleri bekler
  • pcntl_strerror — Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür
  • pcntl_unshare — Dissociates parts of the process execution context
  • pcntl_wait — Çatallanmış bir çocuğun durum kodu için bekler
  • pcntl_waitpid — Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_wexitstatus — Sonlanmış çocuk sürecin dönüş kodunu döndürür
  • pcntl_wifexited — Durum kodunun normal bir çıkışı mı işaret ettiğine bakar
  • pcntl_wifsignaled — Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar
  • pcntl_wifstopped — Çocuk sürecin durmuş olup olmadığına bakar
  • pcntl_wstopsig — Çocuk sürecin durmasına sebep olan sinyali döndürür
  • pcntl_wtermsig — Çocuk sürecin sonlanmasına sebep olan sinyali döndürür


Belli bir süre sonra SIGALRM sinyali gönderir

  • « Süreç Denetim İşlevleri
  • pcntl_async_signals »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Belli bir süre sonra SIGALRM sinyali gönderir

pcntl_alarm

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

pcntl_alarm — Belli bir süre sonra SIGALRM sinyali gönderir

Açıklama

pcntl_alarm(int $saniye): int

saniye ile belirtilen sürenin sonunda sürece bir SIGALRM sinyali gönderir. Yapılan her pcntl_alarm() çağrısı bir öncekini geçersiz kılar.

Bağımsız Değişkenler

saniye

Sinyal gönderilene kadar beklenecek süre. Sıfır belirtilirse hiçbir sinyal gönderilmez.

Dönen Değerler

Devreye girmeden geçersiz hale getirilmiş önceki çağrının süresini döndürür. Böyle bir çağrı yoksa 0 döner.


Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür

  • « pcntl_alarm
  • pcntl_errno »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür

pcntl_async_signals

(PHP 7 >= 7.1.0, PHP 8)

pcntl_async_signals — Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür

Açıklama

pcntl_async_signals(?bool $etkin = null): bool

etkin belirtilmezse, pcntl_async_signals() eşzamansız sinyal işleme durumunu döndürür. Belirtilirse, belirtilen değere göre eşzamansız sinyal işleme devreye girer veya iptal edilir.

Bağımsız Değişkenler

etkin

Eşzamansız sinyal işlemenin etkin olup olmayacağı.

Dönen Değerler

Bağımsız değişkensiz kullanımda, eşzamansız sinyal işleme etkinse true değilse false döner. Bağımsız değişkene true aktarılırsa eşzamansız sinyal işleme etkinleştirilir, false ise iptal edilir ve önceki durum döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | etkin artık null olabiliyor.

Ayrıca Bakınız

  • declare


pcntl_get_last_error işlevinin takma adıdır

  • « pcntl_async_signals
  • pcntl_exec »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • pcntl_get_last_error işlevinin takma adıdır

pcntl_errno

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_errno — pcntl_get_last_error() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: pcntl_get_last_error()


Belirtilen programı geçerli süreç ortamında çalıştırır

  • « pcntl_errno
  • pcntl_fork »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Belirtilen programı geçerli süreç ortamında çalıştırır

pcntl_exec

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pcntl_exec — Belirtilen programı geçerli süreç ortamında çalıştırır

Açıklama

pcntl_exec(string $yol, array $bağımsız_değişkenler = [], array $ortam_değişkenleri = []): bool

Belirtilen programı belirtilen bağımsız değişkenlerle çalıştırır.

Bağımsız Değişkenler

yol

İkil bir çalıştırılabilirin veya ilk satırında kendini çalıştıracak yorumlayıcının ( #!/usr/local/bin/perl gibi) belirtildiği bir betiğin dosya yolu. Daha fazla bilgi için execve(2) kılavuz sayfasına bakınız.

bağımsız_değişkenler

Programa komut satırında aktarılacak bağımsız değişkenleri içeren dizi.

ortam_değişkenleri

Programa ortam olarak aktarılacak dizgelerden oluşan bir dizi. Dizi elemanlarının her biri isim => değer biçiminde, isim ortam değişkeninin ismi olmak üzere bir isim-değer çifti içerir.

Dönen Değerler

false döner.


Çalışan süreci çatallar

  • « pcntl_exec
  • pcntl_get_last_error »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Çalışan süreci çatallar

pcntl_fork

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_fork — Çalışan süreci çatallar

Açıklama

pcntl_fork(): int

Çalışan süreçten, sadece PID ve PPID'si farklı bir çocuk süreç oluşturur. Bu konu ile ilgili ayrıntılar için sisteminizdeki fork(2) kılavuz sayfasına bakınız.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda, ana sürecin icra evresinde çocuk sürecin süreç kimliği, çocuk sürecin icra evresinde ise 0 döner. Hiç çocuk süreç oluşturulmamışsa veya bir hata oluşmuşsa -1 döner.

Örnekler

Örnek 1 - pcntl_fork() örneği

<?php

$pid = pcntl_fork();
if ($pid == -1) {
die('çatallanamadı');
} else if ($pid) {
// ana süreç
pcntl_wait($status); // Zombi çocuklar için koruma
} else {
// çocuk süreç
}

?>

Ayrıca Bakınız

  • pcntl_rfork() - Manipulates process resources
  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_signal() - Bir sinyal eylemci belirtir
  • cli_set_process_title() - Geçerli sürece başlık tanımlar


Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür

  • « pcntl_fork
  • pcntl_getpriority »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür

pcntl_get_last_error

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_get_last_error — Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür

Açıklama

pcntl_get_last_error(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata numarası döner.

Ayrıca Bakınız

  • pcntl_strerror() - Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür


Bir sürecin önceliğini döndürür

  • « pcntl_get_last_error
  • pcntl_rfork »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Bir sürecin önceliğini döndürür

pcntl_getpriority

(PHP 5, PHP 7, PHP 8)

pcntl_getpriority — Bir sürecin önceliğini döndürür

Açıklama

pcntl_getpriority(?int $pid = null, int $süreç_türü = PRIO_PROCESS): int|false

Süreç kimliği pid ile belirtilen sürecin öncelik seviyesini döndürür. Öncelik seviyeleri sistem türüne ve çekirdeğe göre farklılık gösterdiğinden ayrıntılı bilgi için sisteminizdeki setpriority(2) kılavuz sayfasına bakınız.

Bağımsız Değişkenler

pid

null aktarılırsa işlevi çağıran sürecin süreç kimliği kullanılır.

süreç_türü

PRIO_PGRP, PRIO_USER, PRIO_PROCESS, PRIO_DARWIN_BG ve PRIO_DARWIN_THREAD sabitlerinden biri.

Dönen Değerler

Hata durumunda false yoksa belirtilen sürecin öncelik seviyesini döndürür. Düşük sayısal değerler daha yüksek öncelik sağlar.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | pid artık null olabiliyor.

Ayrıca Bakınız

  • pcntl_setpriority() - Sürecin önceliğini değiştirir


Manipulates process resources

  • « pcntl_getpriority
  • pcntl_setpriority »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Manipulates process resources

pcntl_rfork

(PHP 8 >= 8.1.0)

pcntl_rfork — Manipulates process resources

Açıklama

pcntl_rfork(int $flags, int $signal = 0): int

Manipulates process resources.

Bağımsız Değişkenler

flags

The flags parameter determines which resources of the invoking process (parent) are shared by the new process (child) or initialized to their default values.

flags is the logical OR of some subset of:

  • RFPROC: If set a new process is created; otherwise changes affect the current process.
  • RFNOWAIT: If set, the child process will be dissociated from the parent. Upon exit the child will not leave a status for the parent to collect.
  • RFFDG: If set, the invoker's file descriptor table is copied; otherwise the two processes share a single table.
  • RFCFDG: If set, the new process starts with a clean file descriptor table. Is mutually exclusive with RFFDG.
  • RFLINUXTHPN: If set, the kernel will return SIGUSR1 instead of SIGCHILD upon thread exit for the child. This is intended to do Linux clone exit parent notification.

signal

The signal number.

Dönen Değerler

On success, the PID of the child process is returned in the parent's thread of execution, and a 0 is returned in the child's thread of execution. On failure, a -1 will be returned in the parent's context, no child process will be created, and a PHP error is raised.

Örnekler

Örnek 1 pcntl_rfork() example

<?php

$pid = pcntl_rfork(RFNOWAIT|RFTSIGZMB, SIGUSR1);
if ($pid > 0) {
// This is the parent process.
var_dump($pid);
} else {
// This is the child process.
var_dump($pid);
sleep(2); // as the child does not wait, so we see its "pid"
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(77093)
int(0)

Notlar

Bilginize:

This function is only available on BSD systems.

Ayrıca Bakınız

  • pcntl_fork() - Çalışan süreci çatallar
  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_signal() - Bir sinyal eylemci belirtir
  • cli_set_process_title() - Geçerli sürece başlık tanımlar


Sürecin önceliğini değiştirir

  • « pcntl_rfork
  • pcntl_signal_dispatch »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Sürecin önceliğini değiştirir

pcntl_setpriority

(PHP 5, PHP 7, PHP 8)

pcntl_setpriority — Sürecin önceliğini değiştirir

Açıklama

pcntl_setpriority(int $öncelik, int $pid = null, int $süreç_türü = PRIO_PROCESS): int|false

pid süreç kimlikli sürecin önceliğini değiştirir.

Bağımsız Değişkenler

öncelik

Genelde -20 ile 20 arasında bir değerdir. Öntanımlı öncelik 0 olup daha küçük değerler sürecin önceliğini arttırır. Öncelik seviyeleri sistem türüne ve çekirdeğe göre farklılık gösterdiğinden ayrıntılı bilgi için sisteminizdeki setpriority(2) kılavuz sayfasına bakınız.

pid

null aktarılırsa işlevi çağıran sürecin süreç kimliği kullanılır.

süreç_türü

PRIO_PGRP, PRIO_USER, PRIO_PROCESS, PRIO_DARWIN_BG ve PRIO_DARWIN_THREAD sabitlerinden biri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | pid artık null olabiliyor.

Ayrıca Bakınız

  • pcntl_getpriority() - Bir sürecin önceliğini döndürür
  • pcntl_setpriority()


Askıdaki sinyaller için sinyal eylemciyi çağırır

  • « pcntl_setpriority
  • pcntl_signal_get_handler »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Askıdaki sinyaller için sinyal eylemciyi çağırır

pcntl_signal_dispatch

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_signal_dispatch — Askıdaki sinyaller için sinyal eylemciyi çağırır

Açıklama

pcntl_signal_dispatch(): bool

Askıdaki her sinyal için pcntl_signal() tarafından tanımlanmış eylemci işlevi çağırır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - pcntl_signal_dispatch() örneği

<?php
echo "Sinyal eylemcimizi kuralım...\n";
pcntl_signal(SIGHUP, function($signo) {
echo "sinyal eylemci çağrıldı\n";
});

echo "Kendimize SIGHUP gönderelim...\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Sinyal yakalanıyor...\n";
pcntl_signal_dispatch();

echo "Bitti\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sinyal eylemcimizi kuralım...
Kendimize SIGHUP gönderelim...
Sinyal yakalanıyor...
sinyal eylemci çağrıldı
Bitti

Ayrıca Bakınız

  • pcntl_signal() - Bir sinyal eylemci belirtir
  • pcntl_sigprocmask() - Sinyalleri ekler, siler veya engeller
  • pcntl_sigwaitinfo() - Belirtilen sinyalleri bekler
  • pcntl_sigtimedwait() - Sinyalleri zaman aşımı dolana kadar bekler


Belirtilen sinyal için geçerli işleyiciyi döndürür

  • « pcntl_signal_dispatch
  • pcntl_signal »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Belirtilen sinyal için geçerli işleyiciyi döndürür

pcntl_signal_get_handler

(PHP 7 >= 7.1.0, PHP 8)

pcntl_signal_get_handler — Belirtilen sinyal için geçerli işleyiciyi döndürür

Açıklama

pcntl_signal_get_handler(int $sinyal): callable|int

pcntl_signal_get_handler() işlevi belirtilen sinyal_num için geçerli işleyiciyi döndürür.

Bağımsız Değişkenler

sinyal

Sinyal numarası.

Dönen Değerler

SIG_DFL veya SIG_IGN sabitlerinin tamsayı karşılığını döndürür. Özel bir işleyici tanımlanmışsa bu işlevin adı bir callable olarak döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | pcntl_signal_get_handler() eklendi.

Örnekler

Örnek 1 - pcntl_signal_get_handler() örneği

<?php
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Çıktısı: int(0)

function pcntl_test($signo) {}
pcntl_signal(SIGUSR1, 'pcntl_test');
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Çıktısı: string(10) "pcntl_test"

pcntl_signal(SIGUSR1, SIG_DFL);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Çıktısı: int(0)

pcntl_signal(SIGUSR1, SIG_IGN);
var_dump(pcntl_signal_get_handler(SIGUSR1)); // Çıktısı: int(1)
?>

Ayrıca Bakınız

  • pcntl_signal() - Bir sinyal eylemci belirtir


Bir sinyal eylemci belirtir

  • « pcntl_signal_get_handler
  • pcntl_sigprocmask »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Bir sinyal eylemci belirtir

pcntl_signal

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_signal — Bir sinyal eylemci belirtir

Açıklama

pcntl_signal(int $sinyal, callable|int $işleyici, bool $restart_syscalls = true): bool

sinyal ile belirtilen sinyal için yeni bir eylemci işlev ismi tanımlar.

Bağımsız Değişkenler

sinyal

Sinyal numarası.

işleyici

Sinyali işlemek için kullanıcı tarafından oluşturulmuş bir işlevin veya yöntemin ismi ya da şu iki küresel sabitten biri: SIG_IGN (sinyalin yoksayılması için), SIG_DFL (öntanımlı sinyal işleyiciyi devreye sokmak için).

Bir geriçağırım işlevi belirtilmişse, sözdizimini şöyle olmalıdır:

işleyici(int $sinyal, mixed $siginfo): void
sinyal
İşlenecek sinyal.
siginfo
İşletim sistemi siginfo_t yapılarını destekliyorsa, sinyale bağlı sinyal bilgisini içeren bir dizi olmalıdır.

Bilginize:

İşleyici bir nesnenin yöntemi olarak belirtirseniz, işleyici değiştirilene veya betik sonlanana kadar geçerli olmak üzere nesnenin başvuru sayısı arttırılır.

restart_syscalls

Bu sinyal geldiğinde yeniden sistem çağrısı yapılıp yapılmayacağını belirler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Geriçağırım işlevinin ikinci bağımsız değişkeninde sinyal bilgisi veriliyor. Bu veri sadece siginfo_t yapısını sağlayan işletim sistemlerinde bulunur. İşletim sistemi bu bilgiyi sağlamıyorsa geriçağırım işlevinin ikinci bağımsız değişkenine null aktarılmalıdır

Örnekler

Örnek 1 - pcntl_signal() örneği

<?php
// tikleri kullanalım
declare(ticks = 1);

// sinyal eylemcimiz
function sig_handler($signo)
{

switch ($signo) {
case SIGTERM:
// kapanma işlemleri
exit;
break;
case SIGHUP:
// yeniden başlatma işlemleri
break;
case SIGUSR1:
echo "SIGUSR1 yakalandı...\n";
break;
default:
// Diğer sinyallerin işlemleri
}

}

echo "Sinyal eylemci kuruluyor...\n";

// Sinyal eylemcileri belirleyelim
pcntl_signal(SIGTERM, "sig_handler");
pcntl_signal(SIGHUP, "sig_handler");
pcntl_signal(SIGUSR1, "sig_handler");

// Veya bir nesne kullanalım
// pcntl_signal(SIGUSR1, array($obj, "do_something"));

echo"Kendimize SIGTERM gönderelim...\n";

// geçerli süreç kimliğine SIGUSR1 gönder
//posix_* işlevleri posix eklentisi gerektirir
posix_kill(posix_getpid(), SIGUSR1);

echo "Done\n";

?>

Notlar

pcntl_signal() sinyal işleyicileri yığıtıyla etkileşmez, sadece işleyiciyi değiştirir.

Ayrıca Bakınız

  • pcntl_fork() - Çalışan süreci çatallar
  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür


Sinyalleri ekler, siler veya engeller

  • « pcntl_signal
  • pcntl_sigtimedwait »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Sinyalleri ekler, siler veya engeller

pcntl_sigprocmask

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigprocmask — Sinyalleri ekler, siler veya engeller

Açıklama

pcntl_sigprocmask(int $kip, array $sinyaller, array &$eskiler = null): bool

kip bağımsız değişkenine bağlı olarak sinyalleri ekler, siler veya engeller.

Bağımsız Değişkenler

kip

pcntl_sigprocmask() işlevinin davranışını belirler. Olası değerler:

  • SIG_BLOCK: Belirtilen sinyalleri geçerli engellenen sinyaller listesine ekle.
  • SIG_UNBLOCK:Belirtilen sinyalleri geçerli engellenen sinyaller listesinden sil.
  • SIG_SETMASK: Belirtilen sinyalleri geçerli engellenen sinyaller listesindekilerin yerine koy.

sinyaller

Sinyal listesi.

eskiler

İşlev çağrılmadan önce engellenmekte olan sinyallerin listesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - pcntl_sigprocmask() örneği

<?php
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
$eskiler = array();
pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $eskiler);
?>

Ayrıca Bakınız

  • pcntl_sigwaitinfo() - Belirtilen sinyalleri bekler
  • pcntl_sigtimedwait() - Sinyalleri zaman aşımı dolana kadar bekler


Sinyalleri zaman aşımı dolana kadar bekler

  • « pcntl_sigprocmask
  • pcntl_sigwaitinfo »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Sinyalleri zaman aşımı dolana kadar bekler

pcntl_sigtimedwait

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigtimedwait — Sinyalleri zaman aşımı dolana kadar bekler

Açıklama

pcntl_sigtimedwait(
array $sinyaller,
array &$bilgi = [],
int $saniye = 0,
int $nanosaniye = 0
): int|false

Betiğin en çok ne kadar süreyle sinyal bekleyeceğini belirten son iki değiştigesi haricinde pcntl_sigwaitinfo() işleviyle aynıdır.

Bağımsız Değişkenler

sinyaller

Beklenecek sinyalleri içeren dizi.

bilgi

Sinyallerle ilgili bilgilerin saklandığı dizi. Ayrıntılar için pcntl_sigwaitinfo() işlevine bakınız.

saniye

Saniye cinsinden zaman aşımı.

nanoseconds

Nano saniye cinsinden zaman aşımı.

Dönen Değerler

Başarı durumunda sinyal numarasını döndürür, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • pcntl_sigprocmask() - Sinyalleri ekler, siler veya engeller
  • pcntl_sigwaitinfo() - Belirtilen sinyalleri bekler


Belirtilen sinyalleri bekler

  • « pcntl_sigtimedwait
  • pcntl_strerror »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Belirtilen sinyalleri bekler

pcntl_sigwaitinfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

pcntl_sigwaitinfo — Belirtilen sinyalleri bekler

Açıklama

pcntl_sigwaitinfo(array $sinyaller, array &$bilgi = []): int|false

sinyaller bağımsız değişkeninde belirtilen sinyallerden biri alınıncaya kadar işlevi çağıran betiğin çalışmasını askıya alır. Sinyallerden biri zaten askıda ise (örneğin, pcntl_sigprocmask() ile engellenmiş olabilir), pcntl_sigwaitinfo() hiç beklemeden döner.

Bağımsız Değişkenler

sinyaller

Beklenecek sinyalleri içeren dizi.

bilgi

Sinyallerle ilgili bilgilerin saklandığı dizi.

Tüm sinyaller için kullanılan elemanlar şunlardır:

  • signo: Sinyal numarası
  • errno: Bir hata numarası
  • code: Sinyal kodu

SIGCHLD sinyali için şunlar bulunabilir:

  • status: Çıkış değeri veya sinyali
  • utime: Harcanan kullanıcı zamanı
  • stime: Harcanan sistem zamanı
  • pid: Gönderen sürecin kimliği
  • uid: Gönderen sürecin gerçek kullanıcı kimliği

SIGILL, SIGFPE, SIGSEGV ve SIGBUS sinyali için şunlar bulunabilir:

  • addr: Başarısızlığa sebep olan bellek adresi

SIGPOLL sinyali için şunlar bulunabilir:

  • band: Band olayı
  • fd: Dosya tanıtıcı numarası

Dönen Değerler

Başarı durumunda sinyal numarasını döndürür, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - pcntl_sigwaitinfo() örneği

<?php
echo "SIGHUP sinyalini engelleyelim\n";
pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));

echo "Kendimize SIGHUP gönderelim\n";
posix_kill(posix_getpid(), SIGHUP);

echo "Sinyal bekleniyor\n";
$info = array();
pcntl_sigwaitinfo(array(SIGHUP), $info);
?>

Ayrıca Bakınız

  • pcntl_sigprocmask() - Sinyalleri ekler, siler veya engeller
  • pcntl_sigtimedwait() - Sinyalleri zaman aşımı dolana kadar bekler


Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür

  • « pcntl_sigwaitinfo
  • pcntl_unshare »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür

pcntl_strerror

(PHP 5 >= 5.3.4, PHP 7, PHP 8)

pcntl_strerror — Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür

Açıklama

pcntl_strerror(int $hata_kodu): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

hata_kodu

Hata numarası.

Dönen Değerler

Başarı durumunda hatanın açıklaması döner.

Ayrıca Bakınız

  • pcntl_get_last_error() - Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür


Dissociates parts of the process execution context

  • « pcntl_strerror
  • pcntl_wait »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Dissociates parts of the process execution context

pcntl_unshare

(PHP 7 >= 7.4.0, PHP 8)

pcntl_unshare — Dissociates parts of the process execution context

Açıklama

pcntl_unshare(int $flags): bool

pcntl_unshare() allows a process to disassociate parts of its execution context that are currently being shared with other processes. The main use of pcntl_unshare() is to allow a process to control its shared execution context without creating a new process.

Bağımsız Değişkenler

flags

The flags parameter is a bitmask that specifies which parts of the execution context should be unshared. This parameter is specified by ORing together zero or more of the CLONE_* constants:

  • CLONE_NEWNS
  • CLONE_NEWIPC
  • CLONE_NEWUTS
  • CLONE_NEWNET
  • CLONE_NEWPID
  • CLONE_NEWUSER
  • CLONE_NEWCGROUP

Dönen Değerler

Returns 0 on success, -1 otherwise. On failure it sets an error code, that can be retrieved with pcntl_get_last_error().

Ayrıca Bakınız

  • PCNTL Constants
  • pcntl_get_last_error() - Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür


Çatallanmış bir çocuğun durum kodu için bekler

  • « pcntl_unshare
  • pcntl_waitpid »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Çatallanmış bir çocuğun durum kodu için bekler

pcntl_wait

(PHP 5, PHP 7, PHP 8)

pcntl_wait — Çatallanmış bir çocuğun durum kodu için bekler

Açıklama

pcntl_wait(int &$durum, int $seçenekler = 0, array &$özkaynak_kullanımı = []): int

Bir çocuk süreç çıkana veya sonlandırıcı bir sinyal alana ya da bir sinyal eylemcisi çağrılana kadar çalışmakta olan sürecin çalışmasını askıya alır. Bir çocuk zaten çıkmışsa (yani bir zombi süreçse) işlev beklemeden döner. Çocuk sürecin kullandığı sistem özkaynakları serbest bırakılır. Sisteminizde waitpid'in nasıl çalıştığı hakkında ayrıntılı bilgi edinmek için waitpid(2) kılavuz sayfasına bakınız.

Bilginize:

seçenekler bağımsız değişkeni olmadan, pid bağımsız değişkeninde -1 belirterek bir pcntl_waitpid() çağrısı yapmaya denktir.

Bağımsız Değişkenler

durum

pcntl_wait()  işlevi durum
bağımsız değişkeninde durum bilgisini şu işlevler ile değerendirilmek üzere
saklar: pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() ve
pcntl_wstopsig().

seçenekler

Sisteminizde wait3 kullanılabiliyorsa (geneldde BSD sistemlerinde bulunur) isteğe bağlı olan seçenekler değişirgesini kullanabilirsiniz. Aksi takdirde bu bağımsız değişkende belirtilen seçeneklerin hiçbir etkisi olmayacaktır. Bağımsız değişkenin değeri aşağıdaki küresel sabitlerin bitsel VEYAlanmışıdır:

Olası seçenekler
WNOHANG | Çıkmış çocuk süreç yoksa hemen dön.
WUNTRACED | Durumu raporlanmamış ve durmuş çocuklar varsa dön.

özkaynak_kullanımı

Dönen Değerler

Çocuk süreç çıkmışsa süreç kimliği, hata oluşmuşsa -1, (wait3 bulunan sistemlerde) WNOHANG kullanılmış ama ortada bir çocuk süreç yoksa 0 ile döner.

Ayrıca Bakınız

  • pcntl_fork() - Çalışan süreci çatallar
  • pcntl_signal() - Bir sinyal eylemci belirtir
  • pcntl_wifexited() - Durum kodunun normal bir çıkışı mı işaret ettiğine bakar
  • pcntl_wifstopped() - Çocuk sürecin durmuş olup olmadığına bakar
  • pcntl_wifsignaled() - Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar
  • pcntl_wexitstatus() - Sonlanmış çocuk sürecin dönüş kodunu döndürür
  • pcntl_wtermsig() - Çocuk sürecin sonlanmasına sebep olan sinyali döndürür
  • pcntl_wstopsig() - Çocuk sürecin durmasına sebep olan sinyali döndürür
  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür


Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür

  • « pcntl_wait
  • pcntl_wexitstatus »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür

pcntl_waitpid

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_waitpid — Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür

Açıklama

pcntl_waitpid(
int $pid,
int &$durum,
int $seçenekler = 0,
array &$özkaynak_kullanımı = []
): int

pid ile belirtilen çocuk süreç çıkana veya sonlandırıcı bir sinyal alana ya da bir sinyal eylemcisi çağrılana kadar çalışmakta olan sürecin çalışmasını askıya alır.

pid ile belirtilen çocuk zaten çıkmışsa (yani bir zombi süreçse) işlev beklemeden döner. Çocuk sürecin kullandığı sistem özkaynakları serbest bırakılır. Sisteminizde waitpid'in nasıl çalıştığı hakkında ayrıntılı bilgi edinmek için waitpid(2) kılavuz sayfasına bakınız.

Bağımsız Değişkenler

pid

pid değeri şunlardan biri olabilir:

pid için olası değerler
< -1 | Süreç grup kimliği pid'in mutlak değeriyle eşleşen çocuk süreç için beklenir.
-1 | Herhangi bir çocuk süreç için beklenir; bu, wait işlevinin davranışıyla aynıdır.
0 | Süreç grup kimliği çağıran sürecinkiyle aynı olan çocuk süreç için beklenir.
> 0 | Süreç grup kimliği pid ile eşleşen çocuk süreç için beklenir.

Bilginize:

pid bağımsız değişkenine -1 belirtmek, (seçenekler haricinde) pcntl_wait() işlevselliğine denktir.

durum

pcntl_waitpid() işlevi durum
bağımsız değişkeninde şu işlevler ile değerendirilmek üzere durum bilgisini
saklar: pcntl_wifexited(),
pcntl_wifstopped(),
pcntl_wifsignaled(),
pcntl_wexitstatus(),
pcntl_wtermsig() ve
pcntl_wstopsig().

seçenekler

Değeri aşağıdaki küresel sabitlerin bitsel VEYAlanmışıdır:

Olasıseçenekler
WNOHANG | Çıkmış çocuk süreç yoksa hemen dön.
WUNTRACED | Durumu raporlanmamış ve durmuş çocuklar varsa dön.

özkaynak_kullanımı

Dönen Değerler

Çocuk süreç çıkmışsa süreç kimliği, hata oluşmuşsa -1, WNOHANG kullanılmış ama ortada bir çocuk süreç yoksa 0 ile döner.

Ayrıca Bakınız

  • pcntl_fork() - Çalışan süreci çatallar
  • pcntl_signal() - Bir sinyal eylemci belirtir
  • pcntl_wifexited() - Durum kodunun normal bir çıkışı mı işaret ettiğine bakar
  • pcntl_wifstopped() - Çocuk sürecin durmuş olup olmadığına bakar
  • pcntl_wifsignaled() - Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar
  • pcntl_wexitstatus() - Sonlanmış çocuk sürecin dönüş kodunu döndürür
  • pcntl_wtermsig() - Çocuk sürecin sonlanmasına sebep olan sinyali döndürür
  • pcntl_wstopsig() - Çocuk sürecin durmasına sebep olan sinyali döndürür


Sonlanmış çocuk sürecin dönüş kodunu döndürür

  • « pcntl_waitpid
  • pcntl_wifexited »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Sonlanmış çocuk sürecin dönüş kodunu döndürür

pcntl_wexitstatus

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wexitstatus — Sonlanmış çocuk sürecin dönüş kodunu döndürür

Açıklama

pcntl_wexitstatus(int $durum): int|false

Sonlanmış çocuk sürecin dönüş kodunu döndürür. Bu işlev, sadece pcntl_wifexited() işlevinin true döndürdüğü durumlarda işe yarar.

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Dönüş kodunu bir tamsayı olarak döndürür. İşletim sistemi bu işlevselliği desteklemiyorsa false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_wifexited() - Durum kodunun normal bir çıkışı mı işaret ettiğine bakar


Durum kodunun normal bir çıkışı mı işaret ettiğine bakar

  • « pcntl_wexitstatus
  • pcntl_wifsignaled »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Durum kodunun normal bir çıkışı mı işaret ettiğine bakar

pcntl_wifexited

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifexited — Durum kodunun normal bir çıkışı mı işaret ettiğine bakar

Açıklama

pcntl_wifexited(int $durum): bool

Çocuk sürecin durum kodunun normal bir çıkışı mı işaret ettiğine bakar

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Çocuk sürecin durum kodu normal bir çıkış anlamına geliyorsa true, diğer tüm durumlarda false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_wexitstatus() - Sonlanmış çocuk sürecin dönüş kodunu döndürür


Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar

  • « pcntl_wifexited
  • pcntl_wifstopped »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar

pcntl_wifsignaled

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifsignaled — Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar

Açıklama

pcntl_wifsignaled(int $status): bool

Çocuk sürecin yakalanmayan bir sinyal sebebiyle mi çıktığına bakar.

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Çocuk süreç yakalanmayan bir sinyal sebebiyle çıkmışsa true, diğer tüm durumlarda false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_signal() - Bir sinyal eylemci belirtir


Çocuk sürecin durmuş olup olmadığına bakar

  • « pcntl_wifsignaled
  • pcntl_wstopsig »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Çocuk sürecin durmuş olup olmadığına bakar

pcntl_wifstopped

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wifstopped — Çocuk sürecin durmuş olup olmadığına bakar

Açıklama

pcntl_wifstopped(int $durum): bool

Çocuk sürecin durdurulmuş olup olmadığına bakar. Bunun mümkün olması için WUNTRACED seçeneği kullanılarak evvelce yapılmış bir pcntl_waitpid() çağrısı yapılmış olmalıdır.

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Çocuk süreç durdurulmuşsa true, diğer durumlarda false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür


Çocuk sürecin durmasına sebep olan sinyali döndürür

  • « pcntl_wifstopped
  • pcntl_wtermsig »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Çocuk sürecin durmasına sebep olan sinyali döndürür

pcntl_wstopsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wstopsig — Çocuk sürecin durmasına sebep olan sinyali döndürür

Açıklama

pcntl_wstopsig(int $status): int|false

Çocuk sürecin durmasına sebep olan sinyalin numarasını döndürür. Bu işlev sadece pcntl_wifstopped() işlevinin true döndürdüğü durumlarda işe yarar.

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Sinyal numarası döner. İşletim sistemi bu işlevselliği desteklemiyorsa false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_wifstopped() - Çocuk sürecin durmuş olup olmadığına bakar


Çocuk sürecin sonlanmasına sebep olan sinyali döndürür

  • « pcntl_wstopsig
  • POSIX »
  • PHP Manual
  • Süreç Denetim İşlevleri
  • Çocuk sürecin sonlanmasına sebep olan sinyali döndürür

pcntl_wtermsig

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

pcntl_wtermsig — Çocuk sürecin sonlanmasına sebep olan sinyali döndürür

Açıklama

pcntl_wtermsig(int $durum): int|false

Çocuk sürecin sonlanmasına sebep olan sinyalin numarasını döndürür. Bu işlev sadece pcntl_wifsignaled() işlevinin true döndürdüğü durumlarda işe yarar.

Bağımsız Değişkenler

durum

durum bağımsız değişkeni başarılı bir pcntl_waitpid() çağrısından dönen durum bağımsız değişkenidir.

Dönen Değerler

Sinyal numarasını bir tamsayı olarak döndürür. İşletim sistemi bu işlevselliği desteklemiyorsa false döner.

Ayrıca Bakınız

  • pcntl_waitpid() - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
  • pcntl_signal() - Bir sinyal eylemci belirtir
  • pcntl_wifsignaled() - Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar


POSIX

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
    • posix_access constants
    • posix_mknod constants
    • posix_setrlimit sabitleri
  • POSIX İşlevleri
    • posix_access — Bir dosyanın izinlerine bakar
    • posix_ctermid — Denetim uçbiriminin dosya yolunu döndürür
    • posix_eaccess — Determine accessibility of a file
    • posix_errno — posix_get_last_error işlevinin takma adıdır
    • posix_fpathconf — Returns the value of a configurable limit
    • posix_get_last_error — Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür
    • posix_getcwd — Çalışılan dizinin tam yolunu döndürür
    • posix_getegid — Çalışan sürecin etkin grup kimliğini döndürür
    • posix_geteuid — Çalışan sürecin etkin kullanıcı kimliğini döndürür
    • posix_getgid — Çalışan sürecin gerçek grup kimliğini döndürür
    • posix_getgrgid — Grup kimliği belirtilen grup hakkında bilgi verir
    • posix_getgrnam — İsmi belirtilen grup hakkında bilgi verir
    • posix_getgroups — Çalışan sürecin üyesi olduğu grupları döndürür
    • posix_getlogin — Oturumu açan kullanıcının ismini döndürür
    • posix_getpgid — Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür
    • posix_getpgrp — Çalışan sürecin süreç grup kimliğini döndürür
    • posix_getpid — Çalışan sürecin süreç kimliğini döndürür
    • posix_getppid — Üst süreç kimliğini döndürür
    • posix_getpwnam — Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür
    • posix_getpwuid — Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
    • posix_getrlimit — Sistem özkaynak sınırları hakkında bilgi verir
    • posix_getsid — Geçerli sürecin oturum kimliğini döndürür
    • posix_getuid — Geçerli sürecin gerçek kullanıcı kimliğini döndürür
    • posix_initgroups — Grup erişim listesini hesaplar
    • posix_isatty — Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar
    • posix_kill — Bir sürece bir sinyal gönderir
    • posix_mkfifo — Bir isimli boru dosyası (FIFO) oluşturur
    • posix_mknod — Özel veya sıralı (POSIX.1) bir dosya oluşturur
    • posix_pathconf — Returns the value of a configurable limit
    • posix_setegid — Geçerli sürecin etkin grup kimliğini belirler
    • posix_seteuid — Geçerli sürecin etkin kullanıcı kimliğini belirler
    • posix_setgid — Geçerli sürecin grup kimliğini tanımlar
    • posix_setpgid — İş denetimi için süreç grup kimliğini tanımlar
    • posix_setrlimit — Sistem özkaynak sınırlarını tanımlar
    • posix_setsid — Geçerli süreci bir oturumun lider süreci haline getirir
    • posix_setuid — Geçerli sürecin kullanıcı kimliğini tanımlar
    • posix_strerror — Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür
    • posix_sysconf — Returns system runtime information
    • posix_times — Süreçle ilgili işlemci zamanlarını döndürür
    • posix_ttyname — Uçbirim aygıt ismini belirler
    • posix_uname — Sistem hakkında bilgi verir


Giriş

Bu eklenti, IEEE 1003.1 (POSIX.1) standardında tanımlanmış işlevler için bir arayüzdür.

Uyarı

posix_getpwnam() gibi POSIX işlevleri ile hassas verilere erişilebilmektedir.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-posix


Öntanımlı Sabitler

İçindekiler

  • posix_access constants
  • posix_mknod constants
  • posix_setrlimit sabitleri

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.


posix_access constants

  • « Öntanımlı Sabitler
  • posix_mknod constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • posix_access constants

posix_access() constants

Bilginize:

Bazı sabitlerin sisteminizde kullanılamayabileceği aklınızda bulunsun.

POSIX_F_OK (int)
Dosya mevcut mu diye bak.
POSIX_R_OK (int)
Dosya mevcut mu ve okuma izinleri var mı diye bak.
POSIX_W_OK (int)
Dosya mevcut mu ve yazma izinleri var mı diye bak.
POSIX_X_OK (int)
Dosya mevcut mu ve çalıştırma izinleri var mı diye bak.


posix_mknod constants

  • « posix_access constants
  • posix_setrlimit sabitleri »
  • PHP Manual
  • Öntanımlı Sabitler
  • posix_mknod constants

posix_mknod() constants

Bilginize:

Bazı sabitlerin sisteminizde kullanılamayabileceği aklınızda bulunsun.

POSIX_S_IFBLK (int)
Blok aygıtı dosyası.
POSIX_S_IFCHR (int)
Karakter aygıtı dosyası.
POSIX_S_IFIFO (int)
FIFO (isimli boru) aygıtı dosyası
POSIX_S_IFREG (int)
Normal dosya
POSIX_S_IFSOCK (int)
Soket


posix_setrlimit sabitleri

  • « posix_mknod constants
  • POSIX İşlevleri »
  • PHP Manual
  • Öntanımlı Sabitler
  • posix_setrlimit sabitleri

posix_setrlimit() sabitleri

Bilginize:

Bazı sabitlerin sisteminizde kullanılamayabileceği aklınızda bulunsun.

Bilginize:

Aşağıdaki bilgileri işletim sisteminizdeki setrlimit() kılavuz sayfasıyla karşılaştırarak, işletim sisteminiz POSIX'i tamamen gerçeklemek iddiasında olsa bile, sanki bu sınırların yorumlanışında bazı değişiklikler varmış gibi okumanız yararlı olabilir.

POSIX_RLIMIT_AS (int)
Sürecin adres alanının bayt cinsinden azami boyutu. Ayrıca, PHP'nin memory_limit yapılandırma yönergesine de bakın.
POSIX_RLIMIT_CORE (int)
İşletim sistemi hata döküm (core) dosyasının azami boyutu. 0 atanırsa bu dosya üretilmez.
POSIX_RLIMIT_CPU (int)
Sürecin kullanabileceği işlemci zamanının saniye cinsinden azami miktarı. Yazılımsal sınıra ulaşılırsa pcntl_signal() işlevi ile yakalanabilen SIGXCPU sinyali gönderilir. İşletim sistemine bağlı olarak, donanımsal sınıra ulaşılana kadar her saniyede bir ek bir SIGXCPU sinyali gönerilir, bu noktaya ulaşıldığında yakalanamayebilen SIGKILL sinyali gönderilir. Ayrıca, set_time_limit() işlevine de bakınız.
POSIX_RLIMIT_DATA (int)
Sürecin veri segmanının bayt cinsinden azami boyutu. brk() veya sbrk() işlevlerini kullanmakta olan bir eklenti olmadıkça bunun PHP'nin çalışmasına etkisi oldukça düşüktür.
POSIX_RLIMIT_FSIZE (int)
Bayt cinsinden, sürecin oluşturabileceği azami dosya boyutu.
POSIX_RLIMIT_LOCKS (int)
Sürecin oluşturabileceği azami kilit sayısı. Bu sadece oldukça eski sürümlü Linux çekirdeklerinde desteklenir.
POSIX_RLIMIT_MEMLOCK (int)
Bellekte kilitlenebilen azami bayt sayısı.
POSIX_RLIMIT_MSGQUEUE (int)
POSIX mesaj kuyrukları için ayrılabilen azami bayt sayısı. PHP, POSIX mesaj kuyrukları desteğiyle gelmediği için bu desteği özellikle kullanan bir eklenti olmadıkça bu sınırın bir etkisi olmayacaktır.
POSIX_RLIMIT_NICE (int)
Sürecin yeniden tanımlanabilen nice önceliğinin azami miktarı. Bu değer 20 - sınır şeklinde kullanılacağından negatif olmamalıdır.
POSIX_RLIMIT_NOFILE (int)
Süreç tarafından açılabilen dosya tanıtıcıların azami sayısının bir fazlası.
POSIX_RLIMIT_NPROC (int)
Sürecin gerçek kullanıcı kimliğini kullanmak üzere oluşturulabilen azami süreç (bazı sistemlerde evrelerin de) sayısı.
POSIX_RLIMIT_RSS (int)
Sayfa cinsinden sürecin yerleştiği azami boyut.
POSIX_RLIMIT_RTPRIO (int)
sched_setscheduler() ve sched_setparam() çağrılarıyla atanabilen azami gerçek zamanlılık önceliği.
POSIX_RLIMIT_RTTIME (int)
Gerçek zamanlılık zamanlamasının kullanılması durumunda engelleyici bir sistem çağrısı yapılmaksızın sürecin tüketebileceği işlemci zamanının mikro saniye cinsinden azami miktarı.
POSIX_RLIMIT_SIGPENDING (int)
Sürecin gerçek kullanıcı kimliğiyle kuyruklayabileceği azami sinyal sayısı.
POSIX_RLIMIT_STACK (int)
Süreç yığıtının bayt cinsinden azami boyutu.
POSIX_RLIMIT_INFINITY (int)
Bir kaynak sınırı için değer olarak sonsuzluk belirtir.
POSIX_RLIMIT_KQUEUES (int)
Bu kullanıcı kimliğinin oluşturmasına izin verilen azami kuyruk sayısı (FreeBSD). PHP 8.1.0 ve sonrasında kullanılabilir.
POSIX_RLIMIT_NPTS (int)
Bu kullanıcı kimliğinin oluşturmasına izin verilen azami sözde uçbirim sayısı (FreeBSD). PHP 8.1.0 ve sonrasında kullanılabilir.


POSIX İşlevleri

Ayrıca Bakınız

Ayrıca bakınız: Süreç Denetim İşlevleri

İçindekiler

  • posix_access — Bir dosyanın izinlerine bakar
  • posix_ctermid — Denetim uçbiriminin dosya yolunu döndürür
  • posix_eaccess — Determine accessibility of a file
  • posix_errno — posix_get_last_error işlevinin takma adıdır
  • posix_fpathconf — Returns the value of a configurable limit
  • posix_get_last_error — Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür
  • posix_getcwd — Çalışılan dizinin tam yolunu döndürür
  • posix_getegid — Çalışan sürecin etkin grup kimliğini döndürür
  • posix_geteuid — Çalışan sürecin etkin kullanıcı kimliğini döndürür
  • posix_getgid — Çalışan sürecin gerçek grup kimliğini döndürür
  • posix_getgrgid — Grup kimliği belirtilen grup hakkında bilgi verir
  • posix_getgrnam — İsmi belirtilen grup hakkında bilgi verir
  • posix_getgroups — Çalışan sürecin üyesi olduğu grupları döndürür
  • posix_getlogin — Oturumu açan kullanıcının ismini döndürür
  • posix_getpgid — Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür
  • posix_getpgrp — Çalışan sürecin süreç grup kimliğini döndürür
  • posix_getpid — Çalışan sürecin süreç kimliğini döndürür
  • posix_getppid — Üst süreç kimliğini döndürür
  • posix_getpwnam — Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür
  • posix_getpwuid — Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
  • posix_getrlimit — Sistem özkaynak sınırları hakkında bilgi verir
  • posix_getsid — Geçerli sürecin oturum kimliğini döndürür
  • posix_getuid — Geçerli sürecin gerçek kullanıcı kimliğini döndürür
  • posix_initgroups — Grup erişim listesini hesaplar
  • posix_isatty — Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar
  • posix_kill — Bir sürece bir sinyal gönderir
  • posix_mkfifo — Bir isimli boru dosyası (FIFO) oluşturur
  • posix_mknod — Özel veya sıralı (POSIX.1) bir dosya oluşturur
  • posix_pathconf — Returns the value of a configurable limit
  • posix_setegid — Geçerli sürecin etkin grup kimliğini belirler
  • posix_seteuid — Geçerli sürecin etkin kullanıcı kimliğini belirler
  • posix_setgid — Geçerli sürecin grup kimliğini tanımlar
  • posix_setpgid — İş denetimi için süreç grup kimliğini tanımlar
  • posix_setrlimit — Sistem özkaynak sınırlarını tanımlar
  • posix_setsid — Geçerli süreci bir oturumun lider süreci haline getirir
  • posix_setuid — Geçerli sürecin kullanıcı kimliğini tanımlar
  • posix_strerror — Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür
  • posix_sysconf — Returns system runtime information
  • posix_times — Süreçle ilgili işlemci zamanlarını döndürür
  • posix_ttyname — Uçbirim aygıt ismini belirler
  • posix_uname — Sistem hakkında bilgi verir


Bir dosyanın izinlerine bakar

  • « POSIX İşlevleri
  • posix_ctermid »
  • PHP Manual
  • POSIX İşlevleri
  • Bir dosyanın izinlerine bakar

posix_access

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_access — Bir dosyanın izinlerine bakar

Açıklama

posix_access(string $dosya, int $seçenekler = 0): bool

Belirtilen dosya için kullanıcının izinlerine bakar.

Bağımsız Değişkenler

dosya

Sınanacak dosyanın yolu.

seçenekler

Şunların biri veya birkaçından oluşan bir bit maskesi: POSIX_F_OK, POSIX_R_OK, POSIX_W_OK ve POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK ve POSIX_X_OK sabitleri ile sırayla dosyanın mevcudiyeti ve okunabilirliği, yazılabilirliği ve çalıştırılabilirliği sınanır. Dosyanın sadece mevcudiyetine bakmak için POSIX_F_OKkullanılabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_access() örneği

Bu örnekte, bir dosyanın okunabilir ve yazılabilir olup olmadığına bakılmakta, değilse bir hata iletisi gösterilmektedir.

<?php

$file = 'bir_dosya';

if (posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo 'Dosya hem okunabiliyor hem de yazılabiliyor!';

} else {
$error = posix_get_last_error();

echo "Hata $error: " . posix_strerror($error);
}

?>

Notlar

Ayrıca Bakınız

  • posix_get_last_error() - Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür
  • posix_strerror() - Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür


Denetim uçbiriminin dosya yolunu döndürür

  • « posix_access
  • posix_eaccess »
  • PHP Manual
  • POSIX İşlevleri
  • Denetim uçbiriminin dosya yolunu döndürür

posix_ctermid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_ctermid — Denetim uçbiriminin dosya yolunu döndürür

Açıklama

posix_ctermid(): string|false

Sürecin denetim uçbiriminin dosya yolunu içeren bir dizge döner. Hata durumunda atanan hata numarasına posix_get_last_error() işlevi ile erişilebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlem sırasında bir hata oluşursa posix_get_last_error() işlevi ile öğrenilmek üzere bir hata numarası atanır ve false döner, yoksa uçbirimin yolunu içeren bir dizge döner.

Örnekler

Örnek 1 - posix_ctermid() örneği

Bu örnekte üzerinde çalışılan uçbirimin yolu gösterilmektedir.

<?php
echo posix_ctermid() . " üzerinde çalışıyorum.";
?>

Ayrıca Bakınız

  • posix_ttyname() - Uçbirim aygıt ismini belirler
  • posix_get_last_error() - Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür


Determine accessibility of a file

  • « posix_ctermid
  • posix_errno »
  • PHP Manual
  • POSIX İşlevleri
  • Determine accessibility of a file

posix_eaccess

(PHP 8 >= 8.3.0)

posix_eaccess — Determine accessibility of a file

Açıklama

posix_eaccess(string $filename, int $flags = 0): bool

posix_eaccess() checks the effective user's permission of a file

Bağımsız Değişkenler

filename

The name of a file to be tested.

flags

A mask consisting of one or more of POSIX_F_OK, POSIX_R_OK, POSIX_W_OK and POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK and POSIX_X_OK request checking whether the file exists and has read, write and execute permissions, respectively. POSIX_F_OK just requests checking for the existence of the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Checks the effective user/group for a file, differing from posix_access() which checks from the real user/group.

Örnekler

Örnek 1 posix_eaccess() example

This example will check if the $file is readable and writable, otherwise will print an error message.

<?php

$file = 'some_file';

if (posix_eaccess($file, POSIX_R_OK | POSIX_W_OK)) {
echo 'The file is readable and writable!';

} else {
$error = posix_get_last_error();

echo "Error $error: " . posix_strerror($error);
}

?>

Notlar

Ayrıca Bakınız

  • posix_get_last_error() - Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür
  • posix_strerror() - Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür
  • posix_access() - Bir dosyanın izinlerine bakar


posix_get_last_error işlevinin takma adıdır

  • « posix_eaccess
  • posix_fpathconf »
  • PHP Manual
  • POSIX İşlevleri
  • posix_get_last_error işlevinin takma adıdır

posix_errno

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_errno — posix_get_last_error() işlevinin takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: posix_get_last_error().


Returns the value of a configurable limit

  • « posix_errno
  • posix_get_last_error »
  • PHP Manual
  • POSIX İşlevleri
  • Returns the value of a configurable limit

posix_fpathconf

(PHP 8 >= 8.3.0)

posix_fpathconf — Returns the value of a configurable limit

Açıklama

posix_fpathconf(resource|int $file_descriptor, int $name): int|false

Returns the value of a configurable limit from name for a file descriptor resource

Bağımsız Değişkenler

dt

resource veya int türünde olması beklenen dosya tanıtıcı. int türünde olanın, doğrudan ilgili sistem çağrısına aktarılabilen bir dosya tanıtıcısı olduğu varsayılır.

Hemen hemen her durumda, resource türünde bir dosya özkaynağı sağlamak istenir.

name

The name of the configurable limit, one of the following. POSIX_PC_LINK_MAX, POSIX_PC_MAX_CANON POSIX_PC_MAX_INPUT, POSIX_PC_NAME_MAX POSIX_PC_PATH_MAX, POSIX_PC_PIPE_BUF POSIX_PC_CHOWN_RESTRICTED, POSIX_PC_NO_TRUNC POSIX_PC_ALLOC_SIZE_MIN, POSIX_PC_SYMLINK_MAX

Dönen Değerler

Returns the configurable limit or false.

Hatalar/İstisnalar

Throws a ValueError when resource is invalid.

Örnekler

Örnek 1 posix_fpathconf() example

This example will get the max path name's length in bytes for the current dir.

<?php
$fd = fopen(__DIR__, "r");
echo posix_fpathconf($fd, POSIX_PC_PATH_MAX);
?>

Yukarıdaki örneğin çıktısı:

4096

Notlar

Ayrıca Bakınız

  • posix_pathconf() - Returns the value of a configurable limit


Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür

  • « posix_fpathconf
  • posix_getcwd »
  • PHP Manual
  • POSIX İşlevleri
  • Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür

posix_get_last_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_get_last_error — Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür

Açıklama

posix_get_last_error(): int

Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür. Dönen hata numarası ile ilgili ileti ise posix_strerror() işlevi ile edinilebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir hata oluşmamışsa 0, yoksa son oluşan hatanın numarasını döndürür.

Örnekler

Örnek 1 - posix_get_last_error() örneği

Bu örnekte çalıştırılmamış bir süreç öldürülmeye çalışılmakta ve oluşan hatanın numarası gösterilmektedir.

<?php
posix_kill(999459,SIGKILL);
echo 'Oluşan hatanın numarası: '.posix_get_last_error();
?>

Ayrıca Bakınız

  • posix_strerror() - Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür


Çalışılan dizinin tam yolunu döndürür

  • « posix_get_last_error
  • posix_getegid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışılan dizinin tam yolunu döndürür

posix_getcwd

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getcwd — Çalışılan dizinin tam yolunu döndürür

Açıklama

posix_getcwd(): string|false

Betiğin çalışma dizininin mutlak yolunu döndürür. Hata durumunda atanan hata numarasına posix_get_last_error() işlevi ile erişilebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlem sırasında bir hata oluşursa posix_get_last_error() işlevi ile öğrenilmek üzere bir hata numarası atanır ve false döner, yoksa mutlak dizin yolunu içeren bir dizge döner.

Örnekler

Örnek 1 - posix_getcwd() örneği

Bu örnek, betiğin çalıştığı dizinin tam yolunu göstermektedir.

<?php
echo 'Çalışma dizinim: '.posix_getcwd();
?>

Notlar

Bilginize:

  • Okuma ve arama izni yoksa
  • veya mutlak yol artık mevcut değilse
bu işlev başarısız olur.


Çalışan sürecin etkin grup kimliğini döndürür

  • « posix_getcwd
  • posix_geteuid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin etkin grup kimliğini döndürür

posix_getegid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getegid — Çalışan sürecin etkin grup kimliğini döndürür

Açıklama

posix_getegid(): int

Çalışan sürecin etkin grup kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Etkin grup kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_getegid() örneği

Bu örnekte posix_setegid() ile değitirilmeden önce ve değiştirildikten sonraki etkin grup kimliği gösterilmiştir.

<?php
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
posix_setegid(40);
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
echo 'Etkin grup kimliğim: '.posix_getegid(); //40
?>

Notlar

posix_getegid() işlevi, posix_getgid() işlevinden farklı bir sonuçla dönmesinin sebebi, posix_setegid() ile sadece etkin grup kimliğini değiştirilebilmesidir.

Ayrıca Bakınız

  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir
  • posix_getgid() - Çalışan sürecin gerçek grup kimliğini döndürür
  • posix_setgid() - Geçerli sürecin grup kimliğini tanımlar


Çalışan sürecin etkin kullanıcı kimliğini döndürür

  • « posix_getegid
  • posix_getgid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin etkin kullanıcı kimliğini döndürür

posix_geteuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_geteuid — Çalışan sürecin etkin kullanıcı kimliğini döndürür

Açıklama

posix_geteuid(): int

Çalışan sürecin etkin kullanıcı kimliğini döndürür. Kullanıcı isminine dönüşüm ile ilgili bilgi için posix_getpwuid() işlevine bakınız.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_geteuid() örneği

Bu örnekte etkin kullanıcı kimliği posix_seteuid() ile değiştirilmeden önce ve değiştirildikten sonra gerçek ve etkin kullanıcı kimlikleri arasındaki fark gösterilmektedir.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

Ayrıca Bakınız

  • posix_getpwuid() - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
  • posix_getuid() - Geçerli sürecin gerçek kullanıcı kimliğini döndürür
  • posix_setuid() - Geçerli sürecin kullanıcı kimliğini tanımlar
  • POSIX geteuid(2) kılavuz sayfası


Çalışan sürecin gerçek grup kimliğini döndürür

  • « posix_geteuid
  • posix_getgrgid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin gerçek grup kimliğini döndürür

posix_getgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgid — Çalışan sürecin gerçek grup kimliğini döndürür

Açıklama

posix_getgid(): int

Çalışan sürecin gerçek grup kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Gerçek grup kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_getgid() örneği

Örnekte etkin grup kimliği değişmeden ve değiştikten sonra gerçek grup kimliği gösterilmektedir.

<?php
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
posix_setegid(40);
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
echo 'Etkin grup kimliğim: '.posix_getegid(); //40
?>

Ayrıca Bakınız

  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir
  • posix_getegid() - Çalışan sürecin etkin grup kimliğini döndürür
  • posix_setgid() - Geçerli sürecin grup kimliğini tanımlar
  • POSIX getgid(2) kılavuz sayfası


Grup kimliği belirtilen grup hakkında bilgi verir

  • « posix_getgid
  • posix_getgrnam »
  • PHP Manual
  • POSIX İşlevleri
  • Grup kimliği belirtilen grup hakkında bilgi verir

posix_getgrgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgrgid — Grup kimliği belirtilen grup hakkında bilgi verir

Açıklama

posix_getgrgid(int $grup_kimliği): array|false

grup_kimliği kimlikli grup hakkında bilgi döndürür.

Bağımsız Değişkenler

grup_kimliği

Grup kimliği.

Dönen Değerler

Dönen dizinin elemanları:

Grup bilgileri dizisi
Anahtar | Açıklama
name | Grubun ismi. En fazla 16 karakter uzunlukta olabilir.
passwd | Şifreli olarak grup parolası. Sistemde "shadow" parolalar kullanılıyorsa sadece bir * imi bulunur.
gid | Sayısal olarak grup kimliği. İşlevi çağırıken grup_kimliği bağımsız değişkenine atananla aynı olmalıdır.
members | Grubun üyelerinin isimlerini birer dizge olarak içeren bir dizidir.
İşlev başarısız olursa false döndürür

Örnekler

Örnek 1 - posix_getgrgid() örneği

<?php

$groupid = posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Ayrıca Bakınız

  • posix_getegid() - Çalışan sürecin etkin grup kimliğini döndürür
  • posix_getgrnam() - İsmi belirtilen grup hakkında bilgi verir
  • filegroup() - Dosyanın sahibi olan grubu döndürür
  • stat() - Bir dosya hakkında bilgi döndürür
  • POSIX getgrgid(3) kılavuz sayfası


İsmi belirtilen grup hakkında bilgi verir

  • « posix_getgrgid
  • posix_getgroups »
  • PHP Manual
  • POSIX İşlevleri
  • İsmi belirtilen grup hakkında bilgi verir

posix_getgrnam

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgrnam — İsmi belirtilen grup hakkında bilgi verir

Açıklama

posix_getgrnam(string $isim): array|false

İsmi belirtilen grup hakkında bilgi döndürür.

Bağımsız Değişkenler

isim

Grubun ismi

Dönen Değerler

Başarı durumunda bir dizi, başarısızlık durumunda false döner döner. Dönen dizinin elemanları:

Grup bilgileri dizisi
Anahtar | Açıklama
name | Grubun ismi. İşlevi çağırıken isim bağımsız değişkenine atananla aynı olmalıdır. En fazla 16 karakter uzunlukta olabilir.
passwd | Şifreli olarak grup parolası. Sistemde "shadow" parolalar kullanılıyorsa sadece bir * imi bulunur.
gid | Sayısal olarak grup kimliği.
members | Grubun üyelerinin isimlerini birer dizge olarak içeren bir dizidir.

Örnekler

Örnek 1 - posix_getgrnam() örneği

<?php

$groupinfo = posix_getgrnam("toons");

print_r($groupinfo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

Ayrıca Bakınız

  • posix_getegid() - Çalışan sürecin etkin grup kimliğini döndürür
  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir
  • filegroup() - Dosyanın sahibi olan grubu döndürür
  • stat() - Bir dosya hakkında bilgi döndürür
  • POSIX getgrnam(3) kılavuz sayfası


Çalışan sürecin üyesi olduğu grupları döndürür

  • « posix_getgrnam
  • posix_getlogin »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin üyesi olduğu grupları döndürür

posix_getgroups

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgroups — Çalışan sürecin üyesi olduğu grupları döndürür

Açıklama

posix_getgroups(): array|false

Çalışan sürecin üyesi olduğu grupları döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çalışan sürecin üyesi olduğu grupların grup kimliklerini tamsayı olarak içeren bir dizi döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_getgroups() örneği

<?php

$groups = posix_getgroups();

print_r($groups);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => 4
    [1] => 20
    [2] => 24
    [3] => 25
    [4] => 29
    [5] => 30
    [6] => 33
    [7] => 44
    [8] => 46
    [9] => 104
    [10] => 109
    [11] => 110
    [12] => 1000
)

Ayrıca Bakınız

  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir


Oturumu açan kullanıcının ismini döndürür

  • « posix_getgroups
  • posix_getpgid »
  • PHP Manual
  • POSIX İşlevleri
  • Oturumu açan kullanıcının ismini döndürür

posix_getlogin

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getlogin — Oturumu açan kullanıcının ismini döndürür

Açıklama

posix_getlogin(): string|false

Oturumu açan (dolayısıyla çalışan sürecin sahibi olan) kullanıcının ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı ismi bir dizge olarak döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_getlogin() örneği

<?php
echo posix_getlogin(); //apache
?>

Ayrıca Bakınız

  • posix_getpwnam() - Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür
  • POSIX getlogin(3) kılavuz sayfası


Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür

  • « posix_getlogin
  • posix_getpgrp »
  • PHP Manual
  • POSIX İşlevleri
  • Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür

posix_getpgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpgid — Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür

Açıklama

posix_getpgid(int $süreç_kimliği): int|false

süreç_kimliği kimlikli sürecin süreç grup kimliğini döndürür.

Bağımsız Değişkenler

pid

Süreç kimliği.

Dönen Değerler

Süreç grup kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_getpgid() örneği

<?php
$pid = posix_getppid();
echo posix_getpgid($pid); //35
?>

Notlar

Bilginize:

Bu bir POSIX işlevi değildir, BSD ve System V sistemlerinde vardır. Eğer sisteminiz bu işlevi desteklemiyorsa PHP derlenirken bu işlev derlenmeyecektir. Bir işlevin varlığına function_exists() ile bakabilirsiniz.

Ayrıca Bakınız

  • posix_getppid() - Üst süreç kimliğini döndürür
  • man page SETPGID(2)


Çalışan sürecin süreç grup kimliğini döndürür

  • « posix_getpgid
  • posix_getpid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin süreç grup kimliğini döndürür

posix_getpgrp

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpgrp — Çalışan sürecin süreç grup kimliğini döndürür

Açıklama

posix_getpgrp(): int

Çalışan sürecin süreç grup kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Süreç grup kimliği bir tamsayı olarak döner.

Ayrıca Bakınız

  • Süreç grupları hakkında bilgi için POSIX.1 standardı ve getpgrp(2) kılavuz sayfası.


Çalışan sürecin süreç kimliğini döndürür

  • « posix_getpgrp
  • posix_getppid »
  • PHP Manual
  • POSIX İşlevleri
  • Çalışan sürecin süreç kimliğini döndürür

posix_getpid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpid — Çalışan sürecin süreç kimliğini döndürür

Açıklama

posix_getpid(): int

Çalışan sürecin kendi süreç kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Süreç kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_getpid() örneği

<?php
echo posix_getpid(); //8805
?>

Ayrıca Bakınız

  • posix_kill() - Bir sürece bir sinyal gönderir
  • POSIX getpid(2) kılavuz sayfası


Üst süreç kimliğini döndürür

  • « posix_getpid
  • posix_getpwnam »
  • PHP Manual
  • POSIX İşlevleri
  • Üst süreç kimliğini döndürür

posix_getppid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getppid — Üst süreç kimliğini döndürür

Açıklama

posix_getppid(): int

Çalışan süreci çalıştıran sürecin süreç kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Süreç kimliği bir tamsayı olarak döner.

Örnekler

Örnek 1 - posix_getppid() örneği

<?php
echo posix_getppid(); //8259
?>


Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür

  • « posix_getppid
  • posix_getpwuid »
  • PHP Manual
  • POSIX İşlevleri
  • Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür

posix_getpwnam

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpwnam — Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür

Açıklama

posix_getpwnam(string $isim): array|false

Kullanıcı ismi isim olan kullanıcı hakkında bilgi içeren bir dizi döndürür.

Bağımsız Değişkenler

isim

Kullanıcının sistemde oturum açarken kullandığı kısa ad.

Dönen Değerler

İşlem başarısız olursa false, yoksa aşağıdaki elemanları içeren bir dizi döner:

Kullanıcı bilgileri dizisi
Anahtar | Açıklama
name | Kullanıcının kullanıcı ismi. Kullanıcının gerçek ismi değil, en fazla 16 karakter uzunlukta olabilen ve sistemde oturum açarken kullandığı kısa adıdır. İşlevi çağırıken isim bağımsız değişkenine atananla aynı olmalıdır.
passwd | Kullanıcının parolası bu elemanda şifreli olarak bulunur. Sistemde "shadow" parolalar kullanılıyorsa sadece bir * imi bulunur.
uid | Kullanıcı kimliği.
gid | Kullanıcının grup kimliği. Grup ismini ve üye listesini öğrenmek için posix_getgrgid()işlevini kullanabilirsiniz.
gecos | GECOS, Honeywell sistemlerden kalma artık kullanılmayan bir alan olmakla beraber içeriği POSIX tarafından şekillendirilmiştir.Alan birbirlerinden virgül ile ayrılmış olarak kullanıcının tam ismini, iş ve ev telefonlarını ve büro numarasını içerebilir. Çoğu sistemde kullanıcının tam ismi için kullanılmaktadır.
dir | Kullanıcının ev dizininin mutlak yolunu içerir.
shell | Kullanıcının öntanımlı kabuğunu çalıştıran dosyanın mutlak yolu.

Örnekler

Örnek 1 - posix_getpwnam() örneği

<?php

$userinfo = posix_getpwnam("tom");

print_r($userinfo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [gecos]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Ayrıca Bakınız

  • posix_getpwuid() - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
  • POSIX getpwnam(3) kılavuz sayfası


Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür

  • « posix_getpwnam
  • posix_getrlimit »
  • PHP Manual
  • POSIX İşlevleri
  • Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür

posix_getpwuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getpwuid — Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür

Açıklama

posix_getpwuid(int $kullanıcı_kimliği): array|false

kullanıcı_kimliğikimlikli kullanıcı hakkında bilgiyi bir dizi içinde döndürür.

Bağımsız Değişkenler

kullanıcı_kimliği

Kullanıcı kimliği.

Dönen Değerler

Şu elemanları içeren bir ilişkisel dizi döner:

Kullanıcı bilgileri dizisi
Anahtar | Açıklama
name | Kullanıcının kullanıcı ismi. Kullanıcının gerçek ismi değil, en fazla 16 karakter uzunlukta olabilen ve sistemde oturum açarken kullandığı kısa adıdır.
passwd | Kullanıcının parolası bu elemanda şifreli olarak bulunur. Sistemde "shadow" parolalar kullanılıyorsa sadece bir * imi bulunur.
uid | Kullanıcı kimliği. İşlevi çağırıken kullanıcı_kimliği bağımsız değişkenine atananla aynı olmalıdır.
gid | Kullanıcının grup kimliği. Grup ismini ve üye listesini öğrenmek için posix_getgrgid()işlevini kullanabilirsiniz.
gecos | GECOS, Honeywell sistemlerden kalma artık kullanılmayan bir alan olmakla beraber içeriği POSIX tarafından şekillendirilmiştir.Alan birbirlerinden virgül ile ayrılmış olarak kullanıcının tam ismini, iş ve ev telefonlarını ve büro numarasını içerebilir. Çoğu sistemde kullanıcının tam ismi için kullanılmaktadır.
dir | Kullanıcının ev dizininin mutlak yolunu içerir.
shell | Kullanıcının öntanımlı kabuğunu çalıştıran dosyanın mutlak yolu.
İşlev başarısız olursa false döndürür.

Örnekler

Örnek 1 - posix_getpwuid() örneği

<?php

$userinfo = posix_getpwuid(10000);

print_r($userinfo);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [name]    => tom
    [passwd]  => x
    [uid]     => 10000
    [gid]     => 42
    [geocs]   => "tom,,,"
    [dir]     => "/home/tom"
    [shell]   => "/bin/bash"
)

Ayrıca Bakınız

  • posix_getpwnam() - Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür
  • POSIX getpwnam(3) kılavuz sayfası


Sistem özkaynak sınırları hakkında bilgi verir

  • « posix_getpwuid
  • posix_getsid »
  • PHP Manual
  • POSIX İşlevleri
  • Sistem özkaynak sınırları hakkında bilgi verir

posix_getrlimit

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getrlimit — Sistem özkaynak sınırları hakkında bilgi verir

Açıklama

posix_getrlimit(): array|false

Geçerli özkaynakların normal [soft] ve üst [hard] sınırları hakkında bilgi içeren bir dizi döndürür.

Her özkaynak için bir normal bir de üst sınır vardır. Normal sınır sistem çekirdeğinin dayattağı sınırdır. Üst sınır ise normal sınır için bir tavandır. Yetkisiz bir süreç sadece kendi normal sınırlarını 0'dan üst sınıra kadar bir aralıkta ayarlayabilir ve kendi üst sınırını geri döndürülemez şekilde düşürebilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Her elemanında bir sınır tanımlanmış bir ilişkisel dizi döndürür. Her özkaynak için bir normal [soft] bir de üst [hard] sınır vardır.

Dönmesi olası sınır değerlerin listesi
Sınır ismi | Sınır açıklaması
core | Çekirdeğin oluşturduğu core dosyasının azami boyu. 0 olduğu takdirde core dosyası oluşturulmaz. Oluşturulan core dosyasının boyu burada belirtilenden daha büyükse bu boya indirilir (kırpılır).
totalmem | Süreç belleğinin bayt cinsinden azami boyutu.
virtualmem | Süreç sanal belleğinin bayt cinsinden azami boyutu.
data | Süreç veri bölütünün bayt cinsinden azami boyutu.
stack | Süreç yığıtının bayt cinsinden azami boyutu.
rss | Fiziksel bellekteki azami sanal sayfa sayısı.
maxproc | Ana sürecin gerçek kullanıcı kimliği için oluşturulabilecek çocuk süreçlerin azami sayısı.
memlock | Fiziksel bellekte kilitlenebilecek azami bayt sayısı.
cpu | İşlemciyi kullanması için sürece tanınan süre.
filesize | Bayt cinsinden azami dosya boyutu.
openfiles | Azami açık dosya tanıtıcı sayısının bir fazlası.
İşlev başarısız olursa false döndürür.

Örnekler

Örnek 1 - posix_getrlimit() örneği

<?php

$limits = posix_getrlimit();

print_r($limits);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [soft core] => 0
    [hard core] => unlimited
    [soft data] => unlimited
    [hard data] => unlimited
    [soft stack] => 8388608
    [hard stack] => unlimited
    [soft totalmem] => unlimited
    [hard totalmem] => unlimited
    [soft rss] => unlimited
    [hard rss] => unlimited
    [soft maxproc] => unlimited
    [hard maxproc] => unlimited
    [soft memlock] => unlimited
    [hard memlock] => unlimited
    [soft cpu] => unlimited
    [hard cpu] => unlimited
    [soft filesize] => unlimited
    [hard filesize] => unlimited
    [soft openfiles] => 1024
    [hard openfiles] => 1024
)

Ayrıca Bakınız

  • getrlimit(2) kılavuz sayfası
  • posix_setrlimit() - Sistem özkaynak sınırlarını tanımlar


Geçerli sürecin oturum kimliğini döndürür

  • « posix_getrlimit
  • posix_getuid »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin oturum kimliğini döndürür

posix_getsid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getsid — Geçerli sürecin oturum kimliğini döndürür

Açıklama

posix_getsid(int $süreç_kimliği): int|false

süreç_kimliği kimlikli sürecin oturum kimliğini döndürür. Bir sürecin oturum kimliği oturum liderinin süreç grup kimliğidir.

Bağımsız Değişkenler

süreç_kimliği

Süreç kimliği. 0 belirtilirse geçerli süreç belirtilmiş varsayılır. Geçersiz bir süreç kimliği belirtilirse false döner ve oluşan hataya posix_get_last_error() işlevi üzerinden erişilebilir.

Dönen Değerler

Oturum kimliği bir tamsayı olarak döndürülür, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_getsid() örneği

<?php
$pid = posix_getpid();
echo posix_getsid($pid); //8805
?>

Ayrıca Bakınız

  • posix_getpgid() - Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür
  • posix_setsid() - Geçerli süreci bir oturumun lider süreci haline getirir
  • POSIX getsid(2) kılavuz sayfası


Geçerli sürecin gerçek kullanıcı kimliğini döndürür

  • « posix_getsid
  • posix_initgroups »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin gerçek kullanıcı kimliğini döndürür

posix_getuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getuid — Geçerli sürecin gerçek kullanıcı kimliğini döndürür

Açıklama

posix_getuid(): int

Geçerli sürecin gerçek kullanıcı kimliğini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı kimliğini bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - posix_getuid() örneği

<?php
echo posix_getuid(); //10000
?>

Ayrıca Bakınız

  • posix_getpwuid() - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
  • POSIX getuid(2) kılavuz sayfası


Grup erişim listesini hesaplar

  • « posix_getuid
  • posix_isatty »
  • PHP Manual
  • POSIX İşlevleri
  • Grup erişim listesini hesaplar

posix_initgroups

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

posix_initgroups — Grup erişim listesini hesaplar

Açıklama

posix_initgroups(string $isim, int $grup_kimliği): bool

İsmi belirtilen kullanıcının grup erişim listesini hesaplar.

Bağımsız Değişkenler

isim

Kullanıcı ismi.

grup_kimliği

Genelde passwd dosyasındaki grup numarasıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • initgroups(3) kılavuz sayfasına bakınız.


Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar

  • « posix_initgroups
  • posix_kill »
  • PHP Manual
  • POSIX İşlevleri
  • Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar

posix_isatty

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_isatty — Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar

Açıklama

posix_isatty(resource|int $dt): bool

dt dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar.

Bağımsız Değişkenler

dt

resource veya int türünde olması beklenen dosya tanıtıcı. int türünde olanın, doğrudan ilgili sistem çağrısına aktarılabilen bir dosya tanıtıcısı olduğu varsayılır.

Hemen hemen her durumda, resource türünde bir dosya özkaynağı sağlamak istenir.

Dönen Değerler

dt bir uçbirime bağlı açık bir dosya tanıtıcısı ise true, diğer tüm durumlarda false döner.

Ayrıca Bakınız

  • posix_ttyname() - Uçbirim aygıt ismini belirler
  • stream_isatty() - Akımın bir TTY olup olmadığına bakar


Bir sürece bir sinyal gönderir

  • « posix_isatty
  • posix_mkfifo »
  • PHP Manual
  • POSIX İşlevleri
  • Bir sürece bir sinyal gönderir

posix_kill

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_kill — Bir sürece bir sinyal gönderir

Açıklama

posix_kill(int $süreç_kimliği, int $sinyal): bool

süreç_kimliği kimlikli sürece sinyal sinyalini gönderir.

Bağımsız Değişkenler

süreç_kimliği

Süreç kimliği.

sinyal

PCNTL sinyal sabitlerinen biri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • 0, -1 ve diğer negatif süreç kimlikleri ile 0. sinyal hakkında ayrıntılı bilgi için kill(2) kılavuz sayfasına bakınız.


Bir isimli boru dosyası (FIFO) oluşturur

  • « posix_kill
  • posix_mknod »
  • PHP Manual
  • POSIX İşlevleri
  • Bir isimli boru dosyası (FIFO) oluşturur

posix_mkfifo

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_mkfifo — Bir isimli boru dosyası (FIFO) oluşturur

Açıklama

posix_mkfifo(string $dosya, int $izinler): bool

Dosya sisteminde, süreçlerin iki yönlü iletişimi için özel bir FIFO dosyası oluşturur.

Bağımsız Değişkenler

dosya

FIFO dosyasının yolu.

izinler

Sekizlik gösterimle izinler (0644 gibi). Yeni oluşturulan FIFO dosyasının izinleri ayrıca geçerli umask() değerine de bağlıdır. Oluşturulan dosyanın izinleri izinler & ~umask ifadesinin sonucudur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Özel veya sıralı (POSIX.1) bir dosya oluşturur

  • « posix_mkfifo
  • posix_pathconf »
  • PHP Manual
  • POSIX İşlevleri
  • Özel veya sıralı (POSIX.1) bir dosya oluşturur

posix_mknod

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_mknod — Özel veya sıralı (POSIX.1) bir dosya oluşturur

Açıklama

posix_mknod(
string $dosya,
int $seçenekler,
int $büyük = 0,
int $küçük = 0
): bool

Özel veya sıralı (POSIX.1) bir dosya oluşturur.

Bağımsız Değişkenler

dosya

Oluşturulacak dosyanın yolu.

seçenekler

İzinlerle şu sabitleren biri bitsel VEYAlanarak belirtilir: POSIX_S_IFREG, POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO, POSIX_S_IFSOCK.

büyük

Büyük aygıt numarası (S_IFCHR veya S_IFBLK belirtirken gerekir).

küçük

Küçük aygıt numarası (öntanımlı değer: 0).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_mknod() örneği

<?php

$file = '/tmp/tmpfile'; // dosya ismi
$type = POSIX_S_IFBLK; // dosya türü (blok aygıtı)
$permissions = 0777; // sekizlik izinler
$major = 1;
$minor = 8; // /dev/random

if (!posix_mknod($file, $type | $permissions, $major, $minor)) {
die('Hata ' . posix_get_last_error() . ': ' . posix_strerror(posix_get_last_error()));
}

?>

Ayrıca Bakınız

  • posix_mkfifo() - Bir isimli boru dosyası (FIFO) oluşturur


Returns the value of a configurable limit

  • « posix_mknod
  • posix_setegid »
  • PHP Manual
  • POSIX İşlevleri
  • Returns the value of a configurable limit

posix_pathconf

(PHP 8 >= 8.3.0)

posix_pathconf — Returns the value of a configurable limit

Açıklama

posix_pathconf(string $path, int $name): int|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns the value of a configurable limit from name for a file

Bağımsız Değişkenler

path

The name of the file whose limit you want to get.

name

The name of the configurable limit, one of the following. POSIX_PC_LINK_MAX, POSIX_PC_MAX_CANON POSIX_PC_MAX_INPUT, POSIX_PC_NAME_MAX POSIX_PC_PATH_MAX, POSIX_PC_PIPE_BUF POSIX_PC_CHOWN_RESTRICTED, POSIX_PC_NO_TRUNC POSIX_PC_ALLOC_SIZE_MIN, POSIX_PC_SYMLINK_MAX

Dönen Değerler

Returns the configurable limit or false.

Hatalar/İstisnalar

Throws a ValueError when path is empty.

Örnekler

Örnek 1 posix_pathconf() example

This example will get the max path name's length in bytes for the tmp dir.

<?php
echo posix_pathconf(sys_get_temp_dir(), POSIX_PC_PATH_MAX);
?>

Yukarıdaki örneğin çıktısı:

4096

Notlar

Ayrıca Bakınız

  • posix_fpathconf() - Returns the value of a configurable limit


Geçerli sürecin etkin grup kimliğini belirler

  • « posix_pathconf
  • posix_seteuid »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin etkin grup kimliğini belirler

posix_setegid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_setegid — Geçerli sürecin etkin grup kimliğini belirler

Açıklama

posix_setegid(int $grup_kimliği): bool

Geçerli sürecin etkin grup kimliğini belirler. Bu işlev root yetkisi gerektirir.

Bağımsız Değişkenler

grup_kimliği

Grup kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_setegid() örneği

Örnekte etkin grup kimliği değişmeden ve değiştikten sonra gösterilmektedir.

<?php
echo 'Etkin grup kimliğim: '.posix_getegid(); //20
posix_setegid(40);
echo 'Etkin grup kimliğim: '.posix_getegid(); //40
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
?>

Ayrıca Bakınız

  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir
  • posix_getgid() - Çalışan sürecin gerçek grup kimliğini döndürür
  • posix_setgid() - Geçerli sürecin grup kimliğini tanımlar


Geçerli sürecin etkin kullanıcı kimliğini belirler

  • « posix_setegid
  • posix_setgid »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin etkin kullanıcı kimliğini belirler

posix_seteuid

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

posix_seteuid — Geçerli sürecin etkin kullanıcı kimliğini belirler

Açıklama

posix_seteuid(int $kullanıcı_kimliği): bool

Geçerli sürecin etkin kullanıcı kimliğini belirler. Bu işlev root yetkisi gerektirir.

Bağımsız Değişkenler

kullanıcı_kimliği

Kullanıcı kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • posix_geteuid() - Çalışan sürecin etkin kullanıcı kimliğini döndürür
  • posix_setuid() - Geçerli sürecin kullanıcı kimliğini tanımlar
  • posix_getuid() - Geçerli sürecin gerçek kullanıcı kimliğini döndürür


Geçerli sürecin grup kimliğini tanımlar

  • « posix_seteuid
  • posix_setpgid »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin grup kimliğini tanımlar

posix_setgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setgid — Geçerli sürecin grup kimliğini tanımlar

Açıklama

posix_setgid(int $grup_kimliği): bool

Geçerli sürecin gerçek grup kimliğini tanımlar. Bu işlev normalde root yetkisi gerektirir. Uygun olan posix_setgid() işlevini, posix_setuid() işlevinden önce çağırmaktır.

Bilginize:

İşlev root tarafından kullanıldığında ayrıca etkin grup kimliği de tanımlanır.

Bağımsız Değişkenler

grup_kimliği

Grup kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_setgid() örneği

Örnekte gerçek grup kimliği değişmeden ve değiştikten sonra gösterilmektedir.

<?php
echo 'Gerçek grup kimliğim: '.posix_getgid(); //20
posix_setgid(40);
echo 'Gerçek grup kimliğim: '.posix_getgid(); //40
echo 'Etkin grup kimliğim: '.posix_getegid(); //40
?>

Ayrıca Bakınız

  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir
  • posix_getgid() - Çalışan sürecin gerçek grup kimliğini döndürür


İş denetimi için süreç grup kimliğini tanımlar

  • « posix_setgid
  • posix_setrlimit »
  • PHP Manual
  • POSIX İşlevleri
  • İş denetimi için süreç grup kimliğini tanımlar

posix_setpgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setpgid — İş denetimi için süreç grup kimliğini tanımlar

Açıklama

posix_setpgid(int $süreç_kimliği, int $süreç_grubu_kimliği): bool

süreç_kimliği sürecini süreç_grubu_kimliği kimlikli süreç grubuna dahil eder.

Bağımsız Değişkenler

süreç_kimliği

Süreç kimliği.

süreç_grubu_kimliği

Süreç grubu kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Süreç grupları ve iş denetimi hakkında daha fazla bilgi edinmek için POSIX.1 standardına ve setsid(2) kılavuz sayfasına bakınız.


Sistem özkaynak sınırlarını tanımlar

  • « posix_setpgid
  • posix_setsid »
  • PHP Manual
  • POSIX İşlevleri
  • Sistem özkaynak sınırlarını tanımlar

posix_setrlimit

(PHP 7, PHP 8)

posix_setrlimit — Sistem özkaynak sınırlarını tanımlar

Açıklama

posix_setrlimit(int $özkaynak, int $mevcut_sınır, int $üst_sınır): bool

posix_setrlimit() işlevi belirtilen özkaynak için mevcut ve üst sınırları tanımlar.

Her özkaynak için bir normal bir de üst sınır vardır. Normal sınır sistem çekirdeğinin dayattağı sınırdır. Üst sınır ise normal sınır için bir tavandır. Yetkisiz bir süreç sadece kendi normal sınırlarını 0'dan üst sınıra kadar bir aralıkta ayarlayabilir ve kendi üst sınırını geri döndürülemez şekilde düşürebilir.

Bağımsız Değişkenler

özkaynak

posix_setrlimit() sabitlerinden biri.

mevcut_sınır

Özkaynağın gerektirdiği mevcut sınır veya POSIX_RLIMIT_INFINITY.

üst_sınır

Özkaynağın ulaşabileceği üst sınır veya POSIX_RLIMIT_INFINITY.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • SETRLIMIT(2) kılavuz sayfası
  • posix_getrlimit() - Sistem özkaynak sınırları hakkında bilgi verir


Geçerli süreci bir oturumun lider süreci haline getirir

  • « posix_setrlimit
  • posix_setuid »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli süreci bir oturumun lider süreci haline getirir

posix_setsid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setsid — Geçerli süreci bir oturumun lider süreci haline getirir

Açıklama

posix_setsid(): int

Geçerli süreci bir oturumun lider süreci haline getirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hata durumunda -1, yoksa oturum kimliği döner.

Ayrıca Bakınız

  • Süreç grupları ve iş denetimi hakkında daha fazla bilgi edinmek için POSIX.1 standardına ve setsid(2) kılavuz sayfasına bakınız.


Geçerli sürecin kullanıcı kimliğini tanımlar

  • « posix_setsid
  • posix_strerror »
  • PHP Manual
  • POSIX İşlevleri
  • Geçerli sürecin kullanıcı kimliğini tanımlar

posix_setuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_setuid — Geçerli sürecin kullanıcı kimliğini tanımlar

Açıklama

posix_setuid(int $kullanıcı_kimliği): bool

Geçerli sürecin gerçek kullanıcı kimliğini tanımlar. Bu işlevi kullanabilmek için root yetkisine sahip olmanız gerekir.

Bağımsız Değişkenler

kullanıcı_kimliği

Kullanıcı kimliği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - posix_setuid() örneği

Bu örnekte geçerli kullanıcı kimliği gösterilip başka bir değere ayarlanmaktadır.

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_setuid(10000);
echo posix_getuid()."\n"; //10000
echo posix_geteuid()."\n"; //10000
?>

Ayrıca Bakınız

  • posix_setgid() - Geçerli sürecin grup kimliğini tanımlar
  • posix_seteuid() - Geçerli sürecin etkin kullanıcı kimliğini belirler
  • posix_getuid() - Geçerli sürecin gerçek kullanıcı kimliğini döndürür
  • posix_geteuid() - Çalışan sürecin etkin kullanıcı kimliğini döndürür


Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür

  • « posix_setuid
  • posix_sysconf »
  • PHP Manual
  • POSIX İşlevleri
  • Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür

posix_strerror

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

posix_strerror — Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür

Açıklama

posix_strerror(int $hata_kodu): string

Belirtilen hata_kodu ile ilgili sistem hata iletisini döndürür. hata_kodu, posix_get_last_error() işlevinden dönmüş bir değer olabilir.

Bağımsız Değişkenler

hata_kodu

posix_get_last_error() işlevinden dönmüş bir POSIX hata numarası. 0 belirtilirse "Success" dizgesi döner.

Dönen Değerler

Hata iletisini bir dizge olarak döndürür.

Örnekler

Örnek 1 - posix_strerror() örneği

Bu örnekte çalışmayan bir süreç öldürülmeye çalışılacak ve dönen hata iletisi gösterilecektir.

<?php
posix_kill(50,SIGKILL);
echo posix_strerror(posix_get_last_error())."\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

No such process

Ayrıca Bakınız

  • posix_get_last_error() - Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür


Returns system runtime information

  • « posix_strerror
  • posix_times »
  • PHP Manual
  • POSIX İşlevleri
  • Returns system runtime information

posix_sysconf

(PHP 8 >= 8.3.0)

posix_sysconf — Returns system runtime information

Açıklama

posix_sysconf(int $conf_id): int

Returns system runtime information.

Bağımsız Değişkenler

conf_id

Identifier of the variable with the following constants POSIX_SC_ARG_MAX, POSIX_SC_PAGESIZE POSIX_SC_NPROCESSORS_CONF, POSIX_SC_NPROCESSORS_ONLN

Dönen Değerler

Returns the numeric value related to conf_id

Örnekler

Örnek 1 posix_sysconf() example

Returns the number of active cpus.

<?php
echo posix_sysconf(POSIX_SC_NPROCESSORS_ONLN);
?>

Yukarıdaki örneğin çıktısı:

2


Süreçle ilgili işlemci zamanlarını döndürür

  • « posix_sysconf
  • posix_ttyname »
  • PHP Manual
  • POSIX İşlevleri
  • Süreçle ilgili işlemci zamanlarını döndürür

posix_times

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_times — Süreçle ilgili işlemci zamanlarını döndürür

Açıklama

posix_times(): array|false

O an ki işlemci kullanımı ile ilgili bilgi verir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

O an ki işlemci kullanımı hakkındaki bilgileri indisli bir dizge olarak döndürür. İndisler şunlardır:

  • ticks - sistem açıldığından beri sayılan saat tiklerinin sayısı.
  • utime - geçerli süreç tarafından harcanan kullanıcı zamanı.
  • stime - geçerli süreç tarafından harcanan sistem zamanı.
  • cutime - geçerli süreç ve çocukları tarafından harcanan kullanıcı zamanı.
  • cstime - geçerli süreç ve çocukları tarafından harcanan sistem zamanı.
İşlev başarısız olursa false döndürür.

Örnekler

Örnek 1 - posix_times() örneği

<?php

$times = posix_times();

print_r($times);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [ticks] => 25814410
    [utime] => 1
    [stime] => 1
    [cutime] => 0
    [cstime] => 0
)

Notlar

Uyarı

Bu işlev, büyük süreler için negatif değerler döndürebileceğinden güvenilir değildir.


Uçbirim aygıt ismini belirler

  • « posix_times
  • posix_uname »
  • PHP Manual
  • POSIX İşlevleri
  • Uçbirim aygıt ismini belirler

posix_ttyname

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_ttyname — Uçbirim aygıt ismini belirler

Açıklama

posix_ttyname(resource|int $dt): string|false

dt ile belirtilen dosya tanıtıcısının üzerinde açıldığı uçbirim aygıtının mutlak dosya yolunu bir dizge olarak döndürür.

Bağımsız Değişkenler

dt

resource veya int türünde olması beklenen dosya tanıtıcı. int türünde olanın, doğrudan ilgili sistem çağrısına aktarılabilen bir dosya tanıtıcısı olduğu varsayılır.

Hemen hemen her durumda, resource türünde bir dosya özkaynağı sağlamak istenir.

Dönen Değerler

İşlem başarısız olursa false yoksa dt tanıtıcısının mutlak dosya yolunu bir dizge olarak döndürür.


Sistem hakkında bilgi verir

  • « posix_ttyname
  • Exec »
  • PHP Manual
  • POSIX İşlevleri
  • Sistem hakkında bilgi verir

posix_uname

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_uname — Sistem hakkında bilgi verir

Açıklama

posix_uname(): array|false

Sistem hakkında bilgi verir.

POSIX standardı, değerlerin biçemleri hakkında önkabuller yapılmamasını gerektirir. Örneğin, bir sürüm numarası üç rakamdan oluşur yoksa bu işlev hiçbir şey döndürmez gibi önkabullerin yapılmaması gerekir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sistem hakkında özet bilgiyi bir dizge olarak döndürür. Dizgenin içerdiği verilerin indisleri şunlardır:

  • sysname - işletim sisteminin ismi (Linux gibi)
  • nodename - sistem ismi (makinem.yerel gibi)
  • release - işletim siteminin sürüm numarası (2.6.28 gibi)
  • version - işletim sisteminin sürüm bilgileri (#4 Tue Jul 20 17:01:36 MEST 1999 gibi)
  • machine - sistem mimarisi (i686 gibi)
  • domainname - DNS alanadı (example.com gibi)

domainname bir GNU oluşumu olup POSIX.1'e ait değildir. Dolayısıyla bu alan sadece GNU sistemlerinde ve GNU Libc kullanılan sistemlerde mevcuttur.

İşlev başarısız olursa false döndürür.

Örnekler

Örnek 1 - posix_uname() örneği

<?php
$uname=posix_uname();
print_r($uname);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [sysname] => Linux
    [nodename] => makinem.yerel
    [release] => 2.6.29.5-1
    [version] => #1 SMP PREEMPT Tue Jun 16 14:39:34 EEST 2009
    [machine] => x86_64
)


Sistem Programlarının Çalıştırılması

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Program Çalıştırma İşlevleri
    • escapeshellarg — Bir komutun bağımsız değişken dizgesini önceler
    • escapeshellcmd — Kabuk özel karakterlerini önceler
    • exec — Bir komut çalıştırır
    • passthru — Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
    • proc_close — proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür
    • proc_get_status — proc_open tarafından açılmış bir süreç hakkında bilgi döndürür
    • proc_nice — Çalışan sürecin önceliğini değiştirir
    • proc_open — Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar
    • proc_terminate — proc_open ile açılmış bir süreci öldürür
    • shell_exec — Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür
    • system — Belirtilen harici komutu çalıştırır ve çıktısını gösterir


Giriş

Bu bölümdeki işlevler, komutları sistemin kendisinde çalıştırmak ve güvenli kılmak için tasarlanmıştır.

Bilginize:

Windows altında, tüm çalıştırma işlevleri cmd.exe üzerinden çağrılır. Bu bakımdan bu işlevleri çağıran kullanıcının komutu çalıştıracak yetkilerle donatılmış olması gerekir. Bunun tek istisnası, bypass_shell seçeneği ile proc_open() işlevidir.


Özkaynak Türleri

Bu eklenti, proc_open() işlevi tarafından döndürülen ve süreç özkaynağı adı verilen bir özkaynak tanımlar.


  • « Özkaynak Türleri
  • Program Çalıştırma İşlevleri »
  • PHP Manual
  • Exec
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Program Çalıştırma İşlevleri

Notlar

Uyarı

Kilitlenerek açılmış dosyaların (özellikle açık oturumlarda) bir programı artalanda çalıştırmadan önce kapatılması gerekir.

Ayrıca Bakınız

Bu işlevler ayrıca, çalıştırma işleci ile de yakından ilgilidir.

İçindekiler

  • escapeshellarg — Bir komutun bağımsız değişken dizgesini önceler
  • escapeshellcmd — Kabuk özel karakterlerini önceler
  • exec — Bir komut çalıştırır
  • passthru — Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
  • proc_close — proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür
  • proc_get_status — proc_open tarafından açılmış bir süreç hakkında bilgi döndürür
  • proc_nice — Çalışan sürecin önceliğini değiştirir
  • proc_open — Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar
  • proc_terminate — proc_open ile açılmış bir süreci öldürür
  • shell_exec — Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür
  • system — Belirtilen harici komutu çalıştırır ve çıktısını gösterir


Bir komutun bağımsız değişken dizgesini önceler

  • « Program Çalıştırma İşlevleri
  • escapeshellcmd »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Bir komutun bağımsız değişken dizgesini önceler

escapeshellarg

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

escapeshellarg — Bir komutun bağımsız değişken dizgesini önceler

Açıklama

escapeshellarg(string $bağımsız_değişken): string

escapeshellarg() işlevi, bir dizgeyi kabuk işlevleri tarafından güvenilir tek bir bağımsız değişken olarak ele alınmasını sağlamak için tek tırnaklarla sarmalar ve dizge içinde bulunan tek tırnakları da önceler. Bu işlev kullanıcı girdisinden gelen bağımsız bağımsız değişkenleri kabuk işlevlerine aktarmadan evvel öncelemekte kullanılmalıdır. exec(), system() ve çalıştırma işlecine aktarılacak bağımsız değişkenler bu işlemden geçirilmelidir.

Windows'ta escapeshellarg() bunun yerine yüzde imlerini, ünlem imlerini (gecikmiş değişken ikamesi) ve çift tırnakları boşluklarla değiştirir ve dizeyi çift tırnaklarla sarmalar. Ayrıca, her ardışık tersbölüler dizesi (\) bir tersbölü ile öncelenir.

Bağımsız Değişkenler

bağımsız_değişken

Öncelenecek bağımsız değişken.

Dönen Değerler

Öncelenmiş dizge.

Örnekler

Örnek 1 - escapeshellarg() örneği

<?php
system('ls '.escapeshellarg($dir));
?>

Ayrıca Bakınız

  • escapeshellcmd() - Kabuk özel karakterlerini önceler
  • exec() - Bir komut çalıştırır
  • popen() - Bir süreç tanıtıcısı açar
  • system() - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
  • Çalıştırma İşleci


Kabuk özel karakterlerini önceler

  • « escapeshellarg
  • exec »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Kabuk özel karakterlerini önceler

escapeshellcmd

(PHP 4, PHP 5, PHP 7, PHP 8)

escapeshellcmd — Kabuk özel karakterlerini önceler

Açıklama

escapeshellcmd(string $komut): string

escapeshellcmd() işlevi, içinde keyfi komutlar çalıştırarak bir kabuk komutunu kandırmak için kullanılabilecek bir dizgenin içerdiği karakterleri önceler. Bu işlev, exec() veya system() işlevlerine ya da çalıştırma işlecine aktarılmadan önce kullanıcı girdisi olarak alınan veriyi öncelemek için kullanılmalıdır.

Bir tersbölü çizgisi ile öncelenen karakterler şunlardır: &#;`|*?~<>^()[]{}$\, \x0A ve \xFF. ' ve " karakterleri sadece çiftler halinde değilse öncelenir. Windows'a tüm bu karakterlere ek olarak % ve ! imleri bir şapka imi (^) ile öncelenir.

Bağımsız Değişkenler

komut

Öncelenecek komut dizgesi.

Dönen Değerler

Öncelenmiş komut dizgesi.

Örnekler

Örnek 1 - escapeshellcmd() örneği

<?php
// Burada bilerek keyfi sayıda bağımsız değişkene izin veriyoruz.
$komut = './configure '.$_POST['configure_options'];

$öncelenen_komut = escapeshellcmd($komut);

system($öncelenen_komut);
?>

Uyarı

escapeshellcmd() komut dizgesinin tamamı üzerinde kullanılmalıdır. Buna rağmen saldırganın keyfi sayıda bağımsız değişken aktarmasına izin verir. Tek bir bağımsız değişkeni öncelemek için bu işlev yerine escapeshellarg() kullanılmalıdır.

Uyarı

Windows üzerinde C:\Program Files\ProgramName\program.exe gibi yollarda sorunlu olan escapeshellcmd() boşlukları öncelemez. Aşağıdaki kod parçası kullanılarak bu sorun ortadan kaldırılabilir:

<?php
$cmd = preg_replace('`(?<!^) `', '^ ', escapeshellcmd($cmd));

Ayrıca Bakınız

  • escapeshellarg() - Bir komutun bağımsız değişken dizgesini önceler
  • exec() - Bir komut çalıştırır
  • popen() - Bir süreç tanıtıcısı açar
  • system() - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
  • Çalıştırma İşleci


Bir komut çalıştırır

  • « escapeshellcmd
  • passthru »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Bir komut çalıştırır

exec

(PHP 4, PHP 5, PHP 7, PHP 8)

exec — Bir komut çalıştırır

Açıklama

exec(string $komut, array &$çıktı = null, int &$sonuç = null): string|false

exec() işlevi belirtilen komut'u çalıştırır.

Bağımsız Değişkenler

komut

Çalıştırılacak komut.

çıktı

Bu bağımsız değişken belirtilmişse, dizinin her elemanına komut çıktısının bir satırı yazılır. Satırların sonundaki \n gibi boşluk karakterleri dizide bulunmaz. Dizi zaten bazı elemanlar içeriyorsa exec() çıktısı dizinin sonuna eklenir. Eğer işlevin çıktısının böyle dizi sonuna eklemesini istemezseniz, diziyi exec() işlevine aktarmadan önce üzerinde bir unset() çağrısı yapmalısınız.

sonuç

çıktı bağımsız değişkeninin yanında bir dönüş_değeri bağımsız değişkeni belirtilmişse komutun çıkış durumu bu bağımsız değişkene yazılır.

Dönen Değerler

Komut çıktısının son satırı. Bir komutu, çıktısı ortamla etkileşime girmeden doğrudan geri aktarılsın isterseniz passthru() işlevini kullanın.

Başarısızlık durumunda false döner.

Çalıştırılan komutun çıktısını almak istiyorsanız çıktı bağımsız değişkenini belirtmeyi unutmayın.

Hatalar/İstisnalar

komut çalıştırılamazsa bir E_WARNING çıktılanır.

komut boşsa veya null baytlar içeriyorsa bir ValueError oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | komut boşsa veya null baytlar içeriyorsa artık bir ValueError oluşmaktadır. Evvelce bir E_WARNING çıktılanır ve false dönerdi.

Örnekler

Örnek 1 - exec() örneği

<?php
// php/httpd süreçlerinin sahibi olan kullanıcının ismini çıktılayalım
// Tabii, whoami komutu olan bir sistemde.
$output=null;
$retval=null;
exec('whoami', $output, $retval);
echo "$retval durum kodu ile döndü, çıktısı:\n";
print_r($output);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0 durum kodu ile döndü, çıktısı::
Array
(
    [0] => cmb
)

Notlar

Uyarı

Kullanıcı kaynaklı verilerin bu işlev üzerinden aktarımına izin verilecekse, kullanıcının bazı komutlar çalıştırarak sistemi kandıramaması için escapeshellarg() veya escapeshellcmd() işlevleri kullanılabilir.

Bilginize:

Eğer bir uygulama bu işlevle başlatılmışsa uygulamanın artalanda çalışmasını sürdürebilmesi için uygulama çıktısı ya bir dosyaya ya da başka bir çıktı akımına yönlendirilmelidir. Aksi takdirde, uygulama sonlanana kadar PHP askıda kalacaktır.

Bilginize:

Windows'ta exec() işlevi, komut çalıştırmak için önce cmd.exe çalıştırır. cmd.exe yerine harici bir uygulama çalıştırılmak istenirse proc_open() işlevi bypass_shell seçeneğiyle kullanılabilir.

Ayrıca Bakınız

  • system() - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
  • passthru() - Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
  • escapeshellcmd() - Kabuk özel karakterlerini önceler
  • pcntl_exec() - Belirtilen programı geçerli süreç ortamında çalıştırır
  • Çalıştırma İşleci


Harici bir programı çalıştırır ve çıktısını ham olarak gösterir

  • « exec
  • proc_close »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Harici bir programı çalıştırır ve çıktısını ham olarak gösterir

passthru

(PHP 4, PHP 5, PHP 7, PHP 8)

passthru — Harici bir programı çalıştırır ve çıktısını ham olarak gösterir

Açıklama

passthru(string $komut, int &$dönüş_değeri = null): ?false

passthru() işlevi komut çalıştıran bir işlev olarak exec() işlevine benzer. Bir Unix komutunun ikil çıktısının doğrudan tarayıcıya aktarılmasını istediğiniz durumlarda exec() veya system() işlevlerinin yerine bu işlevi kullanmalısınız. Bu işlevi kullanmanın yararlı olduğu yerlerden biri, bir görüntü akımını doğrudan çıktılayan pbmplus gibi araçların kullanımıdır. İçerik türünü image/gif olarak ayarlayıp, bir gif çıktılamak için bir pbmplus aracını çalıştırırsanız, doğrudan görüntü çıktılayan bir PHP betiğiniz olur.

Bağımsız Değişkenler

komut

Çalıştırılacak komut.

dönüş_değeri

Bu bağımsız değişken belirtilmişse, Unix komutunun çıkış değeri bu değişkene yazılır.

Dönen Değerler

Başarı durumunda null, başarısızlık durumunda false döner.

Hatalar/İstisnalar

komut çalıştırılamazsa bir E_WARNING çıktılanır.

komut boşsa veya null baytlar içeriyorsa bir ValueError oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | komut boşsa veya null baytlar içeriyorsa artık bir ValueError oluşmaktadır. Evvelce bir E_WARNING çıktılanır ve false dönerdi.

Notlar

Uyarı

Kullanıcı kaynaklı verilerin bu işlev üzerinden aktarımına izin verilecekse, kullanıcının bazı komutlar çalıştırarak sistemi kandıramaması için escapeshellarg() veya escapeshellcmd() işlevleri kullanılabilir.

Bilginize:

Eğer bir uygulama bu işlevle başlatılmışsa uygulamanın artalanda çalışmasını sürdürebilmesi için uygulama çıktısı ya bir dosyaya ya da başka bir çıktı akımına yönlendirilmelidir. Aksi takdirde, uygulama sonlanana kadar PHP askıda kalacaktır.

Ayrıca Bakınız

  • exec() - Bir komut çalıştırır
  • system() - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
  • popen() - Bir süreç tanıtıcısı açar
  • escapeshellcmd() - Kabuk özel karakterlerini önceler
  • Çalıştırma İşleci


proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür

  • « passthru
  • proc_get_status »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür

proc_close

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

proc_close — proc_open() tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür

Açıklama

proc_close(resource $süreç): int

proc_close() işlevi, proc_open() tarafından açılmış süreçleri kapatması dışında pclose() işlevi gibidir. proc_close() sürecin sonlanmasını bekler ve çıkış kodunu döndürür. Bu sürece açılan borular varsa, bir kısır döngü oluşmaması için bu işlevi çağırmadan önce onları kapatmalısınız. Açık borular varken çocuk süreç çıkmayı reddedecektir.

Bağımsız Değişkenler

süreç

proc_open() tarafından açılmış bir süreç.

Dönen Değerler

Sonlandırılan sürecin çıkış kodu veya bir hata durumunda -1 döner.


proc_open tarafından açılmış bir süreç hakkında bilgi döndürür

  • « proc_close
  • proc_nice »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • proc_open tarafından açılmış bir süreç hakkında bilgi döndürür

proc_get_status

(PHP 5, PHP 7, PHP 8)

proc_get_status — proc_open() tarafından açılmış bir süreç hakkında bilgi döndürür

Açıklama

proc_get_status(resource $süreç): array

proc_get_status() işlevi, proc_open() tarafından açılmış bir süreçle ilgili verileri döndürür.

Bağımsız Değişkenler

süreç

Hakkında bilgi döndürülecek proc_open() özkaynağı.

Dönen Değerler

Toplanan verileri içeren bir dizi döner. Dönen dizi şu elemanları içerir:

Eleman | Türü | Açıklama
command | string | proc_open() işlevine aktarılan komut dizgesi.
pid | int | Süreç kimliği.
running | bool | Süreç hala çalışıyorsa true, sonlanmışsa false.
signaled | bool | Alt süreç yakalanmayan bir sinyal ile sonlanmışsa true. Windows üzerinde daima false'tır.
stopped | bool | Alt süreç bir sinyal ile durdurulmuşsa true. Windows üzerinde daima false'tır.
exitcode | int | Süreç tarafından döndürülen çıkış kodu (sadece running false ise anlamlıdır). İşlevin sadece ilk çağrısı gerçek değeri döndürür, diğerleri -1 döndürecektir.
termsig | int | Alt sürecin sonlanmasını sağlayan sinyalin numarası (sadece signaled true ise anlamlıdır).
stopsig | int | Alt sürecin durdurulmasını sağlayan sinyalin numarası (sadece stopped true ise anlamlıdır).

Ayrıca Bakınız

  • proc_open() - Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar


Çalışan sürecin önceliğini değiştirir

  • « proc_get_status
  • proc_open »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Çalışan sürecin önceliğini değiştirir

proc_nice

(PHP 5, PHP 7, PHP 8)

proc_nice — Çalışan sürecin önceliğini değiştirir

Açıklama

proc_nice(int $öncelik): bool

proc_nice() işlevi çalışan sürecin önceliğini öncelik kadar değiştirir. Pozitif bir öncelik sürecin önceliğini düşürürken negatif bir öncelik önceliği arttıracaktır.

proc_nice() işlevinin proc_open() ve onunla ilişkili diğer işlevlerle bir ilişkisi yoktur.

Bağımsız Değişkenler

öncelik

Yeni öncelik değeri.

Unix'te, -20 gibi düşük bir değer yüksek öncelik anlamına gelirken pozitif bir değer düşük öncelik demektir.

öncelik bağımsız değişkeninin Windows üzerindeki anlamları:

Öncelik sınıfı | Olası değerler
Yüksek öncelik | öncelik < -9
Normal üstü öncelik | öncelik < -4
Normal öncelik | öncelik < 5 & öncelik > -5
Normal altı öncelik | öncelik > 5
Bekletme önceliği | öncelik > 9

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Kullanıcının önceliği değiştirme yetkisinin olmaması gibi hata durumlarında E_WARNING seviyesinde bir ileti çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Bu işlev artık Windows üzerinde kullanılbiliyor.

Örnekler

Örnek 1 - Önceliği yükseltmek için proc_nice() kullanımı

<?php
// yüksek öncelik
proc_nice(-20);
?>

Notlar

Bilginize: Kullanılabilirlik

proc_nice() işlevi sadece sisteminiz 'nice' yeteneğine sahipse mevcut olacaktır. 'nice' bulunan sistemler: SVr4, SVID EXT, AT&T, X/OPEN, BSD 4.3.

Bilginize: Windows için

PHP evre güvenliği kullanılarak derlenmiş olsa bile proc_nice() geçerli süreç önceliğini değiştirir.

Ayrıca Bakınız

  • pcntl_setpriority() - Sürecin önceliğini değiştirir


Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar

  • « proc_nice
  • proc_terminate »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar

proc_open

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

proc_open — Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar

Açıklama

proc_open(
array|string $komut,
array $tanıtıcılar,
array &$tanıtıcılar,
?string $dizin = null,
?array $ortam = null,
?array $seçenekler = null
): resource|false

proc_open() işlevi, program çalıştırma konusunda daha geniş denetim imkanı sağlaması dışında popen() gibidir.

Bağımsız Değişkenler

komut

Bir dizge olarak çalıştırılacak komut. Özel karakterler uygun şekilde öncelenmeli ve uygun tırnaklama uygulanmalıdır.

Bilginize: Windows üzerinde, seçenekler içinde bypass_shell true olmadıkça komut tırnaklı dizge olarak (yani, tam olarak proc_open() işlevine belirtildiği gibi) /c seçeneğiyle cmd.exe'ye aktarılır (aslında, %ComSpec%). Bu cmd.exe'nin komut'taki sarmalayıcı tırnakları kaldırmasına sebep olur (ayrıntılar için cmd.exe belgelerine bakın), bu da istenmeyen ve daha tehlikeli olabilecek bir davranışla sonuçlanır, çünkü cmd.exe hata iletiler aktarılan komut'u (parçalarını) içerebilir (aşağıya bakınız).

PHP 7.4.0'dan beri, komut bir komut bağımsız değişkenleri dizisi olarak aktarılabilmektedir. Bu durumda süreç doğrudan (kabuk üzerinden gitmeden) açılabilmekte ve gerekli bağımsız değişken öncelemesini PHP yapabilmektedir.

Bilginize:

Windows üzerinde, dizi elemanlarının bağımsız değişken öncelemesi, çalıştırılan komutun komut satırı çözümlemesinin, VC çalışma zamanında yapılan komut satırı bağımsız değişkenleri ayrıştırılması işlemiyle uyumlu olduğu varsayılır.

tanıtıcılar

İndisli bir dizi olup, indisler tanıtıcı numaralarını, değerler ise PHP'nin çocuk süreçlere bu tanıtıcıları nasıl aktaracağını gösterir. 0 indisi, standart girdi; 1 indisi, standart çıktı; 2 indisi ise standart hata içindir.

Her eleman şunları içerebilir:

  • Sürece aktarılacak boruyu tanımlayan bir dizi. İlk eleman tanıtıcı türü, ikincisi belirtilen türde bir seçenektir. Geçerli türler: pipe (ikinci eleman sürece okuma ucunu aktaran r veya yazma ucunu aktaran w olabilir) ve file (ikinci eleman bir dosya ismidir). w dışındaki herşeyin r gibi ele alınacağına dikkat edilmelidir.
  • Gerçek bir dosya tanıtıcısına karşılık gelen bir akım özkaynağı (örneğin, STDIN, bir soket, açılmış bir dosya gibi).

Dosya tanıtıcıları 0, 1 ve 2 ile sınırlı değildir; çocuk sürece aktarılmak üzere herhangi bir dosya tanıtıcı belirtebilirsiniz. Böylece, betiğiniz diğer betiklerin arasında bir yardımcı süreç olarak çalışabilir. Bu özellikle, güvenlikle ilgili konularda PGP, GPG ve openssl gibi programlara anahtar parolasını aktarmak için kullanışlıdır. Ayrıca, bu programlar tarafından yardımcı dosya tanıtıcılarıyla sağlanan durum bilgisini okumak için de kullanışlıdır.

borular

PHP'nin oluşturduğu boru uçlarına karşılık gelen dosya tanıtıcılarını içeren indisli bir dizi.

dizin

Komutun ilk çalıştırılacağı dizin. İlk çalıştırma dizini mutlak bir dosya yolu olabileceği gibi öntanımlı çalışma dizinini kullanmak isterseniz null da olabilir. Öntanımlı çalıştırma dizini PHP sürecinin çalıştırıldığı dizindir.

ortam

Çalıştırılacak komutun ortamına aktarılacak ortam değişkenleri dizisi. PHP süreci ile aynı ortamı kullanmak isterseniz null belirtebilirsiniz.

seçenekler

Ek seçenekler belirtme imkanı sunar. Olası seçenekler:

  • suppress_errors (sadece windows): Değer olarak true belirtilirse bu işlev tarafından üretilen hatalar baskılanır.
  • bypass_shell (sadece windows): Değer olarak true belirtilirse cmd.exe kabuğu es geçilir.
  • blocking_pipes (sadece windows): true atandığında boruların engellenmesi zorlanır.
  • create_process_group (sadece windows): true atandığında CTRL olaylarının çocuk süreç tarafından işlenmesini sağlar.
  • create_new_console (sadece windows): Ebeveynin konsolunu miras almak yerine yeni sürece yeni bir konsol açılır.

Dönen Değerler

Süreci ifade eden bir özkaynak döner. Bu özkaynak ile işiniz bittiğinde proc_close() ile serbest bırakmalısınız. Hata durumunda işlev false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.4 | seçenekler bağımsız değişkenine create_new_console seçeneği eklendi.
7.4.0 | proc_open() artık komut bağımsız değişkeninde bir dizi de kabul edebiliyor.
7.4.0 | seçenekler bağımsız değişkenine create_process_group seçeneği eklendi.

Örnekler

Örnek 1 - proc_open() örneği

<?php
$tanıtıcılar = array(
0 => array("pipe", "r"), // stdin, alt sürecin okuyacağı borudur
1 => array("pipe", "w"), // stdout, alt sürecin yazacağı borudur
2 => array("file", "/tmp/hatalar", "a") // stderr çıktısı bu dosyaya yazılır
);

$dizin = '/tmp';
$ortam = array('bir_seçenek' => 'aeiou');

$süreç = proc_open('php', $tanıtıcılar, $borular, $dizin, $ortam);

if (is_resource($süreç)) {
// $borular artık şöyledir:
// 0 => alt sürecin std. girdisine yazmak için tanıtıcı
// 1 => alt sürecin std. çıktısını okumak için tanıtıcı
// Hata çıktıları varsa /tmp/hatalar dosyasına yazılacak

fwrite($borular[0], '<?php print_r($_ENV); ?>');
fclose($borular[0]);

echo stream_get_contents($borular[1]);
fclose($borular[1]);

// Bir kısır döngü oluşmaması için proc_close işlevini
// çağırmadan önce açık boruların kapatılması hayati önemdedir.
$dönen_değer = proc_close($süreç);

echo "komut $dönen_değer değerini döndürdü\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [bir_seçenek] => aeiou
    [PWD] => /tmp
    [SHLVL] => 1
    [_] => /usr/local/bin/php
)
komut 0 değerini döndürdü

Örnek 2 - Windows üzerinde proc_open() tuhaflığı

Aşağıdaki betiğin filename.txt üzerinde search dizgesini arayacağı ve sonucu basacağı umulurken biraz farklı davranır:

<?php
$tanıtıcılar = [STDIN, STDOUT, STDOUT];
$komut = '"findstr" "search" "filename.txt"';
$süreç = proc_open($komut, $tanıtıcılar, $borular);
proc_close($süreç);
?>

Yukarıdaki örneğin çıktısı:

'findstr" "search" "filename.txt' is not recognized as an internal or external command,
operable program or batch file.

Bu davranışın etrafından dolaşmak için komutu ek tırnaklarla sarmalamak yeterlidir:

$cmd = '""findstr" "search" "filename.txt""';

Notlar

Bilginize: Windows uyumluluğu

2 (strerr) tanıtıcısı hariç, tanıtıcılar çocuk süreçlere kalıtım yoluyla aktarılırlar, fakat Windows mimarisi dosya tanıtıcılarını düşük seviyeli tanıtıcılarla ilişkilendirmediğinden çocuk süreç bu tanıtıcılara erişemez. stdin, stdout ve stderr beklendiği gibi çalışır.

Bilginize:

Eğer ihtiyacınız tek yönlü bir boru ise kullanımı daha kolay olan popen() işlevini kullanın.

Ayrıca Bakınız

  • popen() - Bir süreç tanıtıcısı açar
  • exec() - Bir komut çalıştırır
  • system() - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
  • passthru() - Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
  • Çalıştırma İşleci


proc_open ile açılmış bir süreci öldürür

  • « proc_open
  • shell_exec »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • proc_open ile açılmış bir süreci öldürür

proc_terminate

(PHP 5, PHP 7, PHP 8)

proc_terminate — proc_open ile açılmış bir süreci öldürür

Açıklama

proc_terminate(resource $süreç, int $sinyal = 15): bool

Belirtilen (proc_open() tarafından açılmış) sürece bir sinyal gönderir ve sürecin sonlanmasını beklemeden döner.

proc_terminate() bir süreci sonlandırmanızı ve sonucu beklemeden diğer işlemlere devam edebilmenizi sağlar. Sürecin sonlanıp sonlanmadığını proc_get_status() işlevini kullanarak yoklayabilirsiniz.

Bağımsız Değişkenler

süreç

proc_open() tarafından açılmış bir süreç özkaynağı.

sinyal

İsteğe bağlı bu bağımsız değişken sadece POSIX sistemlerde kullanışlıdır. Bu sistemlerde bir süreci kill(2) sistem çağrısı ile öldürebilirsiniz. Bağımsız değişkenin öntanımlı değeri SIGTERM'dir.

Dönen Değerler

Sürecin sonlanma durumu ile döner.

Ayrıca Bakınız

  • proc_open() - Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar
  • proc_close() - proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür
  • proc_get_status() - proc_open tarafından açılmış bir süreç hakkında bilgi döndürür


Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür

  • « proc_terminate
  • system »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür

shell_exec

(PHP 4, PHP 5, PHP 7, PHP 8)

shell_exec — Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür

Açıklama

shell_exec(string $komut): string|false|null

Bu işlev çalıştırma işleci kullanmakla eşdeğerdir.

Bilginize:

Windows'ta, ilgili boru metin kipinde açıldığı için ikil çıktı için işlevin başarısız olmasına sebep olur. Böyle durumlarda bu işlev yerine popen() kullanabilirsiniz.

Bağımsız Değişkenler

komut

Çalıştırılacak komut.

Dönen Değerler

Çalıştırılan komutun çıktısı bir dizge olarak döner. Boru oluşturulamamışsa, komut çıktı üretmezse veya hata oluşmuşsa null döner.

Bilginize:

Bu işlev, hem komutun çıktı üretmediği durumda hem de hata durumunda ayırt etmeksizin null döndürür. Bu sebeple başarısızlık durumunu bu işlevle saptamak mümkün değildir. Komutun çıkış durumuna erişmek gerekliyse bu işlev yerine exec() kullanılmalıdır.

Hatalar/İstisnalar

Boru oluşturulamamışsa E_WARNING seviyesinde bir hata üretilir.

Örnekler

Örnek 1 - shell_exec() örneği

<?php
$çıktı = shell_exec('ls -lart');
echo "<pre>$çıktı</pre>";
?>

Ayrıca Bakınız

  • exec() - Bir komut çalıştırır
  • escapeshellcmd() - Kabuk özel karakterlerini önceler


Belirtilen harici komutu çalıştırır ve çıktısını gösterir

  • « shell_exec
  • parallel »
  • PHP Manual
  • Program Çalıştırma İşlevleri
  • Belirtilen harici komutu çalıştırır ve çıktısını gösterir

system

(PHP 4, PHP 5, PHP 7, PHP 8)

system — Belirtilen harici komutu çalıştırır ve çıktısını gösterir

Açıklama

system(string $komut, int &$sonuç = null): string|false

system() işlevi C dilindeki adaşı gibi verilen komut'u çalıştırır ve sonucunu çıktılar.

PHP bir sunucu modülü olarak çalışırken, bu işlev her çıktı satırından sonra HTTP sunucusunun çıktı tamponunu boşaltmaya çalışır.

Bir komutu, çıktısı ortamla etkileşime girmeden çalıştırmak isterseniz passthru() işlevini kullanın.

Bağımsız Değişkenler

komut

Çalıştırılacak komut.

sonuç

Bu bağımsız değişken belirtilmişse çalıştırılan komutun çıktısı bu değişkene yazılır.

Dönen Değerler

Başarısızlık durumunda false aksi takdirde komut çıktısının son satırı döner.

Örnekler

Örnek 1 - system() örneği

<?php
echo '<pre>';

// "ls" kabuk komutunun sonucunu çıktılar ve
// çıktının son satırını $son_satır ile döndürürken,
// işlevin dönüş değerini $sonuç değişkenine kaydeder.
$son_satır = system('ls', $sonuç);

// Bilgileri basalım
echo '
</pre>
<hr />Çıktının son satırı: ' . $son_satır . '
<hr />Dönüş değeri: ' . $sonuç;
?>

Notlar

Uyarı

Kullanıcı kaynaklı verilerin bu işlev üzerinden aktarımına izin verilecekse, kullanıcının bazı komutlar çalıştırarak sistemi kandıramaması için escapeshellarg() veya escapeshellcmd() işlevleri kullanılabilir.

Bilginize:

Eğer bir uygulama bu işlevle başlatılmışsa uygulamanın artalanda çalışmasını sürdürebilmesi için uygulama çıktısı ya bir dosyaya ya da başka bir çıktı akımına yönlendirilmelidir. Aksi takdirde, uygulama sonlanana kadar PHP askıda kalacaktır.

Ayrıca Bakınız

  • exec() - Bir komut çalıştırır
  • passthru() - Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
  • popen() - Bir süreç tanıtıcısı açar
  • escapeshellcmd() - Kabuk özel karakterlerini önceler
  • pcntl_exec() - Belirtilen programı geçerli süreç ortamında çalıştırır
  • Çalıştırma İşleci


parallel

  • Giriş
  • Installation
  • Philosophy
  • Functional API
    • parallel\bootstrap — Bootstrapping
    • parallel\run — Execution
  • parallel\Runtime — The parallel\Runtime class
    • parallel\Runtime::__construct — Runtime Construction
    • parallel\Runtime::run — Execution
    • parallel\Runtime::close — Runtime Graceful Join
    • parallel\Runtime::kill — Runtime Join
  • parallel\Future — The parallel\Future class
    • parallel\Future::cancel — Cancellation
    • parallel\Future::cancelled — State Detection
    • parallel\Future::done — State Detection
    • parallel\Future::value — Resolution
  • parallel\Channel — The parallel\Channel class
    • parallel\Channel::__construct — Channel Construction
    • parallel\Channel::make — Access
    • parallel\Channel::open — Access
    • parallel\Channel::recv — Sharing
    • parallel\Channel::send — Sharing
    • parallel\Channel::close — Closing
  • parallel\Events — The parallel\Events class
    • parallel\Events::setBlocking — Behaviour
    • parallel\Events::setTimeout — Behaviour
    • parallel\Events::setInput — Input
    • parallel\Events::addChannel — Targets
    • parallel\Events::addFuture — Targets
    • parallel\Events::remove — Targets
    • parallel\Events::poll — Polling
  • parallel\Events\Input — The parallel\Events\Input class
    • parallel\Events\Input::add — Inputs
    • parallel\Events\Input::clear — Inputs
    • parallel\Events\Input::remove — Inputs
  • parallel\Events\Event — The parallel\Events\Event class
  • parallel\Events\Event\Type — The parallel\Events\Event\Type class
  • parallel\Sync — The parallel\Sync class
    • parallel\Sync::__construct — Construction
    • parallel\Sync::get — Access
    • parallel\Sync::set — Access
    • parallel\Sync::wait — Synchronization
    • parallel\Sync::notify — Synchronization
    • parallel\Sync::__invoke — Synchronization


Giriş

parallel is a parallel concurrency extension for PHP ? 7.2.0. As of parallel 1.2.0, PHP ? 8.0.0 is required.

A brief description of the concepts core to parallel follows, more detailed information may be found within this section of the manual.

Runtime

A parallel\Runtime represents a PHP interpreter thread. A parallel\Runtime is configured with an optional bootstrap file passed to parallel\Runtime::__construct(), this is typically an autoloader, or some other preloading routine: The bootstrap file will be included before any task is executed.

After construction the parallel\Runtime remains available until it is closed, killed, or destroyed by the normal scoping rules of PHP objects. parallel\Runtime::run() allows the programmer to schedule tasks for execution in parallel. A parallel\Runtime has a FIFO schedule, tasks will be executed in the order that they are scheduled.

Functional API

parallel implements a functional, higher level API on top of parallel\Runtime that provides a single function entry point to executing parallel code with automatic scheduling: parallel\run().

Task

A task is simply a Closure intended for parallel execution. The Closure may contain almost any instruction, including nested closures. However, there are some instructions that are prohibited in tasks:

  • yield

  • use by-reference

  • declare class

  • declare named function

Bilginize:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Bilginize:

No instructions are prohibited in the files which the task may include.

Future

The parallel\Future is used to access the return value from the task, and exposes an API for cancellation of the task.

Channel

A task may be scheduled with arguments, use lexical scope variables (by-value), and return a value (via a parallel\Future), but these only allow uni-directional communication: They allow the programmer to send data into and retrieve data from a task, but do not allow bi-directional communication between tasks. The parallel\Channel API allows bi-directional communication between tasks, a parallel\Channel is a socket-like link between tasks that the programmer can use to send and receive data.

Events

The parallel\Events API implements a native feel (Traversable) event loop, and parallel\Events::poll() method. It allows the programmer to work with sets of channels and or futures. The programmer simply adds channels and futures to the event loop, optionally setting the input for writes with parallel\Events::setInput(), and enters into a foreach: parallel will read from and write to objects as they become available yielding parallel\Events\Event objects describing the operations that have occurred.

Ayrıca Bakınız

  • Philosophy


Installation

Gereksinimler

parallel requires a build of PHP with ZTS (Zend Thread Safety) enabled (--enable-zts, or on non-Windows systems prior to PHP 8.0.0, --enable-maintainer-zts)

Dikkat

Zend Thread Safety cannot be enabled post build; it is a build time configuration option.

parallel should build anywhere there is a working Posix Threads header (pthread.h) and ZTS build of PHP, including Windows (using the pthread-w32 project from redhat).

Kurulum

parallel releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/parallel.

Windows users can download prebuilt release binaries from the » PECL website.

Dikkat

Windows users need to take the additional step of adding pthreadVC2.dll (distributed with Windows releases) to their PATH.


Philosophy

This section contains philosophies important to writing parallel code and some details about the internal implementation of parallel.

Do not communicate by sharing memory; instead, share memory by communicating.

This philosophy which is embraced by parallel has its origins in Go, one of the most widely admired if not used platforms for writing parallel code at the moment. Go programmers have to work hard to live up to this ideal: PHP and parallel do all the hard work for the programmer, and by default.

In conventional threading models found in other languages, generally threads are communicating with one another through nothing more than by virtue of the fact that they operate in the same address space. The programmer must deploy mutual exclusion, condition variables, and other low level threading or synchronization primitives in order to ensure proper communication of state and consistency.

When the conventional model is inversed, it means that threads only share memory as a result of communication (a variable is passed over a Channel for example).

When parallel passes a variable from one thread to another by any means - Task arguments, return via Future, and Channels - it is passed by value. In all but the case of unbuffered channels, the variable is also buffered so that it may not change (or be destroyed) before it is used in whichever thread the variable is being passed to. An unbuffered read over a channel is the only instance in which a thread directly reads memory allocated by another thread, it can do so safely because the thread that owns the memory is waiting for the read to complete before it can continue to manipulate it, and the thread that does not own the memory reads by value. When both threads continue, they are no longer sharing memory.

This makes writing and reasoning about parallel code much easier than the conventional model of threading. It means the programmer does not need to consider that threads may be manipulating data concurrently, because that is not possible.

This also makes PHP the perfect platform for implementing a parallel concurrency API based on CSP (message passing over channels), because PHP itself is shared nothing - PHP threads operate in their own virtual address space by default, and so may only share memory by communicating.

Data should have a definitive single owner

When approaching the CSP model for the first time, a programmer versed in the traditional model of threading may find themselves looking for concurrent data structures, because that is what they are used too: they pass around shared objects for manipulation.

When it comes to the CSP model, there is no need for data structures to be shared by many tasks, and indeed, it is simpler if they are not. The data should be owned by a single task, changes to (or operations on) that data structure should be communicated over channels and performed by the owner of the data, the success, failure, or result (state) of the change (or operation) being communicated back.

Once again the share nothing nature of PHP and copy by value nature of parallel helps the programmer to achieve this goal, no data will be shared by accident, only ever as a result of communication.


Functional API

The parallel\Runtime API provides a great degree of control to the power PHP programmer, and those intimately familiar with writing applications that use parallel concurrency.

The functional API provides less control in exchange for the ability to make decisions for the programmer:

  • all executing runtimes are bootstrapped identically

  • scheduling is determined by the API, not the programmer

parallel\run() provides the guarantee that the task will begin to execute in parallel as soon as allowed by hardware and operating system constraints, without needlessly creating runtimes. For most applications the functional API should be preferred.

İçindekiler

  • parallel\bootstrap — Bootstrapping
  • parallel\run — Execution


Bootstrapping

  • « Functional API
  • parallel\run »
  • PHP Manual
  • Functional API
  • Bootstrapping

parallel\bootstrap

(1.0.0)

parallel\bootstrap — Bootstrapping

Açıklama

parallel\bootstrap(string $file): void

Shall use the provided file to bootstrap all runtimes created for automatic scheduling via parallel\run().

Bağımsız Değişkenler

file

Path to the file to bootstrap all runtimes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Uyarı

Shall throw parallel\Runtime\Error\Bootstrap if previously called for this process.

Uyarı

Shall throw parallel\Runtime\Error\Bootstrap if called after parallel\run().

Ayrıca Bakınız

  • parallel\Runtime::run


Execution

  • « parallel\bootstrap
  • parallel\Runtime »
  • PHP Manual
  • Functional API
  • Execution

parallel\run

(1.0.0)

parallel\run — Execution

Açıklama

parallel\run(Closure $task): ?Future

Shall schedule task for execution in parallel.

parallel\run(Closure $task, array $argv): ?Future

Shall schedule task for execution in parallel, passing argv at execution time.

Automatic Scheduling

If a \parallel\Runtime internally created and cached by a previous call to parallel\run() is idle, it will be used to execute the task. If no \parallel\Runtime is idle parallel will create and cache a \parallel\Runtime.

Bilginize:

\parallel\Runtime objects created by the programmer are not used for automatic scheduling.

Bağımsız Değişkenler

task

A Closure with specific characteristics.

argv

An array of arguments with specific characteristics to be passed to task at execution time.

Task Characteristics

Closures scheduled for parallel execution must not:

  • accept or return by reference
  • accept or return internal objects (see notes)
  • execute a limited set of instructions

Instructions prohibited in Closures intended for parallel execution are:

  • yield
  • use by-reference
  • declare class
  • declare named function

Bilginize:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Bilginize:

No instructions are prohibited in the files which the task may include.

Arguments Characteristics

Arguments must not:

  • contain references
  • contain resources
  • contain internal objects (see notes)

Bilginize:

In the case of file stream resources, the resource will be cast to the file descriptor and passed as int where possible, this is unsupported on Windows.

Internal Objects Notes

Internal objects generally use a custom structure which cannot be copied by value safely, PHP currently lacks the mechanics to do this (without serialization) and so only objects that do not use a custom structure may be shared.

Some internal objects do not use a custom structure, for example parallel\Events\Event and so may be shared.

Closures are a special kind of internal object and support being copied by value, and so may be shared.

Channels are central to writing parallel code and support concurrent access and execution by necessity, and so may be shared.

Uyarı

A user class that extends an internal class may use a custom structure as defined by the internal class, in which case they cannot be copied by value safely, and so may not be shared.

Dönen Değerler

Uyarı

The return parallel\Future must not be ignored when the task contains a return or throw statement.

Exceptions

Uyarı

Shall throw parallel\Runtime\Error\Closed if parallel\Runtime was closed.

Uyarı

Shall throw parallel\Runtime\Error\IllegalFunction if task is a closure created from an internal function.

Uyarı

Shall throw parallel\Runtime\Error\IllegalInstruction if task contains illegal instructions.

Uyarı

Shall throw parallel\Runtime\Error\IllegalParameter if task accepts or argv contains illegal variables.

Uyarı

Shall throw parallel\Runtime\Error\IllegalReturn if task returns illegally.

Ayrıca Bakınız

  • parallel\Runtime::run


The parallel\Runtime class

(0.8.0)

Runtime Objects

Each runtime represents a single PHP thread, the thread is created (and bootstrapped) upon construction. The thread then waits for tasks to be scheduled: Scheduled tasks will be executed FIFO and then the thread will resume waiting until more tasks are scheduled, or it's closed, killed, or destroyed by the normal scoping rules of PHP objects.

Uyarı

When a runtime is destroyed by the normal scoping rules of PHP objects, it will first execute all of the tasks that were scheduled, and block while doing so.

Runtime Bootstrapping

When a new runtime is created, it does not share code with the thread (or process) that created it. This means it doesn't have the same classes and functions loaded, nor the same autoloader set. In some cases, a very lightweight runtime is desirable because the tasks that will be scheduled do not need access to the code in the parent thread. In those cases where the tasks do need to access the same code, it is enough to set an autoloader as the bootstrap.

Bilginize:

preloading may be used in conjunction with parallel, in this case preloaded code is available without bootstrapping

Sınıf Sözdizimi

final class parallel\Runtime {
/* Create */
public __construct()
public __construct(string $bootstrap)
/* Execute */
public run(Closure $task): ?Future
public run(Closure $task, array $argv): ?Future
/* Join */
public close(): void
public kill(): void
}

İçindekiler

  • parallel\Runtime::__construct — Runtime Construction
  • parallel\Runtime::run — Execution
  • parallel\Runtime::close — Runtime Graceful Join
  • parallel\Runtime::kill — Runtime Join


Runtime Construction

  • « parallel\Runtime
  • parallel\Runtime::run »
  • PHP Manual
  • parallel\Runtime
  • Runtime Construction

parallel\Runtime::__construct

(0.8.0)

parallel\Runtime::__construct — Runtime Construction

Açıklama

public parallel\Runtime::__construct()

Shall construct a new runtime without bootstrapping.

public parallel\Runtime::__construct(string $bootstrap)

Shall construct a bootstrapped runtime.

Bağımsız Değişkenler

bootstrap

The location of a bootstrap file, generally an autoloader.

Exceptions

Uyarı

Shall throw parallel\Runtime\Error if thread could not be created

Uyarı

Shall throw parallel\Runtime\Bootstrap if bootstrapping failed


Execution

  • « parallel\Runtime::__construct
  • parallel\Runtime::close »
  • PHP Manual
  • parallel\Runtime
  • Execution

parallel\Runtime::run

(0.8.0)

parallel\Runtime::run — Execution

Açıklama

public parallel\Runtime::run(Closure $task): ?Future

Shall schedule task for execution in parallel.

public parallel\Runtime::run(Closure $task, array $argv): ?Future

Shall schedule task for execution in parallel, passing argv at execution time.

Bağımsız Değişkenler

task

A Closure with specific characteristics.

argv

An array of arguments with specific characteristics to be passed to task at execution time.

Task Characteristics

Closures scheduled for parallel execution must not:

  • accept or return by reference
  • accept or return internal objects (see notes)
  • execute a limited set of instructions

Instructions prohibited in Closures intended for parallel execution are:

  • yield
  • use by-reference
  • declare class
  • declare named function

Bilginize:

Nested closures may yield or use by-reference, but must not contain class or named function declarations.

Bilginize:

No instructions are prohibited in the files which the task may include.

Arguments Characteristics

Arguments must not:

  • contain references
  • contain resources
  • contain internal objects (see notes)

Bilginize:

In the case of file stream resources, the resource will be cast to the file descriptor and passed as int where possible, this is unsupported on Windows.

Internal Objects Notes

Internal objects generally use a custom structure which cannot be copied by value safely, PHP currently lacks the mechanics to do this (without serialization) and so only objects that do not use a custom structure may be shared.

Some internal objects do not use a custom structure, for example parallel\Events\Event and so may be shared.

Closures are a special kind of internal object and support being copied by value, and so may be shared.

Channels are central to writing parallel code and support concurrent access and execution by necessity, and so may be shared.

Uyarı

A user class that extends an internal class may use a custom structure as defined by the internal class, in which case they cannot be copied by value safely, and so may not be shared.

Dönen Değerler

Uyarı

The return parallel\Future must not be ignored when the task contains a return or throw statement.

Exceptions

Uyarı

Shall throw parallel\Runtime\Error\Closed if parallel\Runtime was closed.

Uyarı

Shall throw parallel\Runtime\Error\IllegalFunction if task is a closure created from an internal function.

Uyarı

Shall throw parallel\Runtime\Error\IllegalInstruction if task contains illegal instructions.

Uyarı

Shall throw parallel\Runtime\Error\IllegalParameter if task accepts or argv contains illegal variables.

Uyarı

Shall throw parallel\Runtime\Error\IllegalReturn if task returns illegally.


Runtime Graceful Join

  • « parallel\Runtime::run
  • parallel\Runtime::kill »
  • PHP Manual
  • parallel\Runtime
  • Runtime Graceful Join

parallel\Runtime::close

(0.8.0)

parallel\Runtime::close — Runtime Graceful Join

Açıklama

public parallel\Runtime::close(): void

Shall request that the runtime shutsdown.

Bilginize:

Tasks scheduled for execution will be executed before the shutdown occurs.

Exceptions

Uyarı

Shall throw parallel\Runtime\Error\Closed if Runtime was already closed.


Runtime Join

  • « parallel\Runtime::close
  • parallel\Future »
  • PHP Manual
  • parallel\Runtime
  • Runtime Join

parallel\Runtime::kill

(0.8.0)

parallel\Runtime::kill — Runtime Join

Açıklama

public parallel\Runtime::kill(): void

Shall attempt to force the runtime to shutdown.

Bilginize:

Tasks scheduled for execution will not be executed, the currently running task shall be interrupted.

Uyarı

Internal function calls in progress cannot be interrupted.

Exceptions

Uyarı

Shall throw parallel\Runtime\Error\Closed if Runtime was closed.


The parallel\Future class

(0.8.0)

Futures

A Future represents the return value or uncaught exception from a task, and exposes an API for cancellation.

Örnek 1 Example showing Future as return value

<?php
$runtime = new \parallel\Runtime;
$future = $runtime->run(function(){
return "World";
});
printf("Hello %s\n", $future->value());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hello World

The behaviour of a future also allows it to be used as a simple synchronization point even where the task does not return a value explicitly.

Örnek 2 Example showing Future as synchronization point

<?php
$runtime = new \parallel\Runtime;
$future = $runtime->run(function(){
echo "in child ";
for ($i = 0; $i < 500; $i++) {
if ($i % 10 == 0) {
echo ".";
}
}
echo " leaving child";
});

$future->value();
echo "\nparent continues\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

in child .................................................. leaving child
parent continues

Sınıf Sözdizimi

final class parallel\Future {
/* Resolution */
public value(): mixed
/* State */
public cancelled(): bool
public done(): bool
/* Cancellation */
public cancel(): bool
}

İçindekiler

  • parallel\Future::cancel — Cancellation
  • parallel\Future::cancelled — State Detection
  • parallel\Future::done — State Detection
  • parallel\Future::value — Resolution


Cancellation

  • « parallel\Future
  • parallel\Future::cancelled »
  • PHP Manual
  • parallel\Future
  • Cancellation

parallel\Future::cancel

(0.9.0)

parallel\Future::cancel — Cancellation

Açıklama

public parallel\Future::cancel(): bool

Shall try to cancel the task

Bilginize:

If task is running, it will be interrupted.

Uyarı

Internal function calls in progress cannot be interrupted.

Exceptions

Uyarı

Shall throw parallel\Future\Error\Killed if parallel\Runtime executing task was killed.

Uyarı

Shall throw parallel\Future\Error\Cancelled if task was already cancelled.


State Detection

  • « parallel\Future::cancel
  • parallel\Future::done »
  • PHP Manual
  • parallel\Future
  • State Detection

parallel\Future::cancelled

(0.9.0)

parallel\Future::cancelled — State Detection

Açıklama

public parallel\Future::cancelled(): bool

Shall indicate if the task was cancelled


State Detection

  • « parallel\Future::cancelled
  • parallel\Future::value »
  • PHP Manual
  • parallel\Future
  • State Detection

parallel\Future::done

(0.8.0)

parallel\Future::done — State Detection

Açıklama

public parallel\Future::done(): bool

Shall indicate if the task is completed


Resolution

  • « parallel\Future::done
  • parallel\Channel »
  • PHP Manual
  • parallel\Future
  • Resolution

parallel\Future::value

(0.8.0)

parallel\Future::value — Resolution

Açıklama

public parallel\Future::value(): mixed

Shall return (and if necessary wait for) return from task

Exceptions

Uyarı

Shall throw parallel\Future\Error if waiting failed (internal error).

Uyarı

Shall throw parallel\Future\Error\Killed if parallel\Runtime executing task was killed.

Uyarı

Shall throw parallel\Future\Error\Cancelled if task was cancelled.

Uyarı

Shall throw parallel\Future\Error\Foreign if task raised an unrecognized uncaught exception.

Uyarı

Shall rethrow Throwable uncaught in task


The parallel\Channel class

(0.9.0)

Unbuffered Channels

An unbuffered channel will block on calls to parallel\Channel::send() until there is a receiver, and block on calls to parallel\Channel::recv() until there is a sender. This means an unbuffered channel is not only a way to share data among tasks but also a simple method of synchronization.

An unbuffered channel is the fastest way to share data among tasks, requiring the least copying.

Buffered Channels

A buffered channel will not block on calls to parallel\Channel::send() until capacity is reached, calls to parallel\Channel::recv() will block until there is data in the buffer.

Closures over Channels

A powerful feature of parallel channels is that they allow the exchange of closures between tasks (and runtimes).

When a closure is sent over a channel the closure is buffered, it doesn't change the buffering of the channel transmitting the closure, but it does effect the static scope inside the closure: The same closure sent to different runtimes, or the same runtime, will not share their static scope.

This means that whenever a closure is executed that was transmitted by a channel, static state will be as it was when the closure was buffered.

Anonymous Channels

The anonymous channel constructor allows the programmer to avoid assigning names to every channel: parallel will generate a unique name for anonymous channels.

Sınıf Sözdizimi

final class parallel\Channel {
/* Anonymous Constructor */
public __construct()
public __construct(int $capacity)
/* Access */
public make(string $name): Channel
public make(string $name, int $capacity): Channel
public open(string $name): Channel
/* Sharing */
public recv(): mixed
public send(mixed $value): void
/* Closing */
public close(): void
/* Constant for Infinitely Buffered */
const Infinite;
}

İçindekiler

  • parallel\Channel::__construct — Channel Construction
  • parallel\Channel::make — Access
  • parallel\Channel::open — Access
  • parallel\Channel::recv — Sharing
  • parallel\Channel::send — Sharing
  • parallel\Channel::close — Closing


Channel Construction

  • « parallel\Channel
  • parallel\Channel::make »
  • PHP Manual
  • parallel\Channel
  • Channel Construction

parallel\Channel::__construct

(1.1.0)

parallel\Channel::__construct — Channel Construction

Açıklama

public parallel\Channel::__construct()

Shall make an anonymous unbuffered channel

public parallel\Channel::__construct(int $capacity)

Shall make an anonymous buffered channel with the given capacity

Bağımsız Değişkenler

capacity

May be Channel::Infinite or a positive integer


Access

  • « parallel\Channel::__construct
  • parallel\Channel::open »
  • PHP Manual
  • parallel\Channel
  • Access

parallel\Channel::make

(0.9.0)

parallel\Channel::make — Access

Açıklama

public parallel\Channel::make(string $name): Channel

Shall make an unbuffered channel with the given name

public parallel\Channel::make(string $name, int $capacity): Channel

Shall make a buffered channel with the given name and capacity

Bağımsız Değişkenler

name

The name of the channel.

capacity

May be Channel::Infinite or a positive integer

Exceptions

Uyarı

Shall throw parallel\Channel\Error\Existence if channel already exists.


Access

  • « parallel\Channel::make
  • parallel\Channel::recv »
  • PHP Manual
  • parallel\Channel
  • Access

parallel\Channel::open

(0.9.0)

parallel\Channel::open — Access

Açıklama

public parallel\Channel::open(string $name): Channel

Shall open the channel with the given name

Exceptions

Uyarı

Shall throw parallel\Channel\Error\Existence if channel does not exist.


Sharing

  • « parallel\Channel::open
  • parallel\Channel::send »
  • PHP Manual
  • parallel\Channel
  • Sharing

parallel\Channel::recv

(0.9.0)

parallel\Channel::recv — Sharing

Açıklama

public parallel\Channel::recv(): mixed

Shall recv a value from this channel

Exceptions

Uyarı

Shall throw parallel\Channel\Error\Closed if channel is closed.


Sharing

  • « parallel\Channel::recv
  • parallel\Channel::close »
  • PHP Manual
  • parallel\Channel
  • Sharing

parallel\Channel::send

(0.9.0)

parallel\Channel::send — Sharing

Açıklama

public parallel\Channel::send(mixed $value): void

Shall send the given value on this channel

Exceptions

Uyarı

Shall throw parallel\Channel\Error\Closed if channel is closed.

Uyarı

Shall throw parallel\Channel\Error\IllegalValue if value is illegal.


Closing

  • « parallel\Channel::send
  • parallel\Events »
  • PHP Manual
  • parallel\Channel
  • Closing

parallel\Channel::close

(0.9.0)

parallel\Channel::close — Closing

Açıklama

public parallel\Channel::close(): void

Shall close this channel

Exceptions

Uyarı

Shall throw parallel\Channel\Error\Closed if channel is closed.


The parallel\Events class

(0.9.0)

The Event Loop

The Event loop monitors the state of sets of futures and or channels (targets) in order to perform read (parallel\Future::value(), parallel\Channel::recv()) and write (parallel\Channel::send()) operations as the targets become available and the operations may be performed without blocking the event loop.

Sınıf Sözdizimi

final class parallel\Events implements Countable, Traversable {
/* Input */
public setInput(Input $input): void
/* Targets */
public addChannel(parallel\Channel $channel): void
public addFuture(string $name, parallel\Future $future): void
public remove(string $target): void
/* Behaviour */
public setBlocking(bool $blocking): void
public setTimeout(int $timeout): void
/* Polling */
public poll(): ?parallel\Events\Event
}

İçindekiler

  • parallel\Events::setBlocking — Behaviour
  • parallel\Events::setTimeout — Behaviour
  • parallel\Events::setInput — Input
  • parallel\Events::addChannel — Targets
  • parallel\Events::addFuture — Targets
  • parallel\Events::remove — Targets
  • parallel\Events::poll — Polling


Behaviour

  • « parallel\Events
  • parallel\Events::setTimeout »
  • PHP Manual
  • parallel\Events
  • Behaviour

parallel\Events::setBlocking

(0.9.0)

parallel\Events::setBlocking — Behaviour

Açıklama

By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting blocking mode to false will cause poll to return control if the first target polled is not ready.

This differs from setting a timeout of 0 with parallel\Events::setTimeout(), since a timeout of 0, while allowed, will cause an exception to be raised, which may be extremely slow or wasteful if what is really desired is non-blocking behaviour.

A non-blocking loop effects the return value of parallel\Events::poll(), such that it may be null before all events have been processed.

public parallel\Events::setBlocking(bool $blocking): void

Shall set blocking mode

Exceptions

Uyarı

Shall throw parallel\Events\Error if loop has timeout set.


Behaviour

  • « parallel\Events::setBlocking
  • parallel\Events::setInput »
  • PHP Manual
  • parallel\Events
  • Behaviour

parallel\Events::setTimeout

(0.9.0)

parallel\Events::setTimeout — Behaviour

Açıklama

By default when events are polled for, blocking will occur (at the PHP level) until the first event can be returned: Setting the timeout causes an exception to be thrown when the timeout is reached.

This differs from setting blocking mode to false with parallel\Events::setBlocking(), which will not cause an exception to be thrown.

public parallel\Events::setTimeout(int $timeout): void

Shall set the timeout in microseconds

Exceptions

Uyarı

Shall throw parallel\Events\Error if loop is non-blocking.


Input

  • « parallel\Events::setTimeout
  • parallel\Events::addChannel »
  • PHP Manual
  • parallel\Events
  • Input

parallel\Events::setInput

(0.9.0)

parallel\Events::setInput — Input

Açıklama

public parallel\Events::setInput(Input $input): void

Shall set input for this event loop


Targets

  • « parallel\Events::setInput
  • parallel\Events::addFuture »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::addChannel

(0.9.0)

parallel\Events::addChannel — Targets

Açıklama

public parallel\Events::addChannel(parallel\Channel $channel): void

Shall watch for events on the given channel

Exceptions

Uyarı

Shall throw parallel\Events\Error\Existence if channel was already added.


Targets

  • « parallel\Events::addChannel
  • parallel\Events::remove »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::addFuture

(0.9.0)

parallel\Events::addFuture — Targets

Açıklama

public parallel\Events::addFuture(string $name, parallel\Future $future): void

Shall watch for events on the given future

Exceptions

Uyarı

Shall throw parallel\Events\Error\Existence if target with the given name was already added.


Targets

  • « parallel\Events::addFuture
  • parallel\Events::poll »
  • PHP Manual
  • parallel\Events
  • Targets

parallel\Events::remove

(0.9.0)

parallel\Events::remove — Targets

Açıklama

public parallel\Events::remove(string $target): void

Shall remove the given target

Exceptions

Uyarı

Shall throw parallel\Events\Error\Existence if target with the given name was not found.


Polling

  • « parallel\Events::remove
  • parallel\Events\Input »
  • PHP Manual
  • parallel\Events
  • Polling

parallel\Events::poll

(0.9.0)

parallel\Events::poll — Polling

Açıklama

public parallel\Events::poll(): ?parallel\Events\Event

Shall poll for the next event

Dönen Değerler

Should there be no targets remaining, null shall be returned

Should this be a non-blocking loop, and blocking would occur, null shall be returned

Otherwise, the parallel\Events\Event returned describes the event.

Exceptions

Uyarı

Shall throw parallel\Events\Error\Timeout if timeout is used and reached.


The parallel\Events\Input class

(0.9.0)

Events Input

An Input object is a container for data that the parallel\Events object will write to parallel\Channel objects as they become available. Multiple event loops may share an Input container - parallel does not verify the contents of the container when it is set as the input for a parallel\Events object.

Bilginize:

When a parallel\Events object performs a write, the target is removed from the input object as if parallel\Events\Input::remove() were called.

Sınıf Sözdizimi

final class parallel\Events\Input {
public add(string $target, mixed $value): void
public remove(string $target): void
public clear(): void
}

İçindekiler

  • parallel\Events\Input::add — Inputs
  • parallel\Events\Input::clear — Inputs
  • parallel\Events\Input::remove — Inputs


Inputs

  • « parallel\Events\Input
  • parallel\Events\Input::clear »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::add

(0.9.0)

parallel\Events\Input::add — Inputs

Açıklama

public parallel\Events\Input::add(string $target, mixed $value): void

Shall set input for the given target

Exceptions

Uyarı

Shall throw parallel\Events\Input\Error\Existence if input for target already exists.

Uyarı

Shall throw parallel\Events\Input\Error\IllegalValue if value is illegal (object, null).


Inputs

  • « parallel\Events\Input::add
  • parallel\Events\Input::remove »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::clear

(0.9.0)

parallel\Events\Input::clear — Inputs

Açıklama

public parallel\Events\Input::clear(): void

Shall remove input for all targets


Inputs

  • « parallel\Events\Input::clear
  • parallel\Events\Event »
  • PHP Manual
  • parallel\Events\Input
  • Inputs

parallel\Events\Input::remove

(0.9.0)

parallel\Events\Input::remove — Inputs

Açıklama

public parallel\Events\Input::remove(string $target): void

Shall remove input for the given target

Exceptions

Uyarı

Shall throw parallel\Events\Input\Error\Existence if input for target does not exist.


The parallel\Events\Event class

(0.9.0)

Event Objects

When an Event is returned, Event::$object shall be removed from the loop that returned it, should the event be a write event the Input for Event::$source shall also be removed.

Sınıf Sözdizimi

final class parallel\Events\Event {
/* Shall be one of Event\Type constants */
public int $type;
/* Shall be the source of the event (target name) */
public string $source;
/* Shall be either Future or Channel */
public object $object;
/* Shall be set for Read/Error events */
public $value;
}


The parallel\Events\Event\Type class

(0.9.0)

Sınıf Sözdizimi

final class parallel\Events\Event\Type {
/* Event::$object was read into Event::$value */
const Read;
/* Input for Event::$source written to Event::$object */
const Write;
/* Event::$object (Channel) was closed */
const Close;
/* Event::$object (Future) was cancelled */
const Cancel;
/* Runtime executing Event::$object (Future) was killed */
const Kill;
/* Event::$object (Future) raised error */
const Error;
}


The parallel\Sync class

(1.1.0)

Low Level Synchronization

The parallel\Sync class provides access to low level synchronization primitives, mutex, condition variables, and allows the implementation of semaphores.

Synchronization for most applications is much better implemented using channels, however, in some cases authors of low level code may find it useful to be able to access these lower level mechanisms.

Sınıf Sözdizimi

final class parallel\Sync {
/* Constructor */
public __construct()
public __construct(scalar $value)
/* Access */
public get(): scalar
public set(scalar $value)
/* Synchronization */
public wait()
public notify(bool $all = ?)
public __invoke(callable $critical)
}

İçindekiler

  • parallel\Sync::__construct — Construction
  • parallel\Sync::get — Access
  • parallel\Sync::set — Access
  • parallel\Sync::wait — Synchronization
  • parallel\Sync::notify — Synchronization
  • parallel\Sync::__invoke — Synchronization


Construction

  • « parallel\Sync
  • parallel\Sync::get »
  • PHP Manual
  • parallel\Sync
  • Construction

parallel\Sync::__construct

(1.1.0)

parallel\Sync::__construct — Construction

Açıklama

public parallel\Sync::__construct()

Shall construct a new synchronization object with no value

public parallel\Sync::__construct(scalar $value)

Shall construct a new synchronization object containing the given scalar value

Exceptions

Uyarı

Shall throw parallel\Sync\Error\IllegalValue if value is non-scalar.


Access

  • « parallel\Sync::__construct
  • parallel\Sync::set »
  • PHP Manual
  • parallel\Sync
  • Access

parallel\Sync::get

(1.1.0)

parallel\Sync::get — Access

Açıklama

public parallel\Sync::get(): scalar

Shall atomically return the synchronization objects value


Access

  • « parallel\Sync::get
  • parallel\Sync::wait »
  • PHP Manual
  • parallel\Sync
  • Access

parallel\Sync::set

(1.1.0)

parallel\Sync::set — Access

Açıklama

public parallel\Sync::set(scalar $value)

Shall atomically set the value of the synchronization object

Exceptions

Uyarı

Shall throw parallel\Sync\Error\IllegalValue if value is non-scalar.


Synchronization

  • « parallel\Sync::set
  • parallel\Sync::notify »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::wait

(1.1.0)

parallel\Sync::wait — Synchronization

Açıklama

public parallel\Sync::wait()

Shall wait for notification on this synchronization object


Synchronization

  • « parallel\Sync::wait
  • parallel\Sync::__invoke »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::notify

(1.1.0)

parallel\Sync::notify — Synchronization

Açıklama

public parallel\Sync::notify(bool $all = ?)

Shall notify one (by default) or all threads waiting on the synchronization object


Synchronization

  • « parallel\Sync::notify
  • pthreads »
  • PHP Manual
  • parallel\Sync
  • Synchronization

parallel\Sync::__invoke

(1.1.0)

parallel\Sync::__invoke — Synchronization

Açıklama

public parallel\Sync::__invoke(callable $critical)

Shall exclusively enter into the critical code


pthreads

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Threaded — The Threaded class
    • Threaded::chunk — Manipulation
    • Threaded::count — Manipulation
    • Threaded::extend — Runtime Manipulation
    • Threaded::isRunning — State Detection
    • Threaded::isTerminated — State Detection
    • Threaded::merge — Manipulation
    • Threaded::notify — Synchronization
    • Threaded::notifyOne — Synchronization
    • Threaded::pop — Manipulation
    • Threaded::run — Execution
    • Threaded::shift — Manipulation
    • Threaded::synchronized — Synchronization
    • Threaded::wait — Synchronization
  • Thread — The Thread class
    • Thread::getCreatorId — Identification
    • Thread::getCurrentThread — Identification
    • Thread::getCurrentThreadId — Identification
    • Thread::getThreadId — Identification
    • Thread::isJoined — State Detection
    • Thread::isStarted — State Detection
    • Thread::join — Synchronization
    • Thread::start — Execution
  • Worker — The Worker class
    • Worker::collect — Collect references to completed tasks
    • Worker::getStacked — Gets the remaining stack size
    • Worker::isShutdown — State Detection
    • Worker::shutdown — Shutdown the worker
    • Worker::stack — Stacking work
    • Worker::unstack — Unstacking work
  • Collectable — The Collectable interface
    • Collectable::isGarbage — Determine whether an object has been marked as garbage
  • Pool — The Pool class
    • Pool::collect — Collect references to completed tasks
    • Pool::__construct — Creates a new Pool of Workers
    • Pool::resize — Resize the Pool
    • Pool::shutdown — Shutdown all workers
    • Pool::submit — Submits an object for execution
    • Pool::submitTo — Submits a task to a specific worker for execution
  • Volatile — The Volatile class


Giriş

pthreads is an object-orientated API that provides all of the tools needed for multi-threading in PHP. PHP applications can create, read, write, execute and synchronize with Threads, Workers and Threaded objects.

Uyarı

This extension is considered unmaintained and dead.

İpucu

Consider using parallel instead.

Uyarı

The pthreads extension cannot be used in a web server environment. Threading in PHP is therefore restricted to CLI-based applications only.

Uyarı

pthreads (v3) can only be used with PHP 7.2+: This is due to ZTS mode being unsafe in 7.0 and 7.1.

The Threaded class forms the basis of the functionality that allows pthreads to operate. It exposes synchronization methods and some useful interfaces for the programmer.

The Thread class enables for threads to be created by simply extending it and implementing a run method. Any members can be written to and read by any context with a reference to the thread. Any context can also execute any public and protected methods. The body of the run method will be executed in a separate thread when the Thread::start() method of the implementation is called from the context that created it. Only the context that creates a thread can start and join it.

The Worker class has a persistent state, and will be available from the call to Thread::start() (an inherited method) until the object goes out of scope, or is explicitly shutdown (via Worker::shutdown()). Any context with a reference to the worker object can stack tasks onto the Worker (via Worker::stack()), where these tasks will be executed by the worker in a separate thread. The run method of a worker object will be executed before any objects on the worker's stack, enabling for resources to be initialized that the objects to be executed may need.

The Pool class is used to create a group of workers to distribute Threaded objects amongst them. It is the easiest and most efficient way of using multiple threads in PHP applications.

Dikkat

The Pool class does not extend the Threaded class, and so pool-based objects are considered a normal PHP objects. As such, its instances of it should not be shared amongst different contexts.

The Volatile class is new to pthreads v3. It is used to denote mutable Threaded properties of Threaded classes (since these are now immutable by default). It is also used to store PHP arrays in Threaded contexts.

Synchronization is an important ability when threading. All of the objects that pthreads creates have built in synchronization in the (which will be familiar to java programmers) form of Threaded::wait() and Threaded::notify(). Calling Threaded::wait() on an object will cause the context to wait for another context to call Threaded::notify() on the same object. This mechanism allows for powerful synchronization between Threaded objects in PHP.

Dikkat

Any objects that are intended for use in the multi-threaded parts of your application should extend Threaded.

Data Storage: As a rule of thumb, any data type that can be serialized can be used as a member of a Threaded object, it can be read and written from any context with a reference to the Threaded Object. Not every type of data is stored serially, basic types are stored in their true form. Complex types, Arrays, and Objects that are not Threaded are stored serially; they can be read and written to the Threaded Object from any context with a reference. With the exception of Threaded Objects any reference used to set a member of a Threaded Object is separated from the reference in the Threaded Object; the same data can be read directly from the Threaded Object at any time by any context with a reference to the Threaded Object.

Static Members: When a new context is created ( Thread or Worker ), they are generally copied, but resources and objects with internal state are nullified (for safety reasons). This allows them to function as a kind of thread local storage. For example, upon starting the context, a class whose static members include connection information for a database server, and the connection itself, will only have the simple connection information copied, not the connection. Allowing the new context to initiate a connection in the same way as the context that created it, storing the connection in the same place without affecting the original context.

Dikkat

When print_r, var_dump and other object debug functions are executed, they do not include recursion protection.

Bilginize:

Resources: The extensions and functionality that define resources in PHP are completely unprepared for this kind of environment; pthreads makes provisions for Resources to be shared among contexts, however, for most types of resource it should be considered unsafe. Extreme caution and care should be used when sharing resources among contexts.

Dikkat

In the environment which pthreads executes, some restrictions and limitations are necessary in order to provide a stable environment.


Gereksinimler

pthreads requires a build of PHP with ZTS (Zend Thread Safety) enabled (--enable-zts, or on non-Windows systems prior to PHP 8.0.0, --enable-maintainer-zts)

Dikkat

Zend Thread Safety cannot be enabled post build; it is a build time configuration option.

pthreads should build anywhere there is a working Posix Threads header (pthread.h) and ZTS build of PHP, including Windows (using the pthread-w32 project from redhat).


Kurulum

pthreads releases are hosted by PECL and the source code by » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/pthreads.

Windows users can download prebuilt release binaries from the » PECL website.

Dikkat

Windows users need to take the additional step of adding pthreadVC2.dll (distributed with Windows releases) to their PATH.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PTHREADS_INHERIT_ALL (int)
The default options for all Threads, causes pthreads to copy the environment when new Threads are started
PTHREADS_INHERIT_NONE (int)
Do not inherit anything when new Threads are started
PTHREADS_INHERIT_INI (int)
Inherit INI entries when new Threads are started
PTHREADS_INHERIT_CONSTANTS (int)
Inherit user declared constants when new Threads are started
PTHREADS_INHERIT_CLASSES (int)
Inherit user declared classes when new Threads are started
PTHREADS_INHERIT_FUNCTIONS (int)
Inherit user declared functions when new Threads are started
PTHREADS_INHERIT_INCLUDES (int)
Inherit included file information when new Threads are started
PTHREADS_INHERIT_COMMENTS (int)
Inherit all comments when new Threads are started
PTHREADS_ALLOW_HEADERS (int)
Allow new Threads to send headers to standard output (normally prohibited)


The Threaded class

(PECL pthreads >= 2.0.0)

Giriş

Threaded objects form the basis of pthreads ability to execute user code in parallel; they expose synchronization methods and various useful interfaces.

Threaded objects, most importantly, provide implicit safety for the programmer; all operations on the object scope are safe.

Sınıf Sözdizimi

class Threaded implements Collectable, Traversable, Countable, ArrayAccess {
/* Yöntemler */
public chunk(int $size, bool $preserve): array
public count(): int
public extend(string $class): bool
public isRunning(): bool
public isTerminated(): bool
public merge(mixed $from, bool $overwrite = ?): bool
public notify(): bool
public notifyOne(): bool
public pop(): bool
public run(): void
public shift(): mixed
public synchronized(Closure $block, mixed ...$args): mixed
public wait(int $timeout = ?): bool
}

İçindekiler

  • Threaded::chunk — Manipulation
  • Threaded::count — Manipulation
  • Threaded::extend — Runtime Manipulation
  • Threaded::isRunning — State Detection
  • Threaded::isTerminated — State Detection
  • Threaded::merge — Manipulation
  • Threaded::notify — Synchronization
  • Threaded::notifyOne — Synchronization
  • Threaded::pop — Manipulation
  • Threaded::run — Execution
  • Threaded::shift — Manipulation
  • Threaded::synchronized — Synchronization
  • Threaded::wait — Synchronization


Manipulation

  • « Threaded
  • Threaded::count »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::chunk

(PECL pthreads >= 2.0.0)

Threaded::chunk — Manipulation

Açıklama

public Threaded::chunk(int $size, bool $preserve): array

Fetches a chunk of the objects property table of the given size, optionally preserving keys

Bağımsız Değişkenler

size

The number of items to fetch

preserve

Preserve the keys of members, by default false

Dönen Değerler

An array of items from the objects property table

Örnekler

Örnek 1 Fetch a chunk of the property table

<?php
$safe = new Threaded();

while (count($safe) < 10) {
$safe[] = count($safe);
}

var_dump($safe->chunk(5));
?>

Yukarıdaki örneğin çıktısı:

array(5) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(2)
  [3]=>
  int(3)
  [4]=>
  int(4)
}


Manipulation

  • « Threaded::chunk
  • Threaded::extend »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::count

(PECL pthreads >= 2.0.0)

Threaded::count — Manipulation

Açıklama

public Threaded::count(): int

Returns the number of properties for this object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Counting the properties of an object

<?php
$safe = new Threaded();

while (count($safe) < 10) {
$safe[] = count($safe);
}

var_dump(count($safe));
?>

Yukarıdaki örneğin çıktısı:

int(10)


Runtime Manipulation

  • « Threaded::count
  • Threaded::isRunning »
  • PHP Manual
  • Threaded
  • Runtime Manipulation

Threaded::extend

(PECL pthreads >= 2.0.8)

Threaded::extend — Runtime Manipulation

Açıklama

public Threaded::extend(string $class): bool

Makes thread safe standard class at runtime

Bağımsız Değişkenler

class

The class to extend

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Runtime inheritance

<?php
class My {}

Threaded::extend(My::class);

$my = new My();

var_dump($my instanceof Threaded);
?>

Yukarıdaki örneğin çıktısı:

bool(true)


State Detection

  • « Threaded::extend
  • Threaded::isTerminated »
  • PHP Manual
  • Threaded
  • State Detection

Threaded::isRunning

(PECL pthreads >= 2.0.0)

Threaded::isRunning — State Detection

Açıklama

public Threaded::isRunning(): bool

Tell if the referenced object is executing

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A boolean indication of state

Bilginize:

A object is considered running while executing the run method

Örnekler

Örnek 1 Detect the state of the referenced object

<?php
class My extends Thread {
public function run() {
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
var_dump($my->isRunning());
$my->synchronized(function($thread){
$thread->done = true;
$thread->notify();
}, $my);
?>

Yukarıdaki örneğin çıktısı:

bool(true)


State Detection

  • « Threaded::isRunning
  • Threaded::merge »
  • PHP Manual
  • Threaded
  • State Detection

Threaded::isTerminated

(PECL pthreads >= 2.0.0)

Threaded::isTerminated — State Detection

Açıklama

public Threaded::isTerminated(): bool

Tell if the referenced object was terminated during execution; suffered fatal errors, or threw uncaught exceptions

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A boolean indication of state

Örnekler

Örnek 1 Detect the state of the referenced object

<?php
class My extends Thread {
public function run() {
i_do_not_exist();
}
}
$my = new My();
$my->start();
$my->join();
var_dump($my->isTerminated());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Manipulation

  • « Threaded::isTerminated
  • Threaded::notify »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::merge

(PECL pthreads >= 2.0.0)

Threaded::merge — Manipulation

Açıklama

public Threaded::merge(mixed $from, bool $overwrite = ?): bool

Merges data into the current object

Bağımsız Değişkenler

from

The data to merge

overwrite

Overwrite existing keys, by default true

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Merging into the property table of a threaded object

<?php
$array = [];

while (count($array) < 10)
$array[] = count($array);

$stdClass = new stdClass();
$stdClass->foo = "foo";
$stdClass->bar = "bar";
$stdClass->baz = "baz";

$safe = new Threaded();
$safe->merge($array);

$safe->foo = "bar";
$safe->merge($stdClass, false);

var_dump($safe);
?>

Yukarıdaki örneğin çıktısı:

object(Threaded)#2 (13) {
  ["0"]=>
  int(0)
  ["1"]=>
  int(1)
  ["2"]=>
  int(2)
  ["3"]=>
  int(3)
  ["4"]=>
  int(4)
  ["5"]=>
  int(5)
  ["6"]=>
  int(6)
  ["7"]=>
  int(7)
  ["8"]=>
  int(8)
  ["9"]=>
  int(9)
  ["foo"]=>
  string(3) "bar"
  ["bar"]=>
  string(3) "bar"
  ["baz"]=>
  string(3) "baz"
}


Synchronization

  • « Threaded::merge
  • Threaded::notifyOne »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::notify

(PECL pthreads >= 2.0.0)

Threaded::notify — Synchronization

Açıklama

public Threaded::notify(): bool

Send notification to the referenced object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Notifications and Waiting

<?php
class My extends Thread {
public function run() {
/** cause this thread to wait **/
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
$thread->done = true;
$thread->notify();
}, $my);
var_dump($my->join());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Synchronization

  • « Threaded::notify
  • Threaded::pop »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::notifyOne

(PECL pthreads >= 3.0.0)

Threaded::notifyOne — Synchronization

Açıklama

public Threaded::notifyOne(): bool

Send notification to the referenced object. This unblocks at least one of the blocked threads (as opposed to unblocking all of them, as seen with Threaded::notify()).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Notifications and Waiting

<?php
class My extends Thread {
public function run() {
/** cause this thread to wait **/
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
$thread->done = true;
$thread->notifyOne();
}, $my);
var_dump($my->join());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Manipulation

  • « Threaded::notifyOne
  • Threaded::run »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::pop

(PECL pthreads >= 2.0.0)

Threaded::pop — Manipulation

Açıklama

public Threaded::pop(): bool

Pops an item from the objects property table

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last item from the objects property table

Örnekler

Örnek 1 Popping the last item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
$safe[] = count($safe);

var_dump($safe->pop());
?>

Yukarıdaki örneğin çıktısı:

int(9)


Execution

  • « Threaded::pop
  • Threaded::shift »
  • PHP Manual
  • Threaded
  • Execution

Threaded::run

(PECL pthreads >= 2.0.0)

Threaded::run — Execution

Açıklama

public Threaded::run(): void

The programmer should always implement the run method for objects that are intended for execution.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The methods return value, if used, will be ignored


Manipulation

  • « Threaded::run
  • Threaded::synchronized »
  • PHP Manual
  • Threaded
  • Manipulation

Threaded::shift

(PECL pthreads >= 2.0.0)

Threaded::shift — Manipulation

Açıklama

public Threaded::shift(): mixed

Shifts an item from the objects property table

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first item from the objects property table

Örnekler

Örnek 1 Shifting the first item from the property table of a threaded object

<?php
$safe = new Threaded();

while (count($safe) < 10)
$safe[] = count($safe);

var_dump($safe->shift());
?>

Yukarıdaki örneğin çıktısı:

int(0)


Synchronization

  • « Threaded::shift
  • Threaded::wait »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::synchronized

(PECL pthreads >= 2.0.0)

Threaded::synchronized — Synchronization

Açıklama

public Threaded::synchronized(Closure $block, mixed ...$args): mixed

Executes the block while retaining the referenced objects synchronization lock for the calling context

Bağımsız Değişkenler

block

The block of code to execute

args

Variable length list of arguments to use as function arguments to the block

Dönen Değerler

The return value from the block

Örnekler

Örnek 1 Synchronizing

<?php
class My extends Thread {
public function run() {
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
$my->synchronized(function($thread){
$thread->done = true;
$thread->notify();
}, $my);
var_dump($my->join());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Synchronization

  • « Threaded::synchronized
  • Thread »
  • PHP Manual
  • Threaded
  • Synchronization

Threaded::wait

(PECL pthreads >= 2.0.0)

Threaded::wait — Synchronization

Açıklama

public Threaded::wait(int $timeout = ?): bool

Will cause the calling context to wait for notification from the referenced object

Bağımsız Değişkenler

timeout

An optional timeout in microseconds

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Notifications and Waiting

<?php
class My extends Thread {
public function run() {
/** cause this thread to wait **/
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
/** send notification to the waiting thread **/
$my->synchronized(function($thread){
$thread->done = true;
$thread->notify();
}, $my);
var_dump($my->join());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


The Thread class

(PECL pthreads >= 2.0.0)

Giriş

When the start method of a Thread is invoked, the run method code will be executed in separate Thread, in parallel.

After the run method is executed the Thread will exit immediately, it will be joined with the creating Thread at the appropriate time.

Uyarı

Relying on the engine to determine when a Thread should join may cause undesirable behaviour; the programmer should be explicit, where possible.

Sınıf Sözdizimi

class Thread extends Threaded implements Countable, Traversable, ArrayAccess {
/* Yöntemler */
public getCreatorId(): int
public static getCurrentThread(): Thread
public static getCurrentThreadId(): int
public getThreadId(): int
public isJoined(): bool
public isStarted(): bool
public join(): bool
public start(int $options = ?): bool
/* Miras alınan yöntemler */
public Threaded::chunk(int $size, bool $preserve): array
public Threaded::count(): int
public Threaded::extend(string $class): bool
public Threaded::isRunning(): bool
public Threaded::isTerminated(): bool
public Threaded::merge(mixed $from, bool $overwrite = ?): bool
public Threaded::notify(): bool
public Threaded::notifyOne(): bool
public Threaded::pop(): bool
public Threaded::run(): void
public Threaded::shift(): mixed
public Threaded::synchronized(Closure $block, mixed ...$args): mixed
public Threaded::wait(int $timeout = ?): bool
}

İçindekiler

  • Thread::getCreatorId — Identification
  • Thread::getCurrentThread — Identification
  • Thread::getCurrentThreadId — Identification
  • Thread::getThreadId — Identification
  • Thread::isJoined — State Detection
  • Thread::isStarted — State Detection
  • Thread::join — Synchronization
  • Thread::start — Execution


Identification

  • « Thread
  • Thread::getCurrentThread »
  • PHP Manual
  • Thread
  • Identification

Thread::getCreatorId

(PECL pthreads >= 2.0.0)

Thread::getCreatorId — Identification

Açıklama

public Thread::getCreatorId(): int

Will return the identity of the Thread that created the referenced Thread

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numeric identity

Örnekler

Örnek 1 Return the identity of the Thread or Process that created the referenced Thread

<?php
class My extends Thread {
public function run() {
printf("%s created by Thread #%lu\n", __CLASS__, $this->getCreatorId());
}
}
$my = new My();
$my->start();
?>

Yukarıdaki örneğin çıktısı:

My created by Thread #123456778899


Identification

  • « Thread::getCreatorId
  • Thread::getCurrentThreadId »
  • PHP Manual
  • Thread
  • Identification

Thread::getCurrentThread

(PECL pthreads >= 2.0.0)

Thread::getCurrentThread — Identification

Açıklama

public static Thread::getCurrentThread(): Thread

Return a reference to the currently executing Thread

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An object representing the currently executing Thread

Örnekler

Örnek 1 Return the currently executing Thread

<?php
class My extends Thread {
public function run() {
var_dump(Thread::getCurrentThread());
}
}
$my = new My();
$my->start();
?>

Yukarıdaki örneğin çıktısı:

object(My)#2 (0) {
}


Identification

  • « Thread::getCurrentThread
  • Thread::getThreadId »
  • PHP Manual
  • Thread
  • Identification

Thread::getCurrentThreadId

(PECL pthreads >= 2.0.0)

Thread::getCurrentThreadId — Identification

Açıklama

public static Thread::getCurrentThreadId(): int

Will return the identity of the currently executing Thread

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numeric identity

Örnekler

Örnek 1 Return the identity of the currently executing Thread

<?php
class My extends Thread {
public function run() {
printf("%s is Thread #%lu\n", __CLASS__, Thread::getCurrentThreadId());
}
}
$my = new My();
$my->start();
?>

Yukarıdaki örneğin çıktısı:

My is Thread #123456778899


Identification

  • « Thread::getCurrentThreadId
  • Thread::isJoined »
  • PHP Manual
  • Thread
  • Identification

Thread::getThreadId

(PECL pthreads >= 2.0.0)

Thread::getThreadId — Identification

Açıklama

public Thread::getThreadId(): int

Will return the identity of the referenced Thread

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numeric identity

Örnekler

Örnek 1 Return the identity of the referenced Thread

<?php
class My extends Thread {
public function run() {
printf("%s is Thread #%lu\n", __CLASS__, $this->getThreadId());
}
}
$my = new My();
$my->start();
?>

Yukarıdaki örneğin çıktısı:

My is Thread #123456778899


State Detection

  • « Thread::getThreadId
  • Thread::isStarted »
  • PHP Manual
  • Thread
  • State Detection

Thread::isJoined

(PECL pthreads >= 2.0.0)

Thread::isJoined — State Detection

Açıklama

public Thread::isJoined(): bool

Tell if the referenced Thread has been joined

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Detect the state of the referenced Thread

<?php
class My extends Thread {
public function run() {
$this->synchronized(function($thread){
if (!$thread->done)
$thread->wait();
}, $this);
}
}
$my = new My();
$my->start();
var_dump($my->isJoined());
$my->synchronized(function($thread){
$thread->done = true;
$thread->notify();
}, $my);
?>

Yukarıdaki örneğin çıktısı:

bool(false)


State Detection

  • « Thread::isJoined
  • Thread::join »
  • PHP Manual
  • Thread
  • State Detection

Thread::isStarted

(PECL pthreads >= 2.0.0)

Thread::isStarted — State Detection

Açıklama

public Thread::isStarted(): bool

Tell if the referenced Thread was started

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Tell if the referenced Thread was started

<?php
$worker = new Worker();
$worker->start();
var_dump($worker->isStarted());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Synchronization

  • « Thread::isStarted
  • Thread::start »
  • PHP Manual
  • Thread
  • Synchronization

Thread::join

(PECL pthreads >= 2.0.0)

Thread::join — Synchronization

Açıklama

public Thread::join(): bool

Causes the calling context to wait for the referenced Thread to finish executing

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Join with the referenced Thread

<?php
class My extends Thread {
public function run() {
/* ... */
}
}
$my = new My();
$my->start();
/* ... */
var_dump($my->join());
/* ... */
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Execution

  • « Thread::join
  • Worker »
  • PHP Manual
  • Thread
  • Execution

Thread::start

(PECL pthreads >= 2.0.0)

Thread::start — Execution

Açıklama

public Thread::start(int $options = ?): bool

Will start a new Thread to execute the implemented run method

Bağımsız Değişkenler

options

An optional mask of inheritance constants, by default PTHREADS_INHERIT_ALL

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Starting Threads

<?php
class My extends Thread {
public function run() {
/** ... **/
}
}
$my = new My();
var_dump($my->start());
?>

Yukarıdaki örneğin çıktısı:

bool(true)


The Worker class

(PECL pthreads >= 2.0.0)

Giriş

Worker Threads have a persistent context, as such should be used over Threads in most cases.

When a Worker is started, the run method will be executed, but the Thread will not leave until one of the following conditions are met:

  • the Worker goes out of scope (no more references remain)

  • the programmer calls shutdown

  • the script dies

This means the programmer can reuse the context throughout execution; placing objects on the stack of the Worker will cause the Worker to execute the stacked objects run method.

Sınıf Sözdizimi

class Worker extends Thread implements Traversable, Countable, ArrayAccess {
/* Yöntemler */
public collect(Callable $collector = ?): int
public getStacked(): int
public isShutdown(): bool
public shutdown(): bool
public stack(Threaded &$work): int
public unstack(): int
/* Miras alınan yöntemler */
public Thread::getCreatorId(): int
public static Thread::getCurrentThread(): Thread
public static Thread::getCurrentThreadId(): int
public Thread::getThreadId(): int
public Thread::isJoined(): bool
public Thread::isStarted(): bool
public Thread::join(): bool
public Thread::start(int $options = ?): bool
}

İçindekiler

  • Worker::collect — Collect references to completed tasks
  • Worker::getStacked — Gets the remaining stack size
  • Worker::isShutdown — State Detection
  • Worker::shutdown — Shutdown the worker
  • Worker::stack — Stacking work
  • Worker::unstack — Unstacking work


Collect references to completed tasks

  • « Worker
  • Worker::getStacked »
  • PHP Manual
  • Worker
  • Collect references to completed tasks

Worker::collect

(PECL pthreads >= 3.0.0)

Worker::collect — Collect references to completed tasks

Açıklama

public Worker::collect(Callable $collector = ?): int

Allows the worker to collect references determined to be garbage by the optionally given collector.

Bağımsız Değişkenler

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Dönen Değerler

The number of remaining tasks on the worker's stack to be collected.

Örnekler

Örnek 1 A basic example of Worker::collect()

<?php
$worker = new Worker();

echo "There are currently {$worker->collect()} tasks on the stack to be collected\n";

for ($i = 0; $i < 15; ++$i) {
$worker->stack(new class extends Threaded {});
}

echo "There are {$worker->collect()} tasks remaining on the stack to be collected\n";

$worker->start();

while ($worker->collect()); // blocks until all tasks have finished executing

echo "There are now {$worker->collect()} tasks on the stack to be collected\n";

$worker->shutdown();

Yukarıdaki örneğin çıktısı:

There are currently 0 tasks on the stack to be collected
There are 15 tasks remaining on the stack to be collected
There are now 0 tasks on the stack to be collected


Gets the remaining stack size

  • « Worker::collect
  • Worker::isShutdown »
  • PHP Manual
  • Worker
  • Gets the remaining stack size

Worker::getStacked

(PECL pthreads >= 2.0.0)

Worker::getStacked — Gets the remaining stack size

Açıklama

public Worker::getStacked(): int

Returns the number of tasks left on the stack

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of tasks currently waiting to be executed by the worker

Örnekler

Örnek 1 A basic example of Worker::getStacked

<?php
$worker = new Worker();

for ($i = 0; $i < 5; ++$i) {
$worker->stack(new class extends Threaded {});
}

echo "There are {$worker->getStacked()} stacked tasks\n";

Yukarıdaki örneğin çıktısı:

There are 5 stacked tasks


State Detection

  • « Worker::getStacked
  • Worker::shutdown »
  • PHP Manual
  • Worker
  • State Detection

Worker::isShutdown

(PECL pthreads >= 2.0.0)

Worker::isShutdown — State Detection

Açıklama

public Worker::isShutdown(): bool

Whether the worker has been shutdown or not.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the worker has been shutdown or not.

Örnekler

Örnek 1 Detect the state of a worker

<?php
$worker = new Worker();
$worker->start();

var_dump($worker->isShutdown());

$worker->shutdown();

var_dump($worker->isShutdown());

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)


Shutdown the worker

  • « Worker::isShutdown
  • Worker::stack »
  • PHP Manual
  • Worker
  • Shutdown the worker

Worker::shutdown

(PECL pthreads >= 2.0.0)

Worker::shutdown — Shutdown the worker

Açıklama

public Worker::shutdown(): bool

Shuts down the worker after executing all of the stacked tasks.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Shutdown the referenced worker

<?php
$my = new Worker();
$my->start();
/* stack/execute tasks */
var_dump($my->shutdown());

Yukarıdaki örneğin çıktısı:

bool(true)


Stacking work

  • « Worker::shutdown
  • Worker::unstack »
  • PHP Manual
  • Worker
  • Stacking work

Worker::stack

(PECL pthreads >= 2.0.0)

Worker::stack — Stacking work

Açıklama

public Worker::stack(Threaded &$work): int

Appends the new work to the stack of the referenced worker.

Bağımsız Değişkenler

work

A Threaded object to be executed by the worker.

Dönen Değerler

The new size of the stack.

Örnekler

Örnek 1 Stacking a task for execution onto a worker

<?php
$worker = new Worker();
$work = new class extends Threaded {};

var_dump($worker->stack($work));

Yukarıdaki örneğin çıktısı:

int(1)


Unstacking work

  • « Worker::stack
  • Collectable »
  • PHP Manual
  • Worker
  • Unstacking work

Worker::unstack

(PECL pthreads >= 2.0.0)

Worker::unstack — Unstacking work

Açıklama

public Worker::unstack(): int

Removes the first task (the oldest one) in the stack.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The new size of the stack.

Sürüm Bilgisi

Sürüm: | Açıklama
v3 | The parameter to specify the task to unstack has been removed. Now, only the first task in the stack is removed.

Örnekler

Örnek 1 Removing objects from the stack of Workers

<?php
$my = new Worker();
$work = new class extends Threaded {};

var_dump($my->stack($work));
var_dump($my->unstack());

Yukarıdaki örneğin çıktısı:

int(1)
int(0)


The Collectable interface

(PECL pthreads >= 2.0.8)

Giriş

Represents a garbage-collectable object.

Arayüz Sözdizimi

interface Collectable {
/* Yöntemler */
public isGarbage(): true
}

İçindekiler

  • Collectable::isGarbage — Determine whether an object has been marked as garbage


Determine whether an object has been marked as garbage

  • « Collectable
  • Pool »
  • PHP Manual
  • Collectable
  • Determine whether an object has been marked as garbage

Collectable::isGarbage

(PECL pthreads >= 2.0.8)

Collectable::isGarbage — Determine whether an object has been marked as garbage

Açıklama

public Collectable::isGarbage(): true

Can be called in Pool::collect() to determine if this object is garbage.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • Pool::collect() - Collect references to completed tasks


The Pool class

(PECL pthreads >= 2.0.0)

Giriş

A Pool is a container for, and controller of, an adjustable number of Workers.

Pooling provides a higher level abstraction of the Worker functionality, including the management of references in the way required by pthreads.

Sınıf Sözdizimi

class Pool {
/* Özellikler */
protected $size;
protected $class;
protected $workers;
protected $ctor;
protected $last;
/* Yöntemler */
public __construct(int $size, string $class = ?, array $ctor = ?)
public collect(Callable $collector = ?): int
public resize(int $size): void
public shutdown(): void
public submit(Threaded $task): int
public submitTo(int $worker, Threaded $task): int
}

Özellikler

size

maximum number of Workers this Pool can use

class

the class of the Worker

workers

references to Workers

ctor

the arguments for constructor of new Workers

last

offset in workers of the last Worker used

İçindekiler

  • Pool::collect — Collect references to completed tasks
  • Pool::__construct — Creates a new Pool of Workers
  • Pool::resize — Resize the Pool
  • Pool::shutdown — Shutdown all workers
  • Pool::submit — Submits an object for execution
  • Pool::submitTo — Submits a task to a specific worker for execution


Collect references to completed tasks

  • « Pool
  • Pool::__construct »
  • PHP Manual
  • Pool
  • Collect references to completed tasks

Pool::collect

(PECL pthreads >= 2.0.0)

Pool::collect — Collect references to completed tasks

Açıklama

public Pool::collect(Callable $collector = ?): int

Allows the pool to collect references determined to be garbage by the optionally given collector.

Bağımsız Değişkenler

collector

A Callable collector that returns a boolean on whether the task can be collected or not. Only in rare cases should a custom collector need to be used.

Dönen Değerler

The number of remaining tasks in the pool to be collected.

Sürüm Bilgisi

Sürüm: | Açıklama
v3 | An integer is now returned, and the collector parameter is now optional.

Örnekler

Örnek 1 A basic example of Pool::collect()

<?php
$pool = new Pool(4);

for ($i = 0; $i < 15; ++$i) {
$pool->submit(new class extends Threaded {});
}

while ($pool->collect()); // blocks until all tasks have finished executing

$pool->shutdown();


Creates a new Pool of Workers

  • « Pool::collect
  • Pool::resize »
  • PHP Manual
  • Pool
  • Creates a new Pool of Workers

Pool::__construct

(PECL pthreads >= 2.0.0)

Pool::__construct — Creates a new Pool of Workers

Açıklama

public Pool::__construct(int $size, string $class = ?, array $ctor = ?)

Construct a new pool of workers. Pools lazily create their threads, which means new threads will only be spawned when they are required to execute tasks.

Bağımsız Değişkenler

size

The maximum number of workers for this pool to create

class

The class for new Workers. If no class is given, then it defaults to the Worker class.

ctor

An array of arguments to be passed to new workers' constructors

Örnekler

Örnek 1 Creating Pools

<?php
class MyWorker extends Worker {

public function __construct(Something $something) {
$this->something = $something;
}

public function run() {
/** ... **/
}
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);

var_dump($pool);
?>

Yukarıdaki örneğin çıktısı:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  NULL
  ["work":protected]=>
  NULL
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(0)
}


Resize the Pool

  • « Pool::__construct
  • Pool::shutdown »
  • PHP Manual
  • Pool
  • Resize the Pool

Pool::resize

(PECL pthreads >= 2.0.0)

Pool::resize — Resize the Pool

Açıklama

public Pool::resize(int $size): void

Resize the Pool

Bağımsız Değişkenler

size

The maximum number of Workers this Pool can create

Dönen Değerler

Hiçbir değer dönmez.


Shutdown all workers

  • « Pool::resize
  • Pool::submit »
  • PHP Manual
  • Pool
  • Shutdown all workers

Pool::shutdown

(PECL pthreads >= 2.0.0)

Pool::shutdown — Shutdown all workers

Açıklama

public Pool::shutdown(): void

Shuts down all of the workers in the pool. This will block until all submitted tasks have been executed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Shutting down a pool

<?php
class Task extends Threaded
{
public function run()
{
usleep(500000);
}
}

$pool = new Pool(4);

for ($i = 0; $i < 10; ++$i) {
$pool->submit(new Task());
}

$pool->shutdown(); // blocks until all submitted tasks have finished executing


Submits an object for execution

  • « Pool::shutdown
  • Pool::submitTo »
  • PHP Manual
  • Pool
  • Submits an object for execution

Pool::submit

(PECL pthreads >= 2.0.0)

Pool::submit — Submits an object for execution

Açıklama

public Pool::submit(Threaded $task): int

Submit the task to the next Worker in the Pool

Bağımsız Değişkenler

task

The task for execution

Dönen Değerler

the identifier of the Worker executing the object

Örnekler

Örnek 1 Submitting Tasks

<?php
class MyWork extends Threaded {

public function run() {
/* ... */
}
}

class MyWorker extends Worker {

public function __construct(Something $something) {
$this->something = $something;
}

public function run() {
/** ... **/
}
}

$pool = new Pool(8, \MyWorker::class, [new Something()]);
$pool->submit(new MyWork());
var_dump($pool);
?>

Yukarıdaki örneğin çıktısı:

object(Pool)#1 (6) {
  ["size":protected]=>
  int(8)
  ["class":protected]=>
  string(8) "MyWorker"
  ["workers":protected]=>
  array(1) {
    [0]=>
    object(MyWorker)#4 (1) {
      ["something"]=>
      object(Something)#5 (0) {
      }
    }
  }
  ["work":protected]=>
  array(1) {
    [0]=>
    object(MyWork)#3 (1) {
      ["worker"]=>
      object(MyWorker)#5 (1) {
        ["something"]=>
        object(Something)#6 (0) {
        }
      }
    }
  }
  ["ctor":protected]=>
  array(1) {
    [0]=>
    object(Something)#2 (0) {
    }
  }
  ["last":protected]=>
  int(1)
}


Submits a task to a specific worker for execution

  • « Pool::submit
  • Volatile »
  • PHP Manual
  • Pool
  • Submits a task to a specific worker for execution

Pool::submitTo

(PECL pthreads >= 2.0.0)

Pool::submitTo — Submits a task to a specific worker for execution

Açıklama

public Pool::submitTo(int $worker, Threaded $task): int

Submit a task to the specified worker in the pool. The workers are indexed from 0, and will only exist if the pool has needed to create them (since threads are lazily spawned).

Bağımsız Değişkenler

worker

The worker to stack the task onto, indexed from 0.

task

The task for execution.

Dönen Değerler

The identifier of the worker that accepted the task.

Örnekler

Örnek 1 Submitting tasks to a specific worker

<?php
class Task extends Threaded {
public function run() {
var_dump(Thread::getCurrentThreadID());
}
}

$pool = new Pool(2);

$pool->submit(new Task());

for ($i = 0; $i < 5; ++$i) {
$pool->submitTo(0, new Task()); // stack all tasks onto the first worker
}

$pool->submitTo(1, new Task()); // cannot stack the task onto the second worker due to it not existing yet

$pool->shutdown();

Yukarıdaki örneğin çıktısı:

int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)
int(4475011072)

Fatal error: Uncaught Exception: The selected worker (1) does not exist in %s:%d


The Volatile class

(PECL pthreads >= 3.0.0)

Giriş

The Volatile class is new to pthreads v3. Its introduction is a consequence of the new immutability semantics of Threaded members of Threaded classes. The Volatile class enables for mutability of its Threaded members, and is also used to store PHP arrays in Threaded contexts.

Sınıf Sözdizimi

class Volatile extends Threaded implements Collectable, Traversable {
/* Miras alınan yöntemler */
public Threaded::chunk(int $size, bool $preserve): array
public Threaded::count(): int
public Threaded::extend(string $class): bool
public Threaded::isRunning(): bool
public Threaded::isTerminated(): bool
public Threaded::merge(mixed $from, bool $overwrite = ?): bool
public Threaded::notify(): bool
public Threaded::notifyOne(): bool
public Threaded::pop(): bool
public Threaded::run(): void
public Threaded::shift(): mixed
public Threaded::synchronized(Closure $block, mixed ...$args): mixed
public Threaded::wait(int $timeout = ?): bool
}

Örnekler

Örnek 1 New immutability semantics of Threaded

<?php

class Task extends Threaded
{
public function __construct()
{
$this->data = new Threaded();

// attempt to overwrite a Threaded property of a Threaded class (invalid)
$this->data = new stdClass();
}
}

var_dump((new Task())->data);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

RuntimeException: Threaded members previously set to Threaded objects are immutable, cannot overwrite data in %s:%d

Örnek 2 Volatile use-case

<?php

class Task extends Volatile
{
public function __construct()
{
$this->data = new Threaded();

// attempt to overwrite a Threaded property of a Volatile class (valid)
$this->data = new stdClass();
}
}

var_dump((new Task())->data);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#3 (0) {
}


Semaphore, Shared Memory and IPC

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Semaphore İşlevleri
    • ftok — Convert a pathname and a project identifier to a System V IPC key
    • msg_get_queue — Create or attach to a message queue
    • msg_queue_exists — Check whether a message queue exists
    • msg_receive — Receive a message from a message queue
    • msg_remove_queue — Destroy a message queue
    • msg_send — Send a message to a message queue
    • msg_set_queue — Set information in the message queue data structure
    • msg_stat_queue — Returns information from the message queue data structure
    • sem_acquire — Acquire a semaphore
    • sem_get — Get a semaphore id
    • sem_release — Release a semaphore
    • sem_remove — Remove a semaphore
    • shm_attach — Creates or open a shared memory segment
    • shm_detach — Disconnects from shared memory segment
    • shm_get_var — Returns a variable from shared memory
    • shm_has_var — Check whether a specific entry exists
    • shm_put_var — Inserts or updates a variable in shared memory
    • shm_remove_var — Removes a variable from shared memory
    • shm_remove — Removes shared memory from Unix systems
  • SysvMessageQueue — The SysvMessageQueue class
  • SysvSemaphore — The SysvSemaphore class
  • SysvSharedMemory — The SysvSharedMemory class


Giriş

These modules provide wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).

Semaphores may be used to provide exclusive access to resources on the current machine, or to limit the number of processes that may simultaneously use a resource.

This module provides also shared memory functions using System V shared memory. Shared memory may be used to provide access to global variables. Different httpd-daemons and even other programs (such as Perl, C, ...) are able to access this data to provide a global data-exchange. Remember, that shared memory is NOT safe against simultaneous access. Use semaphores for synchronization.

Limits of Shared Memory by the Unix OS
SHMMAX | max size of shared memory, normally 131072 bytes
SHMMIN | minimum size of shared memory, normally 1 byte
SHMMNI | max amount of shared memory segments on a system, normally 100
SHMSEG | max amount of shared memory segments per process, normally 6

The messaging functions may be used to send and receive messages to/from other processes. They provide a simple and effective means of exchanging data between processes, without the need for setting up an alternative using Unix domain sockets.

Bilginize: Only the shared memory functions and ftok() are available on Windows. Neither semaphores nor inter-process messaging functions are supported on that platform.


Kurulum

Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option --enable-sysvsem. To enable the System V shared memory support compile PHP with the option --enable-sysvshm. To enable the System V messages support compile PHP with the option --enable-sysvmsg.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Semaphore Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

sysvshm.init_mem int

A default size of the shared memory segment.


Özkaynak Türleri

Prior to PHP 8.0.0, this extension defined the resource types sysvmsg queue (System V Message Queue), sysvsem (System V Semaphore) and sysvshm (System V Shared Memory).


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

MSG_IPC_NOWAIT (int)
MSG_EAGAIN (int)
MSG_ENOMSG (int)
MSG_NOERROR (int)
MSG_EXCEPT (int)


Semaphore İşlevleri

İçindekiler

  • ftok — Convert a pathname and a project identifier to a System V IPC key
  • msg_get_queue — Create or attach to a message queue
  • msg_queue_exists — Check whether a message queue exists
  • msg_receive — Receive a message from a message queue
  • msg_remove_queue — Destroy a message queue
  • msg_send — Send a message to a message queue
  • msg_set_queue — Set information in the message queue data structure
  • msg_stat_queue — Returns information from the message queue data structure
  • sem_acquire — Acquire a semaphore
  • sem_get — Get a semaphore id
  • sem_release — Release a semaphore
  • sem_remove — Remove a semaphore
  • shm_attach — Creates or open a shared memory segment
  • shm_detach — Disconnects from shared memory segment
  • shm_get_var — Returns a variable from shared memory
  • shm_has_var — Check whether a specific entry exists
  • shm_put_var — Inserts or updates a variable in shared memory
  • shm_remove_var — Removes a variable from shared memory
  • shm_remove — Removes shared memory from Unix systems


Convert a pathname and a project identifier to a System V IPC key

  • « Semaphore İşlevleri
  • msg_get_queue »
  • PHP Manual
  • Semaphore İşlevleri
  • Convert a pathname and a project identifier to a System V IPC key

ftok

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftok — Convert a pathname and a project identifier to a System V IPC key

Açıklama

ftok(string $filename, string $project_id): int

The function converts the filename of an existing accessible file and a project identifier into an integer for use with for example shmop_open() and other System V IPC keys.

Bağımsız Değişkenler

filename

Path to an accessible file.

project_id

Project identifier. This must be a one character string.

Dönen Değerler

On success the return value will be the created key value, otherwise -1 is returned.

Ayrıca Bakınız

  • shmop_open() - Create or open shared memory block
  • sem_get() - Get a semaphore id


Create or attach to a message queue

  • « ftok
  • msg_queue_exists »
  • PHP Manual
  • Semaphore İşlevleri
  • Create or attach to a message queue

msg_get_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_get_queue — Create or attach to a message queue

Açıklama

msg_get_queue(int $key, int $permissions = 0666): SysvMessageQueue|false

msg_get_queue() returns an id that can be used to access the System V message queue with the given key. The first call creates the message queue with the optional permissions. A second call to msg_get_queue() for the same key will return a different message queue identifier, but both identifiers access the same underlying message queue.

Bağımsız Değişkenler

key

Message queue numeric ID

permissions

Queue permissions. Default to 0666. If the message queue already exists, the permissions will be ignored.

Dönen Değerler

Returns SysvMessageQueue instance that can be used to access the System V message queue, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a SysvMessageQueue instance now; previously, a resource was returned.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Check whether a message queue exists

  • « msg_get_queue
  • msg_receive »
  • PHP Manual
  • Semaphore İşlevleri
  • Check whether a message queue exists

msg_queue_exists

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

msg_queue_exists — Check whether a message queue exists

Açıklama

msg_queue_exists(int $key): bool

Checks whether the message queue key exists.

Bağımsız Değişkenler

key

Queue key.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure


Receive a message from a message queue

  • « msg_queue_exists
  • msg_remove_queue »
  • PHP Manual
  • Semaphore İşlevleri
  • Receive a message from a message queue

msg_receive

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_receive — Receive a message from a message queue

Açıklama

msg_receive(
SysvMessageQueue $queue,
int $desired_message_type,
int &$received_message_type,
int $max_message_size,
mixed &$message,
bool $unserialize = true,
int $flags = 0,
int &$error_code = null
): bool

msg_receive() will receive the first message from the specified queue of the type specified by desired_message_type.

Bağımsız Değişkenler

queue

The message queue.

desired_message_type

If desired_message_type is 0, the message from the front of the queue is returned. If desired_message_type is greater than 0, then the first message of that type is returned. If desired_message_type is less than 0, the first message on the queue with a type less than or equal to the absolute value of desired_message_type will be read. If no messages match the criteria, your script will wait until a suitable message arrives on the queue. You can prevent the script from blocking by specifying MSG_IPC_NOWAIT in the flags parameter.

received_message_type

The type of the message that was received will be stored in this parameter.

max_message_size

The maximum size of message to be accepted is specified by the max_message_size; if the message in the queue is larger than this size the function will fail (unless you set flags as described below).

message

The received message will be stored in message, unless there were errors receiving the message.

unserialize

If set to true, the message is treated as though it was serialized using the same mechanism as the session module. The message will be unserialized and then returned to your script. This allows you to easily receive arrays or complex object structures from other PHP scripts, or if you are using the WDDX serializer, from any WDDX compatible source.

If unserialize is false, the message will be returned as a binary-safe string.

flags

The optional flags allows you to pass flags to the low-level msgrcv system call. It defaults to 0, but you may specify one or more of the following values (by adding or ORing them together).

Flag values for msg_receive
MSG_IPC_NOWAIT | If there are no messages of the desired_message_type, return immediately and do not wait. The function will fail and return an integer value corresponding to MSG_ENOMSG.
MSG_EXCEPT | Using this flag in combination with a desired_message_type greater than 0 will cause the function to receive the first message that is not equal to desired_message_type.
MSG_NOERROR | If the message is longer than max_message_size, setting this flag will truncate the message to max_message_size and will not signal an error.

error_code

If the function fails, the optional error_code will be set to the value of the system errno variable.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Upon successful completion the message queue data structure is updated as follows: msg_lrpid is set to the process-ID of the calling process, msg_qnum is decremented by 1 and msg_rtime is set to the current time.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_send() - Send a message to a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Destroy a message queue

  • « msg_receive
  • msg_send »
  • PHP Manual
  • Semaphore İşlevleri
  • Destroy a message queue

msg_remove_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_remove_queue — Destroy a message queue

Açıklama

msg_remove_queue(SysvMessageQueue $queue): bool

msg_remove_queue() destroys the message queue specified by the queue. Only use this function when all processes have finished working with the message queue and you need to release the system resources held by it.

Bağımsız Değişkenler

queue

The message queue.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Ayrıca Bakınız

  • msg_get_queue() - Create or attach to a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Send a message to a message queue

  • « msg_remove_queue
  • msg_set_queue »
  • PHP Manual
  • Semaphore İşlevleri
  • Send a message to a message queue

msg_send

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_send — Send a message to a message queue

Açıklama

msg_send(
SysvMessageQueue $queue,
int $message_type,
string|int|float|bool $message,
bool $serialize = true,
bool $blocking = true,
int &$error_code = null
): bool

msg_send() sends a message of type message_type (which MUST be greater than 0) to the message queue specified by queue.

Bağımsız Değişkenler

queue

The message queue.

message_type

The type of the message (MUST be greater than 0)

message

The body of the message.

Bilginize:

If serialize set to false is supplied, MUST be of type: string, int, float or bool. In other case a warning will be issued.

serialize

The optional serialize controls how the message is sent. serialize defaults to true which means that the message is serialized using the same mechanism as the session module before being sent to the queue. This allows complex arrays and objects to be sent to other PHP scripts, or if you are using the WDDX serializer, to any WDDX compatible client.

blocking

If the message is too large to fit in the queue, your script will wait until another process reads messages from the queue and frees enough space for your message to be sent. This is called blocking; you can prevent blocking by setting the optional blocking parameter to false, in which case msg_send() will immediately return false if the message is too big for the queue, and set the optional error_code to MSG_EAGAIN, indicating that you should try to send your message again a little later on.

error_code

If the function fails, the optional errorcode will be set to the value of the system errno variable.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Upon successful completion the message queue data structure is updated as follows: msg_lspid is set to the process-ID of the calling process, msg_qnum is incremented by 1 and msg_stime is set to the current time.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_set_queue() - Set information in the message queue data structure


Set information in the message queue data structure

  • « msg_send
  • msg_stat_queue »
  • PHP Manual
  • Semaphore İşlevleri
  • Set information in the message queue data structure

msg_set_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_set_queue — Set information in the message queue data structure

Açıklama

msg_set_queue(SysvMessageQueue $queue, array $data): bool

msg_set_queue() allows you to change the values of the msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the underlying message queue data structure.

Changing the data structure will require that PHP be running as the same user that created the queue, owns the queue (as determined by the existing msg_perm.xxx fields), or be running with root privileges. root privileges are required to raise the msg_qbytes values above the system defined limit.

Bağımsız Değişkenler

queue

The message queue.

data

You specify the values you require by setting the value of the keys that you require in the data array.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_stat_queue() - Returns information from the message queue data structure
  • msg_get_queue() - Create or attach to a message queue


Returns information from the message queue data structure

  • « msg_set_queue
  • sem_acquire »
  • PHP Manual
  • Semaphore İşlevleri
  • Returns information from the message queue data structure

msg_stat_queue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

msg_stat_queue — Returns information from the message queue data structure

Açıklama

msg_stat_queue(SysvMessageQueue $queue): array|false

msg_stat_queue() returns the message queue meta data for the message queue specified by the queue. This is useful, for example, to determine which process sent the message that was just received.

Bağımsız Değişkenler

queue

The message queue.

Dönen Değerler

On success, the return value is an array whose keys and values have the following meanings:

Array structure for msg_stat_queue
msg_perm.uid | The uid of the owner of the queue.
msg_perm.gid | The gid of the owner of the queue.
msg_perm.mode | The file access mode of the queue.
msg_stime | The time that the last message was sent to the queue.
msg_rtime | The time that the last message was received from the queue.
msg_ctime | The time that the queue was last changed.
msg_qnum | The number of messages waiting to be read from the queue.
msg_qbytes | The maximum number of bytes allowed in one message queue. On Linux, this value may be read and modified via /proc/sys/kernel/msgmnb.
msg_lspid | The pid of the process that sent the last message to the queue.
msg_lrpid | The pid of the process that received the last message from the queue.

Returns false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | queue expects a SysvMessageQueue instance now; previously, a resource was expected.

Ayrıca Bakınız

  • msg_remove_queue() - Destroy a message queue
  • msg_receive() - Receive a message from a message queue
  • msg_get_queue() - Create or attach to a message queue
  • msg_set_queue() - Set information in the message queue data structure


Acquire a semaphore

  • « msg_stat_queue
  • sem_get »
  • PHP Manual
  • Semaphore İşlevleri
  • Acquire a semaphore

sem_acquire

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_acquire — Acquire a semaphore

Açıklama

sem_acquire(SysvSemaphore $semaphore, bool $non_blocking = false): bool

sem_acquire() by default blocks (if necessary) until the semaphore can be acquired. A process attempting to acquire a semaphore which it has already acquired will block forever if acquiring the semaphore would cause its maximum number of semaphore to be exceeded.

After processing a request, any semaphores acquired by the process but not explicitly released will be released automatically and a warning will be generated.

Bağımsız Değişkenler

semaphore

semaphore is a semaphore obtained from sem_get().

non_blocking

Specifies if the process shouldn't wait for the semaphore to be acquired. If set to true, the call will return false immediately if a semaphore cannot be immediately acquired.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Ayrıca Bakınız

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore


Get a semaphore id

  • « sem_acquire
  • sem_release »
  • PHP Manual
  • Semaphore İşlevleri
  • Get a semaphore id

sem_get

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_get — Get a semaphore id

Açıklama

sem_get(
int $key,
int $max_acquire = 1,
int $permissions = 0666,
bool $auto_release = true
): SysvSemaphore|false

sem_get() returns an id that can be used to access the System V semaphore with the given key.

A second call to sem_get() for the same key will return a different semaphore identifier, but both identifiers access the same underlying semaphore.

If key is 0, a new private semaphore is created for each call to sem_get().

Bağımsız Değişkenler

key

max_acquire

The number of processes that can acquire the semaphore simultaneously is set to max_acquire.

permissions

The semaphore permissions. Actually this value is set only if the process finds it is the only process currently attached to the semaphore.

auto_release

Specifies if the semaphore should be automatically released on request shutdown.

Dönen Değerler

Returns a positive semaphore identifier on success, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a SysvSemaphore instance now; previously, a resource was returned.
8.0.0 | The type of auto_release has been changed from int to bool.

Notlar

Uyarı

When using sem_get() to access a semaphore created outside PHP, note that the semaphore must have been created as a set of 3 semaphores (for example, by specifying 3 as the nsems parameter when calling the C semget() function), otherwise PHP will be unable to access the semaphore.

Ayrıca Bakınız

  • sem_acquire() - Acquire a semaphore
  • sem_release() - Release a semaphore
  • ftok() - Convert a pathname and a project identifier to a System V IPC key


Release a semaphore

  • « sem_get
  • sem_remove »
  • PHP Manual
  • Semaphore İşlevleri
  • Release a semaphore

sem_release

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_release — Release a semaphore

Açıklama

sem_release(SysvSemaphore $semaphore): bool

sem_release() releases the semaphore if it is currently acquired by the calling process, otherwise a warning is generated.

After releasing the semaphore, sem_acquire() may be called to re-acquire it.

Bağımsız Değişkenler

semaphore

A Semaphore as returned by sem_get().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Ayrıca Bakınız

  • sem_get() - Get a semaphore id
  • sem_acquire() - Acquire a semaphore


Remove a semaphore

  • « sem_release
  • shm_attach »
  • PHP Manual
  • Semaphore İşlevleri
  • Remove a semaphore

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sem_remove — Remove a semaphore

Açıklama

sem_remove(SysvSemaphore $semaphore): bool

sem_remove() removes the given semaphore.

After removing the semaphore, it is no longer accessible.

Bağımsız Değişkenler

semaphore

A semaphore as returned by sem_get().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | semaphore expects a SysvSemaphore instance now; previously, a resource was expected.

Ayrıca Bakınız

  • sem_get() - Get a semaphore id
  • sem_release() - Release a semaphore
  • sem_acquire() - Acquire a semaphore


Creates or open a shared memory segment

  • « sem_remove
  • shm_detach »
  • PHP Manual
  • Semaphore İşlevleri
  • Creates or open a shared memory segment

shm_attach

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_attach — Creates or open a shared memory segment

Açıklama

shm_attach(int $key, ?int $size = null, int $permissions = 0666): SysvSharedMemory|false

shm_attach() returns an id that can be used to access the System V shared memory with the given key, the first call creates the shared memory segment with size and the optional perm-bits permissions.

A second call to shm_attach() for the same key will return a different SysvSharedMemory instance, but both instances access the same underlying shared memory. size and permissions will be ignored.

Bağımsız Değişkenler

key

A numeric shared memory segment ID

size

The memory size. If not provided, default to the sysvshm.init_mem in the php.ini, otherwise 10000 bytes.

permissions

The optional permission bits. Default to 0666.

Dönen Değerler

Returns a SysvSharedMemory instance on success, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns an SysvSharedMemory instance now; previously, a resource was returned.
8.0.0 | size is nullable now.

Ayrıca Bakınız

  • shm_detach() - Disconnects from shared memory segment
  • ftok() - Convert a pathname and a project identifier to a System V IPC key


Disconnects from shared memory segment

  • « shm_attach
  • shm_get_var »
  • PHP Manual
  • Semaphore İşlevleri
  • Disconnects from shared memory segment

shm_detach

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_detach — Disconnects from shared memory segment

Açıklama

shm_detach(SysvSharedMemory $shm): bool

shm_detach() disconnects from the shared memory given by the shm created by shm_attach(). Remember, that shared memory still exist in the Unix system and the data is still present.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_attach() - Creates or open a shared memory segment
  • shm_remove() - Removes shared memory from Unix systems
  • shm_remove_var() - Removes a variable from shared memory


Returns a variable from shared memory

  • « shm_detach
  • shm_has_var »
  • PHP Manual
  • Semaphore İşlevleri
  • Returns a variable from shared memory

shm_get_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_get_var — Returns a variable from shared memory

Açıklama

shm_get_var(SysvSharedMemory $shm, int $key): mixed

shm_get_var() returns the variable with a given key, in the given shared memory segment. The variable is still present in the shared memory.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Dönen Değerler

Returns the variable with the given key.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_has_var() - Check whether a specific entry exists
  • shm_put_var() - Inserts or updates a variable in shared memory


Check whether a specific entry exists

  • « shm_get_var
  • shm_put_var »
  • PHP Manual
  • Semaphore İşlevleri
  • Check whether a specific entry exists

shm_has_var

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

shm_has_var — Check whether a specific entry exists

Açıklama

shm_has_var(SysvSharedMemory $shm, int $key): bool

Checks whether a specific key exists inside a shared memory segment.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Dönen Değerler

Returns true if the entry exists, otherwise false

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_get_var() - Returns a variable from shared memory
  • shm_put_var() - Inserts or updates a variable in shared memory


Inserts or updates a variable in shared memory

  • « shm_has_var
  • shm_remove_var »
  • PHP Manual
  • Semaphore İşlevleri
  • Inserts or updates a variable in shared memory

shm_put_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_put_var — Inserts or updates a variable in shared memory

Açıklama

shm_put_var(SysvSharedMemory $shm, int $key, mixed $value): bool

shm_put_var() inserts or updates the value with the given key.

Warnings (E_WARNING level) will be issued if shm is not a valid SysV shared memory index or if there was not enough shared memory remaining to complete your request.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

value

The variable. All variable types that serialize() supports may be used: generally this means all types except for resources and some internal objects that cannot be serialized.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_get_var() - Returns a variable from shared memory
  • shm_has_var() - Check whether a specific entry exists


Removes a variable from shared memory

  • « shm_put_var
  • shm_remove »
  • PHP Manual
  • Semaphore İşlevleri
  • Removes a variable from shared memory

shm_remove_var

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_remove_var — Removes a variable from shared memory

Açıklama

shm_remove_var(SysvSharedMemory $shm, int $key): bool

Removes a variable with a given key and frees the occupied memory.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

key

The variable key.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_remove() - Removes shared memory from Unix systems


Removes shared memory from Unix systems

  • « shm_remove_var
  • SysvMessageQueue »
  • PHP Manual
  • Semaphore İşlevleri
  • Removes shared memory from Unix systems

shm_remove

(PHP 4, PHP 5, PHP 7, PHP 8)

shm_remove — Removes shared memory from Unix systems

Açıklama

shm_remove(SysvSharedMemory $shm): bool

shm_remove() removes the shared memory shm. All data will be destroyed.

Bağımsız Değişkenler

shm

A shared memory segment obtained from shm_attach().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shm expects a SysvSharedMemory instance now; previously, a resource was expected.

Ayrıca Bakınız

  • shm_remove_var() - Removes a variable from shared memory


The SysvMessageQueue class

(PHP 8)

Giriş

A fully opaque class which replaces a sysvmsg queue resource as of PHP 8.0.0.

Sınıf Sözdizimi

final class SysvMessageQueue {
}


The SysvSemaphore class

(PHP 8)

Giriş

A fully opaque class which replaces a sysvsem resource as of PHP 8.0.0.

Sınıf Sözdizimi

final class SysvSemaphore {
}


The SysvSharedMemory class

(PHP 8)

Giriş

A fully opaque class which replaces a sysvshm resource as of PHP 8.0.0.

Sınıf Sözdizimi

final class SysvSharedMemory {
}


Shared Memory

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
  • Shared Memory İşlevleri
    • shmop_close — Close shared memory block
    • shmop_delete — Delete shared memory block
    • shmop_open — Create or open shared memory block
    • shmop_read — Read data from shared memory block
    • shmop_size — Get size of shared memory block
    • shmop_write — Write data into shared memory block
  • Shmop — The Shmop class


Giriş

Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments.


Kurulum

To use shmop you will need to compile PHP with the --enable-shmop parameter in your configure line.


Özkaynak Türleri

Prior to PHP 8.0.0, this extension defined the resource type shmop which is a handle to a shared memory block.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • Shared Memory
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • Basic usage »
  • PHP Manual
  • Shared Memory
  • Örnekler

Örnekler

İçindekiler

  • Basic usage


Basic usage

Örnek 1 Shared Memory Operations Overview

<?php

// Create 100 byte shared memory block with system id of 0xff3
$shm_id = shmop_open(0xff3, "c", 0644, 100);
if (!$shm_id) {
echo "Couldn't create shared memory segment\n";
}

// Get shared memory block's size
$shm_size = shmop_size($shm_id);
echo "SHM Block Size: " . $shm_size . " has been created.\n";

// Lets write a test string into shared memory
$shm_bytes_written = shmop_write($shm_id, "my shared memory block", 0);
if ($shm_bytes_written != strlen("my shared memory block")) {
echo "Couldn't write the entire length of data\n";
}

// Now lets read the string back
$my_string = shmop_read($shm_id, 0, $shm_size);
if (!$my_string) {
echo "Couldn't read from shared memory block\n";
}
echo "The data inside shared memory was: " . $my_string . "\n";

//Now lets delete the block and close the shared memory segment
if (!shmop_delete($shm_id)) {
echo "Couldn't mark shared memory block for deletion.";
}
shmop_close($shm_id);

?>


Shared Memory İşlevleri

İçindekiler

  • shmop_close — Close shared memory block
  • shmop_delete — Delete shared memory block
  • shmop_open — Create or open shared memory block
  • shmop_read — Read data from shared memory block
  • shmop_size — Get size of shared memory block
  • shmop_write — Write data into shared memory block


Close shared memory block

  • « Shared Memory İşlevleri
  • shmop_delete »
  • PHP Manual
  • Shared Memory İşlevleri
  • Close shared memory block

shmop_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_close — Close shared memory block

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

shmop_close(Shmop $shmop): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

shmop_close() is used to close a shared memory block.

Bağımsız Değişkenler

shmop

The shared memory block resource created by shmop_open()

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shmop expects a Shmop instance now; previously, a resource was expected.

Örnekler

Örnek 1 Closing shared memory block

<?php
shmop_close($shm_id);
?>

This example will close shared memory block identified by $shm_id.

Ayrıca Bakınız

  • shmop_open() - Create or open shared memory block


Delete shared memory block

  • « shmop_close
  • shmop_open »
  • PHP Manual
  • Shared Memory İşlevleri
  • Delete shared memory block

shmop_delete

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_delete — Delete shared memory block

Açıklama

shmop_delete(Shmop $shmop): bool

shmop_delete() is used to delete a shared memory block.

Bağımsız Değişkenler

shmop

The shared memory block resource created by shmop_open()

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shmop expects a Shmop instance now; previously, a resource was expected.

Örnekler

Örnek 1 Deleting shared memory block

<?php
shmop_delete($shm_id);
?>

This example will delete shared memory block identified by $shm_id.


Create or open shared memory block

  • « shmop_delete
  • shmop_read »
  • PHP Manual
  • Shared Memory İşlevleri
  • Create or open shared memory block

shmop_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_open — Create or open shared memory block

Açıklama

shmop_open(
int $key,
string $mode,
int $permissions,
int $size
): Shmop|false

shmop_open() can create or open a shared memory block.

Bağımsız Değişkenler

key

System's id for the shared memory block. Can be passed as a decimal or hex.

mode

The flags that you can use:

  • "a" for access (sets SHM_RDONLY for shmat) use this flag when you need to open an existing shared memory segment for read only
  • "c" for create (sets IPC_CREATE) use this flag when you need to create a new shared memory segment or if a segment with the same key exists, try to open it for read and write
  • "w" for read & write access use this flag when you need to read and write to a shared memory segment, use this flag in most cases.
  • "n" create a new memory segment (sets IPC_CREATE|IPC_EXCL) use this flag when you want to create a new shared memory segment but if one already exists with the same flag, fail. This is useful for security purposes, using this you can prevent race condition exploits.

permissions

The permissions that you wish to assign to your memory segment, those are the same as permission for a file. Permissions need to be passed in octal form, like for example 0644

size

The size of the shared memory block you wish to create in bytes

Bilginize:

Note: the 3rd and 4th should be entered as 0 if you are opening an existing memory segment.

Dönen Değerler

On success shmop_open() will return a Shmop instance that you can use to access the shared memory segment you've created. false is returned on failure.

Hatalar/İstisnalar

If mode is invalid, or size is less than or equal to zero, a ValueError is thrown. On other failures, E_WARNING is emitted.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns an Shmop instance now; previously, a resource was returned.
8.0.0 | If mode is invalid, or size is less than or equal to zero, a ValueError is thrown; previously E_WARNING was emitted instead, and the function returned false.

Örnekler

Örnek 1 Create a new shared memory block

<?php
$shm_key = ftok(__FILE__, 't');
$shm_id = shmop_open($shm_key, "c", 0644, 100);
?>

This example opened a shared memory block with a system id returned by ftok().

Ayrıca Bakınız

  • shmop_close() - Close shared memory block
  • shmop_delete() - Delete shared memory block


Read data from shared memory block

  • « shmop_open
  • shmop_size »
  • PHP Manual
  • Shared Memory İşlevleri
  • Read data from shared memory block

shmop_read

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_read — Read data from shared memory block

Açıklama

shmop_read(Shmop $shmop, int $offset, int $size): string

shmop_read() will read a string from shared memory block.

Bağımsız Değişkenler

shmop

The shared memory block identifier created by shmop_open()

offset

Offset from which to start reading; must be greater than or equal to zero and less than or equal to the actual size of the shared memory segment.

size

The number of bytes to read; must be greater than or equal to zero, and the sum of offset and size must be less than or equal to the actual size of the shared memory segment. 0 reads shmop_size($shmid) - $start bytes.

Dönen Değerler

Returns the data başarısızlık durumunda false döner.

Hatalar/İstisnalar

If offset or size are out of range, a ValueError is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shmop expects a Shmop instance now; previously, a resource was expected.
8.0.0 | If offset or size are out of range, a ValueError is thrown; previously E_WARNING was emitted, and false was returned,

Örnekler

Örnek 1 Reading shared memory block

<?php
$shm_data = shmop_read($shm_id, 0, 50);
?>

This example will read 50 bytes from shared memory block and place the data inside $shm_data.

Ayrıca Bakınız

  • shmop_write() - Write data into shared memory block


Get size of shared memory block

  • « shmop_read
  • shmop_write »
  • PHP Manual
  • Shared Memory İşlevleri
  • Get size of shared memory block

shmop_size

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_size — Get size of shared memory block

Açıklama

shmop_size(Shmop $shmop): int

shmop_size() is used to get the size, in bytes of the shared memory block.

Bağımsız Değişkenler

shmop

The shared memory block identifier created by shmop_open()

Dönen Değerler

Returns an int, which represents the number of bytes the shared memory block occupies.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | shmop expects a Shmop instance now; previously, a resource was expected.

Örnekler

Örnek 1 Getting the size of the shared memory block

<?php
$shm_size = shmop_size($shm_id);
?>

This example will put the size of shared memory block identified by $shm_id into $shm_size.


Write data into shared memory block

  • « shmop_size
  • Shmop »
  • PHP Manual
  • Shared Memory İşlevleri
  • Write data into shared memory block

shmop_write

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

shmop_write — Write data into shared memory block

Açıklama

shmop_write(Shmop $shmop, string $data, int $offset): int

shmop_write() will write a string into shared memory block.

Bağımsız Değişkenler

shmop

The shared memory block identifier created by shmop_open()

data

A string to write into shared memory block

offset

Specifies where to start writing data inside the shared memory segment. The offset must be greater than or equal to zero and less than or equal to the actual size of the shared memory segment.

Dönen Değerler

The size of the written data.

Hatalar/İstisnalar

If offset is out of range, or a read-only shared memory segment should be written to, a ValueError is thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Prior to PHP 8.0.0, false was returned on failure.
8.0.0 | shmop expects a Shmop instance now; previously, a resource was expected.

Örnekler

Örnek 1 Writing to shared memory block

<?php
$shm_bytes_written = shmop_write($shm_id, $my_string, 0);
?>

This example will write data inside $my_string into shared memory block, $shm_bytes_written will contain the number of bytes written.

Ayrıca Bakınız

  • shmop_read() - Read data from shared memory block


The Shmop class

(PHP 8)

Giriş

A fully opaque class which replaces shmop resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class Shmop {
}


Sync

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SyncMutex — The SyncMutex class
    • SyncMutex::__construct — Constructs a new SyncMutex object
    • SyncMutex::lock — Waits for an exclusive lock
    • SyncMutex::unlock — Unlocks the mutex
  • SyncSemaphore — The SyncSemaphore class
    • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
    • SyncSemaphore::lock — Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock — Increases the count of the semaphore
  • SyncEvent — The SyncEvent class
    • SyncEvent::__construct — Constructs a new SyncEvent object
    • SyncEvent::fire — Fires/sets the event
    • SyncEvent::reset — Resets a manual event
    • SyncEvent::wait — Waits for the event to be fired/set
  • SyncReaderWriter — The SyncReaderWriter class
    • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
    • SyncReaderWriter::readlock — Waits for a read lock
    • SyncReaderWriter::readunlock — Releases a read lock
    • SyncReaderWriter::writelock — Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock — Releases a write lock
  • SyncSharedMemory — The SyncSharedMemory class
    • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
    • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read — Copy data from named shared memory
    • SyncSharedMemory::size — Returns the size of the named shared memory
    • SyncSharedMemory::write — Copy data to named shared memory


Giriş

The 'sync' extension introduces cross-platform synchonization objects into PHP. Named and unnamed Mutex, Semaphore, Event, Reader-Writer, and named Shared Memory objects provide OS-level synchronization on both POSIX (e.g. Linux) and Windows platforms.

Automatic cleanup of acquired synchronization objects takes place during extension teardown. This means that if PHP prematurely terminates a script (e.g. script execution time is exceeded), objects will not be left in an unknown state. The only exception to this is if PHP itself crashes (e.g. an internal buffer overflow).

Unnamed synchronization objects don't have a lot of use outside of a multithreaded scenario. Unnamed objects are more useful in conjunction with the pthreads PECL extension.

Bilginize:

Named objects require additional care to be used on all systems. If an object is instantiated with a specific set of parameters, it must always be instantiated with those parameters or the object will probably end up in an inconsistent state until the next reboot or a system administrator cleans up the mess.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

A system with support for POSIX shared memory (shm_open()) or running Windows.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/sync.


  • « Özkaynak Türleri
  • SyncMutex »
  • PHP Manual
  • Sync
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


The SyncMutex class

(PECL sync >= 1.0.0)

Giriş

A cross-platform, native implementation of named and unnamed countable mutex objects.

A mutex is a mutual exclusion object that restricts access to a shared resource (e.g. a file) to a single instance. Countable mutexes acquire the mutex a single time and internally track the number of times the mutex is locked. The mutex is unlocked as soon as it goes out of scope or is unlocked the same number of times that it was locked.

Sınıf Sözdizimi

class SyncMutex {
/* Yöntemler */
public __construct(string $name = ?)
public lock(int $wait = -1): bool
public unlock(bool $all = false): bool
}

İçindekiler

  • SyncMutex::__construct — Constructs a new SyncMutex object
  • SyncMutex::lock — Waits for an exclusive lock
  • SyncMutex::unlock — Unlocks the mutex


Constructs a new SyncMutex object

  • « SyncMutex
  • SyncMutex::lock »
  • PHP Manual
  • SyncMutex
  • Constructs a new SyncMutex object

SyncMutex::__construct

(PECL sync >= 1.0.0)

SyncMutex::__construct — Constructs a new SyncMutex object

Açıklama

public SyncMutex::__construct(string $name = ?)

Constructs a named or unnamed countable mutex.

Bağımsız Değişkenler

name

The name of the mutex if this is a named mutex object.

Bilginize:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

Dönen Değerler

The new SyncMutex object.

Hatalar/İstisnalar

An exception is thrown if the mutex cannot be created or opened.

Örnekler

Örnek 1 SyncMutex::__construct() named mutex with lock timeout example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
echo "Unable to lock mutex.";

exit();
}

/* ... */

$mutex->unlock();
?>

Örnek 2 SyncMutex::__construct() unnamed mutex example

<?php
$mutex = new SyncMutex();

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Ayrıca Bakınız

  • SyncMutex::lock() - Waits for an exclusive lock
  • SyncMutex::unlock() - Unlocks the mutex


Waits for an exclusive lock

  • « SyncMutex::__construct
  • SyncMutex::unlock »
  • PHP Manual
  • SyncMutex
  • Waits for an exclusive lock

SyncMutex::lock

(PECL sync >= 1.0.0)

SyncMutex::lock — Waits for an exclusive lock

Açıklama

public SyncMutex::lock(int $wait = -1): bool

Obtains an exclusive lock on a SyncMutex object. If the lock is already acquired, then this increments an internal counter.

Bağımsız Değişkenler

wait

The number of milliseconds to wait for the exclusive lock. A value of -1 is infinite.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncMutex::lock() example

<?php
$mutex = new SyncMutex("UniqueName");

if (!$mutex->lock(3000))
{
echo "Unable to lock mutex.";

exit();
}

/* ... */

$mutex->unlock();
?>

Ayrıca Bakınız

  • SyncMutex::unlock() - Unlocks the mutex


Unlocks the mutex

  • « SyncMutex::lock
  • SyncSemaphore »
  • PHP Manual
  • SyncMutex
  • Unlocks the mutex

SyncMutex::unlock

(PECL sync >= 1.0.0)

SyncMutex::unlock — Unlocks the mutex

Açıklama

public SyncMutex::unlock(bool $all = false): bool

Decreases the internal counter of a SyncMutex object. When the internal counter reaches zero, the actual lock on the object is released.

Bağımsız Değişkenler

all

Specifies whether or not to set the internal counter to zero and therefore release the lock.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncMutex::unlock() example

<?php
$mutex = new SyncMutex("UniqueName");

$mutex->lock();

/* ... */

$mutex->unlock();
?>

Ayrıca Bakınız

  • SyncMutex::lock() - Waits for an exclusive lock


The SyncSemaphore class

(PECL sync >= 1.0.0)

Giriş

A cross-platform, native implementation of named and unnamed semaphore objects.

A semaphore restricts access to a limited resource to a limited number of instances. Semaphores differ from mutexes in that they can allow more than one instance to access a resource at one time while a mutex only allows one instance at a time.

Sınıf Sözdizimi

class SyncSemaphore {
/* Yöntemler */
public __construct(string $name = ?, int $initialval = 1, bool $autounlock = true)
public lock(int $wait = -1): bool
public unlock(int &$prevcount = ?): bool
}

İçindekiler

  • SyncSemaphore::__construct — Constructs a new SyncSemaphore object
  • SyncSemaphore::lock — Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock — Increases the count of the semaphore


Constructs a new SyncSemaphore object

  • « SyncSemaphore
  • SyncSemaphore::lock »
  • PHP Manual
  • SyncSemaphore
  • Constructs a new SyncSemaphore object

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

SyncSemaphore::__construct — Constructs a new SyncSemaphore object

Açıklama

public SyncSemaphore::__construct(string $name = ?, int $initialval = 1, bool $autounlock = true)

Constructs a named or unnamed semaphore.

Bağımsız Değişkenler

name

The name of the semaphore if this is a named semaphore object.

Bilginize:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

initialval

The initial value of the semaphore. This is the number of locks that may be obtained.

autounlock

Specifies whether or not to automatically unlock the semaphore at the conclusion of the PHP script.

Uyarı

If an object is: A named semaphore with an autounlock of false, the object is locked, and the PHP script concludes before the object is unlocked, then the underlying semaphore will end up in an inconsistent state.

Dönen Değerler

The new SyncSemaphore object.

Hatalar/İstisnalar

An exception is thrown if the semaphore cannot be created or opened.

Örnekler

Örnek 1 SyncSemaphore::__construct() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
echo "Unable to lock semaphore.";

exit();
}

/* ... */

$semaphore->unlock();
?>

Ayrıca Bakınız

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits
  • SyncSemaphore::unlock() - Increases the count of the semaphore


Decreases the count of the semaphore or waits

  • « SyncSemaphore::__construct
  • SyncSemaphore::unlock »
  • PHP Manual
  • SyncSemaphore
  • Decreases the count of the semaphore or waits

SyncSemaphore::lock

(PECL sync >= 1.0.0)

SyncSemaphore::lock — Decreases the count of the semaphore or waits

Açıklama

public SyncSemaphore::lock(int $wait = -1): bool

Decreases the count of a SyncSemaphore object or waits until the semaphore becomes non-zero.

Bağımsız Değişkenler

wait

The number of milliseconds to wait for the semaphore. A value of -1 is infinite.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncSemaphore::lock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
echo "Unable to lock semaphore.";

exit();
}

/* ... */

$semaphore->unlock();
?>

Ayrıca Bakınız

  • SyncSemaphore::unlock() - Increases the count of the semaphore


Increases the count of the semaphore

  • « SyncSemaphore::lock
  • SyncEvent »
  • PHP Manual
  • SyncSemaphore
  • Increases the count of the semaphore

SyncSemaphore::unlock

(PECL sync >= 1.0.0)

SyncSemaphore::unlock — Increases the count of the semaphore

Açıklama

public SyncSemaphore::unlock(int &$prevcount = ?): bool

Increases the count of a SyncSemaphore object.

Bağımsız Değişkenler

prevcount

Returns the previous count of the semaphore.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncSemaphore::unlock() example

<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);

if (!$semaphore->lock(3000))
{
echo "Unable to lock semaphore.";

exit();
}

/* ... */

$semaphore->unlock();
?>

Ayrıca Bakınız

  • SyncSemaphore::lock() - Decreases the count of the semaphore or waits


The SyncEvent class

(PECL sync >= 1.0.0)

Giriş

A cross-platform, native implementation of named and unnamed event objects. Both automatic and manual event objects are supported.

An event object waits, without polling, for the object to be fired/set. One instance waits on the event object while another instance fires/sets the event. Event objects are useful wherever a long-running process would otherwise poll a resource (e.g. checking to see if uploaded data needs to be processed).

Sınıf Sözdizimi

class SyncEvent {
/* Yöntemler */
public __construct(string $name = ?, bool $manual = false, bool $prefire = false)
public fire(): bool
public reset(): bool
public wait(int $wait = -1): bool
}

İçindekiler

  • SyncEvent::__construct — Constructs a new SyncEvent object
  • SyncEvent::fire — Fires/sets the event
  • SyncEvent::reset — Resets a manual event
  • SyncEvent::wait — Waits for the event to be fired/set


Constructs a new SyncEvent object

  • « SyncEvent
  • SyncEvent::fire »
  • PHP Manual
  • SyncEvent
  • Constructs a new SyncEvent object

SyncEvent::__construct

(PECL sync >= 1.0.0)

SyncEvent::__construct — Constructs a new SyncEvent object

Açıklama

public SyncEvent::__construct(string $name = ?, bool $manual = false, bool $prefire = false)

Constructs a named or unnamed event object.

Bağımsız Değişkenler

name

The name of the event if this is a named event object.

Bilginize:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

manual

Specifies whether or not the event object must be reset manually.

Bilginize:

Manual reset event objects allow all waiting processes through until the object is reset.

prefire

Specifies whether or not to prefire (signal) the event object.

Bilginize:

Only has impact if the calling process/thread is the first to create the object.

Dönen Değerler

The new SyncEvent object.

Hatalar/İstisnalar

An exception is thrown if the event object cannot be created or opened.

Örnekler

Örnek 1 SyncEvent::__construct() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Sürüm Bilgisi

Sürüm: | Açıklama
PECL sync 1.1.0 | Added prefire.

Ayrıca Bakınız

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set


Fires/sets the event

  • « SyncEvent::__construct
  • SyncEvent::reset »
  • PHP Manual
  • SyncEvent
  • Fires/sets the event

SyncEvent::fire

(PECL sync >= 1.0.0)

SyncEvent::fire — Fires/sets the event

Açıklama

public SyncEvent::fire(): bool

Fires/sets a SyncEvent object. Lets multiple threads through that are waiting if the event object was created with a manual value of true.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncEvent::fire() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Ayrıca Bakınız

  • SyncEvent::reset() - Resets a manual event
  • SyncEvent::wait() - Waits for the event to be fired/set


Resets a manual event

  • « SyncEvent::fire
  • SyncEvent::wait »
  • PHP Manual
  • SyncEvent
  • Resets a manual event

SyncEvent::reset

(PECL sync >= 1.0.0)

SyncEvent::reset — Resets a manual event

Açıklama

public SyncEvent::reset(): bool

Resets a SyncEvent object that has been fired/set. Only valid for manual event objects.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncEvent::reset() example

<?php
// In a web application:
$event = new SyncEvent("DemoApplication", true);
$event->wait();

// In a cron job:
$event = new SyncEvent("DemoApplication", true);
$event->reset();
/* ... Do some maintenance task(s) ... */
$event->fire();
?>

Ayrıca Bakınız

  • SyncEvent::fire() - Fires/sets the event
  • SyncEvent::reset()
  • SyncEvent::wait() - Waits for the event to be fired/set


Waits for the event to be fired/set

  • « SyncEvent::reset
  • SyncReaderWriter »
  • PHP Manual
  • SyncEvent
  • Waits for the event to be fired/set

SyncEvent::wait

(PECL sync >= 1.0.0)

SyncEvent::wait — Waits for the event to be fired/set

Açıklama

public SyncEvent::wait(int $wait = -1): bool

Waits for the SyncEvent object to be fired.

Bağımsız Değişkenler

wait

The number of milliseconds to wait for the event to be fired. A value of -1 is infinite.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncEvent::wait() example

<?php
// In a web application:
$event = new SyncEvent("GetAppReport");
$event->fire();

// In a cron job:
$event = new SyncEvent("GetAppReport");
$event->wait();
?>

Ayrıca Bakınız

  • SyncEvent::fire() - Fires/sets the event


The SyncReaderWriter class

(PECL sync >= 1.0.0)

Giriş

A cross-platform, native implementation of named and unnamed reader-writer objects.

A reader-writer object allows many readers or one writer to access a resource. This is an efficient solution for managing resources where access will primarily be read-only but exclusive write access is occasionally necessary.

Sınıf Sözdizimi

class SyncReaderWriter {
/* Yöntemler */
public __construct(string $name = ?, int $autounlock = 1)
public readlock(int $wait = -1): bool
public readunlock(): bool
public writelock(int $wait = -1): bool
public writeunlock(): bool
}

İçindekiler

  • SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object
  • SyncReaderWriter::readlock — Waits for a read lock
  • SyncReaderWriter::readunlock — Releases a read lock
  • SyncReaderWriter::writelock — Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock — Releases a write lock


Constructs a new SyncReaderWriter object

  • « SyncReaderWriter
  • SyncReaderWriter::readlock »
  • PHP Manual
  • SyncReaderWriter
  • Constructs a new SyncReaderWriter object

SyncReaderWriter::__construct

(PECL sync >= 1.0.0)

SyncReaderWriter::__construct — Constructs a new SyncReaderWriter object

Açıklama

public SyncReaderWriter::__construct(string $name = ?, int $autounlock = 1)

Constructs a named or unnamed reader-writer object.

Bağımsız Değişkenler

name

The name of the reader-writer if this is a named reader-writer object.

Bilginize:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

Bilginize: On Windows, name must not contain backslashes.

autounlock

Specifies whether or not to automatically unlock the reader-writer at the conclusion of the PHP script.

Uyarı

If an object is: A named reader-writer with an autounlock of FALSE, the object is locked for either reading or writing, and the PHP script concludes before the object is unlocked, then the underlying objects will end up in an inconsistent state.

Dönen Değerler

The new SyncReaderWriter object.

Hatalar/İstisnalar

An exception is thrown if the reader-writer cannot be created or opened.

Örnekler

Örnek 1 SyncReaderWriter::__construct() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();

$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Ayrıca Bakınız

  • SyncReaderWriter::readlock() - Waits for a read lock
  • SyncReaderWriter::readunlock() - Releases a read lock
  • SyncReaderWriter::writelock() - Waits for an exclusive write lock
  • SyncReaderWriter::writeunlock() - Releases a write lock


Waits for a read lock

  • « SyncReaderWriter::__construct
  • SyncReaderWriter::readunlock »
  • PHP Manual
  • SyncReaderWriter
  • Waits for a read lock

SyncReaderWriter::readlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readlock — Waits for a read lock

Açıklama

public SyncReaderWriter::readlock(int $wait = -1): bool

Obtains a read lock on a SyncReaderWriter object.

Bağımsız Değişkenler

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncReaderWriter::readlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Ayrıca Bakınız

  • SyncReaderWriter::readunlock() - Releases a read lock


Releases a read lock

  • « SyncReaderWriter::readlock
  • SyncReaderWriter::writelock »
  • PHP Manual
  • SyncReaderWriter
  • Releases a read lock

SyncReaderWriter::readunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::readunlock — Releases a read lock

Açıklama

public SyncReaderWriter::readunlock(): bool

Releases a read lock on a SyncReaderWriter object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncReaderWriter::readunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->readlock();
/* ... */
$readwrite->readunlock();
?>

Ayrıca Bakınız

  • SyncReaderWriter::readlock() - Waits for a read lock


Waits for an exclusive write lock

  • « SyncReaderWriter::readunlock
  • SyncReaderWriter::writeunlock »
  • PHP Manual
  • SyncReaderWriter
  • Waits for an exclusive write lock

SyncReaderWriter::writelock

(PECL sync >= 1.0.0)

SyncReaderWriter::writelock — Waits for an exclusive write lock

Açıklama

public SyncReaderWriter::writelock(int $wait = -1): bool

Obtains an exclusive write lock on a SyncReaderWriter object.

Bağımsız Değişkenler

wait

The number of milliseconds to wait for a lock. A value of -1 is infinite.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncReaderWriter::writelock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Ayrıca Bakınız

  • SyncReaderWriter::writeunlock() - Releases a write lock


Releases a write lock

  • « SyncReaderWriter::writelock
  • SyncSharedMemory »
  • PHP Manual
  • SyncReaderWriter
  • Releases a write lock

SyncReaderWriter::writeunlock

(PECL sync >= 1.0.0)

SyncReaderWriter::writeunlock — Releases a write lock

Açıklama

public SyncReaderWriter::writeunlock(): bool

Releases a write lock on a SyncReaderWriter object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncReaderWriter::writeunlock() example

<?php
$readwrite = new SyncReaderWriter("FileCacheLock");
$readwrite->writelock();
/* ... */
$readwrite->writeunlock();
?>

Ayrıca Bakınız

  • SyncReaderWriter::writelock() - Waits for an exclusive write lock


The SyncSharedMemory class

(PECL sync >= 1.1.0)

Giriş

A cross-platform, native, consistent implementation of named shared memory objects.

Shared memory lets two separate processes communicate without the need for complex pipes or sockets. There are several integer-based shared memory implementations for PHP. Named shared memory is an alternative.

Synchronization objects (e.g. SyncMutex) are still required to protect most uses of shared memory.

Sınıf Sözdizimi

class SyncSharedMemory {
/* Yöntemler */
public __construct(string $name, int $size)
public first(): bool
public read(int $start = 0, int $length = ?)
public size(): int
public write(string $string = ?, int $start = 0)
}

İçindekiler

  • SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::read — Copy data from named shared memory
  • SyncSharedMemory::size — Returns the size of the named shared memory
  • SyncSharedMemory::write — Copy data to named shared memory


Constructs a new SyncSharedMemory object

  • « SyncSharedMemory
  • SyncSharedMemory::first »
  • PHP Manual
  • SyncSharedMemory
  • Constructs a new SyncSharedMemory object

SyncSharedMemory::__construct

(PECL sync >= 1.1.0)

SyncSharedMemory::__construct — Constructs a new SyncSharedMemory object

Açıklama

public SyncSharedMemory::__construct(string $name, int $size)

Constructs a named shared memory object.

Bağımsız Değişkenler

name

The name of the shared memory object.

Bilginize:

If the name already exists, it must be able to be opened by the current user that the process is running as or an exception will be thrown with a meaningless error message.

size

The size, in bytes, of shared memory to reserve.

Bilginize:

The amount of memory cannot be resized later. Request sufficient storage up front.

Dönen Değerler

The new SyncSharedMemory object.

Hatalar/İstisnalar

An exception is thrown if the shared memory object cannot be created or opened.

Örnekler

Örnek 1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
// Do first time initialization work here.
}

$result = $mem->write(json_encode(array("name" => "my_report.txt")));
?>

Ayrıca Bakınız

  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::size() - Returns the size of the named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Check to see if the object is the first instance system-wide of named shared memory

  • « SyncSharedMemory::__construct
  • SyncSharedMemory::read »
  • PHP Manual
  • SyncSharedMemory
  • Check to see if the object is the first instance system-wide of named shared memory

SyncSharedMemory::first

(PECL sync >= 1.1.0)

SyncSharedMemory::first — Check to see if the object is the first instance system-wide of named shared memory

Açıklama

public SyncSharedMemory::first(): bool

Retrieves the system-wide first instance status of a SyncSharedMemory object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SyncSharedMemory::first() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
// Do first time initialization work here.
}

var_dump($mem->first());

$mem2 = new SyncSharedMemory("AppReportName", 1024);

var_dump($mem2->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)

Ayrıca Bakınız

  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Copy data from named shared memory

  • « SyncSharedMemory::first
  • SyncSharedMemory::size »
  • PHP Manual
  • SyncSharedMemory
  • Copy data from named shared memory

SyncSharedMemory::read

(PECL sync >= 1.1.0)

SyncSharedMemory::read — Copy data from named shared memory

Açıklama

public SyncSharedMemory::read(int $start = 0, int $length = ?)

Copies data from named shared memory.

Bağımsız Değişkenler

start

The start/offset, in bytes, to begin reading.

Bilginize:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

length

The number of bytes to read.

Bilginize:

If unspecified, reading will stop at the end of the shared memory segment.

If the value is negative, reading will stop the specified number of bytes from the end of the shared memory segment.

Dönen Değerler

A string containing the data read from shared memory.

Örnekler

Örnek 1 SyncSharedMemory::__construct() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
// Do first time initialization work here.
}

$result = $mem->write("report.txt");

$result = $mem->read(3, -4);
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(3) "ort"

Ayrıca Bakınız

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read()


Returns the size of the named shared memory

  • « SyncSharedMemory::read
  • SyncSharedMemory::write »
  • PHP Manual
  • SyncSharedMemory
  • Returns the size of the named shared memory

SyncSharedMemory::size

(PECL sync >= 1.1.0)

SyncSharedMemory::size — Returns the size of the named shared memory

Açıklama

public SyncSharedMemory::size(): int

Retrieves the shared memory size of a SyncSharedMemory object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An integer containing the size of the shared memory. This will be the same size that was passed to the constructor.

Örnekler

Örnek 1 SyncSharedMemory::size() example

<?php
$mem = new SyncSharedMemory("AppReportName", 1024);
var_dump($mem->size());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1024)

Ayrıca Bakınız

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::write() - Copy data to named shared memory
  • SyncSharedMemory::read() - Copy data from named shared memory


Copy data to named shared memory

  • « SyncSharedMemory::size
  • Diğer Temel Eklentiler »
  • PHP Manual
  • SyncSharedMemory
  • Copy data to named shared memory

SyncSharedMemory::write

(PECL sync >= 1.1.0)

SyncSharedMemory::write — Copy data to named shared memory

Açıklama

public SyncSharedMemory::write(string $string = ?, int $start = 0)

Copies data to named shared memory.

Bağımsız Değişkenler

string

The data to write to shared memory.

Bilginize:

If the size of the data exceeds the size of the shared memory, the number of bytes written returned will be less than the length of the input.

start

The start/offset, in bytes, to begin writing.

Bilginize:

If the value is negative, the starting position will begin at the specified number of bytes from the end of the shared memory segment.

Dönen Değerler

An integer containing the number of bytes written to shared memory.

Örnekler

Örnek 1 SyncSharedMemory::write() example

<?php
// You will probably need to protect shared memory with other synchronization objects.
// Shared memory goes away when the last reference to it disappears.
$mem = new SyncSharedMemory("AppReportName", 1024);
if ($mem->first())
{
// Do first time initialization work here.
}

$result = $mem->write("report.txt");
var_dump($result);

$result = $mem->write("report.txt", -3);
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(3)

Ayrıca Bakınız

  • SyncSharedMemory::__construct() - Constructs a new SyncSharedMemory object
  • SyncSharedMemory::first() - Check to see if the object is the first instance system-wide of named shared memory
  • SyncSharedMemory::write()
  • SyncSharedMemory::read() - Copy data from named shared memory


Diğer Temel Eklentiler

  • GeoIP — Geo IP Location
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • GeoIP İşlevleri
  • FANN — FANN (Fast Artificial Neural Network)
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Fann İşlevleri
    • FANNConnection — The FANNConnection class
  • Igbinary
    • Giriş
    • Yapılandırma/Kurulum
    • Igbinary İşlevleri
  • JSON — JavaScript Nesne Bildirimi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • JsonException — JsonException sınıfı
    • JsonSerializable — JsonSerializable arayüzü
    • JSON İşlevleri
  • Simdjson
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Simdjson İşlevleri
    • SimdJsonException — The SimdJsonException class
    • SimdJsonValueError — The SimdJsonValueError class
  • Lua
    • Giriş
    • Yapılandırma/Kurulum
    • Lua — The Lua class
    • LuaClosure — The LuaClosure class
  • LuaSandbox
    • Giriş
    • Yapılandırma/Kurulum
    • Differences from Standard Lua
    • Örnekler
    • LuaSandbox — The LuaSandbox class
    • LuaSandboxFunction — The LuaSandboxFunction class
    • LuaSandboxError — The LuaSandboxError class
    • LuaSandboxErrorError — The LuaSandboxErrorError class
    • LuaSandboxFatalError — The LuaSandboxFatalError class
    • LuaSandboxMemoryError — The LuaSandboxMemoryError class
    • LuaSandboxRuntimeError — The LuaSandboxRuntimeError class
    • LuaSandboxSyntaxError — The LuaSandboxSyntaxError class
    • LuaSandboxTimeoutError — The LuaSandboxTimeoutError class
  • Misc — Çeşitli İşlevler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Çeşitli İşlevler
    • Sürüm Bilgisi
  • Random — Random Number Generators and Functions Related to Randomness
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Random İşlevleri
    • Random\Randomizer — The Random\Randomizer class
    • Random\Engine — The Random\Engine interface
    • Random\CryptoSafeEngine — The Random\CryptoSafeEngine interface
    • Random\Engine\Secure — The Random\Engine\Secure class
    • Random\Engine\Mt19937 — The Random\Engine\Mt19937 class
    • Random\Engine\PcgOneseq128XslRr64 — The Random\Engine\PcgOneseq128XslRr64 class
    • Random\Engine\Xoshiro256StarStar — The Random\Engine\Xoshiro256StarStar class
    • Random\RandomError — The Random\RandomError class
    • Random\BrokenRandomEngineError — The Random\BrokenRandomEngineError class
    • Random\RandomException — The Random\RandomException class
  • Seaslog
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Seaslog İşlevleri
    • SeasLog — The SeasLog class
  • SPL — Standard PHP Library (SPL)
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Datastructures
    • Yineleyiciler
    • Arayüzler
    • İstisnalar
    • SPL İşlevleri
    • Dosya İşleme
    • Çeşitli Sınıflar ve Arayüzler
  • Stream — Akımlar
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Akım Süzgeçleri
    • Akım Bağlamları
    • Akım Hataları
    • Örnekler
    • php_user_filter — php_user_filter sınıfı
    • streamWrapper — streamWrapper sınıfı
    • Akım İşlevleri
  • Swoole
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Swoole İşlevleri
    • Swoole\Async — The Swoole\Async class
    • Swoole\Atomic — The Swoole\Atomic class
    • Swoole\Buffer — The Swoole\Buffer class
    • Swoole\Channel — The Swoole\Channel class
    • Swoole\Client — The Swoole\Client class
    • Swoole\Connection\Iterator — The Swoole\Connection\Iterator class
    • Swoole\Coroutine — The Swoole\Coroutine class
    • Swoole\Event — The Swoole\Event class
    • Swoole\Exception — The Swoole\Exception class
    • Swoole\Http\Client — The Swoole\Http\Client class
    • Swoole\Http\Request — The Swoole\Http\Request class
    • Swoole\Http\Response — The Swoole\Http\Response class
    • Swoole\Http\Server — The Swoole\Http\Server class
    • Swoole\Lock — The Swoole\Lock class
    • Swoole\Mmap — The Swoole\Mmap class
    • Swoole\MySQL — The Swoole\MySQL class
    • Swoole\MySQL\Exception — The Swoole\MySQL\Exception class
    • Swoole\Process — The Swoole\Process class
    • Swoole\Redis\Server — The Swoole\Redis\Server class
    • Swoole\Serialize — The Swoole\Serialize class
    • Swoole\Server — The Swoole\Server class
    • Swoole\Table — The Swoole\Table class
    • Swoole\Timer — The Swoole\Timer class
    • Swoole\WebSocket\Frame — The Swoole\WebSocket\Frame class
    • Swoole\WebSocket\Server — The Swoole\WebSocket\Server class
  • Tidy
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • tidy — tidy sınıfı
    • tidyNode — tidyNode sınıfı
    • Tidy İşlevleri
  • Tokenizer — Simgeleştirici
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Simgeleştirici İşlevleri
    • PhpToken — PhpToken sınıfı
  • URL'ler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • URL İşlevleri
  • V8js — V8 Javascript Engine Integration
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • V8Js — The V8Js class
    • V8JsException — The V8JsException class
  • Yaml — YAML Data Serialization
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Callbacks
    • Yaml İşlevleri
  • Yaf — Yet Another Framework
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Application Configuration
    • Yaf_Application — The Yaf_Application class
    • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
    • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_Loader — The Yaf_Loader class
    • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Registry — The Yaf_Registry class
    • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Router — The Yaf_Router class
    • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Session — The Yaf_Session class
    • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
    • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
    • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
    • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
    • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
    • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
    • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
    • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
    • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class
  • Yaconf
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Yaconf — The Yaconf class
  • Taint
    • Giriş
    • Yapılandırma/Kurulum
    • More Details
    • Taint İşlevleri
  • Data Structures
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Ds\Collection — The Collection interface
    • Ds\Hashable — The Hashable interface
    • Ds\Sequence — The Sequence interface
    • Ds\Vector — The Vector class
    • Ds\Deque — The Deque class
    • Ds\Map — The Map class
    • Ds\Pair — The Pair class
    • Ds\Set — The Set class
    • Ds\Stack — The Stack class
    • Ds\Queue — The Queue class
    • Ds\PriorityQueue — The PriorityQueue class
  • var_representation
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • var_representation İşlevleri


Geo IP Location

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • GeoIP İşlevleri
    • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name — Get the two letter continent code
    • geoip_country_code_by_name — Get the two letter country code
    • geoip_country_code3_by_name — Get the three letter country code
    • geoip_country_name_by_name — Get the full country name
    • geoip_database_info — Get GeoIP Database information
    • geoip_db_avail — Determine if GeoIP Database is available
    • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
    • geoip_domain_by_name — Get the second level domain name
    • geoip_id_by_name — Get the Internet connection type
    • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name — Get the Internet connection speed
    • geoip_org_by_name — Get the organization name
    • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name — Get the country code and region
    • geoip_region_name_by_code — Returns the region name for some country and region code combo
    • geoip_setup_custom_directory — Set a custom directory for the GeoIP database
    • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo


Giriş

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

Uyarı

This extension does not support MaxMind's current "GeoIP2" databases, only the "GeoIP legacy" database files.


Gereksinimler

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from » http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from » Maxmind.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/geoip.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

GeoIP Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
geoip.custom_directory | "" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

geoip.custom_directory string

Empty by default, but can be set to force a different database path than the one compiled in the library.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

GEOIP_COUNTRY_EDITION (int)
GEOIP_REGION_EDITION_REV0 (int)
GEOIP_CITY_EDITION_REV0 (int)
GEOIP_ORG_EDITION (int)
GEOIP_ISP_EDITION (int)
GEOIP_CITY_EDITION_REV1 (int)
GEOIP_REGION_EDITION_REV1 (int)
GEOIP_PROXY_EDITION (int)
GEOIP_ASNUM_EDITION (int)
GEOIP_NETSPEED_EDITION (int)
GEOIP_DOMAIN_EDITION (int)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (int)
GEOIP_DIALUP_SPEED (int)
GEOIP_CABLEDSL_SPEED (int)
GEOIP_CORPORATE_SPEED (int)


GeoIP İşlevleri

İçindekiler

  • geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)
  • geoip_continent_code_by_name — Get the two letter continent code
  • geoip_country_code_by_name — Get the two letter country code
  • geoip_country_code3_by_name — Get the three letter country code
  • geoip_country_name_by_name — Get the full country name
  • geoip_database_info — Get GeoIP Database information
  • geoip_db_avail — Determine if GeoIP Database is available
  • geoip_db_filename — Returns the filename of the corresponding GeoIP Database
  • geoip_db_get_all_info — Returns detailed information about all GeoIP database types
  • geoip_domain_by_name — Get the second level domain name
  • geoip_id_by_name — Get the Internet connection type
  • geoip_isp_by_name — Get the Internet Service Provider (ISP) name
  • geoip_netspeedcell_by_name — Get the Internet connection speed
  • geoip_org_by_name — Get the organization name
  • geoip_record_by_name — Returns the detailed City information found in the GeoIP Database
  • geoip_region_by_name — Get the country code and region
  • geoip_region_name_by_code — Returns the region name for some country and region code combo
  • geoip_setup_custom_directory — Set a custom directory for the GeoIP database
  • geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo


Get the Autonomous System Numbers (ASN)

  • « GeoIP İşlevleri
  • geoip_continent_code_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the Autonomous System Numbers (ASN)

geoip_asnum_by_name

(PECL geoip >= 1.1.0)

geoip_asnum_by_name — Get the Autonomous System Numbers (ASN)

Açıklama

geoip_asnum_by_name(string $hostname): string

The geoip_asnum_by_name() function will return the Autonomous System Numbers (ASN) associated with an IP address.

Bağımsız Değişkenler

hostname

The hostname or IP address.

Dönen Değerler

Returns the ASN on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_asnum_by_name() example

This will output the ASN of the host www.example.com.

<?php
$asn = geoip_asnum_by_name('www.example.com');

if ($asn) {
echo 'The ASN is: ' . $asn;
}
?>

Yukarıdaki örneğin çıktısı:

The ASN is: AS15133 EdgeCast Networks, Inc


Get the two letter continent code

  • « geoip_asnum_by_name
  • geoip_country_code_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the two letter continent code

geoip_continent_code_by_name

(PECL geoip >= 1.0.3)

geoip_continent_code_by_name — Get the two letter continent code

Açıklama

geoip_continent_code_by_name(string $hostname): string

The geoip_continent_code_by_name() function will return the two letter continent code corresponding to a hostname or an IP address.

Bağımsız Değişkenler

hostname

The hostname or IP address whose location is to be looked-up.

Dönen Değerler

Returns the two letter continent code on success, or false if the address cannot be found in the database.

Continent codes
Code | Continent name
AF | Africa
AN | Antarctica
AS | Asia
EU | Europe
NA | North america
OC | Oceania
SA | South america

Örnekler

Örnek 1 A geoip_continent_code_by_name() example

This will print where the host example.com is located.

<?php
$continent = geoip_continent_code_by_name('www.example.com');
if ($continent) {
echo 'This host is located in: ' . $continent;
}
?>

Yukarıdaki örneğin çıktısı:

 This host is located in: NA

Ayrıca Bakınız

  • geoip_country_code_by_name() - Get the two letter country code


Get the two letter country code

  • « geoip_continent_code_by_name
  • geoip_country_code3_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the two letter country code

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name — Get the two letter country code

Açıklama

geoip_country_code_by_name(string $hostname): string

The geoip_country_code_by_name() function will return the two letter country code corresponding to a hostname or an IP address.

Bağımsız Değişkenler

hostname

The hostname or IP address whose location is to be looked-up.

Dönen Değerler

Returns the two letter ISO country code on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_country_code_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code_by_name('www.example.com');
if ($country) {
echo 'This host is located in: ' . $country;
}
?>

Yukarıdaki örneğin çıktısı:

This host is located in: US

Notlar

Dikkat

Please see » http://www.maxmind.com/en/iso3166 for a complete list of possible return values, including special codes.

Ayrıca Bakınız

  • geoip_country_code3_by_name() - Get the three letter country code
  • geoip_country_name_by_name() - Get the full country name


Get the three letter country code

  • « geoip_country_code_by_name
  • geoip_country_name_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the three letter country code

geoip_country_code3_by_name

(PECL geoip >= 0.2.0)

geoip_country_code3_by_name — Get the three letter country code

Açıklama

geoip_country_code3_by_name(string $hostname): string

The geoip_country_code3_by_name() function will return the three letter country code corresponding to a hostname or an IP address.

Bağımsız Değişkenler

hostname

The hostname or IP address whose location is to be looked-up.

Dönen Değerler

Returns the three letter country code on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_country_code3_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_code3_by_name('www.example.com');
if ($country) {
echo 'This host is located in: ' . $country;
}
?>

Yukarıdaki örneğin çıktısı:

This host is located in: USA

Ayrıca Bakınız

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_name_by_name() - Get the full country name


Get the full country name

  • « geoip_country_code3_by_name
  • geoip_database_info »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the full country name

geoip_country_name_by_name

(PECL geoip >= 0.2.0)

geoip_country_name_by_name — Get the full country name

Açıklama

geoip_country_name_by_name(string $hostname): string

The geoip_country_name_by_name() function will return the full country name corresponding to a hostname or an IP address.

Bağımsız Değişkenler

hostname

The hostname or IP address whose location is to be looked-up.

Dönen Değerler

Returns the country name on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_country_name_by_name() example

This will print where the host example.com is located.

<?php
$country = geoip_country_name_by_name('www.example.com');
if ($country) {
echo 'This host is located in: ' . $country;
}
?>

Yukarıdaki örneğin çıktısı:

 This host is located in: United States

Ayrıca Bakınız

  • geoip_country_code_by_name() - Get the two letter country code
  • geoip_country_code3_by_name() - Get the three letter country code


Get GeoIP Database information

  • « geoip_country_name_by_name
  • geoip_db_avail »
  • PHP Manual
  • GeoIP İşlevleri
  • Get GeoIP Database information

geoip_database_info

(PECL geoip >= 0.2.0)

geoip_database_info — Get GeoIP Database information

Açıklama

geoip_database_info(int $database = GEOIP_COUNTRY_EDITION): string

The geoip_database_info() function returns the corresponding GeoIP Database version as it is defined inside the binary file.

If this function is called without arguments, it returns the version of the GeoIP Free Country Edition.

Bağımsız Değişkenler

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Dönen Değerler

Returns the corresponding database version, or null on error.

Örnekler

Örnek 1 A geoip_database_info() example

This will output information regarding the database.

<?php
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Yukarıdaki örneğin çıktısı:

GEO-106FREE 20060801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved


Determine if GeoIP Database is available

  • « geoip_database_info
  • geoip_db_filename »
  • PHP Manual
  • GeoIP İşlevleri
  • Determine if GeoIP Database is available

geoip_db_avail

(PECL geoip >= 1.0.1)

geoip_db_avail — Determine if GeoIP Database is available

Açıklama

geoip_db_avail(int $database): bool

The geoip_db_avail() function returns if the corresponding GeoIP Database is available and can be opened on disk.

It does not indicate if the file is a proper database, only if it is readable.

Bağımsız Değişkenler

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Dönen Değerler

Returns true is database exists, false if not found, or null on error.

Örnekler

Örnek 1 A geoip_db_avail() example

This will output the current database version string.

<?php

if (geoip_db_avail(GEOIP_COUNTRY_EDITION))
print geoip_database_info(GEOIP_COUNTRY_EDITION);
?>

Yukarıdaki örneğin çıktısı:

GEO-106FREE 20080801 Build 1 Copyright (c) 2006 MaxMind LLC All Rights Reserved


Returns the filename of the corresponding GeoIP Database

  • « geoip_db_avail
  • geoip_db_get_all_info »
  • PHP Manual
  • GeoIP İşlevleri
  • Returns the filename of the corresponding GeoIP Database

geoip_db_filename

(PECL geoip >= 1.0.1)

geoip_db_filename — Returns the filename of the corresponding GeoIP Database

Açıklama

geoip_db_filename(int $database): string

The geoip_db_filename() function returns the filename of the corresponding GeoIP Database.

It does not indicate if the file exists or not on disk, only where the library is looking for the database.

Bağımsız Değişkenler

database

The database type as an integer. You can use the various constants defined with this extension (ie: GEOIP_*_EDITION).

Dönen Değerler

Returns the filename of the corresponding database, or null on error.

Örnekler

Örnek 1 A geoip_db_filename() example

This will output the filename of the corresponding database.

<?php

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Yukarıdaki örneğin çıktısı:

/usr/share/GeoIP/GeoIP.dat


Returns detailed information about all GeoIP database types

  • « geoip_db_filename
  • geoip_domain_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Returns detailed information about all GeoIP database types

geoip_db_get_all_info

(PECL geoip >= 1.0.1)

geoip_db_get_all_info — Returns detailed information about all GeoIP database types

Açıklama

geoip_db_get_all_info(): array

The geoip_db_get_all_info() function will return detailed information as a multi-dimensional array about all the GeoIP database types.

This function is available even if no databases are installed. It will simply list them as non-available.

The names of the different keys of the returning associative array are as follows:

  • "available" -- Boolean, indicate if DB is available (see geoip_db_avail())
  • "description" -- The database description
  • "filename" -- The database filename on disk (see geoip_db_filename())

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the associative array.

Örnekler

Örnek 1 A geoip_db_get_all_info() example

This will print the array containing all the information.

<?php
$infos = geoip_db_get_all_info();
if (is_array($infos)) {
var_dump($infos);
}
?>

Yukarıdaki örneğin çıktısı:

array(11) {
  [1]=>
  array(3) {
    ["available"]=>
    bool(true)
    ["description"]=>
    string(21) "GeoIP Country Edition"
    ["filename"]=>
    string(32) "/usr/share/GeoIP/GeoIP.dat"
  }

[ ... ]

  [11]=>
  array(3) {
    ["available"]=>
    bool(false)
    ["description"]=>
    string(25) "GeoIP Domain Name Edition"
    ["filename"]=>
    string(38) "/usr/share/GeoIP/GeoIPDomain.dat"
  }
}

Örnek 2 A geoip_db_get_all_info() example

You can use the various constants as keys to get only parts of the information.

<?php
$infos = geoip_db_get_all_info();
if ($infos[GEOIP_COUNTRY_EDITION]['available']) {
echo $infos[GEOIP_COUNTRY_EDITION]['description'];
}
?>

Yukarıdaki örneğin çıktısı:

GeoIP Country Edition


Get the second level domain name

  • « geoip_db_get_all_info
  • geoip_id_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the second level domain name

geoip_domain_by_name

(PECL geoip >= 1.1.0)

geoip_domain_by_name — Get the second level domain name

Açıklama

geoip_domain_by_name(string $hostname): string

The geoip_domain_by_name() function will return the second level domain names associated with a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Domain Edition. A warning will be issued if the proper database cannot be located.

Bağımsız Değişkenler

hostname

The hostname or IP address.

Dönen Değerler

Returns the domain name on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_domain_by_name() example

This will output the domain associated with IP 61.106.139.1.

<?php
$domain = geoip_domain_by_name('61.106.139.1');

if ($domain) {
echo 'The domain is: '. $domain;
}

?>

Yukarıdaki örneğin çıktısı:

The domain is: von.co.kr


Get the Internet connection type

  • « geoip_domain_by_name
  • geoip_isp_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the Internet connection type

geoip_id_by_name

(PECL geoip >= 0.2.0)

geoip_id_by_name — Get the Internet connection type

Açıklama

geoip_id_by_name(string $hostname): int

The geoip_id_by_name() function will return the Internet connection type corresponding to a hostname or an IP address.

The return value is numeric and can be compared to the following constants:

  • GEOIP_UNKNOWN_SPEED
  • GEOIP_DIALUP_SPEED
  • GEOIP_CABLEDSL_SPEED
  • GEOIP_CORPORATE_SPEED

Bağımsız Değişkenler

hostname

The hostname or IP address whose connection type is to be looked-up.

Dönen Değerler

Returns the connection type.

Örnekler

Örnek 1 A geoip_id_by_name() example

This will output the connection type of the host example.com.

<?php
$netspeed = geoip_id_by_name('www.example.com');

echo 'The connection type is ';

switch ($netspeed) {
case GEOIP_DIALUP_SPEED:
echo 'dial-up';
break;
case GEOIP_CABLEDSL_SPEED:
echo 'cable or DSL';
break;
case GEOIP_CORPORATE_SPEED:
echo 'corporate';
break;
case GEOIP_UNKNOWN_SPEED:
default:
echo 'unknown';
}
?>

Yukarıdaki örneğin çıktısı:

The connection type is corporate


Get the Internet Service Provider (ISP) name

  • « geoip_id_by_name
  • geoip_netspeedcell_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the Internet Service Provider (ISP) name

geoip_isp_by_name

(PECL geoip >= 1.0.2)

geoip_isp_by_name — Get the Internet Service Provider (ISP) name

Açıklama

geoip_isp_by_name(string $hostname): string

The geoip_isp_by_name() function will return the name of the Internet Service Provider (ISP) that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP ISP Edition. A warning will be issued if the proper database cannot be located.

Bağımsız Değişkenler

hostname

The hostname or IP address.

Dönen Değerler

Returns the ISP name on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_isp_by_name() example

This will print the ISP name of host example.com.

<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
echo 'This host IP is from ISP: ' . $isp;
}
?>

Yukarıdaki örneğin çıktısı:

This host IP is from ISP: ICANN c/o Internet Assigned Numbers Authority


Get the Internet connection speed

  • « geoip_isp_by_name
  • geoip_org_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the Internet connection speed

geoip_netspeedcell_by_name

(PECL geoip >= 1.1.0)

geoip_netspeedcell_by_name — Get the Internet connection speed

Açıklama

geoip_netspeedcell_by_name(string $hostname): string

The geoip_netspeedcell_by_name() function will return the Internet connection type and speed corresponding to a hostname or an IP address.

This function is only available if using GeoIP Library version 1.4.8 or newer.

This function is currently only available to users who have bought a commercial GeoIP NetSpeedCell Edition. A warning will be issued if the proper database cannot be located.

The return value is a string, common values are:

  • Cable/DSL
  • Dialup
  • Cellular
  • Corporate

Bağımsız Değişkenler

hostname

The hostname or IP address.

Dönen Değerler

Returns the connection speed on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_netspeedcell_by_name() example

This will output the connection speed of the host example.com.

<?php
$netspeed = geoip_netspeedcell_by_name('www.example.com');

if ($netspeed) {
echo 'The connection type is: '. $netspeed;
}
?>

Yukarıdaki örneğin çıktısı:

The connection type is: Corporate


Get the organization name

  • « geoip_netspeedcell_by_name
  • geoip_record_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the organization name

geoip_org_by_name

(PECL geoip >= 0.2.0)

geoip_org_by_name — Get the organization name

Açıklama

geoip_org_by_name(string $hostname): string

The geoip_org_by_name() function will return the name of the organization that an IP is assigned to.

This function is currently only available to users who have bought a commercial GeoIP Organization, ISP or AS Edition. A warning will be issued if the proper database cannot be located.

Bağımsız Değişkenler

hostname

The hostname or IP address.

Dönen Değerler

Returns the organization name on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_org_by_name() example

This will print to whom the host example.com IP is allocated.

<?php
$org = geoip_org_by_name('www.example.com');
if ($org) {
echo 'This host IP is allocated to: ' . $org;
}
?>

Yukarıdaki örneğin çıktısı:

This host IP is allocated to: ICANN c/o Internet Assigned Numbers Authority


Returns the detailed City information found in the GeoIP Database

  • « geoip_org_by_name
  • geoip_region_by_name »
  • PHP Manual
  • GeoIP İşlevleri
  • Returns the detailed City information found in the GeoIP Database

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name — Returns the detailed City information found in the GeoIP Database

Açıklama

geoip_record_by_name(string $hostname): array

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "continent_code" -- Two letter continent code (as of version 1.0.4 with libgeoip 1.4.3 or newer)
  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "country_code3" -- Three letter country code (see geoip_country_code3_by_name())
  • "country_name" -- The country name (see geoip_country_name_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed float.
  • "longitude" -- The Longitude as signed float.
  • "dma_code" -- Designated Market Area code (USA and Canada only)
  • "area_code" -- The PSTN area code (ex: 212)

Bağımsız Değişkenler

hostname

The hostname or IP address whose record is to be looked-up.

Dönen Değerler

Returns the associative array on success, or false if the address cannot be found in the database.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL geoip 1.0.4 | Adding the continent_code with GeoIP Library 1.4.3 or newer only
PECL geoip 1.0.3 | Adding country_code3 and country_name

Örnekler

Örnek 1 A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record = geoip_record_by_name('www.example.com');
if ($record) {
print_r($record);
}
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] =>
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)


Get the country code and region

  • « geoip_record_by_name
  • geoip_region_name_by_code »
  • PHP Manual
  • GeoIP İşlevleri
  • Get the country code and region

geoip_region_by_name

(PECL geoip >= 0.2.0)

geoip_region_by_name — Get the country code and region

Açıklama

geoip_region_by_name(string $hostname): array

The geoip_region_by_name() function will return the country and region corresponding to a hostname or an IP address.

This function is currently only available to users who have bought a commercial GeoIP Region Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "region" -- The region code (ex: CA for California)

Bağımsız Değişkenler

hostname

The hostname or IP address whose region is to be looked-up.

Dönen Değerler

Returns the associative array on success, or false if the address cannot be found in the database.

Örnekler

Örnek 1 A geoip_region_by_name() example

This will print the array containing the country code and region of the host example.com.

<?php
$region = geoip_region_by_name('www.example.com');
if ($region) {
print_r($region);
}
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [country_code] => US
    [region] => CA
)


Returns the region name for some country and region code combo

  • « geoip_region_by_name
  • geoip_setup_custom_directory »
  • PHP Manual
  • GeoIP İşlevleri
  • Returns the region name for some country and region code combo

geoip_region_name_by_code

(PECL geoip >= 1.0.4)

geoip_region_name_by_code — Returns the region name for some country and region code combo

Açıklama

geoip_region_name_by_code(string $country_code, string $region_code): string

The geoip_region_name_by_code() function will return the region name corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Bağımsız Değişkenler

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Dönen Değerler

Returns the region name on success, or false if the country and region code combo cannot be found.

Örnekler

Örnek 1 A geoip_region_name_by_code() example using region code for US/Canada

This will print the region name for country CA (Canada), region QC (Quebec).

<?php
$region = geoip_region_name_by_code('CA', 'QC');
if ($region) {
echo 'Region name for CA/QC is: ' . $region;
}
?>

Yukarıdaki örneğin çıktısı:

Region name for CA/QC is: Quebec

Örnek 2 A geoip_region_name_by_code() example using FIPS codes

This will print the region name for country JP (Japan), region 01.

<?php
$region = geoip_region_name_by_code('JP', '01');
if ($region) {
echo 'Region name for JP/01 is: ' . $region;
}
?>

Yukarıdaki örneğin çıktısı:

Region name for JP/01 is: Aichi


Set a custom directory for the GeoIP database

  • « geoip_region_name_by_code
  • geoip_time_zone_by_country_and_region »
  • PHP Manual
  • GeoIP İşlevleri
  • Set a custom directory for the GeoIP database

geoip_setup_custom_directory

(PECL geoip >= 1.1.0)

geoip_setup_custom_directory — Set a custom directory for the GeoIP database

Açıklama

geoip_setup_custom_directory(string $path): void

The geoip_setup_custom_directory() function will change the default directory of the GeoIP database. This is equivalent to changing geoip.custom_directory.

Bağımsız Değişkenler

path

The full path of where the GeoIP database is on disk.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 A geoip_setup_custom_directory() example

This will change the GeoIP default database path.

<?php

geoip_setup_custom_directory('/some/other/path');

print geoip_db_filename(GEOIP_COUNTRY_EDITION);

?>

Yukarıdaki örneğin çıktısı:

/some/other/path/GeoIP.dat


Returns the time zone for some country and region code combo

  • « geoip_setup_custom_directory
  • FANN »
  • PHP Manual
  • GeoIP İşlevleri
  • Returns the time zone for some country and region code combo

geoip_time_zone_by_country_and_region

(PECL geoip >= 1.0.4)

geoip_time_zone_by_country_and_region — Returns the time zone for some country and region code combo

Açıklama

geoip_time_zone_by_country_and_region(string $country_code, string $region_code = ?): string

The geoip_time_zone_by_country_and_region() function will return the time zone corresponding to a country and region code combo.

In the United States, the region code corresponds to the two-letter abbreviation of each state. In Canada, the region code corresponds to the two-letter province or territory code as attributed by Canada Post.

For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check » http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.

This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken directly from the GeoIP Library and not from any database.

Bağımsız Değişkenler

country_code

The two-letter country code (see geoip_country_code_by_name())

region_code

The two-letter (or digit) region code (see geoip_region_by_name())

Dönen Değerler

Returns the time zone on success, or false if the country and region code combo cannot be found.

Örnekler

Örnek 1 A geoip_time_zone_by_country_and_region() example using region code for US/Canada

This will print the time zone for country CA (Canada), region QC (Quebec).

<?php
$timezone = geoip_time_zone_by_country_and_region('CA', 'QC');
if ($timezone) {
echo 'Time zone for CA/QC is: ' . $timezone;
}
?>

Yukarıdaki örneğin çıktısı:

Time zone for CA/QC is: America/Montreal

Örnek 2 A geoip_time_zone_by_country_and_region() example using FIPS codes

This will print the time zone for country JP (Japan), region 01 (Aichi).

<?php
$timezone = geoip_time_zone_by_country_and_region('JP', '01');
if ($timezone) {
echo 'Time zone for JP/01 is: ' . $timezone;
}
?>

Yukarıdaki örneğin çıktısı:

Time zone for JP/01 is: Asia/Tokyo


FANN (Fast Artificial Neural Network)

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • XOR training
  • Fann İşlevleri
    • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
    • fann_clear_scaling_params — Clears scaling parameters
    • fann_copy — Creates a copy of a fann structure
    • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_standard — Creates a standard fully connected backpropagation neural network
    • fann_create_train_from_callback — Creates the training data struct from a user supplied function
    • fann_create_train — Creates an empty training data struct
    • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train — Descale input and output data based on previously calculated parameters
    • fann_destroy_train — Destructs the training data
    • fann_destroy — Destroys the entire network and properly freeing all the associated memory
    • fann_duplicate_train_data — Returns an exact copy of a fann train data
    • fann_get_activation_function — Returns the activation function
    • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array — Get the number of bias in each layer in the network
    • fann_get_bit_fail_limit — Returns the bit fail limit used during training
    • fann_get_bit_fail — The number of fail bits
    • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
    • fann_get_cascade_activation_functions — Returns the cascade activation functions
    • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
    • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
    • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit — Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
    • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
    • fann_get_cascade_num_candidates — Returns the number of candidates used during training
    • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier — Returns the weight multiplier
    • fann_get_connection_array — Get connections in the network
    • fann_get_connection_rate — Get the connection rate used when the network was created
    • fann_get_errno — Returns the last error number
    • fann_get_errstr — Returns the last errstr
    • fann_get_layer_array — Get the number of neurons in each layer in the network
    • fann_get_learning_momentum — Returns the learning momentum
    • fann_get_learning_rate — Returns the learning rate
    • fann_get_MSE — Reads the mean square error from the network
    • fann_get_network_type — Get the type of neural network it was created as
    • fann_get_num_input — Get the number of input neurons
    • fann_get_num_layers — Get the number of layers in the neural network
    • fann_get_num_output — Get the number of output neurons
    • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu — Returns the mu factor
    • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max — Returns the maximum step-size
    • fann_get_rprop_delta_min — Returns the minimum step-size
    • fann_get_rprop_delta_zero — Returns the initial step-size
    • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature — Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
    • fann_get_total_connections — Get the total number of connections in the entire network
    • fann_get_total_neurons — Get the total number of neurons in the entire network
    • fann_get_train_error_function — Returns the error function used during training
    • fann_get_train_stop_function — Returns the stop function used during training
    • fann_get_training_algorithm — Returns the training algorithm
    • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data — Returns the number of training patterns in the train data
    • fann_merge_train_data — Merges the train data
    • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error — Prints the error string
    • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file — Reads a file that stores training data
    • fann_reset_errno — Resets the last error number
    • fann_reset_errstr — Resets the last error string
    • fann_reset_MSE — Resets the mean square error from the network
    • fann_run — Will run input through the neural network
    • fann_save_train — Save the training structure to a file
    • fann_save — Saves the entire network to a configuration file
    • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
    • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
    • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
    • fann_scale_train — Scale input and output data based on previously calculated parameters
    • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer
    • fann_set_activation_function_output — Sets the activation function for the output layer
    • fann_set_activation_function — Sets the activation function for supplied neuron and layer
    • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
    • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
    • fann_set_bit_fail_limit — Set the bit fail limit used during training
    • fann_set_callback — Sets the callback function for use during training
    • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit — Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier — Sets the weight multiplier
    • fann_set_error_log — Sets where the errors are logged to
    • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum — Sets the learning momentum
    • fann_set_learning_rate — Sets the learning rate
    • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay — Sets the quickprop decay factor
    • fann_set_quickprop_mu — Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max — Sets the maximum step-size
    • fann_set_rprop_delta_min — Sets the minimum step-size
    • fann_set_rprop_delta_zero — Sets the initial step-size
    • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature — Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
    • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
    • fann_set_train_error_function — Sets the error function used during training
    • fann_set_train_stop_function — Sets the stop function used during training
    • fann_set_training_algorithm — Sets the training algorithm
    • fann_set_weight_array — Set connections in the network
    • fann_set_weight — Set a connection in the network
    • fann_shuffle_train_data — Shuffles training data, randomizing the order
    • fann_subset_train_data — Returns an copy of a subset of the train data
    • fann_test_data — Test a set of training data and calculates the MSE for the training data
    • fann_test — Test with a set of inputs, and a set of desired outputs
    • fann_train_epoch — Train one epoch with a set of training data
    • fann_train_on_data — Trains on an entire dataset for a period of time
    • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
    • fann_train — Train one iteration with a set of inputs, and a set of desired outputs
  • FANNConnection — The FANNConnection class
    • FANNConnection::__construct — The connection constructor
    • FANNConnection::getFromNeuron — Returns the postions of starting neuron
    • FANNConnection::getToNeuron — Returns the postions of terminating neuron
    • FANNConnection::getWeight — Returns the connection weight
    • FANNConnection::setWeight — Sets the connections weight


Giriş

PHP binding for FANN (Fast Artificial Neural Network) Library which implements multilayer artificial neural networks with support for both fully connected and sparsely connected networks. It includes a framework for easy handling of training data sets. It is easy to use, versatile, well documented, and fast.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

PHP >= 5.2.0 and libfann >= 2.1.0


Kurulum

The FANN PHP extension should work on all Linux systems.

  • FANN Library Installation
  • PECL Installation
  • Manual Installation

FANN Library Installation

Before you start installation make sure that libfann is installed on your system. It's part of the main repository in the most Linux distributions (search for fann). You need a development version.

If it is not installed, you need to install it first. Either download it from the » official site or get it from your distro repository. For example on Fedora:

$ sudo yum install fann-devel
or Ubuntu:

$ sudo apt-get install libfann-dev

If the library is re-installed manually, then all old library file should be removed before re-installing otherwise the old library version could be linked.

PECL Installation

This extension is available on PECL. The installation is very simple. Just run:

$ sudo pecl install fann

Manual Installation

For developers and people interested in the latest changes, you can compile the driver from the latest source code on » Github. Go to Github and click the "Download ZIP" button. Then run:

$ unzip php-fann-master.zip
$ cd php-fann-master
$ phpize
$ ./configure
$ make all
$ sudo make install

Make the following changes to php.ini:

  • Make sure the extension_dir variable is pointing to the directory containing fann.so. The build will display where it is installing the PHP driver with output that looks something like:

Installing '/usr/lib/php/extensions/no-debug-non-zts-20060613/fann.so'
    Make sure that it is the same as the PHP extension directory by running:

$ php -i | grep extension_dir
  extension_dir => /usr/lib/php/extensions/no-debug-non-zts-20060613 =>
                   /usr/lib/php/extensions/no-debug-non-zts-20060613
    If it's not, change the extension_dir in php.ini or move fann.so.

  • To load the extension on PHP startup, add a line:

extension=fann.so


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Training algorithms
FANN_TRAIN_INCREMENTAL (int)
Standard backpropagation algorithm, where the weights are updated after each training pattern. This means that the weights are updated many times during a single epoch. For this reason some problems, will train very fast with this algorithm, while other more advanced problems will not train very well.
FANN_TRAIN_BATCH (int)
Standard backpropagation algorithm, where the weights are updated after calculating the mean square error for the whole training set. This means that the weights are only updated once during a epoch. For this reason some problems, will train slower with this algorithm. But since the mean square error is calculated more correctly than in incremental training, some problems will reach a better solutions with this algorithm.
FANN_TRAIN_RPROP (int)
A more advanced batch training algorithm which achieves good results for many problems. The RPROP training algorithm is adaptive, and does therefore not use the learning_rate. Some other parameters can however be set to change the way the RPROP algorithm works, but it is only recommended for users with insight in how the RPROP training algorithm works. The RPROP training algorithm is described by [Riedmiller and Braun, 1993], but the actual learning algorithm used here is the iRPROP- training algorithm which is described by [Igel and Husken, 2000] which is an variety of the standard RPROP training algorithm.
FANN_TRAIN_QUICKPROP (int)
A more advanced batch training algorithm which achieves good results for many problems. The quickprop training algorithm uses the learning_rate parameter along with other more advanced parameters, but it is only recommended to change these advanced parameters, for users with insight in how the quickprop training algorithm works. The quickprop training algorithm is described by [Fahlman, 1988].
FANN_TRAIN_SARPROP (int)
Even more advance training algorithm. Only for version 2.2
Activation functions
FANN_LINEAR (int)
Linear activation function.
FANN_THRESHOLD (int)
Threshold activation function.
FANN_THRESHOLD_SYMMETRIC (int)
Threshold activation function.
FANN_SIGMOID (int)
Sigmoid activation function.
FANN_SIGMOID_STEPWISE (int)
Stepwise linear approximation to sigmoid.
FANN_SIGMOID_SYMMETRIC (int)
Symmetric sigmoid activation function, aka. tanh.
FANN_SIGMOID_SYMMETRIC_STEPWISE (int)
Stepwise linear approximation to symmetric sigmoid
FANN_GAUSSIAN (int)
Gaussian activation function.
FANN_GAUSSIAN_SYMMETRIC (int)
Symmetric gaussian activation function.
FANN_GAUSSIAN_STEPWISE (int)
Stepwise gaussian activation function.
FANN_ELLIOT (int)
Fast (sigmoid like) activation function defined by David Elliott.
FANN_ELLIOT_SYMMETRIC (int)
Fast (symmetric sigmoid like) activation function defined by David Elliott.
FANN_LINEAR_PIECE (int)
Bounded linear activation function.
FANN_LINEAR_PIECE_SYMMETRIC (int)
Bounded linear activation function.
FANN_SIN_SYMMETRIC (int)
Periodical sinus activation function.
FANN_COS_SYMMETRIC (int)
Periodical cosinus activation function.
FANN_SIN (int)
Periodical sinus activation function.
FANN_COS (int)
Periodical cosinus activation function.
Error function used during training
FANN_ERRORFUNC_LINEAR (int)
Standard linear error function.
FANN_ERRORFUNC_TANH (int)
Tanh error function; usually better but may require a lower learning rate. This error function aggressively targets outputs that differ much from the desired, while not targeting outputs that only differ slightly. Not recommended for cascade or incremental training.
Stop criteria used during training
FANN_STOPFUNC_MSE (int)
Stop criteria is Mean Square Error (MSE) value.
FANN_STOPFUNC_BIT (int)
Stop criteria is number of bits that fail. The number of bits means the number of output neurons which differs more than the bit fail limit (see fann_get_bit_fail_limit, fann_set_bit_fail_limit). The bits are counted in all of the training data, so this number can be higher than the number of training data.
Definition of network types used by fann_get_network_type()
FANN_NETTYPE_LAYER (int)
Each layer only has connections to the next layer.
FANN_NETTYPE_SHORTCUT (int)
Each layer has connections to all following layers
Errors
FANN_E_NO_ERROR (int)
No error.
FANN_E_CANT_OPEN_CONFIG_R (int)
Unable to open configuration file for reading.
FANN_E_CANT_OPEN_CONFIG_W (int)
Unable to open configuration file for writing.
FANN_E_WRONG_CONFIG_VERSION (int)
Wrong version of configuration file.
FANN_E_CANT_READ_CONFIG (int)
Error reading info from configuration file.
FANN_E_CANT_READ_NEURON (int)
Error reading neuron info from configuration file.
FANN_E_CANT_READ_CONNECTIONS (int)
Error reading connections from configuration file.
FANN_E_WRONG_NUM_CONNECTIONS (int)
Number of connections not equal to the number expected.
FANN_E_CANT_OPEN_TD_W (int)
Unable to open train data file for writing.
FANN_E_CANT_OPEN_TD_R (int)
Unable to open train data file for reading.
FANN_E_CANT_READ_TD (int)
Error reading training data from file.
FANN_E_CANT_ALLOCATE_MEM (int)
Unable to allocate memory.
FANN_E_CANT_TRAIN_ACTIVATION (int)
Unable to train with the selected activation function.
FANN_E_CANT_USE_ACTIVATION (int)
Unable to use the selected activation function.
FANN_E_TRAIN_DATA_MISMATCH (int)
Irreconcilable differences between two struct fann_train_data structures.
FANN_E_CANT_USE_TRAIN_ALG (int)
Unable to use the selected training algorithm.
FANN_E_TRAIN_DATA_SUBSET (int)
Trying to take subset which is not within the training set.
FANN_E_INDEX_OUT_OF_BOUND (int)
Index is out of bound.
FANN_E_SCALE_NOT_PRESENT (int)
Scaling parameters not present.
FANN_E_INPUT_NO_MATCH (int)
The number of input neurons in the ann and data do not match
FANN_E_OUTPUT_NO_MATCH (int)
The number of output neurons in the ann and data do not match.


  • « Öntanımlı Sabitler
  • XOR training »
  • PHP Manual
  • FANN
  • Örnekler

Örnekler

İçindekiler

  • XOR training


XOR training

This example shows how to train data for XOR function

Örnek 1 xor.data file

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Örnek 2 Simple train

<?php
$num_input = 2;
$num_output = 1;
$num_layers = 3;
$num_neurons_hidden = 3;
$desired_error = 0.001;
$max_epochs = 500000;
$epochs_between_reports = 1000;

$ann = fann_create_standard($num_layers, $num_input, $num_neurons_hidden, $num_output);

if ($ann) {
fann_set_activation_function_hidden($ann, FANN_SIGMOID_SYMMETRIC);
fann_set_activation_function_output($ann, FANN_SIGMOID_SYMMETRIC);

$filename = dirname(__FILE__) . "/xor.data";
if (fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error))
fann_save($ann, dirname(__FILE__) . "/xor_float.net");

fann_destroy($ann);
}
?>

This example shows how to read and run data for XOR function

Örnek 3 Simple test

<?php
$train_file = (dirname(__FILE__) . "/xor_float.net");
if (!is_file($train_file))
die("The file xor_float.net has not been created! Please run simple_train.php to generate it");

$ann = fann_create_from_file($train_file);
if (!$ann)
die("ANN could not be created");

$input = array(-1, 1);
$calc_out = fann_run($ann, $input);
printf("xor test (%f,%f) -> %f\n", $input[0], $input[1], $calc_out[0]);
fann_destroy($ann);
?>


Fann İşlevleri

İçindekiler

  • fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
  • fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
  • fann_clear_scaling_params — Clears scaling parameters
  • fann_copy — Creates a copy of a fann structure
  • fann_create_from_file — Constructs a backpropagation neural network from a configuration file
  • fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_standard — Creates a standard fully connected backpropagation neural network
  • fann_create_train_from_callback — Creates the training data struct from a user supplied function
  • fann_create_train — Creates an empty training data struct
  • fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_descale_train — Descale input and output data based on previously calculated parameters
  • fann_destroy_train — Destructs the training data
  • fann_destroy — Destroys the entire network and properly freeing all the associated memory
  • fann_duplicate_train_data — Returns an exact copy of a fann train data
  • fann_get_activation_function — Returns the activation function
  • fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number
  • fann_get_bias_array — Get the number of bias in each layer in the network
  • fann_get_bit_fail_limit — Returns the bit fail limit used during training
  • fann_get_bit_fail — The number of fail bits
  • fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions
  • fann_get_cascade_activation_functions — Returns the cascade activation functions
  • fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses
  • fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses
  • fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction
  • fann_get_cascade_candidate_limit — Return the candidate limit
  • fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs
  • fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs
  • fann_get_cascade_max_out_epochs — Returns the maximum out epochs
  • fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs
  • fann_get_cascade_min_out_epochs — Returns the minimum out epochs
  • fann_get_cascade_num_candidate_groups — Returns the number of candidate groups
  • fann_get_cascade_num_candidates — Returns the number of candidates used during training
  • fann_get_cascade_output_change_fraction — Returns the cascade output change fraction
  • fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs
  • fann_get_cascade_weight_multiplier — Returns the weight multiplier
  • fann_get_connection_array — Get connections in the network
  • fann_get_connection_rate — Get the connection rate used when the network was created
  • fann_get_errno — Returns the last error number
  • fann_get_errstr — Returns the last errstr
  • fann_get_layer_array — Get the number of neurons in each layer in the network
  • fann_get_learning_momentum — Returns the learning momentum
  • fann_get_learning_rate — Returns the learning rate
  • fann_get_MSE — Reads the mean square error from the network
  • fann_get_network_type — Get the type of neural network it was created as
  • fann_get_num_input — Get the number of input neurons
  • fann_get_num_layers — Get the number of layers in the neural network
  • fann_get_num_output — Get the number of output neurons
  • fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
  • fann_get_quickprop_mu — Returns the mu factor
  • fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training
  • fann_get_rprop_delta_max — Returns the maximum step-size
  • fann_get_rprop_delta_min — Returns the minimum step-size
  • fann_get_rprop_delta_zero — Returns the initial step-size
  • fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training
  • fann_get_sarprop_step_error_shift — Returns the sarprop step error shift
  • fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor
  • fann_get_sarprop_temperature — Returns the sarprop temperature
  • fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift
  • fann_get_total_connections — Get the total number of connections in the entire network
  • fann_get_total_neurons — Get the total number of neurons in the entire network
  • fann_get_train_error_function — Returns the error function used during training
  • fann_get_train_stop_function — Returns the stop function used during training
  • fann_get_training_algorithm — Returns the training algorithm
  • fann_init_weights — Initialize the weights using Widrow + Nguyen’s algorithm
  • fann_length_train_data — Returns the number of training patterns in the train data
  • fann_merge_train_data — Merges the train data
  • fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data
  • fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data
  • fann_print_error — Prints the error string
  • fann_randomize_weights — Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file — Reads a file that stores training data
  • fann_reset_errno — Resets the last error number
  • fann_reset_errstr — Resets the last error string
  • fann_reset_MSE — Resets the mean square error from the network
  • fann_run — Will run input through the neural network
  • fann_save_train — Save the training structure to a file
  • fann_save — Saves the entire network to a configuration file
  • fann_scale_input_train_data — Scales the inputs in the training data to the specified range
  • fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_scale_output_train_data — Scales the outputs in the training data to the specified range
  • fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range
  • fann_scale_train — Scale input and output data based on previously calculated parameters
  • fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers
  • fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_output — Sets the activation function for the output layer
  • fann_set_activation_function — Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number
  • fann_set_bit_fail_limit — Set the bit fail limit used during training
  • fann_set_callback — Sets the callback function for use during training
  • fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions
  • fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses
  • fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction
  • fann_set_cascade_candidate_limit — Sets the candidate limit
  • fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs
  • fann_set_cascade_max_cand_epochs — Sets the max candidate epochs
  • fann_set_cascade_max_out_epochs — Sets the maximum out epochs
  • fann_set_cascade_min_cand_epochs — Sets the min candidate epochs
  • fann_set_cascade_min_out_epochs — Sets the minimum out epochs
  • fann_set_cascade_num_candidate_groups — Sets the number of candidate groups
  • fann_set_cascade_output_change_fraction — Sets the cascade output change fraction
  • fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs
  • fann_set_cascade_weight_multiplier — Sets the weight multiplier
  • fann_set_error_log — Sets where the errors are logged to
  • fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data
  • fann_set_learning_momentum — Sets the learning momentum
  • fann_set_learning_rate — Sets the learning rate
  • fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data
  • fann_set_quickprop_decay — Sets the quickprop decay factor
  • fann_set_quickprop_mu — Sets the quickprop mu factor
  • fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training
  • fann_set_rprop_delta_max — Sets the maximum step-size
  • fann_set_rprop_delta_min — Sets the minimum step-size
  • fann_set_rprop_delta_zero — Sets the initial step-size
  • fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training
  • fann_set_sarprop_step_error_shift — Sets the sarprop step error shift
  • fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor
  • fann_set_sarprop_temperature — Sets the sarprop temperature
  • fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift
  • fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data
  • fann_set_train_error_function — Sets the error function used during training
  • fann_set_train_stop_function — Sets the stop function used during training
  • fann_set_training_algorithm — Sets the training algorithm
  • fann_set_weight_array — Set connections in the network
  • fann_set_weight — Set a connection in the network
  • fann_shuffle_train_data — Shuffles training data, randomizing the order
  • fann_subset_train_data — Returns an copy of a subset of the train data
  • fann_test_data — Test a set of training data and calculates the MSE for the training data
  • fann_test — Test with a set of inputs, and a set of desired outputs
  • fann_train_epoch — Train one epoch with a set of training data
  • fann_train_on_data — Trains on an entire dataset for a period of time
  • fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time
  • fann_train — Train one iteration with a set of inputs, and a set of desired outputs


Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

  • « Fann İşlevleri
  • fann_cascadetrain_on_file »
  • PHP Manual
  • Fann İşlevleri
  • Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_data

(PECL fann >= 1.0.0)

fann_cascadetrain_on_data — Trains on an entire dataset, for a period of time using the Cascade2 training algorithm

Açıklama

fann_cascadetrain_on_data(
resource $ann,
resource $data,
int $max_neurons,
int $neurons_between_reports,
float $desired_error
): bool

The cascade output change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

This training uses the parameters set using the fann_set_cascade_..., but it also uses another training algorithm as it's internal training algorithm. This algorithm can be set to either FANN_TRAIN_RPROP or FANN_TRAIN_QUICKPROP by fann_set_training_algorithm(), and the parameters set for these training algorithms will also affect the cascade training.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

data

Sinir ağı eğitim verisi özkaynağı.

max_neurons

The maximum number of neurons to be added to neural network.

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function()

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_file() - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm


Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

  • « fann_cascadetrain_on_data
  • fann_clear_scaling_params »
  • PHP Manual
  • Fann İşlevleri
  • Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

fann_cascadetrain_on_file

(PECL fann >= 1.0.0)

fann_cascadetrain_on_file — Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm

Açıklama

fann_cascadetrain_on_file(
resource $ann,
string $filename,
int $max_neurons,
int $neurons_between_reports,
float $desired_error
): bool

Does the same as fann_cascadetrain_on_data(), but reads the training data directly from a file.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

filename

A file containing the data for training.

max_neurons

The maximum number of neurons to be added to neural network

neurons_between_reports

The number of neurons between printing a status report. A value of zero means no reports should be printed.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on which stop function is chosen by fann_set_train_stop_function().

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_cascadetrain_on_data() - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm


Clears scaling parameters

  • « fann_cascadetrain_on_file
  • fann_copy »
  • PHP Manual
  • Fann İşlevleri
  • Clears scaling parameters

fann_clear_scaling_params

(PECL fann >= 1.0.0)

fann_clear_scaling_params — Clears scaling parameters

Açıklama

fann_clear_scaling_params(resource $ann): bool

Clears scaling parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Creates a copy of a fann structure

  • « fann_clear_scaling_params
  • fann_create_from_file »
  • PHP Manual
  • Fann İşlevleri
  • Creates a copy of a fann structure

fann_copy

(PECL fann >= 1.0.0)

fann_copy — Creates a copy of a fann structure

Açıklama

fann_copy(resource $ann): resource

Creates a copy of a fann structure.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Returns a copy of neural network resource on success, or false on error

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_test() - Test with a set of inputs, and a set of desired outputs


Constructs a backpropagation neural network from a configuration file

  • « fann_copy
  • fann_create_shortcut_array »
  • PHP Manual
  • Fann İşlevleri
  • Constructs a backpropagation neural network from a configuration file

fann_create_from_file

(PECL fann >= 1.0.0)

fann_create_from_file — Constructs a backpropagation neural network from a configuration file

Açıklama

fann_create_from_file(string $configuration_file): resource

Constructs a backpropagation neural network from a configuration file, which have been saved by fann_save().

Bağımsız Değişkenler

configuration_file

The configuration file path.

Dönen Değerler

Başarı durumunda sinir ağı özkaynağı, hata durumunda false döner.

Ayrıca Bakınız

  • fann_save() - Saves the entire network to a configuration file


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

  • « fann_create_from_file
  • fann_create_shortcut »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut_array

(PECL fann >= 1.0.0)

fann_create_shortcut_array — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Açıklama

fann_create_shortcut_array(int $num_layers, array $layers): resource

Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections using an array of layers sizes.

Bağımsız Değişkenler

num_layers

The total number of layers including the input and the output layer.

layers

An array of layers sizes.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network


Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

  • « fann_create_shortcut_array
  • fann_create_sparse_array »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

fann_create_shortcut

(PECL fann >= 1.0.0)

fann_create_shortcut — Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections

Açıklama

fann_create_shortcut(
int $num_layers,
int $num_neurons1,
int $num_neurons2,
int ...$num_neuronsN
): resource

Creates a standard backpropagation neural network, which is not fully connected and which also has shortcut connections.

Shortcut connections are connections that skip layers. A fully connected network with shortcut connections, is a network where all neurons are connected to all neurons in later layers. Including direct connections from the input layer to the output layer.

Bağımsız Değişkenler

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_shortcut_array() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network


Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

  • « fann_create_shortcut
  • fann_create_sparse »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

fann_create_sparse_array

(PECL fann >= 1.0.0)

fann_create_sparse_array — Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes

Açıklama

fann_create_sparse_array(float $connection_rate, int $num_layers, array $layers): resource

Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes.

Bağımsız Değişkenler

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard backpropagation neural network, which is not fully connected

  • « fann_create_sparse_array
  • fann_create_standard_array »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard backpropagation neural network, which is not fully connected

fann_create_sparse

(PECL fann >= 1.0.0)

fann_create_sparse — Creates a standard backpropagation neural network, which is not fully connected

Açıklama

fann_create_sparse(
float $connection_rate,
int $num_layers,
int $num_neurons1,
int $num_neurons2,
int ...$num_neuronsN
): resource

Creates a standard backpropagation neural network, which is not fully connected.

Bağımsız Değişkenler

connection_rate

The connection rate controls how many connections there will be in the network. If the connection rate is set to 1, the network will be fully connected, but if it is set to 0.5 only half of the connections will be set. A connection rate of 1 will yield the same result as fann_create_standard().

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_sparse_array() - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard fully connected backpropagation neural network using an array of layer sizes

  • « fann_create_sparse
  • fann_create_standard »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard fully connected backpropagation neural network using an array of layer sizes

fann_create_standard_array

(PECL fann >= 1.0.0)

fann_create_standard_array — Creates a standard fully connected backpropagation neural network using an array of layer sizes

Açıklama

fann_create_standard_array(int $num_layers, array $layers): resource

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Bağımsız Değişkenler

num_layers

The total number of layers including the input and the output layer.

layers

An array of layer sizes.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_standard() - Creates a standard fully connected backpropagation neural network
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates a standard fully connected backpropagation neural network

  • « fann_create_standard_array
  • fann_create_train_from_callback »
  • PHP Manual
  • Fann İşlevleri
  • Creates a standard fully connected backpropagation neural network

fann_create_standard

(PECL fann >= 1.0.0)

fann_create_standard — Creates a standard fully connected backpropagation neural network

Açıklama

fann_create_standard(
int $num_layers,
int $num_neurons1,
int $num_neurons2,
int ...$num_neuronsN
): resource

Creates a standard fully connected backpropagation neural network.

There will be a bias neuron in each layer (except the output layer), and this bias neuron will be connected to all neurons in the next layer. When running the network, the bias nodes always emits 1.

To destroy a neural network use the fann_destroy() function.

Bağımsız Değişkenler

num_layers

The total number of layers including the input and the output layer.

num_neurons1

Number of neurons in the first layer.

num_neurons2

Number of neurons in the second layer.

num_neuronsN

Number of neurons in other layers.

Dönen Değerler

Returns a neural network resource on success, or false on error.

Ayrıca Bakınız

  • fann_create_standard_array() - Creates a standard fully connected backpropagation neural network using an array of layer sizes
  • fann_create_sparse() - Creates a standard backpropagation neural network, which is not fully connected
  • fann_create_shortcut() - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections


Creates the training data struct from a user supplied function

  • « fann_create_standard
  • fann_create_train »
  • PHP Manual
  • Fann İşlevleri
  • Creates the training data struct from a user supplied function

fann_create_train_from_callback

(PECL fann >= 1.0.0)

fann_create_train_from_callback — Creates the training data struct from a user supplied function

Açıklama

fann_create_train_from_callback(
int $num_data,
int $num_input,
int $num_output,
callable $user_function
): resource

Creates the training data struct from a user supplied function. As the training data are numerable (data 1, data 2...), the user must write a function that receives the number of the training data set (input, output) and returns the set.

Bağımsız Değişkenler

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

user_function

The user supplied function with following parameters:

  • num - The number of the training data set
  • num_input - The number of inputs per training data
  • num_output - The number of ouputs per training data

The function should return an associative array with keys input and output and two array values of input and output.

Dönen Değerler

Başarı durumunda eğitim verisi özkaynağı, on success, hata durumunda false döner.

Örnekler

Örnek 1 fann_create_train_from_callback() example

<?php
function create_train_callback($num_data, $num_input, $num_output) {
return array(
"input" => array_fill(0, $num_input, 1),
"output" => array_fill(0, $num_output, 1),
);
}

$num_data = 3;
$num_input = 2;
$num_output = 1;
$train_data = fann_create_train_from_callback($num_data, $num_input, $num_output, "create_train_callback");
if ($train_data) {
// Do something with $train_data
}
?>

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Creates an empty training data struct

  • « fann_create_train_from_callback
  • fann_descale_input »
  • PHP Manual
  • Fann İşlevleri
  • Creates an empty training data struct

fann_create_train

(PECL fann >= 1.0.0)

fann_create_train — Creates an empty training data struct

Açıklama

fann_create_train(int $num_data, int $num_input, int $num_output): resource

Creates an empty training data struct.

Bağımsız Değişkenler

num_data

The number of training data

num_input

The number of inputs per training data

num_output

The number of ouputs per training data

Dönen Değerler

Başarı durumunda eğitim verisi özkaynağı, on success, hata durumunda false döner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_read_train_from_file() - Reads a file that stores training data
  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Scale data in input vector after get it from ann based on previously calculated parameters

  • « fann_create_train
  • fann_descale_output »
  • PHP Manual
  • Fann İşlevleri
  • Scale data in input vector after get it from ann based on previously calculated parameters

fann_descale_input

(PECL fann >= 1.0.0)

fann_descale_input — Scale data in input vector after get it from ann based on previously calculated parameters

Açıklama

fann_descale_input(resource $ann, array $input_vector): bool

Scale data in input vector after get it from ann based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

input_vector

Input vector that will be descaled

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters
  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters


Scale data in output vector after get it from ann based on previously calculated parameters

  • « fann_descale_input
  • fann_descale_train »
  • PHP Manual
  • Fann İşlevleri
  • Scale data in output vector after get it from ann based on previously calculated parameters

fann_descale_output

(PECL fann >= 1.0.0)

fann_descale_output — Scale data in output vector after get it from ann based on previously calculated parameters

Açıklama

fann_descale_output(resource $ann, array $output_vector): bool

Scale data in output vector after get it from ann based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

output_vector

Output vector that will be descaled

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters
  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters


Descale input and output data based on previously calculated parameters

  • « fann_descale_output
  • fann_destroy_train »
  • PHP Manual
  • Fann İşlevleri
  • Descale input and output data based on previously calculated parameters

fann_descale_train

(PECL fann >= 1.0.0)

fann_descale_train — Descale input and output data based on previously calculated parameters

Açıklama

fann_descale_train(resource $ann, resource $train_data): bool

Descale input and output data based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_train() - Scale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data


Destructs the training data

  • « fann_descale_train
  • fann_destroy »
  • PHP Manual
  • Fann İşlevleri
  • Destructs the training data

fann_destroy_train

(PECL fann >= 1.0.0)

fann_destroy_train — Destructs the training data

Açıklama

fann_destroy_train(resource $train_data): bool

Destructs the training data

Bağımsız Değişkenler

train_data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Destroys the entire network and properly freeing all the associated memory

  • « fann_destroy_train
  • fann_duplicate_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Destroys the entire network and properly freeing all the associated memory

fann_destroy

(PECL fann >= 1.0.0)

fann_destroy — Destroys the entire network and properly freeing all the associated memory

Açıklama

fann_destroy(resource $ann): bool

Destroys the entire network and properly freeing all the associated memory.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Returns an exact copy of a fann train data

  • « fann_destroy
  • fann_get_activation_function »
  • PHP Manual
  • Fann İşlevleri
  • Returns an exact copy of a fann train data

fann_duplicate_train_data

(PECL fann >= 1.0.0)

fann_duplicate_train_data — Returns an exact copy of a fann train data

Açıklama

fann_duplicate_train_data(resource $data): resource

Returns an exact copy of a fann train data resource.

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda eğitim verisi özkaynağı, on success, hata durumunda false döner.


Returns the activation function

  • « fann_duplicate_train_data
  • fann_get_activation_steepness »
  • PHP Manual
  • Fann İşlevleri
  • Returns the activation function

fann_get_activation_function

(PECL fann >= 1.0.0)

fann_get_activation_function — Returns the activation function

Açıklama

fann_get_activation_function(resource $ann, int $layer, int $neuron): int

Get the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation functions for the neurons in the input layer.

The return value is one of the activation functions constants.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

layer

Layer number.

neuron

Neuron number.

Dönen Değerler

Learning functions constant or -1 if the neuron is not defined in the neural network, or false on error.

Ayrıca Bakınız

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Returns the activation steepness for supplied neuron and layer number

  • « fann_get_activation_function
  • fann_get_bias_array »
  • PHP Manual
  • Fann İşlevleri
  • Returns the activation steepness for supplied neuron and layer number

fann_get_activation_steepness

(PECL fann >= 1.0.0)

fann_get_activation_steepness — Returns the activation steepness for supplied neuron and layer number

Açıklama

fann_get_activation_steepness(resource $ann, int $layer, int $neuron): float

Get the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to get activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more aggressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

layer

Layer number

neuron

Neuron number

Dönen Değerler

The activation steepness for the neuron or -1 if the neuron is not defined in the neural network, or false on error.

Ayrıca Bakınız

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Get the number of bias in each layer in the network

  • « fann_get_activation_steepness
  • fann_get_bit_fail_limit »
  • PHP Manual
  • Fann İşlevleri
  • Get the number of bias in each layer in the network

fann_get_bias_array

(PECL fann >= 1.0.0)

fann_get_bias_array — Get the number of bias in each layer in the network

Açıklama

fann_get_bias_array(resource $ann): array

Get the number of bias in each layer in the network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

An array of numbers of bias in each layer


Returns the bit fail limit used during training

  • « fann_get_bias_array
  • fann_get_bit_fail »
  • PHP Manual
  • Fann İşlevleri
  • Returns the bit fail limit used during training

fann_get_bit_fail_limit

(PECL fann >= 1.0.0)

fann_get_bit_fail_limit — Returns the bit fail limit used during training

Açıklama

fann_get_bit_fail_limit(resource $ann): float

Returns the bit fail limit used during training.

The bit fail limit is used during training where the stop function is set to FANN_STOPFUNC_BIT.

The limit is the maximum accepted difference between the desired output and the actual output during training. Each output that diverges more than this limit is counted as an error bit. This difference is divided by two when dealing with symmetric activation functions, so that symmetric and not symmetric activation functions can use the same limit.

The default bit fail limit is 0.35.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The bit fail limit, or false on error.

Ayrıca Bakınız

  • fann_set_bit_fail_limit() - Set the bit fail limit used during training


The number of fail bits

  • « fann_get_bit_fail_limit
  • fann_get_cascade_activation_functions_count »
  • PHP Manual
  • Fann İşlevleri
  • The number of fail bits

fann_get_bit_fail

(PECL fann >= 1.0.0)

fann_get_bit_fail — The number of fail bits

Açıklama

fann_get_bit_fail(resource $ann): int

The number of fail bits; means the number of output neurons which differ more than the bit fail limit (see fann_get_bit_fail_limit(), fann_set_bit_fail_limit()). The bits are counted in all of the training data, so this number can be higher than the number of training data.

This value is reset by fann_reset_MSE() and updated by all the same functions which also updates the MSE value (e.g. fann_test_data(), fann_train_epoch())

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of bits fail, or false on error.

Ayrıca Bakınız

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_reset_MSE() - Resets the mean square error from the network
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training
  • fann_set_bit_fail_limit() - Set the bit fail limit used during training


Returns the number of cascade activation functions

  • « fann_get_bit_fail
  • fann_get_cascade_activation_functions »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of cascade activation functions

fann_get_cascade_activation_functions_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions_count — Returns the number of cascade activation functions

Açıklama

fann_get_cascade_activation_functions_count(resource $ann): int

The number of activation functions in the fann_get_cascade_activation_functions() array.

The default number of activation functions is 6.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of cascade activation functions, or false on error.

Ayrıca Bakınız

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


Returns the cascade activation functions

  • « fann_get_cascade_activation_functions_count
  • fann_get_cascade_activation_steepnesses_count »
  • PHP Manual
  • Fann İşlevleri
  • Returns the cascade activation functions

fann_get_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_get_cascade_activation_functions — Returns the cascade activation functions

Açıklama

fann_get_cascade_activation_functions(resource $ann): array

The cascade activation functions array is an array of the different activation functions used by the candidates

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation functions are FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC, FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The cascade activation functions, or false on error.

Ayrıca Bakınız

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


The number of activation steepnesses

  • « fann_get_cascade_activation_functions
  • fann_get_cascade_activation_steepnesses »
  • PHP Manual
  • Fann İşlevleri
  • The number of activation steepnesses

fann_get_cascade_activation_steepnesses_count

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses_count — The number of activation steepnesses

Açıklama

fann_get_cascade_activation_steepnesses_count(resource $ann): int

The number of activation steepnesses in the fann_get_cascade_activation_functions() array.

The default number of activation steepnesses is 4.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of activation steepnesses, or false on error.

Ayrıca Bakınız

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_set_cascade_activation_functions() - Sets the array of cascade candidate activation functions


Returns the cascade activation steepnesses

  • « fann_get_cascade_activation_steepnesses_count
  • fann_get_cascade_candidate_change_fraction »
  • PHP Manual
  • Fann İşlevleri
  • Returns the cascade activation steepnesses

fann_get_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_get_cascade_activation_steepnesses — Returns the cascade activation steepnesses

Açıklama

fann_get_cascade_activation_steepnesses(resource $ann): array

The cascade activation steepnesses array is an array of the different activation functions used by the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The cascade activation steepnesses, or false on error.

Ayrıca Bakınız

  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_set_cascade_activation_steepnesses() - Sets the array of cascade candidate activation steepnesses


Returns the cascade candidate change fraction

  • « fann_get_cascade_activation_steepnesses
  • fann_get_cascade_candidate_limit »
  • PHP Manual
  • Fann İşlevleri
  • Returns the cascade candidate change fraction

fann_get_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_change_fraction — Returns the cascade candidate change fraction

Açıklama

fann_get_cascade_candidate_change_fraction(resource $ann): float

The cascade candidate change fraction is a number between 0 and 1 determining how large a fraction the fann_get_MSE() value should change within fann_get_cascade_candidate_stagnation_epochs() during training of the candidate neurons, in order for the training not to stagnate. If the training stagnates, the training of the candidate neurons will be ended and the best candidate will be selected.

It means that if the MSE does not change by a fraction of fann_get_cascade_candidate_change_fraction() during a period of fann_get_cascade_candidate_stagnation_epochs(), the training of the candidate neurons is stopped because the training has stagnated.

If the cascade candidate change fraction is low, the candidate neurons will be trained more and if the fraction is high they will be trained less.

The default cascade candidate change fraction is 0.01, which is equalent to a 1% change in MSE.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The cascade candidate change fraction, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_candidate_change_fraction() - Sets the cascade candidate change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs


Return the candidate limit

  • « fann_get_cascade_candidate_change_fraction
  • fann_get_cascade_candidate_stagnation_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Return the candidate limit

fann_get_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_limit — Return the candidate limit

Açıklama

fann_get_cascade_candidate_limit(resource $ann): float

The candidate limit is a limit for how much the candidate neuron may be trained. The limit is a limit on the proportion between the MSE and candidate score.

Set this to a lower value to avoid overfitting and to a higher if overfitting is not a problem.

The default candidate limit is 1000.0.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The candidate limit, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_candidate_limit() - Sets the candidate limit


Returns the number of cascade candidate stagnation epochs

  • « fann_get_cascade_candidate_limit
  • fann_get_cascade_max_cand_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of cascade candidate stagnation epochs

fann_get_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_candidate_stagnation_epochs — Returns the number of cascade candidate stagnation epochs

Açıklama

fann_get_cascade_candidate_stagnation_epochs(resource $ann): int

The number of cascade candidate stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_candidate_change_fraction().

See more info about this parameter in fann_get_cascade_candidate_change_fraction().

The default number of cascade candidate stagnation epochs is 12.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of cascade candidate stagnation epochs, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_candidate_stagnation_epochs() - Sets the number of cascade candidate stagnation epochs
  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction


Returns the maximum candidate epochs

  • « fann_get_cascade_candidate_stagnation_epochs
  • fann_get_cascade_max_out_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Returns the maximum candidate epochs

fann_get_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_cand_epochs — Returns the maximum candidate epochs

Açıklama

fann_get_cascade_max_cand_epochs(resource $ann): int

The maximum candidate epochs determines the maximum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default max candidate epochs is 150.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The maximum candidate epochs, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_max_cand_epochs() - Sets the max candidate epochs


Returns the maximum out epochs

  • « fann_get_cascade_max_cand_epochs
  • fann_get_cascade_min_cand_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Returns the maximum out epochs

fann_get_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_max_out_epochs — Returns the maximum out epochs

Açıklama

fann_get_cascade_max_out_epochs(resource $ann): int

The maximum out epochs determines the maximum number of epochs the output connections may be trained after adding a new candidate neuron.

The default max out epochs is 150.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The maximum out epochs, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_max_out_epochs() - Sets the maximum out epochs


Returns the minimum candidate epochs

  • « fann_get_cascade_max_out_epochs
  • fann_get_cascade_min_out_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Returns the minimum candidate epochs

fann_get_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_cand_epochs — Returns the minimum candidate epochs

Açıklama

fann_get_cascade_min_cand_epochs(resource $ann): int

The minimum candidate epochs determines the minimum number of epochs the input connections to the candidates may be trained before adding a new candidate neuron.

The default min candidate epochs is 50.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The minimum candidate epochs, or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_cascade_min_cand_epochs() - Sets the min candidate epochs


Returns the minimum out epochs

  • « fann_get_cascade_min_cand_epochs
  • fann_get_cascade_num_candidate_groups »
  • PHP Manual
  • Fann İşlevleri
  • Returns the minimum out epochs

fann_get_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_min_out_epochs — Returns the minimum out epochs

Açıklama

fann_get_cascade_min_out_epochs(resource $ann): int

The minimum out epochs determines the minimum number of epochs the output connections must be trained after adding a new candidate neuron.

The default min out epochs is 50.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The minimum out epochs, or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_cascade_min_out_epochs() - Sets the minimum out epochs


Returns the number of candidate groups

  • « fann_get_cascade_min_out_epochs
  • fann_get_cascade_num_candidates »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of candidate groups

fann_get_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidate_groups — Returns the number of candidate groups

Açıklama

fann_get_cascade_num_candidate_groups(resource $ann): int

The number of candidate groups is the number of groups of identical candidates which will be used during training.

This number can be used to have more candidates without having to define new parameters for the candidates.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this parameter.

The default number of candidate groups is 2.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of candidate groups, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_num_candidate_groups() - Sets the number of candidate groups


Returns the number of candidates used during training

  • « fann_get_cascade_num_candidate_groups
  • fann_get_cascade_output_change_fraction »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of candidates used during training

fann_get_cascade_num_candidates

(PECL fann >= 1.0.0)

fann_get_cascade_num_candidates — Returns the number of candidates used during training

Açıklama

fann_get_cascade_num_candidates(resource $ann): int

The number of candidates used during training (calculated by multiplying
fann_get_cascade_activation_functions_count(),
fann_get_cascade_activation_steepnesses_count() and
fann_get_cascade_num_candidate_groups()).

The actual candidates is defined by the fann_get_cascade_activation_functions() and fann_get_cascade_activation_steepnesses() arrays. These arrays define the activation functions and activation steepnesses used for the candidate neurons. If there are 2 activation functions in the activation function array and 3 steepnesses in the steepness array, then there will be 2x3=6 different candidates which will be trained. These 6 different candidates can be copied into several candidate groups, where the only difference between these groups is the initial weights. If the number of groups is set to 2, then the number of candidate neurons will be 2x3x2=12. The number of candidate groups is defined by fann_set_cascade_num_candidate_groups().

The default number of candidates is 6x4x2 = 48

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of candidates used during training, or false on error.

Ayrıca Bakınız

  • fann_get_cascade_activation_functions() - Returns the cascade activation functions
  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses
  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups


Returns the cascade output change fraction

  • « fann_get_cascade_num_candidates
  • fann_get_cascade_output_stagnation_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Returns the cascade output change fraction

fann_get_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_get_cascade_output_change_fraction — Returns the cascade output change fraction

Açıklama

fann_get_cascade_output_change_fraction(resource $ann): float

The cascade output change fraction is a number between 0 and 1 determining how large a fraction of the fann_get_MSE() value should change within fann_get_cascade_output_stagnation_epochs() during training of the output connections, in order for the training not to stagnate. If the training stagnates, the training of the output connections will be ended and new candidates will be prepared.

It means that if the MSE does not change by a fraction of fann_get_cascade_output_change_fraction() during a period of fann_get_cascade_output_stagnation_epochs(), the training of the output connections is stopped because the training has stagnated.

If the cascade output change fraction is low, the output connections will be trained more and if the fraction is high, they will be trained less.

The default cascade output change fraction is 0.01, which is equalent to a 1% change in MSE.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The cascade output change fraction, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_output_change_fraction() - Sets the cascade output change fraction
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs


Returns the number of cascade output stagnation epochs

  • « fann_get_cascade_output_change_fraction
  • fann_get_cascade_weight_multiplier »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of cascade output stagnation epochs

fann_get_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_get_cascade_output_stagnation_epochs — Returns the number of cascade output stagnation epochs

Açıklama

fann_get_cascade_output_stagnation_epochs(resource $ann): int

The number of cascade output stagnation epochs determines the number of epochs training is allowed to continue without changing the MSE by a fraction of fann_get_cascade_output_change_fraction().

See more info about this parameter in fann_get_cascade_output_change_fraction().

The default number of cascade output stagnation epochs is 12.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of cascade output stagnation epochs, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_output_stagnation_epochs() - Sets the number of cascade output stagnation epochs
  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction


Returns the weight multiplier

  • « fann_get_cascade_output_stagnation_epochs
  • fann_get_connection_array »
  • PHP Manual
  • Fann İşlevleri
  • Returns the weight multiplier

fann_get_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_get_cascade_weight_multiplier — Returns the weight multiplier

Açıklama

fann_get_cascade_weight_multiplier(resource $ann): float

The weight multiplier is a parameter which is used to multiply the weights from the candidate neuron before adding the neuron to the neural network. This parameter is usually between 0 and 1, and is used to make the training a bit less aggressive.

The default weight multiplier is 0.4.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The weight multiplier, or false on error.

Ayrıca Bakınız

  • fann_set_cascade_weight_multiplier() - Sets the weight multiplier


Get connections in the network

  • « fann_get_cascade_weight_multiplier
  • fann_get_connection_rate »
  • PHP Manual
  • Fann İşlevleri
  • Get connections in the network

fann_get_connection_array

(PECL fann >= 1.0.0)

fann_get_connection_array — Get connections in the network

Açıklama

fann_get_connection_array(resource $ann): array

Get connections in the network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

An array of connections in the network


Get the connection rate used when the network was created

  • « fann_get_connection_array
  • fann_get_errno »
  • PHP Manual
  • Fann İşlevleri
  • Get the connection rate used when the network was created

fann_get_connection_rate

(PECL fann >= 1.0.0)

fann_get_connection_rate — Get the connection rate used when the network was created

Açıklama

fann_get_connection_rate(resource $ann): float

Get the connection rate used when the network was created.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The connection rate used when the network was created, or false on error.


Returns the last error number

  • « fann_get_connection_rate
  • fann_get_errstr »
  • PHP Manual
  • Fann İşlevleri
  • Returns the last error number

fann_get_errno

(PECL fann >= 1.0.0)

fann_get_errno — Returns the last error number

Açıklama

fann_get_errno(resource $errdat): int

Returns the last error number.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The error number, or false on error.

Ayrıca Bakınız

  • fann_reset_errno() - Resets the last error number
  • fann_get_errstr() - Returns the last errstr


Returns the last errstr

  • « fann_get_errno
  • fann_get_layer_array »
  • PHP Manual
  • Fann İşlevleri
  • Returns the last errstr

fann_get_errstr

(PECL fann >= 1.0.0)

fann_get_errstr — Returns the last errstr

Açıklama

fann_get_errstr(resource $errdat): string

Returns the last errstr.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The last error string, or false on error.

Ayrıca Bakınız

  • fann_reset_errstr() - Resets the last error string
  • fann_get_errno() - Returns the last error number


Get the number of neurons in each layer in the network

  • « fann_get_errstr
  • fann_get_learning_momentum »
  • PHP Manual
  • Fann İşlevleri
  • Get the number of neurons in each layer in the network

fann_get_layer_array

(PECL fann >= 1.0.0)

fann_get_layer_array — Get the number of neurons in each layer in the network

Açıklama

fann_get_layer_array(resource $ann): array

Get the number of neurons in each layer in the neural network.

Bias is not included so the layers match the fann_create functions.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

An array of numbers of neurons in each leayer


Returns the learning momentum

  • « fann_get_layer_array
  • fann_get_learning_rate »
  • PHP Manual
  • Fann İşlevleri
  • Returns the learning momentum

fann_get_learning_momentum

(PECL fann >= 1.0.0)

fann_get_learning_momentum — Returns the learning momentum

Açıklama

fann_get_learning_momentum(resource $ann): float

The learning momentum can be used to speed up FANN_TRAIN_INCREMENTAL training. A too high momentum will however not benefit training. Setting momentum to 0 will be the same as not using the momentum parameter. The recommended value of this parameter is between 0.0 and 1.0.

The default momentum is 0.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

The learning momentum, or false on error.

Ayrıca Bakınız

  • fann_set_learning_momentum() - Sets the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm


Returns the learning rate

  • « fann_get_learning_momentum
  • fann_get_MSE »
  • PHP Manual
  • Fann İşlevleri
  • Returns the learning rate

fann_get_learning_rate

(PECL fann >= 1.0.0)

fann_get_learning_rate — Returns the learning rate

Açıklama

fann_get_learning_rate(resource $ann): float

The learning rate is used to determine how aggressive training should be for some of the training algorithms (FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP). Do however note that it is not used in FANN_TRAIN_RPROP.

The default learning rate is 0.7.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The learning rate, or false on error.

Ayrıca Bakınız

  • fann_set_learning_rate() - Sets the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm


Reads the mean square error from the network

  • « fann_get_learning_rate
  • fann_get_network_type »
  • PHP Manual
  • Fann İşlevleri
  • Reads the mean square error from the network

fann_get_MSE

(PECL fann >= 1.0.0)

fann_get_MSE — Reads the mean square error from the network

Açıklama

fann_get_MSE(resource $ann): float

Reads the mean square error from the network.

Reads the mean square error from the network. This value is calculated during training or testing and can therefore sometimes be a bit off if the weights have been changed since the last calculation of the value.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The mean square error, or false on error.

Ayrıca Bakınız

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data


Get the type of neural network it was created as

  • « fann_get_MSE
  • fann_get_num_input »
  • PHP Manual
  • Fann İşlevleri
  • Get the type of neural network it was created as

fann_get_network_type

(PECL fann >= 1.0.0)

fann_get_network_type — Get the type of neural network it was created as

Açıklama

fann_get_network_type(resource $ann): int

Get the type of neural network it was created as.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Network type constant, or false on error.


Get the number of input neurons

  • « fann_get_network_type
  • fann_get_num_layers »
  • PHP Manual
  • Fann İşlevleri
  • Get the number of input neurons

fann_get_num_input

(PECL fann >= 1.0.0)

fann_get_num_input — Get the number of input neurons

Açıklama

fann_get_num_input(resource $ann): int

Get the number of input neurons.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Number of input neurons, or false on error


Get the number of layers in the neural network

  • « fann_get_num_input
  • fann_get_num_output »
  • PHP Manual
  • Fann İşlevleri
  • Get the number of layers in the neural network

fann_get_num_layers

(PECL fann >= 1.0.0)

fann_get_num_layers — Get the number of layers in the neural network

Açıklama

fann_get_num_layers(resource $ann): int

Get the number of layers in the neural network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The number of leayers in the neural network, or false on error.


Get the number of output neurons

  • « fann_get_num_layers
  • fann_get_quickprop_decay »
  • PHP Manual
  • Fann İşlevleri
  • Get the number of output neurons

fann_get_num_output

(PECL fann >= 1.0.0)

fann_get_num_output — Get the number of output neurons

Açıklama

fann_get_num_output(resource $ann): int

Get the number of output neurons.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Number of output neurons, or false on error


Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

  • « fann_get_num_output
  • fann_get_quickprop_mu »
  • PHP Manual
  • Fann İşlevleri
  • Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

fann_get_quickprop_decay

(PECL fann >= 1.0.0)

fann_get_quickprop_decay — Returns the decay which is a factor that weights should decrease in each iteration during quickprop training

Açıklama

fann_get_quickprop_decay(resource $ann): float

The decay is a small negative valued number which is a factor that the weights should decrease in each iteration during quickprop training. This is used to make sure that the weights do not become too high during training.

The default decay is -0.0001.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The decay, or false on error.

Ayrıca Bakınız

  • fann_set_quickprop_decay() - Sets the quickprop decay factor


Returns the mu factor

  • « fann_get_quickprop_decay
  • fann_get_rprop_decrease_factor »
  • PHP Manual
  • Fann İşlevleri
  • Returns the mu factor

fann_get_quickprop_mu

(PECL fann >= 1.0.0)

fann_get_quickprop_mu — Returns the mu factor

Açıklama

fann_get_quickprop_mu(resource $ann): float

The mu factor is used to increase and decrease the step-size during quickprop training. The mu factor should always be above 1, since it would otherwise decrease the step-size when it was suppose to increase it.

The default mu factor is 1.75.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The mu factor, or false on error.

Ayrıca Bakınız

  • fann_set_quickprop_mu() - Sets the quickprop mu factor


Returns the increase factor used during RPROP training

  • « fann_get_quickprop_mu
  • fann_get_rprop_delta_max »
  • PHP Manual
  • Fann İşlevleri
  • Returns the increase factor used during RPROP training

fann_get_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_get_rprop_decrease_factor — Returns the increase factor used during RPROP training

Açıklama

fann_get_rprop_decrease_factor(resource $ann): float

The decrease factor is a value smaller than 1, which is used to decrease the step-size during RPROP training.

The default decrease factor is 0.5.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The decrease factor, or false on error.

Ayrıca Bakınız

  • fann_set_rprop_decrease_factor() - Sets the decrease factor used during RPROP training


Returns the maximum step-size

  • « fann_get_rprop_decrease_factor
  • fann_get_rprop_delta_min »
  • PHP Manual
  • Fann İşlevleri
  • Returns the maximum step-size

fann_get_rprop_delta_max

(PECL fann >= 1.0.0)

fann_get_rprop_delta_max — Returns the maximum step-size

Açıklama

fann_get_rprop_delta_max(resource $ann): float

The maximum step-size is a positive number determining how large the maximum step-size may be.

The default delta max is 50.0.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The maximum step-size, or false on error.

Ayrıca Bakınız

  • fann_set_rprop_delta_max() - Sets the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size


Returns the minimum step-size

  • « fann_get_rprop_delta_max
  • fann_get_rprop_delta_zero »
  • PHP Manual
  • Fann İşlevleri
  • Returns the minimum step-size

fann_get_rprop_delta_min

(PECL fann >= 1.0.0)

fann_get_rprop_delta_min — Returns the minimum step-size

Açıklama

fann_get_rprop_delta_min(resource $ann): float

The minimum step-size is a small positive number determining how small the minimum step-size may be.

The default value delta min is 0.0.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The minimum step-size, or false on error.

Ayrıca Bakınız

  • fann_set_rprop_delta_min() - Sets the minimum step-size


Returns the initial step-size

  • « fann_get_rprop_delta_min
  • fann_get_rprop_increase_factor »
  • PHP Manual
  • Fann İşlevleri
  • Returns the initial step-size

fann_get_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_get_rprop_delta_zero — Returns the initial step-size

Açıklama

fann_get_rprop_delta_zero(resource $ann): int

The initial step-size is a positive number determining the initial step size.

The default delta zero is 0.1.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The initial step-size, or false on error.

Ayrıca Bakınız

  • fann_set_rprop_delta_zero() - Sets the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size


Returns the increase factor used during RPROP training

  • « fann_get_rprop_delta_zero
  • fann_get_sarprop_step_error_shift »
  • PHP Manual
  • Fann İşlevleri
  • Returns the increase factor used during RPROP training

fann_get_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_get_rprop_increase_factor — Returns the increase factor used during RPROP training

Açıklama

fann_get_rprop_increase_factor(resource $ann): float

The increase factor is a value larger than 1, which is used to increase the step-size during RPROP training.

The default increase factor is 1.2.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The increase factor, or false on error.

Ayrıca Bakınız

  • fann_set_rprop_increase_factor() - Sets the increase factor used during RPROP training


Returns the sarprop step error shift

  • « fann_get_rprop_increase_factor
  • fann_get_sarprop_step_error_threshold_factor »
  • PHP Manual
  • Fann İşlevleri
  • Returns the sarprop step error shift

fann_get_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_shift — Returns the sarprop step error shift

Açıklama

fann_get_sarprop_step_error_shift(resource $ann): float

Returns the sarprop step error shift.

The default step error shift is 1.385.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The sarprop step error shift , or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_sarprop_step_error_shift() - Sets the sarprop step error shift


Returns the sarprop step error threshold factor

  • « fann_get_sarprop_step_error_shift
  • fann_get_sarprop_temperature »
  • PHP Manual
  • Fann İşlevleri
  • Returns the sarprop step error threshold factor

fann_get_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_get_sarprop_step_error_threshold_factor — Returns the sarprop step error threshold factor

Açıklama

fann_get_sarprop_step_error_threshold_factor(resource $ann): float

The sarprop step error threshold factor.

The default factor is 0.1.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The sarprop step error threshold factor, or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_sarprop_step_error_threshold_factor() - Sets the sarprop step error threshold factor


Returns the sarprop temperature

  • « fann_get_sarprop_step_error_threshold_factor
  • fann_get_sarprop_weight_decay_shift »
  • PHP Manual
  • Fann İşlevleri
  • Returns the sarprop temperature

fann_get_sarprop_temperature

(PECL fann >= 1.0.0)

fann_get_sarprop_temperature — Returns the sarprop temperature

Açıklama

fann_get_sarprop_temperature(resource $ann): float

Returns the sarprop temperature.

The default temperature is 0.015.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The sarprop temperature, or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_sarprop_temperature() - Sets the sarprop temperature


Returns the sarprop weight decay shift

  • « fann_get_sarprop_temperature
  • fann_get_total_connections »
  • PHP Manual
  • Fann İşlevleri
  • Returns the sarprop weight decay shift

fann_get_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_get_sarprop_weight_decay_shift — Returns the sarprop weight decay shift

Açıklama

fann_get_sarprop_weight_decay_shift(resource $ann): float

The sarprop weight decay shift.

The default delta max is -6.644.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The sarprop weight decay shift, or false on error.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_set_sarprop_weight_decay_shift() - Sets the sarprop weight decay shift


Get the total number of connections in the entire network

  • « fann_get_sarprop_weight_decay_shift
  • fann_get_total_neurons »
  • PHP Manual
  • Fann İşlevleri
  • Get the total number of connections in the entire network

fann_get_total_connections

(PECL fann >= 1.0.0)

fann_get_total_connections — Get the total number of connections in the entire network

Açıklama

fann_get_total_connections(resource $ann): int

Get the total number of connections in the entire network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Total number of connections in the entire network, or false on error


Get the total number of neurons in the entire network

  • « fann_get_total_connections
  • fann_get_train_error_function »
  • PHP Manual
  • Fann İşlevleri
  • Get the total number of neurons in the entire network

fann_get_total_neurons

(PECL fann >= 1.0.0)

fann_get_total_neurons — Get the total number of neurons in the entire network

Açıklama

fann_get_total_neurons(resource $ann): int

Get the total number of neurons in the entire network. This number does also include the bias neurons, so a 2-4-2 network has 2+4+2 +2(bias) = 10 neurons.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Total number of neurons in the entire network, or false on error.


Returns the error function used during training

  • « fann_get_total_neurons
  • fann_get_train_stop_function »
  • PHP Manual
  • Fann İşlevleri
  • Returns the error function used during training

fann_get_train_error_function

(PECL fann >= 1.0.0)

fann_get_train_error_function — Returns the error function used during training

Açıklama

fann_get_train_error_function(resource $ann): int

Returns the error function used during training.

The error functions are described further in error functions constants.

The default error function is FANN_ERRORFUNC_TANH.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The error function constant, or false on error.

Ayrıca Bakınız

  • fann_set_train_error_function() - Sets the error function used during training


Returns the stop function used during training

  • « fann_get_train_error_function
  • fann_get_training_algorithm »
  • PHP Manual
  • Fann İşlevleri
  • Returns the stop function used during training

fann_get_train_stop_function

(PECL fann >= 1.0.0)

fann_get_train_stop_function — Returns the stop function used during training

Açıklama

fann_get_train_stop_function(resource $ann): int

Returns the stop function used during training.

The stop functions are described further in stop functions constants.

The default stop function is FANN_STOPFUNC_MSE.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

The stop function constant, or false on error.

Ayrıca Bakınız

  • fann_set_train_stop_function() - Sets the stop function used during training


Returns the training algorithm

  • « fann_get_train_stop_function
  • fann_init_weights »
  • PHP Manual
  • Fann İşlevleri
  • Returns the training algorithm

fann_get_training_algorithm

(PECL fann >= 1.0.0)

fann_get_training_algorithm — Returns the training algorithm

Açıklama

fann_get_training_algorithm(resource $ann): int

Returns the training algorithm. This training algorithm is used by fann_train_on_data() and associated functions.

Note that this algorithm is also used during fann_cascadetrain_on_data(), although only FANN_TRAIN_RPROP and FANN_TRAIN_QUICKPROP is allowed during cascade training.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Training algorithm constant, or false on error.

Ayrıca Bakınız

  • fann_set_training_algorithm() - Sets the training algorithm


Initialize the weights using Widrow + Nguyen’s algorithm

  • « fann_get_training_algorithm
  • fann_length_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Initialize the weights using Widrow + Nguyen’s algorithm

fann_init_weights

(PECL fann >= 1.0.0)

fann_init_weights — Initialize the weights using Widrow + Nguyen's algorithm

Açıklama

fann_init_weights(resource $ann, resource $train_data): bool

Initialize the weights using Widrow + Nguyen's algorithm.

This function behaves similarly to fann_randomize_weights(). It will use the algorithm developed by Derrick Nguyen and Bernard Widrow to set the weights in such a way as to speed up training. This technique is not always successful, and in some cases can be less efficient than a purely random initialization.

The algorithm requires access to the range of the input data (for example largest and smallest input), and therefore accepts a second argument, data, which is the training data that will be used to train the network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_randomize_weights() - Give each connection a random weight between min_weight and max_weight
  • fann_read_train_from_file() - Reads a file that stores training data


Returns the number of training patterns in the train data

  • « fann_init_weights
  • fann_merge_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of training patterns in the train data

fann_length_train_data

(PECL fann >= 1.0.0)

fann_length_train_data — Returns the number of training patterns in the train data

Açıklama

fann_length_train_data(resource $data): int

Returns the number of training patterns in the train data resource.

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Number of elements in the train data resource, or false on error.


Merges the train data

  • « fann_length_train_data
  • fann_num_input_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Merges the train data

fann_merge_train_data

(PECL fann >= 1.0.0)

fann_merge_train_data — Merges the train data

Açıklama

fann_merge_train_data(resource $data1, resource $data2): resource

Merges the data from data1 and data2 into a new train data resource.

Bağımsız Değişkenler

data1

Sinir ağı eğitim verisi özkaynağı.

data2

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

New merged train data resource, or false on error.


Returns the number of inputs in each of the training patterns in the train data

  • « fann_merge_train_data
  • fann_num_output_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of inputs in each of the training patterns in the train data

fann_num_input_train_data

(PECL fann >= 1.0.0)

fann_num_input_train_data — Returns the number of inputs in each of the training patterns in the train data

Açıklama

fann_num_input_train_data(resource $data): int

Returns the number of inputs in each of the training patterns in the train data resource.

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The number of inputs, or false on error.

Ayrıca Bakınız

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_output_train_data() - Returns the number of outputs in each of the training patterns in the train data


Returns the number of outputs in each of the training patterns in the train data

  • « fann_num_input_train_data
  • fann_print_error »
  • PHP Manual
  • Fann İşlevleri
  • Returns the number of outputs in each of the training patterns in the train data

fann_num_output_train_data

(PECL fann >= 1.0.0)

fann_num_output_train_data — Returns the number of outputs in each of the training patterns in the train data

Açıklama

fann_num_output_train_data(resource $data): int

Returns the number of outputs in each of the training patterns in the train data resource.

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The number of outputs, or false on error.

Ayrıca Bakınız

  • fann_length_train_data() - Returns the number of training patterns in the train data
  • fann_num_input_train_data() - Returns the number of inputs in each of the training patterns in the train data


Prints the error string

  • « fann_num_output_train_data
  • fann_randomize_weights »
  • PHP Manual
  • Fann İşlevleri
  • Prints the error string

fann_print_error

(PECL fann >= 1.0.0)

fann_print_error — Prints the error string

Açıklama

fann_print_error(resource $errdat): void

Prints the error string.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Dönen değer yok.

Ayrıca Bakınız

  • fann_get_errstr() - Returns the last errstr


Give each connection a random weight between min_weight and max_weight

  • « fann_print_error
  • fann_read_train_from_file »
  • PHP Manual
  • Fann İşlevleri
  • Give each connection a random weight between min_weight and max_weight

fann_randomize_weights

(PECL fann >= 1.0.0)

fann_randomize_weights — Give each connection a random weight between min_weight and max_weight

Açıklama

fann_randomize_weights(resource $ann, float $min_weight, float $max_weight): bool

Give each connection a random weight between min_weight and max_weight

From the beginning the weights are random between -0.1 and 0.1.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

min_weight

Minimum weight value

max_weight

Maximum weight value

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_init_weights() - Initialize the weights using Widrow + Nguyen’s algorithm


Reads a file that stores training data

  • « fann_randomize_weights
  • fann_reset_errno »
  • PHP Manual
  • Fann İşlevleri
  • Reads a file that stores training data

fann_read_train_from_file

(PECL fann >= 1.0.0)

fann_read_train_from_file — Reads a file that stores training data

Açıklama

fann_read_train_from_file(string $filename): resource

Reads a file that stores training data.

Bağımsız Değişkenler

filename

The input file in the following format:

num_train_data num_input num_output
inputdata separated by space
outputdata separated by space

.
.
.

inputdata separated by space
outputdata separated by space

Dönen Değerler

Başarı durumunda eğitim verisi özkaynağı, on success, hata durumunda false döner.

Örnekler

Örnek 1 fann_read_train_from_file() example

<?php
$train_data = fann_read_train_from_file("xor.data");
if ($train_data) {
// Do something with $train_data for XOR function
}
?>

Contents of xor.data

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_destroy_train() - Destructs the training data
  • fann_save_train() - Save the training structure to a file


Resets the last error number

  • « fann_read_train_from_file
  • fann_reset_errstr »
  • PHP Manual
  • Fann İşlevleri
  • Resets the last error number

fann_reset_errno

(PECL fann >= 1.0.0)

fann_reset_errno — Resets the last error number

Açıklama

fann_reset_errno(resource $errdat): void

Resets the last error number.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Dönen değer yok.

Ayrıca Bakınız

  • fann_get_errno() - Returns the last error number
  • fann_reset_errstr() - Resets the last error string


Resets the last error string

  • « fann_reset_errno
  • fann_reset_MSE »
  • PHP Manual
  • Fann İşlevleri
  • Resets the last error string

fann_reset_errstr

(PECL fann >= 1.0.0)

fann_reset_errstr — Resets the last error string

Açıklama

fann_reset_errstr(resource $errdat): void

Resets the last error string.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Dönen değer yok.

Ayrıca Bakınız

  • fann_get_errstr() - Returns the last errstr
  • fann_reset_errno() - Resets the last error number


Resets the mean square error from the network

  • « fann_reset_errstr
  • fann_run »
  • PHP Manual
  • Fann İşlevleri
  • Resets the mean square error from the network

fann_reset_MSE

(PECL fann >= 1.0.0)

fann_reset_MSE — Resets the mean square error from the network

Açıklama

fann_reset_MSE(string $ann): bool

Resets the mean square error from the network.

This function also resets the number of bits that fail.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_MSE() - Reads the mean square error from the network
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training


Will run input through the neural network

  • « fann_reset_MSE
  • fann_save_train »
  • PHP Manual
  • Fann İşlevleri
  • Will run input through the neural network

fann_run

(PECL fann >= 1.0.0)

fann_run — Will run input through the neural network

Açıklama

fann_run(resource $ann, array $input): array

Will run input through the neural network, returning an array of outputs, the number of which being equal to the number of neurons in the output layer.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

input

Array of input values

Dönen Değerler

Array of output values, or false on error


Save the training structure to a file

  • « fann_run
  • fann_save »
  • PHP Manual
  • Fann İşlevleri
  • Save the training structure to a file

fann_save_train

(PECL fann >= 1.0.0)

fann_save_train — Save the training structure to a file

Açıklama

fann_save_train(resource $data, string $file_name): bool

Save the training data to a file, with the format as specified in fann_read_train_from_file().

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

file_name

The file name of the file where training data is saved to.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_read_train_from_file() - Reads a file that stores training data


Saves the entire network to a configuration file

  • « fann_save_train
  • fann_scale_input_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Saves the entire network to a configuration file

fann_save

(PECL fann >= 1.0.0)

fann_save — Saves the entire network to a configuration file

Açıklama

fann_save(resource $ann, string $configuration_file): bool

Saves the entire network to a configuration file.

The configuration file contains all information about the neural network and enables fann_create_from_file() to create an exact copy of the neural network and all of the parameters associated with the neural network.

These three parameters (fann_set_callback(), fann_set_error_log(), fann_set_user_data()) are NOT saved to the file because they cannot safely be ported to a different location. Also temporary parameters generated during training like fann_get_MSE() is not saved.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

configuration_file

The configuration file path.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_create_from_file() - Constructs a backpropagation neural network from a configuration file


Scales the inputs in the training data to the specified range

  • « fann_save
  • fann_scale_input »
  • PHP Manual
  • Fann İşlevleri
  • Scales the inputs in the training data to the specified range

fann_scale_input_train_data

(PECL fann >= 1.0.0)

fann_scale_input_train_data — Scales the inputs in the training data to the specified range

Açıklama

fann_scale_input_train_data(resource $train_data, float $new_min, float $new_max): bool

Scales the inputs in the training data to the specified range.

Bağımsız Değişkenler

train_data

Sinir ağı eğitim verisi özkaynağı.

new_min

New minimum after scaling inputs in training data.

new_max

New maximum after scaling inputs in training data.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range


Scale data in input vector before feed it to ann based on previously calculated parameters

  • « fann_scale_input_train_data
  • fann_scale_output_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Scale data in input vector before feed it to ann based on previously calculated parameters

fann_scale_input

(PECL fann >= 1.0.0)

fann_scale_input — Scale data in input vector before feed it to ann based on previously calculated parameters

Açıklama

fann_scale_input(resource $ann, array $input_vector): bool

Scale data in input vector before feed it to ann based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

input_vector

Input vector that will be scaled

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_descale_input() - Scale data in input vector after get it from ann based on previously calculated parameters
  • fann_scale_output() - Scale data in output vector before feed it to ann based on previously calculated parameters


Scales the outputs in the training data to the specified range

  • « fann_scale_input
  • fann_scale_output »
  • PHP Manual
  • Fann İşlevleri
  • Scales the outputs in the training data to the specified range

fann_scale_output_train_data

(PECL fann >= 1.0.0)

fann_scale_output_train_data — Scales the outputs in the training data to the specified range

Açıklama

fann_scale_output_train_data(resource $train_data, float $new_min, float $new_max): bool

Scales the outputs in the training data to the specified range.

Bağımsız Değişkenler

train_data

Sinir ağı eğitim verisi özkaynağı.

new_min

New minimum after scaling outputs in training data.

new_max

New maximum after scaling outputs in training data.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range
  • fann_scale_train_data() - Scales the inputs and outputs in the training data to the specified range


Scale data in output vector before feed it to ann based on previously calculated parameters

  • « fann_scale_output_train_data
  • fann_scale_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Scale data in output vector before feed it to ann based on previously calculated parameters

fann_scale_output

(PECL fann >= 1.0.0)

fann_scale_output — Scale data in output vector before feed it to ann based on previously calculated parameters

Açıklama

fann_scale_output(resource $ann, array $output_vector): bool

Scale data in output vector before feed it to ann based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

output_vector

Output vector that will be scaled

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_descale_output() - Scale data in output vector after get it from ann based on previously calculated parameters
  • fann_scale_input() - Scale data in input vector before feed it to ann based on previously calculated parameters


Scales the inputs and outputs in the training data to the specified range

  • « fann_scale_output
  • fann_scale_train »
  • PHP Manual
  • Fann İşlevleri
  • Scales the inputs and outputs in the training data to the specified range

fann_scale_train_data

(PECL fann >= 1.0.0)

fann_scale_train_data — Scales the inputs and outputs in the training data to the specified range

Açıklama

fann_scale_train_data(resource $train_data, float $new_min, float $new_max): bool

Scales the inputs and outputs in the training data to the specified range.

Bağımsız Değişkenler

train_data

Sinir ağı eğitim verisi özkaynağı.

new_min

New minimum after scaling inputs and outputs in training data.

new_max

New maximum after scaling inputs and outputs in training data.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_scale_output_train_data() - Scales the outputs in the training data to the specified range
  • fann_scale_input_train_data() - Scales the inputs in the training data to the specified range


Scale input and output data based on previously calculated parameters

  • « fann_scale_train_data
  • fann_set_activation_function_hidden »
  • PHP Manual
  • Fann İşlevleri
  • Scale input and output data based on previously calculated parameters

fann_scale_train

(PECL fann >= 1.0.0)

fann_scale_train — Scale input and output data based on previously calculated parameters

Açıklama

fann_scale_train(resource $ann, resource $train_data): bool

Scale input and output data based on previously calculated parameters.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_descale_train() - Descale input and output data based on previously calculated parameters
  • fann_set_scaling_params() - Calculate input and output scaling parameters for future use based on training data


Sets the activation function for all of the hidden layers

  • « fann_scale_train
  • fann_set_activation_function_layer »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation function for all of the hidden layers

fann_set_activation_function_hidden

(PECL fann >= 1.0.0)

fann_set_activation_function_hidden — Sets the activation function for all of the hidden layers

Açıklama

fann_set_activation_function_hidden(resource $ann, int $activation_function): bool

Sets the activation function for all of the hidden layers.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_function

The activation functions constant.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for all the neurons in the supplied layer

  • « fann_set_activation_function_hidden
  • fann_set_activation_function_output »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation function for all the neurons in the supplied layer

fann_set_activation_function_layer

(PECL fann >= 1.0.0)

fann_set_activation_function_layer — Sets the activation function for all the neurons in the supplied layer

Açıklama

fann_set_activation_function_layer(resource $ann, int $activation_function, int $layer): bool

Set the activation function for all the neurons in the layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_function

The activation functions constant.

layer

Layer number.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for the output layer

  • « fann_set_activation_function_layer
  • fann_set_activation_function »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation function for the output layer

fann_set_activation_function_output

(PECL fann >= 1.0.0)

fann_set_activation_function_output — Sets the activation function for the output layer

Açıklama

fann_set_activation_function_output(resource $ann, int $activation_function): bool

Sets the activation function for the output layer.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_function

The activation functions constant.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer
  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number


Sets the activation function for supplied neuron and layer

  • « fann_set_activation_function_output
  • fann_set_activation_steepness_hidden »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation function for supplied neuron and layer

fann_set_activation_function

(PECL fann >= 1.0.0)

fann_set_activation_function — Sets the activation function for supplied neuron and layer

Açıklama

fann_set_activation_function(
resource $ann,
int $activation_function,
int $layer,
int $neuron
): bool

Set the activation function for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation functions for the neurons in the input layer.

When choosing an activation function it is important to note that the activation functions have different range. FANN_SIGMOID is e.g. in the 0 - 1 range while FANN_SIGMOID_SYMMETRIC is in the -1 - 1 range and FANN_LINEAR is unbound.

The supplied activation_function value must be one of the activation functions constants.

The return value is one of the activation functions constants.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_function

The activation functions constant.

layer

Layer number.

neuron

Neuron number.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_function_layer() - Sets the activation function for all the neurons in the supplied layer
  • fann_set_activation_function_hidden() - Sets the activation function for all of the hidden layers
  • fann_set_activation_function_output() - Sets the activation function for the output layer
  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_get_activation_function() - Returns the activation function


Sets the steepness of the activation steepness for all neurons in the all hidden layers

  • « fann_set_activation_function
  • fann_set_activation_steepness_layer »
  • PHP Manual
  • Fann İşlevleri
  • Sets the steepness of the activation steepness for all neurons in the all hidden layers

fann_set_activation_steepness_hidden

(PECL fann >= 1.0.0)

fann_set_activation_steepness_hidden — Sets the steepness of the activation steepness for all neurons in the all hidden layers

Açıklama

fann_set_activation_steepness_hidden(resource $ann, float $activation_steepness): bool

Sets the steepness of the activation steepness for all neurons in the all hidden layers.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_steepness

The activation steepness.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the activation steepness for all of the neurons in the supplied layer number

  • « fann_set_activation_steepness_hidden
  • fann_set_activation_steepness_output »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation steepness for all of the neurons in the supplied layer number

fann_set_activation_steepness_layer

(PECL fann >= 1.0.0)

fann_set_activation_steepness_layer — Sets the activation steepness for all of the neurons in the supplied layer number

Açıklama

fann_set_activation_steepness_layer(resource $ann, float $activation_steepness, int $layer): bool

Set the activation steepness for all of the neurons in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_steepness

The activation steepness.

layer

Layer number.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the steepness of the activation steepness in the output layer

  • « fann_set_activation_steepness_layer
  • fann_set_activation_steepness »
  • PHP Manual
  • Fann İşlevleri
  • Sets the steepness of the activation steepness in the output layer

fann_set_activation_steepness_output

(PECL fann >= 1.0.0)

fann_set_activation_steepness_output — Sets the steepness of the activation steepness in the output layer

Açıklama

fann_set_activation_steepness_output(resource $ann, float $activation_steepness): bool

Sets the steepness of the activation steepness in the output layer.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_steepness

The activation steepness.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_steepness() - Sets the activation steepness for supplied neuron and layer number
  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Sets the activation steepness for supplied neuron and layer number

  • « fann_set_activation_steepness_output
  • fann_set_bit_fail_limit »
  • PHP Manual
  • Fann İşlevleri
  • Sets the activation steepness for supplied neuron and layer number

fann_set_activation_steepness

(PECL fann >= 1.0.0)

fann_set_activation_steepness — Sets the activation steepness for supplied neuron and layer number

Açıklama

fann_set_activation_steepness(
resource $ann,
float $activation_steepness,
int $layer,
int $neuron
): bool

Set the activation steepness for neuron number neuron in layer number layer, counting the input layer as layer 0.

It is not possible to set activation steepness for the neurons in the input layer.

The steepness of an activation function says something about how fast the activation function goes from the minimum to the maximum. A high value for the activation function will also give a more aggressive training.

When training neural networks where the output values should be at the extremes (usually 0 and 1, depending on the activation function), a steep activation function can be used (e.g. 1.0).

The default activation steepness is 0.5.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

activation_steepness

The activation steepness.

layer

Layer number.

neuron

Neuron number.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_activation_steepness_layer() - Sets the activation steepness for all of the neurons in the supplied layer number
  • fann_set_activation_steepness_hidden() - Sets the steepness of the activation steepness for all neurons in the all hidden layers
  • fann_set_activation_steepness_output() - Sets the steepness of the activation steepness in the output layer
  • fann_get_activation_steepness() - Returns the activation steepness for supplied neuron and layer number
  • fann_set_activation_function() - Sets the activation function for supplied neuron and layer


Set the bit fail limit used during training

  • « fann_set_activation_steepness
  • fann_set_callback »
  • PHP Manual
  • Fann İşlevleri
  • Set the bit fail limit used during training

fann_set_bit_fail_limit

(PECL fann >= 1.0.0)

fann_set_bit_fail_limit — Set the bit fail limit used during training

Açıklama

fann_set_bit_fail_limit(resource $ann, float $bit_fail_limit): bool

Set the bit fail limit used during training.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

bit_fail_limit

The bit fail limit.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_bit_fail_limit() - Returns the bit fail limit used during training


Sets the callback function for use during training

  • « fann_set_bit_fail_limit
  • fann_set_cascade_activation_functions »
  • PHP Manual
  • Fann İşlevleri
  • Sets the callback function for use during training

fann_set_callback

(PECL fann >= 1.0.0)

fann_set_callback — Sets the callback function for use during training

Açıklama

fann_set_callback(resource $ann, callable $callback): bool

Sets the callback function for use during training. It means that it is called from fann_train_on_data() or fann_train_on_file().

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

callback

The supplied callback function takes following parameters:

  • ann - The neural network resource
  • train - The train data resource or null if called from fann_train_on_file()
  • max_epochs - The maximum number of epochs the training should continue
  • epochs_between_reports - The number of epochs between calling this function
  • desired_error - The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()
  • epochs - The current epoch

The callback should return true. If it returns false, the training will terminate.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time


Sets the array of cascade candidate activation functions

  • « fann_set_callback
  • fann_set_cascade_activation_steepnesses »
  • PHP Manual
  • Fann İşlevleri
  • Sets the array of cascade candidate activation functions

fann_set_cascade_activation_functions

(PECL fann >= 1.0.0)

fann_set_cascade_activation_functions — Sets the array of cascade candidate activation functions

Açıklama

fann_set_cascade_activation_functions(resource $ann, array $cascade_activation_functions): bool

Sets the array of cascade candidate activation functions.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_activation_functions

The array of cascade candidate activation functions.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_activation_functions_count() - Returns the number of cascade activation functions
  • fann_set_cascade_activation_functions()


Sets the array of cascade candidate activation steepnesses

  • « fann_set_cascade_activation_functions
  • fann_set_cascade_candidate_change_fraction »
  • PHP Manual
  • Fann İşlevleri
  • Sets the array of cascade candidate activation steepnesses

fann_set_cascade_activation_steepnesses

(PECL fann >= 1.0.0)

fann_set_cascade_activation_steepnesses — Sets the array of cascade candidate activation steepnesses

Açıklama

fann_set_cascade_activation_steepnesses(resource $ann, array $cascade_activation_steepnesses_count): bool

Sets the array of cascade candidate activation steepnesses.

See fann_get_cascade_num_candidates() for a description of which candidate neurons will be generated by this array.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_activation_steepnesses_count

The array of cascade candidate activation steepnesses.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_activation_steepnesses() - Returns the cascade activation steepnesses
  • fann_get_cascade_activation_steepnesses_count() - The number of activation steepnesses


Sets the cascade candidate change fraction

  • « fann_set_cascade_activation_steepnesses
  • fann_set_cascade_candidate_limit »
  • PHP Manual
  • Fann İşlevleri
  • Sets the cascade candidate change fraction

fann_set_cascade_candidate_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_change_fraction — Sets the cascade candidate change fraction

Açıklama

fann_set_cascade_candidate_change_fraction(resource $ann, float $cascade_candidate_change_fraction): bool

Sets the cascade candidate change fraction.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_candidate_change_fraction

The cascade candidate change fraction.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_candidate_change_fraction() - Returns the cascade candidate change fraction


Sets the candidate limit

  • « fann_set_cascade_candidate_change_fraction
  • fann_set_cascade_candidate_stagnation_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the candidate limit

fann_set_cascade_candidate_limit

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_limit — Sets the candidate limit

Açıklama

fann_set_cascade_candidate_limit(resource $ann, float $cascade_candidate_limit): bool

Sets the candidate limit.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_candidate_limit

The candidate limit.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_candidate_limit() - Return the candidate limit


Sets the number of cascade candidate stagnation epochs

  • « fann_set_cascade_candidate_limit
  • fann_set_cascade_max_cand_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the number of cascade candidate stagnation epochs

fann_set_cascade_candidate_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_candidate_stagnation_epochs — Sets the number of cascade candidate stagnation epochs

Açıklama

fann_set_cascade_candidate_stagnation_epochs(resource $ann, int $cascade_candidate_stagnation_epochs): bool

Sets the number of cascade candidate stagnation epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_candidate_stagnation_epochs

The number of cascade candidate stagnation epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_candidate_stagnation_epochs() - Returns the number of cascade candidate stagnation epochs


Sets the max candidate epochs

  • « fann_set_cascade_candidate_stagnation_epochs
  • fann_set_cascade_max_out_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the max candidate epochs

fann_set_cascade_max_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_cand_epochs — Sets the max candidate epochs

Açıklama

fann_set_cascade_max_cand_epochs(resource $ann, int $cascade_max_cand_epochs): bool

Sets the max candidate epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_max_cand_epochs

The max candidate epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_max_cand_epochs() - Returns the maximum candidate epochs


Sets the maximum out epochs

  • « fann_set_cascade_max_cand_epochs
  • fann_set_cascade_min_cand_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the maximum out epochs

fann_set_cascade_max_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_max_out_epochs — Sets the maximum out epochs

Açıklama

fann_set_cascade_max_out_epochs(resource $ann, int $cascade_max_out_epochs): bool

Sets the maximum out epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_max_out_epochs

The maximum out epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_max_out_epochs() - Returns the maximum out epochs


Sets the min candidate epochs

  • « fann_set_cascade_max_out_epochs
  • fann_set_cascade_min_out_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the min candidate epochs

fann_set_cascade_min_cand_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_cand_epochs — Sets the min candidate epochs

Açıklama

fann_set_cascade_min_cand_epochs(resource $ann, int $cascade_min_cand_epochs): bool

Sets the min candidate epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_min_cand_epochs

The minimum candidate epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_cascade_min_cand_epochs() - Returns the minimum candidate epochs


Sets the minimum out epochs

  • « fann_set_cascade_min_cand_epochs
  • fann_set_cascade_num_candidate_groups »
  • PHP Manual
  • Fann İşlevleri
  • Sets the minimum out epochs

fann_set_cascade_min_out_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_min_out_epochs — Sets the minimum out epochs

Açıklama

fann_set_cascade_min_out_epochs(resource $ann, int $cascade_min_out_epochs): bool

Sets the minimum out epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_min_out_epochs

The minimum out epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_cascade_min_out_epochs() - Returns the minimum out epochs


Sets the number of candidate groups

  • « fann_set_cascade_min_out_epochs
  • fann_set_cascade_output_change_fraction »
  • PHP Manual
  • Fann İşlevleri
  • Sets the number of candidate groups

fann_set_cascade_num_candidate_groups

(PECL fann >= 1.0.0)

fann_set_cascade_num_candidate_groups — Sets the number of candidate groups

Açıklama

fann_set_cascade_num_candidate_groups(resource $ann, int $cascade_num_candidate_groups): bool

Sets the number of candidate groups.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_num_candidate_groups

The number of candidate groups.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_num_candidate_groups() - Returns the number of candidate groups


Sets the cascade output change fraction

  • « fann_set_cascade_num_candidate_groups
  • fann_set_cascade_output_stagnation_epochs »
  • PHP Manual
  • Fann İşlevleri
  • Sets the cascade output change fraction

fann_set_cascade_output_change_fraction

(PECL fann >= 1.0.0)

fann_set_cascade_output_change_fraction — Sets the cascade output change fraction

Açıklama

fann_set_cascade_output_change_fraction(resource $ann, float $cascade_output_change_fraction): bool

Sets the cascade output change fraction.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_output_change_fraction

The cascade output change fraction.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_output_change_fraction() - Returns the cascade output change fraction


Sets the number of cascade output stagnation epochs

  • « fann_set_cascade_output_change_fraction
  • fann_set_cascade_weight_multiplier »
  • PHP Manual
  • Fann İşlevleri
  • Sets the number of cascade output stagnation epochs

fann_set_cascade_output_stagnation_epochs

(PECL fann >= 1.0.0)

fann_set_cascade_output_stagnation_epochs — Sets the number of cascade output stagnation epochs

Açıklama

fann_set_cascade_output_stagnation_epochs(resource $ann, int $cascade_output_stagnation_epochs): bool

Sets the number of cascade output stagnation epochs.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_output_stagnation_epochs

The number of cascade output stagnation epochs.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_output_stagnation_epochs() - Returns the number of cascade output stagnation epochs


Sets the weight multiplier

  • « fann_set_cascade_output_stagnation_epochs
  • fann_set_error_log »
  • PHP Manual
  • Fann İşlevleri
  • Sets the weight multiplier

fann_set_cascade_weight_multiplier

(PECL fann >= 1.0.0)

fann_set_cascade_weight_multiplier — Sets the weight multiplier

Açıklama

fann_set_cascade_weight_multiplier(resource $ann, float $cascade_weight_multiplier): bool

Sets the weight multiplier.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

cascade_weight_multiplier

The weight multiplier.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_cascade_weight_multiplier() - Returns the weight multiplier


Sets where the errors are logged to

  • « fann_set_cascade_weight_multiplier
  • fann_set_input_scaling_params »
  • PHP Manual
  • Fann İşlevleri
  • Sets where the errors are logged to

fann_set_error_log

(PECL fann >= 1.0.0)

fann_set_error_log — Sets where the errors are logged to

Açıklama

fann_set_error_log(resource $errdat, string $log_file): void

Sets where the errors are logged to.

Bağımsız Değişkenler

errdat

Ya sinir ağı özkaynağı veya sinir ağı eğitim verisi özkaynağı.

log_file

The log file path.

Dönen Değerler

Dönen değer yok.


Calculate input scaling parameters for future use based on training data

  • « fann_set_error_log
  • fann_set_learning_momentum »
  • PHP Manual
  • Fann İşlevleri
  • Calculate input scaling parameters for future use based on training data

fann_set_input_scaling_params

(PECL fann >= 1.0.0)

fann_set_input_scaling_params — Calculate input scaling parameters for future use based on training data

Açıklama

fann_set_input_scaling_params(
resource $ann,
resource $train_data,
float $new_input_min,
float $new_input_max
): bool

Calculate input scaling parameters for future use based on training data.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data


Sets the learning momentum

  • « fann_set_input_scaling_params
  • fann_set_learning_rate »
  • PHP Manual
  • Fann İşlevleri
  • Sets the learning momentum

fann_set_learning_momentum

(PECL fann >= 1.0.0)

fann_set_learning_momentum — Sets the learning momentum

Açıklama

fann_set_learning_momentum(resource $ann, float $learning_momentum): bool

Sets the learning momentum.

More info available in fann_get_learning_momentum().

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

learning_momentum

The learning momentum.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_learning_momentum() - Returns the learning momentum
  • fann_set_training_algorithm() - Sets the training algorithm


Sets the learning rate

  • « fann_set_learning_momentum
  • fann_set_output_scaling_params »
  • PHP Manual
  • Fann İşlevleri
  • Sets the learning rate

fann_set_learning_rate

(PECL fann >= 1.0.0)

fann_set_learning_rate — Sets the learning rate

Açıklama

fann_set_learning_rate(resource $ann, float $learning_rate): bool

Sets the learning rate.

More info available in fann_get_learning_rate().

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

learning_rate

The learning rate.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_learning_rate() - Returns the learning rate
  • fann_set_training_algorithm() - Sets the training algorithm


Calculate output scaling parameters for future use based on training data

  • « fann_set_learning_rate
  • fann_set_quickprop_decay »
  • PHP Manual
  • Fann İşlevleri
  • Calculate output scaling parameters for future use based on training data

fann_set_output_scaling_params

(PECL fann >= 1.0.0)

fann_set_output_scaling_params — Calculate output scaling parameters for future use based on training data

Açıklama

fann_set_output_scaling_params(
resource $ann,
resource $train_data,
float $new_output_min,
float $new_output_max
): bool

Calculate output scaling parameters for future use based on training data.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data


Sets the quickprop decay factor

  • « fann_set_output_scaling_params
  • fann_set_quickprop_mu »
  • PHP Manual
  • Fann İşlevleri
  • Sets the quickprop decay factor

fann_set_quickprop_decay

(PECL fann >= 1.0.0)

fann_set_quickprop_decay — Sets the quickprop decay factor

Açıklama

fann_set_quickprop_decay(resource $ann, float $quickprop_decay): bool

Sets the quickprop decay factor.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

quickprop_decay

The quickprop decay factor.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_quickprop_decay() - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training


Sets the quickprop mu factor

  • « fann_set_quickprop_decay
  • fann_set_rprop_decrease_factor »
  • PHP Manual
  • Fann İşlevleri
  • Sets the quickprop mu factor

fann_set_quickprop_mu

(PECL fann >= 1.0.0)

fann_set_quickprop_mu — Sets the quickprop mu factor

Açıklama

fann_set_quickprop_mu(resource $ann, float $quickprop_mu): bool

Sets the quickprop mu factor.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

quickprop_mu

The mu factor.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_quickprop_mu() - Returns the mu factor


Sets the decrease factor used during RPROP training

  • « fann_set_quickprop_mu
  • fann_set_rprop_delta_max »
  • PHP Manual
  • Fann İşlevleri
  • Sets the decrease factor used during RPROP training

fann_set_rprop_decrease_factor

(PECL fann >= 1.0.0)

fann_set_rprop_decrease_factor — Sets the decrease factor used during RPROP training

Açıklama

fann_set_rprop_decrease_factor(resource $ann, float $rprop_decrease_factor): bool

Sets the decrease factor used during RPROP training.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

rprop_decrease_factor

The decrease factor.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_rprop_decrease_factor() - Returns the increase factor used during RPROP training


Sets the maximum step-size

  • « fann_set_rprop_decrease_factor
  • fann_set_rprop_delta_min »
  • PHP Manual
  • Fann İşlevleri
  • Sets the maximum step-size

fann_set_rprop_delta_max

(PECL fann >= 1.0.0)

fann_set_rprop_delta_max — Sets the maximum step-size

Açıklama

fann_set_rprop_delta_max(resource $ann, float $rprop_delta_max): bool

The maximum step-size is a positive number determining how large the maximum step-size may be.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

rprop_delta_max

The maximum step-size.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_rprop_delta_max() - Returns the maximum step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size


Sets the minimum step-size

  • « fann_set_rprop_delta_max
  • fann_set_rprop_delta_zero »
  • PHP Manual
  • Fann İşlevleri
  • Sets the minimum step-size

fann_set_rprop_delta_min

(PECL fann >= 1.0.0)

fann_set_rprop_delta_min — Sets the minimum step-size

Açıklama

fann_set_rprop_delta_min(resource $ann, float $rprop_delta_min): bool

The minimum step-size is a small positive number determining how small the minimum step-size may be.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

rprop_delta_min

The minimum step-size.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_rprop_delta_min() - Returns the minimum step-size


Sets the initial step-size

  • « fann_set_rprop_delta_min
  • fann_set_rprop_increase_factor »
  • PHP Manual
  • Fann İşlevleri
  • Sets the initial step-size

fann_set_rprop_delta_zero

(PECL fann >= 1.0.0)

fann_set_rprop_delta_zero — Sets the initial step-size

Açıklama

fann_set_rprop_delta_zero(resource $ann, float $rprop_delta_zero): bool

The initial step-size is a positive number determining the initial step size.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

rprop_delta_zero

The initial step-size.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_rprop_delta_zero() - Returns the initial step-size
  • fann_get_rprop_delta_min() - Returns the minimum step-size
  • fann_get_rprop_delta_max() - Returns the maximum step-size


Sets the increase factor used during RPROP training

  • « fann_set_rprop_delta_zero
  • fann_set_sarprop_step_error_shift »
  • PHP Manual
  • Fann İşlevleri
  • Sets the increase factor used during RPROP training

fann_set_rprop_increase_factor

(PECL fann >= 1.0.0)

fann_set_rprop_increase_factor — Sets the increase factor used during RPROP training

Açıklama

fann_set_rprop_increase_factor(resource $ann, float $rprop_increase_factor): bool

Sets the increase factor used during RPROP training.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

rprop_increase_factor

The increase factor.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_rprop_increase_factor() - Returns the increase factor used during RPROP training


Sets the sarprop step error shift

  • « fann_set_rprop_increase_factor
  • fann_set_sarprop_step_error_threshold_factor »
  • PHP Manual
  • Fann İşlevleri
  • Sets the sarprop step error shift

fann_set_sarprop_step_error_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_shift — Sets the sarprop step error shift

Açıklama

fann_set_sarprop_step_error_shift(resource $ann, float $sarprop_step_error_shift): bool

Sets the sarprop step error shift.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

sarprop_step_error_shift

The sarprop step error shift.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_sarprop_step_error_shift() - Returns the sarprop step error shift


Sets the sarprop step error threshold factor

  • « fann_set_sarprop_step_error_shift
  • fann_set_sarprop_temperature »
  • PHP Manual
  • Fann İşlevleri
  • Sets the sarprop step error threshold factor

fann_set_sarprop_step_error_threshold_factor

(PECL fann >= 1.0.0)

fann_set_sarprop_step_error_threshold_factor — Sets the sarprop step error threshold factor

Açıklama

fann_set_sarprop_step_error_threshold_factor(resource $ann, float $sarprop_step_error_threshold_factor): bool

Sets the sarprop step error threshold factor.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

sarprop_step_error_threshold_factor

The sarprop step error threshold factor.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_sarprop_step_error_threshold_factor() - Returns the sarprop step error threshold factor


Sets the sarprop temperature

  • « fann_set_sarprop_step_error_threshold_factor
  • fann_set_sarprop_weight_decay_shift »
  • PHP Manual
  • Fann İşlevleri
  • Sets the sarprop temperature

fann_set_sarprop_temperature

(PECL fann >= 1.0.0)

fann_set_sarprop_temperature — Sets the sarprop temperature

Açıklama

fann_set_sarprop_temperature(resource $ann, float $sarprop_temperature): bool

Sets the sarprop temperature.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

sarprop_temperature

The sarprop temperature.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_sarprop_temperature() - Returns the sarprop temperature


Sets the sarprop weight decay shift

  • « fann_set_sarprop_temperature
  • fann_set_scaling_params »
  • PHP Manual
  • Fann İşlevleri
  • Sets the sarprop weight decay shift

fann_set_sarprop_weight_decay_shift

(PECL fann >= 1.0.0)

fann_set_sarprop_weight_decay_shift — Sets the sarprop weight decay shift

Açıklama

fann_set_sarprop_weight_decay_shift(resource $ann, float $sarprop_weight_decay_shift): bool

Sets the sarprop weight decay shift.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

sarprop_weight_decay_shift

The sarprop weight decay shift.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Notlar

Bilginize:

Bu işlev sadece fann eklentisi libfann >= 2.2 ile derlenmişse kullanılabilir.

Ayrıca Bakınız

  • fann_get_sarprop_weight_decay_shift() - Returns the sarprop weight decay shift


Calculate input and output scaling parameters for future use based on training data

  • « fann_set_sarprop_weight_decay_shift
  • fann_set_train_error_function »
  • PHP Manual
  • Fann İşlevleri
  • Calculate input and output scaling parameters for future use based on training data

fann_set_scaling_params

(PECL fann >= 1.0.0)

fann_set_scaling_params — Calculate input and output scaling parameters for future use based on training data

Açıklama

fann_set_scaling_params(
resource $ann,
resource $train_data,
float $new_input_min,
float $new_input_max,
float $new_output_min,
float $new_output_max
): bool

Calculate input and output scaling parameters for future use based on training data.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

train_data

Sinir ağı eğitim verisi özkaynağı.

new_input_min

The desired lower bound in input data after scaling (not strictly followed)

new_input_max

The desired upper bound in input data after scaling (not strictly followed)

new_output_min

The desired lower bound in output data after scaling (not strictly followed)

new_output_max

The desired upper bound in output data after scaling (not strictly followed)

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_set_input_scaling_params() - Calculate input scaling parameters for future use based on training data
  • fann_set_output_scaling_params() - Calculate output scaling parameters for future use based on training data


Sets the error function used during training

  • « fann_set_scaling_params
  • fann_set_train_stop_function »
  • PHP Manual
  • Fann İşlevleri
  • Sets the error function used during training

fann_set_train_error_function

(PECL fann >= 1.0.0)

fann_set_train_error_function — Sets the error function used during training

Açıklama

fann_set_train_error_function(resource $ann, int $error_function): bool

Sets the error function used during training.

The error functions are described further in error functions constants.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

error_function

The error function constant

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_train_error_function() - Returns the error function used during training


Sets the stop function used during training

  • « fann_set_train_error_function
  • fann_set_training_algorithm »
  • PHP Manual
  • Fann İşlevleri
  • Sets the stop function used during training

fann_set_train_stop_function

(PECL fann >= 1.0.0)

fann_set_train_stop_function — Sets the stop function used during training

Açıklama

fann_set_train_stop_function(resource $ann, int $stop_function): bool

Sets the stop function used during training.

The stop functions are described further in stop functions constants.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

stop_function

The stop function constant.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_train_stop_function() - Returns the stop function used during training


Sets the training algorithm

  • « fann_set_train_stop_function
  • fann_set_weight_array »
  • PHP Manual
  • Fann İşlevleri
  • Sets the training algorithm

fann_set_training_algorithm

(PECL fann >= 1.0.0)

fann_set_training_algorithm — Sets the training algorithm

Açıklama

fann_set_training_algorithm(resource $ann, int $training_algorithm): bool

Sets the training algorithm.

More info available in fann_get_training_algorithm().

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

training_algorithm

Training algorithm constant

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_get_training_algorithm() - Returns the training algorithm


Set connections in the network

  • « fann_set_training_algorithm
  • fann_set_weight »
  • PHP Manual
  • Fann İşlevleri
  • Set connections in the network

fann_set_weight_array

(PECL fann >= 1.0.0)

fann_set_weight_array — Set connections in the network

Açıklama

fann_set_weight_array(resource $ann, array $connections): bool

Set connections in the network.

Only the weights can be changed, connections and weights are ignored if they do not already exist in the network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

connections

An array of FANNConnection objects

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Set a connection in the network

  • « fann_set_weight_array
  • fann_shuffle_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Set a connection in the network

fann_set_weight

(PECL fann >= 1.0.0)

fann_set_weight — Set a connection in the network

Açıklama

fann_set_weight(
resource $ann,
int $from_neuron,
int $to_neuron,
float $weight
): bool

Set a connections in the network.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

from_neuron

The neuron where the connection starts

to_neuron

The neuron where the connection ends

weight

Connection weight

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Shuffles training data, randomizing the order

  • « fann_set_weight
  • fann_subset_train_data »
  • PHP Manual
  • Fann İşlevleri
  • Shuffles training data, randomizing the order

fann_shuffle_train_data

(PECL fann >= 1.0.0)

fann_shuffle_train_data — Shuffles training data, randomizing the order

Açıklama

fann_shuffle_train_data(resource $train_data): bool

Shuffles training data, randomizing the order. This is recommended for incremental training, while it have no influence during batch training.

Bağımsız Değişkenler

train_data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.


Returns an copy of a subset of the train data

  • « fann_shuffle_train_data
  • fann_test_data »
  • PHP Manual
  • Fann İşlevleri
  • Returns an copy of a subset of the train data

fann_subset_train_data

(PECL fann >= 1.0.0)

fann_subset_train_data — Returns an copy of a subset of the train data

Açıklama

fann_subset_train_data(resource $data, int $pos, int $length): resource

Returns an copy of a subset of the train data resource, starting at position pos and length elements forward.

The fann_subset_train_data(train_data, 0, fann_length_train_data(train_data)) do the same as fann_duplicate_train_data()

Bağımsız Değişkenler

data

Sinir ağı eğitim verisi özkaynağı.

pos

Starting position.

length

The number of copied elements.

Dönen Değerler

Başarı durumunda eğitim verisi özkaynağı, on success, hata durumunda false döner.

Ayrıca Bakınız

  • fann_duplicate_train_data() - Returns an exact copy of a fann train data


Test a set of training data and calculates the MSE for the training data

  • « fann_subset_train_data
  • fann_test »
  • PHP Manual
  • Fann İşlevleri
  • Test a set of training data and calculates the MSE for the training data

fann_test_data

(PECL fann >= 1.0.0)

fann_test_data — Test a set of training data and calculates the MSE for the training data

Açıklama

fann_test_data(resource $ann, resource $data): float

Test a set of training data and calculates the MSE for the training data.

This function updates the MSE and the bit fail values.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The updated MSE, or false on error.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm


Test with a set of inputs, and a set of desired outputs

  • « fann_test_data
  • fann_train_epoch »
  • PHP Manual
  • Fann İşlevleri
  • Test with a set of inputs, and a set of desired outputs

fann_test

(PECL fann >= 1.0.0)

fann_test — Test with a set of inputs, and a set of desired outputs

Açıklama

fann_test(resource $ann, array $input, array $desired_output): array

Test with a set of inputs, and a set of desired outputs. This operation updates the mean square error, but does not change the network in any way.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Dönen Değerler

Returns test outputs on success, or false on error.

Ayrıca Bakınız

  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_train() - Train one iteration with a set of inputs, and a set of desired outputs
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons


Train one epoch with a set of training data

  • « fann_test
  • fann_train_on_data »
  • PHP Manual
  • Fann İşlevleri
  • Train one epoch with a set of training data

fann_train_epoch

(PECL fann >= 1.0.0)

fann_train_epoch — Train one epoch with a set of training data

Açıklama

fann_train_epoch(resource $ann, resource $data): float

Train one epoch with the training data stored in data. One epoch is where all of the training data is considered exactly once.

This function returns the MSE error as it is calculated either before or during the actual training. This is not the actual MSE after the training epoch, but since calculating this will require to go through the entire training set once more. It is more than adequate to use this value during training.

The training algorithm used by this function is chosen by fann_set_training_algorithm() function.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

data

Sinir ağı eğitim verisi özkaynağı.

Dönen Değerler

The MSE, or false on error.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_test_data() - Test a set of training data and calculates the MSE for the training data
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_training_algorithm() - Sets the training algorithm


Trains on an entire dataset for a period of time

  • « fann_train_epoch
  • fann_train_on_file »
  • PHP Manual
  • Fann İşlevleri
  • Trains on an entire dataset for a period of time

fann_train_on_data

(PECL fann >= 1.0.0)

fann_train_on_data — Trains on an entire dataset for a period of time

Açıklama

fann_train_on_data(
resource $ann,
resource $data,
int $max_epochs,
int $epochs_between_reports,
float $desired_error
): bool

Trains on an entire dataset for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

data

Sinir ağı eğitim verisi özkaynağı.

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a callback function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_file() - Trains on an entire dataset, which is read from file, for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training


Trains on an entire dataset, which is read from file, for a period of time

  • « fann_train_on_data
  • fann_train »
  • PHP Manual
  • Fann İşlevleri
  • Trains on an entire dataset, which is read from file, for a period of time

fann_train_on_file

(PECL fann >= 1.0.0)

fann_train_on_file — Trains on an entire dataset, which is read from file, for a period of time

Açıklama

fann_train_on_file(
resource $ann,
string $filename,
int $max_epochs,
int $epochs_between_reports,
float $desired_error
): bool

Trains on an entire dataset, which is read from file, for a period of time.

This training uses the training algorithm chosen by fann_set_training_algorithm() and the parameters set for these training algorithms.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

filename

The file containing train data

max_epochs

The maximum number of epochs the training should continue

epochs_between_reports

The number of epochs between calling a user function. A value of zero means that user function is not called.

desired_error

The desired fann_get_MSE() or fann_get_bit_fail(), depending on the stop function chosen by fann_set_train_stop_function()

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_bit_fail() - The number of fail bits
  • fann_get_MSE() - Reads the mean square error from the network
  • fann_set_train_stop_function() - Sets the stop function used during training
  • fann_set_training_algorithm() - Sets the training algorithm
  • fann_set_callback() - Sets the callback function for use during training


Train one iteration with a set of inputs, and a set of desired outputs

  • « fann_train_on_file
  • FANNConnection »
  • PHP Manual
  • Fann İşlevleri
  • Train one iteration with a set of inputs, and a set of desired outputs

fann_train

(PECL fann >= 1.0.0)

fann_train — Train one iteration with a set of inputs, and a set of desired outputs

Açıklama

fann_train(resource $ann, array $input, array $desired_output): bool

Train one iteration with a set of inputs, and a set of desired outputs. This training is always incremental training, since only one pattern is presented.

Bağımsız Değişkenler

ann

Sinir ağı özkaynağı.

input

An array of inputs. This array must be exactly fann_get_num_input() long.

desired_output

An array of desired outputs. This array must be exactly fann_get_num_output() long.

Dönen Değerler

Başarı durumunda true yoksa falsedöner.

Ayrıca Bakınız

  • fann_train_on_data() - Trains on an entire dataset for a period of time
  • fann_train_epoch() - Train one epoch with a set of training data
  • fann_get_num_input() - Get the number of input neurons
  • fann_get_num_output() - Get the number of output neurons


The FANNConnection class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

FANNConnection is used for the neural network connection. The objects of this class are used in fann_get_connection_array() and fann_set_weight_array().

Sınıf Sözdizimi

class FANNConnection {
/* Özellikler */
public $from_neuron;
public $to_neuron;
public $weight;
/* Yöntemler */
public __construct(int $from_neuron, int $to_neuron, float $weight)
public getFromNeuron(): int
public getToNeuron(): int
public getWeight(): void
public setWeight(float $weight): void
}

Özellikler

from_neuron

The neuron where the connection starts.

to_neuron

The neuron where the connection ends.

weight

The weight of the connection.

İçindekiler

  • FANNConnection::__construct — The connection constructor
  • FANNConnection::getFromNeuron — Returns the postions of starting neuron
  • FANNConnection::getToNeuron — Returns the postions of terminating neuron
  • FANNConnection::getWeight — Returns the connection weight
  • FANNConnection::setWeight — Sets the connections weight


The connection constructor

  • « FANNConnection
  • FANNConnection::getFromNeuron »
  • PHP Manual
  • FANNConnection
  • The connection constructor

FANNConnection::__construct

(PECL fann >= 1.0.0)

FANNConnection::__construct — The connection constructor

Açıklama

public FANNConnection::__construct(int $from_neuron, int $to_neuron, float $weight)

Create new connection and initialize its params. After creating the connection, only weight can be changed.

Bağımsız Değişkenler

from_neuron

The position number of starting neuron.

to_neuron

The position number of terminating neuron.

weight

The connection weight value.


Returns the postions of starting neuron

  • « FANNConnection::__construct
  • FANNConnection::getToNeuron »
  • PHP Manual
  • FANNConnection
  • Returns the postions of starting neuron

FANNConnection::getFromNeuron

(PECL fann >= 1.0.0)

FANNConnection::getFromNeuron — Returns the postions of starting neuron

Açıklama

public FANNConnection::getFromNeuron(): int

Returns the postions of starting neuron.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The postions of starting neuron.


Returns the postions of terminating neuron

  • « FANNConnection::getFromNeuron
  • FANNConnection::getWeight »
  • PHP Manual
  • FANNConnection
  • Returns the postions of terminating neuron

FANNConnection::getToNeuron

(PECL fann >= 1.0.0)

FANNConnection::getToNeuron — Returns the postions of terminating neuron

Açıklama

public FANNConnection::getToNeuron(): int

Returns the positions of terminating neuron.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The postions of terminating neuron.


Returns the connection weight

  • « FANNConnection::getToNeuron
  • FANNConnection::setWeight »
  • PHP Manual
  • FANNConnection
  • Returns the connection weight

FANNConnection::getWeight

(PECL fann >= 1.0.0)

FANNConnection::getWeight — Returns the connection weight

Açıklama

public FANNConnection::getWeight(): void

Returns the connection weight.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The connection weight.


Sets the connections weight

  • « FANNConnection::getWeight
  • Igbinary »
  • PHP Manual
  • FANNConnection
  • Sets the connections weight

FANNConnection::setWeight

(PECL fann >= 1.0.0)

FANNConnection::setWeight — Sets the connections weight

Açıklama

public FANNConnection::setWeight(float $weight): void

Sets the connection weight.

This method is different than fann_set_weight(). It does not update the weight value in the network. The network value is updated only after calling fann_set_weight_array().

Bağımsız Değişkenler

weight

The connection weight.

Dönen Değerler

Dönen değer yok.


Igbinary

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Igbinary İşlevleri
    • igbinary_serialize — Generates a compact, storable binary representation of a value
    • igbinary_unserialize — Creates a PHP value from a stored representation from igbinary_serialize


Giriş

Igbinary is a drop in replacement for the standard PHP serializer. Instead of the time and space consuming textual representation used by PHP's serialize(), igbinary stores PHP data structures in a compact binary form. Memory savings are significant when using memcached, APCu, or similar memory based storages for serialized data. The typical reduction in storage requirements are around 50%. The exact percentage depends on the data.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/igbinary.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Igbinary Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
igbinary.compact_strings | 1 | PHP_INI_ALL |
Session Configuration Options Affecting Igbinary Behavior
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
session.save_handler | "files" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

igbinary.compact_strings bool

Enable or disable compacting of duplicate strings. The default is On.

session.save_handler string

Igbinary is used as session handler by setting this value to igbinary.


Igbinary İşlevleri

İçindekiler

  • igbinary_serialize — Generates a compact, storable binary representation of a value
  • igbinary_unserialize — Creates a PHP value from a stored representation from igbinary_serialize


Generates a compact, storable binary representation of a value

  • « Igbinary İşlevleri
  • igbinary_unserialize »
  • PHP Manual
  • Igbinary İşlevleri
  • Generates a compact, storable binary representation of a value

igbinary_serialize

(PECL igbinary >= 1.1.1)

igbinary_serialize — Generates a compact, storable binary representation of a value

Açıklama

igbinary_serialize(mixed $value): string|false

Generates a storable representation of a value.

This is useful for storing or passing PHP values around without losing their type and structure.

To make the serialized string into a PHP value again, igbinary_unserialize() can be used.

Bağımsız Değişkenler

value

The value to be serialized. igbinary_serialize() handles all types, except the resource-type and some objects (see note below). Even arrays that contain references to itself can be processed by igbinary_serialize(). Circular references inside the array or object that is being serializend will also be stored. Any other reference will be lost.

When serializing objects, igbinary will attempt to call the member functions __serialize() or __sleep() prior to serialization. This is to allow the object to do any last minute clean-up, etc. prior to being serialized. Likewise, when the object is restored using igbinary_unserialize() the __unserialize() or __wakeup() member function is called.

Bilginize:

Private members of objects have the class name prepended to the member name; protected members have a '*' prepended to the member name. These prepended values have null bytes on either side.

Dönen Değerler

Returns a string containing a byte-stream representation of value that can be stored anywhere.

Note that this is a binary string which can include any byte value, and needs to be stored and handled as such. For example, igbinary_serialize() output should generally be stored in a BLOB field in a database, rather than a CHAR or TEXT field.

Örnekler

Örnek 1 igbinary_serialize() example

<?php
$ser = igbinary_serialize(['test', 'test']);
echo urlencode($ser), "\n";
var_export(igbinary_unserialize($ser));
?>

Yukarıdaki örneğin çıktısı:

%00%00%00%02%14%02%06%00%11%04test%06%01%0E%00
array (
  0 => 'test',
  1 => 'test',
)

Notlar

Bilginize:

Note that many built-in PHP objects cannot be serialized. However, those with this ability either implement the Serializable interface or the magic __serialize()/__unserialize() or __sleep()/__wakeup() methods. If an internal class does not fulfill any of those requirements, it cannot reliably be serialized with any serializer.

There are some historical exceptions to the above rule, where some internal objects could be serialized without implementing the interface or exposing the methods.

Ayrıca Bakınız

  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • igbinary_unserialize() - Creates a PHP value from a stored representation from igbinary_serialize
  • var_export() - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar
  • json_encode() - Değerin JSON karşılığını verir.
  • Serializing Objects
  • __sleep()
  • __wakeup()
  • __serialize()
  • __unserialize()


Creates a PHP value from a stored representation from igbinary_serialize

  • « igbinary_serialize
  • JSON »
  • PHP Manual
  • Igbinary İşlevleri
  • Creates a PHP value from a stored representation from igbinary_serialize

igbinary_unserialize

(PECL igbinary >= 1.1.1)

igbinary_unserialize — Creates a PHP value from a stored representation from igbinary_serialize()

Açıklama

igbinary_unserialize(string $str): mixed

igbinary_unserialize() takes a single serialized variable from igbinary_serialize() and converts it back into a PHP value.

Uyarı

Untrusted user input must not be passed to igbinary_unserialize(). Unserialization can result in code being loaded and executed due to object instantiation and autoloading, and a malicious user may be able to exploit this. Instead a safe, standard data interchange format such as JSON (via json_decode() and json_encode()) should be used, if serialized data needs to be passed to a client.

If there is the need to unserialize externally-stored serialized data, hash_hmac() can be used for data validation. It is important to ensure that nobody has tampered with the data.

Uyarı

The igbinary serialization format does not provide a way to distinguish between different reference groups for the same value. All PHP references to a given value as treated as part of the same reference group when unserialized, even if they were parts of difference reference groups when serialized.

Bağımsız Değişkenler

str

The serialized string generated by igbinary_serialize().

If the value being unserialized is an object, after successfully reconstructing the object igbinary will automatically attempt to call the __unserialize() or __wakeup() methods (if one exists).

Bilginize: unserialize_callback_func directive

It is possible to set a callback function which will be called, if an undefined class should be instantiated during unserializing. (to prevent getting an incomplete object __PHP_Incomplete_Class.) The php.ini, ini_set() or .htaccess can be used to define unserialize_callback_func. Everytime an undefined class should be instantiated, it will be called. To disable this feature this setting should be emptied.

Dönen Değerler

The converted value is returned, and can be a bool, int, float, string, array, object, or null.

In case the passed string is not unserializeable, false is returned and E_NOTICE or E_WARNING is issued.

Hatalar/İstisnalar

Objects may throw Throwables in their unserialization handlers.

Notlar

Uyarı

null or false is returned both in the case of an error and if unserializing the serialized null or false value. It is possible to catch this special case by comparing str with igbinary_serialize(null) or igbinary_serialize(false) or by catching the issued E_NOTICE.

Ayrıca Bakınız

  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • json_encode() - Değerin JSON karşılığını verir.
  • json_decode() - Bir JSON dizgesini çözümler
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • igbinary_serialize() - Generates a compact, storable binary representation of a value
  • Autoloading Classes
  • unserialize_callback_func
  • __wakeup()
  • __serialize()
  • __unserialize()


JavaScript Nesne Bildirimi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • JsonException — JsonException sınıfı
  • JsonSerializable — JsonSerializable arayüzü
    • JsonSerializable::jsonSerialize — JSON için dizeleştirilecek veriyi belirtmek için
  • JSON İşlevleri
    • json_decode — Bir JSON dizgesini çözümler
    • json_encode — Değerin JSON karşılığını verir.
    • json_last_error_msg — Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür
    • json_last_error — Oluşan son hatayı döndürür.
    • json_validate — Checks if a string contains valid JSON


Giriş

Bu eklenti JavaScript Nesne Bildirimini (» JavaScript Object Notation (JSON) gerçeklemektedir. PHP için özel olarak yazılmış ve PHP lisansı altında lisanslanmış tamamen yeni ve geliştirilmiş bir çözümleyici ile gelir.

Bilginize:

PHP, özgün » RFC 7159'da belirtildiği gibi JSON'ın kapsayıcı kümesini gerçekler.


Kurulum

JSON eklentisi paketlenmiş ve derlenmiş haliyle PHP'de öntanımlı olarak gelmektedir.

PHP 8.0.0 itibariyle, JSON eklentisi PHP nin temel eklentilerinden biri olup daima etkindir.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/json


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Aşağıdaki hata türü sabitleri, ya json_last_error() tarafından döndürülür ya da JsonException sınıfı altında bir code olarak saklanır.

JSON_ERROR_NONE (int)
Hata bulunamadı.
JSON_ERROR_DEPTH (int)
Azami yığın boyutu aşıldı.
JSON_ERROR_STATE_MISMATCH (int)
Kiplerin eşleşmemesi veya alttan taşma hatalarında oluşur.
JSON_ERROR_CTRL_CHAR (int)
Denetim karakteri hatası, muhtemelen yanlış kodlanmış.
JSON_ERROR_SYNTAX (int)
Sözdizimi hatası.
JSON_ERROR_UTF8 (int)
UTF-8 karakter kodlama hatası, muhtemelen yanlış kodlanmış.
JSON_ERROR_RECURSION (int)
json_encode() işlevine iç içe başvurular içeren nesne veya dizi aktarılmış. JSON_PARTIAL_OUTPUT_ON_ERROR seçeneği belirtilirse iç içe başvuruların bulunduğu yerlere null yerleştirilir.
JSON_ERROR_INF_OR_NAN (int)
json_encode() işlevine NAN veya INF içeren bir değer aktarılmış. JSON_PARTIAL_OUTPUT_ON_ERROR seçeneği belirtilirse bu özel sayıların yerine 0yerleştirilir.
JSON_ERROR_UNSUPPORTED_TYPE (int)
json_encode() işlevine desteklenmeyen türde (resource gibi) bir değer aktarılmış. JSON_PARTIAL_OUTPUT_ON_ERROR seçeneği belirtilirse desteklenmeyen değerin yerine null yerleştirilir.
JSON_ERROR_INVALID_PROPERTY_NAME (int)
Bir JSON nesnesi bir PHP nesnesine dönüştürülürken json_decode() işlevine aktarılan dizede \u0000 karakteriyle başlayan bir anahtar vardı.
JSON_ERROR_UTF16 (int)
json_decode() işlevine aktarılan JSON dizesinde bulunan unicode öncelemesi içindeki eşleştirilmemiş tekli UTF-16 vekil.

Aşağıdaki sabitler json_decode() için seçenekler oluşturmak üzere birleştirilebilir.

JSON_BIGINT_AS_STRING (int)
Geniş tamsayıları özgün dize değerlerine dönüştürür.
JSON_OBJECT_AS_ARRAY (int)
JSON nesneleri PHP dizisine dönüştürür. Bu seçenek, json_decode() işlevine ikinci bağımsız değişken olarak true atanarak da eklenebilir.

Aşağıdaki sabitler json_encode() için seçenekler oluşturmak üzere birleştirilebilir.

JSON_HEX_TAG (int)
Bütün < ve > karakterleri \u003C ve \u003E karakterlerine dönüştürülürler.
JSON_HEX_AMP (int)
Bütün & karakterleri \u0026 karakterlerine dönüştürülürler.
JSON_HEX_APOS (int)
Bütün ' karakterleri \u0027 karakterlerine dönüştürülürler.
JSON_HEX_QUOT (int)
Bütün " karakterleri \u0022 dönüştürülürler.
JSON_FORCE_OBJECT (int)
İlişkisel olmayan dizi kullanıldığında çıktıları dizi yerine nesne olmaktadır. Özellikle dizi boş ve çıktı nesne olarak bekleniyorsa çok kullanışlıdır.
JSON_NUMERIC_CHECK (int)
Sayısal dizgileri sayı olarak ele alınır.
JSON_PRETTY_PRINT (int)
Dönen veriyi biçimlemek için boşluk karakteri kullanılır.
JSON_UNESCAPED_SLASHES (int)
/ öncelenmez.
JSON_UNESCAPED_UNICODE (int)
Çokbaytlı Unicode karakteri sayısal değerleriyle kodlar. (\uXXXX biçimi öntanımlıdır).
JSON_PARTIAL_OUTPUT_ON_ERROR (int)
Başarısız olmak yerine kodlanamayan bazı değerler değiştirilir.
JSON_PRESERVE_ZERO_FRACTION (int)
float değerlerin daima kayan noktalı değerler olarak kodlanmasını sağlar.
JSON_UNESCAPED_LINE_TERMINATORS (int)
JSON_UNESCAPED_UNICODE sağlandığı takdirde satırsonu karakterleri öncelenmeden saklanır; PHP 7.1 öncesinde aynı davranışı sağlamak için bu sabit gerekmiyordu. PHP 7.1.0 sürümünden itibaren kullanılabilir.

Aşağıdaki sabitler json_encode() ve json_decode() için seçenekler oluşturmak üzere birleştirilebilir.

JSON_INVALID_UTF8_IGNORE (int)
Geçersiz UTF-8 karakterleri yoksayılır. PHP 7.2.0 sürümünden itibaren kullanılabilir.
JSON_INVALID_UTF8_SUBSTITUTE (int)
Geçersiz UTF-8 karakterleri \0xfffd karakterine dönüştürülür. PHP 7.2.0 sürümünden itibaren kullanılabilir.
JSON_THROW_ON_ERROR (int)
Bir hata oluşursa küresel hata durumunu json_last_error() ve json_last_error_msg() ile ayarlamak yerine bir JsonException atanır. JSON_PARTIAL_OUTPUT_ON_ERROR sabiti JSON_THROW_ON_ERROR sabitine göre önceliklidir. PHP 7.3.0 sürümünden itibaren kullanılabilir.


JsonException sınıfı

(PHP 7 >= 7.3.0, PHP 8)

Giriş

JSON_THROW_ON_ERROR sabiti atanmışken bir hata oluşursa küresel hata durumunu json_last_error() ve json_last_error_msg() ile ayarlamak yerine bir JsonException atanır. code hata türünü içerir; olası hata türleri için json_last_error() işlevine bakınız.

Sınıf Sözdizimi

class JsonException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


JsonSerializable arayüzü

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

JsonSerializable arayüzünü gerçekleyen nesneler json_encode() ile kodlandığında JSON gösterimlerine özelleştirilebilir.

Arayüz Sözdizimi

interface JsonSerializable {
/* Yöntemler */
public jsonSerialize(): mixed
}

İçindekiler

  • JsonSerializable::jsonSerialize — JSON için dizeleştirilecek veriyi belirtmek için


JSON için dizeleştirilecek veriyi belirtmek için

  • « JsonSerializable
  • JSON İşlevleri »
  • PHP Manual
  • JsonSerializable
  • JSON için dizeleştirilecek veriyi belirtmek için

JsonSerializable::jsonSerialize

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

JsonSerializable::jsonSerialize — JSON için dizeleştirilecek veriyi belirtmek için

Açıklama

public JsonSerializable::jsonSerialize(): mixed

Bir nesneyi json_encode() tarafından yerel olarak dizeleştirilebilen bir değer haline getirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

json_encode() tarafından yerel olarak dizeleştirilebilecek veriyi resource haricinde bir değer olarak döndürür.

Örnekler

Örnek 1 - Bir dizi döndüren JsonSerializable::jsonSerialize() örneği

<?php
class ArrayValue implements JsonSerializable {
private $array;
public function __construct(array $array) {
$this->array = $array;
}

public function jsonSerialize() {
return $this->array;
}
}

$array = [1, 2, 3];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Yukarıdaki örneğin çıktısı:

[
    1,
    2,
    3
]

Örnek 2 - Bir ilişkisel dizi döndüren JsonSerializable::jsonSerialize() örneği

<?php
class ArrayValue implements JsonSerializable {
private $array;
public function __construct(array $array) {
$this->array = $array;
}

public function jsonSerialize() {
return $this->array;
}
}

$array = ['foo' => 'bar', 'quux' => 'baz'];
echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Yukarıdaki örneğin çıktısı:

{
    "foo": "bar",
    "quux": "baz"
}

Örnek 3 - Bir tamsayı döndüren JsonSerializable::jsonSerialize() örneği

<?php
class IntegerValue implements JsonSerializable {
private $number;
public function __construct($number) {
$this->number = (int) $number;
}

public function jsonSerialize() {
return $this->number;
}
}

echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
?>

Yukarıdaki örneğin çıktısı:

1

Örnek 4 - Bir dize döndüren JsonSerializable::jsonSerialize() örneği

<?php
class StringValue implements JsonSerializable {
private $string;
public function __construct($string) {
$this->string = (string) $string;
}

public function jsonSerialize() {
return $this->string;
}
}

echo json_encode(new StringValue('Hello!'), JSON_PRETTY_PRINT);
?>

Yukarıdaki örneğin çıktısı:

"Hello!"


JSON İşlevleri

İçindekiler

  • json_decode — Bir JSON dizgesini çözümler
  • json_encode — Değerin JSON karşılığını verir.
  • json_last_error_msg — Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür
  • json_last_error — Oluşan son hatayı döndürür.
  • json_validate — Checks if a string contains valid JSON


Bir JSON dizgesini çözümler

  • « JSON İşlevleri
  • json_encode »
  • PHP Manual
  • JSON İşlevleri
  • Bir JSON dizgesini çözümler

json_decode

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)

json_decode — Bir JSON dizgesini çözümler

Açıklama

json_decode(
string $json,
?bool $ilişkisel = null,
int $derinlik = 512,
int $seçenekler = 0
): mixed

Kodlanmış bir JSON dizgesini çözümler ve PHP değerine çevirir.

Bağımsız Değişkenler

json

Deşifre edilmiş json dizgesi.

Bu işlev UTF-8 kodlu dizgelerle çalışır.

Bilginize:

PHP, özgün » RFC 7159'da belirtildiği gibi JSON'ın kapsayıcı kümesini gerçekler.

ilişkisel

true olduğu zaman JSON nesneleri bir ilişkisel dizilere dönüştürülür. false belirtilirse JSON nesneleri nesne olarak döndürülür. null olduğu zaman JSON nesneleri seçenekler bağımsız değişkeninde JSON_OBJECT_AS_ARRAY sabiti atanmışsa ilişkisel dizi atanmamışsa nesne olarak döner.

derinlik

Kodlu yapının azami iç içe derinliği. Değer 0'dan büyük, 2147483647'den küçük veya buna eşit olmalıdır.

seçenekler

JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR sabitlerinin bit maskesi. Bu sabitlerin davranışı JSON sabitleri sayfasında açıklanmıştır.

Dönen Değerler

json ile şifrelenmiş değerler PHP için uygun veri türlerinde döner. true, false ve null değerle sırasıyla true, false ve null olarak döner. json çözülemediğinde ya da şifreli verinin iç içelik derinliği belirtilenden fazla olduğunda da null döner.

Hatalar/İstisnalar

derinlik izin verilen aralığın dışındaysa, PHP 8.0.0 ve sonrasında bir ValueError yavrulanır. Evvelce, E_WARNING seviyesinde bir hata çıktılanırdı.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | JSON_THROW_ON_ERROR seçeneği eklendi.
7.2.0 | associative is nullable now.
7.2.0 | JSON_INVALID_UTF8_IGNORE ve JSON_INVALID_UTF8_SUBSTITUTE seçeneği eklendi.
7.1.0 | _empty_ değerli bir anahtar kullanmak yerine boş nesne özelliğine boş bir JSON anahtarı ("") kodlanabilir.

Örnekler

Örnek 1 - json_decode() örnekleri

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($json, true));

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

Örnek 2 - Geçersiz nesne özelliklerine erişim

PHP'nin adlandırma kuralı (örneğin, kısa çizgi) kapsamında izin verilmeyen karakterleri içeren bir nesne içindeki öğelere erişim, öğe adının kaşlı ayraçlar ve tek tırnak imleri arasına alınmasıyla gerçekleştirilebilir.

<?php

$json = '{"foo-bar": 12345}';

$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Örnek 3 - json_decode() kullanırken yapılan genel bir hata.

<?php

// Aşağıdaki dizgeler JavaScript de geçerli olmasına karşın JSON da geçerli değildir.

// isim ve değerler çift tırnak içine alınmalıdır.
// tek tırnak geçerli değildir.
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // boş

// isim çift tırnak içine alınmalıdır.
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // boş

// sonda kalan virgüle izin verilmez
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // boş

?>

Örnek 4 - depth hataları

<?php
// Veriyi azami derinlik olarak 4 iç içelik ile kodla
// (array -> array -> array -> string).
$json = json_encode(
array(
1 => array(
'English' => array(
'One',
'January'
),
'French' => array(
'Une',
'Janvier'
)
)
)
);

// Farklı derinlikteki hataları göster
var_dump(json_decode($json, true, 4));
echo 'Son hata: ', json_last_error_msg(), PHP_EOL, PHP_EOL;

var_dump(json_decode($json, true, 3));
echo 'Son hata: ', json_last_error_msg(), PHP_EOL, PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [1]=>
  array(2) {
    ["English"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["French"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Son hata: No error

NULL
Son hata: Maximum stack depth exceeded

Örnek 5 - Büyük tamsayılarla json_decode()

<?php
$json = '{"number": 12345678901234567890}';

var_dump(json_decode($json));
var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING));

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["number"]=>
  float(1.2345678901235E+19)
}
object(stdClass)#1 (1) {
  ["number"]=>
  string(20) "12345678901234567890"
}

Notlar

Bilginize:

JSON sınıfı JavaScript değildir, ancak JavaScript'in alt kümesidir.

Bilginize:

Bir hatayı çözmek ve hatanın tam niteliği belirlemek için json_last_error() kullanılabilir.

Ayrıca Bakınız

  • json_encode() - Değerin JSON karşılığını verir.
  • json_last_error() - Oluşan son hatayı döndürür.


Değerin JSON karşılığını verir.

  • « json_decode
  • json_last_error_msg »
  • PHP Manual
  • JSON İşlevleri
  • Değerin JSON karşılığını verir.

json_encode

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)

json_encode — Değerin JSON karşılığını verir.

Açıklama

json_encode(mixed $değer, int $seçenekler = 0, int $derinlik = 512): string|false

Belirtilen değer'in JSON gösterimini içeren bir dizge döndürür. Bağımsız değişken bir dizi veya nesne ise önce ardışık olarak dizgeleştirilir.

Dizgeleştirilen değer bir nesne ise öntanımlı olarak yalnızca genelde görünür (public) özellikler içerebilir. Ancak, JSON'a dizgeleştirmeyi denetim altıda tutmak için JsonSerializable arayüzünü gerçeklemek yoluna da gidilebilir.

Kodlama, sağlanan seçeneklerden etkilenir ve ek olarak kayan noktalı değerlerin kodlanması serialize_precision değerine bağlıdır.

Bağımsız Değişkenler

değer

Kodlanacak değer. resource türü dışında herhangi bir türde olabilir.

Tüm dizgeler UTF-8 kodlu olmalıdır.

seçenekler

JSON_FORCE_OBJECT, JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_FORCE_OBJECT. JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_NUMERIC_CHECK, JSON_PARTIAL_OUTPUT_ON_ERROR, JSON_PRESERVE_ZERO_FRACTION, JSON_PRETTY_PRINT, JSON_UNESCAPED_LINE_TERMINATORS, JSON_UNESCAPED_SLASHES, JSON_UNESCAPED_UNICODE, JSON_THROW_ON_ERROR sabitlerinin bit maskesi. Bu sabitlerin davranışı JSON sabitleri sayfasında açıklanmıştır.

Dönen Değerler

Başarı durumunda JSON kodlu bir dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | JSON_THROW_ON_ERROR seçeneği eklendi.
7.2.0 | JSON_INVALID_UTF8_IGNORE ve JSON_INVALID_UTF8_SUBSTITUTE seçeneği eklendi.
7.1.0 | JSON_UNESCAPED_LINE_TERMINATORS seçeneği eklendi.
7.1.0 | float değerler deşifre edilirken precision php.ini seçeneği yerine serialize_precision kullanılır.

Örnekler

Örnek 1 - json_encode() örneği

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

echo json_encode($arr);
?>

Yukarıdaki örneğin çıktısı:

{"a":1,"b":2,"c":3,"d":4,"e":5}

Örnek 2 - Bazı seçeneklerin kullanımını gösteren json_encode() örneği

<?php
$a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9");

echo "Normal: ", json_encode($a), "\n";
echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n";
echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n";
echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n";
echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n";
echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n";
echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT |
JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n";

$b = array();

echo "Boş dizi, dizi olarak çıktılanır: ", json_encode($b), "\n";
echo "Boş dizi, nesne olarak çıktılanır: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n";

$c = array(array(1,2,3));

echo "İlişkisel olmayan dizi, dizi olarak çıktılanır: ", json_encode($c), "\n";
echo "İlişkisel olmayan dizi, nesne olarak çıktılanır: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n";

$d = array('foo' => 'bar', 'baz' => 'long');

echo "İlişkisel dizi daima nesne olarak çıktılanır: ", json_encode($d), "\n";
echo "İlişkisel dizi daima nesne olarak çıktılanır: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n";
?>

Yukarıdaki örneğin çıktısı:

Normal: ["<foo>","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["<foo>","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["<foo>","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["<foo>","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["<foo>","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Boş dizi, dizi olarak çıktılanır: []
Boş dizi, nesne olarak çıktılanır: {}

İlişkisel olmayan dizi, dizi olarak çıktılanır: [[1,2,3]]
İlişkisel olmayan dizi, nesne olarak çıktılanır: {"0":{"0":1,"1":2,"2":3}}

İlişkisel dizi daima nesne olarak çıktılanır: {"foo":"bar","baz":"long"}
İlişkisel dizi daima nesne olarak çıktılanır: {"foo":"bar","baz":"long"}

Örnek 3 - JSON_NUMERIC_CHECK seçeneği örneği

<?php
echo "Sayıları gösteren dizgeler otomatik olarak sayılara dönüştürülür".PHP_EOL;
$numbers = array('+123123', '-123123', '1.2e3', '0.00001');
var_dump(
$numbers,
json_encode($numbers, JSON_NUMERIC_CHECK)
);
echo "Yanlış biçimlendirilmiş sayılar içeren dizgeler".PHP_EOL;
$strings = array('+a33123456789', 'a123');
var_dump(
$strings,
json_encode($strings, JSON_NUMERIC_CHECK)
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sayıları gösteren dizgeler otomatik olarak sayılara dönüştürülür
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Yanlış biçimlendirilmiş sayılar içeren dizgeler
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"

Örnek 4 - Sıralı ve sırasız dizi örneği

<?php
echo "Sıralı dizi".PHP_EOL;
$sequential = array("foo", "bar", "baz", "blong");
var_dump(
$sequential,
json_encode($sequential)
);

echo PHP_EOL."Sırasız dizi".PHP_EOL;
$nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong");
var_dump(
$nonsequential,
json_encode($nonsequential)
);

echo PHP_EOL."1 indisi silinmiş sıralı dizi".PHP_EOL;
unset($sequential[1]);
var_dump(
$sequential,
json_encode($sequential)
);
?>

Yukarıdaki örneğin çıktısı:

Sıralı dizi
array(4) {
  [0]=>
  string(3) "foo"
  [1]=>
  string(3) "bar"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(27) "["foo","bar","baz","blong"]"

Sırasız dizi
array(4) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(3) "baz"
  [4]=>
  string(5) "blong"
}
string(43) "{"1":"foo","2":"bar","3":"baz","4":"blong"}"

1 indisi silinmiş sıralı dizi
array(3) {
  [0]=>
  string(3) "foo"
  [2]=>
  string(3) "baz"
  [3]=>
  string(5) "blong"
}
string(33) "{"0":"foo","2":"baz","3":"blong"}"

Örnek 5 - JSON_PRESERVE_ZERO_FRACTION seçeneği örneği

<?php
var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION));
var_dump(json_encode(12.0));
?>

Yukarıdaki örneğin çıktısı:

string(4) "12.0"
string(2) "12"

Ayrıca Bakınız

  • json_decode() - Bir JSON dizgesini çözümler


Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür

  • « json_encode
  • json_last_error »
  • PHP Manual
  • JSON İşlevleri
  • Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür

json_last_error_msg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

json_last_error_msg — Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür

Açıklama

json_last_error_msg(): string

JSON_THROW_ON_ERROR belirtilmeden yapılan son JSON json_encode() veya json_decode() çağrısının hata dizgesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda hata iletisi, hata oluşmadıysa "No error" döner.

Ayrıca Bakınız

  • json_last_error() - Oluşan son hatayı döndürür.


Oluşan son hatayı döndürür.

  • « json_last_error_msg
  • json_validate »
  • PHP Manual
  • JSON İşlevleri
  • Oluşan son hatayı döndürür.

json_last_error

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

json_last_error — Oluşan son hatayı döndürür.

Açıklama

json_last_error(): int

JSON_THROW_ON_ERROR belirtilmeden yapılan son JSON şifre/deşifre işlemi sırasında (varsa) oluşan son hatayı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tamsayı döndürür, ve değeri aşağıdaki sabitler olabilir:

JSON hata kodları
Sabit | Anlamı | Geçerlilik
JSON_ERROR_NONE | Hata bulunamadı |
JSON_ERROR_DEPTH | Azami yığın derinliği aşıldı |
JSON_ERROR_STATE_MISMATCH | Geçersiz ya da bozuk JSON |
JSON_ERROR_CTRL_CHAR | Denetim karakteri hatası, muhtemelen yanlış kodlanmış |
JSON_ERROR_SYNTAX | Sözdizimi hatası |
JSON_ERROR_UTF8 | Bozuk UTF-8 karakterler, muhtemelen yanlış kodlanmış |
JSON_ERROR_RECURSION | Kodlanacak değerde bir veya daha fazla özyinelemeli gönderim |
JSON_ERROR_INF_OR_NAN | Kodlanacak değerde bir veya daha fazla NAN veya INF değeri |
JSON_ERROR_UNSUPPORTED_TYPE | Kodlanamayan türde bir değer belirtilmiş |
JSON_ERROR_INVALID_PROPERTY_NAME | Kodlanamayan bir özellik ismi belirtilmiş |
JSON_ERROR_UTF16 | Bozuk UTF-16 karakterler, muhtemelen yanlış kodlanmış |

Örnekler

Örnek 1 json_last_error() örneği

<?php
// Geçerli json dizgesi
$json[] = '{"Organization": "PHP Documentation Team"}';

// Geçersiz json dizgesi sözdizimi hatasına sebep
// olur, bu durumda biz tırnak için ' yerine "
// kullanırız
$json[] = "{'Organization': 'PHP Documentation Team'}";

foreach ($json as $string) {
echo 'Decoding: ' . $string;
json_decode($string);

switch (json_last_error()) {
case JSON_ERROR_NONE:
echo ' - No errors';
break;
case JSON_ERROR_DEPTH:
echo ' - Azami yığın derinliği aşıldı';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Alttan taşma ya da kipler uyumsuz';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Beklenmeyen kontol karakteri bulundu';
break;
case JSON_ERROR_SYNTAX:
echo ' - Sözdizimi hatası, kusurlu JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Bozuk UTF-8 karakterler, muhtemelen yanlış kodlanmış';
break;
default:
echo ' - Bilinmeyen hata';
break;
}

echo PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Decoding: {"Organization": "PHP Documentation Team"} - Hatasız
Decoding: {'Organization': 'PHP Documentation Team'} - Sözdizimi hatası, kusurlu JSON

Örnek 2 - json_last_error() ile json_encode()

<?php
// Geçersiz UTF8 dizesi
$text = "\xB1\x31";

$json = json_encode($text);
$error = json_last_error();

var_dump($json, $error === JSON_ERROR_UTF8);
?>

Yukarıdaki örneğin çıktısı:

string(4) "null"
bool(true)

Örnek 3 - json_last_error() ve JSON_THROW_ON_ERROR

<?php
// JSON_ERROR_UTF8'e sebep olan geçersiz UTF8 dizesi
json_encode("\xB1\x31");

// Bu bir JSON hatası oluşturmaz
json_encode('okay', JSON_THROW_ON_ERROR);

// Küresel hata durumu eski json_encode() tarafından değiştirilmemiş
var_dump(json_last_error() === JSON_ERROR_UTF8);
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • json_decode() - Bir JSON dizgesini çözümler


Checks if a string contains valid JSON

  • « json_last_error
  • Simdjson »
  • PHP Manual
  • JSON İşlevleri
  • Checks if a string contains valid JSON

json_validate

(PHP 8 >= 8.3.0)

json_validate — Checks if a string contains valid JSON

Açıklama

json_validate(string $json, int $depth = 512, int $flags = 0): bool

Returns whether the given string is syntactically valid JSON. If json_validate() returns true, json_decode() will successfully decode the given string when using the same depth and flags.

If json_validate() returns false, the cause
can be retrieved using json_last_error() and
json_last_error_msg().

json_validate() uses less memory than json_decode() if the decoded JSON payload is not used, because it does not need to build the array or object structure containing the payload.

Dikkat

Calling json_validate() immediately before
json_decode() will unnecessarily parse the string
twice, as json_decode() implicitly performs
validation during decoding.

json_validate() should therefore only be used if the decode JSON payload is not immediately used and knowing whether the string contains valid JSON is needed.

Bağımsız Değişkenler

json

The string to validate.

This function only works with UTF-8 encoded strings.

Bilginize:

PHP, özgün » RFC 7159'da belirtildiği gibi JSON'ın kapsayıcı kümesini gerçekler.

depth

Maximum nesting depth of the structure being decoded. The value must be greater than 0, and less than or equal to 2147483647.

flags

Currently only JSON_INVALID_UTF8_IGNORE is accepted.

Dönen Değerler

Returns true if the given string is syntactically valid JSON, otherwise returns false.

Hatalar/İstisnalar

If depth is outside the allowed range, a ValueError is thrown.

Örnekler

Örnek 1 json_validate() examples

<?php
var_dump(json_validate('{ "test": { "foo": "bar" } }'));
var_dump(json_validate('{ "": "": "" } }'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • json_decode() - Bir JSON dizgesini çözümler
  • json_last_error() - Oluşan son hatayı döndürür.
  • json_last_error_msg() - Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür


Simdjson

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • Öntanımlı Sabitler
  • Simdjson İşlevleri
    • simdjson_decode — Decodes a JSON string
    • simdjson_is_valid — Check if a JSON string is valid
    • simdjson_key_count — Returns the value at a JSON pointer.
    • simdjson_key_exists — Check if the JSON contains the value referred to by a JSON pointer.
    • simdjson_key_value — Decodes the value of a JSON string located at the requested JSON pointer.
  • SimdJsonException — The SimdJsonException class
  • SimdJsonValueError — The SimdJsonValueError class


Giriş

Provides faster JSON decoding through simdjson bindings for PHP (Single Instruction, Multiple Data)


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • Simdjson
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/simdjson.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SIMDJSON_ERR_CAPACITY (int)
This parser can't support a document that big. Thrown when parsing a JSON string that is over 4GiB long.
SIMDJSON_ERR_TAPE_ERROR (int)
The JSON document has an improper structure: missing or superfluous commas, braces, missing keys, etc.
SIMDJSON_ERR_DEPTH_ERROR (int)
The JSON document was too deep (too many nested objects and arrays)
SIMDJSON_ERR_STRING_ERROR (int)
Problem while parsing a string
SIMDJSON_ERR_T_ATOM_ERROR (int)
Problem while parsing an atom starting with the letter 't'
SIMDJSON_ERR_F_ATOM_ERROR (int)
Problem while parsing an atom starting with the letter 'f'
SIMDJSON_ERR_N_ATOM_ERROR (int)
Problem while parsing an atom starting with the letter 'n'
SIMDJSON_ERR_NUMBER_ERROR (int)
Problem while parsing a number
SIMDJSON_ERR_UTF8_ERROR (int)
The input is not valid UTF-8
SIMDJSON_ERR_UNINITIALIZED (int)
The parser used by simdjson is uninitialized. Should not happen.
SIMDJSON_ERR_EMPTY (int)
Empty: no JSON found
SIMDJSON_ERR_UNESCAPED_CHARS (int)
Within strings, some characters must be escaped, we found unescaped characters
SIMDJSON_ERR_UNCLOSED_STRING (int)
A string is opened, but never closed.
SIMDJSON_ERR_UNSUPPORTED_ARCHITECTURE (int)
simdjson does not have an implementation supported by this CPU architecture (perhaps it's a non-SIMD CPU?).
SIMDJSON_ERR_INCORRECT_TYPE (int)
Should not happen.
SIMDJSON_ERR_NUMBER_OUT_OF_RANGE (int)
The JSON number is too large or too small to fit within the requested type. Note that the C simdjson library is a fork and this error is ignored to match php's handling of JSON numbers that are too large or too small.
SIMDJSON_ERR_INDEX_OUT_OF_BOUNDS (int)
Should not happen.
SIMDJSON_ERR_NO_SUCH_FIELD (int)
Should not happen.
SIMDJSON_ERR_IO_ERROR (int)
Should not happen.
SIMDJSON_ERR_INVALID_JSON_POINTER (int)
Invalid JSON pointer syntax in simdjson_key_value() and other functions accepting a JSON pointer $key.
SIMDJSON_ERR_INVALID_URI_FRAGMENT (int)
Invalid URI fragment syntax.
SIMDJSON_ERR_UNEXPECTED_ERROR (int)
Unexpected error, consider reporting this problem as you may have found a bug in the simdjson PECL
SIMDJSON_ERR_PARSER_IN_USE (int)
Should not happen.
SIMDJSON_ERR_OUT_OF_ORDER_ITERATION (int)
Should not happen.
SIMDJSON_ERR_INSUFFICIENT_PADDING (int)
Should not happen.
SIMDJSON_ERR_INCOMPLETE_ARRAY_OR_OBJECT (int)
JSON document ended early in the middle of an object or array.
SIMDJSON_ERR_SCALAR_DOCUMENT_AS_VALUE (int)
Should not happen.
SIMDJSON_ERR_OUT_OF_BOUNDS (int)
Attempted to access location outside of document.
SIMDJSON_ERR_TRAILING_CONTENT (int)
SIMDJSON_ERR_KEY_COUNT_NOT_COUNTABLE (int)
SIMDJSON_ERR_INVALID_PROPERTY (int)
Invalid property name for an stdClass when decoding a value with simdjson_decode() or simdjson_key_value()


Simdjson İşlevleri

İçindekiler

  • simdjson_decode — Decodes a JSON string
  • simdjson_is_valid — Check if a JSON string is valid
  • simdjson_key_count — Returns the value at a JSON pointer.
  • simdjson_key_exists — Check if the JSON contains the value referred to by a JSON pointer.
  • simdjson_key_value — Decodes the value of a JSON string located at the requested JSON pointer.


Decodes a JSON string

  • « Simdjson İşlevleri
  • simdjson_is_valid »
  • PHP Manual
  • Simdjson İşlevleri
  • Decodes a JSON string

simdjson_decode

(PECL simdjson >= 2.0.0)

simdjson_decode — Decodes a JSON string

Açıklama

simdjson_decode(string $json, bool $associative = false, int $depth = 512): mixed

Takes a JSON encoded string and converts it into a PHP value. This uses a faster Simultaneous Instruction, Multiple Data implementation than json_decode() when it is supported by the computer architecture.

Bağımsız Değişkenler

json

The json string being decoded.

This function only works with UTF-8 encoded strings.

This function parses valid inputs which json_decode() can decode, provided that they are less than 4 GiB long.

associative

When true, JSON objects will be returned as associative arrays; when false, JSON objects will be returned as objects.

depth

Maximum nesting depth of the structure being decoded. The value must be greater than 0, and less than or equal to 2147483647. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

Dönen Değerler

Returns the value encoded in json in appropriate PHP type. Values true, false and null are returned as true, false and null respectively.

Hatalar/İstisnalar

If json is invalid, a SimdJsonException is thrown as of PECL simdjson 2.1.0, while previously, a RuntimeException was thrown.

If depth is outside the allowed range, a SimdJsonValueError is thrown as of PECL simdjson 3.0.0, while previously, an error of level E_WARNING was raised.

Örnekler

Örnek 1 simdjson_decode() examples

<?php
$json = '{"a":1,"b":2,"c":3}';

var_dump(simdjson_decode($json));
var_dump(simdjson_decode($json, true));

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}
array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}

Örnek 2 Accessing invalid object properties

Accessing elements within an object that contain characters not permitted under PHP's naming convention (e.g. the hyphen) can be accomplished by encapsulating the element name within braces and the apostrophe.

<?php

$json = '{"foo-bar": 12345}';

$obj = simdjson_decode($json);
print $obj->{'foo-bar'}; // 12345

?>

Örnek 3 common mistakes using simdjson_decode()

<?php

// the following strings are valid JavaScript but not valid JSON

// the name and value must be enclosed in double quotes
// single quotes are not valid
$bad_json = "{ 'bar': 'baz' }";
simdjson_decode($bad_json); // Throws SimdJsonException

// the name must be enclosed in double quotes
$bad_json = '{ bar: "baz" }';
simdjson_decode($bad_json); // Throws SimdJsonException

// trailing commas are not allowed
$bad_json = '{ bar: "baz", }';
simdjson_decode($bad_json); // Throws SimdJsonException

?>

Örnek 4 depth errors

<?php
// Encode some data with a maximum depth of 4
// (array -> array -> array -> string)
$json = json_encode(
[
1 => [
'English' => [
'One',
'January'
],
'French' => [
'Une',
'Janvier'
]
]
]
);

// Show the errors for different depths.
var_dump(simdjson_decode($json, true, 4));
try {
var_dump(simdjson_decode($json, true, 3));
} catch (SimdJsonException $e) {
echo "Caught: ", $e->getMessage(), "\n";
}
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [1]=>
  array(2) {
    ["English"]=>
    array(2) {
      [0]=>
      string(3) "One"
      [1]=>
      string(7) "January"
    }
    ["French"]=>
    array(2) {
      [0]=>
      string(3) "Une"
      [1]=>
      string(7) "Janvier"
    }
  }
}
Caught: The JSON document was too deep (too many nested objects and arrays)

Örnek 5 simdjson_decode() of large integers

<?php
$json = '{"number": 12345678901234567890}';

var_dump(simdjson_decode($json));

?>

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["number"]=>
  float(1.2345678901235E+19)
}

Notlar

Bilginize:

The JSON spec is not JavaScript, but a subset of JavaScript.

Bilginize:

In the event of a failure to decode, a SimdJsonException is thrown and SimdJsonException::getCode() and SimdJsonException::getMessage() can be used to determine the exact nature of the error.

Ayrıca Bakınız

  • json_encode() - Değerin JSON karşılığını verir.
  • json_decode() - Bir JSON dizgesini çözümler


Check if a JSON string is valid

  • « simdjson_decode
  • simdjson_key_count »
  • PHP Manual
  • Simdjson İşlevleri
  • Check if a JSON string is valid

simdjson_is_valid

(PECL simdjson >= 2.0.0)

simdjson_is_valid — Check if a JSON string is valid

Açıklama

simdjson_is_valid(string $json = false, int $depth = 512): bool

Takes a JSON encoded string and returns true if it is valid.

Bağımsız Değişkenler

json

The json string being validated.

This function only works with UTF-8 encoded strings.

This function validates inputs which json_decode() can decode, provided that they are less than 4 GiB long.

depth

Maximum nesting depth of the structure being validated. The value must be greater than 0, and less than or equal to 2147483647. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

Dönen Değerler

Returns true if json is a valid JSON string, false otherwise.

Hatalar/İstisnalar

If json is longer than 4 GiB, a SimdJsonException is thrown as of PECL simdjson 2.1.0, while previously, a RuntimeException was thrown.

If depth is outside the allowed range, a SimdJsonValueError is thrown as of PECL simdjson 3.0.0, while previously, an error of level E_WARNING was raised.

Örnekler

Örnek 1 simdjson_decode() examples

<?php
$json = '{"a":1,"b":2,"c":3}';
$invalidJson = '{"a":1,"b":2,"c":';

var_dump(simdjson_is_valid($json));
var_dump(simdjson_is_valid($invalidJson));

?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Örnek 2 depth errors

<?php
// Encode some data with a maximum depth of 4
// (array -> array -> array -> string)
$json = json_encode(
[
1 => [
'English' => [
'One',
'January'
],
'French' => [
'Une',
'Janvier'
]
]
]
);

// Show the errors for different depths.
var_dump(simdjson_is_valid($json, 4));
var_dump(simdjson_is_valid($json, 3));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Notlar

Bilginize:

The JSON spec is not JavaScript, but a subset of JavaScript.

Bilginize:

In the event of a failure to decode, a SimdJsonException is thrown and SimdJsonException::getCode() and SimdJsonException::getMessage() can be used to determine the exact nature of the error.

Ayrıca Bakınız

  • json_encode() - Değerin JSON karşılığını verir.
  • json_decode() - Bir JSON dizgesini çözümler


Returns the value at a JSON pointer.

  • « simdjson_is_valid
  • simdjson_key_exists »
  • PHP Manual
  • Simdjson İşlevleri
  • Returns the value at a JSON pointer.

simdjson_key_count

(PECL simdjson >= 2.0.0)

simdjson_key_count — Returns the value at a JSON pointer.

Açıklama

simdjson_key_count(
string $json,
string $key,
int $depth = 512,
bool $throw_if_uncountable = false
): int

Count the number of elements of the object/array found at the requested JSON pointer.

Bağımsız Değişkenler

json

The json string being queried.

key

The JSON pointer string.

depth

Maximum nesting depth of the structure being validated. The value must be greater than 0, and less than or equal to 2147483647. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

throw_if_uncountable

When true, a SimdJsonException will be thrown instead of returning 0 when the value the JSON pointer points to is neither an object nor an array.

Dönen Değerler

Returns an int with the number of elements of the value at the given JSON pointer.


Check if the JSON contains the value referred to by a JSON pointer.

  • « simdjson_key_count
  • simdjson_key_value »
  • PHP Manual
  • Simdjson İşlevleri
  • Check if the JSON contains the value referred to by a JSON pointer.

simdjson_key_exists

(PECL simdjson >= 2.0.0)

simdjson_key_exists — Check if the JSON contains the value referred to by a JSON pointer.

Açıklama

simdjson_key_exists(string $json, string $key, int $depth = ?): bool

Count the number of elements of the object/array found at the requested JSON pointer.

Bağımsız Değişkenler

json

The json string being queried.

key

The JSON pointer string.

depth

Maximum nesting depth of the structure being validated. The value must be greater than 0, and less than or equal to 2147483647. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

throw_if_uncountable

When true, a SimdJsonException will be thrown instead of returning 0 when the value the JSON pointer points to is neither an object nor an array.

Dönen Değerler

Returns true if the JSON pointer is valid and refers to a value found within a valid JSON string. Returns false if the JSON is valid but does not contain the JSON pointer.


Decodes the value of a JSON string located at the requested JSON pointer.

  • « simdjson_key_exists
  • SimdJsonException »
  • PHP Manual
  • Simdjson İşlevleri
  • Decodes the value of a JSON string located at the requested JSON pointer.

simdjson_key_value

(PECL simdjson >= 2.0.0)

simdjson_key_value — Decodes the value of a JSON string located at the requested JSON pointer.

Açıklama

simdjson_key_value(
string $json,
string $key,
bool $associative = false,
int $depth = 512
): mixed

Decodes and returns the value found at the requested JSON pointer.

Bağımsız Değişkenler

json

The json string being queried and decoded.

This function only works with UTF-8 encoded strings.

This function parses valid inputs which json_decode() can decode, provided that they are less than 4 GiB long.

key

The JSON pointer string.

associative

When true, JSON objects will be returned as associative arrays; when false, JSON objects will be returned as objects.

depth

Maximum nesting depth of the structure being decoded. The value must be greater than 0, and less than or equal to 2147483647. Callers should use reasonably small values, because larger depths require more buffer space and will increase the recursion depth, unlike the current json_decode() implementation.

Dönen Değerler

Returns the part of the value encoded in json that key refers to in appropriate PHP type. Values true, false and null are returned as true, false and null respectively.

Hatalar/İstisnalar

If json or key is invalid, or key could not be found within json, a SimdJsonException is thrown as of PECL simdjson 2.1.0, while previously, a RuntimeException was thrown.

If depth is outside the allowed range, a SimdJsonValueError is thrown as of PECL simdjson 3.0.0, while previously, an error of level E_WARNING was raised.

Ayrıca Bakınız

  • json_encode() - Değerin JSON karşılığını verir.
  • simdjson_decode() - Decodes a JSON string


The SimdJsonException class

(PECL simdjson >= 2.1.0)

Giriş

Exception thrown if simdjson_decode(),
simdjson_key_count(),
simdjson_key_exists(),
or simdjson_key_value().

For possible values see the simdjson error codes constants.

Sınıf Sözdizimi

class SimdJsonException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
}


The SimdJsonValueError class

(PECL simdjson >= 3.0.0)

Giriş

A SimdJsonValueError is thrown when the type of an argument to a function from simdjson is correct but the value of it is incorrect. E.g. when the JSON decoding $depth is not positive or the $depth is too large.

Sınıf Sözdizimi

class SimdJsonValueError extends ValueError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PHP 8.0.0 | SimdJsonValueError extends ValueError now instead of Error.


Lua

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Lua — The Lua class
    • Lua::assign — Assign a PHP variable to Lua
    • Lua::call — Call Lua functions
    • Lua::__construct — Lua constructor
    • Lua::eval — Evaluate a string as Lua code
    • Lua::getVersion — The getversion purpose
    • Lua::include — Parse a Lua script file
    • Lua::registerCallback — Register a PHP function to Lua
  • LuaClosure — The LuaClosure class
    • LuaClosure::__invoke — Invoke luaclosure


Giriş

"Lua is a powerful, fast, light-weight, embeddable scripting language." This extension embeds the lua interpreter and offers an OO-API to lua variables and functions.


Gereksinimler

To use this extension, you will need Lua installed, available on the » Lua homepage


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/lua.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Çalışma Anı Yapılandırması
  • Lua »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


The Lua class

(PECL lua >=0.9.0)

Giriş

Sınıf Sözdizimi

class Lua {
/* Sabitler */
const string LUA_VERSION = Lua 5.1.4;
/* Yöntemler */
public assign(string $name, string $value): mixed
public call(callable $lua_func, array $args = ?, int $use_self = 0): mixed
public __call(callable $lua_func, array $args = ?, int $use_self = 0): mixed
public __construct(string $lua_script_file = NULL)
public eval(string $statements): mixed
public getVersion(): string
public include(string $file): mixed
public registerCallback(string $name, callable $function): mixed
}

Öntanımlı Sabitler

Lua::LUA_VERSION

İçindekiler

  • Lua::assign — Assign a PHP variable to Lua
  • Lua::call — Call Lua functions
  • Lua::__construct — Lua constructor
  • Lua::eval — Evaluate a string as Lua code
  • Lua::getVersion — The getversion purpose
  • Lua::include — Parse a Lua script file
  • Lua::registerCallback — Register a PHP function to Lua


Assign a PHP variable to Lua

  • « Lua
  • Lua::call »
  • PHP Manual
  • Lua
  • Assign a PHP variable to Lua

Lua::assign

(PECL lua >=0.9.0)

Lua::assign — Assign a PHP variable to Lua

Açıklama

public Lua::assign(string $name, string $value): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler

Returns $this or null on failure.

Örnekler

Örnek 1 Lua::assign()example

<?php
$lua = new Lua();
$lua->assign("php_var", array(1=>1, 2, 3)); //lua table index begin with 1
$lua->eval(<<<CODE
 print(php_var);
CODE
);
?>

Yukarıdaki örneğin çıktısı:

Array
 (
     [1] => 1
     [2] => 2
     [3] => 3
 )


Call Lua functions

  • « Lua::assign
  • Lua::__construct »
  • PHP Manual
  • Lua
  • Call Lua functions

Lua::call

Lua::__call

(PECL lua >=0.9.0)

Lua::call -- Lua::__call — Call Lua functions

Açıklama

public Lua::call(callable $lua_func, array $args = ?, int $use_self = 0): mixed
public Lua::__call(callable $lua_func, array $args = ?, int $use_self = 0): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

lua_func

Function name in lua

args

Arguments passed to the Lua function

use_self

Whether to use self

Dönen Değerler

Returns result of the called function, null for wrong arguments or false on other failure.

Örnekler

Örnek 1 Lua::call()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
 function dummy(foo, bar)
print(foo, ",", bar)
end
CODE
);
$lua->call("dummy", array("Lua", "geiliable\n"));
$lua->dummy("Lua", "geiliable"); // __call()
var_dump($lua->call(array("table", "concat"), array(array(1=>1, 2=>2, 3=>3), "-")));
?>

Yukarıdaki örneğin çıktısı:

Lua,geiliable
Lua,geiliable
string(5) "1-2-3"

Ayrıca Bakınız

  • __call()


Lua constructor

  • « Lua::call
  • Lua::eval »
  • PHP Manual
  • Lua
  • Lua constructor

Lua::__construct

(PECL lua >=0.9.0)

Lua::__construct — Lua constructor

Açıklama

public Lua::__construct(string $lua_script_file = NULL)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

lua_script_file

Dönen Değerler


Evaluate a string as Lua code

  • « Lua::__construct
  • Lua::getVersion »
  • PHP Manual
  • Lua
  • Evaluate a string as Lua code

Lua::eval

(PECL lua >=0.9.0)

Lua::eval — Evaluate a string as Lua code

Açıklama

public Lua::eval(string $statements): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

statements

Dönen Değerler

Returns result of evaled code, null for wrong arguments or false on other failure.

Örnekler

Örnek 1 Lua::eval()example

<?php
$lua = new Lua();
$lua->eval(<<<CODE
 print(2);
CODE
);
?>

Yukarıdaki örneğin çıktısı:

2


The getversion purpose

  • « Lua::eval
  • Lua::include »
  • PHP Manual
  • Lua
  • The getversion purpose

Lua::getVersion

(PECL lua >=0.9.0)

Lua::getVersion — The getversion purpose

Açıklama

public Lua::getVersion(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns Lua::LUA_VERSION.


Parse a Lua script file

  • « Lua::getVersion
  • Lua::registerCallback »
  • PHP Manual
  • Lua
  • Parse a Lua script file

Lua::include

(PECL lua >=0.9.0)

Lua::include — Parse a Lua script file

Açıklama

public Lua::include(string $file): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

file

Dönen Değerler

Returns result of included code, null for wrong arguments or false on other failure.


Register a PHP function to Lua

  • « Lua::include
  • LuaClosure »
  • PHP Manual
  • Lua
  • Register a PHP function to Lua

Lua::registerCallback

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Lua::registerCallback — Register a PHP function to Lua

Açıklama

public Lua::registerCallback(string $name, callable $function): mixed

Register a PHP function to Lua as a function named "$name"

Bağımsız Değişkenler

name

function

A valid PHP function callback

Dönen Değerler

Returns $this, null for wrong arguments or false on other failure.

Örnekler

Örnek 1 Lua::registerCallback()example

<?php
$lua = new Lua();
$lua->registerCallback("echo", "var_dump");
$lua->eval(<<<CODE
 echo({1, 2, 3});
CODE
);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [1]=>
  float(1)
  [2]=>
  float(2)
  [3]=>
  float(3)
}


The LuaClosure class

(PECL lua >=0.9.0)

Giriş

LuaClosure is a wrapper class for LUA_TFUNCTION which could be return from calling to Lua function.

Sınıf Sözdizimi

class LuaClosure {
/* Yöntemler */
public __invoke(mixed ...$args): void
}

İçindekiler

  • LuaClosure::__invoke — Invoke luaclosure


Invoke luaclosure

  • « LuaClosure
  • LuaSandbox »
  • PHP Manual
  • LuaClosure
  • Invoke luaclosure

LuaClosure::__invoke

(PECL lua >=0.9.0)

LuaClosure::__invoke — Invoke luaclosure

Açıklama

public LuaClosure::__invoke(mixed ...$args): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

args

Dönen Değerler

Örnekler

Örnek 1 LuaClosure::__invoke()example

<?php
$lua = new Lua();
$closure = $lua->eval(<<<CODE
 return (function ()
print("hello world")
end)
CODE
);

$lua->call($closure);
$closure();
?>

Yukarıdaki örneğin çıktısı:

hello worldhello world


LuaSandbox

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Differences from Standard Lua
  • Örnekler
    • Basic usage for LuaSandbox
  • LuaSandbox — The LuaSandbox class
    • LuaSandbox::callFunction — Call a function in a Lua global variable
    • LuaSandbox::disableProfiler — Disable the profiler
    • LuaSandbox::enableProfiler — Enable the profiler.
    • LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment
    • LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment
    • LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment
    • LuaSandbox::getProfilerFunctionReport — Fetch profiler data
    • LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua
    • LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment
    • LuaSandbox::loadString — Load Lua code into the Lua environment
    • LuaSandbox::pauseUsageTimer — Pause the CPU usage timer
    • LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library
    • LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment
    • LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment
    • LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer
    • LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction
  • LuaSandboxFunction — The LuaSandboxFunction class
    • LuaSandboxFunction::call — Call a Lua function
    • LuaSandboxFunction::__construct — Unused
    • LuaSandboxFunction::dump — Dump the function as a binary blob
  • LuaSandboxError — The LuaSandboxError class
  • LuaSandboxErrorError — The LuaSandboxErrorError class
  • LuaSandboxFatalError — The LuaSandboxFatalError class
  • LuaSandboxMemoryError — The LuaSandboxMemoryError class
  • LuaSandboxRuntimeError — The LuaSandboxRuntimeError class
  • LuaSandboxSyntaxError — The LuaSandboxSyntaxError class
  • LuaSandboxTimeoutError — The LuaSandboxTimeoutError class


Giriş

LuaSandbox is an extension for PHP 7 and PHP 8 to allow safely running untrusted Lua 5.1 code from within PHP.

Differences compared to the Lua extension:

  • LuaSandbox has support for time and memory limits.

  • LuaSandbox provides a default-safe environment for running untrusted code. Stock Lua functions were reviewed for security, and several were patched accordingly.

  • LuaSandbox has a PHP interface which is more complex, precise and powerful, but it is less convenient for developers.

  • LuaSandbox supports only Lua 5.1. It is difficult to change this, because LuaSandbox uses heavily modified Lua standard libraries, and due to the lack of backwards compatibility between major Lua versions. LuaSandbox aims to maximise backwards compatibility with user-supplied scripts.


Gereksinimler

To use this extension, Lua 5.1 will need to be installed, available on the » Lua homepage.

To make full use of the timer features, LuaSandbox should be installed on Linux.

If FreeBSD or Mac OS X is used, only real (wall-clock) time is supported, the functions purporting to return CPU time will actually return wall clock time.

If Windows is used, no timer functions will be supported. The time limits will be inoperable.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/luasandbox.

If the operating system is Debian 10 or later, or Ubuntu 18.04 or later, then LuaSandbox should typically be installed from the package php-luasandbox:

sudo apt-get install php-luasandbox


  • « Çalışma Anı Yapılandırması
  • Differences from Standard Lua »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Differences from Standard Lua

LuaSandbox provides a sandboxed environment which differs in some ways from standard Lua 5.1.

Features that are not available

  • dofile(), loadfile(), and the io package, as they allow direct filesystem access. If needed, filesystem access should be done via PHP callbacks.

  • The package package, including require() and module(), as it depends heavily on direct filesystem access. A pure-Lua rewrite such as that used in the MediaWiki Scribunto extension may be used instead.

  • load() and loadstring(), to allow for static analysis of Lua code.

  • print(), since it outputs to standard output. If needed, output should be done via PHP callbacks.

  • Most of the os package, as it allows manipulation of the process and executing of other processes.

    • os.clock(), os.date(), os.difftime(), and os.time() remain available.

  • Most of the debug package, as it allows manipulation of Lua state and metadata in ways that can break sandboxing.

    • debug.traceback() remains available.

  • string.dump(), as it may expose internal data.

  • collectgarbage(), gcinfo(), and the coroutine package have not been reviewed for security.

Features that have been modified

  • pcall() and xpcall() cannot catch certain errors, particularly timeout errors.

  • tostring() does not include pointer addresses.

  • string.match() has been patched to limit the recursion depth and to periodically check for a timeout.

  • math.random() and math.randomseed() are replaced with versions that don't share state with PHP's rand().

  • The Lua 5.2 __pairs and __ipairs metamethods are supported by pairs() and ipairs().


  • « Differences from Standard Lua
  • Basic usage for LuaSandbox »
  • PHP Manual
  • LuaSandbox
  • Örnekler

Örnekler

İçindekiler

  • Basic usage for LuaSandbox


Basic usage for LuaSandbox

Once you've compiled PHP with LuaSandbox support, you can begin using LuaSandbox to safely run user-provided Lua code.

Örnek 1 Execute some Lua code

<?php

$sandbox = new LuaSandbox;
$sandbox->setMemoryLimit( 50 * 1024 * 1024 );
$sandbox->setCPULimit( 10 );

// Register some functions in the Lua environment

function frobnosticate( $v ) {
return [ $v + 42 ];
}

$sandbox->registerLibrary( 'php', [
'frobnosticate' => 'frobnosticate',
'output' => function ( $string ) {
echo "$string\n";
},
'error' => function () {
throw new LuaSandboxRuntimeError( "Something is wrong" );
}
] );

// Execute some Lua code, including callbacks into PHP and into Lua

$luaCode = <<<EOF
php.output( "Hello, world" );

return "Hi", function ( v )
return php.frobnosticate( v + 200 )
end
EOF;

list( $hi, $frob ) = $sandbox->loadString( $luaCode )->call();
assert( $frob->call( 4000 ) === [ 4242 ] );

// PHP-thrown LuaSandboxRuntimeError exceptions can be caught inside Lua

list( $ok, $message ) = $sandbox->loadString( 'return pcall( php.error )' )->call();
assert( !$ok );
assert( $message === 'Something is wrong' );

?>


The LuaSandbox class

(PECL luasandbox >= 1.0.0)

Giriş

The LuaSandbox class creates a Lua environment and allows for execution of Lua code.

Sınıf Sözdizimi

class LuaSandbox {
/* Sabitler */
const int SAMPLES = 0;
const int SECONDS = 1;
const int PERCENT = 2;
/* Yöntemler */
public callFunction(string $name, mixed ...$args): array|bool
public disableProfiler(): void
public enableProfiler(float $period = 0.02): bool
public getCPUUsage(): float
public getMemoryUsage(): int
public getPeakMemoryUsage(): int
public getProfilerFunctionReport(int $units = LuaSandbox::SECONDS): array
public static getVersionInfo(): array
public loadBinary(string $code, string $chunkName = ''): LuaSandboxFunction
public loadString(string $code, string $chunkName = ''): LuaSandboxFunction
public pauseUsageTimer(): bool
public registerLibrary(string $libname, array $functions): void
public setCPULimit(float|bool $limit): void
public setMemoryLimit(int $limit): void
public unpauseUsageTimer(): void
public wrapPhpFunction(callable $function): LuaSandboxFunction
}

Öntanımlı Sabitler

LuaSandbox::SAMPLES

Used with LuaSandbox::getProfilerFunctionReport() to return timings in samples.

LuaSandbox::SECONDS

Used with LuaSandbox::getProfilerFunctionReport() to return timings in seconds.

LuaSandbox::PERCENT

Used with LuaSandbox::getProfilerFunctionReport() to return timings in percentages of the total.

İçindekiler

  • LuaSandbox::callFunction — Call a function in a Lua global variable
  • LuaSandbox::disableProfiler — Disable the profiler
  • LuaSandbox::enableProfiler — Enable the profiler.
  • LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment
  • LuaSandbox::getProfilerFunctionReport — Fetch profiler data
  • LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua
  • LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment
  • LuaSandbox::loadString — Load Lua code into the Lua environment
  • LuaSandbox::pauseUsageTimer — Pause the CPU usage timer
  • LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library
  • LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment
  • LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment
  • LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer
  • LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction


Call a function in a Lua global variable

  • « LuaSandbox
  • LuaSandbox::disableProfiler »
  • PHP Manual
  • LuaSandbox
  • Call a function in a Lua global variable

LuaSandbox::callFunction

(PECL luasandbox >= 1.0.0)

LuaSandbox::callFunction — Call a function in a Lua global variable

Açıklama

public LuaSandbox::callFunction(string $name, mixed ...$args): array|bool

Calls a function in a Lua global variable.

If the name contains "." characters, the function is located via recursive table accesses, as if the name were a Lua expression.

If the variable does not exist, or is not a function, false will be returned and a warning issued.

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Bağımsız Değişkenler

name

Lua variable name.

args

Arguments to the function.

Dönen Değerler

Returns an array of values returned by the Lua function, which may be empty, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Call Lua's string.match
$captures = $sandbox->callFunction( 'string.match', $string, $pattern );

?>


Disable the profiler

  • « LuaSandbox::callFunction
  • LuaSandbox::enableProfiler »
  • PHP Manual
  • LuaSandbox
  • Disable the profiler

LuaSandbox::disableProfiler

(PECL luasandbox >= 1.1.0)

LuaSandbox::disableProfiler — Disable the profiler

Açıklama

public LuaSandbox::disableProfiler(): void

Disables the profiler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • LuaSandbox::enableProfiler() - Enable the profiler.
  • LuaSandbox::getProfilerFunctionReport() - Fetch profiler data


Enable the profiler.

  • « LuaSandbox::disableProfiler
  • LuaSandbox::getCPUUsage »
  • PHP Manual
  • LuaSandbox
  • Enable the profiler.

LuaSandbox::enableProfiler

(PECL luasandbox >= 1.1.0)

LuaSandbox::enableProfiler — Enable the profiler.

Açıklama

public LuaSandbox::enableProfiler(float $period = 0.02): bool

Enables the profiler. Profiling will begin when Lua code is entered.

The profiler periodically samples the Lua environment to record the running function. Testing indicates that at least on Linux, setting a period less than 1ms will lead to a high overrun count but no performance problems.

Bağımsız Değişkenler

period

Sampling period in seconds.

Dönen Değerler

Returns a boolean indicating whether the profiler is enabled.

Ayrıca Bakınız

  • LuaSandbox::disableProfiler() - Disable the profiler
  • LuaSandbox::getProfilerFunctionReport() - Fetch profiler data


Fetch the current CPU time usage of the Lua environment

  • « LuaSandbox::enableProfiler
  • LuaSandbox::getMemoryUsage »
  • PHP Manual
  • LuaSandbox
  • Fetch the current CPU time usage of the Lua environment

LuaSandbox::getCPUUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getCPUUsage — Fetch the current CPU time usage of the Lua environment

Açıklama

public LuaSandbox::getCPUUsage(): float

Fetches the current CPU time usage of the Lua environment.

This includes time spent in PHP callbacks.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current CPU time usage in seconds.

Bilginize:

On Windows, this function always returns zero. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, this function will return the elapsed wall-clock time, not CPU time.

Ayrıca Bakınız

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Fetch the current memory usage of the Lua environment

  • « LuaSandbox::getCPUUsage
  • LuaSandbox::getPeakMemoryUsage »
  • PHP Manual
  • LuaSandbox
  • Fetch the current memory usage of the Lua environment

LuaSandbox::getMemoryUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getMemoryUsage — Fetch the current memory usage of the Lua environment

Açıklama

public LuaSandbox::getMemoryUsage(): int

Fetches the current memory usage of the Lua environment.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current memory usage in bytes.

Ayrıca Bakınız

  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Fetch the peak memory usage of the Lua environment

  • « LuaSandbox::getMemoryUsage
  • LuaSandbox::getProfilerFunctionReport »
  • PHP Manual
  • LuaSandbox
  • Fetch the peak memory usage of the Lua environment

LuaSandbox::getPeakMemoryUsage

(PECL luasandbox >= 1.0.0)

LuaSandbox::getPeakMemoryUsage — Fetch the peak memory usage of the Lua environment

Açıklama

public LuaSandbox::getPeakMemoryUsage(): int

Fetches the peak memory usage of the Lua environment.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the peak memory usage in bytes.

Ayrıca Bakınız

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Fetch profiler data

  • « LuaSandbox::getPeakMemoryUsage
  • LuaSandbox::getVersionInfo »
  • PHP Manual
  • LuaSandbox
  • Fetch profiler data

LuaSandbox::getProfilerFunctionReport

(PECL luasandbox >= 1.1.0)

LuaSandbox::getProfilerFunctionReport — Fetch profiler data

Açıklama

public LuaSandbox::getProfilerFunctionReport(int $units = LuaSandbox::SECONDS): array

For a profiling instance previously started by LuaSandbox::enableProfiler(), get a report of the cost of each function.

The measurement unit used for the cost is determined by the $units parameter:

LuaSandbox::SAMPLES

Measure in number of samples.

LuaSandbox::SECONDS

Measure in seconds of CPU time.

LuaSandbox::PERCENT

Measure percentage of CPU time.

Bağımsız Değişkenler

units

Measurement unit constant.

Dönen Değerler

Returns profiler measurements, sorted in descending order, as an associative array. Keys are the Lua function names (with source file and line defined in angle brackets), values are the measurements as int or float.

Bilginize:

On Windows, this function always returns an empty array. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, this function will report the elapsed wall-clock time, not CPU time.

Örnekler

Örnek 1 Profiling Lua code

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Start the profiler
$sandbox->enableProfiler( 0.01 );

// ... Execute some Lua code here ...

// Fetch the profiler data
$data = $sandbox->getProfilerFunctionReport();

?>


Return the versions of LuaSandbox and Lua

  • « LuaSandbox::getProfilerFunctionReport
  • LuaSandbox::loadBinary »
  • PHP Manual
  • LuaSandbox
  • Return the versions of LuaSandbox and Lua

LuaSandbox::getVersionInfo

(PECL luasandbox >= 1.6.0)

LuaSandbox::getVersionInfo — Return the versions of LuaSandbox and Lua

Açıklama

public static LuaSandbox::getVersionInfo(): array

Returns the versions of LuaSandbox and Lua.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with two keys:

element | type | description
LuaSandbox | string | The version of the LuaSandbox extension.
Lua | string | The library name and version as defined by the LUA_RELEASE macro, for example, "Lua 5.1.5".


Load a precompiled binary chunk into the Lua environment

  • « LuaSandbox::getVersionInfo
  • LuaSandbox::loadString »
  • PHP Manual
  • LuaSandbox
  • Load a precompiled binary chunk into the Lua environment

LuaSandbox::loadBinary

(PECL luasandbox >= 1.0.0)

LuaSandbox::loadBinary — Load a precompiled binary chunk into the Lua environment

Açıklama

public LuaSandbox::loadBinary(string $code, string $chunkName = ''): LuaSandboxFunction

Loads data generated by LuaSandboxFunction::dump().

Bağımsız Değişkenler

code

Data from LuaSandboxFunction::dump().

chunkName

Name for the loaded function.

Dönen Değerler

Returns a LuaSandboxFunction.

Ayrıca Bakınız

  • LuaSandbox::loadString() - Load Lua code into the Lua environment


Load Lua code into the Lua environment

  • « LuaSandbox::loadBinary
  • LuaSandbox::pauseUsageTimer »
  • PHP Manual
  • LuaSandbox
  • Load Lua code into the Lua environment

LuaSandbox::loadString

(PECL luasandbox >= 1.0.0)

LuaSandbox::loadString — Load Lua code into the Lua environment

Açıklama

public LuaSandbox::loadString(string $code, string $chunkName = ''): LuaSandboxFunction

Loads Lua code into the Lua environment.

This is the equivalent of standard Lua's loadstring() function.

Bağımsız Değişkenler

code

Lua code.

chunkName

Name for the loaded chunk, for use in error traces.

Dönen Değerler

Returns a LuaSandboxFunction which, when executed, will execute the passed $code.

Örnekler

Örnek 1 Loading code into Lua

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Load the code
$function = $sandbox->loadString(
<<<CODE
 return "Hello, world"
CODE
);

// Execute the loaded code
var_dump( $function->call() );

?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  string(12) "Hello, world"
}

Ayrıca Bakınız

  • LuaSandbox::registerLibrary() - Register a set of PHP functions as a Lua library
  • LuaSandbox::wrapPhpFunction() - Wrap a PHP callable in a LuaSandboxFunction


Pause the CPU usage timer

  • « LuaSandbox::loadString
  • LuaSandbox::registerLibrary »
  • PHP Manual
  • LuaSandbox
  • Pause the CPU usage timer

LuaSandbox::pauseUsageTimer

(PECL luasandbox >= 1.4.0)

LuaSandbox::pauseUsageTimer — Pause the CPU usage timer

Açıklama

public LuaSandbox::pauseUsageTimer(): bool

Pauses the CPU usage timer.

This only has effect when called from within a callback from Lua. When execution returns to Lua, the timer will be automatically unpaused. If a new call into Lua is made, the timer will be unpaused for the duration of that call.

If a PHP callback calls into Lua again with timer not paused, and then that Lua function calls into PHP again, the second PHP call will not be able to pause the timer. The logic is that even though the second PHP call would avoid counting the CPU usage against the limit, the first call still counts it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bool indicating whether the timer is now paused.

Örnekler

Örnek 1 Manipulating the usage timer

<?php

// create a new LuaSandbox and set a CPU limit
$sandbox = new LuaSandbox();
$sandbox->setCPULimit( 1 );

function doWait( $t ) {
$end = microtime( true ) + $t;
while ( microtime( true ) < $end ) {
// waste CPU cycles
}
}

// Register a PHP callback
$sandbox->registerLibrary( 'php', [
'test' => function () use ( $sandbox ) {
$sandbox->pauseUsageTimer();
doWait( 5 );

$sandbox->unpauseUsageTimer();
doWait( 0.1 );
},
'test2' => function () use ( $sandbox ) {
$sandbox->pauseUsageTimer();
$sandbox->unpauseUsageTimer();
doWait( 1.1 );
}
] );

echo "This should not time out...\n";
$sandbox->loadString( 'php.test()' )->call();

echo "This should time out.\n";
try {
$sandbox->loadString( 'php.test2()' )->call();
echo "It did not?\n";
} catch ( LuaSandboxTimeoutError $ex ) {
echo "It did! " . $ex->getMessage() . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

This should not time out...
This should time out.
It did! The maximum execution time for this script was exceeded

Ayrıca Bakınız

  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment
  • LuaSandbox::unpauseUsageTimer() - Unpause the timer paused by LuaSandbox::pauseUsageTimer


Register a set of PHP functions as a Lua library

  • « LuaSandbox::pauseUsageTimer
  • LuaSandbox::setCPULimit »
  • PHP Manual
  • LuaSandbox
  • Register a set of PHP functions as a Lua library

LuaSandbox::registerLibrary

(PECL luasandbox >= 1.0.0)

LuaSandbox::registerLibrary — Register a set of PHP functions as a Lua library

Açıklama

public LuaSandbox::registerLibrary(string $libname, array $functions): void

Registers a set of PHP functions as a Lua library, so that Lua can call the relevant PHP code.

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Bağımsız Değişkenler

libname

The name of the library. In the Lua state, the global variable of this name will be set to the table of functions. If the table already exists, the new functions will be added to it.

functions

An array, where each key is a function name, and each value is a corresponding PHP callable.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Registering PHP functions to call from Lua

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// Register some functions in the Lua environment

function frobnosticate( $v ) {
return [ $v + 42 ];
}

$sandbox->registerLibrary( 'php', [
'frobnosticate' => 'frobnosticate',
'output' => function ( $string ) {
echo "$string\n";
},
'error' => function () {
throw new LuaSandboxRuntimeError( "Something is wrong" );
}
] );

?>

Ayrıca Bakınız

  • LuaSandbox::loadString() - Load Lua code into the Lua environment
  • LuaSandbox::wrapPhpFunction() - Wrap a PHP callable in a LuaSandboxFunction


Set the CPU time limit for the Lua environment

  • « LuaSandbox::registerLibrary
  • LuaSandbox::setMemoryLimit »
  • PHP Manual
  • LuaSandbox
  • Set the CPU time limit for the Lua environment

LuaSandbox::setCPULimit

(PECL luasandbox >= 1.0.0)

LuaSandbox::setCPULimit — Set the CPU time limit for the Lua environment

Açıklama

public LuaSandbox::setCPULimit(float|bool $limit): void

Sets the CPU time limit for the Lua environment.

If the total user and system time used by the environment after the call to this method exceeds this limit, a LuaSandboxTimeoutError exception is thrown.

Time used in PHP callbacks is included in the limit.

Setting the time limit from a callback while Lua is running causes the timer to be reset, or started if it was not already running.

Bilginize:

On Windows, the CPU limit will be ignored. On operating systems that do not support CLOCK_THREAD_CPUTIME_ID, such as FreeBSD and Mac OS X, wall-clock time rather than CPU time will be limited.

Bağımsız Değişkenler

limit

Limit as a float in seconds, or false for no limit.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// set a time limit
$sandbox->setCPULimit( 2 );

// Run Lua code
$sandbox->loadString( 'while true do end' )->call();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP Fatal error:  Uncaught LuaSandboxTimeoutError: The maximum execution time for this script was exceeded

Ayrıca Bakınız

  • LuaSandbox::getCPUUsage() - Fetch the current CPU time usage of the Lua environment
  • LuaSandbox::setMemoryLimit() - Set the memory limit for the Lua environment


Set the memory limit for the Lua environment

  • « LuaSandbox::setCPULimit
  • LuaSandbox::unpauseUsageTimer »
  • PHP Manual
  • LuaSandbox
  • Set the memory limit for the Lua environment

LuaSandbox::setMemoryLimit

(PECL luasandbox >= 1.0.0)

LuaSandbox::setMemoryLimit — Set the memory limit for the Lua environment

Açıklama

public LuaSandbox::setMemoryLimit(int $limit): void

Sets the memory limit for the Lua environment.

If this limit is exceeded, a LuaSandboxMemoryError exception is thrown.

Bağımsız Değişkenler

limit

Memory limit in bytes.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Calling a Lua function

<?php

// create a new LuaSandbox
$sandbox = new LuaSandbox();

// set a memory limit
$sandbox->setMemoryLimit( 50 * 1024 * 1024 );

// Run Lua code
$sandbox->loadString( 'local x = "x"; while true do x = x .. x; end' )->call();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP Fatal error:  Uncaught LuaSandboxMemoryError: not enough memory

Ayrıca Bakınız

  • LuaSandbox::getMemoryUsage() - Fetch the current memory usage of the Lua environment
  • LuaSandbox::getPeakMemoryUsage() - Fetch the peak memory usage of the Lua environment
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Unpause the timer paused by LuaSandbox::pauseUsageTimer

  • « LuaSandbox::setMemoryLimit
  • LuaSandbox::wrapPhpFunction »
  • PHP Manual
  • LuaSandbox
  • Unpause the timer paused by LuaSandbox::pauseUsageTimer

LuaSandbox::unpauseUsageTimer

(PECL luasandbox >= 1.4.0)

LuaSandbox::unpauseUsageTimer — Unpause the timer paused by LuaSandbox::pauseUsageTimer()

Açıklama

public LuaSandbox::unpauseUsageTimer(): void

Unpauses the timer paused by LuaSandbox::pauseUsageTimer().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • LuaSandbox::pauseUsageTimer() - Pause the CPU usage timer
  • LuaSandbox::setCPULimit() - Set the CPU time limit for the Lua environment


Wrap a PHP callable in a LuaSandboxFunction

  • « LuaSandbox::unpauseUsageTimer
  • LuaSandboxFunction »
  • PHP Manual
  • LuaSandbox
  • Wrap a PHP callable in a LuaSandboxFunction

LuaSandbox::wrapPhpFunction

(PECL luasandbox >= 1.2.0)

LuaSandbox::wrapPhpFunction — Wrap a PHP callable in a LuaSandboxFunction

Açıklama

public LuaSandbox::wrapPhpFunction(callable $function): LuaSandboxFunction

Wraps a PHP callable in a LuaSandboxFunction, so it can be passed into Lua as an anonymous function.

The function must return either an array of values (which may be empty), or null which is equivalent to returning the empty array.

Exceptions will be raised as errors in Lua, however only LuaSandboxRuntimeError exceptions may be caught inside Lua with pcall() or xpcall().

For more information about calling Lua functions and the return values, see LuaSandboxFunction::call().

Bağımsız Değişkenler

function

Callable to wrap.

Dönen Değerler

Returns a LuaSandboxFunction.

Ayrıca Bakınız

  • LuaSandbox::loadString() - Load Lua code into the Lua environment
  • LuaSandbox::registerLibrary() - Register a set of PHP functions as a Lua library


The LuaSandboxFunction class

(PECL luasandbox >= 1.0.0)

Giriş

Represents a Lua function, allowing it to be called from PHP.

A LuaSandboxFunction may be obtained as a return value from Lua, as a parameter
passed to a callback from Lua, or by using
LuaSandbox::wrapPhpFunction(),
LuaSandbox::loadString(), or
LuaSandbox::loadBinary().

Sınıf Sözdizimi

class LuaSandboxFunction {
/* Yöntemler */
public call(string ...$args): array|bool
public dump(): string
}

İçindekiler

  • LuaSandboxFunction::call — Call a Lua function
  • LuaSandboxFunction::__construct — Unused
  • LuaSandboxFunction::dump — Dump the function as a binary blob


Call a Lua function

  • « LuaSandboxFunction
  • LuaSandboxFunction::__construct »
  • PHP Manual
  • LuaSandboxFunction
  • Call a Lua function

LuaSandboxFunction::call

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::call — Call a Lua function

Açıklama

public LuaSandboxFunction::call(string ...$args): array|bool

Calls a Lua function.

Errors considered to be the fault of the PHP code will result in the function returning false and E_WARNING being raised, for example, a resource type being used as an argument. Lua errors will result in a LuaSandboxRuntimeError exception being thrown.

PHP and Lua types are converted as follows:

  • PHP null is Lua nil, and vice versa.

  • PHP ints and floats are converted to Lua numbers. Infinity and NAN are supported.

  • Lua numbers without a fractional part between approximately -2**53 and 2**53 are converted to PHP ints, with others being converted to PHP floats.

  • PHP bools are Lua booleans, and vice versa.

  • PHP strings are Lua strings, and vice versa.

  • Lua functions are PHP LuaSandboxFunction objects, and vice versa. General PHP callables are not supported.

  • PHP arrays are converted to Lua tables, and vice versa.

    • Note that Lua typically indexes arrays from 1, while PHP indexes arrays from 0. No adjustment is made for these differing conventions.

    • Self-referential arrays are not supported in either direction.

    • PHP references are dereferenced.

    • Lua __pairs and __ipairs are processed. __index is ignored.

    • When converting from PHP to Lua, integer keys between -2**53 and 2**53 are represented as Lua numbers. All other keys are represented as Lua strings.

    • When converting from Lua to PHP, keys other than strings and numbers will result in an error, as will collisions when converting numbers to strings or vice versa (since PHP considers things like $a[0] and $a["0"] as being equivalent).

  • All other types are unsupported and will raise an error/exception, including general PHP objects and Lua userdata and thread types.

Lua functions inherently return a list of results. So on success, this method returns an array containing all of the values returned by Lua, with int keys starting from zero. Lua may return no results, in which case an empty array is returned.

Bağımsız Değişkenler

args

Arguments passed to the function.

Dönen Değerler

Returns an array of values returned by the function, which may be empty, başarısızlık durumunda false döner.


Unused

  • « LuaSandboxFunction::call
  • LuaSandboxFunction::dump »
  • PHP Manual
  • LuaSandboxFunction
  • Unused

LuaSandboxFunction::__construct

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::__construct — Unused

Açıklama

final private LuaSandboxFunction::__construct()

LuaSandboxFunction are obtained as a return value from Lua,
as a parameter passed to a callback from Lua, or by using
LuaSandbox::wrapPhpFunction(),
LuaSandbox::loadString(), or
LuaSandbox::loadBinary(). They cannot be constructed directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Dump the function as a binary blob

  • « LuaSandboxFunction::__construct
  • LuaSandboxError »
  • PHP Manual
  • LuaSandboxFunction
  • Dump the function as a binary blob

LuaSandboxFunction::dump

(PECL luasandbox >= 1.0.0)

LuaSandboxFunction::dump — Dump the function as a binary blob

Açıklama

public LuaSandboxFunction::dump(): string

Dumps the function as a binary blob.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string that may be passed to LuaSandbox::loadBinary().


The LuaSandboxError class

(PECL luasandbox >= 1.0.0)

Giriş

Base class for LuaSandbox exceptions

Sınıf Sözdizimi

class LuaSandboxError extends Exception {
/* Sabitler */
const int RUN = 2;
const int SYNTAX = 3;
const int MEM = 4;
const int ERR = 5;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Öntanımlı Sabitler

LuaSandboxError::RUN

LuaSandboxError::SYNTAX

LuaSandboxError::MEM

LuaSandboxError::ERR


The LuaSandboxErrorError class

(PECL luasandbox >= 1.0.0)

Giriş

Exception thrown when Lua encounters an error inside an error handler.

Sınıf Sözdizimi

class LuaSandboxErrorError extends LuaSandboxFatalError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LuaSandboxFatalError class

(PECL luasandbox >= 1.0.0)

Giriş

Uncatchable LuaSandbox exceptions.

These may not be caught inside Lua using pcall() or xpcall().

Sınıf Sözdizimi

class LuaSandboxFatalError extends LuaSandboxError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LuaSandboxMemoryError class

(PECL luasandbox >= 1.0.0)

Giriş

Exception thrown when Lua cannot allocate memory.

Sınıf Sözdizimi

class LuaSandboxMemoryError extends LuaSandboxFatalError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Ayrıca Bakınız

  • LuaSandbox::setMemoryLimit()


The LuaSandboxRuntimeError class

(PECL luasandbox >= 1.0.0)

Giriş

Catchable LuaSandbox runtime exceptions.

These may be caught inside Lua using pcall() or xpcall().

Sınıf Sözdizimi

class LuaSandboxRuntimeError extends LuaSandboxError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LuaSandboxSyntaxError class

(PECL luasandbox >= 1.0.0)

Giriş

Exception thrown when Lua code cannot be parsed.

Sınıf Sözdizimi

class LuaSandboxSyntaxError extends LuaSandboxFatalError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LuaSandboxTimeoutError class

(PECL luasandbox >= 1.0.0)

Giriş

Exception thrown when the configured CPU time limit is exceeded.

Sınıf Sözdizimi

class LuaSandboxTimeoutError extends LuaSandboxFatalError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Ayrıca Bakınız

  • LuaSandbox::setCPULimit()


Çeşitli İşlevler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Çeşitli İşlevler
    • connection_aborted — İstemcinin bağlantıyı terkedip terketmediğine bakar
    • connection_status — Bağlantı durumu bit maskesini döndürür
    • constant — Bir sabitin değerini döndürür
    • define — Bir isimli sabit tanımlar
    • defined — Belirtilen isimli sabit tanımlı mı diye bakar
    • die — exit işlevinin eşdeğeri
    • eval — Bir dizgeyi bir PHP kodu olarak yorumlar
    • exit — Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır
    • get_browser — Kullanıcının tarayıcısının neler yapabildiğini söyler
    • __halt_compiler — Derleyicinin çalışmasını durdurur
    • highlight_file — Bir dosyadaki sözdizimini vurgular
    • highlight_string — Bir dizgedeki söz dizimini vurgular
    • hrtime — Yüksek çözünürlüklü sistem zamanını döndürür
    • ignore_user_abort — Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler
    • pack — Veriyi ikil bir dizge halinde paketler
    • php_strip_whitespace — Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner
    • sapi_windows_cp_conv — Dizgenin karakter kümesini değiştirir
    • sapi_windows_cp_get — Geçerli karakter kümesini döndürür
    • sapi_windows_cp_is_utf8 — Karakter kümesinin UTF-8 uyumluluğuna bakar
    • sapi_windows_cp_set — Sürece karakter kümesi tanımlar
    • sapi_windows_generate_ctrl_event — Belirtilen sürece bir CTRL olayı gönderir
    • sapi_windows_set_ctrl_handler — CTRL olayı işleyiciyi tanımlar veya kaldırır
    • sapi_windows_vt100_support — Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür
    • show_source — highlight_file işlevinin takma adıdır
    • sleep — Çalışmayı geciktirir
    • sys_getloadavg — Ortalama sistem yükünü döndürür
    • time_nanosleep — Çalışmayı saniye ve nanosaniye cinsinden geciktirir
    • time_sleep_until — Belirtilen zamana kadar betiği uyutur
    • uniqid — Eşsiz bir kimlik dizgesi üretir
    • unpack — Paketlenmiş bir ikil dizgeden verileri ayrıştırır
    • usleep — Çalışmayı mikrosaniye cinsinden geciktirir
  • Sürüm Bilgisi


Giriş

Başka hiçbir sınıfa dahil edilemeyen işlevlere burada yer verilmiştir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Çeşitli Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
ignore_user_abort | "0" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.keyword | "#007700" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

ignore_user_abort bool

false öntanımlıdır. true atanırsa istemci bağlantıyı terkettiğinde betikler sonlandırılmaz.

Ayrıca bakınız: ignore_user_abort().

highlight.bg string
highlight.comment string
highlight.default string
highlight.html string
highlight.keyword string
highlight.string string

Sözdizimi Vurgulama kipinde kullanılan renkler. <font color="??????"> olarak belirtilebilecek her değer kabul edilir.

browscap string

Tarayıcı yeteneklerinin konumu ve ismi. Ayrıca bakınız: get_browser().


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

CONNECTION_ABORTED (int)
CONNECTION_NORMAL (int)
CONNECTION_TIMEOUT (int)
__COMPILER_HALT_OFFSET__ (int)


Çeşitli İşlevler

İçindekiler

  • connection_aborted — İstemcinin bağlantıyı terkedip terketmediğine bakar
  • connection_status — Bağlantı durumu bit maskesini döndürür
  • constant — Bir sabitin değerini döndürür
  • define — Bir isimli sabit tanımlar
  • defined — Belirtilen isimli sabit tanımlı mı diye bakar
  • die — exit işlevinin eşdeğeri
  • eval — Bir dizgeyi bir PHP kodu olarak yorumlar
  • exit — Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır
  • get_browser — Kullanıcının tarayıcısının neler yapabildiğini söyler
  • __halt_compiler — Derleyicinin çalışmasını durdurur
  • highlight_file — Bir dosyadaki sözdizimini vurgular
  • highlight_string — Bir dizgedeki söz dizimini vurgular
  • hrtime — Yüksek çözünürlüklü sistem zamanını döndürür
  • ignore_user_abort — Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler
  • pack — Veriyi ikil bir dizge halinde paketler
  • php_strip_whitespace — Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner
  • sapi_windows_cp_conv — Dizgenin karakter kümesini değiştirir
  • sapi_windows_cp_get — Geçerli karakter kümesini döndürür
  • sapi_windows_cp_is_utf8 — Karakter kümesinin UTF-8 uyumluluğuna bakar
  • sapi_windows_cp_set — Sürece karakter kümesi tanımlar
  • sapi_windows_generate_ctrl_event — Belirtilen sürece bir CTRL olayı gönderir
  • sapi_windows_set_ctrl_handler — CTRL olayı işleyiciyi tanımlar veya kaldırır
  • sapi_windows_vt100_support — Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür
  • show_source — highlight_file işlevinin takma adıdır
  • sleep — Çalışmayı geciktirir
  • sys_getloadavg — Ortalama sistem yükünü döndürür
  • time_nanosleep — Çalışmayı saniye ve nanosaniye cinsinden geciktirir
  • time_sleep_until — Belirtilen zamana kadar betiği uyutur
  • uniqid — Eşsiz bir kimlik dizgesi üretir
  • unpack — Paketlenmiş bir ikil dizgeden verileri ayrıştırır
  • usleep — Çalışmayı mikrosaniye cinsinden geciktirir


İstemcinin bağlantıyı terkedip terketmediğine bakar

  • « Çeşitli İşlevler
  • connection_status »
  • PHP Manual
  • Çeşitli İşlevler
  • İstemcinin bağlantıyı terkedip terketmediğine bakar

connection_aborted

(PHP 4, PHP 5, PHP 7, PHP 8)

connection_aborted — İstemcinin bağlantıyı terkedip terketmediğine bakar

Açıklama

connection_aborted(): int

İstemcinin bağlantıyı terkedip terketmediğine bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İstemci bağlantıyı terketmişse 1 yoksa 0 döner.

Ayrıca Bakınız

  • connection_status() - Bağlantı durumu bit maskesini döndürür
  • ignore_user_abort() - Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler
  • PHP'nin bağlantıları nasıl yönettiği Bağlantı yönetimi sayfasında ayrıntılı olarak açıklanmıştır.


Bağlantı durumu bit maskesini döndürür

  • « connection_aborted
  • constant »
  • PHP Manual
  • Çeşitli İşlevler
  • Bağlantı durumu bit maskesini döndürür

connection_status

(PHP 4, PHP 5, PHP 7, PHP 8)

connection_status — Bağlantı durumu bit maskesini döndürür

Açıklama

connection_status(): int

Bağlantı durumu bit maskesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağlantı durumu bit maskesini döndürür. Bağlantı durumunu saptamak için CONNECTION_XXX sabitlerini bitsel işleçlerle ayrıştırın.

Ayrıca Bakınız

  • connection_aborted() - İstemcinin bağlantıyı terkedip terketmediğine bakar
  • ignore_user_abort() - Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler
  • PHP'nin bağlantıları nasıl yönettiği Bağlantı yönetimi sayfasında ayrıntılı olarak açıklanmıştır.


Bir sabitin değerini döndürür

  • « connection_status
  • define »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir sabitin değerini döndürür

constant

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

constant — Bir sabitin değerini döndürür

Açıklama

constant(string $isim): mixed

isim ile ismi belirtilen sabitin değerini döndürür.

constant() işlevi ismini bilmediğiniz (bir değişkende saklanmış veya bir işlevden dönmüş) bir sabitin değerini döndürmek için kullanılabilir.

Bu işlev ayrıca, sınıf sabitleri ve sayılama kılıfları ile de çalışır.

Bağımsız Değişkenler

isim

Sabitin ismi.

Dönen Değerler

Sabitin değeri döner.

Hatalar/İstisnalar

Sabit tanımlı değilse Error istisnası oluşur. PHP 8.0.0 öncesinde böyle bir durumda E_WARNING seviyesinde bir hata üretilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Sabir tanımlanmamışsa, constant() işlevi artık Error istisnası yavruluyor; evvelce E_WARNING seviyesinde bir hata üretilir ve null dönerdi.

Örnekler

Örnek 1 - constant() işlevinin sabitlerle kullanımı

<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // Önceki satırla aynı.

interface bar {
const test = 'foobar!';
}

class foo {
const test = 'foobar!';
}

$const = 'test';

var_dump(constant('bar::'. $const)); // string(7) "foobar!"
var_dump(constant('foo::'. $const)); // string(7) "foobar!"

?>

Örnek 2 - constant() işlevinin sayılama kılıfları ile kullanımı ( PHP 8.1.0 ve üstü)

<?php

enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

$case = 'Hearts';

var_dump(constant('Suit::'. $case)); // enum(Suit::Hearts)

?>

Ayrıca Bakınız

  • define() - Bir isimli sabit tanımlar
  • defined() - Belirtilen isimli sabit tanımlı mı diye bakar
  • get_defined_constants() - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
  • Sabitler bölümü


Bir isimli sabit tanımlar

  • « constant
  • defined »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir isimli sabit tanımlar

define

(PHP 4, PHP 5, PHP 7, PHP 8)

define — Bir isimli sabit tanımlar

Açıklama

define(string $sabit_ismi, mixed $değer, bool $harf_büyüklüğüne_duyarsız = false): bool

Çalışma sırasında bir isimli sabit tanımlamaya yarar.

Bağımsız Değişkenler

sabit_ismi

Sabitin ismi.

Bilginize:

Ayrılmış ve hatta geçersiz adlarla sabit tanımlamak mümkündür. Bunların değeri (yalnızca) constant() ile alınabilir. Ancak bunu yapmanız önerilmez.

değer

Sabitin değeri. integer, float, string, boolean, array veya null türünde değerler kabul edilir.

Uyarı

resource türünde sabitler tanımlamak mümkün ise de beklenmedik davranışlara yol açacağından bu önerilmez.

harf_büyüklüğüne_duyarsız

true belirtilirse, tanımlanan sabitin ismi harf büyüklüğüne duyarsız olarak tanımlanır. Öntanımlı davranış harf büyüklüğüne duyarlıdır; yani SABiT ve Sabit farklı sabitler olarak ele alınır.

Uyarı

PHP 7.3.0 ve sonrasında harf büyüklüğüne duyarsız sabitlerin kullanımı önerilmemektedir. PHP 8.0.0 ve sonrasında, sadece false değeri kabul edilmektedir. true değeri bir uyarı üretecektir.

Bilginize:

Harf büyüklüğüne duyarsız sabitler küçük harfli saklanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | harf_büyüklüğüne_duyarsız bağımsız değişkeninde true aktarımı artık bir E_WARNING çıktılıyor. false aktarımı ise hala destekleniyor.
7.3.0 | harf_büyüklüğüne_duyarsız bağımsız değişkeninin kullanımı önerilmemektedir. PHP 8.0.0 sürümünde kaldırılacaktır.
7.0.0 | array türünde değerlere izin verilmektedir.

Örnekler

Örnek 1 - Sabit tanımlamak

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // çıktısı: "Hello world."
echo Constant; // çıktısı: "Constant" Ayrıca bir uyarı çıktılanır.

define("GREETING", "Hello you.", true);
echo GREETING; // çıktısı: "Hello you."
echo Greeting; // çıktısı: "Hello you."

// PHP 7 ve sonrasında çalışır
define('ANIMALS', array(
'dog',
'cat',
'bird'
));
echo ANIMALS[1]; // çıktısı: "cat"

?>

Örnek 2 - Ayrılmış isimli sabitler

Bu örnek, bir sihirli sabit ile aynı ada sahip bir sabiti tanımlama durumundaki davranışı göstermektedir. Ortaya çıkan davranış açıkça kafa karıştırıcı olduğundan, pratikte bunu yapmanız önerilmez.

<?php
var_dump(defined('__LINE__'));
var_dump(define('__LINE__', 'test'));
var_dump(constant('__LINE__'));
var_dump(__LINE__);
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
string(4) "test"
int(5)

Ayrıca Bakınız

  • defined() - Belirtilen isimli sabit tanımlı mı diye bakar
  • constant() - Bir sabitin değerini döndürür
  • Sabitler bölümü


Belirtilen isimli sabit tanımlı mı diye bakar

  • « define
  • die »
  • PHP Manual
  • Çeşitli İşlevler
  • Belirtilen isimli sabit tanımlı mı diye bakar

defined

(PHP 4, PHP 5, PHP 7, PHP 8)

defined — Belirtilen isimli sabit tanımlı mı diye bakar

Açıklama

defined(string $sabit_ismi): bool

Belirtilen isimli sabit tanımlıysa true döndürür.

Bu işlev ayrıca, sınıf sabitleri ve sayılama kılıfları ile de çalışır.

Bilginize:

Bir değişkenin tanımlı olup olmadığını görmek için isset() kullanın. defined() sadece sabitlere bakar. Bir işlevin varlığına bakmak için function_exists() kullanın.

Bağımsız Değişkenler

sabit_ismi

Sabitin ismi.

Dönen Değerler

sabit_ismi ile belirtilen sabit tanımlıysa true değilse false döner.

Örnekler

Örnek 1 - Sabitlerin tanımlılığını sınamak

<?php

/* Kullanılan tırnağın türü önemlidir. */
if (defined('TEST')) {
echo TEST;
}

interface bar {
const test = 'foobar!';
}

class foo {
const test = 'foobar!';
}

var_dump(defined('bar::test')); // bool(true)
var_dump(defined('foo::test')); // bool(true)

?>

Örnek 2 - sayılama kılıflarının Sınanması (PHP 8.1.0 ve üstü)

<?php

enum Deste
{
case Kupalar;
case Karolar;
case Sinekler;
case Maçalar;
}

var_dump(defined('Deste::Kupalar')); // bool(true)

?>

Ayrıca Bakınız

  • define() - Bir isimli sabit tanımlar
  • constant() - Bir sabitin değerini döndürür
  • get_defined_constants() - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • Sabitler bölümü


exit işlevinin eşdeğeri

  • « defined
  • eval »
  • PHP Manual
  • Çeşitli İşlevler
  • exit işlevinin eşdeğeri

die

(PHP 4, PHP 5, PHP 7, PHP 8)

die — exit işlevinin eşdeğeri

Açıklama

Bir dil oluşumu olup exit() işlevine eşdeğerdir.


Bir dizgeyi bir PHP kodu olarak yorumlar

  • « die
  • exit »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir dizgeyi bir PHP kodu olarak yorumlar

eval

(PHP 4, PHP 5, PHP 7, PHP 8)

eval — Bir dizgeyi bir PHP kodu olarak yorumlar

Açıklama

eval(string $kod_dizgesi): mixed

kod_dizgesi ile belirtilen dizgeyi bir PHP kodu olarak yorumlar.

Dikkat

eval() dil yapısı çok tehlikelidir çünkü keyfi PHP kodunun çalıştırılmasına izin verir. Bu nedenle kullanımı önerilmez. Bu yapıyı kullanmaktan başka bir seçeneğin olmadığına dikkatlice karar verilirse, önceden düzgün bir şekilde doğrulamadan kullanıcı tarafından sağlanan herhangi bir veriyi bu işleve aktarmamaya özellikle dikkat edilmelidir.

Bağımsız Değişkenler

kod_dizgesi

Yorumlanacak PHP kodlarını içeren dizge.

Dizge içindeki bir return deyimi dizgenin yorumlanmasını, anında durdurur.

Kod, PHP açılış ve kapanış PHP etiketleri ile sarmalanmaMAlıdır, yani '<?php echo "Merhaba!"; ?>' dizgesi yerine 'echo "Merhaba!";' dizgesi aktarılmalıdır. Uygun PHP etiketlerini kullanarak PHP kipinden çıkmak ve yeniden girmek hala mümkündür, örn. 'echo "PHP kipindeyiz!"; ?>HTML kipindeyiz! <?php echo "Tekrar PHP kipindeyiz!";'.

Bunun dışında aktarılan kod geçerli PHP kodu olmalıdır. Bu, tüm ifadelerin noktalı virgül kullanılarak uygun şekilde sonlandırılması gerektiği anlamına gelir. Örneğin 'echo "Merhaba!"' bir ayrıştırma hatasına sebep olurken, 'echo "Merhaba!";' çalışacaktır.

Bir return deyimi kodun yorumlanmasını derhal sonlandıracaktır.

Kod, eval() işlevini çağıran kodun etki alanında çalıştırılacaktır. Bu nedenle eval() çağrısında tanımlanan veya değiştirilen tüm değişkenler, işlev sonlandırıldıktan sonra görünür kalacaktır.

Dönen Değerler

Kod dizgesi içinde bir return bulunmadıkça eval() daima null döndürür. return ile bir değer döndürülmesi durumunda bu değeri döndürür. Belirtilen dizgede bir çözümleme hatası saptanırsa eval() PHP 7 öncesinde false döndürüp çalışma dosyadaki sonraki deyimden normal olarak devam eder; PHP 7 ve sonrasında ise ParseError istisnası yavrulanır. eval() işlevinin yorumladığı kodlardaki bir hatayı set_error_handler() kullanarak döndürmek mümkün değildir.

Örnekler

Örnek 1 - eval() örneği

<?php
$dizge = 'Gülhane';
$isim = 'çınar';
$metin = 'Burası $dizge parkı ve ben bir $isim ağacıyım.';
echo $metin. "\n";
eval("\$metin = \"$metin\";");
echo $metin. "\n";
?>

Yukarıdaki örneğin çıktısı:

Burası $dizge parkı ve ben bir $isim ağacıyım.
Burası Gülhane parkı ve ben bir çınar ağacıyım.

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

İpucu

Sonuçlarını doğrudan tarayıcıya çıktılayan her şey gibi, çıktı denetleme işlevleri bu işlevin de çıktısını yakalamak ve (örneğin) string türünde saklamak için kullanılabilir.

Bilginize:

Yorumlanan kodda ölümcül bir hata varsa betiğin tamamı durdurulur.

Ayrıca Bakınız

  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır


Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır

  • « eval
  • get_browser »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır

exit

(PHP 4, PHP 5, PHP 7, PHP 8)

exit — Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır

Açıklama

exit(string $durum = ?): void
exit(int $durum): void

Betiğin çalışmasını sonlandırır. exit çağrılsa bile kapanma işlevleri ve nesne yıkıcılar daima çalıştırılır.

exit bir dil oluşumu olup bağımsız değişkensiz kullanımda (durum belirtilmezse) parantezsiz çağrılabilir.

Bağımsız Değişkenler

durum

durum bir dizge ise işlev betiği sonlandırmadan önce bu dizgeyi basar.

durum bir int türünde bir değer ise bu değer çıkış durumu olarak kullanılır ve basılmaz. Çıkış durumları 0..254 arasında olmalıdır. Çıkış durumu 255 PHP'nin kendi kullanımına ayrılmış olup kullanılmamalıdır. Durum 0, betiğin işini başarıyla yerine getirdiği anlamına gelir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - exit örneği

<?php

$filename = '/dosya/yolu/veri/dosyası';
$file = fopen($filename, 'r')
or exit("($filename) dosyası açılamadı");

?>

Örnek 2 - exit durum örneği

<?php

// Betik normal olarak sonlansın
exit;
exit();
exit(0);

// Bir hata koduyla sonlansın
exit(1);
exit(0376); // sekizlik

?>

Örnek 3 - Kapanma işlevleri ve yıkıcıların koşulsuz çalışması

<?php
class Foo
{
public function __destruct()
{
echo 'Destruct: ' . __METHOD__ . '()' . PHP_EOL;
}
}

function shutdown()
{
echo 'Shutdown: ' . __FUNCTION__ . '()' . PHP_EOL;
}

$foo = new Foo();
register_shutdown_function('shutdown');

exit();
echo 'This will not be output.';
?>

Yukarıdaki örneğin çıktısı:

 Shutdown: shutdown()
 Destruct: Foo::__destruct()

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Bilginize:

Bu bir dil oluşumu olup die() ile eşdeğerdir.

Ayrıca Bakınız

  • register_shutdown_function() - Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar


Kullanıcının tarayıcısının neler yapabildiğini söyler

  • « exit
  • __halt_compiler »
  • PHP Manual
  • Çeşitli İşlevler
  • Kullanıcının tarayıcısının neler yapabildiğini söyler

get_browser

(PHP 4, PHP 5, PHP 7, PHP 8)

get_browser — Kullanıcının tarayıcısının neler yapabildiğini söyler

Açıklama

get_browser(?string $tarayıcı = null, bool $dizi_döndür = false): object|array|false

Kullanıcının tarayıcısının neler yapabildiğini, tarayıcılar için bilgi dosyası olan browscap.ini dosyasına bakarak saptamaya çalışır.

Bağımsız Değişkenler

tarayıcı

Araştırılacak tarayıcı. Öntanımlı olarak HTTP User-Agent başlığındaki değer kullanılır. Ancak bu bağımsız değişkende değer aktararak başka bir tarayıcının bilgi dosyasına bakabilirsiniz.

Bu bağımsız değişkende null değer aktarabilirsiniz.

dizi_döndür

true atandığı takdirde, bu işlev bir nesne yerine bir dizi döndürür.

Dönen Değerler

Döndürülen nesne veya dizi, tarayıcının sürüm numarası, kimlik dizgesi, gibi bilgilerin yanında, çerçeveleri, çerezleri, JavaScript'leri kabul edip etmediği gibi bilgiller true/false değerleriyle içerilir.

cookies değeri, kullanıcının çerezleri kabul edip etmediğini değil, tarayıcının çerez kabul edebilme yeteneğini gösterir. Kullanıcının çerez kabul edip etmediğini anlamanın tek yolu setcookie() ile bir çerez gönderip sonra bu çerezin tarayıcıdaki değerini öğrenmeye çalışmaktır.

Hiçbir bilgi yoksa, örneğin, php.ini içindeki browscap yapılandırma yönergesine bir atama yapılmamış olması gibi durumlarda false döner.

Örnekler

Örnek 1 Kullanıcının tarayıcısı ile ilgili tüm bilginin listelenmesi

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);
print_r($browser);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3

Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1;
    .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*)
    Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [cssversion] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)

Notlar

Bilginize:

Bu işlevin doğru çalışabilmesi için php.ini içindeki browscap yapılandırma yönergesinde, sisteminizdeki browscap.ini dosyasının yerinin doğru belirtilmiş olması gerekir.

browscap.ini dosyası PHP ile birlikte gelmez, fakat güncel dosyayı » php_browscap.ini olarak indirebiliriniz.

browscap.ini dosyası bir çok tarayıcı hakkında bilgi içerir. Veritabanını güncel tutmak için kullanıcı güncellemeleri kullanılır. Dosyanın biçemi, kendi içinde açıklanmıştır.


Derleyicinin çalışmasını durdurur

  • « get_browser
  • highlight_file »
  • PHP Manual
  • Çeşitli İşlevler
  • Derleyicinin çalışmasını durdurur

__halt_compiler

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

__halt_compiler — Derleyicinin çalışmasını durdurur

Açıklama

__halt_compiler(): void

Derleyicinin çalışmasını durdurur. PHP betiklerine kurulum dosyaları gibi verileri gömmek için kullanışlıdır.

Veri başlangıç baytının konumu __COMPILER_HALT_OFFSET__ sabitiye belirtilebilir. Bu sabit sadece dosyada bir __halt_compiler() işlevi varsa tanımlıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - __halt_compiler() örneği

<?php

// Bu betiği açalım
$fp = fopen(__FILE__, 'r');

// Dosya göstericiyi verinin başladığı yere konumlayalım
fseek($fp, __COMPILER_HALT_OFFSET__);

// Çıktılayalım
var_dump(stream_get_contents($fp));

// Betiğin çalışmasını durduralım
__halt_compiler();

Notlar

Bilginize:

__halt_compiler() işlevi betiğin sadece en dış etki alanında kullanılabilir.


Bir dosyadaki sözdizimini vurgular

  • « __halt_compiler
  • highlight_string »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir dosyadaki sözdizimini vurgular

highlight_file

(PHP 4, PHP 5, PHP 7, PHP 8)

highlight_file — Bir dosyadaki sözdizimini vurgular

Açıklama

highlight_file(string $dosya, bool $döndür = false): string|bool

PHP'nin yerleşik söz dizimi vurgulayıcısında tanımlanmış renkler kullanılarak belirtilen dosya içindeki PHP koduna söz dizimi vurgulaması yapılıp sonuç ya döndürülür ya da basılır.

Çoğu sunucu, phps uzantısına sahip dosyalara otomatik olarak vurgulama uygulayacak şekilde yapılandırılır. Örneğin, misal.phps dosyası çalıştırılmak yerine içerdiği PHP kodları, vurgulanarak gösterilir. Bunu sunucunuda etkinleştirmek isterseniz httpd.conf dosyanıza şu satırı ekleyiniz:

AddType application/x-httpd-php-source .phps

Bağımsız Değişkenler

dosya

Vurgulanacak PHP kodunu içeren dosyanın yolu.

döndür

Vurgulanmış dizgeyi çıktılamak yerine döndürmesini isterseniz bu bağımsız değişkenle işleve true aktarın.

Dönen Değerler

döndür bağımsız değişkeni true ise, elde edilen dizge basılmaz, sadece döndürülür. Aksi takdirde, işlem başarılı olmuşsa true yoksa false döner.

Notlar

Dikkat

highlight_file() işlevini kullanırken, parola ve benzeri güvenlik riski ortaya çıkarabilecek bilgilerin istemdışı olarak ifşa edilmemesi konusunda dikkatli olmalısınız.

Bilginize:

Bu işlev bu bağımsız değişken ile bir dahili çıktı tamponu kullanır, dolayısıyla ob_start() geriçağırım işlevinin içinde kullanılamaz.

Ayrıca Bakınız

  • highlight_string() - Bir dizgedeki söz dizimini vurgular
  • INI yönergelerinin vurgulanması


Bir dizgedeki söz dizimini vurgular

  • « highlight_file
  • hrtime »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir dizgedeki söz dizimini vurgular

highlight_string

(PHP 4, PHP 5, PHP 7, PHP 8)

highlight_string — Bir dizgedeki söz dizimini vurgular

Açıklama

highlight_string(string $dizge, bool $döndür = false): string|bool

PHP'nin yerleşik sözdizimi vurgulayıcısında tanımlanmış renkler kullanılarak belirtilen PHP koduna sözdizimi vurgulaması yapılıp sonuç ya html dilinde döndürülür ya da basılır.

Bağımsız Değişkenler

dizge

Vurgulanacak PHP kodunu içeren dizge. Bir açılış etiketi içermek zorundadır.

döndür

Vurgulanmış dizgeyi çıktılamak yerine döndürmesini isterseniz bu bağımsız değişkenle işleve true aktarın.

Dönen Değerler

döndür bağımsız değişkeni true ise, elde edilen dizge basılmaz, sadece döndürülür. Aksi takdirde, işlem başarılı olmuşsa true yoksa false döner.

Örnekler

Örnek 1 - highlight_string() örneği

<?php
highlight_string('<?php phpinfo(); ?>');
?>

Yukarıdaki örneğin çıktısı:

<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php phpinfo</span>
<span style="color: #007700">(); </span>
<span style="color: #0000BB">?&gt;</span>
</span>
</code>

Notlar

Bilginize:

Bu işlev bu bağımsız değişken ile bir dahili çıktı tamponu kullanır, dolayısıyla ob_start() geriçağırım işlevinin içinde kullanılamaz.

HTML çıktı üretimi değişikliğe uğrayabilir.

Ayrıca Bakınız

  • highlight_file() - Bir dosyadaki sözdizimini vurgular
  • INI yönergelerinin renklendirilmesi


Yüksek çözünürlüklü sistem zamanını döndürür

  • « highlight_string
  • ignore_user_abort »
  • PHP Manual
  • Çeşitli İşlevler
  • Yüksek çözünürlüklü sistem zamanını döndürür

hrtime

(PHP 7 >= 7.3.0, PHP 8)

hrtime — Yüksek çözünürlüklü sistem zamanını döndürür

Açıklama

hrtime(bool $sayı_olarak = false): array|int|float|false

Zaman içinde rastgele bir noktadan itibaren sayılan, sistemin yüksek çözünürlüklü zamanını döndürür. Teslim edilen zaman damgası arttırılamaz, eksiltilemez ve ayarlanamaz.

Bağımsız Değişkenler

sayı_olarak

Yüksek çözünürlüklü zamanı bir sayı olarak (true) veya bir dizi olarak (false) döndürülmek için kullanılır.

Dönen Değerler

sayı_olarak bağımsız değişkeninde false aktarılmışsa [saniye, nanosaniye] biçiminde bir tamsayı dizisi, true aktarılmışsa nanosaniye cinsinden zaman 64 bitlik sistemlerde int, 32 bitlik sistemlerde float türünde bir sayı olarak döner. Başarısızlık durumunda false döner.

Örnekler

Örnek 1 - hrtime() örneği

<?php
echo hrtime(true), PHP_EOL;
print_r(hrtime());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

10444739687370679
Array
(
    [0] => 10444739
    [1] => 687464812
)

Ayrıca Bakınız

  • Yüksek çözünürlüklü zaman eklentisi
  • microtime() - Geçerli Unix zaman damgasını mikrosaniye olarak döndürür


Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler

  • « hrtime
  • pack »
  • PHP Manual
  • Çeşitli İşlevler
  • Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler

ignore_user_abort

(PHP 4, PHP 5, PHP 7, PHP 8)

ignore_user_abort — Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler

Açıklama

ignore_user_abort(?bool $değer = null): int

Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler.

Bağımsız Değişkenler

değer

Bu bağımsız değişken belirtilmişse ve null değilse, bağımsız değişken değeri ignore_user_abort yönergesinin değeri olarak kullanılır. Bağımsız değişken belirtilmemişse, işlev sadece önceki değeri (değiştirmeden) döndürür.

Dönen Değerler

Önceki değeri bir tamsayı olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | değer artık null olabiliyor.

Örnekler

Örnek 1 - ignore_user_abort() örneği

<?php
// Kullanıcının bağlantıyı terketmesini yok sayıp
// betiği ilelebet çalıştır
ignore_user_abort(true);
set_time_limit(0);

echo "PHP'de bağlantı varlığı sınanıyor";

// Sonsuz bir döngü çalıştırıp sayfadaki bir düğmeye
// veya tarayıcının "dur" düğmesine tıklanmasını bekleyelim
while(1)
{
// Bağlantı kesilmişse döngüden çık
if(connection_status() != CONNECTION_NORMAL)
{
break;
}

// 10 saniye bekle
sleep(10);
}

// Buraya gelinmişse döngü içindeyken bir düğmeye tıklanmış demektir.

// Bu durumda burada bir günlük kaydı veya
// artık tarayıcıya bağlı olmayan bazı işlemleri yapabiliriz.
?>

Notlar

PHP, istemciye bir bilgi göndermeye çalışana kadar kullanıcının bağlantıyı terkettiğini bilemez. Basitçe bir echo deyimi kullanımı bu bilginin gönderildiğini garanti etmez. Daha fazla bilgi için flush() işlevine bakınız.

Ayrıca Bakınız

  • connection_aborted() - İstemcinin bağlantıyı terkedip terketmediğine bakar
  • connection_status() - Bağlantı durumu bit maskesini döndürür
  • PHP'nin bağlantıları nasıl yönettiği Bağlantı yönetimi sayfasında ayrıntılı olarak açıklanmıştır.


Veriyi ikil bir dizge halinde paketler

  • « ignore_user_abort
  • php_strip_whitespace »
  • PHP Manual
  • Çeşitli İşlevler
  • Veriyi ikil bir dizge halinde paketler

pack

(PHP 4, PHP 5, PHP 7, PHP 8)

pack — Veriyi ikil bir dizge halinde paketler

Açıklama

pack(string $biçem, mixed ...$değerler): string

Belirtilen değerleri belirtilen biçem biçeminde bir ikil bir dizge olarak paketler.

Anafikir Perl'den alınmış olup, tüm biçemleme kodları Perl'deki gibi çalışır. Ancak, biçemleme türleri aynı değildir, örneğin "u" biçemi Perl'de yoktur.

Şuna dikkat: İşaretli ve işaretsiz değerler arasındaki ayrım sadece unpack() işlevini etkiler. pack() işlevi her ikisi için de aynı sonuçları üretir.

Bağımsız Değişkenler

biçem

biçem dzgesi isteğe bağlı bir yineleme bağımsız değişkeni ile öncelenmiş biçem kodlarından oluşur. Yineleme bağımsız değişkeni bir tamsayı değer veya girdi verisinin sonuna kadar yineleme belirten bir * olabilir. a, A, h, H için yineleme sayısı, bir veri bağımsız değişkeninden kaç karakter alındığını belirtir. @ için yineleme sayısı ise, sonraki verinin konacağı mutlak konumu belirtir. Bunlar dışında kalan herşey için yineleme sayısı, sonuçlanan ikil dizgede paketlenmek üzere kaç tane veri argümanın toplanacağını belirtir.

Şimdilik gerçeklenmiş biçemler:

pack() biçem karakterleri
Kod | Açıklama
a | NUL-dolgulu dizge
A | BOŞLUK dolgulu dizge
h | Onaltılık dizge, küçük dörtlü önce gelir
H | Onaltılık dizge, büyük dörtlü önce gelir
c | işaretli bayt
C | işaretsiz bayt
s | İşaretli kısa tamsayı (daima 16 bit olup, makine bayt sıralamasındadır)
S | İşaretsiz kısa tamsayı (daima 16 bit olup, makine bayt sıralamasındadır)
n | İşaretsiz kısa tamsayı (daima 16 bit olup, en değerli bayt baştadır)
v | İşaretsiz kısa tamsayı (daima 16 bit olup, en değersiz bayt baştadır)
i | İşaretli tamsayı (boyut ve bayt sıralaması makineye bağlıdır)
I | İşaretsiz tamsayı (boyut ve bayt sıralaması makineye bağlıdır)
l | İşaretli uzun tamsayı (daima 32 bit olup, makine bayt sıralamasındadır)
L | İşaretsiz uzun tamsayı (daima 32 bit olup, makine bayt sıralamasındadır)
N | İşaretsiz uzun tamsayı (daima 32 bit olup, en değerli bayt baştadır)
V | İşaretsiz uzun tamsayı (daima 32 bit olup, en değersiz bayt baştadır)
q | İşaretli çok uzun tamsayı (daima 64 bit olup, makine bayt sıralamasındadır)
Q | İşaretsiz çok uzun tamsayı (daima 64 bit olup, makine bayt sıralamasındadır)
J | İşaretsiz çok uzun tamsayı (daima 64 bit olup, en değerli bayt baştadır)
P | unsigned long long (daima 64 bit olup, en değersiz bayt baştadır)
f | Tek hassasiyetli gerçek sayı - float (boyut ve gösterim makineye bağlıdır)
g | Tek hassasiyetli gerçek sayı (boyut makineye bağlı, en değersiz bayt baştadır)
G | Tek hassasiyetli gerçek sayı (boyut makineye bağlı, en değerli bayt baştadır)
d | Çift hassasiyetli gerçek sayı - double (boyut ve gösterim makineye bağlıdır)
e | Çift hassasiyetli gerçek sayı (boyut makineye bağlı, en değersiz bayt baştadır)
E | Çift hassasiyetli gerçek sayı (boyut makineye bağlı, en değerli bayt baştadır)
x | NUL bayt (0. karakter)
X | Bir baytlık yedek
Z | NUL dolgulu dizge
@ Bir mutlak konuma kadar NUL dolgu

değerler

Dönen Değerler

Başarı durumunda veriyi içeren ikil bir dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarısızlık durumunda artık false dönmüyor.
7.2.0 | float ve double türlerin ikisininde değerli baytları başta ve sonda olabiliyor.
7.0.15,7.1.1 | float ve double türler için bayt sıralaması desteğini sağlayan "e", "E", "g" ve "G" kodları eklendi.

Örnekler

Örnek 1 - pack() örneği

<?php
$ikilveri = pack("nvc*", 0x1234, 0x5678, 65, 66);
?>

Elde edilen ikil dizge 6 bayt uzunlukta olur ve sırayla 0x12, 0x34, 0x78, 0x56, 0x41, 0x42 baytlarını içerir.

Notlar

Dikkat

PHP'nin dahili olarak int değerlerini, boyutu makineye bağlı işaretli değerler(C türü: long) olarak sakladığını unutmayın. int türünün sınırları dışında sayılar veren tamsayı değişmezleri ve işlemleri float olarak saklanır. Bu kayan noktalı sayılar, tamsayı olarak paketlenirken önce tamsayı türüne dönüştürülür. Bu, her zaman istenen bayt gösterimiyle sonuçlanmayabilir.

En alakalı durum, işaretsiz int türüyle temsil edilebilecek işaretsiz sayıların paketlenmesidir. int türünün 32 bit boyuta sahip olduğu sistemlerde, dönüştürme genellikle işaretsiz int bayt gösterimiyle sonuçlanır (bu, C standardına göre gerçeklenimle tanımlı işaretsizden işaretliye dönüşüm işlemlerine dayanır). int türünün 64 bit olduğu sistemlerde, float türü bu değerleri büyük olasılıkla hassasiyet kaybı olmadan tutacak kadar büyük bir mantise sahip değildir. Bu sistemlerde yerel 64 bitlik C int türü varsa (çoğu UNIX benzeri sistemde yoktur), üst aralıkta I pack biçemini kullanmanın tek yolu, istenen işaretsiz değer olarak, aynı bayt gösterimine sahip negatif int değerler oluşturmaktır.

Ayrıca Bakınız

  • unpack() - Paketlenmiş bir ikil dizgeden verileri ayrıştırır


Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner

  • « pack
  • sapi_windows_cp_conv »
  • PHP Manual
  • Çeşitli İşlevler
  • Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner

php_strip_whitespace

(PHP 5, PHP 7, PHP 8)

php_strip_whitespace — Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner

Açıklama

php_strip_whitespace(string $dosya): string

Dosya ismi dosya bağımsız değişkeni ile belirtilen PHP kaynak kodundan PHP açıklamalarını ve boş alanları çıkarıp sonucu döndürür. Açıklama miktarının asıl PHP koduna oranını tespit etmek için yararlıdır. Bu işlec PHP komut satırında php -w kullanımına eşdeğerdir.

Bağımsız Değişkenler

dosya

PHP dosyasının yolu.

Dönen Değerler

İşlev başarılı olursa ayıklanmış kaynak kodunu, aksi takdirde boş bir dizge döndürür.

Bilginize:

Bu işlev short_open_tag ini yönergesinin değerine göre işlem yapar.

Örnekler

Örnek 1 - php_strip_whitespace() örneği

<?php
// Bu bir PHP açıklaması

/*
* Başka bir PHP açıklaması
*/

echo php_strip_whitespace(__FILE__);
// Satırsonu karakterleri de boşluklardan sayılıp kaldırılır
hepsi_bu_kadar();
?>

Yukarıdaki örneğin çıktısı:

<?php
 echo php_strip_whitespace(__FILE__); hepsi_bu_kadar(); ?>

Farkettiyseniz, PHP açıklamalarının yanında boşluklar ve ilk echo deyiminden sonraki satırsonu karakterleri de ayıklandı.


Dizgenin karakter kümesini değiştirir

  • « php_strip_whitespace
  • sapi_windows_cp_get »
  • PHP Manual
  • Çeşitli İşlevler
  • Dizgenin karakter kümesini değiştirir

sapi_windows_cp_conv

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_conv — Dizgenin karakter kümesini değiştirir

Açıklama

sapi_windows_cp_conv(int|string $karkümden, int|string $karküme, string $dizge): ?string

Dizgenin karakter kümesini değiştirir.

Bağımsız Değişkenler

karkümden

dizgenin mevcut karakter kümesi. Karakter kümesinin ismi veya tanıtıcısı belirtilebilir.

karküme

dizgenin dönüştürüleceği karakter kümesi. Karakter kümesinin ismi veya tanıtıcısı belirtilebilir.

dizge

Dönüştürülecek dizi.

Dönen Değerler

Karakter kümesi karküme dönüştürülmüş dizge, başarısızlık durumunda null döner.

Hatalar/İstisnalar

Belirtilen dizge karkümden için geçersiz ise veya belirtilen karakter kümeleri geçersizse E_WARNING seviyesinde hata çıktılanır.

Ayrıca Bakınız

  • sapi_windows_cp_get() - Geçerli karakter kümesini döndürür
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


Geçerli karakter kümesini döndürür

  • « sapi_windows_cp_conv
  • sapi_windows_cp_is_utf8 »
  • PHP Manual
  • Çeşitli İşlevler
  • Geçerli karakter kümesini döndürür

sapi_windows_cp_get

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_get — Geçerli karakter kümesini döndürür

Açıklama

sapi_windows_cp_get(string $tür = ""): int

Geçerli karakter kümesini döndürür.

Bağımsız Değişkenler

tür

İşletim sisteminin karakter kümesi türü ya 'ansi' ya da 'oem' olabilir. Bunlar dışında bir tür belirtilirse sistemin değil sürecin karakter kümesi olarak ele alınır.

Dönen Değerler

tür olarak 'ansi' belirtilmişse, işletim sisteminin geçerli ANSI karakter kümesi döner. tür olarak 'oem' belirtilmişse, işletim sisteminin geçerli OEM karakter kümesi döner. Aksi takdirde, sürecin geçerli karakter kümesi döner.

Ayrıca Bakınız

  • sapi_windows_cp_set() - Sürece karakter kümesi tanımlar


Karakter kümesinin UTF-8 uyumluluğuna bakar

  • « sapi_windows_cp_get
  • sapi_windows_cp_set »
  • PHP Manual
  • Çeşitli İşlevler
  • Karakter kümesinin UTF-8 uyumluluğuna bakar

sapi_windows_cp_is_utf8

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_is_utf8 — Karakter kümesinin UTF-8 uyumluluğuna bakar

Açıklama

sapi_windows_cp_is_utf8(): bool

Geçerli karakter kümesi UTF-8 ile uyumlu ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli karakter kümesi UTF-8 ile uyumlu ise true, değilse false döner.

Ayrıca Bakınız

  • sapi_windows_cp_get() - Geçerli karakter kümesini döndürür


Sürece karakter kümesi tanımlar

  • « sapi_windows_cp_is_utf8
  • sapi_windows_generate_ctrl_event »
  • PHP Manual
  • Çeşitli İşlevler
  • Sürece karakter kümesi tanımlar

sapi_windows_cp_set

(PHP 7 >= 7.1.0, PHP 8)

sapi_windows_cp_set — Sürece karakter kümesi tanımlar

Açıklama

sapi_windows_cp_set(int $karakter_kümesi): bool

Sürece karakter kümesi tanımlar.

Bağımsız Değişkenler

karakter_kümesi

Karakter kümesi tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • sapi_windows_cp_get() - Geçerli karakter kümesini döndürür


Belirtilen sürece bir CTRL olayı gönderir

  • « sapi_windows_cp_set
  • sapi_windows_set_ctrl_handler »
  • PHP Manual
  • Çeşitli İşlevler
  • Belirtilen sürece bir CTRL olayı gönderir

sapi_windows_generate_ctrl_event

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_generate_ctrl_event — Belirtilen sürece bir CTRL olayı gönderir

Açıklama

sapi_windows_generate_ctrl_event(int $olay, int $pid = 0): bool

Aynı süreç grubundaki başka bir sürece belirtilen CTRL olayını gönderir.

Bağımsız Değişkenler

olay

Önderilecek CTRL olayı; PHP_WINDOWS_EVENT_CTRL_C veya PHP_WINDOWS_EVENT_CTRL_BREAK olabilir.

pid

Olayın gönderileceği sürecin kimliği. 0 belirtilirse olay süreç grubundaki tüm süreçlere gönderilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - sapi_windows_generate_ctrl_event() örneği

Bu örnek, CTRL+BREAK olaylarının bir alt sürece nasıl iletileceğini gösterir. Bu durumda, kullanıcı CTRL+BREAK tuşlarına basıp süreci sonlandırana kadar kadar süreç her saniye Hala etkinim dizgesini çıktılar.

<?php
// çocuk süreçlere CTRL+BREAK olaylarını ilet
sapi_windows_set_ctrl_handler('sapi_windows_generate_ctrl_event');

// Her saniye bir çıktı verecek bir süreç oluştur
$cmd = ['php', '-r', 'while (true) { echo "Hala etkinim\n"; sleep(1); }'];
$descspec = array(['pipe', 'r'], ['pipe', 'w'], ['pipe', 'w']);
$options = ['create_process_group' => true];
$proc = proc_open($cmd, $descspec, $pipes, null, null, $options);
while (true) {
echo fgets($pipes[1]);
}
?>

Ayrıca Bakınız

  • proc_open() - Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar
  • sapi_windows_set_ctrl_handler() - CTRL olayı işleyiciyi tanımlar veya kaldırır


CTRL olayı işleyiciyi tanımlar veya kaldırır

  • « sapi_windows_generate_ctrl_event
  • sapi_windows_vt100_support »
  • PHP Manual
  • Çeşitli İşlevler
  • CTRL olayı işleyiciyi tanımlar veya kaldırır

sapi_windows_set_ctrl_handler

(PHP 7 >= 7.4.0, PHP 8)

sapi_windows_set_ctrl_handler — CTRL olayı işleyiciyi tanımlar veya kaldırır

Açıklama

sapi_windows_set_ctrl_handler(?callable $işleyici, bool $ekle = true): bool

Windows CLI süreçlerinin CTRL+C ve CTRL+BREAK olaylarını yakalamasını veya yok saymasını sağlayan bir CTRL olay işleyici tanımlar veya kaldırır. Çok evreli ortamlarda işlev yalnızca ana evreden çağrıldığında bu mümkündür.

Bağımsız Değişkenler

işleyici

Atanacak veya kaldırılacak geri çağırım işlevi. Atanırsa, bir CTRL+C veya CTRL+BREAK olayı meydana geldiğinde bu işlev çağrılır. İşlevin sözdizimi aşağıdaki gibi olmalıdır:

işleyici(int $olay): void
olay
Yakalanacak CTRL olayı; PHP_WINDOWS_EVENT_CTRL_C veya PHP_WINDOWS_EVENT_CTRL_BREAK olabilir.
geri_çağırım bağımsız değişkenine null aktarımı sürecin CTRL+C olaylarını yok saymasını ancak CTRL+BREAK olaylarını yakalamasına sebep olur.

ekle

true ise işleyici atanır, false ise kaldırılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - sapi_windows_set_ctrl_handler() örneği

Bu örnekte CTRL olaylarının nasıl yakalanacağı gösterilmiştir.

<?php
function ctrl_isleyici(int $olay)
{
switch ($olay) {
case PHP_WINDOWS_EVENT_CTRL_C:
echo "CTRL+C tuşlandı\n";
break;
case PHP_WINDOWS_EVENT_CTRL_BREAK:
echo "CTRL+BREAK tuşlandı\n";
break;
}
}

sapi_windows_set_ctrl_handler('ctrl_isleyici');
while (true); // sonsuz döngü, işleyici tetiklenene dek sürer
?>

Ayrıca Bakınız

  • sapi_windows_generate_ctrl_event() - Belirtilen sürece bir CTRL olayı gönderir


Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür

  • « sapi_windows_set_ctrl_handler
  • show_source »
  • PHP Manual
  • Çeşitli İşlevler
  • Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür

sapi_windows_vt100_support

(PHP 7 >= 7.2.0, PHP 8)

sapi_windows_vt100_support — Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür

Açıklama

sapi_windows_vt100_support(resource $akım, ?bool $etkin = null): bool

etkin null ise ve akım için VT100 denetim kodları etkinse true, değilse false döner.

etkin true ise, akım için VT100 denetim kodları etkinleştirilir, false ise iptal edilir. İşlev ilk durum için true ikinci durum için false döndürür.

PHP başlatıldığında STDOUT ve STDERR akmlarında VT100 özelliğini etkinleştirmeye çalışır. Ancak, bu akımlar bir dosyaya yönlendirilmişse bu yapılamayabilir.

VT100 desteği etkinse, VT100 uçbiriminin bilinen denetim kodlarını kullanmak mümkün olur. Denetim kodları ie uçbirim çıktısında değişiklik yapılabilir. Windows'da bu kodlara "Console Virtual Terminal Sequences" adı verilir.

Uyarı

Bu işlev, Windows 10 API'sinde geçerli ENABLE_VIRTUAL_TERMINAL_PROCESSING seçeneğini kullanır, bu nedenle VT100 özelliği eski Windows sürümlerinde kullanılamayabilir.

Bağımsız Değişkenler

akım

İşlem yapılacak akım.

etkin

true belirtilirse belirtilen akımda VT100 denetim kodları kullanılabilir, false ise kullanılamaz.

Dönen Değerler

etkin null ise ve VT100 özelliği etkinse true, değilse false döner.

etkin içn mantıksal bir değer belirtilmişse: Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | etkin artık null olabiliyor.

Örnekler

Örnek 1 - sapi_windows_vt100_support() öntanımlı durum örneği

Öntanımlı olarak, STDOUT ve STDERR üzerinde VT100 denetim kodları etkindir.

php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));" 2>NUL

Yukarıdaki örnek şuna benzer bir çıktı üretir:

true true

Eğer akımlar yönlendirilmişse VT100 özelliği etkinleştirilemeyebilir:

php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL

Yukarıdaki örnek şuna benzer bir çıktı üretir:

true false

Örnek 2 - sapi_windows_vt100_support() ile durum değişikliği

STDOUT veya STDERR akımı yönlendirilmişse bunlar üzerinde VT100 özelliği etkinleştirilemeyebilir.

php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL

Yukarıdaki örnek şuna benzer bir çıktı üretir:

true false

Örnek 3 - VT100 desteğini etkin kılma örneği

<?php
$out = fopen('php://stdout','w');
fwrite($out, 'Bir harfi unuttm.');
// İmleci iki karakter geriye götür
fwrite($out, "\033[2D");
// Mevcut metni sağa kaydırarak unutulan karakter için yer aç:
// 'Bir harfi unutt m.'
fwrite($out, "\033[1@");
// unutulan karakteri yerleştir
fwrite($out, 'u');
?>

Yukarıdaki örneğin çıktısı:

Bir harfi unuttum.


highlight_file işlevinin takma adıdır

  • « sapi_windows_vt100_support
  • sleep »
  • PHP Manual
  • Çeşitli İşlevler
  • highlight_file işlevinin takma adıdır

show_source

(PHP 4, PHP 5, PHP 7, PHP 8)

show_source — highlight_file() işlevinin takma adıdır

Açıklama

Bu işlev highlight_file() işlevinin takma adıdır.


Çalışmayı geciktirir

  • « show_source
  • sys_getloadavg »
  • PHP Manual
  • Çeşitli İşlevler
  • Çalışmayı geciktirir

sleep

(PHP 4, PHP 5, PHP 7, PHP 8)

sleep — Çalışmayı geciktirir

Açıklama

sleep(int $süre): int

Betiğin çalışmasını süre saniye geciktirir.

Bilginize:

Betiğin çalışmasının saniyenin kesri kadar geciktirilmesi istenirse, bir
tamsayı (int) bekleyen sleep() yerine
usleep() kullanılmalıdır. Örneğin,
sleep(0.25) çalışmayı 0 saniye
geciktirirdi.

Bağımsız Değişkenler

süre

İşlemsiz geçecek saniye cinsinden süre (0 veya 0'dan büyük olmalıdır).

Dönen Değerler

Başarı durumunda 0 (sıfır) döner.

Çağrı bir sinyalle kesilirse, sleep() sıfırdan farklı bir değerle döner. Windows'ta, bu değer daima 192 olur (Windows API içindeki WAIT_IO_COMPLETION sabitinin değeri). Diğer sistemlerde, dönüş değeri uykudan kalan saniye sayısı olacaktır.

Hatalar/İstisnalar

Eğer süre olarak negatif bir değer belirtilirse ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | süre olarak negatif bir değer belirtilirse ValueError istisnası oluşur; evvelce, E_WARNING seviyesinde bir hata üretilir ve işlev false döndürürdü.

Örnekler

Örnek 1 - sleep() örneği

<?php

// şimdiki zaman
echo date('h:i:s') . "\n";

// Betik 10 saniye uyusun
sleep(10);

// uyandı !
echo date('h:i:s') . "\n";

?>

Örnek ilk çıktıyla ikinci çıktı araında 10 saniye bekler.

05:31:23
05:31:33

Ayrıca Bakınız

  • usleep() - Çalışmayı mikrosaniye cinsinden geciktirir
  • time_nanosleep() - Çalışmayı saniye ve nanosaniye cinsinden geciktirir
  • time_sleep_until() - Belirtilen zamana kadar betiği uyutur
  • set_time_limit() - Azami çalıştırma süresini sınırlar


Ortalama sistem yükünü döndürür

  • « sleep
  • time_nanosleep »
  • PHP Manual
  • Çeşitli İşlevler
  • Ortalama sistem yükünü döndürür

sys_getloadavg

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

sys_getloadavg — Ortalama sistem yükünü döndürür

Açıklama

sys_getloadavg(): array|false

Son 1., 5. ve 15. dakikada ölçülen ortalama sistem yükünü (sistemde çalışmakta olan süreç sayısını) gösteren üç değer döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Son 1., 5. ve 15. dakikada alınan örnekleri içeren bir dizi, başarısızlık durumunda false döner

Örnekler

Örnek 1 - sys_getloadavg() örneği

<?php
$load = sys_getloadavg();
if ($load[0] > 0.80) {
header('HTTP/1.1 503 Too busy, try again later');
die('Sunucu çok meşgul. Lütfen daha sonra tekrar deneyin.');
}
?>

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.


Çalışmayı saniye ve nanosaniye cinsinden geciktirir

  • « sys_getloadavg
  • time_sleep_until »
  • PHP Manual
  • Çeşitli İşlevler
  • Çalışmayı saniye ve nanosaniye cinsinden geciktirir

time_nanosleep

(PHP 5, PHP 7, PHP 8)

time_nanosleep — Çalışmayı saniye ve nanosaniye cinsinden geciktirir

Açıklama

time_nanosleep(int $süre, int $nanosüre): array|bool

Betiğin çalışmasını süre saniye ve nanosüre nanosaniye kadar bekletir.

Bağımsız Değişkenler

süre

Beklenecek saniye sayısını belirten negatif olmayan bir tamsayı.

nanosüre

Saniyenin milyarda birlerini belirten negatif olmayan bir tamsayı.

Bilginize: Windows'ta, donanıma bağlı olarak betik belirtilenden daha uzun süre bekleyebilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Eğer gecikme bir sinyalle kesilirse şu bileşenlere sahip bir ilişkisel dizi döner:

  • seconds - Kalan sürenin saniye sayısı.
  • nanoseconds - Son saniyeden kalan nanosaniye sayısı.

Örnekler

Örnek 1 - time_nanosleep() örneği

<?php
// Dikkat! Bu beklendiği gibi çalışamazsa bir dizi döndürür
if (time_nanosleep(0, 500000000)) {
echo "Yarım saniyeliğine uyundu.\n";
}

// Bu daha iyidir:
if (time_nanosleep(0, 500000000) === true) {
echo "Yarım saniyeliğine uyundu.\n";
}

// Bu ise en iyisidir:
$nano = time_nanosleep(2, 100000);

if ($nano === true) {
echo "2 saniye, 100 milisaniyeliğine uyundu.\n";
} elseif ($nano === false) {
echo "Uyku kaçtı.\n";
} elseif (is_array($nano)) {
$seconds = $nano['seconds'];
$nanoseconds = $nano['nanoseconds'];
echo "Gecikme bir sinyalle kesildi.\n";
echo "Kalan süre: $seconds saniye, $nanoseconds nanosaniye.";
}
?>

Ayrıca Bakınız

  • sleep() - Çalışmayı geciktirir
  • usleep() - Çalışmayı mikrosaniye cinsinden geciktirir
  • time_sleep_until() - Belirtilen zamana kadar betiği uyutur
  • set_time_limit() - Azami çalıştırma süresini sınırlar


Belirtilen zamana kadar betiği uyutur

  • « time_nanosleep
  • uniqid »
  • PHP Manual
  • Çeşitli İşlevler
  • Belirtilen zamana kadar betiği uyutur

time_sleep_until

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

time_sleep_until — Belirtilen zamana kadar betiği uyutur

Açıklama

time_sleep_until(float $zaman_damgası): bool

Unix zaman_damgası ile belirtilen zamana kadar betiği uyutur.

Bağımsız Değişkenler

zaman_damgası

Betiğin uyanacağı zaman.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Belirtilen zaman_damgası geçmişte ise işlev bir E_WARNING üretir.

Örnekler

Örnek 1 - time_sleep_until() örneği

<?php

// false döndürüp bir uyarı üretir
var_dump(time_sleep_until(time()-1));

// Sadece hızlı bilgisayarlarda çalışır; 0.2 saniye uyutur.
var_dump(time_sleep_until(microtime(true)+0.2));

?>

Notlar

Bilginize: Alınan tüm sinyaller betiğin uyanmasına sebep olur.

Ayrıca Bakınız

  • sleep() - Çalışmayı geciktirir
  • usleep() - Çalışmayı mikrosaniye cinsinden geciktirir
  • time_nanosleep() - Çalışmayı saniye ve nanosaniye cinsinden geciktirir
  • set_time_limit() - Azami çalıştırma süresini sınırlar


Eşsiz bir kimlik dizgesi üretir

  • « time_sleep_until
  • unpack »
  • PHP Manual
  • Çeşitli İşlevler
  • Eşsiz bir kimlik dizgesi üretir

uniqid

(PHP 4, PHP 5, PHP 7, PHP 8)

uniqid — Eşsiz bir kimlik dizgesi üretir

Açıklama

uniqid(string $önek = "", bool $döküntü_üret = false): string

Mikrosaniye cinsinden geçerli zamana dayalı olarak belirtilen önek ile eşsiz bir kimlik dizgesi üretir.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Uyarı

Bu işlev, dönüş değerinin benzersizliğini garanti etmez. Çoğu sistemde sistem saati NTP veya benzeriyle ayarlandığından, sistem zamanı sürekli olarak değiştirilir. Bu nedenle, bu işlevin süreç/evre için benzersiz bir kimlik döndürmemesi mümkündür. Benzersiz olma olasılığını artırmak için döküntü_üret bağımsız değişkenini kullanın.

Bağımsız Değişkenler

önek

Bu bağımsız değişken, farklı konaklar üzerinde aynı anda üretilen kimliklerin farklılaştırılmasında yararlı olabilir.

Boş bir önek belirtildiğinde 13 karakterlik bir dizge elde edilir. Eğer, döküntü_üret bağımsız değişkeninde true belirtilmişse üretilen dizge 23 karakter uzunluğunda olur.

döküntü_üret

true belirtildiği takdirde elde edilen dizgenin daha benzersiz olma olasılığını artırmak için dizgenin sonuna (birleşik doğrusal benzeşimsel üreteç kullanılarak) rasgele üretilmiş karakterler eklenir.

Dönen Değerler

Sistem zamanına dayalı benzersiz bir kimlik dizgesi döner.

Uyarı

Bu işlev benzersiz bir kimlik üretmeye çalışır fakat dönen değerin %100 benzersiz olacağını garanti etmez.

Örnekler

Örnek 1 - uniqid() örneği

<?php
$token = md5(uniqid());
/* 4b3403665fea6 benzeri bir kimlik */
printf("uniqid(): %s\r\n", uniqid());

/* Bir önek belirtilebilir, ikisi de geçerli:
*
* $uniqid = $önek . uniqid();
* $uniqid = uniqid($önek);
*/
printf("uniqid('php_'): %s\r\n", uniqid('php_'));
/* Cygwin gibi bazı sistemlerde gerektiği
* takdirde döküntü_üret'ilebilir.
* sonuç şöyle olabilir: 4b340550242239.64159797
*/
printf("uniqid('', true): %s\r\n", uniqid('', true));
?>

Notlar

Bilginize:

Bu işlevin Cygwin altında çalışması için döküntü_üret true olmalıdır.

Ayrıca Bakınız

  • random_bytes() - Get cryptographically secure random bytes


Paketlenmiş bir ikil dizgeden verileri ayrıştırır

  • « uniqid
  • usleep »
  • PHP Manual
  • Çeşitli İşlevler
  • Paketlenmiş bir ikil dizgeden verileri ayrıştırır

unpack

(PHP 4, PHP 5, PHP 7, PHP 8)

unpack — Paketlenmiş bir ikil dizgeden verileri ayrıştırır

Açıklama

unpack(string $biçem, string $veri, int $başlangıç = 0): array|false

Paketlenmiş bir ikil dizgeden veriyi belirtilen biçem dizgesine göre ilişkisel bir diziye çıkarır.

unpack() çıkardığı veriyi bir ilişkisel dizide saklar. Bunu sağlamak için biçem kodları farklı isimlendirilir ve bir bölü çizgisi / ile ayrılırlar. Yineleyici bir değer belirtilirse dizi anahtarları, belirtilen ismin ardına eklenmiş sıra numaraları içerecektir.

Perl uyumu için aşağıdaki değişiklikler uygulandı:

"a" kodu artık sondaki NULL baytları tutuyor.

"A" kodu artık tüm ASCII boşluklarını (boşluklar, sekmeler, satırsonları, satır başları ve NULL baytlar) ayırıyor.

NULL ile doldurulmuş dizeler için "Z" kodu eklendi; sondaki NULL baytları kaldırıyor.

Bağımsız Değişkenler

biçem

Biçem kodlarının açıklamaları için pack() işlevine bakınız.

veri

Paketlenmiş veri.

başlangıç

Verininin çıkarılmaya başlanacağı başlangıç yeri.

Dönen Değerler

İkil dizgeden ayrıştırılan verileri içeren bir ilişkisel dizi, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | float ve double türlerin ikisininde değerli baytları başta ve sonda olabiliyor.
7.1.0 | Seçimlik başlangıç bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - unpack() örneği

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("cchars/nint", $binarydata);
print_r($array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [chars] => 4
    [int] => 160
)

Örnek 2 - unpack() ve bir yineleyici

<?php
$binarydata = "\x04\x00\xa0\x00";
$array = unpack("c2chars/nint", $binarydata);
print_r($array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [chars1] => 4
    [chars2] => 0
    [int] => 40960
)

Notlar

Dikkat

PHP dahili olarak tamsayı değerleri işaretli olarak sakladığından, büyükçe bir işaretsiz uzun tamsayıyı ayrıştırmak isterseniz, PHP negatif sayıları da aynı boyutta sakladığından elde edilen değer, biçem dizgesinde işaretsiz olduğunu belirtseniz bile, negatif bir sayı olacaktır.

Dikkat

Bir öğenin ismi yoksa 1'den başlayan sayısal indisler kullanılır. Birden fazla isimsiz öğenin bulunmamasına dikkat etmek gerekir, yoksa 1'den "yeniden" başlayan sayısal indisler eskilerini geçersiz kılar.

Örnek 3 - unpack() ve isimsiz anahtarlar

<?php
$binarydata = "\x32\x42\x00\xa0";
$array = unpack("c2/n", $binarydata);
var_dump($array);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [1]=>
  int(160)
  [2]=>
  int(66)
}

c belirtecindeki ilk değer n belirtecindeki ilk değer tarafınan geçersiz kılınmaktadır.

Ayrıca Bakınız

  • pack() - Veriyi ikil bir dizge halinde paketler


Çalışmayı mikrosaniye cinsinden geciktirir

  • « unpack
  • Sürüm Bilgisi »
  • PHP Manual
  • Çeşitli İşlevler
  • Çalışmayı mikrosaniye cinsinden geciktirir

usleep

(PHP 4, PHP 5, PHP 7, PHP 8)

usleep — Çalışmayı mikrosaniye cinsinden geciktirir

Açıklama

usleep(int $süre): void

Betiğin çalışmasını süre mikrosaniye geciktirir.

Bağımsız Değişkenler

süre

İşlemsiz geçecek mikrosaniye cinsinden süre. 1 mikrosaniye saniyenin milyonda biridir.

Bilginize: 1000000'dan büyük değerler (yani 1 saniyeden uzun) işletim sistemi tarafınfan desteklenmeyebilir. Bu durumda sleep() işlevi kullanılabilir.

Bilginize: Uyku, herhangi bir sistem etkinliği veya çağrıyı işlemek için harcanan süre veya sistem zamanlayıcılarının ayrıntı düzeyi tarafından biraz uzatılabilir (yani süreden daha uzun olabilir).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - usleep() örneği

<?php

// Şimdiki zaman
echo (new DateTime('now'))->format('H:i:s.v'), "\n";

// 2 saniye bekle
usleep(2000);

// geri gel!
echo (new DateTime('now'))->format('H:i:s.v'), "\n";

// 30 milisaniye bekle
usleep(30000);

// tekrar geri gel!
echo (new DateTime('now'))->format('H:i:s.v'), "\n";

?>

Yukarıdaki örneğin çıktısı:

11:13:28.005
11:13:28.007
11:13:28.037

Ayrıca Bakınız

  • sleep() - Çalışmayı geciktirir
  • time_nanosleep() - Çalışmayı saniye ve nanosaniye cinsinden geciktirir
  • time_sleep_until() - Belirtilen zamana kadar betiği uyutur
  • set_time_limit() - Azami çalıştırma süresini sınırlar


Random Number Generators and Functions Related to Randomness

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Random İşlevleri
    • getrandmax — Show largest possible random value
    • lcg_value — Combined linear congruential generator
    • mt_getrandmax — Show largest possible random value
    • mt_rand — Generate a random value via the Mersenne Twister Random Number Generator
    • mt_srand — Seeds the Mersenne Twister Random Number Generator
    • rand — Generate a random integer
    • random_bytes — Get cryptographically secure random bytes
    • random_int — Get a cryptographically secure, uniformly selected integer
    • srand — Seed the random number generator
  • Random\Randomizer — The Random\Randomizer class
    • Random\Randomizer::__construct — Constructs a new Randomizer
    • Random\Randomizer::getBytes — Get random bytes
    • Random\Randomizer::getBytesFromString — Get random bytes from a source string
    • Random\Randomizer::getFloat — Get a uniformly selected float
    • Random\Randomizer::getInt — Get a uniformly selected integer
    • Random\Randomizer::nextFloat — Get a float from the right-open interval [0.0, 1.0)
    • Random\Randomizer::nextInt — Get a positive integer
    • Random\Randomizer::pickArrayKeys — Select random array keys
    • Random\Randomizer::__serialize — Serializes the Randomizer object
    • Random\Randomizer::shuffleArray — Get a permutation of an array
    • Random\Randomizer::shuffleBytes — Get a byte-wise permutation of a string
    • Random\Randomizer::__unserialize — Deserializes the data parameter into a Randomizer object
  • Random\Engine — The Random\Engine interface
    • Random\Engine::generate — Generates randomness
  • Random\CryptoSafeEngine — The Random\CryptoSafeEngine interface
  • Random\Engine\Secure — The Random\Engine\Secure class
    • Random\Engine\Secure::generate — Generate cryptographically secure randomness
  • Random\Engine\Mt19937 — The Random\Engine\Mt19937 class
    • Random\Engine\Mt19937::__construct — Constructs a new Mt19937 engine
    • Random\Engine\Mt19937::__debugInfo — Returns the internal state of the engine
    • Random\Engine\Mt19937::generate — Generate 32 bits of randomness
    • Random\Engine\Mt19937::__serialize — Serializes the Mt19937 object
    • Random\Engine\Mt19937::__unserialize — Deserializes the data parameter into a Mt19937 object
  • Random\Engine\PcgOneseq128XslRr64 — The Random\Engine\PcgOneseq128XslRr64 class
    • Random\Engine\PcgOneseq128XslRr64::__construct — Constructs a new PCG Oneseq 128 XSL RR 64 engine
    • Random\Engine\PcgOneseq128XslRr64::__debugInfo — Returns the internal state of the engine
    • Random\Engine\PcgOneseq128XslRr64::generate — Generate 64 bits of randomness
    • Random\Engine\PcgOneseq128XslRr64::jump — Efficiently move the engine ahead multiple steps
    • Random\Engine\PcgOneseq128XslRr64::__serialize — Serializes the PcgOneseq128XslRr64 object
    • Random\Engine\PcgOneseq128XslRr64::__unserialize — Deserializes the data parameter into a PcgOneseq128XslRr64 object
  • Random\Engine\Xoshiro256StarStar — The Random\Engine\Xoshiro256StarStar class
    • Random\Engine\Xoshiro256StarStar::__construct — Constructs a new xoshiro256** engine
    • Random\Engine\Xoshiro256StarStar::__debugInfo — Returns the internal state of the engine
    • Random\Engine\Xoshiro256StarStar::generate — Generate 64 bits of randomness
    • Random\Engine\Xoshiro256StarStar::jump — Efficiently move the engine ahead by 2^128 steps
    • Random\Engine\Xoshiro256StarStar::jumpLong — Efficiently move the engine ahead by 2^192 steps
    • Random\Engine\Xoshiro256StarStar::__serialize — Serializes the Xoshiro256StarStar object
    • Random\Engine\Xoshiro256StarStar::__unserialize — Deserializes the data parameter into a Xoshiro256StarStar object
  • Random\RandomError — The Random\RandomError class
  • Random\BrokenRandomEngineError — The Random\BrokenRandomEngineError class
  • Random\RandomException — The Random\RandomException class


  • « Random
  • Yapılandırma/Kurulum »
  • PHP Manual
  • Random
  • Giriş

Giriş


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

MT_RAND_MT19937 (int)
Indicates that the correct » Mt19937 (Mersenne Twister) implementation will be used by the algorithm, when creating a Random\Engine\Mt19937 instance using Random\Engine\Mt19937::__construct() or seeding the global Mersenne Twister with mt_srand().
MT_RAND_PHP (int)
Indicates that an incorrect Mersenne Twister implementation will be used by the algorithm, when creating a Random\Engine\Mt19937 instance using Random\Engine\Mt19937::__construct() or seeding the global Mersenne Twister with mt_srand(). The incorrect implementation is available for backwards compatibility with mt_srand() prior to PHP 7.1.0.
Uyarı

Bu özelliğin kullanımı PHP 8.3.0 itibariyle ÖNERİLMEMEKTEDİR. Bu özelliğe kesinlikle güvenilmemelidir.


Örnekler

Örnek 1 Random Example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Random İşlevleri

İçindekiler

  • getrandmax — Show largest possible random value
  • lcg_value — Combined linear congruential generator
  • mt_getrandmax — Show largest possible random value
  • mt_rand — Generate a random value via the Mersenne Twister Random Number Generator
  • mt_srand — Seeds the Mersenne Twister Random Number Generator
  • rand — Generate a random integer
  • random_bytes — Get cryptographically secure random bytes
  • random_int — Get a cryptographically secure, uniformly selected integer
  • srand — Seed the random number generator


Show largest possible random value

  • « Random İşlevleri
  • lcg_value »
  • PHP Manual
  • Random İşlevleri
  • Show largest possible random value

getrandmax

(PHP 4, PHP 5, PHP 7, PHP 8)

getrandmax — Show largest possible random value

Açıklama

getrandmax(): int

Returns the maximum value that can be returned by a call to rand().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The largest possible random value returned by rand()

Ayrıca Bakınız

  • rand() - Generate a random integer
  • srand() - Seed the random number generator
  • mt_getrandmax() - Show largest possible random value


Combined linear congruential generator

  • « getrandmax
  • mt_getrandmax »
  • PHP Manual
  • Random İşlevleri
  • Combined linear congruential generator

lcg_value

(PHP 4, PHP 5, PHP 7, PHP 8)

lcg_value — Combined linear congruential generator

Açıklama

lcg_value(): float

lcg_value() returns a pseudo random number in the range of (0, 1). The function combines two CGs with periods of 2^31 - 85 and 2^31 - 249. The period of this function is equal to the product of both primes.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Dikkat

Scaling the return value to a different interval using multiplication or addition (a so-called affine transformation) might result in a bias in the resulting value as floats are not equally dense across the number line. As not all values can be exactly represented by a float, the result of the affine transformation might also result in values outside of the requested interval.

Use Random\Randomizer::getFloat() to generate a random float within an arbitrary interval. Use Random\Randomizer::getInt() to generate a random integer within an arbitrary interval.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A pseudo random float value between 0.0 and 1.0, inclusive.

Ayrıca Bakınız

  • Random\Randomizer::getFloat() - Get a uniformly selected float
  • Random\Randomizer::getInt() - Get a uniformly selected integer
  • random_int() - Get a cryptographically secure, uniformly selected integer


Show largest possible random value

  • « lcg_value
  • mt_rand »
  • PHP Manual
  • Random İşlevleri
  • Show largest possible random value

mt_getrandmax

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_getrandmax — Show largest possible random value

Açıklama

mt_getrandmax(): int

Returns the maximum value that can be returned by a call to mt_rand().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the maximum random value returned by a call to mt_rand() without arguments, which is the maximum value that can be used for its max parameter without the result being scaled up (and therefore less random).

Ayrıca Bakınız

  • mt_rand() - Generate a random value via the Mersenne Twister Random Number Generator
  • mt_srand() - Seeds the Mersenne Twister Random Number Generator
  • getrandmax() - Show largest possible random value


Generate a random value via the Mersenne Twister Random Number Generator

  • « mt_getrandmax
  • mt_srand »
  • PHP Manual
  • Random İşlevleri
  • Generate a random value via the Mersenne Twister Random Number Generator

mt_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_rand — Generate a random value via the Mersenne Twister Random Number Generator

Açıklama

mt_rand(): int
mt_rand(int $min, int $max): int

Many random number generators of older libcs have dubious or unknown characteristics and are slow. The mt_rand() function is a drop-in replacement for the older rand(). It uses a random number generator with known characteristics using the » Mersenne Twister, which will produce random numbers four times faster than what the average libc rand() provides.

If called without the optional min, max arguments mt_rand() returns a pseudo-random value between 0 and mt_getrandmax(). If you want a random number between 5 and 15 (inclusive), for example, use mt_rand(5, 15).

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

min

Optional lowest value to be returned (default: 0)

max

Optional highest value to be returned (default: mt_getrandmax())

Dönen Değerler

A random integer value between min (or 0) and max (or mt_getrandmax(), inclusive), or false if max is less than min.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | mt_rand() has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines.
7.1.0 | rand() has been made an alias of mt_rand().
7.1.0 | mt_rand() has been updated to use the fixed, correct, version of the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand() with MT_RAND_PHP as the second parameter.

Örnekler

Örnek 1 mt_rand() example

<?php
echo mt_rand(), "\n";
echo mt_rand(), "\n";

echo mt_rand(5, 15), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1604716014
1478613278
6

Notlar

Uyarı

min max range must be within the range mt_getrandmax(). i.e. (max - min) <= mt_getrandmax() Otherwise, mt_rand() may return poorer random numbers than it should.

Ayrıca Bakınız

  • mt_srand() - Seeds the Mersenne Twister Random Number Generator
  • mt_getrandmax() - Show largest possible random value
  • random_int() - Get a cryptographically secure, uniformly selected integer
  • random_bytes() - Get cryptographically secure random bytes


Seeds the Mersenne Twister Random Number Generator

  • « mt_rand
  • rand »
  • PHP Manual
  • Random İşlevleri
  • Seeds the Mersenne Twister Random Number Generator

mt_srand

(PHP 4, PHP 5, PHP 7, PHP 8)

mt_srand — Seeds the Mersenne Twister Random Number Generator

Açıklama

mt_srand(int $seed = 0, int $mode = MT_RAND_MT19937): void

Seeds the random number generator with seed or with a random value if no seed is given.

Bilginize: Otomatik olarak yapıldığından srand() veya mt_srand() işleviyle rasgele sayı üretecini tohumlamaya ihtiyaç yoktur.

Dikkat

Because the Mt19937 ("Mersenne Twister") engine accepts only a single 32 bit integer as the seed, the number of possible random sequences is limited to just 232 (i.e. 4,294,967,296), despite Mt19937's huge period of 219937-1.

When relying on either implicit or explicit random seeding, duplications will appear much earlier. Duplicated seeds are expected with 50% probability after less than 80,000 randomly generated seeds according to the birthday problem. A 10% probability of a duplicated seed happens after randomly generating roughly 30,000 seeds.

This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with more than a negligible probability. If reproducible seeding is required, both the Random\Engine\Xoshiro256StarStar and Random\Engine\PcgOneseq128XslRr64 engines support much larger seeds that are unlikely to collide randomly. If reproducibility is not required, the Random\Engine\Secure engine provides cryptographically secure randomness.

Bağımsız Değişkenler

seed

An arbitrary int seed value.

mode

Use one of the following constants to specify the implementation of the algorithm to use.

  • MT_RAND_MT19937: The correct Mt19937 implementation, available as of PHP 7.1.0.
  • MT_RAND_PHP Uses an incorrect Mersenne Twister implementation which was used as the default up till PHP 7.1.0. This mode is available for backward compatibility.

Uyarı

Bu özelliğin kullanımı PHP 8.3.0 itibariyle ÖNERİLMEMEKTEDİR. Bu özelliğe kesinlikle güvenilmemelidir.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | srand() has been made an alias of mt_srand().
7.1.0 | mt_rand() has been updated to use the fixed, correct, version of the Mersenne Twister algorithm. To fall back to the old behaviour, use mt_srand() with MT_RAND_PHP as the second parameter.

Ayrıca Bakınız

  • mt_rand() - Generate a random value via the Mersenne Twister Random Number Generator
  • mt_getrandmax() - Show largest possible random value
  • srand() - Seed the random number generator


Generate a random integer

  • « mt_srand
  • random_bytes »
  • PHP Manual
  • Random İşlevleri
  • Generate a random integer

rand

(PHP 4, PHP 5, PHP 7, PHP 8)

rand — Generate a random integer

Açıklama

rand(): int
rand(int $min, int $max): int

If called without the optional min, max arguments rand() returns a pseudo-random integer between 0 and getrandmax(). If you want a random number between 5 and 15 (inclusive), for example, use rand(5, 15).

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bilginize: On some platforms (such as Windows), getrandmax() is only 32767. If you require a range larger than 32767, specifying min and max will allow you to create a range larger than this, or consider using mt_rand() instead.

Bilginize: As of PHP 7.1.0, rand() uses the same random number generator as mt_rand(). To preserve backwards compatibility rand() allows max to be smaller than min as opposed to returning false as mt_rand().

Bağımsız Değişkenler

min

The lowest value to return (default: 0)

max

The highest value to return (default: getrandmax())

Dönen Değerler

A pseudo random value between min (or 0) and max (or getrandmax(), inclusive).

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | rand() has received a bug fix for a modulo bias bug. This means that sequences generated with a specific seed may differ from PHP 7.1 on 64-bit machines.
7.1.0 | rand() has been made an alias of mt_rand().

Örnekler

Örnek 1 rand() example

<?php
echo rand(), "\n";
echo rand(), "\n";

echo rand(5, 15), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

7771
22264
11

Notlar

Uyarı

min max range must be within the range getrandmax(). i.e. (max - min) <= getrandmax() Otherwise, rand() may return poor-quality random numbers.

Ayrıca Bakınız

  • srand() - Seed the random number generator
  • getrandmax() - Show largest possible random value
  • mt_rand() - Generate a random value via the Mersenne Twister Random Number Generator
  • random_int() - Get a cryptographically secure, uniformly selected integer
  • random_bytes() - Get cryptographically secure random bytes


Get cryptographically secure random bytes

  • « rand
  • random_int »
  • PHP Manual
  • Random İşlevleri
  • Get cryptographically secure random bytes

random_bytes

(PHP 7, PHP 8)

random_bytes — Get cryptographically secure random bytes

Açıklama

random_bytes(int $length): string

Generates a string containing uniformly selected random bytes with the requested length.

As the returned bytes are selected completely randomly, the resulting string is likely to contain unprintable characters or invalid UTF-8 sequences. It may be necessary to encode it before transmission or display.

The randomness generated by this function is suitable for all applications, including the generation of long-term secrets, such as encryption keys.

Öncelik sırasına göre rastgelelik kaynakları aşağıdaki gibidir:

  • Linux: » getrandom(), /dev/urandom.

  • FreeBSD >= 12 (PHP >= 7.3): » getrandom(), /dev/urandom

  • Windows (PHP >= 7.2): » CNG-API

    Windows: » CryptGenRandom

  • macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22 if CCRandomGenerateBytes is available at compile time): CCRandomGenerateBytes()

    macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom

  • NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • DragonflyBSD (PHP >= 8.1): » getrandom(), /dev/urandom

  • Solaris (PHP >= 8.1): » getrandom(), /dev/urandom

  • Daha önce belirtilmeyen herhangi bir işletim sistemi ve PHP sürümü birleşimi: /dev/urandom
  • Kaynaklardan hiçbiri kullanılabilir değilse veya hiçbiri rasgelelik üretemezse, bir Random\RandomException oluşur.

Bilginize: Bu işlev PHP'ye PHP 7.0'da eklenmiş olsa da, » kullanıcı alanı gerçeklenimi PHP 5.2'den (dahil) 5.6'ya (dahil) kadar kullanılmıştır.

Bağımsız Değişkenler

length

The length of the random string that should be returned in bytes; must be 1 or greater.

Dönen Değerler

A string containing the requested number of cryptographically secure random bytes.

Hatalar/İstisnalar

  • Uygun bir rasgelelik kaynağı bulunamazsa bir Random\RandomException yavrulanır.
  • If the value of length is less than 1, a ValueError will be thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | In case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown.

Örnekler

Örnek 1 random_bytes() example

<?php
$bytes = random_bytes(5);
var_dump(bin2hex($bytes));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(10) "385e33f741"

Ayrıca Bakınız

  • Random\Randomizer::getBytes() - Get random bytes
  • random_int() - Get a cryptographically secure, uniformly selected integer
  • bin2hex() - Bir ikil verinin onaltılık gösterimini elde eder
  • base64_encode() - Veriye MIME base64 kodlaması uygular


Get a cryptographically secure, uniformly selected integer

  • « random_bytes
  • srand »
  • PHP Manual
  • Random İşlevleri
  • Get a cryptographically secure, uniformly selected integer

random_int

(PHP 7, PHP 8)

random_int — Get a cryptographically secure, uniformly selected integer

Açıklama

random_int(int $min, int $max): int

Generates a uniformly selected integer between the given minimum and maximum.

The randomness generated by this function is suitable for all applications, including the generation of long-term secrets, such as encryption keys.

Öncelik sırasına göre rastgelelik kaynakları aşağıdaki gibidir:

  • Linux: » getrandom(), /dev/urandom.

  • FreeBSD >= 12 (PHP >= 7.3): » getrandom(), /dev/urandom

  • Windows (PHP >= 7.2): » CNG-API

    Windows: » CryptGenRandom

  • macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22 if CCRandomGenerateBytes is available at compile time): CCRandomGenerateBytes()

    macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom

  • NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • DragonflyBSD (PHP >= 8.1): » getrandom(), /dev/urandom

  • Solaris (PHP >= 8.1): » getrandom(), /dev/urandom

  • Daha önce belirtilmeyen herhangi bir işletim sistemi ve PHP sürümü birleşimi: /dev/urandom
  • Kaynaklardan hiçbiri kullanılabilir değilse veya hiçbiri rasgelelik üretemezse, bir Random\RandomException oluşur.

Bilginize: Bu işlev PHP'ye PHP 7.0'da eklenmiş olsa da, » kullanıcı alanı gerçeklenimi PHP 5.2'den (dahil) 5.6'ya (dahil) kadar kullanılmıştır.

Bağımsız Değişkenler

min

The lowest value to be returned.

max

The highest value to be returned.

Dönen Değerler

A cryptographically secure, uniformly selected integer from the closed interval [min, max]. Both min and max are possible return values.

Hatalar/İstisnalar

  • Uygun bir rasgelelik kaynağı bulunamazsa bir Random\RandomException yavrulanır.
  • If max is less than min, a ValueError will be thrown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | In case of a CSPRNG failure, this function will now throw a Random\RandomException. Previously a plain Exception was thrown.

Örnekler

Örnek 1 random_int() example

<?php
var_dump(random_int(100, 999));
var_dump(random_int(-1000, 0));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(248)
int(-898)

Ayrıca Bakınız

  • Random\Randomizer::getInt() - Get a uniformly selected integer
  • random_bytes() - Get cryptographically secure random bytes


Seed the random number generator

  • « random_int
  • Random\Randomizer »
  • PHP Manual
  • Random İşlevleri
  • Seed the random number generator

srand

(PHP 4, PHP 5, PHP 7, PHP 8)

srand — Seed the random number generator

Açıklama

srand(int $seed = 0, int $mode = MT_RAND_MT19937): void

Seeds the random number generator with seed or with a random value if seed is 0.

Bilginize: Otomatik olarak yapıldığından srand() veya mt_srand() işleviyle rasgele sayı üretecini tohumlamaya ihtiyaç yoktur.

Dikkat

Because the Mt19937 ("Mersenne Twister") engine accepts only a single 32 bit integer as the seed, the number of possible random sequences is limited to just 232 (i.e. 4,294,967,296), despite Mt19937's huge period of 219937-1.

When relying on either implicit or explicit random seeding, duplications will appear much earlier. Duplicated seeds are expected with 50% probability after less than 80,000 randomly generated seeds according to the birthday problem. A 10% probability of a duplicated seed happens after randomly generating roughly 30,000 seeds.

This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with more than a negligible probability. If reproducible seeding is required, both the Random\Engine\Xoshiro256StarStar and Random\Engine\PcgOneseq128XslRr64 engines support much larger seeds that are unlikely to collide randomly. If reproducibility is not required, the Random\Engine\Secure engine provides cryptographically secure randomness.

Bilginize: As of PHP 7.1.0, srand() has been made an alias of mt_srand().

Bağımsız Değişkenler

seed

An arbitrary int seed value.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | srand() has been made an alias of mt_srand().

Ayrıca Bakınız

  • rand() - Generate a random integer
  • getrandmax() - Show largest possible random value
  • mt_srand() - Seeds the Mersenne Twister Random Number Generator


The Random\Randomizer class

(PHP 8 >= 8.2.0)

Giriş

Provides a high-level API to the randomness provided by an Random\Engine.

Sınıf Sözdizimi

final class Random\Randomizer {
/* Özellikler */
public readonly Random\Engine $engine;
/* Yöntemler */
public __construct(?Random\Engine $engine = null)
public getBytes(int $length): string
public getBytesFromString(string $string, int $length): string
public getFloat(float $min, float $max, Random\IntervalBoundary $boundary = Random\IntervalBoundary::ClosedOpen): float
public getInt(int $min, int $max): int
public nextFloat(): float
public nextInt(): int
public pickArrayKeys(array $array, int $num): array
public __serialize(): array
public shuffleArray(array $array): array
public shuffleBytes(string $bytes): string
public __unserialize(array $data): void
}

Özellikler

engine

The low-level source of randomness for the Random\Randomizer's methods.

İçindekiler

  • Random\Randomizer::__construct — Constructs a new Randomizer
  • Random\Randomizer::getBytes — Get random bytes
  • Random\Randomizer::getBytesFromString — Get random bytes from a source string
  • Random\Randomizer::getFloat — Get a uniformly selected float
  • Random\Randomizer::getInt — Get a uniformly selected integer
  • Random\Randomizer::nextFloat — Get a float from the right-open interval [0.0, 1.0)
  • Random\Randomizer::nextInt — Get a positive integer
  • Random\Randomizer::pickArrayKeys — Select random array keys
  • Random\Randomizer::__serialize — Serializes the Randomizer object
  • Random\Randomizer::shuffleArray — Get a permutation of an array
  • Random\Randomizer::shuffleBytes — Get a byte-wise permutation of a string
  • Random\Randomizer::__unserialize — Deserializes the data parameter into a Randomizer object


Constructs a new Randomizer

  • « Random\Randomizer
  • Random\Randomizer::getBytes »
  • PHP Manual
  • Random\Randomizer
  • Constructs a new Randomizer

Random\Randomizer::__construct

(PHP 8 >= 8.2.0)

Random\Randomizer::__construct — Constructs a new Randomizer

Açıklama

public Random\Randomizer::__construct(?Random\Engine $engine = null)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

engine

The Random\Engine to use to generate randomness.

If engine is omitted or null, a new Random\Engine\Secure object will be used.

Örnekler

Örnek 1 Random\Randomizer::__construct() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Get random bytes

  • « Random\Randomizer::__construct
  • Random\Randomizer::getBytesFromString »
  • PHP Manual
  • Random\Randomizer
  • Get random bytes

Random\Randomizer::getBytes

(PHP 8 >= 8.2.0)

Random\Randomizer::getBytes — Get random bytes

Açıklama

public Random\Randomizer::getBytes(int $length): string

Generates a string containing uniformly selected random bytes with the requested length.

As the returned bytes are selected completely randomly, the resulting string is likely to contain unprintable characters or invalid UTF-8 sequences. It may be necessary to encode it before transmission or display.

Bağımsız Değişkenler

length

The length of the random string that should be returned in bytes; must be 1 or greater.

Dönen Değerler

A string containing the requested number of random bytes.

Hatalar/İstisnalar

  • If the value of length is less than 1, a ValueError will be thrown.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::getBytes() example

<?php
$r = new \Random\Randomizer();

echo bin2hex($r->getBytes(8)), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

ebdbe93cd56682c2

Ayrıca Bakınız

  • random_bytes() - Get cryptographically secure random bytes
  • bin2hex() - Bir ikil verinin onaltılık gösterimini elde eder
  • base64_encode() - Veriye MIME base64 kodlaması uygular
  • Random\Randomizer::getBytesFromString() - Get random bytes from a source string


Get random bytes from a source string

  • « Random\Randomizer::getBytes
  • Random\Randomizer::getFloat »
  • PHP Manual
  • Random\Randomizer
  • Get random bytes from a source string

Random\Randomizer::getBytesFromString

(PHP 8 >= 8.3.0)

Random\Randomizer::getBytesFromString — Get random bytes from a source string

Açıklama

public Random\Randomizer::getBytesFromString(string $string, int $length): string

Generates a string containing uniformly selected random bytes from the input string with the requested length.

The chance for a byte to be selected is proportional to its share of the input string. If each byte occurs the same amount of times, each byte is equally likely to be selected.

Bağımsız Değişkenler

string

The string from which the returned bytes are selected.

length

The length of the random string that should be returned in bytes; must be 1 or greater.

Dönen Değerler

A string containing the requested number of random bytes taken from the input string.

Hatalar/İstisnalar

  • If string is empty, a ValueError will be thrown.
  • If the value of length is less than 1, a ValueError will be thrown.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::getBytesFromString() example

<?php
$randomizer = new \Random\Randomizer();

printf(
"%s.example.com",
$randomizer->getBytesFromString('abcdefghijklmnopqrstuvwxyz0123456789', 16)
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

3zsw04eiubcf82jd.example.com

Örnek 2 Generate a random code for multi-factor authentication

<?php
// The Secure engine is the default, but we make it explicit, because
// multi-factor codes are security sensitive.
$randomizer = new \Random\Randomizer(new \Random\Engine\Secure());

echo implode('-', str_split($randomizer->getBytesFromString('0123456789', 20), 5));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

11551-80418-27047-42075

Örnek 3 Select from a string with a non-uniform distribution

<?php
$randomizer = new \Random\Randomizer();

echo $randomizer->getBytesFromString('aaaaabcdef', 20);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

fddacbeaaeaaacaaaaca

Ayrıca Bakınız

  • Random\Randomizer::getBytes() - Get random bytes


Get a uniformly selected float

  • « Random\Randomizer::getBytesFromString
  • Random\Randomizer::getInt »
  • PHP Manual
  • Random\Randomizer
  • Get a uniformly selected float

Random\Randomizer::getFloat

(PHP 8 >= 8.3.0)

Random\Randomizer::getFloat — Get a uniformly selected float

Açıklama

public Random\Randomizer::getFloat(float $min, float $max, Random\IntervalBoundary $boundary = Random\IntervalBoundary::ClosedOpen): float

Returns a uniformly selected, equidistributed float from a requested interval.

Due to the limited precision, not all real numbers can be exactly represented as a floating point number. If a number cannot be represented exactly, it is rounded to the nearest representable exact value. Furthermore, floats are not equally dense across the whole number line. Because floats use a binary exponent, the distance between two neighboring floats doubles at each power of two. In other words: There are the same number of representable floats between 1.0 and 2.0 as they are between 2.0 and 4.0, 4.0 and 8.0, 8.0 and 16.0, and so on.

Randomly sampling an arbitrary number within the requested interval, for example by dividing two integers, might result in a biased distribution for this reason. The necessary rounding will cause some floats to be returned more often than others, especially around powers of two when the density of floats changes.

Random\Randomizer::getFloat() implements an algorithm that will return a uniformly selected float from the largest possible set of exactly representable and equidistributed floats within the requested interval. The distance between the selectable floats ("step size") matches the distance between the floats with the lowest density, i.e. the distance between floats at interval boundary with the larger absolute value. This means that not all representable floats within a given interval may be returned if the interval crosses one or more powers of two. Stepping will start from the interval boundary with the larger absolute value to ensure the steps align with the exactly representable floats.

Closed interval boundaries will always be included in the set of selectable floats. Thus, if the size of the interval is not an exact multiple of the step size and the boundary with the smaller absolute value is a closed boundary, the distance between that boundary and its nearest selectable float will be smaller than the step size.

Dikkat

Post-processing the returned floats is likely going to break the uniform equidistribution, because the intermediate floats within a mathematical operation are experiencing implicit rounding. The requested interval should match the desired interval as closely as possible and rounding should only be performed as an explicit operation right before displaying the selected number to a user.

Explanation of the Algorithm Using Example Values

To give an example of how the algorithm works, consider a floating point representation that uses a 3-bit mantissa. This representation is capable of representing 8 different floating point values between consecutive powers of two. This means that between 1.0 and 2.0 all steps of size 0.125 are exactly representable and between 2.0 and 4.0 all steps of size 0.25 are exactly representable. In reality PHP's floats use a 52-bit mantissa and can represent 252 different values between each power of two. This means that

  • 1.0
  • 1.125
  • 1.25
  • 1.375
  • 1.5
  • 1.625
  • 1.75
  • 1.875
  • 2.0
  • 2.25
  • 2.5
  • 2.75
  • 3.0
  • 3.25
  • 3.5
  • 3.75
  • 4.0
are the exactly representable floats between 1.0 and 4.0.

Now consider that $randomizer->getFloat(1.625, 2.5, IntervalBoundary::ClosedOpen) is called, i.e. a random float starting at 1.625 until, but not including, 2.5 is requested. The algorithm first determines the step size at the boundary with the larger absolute value (2.5). The step size at that boundary is 0.25.

Note that the size of the requested interval is 0.875, which is not an exact multiple of 0.25. If the algorithm would start stepping at the lower bound 1.625, it would encounter 2.125, which is not exactly representable and would experience implicit rounding. Thus the algorithm starts stepping at the upper boundary 2.5. The selectable values are:

  • 2.25
  • 2.0
  • 1.75
  • 1.625
2.5 is not included, because the upper boundary of the requested interval is an open boundary. 1.625 is included, even though its distance to the nearest value 1.75 is 0.125, which is smaller than the previously determined step size of 0.25. The reason for that is that the requested interval is closed at the lower boundary (1.625) and closed boundaries are always included.

Finally the algorithm uniformly selects one of the four selectable values at random and returns it.

Why Dividing Two Integers Does Not Work

In the previous example, there are eight representable floating point numbers between each sub-interval delimited by a power of two. To give an example why dividing two integers would not work well to generate a random float, consider that there are 16 equidistributed floating point numbers in the right-open interval from 0.0 until, but not including, 1.0. Half of them are the eight exactly representable values between 0.5 and 1.0, the other half are the values between 0.0 and 1.0 that the step size of 0.0625. These can easily be generated by dividing a random integer between 0 and 15 by 16 to obtain one of:

  • 0.0
  • 0.0625
  • 0.125
  • 0.1875
  • 0.25
  • 0.3125
  • 0.375
  • 0.4375
  • 0.5
  • 0.5625
  • 0.625
  • 0.6875
  • 0.75
  • 0.8125
  • 0.875
  • 0.9375

This random float could be scaled to right-open interval from 1.625 until, but not including, 2.75 by multiplying it with the size of the interval (0.875) and adding the minimum 1.625. This so-called affine transformation would result in the values:

  • 1.625 rounded to 1.625
  • 1.679 rounded to 1.625
  • 1.734 rounded to 1.75
  • 1.789 rounded to 1.75
  • 1.843 rounded to 1.875
  • 1.898 rounded to 1.875
  • 1.953 rounded to 2.0
  • 2.007 rounded to 2.0
  • 2.062 rounded to 2.0
  • 2.117 rounded to 2.0
  • 2.171 rounded to 2.25
  • 2.226 rounded to 2.25
  • 2.281 rounded to 2.25
  • 2.335 rounded to 2.25
  • 2.390 rounded to 2.5
  • 2.445 rounded to 2.5
Note how the upper boundary of 2.5 would be returned, despite being an open boundary and thus being excluded. Also note how 2.0 and 2.25 are twice as likely to be returned compared to the other values.

Bağımsız Değişkenler

min

The lower bound of the interval.

max

The upper bound of the interval.

boundary

Specifies whether the interval boundaries are possible return values.

Dönen Değerler

A uniformly selected, equidistributed float from the interval specified by min, max, and boundary. Whether min and max are possible return values depends on the value of boundary.

Hatalar/İstisnalar

  • If the value of min is not finite (is_finite()), a ValueError will be thrown.
  • If the value of max is not finite (is_finite()), a ValueError will be thrown.
  • If the requested interval does not contain any values, a ValueError will be thrown.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::getFloat() example

<?php
$randomizer = new \Random\Randomizer();

// Note that the latitude granularity is double the
// longitude's granularity.
//
// For the latitude the value may be both -90 and 90.
// For the longitude the value may be 180, but not -180, because
// -180 and 180 refer to the same longitude.
printf(
"Lat: %+.6f Lng: %+.6f",
$randomizer->getFloat(-90, 90, \Random\IntervalBoundary::ClosedClosed),
$randomizer->getFloat(-180, 180, \Random\IntervalBoundary::OpenClosed),
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Lat: +69.244304 Lng: -53.548951

Notlar

Bilginize:

This method implements the ?-section algorithm as published in » Drawing Random Floating-Point Numbers from an Interval. Frédéric Goualard, ACM Trans. Model. Comput. Simul., 32:3, 2022 to obtain the desired behavioral properties.

Ayrıca Bakınız

  • Random\Randomizer::nextFloat() - Get a float from the right-open interval [0.0, 1.0)
  • Random\Randomizer::getInt() - Get a uniformly selected integer


Get a uniformly selected integer

  • « Random\Randomizer::getFloat
  • Random\Randomizer::nextFloat »
  • PHP Manual
  • Random\Randomizer
  • Get a uniformly selected integer

Random\Randomizer::getInt

(PHP 8 >= 8.2.0)

Random\Randomizer::getInt — Get a uniformly selected integer

Açıklama

public Random\Randomizer::getInt(int $min, int $max): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

min

The lowest value to be returned.

max

The highest value to be returned.

Dönen Değerler

A uniformly selected integer from the closed interval [min, max]. Both min and max are possible return values.

Hatalar/İstisnalar

  • If max is less than min, a ValueError will be thrown.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::getInt() example

<?php
$r = new \Random\Randomizer();

// Random integer in range:
echo $r->getInt(1, 100), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

42

Ayrıca Bakınız

  • random_int() - Get a cryptographically secure, uniformly selected integer
  • Random\Randomizer::getFloat() - Get a uniformly selected float


Get a float from the right-open interval [0.0, 1.0)

  • « Random\Randomizer::getInt
  • Random\Randomizer::nextInt »
  • PHP Manual
  • Random\Randomizer
  • Get a float from the right-open interval [0.0, 1.0)

Random\Randomizer::nextFloat

(PHP 8 >= 8.3.0)

Random\Randomizer::nextFloat — Get a float from the right-open interval [0.0, 1.0)

Açıklama

public Random\Randomizer::nextFloat(): float

Returns a uniformly selected, equidistributed float from the right-open interval from 0.0 until, but not including, 1.0.

The chance for returned float to be within a given right-open sub-interval is proportial to the size of the sub-interval. This means that the chance for a float to be less than 0.5 is 50 %, which is equal to the chance for a float to be at least 0.5. Likewise the chance for a float to be within the right-open interval from 0.2 until, but not including, 0.25 is exactly 5 %.

This property makes it easy to leverage Random\Randomizer::nextFloat() to generate a random boolean with a given chance by checking if the returned float is less than a given chance.

Bilginize:

The domain of the returnable floats of Random\Randomizer::nextFloat() is identical to that of Randomizer::getFloat(0.0, 1.0, IntervalBoundary::ClosedOpen).

The internal implementation of Random\Randomizer::nextFloat() is more efficient.

Dikkat

Scaling the return value to a different interval using multiplication or addition (a so-called affine transformation) might result in a bias in the resulting value as floats are not equally dense across the number line. As not all values can be exactly represented by a float, the result of the affine transformation might also result in values outside of the requested interval due to implicit rounding. An in-depth explanation of the problems with the affine transformation is given in the documentation for Random\Randomizer::getFloat().

Use Random\Randomizer::getFloat() to generate a random float within an arbitrary interval. Use Random\Randomizer::getInt() to generate a random integer within an arbitrary interval.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A uniformly selected, equidistributed float from the right-open (IntervalBoundary::ClosedOpen) interval [0.0, 1.0). 0.0 is a possible return value, 1.0 is not.

Hatalar/İstisnalar

  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::nextFloat() example

<?php
$r = new \Random\Randomizer();

// The resulting bool will be true with the given chance.
$chance = 0.5;

$bool = $r->nextFloat() < $chance;

echo ($bool ? "You won" : "You lost"), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

You won

Örnek 2 Incorrect scaling using an affine transformation

<?php
final class MaxEngine implements Random\Engine {
public function generate(): string {
return "\xff";
}
}

$randomizer = new \Random\Randomizer(new MaxEngine);

$min = 3.5;
$max = 4.5;

// DO NOT DO THIS:
//
// This will output 4.5, despite nextFloat() sampling from
// a right-open interval, which will never return 1.
printf("Wrong scaling: %.17g", $randomizer->nextFloat() * ($max - $min) + $min);

// Correct:
// $randomizer->getFloat($min, $max, \Random\IntervalBoundary::ClosedOpen);
?>

Yukarıdaki örneğin çıktısı:

Wrong scaling: 4.5

Ayrıca Bakınız

  • Random\Randomizer::getFloat() - Get a uniformly selected float


Get a positive integer

  • « Random\Randomizer::nextFloat
  • Random\Randomizer::pickArrayKeys »
  • PHP Manual
  • Random\Randomizer
  • Get a positive integer

Random\Randomizer::nextInt

(PHP 8 >= 8.2.0)

Random\Randomizer::nextInt — Get a positive integer

Açıklama

public Random\Randomizer::nextInt(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A positive integer between 0 and a maximum value depending on the number of bytes returned from Random\Engine::generate(). The exact maximum can be calculated as 2$engine_bytes * 8 - 1 - 1.

Hatalar/İstisnalar

  • To avoid inconsistencies, 32 bit PHP will throw Random\RandomException if the output size of Random\Engine::generate() exceeds 32 bits, as the selected integer cannot be returned losslessly. This affects the native 64 bit engines Random\Engine\PcgOneseq128XslRr64 and Random\Engine\Xoshiro256StarStar. Any userland engine returning more than 4 bytes of randomness is also affected.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::nextInt() example

<?php
$r = new \Random\Randomizer();

// Random "next" integer:
echo $r->nextInt(), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

8041689838856078718


Select random array keys

  • « Random\Randomizer::nextInt
  • Random\Randomizer::__serialize »
  • PHP Manual
  • Random\Randomizer
  • Select random array keys

Random\Randomizer::pickArrayKeys

(PHP 8 >= 8.2.0)

Random\Randomizer::pickArrayKeys — Select random array keys

Açıklama

public Random\Randomizer::pickArrayKeys(array $array, int $num): array

Uniformly selects num distinct array keys of the input array.

Each key of the input array is equally likely to be returned.

Dikkat

The selection of the array keys depends on the internal structure of the input array. The returned array keys might be different for two equal input arrays and two Random\Engines with identical state, depending on how the input arrays have been created.

Bağımsız Değişkenler

array

The array whose array keys are selected.

num

The number of array keys to return; must be between 1 and the number of elements in array.

Dönen Değerler

An array containing num distinct array keys of array.

The returned array will be a list (array_is_list()). It will be a subset of the array returned by array_keys().

Hatalar/İstisnalar

  • If num is less than 1 or greater than the number of elements in array, a ValueError will be thrown.
  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::pickArrayKeys() example

<?php
$r = new \Random\Randomizer();

$fruits = [ 'red' => '??', 'green' => '??', 'yellow' => '??', 'pink' => '??', 'purple' => '??' ];

// Pick 2 random array keys:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 2)), "\n";

// Pick another 3:
echo "Keys: ", implode(', ', $r->pickArrayKeys($fruits, 3)), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Keys: yellow, purple
Keys: red, green, yellow

Örnek 2 Picking random values

<?php
$r = new \Random\Randomizer();

$fruits = [ 'red' => '??', 'green' => '??', 'yellow' => '??', 'pink' => '??', 'purple' => '??' ];

$keys = $r->pickArrayKeys($fruits, 2);
// Look up the values for the picked keys.
$selection = array_map(
static fn ($key) => $fruits[$key],
$keys
);

echo "Values: ", implode(', ', $selection), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Values: ??, ??

Ayrıca Bakınız

  • array_keys() - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür


Serializes the Randomizer object

  • « Random\Randomizer::pickArrayKeys
  • Random\Randomizer::shuffleArray »
  • PHP Manual
  • Random\Randomizer
  • Serializes the Randomizer object

Random\Randomizer::__serialize

(PHP 8 >= 8.2.0)

Random\Randomizer::__serialize — Serializes the Randomizer object

Açıklama

public Random\Randomizer::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Randomizer::__serialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Get a permutation of an array

  • « Random\Randomizer::__serialize
  • Random\Randomizer::shuffleBytes »
  • PHP Manual
  • Random\Randomizer
  • Get a permutation of an array

Random\Randomizer::shuffleArray

(PHP 8 >= 8.2.0)

Random\Randomizer::shuffleArray — Get a permutation of an array

Açıklama

public Random\Randomizer::shuffleArray(array $array): array

Returns a uniformly selected permutation of the input array.

Each possible permutation of the input array is equally likely to be returned.

Bağımsız Değişkenler

array

The array whose values are shuffled.

The input array will not be modified.

Dönen Değerler

A permutation of the values of array.

Array keys of the input array will not be preserved; the returned array will be a list (array_is_list()).

Hatalar/İstisnalar

  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::shuffleArray() example

<?php
$r = new \Random\Randomizer();

$fruits = [ 'red' => '??', 'green' => '??', 'yellow' => '??', 'pink' => '??', 'purple' => '??' ];

// Shuffle array:
echo "Salad: ", implode(', ', $r->shuffleArray($fruits)), "\n";

// Shuffle again:
echo "Another Salad: ", implode(', ', $r->shuffleArray($fruits)), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Salad: ??, ??, ??, ??, ??
Another Salad: ??, ??, ??, ??, ??


Get a byte-wise permutation of a string

  • « Random\Randomizer::shuffleArray
  • Random\Randomizer::__unserialize »
  • PHP Manual
  • Random\Randomizer
  • Get a byte-wise permutation of a string

Random\Randomizer::shuffleBytes

(PHP 8 >= 8.2.0)

Random\Randomizer::shuffleBytes — Get a byte-wise permutation of a string

Açıklama

public Random\Randomizer::shuffleBytes(string $bytes): string

Returns a uniformly selected permutation of the input bytes.

Each possible permutation of the input bytes is equally likely to be returned.

Bağımsız Değişkenler

bytes

The string whose bytes are shuffled.

The input string will not be modified.

Dönen Değerler

A permutation of the bytes of bytes.

Hatalar/İstisnalar

  • İlgili Random\Randomizer::$engine motorunun Random\Engine::generate() yöntemi tarafından yavrulanan Throwable nesneleri.

Örnekler

Örnek 1 Random\Randomizer::shuffleBytes() example

<?php
$r = new \Random\Randomizer();

// Shuffle bytes in a string:
echo "«", $r->shuffleBytes("PHP is great!"), "»\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

« ga rHs!PPiet»

Örnek 2 Byte-wise shuffling breaks Unicode characters

<?php
$r = new \Random\Randomizer();

$unicode = "??, ??, ??, ??, ??";
$shuffled = $r->shuffleBytes( $unicode );

// Byte-wise shuffling of non-ASCII characters destroys them,
// resulting in invalid sequences (indicated by the Unicode
// replacement character) or even entirely different characters
// appearing in the output.
echo "Original: ", $unicode, "\n";
echo "Shuffled: «", $shuffled, "»\n";
echo "Shuffled Bytes: ", bin2hex($shuffled), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Original: ??, ??, ??, ??, ??
Shuffled: «? ??,???????,? ?? ?, ?,??»
Shuffled Bytes: 87208e912c8d9fa5f0f0f09f8d9f2cf09f208c9d20f02c209f2c8d8d


Deserializes the data parameter into a Randomizer object

  • « Random\Randomizer::shuffleBytes
  • Random\Engine »
  • PHP Manual
  • Random\Randomizer
  • Deserializes the data parameter into a Randomizer object

Random\Randomizer::__unserialize

(PHP 8 >= 8.2.0)

Random\Randomizer::__unserialize — Deserializes the data parameter into a Randomizer object

Açıklama

public Random\Randomizer::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Randomizer::__unserialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The Random\Engine interface

(PHP 8 >= 8.2.0)

Giriş

A Random\Engine provides a low-level source of randomness by returning random bytes that are consumed by high-level APIs to perform their operations. The Random\Engine interface allows swapping out the algorithm used to generate randomness, because each algorithm makes different tradeoffs to fit specific use-cases. Some algorithms are very fast, but generate lower-quality randomness, whereas other algorithms are slower, but generate better randomness, up to cryptographically secure randomness as provided by the Random\Engine\Secure engine.

PHP provides several Random\Engines out of the box to accomodate different use-cases. The Random\Engine\Secure engine that is backed by a CSPRNG is the recommended safe default choice, unless the application requires either reproducible sequences or very high performance.

Arayüz Sözdizimi

interface Random\Engine {
/* Yöntemler */
public generate(): string
}

İçindekiler

  • Random\Engine::generate — Generates randomness


Generates randomness

  • « Random\Engine
  • Random\CryptoSafeEngine »
  • PHP Manual
  • Random\Engine
  • Generates randomness

Random\Engine::generate

(PHP 8 >= 8.2.0)

Random\Engine::generate — Generates randomness

Açıklama

public Random\Engine::generate(): string

Returns randomness and advances the algorithm's state by one step.

The randomness is represented by a binary string containing random bytes. This representation allows to unambiguously interpret the random bits generated by the algorithm, for example to accomodate different output sizes used by different algorithms.

Algorithms that natively operate on integer values should return the integer in little-endian byte order, for example by leveraging the pack() function with the P format code. The high-level interface provided by the Random\Randomizer will interpret the returned random bytes as unsigned little-endian integers if a numeric representation is required.

It is strongly recommended that each bit of the returned string is uniformly and independently selected, as some applications require randomness based on the bit-level to work correctly. For example linear congruential generators often generate lower-quality randomness for the less significant bits of the return integer value and thus would not be appropriate for applications that require bit-level randomness.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A non-empty string containing random bytes.

Bilginize: The Random\Randomizer works with unsigned 64 bit integers internally. If the returned string contains more than 64 bit (8 byte) of randomness the exceeding bytes will be ignored. Other applications may be able to process more than 64 bit at once.

Hatalar/İstisnalar

  • If generating randomness fails, a Random\RandomException should be thrown. Any other Exception thrown during generation should be caught and wrapped into a Random\RandomException.
  • If the returned string is empty, a Random\BrokenRandomEngineError will be thrown by the Random\Randomizer.
  • If the implemented algorithm is severely biased, a Random\BrokenRandomEngineError may be thrown by the Random\Randomizer to prevent infinite loops if rejection sampling is required to return unbiased results.

Örnekler

Örnek 1 Random\Engine::generate() example

<?php
/**
* Implements a Linear Congruential Generator with modulus 65536,
* multiplier 61 and increment 17 returning an 8 Bit integer.
*
* Note: This engine is suitable for demonstration purposes only.
* Linear Congruential Generators generally generate low
* quality randomness and this specific implementation has
* a very short 16 Bit period that is unsuitable for
* almost any real-world use case.
*/
final class LinearCongruentialGenerator implements \Random\Engine
{
private int $state;

public function __construct(?int $seed = null)
{
if ($seed === null) {
$seed = random_int(0, 0xffff);
}

$this->state = $seed & 0xffff;
}

public function generate(): string
{
$this->state = (61 * $this->state + 17) & 0xffff;

return pack('C', $this->state >> 8);
}
}

$r = new \Random\Randomizer(
new LinearCongruentialGenerator(seed: 1)
);

echo "Lucky Number: ", $r->getInt(0, 99), "\n";
?>

Yukarıdaki örneğin çıktısı:

Lucky Number: 4


The Random\CryptoSafeEngine interface

(PHP 8 >= 8.2.0)

Giriş

A marker interface indicating that the Random\Engine returns cryptographically secure randomness.

Arayüz Sözdizimi

interface Random\CryptoSafeEngine extends Random\Engine {
/* Miras alınan yöntemler */
public Random\Engine::generate(): string
}


The Random\Engine\Secure class

(PHP 8 >= 8.2.0)

Giriş

Generates cryptographically secure randomness using the operating system's CSPRNG.

The randomness generated by this Random\Engine is suitable for all applications, including the generation of long-term secrets, such as encryption keys.

The Random\Engine\Secure engine is the recommended safe default choice, unless the application requires either reproducible sequences or very high performance.

Sınıf Sözdizimi

final class Random\Engine\Secure implements Random\CryptoSafeEngine {
/* Yöntemler */
public generate(): string
}

İçindekiler

  • Random\Engine\Secure::generate — Generate cryptographically secure randomness


Generate cryptographically secure randomness

  • « Random\Engine\Secure
  • Random\Engine\Mt19937 »
  • PHP Manual
  • Random\Engine\Secure
  • Generate cryptographically secure randomness

Random\Engine\Secure::generate

(PHP 8 >= 8.2.0)

Random\Engine\Secure::generate — Generate cryptographically secure randomness

Açıklama

public Random\Engine\Secure::generate(): string

Returns cryptographically secure randomness.

Öncelik sırasına göre rastgelelik kaynakları aşağıdaki gibidir:

  • Linux: » getrandom(), /dev/urandom.

  • FreeBSD >= 12 (PHP >= 7.3): » getrandom(), /dev/urandom

  • Windows (PHP >= 7.2): » CNG-API

    Windows: » CryptGenRandom

  • macOS (PHP >= 8.2; >= 8.1.9; >= 8.0.22 if CCRandomGenerateBytes is available at compile time): CCRandomGenerateBytes()

    macOS (PHP >= 8.1; >= 8.0.2): arc4random_buf(), /dev/urandom

  • NetBSD >= 7 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • OpenBSD >= 5.5 (PHP >= 7.1; >= 7.0.1): arc4random_buf(), /dev/urandom

  • DragonflyBSD (PHP >= 8.1): » getrandom(), /dev/urandom

  • Solaris (PHP >= 8.1): » getrandom(), /dev/urandom

  • Daha önce belirtilmeyen herhangi bir işletim sistemi ve PHP sürümü birleşimi: /dev/urandom
  • Kaynaklardan hiçbiri kullanılabilir değilse veya hiçbiri rasgelelik üretemezse, bir Random\RandomException oluşur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string containing PHP_INT_SIZE cryptographically secure random bytes.

Hatalar/İstisnalar

  • Uygun bir rasgelelik kaynağı bulunamazsa bir Random\RandomException yavrulanır.


The Random\Engine\Mt19937 class

(PHP 8 >= 8.2.0)

Giriş

Implements the » Mt19937 ("Mersenne Twister") algorithm.

Sınıf Sözdizimi

final class Random\Engine\Mt19937 implements Random\Engine {
/* Yöntemler */
public __construct(?int $seed = null, int $mode = MT_RAND_MT19937)
public __debugInfo(): array
public generate(): string
public __serialize(): array
public __unserialize(array $data): void
}

İçindekiler

  • Random\Engine\Mt19937::__construct — Constructs a new Mt19937 engine
  • Random\Engine\Mt19937::__debugInfo — Returns the internal state of the engine
  • Random\Engine\Mt19937::generate — Generate 32 bits of randomness
  • Random\Engine\Mt19937::__serialize — Serializes the Mt19937 object
  • Random\Engine\Mt19937::__unserialize — Deserializes the data parameter into a Mt19937 object


Constructs a new Mt19937 engine

  • « Random\Engine\Mt19937
  • Random\Engine\Mt19937::__debugInfo »
  • PHP Manual
  • Random\Engine\Mt19937
  • Constructs a new Mt19937 engine

Random\Engine\Mt19937::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::__construct — Constructs a new Mt19937 engine

Açıklama

public Random\Engine\Mt19937::__construct(?int $seed = null, int $mode = MT_RAND_MT19937)

Dikkat

Because the Mt19937 ("Mersenne Twister") engine accepts only a single 32 bit integer as the seed, the number of possible random sequences is limited to just 232 (i.e. 4,294,967,296), despite Mt19937's huge period of 219937-1.

When relying on either implicit or explicit random seeding, duplications will appear much earlier. Duplicated seeds are expected with 50% probability after less than 80,000 randomly generated seeds according to the birthday problem. A 10% probability of a duplicated seed happens after randomly generating roughly 30,000 seeds.

This makes Mt19937 unsuitable for applications where duplicated sequences must not happen with more than a negligible probability. If reproducible seeding is required, both the Random\Engine\Xoshiro256StarStar and Random\Engine\PcgOneseq128XslRr64 engines support much larger seeds that are unlikely to collide randomly. If reproducibility is not required, the Random\Engine\Secure engine provides cryptographically secure randomness.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

seed

Fills the state with values generated with a linear congruential generator that was seeded with seed interpreted as an unsigned 32 bit integer.

If seed is omitted or null, a random unsigned 32 bit integer will be used.

mode

Use one of the following constants to specify the implementation of the algorithm to use.

  • MT_RAND_MT19937: The correct Mt19937 implementation.
  • MT_RAND_PHP: An incorrect implementation for backwards compatibility with mt_srand() prior to PHP 7.1.0.

Uyarı

Bu özelliğin kullanımı PHP 8.3.0 itibariyle ÖNERİLMEMEKTEDİR. Bu özelliğe kesinlikle güvenilmemelidir.

Örnekler

Örnek 1 Random\Engine\Mt19937::__construct() example

<?php
// Uses a random 32 Bit seed.
$e = new \Random\Engine\Mt19937();

$r = new \Random\Randomizer($e);
?>


Returns the internal state of the engine

  • « Random\Engine\Mt19937::__construct
  • Random\Engine\Mt19937::generate »
  • PHP Manual
  • Random\Engine\Mt19937
  • Returns the internal state of the engine

Random\Engine\Mt19937::__debugInfo

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::__debugInfo — Returns the internal state of the engine

Açıklama

public Random\Engine\Mt19937::__debugInfo(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\Mt19937::__debugInfo() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Generate 32 bits of randomness

  • « Random\Engine\Mt19937::__debugInfo
  • Random\Engine\Mt19937::__serialize »
  • PHP Manual
  • Random\Engine\Mt19937
  • Generate 32 bits of randomness

Random\Engine\Mt19937::generate

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::generate — Generate 32 bits of randomness

Açıklama

public Random\Engine\Mt19937::generate(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representing an unsigned 32 bit integer in little-endian order.


Serializes the Mt19937 object

  • « Random\Engine\Mt19937::generate
  • Random\Engine\Mt19937::__unserialize »
  • PHP Manual
  • Random\Engine\Mt19937
  • Serializes the Mt19937 object

Random\Engine\Mt19937::__serialize

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::__serialize — Serializes the Mt19937 object

Açıklama

public Random\Engine\Mt19937::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\Mt19937::__serialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Deserializes the data parameter into a Mt19937 object

  • « Random\Engine\Mt19937::__serialize
  • Random\Engine\PcgOneseq128XslRr64 »
  • PHP Manual
  • Random\Engine\Mt19937
  • Deserializes the data parameter into a Mt19937 object

Random\Engine\Mt19937::__unserialize

(PHP 8 >= 8.2.0)

Random\Engine\Mt19937::__unserialize — Deserializes the data parameter into a Mt19937 object

Açıklama

public Random\Engine\Mt19937::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Engine\Mt19937::__unserialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The Random\Engine\PcgOneseq128XslRr64 class

(PHP 8 >= 8.2.0)

Giriş

Implements a » Permuted congruential generator (PCG) with 128 bits of state, XSL and RR output transformations, and 64 bits of output.

Sınıf Sözdizimi

final class Random\Engine\PcgOneseq128XslRr64 implements Random\Engine {
/* Yöntemler */
public __construct(string|int|null $seed = null)
public __debugInfo(): array
public generate(): string
public jump(int $advance): void
public __serialize(): array
public __unserialize(array $data): void
}

İçindekiler

  • Random\Engine\PcgOneseq128XslRr64::__construct — Constructs a new PCG Oneseq 128 XSL RR 64 engine
  • Random\Engine\PcgOneseq128XslRr64::__debugInfo — Returns the internal state of the engine
  • Random\Engine\PcgOneseq128XslRr64::generate — Generate 64 bits of randomness
  • Random\Engine\PcgOneseq128XslRr64::jump — Efficiently move the engine ahead multiple steps
  • Random\Engine\PcgOneseq128XslRr64::__serialize — Serializes the PcgOneseq128XslRr64 object
  • Random\Engine\PcgOneseq128XslRr64::__unserialize — Deserializes the data parameter into a PcgOneseq128XslRr64 object


Constructs a new PCG Oneseq 128 XSL RR 64 engine

  • « Random\Engine\PcgOneseq128XslRr64
  • Random\Engine\PcgOneseq128XslRr64::__debugInfo »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Constructs a new PCG Oneseq 128 XSL RR 64 engine

Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__construct — Constructs a new PCG Oneseq 128 XSL RR 64 engine

Açıklama

public Random\Engine\PcgOneseq128XslRr64::__construct(string|int|null $seed = null)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

seed

How the internal 128 bit (16 byte) state consisting of one unsigned 128 bit integer is seeded depends on the type used as the seed.

Type | Açıklama
null | Fills the state with 16 random bytes generated using the CSPRNG.
int | Fills the state by setting the state to 0, advancing the engine one step, adding the value of seed interpreted as an unsigned 64 bit integer, and advancing the engine another step.
string | Fills the state by interpreting a 16 byte string as a little-endian unsigned 128 bit integer.

Hatalar/İstisnalar

  • If the length of a string seed is not 16 bytes, a ValueError will be thrown.

Örnekler

Örnek 1 Random\Engine\PcgOneseq128XslRr64::__construct() example

<?php
// Uses a random 128 Bit seed.
$e = new \Random\Engine\PcgOneseq128XslRr64();

$r = new \Random\Randomizer($e);
?>

Örnek 2 Deriving a seed from a string

<?php
$string = "My string seed";

// Hash the string with truncated SHA-256 using binary output
// to turn the $string into a 128 Bit seed. Using the same
// string will result in the same sequence of randomness.
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);

echo bin2hex($e->generate()), "\n";
?>

Yukarıdaki örneğin çıktısı:

8333ef59315b16d8


Returns the internal state of the engine

  • « Random\Engine\PcgOneseq128XslRr64::__construct
  • Random\Engine\PcgOneseq128XslRr64::generate »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Returns the internal state of the engine

Random\Engine\PcgOneseq128XslRr64::__debugInfo

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__debugInfo — Returns the internal state of the engine

Açıklama

public Random\Engine\PcgOneseq128XslRr64::__debugInfo(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\PcgOneseq128XslRr64::__debugInfo() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Generate 64 bits of randomness

  • « Random\Engine\PcgOneseq128XslRr64::__debugInfo
  • Random\Engine\PcgOneseq128XslRr64::jump »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Generate 64 bits of randomness

Random\Engine\PcgOneseq128XslRr64::generate

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::generate — Generate 64 bits of randomness

Açıklama

public Random\Engine\PcgOneseq128XslRr64::generate(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representing an unsigned 64 bit integer in little-endian order.


Efficiently move the engine ahead multiple steps

  • « Random\Engine\PcgOneseq128XslRr64::generate
  • Random\Engine\PcgOneseq128XslRr64::__serialize »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Efficiently move the engine ahead multiple steps

Random\Engine\PcgOneseq128XslRr64::jump

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::jump — Efficiently move the engine ahead multiple steps

Açıklama

public Random\Engine\PcgOneseq128XslRr64::jump(int $advance): void

Moves the algorithm's state ahead by the number of steps given by advance, as if Random\Engine\PcgOneseq128XslRr64::generate() was called that many times.

Bağımsız Değişkenler

advance

The number of steps to move ahead; must be 0 or greater.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

  • If advance is less than 0, a ValueError will be thrown.

Örnekler

Örnek 1 Random\Engine\PcgOneseq128XslRr64::jump() example

<?php
$a = new \Random\Engine\PcgOneseq128XslRr64(0);
$b = clone $a;

for ($i = 0; $i < 1_000; $i++) {
$a->generate();
}
$b->jump(1_000);

echo "A: ", bin2hex($a->generate()), "\n";
echo "B: ", bin2hex($b->generate()), "\n";
?>

Yukarıdaki örneğin çıktısı:

A: e6d0d5813913a424
B: e6d0d5813913a424

Örnek 2 Randomizer methods may call the engine more than once

<?php
$a = new \Random\Randomizer(new \Random\Engine\PcgOneseq128XslRr64(42659));
$b = new \Random\Randomizer(clone $a->engine);

$a->getInt(1, 1572864); // Performs two calls to generate().
$a->getInt(1, 1572864);

$b->engine->jump(2);

// Because the first call to ->getInt() called ->generate() twice
// the engines do not match up after performing a ->jump(2).
echo "A: ", bin2hex($a->engine->generate()), "\n";
echo "B: ", bin2hex($b->engine->generate()), "\n";

// Now the B engine matches the A engine.
echo "B: ", bin2hex($b->engine->generate()), "\n";
?>

Yukarıdaki örneğin çıktısı:

A: 1e9f3107d56653d0
B: a156c0086dd79d44
B: 1e9f3107d56653d0


Serializes the PcgOneseq128XslRr64 object

  • « Random\Engine\PcgOneseq128XslRr64::jump
  • Random\Engine\PcgOneseq128XslRr64::__unserialize »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Serializes the PcgOneseq128XslRr64 object

Random\Engine\PcgOneseq128XslRr64::__serialize

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__serialize — Serializes the PcgOneseq128XslRr64 object

Açıklama

public Random\Engine\PcgOneseq128XslRr64::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\PcgOneseq128XslRr64::__serialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Deserializes the data parameter into a PcgOneseq128XslRr64 object

  • « Random\Engine\PcgOneseq128XslRr64::__serialize
  • Random\Engine\Xoshiro256StarStar »
  • PHP Manual
  • Random\Engine\PcgOneseq128XslRr64
  • Deserializes the data parameter into a PcgOneseq128XslRr64 object

Random\Engine\PcgOneseq128XslRr64::__unserialize

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__unserialize — Deserializes the data parameter into a PcgOneseq128XslRr64 object

Açıklama

public Random\Engine\PcgOneseq128XslRr64::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Engine\PcgOneseq128XslRr64::__unserialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The Random\Engine\Xoshiro256StarStar class

(PHP 8 >= 8.2.0)

Giriş

Implements the » xoshiro256** algorithm.

Sınıf Sözdizimi

final class Random\Engine\Xoshiro256StarStar implements Random\Engine {
/* Yöntemler */
public __construct(string|int|null $seed = null)
public __debugInfo(): array
public generate(): string
public jump(): void
public jumpLong(): void
public __serialize(): array
public __unserialize(array $data): void
}

İçindekiler

  • Random\Engine\Xoshiro256StarStar::__construct — Constructs a new xoshiro256** engine
  • Random\Engine\Xoshiro256StarStar::__debugInfo — Returns the internal state of the engine
  • Random\Engine\Xoshiro256StarStar::generate — Generate 64 bits of randomness
  • Random\Engine\Xoshiro256StarStar::jump — Efficiently move the engine ahead by 2^128 steps
  • Random\Engine\Xoshiro256StarStar::jumpLong — Efficiently move the engine ahead by 2^192 steps
  • Random\Engine\Xoshiro256StarStar::__serialize — Serializes the Xoshiro256StarStar object
  • Random\Engine\Xoshiro256StarStar::__unserialize — Deserializes the data parameter into a Xoshiro256StarStar object


Constructs a new xoshiro256** engine

  • « Random\Engine\Xoshiro256StarStar
  • Random\Engine\Xoshiro256StarStar::__debugInfo »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Constructs a new xoshiro256** engine

Random\Engine\Xoshiro256StarStar::__construct

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__construct — Constructs a new xoshiro256** engine

Açıklama

public Random\Engine\Xoshiro256StarStar::__construct(string|int|null $seed = null)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

seed

How the internal 256 bit (32 byte) state consisting of four unsigned 64 bit integers is seeded depends on the type used as the seed.

Type | Açıklama
null | Fills the state with 32 random bytes generated using the CSPRNG.
int | Fills the state with four consecutive values generated with the SplitMix64 algorithm that was seeded with seed interpreted as an unsigned 64 bit integer.
string | Fills the state by interpreting a 32 byte string as four little-endian unsigned 64 bit integers.

Hatalar/İstisnalar

  • If the length of a string seed is not 32 bytes, a ValueError will be thrown.
  • If a string seed consists of 32 NUL bytes ("\x00"), a ValueError will be thrown.

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::__construct() example

<?php
// Uses a random 256 Bit seed.
$e = new \Random\Engine\Xoshiro256StarStar();

$r = new \Random\Randomizer($e);
?>

Örnek 2 Deriving a seed from a string

<?php
$string = "My string seed";

// Hash the string with SHA-256 using binary output to turn the
// $string into a 256 Bit seed. Using the same string will result
// in the same sequence of randomness.
$e = new \Random\Engine\Xoshiro256StarStar(
hash('sha256', $string, binary: true)
);

echo bin2hex($e->generate()), "\n";
?>

Yukarıdaki örneğin çıktısı:

6e013453678388c2


Returns the internal state of the engine

  • « Random\Engine\Xoshiro256StarStar::__construct
  • Random\Engine\Xoshiro256StarStar::generate »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Returns the internal state of the engine

Random\Engine\Xoshiro256StarStar::__debugInfo

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__debugInfo — Returns the internal state of the engine

Açıklama

public Random\Engine\Xoshiro256StarStar::__debugInfo(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::__debugInfo() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Generate 64 bits of randomness

  • « Random\Engine\Xoshiro256StarStar::__debugInfo
  • Random\Engine\Xoshiro256StarStar::jump »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Generate 64 bits of randomness

Random\Engine\Xoshiro256StarStar::generate

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::generate — Generate 64 bits of randomness

Açıklama

public Random\Engine\Xoshiro256StarStar::generate(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representing an unsigned 64 bit integer in little-endian order.


Efficiently move the engine ahead by 2^128 steps

  • « Random\Engine\Xoshiro256StarStar::generate
  • Random\Engine\Xoshiro256StarStar::jumpLong »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Efficiently move the engine ahead by 2^128 steps

Random\Engine\Xoshiro256StarStar::jump

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::jump — Efficiently move the engine ahead by 2^128 steps

Açıklama

public Random\Engine\Xoshiro256StarStar::jump(): void

Moves the algorithm's state ahead by 2128 steps, as if Random\Engine\Xoshiro256StarStar::generate() was called 2128 times.

The purpose of a jump is to facilitate the creation of a new Random\Engine\Xoshiro256StarStar engine from an existing seeded Random\Engine\Xoshiro256StarStar engine. The seeded engine acts as a blueprint, which can be cloned and repeatedly jumped to create 2128 non-overlapping sequences with 2128 values each.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::jump() example

<?php
use Random\Engine\Xoshiro256StarStar;
use Random\Randomizer;

$blueprintRng = new Xoshiro256StarStar(0);

$fibers = [];
for ($i = 0; $i < 8; $i++) {
$fiberRng = clone $blueprintRng;
$blueprintRng->jump();

$fiber = new Fiber(static function () use ($fiberRng, $i): void {
$randomizer = new Randomizer($fiberRng);

while (true) {
Fiber::suspend();

echo "{$i}: ", $randomizer->getInt(0, 100), "\n";
}
});
$fiber->start();

$fibers[] = $fiber;
}

// Even though the fibers execute in a random order, they will print the same value
// each time, because each has its own unique instance of the RNG.
$randomizer = new Randomizer();

$fibers = $randomizer->shuffleArray($fibers);
foreach ($fibers as $fiber) {
$fiber->resume();
}

$fibers = $randomizer->shuffleArray($fibers);
foreach ($fibers as $fiber) {
$fiber->resume();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

4: 89
3: 10
2: 63
1: 75
6: 41
5: 56
0: 16
7: 60
7: 34
6: 58
1: 74
4: 63
3: 3
5: 42
2: 45
0: 86

Ayrıca Bakınız

  • Random\Engine\Xoshiro256StarStar::jumpLong() - Efficiently move the engine ahead by 2^192 steps


Efficiently move the engine ahead by 2^192 steps

  • « Random\Engine\Xoshiro256StarStar::jump
  • Random\Engine\Xoshiro256StarStar::__serialize »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Efficiently move the engine ahead by 2^192 steps

Random\Engine\Xoshiro256StarStar::jumpLong

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::jumpLong — Efficiently move the engine ahead by 2^192 steps

Açıklama

public Random\Engine\Xoshiro256StarStar::jumpLong(): void

Moves the algorithm's state ahead by 2192 steps, as if Random\Engine\Xoshiro256StarStar::generate() was called 2192 times.

The purpose of a long jump is to facilitate the creation of a new Random\Engine\Xoshiro256StarStar engine from an existing seeded Random\Engine\Xoshiro256StarStar engine. The seeded engine acts as a blueprint, which can be cloned and repeatedly jumped to create 264 non-overlapping sequences with 2192 values each.

Long jumping may be combined with Random\Engine\Xoshiro256StarStar::jump()ing to further split each of the 264 sequences generated by long jumping, into 264 sequences of 2128 values each.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::jumpLong() example

<?php
$blueprintRng = new \Random\Engine\Xoshiro256StarStar(0);

// Each parent engine will have its own chunk of 2**192 values.
$parent1 = clone $blueprintRng;
$blueprintRng->jumpLong();

$parent2 = clone $blueprintRng;
$blueprintRng->jumpLong();

// Each of the child engines will have its own chunk of 2**128 values
// taken from their parent engine's chunk of 2**192 values.
$child1a = clone $parent1;
$parent1->jump();
$child1b = clone $parent1;
$parent1->jump();

$child2a = clone $parent2;
$parent2->jump();
$child2b = clone $parent2;
$parent2->jump();

echo "Child 1A: ", bin2hex($child1a->generate()), "\n";
echo "Child 1B: ", bin2hex($child1b->generate()), "\n";
echo "Child 2A: ", bin2hex($child2a->generate()), "\n";
echo "Child 2B: ", bin2hex($child2b->generate()), "\n";
?>

Yukarıdaki örneğin çıktısı:

Child 1A: b4f275cb365fec99
Child 1B: 2cd646c8ed156237
Child 2A: eb3729a722a504e7
Child 2B: d4208dc85bdd6dc3

Ayrıca Bakınız

  • Random\Engine\Xoshiro256StarStar::jump() - Efficiently move the engine ahead by 2^128 steps


Serializes the Xoshiro256StarStar object

  • « Random\Engine\Xoshiro256StarStar::jumpLong
  • Random\Engine\Xoshiro256StarStar::__unserialize »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Serializes the Xoshiro256StarStar object

Random\Engine\Xoshiro256StarStar::__serialize

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__serialize — Serializes the Xoshiro256StarStar object

Açıklama

public Random\Engine\Xoshiro256StarStar::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::__serialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Deserializes the data parameter into a Xoshiro256StarStar object

  • « Random\Engine\Xoshiro256StarStar::__serialize
  • Random\RandomError »
  • PHP Manual
  • Random\Engine\Xoshiro256StarStar
  • Deserializes the data parameter into a Xoshiro256StarStar object

Random\Engine\Xoshiro256StarStar::__unserialize

(PHP 8 >= 8.2.0)

Random\Engine\Xoshiro256StarStar::__unserialize — Deserializes the data parameter into a Xoshiro256StarStar object

Açıklama

public Random\Engine\Xoshiro256StarStar::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Random\Engine\Xoshiro256StarStar::__unserialize() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The Random\RandomError class

(PHP 8 >= 8.2.0)

Giriş

The base class for Errors that occur during generation or use of randomness.

Sınıf Sözdizimi

class Random\RandomError extends Error {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


The Random\BrokenRandomEngineError class

(PHP 8 >= 8.2.0)

Giriş

Indicates that the used Random\Engine is broken, e.g. because it is severely biased.

Sınıf Sözdizimi

class Random\BrokenRandomEngineError extends Random\RandomError {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Error::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Error::getMessage(): string
final public Error::getPrevious(): ?Throwable
final public Error::getCode(): int
final public Error::getFile(): string
final public Error::getLine(): int
final public Error::getTrace(): array
final public Error::getTraceAsString(): string
public Error::__toString(): string
private Error::__clone(): void
}


The Random\RandomException class

(PHP 8 >= 8.2.0)

Giriş

The base class for Exceptions that occur during generation or use of randomness.

Sınıf Sözdizimi

class Random\RandomException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Seaslog

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Seaslog İşlevleri
    • seaslog_get_author — Get SeasLog author.
    • seaslog_get_version — Get SeasLog version.
  • SeasLog — The SeasLog class
    • SeasLog::alert — Record alert log information
    • SeasLog::analyzerCount — Get log count by level, log_path and key_word
    • SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order
    • SeasLog::closeLoggerStream — Manually release stream flow from logger
    • SeasLog::__construct — Description
    • SeasLog::critical — Record critical log information
    • SeasLog::debug — Record debug log information
    • SeasLog::__destruct — Description
    • SeasLog::emergency — Record emergency log information
    • SeasLog::error — Record error log information
    • SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
    • SeasLog::getBasePath — Get SeasLog base path.
    • SeasLog::getBuffer — Get the logs buffer in memory as array
    • SeasLog::getBufferEnabled — Determin if buffer enabled
    • SeasLog::getDatetimeFormat — Get SeasLog datetime format style
    • SeasLog::getLastLogger — Get SeasLog last logger path
    • SeasLog::getRequestID — Get SeasLog request_id differentiated requests
    • SeasLog::getRequestVariable — Get SeasLog request variable
    • SeasLog::info — Record info log information
    • SeasLog::log — The Common Record Log Function
    • SeasLog::notice — Record notice log information
    • SeasLog::setBasePath — Set SeasLog base path
    • SeasLog::setDatetimeFormat — Set SeasLog datetime format style
    • SeasLog::setLogger — Set SeasLog logger name
    • SeasLog::setRequestID — Set SeasLog request_id differentiated requests
    • SeasLog::setRequestVariable — Manually set SeasLog request variable
    • SeasLog::warning — Record warning log information


Giriş

The Seaslog is an effective,fast,stable log extension for PHP.

The log journal,which is usually the operate record of the system, software and the application record. Through the analysis of the log,it can facilitate users to understand the operation of the system, software and the application situation. If your application log is rich enough, it can also analyze the previous use's operation behavior,type, regional distribution or other more information. The application log also points the multiple levels at the same time, you can easily get the application analysis of health status, timely find problems and quick positioning, and solve the problem, remedy the loss.

The error_log, syslog function which built in PHP is powerful and excellent performance, but due to various defects (error_log have no error level, no fixed format, syslog regardless of module, and mix with system log ), reducing a lot of flexibility , and can't meet the application requirements.

The good news is that there are a number of third-party log class library established to make up for the defects, such as log4php, plog, monolog (of course, there are many applications in the project development of the log class).

So is there a log of libraries meet the following requirements:

  • Modules, classification
  • Simple configuration(preferably without configuration)
  • Clear log format and easy understanding
  • Simple application and well performance
Seaslog just meet these demands.

What is provided at present:

  • In the PHP project, record the log specification and repidly.
  • Configure the default log directory and module
  • Specified log directory and capture current configuration
  • Preliminary analysis of the early warning framework
  • Efficient log buffer and convenient buffer debug
  • Follow the PSR-3 log interface specification
  • Automatically record error information
  • Automatically record abnormal information
  • Support Connect the TCP port, send with RFC5424
  • Support Connect the UDP port, send with RFC5424
  • Support RequestId differentiated requests
  • Support for log template customizations

Read More » SeasLog Document at Github.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/seaslog


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Seaslog Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
seaslog.appender | 1 | PHP_INI_SYSTEM |
seaslog.appender_retry | 0 | PHP_INI_ALL |
seaslog.level | 8 | PHP_INI_ALL |
seaslog.remote_host | 127.0.0.1 | PHP_INI_ALL |
seaslog.remote_port | 514 | PHP_INI_ALL |
seaslog.remote_timeout | 1 | PHP_INI_SYSTEM |
seaslog.default_basepath | /var/log/www | PHP_INI_SYSTEM |
seaslog.default_logger | default | PHP_INI_SYSTEM |
seaslog.default_template | %T | %L | %P | %Q | %t | %M | PHP_INI_SYSTEM |
seaslog.default_datetime_format | Y-m-d H:i:s | PHP_INI_SYSTEM |
seaslog.trace_error | 1 | PHP_INI_ALL |
seaslog.trace_exception | 0 | PHP_INI_SYSTEM |
seaslog.trace_notice | 0 | PHP_INI_ALL |
seaslog.trace_warning | 0 | PHP_INI_ALL |
seaslog.use_buffer | 0 | PHP_INI_SYSTEM |
seaslog.buffer_size | 0 | PHP_INI_ALL |
seaslog.buffer_disabled_in_cli | 0 | PHP_INI_SYSTEM |
seaslog.disting_type | 0 | PHP_INI_SYSTEM |
seaslog.disting_folder | 1 | PHP_INI_SYSTEM |
seaslog.disting_by_hour | 0 | PHP_INI_SYSTEM |
seaslog.recall_depth | 0 | PHP_INI_ALL |
seaslog.trim_wrap | 0 | PHP_INI_ALL |
seaslog.ignore_warning | 1 | PHP_INI_ALL |
seaslog.throw_exception | 1 | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

seaslog.appender int

Switch the Record Log Data Store. 1File 2TCP 3UDP (Switch default 1)

SeasLog will send log to tcp://remote_host:remote_port or udp://remote_host:remote_port server, when seaslog.appender configured to 2 (TCP) or 3 (UDP).

When SeasLog send log to TCP/UDP,style follow RFC5424. The {logInfo} affected by seaslog.default_template.

The log style finally formatted such as:
<15>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | DEBUG | 21423 | 599157af4e937 | 1466787583.322 | this is a neeke debug
<14>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | INFO | 21423 | 599157af4e937 | 1466787583.323 | this is a info log
<13>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | NOTICE | 21423 | 599157af4e937 | 1466787583.324 | this is a notice log
seaslog.appender_retry int

Record Log Retry Count. Default 0 (Do Not Retry)

seaslog.buffer_disabled_in_cli int

Disable buffer in cli. 1-Y 0-N(Default)

Switch the configure buffer_disabled_in_cli on. The buffer_disabled_in_cli switch default off. If switch buffer_disabled_in_cli on, and running in cli, seaslog.use_buffer setting will be discarded, Seaslog write to the Data Store IMMEDIATELY.

seaslog.buffer_size int

Configure the buffer_size with 100. The buffer_size default 0, it's meaning don't use buffer. If buffer_size > 0,SeasLog will rewritten down into the Data Store when the prerecorded log in memory count >= this buffer_size,and then refresh the memory poll.

seaslog.default_basepath string

Default Log Base Path. Defult "/var/log/www".

seaslog.default_datetime_format string

The DateTime Style. Default "Y-m-d H:i:s".

seaslog.default_logger string

Default Logger Path. Default "default".

seaslog.disting_by_hour int

Switch use the logger with hour. 1-Y 0-N(Default)

Bilginize:

seaslog.disting_by_hour = 1 Switch use Logger DisTing by hour. It's meaning SeasLog will create the file each one hour.

seaslog.disting_folder int

Switch use the logger with folder. 1-Y(Default) 0-N

Bilginize:

seaslog.disting_folder = 1 Switch use Logger DisTing by folder, it's meaning SeasLog will create the file deistic by folder, and when this configure close SeasLog will create file use underline connect Logger and Time like default_20180211.log.

seaslog.disting_type int

Switch use the logger with type. 1-Y 0-N(Default)

Bilginize:

seaslog.disting_type = 1 Switch use Logger DisTing by type, it's meaning SeasLog will create the file deistic info\warn\error and the other type.

seaslog.ignore_warning int

Switch ignore SeasLog warning. 1-On(Default) 0-Off

Bilginize:

seaslog.ignore_warning = 1 Open a warning to ignore SeasLog itself. When directory permissions or receive server ports are blocked, they are ignored; when closed, a warning is thrown.

seaslog.level int

Record logger level. Default 8 (All of them). 0-EMERGENCY 1-ALERT 2-CRITICAL 3-ERROR 4-WARNING 5-NOTICE 6-INFO 7-DEBUG 8-ALL

Bilginize:

Tips: The configuration item has changed since the 1.7.0 version. Before the 1.7.0 version, the smaller the value, the more logs are taken according to the level: 0-all 1-debug 2-info 3-notice 4-warning 5-error 6-critical 7-alert 8-emergency Before the 1.7.0 version, Default 0 (All of them).

seaslog.recall_depth int

Log function recall depth.Will affected variable LineNo in %F. Default 0

seaslog.remote_host string

If you use Record TCP or UDP, configure this remote ip. Default "127.0.0.1"

seaslog.remote_port int

If you use Record TCP or UDP, configure this remote port. Default 514

seaslog.remote_timeout int

If you use Record TCP or UDP, configure this remote timeout. Default 1 second

seaslog.throw_exception int

Switch throw SeasLog exception. 1-On(Default) 0-Off

Bilginize:

seaslog.throw_exception = 1 Open an exception that throws the SeasLog to throw itself. When the directory authority or the receive server port is blocked, throw an exception; do not throw an exception when closed.

seaslog.trace_error int

Automatic Record final error with default logger. 1-Y(Default) 0-N

seaslog.trace_exception int

Automatic Record exception with default logger. 1-Y 0-N(Default)

seaslog.trace_notice int

Automatic Record notice with default logger. 1-Y 0-N(Default)

seaslog.trace_warning int

Automatic Record warning with default logger. 1-Y 0-N(Default)

seaslog.trim_wrap int

Trim the \n and \r in log message. 1-On 0-Off(Default)

seaslog.use_buffer int

Switch use the log buffer with memory. 1-Y 0-N(Default)

Bilginize:

seaslog.use_buffer = 1 Switch the configure use_buffer on. The use_buffer switch default off. If switch use_buffer on, SeasLog prerecord the log with memory, and them would be rewritten down into the Data Store by request shutdown or php process exit (PHP RSHUTDOWN or PHP MSHUTDOWN).

seaslog.default_template string

Default Log template. Default "%T | %L | %P | %Q | %t | %M".

Bilginize:

The following default variables are provided, which can be used directly in the log template and replaced as a corresponding value when the log is eventually generated.

Default log template is: seaslog.default_template = "%T | %L | %P | %Q | %t | %M", that's mean,default log style is: {dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}

If you custom log template, such as: seaslog.default_template = "[%T]:%L %P %Q %t %M", that's will mean,log style was custom as: [{dateTime}]:{level} {pid} {uniqid} {timeStamp} {logInfo}

Seaslog Default Variable Table
Variable Name | Description
%L | Level.
%M | Message.
%T | DateTime. Such as 2017-08-16 19:15:02, affected by seaslog.default_datetime_format.
%t | Timestamp. Such as 1502882102.862,accurate to milliseconds.
%Q | RequestId. To distinguish a single request, such as not invoking the SeasLog::setRequestId($string) function, the unique value generated by the built-in static char *get_uniqid () function is used when the request is initialized.
%H | HostName.
%P | ProcessId.
%D | Domain:Port. Such as www.cloudwise.com:80; When Cli, Such as cli.
%R | Request URI. Such as /app/user/signin; When Cli it's the index script, Such as CliIndex.php.
%m | Request Method. Such as Get; When Cli it's the command script, Such as /bin/bash.
%I | Client IP; When Cli it's local. Priority value: HTTP_X_REAL_IP > HTTP_X_FORWARDED_FOR > REMOTE_ADDR
%F | FileName:LineNo. Such as UserService.php:118.
%U | MemoryUsage. byte. Call zend_memory_usage.
%u | PeakMemoryUsage. byte. Call zend_memory_peak_usage.
%C | TODO Class::Action. Such as UserService::getUserInfo


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SEASLOG_VERSION (string)
SEASLOG_AUTHOR (string)
SEASLOG_ALL (string)
"ALL"
SEASLOG_DEBUG (string)
"DEBUG" - Detailed debug information.Fine-grained information events.
SEASLOG_INFO (string)
"INFO" - Interesting events.Emphasizes the running process of the application.
SEASLOG_NOTICE (string)
"NOTICE" - Normal but significant events.Information that is more important than the INFO level during execution.
SEASLOG_WARNING (string)
"WARNING" - Exceptional occurrences that are not errors.Potentially aberrant information that needs attention and needs to be repaired.
SEASLOG_ERROR (string)
"ERROR" - Runtime errors that do not require immediate action but should typically.
SEASLOG_CRITICAL (string)
"CRITICAL" - Critical conditions.Need to be repaired immediately, and the program component is unavailable.
SEASLOG_ALERT (string)
"ALERT" - Action must be taken immediately.Immediate attention should be given to relevant personnel for emergency repairs.
SEASLOG_EMERGENCY (string)
"EMERGENCY" - System is unusable.
SEASLOG_DETAIL_ORDER_ASC (int)
1
SEASLOG_DETAIL_ORDER_DESC (int)
2
SEASLOG_APPENDER_FILE (int)
1
SEASLOG_APPENDER_TCP (int)
2
SEASLOG_APPENDER_UDP (int)
3
SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL (int)
1
SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN (int)
2
SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT (int)
1
SEASLOG_REQUEST_VARIABLE_REQUEST_URI (int)
2
SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD (int)
3
SEASLOG_REQUEST_VARIABLE_CLIENT_IP (int)
4


Örnekler

Örnek 1 Get and set base path

<?php
$basePath1 = SeasLog::getBasePath();

SeasLog::setBasePath('/log/base_test');
$basePath2 = SeasLog::getBasePath();

var_dump($basePath1,$basePath2);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

  string(12) "/var/log/www"
  string(14) "/log/base_test"

Örnek 2 Get and set logger

<?php
$lastLogger1 = SeasLog::getLastLogger();

SeasLog::setLogger('testModule/app1');
$lastLogger2 = SeasLog::getLastLogger();

var_dump($lastLogger1,$lastLogger2);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(7) "default"
string(15) "testModule/app1"

Örnek 3 Fast write log

<?php
SeasLog::log(SEASLOG_ERROR,'this is a error test by ::log');
SeasLog::debug('this is a {userName} debug',array('{userName}' => 'neeke'));
SeasLog::info('this is a info log');
SeasLog::notice('this is a notice log');
SeasLog::warning('your {website} was down,please {action} it ASAP!',array('{website}' => 'github.com','{action}' => 'rboot'));
SeasLog::error('a error log');
SeasLog::critical('some thing was critical');
SeasLog::alert('yes this is a {messageName}',array('{messageName}' => 'alertMSG'));
SeasLog::emergency('Just now, the house next door was completely burnt out! {note}',array('{note}' => 'it`s a joke'));
?>

As the default, seaslog.default_template = "%T | %L | %P | %Q | %t | %M". That's mean,as the default,log record style is: `{dateTime} | {level} | {pid} | {uniqid} | {timeStamp} | {logInfo}`.

Yukarıdaki örnek şuna benzer bir çıktı üretir:

seaslog.appender = 1

2014-07-27 08:53:52 | ERROR | 23625 | 599159975a9ff | 1406422432.786 | this is a error test by log
2014-07-27 08:53:52 | DEBUG | 23625 | 599159975a9ff | 1406422432.786 | this is a neeke debug
2014-07-27 08:53:52 | INFO | 23625 | 599159975a9ff | 1406422432.787 | this is a info log
2014-07-27 08:53:52 | NOTICE | 23625 | 599159975a9ff | 1406422432.787 | this is a notice log
2014-07-27 08:53:52 | WARNING | 23625 | 599159975a9ff | 1406422432.787 | your github.com was down,please rboot it ASAP!
2014-07-27 08:53:52 | ERROR | 23625 | 599159975a9ff | 1406422432.787 | a error log
2014-07-27 08:53:52 | CRITICAL | 23625 | 599159975a9ff | 1406422432.787 | some thing was critical
2014-07-27 08:53:52 | EMERGENCY | 23625 | 599159975a9ff | 1406422432.787 | Just now, the house next door was completely burnt out! it is a joke

Yukarıdaki örnek şuna benzer bir çıktı üretir:

seaslog.appender = 2 or seaslog.appender = 3

The log style finally formatted such as:
<15>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | DEBUG | 21423 | 599157af4e937 | 1466787583.322 | this is a neeke debug
<14>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | INFO | 21423 | 599157af4e937 | 1466787583.323 | this is a info log
<13>1 2017-08-27T01:24:59+08:00 vagrant-ubuntu-trusty test/logger[27171]: 2016-06-25 00:59:43 | NOTICE | 21423 | 599157af4e937 | 1466787583.324 | this is a notice log

Örnek 4 Fast count some type of log count value

SeasLog get count value of `grep -wc` use system pipe and return to PHP (array or int).

<?php
$countResult1 = SeasLog::analyzerCount();
$countResult2 = SeasLog::analyzerCount(SEASLOG_WARNING);
$countResult3 = SeasLog::analyzerCount(SEASLOG_ERROR,date('Ymd',time()));

var_dump($countResult1,$countResult2,$countResult3);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(8) {
  ["DEBUG"]=>
  int(3)
  ["INFO"]=>
  int(3)
  ["NOTICE"]=>
  int(3)
  ["WARNING"]=>
  int(3)
  ["ERROR"]=>
  int(6)
  ["CRITICAL"]=>
  int(3)
  ["ALERT"]=>
  int(3)
  ["EMERGENCY"]=>
  int(3)
}
int(7)
int(1)

Örnek 5 Acquisit some type of log list

SeasLog get count value of `grep -w` use system pipe and return array to PHP.

<?php
$detailErrorArray = SeasLog::analyzerDetail(SEASLOG_ERROR);
var_dump($detailErrorArray);

var_dump(SeasLog::analyzerDetail(SEASLOG_ERROR,date('Ymd',time())));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(6) {
  [0] =>
  string(83) "2014-02-24 00:14:02 | ERROR | 8568 | 599157af4e937 | 1393172042.717 | test error 3 "
  [1] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8594 | 5991576584446 | 1393172044.104 | test error 3 "
  [2] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8620 | 1502697015147 | 1393172044.862 | test error 3 "
  [3] =>
  string(83) "2014-02-24 00:14:05 | ERROR | 8646 | 599159975a9ff | 1393172045.989 | test error 3 "
  [4] =>
  string(83) "2014-02-24 00:14:07 | ERROR | 8672 | 599159986ec28 | 1393172047.882 | test error 3 "
  [5] =>
  string(83) "2014-02-24 00:14:08 | ERROR | 8698 | 5991599981cec | 1393172048.736 | test error 3 "
}

array(2) {
  [0] =>
  string(83) "2014-02-24 00:14:02 | ERROR | 8568 | 599157af4e937 | 1393172042.717 | test error 3 "
  [1] =>
  string(83) "2014-02-24 00:14:04 | ERROR | 8594 | 5991576584446 | 1393172044.104 | test error 3 "
}


Seaslog İşlevleri

İçindekiler

  • seaslog_get_author — Get SeasLog author.
  • seaslog_get_version — Get SeasLog version.


Get SeasLog author.

  • « Seaslog İşlevleri
  • seaslog_get_version »
  • PHP Manual
  • Seaslog İşlevleri
  • Get SeasLog author.

seaslog_get_author

(PECL seaslog >=1.0.0)

seaslog_get_author — Get SeasLog author.

Açıklama

seaslog_get_author(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return SeasLog author as string.

Örnekler

Örnek 1 seaslog_get_author() example

<?php

var_dump(seaslog_get_author());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(29) "Chitao.Gao  [ neeke@php.net ]"


Get SeasLog version.

  • « seaslog_get_author
  • SeasLog »
  • PHP Manual
  • Seaslog İşlevleri
  • Get SeasLog version.

seaslog_get_version

(PECL seaslog >=1.0.0)

seaslog_get_version — Get SeasLog version.

Açıklama

seaslog_get_version(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return SeasLog version (SEASLOG_VERSION) as string.

Örnekler

Örnek 1 seaslog_get_version() example

<?php

var_dump(seaslog_get_version());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "1.8.4"


The SeasLog class

(PECL seaslog >=1.0.0)

Giriş

Sınıf Sözdizimi

class SeasLog {
/* Yöntemler */
public static alert(string $message, array $content = ?, string $logger = ?): bool
public static analyzerCount(string $level, string $log_path = ?, string $key_word = ?): mixed
public static analyzerDetail(
string $level,
string $log_path = ?,
string $key_word = ?,
int $start = ?,
int $limit = ?,
int $order = ?
): mixed
public static closeLoggerStream(int $model, string $logger): bool
public static critical(string $message, array $content = ?, string $logger = ?): bool
public static debug(string $message, array $content = ?, string $logger = ?): bool
public __destruct()
public static emergency(string $message, array $content = ?, string $logger = ?): bool
public static error(string $message, array $content = ?, string $logger = ?): bool
public static flushBuffer(): bool
public static Seaslog::getBasePath(): string
public static getBuffer(): array
public static getBufferEnabled(): bool
public static getDatetimeFormat(): string
public static getLastLogger(): string
public static getRequestID(): string
public static getRequestVariable(int $key): bool
public static info(string $message, array $content = ?, string $logger = ?): bool
public static log(
string $level,
string $message = ?,
array $content = ?,
string $logger = ?
): bool
public static notice(string $message, array $content = ?, string $logger = ?): bool
public static setBasePath(string $base_path): bool
public static setDatetimeFormat(string $format): bool
public static setLogger(string $logger): bool
public static setRequestID(string $request_id): bool
public static setRequestVariable(int $key, string $value): bool
public static warning(string $message, array $content = ?, string $logger = ?): bool
}

İçindekiler

  • SeasLog::alert — Record alert log information
  • SeasLog::analyzerCount — Get log count by level, log_path and key_word
  • SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order
  • SeasLog::closeLoggerStream — Manually release stream flow from logger
  • SeasLog::__construct — Description
  • SeasLog::critical — Record critical log information
  • SeasLog::debug — Record debug log information
  • SeasLog::__destruct — Description
  • SeasLog::emergency — Record emergency log information
  • SeasLog::error — Record error log information
  • SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
  • SeasLog::getBasePath — Get SeasLog base path.
  • SeasLog::getBuffer — Get the logs buffer in memory as array
  • SeasLog::getBufferEnabled — Determin if buffer enabled
  • SeasLog::getDatetimeFormat — Get SeasLog datetime format style
  • SeasLog::getLastLogger — Get SeasLog last logger path
  • SeasLog::getRequestID — Get SeasLog request_id differentiated requests
  • SeasLog::getRequestVariable — Get SeasLog request variable
  • SeasLog::info — Record info log information
  • SeasLog::log — The Common Record Log Function
  • SeasLog::notice — Record notice log information
  • SeasLog::setBasePath — Set SeasLog base path
  • SeasLog::setDatetimeFormat — Set SeasLog datetime format style
  • SeasLog::setLogger — Set SeasLog logger name
  • SeasLog::setRequestID — Set SeasLog request_id differentiated requests
  • SeasLog::setRequestVariable — Manually set SeasLog request variable
  • SeasLog::warning — Record warning log information


Record alert log information

  • « SeasLog
  • SeasLog::analyzerCount »
  • PHP Manual
  • SeasLog
  • Record alert log information

SeasLog::alert

(PECL seaslog >=1.0.0)

SeasLog::alert — Record alert log information

Açıklama

public static SeasLog::alert(string $message, array $content = ?, string $logger = ?): bool

Record alert log information.

Bilginize:

"ALERT" - Action must be taken immediately. Immediate attention should be given to relevant personnel for emergency repairs.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::alert() example

<?php

var_dump(SeasLog::alert('log message'));

//with content
var_dump(SeasLog::alert('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::alert('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | ALERT | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Get log count by level, log_path and key_word

  • « SeasLog::alert
  • SeasLog::analyzerDetail »
  • PHP Manual
  • SeasLog
  • Get log count by level, log_path and key_word

SeasLog::analyzerCount

(PECL seaslog >=1.1.6)

SeasLog::analyzerCount — Get log count by level, log_path and key_word

Açıklama

public static SeasLog::analyzerCount(string $level, string $log_path = ?, string $key_word = ?): mixed

`SeasLog` get count value of `grep -ai '{level}' | grep -aic '{key_word}'` use system pipe and return to PHP (array or int).

Bağımsız Değişkenler

level

String. The log information level.

log_path

String. The log information path.

key_word

String. The search key word for log information.

Dönen Değerler

If `level` is SEASLOG_ALL or Empty, return all levels count as `array`. If `level` is SEASLOG_INFO or the other level, return count as `int`.

Örnekler

Örnek 1 SeasLog::analyzerCount() example

<?php

$countResult1 = SeasLog::analyzerCount();

//with `level`
$countResult2 = SeasLog::analyzerCount(SEASLOG_DEBUG);

//with `level` and `log_path`
$countResult3 = SeasLog::analyzerCount(SEASLOG_ERROR,date('Ymd',time()));

//with `level` and `key_word`
$countResult4 = SeasLog::analyzerCount(SEASLOG_DEBUG,NULL,'accessToken');

var_dump($countResult1,$countResult2,$countResult3,$countResult4);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(8) {
  ["DEBUG"]=>
  int(180)
  ["INFO"]=>
  int(214)
  ["NOTICE"]=>
  int(0)
  ["WARNING"]=>
  int(0)
  ["ERROR"]=>
  int(228)
  ["CRITICAL"]=>
  int(244)
  ["ALERT"]=>
  int(1)
  ["EMERGENCY"]=>
  int(0)
}

int(180)

int(228)

int(29)

Ayrıca Bakınız

  • SeasLog::analyzerDetail() - Get log detail by level, log_path, key_word, start, limit, order


Get log detail by level, log_path, key_word, start, limit, order

  • « SeasLog::analyzerCount
  • SeasLog::closeLoggerStream »
  • PHP Manual
  • SeasLog
  • Get log detail by level, log_path, key_word, start, limit, order

SeasLog::analyzerDetail

(PECL seaslog >=1.1.6)

SeasLog::analyzerDetail — Get log detail by level, log_path, key_word, start, limit, order

Açıklama

public static SeasLog::analyzerDetail(
string $level,
string $log_path = ?,
string $key_word = ?,
int $start = ?,
int $limit = ?,
int $order = ?
): mixed

`SeasLog` get results of `grep -ai '{level}' | grep -ai '{key_word}' | sed -n '{start},{limit}'p` use system pipe and return array to PHP.

Bağımsız Değişkenler

level

String. The log information level.

log_path

String. The log information path.

key_word

String. The search key word for log information.

start

Int. Default is `1`.

limit

Int. Default is `20`.

order

Int. Default is SEASLOG_DETAIL_ORDER_ASC. See also:

  • SEASLOG_DETAIL_ORDER_ASC
  • SEASLOG_DETAIL_ORDER_DESC

Dönen Değerler

Return results as array.

Bilginize:

When `start`,`limit` is not NULL and in Windows, SeasLog will threw exception with message 'Param start and limit don't support Windows'.

Örnekler

Örnek 1 SeasLog::analyzerDetail() example

<?php

$result1 = SeasLog::analyzerDetail(SEASLOG_ERROR);

//with `logger` and `key_word`
$result2 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke');

//with `start` and `limit`
$result3 = SeasLog::analyzerDetail(SEASLOG_ERROR,'test/logger/','neeke',1,2);

var_dump($result1,$result2,$result3);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(20) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
  [2]=>
  string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke"
  [3]=>
  string(104) "2018-07-09 12:52:55 | ERROR | 12274 | 5b42ea27db5dc | 1531111975.898 | log message from the other people"
...
}

array(3) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
  [2]=>
  string(93) "2018-07-09 12:52:55 | ERROR | 12265 | 5b42ea277b8d4 | 1531111975.506 | log message from neeke"
}

array(2) {
  [0]=>
  string(93) "2018-07-09 12:52:53 | ERROR | 12247 | 5b42ea2580e51 | 1531111973.528 | log message from neeke"
  [1]=>
  string(93) "2018-07-09 12:52:54 | ERROR | 12256 | 5b42ea26d6657 | 1531111974.878 | log message from neeke"
}

Ayrıca Bakınız

  • SeasLog::analyzerCount() - Get log count by level, log_path and key_word


Manually release stream flow from logger

  • « SeasLog::analyzerDetail
  • SeasLog::__construct »
  • PHP Manual
  • SeasLog
  • Manually release stream flow from logger

SeasLog::closeLoggerStream

(PECL seaslog >=1.8.6)

SeasLog::closeLoggerStream — Manually release stream flow from logger

Açıklama

public static SeasLog::closeLoggerStream(int $model, string $logger): bool

Manually release stream flow from logger. SeasLog caches the stream handle opened by the log logger to save the overhead of creating a stream. The handle will be automatically released at the end of the request. If in CLI mode, the process will also automatically release when it exits. Or you can use the following functions to manually release(manually release function needs to update SeasLog 1.8.6 or updated version).

Bağımsız Değişkenler

model

Constant int.

  • SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL
  • SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN

logger

The logger name.

Dönen Değerler

Return TRUE on released stream flow success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::closeLoggerStream() example

<?php

var_dump(SeasLog::closeLoggerStream());
var_dump(SeasLog::closeLoggerStream(SEASLOG_CLOSE_LOGGER_STREAM_MOD_ALL));
var_dump(SeasLog::closeLoggerStream(SEASLOG_CLOSE_LOGGER_STREAM_MOD_ASSIGN, 'logger_name'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)

Ayrıca Bakınız

  • SeasLog::setLogger() - Set SeasLog logger name
  • SeasLog::getLastLogger() - Get SeasLog last logger path


Description

  • « SeasLog::closeLoggerStream
  • SeasLog::critical »
  • PHP Manual
  • SeasLog
  • Description

SeasLog::__construct

(PECL seaslog >=1.0.0)

SeasLog::__construct — Description

Açıklama

public SeasLog::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 SeasLog::__construct() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Record critical log information

  • « SeasLog::__construct
  • SeasLog::debug »
  • PHP Manual
  • SeasLog
  • Record critical log information

SeasLog::critical

(PECL seaslog >=1.0.0)

SeasLog::critical — Record critical log information

Açıklama

public static SeasLog::critical(string $message, array $content = ?, string $logger = ?): bool

Record critical log information.

Bilginize:

"CRITICAL" - Critical conditions.Need to be repaired immediately, and the program component is unavailable.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::critical() example

<?php

var_dump(SeasLog::critical('log message'));

//with content
var_dump(SeasLog::critical('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::critical('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | CRITICAL | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Record debug log information

  • « SeasLog::critical
  • SeasLog::__destruct »
  • PHP Manual
  • SeasLog
  • Record debug log information

SeasLog::debug

(PECL seaslog >=1.0.0)

SeasLog::debug — Record debug log information

Açıklama

public static SeasLog::debug(string $message, array $content = ?, string $logger = ?): bool

Record debug log information.

Bilginize:

"DEBUG" - Detailed debug information.Fine-grained information events.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::debug() example

<?php

var_dump(SeasLog::debug('log message'));

//with content
var_dump(SeasLog::debug('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::debug('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | DEBUG | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Description

  • « SeasLog::debug
  • SeasLog::emergency »
  • PHP Manual
  • SeasLog
  • Description

SeasLog::__destruct

(PECL seaslog >=1.0.0)

SeasLog::__destruct — Description

Açıklama

public SeasLog::__destruct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 SeasLog::__destruct() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Record emergency log information

  • « SeasLog::__destruct
  • SeasLog::error »
  • PHP Manual
  • SeasLog
  • Record emergency log information

SeasLog::emergency

(PECL seaslog >=1.0.0)

SeasLog::emergency — Record emergency log information

Açıklama

public static SeasLog::emergency(string $message, array $content = ?, string $logger = ?): bool

Record emergency log information.

Bilginize:

"EMERGENCY" - System is unusable.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::emergency() example

<?php

var_dump(SeasLog::emergency('log message'));

//with content
var_dump(SeasLog::emergency('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::emergency('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | EMERGENCY | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::log() - The Common Record Log Function


Record error log information

  • « SeasLog::emergency
  • SeasLog::flushBuffer »
  • PHP Manual
  • SeasLog
  • Record error log information

SeasLog::error

(PECL seaslog >=1.0.0)

SeasLog::error — Record error log information

Açıklama

public static SeasLog::error(string $message, array $content = ?, string $logger = ?): bool

Record error log information.

Bilginize:

"ERROR" - Runtime errors that do not require immediate action but should typically.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::error() example

<?php

var_dump(SeasLog::error('log message'));

//with content
var_dump(SeasLog::error('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::error('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | ERROR | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

  • « SeasLog::error
  • SeasLog::getBasePath »
  • PHP Manual
  • SeasLog
  • Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

SeasLog::flushBuffer

(PECL seaslog >=1.0.0)

SeasLog::flushBuffer — Flush logs buffer, dump to appender file, or send to remote api with tcp/udp

Açıklama

public static SeasLog::flushBuffer(): bool

Flush logs buffer by seaslog.appender: dump to file, or send to remote api with tcp/udp.

Bilginize:

See also: seaslog.appender_retry seaslog.remote_host seaslog.remote_port

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return TRUE on flush buffer success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::flushBuffer() example

<?php

SeasLog::info('info log');
SeasLog::debug('debug log');
var_dump(SeasLog::getBuffer());
var_dump(SeasLog::flushBuffer());
var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(79) "2018-07-07 10:47:58 | INFO | 71910 | 5b4029ded6009 | 1530931678.877 | info log
"
    [1]=>
    string(81) "2018-07-07 10:47:58 | DEBUG | 71910 | 5b4029ded6009 | 1530931678.877 | debug log
"
  }
}
bool(true)
array(0) {
}

Ayrıca Bakınız

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBufferEnabled() - Determin if buffer enabled
  • SeasLog::getBuffer() - Get the logs buffer in memory as array


Get SeasLog base path.

  • « SeasLog::flushBuffer
  • SeasLog::getBuffer »
  • PHP Manual
  • SeasLog
  • Get SeasLog base path.

SeasLog::getBasePath

(PECL seaslog >=1.0.0)

SeasLog::getBasePath — Get SeasLog base path.

Açıklama

public static Seaslog::getBasePath(): string

Use the Function SeasLog::getBasePath() will get the value of seaslog.default_basepath what configured in php.ini(seaslog.ini).

If you use Seaslog::setBasePath(), will change the result.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return seaslog.default_basepath as string.

Örnekler

Örnek 1 SeasLog::getBasePath() example

<?php

var_dump(SeasLog::getBasePath());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(12) "/var/log/www"


Get the logs buffer in memory as array

  • « SeasLog::getBasePath
  • SeasLog::getBufferEnabled »
  • PHP Manual
  • SeasLog
  • Get the logs buffer in memory as array

SeasLog::getBuffer

(PECL seaslog >=1.0.0)

SeasLog::getBuffer — Get the logs buffer in memory as array

Açıklama

public static SeasLog::getBuffer(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return an array from logs buffer in memory.

Örnekler

Örnek 1 SeasLog::getBuffer() example

<?php

var_dump(SeasLog::info('info log'));
var_dump(SeasLog::debug('debug log'));
var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(79) "2018-07-07 10:43:32 | INFO | 71785 | 5b4028d4c58d5 | 1530931412.810 | info log
"
    [1]=>
    string(81) "2018-07-07 10:43:32 | DEBUG | 71785 | 5b4028d4c58d5 | 1530931412.810 | debug log
"
  }
}

Ayrıca Bakınız

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBufferEnabled() - Determin if buffer enabled
  • SeasLog::flushBuffer() - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp


Determin if buffer enabled

  • « SeasLog::getBuffer
  • SeasLog::getDatetimeFormat »
  • PHP Manual
  • SeasLog
  • Determin if buffer enabled

SeasLog::getBufferEnabled

(PECL seaslog >=1.0.0)

SeasLog::getBufferEnabled — Determin if buffer enabled

Açıklama

public static SeasLog::getBufferEnabled(): bool

Result join seaslog.use_buffer and seaslog.buffer_disabled_in_cli.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return TRUE on seaslog.use_buffer is true. If switch seaslog.buffer_disabled_in_cli on, and running in cli, seaslog.use_buffer setting will be discarded, Seaslog write to the Data Store IMMEDIATELY.

Örnekler

Örnek 1 SeasLog::getBufferEnabled() example

<?php

var_dump(SeasLog::getBufferEnabled());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)

Ayrıca Bakınız

  • seaslog.use_buffer
  • seaslog.buffer_size
  • seaslog.buffer_disabled_in_cli
  • SeasLog::getBuffer() - Get the logs buffer in memory as array
  • SeasLog::flushBuffer() - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp


Get SeasLog datetime format style

  • « SeasLog::getBufferEnabled
  • SeasLog::getLastLogger »
  • PHP Manual
  • SeasLog
  • Get SeasLog datetime format style

SeasLog::getDatetimeFormat

(PECL seaslog >=1.0.0)

SeasLog::getDatetimeFormat — Get SeasLog datetime format style

Açıklama

public static SeasLog::getDatetimeFormat(): string

Get SeasLog datetime format style. Use the Function SeasLog::getDatetimeFormat() will get the value of seaslog.default_datetime_format what configured in php.ini(seaslog.ini).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Get SeasLog datetime format style of seaslog.default_datetime_format. Use the Function SeasLog::setDatetimeFormat() will change this value.

Örnekler

Örnek 1 SeasLog::getDatetimeFormat() example

<?php

var_dump(SeasLog::getDateTimeFormat());
var_dump(SeasLog::setDateTimeFormat('Ymd His'));
var_dump(SeasLog::getDateTimeFormat());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "Y-m-d H:i:s"
bool(true)
string(7) "Ymd His"

Ayrıca Bakınız

  • SeasLog::setDatetimeFormat() - Set SeasLog datetime format style


Get SeasLog last logger path

  • « SeasLog::getDatetimeFormat
  • SeasLog::getRequestID »
  • PHP Manual
  • SeasLog
  • Get SeasLog last logger path

SeasLog::getLastLogger

(PECL seaslog >=1.0.0)

SeasLog::getLastLogger — Get SeasLog last logger path

Açıklama

public static SeasLog::getLastLogger(): string

Use the Function SeasLog::getLastLogger() will get the value of seaslog.default_logger what configured in php.ini(seaslog.ini).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Use the Function SeasLog::setLogger() will change the value of function SeasLog::getLastLogger().

Örnekler

Örnek 1 SeasLog::getLastLogger() example

<?php

var_dump(SeasLog::getLastLogger());
SeasLog::setLogger('theNewLogger');
var_dump(SeasLog::getLastLogger());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(7) "default"
string(12) "theNewLogger"

Ayrıca Bakınız

  • SeasLog::setLogger() - Set SeasLog logger name


Get SeasLog request_id differentiated requests

  • « SeasLog::getLastLogger
  • SeasLog::getRequestVariable »
  • PHP Manual
  • SeasLog
  • Get SeasLog request_id differentiated requests

SeasLog::getRequestID

(PECL seaslog >=1.0.0)

SeasLog::getRequestID — Get SeasLog request_id differentiated requests

Açıklama

public static SeasLog::getRequestID(): string

To distinguish a single request, such as not invoking the SeasLog::setRequestId() function, the unique value generated by the built-in `static char *get_uniqid ()` function is used when the request is initialized.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return string generated by the built-in `static char *get_uniqid ()` function, or setted by SeasLog::setRequestId() function.

Örnekler

Örnek 1 SeasLog::getRequestID() example

<?php

var_dump(SeasLog::getRequestID());
var_dump(SeasLog::setRequestID('reqeust_id_test_'.time()));
var_dump(SeasLog::getRequestID());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(13) "5b3f21a209519"
bool(true)
string(26) "reqeust_id_test_1530864034"

Ayrıca Bakınız

  • SeasLog::setRequestID() - Set SeasLog request_id differentiated requests
  • The Variable `%Q` in Seaslog Default Variable Table.


Get SeasLog request variable

  • « SeasLog::getRequestID
  • SeasLog::info »
  • PHP Manual
  • SeasLog
  • Get SeasLog request variable

SeasLog::getRequestVariable

(PECL seaslog >=1.9.0)

SeasLog::getRequestVariable — Get SeasLog request variable

Açıklama

public static SeasLog::getRequestVariable(int $key): bool

Get SeasLog request variable.

Bağımsız Değişkenler

key

Constant int.

  • SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT
  • SEASLOG_REQUEST_VARIABLE_REQUEST_URI
  • SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD
  • SEASLOG_REQUEST_VARIABLE_CLIENT_IP

Dönen Değerler

Return request variable value on set success.

Örnekler

Örnek 1 SeasLog::getRequestVariable() example

<?php

$sDomainPort = 'domain:port';
$sRequestUri = 'uri';
$sRequestMethod = 'method';
$sClientIp = 'client_ip';

$iErrorKey = 1000;

$oSeasLog = new SeasLog();

var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT, $sDomainPort));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI, $sRequestUri));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD, $sRequestMethod));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP, $sClientIp));

var_dump($oSeasLog->setRequestVariable($iErrorKey,NULL));

var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT) == $sDomainPort);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI) == $sRequestUri);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD) == $sRequestMethod);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP) == $sClientIp);

var_dump($oSeasLog->getRequestVariable($iErrorKey));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • SeasLog::setRequestVariable() - Manually set SeasLog request variable


Record info log information

  • « SeasLog::getRequestVariable
  • SeasLog::log »
  • PHP Manual
  • SeasLog
  • Record info log information

SeasLog::info

(PECL seaslog >=1.0.0)

SeasLog::info — Record info log information

Açıklama

public static SeasLog::info(string $message, array $content = ?, string $logger = ?): bool

Record info log information.

Bilginize:

"INFO" - Interesting events.Emphasizes the running process of the application.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::info() example

<?php

var_dump(SeasLog::info('log message'));

//with content
var_dump(SeasLog::info('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::info('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | INFO | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


The Common Record Log Function

  • « SeasLog::info
  • SeasLog::notice »
  • PHP Manual
  • SeasLog
  • The Common Record Log Function

SeasLog::log

(PECL seaslog >=1.0.0)

SeasLog::log — The Common Record Log Function

Açıklama

public static SeasLog::log(
string $level,
string $message = ?,
array $content = ?,
string $logger = ?
): bool

The Common Record Log Function.

Bağımsız Değişkenler

level

Can use level in:

  • SEASLOG_DEBUG
  • SEASLOG_INFO
  • SEASLOG_NOTICE
  • SEASLOG_WARNING
  • SEASLOG_ERROR
  • SEASLOG_CRITICAL
  • SEASLOG_ALERT
  • SEASLOG_EMERGENCY
Or you can create a new level self-help.

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::log() example

<?php

var_dump(SeasLog::log(SEASLOG_INFO,'info log'));
var_dump(SeasLog::getBuffer());

//create a new level self-help.
var_dump(SeasLog::log('MySelfLevel','info log'));
var_dump(SeasLog::getBuffer());

//with `content`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke')));
var_dump(SeasLog::getBuffer());

//with `logger`
var_dump(SeasLog::log('MySelfLevel','info log {NAME}',array('NAME' => 'neeke'),'tmp_logger'));
var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(79) "2018-07-07 11:12:37 | INFO | 72427 | 5b402fa56a2ea | 1530933157.436 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:13:59 | MySelfLevel | 72470 | 5b402ff781c5e | 1530933239.532 | info log
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:28:12 | MySelfLevel | 72833 | 5b40334ce6a2f | 1530934092.946 | info log neeke
"
  }
}

bool(true)
array(1) {
  ["/var/log/www/default/20180707.log"]=>
  array(1) {
    [0]=>
    string(86) "2018-07-07 11:20:12 | INFO | 72616 | 5b40316c3641e | 1530933612.222 | info log neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information


Record notice log information

  • « SeasLog::log
  • SeasLog::setBasePath »
  • PHP Manual
  • SeasLog
  • Record notice log information

SeasLog::notice

(PECL seaslog >=1.0.0)

SeasLog::notice — Record notice log information

Açıklama

public static SeasLog::notice(string $message, array $content = ?, string $logger = ?): bool

Record notice log information.

Bilginize:

"NOTICE" - Normal but significant events.Information that is more important than the INFO level during execution.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::notice() example

<?php

var_dump(SeasLog::notice('log message'));

//with content
var_dump(SeasLog::notice('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::notice('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | NOTICE | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::warning() - Record warning log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Set SeasLog base path

  • « SeasLog::notice
  • SeasLog::setDatetimeFormat »
  • PHP Manual
  • SeasLog
  • Set SeasLog base path

SeasLog::setBasePath

(PECL seaslog >=1.0.0)

SeasLog::setBasePath — Set SeasLog base path

Açıklama

public static SeasLog::setBasePath(string $base_path): bool

Set SeasLog base path.

Bağımsız Değişkenler

base_path

String.

Dönen Değerler

Return TRUE on setted base path success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::setBasePath() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Set SeasLog datetime format style

  • « SeasLog::setBasePath
  • SeasLog::setLogger »
  • PHP Manual
  • SeasLog
  • Set SeasLog datetime format style

SeasLog::setDatetimeFormat

(PECL seaslog >=1.0.0)

SeasLog::setDatetimeFormat — Set SeasLog datetime format style

Açıklama

public static SeasLog::setDatetimeFormat(string $format): bool

Set SeasLog datetime format style.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

format

String. Such as `Y-m-d H:i:s` or `Ymd His`. See also first param `format` at date().

Dönen Değerler

Return TRUE on setted datetime format success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::setDatetimeFormat() example

<?php

var_dump(SeasLog::setDateTimeFormat('Ymd His'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)

Ayrıca Bakınız

  • SeasLog::getDateTimeFormat() - Get SeasLog datetime format style


Set SeasLog logger name

  • « SeasLog::setDatetimeFormat
  • SeasLog::setRequestID »
  • PHP Manual
  • SeasLog
  • Set SeasLog logger name

SeasLog::setLogger

(PECL seaslog >=1.0.0)

SeasLog::setLogger — Set SeasLog logger name

Açıklama

public static SeasLog::setLogger(string $logger): bool

Use the Function SeasLog::setLogger() will change the value of function SeasLog::getLastLogger(). Than's mean, SeasLog will record loginfo into the logger directory.

Bağımsız Değişkenler

logger

Logger name.

Dönen Değerler

Return TRUE on created logger disectory success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::setLogger() example

<?php

var_dump(SeasLog::setLogger('testModule/testLogger'));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)

Ayrıca Bakınız

  • SeasLog::getLastLogger() - Get SeasLog last logger path
  • SeasLog::closeLoggerStream() - Manually release stream flow from logger


Set SeasLog request_id differentiated requests

  • « SeasLog::setLogger
  • SeasLog::setRequestVariable »
  • PHP Manual
  • SeasLog
  • Set SeasLog request_id differentiated requests

SeasLog::setRequestID

(PECL seaslog >=1.0.0)

SeasLog::setRequestID — Set SeasLog request_id differentiated requests

Açıklama

public static SeasLog::setRequestID(string $request_id): bool

To distinguish a single request, such as not invoking the SeasLog::setRequestId() function, the unique value generated by the built-in `static char *get_uniqid ()` function is used when the request is initialized.

Bağımsız Değişkenler

request_id

String.

Dönen Değerler

Return TRUE on set request_id success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::setRequestID() example

<?php

var_dump(SeasLog::setRequestID(time() . rand()));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)

Ayrıca Bakınız

  • SeasLog::getRequestID() - Get SeasLog request_id differentiated requests


Manually set SeasLog request variable

  • « SeasLog::setRequestID
  • SeasLog::warning »
  • PHP Manual
  • SeasLog
  • Manually set SeasLog request variable

SeasLog::setRequestVariable

(PECL seaslog >=1.9.0)

SeasLog::setRequestVariable — Manually set SeasLog request variable

Açıklama

public static SeasLog::setRequestVariable(int $key, string $value): bool

Manually set SeasLog request variable.

Bağımsız Değişkenler

key

Constant int.

  • SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT
  • SEASLOG_REQUEST_VARIABLE_REQUEST_URI
  • SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD
  • SEASLOG_REQUEST_VARIABLE_CLIENT_IP

value

The request variable value.

Dönen Değerler

Return TRUE on set success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::setRequestVariable() example

<?php

$sDomainPort = 'domain:port';
$sRequestUri = 'uri';
$sRequestMethod = 'method';
$sClientIp = 'client_ip';

$iErrorKey = 1000;

$oSeasLog = new SeasLog();

var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT, $sDomainPort));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI, $sRequestUri));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD, $sRequestMethod));
var_dump($oSeasLog->setRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP, $sClientIp));

var_dump($oSeasLog->setRequestVariable($iErrorKey,NULL));

var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_DOMAIN_PORT) == $sDomainPort);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_URI) == $sRequestUri);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_REQUEST_METHOD) == $sRequestMethod);
var_dump($oSeasLog->getRequestVariable(SEASLOG_REQUEST_VARIABLE_CLIENT_IP) == $sClientIp);

var_dump($oSeasLog->getRequestVariable($iErrorKey));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • SeasLog::getRequestVariable() - Get SeasLog request variable


Record warning log information

  • « SeasLog::setRequestVariable
  • SPL »
  • PHP Manual
  • SeasLog
  • Record warning log information

SeasLog::warning

(PECL seaslog >=1.0.0)

SeasLog::warning — Record warning log information

Açıklama

public static SeasLog::warning(string $message, array $content = ?, string $logger = ?): bool

Record warning log information.

Bilginize:

"WARNING" - Exceptional occurrences that are not errors. Potentially aberrant information that needs attention and needs to be repaired.

Bağımsız Değişkenler

message

The log message.

content

The `message` contain placeholders which implementors replace with values from content array. Sush as `message` is `log info from {NAME}` and `content` is `array('NAME' => neeke)`, the log information will `log info from neeke`.

logger

The `logger` cased by the third param would be used right this right now, like a temp logger, when the function SeasLog::setLogger() called in pre content. If `logger` NULL or "", SeasLog will use lastest logger setted by SeasLog::setLogger().

Dönen Değerler

Return TRUE on record log information success, FALSE on failure.

Örnekler

Örnek 1 SeasLog::warning() example

<?php

var_dump(SeasLog::warning('log message'));

//with content
var_dump(SeasLog::warning('log message from {NAME}',array('NAME' => 'neeke')));

//with tmp logger
var_dump(SeasLog::warning('log message from {NAME}',array('NAME' => 'neeke'),'tmp_logger'));

var_dump(SeasLog::getBuffer());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
array(2) {
  ["/var/log/www/default/20180707.log"]=>
  array(2) {
    [0]=>
    string(81) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message
"
    [1]=>
    string(92) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
  ["/var/log/www/tmp_logger/20180707.log"]=>
  array(1) {
    [0]=>
    string(92) "2018-07-07 11:45:49 | WARNING | 73263 | 5b40376d1067c | 1530935149.68 | log message from neeke
"
  }
}

Ayrıca Bakınız

  • seaslog.default_template
  • SeasLog::debug() - Record debug log information
  • SeasLog::info() - Record info log information
  • SeasLog::notice() - Record notice log information
  • SeasLog::error() - Record error log information
  • SeasLog::critical() - Record critical log information
  • SeasLog::alert() - Record alert log information
  • SeasLog::emergency() - Record emergency log information
  • SeasLog::log() - The Common Record Log Function


Standard PHP Library (SPL)

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Datastructures
    • SplDoublyLinkedList — The SplDoublyLinkedList class
    • SplStack — The SplStack class
    • SplQueue — The SplQueue class
    • SplHeap — The SplHeap class
    • SplMaxHeap — The SplMaxHeap class
    • SplMinHeap — The SplMinHeap class
    • SplPriorityQueue — The SplPriorityQueue class
    • SplFixedArray — The SplFixedArray class
    • SplObjectStorage — The SplObjectStorage class
  • Yineleyiciler
    • AppendIterator — The AppendIterator class
    • ArrayIterator — The ArrayIterator class
    • CachingIterator — The CachingIterator class
    • CallbackFilterIterator — The CallbackFilterIterator class
    • DirectoryIterator — The DirectoryIterator class
    • EmptyIterator — The EmptyIterator class
    • FilesystemIterator — The FilesystemIterator class
    • FilterIterator — The FilterIterator class
    • GlobIterator — The GlobIterator class
    • InfiniteIterator — The InfiniteIterator class
    • IteratorIterator — The IteratorIterator class
    • LimitIterator — The LimitIterator class
    • MultipleIterator — The MultipleIterator class
    • NoRewindIterator — The NoRewindIterator class
    • ParentIterator — The ParentIterator class
    • RecursiveArrayIterator — The RecursiveArrayIterator class
    • RecursiveCachingIterator — The RecursiveCachingIterator class
    • RecursiveCallbackFilterIterator — The RecursiveCallbackFilterIterator class
    • RecursiveDirectoryIterator — The RecursiveDirectoryIterator class
    • RecursiveFilterIterator — The RecursiveFilterIterator class
    • RecursiveIteratorIterator — The RecursiveIteratorIterator class
    • RecursiveRegexIterator — The RecursiveRegexIterator class
    • RecursiveTreeIterator — The RecursiveTreeIterator class
    • RegexIterator — The RegexIterator class
  • Arayüzler
    • Countable — The Countable interface
    • OuterIterator — The OuterIterator interface
    • RecursiveIterator — The RecursiveIterator interface
    • SeekableIterator — The SeekableIterator interface
  • İstisnalar
    • BadFunctionCallException — The BadFunctionCallException class
    • BadMethodCallException — The BadMethodCallException class
    • DomainException — The DomainException class
    • InvalidArgumentException — The InvalidArgumentException class
    • LengthException — The LengthException class
    • LogicException — The LogicException class
    • OutOfBoundsException — The OutOfBoundsException class
    • OutOfRangeException — The OutOfRangeException class
    • OverflowException — The OverflowException class
    • RangeException — The RangeException class
    • RuntimeException — The RuntimeException class
    • UnderflowException — The UnderflowException class
    • UnexpectedValueException — The UnexpectedValueException class
  • SPL İşlevleri
    • class_implements — Return the interfaces which are implemented by the given class or interface
    • class_parents — Return the parent classes of the given class
    • class_uses — Return the traits used by the given class
    • iterator_apply — Call a function for every element in an iterator
    • iterator_count — Count the elements in an iterator
    • iterator_to_array — Copy the iterator into an array
    • spl_autoload_call — Try all registered __autoload() functions to load the requested class
    • spl_autoload_extensions — Register and return default file extensions for spl_autoload
    • spl_autoload_functions — Return all registered __autoload() functions
    • spl_autoload_register — Register given function as __autoload() implementation
    • spl_autoload_unregister — Unregister given function as __autoload() implementation
    • spl_autoload — Default implementation for __autoload()
    • spl_classes — Return available SPL classes
    • spl_object_hash — Return hash id for given object
    • spl_object_id — Return the integer object handle for given object
  • Dosya İşleme
    • SplFileInfo — The SplFileInfo class
    • SplFileObject — The SplFileObject class
    • SplTempFileObject — The SplTempFileObject class
  • Çeşitli Sınıflar ve Arayüzler
    • ArrayObject — The ArrayObject class
    • SplObserver — The SplObserver interface
    • SplSubject — The SplSubject interface


Giriş

The Standard PHP Library (SPL) is a collection of interfaces and classes that are meant to solve common problems.

SPL provides a set of standard datastructure, a set of iterators to traverse over objects, a set of interfaces, a set of standard Exceptions, a number of classes to work with files and it provides a set of functions like spl_autoload_register()


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.


Datastructures

İçindekiler

  • SplDoublyLinkedList
  • SplStack
  • SplQueue
  • SplHeap
  • SplMaxHeap
  • SplMinHeap
  • SplPriorityQueue
  • SplFixedArray
  • SplObjectStorage

SPL provides a set of standard datastructures. They are grouped here by their underlying implementation which usually defines their general field of application.

Doubly Linked Lists

A Doubly Linked List (DLL) is a list of nodes linked in both directions to each other. Iterator's operations, access to both ends, addition or removal of nodes have a cost of O(1) when the underlying structure is a DLL. It hence provides a decent implementation for stacks and queues.

  • SplDoublyLinkedList
    • SplStack
    • SplQueue

Heaps

Heaps are tree-like structures that follow the heap-property: each node is greater than or equal to its children, when compared using the implemented compare method which is global to the heap.

  • SplHeap
    • SplMaxHeap
    • SplMinHeap
  • SplPriorityQueue

Arrays

Arrays are structures that store the data in a continuous way, accessible via indexes. Don't confuse them with PHP arrays: PHP arrays are in fact implemented as ordered hashtables.

  • SplFixedArray

Map

A map is a datastructure holding key-value pairs. PHP arrays can be seen as maps from integers/strings to values. SPL provides a map from objects to data. This map can also be used as an object set.

  • SplObjectStorage


The SplDoublyLinkedList class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplDoublyLinkedList class provides the main functionalities of a doubly linked list.

Sınıf Sözdizimi

class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable {
/* Sabitler */
public const int IT_MODE_LIFO;
public const int IT_MODE_FIFO;
public const int IT_MODE_DELETE;
public const int IT_MODE_KEEP;
/* Yöntemler */
public add(int $index, mixed $value): void
public bottom(): mixed
public count(): int
public current(): mixed
public getIteratorMode(): int
public isEmpty(): bool
public key(): int
public next(): void
public offsetExists(int $index): bool
public offsetGet(int $index): mixed
public offsetSet(?int $index, mixed $value): void
public offsetUnset(int $index): void
public pop(): mixed
public prev(): void
public push(mixed $value): void
public rewind(): void
public serialize(): string
public setIteratorMode(int $mode): int
public shift(): mixed
public top(): mixed
public unserialize(string $data): void
public unshift(mixed $value): void
public valid(): bool
}

Öntanımlı Sabitler

Iteration Direction

SplDoublyLinkedList::IT_MODE_LIFO

The list will be iterated in a last in, first out order, like a stack.

SplDoublyLinkedList::IT_MODE_FIFO

The list will be iterated in a first in, first out order, like a queue.

Iteration Behavior

SplDoublyLinkedList::IT_MODE_DELETE

Iteration will remove the iterated elements.

SplDoublyLinkedList::IT_MODE_KEEP

Iteration will not remove the iterated elements.

İçindekiler

  • SplDoublyLinkedList::add — Add/insert a new value at the specified index
  • SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list
  • SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list
  • SplDoublyLinkedList::current — Return current array entry
  • SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration
  • SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty
  • SplDoublyLinkedList::key — Return current node index
  • SplDoublyLinkedList::next — Move to next entry
  • SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists
  • SplDoublyLinkedList::offsetGet — Returns the value at the specified $index
  • SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $value
  • SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index
  • SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list
  • SplDoublyLinkedList::prev — Move to previous entry
  • SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list
  • SplDoublyLinkedList::rewind — Rewind iterator back to the start
  • SplDoublyLinkedList::serialize — Serializes the storage
  • SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration
  • SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list
  • SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list
  • SplDoublyLinkedList::unserialize — Unserializes the storage
  • SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element
  • SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes


Add/insert a new value at the specified index

  • « SplDoublyLinkedList
  • SplDoublyLinkedList::bottom »
  • PHP Manual
  • SplDoublyLinkedList
  • Add/insert a new value at the specified index

SplDoublyLinkedList::add

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

SplDoublyLinkedList::add — Add/insert a new value at the specified index

Açıklama

public SplDoublyLinkedList::add(int $index, mixed $value): void

Insert the value value at the specified index, shuffling the previous value at that index (and all subsequent values) up through the list.

Bağımsız Değişkenler

index

The index where the new value is to be inserted.

value

The new value for the index.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Peeks at the node from the beginning of the doubly linked list

  • « SplDoublyLinkedList::add
  • SplDoublyLinkedList::count »
  • PHP Manual
  • SplDoublyLinkedList
  • Peeks at the node from the beginning of the doubly linked list

SplDoublyLinkedList::bottom

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::bottom — Peeks at the node from the beginning of the doubly linked list

Açıklama

public SplDoublyLinkedList::bottom(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the first node.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Counts the number of elements in the doubly linked list

  • « SplDoublyLinkedList::bottom
  • SplDoublyLinkedList::current »
  • PHP Manual
  • SplDoublyLinkedList
  • Counts the number of elements in the doubly linked list

SplDoublyLinkedList::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::count — Counts the number of elements in the doubly linked list

Açıklama

public SplDoublyLinkedList::count(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of elements in the doubly linked list.


Return current array entry

  • « SplDoublyLinkedList::count
  • SplDoublyLinkedList::getIteratorMode »
  • PHP Manual
  • SplDoublyLinkedList
  • Return current array entry

SplDoublyLinkedList::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::current — Return current array entry

Açıklama

public SplDoublyLinkedList::current(): mixed

Get the current doubly linked list node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current node value.


Returns the mode of iteration

  • « SplDoublyLinkedList::current
  • SplDoublyLinkedList::isEmpty »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns the mode of iteration

SplDoublyLinkedList::getIteratorMode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::getIteratorMode — Returns the mode of iteration

Açıklama

public SplDoublyLinkedList::getIteratorMode(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the different modes and flags that affect the iteration.


Checks whether the doubly linked list is empty

  • « SplDoublyLinkedList::getIteratorMode
  • SplDoublyLinkedList::key »
  • PHP Manual
  • SplDoublyLinkedList
  • Checks whether the doubly linked list is empty

SplDoublyLinkedList::isEmpty

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::isEmpty — Checks whether the doubly linked list is empty

Açıklama

public SplDoublyLinkedList::isEmpty(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the doubly linked list is empty.


Return current node index

  • « SplDoublyLinkedList::isEmpty
  • SplDoublyLinkedList::next »
  • PHP Manual
  • SplDoublyLinkedList
  • Return current node index

SplDoublyLinkedList::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::key — Return current node index

Açıklama

public SplDoublyLinkedList::key(): int

This function returns the current node index

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current node index.


Move to next entry

  • « SplDoublyLinkedList::key
  • SplDoublyLinkedList::offsetExists »
  • PHP Manual
  • SplDoublyLinkedList
  • Move to next entry

SplDoublyLinkedList::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::next — Move to next entry

Açıklama

public SplDoublyLinkedList::next(): void

Move the iterator to the next node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns whether the requested $index exists

  • « SplDoublyLinkedList::next
  • SplDoublyLinkedList::offsetGet »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns whether the requested $index exists

SplDoublyLinkedList::offsetExists

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::offsetExists — Returns whether the requested $index exists

Açıklama

public SplDoublyLinkedList::offsetExists(int $index): bool

Bağımsız Değişkenler

index

The index being checked.

Dönen Değerler

true if the requested index exists, otherwise false


Returns the value at the specified $index

  • « SplDoublyLinkedList::offsetExists
  • SplDoublyLinkedList::offsetSet »
  • PHP Manual
  • SplDoublyLinkedList
  • Returns the value at the specified $index

SplDoublyLinkedList::offsetGet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::offsetGet — Returns the value at the specified $index

Açıklama

public SplDoublyLinkedList::offsetGet(int $index): mixed

Bağımsız Değişkenler

index

The index with the value.

Dönen Değerler

The value at the specified index.

Hatalar/İstisnalar

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Sets the value at the specified $index to $value

  • « SplDoublyLinkedList::offsetGet
  • SplDoublyLinkedList::offsetUnset »
  • PHP Manual
  • SplDoublyLinkedList
  • Sets the value at the specified $index to $value

SplDoublyLinkedList::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::offsetSet — Sets the value at the specified $index to $value

Açıklama

public SplDoublyLinkedList::offsetSet(?int $index, mixed $value): void

Sets the value at the specified index to value.

Bağımsız Değişkenler

index

The index being set. If null, the next value will be added after the last item.

value

The new value for the index.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Unsets the value at the specified $index

  • « SplDoublyLinkedList::offsetSet
  • SplDoublyLinkedList::pop »
  • PHP Manual
  • SplDoublyLinkedList
  • Unsets the value at the specified $index

SplDoublyLinkedList::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::offsetUnset — Unsets the value at the specified $index

Açıklama

public SplDoublyLinkedList::offsetUnset(int $index): void

Unsets the value at the specified index.

Bağımsız Değişkenler

index

The index being unset.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws OutOfRangeException when index is out of bounds or when index cannot be parsed as an integer.


Pops a node from the end of the doubly linked list

  • « SplDoublyLinkedList::offsetUnset
  • SplDoublyLinkedList::prev »
  • PHP Manual
  • SplDoublyLinkedList
  • Pops a node from the end of the doubly linked list

SplDoublyLinkedList::pop

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::pop — Pops a node from the end of the doubly linked list

Açıklama

public SplDoublyLinkedList::pop(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the popped node.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Move to previous entry

  • « SplDoublyLinkedList::pop
  • SplDoublyLinkedList::push »
  • PHP Manual
  • SplDoublyLinkedList
  • Move to previous entry

SplDoublyLinkedList::prev

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::prev — Move to previous entry

Açıklama

public SplDoublyLinkedList::prev(): void

Move the iterator to the previous node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Pushes an element at the end of the doubly linked list

  • « SplDoublyLinkedList::prev
  • SplDoublyLinkedList::rewind »
  • PHP Manual
  • SplDoublyLinkedList
  • Pushes an element at the end of the doubly linked list

SplDoublyLinkedList::push

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::push — Pushes an element at the end of the doubly linked list

Açıklama

public SplDoublyLinkedList::push(mixed $value): void

Pushes value at the end of the doubly linked list.

Bağımsız Değişkenler

value

The value to push.

Dönen Değerler

Hiçbir değer dönmez.


Rewind iterator back to the start

  • « SplDoublyLinkedList::push
  • SplDoublyLinkedList::serialize »
  • PHP Manual
  • SplDoublyLinkedList
  • Rewind iterator back to the start

SplDoublyLinkedList::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::rewind — Rewind iterator back to the start

Açıklama

public SplDoublyLinkedList::rewind(): void

This rewinds the iterator to the beginning.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Serializes the storage

  • « SplDoublyLinkedList::rewind
  • SplDoublyLinkedList::setIteratorMode »
  • PHP Manual
  • SplDoublyLinkedList
  • Serializes the storage

SplDoublyLinkedList::serialize

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplDoublyLinkedList::serialize — Serializes the storage

Açıklama

public SplDoublyLinkedList::serialize(): string

Serializes the storage.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The serialized string.

Ayrıca Bakınız

  • SplDoublyLinkedList::unserialize() - Unserializes the storage


Sets the mode of iteration

  • « SplDoublyLinkedList::serialize
  • SplDoublyLinkedList::shift »
  • PHP Manual
  • SplDoublyLinkedList
  • Sets the mode of iteration

SplDoublyLinkedList::setIteratorMode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::setIteratorMode — Sets the mode of iteration

Açıklama

public SplDoublyLinkedList::setIteratorMode(int $mode): int

Bağımsız Değişkenler

mode

There are two orthogonal sets of modes that can be set:

  • The direction of the iteration (either one or the other):
    • SplDoublyLinkedList::IT_MODE_LIFO (Stack style)
    • SplDoublyLinkedList::IT_MODE_FIFO (Queue style)
  • The behavior of the iterator (either one or the other):
    • SplDoublyLinkedList::IT_MODE_DELETE (Elements are deleted by the iterator)
    • SplDoublyLinkedList::IT_MODE_KEEP (Elements are traversed by the iterator)

The default mode is: SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP

Uyarı

The direction of iteration can not be changed for SplStack and SplQueue classes, it is always SplDoublyLinkedList::IT_MODE_FIFO. Trying to modify it will result in a RuntimeException being thrown.

Dönen Değerler

Returns the different modes and flags that affect the iteration.


Shifts a node from the beginning of the doubly linked list

  • « SplDoublyLinkedList::setIteratorMode
  • SplDoublyLinkedList::top »
  • PHP Manual
  • SplDoublyLinkedList
  • Shifts a node from the beginning of the doubly linked list

SplDoublyLinkedList::shift

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::shift — Shifts a node from the beginning of the doubly linked list

Açıklama

public SplDoublyLinkedList::shift(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the shifted node.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Peeks at the node from the end of the doubly linked list

  • « SplDoublyLinkedList::shift
  • SplDoublyLinkedList::unserialize »
  • PHP Manual
  • SplDoublyLinkedList
  • Peeks at the node from the end of the doubly linked list

SplDoublyLinkedList::top

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::top — Peeks at the node from the end of the doubly linked list

Açıklama

public SplDoublyLinkedList::top(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the last node.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Unserializes the storage

  • « SplDoublyLinkedList::top
  • SplDoublyLinkedList::unshift »
  • PHP Manual
  • SplDoublyLinkedList
  • Unserializes the storage

SplDoublyLinkedList::unserialize

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplDoublyLinkedList::unserialize — Unserializes the storage

Açıklama

public SplDoublyLinkedList::unserialize(string $data): void

Unserializes the storage, from SplDoublyLinkedList::serialize().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The serialized string.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • SplDoublyLinkedList::serialize() - Serializes the storage


Prepends the doubly linked list with an element

  • « SplDoublyLinkedList::unserialize
  • SplDoublyLinkedList::valid »
  • PHP Manual
  • SplDoublyLinkedList
  • Prepends the doubly linked list with an element

SplDoublyLinkedList::unshift

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::unshift — Prepends the doubly linked list with an element

Açıklama

public SplDoublyLinkedList::unshift(mixed $value): void

Prepends value at the beginning of the doubly linked list.

Bağımsız Değişkenler

value

The value to unshift.

Dönen Değerler

Hiçbir değer dönmez.


Check whether the doubly linked list contains more nodes

  • « SplDoublyLinkedList::unshift
  • SplStack »
  • PHP Manual
  • SplDoublyLinkedList
  • Check whether the doubly linked list contains more nodes

SplDoublyLinkedList::valid

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplDoublyLinkedList::valid — Check whether the doubly linked list contains more nodes

Açıklama

public SplDoublyLinkedList::valid(): bool

Checks if the doubly linked list contains any more nodes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the doubly linked list contains any more nodes, false otherwise.


The SplStack class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplStack class provides the main functionalities of a stack implemented using a doubly linked list by setting the iterator mode to SplDoublyLinkedList::IT_MODE_LIFO.

Sınıf Sözdizimi

class SplStack extends SplDoublyLinkedList {
/* Miras alınan sabitler */
public const int SplDoublyLinkedList::IT_MODE_LIFO;
public const int SplDoublyLinkedList::IT_MODE_FIFO;
public const int SplDoublyLinkedList::IT_MODE_DELETE;
public const int SplDoublyLinkedList::IT_MODE_KEEP;
/* Miras alınan yöntemler */
public SplDoublyLinkedList::add(int $index, mixed $value): void
public SplDoublyLinkedList::bottom(): mixed
public SplDoublyLinkedList::count(): int
public SplDoublyLinkedList::current(): mixed
public SplDoublyLinkedList::getIteratorMode(): int
public SplDoublyLinkedList::isEmpty(): bool
public SplDoublyLinkedList::key(): int
public SplDoublyLinkedList::next(): void
public SplDoublyLinkedList::offsetExists(int $index): bool
public SplDoublyLinkedList::offsetGet(int $index): mixed
public SplDoublyLinkedList::offsetSet(?int $index, mixed $value): void
public SplDoublyLinkedList::offsetUnset(int $index): void
public SplDoublyLinkedList::pop(): mixed
public SplDoublyLinkedList::prev(): void
public SplDoublyLinkedList::push(mixed $value): void
public SplDoublyLinkedList::rewind(): void
public SplDoublyLinkedList::serialize(): string
public SplDoublyLinkedList::setIteratorMode(int $mode): int
public SplDoublyLinkedList::shift(): mixed
public SplDoublyLinkedList::top(): mixed
public SplDoublyLinkedList::unserialize(string $data): void
public SplDoublyLinkedList::unshift(mixed $value): void
public SplDoublyLinkedList::valid(): bool
}

Örnekler

Örnek 1 SplStack example

<?php
$q = new SplStack();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach ($q as $elem) {
echo $elem."\n";
}
?>

Yukarıdaki örneğin çıktısı:

3
2
1


The SplQueue class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplQueue class provides the main functionalities of a queue implemented using a doubly linked list by setting the iterator mode to SplDoublyLinkedList::IT_MODE_FIFO.

Sınıf Sözdizimi

class SplQueue extends SplDoublyLinkedList {
/* Miras alınan sabitler */
public const int SplDoublyLinkedList::IT_MODE_LIFO;
public const int SplDoublyLinkedList::IT_MODE_FIFO;
public const int SplDoublyLinkedList::IT_MODE_DELETE;
public const int SplDoublyLinkedList::IT_MODE_KEEP;
/* Yöntemler */
public dequeue(): mixed
public enqueue(mixed $value): void
/* Miras alınan yöntemler */
public SplDoublyLinkedList::add(int $index, mixed $value): void
public SplDoublyLinkedList::bottom(): mixed
public SplDoublyLinkedList::count(): int
public SplDoublyLinkedList::current(): mixed
public SplDoublyLinkedList::getIteratorMode(): int
public SplDoublyLinkedList::isEmpty(): bool
public SplDoublyLinkedList::key(): int
public SplDoublyLinkedList::next(): void
public SplDoublyLinkedList::offsetExists(int $index): bool
public SplDoublyLinkedList::offsetGet(int $index): mixed
public SplDoublyLinkedList::offsetSet(?int $index, mixed $value): void
public SplDoublyLinkedList::offsetUnset(int $index): void
public SplDoublyLinkedList::pop(): mixed
public SplDoublyLinkedList::prev(): void
public SplDoublyLinkedList::push(mixed $value): void
public SplDoublyLinkedList::rewind(): void
public SplDoublyLinkedList::serialize(): string
public SplDoublyLinkedList::setIteratorMode(int $mode): int
public SplDoublyLinkedList::shift(): mixed
public SplDoublyLinkedList::top(): mixed
public SplDoublyLinkedList::unserialize(string $data): void
public SplDoublyLinkedList::unshift(mixed $value): void
public SplDoublyLinkedList::valid(): bool
}

Örnekler

Örnek 1 SplQueue example

<?php
$q = new SplQueue();
$q[] = 1;
$q[] = 2;
$q[] = 3;
foreach ($q as $elem) {
echo $elem."\n";
}
?>

Yukarıdaki örneğin çıktısı:

1
2
3

Örnek 2 Efficiently handling tasks with SplQueue

<?php
$q = new SplQueue();
$q->setIteratorMode(SplQueue::IT_MODE_DELETE);
// ... enqueue some tasks on the queue ...
// process them
foreach ($q as $task) {
// ... process $task ...
// add new tasks on the queue
$q[] = $newTask;
// ...
}
?>

İçindekiler

  • SplQueue::dequeue — Dequeues a node from the queue
  • SplQueue::enqueue — Adds an element to the queue


Dequeues a node from the queue

  • « SplQueue
  • SplQueue::enqueue »
  • PHP Manual
  • SplQueue
  • Dequeues a node from the queue

SplQueue::dequeue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplQueue::dequeue — Dequeues a node from the queue

Açıklama

public SplQueue::dequeue(): mixed

Dequeues value from the top of the queue.

Bilginize:

SplQueue::dequeue() is an alias of SplDoublyLinkedList::shift().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the dequeued node.


Adds an element to the queue

  • « SplQueue::dequeue
  • SplHeap »
  • PHP Manual
  • SplQueue
  • Adds an element to the queue

SplQueue::enqueue

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplQueue::enqueue — Adds an element to the queue

Açıklama

public SplQueue::enqueue(mixed $value): void

Enqueues value at the end of the queue.

Bilginize:

SplQueue::enqueue() is an alias of SplDoublyLinkedList::push().

Bağımsız Değişkenler

value

The value to enqueue.

Dönen Değerler

Hiçbir değer dönmez.


The SplHeap class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplHeap class provides the main functionalities of a Heap.

Sınıf Sözdizimi

abstract class SplHeap implements Iterator, Countable {
/* Yöntemler */
protected compare(mixed $value1, mixed $value2): int
public count(): int
public current(): mixed
public extract(): mixed
public insert(mixed $value): true
public isCorrupted(): bool
public isEmpty(): bool
public key(): int
public next(): void
public recoverFromCorruption(): bool
public rewind(): void
public top(): mixed
public valid(): bool
}

İçindekiler

  • SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up
  • SplHeap::count — Counts the number of elements in the heap
  • SplHeap::current — Return current node pointed by the iterator
  • SplHeap::extract — Extracts a node from top of the heap and sift up
  • SplHeap::insert — Inserts an element in the heap by sifting it up
  • SplHeap::isCorrupted — Tells if the heap is in a corrupted state
  • SplHeap::isEmpty — Checks whether the heap is empty
  • SplHeap::key — Return current node index
  • SplHeap::next — Move to the next node
  • SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap
  • SplHeap::rewind — Rewind iterator back to the start (no-op)
  • SplHeap::top — Peeks at the node from the top of the heap
  • SplHeap::valid — Check whether the heap contains more nodes


Compare elements in order to place them correctly in the heap while sifting up

  • « SplHeap
  • SplHeap::count »
  • PHP Manual
  • SplHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplHeap::compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Açıklama

protected SplHeap::compare(mixed $value1, mixed $value2): int

Compare value1 with value2.

Uyarı

Throwing exceptions in SplHeap::compare() can corrupt the Heap and place it in a blocked state. You can unblock it by calling SplHeap::recoverFromCorruption(). However, some elements might not be placed correctly and it may hence break the heap-property.

Bağımsız Değişkenler

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Dönen Değerler

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Bilginize:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


Counts the number of elements in the heap

  • « SplHeap::compare
  • SplHeap::current »
  • PHP Manual
  • SplHeap
  • Counts the number of elements in the heap

SplHeap::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::count — Counts the number of elements in the heap

Açıklama

public SplHeap::count(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of elements in the heap.


Return current node pointed by the iterator

  • « SplHeap::count
  • SplHeap::extract »
  • PHP Manual
  • SplHeap
  • Return current node pointed by the iterator

SplHeap::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::current — Return current node pointed by the iterator

Açıklama

public SplHeap::current(): mixed

Get the current datastructure node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current node value.


Extracts a node from top of the heap and sift up

  • « SplHeap::current
  • SplHeap::insert »
  • PHP Manual
  • SplHeap
  • Extracts a node from top of the heap and sift up

SplHeap::extract

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::extract — Extracts a node from top of the heap and sift up

Açıklama

public SplHeap::extract(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the extracted node.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Inserts an element in the heap by sifting it up

  • « SplHeap::extract
  • SplHeap::isCorrupted »
  • PHP Manual
  • SplHeap
  • Inserts an element in the heap by sifting it up

SplHeap::insert

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::insert — Inserts an element in the heap by sifting it up

Açıklama

public SplHeap::insert(mixed $value): true

Insert value in the heap.

Bağımsız Değişkenler

value

The value to insert.

Dönen Değerler

Daima true döndürür.


Tells if the heap is in a corrupted state

  • « SplHeap::insert
  • SplHeap::isEmpty »
  • PHP Manual
  • SplHeap
  • Tells if the heap is in a corrupted state

SplHeap::isCorrupted

(PHP 7, PHP 8)

SplHeap::isCorrupted — Tells if the heap is in a corrupted state

Açıklama

public SplHeap::isCorrupted(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the heap is corrupted, false otherwise.


Checks whether the heap is empty

  • « SplHeap::isCorrupted
  • SplHeap::key »
  • PHP Manual
  • SplHeap
  • Checks whether the heap is empty

SplHeap::isEmpty

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::isEmpty — Checks whether the heap is empty

Açıklama

public SplHeap::isEmpty(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the heap is empty.


Return current node index

  • « SplHeap::isEmpty
  • SplHeap::next »
  • PHP Manual
  • SplHeap
  • Return current node index

SplHeap::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::key — Return current node index

Açıklama

public SplHeap::key(): int

This function returns the current node index

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current node index.


Move to the next node

  • « SplHeap::key
  • SplHeap::recoverFromCorruption »
  • PHP Manual
  • SplHeap
  • Move to the next node

SplHeap::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::next — Move to the next node

Açıklama

public SplHeap::next(): void

Move to the next node. This will delete the top node of the heap.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Recover from the corrupted state and allow further actions on the heap

  • « SplHeap::next
  • SplHeap::rewind »
  • PHP Manual
  • SplHeap
  • Recover from the corrupted state and allow further actions on the heap

SplHeap::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::recoverFromCorruption — Recover from the corrupted state and allow further actions on the heap

Açıklama

public SplHeap::recoverFromCorruption(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Always returns true.


Rewind iterator back to the start (no-op)

  • « SplHeap::recoverFromCorruption
  • SplHeap::top »
  • PHP Manual
  • SplHeap
  • Rewind iterator back to the start (no-op)

SplHeap::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::rewind — Rewind iterator back to the start (no-op)

Açıklama

public SplHeap::rewind(): void

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Peeks at the node from the top of the heap

  • « SplHeap::rewind
  • SplHeap::valid »
  • PHP Manual
  • SplHeap
  • Peeks at the node from the top of the heap

SplHeap::top

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::top — Peeks at the node from the top of the heap

Açıklama

public SplHeap::top(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the node on the top.

Hatalar/İstisnalar

Throws RuntimeException when the data-structure is empty.


Check whether the heap contains more nodes

  • « SplHeap::top
  • SplMaxHeap »
  • PHP Manual
  • SplHeap
  • Check whether the heap contains more nodes

SplHeap::valid

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplHeap::valid — Check whether the heap contains more nodes

Açıklama

public SplHeap::valid(): bool

Checks if the heap contains any more nodes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the heap contains any more nodes, false otherwise.


The SplMaxHeap class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplMaxHeap class provides the main functionalities of a heap, keeping the maximum on the top.

Sınıf Sözdizimi

class SplMaxHeap extends SplHeap {
/* Yöntemler */
protected compare(mixed $value1, mixed $value2): int
/* Miras alınan yöntemler */
protected SplHeap::compare(mixed $value1, mixed $value2): int
public SplHeap::count(): int
public SplHeap::current(): mixed
public SplHeap::extract(): mixed
public SplHeap::insert(mixed $value): true
public SplHeap::isCorrupted(): bool
public SplHeap::isEmpty(): bool
public SplHeap::key(): int
public SplHeap::next(): void
public SplHeap::recoverFromCorruption(): bool
public SplHeap::rewind(): void
public SplHeap::top(): mixed
public SplHeap::valid(): bool
}

İçindekiler

  • SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up


Compare elements in order to place them correctly in the heap while sifting up

  • « SplMaxHeap
  • SplMinHeap »
  • PHP Manual
  • SplMaxHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplMaxHeap::compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplMaxHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Açıklama

protected SplMaxHeap::compare(mixed $value1, mixed $value2): int

Compare value1 with value2.

Bağımsız Değişkenler

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Dönen Değerler

Result of the comparison, positive integer if value1 is greater than value2, 0 if they are equal, negative integer otherwise.

Bilginize:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


The SplMinHeap class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplMinHeap class provides the main functionalities of a heap, keeping the minimum on the top.

Sınıf Sözdizimi

class SplMinHeap extends SplHeap {
/* Yöntemler */
protected compare(mixed $value1, mixed $value2): int
/* Miras alınan yöntemler */
protected SplHeap::compare(mixed $value1, mixed $value2): int
public SplHeap::count(): int
public SplHeap::current(): mixed
public SplHeap::extract(): mixed
public SplHeap::insert(mixed $value): true
public SplHeap::isCorrupted(): bool
public SplHeap::isEmpty(): bool
public SplHeap::key(): int
public SplHeap::next(): void
public SplHeap::recoverFromCorruption(): bool
public SplHeap::rewind(): void
public SplHeap::top(): mixed
public SplHeap::valid(): bool
}

İçindekiler

  • SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up


Compare elements in order to place them correctly in the heap while sifting up

  • « SplMinHeap
  • SplPriorityQueue »
  • PHP Manual
  • SplMinHeap
  • Compare elements in order to place them correctly in the heap while sifting up

SplMinHeap::compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplMinHeap::compare — Compare elements in order to place them correctly in the heap while sifting up

Açıklama

protected SplMinHeap::compare(mixed $value1, mixed $value2): int

Compare value1 with value2.

Bağımsız Değişkenler

value1

The value of the first node being compared.

value2

The value of the second node being compared.

Dönen Değerler

Result of the comparison, positive integer if value1 is lower than value2, 0 if they are equal, negative integer otherwise.

Bilginize:

Having multiple elements with the same value in a Heap is not recommended. They will end up in an arbitrary relative position.


The SplPriorityQueue class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplPriorityQueue class provides the main functionalities of a prioritized queue, implemented using a max heap.

Bilginize: The order of elements with identical priority is undefined. It may differ from the order in which they have been inserted.

Sınıf Sözdizimi

class SplPriorityQueue implements Iterator, Countable {
/* Sabitler */
public const int EXTR_BOTH;
public const int EXTR_PRIORITY;
public const int EXTR_DATA;
/* Yöntemler */
public compare(mixed $priority1, mixed $priority2): int
public count(): int
public current(): mixed
public extract(): mixed
public getExtractFlags(): int
public insert(mixed $value, mixed $priority): true
public isCorrupted(): bool
public isEmpty(): bool
public key(): int
public next(): void
public recoverFromCorruption(): bool
public rewind(): void
public setExtractFlags(int $flags): int
public top(): mixed
public valid(): bool
}

Öntanımlı Sabitler

SplPriorityQueue::EXTR_BOTH

SplPriorityQueue::EXTR_PRIORITY

SplPriorityQueue::EXTR_DATA

İçindekiler

  • SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up
  • SplPriorityQueue::count — Counts the number of elements in the queue
  • SplPriorityQueue::current — Return current node pointed by the iterator
  • SplPriorityQueue::extract — Extracts a node from top of the heap and sift up
  • SplPriorityQueue::getExtractFlags — Get the flags of extraction
  • SplPriorityQueue::insert — Inserts an element in the queue by sifting it up
  • SplPriorityQueue::isCorrupted — Tells if the priority queue is in a corrupted state
  • SplPriorityQueue::isEmpty — Checks whether the queue is empty
  • SplPriorityQueue::key — Return current node index
  • SplPriorityQueue::next — Move to the next node
  • SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue
  • SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)
  • SplPriorityQueue::setExtractFlags — Sets the mode of extraction
  • SplPriorityQueue::top — Peeks at the node from the top of the queue
  • SplPriorityQueue::valid — Check whether the queue contains more nodes


Compare priorities in order to place elements correctly in the heap while sifting up

  • « SplPriorityQueue
  • SplPriorityQueue::count »
  • PHP Manual
  • SplPriorityQueue
  • Compare priorities in order to place elements correctly in the heap while sifting up

SplPriorityQueue::compare

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::compare — Compare priorities in order to place elements correctly in the heap while sifting up

Açıklama

public SplPriorityQueue::compare(mixed $priority1, mixed $priority2): int

Compare priority1 with priority2.

Bağımsız Değişkenler

priority1

The priority of the first node being compared.

priority2

The priority of the second node being compared.

Dönen Değerler

Result of the comparison, positive integer if priority1 is greater than priority2, 0 if they are equal, negative integer otherwise.

Bilginize:

Multiple elements with the same priority will get dequeued in no particular order.


Counts the number of elements in the queue

  • « SplPriorityQueue::compare
  • SplPriorityQueue::current »
  • PHP Manual
  • SplPriorityQueue
  • Counts the number of elements in the queue

SplPriorityQueue::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::count — Counts the number of elements in the queue

Açıklama

public SplPriorityQueue::count(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of elements in the queue.


Return current node pointed by the iterator

  • « SplPriorityQueue::count
  • SplPriorityQueue::extract »
  • PHP Manual
  • SplPriorityQueue
  • Return current node pointed by the iterator

SplPriorityQueue::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::current — Return current node pointed by the iterator

Açıklama

public SplPriorityQueue::current(): mixed

Get the current datastructure node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value or priority (or both) of the current node, depending on the extract flag.


Extracts a node from top of the heap and sift up

  • « SplPriorityQueue::current
  • SplPriorityQueue::getExtractFlags »
  • PHP Manual
  • SplPriorityQueue
  • Extracts a node from top of the heap and sift up

SplPriorityQueue::extract

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::extract — Extracts a node from top of the heap and sift up

Açıklama

public SplPriorityQueue::extract(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value or priority (or both) of the extracted node, depending on the extract flag.


Get the flags of extraction

  • « SplPriorityQueue::extract
  • SplPriorityQueue::insert »
  • PHP Manual
  • SplPriorityQueue
  • Get the flags of extraction

SplPriorityQueue::getExtractFlags

(PHP 7, PHP 8)

SplPriorityQueue::getExtractFlags — Get the flags of extraction

Açıklama

public SplPriorityQueue::getExtractFlags(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the flags of extraction.


Inserts an element in the queue by sifting it up

  • « SplPriorityQueue::getExtractFlags
  • SplPriorityQueue::isCorrupted »
  • PHP Manual
  • SplPriorityQueue
  • Inserts an element in the queue by sifting it up

SplPriorityQueue::insert

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::insert — Inserts an element in the queue by sifting it up

Açıklama

public SplPriorityQueue::insert(mixed $value, mixed $priority): true

Insert value with the priority priority in the queue.

Bağımsız Değişkenler

value

The value to insert.

priority

The associated priority.

Dönen Değerler

Daima true döndürür.


Tells if the priority queue is in a corrupted state

  • « SplPriorityQueue::insert
  • SplPriorityQueue::isEmpty »
  • PHP Manual
  • SplPriorityQueue
  • Tells if the priority queue is in a corrupted state

SplPriorityQueue::isCorrupted

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::isCorrupted — Tells if the priority queue is in a corrupted state

Açıklama

public SplPriorityQueue::isCorrupted(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the priority queue is corrupted, false otherwise.


Checks whether the queue is empty

  • « SplPriorityQueue::isCorrupted
  • SplPriorityQueue::key »
  • PHP Manual
  • SplPriorityQueue
  • Checks whether the queue is empty

SplPriorityQueue::isEmpty

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::isEmpty — Checks whether the queue is empty

Açıklama

public SplPriorityQueue::isEmpty(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the queue is empty.


Return current node index

  • « SplPriorityQueue::isEmpty
  • SplPriorityQueue::next »
  • PHP Manual
  • SplPriorityQueue
  • Return current node index

SplPriorityQueue::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::key — Return current node index

Açıklama

public SplPriorityQueue::key(): int

This function returns the current node index

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current node index.


Move to the next node

  • « SplPriorityQueue::key
  • SplPriorityQueue::recoverFromCorruption »
  • PHP Manual
  • SplPriorityQueue
  • Move to the next node

SplPriorityQueue::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::next — Move to the next node

Açıklama

public SplPriorityQueue::next(): void

Extracts the top node from the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Recover from the corrupted state and allow further actions on the queue

  • « SplPriorityQueue::next
  • SplPriorityQueue::rewind »
  • PHP Manual
  • SplPriorityQueue
  • Recover from the corrupted state and allow further actions on the queue

SplPriorityQueue::recoverFromCorruption

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::recoverFromCorruption — Recover from the corrupted state and allow further actions on the queue

Açıklama

public SplPriorityQueue::recoverFromCorruption(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Always returns true.


Rewind iterator back to the start (no-op)

  • « SplPriorityQueue::recoverFromCorruption
  • SplPriorityQueue::setExtractFlags »
  • PHP Manual
  • SplPriorityQueue
  • Rewind iterator back to the start (no-op)

SplPriorityQueue::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::rewind — Rewind iterator back to the start (no-op)

Açıklama

public SplPriorityQueue::rewind(): void

This rewinds the iterator to the beginning. This is a no-op for heaps as the iterator is virtual and in fact never moves from the top of the heap.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Sets the mode of extraction

  • « SplPriorityQueue::rewind
  • SplPriorityQueue::top »
  • PHP Manual
  • SplPriorityQueue
  • Sets the mode of extraction

SplPriorityQueue::setExtractFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::setExtractFlags — Sets the mode of extraction

Açıklama

public SplPriorityQueue::setExtractFlags(int $flags): int

Bağımsız Değişkenler

flags

Defines what is extracted by SplPriorityQueue::current(),
SplPriorityQueue::top() and
SplPriorityQueue::extract().

  • SplPriorityQueue::EXTR_DATA (0x00000001): Extract the data
  • SplPriorityQueue::EXTR_PRIORITY (0x00000002): Extract the priority
  • SplPriorityQueue::EXTR_BOTH (0x00000003): Extract an array containing both

The default mode is SplPriorityQueue::EXTR_DATA.

Dönen Değerler

Returns the flags of extraction.


Peeks at the node from the top of the queue

  • « SplPriorityQueue::setExtractFlags
  • SplPriorityQueue::valid »
  • PHP Manual
  • SplPriorityQueue
  • Peeks at the node from the top of the queue

SplPriorityQueue::top

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::top — Peeks at the node from the top of the queue

Açıklama

public SplPriorityQueue::top(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value or priority (or both) of the top node, depending on the extract flag.


Check whether the queue contains more nodes

  • « SplPriorityQueue::top
  • SplFixedArray »
  • PHP Manual
  • SplPriorityQueue
  • Check whether the queue contains more nodes

SplPriorityQueue::valid

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplPriorityQueue::valid — Check whether the queue contains more nodes

Açıklama

public SplPriorityQueue::valid(): bool

Checks if the queue contains any more nodes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the queue contains any more nodes, false otherwise.


The SplFixedArray class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The SplFixedArray class provides the main functionalities of array. The main difference between a SplFixedArray and a normal PHP array is that the SplFixedArray must be resized manually and allows only integers within the range as indexes. The advantage is that it uses less memory than a standard array.

Sınıf Sözdizimi

class SplFixedArray implements IteratorAggregate, ArrayAccess, Countable, JsonSerializable {
/* Yöntemler */
public __construct(int $size = 0)
public count(): int
public current(): mixed
public static fromArray(array $array, bool $preserveKeys = true): SplFixedArray
public getIterator(): Iterator
public getSize(): int
public jsonSerialize(): mixed
public key(): int
public next(): void
public offsetExists(int $index): bool
public offsetGet(int $index): mixed
public offsetSet(int $index, mixed $value): void
public offsetUnset(int $index): void
public rewind(): void
public __serialize(): array
public setSize(int $size): bool
public toArray(): array
public __unserialize(array $data): void
public valid(): bool
public __wakeup(): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The SplFixedArray::__serialize() and SplFixedArray::__unserialize() magic methods have been added to SplFixedArray.
8.1.0 | SplFixedArray implements JsonSerializable now.
8.0.0 | SplFixedArray implements IteratorAggregate now. Previously, Iterator was implemented instead.

Örnekler

Örnek 1 SplFixedArray usage example

<?php
// Initialize the array with a fixed length
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)

var_dump($array["4"]); // string(3) "foo"

// Increase the size of the array to 10
$array->setSize(10);

$array[9] = "asdf";

// Shrink the array to a size of 2
$array->setSize(2);

// The following lines throw a RuntimeException: Index invalid or out of range
try {
var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
var_dump($array[-1]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}

try {
var_dump($array[5]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}
?>

Yukarıdaki örneğin çıktısı:

NULL
int(2)
string(3) "foo"
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range
RuntimeException: Index invalid or out of range

İçindekiler

  • SplFixedArray::__construct — Constructs a new fixed array
  • SplFixedArray::count — Returns the size of the array
  • SplFixedArray::current — Return current array entry
  • SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance
  • SplFixedArray::getIterator — Retrieve the iterator to go through the array
  • SplFixedArray::getSize — Gets the size of the array
  • SplFixedArray::jsonSerialize — Returns a representation that can be converted to JSON
  • SplFixedArray::key — Return current array index
  • SplFixedArray::next — Move to next entry
  • SplFixedArray::offsetExists — Returns whether the requested index exists
  • SplFixedArray::offsetGet — Returns the value at the specified index
  • SplFixedArray::offsetSet — Sets a new value at a specified index
  • SplFixedArray::offsetUnset — Unsets the value at the specified $index
  • SplFixedArray::rewind — Rewind iterator back to the start
  • SplFixedArray::__serialize — Serializes the SplFixedArray object
  • SplFixedArray::setSize — Change the size of an array
  • SplFixedArray::toArray — Returns a PHP array from the fixed array
  • SplFixedArray::__unserialize — Deserializes the data parameter into an SplFixedArray object
  • SplFixedArray::valid — Check whether the array contains more elements
  • SplFixedArray::__wakeup — Reinitialises the array after being unserialised


Constructs a new fixed array

  • « SplFixedArray
  • SplFixedArray::count »
  • PHP Manual
  • SplFixedArray
  • Constructs a new fixed array

SplFixedArray::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::__construct — Constructs a new fixed array

Açıklama

public SplFixedArray::__construct(int $size = 0)

Initializes a fixed array with a number of null values equal to size.

Bağımsız Değişkenler

size

The size of the fixed array. This expects a number between 0 and PHP_INT_MAX.

Hatalar/İstisnalar

Throws a ValueError when size is a negative integer.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Now throws a ValueError if size is a negative; previously it threw a InvalidArgumentException.

Örnekler

Örnek 1 SplFixedArray::__construct() example

<?php
$array = new SplFixedArray(5);

$array[1] = 2;
$array[4] = "foo";

foreach($array as $v) {
var_dump($v);
}
?>

Yukarıdaki örneğin çıktısı:

NULL
int(2)
NULL
NULL
string(3) "foo"


Returns the size of the array

  • « SplFixedArray::__construct
  • SplFixedArray::current »
  • PHP Manual
  • SplFixedArray
  • Returns the size of the array

SplFixedArray::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::count — Returns the size of the array

Açıklama

public SplFixedArray::count(): int

Returns the size of the array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the size of the array.

Örnekler

Örnek 1 SplFixedArray::count() example

<?php
$array = new SplFixedArray(5);
echo $array->count() . "\n";
echo count($array) . "\n";
?>

Yukarıdaki örneğin çıktısı:

5
5

Notlar

Bilginize:

This method is functionally equivalent to SplFixedArray::getSize().

Bilginize:

The count of elements is always equal to the set size because all values are initially initialized with null.

Ayrıca Bakınız

  • SplFixedArray::getSize() - Gets the size of the array


Return current array entry

  • « SplFixedArray::count
  • SplFixedArray::fromArray »
  • PHP Manual
  • SplFixedArray
  • Return current array entry

SplFixedArray::current

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::current — Return current array entry

Açıklama

public SplFixedArray::current(): mixed

Get the current array element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current element value.

Hatalar/İstisnalar

Throws RuntimeException when the internal array pointer points to an invalid index or is out of bounds.


Import a PHP array in a SplFixedArray instance

  • « SplFixedArray::current
  • SplFixedArray::getIterator »
  • PHP Manual
  • SplFixedArray
  • Import a PHP array in a SplFixedArray instance

SplFixedArray::fromArray

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance

Açıklama

public static SplFixedArray::fromArray(array $array, bool $preserveKeys = true): SplFixedArray

Import the PHP array array in a new SplFixedArray instance

Bağımsız Değişkenler

array

The array to import.

preserveKeys

Try to save the numeric indexes used in the original array.

Dönen Değerler

Returns an instance of SplFixedArray containing the array content.

Örnekler

Örnek 1 SplFixedArray::fromArray() example

<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));

var_dump($fa);

$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);

var_dump($fa);
?>

Yukarıdaki örneğin çıktısı:

object(SplFixedArray)#1 (4) {
  [0]=>
  int(2)
  [1]=>
  int(1)
  [2]=>
  NULL
  [3]=>
  int(3)
}
object(SplFixedArray)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Retrieve the iterator to go through the array

  • « SplFixedArray::fromArray
  • SplFixedArray::getSize »
  • PHP Manual
  • SplFixedArray
  • Retrieve the iterator to go through the array

SplFixedArray::getIterator

(PHP 8)

SplFixedArray::getIterator — Retrieve the iterator to go through the array

Açıklama

public SplFixedArray::getIterator(): Iterator

Returns the iterator to go through the array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An instance of an object implementing Iterator to go through the array.


Gets the size of the array

  • « SplFixedArray::getIterator
  • SplFixedArray::jsonSerialize »
  • PHP Manual
  • SplFixedArray
  • Gets the size of the array

SplFixedArray::getSize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::getSize — Gets the size of the array

Açıklama

public SplFixedArray::getSize(): int

Gets the size of the array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the size of the array, as an int.

Örnekler

Örnek 1 SplFixedArray::getSize() example

<?php
$array = new SplFixedArray(5);
echo $array->getSize()."\n";
$array->setSize(10);
echo $array->getSize()."\n";
?>

Yukarıdaki örneğin çıktısı:

5
10

Notlar

Bilginize:

This method is functionally equivalent to SplFixedArray::count()

Ayrıca Bakınız

  • SplFixedArray::count() - Returns the size of the array


Returns a representation that can be converted to JSON

  • « SplFixedArray::getSize
  • SplFixedArray::key »
  • PHP Manual
  • SplFixedArray
  • Returns a representation that can be converted to JSON

SplFixedArray::jsonSerialize

(PHP 8 >= 8.1.0)

SplFixedArray::jsonSerialize — Returns a representation that can be converted to JSON

Açıklama

public SplFixedArray::jsonSerialize(): mixed

Serializes the array to a value that can be serialized natively by json_encode().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array data which can be serialized by json_encode(), which is a value of any type other than a resource.


Return current array index

  • « SplFixedArray::jsonSerialize
  • SplFixedArray::next »
  • PHP Manual
  • SplFixedArray
  • Return current array index

SplFixedArray::key

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::key — Return current array index

Açıklama

public SplFixedArray::key(): int

Returns the current array index.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current array index.


Move to next entry

  • « SplFixedArray::key
  • SplFixedArray::offsetExists »
  • PHP Manual
  • SplFixedArray
  • Move to next entry

SplFixedArray::next

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::next — Move to next entry

Açıklama

public SplFixedArray::next(): void

Move the iterator to the next array entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns whether the requested index exists

  • « SplFixedArray::next
  • SplFixedArray::offsetGet »
  • PHP Manual
  • SplFixedArray
  • Returns whether the requested index exists

SplFixedArray::offsetExists

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::offsetExists — Returns whether the requested index exists

Açıklama

public SplFixedArray::offsetExists(int $index): bool

Checks whether the requested index index exists.

Bağımsız Değişkenler

index

The index being checked.

Dönen Değerler

true if the requested index exists, otherwise false


Returns the value at the specified index

  • « SplFixedArray::offsetExists
  • SplFixedArray::offsetSet »
  • PHP Manual
  • SplFixedArray
  • Returns the value at the specified index

SplFixedArray::offsetGet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::offsetGet — Returns the value at the specified index

Açıklama

public SplFixedArray::offsetGet(int $index): mixed

Returns the value at the index index.

Bağımsız Değişkenler

index

The index with the value.

Dönen Değerler

The value at the specified index.

Hatalar/İstisnalar

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Sets a new value at a specified index

  • « SplFixedArray::offsetGet
  • SplFixedArray::offsetUnset »
  • PHP Manual
  • SplFixedArray
  • Sets a new value at a specified index

SplFixedArray::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::offsetSet — Sets a new value at a specified index

Açıklama

public SplFixedArray::offsetSet(int $index, mixed $value): void

Sets the value at the specified index to value.

Bağımsız Değişkenler

index

The index being set.

value

The new value for the index.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Unsets the value at the specified $index

  • « SplFixedArray::offsetSet
  • SplFixedArray::rewind »
  • PHP Manual
  • SplFixedArray
  • Unsets the value at the specified $index

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::offsetUnset — Unsets the value at the specified $index

Açıklama

public SplFixedArray::offsetUnset(int $index): void

Unsets the value at the specified index.

Bağımsız Değişkenler

index

The index being unset.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws RuntimeException when index is outside the defined size of the array or when index cannot be parsed as an integer.


Rewind iterator back to the start

  • « SplFixedArray::offsetUnset
  • SplFixedArray::__serialize »
  • PHP Manual
  • SplFixedArray
  • Rewind iterator back to the start

SplFixedArray::rewind

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::rewind — Rewind iterator back to the start

Açıklama

public SplFixedArray::rewind(): void

Rewinds the iterator to the beginning.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Serializes the SplFixedArray object

  • « SplFixedArray::rewind
  • SplFixedArray::setSize »
  • PHP Manual
  • SplFixedArray
  • Serializes the SplFixedArray object

SplFixedArray::__serialize

(PHP 8 >= 8.2.0)

SplFixedArray::__serialize — Serializes the SplFixedArray object

Açıklama

public SplFixedArray::__serialize(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Change the size of an array

  • « SplFixedArray::__serialize
  • SplFixedArray::toArray »
  • PHP Manual
  • SplFixedArray
  • Change the size of an array

SplFixedArray::setSize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::setSize — Change the size of an array

Açıklama

public SplFixedArray::setSize(int $size): bool

Change the size of an array to the new size of size. If size is less than the current array size, any values after the new size will be discarded. If size is greater than the current array size, the array will be padded with null values.

Bağımsız Değişkenler

size

The new array size. This should be a value between 0 and PHP_INT_MAX.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws InvalidArgumentException when size is less than zero.

Raises E_WARNING when size cannot be used as a number.

Örnekler

Örnek 1 SplFixedArray::setSize() example

<?php
$array = new SplFixedArray(5);
echo $array->getSize()."\n";
$array->setSize(10);
echo $array->getSize()."\n";
?>

Yukarıdaki örneğin çıktısı:

5
10


Returns a PHP array from the fixed array

  • « SplFixedArray::setSize
  • SplFixedArray::__unserialize »
  • PHP Manual
  • SplFixedArray
  • Returns a PHP array from the fixed array

SplFixedArray::toArray

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::toArray — Returns a PHP array from the fixed array

Açıklama

public SplFixedArray::toArray(): array

Returns a PHP array from the fixed array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a PHP array, similar to the fixed array.

Örnekler

Örnek 1 SplFixedArray::toArray() example

<?php
$fa = new SplFixedArray(3);
$fa[0] = 0;
$fa[2] = 2;
var_dump($fa->toArray());
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(0)
  [1]=>
  NULL
  [2]=>
  int(2)
}


Deserializes the data parameter into an SplFixedArray object

  • « SplFixedArray::toArray
  • SplFixedArray::valid »
  • PHP Manual
  • SplFixedArray
  • Deserializes the data parameter into an SplFixedArray object

SplFixedArray::__unserialize

(PHP 8 >= 8.2.0)

SplFixedArray::__unserialize — Deserializes the data parameter into an SplFixedArray object

Açıklama

public SplFixedArray::__unserialize(array $data): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The value being deserialized.

Dönen Değerler

Hiçbir değer dönmez.


Check whether the array contains more elements

  • « SplFixedArray::__unserialize
  • SplFixedArray::__wakeup »
  • PHP Manual
  • SplFixedArray
  • Check whether the array contains more elements

SplFixedArray::valid

(PHP 5 >= 5.3.0, PHP 7)

SplFixedArray::valid — Check whether the array contains more elements

Açıklama

public SplFixedArray::valid(): bool

Checks if the array contains any more elements.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the array contains any more elements, false otherwise.


Reinitialises the array after being unserialised

  • « SplFixedArray::valid
  • SplObjectStorage »
  • PHP Manual
  • SplFixedArray
  • Reinitialises the array after being unserialised

SplFixedArray::__wakeup

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

SplFixedArray::__wakeup — Reinitialises the array after being unserialised

Açıklama

public SplFixedArray::__wakeup(): void

Reinitialises the array after being unserialised.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The SplObjectStorage class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The SplObjectStorage class provides a map from objects to data or, by ignoring data, an object set. This dual purpose can be useful in many cases involving the need to uniquely identify objects.

Sınıf Sözdizimi

class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess {
/* Yöntemler */
public addAll(SplObjectStorage $storage): int
public attach(object $object, mixed $info = null): void
public contains(object $object): bool
public count(int $mode = COUNT_NORMAL): int
public current(): object
public detach(object $object): void
public getHash(object $object): string
public getInfo(): mixed
public key(): int
public next(): void
public offsetExists(object $object): bool
public offsetGet(object $object): mixed
public offsetSet(object $object, mixed $info = null): void
public offsetUnset(object $object): void
public removeAll(SplObjectStorage $storage): int
public removeAllExcept(SplObjectStorage $storage): int
public rewind(): void
public serialize(): string
public setInfo(mixed $info): void
public unserialize(string $data): void
public valid(): bool
}

Örnekler

Örnek 1 SplObjectStorage as a set

<?php
// As an object set
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new stdClass;

$s->attach($o1);
$s->attach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));

$s->detach($o2);

var_dump($s->contains($o1));
var_dump($s->contains($o2));
var_dump($s->contains($o3));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Örnek 2 SplObjectStorage as a map

<?php
// As a map from objects to data
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new stdClass;

$s[$o1] = "data for object 1";
$s[$o2] = array(1,2,3);

if (isset($s[$o2])) {
var_dump($s[$o2]);
}
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

İçindekiler

  • SplObjectStorage::addAll — Adds all objects from another storage
  • SplObjectStorage::attach — Adds an object in the storage
  • SplObjectStorage::contains — Checks if the storage contains a specific object
  • SplObjectStorage::count — Returns the number of objects in the storage
  • SplObjectStorage::current — Returns the current storage entry
  • SplObjectStorage::detach — Removes an object from the storage
  • SplObjectStorage::getHash — Calculate a unique identifier for the contained objects
  • SplObjectStorage::getInfo — Returns the data associated with the current iterator entry
  • SplObjectStorage::key — Returns the index at which the iterator currently is
  • SplObjectStorage::next — Move to the next entry
  • SplObjectStorage::offsetExists — Checks whether an object exists in the storage
  • SplObjectStorage::offsetGet — Returns the data associated with an object
  • SplObjectStorage::offsetSet — Associates data to an object in the storage
  • SplObjectStorage::offsetUnset — Removes an object from the storage
  • SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage
  • SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage
  • SplObjectStorage::rewind — Rewind the iterator to the first storage element
  • SplObjectStorage::serialize — Serializes the storage
  • SplObjectStorage::setInfo — Sets the data associated with the current iterator entry
  • SplObjectStorage::unserialize — Unserializes a storage from its string representation
  • SplObjectStorage::valid — Returns if the current iterator entry is valid


Adds all objects from another storage

  • « SplObjectStorage
  • SplObjectStorage::attach »
  • PHP Manual
  • SplObjectStorage
  • Adds all objects from another storage

SplObjectStorage::addAll

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::addAll — Adds all objects from another storage

Açıklama

public SplObjectStorage::addAll(SplObjectStorage $storage): int

Adds all objects-data pairs from a different storage in the current storage.

Bağımsız Değişkenler

storage

The storage you want to import.

Dönen Değerler

The number of objects in the storage.

Örnekler

Örnek 1 SplObjectStorage::addAll() example

<?php
$o = new stdClass;
$a = new SplObjectStorage();
$a[$o] = "hello";

$b = new SplObjectStorage();
$b->addAll($a);
echo $b[$o]."\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

hello

Ayrıca Bakınız

  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage


Adds an object in the storage

  • « SplObjectStorage::addAll
  • SplObjectStorage::contains »
  • PHP Manual
  • SplObjectStorage
  • Adds an object in the storage

SplObjectStorage::attach

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::attach — Adds an object in the storage

Açıklama

public SplObjectStorage::attach(object $object, mixed $info = null): void

Adds an object inside the storage, and optionally associate it to some data.

Bağımsız Değişkenler

object

The object to add.

info

The data to associate with the object.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::attach() example

<?php
$o1 = new stdClass;
$o2 = new stdClass;
$s = new SplObjectStorage();
$s->attach($o1); // similar to $s[$o1] = NULL;
$s->attach($o2, "hello"); // similar to $s[$o2] = "hello";

var_dump($s[$o1]);
var_dump($s[$o2]);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

NULL
string(5) "hello"

Ayrıca Bakınız

  • SplObjectStorage::detach() - Removes an object from the storage
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage


Checks if the storage contains a specific object

  • « SplObjectStorage::attach
  • SplObjectStorage::count »
  • PHP Manual
  • SplObjectStorage
  • Checks if the storage contains a specific object

SplObjectStorage::contains

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::contains — Checks if the storage contains a specific object

Açıklama

public SplObjectStorage::contains(object $object): bool

Checks if the storage contains the object provided.

Bağımsız Değişkenler

object

The object to look for.

Dönen Değerler

Returns true if the object is in the storage, false otherwise.

Örnekler

Örnek 1 SplObjectStorage::contains() example

<?php
$o1 = new stdClass;
$o2 = new stdClass;

$s = new SplObjectStorage();

$s[$o1] = "hello";
var_dump($s->contains($o1));
var_dump($s->contains($o2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)

Ayrıca Bakınız

  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage


Returns the number of objects in the storage

  • « SplObjectStorage::contains
  • SplObjectStorage::current »
  • PHP Manual
  • SplObjectStorage
  • Returns the number of objects in the storage

SplObjectStorage::count

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::count — Returns the number of objects in the storage

Açıklama

public SplObjectStorage::count(int $mode = COUNT_NORMAL): int

Counts the number of objects in the storage.

Bağımsız Değişkenler

mode

If the optional mode parameter is set to COUNT_RECURSIVE (or 1), SplObjectStorage::count() will recursively count the storage.

Dönen Değerler

The number of objects in the storage.

Örnekler

Örnek 1 SplObjectStorage::count() example

<?php
$s = new SplObjectStorage();
$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1);
$s->attach($o2);
$s->attach($o1);
var_dump($s->count());
var_dump(count($s));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(2)
int(2)

Ayrıca Bakınız

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::detach() - Removes an object from the storage


Returns the current storage entry

  • « SplObjectStorage::count
  • SplObjectStorage::detach »
  • PHP Manual
  • SplObjectStorage
  • Returns the current storage entry

SplObjectStorage::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::current — Returns the current storage entry

Açıklama

public SplObjectStorage::current(): object

Returns the current storage entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The object at the current iterator position.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | SplObjectStorage::current() now throws an Error exception if the current position is invalid. Previously, false was returned instead.

Örnekler

Örnek 1 SplObjectStorage::current() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // similar to current($s)
$data = $s->getInfo();

var_dump($object);
var_dump($data);
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Ayrıca Bakınız

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Removes an object from the storage

  • « SplObjectStorage::current
  • SplObjectStorage::getHash »
  • PHP Manual
  • SplObjectStorage
  • Removes an object from the storage

SplObjectStorage::detach

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::detach — Removes an object from the storage

Açıklama

public SplObjectStorage::detach(object $object): void

Removes the object from the storage.

Bağımsız Değişkenler

object

The object to remove.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::detach() example

<?php
$o = new stdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->detach($o);
var_dump(count($s));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
int(0)

Ayrıca Bakınız

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::removeAll() - Removes objects contained in another storage from the current storage


Calculate a unique identifier for the contained objects

  • « SplObjectStorage::detach
  • SplObjectStorage::getInfo »
  • PHP Manual
  • SplObjectStorage
  • Calculate a unique identifier for the contained objects

SplObjectStorage::getHash

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplObjectStorage::getHash — Calculate a unique identifier for the contained objects

Açıklama

public SplObjectStorage::getHash(object $object): string

This method calculates an identifier for the objects added to an SplObjectStorage object.

The implementation in SplObjectStorage returns the same value as spl_object_hash().

The storage object will never contain more than one object with the same identifier. As such, it can be used to implement a set (a collection of unique values) where the quality of an object being unique is determined by the value returned by this function being unique.

Bağımsız Değişkenler

object

The object whose identifier is to be calculated.

Dönen Değerler

A string with the calculated identifier.

Hatalar/İstisnalar

A RuntimeException is thrown when the returned value is not a string.

Örnekler

Örnek 1 SplObjectStorage::getHash() example

<?php
class OneSpecimenPerClassStorage extends SplObjectStorage {
public function getHash($o) {
return get_class($o);
}
}
class A {}

$s = new OneSpecimenPerClassStorage;
$o1 = new stdClass;
$o2 = new stdClass;
$o3 = new A;

$s[$o1] = 1;
//$o2 is considered equal to $o1 so the value is replaced
$s[$o2] = 2;
$s[$o3] = 3;

//these are considered equal to the objects before
//so they can be used to access the values stored under them
$p1 = new stdClass;
$p2 = new A;
echo $s[$p1], "\n";
echo $s[$p2], "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2
3

Ayrıca Bakınız

  • spl_object_hash() - Return hash id for given object


Returns the data associated with the current iterator entry

  • « SplObjectStorage::getHash
  • SplObjectStorage::key »
  • PHP Manual
  • SplObjectStorage
  • Returns the data associated with the current iterator entry

SplObjectStorage::getInfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::getInfo — Returns the data associated with the current iterator entry

Açıklama

public SplObjectStorage::getInfo(): mixed

Returns the data, or info, associated with the object pointed by the current iterator position.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The data associated with the current iterator position.

Örnekler

Örnek 1 SplObjectStorage::getInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // similar to current($s)
$data = $s->getInfo();

var_dump($object);
var_dump($data);
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#2 (0) {
}
string(2) "d1"
object(stdClass)#3 (0) {
}
string(2) "d2"

Ayrıca Bakınız

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::setInfo() - Sets the data associated with the current iterator entry


Returns the index at which the iterator currently is

  • « SplObjectStorage::getInfo
  • SplObjectStorage::next »
  • PHP Manual
  • SplObjectStorage
  • Returns the index at which the iterator currently is

SplObjectStorage::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::key — Returns the index at which the iterator currently is

Açıklama

public SplObjectStorage::key(): int

Returns the index at which the iterator currently is.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The index corresponding to the position of the iterator.

Örnekler

Örnek 1 SplObjectStorage::key() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // similar to current($s)

var_dump($index);
var_dump($object);
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Ayrıca Bakınız

  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid


Move to the next entry

  • « SplObjectStorage::key
  • SplObjectStorage::offsetExists »
  • PHP Manual
  • SplObjectStorage
  • Move to the next entry

SplObjectStorage::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::next — Move to the next entry

Açıklama

public SplObjectStorage::next(): void

Moves the iterator to the next object in the storage.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::next() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // similar to current($s)

var_dump($index);
var_dump($object);
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
object(stdClass)#2 (0) {
}
int(1)
object(stdClass)#3 (0) {
}

Ayrıca Bakınız

  • SPLObjectStorage::rewind() - Rewind the iterator to the first storage element


Checks whether an object exists in the storage

  • « SplObjectStorage::next
  • SplObjectStorage::offsetGet »
  • PHP Manual
  • SplObjectStorage
  • Checks whether an object exists in the storage

SplObjectStorage::offsetExists

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::offsetExists — Checks whether an object exists in the storage

Açıklama

public SplObjectStorage::offsetExists(object $object): bool

Checks whether an object exists in the storage.

Bilginize:

SplObjectStorage::offsetExists() is an alias of SplObjectStorage::contains().

Bağımsız Değişkenler

object

The object to look for.

Dönen Değerler

Returns true if the object exists in the storage, and false otherwise.

Örnekler

Örnek 1 SplObjectStorage::offsetExists() example

<?php
$s = new SplObjectStorage;
$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1);

var_dump($s->offsetExists($o1)); // Similar to isset($s[$o1])
var_dump($s->offsetExists($o2)); // Similar to isset($s[$o2])
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)

Ayrıca Bakınız

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Returns the data associated with an object

  • « SplObjectStorage::offsetExists
  • SplObjectStorage::offsetSet »
  • PHP Manual
  • SplObjectStorage
  • Returns the data associated with an object

SplObjectStorage::offsetGet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::offsetGet — Returns the data associated with an object

Açıklama

public SplObjectStorage::offsetGet(object $object): mixed

Returns the data associated with an object in the storage.

Bağımsız Değişkenler

object

The object to look for.

Dönen Değerler

The data previously associated with the object in the storage.

Hatalar/İstisnalar

Throws UnexpectedValueException when object could not be found.

Örnekler

Örnek 1 SplObjectStorage::offsetGet() example

<?php
$s = new SplObjectStorage;

$o1 = new stdClass;
$o2 = new stdClass;

$s[$o1] = "hello";
$s->attach($o2);

var_dump($s->offsetGet($o1)); // Similar to $s[$o1]
var_dump($s->offsetGet($o2)); // Similar to $s[$o2]
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "hello"
NULL

Ayrıca Bakınız

  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Associates data to an object in the storage

  • « SplObjectStorage::offsetGet
  • SplObjectStorage::offsetUnset »
  • PHP Manual
  • SplObjectStorage
  • Associates data to an object in the storage

SplObjectStorage::offsetSet

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::offsetSet — Associates data to an object in the storage

Açıklama

public SplObjectStorage::offsetSet(object $object, mixed $info = null): void

Associate data to an object in the storage.

Bilginize:

SplObjectStorage::offsetSet() is an alias of SplObjectStorage::attach().

Bağımsız Değişkenler

object

The object to associate data with.

info

The data to associate with the object.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::offsetSet() example

<?php
$s = new SplObjectStorage;

$o1 = new stdClass;

$s->offsetSet($o1, "hello"); // Similar to $s[$o1] = "hello";

var_dump($s[$o1]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "hello"

Ayrıca Bakınız

  • SplObjectStorage::attach() - Adds an object in the storage
  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage
  • SplObjectStorage::offsetUnset() - Removes an object from the storage


Removes an object from the storage

  • « SplObjectStorage::offsetSet
  • SplObjectStorage::removeAll »
  • PHP Manual
  • SplObjectStorage
  • Removes an object from the storage

SplObjectStorage::offsetUnset

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::offsetUnset — Removes an object from the storage

Açıklama

public SplObjectStorage::offsetUnset(object $object): void

Removes an object from the storage.

Bilginize:

SplObjectStorage::offsetUnset() is an alias of SplObjectStorage::detach().

Bağımsız Değişkenler

object

The object to remove.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::offsetUnset() example

<?php
$o = new stdClass;
$s = new SplObjectStorage();
$s->attach($o);
var_dump(count($s));
$s->offsetUnset($o); // Similar to unset($s[$o])
var_dump(count($s));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
int(0)

Ayrıca Bakınız

  • SplObjectStorage::offsetGet() - Returns the data associated with an object
  • SplObjectStorage::offsetSet() - Associates data to an object in the storage
  • SplObjectStorage::offsetExists() - Checks whether an object exists in the storage


Removes objects contained in another storage from the current storage

  • « SplObjectStorage::offsetUnset
  • SplObjectStorage::removeAllExcept »
  • PHP Manual
  • SplObjectStorage
  • Removes objects contained in another storage from the current storage

SplObjectStorage::removeAll

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::removeAll — Removes objects contained in another storage from the current storage

Açıklama

public SplObjectStorage::removeAll(SplObjectStorage $storage): int

Removes objects contained in another storage from the current storage.

Bağımsız Değişkenler

storage

The storage containing the elements to remove.

Dönen Değerler

Returns the number of remaining objects.

Örnekler

Örnek 1 SplObjectStorage::removeAll() example

<?php
$o1 = new stdClass;
$o2 = new stdClass;
$a = new SplObjectStorage();
$a[$o1] = "foo";

$b = new SplObjectStorage();
$b[$o1] = "bar";
$b[$o2] = "gee";

var_dump(count($b));
$b->removeAll($a);
var_dump(count($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(2)
int(1)

Ayrıca Bakınız

  • SplObjectStorage::addAll() - Adds all objects from another storage


Removes all objects except for those contained in another storage from the current storage

  • « SplObjectStorage::removeAll
  • SplObjectStorage::rewind »
  • PHP Manual
  • SplObjectStorage
  • Removes all objects except for those contained in another storage from the current storage

SplObjectStorage::removeAllExcept

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

SplObjectStorage::removeAllExcept — Removes all objects except for those contained in another storage from the current storage

Açıklama

public SplObjectStorage::removeAllExcept(SplObjectStorage $storage): int

Removes all objects except for those contained in another storage from the current storage.

Bağımsız Değişkenler

storage

The storage containing the elements to retain in the current storage.

Dönen Değerler

Returns the number of remaining objects.

Örnekler

Örnek 1 SplObjectStorage::removeAllExcept() example

<?php
$a = (object) 'a';
$b = (object) 'b';
$c = (object) 'c';

$foo = new SplObjectStorage;
$foo->attach($a);
$foo->attach($b);

$bar = new SplObjectStorage;
$bar->attach($b);
$bar->attach($c);

$foo->removeAllExcept($bar);
var_dump($foo->contains($a));
var_dump($foo->contains($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Rewind the iterator to the first storage element

  • « SplObjectStorage::removeAllExcept
  • SplObjectStorage::serialize »
  • PHP Manual
  • SplObjectStorage
  • Rewind the iterator to the first storage element

SplObjectStorage::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::rewind — Rewind the iterator to the first storage element

Açıklama

public SplObjectStorage::rewind(): void

Rewind the iterator to the first storage element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::rewind() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$index = $s->key();
$object = $s->current(); // similar to current($s)
$data = $s->getInfo();

var_dump($object);
var_dump($data);
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
int(0)

Ayrıca Bakınız

  • SplObjectStorage::next() - Move to the next entry


Serializes the storage

  • « SplObjectStorage::rewind
  • SplObjectStorage::setInfo »
  • PHP Manual
  • SplObjectStorage
  • Serializes the storage

SplObjectStorage::serialize

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

SplObjectStorage::serialize — Serializes the storage

Açıklama

public SplObjectStorage::serialize(): string

Returns a string representation of the storage.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representing the storage.

Örnekler

Örnek 1 SplObjectStorage::serialize() example

<?php
$s = new SplObjectStorage;
$o = new stdClass;
$s[$o] = "data";

echo $s->serialize()."\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

x:i:1;O:8:"stdClass":0:{},s:4:"data";;m:a:0:{}

Ayrıca Bakınız

  • SplObjectStorage::unserialize() - Unserializes a storage from its string representation


Sets the data associated with the current iterator entry

  • « SplObjectStorage::serialize
  • SplObjectStorage::unserialize »
  • PHP Manual
  • SplObjectStorage
  • Sets the data associated with the current iterator entry

SplObjectStorage::setInfo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplObjectStorage::setInfo — Sets the data associated with the current iterator entry

Açıklama

public SplObjectStorage::setInfo(mixed $info): void

Associates data, or info, with the object currently pointed to by the iterator.

Bağımsız Değişkenler

info

The data to associate with the current iterator entry.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::setInfo() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
$s->setInfo("new");
$s->next();
}
var_dump($s[$o1]);
var_dump($s[$o2]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(3) "new"
string(3) "new"

Ayrıca Bakınız

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::rewind() - Rewind the iterator to the first storage element
  • SplObjectStorage::key() - Returns the index at which the iterator currently is
  • SplObjectStorage::next() - Move to the next entry
  • SplObjectStorage::valid() - Returns if the current iterator entry is valid
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Unserializes a storage from its string representation

  • « SplObjectStorage::setInfo
  • SplObjectStorage::valid »
  • PHP Manual
  • SplObjectStorage
  • Unserializes a storage from its string representation

SplObjectStorage::unserialize

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

SplObjectStorage::unserialize — Unserializes a storage from its string representation

Açıklama

public SplObjectStorage::unserialize(string $data): void

Unserializes storage entries and attach them to the current storage.

Bağımsız Değişkenler

data

The serialized representation of a storage.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplObjectStorage::unserialize() example

<?php
$s1 = new SplObjectStorage;
$s2 = new SplObjectStorage;
$o = new stdClass;
$s1[$o] = "data";

$s2->unserialize($s1->serialize());

var_dump(count($s2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)

Ayrıca Bakınız

  • SplObjectStorage::serialize() - Serializes the storage


Returns if the current iterator entry is valid

  • « SplObjectStorage::unserialize
  • Yineleyiciler »
  • PHP Manual
  • SplObjectStorage
  • Returns if the current iterator entry is valid

SplObjectStorage::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObjectStorage::valid — Returns if the current iterator entry is valid

Açıklama

public SplObjectStorage::valid(): bool

Returns if the current iterator entry is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the iterator entry is valid, false otherwise.

Örnekler

Örnek 1 SplObjectStorage::valid() example

<?php
$s = new SplObjectStorage();

$o1 = new stdClass;
$o2 = new stdClass;

$s->attach($o1, "d1");
$s->attach($o2, "d2");

$s->rewind();
while($s->valid()) {
echo $s->key()."\n";
$s->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0
1

Ayrıca Bakınız

  • SplObjectStorage::current() - Returns the current storage entry
  • SplObjectStorage::getInfo() - Returns the data associated with the current iterator entry


Yineleyiciler

İçindekiler

  • AppendIterator
  • ArrayIterator
  • CachingIterator
  • CallbackFilterIterator
  • DirectoryIterator
  • EmptyIterator
  • FilesystemIterator
  • FilterIterator
  • GlobIterator
  • InfiniteIterator
  • IteratorIterator
  • LimitIterator
  • MultipleIterator
  • NoRewindIterator
  • ParentIterator
  • RecursiveArrayIterator
  • RecursiveCachingIterator
  • RecursiveCallbackFilterIterator
  • RecursiveDirectoryIterator
  • RecursiveFilterIterator
  • RecursiveIteratorIterator
  • RecursiveRegexIterator
  • RecursiveTreeIterator
  • RegexIterator

SPL nesneler üzerinde inceleme yapmak için çeşitli yineleyiciler sağlar.

SPL Iterators Class Tree

  • ArrayIterator
    • RecursiveArrayIterator
  • EmptyIterator
  • IteratorIterator
    • AppendIterator
    • CachingIterator
      • RecursiveCachingIterator
    • FilterIterator
      • CallbackFilterIterator
        • RecursiveCallbackFilterIterator
      • RecursiveFilterIterator
        • ParentIterator
      • RegexIterator
        • RecursiveRegexIterator
    • InfiniteIterator
    • LimitIterator
    • NoRewindIterator
  • MultipleIterator
  • RecursiveIteratorIterator
    • RecursiveTreeIterator
  • DirectoryIterator (extends SplFileInfo)
    • FilesystemIterator
      • GlobIterator
      • RecursiveDirectoryIterator


The AppendIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

An Iterator that iterates over several iterators one after the other.

Sınıf Sözdizimi

class AppendIterator extends IteratorIterator {
/* Yöntemler */
public __construct()
public append(Iterator $iterator): void
public current(): mixed
public getArrayIterator(): ArrayIterator
public getIteratorIndex(): ?int
public key(): scalar
public next(): void
public rewind(): void
public valid(): bool
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • AppendIterator::append — Appends an iterator
  • AppendIterator::__construct — Constructs an AppendIterator
  • AppendIterator::current — Gets the current value
  • AppendIterator::getArrayIterator — Gets the ArrayIterator
  • AppendIterator::getIteratorIndex — Gets an index of iterators
  • AppendIterator::key — Gets the current key
  • AppendIterator::next — Moves to the next element
  • AppendIterator::rewind — Rewinds the Iterator
  • AppendIterator::valid — Checks validity of the current element


Appends an iterator

  • « AppendIterator
  • AppendIterator::__construct »
  • PHP Manual
  • AppendIterator
  • Appends an iterator

AppendIterator::append

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::append — Appends an iterator

Açıklama

public AppendIterator::append(Iterator $iterator): void

Appends an iterator.

Bağımsız Değişkenler

iterator

The iterator to append.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 AppendIterator::append() example

<?php
$array_a = new ArrayIterator(array('a', 'b', 'c'));
$array_b = new ArrayIterator(array('d', 'e', 'f'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $current) {
echo $current;
}
?>

Yukarıdaki örneğin çıktısı:

abcdef

Ayrıca Bakınız

  • AppendIterator::__construct() - Constructs an AppendIterator


Constructs an AppendIterator

  • « AppendIterator::append
  • AppendIterator::current »
  • PHP Manual
  • AppendIterator
  • Constructs an AppendIterator

AppendIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::__construct — Constructs an AppendIterator

Açıklama

public AppendIterator::__construct()

Constructs an AppendIterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 Iterating AppendIterator with foreach

<?php
$pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

foreach ($appendIterator as $key => $item) {
echo $key . ' => ' . $item . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham

Örnek 2 Iterating AppendIterator with the AppendIterator API

<?php
$pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));

$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);

while ($appendIterator->valid()) {
printf(
'%s => %s => %s%s',
$appendIterator->getIteratorIndex(),
$appendIterator->key(),
$appendIterator->current(),
PHP_EOL
);
$appendIterator->next();
}
?>

Yukarıdaki örneğin çıktısı:

0 => 0 => Margarita
0 => 1 => Siciliana
0 => 2 => Hawaii
1 => 0 => Cheese
1 => 1 => Anchovies
1 => 2 => Olives
1 => 3 => Pineapple
1 => 4 => Ham

Notlar

Dikkat

When using iterator_to_array() to copy the values of the AppendIterator into an array, you have to set the optional use_key argument to false. When use_key is not false any keys reoccurring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.

Ayrıca Bakınız

  • AppendIterator::append() - Appends an iterator


Gets the current value

  • « AppendIterator::__construct
  • AppendIterator::getArrayIterator »
  • PHP Manual
  • AppendIterator
  • Gets the current value

AppendIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::current — Gets the current value

Açıklama

public AppendIterator::current(): mixed

Gets the current value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current value if it is valid or null otherwise.

Ayrıca Bakınız

  • Iterator::current() - O anki elemanı döndürür
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


Gets the ArrayIterator

  • « AppendIterator::current
  • AppendIterator::getIteratorIndex »
  • PHP Manual
  • AppendIterator
  • Gets the ArrayIterator

AppendIterator::getArrayIterator

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

AppendIterator::getArrayIterator — Gets the ArrayIterator

Açıklama

public AppendIterator::getArrayIterator(): ArrayIterator

This method gets the ArrayIterator that is used to store the iterators added with AppendIterator::append().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an ArrayIterator containing the appended iterators.

Ayrıca Bakınız

  • AppendIterator::getInnerIterator()


Gets an index of iterators

  • « AppendIterator::getArrayIterator
  • AppendIterator::key »
  • PHP Manual
  • AppendIterator
  • Gets an index of iterators

AppendIterator::getIteratorIndex

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

AppendIterator::getIteratorIndex — Gets an index of iterators

Açıklama

public AppendIterator::getIteratorIndex(): ?int

Gets the index of the current inner iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the zero-based, integer index of the current inner iterator if it exists, or null otherwise.

Örnekler

Örnek 1 AppendIterator.getIteratorIndex() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

foreach ($iterator as $key => $current) {
echo $iterator->getIteratorIndex() . ' ' . $key . ' ' . $current . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

0  a aardwolf
0  b bear
0  c capybara
1  0 apple
1  1 orange
1  2 lemon

Ayrıca Bakınız

  • AppendIterator::getInnerIterator()
  • AppendIterator::getArrayIterator() - Gets the ArrayIterator


Gets the current key

  • « AppendIterator::getIteratorIndex
  • AppendIterator::next »
  • PHP Manual
  • AppendIterator
  • Gets the current key

AppendIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::key — Gets the current key

Açıklama

public AppendIterator::key(): scalar

Get the current key.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current key if it is valid or null otherwise.

Örnekler

Örnek 1 AppendIterator::key() basic example

<?php
$array_a = new ArrayIterator(array('a' => 'aardwolf', 'b' => 'bear', 'c' => 'capybara'));
$array_b = new ArrayIterator(array('apple', 'orange', 'lemon'));

$iterator = new AppendIterator;
$iterator->append($array_a);
$iterator->append($array_b);

// Manual iteration
$iterator->rewind();
while ($iterator->valid()) {
echo $iterator->key() . ' ' . $iterator->current() . PHP_EOL;
$iterator->next();
}

echo PHP_EOL;

// With foreach
foreach ($iterator as $key => $current) {
echo $key . ' ' . $current . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

a aardwolf
b bear
c capybara
0 apple
1 orange
2 lemon

Ayrıca Bakınız

  • Iterator::key() - O anki elemanın anahtarını döndürür
  • AppendIterator::current() - Gets the current value
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


Moves to the next element

  • « AppendIterator::key
  • AppendIterator::rewind »
  • PHP Manual
  • AppendIterator
  • Moves to the next element

AppendIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::next — Moves to the next element

Açıklama

public AppendIterator::next(): void

Moves to the next element. If this means to another Iterator then it rewinds that Iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Iterator::next() - Konumu sonraki elemana ilerletir
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::valid() - Checks validity of the current element
  • AppendIterator::rewind() - Rewinds the Iterator


Rewinds the Iterator

  • « AppendIterator::next
  • AppendIterator::valid »
  • PHP Manual
  • AppendIterator
  • Rewinds the Iterator

AppendIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::rewind — Rewinds the Iterator

Açıklama

public AppendIterator::rewind(): void

Rewind to the first element of the first inner Iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Iterator::rewind() - Yineleyiciyi ilk elemana konumlandırır
  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::valid() - Checks validity of the current element


Checks validity of the current element

  • « AppendIterator::rewind
  • ArrayIterator »
  • PHP Manual
  • AppendIterator
  • Checks validity of the current element

AppendIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::valid — Checks validity of the current element

Açıklama

public AppendIterator::valid(): bool

Checks validity of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current iteration is valid, false otherwise.

Ayrıca Bakınız

  • AppendIterator::current() - Gets the current value
  • AppendIterator::key() - Gets the current key
  • AppendIterator::next() - Moves to the next element
  • AppendIterator::rewind() - Rewinds the Iterator


The ArrayIterator class

(PHP 5, PHP 7, PHP 8)

Giriş

Allows the removal of elements, and the modification of keys or values while iterating over Arrays or Objects.

When you want to iterate over the same array multiple times you need to instantiate ArrayObject and let it create ArrayIterator instances that refer to it either by using foreach or by calling its getIterator() method manually.

Sınıf Sözdizimi

class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Countable {
/* Sabitler */
public const int STD_PROP_LIST;
public const int ARRAY_AS_PROPS;
/* Yöntemler */
public __construct(array|object $array = [], int $flags = 0)
public append(mixed $value): void
public asort(int $flags = SORT_REGULAR): true
public count(): int
public current(): mixed
public getArrayCopy(): array
public getFlags(): int
public key(): string|int|null
public ksort(int $flags = SORT_REGULAR): true
public natcasesort(): true
public natsort(): true
public next(): void
public offsetExists(mixed $key): bool
public offsetGet(mixed $key): mixed
public offsetSet(mixed $key, mixed $value): void
public offsetUnset(mixed $key): void
public rewind(): void
public seek(int $offset): void
public serialize(): string
public setFlags(int $flags): void
public uasort(callable $callback): true
public uksort(callable $callback): true
public unserialize(string $data): void
public valid(): bool
}

Öntanımlı Sabitler

ArrayIterator Flags

ArrayIterator::STD_PROP_LIST

Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).

ArrayIterator::ARRAY_AS_PROPS

Entries can be accessed as properties (read and write).

İçindekiler

  • ArrayIterator::append — Append an element
  • ArrayIterator::asort — Sort entries by values
  • ArrayIterator::__construct — Construct an ArrayIterator
  • ArrayIterator::count — Count elements
  • ArrayIterator::current — Return current array entry
  • ArrayIterator::getArrayCopy — Get array copy
  • ArrayIterator::getFlags — Get behavior flags
  • ArrayIterator::key — Return current array key
  • ArrayIterator::ksort — Sort entries by keys
  • ArrayIterator::natcasesort — Sort entries naturally, case insensitive
  • ArrayIterator::natsort — Sort entries naturally
  • ArrayIterator::next — Move to next entry
  • ArrayIterator::offsetExists — Check if offset exists
  • ArrayIterator::offsetGet — Get value for an offset
  • ArrayIterator::offsetSet — Set value for an offset
  • ArrayIterator::offsetUnset — Unset value for an offset
  • ArrayIterator::rewind — Rewind array back to the start
  • ArrayIterator::seek — Seek to position
  • ArrayIterator::serialize — Serialize
  • ArrayIterator::setFlags — Set behaviour flags
  • ArrayIterator::uasort — Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort — Sort by keys using a user-defined comparison function
  • ArrayIterator::unserialize — Unserialize
  • ArrayIterator::valid — Check whether array contains more entries


Append an element

  • « ArrayIterator
  • ArrayIterator::asort »
  • PHP Manual
  • ArrayIterator
  • Append an element

ArrayIterator::append

(PHP 5, PHP 7, PHP 8)

ArrayIterator::append — Append an element

Açıklama

public ArrayIterator::append(mixed $value): void

Appends value as the last element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

value

The value to append.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize:

This method cannot be called when the ArrayIterator refers to an object.

Ayrıca Bakınız

  • ArrayIterator::next() - Move to next entry


Sort entries by values

  • « ArrayIterator::append
  • ArrayIterator::__construct »
  • PHP Manual
  • ArrayIterator
  • Sort entries by values

ArrayIterator::asort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::asort — Sort entries by values

Açıklama

public ArrayIterator::asort(int $flags = SORT_REGULAR): true

Sorts entries by their values.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::ksort() - Sort entries by keys
  • ArrayIterator::natcasesort() - Sort entries naturally, case insensitive
  • ArrayIterator::natsort() - Sort entries naturally
  • ArrayIterator::uasort() - Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • asort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar


Construct an ArrayIterator

  • « ArrayIterator::asort
  • ArrayIterator::count »
  • PHP Manual
  • ArrayIterator
  • Construct an ArrayIterator

ArrayIterator::__construct

(PHP 5, PHP 7, PHP 8)

ArrayIterator::__construct — Construct an ArrayIterator

Açıklama

public ArrayIterator::__construct(array|object $array = [], int $flags = 0)

Constructs an ArrayIterator object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

array

The array or object to be iterated on.

flags

Flags to control the behaviour of the ArrayIterator object. See ArrayIterator::setFlags().

Ayrıca Bakınız

  • ArrayIterator::getArrayCopy() - Get array copy


Count elements

  • « ArrayIterator::__construct
  • ArrayIterator::current »
  • PHP Manual
  • ArrayIterator
  • Count elements

ArrayIterator::count

(PHP 5, PHP 7, PHP 8)

ArrayIterator::count — Count elements

Açıklama

public ArrayIterator::count(): int

Gets the number of elements in the array, or the number of public properties in the object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of elements or public properties in the associated array or object, respectively.

Ayrıca Bakınız

  • ArrayIterator::getFlags() - Get behavior flags


Return current array entry

  • « ArrayIterator::count
  • ArrayIterator::getArrayCopy »
  • PHP Manual
  • ArrayIterator
  • Return current array entry

ArrayIterator::current

(PHP 5, PHP 7, PHP 8)

ArrayIterator::current — Return current array entry

Açıklama

public ArrayIterator::current(): mixed

Get the current array entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current array entry.

Örnekler

Örnek 1 ArrayIterator::current() example

<?php
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');

$arrayobject = new ArrayObject($array);

for($iterator = $arrayobject->getIterator();
$iterator->valid();
$iterator->next()) {

echo $iterator->key() . ' => ' . $iterator->current() . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

1 => one
2 => two
3 => three


Get array copy

  • « ArrayIterator::current
  • ArrayIterator::getFlags »
  • PHP Manual
  • ArrayIterator
  • Get array copy

ArrayIterator::getArrayCopy

(PHP 5, PHP 7, PHP 8)

ArrayIterator::getArrayCopy — Get array copy

Açıklama

public ArrayIterator::getArrayCopy(): array

Get a copy of an array.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A copy of the array, or array of public properties if ArrayIterator refers to an object.

Ayrıca Bakınız

  • ArrayIterator::valid() - Check whether array contains more entries


Get behavior flags

  • « ArrayIterator::getArrayCopy
  • ArrayIterator::key »
  • PHP Manual
  • ArrayIterator
  • Get behavior flags

ArrayIterator::getFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayIterator::getFlags — Get behavior flags

Açıklama

public ArrayIterator::getFlags(): int

Gets the behavior flags of the ArrayIterator. See the ArrayIterator::setFlags method for a list of the available flags.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the behavior flags of the ArrayIterator.

Ayrıca Bakınız

  • ArrayIterator::setFlags() - Set behaviour flags
  • ArrayIterator::valid() - Check whether array contains more entries


Return current array key

  • « ArrayIterator::getFlags
  • ArrayIterator::ksort »
  • PHP Manual
  • ArrayIterator
  • Return current array key

ArrayIterator::key

(PHP 5, PHP 7, PHP 8)

ArrayIterator::key — Return current array key

Açıklama

public ArrayIterator::key(): string|int|null

This function returns the current array key

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current array key.

Örnekler

Örnek 1 ArrayIterator::key() example

<?php
$array = array('key' => 'value');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

echo $iterator->key(); //key
?>


Sort entries by keys

  • « ArrayIterator::key
  • ArrayIterator::natcasesort »
  • PHP Manual
  • ArrayIterator
  • Sort entries by keys

ArrayIterator::ksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::ksort — Sort entries by keys

Açıklama

public ArrayIterator::ksort(int $flags = SORT_REGULAR): true

Sorts entries by their keys.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::asort() - Sort entries by values
  • ArrayIterator::natcasesort() - Sort entries naturally, case insensitive
  • ArrayIterator::natsort() - Sort entries naturally
  • ArrayIterator::uasort() - Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • ksort() - Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar


Sort entries naturally, case insensitive

  • « ArrayIterator::ksort
  • ArrayIterator::natsort »
  • PHP Manual
  • ArrayIterator
  • Sort entries naturally, case insensitive

ArrayIterator::natcasesort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::natcasesort — Sort entries naturally, case insensitive

Açıklama

public ArrayIterator::natcasesort(): true

Sort the entries by values using a case insensitive "natural order" algorithm.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::asort() - Sort entries by values
  • ArrayIterator::ksort() - Sort entries by keys
  • ArrayIterator::natsort() - Sort entries naturally
  • ArrayIterator::uasort() - Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • natcasesort() - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar


Sort entries naturally

  • « ArrayIterator::natcasesort
  • ArrayIterator::next »
  • PHP Manual
  • ArrayIterator
  • Sort entries naturally

ArrayIterator::natsort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::natsort — Sort entries naturally

Açıklama

public ArrayIterator::natsort(): true

Sort the entries by values using a "natural order" algorithm.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::asort() - Sort entries by values
  • ArrayIterator::ksort() - Sort entries by keys
  • ArrayIterator::natsort()
  • ArrayIterator::uasort() - Sort with a user-defined comparison function and maintain index association
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • natsort() - Bir diziyi "doğal sıralama" algoritmasıyla sıralar


Move to next entry

  • « ArrayIterator::natsort
  • ArrayIterator::offsetExists »
  • PHP Manual
  • ArrayIterator
  • Move to next entry

ArrayIterator::next

(PHP 5, PHP 7, PHP 8)

ArrayIterator::next — Move to next entry

Açıklama

public ArrayIterator::next(): void

The iterator to the next entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayIterator::next() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
echo $iterator->key() . ' => ' . $iterator->current() . "\n";

$iterator->next();
}
?>

Yukarıdaki örneğin çıktısı:

0 => zero
1 => one


Check if offset exists

  • « ArrayIterator::next
  • ArrayIterator::offsetGet »
  • PHP Manual
  • ArrayIterator
  • Check if offset exists

ArrayIterator::offsetExists

(PHP 5, PHP 7, PHP 8)

ArrayIterator::offsetExists — Check if offset exists

Açıklama

public ArrayIterator::offsetExists(mixed $key): bool

Checks if the offset exists.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The offset being checked.

Dönen Değerler

true if the offset exists, otherwise false

Ayrıca Bakınız

  • ArrayIterator::valid() - Check whether array contains more entries


Get value for an offset

  • « ArrayIterator::offsetExists
  • ArrayIterator::offsetSet »
  • PHP Manual
  • ArrayIterator
  • Get value for an offset

ArrayIterator::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayIterator::offsetGet — Get value for an offset

Açıklama

public ArrayIterator::offsetGet(mixed $key): mixed

Gets the value from the provided offset.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The offset to get the value from.

Dönen Değerler

The value at offset key.

Ayrıca Bakınız

  • ArrayIterator::offsetSet() - Set value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset


Set value for an offset

  • « ArrayIterator::offsetGet
  • ArrayIterator::offsetUnset »
  • PHP Manual
  • ArrayIterator
  • Set value for an offset

ArrayIterator::offsetSet

(PHP 5, PHP 7, PHP 8)

ArrayIterator::offsetSet — Set value for an offset

Açıklama

public ArrayIterator::offsetSet(mixed $key, mixed $value): void

Sets a value for a given offset.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The index to set for.

value

The new value to store at the index.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetUnset() - Unset value for an offset


Unset value for an offset

  • « ArrayIterator::offsetSet
  • ArrayIterator::rewind »
  • PHP Manual
  • ArrayIterator
  • Unset value for an offset

ArrayIterator::offsetUnset

(PHP 5, PHP 7, PHP 8)

ArrayIterator::offsetUnset — Unset value for an offset

Açıklama

public ArrayIterator::offsetUnset(mixed $key): void

Unsets a value for an offset.

If iteration is in progress, and ArrayIterator::offsetUnset() is used to unset the current index of iteration, the iteration position will be advanced to the next index. Since the iteration position is also advanced at the end of a foreach loop body, use of ArrayIterator::offsetUnset() inside a foreach loop may result in indices being skipped.

Bağımsız Değişkenler

key

The offset to unset.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ArrayIterator::offsetGet() - Get value for an offset
  • ArrayIterator::offsetSet() - Set value for an offset


Rewind array back to the start

  • « ArrayIterator::offsetUnset
  • ArrayIterator::seek »
  • PHP Manual
  • ArrayIterator
  • Rewind array back to the start

ArrayIterator::rewind

(PHP 5, PHP 7, PHP 8)

ArrayIterator::rewind — Rewind array back to the start

Açıklama

public ArrayIterator::rewind(): void

This rewinds the iterator to the beginning.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayIterator::rewind() example

<?php
$arrayobject = new ArrayObject();

$arrayobject[] = 'zero';
$arrayobject[] = 'one';
$arrayobject[] = 'two';

$iterator = $arrayobject->getIterator();

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the beginning
echo $iterator->key(); //0
?>


Seek to position

  • « ArrayIterator::rewind
  • ArrayIterator::serialize »
  • PHP Manual
  • ArrayIterator
  • Seek to position

ArrayIterator::seek

(PHP 5, PHP 7, PHP 8)

ArrayIterator::seek — Seek to position

Açıklama

public ArrayIterator::seek(int $offset): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

offset

The position to seek to.

Dönen Değerler

Hiçbir değer dönmez.


Serialize

  • « ArrayIterator::seek
  • ArrayIterator::setFlags »
  • PHP Manual
  • ArrayIterator
  • Serialize

ArrayIterator::serialize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ArrayIterator::serialize — Serialize

Açıklama

public ArrayIterator::serialize(): string

Serialize.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The serialized ArrayIterator.

Ayrıca Bakınız

  • ArrayIterator::unserialize() - Unserialize


Set behaviour flags

  • « ArrayIterator::serialize
  • ArrayIterator::uasort »
  • PHP Manual
  • ArrayIterator
  • Set behaviour flags

ArrayIterator::setFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayIterator::setFlags — Set behaviour flags

Açıklama

public ArrayIterator::setFlags(int $flags): void

Set the flags that change the behavior of the ArrayIterator.

Bağımsız Değişkenler

flags

The new ArrayIterator behavior. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions.

The available behavior flags are listed below. The actual meanings of these flags are described in the predefined constants.

ArrayIterator behavior flags
value | constant
1 | ArrayIterator::STD_PROP_LIST
2 | ArrayIterator::ARRAY_AS_PROPS

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ArrayIterator::getFlags() - Get behavior flags


Sort with a user-defined comparison function and maintain index association

  • « ArrayIterator::setFlags
  • ArrayIterator::uksort »
  • PHP Manual
  • ArrayIterator
  • Sort with a user-defined comparison function and maintain index association

ArrayIterator::uasort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::uasort — Sort with a user-defined comparison function and maintain index association

Açıklama

public ArrayIterator::uasort(callable $callback): true

This method sorts the elements such that indices maintain their correlation with the values they are associated with, using a user-defined comparison function.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

callback

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::asort() - Sort entries by values
  • ArrayIterator::ksort() - Sort entries by keys
  • ArrayIterator::natcasesort() - Sort entries naturally, case insensitive
  • ArrayIterator::natsort() - Sort entries naturally
  • ArrayIterator::uksort() - Sort by keys using a user-defined comparison function
  • uasort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur


Sort by keys using a user-defined comparison function

  • « ArrayIterator::uasort
  • ArrayIterator::unserialize »
  • PHP Manual
  • ArrayIterator
  • Sort by keys using a user-defined comparison function

ArrayIterator::uksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayIterator::uksort — Sort by keys using a user-defined comparison function

Açıklama

public ArrayIterator::uksort(callable $callback): true

This method sorts the elements by keys using a user-supplied comparison function.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

callback

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Ayrıca Bakınız

  • ArrayIterator::asort() - Sort entries by values
  • ArrayIterator::ksort() - Sort entries by keys
  • ArrayIterator::natcasesort() - Sort entries naturally, case insensitive
  • ArrayIterator::natsort() - Sort entries naturally
  • ArrayIterator::uksort()
  • uksort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar


Unserialize

  • « ArrayIterator::uksort
  • ArrayIterator::valid »
  • PHP Manual
  • ArrayIterator
  • Unserialize

ArrayIterator::unserialize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ArrayIterator::unserialize — Unserialize

Açıklama

public ArrayIterator::unserialize(string $data): void

Unserialize.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The serialized ArrayIterator object to be unserialized.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ArrayIterator::serialize() - Serialize


Check whether array contains more entries

  • « ArrayIterator::unserialize
  • CachingIterator »
  • PHP Manual
  • ArrayIterator
  • Check whether array contains more entries

ArrayIterator::valid

(PHP 5, PHP 7, PHP 8)

ArrayIterator::valid — Check whether array contains more entries

Açıklama

public ArrayIterator::valid(): bool

Checks if the array contains any more entries.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the iterator is valid, otherwise false

Örnekler

Örnek 1 ArrayIterator::valid() example

<?php
$array = array('1' => 'one');

$arrayobject = new ArrayObject($array);
$iterator = $arrayobject->getIterator();

var_dump($iterator->valid()); //bool(true)

$iterator->next(); // advance to the next item

//bool(false) because there is only one array element
var_dump($iterator->valid());
?>


The CachingIterator class

(PHP 5, PHP 7, PHP 8)

Giriş

This object supports cached iteration over another iterator.

Sınıf Sözdizimi

class CachingIterator extends IteratorIterator implements ArrayAccess, Countable, Stringable {
/* Sabitler */
public const int CALL_TOSTRING;
public const int CATCH_GET_CHILD;
public const int TOSTRING_USE_KEY;
public const int TOSTRING_USE_CURRENT;
public const int TOSTRING_USE_INNER;
public const int FULL_CACHE;
/* Yöntemler */
public __construct(Iterator $iterator, int $flags = CachingIterator::CALL_TOSTRING)
public count(): int
public current(): mixed
public getCache(): array
public getFlags(): int
public hasNext(): bool
public key(): scalar
public next(): void
public offsetExists(string $key): bool
public offsetGet(string $key): mixed
public offsetSet(string $key, mixed $value): void
public offsetUnset(string $key): void
public rewind(): void
public setFlags(int $flags): void
public __toString(): string
public valid(): bool
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

Öntanımlı Sabitler

CachingIterator::CALL_TOSTRING

Convert every element to string.

CachingIterator::CATCH_GET_CHILD

Don't throw exception in accessing children.

CachingIterator::TOSTRING_USE_KEY

Use key for conversion to string.

CachingIterator::TOSTRING_USE_CURRENT

Use current for conversion to string.

CachingIterator::TOSTRING_USE_INNER

Use inner for conversion to string.

CachingIterator::FULL_CACHE

Cache all read data.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | CachingIterator implements Stringable now.

İçindekiler

  • CachingIterator::__construct — Construct a new CachingIterator object for the iterator
  • CachingIterator::count — The number of elements in the iterator
  • CachingIterator::current — Return the current element
  • CachingIterator::getCache — Retrieve the contents of the cache
  • CachingIterator::getFlags — Get flags used
  • CachingIterator::hasNext — Check whether the inner iterator has a valid next element
  • CachingIterator::key — Return the key for the current element
  • CachingIterator::next — Move the iterator forward
  • CachingIterator::offsetExists — The offsetExists purpose
  • CachingIterator::offsetGet — The offsetGet purpose
  • CachingIterator::offsetSet — The offsetSet purpose
  • CachingIterator::offsetUnset — The offsetUnset purpose
  • CachingIterator::rewind — Rewind the iterator
  • CachingIterator::setFlags — The setFlags purpose
  • CachingIterator::__toString — Return the string representation of the current element
  • CachingIterator::valid — Check whether the current element is valid


Construct a new CachingIterator object for the iterator

  • « CachingIterator
  • CachingIterator::count »
  • PHP Manual
  • CachingIterator
  • Construct a new CachingIterator object for the iterator

CachingIterator::__construct

(PHP 5, PHP 7, PHP 8)

CachingIterator::__construct — Construct a new CachingIterator object for the iterator

Açıklama

public CachingIterator::__construct(Iterator $iterator, int $flags = CachingIterator::CALL_TOSTRING)
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

Iterator to cache

flags

Bitmask of flags.


The number of elements in the iterator

  • « CachingIterator::__construct
  • CachingIterator::current »
  • PHP Manual
  • CachingIterator
  • The number of elements in the iterator

CachingIterator::count

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

CachingIterator::count — The number of elements in the iterator

Açıklama

public CachingIterator::count(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

May return the number of elements in the iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The count of the elements iterated over.


Return the current element

  • « CachingIterator::count
  • CachingIterator::getCache »
  • PHP Manual
  • CachingIterator
  • Return the current element

CachingIterator::current

(PHP 5, PHP 7, PHP 8)

CachingIterator::current — Return the current element

Açıklama

public CachingIterator::current(): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

May return the current element in the iteration.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Mixed

Ayrıca Bakınız

  • Iterator::current() - O anki elemanı döndürür


Retrieve the contents of the cache

  • « CachingIterator::current
  • CachingIterator::getFlags »
  • PHP Manual
  • CachingIterator
  • Retrieve the contents of the cache

CachingIterator::getCache

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::getCache — Retrieve the contents of the cache

Açıklama

public CachingIterator::getCache(): array

Retrieve the contents of the cache.

Bilginize:

The CachingIterator::FULL_CACHE flag must be being used.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing the cache items.

Hatalar/İstisnalar

Throws a BadMethodCallException when the CachingIterator::FULL_CACHE flag is not being used.

Örnekler

Örnek 1 CachingIterator::getCache() example

<?php
$iterator = new ArrayIterator(array(1, 2, 3));
$cache = new CachingIterator($iterator, CachingIterator::FULL_CACHE);

$cache->next();
$cache->next();
var_dump($cache->getCache());

$cache->next();
var_dump($cache->getCache());
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}
array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Get flags used

  • « CachingIterator::getCache
  • CachingIterator::hasNext »
  • PHP Manual
  • CachingIterator
  • Get flags used

CachingIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::getFlags — Get flags used

Açıklama

public CachingIterator::getFlags(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Get the bitmask of the flags used for this CachingIterator instance.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Description...


Check whether the inner iterator has a valid next element

  • « CachingIterator::getFlags
  • CachingIterator::key »
  • PHP Manual
  • CachingIterator
  • Check whether the inner iterator has a valid next element

CachingIterator::hasNext

(PHP 5, PHP 7, PHP 8)

CachingIterator::hasNext — Check whether the inner iterator has a valid next element

Açıklama

public CachingIterator::hasNext(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Return the key for the current element

  • « CachingIterator::hasNext
  • CachingIterator::next »
  • PHP Manual
  • CachingIterator
  • Return the key for the current element

CachingIterator::key

(PHP 5, PHP 7, PHP 8)

CachingIterator::key — Return the key for the current element

Açıklama

public CachingIterator::key(): scalar
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

This method may return a key for the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Move the iterator forward

  • « CachingIterator::key
  • CachingIterator::offsetExists »
  • PHP Manual
  • CachingIterator
  • Move the iterator forward

CachingIterator::next

(PHP 5, PHP 7, PHP 8)

CachingIterator::next — Move the iterator forward

Açıklama

public CachingIterator::next(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Move the iterator forward.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The offsetExists purpose

  • « CachingIterator::next
  • CachingIterator::offsetGet »
  • PHP Manual
  • CachingIterator
  • The offsetExists purpose

CachingIterator::offsetExists

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::offsetExists — The offsetExists purpose

Açıklama

public CachingIterator::offsetExists(string $key): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The index being checked.

Dönen Değerler

Returns true if an entry referenced by the offset exists, false otherwise.


The offsetGet purpose

  • « CachingIterator::offsetExists
  • CachingIterator::offsetSet »
  • PHP Manual
  • CachingIterator
  • The offsetGet purpose

CachingIterator::offsetGet

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::offsetGet — The offsetGet purpose

Açıklama

public CachingIterator::offsetGet(string $key): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

Description...

Dönen Değerler

Description...


The offsetSet purpose

  • « CachingIterator::offsetGet
  • CachingIterator::offsetUnset »
  • PHP Manual
  • CachingIterator
  • The offsetSet purpose

CachingIterator::offsetSet

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::offsetSet — The offsetSet purpose

Açıklama

public CachingIterator::offsetSet(string $key, mixed $value): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The index of the element to be set.

value

The new value for the key.

Dönen Değerler

Hiçbir değer dönmez.


The offsetUnset purpose

  • « CachingIterator::offsetSet
  • CachingIterator::rewind »
  • PHP Manual
  • CachingIterator
  • The offsetUnset purpose

CachingIterator::offsetUnset

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::offsetUnset — The offsetUnset purpose

Açıklama

public CachingIterator::offsetUnset(string $key): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

key

The index of the element to be unset.

Dönen Değerler

Hiçbir değer dönmez.


Rewind the iterator

  • « CachingIterator::offsetUnset
  • CachingIterator::setFlags »
  • PHP Manual
  • CachingIterator
  • Rewind the iterator

CachingIterator::rewind

(PHP 5, PHP 7, PHP 8)

CachingIterator::rewind — Rewind the iterator

Açıklama

public CachingIterator::rewind(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Rewind the iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The setFlags purpose

  • « CachingIterator::rewind
  • CachingIterator::__toString »
  • PHP Manual
  • CachingIterator
  • The setFlags purpose

CachingIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::setFlags — The setFlags purpose

Açıklama

public CachingIterator::setFlags(int $flags): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Set the flags for the CachingIterator object.

Bağımsız Değişkenler

flags

Bitmask of the flags to set.

Dönen Değerler

Hiçbir değer dönmez.


Return the string representation of the current element

  • « CachingIterator::setFlags
  • CachingIterator::valid »
  • PHP Manual
  • CachingIterator
  • Return the string representation of the current element

CachingIterator::__toString

(PHP 5, PHP 7, PHP 8)

CachingIterator::__toString — Return the string representation of the current element

Açıklama

public CachingIterator::__toString(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Get the string representation of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The string representation of the current element.


Check whether the current element is valid

  • « CachingIterator::__toString
  • CallbackFilterIterator »
  • PHP Manual
  • CachingIterator
  • Check whether the current element is valid

CachingIterator::valid

(PHP 5, PHP 7, PHP 8)

CachingIterator::valid — Check whether the current element is valid

Açıklama

public CachingIterator::valid(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Check whether the current element is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The CallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

class CallbackFilterIterator extends FilterIterator {
/* Yöntemler */
public __construct(Iterator $iterator, callable $callback)
public accept(): bool
/* Miras alınan yöntemler */
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

Örnekler

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Örnek 1 Available callback arguments

<?php

/**
* Callback for CallbackFilterIterator
*
* @param $current Current item's value
* @param $key Current item's key
* @param $iterator Iterator being filtered
* @return boolean TRUE to accept the current item, FALSE otherwise
*/
function my_callback($current, $key, $iterator) {
// Your filtering code here
}

?>

Any callable may be used; such as a string containing a function name, an array for a method, or an anonymous function.

Örnek 2 Callback basic examples

<?php

$dir = new FilesystemIterator(__DIR__);

// Filter large files ( > 100MB)
function is_large_file($current) {
return $current->isFile() && $current->getSize() > 104857600;
}
$large_files = new CallbackFilterIterator($dir, 'is_large_file');

// Filter directories
$files = new CallbackFilterIterator($dir, function ($current, $key, $iterator) {
return $current->isDir() && ! $iterator->isDot();
});

?>

İçindekiler

  • CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments
  • CallbackFilterIterator::__construct — Create a filtered iterator from another iterator


Calls the callback with the current value, the current key and the inner iterator as arguments

  • « CallbackFilterIterator
  • CallbackFilterIterator::__construct »
  • PHP Manual
  • CallbackFilterIterator
  • Calls the callback with the current value, the current key and the inner iterator as arguments

CallbackFilterIterator::accept

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

CallbackFilterIterator::accept — Calls the callback with the current value, the current key and the inner iterator as arguments

Açıklama

public CallbackFilterIterator::accept(): bool

This method calls the callback with the current value, current key and the inner iterator.

The callback is expected to return true if the current item is to be accepted, or false otherwise.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true to accept the current item, or false otherwise.

Ayrıca Bakınız

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::__construct() - Create a filtered iterator from another iterator


Create a filtered iterator from another iterator

  • « CallbackFilterIterator::accept
  • DirectoryIterator »
  • PHP Manual
  • CallbackFilterIterator
  • Create a filtered iterator from another iterator

CallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

CallbackFilterIterator::__construct — Create a filtered iterator from another iterator

Açıklama

public CallbackFilterIterator::__construct(Iterator $iterator, callable $callback)

Creates a filtered iterator using the callback to determine which items are accepted or rejected.

Bağımsız Değişkenler

iterator

The iterator to be filtered.

callback

The callback, which should return true to accept the current item or false otherwise. See Examples.

May be any valid callable value.

Ayrıca Bakınız

  • CallbackFilterIterator Examples
  • CallbackFilterIterator::accept() - Calls the callback with the current value, the current key and the inner iterator as arguments


The DirectoryIterator class

(PHP 5, PHP 7, PHP 8)

Giriş

The DirectoryIterator class provides a simple interface for viewing the contents of filesystem directories.

Sınıf Sözdizimi

class DirectoryIterator extends SplFileInfo implements SeekableIterator {
/* Yöntemler */
public __construct(string $directory)
public current(): mixed
public getBasename(string $suffix = ""): string
public getExtension(): string
public getFilename(): string
public isDot(): bool
public key(): mixed
public next(): void
public rewind(): void
public seek(int $offset): void
public __toString(): string
public valid(): bool
/* Miras alınan yöntemler */
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • DirectoryIterator::__construct — Constructs a new directory iterator from a path
  • DirectoryIterator::current — Return the current DirectoryIterator item
  • DirectoryIterator::getBasename — Get base name of current DirectoryIterator item
  • DirectoryIterator::getExtension — Gets the file extension
  • DirectoryIterator::getFilename — Return file name of current DirectoryIterator item
  • DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'
  • DirectoryIterator::key — Return the key for the current DirectoryIterator item
  • DirectoryIterator::next — Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start
  • DirectoryIterator::seek — Seek to a DirectoryIterator item
  • DirectoryIterator::__toString — Get file name as a string
  • DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file


Constructs a new directory iterator from a path

  • « DirectoryIterator
  • DirectoryIterator::current »
  • PHP Manual
  • DirectoryIterator
  • Constructs a new directory iterator from a path

DirectoryIterator::__construct

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::__construct — Constructs a new directory iterator from a path

Açıklama

public DirectoryIterator::__construct(string $directory)

Constructs a new directory iterator from a path.

Bağımsız Değişkenler

directory

The path of the directory to traverse.

Hatalar/İstisnalar

Throws an UnexpectedValueException if the directory does not exist.

Throws a ValueError if the directory is an empty string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException.

Örnekler

Örnek 1 A DirectoryIterator::__construct() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
var_dump($fileinfo->getFilename());
}
}
?>

Ayrıca Bakınız

  • SplFileInfo
  • Iterator


Return the current DirectoryIterator item

  • « DirectoryIterator::__construct
  • DirectoryIterator::getBasename »
  • PHP Manual
  • DirectoryIterator
  • Return the current DirectoryIterator item

DirectoryIterator::current

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::current — Return the current DirectoryIterator item

Açıklama

public DirectoryIterator::current(): mixed

Get the current DirectoryIterator item.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current DirectoryIterator item.

Örnekler

Örnek 1 A DirectoryIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new DirectoryIterator(__DIR__);
while($iterator->valid()) {
$file = $iterator->current();
echo $iterator->key() . " => " . $file->getFilename() . "\n";
$iterator->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0 => .
1 => ..
2 => apple.jpg
3 => banana.jpg
4 => index.php
5 => pear.jpg

Ayrıca Bakınız

  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::current() - O anki elemanı döndürür


Get base name of current DirectoryIterator item

  • « DirectoryIterator::current
  • DirectoryIterator::getExtension »
  • PHP Manual
  • DirectoryIterator
  • Get base name of current DirectoryIterator item

DirectoryIterator::getBasename

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

DirectoryIterator::getBasename — Get base name of current DirectoryIterator item

Açıklama

public DirectoryIterator::getBasename(string $suffix = ""): string

Get the base name of the current DirectoryIterator item.

Bağımsız Değişkenler

suffix

If the base name ends in suffix, this will be cut.

Dönen Değerler

The base name of the current DirectoryIterator item.

Örnekler

Örnek 1 A DirectoryIterator::getBasename() example

This example will list the full base name and the base name with suffix .jpg removed for the files in the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
if ($fileinfo->isFile()) {
echo $fileinfo->getBasename() . "\n";
echo $fileinfo->getBasename('.jpg') . "\n";
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple.jpg
apple
banana.jpg
banana
index.php
index.php
pear.jpg
pear

Ayrıca Bakınız

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item
  • DirectoryIterator::getPath()
  • DirectoryIterator::getPathname()
  • basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Gets the file extension

  • « DirectoryIterator::getBasename
  • DirectoryIterator::getFilename »
  • PHP Manual
  • DirectoryIterator
  • Gets the file extension

DirectoryIterator::getExtension

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

DirectoryIterator::getExtension — Gets the file extension

Açıklama

public DirectoryIterator::getExtension(): string

Retrieves the file extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the file extension, or an empty string if the file has no extension.

Örnekler

Örnek 1 DirectoryIterator::getExtension() example

<?php

$directory = new DirectoryIterator(__DIR__);
foreach ($directory as $fileinfo) {
if ($fileinfo->isFile()) {
echo $fileinfo->getExtension() . "\n";
}
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

php
txt
jpg
gz

Notlar

Bilginize:

Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($fileinfo->getFilename(), PATHINFO_EXTENSION);
?>

Ayrıca Bakınız

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item
  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Return file name of current DirectoryIterator item

  • « DirectoryIterator::getExtension
  • DirectoryIterator::isDot »
  • PHP Manual
  • DirectoryIterator
  • Return file name of current DirectoryIterator item

DirectoryIterator::getFilename

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::getFilename — Return file name of current DirectoryIterator item

Açıklama

public DirectoryIterator::getFilename(): string

Get the file name of the current DirectoryIterator item.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the file name of the current DirectoryIterator item.

Örnekler

Örnek 1 A DirectoryIterator::getFilename() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
echo $fileinfo->getFilename() . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Ayrıca Bakınız

  • DirectoryIterator::getBasename() - Get base name of current DirectoryIterator item
  • DirectoryIterator::getPath()
  • DirectoryIterator::getPathname()
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Determine if current DirectoryIterator item is '.' or '..'

  • « DirectoryIterator::getFilename
  • DirectoryIterator::key »
  • PHP Manual
  • DirectoryIterator
  • Determine if current DirectoryIterator item is '.' or '..'

DirectoryIterator::isDot

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::isDot — Determine if current DirectoryIterator item is '.' or '..'

Açıklama

public DirectoryIterator::isDot(): bool

Determines if the current DirectoryIterator item is a directory and either . or ..

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the entry is . or .., otherwise false

Örnekler

Örnek 1 A DirectoryIterator::isDot() example

This example will list all files, omitting the . and .. entries.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
foreach ($iterator as $fileinfo) {
if (!$fileinfo->isDot()) {
echo $fileinfo->getFilename() . "\n";
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple.jpg
banana.jpg
example.php
pears.jpg

Ayrıca Bakınız

  • DirectoryIterator::getType()
  • DirectoryIterator::isDir()
  • DirectoryIterator::isFile()
  • DirectoryIterator::isLink()


Return the key for the current DirectoryIterator item

  • « DirectoryIterator::isDot
  • DirectoryIterator::next »
  • PHP Manual
  • DirectoryIterator
  • Return the key for the current DirectoryIterator item

DirectoryIterator::key

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::key — Return the key for the current DirectoryIterator item

Açıklama

public DirectoryIterator::key(): mixed

Get the key for the current DirectoryIterator item.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The key for the current DirectoryIterator item as an int.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | When the iterator is uninitialized, an Error is thrown now. Previously, the method returned false.

Örnekler

Örnek 1 A DirectoryIterator::key() example

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
if (!$fileinfo->isDot()) {
echo $fileinfo->key() . " => " . $fileinfo->getFilename() . "\n";
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0 => apple.jpg
1 => banana.jpg
2 => index.php
3 => pear.jpg

Ayrıca Bakınız

  • DirectoryIterator::current() - Return the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::key() - O anki elemanın anahtarını döndürür


Move forward to next DirectoryIterator item

  • « DirectoryIterator::key
  • DirectoryIterator::rewind »
  • PHP Manual
  • DirectoryIterator
  • Move forward to next DirectoryIterator item

DirectoryIterator::next

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::next — Move forward to next DirectoryIterator item

Açıklama

public DirectoryIterator::next(): void

Move forward to the next DirectoryIterator item.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DirectoryIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
while($iterator->valid()) {
echo $iterator->getFilename() . "\n";
$iterator->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Ayrıca Bakınız

  • DirectoryIterator::current() - Return the current DirectoryIterator item
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::next() - Konumu sonraki elemana ilerletir


Rewind the DirectoryIterator back to the start

  • « DirectoryIterator::next
  • DirectoryIterator::seek »
  • PHP Manual
  • DirectoryIterator
  • Rewind the DirectoryIterator back to the start

DirectoryIterator::rewind

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::rewind — Rewind the DirectoryIterator back to the start

Açıklama

public DirectoryIterator::rewind(): void

Rewind the DirectoryIterator back to the start.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DirectoryIterator::rewind() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

$iterator->next();
echo $iterator->key(); //1

$iterator->rewind(); //rewinding to the beginning
echo $iterator->key(); //0
?>

Ayrıca Bakınız

  • DirectoryIterator::current() - Return the current DirectoryIterator item
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::valid() - Check whether current DirectoryIterator position is a valid file
  • Iterator::rewind() - Yineleyiciyi ilk elemana konumlandırır


Seek to a DirectoryIterator item

  • « DirectoryIterator::rewind
  • DirectoryIterator::__toString »
  • PHP Manual
  • DirectoryIterator
  • Seek to a DirectoryIterator item

DirectoryIterator::seek

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DirectoryIterator::seek — Seek to a DirectoryIterator item

Açıklama

public DirectoryIterator::seek(int $offset): void

Seek to a given position in the DirectoryIterator.

Bağımsız Değişkenler

offset

The zero-based numeric position to seek to.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DirectoryIterator::seek() example

Seek to the fourth item in the directory containing the script. The first two are usually . and ..

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));
$iterator->seek(3);
if ($iterator->valid()) {
echo $iterator->getFilename();
} else {
echo 'No file at position 3';
}
?>

Ayrıca Bakınız

  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • SeekableIterator::seek() - Seeks to a position


Get file name as a string

  • « DirectoryIterator::seek
  • DirectoryIterator::valid »
  • PHP Manual
  • DirectoryIterator
  • Get file name as a string

DirectoryIterator::__toString

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::__toString — Get file name as a string

Açıklama

public DirectoryIterator::__toString(): string

Get the file name of the current DirectoryIterator item.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the file name of the current DirectoryIterator item.

Örnekler

Örnek 1 A DirectoryIterator::__toString() example

This example will list the contents of the directory containing the script.

<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileinfo) {
echo $fileinfo;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

.
..
apple.jpg
banana.jpg
index.php
pear.jpg

Ayrıca Bakınız

  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item
  • The __toString() magic method


Check whether current DirectoryIterator position is a valid file

  • « DirectoryIterator::__toString
  • EmptyIterator »
  • PHP Manual
  • DirectoryIterator
  • Check whether current DirectoryIterator position is a valid file

DirectoryIterator::valid

(PHP 5, PHP 7, PHP 8)

DirectoryIterator::valid — Check whether current DirectoryIterator position is a valid file

Açıklama

public DirectoryIterator::valid(): bool

Check whether current DirectoryIterator position is a valid file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the position is valid, otherwise false

Örnekler

Örnek 1 A DirectoryIterator::valid() example

<?php
$iterator = new DirectoryIterator(dirname(__FILE__));

// Loop to end of iterator
while($iterator->valid()) {
$iterator->next();
}

$iterator->valid(); // FALSE
$iterator->rewind();
$iterator->valid(); // TRUE

?>

Ayrıca Bakınız

  • DirectoryIterator::current() - Return the current DirectoryIterator item
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::next() - Move forward to next DirectoryIterator item
  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start
  • Iterator::valid() - O anki konum geçerli mi diye bakar


The EmptyIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The EmptyIterator class for an empty iterator.

Sınıf Sözdizimi

class EmptyIterator implements Iterator {
/* Yöntemler */
public current(): never
public key(): never
public next(): void
public rewind(): void
public valid(): false
}

İçindekiler

  • EmptyIterator::current — The current() method
  • EmptyIterator::key — The key() method
  • EmptyIterator::next — The next() method
  • EmptyIterator::rewind — The rewind() method
  • EmptyIterator::valid — The valid() method


The current() method

  • « EmptyIterator
  • EmptyIterator::key »
  • PHP Manual
  • EmptyIterator
  • The current() method

EmptyIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

EmptyIterator::current — The current() method

Açıklama

public EmptyIterator::current(): never

This function must not be called. It throws an exception upon access.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Throws an Exception if called.

Dönen Değerler

Hiçbir değer dönmez.


The key() method

  • « EmptyIterator::current
  • EmptyIterator::next »
  • PHP Manual
  • EmptyIterator
  • The key() method

EmptyIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

EmptyIterator::key — The key() method

Açıklama

public EmptyIterator::key(): never

This function must not be called. It throws an exception upon access.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Throws an Exception if called.

Dönen Değerler

Hiçbir değer dönmez.


The next() method

  • « EmptyIterator::key
  • EmptyIterator::rewind »
  • PHP Manual
  • EmptyIterator
  • The next() method

EmptyIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

EmptyIterator::next — The next() method

Açıklama

public EmptyIterator::next(): void

No operation, nothing to do.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The rewind() method

  • « EmptyIterator::next
  • EmptyIterator::valid »
  • PHP Manual
  • EmptyIterator
  • The rewind() method

EmptyIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

EmptyIterator::rewind — The rewind() method

Açıklama

public EmptyIterator::rewind(): void

No operation, nothing to do.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The valid() method

  • « EmptyIterator::rewind
  • FilesystemIterator »
  • PHP Manual
  • EmptyIterator
  • The valid() method

EmptyIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

EmptyIterator::valid — The valid() method

Açıklama

public EmptyIterator::valid(): false

The EmptyIterator valid() method.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

false


The FilesystemIterator class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

The Filesystem iterator

Sınıf Sözdizimi

class FilesystemIterator extends DirectoryIterator {
/* Sabitler */
public const int CURRENT_MODE_MASK;
public const int CURRENT_AS_PATHNAME;
public const int CURRENT_AS_FILEINFO;
public const int CURRENT_AS_SELF;
public const int KEY_MODE_MASK;
public const int KEY_AS_PATHNAME;
public const int FOLLOW_SYMLINKS;
public const int KEY_AS_FILENAME;
public const int NEW_CURRENT_AND_KEY;
public const int OTHER_MODE_MASK;
public const int SKIP_DOTS;
public const int UNIX_PATHS;
/* Yöntemler */
public __construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS)
public current(): string|SplFileInfo|FilesystemIterator
public getFlags(): int
public key(): string
public next(): void
public rewind(): void
public setFlags(int $flags): void
/* Miras alınan yöntemler */
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string $suffix = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int $offset): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

Öntanımlı Sabitler

FilesystemIterator::CURRENT_AS_PATHNAME

Makes FilesystemIterator::current() return the pathname.

FilesystemIterator::CURRENT_AS_FILEINFO

Makes FilesystemIterator::current() return an SplFileInfo instance.

FilesystemIterator::CURRENT_AS_SELF

Makes FilesystemIterator::current() return $this (the FilesystemIterator).

FilesystemIterator::CURRENT_MODE_MASK

Masks FilesystemIterator::current()

FilesystemIterator::KEY_AS_PATHNAME

Makes FilesystemIterator::key() return the pathname.

FilesystemIterator::KEY_AS_FILENAME

Makes FilesystemIterator::key() return the filename.

FilesystemIterator::FOLLOW_SYMLINKS

Makes RecursiveDirectoryIterator::hasChildren() follow symlinks.

FilesystemIterator::KEY_MODE_MASK

Masks FilesystemIterator::key()

FilesystemIterator::NEW_CURRENT_AND_KEY

Same as FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::CURRENT_AS_FILEINFO.

FilesystemIterator::OTHER_MODE_MASK

Mask used for FilesystemIterator::getFlags() and FilesystemIterator::setFlags().

FilesystemIterator::SKIP_DOTS

Skips dot files (. and ..).

FilesystemIterator::UNIX_PATHS

Makes paths use Unix-style forward slash irrespective of system default. Note that the path that is passed to the constructor is not modified.

İçindekiler

  • FilesystemIterator::__construct — Constructs a new filesystem iterator
  • FilesystemIterator::current — The current file
  • FilesystemIterator::getFlags — Get the handling flags
  • FilesystemIterator::key — Retrieve the key for the current file
  • FilesystemIterator::next — Move to the next file
  • FilesystemIterator::rewind — Rewinds back to the beginning
  • FilesystemIterator::setFlags — Sets handling flags


Constructs a new filesystem iterator

  • « FilesystemIterator
  • FilesystemIterator::current »
  • PHP Manual
  • FilesystemIterator
  • Constructs a new filesystem iterator

FilesystemIterator::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::__construct — Constructs a new filesystem iterator

Açıklama

public FilesystemIterator::__construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS)

Constructs a new filesystem iterator from the directory.

Bağımsız Değişkenler

directory

The path of the filesystem item to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags()

Hatalar/İstisnalar

Throws an UnexpectedValueException if the directory does not exist.

Throws a ValueError if the directory is an empty string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Prior to PHP 8.2.0, FilesystemIterator::SKIP_DOTS was always set and could not be removed.
8.0.0 | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException.

Örnekler

Örnek 1 FilesystemIterator::__construct() example

<?php
$it = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::CURRENT_AS_FILEINFO);
foreach ($it as $fileinfo) {
echo $fileinfo->getFilename() . "\n";
}
?>

Yukarıdaki örneğin PHP 8.2 çıktısı şuna benzer:

.
..
apples.jpg
banana.jpg
example.php

Output of the above example prior to PHP 8.2.0 is similar to:

apples.jpg
banana.jpg
example.php

Ayrıca Bakınız

  • FilesystemIterator::setFlags() - Sets handling flags
  • DirectoryIterator::__construct() - Constructs a new directory iterator from a path


The current file

  • « FilesystemIterator::__construct
  • FilesystemIterator::getFlags »
  • PHP Manual
  • FilesystemIterator
  • The current file

FilesystemIterator::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::current — The current file

Açıklama

public FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator

Get file information of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.

Örnekler

Örnek 1 FilesystemIterator::current() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(__DIR__, FilesystemIterator::CURRENT_AS_PATHNAME);
foreach ($iterator as $fileinfo) {
echo $iterator->current() . "\n";
}
?>

Yukarıdaki örneğin PHP 8.2 çıktısı şuna benzer:

/www/examples/.
/www/examples/..
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Ayrıca Bakınız

  • FilesystemIterator constants
  • DirectoryIterator::current() - Return the current DirectoryIterator item
  • DirectoryIterator::getFileName() - Return file name of current DirectoryIterator item


Get the handling flags

  • « FilesystemIterator::current
  • FilesystemIterator::key »
  • PHP Manual
  • FilesystemIterator
  • Get the handling flags

FilesystemIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::getFlags — Get the handling flags

Açıklama

public FilesystemIterator::getFlags(): int

Gets the handling flags, as set in FilesystemIterator::__construct() or FilesystemIterator::setFlags().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The integer value of the set flags.

Ayrıca Bakınız

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::setFlags() - Sets handling flags


Retrieve the key for the current file

  • « FilesystemIterator::getFlags
  • FilesystemIterator::next »
  • PHP Manual
  • FilesystemIterator
  • Retrieve the key for the current file

FilesystemIterator::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::key — Retrieve the key for the current file

Açıklama

public FilesystemIterator::key(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the pathname or filename depending on the set flags. See the FilesystemIterator constants.

Örnekler

Örnek 1 FilesystemIterator::key() example

This example will list the contents of the directory containing the script.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);
foreach ($iterator as $fileinfo) {
echo $iterator->key() . "\n";
}
?>

Yukarıdaki örneğin PHP 8.2 çıktısı şuna benzer:

.
..
apple.jpg
banana.jpg
example.php

Ayrıca Bakınız

  • FilesystemIterator constants
  • DirectoryIterator::key() - Return the key for the current DirectoryIterator item
  • DirectoryIterator::getFilename() - Return file name of current DirectoryIterator item
  • DirectoryIterator::getPathname()


Move to the next file

  • « FilesystemIterator::key
  • FilesystemIterator::rewind »
  • PHP Manual
  • FilesystemIterator
  • Move to the next file

FilesystemIterator::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::next — Move to the next file

Açıklama

public FilesystemIterator::next(): void

Move to the next file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 FilesystemIterator::next() example

List the contents of a directory using a while loop.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__));
while($iterator->valid()) {
echo $iterator->getFilename() . "\n";
$iterator->next();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple.jpg
banana.jpg
example.php

Ayrıca Bakınız

  • DirectoryIterator::next() - Move forward to next DirectoryIterator item


Rewinds back to the beginning

  • « FilesystemIterator::next
  • FilesystemIterator::setFlags »
  • PHP Manual
  • FilesystemIterator
  • Rewinds back to the beginning

FilesystemIterator::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::rewind — Rewinds back to the beginning

Açıklama

public FilesystemIterator::rewind(): void

Rewinds the directory back to the start.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 FilesystemIterator::rewind() example

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_FILENAME);

echo $iterator->key() . "\n";

$iterator->next();
echo $iterator->key() . "\n";

$iterator->rewind();
echo $iterator->key() . "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple.jpg
banana.jpg
apple.jpg

Ayrıca Bakınız

  • DirectoryIterator::rewind() - Rewind the DirectoryIterator back to the start


Sets handling flags

  • « FilesystemIterator::rewind
  • FilterIterator »
  • PHP Manual
  • FilesystemIterator
  • Sets handling flags

FilesystemIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

FilesystemIterator::setFlags — Sets handling flags

Açıklama

public FilesystemIterator::setFlags(int $flags): void

Sets handling flags.

Bağımsız Değişkenler

flags

The handling flags to set. See the FilesystemIterator constants.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 FilesystemIterator::key() example

This example demonstrates the difference between the FilesystemIterator::KEY_AS_PATHNAME and FilesystemIterator::KEY_AS_FILENAME flags.

<?php
$iterator = new FilesystemIterator(dirname(__FILE__), FilesystemIterator::KEY_AS_PATHNAME);
echo "Key as Pathname:\n";
foreach ($iterator as $key => $fileinfo) {
echo $key . "\n";
}

$iterator->setFlags(FilesystemIterator::KEY_AS_FILENAME);
echo "\nKey as Filename:\n";
foreach ($iterator as $key => $fileinfo) {
echo $key . "\n";
}
?>

Yukarıdaki örneğin PHP 8.2 çıktısı şuna benzer:

Key as Pathname:
/www/examples/.
/www/examples/..
/www/examples/apple.jpg
/www/examples/banana.jpg
/www/examples/example.php

Key as Filename:
.
..
apple.jpg
banana.jpg
example.php

Ayrıca Bakınız

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • FilesystemIterator::getFlags() - Get the handling flags


The FilterIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This abstract iterator filters out unwanted values. This class should be extended to implement custom iterator filters. The FilterIterator::accept() must be implemented in the subclass.

Sınıf Sözdizimi

abstract class FilterIterator extends IteratorIterator {
/* Yöntemler */
public __construct(Iterator $iterator)
public accept(): bool
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • FilterIterator::accept — Check whether the current element of the iterator is acceptable
  • FilterIterator::__construct — Construct a filterIterator
  • FilterIterator::current — Get the current element value
  • FilterIterator::key — Get the current key
  • FilterIterator::next — Move the iterator forward
  • FilterIterator::rewind — Rewind the iterator
  • FilterIterator::valid — Check whether the current element is valid


Check whether the current element of the iterator is acceptable

  • « FilterIterator
  • FilterIterator::__construct »
  • PHP Manual
  • FilterIterator
  • Check whether the current element of the iterator is acceptable

FilterIterator::accept

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::accept — Check whether the current element of the iterator is acceptable

Açıklama

public FilterIterator::accept(): bool

Returns whether the current element of the iterator is acceptable through this filter.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current element is acceptable, otherwise false.

Örnekler

Örnek 1 FilterIterator::accept() example

<?php
// This iterator filters all values with less than 10 characters
class LengthFilterIterator extends FilterIterator {

public function accept() {
// Only accept strings with a length of 10 and greater
return strlen(parent::current()) >= 10;
}

}

$arrayIterator = new ArrayIterator(array('test1', 'more than 10 characters'));
$lengthFilter = new LengthFilterIterator($arrayIterator);

foreach ($lengthFilter as $value) {
echo $value . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

more than 10 characters


Construct a filterIterator

  • « FilterIterator::accept
  • FilterIterator::current »
  • PHP Manual
  • FilterIterator
  • Construct a filterIterator

FilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::__construct — Construct a filterIterator

Açıklama

public FilterIterator::__construct(Iterator $iterator)

Constructs a new FilterIterator, which consists of a passed in iterator with filters applied to it.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The iterator that is being filtered.

Ayrıca Bakınız

  • LimitIterator::__construct() - Construct a LimitIterator


Get the current element value

  • « FilterIterator::__construct
  • FilterIterator::key »
  • PHP Manual
  • FilterIterator
  • Get the current element value

FilterIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::current — Get the current element value

Açıklama

public FilterIterator::current(): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Get the current element value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current element value.

Ayrıca Bakınız

  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward


Get the current key

  • « FilterIterator::current
  • FilterIterator::next »
  • PHP Manual
  • FilterIterator
  • Get the current key

FilterIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::key — Get the current key

Açıklama

public FilterIterator::key(): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Get the current key.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current key.

Ayrıca Bakınız

  • FilterIterator::next() - Move the iterator forward
  • FilterIterator::current() - Get the current element value


Move the iterator forward

  • « FilterIterator::key
  • FilterIterator::rewind »
  • PHP Manual
  • FilterIterator
  • Move the iterator forward

FilterIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::next — Move the iterator forward

Açıklama

public FilterIterator::next(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Move the iterator forward.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • FilterIterator::current() - Get the current element value
  • FilterIterator::key() - Get the current key


Rewind the iterator

  • « FilterIterator::next
  • FilterIterator::valid »
  • PHP Manual
  • FilterIterator
  • Rewind the iterator

FilterIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::rewind — Rewind the iterator

Açıklama

public FilterIterator::rewind(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Rewind the iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • FilterIterator::current() - Get the current element value
  • FilterIterator::key() - Get the current key
  • FilterIterator::next() - Move the iterator forward


Check whether the current element is valid

  • « FilterIterator::rewind
  • GlobIterator »
  • PHP Manual
  • FilterIterator
  • Check whether the current element is valid

FilterIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

FilterIterator::valid — Check whether the current element is valid

Açıklama

public FilterIterator::valid(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Checks whether the current element is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current element is valid, otherwise false


The GlobIterator class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Iterates through a file system in a similar fashion to glob().

Sınıf Sözdizimi

class GlobIterator extends FilesystemIterator implements Countable {
/* Miras alınan sabitler */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Yöntemler */
public __construct(string $pattern, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)
public count(): int
/* Miras alınan yöntemler */
public FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator
public FilesystemIterator::getFlags(): int
public FilesystemIterator::key(): string
public FilesystemIterator::next(): void
public FilesystemIterator::rewind(): void
public FilesystemIterator::setFlags(int $flags): void
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string $suffix = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int $offset): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • GlobIterator::__construct — Construct a directory using glob
  • GlobIterator::count — Get the number of directories and files


Construct a directory using glob

  • « GlobIterator
  • GlobIterator::count »
  • PHP Manual
  • GlobIterator
  • Construct a directory using glob

GlobIterator::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

GlobIterator::__construct — Construct a directory using glob

Açıklama

public GlobIterator::__construct(string $pattern, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)

Constructs a new directory iterator from a glob expression.

Bağımsız Değişkenler

pattern

A glob() pattern.

flags

Option flags, the flags may be a bitmask of the FilesystemIterator constants.

Hatalar/İstisnalar

Throws an UnexpectedValueException if the directory does not exist.

Throws a ValueError if the directory is an empty string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException.

Örnekler

Örnek 1 GlobIterator example

<?php
$iterator = new GlobIterator('*.dll', FilesystemIterator::KEY_AS_FILENAME);

if (!$iterator->count()) {
echo 'No matches';
} else {
$n = 0;

printf("Matched %d item(s)\r\n", $iterator->count());

foreach ($iterator as $item) {
printf("[%d] %s\r\n", ++$n, $iterator->key());
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Matched 2 item(s)
[1] php5ts.dll
[2] php_gd2.dll

Ayrıca Bakınız

  • DirectoryIterator::__construct() - Constructs a new directory iterator from a path
  • GlobIterator::count() - Get the number of directories and files
  • glob() - Bir kalıpla eşleşen dosya yollarını bulur


Get the number of directories and files

  • « GlobIterator::__construct
  • InfiniteIterator »
  • PHP Manual
  • GlobIterator
  • Get the number of directories and files

GlobIterator::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

GlobIterator::count — Get the number of directories and files

Açıklama

public GlobIterator::count(): int

Gets the number of directories and files found by the glob expression.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of returned directories and files, as an int.

Örnekler

Örnek 1 GlobIterator::count() example

<?php
$iterator = new GlobIterator('*.xml');

printf("Matched %d item(s)\r\n", $iterator->count());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Matched 8 item(s)

Ayrıca Bakınız

  • GlobIterator::__construct() - Construct a directory using glob
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • glob() - Bir kalıpla eşleşen dosya yollarını bulur


The InfiniteIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The InfiniteIterator allows one to infinitely iterate over an iterator without having to manually rewind the iterator upon reaching its end.

Sınıf Sözdizimi

class InfiniteIterator extends IteratorIterator {
/* Yöntemler */
public __construct(Iterator $iterator)
public next(): void
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • InfiniteIterator::__construct — Constructs an InfiniteIterator
  • InfiniteIterator::next — Moves the inner Iterator forward or rewinds it


Constructs an InfiniteIterator

  • « InfiniteIterator
  • InfiniteIterator::next »
  • PHP Manual
  • InfiniteIterator
  • Constructs an InfiniteIterator

InfiniteIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

InfiniteIterator::__construct — Constructs an InfiniteIterator

Açıklama

public InfiniteIterator::__construct(Iterator $iterator)

Constructs an InfiniteIterator from an Iterator.

Bağımsız Değişkenler

iterator

The iterator to infinitely iterate over.

Örnekler

Örnek 1 InfiniteIterator::__construct() example

<?php
$arrayit = new ArrayIterator(array('cat','dog'));
$infinite = new InfiniteIterator($arrayit);
$limit = new LimitIterator($infinite, 0, 7);
foreach($limit as $value)
{
echo "$value\n";
}
?>

Yukarıdaki örneğin çıktısı:

cat
dog
cat
dog
cat
dog
cat

Ayrıca Bakınız

  • InfiniteIterator::next() - Moves the inner Iterator forward or rewinds it


Moves the inner Iterator forward or rewinds it

  • « InfiniteIterator::__construct
  • IteratorIterator »
  • PHP Manual
  • InfiniteIterator
  • Moves the inner Iterator forward or rewinds it

InfiniteIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

InfiniteIterator::next — Moves the inner Iterator forward or rewinds it

Açıklama

public InfiniteIterator::next(): void

Moves the inner Iterator forward to its next element if there is one, otherwise rewinds the inner Iterator back to the beginning.

Bilginize:

Even an InfiniteIterator stops if its inner Iterator is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • InfiniteIterator::__construct() - Constructs an InfiniteIterator


The IteratorIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This iterator wrapper allows the conversion of anything that is Traversable into an Iterator. It is important to understand that most classes that do not implement Iterators have reasons as most likely they do not allow the full Iterator feature set. If so, techniques should be provided to prevent misuse, otherwise expect exceptions or fatal errors.

Sınıf Sözdizimi

class IteratorIterator implements OuterIterator {
/* Yöntemler */
public __construct(Traversable $iterator, ?string $class = null)
public current(): mixed
public getInnerIterator(): ?Iterator
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
}

Notlar

Bilginize:

This class permits access to methods of the inner iterator via the __call magic method.

İçindekiler

  • IteratorIterator::__construct — Create an iterator from anything that is traversable
  • IteratorIterator::current — Get the current value
  • IteratorIterator::getInnerIterator — Get the inner iterator
  • IteratorIterator::key — Get the key of the current element
  • IteratorIterator::next — Forward to the next element
  • IteratorIterator::rewind — Rewind to the first element
  • IteratorIterator::valid — Checks if the iterator is valid


Create an iterator from anything that is traversable

  • « IteratorIterator
  • IteratorIterator::current »
  • PHP Manual
  • IteratorIterator
  • Create an iterator from anything that is traversable

IteratorIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::__construct — Create an iterator from anything that is traversable

Açıklama

public IteratorIterator::__construct(Traversable $iterator, ?string $class = null)

Creates an iterator from anything that is traversable.

Bağımsız Değişkenler

iterator

The traversable iterator.

class

The class name to use for the inner iterator. It allows to specify a different iterator class to wrap the provided iterator. By default, it will use the IteratorIterator class itself.

Ayrıca Bakınız

  • Traversable


Get the current value

  • « IteratorIterator::__construct
  • IteratorIterator::getInnerIterator »
  • PHP Manual
  • IteratorIterator
  • Get the current value

IteratorIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::current — Get the current value

Açıklama

public IteratorIterator::current(): mixed

Get the value of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the current element.

Ayrıca Bakınız

  • IteratorIterator::key() - Get the key of the current element


Get the inner iterator

  • « IteratorIterator::current
  • IteratorIterator::key »
  • PHP Manual
  • IteratorIterator
  • Get the inner iterator

IteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::getInnerIterator — Get the inner iterator

Açıklama

public IteratorIterator::getInnerIterator(): ?Iterator

Get the inner iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The inner iterator as passed to IteratorIterator::__construct(), or null when there is no inner iterator.

Ayrıca Bakınız

  • Iterator
  • OuterIterator


Get the key of the current element

  • « IteratorIterator::getInnerIterator
  • IteratorIterator::next »
  • PHP Manual
  • IteratorIterator
  • Get the key of the current element

IteratorIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::key — Get the key of the current element

Açıklama

public IteratorIterator::key(): mixed

Get the key of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The key of the current element.

Ayrıca Bakınız

  • IteratorIterator::current() - Get the current value


Forward to the next element

  • « IteratorIterator::key
  • IteratorIterator::rewind »
  • PHP Manual
  • IteratorIterator
  • Forward to the next element

IteratorIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::next — Forward to the next element

Açıklama

public IteratorIterator::next(): void

Forward to the next element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • IteratorIterator::rewind() - Rewind to the first element
  • IteratorIterator::valid() - Checks if the iterator is valid


Rewind to the first element

  • « IteratorIterator::next
  • IteratorIterator::valid »
  • PHP Manual
  • IteratorIterator
  • Rewind to the first element

IteratorIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::rewind — Rewind to the first element

Açıklama

public IteratorIterator::rewind(): void

Rewinds to the first element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • IteratorIterator::next() - Forward to the next element
  • IteratorIterator::valid() - Checks if the iterator is valid


Checks if the iterator is valid

  • « IteratorIterator::rewind
  • LimitIterator »
  • PHP Manual
  • IteratorIterator
  • Checks if the iterator is valid

IteratorIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

IteratorIterator::valid — Checks if the iterator is valid

Açıklama

public IteratorIterator::valid(): bool

Checks if the iterator is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the iterator is valid, otherwise false

Ayrıca Bakınız

  • iterator_count() - Count the elements in an iterator
  • IteratorIterator::current() - Get the current value


The LimitIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The LimitIterator class allows iteration over a limited subset of items in an Iterator.

Sınıf Sözdizimi

class LimitIterator extends IteratorIterator {
/* Yöntemler */
public __construct(Iterator $iterator, int $offset = 0, int $limit = -1)
public current(): mixed
public getPosition(): int
public key(): mixed
public next(): void
public rewind(): void
public seek(int $offset): int
public valid(): bool
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

Örnekler

Örnek 1 LimitIterator usage example

<?php

// Create an iterator to be limited
$fruits = new ArrayIterator(array(
'apple',
'banana',
'cherry',
'damson',
'elderberry'
));

// Loop over first three fruits only
foreach (new LimitIterator($fruits, 0, 3) as $fruit) {
var_dump($fruit);
}

echo "\n";

// Loop from third fruit until the end
// Note: offset starts from zero for apple
foreach (new LimitIterator($fruits, 2) as $fruit) {
var_dump($fruit);
}

?>

Yukarıdaki örneğin çıktısı:

string(5) "apple"
string(6) "banana"
string(6) "cherry"

string(6) "cherry"
string(6) "damson"
string(10) "elderberry"

İçindekiler

  • LimitIterator::__construct — Construct a LimitIterator
  • LimitIterator::current — Get current element
  • LimitIterator::getPosition — Return the current position
  • LimitIterator::key — Get current key
  • LimitIterator::next — Move the iterator forward
  • LimitIterator::rewind — Rewind the iterator to the specified starting offset
  • LimitIterator::seek — Seek to the given position
  • LimitIterator::valid — Check whether the current element is valid


Construct a LimitIterator

  • « LimitIterator
  • LimitIterator::current »
  • PHP Manual
  • LimitIterator
  • Construct a LimitIterator

LimitIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::__construct — Construct a LimitIterator

Açıklama

public LimitIterator::__construct(Iterator $iterator, int $offset = 0, int $limit = -1)

Constructs a new LimitIterator from an iterator with a given starting offset and maximum limit.

Bağımsız Değişkenler

iterator

The Iterator to limit.

offset

Optional offset of the limit.

limit

Optional count of the limit.

Hatalar/İstisnalar

Throws a ValueError if the offset is less than 0 or the limit is less than -1.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Now throws a ValueError if offset is less than 0; previously it threw a RuntimeException.
8.0.0 | Now throws a ValueError if limit is less than -1; previously it threw a RuntimeException.

Örnekler

Örnek 1 LimitIterator::__construct() example

<?php
$ait = new ArrayIterator(array('a', 'b', 'c', 'd', 'e'));
$lit = new LimitIterator($ait, 1, 3);
foreach ($lit as $value) {
echo $value . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

b
c
d

Ayrıca Bakınız

  • LimitIterator examples


Get current element

  • « LimitIterator::__construct
  • LimitIterator::getPosition »
  • PHP Manual
  • LimitIterator
  • Get current element

LimitIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::current — Get current element

Açıklama

public LimitIterator::current(): mixed

Gets the current element of the inner Iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current element or null if there is none.

Ayrıca Bakınız

  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid


Return the current position

  • « LimitIterator::current
  • LimitIterator::key »
  • PHP Manual
  • LimitIterator
  • Return the current position

LimitIterator::getPosition

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::getPosition — Return the current position

Açıklama

public LimitIterator::getPosition(): int

Gets the current zero-based position of the inner Iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current position.

Örnekler

Örnek 1 LimitIterator::getPosition() example

<?php
$fruits = array(
'a' => 'apple',
'b' => 'banana',
'c' => 'cherry',
'd' => 'damson',
'e' => 'elderberry'
);
$array_it = new ArrayIterator($fruits);
$limit_it = new LimitIterator($array_it, 2, 3);
foreach ($limit_it as $item) {
echo $limit_it->getPosition() . ' ' . $item . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

2 cherry
3 damson
4 elderberry

Ayrıca Bakınız

  • FilterIterator::key() - Get the current key


Get current key

  • « LimitIterator::getPosition
  • LimitIterator::next »
  • PHP Manual
  • LimitIterator
  • Get current key

LimitIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::key — Get current key

Açıklama

public LimitIterator::key(): mixed

Gets the key for the current item in the inner Iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the key for the current item.

Ayrıca Bakınız

  • LimitIterator::getPosition() - Return the current position
  • LimitIterator::current() - Get current element
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid


Move the iterator forward

  • « LimitIterator::key
  • LimitIterator::rewind »
  • PHP Manual
  • LimitIterator
  • Move the iterator forward

LimitIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::next — Move the iterator forward

Açıklama

public LimitIterator::next(): void

Moves the iterator forward.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid


Rewind the iterator to the specified starting offset

  • « LimitIterator::next
  • LimitIterator::seek »
  • PHP Manual
  • LimitIterator
  • Rewind the iterator to the specified starting offset

LimitIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::rewind — Rewind the iterator to the specified starting offset

Açıklama

public LimitIterator::rewind(): void

Rewinds the iterator to the starting offset specified in LimitIterator::__construct().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position
  • LimitIterator::valid() - Check whether the current element is valid


Seek to the given position

  • « LimitIterator::rewind
  • LimitIterator::valid »
  • PHP Manual
  • LimitIterator
  • Seek to the given position

LimitIterator::seek

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::seek — Seek to the given position

Açıklama

public LimitIterator::seek(int $offset): int

Moves the iterator to the offset specified by offset.

Bağımsız Değişkenler

offset

The position to seek to.

Dönen Değerler

Returns the offset position after seeking.

Hatalar/İstisnalar

Throws an OutOfBoundsException if the position is outside of the limits specified in LimitIterator::__construct().

Ayrıca Bakınız

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::valid() - Check whether the current element is valid


Check whether the current element is valid

  • « LimitIterator::seek
  • MultipleIterator »
  • PHP Manual
  • LimitIterator
  • Check whether the current element is valid

LimitIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

LimitIterator::valid — Check whether the current element is valid

Açıklama

public LimitIterator::valid(): bool

Checks whether the current element is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • LimitIterator::current() - Get current element
  • LimitIterator::key() - Get current key
  • LimitIterator::rewind() - Rewind the iterator to the specified starting offset
  • LimitIterator::next() - Move the iterator forward
  • LimitIterator::seek() - Seek to the given position


The MultipleIterator class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

An Iterator that sequentially iterates over all attached iterators

Sınıf Sözdizimi

class MultipleIterator implements Iterator {
/* Sabitler */
public const int MIT_NEED_ANY;
public const int MIT_NEED_ALL;
public const int MIT_KEYS_NUMERIC;
public const int MIT_KEYS_ASSOC;
/* Yöntemler */
public __construct(int $flags = MultipleIterator::MIT_NEED_ALL | MultipleIterator::MIT_KEYS_NUMERIC)
public attachIterator(Iterator $iterator, string|int|null $info = null): void
public containsIterator(Iterator $iterator): bool
public countIterators(): int
public current(): array
public detachIterator(Iterator $iterator): void
public getFlags(): int
public key(): array
public next(): void
public rewind(): void
public setFlags(int $flags): void
public valid(): bool
}

Öntanımlı Sabitler

MultipleIterator::MIT_NEED_ANY

Do not require all sub iterators to be valid in iteration.

MultipleIterator::MIT_NEED_ALL

Require all sub iterators to be valid in iteration.

MultipleIterator::MIT_KEYS_NUMERIC

Keys are created from the sub iterators position.

MultipleIterator::MIT_KEYS_ASSOC

Keys are created from sub iterators associated information.

İçindekiler

  • MultipleIterator::attachIterator — Attaches iterator information
  • MultipleIterator::__construct — Constructs a new MultipleIterator
  • MultipleIterator::containsIterator — Checks if an iterator is attached
  • MultipleIterator::countIterators — Gets the number of attached iterator instances
  • MultipleIterator::current — Gets the registered iterator instances
  • MultipleIterator::detachIterator — Detaches an iterator
  • MultipleIterator::getFlags — Gets the flag information
  • MultipleIterator::key — Gets the registered iterator instances
  • MultipleIterator::next — Moves all attached iterator instances forward
  • MultipleIterator::rewind — Rewinds all attached iterator instances
  • MultipleIterator::setFlags — Sets flags
  • MultipleIterator::valid — Checks the validity of sub iterators


Attaches iterator information

  • « MultipleIterator
  • MultipleIterator::__construct »
  • PHP Manual
  • MultipleIterator
  • Attaches iterator information

MultipleIterator::attachIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::attachIterator — Attaches iterator information

Açıklama

public MultipleIterator::attachIterator(Iterator $iterator, string|int|null $info = null): void

Attaches iterator information.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The new iterator to attach.

info

The associative information for the Iterator, which must be an int, a string, or null.

Dönen Değerler

Description...

Hatalar/İstisnalar

An IllegalValueException if the iterator parameter is invalid, or if info is already associated information.

Ayrıca Bakınız

  • MultipleIterator::__construct() - Constructs a new MultipleIterator


Constructs a new MultipleIterator

  • « MultipleIterator::attachIterator
  • MultipleIterator::containsIterator »
  • PHP Manual
  • MultipleIterator
  • Constructs a new MultipleIterator

MultipleIterator::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::__construct — Constructs a new MultipleIterator

Açıklama

public MultipleIterator::__construct(int $flags = MultipleIterator::MIT_NEED_ALL | MultipleIterator::MIT_KEYS_NUMERIC)

Construct a new MultipleIterator.

Bağımsız Değişkenler

flags

The flags to set, according to the Flag Constants.

  • MultipleIterator::MIT_NEED_ALL or MultipleIterator::MIT_NEED_ANY
  • MultipleIterator::MIT_KEYS_NUMERIC or MultipleIterator::MIT_KEYS_ASSOC

Defaults to MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC.

Örnekler

Örnek 1 Iterating a MultipleIterator

<?php
$people = new ArrayIterator(array('John', 'Jane', 'Jack', 'Judy'));
$roles = new ArrayIterator(array('Developer', 'Scrum Master', 'Project Owner'));

$team = new MultipleIterator($flags);
$team->attachIterator($people, 'person');
$team->attachIterator($roles, 'role');

foreach ($team as $member) {
print_r($member);
}
?>

Output with $flags = MIT_NEED_ALL|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_NUMERIC

Array
(
    [0] => John
    [1] => Developer
)
Array
(
    [0] => Jane
    [1] => Scrum Master
)
Array
(
    [0] => Jack
    [1] => Project Owner
)
Array
(
    [0] => Judy
    [1] =>
)

Output with $flags = MIT_NEED_ALL|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)

Output with $flags = MIT_NEED_ANY|MIT_KEYS_ASSOC

Array
(
    [person] => John
    [role] => Developer
)
Array
(
    [person] => Jane
    [role] => Scrum Master
)
Array
(
    [person] => Jack
    [role] => Project Owner
)
Array
(
    [person] => Judy
    [role] =>
)

Ayrıca Bakınız

  • Flag Constants
  • MultipleIterator::valid() - Checks the validity of sub iterators


Checks if an iterator is attached

  • « MultipleIterator::__construct
  • MultipleIterator::countIterators »
  • PHP Manual
  • MultipleIterator
  • Checks if an iterator is attached

MultipleIterator::containsIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::containsIterator — Checks if an iterator is attached

Açıklama

public MultipleIterator::containsIterator(Iterator $iterator): bool

Checks if an iterator is attached or not.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The iterator to check.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • MultipleIterator::valid() - Checks the validity of sub iterators


Gets the number of attached iterator instances

  • « MultipleIterator::containsIterator
  • MultipleIterator::current »
  • PHP Manual
  • MultipleIterator
  • Gets the number of attached iterator instances

MultipleIterator::countIterators

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::countIterators — Gets the number of attached iterator instances

Açıklama

public MultipleIterator::countIterators(): int

Gets the number of attached iterator instances.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of attached iterator instances (as an int).

Ayrıca Bakınız

  • MultipleIterator::containsIterator() - Checks if an iterator is attached


Gets the registered iterator instances

  • « MultipleIterator::countIterators
  • MultipleIterator::detachIterator »
  • PHP Manual
  • MultipleIterator
  • Gets the registered iterator instances

MultipleIterator::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::current — Gets the registered iterator instances

Açıklama

public MultipleIterator::current(): array

Get the registered iterator instances current() result.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing the current values of each attached iterator.

Hatalar/İstisnalar

A RuntimeException if the iterator is invalid (as of PHP 8.1.0), or mode MIT_NEED_ALL is set and at least one attached iterator is not valid. Or an IllegalValueException if a key is null and MIT_KEYS_ASSOC is set.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | A RuntimeException is now thrown if MultipleIterator::current() is called on an invalid iterator. Previously, false was returned.

Ayrıca Bakınız

  • MultipleIterator::valid() - Checks the validity of sub iterators


Detaches an iterator

  • « MultipleIterator::current
  • MultipleIterator::getFlags »
  • PHP Manual
  • MultipleIterator
  • Detaches an iterator

MultipleIterator::detachIterator

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::detachIterator — Detaches an iterator

Açıklama

public MultipleIterator::detachIterator(Iterator $iterator): void

Detaches an iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The iterator to detach.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • MultipleIterator::attachIterator() - Attaches iterator information


Gets the flag information

  • « MultipleIterator::detachIterator
  • MultipleIterator::key »
  • PHP Manual
  • MultipleIterator
  • Gets the flag information

MultipleIterator::getFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::getFlags — Gets the flag information

Açıklama

public MultipleIterator::getFlags(): int

Gets information about the flags.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Information about the flags, as an int.

Ayrıca Bakınız

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::setFlags() - Sets flags


Gets the registered iterator instances

  • « MultipleIterator::getFlags
  • MultipleIterator::next »
  • PHP Manual
  • MultipleIterator
  • Gets the registered iterator instances

MultipleIterator::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::key — Gets the registered iterator instances

Açıklama

public MultipleIterator::key(): array

Get the registered iterator instances key() result.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of all registered iterator instances.

Hatalar/İstisnalar

A RuntimeException if the iterator is invalid (as of PHP 8.1.0), or mode MIT_NEED_ALL is set, and at least one attached iterator is not valid.

Calling this method from foreach triggers warning "Illegal type returned".

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | A RuntimeException is now thrown if MultipleIterator::key() is called on an invalid iterator. Previously, false was returned.

Ayrıca Bakınız

  • MultipleIterator::current() - Gets the registered iterator instances


Moves all attached iterator instances forward

  • « MultipleIterator::key
  • MultipleIterator::rewind »
  • PHP Manual
  • MultipleIterator
  • Moves all attached iterator instances forward

MultipleIterator::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::next — Moves all attached iterator instances forward

Açıklama

public MultipleIterator::next(): void

Moves all attached iterator instances forward.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • MultipleIterator::rewind() - Rewinds all attached iterator instances


Rewinds all attached iterator instances

  • « MultipleIterator::next
  • MultipleIterator::setFlags »
  • PHP Manual
  • MultipleIterator
  • Rewinds all attached iterator instances

MultipleIterator::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::rewind — Rewinds all attached iterator instances

Açıklama

public MultipleIterator::rewind(): void

Rewinds all attached iterator instances.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • MultipleIterator::next() - Moves all attached iterator instances forward


Sets flags

  • « MultipleIterator::rewind
  • MultipleIterator::valid »
  • PHP Manual
  • MultipleIterator
  • Sets flags

MultipleIterator::setFlags

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::setFlags — Sets flags

Açıklama

public MultipleIterator::setFlags(int $flags): void

Sets flags.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

flags

The flags to set, according to the Flag Constants

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Flag Constants
  • MultipleIterator::__construct() - Constructs a new MultipleIterator
  • MultipleIterator::getFlags() - Gets the flag information


Checks the validity of sub iterators

  • « MultipleIterator::setFlags
  • NoRewindIterator »
  • PHP Manual
  • MultipleIterator
  • Checks the validity of sub iterators

MultipleIterator::valid

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

MultipleIterator::valid — Checks the validity of sub iterators

Açıklama

public MultipleIterator::valid(): bool

Checks the validity of sub iterators.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if one or all sub iterators are valid depending on flags, otherwise false

Ayrıca Bakınız

  • MultipleIterator::__construct() - Constructs a new MultipleIterator


The NoRewindIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This iterator ignores rewind operations. This allows processing an iterator in multiple partial foreach loops.

Sınıf Sözdizimi

class NoRewindIterator extends IteratorIterator {
/* Yöntemler */
public __construct(Iterator $iterator)
public current(): mixed
public key(): mixed
public next(): void
public rewind(): void
public valid(): bool
/* Miras alınan yöntemler */
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • NoRewindIterator::__construct — Construct a NoRewindIterator
  • NoRewindIterator::current — Get the current value
  • NoRewindIterator::key — Get the current key
  • NoRewindIterator::next — Forward to the next element
  • NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator
  • NoRewindIterator::valid — Validates the iterator


Construct a NoRewindIterator

  • « NoRewindIterator
  • NoRewindIterator::current »
  • PHP Manual
  • NoRewindIterator
  • Construct a NoRewindIterator

NoRewindIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::__construct — Construct a NoRewindIterator

Açıklama

public NoRewindIterator::__construct(Iterator $iterator)

Constructs a NoRewindIterator.

Bağımsız Değişkenler

iterator

The iterator being used.

Örnekler

Örnek 1 NoRewindIterator::__construct() example

The second loop does not output because the iterator is only used once, as it does not rewind.

<?php
$fruit = array('apple', 'banana', 'cranberry');

$arr = new ArrayObject($fruit);
$it = new NoRewindIterator($arr->getIterator());

echo "Fruit A:\n";
foreach( $it as $item ) {
echo $item . "\n";
}

echo "Fruit B:\n";
foreach( $it as $item ) {
echo $item . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Fruit A:
apple
banana
cranberry
Fruit B:

Ayrıca Bakınız

  • NoRewindIterator::valid() - Validates the iterator


Get the current value

  • « NoRewindIterator::__construct
  • NoRewindIterator::key »
  • PHP Manual
  • NoRewindIterator
  • Get the current value

NoRewindIterator::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::current — Get the current value

Açıklama

public NoRewindIterator::current(): mixed

Gets the current value.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current value.

Ayrıca Bakınız

  • NoRewindIterator::key() - Get the current key


Get the current key

  • « NoRewindIterator::current
  • NoRewindIterator::next »
  • PHP Manual
  • NoRewindIterator
  • Get the current key

NoRewindIterator::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::key — Get the current key

Açıklama

public NoRewindIterator::key(): mixed

Gets the current key.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current key.

Ayrıca Bakınız

  • NoRewindIterator::next() - Forward to the next element


Forward to the next element

  • « NoRewindIterator::key
  • NoRewindIterator::rewind »
  • PHP Manual
  • NoRewindIterator
  • Forward to the next element

NoRewindIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::next — Forward to the next element

Açıklama

public NoRewindIterator::next(): void

Forwards to the next element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • NoRewindIterator::rewind() - Prevents the rewind operation on the inner iterator


Prevents the rewind operation on the inner iterator

  • « NoRewindIterator::next
  • NoRewindIterator::valid »
  • PHP Manual
  • NoRewindIterator
  • Prevents the rewind operation on the inner iterator

NoRewindIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::rewind — Prevents the rewind operation on the inner iterator

Açıklama

public NoRewindIterator::rewind(): void

Prevents the rewind operation on the inner iterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 NoRewindIterator::rewind() example

This example demonstrates that calling rewind on a NoRewindIterator object has no effect.

<?php
$fruits = array("lemon", "orange", "apple", "pear");

$noRewindIterator = new NoRewindIterator(new ArrayIterator($fruits));

echo $noRewindIterator->current() . "\n";
$noRewindIterator->next();
// now rewind the iterator (nothing should happen)
$noRewindIterator->rewind();
echo $noRewindIterator->current() . "\n";
?>

Yukarıdaki örneğin çıktısı:

lemon
orange


Validates the iterator

  • « NoRewindIterator::rewind
  • ParentIterator »
  • PHP Manual
  • NoRewindIterator
  • Validates the iterator

NoRewindIterator::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

NoRewindIterator::valid — Validates the iterator

Açıklama

public NoRewindIterator::valid(): bool

Checks whether the iterator is valid.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • NoRewindIterator::getInnerIterator()


The ParentIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This extended FilterIterator allows a recursive iteration using RecursiveIteratorIterator that only shows those elements which have children.

Sınıf Sözdizimi

class ParentIterator extends RecursiveFilterIterator {
/* Yöntemler */
public __construct(RecursiveIterator $iterator)
public accept(): bool
public getChildren(): ParentIterator
public hasChildren(): bool
public next(): void
public rewind(): void
/* Miras alınan yöntemler */
public RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator
public RecursiveFilterIterator::hasChildren(): bool
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • ParentIterator::accept — Determines acceptability
  • ParentIterator::__construct — Constructs a ParentIterator
  • ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator
  • ParentIterator::hasChildren — Check whether the inner iterator's current element has children
  • ParentIterator::next — Move the iterator forward
  • ParentIterator::rewind — Rewind the iterator


Determines acceptability

  • « ParentIterator
  • ParentIterator::__construct »
  • PHP Manual
  • ParentIterator
  • Determines acceptability

ParentIterator::accept

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::accept — Determines acceptability

Açıklama

public ParentIterator::accept(): bool

Determines if the current element has children.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current element is acceptable, otherwise false.

Ayrıca Bakınız

  • ParentIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable


Constructs a ParentIterator

  • « ParentIterator::accept
  • ParentIterator::getChildren »
  • PHP Manual
  • ParentIterator
  • Constructs a ParentIterator

ParentIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::__construct — Constructs a ParentIterator

Açıklama

public ParentIterator::__construct(RecursiveIterator $iterator)

Constructs a ParentIterator on an iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The iterator being constructed upon.


Return the inner iterator's children contained in a ParentIterator

  • « ParentIterator::__construct
  • ParentIterator::hasChildren »
  • PHP Manual
  • ParentIterator
  • Return the inner iterator's children contained in a ParentIterator

ParentIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::getChildren — Return the inner iterator's children contained in a ParentIterator

Açıklama

public ParentIterator::getChildren(): ParentIterator

Get the inner iterator's children contained in a ParentIterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An object.


Check whether the inner iterator's current element has children

  • « ParentIterator::getChildren
  • ParentIterator::next »
  • PHP Manual
  • ParentIterator
  • Check whether the inner iterator's current element has children

ParentIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::hasChildren — Check whether the inner iterator's current element has children

Açıklama

public ParentIterator::hasChildren(): bool

Check whether the inner iterator's current element has children.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Move the iterator forward

  • « ParentIterator::hasChildren
  • ParentIterator::rewind »
  • PHP Manual
  • ParentIterator
  • Move the iterator forward

ParentIterator::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::next — Move the iterator forward

Açıklama

public ParentIterator::next(): void

Moves the iterator forward.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Rewind the iterator

  • « ParentIterator::next
  • RecursiveArrayIterator »
  • PHP Manual
  • ParentIterator
  • Rewind the iterator

ParentIterator::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ParentIterator::rewind — Rewind the iterator

Açıklama

public ParentIterator::rewind(): void

Rewinds the iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The RecursiveArrayIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This iterator allows for unsetting and modifying values and keys while iterating over arrays and objects, in the same way as the ArrayIterator. Additionally, it is possible to iterate over the current iterator entry.

Sınıf Sözdizimi

class RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
/* Miras alınan sabitler */
public const int ArrayIterator::STD_PROP_LIST;
public const int ArrayIterator::ARRAY_AS_PROPS;
/* Sabitler */
public const int CHILD_ARRAYS_ONLY;
/* Yöntemler */
public getChildren(): ?RecursiveArrayIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public ArrayIterator::__construct(array|object $array = [], int $flags = 0)
public ArrayIterator::append(mixed $value): void
public ArrayIterator::asort(int $flags = SORT_REGULAR): true
public ArrayIterator::count(): int
public ArrayIterator::current(): mixed
public ArrayIterator::getArrayCopy(): array
public ArrayIterator::getFlags(): int
public ArrayIterator::key(): string|int|null
public ArrayIterator::ksort(int $flags = SORT_REGULAR): true
public ArrayIterator::natcasesort(): true
public ArrayIterator::natsort(): true
public ArrayIterator::next(): void
public ArrayIterator::offsetExists(mixed $key): bool
public ArrayIterator::offsetGet(mixed $key): mixed
public ArrayIterator::offsetSet(mixed $key, mixed $value): void
public ArrayIterator::offsetUnset(mixed $key): void
public ArrayIterator::rewind(): void
public ArrayIterator::seek(int $offset): void
public ArrayIterator::serialize(): string
public ArrayIterator::setFlags(int $flags): void
public ArrayIterator::uasort(callable $callback): true
public ArrayIterator::uksort(callable $callback): true
public ArrayIterator::unserialize(string $data): void
public ArrayIterator::valid(): bool
}

Öntanımlı Sabitler

RecursiveArrayIterator Flags

RecursiveArrayIterator::CHILD_ARRAYS_ONLY

Treat only arrays (not objects) as having children for recursive iteration.

İçindekiler

  • RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object
  • RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object


Returns an iterator for the current entry if it is an array or an object

  • « RecursiveArrayIterator
  • RecursiveArrayIterator::hasChildren »
  • PHP Manual
  • RecursiveArrayIterator
  • Returns an iterator for the current entry if it is an array or an object

RecursiveArrayIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveArrayIterator::getChildren — Returns an iterator for the current entry if it is an array or an object

Açıklama

public RecursiveArrayIterator::getChildren(): ?RecursiveArrayIterator

Returns an iterator for the current iterator entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An iterator for the current entry, if it is an array or object; or null on failure.

Hatalar/İstisnalar

An InvalidArgumentException will be thrown if the current entry does not contain an array or an object.

Örnekler

Örnek 1 RecursiveArrayIterator::getChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

if ($iterator->hasChildren()) {
// print all children
foreach ($iterator->getChildren() as $key => $value) {
echo $key . ' : ' . $value . "\n";
}
} else {
echo "No children.\n";
}

$iterator->next();
}
?>

Yukarıdaki örneğin çıktısı:

No children.
No children.
a : apple
p : pear

Ayrıca Bakınız

  • RecursiveArrayIterator::hasChildren() - Returns whether current entry is an array or an object


Returns whether current entry is an array or an object

  • « RecursiveArrayIterator::getChildren
  • RecursiveCachingIterator »
  • PHP Manual
  • RecursiveArrayIterator
  • Returns whether current entry is an array or an object

RecursiveArrayIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveArrayIterator::hasChildren — Returns whether current entry is an array or an object

Açıklama

public RecursiveArrayIterator::hasChildren(): bool

Returns whether current entry is an array or an object for which an iterator can be obtained via RecursiveArrayIterator::getChildren().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current entry is an array or an object, otherwise false is returned.

Örnekler

Örnek 1 RecursiveArrayIterator::hasChildren() example

<?php
$fruits = array("a" => "lemon", "b" => "orange", array("a" => "apple", "p" => "pear"));

$iterator = new RecursiveArrayIterator($fruits);

while ($iterator->valid()) {

// Check if there are children
if ($iterator->hasChildren()) {
// print all children
foreach ($iterator->getChildren() as $key => $value) {
echo $key . ' : ' . $value . "\n";
}
} else {
echo "No children.\n";
}

$iterator->next();
}
?>

Yukarıdaki örneğin çıktısı:

No children.
No children.
a : apple
p : pear

Ayrıca Bakınız

  • RecursiveArrayIterator::getChildren() - Returns an iterator for the current entry if it is an array or an object


The RecursiveCachingIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

...

Sınıf Sözdizimi

class RecursiveCachingIterator extends CachingIterator implements RecursiveIterator {
/* Miras alınan sabitler */
public const int CachingIterator::CALL_TOSTRING;
public const int CachingIterator::CATCH_GET_CHILD;
public const int CachingIterator::TOSTRING_USE_KEY;
public const int CachingIterator::TOSTRING_USE_CURRENT;
public const int CachingIterator::TOSTRING_USE_INNER;
public const int CachingIterator::FULL_CACHE;
/* Yöntemler */
public __construct(Iterator $iterator, int $flags = RecursiveCachingIterator::CALL_TOSTRING)
public getChildren(): ?RecursiveCachingIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public CachingIterator::count(): int
public CachingIterator::current(): mixed
public CachingIterator::getCache(): array
public CachingIterator::getFlags(): int
public CachingIterator::hasNext(): bool
public CachingIterator::key(): scalar
public CachingIterator::next(): void
public CachingIterator::offsetExists(string $key): bool
public CachingIterator::offsetGet(string $key): mixed
public CachingIterator::offsetSet(string $key, mixed $value): void
public CachingIterator::offsetUnset(string $key): void
public CachingIterator::rewind(): void
public CachingIterator::setFlags(int $flags): void
public CachingIterator::__toString(): string
public CachingIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • RecursiveCachingIterator::__construct — Construct
  • RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator
  • RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children


Construct

  • « RecursiveCachingIterator
  • RecursiveCachingIterator::getChildren »
  • PHP Manual
  • RecursiveCachingIterator
  • Construct

RecursiveCachingIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveCachingIterator::__construct — Construct

Açıklama

public RecursiveCachingIterator::__construct(Iterator $iterator, int $flags = RecursiveCachingIterator::CALL_TOSTRING)

Constructs a new RecursiveCachingIterator, which consists of a passed in iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The iterator being used.

flags

The flags. Use CALL_TOSTRING to call RecursiveCachingIterator::__toString() for every element (the default), and/or CATCH_GET_CHILD to catch exceptions when trying to get children.

Ayrıca Bakınız

  • CachingIterator::__construct() - Construct a new CachingIterator object for the iterator


Return the inner iterator's children as a RecursiveCachingIterator

  • « RecursiveCachingIterator::__construct
  • RecursiveCachingIterator::hasChildren »
  • PHP Manual
  • RecursiveCachingIterator
  • Return the inner iterator's children as a RecursiveCachingIterator

RecursiveCachingIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveCachingIterator::getChildren — Return the inner iterator's children as a RecursiveCachingIterator

Açıklama

public RecursiveCachingIterator::getChildren(): ?RecursiveCachingIterator
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The inner iterator's children, as a RecursiveCachingIterator; or null if there is no children.


Check whether the current element of the inner iterator has children

  • « RecursiveCachingIterator::getChildren
  • RecursiveCallbackFilterIterator »
  • PHP Manual
  • RecursiveCachingIterator
  • Check whether the current element of the inner iterator has children

RecursiveCachingIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveCachingIterator::hasChildren — Check whether the current element of the inner iterator has children

Açıklama

public RecursiveCachingIterator::hasChildren(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the inner iterator has children, otherwise false


The RecursiveCallbackFilterIterator class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

class RecursiveCallbackFilterIterator extends CallbackFilterIterator implements RecursiveIterator {
/* Yöntemler */
public __construct(RecursiveIterator $iterator, callable $callback)
public getChildren(): RecursiveCallbackFilterIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public CallbackFilterIterator::accept(): bool
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

Örnekler

The callback should accept up to three arguments: the current item, the current key and the iterator, respectively.

Örnek 1 Available callback arguments

<?php

/**
* Callback for RecursiveCallbackFilterIterator
*
* @param $current Current item's value
* @param $key Current item's key
* @param $iterator Iterator being filtered
* @return boolean TRUE to accept the current item, FALSE otherwise
*/
function my_callback($current, $key, $iterator) {
// Your filtering code here
}

?>

Filtering a recursive iterator generally involves two conditions. The first is that, to allow recursion, the callback function should return true if the current iterator item has children. The second is the normal filter condition, such as a file size or extension check as in the example below.

Örnek 2 Recursive callback basic example

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Filter large files ( > 100MB)
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
// Allow recursion
if ($iterator->hasChildren()) {
return TRUE;
}
// Check for large file
if ($current->isFile() && $current->getSize() > 104857600) {
return TRUE;
}
return FALSE;
});

foreach (new RecursiveIteratorIterator($files) as $file) {
echo $file->getPathname() . PHP_EOL;
}

?>

İçindekiler

  • RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children


Create a RecursiveCallbackFilterIterator from a RecursiveIterator

  • « RecursiveCallbackFilterIterator
  • RecursiveCallbackFilterIterator::getChildren »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Create a RecursiveCallbackFilterIterator from a RecursiveIterator

RecursiveCallbackFilterIterator::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

RecursiveCallbackFilterIterator::__construct — Create a RecursiveCallbackFilterIterator from a RecursiveIterator

Açıklama

public RecursiveCallbackFilterIterator::__construct(RecursiveIterator $iterator, callable $callback)

Creates a filtered iterator from a RecursiveIterator using the callback to determine which items are accepted or rejected.

Bağımsız Değişkenler

iterator

The recursive iterator to be filtered.

callback

The callback, which should return true to accept the current item or false otherwise. See Examples.

May be any valid callable value.

Ayrıca Bakınız

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children


Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

  • « RecursiveCallbackFilterIterator::__construct
  • RecursiveCallbackFilterIterator::hasChildren »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

RecursiveCallbackFilterIterator::getChildren

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

RecursiveCallbackFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveCallbackFilterIterator

Açıklama

public RecursiveCallbackFilterIterator::getChildren(): RecursiveCallbackFilterIterator

Fetches the filtered children of the inner iterator.

RecursiveCallbackFilterIterator::hasChildren() should be used to determine if there are children to be fetched.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a RecursiveCallbackFilterIterator containing the children.

Ayrıca Bakınız

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::hasChildren() - Check whether the inner iterator's current element has children


Check whether the inner iterator's current element has children

  • « RecursiveCallbackFilterIterator::getChildren
  • RecursiveDirectoryIterator »
  • PHP Manual
  • RecursiveCallbackFilterIterator
  • Check whether the inner iterator's current element has children

RecursiveCallbackFilterIterator::hasChildren

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

RecursiveCallbackFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Açıklama

public RecursiveCallbackFilterIterator::hasChildren(): bool

Returns true if the current element has children, false otherwise.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current element has children, false otherwise.

Örnekler

Örnek 1 RecursiveCallbackFilterIterator::hasChildren() basic usage

<?php

$dir = new RecursiveDirectoryIterator(__DIR__);

// Recursively iterate over XML files
$files = new RecursiveCallbackFilterIterator($dir, function ($current, $key, $iterator) {
// Allow recursion into directories
if ($iterator->hasChildren()) {
return TRUE;
}
// Check for XML file
if (!strcasecmp($current->getExtension(), 'xml')) {
return TRUE;
}
return FALSE;
});

?>

Ayrıca Bakınız

  • RecursiveCallbackFilterIterator Examples
  • RecursiveCallbackFilterIterator::__construct() - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
  • RecursiveCallbackFilteriterator::getChildren() - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator


The RecursiveDirectoryIterator class

(PHP 5, PHP 7, PHP 8)

Giriş

The RecursiveDirectoryIterator provides an interface for iterating recursively over filesystem directories.

Sınıf Sözdizimi

class RecursiveDirectoryIterator extends FilesystemIterator implements RecursiveIterator {
/* Miras alınan sabitler */
public const int FilesystemIterator::CURRENT_MODE_MASK;
public const int FilesystemIterator::CURRENT_AS_PATHNAME;
public const int FilesystemIterator::CURRENT_AS_FILEINFO;
public const int FilesystemIterator::CURRENT_AS_SELF;
public const int FilesystemIterator::KEY_MODE_MASK;
public const int FilesystemIterator::KEY_AS_PATHNAME;
public const int FilesystemIterator::FOLLOW_SYMLINKS;
public const int FilesystemIterator::KEY_AS_FILENAME;
public const int FilesystemIterator::NEW_CURRENT_AND_KEY;
public const int FilesystemIterator::OTHER_MODE_MASK;
public const int FilesystemIterator::SKIP_DOTS;
public const int FilesystemIterator::UNIX_PATHS;
/* Yöntemler */
public __construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)
public getChildren(): RecursiveDirectoryIterator
public getSubPath(): string
public getSubPathname(): string
public hasChildren(bool $allowLinks = false): bool
public key(): string
public next(): void
public rewind(): void
/* Miras alınan yöntemler */
public FilesystemIterator::current(): string|SplFileInfo|FilesystemIterator
public FilesystemIterator::getFlags(): int
public FilesystemIterator::key(): string
public FilesystemIterator::next(): void
public FilesystemIterator::rewind(): void
public FilesystemIterator::setFlags(int $flags): void
public DirectoryIterator::current(): mixed
public DirectoryIterator::getBasename(string $suffix = ""): string
public DirectoryIterator::getExtension(): string
public DirectoryIterator::getFilename(): string
public DirectoryIterator::isDot(): bool
public DirectoryIterator::key(): mixed
public DirectoryIterator::next(): void
public DirectoryIterator::rewind(): void
public DirectoryIterator::seek(int $offset): void
public DirectoryIterator::__toString(): string
public DirectoryIterator::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory
  • RecursiveDirectoryIterator::getSubPath — Get sub path
  • RecursiveDirectoryIterator::getSubPathname — Get sub path and name
  • RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'
  • RecursiveDirectoryIterator::key — Return path and filename of current dir entry
  • RecursiveDirectoryIterator::next — Move to next entry
  • RecursiveDirectoryIterator::rewind — Rewind dir back to the start


Constructs a RecursiveDirectoryIterator

  • « RecursiveDirectoryIterator
  • RecursiveDirectoryIterator::getChildren »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Constructs a RecursiveDirectoryIterator

RecursiveDirectoryIterator::__construct

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

RecursiveDirectoryIterator::__construct — Constructs a RecursiveDirectoryIterator

Açıklama

public RecursiveDirectoryIterator::__construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO)

Constructs a RecursiveDirectoryIterator() for the provided directory.

Bağımsız Değişkenler

directory

The path of the directory to be iterated over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under FilesystemIterator predefined constants. They can also be set later with FilesystemIterator::setFlags().

Hatalar/İstisnalar

Throws an UnexpectedValueException if the directory does not exist.

Throws a ValueError if the directory is an empty string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Now throws a ValueError if directory is an empty string; previously it threw a RuntimeException.

Örnekler

Örnek 1 RecursiveDirectoryIterator example

<?php

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

$it->rewind();
while($it->valid()) {

if (!$it->isDot()) {
echo 'SubPathName: ' . $it->getSubPathName() . "\n";
echo 'SubPath: ' . $it->getSubPath() . "\n";
echo 'Key: ' . $it->key() . "\n\n";
}

$it->next();
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SubPathName: fruit/apple.xml
SubPath:     fruit
Key:         /tmp/fruit/apple.xml

SubPathName: stuff.xml
SubPath:
Key:         /tmp/stuff.xml

SubPathName: veggies/carrot.xml
SubPath:     veggies
Key:         /tmp/veggies/carrot.xml

Ayrıca Bakınız

  • FilesystemIterator::__construct() - Constructs a new filesystem iterator
  • RecursiveIteratorIterator::__construct() - Construct a RecursiveIteratorIterator
  • FilesystemIterator predefined constants


Returns an iterator for the current entry if it is a directory

  • « RecursiveDirectoryIterator::__construct
  • RecursiveDirectoryIterator::getSubPath »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Returns an iterator for the current entry if it is a directory

RecursiveDirectoryIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveDirectoryIterator::getChildren — Returns an iterator for the current entry if it is a directory

Açıklama

public RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The filename, file information, or $this depending on the set flags. See the FilesystemIterator constants.


Get sub path

  • « RecursiveDirectoryIterator::getChildren
  • RecursiveDirectoryIterator::getSubPathname »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Get sub path

RecursiveDirectoryIterator::getSubPath

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveDirectoryIterator::getSubPath — Get sub path

Açıklama

public RecursiveDirectoryIterator::getSubPath(): string

Returns the sub path relative to the directory given in the constructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sub path.

Örnekler

Örnek 1 getSubPath() example

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

foreach ($it as $file) {
echo 'SubPathName: ' . $it->getSubPathName() . "\n";
echo 'SubPath: ' . $it->getSubPath() . "\n\n";
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

     SubPathName: fruit/apple.xml
     SubPath:     fruit

     SubPathName: stuff.xml
     SubPath:

     SubPathName: veggies/carrot.xml
     SubPath:     veggies

Ayrıca Bakınız

  • RecursiveDirectoryIterator::getSubPathName() - Get sub path and name
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry


Get sub path and name

  • « RecursiveDirectoryIterator::getSubPath
  • RecursiveDirectoryIterator::hasChildren »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Get sub path and name

RecursiveDirectoryIterator::getSubPathname

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveDirectoryIterator::getSubPathname — Get sub path and name

Açıklama

public RecursiveDirectoryIterator::getSubPathname(): string

Gets the sub path and filename.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sub path (sub directory) and filename.

Örnekler

Örnek 1 getSubPathname() example

$directory = '/tmp';

$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));

foreach ($it as $file) {
echo 'SubPathName: ' . $it->getSubPathname() . "\n";
echo 'SubPath: ' . $it->getSubPath() . "\n\n";
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

     SubPathName: fruit/apple.xml
     SubPath:     fruit

     SubPathName: stuff.xml
     SubPath:

     SubPathName: veggies/carrot.xml
     SubPath:     veggies

Ayrıca Bakınız

  • RecursiveDirectoryIterator::getSubPath() - Get sub path
  • RecursiveDirectoryIterator::key() - Return path and filename of current dir entry


Returns whether current entry is a directory and not '.' or '..'

  • « RecursiveDirectoryIterator::getSubPathname
  • RecursiveDirectoryIterator::key »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Returns whether current entry is a directory and not '.' or '..'

RecursiveDirectoryIterator::hasChildren

(PHP 5, PHP 7, PHP 8)

RecursiveDirectoryIterator::hasChildren — Returns whether current entry is a directory and not '.' or '..'

Açıklama

public RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

allowLinks

Dönen Değerler

Returns whether the current entry is a directory, but not '.' or '..'


Return path and filename of current dir entry

  • « RecursiveDirectoryIterator::hasChildren
  • RecursiveDirectoryIterator::next »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Return path and filename of current dir entry

RecursiveDirectoryIterator::key

(PHP 5, PHP 7, PHP 8)

RecursiveDirectoryIterator::key — Return path and filename of current dir entry

Açıklama

public RecursiveDirectoryIterator::key(): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The path and filename of the current dir entry.


Move to next entry

  • « RecursiveDirectoryIterator::key
  • RecursiveDirectoryIterator::rewind »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Move to next entry

RecursiveDirectoryIterator::next

(PHP 5, PHP 7, PHP 8)

RecursiveDirectoryIterator::next — Move to next entry

Açıklama

public RecursiveDirectoryIterator::next(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Rewind dir back to the start

  • « RecursiveDirectoryIterator::next
  • RecursiveFilterIterator »
  • PHP Manual
  • RecursiveDirectoryIterator
  • Rewind dir back to the start

RecursiveDirectoryIterator::rewind

(PHP 5, PHP 7, PHP 8)

RecursiveDirectoryIterator::rewind — Rewind dir back to the start

Açıklama

public RecursiveDirectoryIterator::rewind(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The RecursiveFilterIterator class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

This abstract iterator filters out unwanted values for a RecursiveIterator. This class should be extended to implement custom filters. The RecursiveFilterIterator::accept() must be implemented in the subclass.

Sınıf Sözdizimi

abstract class RecursiveFilterIterator extends FilterIterator implements RecursiveIterator {
/* Yöntemler */
public __construct(RecursiveIterator $iterator)
public getChildren(): ?RecursiveFilterIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator
  • RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children


Create a RecursiveFilterIterator from a RecursiveIterator

  • « RecursiveFilterIterator
  • RecursiveFilterIterator::getChildren »
  • PHP Manual
  • RecursiveFilterIterator
  • Create a RecursiveFilterIterator from a RecursiveIterator

RecursiveFilterIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveFilterIterator::__construct — Create a RecursiveFilterIterator from a RecursiveIterator

Açıklama

public RecursiveFilterIterator::__construct(RecursiveIterator $iterator)

Create a RecursiveFilterIterator from a RecursiveIterator.

Bağımsız Değişkenler

iterator

The RecursiveIterator to be filtered.

Örnekler

Örnek 1 Basic RecursiveFilterIterator() example

<?php
class TestsOnlyFilter extends RecursiveFilterIterator {
public function accept() {
// Accept the current item if we can recurse into it
// or it is a value starting with "test"
return $this->hasChildren() || (strpos($this->current(), "test") !== FALSE);
}
}

$array = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter = new TestsOnlyFilter($iterator);

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
echo $value . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

test1
test3
test4
test5

Örnek 2 RecursiveFilterIterator() example

<?php
class StartsWithFilter extends RecursiveFilterIterator {

protected $word;

public function __construct(RecursiveIterator $rit, $word) {
$this->word = $word;
parent::__construct($rit);
}

public function accept() {
return $this->hasChildren() OR strpos($this->current(), $this->word) === 0;
}

public function getChildren() {
return new self($this->getInnerIterator()->getChildren(), $this->word);
}
}

$array = array("test1", array("taste2", "test3", "test4"), "test5");
$iterator = new RecursiveArrayIterator($array);
$filter = new StartsWithFilter($iterator, "test");

foreach(new RecursiveIteratorIterator($filter) as $key => $value)
{
echo $value . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

test1
test3
test4
test5

Ayrıca Bakınız

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • FilterIterator::accept() - Check whether the current element of the iterator is acceptable


Return the inner iterator's children contained in a RecursiveFilterIterator

  • « RecursiveFilterIterator::__construct
  • RecursiveFilterIterator::hasChildren »
  • PHP Manual
  • RecursiveFilterIterator
  • Return the inner iterator's children contained in a RecursiveFilterIterator

RecursiveFilterIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveFilterIterator::getChildren — Return the inner iterator's children contained in a RecursiveFilterIterator

Açıklama

public RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator

Return the inner iterator's children contained in a RecursiveFilterIterator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a RecursiveFilterIterator containing the inner iterator's children.

Ayrıca Bakınız

  • RecursiveFilterIterator::hasChildren() - Check whether the inner iterator's current element has children
  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


Check whether the inner iterator's current element has children

  • « RecursiveFilterIterator::getChildren
  • RecursiveIteratorIterator »
  • PHP Manual
  • RecursiveFilterIterator
  • Check whether the inner iterator's current element has children

RecursiveFilterIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveFilterIterator::hasChildren — Check whether the inner iterator's current element has children

Açıklama

public RecursiveFilterIterator::hasChildren(): bool

Check whether the inner iterator's current element has children.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the inner iterator has children, otherwise false

Ayrıca Bakınız

  • RecursiveFilterIterator::getChildren() - Return the inner iterator's children contained in a RecursiveFilterIterator
  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


The RecursiveIteratorIterator class

(PHP 5, PHP 7, PHP 8)

Giriş

Can be used to iterate through recursive iterators.

Sınıf Sözdizimi

class RecursiveIteratorIterator implements OuterIterator {
/* Sabitler */
public const int LEAVES_ONLY;
public const int SELF_FIRST;
public const int CHILD_FIRST;
public const int CATCH_GET_CHILD;
/* Yöntemler */
public __construct(Traversable $iterator, int $mode = RecursiveIteratorIterator::LEAVES_ONLY, int $flags = 0)
public beginChildren(): void
public beginIteration(): void
public callGetChildren(): ?RecursiveIterator
public callHasChildren(): bool
public current(): mixed
public endChildren(): void
public endIteration(): void
public getDepth(): int
public getInnerIterator(): RecursiveIterator
public getMaxDepth(): int|false
public getSubIterator(?int $level = null): ?RecursiveIterator
public key(): mixed
public next(): void
public nextElement(): void
public rewind(): void
public setMaxDepth(int $maxDepth = -1): void
public valid(): bool
}

Öntanımlı Sabitler

RecursiveIteratorIterator::LEAVES_ONLY

RecursiveIteratorIterator::SELF_FIRST

RecursiveIteratorIterator::CHILD_FIRST

RecursiveIteratorIterator::CATCH_GET_CHILD

İçindekiler

  • RecursiveIteratorIterator::beginChildren — Begin children
  • RecursiveIteratorIterator::beginIteration — Begin Iteration
  • RecursiveIteratorIterator::callGetChildren — Get children
  • RecursiveIteratorIterator::callHasChildren — Has children
  • RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator
  • RecursiveIteratorIterator::current — Access the current element value
  • RecursiveIteratorIterator::endChildren — End children
  • RecursiveIteratorIterator::endIteration — End Iteration
  • RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration
  • RecursiveIteratorIterator::getInnerIterator — Get inner iterator
  • RecursiveIteratorIterator::getMaxDepth — Get max depth
  • RecursiveIteratorIterator::getSubIterator — The current active sub iterator
  • RecursiveIteratorIterator::key — Access the current key
  • RecursiveIteratorIterator::next — Move forward to the next element
  • RecursiveIteratorIterator::nextElement — Next element
  • RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator
  • RecursiveIteratorIterator::setMaxDepth — Set max depth
  • RecursiveIteratorIterator::valid — Check whether the current position is valid


Begin children

  • « RecursiveIteratorIterator
  • RecursiveIteratorIterator::beginIteration »
  • PHP Manual
  • RecursiveIteratorIterator
  • Begin children

RecursiveIteratorIterator::beginChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::beginChildren — Begin children

Açıklama

public RecursiveIteratorIterator::beginChildren(): void

Is called after calling RecursiveIteratorIterator::getChildren(), and its associated RecursiveIteratorIterator::rewind().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Begin Iteration

  • « RecursiveIteratorIterator::beginChildren
  • RecursiveIteratorIterator::callGetChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Begin Iteration

RecursiveIteratorIterator::beginIteration

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::beginIteration — Begin Iteration

Açıklama

public RecursiveIteratorIterator::beginIteration(): void

Called when iteration begins (after the first RecursiveIteratorIterator::rewind() call.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Get children

  • « RecursiveIteratorIterator::beginIteration
  • RecursiveIteratorIterator::callHasChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get children

RecursiveIteratorIterator::callGetChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::callGetChildren — Get children

Açıklama

public RecursiveIteratorIterator::callGetChildren(): ?RecursiveIterator

Get children of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A RecursiveIterator() on success, or null on failure.


Has children

  • « RecursiveIteratorIterator::callGetChildren
  • RecursiveIteratorIterator::__construct »
  • PHP Manual
  • RecursiveIteratorIterator
  • Has children

RecursiveIteratorIterator::callHasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::callHasChildren — Has children

Açıklama

public RecursiveIteratorIterator::callHasChildren(): bool

Called for each element to test whether it has children.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether the element has children.


Construct a RecursiveIteratorIterator

  • « RecursiveIteratorIterator::callHasChildren
  • RecursiveIteratorIterator::current »
  • PHP Manual
  • RecursiveIteratorIterator
  • Construct a RecursiveIteratorIterator

RecursiveIteratorIterator::__construct

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

RecursiveIteratorIterator::__construct — Construct a RecursiveIteratorIterator

Açıklama

public RecursiveIteratorIterator::__construct(Traversable $iterator, int $mode = RecursiveIteratorIterator::LEAVES_ONLY, int $flags = 0)

Creates a RecursiveIteratorIterator from a RecursiveIterator.

Bağımsız Değişkenler

iterator

The iterator being constructed from. Either a RecursiveIterator or IteratorAggregate.

mode

Optional mode. Possible values are

  • RecursiveIteratorIterator::LEAVES_ONLY - The default. Lists only leaves in iteration.
  • RecursiveIteratorIterator::SELF_FIRST - Lists leaves and parents in iteration with parents coming first.
  • RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in iteration with leaves coming first.

flags

Optional flag. Possible values are RecursiveIteratorIterator::CATCH_GET_CHILD which will then ignore exceptions thrown in calls to RecursiveIteratorIterator::getChildren().

Örnekler

Örnek 1 Iterating a RecursiveIteratorIterator

<?php
$array = array(
array(
array(
array(
'leaf-0-0-0-0',
'leaf-0-0-0-1'
),
'leaf-0-0-0'
),
array(
array(
'leaf-0-1-0-0',
'leaf-0-1-0-1'
),
'leaf-0-1-0'
),
'leaf-0-0'
)
);

$iterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator($array),
$mode
);
foreach ($iterator as $key => $leaf) {
echo "$key => $leaf", PHP_EOL;
}
?>

Output with $mode = RecursiveIteratorIterator::LEAVES_ONLY

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => leaf-0-0-0
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => leaf-0-1-0
0 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::SELF_FIRST

0 => Array
0 => Array
0 => Array
0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
1 => leaf-0-0-0
1 => Array
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
1 => leaf-0-1-0
2 => leaf-0-0

Output with $mode = RecursiveIteratorIterator::CHILD_FIRST

0 => leaf-0-0-0-0
1 => leaf-0-0-0-1
0 => Array
1 => leaf-0-0-0
0 => Array
0 => leaf-0-1-0-0
1 => leaf-0-1-0-1
0 => Array
1 => leaf-0-1-0
1 => Array
2 => leaf-0-0
0 => Array


Access the current element value

  • « RecursiveIteratorIterator::__construct
  • RecursiveIteratorIterator::endChildren »
  • PHP Manual
  • RecursiveIteratorIterator
  • Access the current element value

RecursiveIteratorIterator::current

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::current — Access the current element value

Açıklama

public RecursiveIteratorIterator::current(): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current elements value.


End children

  • « RecursiveIteratorIterator::current
  • RecursiveIteratorIterator::endIteration »
  • PHP Manual
  • RecursiveIteratorIterator
  • End children

RecursiveIteratorIterator::endChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::endChildren — End children

Açıklama

public RecursiveIteratorIterator::endChildren(): void

Called when end recursing one level.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


End Iteration

  • « RecursiveIteratorIterator::endChildren
  • RecursiveIteratorIterator::getDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • End Iteration

RecursiveIteratorIterator::endIteration

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::endIteration — End Iteration

Açıklama

public RecursiveIteratorIterator::endIteration(): void

Called when the iteration ends (when RecursiveIteratorIterator::valid() first returns false.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Get the current depth of the recursive iteration

  • « RecursiveIteratorIterator::endIteration
  • RecursiveIteratorIterator::getInnerIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get the current depth of the recursive iteration

RecursiveIteratorIterator::getDepth

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::getDepth — Get the current depth of the recursive iteration

Açıklama

public RecursiveIteratorIterator::getDepth(): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current depth of the recursive iteration.


Get inner iterator

  • « RecursiveIteratorIterator::getDepth
  • RecursiveIteratorIterator::getMaxDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get inner iterator

RecursiveIteratorIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::getInnerIterator — Get inner iterator

Açıklama

public RecursiveIteratorIterator::getInnerIterator(): RecursiveIterator

Gets the current active sub iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current active sub iterator.


Get max depth

  • « RecursiveIteratorIterator::getInnerIterator
  • RecursiveIteratorIterator::getSubIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Get max depth

RecursiveIteratorIterator::getMaxDepth

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::getMaxDepth — Get max depth

Açıklama

public RecursiveIteratorIterator::getMaxDepth(): int|false

Gets the maximum allowable depth.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The maximum accepted depth, or false if any depth is allowed.

Ayrıca Bakınız

  • RecursiveIteratorIterator::setMaxDepth() - Set max depth


The current active sub iterator

  • « RecursiveIteratorIterator::getMaxDepth
  • RecursiveIteratorIterator::key »
  • PHP Manual
  • RecursiveIteratorIterator
  • The current active sub iterator

RecursiveIteratorIterator::getSubIterator

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::getSubIterator — The current active sub iterator

Açıklama

public RecursiveIteratorIterator::getSubIterator(?int $level = null): ?RecursiveIterator
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

level

Dönen Değerler

The current active sub iterator on success; null on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | level is now nullable.


Access the current key

  • « RecursiveIteratorIterator::getSubIterator
  • RecursiveIteratorIterator::next »
  • PHP Manual
  • RecursiveIteratorIterator
  • Access the current key

RecursiveIteratorIterator::key

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::key — Access the current key

Açıklama

public RecursiveIteratorIterator::key(): mixed
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current key.


Move forward to the next element

  • « RecursiveIteratorIterator::key
  • RecursiveIteratorIterator::nextElement »
  • PHP Manual
  • RecursiveIteratorIterator
  • Move forward to the next element

RecursiveIteratorIterator::next

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::next — Move forward to the next element

Açıklama

public RecursiveIteratorIterator::next(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Next element

  • « RecursiveIteratorIterator::next
  • RecursiveIteratorIterator::rewind »
  • PHP Manual
  • RecursiveIteratorIterator
  • Next element

RecursiveIteratorIterator::nextElement

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::nextElement — Next element

Açıklama

public RecursiveIteratorIterator::nextElement(): void

Called when the next element is available.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Rewind the iterator to the first element of the top level inner iterator

  • « RecursiveIteratorIterator::nextElement
  • RecursiveIteratorIterator::setMaxDepth »
  • PHP Manual
  • RecursiveIteratorIterator
  • Rewind the iterator to the first element of the top level inner iterator

RecursiveIteratorIterator::rewind

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::rewind — Rewind the iterator to the first element of the top level inner iterator

Açıklama

public RecursiveIteratorIterator::rewind(): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Set max depth

  • « RecursiveIteratorIterator::rewind
  • RecursiveIteratorIterator::valid »
  • PHP Manual
  • RecursiveIteratorIterator
  • Set max depth

RecursiveIteratorIterator::setMaxDepth

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIteratorIterator::setMaxDepth — Set max depth

Açıklama

public RecursiveIteratorIterator::setMaxDepth(int $maxDepth = -1): void

Set the maximum allowed depth.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

maxDepth

The maximum allowed depth. -1 is used for any depth.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Emits an Exception if maxDepth is less than -1.


Check whether the current position is valid

  • « RecursiveIteratorIterator::setMaxDepth
  • RecursiveRegexIterator »
  • PHP Manual
  • RecursiveIteratorIterator
  • Check whether the current position is valid

RecursiveIteratorIterator::valid

(PHP 5, PHP 7, PHP 8)

RecursiveIteratorIterator::valid — Check whether the current position is valid

Açıklama

public RecursiveIteratorIterator::valid(): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current position is valid, otherwise false


The RecursiveRegexIterator class

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Giriş

This recursive iterator can filter another recursive iterator via a regular expression.

Sınıf Sözdizimi

class RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
/* Miras alınan sabitler */
public const int RegexIterator::USE_KEY;
public const int RegexIterator::INVERT_MATCH;
public const int RegexIterator::MATCH;
public const int RegexIterator::GET_MATCH;
public const int RegexIterator::ALL_MATCHES;
public const int RegexIterator::SPLIT;
public const int RegexIterator::REPLACE;
/* Miras alınan özellikler */
public ?string $replacement = null;
/* Yöntemler */
public __construct(
RecursiveIterator $iterator,
string $pattern,
int $mode = RecursiveRegexIterator::MATCH,
int $flags = 0,
int $pregFlags = 0
)
public getChildren(): RecursiveRegexIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public RegexIterator::accept(): bool
public RegexIterator::getFlags(): int
public RegexIterator::getMode(): int
public RegexIterator::getPregFlags(): int
public RegexIterator::getRegex(): string
public RegexIterator::setFlags(int $flags): void
public RegexIterator::setMode(int $mode): void
public RegexIterator::setPregFlags(int $pregFlags): void
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

İçindekiler

  • RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren — Returns an iterator for the current entry
  • RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry


Creates a new RecursiveRegexIterator

  • « RecursiveRegexIterator
  • RecursiveRegexIterator::getChildren »
  • PHP Manual
  • RecursiveRegexIterator
  • Creates a new RecursiveRegexIterator

RecursiveRegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RecursiveRegexIterator::__construct — Creates a new RecursiveRegexIterator

Açıklama

public RecursiveRegexIterator::__construct(
RecursiveIterator $iterator,
string $pattern,
int $mode = RecursiveRegexIterator::MATCH,
int $flags = 0,
int $pregFlags = 0
)

Creates a new regular expression iterator.

Bağımsız Değişkenler

iterator

The recursive iterator to apply this regex filter to.

pattern

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

pregFlags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RecursiveRegexIterator::ALL_MATCHES | See preg_match_all().
RecursiveRegexIterator::GET_MATCH | See preg_match().
RecursiveRegexIterator::MATCH | See preg_match().
RecursiveRegexIterator::REPLACE | none.
RecursiveRegexIterator::SPLIT | See preg_split().

Örnekler

Örnek 1 RecursiveRegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

if ($rRegexIterator->hasChildren()) {

// print all children
echo "Children: ";
foreach ($rRegexIterator->getChildren() as $key => $value) {
echo $value . " ";
}
echo "\n";
} else {
echo "No children\n";
}

}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

No children
Children: test4 test5

Ayrıca Bakınız

  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_match_all() - Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split() - Dizgeyi düzenli ifadeye göre böler


Returns an iterator for the current entry

  • « RecursiveRegexIterator::__construct
  • RecursiveRegexIterator::hasChildren »
  • PHP Manual
  • RecursiveRegexIterator
  • Returns an iterator for the current entry

RecursiveRegexIterator::getChildren

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RecursiveRegexIterator::getChildren — Returns an iterator for the current entry

Açıklama

public RecursiveRegexIterator::getChildren(): RecursiveRegexIterator

Returns an iterator for the current iterator entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An iterator for the current entry, if it can be iterated over by the inner iterator.

Hatalar/İstisnalar

An InvalidArgumentException will be thrown if the current entry does not contain a value that can be iterated over by the inner iterator.

Örnekler

Örnek 1 RecursiveRegexIterator::getChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $key1 => $value1) {

if ($rRegexIterator->hasChildren()) {

// print all children
echo "Children: ";
foreach ($rRegexIterator->getChildren() as $key => $value) {
echo $value . " ";
}
echo "\n";
} else {
echo "No children\n";
}

}
?>

Yukarıdaki örneğin çıktısı:

No children
Children: test4 test5

Ayrıca Bakınız

  • RecursiveRegexIterator::hasChildren() - Returns whether an iterator can be obtained for the current entry


Returns whether an iterator can be obtained for the current entry

  • « RecursiveRegexIterator::getChildren
  • RecursiveTreeIterator »
  • PHP Manual
  • RecursiveRegexIterator
  • Returns whether an iterator can be obtained for the current entry

RecursiveRegexIterator::hasChildren

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RecursiveRegexIterator::hasChildren — Returns whether an iterator can be obtained for the current entry

Açıklama

public RecursiveRegexIterator::hasChildren(): bool

Returns whether an iterator can be obtained for the current entry. This iterator can be obtained via RecursiveRegexIterator::getChildren().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if an iterator can be obtained for the current entry, otherwise returns false.

Örnekler

Örnek 1 RecursiveRegexIterator::hasChildren() example

<?php
$rArrayIterator = new RecursiveArrayIterator(array('test1', array('tet3', 'test4', 'test5')));
$rRegexIterator = new RecursiveRegexIterator($rArrayIterator, '/^test/',
RecursiveRegexIterator::ALL_MATCHES);

foreach ($rRegexIterator as $value) {
var_dump($rRegexIterator->hasChildren());
}
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • RecursiveRegexIterator::getChildren() - Returns an iterator for the current entry


The RecursiveTreeIterator class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Giriş

Allows iterating over a RecursiveIterator to generate an ASCII graphic tree.

Sınıf Sözdizimi

class RecursiveTreeIterator extends RecursiveIteratorIterator {
/* Miras alınan sabitler */
public const int RecursiveIteratorIterator::LEAVES_ONLY;
public const int RecursiveIteratorIterator::SELF_FIRST;
public const int RecursiveIteratorIterator::CHILD_FIRST;
public const int RecursiveIteratorIterator::CATCH_GET_CHILD;
/* Sabitler */
public const int BYPASS_CURRENT;
public const int BYPASS_KEY;
public const int PREFIX_LEFT;
public const int PREFIX_MID_HAS_NEXT = 1;
public const int PREFIX_MID_LAST = 2;
public const int PREFIX_END_HAS_NEXT = 3;
public const int PREFIX_END_LAST = 4;
public const int PREFIX_RIGHT = 5;
/* Yöntemler */
public __construct(
RecursiveIterator|IteratorAggregate $iterator,
int $flags = RecursiveTreeIterator::BYPASS_KEY,
int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD,
int $mode = RecursiveTreeIterator::SELF_FIRST
)
public beginChildren(): void
public beginIteration(): RecursiveIterator
public callGetChildren(): RecursiveIterator
public callHasChildren(): bool
public current(): mixed
public endChildren(): void
public endIteration(): void
public getEntry(): string
public getPostfix(): string
public getPrefix(): string
public key(): mixed
public next(): void
public nextElement(): void
public rewind(): void
public setPostfix(string $postfix): void
public setPrefixPart(int $part, string $value): void
public valid(): bool
/* Miras alınan yöntemler */
public RecursiveIteratorIterator::beginChildren(): void
public RecursiveIteratorIterator::beginIteration(): void
public RecursiveIteratorIterator::callGetChildren(): ?RecursiveIterator
public RecursiveIteratorIterator::callHasChildren(): bool
public RecursiveIteratorIterator::current(): mixed
public RecursiveIteratorIterator::endChildren(): void
public RecursiveIteratorIterator::endIteration(): void
public RecursiveIteratorIterator::getDepth(): int
public RecursiveIteratorIterator::getInnerIterator(): RecursiveIterator
public RecursiveIteratorIterator::getMaxDepth(): int|false
public RecursiveIteratorIterator::getSubIterator(?int $level = null): ?RecursiveIterator
public RecursiveIteratorIterator::key(): mixed
public RecursiveIteratorIterator::next(): void
public RecursiveIteratorIterator::nextElement(): void
public RecursiveIteratorIterator::rewind(): void
public RecursiveIteratorIterator::setMaxDepth(int $maxDepth = -1): void
public RecursiveIteratorIterator::valid(): bool
}

Öntanımlı Sabitler

RecursiveTreeIterator::BYPASS_CURRENT

RecursiveTreeIterator::BYPASS_KEY

RecursiveTreeIterator::PREFIX_LEFT

RecursiveTreeIterator::PREFIX_MID_HAS_NEXT

RecursiveTreeIterator::PREFIX_MID_LAST

RecursiveTreeIterator::PREFIX_END_HAS_NEXT

RecursiveTreeIterator::PREFIX_END_LAST

RecursiveTreeIterator::PREFIX_RIGHT

İçindekiler

  • RecursiveTreeIterator::beginChildren — Begin children
  • RecursiveTreeIterator::beginIteration — Begin iteration
  • RecursiveTreeIterator::callGetChildren — Get children
  • RecursiveTreeIterator::callHasChildren — Has children
  • RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator
  • RecursiveTreeIterator::current — Get current element
  • RecursiveTreeIterator::endChildren — End children
  • RecursiveTreeIterator::endIteration — End iteration
  • RecursiveTreeIterator::getEntry — Get current entry
  • RecursiveTreeIterator::getPostfix — Get the postfix
  • RecursiveTreeIterator::getPrefix — Get the prefix
  • RecursiveTreeIterator::key — Get the key of the current element
  • RecursiveTreeIterator::next — Move to next element
  • RecursiveTreeIterator::nextElement — Next element
  • RecursiveTreeIterator::rewind — Rewind iterator
  • RecursiveTreeIterator::setPostfix — Set postfix
  • RecursiveTreeIterator::setPrefixPart — Set a part of the prefix
  • RecursiveTreeIterator::valid — Check validity


Begin children

  • « RecursiveTreeIterator
  • RecursiveTreeIterator::beginIteration »
  • PHP Manual
  • RecursiveTreeIterator
  • Begin children

RecursiveTreeIterator::beginChildren

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::beginChildren — Begin children

Açıklama

public RecursiveTreeIterator::beginChildren(): void

Called when recursing one level down.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Begin iteration

  • « RecursiveTreeIterator::beginChildren
  • RecursiveTreeIterator::callGetChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Begin iteration

RecursiveTreeIterator::beginIteration

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::beginIteration — Begin iteration

Açıklama

public RecursiveTreeIterator::beginIteration(): RecursiveIterator

Called when iteration begins (after the first RecursiveTreeIterator::rewind() call).

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A RecursiveIterator.


Get children

  • « RecursiveTreeIterator::beginIteration
  • RecursiveTreeIterator::callHasChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Get children

RecursiveTreeIterator::callGetChildren

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::callGetChildren — Get children

Açıklama

public RecursiveTreeIterator::callGetChildren(): RecursiveIterator

Gets children of the current element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A RecursiveIterator.


Has children

  • « RecursiveTreeIterator::callGetChildren
  • RecursiveTreeIterator::__construct »
  • PHP Manual
  • RecursiveTreeIterator
  • Has children

RecursiveTreeIterator::callHasChildren

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::callHasChildren — Has children

Açıklama

public RecursiveTreeIterator::callHasChildren(): bool

Called for each element to test whether it has children.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if there are children, otherwise false


Construct a RecursiveTreeIterator

  • « RecursiveTreeIterator::callHasChildren
  • RecursiveTreeIterator::current »
  • PHP Manual
  • RecursiveTreeIterator
  • Construct a RecursiveTreeIterator

RecursiveTreeIterator::__construct

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::__construct — Construct a RecursiveTreeIterator

Açıklama

public RecursiveTreeIterator::__construct(
RecursiveIterator|IteratorAggregate $iterator,
int $flags = RecursiveTreeIterator::BYPASS_KEY,
int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD,
int $mode = RecursiveTreeIterator::SELF_FIRST
)

Constructs a new RecursiveTreeIterator from the supplied recursive iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

iterator

The RecursiveIterator or IteratorAggregate to iterate over.

flags

Flags may be provided which will affect the behavior of some methods. A list of the flags can found under RecursiveTreeIterator predefined constants.

caching_it_flags

Flags to affect the behavior of the RecursiveCachingIterator used internally.

mode

Flags to affect the behavior of the RecursiveIteratorIterator used internally.


Get current element

  • « RecursiveTreeIterator::__construct
  • RecursiveTreeIterator::endChildren »
  • PHP Manual
  • RecursiveTreeIterator
  • Get current element

RecursiveTreeIterator::current

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::current — Get current element

Açıklama

public RecursiveTreeIterator::current(): mixed

Gets the current element prefixed and postfixed.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current element prefixed and postfixed.


End children

  • « RecursiveTreeIterator::current
  • RecursiveTreeIterator::endIteration »
  • PHP Manual
  • RecursiveTreeIterator
  • End children

RecursiveTreeIterator::endChildren

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::endChildren — End children

Açıklama

public RecursiveTreeIterator::endChildren(): void

Called when end recursing one level.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


End iteration

  • « RecursiveTreeIterator::endChildren
  • RecursiveTreeIterator::getEntry »
  • PHP Manual
  • RecursiveTreeIterator
  • End iteration

RecursiveTreeIterator::endIteration

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::endIteration — End iteration

Açıklama

public RecursiveTreeIterator::endIteration(): void

Called when the iteration ends (when RecursiveTreeIterator::valid() first returns false)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Get current entry

  • « RecursiveTreeIterator::endIteration
  • RecursiveTreeIterator::getPostfix »
  • PHP Manual
  • RecursiveTreeIterator
  • Get current entry

RecursiveTreeIterator::getEntry

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::getEntry — Get current entry

Açıklama

public RecursiveTreeIterator::getEntry(): string

Gets the part of the tree built for the current element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the part of the tree built for the current element.


Get the postfix

  • « RecursiveTreeIterator::getEntry
  • RecursiveTreeIterator::getPrefix »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the postfix

RecursiveTreeIterator::getPostfix

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::getPostfix — Get the postfix

Açıklama

public RecursiveTreeIterator::getPostfix(): string

Gets the string to place after the current element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string to place after the current element.


Get the prefix

  • « RecursiveTreeIterator::getPostfix
  • RecursiveTreeIterator::key »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the prefix

RecursiveTreeIterator::getPrefix

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::getPrefix — Get the prefix

Açıklama

public RecursiveTreeIterator::getPrefix(): string

Gets the string to place in front of current element

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string to place in front of current element


Get the key of the current element

  • « RecursiveTreeIterator::getPrefix
  • RecursiveTreeIterator::next »
  • PHP Manual
  • RecursiveTreeIterator
  • Get the key of the current element

RecursiveTreeIterator::key

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::key — Get the key of the current element

Açıklama

public RecursiveTreeIterator::key(): mixed

Gets the current key prefixed and postfixed.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current key prefixed and postfixed.


Move to next element

  • « RecursiveTreeIterator::key
  • RecursiveTreeIterator::nextElement »
  • PHP Manual
  • RecursiveTreeIterator
  • Move to next element

RecursiveTreeIterator::next

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::next — Move to next element

Açıklama

public RecursiveTreeIterator::next(): void

Moves forward to the next element.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Next element

  • « RecursiveTreeIterator::next
  • RecursiveTreeIterator::rewind »
  • PHP Manual
  • RecursiveTreeIterator
  • Next element

RecursiveTreeIterator::nextElement

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::nextElement — Next element

Açıklama

public RecursiveTreeIterator::nextElement(): void

Called when the next element is available.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Rewind iterator

  • « RecursiveTreeIterator::nextElement
  • RecursiveTreeIterator::setPostfix »
  • PHP Manual
  • RecursiveTreeIterator
  • Rewind iterator

RecursiveTreeIterator::rewind

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::rewind — Rewind iterator

Açıklama

public RecursiveTreeIterator::rewind(): void

Rewinds the iterator to the first element of the top level inner iterator.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Set postfix

  • « RecursiveTreeIterator::rewind
  • RecursiveTreeIterator::setPrefixPart »
  • PHP Manual
  • RecursiveTreeIterator
  • Set postfix

RecursiveTreeIterator::setPostfix

(PHP 5 >= 5.5.3, PHP 7, PHP 8)

RecursiveTreeIterator::setPostfix — Set postfix

Açıklama

public RecursiveTreeIterator::setPostfix(string $postfix): void

Sets postfix as used in RecursiveTreeIterator::getPostfix().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

postfix

Dönen Değerler

Hiçbir değer dönmez.


Set a part of the prefix

  • « RecursiveTreeIterator::setPostfix
  • RecursiveTreeIterator::valid »
  • PHP Manual
  • RecursiveTreeIterator
  • Set a part of the prefix

RecursiveTreeIterator::setPrefixPart

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::setPrefixPart — Set a part of the prefix

Açıklama

public RecursiveTreeIterator::setPrefixPart(int $part, string $value): void

Sets a part of the prefix used in the graphic tree.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

part

One of the RecursiveTreeIterator::PREFIX_* constants.

value

The value to assign to the part of the prefix specified in part.

Dönen Değerler

Hiçbir değer dönmez.


Check validity

  • « RecursiveTreeIterator::setPrefixPart
  • RegexIterator »
  • PHP Manual
  • RecursiveTreeIterator
  • Check validity

RecursiveTreeIterator::valid

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

RecursiveTreeIterator::valid — Check validity

Açıklama

public RecursiveTreeIterator::valid(): bool

Check whether the current position is valid.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current position is valid, otherwise false


The RegexIterator class

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Giriş

This iterator can be used to filter another iterator based on a regular expression.

Sınıf Sözdizimi

class RegexIterator extends FilterIterator {
/* Sabitler */
public const int USE_KEY;
public const int INVERT_MATCH;
public const int MATCH;
public const int GET_MATCH;
public const int ALL_MATCHES;
public const int SPLIT;
public const int REPLACE;
/* Özellikler */
public ?string $replacement = null;
/* Yöntemler */
public __construct(
Iterator $iterator,
string $pattern,
int $mode = RegexIterator::MATCH,
int $flags = 0,
int $pregFlags = 0
)
public accept(): bool
public getFlags(): int
public getMode(): int
public getPregFlags(): int
public getRegex(): string
public setFlags(int $flags): void
public setMode(int $mode): void
public setPregFlags(int $pregFlags): void
/* Miras alınan yöntemler */
public FilterIterator::accept(): bool
public FilterIterator::current(): mixed
public FilterIterator::key(): mixed
public FilterIterator::next(): void
public FilterIterator::rewind(): void
public FilterIterator::valid(): bool
public IteratorIterator::current(): mixed
public IteratorIterator::getInnerIterator(): ?Iterator
public IteratorIterator::key(): mixed
public IteratorIterator::next(): void
public IteratorIterator::rewind(): void
public IteratorIterator::valid(): bool
}

Öntanımlı Sabitler

RegexIterator operation modes

RegexIterator::ALL_MATCHES

Return all matches for the current entry (see preg_match_all()).

RegexIterator::GET_MATCH

Return the first match for the current entry (see preg_match()).

RegexIterator::MATCH

Only execute match (filter) for the current entry (see preg_match()).

RegexIterator::REPLACE

Replace the current entry (see preg_replace(); Not fully implemented yet)

RegexIterator::SPLIT

Returns the split values for the current entry (see preg_split()).

RegexIterator Flags

RegexIterator::USE_KEY

Special flag: Match the entry key instead of the entry value.

RegexIterator::INVERT_MATCH

Inverts the return value of RegexIterator::accept().

Özellikler

replacement

İçindekiler

  • RegexIterator::accept — Get accept status
  • RegexIterator::__construct — Create a new RegexIterator
  • RegexIterator::getFlags — Get flags
  • RegexIterator::getMode — Returns operation mode
  • RegexIterator::getPregFlags — Returns the regular expression flags
  • RegexIterator::getRegex — Returns current regular expression
  • RegexIterator::setFlags — Sets the flags
  • RegexIterator::setMode — Sets the operation mode
  • RegexIterator::setPregFlags — Sets the regular expression flags


Get accept status

  • « RegexIterator
  • RegexIterator::__construct »
  • PHP Manual
  • RegexIterator
  • Get accept status

RegexIterator::accept

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::accept — Get accept status

Açıklama

public RegexIterator::accept(): bool

Matches (string) RegexIterator::current()
(or RegexIterator::key() if the
RegexIterator::USE_KEY flag is set)
against the regular expression.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a match, false otherwise.

Örnekler

Örnek 1 RegexIterator::accept() example

This example shows that only items matching the regular expression are accepted.

<?php
$names = new ArrayIterator(array('Ann', 'Bob', 'Charlie', 'David'));
$filter = new RegexIterator($names, '/^[B-D]/');
foreach ($filter as $name) {
echo $name . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Bob
Charlie
David

Ayrıca Bakınız

  • RegexIterator constants
  • RegexIterator::setFlags() - Sets the flags


Create a new RegexIterator

  • « RegexIterator::accept
  • RegexIterator::getFlags »
  • PHP Manual
  • RegexIterator
  • Create a new RegexIterator

RegexIterator::__construct

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::__construct — Create a new RegexIterator

Açıklama

public RegexIterator::__construct(
Iterator $iterator,
string $pattern,
int $mode = RegexIterator::MATCH,
int $flags = 0,
int $pregFlags = 0
)

Create a new RegexIterator which filters an Iterator using a regular expression.

Bağımsız Değişkenler

iterator

The iterator to apply this regex filter to.

pattern

The regular expression to match.

mode

Operation mode, see RegexIterator::setMode() for a list of modes.

flags

Special flags, see RegexIterator::setFlags() for a list of available flags.

pregFlags

The regular expression flags. These flags depend on the operation mode parameter:

RegexIterator preg_flags
operation mode | available flags
RegexIterator::ALL_MATCHES | See preg_match_all().
RegexIterator::GET_MATCH | See preg_match().
RegexIterator::MATCH | See preg_match().
RegexIterator::REPLACE | none.
RegexIterator::SPLIT | See preg_split().

Hatalar/İstisnalar

Throws an InvalidArgumentException if the pattern argument is invalid.

Örnekler

Örnek 1 RegexIterator::__construct() example

Creates a new RegexIterator that filters all strings that start with 'test'.

<?php
$arrayIterator = new ArrayIterator(array('test 1', 'another test', 'test 123'));
$regexIterator = new RegexIterator($arrayIterator, '/^test/');

foreach ($regexIterator as $value) {
echo $value . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

test 1
test 123

Ayrıca Bakınız

  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_match_all() - Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split() - Dizgeyi düzenli ifadeye göre böler


Get flags

  • « RegexIterator::__construct
  • RegexIterator::getMode »
  • PHP Manual
  • RegexIterator
  • Get flags

RegexIterator::getFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::getFlags — Get flags

Açıklama

public RegexIterator::getFlags(): int

Returns the flags, see RegexIterator::setFlags() for a list of available flags.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the set flags.

Örnekler

Örnek 1 RegexIterator::getFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

if ($regexIterator->getFlags() & RegexIterator::USE_KEY) {
echo 'Filtering based on the array keys.';
} else {
echo 'Filtering based on the array values.';
}
?>

Yukarıdaki örneğin çıktısı:

Filtering based on the array keys.

Ayrıca Bakınız

  • RegexIterator::setFlags() - Sets the flags


Returns operation mode

  • « RegexIterator::getFlags
  • RegexIterator::getPregFlags »
  • PHP Manual
  • RegexIterator
  • Returns operation mode

RegexIterator::getMode

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::getMode — Returns operation mode

Açıklama

public RegexIterator::getMode(): int

Returns the operation mode, see RegexIterator::setMode() for the list of operation modes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the operation mode.

Örnekler

Örnek 1 RegexIterator::getMode() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^[a-z]+/', RegexIterator::GET_MATCH);

$mode = $regexIterator->getMode();
if ($mode & RegexIterator::GET_MATCH) {
echo 'Getting the match for each item.';
} elseif ($mode & RegexIterator::ALL_MATCHES) {
echo 'Getting all matches for each item.';
} elseif ($mode & RegexIterator::MATCH) {
echo 'Getting each item if it matches.';
} elseif ($mode & RegexIterator::SPLIT) {
echo 'Getting split pieces of each.';
}
?>

Yukarıdaki örneğin çıktısı:

Getting the match for each item.

Ayrıca Bakınız

  • RegexIterator::setMode() - Sets the operation mode


Returns the regular expression flags

  • « RegexIterator::getMode
  • RegexIterator::getRegex »
  • PHP Manual
  • RegexIterator
  • Returns the regular expression flags

RegexIterator::getPregFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::getPregFlags — Returns the regular expression flags

Açıklama

public RegexIterator::getPregFlags(): int

Returns the regular expression flags, see RegexIterator::__construct() for the list of flags.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bitmask of the regular expression flags.

Örnekler

Örnek 1 RegexIterator::getPregFlags() example

<?php

$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/\s/', RegexIterator::SPLIT);
$regexIterator->setPregFlags(PREG_SPLIT_NO_EMPTY | PREG_SPLIT_OFFSET_CAPTURE);

if ($regexIterator->getPregFlags() & PREG_SPLIT_NO_EMPTY) {
echo 'Ignoring empty pieces';
} else {
echo 'Not ignoring empty pieces';
}

?>

Yukarıdaki örneğin çıktısı:

Ignoring empty pieces

Ayrıca Bakınız

  • RegexIterator::setPregFlags() - Sets the regular expression flags


Returns current regular expression

  • « RegexIterator::getPregFlags
  • RegexIterator::setFlags »
  • PHP Manual
  • RegexIterator
  • Returns current regular expression

RegexIterator::getRegex

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

RegexIterator::getRegex — Returns current regular expression

Açıklama

public RegexIterator::getRegex(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Sets the flags

  • « RegexIterator::getRegex
  • RegexIterator::setMode »
  • PHP Manual
  • RegexIterator
  • Sets the flags

RegexIterator::setFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::setFlags — Sets the flags

Açıklama

public RegexIterator::setFlags(int $flags): void

Sets the flags.

Bağımsız Değişkenler

flags

The flags to set, a bitmask of class constants.

The available flags are listed below. The actual meanings of these flags are described in the predefined constants.

RegexIterator flags
value | constant
1 | RegexIterator::USE_KEY

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 RegexIterator::setFlags() example

Creates a new RegexIterator that filters all entries whose key starts with 'test'.

<?php
$test = array ('str1' => 'test 1', 'teststr2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/');
$regexIterator->setFlags(RegexIterator::USE_KEY);

foreach ($regexIterator as $key => $value) {
echo $key . ' => ' . $value . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

teststr2 => another test

Ayrıca Bakınız

  • RegexIterator::getFlags() - Get flags


Sets the operation mode

  • « RegexIterator::setFlags
  • RegexIterator::setPregFlags »
  • PHP Manual
  • RegexIterator
  • Sets the operation mode

RegexIterator::setMode

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::setMode — Sets the operation mode

Açıklama

public RegexIterator::setMode(int $mode): void

Sets the operation mode.

Bağımsız Değişkenler

mode

The operation mode.

The available modes are listed below. The actual meanings of these modes are described in the predefined constants.

RegexIterator modes
value | constant
0 | RegexIterator::MATCH
1 | RegexIterator::GET_MATCH
2 | RegexIterator::ALL_MATCHES
3 | RegexIterator::SPLIT
4 | RegexIterator::REPLACE

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 RegexIterator::setMode() example

<?php
$test = array ('str1' => 'test 1', 'test str2' => 'another test', 'str3' => 'test 123');

$arrayIterator = new ArrayIterator($test);
// Filter everything that starts with 'test ' followed by one or more numbers.
$regexIterator = new RegexIterator($arrayIterator, '/^test (\d+)/');
// Operation mode: Replace actual value with the matches
$regexIterator->setMode(RegexIterator::GET_MATCH);

foreach ($regexIterator as $key => $value) {
// print out the matched number(s)
echo $key . ' => ' . $value[1] . PHP_EOL;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

str1 => 1
str3 => 123

Ayrıca Bakınız

  • RegexIterator::getMode() - Returns operation mode


Sets the regular expression flags

  • « RegexIterator::setMode
  • Arayüzler »
  • PHP Manual
  • RegexIterator
  • Sets the regular expression flags

RegexIterator::setPregFlags

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

RegexIterator::setPregFlags — Sets the regular expression flags

Açıklama

public RegexIterator::setPregFlags(int $pregFlags): void

Sets the regular expression flags.

Bağımsız Değişkenler

pregFlags

The regular expression flags. See RegexIterator::__construct() for an overview of available flags.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 RegexIterator::setPregFlags() example

Creates a new RegexIterator that filters all entries with where the array key starts with 'test'.

<?php
$test = array ('test 1', 'another test', 'test 123');

$arrayIterator = new ArrayIterator($test);
$regexIterator = new RegexIterator($arrayIterator, '/^test/', RegexIterator::GET_MATCH);

$regexIterator->setPregFlags(PREG_OFFSET_CAPTURE);

foreach ($regexIterator as $key => $value) {
var_dump($value);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(4) "test"
    [1]=>
    int(0)
  }
}

Ayrıca Bakınız

  • RegexIterator::getPregFlags() - Returns the regular expression flags


Arayüzler

İçindekiler

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator

SPL çeşitlri arayüzler sağlar.

Ayrıca bkz: Öntanımlı Arayüzler ve Sınıflar

Arayüz Listesi

  • Countable
  • OuterIterator
  • RecursiveIterator
  • SeekableIterator
  • SplObserver
  • SplSubject


The Countable interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Classes implementing Countable can be used with the count() function.

Arayüz Sözdizimi

interface Countable {
/* Yöntemler */
public count(): int
}

İçindekiler

  • Countable::count — Count elements of an object


Count elements of an object

  • « Countable
  • OuterIterator »
  • PHP Manual
  • Countable
  • Count elements of an object

Countable::count

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Countable::count — Count elements of an object

Açıklama

public Countable::count(): int

This method is executed when using the count() function on an object implementing Countable.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The custom count as an int.

Bilginize:

The return value is cast to an int.

Örnekler

Örnek 1 Countable::count() example

<?php
class myCounter implements Countable {
private $count = 0;
public function count() {
return ++$this->count;
}
}

$counter = new myCounter;

for($i=0; $i<10; ++$i) {
echo "I have been count()ed " . count($counter) . " times\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

I have been count()ed 1 times
I have been count()ed 2 times
I have been count()ed 3 times
I have been count()ed 4 times
I have been count()ed 5 times
I have been count()ed 6 times
I have been count()ed 7 times
I have been count()ed 8 times
I have been count()ed 9 times
I have been count()ed 10 times


The OuterIterator interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Classes implementing OuterIterator can be used to iterate over iterators.

Arayüz Sözdizimi

interface OuterIterator extends Iterator {
/* Yöntemler */
public getInnerIterator(): ?Iterator
/* Miras alınan yöntemler */
public Iterator::current(): mixed
public Iterator::key(): mixed
public Iterator::next(): void
public Iterator::rewind(): void
public Iterator::valid(): bool
}

İçindekiler

  • OuterIterator::getInnerIterator — Returns the inner iterator for the current entry


Returns the inner iterator for the current entry

  • « OuterIterator
  • RecursiveIterator »
  • PHP Manual
  • OuterIterator
  • Returns the inner iterator for the current entry

OuterIterator::getInnerIterator

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

OuterIterator::getInnerIterator — Returns the inner iterator for the current entry

Açıklama

public OuterIterator::getInnerIterator(): ?Iterator

Returns the inner iterator for the current iterator entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the inner iterator for the current entry if it exists, or null otherwise.


The RecursiveIterator interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Classes implementing RecursiveIterator can be used to iterate over iterators recursively.

Arayüz Sözdizimi

interface RecursiveIterator extends Iterator {
/* Yöntemler */
public getChildren(): ?RecursiveIterator
public hasChildren(): bool
/* Miras alınan yöntemler */
public Iterator::current(): mixed
public Iterator::key(): mixed
public Iterator::next(): void
public Iterator::rewind(): void
public Iterator::valid(): bool
}

İçindekiler

  • RecursiveIterator::getChildren — Returns an iterator for the current entry
  • RecursiveIterator::hasChildren — Returns if an iterator can be created for the current entry


Returns an iterator for the current entry

  • « RecursiveIterator
  • RecursiveIterator::hasChildren »
  • PHP Manual
  • RecursiveIterator
  • Returns an iterator for the current entry

RecursiveIterator::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIterator::getChildren — Returns an iterator for the current entry

Açıklama

public RecursiveIterator::getChildren(): ?RecursiveIterator

Returns an iterator for the current iterator entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an iterator for the current entry if it exists, or null otherwise.

Ayrıca Bakınız

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


Returns if an iterator can be created for the current entry

  • « RecursiveIterator::getChildren
  • SeekableIterator »
  • PHP Manual
  • RecursiveIterator
  • Returns if an iterator can be created for the current entry

RecursiveIterator::hasChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

RecursiveIterator::hasChildren — Returns if an iterator can be created for the current entry

Açıklama

public RecursiveIterator::hasChildren(): bool

Returns if an iterator can be created for the current entry. RecursiveIterator::getChildren().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current entry can be iterated over, otherwise returns false.

Ayrıca Bakınız

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


The SeekableIterator interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The Seekable iterator.

Arayüz Sözdizimi

interface SeekableIterator extends Iterator {
/* Yöntemler */
public seek(int $offset): void
/* Miras alınan yöntemler */
public Iterator::current(): mixed
public Iterator::key(): mixed
public Iterator::next(): void
public Iterator::rewind(): void
public Iterator::valid(): bool
}

Örnek 1 Basic usage

This example demonstrates creating a custom SeekableIterator, seeking to a position and handling an invalid position.

<?php
class MySeekableIterator implements SeekableIterator {

private $position;

private $array = array(
"first element",
"second element",
"third element",
"fourth element"
);

/* Method required for SeekableIterator interface */

public function seek($position) {
if (!isset($this->array[$position])) {
throw new OutOfBoundsException("invalid seek position ($position)");
}

$this->position = $position;
}

/* Methods required for Iterator interface */

public function rewind() {
$this->position = 0;
}

public function current() {
return $this->array[$this->position];
}

public function key() {
return $this->position;
}

public function next() {
++$this->position;
}

public function valid() {
return isset($this->array[$this->position]);
}
}

try {

$it = new MySeekableIterator;
echo $it->current(), "\n";

$it->seek(2);
echo $it->current(), "\n";

$it->seek(1);
echo $it->current(), "\n";

$it->seek(10);

} catch (OutOfBoundsException $e) {
echo $e->getMessage();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

first element
third element
second element
invalid seek position (10)

İçindekiler

  • SeekableIterator::seek — Seeks to a position


Seeks to a position

  • « SeekableIterator
  • İstisnalar »
  • PHP Manual
  • SeekableIterator
  • Seeks to a position

SeekableIterator::seek

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SeekableIterator::seek — Seeks to a position

Açıklama

public SeekableIterator::seek(int $offset): void

Seeks to a given position in the iterator.

Bağımsız Değişkenler

offset

The position to seek to.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Implementations should throw an OutOfBoundsException if the offset is not seekable.

Örnekler

Örnek 1 SeekableIterator::seek() example

Seek to the item at position 3 in the iterator (ArrayIterator implements SeekableIterator).

<?php
$array = array("apple", "banana", "cherry", "damson", "elderberry");
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

damson

Ayrıca Bakınız

  • SeekableIterator
  • Iterator


İstisnalar

İçindekiler

  • BadFunctionCallException
  • BadMethodCallException
  • DomainException
  • InvalidArgumentException
  • LengthException
  • LogicException
  • OutOfBoundsException
  • OutOfRangeException
  • OverflowException
  • RangeException
  • RuntimeException
  • UnderflowException
  • UnexpectedValueException

SPL standart istisnaları sağlar.

Ayrıca bkz: Öntanımlı İstisnalar

SPL Exceptions Class Tree

  • LogicException (extends Exception)
    • BadFunctionCallException
      • BadMethodCallException
    • DomainException
    • InvalidArgumentException
    • LengthException
    • OutOfRangeException
  • RuntimeException (extends Exception)
    • OutOfBoundsException
    • OverflowException
    • RangeException
    • UnderflowException
    • UnexpectedValueException


The BadFunctionCallException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a callback refers to an undefined function or if some arguments are missing.

Sınıf Sözdizimi

class BadFunctionCallException extends LogicException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The BadMethodCallException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a callback refers to an undefined method or if some arguments are missing.

Sınıf Sözdizimi

class BadMethodCallException extends BadFunctionCallException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The DomainException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a value does not adhere to a defined valid data domain.

Sınıf Sözdizimi

class DomainException extends LogicException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The InvalidArgumentException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if an argument is not of the expected type.

Sınıf Sözdizimi

class InvalidArgumentException extends LogicException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LengthException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a length is invalid.

Sınıf Sözdizimi

class LengthException extends LogicException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The LogicException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception that represents error in the program logic. This kind of exception should lead directly to a fix in your code.

Sınıf Sözdizimi

class LogicException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The OutOfBoundsException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a value is not a valid key. This represents errors that cannot be detected at compile time.

Sınıf Sözdizimi

class OutOfBoundsException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The OutOfRangeException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown when an illegal index was requested. This represents errors that should be detected at compile time.

Sınıf Sözdizimi

class OutOfRangeException extends LogicException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The OverflowException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown when adding an element to a full container.

Sınıf Sözdizimi

class OverflowException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The RangeException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown to indicate range errors during program execution. Normally this means there was an arithmetic error other than under/overflow. This is the runtime version of DomainException.

Sınıf Sözdizimi

class RangeException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The RuntimeException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if an error which can only be found on runtime occurs.

Sınıf Sözdizimi

class RuntimeException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The UnderflowException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown when performing an invalid operation on an empty container, such as removing an element.

Sınıf Sözdizimi

class UnderflowException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The UnexpectedValueException class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Exception thrown if a value does not match with a set of values. Typically this happens when a function calls another function and expects the return value to be of a certain type or value not including arithmetic or buffer related errors.

Sınıf Sözdizimi

class UnexpectedValueException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


SPL İşlevleri

İçindekiler

  • class_implements — Return the interfaces which are implemented by the given class or interface
  • class_parents — Return the parent classes of the given class
  • class_uses — Return the traits used by the given class
  • iterator_apply — Call a function for every element in an iterator
  • iterator_count — Count the elements in an iterator
  • iterator_to_array — Copy the iterator into an array
  • spl_autoload_call — Try all registered __autoload() functions to load the requested class
  • spl_autoload_extensions — Register and return default file extensions for spl_autoload
  • spl_autoload_functions — Return all registered __autoload() functions
  • spl_autoload_register — Register given function as __autoload() implementation
  • spl_autoload_unregister — Unregister given function as __autoload() implementation
  • spl_autoload — Default implementation for __autoload()
  • spl_classes — Return available SPL classes
  • spl_object_hash — Return hash id for given object
  • spl_object_id — Return the integer object handle for given object


Return the interfaces which are implemented by the given class or interface

  • « SPL İşlevleri
  • class_parents »
  • PHP Manual
  • SPL İşlevleri
  • Return the interfaces which are implemented by the given class or interface

class_implements

(PHP 5, PHP 7, PHP 8)

class_implements — Return the interfaces which are implemented by the given class or interface

Açıklama

class_implements(object|string $object_or_class, bool $autoload = true): array|false

This function returns an array with the names of the interfaces that the given object_or_class and its parents implement.

Bağımsız Değişkenler

object_or_class

An object (class instance) or a string (class or interface name).

autoload

Whether to autoload if not already loaded.

Dönen Değerler

An array on success, or false when the given class doesn't exist.

Örnekler

Örnek 1 class_implements() example

<?php

interface foo { }
class bar implements foo {}

print_r(class_implements(new bar));

// you may also specify the parameter as a string
print_r(class_implements('bar'));

spl_autoload_register();

// use autoloading to load the 'not_loaded' class
print_r(class_implements('not_loaded', true));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [foo] => foo
)
Array
(
    [foo] => foo
)
Array
(
    [interface_of_not_loaded] => interface_of_not_loaded
)

Notlar

Bilginize: To check that an object implements an interface, instanceof or the is_a() function should be used instead.

Ayrıca Bakınız

  • class_parents() - Return the parent classes of the given class
  • get_declared_interfaces() - Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
  • is_a() - Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
  • instanceof


Return the parent classes of the given class

  • « class_implements
  • class_uses »
  • PHP Manual
  • SPL İşlevleri
  • Return the parent classes of the given class

class_parents

(PHP 5, PHP 7, PHP 8)

class_parents — Return the parent classes of the given class

Açıklama

class_parents(object|string $object_or_class, bool $autoload = true): array|false

This function returns an array with the name of the parent classes of the given object_or_class.

Bağımsız Değişkenler

object_or_class

An object (class instance) or a string (class name).

autoload

Whether to autoload if not already loaded.

Dönen Değerler

An array on success, or false when the given class doesn't exist.

Örnekler

Örnek 1 class_parents() example

<?php

class foo { }
class bar extends foo {}

print_r(class_parents(new bar));

// you may also specify the parameter as a string
print_r(class_parents('bar'));

spl_autoload_register();

// use autoloading to load the 'not_loaded' class
print_r(class_parents('not_loaded', true));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [foo] => foo
)
Array
(
    [foo] => foo
)
Array
(
    [parent_of_not_loaded] => parent_of_not_loaded
)

Notlar

Bilginize: To check that an object extends a class, instanceof or the is_a() function should be used instead.

Ayrıca Bakınız

  • class_implements() - Return the interfaces which are implemented by the given class or interface
  • is_a() - Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
  • instanceof


Return the traits used by the given class

  • « class_parents
  • iterator_apply »
  • PHP Manual
  • SPL İşlevleri
  • Return the traits used by the given class

class_uses

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

class_uses — Return the traits used by the given class

Açıklama

class_uses(object|string $object_or_class, bool $autoload = true): array|false

This function returns an array with the names of the traits that the given object_or_class uses. This does however not include any traits used by a parent class.

Bağımsız Değişkenler

object_or_class

An object (class instance) or a string (class name).

autoload

Whether to autoload if not already loaded.

Dönen Değerler

An array on success, or false when the given class doesn't exist.

Örnekler

Örnek 1 class_uses() example

<?php

trait foo { }
class bar {
use foo;
}

print_r(class_uses(new bar));

print_r(class_uses('bar'));

spl_autoload_register();

// use autoloading to load the 'not_loaded' class
print_r(class_uses('not_loaded', true));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [foo] => foo
)
Array
(
    [foo] => foo
)
Array
(
    [trait_of_not_loaded] => trait_of_not_loaded
)

Ayrıca Bakınız

  • class_parents() - Return the parent classes of the given class
  • get_declared_traits() - Bildirilmiş tüm nitelikleri dizi olarak döndürür


Call a function for every element in an iterator

  • « class_uses
  • iterator_count »
  • PHP Manual
  • SPL İşlevleri
  • Call a function for every element in an iterator

iterator_apply

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

iterator_apply — Call a function for every element in an iterator

Açıklama

iterator_apply(Traversable $iterator, callable $callback, ?array $args = null): int

Calls a function for every element in an iterator.

Bağımsız Değişkenler

iterator

The iterator object to iterate over.

callback

The callback function to call on every element. This function only receives the given args, so it is nullary by default. If count($args) === 3, for instance, the callback function is ternary.

Bilginize: The function must return true in order to continue iterating over the iterator.

args

An array of arguments; each element of args is passed to the callback callback as separate argument.

Dönen Değerler

Returns the iteration count.

Örnekler

Örnek 1 iterator_apply() example

<?php
function print_caps(Iterator $iterator) {
echo strtoupper($iterator->current()) . "\n";
return TRUE;
}

$it = new ArrayIterator(array("Apples", "Bananas", "Cherries"));
iterator_apply($it, "print_caps", array($it));
?>

Yukarıdaki örneğin çıktısı:

APPLES
BANANAS
CHERRIES

Ayrıca Bakınız

  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular


Count the elements in an iterator

  • « iterator_apply
  • iterator_to_array »
  • PHP Manual
  • SPL İşlevleri
  • Count the elements in an iterator

iterator_count

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

iterator_count — Count the elements in an iterator

Açıklama

iterator_count(Traversable|array $iterator): int

Count the elements in an iterator. iterator_count() is not guaranteed to retain the current position of the iterator.

Bağımsız Değişkenler

iterator

The iterator being counted.

Dönen Değerler

The number of elements in iterator.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The type of iterator has been widened from Traversable to Traversable|array.

Örnekler

Örnek 1 iterator_count() example

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_count($iterator));
?>

Yukarıdaki örneğin çıktısı:

int(4)

Örnek 2 iterator_count() modifies position

<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
var_dump($iterator->current());
var_dump(iterator_count($iterator));
var_dump($iterator->current());
?>

Yukarıdaki örneğin çıktısı:

string(3) "one"
int(3)
NULL

Örnek 3 iterator_count() in foreach loops

<?php
$iterator = new ArrayIterator(['one', 'two', 'three']);
foreach ($iterator as $key => $value) {
echo "$key: $value (", iterator_count($iterator), ")\n";
}?>

Yukarıdaki örneğin çıktısı:

0: one (3)


Copy the iterator into an array

  • « iterator_count
  • spl_autoload_call »
  • PHP Manual
  • SPL İşlevleri
  • Copy the iterator into an array

iterator_to_array

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

iterator_to_array — Copy the iterator into an array

Açıklama

iterator_to_array(Traversable|array $iterator, bool $preserve_keys = true): array

Copy the elements of an iterator into an array.

Bağımsız Değişkenler

iterator

The iterator being copied.

preserve_keys

Whether to use the iterator element keys as index.

If a key is an array or object, a warning will be generated. null keys will be converted to an empty string, float keys will be truncated to their int counterpart, resource keys will generate a warning and be converted to their resource ID, and bool keys will be converted to integers.

Bilginize:

If this parameter is not set or set to true, duplicate keys will be overwritten. The last value with a given key will be in the returned array. Set this parameter to false to get all the values in any case.

Dönen Değerler

An array containing the elements of the iterator.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The type of iterator has been widened from Traversable to Traversable|array.

Örnekler

Örnek 1 iterator_to_array() example

<?php
$iterator = new ArrayIterator(array('recipe'=>'pancakes', 'egg', 'milk', 'flour'));
var_dump(iterator_to_array($iterator, true));
var_dump(iterator_to_array($iterator, false));
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["recipe"]=>
  string(8) "pancakes"
  [0]=>
  string(3) "egg"
  [1]=>
  string(4) "milk"
  [2]=>
  string(5) "flour"
}
array(4) {
  [0]=>
  string(8) "pancakes"
  [1]=>
  string(3) "egg"
  [2]=>
  string(4) "milk"
  [3]=>
  string(5) "flour"
}


Try all registered __autoload() functions to load the requested class

  • « iterator_to_array
  • spl_autoload_extensions »
  • PHP Manual
  • SPL İşlevleri
  • Try all registered __autoload() functions to load the requested class

spl_autoload_call

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_call — Try all registered __autoload() functions to load the requested class

Açıklama

spl_autoload_call(string $class): void

This function can be used to manually search for a class or interface using the registered __autoload functions.

Bağımsız Değişkenler

class

The class name being searched.

Dönen Değerler

Hiçbir değer dönmez.


Register and return default file extensions for spl_autoload

  • « spl_autoload_call
  • spl_autoload_functions »
  • PHP Manual
  • SPL İşlevleri
  • Register and return default file extensions for spl_autoload

spl_autoload_extensions

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_extensions — Register and return default file extensions for spl_autoload

Açıklama

spl_autoload_extensions(?string $file_extensions = null): string

This function can modify and check the file extensions that the built in __autoload() fallback function spl_autoload() will be using.

Bilginize: There should not be a space between the defined file extensions.

Bağımsız Değişkenler

file_extensions

If null, it simply returns the current list of extensions each separated by comma. To modify the list of file extensions, simply invoke the functions with the new list of file extensions to use in a single string with each extensions separated by comma.

Dönen Değerler

A comma delimited list of default file extensions for spl_autoload().

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | file_extensions is now nullable.

Örnekler

Örnek 1 spl_autoload_extensions() example

<?php
spl_autoload_extensions(".php,.inc");
?>


Return all registered __autoload() functions

  • « spl_autoload_extensions
  • spl_autoload_register »
  • PHP Manual
  • SPL İşlevleri
  • Return all registered __autoload() functions

spl_autoload_functions

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_functions — Return all registered __autoload() functions

Açıklama

spl_autoload_functions(): array

Get all registered __autoload() functions.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of all registered __autoload functions. If no function is registered, or the autoload queue is not activated, then the return value will be an empty array.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Return value was updated to always be an array; previously this function returned false if the autoload queue wasn't activated.


Register given function as __autoload() implementation

  • « spl_autoload_functions
  • spl_autoload_unregister »
  • PHP Manual
  • SPL İşlevleri
  • Register given function as __autoload() implementation

spl_autoload_register

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_register — Register given function as __autoload() implementation

Açıklama

spl_autoload_register(?callable $callback = null, bool $throw = true, bool $prepend = false): bool

Register a function with the spl provided __autoload queue. If the queue is not yet activated it will be activated.

If your code has an existing __autoload() function then this function must be explicitly registered on the __autoload queue. This is because spl_autoload_register() will effectively replace the engine cache for the __autoload() function by either spl_autoload() or spl_autoload_call().

If there must be multiple autoload functions, spl_autoload_register() allows for this. It effectively creates a queue of autoload functions, and runs through each of them in the order they are defined. By contrast, __autoload() may only be defined once.

Bağımsız Değişkenler

callback

The autoload function being registered. If null, then the default implementation of spl_autoload() will be registered.

callback(string $class): void

The class will not contain the leading backslash of a fully-qualified identifier.

throw

This parameter specifies whether spl_autoload_register() should throw exceptions when the callback cannot be registered.

Uyarı

This parameter is ignored as of PHP 8.0.0, and a notice will be emitted if set to false. spl_autoload_register() will now always throw a TypeError on invalid arguments.

prepend

If true, spl_autoload_register() will prepend the autoloader on the autoload queue instead of appending it.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | callback is now nullable.

Örnekler

Örnek 1 spl_autoload_register() as a replacement for an __autoload() function

<?php

// function __autoload($class) {
// include 'classes/' . $class . '.class.php';
// }

function my_autoloader($class) {
include 'classes/' . $class . '.class.php';
}

spl_autoload_register('my_autoloader');

// Or, using an anonymous function
spl_autoload_register(function ($class) {
include 'classes/' . $class . '.class.php';
});

?>

Örnek 2 spl_autoload_register() example where the class is not loaded

<?php

namespace Foobar;

class Foo {
static public function test($class) {
print '[['. $class .']]';
}
}

spl_autoload_register(__NAMESPACE__ .'\Foo::test');

new InexistentClass;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

[[Foobar\InexistentClass]]
Fatal error: Class 'Foobar\InexistentClass' not found in ...

Örnek 3 The identifier will be provided without the leading backslash

<?php

spl_autoload_register(static function ($class) {
var_dump($class);
});

class_exists('RelativeName');
class_exists('RelativeName\\WithNamespace');
class_exists('\\AbsoluteName');
class_exists('\\AbsoluteName\\WithNamespace');

?>

Yukarıdaki örneğin çıktısı:

string(12) "RelativeName"
string(26) "RelativeName\WithNamespace"
string(12) "AbsoluteName"
string(26) "AbsoluteName\WithNamespace"

Ayrıca Bakınız

  • __autoload() - Tanımsız sınıfı yüklemeye çalışır


Unregister given function as __autoload() implementation

  • « spl_autoload_register
  • spl_autoload »
  • PHP Manual
  • SPL İşlevleri
  • Unregister given function as __autoload() implementation

spl_autoload_unregister

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload_unregister — Unregister given function as __autoload() implementation

Açıklama

spl_autoload_unregister(callable $callback): bool

Removes a function from the autoload queue. If the queue is activated and empty after removing the given function then it will be deactivated.

When this function results in the queue being deactivated, any __autoload function that previously existed will not be reactivated.

Bağımsız Değişkenler

callback

The autoload function being unregistered.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Default implementation for __autoload()

  • « spl_autoload_unregister
  • spl_classes »
  • PHP Manual
  • SPL İşlevleri
  • Default implementation for __autoload()

spl_autoload

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

spl_autoload — Default implementation for __autoload()

Açıklama

spl_autoload(string $class, ?string $file_extensions = null): void

This function is intended to be used as a default implementation for __autoload(). If nothing else is specified and spl_autoload_register() is called without any parameters then this function will be used for any later call to __autoload().

Bağımsız Değişkenler

class

The name of the class (and namespace) being instantiated.

file_extensions

By default it checks all include paths to contain filenames built up by the lowercase class name appended by the filename extensions .inc and .php.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws LogicException when the class is not found and there are no other autoloaders registered.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | file_extensions is now nullable.


Return available SPL classes

  • « spl_autoload
  • spl_object_hash »
  • PHP Manual
  • SPL İşlevleri
  • Return available SPL classes

spl_classes

(PHP 5, PHP 7, PHP 8)

spl_classes — Return available SPL classes

Açıklama

spl_classes(): array

This function returns an array with the current available SPL classes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing the currently available SPL classes.

Örnekler

Örnek 1 spl_classes() example

<?php

print_r(spl_classes());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [ArrayObject] => ArrayObject
    [ArrayIterator] => ArrayIterator
    [CachingIterator] => CachingIterator
    [RecursiveCachingIterator] => RecursiveCachingIterator
    [DirectoryIterator] => DirectoryIterator
    [FilterIterator] => FilterIterator
    [LimitIterator] => LimitIterator
    [ParentIterator] => ParentIterator
    [RecursiveDirectoryIterator] => RecursiveDirectoryIterator
    [RecursiveIterator] => RecursiveIterator
    [RecursiveIteratorIterator] => RecursiveIteratorIterator
    [SeekableIterator] => SeekableIterator
    [SimpleXMLIterator] => SimpleXMLIterator
)


Return hash id for given object

  • « spl_classes
  • spl_object_id »
  • PHP Manual
  • SPL İşlevleri
  • Return hash id for given object

spl_object_hash

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

spl_object_hash — Return hash id for given object

Açıklama

spl_object_hash(object $object): string

This function returns a unique identifier for the object. This id can be used as a hash key for storing objects, or for identifying an object, as long as the object is not destroyed. Once the object is destroyed, its hash may be reused for other objects. This behavior is similar to spl_object_id().

Bağımsız Değişkenler

object

Any object.

Dönen Değerler

A string that is unique for each currently existing object and is always the same for each object.

Örnekler

Örnek 1 A spl_object_hash() example

<?php
$id = spl_object_hash($object);
$storage[$id] = $object;
?>

Notlar

Bilginize:

When an object is destroyed, its hash may be reused for other objects.

Bilginize:

Object hashes should be compared for identity with === and !==, because the returned hash could be a numeric string. For example: 0000000000000e600000000000000000.

Ayrıca Bakınız

  • spl_object_id() - Return the integer object handle for given object


Return the integer object handle for given object

  • « spl_object_hash
  • Dosya İşleme »
  • PHP Manual
  • SPL İşlevleri
  • Return the integer object handle for given object

spl_object_id

(PHP 7 >= 7.2.0, PHP 8)

spl_object_id — Return the integer object handle for given object

Açıklama

spl_object_id(object $object): int

This function returns a unique identifier for the object. The object id is unique for the lifetime of the object. Once the object is destroyed, its id may be reused for other objects. This behavior is similar to spl_object_hash().

Bağımsız Değişkenler

object

Any object.

Dönen Değerler

An integer identifier that is unique for each currently existing object and is always the same for each object.

Örnekler

Örnek 1 A spl_object_id() example

<?php
$id = spl_object_id($object);
$storage[$id] = $object;
?>

Notlar

Bilginize:

When an object is destroyed, its id may be reused for other objects.


Dosya İşleme

İçindekiler

  • SplFileInfo
  • SplFileObject
  • SplTempFileObject

SPL dosyalarla çalışmak için çeşitli sınıflar sağlar.


The SplFileInfo class

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

Giriş

The SplFileInfo class offers a high-level object-oriented interface to information for an individual file.

Sınıf Sözdizimi

class SplFileInfo implements Stringable {
/* Yöntemler */
public __construct(string $filename)
public getATime(): int|false
public getBasename(string $suffix = ""): string
public getCTime(): int|false
public getExtension(): string
public getFileInfo(?string $class = null): SplFileInfo
public getFilename(): string
public getGroup(): int|false
public getInode(): int|false
public getLinkTarget(): string|false
public getMTime(): int|false
public getOwner(): int|false
public getPath(): string
public getPathInfo(?string $class = null): ?SplFileInfo
public getPathname(): string
public getPerms(): int|false
public getRealPath(): string|false
public getSize(): int|false
public getType(): string|false
public isDir(): bool
public isExecutable(): bool
public isFile(): bool
public isLink(): bool
public isReadable(): bool
public isWritable(): bool
public openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public setFileClass(string $class = SplFileObject::class): void
public setInfoClass(string $class = SplFileInfo::class): void
public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | SplFileInfo implements Stringable now.

İçindekiler

  • SplFileInfo::__construct — Construct a new SplFileInfo object
  • SplFileInfo::getATime — Gets last access time of the file
  • SplFileInfo::getBasename — Gets the base name of the file
  • SplFileInfo::getCTime — Gets the inode change time
  • SplFileInfo::getExtension — Gets the file extension
  • SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file
  • SplFileInfo::getFilename — Gets the filename
  • SplFileInfo::getGroup — Gets the file group
  • SplFileInfo::getInode — Gets the inode for the file
  • SplFileInfo::getLinkTarget — Gets the target of a link
  • SplFileInfo::getMTime — Gets the last modified time
  • SplFileInfo::getOwner — Gets the owner of the file
  • SplFileInfo::getPath — Gets the path without filename
  • SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path
  • SplFileInfo::getPathname — Gets the path to the file
  • SplFileInfo::getPerms — Gets file permissions
  • SplFileInfo::getRealPath — Gets absolute path to file
  • SplFileInfo::getSize — Gets file size
  • SplFileInfo::getType — Gets file type
  • SplFileInfo::isDir — Tells if the file is a directory
  • SplFileInfo::isExecutable — Tells if the file is executable
  • SplFileInfo::isFile — Tells if the object references a regular file
  • SplFileInfo::isLink — Tells if the file is a link
  • SplFileInfo::isReadable — Tells if file is readable
  • SplFileInfo::isWritable — Tells if the entry is writable
  • SplFileInfo::openFile — Gets an SplFileObject object for the file
  • SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile
  • SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
  • SplFileInfo::__toString — Returns the path to the file as a string


Construct a new SplFileInfo object

  • « SplFileInfo
  • SplFileInfo::getATime »
  • PHP Manual
  • SplFileInfo
  • Construct a new SplFileInfo object

SplFileInfo::__construct

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::__construct — Construct a new SplFileInfo object

Açıklama

public SplFileInfo::__construct(string $filename)

Creates a new SplFileInfo object for the file_name specified. The file does not need to exist, or be readable.

Bağımsız Değişkenler

filename

Path to the file.

Örnekler

Örnek 1 SplFileInfo::__construct() example

<?php
$info = new SplFileInfo('example.php');
if ($info->isFile()) {
echo $info->getRealPath();
}
?>


Gets last access time of the file

  • « SplFileInfo::__construct
  • SplFileInfo::getBasename »
  • PHP Manual
  • SplFileInfo
  • Gets last access time of the file

SplFileInfo::getATime

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getATime — Gets last access time of the file

Açıklama

public SplFileInfo::getATime(): int|false

Gets the last access time for the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the time the file was last accessed on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getATime() example

<?php
$info = new SplFileInfo('example.jpg');
echo 'Last accessed at ' . date('g:i a', $info->getATime());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Last accessed at 1:49 pm

Ayrıca Bakınız

  • fileatime() - Dosyaya son erişim zamanını döndürür
  • SplFileInfo::getCTime() - Gets the inode change time
  • SplFileInfo::getMTime() - Gets the last modified time


Gets the base name of the file

  • « SplFileInfo::getATime
  • SplFileInfo::getCTime »
  • PHP Manual
  • SplFileInfo
  • Gets the base name of the file

SplFileInfo::getBasename

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

SplFileInfo::getBasename — Gets the base name of the file

Açıklama

public SplFileInfo::getBasename(string $suffix = ""): string

This method returns the base name of the file, directory, or link without path info.

Dikkat

SplFileInfo::getBasename() is locale aware, so for it to see the correct basename with multibyte character paths, the matching locale must be set using the setlocale() function.

Bağımsız Değişkenler

suffix

Optional suffix to omit from the base name returned.

Dönen Değerler

Returns the base name without path information.

Örnekler

Örnek 1 SplFileInfo::getBasename() example

<?php
$info = new SplFileInfo('file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename());

$info = new SplFileInfo('/path/to/file.txt');
var_dump($info->getBasename('.txt'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(8) "file.txt"
string(8) "file.txt"
string(4) "file"

Ayrıca Bakınız

  • SplFileInfo::getFilename() - Gets the filename


Gets the inode change time

  • « SplFileInfo::getBasename
  • SplFileInfo::getExtension »
  • PHP Manual
  • SplFileInfo
  • Gets the inode change time

SplFileInfo::getCTime

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getCTime — Gets the inode change time

Açıklama

public SplFileInfo::getCTime(): int|false

Returns the inode change time for the file. The time returned is a Unix timestamp.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last change time, in a Unix timestamp on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getCTime() example

<?php
$info = new SplFileInfo('example.jpg');
echo 'Last changed at ' . date('g:i a', $info->getCTime());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Last changed at 1:49 pm

Ayrıca Bakınız

  • filectime() - Dosyanın dosya düğümü değişiklik zamanını döndürür
  • SplFileInfo::getATime() - Gets last access time of the file
  • SplFileInfo::getMTime() - Gets the last modified time


Gets the file extension

  • « SplFileInfo::getCTime
  • SplFileInfo::getFileInfo »
  • PHP Manual
  • SplFileInfo
  • Gets the file extension

SplFileInfo::getExtension

(PHP 5 >= 5.3.6, PHP 7, PHP 8)

SplFileInfo::getExtension — Gets the file extension

Açıklama

public SplFileInfo::getExtension(): string

Retrieves the file extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the file extension, or an empty string if the file has no extension.

Örnekler

Örnek 1 SplFileInfo::getExtension() example

<?php

$info = new SplFileInfo('foo.txt');
var_dump($info->getExtension());

$info = new SplFileInfo('photo.jpg');
var_dump($info->getExtension());

$info = new SplFileInfo('something.tar.gz');
var_dump($info->getExtension());

?>

Yukarıdaki örneğin çıktısı:

string(3) "txt"
string(3) "jpg"
string(2) "gz"

Notlar

Bilginize:

Another way of getting the extension is to use the pathinfo() function.

<?php
$extension = pathinfo($info->getFilename(), PATHINFO_EXTENSION);
?>

Ayrıca Bakınız

  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getBasename() - Gets the base name of the file
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür


Gets an SplFileInfo object for the file

  • « SplFileInfo::getExtension
  • SplFileInfo::getFilename »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileInfo object for the file

SplFileInfo::getFileInfo

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getFileInfo — Gets an SplFileInfo object for the file

Açıklama

public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo

This method gets an SplFileInfo object for the referenced file.

Bağımsız Değişkenler

class

Name of an SplFileInfo derived class to use.

Dönen Değerler

An SplFileInfo object created for the file.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | class is now nullable.

Ayrıca Bakınız

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo


Gets the filename

  • « SplFileInfo::getFileInfo
  • SplFileInfo::getGroup »
  • PHP Manual
  • SplFileInfo
  • Gets the filename

SplFileInfo::getFilename

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getFilename — Gets the filename

Açıklama

public SplFileInfo::getFilename(): string

Gets the filename without any path information.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The filename.

Örnekler

Örnek 1 SplFileInfo::getFilename() example

<?php
$info = new SplFileInfo('foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('/path/to/foo.txt');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/');
var_dump($info->getFilename());

$info = new SplFileInfo('http://www.php.net/svn.php');
var_dump($info->getFilename());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(7) "foo.txt"
string(7) "foo.txt"
string(0) ""
string(7) "svn.php"

Ayrıca Bakınız

  • SplFileInfo::getBasename() - Gets the base name of the file


Gets the file group

  • « SplFileInfo::getFilename
  • SplFileInfo::getInode »
  • PHP Manual
  • SplFileInfo
  • Gets the file group

SplFileInfo::getGroup

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getGroup — Gets the file group

Açıklama

public SplFileInfo::getGroup(): int|false

Gets the file group. The group ID is returned in numerical format.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The group id in numerical format on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getGroup() example

<?php
$info = new SplFileInfo('example.jpg');
echo info->getFilename() . ' belongs to group id ' . $info->getGroup() . "\n";
print_r(posix_getgrgid($info->getGroup()));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

example.jpg belongs to group id 42
Array
(
    [name] => toons
    [passwd] => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid] => 42
)

Ayrıca Bakınız

  • filegroup() - Dosyanın sahibi olan grubu döndürür
  • posix_getgrgid() - Grup kimliği belirtilen grup hakkında bilgi verir


Gets the inode for the file

  • « SplFileInfo::getGroup
  • SplFileInfo::getLinkTarget »
  • PHP Manual
  • SplFileInfo
  • Gets the inode for the file

SplFileInfo::getInode

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getInode — Gets the inode for the file

Açıklama

public SplFileInfo::getInode(): int|false

Gets the inode number for the filesystem object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the inode number for the filesystem object on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Ayrıca Bakınız

  • fileinode() - Dosyanın düğüm numarasını döndürür


Gets the target of a link

  • « SplFileInfo::getInode
  • SplFileInfo::getMTime »
  • PHP Manual
  • SplFileInfo
  • Gets the target of a link

SplFileInfo::getLinkTarget

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

SplFileInfo::getLinkTarget — Gets the target of a link

Açıklama

public SplFileInfo::getLinkTarget(): string|false

Gets the target of a filesystem link.

Bilginize:

The target may not be the real path on the filesystem. Use SplFileInfo::getRealPath() to determine the true path on the filesystem.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the target of the filesystem link on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getLinkTarget() example

<?php
$info = new SplFileInfo('/Users/bbieber/workspace');
if ($info->isLink()) {
var_dump($info->getLinkTarget());
var_dump($info->getRealPath());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(19) "Documents/workspace"
string(34) "/Users/bbieber/Documents/workspace"

Ayrıca Bakınız

  • SplFileInfo::isLink() - Tells if the file is a link
  • SplFileInfo::getRealPath() - Gets absolute path to file


Gets the last modified time

  • « SplFileInfo::getLinkTarget
  • SplFileInfo::getOwner »
  • PHP Manual
  • SplFileInfo
  • Gets the last modified time

SplFileInfo::getMTime

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getMTime — Gets the last modified time

Açıklama

public SplFileInfo::getMTime(): int|false

Returns the time when the contents of the file were changed. The time returned is a Unix timestamp.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the last modified time for the file, in a Unix timestamp on success, or false on failure.

Örnekler

Örnek 1 SplFileInfo::getMTime() example

<?php
$info = new SplFileInfo('example.jpg');
echo 'Last modified at ' . date('g:i a', $info->getMTime());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Last modified at 1:49 pm

Ayrıca Bakınız

  • filemtime() - Dosyanın değişiklik zamanını döndürür
  • SplFileInfo::getATime() - Gets last access time of the file
  • SplFileInfo::getCTime() - Gets the inode change time


Gets the owner of the file

  • « SplFileInfo::getMTime
  • SplFileInfo::getPath »
  • PHP Manual
  • SplFileInfo
  • Gets the owner of the file

SplFileInfo::getOwner

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getOwner — Gets the owner of the file

Açıklama

public SplFileInfo::getOwner(): int|false

Gets the file owner. The owner ID is returned in numerical format.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The owner id in numerical format on success, or false on failure.

Hatalar/İstisnalar

Throws RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getOwner() example

<?php
$info = new SplFileInfo('example.jpg');
echo info->getFilename() . ' belongs to owner id ' . $info->getOwner() . "\n";
print_r(posix_getpwuid($info->getOwner()));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

example.jpg belongs to user id 501
Array
(
    [name] => tom
    [passwd] => x
    [uid] => 501
    [gid] => 42
    [gecos] => Tom Cat
    [dir] => /home/tom
    [shell] => /bin/bash
)

Ayrıca Bakınız

  • posix_getpwuid() - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
  • SplFileInfo::getGroup() - Gets the file group


Gets the path without filename

  • « SplFileInfo::getOwner
  • SplFileInfo::getPathInfo »
  • PHP Manual
  • SplFileInfo
  • Gets the path without filename

SplFileInfo::getPath

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getPath — Gets the path without filename

Açıklama

public SplFileInfo::getPath(): string

Returns the path to the file, omitting the filename and any trailing slash.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the path to the file.

Örnekler

Örnek 1 SplFileInfo::getPath() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPath());

$info = new SplFileInfo('/usr/');
var_dump($info->getPath());?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(8) "/usr/bin"
string(4) "/usr"

Ayrıca Bakınız

  • SplFileInfo::getRealPath() - Gets absolute path to file
  • SplFileInfo::getFilename() - Gets the filename
  • SplFileInfo::getPathInfo() - Gets an SplFileInfo object for the path


Gets an SplFileInfo object for the path

  • « SplFileInfo::getPath
  • SplFileInfo::getPathname »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileInfo object for the path

SplFileInfo::getPathInfo

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getPathInfo — Gets an SplFileInfo object for the path

Açıklama

public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo

Gets an SplFileInfo object for the parent of the current file.

Bağımsız Değişkenler

class

Name of an SplFileInfo derived class to use, or itself if null.

Dönen Değerler

Returns an SplFileInfo object for the parent path of the file on success, or null on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | class is now nullable.

Örnekler

Örnek 1 SplFileInfo::getPathInfo() example

<?php
$info = new SplFileInfo('/usr/bin/php');
$parent_info = $info->getPathInfo();
var_dump($parent_info->getRealPath());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(8) "/usr/bin"

Ayrıca Bakınız

  • SplFileInfo::setInfoClass() - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo


Gets the path to the file

  • « SplFileInfo::getPathInfo
  • SplFileInfo::getPerms »
  • PHP Manual
  • SplFileInfo
  • Gets the path to the file

SplFileInfo::getPathname

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getPathname — Gets the path to the file

Açıklama

public SplFileInfo::getPathname(): string

Returns the path to the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The path to the file.

Örnekler

Örnek 1 SplFileInfo::getPathname() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->getPathname());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(12) "/usr/bin/php"

Ayrıca Bakınız

  • SplFileInfo::getRealPath() - Gets absolute path to file


Gets file permissions

  • « SplFileInfo::getPathname
  • SplFileInfo::getRealPath »
  • PHP Manual
  • SplFileInfo
  • Gets file permissions

SplFileInfo::getPerms

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getPerms — Gets file permissions

Açıklama

public SplFileInfo::getPerms(): int|false

Gets the file permissions for the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the file permissions on success, or false on failure.

Örnekler

Örnek 1 SplFileInfo::getPerms() example

<?php
$info = new SplFileInfo('/tmp');
echo substr(sprintf('%o', $info->getPerms()), -4);

$info = new SplFileInfo(__FILE__);
echo substr(sprintf('%o', $info->getPerms()), -4);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1777
0644


Gets absolute path to file

  • « SplFileInfo::getPerms
  • SplFileInfo::getSize »
  • PHP Manual
  • SplFileInfo
  • Gets absolute path to file

SplFileInfo::getRealPath

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

SplFileInfo::getRealPath — Gets absolute path to file

Açıklama

public SplFileInfo::getRealPath(): string|false

This method expands all symbolic links, resolves relative references and returns the real path to the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the path to the file, or false if the file does not exist.

Örnekler

Örnek 1 SplFileInfo::getRealPath() example

<?php
$info = new SplFileInfo('/..//./../../'.__FILE__);
var_dump($info->getRealPath());

$info = new SplFileInfo('/tmp');
var_dump($info->getRealPath());

$info = new SplFileInfo('/I/Do/Not/Exist');
var_dump($info->getRealPath());

$info = new SplFileInfo('php://output');
var_dump($info->getRealPath());

$info = new SplFileInfo("");
var_dump($info->getRealPath());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(28) "/private/tmp/phptempfile.php"
string(12) "/private/tmp"
bool(false)
bool(false)
string(12) "/private/tmp"

Ayrıca Bakınız

  • SplFileInfo::isLink() - Tells if the file is a link
  • realpath() - Normalleştirilmiş mutlak dosya yolunu döndürür


Gets file size

  • « SplFileInfo::getRealPath
  • SplFileInfo::getType »
  • PHP Manual
  • SplFileInfo
  • Gets file size

SplFileInfo::getSize

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getSize — Gets file size

Açıklama

public SplFileInfo::getSize(): int|false

Returns the filesize in bytes for the file referenced.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The filesize in bytes on success, or false on failure.

Hatalar/İstisnalar

A RuntimeException will be thrown if the file does not exist or an error occurs.

Örnekler

Örnek 1 SplFileInfo::getSize() example

<?php
$info = new SplFileInfo('example.jpg');
echo $fileinfo->getFilename() . " " . $fileinfo->getSize();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

example.jpg 15385

Ayrıca Bakınız

  • filesize() - Dosya uzunluğunu döndürür


Gets file type

  • « SplFileInfo::getSize
  • SplFileInfo::isDir »
  • PHP Manual
  • SplFileInfo
  • Gets file type

SplFileInfo::getType

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::getType — Gets file type

Açıklama

public SplFileInfo::getType(): string|false

Returns the type of the file referenced.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representing the type of the entry. May be one of file, link, dir, block, fifo, char, socket, or unknown, or false on failure.

Hatalar/İstisnalar

Throws a RuntimeException on error.

Örnekler

Örnek 1 SplFileInfo::getType() example

<?php

$info = new SplFileInfo(__FILE__);
echo $info->getType().PHP_EOL;

$info = new SplFileInfo(dirname(__FILE__));
echo $info->getType();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

file
dir


Tells if the file is a directory

  • « SplFileInfo::getType
  • SplFileInfo::isExecutable »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is a directory

SplFileInfo::isDir

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isDir — Tells if the file is a directory

Açıklama

public SplFileInfo::isDir(): bool

This method can be used to determine if the file is a directory.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if a directory, false otherwise.

Örnekler

Örnek 1 SplFileInfo::isDir() example

<?php
$d = new SplFileInfo(dirname(__FILE__));
var_dump($d->isDir());

$d = new SplFileInfo(__FILE__);
var_dump($d->isDir());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)


Tells if the file is executable

  • « SplFileInfo::isDir
  • SplFileInfo::isFile »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is executable

SplFileInfo::isExecutable

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isExecutable — Tells if the file is executable

Açıklama

public SplFileInfo::isExecutable(): bool

Checks if the file is executable.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if executable, false otherwise.

Örnekler

Örnek 1 SplFileInfo::isExecutable() example

<?php
$info = new SplFileInfo('/usr/bin/php');
var_dump($info->isExecutable());

$info = new SplFileInfo('/usr/bin');
var_dump($info->isExecutable());

$info = new SplFileInfo('foo');
var_dump($info->isExecutable());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(false)


Tells if the object references a regular file

  • « SplFileInfo::isExecutable
  • SplFileInfo::isLink »
  • PHP Manual
  • SplFileInfo
  • Tells if the object references a regular file

SplFileInfo::isFile

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isFile — Tells if the object references a regular file

Açıklama

public SplFileInfo::isFile(): bool

Checks if the file referenced by this SplFileInfo object exists and is a regular file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the file exists and is a regular file (not a link), false otherwise.

Örnekler

Örnek 1 SplFileInfo::isFile() example

<?php
$info = new SplFileInfo(__FILE__);
var_dump($info->isFile());

$info = new SplFileInfo(dirname(__FILE__));
var_dump($info->isFile());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)


Tells if the file is a link

  • « SplFileInfo::isFile
  • SplFileInfo::isReadable »
  • PHP Manual
  • SplFileInfo
  • Tells if the file is a link

SplFileInfo::isLink

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isLink — Tells if the file is a link

Açıklama

public SplFileInfo::isLink(): bool

Use this method to check if the file referenced by the SplFileInfo object is a link.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the file is a link, false otherwise.

Örnekler

Örnek 1 SplFileInfo::isLink() example

<?php
$info = new SplFileInfo('/path/to/symlink');
if ($info->isLink()) {
echo 'The real path is '.$info->getRealPath();
}
?>

Ayrıca Bakınız

  • SplFileInfo::getRealPath() - Gets absolute path to file


Tells if file is readable

  • « SplFileInfo::isLink
  • SplFileInfo::isWritable »
  • PHP Manual
  • SplFileInfo
  • Tells if file is readable

SplFileInfo::isReadable

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isReadable — Tells if file is readable

Açıklama

public SplFileInfo::isReadable(): bool

Check if the file is readable.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if readable, false otherwise.

Örnekler

Örnek 1 SplFileInfo::isReadable() example

<?php
$info = new SplFileInfo('readable.jpg');
if ($info->isReadable()) {
echo $info->getFilename() . ' is readable';
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

readable.jpg is readable


Tells if the entry is writable

  • « SplFileInfo::isReadable
  • SplFileInfo::openFile »
  • PHP Manual
  • SplFileInfo
  • Tells if the entry is writable

SplFileInfo::isWritable

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::isWritable — Tells if the entry is writable

Açıklama

public SplFileInfo::isWritable(): bool

Checks if the current entry is writable.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if writable, false otherwise;

Örnekler

Örnek 1 SplFileInfo::isWriteable() example

<?php
$info = new SplFileInfo('locked.jpg');
if (!$info->isWriteable()) {
echo $info->getFilename() . ' is not writeable';
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

locked.jpg is not writeable


Gets an SplFileObject object for the file

  • « SplFileInfo::isWritable
  • SplFileInfo::setFileClass »
  • PHP Manual
  • SplFileInfo
  • Gets an SplFileObject object for the file

SplFileInfo::openFile

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::openFile — Gets an SplFileObject object for the file

Açıklama

public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject

Creates an SplFileObject object of the file. This is useful because SplFileObject contains additional methods for manipulating the file whereas SplFileInfo is only useful for gaining information, like whether the file is writable.

Bağımsız Değişkenler

mode

The mode for opening the file. See the fopen() documentation for descriptions of possible modes. The default is read only.

useIncludePath

true atandığı takdirde, dosya ayrıca include_path yönergesinde belirtilen yollarda da aranır.

context

Bağlamlar ile ilgili ayrıntılı bilgi edinmek için kılavuzun Bağlam seçenekleri ve bağımsız değişkenleri bölümünde bulunabilir.

Dönen Değerler

The opened file as an SplFileObject object.

Hatalar/İstisnalar

A RuntimeException if the file cannot be opened (e.g. insufficient access rights).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | context is now nullable.

Örnekler

Örnek 1 SplFileInfo::openFile() example

<?php
$fileinfo = new SplFileInfo('/tmp/foo.txt');

if ($fileinfo->isWritable()) {

$fileobj = $fileinfo->openFile('a');

$fileobj->fwrite("appended this sample text");
}
?>

Ayrıca Bakınız

  • SplFileObject
  • stream_context_create() - Bir akım bağlamı oluşturur
  • fopen() - Bir dosya veya URL'yi açar


Sets the class used with SplFileInfo::openFile

  • « SplFileInfo::openFile
  • SplFileInfo::setInfoClass »
  • PHP Manual
  • SplFileInfo
  • Sets the class used with SplFileInfo::openFile

SplFileInfo::setFileClass

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::setFileClass — Sets the class used with SplFileInfo::openFile()

Açıklama

public SplFileInfo::setFileClass(string $class = SplFileObject::class): void

Use this method to set a custom class which will be used when SplFileInfo::openFile() is called. The class name passed to this method must be SplFileObject or a class derived from SplFileObject.

Bağımsız Değişkenler

class

The class name to use when SplFileInfo::openFile() is called.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplFileInfo::setFileClass() example

<?php
// Create a class extending SplFileObject
class MyFoo extends SplFileObject {}

$info = new SplFileInfo(__FILE__);
// Set the class to use
$info->setFileClass('MyFoo');
var_dump($info->openFile());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MyFoo)#2 (0) { }

Ayrıca Bakınız

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file


Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

  • « SplFileInfo::setFileClass
  • SplFileInfo::__toString »
  • PHP Manual
  • SplFileInfo
  • Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo

SplFileInfo::setInfoClass

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::setInfoClass — Sets the class used with SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo()

Açıklama

public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void

Use this method to set a custom class which will be used when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called. The class name passed to this method must be SplFileInfo or a class derived from SplFileInfo.

Bağımsız Değişkenler

class

The class name to use when SplFileInfo::getFileInfo() and SplFileInfo::getPathInfo() are called.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplFileInfo::setFileClass() example

<?php
// Define a class which extends SplFileInfo
class MyFoo extends SplFileInfo {}

$info = new SplFileInfo('foo');
// Set the class name to use
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(MyFoo)#2 (0) { }

Ayrıca Bakınız

  • SplFileInfo::getFileInfo() - Gets an SplFileInfo object for the file


Returns the path to the file as a string

  • « SplFileInfo::setInfoClass
  • SplFileObject »
  • PHP Manual
  • SplFileInfo
  • Returns the path to the file as a string

SplFileInfo::__toString

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileInfo::__toString — Returns the path to the file as a string

Açıklama

public SplFileInfo::__toString(): string

This method will return the file name of the referenced file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the path to the file.

Örnekler

Örnek 1 SplFileInfo::__toString() example

<?php
$info = new SplFileInfo('foo');
var_dump($info->__toString());
echo $info.PHP_EOL;

$info = new SplFileInfo('/usr/bin/php');
var_dump($info->__toString());
echo $info.PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(3) "foo"
foo
string(12) "/usr/bin/php"
/usr/bin/php


The SplFileObject class

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The SplFileObject class offers an object-oriented interface for a file.

Sınıf Sözdizimi

class SplFileObject extends SplFileInfo implements RecursiveIterator, SeekableIterator {
/* Sabitler */
public const int DROP_NEW_LINE;
public const int READ_AHEAD;
public const int SKIP_EMPTY;
public const int READ_CSV;
/* Yöntemler */
public __construct(
string $filename,
string $mode = "r",
bool $useIncludePath = false,
?resource $context = null
)
public current(): string|array|false
public eof(): bool
public fflush(): bool
public fgetc(): string|false
public fgetcsv(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false
public fgets(): string
public fgetss(string $allowable_tags = ?): string
public flock(int $operation, int &$wouldBlock = null): bool
public fpassthru(): int
public fputcsv(
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int|false
public fread(int $length): string|false
public fscanf(string $format, mixed &...$vars): array|int|null
public fseek(int $offset, int $whence = SEEK_SET): int
public fstat(): array
public ftell(): int|false
public ftruncate(int $size): bool
public fwrite(string $data, int $length = 0): int|false
public getChildren(): null
public getCsvControl(): array
public getFlags(): int
public getMaxLineLen(): int
public hasChildren(): false
public key(): int
public next(): void
public rewind(): void
public seek(int $line): void
public setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void
public setFlags(int $flags): void
public setMaxLineLen(int $maxLength): void
public __toString(): string
public valid(): bool
/* Miras alınan yöntemler */
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

Öntanımlı Sabitler

SplFileObject::DROP_NEW_LINE

Drop newlines at the end of a line.

SplFileObject::READ_AHEAD

Read on rewind/next.

SplFileObject::SKIP_EMPTY

Skips empty lines in the file. This requires the READ_AHEAD flag be enabled, to work as expected.

SplFileObject::READ_CSV

Read lines as CSV rows.

İçindekiler

  • SplFileObject::__construct — Construct a new file object
  • SplFileObject::current — Retrieve current line of file
  • SplFileObject::eof — Reached end of file
  • SplFileObject::fflush — Flushes the output to the file
  • SplFileObject::fgetc — Gets character from file
  • SplFileObject::fgetcsv — Gets line from file and parse as CSV fields
  • SplFileObject::fgets — Gets line from file
  • SplFileObject::fgetss — Gets line from file and strip HTML tags
  • SplFileObject::flock — Portable file locking
  • SplFileObject::fpassthru — Output all remaining data on a file pointer
  • SplFileObject::fputcsv — Write a field array as a CSV line
  • SplFileObject::fread — Read from file
  • SplFileObject::fscanf — Parses input from file according to a format
  • SplFileObject::fseek — Seek to a position
  • SplFileObject::fstat — Gets information about the file
  • SplFileObject::ftell — Return current file position
  • SplFileObject::ftruncate — Truncates the file to a given length
  • SplFileObject::fwrite — Write to file
  • SplFileObject::getChildren — No purpose
  • SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::getCurrentLine — Takma Adı: SplFileObject::fgets
  • SplFileObject::getFlags — Gets flags for the SplFileObject
  • SplFileObject::getMaxLineLen — Get maximum line length
  • SplFileObject::hasChildren — SplFileObject does not have children
  • SplFileObject::key — Get line number
  • SplFileObject::next — Read next line
  • SplFileObject::rewind — Rewind the file to the first line
  • SplFileObject::seek — Seek to specified line
  • SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags — Sets flags for the SplFileObject
  • SplFileObject::setMaxLineLen — Set maximum line length
  • SplFileObject::__toString — Returns the current line as a string
  • SplFileObject::valid — Not at EOF


Construct a new file object

  • « SplFileObject
  • SplFileObject::current »
  • PHP Manual
  • SplFileObject
  • Construct a new file object

SplFileObject::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::__construct — Construct a new file object

Açıklama

public SplFileObject::__construct(
string $filename,
string $mode = "r",
bool $useIncludePath = false,
?resource $context = null
)

Construct a new file object.

Bağımsız Değişkenler

filename

The file to read.

İpucu

fopen sarmalayıcıları etkin kılınmışsa bu işlevde dosya ismi olarak bir URL belirtilebilir. Dosya isminin nasıl belirtilebileceği hakkında bilgi edinmek için fopen() işlevine bakılabilir. Sarmalayıcıların neler yapabildiği, kullanım bilgileri ve bunlar tarafından kullanılan öntanımlı değişkenler hakkında bilgi Desteklenen Protokoller ve Sarmalayıcılar bölümünde bulanabilir.

mode

The mode in which to open the file. See fopen() for a list of allowed modes.

useIncludePath

Whether to search in the include_path for filename.

context

A valid context resource created with stream_context_create().

Hatalar/İstisnalar

Throws a RuntimeException if the filename cannot be opened.

Throws a LogicException if the filename is a directory.

Örnekler

Örnek 1 SplFileObject::__construct() example

This example opens the current file and iterates over its contents line by line.

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $line_num => $line) {
echo "Line $line_num is $line";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Line 0 is <?php
Line 1 is $file = new SplFileObject(__FILE__);
Line 2 is foreach ($file as $line_num => $line) {
Line 3 is     echo "Line $line_num is $line";
Line 4 is }
Line 5 is ?>

Ayrıca Bakınız

  • SplFileInfo::openFile() - Gets an SplFileObject object for the file
  • fopen() - Bir dosya veya URL'yi açar


Retrieve current line of file

  • « SplFileObject::__construct
  • SplFileObject::eof »
  • PHP Manual
  • SplFileObject
  • Retrieve current line of file

SplFileObject::current

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::current — Retrieve current line of file

Açıklama

public SplFileObject::current(): string|array|false

Retrieves the current line of the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Retrieves the current line of the file. If the SplFileObject::READ_CSV flag is set, this method returns an array containing the current line parsed as CSV data. If the end of the file is reached, false is returned.

Örnekler

Örnek 1 SplFileObject::current() example

<?php
$file = new SplFileObject(__FILE__);
foreach ($file as $k => $line) {
echo ($file->key() + 1) . ': ' . $file->current();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1: <?php
2: $file = new SplFileObject(__FILE__);
3: foreach ($file as $line) {
4:     echo ($file->key() + 1) . ': ' . $file->current();
5: }
6: ?>

Ayrıca Bakınız

  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Reached end of file

  • « SplFileObject::current
  • SplFileObject::fflush »
  • PHP Manual
  • SplFileObject
  • Reached end of file

SplFileObject::eof

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::eof — Reached end of file

Açıklama

public SplFileObject::eof(): bool

Determine whether the end of file has been reached

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if file is at EOF, false otherwise.

Örnekler

Örnek 1 SplFileObject::eof() example

<?php
$file = new SplFileObject("fruits.txt");
while ( ! $file->eof()) {
echo $file->fgets();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

apple
banana
cherry
date
elderberry

Ayrıca Bakınız

  • SplFileObject::valid() - Not at EOF
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar


Flushes the output to the file

  • « SplFileObject::eof
  • SplFileObject::fgetc »
  • PHP Manual
  • SplFileObject
  • Flushes the output to the file

SplFileObject::fflush

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fflush — Flushes the output to the file

Açıklama

public SplFileObject::fflush(): bool

Forces a write of all buffered output to the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SplFileObject::fflush() example

<?php
$file = new SplFileObject('misc.txt', 'r+');
$file->rewind();
$file->fwrite("Foo");
$file->fflush();
$file->ftruncate($file->ftell());
?>

Ayrıca Bakınız

  • SplFileObject::fwrite() - Write to file


Gets character from file

  • « SplFileObject::fflush
  • SplFileObject::fgetcsv »
  • PHP Manual
  • SplFileObject
  • Gets character from file

SplFileObject::fgetc

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fgetc — Gets character from file

Açıklama

public SplFileObject::fgetc(): string|false

Gets a character from the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing a single character read from the file or false on EOF.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 SplFileObject::fgetc() example

<?php
$file = new SplFileObject('file.txt');
while (false !== ($char = $file->fgetc())) {
echo "$char\n";
}
?>

Ayrıca Bakınız

  • SplFileObject::fgets() - Gets line from file


Gets line from file and parse as CSV fields

  • « SplFileObject::fgetc
  • SplFileObject::fgets »
  • PHP Manual
  • SplFileObject
  • Gets line from file and parse as CSV fields

SplFileObject::fgetcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fgetcsv — Gets line from file and parse as CSV fields

Açıklama

public SplFileObject::fgetcsv(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false

Gets a line from the file which is in CSV format and returns an array containing the fields read.

Bilginize:

The locale settings are taken into account by this function. If LC_CTYPE is e.g. en_US.UTF-8, files in one-byte encodings may be read wrongly by this function.

Bağımsız Değişkenler

separator

The field delimiter (one single-byte character only). Defaults as a comma or the value set using SplFileObject::setCsvControl().

enclosure

The field enclosure character (one single-byte character only). Defaults as a double quotation mark or the value set using SplFileObject::setCsvControl().

escape

The escape character (at most one single-byte character). Defaults as a backslash (\) or the value set using SplFileObject::setCsvControl(). An empty string ("") disables the proprietary escape mechanism.

Bilginize: Usually an enclosure character is escaped inside a field by doubling it; however, the escape character can be used as an alternative. So for the default parameter values "" and \" have the same meaning. Other than allowing to escape the enclosure character the escape character has no special meaning; it isn't even meant to escape itself.

Dönen Değerler

Returns an indexed array containing the fields read, or false on error.

Bilginize:

A blank line in a CSV file will be returned as an array comprising a single null field unless using SplFileObject::SKIP_EMPTY | SplFileObject::DROP_NEW_LINE, in which case empty lines are skipped.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Örnekler

Örnek 1 SplFileObject::fgetcsv() example

<?php
$file = new SplFileObject("data.csv");
while (!$file->eof()) {
var_dump($file->fgetcsv());
}
?>

Örnek 2 SplFileObject::READ_CSV example

<?php
$file = new SplFileObject("animals.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $row) {
list($animal, $class, $legs) = $row;
printf("A %s is a %s with %d legs\n", $animal, $class, $legs);
}
?>

Contents of animals.csv

crocodile,reptile,4
dolphin,mammal,0
duck,bird,2
koala,mammal,4
salmon,fish,0

Yukarıdaki örnek şuna benzer bir çıktı üretir:

A crocodile is a reptile with 4 legs
A dolphin is a mammal with 0 legs
A duck is a bird with 2 legs
A koala is a mammal with 4 legs
A salmon is a fish with 0 legs

Ayrıca Bakınız

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::setFlags() - Sets flags for the SplFileObject
  • SplFileObject::READ_CSV
  • SplFileObject::current() - Retrieve current line of file


Gets line from file

  • « SplFileObject::fgetcsv
  • SplFileObject::fgetss »
  • PHP Manual
  • SplFileObject
  • Gets line from file

SplFileObject::fgets

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fgets — Gets line from file

Açıklama

public SplFileObject::fgets(): string

Gets a line from the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the next line from the file.

Hatalar/İstisnalar

Throws a RuntimeException if the file cannot be read.

Örnekler

Örnek 1 SplFileObject::fgets() example

This example simply outputs the contents of file.txt line-by-line.

<?php
$file = new SplFileObject("file.txt");
while (!$file->eof()) {
echo $file->fgets();
}
?>

Ayrıca Bakınız

  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • SplFileObject::fgetss() - Gets line from file and strip HTML tags
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file


Gets line from file and strip HTML tags

  • « SplFileObject::fgets
  • SplFileObject::flock »
  • PHP Manual
  • SplFileObject
  • Gets line from file and strip HTML tags

SplFileObject::fgetss

(PHP 5 >= 5.1.0, PHP 7)

SplFileObject::fgetss — Gets line from file and strip HTML tags

Uyarı

Bu işlevin kullanımı PHP 7.3.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public SplFileObject::fgetss(string $allowable_tags = ?): string

Identical to SplFileObject::fgets(), except that SplFileObject::fgetss() attempts to strip any HTML and PHP tags from the text it reads. The function retains the parsing state from call to call, and as such is not equivalent to calling strip_tags() on the return value of SplFileObject::fgets().

Bağımsız Değişkenler

allowable_tags

Optional parameter to specify tags which should not be stripped.

Dönen Değerler

Returns a string containing the next line of the file with HTML and PHP code stripped, or false on error.

Örnekler

Örnek 1 SplFileObject::fgetss() example

<?php
$str = <<<EOD
<html><body>
<p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents("sample.php", $str);

$file = new SplFileObject("sample.php");
while (!$file->eof()) {
echo $file->fgetss();
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

 Welcome! Today is the  of .

Text outside of the HTML block.

Ayrıca Bakınız

  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • SplFileObject::fgets() - Gets line from file
  • SplFileObject::fgetc() - Gets character from file
  • SplFileObject::current() - Retrieve current line of file
  • The string.strip_tags filter


Portable file locking

  • « SplFileObject::fgetss
  • SplFileObject::fpassthru »
  • PHP Manual
  • SplFileObject
  • Portable file locking

SplFileObject::flock

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::flock — Portable file locking

Açıklama

public SplFileObject::flock(int $operation, int &$wouldBlock = null): bool

Locks or unlocks the file in the same portable way as flock().

Bağımsız Değişkenler

operation

operation is one of the following:

  • LOCK_SH to acquire a shared lock (reader).
  • LOCK_EX to acquire an exclusive lock (writer).
  • LOCK_UN to release a lock (shared or exclusive).

It is also possible to add LOCK_NB as a bitmask to one of the above operations, if flock() should not block during the locking attempt.

wouldBlock

Set to true if the lock would block (EWOULDBLOCK errno condition).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SplFileObject::flock() example

<?php
$file = new SplFileObject("/tmp/lock.txt", "w");
if ($file->flock(LOCK_EX)) { // do an exclusive lock
$file->ftruncate(0); // truncate file
$file->fwrite("Write something here\n");
$file->flock(LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}
?>

Ayrıca Bakınız

  • flock() - Öneri niteliğinde taşınabilir dosya kilitleme


Output all remaining data on a file pointer

  • « SplFileObject::flock
  • SplFileObject::fputcsv »
  • PHP Manual
  • SplFileObject
  • Output all remaining data on a file pointer

SplFileObject::fpassthru

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fpassthru — Output all remaining data on a file pointer

Açıklama

public SplFileObject::fpassthru(): int

Reads to EOF on the given file pointer from the current position and writes the results to the output buffer.

You may need to call SplFileObject::rewind() to reset the file pointer to the beginning of the file if you have already written data to the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of characters read from handle and passed through to the output.

Örnekler

Örnek 1 SplFileObject::fpassthru() example

<?php

// Open the file in binary mode
$file = new SplFileObject("./img/ok.png", "rb");

// Send the right headers
header("Content-Type: image/png");
header("Content-Length: " . $file->getSize());

// Dump the picture and end script
$file->fpassthru();
exit;

?>

Ayrıca Bakınız

  • fpassthru() - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar


Write a field array as a CSV line

  • « SplFileObject::fpassthru
  • SplFileObject::fread »
  • PHP Manual
  • SplFileObject
  • Write a field array as a CSV line

SplFileObject::fputcsv

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SplFileObject::fputcsv — Write a field array as a CSV line

Açıklama

public SplFileObject::fputcsv(
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int|false

Writes the fields array to the file as a CSV line.

Bağımsız Değişkenler

fields

An array of values.

separator

The optional separator parameter sets the field delimiter (one single-byte character only).

enclosure

The optional enclosure parameter sets the field enclosure (one single-byte character only).

escape

The optional escape parameter sets the escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism.

eol

The optional eol parameter sets a custom End of Line sequence.

Bilginize:

If an enclosure character is contained in a field, it will be escaped by doubling it, unless it is immediately preceded by an escape.

Dönen Değerler

Returns the length of the written string başarısızlık durumunda false döner.

Returns false, and does not write the CSV line to the file, if the separator or enclosure parameter is not a single character.

Hatalar/İstisnalar

An E_WARNING level error is issued if the separator or enclosure parameter is not a single character.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The optional eol parameter has been added.
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Örnekler

Örnek 1 SplFileObject::fputcsv() example

<?php

$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);

$file = new SplFileObject('file.csv', 'w');

foreach ($list as $fields) {
$file->fputcsv($fields);
}

?>

The above example will write the following to file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Ayrıca Bakınız

  • fputcsv() - Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Read from file

  • « SplFileObject::fputcsv
  • SplFileObject::fscanf »
  • PHP Manual
  • SplFileObject
  • Read from file

SplFileObject::fread

(PHP 5 >= 5.5.11, PHP 7, PHP 8)

SplFileObject::fread — Read from file

Açıklama

public SplFileObject::fread(int $length): string|false

Reads the given number of bytes from the file.

Bağımsız Değişkenler

length

The number of bytes to read.

Dönen Değerler

Returns the string read from the file başarısızlık durumunda false döner.

Örnekler

Örnek 1 SplFileObject::fread() example

<?php
// Get contents of a file into a string
$filename = "/usr/local/something.txt";
$file = new SplFileObject($filename, "r");
$contents = $file->fread($file->getSize());
?>

Notlar

Bilginize:

Note that SplFileObject::fread() reads from the current position of the file pointer. Use SplFileObject::ftell() to find the current position of the pointer and SplFileObject::rewind() (or SplFileObject::fseek()) to rewind the pointer position.

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur


Parses input from file according to a format

  • « SplFileObject::fread
  • SplFileObject::fseek »
  • PHP Manual
  • SplFileObject
  • Parses input from file according to a format

SplFileObject::fscanf

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fscanf — Parses input from file according to a format

Açıklama

public SplFileObject::fscanf(string $format, mixed &...$vars): array|int|null

Reads a line from the file and interprets it according to the specified format.

Any whitespace in the format string matches any whitespace in the line from the file. This means that even a tab (\t) in the format string can match a single space character in the input stream.

Bağımsız Değişkenler

biçem

Girdi dizgesinin yorumlanmasında kullanılan bu dizge ile ilgili ayrıntılar aşağıdaki farklar dışında sprintf() işlevinin belgesinde açıklanmıştır:

  • İşlev yerele duyarlı değildir.
  • F, g, G and b desteklenmez.
  • D ondalık sayı anlamına gelir.
  • i taban algılamalı tamsayı anlamına gelir.
  • n şimdiye kadar işlenen karakter sayısı anlamına gelir.
  • s herhangi bir boşluk karakterinde okumayı durdurur.
  • dğşnum$ yerine * bu dönüştürme belirtiminin atamasını baskılar.

vars

The optional assigned values.

Dönen Değerler

If only one parameter is passed to this method, the values parsed will be returned as an array. Otherwise, if optional parameters are passed, the function will return the number of assigned values. The optional parameters must be passed by reference.

Örnekler

Örnek 1 SplFileObject::fscanf() example

<?php
$file = new SplFileObject("misc.txt");
while ($userinfo = $file->fscanf("%s %s %s")) {
list ($name, $profession, $countrycode) = $userinfo;
// Do something with $name $profession $countrycode
}
?>

Contents of users.txt

javier   argonaut    pe
hiroshi  sculptor    jp
robert   slacker     us
luigi    florist     it

Ayrıca Bakınız

  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür


Seek to a position

  • « SplFileObject::fscanf
  • SplFileObject::fstat »
  • PHP Manual
  • SplFileObject
  • Seek to a position

SplFileObject::fseek

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fseek — Seek to a position

Açıklama

public SplFileObject::fseek(int $offset, int $whence = SEEK_SET): int

Seek to a position in the file measured in bytes from the beginning of the file, obtained by adding offset to the position specified by whence.

Bağımsız Değişkenler

offset

The offset. A negative value can be used to move backwards through the file which is useful when SEEK_END is used as the whence value.

whence

whence values are:

  • SEEK_SET - Set position equal to offset bytes.
  • SEEK_CUR - Set position to current location plus offset.
  • SEEK_END - Set position to end-of-file plus offset.

If whence is not specified, it is assumed to be SEEK_SET.

Dönen Değerler

Returns 0 if the seek was successful, -1 otherwise. Note that seeking past EOF is not considered an error.

Örnekler

Örnek 1 SplFileObject::fseek() example

<?php
$file = new SplFileObject("somefile.txt");

// Read first line
$data = $file->fgets();

// Move back to the beginning of the file
// Same as $file->rewind();
$file->fseek(0);
?>

Ayrıca Bakınız

  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır


Gets information about the file

  • « SplFileObject::fseek
  • SplFileObject::ftell »
  • PHP Manual
  • SplFileObject
  • Gets information about the file

SplFileObject::fstat

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fstat — Gets information about the file

Açıklama

public SplFileObject::fstat(): array

Gathers the statistics of the file. Behaves identically to fstat().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the statistics of the file; the format of the array is described in detail on the stat() manual page.

Örnekler

Örnek 1 SplFileObject::fstat() example

<?php
$file = new SplFileObject("/etc/passwd");
$stat = $file->fstat();

// Print only the associative part
print_r(array_slice($stat, 13));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [dev] => 771
    [ino] => 488704
    [mode] => 33188
    [nlink] => 1
    [uid] => 0
    [gid] => 0
    [rdev] => 0
    [size] => 1114
    [atime] => 1061067181
    [mtime] => 1056136526
    [ctime] => 1056136526
    [blksize] => 4096
    [blocks] => 8
)

Ayrıca Bakınız

  • fstat() - Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür
  • stat() - Bir dosya hakkında bilgi döndürür


Return current file position

  • « SplFileObject::fstat
  • SplFileObject::ftruncate »
  • PHP Manual
  • SplFileObject
  • Return current file position

SplFileObject::ftell

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::ftell — Return current file position

Açıklama

public SplFileObject::ftell(): int|false

Returns the position of the file pointer which represents the current offset in the file stream.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the position of the file pointer as an integer, or false on error.

Örnekler

Örnek 1 SplFileObject::ftell() example

<?php
$file = new SplFileObject("/etc/passwd");

// Read first line
$data = $file->fgets();

// Where are we?
echo $file->ftell();
?>

Ayrıca Bakınız

  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner


Truncates the file to a given length

  • « SplFileObject::ftell
  • SplFileObject::fwrite »
  • PHP Manual
  • SplFileObject
  • Truncates the file to a given length

SplFileObject::ftruncate

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::ftruncate — Truncates the file to a given length

Açıklama

public SplFileObject::ftruncate(int $size): bool

Truncates the file to size bytes.

Bağımsız Değişkenler

size

The size to truncate to.

Bilginize:

If size is larger than the file it is extended with null bytes.

If size is smaller than the file, the extra data will be lost.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SplFileObject::ftruncate() example

<?php
// Create file containing "Hello World!"
$file = new SplFileObject("/tmp/ftruncate", "w+");
$file->fwrite("Hello World!");

// Truncate to 5 bytes
$file->ftruncate(5);

// Rewind and read data
$file->rewind();
echo $file->fgets();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hello

Ayrıca Bakınız

  • ftruncate() - Bir dosyayı belli bir uzunlukta budar


Write to file

  • « SplFileObject::ftruncate
  • SplFileObject::getChildren »
  • PHP Manual
  • SplFileObject
  • Write to file

SplFileObject::fwrite

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::fwrite — Write to file

Açıklama

public SplFileObject::fwrite(string $data, int $length = 0): int|false

Writes the contents of string to the file

Bağımsız Değişkenler

data

The string to be written to the file.

length

If the length argument is given, writing will stop after length bytes have been written or the end of string is reached, whichever comes first.

Dönen Değerler

Returns the number of bytes written, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | The function now returns false instead of zero on failure.

Örnekler

Örnek 1 SplFileObject::fwrite() example

<?php
$file = new SplFileObject("fwrite.txt", "w");
$written = $file->fwrite("12345");
echo "Wrote $written bytes to file";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Wrote 5 bytes to file

Ayrıca Bakınız

  • fwrite() - Dosyaya ikil kipte yazar


No purpose

  • « SplFileObject::fwrite
  • SplFileObject::getCsvControl »
  • PHP Manual
  • SplFileObject
  • No purpose

SplFileObject::getChildren

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::getChildren — No purpose

Açıklama

public SplFileObject::getChildren(): null

An SplFileObject does not have children so this method returns null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns null.

Ayrıca Bakınız

  • RecursiveIterator::getChildren() - Returns an iterator for the current entry


Get the delimiter, enclosure and escape character for CSV

  • « SplFileObject::getChildren
  • SplFileObject::getCurrentLine »
  • PHP Manual
  • SplFileObject
  • Get the delimiter, enclosure and escape character for CSV

SplFileObject::getCsvControl

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SplFileObject::getCsvControl — Get the delimiter, enclosure and escape character for CSV

Açıklama

public SplFileObject::getCsvControl(): array

Gets the delimiter, enclosure and escape character used for parsing CSV fields.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an indexed array containing the delimiter, enclosure and escape character.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | The escape character can now be an empty string.
7.0.10 | Added the escape character to the returned array.

Örnekler

Örnek 1 SplFileObject::getCsvControl() example

<?php
$file = new SplFileObject("data.txt");
print_r($file->getCsvControl());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => ,
    [1] => "
    [2] => \
)

Ayrıca Bakınız

  • SplFileObject::setCsvControl() - Set the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Takma Adı: SplFileObject::fgets

  • « SplFileObject::getCsvControl
  • SplFileObject::getFlags »
  • PHP Manual
  • SplFileObject
  • Takma Adı: SplFileObject::fgets

SplFileObject::getCurrentLine

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileObject::getCurrentLine — Takma Adı: SplFileObject::fgets()

Açıklama

Bu yöntem şu yöntemin takma adıdır: SplFileObject::fgets().


Gets flags for the SplFileObject

  • « SplFileObject::getCurrentLine
  • SplFileObject::getMaxLineLen »
  • PHP Manual
  • SplFileObject
  • Gets flags for the SplFileObject

SplFileObject::getFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::getFlags — Gets flags for the SplFileObject

Açıklama

public SplFileObject::getFlags(): int

Gets the flags set for an instance of SplFileObject as an int.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an int representing the flags.

Örnekler

Örnek 1 SplFileObject::getFlags() example

<?php
$file = new SplFileObject(__FILE__, "r");

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
echo "Skipping empty lines\n";
} else {
echo "Not skipping empty lines\n";
}

$file->setFlags(SplFileObject::SKIP_EMPTY);

if ($file->getFlags() & SplFileObject::SKIP_EMPTY) {
echo "Skipping empty lines\n";
} else {
echo "Not skipping empty lines\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Not skipping empty lines
Skipping empty lines

Ayrıca Bakınız

  • SplFileObject::setFlags() - Sets flags for the SplFileObject


Get maximum line length

  • « SplFileObject::getFlags
  • SplFileObject::hasChildren »
  • PHP Manual
  • SplFileObject
  • Get maximum line length

SplFileObject::getMaxLineLen

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::getMaxLineLen — Get maximum line length

Açıklama

public SplFileObject::getMaxLineLen(): int

Gets the maximum line length as set by SplFileObject::setMaxLineLen().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the maximum line length if one has been set with SplFileObject::setMaxLineLen(), default is 0.

Örnekler

Örnek 1 SplFileObject::getMaxLineLen() example

<?php
$file = new SplFileObject("file.txt");
var_dump($file->getMaxLineLen());

$file->setMaxLineLen(20);
var_dump($file->getMaxLineLen());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
int(20)

Ayrıca Bakınız

  • SplFileObject::setMaxLineLen() - Set maximum line length


SplFileObject does not have children

  • « SplFileObject::getMaxLineLen
  • SplFileObject::key »
  • PHP Manual
  • SplFileObject
  • SplFileObject does not have children

SplFileObject::hasChildren

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplFileObject::hasChildren — SplFileObject does not have children

Açıklama

public SplFileObject::hasChildren(): false

An SplFileObject does not have children so this method always return false.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns false

Ayrıca Bakınız

  • RecursiveIterator::hasChildren() - Returns if an iterator can be created for the current entry


Get line number

  • « SplFileObject::hasChildren
  • SplFileObject::next »
  • PHP Manual
  • SplFileObject
  • Get line number

SplFileObject::key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::key — Get line number

Açıklama

public SplFileObject::key(): int

Gets the current line number.

Bilginize:

This number may not reflect the actual line number in the file if SplFileObject::setMaxLineLen() is used to read fixed lengths of the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current line number.

Örnekler

Örnek 1 SplFileObject::key() example

<?php
$file = new SplFileObject("lipsum.txt");
foreach ($file as $line) {
echo $file->key() . ". " . $line;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
1. Duis nec sapien felis, ac sodales nisl.
2. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Örnek 2 SplFileObject::key() example with SplFileObject::setMaxLineLen()

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
echo $file->key() . ". " . $line . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0. Lorem ipsum dolor s
1. it amet, consectetu
2. r adipiscing elit.
3.

4. Duis nec sapien fel
5. is, ac sodales nisl
6. .

7. Lorem ipsum dolor s
8. it amet, consectetu
9. r adipiscing elit.

Ayrıca Bakınız

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Read next line

  • « SplFileObject::key
  • SplFileObject::rewind »
  • PHP Manual
  • SplFileObject
  • Read next line

SplFileObject::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::next — Read next line

Açıklama

public SplFileObject::next(): void

Moves ahead to the next line in the file.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplFileObject::next() example

<?php
// Read through file line by line
$file = new SplFileObject("misc.txt");
while (!$file->eof()) {
echo $file->current();
$file->next();
}
?>

Ayrıca Bakınız

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Rewind the file to the first line

  • « SplFileObject::next
  • SplFileObject::seek »
  • PHP Manual
  • SplFileObject
  • Rewind the file to the first line

SplFileObject::rewind

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::rewind — Rewind the file to the first line

Açıklama

public SplFileObject::rewind(): void

Rewinds the file back to the first line.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws a RuntimeException if cannot be rewound.

Örnekler

Örnek 1 SplFileObject::rewind() example

<?php
$file = new SplFileObject("misc.txt");

// Loop over whole file
foreach ($file as $line) { }

// Rewind to first line
$file->rewind();

// Output first line
echo $file->current();
?>

Ayrıca Bakınız

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::valid() - Not at EOF


Seek to specified line

  • « SplFileObject::rewind
  • SplFileObject::setCsvControl »
  • PHP Manual
  • SplFileObject
  • Seek to specified line

SplFileObject::seek

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::seek — Seek to specified line

Açıklama

public SplFileObject::seek(int $line): void

Seek to specified line in the file.

Bağımsız Değişkenler

line

The zero-based line number to seek to.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws a LogicException if the line is negative.

Örnekler

Örnek 1 SplFileObject::seek() example

This example outputs the third line of the script which is found at position 2.

<?php
$file = new SplFileObject(__FILE__);
$file->seek(2);
echo $file->current();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

$file->seek(2);

Ayrıca Bakınız

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line
  • SplFileObject::valid() - Not at EOF


Set the delimiter, enclosure and escape character for CSV

  • « SplFileObject::seek
  • SplFileObject::setFlags »
  • PHP Manual
  • SplFileObject
  • Set the delimiter, enclosure and escape character for CSV

SplFileObject::setCsvControl

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SplFileObject::setCsvControl — Set the delimiter, enclosure and escape character for CSV

Açıklama

public SplFileObject::setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void

Sets the delimiter, enclosure and escape character for parsing CSV fields.

Bağımsız Değişkenler

separator

The field delimiter (one single-byte character only).

enclosure

The field enclosure character (one single-byte character only).

escape

The field escape character (at most one single-byte character). An empty string ("") disables the proprietary escape mechanism.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | The escape parameter now also accepts an empty string to disable the proprietary escape mechanism.

Örnekler

Örnek 1 SplFileObject::setCsvControl() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
$file->setCsvControl('|');
foreach ($file as $row) {
list ($fruit, $quantity) = $row;
// Do something with values
}
?>

Contents of data.csv

<?php
apples|20
bananas|14
cherries|87
?>

Ayrıca Bakınız

  • SplFileObject::getCsvControl() - Get the delimiter, enclosure and escape character for CSV
  • SplFileObject::fgetcsv() - Gets line from file and parse as CSV fields


Sets flags for the SplFileObject

  • « SplFileObject::setCsvControl
  • SplFileObject::setMaxLineLen »
  • PHP Manual
  • SplFileObject
  • Sets flags for the SplFileObject

SplFileObject::setFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::setFlags — Sets flags for the SplFileObject

Açıklama

public SplFileObject::setFlags(int $flags): void

Sets the flags to be used by the SplFileObject.

Bağımsız Değişkenler

flags

Bit mask of the flags to set. See SplFileObject constants for the available flags.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SplFileObject::setFlags() example

<?php
$file = new SplFileObject("data.csv");
$file->setFlags(SplFileObject::READ_CSV);
foreach ($file as $fields) {
var_dump($fields);
}
?>

Ayrıca Bakınız

  • SplFileObject::getFlags() - Gets flags for the SplFileObject


Set maximum line length

  • « SplFileObject::setFlags
  • SplFileObject::__toString »
  • PHP Manual
  • SplFileObject
  • Set maximum line length

SplFileObject::setMaxLineLen

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::setMaxLineLen — Set maximum line length

Açıklama

public SplFileObject::setMaxLineLen(int $maxLength): void

Sets the maximum length of a line to be read.

Bağımsız Değişkenler

maxLength

The maximum length of a line.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws DomainException when maxLength is less than zero.

Örnekler

Örnek 1 SplFileObject::setMaxLineLen() example

<?php
$file = new SplFileObject("lipsum.txt");
$file->setMaxLineLen(20);
foreach ($file as $line) {
echo $line . "\n";
}
?>

Contents of lipsum.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Duis nec sapien felis, ac sodales nisl.
Nulla vitae magna vitae purus aliquet consequat.

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Lorem ipsum dolor s
it amet, consectetu
r adipiscing elit.

Duis nec sapien fel
is, ac sodales nisl
.

Nulla vitae magna v
itae purus aliquet
consequat.

Ayrıca Bakınız

  • SplFileObject::getMaxLineLen() - Get maximum line length


Returns the current line as a string

  • « SplFileObject::setMaxLineLen
  • SplFileObject::valid »
  • PHP Manual
  • SplFileObject
  • Returns the current line as a string

SplFileObject::__toString

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::__toString — Returns the current line as a string

Açıklama

public SplFileObject::__toString(): string

This method will return the current line as a string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current line as a string.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.14, 8.2.1 | Changed from an alias of SplFileObject::fgets() to an implementation of SplFileObject::current() which returns a CSV string when the SplFileObject::READ_CSV flag is set.
7.2.19, 7.3.6 | Changed from an alias of SplFileObject::current() to an alias of SplFileObject::fgets().


Not at EOF

  • « SplFileObject::__toString
  • SplTempFileObject »
  • PHP Manual
  • SplFileObject
  • Not at EOF

SplFileObject::valid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplFileObject::valid — Not at EOF

Açıklama

public SplFileObject::valid(): bool

Check whether EOF has been reached.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if not reached EOF, false otherwise.

Örnekler

Örnek 1 SplFileObject::valid() example

<?php
// Loop over a file, line by line
$file = new SplFileObject("file.txt");
while ($file->valid()) {
echo $file->fgets();
}
?>

Ayrıca Bakınız

  • SplFileObject::current() - Retrieve current line of file
  • SplFileObject::key() - Get line number
  • SplFileObject::seek() - Seek to specified line
  • SplFileObject::next() - Read next line
  • SplFileObject::rewind() - Rewind the file to the first line


The SplTempFileObject class

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

Giriş

The SplTempFileObject class offers an object-oriented interface for a temporary file.

Sınıf Sözdizimi

class SplTempFileObject extends SplFileObject {
/* Miras alınan sabitler */
public const int SplFileObject::DROP_NEW_LINE;
public const int SplFileObject::READ_AHEAD;
public const int SplFileObject::SKIP_EMPTY;
public const int SplFileObject::READ_CSV;
/* Yöntemler */
public __construct(int $maxMemory = 2 * 1024 * 1024)
/* Miras alınan yöntemler */
public SplFileObject::current(): string|array|false
public SplFileObject::eof(): bool
public SplFileObject::fflush(): bool
public SplFileObject::fgetc(): string|false
public SplFileObject::fgetcsv(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): array|false
public SplFileObject::fgets(): string
public SplFileObject::fgetss(string $allowable_tags = ?): string
public SplFileObject::flock(int $operation, int &$wouldBlock = null): bool
public SplFileObject::fpassthru(): int
public SplFileObject::fputcsv(
array $fields,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\\",
string $eol = "\n"
): int|false
public SplFileObject::fread(int $length): string|false
public SplFileObject::fscanf(string $format, mixed &...$vars): array|int|null
public SplFileObject::fseek(int $offset, int $whence = SEEK_SET): int
public SplFileObject::fstat(): array
public SplFileObject::ftell(): int|false
public SplFileObject::ftruncate(int $size): bool
public SplFileObject::fwrite(string $data, int $length = 0): int|false
public SplFileObject::getChildren(): null
public SplFileObject::getCsvControl(): array
public SplFileObject::getFlags(): int
public SplFileObject::getMaxLineLen(): int
public SplFileObject::hasChildren(): false
public SplFileObject::key(): int
public SplFileObject::next(): void
public SplFileObject::rewind(): void
public SplFileObject::seek(int $line): void
public SplFileObject::setCsvControl(string $separator = ",", string $enclosure = "\"", string $escape = "\\"): void
public SplFileObject::setFlags(int $flags): void
public SplFileObject::setMaxLineLen(int $maxLength): void
public SplFileObject::__toString(): string
public SplFileObject::valid(): bool
public SplFileInfo::getATime(): int|false
public SplFileInfo::getBasename(string $suffix = ""): string
public SplFileInfo::getCTime(): int|false
public SplFileInfo::getExtension(): string
public SplFileInfo::getFileInfo(?string $class = null): SplFileInfo
public SplFileInfo::getFilename(): string
public SplFileInfo::getGroup(): int|false
public SplFileInfo::getInode(): int|false
public SplFileInfo::getLinkTarget(): string|false
public SplFileInfo::getMTime(): int|false
public SplFileInfo::getOwner(): int|false
public SplFileInfo::getPath(): string
public SplFileInfo::getPathInfo(?string $class = null): ?SplFileInfo
public SplFileInfo::getPathname(): string
public SplFileInfo::getPerms(): int|false
public SplFileInfo::getRealPath(): string|false
public SplFileInfo::getSize(): int|false
public SplFileInfo::getType(): string|false
public SplFileInfo::isDir(): bool
public SplFileInfo::isExecutable(): bool
public SplFileInfo::isFile(): bool
public SplFileInfo::isLink(): bool
public SplFileInfo::isReadable(): bool
public SplFileInfo::isWritable(): bool
public SplFileInfo::openFile(string $mode = "r", bool $useIncludePath = false, ?resource $context = null): SplFileObject
public SplFileInfo::setFileClass(string $class = SplFileObject::class): void
public SplFileInfo::setInfoClass(string $class = SplFileInfo::class): void
public SplFileInfo::__toString(): string
}

İçindekiler

  • SplTempFileObject::__construct — Construct a new temporary file object


Construct a new temporary file object

  • « SplTempFileObject
  • Çeşitli Sınıflar ve Arayüzler »
  • PHP Manual
  • SplTempFileObject
  • Construct a new temporary file object

SplTempFileObject::__construct

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SplTempFileObject::__construct — Construct a new temporary file object

Açıklama

public SplTempFileObject::__construct(int $maxMemory = 2 * 1024 * 1024)

Construct a new temporary file object.

Bağımsız Değişkenler

maxMemory

The maximum amount of memory (in bytes, default is 2 MB) for the temporary file to use. If the temporary file exceeds this size, it will be moved to a file in the system's temp directory.

If maxMemory is negative, only memory will be used. If maxMemory is zero, no memory will be used.

Hatalar/İstisnalar

Throws a RuntimeException if an error occurs.

Örnekler

Örnek 1 SplTempFileObject() example

This example writes a temporary file in memory which can be written to and read from.

<?php
$temp = new SplTempFileObject();
$temp->fwrite("This is the first line\n");
$temp->fwrite("And this is the second.\n");
echo "Written " . $temp->ftell() . " bytes to temporary file.\n\n";

// Rewind and read what was written
$temp->rewind();
foreach ($temp as $line) {
echo $line;
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Written 47 bytes to temporary file.

This is the first line
And this is the second.

Ayrıca Bakınız

  • SplFileObject
  • PHP input/output streams (for php://temp and php://memory)


Çeşitli Sınıflar ve Arayüzler

İçindekiler

  • ArrayObject
  • SplObserver
  • SplSubject

SPL sınıflandırmasına uymayan sınıflar ve arayüzler.


The ArrayObject class

(PHP 5, PHP 7, PHP 8)

Giriş

This class allows objects to work as arrays.

Sınıf Sözdizimi

class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable {
/* Sabitler */
const int STD_PROP_LIST;
const int ARRAY_AS_PROPS;
/* Yöntemler */
public __construct(array|object $array = [], int $flags = 0, string $iteratorClass = ArrayIterator::class)
public append(mixed $value): void
public asort(int $flags = SORT_REGULAR): true
public count(): int
public exchangeArray(array|object $array): array
public getArrayCopy(): array
public getFlags(): int
public getIterator(): Iterator
public getIteratorClass(): string
public ksort(int $flags = SORT_REGULAR): true
public natcasesort(): true
public natsort(): true
public offsetExists(mixed $key): bool
public offsetGet(mixed $key): mixed
public offsetSet(mixed $key, mixed $value): void
public offsetUnset(mixed $key): void
public serialize(): string
public setFlags(int $flags): void
public setIteratorClass(string $iteratorClass): void
public uasort(callable $callback): true
public uksort(callable $callback): true
public unserialize(string $data): void
}

Öntanımlı Sabitler

ArrayObject Flags

ArrayObject::STD_PROP_LIST

Properties of the object have their normal functionality when accessed as list (var_dump, foreach, etc.).

ArrayObject::ARRAY_AS_PROPS

Entries can be accessed as properties (read and write). The ArrayObject class uses its own logic to access properties, thus no warning or error is raised when trying to read or write dynamic properties.

İçindekiler

  • ArrayObject::append — Appends the value
  • ArrayObject::asort — Sort the entries by value
  • ArrayObject::__construct — Construct a new array object
  • ArrayObject::count — Get the number of public properties in the ArrayObject
  • ArrayObject::exchangeArray — Exchange the array for another one
  • ArrayObject::getArrayCopy — Creates a copy of the ArrayObject
  • ArrayObject::getFlags — Gets the behavior flags
  • ArrayObject::getIterator — Create a new iterator from an ArrayObject instance
  • ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject
  • ArrayObject::ksort — Sort the entries by key
  • ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::natsort — Sort entries using a "natural order" algorithm
  • ArrayObject::offsetExists — Returns whether the requested index exists
  • ArrayObject::offsetGet — Returns the value at the specified index
  • ArrayObject::offsetSet — Sets the value at the specified index to newval
  • ArrayObject::offsetUnset — Unsets the value at the specified index
  • ArrayObject::serialize — Serialize an ArrayObject
  • ArrayObject::setFlags — Sets the behavior flags
  • ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject
  • ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function
  • ArrayObject::unserialize — Unserialize an ArrayObject


Appends the value

  • « ArrayObject
  • ArrayObject::asort »
  • PHP Manual
  • ArrayObject
  • Appends the value

ArrayObject::append

(PHP 5, PHP 7, PHP 8)

ArrayObject::append — Appends the value

Açıklama

public ArrayObject::append(mixed $value): void

Appends a new value as the last element.

Bilginize:

This method cannot be called when the ArrayObject was constructed from an object. Use ArrayObject::offsetSet() instead.

Bağımsız Değişkenler

value

The value being appended.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayObject::append() example

<?php
$arrayobj = new ArrayObject(array('first','second','third'));
$arrayobj->append('fourth');
$arrayobj->append(array('five', 'six'));
var_dump($arrayobj);
?>

Yukarıdaki örneğin çıktısı:

object(ArrayObject)#1 (5) {
  [0]=>
  string(5) "first"
  [1]=>
  string(6) "second"
  [2]=>
  string(5) "third"
  [3]=>
  string(6) "fourth"
  [4]=>
  array(2) {
    [0]=>
    string(4) "five"
    [1]=>
    string(3) "six"
  }
}

Ayrıca Bakınız

  • ArrayObject::offsetSet() - Sets the value at the specified index to newval


Sort the entries by value

  • « ArrayObject::append
  • ArrayObject::__construct »
  • PHP Manual
  • ArrayObject
  • Sort the entries by value

ArrayObject::asort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::asort — Sort the entries by value

Açıklama

public ArrayObject::asort(int $flags = SORT_REGULAR): true

Sorts the entries in ascending order, such that its keys maintain their correlation with the values they are associated with.

This is used mainly when sorting associative arrays where the actual element order is significant.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::asort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->asort();

foreach ($fruitArrayObject as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

c = apple
b = banana
d = lemon
a = orange

The fruits have been sorted in alphabetical order, and the key associated with each entry has been maintained.

Ayrıca Bakınız

  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
  • asort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar


Construct a new array object

  • « ArrayObject::asort
  • ArrayObject::count »
  • PHP Manual
  • ArrayObject
  • Construct a new array object

ArrayObject::__construct

(PHP 5, PHP 7, PHP 8)

ArrayObject::__construct — Construct a new array object

Açıklama

public ArrayObject::__construct(array|object $array = [], int $flags = 0, string $iteratorClass = ArrayIterator::class)

This constructs a new array object.

Bağımsız Değişkenler

array

The array parameter accepts an array or an Object.

flags

Flags to control the behaviour of the ArrayObject object. See ArrayObject::setFlags().

iteratorClass

Specify the class that will be used for iteration of the ArrayObject object. The class must implement ArrayIterator.

Örnekler

Örnek 1 ArrayObject::__construct() example

<?php
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);
?>

Yukarıdaki örneğin çıktısı:

object(ArrayObject)#1 (3) {
  [1]=>
  string(3) "one"
  [2]=>
  string(3) "two"
  [3]=>
  string(5) "three"
}

Ayrıca Bakınız

  • ArrayObject::setflags() - Sets the behavior flags


Get the number of public properties in the ArrayObject

  • « ArrayObject::__construct
  • ArrayObject::exchangeArray »
  • PHP Manual
  • ArrayObject
  • Get the number of public properties in the ArrayObject

ArrayObject::count

(PHP 5, PHP 7, PHP 8)

ArrayObject::count — Get the number of public properties in the ArrayObject

Açıklama

public ArrayObject::count(): int

Get the number of public properties in the ArrayObject.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of public properties in the ArrayObject.

Bilginize:

When the ArrayObject is constructed from an array all properties are public.

Örnekler

Örnek 1 ArrayObject::count() example

<?php
class Example {
public $public = 'prop:public';
private $prv = 'prop:private';
protected $prt = 'prop:protected';
}

$arrayobj = new ArrayObject(new Example());
var_dump($arrayobj->count());

$arrayobj = new ArrayObject(array('first','second','third'));
var_dump($arrayobj->count());
?>

Yukarıdaki örneğin çıktısı:

int(1)
int(3)


Exchange the array for another one

  • « ArrayObject::count
  • ArrayObject::getArrayCopy »
  • PHP Manual
  • ArrayObject
  • Exchange the array for another one

ArrayObject::exchangeArray

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::exchangeArray — Exchange the array for another one

Açıklama

public ArrayObject::exchangeArray(array|object $array): array

Exchange the current array with another array or object.

Bağımsız Değişkenler

array

The new array or object to exchange with the current array.

Dönen Değerler

Returns the old array.

Örnekler

Örnek 1 ArrayObject::exchangeArray() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);
// Array of locations in Europe
$locations = array('Amsterdam', 'Paris', 'London');

$fruitsArrayObject = new ArrayObject($fruits);

// Now exchange fruits for locations
$old = $fruitsArrayObject->exchangeArray($locations);
print_r($old);
print_r($fruitsArrayObject);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)
ArrayObject Object
(
    [0] => Amsterdam
    [1] => Paris
    [2] => London
)


Creates a copy of the ArrayObject

  • « ArrayObject::exchangeArray
  • ArrayObject::getFlags »
  • PHP Manual
  • ArrayObject
  • Creates a copy of the ArrayObject

ArrayObject::getArrayCopy

(PHP 5, PHP 7, PHP 8)

ArrayObject::getArrayCopy — Creates a copy of the ArrayObject

Açıklama

public ArrayObject::getArrayCopy(): array

Exports the ArrayObject to an array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a copy of the array. When the ArrayObject refers to an object, an array of the properties of that object will be returned.

Örnekler

Örnek 1 ArrayObject::getArrayCopy() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['pears'] = 4;

// create a copy of the array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
    [pears] => 4
)


Gets the behavior flags

  • « ArrayObject::getArrayCopy
  • ArrayObject::getIterator »
  • PHP Manual
  • ArrayObject
  • Gets the behavior flags

ArrayObject::getFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::getFlags — Gets the behavior flags

Açıklama

public ArrayObject::getFlags(): int

Gets the behavior flags of the ArrayObject. See the ArrayObject::setFlags method for a list of the available flags.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the behavior flags of the ArrayObject.

Örnekler

Örnek 1 ArrayObject::getFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);

// Set new flags
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);

// Get the new flags
$flags = $fruitsArrayObject->getFlags();
var_dump($flags);
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(2)

Ayrıca Bakınız

  • ArrayObject::setFlags() - Sets the behavior flags


Create a new iterator from an ArrayObject instance

  • « ArrayObject::getFlags
  • ArrayObject::getIteratorClass »
  • PHP Manual
  • ArrayObject
  • Create a new iterator from an ArrayObject instance

ArrayObject::getIterator

(PHP 5, PHP 7, PHP 8)

ArrayObject::getIterator — Create a new iterator from an ArrayObject instance

Açıklama

public ArrayObject::getIterator(): Iterator

Create a new iterator from an ArrayObject instance.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An iterator from an ArrayObject.

Örnekler

Örnek 1 ArrayObject::getIterator() example

<?php
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');

$arrayobject = new ArrayObject($array);

$iterator = $arrayobject->getIterator();

while($iterator->valid()) {
echo $iterator->key() . ' => ' . $iterator->current() . "\n";

$iterator->next();
}
?>

Yukarıdaki örneğin çıktısı:

1 => one
2 => two
3 => three


Gets the iterator classname for the ArrayObject

  • « ArrayObject::getIterator
  • ArrayObject::ksort »
  • PHP Manual
  • ArrayObject
  • Gets the iterator classname for the ArrayObject

ArrayObject::getIteratorClass

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::getIteratorClass — Gets the iterator classname for the ArrayObject

Açıklama

public ArrayObject::getIteratorClass(): string

Gets the class name of the array iterator that is used by ArrayObject::getIterator().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the iterator class name that is used to iterate over this object.

Örnekler

Örnek 1 ArrayObject::getIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
// custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Get the current class name
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);

// Set new classname
$fruitsArrayObject->setIteratorClass('MyArrayIterator');

// Get the new iterator classname
$className = $fruitsArrayObject->getIteratorClass();
var_dump($className);
?>

Yukarıdaki örneğin çıktısı:

string(13) "ArrayIterator"
string(15) "MyArrayIterator"

Ayrıca Bakınız

  • The ArrayObject::setIteratorClass method


Sort the entries by key

  • « ArrayObject::getIteratorClass
  • ArrayObject::natcasesort »
  • PHP Manual
  • ArrayObject
  • Sort the entries by key

ArrayObject::ksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::ksort — Sort the entries by key

Açıklama

public ArrayObject::ksort(int $flags = SORT_REGULAR): true

Sorts the entries by key, maintaining key to entry correlations. This is useful mainly for associative arrays.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::ksort() example

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
$fruitArrayObject = new ArrayObject($fruits);
$fruitArrayObject->ksort();

foreach ($fruitArrayObject as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

a = orange
b = banana
c = apple
d = lemon

Ayrıca Bakınız

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
  • ksort() - Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar


Sort an array using a case insensitive "natural order" algorithm

  • « ArrayObject::ksort
  • ArrayObject::natsort »
  • PHP Manual
  • ArrayObject
  • Sort an array using a case insensitive "natural order" algorithm

ArrayObject::natcasesort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::natcasesort — Sort an array using a case insensitive "natural order" algorithm

Açıklama

public ArrayObject::natcasesort(): true

This method is a case insensitive version of ArrayObject::natsort.

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering".

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::natcasesort() example

<?php
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natcasesort();
echo "\nNatural order sorting (case-insensitive)\n";
print_r($arr2);
?>

Yukarıdaki örneğin çıktısı:

Standard sorting
ArrayObject Object
(
    [0] => IMG0.png
    [5] => IMG3.png
    [4] => img1.png
    [2] => img10.png
    [1] => img12.png
    [3] => img2.png
)

Natural order sorting (case-insensitive)
ArrayObject Object
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Ayrıca Bakınız

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
  • natcasesort() - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar


Sort entries using a "natural order" algorithm

  • « ArrayObject::natcasesort
  • ArrayObject::offsetExists »
  • PHP Manual
  • ArrayObject
  • Sort entries using a "natural order" algorithm

ArrayObject::natsort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::natsort — Sort entries using a "natural order" algorithm

Açıklama

public ArrayObject::natsort(): true

This method implements a sort algorithm that orders alphanumeric strings in the way a human being would while maintaining key/value associations. This is described as a "natural ordering". An example of the difference between this algorithm and the regular computer string sorting algorithms (used in ArrayObject::asort) method can be seen in the example below.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::natsort() example

<?php
$array = array("img12.png", "img10.png", "img2.png", "img1.png");

$arr1 = new ArrayObject($array);
$arr2 = clone $arr1;

$arr1->asort();
echo "Standard sorting\n";
print_r($arr1);

$arr2->natsort();
echo "\nNatural order sorting\n";
print_r($arr2);
?>

Yukarıdaki örneğin çıktısı:

Standard sorting
ArrayObject Object
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Natural order sorting
ArrayObject Object
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

For more information see: Martin Pool's » Natural Order String Comparison page.

Ayrıca Bakınız

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
  • natsort() - Bir diziyi "doğal sıralama" algoritmasıyla sıralar


Returns whether the requested index exists

  • « ArrayObject::natsort
  • ArrayObject::offsetGet »
  • PHP Manual
  • ArrayObject
  • Returns whether the requested index exists

ArrayObject::offsetExists

(PHP 5, PHP 7, PHP 8)

ArrayObject::offsetExists — Returns whether the requested index exists

Açıklama

public ArrayObject::offsetExists(mixed $key): bool

Bağımsız Değişkenler

key

The index being checked.

Dönen Değerler

true if the requested index exists, otherwise false

Örnekler

Örnek 1 ArrayObject::offsetExists() example

<?php
$arrayobj = new ArrayObject(array('zero', 'one', 'example'=>'e.g.'));
var_dump($arrayobj->offsetExists(1));
var_dump($arrayobj->offsetExists('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(false)


Returns the value at the specified index

  • « ArrayObject::offsetExists
  • ArrayObject::offsetSet »
  • PHP Manual
  • ArrayObject
  • Returns the value at the specified index

ArrayObject::offsetGet

(PHP 5, PHP 7, PHP 8)

ArrayObject::offsetGet — Returns the value at the specified index

Açıklama

public ArrayObject::offsetGet(mixed $key): mixed

Bağımsız Değişkenler

key

The index with the value.

Dönen Değerler

The value at the specified index or null.

Hatalar/İstisnalar

Produces an E_NOTICE error message when the specified index does not exist.

Örnekler

Örnek 1 ArrayObject::offsetGet() example

<?php
$arrayobj = new ArrayObject(array('zero', 7, 'example'=>'e.g.'));
var_dump($arrayobj->offsetGet(1));
var_dump($arrayobj->offsetGet('example'));
var_dump($arrayobj->offsetExists('notfound'));
?>

Yukarıdaki örneğin çıktısı:

int(7)
string(4) "e.g."
bool(false)


Sets the value at the specified index to newval

  • « ArrayObject::offsetGet
  • ArrayObject::offsetUnset »
  • PHP Manual
  • ArrayObject
  • Sets the value at the specified index to newval

ArrayObject::offsetSet

(PHP 5, PHP 7, PHP 8)

ArrayObject::offsetSet — Sets the value at the specified index to newval

Açıklama

public ArrayObject::offsetSet(mixed $key, mixed $value): void

Sets the value at the specified index to newval.

Bağımsız Değişkenler

key

The index being set.

value

The new value for the key.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayObject::offsetSet() example

<?php
class Example {
public $property = 'prop:public';
}
$arrayobj = new ArrayObject(new Example());
$arrayobj->offsetSet(4, 'four');
$arrayobj->offsetSet('group', array('g1', 'g2'));
var_dump($arrayobj);

$arrayobj = new ArrayObject(array('zero','one'));
$arrayobj->offsetSet(null, 'last');
var_dump($arrayobj);
?>

Yukarıdaki örneğin çıktısı:

object(ArrayObject)#1 (3) {
  ["property"]=>
  string(11) "prop:public"
  [4]=>
  string(4) "four"
  ["group"]=>
  array(2) {
    [0]=>
    string(2) "g1"
    [1]=>
    string(2) "g2"
  }
}
object(ArrayObject)#3 (3) {
  [0]=>
  string(4) "zero"
  [1]=>
  string(3) "one"
  [2]=>
  string(4) "last"
}

Ayrıca Bakınız

  • ArrayObject::append() - Appends the value


Unsets the value at the specified index

  • « ArrayObject::offsetSet
  • ArrayObject::serialize »
  • PHP Manual
  • ArrayObject
  • Unsets the value at the specified index

ArrayObject::offsetUnset

(PHP 5, PHP 7, PHP 8)

ArrayObject::offsetUnset — Unsets the value at the specified index

Açıklama

public ArrayObject::offsetUnset(mixed $key): void

Unsets the value at the specified index.

Bağımsız Değişkenler

key

The index being unset.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayObject::offsetUnset() example

<?php
$arrayobj = new ArrayObject(array(0=>'zero',2=>'two'));
$arrayobj->offsetUnset(2);
var_dump($arrayobj);
?>

Yukarıdaki örneğin çıktısı:

object(ArrayObject)#1 (1) {
  [0]=>
  string(4) "zero"
}


Serialize an ArrayObject

  • « ArrayObject::offsetUnset
  • ArrayObject::setFlags »
  • PHP Manual
  • ArrayObject
  • Serialize an ArrayObject

ArrayObject::serialize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ArrayObject::serialize — Serialize an ArrayObject

Açıklama

public ArrayObject::serialize(): string

Serializes an ArrayObject.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The serialized representation of the ArrayObject.

Örnekler

Örnek 1 ArrayObject::serialize() example

<?php
$o = new ArrayObject();

$s1 = serialize($o);
$s2 = $o->serialize();

var_dump($s1);
var_dump($s2);
?>

Yukarıdaki örneğin çıktısı:

string(45) "C:11:"ArrayObject":21:{x:i:0;a:0:{};m:a:0:{}}"
string(21) "x:i:0;a:0:{};m:a:0:{}"

Ayrıca Bakınız

  • ArrayObject::unserialize() - Unserialize an ArrayObject
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Serializing Objects


Sets the behavior flags

  • « ArrayObject::serialize
  • ArrayObject::setIteratorClass »
  • PHP Manual
  • ArrayObject
  • Sets the behavior flags

ArrayObject::setFlags

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::setFlags — Sets the behavior flags

Açıklama

public ArrayObject::setFlags(int $flags): void

Set the flags that change the behavior of the ArrayObject.

Bağımsız Değişkenler

flags

The new ArrayObject behavior. It takes on either a bitmask, or named constants. Using named constants is strongly encouraged to ensure compatibility for future versions.

The available behavior flags are listed below. The actual meanings of these flags are described in the predefined constants.

ArrayObject behavior flags
value | constant
1 | ArrayObject::STD_PROP_LIST
2 | ArrayObject::ARRAY_AS_PROPS

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayObject::setFlags() example

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Try to use array key as property
var_dump($fruitsArrayObject->lemons);
// Set the flag so that the array keys can be used as properties of the ArrayObject
$fruitsArrayObject->setFlags(ArrayObject::ARRAY_AS_PROPS);
// Try it again
var_dump($fruitsArrayObject->lemons);
?>

Yukarıdaki örneğin çıktısı:

NULL
int(1)


Sets the iterator classname for the ArrayObject

  • « ArrayObject::setFlags
  • ArrayObject::uasort »
  • PHP Manual
  • ArrayObject
  • Sets the iterator classname for the ArrayObject

ArrayObject::setIteratorClass

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ArrayObject::setIteratorClass — Sets the iterator classname for the ArrayObject

Açıklama

public ArrayObject::setIteratorClass(string $iteratorClass): void

Sets the classname of the array iterator that is used by ArrayObject::getIterator().

Bağımsız Değişkenler

iteratorClass

The classname of the array iterator to use when iterating over this object.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 ArrayObject::setIteratorClass() example

<?php
// Custom ArrayIterator (inherits from ArrayIterator)
class MyArrayIterator extends ArrayIterator {
// custom implementation
}

// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);

// Set the iterator classname to the newly
$fruitsArrayObject->setIteratorClass('MyArrayIterator');
print_r($fruitsArrayObject->getIterator());

?>

Yukarıdaki örneğin çıktısı:

MyArrayIterator Object
(
    [lemons] => 1
    [oranges] => 4
    [bananas] => 5
    [apples] => 10
)


Sort the entries with a user-defined comparison function and maintain key association

  • « ArrayObject::setIteratorClass
  • ArrayObject::uksort »
  • PHP Manual
  • ArrayObject
  • Sort the entries with a user-defined comparison function and maintain key association

ArrayObject::uasort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::uasort — Sort the entries with a user-defined comparison function and maintain key association

Açıklama

public ArrayObject::uasort(callable $callback): true

This function sorts the entries such that keys maintain their correlation with the entry that they are associated with, using a user-defined comparison function.

This is used mainly when sorting associative arrays where the actual element order is significant.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

callback

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::uasort() example

<?php
// Comparison function
function cmp($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

// Array to be sorted
$array = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
$arrayObject = new ArrayObject($array);
print_r($arrayObject);

// Sort and print the resulting array
$arrayObject->uasort('cmp');
print_r($arrayObject);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Ayrıca Bakınız

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uksort() - Sort the entries by keys using a user-defined comparison function
  • uasort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur


Sort the entries by keys using a user-defined comparison function

  • « ArrayObject::uasort
  • ArrayObject::unserialize »
  • PHP Manual
  • ArrayObject
  • Sort the entries by keys using a user-defined comparison function

ArrayObject::uksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::uksort — Sort the entries by keys using a user-defined comparison function

Açıklama

public ArrayObject::uksort(callable $callback): true

This function sorts the keys of the entries using a user-supplied comparison function. The key to entry correlations will be maintained.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bağımsız Değişkenler

callback

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 ArrayObject::uksort() example

<?php
function cmp($a, $b) {
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}

$array = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);
$arrayObject = new ArrayObject($array);
$arrayObject->uksort('cmp');

foreach ($arrayObject as $key => $value) {
echo "$key: $value\n";
}
?>

Yukarıdaki örneğin çıktısı:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Ayrıca Bakınız

  • ArrayObject::asort() - Sort the entries by value
  • ArrayObject::ksort() - Sort the entries by key
  • ArrayObject::natsort() - Sort entries using a "natural order" algorithm
  • ArrayObject::natcasesort() - Sort an array using a case insensitive "natural order" algorithm
  • ArrayObject::uasort() - Sort the entries with a user-defined comparison function and maintain key association
  • uksort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar


Unserialize an ArrayObject

  • « ArrayObject::uksort
  • SplObserver »
  • PHP Manual
  • ArrayObject
  • Unserialize an ArrayObject

ArrayObject::unserialize

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ArrayObject::unserialize — Unserialize an ArrayObject

Açıklama

public ArrayObject::unserialize(string $data): void

Unserializes a serialized ArrayObject.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

The serialized ArrayObject.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ArrayIterator::serialize() - Serialize
  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • Serializing Objects


The SplObserver interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The SplObserver interface is used alongside SplSubject to implement the Observer Design Pattern.

Arayüz Sözdizimi

interface SplObserver {
/* Yöntemler */
public update(SplSubject $subject): void
}

İçindekiler

  • SplObserver::update — Receive update from subject


Receive update from subject

  • « SplObserver
  • SplSubject »
  • PHP Manual
  • SplObserver
  • Receive update from subject

SplObserver::update

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplObserver::update — Receive update from subject

Açıklama

public SplObserver::update(SplSubject $subject): void

This method is called when any SplSubject to which the observer is attached calls SplSubject::notify().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

subject

The SplSubject notifying the observer of an update.

Dönen Değerler

Hiçbir değer dönmez.


The SplSubject interface

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

The SplSubject interface is used alongside SplObserver to implement the Observer Design Pattern.

Arayüz Sözdizimi

interface SplSubject {
/* Yöntemler */
public attach(SplObserver $observer): void
public detach(SplObserver $observer): void
public notify(): void
}

İçindekiler

  • SplSubject::attach — Attach an SplObserver
  • SplSubject::detach — Detach an observer
  • SplSubject::notify — Notify an observer


Attach an SplObserver

  • « SplSubject
  • SplSubject::detach »
  • PHP Manual
  • SplSubject
  • Attach an SplObserver

SplSubject::attach

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplSubject::attach — Attach an SplObserver

Açıklama

public SplSubject::attach(SplObserver $observer): void

Attaches an SplObserver so that it can be notified of updates.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

observer

The SplObserver to attach.

Dönen Değerler

Hiçbir değer dönmez.


Detach an observer

  • « SplSubject::attach
  • SplSubject::notify »
  • PHP Manual
  • SplSubject
  • Detach an observer

SplSubject::detach

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplSubject::detach — Detach an observer

Açıklama

public SplSubject::detach(SplObserver $observer): void

Detaches an observer from the subject to no longer notify it of updates.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

observer

The SplObserver to detach.

Dönen Değerler

Hiçbir değer dönmez.


Notify an observer

  • « SplSubject::detach
  • Stream »
  • PHP Manual
  • SplSubject
  • Notify an observer

SplSubject::notify

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SplSubject::notify — Notify an observer

Açıklama

public SplSubject::notify(): void

Notifies all attached observers.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Akımlar

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Akım Sınıfları
  • Öntanımlı Sabitler
  • Akım Süzgeçleri
  • Akım Bağlamları
  • Akım Hataları
  • Örnekler
    • Akım Sarmalayıcı olarak örnek bir sınıf tanımı
  • php_user_filter — php_user_filter sınıfı
    • php_user_filter::filter — Süzgeç uygulanırken çağrılır
    • php_user_filter::onClose — Süzgeç kapanışında çağrılır
    • php_user_filter::onCreate — Süzgeç oluşturulurken çağrılır
  • streamWrapper — streamWrapper sınıfı
    • streamWrapper::__construct — Yeni bir akım sarmalayıcı oluşturur
    • streamWrapper::__destruct — Mevcut bir akım sarmalayıcısını yok eder
    • streamWrapper::dir_closedir — Dizin tanıtıcısını kapatır
    • streamWrapper::dir_opendir — Dizin tanıtıcısı açar
    • streamWrapper::dir_readdir — Dizinden bir girdi okur
    • streamWrapper::dir_rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar
    • streamWrapper::mkdir — Bir dizin oluşturur
    • streamWrapper::rename — Bir dosya veya dizinin ismini değiştirir
    • streamWrapper::rmdir — Bir dizini siler
    • streamWrapper::stream_cast — Temel özkaynağı döndürür
    • streamWrapper::stream_close — Bir özkaynağı kapatır
    • streamWrapper::stream_eof — Dosya göstericisinin dosya sonunda olup olmadığına bakar
    • streamWrapper::stream_flush — Çıktıyı boşaltır
    • streamWrapper::stream_lock — Tavsiye niteliğinde dosya kilitleme
    • streamWrapper::stream_metadata — Akım meta verilerini değiştir
    • streamWrapper::stream_open — Bir dosya veya URL açar
    • streamWrapper::stream_read — Akımdan veri okur
    • streamWrapper::stream_seek — Akım üzerinde belli bir konuma gidilir
    • streamWrapper::stream_set_option — Akım seçeneklerini değiştirir
    • streamWrapper::stream_stat — Bir dosya özkaynağı hakkında bilgi döndürür
    • streamWrapper::stream_tell — Bir akımdan geçerli konumu döndürür
    • streamWrapper::stream_truncate — Akımı sondan kırpar
    • streamWrapper::stream_write — Akıma yazar
    • streamWrapper::unlink — Bir dosyayı siler
    • streamWrapper::url_stat — Bir dosya hakkında bilgi döndürür
  • Akım İşlevleri
    • stream_bucket_append — Zincirin sonuna bir bakla ekler
    • stream_bucket_make_writeable — Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür
    • stream_bucket_new — Geçerli akımda kullanmak için yeni bir bakla oluşturur
    • stream_bucket_prepend — Zincirin başına bir bakla ekler
    • stream_context_create — Bir akım bağlamı oluşturur
    • stream_context_get_default — Öntanımlı akım bağlamını döndürür
    • stream_context_get_options — Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür
    • stream_context_get_params — Bir bağlamın bağımsız değişkenlerini döndürür
    • stream_context_set_default — Akımları içeren öntanımlı bağlamı tanımlar
    • stream_context_set_option — Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar
    • stream_context_set_options — Sets options on the specified context
    • stream_context_set_params — Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar
    • stream_copy_to_stream — Veriyi bir akımdan diğerine kopyalar
    • stream_filter_append — Süzgeç zincirinin sonuna bir süzgeç ekler
    • stream_filter_prepend — Süzgeç zincirinin başına bir süzgeç ekler
    • stream_filter_register — Kullanıcı tanımlı bir akım süzgecini etkin kılar
    • stream_filter_remove — Akımdan bir süzgeci kaldırır
    • stream_get_contents — Akımdan kalanı bir dizgeye okur
    • stream_get_filters — Etkin süzgeçlerin listesini döndürür
    • stream_get_line — Akımdan belirtilen ayraca kadar bir satır döndürür
    • stream_get_meta_data — Akımdan başlıkları/meta verileri döndürür
    • stream_get_transports — Etkin soket aktarımlarının listesini döndürür
    • stream_get_wrappers — Etkin akımların listesini döndürür
    • stream_is_local — Akım, bir yerel akımsa true döner
    • stream_isatty — Akımın bir TTY olup olmadığına bakar
    • stream_notification_callback — notification bağlam bağımsız değişkeni için bir geri çağırım işlevi
    • stream_register_wrapper — stream_wrapper_register işlevinin takma adıdır
    • stream_resolve_include_path — Göreli dosya adını mutlak yoluna çözümler
    • stream_select — Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
    • stream_set_blocking — Akımın engelleme kipini ayarlar
    • stream_set_chunk_size — Akım blok boyutunu tanımlar
    • stream_set_read_buffer — Akıma dosya okuma tamponu tanımlar
    • stream_set_timeout — Akımın zaman aşımı süresini ayarlar
    • stream_set_write_buffer — Belirtilen akımda dosya yazma tamponunu ayarlar
    • stream_socket_accept — stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder
    • stream_socket_client — Bir Genel Ağ veya Unix alan soketi bağlantısı açar
    • stream_socket_enable_crypto — Bağlı bir soket üzerinde şifrelemeyi açıp kapatır
    • stream_socket_get_name — Yerel veya uzak soketin ismini döndürür
    • stream_socket_pair — Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur
    • stream_socket_recvfrom — Bağlı olsun ya da olmasın bir soketten veri alır
    • stream_socket_sendto — Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir
    • stream_socket_server — Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur
    • stream_socket_shutdown — Çift yönlü bağlantıyı kapatır
    • stream_supports_lock — Akımın kilitlemeyi destekleyip desteklemediğine bakar
    • stream_wrapper_register — Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar
    • stream_wrapper_restore — İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar
    • stream_wrapper_unregister — Bir URL sarmalayıcısını iptal eder


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 yoludur. 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: Desteklenen Protokoller ve Sarmalayıcılar). Ayrıca, stream_wrapper_register() işlevi kullanılarak 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 Desteklenen Protokoller ve Sarmalayıcılar 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 Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması
  • Akım Sınıfları


  • « Kurulum
  • Akım Sınıfları »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


Akım Sınıfları

Kullanıcı tasarımı sarmalayıcılar, bu kılavuzda bulunan sınıf tanımları kullanılarak stream_wrapper_register() işleviyle tanımlanabilir.

php_user_filter sınıfı, kullanıcı tanımlı süzgeçlerle kullanmak için öntanımlı ve soyut bir temel sınıftır. Kullanıcı tanımlı süzgeçler ile ilgili daha ayrıntılı bilgi edinmek için stream_filter_register()işlevine bakınız.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Sabit | Açıklama
STREAM_FILTER_READ | Belirtilen süzgecin sadece okuma amacıyla kullanılacağını belirtmek için stream_filter_append() ve stream_filter_prepend() işlevi ile kullanılır.
STREAM_FILTER_WRITE | Belirtilen süzgecin sadece yazma amacıyla kullanılacağını belirtmek için stream_filter_append() ve stream_filter_prepend() işlevi ile kullanılır.
STREAM_FILTER_ALL | STREAM_FILTER_READ | STREAM_FILTER_WRITE ifadesine eşdeğerdir.
PSFS_PASS_ON | Kullanıcı tanımlı süzgecin veriyi başarıyla işleyip biriktirici zincirini $out bağımsız değişkenine yerleştirdiğini belirten donüş kodu.
PSFS_FEED_ME | Kullanıcı tanımlı süzgecin veriyi başarıyla işlediğini fakat döndürülecek veri olmadığını belirten dönüş kodu.
PSFS_ERR_FATAL | Kullanıcı tanımlı süzgecin kurtarılamayacak bir hata tespit ettiğini ve devam edilemeyeceğini belirten dönüş kodu.
PSFS_FLAG_NORMAL | Normal okuma/yazma işlemi.
PSFS_FLAG_FLUSH_INC | Arttırımlı boşaltım.
PSFS_FLAG_FLUSH_CLOSE | Kapatmadan önce son boşaltım.
STREAM_USE_PATH | Akımın include_path kullanacağını belirten seçenek.
STREAM_REPORT_ERRORS | Akım açılırken, trigger_error() ile hata oluşturmaktan sarmalayıcının sorumlu olduğunu belirten seçenek. Bu seçeneği belirtmedikçe bir hata oluşturamazsınız.
STREAM_CLIENT_ASYNC_CONNECT | Eşzamansız istemci soketi açar. Bu seçenek stream_socket_client() işlevinde STREAM_CLIENT_CONNECT seçeneği ile birlikte kullanılmalıdır.
STREAM_CLIENT_CONNECT | İstemci soketi bağlantısı açar. Bu seçenek stream_socket_client() işlevinde kullanılır.
STREAM_CLIENT_PERSISTENT | stream_socket_client() ile açılmış istemci soketinin sayfa yüklemeleri arasında kalıcı olacağını belirten seçenek.
STREAM_SERVER_BIND | stream_socket_server() ile oluşturulmuş bir akımın belirtilen hedefe bağlanacağını belirten seçenek. Sunucu soketlerinin bu seçeneği daima içermesi gerekir.
STREAM_SERVER_LISTEN | stream_socket_server() ile bir akım oluşturulup soket üzerinde dinlemeyi başlatmak için STREAM_SERVER_BIND seçeneğinin kullanılacağını belirten seçenek. Bağlantılı aktarımların (TCP gibi) bu seçeneği kullanması gerekir, yoksa sunucu soketi etkin kılınmaz. Bu seçeneğin bağlantısız aktarımlarla (UDP gibi) kullanımı bir hataya yol açar.
STREAM_NOTIFY_RESOLVE | Akım için çözümlenecek bir uzak adresin gerektiğini yoksa çözümlemenin başarısız olacağını belirten seçenek. Ayrıca bakınız: stream_notification_callback().
STREAM_NOTIFY_CONNECT | Bir harici özkaynak ile bağlantı kurulduğunu belirtir.
STREAM_NOTIFY_AUTH_REQUIRED | Belirtilen özkaynağa erişim için kimlik doğrulaması gerektiğini belirtir. Genellikle STREAM_NOTIFY_SEVERITY_ERR önem derecesi ile kullanılır. stream_notification_callback() işlevinin önem bağımsız değişkenine bakınız.
STREAM_NOTIFY_MIME_TYPE_IS | Saptanan türün açıklaması için kullanılan ileti'nin ilişkilendirileceği özkaynağın MIME türü.
STREAM_NOTIFY_FILE_SIZE_IS | Saptanan özkaynağın boyutu.
STREAM_NOTIFY_REDIRECTED | Akımı başka bir yere yönlendirecek harici özkaynak. stream_notification_callback() işlevinin ileti bağımsız değişkenine bakınız.
STREAM_NOTIFY_PROGRESS | Geçerli akımın bayt_sayısını aktarmakta olduğunu ve azami_bayt_sayısı'nı da aktarabileceğini belirtir. stream_notification_callback() işlevine bakınız.
STREAM_NOTIFY_COMPLETED | Akımda artık veri kalmadığını belirtir.
STREAM_NOTIFY_FAILURE | Akımda soysal bir hata oluştuğunu belirtir. Ayrıntılar için stream_notification_callback() işlevinin ileti ve ileti_kodu bağımsız değişkenlerine bakınız.
STREAM_NOTIFY_AUTH_RESULT | Kimlik doğrulamasının (başarılı ya da başarısız) tamamlandığını belirtir.
STREAM_NOTIFY_SEVERITY_INFO | Normal, herhangi bir hatayla ilgili olmayan bildirim.
STREAM_NOTIFY_SEVERITY_WARN | Hata önemli değildir. İşleme devam edilebilir.
STREAM_NOTIFY_SEVERITY_ERR | Önemli bir hata oluştu. İşleme devam edilemiyor.
STREAM_IPPROTO_ICMP + | Bir ICMP soketi sağlanır.
STREAM_IPPROTO_IP + | Bir IP soketi sağlanır.
STREAM_IPPROTO_RAW + | Bir ham (RAW) soket sağlanır.
STREAM_IPPROTO_TCP + | Bir TCP soketi sağlanır.
STREAM_IPPROTO_UDP + | Bir UDP soketi sağlanır.
STREAM_PF_INET + | Genel Ağ Protokolünün 4. sürümü (IPv4).
STREAM_PF_INET6 + | Genel Ağ Protokolünün 6. sürümü (IPv6).
STREAM_PF_UNIX + | Unix sisteminin dahili protokolleri.
STREAM_SOCK_DGRAM + | Bağlantısız aktarımlar (UDP gibi) için verikatarları sağlanır.
STREAM_SOCK_RAW + | Dahili ağ protokollerine ve arayüzlerine erişmek için bir ham soket sağlanır. Genellikle bu tür soketleri sadece root kullanıcısı kullanabilir.
STREAM_SOCK_RDM + | Bir RDM (Reliably-delivered messages - Güvenle teslim edilmiş iletiler) soketi sağlanır.
STREAM_SOCK_SEQPACKET + | Sıralı bir paket akımı soketi sağlanır.
STREAM_SOCK_STREAM + | Band dışı veri aktarım mekanizmaları (TCP gibi) ile sıralı, iki yönlü bayt akımları sağlanır.
STREAM_SHUT_RD | İlgili alımları iptal etmek için stream_socket_shutdown() ile kullanılır.
STREAM_SHUT_WR | İlgili aktarımları iptal etmek için stream_socket_shutdown() ile kullanılır.
STREAM_SHUT_RDWR | İlgili aktarımları ve alımları iptal etmek için stream_socket_shutdown() ile kullanılır.
STREAM_CAST_FOR_SELECT | streamWrapper::stream_cast() yöntemini stream_select() çağırdığında cast_as bağımsız değişkeninin değeri.
STREAM_CAST_AS_STREAM | streamWrapper::stream_cast() yöntemini stream_select() dışında işlevler tarafından çağrılırken cast_as bağımsız değişkeninin değeri.
STREAM_META_TOUCH | touch() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_META_OWNER | chown() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_META_OWNER_NAME | chown() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_META_GROUP | chgrp() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_META_GROUP_NAME | chgrp() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_META_ACCESS | chmod() çağrısını belirtmek için stream_metadata() ile kullanılır.
STREAM_BUFFER_NONE | Tamponlama yok.
STREAM_BUFFER_LINE | Satır tamponlama.
STREAM_BUFFER_FULL | Tam tamponlama.

Bilginize: + ile imlenmiş sabitler, stream_socket_pair() ile kullanılmak içindir. Bu sabitlerden bazıları sisteminizde bulunmayabilir.

Bilginize: STREAM_META_* sabitleri stream_metadata() ile kullanılmak içindir.


Akım Süzgeçleri

Bir süzgeç, bir akımdan veri okurken veya veri yazarken veri üzerinde son işlemleri uygulayan bir kod parçasıdır. Bir akıma birden fazla süzgeç uygulanabilir. Bir PHP betiğinde özel süzgeçler stream_filter_register() işleviyle bir eklenti olarak tanımlanabilir. Kullanılabilir süzgeçlerin tam listesini stream_get_filters() işleviyle alabilirsiniz.


Akım Bağlamları

Bir bağlam, bir akımın davranışlarını geliştirmek ve değiştirmek için kullanılan bağımsız değişkenler ve sarmalayıcıya özgü seçenekler kümesidir. Bağlamlar, stream_context_create() işlevi kullanılarak oluşturulabilir ve dosya sistemiyle ilgili pek çok akım oluşturma işlevine (fopen(), file(), file_get_contents() gibi) aktarılabilir.

Seçenekler, stream_context_create() işlevi çağrılırken veya sonradan stream_context_set_option() işlevi ile oluşturulabilir. Sarmalayıcıya özgü seçeneklerin listesini Bağlam seçenekleri ve bağımsız değişkenleri bölümünde bulabilirsiniz.

Bağımsız değişkenler, stream_context_set_params() işlevi kullanılarak bağlamlar için belirtilebilir.


Akım Hataları

Bir dosya veya soketle ilgili bir işlevle olduğu gibi, bir akım üzerindeki bir işlem de çok çeşitli sebeplerle başarısız olabilir (Uzak bir konağa bağlanılamayabilir, bir dosya bulunamayabilir, vb.). Akımla ilgili bir çağrı, istenen akım çalışan sistem tarafından tanınmadığından da başarısız olabilir. PHP kurulumunuzda kullanılabilecek sarmalayıcıların listesini bir dizi olarak stream_get_wrappers() işlevini kullanarak alabilirsiniz. PHP'nin çoğu yerleşik işlevinde olduğu gibi bir başarısızlık halinde hatanın doğasını açıklayan bir E_WARNING iletisi üretilir.


Örnekler

İçindekiler

  • Akım Sarmalayıcı olarak örnek bir sınıf tanımı

Örnek 1 - Çok sayıda kaynaktan veri almak için file_get_contents() kullanımı

<?php
/* Yerel dosyayı /home/bar dizininden okuyalım */
$localfile = file_get_contents("/home/bar/foo.txt");

/* FILE sarmalayıcı kullanımı dışında yukarıdakine eşdeğerdir */
$localfile = file_get_contents("file:///home/bar/foo.txt");

/* Uzak dosyayı HTTP kullaranak www.example.com'dan okur */
$httpfile = file_get_contents("http://www.example.com/foo.txt");

/* Uzak dosyayı HTTPS kullaranak www.example.com'dan okur */
$httpsfile = file_get_contents("https://www.example.com/foo.txt");

/* Uzak dosyayı FTP kullaranak ftp.example.com'dan okur */
$ftpfile = file_get_contents("ftp://user:pass@ftp.example.com/foo.txt");

/* Uzak dosyayı FTPS kullaranak ftp.example.com'dan okur */
$ftpsfile = file_get_contents("ftps://user:pass@ftp.example.com/foo.txt");
?>

Örnek 2 - Bir HTTPS sunucusundan bir POST isteği yapmak

<?php
/* Post isteğini https://secure.example.com/form_action.php adresine gönderelim
* Dosyada "foo" and "bar" isimli form elemanları olsun.
*/

$sock = fsockopen("ssl://secure.example.com", 443, $errno, $errstr, 30);
if (!$sock) die("$errstr ($errno)\n");

$data = "foo=" . urlencode("Value for Foo") . "&bar=" . urlencode("Value for Bar");

fwrite($sock, "POST /form_action.php HTTP/1.0\r\n");
fwrite($sock, "Host: secure.example.com\r\n");
fwrite($sock, "Content-type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Content-length: " . strlen($data) . "\r\n");
fwrite($sock, "Accept: */*\r\n");
fwrite($sock, "\r\n");
fwrite($sock, $data);

$headers = "";
while ($str = trim(fgets($sock, 4096)))
$headers .= "$str\n";

echo "\n";

$body = "";
while (!feof($sock))
$body .= fgets($sock, 4096);

fclose($sock);
?>

Örnek 3 - Sıkıştırılmış bir dosyaya veri yazmak

<?php
/* Bir dizge içeren sıkıştırılmış bir dosya oluşturalım.
* Dosya, compress.zlib akımı kullanılarak veya
* komut satırından 'gzip -d foo-bar.txt.gz' kullanılarak
* kodlaması açılıp okunabilir.
*/
$fp = fopen("compress.zlib://foo-bar.txt.gz", "wb");
if (!$fp) die("Dosya oluşturulamadı.");

fwrite($fp, "Bu bir denemedir.\n");

fclose($fp);
?>


Akım Sarmalayıcı olarak örnek bir sınıf tanımı

Aşağıdaki örnekte, fread() gibi standart dosya sistemi akım işlevlerini kullanarak bir küresel değişkene okuma/yazma erişimini mümkün kılan bir var:// sarmalayıcısı gerçeklenmiştir. $GLOBALS["foo"] değişkenine veri yazma ve okuma işlemleri için "var://foo" URL'si kullanılacaktır.

Örnek 1 - Küresel değişkenlere veri okuyup yazan bir akım

<?php

class VariableStream {
var $position;
var $varname;

function stream_open($path, $mode, $options, &$opened_path)
{
$url = parse_url($path);
$this->varname = $url["host"];
$this->position = 0;

return true;
}

function stream_read($count)
{
$ret = substr($GLOBALS[$this->varname], $this->position, $count);
$this->position += strlen($ret);
return $ret;
}

function stream_write($data)
{
$left = substr($GLOBALS[$this->varname], 0, $this->position);
$right = substr($GLOBALS[$this->varname], $this->position + strlen($data));
$GLOBALS[$this->varname] = $left . $data . $right;
$this->position += strlen($data);
return strlen($data);
}

function stream_tell()
{
return $this->position;
}

function stream_eof()
{
return $this->position >= strlen($GLOBALS[$this->varname]);
}

function stream_seek($offset, $whence)
{
switch ($whence) {
case SEEK_SET:
if ($offset < strlen($GLOBALS[$this->varname]) && $offset >= 0) {
$this->position = $offset;
return true;
} else {
return false;
}
break;

case SEEK_CUR:
if ($offset >= 0) {
$this->position += $offset;
return true;
} else {
return false;
}
break;

case SEEK_END:
if (strlen($GLOBALS[$this->varname]) + $offset >= 0) {
$this->position = strlen($GLOBALS[$this->varname]) + $offset;
return true;
} else {
return false;
}
break;

default:
return false;
}
}
}

function stream_metadata($path, $option, $var)
{
if($option == STREAM_META_TOUCH) {
$url = parse_url($path);
$varname = $url["host"];
if(!isset($GLOBALS[$varname])) {
$GLOBALS[$varname] = '';
}
return true;
}
return false;
}

stream_wrapper_register("var", "VariableStream")
or die("Failed to register protocol");

$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

?>

Yukarıdaki örneğin çıktısı:

line1
line2
line3
string(18) "line1
line2
line3
"


php_user_filter sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bu sınıfın çocukları stream_filter_register() işlevine aktarılır. Bu sınıfı ilklendirmek için __construct değil php_user_filter::onCreate() çağrılmalıdır.

Sınıf Sözdizimi

class php_user_filter {
/* Özellikler */
public string $filtername = "";
public mixed $params = "";
public ?resource $stream = null;
/* Yöntemler */
public filter(
resource $giriş,
resource $çıkş,
int &$tüketilen,
bool $kapanış
): int
public onClose(): void
public onCreate(): bool
}

Özellikler

filtername

stream_filter_append() tarafından belirlenen süzgeç ismi.

params

stream

İçindekiler

  • php_user_filter::filter — Süzgeç uygulanırken çağrılır
  • php_user_filter::onClose — Süzgeç kapanışında çağrılır
  • php_user_filter::onCreate — Süzgeç oluşturulurken çağrılır


Süzgeç uygulanırken çağrılır

  • « php_user_filter
  • php_user_filter::onClose »
  • PHP Manual
  • php_user_filter
  • Süzgeç uygulanırken çağrılır

php_user_filter::filter

(PHP 5, PHP 7, PHP 8)

php_user_filter::filter — Süzgeç uygulanırken çağrılır

Açıklama

public php_user_filter::filter(
resource $giriş,
resource $çıkş,
int &$tüketilen,
bool $kapanış
): int

Bu yöntem, süzgecin ekli olduğu akım üzerinde yapılan her okuma veya yazma (fread() veya fwrite() gibi) işleminde çağrılır.

Bağımsız Değişkenler

giriş

Süzgeç uygulanacak verileri içeren bir veya daha fazla bakla nesnesini içeren zincir.

çıkış

Değiştirilmiş baklalarınızın yerleştirileceği diğer zincir.

tüketilen

Daima gönderimli bildirilmesi gereken tüketilen bağımsız değişkeni, süzgecinizin okuduğu ve değiştirdiği verilerin uzunluğu kadar artırılmalıdır. Çoğu durumda bu, tüketilen bağımsız değişkeninin değerini, her bir $bakla için $bakla->datalen kadar arttıracağınız anlamına gelir.

kapanış

Akım kapanış sürecindeyse (dolayısıyla bu, süzgeç zincirindeki son geçiştir) kapanış bağımsız değişkenine true atanmalıdır.

Dönen Değerler

filter() yöntemi işini bitirdiğinde aşağıdaki üç değerden birini döndürmelidir:

Dönen değer | Anlamı
PSFS_PASS_ON | Süzgeç giriş zincirindeki kullanılabilir veriyi başarıyla işledi ve çıkış zincirine ekledi.
PSFS_FEED_ME | Süzgeç işini tamamladı ancak, döndürülecek bir veri yok. Akımdan veya önceki süzgeçten daha fazla veri gerekiyor.
PSFS_ERR_FATAL (öntanımlı) | Süzgeç kurtarılamayacak bir hata tespit etti; devam edilemiyor.


Süzgeç kapanışında çağrılır

  • « php_user_filter::filter
  • php_user_filter::onCreate »
  • PHP Manual
  • php_user_filter
  • Süzgeç kapanışında çağrılır

php_user_filter::onClose

(PHP 5, PHP 7, PHP 8)

php_user_filter::onClose — Süzgeç kapanışında çağrılır

Açıklama

public php_user_filter::onClose(): void

Bu yöntem, süzgeç kullanımdan kaldırılırken (bu genellikle akımın kapatılmasına denk düşer) ve flush yöntemi çağrıldıktan sonra çağrılır. süzgeciniz->onCreate() çağrısıyla ilklendirilmiş veya ayrılmış kaynaklar varsa, onları yok edeceğiniz veya elden çıkaracağınız yer burasıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönen değer yok sayılır.


Süzgeç oluşturulurken çağrılır

  • « php_user_filter::onClose
  • streamWrapper »
  • PHP Manual
  • php_user_filter
  • Süzgeç oluşturulurken çağrılır

php_user_filter::onCreate

(PHP 5, PHP 7, PHP 8)

php_user_filter::onCreate — Süzgeç oluşturulurken çağrılır

Açıklama

public php_user_filter::onCreate(): bool

Bu yöntem süzgeç sınıfının bir nesne olarak örneklenmesi sırasında çağrılır. Süzgeciniz herhangi bir özkaynak ayıracaksa (bir tampon gibi) veya ilklendirecekse bunun yapılacağı yer burasıdır.

Süzgeciniz ilk örneklendiğinde ve süzgeciniz->onCreate() çağrıldığında, aşağıdaki özellikler kullanılabilir duruma gelir:

Özellik | İçeriği
FilterClass->filtername | Örneklenen süzgecin ismini içeren dizge. Süzgeçler farklı isimlerle veya dosya ismi kalıplarıyla kayıt altına alınabilirler. Bu özellik kullanılacak ismi belirlemek için kullanılır.
FilterClass->params | stream_filter_append() veya stream_filter_prepend() işlevine aktarılan bağımsız_değişkenlerin içeriği.
FilterClass->stream | Süzgeç uygulanan akım özkaynağı. Sadece kapanış bağımsız değişkenine false atanmışken yapılan filter() çağrılarında kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem başarılı olduğunda true aksi takdirde false döndürmelidir.


streamWrapper sınıfı

streamWrapper

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Diğer dosya sistemi işlevleriyle (fopen(), fread() gibi) kullanmak için kendi sarmalayıcılarınızı gerçeklemenizi sağlar.

Bilginize:

Bu, gerçek bir sınıf değildir, kendi protokolünüzü tanımlayabilmeniz için türünün bir örneğidir.

Bilginize:

Yöntemlerin burada açıklanan yollar dışında yollarla gerçeklenmesi istenmeyen davranışlara yol açabilir.

Bu protokol ile ilişkili bir akım işlevi bu protokole erişmek istediği anda bu sınıfın bir örneği oluşturulur.

Sınıf Sözdizimi

class streamWrapper {
/* Özellikler */
public resource $context;
/* Yöntemler */
public __construct()
public dir_closedir(): bool
public dir_opendir(string $url, int $seçenekler): bool
public dir_readdir(): string
public dir_rewinddir(): bool
public mkdir(string $url, int $kip, int $seçenekler): bool
public rename(string $eskisi, string $yenisi): bool
public rmdir(string $url, int $seçenekler): bool
public stream_cast(int $cast_as): resource
public stream_close(): void
public stream_eof(): bool
public stream_flush(): bool
public stream_lock(int $işlem): bool
public stream_metadata(string $yol, int $seçenek, mixed $değer): bool
public stream_open(
string $url,
string $kip,
int $seçenekler,
?string &$açık_yol
): bool
public stream_read(int $sayı): string|false
public stream_seek(int $başlangıç, int $nereden = SEEK_SET): bool
public stream_set_option(int $seçenek, int $arg1, int $arg2): bool
public stream_stat(): array|false
public stream_tell(): int
public stream_truncate(int $yeni_boyut): bool
public stream_write(string $veri): int
public unlink(string $dosya): bool
public url_stat(string $dosya, int $seçenekler): array|false
public __destruct()
}

Özellikler

resource context

Çağrıcı işleve hiçbir bağlam aktarılmamışsa null, aksi takdirde geçerli bağlam.

Bağlamı çözümlemek için stream_context_get_options() işlevini kullanın.

Bilginize:

Bu özellik public olmalıdır, böylece PHP özelliği asıl bağlam özkaynağından oluşturabilir.

Ayrıca Bakınız

  • Akım Sarmalayıcı olarak örnek bir sınıf tanımı
  • stream_wrapper_register()
  • stream_wrapper_unregister()
  • stream_wrapper_restore()

İçindekiler

  • streamWrapper::__construct — Yeni bir akım sarmalayıcı oluşturur
  • streamWrapper::__destruct — Mevcut bir akım sarmalayıcısını yok eder
  • streamWrapper::dir_closedir — Dizin tanıtıcısını kapatır
  • streamWrapper::dir_opendir — Dizin tanıtıcısı açar
  • streamWrapper::dir_readdir — Dizinden bir girdi okur
  • streamWrapper::dir_rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar
  • streamWrapper::mkdir — Bir dizin oluşturur
  • streamWrapper::rename — Bir dosya veya dizinin ismini değiştirir
  • streamWrapper::rmdir — Bir dizini siler
  • streamWrapper::stream_cast — Temel özkaynağı döndürür
  • streamWrapper::stream_close — Bir özkaynağı kapatır
  • streamWrapper::stream_eof — Dosya göstericisinin dosya sonunda olup olmadığına bakar
  • streamWrapper::stream_flush — Çıktıyı boşaltır
  • streamWrapper::stream_lock — Tavsiye niteliğinde dosya kilitleme
  • streamWrapper::stream_metadata — Akım meta verilerini değiştir
  • streamWrapper::stream_open — Bir dosya veya URL açar
  • streamWrapper::stream_read — Akımdan veri okur
  • streamWrapper::stream_seek — Akım üzerinde belli bir konuma gidilir
  • streamWrapper::stream_set_option — Akım seçeneklerini değiştirir
  • streamWrapper::stream_stat — Bir dosya özkaynağı hakkında bilgi döndürür
  • streamWrapper::stream_tell — Bir akımdan geçerli konumu döndürür
  • streamWrapper::stream_truncate — Akımı sondan kırpar
  • streamWrapper::stream_write — Akıma yazar
  • streamWrapper::unlink — Bir dosyayı siler
  • streamWrapper::url_stat — Bir dosya hakkında bilgi döndürür


Yeni bir akım sarmalayıcı oluşturur

  • « streamWrapper
  • streamWrapper::__destruct »
  • PHP Manual
  • streamWrapper
  • Yeni bir akım sarmalayıcı oluşturur

streamWrapper::__construct

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::__construct — Yeni bir akım sarmalayıcı oluşturur

Açıklama

public streamWrapper::__construct()

Akım sarmalayıcı açılırken streamWrapper::stream_open() yönteminden önce çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Mevcut bir akım sarmalayıcısını yok eder

  • « streamWrapper::__construct
  • streamWrapper::dir_closedir »
  • PHP Manual
  • streamWrapper
  • Mevcut bir akım sarmalayıcısını yok eder

streamWrapper::__destruct

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::__destruct — Mevcut bir akım sarmalayıcısını yok eder

Açıklama

public streamWrapper::__destruct()

Akım sarmalatıcısını kapatırken streamWrapper::stream_flush() yönteminden hemen önce çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Dizin tanıtıcısını kapatır

  • « streamWrapper::__destruct
  • streamWrapper::dir_opendir »
  • PHP Manual
  • streamWrapper
  • Dizin tanıtıcısını kapatır

streamWrapper::dir_closedir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_closedir — Dizin tanıtıcısını kapatır

Açıklama

public streamWrapper::dir_closedir(): bool

Bu yöntem closedir() işlevine yanıtta çağrılır.

Dizin akımının açılışı ve kullanımı sırasında ayrılmış veya kilitlenmiş bütün özkaynaklar serbest bırakılmalıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • closedir() - Dizin tanıtıcısını kapatır
  • streamWrapper::dir_opendir() - Dizin tanıtıcısı açar


Dizin tanıtıcısı açar

  • « streamWrapper::dir_closedir
  • streamWrapper::dir_readdir »
  • PHP Manual
  • streamWrapper
  • Dizin tanıtıcısı açar

streamWrapper::dir_opendir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_opendir — Dizin tanıtıcısı açar

Açıklama

public streamWrapper::dir_opendir(string $url, int $seçenekler): bool

Bu yöntem opendir() işlevine yanıtta çağrılır.

Bağımsız Değişkenler

url

opendir() işlevine aktarılacak URL.

Bilginize:

URL parse_url() ile parçalarına ayrılmış olabilir.

seçenekler

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • opendir() - Belirtilen dizin için bir tanıtıcı döndürür
  • streamWrapper::dir_closedir() - Dizin tanıtıcısını kapatır
  • parse_url() - Bir URL'yi bileşenlerine ayırır


Dizinden bir girdi okur

  • « streamWrapper::dir_opendir
  • streamWrapper::dir_rewinddir »
  • PHP Manual
  • streamWrapper
  • Dizinden bir girdi okur

streamWrapper::dir_readdir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_readdir — Dizinden bir girdi okur

Açıklama

public streamWrapper::dir_readdir(): string

Bu yöntem readdir() işlevine yanıtta çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Varsa sonraki dosya ismini, yoksa false döndürmelidir.

Bilginize:

Dönen değer string türüne dönüştürülür.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Örnekler

Örnek 1 - Tar arşivindeki dosyaları listelemek

<?php
class streamWrapper {
protected $fp;

public function dir_opendir($path, $options) {
$url = parse_url($path);

$path = $url["host"] . $url["path"];

if (!is_readable($path)) {
trigger_error("$path okunamıyor", E_USER_NOTICE);
return false;
}
if (!is_file($path)) {
trigger_error("$path bir dosya değil", E_USER_NOTICE);
return false;
}

$this->fp = fopen($path, "rb");
return true;
}

public function dir_readdir() {
// Bu girdi için başlığı çıkart
$header = fread($this->fp, 512);
$data = unpack("a100filename/a8mode/a8uid/a8gid/a12size/a12mtime",
$header);

// Dosya ismini ve dosya boyunu kırpalım
$filename = trim($data["filename"]);

// Dosya yok mu? Arşivin sonunda mıyız?
if (!$filename) {
return false;
}

$octal_bytes = trim($data["size"]);
// Dosya boyu sekiz tabanında tanımlı
$bytes = octdec($octal_bytes);

// tar dosya boylarını 512 baytın katlarına
// yuvarlar (sıfırlarla doldurur)
$rest = $bytes % 512;
if ($rest > 0) {
$bytes += 512 - $rest;
}

// Dosya üzerinde ilerleyelim
fseek($this->fp, $bytes, SEEK_CUR);

return $filename;
}

public function dir_closedir() {
return fclose($this->fp);
}

public function dir_rewinddir() {
return fseek($this->fp, 0, SEEK_SET);
}
}

stream_wrapper_register("tar", "streamWrapper");
$handle = opendir("tar://example.tar");
while (false !== ($file = readdir($handle))) {
var_dump($file);
}

echo "Al baştan..\n";
rewind($handle);
var_dump(readdir($handle));

closedir($handle);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(13) "construct.xml"
string(16) "dir-closedir.xml"
string(15) "dir-opendir.xml"
string(15) "dir-readdir.xml"
string(17) "dir-rewinddir.xml"
string(9) "mkdir.xml"
string(10) "rename.xml"
string(9) "rmdir.xml"
string(15) "stream-cast.xml"
string(16) "stream-close.xml"
string(14) "stream-eof.xml"
string(16) "stream-flush.xml"
string(15) "stream-lock.xml"
string(15) "stream-open.xml"
string(15) "stream-read.xml"
string(15) "stream-seek.xml"
string(21) "stream-set-option.xml"
string(15) "stream-stat.xml"
string(15) "stream-tell.xml"
string(16) "stream-write.xml"
string(10) "unlink.xml"
string(12) "url-stat.xml"
Al baştan..
string(13) "construct.xml"

Ayrıca Bakınız

  • readdir() - Dizinden bir girdinin ismini okur


Dizin tanıtıcısını dizin başlangıcına konumlar

  • « streamWrapper::dir_readdir
  • streamWrapper::mkdir »
  • PHP Manual
  • streamWrapper
  • Dizin tanıtıcısını dizin başlangıcına konumlar

streamWrapper::dir_rewinddir

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::dir_rewinddir — Dizin tanıtıcısını dizin başlangıcına konumlar

Açıklama

public streamWrapper::dir_rewinddir(): bool

Bu yöntem rewinddir() işlevine yanıtta çağrılır.

streamWrapper::dir_readdir() tarafından üretilen çıktı sıfırlanmalıdır. Yani, streamWrapper::dir_readdir() yöntemine yapılan sonraki çağrı streamWrapper::dir_opendir() tarafından döndürülen konumdaki ilk girdiyi döndürmelidir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • rewinddir() - Dizin tanıtıcısını dizin başlangıcına konumlar
  • streamWrapper::dir_readdir() - Dizinden bir girdi okur


Bir dizin oluşturur

  • « streamWrapper::dir_rewinddir
  • streamWrapper::rename »
  • PHP Manual
  • streamWrapper
  • Bir dizin oluşturur

streamWrapper::mkdir

(PHP 5, PHP 7, PHP 8)

streamWrapper::mkdir — Bir dizin oluşturur

Açıklama

public streamWrapper::mkdir(string $url, int $kip, int $seçenekler): bool

Bu yöntem mkdir() işlevine yanıtta çağrılır.

Bilginize:

Sarmalayıcı dizin oluşturmayı desteklemiyorsa uygun bir hata iletisi döndürmek adına bu yöntem tanımlanmamalıdır.

Bağımsız Değişkenler

url

Oluşturulacak dizin.

kip

mkdir() işlevine aktarılacak değer.

seçenekler

STREAM_MKDIR_RECURSIVE gibi değerlerden oluşan bir bit maskesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • mkdir() - Dizin oluşturur
  • streamwrapper::rmdir() - Bir dizini siler


Bir dosya veya dizinin ismini değiştirir

  • « streamWrapper::mkdir
  • streamWrapper::rmdir »
  • PHP Manual
  • streamWrapper
  • Bir dosya veya dizinin ismini değiştirir

streamWrapper::rename

(PHP 5, PHP 7, PHP 8)

streamWrapper::rename — Bir dosya veya dizinin ismini değiştirir

Açıklama

public streamWrapper::rename(string $eskisi, string $yenisi): bool

Bu yöntem rename() işlevine yanıtta çağrılır.

Dosya veya dizin isminin eskisini yenisi ile değiştirmeye çalışmalıdır.

Bilginize:

Sarmalayıcı dosya adını değiştirmeyi desteklemiyorsa uygun bir hata iletisi döndürmek adına bu yöntem tanımlanmamalıdır.

Bağımsız Değişkenler

eskisi

Mevcut dosyanın URL'si.

yenisi

Dosyanın yeni URL'si.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • rename() - Bir dosya veya dizinin ismini değiştirir


Bir dizini siler

  • « streamWrapper::rename
  • streamWrapper::stream_cast »
  • PHP Manual
  • streamWrapper
  • Bir dizini siler

streamWrapper::rmdir

(PHP 5, PHP 7, PHP 8)

streamWrapper::rmdir — Bir dizini siler

Açıklama

public streamWrapper::rmdir(string $url, int $seçenekler): bool

Bu yöntem rmdir() işlevine yanıtta çağrılır.

Bilginize:

Sarmalayıcı dizin silmeyi desteklemiyorsa uygun bir hata iletisi döndürmek adına bu yöntem tanımlanmamalıdır.

Bağımsız Değişkenler

url

Silinecek dizinin URL'si.

seçenekler

STREAM_MKDIR_RECURSIVE gibi değerlerin bit maskesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • rmdir() - Dizin siler
  • streamwrapper::mkdir() - Bir dizin oluşturur
  • streamwrapper::unlink() - Bir dosyayı siler


Temel özkaynağı döndürür

  • « streamWrapper::rmdir
  • streamWrapper::stream_close »
  • PHP Manual
  • streamWrapper
  • Temel özkaynağı döndürür

streamWrapper::stream_cast

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

streamWrapper::stream_cast — Temel özkaynağı döndürür

Açıklama

public streamWrapper::stream_cast(int $cast_as): resource

Bu yöntem stream_select() işlevine yanıtta çağrılır.

Bağımsız Değişkenler

cast_as

stream_cast()'ı stream_select() çağırıyorsa STREAM_CAST_FOR_SELECT veya stream_cast() başka kullanımlar için çağrılıyorsa STREAM_CAST_AS_STREAM olabilir.

Dönen Değerler

Ya sarmalayıcı tarafından kullanılan temel akım özkaynağı ya da false dönmelidir.

Ayrıca Bakınız

  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır


Bir özkaynağı kapatır

  • « streamWrapper::stream_cast
  • streamWrapper::stream_eof »
  • PHP Manual
  • streamWrapper
  • Bir özkaynağı kapatır

streamWrapper::stream_close

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_close — Bir özkaynağı kapatır

Açıklama

public streamWrapper::stream_close(): void

Bu yöntem, fclose() işlevine yanıtta çağrılır.

Sarmalayıcı tarafından ayrılmış veya kilitlenmiş tüm özkaynaklar serbest bırakılmalıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • streamWrapper::dir_closedir() - Dizin tanıtıcısını kapatır


Dosya göstericisinin dosya sonunda olup olmadığına bakar

  • « streamWrapper::stream_close
  • streamWrapper::stream_flush »
  • PHP Manual
  • streamWrapper
  • Dosya göstericisinin dosya sonunda olup olmadığına bakar

streamWrapper::stream_eof

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_eof — Dosya göstericisinin dosya sonunda olup olmadığına bakar

Açıklama

public streamWrapper::stream_eof(): bool

Bu yöntem, feof() işlevine yanıtta çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Oku/yaz konumu akımın sonundaysa ve okunacak başka veri kalmamışsa true yoksa false dönmelidir.

Notlar

Uyarı

Tüm dosyayı okurken (örneğin, file_get_contents() ile),
PHP bir döngü halinde önce
streamWrapper::stream_read() ve ardından
streamWrapper::stream_eof() öğesini çağırır, ancak
streamWrapper::stream_read() boş olmayan bir dizge
döndürdüğü sürece, streamWrapper::stream_eof()'un
dönüş değeri yok sayılır.

Ayrıca Bakınız

  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar


Çıktıyı boşaltır

  • « streamWrapper::stream_eof
  • streamWrapper::stream_lock »
  • PHP Manual
  • streamWrapper
  • Çıktıyı boşaltır

streamWrapper::stream_flush

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_flush — Çıktıyı boşaltır

Açıklama

public streamWrapper::stream_flush(): bool

Bu yöntem fflush() işlevine yanıtta ve akım kapatılırken evvelce yazılmış ama hala boşaltılmamış veri varsa çağrılır.

Akımınızda veri önbellekliyse ve henüz bir saklama alanına yerleştirmediyseniz bunu yapmanın tam sırasıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Önbellekli veri başarıyla bir saklama alanına aktarılmışsa veya saklanacak bir veri yoksa true dönmesi gerekir. Veri saklanamamışsa false dönmelidir.

Notlar

Bilginize:

Yöntem gerçeklenmemişse false döndüğü varsayılır.

Ayrıca Bakınız

  • fflush() - Çıktıyı bir dosyaya boşaltır


Tavsiye niteliğinde dosya kilitleme

  • « streamWrapper::stream_flush
  • streamWrapper::stream_metadata »
  • PHP Manual
  • streamWrapper
  • Tavsiye niteliğinde dosya kilitleme

streamWrapper::stream_lock

(PHP 5, PHP 7, PHP 8)

streamWrapper::stream_lock — Tavsiye niteliğinde dosya kilitleme

Açıklama

public streamWrapper::stream_lock(int $işlem): bool

Bu yöntem, akım kapatılırken (LOCK_UN) flock(), file_put_contents() (seçenekler LOCK_EX içeriyorsa) ve stream_set_blocking() işlevine yanıtta çağrılır

Bağımsız Değişkenler

işlem

işlem şunlardan biri olabilir:

  • Paylaşımlı bir kilit (okuyucu) edinmek için LOCK_SH.
  • Ayrıcalıklı bir kilit (yazıcı) edinmek için LOCK_EX
  • Bir kilidi (paylaşımlı ya da ayrıcalıklı) serbest bırakmak için LOCK_UN.
  • Kilitlerken flock() engellenmesin isterseniz LOCK_NB (Windows'ta desteklenmez).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem başarısız olursa (örneğin, gerçeklenmemişse) bir E_WARNING çıktılanır.

Ayrıca Bakınız

  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • flock() - Öneri niteliğinde taşınabilir dosya kilitleme


Akım meta verilerini değiştir

  • « streamWrapper::stream_lock
  • streamWrapper::stream_open »
  • PHP Manual
  • streamWrapper
  • Akım meta verilerini değiştir

streamWrapper::stream_metadata

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

streamWrapper::stream_metadata — Akım meta verilerini değiştir

Açıklama

public streamWrapper::stream_metadata(string $yol, int $seçenek, mixed $değer): bool

Bu yöntem, akımda meta verileri tanımlamak için çağrılır. Bir akım URL'sinde aşağıdaki işlevlerden biri çağrıldığında çağrılır:

  • touch()
  • chmod()
  • chown()
  • chgrp()
Bu işlevlerden bazıları sisteminizde mevcut olmayabilir.

Bağımsız Değişkenler

yol

Meta verileri ayarlamak için dosya yolu veya URL. Bir URL söz konusu olduğunda, içinde :// kullanılmış bir URL olması gerektiğini unutmayın. Diğer URL biçimleri desteklenmez.

seçenek

Şunlardan biridir:

  • STREAM_META_TOUCH (touch() işlevine yanıtta çağrılacak yöntem)
  • STREAM_META_OWNER_NAME (chown()işlevine yanıtta çağrılacak yöntem)
  • STREAM_META_OWNER (chown()işlevine yanıtta çağrılacak yöntem)
  • STREAM_META_GROUP_NAME (chgrp()işlevine yanıtta çağrılacak yöntem)
  • STREAM_META_GROUP (chgrp()işlevine yanıtta çağrılacak yöntem)
  • STREAM_META_ACCESS (chmod()işlevine yanıtta çağrılacak yöntem)

değer

seçenek şunlardan biri ise:

  • STREAM_META_TOUCH: touch() işlevinin iki bağımsız değişkenini içeren bir dizidir.
  • STREAM_META_OWNER_NAME veya STREAM_META_GROUP_NAME: Sahip kullanıcı veya grubun ismini içeren dizge.
  • STREAM_META_OWNER veya STREAM_META_GROUP: Sahip kullanıcı veya grubun değerini gösteren bir tamsayı.
  • STREAM_META_ACCESS: chmod() işlevinin bağımsız değişken değerini içeren bir tamsayı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. seçenek gerçeklenmemişse, false dönmesi gerekir.

Ayrıca Bakınız

  • touch() - Dosyanın erişim ve değişiklik zamanını ayarlar
  • chmod() - Dosya kipini değiştirir
  • chown() - Dosyanın sahibini değiştirir
  • chgrp() - Dosya grubunu değiştirir


Bir dosya veya URL açar

  • « streamWrapper::stream_metadata
  • streamWrapper::stream_read »
  • PHP Manual
  • streamWrapper
  • Bir dosya veya URL açar

streamWrapper::stream_open

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_open — Bir dosya veya URL açar

Açıklama

public streamWrapper::stream_open(
string $url,
string $kip,
int $seçenekler,
?string &$açık_yol
): bool

Bu yöntem sarmalayıcı ilklendirilirdikten hemen sonra çağrılır (örneğin, fopen() ve file_get_contents() tarafından).

Bağımsız Değişkenler

url

Özgün işleve aktarılacak URL belirtilir.

Bilginize:

URL, parse_url() ile parçalarına ayrılmış olabilir. Sadece :// ile ayrılmış URL'ler destenlenmektedir. : ve :/ teknik olarak URL'ler için geçerli olmakla birlikte bunlar desteklenmemektedir.

kip

Dosyayı açma amacını belirten kip; ayrıntılar için fopen() işlevine bakınız.

Bilginize:

Belirtilen kip'in url için geçerli olup olmadığına bakmayı unutmayın.

seçenekler

Akım arayüzü tarafından atanmış ek seçenekler aşağıdaki değerlerin birleşiminden oluşan bir bit maskesi olarak belirtilir:

Seçenek | Açıklama
STREAM_USE_PATH | url göreli ise özkaynak include_path kullanılarak aranır.
STREAM_REPORT_ERRORS | Bu seçenek belirtilmişse akımın açılışı sırasında trigger_error() kullanarak hatayı raporlamak sizin sorumluluğunuzdadır. Belirtilmemişse herhangi bir hata oluşturamazsınız.

açık_yol

seçenekler bağımsız değişkenine STREAM_USE_PATH atanmış ve url başarıyla açılmışsa açık_yol bağımsız değişkenine açılan dosya veya özkaynağın tam yolunun yerleştirilmesi gerekir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • parse_url() - Bir URL'yi bileşenlerine ayırır


Akımdan veri okur

  • « streamWrapper::stream_open
  • streamWrapper::stream_seek »
  • PHP Manual
  • streamWrapper
  • Akımdan veri okur

streamWrapper::stream_read

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_read — Akımdan veri okur

Açıklama

public streamWrapper::stream_read(int $sayı): string|false

Bu yöntem fread() ve fgets() işlevine yanıtta çağrılır.

Bilginize:

Başarıyla okunan bayt sayısına göre akımdaki konumlayıcıyı güncellemeyi unutmayın.

Bağımsız Değişkenler

sayı

Geçerli konumdan okunacak bayt sayısı.

Dönen Değerler

Akımda sayı bayttan daha az bayt varsa, olan döndürülür. Hiç veri yoksa boş bir dizge, okuma başarısız olmuşsa false dönmelidir.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Bilginize:

Dönen değer sayı bayttan daha uzunsa bir E_WARNING çıktılanır ve fazlalık veri kaybedilir.

Notlar

Bilginize:

Dosya sonuna ulaşılıp ulaşılmadığını görmek için streamWrapper::stream_read() çağrısının hemen ardından streamWrapper::stream_eof() çağrılır. Yöntem gerçeklenmemişse dosya sonuna ulaşıldığı varsayılır.

Notlar

Uyarı

Tüm dosyayı okurken (örneğin, file_get_contents() ile),
PHP bir döngü halinde önce
streamWrapper::stream_read() ve ardından
streamWrapper::stream_eof() öğesini çağırır, ancak
streamWrapper::stream_read() boş olmayan bir dizge
döndürdüğü sürece, streamWrapper::stream_eof()'un
dönüş değeri yok sayılır.

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fgets() - Dosya tanıtıcısından bir satır döndürür


Akım üzerinde belli bir konuma gidilir

  • « streamWrapper::stream_read
  • streamWrapper::stream_set_option »
  • PHP Manual
  • streamWrapper
  • Akım üzerinde belli bir konuma gidilir

streamWrapper::stream_seek

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_seek — Akım üzerinde belli bir konuma gidilir

Açıklama

public streamWrapper::stream_seek(int $başlangıç, int $nereden = SEEK_SET): bool

Bu yöntem fseek() işlevine yanıtta çağrılır.

Akımın oku/yaz konumu başlangıç ve nereden bağımsız değişkenlerine göre güncellenmelidir.

Bağımsız Değişkenler

başlangıç

Gidilecek akım başlangıcı.

nereden

Olası değerler:

  • SEEK_SET - Konum, başlangıç'ıncı bayta ayarlanır.
  • SEEK_CUR - Konum başlangıç artı mevcut konum olarak ayarlanır.
  • SEEK_END - Konum başlangıç artı dosyasonu olarak ayarlanır.

Bilginize: Şu anki gerçeklenim nereden bağımsız değişkeninde SEEK_CUR kabul etmez; bunun yerine bu tür aramalar dahili olarak SEEK_SET aramalarına dönüştürülür.

Dönen Değerler

Konuma gidilebilmişse true yoksa false dönmelidir.

Notlar

Bilginize:

Gerçeklenmemişse dönüş değerinin false olduğu varsayılır.

Bilginize:

Başarı durumunda,
streamWrapper::stream_tell() yöntemi, doğrudan
streamWrapper::stream_seek() yönteminden sonra
çağrılır. Eğer streamWrapper::stream_tell()
başarısız olursa çağrıcı işlevin dönüş değeri false olur.

Bilginize:

Akımtaki tüm arama işlemleri bu işlevin çağrılmasına sebep olmaz. PHP akımlarında okuma tamponu öntanımlı olarak etkindir (ayrıca bkz. stream_set_read_buffer()) ve arama yalnızca tampon göstericisi hareket ettirilerek yapılabilir.

Ayrıca Bakınız

  • fseek() - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır


Akım seçeneklerini değiştirir

  • « streamWrapper::stream_seek
  • streamWrapper::stream_stat »
  • PHP Manual
  • streamWrapper
  • Akım seçeneklerini değiştirir

streamWrapper::stream_set_option

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

streamWrapper::stream_set_option — Akım seçeneklerini değiştirir

Açıklama

public streamWrapper::stream_set_option(int $seçenek, int $arg1, int $arg2): bool

Bu yöntem akıma seçenek atamak için çağrılır.

Bağımsız Değişkenler

seçenek

Şunlardan biri olmalıdır:

  • STREAM_OPTION_BLOCKING (Yöntem stream_set_blocking() işlevine yanıtta çağrılmış)
  • STREAM_OPTION_READ_TIMEOUT (Yöntem stream_set_timeout() işlevine yanıtta çağrılmış)
  • STREAM_OPTION_WRITE_BUFFER (Yöntem stream_set_write_buffer() işlevine yanıtta çağrılmış)

arg1

seçenek değerine göre:

  • STREAM_OPTION_BLOCKING: İstenen engelleme kipi (engelleniyorsa 1, engellenmiyorsa 0).
  • STREAM_OPTION_READ_TIMEOUT: Saniye cinsinden zama aşımı.
  • STREAM_OPTION_WRITE_BUFFER: Tamponlama kipi (STREAM_BUFFER_NONE veya STREAM_BUFFER_FULL).

arg2

seçenek değerine göre:

  • STREAM_OPTION_BLOCKING: Bu seçenek atanmaz.
  • STREAM_OPTION_READ_TIMEOUT: Mikrosaniye cinsinden zaman aşımı.
  • STREAM_OPTION_WRITE_BUFFER: İstenen tampon boyutu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. seçenek gerçeklenmezse false dönmelidir.

Ayrıca Bakınız

  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • stream_set_write_buffer() - Belirtilen akımda dosya yazma tamponunu ayarlar


Bir dosya özkaynağı hakkında bilgi döndürür

  • « streamWrapper::stream_set_option
  • streamWrapper::stream_tell »
  • PHP Manual
  • streamWrapper
  • Bir dosya özkaynağı hakkında bilgi döndürür

streamWrapper::stream_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_stat — Bir dosya özkaynağı hakkında bilgi döndürür

Açıklama

public streamWrapper::stream_stat(): array|false

Bu yöntem fstat() işlevine yanıtta çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

stat() işlevine bakınız.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Ayrıca Bakınız

  • stat() - Bir dosya hakkında bilgi döndürür
  • streamwrapper::url_stat() - Bir dosya hakkında bilgi döndürür


Bir akımdan geçerli konumu döndürür

  • « streamWrapper::stream_stat
  • streamWrapper::stream_truncate »
  • PHP Manual
  • streamWrapper
  • Bir akımdan geçerli konumu döndürür

streamWrapper::stream_tell

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_tell — Bir akımdan geçerli konumu döndürür

Açıklama

public streamWrapper::stream_tell(): int

Bu yöntem, geçerli konumu belirlemek için fseek() işlevine yanıt olarak çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Akımdaki geçerli konumu döndürmesi gerekir.

Ayrıca Bakınız

  • ftell() - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
  • streamWrapper::stream_tell()


Akımı sondan kırpar

  • « streamWrapper::stream_tell
  • streamWrapper::stream_write »
  • PHP Manual
  • streamWrapper
  • Akımı sondan kırpar

streamWrapper::stream_truncate

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

streamWrapper::stream_truncate — Akımı sondan kırpar

Açıklama

public streamWrapper::stream_truncate(int $yeni_boyut): bool

ftruncate() gibi bir kırpma işlemine yanıt olarak çağrılır.

Bağımsız Değişkenler

yeni_boyut

Yeni tampon boyutu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ftruncate() - Bir dosyayı belli bir uzunlukta budar


Akıma yazar

  • « streamWrapper::stream_truncate
  • streamWrapper::unlink »
  • PHP Manual
  • streamWrapper
  • Akıma yazar

streamWrapper::stream_write

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::stream_write — Akıma yazar

Açıklama

public streamWrapper::stream_write(string $veri): int

Bu yöntem fwrite() işlevine yanıt olarak çağrılır.

Bilginize:

Başarıyla yazılan bayt sayısına göre akımdaki konumlayıcıyı güncellemeyi unutmayın.

Bağımsız Değişkenler

veri

Sarmalayıcının akımına yazılacak veri.

Bilginize:

Akımda yeteri kadar yer yoksa olduğu kadarına yazılır.

Dönen Değerler

Akımda başarıyla saklanan bayt sayısı döner. 0 dönmüşse hiçbir veri saklanamamış demektir.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Bilginize:

Dönen değer veri uzunluğundan büyükse bir E_WARNING çıktılanır ve dönüş değeri bu uzunluğa düşürülür.

Ayrıca Bakınız

  • fwrite() - Dosyaya ikil kipte yazar


Bir dosyayı siler

  • « streamWrapper::stream_write
  • streamWrapper::url_stat »
  • PHP Manual
  • streamWrapper
  • Bir dosyayı siler

streamWrapper::unlink

(PHP 5, PHP 7, PHP 8)

streamWrapper::unlink — Bir dosyayı siler

Açıklama

public streamWrapper::unlink(string $dosya): bool

Bu yöntem unlink() işlevine yanıt olarak çağrılır.

Bilginize:

Sarmalayıcı dosya silmeyi desteklemiyorsa uygun bir hata iletisi döndürmek adına bu yöntem tanımlanmamalıdır.

Bağımsız Değişkenler

dosya

Silinecek dosyanın yolu (URL'si).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • unlink() - Bir dosyayı siler
  • streamWrapper::rmdir() - Bir dizini siler


Bir dosya hakkında bilgi döndürür

  • « streamWrapper::unlink
  • Akım İşlevleri »
  • PHP Manual
  • streamWrapper
  • Bir dosya hakkında bilgi döndürür

streamWrapper::url_stat

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

streamWrapper::url_stat — Bir dosya hakkında bilgi döndürür

Açıklama

public streamWrapper::url_stat(string $dosya, int $seçenekler): array|false

Bu yöntem stat() ile ilgili aşağıdaki gibi işlevlere bir yanıt olarak çağrılır:

  • copy()
  • fileperms()
  • fileinode()
  • filesize()
  • fileowner()
  • filegroup()
  • fileatime()
  • filemtime()
  • filectime()
  • filetype()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • file_exists()
  • lstat()
  • stat()
  • SplFileInfo::getPerms()
  • SplFileInfo::getInode()
  • SplFileInfo::getSize()
  • SplFileInfo::getOwner()
  • SplFileInfo::getGroup()
  • SplFileInfo::getATime()
  • SplFileInfo::getMTime()
  • SplFileInfo::getCTime()
  • SplFileInfo::getType()
  • SplFileInfo::isWritable()
  • SplFileInfo::isReadable()
  • SplFileInfo::isExecutable()
  • SplFileInfo::isFile()
  • SplFileInfo::isDir()
  • SplFileInfo::isLink()
  • RecursiveDirectoryIterator::hasChildren()

Bağımsız Değişkenler

dosya

Hakkında bilgi döndürülecek dosyanın yolu veya URL'si. Bir URL belirtilmesi durumunda URL ayracı olarak :// kullanılmalıdır. Diğer URL biçimleri desteklenmemektedir.

seçenekler

Akım arayüzü tarafından atanan ek seçeneklerden oluşur. Aşağıdaki değerlerin birleşiminden oluşan bit maskesidir.

Seçenek | Açıklama
STREAM_URL_STAT_LINK | Başka özkaynaklarla ilintilenme yeteneği olan özkaynaklar için (örneğin, bir HTTP konumuna yönlendirme veya bir dosya sistemi sembolik bağı). Bu seçenek sadece döndürülen bağın kendisi hakkında bilgi döndürür, bağın hedefi hakkında değil. Bu seçenek, lstat(), is_link() veya filetype() çağrılarına yanıtta atanır.
STREAM_URL_STAT_QUIET | Bu seçenek atanmışsa sarmalayıcı herhangi bir hata oluşturamayacaktır. Atanmamışsa, URL'nin durumlanması sırasında trigger_error() işlevini kullanarak hataları raporlamaktan siz sorumlu olursunuz.

Dönen Değerler

stat() işlevinin döndürdüğü öğeleri içermesi gereken bir dizi döner. Bilinmeyen veya kullanılabilir olmayan değerler uygun bir değere (genellikle 0) ayarlanır. stat() altında belgelendiği gibi mode değerine özel itina gösterilir. Başarısızlık durumanda false döner.

Hatalar/İstisnalar

Bu yöntem çağrısı başarısız olursa (gerçeklenmeme sorunu gibi) bir E_WARNING iletisi çıktılar.

Notlar

Bilginize:

streamWrapper::$context özelliği, çağıran işleve geçerli bir bağlam aktarılırsa güncellenir.

Ayrıca Bakınız

  • stat() - Bir dosya hakkında bilgi döndürür
  • streamwrapper::stream_stat() - Bir dosya özkaynağı hakkında bilgi döndürür


Akım İşlevleri

İçindekiler

  • stream_bucket_append — Zincirin sonuna bir bakla ekler
  • stream_bucket_make_writeable — Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür
  • stream_bucket_new — Geçerli akımda kullanmak için yeni bir bakla oluşturur
  • stream_bucket_prepend — Zincirin başına bir bakla ekler
  • stream_context_create — Bir akım bağlamı oluşturur
  • stream_context_get_default — Öntanımlı akım bağlamını döndürür
  • stream_context_get_options — Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür
  • stream_context_get_params — Bir bağlamın bağımsız değişkenlerini döndürür
  • stream_context_set_default — Akımları içeren öntanımlı bağlamı tanımlar
  • stream_context_set_option — Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar
  • stream_context_set_options — Sets options on the specified context
  • stream_context_set_params — Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar
  • stream_copy_to_stream — Veriyi bir akımdan diğerine kopyalar
  • stream_filter_append — Süzgeç zincirinin sonuna bir süzgeç ekler
  • stream_filter_prepend — Süzgeç zincirinin başına bir süzgeç ekler
  • stream_filter_register — Kullanıcı tanımlı bir akım süzgecini etkin kılar
  • stream_filter_remove — Akımdan bir süzgeci kaldırır
  • stream_get_contents — Akımdan kalanı bir dizgeye okur
  • stream_get_filters — Etkin süzgeçlerin listesini döndürür
  • stream_get_line — Akımdan belirtilen ayraca kadar bir satır döndürür
  • stream_get_meta_data — Akımdan başlıkları/meta verileri döndürür
  • stream_get_transports — Etkin soket aktarımlarının listesini döndürür
  • stream_get_wrappers — Etkin akımların listesini döndürür
  • stream_is_local — Akım, bir yerel akımsa true döner
  • stream_isatty — Akımın bir TTY olup olmadığına bakar
  • stream_notification_callback — notification bağlam bağımsız değişkeni için bir geri çağırım işlevi
  • stream_register_wrapper — stream_wrapper_register işlevinin takma adıdır
  • stream_resolve_include_path — Göreli dosya adını mutlak yoluna çözümler
  • stream_select — Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
  • stream_set_blocking — Akımın engelleme kipini ayarlar
  • stream_set_chunk_size — Akım blok boyutunu tanımlar
  • stream_set_read_buffer — Akıma dosya okuma tamponu tanımlar
  • stream_set_timeout — Akımın zaman aşımı süresini ayarlar
  • stream_set_write_buffer — Belirtilen akımda dosya yazma tamponunu ayarlar
  • stream_socket_accept — stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder
  • stream_socket_client — Bir Genel Ağ veya Unix alan soketi bağlantısı açar
  • stream_socket_enable_crypto — Bağlı bir soket üzerinde şifrelemeyi açıp kapatır
  • stream_socket_get_name — Yerel veya uzak soketin ismini döndürür
  • stream_socket_pair — Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur
  • stream_socket_recvfrom — Bağlı olsun ya da olmasın bir soketten veri alır
  • stream_socket_sendto — Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir
  • stream_socket_server — Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur
  • stream_socket_shutdown — Çift yönlü bağlantıyı kapatır
  • stream_supports_lock — Akımın kilitlemeyi destekleyip desteklemediğine bakar
  • stream_wrapper_register — Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar
  • stream_wrapper_restore — İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar
  • stream_wrapper_unregister — Bir URL sarmalayıcısını iptal eder


Zincirin sonuna bir bakla ekler

  • « Akım İşlevleri
  • stream_bucket_make_writeable »
  • PHP Manual
  • Akım İşlevleri
  • Zincirin sonuna bir bakla ekler

stream_bucket_append

(PHP 5, PHP 7, PHP 8)

stream_bucket_append — Zincirin sonuna bir bakla ekler

Açıklama

stream_bucket_append(resource $zincir, object $bakla): void
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür

  • « stream_bucket_append
  • stream_bucket_new »
  • PHP Manual
  • Akım İşlevleri
  • Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür

stream_bucket_make_writeable

(PHP 5, PHP 7, PHP 8)

stream_bucket_make_writeable — Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür

Açıklama

stream_bucket_make_writeable(resource $zincir): ?object

Belirtilen zincir içeriğine her erişimde ve her değişiklik ihtiyacında bu işlev çağrılır. Genellikle php_user_filter::filter() yönteminden çağrılır.

Bağımsız Değişkenler

zincir

Bakla nesnesinin alınacağı zincir.

Dönen Değerler

Ya özellikleri aşağıda belirtilen bakla nesnesi ya da null döner.

data (string)

data bucket: Bakladaki dizge

datalen (integer)

datalen bucket: Bakladaki dizgenin uzunluğu

Ayrıca Bakınız

  • stream_bucket_append() - Zincirin sonuna bir bakla ekler
  • stream_bucket_prepend() - Zincirin başına bir bakla ekler


Geçerli akımda kullanmak için yeni bir bakla oluşturur

  • « stream_bucket_make_writeable
  • stream_bucket_prepend »
  • PHP Manual
  • Akım İşlevleri
  • Geçerli akımda kullanmak için yeni bir bakla oluşturur

stream_bucket_new

(PHP 5, PHP 7, PHP 8)

stream_bucket_new — Geçerli akımda kullanmak için yeni bir bakla oluşturur

Açıklama

stream_bucket_new(resource $akım, string $tampon): object
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Zincirin başına bir bakla ekler

  • « stream_bucket_new
  • stream_context_create »
  • PHP Manual
  • Akım İşlevleri
  • Zincirin başına bir bakla ekler

stream_bucket_prepend

(PHP 5, PHP 7, PHP 8)

stream_bucket_prepend — Zincirin başına bir bakla ekler

Açıklama

stream_bucket_prepend(resource $zincir, object $bakla): void

Zincirin başına bir bakla eklemek için çağrılır. Genellikle php_user_filter::filter() işlevinden çağrılır.

Bağımsız Değişkenler

zincir

Bir veya daha fazla bakla nesnesi içeren bir zincir özkaynağı.

bakla

Bakla nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - stream_bucket_prepend() örnekleri

<?php

class foo extends php_user_filter {
protected $calls = 0;
public function filter($giriş, $çıkış, &$tüketilen, $kapanış) {
while ($bakla = stream_bucket_make_writeable($giriş)) {
$tüketilen += $bakla->datalen;
if ($this->calls++ == 2) {
// Bu bakla diğer baklanın önünde görünecek.
stream_bucket_prepend($giriş, $bakla);
}
}
return PSFS_FEED_ME;
}
}
stream_filter_register('test', 'foo');
print file_get_contents('php://filter/read=test/resource=foo');
?>


Bir akım bağlamı oluşturur

  • « stream_bucket_prepend
  • stream_context_get_default »
  • PHP Manual
  • Akım İşlevleri
  • Bir akım bağlamı oluşturur

stream_context_create

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_create — Bir akım bağlamı oluşturur

Açıklama

stream_context_create(?array $seçenekler = null, ?array $bağımsız_değişkenler = null): resource

Belirtilen seçenekler ile bir akım bağlamı oluşturup bağlam özkaynağını döndürür.

Bağımsız Değişkenler

seçenekler

seçenekler bağımsız değişkeni, ya null ya da üyeleri $seçenekler['sarmalayıcı']['seçenek'] = $değer olan bir ilişkisel dizi olmalıdır. Kullanılabilen sarmalayıcılar ve seçeneklerinin listesi bağlam seçeneklerinde bulunabilir.

null öntanımlıdır.

bağımsız_değişkenler

Ya null ya da üyeleri $bağımsız değişkenler['bağımsız_değişken_adı'] = "değer"; olan bir ilişkisel dizi olmalıdır. Standart akım bağımsız değişkenlerinin listesi için Bağlam bağımsız değişkenleri bölümüne bakınız.

Dönen Değerler

Akım bağlamı özkaynağı.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler ve bağımsız_değişkenler artık null olabiliyor.

Örnekler

Örnek 1 - stream_context_create() örneği

<?php
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);

$context = stream_context_create($opts);

/* Yukarıdaki başlıklarla www.example.com'a bir HTTP isteği gönderelim */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp);
fclose($fp);
?>

Ayrıca Bakınız

  • stream_context_set_option() - Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar
  • Desteklenen Protokoller ve Sarmalayıcılar
  • Bağlam seçenekleri ve bağımsız değişkenleri


Öntanımlı akım bağlamını döndürür

  • « stream_context_create
  • stream_context_get_options »
  • PHP Manual
  • Akım İşlevleri
  • Öntanımlı akım bağlamını döndürür

stream_context_get_default

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_context_get_default — Öntanımlı akım bağlamını döndürür

Açıklama

stream_context_get_default(?array $seçenekler = null): resource

Bir bağlam bağımsız değişkeni olmadan çağrılan (fopen(), file_get_contents() gibi) dosya işlevlerinde kullanılmak üzere öntanımlanmış akım bağlamını döndürür. Öntanımlı bağlam için seçenekler bu işlevle de tanımlanabilmektedir. Sözdizimi stream_context_create() ile aynıdır.

Bağımsız Değişkenler

seçenekler
seçenekler dizisi, ya null ya da üyeleri $seçenekler['sarmalayıcı']['seçenek'] = $değer olan bir ilişkisel dizi olmalıdır.

Dönen Değerler

Bir bağlam özkaynağı.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | seçenekler artık null olabiliyor.

Örnekler

Örnek 1 - stream_context_get_default() örneği

<?php
$default_opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar",
'proxy'=>"tcp://10.54.1.39:8000"
)
);

$alternate_opts = array(
'http'=>array(
'method'=>"POST",
'header'=>"Content-type: application/x-www-form-urlencoded\r\n" .
"Content-length: " . strlen("baz=bomb"),
'content'=>"baz=bomb"
)
);

$default = stream_context_get_default($default_opts);
$alternate = stream_context_create($alternate_opts);

/* www.example.com için $default_opts ile belirtilen bağlam
* seçeneklerini kullanarak 10.54.1.39'daki vekil sunucuya
* normal bir GET isteği gönderelim.
*/
readfile('http://www.example.com');

/* $alternate_opts ile belirtilen bağlam seçeneklerini
* kullanarak www.example.com'a doğrudan bir POST isteği
* gönderelim.
*/
readfile('http://www.example.com', false, $alternate);

?>

Ayrıca Bakınız

  • stream_context_create() - Bir akım bağlamı oluşturur
  • stream_context_set_default() - Akımları içeren öntanımlı bağlamı tanımlar
  • Desteklenen Protokoller ve Sarmalayıcılar


Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür

  • « stream_context_get_default
  • stream_context_get_params »
  • PHP Manual
  • Akım İşlevleri
  • Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür

stream_context_get_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_get_options — Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür

Açıklama

stream_context_get_options(resource $akım_veya_bağlam): array

Belirtilen akım veya bağlam için atanmış seçenekleri döndürür.

Bağımsız Değişkenler

akım_veya_bağlam

Seçenekleri döndürülecek akım veya bağlam özkaynağı.

Dönen Değerler

Seçenekleri içeren bir ilişkisel dizi döner.

Örnekler

Örnek 1 - stream_context_get_options() örneği

<?php
$params = array("method" => "POST");

stream_context_set_default(array("http" => $params));

var_dump(stream_context_get_options(stream_context_get_default()));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  ["http"]=>
  array(1) {
    ["method"]=>
    string(4) "POST"
  }
}


Bir bağlamın bağımsız değişkenlerini döndürür

  • « stream_context_get_options
  • stream_context_set_default »
  • PHP Manual
  • Akım İşlevleri
  • Bir bağlamın bağımsız değişkenlerini döndürür

stream_context_get_params

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_context_get_params — Bir bağlamın bağımsız değişkenlerini döndürür

Açıklama

stream_context_get_params(resource $bağlam): array

Belirtilen akım veya bağlamın bağımsız değişkenlerini ve seçeneklerini döndürür.

Bağımsız Değişkenler

bağlam

Bir akım veya bağlam özkaynağı.

Dönen Değerler

Tüm bağlam seçeneklerini ve bağımsız değişkenlerini içeren bir ilişkisel dizi döner.

Örnekler

Örnek 1 - stream_context_get_params() örneği

Temel kullanım örneği

<?php
$ctx = stream_context_create();
$params = array("notification" => "stream_notification_callback");
stream_context_set_params($ctx, $params);

var_dump(stream_context_get_params($ctx));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["notification"]=>
  string(28) "stream_notification_callback"
  ["options"]=>
  array(0) {
  }
}

Ayrıca Bakınız

  • stream_context_set_option() - Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar
  • stream_context_get_options() - Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür
  • stream_context_set_params() - Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar


Akımları içeren öntanımlı bağlamı tanımlar

  • « stream_context_get_params
  • stream_context_set_option »
  • PHP Manual
  • Akım İşlevleri
  • Akımları içeren öntanımlı bağlamı tanımlar

stream_context_set_default

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_context_set_default — Akımları içeren öntanımlı bağlamı tanımlar

Açıklama

stream_context_set_default(array $seçenekler): resource

Bir bağlam bağımsız değişkeni olmadan çağrılan (fopen(), file_get_contents() gibi) dosya işlevlerinde kullanılmak üzere öntanımlı akım bağlamını tanımlar. Sözdizimi stream_context_create() ile aynıdır.

Bağımsız Değişkenler

seçenekler

Öntanımlı bağlam için atanacak seçenekler.

Bilginize:

seçenekler dizisi, üyeleri $seçenekler['sarmalayıcı']['seçenek'] = $değer olan bir ilişkisel dizi olmalıdır.

Dönen Değerler

Öntanımlı akım bağlamı özkaynağı ile döner.

Örnekler

Örnek 1 - stream_context_set_default() örneği

<?php
$default_opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar",
'proxy'=>"tcp://10.54.1.39:8000"
)
);

$default = stream_context_set_default($default_opts);

/* www.example.com için $default_opts ile belirtilen bağlam
* seçeneklerini kullanarak 10.54.1.39'daki vekil sunucuya
* normal bir GET isteği gönderelim.
*/
readfile('http://www.example.com');
?>

Ayrıca Bakınız

  • stream_context_create() - Bir akım bağlamı oluşturur
  • stream_context_get_default() - Öntanımlı akım bağlamını döndürür
  • Desteklenen Protokoller ve Sarmalayıcılar


Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar

  • « stream_context_set_default
  • stream_context_set_options »
  • PHP Manual
  • Akım İşlevleri
  • Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar

stream_context_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_set_option — Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar

Açıklama

stream_context_set_option(
resource $akım_veya_bağlam,
string $sarmalayıcı,
string $seçenek,
mixed $değer
): bool
stream_context_set_option(resource $akım_veya_bağlam, array $seçenekler): bool

Belirtilen bağlam için bir seçenek tanımlar. sarmalayıcı seçenek'ine değer atar.

Bağımsız Değişkenler

akım_veya_bağlam

Seçenekleri uygulanacağı akım veya bağlam özkaynağı.

sarmalayıcı

Sarmalayıcı ismi (protokol olmayabilir). Akımlarla ilgili seçenekler bağlam seçenekleri ve bağımsız değişkenleri sayfasında bulunabilir.

seçenek

Seçeneğin ismi

değer

seçenek değeri.

seçenekler

akım_veya_bağlam için atanacak seçenekler.

Bilginize:

seçenekler dizisi üyeleri $seçenekler['seçenek_adı'] = "değer"; olan bir ilişkisel dizi olmalıdır.

Ayrıca bakınız: Bağlam seçenekleri ve bağımsız değişkenleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets options on the specified context

  • « stream_context_set_option
  • stream_context_set_params »
  • PHP Manual
  • Akım İşlevleri
  • Sets options on the specified context

stream_context_set_options

(PHP 8 >= 8.3.0)

stream_context_set_options — Sets options on the specified context

Açıklama

stream_context_set_options(resource $context, array $options): bool

Sets options on the specified context.

Bağımsız Değişkenler

context

The stream or context resource to apply the options to.

options

The options to set for context.

Bilginize:

options must be an associative array of associative arrays in the format $array['wrapper']['option'] = $value.

Refer to context options and parameters for a listing of stream options.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 stream_context_set_options() example

<?php

$context = stream_context_create();

$options = [
'http' => [
'protocol_version' => 1.1,
'user_agent' => 'PHPT Agent',
],
];

stream_context_set_options($context, $options);
var_dump(stream_context_get_options($context));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["http"]=>
  array(2) {
    ["protocol_version"]=>
    float(1.1)
    ["user_agent"]=>
    string(10) "PHPT Agent"
  }
}

Ayrıca Bakınız

  • stream_context_set_option() - Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar


Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar

  • « stream_context_set_options
  • stream_copy_to_stream »
  • PHP Manual
  • Akım İşlevleri
  • Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar

stream_context_set_params

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_context_set_params — Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar

Açıklama

stream_context_set_params(resource $bağlam, array $bağımsız_değişkenler): bool

Belirtilen bağlamın bağımsız değişkenlerini tanımlar.

Bağımsız Değişkenler

bağlam

Bağımsız değişkenlerin uygulanacağı bağlam özkaynağı.

bağımsız_değişkenler

Tanımlanacak bağımsız değişkenleri $bağımsız_değişkenler['bağımsız_değişken_adı'] = "bağımsız_değişken_değeri"; ilişkisiyle içeren dizi.

Desteklenen bağımsız değişkenler
bağımsız_değişken_adı | Amacı
bildirim | Bir akımın bir bildirim ile her tetiklenişinde çağrılacak kullanıcı tanımlı geri çağırım işlevinin adı. Sadece http:// ve ftp:// akım sarmalayıcılarında desteklenir.
seçenekler | bağlam seçenekleri ve bağımsız değişkenleri kapsamında seçenekleri içeren dizi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • stream_notification_callback() - notification bağlam bağımsız değişkeni için bir geri çağırım işlevi


Veriyi bir akımdan diğerine kopyalar

  • « stream_context_set_params
  • stream_filter_append »
  • PHP Manual
  • Akım İşlevleri
  • Veriyi bir akımdan diğerine kopyalar

stream_copy_to_stream

(PHP 5, PHP 7, PHP 8)

stream_copy_to_stream — Veriyi bir akımdan diğerine kopyalar

Açıklama

stream_copy_to_stream(
resource $kaynak,
resource $hedef,
?int $uzunluk = null,
int $başlangıç = 0
): int|false

Mevcut konumdan (belirtilmişse başlangıç konumundan) itibaren en fazla uzunluk baytlık veriyi kaynak akımdan hedef akıma kopyalar. uzunluk null ise kaynak akımda kalan verinin tamamı kopyalanır.

Bağımsız Değişkenler

kaynak

Kaynak akım.

hedef

Hedef akım.

uzunluk

Kopyalanacak azami bayt sayısı. Öntanımlı olarak kalan baytların tamamı kopyalanır.

başlangıç

Kopyalanacak verinin başlangıç konumu.

Dönen Değerler

Kopyalanan toplam bayt sayısı, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - stream_copy_to_stream() örneği

<?php
$src = fopen('http://www.example.com', 'r');
$dest1 = fopen('ilk1k.txt', 'w');
$dest2 = fopen('kalan.txt', 'w');

echo stream_copy_to_stream($src, $dest1, 1024) .
" bayt ilk1k.txt dosyasına kopyalandı\n";
echo stream_copy_to_stream($src, $dest2) .
" bayt kalan.txt dosyasına kopyalandı\n";

?>

Ayrıca Bakınız

  • copy() - Dosya kopyalar


Süzgeç zincirinin sonuna bir süzgeç ekler

  • « stream_copy_to_stream
  • stream_filter_prepend »
  • PHP Manual
  • Akım İşlevleri
  • Süzgeç zincirinin sonuna bir süzgeç ekler

stream_filter_append

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_append — Süzgeç zincirinin sonuna bir süzgeç ekler

Açıklama

stream_filter_append(
resource $akım,
string $süzgeç,
int $oku_yaz = ?,
mixed $bağımsız_değişkenler = ?
): resource

akım akımına ekli süzgeç zincirinin sonuna süzgeç isimli süzgeci ekler.

Bağımsız Değişkenler

akım

Hedef akım.

süzgeç

Süzgeç ismi.

read_write

stream_filter_append() işlevi öntanımlı olarak, dosya okumak için (r veya r+ kipi) açılmışsa süzgeci okuma süzgeci zincirine ekler. Eğer dosya yazmak için (w, a veya w+, a+ kipi) açılmışsa, süzgeç yazma süzgeci zincirine de eklenir. Bu davranışı geçersiz kılmak için bağımsız değişkene STREAM_FILTER_READ, STREAM_FILTER_WRITE ve/veya STREAM_FILTER_ALL sabitleri de aktarılabilir.

bağımsız_değişkenler

Süzgeç, belirtilen bağımsız_değişkenler ile listenin sonuna eklenir ve akım işlemlerinde son çağrılan süzgeç olur. Süzgeci listenin başına eklemek için stream_filter_prepend() işlevini kullanın.

Dönen Değerler

stream_filter_remove() çağrısına aktarılmak üzere bir özkaynak döndürür, başarısızlık durumunda false döner.

Belirtilen akım bir özkaynak değilse veya süzgeç konumlanamazsa false döner.

Örnekler

Örnek 1 - Süzgeçlerin uygulanacağı yerin belirlenmesi

<?php
/* Okumak ve yazmak için bir dosya açalım */
$fp = fopen('test.txt', 'w+');

/* ROT13 süzgecini yazma zincirine ekleyelim
fakat okuma zincirine eklemeyelim */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);

/* ROT13 ile dönüştürülmek üzere dosyaya bir şeyler yazalım */
fwrite($fp, "This is a test\n");

/* Dosyanın başına dönelim */
rewind($fp);

/* Dosya içeriğini okuyalım.
* Süzgeç okuma zincirine de uygulanmış
* olsaydı metni eski durumuna dönüştürülmüş
* olarak görecektik.
*/
fpassthru($fp);

fclose($fp);

/* Beklenen çıktı
---------------

Guvf vf n grfg

*/
?>

Notlar

Bilginize: Özel (kullanıcı) süzgeçlerini kullanırken
İstenen kullanıcı süzgecini süzgeç olarak tanıtmak için ilk olarak stream_filter_register() çağrılmalıdır.

Bilginize: Henüz okunmamış veri dahili tamponlarda tutulurken akım verisi özkaynaklardan (hem yerel hem de uzak) büyük kümeler halinde okunur. Süzgeç zincirinin sonuna yeni bir süzgeç eklendiğinde, dahili tamponlardaki işlenmiş veriler yeni süzgeçten de geçirilir. Bu davranış, yeni süzgeci zincirin başına ekleyen stream_filter_prepend() işlevinden bu yönüyle farklıdır.

Bilginize: Bir süzgeç hem okuma hem de yazma amacıyla eklendiğinde iki örneği oluşturulur. Her iki süzgeç özkaynağını ayırmak için stream_filter_append() işlevi STREAM_FILTER_READ ve STREAM_FILTER_WRITE ile ayrı ayrı çağrılmalıdır.

Ayrıca Bakınız

  • stream_filter_register() - Kullanıcı tanımlı bir akım süzgecini etkin kılar
  • stream_filter_prepend() - Süzgeç zincirinin başına bir süzgeç ekler
  • stream_get_filters() - Etkin süzgeçlerin listesini döndürür


Süzgeç zincirinin başına bir süzgeç ekler

  • « stream_filter_append
  • stream_filter_register »
  • PHP Manual
  • Akım İşlevleri
  • Süzgeç zincirinin başına bir süzgeç ekler

stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_prepend — Süzgeç zincirinin başına bir süzgeç ekler

Açıklama

stream_filter_prepend(
resource $akım,
string $süzgeç,
int $oku_yaz = ?,
mixed $bağımsız_değişkenler = ?
): resource

akım akımına ekli süzgeçler listesine süzgeç isimli süzgeci ekler.

Bağımsız Değişkenler

akım

Hedef akım.

süzgeç

Eklenecek süzgecin ismi.

oku_yaz

stream_filter_prepend() işlevi öntanımlı olarak, dosya okumak için (r veya r+ kipi) açılmışsa süzgeci okuma süzgeci zincirine ekler. Eğer dosya yazmak için (w, a veya w+, a+ kipi) açılmışsa, süzgeç yazma süzgeci zincirine de eklenir. Bu davranışı geçersiz kılmak için bağımsız değişkene STREAM_FILTER_READ, STREAM_FILTER_WRITE ve/veya STREAM_FILTER_ALL sabitleri de aktarılabilir. Bu bağımsız değişkenin kullanıldığı bir örneği stream_filter_append() işlevinde görebilirsiniz.

bağımsız_değişkenler

Süzgeç, belirtilen bağımsız_değişkenler ile listenin başlangıcına eklenir ve akım işlemlerinde ilk çağrılan süzgeç olur. Süzgeci listenin sonuna eklemek için stream_filter_append() işlevini kullanın.

Dönen Değerler

stream_filter_remove() çağrısına aktarılmak üzere bir özkaynak döndürür, başarısızlık durumunda false döner.

Belirtilen akım bir özkaynak değilse veya süzgeç konumlanamazsa false döner.

Notlar

Bilginize: Özel (kullanıcı) süzgeçlerini kullanırken
İstenen kullanıcı süzgecini süzgeç olarak tanıtmak için ilk olarak stream_filter_register() çağrılmalıdır.

Bilginize: Henüz okunmamış veri dahili tamponlarda tutulurken akım verisi özkaynaklardan (hem yerel hem de uzak) büyük kümeler halinde okunur. Süzgeç zincirinin başına yeni bir süzgeç eklendiğinde, dahili tamponlardaki süzgeçlerden geçirilmemiş veriler yeni süzgeçten geçirilecektir ancak evvelce diğer süzgeçlerden geçirilmiş veriler yeni süzgeçten geçirilmeyecektir. Bu davranış,yeni süzgeci zincirin sonuna ekleyen stream_filter_append() işlevinden bu yönüyle farklıdır.

Bilginize: Bir süzgeç hem okuma hem de yazma amacıyla eklendiğinde iki örneği oluşturulur. Her iki süzgeç özkaynağını ayırmak için stream_filter_prepend() işlevi STREAM_FILTER_READ ve STREAM_FILTER_WRITE ile ayrı ayrı çağrılmalıdır.

Ayrıca Bakınız

  • stream_filter_register() - Kullanıcı tanımlı bir akım süzgecini etkin kılar
  • stream_filter_append() - Süzgeç zincirinin sonuna bir süzgeç ekler


Kullanıcı tanımlı bir akım süzgecini etkin kılar

  • « stream_filter_prepend
  • stream_filter_remove »
  • PHP Manual
  • Akım İşlevleri
  • Kullanıcı tanımlı bir akım süzgecini etkin kılar

stream_filter_register

(PHP 5, PHP 7, PHP 8)

stream_filter_register — Kullanıcı tanımlı bir akım süzgecini etkin kılar

Açıklama

stream_filter_register(string $süzgeç, string $sınıf): bool

stream_filter_register() işlevi dosya sistemi işlevleriyle (fopen(), fread() gibi) kullanılmak üzere kendi süzgecinizi tanımlamanıza izin verir.

Bağımsız Değişkenler

süzgeç

Süzgecin ismi.

sınıf

Bir süzgeci gerçeklemek için, php_user_filter'a bir eklenti olarak, üye işlevlerle bir sınıf tanımlamanız gerekir. Süzgecinizin ekli olduğu akım üzerinde okuma ve yazma işlemleri yaparken, PHP tüm veriyi süzgecinizden (ve akıma ekli diğer süzgeçlerden) geçirerek verinin istendiği gibi değiştirilmesini sağlar. Yöntemleri tamamen php_user_filter sınıfında açıklandığı gibi gerçeklemeniz gerekir. -- Başka türlü yaparsanız süzgecin ne yapacağı belli olmaz.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

süzgeç zaten tanımlı bir süzgeçse false döner.

Örnekler

Örnek 1 - foo-bar.txt akımında büyük harfe dönüşüm süzgeci

Aşağıdaki örnekte, foo-bar.txt akımında okunup yazılan tüm harfleri büyük harfe çeviren strtoupper isimli bir süzgeç gerçeklenmektedir.

<?php

/* Kendi süzgecimizi tanımlayalım */
class strtoupper_filter extends php_user_filter {
function filter($giriş, $çıkış, &$tüketilen, $kapanış)
{
while ($bakla = stream_bucket_make_writeable($giriş)) {
$bakla->data = strtoupper($bakla->data);
$tüketilen += $bakla->datalen;
stream_bucket_append($çıkış, $bakla);
}
return PSFS_PASS_ON;
}
}

/* Süzgecimizi PHP'ye tanıtalım */
stream_filter_register("strtoupper", "strtoupper_filter")
or die("Süzgecin tanıtımı başarısız oldu");

$fp = fopen("foo-bar.txt", "w");

/* Süzgeci açık akıma ekleyelim */
stream_filter_append($fp, "strtoupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* İçeriği tekrar okuyalım */
readfile("foo-bar.txt");

?>

Yukarıdaki örneğin çıktısı:

LINE1
WORD - 2
EASY AS 123

Örnek 2 - Çok sayıda süzgeç ismiyle eşleşen soysal bir süzgeç sınıfının tanıtımı

<?php

/* Kendi süzgeç sınıfımızı tanımlayalım */
class string_filter extends php_user_filter {
var $mode;

function filter($giriş, $çıkış, &$tüketilen, $kapanış)
{
while ($bakla = stream_bucket_make_writeable($giriş)) {
if ($this->mode == 1) {
$bakla->data = strtoupper($bakla->data);
} elseif ($this->mode == 0) {
$bakla->data = strtolower($bakla->data);
}

$tüketilen += $bakla->datalen;
stream_bucket_append($çıkış, $bakla);
}
return PSFS_PASS_ON;
}

function onCreate()
{
if ($this->filtername == 'str.toupper') {
$this->mode = 1;
} elseif ($this->filtername == 'str.tolower') {
$this->mode = 0;
} else {
/* PHP'nin başka str.* süzgeçlerine bakması için
başarısızlığı raporluyoruz */
return false;
}

return true;
}
}

/*Süzgecimizi PHP'ye tanıtalım */
stream_filter_register("str.*", "string_filter")
or die("Süzgeç tanıtılamadı");

$fp = fopen("foo-bar.txt", "w");

/* Süzgeci açık akıma ekleyelim.
Burada str.tolower süzgecini de ekleyebilirdik. */
stream_filter_append($fp, "str.toupper");

fwrite($fp, "Line1\n");
fwrite($fp, "Word - 2\n");
fwrite($fp, "Easy As 123\n");

fclose($fp);

/* İçeriği tekrar okuyalım */
readfile("foo-bar.txt");
?>

Yukarıdaki örneğin çıktısı:

LINE1
WORD - 2
EASY AS 123

Ayrıca Bakınız

  • stream_wrapper_register() - Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar
  • stream_filter_append() - Süzgeç zincirinin sonuna bir süzgeç ekler
  • stream_filter_prepend() - Süzgeç zincirinin başına bir süzgeç ekler


Akımdan bir süzgeci kaldırır

  • « stream_filter_register
  • stream_get_contents »
  • PHP Manual
  • Akım İşlevleri
  • Akımdan bir süzgeci kaldırır

stream_filter_remove

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_filter_remove — Akımdan bir süzgeci kaldırır

Açıklama

stream_filter_remove(resource $süzgeç): bool

stream_filter_prepend() veya stream_filter_append() ile akıma eklenmiş bir akım süzgecini kaldırır. Süzgecin dahili tamponunda kalan veriler silinmeden önce tampon sonraki süzgece boşaltılır.

Bağımsız Değişkenler

süzgeç

Kaldırılacak akım süzgeci.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir akımın dinamik olarak süzülmesi

<?php
/* Okuma ve yazma amacıyla bir dosya açalım */
$fp = fopen("test.txt", "rw");

$rot13_filter = stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
fwrite($fp, "This is ");
stream_filter_remove($rot13_filter);
fwrite($fp, "a test\n");

rewind($fp);
fpassthru($fp);
fclose($fp);

?>

Yukarıdaki örneğin çıktısı:

Guvf vf a test

Ayrıca Bakınız

  • stream_filter_register() - Kullanıcı tanımlı bir akım süzgecini etkin kılar
  • stream_filter_append() - Süzgeç zincirinin sonuna bir süzgeç ekler
  • stream_filter_prepend() - Süzgeç zincirinin başına bir süzgeç ekler


Akımdan kalanı bir dizgeye okur

  • « stream_filter_remove
  • stream_get_filters »
  • PHP Manual
  • Akım İşlevleri
  • Akımdan kalanı bir dizgeye okur

stream_get_contents

(PHP 5, PHP 7, PHP 8)

stream_get_contents — Akımdan kalanı bir dizgeye okur

Açıklama

stream_get_contents(resource $akım, ?int $uzunluk = null, int $konum = -1): string|false

Evvelce açılmış bir akımla çalışması ve belirtilen akım'da kalan içeriğin konum'dan itibaren uzunluk bayta kadar kısmını döndürmesi dışında file_get_contents() işlevi gibidir.

Bağımsız Değişkenler

akım (resource)

fopen() gibi bir işlevden döndürülmüş bir akım özkaynağı.

uzunluk (int)

Okunacak azami bayt sayısı. Öntanımlı değer null olup tamponda kalan tüm baytların okunacağı anlamına gelir.

konum

Okuma işlemine başlamadan önce gösterici buraya konumlanır. Bu sayı negatif ise konumlama yapılmaz ve okuma işlemi geçerli konumdan başlar.

Dönen Değerler

Bir dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - stream_get_contents() örneği

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
// 10. bayttan itibaren tüm sayfayı basalım
echo stream_get_contents($stream, -1, 10);

fclose($stream);
}

if ($stream = fopen('http://www.example.net', 'r')) {
// İlk 5 baytı basalım
echo stream_get_contents($stream, 5);

fclose($stream);
}

?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Bilginize:

null dışında bir uzunluk değeri belirtirken, gerçek içerik önemli ölçüde daha kısa olsa bile bu işlev hemen o boyutta dahili bir tampon ayırır.

Ayrıca Bakınız

  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fread() - Dosyayı ikil kipte okur
  • fpassthru() - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar


Etkin süzgeçlerin listesini döndürür

  • « stream_get_contents
  • stream_get_line »
  • PHP Manual
  • Akım İşlevleri
  • Etkin süzgeçlerin listesini döndürür

stream_get_filters

(PHP 5, PHP 7, PHP 8)

stream_get_filters — Etkin süzgeçlerin listesini döndürür

Açıklama

stream_get_filters(): array

Kurulu sistemdeki kullanılabilir süzgeçlerin listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kurulu sistemdeki kullanılabilir süzgeçlerin isimlerini içeren indisli bir dizi döndürür.

Örnekler

Örnek 1 - stream_get_filters() örneği

<?php
$streamlist = stream_get_filters();
print_r($streamlist);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => zlib.*
    [1] => bzip2.*
    [2] => convert.iconv.*
    [3] => string.rot13
    [4] => string.toupper
    [5] => string.tolower
    [6] => convert.*
    [7] => consumed
    [8] => dechunk
)

Ayrıca Bakınız

  • stream_filter_register() - Kullanıcı tanımlı bir akım süzgecini etkin kılar
  • stream_get_wrappers() - Etkin akımların listesini döndürür


Akımdan belirtilen ayraca kadar bir satır döndürür

  • « stream_get_filters
  • stream_get_meta_data »
  • PHP Manual
  • Akım İşlevleri
  • Akımdan belirtilen ayraca kadar bir satır döndürür

stream_get_line

(PHP 5, PHP 7, PHP 8)

stream_get_line — Akımdan belirtilen ayraca kadar bir satır döndürür

Açıklama

stream_get_line(resource $akım, int $uzunluk, string $ayraç = ""): string|false

Belirtilen akım'dan bir satır döndürür.

uzunluk baytlık veya daha önceyse (boş dizge değilse) ayraç karakterine veya dosya sonuna kadar okunan bayt sayısı uzunlukta bir dizge döndürür. Dönen dizge ayraç karakterini içermez.

Standart \n, \r, \r\n satır sonu ayraçlarından farklı ayraçlara izin vermesi ve dönen dizgenin bu ayracı içermemesi dışında fgets() işlevi gibidir.

Bağımsız Değişkenler

akım

Geçerli bir dosya tanıtıcısı.

uzunluk

Akımdan okunacak baytların sayısı. Negatif değerler desteklenmez. 0 (sıfır), öntanımlı soket tamponu uzunluğu anlamına gelir ve 8192 bayttır.

ayraç

Okumanın duracağı karakter.

Dönen Değerler

En fazla uzunluk baytlık dizge, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • fread() - Dosyayı ikil kipte okur
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetc() - Dosya tanıtıcısından bir karakter döndürür


Akımdan başlıkları/meta verileri döndürür

  • « stream_get_line
  • stream_get_transports »
  • PHP Manual
  • Akım İşlevleri
  • Akımdan başlıkları/meta verileri döndürür

stream_get_meta_data

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_get_meta_data — Akımdan başlıkları/meta verileri döndürür

Açıklama

stream_get_meta_data(resource $akım): array

Belirtilen akım hakkında bilgi döndürür.

Bağımsız Değişkenler

akım

fopen(), fsockopen()
pfsockopen() ve
stream_socket_client()
tarafından oluşturulmuş bir akım.

Dönen Değerler

Elde edilen dizi şu elemanları içerir:

  • timed_out (bool) - Son fread() veya fgets() çağrısında veri beklerken akım zaman aşımına uğramışsa true olur.

  • blocked (bool) - Akım engellenen kipteyse true olur. Bakınız: stream_set_blocking().

  • eof (bool) - Dosya sonuna ulaşılmışsa true olur. Okunmamış baytların sayısı (unread_bytes) sıfırdan farklı olsa bile soket akımları için bu üyenin değeri true olabilir. Okunacak başka veri kalıp kalmadığını öğrenmek için bu üyenin değerine bakmak yerine feof() işlevini kullanın.

  • unread_bytes (int) - PHP'nin dahili tamponunda kalan bayt sayısı.

    Bilginize: Bu değeri bir betikte kullanmamalısınız.

  • stream_type (string) - Akımın alt yapısını açıklayan bir yafta.

  • wrapper_type (string) - Akımın üzerine yerleştiği protokol sarmalayıcı gerçeklenimini açıklayan yafta. Sarmalayıcılar hakkında ayrıntılı bilgi edinmek için Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.

  • wrapper_data (mixed) - Akıma ekli veriye özgü sarmalayıcı türü. Sarmalayıcılar ve sarmaladıkları veriler hakkında ayrıntılı bilgi edinmek için Desteklenen Protokoller ve Sarmalayıcılar bölümüne bakınız.

  • mode (string) - Akım için gereken erişim türü (fopen() sayfasındaki kipler tablosuna bakınız)

  • seekable (bool) - Akım konumlanabilir türdeyse true olur.

  • uri (string) - Akımla ilişkili dosya veya dosya yolu.

  • crypto (array) - Akım için TLS bağlantı meta verisi. (Dikkat: Sadece özkaynak akımı TLS kullanıyorsa vardır.)

Örnekler

Örnek 1 - http'li fopen() kullanılan stream_get_meta_data() örneği

<?php
$url = 'http://www.example.com/';

if (!$fp = fopen($url, 'r')) {
trigger_error("URL ($url) açılamadı", E_USER_ERROR);
}

$meta = stream_get_meta_data($fp);

var_dump($meta);

fclose($fp);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(10) {
  'timed_out' =>
  bool(false)
  'blocked' =>
  bool(true)
  'eof' =>
  bool(false)
  'wrapper_data' =>
  array(13) {
    [0] =>
    string(15) "HTTP/1.1 200 OK"
    [1] =>
    string(11) "Age: 244629"
    [2] =>
    string(29) "Cache-Control: max-age=604800"
    [3] =>
    string(38) "Content-Type: text/html; CHARSET=Windows-1254"
    [4] =>
    string(35) "Date: Sat, 20 Nov 2021 18:17:57 GMT"
    [5] =>
    string(24) "Etag: "3147526947+ident""
    [6] =>
    string(38) "Expires: Sat, 27 Nov 2021 18:17:57 GMT"
    [7] =>
    string(44) "Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT"
    [8] =>
    string(22) "Server: ECS (chb/0286)"
    [9] =>
    string(21) "Vary: Accept-Encoding"
    [10] =>
    string(12) "X-Cache: HIT"
    [11] =>
    string(20) "Content-Length: 1256"
    [12] =>
    string(17) "Connection: close"
  }
  'wrapper_type' =>
  string(4) "http"
  'stream_type' =>
  string(14) "tcp_socket/ssl"
  'mode' =>
  string(1) "r"
  'unread_bytes' =>
  int(1256)
  'seekable' =>
  bool(false)
  'uri' =>
  string(23) "http://www.example.com/"
}

Örnek 2 - https'li stream_socket_client() kullanılan stream_get_meta_data() örneği

<?php
$streamContext = stream_context_create(
[
'ssl' => [
'capture_peer_cert' => true,
'capture_peer_cert_chain' => true,
'disable_compression' => true,
],
]
);

$client = stream_socket_client(
'ssl://www.example.com:443',
$errorNumber,
$errorDescription,
40,
STREAM_CLIENT_CONNECT,
$streamContext
);

$meta = stream_get_meta_data($client);

var_dump($meta);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(8) {
  'crypto' =>
  array(4) {
    'protocol' =>
    string(7) "TLSv1.3"
    'cipher_name' =>
    string(22) "TLS_AES_256_GCM_SHA384"
    'cipher_bits' =>
    int(256)
    'cipher_version' =>
    string(7) "TLSv1.3"
  }
  'timed_out' =>
  bool(false)
  'blocked' =>
  bool(true)
  'eof' =>
  bool(false)
  'stream_type' =>
  string(14) "tcp_socket/ssl"
  'mode' =>
  string(2) "r+"
  'unread_bytes' =>
  int(0)
  'seekable' =>
  bool(false)
}

Notlar

Bilginize:

Bu işlev, Soket eklentisi ile oluşturulan soketlerde çalışmaz.

Ayrıca Bakınız

  • get_headers() - Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür
  • $http_response_header


Etkin soket aktarımlarının listesini döndürür

  • « stream_get_meta_data
  • stream_get_wrappers »
  • PHP Manual
  • Akım İşlevleri
  • Etkin soket aktarımlarının listesini döndürür

stream_get_transports

(PHP 5, PHP 7, PHP 8)

stream_get_transports — Etkin soket aktarımlarının listesini döndürür

Açıklama

stream_get_transports(): array

Kurulu sistemdeki kullanılabilir soket aktarımlarının listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kurulu sistemdeki kullanılabilir soket aktarımlarının isimlerini içeren indisli bir dizi döndürür.

Örnekler

Örnek 1 - stream_get_transports() örneği

<?php
$xportlist = stream_get_transports();
print_r($xportlist);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => tcp
    [1] => udp
    [2] => unix
    [3] => udg
    [4] => ssl
    [5] => sslv3
    [6] => sslv2
    [7] => tls
)

Ayrıca Bakınız

  • stream_get_filters() - Etkin süzgeçlerin listesini döndürür
  • stream_get_wrappers() - Etkin akımların listesini döndürür


Etkin akımların listesini döndürür

  • « stream_get_transports
  • stream_is_local »
  • PHP Manual
  • Akım İşlevleri
  • Etkin akımların listesini döndürür

stream_get_wrappers

(PHP 5, PHP 7, PHP 8)

stream_get_wrappers — Etkin akımların listesini döndürür

Açıklama

stream_get_wrappers(): array

Kurulu sistemdeki kullanılabilir akımların listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kurulu sistemdeki kullanılabilir akımların listesini içeren indisli bir dizi döndürür.

Örnekler

Örnek 1 - stream_get_wrappers() örneği

<?php
print_r(stream_get_wrappers());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => zip
    [1] => php
    [2] => file
    [3] => glob
    [4] => data
    [5] => http
    [6] => ftp
    [7] => compress.bzip2
    [8] => https
    [9] => ftps
    [10] => compress.zlib
    [11] => phar
)

Örnek 2 - Bir akım sarmalayıcının varlığının sınanması

<?php
// bzip2 akım sarmalayıcısı var mıymış, bir bakalım
if (in_array('compress.bzip2', stream_get_wrappers())) {
echo 'compress.bzip2:// desteği var.';
} else {
echo 'compress.bzip2:// desteği yok.';
}
?>

Ayrıca Bakınız

  • stream_wrapper_register() - Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar


Akım, bir yerel akımsa true döner

  • « stream_get_wrappers
  • stream_isatty »
  • PHP Manual
  • Akım İşlevleri
  • Akım, bir yerel akımsa true döner

stream_is_local

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

stream_is_local — Akım, bir yerel akımsa true döner

Açıklama

stream_is_local(resource|string $akım): bool

akım_veya_url ile belirtilen URL veya akım bir yerel akımsa true döner.

Bağımsız Değişkenler

akım

Sınanacak akım özkaynağı veya URL.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_is_local() örneği

Basit bir kullanım örneği.

<?php
var_dump(stream_is_local("http://example.com"));
var_dump(stream_is_local("/etc"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Akımın bir TTY olup olmadığına bakar

  • « stream_is_local
  • stream_notification_callback »
  • PHP Manual
  • Akım İşlevleri
  • Akımın bir TTY olup olmadığına bakar

stream_isatty

(PHP 7 >= 7.2.0, PHP 8)

stream_isatty — Akımın bir TTY olup olmadığına bakar

Açıklama

stream_isatty(resource $akım): bool

akım geçerli bir uçbirim aygıtı mı diye bakar. Windows sistemlerinde de çalışabildiğinden posix_isatty() işlevine göre daha taşınabilirdir.

Bağımsız Değişkenler

akım

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_isatty() örneği

Dosyaya yönlendirilen akımın bir standart girdi veya standart çıktı akımı olup olmadığını saptamak için kullanılabilecek bir komut.

php -r "var_export(stream_isatty(STDERR));"

Yukarıdaki örnek şuna benzer bir çıktı üretir:

true
php -r "var_export(stream_isatty(STDERR));" 2>output.txt

Yukarıdaki örnek şuna benzer bir çıktı üretir:

false


notification bağlam bağımsız değişkeni için bir geri çağırım işlevi

  • « stream_isatty
  • stream_register_wrapper »
  • PHP Manual
  • Akım İşlevleri
  • notification bağlam bağımsız değişkeni için bir geri çağırım işlevi

stream_notification_callback

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

stream_notification_callback — notification bağlam bağımsız değişkeni için bir geri çağırım işlevi

Açıklama

stream_notification_callback(
int $bildirim_kodu,
int $önem,
?string $ileti,
int $ileti_kodu,
int $bayt_sayısı,
int $azami_bayt_sayısı
): void

Bir olay sırasında çağrılmak üzere notification bağlam bağımsız değişkeni tarafından kullanılan bir geriçağırım işlevi.

Bilginize:

Bu gerçek bir işlev olmayıp, kullanacağınız işlevin bir örneği olarak tasarlanmıştır.

Bağımsız Değişkenler

bildirim_kodu

STREAM_NOTIFY_* bildirim sabitlerinden biri.

önem

STREAM_NOTIFY_SEVERITY_* bildirim sabitlerinden biri.

ileti

Olayı açıklayan bir ileti.

ileti_kodu

Olay için kullanılabilecek açıklayıcı bir ileti kodu.

Bu değerin anlamı kullanılacak sarmalayıcıya bağlıdır.

bayt_sayısı

Uygulanabilirse, aktarılacak baytların sayısı.

azami_bayt_sayısı

Uygulanabilirse, aktarılacak baytların azami sayısı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - stream_notification_callback() örneği

<?php
function stream_notification_callback($bildirim_kodu, $önem, $ileti,
$ileti_kodu, $bayt_sayısı, $azami_bayt_sayısı) {

switch($bildirim_kodu) {
case STREAM_NOTIFY_RESOLVE:
case STREAM_NOTIFY_AUTH_REQUIRED:
case STREAM_NOTIFY_COMPLETED:
case STREAM_NOTIFY_FAILURE:
case STREAM_NOTIFY_AUTH_RESULT:
var_dump($bildirim_kodu, $önem, $ileti, $ileti_kodu,
$bayt_sayısı, $azami_bayt_sayısı);
/* yoksay */
break;

case STREAM_NOTIFY_REDIRECTED:
echo "Yönlendirildiği yer: ", $ileti;
break;

case STREAM_NOTIFY_CONNECT:
echo "Bağlandı...";
break;

case STREAM_NOTIFY_FILE_SIZE_IS:
echo "Alınan dosya boyu: ", $azami_bayt_sayısı;
break;

case STREAM_NOTIFY_MIME_TYPE_IS:
echo "Bulunan MIME türü: ", $ileti;
break;

case STREAM_NOTIFY_PROGRESS:
echo "Biraz işlem yapılıp, ", $bayt_sayısı, " bayt indirildi";
break;
}
echo "\n";
}

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

file_get_contents("http://php.net/contact", false, $ctx);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Bağlandı...
Bulunan MIME türü: text/html; CHARSET=Windows-1254
Yönlendirildiği yer: http://no.php.net/contact
Bağlandı...
Alınan dosya boyu: 0
Bulunan MIME türü: text/html; CHARSET=Windows-1254
Yönlendirildiği yer: http://no.php.net/contact.php
Bağlandı...
Alınan dosya boyu: 4589
Bulunan MIME türü: text/html;CHARSET=Windows-1254
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 0 bayt indirildi
Biraz işlem yapılıp, 1440 bayt indirildi
Biraz işlem yapılıp, 2880 bayt indirildi
Biraz işlem yapılıp, 4320 bayt indirildi
Biraz işlem yapılıp, 5760 bayt indirildi
Biraz işlem yapılıp, 6381 bayt indirildi
Biraz işlem yapılıp, 7002 bayt indirildi

Örnek 2 - Komut satırı istemcisi için basit bir ilerleme çubuğu

<?php
function usage($argv) {
echo Kullanım:\n";
printf("\tphp %s <http://example.com/file> <yereldosya>\n", $argv[0]);
exit(1);
}

function stream_notification_callback($bildirim_kodu, $önem, $ileti,
$ileti_kodu, $bayt_sayısı, $azami_bayt_sayısı) {
static $dosyaboyu = null;

switch($bildirim_kodu) {
case STREAM_NOTIFY_RESOLVE:
case STREAM_NOTIFY_AUTH_REQUIRED:
case STREAM_NOTIFY_COMPLETED:
case STREAM_NOTIFY_FAILURE:
case STREAM_NOTIFY_AUTH_RESULT:
/* yoksay */
break;

case STREAM_NOTIFY_REDIRECTED:
echo "Yönlendirildiği yer: ", $ileti, "\n";
break;

case STREAM_NOTIFY_CONNECT:
echo "Bağlandı...\n";
break;

case STREAM_NOTIFY_FILE_SIZE_IS:
$dosyaboyu = $azami_bayt_sayısı;
echo "Dosya uzunluğu: ", $dosyaboyu, "\n";
break;

case STREAM_NOTIFY_MIME_TYPE_IS:
echo "MIME türü: ", $ileti, "\n";
break;

case STREAM_NOTIFY_PROGRESS:
if ($bayt_sayısı > 0) {
if (!isset($dosyaboyu)) {
printf("\rDosya uzunluğu bilinmiyor... %2d kb alındı..",
$bayt_sayısı/1024);
} else {
$length = (int)(($bayt_sayısı/$dosyaboyu)*100);
printf("\r[%-100s] %%%d (%2d/%2d kb)", str_repeat("=",
$length). ">", $length, ($bayt_sayısı/1024), $dosyaboyu/1024);
}
}
break;
}
}

isset($argv[1], $argv[2]) or usage($argv);

$ctx = stream_context_create();
stream_context_set_params($ctx, array("notification" => "stream_notification_callback"));

$fp = fopen($argv[1], "r", false, $ctx);
if (is_resource($fp) && file_put_contents($argv[2], $fp)) {
echo "\nBitti!\n";
exit(0);
}

$err = error_get_last();
echo "\nHataaaa..\n", $err["message"], "\n";
exit(1);
?>

Yukarıdaki örneği şu komutla çalıştıralım: php -n fetch.php http://no2.php.net/get/php-5-LATEST.tar.bz2/from/this/mirror php-latest.tar.bz2. Çıktı şöyle olacaktır:

Bağlandı...
MIME türü: text/html; CHARSET=Windows-1254
Yönlendirildiği yer: http://no2.php.net/distributions/php-5.2.5.tar.bz2
Bağlandı...
Dosya uzunluğu: 7773024
MIME türü: application/octet-stream
[===============>                       ] %40 (3076/7590 kb)

Ayrıca Bakınız

  • Bağlam bağımsız değişkenleri


stream_wrapper_register işlevinin takma adıdır

  • « stream_notification_callback
  • stream_resolve_include_path »
  • PHP Manual
  • Akım İşlevleri
  • stream_wrapper_register işlevinin takma adıdır

stream_register_wrapper

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_register_wrapper — stream_wrapper_register() işlevinin takma adıdır

Açıklama

Bu işlev stream_wrapper_register() işlevinin takma adıdır.


Göreli dosya adını mutlak yoluna çözümler

  • « stream_register_wrapper
  • stream_select »
  • PHP Manual
  • Akım İşlevleri
  • Göreli dosya adını mutlak yoluna çözümler

stream_resolve_include_path

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

stream_resolve_include_path — Göreli dosya adını mutlak yoluna çözümler

Açıklama

stream_resolve_include_path(string $dosya): string

fopen()/include işlevlerinin kurallarıyla göreli yoluyla belirtilen dosyayı mutlak yoluna çözümler.

Bağımsız Değişkenler

dosya

Yolu çözümlenecek dosya.

Dönen Değerler

Çözümlenen mutlak dosya yolunu içeren bir dizge döner, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_resolve_include_path() örneği

Temel kullanım örneği

<?php
var_dump(stream_resolve_include_path("test.php"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(22) "/var/www/html/test.php"


Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır

  • « stream_resolve_include_path
  • stream_set_blocking »
  • PHP Manual
  • Akım İşlevleri
  • Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır

stream_select

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_select — Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır

Açıklama

stream_select(
array|false &$oku,
array|false &$yaz,
array|false &$dış,
int|false $saniye,
?int $mikrosaniye = null
): int|false

stream_select() işlevi akımları diziler halinde kabul eder ve durumları değişinceye kadar bekler. Akımlar üzerinde işlem yapması dışında socket_select() işlevinin benzeridir.

Bağımsız Değişkenler

oku

oku dizisindeki akımlar için veri okunabilir hale gelene kadar beklenir (daha doğrusu, okumanın engellenmediğini görene kadar - özellikle de akım özkaynağının dosya sonunda olduğu, fread() işlevinin sıfır uzunlukta bir dizge döndürdüğü duruma kadar).

yaz

yaz dizisindeki akımlar için yazmanın engellenmediği görülene kadar beklenir.

dış

dış dizisindeki akımlar için yüksek öncelikli istisnai ("band dışı") veri gelinceye kadar beklenir.

Bilginize:

stream_select() dönerken oku, yaz ve dış dizilerinde akım özkaynaklarının değişen durumlarını belirten değişklikler yapılır. Dizilerin özgün anahtarları korunur.

saniye

Son iki bağımsız değişkenin toplamı stream_select() işlevinin dönmeden önce bekleyebileceği zaman aşımı süresini belirler. Bu bağımsız değişkenlerin ikisine de 0 belirtilirse stream_select() veri için beklemeden akımların durum bilgisiyle hemen dönecektir.

saniye bağımsız değişkeninde null belirtilirse stream_select(), izlediği akımlardan birinde bir olay vuku bulana kadar (veya sistem çağrısı bir sinyal ile durdurulana kadar), gerekirse sonsuza kadar engellenebilir.

Uyarı

Zaman aşımı olarak 0 belirtilmesi akımların anlık durumlarının dönmesini sağlar. Ancak, işlevi sıfır zaman aşımı ile bir döngüye sokmak çok fazla işlemci zamanı harcanacağından iyi bir fikir değildir.

Bir kaç saniyelik bir zaman aşımı belirtmek ve bu arada diğer denetimleri ve işlemleri yapmak daha iyidir. 200000 mikrosaniyelik bir zaman aşımı betiğinizin işlemci kullanımını düşürmenize yardımcı olacaktır.

Zaman aşımı değerinin beklenecek azami süreyi belirttiğini unutmayın. stream_select() işlevi istenen akımlar kullanıma hazır olunca, sürenin bitmesini beklemeden dönecektir.

mikrosaniye

saniye bağımsız değişkeninin açıklamasına bakınız.

Dönen Değerler

stream_select() işlevi başarı durumunda değişikliğe uğrayan akımların sayısını döndürür. Hiçbir olay vuku bulmadan zaman aşımı dolmuşsa işlev 0 döndürebilir. Bir hata durumunda işlev false döndürür ve bir uyarı çıktılanır (sistem çağrısı bir sinyal ile kesilince de bu olur).

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | mikrosaniye artık null olabiliyor.

Örnekler

Örnek 1 - stream_select() örneği

Bu örnekte $oku1 ve $oku2 akımlarına okumak için bir veri gelmiş mi diye bakılmaktadır. Zaman aşımı değeri 0 olduğundan işlev beklemeden dönmektedir.

<?php
/* Oku dizisini hazırlayalım */
$oku = array($oku1, $oku2);
$yaz = NULL;
$dış = NULL;
if (false === ($değişen_akım_sayısı = stream_select($oku, $yaz, $dış, 0))) {
/* Hata durumunda yapılacaklar */
} elseif ($değişen_akım_sayısı > 0) {
/* Akımların en azından birinde değişiklik olmuş */
}
?>

Notlar

Bilginize:

Zend motorunun sınırlamalarından dolayı, gönderimli aktarılan bir bağımsız değişkene doğrudan null belirtmek mümkün değildir. Bu nedenle null değerini doğrudan değil, bir değişken veya bir ifade üzerinden belirtin:

<?php
$d = NULL;
stream_select($o, $y, $d, 0);
?>

Bilginize:

Hata durumlarını sınarken === işlecini kullanmanız gerektiğini unutmayın. Çünkü işlev 0 döndürdüğünde == işleci bunu true olarak değerlendirir. Örnek:

<?php
$d = NULL;
if (false === stream_select($o, $y, $d, 0)) {
echo "stream_select() başarısız oldu\n";
}
?>

Bilginize:

Bir akıma okuma/yazma işlemi yapıyorsanız işlemek istediğiniz verinin tamamını işleme sokabileceğiniz gibi bir kanıya kapılmayın. Bazen ilk baytta işlem duruverir.

Bilginize:

Bazı akımlar (zlib gibi) bu işlevle seçilemez.

Bilginize: Windows uyumluluğu

Windows altında, proc_open() işlevinden dönen dosya tanıtıcıları üzerinde stream_select() kullanımı başarısız olur ve false döner.

Bir konsoldan herhangi bir girdi kullanılabilir olduğu anda STDIN durum değiştirir, ancak akımdan okuma yine de engellenebilir.

Ayrıca Bakınız

  • stream_set_blocking() - Akımın engelleme kipini ayarlar


Akımın engelleme kipini ayarlar

  • « stream_select
  • stream_set_chunk_size »
  • PHP Manual
  • Akım İşlevleri
  • Akımın engelleme kipini ayarlar

stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_blocking — Akımın engelleme kipini ayarlar

Açıklama

stream_set_blocking(resource $akım, bool $kip): bool

Belirtilen akım'ın engelleme kipini ayarlar.

Bu işlev, engellenmeyen kipi destekleyen her akımla çalışır (şimdilik, normal dosyalar ve soket akımları).

Bağımsız Değişkenler

akım

Dosya tanıtıcı.

kip

false belirtilirse engellenmeyen kipe, true belirtilirse engellenen kipe geçilir. Bu, fgets() ve fread() gibi akımdan okuma yapan işlevleri etkiler. Engellenmeyen kipte bir fgets() çağrısı hemen dönerken, engellenen kipte akımdan veriyi alana kadar bekler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize:

Windows'ta, bunun yerel dosyalar üzerinde etkisi yoktur. Yerel dosyalar için engellenmeyen G/Ç Windows'ta desteklenmez.

Ayrıca Bakınız

  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır


Akım blok boyutunu tanımlar

  • « stream_set_blocking
  • stream_set_read_buffer »
  • PHP Manual
  • Akım İşlevleri
  • Akım blok boyutunu tanımlar

stream_set_chunk_size

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

stream_set_chunk_size — Akım blok boyutunu tanımlar

Açıklama

stream_set_chunk_size(resource $akım, int $boyut): int

Akıma blok boyutunu tanımlar.

Bağımsız Değişkenler

akım

Hedef akım.

boyut

Tanımlanacak blok boyutu.

Dönen Değerler

Başarılı olursa önceki blok boyu döner.

Hatalar/İstisnalar

boyut 1'den küçük veya PHP_INT_MAX'dan büyükse ValueError istisnası oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | boyut 1'den küçük veya PHP_INT_MAX'dan büyükse artık ValueError istisnası oluşuyor. Evvelce E_WARNING düzeyinde hata çıktılanır ve false dönerdi.


Akıma dosya okuma tamponu tanımlar

  • « stream_set_chunk_size
  • stream_set_timeout »
  • PHP Manual
  • Akım İşlevleri
  • Akıma dosya okuma tamponu tanımlar

stream_set_read_buffer

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

stream_set_read_buffer — Akıma dosya okuma tamponu tanımlar

Açıklama

stream_set_read_buffer(resource $akım, int $boyut): int

Okuma tamponunu tanımlar. Okuma işlemleri için kullanılması dışında stream_set_write_buffer() işlevine eşdeğerdir.

Bağımsız Değişkenler

akım

Dosya tanıtıcısı.

boyut

Tamponun bayt cinsinden boyutu. boyut ='dan küçükse okuma işlemleri tamponlanmaz. Bu, fread() ile yapılan tüm okumaların, diğer süreçlerin bu girdi akımından okumasına izin verilmeden önce tamamlanmasını sağlar.

Dönen Değerler

Başarı durumunda 0 veya istek karşılanamıyorsa başka bir değer döndürür.

Ayrıca Bakınız

  • stream_set_write_buffer() - Belirtilen akımda dosya yazma tamponunu ayarlar


Akımın zaman aşımı süresini ayarlar

  • « stream_set_read_buffer
  • stream_set_write_buffer »
  • PHP Manual
  • Akım İşlevleri
  • Akımın zaman aşımı süresini ayarlar

stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_timeout — Akımın zaman aşımı süresini ayarlar

Açıklama

stream_set_timeout(resource $akım, int $saniye, int $mikrosaniye = 0): bool

Belirtilen akım'ın zaman aşımı süresini saniye ve mikrosaniye toplamına ayarlar.

Akım zaman aşımına uğrarsa stream_get_meta_data() işlevi tarafından döndürülen dizinin 'timed_out' anahtarına true atanır, fakat herhangi bir hata veya uyarı üretilmez.

Bağımsız Değişkenler

akım

Hedef akım.

saniye

Zaman aşımı süresinin saniye sayısı.

mikrosaniye

Zaman aşımı süresinin son saniyesinden sonraki mikrosaniyelerin sayısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_set_timeout() örneği

<?php
$fp = fsockopen("www.example.com", 80);
if (!$fp) {
echo "Dosya açılamadı\n";
} else {

fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
stream_set_timeout($fp, 2);
$res = fread($fp, 2000);

$info = stream_get_meta_data($fp);
fclose($fp);

if ($info['timed_out']) {
echo 'Bağlantı zaman aşımına uğradı!';
} else {
echo $res;
}

}
?>

Notlar

Bilginize:

Bu işlev, stream_socket_recvfrom() gibi ileri düzey işlemler için çalışmaz. Onlar için zaman aşımını stream_select() işlevi ile ayarlayın.

Bu işlevin ismi başta set_socket_timeout() idi, sonra socket_set_timeout() oldu, fakat artık bu isimlerin kullanımı önerilmiyor.

Ayrıca Bakınız

  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar
  • fopen() - Bir dosya veya URL'yi açar


Belirtilen akımda dosya yazma tamponunu ayarlar

  • « stream_set_timeout
  • stream_socket_accept »
  • PHP Manual
  • Akım İşlevleri
  • Belirtilen akımda dosya yazma tamponunu ayarlar

stream_set_write_buffer

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_set_write_buffer — Belirtilen akımda dosya yazma tamponunu ayarlar

Açıklama

stream_set_write_buffer(resource $akım, int $boyut): int

akım üzerinde yazma işlemleri için boyut baytlık tamponu etkin kılar.

Bağımsız Değişkenler

akım

Dosya tanıtıcısı.

boyut

Tamponun bayt sayısı. 0 belirtilirse yazma işlemleri tamponsuz yapılır. Böylece, çıktı akımına dığer süreçlerin yazmasına izin vermeden önce fwrite() ile yapılan tüm yazma işlemlerinin tamamlanması sağlanır.

Dönen Değerler

Başarı durumunda 0, istek yerine getirilememişse sıfırdan farklı bir değer döner.

Örnekler

Örnek 1 - stream_set_write_buffer() örneği

Aşağıdaki örnekte stream_set_write_buffer() işlevinin bir tamponsuz akım oluşturmak için kullanımı gösterilmiştir.

<?php
$dt = fopen($file, "w");
if ($dt) {
if (stream_set_write_buffer($fp, 0) !== 0) {
// tampon ayarlanamadı
}
fwrite($dt, $output);
fclose($dt);
}
?>

Ayrıca Bakınız

  • fopen() - Bir dosya veya URL'yi açar
  • fwrite() - Dosyaya ikil kipte yazar


stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder

  • « stream_set_write_buffer
  • stream_socket_client »
  • PHP Manual
  • Akım İşlevleri
  • stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder

stream_socket_accept

(PHP 5, PHP 7, PHP 8)

stream_socket_accept — stream_socket_server() ile oluşturulmuş bir soketten bağlantı kabul eder

Açıklama

stream_socket_accept(resource $soket, ?float $süre = null, string &$hedef = null): resource|false

Evvelden stream_socket_server() ile oluşturulmuş bir soketten bağlantı kabul eder.

Bağımsız Değişkenler

soket

Bağlantıyı kabul edecek sunucu soketi.

süre

Öntanımlı soket kabul zaman aşımını geçersiz kılar. Zaman saniye cinsinden belirtilir. Öntanımlı olarak, default_socket_timeout kullanılır.

hedef

Seçilen aktarıma dahil edilmişse ve kullanılabilirse bağlanacak istemcinin ismi (adresi).

Bilginize:

stream_socket_get_name() kullanarak daha sonra da saptanabilir.

Dönen Değerler

Kabul edilen soket bağlantısına bir akım döner, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | süre artık null olabiliyor.

Notlar

Uyarı

Bu işlev UDP sunucu soketleri ile kullanılmamalıdır. Yerine, stream_socket_recvfrom() ve stream_socket_sendto() kullanın.

Ayrıca Bakınız

  • stream_socket_server() - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur
  • stream_socket_get_name() - Yerel veya uzak soketin ismini döndürür
  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fwrite() - Dosyaya ikil kipte yazar
  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • cURL İşlevleri


Bir Genel Ağ veya Unix alan soketi bağlantısı açar

  • « stream_socket_accept
  • stream_socket_enable_crypto »
  • PHP Manual
  • Akım İşlevleri
  • Bir Genel Ağ veya Unix alan soketi bağlantısı açar

stream_socket_client

(PHP 5, PHP 7, PHP 8)

stream_socket_client — Bir Genel Ağ veya Unix alan soketi bağlantısı açar

Açıklama

stream_socket_client(
string $adres,
int &$hatanum = null,
string &$ileti = null,
?float $süre = null,
int $seçenekler = STREAM_CLIENT_CONNECT,
?resource $bağlam = null
): resource|false

adres ile belirtilen hedefe bir akım veya verikatarı bağlantısı açar. Oluşturulacak soketin türü standart URL biçemi kullanılarak belirtilir: şema://hedef. TCP ve UDP gibi Genel Ağ Alanı soketleri (AF_INET) için, adres'in hedef parçası bir konak ismi veya IP adresinden sonra gelen bir ikinokta imi ve bir port numarasından oluşur. Unix alan soketleri için target parçası ise dosya sistemi üstündeki bir soket dosyasını göstermelidir.

Bilginize:

Akım öntanımlı olarak engellenebilen türde açılır. stream_set_blocking() işlevini kullanarak engellenmeyen kipe geçebilirsiniz.

Bağımsız Değişkenler

adres

Bağlanılacak soketin adresi.

hatanum

Bağlantı başarısız olursa sistem seviyesindeki hatanın numarası bu bağımsız değişkene atanır.

ileti

Bağlantı başarısız olursa sistem seviyesindeki hatanın açıklaması bu bağımsız değişkene atanır.

süre

connect() sistem çağrısının zaman aşımına uğrayacağı saniye sayısı. Öntanımlı olarak, default_socket_timeout kullanılır.

Bilginize: Bu bağımsız değişken sadece eşzamansız bağlantı yapılmaya çalışılmıyorsa uygulanır.

Bilginize:

Soket üzerinde veri okumak veya yazmak için zaman aşımı, sokete bağlantı yapılırken uygulanacak şekilde sadece stream_set_timeout() tarafından belirlenir.

seçenekler

Bağlantı seçeneklerinin birleşimi olarak bir bit maskesi. Geçerli bağlantı seçenekleri: STREAM_CLIENT_CONNECT (öntanımlı), STREAM_CLIENT_ASYNC_CONNECT ve STREAM_CLIENT_PERSISTENT.

bağlam

stream_context_create() ile oluşturulmuş geçerli bir bağlam özkaynağı.

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde fgets(), fgetss(), fwrite(), fclose() ve feof() gibi diğer dosya işlevleri ile kullanılmak üzere bir akım özkaynağı döner.

Hatalar/İstisnalar

Başarısızlık durumunda hatanum ve ileti bağımsız değişkenlerine, sistem-seviyesi connect() çağrısında oluşan sistem seviyesindeki hatanın bilgisi atanır. hatanum'da döndürülen değer 0 ise ve işlev false döndürüyorsa, hata connect() çağrısından önce oluşmuş demektir. Bu sorunla çoğunlukla soketin ilklendirilmesi sırasında karşılaşılır. hatanum ve ileti bağımsız değişkenlerinin daima gönderimli aktarılmasına dikkat edilmelidir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | süre ve bağlam artık null olabiliyor.

Örnekler

Örnek 1 - stream_socket_client() örneği

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
while (!feof($fp)) {
echo fgets($fp, 1024);
}
fclose($fp);
}
?>

Örnek 2 - UDP bağlantı kullanımı

localhost üzerindeki "daytime" (port 13) UDP hizmetinden tarih ve saati öğrenmek.

<?php
$fp = stream_socket_client("udp://127.0.0.1:13", $errno, $errstr);
if (!$fp) {
echo "HATA: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>

Notlar

Uyarı

UDP soketler bazen, uzak konağa erişilemediği halde hata vermeksizin açılmış gibi görünür. Hata sadece bağlantıya veri okuyup yazmaya çalıştığında ortaya çıkar. Bunun sebebi UDP'nin bir bağlantısız protokol olmasıdır. Bağlantısız protokollerde işletim sistemi, asıl veri alınıncaya veya gönderilinceye kadar sokete bir bağlantı oluşturmaya çalışmaz.

Bilginize: Bir sayısal IPv6 adresi (fe80::1 gibi) belirtirken port numarasıda belirtmek isterseniz IP adresini köşeli ayraçlar arasına almalısınız. Örnek: tcp://[fe80::1]:80.

Bilginize:

Platforma bağlı olarak, Unix alan soketleri mevcut olmayabilir. Kullanılabilecek aktarım çeşitlerinin listesi stream_get_transports() işlevi ile alınabilir. Yerleşik aktarım türlerinin tam listesini Desteklenen Soket Aktarımlarının Listesi sayfasında bulabilirsiniz.

Ayrıca Bakınız

  • stream_socket_server() - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur
  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • stream_select() - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fwrite() - Dosyaya ikil kipte yazar
  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • cURL İşlevleri


Bağlı bir soket üzerinde şifrelemeyi açıp kapatır

  • « stream_socket_client
  • stream_socket_get_name »
  • PHP Manual
  • Akım İşlevleri
  • Bağlı bir soket üzerinde şifrelemeyi açıp kapatır

stream_socket_enable_crypto

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_enable_crypto — Bağlı bir soket üzerinde şifrelemeyi açıp kapatır

Açıklama

stream_socket_enable_crypto(
resource $akım,
bool $etkin,
?int $şifreleme_türü = null,
?resource $oturum_akımı = null
): int|bool

Akım üzerinde şifreleme yapılıp yapılmayacağını belirler.

Şifreleme ile ilgili ayarlar bir kere etkin olunca, etkin bağımsız değişkenine true veya false belirterek dinamik olarak şifrelemenin yapılıp yapılmayacağını belirleyebilirsiniz.

Bağımsız Değişkenler

akım

Akım özkaynağı.

etkin

true belirtilirse akım üzerinde şifreleme yapılır, false belirtilirse yapılmaz.

şifreleme_türü

Akım üzerinde etkin kılınacak şifreleme yöntemini belirler. Geçerli yöntemler:

  • STREAM_CRYPTO_METHOD_SSLv2_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv3_CLIENT
  • STREAM_CRYPTO_METHOD_SSLv23_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_TLS_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT (PHP 7.4.0 ve sonrası)
  • STREAM_CRYPTO_METHOD_SSLv2_SERVER
  • STREAM_CRYPTO_METHOD_SSLv3_SERVER
  • STREAM_CRYPTO_METHOD_SSLv23_SERVER
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLS_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_3_SERVER (PHP 7.4.0 ve sonrası)

Atlanırsa, bunun yerine akımın SSL bağlamındaki crypto_method bağlam seçeneği kullanılır.

oturum_akımı

oturum_akımı akımındaki ayarlarla akımı tohumlar.

Dönen Değerler

Başarı durumunda true, uzlaşılamazsa false, yeterli veri yoksa ve tekrar denemeniz gerekiyorsa 0 döner (sadece engellenmeyen soketlerde).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | oturum_akımı artık null olabiliyor.

Örnekler

Örnek 1 - stream_socket_enable_crypto() örneği

<?php
$fp = stream_socket_client("tcp://myproto.example.com:31337", $errno, $errstr, 30);
if (!$fp) {
die("Bağlantı kurulamadı: $errstr ($errno)");
}

/* Oturum açma aşaması için şifrelemeyi etkin kılalım */
stream_socket_enable_crypto($fp, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT);
fwrite($fp, "USER god\r\n");
fwrite($fp, "PASS secret\r\n");

/* Artık şifrelemeye ihtiyaç kalmadı */
stream_socket_enable_crypto($fp, false);

while ($motd = fgets($fp)) {
echo $motd;
}

fclose($fp);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • OpenSSL İşlevleri
    •

  • Desteklenen Soket Aktarımlarının Listesi
    •


Yerel veya uzak soketin ismini döndürür

  • « stream_socket_enable_crypto
  • stream_socket_pair »
  • PHP Manual
  • Akım İşlevleri
  • Yerel veya uzak soketin ismini döndürür

stream_socket_get_name

(PHP 5, PHP 7, PHP 8)

stream_socket_get_name — Yerel veya uzak soketin ismini döndürür

Açıklama

stream_socket_get_name(resource $soket, bool $uzak): string|false

Belirtilen soket bağlantısının yerel veya uzak ismini döndürür.

Bağımsız Değişkenler

soket

İsmi öğrenilecek soket özkaynağı.

uzak

true belirtilirse uzak soket ismi, false belirtilirse yerel soket ismi döner.

Dönen Değerler

Başarı durumunda soket ismi, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • stream_socket_accept() - stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder


Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur

  • « stream_socket_get_name
  • stream_socket_recvfrom »
  • PHP Manual
  • Akım İşlevleri
  • Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur

stream_socket_pair

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_socket_pair — Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur

Açıklama

stream_socket_pair(int $alan, int $tür, int $protokol): array|false

stream_socket_pair() işlevi, soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur. Bu işlev genellikle süreçler arası iletişimde kullanılır.

Bağımsız Değişkenler

alan

Kullanılacak protokol ailesi: STREAM_PF_INET, STREAM_PF_INET6 veya STREAM_PF_UNIX

tür

Kullanılacak iletişim türü: STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM, STREAM_SOCK_SEQPACKET veya STREAM_SOCK_STREAM

protokol

Kullanılacak protokol: STREAM_IPPROTO_ICMP, STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP veya STREAM_IPPROTO_UDP

Bilginize: Bu sabitlerle ilgili açıklamalar için Akım sabitleri listesine bakınız.

Dönen Değerler

Başarısızlık durumunda false. aksi takdirde iki soket özkaynağı içerem bir dizi döner.

Örnekler

Örnek 1 - stream_socket_pair() örneği

Süreçler arası iletişimde stream_socket_pair() işlevinin kullanılımını gösteren bir örnek:

<?php

$sockets = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
$pid = pcntl_fork();

if ($pid == -1) {
die('süreç çatallanamadı');

} else if ($pid) {
/* ebeveyn */
fclose($sockets[0]);

fwrite($sockets[1], "child PID: $pid\n");
echo fgets($sockets[1]);

fclose($sockets[1]);

} else {
/* çocuk */
fclose($sockets[1]);

fwrite($sockets[0], "alt süreçten bir ileti var\n");
echo fgets($sockets[0]);

fclose($sockets[0]);
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

child PID: 1378
alt süreçten bir ileti var


Bağlı olsun ya da olmasın bir soketten veri alır

  • « stream_socket_pair
  • stream_socket_sendto »
  • PHP Manual
  • Akım İşlevleri
  • Bağlı olsun ya da olmasın bir soketten veri alır

stream_socket_recvfrom

(PHP 5, PHP 7, PHP 8)

stream_socket_recvfrom — Bağlı olsun ya da olmasın bir soketten veri alır

Açıklama

stream_socket_recvfrom(
resource $soket,
int $uzunluk,
int $seçenekler = 0,
?string &$adres = null
): string|false

stream_socket_recvfrom() işlevi uzak bir soketten uzunluk baytlık veri alır.

Bağımsız Değişkenler

soket

Uzak soket.

uzunluk

soket'tan alınacak bayt sayısı.

seçenekler

seçenekler şunların bir birleşimi olarak belirtilebilir:

seçenekler için olası değerler
STREAM_OOB | Band dışı veri alınır.
STREAM_PEEK | Veri soketten alınır fakat tampon okunmamış bırakılır. Sonraki fread() veya stream_socket_recvfrom() çağrıları aynı veriyi görür.

adres

Belirtildiği takdirde uzak soketin adresi olarak ele alınır.

Dönen Değerler

Başarı durumunda okunan veri dizge olarak, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_socket_recvfrom() örneği

<?php
/* localhost üzerinde 1234 portuna bir sunucu soketi açalım */
$server = stream_socket_server('tcp://127.0.0.1:1234');

/* Bir bağlantı kabul edelim */
$socket = stream_socket_accept($server);

/* Band dışı veri olarak bir paket yakalayalım (MTU boyutu 1500 olsun) */
echo "Alınan band dışı veri: '" .
stream_socket_recvfrom($socket, 1500, STREAM_OOB) . "'\n";

/* Normal band dışı veriye bir göz atalım ama okunmamış bırakalım */
echo "Veri: '" . stream_socket_recvfrom($socket, 1500, STREAM_PEEK) . "'\n";

/* Aynı paketi tekrar alalım ama bu sefer tampondan silelim */
echo "Veri: '" . stream_socket_recvfrom($socket, 1500) . "'\n";

/* Portu kapatalım */
fclose($socket);
fclose($server);
?>

Notlar

Bilginize:

uzunluk bayttan daha uzun bir veri alınırsa, verinin alındığı soketin türüne bağlı olarak (UDP gibi) fazla baytlar iptal edilebilir.

Bilginize:

Sokete dayalı akımlar üzerindeki
stream_socket_recvfrom() çağrıları, tamponlu akım
işlevlerinden (fread() veya
stream_get_line() gibi) sonra, veriyi soketten akım
tamponunu devreden çıkararak doğrudan doğruya okur.

Ayrıca Bakınız

  • stream_socket_sendto() - Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir
  • stream_socket_client() - Bir Genel Ağ veya Unix alan soketi bağlantısı açar
  • stream_socket_server() - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur


Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir

  • « stream_socket_recvfrom
  • stream_socket_server »
  • PHP Manual
  • Akım İşlevleri
  • Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir

stream_socket_sendto

(PHP 5, PHP 7, PHP 8)

stream_socket_sendto — Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir

Açıklama

stream_socket_sendto(
resource $soket,
string $veri,
int $seçenekler = 0,
string $adres = ""
): int|false

soket üzerinden belirtilen veriyi gönderir.

Bağımsız Değişkenler

soket

Verinini gönderileceği soket.

veri

Gönderilecek veri.

seçenekler

seçenekler değeri aşağıdakilerin bir birleşimi olabilir:

seçenekler bağımsız değişkeni için olası değerler
STREAM_OOB Band-dışı veri gönderir.

adres

Bu bağımsız değişkende bir adres belirtilmezse soket akımı oluşturulurken belirtilen adres kullanılır.

Bir adres belirtilecekse IPv4 notkalı dördül (veya IPv6) adres belirtilmelidir.

Dönen Değerler

Başarı durumunda sonuçlanan kod bir tamsayı olarak, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_socket_sendto() örneği

<?php
/* localhost üzerinde 1234 portunu açalım */
$socket = stream_socket_client('tcp://127.0.0.1:1234');

/* Alışılmış kanallardan sıradan bir veri gönderelim. */
fwrite($socket, "Normal veri aktarımı.");

/* Band dışı olarak biraz daha veri gönderelim. */
stream_socket_sendto($socket, "Band Dışı Veri.", STREAM_OOB);

/* Portu kapatalım */
fclose($socket);
?>

Ayrıca Bakınız

  • stream_socket_recvfrom() - Bağlı olsun ya da olmasın bir soketten veri alır
  • stream_socket_client() - Bir Genel Ağ veya Unix alan soketi bağlantısı açar
  • stream_socket_server() - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur


Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur

  • « stream_socket_sendto
  • stream_socket_shutdown »
  • PHP Manual
  • Akım İşlevleri
  • Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur

stream_socket_server

(PHP 5, PHP 7, PHP 8)

stream_socket_server — Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur

Açıklama

stream_socket_server(
string $adres,
int &$hatanum = null,
string &$ileti = null,
int $seçenekler = STREAM_SERVER_BIND | STREAM_SERVER_LISTEN,
?resource $bağlam = null
): resource|false

Belirtilen adres üzerinde bir akım veya verikatarı soketi oluşturur.

Bu işlev, stream_socket_accept() kullanarak veri kabul etmek üzere bir soket oluşturmaktan başka bir şey yapmaz.

Bağımsız Değişkenler

adres

Oluşturulacak soketin türü standart URL biçemi kullanılarak belirtilir: şema://hedef.

TCP ve UDP gibi Genel Ağ Alanı soketleri (AF_INET) için, adres'in hedef parçası bir konak ismi veya IP adresinden sonra gelen bir ikinokta imi ve bir port numarasından oluşur. Unix alan soketleri için hedef parçası ise dosya sistemi üstündeki bir soket dosyasını göstermelidir.

Platforma bağlı olarak, Unix alan soketleri mevcut olmayabilir. Kullanılabilecek aktarım çeşitlerinin listesi stream_get_transports() işlevi ile alınabilir. Yerleşik aktarım türlerinin tam listesini Desteklenen Soket Aktarımlarının Listesi sayfasında bulabilirsiniz.

hatanum

Seçimlik hatanum ve ileti bağımsız değişkenleri belirtilmişse, bunlara socket(), bind() ve listen() sistem çağrılarında oluşan sistem seviyesindeki hatanın bilgisi atanır. Eğer hatanum bağımsız değişkeninde 0 döndüğünde işlev false döndürmüşse hata, bind() çağrısından önce oluşmuş demektir. Bu sorunla çoğunlukla soketin ilklendirilmesi sırasında karşılaşılır. hatanum ve ileti bağımsız değişkenlerinin daima gönderimli aktarılmasına dikkat edilmelidir.

ileti

hatanum bağımsız değişkeninin açıklamasına bakınız.

seçenekler

Soket oluşturma seçeneklerinden oluşan bir bit maskesi.

Bilginize:

UDP soketleri için, bu bağımsız değişkenle STREAM_SERVER_BIND değerini aktarmalısınız.

bağlam

stream_context_create() ile oluşturulmuş geçerli bir bağlam özkaynağı.

Dönen Değerler

Bir hata durumunda false, aksi takdirde oluşturulan soketi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağlam artık null olabiliyor.

Örnekler

Örnek 1 - TCP sunucu soketlerinin kullanımı

<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
if (!$socket) {
echo "$errstr ($errno)<br />\n";
} else {
while ($conn = stream_socket_accept($socket)) {
fwrite($conn, 'Yerel zaman: ' . date('n/j/Y g:i a') . "\n");
fclose($conn);
}
fclose($socket);
}
?>

Aşağıdaki örnekte, stream_socket_client() işleviyle ilgili örneklerden birinde yapılan bir zaman sorgusuna bir zaman sunucusunun yanıt vermesi için neler yapıldığı gösterilmiştir.

Bilginize: Çoğu sistem, 1024'ten küçük portları oluşturmak için root yetkisine ihtiyaç duyar.

Örnek 2 - UDP sunucu soketlerinin kullanımı

<?php
$socket = stream_socket_server("udp://127.0.0.1:1113", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
die("$errstr ($errno)");
}

do {
$pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
echo "$peer\n";
stream_socket_sendto($socket, date("D M j H:i:s Y\r\n"), 0, $peer);
} while ($pkt !== false);

?>

Notlar

Bilginize: Bir sayısal IPv6 adresi (fe80::1 gibi) belirtirken port numarasıda belirtmek isterseniz IP adresini köşeli ayraçlar arasına almalısınız. Örnek: tcp://[fe80::1]:80.

Ayrıca Bakınız

  • stream_socket_client() - Bir Genel Ağ veya Unix alan soketi bağlantısı açar
  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fwrite() - Dosyaya ikil kipte yazar
  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • Curl eklentisi


Çift yönlü bağlantıyı kapatır

  • « stream_socket_server
  • stream_supports_lock »
  • PHP Manual
  • Akım İşlevleri
  • Çift yönlü bağlantıyı kapatır

stream_socket_shutdown

(PHP 5 >= 5.2.1, PHP 7, PHP 8)

stream_socket_shutdown — Çift yönlü bağlantıyı kapatır

Açıklama

stream_socket_shutdown(resource $akım, int $kip): bool

Bir çift yönlü bağlantıyı tamamen veya kısmen kapatır.

Bilginize:

İlişkili tampon veya tamponlar, boşaltılabilir ya da boşaltılamaz.

Bağımsız Değişkenler

akım

stream_socket_client() gibi bir işlevle açılmış bir akım.

kip

Şu sabitlerden biri olabilir: STREAM_SHUT_RD (okumayı kapatır), STREAM_SHUT_WR (yazmayı kapatır) veya STREAM_SHUT_RDWR (hem okumayı hem de yazmayı kapatır).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - stream_socket_shutdown() örneği

<?php

$server = stream_socket_server('tcp://127.0.0.1:1337');
$client = stream_socket_client('tcp://127.0.0.1:1337');

var_dump(fputs($client, "hello"));

stream_socket_shutdown($client, STREAM_SHUT_WR);
var_dump(fputs($client, "hello")); // çalışmaz

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(5)

Notice: fputs(): send of 5 bytes failed with errno=32 Broken pipe in
test.php on line 9
int(0)

Ayrıca Bakınız

  • fclose() - Açık bir dosya tanıtıcısını kapatır


Akımın kilitlemeyi destekleyip desteklemediğine bakar

  • « stream_socket_shutdown
  • stream_wrapper_register »
  • PHP Manual
  • Akım İşlevleri
  • Akımın kilitlemeyi destekleyip desteklemediğine bakar

stream_supports_lock

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

stream_supports_lock — Akımın kilitlemeyi destekleyip desteklemediğine bakar

Açıklama

stream_supports_lock(resource $akım): bool

Akımın flock() üzerinden kilitlemeyi destekleyip desteklemediğine bakar.

Bağımsız Değişkenler

akım

Sınanacak akım.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • flock() - Öneri niteliğinde taşınabilir dosya kilitleme


Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar

  • « stream_supports_lock
  • stream_wrapper_restore »
  • PHP Manual
  • Akım İşlevleri
  • Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar

stream_wrapper_register

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

stream_wrapper_register — Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar

Açıklama

stream_wrapper_register(string $protokol, string $sınıf, int $seçenekler = 0): bool

Dosya sistemi işlevleri (fopen(), fread() vb. gibi) ile kullanmak için kendi akım ve sarmalayıcılarınızı gerçeklemenizi sağlar.

Bağımsız Değişkenler

protokol

Etkin olacak sarmalayıcının ismi. Geçerli protokol isimleri sadece abecesel karakterler, nokta (.), artı (+) veya eksi (-) imleri içerebilir.

sınıf

protokol'ü gerçekleyen sınıfın ismi.

seçenekler

protokol bir URL protokolü ise STREAM_IS_URL olmalıdır. Öntanımlı değer 0 olup, yerel akıma karşılıktır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

protokol sarmalayıcısı zaten varsa false döner.

Örnekler

Örnek 1 - Bir akım sarmalayıcının etkin kılınması

<?php
$existed = in_array("var", stream_get_wrappers());
if ($existed) {
stream_wrapper_unregister("var");
}
stream_wrapper_register("var", "VariableStream");
$myvar = "";

$fp = fopen("var://myvar", "r+");

fwrite($fp, "line1\n");
fwrite($fp, "line2\n");
fwrite($fp, "line3\n");

rewind($fp);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
var_dump($myvar);

if ($existed) {
stream_wrapper_restore("var");
}

?>

Yukarıdaki örneğin çıktısı:

line1
line2
line3
string(18) "line1
line2
line3
"

Ayrıca Bakınız

  • streamWrapper örnek sınıfı
  • Akım Sarmalayıcı olarak örnek bir sınıf tanımı
  • stream_wrapper_unregister() - Bir URL sarmalayıcısını iptal eder
  • stream_wrapper_restore() - İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar
  • stream_get_wrappers() - Etkin akımların listesini döndürür


İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar

  • « stream_wrapper_register
  • stream_wrapper_unregister »
  • PHP Manual
  • Akım İşlevleri
  • İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar

stream_wrapper_restore

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_wrapper_restore — İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar

Açıklama

stream_wrapper_restore(string $protokol): bool

stream_wrapper_unregister() işlevi ile iptal edilmiş yerleşik bir sarmalayıcı tekrar etkin kılar.

Bağımsız Değişkenler

protokol

Etkin kılınacak yerleşik sarmalayıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Bir URL sarmalayıcısını iptal eder

  • « stream_wrapper_restore
  • Swoole »
  • PHP Manual
  • Akım İşlevleri
  • Bir URL sarmalayıcısını iptal eder

stream_wrapper_unregister

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

stream_wrapper_unregister — Bir URL sarmalayıcısını iptal eder

Açıklama

stream_wrapper_unregister(string $protokol): bool

Tanımlı bir akım sarmalayıcısını iptal eder. İptal edilen bir sarmalayıcının yerine stream_wrapper_register() işlevi ile kullanıcı tanımlı bir sarmalayıcı koyabileceğiniz gibi stream_wrapper_restore() işlevi ile tekrar etkin kılabilirsiniz.

Bağımsız Değişkenler

protokol

İptal edilecek sarmalayıcı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Swoole

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Swoole İşlevleri
    • swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup
    • swoole_async_read — Read file stream asynchronously
    • swoole_async_readfile — Read a file asynchronously
    • swoole_async_set — Update the async I/O options
    • swoole_async_write — Write data to a file stream asynchronously
    • swoole_async_writefile — Write data to a file asynchronously
    • swoole_clear_error — Clear errors in the socket or on the last error code
    • swoole_client_select — Get the file description which are ready to read/write or error
    • swoole_cpu_num — Get the number of CPU
    • swoole_errno — Get the error code of the latest system call
    • swoole_error_log — Output error messages to the log
    • swoole_event_add — Add new callback functions of a socket into the EventLoop
    • swoole_event_defer — Add callback function to the next event loop
    • swoole_event_del — Remove all event callback functions of a socket
    • swoole_event_exit — Exit the eventloop, only available at the client side
    • swoole_event_set — Update the event callback functions of a socket
    • swoole_event_wait — Start the event loop
    • swoole_event_write — Write data to a socket
    • swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine
    • swoole_last_error — Get the lastest error message
    • swoole_load_module — Load a swoole extension
    • swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop
    • swoole_set_process_name — Set the process name
    • swoole_strerror — Convert the Errno into error messages
    • swoole_timer_after — Trigger a one time callback function in the future
    • swoole_timer_exists — Check if a timer callback function is existed
    • swoole_timer_tick — Trigger a timer tick callback function by time interval
    • swoole_version — Get the version of Swoole
  • Swoole\Async — The Swoole\Async class
    • Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.
    • Swoole\Async::read — Read file stream asynchronously.
    • Swoole\Async::readFile — Read a file asynchronously.
    • Swoole\Async::set — Update the async I/O options.
    • Swoole\Async::write — Write data to a file stream asynchronously.
    • Swoole\Async::writeFile — Description
  • Swoole\Atomic — The Swoole\Atomic class
    • Swoole\Atomic::add — Add a number to the value to the atomic object.
    • Swoole\Atomic::cmpset — Compare and set the value of the atomic object.
    • Swoole\Atomic::__construct — Construct a swoole atomic object.
    • Swoole\Atomic::get — Get the current value of the atomic object.
    • Swoole\Atomic::set — Set a new value to the atomic object.
    • Swoole\Atomic::sub — Subtract a number to the value of the atomic object.
  • Swoole\Buffer — The Swoole\Buffer class
    • Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
    • Swoole\Buffer::clear — Reset the memory buffer.
    • Swoole\Buffer::__construct — Fixed size memory blocks allocation.
    • Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.
    • Swoole\Buffer::expand — Expand the size of memory buffer.
    • Swoole\Buffer::read — Read data from the memory buffer based on offset and length.
    • Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.
    • Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
    • Swoole\Buffer::__toString — Get the string value of the memory buffer.
    • Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.
  • Swoole\Channel — The Swoole\Channel class
    • Swoole\Channel::__construct — Construct a Swoole Channel
    • Swoole\Channel::__destruct — Destruct a Swoole channel.
    • Swoole\Channel::pop — Read and pop data from swoole channel.
    • Swoole\Channel::push — Write and push data into Swoole channel.
    • Swoole\Channel::stats — Get stats of swoole channel.
  • Swoole\Client — The Swoole\Client class
    • Swoole\Client::close — Close the connection established.
    • Swoole\Client::connect — Connect to the remote TCP or UDP port.
    • Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.
    • Swoole\Client::__destruct — Destruct the Swoole client.
    • Swoole\Client::getpeername — Get the remote socket name of the connection.
    • Swoole\Client::getsockname — Get the local socket name of the connection.
    • Swoole\Client::isConnected — Check if the connection is established.
    • Swoole\Client::on — Add callback functions triggered by events.
    • Swoole\Client::pause — Pause receiving data.
    • Swoole\Client::pipe — Redirect the data to another file descriptor.
    • Swoole\Client::recv — Receive data from the remote socket.
    • Swoole\Client::resume — Resume receiving data.
    • Swoole\Client::send — Send data to the remote TCP socket.
    • Swoole\Client::sendfile — Send file to the remote TCP socket.
    • Swoole\Client::sendto — Send data to the remote UDP address.
    • Swoole\Client::set — Set the Swoole client parameters before the connection is established.
    • Swoole\Client::sleep — Remove the TCP client from system event loop.
    • Swoole\Client::wakeup — Add the TCP client back into the system event loop.
  • Swoole\Connection\Iterator — The Swoole\Connection\Iterator class
    • Swoole\Connection\Iterator::count — Count connections.
    • Swoole\Connection\Iterator::current — Return current connection entry.
    • Swoole\Connection\Iterator::key — Return key of the current connection.
    • Swoole\Connection\Iterator::next — Move to the next connection.
    • Swoole\Connection\Iterator::offsetExists — Check if offet exists.
    • Swoole\Connection\Iterator::offsetGet — Offset to retrieve.
    • Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.
    • Swoole\Connection\Iterator::offsetUnset — Unset an offset.
    • Swoole\Connection\Iterator::rewind — Rewinds iterator
    • Swoole\Connection\Iterator::valid — Check if current position is valid.
  • Swoole\Coroutine — The Swoole\Coroutine class
    • Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters
    • Swoole\Coroutine::call_user_func — Call a callback given by the first parameter
    • Swoole\Coroutine::cli_wait — Description
    • Swoole\Coroutine::create — Description
    • Swoole\Coroutine\Client::close — Description
    • Swoole\Coroutine\Client::connect — Description
    • Swoole\Coroutine\Client::__construct — Description
    • Swoole\Coroutine\Client::__destruct — Description
    • Swoole\Coroutine\Client::getpeername — Description
    • Swoole\Coroutine\Client::getsockname — Description
    • Swoole\Coroutine\Client::isConnected — Description
    • Swoole\Coroutine\Client::recv — Description
    • Swoole\Coroutine\Client::send — Description
    • Swoole\Coroutine\Client::sendfile — Description
    • Swoole\Coroutine\Client::sendto — Description
    • Swoole\Coroutine\Client::set — Description
    • Swoole\Coroutine\Http\Client::addFile — Description
    • Swoole\Coroutine\Http\Client::close — Description
    • Swoole\Coroutine\Http\Client::__construct — Description
    • Swoole\Coroutine\Http\Client::__destruct — Description
    • Swoole\Coroutine\Http\Client::execute — Description
    • Swoole\Coroutine\Http\Client::get — Description
    • Swoole\Coroutine\Http\Client::getDefer — Description
    • Swoole\Coroutine\Http\Client::isConnected — Description
    • Swoole\Coroutine\Http\Client::post — Description
    • Swoole\Coroutine\Http\Client::recv — Description
    • Swoole\Coroutine\Http\Client::set — Description
    • Swoole\Coroutine\Http\Client::setCookies — Description
    • Swoole\Coroutine\Http\Client::setData — Description
    • Swoole\Coroutine\Http\Client::setDefer — Description
    • Swoole\Coroutine\Http\Client::setHeaders — Description
    • Swoole\Coroutine\Http\Client::setMethod — Description
    • Swoole\Coroutine\MySQL::close — Description
    • Swoole\Coroutine\MySQL::connect — Description
    • Swoole\Coroutine\MySQL::__construct — Description
    • Swoole\Coroutine\MySQL::__destruct — Description
    • Swoole\Coroutine\MySQL::getDefer — Description
    • Swoole\Coroutine\MySQL::query — Description
    • Swoole\Coroutine\MySQL::recv — Description
    • Swoole\Coroutine\MySQL::setDefer — Description
    • Swoole\Coroutine::getuid — Description
    • Swoole\Coroutine::resume — Description
    • Swoole\Coroutine::suspend — Description
  • Swoole\Event — The Swoole\Event class
    • Swoole\Event::add — Add new callback functions of a socket into the EventLoop.
    • Swoole\Event::defer — Add a callback function to the next event loop.
    • Swoole\Event::del — Remove all event callback functions of a socket.
    • Swoole\Event::exit — Exit the eventloop, only available at client side.
    • Swoole\Event::set — Update the event callback functions of a socket.
    • Swoole\Event::wait — Description
    • Swoole\Event::write — Write data to the socket.
  • Swoole\Exception — The Swoole\Exception class
  • Swoole\Http\Client — The Swoole\Http\Client class
    • Swoole\Http\Client::addFile — Add a file to the post form.
    • Swoole\Http\Client::close — Close the http connection.
    • Swoole\Http\Client::__construct — Construct the async HTTP client.
    • Swoole\Http\Client::__destruct — Destruct the HTTP client.
    • Swoole\Http\Client::download — Download a file from the remote server.
    • Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.
    • Swoole\Http\Client::get — Send GET http request to the remote server.
    • Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.
    • Swoole\Http\Client::on — Register callback function by event name.
    • Swoole\Http\Client::post — Send POST http request to the remote server.
    • Swoole\Http\Client::push — Push data to websocket client.
    • Swoole\Http\Client::set — Update the HTTP client paramters.
    • Swoole\Http\Client::setCookies — Set the http request cookies.
    • Swoole\Http\Client::setData — Set the HTTP request body data.
    • Swoole\Http\Client::setHeaders — Set the HTTP request headers.
    • Swoole\Http\Client::setMethod — Set the HTTP request method.
    • Swoole\Http\Client::upgrade — Upgrade to websocket protocol.
  • Swoole\Http\Request — The Swoole\Http\Request class
    • Swoole\Http\Request::__destruct — Destruct the HTTP request.
    • Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.
  • Swoole\Http\Response — The Swoole\Http\Response class
    • Swoole\Http\Response::cookie — Set the cookies of the HTTP response.
    • Swoole\Http\Response::__destruct — Destruct the HTTP response.
    • Swoole\Http\Response::end — Send data for the HTTP request and finish the response.
    • Swoole\Http\Response::gzip — Enable the gzip of response content.
    • Swoole\Http\Response::header — Set the HTTP response headers.
    • Swoole\Http\Response::initHeader — Init the HTTP response header.
    • Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.
    • Swoole\Http\Response::sendfile — Send file through the HTTP response.
    • Swoole\Http\Response::status — Set the status code of the HTTP response.
    • Swoole\Http\Response::write — Append HTTP body content to the HTTP response.
  • Swoole\Http\Server — The Swoole\Http\Server class
    • Swoole\Http\Server::on — Bind callback function to HTTP server by event name.
    • Swoole\Http\Server::start — Start the swoole http server.
  • Swoole\Lock — The Swoole\Lock class
    • Swoole\Lock::__construct — Construct a memory lock.
    • Swoole\Lock::__destruct — Destory a Swoole memory lock.
    • Swoole\Lock::lock_read — Lock a read-write lock for reading.
    • Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.
    • Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.
    • Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.
    • Swoole\Lock::unlock — Release the lock.
  • Swoole\Mmap — The Swoole\Mmap class
    • Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.
  • Swoole\MySQL — The Swoole\MySQL class
    • Swoole\MySQL::close — Close the async MySQL connection.
    • Swoole\MySQL::connect — Connect to the remote MySQL server.
    • Swoole\MySQL::__construct — Construct an async MySQL client.
    • Swoole\MySQL::__destruct — Destory the async MySQL client.
    • Swoole\MySQL::getBuffer — Description
    • Swoole\MySQL::on — Register callback function based on event name.
    • Swoole\MySQL::query — Run the SQL query.
  • Swoole\MySQL\Exception — The Swoole\MySQL\Exception class
  • Swoole\Process — The Swoole\Process class
    • Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.
    • Swoole\Process::close — Close the pipe to the child process.
    • Swoole\Process::__construct — Construct a process.
    • Swoole\Process::daemon — Change the process to be a daemon process.
    • Swoole\Process::__destruct — Destory the process.
    • Swoole\Process::exec — Execute system commands.
    • Swoole\Process::exit — Stop the child processes.
    • Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.
    • Swoole\Process::kill — Send signal to the child process.
    • Swoole\Process::name — Set name of the process.
    • Swoole\Process::pop — Read and pop data from the message queue.
    • Swoole\Process::push — Write and push data into the message queue.
    • Swoole\Process::read — Read data sending to the process.
    • Swoole\Process::signal — Send signal to the child processes.
    • Swoole\Process::start — Start the process.
    • Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.
    • Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.
    • Swoole\Process::wait — Wait for the events of child processes.
    • Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.
  • Swoole\Redis\Server — The Swoole\Redis\Server class
    • Swoole\Redis\Server::format — Description
    • Swoole\Redis\Server::setHandler — Description
    • Swoole\Redis\Server::start — Description
  • Swoole\Serialize — The Swoole\Serialize class
    • Swoole\Serialize::pack — Serialize the data.
    • Swoole\Serialize::unpack — Unserialize the data.
  • Swoole\Server — The Swoole\Server class
    • Swoole\Server::addlistener — Add a new listener to the server.
    • Swoole\Server::addProcess — Add a user defined swoole_process to the server.
    • Swoole\Server::after — Trigger a callback function after a period of time.
    • Swoole\Server::bind — Bind the connection to a user defined user ID.
    • Swoole\Server::clearTimer — Stop and destory a timer.
    • Swoole\Server::close — Close a connection to the client.
    • Swoole\Server::confirm — Check status of the connection.
    • Swoole\Server::connection_info — Get the connection info by file description.
    • Swoole\Server::connection_list — Get all of the established connections.
    • Swoole\Server::__construct — Construct a Swoole server.
    • Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.
    • Swoole\Server\Port::__construct — Construct a server port
    • Swoole\Server\Port::__destruct — Destory server port
    • Swoole\Server\Port::on — Register callback functions by event.
    • Swoole\Server\Port::set — Set protocol of the server port.
    • Swoole\Server::exist — Check if the connection is existed.
    • Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.
    • Swoole\Server::getClientInfo — Get the connection info by file description.
    • Swoole\Server::getClientList — Get all of the established connections.
    • Swoole\Server::getLastError — Get the error code of the most recent error.
    • Swoole\Server::heartbeat — Check all the connections on the server.
    • Swoole\Server::listen — Listen on the given IP and port, socket type.
    • Swoole\Server::on — Register a callback function by event name.
    • Swoole\Server::pause — Stop receiving data from the connection.
    • Swoole\Server::protect — Set the connection to be protected mode.
    • Swoole\Server::reload — Restart all the worker process.
    • Swoole\Server::resume — Start receving data from the connection.
    • Swoole\Server::send — Send data to the client.
    • Swoole\Server::sendfile — Send file to the connection.
    • Swoole\Server::sendMessage — Send message to worker processes by ID.
    • Swoole\Server::sendto — Send data to the remote UDP address.
    • Swoole\Server::sendwait — Send data to the remote socket in the blocking way.
    • Swoole\Server::set — Set the runtime settings of the swoole server.
    • Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.
    • Swoole\Server::start — Start the Swoole server.
    • Swoole\Server::stats — Get the stats of the Swoole server.
    • Swoole\Server::stop — Stop the Swoole server.
    • Swoole\Server::task — Send data to the task worker processes.
    • Swoole\Server::taskwait — Send data to the task worker processes in blocking way.
    • Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.
    • Swoole\Server::tick — Repeats a given function at every given time-interval.
  • Swoole\Table — The Swoole\Table class
    • Swoole\Table::column — Set the data type and size of the columns.
    • Swoole\Table::__construct — Construct a Swoole memory table with fixed size.
    • Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.
    • Swoole\Table::create — Create the swoole memory table.
    • Swoole\Table::current — Get the current row.
    • Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::del — Delete a row in the Swoole table by $row_key.
    • Swoole\Table::destroy — Destroy the Swoole table.
    • Swoole\Table::exist — Check if a row is existed by $row_key.
    • Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::incr — Increment the value by $row_key and $column_key.
    • Swoole\Table::key — Get the key of current row.
    • Swoole\Table::next — Iterator the next row.
    • Swoole\Table::rewind — Rewind the iterator.
    • Swoole\Table::set — Update a row of the table by $row_key.
    • Swoole\Table::valid — Check current if the current row is valid.
  • Swoole\Timer — The Swoole\Timer class
    • Swoole\Timer::after — Trigger a callback function after a period of time.
    • Swoole\Timer::clear — Delete a timer by timer ID.
    • Swoole\Timer::exists — Check if a timer is existed.
    • Swoole\Timer::tick — Repeats a given function at every given time-interval.
  • Swoole\WebSocket\Frame — The Swoole\WebSocket\Frame class
  • Swoole\WebSocket\Server — The Swoole\WebSocket\Server class
    • Swoole\WebSocket\Server::exist — Check if the file descriptor exists.
    • Swoole\WebSocket\Server::on — Register event callback function
    • Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.
    • Swoole\WebSocket\Server::push — Push data to the remote client.
    • Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.


Giriş

Swoole is a high-performance networking framework using an event-driven, asynchronous, non-blocking I/O model. It can be used to develop high-performance, scalable, concurrent TCP, UDP, Unix socket, HTTP, Websocket services. To get started, please check the » Swoole Docs.

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.


Kurulum

Use --with-swoole[=DIR] when compiling PHP.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/swoole


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Swoole Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
swoole.aio_thread_num | 2 | PHP_INI_ALL |
swoole.display_errors | On | PHP_INI_ALL |
swoole.fast_serialize | Off | PHP_INI_ALL |
swoole.unixsock_buffer_size | 8388608 | PHP_INI_ALL |
swoole.use_namespace | On | PHP_INI_SYSTEM |
swoole.enable_coroutine | On | PHP_INI_ALL | Available as of swoole 4.0.0
swoole.use_shortname | On | PHP_INI_ALL | Available as of swoole 4.0.0
swoole.enable_preemptive_scheduler | Off | PHP_INI_ALL | Available as of swoole 4.4.0
swoole.enable_library | On | PHP_INI_ALL | Available as of swoole 4.0.0

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

swoole.aio_thread_num int

POSIX asynchronous I/O thread number

swoole.display_errors string

This determines whether Swoole errors should be printed to the screen.

swoole.fast_serialize string

Whether to enable Swoole fast_serialize.

swoole.unixsock_buffer_size int

Buffer size of Unix socket.

swoole.use_namespace string

Whether to use PHP namespaces

swoole.enable_coroutine string

Whether to enable coroutine

swoole.use_shortname string

Whether to enable short aliases

swoole.enable_preemptive_scheduler string

Whether to enable preemptive scheduler

swoole.enable_library string

Whether to enable library


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SWOOLE_BASE (int)
SWOOLE_THREAD (int)
SWOOLE_PROCESS (int)
SWOOLE_IPC_UNSOCK (int)
SWOOLE_IPC_MSGQUEUE (int)
SWOOLE_IPC_PREEMPTIVE (int)
SWOOLE_SOCK_TCP (int)
SWOOLE_SOCK_TCP6 (int)
SWOOLE_SOCK_UDP (int)
SWOOLE_SOCK_UDP6 (int)
SWOOLE_SOCK_UNIX_DGRAM (int)
SWOOLE_SOCK_UNIX_STREAM (int)
SWOOLE_TCP (int)
SWOOLE_TCP6 (int)
SWOOLE_UDP (int)
SWOOLE_UDP6 (int)
SWOOLE_UNIX_DGRAM (int)
SWOOLE_UNIX_STREAM (int)
SWOOLE_SOCK_SYNC (int)
SWOOLE_SOCK_ASYNC (int)
SWOOLE_SYNC (int)
SWOOLE_ASYNC (int)
SWOOLE_KEEP (int)
SWOOLE_EVENT_READ (int)
SWOOLE_EVENT_WRITE (int)
SWOOLE_VERSION (string)
SWOOLE_AIO_BASE (int)
SWOOLE_AIO_LINUX (int)
SWOOLE_FILELOCK (int)
SWOOLE_MUTEX (int)
SWOOLE_SEM (int)
SWOOLE_RWLOCK (int)
WEBSOCKET_OPCODE_TEXT (int)
WEBSOCKET_OPCODE_BINARY (int)
WEBSOCKET_OPCODE_PING (int)
WEBSOCKET_STATUS_CONNECTION (int)
WEBSOCKET_STATUS_HANDSHAKE (int)
WEBSOCKET_STATUS_FRAME (int)
WEBSOCKET_STATUS_ACTIVE (int)
SWOOLE_FAST_PACK (int)
SWOOLE_LOG_DEBUG (int)
Debug log. Available as of swoole 2.1.2.
SWOOLE_LOG_TRACE (int)
Trace log. Available as of swoole 2.1.2.
SWOOLE_LOG_INFO (int)
Info log. Available as of swoole 2.1.2.
SWOOLE_LOG_NOTICE (int)
Notice log. Available as of swoole 2.1.2.
SWOOLE_LOG_WARNING (int)
Warning log. Available as of swoole 2.1.2.
SWOOLE_LOG_ERROR (int)
Error log. Available as of swoole 2.1.2.
SWOOLE_LOG_NONE (int)
None log. Available as of swoole 4.3.2.


Swoole İşlevleri

İçindekiler

  • swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup
  • swoole_async_read — Read file stream asynchronously
  • swoole_async_readfile — Read a file asynchronously
  • swoole_async_set — Update the async I/O options
  • swoole_async_write — Write data to a file stream asynchronously
  • swoole_async_writefile — Write data to a file asynchronously
  • swoole_clear_error — Clear errors in the socket or on the last error code
  • swoole_client_select — Get the file description which are ready to read/write or error
  • swoole_cpu_num — Get the number of CPU
  • swoole_errno — Get the error code of the latest system call
  • swoole_error_log — Output error messages to the log
  • swoole_event_add — Add new callback functions of a socket into the EventLoop
  • swoole_event_defer — Add callback function to the next event loop
  • swoole_event_del — Remove all event callback functions of a socket
  • swoole_event_exit — Exit the eventloop, only available at the client side
  • swoole_event_set — Update the event callback functions of a socket
  • swoole_event_wait — Start the event loop
  • swoole_event_write — Write data to a socket
  • swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine
  • swoole_last_error — Get the lastest error message
  • swoole_load_module — Load a swoole extension
  • swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop
  • swoole_set_process_name — Set the process name
  • swoole_strerror — Convert the Errno into error messages
  • swoole_timer_after — Trigger a one time callback function in the future
  • swoole_timer_exists — Check if a timer callback function is existed
  • swoole_timer_tick — Trigger a timer tick callback function by time interval
  • swoole_version — Get the version of Swoole


Async and non-blocking hostname to IP lookup

  • « Swoole İşlevleri
  • swoole_async_read »
  • PHP Manual
  • Swoole İşlevleri
  • Async and non-blocking hostname to IP lookup

swoole_async_dns_lookup

(PECL swoole >= 1.9.0)

swoole_async_dns_lookup — Async and non-blocking hostname to IP lookup

Açıklama

swoole_async_dns_lookup(string $hostname, callable $callback): bool

Bağımsız Değişkenler

hostname

The host name.

callback
callback(string $hostname, string $ip): mixed
hostname

The host name.

IP

The IP address.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Read file stream asynchronously

  • « swoole_async_dns_lookup
  • swoole_async_readfile »
  • PHP Manual
  • Swoole İşlevleri
  • Read file stream asynchronously

swoole_async_read

(PECL swoole >= 1.9.0)

swoole_async_read — Read file stream asynchronously

Açıklama

swoole_async_read(
string $filename,
callable $callback,
int $chunk_size = 65536,
int $offset = 0
): bool

Bağımsız Değişkenler

filename

The filename of the file being read.

callback
callback(string $filename, string $content): mixed
filename

The name of the file.

content

The content readed from the file stream.

chunk_size

The chunk length.

offset

The offset.

Dönen Değerler

Whether the read is succeed.


Read a file asynchronously

  • « swoole_async_read
  • swoole_async_set »
  • PHP Manual
  • Swoole İşlevleri
  • Read a file asynchronously

swoole_async_readfile

(PECL swoole >= 1.9.0)

swoole_async_readfile — Read a file asynchronously

Açıklama

swoole_async_readfile(string $filename, callable $callback): bool

Bağımsız Değişkenler

filename

The filename of the file being read.

callback
callback(string $filename, string $content): mixed
filename

The name of the file.

content

The content read from the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Update the async I/O options

  • « swoole_async_readfile
  • swoole_async_write »
  • PHP Manual
  • Swoole İşlevleri
  • Update the async I/O options

swoole_async_set

(PECL swoole >= 1.9.0)

swoole_async_set — Update the async I/O options

Açıklama

swoole_async_set(array $settings): void

Bağımsız Değişkenler

settings

Dönen Değerler

Hiçbir değer dönmez.


Write data to a file stream asynchronously

  • « swoole_async_set
  • swoole_async_writefile »
  • PHP Manual
  • Swoole İşlevleri
  • Write data to a file stream asynchronously

swoole_async_write

(PECL swoole >= 1.9.0)

swoole_async_write — Write data to a file stream asynchronously

Açıklama

swoole_async_write(
string $filename,
string $content,
int $offset = ?,
callable $callback = ?
): bool

Bağımsız Değişkenler

filename

The filename being written.

content

The content writing to the file.

offset

The offset.

callback

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Write data to a file asynchronously

  • « swoole_async_write
  • swoole_clear_error »
  • PHP Manual
  • Swoole İşlevleri
  • Write data to a file asynchronously

swoole_async_writefile

(PECL swoole >= 1.9.0)

swoole_async_writefile — Write data to a file asynchronously

Açıklama

swoole_async_writefile(
string $filename,
string $content,
callable $callback = ?,
int $flags = 0
): bool

Bağımsız Değişkenler

filename

The filename being written.

content

The content writing to the file.

callback

flags

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Clear errors in the socket or on the last error code

  • « swoole_async_writefile
  • swoole_client_select »
  • PHP Manual
  • Swoole İşlevleri
  • Clear errors in the socket or on the last error code

swoole_clear_error

(PECL swoole >= 4.6.0)

swoole_clear_error — Clear errors in the socket or on the last error code

Açıklama

swoole_clear_error(): void

Clear errors in the socket or on the last error code.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Get the file description which are ready to read/write or error

  • « swoole_clear_error
  • swoole_cpu_num »
  • PHP Manual
  • Swoole İşlevleri
  • Get the file description which are ready to read/write or error

swoole_client_select

(PECL swoole >= 1.9.0)

swoole_client_select — Get the file description which are ready to read/write or error

Açıklama

swoole_client_select(
array &$read_array,
array &$write_array,
array &$error_array,
float $timeout = 0.5
): int

Bağımsız Değişkenler

read_array

write_array

error_array

timeout

Dönen Değerler


Get the number of CPU

  • « swoole_client_select
  • swoole_errno »
  • PHP Manual
  • Swoole İşlevleri
  • Get the number of CPU

swoole_cpu_num

(PECL swoole >= 1.9.0)

swoole_cpu_num — Get the number of CPU

Açıklama

swoole_cpu_num(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of CPU.


Get the error code of the latest system call

  • « swoole_cpu_num
  • swoole_error_log »
  • PHP Manual
  • Swoole İşlevleri
  • Get the error code of the latest system call

swoole_errno

(PECL swoole >= 1.9.0)

swoole_errno — Get the error code of the latest system call

Açıklama

swoole_errno(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Output error messages to the log

  • « swoole_errno
  • swoole_event_add »
  • PHP Manual
  • Swoole İşlevleri
  • Output error messages to the log

swoole_error_log

(PECL swoole >= 4.5.8)

swoole_error_log — Output error messages to the log

Açıklama

swoole_error_log(int $level, string $msg): void

Output error messages to the log.

Bağımsız Değişkenler

level

Log Level, constants can be used: SWOOLE_LOG_DEBUG, SWOOLE_LOG_TRACE, SWOOLE_LOG_INFO, SWOOLE_LOG_NOTICE, SWOOLE_LOG_WARNING, SWOOLE_LOG_ERROR, SWOOLE_LOG_NONE

msg

Message content to be written to the log.

Dönen Değerler

Hiçbir değer dönmez.


Add new callback functions of a socket into the EventLoop

  • « swoole_error_log
  • swoole_event_defer »
  • PHP Manual
  • Swoole İşlevleri
  • Add new callback functions of a socket into the EventLoop

swoole_event_add

(PECL swoole >= 1.9.0)

swoole_event_add — Add new callback functions of a socket into the EventLoop

Açıklama

swoole_event_add(
int $fd,
callable $read_callback = ?,
callable $write_callback = ?,
int $events = 0
): int

Bağımsız Değişkenler

fd

read_callback

write_callback

events

Dönen Değerler


Add callback function to the next event loop

  • « swoole_event_add
  • swoole_event_del »
  • PHP Manual
  • Swoole İşlevleri
  • Add callback function to the next event loop

swoole_event_defer

(PECL swoole >= 1.9.0)

swoole_event_defer — Add callback function to the next event loop

Açıklama

swoole_event_defer(callable $callback): bool

Bağımsız Değişkenler

callback

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Remove all event callback functions of a socket

  • « swoole_event_defer
  • swoole_event_exit »
  • PHP Manual
  • Swoole İşlevleri
  • Remove all event callback functions of a socket

swoole_event_del

(PECL swoole >= 1.9.0)

swoole_event_del — Remove all event callback functions of a socket

Açıklama

swoole_event_del(int $fd): bool

Bağımsız Değişkenler

fd

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Exit the eventloop, only available at the client side

  • « swoole_event_del
  • swoole_event_set »
  • PHP Manual
  • Swoole İşlevleri
  • Exit the eventloop, only available at the client side

swoole_event_exit

(PECL swoole >= 1.9.0)

swoole_event_exit — Exit the eventloop, only available at the client side

Açıklama

swoole_event_exit(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Update the event callback functions of a socket

  • « swoole_event_exit
  • swoole_event_wait »
  • PHP Manual
  • Swoole İşlevleri
  • Update the event callback functions of a socket

swoole_event_set

(PECL swoole >= 1.9.0)

swoole_event_set — Update the event callback functions of a socket

Açıklama

swoole_event_set(
int $fd,
callable $read_callback = ?,
callable $write_callback = ?,
int $events = 0
): bool

Bağımsız Değişkenler

fd

read_callback

write_callback

events

Dönen Değerler


Start the event loop

  • « swoole_event_set
  • swoole_event_write »
  • PHP Manual
  • Swoole İşlevleri
  • Start the event loop

swoole_event_wait

(PECL swoole >= 1.9.0)

swoole_event_wait — Start the event loop

Açıklama

swoole_event_wait(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Write data to a socket

  • « swoole_event_wait
  • swoole_get_local_ip »
  • PHP Manual
  • Swoole İşlevleri
  • Write data to a socket

swoole_event_write

(PECL swoole >= 1.9.0)

swoole_event_write — Write data to a socket

Açıklama

swoole_event_write(int $fd, string $data): bool

Bağımsız Değişkenler

fd

data

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Get the IPv4 IP addresses of each NIC on the machine

  • « swoole_event_write
  • swoole_last_error »
  • PHP Manual
  • Swoole İşlevleri
  • Get the IPv4 IP addresses of each NIC on the machine

swoole_get_local_ip

(PECL swoole >= 1.9.0)

swoole_get_local_ip — Get the IPv4 IP addresses of each NIC on the machine

Açıklama

swoole_get_local_ip(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the lastest error message

  • « swoole_get_local_ip
  • swoole_load_module »
  • PHP Manual
  • Swoole İşlevleri
  • Get the lastest error message

swoole_last_error

(PECL swoole >= 1.9.0)

swoole_last_error — Get the lastest error message

Açıklama

swoole_last_error(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Load a swoole extension

  • « swoole_last_error
  • swoole_select »
  • PHP Manual
  • Swoole İşlevleri
  • Load a swoole extension

swoole_load_module

(PECL swoole >= 1.9.0)

swoole_load_module — Load a swoole extension

Açıklama

swoole_load_module(string $filename): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Select the file descriptions which are ready to read/write or error in the eventloop

  • « swoole_load_module
  • swoole_set_process_name »
  • PHP Manual
  • Swoole İşlevleri
  • Select the file descriptions which are ready to read/write or error in the eventloop

swoole_select

(PECL swoole >= 1.9.0)

swoole_select — Select the file descriptions which are ready to read/write or error in the eventloop

Açıklama

swoole_select(
array &$read_array,
array &$write_array,
array &$error_array,
float $timeout = ?
): int

Bağımsız Değişkenler

read_array

write_array

error_array

timeout

Dönen Değerler


Set the process name

  • « swoole_select
  • swoole_strerror »
  • PHP Manual
  • Swoole İşlevleri
  • Set the process name

swoole_set_process_name

(PECL swoole >= 1.9.0)

swoole_set_process_name — Set the process name

Açıklama

swoole_set_process_name(string $process_name, int $size = 128): void

Bağımsız Değişkenler

process_name

Dönen Değerler


Convert the Errno into error messages

  • « swoole_set_process_name
  • swoole_timer_after »
  • PHP Manual
  • Swoole İşlevleri
  • Convert the Errno into error messages

swoole_strerror

(PECL swoole >= 1.9.0)

swoole_strerror — Convert the Errno into error messages

Açıklama

swoole_strerror(int $errno, int $error_type = 0): string

Bağımsız Değişkenler

errno

Dönen Değerler


Trigger a one time callback function in the future

  • « swoole_strerror
  • swoole_timer_exists »
  • PHP Manual
  • Swoole İşlevleri
  • Trigger a one time callback function in the future

swoole_timer_after

(PECL swoole >= 1.9.0)

swoole_timer_after — Trigger a one time callback function in the future

Açıklama

swoole_timer_after(int $ms, callable $callback, mixed $param = ?): int

Bağımsız Değişkenler

ms

callback

param

Dönen Değerler


Check if a timer callback function is existed

  • « swoole_timer_after
  • swoole_timer_tick »
  • PHP Manual
  • Swoole İşlevleri
  • Check if a timer callback function is existed

swoole_timer_exists

(PECL swoole >= 1.9.0)

swoole_timer_exists — Check if a timer callback function is existed

Açıklama

swoole_timer_exists(int $timer_id): bool

Bağımsız Değişkenler

timer_id

Dönen Değerler


Trigger a timer tick callback function by time interval

  • « swoole_timer_exists
  • swoole_version »
  • PHP Manual
  • Swoole İşlevleri
  • Trigger a timer tick callback function by time interval

swoole_timer_tick

(PECL swoole >= 1.9.0)

swoole_timer_tick — Trigger a timer tick callback function by time interval

Açıklama

swoole_timer_tick(int $ms, callable $callback, mixed $param = ?): int

Bağımsız Değişkenler

ms

callback

Dönen Değerler


Get the version of Swoole

  • « swoole_timer_tick
  • Swoole\Async »
  • PHP Manual
  • Swoole İşlevleri
  • Get the version of Swoole

swoole_version

(PECL swoole >= 1.9.0)

swoole_version — Get the version of Swoole

Açıklama

swoole_version(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The version of Swoole.


The Swoole\Async class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Async {
/* Yöntemler */
public static dnsLookup(string $hostname, callable $callback): void
public static read(
string $filename,
callable $callback,
int $chunk_size = ?,
int $offset = ?
): bool
public static readFile(string $filename, callable $callback): void
public static set(array $settings): void
public static write(
string $filename,
string $content,
int $offset = ?,
callable $callback = ?
): void
public static writeFile(
string $filename,
string $content,
callable $callback = ?,
string $flags = ?
): void
}

İçindekiler

  • Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.
  • Swoole\Async::read — Read file stream asynchronously.
  • Swoole\Async::readFile — Read a file asynchronously.
  • Swoole\Async::set — Update the async I/O options.
  • Swoole\Async::write — Write data to a file stream asynchronously.
  • Swoole\Async::writeFile — Description


Async and non-blocking hostname to IP lookup.

  • « Swoole\Async
  • Swoole\Async::read »
  • PHP Manual
  • Swoole\Async
  • Async and non-blocking hostname to IP lookup.

Swoole\Async::dnsLookup

(PECL swoole >= 1.9.0)

Swoole\Async::dnsLookup — Async and non-blocking hostname to IP lookup.

Açıklama

public static Swoole\Async::dnsLookup(string $hostname, callable $callback): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

hostname

The host name.

callback
callback(string $hostname, string $ip): mixed
hostname

The host name.

IP

The IP address.


Read file stream asynchronously.

  • « Swoole\Async::dnsLookup
  • Swoole\Async::readFile »
  • PHP Manual
  • Swoole\Async
  • Read file stream asynchronously.

Swoole\Async::read

(PECL swoole >= 1.9.0)

Swoole\Async::read — Read file stream asynchronously.

Açıklama

public static Swoole\Async::read(
string $filename,
callable $callback,
int $chunk_size = ?,
int $offset = ?
): bool

Bağımsız Değişkenler

filename

The name of the file.

callback
callback(string $filename, string $content): mixed
filename

The name of the file.

content

The content readed from the file stream.

chunk_size

The chunk length.

offset

The offset.

Dönen Değerler

Whether the read is succeed.


Read a file asynchronously.

  • « Swoole\Async::read
  • Swoole\Async::set »
  • PHP Manual
  • Swoole\Async
  • Read a file asynchronously.

Swoole\Async::readFile

(PECL swoole >= 1.9.0)

Swoole\Async::readFile — Read a file asynchronously.

Açıklama

public static Swoole\Async::readFile(string $filename, callable $callback): void

Bağımsız Değişkenler

filename

The filename of the file being read.

callback
callback(string $filename, string $content): mixed
filename

The name of the file.

content

The content readed from the file.


Update the async I/O options.

  • « Swoole\Async::readFile
  • Swoole\Async::write »
  • PHP Manual
  • Swoole\Async
  • Update the async I/O options.

Swoole\Async::set

(PECL swoole >= 1.9.0)

Swoole\Async::set — Update the async I/O options.

Açıklama

public static Swoole\Async::set(array $settings): void

Bağımsız Değişkenler

settings


Write data to a file stream asynchronously.

  • « Swoole\Async::set
  • Swoole\Async::writeFile »
  • PHP Manual
  • Swoole\Async
  • Write data to a file stream asynchronously.

Swoole\Async::write

(PECL swoole >= 1.9.0)

Swoole\Async::write — Write data to a file stream asynchronously.

Açıklama

public static Swoole\Async::write(
string $filename,
string $content,
int $offset = ?,
callable $callback = ?
): void

Bağımsız Değişkenler

filename

The filename being written.

content

The content writing to the file.

offset

The offset.

callback


Description

  • « Swoole\Async::write
  • Swoole\Atomic »
  • PHP Manual
  • Swoole\Async
  • Description

Swoole\Async::writeFile

(PECL swoole >= 1.9.0)

Swoole\Async::writeFile — Description

Açıklama

public static Swoole\Async::writeFile(
string $filename,
string $content,
callable $callback = ?,
string $flags = ?
): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

filename

The filename being written.

content

The content writing to the file.

callback

flags


The Swoole\Atomic class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Atomic {
/* Yöntemler */
public add(int $add_value = ?): int
public cmpset(int $cmp_value, int $new_value): int
public get(): int
public set(int $value): int
public sub(int $sub_value = ?): int
}

İçindekiler

  • Swoole\Atomic::add — Add a number to the value to the atomic object.
  • Swoole\Atomic::cmpset — Compare and set the value of the atomic object.
  • Swoole\Atomic::__construct — Construct a swoole atomic object.
  • Swoole\Atomic::get — Get the current value of the atomic object.
  • Swoole\Atomic::set — Set a new value to the atomic object.
  • Swoole\Atomic::sub — Subtract a number to the value of the atomic object.


Add a number to the value to the atomic object.

  • « Swoole\Atomic
  • Swoole\Atomic::cmpset »
  • PHP Manual
  • Swoole\Atomic
  • Add a number to the value to the atomic object.

Swoole\Atomic::add

(PECL swoole >= 1.9.0)

Swoole\Atomic::add — Add a number to the value to the atomic object.

Açıklama

public Swoole\Atomic::add(int $add_value = ?): int

Add a number to the value to the atomic object.

Bağımsız Değişkenler

add_value

The value which will be added to the current value.

Dönen Değerler

The new value of the atomic object.


Compare and set the value of the atomic object.

  • « Swoole\Atomic::add
  • Swoole\Atomic::__construct »
  • PHP Manual
  • Swoole\Atomic
  • Compare and set the value of the atomic object.

Swoole\Atomic::cmpset

(PECL swoole >= 1.9.0)

Swoole\Atomic::cmpset — Compare and set the value of the atomic object.

Açıklama

public Swoole\Atomic::cmpset(int $cmp_value, int $new_value): int

Bağımsız Değişkenler

cmp_value

The value to compare with the current value of the atomic object.

new_value

The value to set to the atomic object if the cmp_value is the same as the current value of the atomic object.

Dönen Değerler

The new value of the atomic object.


Construct a swoole atomic object.

  • « Swoole\Atomic::cmpset
  • Swoole\Atomic::get »
  • PHP Manual
  • Swoole\Atomic
  • Construct a swoole atomic object.

Swoole\Atomic::__construct

(PECL swoole >= 1.9.0)

Swoole\Atomic::__construct — Construct a swoole atomic object.

Açıklama

public Swoole\Atomic::__construct(int $value = ?)

Swoole atomic object is a integer variable allows any processor to atomically test and modify. It is implemented based on CPU atomic instructions. The Swoole atomic variables have to defined before swoole_server->start.

Compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization. It compares the content of a memory location with a given value and, only if they are the same, modifies the content of that memory location to a new given value.

Bağımsız Değişkenler

value

The value of the atomic object.


Get the current value of the atomic object.

  • « Swoole\Atomic::__construct
  • Swoole\Atomic::set »
  • PHP Manual
  • Swoole\Atomic
  • Get the current value of the atomic object.

Swoole\Atomic::get

(PECL swoole >= 1.9.0)

Swoole\Atomic::get — Get the current value of the atomic object.

Açıklama

public Swoole\Atomic::get(): int

Get the current value of the atomic object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current value of the atomic object.


Set a new value to the atomic object.

  • « Swoole\Atomic::get
  • Swoole\Atomic::sub »
  • PHP Manual
  • Swoole\Atomic
  • Set a new value to the atomic object.

Swoole\Atomic::set

(PECL swoole >= 1.9.0)

Swoole\Atomic::set — Set a new value to the atomic object.

Açıklama

public Swoole\Atomic::set(int $value): int

Set a new value to the atomic object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

value

The value to set to the atomic object.

Dönen Değerler

The current value of the atomic object.


Subtract a number to the value of the atomic object.

  • « Swoole\Atomic::set
  • Swoole\Buffer »
  • PHP Manual
  • Swoole\Atomic
  • Subtract a number to the value of the atomic object.

Swoole\Atomic::sub

(PECL swoole >= 1.9.0)

Swoole\Atomic::sub — Subtract a number to the value of the atomic object.

Açıklama

public Swoole\Atomic::sub(int $sub_value = ?): int

Subtract a number to the value of the atomic object.

Bağımsız Değişkenler

sub_value

The value which will be subtracted to the current value.

Dönen Değerler

The current value of the atomic object.


The Swoole\Buffer class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Buffer {
/* Yöntemler */
public append(string $data): int
public clear(): void
public __destruct(): void
public expand(int $size): int
public read(int $offset, int $length): string
public recycle(): void
public substr(int $offset, int $length = ?, bool $remove = ?): string
public __toString(): string
public write(int $offset, string $data): void
}

İçindekiler

  • Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
  • Swoole\Buffer::clear — Reset the memory buffer.
  • Swoole\Buffer::__construct — Fixed size memory blocks allocation.
  • Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.
  • Swoole\Buffer::expand — Expand the size of memory buffer.
  • Swoole\Buffer::read — Read data from the memory buffer based on offset and length.
  • Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.
  • Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
  • Swoole\Buffer::__toString — Get the string value of the memory buffer.
  • Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.


Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

  • « Swoole\Buffer
  • Swoole\Buffer::clear »
  • PHP Manual
  • Swoole\Buffer
  • Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

Swoole\Buffer::append

(PECL swoole >= 1.9.0)

Swoole\Buffer::append — Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.

Açıklama

public Swoole\Buffer::append(string $data): int

Bağımsız Değişkenler

data

The string or binary data to append at the end of the memory buffer.

Dönen Değerler

The new size of the memory buffer.


Reset the memory buffer.

  • « Swoole\Buffer::append
  • Swoole\Buffer::__construct »
  • PHP Manual
  • Swoole\Buffer
  • Reset the memory buffer.

Swoole\Buffer::clear

(PECL swoole >= 1.9.0)

Swoole\Buffer::clear — Reset the memory buffer.

Açıklama

public Swoole\Buffer::clear(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Fixed size memory blocks allocation.

  • « Swoole\Buffer::clear
  • Swoole\Buffer::__destruct »
  • PHP Manual
  • Swoole\Buffer
  • Fixed size memory blocks allocation.

Swoole\Buffer::__construct

(PECL swoole >= 1.9.0)

Swoole\Buffer::__construct — Fixed size memory blocks allocation.

Açıklama

public Swoole\Buffer::__construct(int $size = ?)

Bağımsız Değişkenler

size

The size of the memory to allocate.


Destruct the Swoole memory buffer.

  • « Swoole\Buffer::__construct
  • Swoole\Buffer::expand »
  • PHP Manual
  • Swoole\Buffer
  • Destruct the Swoole memory buffer.

Swoole\Buffer::__destruct

(PECL swoole >= 1.9.0)

Swoole\Buffer::__destruct — Destruct the Swoole memory buffer.

Açıklama

public Swoole\Buffer::__destruct(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Expand the size of memory buffer.

  • « Swoole\Buffer::__destruct
  • Swoole\Buffer::read »
  • PHP Manual
  • Swoole\Buffer
  • Expand the size of memory buffer.

Swoole\Buffer::expand

(PECL swoole >= 1.9.0)

Swoole\Buffer::expand — Expand the size of memory buffer.

Açıklama

public Swoole\Buffer::expand(int $size): int

Bağımsız Değişkenler

size

The new size of the memory buffer.

Dönen Değerler

The new size of the memory buffer.


Read data from the memory buffer based on offset and length.

  • « Swoole\Buffer::expand
  • Swoole\Buffer::recycle »
  • PHP Manual
  • Swoole\Buffer
  • Read data from the memory buffer based on offset and length.

Swoole\Buffer::read

(PECL swoole >= 1.9.0)

Swoole\Buffer::read — Read data from the memory buffer based on offset and length.

Açıklama

public Swoole\Buffer::read(int $offset, int $length): string

Bağımsız Değişkenler

offset

The offset.

length

The length.

Dönen Değerler

The data readed from the memory buffer.


Release the memory to OS which is not used by the memory buffer.

  • « Swoole\Buffer::read
  • Swoole\Buffer::substr »
  • PHP Manual
  • Swoole\Buffer
  • Release the memory to OS which is not used by the memory buffer.

Swoole\Buffer::recycle

(PECL swoole >= 1.9.0)

Swoole\Buffer::recycle — Release the memory to OS which is not used by the memory buffer.

Açıklama

public Swoole\Buffer::recycle(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

  • « Swoole\Buffer::recycle
  • Swoole\Buffer::__toString »
  • PHP Manual
  • Swoole\Buffer
  • Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

Swoole\Buffer::substr

(PECL swoole >= 1.9.0)

Swoole\Buffer::substr — Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.

Açıklama

public Swoole\Buffer::substr(int $offset, int $length = ?, bool $remove = ?): string

If $remove is set to be true and $offset is set to be 0, the data will be removed from the buffer. The memory for storing the data will be released when the buffer object is deconstructed.

Bağımsız Değişkenler

offset

The offset.

length

The length.

remove

Whether to remove the data from the memory buffer.

Dönen Değerler

The data or string readed from the memory buffer.


Get the string value of the memory buffer.

  • « Swoole\Buffer::substr
  • Swoole\Buffer::write »
  • PHP Manual
  • Swoole\Buffer
  • Get the string value of the memory buffer.

Swoole\Buffer::__toString

(PECL swoole >= 1.9.0)

Swoole\Buffer::__toString — Get the string value of the memory buffer.

Açıklama

public Swoole\Buffer::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The string value of the memory buffer.


Write data to the memory buffer. The memory allocated for the buffer will not be changed.

  • « Swoole\Buffer::__toString
  • Swoole\Channel »
  • PHP Manual
  • Swoole\Buffer
  • Write data to the memory buffer. The memory allocated for the buffer will not be changed.

Swoole\Buffer::write

(PECL swoole >= 1.9.0)

Swoole\Buffer::write — Write data to the memory buffer. The memory allocated for the buffer will not be changed.

Açıklama

public Swoole\Buffer::write(int $offset, string $data): void

Bağımsız Değişkenler

offset

The offset.

data

The data to write to the memory buffer.

Dönen Değerler


The Swoole\Channel class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Channel {
/* Yöntemler */
public __destruct(): void
public pop(): mixed
public push(string $data): bool
public stats(): array
}

İçindekiler

  • Swoole\Channel::__construct — Construct a Swoole Channel
  • Swoole\Channel::__destruct — Destruct a Swoole channel.
  • Swoole\Channel::pop — Read and pop data from swoole channel.
  • Swoole\Channel::push — Write and push data into Swoole channel.
  • Swoole\Channel::stats — Get stats of swoole channel.


Construct a Swoole Channel

  • « Swoole\Channel
  • Swoole\Channel::__destruct »
  • PHP Manual
  • Swoole\Channel
  • Construct a Swoole Channel

Swoole\Channel::__construct

(PECL swoole >= 1.9.0)

Swoole\Channel::__construct — Construct a Swoole Channel

Açıklama

public Swoole\Channel::__construct(string $size)

Swoole channel is memory data structure works like Chan in Golang, implemented based on shared memory and mutex locks. It can be used as high performance message queue in memory. Construct a swoole channel with a fixed size. The minimum size of a swoole channel is 64KB. Exceptions will be thrown if there is not enough memory.

Bağımsız Değişkenler

size

The size of the Swoole channel.


Destruct a Swoole channel.

  • « Swoole\Channel::__construct
  • Swoole\Channel::pop »
  • PHP Manual
  • Swoole\Channel
  • Destruct a Swoole channel.

Swoole\Channel::__destruct

(PECL swoole >= 1.9.0)

Swoole\Channel::__destruct — Destruct a Swoole channel.

Açıklama

public Swoole\Channel::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Read and pop data from swoole channel.

  • « Swoole\Channel::__destruct
  • Swoole\Channel::push »
  • PHP Manual
  • Swoole\Channel
  • Read and pop data from swoole channel.

Swoole\Channel::pop

(PECL swoole >= 1.9.0)

Swoole\Channel::pop — Read and pop data from swoole channel.

Açıklama

public Swoole\Channel::pop(): mixed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

If the channel is empty, the function will return false, or return the unserialized data.


Write and push data into Swoole channel.

  • « Swoole\Channel::pop
  • Swoole\Channel::stats »
  • PHP Manual
  • Swoole\Channel
  • Write and push data into Swoole channel.

Swoole\Channel::push

(PECL swoole >= 1.9.0)

Swoole\Channel::push — Write and push data into Swoole channel.

Açıklama

public Swoole\Channel::push(string $data): bool

Data can be any non-empty PHP variable, the variable will be serialized if it is not string type.

If size of the data is more than 8KB, swoole channel will use temp files storage.

The function will return true if the write operation is succeeded, or return false if there is not enough space.

Bağımsız Değişkenler

data

The data to push into the Swoole channel.

Dönen Değerler

Wheter the data is pushed into he Swoole channel.


Get stats of swoole channel.

  • « Swoole\Channel::push
  • Swoole\Client »
  • PHP Manual
  • Swoole\Channel
  • Get stats of swoole channel.

Swoole\Channel::stats

(PECL swoole >= 1.9.0)

Swoole\Channel::stats — Get stats of swoole channel.

Açıklama

public Swoole\Channel::stats(): array

Get the numbers of queued elements and total size of the memory used by the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The stats of the Swoole channel.


The Swoole\Client class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Client {
/* Sabitler */
const int MSG_OOB = 1;
const int MSG_PEEK = 2;
const int MSG_DONTWAIT = 128;
const int MSG_WAITALL = 64;
/* Özellikler */
public $errCode;
public $sock;
public $reuse;
public $reuseCount;
/* Yöntemler */
public close(bool $force = ?): bool
public connect(
string $host,
int $port = ?,
int $timeout = ?,
int $flag = ?
): bool
public __destruct(): void
public getpeername(): array
public getsockname(): array
public isConnected(): bool
public on(string $event, callable $callback): void
public pause(): void
public pipe(string $socket): void
public recv(string $size = ?, string $flag = ?): void
public resume(): void
public send(string $data, string $flag = ?): int
public sendfile(string $filename, int $offset = ?): bool
public sendto(string $ip, int $port, string $data): bool
public set(array $settings): void
public sleep(): void
public wakeup(): void
}

Özellikler

errCode

sock

reuse

reuseCount

Öntanımlı Sabitler

Swoole\Client::MSG_OOB

Swoole\Client::MSG_PEEK

Swoole\Client::MSG_DONTWAIT

Swoole\Client::MSG_WAITALL

İçindekiler

  • Swoole\Client::close — Close the connection established.
  • Swoole\Client::connect — Connect to the remote TCP or UDP port.
  • Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.
  • Swoole\Client::__destruct — Destruct the Swoole client.
  • Swoole\Client::getpeername — Get the remote socket name of the connection.
  • Swoole\Client::getsockname — Get the local socket name of the connection.
  • Swoole\Client::isConnected — Check if the connection is established.
  • Swoole\Client::on — Add callback functions triggered by events.
  • Swoole\Client::pause — Pause receiving data.
  • Swoole\Client::pipe — Redirect the data to another file descriptor.
  • Swoole\Client::recv — Receive data from the remote socket.
  • Swoole\Client::resume — Resume receiving data.
  • Swoole\Client::send — Send data to the remote TCP socket.
  • Swoole\Client::sendfile — Send file to the remote TCP socket.
  • Swoole\Client::sendto — Send data to the remote UDP address.
  • Swoole\Client::set — Set the Swoole client parameters before the connection is established.
  • Swoole\Client::sleep — Remove the TCP client from system event loop.
  • Swoole\Client::wakeup — Add the TCP client back into the system event loop.


Close the connection established.

  • « Swoole\Client
  • Swoole\Client::connect »
  • PHP Manual
  • Swoole\Client
  • Close the connection established.

Swoole\Client::close

(PECL swoole >= 1.9.0)

Swoole\Client::close — Close the connection established.

Açıklama

public Swoole\Client::close(bool $force = ?): bool

Bağımsız Değişkenler

force

Whether force to close the connection.

Dönen Değerler

Whether the connection is closed.


Connect to the remote TCP or UDP port.

  • « Swoole\Client::close
  • Swoole\Client::__construct »
  • PHP Manual
  • Swoole\Client
  • Connect to the remote TCP or UDP port.

Swoole\Client::connect

(PECL swoole >= 1.9.0)

Swoole\Client::connect — Connect to the remote TCP or UDP port.

Açıklama

public Swoole\Client::connect(
string $host,
int $port = ?,
int $timeout = ?,
int $flag = ?
): bool

Bağımsız Değişkenler

host

The host name of the remote address.

port

The port number of the remote address.

timeout

The timeout(second) of connect/send/recv, the dafault value is 0.1s

flag

If the type of client is UDP, the $flag means if to enable the configuration udp_connect. If the configuration udp_connect is enabled, the client will only receive the data from specified ip:port. If the type of client is TCP and the $flag is set to 1, it must use swoole_client_select to check the connection status before send/recv.

Dönen Değerler

Whether the connection is established.


Create Swoole sync or async TCP/UDP client, with or without SSL.

  • « Swoole\Client::connect
  • Swoole\Client::__destruct »
  • PHP Manual
  • Swoole\Client
  • Create Swoole sync or async TCP/UDP client, with or without SSL.

Swoole\Client::__construct

(PECL swoole >= 1.9.0)

Swoole\Client::__construct — Create Swoole sync or async TCP/UDP client, with or without SSL.

Açıklama

public Swoole\Client::__construct(int $sock_type, int $is_async = ?)

Bağımsız Değişkenler

sock_type

The type of socket: SWOOLE_TCP, SWOOLE_UDP, SWOOLE_ASYNC, SWOOLE_SSL, SWOOLE_KEEP.

is_async

Synchronous or asynchronous client.


Destruct the Swoole client.

  • « Swoole\Client::__construct
  • Swoole\Client::getpeername »
  • PHP Manual
  • Swoole\Client
  • Destruct the Swoole client.

Swoole\Client::__destruct

(PECL swoole >= 1.9.0)

Swoole\Client::__destruct — Destruct the Swoole client.

Açıklama

public Swoole\Client::__destruct(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Get the remote socket name of the connection.

  • « Swoole\Client::__destruct
  • Swoole\Client::getsockname »
  • PHP Manual
  • Swoole\Client
  • Get the remote socket name of the connection.

Swoole\Client::getpeername

(PECL swoole >= 1.9.0)

Swoole\Client::getpeername — Get the remote socket name of the connection.

Açıklama

public Swoole\Client::getpeername(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The host and port of the remote socket.


Get the local socket name of the connection.

  • « Swoole\Client::getpeername
  • Swoole\Client::isConnected »
  • PHP Manual
  • Swoole\Client
  • Get the local socket name of the connection.

Swoole\Client::getsockname

(PECL swoole >= 1.9.0)

Swoole\Client::getsockname — Get the local socket name of the connection.

Açıklama

public Swoole\Client::getsockname(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The host and port of the local socket.


Check if the connection is established.

  • « Swoole\Client::getsockname
  • Swoole\Client::on »
  • PHP Manual
  • Swoole\Client
  • Check if the connection is established.

Swoole\Client::isConnected

(PECL swoole >= 1.9.0)

Swoole\Client::isConnected — Check if the connection is established.

Açıklama

public Swoole\Client::isConnected(): bool

This method returns the connection status of application layer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Whether the connection is established.


Add callback functions triggered by events.

  • « Swoole\Client::isConnected
  • Swoole\Client::pause »
  • PHP Manual
  • Swoole\Client
  • Add callback functions triggered by events.

Swoole\Client::on

(PECL swoole >= 1.9.0)

Swoole\Client::on — Add callback functions triggered by events.

Açıklama

public Swoole\Client::on(string $event, callable $callback): void

Bağımsız Değişkenler

event

callback


Pause receiving data.

  • « Swoole\Client::on
  • Swoole\Client::pipe »
  • PHP Manual
  • Swoole\Client
  • Pause receiving data.

Swoole\Client::pause

(PECL swoole >= 1.9.0)

Swoole\Client::pause — Pause receiving data.

Açıklama

public Swoole\Client::pause(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Redirect the data to another file descriptor.

  • « Swoole\Client::pause
  • Swoole\Client::recv »
  • PHP Manual
  • Swoole\Client
  • Redirect the data to another file descriptor.

Swoole\Client::pipe

(PECL swoole >= 1.9.0)

Swoole\Client::pipe — Redirect the data to another file descriptor.

Açıklama

public Swoole\Client::pipe(string $socket): void

Bağımsız Değişkenler

socket


Receive data from the remote socket.

  • « Swoole\Client::pipe
  • Swoole\Client::resume »
  • PHP Manual
  • Swoole\Client
  • Receive data from the remote socket.

Swoole\Client::recv

(PECL swoole >= 1.9.0)

Swoole\Client::recv — Receive data from the remote socket.

Açıklama

public Swoole\Client::recv(string $size = ?, string $flag = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

size

flag

Dönen Değerler


Resume receiving data.

  • « Swoole\Client::recv
  • Swoole\Client::send »
  • PHP Manual
  • Swoole\Client
  • Resume receiving data.

Swoole\Client::resume

(PECL swoole >= 1.9.0)

Swoole\Client::resume — Resume receiving data.

Açıklama

public Swoole\Client::resume(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Send data to the remote TCP socket.

  • « Swoole\Client::resume
  • Swoole\Client::sendfile »
  • PHP Manual
  • Swoole\Client
  • Send data to the remote TCP socket.

Swoole\Client::send

(PECL swoole >= 1.9.0)

Swoole\Client::send — Send data to the remote TCP socket.

Açıklama

public Swoole\Client::send(string $data, string $flag = ?): int

Bağımsız Değişkenler

data

The data to send which can be string or binary

flag

Dönen Değerler

If the client sends data successfully, it returns the length of data sent. Or it returns false and sets $swoole_client->errCode. For sync client, there is no limit for the data to send. For async client, The limit for the data to send is socket_buffer_size.


Send file to the remote TCP socket.

  • « Swoole\Client::send
  • Swoole\Client::sendto »
  • PHP Manual
  • Swoole\Client
  • Send file to the remote TCP socket.

Swoole\Client::sendfile

(PECL swoole >= 1.9.0)

Swoole\Client::sendfile — Send file to the remote TCP socket.

Açıklama

public Swoole\Client::sendfile(string $filename, int $offset = ?): bool

This is a wrapper of the Linux sendfile system call.

Bağımsız Değişkenler

filename

File path of the file to send.

offset

Offset of the file to send

Dönen Değerler


Send data to the remote UDP address.

  • « Swoole\Client::sendfile
  • Swoole\Client::set »
  • PHP Manual
  • Swoole\Client
  • Send data to the remote UDP address.

Swoole\Client::sendto

(PECL swoole >= 1.9.0)

Swoole\Client::sendto — Send data to the remote UDP address.

Açıklama

public Swoole\Client::sendto(string $ip, int $port, string $data): bool

The swoole client should be type of SWOOLE_SOCK_UDP or SWOOLE_SOCK_UDP6.

Bağımsız Değişkenler

ip

The IP address of remote host, IPv4 or IPv6.

port

The port number of remote host.

data

The data to send which should be less-than 64K.

Dönen Değerler


Set the Swoole client parameters before the connection is established.

  • « Swoole\Client::sendto
  • Swoole\Client::sleep »
  • PHP Manual
  • Swoole\Client
  • Set the Swoole client parameters before the connection is established.

Swoole\Client::set

(PECL swoole >= 1.9.0)

Swoole\Client::set — Set the Swoole client parameters before the connection is established.

Açıklama

public Swoole\Client::set(array $settings): void

Bağımsız Değişkenler

settings

Dönen Değerler


Remove the TCP client from system event loop.

  • « Swoole\Client::set
  • Swoole\Client::wakeup »
  • PHP Manual
  • Swoole\Client
  • Remove the TCP client from system event loop.

Swoole\Client::sleep

(PECL swoole >= 1.9.0)

Swoole\Client::sleep — Remove the TCP client from system event loop.

Açıklama

public Swoole\Client::sleep(): void

Remove the TCP client from system event loop.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Add the TCP client back into the system event loop.

  • « Swoole\Client::sleep
  • Swoole\Connection\Iterator »
  • PHP Manual
  • Swoole\Client
  • Add the TCP client back into the system event loop.

Swoole\Client::wakeup

(PECL swoole >= 1.9.0)

Swoole\Client::wakeup — Add the TCP client back into the system event loop.

Açıklama

public Swoole\Client::wakeup(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Connection\Iterator class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Connection\Iterator implements Iterator, Countable, ArrayAccess {
/* Yöntemler */
public count(): int
public current(): Connection
public key(): int
public next(): Connection
public offsetExists(int $index): bool
public offsetGet(string $index): Connection
public offsetSet(int $offset, mixed $connection): void
public offsetUnset(int $offset): void
public rewind(): void
public valid(): bool
}

İçindekiler

  • Swoole\Connection\Iterator::count — Count connections.
  • Swoole\Connection\Iterator::current — Return current connection entry.
  • Swoole\Connection\Iterator::key — Return key of the current connection.
  • Swoole\Connection\Iterator::next — Move to the next connection.
  • Swoole\Connection\Iterator::offsetExists — Check if offet exists.
  • Swoole\Connection\Iterator::offsetGet — Offset to retrieve.
  • Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.
  • Swoole\Connection\Iterator::offsetUnset — Unset an offset.
  • Swoole\Connection\Iterator::rewind — Rewinds iterator
  • Swoole\Connection\Iterator::valid — Check if current position is valid.


Count connections.

  • « Swoole\Connection\Iterator
  • Swoole\Connection\Iterator::current »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Count connections.

Swoole\Connection\Iterator::count

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::count — Count connections.

Açıklama

public Swoole\Connection\Iterator::count(): int

Gets the number of connections.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of connections.


Return current connection entry.

  • « Swoole\Connection\Iterator::count
  • Swoole\Connection\Iterator::key »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Return current connection entry.

Swoole\Connection\Iterator::current

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::current — Return current connection entry.

Açıklama

public Swoole\Connection\Iterator::current(): Connection

Get current connection entry.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current connection entry.


Return key of the current connection.

  • « Swoole\Connection\Iterator::current
  • Swoole\Connection\Iterator::next »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Return key of the current connection.

Swoole\Connection\Iterator::key

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::key — Return key of the current connection.

Açıklama

public Swoole\Connection\Iterator::key(): int

This function returns key of the current connection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Key of the current connection.


Move to the next connection.

  • « Swoole\Connection\Iterator::key
  • Swoole\Connection\Iterator::offsetExists »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Move to the next connection.

Swoole\Connection\Iterator::next

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::next — Move to the next connection.

Açıklama

public Swoole\Connection\Iterator::next(): Connection

The iterator to the next connection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check if offet exists.

  • « Swoole\Connection\Iterator::next
  • Swoole\Connection\Iterator::offsetGet »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Check if offet exists.

Swoole\Connection\Iterator::offsetExists

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetExists — Check if offet exists.

Açıklama

public Swoole\Connection\Iterator::offsetExists(int $index): bool

Check if offset exists.

Bağımsız Değişkenler

index

The offset being checked.

Dönen Değerler

Returns TRUE if the offset exists, otherwise FALSE.


Offset to retrieve.

  • « Swoole\Connection\Iterator::offsetExists
  • Swoole\Connection\Iterator::offsetSet »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Offset to retrieve.

Swoole\Connection\Iterator::offsetGet

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetGet — Offset to retrieve.

Açıklama

public Swoole\Connection\Iterator::offsetGet(string $index): Connection

Return the connection at specified offset.

Bağımsız Değişkenler

index

The offset to retrieve.

Dönen Değerler


Assign a Connection to the specified offset.

  • « Swoole\Connection\Iterator::offsetGet
  • Swoole\Connection\Iterator::offsetUnset »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Assign a Connection to the specified offset.

Swoole\Connection\Iterator::offsetSet

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetSet — Assign a Connection to the specified offset.

Açıklama

public Swoole\Connection\Iterator::offsetSet(int $offset, mixed $connection): void

Assign a Connection to the specified offset.

Bağımsız Değişkenler

offset

The offset to assign the Connection to.

connection

The connection to set.

Dönen Değerler


Unset an offset.

  • « Swoole\Connection\Iterator::offsetSet
  • Swoole\Connection\Iterator::rewind »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Unset an offset.

Swoole\Connection\Iterator::offsetUnset

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::offsetUnset — Unset an offset.

Açıklama

public Swoole\Connection\Iterator::offsetUnset(int $offset): void

Unsets an offset.

Bağımsız Değişkenler

offset

The offset to unset.

Dönen Değerler


Rewinds iterator

  • « Swoole\Connection\Iterator::offsetUnset
  • Swoole\Connection\Iterator::valid »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Rewinds iterator

Swoole\Connection\Iterator::rewind

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::rewind — Rewinds iterator

Açıklama

public Swoole\Connection\Iterator::rewind(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check if current position is valid.

  • « Swoole\Connection\Iterator::rewind
  • Swoole\Coroutine »
  • PHP Manual
  • Swoole\Connection\Iterator
  • Check if current position is valid.

Swoole\Connection\Iterator::valid

(PECL swoole >= 1.9.0)

Swoole\Connection\Iterator::valid — Check if current position is valid.

Açıklama

public Swoole\Connection\Iterator::valid(): bool

Checks if the current position is valid.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns TRUE if the current iterator position is valid, otherwise FALSE.


The Swoole\Coroutine class

(PECL swoole >= 2.0.0)

Giriş

Sınıf Sözdizimi

class Swoole\Coroutine {
/* Yöntemler */
public static call_user_func_array(callable $callback, array $param_array): mixed
public static call_user_func(callable $callback, mixed ...$args): mixed
public static cli_wait(): ReturnType
public static create(): ReturnType
public Swoole\Coroutine\Client::close(): ReturnType
public Swoole\Coroutine\Client::connect(): ReturnType
public Swoole\Coroutine\Client::__destruct(): ReturnType
public Swoole\Coroutine\Client::getpeername(): ReturnType
public Swoole\Coroutine\Client::getsockname(): ReturnType
public Swoole\Coroutine\Client::isConnected(): ReturnType
public Swoole\Coroutine\Client::recv(): ReturnType
public Swoole\Coroutine\Client::send(): ReturnType
public Swoole\Coroutine\Client::sendfile(): ReturnType
public Swoole\Coroutine\Client::sendto(): ReturnType
public Swoole\Coroutine\Client::set(): ReturnType
public Swoole\Coroutine\Http\Client::addFile(): ReturnType
public Swoole\Coroutine\Http\Client::close(): ReturnType
public Swoole\Coroutine\Http\Client::__destruct(): ReturnType
public Swoole\Coroutine\Http\Client::execute(): ReturnType
public Swoole\Coroutine\Http\Client::get(): ReturnType
public Swoole\Coroutine\Http\Client::getDefer(): ReturnType
public Swoole\Coroutine\Http\Client::isConnected(): ReturnType
public Swoole\Coroutine\Http\Client::post(): ReturnType
public Swoole\Coroutine\Http\Client::recv(): ReturnType
public Swoole\Coroutine\Http\Client::set(): ReturnType
public Swoole\Coroutine\Http\Client::setCookies(): ReturnType
public Swoole\Coroutine\Http\Client::setData(): ReturnType
public Swoole\Coroutine\Http\Client::setDefer(): ReturnType
public Swoole\Coroutine\Http\Client::setHeaders(): ReturnType
public Swoole\Coroutine\Http\Client::setMethod(): ReturnType
public Swoole\Coroutine\MySQL::close(): ReturnType
public Swoole\Coroutine\MySQL::connect(): ReturnType
public Swoole\Coroutine\MySQL::__destruct(): ReturnType
public Swoole\Coroutine\MySQL::getDefer(): ReturnType
public Swoole\Coroutine\MySQL::query(): ReturnType
public Swoole\Coroutine\MySQL::recv(): ReturnType
public Swoole\Coroutine\MySQL::setDefer(): ReturnType
public static getuid(): ReturnType
public static resume(): ReturnType
public static suspend(): ReturnType
}

İçindekiler

  • Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters
  • Swoole\Coroutine::call_user_func — Call a callback given by the first parameter
  • Swoole\Coroutine::cli_wait — Description
  • Swoole\Coroutine::create — Description
  • Swoole\Coroutine\Client::close — Description
  • Swoole\Coroutine\Client::connect — Description
  • Swoole\Coroutine\Client::__construct — Description
  • Swoole\Coroutine\Client::__destruct — Description
  • Swoole\Coroutine\Client::getpeername — Description
  • Swoole\Coroutine\Client::getsockname — Description
  • Swoole\Coroutine\Client::isConnected — Description
  • Swoole\Coroutine\Client::recv — Description
  • Swoole\Coroutine\Client::send — Description
  • Swoole\Coroutine\Client::sendfile — Description
  • Swoole\Coroutine\Client::sendto — Description
  • Swoole\Coroutine\Client::set — Description
  • Swoole\Coroutine\Http\Client::addFile — Description
  • Swoole\Coroutine\Http\Client::close — Description
  • Swoole\Coroutine\Http\Client::__construct — Description
  • Swoole\Coroutine\Http\Client::__destruct — Description
  • Swoole\Coroutine\Http\Client::execute — Description
  • Swoole\Coroutine\Http\Client::get — Description
  • Swoole\Coroutine\Http\Client::getDefer — Description
  • Swoole\Coroutine\Http\Client::isConnected — Description
  • Swoole\Coroutine\Http\Client::post — Description
  • Swoole\Coroutine\Http\Client::recv — Description
  • Swoole\Coroutine\Http\Client::set — Description
  • Swoole\Coroutine\Http\Client::setCookies — Description
  • Swoole\Coroutine\Http\Client::setData — Description
  • Swoole\Coroutine\Http\Client::setDefer — Description
  • Swoole\Coroutine\Http\Client::setHeaders — Description
  • Swoole\Coroutine\Http\Client::setMethod — Description
  • Swoole\Coroutine\MySQL::close — Description
  • Swoole\Coroutine\MySQL::connect — Description
  • Swoole\Coroutine\MySQL::__construct — Description
  • Swoole\Coroutine\MySQL::__destruct — Description
  • Swoole\Coroutine\MySQL::getDefer — Description
  • Swoole\Coroutine\MySQL::query — Description
  • Swoole\Coroutine\MySQL::recv — Description
  • Swoole\Coroutine\MySQL::setDefer — Description
  • Swoole\Coroutine::getuid — Description
  • Swoole\Coroutine::resume — Description
  • Swoole\Coroutine::suspend — Description


Call a callback with an array of parameters

  • « Swoole\Coroutine
  • Swoole\Coroutine::call_user_func »
  • PHP Manual
  • Swoole\Coroutine
  • Call a callback with an array of parameters

Swoole\Coroutine::call_user_func_array

(PECL swoole >= 2.0.0)

Swoole\Coroutine::call_user_func_array — Call a callback with an array of parameters

Açıklama

public static Swoole\Coroutine::call_user_func_array(callable $callback, array $param_array): mixed

Calls the callback given by the first parameter with the parameters in param_array.

Bağımsız Değişkenler

callback

The callable to be called.

param_array

Zero or more parameters in the array to be passed to the callback.

Dönen Değerler


Call a callback given by the first parameter

  • « Swoole\Coroutine::call_user_func_array
  • Swoole\Coroutine::cli_wait »
  • PHP Manual
  • Swoole\Coroutine
  • Call a callback given by the first parameter

Swoole\Coroutine::call_user_func

(PECL swoole >= 2.0.0)

Swoole\Coroutine::call_user_func — Call a callback given by the first parameter

Açıklama

public static Swoole\Coroutine::call_user_func(callable $callback, mixed ...$args): mixed

Calls the callback given by the first parameter and passes the remaining parameters as arguments.

Bağımsız Değişkenler

callback

The callable to be called.

args

Zero or more parameters to be passed to the callback.

Dönen Değerler


Description

  • « Swoole\Coroutine::call_user_func
  • Swoole\Coroutine::create »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::cli_wait

(PECL swoole >= 2.0.0)

Swoole\Coroutine::cli_wait — Description

Açıklama

public static Swoole\Coroutine::cli_wait(): ReturnType

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine::cli_wait
  • Swoole\Coroutine\Client::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::create

(PECL swoole >= 2.0.0)

Swoole\Coroutine::create — Description

Açıklama

public static Swoole\Coroutine::create(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine::create
  • Swoole\Coroutine\Client::connect »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::close — Description

Açıklama

public Swoole\Coroutine\Client::close(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::close
  • Swoole\Coroutine\Client::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::connect

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::connect — Description

Açıklama

public Swoole\Coroutine\Client::connect(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::connect
  • Swoole\Coroutine\Client::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::__construct — Description

Açıklama

public Swoole\Coroutine\Client::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Description

  • « Swoole\Coroutine\Client::__construct
  • Swoole\Coroutine\Client::getpeername »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::__destruct — Description

Açıklama

public Swoole\Coroutine\Client::__destruct(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::__destruct
  • Swoole\Coroutine\Client::getsockname »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::getpeername

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::getpeername — Description

Açıklama

public Swoole\Coroutine\Client::getpeername(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::getpeername
  • Swoole\Coroutine\Client::isConnected »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::getsockname

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::getsockname — Description

Açıklama

public Swoole\Coroutine\Client::getsockname(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::getsockname
  • Swoole\Coroutine\Client::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::isConnected

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::isConnected — Description

Açıklama

public Swoole\Coroutine\Client::isConnected(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::isConnected
  • Swoole\Coroutine\Client::send »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::recv — Description

Açıklama

public Swoole\Coroutine\Client::recv(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::recv
  • Swoole\Coroutine\Client::sendfile »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::send

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::send — Description

Açıklama

public Swoole\Coroutine\Client::send(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::send
  • Swoole\Coroutine\Client::sendto »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::sendfile

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::sendfile — Description

Açıklama

public Swoole\Coroutine\Client::sendfile(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::sendfile
  • Swoole\Coroutine\Client::set »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::sendto

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::sendto — Description

Açıklama

public Swoole\Coroutine\Client::sendto(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::sendto
  • Swoole\Coroutine\Http\Client::addFile »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Client::set

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Client::set — Description

Açıklama

public Swoole\Coroutine\Client::set(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Client::set
  • Swoole\Coroutine\Http\Client::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::addFile

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::addFile — Description

Açıklama

public Swoole\Coroutine\Http\Client::addFile(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::addFile
  • Swoole\Coroutine\Http\Client::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::close — Description

Açıklama

public Swoole\Coroutine\Http\Client::close(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::close
  • Swoole\Coroutine\Http\Client::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::__construct — Description

Açıklama

public Swoole\Coroutine\Http\Client::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Description

  • « Swoole\Coroutine\Http\Client::__construct
  • Swoole\Coroutine\Http\Client::execute »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::__destruct — Description

Açıklama

public Swoole\Coroutine\Http\Client::__destruct(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::__destruct
  • Swoole\Coroutine\Http\Client::get »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::execute

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::execute — Description

Açıklama

public Swoole\Coroutine\Http\Client::execute(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::execute
  • Swoole\Coroutine\Http\Client::getDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::get

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::get — Description

Açıklama

public Swoole\Coroutine\Http\Client::get(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::get
  • Swoole\Coroutine\Http\Client::isConnected »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::getDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::getDefer — Description

Açıklama

public Swoole\Coroutine\Http\Client::getDefer(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::getDefer
  • Swoole\Coroutine\Http\Client::post »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::isConnected

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::isConnected — Description

Açıklama

public Swoole\Coroutine\Http\Client::isConnected(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::isConnected
  • Swoole\Coroutine\Http\Client::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::post

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::post — Description

Açıklama

public Swoole\Coroutine\Http\Client::post(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::post
  • Swoole\Coroutine\Http\Client::set »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::recv — Description

Açıklama

public Swoole\Coroutine\Http\Client::recv(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::recv
  • Swoole\Coroutine\Http\Client::setCookies »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::set

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::set — Description

Açıklama

public Swoole\Coroutine\Http\Client::set(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::set
  • Swoole\Coroutine\Http\Client::setData »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setCookies

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setCookies — Description

Açıklama

public Swoole\Coroutine\Http\Client::setCookies(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::setCookies
  • Swoole\Coroutine\Http\Client::setDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setData

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setData — Description

Açıklama

public Swoole\Coroutine\Http\Client::setData(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::setData
  • Swoole\Coroutine\Http\Client::setHeaders »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setDefer — Description

Açıklama

public Swoole\Coroutine\Http\Client::setDefer(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::setDefer
  • Swoole\Coroutine\Http\Client::setMethod »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setHeaders

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setHeaders — Description

Açıklama

public Swoole\Coroutine\Http\Client::setHeaders(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::setHeaders
  • Swoole\Coroutine\MySQL::close »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\Http\Client::setMethod

(PECL swoole >= 2.0.0)

Swoole\Coroutine\Http\Client::setMethod — Description

Açıklama

public Swoole\Coroutine\Http\Client::setMethod(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\Http\Client::setMethod
  • Swoole\Coroutine\MySQL::connect »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::close

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::close — Description

Açıklama

public Swoole\Coroutine\MySQL::close(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::close
  • Swoole\Coroutine\MySQL::__construct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::connect

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::connect — Description

Açıklama

public Swoole\Coroutine\MySQL::connect(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::connect
  • Swoole\Coroutine\MySQL::__destruct »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::__construct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::__construct — Description

Açıklama

public Swoole\Coroutine\MySQL::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Description

  • « Swoole\Coroutine\MySQL::__construct
  • Swoole\Coroutine\MySQL::getDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::__destruct

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::__destruct — Description

Açıklama

public Swoole\Coroutine\MySQL::__destruct(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::__destruct
  • Swoole\Coroutine\MySQL::query »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::getDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::getDefer — Description

Açıklama

public Swoole\Coroutine\MySQL::getDefer(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::getDefer
  • Swoole\Coroutine\MySQL::recv »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::query

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::query — Description

Açıklama

public Swoole\Coroutine\MySQL::query(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::query
  • Swoole\Coroutine\MySQL::setDefer »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::recv

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::recv — Description

Açıklama

public Swoole\Coroutine\MySQL::recv(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::recv
  • Swoole\Coroutine::getuid »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine\MySQL::setDefer

(PECL swoole >= 2.0.0)

Swoole\Coroutine\MySQL::setDefer — Description

Açıklama

public Swoole\Coroutine\MySQL::setDefer(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine\MySQL::setDefer
  • Swoole\Coroutine::resume »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::getuid

(PECL swoole >= 2.0.0)

Swoole\Coroutine::getuid — Description

Açıklama

public static Swoole\Coroutine::getuid(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine::getuid
  • Swoole\Coroutine::suspend »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::resume

(PECL swoole >= 2.0.0)

Swoole\Coroutine::resume — Description

Açıklama

public static Swoole\Coroutine::resume(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\Coroutine::resume
  • Swoole\Event »
  • PHP Manual
  • Swoole\Coroutine
  • Description

Swoole\Coroutine::suspend

(PECL swoole >= 2.0.0)

Swoole\Coroutine::suspend — Description

Açıklama

public static Swoole\Coroutine::suspend(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Event class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Event {
/* Yöntemler */
public static add(
int $fd,
callable $read_callback,
callable $write_callback = ?,
string $events = ?
): bool
public static defer(mixed $callback): void
public static del(string $fd): bool
public static exit(): void
public static set(
int $fd,
string $read_callback = ?,
string $write_callback = ?,
string $events = ?
): bool
public static wait(): void
public static write(string $fd, string $data): void
}

İçindekiler

  • Swoole\Event::add — Add new callback functions of a socket into the EventLoop.
  • Swoole\Event::defer — Add a callback function to the next event loop.
  • Swoole\Event::del — Remove all event callback functions of a socket.
  • Swoole\Event::exit — Exit the eventloop, only available at client side.
  • Swoole\Event::set — Update the event callback functions of a socket.
  • Swoole\Event::wait — Description
  • Swoole\Event::write — Write data to the socket.


Add new callback functions of a socket into the EventLoop.

  • « Swoole\Event
  • Swoole\Event::defer »
  • PHP Manual
  • Swoole\Event
  • Add new callback functions of a socket into the EventLoop.

Swoole\Event::add

(PECL swoole >= 1.9.0)

Swoole\Event::add — Add new callback functions of a socket into the EventLoop.

Açıklama

public static Swoole\Event::add(
int $fd,
callable $read_callback,
callable $write_callback = ?,
string $events = ?
): bool

Bağımsız Değişkenler

fd

read_callback

write_callback

events

Dönen Değerler


Add a callback function to the next event loop.

  • « Swoole\Event::add
  • Swoole\Event::del »
  • PHP Manual
  • Swoole\Event
  • Add a callback function to the next event loop.

Swoole\Event::defer

(PECL swoole >= 1.9.0)

Swoole\Event::defer — Add a callback function to the next event loop.

Açıklama

public static Swoole\Event::defer(mixed $callback): void

Bağımsız Değişkenler

callback

Dönen Değerler


Remove all event callback functions of a socket.

  • « Swoole\Event::defer
  • Swoole\Event::exit »
  • PHP Manual
  • Swoole\Event
  • Remove all event callback functions of a socket.

Swoole\Event::del

(PECL swoole >= 1.9.0)

Swoole\Event::del — Remove all event callback functions of a socket.

Açıklama

public static Swoole\Event::del(string $fd): bool

Bağımsız Değişkenler

fd

Dönen Değerler


Exit the eventloop, only available at client side.

  • « Swoole\Event::del
  • Swoole\Event::set »
  • PHP Manual
  • Swoole\Event
  • Exit the eventloop, only available at client side.

Swoole\Event::exit

(PECL swoole >= 1.9.0)

Swoole\Event::exit — Exit the eventloop, only available at client side.

Açıklama

public static Swoole\Event::exit(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Update the event callback functions of a socket.

  • « Swoole\Event::exit
  • Swoole\Event::wait »
  • PHP Manual
  • Swoole\Event
  • Update the event callback functions of a socket.

Swoole\Event::set

(PECL swoole >= 1.9.0)

Swoole\Event::set — Update the event callback functions of a socket.

Açıklama

public static Swoole\Event::set(
int $fd,
string $read_callback = ?,
string $write_callback = ?,
string $events = ?
): bool

Bağımsız Değişkenler

fd

read_callback

write_callback

events

Dönen Değerler


Description

  • « Swoole\Event::set
  • Swoole\Event::write »
  • PHP Manual
  • Swoole\Event
  • Description

Swoole\Event::wait

(PECL swoole >= 1.9.0)

Swoole\Event::wait — Description

Açıklama

public static Swoole\Event::wait(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Write data to the socket.

  • « Swoole\Event::wait
  • Swoole\Exception »
  • PHP Manual
  • Swoole\Event
  • Write data to the socket.

Swoole\Event::write

(PECL swoole >= 1.9.0)

Swoole\Event::write — Write data to the socket.

Açıklama

public static Swoole\Event::write(string $fd, string $data): void

Bağımsız Değişkenler

fd

data

Dönen Değerler


The Swoole\Exception class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Exception extends Exception implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
}


The Swoole\Http\Client class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Http\Client {
/* Özellikler */
public $errCode;
public $sock;
/* Yöntemler */
public addFile(
string $path,
string $name,
string $type = ?,
string $filename = ?,
string $offset = ?
): void
public close(): void
public __destruct(): void
public download(
string $path,
string $file,
callable $callback,
int $offset = ?
): void
public execute(string $path, string $callback): void
public get(string $path, callable $callback): void
public isConnected(): bool
public on(string $event_name, callable $callback): void
public post(string $path, string $data, callable $callback): void
public push(string $data, string $opcode = ?, string $finish = ?): void
public set(array $settings): void
public setCookies(array $cookies): void
public setData(string $data): ReturnType
public setHeaders(array $headers): void
public setMethod(string $method): void
public upgrade(string $path, string $callback): void
}

Özellikler

errCode

sock

İçindekiler

  • Swoole\Http\Client::addFile — Add a file to the post form.
  • Swoole\Http\Client::close — Close the http connection.
  • Swoole\Http\Client::__construct — Construct the async HTTP client.
  • Swoole\Http\Client::__destruct — Destruct the HTTP client.
  • Swoole\Http\Client::download — Download a file from the remote server.
  • Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.
  • Swoole\Http\Client::get — Send GET http request to the remote server.
  • Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.
  • Swoole\Http\Client::on — Register callback function by event name.
  • Swoole\Http\Client::post — Send POST http request to the remote server.
  • Swoole\Http\Client::push — Push data to websocket client.
  • Swoole\Http\Client::set — Update the HTTP client paramters.
  • Swoole\Http\Client::setCookies — Set the http request cookies.
  • Swoole\Http\Client::setData — Set the HTTP request body data.
  • Swoole\Http\Client::setHeaders — Set the HTTP request headers.
  • Swoole\Http\Client::setMethod — Set the HTTP request method.
  • Swoole\Http\Client::upgrade — Upgrade to websocket protocol.


Add a file to the post form.

  • « Swoole\Http\Client
  • Swoole\Http\Client::close »
  • PHP Manual
  • Swoole\Http\Client
  • Add a file to the post form.

Swoole\Http\Client::addFile

(PECL swoole >= 1.9.0)

Swoole\Http\Client::addFile — Add a file to the post form.

Açıklama

public Swoole\Http\Client::addFile(
string $path,
string $name,
string $type = ?,
string $filename = ?,
string $offset = ?
): void

Bağımsız Değişkenler

path

name

type

filename

offset

Dönen Değerler


Close the http connection.

  • « Swoole\Http\Client::addFile
  • Swoole\Http\Client::__construct »
  • PHP Manual
  • Swoole\Http\Client
  • Close the http connection.

Swoole\Http\Client::close

(PECL swoole >= 1.9.0)

Swoole\Http\Client::close — Close the http connection.

Açıklama

public Swoole\Http\Client::close(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Construct the async HTTP client.

  • « Swoole\Http\Client::close
  • Swoole\Http\Client::__destruct »
  • PHP Manual
  • Swoole\Http\Client
  • Construct the async HTTP client.

Swoole\Http\Client::__construct

(PECL swoole >= 1.9.0)

Swoole\Http\Client::__construct — Construct the async HTTP client.

Açıklama

public Swoole\Http\Client::__construct(string $host, string $port = ?, bool $ssl = ?)

Bağımsız Değişkenler

host

The hostname of the remote host.

port

The port number of the remote host.

ssl

Whether to enable SSL.


Destruct the HTTP client.

  • « Swoole\Http\Client::__construct
  • Swoole\Http\Client::download »
  • PHP Manual
  • Swoole\Http\Client
  • Destruct the HTTP client.

Swoole\Http\Client::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Client::__destruct — Destruct the HTTP client.

Açıklama

public Swoole\Http\Client::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Download a file from the remote server.

  • « Swoole\Http\Client::__destruct
  • Swoole\Http\Client::execute »
  • PHP Manual
  • Swoole\Http\Client
  • Download a file from the remote server.

Swoole\Http\Client::download

(PECL swoole >= 1.9.0)

Swoole\Http\Client::download — Download a file from the remote server.

Açıklama

public Swoole\Http\Client::download(
string $path,
string $file,
callable $callback,
int $offset = ?
): void

Bağımsız Değişkenler

path

file

callback

offset

Dönen Değerler


Send the HTTP request after setting the parameters.

  • « Swoole\Http\Client::download
  • Swoole\Http\Client::get »
  • PHP Manual
  • Swoole\Http\Client
  • Send the HTTP request after setting the parameters.

Swoole\Http\Client::execute

(PECL swoole >= 1.9.0)

Swoole\Http\Client::execute — Send the HTTP request after setting the parameters.

Açıklama

public Swoole\Http\Client::execute(string $path, string $callback): void

Bağımsız Değişkenler

path

callback

Dönen Değerler


Send GET http request to the remote server.

  • « Swoole\Http\Client::execute
  • Swoole\Http\Client::isConnected »
  • PHP Manual
  • Swoole\Http\Client
  • Send GET http request to the remote server.

Swoole\Http\Client::get

(PECL swoole >= 1.9.0)

Swoole\Http\Client::get — Send GET http request to the remote server.

Açıklama

public Swoole\Http\Client::get(string $path, callable $callback): void

Bağımsız Değişkenler

path

callback

Dönen Değerler


Check if the HTTP connection is connected.

  • « Swoole\Http\Client::get
  • Swoole\Http\Client::on »
  • PHP Manual
  • Swoole\Http\Client
  • Check if the HTTP connection is connected.

Swoole\Http\Client::isConnected

(PECL swoole >= 1.9.0)

Swoole\Http\Client::isConnected — Check if the HTTP connection is connected.

Açıklama

public Swoole\Http\Client::isConnected(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Register callback function by event name.

  • « Swoole\Http\Client::isConnected
  • Swoole\Http\Client::post »
  • PHP Manual
  • Swoole\Http\Client
  • Register callback function by event name.

Swoole\Http\Client::on

(PECL swoole >= 1.9.0)

Swoole\Http\Client::on — Register callback function by event name.

Açıklama

public Swoole\Http\Client::on(string $event_name, callable $callback): void

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Send POST http request to the remote server.

  • « Swoole\Http\Client::on
  • Swoole\Http\Client::push »
  • PHP Manual
  • Swoole\Http\Client
  • Send POST http request to the remote server.

Swoole\Http\Client::post

(PECL swoole >= 1.9.0)

Swoole\Http\Client::post — Send POST http request to the remote server.

Açıklama

public Swoole\Http\Client::post(string $path, string $data, callable $callback): void

Bağımsız Değişkenler

path

data

callback

Dönen Değerler


Push data to websocket client.

  • « Swoole\Http\Client::post
  • Swoole\Http\Client::set »
  • PHP Manual
  • Swoole\Http\Client
  • Push data to websocket client.

Swoole\Http\Client::push

(PECL swoole >= 1.9.0)

Swoole\Http\Client::push — Push data to websocket client.

Açıklama

public Swoole\Http\Client::push(string $data, string $opcode = ?, string $finish = ?): void

Bağımsız Değişkenler

data

opcode

finish

Dönen Değerler


Update the HTTP client paramters.

  • « Swoole\Http\Client::push
  • Swoole\Http\Client::setCookies »
  • PHP Manual
  • Swoole\Http\Client
  • Update the HTTP client paramters.

Swoole\Http\Client::set

(PECL swoole >= 1.9.0)

Swoole\Http\Client::set — Update the HTTP client paramters.

Açıklama

public Swoole\Http\Client::set(array $settings): void

Bağımsız Değişkenler

settings

Dönen Değerler


Set the http request cookies.

  • « Swoole\Http\Client::set
  • Swoole\Http\Client::setData »
  • PHP Manual
  • Swoole\Http\Client
  • Set the http request cookies.

Swoole\Http\Client::setCookies

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setCookies — Set the http request cookies.

Açıklama

public Swoole\Http\Client::setCookies(array $cookies): void

Bağımsız Değişkenler

cookies

Dönen Değerler


Set the HTTP request body data.

  • « Swoole\Http\Client::setCookies
  • Swoole\Http\Client::setHeaders »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request body data.

Swoole\Http\Client::setData

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setData — Set the HTTP request body data.

Açıklama

public Swoole\Http\Client::setData(string $data): ReturnType

The HTTP method will be changed to be POST.

Bağımsız Değişkenler

data

Dönen Değerler


Set the HTTP request headers.

  • « Swoole\Http\Client::setData
  • Swoole\Http\Client::setMethod »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request headers.

Swoole\Http\Client::setHeaders

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setHeaders — Set the HTTP request headers.

Açıklama

public Swoole\Http\Client::setHeaders(array $headers): void

Bağımsız Değişkenler

headers

Dönen Değerler


Set the HTTP request method.

  • « Swoole\Http\Client::setHeaders
  • Swoole\Http\Client::upgrade »
  • PHP Manual
  • Swoole\Http\Client
  • Set the HTTP request method.

Swoole\Http\Client::setMethod

(PECL swoole >= 1.9.0)

Swoole\Http\Client::setMethod — Set the HTTP request method.

Açıklama

public Swoole\Http\Client::setMethod(string $method): void

Bağımsız Değişkenler

method

Dönen Değerler


Upgrade to websocket protocol.

  • « Swoole\Http\Client::setMethod
  • Swoole\Http\Request »
  • PHP Manual
  • Swoole\Http\Client
  • Upgrade to websocket protocol.

Swoole\Http\Client::upgrade

(PECL swoole >= 1.9.0)

Swoole\Http\Client::upgrade — Upgrade to websocket protocol.

Açıklama

public Swoole\Http\Client::upgrade(string $path, string $callback): void

Bağımsız Değişkenler

path

callback

Dönen Değerler


The Swoole\Http\Request class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Http\Request {
/* Yöntemler */
public __destruct(): void
public rawcontent(): string
}

İçindekiler

  • Swoole\Http\Request::__destruct — Destruct the HTTP request.
  • Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.


Destruct the HTTP request.

  • « Swoole\Http\Request
  • Swoole\Http\Request::rawcontent »
  • PHP Manual
  • Swoole\Http\Request
  • Destruct the HTTP request.

Swoole\Http\Request::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Request::__destruct — Destruct the HTTP request.

Açıklama

public Swoole\Http\Request::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the raw HTTP POST body.

  • « Swoole\Http\Request::__destruct
  • Swoole\Http\Response »
  • PHP Manual
  • Swoole\Http\Request
  • Get the raw HTTP POST body.

Swoole\Http\Request::rawcontent

(PECL swoole >= 1.9.0)

Swoole\Http\Request::rawcontent — Get the raw HTTP POST body.

Açıklama

public Swoole\Http\Request::rawcontent(): string

This method is used for the POST data which isn't in the form of `application/x-www-form-urlencoded`.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Http\Response class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Http\Response {
/* Yöntemler */
public cookie(
string $name,
string $value = ?,
string $expires = ?,
string $path = ?,
string $domain = ?,
string $secure = ?,
string $httponly = ?
): string
public __destruct(): void
public end(string $content = ?): void
public gzip(string $compress_level = ?): ReturnType
public header(string $key, string $value, string $ucwords = ?): void
public initHeader(): ReturnType
public rawcookie(
string $name,
string $value = ?,
string $expires = ?,
string $path = ?,
string $domain = ?,
string $secure = ?,
string $httponly = ?
): ReturnType
public sendfile(string $filename, int $offset = ?): ReturnType
public status(string $http_code): ReturnType
public write(string $content): void
}

İçindekiler

  • Swoole\Http\Response::cookie — Set the cookies of the HTTP response.
  • Swoole\Http\Response::__destruct — Destruct the HTTP response.
  • Swoole\Http\Response::end — Send data for the HTTP request and finish the response.
  • Swoole\Http\Response::gzip — Enable the gzip of response content.
  • Swoole\Http\Response::header — Set the HTTP response headers.
  • Swoole\Http\Response::initHeader — Init the HTTP response header.
  • Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.
  • Swoole\Http\Response::sendfile — Send file through the HTTP response.
  • Swoole\Http\Response::status — Set the status code of the HTTP response.
  • Swoole\Http\Response::write — Append HTTP body content to the HTTP response.


Set the cookies of the HTTP response.

  • « Swoole\Http\Response
  • Swoole\Http\Response::__destruct »
  • PHP Manual
  • Swoole\Http\Response
  • Set the cookies of the HTTP response.

Swoole\Http\Response::cookie

(PECL swoole >= 1.9.0)

Swoole\Http\Response::cookie — Set the cookies of the HTTP response.

Açıklama

public Swoole\Http\Response::cookie(
string $name,
string $value = ?,
string $expires = ?,
string $path = ?,
string $domain = ?,
string $secure = ?,
string $httponly = ?
): string

Bağımsız Değişkenler

name

value

expires

path

domain

secure

httponly

Dönen Değerler


Destruct the HTTP response.

  • « Swoole\Http\Response::cookie
  • Swoole\Http\Response::end »
  • PHP Manual
  • Swoole\Http\Response
  • Destruct the HTTP response.

Swoole\Http\Response::__destruct

(PECL swoole >= 1.9.0)

Swoole\Http\Response::__destruct — Destruct the HTTP response.

Açıklama

public Swoole\Http\Response::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Send data for the HTTP request and finish the response.

  • « Swoole\Http\Response::__destruct
  • Swoole\Http\Response::gzip »
  • PHP Manual
  • Swoole\Http\Response
  • Send data for the HTTP request and finish the response.

Swoole\Http\Response::end

(PECL swoole >= 1.9.0)

Swoole\Http\Response::end — Send data for the HTTP request and finish the response.

Açıklama

public Swoole\Http\Response::end(string $content = ?): void

Bağımsız Değişkenler

content

Dönen Değerler


Enable the gzip of response content.

  • « Swoole\Http\Response::end
  • Swoole\Http\Response::header »
  • PHP Manual
  • Swoole\Http\Response
  • Enable the gzip of response content.

Swoole\Http\Response::gzip

(PECL swoole >= 1.9.0)

Swoole\Http\Response::gzip — Enable the gzip of response content.

Açıklama

public Swoole\Http\Response::gzip(string $compress_level = ?): ReturnType

The header about Content-Encoding will be added automatically.

Bağımsız Değişkenler

compress_level

Dönen Değerler


Set the HTTP response headers.

  • « Swoole\Http\Response::gzip
  • Swoole\Http\Response::initHeader »
  • PHP Manual
  • Swoole\Http\Response
  • Set the HTTP response headers.

Swoole\Http\Response::header

(PECL swoole >= 1.9.0)

Swoole\Http\Response::header — Set the HTTP response headers.

Açıklama

public Swoole\Http\Response::header(string $key, string $value, string $ucwords = ?): void

Bağımsız Değişkenler

key

value

ucwords

Dönen Değerler


Init the HTTP response header.

  • « Swoole\Http\Response::header
  • Swoole\Http\Response::rawcookie »
  • PHP Manual
  • Swoole\Http\Response
  • Init the HTTP response header.

Swoole\Http\Response::initHeader

(PECL swoole >= 1.9.0)

Swoole\Http\Response::initHeader — Init the HTTP response header.

Açıklama

public Swoole\Http\Response::initHeader(): ReturnType

Init the HTTP response header.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set the raw cookies to the HTTP response.

  • « Swoole\Http\Response::initHeader
  • Swoole\Http\Response::sendfile »
  • PHP Manual
  • Swoole\Http\Response
  • Set the raw cookies to the HTTP response.

Swoole\Http\Response::rawcookie

(PECL swoole >= 1.9.0)

Swoole\Http\Response::rawcookie — Set the raw cookies to the HTTP response.

Açıklama

public Swoole\Http\Response::rawcookie(
string $name,
string $value = ?,
string $expires = ?,
string $path = ?,
string $domain = ?,
string $secure = ?,
string $httponly = ?
): ReturnType

Bağımsız Değişkenler

name

value

expires

path

domain

secure

httponly

Dönen Değerler


Send file through the HTTP response.

  • « Swoole\Http\Response::rawcookie
  • Swoole\Http\Response::status »
  • PHP Manual
  • Swoole\Http\Response
  • Send file through the HTTP response.

Swoole\Http\Response::sendfile

(PECL swoole >= 1.9.0)

Swoole\Http\Response::sendfile — Send file through the HTTP response.

Açıklama

public Swoole\Http\Response::sendfile(string $filename, int $offset = ?): ReturnType

Send file through the HTTP response.

Bağımsız Değişkenler

filename

offset

Dönen Değerler


Set the status code of the HTTP response.

  • « Swoole\Http\Response::sendfile
  • Swoole\Http\Response::write »
  • PHP Manual
  • Swoole\Http\Response
  • Set the status code of the HTTP response.

Swoole\Http\Response::status

(PECL swoole >= 1.9.0)

Swoole\Http\Response::status — Set the status code of the HTTP response.

Açıklama

public Swoole\Http\Response::status(string $http_code): ReturnType

Set the status code of the HTTP response.

Bağımsız Değişkenler

http_code

Dönen Değerler


Append HTTP body content to the HTTP response.

  • « Swoole\Http\Response::status
  • Swoole\Http\Server »
  • PHP Manual
  • Swoole\Http\Response
  • Append HTTP body content to the HTTP response.

Swoole\Http\Response::write

(PECL swoole >= 1.9.0)

Swoole\Http\Response::write — Append HTTP body content to the HTTP response.

Açıklama

public Swoole\Http\Response::write(string $content): void

Append HTTP body content to the HTTP response.

Bağımsız Değişkenler

content

Dönen Değerler


The Swoole\Http\Server class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Http\Server extends Swoole\Server {
/* Yöntemler */
public on(string $event_name, callable $callback): void
public start(): void
/* Miras alınan yöntemler */
public Swoole\Server::addlistener(string $host, int $port, string $socket_type): void
public Swoole\Server::addProcess(swoole_process $process): bool
public Swoole\Server::after(int $after_time_ms, callable $callback, string $param = ?): ReturnType
public Swoole\Server::bind(int $fd, int $uid): bool
public Swoole\Server::clearTimer(int $timer_id): void
swoole_timer_clear(int $timer_id): void
public Swoole\Server::close(int $fd, bool $reset = ?): bool
public Swoole\Server::confirm(int $fd): bool
public Swoole\Server::connection_info(int $fd, int $reactor_id = ?): array
public Swoole\Server::connection_list(int $start_fd, int $pagesize = ?): array
public Swoole\Server::defer(callable $callback): void
public Swoole\Server\Port::__destruct(): void
public Swoole\Server\Port::on(string $event_name, callable $callback): ReturnType
public Swoole\Server\Port::set(array $settings): void
public Swoole\Server::exist(int $fd): bool
public Swoole\Server::finish(string $data): void
public Swoole\Server::getClientInfo(int $fd, int $reactor_id = ?, bool $ignore_error = ?): array
public Swoole\Server::getClientList(int $start_fd, int $pagesize = ?): array
public Swoole\Server::getLastError(): int
public Swoole\Server::heartbeat(bool $if_close_connection): mixed
public Swoole\Server::listen(string $host, int $port, string $socket_type): bool
public Swoole\Server::on(string $event_name, callable $callback): void
public Swoole\Server::pause(int $fd): void
public Swoole\Server::protect(int $fd, bool $is_protected = ?): void
public Swoole\Server::reload(): bool
public Swoole\Server::resume(int $fd): void
public Swoole\Server::send(int $fd, string $data, int $reactor_id = ?): bool
public Swoole\Server::sendfile(int $fd, string $filename, int $offset = ?): bool
public Swoole\Server::sendMessage(int $worker_id, string $data): bool
public Swoole\Server::sendto(
string $ip,
int $port,
string $data,
string $server_socket = ?
): bool
public Swoole\Server::sendwait(int $fd, string $data): bool
public Swoole\Server::set(array $settings): ReturnType
public Swoole\Server::shutdown(): void
public Swoole\Server::start(): void
public Swoole\Server::stats(): array
public Swoole\Server::stop(int $worker_id = ?): bool
public Swoole\Server::task(string $data, int $dst_worker_id = ?, callable $callback = ?): mixed
public Swoole\Server::taskwait(string $data, float $timeout = ?, int $worker_id = ?): void
public Swoole\Server::taskWaitMulti(array $tasks, float $timeout_ms = ?): void
public Swoole\Server::tick(int $interval_ms, callable $callback): void
}

İçindekiler

  • Swoole\Http\Server::on — Bind callback function to HTTP server by event name.
  • Swoole\Http\Server::start — Start the swoole http server.


Bind callback function to HTTP server by event name.

  • « Swoole\Http\Server
  • Swoole\Http\Server::start »
  • PHP Manual
  • Swoole\Http\Server
  • Bind callback function to HTTP server by event name.

Swoole\Http\Server::on

(PECL swoole >= 1.9.0)

Swoole\Http\Server::on — Bind callback function to HTTP server by event name.

Açıklama

public Swoole\Http\Server::on(string $event_name, callable $callback): void

Bind callback function to HTTP server by event name.

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Start the swoole http server.

  • « Swoole\Http\Server::on
  • Swoole\Lock »
  • PHP Manual
  • Swoole\Http\Server
  • Start the swoole http server.

Swoole\Http\Server::start

(PECL swoole >= 1.9.0)

Swoole\Http\Server::start — Start the swoole http server.

Açıklama

public Swoole\Http\Server::start(): void

Start the swoole http server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Lock class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Lock {
/* Yöntemler */
public __destruct(): void
public lock_read(): void
public lock(): void
public trylock_read(): void
public trylock(): void
public unlock(): void
}

İçindekiler

  • Swoole\Lock::__construct — Construct a memory lock.
  • Swoole\Lock::__destruct — Destory a Swoole memory lock.
  • Swoole\Lock::lock_read — Lock a read-write lock for reading.
  • Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.
  • Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.
  • Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.
  • Swoole\Lock::unlock — Release the lock.


Construct a memory lock.

  • « Swoole\Lock
  • Swoole\Lock::__destruct »
  • PHP Manual
  • Swoole\Lock
  • Construct a memory lock.

Swoole\Lock::__construct

(PECL swoole >= 1.9.0)

Swoole\Lock::__construct — Construct a memory lock.

Açıklama

public Swoole\Lock::__construct(string $type = ?, string $file_lock_location = ?)

Swoole lock is used for data synchronization between multiple theads or processes.

Bağımsız Değişkenler

type

file_lock_location


Destory a Swoole memory lock.

  • « Swoole\Lock::__construct
  • Swoole\Lock::lock_read »
  • PHP Manual
  • Swoole\Lock
  • Destory a Swoole memory lock.

Swoole\Lock::__destruct

(PECL swoole >= 1.9.0)

Swoole\Lock::__destruct — Destory a Swoole memory lock.

Açıklama

public Swoole\Lock::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Lock a read-write lock for reading.

  • « Swoole\Lock::__destruct
  • Swoole\Lock::lock »
  • PHP Manual
  • Swoole\Lock
  • Lock a read-write lock for reading.

Swoole\Lock::lock_read

(PECL swoole >= 1.9.0)

Swoole\Lock::lock_read — Lock a read-write lock for reading.

Açıklama

public Swoole\Lock::lock_read(): void

Lock a read-write lock for reading.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Try to acquire the lock. It will block if the lock is not available.

  • « Swoole\Lock::lock_read
  • Swoole\Lock::trylock_read »
  • PHP Manual
  • Swoole\Lock
  • Try to acquire the lock. It will block if the lock is not available.

Swoole\Lock::lock

(PECL swoole >= 1.9.0)

Swoole\Lock::lock — Try to acquire the lock. It will block if the lock is not available.

Açıklama

public Swoole\Lock::lock(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Try to lock a read-write lock for reading and return straight away even the lock is not available.

  • « Swoole\Lock::lock
  • Swoole\Lock::trylock »
  • PHP Manual
  • Swoole\Lock
  • Try to lock a read-write lock for reading and return straight away even the lock is not available.

Swoole\Lock::trylock_read

(PECL swoole >= 1.9.0)

Swoole\Lock::trylock_read — Try to lock a read-write lock for reading and return straight away even the lock is not available.

Açıklama

public Swoole\Lock::trylock_read(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Try to acquire the lock and return straight away even the lock is not available.

  • « Swoole\Lock::trylock_read
  • Swoole\Lock::unlock »
  • PHP Manual
  • Swoole\Lock
  • Try to acquire the lock and return straight away even the lock is not available.

Swoole\Lock::trylock

(PECL swoole >= 1.9.0)

Swoole\Lock::trylock — Try to acquire the lock and return straight away even the lock is not available.

Açıklama

public Swoole\Lock::trylock(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Release the lock.

  • « Swoole\Lock::trylock
  • Swoole\Mmap »
  • PHP Manual
  • Swoole\Lock
  • Release the lock.

Swoole\Lock::unlock

(PECL swoole >= 1.9.0)

Swoole\Lock::unlock — Release the lock.

Açıklama

public Swoole\Lock::unlock(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Mmap class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Mmap {
/* Yöntemler */
public static open(string $filename, string $size = ?, string $offset = ?): ReturnType
}

İçindekiler

  • Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.


Map a file into memory and return the stream resource which can be used by PHP stream operations.

  • « Swoole\Mmap
  • Swoole\MySQL »
  • PHP Manual
  • Swoole\Mmap
  • Map a file into memory and return the stream resource which can be used by PHP stream operations.

Swoole\Mmap::open

(PECL swoole >= 1.9.0)

Swoole\Mmap::open — Map a file into memory and return the stream resource which can be used by PHP stream operations.

Açıklama

public static Swoole\Mmap::open(string $filename, string $size = ?, string $offset = ?): ReturnType

Bağımsız Değişkenler

filename

size

offset

Dönen Değerler


The Swoole\MySQL class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\MySQL {
/* Yöntemler */
public close(): void
public connect(array $server_config, callable $callback): void
public __destruct(): void
public getBuffer(): ReturnType
public on(string $event_name, callable $callback): void
public query(string $sql, callable $callback): ReturnType
}

İçindekiler

  • Swoole\MySQL::close — Close the async MySQL connection.
  • Swoole\MySQL::connect — Connect to the remote MySQL server.
  • Swoole\MySQL::__construct — Construct an async MySQL client.
  • Swoole\MySQL::__destruct — Destory the async MySQL client.
  • Swoole\MySQL::getBuffer — Description
  • Swoole\MySQL::on — Register callback function based on event name.
  • Swoole\MySQL::query — Run the SQL query.


Close the async MySQL connection.

  • « Swoole\MySQL
  • Swoole\MySQL::connect »
  • PHP Manual
  • Swoole\MySQL
  • Close the async MySQL connection.

Swoole\MySQL::close

(PECL swoole >= 1.9.0)

Swoole\MySQL::close — Close the async MySQL connection.

Açıklama

public Swoole\MySQL::close(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Connect to the remote MySQL server.

  • « Swoole\MySQL::close
  • Swoole\MySQL::__construct »
  • PHP Manual
  • Swoole\MySQL
  • Connect to the remote MySQL server.

Swoole\MySQL::connect

(PECL swoole >= 1.9.0)

Swoole\MySQL::connect — Connect to the remote MySQL server.

Açıklama

public Swoole\MySQL::connect(array $server_config, callable $callback): void

Connect to the remote MySQL server.

Bağımsız Değişkenler

server_config

callback

Dönen Değerler


Construct an async MySQL client.

  • « Swoole\MySQL::connect
  • Swoole\MySQL::__destruct »
  • PHP Manual
  • Swoole\MySQL
  • Construct an async MySQL client.

Swoole\MySQL::__construct

(PECL swoole >= 1.9.0)

Swoole\MySQL::__construct — Construct an async MySQL client.

Açıklama

public Swoole\MySQL::__construct()

Construct an async MySQL client.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Destory the async MySQL client.

  • « Swoole\MySQL::__construct
  • Swoole\MySQL::getBuffer »
  • PHP Manual
  • Swoole\MySQL
  • Destory the async MySQL client.

Swoole\MySQL::__destruct

(PECL swoole >= 1.9.0)

Swoole\MySQL::__destruct — Destory the async MySQL client.

Açıklama

public Swoole\MySQL::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Description

  • « Swoole\MySQL::__destruct
  • Swoole\MySQL::on »
  • PHP Manual
  • Swoole\MySQL
  • Description

Swoole\MySQL::getBuffer

(PECL swoole >= 1.9.0)

Swoole\MySQL::getBuffer — Description

Açıklama

public Swoole\MySQL::getBuffer(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Register callback function based on event name.

  • « Swoole\MySQL::getBuffer
  • Swoole\MySQL::query »
  • PHP Manual
  • Swoole\MySQL
  • Register callback function based on event name.

Swoole\MySQL::on

(PECL swoole >= 1.9.0)

Swoole\MySQL::on — Register callback function based on event name.

Açıklama

public Swoole\MySQL::on(string $event_name, callable $callback): void

Register callback function based on event name, current only 'close' event is supported.

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Run the SQL query.

  • « Swoole\MySQL::on
  • Swoole\MySQL\Exception »
  • PHP Manual
  • Swoole\MySQL
  • Run the SQL query.

Swoole\MySQL::query

(PECL swoole >= 1.9.0)

Swoole\MySQL::query — Run the SQL query.

Açıklama

public Swoole\MySQL::query(string $sql, callable $callback): ReturnType

Bağımsız Değişkenler

sql

callback

Dönen Değerler


The Swoole\MySQL\Exception class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\MySQL\Exception extends Exception implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
}


The Swoole\Process class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Process {
/* Sabitler */
const int IPC_NOWAIT = 256;
/* Yöntemler */
public static alarm(int $interval_usec): void
public close(): void
public static daemon(bool $nochdir = ?, bool $noclose = ?): void
public __destruct(): void
public exec(string $exec_file, string $args): ReturnType
public exit(string $exit_code = ?): void
public freeQueue(): void
public static kill(int $pid, int $signal_no = ?): bool
public name(string $process_name): bool
public pop(int $maxsize = ?): mixed
public push(string $data): bool
public read(int $maxsize = ?): string
public static signal(string $signal_no, callable $callback): void
public start(): void
public statQueue(): array
public useQueue(int $key, int $mode = ?): bool
public static wait(bool $blocking = ?): array
public write(string $data): int
}

Öntanımlı Sabitler

Swoole\Process::IPC_NOWAIT

İçindekiler

  • Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.
  • Swoole\Process::close — Close the pipe to the child process.
  • Swoole\Process::__construct — Construct a process.
  • Swoole\Process::daemon — Change the process to be a daemon process.
  • Swoole\Process::__destruct — Destory the process.
  • Swoole\Process::exec — Execute system commands.
  • Swoole\Process::exit — Stop the child processes.
  • Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.
  • Swoole\Process::kill — Send signal to the child process.
  • Swoole\Process::name — Set name of the process.
  • Swoole\Process::pop — Read and pop data from the message queue.
  • Swoole\Process::push — Write and push data into the message queue.
  • Swoole\Process::read — Read data sending to the process.
  • Swoole\Process::signal — Send signal to the child processes.
  • Swoole\Process::start — Start the process.
  • Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.
  • Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.
  • Swoole\Process::wait — Wait for the events of child processes.
  • Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.


High precision timer which triggers signal with fixed interval.

  • « Swoole\Process
  • Swoole\Process::close »
  • PHP Manual
  • Swoole\Process
  • High precision timer which triggers signal with fixed interval.

Swoole\Process::alarm

(PECL swoole >= 1.9.0)

Swoole\Process::alarm — High precision timer which triggers signal with fixed interval.

Açıklama

public static Swoole\Process::alarm(int $interval_usec): void

Bağımsız Değişkenler

interval_usec

Dönen Değerler


Close the pipe to the child process.

  • « Swoole\Process::alarm
  • Swoole\Process::__construct »
  • PHP Manual
  • Swoole\Process
  • Close the pipe to the child process.

Swoole\Process::close

(PECL swoole >= 1.9.0)

Swoole\Process::close — Close the pipe to the child process.

Açıklama

public Swoole\Process::close(): void

Close the pipe to the child process.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Construct a process.

  • « Swoole\Process::close
  • Swoole\Process::daemon »
  • PHP Manual
  • Swoole\Process
  • Construct a process.

Swoole\Process::__construct

(PECL swoole >= 1.9.0)

Swoole\Process::__construct — Construct a process.

Açıklama

public Swoole\Process::__construct(callable $callback, bool $redirect_stdin_and_stdout = ?, int $pipe_type = ?)

Bağımsız Değişkenler

callback

redirect_stdin_and_stdout

pipe_type


Change the process to be a daemon process.

  • « Swoole\Process::__construct
  • Swoole\Process::__destruct »
  • PHP Manual
  • Swoole\Process
  • Change the process to be a daemon process.

Swoole\Process::daemon

(PECL swoole >= 1.9.0)

Swoole\Process::daemon — Change the process to be a daemon process.

Açıklama

public static Swoole\Process::daemon(bool $nochdir = ?, bool $noclose = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

nochdir

noclose

Dönen Değerler


Destory the process.

  • « Swoole\Process::daemon
  • Swoole\Process::exec »
  • PHP Manual
  • Swoole\Process
  • Destory the process.

Swoole\Process::__destruct

(PECL swoole >= 1.9.0)

Swoole\Process::__destruct — Destory the process.

Açıklama

public Swoole\Process::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Execute system commands.

  • « Swoole\Process::__destruct
  • Swoole\Process::exit »
  • PHP Manual
  • Swoole\Process
  • Execute system commands.

Swoole\Process::exec

(PECL swoole >= 1.9.0)

Swoole\Process::exec — Execute system commands.

Açıklama

public Swoole\Process::exec(string $exec_file, string $args): ReturnType

The process will be replaced to be the system command process, but the pipe to the parent process will be kept.

Bağımsız Değişkenler

exec_file

args

Dönen Değerler


Stop the child processes.

  • « Swoole\Process::exec
  • Swoole\Process::freeQueue »
  • PHP Manual
  • Swoole\Process
  • Stop the child processes.

Swoole\Process::exit

(PECL swoole >= 1.9.0)

Swoole\Process::exit — Stop the child processes.

Açıklama

public Swoole\Process::exit(string $exit_code = ?): void

Bağımsız Değişkenler

exit_code

Dönen Değerler


Destroy the message queue created by swoole_process::useQueue.

  • « Swoole\Process::exit
  • Swoole\Process::kill »
  • PHP Manual
  • Swoole\Process
  • Destroy the message queue created by swoole_process::useQueue.

Swoole\Process::freeQueue

(PECL swoole >= 1.9.0)

Swoole\Process::freeQueue — Destroy the message queue created by swoole_process::useQueue.

Açıklama

public Swoole\Process::freeQueue(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Send signal to the child process.

  • « Swoole\Process::freeQueue
  • Swoole\Process::name »
  • PHP Manual
  • Swoole\Process
  • Send signal to the child process.

Swoole\Process::kill

(PECL swoole >= 1.9.0)

Swoole\Process::kill — Send signal to the child process.

Açıklama

public static Swoole\Process::kill(int $pid, int $signal_no = ?): bool

Send signal to the child process.

Bağımsız Değişkenler

pid

Process pid

signal_no

Signal to be sent

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set name of the process.

  • « Swoole\Process::kill
  • Swoole\Process::pop »
  • PHP Manual
  • Swoole\Process
  • Set name of the process.

Swoole\Process::name

(PECL swoole >= 1.9.0)

Swoole\Process::name — Set name of the process.

Açıklama

public Swoole\Process::name(string $process_name): bool

Bağımsız Değişkenler

process_name

Set name of the process.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Read and pop data from the message queue.

  • « Swoole\Process::name
  • Swoole\Process::push »
  • PHP Manual
  • Swoole\Process
  • Read and pop data from the message queue.

Swoole\Process::pop

(PECL swoole >= 1.9.0)

Swoole\Process::pop — Read and pop data from the message queue.

Açıklama

public Swoole\Process::pop(int $maxsize = ?): mixed

Bağımsız Değişkenler

maxsize

Dönen Değerler


Write and push data into the message queue.

  • « Swoole\Process::pop
  • Swoole\Process::read »
  • PHP Manual
  • Swoole\Process
  • Write and push data into the message queue.

Swoole\Process::push

(PECL swoole >= 1.9.0)

Swoole\Process::push — Write and push data into the message queue.

Açıklama

public Swoole\Process::push(string $data): bool

Bağımsız Değişkenler

data

Dönen Değerler


Read data sending to the process.

  • « Swoole\Process::push
  • Swoole\Process::signal »
  • PHP Manual
  • Swoole\Process
  • Read data sending to the process.

Swoole\Process::read

(PECL swoole >= 1.9.0)

Swoole\Process::read — Read data sending to the process.

Açıklama

public Swoole\Process::read(int $maxsize = ?): string

Bağımsız Değişkenler

maxsize

Dönen Değerler


Send signal to the child processes.

  • « Swoole\Process::read
  • Swoole\Process::start »
  • PHP Manual
  • Swoole\Process
  • Send signal to the child processes.

Swoole\Process::signal

(PECL swoole >= 1.9.0)

Swoole\Process::signal — Send signal to the child processes.

Açıklama

public static Swoole\Process::signal(string $signal_no, callable $callback): void

Bağımsız Değişkenler

signal_no

callback

Dönen Değerler

If signal sent successfully, it returns TRUE, otherwise it returns FALSE.


Start the process.

  • « Swoole\Process::signal
  • Swoole\Process::statQueue »
  • PHP Manual
  • Swoole\Process
  • Start the process.

Swoole\Process::start

(PECL swoole >= 1.9.0)

Swoole\Process::start — Start the process.

Açıklama

public Swoole\Process::start(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the stats of the message queue used as the communication method between processes.

  • « Swoole\Process::start
  • Swoole\Process::useQueue »
  • PHP Manual
  • Swoole\Process
  • Get the stats of the message queue used as the communication method between processes.

Swoole\Process::statQueue

(PECL swoole >= 1.9.0)

Swoole\Process::statQueue — Get the stats of the message queue used as the communication method between processes.

Açıklama

public Swoole\Process::statQueue(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The array of status of the message queue.


Create a message queue as the communication method between the parent process and child processes.

  • « Swoole\Process::statQueue
  • Swoole\Process::wait »
  • PHP Manual
  • Swoole\Process
  • Create a message queue as the communication method between the parent process and child processes.

Swoole\Process::useQueue

(PECL swoole >= 1.9.0)

Swoole\Process::useQueue — Create a message queue as the communication method between the parent process and child processes.

Açıklama

public Swoole\Process::useQueue(int $key, int $mode = ?): bool

Bağımsız Değişkenler

key

mode

Dönen Değerler


Wait for the events of child processes.

  • « Swoole\Process::useQueue
  • Swoole\Process::write »
  • PHP Manual
  • Swoole\Process
  • Wait for the events of child processes.

Swoole\Process::wait

(PECL swoole >= 1.9.0)

Swoole\Process::wait — Wait for the events of child processes.

Açıklama

public static Swoole\Process::wait(bool $blocking = ?): array

Bağımsız Değişkenler

blocking

Dönen Değerler


Write data into the pipe and communicate with the parent process or child processes.

  • « Swoole\Process::wait
  • Swoole\Redis\Server »
  • PHP Manual
  • Swoole\Process
  • Write data into the pipe and communicate with the parent process or child processes.

Swoole\Process::write

(PECL swoole >= 1.9.0)

Swoole\Process::write — Write data into the pipe and communicate with the parent process or child processes.

Açıklama

public Swoole\Process::write(string $data): int

Bağımsız Değişkenler

data

Dönen Değerler


The Swoole\Redis\Server class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Redis\Server extends Swoole\Server {
/* Sabitler */
const int NIL = 1;
const int ERROR = 0;
const int STATUS = 2;
const int INT = 3;
const int STRING = 4;
const int SET = 5;
const int MAP = 6;
/* Yöntemler */
public static format(string $type, string $value = ?): ReturnType
public setHandler(
string $command,
string $callback,
string $number_of_string_param = ?,
string $type_of_array_param = ?
): ReturnType
public start(): ReturnType
/* Miras alınan yöntemler */
public Swoole\Server::addlistener(string $host, int $port, string $socket_type): void
public Swoole\Server::addProcess(swoole_process $process): bool
public Swoole\Server::after(int $after_time_ms, callable $callback, string $param = ?): ReturnType
public Swoole\Server::bind(int $fd, int $uid): bool
public Swoole\Server::clearTimer(int $timer_id): void
swoole_timer_clear(int $timer_id): void
public Swoole\Server::close(int $fd, bool $reset = ?): bool
public Swoole\Server::confirm(int $fd): bool
public Swoole\Server::connection_info(int $fd, int $reactor_id = ?): array
public Swoole\Server::connection_list(int $start_fd, int $pagesize = ?): array
public Swoole\Server::defer(callable $callback): void
public Swoole\Server\Port::__destruct(): void
public Swoole\Server\Port::on(string $event_name, callable $callback): ReturnType
public Swoole\Server\Port::set(array $settings): void
public Swoole\Server::exist(int $fd): bool
public Swoole\Server::finish(string $data): void
public Swoole\Server::getClientInfo(int $fd, int $reactor_id = ?, bool $ignore_error = ?): array
public Swoole\Server::getClientList(int $start_fd, int $pagesize = ?): array
public Swoole\Server::getLastError(): int
public Swoole\Server::heartbeat(bool $if_close_connection): mixed
public Swoole\Server::listen(string $host, int $port, string $socket_type): bool
public Swoole\Server::on(string $event_name, callable $callback): void
public Swoole\Server::pause(int $fd): void
public Swoole\Server::protect(int $fd, bool $is_protected = ?): void
public Swoole\Server::reload(): bool
public Swoole\Server::resume(int $fd): void
public Swoole\Server::send(int $fd, string $data, int $reactor_id = ?): bool
public Swoole\Server::sendfile(int $fd, string $filename, int $offset = ?): bool
public Swoole\Server::sendMessage(int $worker_id, string $data): bool
public Swoole\Server::sendto(
string $ip,
int $port,
string $data,
string $server_socket = ?
): bool
public Swoole\Server::sendwait(int $fd, string $data): bool
public Swoole\Server::set(array $settings): ReturnType
public Swoole\Server::shutdown(): void
public Swoole\Server::start(): void
public Swoole\Server::stats(): array
public Swoole\Server::stop(int $worker_id = ?): bool
public Swoole\Server::task(string $data, int $dst_worker_id = ?, callable $callback = ?): mixed
public Swoole\Server::taskwait(string $data, float $timeout = ?, int $worker_id = ?): void
public Swoole\Server::taskWaitMulti(array $tasks, float $timeout_ms = ?): void
public Swoole\Server::tick(int $interval_ms, callable $callback): void
}

Öntanımlı Sabitler

Swoole\Redis\Server::NIL

Swoole\Redis\Server::ERROR

Swoole\Redis\Server::STATUS

Swoole\Redis\Server::INT

Swoole\Redis\Server::STRING

Swoole\Redis\Server::SET

Swoole\Redis\Server::MAP

İçindekiler

  • Swoole\Redis\Server::format — Description
  • Swoole\Redis\Server::setHandler — Description
  • Swoole\Redis\Server::start — Description


Description

  • « Swoole\Redis\Server
  • Swoole\Redis\Server::setHandler »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::format

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::format — Description

Açıklama

public static Swoole\Redis\Server::format(string $type, string $value = ?): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

type

value

Dönen Değerler


Description

  • « Swoole\Redis\Server::format
  • Swoole\Redis\Server::start »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::setHandler

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::setHandler — Description

Açıklama

public Swoole\Redis\Server::setHandler(
string $command,
string $callback,
string $number_of_string_param = ?,
string $type_of_array_param = ?
): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

command

callback

number_of_string_param

type_of_array_param

Dönen Değerler


Description

  • « Swoole\Redis\Server::setHandler
  • Swoole\Serialize »
  • PHP Manual
  • Swoole\Redis\Server
  • Description

Swoole\Redis\Server::start

(PECL swoole >= 1.9.0)

Swoole\Redis\Server::start — Description

Açıklama

public Swoole\Redis\Server::start(): ReturnType

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Serialize class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Serialize {
/* Yöntemler */
public static pack(string $data, int $is_fast = ?): ReturnType
public static unpack(string $data, string $args = ?): ReturnType
}

İçindekiler

  • Swoole\Serialize::pack — Serialize the data.
  • Swoole\Serialize::unpack — Unserialize the data.


Serialize the data.

  • « Swoole\Serialize
  • Swoole\Serialize::unpack »
  • PHP Manual
  • Swoole\Serialize
  • Serialize the data.

Swoole\Serialize::pack

(PECL swoole >= 1.9.0)

Swoole\Serialize::pack — Serialize the data.

Açıklama

public static Swoole\Serialize::pack(string $data, int $is_fast = ?): ReturnType

Swoole provides a fast and high performance serialization module.

Bağımsız Değişkenler

data

is_fast

Dönen Değerler


Unserialize the data.

  • « Swoole\Serialize::pack
  • Swoole\Server »
  • PHP Manual
  • Swoole\Serialize
  • Unserialize the data.

Swoole\Serialize::unpack

(PECL swoole >= 1.9.0)

Swoole\Serialize::unpack — Unserialize the data.

Açıklama

public static Swoole\Serialize::unpack(string $data, string $args = ?): ReturnType

Unserialize the data.

Bağımsız Değişkenler

string

args

Dönen Değerler


The Swoole\Server class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Server {
/* Yöntemler */
public addlistener(string $host, int $port, string $socket_type): void
public addProcess(swoole_process $process): bool
public after(int $after_time_ms, callable $callback, string $param = ?): ReturnType
public bind(int $fd, int $uid): bool
public clearTimer(int $timer_id): void
swoole_timer_clear(int $timer_id): void
public close(int $fd, bool $reset = ?): bool
public confirm(int $fd): bool
public connection_info(int $fd, int $reactor_id = ?): array
public connection_list(int $start_fd, int $pagesize = ?): array
public defer(callable $callback): void
public Swoole\Server\Port::__destruct(): void
public Swoole\Server\Port::on(string $event_name, callable $callback): ReturnType
public Swoole\Server\Port::set(array $settings): void
public exist(int $fd): bool
public finish(string $data): void
public getClientInfo(int $fd, int $reactor_id = ?, bool $ignore_error = ?): array
public getClientList(int $start_fd, int $pagesize = ?): array
public getLastError(): int
public heartbeat(bool $if_close_connection): mixed
public listen(string $host, int $port, string $socket_type): bool
public on(string $event_name, callable $callback): void
public pause(int $fd): void
public protect(int $fd, bool $is_protected = ?): void
public reload(): bool
public resume(int $fd): void
public send(int $fd, string $data, int $reactor_id = ?): bool
public sendfile(int $fd, string $filename, int $offset = ?): bool
public sendMessage(int $worker_id, string $data): bool
public sendto(
string $ip,
int $port,
string $data,
string $server_socket = ?
): bool
public sendwait(int $fd, string $data): bool
public set(array $settings): ReturnType
public shutdown(): void
public start(): void
public stats(): array
public stop(int $worker_id = ?): bool
public task(string $data, int $dst_worker_id = ?, callable $callback = ?): mixed
public taskwait(string $data, float $timeout = ?, int $worker_id = ?): void
public taskWaitMulti(array $tasks, float $timeout_ms = ?): void
public tick(int $interval_ms, callable $callback): void
}

İçindekiler

  • Swoole\Server::addlistener — Add a new listener to the server.
  • Swoole\Server::addProcess — Add a user defined swoole_process to the server.
  • Swoole\Server::after — Trigger a callback function after a period of time.
  • Swoole\Server::bind — Bind the connection to a user defined user ID.
  • Swoole\Server::clearTimer — Stop and destory a timer.
  • Swoole\Server::close — Close a connection to the client.
  • Swoole\Server::confirm — Check status of the connection.
  • Swoole\Server::connection_info — Get the connection info by file description.
  • Swoole\Server::connection_list — Get all of the established connections.
  • Swoole\Server::__construct — Construct a Swoole server.
  • Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.
  • Swoole\Server\Port::__construct — Construct a server port
  • Swoole\Server\Port::__destruct — Destory server port
  • Swoole\Server\Port::on — Register callback functions by event.
  • Swoole\Server\Port::set — Set protocol of the server port.
  • Swoole\Server::exist — Check if the connection is existed.
  • Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.
  • Swoole\Server::getClientInfo — Get the connection info by file description.
  • Swoole\Server::getClientList — Get all of the established connections.
  • Swoole\Server::getLastError — Get the error code of the most recent error.
  • Swoole\Server::heartbeat — Check all the connections on the server.
  • Swoole\Server::listen — Listen on the given IP and port, socket type.
  • Swoole\Server::on — Register a callback function by event name.
  • Swoole\Server::pause — Stop receiving data from the connection.
  • Swoole\Server::protect — Set the connection to be protected mode.
  • Swoole\Server::reload — Restart all the worker process.
  • Swoole\Server::resume — Start receving data from the connection.
  • Swoole\Server::send — Send data to the client.
  • Swoole\Server::sendfile — Send file to the connection.
  • Swoole\Server::sendMessage — Send message to worker processes by ID.
  • Swoole\Server::sendto — Send data to the remote UDP address.
  • Swoole\Server::sendwait — Send data to the remote socket in the blocking way.
  • Swoole\Server::set — Set the runtime settings of the swoole server.
  • Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.
  • Swoole\Server::start — Start the Swoole server.
  • Swoole\Server::stats — Get the stats of the Swoole server.
  • Swoole\Server::stop — Stop the Swoole server.
  • Swoole\Server::task — Send data to the task worker processes.
  • Swoole\Server::taskwait — Send data to the task worker processes in blocking way.
  • Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.
  • Swoole\Server::tick — Repeats a given function at every given time-interval.


Add a new listener to the server.

  • « Swoole\Server
  • Swoole\Server::addProcess »
  • PHP Manual
  • Swoole\Server
  • Add a new listener to the server.

Swoole\Server::addlistener

(PECL swoole >= 1.9.0)

Swoole\Server::addlistener — Add a new listener to the server.

Açıklama

public Swoole\Server::addlistener(string $host, int $port, string $socket_type): void

Bağımsız Değişkenler

host

port

socket_type

Dönen Değerler


Add a user defined swoole_process to the server.

  • « Swoole\Server::addlistener
  • Swoole\Server::after »
  • PHP Manual
  • Swoole\Server
  • Add a user defined swoole_process to the server.

Swoole\Server::addProcess

(PECL swoole >= 1.9.0)

Swoole\Server::addProcess — Add a user defined swoole_process to the server.

Açıklama

public Swoole\Server::addProcess(swoole_process $process): bool

Bağımsız Değişkenler

process

Dönen Değerler


Trigger a callback function after a period of time.

  • « Swoole\Server::addProcess
  • Swoole\Server::bind »
  • PHP Manual
  • Swoole\Server
  • Trigger a callback function after a period of time.

Swoole\Server::after

(PECL swoole >= 1.9.0)

Swoole\Server::after — Trigger a callback function after a period of time.

Açıklama

public Swoole\Server::after(int $after_time_ms, callable $callback, string $param = ?): ReturnType

Bağımsız Değişkenler

after_time_ms

callback

param

Dönen Değerler


Bind the connection to a user defined user ID.

  • « Swoole\Server::after
  • Swoole\Server::clearTimer »
  • PHP Manual
  • Swoole\Server
  • Bind the connection to a user defined user ID.

Swoole\Server::bind

(PECL swoole >= 1.9.0)

Swoole\Server::bind — Bind the connection to a user defined user ID.

Açıklama

public Swoole\Server::bind(int $fd, int $uid): bool

Bağımsız Değişkenler

fd

uid

Dönen Değerler


Stop and destory a timer.

  • « Swoole\Server::bind
  • Swoole\Server::close »
  • PHP Manual
  • Swoole\Server
  • Stop and destory a timer.

Swoole\Server::clearTimer

swoole_timer_clear

(PECL swoole >= 1.9.0)

Swoole\Server::clearTimer -- swoole_timer_clear — Stop and destory a timer.

Açıklama

Nesne yönelimli kullanım (method):

public Swoole\Server::clearTimer(int $timer_id): void

Yordamsal kullanım:

swoole_timer_clear(int $timer_id): void

Stop and destory a timer

Bağımsız Değişkenler

timer_id

Dönen Değerler


Close a connection to the client.

  • « Swoole\Server::clearTimer
  • Swoole\Server::confirm »
  • PHP Manual
  • Swoole\Server
  • Close a connection to the client.

Swoole\Server::close

(PECL swoole >= 1.9.0)

Swoole\Server::close — Close a connection to the client.

Açıklama

public Swoole\Server::close(int $fd, bool $reset = ?): bool

Bağımsız Değişkenler

fd

reset

Dönen Değerler


Check status of the connection.

  • « Swoole\Server::close
  • Swoole\Server::connection_info »
  • PHP Manual
  • Swoole\Server
  • Check status of the connection.

Swoole\Server::confirm

(PECL swoole >= 1.9.0)

Swoole\Server::confirm — Check status of the connection.

Açıklama

public Swoole\Server::confirm(int $fd): bool

Bağımsız Değişkenler

fd

Dönen Değerler


Get the connection info by file description.

  • « Swoole\Server::confirm
  • Swoole\Server::connection_list »
  • PHP Manual
  • Swoole\Server
  • Get the connection info by file description.

Swoole\Server::connection_info

(PECL swoole >= 1.9.0)

Swoole\Server::connection_info — Get the connection info by file description.

Açıklama

public Swoole\Server::connection_info(int $fd, int $reactor_id = ?): array

Bağımsız Değişkenler

fd

reactor_id

Dönen Değerler


Get all of the established connections.

  • « Swoole\Server::connection_info
  • Swoole\Server::__construct »
  • PHP Manual
  • Swoole\Server
  • Get all of the established connections.

Swoole\Server::connection_list

(PECL swoole >= 1.9.0)

Swoole\Server::connection_list — Get all of the established connections.

Açıklama

public Swoole\Server::connection_list(int $start_fd, int $pagesize = ?): array

Bağımsız Değişkenler

start_fd

pagesize

Dönen Değerler


Construct a Swoole server.

  • « Swoole\Server::connection_list
  • Swoole\Server::defer »
  • PHP Manual
  • Swoole\Server
  • Construct a Swoole server.

Swoole\Server::__construct

(PECL swoole >= 1.9.0)

Swoole\Server::__construct — Construct a Swoole server.

Açıklama

public Swoole\Server::__construct(
string $host,
int $port = ?,
integr $mode = ?,
int $sock_type = ?
)

Bağımsız Değişkenler

host

port

mode

sock_type


Delay execution of the callback function at the end of current EventLoop.

  • « Swoole\Server::__construct
  • Swoole\Server\Port::__construct »
  • PHP Manual
  • Swoole\Server
  • Delay execution of the callback function at the end of current EventLoop.

Swoole\Server::defer

(PECL swoole >= 1.9.0)

Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.

Açıklama

public Swoole\Server::defer(callable $callback): void

Bağımsız Değişkenler

callback

Dönen Değerler


Construct a server port

  • « Swoole\Server::defer
  • Swoole\Server\Port::__destruct »
  • PHP Manual
  • Swoole\Server
  • Construct a server port

Swoole\Server\Port::__construct

(PECL swoole >= 1.9.0)

Swoole\Server\Port::__construct — Construct a server port

Açıklama

private Swoole\Server\Port::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Destory server port

  • « Swoole\Server\Port::__construct
  • Swoole\Server\Port::on »
  • PHP Manual
  • Swoole\Server
  • Destory server port

Swoole\Server\Port::__destruct

(PECL swoole >= 1.9.0)

Swoole\Server\Port::__destruct — Destory server port

Açıklama

public Swoole\Server\Port::__destruct(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Register callback functions by event.

  • « Swoole\Server\Port::__destruct
  • Swoole\Server\Port::set »
  • PHP Manual
  • Swoole\Server
  • Register callback functions by event.

Swoole\Server\Port::on

(PECL swoole >= 1.9.0)

Swoole\Server\Port::on — Register callback functions by event.

Açıklama

public Swoole\Server\Port::on(string $event_name, callable $callback): ReturnType

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Set protocol of the server port.

  • « Swoole\Server\Port::on
  • Swoole\Server::exist »
  • PHP Manual
  • Swoole\Server
  • Set protocol of the server port.

Swoole\Server\Port::set

(PECL swoole >= 1.9.0)

Swoole\Server\Port::set — Set protocol of the server port.

Açıklama

public Swoole\Server\Port::set(array $settings): void

Bağımsız Değişkenler

settings

Dönen Değerler


Check if the connection is existed.

  • « Swoole\Server\Port::set
  • Swoole\Server::finish »
  • PHP Manual
  • Swoole\Server
  • Check if the connection is existed.

Swoole\Server::exist

(PECL swoole >= 1.9.0)

Swoole\Server::exist — Check if the connection is existed.

Açıklama

public Swoole\Server::exist(int $fd): bool

Bağımsız Değişkenler

fd

Dönen Değerler


Used in task process for sending result to the worker process when the task is finished.

  • « Swoole\Server::exist
  • Swoole\Server::getClientInfo »
  • PHP Manual
  • Swoole\Server
  • Used in task process for sending result to the worker process when the task is finished.

Swoole\Server::finish

(PECL swoole >= 1.9.0)

Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.

Açıklama

public Swoole\Server::finish(string $data): void

Bağımsız Değişkenler

data

Dönen Değerler


Get the connection info by file description.

  • « Swoole\Server::finish
  • Swoole\Server::getClientList »
  • PHP Manual
  • Swoole\Server
  • Get the connection info by file description.

Swoole\Server::getClientInfo

(PECL swoole >= 1.9.0)

Swoole\Server::getClientInfo — Get the connection info by file description.

Açıklama

public Swoole\Server::getClientInfo(int $fd, int $reactor_id = ?, bool $ignore_error = ?): array

Bağımsız Değişkenler

fd

File descriptors.

reactor_id

The Reactor thread ID where the connection is made.

ignore_error

Whether to ignore errors, if set to true, connection information will be returned even if the connection is closed.

Dönen Değerler

Returns information about the client connection.


Get all of the established connections.

  • « Swoole\Server::getClientInfo
  • Swoole\Server::getLastError »
  • PHP Manual
  • Swoole\Server
  • Get all of the established connections.

Swoole\Server::getClientList

(PECL swoole >= 1.9.0)

Swoole\Server::getClientList — Get all of the established connections.

Açıklama

public Swoole\Server::getClientList(int $start_fd, int $pagesize = ?): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

start_fd

pagesize

Dönen Değerler


Get the error code of the most recent error.

  • « Swoole\Server::getClientList
  • Swoole\Server::heartbeat »
  • PHP Manual
  • Swoole\Server
  • Get the error code of the most recent error.

Swoole\Server::getLastError

(PECL swoole >= 1.9.0)

Swoole\Server::getLastError — Get the error code of the most recent error.

Açıklama

public Swoole\Server::getLastError(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check all the connections on the server.

  • « Swoole\Server::getLastError
  • Swoole\Server::listen »
  • PHP Manual
  • Swoole\Server
  • Check all the connections on the server.

Swoole\Server::heartbeat

(PECL swoole >= 1.9.0)

Swoole\Server::heartbeat — Check all the connections on the server.

Açıklama

public Swoole\Server::heartbeat(bool $if_close_connection): mixed

Bağımsız Değişkenler

if_close_connection

Dönen Değerler


Listen on the given IP and port, socket type.

  • « Swoole\Server::heartbeat
  • Swoole\Server::on »
  • PHP Manual
  • Swoole\Server
  • Listen on the given IP and port, socket type.

Swoole\Server::listen

(PECL swoole >= 1.9.0)

Swoole\Server::listen — Listen on the given IP and port, socket type.

Açıklama

public Swoole\Server::listen(string $host, int $port, string $socket_type): bool

Bağımsız Değişkenler

host

port

socket_type

Dönen Değerler


Register a callback function by event name.

  • « Swoole\Server::listen
  • Swoole\Server::pause »
  • PHP Manual
  • Swoole\Server
  • Register a callback function by event name.

Swoole\Server::on

(PECL swoole >= 1.9.0)

Swoole\Server::on — Register a callback function by event name.

Açıklama

public Swoole\Server::on(string $event_name, callable $callback): void

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Stop receiving data from the connection.

  • « Swoole\Server::on
  • Swoole\Server::protect »
  • PHP Manual
  • Swoole\Server
  • Stop receiving data from the connection.

Swoole\Server::pause

(PECL swoole >= 1.9.0)

Swoole\Server::pause — Stop receiving data from the connection.

Açıklama

public Swoole\Server::pause(int $fd): void

Bağımsız Değişkenler

fd

Dönen Değerler


Set the connection to be protected mode.

  • « Swoole\Server::pause
  • Swoole\Server::reload »
  • PHP Manual
  • Swoole\Server
  • Set the connection to be protected mode.

Swoole\Server::protect

(PECL swoole >= 1.9.0)

Swoole\Server::protect — Set the connection to be protected mode.

Açıklama

public Swoole\Server::protect(int $fd, bool $is_protected = ?): void

Bağımsız Değişkenler

fd

is_protected

Dönen Değerler


Restart all the worker process.

  • « Swoole\Server::protect
  • Swoole\Server::resume »
  • PHP Manual
  • Swoole\Server
  • Restart all the worker process.

Swoole\Server::reload

(PECL swoole >= 1.9.0)

Swoole\Server::reload — Restart all the worker process.

Açıklama

public Swoole\Server::reload(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Start receving data from the connection.

  • « Swoole\Server::reload
  • Swoole\Server::send »
  • PHP Manual
  • Swoole\Server
  • Start receving data from the connection.

Swoole\Server::resume

(PECL swoole >= 1.9.0)

Swoole\Server::resume — Start receving data from the connection.

Açıklama

public Swoole\Server::resume(int $fd): void

Bağımsız Değişkenler

fd

Dönen Değerler


Send data to the client.

  • « Swoole\Server::resume
  • Swoole\Server::sendfile »
  • PHP Manual
  • Swoole\Server
  • Send data to the client.

Swoole\Server::send

(PECL swoole >= 1.9.0)

Swoole\Server::send — Send data to the client.

Açıklama

public Swoole\Server::send(int $fd, string $data, int $reactor_id = ?): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

fd

data

reactor_id

Dönen Değerler


Send file to the connection.

  • « Swoole\Server::send
  • Swoole\Server::sendMessage »
  • PHP Manual
  • Swoole\Server
  • Send file to the connection.

Swoole\Server::sendfile

(PECL swoole >= 1.9.0)

Swoole\Server::sendfile — Send file to the connection.

Açıklama

public Swoole\Server::sendfile(int $fd, string $filename, int $offset = ?): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

fd

filename

offset

Dönen Değerler


Send message to worker processes by ID.

  • « Swoole\Server::sendfile
  • Swoole\Server::sendto »
  • PHP Manual
  • Swoole\Server
  • Send message to worker processes by ID.

Swoole\Server::sendMessage

(PECL swoole >= 1.9.0)

Swoole\Server::sendMessage — Send message to worker processes by ID.

Açıklama

public Swoole\Server::sendMessage(int $worker_id, string $data): bool

Bağımsız Değişkenler

dst_worker_id

data

Dönen Değerler


Send data to the remote UDP address.

  • « Swoole\Server::sendMessage
  • Swoole\Server::sendwait »
  • PHP Manual
  • Swoole\Server
  • Send data to the remote UDP address.

Swoole\Server::sendto

(PECL swoole >= 1.9.0)

Swoole\Server::sendto — Send data to the remote UDP address.

Açıklama

public Swoole\Server::sendto(
string $ip,
int $port,
string $data,
string $server_socket = ?
): bool

Bağımsız Değişkenler

ip

port

data

server_socket

Dönen Değerler


Send data to the remote socket in the blocking way.

  • « Swoole\Server::sendto
  • Swoole\Server::set »
  • PHP Manual
  • Swoole\Server
  • Send data to the remote socket in the blocking way.

Swoole\Server::sendwait

(PECL swoole >= 1.9.0)

Swoole\Server::sendwait — Send data to the remote socket in the blocking way.

Açıklama

public Swoole\Server::sendwait(int $fd, string $data): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

fd

data

Dönen Değerler


Set the runtime settings of the swoole server.

  • « Swoole\Server::sendwait
  • Swoole\Server::shutdown »
  • PHP Manual
  • Swoole\Server
  • Set the runtime settings of the swoole server.

Swoole\Server::set

(PECL swoole >= 1.9.0)

Swoole\Server::set — Set the runtime settings of the swoole server.

Açıklama

public Swoole\Server::set(array $settings): ReturnType

Set the runtime settings of the swoole server. The settings can be accessed by $server->setting when the swoole server has started.

Bağımsız Değişkenler

settings

Dönen Değerler


Shutdown the master server process, this function can be called in worker processes.

  • « Swoole\Server::set
  • Swoole\Server::start »
  • PHP Manual
  • Swoole\Server
  • Shutdown the master server process, this function can be called in worker processes.

Swoole\Server::shutdown

(PECL swoole >= 1.9.0)

Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.

Açıklama

public Swoole\Server::shutdown(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Start the Swoole server.

  • « Swoole\Server::shutdown
  • Swoole\Server::stats »
  • PHP Manual
  • Swoole\Server
  • Start the Swoole server.

Swoole\Server::start

(PECL swoole >= 1.9.0)

Swoole\Server::start — Start the Swoole server.

Açıklama

public Swoole\Server::start(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the stats of the Swoole server.

  • « Swoole\Server::start
  • Swoole\Server::stop »
  • PHP Manual
  • Swoole\Server
  • Get the stats of the Swoole server.

Swoole\Server::stats

(PECL swoole >= 1.9.0)

Swoole\Server::stats — Get the stats of the Swoole server.

Açıklama

public Swoole\Server::stats(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Stop the Swoole server.

  • « Swoole\Server::stats
  • Swoole\Server::task »
  • PHP Manual
  • Swoole\Server
  • Stop the Swoole server.

Swoole\Server::stop

(PECL swoole >= 1.9.0)

Swoole\Server::stop — Stop the Swoole server.

Açıklama

public Swoole\Server::stop(int $worker_id = ?): bool

Bağımsız Değişkenler

worker_id

Dönen Değerler


Send data to the task worker processes.

  • « Swoole\Server::stop
  • Swoole\Server::taskwait »
  • PHP Manual
  • Swoole\Server
  • Send data to the task worker processes.

Swoole\Server::task

(PECL swoole >= 1.9.0)

Swoole\Server::task — Send data to the task worker processes.

Açıklama

public Swoole\Server::task(string $data, int $dst_worker_id = ?, callable $callback = ?): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

dst_worker_id

callback

Dönen Değerler


Send data to the task worker processes in blocking way.

  • « Swoole\Server::task
  • Swoole\Server::taskWaitMulti »
  • PHP Manual
  • Swoole\Server
  • Send data to the task worker processes in blocking way.

Swoole\Server::taskwait

(PECL swoole >= 1.9.0)

Swoole\Server::taskwait — Send data to the task worker processes in blocking way.

Açıklama

public Swoole\Server::taskwait(string $data, float $timeout = ?, int $worker_id = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

data

timeout

worker_id

Dönen Değerler


Execute multiple tasks concurrently.

  • « Swoole\Server::taskwait
  • Swoole\Server::tick »
  • PHP Manual
  • Swoole\Server
  • Execute multiple tasks concurrently.

Swoole\Server::taskWaitMulti

(PECL swoole >= 1.9.0)

Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.

Açıklama

public Swoole\Server::taskWaitMulti(array $tasks, float $timeout_ms = ?): void

Bağımsız Değişkenler

tasks

timeout_ms

Dönen Değerler


Repeats a given function at every given time-interval.

  • « Swoole\Server::taskWaitMulti
  • Swoole\Table »
  • PHP Manual
  • Swoole\Server
  • Repeats a given function at every given time-interval.

Swoole\Server::tick

(PECL swoole >= 1.9.0)

Swoole\Server::tick — Repeats a given function at every given time-interval.

Açıklama

public Swoole\Server::tick(int $interval_ms, callable $callback): void

Bağımsız Değişkenler

interval_ms

callback

Dönen Değerler


The Swoole\Table class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Table implements Iterator, Countable {
/* Sabitler */
const int TYPE_INT = 1;
const int TYPE_STRING = 7;
const int TYPE_FLOAT = 6;
/* Yöntemler */
public column(string $name, string $type, int $size = ?): ReturnType
public count(): int
public create(): void
public current(): array
public decr(string $key, string $column, int $decrby = ?): ReturnType
public del(string $key): void
public destroy(): void
public exist(string $key): bool
public get(string $row_key, string $column_key): int
public incr(string $key, string $column, int $incrby = ?): void
public key(): string
public next(): ReturnType
public rewind(): void
public set(string $key, array $value): VOID
public valid(): bool
}

Öntanımlı Sabitler

Swoole\Table::TYPE_INT

Swoole\Table::TYPE_STRING

Swoole\Table::TYPE_FLOAT

İçindekiler

  • Swoole\Table::column — Set the data type and size of the columns.
  • Swoole\Table::__construct — Construct a Swoole memory table with fixed size.
  • Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.
  • Swoole\Table::create — Create the swoole memory table.
  • Swoole\Table::current — Get the current row.
  • Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.
  • Swoole\Table::del — Delete a row in the Swoole table by $row_key.
  • Swoole\Table::destroy — Destroy the Swoole table.
  • Swoole\Table::exist — Check if a row is existed by $row_key.
  • Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.
  • Swoole\Table::incr — Increment the value by $row_key and $column_key.
  • Swoole\Table::key — Get the key of current row.
  • Swoole\Table::next — Iterator the next row.
  • Swoole\Table::rewind — Rewind the iterator.
  • Swoole\Table::set — Update a row of the table by $row_key.
  • Swoole\Table::valid — Check current if the current row is valid.


Set the data type and size of the columns.

  • « Swoole\Table
  • Swoole\Table::__construct »
  • PHP Manual
  • Swoole\Table
  • Set the data type and size of the columns.

Swoole\Table::column

(PECL swoole >= 1.9.0)

Swoole\Table::column — Set the data type and size of the columns.

Açıklama

public Swoole\Table::column(string $name, string $type, int $size = ?): ReturnType

Bağımsız Değişkenler

name

type

size

Dönen Değerler


Construct a Swoole memory table with fixed size.

  • « Swoole\Table::column
  • Swoole\Table::count »
  • PHP Manual
  • Swoole\Table
  • Construct a Swoole memory table with fixed size.

Swoole\Table::__construct

(PECL swoole >= 1.9.0)

Swoole\Table::__construct — Construct a Swoole memory table with fixed size.

Açıklama

public Swoole\Table::__construct(int $table_size)

Bağımsız Değişkenler

table_size


Count the rows in the table, or count all the elements in the table if $mode = 1.

  • « Swoole\Table::__construct
  • Swoole\Table::create »
  • PHP Manual
  • Swoole\Table
  • Count the rows in the table, or count all the elements in the table if $mode = 1.

Swoole\Table::count

(PECL swoole >= 1.9.0)

Swoole\Table::count — Count the rows in the table, or count all the elements in the table if $mode = 1.

Açıklama

public Swoole\Table::count(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Create the swoole memory table.

  • « Swoole\Table::count
  • Swoole\Table::current »
  • PHP Manual
  • Swoole\Table
  • Create the swoole memory table.

Swoole\Table::create

(PECL swoole >= 1.9.0)

Swoole\Table::create — Create the swoole memory table.

Açıklama

public Swoole\Table::create(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the current row.

  • « Swoole\Table::create
  • Swoole\Table::decr »
  • PHP Manual
  • Swoole\Table
  • Get the current row.

Swoole\Table::current

(PECL swoole >= 1.9.0)

Swoole\Table::current — Get the current row.

Açıklama

public Swoole\Table::current(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Decrement the value in the Swoole table by $row_key and $column_key.

  • « Swoole\Table::current
  • Swoole\Table::del »
  • PHP Manual
  • Swoole\Table
  • Decrement the value in the Swoole table by $row_key and $column_key.

Swoole\Table::decr

(PECL swoole >= 1.9.0)

Swoole\Table::decr — Decrement the value in the Swoole table by $row_key and $column_key.

Açıklama

public Swoole\Table::decr(string $key, string $column, int $decrby = ?): ReturnType

Bağımsız Değişkenler

key

column

decrby

Dönen Değerler


Delete a row in the Swoole table by $row_key.

  • « Swoole\Table::decr
  • Swoole\Table::destroy »
  • PHP Manual
  • Swoole\Table
  • Delete a row in the Swoole table by $row_key.

Swoole\Table::del

(PECL swoole >= 1.9.0)

Swoole\Table::del — Delete a row in the Swoole table by $row_key.

Açıklama

public Swoole\Table::del(string $key): void

Bağımsız Değişkenler

key

Dönen Değerler


Destroy the Swoole table.

  • « Swoole\Table::del
  • Swoole\Table::exist »
  • PHP Manual
  • Swoole\Table
  • Destroy the Swoole table.

Swoole\Table::destroy

(PECL swoole >= 1.9.0)

Swoole\Table::destroy — Destroy the Swoole table.

Açıklama

public Swoole\Table::destroy(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Check if a row is existed by $row_key.

  • « Swoole\Table::destroy
  • Swoole\Table::get »
  • PHP Manual
  • Swoole\Table
  • Check if a row is existed by $row_key.

Swoole\Table::exist

(PECL swoole >= 1.9.0)

Swoole\Table::exist — Check if a row is existed by $row_key.

Açıklama

public Swoole\Table::exist(string $key): bool

Bağımsız Değişkenler

key

Dönen Değerler


Get the value in the Swoole table by $row_key and $column_key.

  • « Swoole\Table::exist
  • Swoole\Table::incr »
  • PHP Manual
  • Swoole\Table
  • Get the value in the Swoole table by $row_key and $column_key.

Swoole\Table::get

(PECL swoole >= 1.9.0)

Swoole\Table::get — Get the value in the Swoole table by $row_key and $column_key.

Açıklama

public Swoole\Table::get(string $row_key, string $column_key): int

Bağımsız Değişkenler

row_key

column_key

Dönen Değerler


Increment the value by $row_key and $column_key.

  • « Swoole\Table::get
  • Swoole\Table::key »
  • PHP Manual
  • Swoole\Table
  • Increment the value by $row_key and $column_key.

Swoole\Table::incr

(PECL swoole >= 1.9.0)

Swoole\Table::incr — Increment the value by $row_key and $column_key.

Açıklama

public Swoole\Table::incr(string $key, string $column, int $incrby = ?): void

Bağımsız Değişkenler

key

column

incrby

Dönen Değerler


Get the key of current row.

  • « Swoole\Table::incr
  • Swoole\Table::next »
  • PHP Manual
  • Swoole\Table
  • Get the key of current row.

Swoole\Table::key

(PECL swoole >= 1.9.0)

Swoole\Table::key — Get the key of current row.

Açıklama

public Swoole\Table::key(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Iterator the next row.

  • « Swoole\Table::key
  • Swoole\Table::rewind »
  • PHP Manual
  • Swoole\Table
  • Iterator the next row.

Swoole\Table::next

(PECL swoole >= 1.9.0)

Swoole\Table::next — Iterator the next row.

Açıklama

public Swoole\Table::next(): ReturnType

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Rewind the iterator.

  • « Swoole\Table::next
  • Swoole\Table::set »
  • PHP Manual
  • Swoole\Table
  • Rewind the iterator.

Swoole\Table::rewind

(PECL swoole >= 1.9.0)

Swoole\Table::rewind — Rewind the iterator.

Açıklama

public Swoole\Table::rewind(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Update a row of the table by $row_key.

  • « Swoole\Table::rewind
  • Swoole\Table::valid »
  • PHP Manual
  • Swoole\Table
  • Update a row of the table by $row_key.

Swoole\Table::set

(PECL swoole >= 1.9.0)

Swoole\Table::set — Update a row of the table by $row_key.

Açıklama

public Swoole\Table::set(string $key, array $value): VOID

Bağımsız Değişkenler

key

value

Dönen Değerler


Check current if the current row is valid.

  • « Swoole\Table::set
  • Swoole\Timer »
  • PHP Manual
  • Swoole\Table
  • Check current if the current row is valid.

Swoole\Table::valid

(PECL swoole >= 1.9.0)

Swoole\Table::valid — Check current if the current row is valid.

Açıklama

public Swoole\Table::valid(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Swoole\Timer class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\Timer {
/* Yöntemler */
public static after(int $after_time_ms, callable $callback): void
public static clear(int $timer_id): void
public static exists(int $timer_id): bool
public static tick(int $interval_ms, callable $callback, string $param = ?): void
}

İçindekiler

  • Swoole\Timer::after — Trigger a callback function after a period of time.
  • Swoole\Timer::clear — Delete a timer by timer ID.
  • Swoole\Timer::exists — Check if a timer is existed.
  • Swoole\Timer::tick — Repeats a given function at every given time-interval.


Trigger a callback function after a period of time.

  • « Swoole\Timer
  • Swoole\Timer::clear »
  • PHP Manual
  • Swoole\Timer
  • Trigger a callback function after a period of time.

Swoole\Timer::after

(PECL swoole >= 1.9.0)

Swoole\Timer::after — Trigger a callback function after a period of time.

Açıklama

public static Swoole\Timer::after(int $after_time_ms, callable $callback): void

Trigger a callback function after a period of time.

Bağımsız Değişkenler

after_time_ms

callback

Dönen Değerler


Delete a timer by timer ID.

  • « Swoole\Timer::after
  • Swoole\Timer::exists »
  • PHP Manual
  • Swoole\Timer
  • Delete a timer by timer ID.

Swoole\Timer::clear

(PECL swoole >= 1.9.0)

Swoole\Timer::clear — Delete a timer by timer ID.

Açıklama

public static Swoole\Timer::clear(int $timer_id): void

Delete a timer by timer ID.

Bağımsız Değişkenler

timer_id

Dönen Değerler


Check if a timer is existed.

  • « Swoole\Timer::clear
  • Swoole\Timer::tick »
  • PHP Manual
  • Swoole\Timer
  • Check if a timer is existed.

Swoole\Timer::exists

(PECL swoole >= 1.9.0)

Swoole\Timer::exists — Check if a timer is existed.

Açıklama

public static Swoole\Timer::exists(int $timer_id): bool

Check if a timer is existed.

Bağımsız Değişkenler

timer_id

Dönen Değerler


Repeats a given function at every given time-interval.

  • « Swoole\Timer::exists
  • Swoole\WebSocket\Frame »
  • PHP Manual
  • Swoole\Timer
  • Repeats a given function at every given time-interval.

Swoole\Timer::tick

(PECL swoole >= 1.9.0)

Swoole\Timer::tick — Repeats a given function at every given time-interval.

Açıklama

public static Swoole\Timer::tick(int $interval_ms, callable $callback, string $param = ?): void

Bağımsız Değişkenler

interval_ms

callback

param

Dönen Değerler


The Swoole\WebSocket\Frame class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\WebSocket\Frame {
/* Yöntemler */
}


The Swoole\WebSocket\Server class

(PECL swoole >= 1.9.0)

Giriş

Sınıf Sözdizimi

class Swoole\WebSocket\Server extends Swoole\Http\Server {
/* Yöntemler */
public exist(int $fd): bool
public on(string $event_name, callable $callback): ReturnType
public static pack(
string $data,
string $opcode = ?,
string $finish = ?,
string $mask = ?
): binary
public push(
string $fd,
string $data,
string $opcode = ?,
string $finish = ?
): void
public static unpack(binary $data): string
/* Miras alınan yöntemler */
public Swoole\Http\Server::on(string $event_name, callable $callback): void
public Swoole\Http\Server::start(): void
}

İçindekiler

  • Swoole\WebSocket\Server::exist — Check if the file descriptor exists.
  • Swoole\WebSocket\Server::on — Register event callback function
  • Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.
  • Swoole\WebSocket\Server::push — Push data to the remote client.
  • Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.


Check if the file descriptor exists.

  • « Swoole\WebSocket\Server
  • Swoole\WebSocket\Server::on »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Check if the file descriptor exists.

Swoole\WebSocket\Server::exist

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::exist — Check if the file descriptor exists.

Açıklama

public Swoole\WebSocket\Server::exist(int $fd): bool

Bağımsız Değişkenler

fd

Dönen Değerler


Register event callback function

  • « Swoole\WebSocket\Server::exist
  • Swoole\WebSocket\Server::pack »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Register event callback function

Swoole\WebSocket\Server::on

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::on — Register event callback function

Açıklama

public Swoole\WebSocket\Server::on(string $event_name, callable $callback): ReturnType

Register event callback function

Bağımsız Değişkenler

event_name

callback

Dönen Değerler


Get a pack of binary data to send in a single frame.

  • « Swoole\WebSocket\Server::on
  • Swoole\WebSocket\Server::push »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Get a pack of binary data to send in a single frame.

Swoole\WebSocket\Server::pack

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::pack — Get a pack of binary data to send in a single frame.

Açıklama

public static Swoole\WebSocket\Server::pack(
string $data,
string $opcode = ?,
string $finish = ?,
string $mask = ?
): binary

Bağımsız Değişkenler

data

opcode

finish

mask

Dönen Değerler


Push data to the remote client.

  • « Swoole\WebSocket\Server::pack
  • Swoole\WebSocket\Server::unpack »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Push data to the remote client.

Swoole\WebSocket\Server::push

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::push — Push data to the remote client.

Açıklama

public Swoole\WebSocket\Server::push(
string $fd,
string $data,
string $opcode = ?,
string $finish = ?
): void

Bağımsız Değişkenler

fd

data

opcode

finish

Dönen Değerler


Unpack the binary data received from the client.

  • « Swoole\WebSocket\Server::push
  • Tidy »
  • PHP Manual
  • Swoole\WebSocket\Server
  • Unpack the binary data received from the client.

Swoole\WebSocket\Server::unpack

(PECL swoole >= 1.9.0)

Swoole\WebSocket\Server::unpack — Unpack the binary data received from the client.

Açıklama

public static Swoole\WebSocket\Server::unpack(binary $data): string

Bağımsız Değişkenler

data

Dönen Değerler


Tidy

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Tidy örneği
  • tidy — tidy sınıfı
    • tidy::body — Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::cleanRepair — Çözümlenen imlenim üzerinde bakım ve onarım yapar
    • tidy::__construct — Yeni bir tidy nesnesi oluşturur
    • tidy::diagnose — Çözümlenen veya onarılan imlenim üzerinde tanılama yapar
    • tidy::$errorBuffer — Belge çözümlenirken oluşan uyarıları ve hataları döndür
    • tidy::getConfig — Geçerli Tidy yapılandırmasını döndürür
    • tidy::getHtmlVer — Belgenin algılanan HTML sürümünü döndürür
    • tidy::getOpt — Belirtilen yapılandırma seçeneğinin değerini döndürür
    • tidy::getOptDoc — Belirtilen seçenekle ilgili belgeyi döndürür
    • tidy::getRelease — Tidy kütüphanesinin dağıtım tarihini döndürür
    • tidy::getStatus — Belgenin durumunu döndürür
    • tidy::head — Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::html — Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::isXhtml — Belge bir XHTML belge mi diye bakar
    • tidy::isXml — Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar
    • tidy::parseFile — Belirtilen URI veya dosyadaki imlenimi çözümler
    • tidy::parseString — Bir dizge olarak belirtilen bir belgeyi çözümler
    • tidy::repairFile — Bir dosyayı onarıp bir dizge olarak döndürür
    • tidy::repairString — Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır
    • tidy::root — Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür
  • tidyNode — tidyNode sınıfı
    • tidyNode::__construct — Doğrudan örneklemeyi engellemek için özel kurucu
    • tidyNode::getParent — Geçerli düğümün ebeveynini döndürür
    • tidyNode::hasChildren — Düğümün çocukları olup olmadığına bakar
    • tidyNode::hasSiblings — Düğümün kardeşleri olup olmadığına bakar
    • tidyNode::isAsp — Düğümün bir ASP düğümü olup olmadığına bakar
    • tidyNode::isComment — Düğüm bir açıklama düğümü mü diye bakar
    • tidyNode::isHtml — Düğümün bir eleman düğümü olup olmadığına bakar
    • tidyNode::isJste — Düğümün bir JSTE düğümü olup olmadığına bakar
    • tidyNode::isPhp — Düğümün bir PHP düğümü olup olmadığına bakar
    • tidyNode::isText — Düğümün bir metin düğümü olup olmadığına bakar
  • Tidy İşlevleri
    • ob_tidyhandler — Tampon onarımı için ob_start geriçağırım işlevi
    • tidy_access_count — Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür
    • tidy_config_count — Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür
    • tidy_error_count — Belgede saptanan Tidy hatalarının sayısını döndürür
    • tidy_get_output — Çözümlenen Tidy imlenimini bir dizge olarak döndürür
    • tidy_warning_count — Belgede saptanan Tidy uyarılarının sayısını döndürür


Giriş

Tidy eklentisi, yalnızca HTML, XHTML ve XML belgelerini temizlemenize ve başka şekillerde değiştirmenizi sağlamasının yanında, içinde PHP veya ASP gibi gömülü komut dosyası dilleri bulunanlar da dahil olmak üzere nesne yönelimli yapılar kullanarak belge ağacında gezinmenize olanak tanıyan Tidy HTML temizleme ve onarım yardımcı programı için de bir bağlayıcıdır.


Gereksinimler

Tidy'yi kullanmak için sisteminizde libtidy kurulu olmalıdır. Libtidy, » tidy sitesinden temin edinilebilir. PHP 7.1.0 itibariyle HTML5 bilen halefi » libtidy5 kullanılabilir. PHP 7.3.0 itibariyle başka bir seçenek olarak » libtidyp de kullanılabilir.


Kurulum

Bu eklenti PHP paketinde gelmekte olup --with-tidy yapılandırma seçeneği kullanılarak kurulabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Tidy Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

tidy.default_config string

Tidy yapılandırma dosyasının öntanımlı yolu

tidy.clean_output bool

Tidy tarafından çıktı onarımını açıp kapar.

Uyarı

Devingen resimler gibi HTML dışı içerik üretiyorsanız tidy.clean_output yönergesini etkinleştirmeyin.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Her TIDY_TAG_XXX sabiti bir HTML etiketine karşılıktır. Örneğin, TIDY_TAG_A bir "<a href="XX">link</a>" etiketini ifade eder. Her TIDY_ATTR_XXX sabiti ise bir HTML özniteliğine karşılıktır. Örneğin, TIDY_ATTR_HREF önceki örnekteki href özniteliğine karşı düşecekti.

Şu sabitler tanımlıdır:

tidy etiket sabitleri
Sabit | Açıklama
TIDY_TAG_UNKNOWN |
TIDY_TAG_A |
TIDY_TAG_ABBR |
TIDY_TAG_ACRONYM |
TIDY_TAG_ALIGN |
TIDY_TAG_APPLET |
TIDY_TAG_AREA |
TIDY_TAG_ARTICLE | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_ASIDE | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_AUDIO | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_B |
TIDY_TAG_BASE |
TIDY_TAG_BASEFONT |
TIDY_TAG_BDI | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_BDO |
TIDY_TAG_BGSOUND |
TIDY_TAG_BIG |
TIDY_TAG_BLINK |
TIDY_TAG_BLOCKQUOTE |
TIDY_TAG_BODY |
TIDY_TAG_BR |
TIDY_TAG_BUTTON |
TIDY_TAG_CANVAS | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_CAPTION |
TIDY_TAG_CENTER |
TIDY_TAG_CITE |
TIDY_TAG_CODE |
TIDY_TAG_COL |
TIDY_TAG_COLGROUP |
TIDY_TAG_COMMAND | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_COMMENT |
TIDY_TAG_DATALIST | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_DD |
TIDY_TAG_DEL |
TIDY_TAG_DETAILS | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_DFN |
TIDY_TAG_DIALOG | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_DIR |
TIDY_TAG_DIV |
TIDY_TAG_DL |
TIDY_TAG_DT |
TIDY_TAG_EM |
TIDY_TAG_EMBED |
TIDY_TAG_FIELDSET |
TIDY_TAG_FIGCAPTION | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_FIGURE | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_FONT |
TIDY_TAG_FOOTER | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_FORM |
TIDY_TAG_FRAME |
TIDY_TAG_FRAMESET |
TIDY_TAG_H1 |
TIDY_TAG_H2 |
TIDY_TAG_H3 |
TIDY_TAG_H4 |
TIDY_TAG_H5 |
TIDY_TAG_H6 |
TIDY_TAG_HEAD |
TIDY_TAG_HEADER | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_HGROUP | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_HR |
TIDY_TAG_HTML |
TIDY_TAG_I |
TIDY_TAG_IFRAME |
TIDY_TAG_ILAYER |
TIDY_TAG_IMG |
TIDY_TAG_INPUT |
TIDY_TAG_INS |
TIDY_TAG_ISINDEX |
TIDY_TAG_KBD |
TIDY_TAG_KEYGEN |
TIDY_TAG_LABEL |
TIDY_TAG_LAYER |
TIDY_TAG_LEGEND |
TIDY_TAG_LI |
TIDY_TAG_LINK |
TIDY_TAG_LISTING |
TIDY_TAG_MAIN | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_MAP |
TIDY_TAG_MARK | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_MARQUEE |
TIDY_TAG_MENU |
TIDY_TAG_MENUITEM | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_META |
TIDY_TAG_METER | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_MULTICOL |
TIDY_TAG_NAV | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_NOBR |
TIDY_TAG_NOEMBED |
TIDY_TAG_NOFRAMES |
TIDY_TAG_NOLAYER |
TIDY_TAG_NOSAVE |
TIDY_TAG_NOSCRIPT |
TIDY_TAG_OBJECT |
TIDY_TAG_OL |
TIDY_TAG_OPTGROUP |
TIDY_TAG_OPTION |
TIDY_TAG_OUTPUT | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_P |
TIDY_TAG_PARAM |
TIDY_TAG_PLAINTEXT |
TIDY_TAG_PRE |
TIDY_TAG_PROGRESS | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_Q |
TIDY_TAG_RB |
TIDY_TAG_RBC |
TIDY_TAG_RP |
TIDY_TAG_RT |
TIDY_TAG_RTC |
TIDY_TAG_RUBY |
TIDY_TAG_S |
TIDY_TAG_SAMP |
TIDY_TAG_SCRIPT |
TIDY_TAG_SECTION | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_SELECT |
TIDY_TAG_SERVER |
TIDY_TAG_SERVLET |
TIDY_TAG_SMALL |
TIDY_TAG_SOURCE | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_SPACER |
TIDY_TAG_SPAN |
TIDY_TAG_STRIKE |
TIDY_TAG_STRONG |
TIDY_TAG_STYLE |
TIDY_TAG_SUB |
TIDY_TAG_SUMMARY | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_SUP |
TIDY_TAG_TABLE |
TIDY_TAG_TBODY |
TIDY_TAG_TD |
TIDY_TAG_TEMPLATE | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_TEXTAREA |
TIDY_TAG_TFOOT |
TIDY_TAG_TH |
TIDY_TAG_THEAD |
TIDY_TAG_TIME | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_TITLE |
TIDY_TAG_TR |
TIDY_TAG_TRACK | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_TT |
TIDY_TAG_U |
TIDY_TAG_UL |
TIDY_TAG_VAR |
TIDY_TAG_VIDEO | libtidy 5.0.0'da eklendi. PHP 7.4.0 ve sonrasında kullanılabilir.
TIDY_TAG_WBR |
TIDY_TAG_XMP |

tidy düğüm türü sabitleri
Sabit | Açıklama
TIDY_NODETYPE_ROOT | kök düğüm
TIDY_NODETYPE_DOCTYPE | belge türü
TIDY_NODETYPE_COMMENT | HTML açıklaması
TIDY_NODETYPE_PROCINS | İşlem Komutu
TIDY_NODETYPE_TEXT | Metin
TIDY_NODETYPE_START | Başlangıç etiketi
TIDY_NODETYPE_END | Son etiket
TIDY_NODETYPE_STARTEND | Boş etiket
TIDY_NODETYPE_CDATA | CDATA
TIDY_NODETYPE_SECTION | XML bölümü
TIDY_NODETYPE_ASP | ASP kodu
TIDY_NODETYPE_JSTE | JSTE kodu
TIDY_NODETYPE_PHP | PHP kodu
TIDY_NODETYPE_XMLDECL | XML bildirimi


  • « Öntanımlı Sabitler
  • Tidy örneği »
  • PHP Manual
  • Tidy
  • Örnekler

Örnekler

İçindekiler

  • Tidy örneği


Tidy örneği

Basit bir tidy kullanım örneği.

Örnek 1 - Temel Tidy Kullanımı

<?php
ob_start();
?>
<html>Bir HTML belge</html>
<?php
$html = ob_get_clean();

// Yapılandırmayı belirtelim
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);

// Tidy tarafı
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();

// Çıktılayalım
echo $tidy;
?>


tidy sınıfı

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

Giriş

tidy tarafından saptandığı haliyle bir HTML dosyasındaki bir HTML düğümü.

Sınıf Sözdizimi

class tidy {
/* Özellikler */
public ?string $errorBuffer = null;
public ?string $value = null;
/* Yöntemler */
public __construct(
?string $filename = null,
array|string|null $config = null,
?string $encoding = null,
bool $useIncludePath = false
)
public body(): ?tidyNode
public cleanRepair(): bool
public diagnose(): bool
public getConfig(): array
public getHtmlVer(): int
public getOpt(string $seçenek): string|int|bool
public getOptDoc(string $seçenek): string|false
public getRelease(): string
public getStatus(): int
public head(): ?tidyNode
public html(): ?tidyNode
public isXhtml(): bool
public isXml(): bool
public static repairFile(
string $dosya,
array|string|null $ayarlar = null,
?string $kodlama = null,
bool $include_path_kullan = false
): string|false
public static repairString(string $veri, array|string|null $ayarlar = null, ?string $kodlama = null): string|false
public root(): ?tidyNode
}

Özellikler

value

Çevre etiketleri de içererek düğümün HTML kodu.

İçindekiler

  • tidy::body — Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::cleanRepair — Çözümlenen imlenim üzerinde bakım ve onarım yapar
  • tidy::__construct — Yeni bir tidy nesnesi oluşturur
  • tidy::diagnose — Çözümlenen veya onarılan imlenim üzerinde tanılama yapar
  • tidy::$errorBuffer — Belge çözümlenirken oluşan uyarıları ve hataları döndür
  • tidy::getConfig — Geçerli Tidy yapılandırmasını döndürür
  • tidy::getHtmlVer — Belgenin algılanan HTML sürümünü döndürür
  • tidy::getOpt — Belirtilen yapılandırma seçeneğinin değerini döndürür
  • tidy::getOptDoc — Belirtilen seçenekle ilgili belgeyi döndürür
  • tidy::getRelease — Tidy kütüphanesinin dağıtım tarihini döndürür
  • tidy::getStatus — Belgenin durumunu döndürür
  • tidy::head — Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::html — Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::isXhtml — Belge bir XHTML belge mi diye bakar
  • tidy::isXml — Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar
  • tidy::parseFile — Belirtilen URI veya dosyadaki imlenimi çözümler
  • tidy::parseString — Bir dizge olarak belirtilen bir belgeyi çözümler
  • tidy::repairFile — Bir dosyayı onarıp bir dizge olarak döndürür
  • tidy::repairString — Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır
  • tidy::root — Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür


Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür

  • « tidy
  • tidy::cleanRepair »
  • PHP Manual
  • tidy
  • Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür

tidy::body

tidy_get_body

(PHP 5, PHP 7, PHP 8, PECL tidy 0.5.2-1.0)

tidy::body -- tidy_get_body — Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::body(): ?tidyNode

Yordamsal kullanım

tidy_get_body(tidy $tidy): ?tidyNode

Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Tidy çözümleme ağacının <body> etiketinden başlayan tidyNode nesnesini döndürür.

Örnekler

Örnek 1 - tidy::getBody() örneği

<?php
$html = '
<html>
<head>
<title>test</title>
</head>
<body>
<p>paragraph</p>
</body>
</html>';

$tidy = tidy_parse_string($html);

$body = $tidy->Body();
echo $body->value;
?>

Yukarıdaki örneğin çıktısı:

<body>
<p>paragraph</p>
</body>

Ayrıca Bakınız

  • tidy::head() - Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::html() - Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür


Çözümlenen imlenim üzerinde bakım ve onarım yapar

  • « tidy::body
  • tidy::__construct »
  • PHP Manual
  • tidy
  • Çözümlenen imlenim üzerinde bakım ve onarım yapar

tidy::cleanRepair

tidy_clean_repair

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::cleanRepair -- tidy_clean_repair — Çözümlenen imlenim üzerinde bakım ve onarım yapar

Açıklama

Nesne yönelimli kullanım

public tidy::cleanRepair(): bool

Yordamsal kullanım

tidy_clean_repair(tidy $tidy): bool

Belirtilen tidy nesnesi üzerinde bakım ve onarım yapar.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - tidy::cleanrepair() örneği

<?php
$html = '<p>test</I>';

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

echo $tidy;
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Ayrıca Bakınız

  • tidy::repairFile() - Bir dosyayı onarıp bir dizge olarak döndürür
  • tidy::repairString() - Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır


Yeni bir tidy nesnesi oluşturur

  • « tidy::cleanRepair
  • tidy::diagnose »
  • PHP Manual
  • tidy
  • Yeni bir tidy nesnesi oluşturur

tidy::__construct

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::__construct — Yeni bir tidy nesnesi oluşturur

Açıklama

public tidy::__construct(
?string $filename = null,
array|string|null $config = null,
?string $encoding = null,
bool $useIncludePath = false
)

Yeni bir tidy nesnesi oluşturur.

Bağımsız Değişkenler

filename

Bu bağımsız değişken belirtilmişse, işlev tidy::parseFile() işlevi gibi davranarak dosyayı okuyup nesneyi bu içerikten ilklendirir.

config

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

encoding

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

useIncludePath

Dosya include_path yönergesinde belirtilen yollarda aranır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filename, config, encoding ve useIncludePath artık null olabiliyor.

Örnekler

Örnek 1 - tidy::__construct() örneği

<?php

$html = <<< HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><title>title</title></head>
<body>
<p>paragraph <bt />
text</p>
</body></html>

HTML;

$tidy = new tidy();
$tidy->ParseString($html);

$tidy->cleanRepair();

if ($tidy->errorBuffer) {
echo "Saptanan hatalar:\n";
echo $tidy->errorBuffer;
}

?>

Yukarıdaki örneğin çıktısı:

Saptanan hatalar:
line 8 column 14 - Error: <bt> is not recognized!
line 8 column 14 - Warning: discarding unexpected <bt>

Ayrıca Bakınız

  • tidy::parseFile() - Belirtilen URI veya dosyadaki imlenimi çözümler
  • tidy::parseString() - Bir dizge olarak belirtilen bir belgeyi çözümler


Çözümlenen veya onarılan imlenim üzerinde tanılama yapar

  • « tidy::__construct
  • tidy::$errorBuffer »
  • PHP Manual
  • tidy
  • Çözümlenen veya onarılan imlenim üzerinde tanılama yapar

tidy::diagnose

tidy_diagnose

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::diagnose -- tidy_diagnose — Çözümlenen veya onarılan imlenim üzerinde tanılama yapar

Açıklama

Nesne yönelimli kullanım

public tidy::diagnose(): bool

Yordamsal kullanım

tidy_diagnose(tidy $tidy): bool

Belirtilen tidy nesnesine, hata tamponundaki belge hakkında bazı bilgiler ekleyerek tanılama uygular.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - tidy::diagnose() örneği

<?php

$html = <<< HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<p>paragraph</p>
HTML;

$tidy = tidy_parse_string($html);
$tidy->cleanRepair();

// İki çıktı arasındaki farka dikkat edin
echo $tidy->errorBuffer . "\n";

$tidy->diagnose();
echo $tidy->errorBuffer;

?>

Yukarıdaki örneğin çıktısı:

line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
line 4 column 1 - Warning: <p> isn't allowed in <head> elements
line 4 column 1 - Warning: inserting missing 'title' element
Info: Doctype given is "-//W3C//DTD XHTML 1.0 Strict//EN"
Info: Document content looks like XHTML 1.0 Strict
2 warnings, 0 errors were found!

Ayrıca Bakınız

  • tidy::errorBuffer()


Belge çözümlenirken oluşan uyarıları ve hataları döndür

  • « tidy::diagnose
  • tidy::getConfig »
  • PHP Manual
  • tidy
  • Belge çözümlenirken oluşan uyarıları ve hataları döndür

tidy::$errorBuffer

tidy_get_error_buffer

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::$errorBuffer -- tidy_get_error_buffer — Belge çözümlenirken oluşan uyarıları ve hataları döndür

Açıklama

Nesne yönelimli kullanım (özellik):

public string $tidy->errorBuffer;

Yordamsal kullanım:

tidy_get_error_buffer(tidy $tidy): string|false

Belge çözümlenirken oluşan uyarıları ve hataları döndür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Bir dizge olarak hata tamponu veya tampon boşsa false döner.

Örnekler

Örnek 1 - tidy_get_error_buffer() örneği

<?php
$html = '<p>paragraf</p>';

$tidy = tidy_parse_string($html);

echo tidy_get_error_buffer($tidy);
/* or in OO: */
echo $tidy->errorBuffer;
?>

Yukarıdaki örneğin çıktısı:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: inserting missing 'title' element

Ayrıca Bakınız

  • tidy_access_count() - Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür
  • tidy_error_count() - Belgede saptanan Tidy hatalarının sayısını döndürür
  • tidy_warning_count() - Belgede saptanan Tidy uyarılarının sayısını döndürür


Geçerli Tidy yapılandırmasını döndürür

  • « tidy::$errorBuffer
  • tidy::getHtmlVer »
  • PHP Manual
  • tidy
  • Geçerli Tidy yapılandırmasını döndürür

tidy::getConfig

tidy_get_config

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.7.0)

tidy::getConfig -- tidy_get_config — Geçerli Tidy yapılandırmasını döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getConfig(): array

Yordamsal kullanım

tidy_get_config(tidy $tidy): array

Belirtilen Tidy tidy nesnesinin yapılandırma seçeneklerini bir dizi içinde döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Yapılandırma seçeneklerini içeren bir dizi döndürür.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

Örnekler

Örnek 1 - tidy::getConfig() örneği

<?php
$html = '<p>deneme</p>';
$config = array('indent' => TRUE,
'output-xhtml' => TRUE,
'wrap' => 200);

$tidy = tidy_parse_string($html, $config);

print_r($tidy->getConfig());
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [indent-spaces] => 2
    [wrap] => 200
    [tab-size] => 8
    [char-encoding] => 1
    [input-encoding] => 3
    [output-encoding] => 1
    [newline] => 1
    [doctype-mode] => 1
    [doctype] =>
    [repeated-attributes] => 1
    [alt-text] =>
    [slide-style] =>
    [error-file] =>
    [output-file] =>
    [write-back] =>
    [markup] => 1
    [show-warnings] => 1
    [quiet] =>
    [indent] => 1
    [hide-endtags] =>
    [input-xml] =>
    [output-xml] => 1
    [output-xhtml] => 1
    [output-html] =>
    [add-xml-decl] =>
    [uppercase-tags] =>
    [uppercase-attributes] =>
    [bare] =>
    [clean] =>
    [logical-emphasis] =>
    [drop-proprietary-attributes] =>
    [drop-font-tags] =>
    [drop-empty-paras] => 1
    [fix-bad-comments] => 1
    [break-before-br] =>
    [split] =>
    [numeric-entities] =>
    [quote-marks] =>
    [quote-nbsp] => 1
    [quote-ampersand] => 1
    [wrap-attributes] =>
    [wrap-script-literals] =>
    [wrap-sections] => 1
    [wrap-asp] => 1
    [wrap-jste] => 1
    [wrap-php] => 1
    [fix-backslash] => 1
    [indent-attributes] =>
    [assume-xml-procins] =>
    [add-xml-space] =>
    [enclose-text] =>
    [enclose-block-text] =>
    [keep-time] =>
    [word-2000] =>
    [tidy-mark] =>
    [gnu-emacs] =>
    [gnu-emacs-file] =>
    [literal-attributes] =>
    [show-body-only] =>
    [fix-uri] => 1
    [lower-literals] => 1
    [hide-comments] =>
    [indent-cdata] =>
    [force-output] => 1
    [show-errors] => 6
    [ascii-chars] => 1
    [join-classes] =>
    [join-styles] => 1
    [escape-cdata] =>
    [language] =>
    [ncr] => 1
    [output-bom] => 2
    [replace-color] =>
    [css-prefix] =>
    [new-inline-tags] =>
    [new-blocklevel-tags] =>
    [new-empty-tags] =>
    [new-pre-tags] =>
    [accessibility-check] => 0
    [vertical-space] =>
    [punctuation-wrap] =>
    [merge-divs] => 1
)

Ayrıca Bakınız

  • tidy_reset_config()
  • tidy_save_config()


Belgenin algılanan HTML sürümünü döndürür

  • « tidy::getConfig
  • tidy::getOpt »
  • PHP Manual
  • tidy
  • Belgenin algılanan HTML sürümünü döndürür

tidy::getHtmlVer

tidy_get_html_ver

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::getHtmlVer -- tidy_get_html_ver — Belgenin algılanan HTML sürümünü döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getHtmlVer(): int

Yordamsal kullanım

tidy_get_html_ver(tidy $tidy): int

Belgenin algılanan HTML sürümünü döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Algılanan HTML sürüm numarasını döndürür.

Uyarı

Bu işlevi henüz Tidylib gerçeklemediğinden şimdilik daima 0 döndürmektedir.


Belirtilen yapılandırma seçeneğinin değerini döndürür

  • « tidy::getHtmlVer
  • tidy::getOptDoc »
  • PHP Manual
  • tidy
  • Belirtilen yapılandırma seçeneğinin değerini döndürür

tidy::getOpt

tidy_getopt

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::getOpt -- tidy_getopt — Belirtilen yapılandırma seçeneğinin değerini döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getOpt(string $seçenek): string|int|bool

Yordamsal kullanım

tidy_getopt(tidy $tidy, string $seçenek): string|int|bool

Belirtilen seçenek ile ilgili değeri döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

seçenek

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

Dönen Değerler

Belirtilen seçenek ile ilgili değeri döndürür. Dönüş türü seçeneğe göre değişir.

Örnekler

Örnek 1 - tidy_getopt() örneği

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Başlık</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

$config = array('accessibility-check' => 3,
'alt-text' => 'bir metin');

$tidy = new tidy();
$tidy->parseString($html, $config);

var_dump($tidy->getOpt('accessibility-check')); //integer
var_dump($tidy->getOpt('lower-literals')); //boolean
var_dump($tidy->getOpt('alt-text')); //string

?>

Yukarıdaki örneğin çıktısı:

int(3)
bool(true)
string(9) "bir metin"


Belirtilen seçenekle ilgili belgeyi döndürür

  • « tidy::getOpt
  • tidy::getRelease »
  • PHP Manual
  • tidy
  • Belirtilen seçenekle ilgili belgeyi döndürür

tidy::getOptDoc

tidy_get_opt_doc

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

tidy::getOptDoc -- tidy_get_opt_doc — Belirtilen seçenekle ilgili belgeyi döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getOptDoc(string $seçenek): string|false

Yordamsal kullanım

tidy_get_opt_doc(tidy $tidy, string $seçenek): string|false

Belirtilen seçenekle ilgili belgeyi döndürür.

Bilginize:

Bu işlevin kullanılabilmesi için en azından 25 Nisan 2005 tarihli libtidy gerekir.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

seçenek

Seçenek ismi.

Dönen Değerler

Seçenek ve belgesi varsa bir dizge, yoksa false döndürür.

Örnekler

Örnek 1 - Tüm seçeneklerin belgelerini ve öntanımlı değerlerini almak

<?php

$tidy = new tidy;
$config = $tidy->getConfig();

ksort($config);

foreach ($config as $opt => $val) {

if (!$doc = $tidy->getOptDoc($opt))
$doc = 'no documentation available!';

$val = ($tidy->getOpt($opt) === true) ? 'true' : $val;
$val = ($tidy->getOpt($opt) === false) ? 'false' : $val;

echo "<p><b>$opt</b> (Öntanımlı değeri: '$val')<br />".
"$doc</p><hr />\n";
}

?>

Ayrıca Bakınız

  • tidy::getconfig() - Geçerli Tidy yapılandırmasını döndürür
  • tidy::getopt() - Belirtilen yapılandırma seçeneğinin değerini döndürür


Tidy kütüphanesinin dağıtım tarihini döndürür

  • « tidy::getOptDoc
  • tidy::getStatus »
  • PHP Manual
  • tidy
  • Tidy kütüphanesinin dağıtım tarihini döndürür

tidy::getRelease

tidy_get_release

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::getRelease -- tidy_get_release — Tidy kütüphanesinin dağıtım tarihini döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getRelease(): string

Yordamsal kullanım

tidy_get_release(): string

Tidy kütüphanesinin dağıtım tarihini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tidy kütüphanesinin dağıtım tarihini bir dizge olarak döndürür ('unknown' olabilir).


Belgenin durumunu döndürür

  • « tidy::getRelease
  • tidy::head »
  • PHP Manual
  • tidy
  • Belgenin durumunu döndürür

tidy::getStatus

tidy_get_status

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::getStatus -- tidy_get_status — Belgenin durumunu döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::getStatus(): int

Yordamsal kullanım

tidy_get_status(tidy $tidy): int

tidy ile belirtilen belgenin durumunu döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Bir hata veya uyarı oluşmamışsa 0, uyarılar veya erişilebilirlik hataları için 1, hatalar için 2 döner.

Örnekler

Örnek 1 - tidy::getStatus() örneği

<?php
$html = '<p>paragraf</i>';
$tidy = new tidy();
$tidy->parseString($html);

$tidy2 = new tidy();
$html2 = '<bogus>deneme</bogus>';
$tidy2->parseString($html2);

echo $tidy->getStatus(); //1

echo $tidy2->getStatus(); //2
?>


Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür

  • « tidy::getStatus
  • tidy::html »
  • PHP Manual
  • tidy
  • Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür

tidy::head

tidy_get_head

(PHP 5, PHP 7, PHP 8, PECL tidy 0.5.2-1.0.0)

tidy::head -- tidy_get_head — Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::head(): ?tidyNode

Yordamsal kullanım

tidy_get_head(tidy $tidy): ?tidyNode

Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Bir tidyNode nesnesi döner.

Örnekler

Örnek 1 - tidy::head() örneği

<?php
$html = '
<html>
<head>
<title>deneme</title>
</head>
<body>
<p>paragraf</p>
</body>
</html>';

$tidy = tidy_parse_string($html);

$head = $tidy->head();
echo $head->value;
?>

Yukarıdaki örneğin çıktısı:

<head>
<title>deneme</title>
</head>

Ayrıca Bakınız

  • tidy::body() - Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::html() - Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür


Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür

  • « tidy::head
  • tidy::isXhtml »
  • PHP Manual
  • tidy
  • Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür

tidy::html

tidy_get_html

(PHP 5, PHP 7, PHP 8, PECL tidy 0.5.2-1.0.0)

tidy::html -- tidy_get_html — Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::html(): ?tidyNode

Yordamsal kullanım

tidy_get_html(tidy $tidy): ?tidyNode

Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Bir tidyNode nesnesi döner.

Örnekler

Örnek 1 - tidy::html() örneği

<?php
$html = '
<html>
<head>
<title>deneme</title>
</head>
<body>
<p>paragraf</p>
</body>
</html>';

$tidy = tidy_parse_string($html);

$html = $tidy->html();
echo $html->value;
?>

Yukarıdaki örneğin çıktısı:

<html>
<head>
<title>deneme</title>
</head>
<body>
<p>paragraf</p>
</body>
</html>

Ayrıca Bakınız

  • tidy::body() - Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür
  • tidy::head() - Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür


Belge bir XHTML belge mi diye bakar

  • « tidy::html
  • tidy::isXml »
  • PHP Manual
  • tidy
  • Belge bir XHTML belge mi diye bakar

tidy::isXhtml

tidy_is_xhtml

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::isXhtml -- tidy_is_xhtml — Belge bir XHTML belge mi diye bakar

Açıklama

Nesne yönelimli kullanım

public tidy::isXhtml(): bool

Yordamsal kullanım

tidy_is_xhtml(tidy $tidy): bool

Belge bir XHTML belge ise true döner.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Belge bir XHTML belge ise true yoksa false döner.

Uyarı

Bu işlevi henüz Tidylib gerçeklemediğinden şimdilik daima false döndürmektedir.


Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar

  • « tidy::isXhtml
  • tidy::parseFile »
  • PHP Manual
  • tidy
  • Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar

tidy::isXml

tidy_is_xml

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::isXml -- tidy_is_xml — Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar

Açıklama

Nesne yönelimli kullanım

public tidy::isXml(): bool

Yordamsal kullanım

tidy_is_xml(tidy $tidy): bool

Belge salt bir XML (HTML/XHTML değil) belge ise true döner.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Belge salt bir XML (HTML/XHTML değil) belge ise true, yoksa false döner.

Uyarı

Bu işlevi henüz Tidylib gerçeklemediğinden şimdilik daima false döndürmektedir.


Belirtilen URI veya dosyadaki imlenimi çözümler

  • « tidy::isXml
  • tidy::parseString »
  • PHP Manual
  • tidy
  • Belirtilen URI veya dosyadaki imlenimi çözümler

tidy::parseFile

tidy_parse_file

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::parseFile -- tidy_parse_file — Belirtilen URI veya dosyadaki imlenimi çözümler

Açıklama

Nesne yönelimli kullanım

public tidy::parseFile(
string $dosya,
array|string|null $ayarlar = null,
?string $kodlama = null,
bool $include_path_kullan = false
): bool

Yordamsal kullanım

tidy_parse_file(
string $dosya,
tidy|false $ayarlar = ?,
?string $kodlama = ?,
bool $include_path_kullan = false
): tidy|false

Belirtilen dosyayı çözümler.

Bağımsız Değişkenler

dosya

Bu bağımsız değişken belirtilmişse, işlev dosyayı okuyup nesneyi bu içerikten ilklendirir.

ayarlar

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

kodlama

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

include_path_kullan

Dosya include_path yönergesinde belirtilen yollarda aranır.

Dönen Değerler

tidy::parseFile() başarı durumunda true, tidy_parse_file() ise başarı durumunda yeni bir tidy nesnesi döndürür. Her ikisi de başarısızlık durumunda false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayarlar ve kodlama artık null olabiliyor.

Örnekler

Örnek 1 - tidy::parseFile() örneği

<?php
$tidy = new tidy();
$tidy->parseFile('file.html');

$tidy->cleanRepair();

if(!empty($tidy->errorBuffer)) {
echo "Oluşan hata veya uyarılar:\n";
echo $tidy->errorBuffer;
}
?>

Ayrıca Bakınız

  • tidy::parsestring() - Bir dizge olarak belirtilen bir belgeyi çözümler
  • tidy::repairfile() - Bir dosyayı onarıp bir dizge olarak döndürür
  • tidy::repairstring() - Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır


Bir dizge olarak belirtilen bir belgeyi çözümler

  • « tidy::parseFile
  • tidy::repairFile »
  • PHP Manual
  • tidy
  • Bir dizge olarak belirtilen bir belgeyi çözümler

tidy::parseString

tidy_parse_string

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy::parseString -- tidy_parse_string — Bir dizge olarak belirtilen bir belgeyi çözümler

Açıklama

Nesne yönelimli kullanım

public tidy::parseString(string $girdi, array|string|null $ayarlar = null, ?string $kodlama = null): bool

Yordamsal kullanım

tidy_parse_string(string $girdi, array|string|null $ayarlar = null, ?string $kodlama = null): tidy|false

girdi olarak belirtilen bir belgeyi çözümler.

Bağımsız Değişkenler

girdi

Çözümlenecek veri.

ayarlar

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

kodlama

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

Dönen Değerler

tidy::parseString() başarı durumunda true, tidy_parse_string() ise başarı durumunda yeni bir tidy nesnesi döndürür. Her ikisi de başarısızlık durumunda false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayarlar ve kodlama artık null olabiliyor.

Örnekler

Örnek 1 - tidy::parseString() örneği

<?php
ob_start();
?>

<html>
<head>
<title>deneme</title>
</head>
<body>
<p>hatalı <br>başka bir satır</i>
</body>
</html>

<?php

$buffer = ob_get_clean();
$config = array('indent' => TRUE,
'output-xhtml' => TRUE,
'wrap' => 200);

$tidy = tidy_parse_string($buffer, $config, 'UTF8');

$tidy->cleanRepair();
echo $tidy;
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>
      deneme
    </title>
  </head>
  <body>
    <p>
      hatalı<br />
      başka bir satır
    </p>
  </body>
</html>

Ayrıca Bakınız

  • tidy::parseFile() - Belirtilen URI veya dosyadaki imlenimi çözümler
  • tidy::repairFile() - Bir dosyayı onarıp bir dizge olarak döndürür
  • tidy::repairString() - Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır


Bir dosyayı onarıp bir dizge olarak döndürür

  • « tidy::parseString
  • tidy::repairString »
  • PHP Manual
  • tidy
  • Bir dosyayı onarıp bir dizge olarak döndürür

tidy::repairFile

tidy_repair_file

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.7.0)

tidy::repairFile -- tidy_repair_file — Bir dosyayı onarıp bir dizge olarak döndürür

Açıklama

Nesne yönelimli kullanım

public static tidy::repairFile(
string $dosya,
array|string|null $ayarlar = null,
?string $kodlama = null,
bool $include_path_kullan = false
): string|false

Yordamsal kullanım

tidy_repair_file(
string $dosya,
array|string|null $ayarlar = null,
?string $kodlama = null,
bool $include_path_kullan = false
): string|false

Bir dosyayı onarıp bir dizge olarak döndürür.

Bağımsız Değişkenler

dosya

Onarılacak dosya.

ayarlar

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

kodlama

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

include_path_kullan

Dosya include_path yönergesinde belirtilen yollarda aranır.

Dönen Değerler

Onarılmış dosya içeriğini bir dizge olarak döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tidy::repairFile() artık statik bir yöntem.
8.0.0 | ayarlar ve kodlama artık null olabiliyor.

Örnekler

Örnek 1 - tidy::repairFile() örneği

<?php
$file = 'file.html';

$tidy = new tidy();
$repaired = $tidy->repairfile($file);
rename($file, $file . '.bak');

file_put_contents($file, $repaired);
?>

Ayrıca Bakınız

  • tidy::parseFile() - Belirtilen URI veya dosyadaki imlenimi çözümler
  • tidy::parseString() - Bir dizge olarak belirtilen bir belgeyi çözümler
  • tidy::repairString() - Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır


Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır

  • « tidy::repairFile
  • tidy::root »
  • PHP Manual
  • tidy
  • Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır

tidy::repairString

tidy_repair_string

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.7.0)

tidy::repairString -- tidy_repair_string — Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır

Açıklama

Nesne yönelimli kullanım

public static tidy::repairString(string $veri, array|string|null $ayarlar = null, ?string $kodlama = null): string|false

Yordamsal kullanım

tidy_repair_string(string $veri, array|string|null $ayarlar = null, ?string $kodlama = null): string|false

Belirtilen veri dizgesini onarır.

Bağımsız Değişkenler

veri

Onarılacak veri.

ayarlar

Bir dizge veya bir dizi olarak belirtilebilir. Dizge verildiği takdirde yapılandırma dosyasının ismi olarak ele alınır. Dizi olarak verildiğinde ise dizinin yapılandırma seçeneklerini içerdiği varsayılır.

Seçeneklerin açıklamaları için » http://api.html-tidy.org/#quick-reference adresine bakınız.

kodlama

Belge girdi çıktı kodlaması belirtilir. Olası değerler: ascii, latin0, latin1, raw, utf8, iso2022, mac, win1252, ibm858, utf16, utf16le, utf16be, big5 ve shiftjis.

Dönen Değerler

Onarılan dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tidy::repairString() artık statik bir yöntem.
8.0.0 | ayarlar ve kodlama artık null olabiliyor.
8.0.0 | include_path_kullan bağımsız değişkeni kaldırıldı.

Örnekler

Örnek 1 - tidy::repairString() örneği

<?php
ob_start();
?>

<html>
<head>
<title>deneme</title>
</head>
<body>
<p>hata</i>
</body>
</html>

<?php

$buffer = ob_get_clean();
$tidy = new tidy();
$clean = $tidy->repairString($buffer);

echo $clean;
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>deneme</title>
</head>
<body>
<p>hata</p>
</body>
</html>

Ayrıca Bakınız

  • tidy::parseFile() - Belirtilen URI veya dosyadaki imlenimi çözümler
  • tidy::parseString() - Bir dizge olarak belirtilen bir belgeyi çözümler
  • tidy::repairFile() - Bir dosyayı onarıp bir dizge olarak döndürür


Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür

  • « tidy::repairString
  • tidyNode »
  • PHP Manual
  • tidy
  • Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür

tidy::root

tidy_get_root

(PHP 5, PHP 7, PHP 8, PECL tidy 0.5.2-1.0.0)

tidy::root -- tidy_get_root — Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür

Açıklama

Nesne yönelimli kullanım

public tidy::root(): ?tidyNode

Yordamsal kullanım

tidy_get_root(tidy $tidy): ?tidyNode

Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Bir tidyNode nesnesi döner.

Örnekler

Örnek 1 - tidy::root() örneği

<?php

$html = <<< HTML
<html><body>

<p>paragraf</p>
<br/>

</body></html>
HTML;

$tidy = tidy_parse_string($html);
dump_nodes($tidy->root(), 1);

function dump_nodes($node, $indent) {

if($node->hasChildren()) {
foreach($node->child as $child) {
echo str_repeat('.', $indent*2) .
($child->name ? $child->name : '"'.$child->value.'"'). "\n";
dump_nodes($child, $indent+1);
}
}
}
?>

Yukarıdaki örneğin çıktısı:

..html
....head
......title
....body
......p
........"paragraf"
......br


tidyNode sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Tidy tarafından saptandığı haliyle bir HTML dosyasındaki bir HTML düğümü.

Sınıf Sözdizimi

final class tidyNode {
/* Özellikler */
public readonly string $value;
public readonly string $name;
public readonly int $type;
public readonly int $line;
public readonly int $column;
public readonly bool $proprietary;
public readonly ?int $id;
public readonly ?array $attribute;
public readonly ?array $child;
/* Yöntemler */
private __construct()
public getParent(): ?tidyNode
public hasChildren(): bool
public hasSiblings(): bool
public isAsp(): bool
public isComment(): bool
public isHtml(): bool
public isJste(): bool
public isPhp(): bool
public isText(): bool
}

Özellikler

value

Çevreleyen etiketler dahil, düğümün HTML gösterimi.

name

HTML düğümünün ismi

type

Düğüm türü (TIDY_NODETYPE_PHP gibi bir düğüm türü sabiti)

line

Dosyada etiketin bulunduğu satırın numarası.

column

Dosyada etiketin bulunduğu sütunun numarası.

proprietary

Müseccel bir etiket olup olmadığını belirler

id

Düğüm kimliği (TIDY_TAG_FRAME gibi bir etiket sabiti)

attribute

Geçerli düğümün öznitelik isimlerini anahtar olarak içeren bir dizge dizisi.

child

Geçerli düğümün çocuklarından oluşan bir tidyNode dizisi.

İçindekiler

  • tidyNode::__construct — Doğrudan örneklemeyi engellemek için özel kurucu
  • tidyNode::getParent — Geçerli düğümün ebeveynini döndürür
  • tidyNode::hasChildren — Düğümün çocukları olup olmadığına bakar
  • tidyNode::hasSiblings — Düğümün kardeşleri olup olmadığına bakar
  • tidyNode::isAsp — Düğümün bir ASP düğümü olup olmadığına bakar
  • tidyNode::isComment — Düğüm bir açıklama düğümü mü diye bakar
  • tidyNode::isHtml — Düğümün bir eleman düğümü olup olmadığına bakar
  • tidyNode::isJste — Düğümün bir JSTE düğümü olup olmadığına bakar
  • tidyNode::isPhp — Düğümün bir PHP düğümü olup olmadığına bakar
  • tidyNode::isText — Düğümün bir metin düğümü olup olmadığına bakar


Doğrudan örneklemeyi engellemek için özel kurucu

  • « tidyNode
  • tidyNode::getParent »
  • PHP Manual
  • tidyNode
  • Doğrudan örneklemeyi engellemek için özel kurucu

tidyNode::__construct

(PHP 5, PHP 7, PHP 8)

tidyNode::__construct — Doğrudan örneklemeyi engellemek için özel kurucu

Açıklama

private tidyNode::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Geçerli düğümün ebeveynini döndürür

  • « tidyNode::__construct
  • tidyNode::hasChildren »
  • PHP Manual
  • tidyNode
  • Geçerli düğümün ebeveynini döndürür

tidyNode::getParent

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

tidyNode::getParent — Geçerli düğümün ebeveynini döndürür

Açıklama

public tidyNode::getParent(): ?tidyNode

Geçerli düğümün ebeveynini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğümün ebeveyni varsa tidyNode yoksa null döner.

Örnekler

Örnek 1 - tidyNode::getParent() örneği

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>
Merhaba Dünya
</body>
</html>

HTML;

$tidy = tidy_parse_string($html);
$num = 0;

$node = $tidy->html()->child[0]->child[0];

var_dump($node->getparent()->name);
?>

Yukarıdaki örneğin çıktısı:

string(4) "head"


Düğümün çocukları olup olmadığına bakar

  • « tidyNode::getParent
  • tidyNode::hasSiblings »
  • PHP Manual
  • tidyNode
  • Düğümün çocukları olup olmadığına bakar

tidyNode::hasChildren

(PHP 5, PHP 7, PHP 8)

tidyNode::hasChildren — Düğümün çocukları olup olmadığına bakar

Açıklama

public tidyNode::hasChildren(): bool

Düğümün çocukları var mı diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğümün çocukları varsa true yoksa false döner.

Örnekler

Örnek 1 - tidyNode::hasChildren() örneği

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>Başlık</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// HEAD etiketi
var_dump($tidy->html()->child[0]->hasChildren());

// HEAD etiketi içindeki PHP etiketi
var_dump($tidy->html()->child[0]->child[0]->hasChildren());

?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)


Düğümün kardeşleri olup olmadığına bakar

  • « tidyNode::hasChildren
  • tidyNode::isAsp »
  • PHP Manual
  • tidyNode
  • Düğümün kardeşleri olup olmadığına bakar

tidyNode::hasSiblings

(PHP 5, PHP 7, PHP 8)

tidyNode::hasSiblings — Düğümün kardeşleri olup olmadığına bakar

Açıklama

public tidyNode::hasSiblings(): bool

Düğümün kardeşleri var mı diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğümün kardeşleri varsa true yoksa false döner.

Örnekler

Örnek 1 - tidyNode::hasSiblings() örneği

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>Başlık</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

// HTML etiketi
var_dump($tidy->html()->hasSiblings());

// HEAD etiketi
var_dump($tidy->html()->child[0]->hasSiblings());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)


Düğümün bir ASP düğümü olup olmadığına bakar

  • « tidyNode::hasSiblings
  • tidyNode::isComment »
  • PHP Manual
  • tidyNode
  • Düğümün bir ASP düğümü olup olmadığına bakar

tidyNode::isAsp

(PHP 5, PHP 7, PHP 8)

tidyNode::isAsp — Düğümün bir ASP düğümü olup olmadığına bakar

Açıklama

public tidyNode::isAsp(): bool

Düğüm bir ASP düğümü mü diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm bir ASP düğümü ise true değilse false döner.

Örnekler

Örnek 1 - Karışık bir HTML belgeden ASP kodunu çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>Başlık</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

// Düğüm istenen türde mi?
if($node->isAsp()) {
echo "\n\n# asp node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

# asp node #1
<%
  /* ASP kodu */
  response.write("Merhaba Dünya!")
%>


Düğüm bir açıklama düğümü mü diye bakar

  • « tidyNode::isAsp
  • tidyNode::isHtml »
  • PHP Manual
  • tidyNode
  • Düğüm bir açıklama düğümü mü diye bakar

tidyNode::isComment

(PHP 5, PHP 7, PHP 8)

tidyNode::isComment — Düğüm bir açıklama düğümü mü diye bakar

Açıklama

public tidyNode::isComment(): bool

Düğümün bir açıklama düğümü olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm bir açıklama düğümü ise true değilse false döner.

Örnekler

Örnek 1 - Karışık bir HTML belgeden açıklamaları çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>Başlık</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

// Düğüm istenen türde mi?
if($node->isComment()) {
echo "\n\n# comment node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

+# comment node #1
+<!-- Comments -->


Düğümün bir eleman düğümü olup olmadığına bakar

  • « tidyNode::isComment
  • tidyNode::isJste »
  • PHP Manual
  • tidyNode
  • Düğümün bir eleman düğümü olup olmadığına bakar

tidyNode::isHtml

(PHP 5, PHP 7, PHP 8)

tidyNode::isHtml — Düğümün bir eleman düğümü olup olmadığına bakar

Açıklama

public tidyNode::isHtml(): bool

Düğümün, belgenin kök düğümü değil, bir elemanın düğümü olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm belgenin kök düğümü değil, bir elemanın düğümü ise true değilse false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.24, 7.4.12 | Bu işlev, uygun bir davranışa sahip olacak şekilde düzeltildi. Evvelce, hemen hemen her düğümün bir HTML düğümü olduğu bildiriliyordu.

Örnekler

Örnek 1 - Karışık bir HTML belgeden HTML kodunu çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>Başlık</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {
// Düğüm istenen türde mi?
if($node->isHtml()) {
echo "\n\n# html node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

# html node #1
<html>
<head>
<?php echo '<title>Başlık</title>'; ?><#
  /* JSTE kodu */
  alert('Merhaba Dünya');
#>
<title></title>
</head>
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Merhaba Dünya!")
%><!-- Açıklamalar -->
Merhaba Dünya HTML dışı
</body>
</html>

# html node #2
<head>
<?php echo '<title>Başlık</title>'; ?><#
  /* JSTE kodu */
  alert('Merhaba Dünya');
#>
<title></title>
</head>

# html node #3
<title></title>

# html node #4
<body>
<?php
  // PHP kodu
  echo 'merhaba dünya!';
?><%
  /* ASP kodu */
  response.write("Merhaba Dünya!")
%><!-- Comments -->
Merhaba Dünya HTML dışı
</body>


Düğümün bir JSTE düğümü olup olmadığına bakar

  • « tidyNode::isHtml
  • tidyNode::isPhp »
  • PHP Manual
  • tidyNode
  • Düğümün bir JSTE düğümü olup olmadığına bakar

tidyNode::isJste

(PHP 5, PHP 7, PHP 8)

tidyNode::isJste — Düğümün bir JSTE düğümü olup olmadığına bakar

Açıklama

public tidyNode::isJste(): bool

Düğümün bir JSTE düğümü olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm bir JSTE düğümü ise true değilse false döner.

Örnekler

Örnek 1 - Karışık bir HTML belgeden JSTE kodunu çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

// Düğüm istenen türde mi?
if($node->isJste()) {
echo "\n\n# jste node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

# jste node #1
<#
  /* JSTE kodu */
  alert('Merhaba Dünya');
#>


Düğümün bir PHP düğümü olup olmadığına bakar

  • « tidyNode::isJste
  • tidyNode::isText »
  • PHP Manual
  • tidyNode
  • Düğümün bir PHP düğümü olup olmadığına bakar

tidyNode::isPhp

(PHP 5, PHP 7, PHP 8)

tidyNode::isPhp — Düğümün bir PHP düğümü olup olmadığına bakar

Açıklama

public tidyNode::isPhp(): bool

Düğümün bir PHP düğümü olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm bir PHP düğümü ise true değilse false döner.

Örnekler

Örnek 1 - Karışık bir HTML belgeden PHP kodunu çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

// Düğüm istenen türde mi?
if($node->isPhp()) {
echo "\n\n# php node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

# php node #1
<?php echo '<title>title</title>'; ?>

# php node #2
<?php
  // PHP kodu
  echo 'merhaba dünya!';
?>


Düğümün bir metin düğümü olup olmadığına bakar

  • « tidyNode::isPhp
  • Tidy İşlevleri »
  • PHP Manual
  • tidyNode
  • Düğümün bir metin düğümü olup olmadığına bakar

tidyNode::isText

(PHP 5, PHP 7, PHP 8)

tidyNode::isText — Düğümün bir metin düğümü olup olmadığına bakar

Açıklama

public tidyNode::isText(): bool

Düğümün (herhangi bir imlenim içermeyen) bir metin düğümü olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Düğüm, bir metin düğümü ise true değilse false döner.

Örnekler

Örnek 1 - Karışık bir HTML belgeden metni çıkarmak

<?php

$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
/* JSTE kodu */
alert('Merhaba Dünya');
#>
</head>
<body>

<?php
// PHP code
echo 'merhaba dünya!';
?>

<%
/* ASP kodu */
response.write("Merhaba Dünya!")
%>

<!-- Açıklamalar -->
Merhaba Dünya
</body></html>
HTML dışı
HTML;

$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function get_nodes($node) {

// Düğüm istenen türde mi?
if($node->isText()) {
echo "\n\n# text node #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}

// Düğümün çocukları var mı?
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}

?>

Yukarıdaki örneğin çıktısı:

# text node #1
Merhaba Dünya

# text node #2
HTML dışı


Tidy İşlevleri

İçindekiler

  • ob_tidyhandler — Tampon onarımı için ob_start geriçağırım işlevi
  • tidy_access_count — Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür
  • tidy_config_count — Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür
  • tidy_error_count — Belgede saptanan Tidy hatalarının sayısını döndürür
  • tidy_get_output — Çözümlenen Tidy imlenimini bir dizge olarak döndürür
  • tidy_warning_count — Belgede saptanan Tidy uyarılarının sayısını döndürür


Tampon onarımı için ob_start geriçağırım işlevi

  • « Tidy İşlevleri
  • tidy_access_count »
  • PHP Manual
  • Tidy İşlevleri
  • Tampon onarımı için ob_start geriçağırım işlevi

ob_tidyhandler

(PHP 5, PHP 7, PHP 8)

ob_tidyhandler — Tampon onarımı için ob_start() geriçağırım işlevi

Açıklama

ob_tidyhandler(string $tampon, int $kip = ?): string

Tampon onarımı için ob_start() geriçağırım işlevi.

Bağımsız Değişkenler

tampon

Tampon.

kip

Tamponun kipi.

Dönen Değerler

Onarılmış tamponu içeren bir dizge döner.

Örnekler

Örnek 1 - ob_tidyhandler() örneği

<?php
ob_start('ob_tidyhandler');

echo '<p>test</i>';
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>test</p>
</body>
</html>

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır


Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür

  • « ob_tidyhandler
  • tidy_config_count »
  • PHP Manual
  • Tidy İşlevleri
  • Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür

tidy_access_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_access_count — Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür

Açıklama

tidy_access_count(tidy $tidy): int

Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Uyarı sayısı döner.

Örnekler

Örnek 1 - tidy_access_count() örneği

<?php

$html ='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html><head><title>Title</title></head>
<body>

<p><img src="img.png"></p>

</body></html>';

// erişilebilirlik sınama seviyesi 1, 2 veya 3 olabilir
$config = array('accessibility-check' => 3);

$tidy = new tidy();
$tidy->parseString($html, $config);
$tidy->cleanRepair();

/* Bu çağrıyı yapmayı asla unutma! */
$tidy->diagnose();

echo tidy_access_count($tidy); //5

?>

Notlar

Bilginize:

TidyLib tasarımından ötürü, tidy_access_count()
çağrısından önce bir tidy_diagnose() çağrısı
yapmalısınız yoksa tidy_access_count() daima
0 döndürür. Ayrıca,
accessibility-check seçeneğini de etkin kılmalısınız.

Ayrıca Bakınız

  • tidy_error_count() - Belgede saptanan Tidy hatalarının sayısını döndürür
  • tidy_warning_count() - Belgede saptanan Tidy uyarılarının sayısını döndürür


Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür

  • « tidy_access_count
  • tidy_error_count »
  • PHP Manual
  • Tidy İşlevleri
  • Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür

tidy_config_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_config_count — Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür

Açıklama

tidy_config_count(tidy $tidy): int

Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Hata sayısı döner.

Örnekler

Örnek 1 - tidy_config_count() örneği

<?php
$html = '<p>test</I>';

$config = array('doctype' => 'bogus');

$tidy = tidy_parse_string($html, $config);

/* 'bogus' geçerli bir belge türü olmadığından 1 çıktılar */
echo tidy_config_count($tidy);
?>


Belgede saptanan Tidy hatalarının sayısını döndürür

  • « tidy_config_count
  • tidy_get_output »
  • PHP Manual
  • Tidy İşlevleri
  • Belgede saptanan Tidy hatalarının sayısını döndürür

tidy_error_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_error_count — Belgede saptanan Tidy hatalarının sayısını döndürür

Açıklama

tidy_error_count(tidy $tidy): int

Belgede saptanan Tidy hatalarının sayısını döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Hata sayısı döner.

Örnekler

Örnek 1 - tidy_error_count() örneği

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1

echo $tidy->errorBuffer;
?>

Yukarıdaki örneğin çıktısı:

1
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 8 - Warning: discarding unexpected </i>
line 2 column 1 - Error: <bogustag> is not recognized!
line 2 column 1 - Warning: discarding unexpected <bogustag>
line 2 column 16 - Warning: discarding unexpected </bogustag>
line 1 column 1 - Warning: inserting missing 'title' element

Ayrıca Bakınız

  • tidy_access_count() - Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür
  • tidy_warning_count() - Belgede saptanan Tidy uyarılarının sayısını döndürür


Çözümlenen Tidy imlenimini bir dizge olarak döndürür

  • « tidy_error_count
  • tidy_warning_count »
  • PHP Manual
  • Tidy İşlevleri
  • Çözümlenen Tidy imlenimini bir dizge olarak döndürür

tidy_get_output

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_get_output — Çözümlenen Tidy imlenimini bir dizge olarak döndürür

Açıklama

tidy_get_output(tidy $tidy): string

Çözümlenen Tidy imlenimini bir dizge olarak döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Çözümlenen Tidy imlenimini içeren bir dizge döner

Örnekler

Örnek 1 - tidy_get_output() örneği

<?php

$html = '<p>paragraph</i>';
$tidy = tidy_parse_string($html);

$tidy->cleanRepair();

echo tidy_get_output($tidy);
?>

Yukarıdaki örneğin çıktısı:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title></title>
</head>
<body>
<p>paragraph</p>
</body>
</html>


Belgede saptanan Tidy uyarılarının sayısını döndürür

  • « tidy_get_output
  • Tokenizer »
  • PHP Manual
  • Tidy İşlevleri
  • Belgede saptanan Tidy uyarılarının sayısını döndürür

tidy_warning_count

(PHP 5, PHP 7, PHP 8, PECL tidy >= 0.5.2)

tidy_warning_count — Belgede saptanan Tidy uyarılarının sayısını döndürür

Açıklama

tidy_warning_count(tidy $tidy): int

Belgede saptanan Tidy uyarılarının sayısını döndürür.

Bağımsız Değişkenler

tidy

Tidy nesnesi.

Dönen Değerler

Uyarı sayısı.

Örnekler

Örnek 1 - tidy_warning_count() örneği

<?php
$html = '<p>test</i>
<bogustag>bogus</bogustag>';

$tidy = tidy_parse_string($html);

echo tidy_error_count($tidy) . "\n"; //1
echo tidy_warning_count($tidy) . "\n"; //5
?>

Ayrıca Bakınız

  • tidy_error_count() - Belgede saptanan Tidy hatalarının sayısını döndürür
  • tidy_access_count() - Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür


Simgeleştirici

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Simgeleştirici İşlevleri
    • token_get_all — Belirtilen kaynağı PHP dizgeciklerine ayırır
    • token_name — Belirtilen PHP dizgeciğinin simgesel ismini döndürür
  • PhpToken — PhpToken sınıfı
    • PhpToken::__construct — Yeni bir PhpToken nesnesi döndürür
    • PhpToken::getTokenName — Dizgeciğin ismini döndürür
    • PhpToken::is — Dizgecik belirtilen çeşit mi diye bakar
    • PhpToken::isIgnorable — Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar
    • PhpToken::__toString — Dizgeciğin metinsel gösterimini döndürür
    • PhpToken::tokenize — Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler


Giriş

Simgeleştirici işlevler Zend Motoru içinde gömülü PHP simgeleştiricisine bir arayüzdür. Bu işlevleri kullanarak, sözdizimsel seviyede dil belirtimiyle uğraşmadan kendi PHP kaynak çözümleyicinizi veya değişiklik araçlarınızı yazabilirsiniz.

Ayrıca bakınız: Çözümleyici Dizgeciklerinin Listesi.


Kurulum

--disable-tokenizer seçeneği ile desteği iptal edilebilir.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


Öntanımlı Sabitler

Eklenti ya PHP içinde derlenir ya da çalışma anında devingen olarak yüklenir. Dizgecikler sabitler halinde Çözümleyici Dizgeciklerinin Listesi sayfasında listelenmiştir.


Örnekler

Burada simgeleştiriciyi kullanan basit PHP betiğine yer verilmişir. Betik bir PHP dosyasını okumakta, açıklamaları ayıklayıp salt PHP kodunu çıktılamaktadır.

Örnek 1 - Açıklamaları simgeleştirici ile ayıklamak

<?php
$source = file_get_contents('example.php');
$tokens = token_get_all($source);

foreach ($tokens as $token) {
if (is_string($token)) {
// basit tek karakterlik dizgecik
echo $token;
} else {
// dizgecik dizisi
list($id, $text) = $token;

switch ($id) {
case T_COMMENT:
case T_DOC_COMMENT: // bunu
// açıklamalar üzerinde işlem yapmamak için tanımladık
break;

default:
// Kalan herşey "olduğu gibi" çıktılanacak
echo $text;
break;
}
}
}
?>


Simgeleştirici İşlevleri

İçindekiler

  • token_get_all — Belirtilen kaynağı PHP dizgeciklerine ayırır
  • token_name — Belirtilen PHP dizgeciğinin simgesel ismini döndürür


Belirtilen kaynağı PHP dizgeciklerine ayırır

  • « Simgeleştirici İşlevleri
  • token_name »
  • PHP Manual
  • Simgeleştirici İşlevleri
  • Belirtilen kaynağı PHP dizgeciklerine ayırır

token_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

token_get_all — Belirtilen kaynağı PHP dizgeciklerine ayırır

Açıklama

token_get_all(string $kod, int $seçenekler = 0): array

Belirtilen kod dizgesi, Zend motorunun sözdizimsel tarayıcısı kullanılarak PHP dil dizgeciklerine çözümlenir.

Dizgeciklerin listesi için Çözümleyici Dizgeciklerinin Listesi sayfasına bakınız veya bir dizgecik değerini dizgesel gösterimine dönüştürmek için token_name() işlevini kullanınız.

Bağımsız Değişkenler

kod

Çözümlenecek PHP kaynak kodu.

seçenekler

Geçerli seçenekler:

  • TOKEN_PARSE - Belirli bağlamlarda dahili kullanıma ayrılmış sözcükleri kullanma yeteneğini onaylar.

Dönen Değerler

Dizgecik betimleyicilerinden oluşan bir dizi. Her dizgecik betimleyicisi ya tek bir karakterden (;, ., >, ! gibi) oluşur ya da üç elemanlı bir diziden; 0. elemanda dizgecik indisi, 1. elemanda özgün dizgeciğin dizgesel içeriği ve 2. elemanda satır numarası bulunur.

Örnekler

Örnek 1 - token_get_all() örneği

<?php
$tokens = token_get_all('<?php echo; ?>');

foreach ($tokens as $token) {
if (is_array($token)) {
echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL;
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Line 1: T_OPEN_TAG ('<?php ')
Line 1: T_ECHO ('echo')
Line 1: T_WHITESPACE (' ')
Line 1: T_CLOSE_TAG ('?>')

Örnek 2 - token_get_all() yanlış kullanım örneği

<?php
$tokens = token_get_all('/* comment */');

foreach ($tokens as $token) {
if (is_array($token)) {
echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL;
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Line 1: T_INLINE_HTML ('/* comment */')
Yukarıdaki örnekte dizge beklendiği gibi T_COMMENT ile değil T_INLINE_HTML ile çözümlenmiştir.Bunun sebebi sağlanan kodda hiç başlangıç etiketi bulunmamasıdır. Bu, normal bir dosyada PHP etiketlerinin dışına bir açıklama koymaya eşdeğerdir.

Örnek 3 - Dahili kullanıma ayrılmış sözcük kullanan sınıf üzerinde token_get_all()

<?php
$source = <<<'code'
<?php

class A
{
const PUBLIC = 1;
}
code;

$tokens = token_get_all($source, TOKEN_PARSE);

foreach ($tokens as $token) {
if (is_array($token)) {
echo token_name($token[0]) , PHP_EOL;
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

T_OPEN_TAG
T_WHITESPACE
T_CLASS
T_WHITESPACE
T_STRING
T_CONST
T_WHITESPACE
T_STRING
T_LNUMBER
TOKEN_PARSE olmaksızın, sondan bir önceki simgeleştirici (T_STRING) T_PUBLIC olurdu.

Ayrıca Bakınız

  • PhpToken::tokenize() - Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler
  • token_name() - Belirtilen PHP dizgeciğinin simgesel ismini döndürür


Belirtilen PHP dizgeciğinin simgesel ismini döndürür

  • « token_get_all
  • PhpToken »
  • PHP Manual
  • Simgeleştirici İşlevleri
  • Belirtilen PHP dizgeciğinin simgesel ismini döndürür

token_name

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

token_name — Belirtilen PHP dizgeciğinin simgesel ismini döndürür

Açıklama

token_name(int $değer): string

Belirtilen PHP dizgecik değerine ilişkin sabit ismi döndürür.

Bağımsız Değişkenler

değer

Dizgecik değeri.

Dönen Değerler

Belirtilen dizgecik değerinin simgesel ismini döndürür. Dönen isim, eşleşen dizgecik sabitinin ismidir.

Örnekler

Örnek 1 - token_name() örneği

<?php
// 260 değeri, T_EVAL dizgeciğinin dizgecik değeridir
echo token_name(260); // -> "T_EVAL"

// Bir dizgecik sabiti kendi ismiyle eşleşir
echo token_name(T_FUNCTION); // -> "T_FUNCTION"
?>

Ayrıca Bakınız

  • Çözümleyici Dizgeciklerinin Listesi
  • PhpToken::getTokenName() - Dizgeciğin ismini döndürür


PhpToken sınıfı

(PHP 8)

Giriş

Bu sınıf, token_get_all() işlevi yerine kullanılabilir. İşlev, dizgecikleri tek karakterli bir dizge veya dizgecik kimliği, dizgecik metni ve satır numarasını içeren bir dizi olarak döndürürken, PhpToken::tokenize() tüm dizgecikleri PhpToken nesneleri içinde normalleştirir, bu da kodun dizgecikler üzerinde daha verimli çalışmasını ve okunabilmesini sağlar.

Sınıf Sözdizimi

class PhpToken implements Stringable {
/* Özellikler */
public int $id;
public string $text;
public int $line;
public int $pos;
/* Yöntemler */
final public __construct(
int $kimlik,
string $metin,
int $satır_num = -1,
int $konum = -1
)
public getTokenName(): ?string
public is(int|string|array $çeşit): bool
public isIgnorable(): bool
public __toString(): string
public static tokenize(string $kaynak, int $seçenekler = 0): array
}

Özellikler

id

T_* sabitlerinden biri veya tek karakterlik bir dizgeciği temsil eden bir ASCII değer.

text

Dizgeciğin metinsel gösterimi.

line

Dizgeciğin başlangıç satır numarası (1'den başlar).

pos

Dizgeciğin dizge içindeki başlangıç konumu (bayt sayısı olup 0'dan başlar)

İçindekiler

  • PhpToken::__construct — Yeni bir PhpToken nesnesi döndürür
  • PhpToken::getTokenName — Dizgeciğin ismini döndürür
  • PhpToken::is — Dizgecik belirtilen çeşit mi diye bakar
  • PhpToken::isIgnorable — Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar
  • PhpToken::__toString — Dizgeciğin metinsel gösterimini döndürür
  • PhpToken::tokenize — Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler


Yeni bir PhpToken nesnesi döndürür

  • « PhpToken
  • PhpToken::getTokenName »
  • PHP Manual
  • PhpToken
  • Yeni bir PhpToken nesnesi döndürür

PhpToken::__construct

(PHP 8)

PhpToken::__construct — Yeni bir PhpToken nesnesi döndürür

Açıklama

final public PhpToken::__construct(
int $kimlik,
string $metin,
int $satır_num = -1,
int $konum = -1
)

Yeni bir PhpToken nesnesi döndürür.

Bağımsız Değişkenler

kimlik

T_* sabitlerinden biri (bkz: Çözümleyici Dizgeciklerinin Listesi) veya tek karakterlik bir dizgeciği temsil eden bir ASCII değer.

metin

Dizgeciğin metinsel gösterimi.

satır_num

Dizgeciğin başlangıç satır numarası (1'den başlar).

konum

Dizgeciğin dizge içindeki başlangıç konumu (bayt sayısı olup 0'dan başlar)

Ayrıca Bakınız

  • PhpToken::tokenize() - Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler


Dizgeciğin ismini döndürür

  • « PhpToken::__construct
  • PhpToken::is »
  • PHP Manual
  • PhpToken
  • Dizgeciğin ismini döndürür

PhpToken::getTokenName

(PHP 8)

PhpToken::getTokenName — Dizgeciğin ismini döndürür

Açıklama

public PhpToken::getTokenName(): ?string

Dizgeciğin ismini döndürür

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tek karakterlik dizgeciklerde bir ASCII karakter, bilinen dizgecikler için T_* sabitlerinden biri (bkz: Çözümleyici Dizgeciklerinin Listesi), veya dizgecik bilinmiyorsa null döner.

Örnekler

Örnek 1 - PhpToken::getTokenName() örneği

<?php
// bilinen
$token = new PhpToken(T_ECHO, 'echo');
var_dump($token->getTokenName()); // -> string(6) "T_ECHO"

// tek karakterlik
$token = new PhpToken(ord(';'), ';');
var_dump($token->getTokenName()); // -> string(1) ";"

// bilinmeyen
$token = new PhpToken(10000 , "\0");
var_dump($token->getTokenName()); // -> NULL

Ayrıca Bakınız

  • PhpToken::tokenize() - Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler
  • token_name() - Belirtilen PHP dizgeciğinin simgesel ismini döndürür


Dizgecik belirtilen çeşit mi diye bakar

  • « PhpToken::getTokenName
  • PhpToken::isIgnorable »
  • PHP Manual
  • PhpToken
  • Dizgecik belirtilen çeşit mi diye bakar

PhpToken::is

(PHP 8)

PhpToken::is — Dizgecik belirtilen çeşit mi diye bakar

Açıklama

public PhpToken::is(int|string|array $çeşit): bool

Belirtilen çeşit için mantıksal bir değer döndürür.

Bağımsız Değişkenler

çeşit

Digeciğin kimliğiyle veya metin içeriğiyle eşleşecek tek bir değer veya bunların bir dizisi.

Dönen Değerler

Belirtilen çeşit için mantıksal bir değer döndürür.

Örnekler

Örnek 1 - PhpToken::is() örneği

<?php
$token = new PhpToken(T_ECHO, 'echo');
var_dump($token->is(T_ECHO)); // -> bool(true)
var_dump($token->is('echo')); // -> bool(true)
var_dump($token->is(T_FOREACH)); // -> bool(false)
var_dump($token->is('foreach')); // -> bool(false)

Örnek 2 - Dizi kullanımı

<?php
function isClassType(PhpToken $token): bool {
return $token->is([T_CLASS, T_INTERFACE, T_TRAIT]);
}

$interface = new PhpToken(T_INTERFACE, 'interface');
var_dump(isClassType($interface)); // -> bool(true)

$function = new PhpToken(T_FUNCTION, 'function');
var_dump(isClassType($function)); // -> bool(false)

Ayrıca Bakınız

  • token_name() - Belirtilen PHP dizgeciğinin simgesel ismini döndürür


Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar

  • « PhpToken::is
  • PhpToken::__toString »
  • PHP Manual
  • PhpToken
  • Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar

PhpToken::isIgnorable

(PHP 8)

PhpToken::isIgnorable — Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar

Açıklama

public PhpToken::isIgnorable(): bool

Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bağlı olarak mantıksal bir değer döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir (boşluklar veya açıklamalar gibi) olup olmadığına bağlı olarak mantıksal bir değer döndürür.

Örnekler

Örnek 1 - PhpToken::isIgnorable() örneği

<?php
$echo = new PhpToken(T_ECHO, 'echo');
var_dump($echo->isIgnorable()); // -> bool(false)

$space = new PhpToken(T_WHITESPACE, ' ');
var_dump($space->isIgnorable()); // -> bool(true)

Ayrıca Bakınız

  • PhpToken::tokenize() - Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler


Dizgeciğin metinsel gösterimini döndürür

  • « PhpToken::isIgnorable
  • PhpToken::tokenize »
  • PHP Manual
  • PhpToken
  • Dizgeciğin metinsel gösterimini döndürür

PhpToken::__toString

(PHP 8)

PhpToken::__toString — Dizgeciğin metinsel gösterimini döndürür

Açıklama

public PhpToken::__toString(): string

Dizgeciğin metinsel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dizgeciğin metinsel gösterimini döndürür.

Örnekler

Örnek 1 - PhpToken::__toString() örneği

<?php
$token = new PhpToken(T_ECHO, 'echo');
echo $token;

Yukarıdaki örneklerin çıktısı:

echo

Ayrıca Bakınız

  • token_name() - Belirtilen PHP dizgeciğinin simgesel ismini döndürür


Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler

  • « PhpToken::__toString
  • URL'ler »
  • PHP Manual
  • PhpToken
  • Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler

PhpToken::tokenize

(PHP 8)

PhpToken::tokenize — Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler

Açıklama

public static PhpToken::tokenize(string $kaynak, int $seçenekler = 0): array

Belirtilen kaynak içindeki dizgeciklerin PhpToken nesnelerini içeren bir dizi döndürür.

Bağımsız Değişkenler

kaynak

Çözümlenecek PHP kodu.

seçenekler

Geçerli seçenekler:

  • TOKEN_PARSE - Belirli bağlamlarda dahili kullanıma ayrılmış sözcükleri kullanma yeteneğini tanır.

Dönen Değerler

PhpToken veya çocuk veya torunları tarafından temsil edilen bir PHP dizgecikleri dizisi döner. PhpToken nensnesinin sorunsuz şekilde genişletilebilmesi için yöntem static[] dizi döndürür.

Örnekler

Örnek 1 - PhpToken::tokenize() örneği

<?php
$tokens = PhpToken::tokenize('<?php echo; ?>');

foreach ($tokens as $token) {
echo "Line {$token->line}: {$token->getTokenName()} ('{$token->text}')", PHP_EOL;
}

Yukarıdaki örneklerin çıktısı:

Line 1: T_OPEN_TAG ('<?php ')
Line 1: T_ECHO ('echo')
Line 1: ; (';')
Line 1: T_WHITESPACE (' ')
Line 1: T_CLOSE_TAG ('?>')

Örnek 2 - PhpToken genişletmesi

<?php

class MyPhpToken extends PhpToken {
public function getUpperText() {
return strtoupper($this->text);
}
}

$tokens = MyPhpToken::tokenize('<?php echo; ?>');
echo "'{$tokens[0]->getUpperText()}'";

Yukarıdaki örneklerin çıktısı:

'<?PHP '

Ayrıca Bakınız

  • token_get_all() - Belirtilen kaynağı PHP dizgeciklerine ayırır


URL'ler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • URL İşlevleri
    • base64_decode — MIME base64 ile kodlanmış verinin kodunu açar
    • base64_encode — Veriye MIME base64 kodlaması uygular
    • get_headers — Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür
    • get_meta_tags — Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür
    • http_build_query — URL kodlamalı sorgu dizgesi üretir
    • parse_url — Bir URL'yi bileşenlerine ayırır
    • rawurldecode — URL kodlamalı dizgenin kodlamasını kaldırır
    • rawurlencode — RFC 3986'ya uygun URL kodlaması yapar
    • urldecode — URL kodlamalı dizgenin kodlamasını çözer
    • urlencode — Dizgeye URL kodlaması uygular


  • « URL'ler
  • Yapılandırma/Kurulum »
  • PHP Manual
  • URL'ler
  • Giriş

Giriş

URL dizgeleri ile çalışma: kodlama, kod açma ve çözümleme.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Burada parse_url() işlevi ile kullanılan sabitlere yer verilmiştir.

PHP_URL_SCHEME (int)
PHP_URL_HOST (int)
Ayrıştırılan URL'nin konak adını çıktılar.
PHP_URL_PORT (int)
Ayrıştırılan URL'nin portunu çıktılar.
PHP_URL_USER (int)
Ayrıştırılan URL'nin kullanıcı adını çıktılar.
PHP_URL_PASS (int)
Ayrıştırılan URL'nin parolasını çıktılar.
PHP_URL_PATH (int)
Ayrıştırılan URL'nin dosya yolunu çıktılar.
PHP_URL_QUERY (int)
Ayrıştırılan URL'nin sorgu dizgesini çıktılar.
PHP_URL_FRAGMENT (int)
Ayrıştırılan URL'nin fragmanını (# iminden sonraki dizge) çıktılar.

Aşağıdaki sabitlerin http_build_query() ile kullanılması amaçlanmıştır.

PHP_QUERY_RFC1738 (int)
Kodlama, boşlukların artı (+) işaretleri olarak kodlandığı » RFC 1738 ve application/x-www-form-urlencoded ortam türüne göre uygulanır.
PHP_QUERY_RFC3986 (int)
Kodlama, boşlukların yüzdeli (%20) kodlandığı » RFC 3986'ya göre uygulanır.


URL İşlevleri

İçindekiler

  • base64_decode — MIME base64 ile kodlanmış verinin kodunu açar
  • base64_encode — Veriye MIME base64 kodlaması uygular
  • get_headers — Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür
  • get_meta_tags — Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür
  • http_build_query — URL kodlamalı sorgu dizgesi üretir
  • parse_url — Bir URL'yi bileşenlerine ayırır
  • rawurldecode — URL kodlamalı dizgenin kodlamasını kaldırır
  • rawurlencode — RFC 3986'ya uygun URL kodlaması yapar
  • urldecode — URL kodlamalı dizgenin kodlamasını çözer
  • urlencode — Dizgeye URL kodlaması uygular


MIME base64 ile kodlanmış verinin kodunu açar

  • « URL İşlevleri
  • base64_encode »
  • PHP Manual
  • URL İşlevleri
  • MIME base64 ile kodlanmış verinin kodunu açar

base64_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

base64_decode — MIME base64 ile kodlanmış verinin kodunu açar

Açıklama

base64_decode(string $dizge, bool $katı = false): string|false

MIME base64 ile kodlanmış dizge'nin kodlamasını kaldırır.

Bağımsız Değişkenler

dizge

Kodlaması kaldırılacak dizge.

katı

true atanmışsa ve girdi base64 karakterleri dışında karakterler içeriyorsa işlev false döndürür. Aksi takdirde geçersiz karakterler sessizce yok sayılır.

Dönen Değerler

Başarı durumunda özgün veriyi, başarısızlık durumunda false döner. Dönen veri ikil olabilir.

Örnekler

Örnek 1 - base64_decode() örneği

<?php
$dizge = 'QnUgZGl6Z2Uga29kbGFubcSxxZ8gb2xhY2FrLg==';
echo base64_decode($dizge);
?>

Yukarıdaki örneğin çıktısı:

Bu dizge kodlanmış olacak.

Ayrıca Bakınız

  • base64_encode() - Veriye MIME base64 kodlaması uygular
  • » RFC 2045 bölüm 6.8


Veriye MIME base64 kodlaması uygular

  • « base64_decode
  • get_headers »
  • PHP Manual
  • URL İşlevleri
  • Veriye MIME base64 kodlaması uygular

base64_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

base64_encode — Veriye MIME base64 kodlaması uygular

Açıklama

base64_encode(string $dizge): string

Belirtilen dizge'ye base64 kodlaması uygular.

Bu kodlama eposta gövdeleri gibi 8 bitlik olamayan aktarım katmanları üzerinden ikil verileri aktarabilmek için tasarlanmıştır.

Base64 kodlu veri, özgün veriden %33 daha fazla yer kaplar.

Bağımsız Değişkenler

dizge

Kodlanacak veri.

Dönen Değerler

Kodlanmış veri bir dizge olarak döner.

Örnekler

Örnek 1 - base64_encode() örneği

<?php
$dizge = 'Bu dizge kodlanmış olacak.';
echo base64_encode($dizge);
?>

Yukarıdaki örneğin çıktısı:

QnUgZGl6Z2Uga29kbGFubcSxxZ8gb2xhY2FrLg==

Ayrıca Bakınız

  • base64_decode() - MIME base64 ile kodlanmış verinin kodunu açar
  • chunk_split() - Bir dizgeyi daha küçük parçalara ayırır
  • convert_uuencode() - Bir dizgeyi uuencode algoritmasıyla kodlar
  • » RFC 2045 bölüm 6.8


Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür

  • « base64_encode
  • get_meta_tags »
  • PHP Manual
  • URL İşlevleri
  • Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür

get_headers

(PHP 5, PHP 7, PHP 8)

get_headers — Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür

Açıklama

get_headers(string $url, bool $ilişkisel = false, ?resource $bağlam = null): array|false

get_headers() işlevi, bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları bir dizi içinde döndürür.

Bağımsız Değişkenler

url

Hedef URL.

ilişkisel

İsteğe bağlı ilişkisel bağımsız değişkeninde true aktarılırsa get_headers() yanıtı çözümleyip başlıkları dizinin anahtarları haline getirir.

bağlam

stream_context_create() ile oluşturulmuş geçerli bir bağlam özkaynağı ya da öntanımlı bağlamı kullanmak için null.

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde başlıkları içeren indisli veya ilişkisel bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ilişkisel bağımsız değişkeninin veri türü int iken bool oldu.
7.1.0 | bağlam bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - get_headers() örneği

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, true));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Örnek 2 - HEAD kullanılan get_headers() örneği

<?php
// öntanımlı olarak, get_headers() başlıkları alıp getirmek için bir GET
// isteği yapar, bir HEAD isteği gönderilmek istenirse, bu, bir akım bağlamı
// kullanılarak yapılabilir:
$context = stream_context_create(
[
'http' => array(
'method' => 'HEAD'
)
]
);
$headers = get_headers('http://example.com', $context);
?>

Ayrıca Bakınız

  • apache_request_headers() - Tüm HTTP istek başlıklarını alır


Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür

  • « get_headers
  • http_build_query »
  • PHP Manual
  • URL İşlevleri
  • Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür

get_meta_tags

(PHP 4, PHP 5, PHP 7, PHP 8)

get_meta_tags — Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür

Açıklama

get_meta_tags(string $dosya, bool $include_path_kullan = false): array|false

Belirtilen dosya dosyasını açar ve <meta> etiketlerini satır satır çözümler. Çözümleme </head> etiketine rastlanıncaya kadar sürer.

Bağımsız Değişkenler

dosya

HTML dosyasının yolu. Bu bir yerel dosya olabileceği gibi bir URL de olabilir.

Örnek 1 - get_meta_tags() bunları çözümler

<meta name="author" content="name">
<meta name="keywords" content="php documentation">
<meta name="DESCRIPTION" content="a php manual">
<meta name="geo.position" content="49.33;-86.59">
</head> <!-- çözümleme burada biter -->

include_path_kullan

Bu bağımsız değişkene true belirtildiği takdirde, PHP HTML dosyayı include_path yönergesinde belirtilen yollarda arar. Bu, sadece yerel dosyalar için geçerlidir; URL'lerde kullanılmaz.

Dönen Değerler

Bütün meta etiketlerinden ayrıştırılan öznitelikleri içeren bir dizi döner.

name özniteliğinin değerinin anahtar; content özniteliğinin değerinin değer olduğu elemanlardan oluşan bir dizi döner. Böylece standart dizi işlevleri ile bu dizi elemanları üzerinde tek tek işlem yapabilirsiniz. name özniteliğinin içindeki özel karakterlerin yerlerine birer '_' konur ve kalan harfler küçük harfe dönüştürülür. Aynı name özniteliğine sahip iki meta etiketi varsa sadece sonuncusu, başarısızlık durumunda false döner.

Örnekler

Örnek 2 - get_meta_tags() örneği

<?php
// Aşağıdaki özniteliklerin index.php dosyasından geldiği varsayılmıştır
$tags = get_meta_tags('http://www.example.com/');

// Anahtarların küçük harfe dönüştürüleceğini unutmayın.
// Ayrıca, anahtar içindeki noktalar _ ile değiştirilir.
echo $tags['author']; // isim
echo $tags['keywords']; // php belgeleri
echo $tags['description']; // php kılavuzu
echo $tags['geo_position']; // 49.33;-86.59
?>

Notlar

Bilginize:

Sadece isimli öznitelikleri olam meta etiketleri çözümlenir. Tırnaklar gerekli değildir.

Ayrıca Bakınız

  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • urlencode() - Dizgeye URL kodlaması uygular


URL kodlamalı sorgu dizgesi üretir

  • « get_meta_tags
  • parse_url »
  • PHP Manual
  • URL İşlevleri
  • URL kodlamalı sorgu dizgesi üretir

http_build_query

(PHP 5, PHP 7, PHP 8)

http_build_query — URL kodlamalı sorgu dizgesi üretir

Açıklama

http_build_query(
array|object $veri,
string $sayısal_önek = "",
?string $ayraç = null,
int $kodlama_türü = PHP_QUERY_RFC1738
): string

Belirtilen ilişkisel (veya indisli) diziden bir URL kodlamalı dizge üretir.

Bağımsız Değişkenler

veri

veri bir dizi ise tek boyutlu basit bir yapı veya bir diziler dizisi olabilir (dönüşte diğer dizileri içerebilir).

data bir nesne ise sonuca sadece public özellikler dahil edilir.

sayısal_önek

Temel dizide sayısal indisler kullanılmışsa sayısal indislerin her birinin önüne burada belirtilen değer getirilir ve bu sadece temel dizinin indislerine uygulanır.

Bunun böyle yapılmasının sebebi, verinin daha sonra PHP veya başka bir CGI uygulaması tarafından URL kodlaması çözüldüğünde elde geçerli (meşru) değişken isimleri kalmasını sağlamaktır.

ayraç

Burada bir ayraç belirtilmezse veya null belirtilirse ayraç olarak arg_separator.output yönergesinde belirtilen ayraç kullanılır.

kodlama_türü

PHP_QUERY_RFC1738 öntanımlıdır.

kodlama_türü olarak PHP_QUERY_RFC1738 atanmışsa, kodlama boşlukların artı (+) işaretleri olarak kodlandığı » RFC 1738 ve application/x-www-form-urlencoded ortam türüne göre uygulanır.

kodlama_türü olarak PHP_QUERY_RFC3986 atanmışsa, kodlama, boşlukların yüzdeli (%20) kodlandığı » RFC 3986'ya göre uygulanır.

Dönen Değerler

URL kodlamalı bir dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayraç artık null olabiliyor.

Örnekler

Örnek 1 - http_build_query() basit kullanımı

<?php
$data = array(
'foo' => 'bar',
'baz' => 'boom',
'cow' => 'milk',
'null' => null,
'php' => 'hypertext processor'
);

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

Yukarıdaki örneğin çıktısı:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor

Örnek 2 - Sayısal indisli elemanlarla http_build_query()

<?php
$data = array('foo', 'bar', 'baz', null, 'boom', 'cow' => 'milk', 'php' => 'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, 'myvar_');
?>

Yukarıdaki örneğin çıktısı:

0=foo&1=bar&2=baz&4=boom&cow=milk&php=hypertext+processor
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_4=boom&cow=milk&php=hypertext+processor

Örnek 3 - http_build_query() ve çok boyutlu diziler

<?php
$data = array(
'user' => array(
'name' => 'Bob Smith',
'age' => 47,
'sex' => 'M',
'dob' => '5/12/1956'
),
'pastimes' => array('golf', 'opera', 'poker', 'rap'),
'children' => array(
'bobby' => array('age'=>12, 'sex'=>'M'),
'sally' => array('age'=>8, 'sex'=>'F')
),
'CEO'
);

echo http_build_query($data, 'flags_');
?>

Örneğin çıktısı: (okunabilirlik için satır katlanmıştır)

user%5Bname%5D=Bob+Smith&user%5Bage%5D=47&user%5Bsex%5D=M&
user%5Bdob%5D=5%2F12%2F1956&pastimes%5B0%5D=golf&pastimes%5B1%5D=opera&
pastimes%5B2%5D=poker&pastimes%5B3%5D=rap&children%5Bbobby%5D%5Bage%5D=12&
children%5Bbobby%5D%5Bsex%5D=M&children%5Bsally%5D%5Bage%5D=8&
children%5Bsally%5D%5Bsex%5D=F&flags_0=CEO

Bilginize:

Sadece, temel dizi içindeki sayısal indisli "CEO" elemanı bir önek alır. Alt dizilerdeki diğer sayısal indislerin meşru değişken ismi olabilmesi için bir dizge ile öncelenmeleri gerekmez.

Örnek 4 - http_build_query() ve bir nesne

<?php
class parentClass {
public $pub = 'publicParent';
protected $prot = 'protectedParent';
private $priv = 'privateParent';
public $pub_bar = null;
protected $prot_bar = null;
private $priv_bar = null;

public function __construct(){
$this->pub_bar = new childClass();
$this->prot_bar = new childClass();
$this->priv_bar = new childClass();
}

class childClass {
public $pub = 'publicChild';
protected $prot = 'protectedChild';
private $priv = 'privateChild';
}

$parent = new parentClass();

echo http_build_query($parent);

?>

Yukarıdaki örneğin çıktısı:

pub=publicParent&pub_bar%5Bpub%5D=publicChild

Ayrıca Bakınız

  • parse_str() - Dizge içindeki değişkenleri çözümler
  • parse_url() - Bir URL'yi bileşenlerine ayırır
  • urlencode() - Dizgeye URL kodlaması uygular
  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular


Bir URL'yi bileşenlerine ayırır

  • « http_build_query
  • rawurldecode »
  • PHP Manual
  • URL İşlevleri
  • Bir URL'yi bileşenlerine ayırır

parse_url

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_url — Bir URL'yi bileşenlerine ayırır

Açıklama

parse_url(string $url, int $bileşen = -1): int|string|array|null|false

Bu işlev belirtilen URL'yi bileşenlerine ayırıp, bunları bir ilişkisel dizi içinde döndürür. Dizi elemanlarının değerleri URL'nin kodu çözülmüş bileşenleri değildir.

Bu işlev, bir URL doğrulayıcı olarak kullanılmamalıdır. Yaptığı sadece URL'yi aşağıda belirtilen parçalara ayırmaktır. Kısmi ve geçersiz URL'ler de kabul edilir. İşlev bunları en doğru şekilde bileşenlerine ayırmaya çalışır.

Bağımsız Değişkenler

url

Ayrıştırılacak URL.

bileşen

Belli bir URL bileşenini dizge olarak (dönüş değeri int türünde olan PHP_URL_PORT dışında) döndürmek isterseniz bu bağımsız değişkende şu sabitlerden birini belirtin: PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY, PHP_URL_FRAGMENT.

Dönen Değerler

Tehlikeli şekilde bozulmuş URL'lerde parse_url() false döndürebilir.

bileşen atlanırsa, en az bir elememanlı ilişkisel bir dizi döner. Dizide bulunması olası anahtarlar şunlardır:

  • scheme - http:// gibi
  • host - konak ismi
  • port - port
  • user - kullanıcı
  • pass - parola
  • path - dosya yolu
  • query - sorgu; bir soru (?) iminden sonra.
  • fragment - örgü; # iminden sonra

bileşen bağımsız değişkeni belirtilmişse işlev bir dizi yerine bir dizge döndürür (dönüş değeri int türünde olan PHP_URL_PORT belirtilmesi dışında). İstenen bileşen belirtilen URL'de yoksa null döner. PHP 8.0.0 itibariyle, parse_url() eksik ve boş sorguları ve parçaları ayırt etmektedir:

http://example.com/foo › query = null, fragment = null
http://example.com/foo? › query = "",   fragment = null
http://example.com/foo# › query = null, fragment = ""
http://example.com/foo?# › query = "",   fragment = ""

Evvelce tüm durumlar, sorgu ve parçanın null olmasıyla sonuçlanıyordu.

Bileşenlerdeki denetim karakterlerinin yerine alt çizgiler konur (bkz. ctype_cntrl())

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | parse_url() artık eksik ve boş sorguları ve parçaları ayırt ediyor.

Örnekler

Örnek 1 - parse_url() örneği

<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';

var_dump(parse_url($url));
var_dump(parse_url($url, PHP_URL_SCHEME));
var_dump(parse_url($url, PHP_URL_USER));
var_dump(parse_url($url, PHP_URL_PASS));
var_dump(parse_url($url, PHP_URL_HOST));
var_dump(parse_url($url, PHP_URL_PORT));
var_dump(parse_url($url, PHP_URL_PATH));
var_dump(parse_url($url, PHP_URL_QUERY));
var_dump(parse_url($url, PHP_URL_FRAGMENT));
?>

Yukarıdaki örneğin çıktısı:

array(8) {
  ["scheme"]=>
  string(4) "http"
  ["host"]=>
  string(8) "hostname"
  ["port"]=>
  int(9090)
  ["user"]=>
  string(8) "username"
  ["pass"]=>
  string(8) "password"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(9) "arg=value"
  ["fragment"]=>
  string(6) "anchor"
}
string(4) "http"
string(8) "username"
string(8) "password"
string(8) "hostname"
int(9090)
string(5) "/path"
string(9) "arg=value"
string(6) "anchor"

Örnek 2 - Eksik şemalı parse_url() örneği

<?php
$url = '//www.example.com/path?googleguy=googley';

// 5.4.7 öncesinde dosya yolu olarak "//www.example.com/path" gösterilirdi.
var_dump(parse_url($url));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

Notlar

Dikkat

Bu işlev göreli veya geçersiz URL'lerle doğru sonuç vermeyebilir ve sonuçlar HTTP istemcilerin davranışlarıyla da eşleşmeyebilir. Güvenilmez girdideki URL'lerin çözümlenmesi gerekirse, ek bir doğrulama gerekir. Örnek: filter_var() işlevinin FILTER_VALIDATE_URL süzgeci ile kullanımı.

Bilginize:

Bu işlev URI'leri değil, özellikle URL'leri ayrıştırmak için tasarlanmıştır. Ancak, PHP'nin geriye uyumluluğu için file:// şeması için istisnai bir durum olarak file:/// şemasına da izin verilir. Bunun dışındaki şemalar için bu uygulama geçersizdir.

Ayrıca Bakınız

  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür
  • parse_str() - Dizge içindeki değişkenleri çözümler
  • http_build_query() - URL kodlamalı sorgu dizgesi üretir
  • dirname() - Üst dizinin yolunu döndürür
  • basename() - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
  • » RFC 3986


URL kodlamalı dizgenin kodlamasını kaldırır

  • « parse_url
  • rawurlencode »
  • PHP Manual
  • URL İşlevleri
  • URL kodlamalı dizgenin kodlamasını kaldırır

rawurldecode

(PHP 4, PHP 5, PHP 7, PHP 8)

rawurldecode — URL kodlamalı dizgenin kodlamasını kaldırır

Açıklama

rawurldecode(string $dizge): string

Belirtilen dizge içindeki %## dizilimlerinin yerine karşılığı olan karakterleri yerleştirerek dizgenin kodlamasını kaldırır.

Bağımsız Değişkenler

dizge

Kodlaması kaldırılacak URL.

Dönen Değerler

Kodlaması kaldırılmış URL'yi bir dizge olarak döndürür.

Örnekler

Örnek 1 - rawurldecode() örneği

<?php

echo rawurldecode('foo%20bar%40baz'); // foo bar@baz

?>

Notlar

Bilginize:

rawurldecode() işlevi, urldecode() işlevinden farklı olarak artı (+) imlerini boşluklara dönüştürmez.

Ayrıca Bakınız

  • rawurlencode() - RFC 3986'ya uygun URL kodlaması yapar
  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer
  • urlencode() - Dizgeye URL kodlaması uygular
  • » RFC 3986


RFC 3986'ya uygun URL kodlaması yapar

  • « rawurldecode
  • urldecode »
  • PHP Manual
  • URL İşlevleri
  • RFC 3986'ya uygun URL kodlaması yapar

rawurlencode

(PHP 4, PHP 5, PHP 7, PHP 8)

rawurlencode — RFC 3986'ya uygun URL kodlaması yapar

Açıklama

rawurlencode(string $dizge): string

Belirtilen dizgeye » RFC 3986'ya uygun URL kodlaması uygular.

Bağımsız Değişkenler

dizge

Kodlanacak URL.

Dönen Değerler

Belirtilen dizge içindeki karakterlerden, -_.~ dışındaki abecesayısal olmayan tüm karakterlerin yüzde (%) imiyle öncelenmiş iki onaltılık rakamla değiştirildiği bir kodlama uygulanmış bir dizge döndürür. Bu kodlama, » RFC 3986'da açıklanan kodlama olup, bazı karakterlerin URL ayracı olarak yorumlanmasını önlemek ve (bazı eposta sistemlerinde) URL'lerin aktarım ortamında karakter dönüşümleri ile bozunmaya uğramaması için kullanılır.

Örnekler

Örnek 1 - Bir FTP URL'sinde parola belirtmek

<?php
echo '<a href="ftp://user:', rawurlencode('foo @+%/'),
'@ftp.example.com/x.txt">';
?>

Yukarıdaki örneğin çıktısı:

<a href="ftp://user:foo%20%40%2B%25%2F@ftp.example.com/x.txt">

Bilgiyi URL'nin PATH_INFO bileşeninde aktarırsanız:

Örnek 2 - Başka bir rawurlencode() örneği

<?php
echo '<a href="http://example.com/department_list_script/',
rawurlencode('sales and marketing/Miami'), '">';
?>

Yukarıdaki örneğin çıktısı:

<a href="http://example.com/department_list_script/sales%20and%20marketing%2FMiami">

Ayrıca Bakınız

  • rawurldecode() - URL kodlamalı dizgenin kodlamasını kaldırır
  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer
  • urlencode() - Dizgeye URL kodlaması uygular
  • » RFC 3986


URL kodlamalı dizgenin kodlamasını çözer

  • « rawurlencode
  • urlencode »
  • PHP Manual
  • URL İşlevleri
  • URL kodlamalı dizgenin kodlamasını çözer

urldecode

(PHP 4, PHP 5, PHP 7, PHP 8)

urldecode — URL kodlamalı dizgenin kodlamasını çözer

Açıklama

urldecode(string $dizge): string

Belirtilen dizge içindeki %## dizilimlerinin yerine karşılığı olan karakterleri yerleştirerek dizgenin kodlamasını kaldırır. Artı işaretleri ('+') birer boşluk karateri olarak çözümlenir.

Bağımsız Değişkenler

dizge

Kodlaması kaldırılacak dizge.

Dönen Değerler

Kodlanmamış dizge döner.

Örnekler

Örnek 1 - urldecode() örneği

<?php
$query = "my=apples&are=green+and+red";

foreach (explode('&', $query) as $chunk) {
$param = explode("=", $chunk);

if ($param) {
printf("Value for parameter \"%s\" is \"%s\"<br/>\n", urldecode($param[0]), urldecode($param[1]));
}
}
?>

Notlar

Uyarı

$_GET ve $_REQUEST süper küreselleri zaten kodlanmış değildir. $_GET veya $_REQUEST içindeki bir elemana urldecode() uygulamak beklenmedik ve tehlikeli sonuçlar verebilir.

Ayrıca Bakınız

  • urlencode() - Dizgeye URL kodlaması uygular
  • rawurlencode() - RFC 3986'ya uygun URL kodlaması yapar
  • rawurldecode() - URL kodlamalı dizgenin kodlamasını kaldırır
  • » RFC 3986


Dizgeye URL kodlaması uygular

  • « urldecode
  • V8js »
  • PHP Manual
  • URL İşlevleri
  • Dizgeye URL kodlaması uygular

urlencode

(PHP 4, PHP 5, PHP 7, PHP 8)

urlencode — Dizgeye URL kodlaması uygular

Açıklama

urlencode(string $dizge): string

Değişkenleri sonraki sayfaya aktarmak için bir URL'nin parçası olarak bir sorgu dizgesinde kullanılmak üzere bir dizgeyi kodlar.

Bağımsız Değişkenler

dizge

Kodlanacak dizge.

Dönen Değerler

Belirtilen dizge içindeki karakterlerden, -_. dışındaki abecesayısal olmayan tüm karakterlerin yüzde (%) imiyle öncelenmiş iki onaltılık rakamla; boşlukların ise artı (+) imi ile değiştirildiği bir kodlama uygulanmış bir dizge döndürür. Bir HTML formundan gönderilen veriye de aynı kodlama uygulanır ve bu yolla elde edilen dizgenin biçemi application/x-www-form-urlencoded ortam türü olarak bilinir. Bu biçem, tarihsel sebeplerle boşlukların artı (+) imi ile kodlanmasıyla » RFC 3986 kodlamasından farklıdır (rawurlencode() işlevine bakınız).

Örnekler

Örnek 1 - urlencode() örneği

<?php
$userinput = 'Data123!@-_ +';
echo "UserInput: $userinput\n";
echo '<a href="mycgi?foo=', urlencode($userinput), '">';
?>

Yukarıdaki örneğin çıktısı:

UserInput: Data123!@-_ +
<a href="mycgi?foo=Data123%21%40-_+%2B">

Örnek 2 - urlencode() ve htmlentities() örneği

<?php
$foo = 'Data123!@-_ +';
$bar = "Not the same content as $foo";
echo "foo: $foo\n";
echo "bar: $bar\n";
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '<a href="mycgi?' . htmlentities($query_string) . '">';
?>

Yukarıdaki örneğin çıktısı:

foo: Data123!@-_ +
bar: Not the same content as Data123!@-_ +
<a href="mycgi?foo=Data123%21%40-_+%2B&amp;bar=Not+the+same+content+as+Data123%21%40-_+%2B">

Notlar

Bilginize:

HTML öğeleri olarak ele alınabilecek değişken isimlerine karşı dikkatli olun. &amp, &copy and &pound gibi şeyler tarayıcı tarafından çözümlenir ve istenen değişken ismi yerine bu HTML öğesi kullanılır. Bu, W3C'nin yıllardır söyleye geldiği zorluklardan biridir. Bakınız: » http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.

PHP, bağımsız değişken ayracının, W3C'nin önerdiği noktalı virgül olarak değiştirilmesini arg_separator.output php.ini yönergesi üzerinden destekler. Maalesef, çoğu tarayıcı form verisini noktalı virgül ayraçlı biçemde göndermemektedir. Daha taşınabilir bir yol, bağımsız değişken ayracı olarak & yerine &amp; kullanmaktır. Bunu sağlamak için PHP'nin arg_separator.output yönergesinde değişiklik yapmanız gerekmez. Yönergenin değerini & olarak bırakın, fakat URL'lerinizi htmlentities() veya htmlspecialchars() ile kodlayın.

Ayrıca Bakınız

  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • rawurlencode() - RFC 3986'ya uygun URL kodlaması yapar
  • rawurldecode() - URL kodlamalı dizgenin kodlamasını kaldırır
  • » RFC 3986


V8 Javascript Engine Integration

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Örnekler
  • V8Js — The V8Js class
    • V8Js::__construct — Construct a new V8Js object
    • V8Js::executeString — Execute a string as Javascript code
    • V8Js::getExtensions — Return an array of registered extensions
    • V8Js::getPendingException — Return pending uncaught Javascript exception
    • V8Js::registerExtension — Register Javascript extensions for V8Js
  • V8JsException — The V8JsException class
    • V8JsException::getJsFileName — The getJsFileName purpose
    • V8JsException::getJsLineNumber — The getJsLineNumber purpose
    • V8JsException::getJsSourceLine — The getJsSourceLine purpose
    • V8JsException::getJsTrace — The getJsTrace purpose


  • « V8js
  • Yapılandırma/Kurulum »
  • PHP Manual
  • V8js
  • Giriş

Giriş

This extension embeds the » V8 Javascript Engine into PHP.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

PHP and V8 library and headers installed in proper paths.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/v8js


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

V8js Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
v8js.max_disposed_contexts | 25 | PHP_INI_ALL |
v8js.flags |  | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

v8js.max_disposed_contexts int

Sets limit for disposed contexts before forcing V8 to do garbage collection.

v8js.flags string

Sets V8 command line flags. The list of available flags can be obtained in CLI mode by setting this parameter to --help. Example:

$ php -r 'ini_set("v8js.flags", "--help"); new V8Js;' | less

Bilginize:

For these flags to be effective in runtime the ini_set() call has to be done before any V8Js objects are instantiated!


  • « Çalışma Anı Yapılandırması
  • Örnekler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Örnekler

Basic usage

Örnek 1 Basic Javascript execution

<?php

$v8 = new V8Js();

/* basic.js */
$JS = <<< EOT
len = print('Hello' + ' ' + 'World!' + "\\n");
len;
EOT;

try {
var_dump($v8->executeString($JS, 'basic.js'));
} catch (V8JsException $e) {
var_dump($e);
}

?>

Yukarıdaki örneğin çıktısı:

Hello World!
int(13)


The V8Js class

(PECL v8js >= 0.1.0)

Giriş

This is the core class for V8Js extension. Each instance created from this class has own context in which all JavaScript is compiled and executed.

See V8Js::__construct() for more information.

Sınıf Sözdizimi

class V8Js {
/* Sabitler */
const string V8_VERSION;
const int FLAG_NONE = 1;
const int FLAG_FORCE_ARRAY = 2;
/* Yöntemler */
public __construct(
string $object_name = "PHP",
array $variables = array(),
array $extensions = array(),
bool $report_uncaught_exceptions = true
)
public executeString(string $script, string $identifier = "V8Js::executeString()", int $flags = V8Js::FLAG_NONE): mixed
public static getExtensions(): array
public getPendingException(): V8JsException
public static registerExtension(
string $extension_name,
string $script,
array $dependencies = array(),
bool $auto_enable = false
): bool
}

Öntanımlı Sabitler

V8Js::V8_VERSION

The V8 Javascript Engine version.

V8Js::FLAG_NONE

No flags.

V8Js::FLAG_FORCE_ARRAY

Forces all JS objects to be associative arrays in PHP.

İçindekiler

  • V8Js::__construct — Construct a new V8Js object
  • V8Js::executeString — Execute a string as Javascript code
  • V8Js::getExtensions — Return an array of registered extensions
  • V8Js::getPendingException — Return pending uncaught Javascript exception
  • V8Js::registerExtension — Register Javascript extensions for V8Js


Construct a new V8Js object

  • « V8Js
  • V8Js::executeString »
  • PHP Manual
  • V8Js
  • Construct a new V8Js object

V8Js::__construct

(PECL v8js >= 0.1.0)

V8Js::__construct — Construct a new V8Js object

Açıklama

public V8Js::__construct(
string $object_name = "PHP",
array $variables = array(),
array $extensions = array(),
bool $report_uncaught_exceptions = true
)

Constructs a new V8Js object.

Bağımsız Değişkenler

object_name

The name of the object passed to Javascript.

variables

Map of PHP variables that will be available in Javascript. Must be an associative array in format array("name-for-js" => "name-of-php-variable"). Defaults to empty array.

extensions

List of extensions registered using V8Js::registerExtension() which should be available in the Javascript context of the created V8Js object.

Bilginize:

Extensions registered to be enabled automatically do not need to be listed in this array. Also if an extension has dependencies, those dependencies can be omitted as well. Defaults to empty array.

report_uncaught_exceptions

Controls whether uncaught Javascript exceptions are reported immediately or not. Defaults to true. If set to false the uncaught exception can be accessed using V8Js::getPendingException().


Execute a string as Javascript code

  • « V8Js::__construct
  • V8Js::getExtensions »
  • PHP Manual
  • V8Js
  • Execute a string as Javascript code

V8Js::executeString

(PECL v8js >= 0.1.0)

V8Js::executeString — Execute a string as Javascript code

Açıklama

public V8Js::executeString(string $script, string $identifier = "V8Js::executeString()", int $flags = V8Js::FLAG_NONE): mixed

Compiles and executes the string passed with script as Javascript code.

Bağımsız Değişkenler

script

The code string to be executed.

identifier

Identifier string for the executed code. Used for debugging.

flags

Execution flags. This value must be one of the V8Js::FLAG_* constants, defaulting to V8Js::FLAG_NONE.

  • V8Js::FLAG_NONE: no flags

  • V8Js::FLAG_FORCE_ARRAY: forces all Javascript objects passed to PHP to be associative arrays

Dönen Değerler

Returns the last variable instantiated in the Javascript code converted to matching PHP variable type.


Return an array of registered extensions

  • « V8Js::executeString
  • V8Js::getPendingException »
  • PHP Manual
  • V8Js
  • Return an array of registered extensions

V8Js::getExtensions

(PECL v8js >= 0.1.0)

V8Js::getExtensions — Return an array of registered extensions

Açıklama

public static V8Js::getExtensions(): array

This function returns array of Javascript extensions registered using V8Js::registerExtension().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of registered extensions or an empty array if there are none.


Return pending uncaught Javascript exception

  • « V8Js::getExtensions
  • V8Js::registerExtension »
  • PHP Manual
  • V8Js
  • Return pending uncaught Javascript exception

V8Js::getPendingException

(PECL v8js >= 0.1.0)

V8Js::getPendingException — Return pending uncaught Javascript exception

Açıklama

public V8Js::getPendingException(): V8JsException

Returns any pending uncaught Javascript exception as V8JsException left from earlier V8Js::executeString() call(s).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Either V8JsException or null.


Register Javascript extensions for V8Js

  • « V8Js::getPendingException
  • V8JsException »
  • PHP Manual
  • V8Js
  • Register Javascript extensions for V8Js

V8Js::registerExtension

(PECL v8js >= 0.1.0)

V8Js::registerExtension — Register Javascript extensions for V8Js

Açıklama

public static V8Js::registerExtension(
string $extension_name,
string $script,
array $dependencies = array(),
bool $auto_enable = false
): bool

Registers passed Javascript script as extension to be used in V8Js contexts.

Bağımsız Değişkenler

extension_name

Name of the extension to be registered.

script

The Javascript code to be registered.

dependencies

Array of extension names the extension to be registered depends on. Any such extension is enabled automatically when this extension is loaded.

Bilginize:

All extensions, including the dependencies, must be registered before any V8Js are created which use them.

auto_enable

If set to true, the extension will be enabled automatically in all V8Js contexts.

Dönen Değerler

Returns true if extension was registered successfully, false otherwise.


The V8JsException class

(PECL v8js >= 0.1.0)

Giriş

Sınıf Sözdizimi

class V8JsException extends Exception {
/* Özellikler */
protected $JsFileName;
protected $JsLineNumber;
protected $JsSourceLine;
protected $JsTrace;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
final public getJsFileName(): string
final public getJsLineNumber(): int
final public getJsSourceLine(): string
final public getJsTrace(): string
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

JsFileName

JsLineNumber

JsSourceLine

JsTrace

İçindekiler

  • V8JsException::getJsFileName — The getJsFileName purpose
  • V8JsException::getJsLineNumber — The getJsLineNumber purpose
  • V8JsException::getJsSourceLine — The getJsSourceLine purpose
  • V8JsException::getJsTrace — The getJsTrace purpose


The getJsFileName purpose

  • « V8JsException
  • V8JsException::getJsLineNumber »
  • PHP Manual
  • V8JsException
  • The getJsFileName purpose

V8JsException::getJsFileName

(PECL v8js >= 0.1.0)

V8JsException::getJsFileName — The getJsFileName purpose

Açıklama

final public V8JsException::getJsFileName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getJsLineNumber purpose

  • « V8JsException::getJsFileName
  • V8JsException::getJsSourceLine »
  • PHP Manual
  • V8JsException
  • The getJsLineNumber purpose

V8JsException::getJsLineNumber

(PECL v8js >= 0.1.0)

V8JsException::getJsLineNumber — The getJsLineNumber purpose

Açıklama

final public V8JsException::getJsLineNumber(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getJsSourceLine purpose

  • « V8JsException::getJsLineNumber
  • V8JsException::getJsTrace »
  • PHP Manual
  • V8JsException
  • The getJsSourceLine purpose

V8JsException::getJsSourceLine

(PECL v8js >= 0.1.0)

V8JsException::getJsSourceLine — The getJsSourceLine purpose

Açıklama

final public V8JsException::getJsSourceLine(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getJsTrace purpose

  • « V8JsException::getJsSourceLine
  • Yaml »
  • PHP Manual
  • V8JsException
  • The getJsTrace purpose

V8JsException::getJsTrace

(PECL v8js >= 0.1.0)

V8JsException::getJsTrace — The getJsTrace purpose

Açıklama

final public V8JsException::getJsTrace(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


YAML Data Serialization

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Callbacks
    • Parse callbacks
    • Emit callbacks
  • Yaml İşlevleri
    • yaml_emit_file — Send the YAML representation of a value to a file
    • yaml_emit — Returns the YAML representation of a value
    • yaml_parse_file — Parse a YAML stream from a file
    • yaml_parse_url — Parse a Yaml stream from a URL
    • yaml_parse — Parse a YAML stream


Giriş

This extension implements the » YAML Ain't Markup Language (YAML) data serialization standard. Parsing and emiting are handled by the » LibYAML library.


Gereksinimler

This extension requires the » LibYAML C library version 0.1.0 or higher to be installed.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yaml.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Yaml Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
yaml.decode_binary | 0 | PHP_INI_ALL |
yaml.decode_php | 0 | PHP_INI_ALL | Added in 1.2.0, before 2.0.0 the default was 1
yaml.decode_timestamp | 0 | PHP_INI_ALL |
yaml.output_canonical | 0 | PHP_INI_ALL |
yaml.output_indent | 2 | PHP_INI_ALL |
yaml.output_width | 80 | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

yaml.decode_binary bool

Off by default, but can be set to on to cause base64 binary encoded entities which have the explicit tag "tag:yaml.org,2002:binary" to be decoded.

yaml.decode_php bool

Off by default, but can be set to on to cause serialized php objects which have the explicit tag "!php/object" to be unserialized.

yaml.decode_timestamp int

Controls the decoding of both implicit and explicit "tag:yaml.org,2002:timestamp" scalars in the YAML document stream. The default setting of 0 will not apply any decoding. A setting of 1 will use strtotime() to parse the timestamp value as a Unix timestamp. A setting of 2 will use date_create() to parse the timestamp value as DateTime object.

yaml.output_canonical bool

Off by default, but can be set to on to cause canonical form output.

yaml.output_indent int

Number of spaces to indent sections. Value should be between 1 and 10.

yaml.output_width int

Set the preferred line width. -1 means unlimited.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Scalar entity styles usable by yaml_parse() callback methods.
YAML_ANY_SCALAR_STYLE (int)
YAML_PLAIN_SCALAR_STYLE (int)
YAML_SINGLE_QUOTED_SCALAR_STYLE (int)
YAML_DOUBLE_QUOTED_SCALAR_STYLE (int)
YAML_LITERAL_SCALAR_STYLE (int)
YAML_FOLDED_SCALAR_STYLE (int)
Common tags usable by yaml_parse() callback methods.
YAML_NULL_TAG (string)
"tag:yaml.org,2002:null"
YAML_BOOL_TAG (string)
"tag:yaml.org,2002:bool"
YAML_STR_TAG (string)
"tag:yaml.org,2002:str"
YAML_INT_TAG (string)
"tag:yaml.org,2002:int"
YAML_FLOAT_TAG (string)
"tag:yaml.org,2002:float"
YAML_TIMESTAMP_TAG (string)
"tag:yaml.org,2002:timestamp"
YAML_SEQ_TAG (string)
"tag:yaml.org,2002:seq"
YAML_MAP_TAG (string)
"tag:yaml.org,2002:map"
YAML_PHP_TAG (string)
"!php/object"
Encoding types for yaml_emit()
YAML_ANY_ENCODING (int)
Let the emitter choose an encoding.
YAML_UTF8_ENCODING (int)
Encode as UTF8.
YAML_UTF16LE_ENCODING (int)
Encode as UTF16LE.
YAML_UTF16BE_ENCODING (int)
Encode as UTF16BE.
Linebreak types for yaml_emit()
YAML_ANY_BREAK (int)
Let emitter choose linebreak character.
YAML_CR_BREAK (int)
Use \r as break character (Mac style).
YAML_LN_BREAK (int)
Use \n as break character (Unix style).
YAML_CRLN_BREAK (int)
Use \r\n as break character (DOS style).


Örnekler

Örnek 1 Yaml Example

<?php
$addr = array(
"given" => "Chris",
"family"=> "Dumars",
"address"=> array(
"lines"=> "458 Walkman Dr.
Suite #292",
"city"=> "Royal Oak",
"state"=> "MI",
"postal"=> 48046,
),
);
$invoice = array (
"invoice"=> 34843,
"date"=> "2001-01-23",
"bill-to"=> $addr,
"ship-to"=> $addr,
"product"=> array(
array(
"sku"=> "BL394D",
"quantity"=> 4,
"description"=> "Basketball",
"price"=> 450,
),
array(
"sku"=> "BL4438H",
"quantity"=> 1,
"description"=> "Super Hoop",
"price"=> 2392,
),
),
"tax"=> 251.42,
"total"=> 4443.52,
"comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
);

// generate a YAML representation of the invoice
$yaml = yaml_emit($invoice);
var_dump($yaml);

// convert the YAML back into a PHP variable
$parsed = yaml_parse($yaml);

// check that roundtrip conversion produced an equivalent structure
var_dump($parsed == $invoice);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(631) "---
invoice: 34843
date: "2001-01-23"
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"
bool(true)


  • « Örnekler
  • Parse callbacks »
  • PHP Manual
  • Yaml
  • Callbacks

Callbacks

İçindekiler

  • Parse callbacks
  • Emit callbacks


Parse callbacks

Parse callables are invoked by yaml_parse(), yaml_parse_file() or yaml_parse_url() functions when a registered YAML tag is encountered. The callback is passed the tagged entity's value, the tag, and flags indicating the scalar entity style. The callback must return the data that the YAML parser should emit for this entity.

Örnek 1 Parse callback example

<?php
/**
* Parsing callback for yaml tag.
* @param mixed $value Data from yaml file
* @param string $tag Tag that triggered callback
* @param int $flags Scalar entity style (see YAML_*_SCALAR_STYLE)
* @return mixed Value that YAML parser should emit for the given value
*/
function tag_callback ($value, $tag, $flags) {
var_dump(func_get_args()); // debugging
return "Hello {$value}";
}

$yaml = <<<YAML
greeting: !example/hello World
YAML;

$result = yaml_parse($yaml, 0, $ndocs, array(
'!example/hello' => 'tag_callback',
));

var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(5) "World"
  [1]=>
  string(14) "!example/hello"
  [2]=>
  int(1)
}
array(1) {
  ["greeting"]=>
  string(11) "Hello World"
}


Emit callbacks

Emit callbacks are invoked when an instance of a registered class is emitted by yaml_emit() or yaml_emit_file(). The callback is passed the object to be emitted. The callback must return an array having two keys: "tag" and "data". The value associated with the "tag" key must be a string to be used as the YAML tag in the output. The value associated with the "data" key will be encoded as YAML and emitted in place of the intercepted object.

Örnek 1 Emit callback example

<?php
class EmitExample {
public $data; // data may be in any pecl/yaml suitable type

public function __construct ($d) {
$this->data = $d;
}

/**
* Yaml emit callback function, referred on yaml_emit call by class name.
*
* Expected to return an array with 2 values:
* - 'tag': custom tag for this serialization
* - 'data': value to convert to yaml (array, string, bool, number)
*
* @param object $obj Object to be emitted
* @return array Tag and surrogate data to emit
*/
public static function yamlEmit (EmitExample $obj) {
return array(
'tag' => '!example/emit',
'data' => $obj->data,
);
}
}

$emit_callbacks = array(
'EmitExample' => array('EmitExample', 'yamlEmit')
);

$t = new EmitExample(array('a','b','c'));
$yaml = yaml_emit(
array(
'example' => $t,
),
YAML_ANY_ENCODING,
YAML_ANY_BREAK,
$emit_callbacks
);
var_dump($yaml);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(43) "---
example: !example/emit
- a
- b
- c
...
"


Yaml İşlevleri

İçindekiler

  • yaml_emit_file — Send the YAML representation of a value to a file
  • yaml_emit — Returns the YAML representation of a value
  • yaml_parse_file — Parse a YAML stream from a file
  • yaml_parse_url — Parse a Yaml stream from a URL
  • yaml_parse — Parse a YAML stream


Send the YAML representation of a value to a file

  • « Yaml İşlevleri
  • yaml_emit »
  • PHP Manual
  • Yaml İşlevleri
  • Send the YAML representation of a value to a file

yaml_emit_file

(PECL yaml >= 0.5.0)

yaml_emit_file — Send the YAML representation of a value to a file

Açıklama

yaml_emit_file(
string $filename,
mixed $data,
int $encoding = YAML_ANY_ENCODING,
int $linebreak = YAML_ANY_BREAK,
array $callbacks = null
): bool

Generate a YAML representation of the provided data in the filename.

Bağımsız Değişkenler

filename

Path to the file.

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Dönen Değerler

Returns true on success.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL yaml 1.1.0 | The callbacks parameter was added.

Ayrıca Bakınız

  • yaml_emit() - Returns the YAML representation of a value
  • yaml_parse() - Parse a YAML stream


Returns the YAML representation of a value

  • « yaml_emit_file
  • yaml_parse_file »
  • PHP Manual
  • Yaml İşlevleri
  • Returns the YAML representation of a value

yaml_emit

(PECL yaml >= 0.5.0)

yaml_emit — Returns the YAML representation of a value

Açıklama

yaml_emit(
mixed $data,
int $encoding = YAML_ANY_ENCODING,
int $linebreak = YAML_ANY_BREAK,
array $callbacks = null
): string

Generate a YAML representation of the provided data.

Bağımsız Değişkenler

data

The data being encoded. Can be any type except a resource.

encoding

Output character encoding chosen from YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING, YAML_UTF16BE_ENCODING.

linebreak

Output linebreak style chosen from YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.

callbacks

Content handlers for emitting YAML nodes. Associative array of classname => callable mappings. See emit callbacks for more details.

Dönen Değerler

Returns a YAML encoded string on success.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL yaml 1.1.0 | The callbacks parameter was added.

Örnekler

Örnek 1 yaml_emit() example

<?php
$addr = array(
"given" => "Chris",
"family"=> "Dumars",
"address"=> array(
"lines"=> "458 Walkman Dr.
Suite #292",
"city"=> "Royal Oak",
"state"=> "MI",
"postal"=> 48046,
),
);
$invoice = array (
"invoice"=> 34843,
"date"=> 980208000,
"bill-to"=> $addr,
"ship-to"=> $addr,
"product"=> array(
array(
"sku"=> "BL394D",
"quantity"=> 4,
"description"=> "Basketball",
"price"=> 450,
),
array(
"sku"=> "BL4438H",
"quantity"=> 1,
"description"=> "Super Hoop",
"price"=> 2392,
),
),
"tax"=> 251.42,
"total"=> 4443.52,
"comments"=> "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.",
);
var_dump(yaml_emit($invoice));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(628) "---
invoice: 34843
date: 980208000
bill-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
ship-to:
  given: Chris
  family: Dumars
  address:
    lines: |-
      458 Walkman Dr.
              Suite #292
    city: Royal Oak
    state: MI
    postal: 48046
product:
- sku: BL394D
  quantity: 4
  description: Basketball
  price: 450
- sku: BL4438H
  quantity: 1
  description: Super Hoop
  price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
"

Ayrıca Bakınız

  • yaml_emit_file() - Send the YAML representation of a value to a file
  • yaml_parse() - Parse a YAML stream


Parse a YAML stream from a file

  • « yaml_emit
  • yaml_parse_url »
  • PHP Manual
  • Yaml İşlevleri
  • Parse a YAML stream from a file

yaml_parse_file

(PECL yaml >= 0.4.0)

yaml_parse_file — Parse a YAML stream from a file

Açıklama

yaml_parse_file(
string $filename,
int $pos = 0,
int &$ndocs = ?,
array $callbacks = null
): mixed

Convert all or part of a YAML document stream read from a file to a PHP variable.

Bağımsız Değişkenler

filename

Path to the file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Dönen Değerler

Returns the value encoded in input in appropriate PHP type başarısızlık durumunda false döner. If pos is -1 an array will be returned with one entry for each document found in the stream.

Notlar

Uyarı

Processing untrusted user input with yaml_parse_file() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Ayrıca Bakınız

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value


Parse a Yaml stream from a URL

  • « yaml_parse_file
  • yaml_parse »
  • PHP Manual
  • Yaml İşlevleri
  • Parse a Yaml stream from a URL

yaml_parse_url

(PECL yaml >= 0.4.0)

yaml_parse_url — Parse a Yaml stream from a URL

Açıklama

yaml_parse_url(
string $url,
int $pos = 0,
int &$ndocs = ?,
array $callbacks = null
): mixed

Convert all or part of a YAML document stream read from a URL to a PHP variable.

Bağımsız Değişkenler

url

url should be of the form "scheme://...". PHP will search for a protocol handler (also known as a wrapper) for that scheme. If no wrappers for that protocol are registered, PHP will emit a notice to help you track potential problems in your script and then continue as though filename specifies a regular file.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more

Dönen Değerler

Returns the value encoded in input in appropriate PHP type başarısızlık durumunda false döner. If pos is -1 an array will be returned with one entry for each document found in the stream.

Notlar

Uyarı

Processing untrusted user input with yaml_parse_url() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Ayrıca Bakınız

  • yaml_parse() - Parse a YAML stream
  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_emit() - Returns the YAML representation of a value


Parse a YAML stream

  • « yaml_parse_url
  • Yaf »
  • PHP Manual
  • Yaml İşlevleri
  • Parse a YAML stream

yaml_parse

(PECL yaml >= 0.4.0)

yaml_parse — Parse a YAML stream

Açıklama

yaml_parse(
string $input,
int $pos = 0,
int &$ndocs = ?,
array $callbacks = null
): mixed

Convert all or part of a YAML document stream to a PHP variable.

Bağımsız Değişkenler

input

The string to parse as a YAML document stream.

pos

Document to extract from stream (-1 for all documents, 0 for first document, ...).

ndocs

If ndocs is provided, then it is filled with the number of documents found in stream.

callbacks

Content handlers for YAML nodes. Associative array of YAML tag => callable mappings. See parse callbacks for more details.

Dönen Değerler

Returns the value encoded in input in appropriate PHP type başarısızlık durumunda false döner. If pos is -1 an array will be returned with one entry for each document found in the stream.

Örnekler

Örnek 1 yaml_parse() example

<?php
$yaml = <<<EOD
---
invoice: 34843
date: "2001-01-23"
bill-to: &id001
given: Chris
family: Dumars
address:
lines: |-
458 Walkman Dr.
Suite #292
city: Royal Oak
state: MI
postal: 48046
ship-to: *id001
product:
- sku: BL394D
quantity: 4
description: Basketball
price: 450
- sku: BL4438H
quantity: 1
description: Super Hoop
price: 2392
tax: 251.420000
total: 4443.520000
comments: Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
...
EOD;

$parsed = yaml_parse($yaml);
var_dump($parsed);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(8) {
  ["invoice"]=>
  int(34843)
  ["date"]=>
  string(10) "2001-01-23"
  ["bill-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["ship-to"]=>
  &array(3) {
    ["given"]=>
    string(5) "Chris"
    ["family"]=>
    string(6) "Dumars"
    ["address"]=>
    array(4) {
      ["lines"]=>
      string(34) "458 Walkman Dr.
        Suite #292"
      ["city"]=>
      string(9) "Royal Oak"
      ["state"]=>
      string(2) "MI"
      ["postal"]=>
      int(48046)
    }
  }
  ["product"]=>
  array(2) {
    [0]=>
    array(4) {
      ["sku"]=>
      string(6) "BL394D"
      ["quantity"]=>
      int(4)
      ["description"]=>
      string(10) "Basketball"
      ["price"]=>
      int(450)
    }
    [1]=>
    array(4) {
      ["sku"]=>
      string(7) "BL4438H"
      ["quantity"]=>
      int(1)
      ["description"]=>
      string(10) "Super Hoop"
      ["price"]=>
      int(2392)
    }
  }
  ["tax"]=>
  float(251.42)
  ["total"]=>
  float(4443.52)
  ["comments"]=>
  string(68) "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338."
}

Notlar

Uyarı

Processing untrusted user input with yaml_parse() is dangerous if the use of unserialize() is enabled for nodes using the !php/object tag. This behavior can be disabled by using the yaml.decode_php ini setting.

Ayrıca Bakınız

  • yaml_parse_file() - Parse a YAML stream from a file
  • yaml_parse_url() - Parse a Yaml stream from a URL
  • yaml_emit() - Returns the YAML representation of a value


Yet Another Framework

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Application Configuration
  • Yaf_Application — The Yaf_Application class
    • Yaf_Application::app — Retrieve an Application instance
    • Yaf_Application::bootstrap — Call bootstrap
    • Yaf_Application::clearLastError — Clear the last error info
    • Yaf_Application::__construct — Yaf_Application constructor
    • Yaf_Application::__destruct — The __destruct purpose
    • Yaf_Application::environ — Retrive environ
    • Yaf_Application::execute — Execute a callback
    • Yaf_Application::getAppDirectory — Get the application directory
    • Yaf_Application::getConfig — Retrive the config instance
    • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
    • Yaf_Application::getLastErrorNo — Get code of last occurred error
    • Yaf_Application::getModules — Get defined module names
    • Yaf_Application::run — Start Yaf_Application
    • Yaf_Application::setAppDirectory — Change the application directory
  • Yaf_Bootstrap_Abstract — The Yaf_Bootstrap_Abstract class
  • Yaf_Dispatcher — The Yaf_Dispatcher class
    • Yaf_Dispatcher::autoRender — Switch on/off autorendering
    • Yaf_Dispatcher::catchException — Switch on/off exception catching
    • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
    • Yaf_Dispatcher::disableView — Disable view rendering
    • Yaf_Dispatcher::dispatch — Dispatch a request
    • Yaf_Dispatcher::enableView — Enable view rendering
    • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication — Retrieve the application
    • Yaf_Dispatcher::getDefaultAction — Retrive the default action name
    • Yaf_Dispatcher::getDefaultController — Retrive the default controller name
    • Yaf_Dispatcher::getDefaultModule — Retrive the default module name
    • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest — Retrive the request instance
    • Yaf_Dispatcher::getRouter — Retrive router instance
    • Yaf_Dispatcher::initView — Initialize view and return it
    • Yaf_Dispatcher::registerPlugin — Register a plugin
    • Yaf_Dispatcher::returnResponse — The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction — Change default action name
    • Yaf_Dispatcher::setDefaultController — Change default controller name
    • Yaf_Dispatcher::setDefaultModule — Change default module name
    • Yaf_Dispatcher::setErrorHandler — Set error handler
    • Yaf_Dispatcher::setRequest — The setRequest purpose
    • Yaf_Dispatcher::setView — Set a custom view engine
    • Yaf_Dispatcher::throwException — Switch on/off exception throwing
  • Yaf_Config_Abstract — The Yaf_Config_Abstract class
    • Yaf_Config_Abstract::get — Getter
    • Yaf_Config_Abstract::readonly — Find a config whether readonly
    • Yaf_Config_Abstract::set — Setter
    • Yaf_Config_Abstract::toArray — Cast to array
  • Yaf_Config_Ini — The Yaf_Config_Ini class
    • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
    • Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini
    • Yaf_Config_Ini::current — Retrieve the current value
    • Yaf_Config_Ini::__get — Retrieve a element
    • Yaf_Config_Ini::__isset — Determine if a key is exists
    • Yaf_Config_Ini::key — Fetch current element's key
    • Yaf_Config_Ini::next — Advance the internal pointer
    • Yaf_Config_Ini::offsetExists — The offsetExists purpose
    • Yaf_Config_Ini::offsetGet — The offsetGet purpose
    • Yaf_Config_Ini::offsetSet — The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Ini::readonly — The readonly purpose
    • Yaf_Config_Ini::rewind — The rewind purpose
    • Yaf_Config_Ini::__set — The __set purpose
    • Yaf_Config_Ini::toArray — Return config as a PHP array
    • Yaf_Config_Ini::valid — The valid purpose
  • Yaf_Config_Simple — The Yaf_Config_Simple class
    • Yaf_Config_Simple::__construct — The __construct purpose
    • Yaf_Config_Simple::count — The count purpose
    • Yaf_Config_Simple::current — The current purpose
    • Yaf_Config_Simple::__get — The __get purpose
    • Yaf_Config_Simple::__isset — The __isset purpose
    • Yaf_Config_Simple::key — The key purpose
    • Yaf_Config_Simple::next — The next purpose
    • Yaf_Config_Simple::offsetExists — The offsetExists purpose
    • Yaf_Config_Simple::offsetGet — The offsetGet purpose
    • Yaf_Config_Simple::offsetSet — The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
    • Yaf_Config_Simple::readonly — The readonly purpose
    • Yaf_Config_Simple::rewind — The rewind purpose
    • Yaf_Config_Simple::__set — The __set purpose
    • Yaf_Config_Simple::toArray — Returns a PHP array
    • Yaf_Config_Simple::valid — The valid purpose
  • Yaf_Controller_Abstract — The Yaf_Controller_Abstract class
    • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
    • Yaf_Controller_Abstract::display — The display purpose
    • Yaf_Controller_Abstract::forward — Forward to another action
    • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName — Get module name
    • Yaf_Controller_Abstract::getName — Get self name
    • Yaf_Controller_Abstract::getRequest — Retrieve current request object
    • Yaf_Controller_Abstract::getResponse — Retrieve current response object
    • Yaf_Controller_Abstract::getView — Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
    • Yaf_Controller_Abstract::init — Controller initializer
    • Yaf_Controller_Abstract::initView — The initView purpose
    • Yaf_Controller_Abstract::redirect — Redirect to a URL
    • Yaf_Controller_Abstract::render — Render view template
    • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose
  • Yaf_Action_Abstract — The Yaf_Action_Abstract class
    • Yaf_Action_Abstract::execute — Action entry point
    • Yaf_Action_Abstract::getController — Retrieve controller object
    • Yaf_Action_Abstract::getControllerName — Get controller name
  • Yaf_View_Interface — The Yaf_View_Interface class
    • Yaf_View_Interface::assign — Assign value to View engine
    • Yaf_View_Interface::display — Render and output a template
    • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
    • Yaf_View_Interface::render — Render a template
    • Yaf_View_Interface::setScriptPath — The setScriptPath purpose
  • Yaf_View_Simple — The Yaf_View_Simple class
    • Yaf_View_Simple::assign — Assign values
    • Yaf_View_Simple::assignRef — The assignRef purpose
    • Yaf_View_Simple::clear — Clear Assigned values
    • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
    • Yaf_View_Simple::display — Render and display
    • Yaf_View_Simple::eval — Render template
    • Yaf_View_Simple::__get — Retrieve assigned variable
    • Yaf_View_Simple::getScriptPath — Get templates directory
    • Yaf_View_Simple::__isset — The __isset purpose
    • Yaf_View_Simple::render — Render template
    • Yaf_View_Simple::__set — Set value to engine
    • Yaf_View_Simple::setScriptPath — Set tempaltes directory
  • Yaf_Loader — The Yaf_Loader class
    • Yaf_Loader::autoload — The autoload purpose
    • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
    • Yaf_Loader::__construct — The __construct purpose
    • Yaf_Loader::getInstance — The getInstance purpose
    • Yaf_Loader::getLibraryPath — Get the library path
    • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
    • Yaf_Loader::getNamespacePath — Retieve path of a registered namespace
    • Yaf_Loader::getLocalNamespace — Retrive all register namespaces info
    • Yaf_Loader::import — The import purpose
    • Yaf_Loader::isLocalName — The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace — Register local class prefix
    • Yaf_Loader::registerNamespace — Register namespace with searching path
    • Yaf_Loader::setLibraryPath — Change the library path
  • Yaf_Plugin_Abstract — The Yaf_Plugin_Abstract class
    • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop
    • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook
  • Yaf_Registry — The Yaf_Registry class
    • Yaf_Registry::__construct — Yaf_Registry implements singleton
    • Yaf_Registry::del — Remove an item from registry
    • Yaf_Registry::get — Retrieve an item from registry
    • Yaf_Registry::has — Check whether an item exists
    • Yaf_Registry::set — Add an item into registry
  • Yaf_Request_Abstract — The Yaf_Request_Abstract class
    • Yaf_Request_Abstract::clearParams — Remove all params
    • Yaf_Request_Abstract::getActionName — The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
    • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException — The getException purpose
    • Yaf_Request_Abstract::getLanguage — Retrieve client's preferred language
    • Yaf_Request_Abstract::getMethod — Retrieve the request method
    • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
    • Yaf_Request_Abstract::getParam — Retrieve calling parameter
    • Yaf_Request_Abstract::getParams — Retrieve all calling parameters
    • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
    • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli — Determine if request is CLI request
    • Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched
    • Yaf_Request_Abstract::isGet — Determine if request is GET request
    • Yaf_Request_Abstract::isHead — Determine if request is HEAD request
    • Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request
    • Yaf_Request_Abstract::isPost — Determine if request is POST request
    • Yaf_Request_Abstract::isPut — Determine if request is PUT request
    • Yaf_Request_Abstract::isRouted — Determin if request has been routed
    • Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request
    • Yaf_Request_Abstract::setActionName — Set action name
    • Yaf_Request_Abstract::setBaseUri — Set base URI
    • Yaf_Request_Abstract::setControllerName — Set controller name
    • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName — Set module name
    • Yaf_Request_Abstract::setParam — Set a calling parameter to a request
    • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted — The setRouted purpose
  • Yaf_Request_Http — The Yaf_Request_Http class
    • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
    • Yaf_Request_Http::get — Retrieve variable from client
    • Yaf_Request_Http::getCookie — Retrieve Cookie variable
    • Yaf_Request_Http::getFiles — The getFiles purpose
    • Yaf_Request_Http::getPost — Retrieve POST variable
    • Yaf_Request_Http::getQuery — Fetch a query parameter
    • Yaf_Request_Http::getRaw — Retrieve Raw request body
    • Yaf_Request_Http::getRequest — The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request
  • Yaf_Request_Simple — The Yaf_Request_Simple class
    • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
    • Yaf_Request_Simple::get — The get purpose
    • Yaf_Request_Simple::getCookie — The getCookie purpose
    • Yaf_Request_Simple::getFiles — The getFiles purpose
    • Yaf_Request_Simple::getPost — The getPost purpose
    • Yaf_Request_Simple::getQuery — The getQuery purpose
    • Yaf_Request_Simple::getRequest — The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request
  • Yaf_Response_Abstract — The Yaf_Response_Abstract class
    • Yaf_Response_Abstract::appendBody — Append to response body
    • Yaf_Response_Abstract::clearBody — Discard all exists response body
    • Yaf_Response_Abstract::clearHeaders — Discard all set headers
    • Yaf_Response_Abstract::__construct — The __construct purpose
    • Yaf_Response_Abstract::__destruct — The __destruct purpose
    • Yaf_Response_Abstract::getBody — Retrieve a exists content
    • Yaf_Response_Abstract::getHeader — The getHeader purpose
    • Yaf_Response_Abstract::prependBody — The prependBody purpose
    • Yaf_Response_Abstract::response — Send response
    • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody — Set content to response
    • Yaf_Response_Abstract::setHeader — Set reponse header
    • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
    • Yaf_Response_Abstract::__toString — Retrieve all bodys as string
  • Yaf_Route_Interface — The Yaf_Route_Interface class
    • Yaf_Route_Interface::assemble — Assemble a request
    • Yaf_Route_Interface::route — Route a request
  • Yaf_Route_Map — The Yaf_Route_Map class
    • Yaf_Route_Map::assemble — Assemble a url
    • Yaf_Route_Map::__construct — The __construct purpose
    • Yaf_Route_Map::route — The route purpose
  • Yaf_Route_Regex — The Yaf_Route_Regex class
    • Yaf_Route_Regex::assemble — Assemble a url
    • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
    • Yaf_Route_Regex::route — The route purpose
  • Yaf_Route_Rewrite — The Yaf_Route_Rewrite class
    • Yaf_Route_Rewrite::assemble — Assemble a url
    • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
    • Yaf_Route_Rewrite::route — The route purpose
  • Yaf_Router — The Yaf_Router class
    • Yaf_Router::addConfig — Add config-defined routes into Router
    • Yaf_Router::addRoute — Add new Route into Router
    • Yaf_Router::__construct — Yaf_Router constructor
    • Yaf_Router::getCurrentRoute — Get the effective route name
    • Yaf_Router::getRoute — Retrieve a route by name
    • Yaf_Router::getRoutes — Retrieve registered routes
    • Yaf_Router::route — The route purpose
  • Yaf_Route_Simple — The Yaf_Route_Simple class
    • Yaf_Route_Simple::assemble — Assemble a url
    • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
    • Yaf_Route_Simple::route — Route a request
  • Yaf_Route_Static — The Yaf_Route_Static class
    • Yaf_Route_Static::assemble — Assemble a url
    • Yaf_Route_Static::match — The match purpose
    • Yaf_Route_Static::route — Route a request
  • Yaf_Route_Supervar — The Yaf_Route_Supervar class
    • Yaf_Route_Supervar::assemble — Assemble a url
    • Yaf_Route_Supervar::__construct — The __construct purpose
    • Yaf_Route_Supervar::route — The route purpose
  • Yaf_Session — The Yaf_Session class
    • Yaf_Session::__construct — Constructor of Yaf_Session
    • Yaf_Session::count — The count purpose
    • Yaf_Session::current — The current purpose
    • Yaf_Session::del — The del purpose
    • Yaf_Session::__get — The __get purpose
    • Yaf_Session::getInstance — The getInstance purpose
    • Yaf_Session::has — The has purpose
    • Yaf_Session::__isset — The __isset purpose
    • Yaf_Session::key — The key purpose
    • Yaf_Session::next — The next purpose
    • Yaf_Session::offsetExists — The offsetExists purpose
    • Yaf_Session::offsetGet — The offsetGet purpose
    • Yaf_Session::offsetSet — The offsetSet purpose
    • Yaf_Session::offsetUnset — The offsetUnset purpose
    • Yaf_Session::rewind — The rewind purpose
    • Yaf_Session::__set — The __set purpose
    • Yaf_Session::start — The start purpose
    • Yaf_Session::__unset — The __unset purpose
    • Yaf_Session::valid — The valid purpose
  • Yaf_Exception — The Yaf_Exception class
    • Yaf_Exception::__construct — The __construct purpose
    • Yaf_Exception::getPrevious — The getPrevious purpose
  • Yaf_Exception_TypeError — The Yaf_Exception_TypeError class
  • Yaf_Exception_StartupError — The Yaf_Exception_StartupError class
  • Yaf_Exception_DispatchFailed — The Yaf_Exception_DispatchFailed class
  • Yaf_Exception_RouterFailed — The Yaf_Exception_RouterFailed class
  • Yaf_Exception_LoadFailed — The Yaf_Exception_LoadFailed class
  • Yaf_Exception_LoadFailed_Module — The Yaf_Exception_LoadFailed_Module class
  • Yaf_Exception_LoadFailed_Controller — The Yaf_Exception_LoadFailed_Controller class
  • Yaf_Exception_LoadFailed_Action — The Yaf_Exception_LoadFailed_Action class
  • Yaf_Exception_LoadFailed_View — The Yaf_Exception_LoadFailed_View class


Giriş

The Yet Another Framework (Yaf) extension is a PHP framework that is used to develop web applications.

A simple Yaf benchmark can be found at » Yaf Performance.

For a quick start guide, please refer to the Tutorials section.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yaf.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Yaf Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
yaf.library |  | PHP_INI_ALL |
yaf.action_prefer | 0 | PHP_INI_ALL |
yaf.lowcase_path | 0 | PHP_INI_ALL |
yaf.use_spl_autoload | 0 | PHP_INI_ALL |
yaf.forward_limit | 5 | PHP_INI_ALL |
yaf.name_suffix | 1 | PHP_INI_ALL |
yaf.name_separator |  | PHP_INI_ALL |
yaf.cache_config | 0 | PHP_INI_SYSTEM |
yaf.environ | product | PHP_INI_SYSTEM |
yaf.use_namespace | 0 | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

yaf.library string

The global library path, Yaf_loader will search global library in this directory.

yaf.action_prefer int

If there is only one part in PATH_INFO, should it consider as a controller or action.

If this configure On, it will be considered as a Action name.

yaf.lowcase_path int

Whether lowercase all the path during the class autoloading.

yaf.use_spl_autoload int

When this value is On, if Yaf_Loader can not find a class, it will return false, then give chance to other auto load function to be called.

When this value is Off, if Yaf_Loader can not find a class, it will return true, and make the class autoloading failed immediately.

Bilginize:

Yaf will register its loader during a instantiation of Yaf_Application, so any other auto loaders which is register before the instantiation will be called before Yaf_Loader::autoload().

When this value is Off(default), Yaf_Loader::autoload() will always return true.

yaf.forward_limit int

The max forward count, default is 5. that means you can have a max value of 5 in the forward stack.

This is a protection for prevent recursive Yaf_Controller_Abstract::forward().

yaf.name_suffix int

When this On, Yaf_Loader will identify a class by it's suffix to decide whether it is a MVC Class.

When this Off, Yaf_Loader will look at the prefix of the class name.

yaf.name_separator string

When this is not empty, Yaf_Loader will identify the class suffix and string value of this.

For example, when this value is "_", Yaf_Loader will take Index_Controller as a Controller Class, IndexController as a normal class.

yaf.cache_config int

If this is On, and in the meantime you are using ini config file as the parameter of Yaf_Application(), the compiling result of the ini config file will be cached in the PHP process.

Bilginize:

Yaf examine the mtime of the ini file, if it was changed since last compiling, Yaf will reload it.

Uyarı

Yaf use the ini file path as the cache entry key, so do use the absolute path in ini file path, otherwise there might be some conflicts if two application use the same relative path of ini config.

yaf.environ string

This value is "product" by default, used for Yaf to fetch the config section of a ini config file.

That is, if this value is "product", Yaf will use the section named "product" in the ini config file(the first parameter of the Yaf_Application) as the final config of the Yaf_Application.

yaf.use_namespace int

If this value is On, All classes of Yaf will named in namespace style.

For example:

Yaf_Route_Rewrite => \Yaf\Route\Rewrite
Yaf_Request_Http  => \Yaf\Request\Http
There is a exception, that is some classes like Yaf_Controller_Abstract. The last component is a keyword of PHP, could not be used as a class name, so for such classes:
Yaf_Controller_Abstract => \Yaf\Controller_Abstract
Yaf_Route_Static => \Yaf\Route_Static


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

YAF_VERSION (string)
YAF_ENVIRON (string)
YAF_ERR_STARTUP_FAILED (int)
YAF_ERR_ROUTE_FAILED (int)
YAF_ERR_DISPATCH_FAILED (int)
YAF_ERR_AUTOLOAD_FAILED (int)
YAF_ERR_NOTFOUND_MODULE (int)
YAF_ERR_NOTFOUND_CONTROLLER (int)
YAF_ERR_NOTFOUND_ACTION (int)
YAF_ERR_NOTFOUND_VIEW (int)
YAF_ERR_CALL_FAILED (int)
YAF_ERR_TYPE_ERROR (int)


Örnekler

Örnek 1 A classic Application directory layout

- index.php
- .htaccess
+ conf
  |- application.ini //application config
- application/
  - Bootstrap.php
  + controllers
     - Index.php //default controller
  + views
     |+ index
        - index.phtml //view template for default action
  + modules
  - library
  - models
  - plugins

Örnek 2 Entry

index.php in the top directory is the only way in of the application, you should rewrite all request to it. (You can use .htaccess in Apache + php_mod)

<?php
define("APPLICATION_PATH", dirname(__FILE__));

$app = new Yaf_Application(APPLICATION_PATH . "/conf/application.ini");
$app->bootstrap() //call bootstrap methods defined in Bootstrap.php
->run();
?>

Örnek 3 Rewrite rule

#for apache (.htaccess)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

#for nginx
server {
  listen ****;
  server_name  domain.com;
  root   document_root;
  index  index.php index.html index.htm;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php$1 last;
  }
}

#for lighttpd
$HTTP["host"] =~ "(www.)?domain.com$" {
  url.rewrite = (
     "^/(.+)/?$"  => "/index.php/$1",
  )
}

Örnek 4 Application config

[yaf]
;APPLICATION_PATH is the constant defined in index.php
application.directory=APPLICATION_PATH "/application/"

;product section inherit from yaf section
[product:yaf]
foo=bar

Örnek 5 Default controller

<?php
class IndexController extends Yaf_Controller_Abstract {
/* default action */
public function indexAction() {
$this->_view->word = "hello world";
//or
// $this->getView()->word = "hello world";
}
}
?>

Örnek 6 Default view template

<html>
<head>
<title>Hello World</title>
</head>
<body>
<?php echo $word;?>
 </body>
</html>

Örnek 7 Run the Application

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<html>
 <head>
   <title>Hello World</title>
 </head>
 <body>
   hello world
 </body>
</html>

Bilginize:

you can also generate above example by use Yaf codes generator, which could be found here yaf@github.


Application Configuration

You should give an array of config or an ini config file(see Yaf_Config_Ini) path to Yaf_Application::__construct().

Yaf will merge the application configurations and user configurations automatically. The application configurations have prefix "yaf." or "application.". If both "yaf." and "application." exist, "application." will be accepted preferentially.

Örnek 1 An PHP array example

<?php
$configs = array(
"application" => array(
"directory" => dirname(__FILE__),
"dispatcher" => array(
"catchException" => 0,
),
"view" => array(
"ext" => "phtml",
),
),
);
$app = new Yaf_Application($configs);
?>

Örnek 2 An ini file example

[yaf]
yaf.directory = APPLICATION_PATH "/appliation"
yaf.dispatcher.catchException = 0

[product : yaf]
; user configuration list here

Yaf Application Config
İsim | Öntanımlı | Sürüm Bilgisi
application.directory |  |
application.ext | "php" |
application.view.ext | "phtml" |
application.modules | "index" |
application.library | application.directory . "/library" |
application.library.directory | application.directory . "/library" |
application.library.namespace | "" |
application.bootstrap | application.directory . "/Bootstrap" . application.ext |
application.baseUri | "" |
application.dispatcher.defaultRoute |  |
application.dispatcher.throwException | 1 |
application.dispatcher.catchException | 0 |
application.dispatcher.defaultModule | "index" |
application.dispatcher.defaultController | "index" |
application.dispatcher.defaultAction | "index" |
application.system |  |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

application.directory string

The directory of the application, that is the folder which contains the "controllers", "views", "models", "plugins" folders.

Bilginize:

This config entry is the only one which doesn't has a default value. You should always define it manually.

application.ext string

The file ext of the PHP script, used in class autoloading( Yaf_Loader).

application.view.ext string

The file ext of the view template scripts.

application.modules string

A comma-separated list of the registered modules, used in the route process, especially while there are more than three segments in the PATH_INFO,

Yaf need a way to find out whether the first segment is a module name or not.

application.library string

The local library directory, see Yaf_Loader and yaf.library.

Bilginize:

After Yaf 2.1.6, this config entry can be an array. The library path will try to use the items setted in application.library.directory

application.library.directory string

Alias of application.library. Introduced in Yaf 2.1.6

application.library.namespace string

A comma-separated prefix of local library namespace.

Introduced in Yaf 2.1.6

application.bootstrap string

A absolute path of the Bootstrap class script.

application.baseUri string

Used to remove a fixed prefix of request uri in route process. Take a example, comes a request with request uri "/prefix/controller/action". if you set application.baseUri to "/prefix", then only "/controller/action" will take as the PATH_INFO in route process.

In generally, there is no need to set this value.

application.dispatcher.throwException bool

If it set to On, Yaf will throw an exception while some error occurring. See also Yaf_Dispatcher::throwException().

application.dispatcher.catchException bool

If it set to On, Yaf will forward to Error controller/Action while there is an unhandled exception. See also Yaf_Dispatcher::catchException().

application.dispatcher.defaultRoute string

The default Route, if it is not specificed, Static route will be used as default. See: Yaf_Router::addRoute().

application.dispatcher.defaultModule string

The default module name, see also Yaf_Dispatcher::setDefaultModule().

application.dispatcher.defaultController string

The default controller name, see also Yaf_Dispatcher::setDefaultController().

application.dispatcher.defaultAction string

The default action name, see also Yaf_Dispatcher::setDefaultAction().

application.system string

Set yaf runtime configure in application.ini, like: application.system.lowcase_path

Bilginize:

only those PHP_INI_ALL configures can be set in this way


The Yaf_Application class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Yaf_Application provides a bootstrapping facility for applications which provides reusable resources, common- and module-based bootstrap classes and dependency checking.

Bilginize:

Yaf_Application implements the singleton pattern, and Yaf_Application can not be serialized or unserialized which will cause problem when you try to use PHPUnit to write some test case for Yaf.

You may use @backupGlobals annotation of PHPUnit to control the backup and restore operations for global variables. thus can solve this problem.

Sınıf Sözdizimi

final class Yaf_Application {
/* Özellikler */
protected $config;
protected $dispatcher;
protected static $_app;
protected $_modules;
protected $_running;
protected $_environ;
/* Yöntemler */
public __construct(mixed $config, string $envrion = ?)
public staticapp(): mixed
public bootstrap(Yaf_Bootstrap_Abstract $bootstrap = ?): void
public clearLastError(): Yaf_Application
public environ(): void
public execute(callable $entry, string ...$args): void
public getAppDirectory(): Yaf_Application
public getConfig(): Yaf_Config_Abstract
public getDispatcher(): Yaf_Dispatcher
public getLastErrorMsg(): string
public getLastErrorNo(): int
public getModules(): array
public run(): void
public setAppDirectory(string $directory): Yaf_Application
public __destruct()
}

Özellikler

config

dispatcher

_app

_modules

_running

_environ

İçindekiler

  • Yaf_Application::app — Retrieve an Application instance
  • Yaf_Application::bootstrap — Call bootstrap
  • Yaf_Application::clearLastError — Clear the last error info
  • Yaf_Application::__construct — Yaf_Application constructor
  • Yaf_Application::__destruct — The __destruct purpose
  • Yaf_Application::environ — Retrive environ
  • Yaf_Application::execute — Execute a callback
  • Yaf_Application::getAppDirectory — Get the application directory
  • Yaf_Application::getConfig — Retrive the config instance
  • Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
  • Yaf_Application::getLastErrorMsg — Get message of the last occurred error
  • Yaf_Application::getLastErrorNo — Get code of last occurred error
  • Yaf_Application::getModules — Get defined module names
  • Yaf_Application::run — Start Yaf_Application
  • Yaf_Application::setAppDirectory — Change the application directory


Retrieve an Application instance

  • « Yaf_Application
  • Yaf_Application::bootstrap »
  • PHP Manual
  • Yaf_Application
  • Retrieve an Application instance

Yaf_Application::app

(Yaf >=1.0.0)

Yaf_Application::app — Retrieve an Application instance

Açıklama

public staticYaf_Application::app(): mixed

Retrieve the Yaf_Application instance. Alternatively, we also could use Yaf_Dispatcher::getApplication().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Yaf_Application instance, if no Yaf_Application was initialized before, null will be returned.

Ayrıca Bakınız

  • Yaf_Dispatcher::getApplication() - Retrieve the application


Call bootstrap

  • « Yaf_Application::app
  • Yaf_Application::clearLastError »
  • PHP Manual
  • Yaf_Application
  • Call bootstrap

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrap — Call bootstrap

Açıklama

public Yaf_Application::bootstrap(Yaf_Bootstrap_Abstract $bootstrap = ?): void

Run a Bootstrap, all the methods defined in the Bootstrap and named with prefix "_init" will be called according to their declaration order, if the parameter bootstrap is not supplied, Yaf will look for a Bootstrap under application.directory.

Bağımsız Değişkenler

bootstrap

A Yaf_Bootstrap_Abstract instance

Dönen Değerler

Yaf_Application instance

Örnekler

Örnek 1 A Bootstrap()example

<?php
/**
* This file should be under the APPLICATION_PATH . "/application/"(which was defined in the config passed to Yaf_Application).
* and named Bootstrap.php, so the Yaf_Application can find it
*/
class Bootstrap extends Yaf_Bootstrap_Abstract {
function _initConfig(Yaf_Dispatcher $dispatcher) {
echo "1st called\n";
}

function _initPlugin($dispatcher) {
echo "2nd called\n";
}
}
?>

Örnek 2 Yaf_Application::bootstrap()example

<?php

defined('APPLICATION_PATH') // APPLICATION_PATH will be used in the ini config file
|| define('APPLICATION_PATH', __DIR__);

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1st called
2nd called

Ayrıca Bakınız

  • Yaf_Bootstrap_Abstract


Clear the last error info

  • « Yaf_Application::bootstrap
  • Yaf_Application::__construct »
  • PHP Manual
  • Yaf_Application
  • Clear the last error info

Yaf_Application::clearLastError

(Yaf >=2.1.2)

Yaf_Application::clearLastError — Clear the last error info

Açıklama

public Yaf_Application::clearLastError(): Yaf_Application

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::clearLastError()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
Yaf_Application::app()->clearLastError();
var_dump(Yaf_Application::app()->getLastErrorNo());
}

$config = array(
"application" => array(
"directory" => "/tmp/notexists",
"dispatcher" => array(
"throwException" => 0, //trigger error instead of throw exception when error occure
),
),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)


Yaf_Application constructor

  • « Yaf_Application::clearLastError
  • Yaf_Application::__destruct »
  • PHP Manual
  • Yaf_Application
  • Yaf_Application constructor

Yaf_Application::__construct

(Yaf >=1.0.0)

Yaf_Application::__construct — Yaf_Application constructor

Açıklama

public Yaf_Application::__construct(mixed $config, string $envrion = ?)

Instance a Yaf_Application.

Bağımsız Değişkenler

config

A ini config file path, or a config array

If is a ini config file, there should be a section named as the one defined by yaf.environ, which is "product" by default.

Bilginize:

If you use a ini configuration file as your applicatioin's config container. you would open the yaf.cache_config to improve performance.

And the config entry(and there default value) list blow:

Örnek 1 A ini config file example

[product]
;this one should alway be defined, and have no default value
application.directory=APPLICATION_PATH

;following configs have default value, you may no need to define them
application.library = APPLICATION_PATH . "/library"
application.dispatcher.throwException=1
application.dispatcher.catchException=1

application.baseUri=""

;the php script ext name
ap.ext=php

;the view template ext name
ap.view.ext=phtml

ap.dispatcher.defaultModule=Index
ap.dispatcher.defaultController=Index
ap.dispatcher.defaultAction=index

;defined modules
ap.modules=Index

envrion

Which section will be loaded as the final config

Dönen Değerler

Örnekler

Örnek 2 Yaf_Application::__construct()example

<?php
defined('APPLICATION_PATH') // APPLICATION_PATH will be used in the ini config file
|| define('APPLICATION_PATH', __DIR__));

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap()->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Örnek 3 Yaf_Application::__construct()example

<?php
$config = array(
    "application" => array(
        "directory" => realpath(dirname(__FILE__)) . "/application",
    ),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->bootstrap()->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yaf_Config_Ini
    •


The __destruct purpose

  • « Yaf_Application::__construct
  • Yaf_Application::environ »
  • PHP Manual
  • Yaf_Application
  • The __destruct purpose

Yaf_Application::__destruct

(Yaf >=1.0.0)

Yaf_Application::__destruct — The __destruct purpose

Açıklama

public Yaf_Application::__destruct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrive environ

  • « Yaf_Application::__destruct
  • Yaf_Application::execute »
  • PHP Manual
  • Yaf_Application
  • Retrive environ

Yaf_Application::environ

(Yaf >=1.0.0)

Yaf_Application::environ — Retrive environ

Açıklama

public Yaf_Application::environ(): void

Retrive environ which was defined in yaf.environ which has a default value "product".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::environ()example

<?php
$config = array(
"application" => array(
"directory" => realpath(dirname(__FILE__)) . "/application",
),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->environ());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

product


Execute a callback

  • « Yaf_Application::environ
  • Yaf_Application::getAppDirectory »
  • PHP Manual
  • Yaf_Application
  • Execute a callback

Yaf_Application::execute

(Yaf >=1.0.0)

Yaf_Application::execute — Execute a callback

Açıklama

public Yaf_Application::execute(callable $entry, string ...$args): void

This method is typically used to run Yaf_Application in a crontab work. Make the crontab work can also use the autoloader and Bootstrap mechanism.

Bağımsız Değişkenler

entry

a valid callback

args

parameters will pass to the callback

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::execute()example

<?php
function main($argc, $argv) {
}

$config = array(
"application" => array(
"directory" => realpath(dirname(__FILE__)) . "/application",
),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
$application->execute("main", $argc, $argv);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:


Get the application directory

  • « Yaf_Application::execute
  • Yaf_Application::getConfig »
  • PHP Manual
  • Yaf_Application
  • Get the application directory

Yaf_Application::getAppDirectory

(Yaf >=2.1.4)

Yaf_Application::getAppDirectory — Get the application directory

Açıklama

public Yaf_Application::getAppDirectory(): Yaf_Application

Bağımsız Değişkenler

directory

Dönen Değerler


Retrive the config instance

  • « Yaf_Application::getAppDirectory
  • Yaf_Application::getDispatcher »
  • PHP Manual
  • Yaf_Application
  • Retrive the config instance

Yaf_Application::getConfig

(Yaf >=1.0.0)

Yaf_Application::getConfig — Retrive the config instance

Açıklama

public Yaf_Application::getConfig(): Yaf_Config_Abstract

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Yaf_Config_Abstract instance

Örnekler

Örnek 1 Yaf_Application::getConfig()example

<?php
$config = array(
"application" => array(
"directory" => realpath(dirname(__FILE__)) . "/application",
),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getConfig());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yaf_Config_Simple Object
(
    [_config:protected] => Array
        (
            [application] => Array
                (
                    [directory] => /home/laruence/local/www/htdocs/application
                )

        )

    [_readonly:protected] => 1
)


Get Yaf_Dispatcher instance

  • « Yaf_Application::getConfig
  • Yaf_Application::getLastErrorMsg »
  • PHP Manual
  • Yaf_Application
  • Get Yaf_Dispatcher instance

Yaf_Application::getDispatcher

(Yaf >=1.0.0)

Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance

Açıklama

public Yaf_Application::getDispatcher(): Yaf_Dispatcher

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::getDispatcher()example

<?php
$config = array(
"application" => array(
"directory" => realpath(dirname(__FILE__)) . "/application",
),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getDispatcher());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yaf_Dispatcher Object
(
    [_router:protected] => Yaf_Router Object
        (
            [_routes:protected] => Array
                (
                    [_default] => Yaf_Route_Static Object
                        (
                        )

                )

            [_current:protected] =>
        )

    [_view:protected] =>
    [_request:protected] => Yaf_Request_Http Object
        (
            [module] =>
            [controller] =>
            [action] =>
            [method] => Cli
            [params:protected] => Array
                (
                )

            [language:protected] =>
            [_exception:protected] =>
            [_base_uri:protected] =>
            [uri:protected] =>
            [dispatched:protected] =>
            [routed:protected] =>
        )

    [_plugins:protected] => Array
        (
        )

    [_auto_render:protected] => 1
    [_return_response:protected] =>
    [_instantly_flush:protected] =>
    [_default_module:protected] => Index
    [_default_controller:protected] => Index
    [_default_action:protected] => index
    [_response] => Yaf_Response_Cli Object
        (
            [_header:protected] => Array
                (
                )

            [_body:protected] =>
            [_sendheader:protected] =>
        )

)


Get message of the last occurred error

  • « Yaf_Application::getDispatcher
  • Yaf_Application::getLastErrorNo »
  • PHP Manual
  • Yaf_Application
  • Get message of the last occurred error

Yaf_Application::getLastErrorMsg

(Yaf >=2.1.2)

Yaf_Application::getLastErrorMsg — Get message of the last occurred error

Açıklama

public Yaf_Application::getLastErrorMsg(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::getLastErrorMsg()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
var_dump(Yaf_Application::app()->getLastErrorMsg());
}

$config = array(
"application" => array(
"directory" => "/tmp/notexists",
"dispatcher" => array(
"throwException" => 0, //trigger error instead of throw exception when error occure
),
),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(69) "Could not find controller script /tmp/notexists/controllers/Index.php"


Get code of last occurred error

  • « Yaf_Application::getLastErrorMsg
  • Yaf_Application::getModules »
  • PHP Manual
  • Yaf_Application
  • Get code of last occurred error

Yaf_Application::getLastErrorNo

(Yaf >=2.1.2)

Yaf_Application::getLastErrorNo — Get code of last occurred error

Açıklama

public Yaf_Application::getLastErrorNo(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::getLastErrorNo()example

<?php
function error_handler($errno, $errstr, $errfile, $errline) {
var_dump(Yaf_Application::app()->getLastErrorNo());
var_dump(Yaf_Application::app()->getLastErrorNo() == YAF_ERR_NOTFOUND_CONTROLLER);
}

$config = array(
"application" => array(
"directory" => "/tmp/notexists",
"dispatcher" => array(
"throwException" => 0, //trigger error instead of throw exception when error occure
),
),
);

$app = new Yaf_Application($config);
$app->getDispatcher()->setErrorHandler("error_handler", E_RECOVERABLE_ERROR);
$app->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(516)
bool(true)


Get defined module names

  • « Yaf_Application::getLastErrorNo
  • Yaf_Application::run »
  • PHP Manual
  • Yaf_Application
  • Get defined module names

Yaf_Application::getModules

(Yaf >=1.0.0)

Yaf_Application::getModules — Get defined module names

Açıklama

public Yaf_Application::getModules(): array

Get the modules list defined in config, if no one defined, there will always be a module named "Index".

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Application::getModules()example

<?php
$config = array(
"application" => array(
"directory" => realpath(dirname(__FILE__)) . "/application",
),
);

/** Yaf_Application */
$application = new Yaf_Application($config);
print_r($application->getModules());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Index
)


Start Yaf_Application

  • « Yaf_Application::getModules
  • Yaf_Application::setAppDirectory »
  • PHP Manual
  • Yaf_Application
  • Start Yaf_Application

Yaf_Application::run

(Yaf >=1.0.0)

Yaf_Application::run — Start Yaf_Application

Açıklama

public Yaf_Application::run(): void

Run a Yaf_Application, let the Yaf_Application accept a request and route this request, dispatch to controller/action and render response. Finally, return the response to the client.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Change the application directory

  • « Yaf_Application::run
  • Yaf_Bootstrap_Abstract »
  • PHP Manual
  • Yaf_Application
  • Change the application directory

Yaf_Application::setAppDirectory

(Yaf >=2.1.4)

Yaf_Application::setAppDirectory — Change the application directory

Açıklama

public Yaf_Application::setAppDirectory(string $directory): Yaf_Application

Bağımsız Değişkenler

directory

Dönen Değerler


The Yaf_Bootstrap_Abstract class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Bootstrap is a mechanism used to do some initial config before a Application run.

User may define their own Bootstrap class by inheriting Yaf_Bootstrap_Abstract

Any method declared in Bootstrap class with leading "_init", will be called by Yaf_Application::bootstrap() one by one according to their defined order.

Örnekler

Örnek 1 Bootstrap example

<?php
/* bootstrap class should be defined under ./application/Bootstrap.php */
class Bootstrap extends Yaf_Bootstrap_Abstract {
public function _initConfig(Yaf_Dispatcher $dispatcher) {
var_dump(__METHOD__);
}
public function _initPlugin(Yaf_Dispatcher $dispatcher) {
var_dump(__METHOD__);
}
}

$config = array(
"application" => array(
"directory" => dirname(__FILE__) . "/application/",
),
);

$app = new Yaf_Application($config);
$app->bootstrap();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(22) "Bootstrap::_initConfig"
string(22) "Bootstrap::_initPlugin"

Sınıf Sözdizimi

abstract class Yaf_Bootstrap_Abstract {
/* Özellikler */
/* Yöntemler */
}


The Yaf_Dispatcher class

(Yaf >=1.0.0)

Giriş

Yaf_Dispatcher purpose is to initialize the request environment, route the incoming request, and then dispatch any discovered actions; it aggregates any responses and returns them when the process is complete.

Yaf_Dispatcher also implements the Singleton pattern, meaning only a single instance of it may be available at any given time. This allows it to also act as a registry on which the other objects in the dispatch process may draw.

Sınıf Sözdizimi

final class Yaf_Dispatcher {
/* Özellikler */
protected $_router;
protected $_view;
protected $_request;
protected $_plugins;
protected static $_instance;
protected $_auto_render;
protected $_return_response;
protected $_instantly_flush;
protected $_default_module;
protected $_default_controller;
protected $_default_action;
/* Yöntemler */
public __construct()
public autoRender(bool $flag = ?): Yaf_Dispatcher
public catchException(bool $flag = ?): Yaf_Dispatcher
public disableView(): bool
public dispatch(Yaf_Request_Abstract $request): Yaf_Response_Abstract
public enableView(): Yaf_Dispatcher
public flushInstantly(bool $flag = ?): Yaf_Dispatcher
public getApplication(): Yaf_Application
public getDefaultAction(): string
public getDefaultController(): string
public getDefaultModule(): string
public static getInstance(): Yaf_Dispatcher
public getRequest(): Yaf_Request_Abstract
public getRouter(): Yaf_Router
public initView(string $templates_dir, array $options = ?): Yaf_View_Interface
public registerPlugin(Yaf_Plugin_Abstract $plugin): Yaf_Dispatcher
public returnResponse(bool $flag): Yaf_Dispatcher
public setDefaultAction(string $action): Yaf_Dispatcher
public setDefaultController(string $controller): Yaf_Dispatcher
public setDefaultModule(string $module): Yaf_Dispatcher
public setErrorHandler(call $callback, int $error_types): Yaf_Dispatcher
public setRequest(Yaf_Request_Abstract $request): Yaf_Dispatcher
public setView(Yaf_View_Interface $view): Yaf_Dispatcher
public throwException(bool $flag = ?): Yaf_Dispatcher
}

Özellikler

_router

_view

_request

_plugins

_instance

_auto_render

_return_response

_instantly_flush

_default_module

_default_controller

_default_action

İçindekiler

  • Yaf_Dispatcher::autoRender — Switch on/off autorendering
  • Yaf_Dispatcher::catchException — Switch on/off exception catching
  • Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor
  • Yaf_Dispatcher::disableView — Disable view rendering
  • Yaf_Dispatcher::dispatch — Dispatch a request
  • Yaf_Dispatcher::enableView — Enable view rendering
  • Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing
  • Yaf_Dispatcher::getApplication — Retrieve the application
  • Yaf_Dispatcher::getDefaultAction — Retrive the default action name
  • Yaf_Dispatcher::getDefaultController — Retrive the default controller name
  • Yaf_Dispatcher::getDefaultModule — Retrive the default module name
  • Yaf_Dispatcher::getInstance — Retrive the dispatcher instance
  • Yaf_Dispatcher::getRequest — Retrive the request instance
  • Yaf_Dispatcher::getRouter — Retrive router instance
  • Yaf_Dispatcher::initView — Initialize view and return it
  • Yaf_Dispatcher::registerPlugin — Register a plugin
  • Yaf_Dispatcher::returnResponse — The returnResponse purpose
  • Yaf_Dispatcher::setDefaultAction — Change default action name
  • Yaf_Dispatcher::setDefaultController — Change default controller name
  • Yaf_Dispatcher::setDefaultModule — Change default module name
  • Yaf_Dispatcher::setErrorHandler — Set error handler
  • Yaf_Dispatcher::setRequest — The setRequest purpose
  • Yaf_Dispatcher::setView — Set a custom view engine
  • Yaf_Dispatcher::throwException — Switch on/off exception throwing


Switch on/off autorendering

  • « Yaf_Dispatcher
  • Yaf_Dispatcher::catchException »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off autorendering

Yaf_Dispatcher::autoRender

(Yaf >=1.0.0)

Yaf_Dispatcher::autoRender — Switch on/off autorendering

Açıklama

public Yaf_Dispatcher::autoRender(bool $flag = ?): Yaf_Dispatcher

Yaf_Dispatcher will render automatically after dispatches a incoming request, you can prevent the rendering by calling this method with flag true

Bilginize:

you can simply return false in a action to prevent the auto-rendering of that action

Bağımsız Değişkenler

flag

bool

Bilginize:

since 2.2.0, if this parameter is not given, then the current state will be returned

Dönen Değerler

Örnekler

Örnek 1 Yaf_Dispatcher::autoRender() example

<?php
class IndexController extends Yaf_Controller_Abstract {
/* init method will be called as soon as a controller is initialized */
public function init() {
if ($this->getRequest()->isXmlHttpRequest()) {
//do not call render for ajax request
//we will outpu a json string
Yaf_Dispatcher::getInstance()->autoRender(FALSE);
}
}

}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:


Switch on/off exception catching

  • « Yaf_Dispatcher::autoRender
  • Yaf_Dispatcher::__construct »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off exception catching

Yaf_Dispatcher::catchException

(Yaf >=1.0.0)

Yaf_Dispatcher::catchException — Switch on/off exception catching

Açıklama

public Yaf_Dispatcher::catchException(bool $flag = ?): Yaf_Dispatcher

While the application.dispatcher.throwException is On(you can also calling to Yaf_Dispatcher::throwException(TRUE)() to enable it), Yaf will throw Exception when error occurs instead of trigger error.

then if you enable Yaf_Dispatcher::catchException()(also can enabled by set application.dispatcher.catchException), all uncaught Exceptions will be caught by ErrorController::error if you have defined one.

Bağımsız Değişkenler

flag

bool

Dönen Değerler

Örnekler

Örnek 1 Yaf_Dispatcher::catchException() example

/* if you defined a ErrorController like following */
<?php
class ErrorController extends Yaf_Controller_Abstract {
/**
* you can also call to Yaf_Request_Abstract::getException to get the
* un-caught exception.
*/
public function errorAction($exception) {
/* error occurs */
switch ($exception->getCode()) {
case YAF_ERR_NOTFOUND_MODULE:
case YAF_ERR_NOTFOUND_CONTROLLER:
case YAF_ERR_NOTFOUND_ACTION:
case YAF_ERR_NOTFOUND_VIEW:
echo 404, ":", $exception->getMessage();
break;
default :
$message = $exception->getMessage();
echo 0, ":", $exception->getMessage();
break;
}
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* now if some error occur, assuming access a non-exists controller(or you can throw a exception yourself): */
404:Could not find controller script **/application/controllers/No-exists-controller.php

Ayrıca Bakınız

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Dispatcher::setErrorHandler() - Set error handler


Yaf_Dispatcher constructor

  • « Yaf_Dispatcher::catchException
  • Yaf_Dispatcher::disableView »
  • PHP Manual
  • Yaf_Dispatcher
  • Yaf_Dispatcher constructor

Yaf_Dispatcher::__construct

(Yaf >=1.0.0)

Yaf_Dispatcher::__construct — Yaf_Dispatcher constructor

Açıklama

public Yaf_Dispatcher::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Disable view rendering

  • « Yaf_Dispatcher::__construct
  • Yaf_Dispatcher::dispatch »
  • PHP Manual
  • Yaf_Dispatcher
  • Disable view rendering

Yaf_Dispatcher::disableView

(Yaf >=1.0.0)

Yaf_Dispatcher::disableView — Disable view rendering

Açıklama

public Yaf_Dispatcher::disableView(): bool

disable view engine, used in some app that user will output by theirself

Bilginize:

you can simply return false in a action to prevent the auto-rendering of that action

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Dispatch a request

  • « Yaf_Dispatcher::disableView
  • Yaf_Dispatcher::enableView »
  • PHP Manual
  • Yaf_Dispatcher
  • Dispatch a request

Yaf_Dispatcher::dispatch

(Yaf >=1.0.0)

Yaf_Dispatcher::dispatch — Dispatch a request

Açıklama

public Yaf_Dispatcher::dispatch(Yaf_Request_Abstract $request): Yaf_Response_Abstract

This method does the heavy work of the Yaf_Dispatcher. It take a request object.

The dispatch process has three distinct events:

  • Routing
  • Dispatching
  • Response
Routing takes place exactly once, using the values in the request object when Yaf_Dispatcher::dispatch() is called. Dispatching takes place in a loop; a request may either indicate multiple actions to dispatch, or the controller or a plugin may reset the request object to force additional actions to dispatch(see Yaf_Plugin_Abstract. When all is done, the Yaf_Dispatcher returns a response.

Bağımsız Değişkenler

request

Dönen Değerler


Enable view rendering

  • « Yaf_Dispatcher::dispatch
  • Yaf_Dispatcher::flushInstantly »
  • PHP Manual
  • Yaf_Dispatcher
  • Enable view rendering

Yaf_Dispatcher::enableView

(Yaf >=1.0.0)

Yaf_Dispatcher::enableView — Enable view rendering

Açıklama

public Yaf_Dispatcher::enableView(): Yaf_Dispatcher

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Switch on/off the instant flushing

  • « Yaf_Dispatcher::enableView
  • Yaf_Dispatcher::getApplication »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off the instant flushing

Yaf_Dispatcher::flushInstantly

(Yaf >=1.0.0)

Yaf_Dispatcher::flushInstantly — Switch on/off the instant flushing

Açıklama

public Yaf_Dispatcher::flushInstantly(bool $flag = ?): Yaf_Dispatcher

Bağımsız Değişkenler

flag

bool

Bilginize:

since 2.2.0, if this parameter is not given, then the current state will be returned

Dönen Değerler


Retrieve the application

  • « Yaf_Dispatcher::flushInstantly
  • Yaf_Dispatcher::getDefaultAction »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrieve the application

Yaf_Dispatcher::getApplication

(Yaf >=1.0.0)

Yaf_Dispatcher::getApplication — Retrieve the application

Açıklama

public Yaf_Dispatcher::getApplication(): Yaf_Application

Retrieve the Yaf_Application instance. same as Yaf_Application::app().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Application::app() - Retrieve an Application instance


Retrive the default action name

  • « Yaf_Dispatcher::getApplication
  • Yaf_Dispatcher::getDefaultController »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default action name

Yaf_Dispatcher::getDefaultAction

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultAction — Retrive the default action name

Açıklama

public Yaf_Dispatcher::getDefaultAction(): string

get the default action name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string, default action name, default is "index"


Retrive the default controller name

  • « Yaf_Dispatcher::getDefaultAction
  • Yaf_Dispatcher::getDefaultModule »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default controller name

Yaf_Dispatcher::getDefaultController

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultController — Retrive the default controller name

Açıklama

public Yaf_Dispatcher::getDefaultController(): string

get the default controller name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string, default controller name, default is "Index"


Retrive the default module name

  • « Yaf_Dispatcher::getDefaultController
  • Yaf_Dispatcher::getInstance »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the default module name

Yaf_Dispatcher::getDefaultModule

(Yaf >=3.2.0)

Yaf_Dispatcher::getDefaultModule — Retrive the default module name

Açıklama

public Yaf_Dispatcher::getDefaultModule(): string

get the default module name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string, module name, default is "Index"


Retrive the dispatcher instance

  • « Yaf_Dispatcher::getDefaultModule
  • Yaf_Dispatcher::getRequest »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the dispatcher instance

Yaf_Dispatcher::getInstance

(Yaf >=1.0.0)

Yaf_Dispatcher::getInstance — Retrive the dispatcher instance

Açıklama

public static Yaf_Dispatcher::getInstance(): Yaf_Dispatcher

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrive the request instance

  • « Yaf_Dispatcher::getInstance
  • Yaf_Dispatcher::getRouter »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive the request instance

Yaf_Dispatcher::getRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::getRequest — Retrive the request instance

Açıklama

public Yaf_Dispatcher::getRequest(): Yaf_Request_Abstract

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrive router instance

  • « Yaf_Dispatcher::getRequest
  • Yaf_Dispatcher::initView »
  • PHP Manual
  • Yaf_Dispatcher
  • Retrive router instance

Yaf_Dispatcher::getRouter

(Yaf >=1.0.0)

Yaf_Dispatcher::getRouter — Retrive router instance

Açıklama

public Yaf_Dispatcher::getRouter(): Yaf_Router

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Initialize view and return it

  • « Yaf_Dispatcher::getRouter
  • Yaf_Dispatcher::registerPlugin »
  • PHP Manual
  • Yaf_Dispatcher
  • Initialize view and return it

Yaf_Dispatcher::initView

(Yaf >=1.0.0)

Yaf_Dispatcher::initView — Initialize view and return it

Açıklama

public Yaf_Dispatcher::initView(string $templates_dir, array $options = ?): Yaf_View_Interface

Bağımsız Değişkenler

templates_dir

options

Dönen Değerler


Register a plugin

  • « Yaf_Dispatcher::initView
  • Yaf_Dispatcher::returnResponse »
  • PHP Manual
  • Yaf_Dispatcher
  • Register a plugin

Yaf_Dispatcher::registerPlugin

(Yaf >=1.0.0)

Yaf_Dispatcher::registerPlugin — Register a plugin

Açıklama

public Yaf_Dispatcher::registerPlugin(Yaf_Plugin_Abstract $plugin): Yaf_Dispatcher

Register a plugin(see Yaf_Plugin_Abstract). Generally, we register plugins in Bootstrap(see Yaf_Bootstrap_Abstract).

Bağımsız Değişkenler

plugin

Dönen Değerler

Örnekler

Örnek 1 Yaf_Dispatcher::registerPlugin() example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {
public function _initPlugin(Yaf_Dispatcher $dispatcher) {
/**
* Yaf assumes plugin scripts under [application.directory] . "/plugins"
* for this case, it will be:
* [application.directory] . "/plugins/" . "User" . [application.ext]
*/
$user = new UserPlugin();
$dispatcher->registerPlugin($user);
}
}
?>

Ayrıca Bakınız

  • Yaf_Plugin_Abstract
  • Yaf_Bootstrap_Abstract


The returnResponse purpose

  • « Yaf_Dispatcher::registerPlugin
  • Yaf_Dispatcher::setDefaultAction »
  • PHP Manual
  • Yaf_Dispatcher
  • The returnResponse purpose

Yaf_Dispatcher::returnResponse

(Yaf >=1.0.0)

Yaf_Dispatcher::returnResponse — The returnResponse purpose

Açıklama

public Yaf_Dispatcher::returnResponse(bool $flag): Yaf_Dispatcher

Bağımsız Değişkenler

flag

Dönen Değerler


Change default action name

  • « Yaf_Dispatcher::returnResponse
  • Yaf_Dispatcher::setDefaultController »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default action name

Yaf_Dispatcher::setDefaultAction

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultAction — Change default action name

Açıklama

public Yaf_Dispatcher::setDefaultAction(string $action): Yaf_Dispatcher

Bağımsız Değişkenler

action

Dönen Değerler


Change default controller name

  • « Yaf_Dispatcher::setDefaultAction
  • Yaf_Dispatcher::setDefaultModule »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default controller name

Yaf_Dispatcher::setDefaultController

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultController — Change default controller name

Açıklama

public Yaf_Dispatcher::setDefaultController(string $controller): Yaf_Dispatcher

Bağımsız Değişkenler

controller

Dönen Değerler


Change default module name

  • « Yaf_Dispatcher::setDefaultController
  • Yaf_Dispatcher::setErrorHandler »
  • PHP Manual
  • Yaf_Dispatcher
  • Change default module name

Yaf_Dispatcher::setDefaultModule

(Yaf >=1.0.0)

Yaf_Dispatcher::setDefaultModule — Change default module name

Açıklama

public Yaf_Dispatcher::setDefaultModule(string $module): Yaf_Dispatcher

Bağımsız Değişkenler

module

Dönen Değerler


Set error handler

  • « Yaf_Dispatcher::setDefaultModule
  • Yaf_Dispatcher::setRequest »
  • PHP Manual
  • Yaf_Dispatcher
  • Set error handler

Yaf_Dispatcher::setErrorHandler

(Yaf >=1.0.0)

Yaf_Dispatcher::setErrorHandler — Set error handler

Açıklama

public Yaf_Dispatcher::setErrorHandler(call $callback, int $error_types): Yaf_Dispatcher

Set error handler for Yaf. when application.dispatcher.throwException is off, Yaf will trigger catchable error while unexpected errors occurred.

Thus, this error handler will be called while the error raise.

Bağımsız Değişkenler

callback

A callable callback

error_types

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Dispatcher::throwException() - Switch on/off exception throwing
  • Yaf_Application::getLastErrorNo() - Get code of last occurred error
  • Yaf_Application::getLastErrorMsg() - Get message of the last occurred error


The setRequest purpose

  • « Yaf_Dispatcher::setErrorHandler
  • Yaf_Dispatcher::setView »
  • PHP Manual
  • Yaf_Dispatcher
  • The setRequest purpose

Yaf_Dispatcher::setRequest

(Yaf >=1.0.0)

Yaf_Dispatcher::setRequest — The setRequest purpose

Açıklama

public Yaf_Dispatcher::setRequest(Yaf_Request_Abstract $request): Yaf_Dispatcher

Bağımsız Değişkenler

plugin

Dönen Değerler


Set a custom view engine

  • « Yaf_Dispatcher::setRequest
  • Yaf_Dispatcher::throwException »
  • PHP Manual
  • Yaf_Dispatcher
  • Set a custom view engine

Yaf_Dispatcher::setView

(Yaf >=1.0.0)

Yaf_Dispatcher::setView — Set a custom view engine

Açıklama

public Yaf_Dispatcher::setView(Yaf_View_Interface $view): Yaf_Dispatcher

This method provides a solution if you want use a custom view engine instead of Yaf_View_Simple

Bağımsız Değişkenler

view

A Yaf_View_Interface instance

Dönen Değerler

Örnekler

Örnek 1 A custom View engine() example

<?php
require "/path/to/smarty/Smarty.class.php";

class Smarty_Adapter implements Yaf_View_Interface
{
/**
* Smarty object
* @var Smarty
*/
public $_smarty;

/**
* Constructor
*
* @param string $tmplPath
* @param array $extraParams
* @return void
*/
public function __construct($tmplPath = null, $extraParams = array()) {
$this->_smarty = new Smarty;

if (null !== $tmplPath) {
$this->setScriptPath($tmplPath);
}

foreach ($extraParams as $key => $value) {
$this->_smarty->$key = $value;
}
}

/**
* Set the path to the templates
*
* @param string $path The directory to set as the path.
* @return void
*/
public function setScriptPath($path)
{
if (is_readable($path)) {
$this->_smarty->template_dir = $path;
return;
}

throw new Exception('Invalid path provided');
}

/**
* Assign a variable to the template
*
* @param string $key The variable name.
* @param mixed $val The variable value.
* @return void
*/
public function __set($key, $val)
{
$this->_smarty->assign($key, $val);
}

/**
* Allows testing with empty() and isset() to work
*
* @param string $key
* @return boolean
*/
public function __isset($key)
{
return (null !== $this->_smarty->get_template_vars($key));
}

/**
* Allows unset() on object properties to work
*
* @param string $key
* @return void
*/
public function __unset($key)
{
$this->_smarty->clear_assign($key);
}

/**
* Assign variables to the template
*
* Allows setting a specific key to the specified value, OR passing
* an array of key => value pairs to set en masse.
*
* @see __set()
* @param string|array $spec The assignment strategy to use (key or
* array of key => value pairs)
* @param mixed $value (Optional) If assigning a named variable,
* use this as the value.
* @return void
*/
public function assign($spec, $value = null) {
if (is_array($spec)) {
$this->_smarty->assign($spec);
return;
}

$this->_smarty->assign($spec, $value);
}

/**
* Clear all assigned variables
*
* Clears all variables assigned to Yaf_View either via
* {@link assign()} or property overloading
* ({@link __get()}/{@link __set()}).
*
* @return void
*/
public function clearVars() {
$this->_smarty->clear_all_assign();
}

/**
* Processes a template and returns the output.
*
* @param string $name The template to process.
* @return string The output.
*/
public function render($name, $value = NULL) {
return $this->_smarty->fetch($name);
}

public function display($name, $value = NULL) {
echo $this->_smarty->fetch($name);
}

}
?>

Örnek 2 Yaf_Dispatcher::setView() example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract {

/**
* there are some config for smarty in the config:
*
* smarty.left_delimiter = "{{"
* smarty.right_delimiter = "}}"
* smarty.template_dir = APPLICATION_PATH "/views/scripts/"
* smarty.compile_dir = APPLICATION_PATH "/views/templates_c/"
* smarty.cache_dir = APPLICATION_PATH "/views/templates_d/"
*
*/
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}

public function _initLocalName() {
/** we put class Smarty_Adapter under the local library directory */
Yaf_Loader::getInstance()->registerLocalNamespace('Smarty');
}

public function _initSmarty(Yaf_Dispatcher $dispatcher) {
$smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty"));
$dispatcher->setView($smarty);
/* now the Smarty view engine become the default view engine of Yaf */
}
}
?>

Ayrıca Bakınız

  • Yaf_View_Interface
  • Yaf_View_Simple


Switch on/off exception throwing

  • « Yaf_Dispatcher::setView
  • Yaf_Config_Abstract »
  • PHP Manual
  • Yaf_Dispatcher
  • Switch on/off exception throwing

Yaf_Dispatcher::throwException

(Yaf >=1.0.0)

Yaf_Dispatcher::throwException — Switch on/off exception throwing

Açıklama

public Yaf_Dispatcher::throwException(bool $flag = ?): Yaf_Dispatcher

Switch on/off exception throwing while unexpected error occurring. When this is on, Yaf will throwing exceptions instead of triggering catchable errors.

You can also use application.dispatcher.throwException to achieve the same purpose.

Bağımsız Değişkenler

flag

bool

Dönen Değerler

Örnekler

Örnek 1 Yaf_Dispatcher::throwexception() example

<?php

$config = array(
'application' => array(
'directory' => dirname(__FILE__),
),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(true);

try {
$app->run();
} catch (Yaf_Exception $e) {
var_dump($e->getMessage());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(59) "Could not find controller script /tmp/controllers/Index.php"

Örnek 2 Yaf_Dispatcher::throwexception()example

<?php

$config = array(
'application' => array(
'directory' => dirname(__FILE__),
),
);
$app = new Yaf_Application($config);

$app->getDispatcher()->throwException(false);

$app->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

PHP Catchable fatal error:  Yaf_Application::run(): Could not find controller script /tmp/controllers/Index.php in /tmp/1.php on line 12

Ayrıca Bakınız

  • Yaf_Dispatcher::catchException() - Switch on/off exception catching
  • Yaf_Exception


The Yaf_Config_Abstract class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

abstract class Yaf_Config_Abstract {
/* Özellikler */
protected $_config;
protected $_readonly;
/* Yöntemler */
abstract public get(string $name, mixed $value): mixed
abstract public readonly(): bool
abstract public set(): Yaf_Config_Abstract
abstract public toArray(): array
}

Özellikler

_config

_readonly

İçindekiler

  • Yaf_Config_Abstract::get — Getter
  • Yaf_Config_Abstract::readonly — Find a config whether readonly
  • Yaf_Config_Abstract::set — Setter
  • Yaf_Config_Abstract::toArray — Cast to array


Getter

  • « Yaf_Config_Abstract
  • Yaf_Config_Abstract::readonly »
  • PHP Manual
  • Yaf_Config_Abstract
  • Getter

Yaf_Config_Abstract::get

(Yaf >=1.0.0)

Yaf_Config_Abstract::get — Getter

Açıklama

abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Find a config whether readonly

  • « Yaf_Config_Abstract::get
  • Yaf_Config_Abstract::set »
  • PHP Manual
  • Yaf_Config_Abstract
  • Find a config whether readonly

Yaf_Config_Abstract::readonly

(Yaf >=1.0.0)

Yaf_Config_Abstract::readonly — Find a config whether readonly

Açıklama

abstract public Yaf_Config_Abstract::readonly(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Setter

  • « Yaf_Config_Abstract::readonly
  • Yaf_Config_Abstract::toArray »
  • PHP Manual
  • Yaf_Config_Abstract
  • Setter

Yaf_Config_Abstract::set

(Yaf >=1.0.0)

Yaf_Config_Abstract::set — Setter

Açıklama

abstract public Yaf_Config_Abstract::set(): Yaf_Config_Abstract

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Cast to array

  • « Yaf_Config_Abstract::set
  • Yaf_Config_Ini »
  • PHP Manual
  • Yaf_Config_Abstract
  • Cast to array

Yaf_Config_Abstract::toArray

(Yaf >=1.0.0)

Yaf_Config_Abstract::toArray — Cast to array

Açıklama

abstract public Yaf_Config_Abstract::toArray(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Config_Ini class

(Yaf >=1.0.0)

Giriş

Yaf_Config_Ini enables developers to store configuration data in a familiar INI format and read them in the application by using nested object property syntax. The INI format is specialized to provide both the ability to have a hierarchy of configuration data keys and inheritance between configuration data sections. Configuration data hierarchies are supported by separating the keys with the dot or period character ("."). A section may extend or inherit from another section by following the section name with a colon character (":") and the name of the section from which data are to be inherited.

Bilginize:

Yaf_Config_Ini utilizes the » parse_ini_file() PHP function. Please review this documentation to be aware of its specific behaviors, which propagate to Yaf_Config_Ini, such as how the special values of "true", "false", "yes", "no", and "null" are handled.

Sınıf Sözdizimi

class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
/* Özellikler */
/* Yöntemler */
public __construct(string $config_file, string $section = ?)
public count(): void
public current(): void
public __get(string $name = ?): void
public __isset(string $name): void
public key(): void
public next(): void
public offsetExists(string $name): void
public offsetGet(string $name): void
public offsetSet(string $name, string $value): void
public offsetUnset(string $name): void
public readonly(): void
public rewind(): void
public __set(string $name, mixed $value): void
public toArray(): array
public valid(): void
/* Miras alınan yöntemler */
abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
abstract public Yaf_Config_Abstract::readonly(): bool
abstract public Yaf_Config_Abstract::set(): Yaf_Config_Abstract
abstract public Yaf_Config_Abstract::toArray(): array
}

Özellikler

_config

_readonly

Örnekler

Örnek 1 Yaf_Config_Ini()example

This example illustrates a basic use of Yaf_Config_Ini for loading configuration data from an INI file. In this example there are configuration data for both a production system and for a staging system. Because the staging system configuration data are very similar to those for production, the staging section inherits from the production section. In this case, the decision is arbitrary and could have been written conversely, with the production section inheriting from the staging section, though this may not be the case for more complex situations. Suppose, then, that the following configuration data are contained in /path/to/config.ini:

; Production site configuration data
[production]
webhost                  = www.example.com
database.adapter         = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.dbname   = dbname

; Staging site configuration data inherits from production and
; overrides values as necessary
[staging : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret
<?php
$config = new Yaf_Config_Ini('/path/to/config.ini', 'staging');

var_dump($config->database->params->host);
var_dump($config->database->params->dbname);
var_dump($config->get("database.params.username"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(15) "dev.example.com"
string(6) "dbname"
string(7) "devuser

İçindekiler

  • Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor
  • Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini
  • Yaf_Config_Ini::current — Retrieve the current value
  • Yaf_Config_Ini::__get — Retrieve a element
  • Yaf_Config_Ini::__isset — Determine if a key is exists
  • Yaf_Config_Ini::key — Fetch current element's key
  • Yaf_Config_Ini::next — Advance the internal pointer
  • Yaf_Config_Ini::offsetExists — The offsetExists purpose
  • Yaf_Config_Ini::offsetGet — The offsetGet purpose
  • Yaf_Config_Ini::offsetSet — The offsetSet purpose
  • Yaf_Config_Ini::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Ini::readonly — The readonly purpose
  • Yaf_Config_Ini::rewind — The rewind purpose
  • Yaf_Config_Ini::__set — The __set purpose
  • Yaf_Config_Ini::toArray — Return config as a PHP array
  • Yaf_Config_Ini::valid — The valid purpose


Yaf_Config_Ini constructor

  • « Yaf_Config_Ini
  • Yaf_Config_Ini::count »
  • PHP Manual
  • Yaf_Config_Ini
  • Yaf_Config_Ini constructor

Yaf_Config_Ini::__construct

(Yaf >=1.0.0)

Yaf_Config_Ini::__construct — Yaf_Config_Ini constructor

Açıklama

public Yaf_Config_Ini::__construct(string $config_file, string $section = ?)

Yaf_Config_Ini constructor

Bağımsız Değişkenler

config_file

path to an INI configure file

section

which section in that INI file you want to be parsed

Dönen Değerler


Count all elements in Yaf_Config.ini

  • « Yaf_Config_Ini::__construct
  • Yaf_Config_Ini::current »
  • PHP Manual
  • Yaf_Config_Ini
  • Count all elements in Yaf_Config.ini

Yaf_Config_Ini::count

(Yaf >=1.0.0)

Yaf_Config_Ini::count — Count all elements in Yaf_Config.ini

Açıklama

public Yaf_Config_Ini::count(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve the current value

  • « Yaf_Config_Ini::count
  • Yaf_Config_Ini::__get »
  • PHP Manual
  • Yaf_Config_Ini
  • Retrieve the current value

Yaf_Config_Ini::current

(Yaf >=1.0.0)

Yaf_Config_Ini::current — Retrieve the current value

Açıklama

public Yaf_Config_Ini::current(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve a element

  • « Yaf_Config_Ini::current
  • Yaf_Config_Ini::__isset »
  • PHP Manual
  • Yaf_Config_Ini
  • Retrieve a element

Yaf_Config_Ini::__get

(Yaf >=1.0.0)

Yaf_Config_Ini::__get — Retrieve a element

Açıklama

public Yaf_Config_Ini::__get(string $name = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


Determine if a key is exists

  • « Yaf_Config_Ini::__get
  • Yaf_Config_Ini::key »
  • PHP Manual
  • Yaf_Config_Ini
  • Determine if a key is exists

Yaf_Config_Ini::__isset

(Yaf >=1.0.0)

Yaf_Config_Ini::__isset — Determine if a key is exists

Açıklama

public Yaf_Config_Ini::__isset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


Fetch current element's key

  • « Yaf_Config_Ini::__isset
  • Yaf_Config_Ini::next »
  • PHP Manual
  • Yaf_Config_Ini
  • Fetch current element's key

Yaf_Config_Ini::key

(Yaf >=1.0.0)

Yaf_Config_Ini::key — Fetch current element's key

Açıklama

public Yaf_Config_Ini::key(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Advance the internal pointer

  • « Yaf_Config_Ini::key
  • Yaf_Config_Ini::offsetExists »
  • PHP Manual
  • Yaf_Config_Ini
  • Advance the internal pointer

Yaf_Config_Ini::next

(Yaf >=1.0.0)

Yaf_Config_Ini::next — Advance the internal pointer

Açıklama

public Yaf_Config_Ini::next(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The offsetExists purpose

  • « Yaf_Config_Ini::next
  • Yaf_Config_Ini::offsetGet »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetExists purpose

Yaf_Config_Ini::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetExists — The offsetExists purpose

Açıklama

public Yaf_Config_Ini::offsetExists(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetGet purpose

  • « Yaf_Config_Ini::offsetExists
  • Yaf_Config_Ini::offsetSet »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetGet purpose

Yaf_Config_Ini::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetGet — The offsetGet purpose

Açıklama

public Yaf_Config_Ini::offsetGet(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetSet purpose

  • « Yaf_Config_Ini::offsetGet
  • Yaf_Config_Ini::offsetUnset »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetSet purpose

Yaf_Config_Ini::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetSet — The offsetSet purpose

Açıklama

public Yaf_Config_Ini::offsetSet(string $name, string $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


The offsetUnset purpose

  • « Yaf_Config_Ini::offsetSet
  • Yaf_Config_Ini::readonly »
  • PHP Manual
  • Yaf_Config_Ini
  • The offsetUnset purpose

Yaf_Config_Ini::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Ini::offsetUnset — The offsetUnset purpose

Açıklama

public Yaf_Config_Ini::offsetUnset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The readonly purpose

  • « Yaf_Config_Ini::offsetUnset
  • Yaf_Config_Ini::rewind »
  • PHP Manual
  • Yaf_Config_Ini
  • The readonly purpose

Yaf_Config_Ini::readonly

(Yaf >=1.0.0)

Yaf_Config_Ini::readonly — The readonly purpose

Açıklama

public Yaf_Config_Ini::readonly(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The rewind purpose

  • « Yaf_Config_Ini::readonly
  • Yaf_Config_Ini::__set »
  • PHP Manual
  • Yaf_Config_Ini
  • The rewind purpose

Yaf_Config_Ini::rewind

(Yaf >=1.0.0)

Yaf_Config_Ini::rewind — The rewind purpose

Açıklama

public Yaf_Config_Ini::rewind(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __set purpose

  • « Yaf_Config_Ini::rewind
  • Yaf_Config_Ini::toArray »
  • PHP Manual
  • Yaf_Config_Ini
  • The __set purpose

Yaf_Config_Ini::__set

(Yaf >=1.0.0)

Yaf_Config_Ini::__set — The __set purpose

Açıklama

public Yaf_Config_Ini::__set(string $name, mixed $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


Return config as a PHP array

  • « Yaf_Config_Ini::__set
  • Yaf_Config_Ini::valid »
  • PHP Manual
  • Yaf_Config_Ini
  • Return config as a PHP array

Yaf_Config_Ini::toArray

(Yaf >=1.0.0)

Yaf_Config_Ini::toArray — Return config as a PHP array

Açıklama

public Yaf_Config_Ini::toArray(): array

Returns a PHP array from the Yaf_Config_Ini

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The valid purpose

  • « Yaf_Config_Ini::toArray
  • Yaf_Config_Simple »
  • PHP Manual
  • Yaf_Config_Ini
  • The valid purpose

Yaf_Config_Ini::valid

(Yaf >=1.0.0)

Yaf_Config_Ini::valid — The valid purpose

Açıklama

public Yaf_Config_Ini::valid(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Config_Simple class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
/* Özellikler */
protected $_readonly;
/* Yöntemler */
public __construct(array $configs, bool $readonly = false)
public count(): void
public current(): void
public __get(string $name = ?): void
public __isset(string $name): void
public key(): void
public next(): void
public offsetExists(string $name): void
public offsetGet(string $name): void
public offsetSet(string $name, string $value): void
public offsetUnset(string $name): void
public readonly(): void
public rewind(): void
public __set(string $name, string $value): void
public toArray(): array
public valid(): void
/* Miras alınan yöntemler */
abstract public Yaf_Config_Abstract::get(string $name, mixed $value): mixed
abstract public Yaf_Config_Abstract::readonly(): bool
abstract public Yaf_Config_Abstract::set(): Yaf_Config_Abstract
abstract public Yaf_Config_Abstract::toArray(): array
}

Özellikler

_config

_readonly

İçindekiler

  • Yaf_Config_Simple::__construct — The __construct purpose
  • Yaf_Config_Simple::count — The count purpose
  • Yaf_Config_Simple::current — The current purpose
  • Yaf_Config_Simple::__get — The __get purpose
  • Yaf_Config_Simple::__isset — The __isset purpose
  • Yaf_Config_Simple::key — The key purpose
  • Yaf_Config_Simple::next — The next purpose
  • Yaf_Config_Simple::offsetExists — The offsetExists purpose
  • Yaf_Config_Simple::offsetGet — The offsetGet purpose
  • Yaf_Config_Simple::offsetSet — The offsetSet purpose
  • Yaf_Config_Simple::offsetUnset — The offsetUnset purpose
  • Yaf_Config_Simple::readonly — The readonly purpose
  • Yaf_Config_Simple::rewind — The rewind purpose
  • Yaf_Config_Simple::__set — The __set purpose
  • Yaf_Config_Simple::toArray — Returns a PHP array
  • Yaf_Config_Simple::valid — The valid purpose


The __construct purpose

  • « Yaf_Config_Simple
  • Yaf_Config_Simple::count »
  • PHP Manual
  • Yaf_Config_Simple
  • The __construct purpose

Yaf_Config_Simple::__construct

(Yaf >=1.0.0)

Yaf_Config_Simple::__construct — The __construct purpose

Açıklama

public Yaf_Config_Simple::__construct(array $configs, bool $readonly = false)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

configs

readonly

Dönen Değerler


The count purpose

  • « Yaf_Config_Simple::__construct
  • Yaf_Config_Simple::current »
  • PHP Manual
  • Yaf_Config_Simple
  • The count purpose

Yaf_Config_Simple::count

(Yaf >=1.0.0)

Yaf_Config_Simple::count — The count purpose

Açıklama

public Yaf_Config_Simple::count(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The current purpose

  • « Yaf_Config_Simple::count
  • Yaf_Config_Simple::__get »
  • PHP Manual
  • Yaf_Config_Simple
  • The current purpose

Yaf_Config_Simple::current

(Yaf >=1.0.0)

Yaf_Config_Simple::current — The current purpose

Açıklama

public Yaf_Config_Simple::current(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __get purpose

  • « Yaf_Config_Simple::current
  • Yaf_Config_Simple::__isset »
  • PHP Manual
  • Yaf_Config_Simple
  • The __get purpose

Yaf_Config_Simple::__get

(Yaf >=1.0.0)

Yaf_Config_Simple::__get — The __get purpose

Açıklama

public Yaf_Config_Simple::__get(string $name = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The __isset purpose

  • « Yaf_Config_Simple::__get
  • Yaf_Config_Simple::key »
  • PHP Manual
  • Yaf_Config_Simple
  • The __isset purpose

Yaf_Config_Simple::__isset

(Yaf >=1.0.0)

Yaf_Config_Simple::__isset — The __isset purpose

Açıklama

public Yaf_Config_Simple::__isset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The key purpose

  • « Yaf_Config_Simple::__isset
  • Yaf_Config_Simple::next »
  • PHP Manual
  • Yaf_Config_Simple
  • The key purpose

Yaf_Config_Simple::key

(Yaf >=1.0.0)

Yaf_Config_Simple::key — The key purpose

Açıklama

public Yaf_Config_Simple::key(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The next purpose

  • « Yaf_Config_Simple::key
  • Yaf_Config_Simple::offsetExists »
  • PHP Manual
  • Yaf_Config_Simple
  • The next purpose

Yaf_Config_Simple::next

(Yaf >=1.0.0)

Yaf_Config_Simple::next — The next purpose

Açıklama

public Yaf_Config_Simple::next(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The offsetExists purpose

  • « Yaf_Config_Simple::next
  • Yaf_Config_Simple::offsetGet »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetExists purpose

Yaf_Config_Simple::offsetExists

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetExists — The offsetExists purpose

Açıklama

public Yaf_Config_Simple::offsetExists(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetGet purpose

  • « Yaf_Config_Simple::offsetExists
  • Yaf_Config_Simple::offsetSet »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetGet purpose

Yaf_Config_Simple::offsetGet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetGet — The offsetGet purpose

Açıklama

public Yaf_Config_Simple::offsetGet(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetSet purpose

  • « Yaf_Config_Simple::offsetGet
  • Yaf_Config_Simple::offsetUnset »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetSet purpose

Yaf_Config_Simple::offsetSet

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetSet — The offsetSet purpose

Açıklama

public Yaf_Config_Simple::offsetSet(string $name, string $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


The offsetUnset purpose

  • « Yaf_Config_Simple::offsetSet
  • Yaf_Config_Simple::readonly »
  • PHP Manual
  • Yaf_Config_Simple
  • The offsetUnset purpose

Yaf_Config_Simple::offsetUnset

(Yaf >=1.0.0)

Yaf_Config_Simple::offsetUnset — The offsetUnset purpose

Açıklama

public Yaf_Config_Simple::offsetUnset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The readonly purpose

  • « Yaf_Config_Simple::offsetUnset
  • Yaf_Config_Simple::rewind »
  • PHP Manual
  • Yaf_Config_Simple
  • The readonly purpose

Yaf_Config_Simple::readonly

(Yaf >=1.0.0)

Yaf_Config_Simple::readonly — The readonly purpose

Açıklama

public Yaf_Config_Simple::readonly(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The rewind purpose

  • « Yaf_Config_Simple::readonly
  • Yaf_Config_Simple::__set »
  • PHP Manual
  • Yaf_Config_Simple
  • The rewind purpose

Yaf_Config_Simple::rewind

(Yaf >=1.0.0)

Yaf_Config_Simple::rewind — The rewind purpose

Açıklama

public Yaf_Config_Simple::rewind(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __set purpose

  • « Yaf_Config_Simple::rewind
  • Yaf_Config_Simple::toArray »
  • PHP Manual
  • Yaf_Config_Simple
  • The __set purpose

Yaf_Config_Simple::__set

(Yaf >=1.0.0)

Yaf_Config_Simple::__set — The __set purpose

Açıklama

public Yaf_Config_Simple::__set(string $name, string $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


Returns a PHP array

  • « Yaf_Config_Simple::__set
  • Yaf_Config_Simple::valid »
  • PHP Manual
  • Yaf_Config_Simple
  • Returns a PHP array

Yaf_Config_Simple::toArray

(Yaf >=1.0.0)

Yaf_Config_Simple::toArray — Returns a PHP array

Açıklama

public Yaf_Config_Simple::toArray(): array

Returns a PHP array from the Yaf_Config_Simple

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The valid purpose

  • « Yaf_Config_Simple::toArray
  • Yaf_Controller_Abstract »
  • PHP Manual
  • Yaf_Config_Simple
  • The valid purpose

Yaf_Config_Simple::valid

(Yaf >=1.0.0)

Yaf_Config_Simple::valid — The valid purpose

Açıklama

public Yaf_Config_Simple::valid(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Controller_Abstract class

(Yaf >=1.0.0)

Giriş

Yaf_Controller_Abstract is the heart of Yaf's system. MVC stands for Model-View-Controller and is a design pattern targeted at separating application logic from display logic.

Every custom controller shall inherit Yaf_Controller_Abstract.

You will find that you can not define __construct function for your custom controller, thus, Yaf_Controller_Abstract provides a magic method: Yaf_Controller_Abstract::init().

If you have defined a init() method in your custom controller, it will be called as long as the controller was instantiated.

Action may have arguments, when a request coming, if there are the same name variable in the request parameters(see Yaf_Request_Abstract::getParam()) after routed, Yaf will pass them to the action method (see Yaf_Action_Abstract::execute()).

Bilginize:

These arguments are directly fetched without filtering, it should be carefully processed before use them.

Sınıf Sözdizimi

abstract class Yaf_Controller_Abstract {
/* Özellikler */
public $actions;
protected $_module;
protected $_name;
protected $_request;
protected $_response;
protected $_invoke_args;
protected $_view;
/* Yöntemler */
final private __construct()
protected display(string $tpl, array $parameters = ?): bool
public forward(string $action, array $paramters = ?): bool
public getInvokeArg(string $name): void
public getInvokeArgs(): void
public getModuleName(): string
public getName(): string
public getRequest(): Yaf_Request_Abstract
public getResponse(): Yaf_Response_Abstract
public getView(): Yaf_View_Interface
public getViewpath(): string
public init(): void
public initView(array $options = ?): void
public redirect(string $url): bool
protected render(string $tpl, array $parameters = ?): string
public setViewpath(string $view_directory): void
}

Özellikler

actions

You can also define an action method in a separate PHP script by using this property and Yaf_Action_Abstract.

Örnek 1 define action in a separate file

<?php
class IndexController extends Yaf_Controller_Abstract {
protected $actions = array(
/** now dummyAction is defined in a separate file */
"dummy" => "actions/Dummy_action.php",
);

/* action method may have arguments */
public function indexAction($name, $id) {
/* $name and $id are unsafe raw data */
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->_request->getParam("id"));
}
}
?>

Örnek 2 Dummy_action.php

<?php
class DummyAction extends Yaf_Action_Abstract {
/* an action class shall define this method as the entry point */
public function execute() {
}
}
?>

_module

module name

_name

controller name

_request

current request object

_response

current response object

_invoke_args

_view

view engine object

İçindekiler

  • Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor
  • Yaf_Controller_Abstract::display — The display purpose
  • Yaf_Controller_Abstract::forward — Forward to another action
  • Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose
  • Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose
  • Yaf_Controller_Abstract::getModuleName — Get module name
  • Yaf_Controller_Abstract::getName — Get self name
  • Yaf_Controller_Abstract::getRequest — Retrieve current request object
  • Yaf_Controller_Abstract::getResponse — Retrieve current response object
  • Yaf_Controller_Abstract::getView — Retrieve the view engine
  • Yaf_Controller_Abstract::getViewpath — The getViewpath purpose
  • Yaf_Controller_Abstract::init — Controller initializer
  • Yaf_Controller_Abstract::initView — The initView purpose
  • Yaf_Controller_Abstract::redirect — Redirect to a URL
  • Yaf_Controller_Abstract::render — Render view template
  • Yaf_Controller_Abstract::setViewpath — The setViewpath purpose


Yaf_Controller_Abstract constructor

  • « Yaf_Controller_Abstract
  • Yaf_Controller_Abstract::display »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Yaf_Controller_Abstract constructor

Yaf_Controller_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Controller_Abstract::__construct — Yaf_Controller_Abstract constructor

Açıklama

final private Yaf_Controller_Abstract::__construct()

Yaf_Controller_Abstract::__construct() is final, which means it can not be overridden. You may want to see Yaf_Controller_Abstract::init() instead.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Controller_Abstract::init() - Controller initializer


The display purpose

  • « Yaf_Controller_Abstract::__construct
  • Yaf_Controller_Abstract::forward »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The display purpose

Yaf_Controller_Abstract::display

(Yaf >=1.0.0)

Yaf_Controller_Abstract::display — The display purpose

Açıklama

protected Yaf_Controller_Abstract::display(string $tpl, array $parameters = ?): bool

Bağımsız Değişkenler

tpl

parameters

Dönen Değerler


Forward to another action

  • « Yaf_Controller_Abstract::display
  • Yaf_Controller_Abstract::getInvokeArg »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Forward to another action

Yaf_Controller_Abstract::forward

(Yaf >=1.0.0)

Yaf_Controller_Abstract::forward — Forward to another action

Açıklama

public Yaf_Controller_Abstract::forward(string $action, array $paramters = ?): bool
public Yaf_Controller_Abstract::forward(string $controller, string $action, array $paramters = ?): bool
public Yaf_Controller_Abstract::forward(
string $module,
string $controller,
string $action,
array $paramters = ?
): bool

forward current execution process to other action.

Bilginize:

this method doesn't switch to the destination action immediately, it will take place after current flow finish.

Bağımsız Değişkenler

module

destination module name, if NULL was given, then default module name is assumed

controller

destination controller name

action

destination action name

paramters

calling arguments

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Yaf_Controller_Abstract::forward()example

<?php
class IndexController extends Yaf_Controller_Abstract
{
public function indexAction(){
$logined = $_SESSION["login"];
if (!$logined) {
$this->forward("login", array("from" => "Index")); // forward to login action
return FALSE; // this is important, this finish current working flow
// and tell the Yaf do not doing auto-render
}

// other processes
}

public function loginAction() {
echo "login, redirected from ", $this->_request->getParam("from") , " action";
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

   login, redirected from Index action

Ayrıca Bakınız

  • Yaf_Request_Abstrace::getParam()


The getInvokeArg purpose

  • « Yaf_Controller_Abstract::forward
  • Yaf_Controller_Abstract::getInvokeArgs »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getInvokeArg purpose

Yaf_Controller_Abstract::getInvokeArg

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArg — The getInvokeArg purpose

Açıklama

public Yaf_Controller_Abstract::getInvokeArg(string $name): void

Bağımsız Değişkenler

name

Dönen Değerler


The getInvokeArgs purpose

  • « Yaf_Controller_Abstract::getInvokeArg
  • Yaf_Controller_Abstract::getModuleName »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getInvokeArgs purpose

Yaf_Controller_Abstract::getInvokeArgs

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getInvokeArgs — The getInvokeArgs purpose

Açıklama

public Yaf_Controller_Abstract::getInvokeArgs(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get module name

  • « Yaf_Controller_Abstract::getInvokeArgs
  • Yaf_Controller_Abstract::getName »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Get module name

Yaf_Controller_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getModuleName — Get module name

Açıklama

public Yaf_Controller_Abstract::getModuleName(): string

get the controller's module name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get self name

  • « Yaf_Controller_Abstract::getModuleName
  • Yaf_Controller_Abstract::getRequest »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Get self name

Yaf_Controller_Abstract::getName

(Yaf >=3.2.0)

Yaf_Controller_Abstract::getName — Get self name

Açıklama

public Yaf_Controller_Abstract::getName(): string

get the controller's name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string, controller name


Retrieve current request object

  • « Yaf_Controller_Abstract::getName
  • Yaf_Controller_Abstract::getResponse »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve current request object

Yaf_Controller_Abstract::getRequest

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getRequest — Retrieve current request object

Açıklama

public Yaf_Controller_Abstract::getRequest(): Yaf_Request_Abstract

retrieve current request object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yaf_Request_Abstract instance


Retrieve current response object

  • « Yaf_Controller_Abstract::getRequest
  • Yaf_Controller_Abstract::getView »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve current response object

Yaf_Controller_Abstract::getResponse

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getResponse — Retrieve current response object

Açıklama

public Yaf_Controller_Abstract::getResponse(): Yaf_Response_Abstract

retrieve current response object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yaf_Response_Abstract instance


Retrieve the view engine

  • « Yaf_Controller_Abstract::getResponse
  • Yaf_Controller_Abstract::getViewpath »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Retrieve the view engine

Yaf_Controller_Abstract::getView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getView — Retrieve the view engine

Açıklama

public Yaf_Controller_Abstract::getView(): Yaf_View_Interface

retrieve view engine

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getViewpath purpose

  • « Yaf_Controller_Abstract::getView
  • Yaf_Controller_Abstract::init »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The getViewpath purpose

Yaf_Controller_Abstract::getViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::getViewpath — The getViewpath purpose

Açıklama

public Yaf_Controller_Abstract::getViewpath(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Controller initializer

  • « Yaf_Controller_Abstract::getViewpath
  • Yaf_Controller_Abstract::initView »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Controller initializer

Yaf_Controller_Abstract::init

(Yaf >=1.0.0)

Yaf_Controller_Abstract::init — Controller initializer

Açıklama

public Yaf_Controller_Abstract::init(): void

Yaf_Controller_Abstract::__construct() is final, which means users can not override it. but users can define Yaf_Controller_Abstract::init(), which will be called after controller object is instantiated.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Controller_Abstract::__construct() - Yaf_Controller_Abstract constructor


The initView purpose

  • « Yaf_Controller_Abstract::init
  • Yaf_Controller_Abstract::redirect »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The initView purpose

Yaf_Controller_Abstract::initView

(Yaf >=1.0.0)

Yaf_Controller_Abstract::initView — The initView purpose

Açıklama

public Yaf_Controller_Abstract::initView(array $options = ?): void

Bağımsız Değişkenler

options

Dönen Değerler


Redirect to a URL

  • « Yaf_Controller_Abstract::initView
  • Yaf_Controller_Abstract::render »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Redirect to a URL

Yaf_Controller_Abstract::redirect

(Yaf >=1.0.0)

Yaf_Controller_Abstract::redirect — Redirect to a URL

Açıklama

public Yaf_Controller_Abstract::redirect(string $url): bool

redirect to a URL by sending a 302 header

Bağımsız Değişkenler

url

a location URL

Dönen Değerler

bool


Render view template

  • « Yaf_Controller_Abstract::redirect
  • Yaf_Controller_Abstract::setViewpath »
  • PHP Manual
  • Yaf_Controller_Abstract
  • Render view template

Yaf_Controller_Abstract::render

(Yaf >=1.0.0)

Yaf_Controller_Abstract::render — Render view template

Açıklama

protected Yaf_Controller_Abstract::render(string $tpl, array $parameters = ?): string

Bağımsız Değişkenler

tpl

parameters

Dönen Değerler


The setViewpath purpose

  • « Yaf_Controller_Abstract::render
  • Yaf_Action_Abstract »
  • PHP Manual
  • Yaf_Controller_Abstract
  • The setViewpath purpose

Yaf_Controller_Abstract::setViewpath

(Yaf >=1.0.0)

Yaf_Controller_Abstract::setViewpath — The setViewpath purpose

Açıklama

public Yaf_Controller_Abstract::setViewpath(string $view_directory): void

Bağımsız Değişkenler

view_directory

Dönen Değerler


The Yaf_Action_Abstract class

(Yaf >=1.0.0)

Giriş

A action can be defined in a separate file in Yaf(see Yaf_Controller_Abstract). that is a action method can also be a Yaf_Action_Abstract class.

Since there should be a entry point which can be called by Yaf, you must implement the abstract method Yaf_Action_Abstract::execute() in your custom action class.

Sınıf Sözdizimi

class Yaf_Action_Abstract extends Yaf_Controller_Abstract {
/* Özellikler */
protected $_controller;
/* Yöntemler */
abstract publicexecute(mixed ...$args): mixed
publicgetController(): Yaf_Controller_Abstract
public getControllerName(): string
/* Miras alınan yöntemler */
protected Yaf_Controller_Abstract::display(string $tpl, array $parameters = ?): bool
public Yaf_Controller_Abstract::forward(string $action, array $paramters = ?): bool
public Yaf_Controller_Abstract::getInvokeArg(string $name): void
public Yaf_Controller_Abstract::getInvokeArgs(): void
public Yaf_Controller_Abstract::getModuleName(): string
public Yaf_Controller_Abstract::getName(): string
public Yaf_Controller_Abstract::getRequest(): Yaf_Request_Abstract
public Yaf_Controller_Abstract::getResponse(): Yaf_Response_Abstract
public Yaf_Controller_Abstract::getView(): Yaf_View_Interface
public Yaf_Controller_Abstract::getViewpath(): string
public Yaf_Controller_Abstract::init(): void
public Yaf_Controller_Abstract::initView(array $options = ?): void
public Yaf_Controller_Abstract::redirect(string $url): bool
protected Yaf_Controller_Abstract::render(string $tpl, array $parameters = ?): string
public Yaf_Controller_Abstract::setViewpath(string $view_directory): void
}

Özellikler

_module

_name

_request

_response

_invoke_args

_view

_controller

İçindekiler

  • Yaf_Action_Abstract::execute — Action entry point
  • Yaf_Action_Abstract::getController — Retrieve controller object
  • Yaf_Action_Abstract::getControllerName — Get controller name


Action entry point

  • « Yaf_Action_Abstract
  • Yaf_Action_Abstract::getController »
  • PHP Manual
  • Yaf_Action_Abstract
  • Action entry point

Yaf_Action_Abstract::execute

(Yaf >=1.0.0)

Yaf_Action_Abstract::execute — Action entry point

Açıklama

abstract publicYaf_Action_Abstract::execute(mixed ...$args): mixed

user should always define this method for a action, this is the entry point of an action. Yaf_Action_Abstract::execute() may have agruments.

Bilginize:

The value retrived from the request is not safe. you should do some filtering work before you use it.

Bağımsız Değişkenler

args

Dönen Değerler

Örnekler

Örnek 1 Yaf_Action_Abstract::execute()example

<?php
/**
* A controller example
*/
class ProductController extends Yaf_Controller_Abstract {
protected $actions = array(
"index" => "actions/Index.php",
);
}
?>

Örnek 2 Yaf_Action_Abstract::execute()example

<?php
/**
* ListAction
*/
class ListAction extends Yaf_Action_Abstract {
public function execute ($name, $id) {
assert($name == $this->getRequest()->getParam("name"));
assert($id == $this->getRequest()->getParam("id"));
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/**
 * Now assuming we are using the Yaf_Route_Static route
 * for request: http://yourdomain/product/list/name/yaf/id/22
 * will result:
 */
 bool(true)
 bool(true)

Ayrıca Bakınız


Retrieve controller object

  • « Yaf_Action_Abstract::execute
  • Yaf_Action_Abstract::getControllerName »
  • PHP Manual
  • Yaf_Action_Abstract
  • Retrieve controller object

Yaf_Action_Abstract::getController

(Yaf >=1.0.0)

Yaf_Action_Abstract::getController — Retrieve controller object

Açıklama

publicYaf_Action_Abstract::getController(): Yaf_Controller_Abstract

retrieve current controller object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yaf_Controller_Abstract instance


Get controller name

  • « Yaf_Action_Abstract::getController
  • Yaf_View_Interface »
  • PHP Manual
  • Yaf_Action_Abstract
  • Get controller name

Yaf_Action_Abstract::getControllerName

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Yaf_Action_Abstract::getControllerName — Get controller name

Açıklama

public Yaf_Action_Abstract::getControllerName(): string

get the controller's name

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string, controller name


The Yaf_View_Interface class

(Yaf >=1.0.0)

Giriş

Yaf provides a ability for developers to use custom view engine instead of built-in engine which is Yaf_View_Simple. There is a example to explain how to do this, please see Yaf_Dispatcher::setView().

Sınıf Sözdizimi

class Yaf_View_Interface {
/* Yöntemler */
abstract public assign(string $name, string $value = ?): bool
abstract public display(string $tpl, array $tpl_vars = ?): bool
abstract public getScriptPath(): void
abstract public render(string $tpl, array $tpl_vars = ?): string
abstract public setScriptPath(string $template_dir): void
}

İçindekiler

  • Yaf_View_Interface::assign — Assign value to View engine
  • Yaf_View_Interface::display — Render and output a template
  • Yaf_View_Interface::getScriptPath — The getScriptPath purpose
  • Yaf_View_Interface::render — Render a template
  • Yaf_View_Interface::setScriptPath — The setScriptPath purpose


Assign value to View engine

  • « Yaf_View_Interface
  • Yaf_View_Interface::display »
  • PHP Manual
  • Yaf_View_Interface
  • Assign value to View engine

Yaf_View_Interface::assign

(Yaf >=1.0.0)

Yaf_View_Interface::assign — Assign value to View engine

Açıklama

abstract public Yaf_View_Interface::assign(string $name, string $value = ?): bool

Assigan values to View engine, then the value can access directly by name in template.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


Render and output a template

  • « Yaf_View_Interface::assign
  • Yaf_View_Interface::getScriptPath »
  • PHP Manual
  • Yaf_View_Interface
  • Render and output a template

Yaf_View_Interface::display

(Yaf >=1.0.0)

Yaf_View_Interface::display — Render and output a template

Açıklama

abstract public Yaf_View_Interface::display(string $tpl, array $tpl_vars = ?): bool

Render a template and output the result immediately.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

tpl

tpl_vars

Dönen Değerler


The getScriptPath purpose

  • « Yaf_View_Interface::display
  • Yaf_View_Interface::render »
  • PHP Manual
  • Yaf_View_Interface
  • The getScriptPath purpose

Yaf_View_Interface::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::getScriptPath — The getScriptPath purpose

Açıklama

abstract public Yaf_View_Interface::getScriptPath(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Render a template

  • « Yaf_View_Interface::getScriptPath
  • Yaf_View_Interface::setScriptPath »
  • PHP Manual
  • Yaf_View_Interface
  • Render a template

Yaf_View_Interface::render

(Yaf >=1.0.0)

Yaf_View_Interface::render — Render a template

Açıklama

abstract public Yaf_View_Interface::render(string $tpl, array $tpl_vars = ?): string

Render a template and return the result.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

tpl

tpl_vars

Dönen Değerler


The setScriptPath purpose

  • « Yaf_View_Interface::render
  • Yaf_View_Simple »
  • PHP Manual
  • Yaf_View_Interface
  • The setScriptPath purpose

Yaf_View_Interface::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Interface::setScriptPath — The setScriptPath purpose

Açıklama

abstract public Yaf_View_Interface::setScriptPath(string $template_dir): void

Set the templates base directory, this is usually called by Yaf_Dispatcher

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

template_dir

A absolute path to the template directory, by default, Yaf_Dispatcher use application.directory . "/views" as this paramter.

Dönen Değerler


The Yaf_View_Simple class

(Yaf >=1.0.0)

Giriş

Yaf_View_Simple is the built-in template engine in Yaf, it is a simple but fast template engine, and only support PHP script template.

Sınıf Sözdizimi

class Yaf_View_Simple implements Yaf_View_Interface {
/* Özellikler */
protected $_tpl_vars;
protected $_tpl_dir;
/* Yöntemler */
final public __construct(string $template_dir, array $options = ?)
public assign(string $name, mixed $value = ?): bool
public assignRef(string $name, mixed &$value): bool
public clear(string $name = ?): bool
public display(string $tpl, array $tpl_vars = ?): bool
public eval(string $tpl_content, array $tpl_vars = ?): string
public __get(string $name = ?): void
public getScriptPath(): string
public __isset(string $name): void
public render(string $tpl, array $tpl_vars = ?): string
public __set(string $name, mixed $value): void
public setScriptPath(string $template_dir): bool
}

Özellikler

_tpl_vars

_tpl_dir

İçindekiler

  • Yaf_View_Simple::assign — Assign values
  • Yaf_View_Simple::assignRef — The assignRef purpose
  • Yaf_View_Simple::clear — Clear Assigned values
  • Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple
  • Yaf_View_Simple::display — Render and display
  • Yaf_View_Simple::eval — Render template
  • Yaf_View_Simple::__get — Retrieve assigned variable
  • Yaf_View_Simple::getScriptPath — Get templates directory
  • Yaf_View_Simple::__isset — The __isset purpose
  • Yaf_View_Simple::render — Render template
  • Yaf_View_Simple::__set — Set value to engine
  • Yaf_View_Simple::setScriptPath — Set tempaltes directory


Assign values

  • « Yaf_View_Simple
  • Yaf_View_Simple::assignRef »
  • PHP Manual
  • Yaf_View_Simple
  • Assign values

Yaf_View_Simple::assign

(Yaf >=1.0.0)

Yaf_View_Simple::assign — Assign values

Açıklama

public Yaf_View_Simple::assign(string $name, mixed $value = ?): bool

assign variable to view engine

Bağımsız Değişkenler

name

A string or an array.

if is string, then the next argument $value is required.

value

mixed value

Dönen Değerler

Örnekler

Örnek 1 Yaf_View_Simple::assign()example

<?php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {
$this->getView()->assign("foo", "bar");
$this->_view->assign( array( "key" => "value", "name" => "value"));
}
}
?>

Örnek 2 template()example

<html>
<head>
<title><?php echo $foo; ?></title>
</head>
<body>
<?php
foreach ($this->_tpl_vars as $name => $value) {
echo $$name; // or echo $this->_tpl_vars[$name];
}
?>
</body>
</html>

Ayrıca Bakınız

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::clear()
  • Yaf_View_Simple::__set() - Set value to engine


The assignRef purpose

  • « Yaf_View_Simple::assign
  • Yaf_View_Simple::clear »
  • PHP Manual
  • Yaf_View_Simple
  • The assignRef purpose

Yaf_View_Simple::assignRef

(Yaf >=1.0.0)

Yaf_View_Simple::assignRef — The assignRef purpose

Açıklama

public Yaf_View_Simple::assignRef(string $name, mixed &$value): bool

unlike Yaf_View_Simple::assign(), this method assign a ref value to engine.

Bağımsız Değişkenler

name

A string name which will be used to access the value in the tempalte.

value

mixed value

Dönen Değerler

Örnekler

Örnek 1 Yaf_View_Simple::assignRef()example

<?php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {
$value = "bar";
$this->getView()->assign("foo", $value);

/* plz note that there was a bug before Yaf 2.1.4,
* which make following output "bar";
*/
$dummy = $this->getView()->render("index/index.phtml");
echo $value;

//prevent the auto-render
Yaf_Dispatcher::getInstance()->autoRender(FALSE);
}
}
?>

Örnek 2 template()example

<html>
<head>
<title><?php echo $foo; $foo = "changed"; ?></title>
</head>
<body>
</body>
</html>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* access the index controller will result: */
changed

Ayrıca Bakınız

  • Yaf_View_Simple::assign() - Assign values
  • Yaf_View_Simple::__set() - Set value to engine


Clear Assigned values

  • « Yaf_View_Simple::assignRef
  • Yaf_View_Simple::__construct »
  • PHP Manual
  • Yaf_View_Simple
  • Clear Assigned values

Yaf_View_Simple::clear

(Yaf >=2.2.0)

Yaf_View_Simple::clear — Clear Assigned values

Açıklama

public Yaf_View_Simple::clear(string $name = ?): bool

clear assigned variable

Bağımsız Değişkenler

name

assigned variable name

if empty, will clear all assigned variables

Dönen Değerler

Örnekler

Örnek 1 Yaf_View_Simple::clear()example

<?php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {
$this->getView()->clear("foo")->clear("bar"); // clear "foo" and "bar"
$this->_view->clear(); //clear all assigned variables
}
}
?>

Ayrıca Bakınız

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine
  • Yaf_View_Simple::__set() - Set value to engine


Constructor of Yaf_View_Simple

  • « Yaf_View_Simple::clear
  • Yaf_View_Simple::display »
  • PHP Manual
  • Yaf_View_Simple
  • Constructor of Yaf_View_Simple

Yaf_View_Simple::__construct

(Yaf >=1.0.0)

Yaf_View_Simple::__construct — Constructor of Yaf_View_Simple

Açıklama

final public Yaf_View_Simple::__construct(string $template_dir, array $options = ?)

Bağımsız Değişkenler

template_dir

The base directory of the templates, by default, it is APPLICATOIN . "/views" for Yaf.

options

Options for the engine, as of Yaf 2.1.13, you can use short tag
      "<?=$var?>" in your template(regardless of "short_open_tag"),
      so comes a option named "short_tag",  you can switch this off
      to prevent use short_tag in template.

Örnekler

Örnek 1 Yaf_View_Simple::__constructor()example

<?php
define ("TEMPLATE_DIRECTORY", APPLICATOIN_PATH . '/views');
$view = new Yaf_View_Simple(TEMPLATE_DIRECTORY, array(
'short_tag' => false //doesn't allow use short tag in template
));
?>


Render and display

  • « Yaf_View_Simple::__construct
  • Yaf_View_Simple::eval »
  • PHP Manual
  • Yaf_View_Simple
  • Render and display

Yaf_View_Simple::display

(Yaf >=1.0.0)

Yaf_View_Simple::display — Render and display

Açıklama

public Yaf_View_Simple::display(string $tpl, array $tpl_vars = ?): bool

Render a template and display the result instantly.

Bağımsız Değişkenler

tpl

tpl_vars

Dönen Değerler


Render template

  • « Yaf_View_Simple::display
  • Yaf_View_Simple::__get »
  • PHP Manual
  • Yaf_View_Simple
  • Render template

Yaf_View_Simple::eval

(Yaf >=2.2.0)

Yaf_View_Simple::eval — Render template

Açıklama

public Yaf_View_Simple::eval(string $tpl_content, array $tpl_vars = ?): string

Render a string tempalte and return the result.

Bağımsız Değişkenler

tpl_content

string template

tpl_vars

Dönen Değerler


Retrieve assigned variable

  • « Yaf_View_Simple::eval
  • Yaf_View_Simple::getScriptPath »
  • PHP Manual
  • Yaf_View_Simple
  • Retrieve assigned variable

Yaf_View_Simple::__get

(Yaf >=1.0.0)

Yaf_View_Simple::__get — Retrieve assigned variable

Açıklama

public Yaf_View_Simple::__get(string $name = ?): void

Retrieve assigned varaiable

Bilginize:

parameter can be empty since 2.1.11

Bağımsız Değişkenler

name

the assigned variable name

if this is empty, all assigned variables will be returned

Dönen Değerler


Get templates directory

  • « Yaf_View_Simple::__get
  • Yaf_View_Simple::__isset »
  • PHP Manual
  • Yaf_View_Simple
  • Get templates directory

Yaf_View_Simple::getScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::getScriptPath — Get templates directory

Açıklama

public Yaf_View_Simple::getScriptPath(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __isset purpose

  • « Yaf_View_Simple::getScriptPath
  • Yaf_View_Simple::render »
  • PHP Manual
  • Yaf_View_Simple
  • The __isset purpose

Yaf_View_Simple::__isset

(Yaf >=1.0.0)

Yaf_View_Simple::__isset — The __isset purpose

Açıklama

public Yaf_View_Simple::__isset(string $name): void

Bağımsız Değişkenler

name

Dönen Değerler


Render template

  • « Yaf_View_Simple::__isset
  • Yaf_View_Simple::__set »
  • PHP Manual
  • Yaf_View_Simple
  • Render template

Yaf_View_Simple::render

(Yaf >=1.0.0)

Yaf_View_Simple::render — Render template

Açıklama

public Yaf_View_Simple::render(string $tpl, array $tpl_vars = ?): string

Render a template and return the result.

Bağımsız Değişkenler

tpl

tpl_vars

Dönen Değerler


Set value to engine

  • « Yaf_View_Simple::render
  • Yaf_View_Simple::setScriptPath »
  • PHP Manual
  • Yaf_View_Simple
  • Set value to engine

Yaf_View_Simple::__set

(Yaf >=1.0.0)

Yaf_View_Simple::__set — Set value to engine

Açıklama

public Yaf_View_Simple::__set(string $name, mixed $value): void

This is a alternative and easier way to Yaf_View_Simple::assign().

Bağımsız Değişkenler

name

A string value name.

value

Mixed value.

Dönen Değerler

Örnekler

Örnek 1 Yaf_View_Simple::__set()example

<?php
class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {
$this->getView()->foo = "bar"; // same as assign("foo", "bar");
}
}
?>

Ayrıca Bakınız

  • Yaf_View_Simple::assignRef() - The assignRef purpose
  • Yaf_View_Interface::assign() - Assign value to View engine


Set tempaltes directory

  • « Yaf_View_Simple::__set
  • Yaf_Loader »
  • PHP Manual
  • Yaf_View_Simple
  • Set tempaltes directory

Yaf_View_Simple::setScriptPath

(Yaf >=1.0.0)

Yaf_View_Simple::setScriptPath — Set tempaltes directory

Açıklama

public Yaf_View_Simple::setScriptPath(string $template_dir): bool

Bağımsız Değişkenler

template_dir

Dönen Değerler


The Yaf_Loader class

(Yaf >=1.0.0)

Giriş

Yaf_Loader introduces a comprehensive autoloading solution for Yaf.

The first time an instance of Yaf_Application is retrieved, Yaf_Loader will instance a singleton, and registers itself with spl_autoload. You retrieve an instance using the Yaf_Loader::getInstance()

Yaf_Loader attempt to load a class only one shot, if failed, depend on yaf.use_spl_auload, if this config is On Yaf_Loader::autoload() will return false, thus give the chance to other autoload function. if it is Off (by default), Yaf_Loader::autoload() will return true, and more important is that a very useful warning will be triggered (very useful to find out why a class could not be loaded).

Bilginize:

Please keep yaf.use_spl_autoload Off unless there is some library have their own autoload mechanism and impossible to rewrite it.

By default, Yaf_Loader assume all library (class defined script) store in the global library directory, which is defined in the php.ini(yaf.library).

If you want Yaf_Loader search some classes(libraries) in the local class directory(which is defined in application.ini, and by default, it is application.directory . "/library"), you should register the class prefix using the Yaf_Loader::registerLocalNameSpace()

Let's see some examples(assuming APPLICATION_PATH is application.directory):

Örnek 1 Config example

// Assuming the following configure in php.ini:
yaf.library = "/global_dir"

//Assuming the following configure in application.ini
application.library = APPLICATION_PATH "/library"
Assuming the following local name space is registered:

Örnek 2 Register localnamespace

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initLoader($dispatcher) {
Yaf_Loader::getInstance()->registerLocalNameSpace(array("Foo", "Bar"));
}
?>
Then the autoload examples:

Örnek 3 Load class example

class Foo_Bar_Test =>
  // APPLICATION_PATH/library/Foo/Bar/Test.php

class GLO_Name  =>
  // /global_dir/Glo/Name.php

class BarNon_Test
  // /global_dir/Barnon/Test.php

Örnek 4 Load namespace class example

class \Foo\Bar\Dummy =>
   // APPLICATION_PATH/library/Foo/Bar/Dummy.php

class \FooBar\Bar\Dummy =>
   // /global_dir/FooBar/Bar/Dummy.php

You may noticed that all the folder with the first letter capitalized, you can make them lowercase by set yaf.lowcase_path = On in php.ini

Yaf_Loader is also designed to load the MVC classes, and the rule is:

Örnek 5 MVC class loading example

Controller Classes =>
// APPLICATION_PATH/controllers/

Model Classes =>
// APPLICATION_PATH/models/

Plugin Classes =>
// APPLICATION_PATH/plugins/
Yaf identify a class's suffix(this is by default, you can also change to the prefix by change the configure yaf.name_suffix) to decide whether it is a MVC class:

Örnek 6 MVC class distinctions

Controller Classes =>
    // ***Controller

Model Classes =>
    // ***Model

Plugin Classes =>
    // ***Plugin
some examples:

Örnek 7 MVC loading example

class IndexController
    // APPLICATION_PATH/controllers/Index.php

class DataModel =>
   // APPLICATION_PATH/models/Data.php

class DummyPlugin =>
  // APPLICATION_PATH/plugins/Dummy.php

class A_B_TestModel =>
  // APPLICATION_PATH/models/A/B/Test.php

Bilginize:

As of 2.1.18, Yaf supports Controllers autoloading for user script side, (which means the autoloading triggered by user php script, eg: access a controller static property in Bootstrap or Plugins), but autoloader only try to locate controller class script under the default module folder, which is "APPLICATION_PATH/controllers/".

also, the directory will be affected by yaf.lowcase_path.

Sınıf Sözdizimi

class Yaf_Loader {
/* Özellikler */
protected $_local_ns;
protected $_library;
protected $_global_library;
static $_instance;
/* Yöntemler */
private __construct()
public autoload(): void
public clearLocalNamespace(): void
public static getInstance(): void
public getLibraryPath(bool $is_global = false): Yaf_Loader
public getLocalNamespace(): void
public getNamespacePath(string $namespaces): string
public getNamespaces(): array
public static import(): void
public isLocalName(): void
public registerLocalNamespace(mixed $prefix): void
public registerNamespace(string|array $namespaces, string $path = ?): bool
public setLibraryPath(string $directory, bool $is_global = false): Yaf_Loader
}

Özellikler

_local_ns

_library

By default, this value is application.directory . "/library", you can change this either in the application.ini(application.library) or call to Yaf_Loader::setLibraryPath()

_global_library

_instance

İçindekiler

  • Yaf_Loader::autoload — The autoload purpose
  • Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose
  • Yaf_Loader::__construct — The __construct purpose
  • Yaf_Loader::getInstance — The getInstance purpose
  • Yaf_Loader::getLibraryPath — Get the library path
  • Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose
  • Yaf_Loader::getNamespacePath — Retieve path of a registered namespace
  • Yaf_Loader::getLocalNamespace — Retrive all register namespaces info
  • Yaf_Loader::import — The import purpose
  • Yaf_Loader::isLocalName — The isLocalName purpose
  • Yaf_Loader::registerLocalNamespace — Register local class prefix
  • Yaf_Loader::registerNamespace — Register namespace with searching path
  • Yaf_Loader::setLibraryPath — Change the library path


The autoload purpose

  • « Yaf_Loader
  • Yaf_Loader::clearLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • The autoload purpose

Yaf_Loader::autoload

(Yaf >=1.0.0)

Yaf_Loader::autoload — The autoload purpose

Açıklama

public Yaf_Loader::autoload(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The clearLocalNamespace purpose

  • « Yaf_Loader::autoload
  • Yaf_Loader::__construct »
  • PHP Manual
  • Yaf_Loader
  • The clearLocalNamespace purpose

Yaf_Loader::clearLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::clearLocalNamespace — The clearLocalNamespace purpose

Açıklama

public Yaf_Loader::clearLocalNamespace(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __construct purpose

  • « Yaf_Loader::clearLocalNamespace
  • Yaf_Loader::getInstance »
  • PHP Manual
  • Yaf_Loader
  • The __construct purpose

Yaf_Loader::__construct

(Yaf >=1.0.0)

Yaf_Loader::__construct — The __construct purpose

Açıklama

private Yaf_Loader::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getInstance purpose

  • « Yaf_Loader::__construct
  • Yaf_Loader::getLibraryPath »
  • PHP Manual
  • Yaf_Loader
  • The getInstance purpose

Yaf_Loader::getInstance

(Yaf >=1.0.0)

Yaf_Loader::getInstance — The getInstance purpose

Açıklama

public static Yaf_Loader::getInstance(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the library path

  • « Yaf_Loader::getInstance
  • Yaf_Loader::getLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • Get the library path

Yaf_Loader::getLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::getLibraryPath — Get the library path

Açıklama

public Yaf_Loader::getLibraryPath(bool $is_global = false): Yaf_Loader

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getLocalNamespace purpose

  • « Yaf_Loader::getLibraryPath
  • Yaf_Loader::getNamespacePath »
  • PHP Manual
  • Yaf_Loader
  • The getLocalNamespace purpose

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — The getLocalNamespace purpose

Açıklama

public Yaf_Loader::getLocalNamespace(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retieve path of a registered namespace

  • « Yaf_Loader::getLocalNamespace
  • Yaf_Loader::getLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • Retieve path of a registered namespace

Yaf_Loader::getNamespacePath

(Yaf >=3.2.0)

Yaf_Loader::getNamespacePath — Retieve path of a registered namespace

Açıklama

public Yaf_Loader::getNamespacePath(string $namespaces): string

retrieve path of a registered namespace

Bağımsız Değişkenler

namespace

a string of namespace.

Dönen Değerler

string path, if the namespace is not registered, then null default library will be returned

Örnekler

Örnek 1 Yaf_Loader::registerNamespace()example

<?php
$loader = Yaf_Loader::getInstance("/var/application/lib");
$loader->registerNamespace("\Vendor\PHP", "/var/lib/php");

$loader->getNamespacePath("\Vendor\PHP"); // '/var/lib/php'
$loader->getNamespacePath("\Vendor\JSP"); // '/var/application/lib'

?>


Retrive all register namespaces info

  • « Yaf_Loader::getNamespacePath
  • Yaf_Loader::import »
  • PHP Manual
  • Yaf_Loader
  • Retrive all register namespaces info

Yaf_Loader::getLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::getLocalNamespace — Retrive all register namespaces info

Açıklama

public Yaf_Loader::getNamespaces(): array

get registered namespaces info

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

array


The import purpose

  • « Yaf_Loader::getLocalNamespace
  • Yaf_Loader::isLocalName »
  • PHP Manual
  • Yaf_Loader
  • The import purpose

Yaf_Loader::import

(Yaf >=1.0.0)

Yaf_Loader::import — The import purpose

Açıklama

public static Yaf_Loader::import(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The isLocalName purpose

  • « Yaf_Loader::import
  • Yaf_Loader::registerLocalNamespace »
  • PHP Manual
  • Yaf_Loader
  • The isLocalName purpose

Yaf_Loader::isLocalName

(Yaf >=1.0.0)

Yaf_Loader::isLocalName — The isLocalName purpose

Açıklama

public Yaf_Loader::isLocalName(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Register local class prefix

  • « Yaf_Loader::isLocalName
  • Yaf_Loader::registerNamespace »
  • PHP Manual
  • Yaf_Loader
  • Register local class prefix

Yaf_Loader::registerLocalNamespace

(Yaf >=1.0.0)

Yaf_Loader::registerLocalNamespace — Register local class prefix

Açıklama

public Yaf_Loader::registerLocalNamespace(mixed $prefix): void

Register local class prefix name, Yaf_Loader search classes in two library directories, the one is configured via application.library.directory(in application.ini) which is called local libraray directory; the other is configured via yaf.library (in php.ini) which is callled global library directory, since it can be shared by many applications in the same server.

When an autloading is trigger, Yaf_Loader will determine which library directory should be searched in by exame the prefix name of the missed classname. If the prefix name is registered as a localnamespack then look for it in local library directory, otherwise look for it in global library directory.

Bilginize:

If yaf.library is not configured, then the global library directory is assumed to be the local library directory. in that case, all autoloading will look for local library directory. But if you want your Yaf application be strong, then always register your own classes as local classes.

Bağımsız Değişkenler

prefix

a string or a array of class name prefix. all class prefix with these prefix will be loaded in local library path.

Dönen Değerler

bool

Örnekler

Örnek 1 Yaf_Loader::registerLocalNamespace()example

<?php
$loader = Yaf_Loader::getInstance('/local/library/', '/global/library');
$loader->registerLocalNamespace("Baidu");
$loader->registerLocalNamespace(array("Sina", "Weibo"));

$loader->autoload("Baidu_Name"); // search in '/local/library/'
$loader->autoload("Sina"); // search '/local/library/'
$loader->autoload("Global_Name");// search in '/global/library/'
$loader->autoload("Foo_Bar"); // search in '/global/library/'

?>


Register namespace with searching path

  • « Yaf_Loader::registerLocalNamespace
  • Yaf_Loader::setLibraryPath »
  • PHP Manual
  • Yaf_Loader
  • Register namespace with searching path

Yaf_Loader::registerNamespace

(Yaf >=3.2.0)

Yaf_Loader::registerNamespace — Register namespace with searching path

Açıklama

public Yaf_Loader::registerNamespace(string|array $namespaces, string $path = ?): bool

Register a namespace with searching path, Yaf_Loader searchs classes under this namespace in path, the one is also could be configureded via application.library.directory.namespace(in application.ini);

Bilginize:

Yaf still think underline as folder separator.

Bağımsız Değişkenler

namespace

a string of namespace, or a array of namespaces with paths.

path

a string of path, it is better to use abosolute path here for performance

Dönen Değerler

bool

Örnekler

Örnek 1 Yaf_Loader::registerNamespace()example

<?php
$loader = Yaf_Loader::getInstance();
$loader->registerNamespace("\Vendor\PHP", "/var/lib/php");
$loader->registerNamespace(array(
"\Vendor\ASP" => "/var/lib/asp",
"\Vendor\JSP" => "/usr/lib/vendor/",
));

$loader->autoload("\Vendor\PHP\Dummy"); //load '/var/lib/php/Dummy.php'
$loader->autoload("\Vendor\PHP\Foo_Bar"); //load '/var/lib/php/Foo/Bar.php'
$loader->autoload("\Vendor\JSP\Dummy"); //load '/usr/lib/vendor/Dummy.php'

?>


Change the library path

  • « Yaf_Loader::registerNamespace
  • Yaf_Plugin_Abstract »
  • PHP Manual
  • Yaf_Loader
  • Change the library path

Yaf_Loader::setLibraryPath

(Yaf >=2.1.4)

Yaf_Loader::setLibraryPath — Change the library path

Açıklama

public Yaf_Loader::setLibraryPath(string $directory, bool $is_global = false): Yaf_Loader

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Plugin_Abstract class

(Yaf >=1.0.0)

Giriş

Plugins allow for easy extensibility and customization of the framework.

Plugins are classes. The actual class definition will vary based on the component -- you may need to implement this interface, but the fact remains that the plugin is itself a class.

A plugin could be loaded into Yaf by using Yaf_Dispatcher::registerPlugin(), after registering, All the methods which the plugin implemented according to this interface, will be called at the proper time.

Örnekler

Örnek 1 Plugin example

<?php
/* bootstrap class should be defined under ./application/Bootstrap.php */
class Bootstrap extends Yaf_Bootstrap_Abstract {
public function _initPlugin(Yaf_Dispatcher $dispatcher) {
/* register a plugin */
$dispatcher->registerPlugin(new TestPlugin());
}
}

/* plugin class should be placed under ./application/plugins/ */
class TestPlugin extends Yaf_Plugin_Abstract {
public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
/* before router
in this hook, user can do some url rewrite */
var_dump("routerStartup");
}
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
/* router complete
in this hook, user can do login check */
var_dump("routerShutdown");
}
public function dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump("dispatchLoopStartup");
}
public function preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump("preDispatch");
}
public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump("postDispatch");
}
public function dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
/* final hook
in this hook user can do logging or implement layout */
var_dump("dispatchLoopShutdown");
}
}

Class IndexController extends Yaf_Controller_Abstract {
public function indexAction() {
return FALSE; //prevent rendering
}
}

$config = array(
"application" => array(
"directory" => dirname(__FILE__) . "/application/",
),
);

$app = new Yaf_Application($config);
$app->bootstrap()->run();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(13) "routerStartup"
string(14) "routerShutdown"
string(19) "dispatchLoopStartup"
string(11) "preDispatch"
string(12) "postDispatch"
string(20) "dispatchLoopShutdown"

Sınıf Sözdizimi

class Yaf_Plugin_Abstract {
/* Yöntemler */
public dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public preResponse(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
public routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void
}

İçindekiler

  • Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop
  • Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose
  • Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose
  • Yaf_Plugin_Abstract::preResponse — The preResponse purpose
  • Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose
  • Yaf_Plugin_Abstract::routerStartup — RouterStartup hook


The dispatchLoopShutdown purpose

  • « Yaf_Plugin_Abstract
  • Yaf_Plugin_Abstract::dispatchLoopStartup »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The dispatchLoopShutdown purpose

Yaf_Plugin_Abstract::dispatchLoopShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopShutdown — The dispatchLoopShutdown purpose

Açıklama

public Yaf_Plugin_Abstract::dispatchLoopShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

This is the latest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called after the dispatch loop finished.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

response

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose


Hook before dispatch loop

  • « Yaf_Plugin_Abstract::dispatchLoopShutdown
  • Yaf_Plugin_Abstract::postDispatch »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • Hook before dispatch loop

Yaf_Plugin_Abstract::dispatchLoopStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::dispatchLoopStartup — Hook before dispatch loop

Açıklama

public Yaf_Plugin_Abstract::dispatchLoopStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

Bağımsız Değişkenler

request

response

Dönen Değerler


The postDispatch purpose

  • « Yaf_Plugin_Abstract::dispatchLoopStartup
  • Yaf_Plugin_Abstract::preDispatch »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The postDispatch purpose

Yaf_Plugin_Abstract::postDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::postDispatch — The postDispatch purpose

Açıklama

public Yaf_Plugin_Abstract::postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

response

Dönen Değerler


The preDispatch purpose

  • « Yaf_Plugin_Abstract::postDispatch
  • Yaf_Plugin_Abstract::preResponse »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The preDispatch purpose

Yaf_Plugin_Abstract::preDispatch

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preDispatch — The preDispatch purpose

Açıklama

public Yaf_Plugin_Abstract::preDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

response

Dönen Değerler


The preResponse purpose

  • « Yaf_Plugin_Abstract::preDispatch
  • Yaf_Plugin_Abstract::routerShutdown »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The preResponse purpose

Yaf_Plugin_Abstract::preResponse

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::preResponse — The preResponse purpose

Açıklama

public Yaf_Plugin_Abstract::preResponse(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

response

Dönen Değerler


The routerShutdown purpose

  • « Yaf_Plugin_Abstract::preResponse
  • Yaf_Plugin_Abstract::routerStartup »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • The routerShutdown purpose

Yaf_Plugin_Abstract::routerShutdown

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerShutdown — The routerShutdown purpose

Açıklama

public Yaf_Plugin_Abstract::routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

This hook will be trigged after the route process finished, this hook is usually used for login check.

Bağımsız Değişkenler

request

response

Dönen Değerler

Örnekler

Örnek 1 Yaf_Plugin_Abstract::routerShutdown()example

<?php
class UserInitPlugin extends Yaf_Plugin_Abstract {

public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
$controller = $request->getControllerName();

/**
* Use access controller is unecessary for APIs
*/
if (in_array(strtolower($controller), array(
'api',
))) {
return TRUE;
}

if (Yaf_Session::getInstance()->has("login")) {
return TRUE;
}

/* Use access check failed, need to login */
$response->setRedirect("http://yourdomain.com/login/");
return FALSE;
}
}
?>

Ayrıca Bakınız

  • Yaf_Plugin_Abstract::routerStartup() - RouterStartup hook
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose


RouterStartup hook

  • « Yaf_Plugin_Abstract::routerShutdown
  • Yaf_Registry »
  • PHP Manual
  • Yaf_Plugin_Abstract
  • RouterStartup hook

Yaf_Plugin_Abstract::routerStartup

(Yaf >=1.0.0)

Yaf_Plugin_Abstract::routerStartup — RouterStartup hook

Açıklama

public Yaf_Plugin_Abstract::routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response): void

This is the earliest hook in Yaf plugin hook system, if a custom plugin implement this method, then it will be called before routing a request.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

response

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Plugin_Abstract::routerShutdown() - The routerShutdown purpose
  • Yaf_Plugin_Abstract::dispatchLoopStartup() - Hook before dispatch loop
  • Yaf_Plugin_Abstract::preDispatch() - The preDispatch purpose
  • Yaf_Plugin_Abstract::postDispatch() - The postDispatch purpose
  • Yaf_Plugin_Abstract::dispatchLoopShutdown() - The dispatchLoopShutdown purpose


The Yaf_Registry class

(Yaf >=1.0.0)

Giriş

All methods of Yaf_Registry declared as static, making it unversally accessible. This provides the ability to get or set any custom data from anyway in your code as necessary.

Sınıf Sözdizimi

class Yaf_Registry {
/* Özellikler */
static $_instance;
protected $_entries;
/* Yöntemler */
private __construct()
public static del(string $name): void
public static get(string $name): mixed
public static has(string $name): bool
public static set(string $name, string $value): bool
}

Özellikler

_instance

_entries

İçindekiler

  • Yaf_Registry::__construct — Yaf_Registry implements singleton
  • Yaf_Registry::del — Remove an item from registry
  • Yaf_Registry::get — Retrieve an item from registry
  • Yaf_Registry::has — Check whether an item exists
  • Yaf_Registry::set — Add an item into registry


Yaf_Registry implements singleton

  • « Yaf_Registry
  • Yaf_Registry::del »
  • PHP Manual
  • Yaf_Registry
  • Yaf_Registry implements singleton

Yaf_Registry::__construct

(Yaf >=1.0.0)

Yaf_Registry::__construct — Yaf_Registry implements singleton

Açıklama

private Yaf_Registry::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Remove an item from registry

  • « Yaf_Registry::__construct
  • Yaf_Registry::get »
  • PHP Manual
  • Yaf_Registry
  • Remove an item from registry

Yaf_Registry::del

(Yaf >=1.0.0)

Yaf_Registry::del — Remove an item from registry

Açıklama

public static Yaf_Registry::del(string $name): void

Remove an item from registry

Bağımsız Değişkenler

name

Dönen Değerler


Retrieve an item from registry

  • « Yaf_Registry::del
  • Yaf_Registry::has »
  • PHP Manual
  • Yaf_Registry
  • Retrieve an item from registry

Yaf_Registry::get

(Yaf >=1.0.0)

Yaf_Registry::get — Retrieve an item from registry

Açıklama

public static Yaf_Registry::get(string $name): mixed

Retrieve an item from registry

Bağımsız Değişkenler

name

Dönen Değerler


Check whether an item exists

  • « Yaf_Registry::get
  • Yaf_Registry::set »
  • PHP Manual
  • Yaf_Registry
  • Check whether an item exists

Yaf_Registry::has

(Yaf >=1.0.0)

Yaf_Registry::has — Check whether an item exists

Açıklama

public static Yaf_Registry::has(string $name): bool

Check whether an item exists

Bağımsız Değişkenler

name

Dönen Değerler


Add an item into registry

  • « Yaf_Registry::has
  • Yaf_Request_Abstract »
  • PHP Manual
  • Yaf_Registry
  • Add an item into registry

Yaf_Registry::set

(Yaf >=1.0.0)

Yaf_Registry::set — Add an item into registry

Açıklama

public static Yaf_Registry::set(string $name, string $value): bool

Add an item into registry

Bağımsız Değişkenler

name

value

Dönen Değerler


The Yaf_Request_Abstract class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Request_Abstract {
/* Sabitler */
const string SCHEME_HTTP = http;
const string SCHEME_HTTPS = https;
/* Özellikler */
public $module;
public $controller;
public $action;
public $method;
protected $params;
protected $language;
protected $_exception;
protected $_base_uri;
protected $uri;
protected $dispatched;
protected $routed;
/* Yöntemler */
public clearParams(): bool
public getActionName(): void
public getBaseUri(): void
public getControllerName(): void
public getEnv(string $name, string $default = ?): void
public getException(): void
public getLanguage(): void
public getMethod(): string
public getModuleName(): void
public getParam(string $name, string $default = ?): mixed
public getParams(): array
public getRequestUri(): void
public getServer(string $name, string $default = ?): void
public isCli(): bool
public isDispatched(): bool
public isGet(): bool
public isHead(): bool
public isOptions(): bool
public isPost(): bool
public isPut(): bool
public isRouted(): bool
public isXmlHttpRequest(): bool
public setActionName(string $action, bool $format_name = true): void
public setBaseUri(string $uir): bool
public setControllerName(string $controller, bool $format_name = true): void
public setDispatched(): void
public setModuleName(string $module, bool $format_name = true): void
public setParam(string $name, string $value = ?): bool
public setRequestUri(string $uir): void
public setRouted(string $flag = ?): void
}

Özellikler

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Öntanımlı Sabitler

Yaf_Request_Abstract::SCHEME_HTTP

Yaf_Request_Abstract::SCHEME_HTTPS

İçindekiler

  • Yaf_Request_Abstract::clearParams — Remove all params
  • Yaf_Request_Abstract::getActionName — The getActionName purpose
  • Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose
  • Yaf_Request_Abstract::getControllerName — The getControllerName purpose
  • Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe
  • Yaf_Request_Abstract::getException — The getException purpose
  • Yaf_Request_Abstract::getLanguage — Retrieve client's preferred language
  • Yaf_Request_Abstract::getMethod — Retrieve the request method
  • Yaf_Request_Abstract::getModuleName — The getModuleName purpose
  • Yaf_Request_Abstract::getParam — Retrieve calling parameter
  • Yaf_Request_Abstract::getParams — Retrieve all calling parameters
  • Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose
  • Yaf_Request_Abstract::getServer — Retrieve SERVER variable
  • Yaf_Request_Abstract::isCli — Determine if request is CLI request
  • Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched
  • Yaf_Request_Abstract::isGet — Determine if request is GET request
  • Yaf_Request_Abstract::isHead — Determine if request is HEAD request
  • Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isPost — Determine if request is POST request
  • Yaf_Request_Abstract::isPut — Determine if request is PUT request
  • Yaf_Request_Abstract::isRouted — Determin if request has been routed
  • Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request
  • Yaf_Request_Abstract::setActionName — Set action name
  • Yaf_Request_Abstract::setBaseUri — Set base URI
  • Yaf_Request_Abstract::setControllerName — Set controller name
  • Yaf_Request_Abstract::setDispatched — The setDispatched purpose
  • Yaf_Request_Abstract::setModuleName — Set module name
  • Yaf_Request_Abstract::setParam — Set a calling parameter to a request
  • Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose
  • Yaf_Request_Abstract::setRouted — The setRouted purpose


Remove all params

  • « Yaf_Request_Abstract
  • Yaf_Request_Abstract::getActionName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Remove all params

Yaf_Request_Abstract::clearParams

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Yaf_Request_Abstract::clearParams — Remove all params

Açıklama

public Yaf_Request_Abstract::clearParams(): bool

Remove all params set by router, or Yaf_Request_Abstract::setParam()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

bool

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


The getActionName purpose

  • « Yaf_Request_Abstract::clearParams
  • Yaf_Request_Abstract::getBaseUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getActionName purpose

Yaf_Request_Abstract::getActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getActionName — The getActionName purpose

Açıklama

public Yaf_Request_Abstract::getActionName(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getBaseUri purpose

  • « Yaf_Request_Abstract::getActionName
  • Yaf_Request_Abstract::getControllerName »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getBaseUri purpose

Yaf_Request_Abstract::getBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getBaseUri — The getBaseUri purpose

Açıklama

public Yaf_Request_Abstract::getBaseUri(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getControllerName purpose

  • « Yaf_Request_Abstract::getBaseUri
  • Yaf_Request_Abstract::getEnv »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getControllerName purpose

Yaf_Request_Abstract::getControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getControllerName — The getControllerName purpose

Açıklama

public Yaf_Request_Abstract::getControllerName(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve ENV varialbe

  • « Yaf_Request_Abstract::getControllerName
  • Yaf_Request_Abstract::getException »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve ENV varialbe

Yaf_Request_Abstract::getEnv

(Yaf >=1.0.0)

Yaf_Request_Abstract::getEnv — Retrieve ENV varialbe

Açıklama

public Yaf_Request_Abstract::getEnv(string $name, string $default = ?): void

Retrieve ENV variable

Bağımsız Değişkenler

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Dönen Değerler

Returns string

Ayrıca Bakınız

  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getException purpose

  • « Yaf_Request_Abstract::getEnv
  • Yaf_Request_Abstract::getLanguage »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getException purpose

Yaf_Request_Abstract::getException

(Yaf >=1.0.0)

Yaf_Request_Abstract::getException — The getException purpose

Açıklama

public Yaf_Request_Abstract::getException(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve client's preferred language

  • « Yaf_Request_Abstract::getException
  • Yaf_Request_Abstract::getMethod »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve client's preferred language

Yaf_Request_Abstract::getLanguage

(Yaf >=1.0.0)

Yaf_Request_Abstract::getLanguage — Retrieve client's preferred language

Açıklama

public Yaf_Request_Abstract::getLanguage(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string


Retrieve the request method

  • « Yaf_Request_Abstract::getLanguage
  • Yaf_Request_Abstract::getModuleName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve the request method

Yaf_Request_Abstract::getMethod

(Yaf >=1.0.0)

Yaf_Request_Abstract::getMethod — Retrieve the request method

Açıklama

public Yaf_Request_Abstract::getMethod(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return a string, like "POST", "GET" etc.

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


The getModuleName purpose

  • « Yaf_Request_Abstract::getMethod
  • Yaf_Request_Abstract::getParam »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getModuleName purpose

Yaf_Request_Abstract::getModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::getModuleName — The getModuleName purpose

Açıklama

public Yaf_Request_Abstract::getModuleName(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve calling parameter

  • « Yaf_Request_Abstract::getModuleName
  • Yaf_Request_Abstract::getParams »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve calling parameter

Yaf_Request_Abstract::getParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParam — Retrieve calling parameter

Açıklama

public Yaf_Request_Abstract::getParam(string $name, string $default = ?): mixed

Bağımsız Değişkenler

name

default

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Abstract::setParam() - Set a calling parameter to a request


Retrieve all calling parameters

  • « Yaf_Request_Abstract::getParam
  • Yaf_Request_Abstract::getRequestUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve all calling parameters

Yaf_Request_Abstract::getParams

(Yaf >=1.0.0)

Yaf_Request_Abstract::getParams — Retrieve all calling parameters

Açıklama

public Yaf_Request_Abstract::getParams(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Abstract::setParam() - Set a calling parameter to a request


The getRequestUri purpose

  • « Yaf_Request_Abstract::getParams
  • Yaf_Request_Abstract::getServer »
  • PHP Manual
  • Yaf_Request_Abstract
  • The getRequestUri purpose

Yaf_Request_Abstract::getRequestUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::getRequestUri — The getRequestUri purpose

Açıklama

public Yaf_Request_Abstract::getRequestUri(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve SERVER variable

  • « Yaf_Request_Abstract::getRequestUri
  • Yaf_Request_Abstract::isCli »
  • PHP Manual
  • Yaf_Request_Abstract
  • Retrieve SERVER variable

Yaf_Request_Abstract::getServer

(Yaf >=1.0.0)

Yaf_Request_Abstract::getServer — Retrieve SERVER variable

Açıklama

public Yaf_Request_Abstract::getServer(string $name, string $default = ?): void

Retrieve SERVER variable

Bağımsız Değişkenler

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter
  • Yaf_Request_Abstract::getEnv() - Retrieve ENV varialbe


Determine if request is CLI request

  • « Yaf_Request_Abstract::getServer
  • Yaf_Request_Abstract::isDispatched »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is CLI request

Yaf_Request_Abstract::isCli

(Yaf >=1.0.0)

Yaf_Request_Abstract::isCli — Determine if request is CLI request

Açıklama

public Yaf_Request_Abstract::isCli(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

bolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determin if the request is dispatched

  • « Yaf_Request_Abstract::isCli
  • Yaf_Request_Abstract::isGet »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determin if the request is dispatched

Yaf_Request_Abstract::isDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::isDispatched — Determin if the request is dispatched

Açıklama

public Yaf_Request_Abstract::isDispatched(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Dispatcher::dispatch() - Dispatch a request


Determine if request is GET request

  • « Yaf_Request_Abstract::isDispatched
  • Yaf_Request_Abstract::isHead »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is GET request

Yaf_Request_Abstract::isGet

(Yaf >=1.0.0)

Yaf_Request_Abstract::isGet — Determine if request is GET request

Açıklama

public Yaf_Request_Abstract::isGet(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is HEAD request

  • « Yaf_Request_Abstract::isGet
  • Yaf_Request_Abstract::isOptions »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is HEAD request

Yaf_Request_Abstract::isHead

(Yaf >=1.0.0)

Yaf_Request_Abstract::isHead — Determine if request is HEAD request

Açıklama

public Yaf_Request_Abstract::isHead(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is OPTIONS request

  • « Yaf_Request_Abstract::isHead
  • Yaf_Request_Abstract::isPost »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is OPTIONS request

Yaf_Request_Abstract::isOptions

(Yaf >=1.0.0)

Yaf_Request_Abstract::isOptions — Determine if request is OPTIONS request

Açıklama

public Yaf_Request_Abstract::isOptions(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean


Determine if request is POST request

  • « Yaf_Request_Abstract::isOptions
  • Yaf_Request_Abstract::isPut »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is POST request

Yaf_Request_Abstract::isPost

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPost — Determine if request is POST request

Açıklama

public Yaf_Request_Abstract::isPost(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determine if request is PUT request

  • « Yaf_Request_Abstract::isPost
  • Yaf_Request_Abstract::isRouted »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is PUT request

Yaf_Request_Abstract::isPut

(Yaf >=1.0.0)

Yaf_Request_Abstract::isPut — Determine if request is PUT request

Açıklama

public Yaf_Request_Abstract::isPut(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request


Determin if request has been routed

  • « Yaf_Request_Abstract::isPut
  • Yaf_Request_Abstract::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determin if request has been routed

Yaf_Request_Abstract::isRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::isRouted — Determin if request has been routed

Açıklama

public Yaf_Request_Abstract::isRouted(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean


Determine if request is AJAX request

  • « Yaf_Request_Abstract::isRouted
  • Yaf_Request_Abstract::setActionName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Determine if request is AJAX request

Yaf_Request_Abstract::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Abstract::isXmlHttpRequest — Determine if request is AJAX request

Açıklama

public Yaf_Request_Abstract::isXmlHttpRequest(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Ayrıca Bakınız

  • Yaf_Request_Abstract::isHead() - Determine if request is HEAD request
  • Yaf_Request_Abstract::isCli() - Determine if request is CLI request
  • Yaf_Request_Abstract::isPost() - Determine if request is POST request
  • Yaf_Request_Abstract::isPut() - Determine if request is PUT request
  • Yaf_Request_Abstract::isOptions() - Determine if request is OPTIONS request
  • Yaf_Request_Abstract::isGet() - Determine if request is GET request


Set action name

  • « Yaf_Request_Abstract::isXmlHttpRequest
  • Yaf_Request_Abstract::setBaseUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set action name

Yaf_Request_Abstract::setActionName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setActionName — Set action name

Açıklama

public Yaf_Request_Abstract::setActionName(string $action, bool $format_name = true): void

set action name to request, this is usually used by custom router to set route result controller name.

Bağımsız Değişkenler

action

string, action name, it should in lower case style, like "index" or "foo_bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into lower case style, if this is set to false , Yaf will set the original name to request.

Dönen Değerler


Set base URI

  • « Yaf_Request_Abstract::setActionName
  • Yaf_Request_Abstract::setControllerName »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set base URI

Yaf_Request_Abstract::setBaseUri

(Yaf >=1.0.0)

Yaf_Request_Abstract::setBaseUri — Set base URI

Açıklama

public Yaf_Request_Abstract::setBaseUri(string $uir): bool

Set base URI, base URI is used when doing routing, in routing phase request URI is used to route a request, while base URI is used to skip the leadding part(base URI) of request URI. That is, if comes a request with request URI a/b/c, then if you set base URI to "a/b", only "/c" will be used in routing phase.

Bilginize:

generally, you don't need to set this, Yaf will determine it automatically.

Bağımsız Değişkenler

uir

base URI

Dönen Değerler

bool


Set controller name

  • « Yaf_Request_Abstract::setBaseUri
  • Yaf_Request_Abstract::setDispatched »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set controller name

Yaf_Request_Abstract::setControllerName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setControllerName — Set controller name

Açıklama

public Yaf_Request_Abstract::setControllerName(string $controller, bool $format_name = true): void

set controller name to request, this is usually used by custom router to set route result controller name.

Bağımsız Değişkenler

controller

string, controller name, this should be in camel style, like "Index" or "Foo_Bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into camel mode, if this is set to false , Yaf will set the original name to request.

Dönen Değerler


The setDispatched purpose

  • « Yaf_Request_Abstract::setControllerName
  • Yaf_Request_Abstract::setModuleName »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setDispatched purpose

Yaf_Request_Abstract::setDispatched

(Yaf >=1.0.0)

Yaf_Request_Abstract::setDispatched — The setDispatched purpose

Açıklama

public Yaf_Request_Abstract::setDispatched(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set module name

  • « Yaf_Request_Abstract::setDispatched
  • Yaf_Request_Abstract::setParam »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set module name

Yaf_Request_Abstract::setModuleName

(Yaf >=1.0.0)

Yaf_Request_Abstract::setModuleName — Set module name

Açıklama

public Yaf_Request_Abstract::setModuleName(string $module, bool $format_name = true): void

set module name to request, this is usually used by custom router to set route result module name.

Bağımsız Değişkenler

module

string module name, it should be in camel style, like "Index" or "Foo_Bar"

format_name

this is introduced in Yaf 3.2.0, by default Yaf will format the name into camel mode, if this is set to false , Yaf will set the original name to request.

Dönen Değerler


Set a calling parameter to a request

  • « Yaf_Request_Abstract::setModuleName
  • Yaf_Request_Abstract::setRequestUri »
  • PHP Manual
  • Yaf_Request_Abstract
  • Set a calling parameter to a request

Yaf_Request_Abstract::setParam

(Yaf >=1.0.0)

Yaf_Request_Abstract::setParam — Set a calling parameter to a request

Açıklama

public Yaf_Request_Abstract::setParam(string $name, string $value = ?): bool

Set a parameter to request, which can be retrieved by Yaf_Request_Abstract::getParam()

Bağımsız Değişkenler

name

value

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter
  • Yaf_Request_Abstract::getParams() - Retrieve all calling parameters


The setRequestUri purpose

  • « Yaf_Request_Abstract::setParam
  • Yaf_Request_Abstract::setRouted »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setRequestUri purpose

Yaf_Request_Abstract::setRequestUri

(Yaf >=2.1.0)

Yaf_Request_Abstract::setRequestUri — The setRequestUri purpose

Açıklama

public Yaf_Request_Abstract::setRequestUri(string $uir): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

uir

Dönen Değerler


The setRouted purpose

  • « Yaf_Request_Abstract::setRequestUri
  • Yaf_Request_Http »
  • PHP Manual
  • Yaf_Request_Abstract
  • The setRouted purpose

Yaf_Request_Abstract::setRouted

(Yaf >=1.0.0)

Yaf_Request_Abstract::setRouted — The setRouted purpose

Açıklama

public Yaf_Request_Abstract::setRouted(string $flag = ?): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

flag

Dönen Değerler


The Yaf_Request_Http class

(Yaf >=1.0.0)

Giriş

Any request from client is initialized as a Yaf_Request_Http. you can get the request information like, uri query and post parameters via methods of this class.

Bilginize:

For security, $_GET/$_POST are readonly in Yaf, which means if you set a value to these global variables, you can not get it from Yaf_Request_Http::getQuery() or Yaf_Request_Http::getPost().

But there do is some usage need such feature, like unit testing. thus Yaf can be built with --enable-yaf-debug, which will allow Yaf read the value user set via script.

in such case, Yaf will throw a E_STRICT warning to remind you about that: Strict Standards: you are running yaf in debug mode

Sınıf Sözdizimi

class Yaf_Request_Http extends Yaf_Request_Abstract {
/* Özellikler */
/* Yöntemler */
public __construct(string $request_uri = ?, string $base_uri = ?)
public get(string $name, string $default = ?): mixed
public getCookie(string $name, string $default = ?): mixed
public getFiles(): void
public getPost(string $name, string $default = ?): mixed
public getQuery(string $name, string $default = ?): mixed
public getRaw(): mixed
public getRequest(): void
public isXmlHttpRequest(): bool
/* Miras alınan yöntemler */
public Yaf_Request_Abstract::clearParams(): bool
public Yaf_Request_Abstract::getActionName(): void
public Yaf_Request_Abstract::getBaseUri(): void
public Yaf_Request_Abstract::getControllerName(): void
public Yaf_Request_Abstract::getEnv(string $name, string $default = ?): void
public Yaf_Request_Abstract::getException(): void
public Yaf_Request_Abstract::getLanguage(): void
public Yaf_Request_Abstract::getMethod(): string
public Yaf_Request_Abstract::getModuleName(): void
public Yaf_Request_Abstract::getParam(string $name, string $default = ?): mixed
public Yaf_Request_Abstract::getParams(): array
public Yaf_Request_Abstract::getRequestUri(): void
public Yaf_Request_Abstract::getServer(string $name, string $default = ?): void
public Yaf_Request_Abstract::isCli(): bool
public Yaf_Request_Abstract::isDispatched(): bool
public Yaf_Request_Abstract::isGet(): bool
public Yaf_Request_Abstract::isHead(): bool
public Yaf_Request_Abstract::isOptions(): bool
public Yaf_Request_Abstract::isPost(): bool
public Yaf_Request_Abstract::isPut(): bool
public Yaf_Request_Abstract::isRouted(): bool
public Yaf_Request_Abstract::isXmlHttpRequest(): bool
public Yaf_Request_Abstract::setActionName(string $action, bool $format_name = true): void
public Yaf_Request_Abstract::setBaseUri(string $uir): bool
public Yaf_Request_Abstract::setControllerName(string $controller, bool $format_name = true): void
public Yaf_Request_Abstract::setDispatched(): void
public Yaf_Request_Abstract::setModuleName(string $module, bool $format_name = true): void
public Yaf_Request_Abstract::setParam(string $name, string $value = ?): bool
public Yaf_Request_Abstract::setRequestUri(string $uir): void
public Yaf_Request_Abstract::setRouted(string $flag = ?): void
}

Özellikler

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

İçindekiler

  • Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http
  • Yaf_Request_Http::get — Retrieve variable from client
  • Yaf_Request_Http::getCookie — Retrieve Cookie variable
  • Yaf_Request_Http::getFiles — The getFiles purpose
  • Yaf_Request_Http::getPost — Retrieve POST variable
  • Yaf_Request_Http::getQuery — Fetch a query parameter
  • Yaf_Request_Http::getRaw — Retrieve Raw request body
  • Yaf_Request_Http::getRequest — The getRequest purpose
  • Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request


Constructor of Yaf_Request_Http

  • « Yaf_Request_Http
  • Yaf_Request_Http::get »
  • PHP Manual
  • Yaf_Request_Http
  • Constructor of Yaf_Request_Http

Yaf_Request_Http::__construct

(Yaf >=1.0.0)

Yaf_Request_Http::__construct — Constructor of Yaf_Request_Http

Açıklama

public Yaf_Request_Http::__construct(string $request_uri = ?, string $base_uri = ?)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve variable from client

  • « Yaf_Request_Http::__construct
  • Yaf_Request_Http::getCookie »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve variable from client

Yaf_Request_Http::get

(Yaf >=1.0.0)

Yaf_Request_Http::get — Retrieve variable from client

Açıklama

public Yaf_Request_Http::get(string $name, string $default = ?): mixed

Retrieve variable from client, this method will search the name in request pramas, if the name is not found, then will search in POST, GET, Cookie, Server

Bağımsız Değişkenler

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Retrieve Cookie variable

  • « Yaf_Request_Http::get
  • Yaf_Request_Http::getFiles »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve Cookie variable

Yaf_Request_Http::getCookie

(Yaf >=1.0.0)

Yaf_Request_Http::getCookie — Retrieve Cookie variable

Açıklama

public Yaf_Request_Http::getCookie(string $name, string $default = ?): mixed

Retrieve Cookie variable

Bağımsız Değişkenler

name

the cookie name

default

if this parameter is provide, this will be returned if the cookie can not be found

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getFiles purpose

  • « Yaf_Request_Http::getCookie
  • Yaf_Request_Http::getPost »
  • PHP Manual
  • Yaf_Request_Http
  • The getFiles purpose

Yaf_Request_Http::getFiles

(Yaf >=1.0.0)

Yaf_Request_Http::getFiles — The getFiles purpose

Açıklama

public Yaf_Request_Http::getFiles(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve POST variable

  • « Yaf_Request_Http::getFiles
  • Yaf_Request_Http::getQuery »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve POST variable

Yaf_Request_Http::getPost

(Yaf >=1.0.0)

Yaf_Request_Http::getPost — Retrieve POST variable

Açıklama

public Yaf_Request_Http::getPost(string $name, string $default = ?): mixed

Retrieve POST variable

Bağımsız Değişkenler

name

the variable name

default

if this parameter is provide, this will be returned if the varialbe can not be found

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Fetch a query parameter

  • « Yaf_Request_Http::getPost
  • Yaf_Request_Http::getRaw »
  • PHP Manual
  • Yaf_Request_Http
  • Fetch a query parameter

Yaf_Request_Http::getQuery

(Yaf >=1.0.0)

Yaf_Request_Http::getQuery — Fetch a query parameter

Açıklama

public Yaf_Request_Http::getQuery(string $name, string $default = ?): mixed

Retrieve GET variable

Bağımsız Değişkenler

name

the variable name

default

if this parameter is provide, this will be returned if the variable can not be found

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getRaw() - Retrieve Raw request body
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


Retrieve Raw request body

  • « Yaf_Request_Http::getQuery
  • Yaf_Request_Http::getRequest »
  • PHP Manual
  • Yaf_Request_Http
  • Retrieve Raw request body

Yaf_Request_Http::getRaw

(Yaf >=3.0.7)

Yaf_Request_Http::getRaw — Retrieve Raw request body

Açıklama

public Yaf_Request_Http::getRaw(): mixed

Retrieve Raw request body

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return string on success, FALSE on failure.

Ayrıca Bakınız

  • Yaf_Request_Http::get() - Retrieve variable from client
  • Yaf_Request_Http::getPost() - Retrieve POST variable
  • Yaf_Request_Http::getCookie() - Retrieve Cookie variable
  • Yaf_Request_Http::getQuery() - Fetch a query parameter
  • Yaf_Request_Abstract::getServer() - Retrieve SERVER variable
  • Yaf_Request_Abstract::getParam() - Retrieve calling parameter


The getRequest purpose

  • « Yaf_Request_Http::getRaw
  • Yaf_Request_Http::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Http
  • The getRequest purpose

Yaf_Request_Http::getRequest

(Yaf >=1.0.0)

Yaf_Request_Http::getRequest — The getRequest purpose

Açıklama

public Yaf_Request_Http::getRequest(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Determin if request is Ajax Request

  • « Yaf_Request_Http::getRequest
  • Yaf_Request_Simple »
  • PHP Manual
  • Yaf_Request_Http
  • Determin if request is Ajax Request

Yaf_Request_Http::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Http::isXmlHttpRequest — Determin if request is Ajax Request

Açıklama

public Yaf_Request_Http::isXmlHttpRequest(): bool

Check the request whether it is a Ajax Request.

Bilginize:

This method depends on the request header: HTTP_X_REQUESTED_WITH, some Javascript library doesn't set this header while doing Ajax request

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean


The Yaf_Request_Simple class

(Yaf >=1.0.0)

Giriş

Yaf_Request_Simple is particularlly used for test puporse. ie. simulate some espacial request under CLI mode.

Sınıf Sözdizimi

class Yaf_Request_Simple extends Yaf_Request_Abstract {
/* Sabitler */
const string SCHEME_HTTP = http;
const string SCHEME_HTTPS = https;
/* Özellikler */
/* Yöntemler */
public __construct(
string $method = ?,
string $module = ?,
string $controller = ?,
string $action = ?,
array $params = ?
)
public get(): void
public getCookie(): void
public getFiles(): void
public getPost(): void
public getQuery(): void
public getRequest(): void
public isXmlHttpRequest(): void
/* Miras alınan yöntemler */
public Yaf_Request_Abstract::clearParams(): bool
public Yaf_Request_Abstract::getActionName(): void
public Yaf_Request_Abstract::getBaseUri(): void
public Yaf_Request_Abstract::getControllerName(): void
public Yaf_Request_Abstract::getEnv(string $name, string $default = ?): void
public Yaf_Request_Abstract::getException(): void
public Yaf_Request_Abstract::getLanguage(): void
public Yaf_Request_Abstract::getMethod(): string
public Yaf_Request_Abstract::getModuleName(): void
public Yaf_Request_Abstract::getParam(string $name, string $default = ?): mixed
public Yaf_Request_Abstract::getParams(): array
public Yaf_Request_Abstract::getRequestUri(): void
public Yaf_Request_Abstract::getServer(string $name, string $default = ?): void
public Yaf_Request_Abstract::isCli(): bool
public Yaf_Request_Abstract::isDispatched(): bool
public Yaf_Request_Abstract::isGet(): bool
public Yaf_Request_Abstract::isHead(): bool
public Yaf_Request_Abstract::isOptions(): bool
public Yaf_Request_Abstract::isPost(): bool
public Yaf_Request_Abstract::isPut(): bool
public Yaf_Request_Abstract::isRouted(): bool
public Yaf_Request_Abstract::isXmlHttpRequest(): bool
public Yaf_Request_Abstract::setActionName(string $action, bool $format_name = true): void
public Yaf_Request_Abstract::setBaseUri(string $uir): bool
public Yaf_Request_Abstract::setControllerName(string $controller, bool $format_name = true): void
public Yaf_Request_Abstract::setDispatched(): void
public Yaf_Request_Abstract::setModuleName(string $module, bool $format_name = true): void
public Yaf_Request_Abstract::setParam(string $name, string $value = ?): bool
public Yaf_Request_Abstract::setRequestUri(string $uir): void
public Yaf_Request_Abstract::setRouted(string $flag = ?): void
}

Özellikler

module

controller

action

method

params

language

_exception

_base_uri

uri

dispatched

routed

Öntanımlı Sabitler

Yaf_Request_Simple::SCHEME_HTTP

Yaf_Request_Simple::SCHEME_HTTPS

İçindekiler

  • Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple
  • Yaf_Request_Simple::get — The get purpose
  • Yaf_Request_Simple::getCookie — The getCookie purpose
  • Yaf_Request_Simple::getFiles — The getFiles purpose
  • Yaf_Request_Simple::getPost — The getPost purpose
  • Yaf_Request_Simple::getQuery — The getQuery purpose
  • Yaf_Request_Simple::getRequest — The getRequest purpose
  • Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request


Constructor of Yaf_Request_Simple

  • « Yaf_Request_Simple
  • Yaf_Request_Simple::get »
  • PHP Manual
  • Yaf_Request_Simple
  • Constructor of Yaf_Request_Simple

Yaf_Request_Simple::__construct

(Yaf >=1.0.0)

Yaf_Request_Simple::__construct — Constructor of Yaf_Request_Simple

Açıklama

public Yaf_Request_Simple::__construct(
string $method = ?,
string $module = ?,
string $controller = ?,
string $action = ?,
array $params = ?
)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The get purpose

  • « Yaf_Request_Simple::__construct
  • Yaf_Request_Simple::getCookie »
  • PHP Manual
  • Yaf_Request_Simple
  • The get purpose

Yaf_Request_Simple::get

(Yaf >=1.0.0)

Yaf_Request_Simple::get — The get purpose

Açıklama

public Yaf_Request_Simple::get(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getCookie purpose

  • « Yaf_Request_Simple::get
  • Yaf_Request_Simple::getFiles »
  • PHP Manual
  • Yaf_Request_Simple
  • The getCookie purpose

Yaf_Request_Simple::getCookie

(Yaf >=1.0.0)

Yaf_Request_Simple::getCookie — The getCookie purpose

Açıklama

public Yaf_Request_Simple::getCookie(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getFiles purpose

  • « Yaf_Request_Simple::getCookie
  • Yaf_Request_Simple::getPost »
  • PHP Manual
  • Yaf_Request_Simple
  • The getFiles purpose

Yaf_Request_Simple::getFiles

(Yaf >=1.0.0)

Yaf_Request_Simple::getFiles — The getFiles purpose

Açıklama

public Yaf_Request_Simple::getFiles(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getPost purpose

  • « Yaf_Request_Simple::getFiles
  • Yaf_Request_Simple::getQuery »
  • PHP Manual
  • Yaf_Request_Simple
  • The getPost purpose

Yaf_Request_Simple::getPost

(Yaf >=1.0.0)

Yaf_Request_Simple::getPost — The getPost purpose

Açıklama

public Yaf_Request_Simple::getPost(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getQuery purpose

  • « Yaf_Request_Simple::getPost
  • Yaf_Request_Simple::getRequest »
  • PHP Manual
  • Yaf_Request_Simple
  • The getQuery purpose

Yaf_Request_Simple::getQuery

(Yaf >=1.0.0)

Yaf_Request_Simple::getQuery — The getQuery purpose

Açıklama

public Yaf_Request_Simple::getQuery(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getRequest purpose

  • « Yaf_Request_Simple::getQuery
  • Yaf_Request_Simple::isXmlHttpRequest »
  • PHP Manual
  • Yaf_Request_Simple
  • The getRequest purpose

Yaf_Request_Simple::getRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::getRequest — The getRequest purpose

Açıklama

public Yaf_Request_Simple::getRequest(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Determin if request is AJAX request

  • « Yaf_Request_Simple::getRequest
  • Yaf_Response_Abstract »
  • PHP Manual
  • Yaf_Request_Simple
  • Determin if request is AJAX request

Yaf_Request_Simple::isXmlHttpRequest

(Yaf >=1.0.0)

Yaf_Request_Simple::isXmlHttpRequest — Determin if request is AJAX request

Açıklama

public Yaf_Request_Simple::isXmlHttpRequest(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Always returns false for Yaf_Request_Simple

Ayrıca Bakınız

  • Yaf_Request_Abstract::isXmlHTTPRequest() - Determine if request is AJAX request
  • Yaf_Request_Http::isXmlHTTPRequest() - Determin if request is Ajax Request


The Yaf_Response_Abstract class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Response_Abstract {
/* Sabitler */
const string DEFAULT_BODY = "content";
/* Özellikler */
protected $_header;
protected $_body;
protected $_sendheader;
/* Yöntemler */
public __construct()
public appendBody(string $content, string $key = ?): bool
public clearBody(string $key = ?): bool
public clearHeaders(): void
public getBody(string $key = ?): mixed
public getHeader(): void
public prependBody(string $content, string $key = ?): bool
public response(): void
protected setAllHeaders(): void
public setBody(string $content, string $key = ?): bool
public setHeader(string $name, string $value, bool $replace = ?): bool
public setRedirect(string $url): bool
private __toString(): string
public __destruct()
}

Özellikler

_header

_body

_sendheader

İçindekiler

  • Yaf_Response_Abstract::appendBody — Append to response body
  • Yaf_Response_Abstract::clearBody — Discard all exists response body
  • Yaf_Response_Abstract::clearHeaders — Discard all set headers
  • Yaf_Response_Abstract::__construct — The __construct purpose
  • Yaf_Response_Abstract::__destruct — The __destruct purpose
  • Yaf_Response_Abstract::getBody — Retrieve a exists content
  • Yaf_Response_Abstract::getHeader — The getHeader purpose
  • Yaf_Response_Abstract::prependBody — The prependBody purpose
  • Yaf_Response_Abstract::response — Send response
  • Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose
  • Yaf_Response_Abstract::setBody — Set content to response
  • Yaf_Response_Abstract::setHeader — Set reponse header
  • Yaf_Response_Abstract::setRedirect — The setRedirect purpose
  • Yaf_Response_Abstract::__toString — Retrieve all bodys as string


Append to response body

  • « Yaf_Response_Abstract
  • Yaf_Response_Abstract::clearBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • Append to response body

Yaf_Response_Abstract::appendBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::appendBody — Append to response body

Açıklama

public Yaf_Response_Abstract::appendBody(string $content, string $key = ?): bool

Append a content to a exists content block

Bağımsız Değişkenler

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Bilginize:

this parameter is introduced as of 2.2.0

Dönen Değerler

bool

Örnekler

Örnek 1 Yaf_Response_Abstract::appendBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->prependBody(" World");

echo $response;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hello World

Ayrıca Bakınız

  • Yaf_Config_Ini
  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Discard all exists response body

  • « Yaf_Response_Abstract::appendBody
  • Yaf_Response_Abstract::clearHeaders »
  • PHP Manual
  • Yaf_Response_Abstract
  • Discard all exists response body

Yaf_Response_Abstract::clearBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearBody — Discard all exists response body

Açıklama

public Yaf_Response_Abstract::clearBody(string $key = ?): bool

Clear existsed content

Bağımsız Değişkenler

key

the content key, if you don't specific, then all contents will be cleared.

Bilginize:

this parameter is introduced as of 2.2.0

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::getBody() - Retrieve a exists content


Discard all set headers

  • « Yaf_Response_Abstract::clearBody
  • Yaf_Response_Abstract::__construct »
  • PHP Manual
  • Yaf_Response_Abstract
  • Discard all set headers

Yaf_Response_Abstract::clearHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::clearHeaders — Discard all set headers

Açıklama

public Yaf_Response_Abstract::clearHeaders(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Response_Abstract::getHeader() - The getHeader purpose
  • Yaf_Response_Abstract::setHeader() - Set reponse header


The __construct purpose

  • « Yaf_Response_Abstract::clearHeaders
  • Yaf_Response_Abstract::__destruct »
  • PHP Manual
  • Yaf_Response_Abstract
  • The __construct purpose

Yaf_Response_Abstract::__construct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__construct — The __construct purpose

Açıklama

public Yaf_Response_Abstract::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __destruct purpose

  • « Yaf_Response_Abstract::__construct
  • Yaf_Response_Abstract::getBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The __destruct purpose

Yaf_Response_Abstract::__destruct

(Yaf >=1.0.0)

Yaf_Response_Abstract::__destruct — The __destruct purpose

Açıklama

public Yaf_Response_Abstract::__destruct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieve a exists content

  • « Yaf_Response_Abstract::__destruct
  • Yaf_Response_Abstract::getHeader »
  • PHP Manual
  • Yaf_Response_Abstract
  • Retrieve a exists content

Yaf_Response_Abstract::getBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::getBody — Retrieve a exists content

Açıklama

public Yaf_Response_Abstract::getBody(string $key = ?): mixed

Retrieve a exists content

Bağımsız Değişkenler

key

the content key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used. if you pass in a null, then all contents will be returned as a array

Bilginize:

this parameter is introduced as of 2.2.0

Dönen Değerler

Örnekler

Örnek 1 Yaf_Response_Abstract::getBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

var_dump($response->getBody()); //default
var_dump($response->getBody(Yaf_Response_Abstract::DEFAULT_BODY)); //same as above
var_dump($response->getBody("footer"));
var_dump($response->getBody(NULL)); //get all
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "Hello"
string(5) "Hello"
string(6) " World"
array(2) {
  ["content"]=>
  string(5) "Hello"
  ["footer"]=>
  string(6) " World"
}

Ayrıca Bakınız

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


The getHeader purpose

  • « Yaf_Response_Abstract::getBody
  • Yaf_Response_Abstract::prependBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The getHeader purpose

Yaf_Response_Abstract::getHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::getHeader — The getHeader purpose

Açıklama

public Yaf_Response_Abstract::getHeader(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Response_Abstract::setHeader() - Set reponse header
  • Yaf_Response_Abstract::cleanHeaders()


The prependBody purpose

  • « Yaf_Response_Abstract::getHeader
  • Yaf_Response_Abstract::response »
  • PHP Manual
  • Yaf_Response_Abstract
  • The prependBody purpose

Yaf_Response_Abstract::prependBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::prependBody — The prependBody purpose

Açıklama

public Yaf_Response_Abstract::prependBody(string $content, string $key = ?): bool

prepend a content to a exists content block

Bağımsız Değişkenler

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Bilginize:

this parameter is introduced as of 2.2.0

Dönen Değerler

bool

Örnekler

Örnek 1 Yaf_Response_Abstract::prependBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("World")->prependBody("Hello ");

echo $response;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hello World

Ayrıca Bakınız

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Send response

  • « Yaf_Response_Abstract::prependBody
  • Yaf_Response_Abstract::setAllHeaders »
  • PHP Manual
  • Yaf_Response_Abstract
  • Send response

Yaf_Response_Abstract::response

(Yaf >=1.0.0)

Yaf_Response_Abstract::response — Send response

Açıklama

public Yaf_Response_Abstract::response(): void

send response

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Response_Abstract::response()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

$response->response();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Hello World

Ayrıca Bakınız

  • Yaf_Response_Abstract::setBody() - Set content to response
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


The setAllHeaders purpose

  • « Yaf_Response_Abstract::response
  • Yaf_Response_Abstract::setBody »
  • PHP Manual
  • Yaf_Response_Abstract
  • The setAllHeaders purpose

Yaf_Response_Abstract::setAllHeaders

(Yaf >=1.0.0)

Yaf_Response_Abstract::setAllHeaders — The setAllHeaders purpose

Açıklama

protected Yaf_Response_Abstract::setAllHeaders(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set content to response

  • « Yaf_Response_Abstract::setAllHeaders
  • Yaf_Response_Abstract::setHeader »
  • PHP Manual
  • Yaf_Response_Abstract
  • Set content to response

Yaf_Response_Abstract::setBody

(Yaf >=1.0.0)

Yaf_Response_Abstract::setBody — Set content to response

Açıklama

public Yaf_Response_Abstract::setBody(string $content, string $key = ?): bool

Set content to response

Bağımsız Değişkenler

body

content string

key

the content key, you can set a content with a key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY will be used

Bilginize:

this parameter is introduced as of 2.2.0

Dönen Değerler

Örnekler

Örnek 1 Yaf_Response_Abstract::setBody()example

<?php
$response = new Yaf_Response_Http();

$response->setBody("Hello")->setBody(" World", "footer");

print_r($response);
echo $response;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yaf_Response_Http Object
(
    [_header:protected] => Array
        (
        )

    [_body:protected] => Array
        (
            [content] => Hello
            [footer] =>  World
        )

    [_sendheader:protected] => 1
    [_response_code:protected] => 200
)
Hello World

Ayrıca Bakınız

  • Yaf_Response_Abstract::getBody() - Retrieve a exists content
  • Yaf_Response_Abstract::appendBody() - Append to response body
  • Yaf_Response_Abstract::prependBody() - The prependBody purpose
  • Yaf_Response_Abstract::clearBody() - Discard all exists response body


Set reponse header

  • « Yaf_Response_Abstract::setBody
  • Yaf_Response_Abstract::setRedirect »
  • PHP Manual
  • Yaf_Response_Abstract
  • Set reponse header

Yaf_Response_Abstract::setHeader

(Yaf >=1.0.0)

Yaf_Response_Abstract::setHeader — Set reponse header

Açıklama

public Yaf_Response_Abstract::setHeader(string $name, string $value, bool $replace = ?): bool

Used to send a HTTP header

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Response_Abstract::getHeader() - The getHeader purpose
  • Yaf_Response_Abstract::cleanHeaders()


The setRedirect purpose

  • « Yaf_Response_Abstract::setHeader
  • Yaf_Response_Abstract::__toString »
  • PHP Manual
  • Yaf_Response_Abstract
  • The setRedirect purpose

Yaf_Response_Abstract::setRedirect

(Yaf >=1.0.0)

Yaf_Response_Abstract::setRedirect — The setRedirect purpose

Açıklama

public Yaf_Response_Abstract::setRedirect(string $url): bool

Bağımsız Değişkenler

url

address redircted to

Dönen Değerler


Retrieve all bodys as string

  • « Yaf_Response_Abstract::setRedirect
  • Yaf_Route_Interface »
  • PHP Manual
  • Yaf_Response_Abstract
  • Retrieve all bodys as string

Yaf_Response_Abstract::__toString

(Yaf >=1.0.0)

Yaf_Response_Abstract::__toString — Retrieve all bodys as string

Açıklama

private Yaf_Response_Abstract::__toString(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Route_Interface class

(Yaf >=1.0.0)

Giriş

Yaf_Route_Interface used for developer defined their custom route.

Sınıf Sözdizimi

class Yaf_Route_Interface {
/* Yöntemler */
abstract public assemble(array $info, array $query = ?): string
abstract public route(Yaf_Request_Abstract $request): bool
}

İçindekiler

  • Yaf_Route_Interface::assemble — Assemble a request
  • Yaf_Route_Interface::route — Route a request


Assemble a request

  • « Yaf_Route_Interface
  • Yaf_Route_Interface::route »
  • PHP Manual
  • Yaf_Route_Interface
  • Assemble a request

Yaf_Route_Interface::assemble

(Yaf >=2.3.0)

Yaf_Route_Interface::assemble — Assemble a request

Açıklama

abstract public Yaf_Route_Interface::assemble(array $info, array $query = ?): string

this method returns a url according to the argument info, and append query strings to the url according to the argument query.

a route should implement this method according to its own route rules, and do a reverse progress.

Bağımsız Değişkenler

info

query

Dönen Değerler


Route a request

  • « Yaf_Route_Interface::assemble
  • Yaf_Route_Map »
  • PHP Manual
  • Yaf_Route_Interface
  • Route a request

Yaf_Route_Interface::route

(Yaf >=1.0.0)

Yaf_Route_Interface::route — Route a request

Açıklama

abstract public Yaf_Route_Interface::route(Yaf_Request_Abstract $request): bool

Yaf_Route_Interface::route() is the only method that a custom route should implement.

Bilginize:

since of 2.3.0, there is another method should also be implemented, see Yaf_Route_Interface::assemble().

if this method return true, then the route process will be end. otherwise, Yaf_Router will call next route in the route stack to route request.

This method would set the route result to the parameter request, by
calling Yaf_Request_Abstract::setControllerName(),
Yaf_Request_Abstract::setActionName() and
Yaf_Request_Abstract::setModuleName().

This method should also call Yaf_Request_Abstract::setRouted() to make the request routed at last.

Bağımsız Değişkenler

request

A Yaf_Request_Abstract instance.

Dönen Değerler


The Yaf_Route_Map class

(Yaf >=1.0.0)

Giriş

Yaf_Route_Map is a built-in route, it simply convert a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) to a controller name or action name(depends on the parameter passed to Yaf_Route_Map::__construct()) in following rule: A => controller A. A/B/C => controller A_B_C. A/B/C/D/E => controller A_B_C_D_E.

If the second parameter of Yaf_Route_Map::__construct() is specified, then only the part before delimiter of URI will used to routing, the part after it is used to routing request parameters (see the example section of Yaf_Route_Map::__construct()).

Sınıf Sözdizimi

class Yaf_Route_Map implements Yaf_Route_Interface {
/* Özellikler */
protected $_ctl_router;
protected $_delimiter;
/* Yöntemler */
public __construct(string $controller_prefer = false, string $delimiter = "")
public assemble(array $info, array $query = ?): string
public route(Yaf_Request_Abstract $request): bool
}

Özellikler

_ctl_router

_delimiter

İçindekiler

  • Yaf_Route_Map::assemble — Assemble a url
  • Yaf_Route_Map::__construct — The __construct purpose
  • Yaf_Route_Map::route — The route purpose


Assemble a url

  • « Yaf_Route_Map
  • Yaf_Route_Map::__construct »
  • PHP Manual
  • Yaf_Route_Map
  • Assemble a url

Yaf_Route_Map::assemble

(Yaf >=2.3.0)

Yaf_Route_Map::assemble — Assemble a url

Açıklama

public Yaf_Route_Map::assemble(array $info, array $query = ?): string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns string on success or null on failure.

Hatalar/İstisnalar

May throw Yaf_Exception_TypeError.

Örnekler

Örnek 1 Yaf_Route_Map::assemble()example

<?php

$router = new Yaf_Router();

$route = new Yaf_Route_Map();

$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
array(
':c' => 'foo_bar'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);

$route = new Yaf_Route_Map(true, '_');
$router->addRoute("map", $route);

var_dump($router->getRoute('map')->assemble(
array(
':a' => 'foo_bar'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(%d) "/foo/bar?tkey1=tval1&tkey2=tval2"
string(%d) "/foo/bar/_/tkey1/tval1/tkey2/tval2"


The __construct purpose

  • « Yaf_Route_Map::assemble
  • Yaf_Route_Map::route »
  • PHP Manual
  • Yaf_Route_Map
  • The __construct purpose

Yaf_Route_Map::__construct

(Yaf >=1.0.0)

Yaf_Route_Map::__construct — The __construct purpose

Açıklama

public Yaf_Route_Map::__construct(string $controller_prefer = false, string $delimiter = "")

Bağımsız Değişkenler

controller_prefer

Whether the result should considering as controller or action

delimiter

Dönen Değerler

Örnekler

Örnek 1 Yaf_Route_Map()example

<?php
/**
* Add a map route to Yaf_Router route stack
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Map());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/product/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product_foo_bar",
)

Örnek 2 Yaf_Route_Map()example

<?php
/**
* Add a map route to Yaf_Router route stack
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Map(true, "_"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/user/list/_/foo/22
 * route will result in following values:
 */
array(
    "action" => "user_list",
)

/**
 * and request parameters:
 */
array(
  "foo"   => 22,
)

Örnek 3 Yaf_Route_Map()example

<?php
/**
* Add a map route to Yaf_Router route stack by calling addconfig
*/
$config = array(
"name" => array(
"type" => "map", //Yaf_Route_Map route
"controllerPrefer" => FALSE,
"delimiter" => "#!",
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>

Ayrıca Bakınız

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite


The route purpose

  • « Yaf_Route_Map::__construct
  • Yaf_Route_Regex »
  • PHP Manual
  • Yaf_Route_Map
  • The route purpose

Yaf_Route_Map::route

(Yaf >=1.0.0)

Yaf_Route_Map::route — The route purpose

Açıklama

public Yaf_Route_Map::route(Yaf_Request_Abstract $request): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

Dönen Değerler


The Yaf_Route_Regex class

(Yaf >=1.0.0)

Giriş

Yaf_Route_Regex is the most flexible route among the Yaf built-in routes.

Sınıf Sözdizimi

class Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Özellikler */
protected $_route;
protected $_default;
protected $_maps;
protected $_verify;
/* Yöntemler */
public __construct(
string $match,
array $route,
array $map = ?,
array $verify = ?,
string $reverse = ?
)
public assemble(array $info, array $query = ?): ?string
public route(Yaf_Request_Abstract $request): bool
/* Miras alınan yöntemler */
abstract public Yaf_Route_Interface::assemble(array $info, array $query = ?): string
abstract public Yaf_Route_Interface::route(Yaf_Request_Abstract $request): bool
}

Özellikler

_route

_default

_maps

_verify

İçindekiler

  • Yaf_Route_Regex::assemble — Assemble a url
  • Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor
  • Yaf_Route_Regex::route — The route purpose


Assemble a url

  • « Yaf_Route_Regex
  • Yaf_Route_Regex::__construct »
  • PHP Manual
  • Yaf_Route_Regex
  • Assemble a url

Yaf_Route_Regex::assemble

(Yaf >=2.3.0)

Yaf_Route_Regex::assemble — Assemble a url

Açıklama

public Yaf_Route_Regex::assemble(array $info, array $query = ?): ?string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns string on success or null on failure.

Örnekler

Örnek 1 Yaf_Route_Regex::assemble()example

<?php

$router = new Yaf_Router();

$route = new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#",
array(
'controller' => "product", //route to product controller,
),
array(),
array(),
'/:m/:c/:a'
);

$router->addRoute("regex", $route);

var_dump($router->getRoute('regex')->assemble(
array(
':m' => 'module',
':c' => 'controller',
':a' => 'action'
),
array(
'tkey1' => 'tval1',
'tkey2' =>
'tval2'
)
)
);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(49) "/module/controller/action?tkey1=tval1&tkey2=tval2"


Yaf_Route_Regex constructor

  • « Yaf_Route_Regex::assemble
  • Yaf_Route_Regex::route »
  • PHP Manual
  • Yaf_Route_Regex
  • Yaf_Route_Regex constructor

Yaf_Route_Regex::__construct

(Yaf >=1.0.0)

Yaf_Route_Regex::__construct — Yaf_Route_Regex constructor

Açıklama

public Yaf_Route_Regex::__construct(
string $match,
array $route,
array $map = ?,
array $verify = ?,
string $reverse = ?
)

Bağımsız Değişkenler

match

A complete Regex pattern, will be used to match a request uri, if doesn't matched, Yaf_Route_Regex will return false.

route

When the match pattern matches the request uri, Yaf_Route_Regex will use this to decide which m/c/a to routed.

either of m/c/a in this array is optianl, if you don't assgian a specific value, it will be routed to default.

map

A array to assign name to the captrues in the match result.

verify

reverse

a string, used to assemble url, see Yaf_Route_Regex::assemble().

Bilginize:

this parameter is introduced in 2.3.0

Dönen Değerler

Örnekler

Örnek 1 Yaf_Route_Regex()example

<?php
/**
* Add a regex route to Yaf_Router route stack
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#", //match request uri leading "/product"
array(
'controller' => "product", //route to product controller,
),
array(
1 => "name", // now you can call $request->getParam("name")
2 => "id", // to get the first captrue in the match pattern.
)
)
);
?>

Örnek 2 Yaf_Route_Regex(as of 2.3.0)()example

<?php
/**
* Use match result as MVC name
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Regex(
"#^/product/([^/]+)/([^/])+#i", //match request uri leading "/product"
array(
'controller' => ":name", // route to :name, which is $1 in the match result as controller name
),
array(
1 => "name", // now you can call $request->getParam("name")
2 => "id", // to get the first captrue in the match pattern.
)
)
);
?>

Örnek 3 Yaf_Route_Regex and named capture ground(as of 2.3.0)()example

<?php
/**
* Use match result as MVC name
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_Regex(
"#^/product/(?<name>[^/]+)/([^/])+#i", //match request uri leading "/product"
array(
'controller' => ":name", // route to :name,
// which is named capture group 'name' in the match result as controller name
),
array(
2 => "id", // to get the first captrue in the match pattern.
)
)
);
?>

Örnek 4 Yaf_Route_Regex()example

<?php
/**
* Add a regex route to Yaf_Router route stack by calling addconfig
*/
$config = array(
"name" => array(
"type" => "regex", //Yaf_Route_Regex route
"match" => "#(.*)#", //match arbitrary request uri
"route" => array(
'controller' => "product", //route to product controller,
'action' => "dummy", //route to dummy action
),
"map" => array(
1 => "uri", // now you can call $request->getParam("uri")
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>

Ayrıca Bakınız

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Regex::__construct
  • Yaf_Route_Rewrite »
  • PHP Manual
  • Yaf_Route_Regex
  • The route purpose

Yaf_Route_Regex::route

(Yaf >=1.0.0)

Yaf_Route_Regex::route — The route purpose

Açıklama

public Yaf_Route_Regex::route(Yaf_Request_Abstract $request): bool

Route a incoming request.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

Dönen Değerler

If the pattern given by the first parameter of Yaf_Route_Regex::_construct() matche the request uri, return true, otherwise return false.


The Yaf_Route_Rewrite class

(Yaf >=1.0.0)

Giriş

For usage, please see the example section of Yaf_Route_Rewrite::__construct()

Sınıf Sözdizimi

class Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
/* Özellikler */
protected $_route;
protected $_default;
protected $_verify;
/* Yöntemler */
public __construct(string $match, array $route, array $verify = ?)
public assemble(array $info, array $query = ?): string
public route(Yaf_Request_Abstract $request): bool
/* Miras alınan yöntemler */
abstract public Yaf_Route_Interface::assemble(array $info, array $query = ?): string
abstract public Yaf_Route_Interface::route(Yaf_Request_Abstract $request): bool
}

Özellikler

_route

_default

_verify

İçindekiler

  • Yaf_Route_Rewrite::assemble — Assemble a url
  • Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor
  • Yaf_Route_Rewrite::route — The route purpose


Assemble a url

  • « Yaf_Route_Rewrite
  • Yaf_Route_Rewrite::__construct »
  • PHP Manual
  • Yaf_Route_Rewrite
  • Assemble a url

Yaf_Route_Rewrite::assemble

(Yaf >=2.3.0)

Yaf_Route_Rewrite::assemble — Assemble a url

Açıklama

public Yaf_Route_Rewrite::assemble(array $info, array $query = ?): string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns string.

Örnekler

Örnek 1 Yaf_Route_Rewrite::assemble()example

router = new Yaf_Router();

$route = new Yaf_Route_Rewrite(
"/product/:name/:id/*",
array(
'controller' => "product",
),
array()
);

$router->addRoute("rewrite", $route);

var_dump($router->getRoute('rewrite')->assemble(
array(
':name' => 'foo',
':id' => 'bar',
':tmpkey1' => 'tmpval1'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(57) "/product/foo/bar/tmpkey1/tmpval1/?tkey1=tval1&tkey2=tval2"


Yaf_Route_Rewrite constructor

  • « Yaf_Route_Rewrite::assemble
  • Yaf_Route_Rewrite::route »
  • PHP Manual
  • Yaf_Route_Rewrite
  • Yaf_Route_Rewrite constructor

Yaf_Route_Rewrite::__construct

(Yaf >=1.0.0)

Yaf_Route_Rewrite::__construct — Yaf_Route_Rewrite constructor

Açıklama

public Yaf_Route_Rewrite::__construct(string $match, array $route, array $verify = ?)

Bağımsız Değişkenler

match

A pattern, will be used to match a request uri, if it doesn't match, Yaf_Route_Rewrite will return false.

You can use :name style to name segments matched, and use * to match the rest of the URL segments.

route

When the match pattern matches the request uri, Yaf_Route_Rewrite will use this to decide which module/controller/action is the destination.

Either of module/controller/action in this array is optional, if you don't assign a specific value, it will be routed to default.

verify

Dönen Değerler

Örnekler

Örnek 1 Yaf_Route_Rewrite()example

<?php
/**
* Add a rewrite route to Yaf_Router route stack
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute("name",
new Yaf_Route_rewrite(
"/product/:name/:id/*", //match request uri leading "/product"
array(
'controller' => "product", //route to product controller,
),
)
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/product/foo/22/foo/bar
 * route will result in following values:
 */
array(
  "controller" => "product",
  "module"     => "index", //(default)
  "action"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "name" => "foo",
  "id"   => 22,
  "foo"  => bar
)

Örnek 2 Yaf_Route_Rewrite()example

<?php
/**
* Add a rewrite route to Yaf_Router route stack by calling addconfig
*/
$config = array(
"name" => array(
"type" => "rewrite", //Yaf_Route_Rewrite route
"match" => "/user-list/:id", //match only /user/list/?/
"route" => array(
'controller' => "user", //route to user controller,
'action' => "list", //route to list action
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/user-list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Örnek 3 Yaf_Route_Rewrite(as of 2.3.0)()example

<?php
/**
* Add a rewrite route use match result as m/c/a name
*/
$config = array(
"name" => array(
"type" => "rewrite",
"match" => "/user-list/:a/:id", //match only /user-list/*
"route" => array(
'controller' => "user", //route to user controller,
'action' => ":a", //route to :a action
),
),
);
Yaf_Dispatcher::getInstance()->getRouter()->addConfig(
new Yaf_Config_Simple($config));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/user-list/list/22
 * route will result in following values:
 */
array(
  "controller" => "user",
  "action"     => "list",
  "module"     => "index", //(default)
)

/**
 * and request parameters:
 */
array(
  "id"   => 22,
)

Ayrıca Bakınız

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Rewrite::__construct
  • Yaf_Router »
  • PHP Manual
  • Yaf_Route_Rewrite
  • The route purpose

Yaf_Route_Rewrite::route

(Yaf >=1.0.0)

Yaf_Route_Rewrite::route — The route purpose

Açıklama

public Yaf_Route_Rewrite::route(Yaf_Request_Abstract $request): bool

Bağımsız Değişkenler

request

Dönen Değerler


The Yaf_Router class

(Yaf >=1.0.0)

Giriş

Yaf_Router is the standard framework router. Routing is the process of taking a URI endpoint (that part of the URI which comes after the base URI: see Yaf_Request_Abstract::setBaseUri()) and decomposing it into parameters to determine which module, controller, and action of that controller should receive the request. This values of the module, controller, action and other parameters are packaged into a Yaf_Request_Abstract object which is then processed by Yaf_Dispatcher. Routing occurs only once: when the request is initially received and before the first controller is dispatched. Yaf_Router is designed to allow for mod_rewrite-like functionality using pure PHP structures. It is very loosely based on Ruby on Rails routing and does not require any prior knowledge of webserver URL rewriting. It is designed to work with a single Apache mod_rewrite rule (one of):

Örnek 1 Rewrite rule for Apache

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php
or (preferred):

Örnek 2 Rewrite rule for Apache

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
If using Lighttpd, the following rewrite rule is valid:

Örnek 3 Rewrite rule for Lighttpd

url.rewrite-once = (
  ".*\?(.*)$" => "/index.php?$1",
  ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
  "" => "/index.php"
)
If using Nginx, use the following rewrite rule:

Örnek 4 Rewrite rule for Nginx

server {
  listen ****;
  server_name  yourdomain.com;
  root   document_root;
  index  index.php index.html;

  if (!-e $request_filename) {
    rewrite ^/(.*)  /index.php/$1 last;
  }
}

Default route

Yaf_Router comes preconfigured with a default route Yaf_Route_Static, which will match URIs in the shape of controller/action. Additionally, a module name may be specified as the first path element, allowing URIs of the form module/controller/action. Finally, it will also match any additional parameters appended to the URI by default - controller/action/var1/value1/var2/value2.

Bilginize:

Module name must be defined in config, considering application.module="Index,Foo,Bar", in this case, only index, foo and bar can be considered as a module name. if doesn't config, there is only one module named "Index".

Some examples of how such routes are matched:

Örnek 5 Yaf_Route_Static(default route)example

// Assuming the following configure:
$conf = array(
   "application" => array(
      "modules" => "Index,Blog",
   ),
);

Controller only:
http://example/news
    controller == news
Action only(when defined yaf.action_prefer=1 in php.ini)
    action  == news

Invalid module maps to controller name:
http://example/foo
    controller == foo

Module + controller:
http://example/blog/archive
    module     == blog
    controller == archive

Module + controller + action:
http://example/blog/archive/list
    module     == blog
    controller == archive
    action     == list

Module + controller + action + params:
http://example/blog/archive/list/sort/alpha/date/desc
    module     == blog
    controller == archive
    action     == list
    sort       == alpha
    date       == desc

Sınıf Sözdizimi

class Yaf_Router {
/* Özellikler */
protected $_routes;
protected $_current;
/* Yöntemler */
public __construct()
public addConfig(Yaf_Config_Abstract $config): bool
public addRoute(string $name, Yaf_Route_Abstract $route): bool
public getCurrentRoute(): string
public getRoute(string $name): Yaf_Route_Interface
public getRoutes(): mixed
public route(Yaf_Request_Abstract $request): bool
}

Özellikler

_routes

registered routes stack

_current

after routing phase, this indicated the name of which route is used to route current request. you can get this name by Yaf_Router::getCurrentRoute().

İçindekiler

  • Yaf_Router::addConfig — Add config-defined routes into Router
  • Yaf_Router::addRoute — Add new Route into Router
  • Yaf_Router::__construct — Yaf_Router constructor
  • Yaf_Router::getCurrentRoute — Get the effective route name
  • Yaf_Router::getRoute — Retrieve a route by name
  • Yaf_Router::getRoutes — Retrieve registered routes
  • Yaf_Router::route — The route purpose


Add config-defined routes into Router

  • « Yaf_Router
  • Yaf_Router::addRoute »
  • PHP Manual
  • Yaf_Router
  • Add config-defined routes into Router

Yaf_Router::addConfig

(Yaf >=1.0.0)

Yaf_Router::addConfig — Add config-defined routes into Router

Açıklama

public Yaf_Router::addConfig(Yaf_Config_Abstract $config): bool

Add routes defined by configs into Yaf_Router's route stack

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An Yaf_Config_Abstract instance, which should contains one or more valid route configs

Örnekler

Örnek 1 application.ini()example

;the order is very important, the prior one will be called first

;a rewrite route match request /product/*/*
routes.route_name.type="rewrite"
routes.route_name.match="/product/:name/:value"
routes.route_name.route.controller=product
routes.route_name.route.action=info

;a regex route match request /list/*/*
routes.route_name1.type="regex"
routes.route_name1.match="#^list/([^/]*)/([^/]*)#"
routes.route_name1.route.controller=Index
routes.route_name1.route.action=action
routes.route_name1.map.1=name
routes.route_name1.map.2=value

;a simple route match /**?c=controller&a=action&m=module
routes.route_name2.type="simple"
routes.route_name2.controller=c
routes.route_name2.module=m
routes.route_name2.action=a

;a simple router match /**?r=PATH_INFO
routes.route_name3.type="supervar"
routes.route_name3.varname=r

;a map route match any request to controller
routes.route_name4.type="map"
routes.route_name4.controllerPrefer=TRUE
routes.route_namer.delimiter="#!"

Örnek 2 Yaf_Dispatcher::autoConfig()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}

public function _initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
/**
* we can add some pre-defined routes in application.ini
*/
$router->addConfig(Yaf_Registry::get("config")->routes);
}
?>

Ayrıca Bakınız

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


Add new Route into Router

  • « Yaf_Router::addConfig
  • Yaf_Router::__construct »
  • PHP Manual
  • Yaf_Router
  • Add new Route into Router

Yaf_Router::addRoute

(Yaf >=1.0.0)

Yaf_Router::addRoute — Add new Route into Router

Açıklama

public Yaf_Router::addRoute(string $name, Yaf_Route_Abstract $route): bool

defaultly, Yaf_Router using a Yaf_Route_Static as its defualt route. you can add new routes into router's route stack by calling this method.

the newer route will be called before the older(route stack), and if the newer router return true, the router process will be end. otherwise, the older one will be called.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Dispatcher::autoRender()example

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}

public function _initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
/**
* we can add some pre-defined routes in application.ini
*/
$router->addConfig(Yaf_Registry::get("config")->routes);
/**
* add a Rewrite route, then for a request uri:
* http://example.com/product/list/22/foo
* will be matched by this route, and result:
*
* [module] =>
* [controller] => product
* [action] => info
* [method] => GET
* [params:protected] => Array
* (
* [id] => 22
* [name] => foo
* )
*
*/
$route = new Yaf_Route_Rewrite(
"/product/list/:id/:name",
array(
"controller" => "product",
"action" => "info",
)
);

$router->addRoute('dummy', $route);
}
}
?>

Ayrıca Bakınız

  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Supervar
  • Yaf_Route_Simple
  • Yaf_Route_Regex
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


Yaf_Router constructor

  • « Yaf_Router::addRoute
  • Yaf_Router::getCurrentRoute »
  • PHP Manual
  • Yaf_Router
  • Yaf_Router constructor

Yaf_Router::__construct

(Yaf >=1.0.0)

Yaf_Router::__construct — Yaf_Router constructor

Açıklama

public Yaf_Router::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get the effective route name

  • « Yaf_Router::__construct
  • Yaf_Router::getRoute »
  • PHP Manual
  • Yaf_Router
  • Get the effective route name

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRoute — Get the effective route name

Açıklama

public Yaf_Router::getCurrentRoute(): string

Get the name of the route which is effective in the route process.

Bilginize:

You should call this method after the route process finished, since before that, this method will always return null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

String, the name of the effective route.

Örnekler

Örnek 1 Register some routes in Bootstrap

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
$config = Yaf_Application::app()->getConfig();
Yaf_Registry::set("config", $config);
}

public function _initRoute(Yaf_Dispatcher $dispatcher) {
$router = $dispatcher->getRouter();
$rewrite_route = new Yaf_Route_Rewrite(
"/product/list/:page",
array(
"controller" => "product",
"action" => "list",
)
);

$regex_route = new Yaf_Route_Rewrite(
"#^/product/info/(\d+)",
array(
"controller" => "product",
"action" => "info",
)
);

$router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);
}

/**
* register plugin
*/
public function __initPlugins(Yaf_Dispatcher $dispatcher) {
$dispatcher->registerPlugin(new DummyPlugin());
}
}
?>

Örnek 2 plugin Dummy.php (under application.directory/plugins)

<?php
class DummyPlugin extends Yaf_Plugin_Abstract {
public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {
var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());
}
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/* for http://yourdomain.com/product/list/1
 * DummyPlugin will output:
 */
string(7) "rewrite"

/* for http://yourdomain.com/product/info/34
 * DummyPlugin will output:
 */
string(5) "regex"

/* for other request URI
 * DummyPlugin will output:
 */
string(8) "_default"

Ayrıca Bakınız

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router


Retrieve a route by name

  • « Yaf_Router::getCurrentRoute
  • Yaf_Router::getRoutes »
  • PHP Manual
  • Yaf_Router
  • Retrieve a route by name

Yaf_Router::getRoute

(Yaf >=1.0.0)

Yaf_Router::getRoute — Retrieve a route by name

Açıklama

public Yaf_Router::getRoute(string $name): Yaf_Route_Interface

Retrieve a route by name, see also Yaf_Router::getCurrentRoute()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Yaf_Bootstrap_Abstract
  • Yaf_Plugin_Abstract
  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::getCurrentRoute() - Get the effective route name


Retrieve registered routes

  • « Yaf_Router::getRoute
  • Yaf_Router::route »
  • PHP Manual
  • Yaf_Router
  • Retrieve registered routes

Yaf_Router::getRoutes

(Yaf >=1.0.0)

Yaf_Router::getRoutes — Retrieve registered routes

Açıklama

public Yaf_Router::getRoutes(): mixed

Retrieve registered routes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The route purpose

  • « Yaf_Router::getRoutes
  • Yaf_Route_Simple »
  • PHP Manual
  • Yaf_Router
  • The route purpose

Yaf_Router::route

(Yaf >=1.0.0)

Yaf_Router::route — The route purpose

Açıklama

public Yaf_Router::route(Yaf_Request_Abstract $request): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Route_Simple class

(Yaf >=1.0.0)

Giriş

Yaf_Route_Simple will match the query string, and find the route info.

all you need to do is tell Yaf_Route_Simple what key in the $_GET is module, what key is controller, and what key is action.

Yaf_Route_Simple::route() will always return true, so it is important put Yaf_Route_Simple in the front of the Route stack, otherwise all the other routes will not be called.

Sınıf Sözdizimi

class Yaf_Route_Simple implements Yaf_Route_Interface {
/* Özellikler */
protected $controller;
protected $module;
protected $action;
/* Yöntemler */
public __construct(string $module_name, string $controller_name, string $action_name)
public assemble(array $info, array $query = ?): string
public route(Yaf_Request_Abstract $request): bool
}

Özellikler

controller

module

action

İçindekiler

  • Yaf_Route_Simple::assemble — Assemble a url
  • Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor
  • Yaf_Route_Simple::route — Route a request


Assemble a url

  • « Yaf_Route_Simple
  • Yaf_Route_Simple::__construct »
  • PHP Manual
  • Yaf_Route_Simple
  • Assemble a url

Yaf_Route_Simple::assemble

(Yaf >=2.3.0)

Yaf_Route_Simple::assemble — Assemble a url

Açıklama

public Yaf_Route_Simple::assemble(array $info, array $query = ?): string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns a string.

Hatalar/İstisnalar

Throws Yaf_Exception_TypeError if info keys ':c' or ':a' are not set.

Örnekler

Örnek 1 Yaf_Route_Simple::assemble()example

<?php

$router = new Yaf_Router();

$route = new Yaf_Route_Simple('m', 'c', 'a');

$router->addRoute("simple", $route);

var_dump($router->getRoute('simple')->assemble(
array(
':a' => 'yafaction',
'tkey' => 'tval',
':c' => 'yafcontroller',
':m' => 'yafmodule'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
));

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(64) "?m=yafmodule&c=yafcontroller&a=yafaction&tkey1=tval1&tkey2=tval2"


Yaf_Route_Simple constructor

  • « Yaf_Route_Simple::assemble
  • Yaf_Route_Simple::route »
  • PHP Manual
  • Yaf_Route_Simple
  • Yaf_Route_Simple constructor

Yaf_Route_Simple::__construct

(Yaf >=1.0.0)

Yaf_Route_Simple::__construct — Yaf_Route_Simple constructor

Açıklama

public Yaf_Route_Simple::__construct(string $module_name, string $controller_name, string $action_name)

Yaf_Route_Simple will get route info from query string. and the parameters of this constructor will used as keys while searching for the route info in $_GET.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

module_name

The key name of the module info.

controller_name

the key name of the controller info.

action_name

the key name of the action info.

Dönen Değerler

Always return true.

Örnekler

Örnek 1 Yaf_Route_Simple::route()example

<?php
$route = new Yaf_Route_Simple("m", "controller", "act");
Yaf_Router::getInstance()->addRoute("simple", $route);
?>

Örnek 2 Yaf_Route_Simple::route()example

Request: http://yourdomain.com/path/?controller=a&act=b
=> module = default(index), controller = a, action = b

Request: http://yourdomain.com/path
=> module = default(index), controller = default(index), action = default(index)

Ayrıca Bakınız

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


Route a request

  • « Yaf_Route_Simple::__construct
  • Yaf_Route_Static »
  • PHP Manual
  • Yaf_Route_Simple
  • Route a request

Yaf_Route_Simple::route

(Yaf >=1.0.0)

Yaf_Route_Simple::route — Route a request

Açıklama

public Yaf_Route_Simple::route(Yaf_Request_Abstract $request): bool

see Yaf_Route_Simple::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

Dönen Değerler

always be true

Ayrıca Bakınız

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Static::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


The Yaf_Route_Static class

(Yaf >=1.0.0)

Giriş

Defaultly, Yaf_Router only have a Yaf_Route_Static as its default route.

And Yaf_Route_Static is designed to handle the 80% requirement.

please *NOTE* that it is unnecessary to instance a Yaf_Route_Static, also unecesary to add it into Yaf_Router's routes stack, since there is always be one in Yaf_Router's routes stack, and always be called at the last time.

Sınıf Sözdizimi

class Yaf_Route_Static implements Yaf_Router {
/* Yöntemler */
public assemble(array $info, array $query = ?): string
public match(string $uri): void
public route(Yaf_Request_Abstract $request): bool
}

İçindekiler

  • Yaf_Route_Static::assemble — Assemble a url
  • Yaf_Route_Static::match — The match purpose
  • Yaf_Route_Static::route — Route a request


Assemble a url

  • « Yaf_Route_Static
  • Yaf_Route_Static::match »
  • PHP Manual
  • Yaf_Route_Static
  • Assemble a url

Yaf_Route_Static::assemble

(Yaf >=2.3.0)

Yaf_Route_Static::assemble — Assemble a url

Açıklama

public Yaf_Route_Static::assemble(array $info, array $query = ?): string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns a string.

Hatalar/İstisnalar

Throws Yaf_Exception_TypeError if info keys ':c' and ':a' are not set.

Örnekler

Örnek 1 Yaf_Route_Static::assemble()example

<?php

$router = new Yaf_Router();

$route = new Yaf_Route_Static();

$router->addRoute("static", $route);

var_dump($router->getRoute('static')->assemble(
array(
':a' => 'yafaction',
'tkey' => 'tval',
':c' => 'yafcontroller',
':m' => 'yafmodule'
),
)
);

var_dump($router->getRoute('static')->assemble(
array(
':a' => 'yafaction',
'tkey' => 'tval',
':c' => 'yafcontroller',
':m' => 'yafmodule'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
)
);

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(%d) "/yafmodule/yafcontroller/yafaction"
string(%d) "/yafmodule/yafcontroller/yafaction?tkey1=tval1&tkey2=tval2"


The match purpose

  • « Yaf_Route_Static::assemble
  • Yaf_Route_Static::route »
  • PHP Manual
  • Yaf_Route_Static
  • The match purpose

Yaf_Route_Static::match

(Yaf >=1.0.0)

Yaf_Route_Static::match — The match purpose

Açıklama

public Yaf_Route_Static::match(string $uri): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

uri

Dönen Değerler


Route a request

  • « Yaf_Route_Static::match
  • Yaf_Route_Supervar »
  • PHP Manual
  • Yaf_Route_Static
  • Route a request

Yaf_Route_Static::route

(Yaf >=1.0.0)

Yaf_Route_Static::route — Route a request

Açıklama

public Yaf_Route_Static::route(Yaf_Request_Abstract $request): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

Dönen Değerler

always be true

Örnekler

Örnek 1 Yaf_Route_Static::route()example

// assuming there is only one module defined:Index
Request: http://yourdomain.com/a/b
=> module = index, controller=a, action=b

//assuming ap.action_prefer = On
Request: http://yourdomain.com/b
=> module = default(index), controller = default(index), action = b

//assuming ap.action_prefer = Off
Request: http://yourdomain.com/b
=> module = default(index), controller = b, action = default(index)

Request: http://yourdomain.com/a/b/foo/bar/test/a/id/4
=> module = default(index), controller = a, action = b, request parameters: foo = bar, test = a, id = 4

Ayrıca Bakınız

  • Yaf_Route_Supervar::route() - The route purpose
  • Yaf_Route_Simple::route() - Route a request
  • Yaf_Route_Regex::route() - The route purpose
  • Yaf_Route_Rewrite::route() - The route purpose
  • Yaf_Route_Map::route() - The route purpose


The Yaf_Route_Supervar class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Route_Supervar implements Yaf_Route_Interface {
/* Özellikler */
protected $_var_name;
/* Yöntemler */
public __construct(string $supervar_name)
public assemble(array $info, array $query = ?): string
public route(Yaf_Request_Abstract $request): bool
}

Özellikler

_var_name

İçindekiler

  • Yaf_Route_Supervar::assemble — Assemble a url
  • Yaf_Route_Supervar::__construct — The __construct purpose
  • Yaf_Route_Supervar::route — The route purpose


Assemble a url

  • « Yaf_Route_Supervar
  • Yaf_Route_Supervar::__construct »
  • PHP Manual
  • Yaf_Route_Supervar
  • Assemble a url

Yaf_Route_Supervar::assemble

(Yaf >=2.3.0)

Yaf_Route_Supervar::assemble — Assemble a url

Açıklama

public Yaf_Route_Supervar::assemble(array $info, array $query = ?): string

Assemble a url.

Bağımsız Değişkenler

info

query

Dönen Değerler

Returns a string.

Hatalar/İstisnalar

Throws Yaf_Exception_TypeError if info keys ':c' and ':a' are not set.

Örnekler

Örnek 1 Yaf_Route_Supervar::assemble() example

<?php

$router = new Yaf_Router();

$route = new Yaf_Route_Supervar('r');

$router->addRoute("supervar", $route);

var_dump($router->getRoute('supervar')->assemble(
array(
':a' => 'yafaction',
'tkey' => 'tval',
':c' => 'yafcontroller',
':m' => 'yafmodule'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2'
)
));

try {
var_dump($router->getRoute('supervar')->assemble(
array(
':a' => 'yafaction',
'tkey' => 'tval',
':m' => 'yafmodule'
),
array(
'tkey1' => 'tval1',
'tkey2' => 'tval2',
1 => array(),
)
));
} catch (Exception $e) {
var_dump($e->getMessage());
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(%d) "?r=/yafmodule/yafcontroller/yafaction&tkey1=tval1&tkey2=tval2"
string(%d) "You need to specify the controller by ':c'"


The __construct purpose

  • « Yaf_Route_Supervar::assemble
  • Yaf_Route_Supervar::route »
  • PHP Manual
  • Yaf_Route_Supervar
  • The __construct purpose

Yaf_Route_Supervar::__construct

(Yaf >=1.0.0)

Yaf_Route_Supervar::__construct — The __construct purpose

Açıklama

public Yaf_Route_Supervar::__construct(string $supervar_name)

Yaf_Route_Supervar is similar with Yaf_Route_Static, the difference is Yaf_Route_Supervar will look for path info in query string, and the parameter supervar_name is the key.

Bağımsız Değişkenler

supervar_name

The name of key.

Dönen Değerler

Örnekler

Örnek 1 Yaf_Route_Supervar()example

<?php
/**
* Add a supervar route to Yaf_Router route stack
*/
Yaf_Dispatcher::getInstance()->getRouter()->addRoute(
"name",
new Yaf_Route_Supervar("r")
);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

/** for request: http://yourdomain.com/xx/oo/?r=/ctr/act/var/value
  * will result in following:
  */
  array (
    "module"   => index(default),
    "controller" => ctr,
    "action"     => act,
    "params"     => array(
          "var" => value,
     )
  )

Ayrıca Bakınız

  • Yaf_Router::addRoute() - Add new Route into Router
  • Yaf_Router::addConfig() - Add config-defined routes into Router
  • Yaf_Route_Static
  • Yaf_Route_Regex
  • Yaf_Route_Simple
  • Yaf_Route_Rewrite
  • Yaf_Route_Map


The route purpose

  • « Yaf_Route_Supervar::__construct
  • Yaf_Session »
  • PHP Manual
  • Yaf_Route_Supervar
  • The route purpose

Yaf_Route_Supervar::route

(Yaf >=1.0.0)

Yaf_Route_Supervar::route — The route purpose

Açıklama

public Yaf_Route_Supervar::route(Yaf_Request_Abstract $request): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

request

Dönen Değerler

If there is a key(which was defined in Yaf_Route_Supervar::__construct()) in $_GET, return true. otherwise return false.


The Yaf_Session class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Session implements Iterator, ArrayAccess, Countable {
/* Özellikler */
protected static $_instance;
protected $_session;
protected $_started;
/* Yöntemler */
private __construct()
public count(): void
public current(): void
public del(string $name): void
public __get(string $name): void
public static getInstance(): void
public has(string $name): void
public __isset(string $name): void
public key(): void
public next(): void
public offsetExists(string $name): void
public offsetGet(string $name): void
public offsetSet(string $name, string $value): void
public offsetUnset(string $name): void
public rewind(): void
public __set(string $name, string $value): void
public start(): void
public __unset(string $name): void
public valid(): void
}

Özellikler

_instance

_session

_started

İçindekiler

  • Yaf_Session::__construct — Constructor of Yaf_Session
  • Yaf_Session::count — The count purpose
  • Yaf_Session::current — The current purpose
  • Yaf_Session::del — The del purpose
  • Yaf_Session::__get — The __get purpose
  • Yaf_Session::getInstance — The getInstance purpose
  • Yaf_Session::has — The has purpose
  • Yaf_Session::__isset — The __isset purpose
  • Yaf_Session::key — The key purpose
  • Yaf_Session::next — The next purpose
  • Yaf_Session::offsetExists — The offsetExists purpose
  • Yaf_Session::offsetGet — The offsetGet purpose
  • Yaf_Session::offsetSet — The offsetSet purpose
  • Yaf_Session::offsetUnset — The offsetUnset purpose
  • Yaf_Session::rewind — The rewind purpose
  • Yaf_Session::__set — The __set purpose
  • Yaf_Session::start — The start purpose
  • Yaf_Session::__unset — The __unset purpose
  • Yaf_Session::valid — The valid purpose


Constructor of Yaf_Session

  • « Yaf_Session
  • Yaf_Session::count »
  • PHP Manual
  • Yaf_Session
  • Constructor of Yaf_Session

Yaf_Session::__construct

(Yaf >=1.0.0)

Yaf_Session::__construct — Constructor of Yaf_Session

Açıklama

private Yaf_Session::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The count purpose

  • « Yaf_Session::__construct
  • Yaf_Session::current »
  • PHP Manual
  • Yaf_Session
  • The count purpose

Yaf_Session::count

(Yaf >=1.0.0)

Yaf_Session::count — The count purpose

Açıklama

public Yaf_Session::count(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The current purpose

  • « Yaf_Session::count
  • Yaf_Session::del »
  • PHP Manual
  • Yaf_Session
  • The current purpose

Yaf_Session::current

(Yaf >=1.0.0)

Yaf_Session::current — The current purpose

Açıklama

public Yaf_Session::current(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The del purpose

  • « Yaf_Session::current
  • Yaf_Session::__get »
  • PHP Manual
  • Yaf_Session
  • The del purpose

Yaf_Session::del

(Yaf >=1.0.0)

Yaf_Session::del — The del purpose

Açıklama

public Yaf_Session::del(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The __get purpose

  • « Yaf_Session::del
  • Yaf_Session::getInstance »
  • PHP Manual
  • Yaf_Session
  • The __get purpose

Yaf_Session::__get

(Yaf >=1.0.0)

Yaf_Session::__get — The __get purpose

Açıklama

public Yaf_Session::__get(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The getInstance purpose

  • « Yaf_Session::__get
  • Yaf_Session::has »
  • PHP Manual
  • Yaf_Session
  • The getInstance purpose

Yaf_Session::getInstance

(Yaf >=1.0.0)

Yaf_Session::getInstance — The getInstance purpose

Açıklama

public static Yaf_Session::getInstance(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The has purpose

  • « Yaf_Session::getInstance
  • Yaf_Session::__isset »
  • PHP Manual
  • Yaf_Session
  • The has purpose

Yaf_Session::has

(Yaf >=1.0.0)

Yaf_Session::has — The has purpose

Açıklama

public Yaf_Session::has(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The __isset purpose

  • « Yaf_Session::has
  • Yaf_Session::key »
  • PHP Manual
  • Yaf_Session
  • The __isset purpose

Yaf_Session::__isset

(Yaf >=1.0.0)

Yaf_Session::__isset — The __isset purpose

Açıklama

public Yaf_Session::__isset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The key purpose

  • « Yaf_Session::__isset
  • Yaf_Session::next »
  • PHP Manual
  • Yaf_Session
  • The key purpose

Yaf_Session::key

(Yaf >=1.0.0)

Yaf_Session::key — The key purpose

Açıklama

public Yaf_Session::key(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The next purpose

  • « Yaf_Session::key
  • Yaf_Session::offsetExists »
  • PHP Manual
  • Yaf_Session
  • The next purpose

Yaf_Session::next

(Yaf >=1.0.0)

Yaf_Session::next — The next purpose

Açıklama

public Yaf_Session::next(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The offsetExists purpose

  • « Yaf_Session::next
  • Yaf_Session::offsetGet »
  • PHP Manual
  • Yaf_Session
  • The offsetExists purpose

Yaf_Session::offsetExists

(Yaf >=1.0.0)

Yaf_Session::offsetExists — The offsetExists purpose

Açıklama

public Yaf_Session::offsetExists(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetGet purpose

  • « Yaf_Session::offsetExists
  • Yaf_Session::offsetSet »
  • PHP Manual
  • Yaf_Session
  • The offsetGet purpose

Yaf_Session::offsetGet

(Yaf >=1.0.0)

Yaf_Session::offsetGet — The offsetGet purpose

Açıklama

public Yaf_Session::offsetGet(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The offsetSet purpose

  • « Yaf_Session::offsetGet
  • Yaf_Session::offsetUnset »
  • PHP Manual
  • Yaf_Session
  • The offsetSet purpose

Yaf_Session::offsetSet

(Yaf >=1.0.0)

Yaf_Session::offsetSet — The offsetSet purpose

Açıklama

public Yaf_Session::offsetSet(string $name, string $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


The offsetUnset purpose

  • « Yaf_Session::offsetSet
  • Yaf_Session::rewind »
  • PHP Manual
  • Yaf_Session
  • The offsetUnset purpose

Yaf_Session::offsetUnset

(Yaf >=1.0.0)

Yaf_Session::offsetUnset — The offsetUnset purpose

Açıklama

public Yaf_Session::offsetUnset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The rewind purpose

  • « Yaf_Session::offsetUnset
  • Yaf_Session::__set »
  • PHP Manual
  • Yaf_Session
  • The rewind purpose

Yaf_Session::rewind

(Yaf >=1.0.0)

Yaf_Session::rewind — The rewind purpose

Açıklama

public Yaf_Session::rewind(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __set purpose

  • « Yaf_Session::rewind
  • Yaf_Session::start »
  • PHP Manual
  • Yaf_Session
  • The __set purpose

Yaf_Session::__set

(Yaf >=1.0.0)

Yaf_Session::__set — The __set purpose

Açıklama

public Yaf_Session::__set(string $name, string $value): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

value

Dönen Değerler


The start purpose

  • « Yaf_Session::__set
  • Yaf_Session::__unset »
  • PHP Manual
  • Yaf_Session
  • The start purpose

Yaf_Session::start

(Yaf >=1.0.0)

Yaf_Session::start — The start purpose

Açıklama

public Yaf_Session::start(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The __unset purpose

  • « Yaf_Session::start
  • Yaf_Session::valid »
  • PHP Manual
  • Yaf_Session
  • The __unset purpose

Yaf_Session::__unset

(Yaf >=1.0.0)

Yaf_Session::__unset — The __unset purpose

Açıklama

public Yaf_Session::__unset(string $name): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

Dönen Değerler


The valid purpose

  • « Yaf_Session::__unset
  • Yaf_Exception »
  • PHP Manual
  • Yaf_Session
  • The valid purpose

Yaf_Session::valid

(Yaf >=1.0.0)

Yaf_Session::valid — The valid purpose

Açıklama

public Yaf_Session::valid(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Exception class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct()
public getPrevious(): void
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

İçindekiler

  • Yaf_Exception::__construct — The __construct purpose
  • Yaf_Exception::getPrevious — The getPrevious purpose


The __construct purpose

  • « Yaf_Exception
  • Yaf_Exception::getPrevious »
  • PHP Manual
  • Yaf_Exception
  • The __construct purpose

Yaf_Exception::__construct

(Yaf >=1.0.0)

Yaf_Exception::__construct — The __construct purpose

Açıklama

public Yaf_Exception::__construct()

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The getPrevious purpose

  • « Yaf_Exception::__construct
  • Yaf_Exception_TypeError »
  • PHP Manual
  • Yaf_Exception
  • The getPrevious purpose

Yaf_Exception::getPrevious

(Yaf >=1.0.0)

Yaf_Exception::getPrevious — The getPrevious purpose

Açıklama

public Yaf_Exception::getPrevious(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The Yaf_Exception_TypeError class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_TypeError extends Yaf_Exception {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_StartupError class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_StartupError extends Yaf_Exception {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_DispatchFailed class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_DispatchFailed extends Yaf_Exception {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_RouterFailed class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_RouterFailed extends Yaf_Exception {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_LoadFailed class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_LoadFailed extends Yaf_Exception {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_LoadFailed_Module class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_LoadFailed_Module extends Yaf_Exception_LoadFailed {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_LoadFailed_Controller class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_LoadFailed_Controller extends Yaf_Exception_LoadFailed {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_LoadFailed_Action class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_LoadFailed_Action extends Yaf_Exception_LoadFailed {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


The Yaf_Exception_LoadFailed_View class

(Yaf >=1.0.0)

Giriş

Sınıf Sözdizimi

class Yaf_Exception_LoadFailed_View extends Yaf_Exception_LoadFailed {
/* Özellikler */
/* Yöntemler */
/* Miras alınan yöntemler */
public Yaf_Exception::getPrevious(): void
}


Yaconf

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Yaconf — The Yaconf class
    • Yaconf::get — Retrieve a item
    • Yaconf::has — Determine if a item exists


Giriş

Yet Another Configurations Container (Yaconf) is a configurations container, it parses INI files, and store the result in PHP when PHP is started, the result lives with the whole PHP lifecycle.

Yaconf stores all configurations as interned string or immutable array, which means they are not refcounted-able, thus when you retrieving configurations from yaconf, it could be considered as zero-copy, very fast.

Yaconf supports sections and sections inheritance in INI files. if PHP is built as non-ZTS build, Yaconf also supports automatically reloading after INI files are changed.

Yaconf requires PHP 7.0 or greater.

Örnek 1 INI example

;simple key val
key=val
;hash
hash.a=val
;array
arr.0=val
;or
arr[]=val
;use PHP constants
version=PHP_VERSION
;use environment
env=${PATH}

Örnek 2 INI sections example

[SectionA]
key=val
hash.a=val

;SectionB inherits SectionA
[SectionB:SectionA]
;override configuration key in SectionA
key=new_val


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

Yaconf requires PHP 7.0 and above.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yaconf.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Yaconf Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
yaconf.check_delay | 300 | PHP_INI_SYSTEM |
yaconf.directory | /tmp/conf/ | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

yaconf.check_delay int

In which interval Yaconf will detect ini file's change(by directory's mtime), if it is set to zero, you have to restart php to reloading configurations.

yaconf.directory string

Path to directory which all INI configuration files are placed in.


  • « Özkaynak Türleri
  • Yaconf »
  • PHP Manual
  • Yaconf
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


The Yaconf class

(PECL yaconf >= 1.0.0)

Giriş

Yaconf is a configurations container, it parses INIT files, stores the result in PHP when PHP is started, the result lives with the whole PHP lifecycle.

Sınıf Sözdizimi

class Yaconf {
/* Yöntemler */
public static get(string $name, mixed $default_value = NULL): mixed
public static has(string $name): bool
}

İçindekiler

  • Yaconf::get — Retrieve a item
  • Yaconf::has — Determine if a item exists


Retrieve a item

  • « Yaconf
  • Yaconf::has »
  • PHP Manual
  • Yaconf
  • Retrieve a item

Yaconf::get

(PECL yaconf >= 1.0.0)

Yaconf::get — Retrieve a item

Açıklama

public static Yaconf::get(string $name, mixed $default_value = NULL): mixed

Bağımsız Değişkenler

name

Configuration key, the key looks like "filename.key", or "filename.sectionName,key".

default_value

if the key doesn't exists, Yaconf::get will return this as result.

Dönen Değerler

Returns configuration result(string or array) if the key exists, return default_value if not.

Örnekler

Örnek 1 INI()example

;filenmame foo.ini, placed in directory which is yaconf.directoy
[SectionA]
;key value pair
key=val
;hash[a]=val
hash.a=val
;arr[0]=val
arr.0=val
;or
arr[]=val

;SectionB inherits SectionA
[SectionB:SectionA]
;override configuration key in SectionA
key=new_val

Yukarıdaki örnek şuna benzer bir çıktı üretir:

php7 -r 'var_dump(Yaconf::get("foo.SectionA.key"));'
//string(3) "val"

php7 -r 'var_dump(Yaconf::get("foo.SectionB.key"));'
//string(7) "new_val"

php7 -r 'var_dump(Yaconf::get("foo")["SectionA"]["hash"]);'
//array(1)


Determine if a item exists

  • « Yaconf::get
  • Taint »
  • PHP Manual
  • Yaconf
  • Determine if a item exists

Yaconf::has

(PECL yaconf >= 1.0.0)

Yaconf::has — Determine if a item exists

Açıklama

public static Yaconf::has(string $name): bool

Bağımsız Değişkenler

name

Dönen Değerler


Taint

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • More Details
    • Functions and Statements which will spread the tainted mark of a tainted string
    • Functions and statements which will check tainted string
    • Functions which untaint the tainted string
  • Taint İşlevleri
    • is_tainted — Checks whether a string is tainted
    • taint — Taint a string
    • untaint — Untaint strings


Giriş

Taint is an extension, which is used for detecting XSS codes(tainted string). And also can be used to spot sql injection vulnerabilities, and shell inject, etc.

When taint is enabled, if you pass a tainted string (comes from $_GET, $_POST or $_COOKIE) to some functions, taint will warn you about that.

Örnek 1 Taint()example

<?php
$a = trim($_GET['a']);

$file_name = '/tmp' . $a;
$output = "Welcome, {$a} !!!";
$var = "output";
$sql = "Select * from " . $a;
$sql .= "ooxx";

echo $output;

print $$var;

include $file_name;

mysql_query($sql);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Warning: main() [function.echo]: Attempt to echo a string that might be tainted

Warning: main() [function.echo]: Attempt to print a string that might be tainted

Warning: include() [function.include]: File path contains data that might be tainted

Warning: mysql_query() [function.mysql-query]: SQL statement contains data that might be tainted


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/taint.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Taint Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
taint.enable | 0 | PHP_INI_SYSTEM |
taint.error_level | E_WARNING | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

taint.enable int

Whether enable the taint.

taint.error_level int

the error type which taint will report as when taint find a tainted string.


  • « Çalışma Anı Yapılandırması
  • More Details »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


More Details

İçindekiler

  • Functions and Statements which will spread the tainted mark of a tainted string
  • Functions and statements which will check tainted string
  • Functions which untaint the tainted string


Functions and Statements which will spread the tainted mark of a tainted string

Function/Statement | Since
= (assign) | 0.1.0
. (concat) | 0.1.0
"{$var}" (variable substitution) | 0.1.0
.= (assign concat) | 0.1.0
strval | 0.3.0
explode/split | 0.3.0
implode/join | 0.3.0
sprintf | 0.3.0
vsprintf | 0.3.0
trim | 0.4.0
rtrim | 0.4.0
ltrim | 0.4.0
strstr | 0.5.0
str_pad | 0.5.0
str_replace | 0.5.0
substr | 0.5.0
strtolower | 0.5.0
strtoupper | 0.5.0


Functions and statements which will check tainted string

Function/Statement | Since
Basic statments
eval | 0.1.0
include/include_once | 0.1.0
require/require_once | 0.1.0
Outputing Functions
echo | 0.1.0
print | 0.1.0
printf | 0.1.0
file_put_contents | 0.1.0
File System Functions
fopen | 0.2.0
opendir | 0.2.0
basename | 0.2.0
dirname | 0.2.0
file | 0.2.0
pathinfo | 0.2.0
Database relevant Functions
mysql_query | 0.2.0
mysqli_query/MySQLi::query | 0.2.0
sqlite_query/SqliteDataBase::query | 0.3.0
sqlite_single_query/SqliteDataBase::singleQuery | 0.3.0
oci_parse | 0.3.0
PDO::query | 0.3.0
PDO::prepare | 0.3.0
SQLite3::query | 2.0.1
SQLite3::prepare | 2.0.1
Command Line relevant Functions
system | 0.1.0
exec | 0.1.0
proc_open | 0.1.0
passthru | 0.1.0
shell_exec | 0.3.0


Functions which untaint the tainted string

Function | Since
addslashes | 0.1.0
addcslashes | 0.1.0
htmlspecialchars | 0.1.0
htmlentities | 0.1.0
escapeshellcmd | 0.1.0
mysql_escape_string | 0.1.0
mysql_real_escape_string | 0.1.0
mysqli_escape_string/MySQLi::escape_string | 0.1.0
mysqli_real_escape_string/MySQLi::real_escape_string | 0.1.0
sqlite_escape_string/SqliteDataBase::escapeString | 0.3.0
PDO::quote | 0.3.0


Taint İşlevleri

İçindekiler

  • is_tainted — Checks whether a string is tainted
  • taint — Taint a string
  • untaint — Untaint strings


Checks whether a string is tainted

  • « Taint İşlevleri
  • taint »
  • PHP Manual
  • Taint İşlevleri
  • Checks whether a string is tainted

is_tainted

(PECL taint >=0.1.0)

is_tainted — Checks whether a string is tainted

Açıklama

is_tainted(string $string): bool

Checks whether a string is tainted

Bağımsız Değişkenler

string

Dönen Değerler

Return TRUE if the string is tainted, FALSE otherwise.


Taint a string

  • « is_tainted
  • untaint »
  • PHP Manual
  • Taint İşlevleri
  • Taint a string

taint

(PECL taint >=0.1.0)

taint — Taint a string

Açıklama

taint(string &$string, string ...$strings): bool

Make a string tainted. This is used for testing purpose only.

Bağımsız Değişkenler

string

strings

Dönen Değerler

Return TRUE if the transformation is done. Always return TRUE if the taint extension is not enabled.


Untaint strings

  • « taint
  • Data Structures »
  • PHP Manual
  • Taint İşlevleri
  • Untaint strings

untaint

(PECL taint >=0.1.0)

untaint — Untaint strings

Açıklama

untaint(string &$string, string ...$strings): bool

Untaint strings

Bağımsız Değişkenler

string

strings

Dönen Değerler


Data Structures

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • Öntanımlı Sabitler
  • Örnekler
  • Ds\Collection — The Collection interface
    • Ds\Collection::clear — Removes all values
    • Ds\Collection::copy — Returns a shallow copy of the collection
    • Ds\Collection::isEmpty — Returns whether the collection is empty
    • Ds\Collection::toArray — Converts the collection to an array
  • Ds\Hashable — The Hashable interface
    • Ds\Hashable::equals — Determines whether an object is equal to the current instance
    • Ds\Hashable::hash — Returns a scalar value to be used as a hash value
  • Ds\Sequence — The Sequence interface
    • Ds\Sequence::allocate — Allocates enough memory for a required capacity
    • Ds\Sequence::apply — Updates all values by applying a callback function to each value
    • Ds\Sequence::capacity — Returns the current capacity
    • Ds\Sequence::contains — Determines if the sequence contains given values
    • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include
    • Ds\Sequence::find — Attempts to find a value's index
    • Ds\Sequence::first — Returns the first value in the sequence
    • Ds\Sequence::get — Returns the value at a given index
    • Ds\Sequence::insert — Inserts values at a given index
    • Ds\Sequence::join — Joins all values together as a string
    • Ds\Sequence::last — Returns the last value
    • Ds\Sequence::map — Returns the result of applying a callback to each value
    • Ds\Sequence::merge — Returns the result of adding all given values to the sequence
    • Ds\Sequence::pop — Removes and returns the last value
    • Ds\Sequence::push — Adds values to the end of the sequence
    • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function
    • Ds\Sequence::remove — Removes and returns a value by index
    • Ds\Sequence::reverse — Reverses the sequence in-place
    • Ds\Sequence::reversed — Returns a reversed copy
    • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations
    • Ds\Sequence::set — Updates a value at a given index
    • Ds\Sequence::shift — Removes and returns the first value
    • Ds\Sequence::slice — Returns a sub-sequence of a given range
    • Ds\Sequence::sort — Sorts the sequence in-place
    • Ds\Sequence::sorted — Returns a sorted copy
    • Ds\Sequence::sum — Returns the sum of all values in the sequence
    • Ds\Sequence::unshift — Adds values to the front of the sequence
  • Ds\Vector — The Vector class
    • Ds\Vector::allocate — Allocates enough memory for a required capacity
    • Ds\Vector::apply — Updates all values by applying a callback function to each value
    • Ds\Vector::capacity — Returns the current capacity
    • Ds\Vector::clear — Removes all values
    • Ds\Vector::__construct — Creates a new instance
    • Ds\Vector::contains — Determines if the vector contains given values
    • Ds\Vector::copy — Returns a shallow copy of the vector
    • Ds\Vector::count — Returns the number of values in the collection
    • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include
    • Ds\Vector::find — Attempts to find a value's index
    • Ds\Vector::first — Returns the first value in the vector
    • Ds\Vector::get — Returns the value at a given index
    • Ds\Vector::insert — Inserts values at a given index
    • Ds\Vector::isEmpty — Returns whether the vector is empty
    • Ds\Vector::join — Joins all values together as a string
    • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Vector::last — Returns the last value
    • Ds\Vector::map — Returns the result of applying a callback to each value
    • Ds\Vector::merge — Returns the result of adding all given values to the vector
    • Ds\Vector::pop — Removes and returns the last value
    • Ds\Vector::push — Adds values to the end of the vector
    • Ds\Vector::reduce — Reduces the vector to a single value using a callback function
    • Ds\Vector::remove — Removes and returns a value by index
    • Ds\Vector::reverse — Reverses the vector in-place
    • Ds\Vector::reversed — Returns a reversed copy
    • Ds\Vector::rotate — Rotates the vector by a given number of rotations
    • Ds\Vector::set — Updates a value at a given index
    • Ds\Vector::shift — Removes and returns the first value
    • Ds\Vector::slice — Returns a sub-vector of a given range
    • Ds\Vector::sort — Sorts the vector in-place
    • Ds\Vector::sorted — Returns a sorted copy
    • Ds\Vector::sum — Returns the sum of all values in the vector
    • Ds\Vector::toArray — Converts the vector to an array
    • Ds\Vector::unshift — Adds values to the front of the vector
  • Ds\Deque — The Deque class
    • Ds\Deque::allocate — Allocates enough memory for a required capacity
    • Ds\Deque::apply — Updates all values by applying a callback function to each value
    • Ds\Deque::capacity — Returns the current capacity
    • Ds\Deque::clear — Removes all values from the deque
    • Ds\Deque::__construct — Creates a new instance
    • Ds\Deque::contains — Determines if the deque contains given values
    • Ds\Deque::copy — Returns a shallow copy of the deque
    • Ds\Deque::count — Returns the number of values in the collection
    • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include
    • Ds\Deque::find — Attempts to find a value's index
    • Ds\Deque::first — Returns the first value in the deque
    • Ds\Deque::get — Returns the value at a given index
    • Ds\Deque::insert — Inserts values at a given index
    • Ds\Deque::isEmpty — Returns whether the deque is empty
    • Ds\Deque::join — Joins all values together as a string
    • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Deque::last — Returns the last value
    • Ds\Deque::map — Returns the result of applying a callback to each value
    • Ds\Deque::merge — Returns the result of adding all given values to the deque
    • Ds\Deque::pop — Removes and returns the last value
    • Ds\Deque::push — Adds values to the end of the deque
    • Ds\Deque::reduce — Reduces the deque to a single value using a callback function
    • Ds\Deque::remove — Removes and returns a value by index
    • Ds\Deque::reverse — Reverses the deque in-place
    • Ds\Deque::reversed — Returns a reversed copy
    • Ds\Deque::rotate — Rotates the deque by a given number of rotations
    • Ds\Deque::set — Updates a value at a given index
    • Ds\Deque::shift — Removes and returns the first value
    • Ds\Deque::slice — Returns a sub-deque of a given range
    • Ds\Deque::sort — Sorts the deque in-place
    • Ds\Deque::sorted — Returns a sorted copy
    • Ds\Deque::sum — Returns the sum of all values in the deque
    • Ds\Deque::toArray — Converts the deque to an array
    • Ds\Deque::unshift — Adds values to the front of the deque
  • Ds\Map — The Map class
    • Ds\Map::allocate — Allocates enough memory for a required capacity
    • Ds\Map::apply — Updates all values by applying a callback function to each value
    • Ds\Map::capacity — Returns the current capacity
    • Ds\Map::clear — Removes all values
    • Ds\Map::__construct — Creates a new instance
    • Ds\Map::copy — Returns a shallow copy of the map
    • Ds\Map::count — Returns the number of values in the map
    • Ds\Map::diff — Creates a new map using keys that aren't in another map
    • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include
    • Ds\Map::first — Returns the first pair in the map
    • Ds\Map::get — Returns the value for a given key
    • Ds\Map::hasKey — Determines whether the map contains a given key
    • Ds\Map::hasValue — Determines whether the map contains a given value
    • Ds\Map::intersect — Creates a new map by intersecting keys with another map
    • Ds\Map::isEmpty — Returns whether the map is empty
    • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Map::keys — Returns a set of the map's keys
    • Ds\Map::ksort — Sorts the map in-place by key
    • Ds\Map::ksorted — Returns a copy, sorted by key
    • Ds\Map::last — Returns the last pair of the map
    • Ds\Map::map — Returns the result of applying a callback to each value
    • Ds\Map::merge — Returns the result of adding all given associations
    • Ds\Map::pairs — Returns a sequence containing all the pairs of the map
    • Ds\Map::put — Associates a key with a value
    • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array
    • Ds\Map::reduce — Reduces the map to a single value using a callback function
    • Ds\Map::remove — Removes and returns a value by key
    • Ds\Map::reverse — Reverses the map in-place
    • Ds\Map::reversed — Returns a reversed copy
    • Ds\Map::skip — Returns the pair at a given positional index
    • Ds\Map::slice — Returns a subset of the map defined by a starting index and length
    • Ds\Map::sort — Sorts the map in-place by value
    • Ds\Map::sorted — Returns a copy, sorted by value
    • Ds\Map::sum — Returns the sum of all values in the map
    • Ds\Map::toArray — Converts the map to an array
    • Ds\Map::union — Creates a new map using values from the current instance and another map
    • Ds\Map::values — Returns a sequence of the map's values
    • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both
  • Ds\Pair — The Pair class
    • Ds\Pair::clear — Removes all values
    • Ds\Pair::__construct — Creates a new instance
    • Ds\Pair::copy — Returns a shallow copy of the pair
    • Ds\Pair::isEmpty — Returns whether the pair is empty
    • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Pair::toArray — Converts the pair to an array
  • Ds\Set — The Set class
    • Ds\Set::add — Adds values to the set
    • Ds\Set::allocate — Allocates enough memory for a required capacity
    • Ds\Set::capacity — Returns the current capacity
    • Ds\Set::clear — Removes all values
    • Ds\Set::__construct — Creates a new instance
    • Ds\Set::contains — Determines if the set contains all values
    • Ds\Set::copy — Returns a shallow copy of the set
    • Ds\Set::count — Returns the number of values in the set
    • Ds\Set::diff — Creates a new set using values that aren't in another set
    • Ds\Set::filter — Creates a new set using a callable to determine which values to include
    • Ds\Set::first — Returns the first value in the set
    • Ds\Set::get — Returns the value at a given index
    • Ds\Set::intersect — Creates a new set by intersecting values with another set
    • Ds\Set::isEmpty — Returns whether the set is empty
    • Ds\Set::join — Joins all values together as a string
    • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Set::last — Returns the last value in the set
    • Ds\Set::merge — Returns the result of adding all given values to the set
    • Ds\Set::reduce — Reduces the set to a single value using a callback function
    • Ds\Set::remove — Removes all given values from the set
    • Ds\Set::reverse — Reverses the set in-place
    • Ds\Set::reversed — Returns a reversed copy
    • Ds\Set::slice — Returns a sub-set of a given range
    • Ds\Set::sort — Sorts the set in-place
    • Ds\Set::sorted — Returns a sorted copy
    • Ds\Set::sum — Returns the sum of all values in the set
    • Ds\Set::toArray — Converts the set to an array
    • Ds\Set::union — Creates a new set using values from the current instance and another set
    • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both
  • Ds\Stack — The Stack class
    • Ds\Stack::allocate — Allocates enough memory for a required capacity
    • Ds\Stack::capacity — Returns the current capacity
    • Ds\Stack::clear — Removes all values
    • Ds\Stack::__construct — Creates a new instance
    • Ds\Stack::copy — Returns a shallow copy of the stack
    • Ds\Stack::count — Returns the number of values in the stack
    • Ds\Stack::isEmpty — Returns whether the stack is empty
    • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Stack::peek — Returns the value at the top of the stack
    • Ds\Stack::pop — Removes and returns the value at the top of the stack
    • Ds\Stack::push — Pushes values onto the stack
    • Ds\Stack::toArray — Converts the stack to an array
  • Ds\Queue — The Queue class
    • Ds\Queue::allocate — Allocates enough memory for a required capacity
    • Ds\Queue::capacity — Returns the current capacity
    • Ds\Queue::clear — Removes all values
    • Ds\Queue::__construct — Creates a new instance
    • Ds\Queue::copy — Returns a shallow copy of the queue
    • Ds\Queue::count — Returns the number of values in the queue
    • Ds\Queue::isEmpty — Returns whether the queue is empty
    • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\Queue::peek — Returns the value at the front of the queue
    • Ds\Queue::pop — Removes and returns the value at the front of the queue
    • Ds\Queue::push — Pushes values into the queue
    • Ds\Queue::toArray — Converts the queue to an array
  • Ds\PriorityQueue — The PriorityQueue class
    • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity
    • Ds\PriorityQueue::capacity — Returns the current capacity
    • Ds\PriorityQueue::clear — Removes all values
    • Ds\PriorityQueue::__construct — Creates a new instance
    • Ds\PriorityQueue::copy — Returns a shallow copy of the queue
    • Ds\PriorityQueue::count — Returns the number of values in the queue
    • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON
    • Ds\PriorityQueue::peek — Returns the value at the front of the queue
    • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority
    • Ds\PriorityQueue::push — Pushes values into the queue
    • Ds\PriorityQueue::toArray — Converts the queue to an array


Giriş

Efficient data structures for PHP 7, provided as an alternative to the array.

See » this blog post for benchmarks, discussion and frequently asked questions.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • Data Structures
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

PHP 7 is required by both the extension and the compatibility polyfill.


Kurulum

The easiest way to install the extension is via » PECL

pecl install ds

You can also build directly from source:

# Dependencies you might need to install
# sudo apt-get install git build-essential php7.0-dev

git clone https://github.com/php-ds/extension "php-ds"
cd php-ds

# Build and install the extension
phpize
./configure
make
make install

# Clean up the build files
make clean
phpize --clean

If you're on Windows, you can » download a compiled .dll on PECL

Bilginize:

If you're using Composer, it's highly recommended that you include » php-ds/php-ds in your project so that your code is still functional in an environment where the extension is not installed. The extension will take priority if installed.


  • « Kurulum
  • Örnekler »
  • PHP Manual
  • Data Structures
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

Örnek 1 Vector

<?php

$vector = new \Ds\Vector();

$vector->push('a');
$vector->push('b', 'c');

$vector[] = 'd';

print_r($vector);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
)

Örnek 2 Map

<?php

$map = new \Ds\Map();

$map->put('a', 1);
$map->put('b', 2);

$map['c'] = 3;

print_r($map);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


The Collection interface

(PECL ds >= 1.0.0)

Giriş

Collection is the base interface which covers functionality common to all the data structures in this library. It guarantees that all structures are traversable, countable, and can be converted to json using json_encode().

Arayüz Sözdizimi

interface Ds\Collection extends Countable, IteratorAggregate, JsonSerializable {
/* Yöntemler */
public clear(): void
public copy(): Ds\Collection
public isEmpty(): bool
public toArray(): array
/* Miras alınan yöntemler */
public Countable::count(): int
public IteratorAggregate::getIterator(): Traversable
public JsonSerializable::jsonSerialize(): mixed
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.4.0 | Collection implements IteratorAggregate now instead of just Traversable. (This change came to the polyfill in 1.4.1.)

İçindekiler

  • Ds\Collection::clear — Removes all values
  • Ds\Collection::copy — Returns a shallow copy of the collection
  • Ds\Collection::isEmpty — Returns whether the collection is empty
  • Ds\Collection::toArray — Converts the collection to an array


Removes all values

  • « Ds\Collection
  • Ds\Collection::copy »
  • PHP Manual
  • Ds\Collection
  • Removes all values

Ds\Collection::clear

(PECL ds >= 1.0.0)

Ds\Collection::clear — Removes all values

Açıklama

public Ds\Collection::clear(): void

Removes all values from the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Collection::clear() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);
print_r($collection);

$collection->clear();
print_r($collection);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)


Returns a shallow copy of the collection

  • « Ds\Collection::clear
  • Ds\Collection::isEmpty »
  • PHP Manual
  • Ds\Collection
  • Returns a shallow copy of the collection

Ds\Collection::copy

(PECL ds >= 1.0.0)

Ds\Collection::copy — Returns a shallow copy of the collection

Açıklama

public Ds\Collection::copy(): Ds\Collection

Returns a shallow copy of the collection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the collection.

Örnekler

Örnek 1 Ds\Collection::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns whether the collection is empty

  • « Ds\Collection::copy
  • Ds\Collection::toArray »
  • PHP Manual
  • Ds\Collection
  • Returns whether the collection is empty

Ds\Collection::isEmpty

(PECL ds >= 1.0.0)

Ds\Collection::isEmpty — Returns whether the collection is empty

Açıklama

public Ds\Collection::isEmpty(): bool

Returns whether the collection is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the collection is empty, false otherwise.

Örnekler

Örnek 1 Ds\Collection::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Converts the collection to an array

  • « Ds\Collection::isEmpty
  • Ds\Hashable »
  • PHP Manual
  • Ds\Collection
  • Converts the collection to an array

Ds\Collection::toArray

(PECL ds >= 1.0.0)

Ds\Collection::toArray — Converts the collection to an array

Açıklama

public Ds\Collection::toArray(): array

Converts the collection to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the collection.

Örnekler

Örnek 1 Ds\Collection::toArray() example

<?php
$collection = new \Ds\Vector([1, 2, 3]);

var_dump($collection->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


The Hashable interface

(PECL ds >= 1.0.0)

Giriş

Hashable is an interface which allows objects to be used as keys. It's an alternative to spl_object_hash(), which determines an object's hash based on its handle: this means that two objects that are considered equal by an implicit definition would not treated as equal because they are not the same instance.

hash() is used to return a scalar value to be used as the object's hash value, which determines where it goes in the hash table. While this value does not have to be unique, objects which are equal must have the same hash value.

equals() is used to determine if two objects are equal. It's guaranteed that the comparing object will be an instance of the same class as the subject.

Arayüz Sözdizimi

interface Ds\Hashable {
/* Yöntemler */
abstract public equals(object $obj): bool
abstract public hash(): mixed
}

İçindekiler

  • Ds\Hashable::equals — Determines whether an object is equal to the current instance
  • Ds\Hashable::hash — Returns a scalar value to be used as a hash value


Determines whether an object is equal to the current instance

  • « Ds\Hashable
  • Ds\Hashable::hash »
  • PHP Manual
  • Ds\Hashable
  • Determines whether an object is equal to the current instance

Ds\Hashable::equals

(PECL ds >= 1.0.0)

Ds\Hashable::equals — Determines whether an object is equal to the current instance

Açıklama

abstract public Ds\Hashable::equals(object $obj): bool

Determines whether another object is equal to the current instance.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Bilginize:

It's guaranteed that obj is an instance of the same class.

Dikkat

It's important that objects which are equal also have the same hash value. See Ds\Hashable::hash().

Bağımsız Değişkenler

obj

The object to compare the current instance to, which is always an instance of the same class.

Dönen Değerler

true if equal, false otherwise.


Returns a scalar value to be used as a hash value

  • « Ds\Hashable::equals
  • Ds\Sequence »
  • PHP Manual
  • Ds\Hashable
  • Returns a scalar value to be used as a hash value

Ds\Hashable::hash

(PECL ds >= 1.0.0)

Ds\Hashable::hash — Returns a scalar value to be used as a hash value

Açıklama

abstract public Ds\Hashable::hash(): mixed

Returns a scalar value to be used as the hash value of the objects.

While the hash value does not define equality, all objects that are equal according to Ds\Hashable::equals() must have the same hash value. Hash values of equal objects don't have to be unique, for example you could just return true for all objects and nothing would break - the only implication would be that hash tables then turn into linked lists because all your objects will be hashed to the same bucket. It's therefore very important that you pick a good hash value, such as an ID or email address.

This method allows objects to be used as keys in structures such as Ds\Map and Ds\Set, or any other lookup structure that honors this interface.

Dikkat

Do not pick a value that might change within the object, such as a public property. Hash table lookups would fail because the hash has changed.

Dikkat

All objects that are equal must have the same hash value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A scalar value to be used as this object's hash value.

Örnekler

Örnek 1 Ds\Hashable::hash() example

<?php
class HashableObject implements \Ds\Hashable
{
private $name;
private $email;

public function __construct($name, $email)
{
$this->name = $name;
$this->email = $email;
}

/**
* Should return the same value for all equal objects, but doesn't have to
* be unique. This value will not be used to determine equality.
*/
public function hash()
{
return $this->email;
}

/**
* This determines equality, usually during a hash table lookup to determine
* if the bucket's key matches the lookup key. The hash has to be equal if
* the objects are equal, otherwise this determination wouldn't be reached.
*/
public function equals($obj): bool
{
return $this->name === $obj->name
&& $this->email === $obj->email;
}
}
?>


The Sequence interface

(PECL ds >= 1.0.0)

Giriş

A Sequence describes the behaviour of values arranged in a single, linear dimension. Some languages refer to this as a "List". It's similar to an array that uses incremental integer keys, with the exception of a few characteristics:

  • Values will always be indexed as [0, 1, 2, ..., size - 1].
  • Only allowed to access values by index in the range [0, size - 1].

Use cases:

  • Wherever you would use an array as a list (not concerned with keys).
  • A more efficient alternative to SplDoublyLinkedList and SplFixedArray.

Arayüz Sözdizimi

interface Ds\Sequence extends Ds\Collection, ArrayAccess {
/* Yöntemler */
abstract public allocate(int $capacity): void
abstract public apply(callable $callback): void
abstract public capacity(): int
abstract public contains(mixed ...$values): bool
abstract public filter(callable $callback = ?): Ds\Sequence
abstract public find(mixed $value): mixed
abstract public first(): mixed
abstract public get(int $index): mixed
abstract public insert(int $index, mixed ...$values): void
abstract public join(string $glue = ?): string
abstract public last(): mixed
abstract public map(callable $callback): Ds\Sequence
abstract public merge(mixed $values): Ds\Sequence
abstract public pop(): mixed
abstract public push(mixed ...$values): void
abstract public reduce(callable $callback, mixed $initial = ?): mixed
abstract public remove(int $index): mixed
abstract public reverse(): void
abstract public reversed(): Ds\Sequence
abstract public rotate(int $rotations): void
abstract public set(int $index, mixed $value): void
abstract public shift(): mixed
abstract public slice(int $index, int $length = ?): Ds\Sequence
abstract public sort(callable $comparator = ?): void
abstract public sorted(callable $comparator = ?): Ds\Sequence
abstract public sum(): int|float
abstract public unshift(mixed $values = ?): void
/* Miras alınan yöntemler */
public Ds\Collection::clear(): void
public Ds\Collection::copy(): Ds\Collection
public Ds\Collection::isEmpty(): bool
public Ds\Collection::toArray(): array
public Countable::count(): int
public IteratorAggregate::getIterator(): Traversable
public JsonSerializable::jsonSerialize(): mixed
public ArrayAccess::offsetExists(mixed $offset): bool
public ArrayAccess::offsetGet(mixed $offset): mixed
public ArrayAccess::offsetSet(mixed $offset, mixed $value): void
public ArrayAccess::offsetUnset(mixed $offset): void
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The interface now extends ArrayAccess.

İçindekiler

  • Ds\Sequence::allocate — Allocates enough memory for a required capacity
  • Ds\Sequence::apply — Updates all values by applying a callback function to each value
  • Ds\Sequence::capacity — Returns the current capacity
  • Ds\Sequence::contains — Determines if the sequence contains given values
  • Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include
  • Ds\Sequence::find — Attempts to find a value's index
  • Ds\Sequence::first — Returns the first value in the sequence
  • Ds\Sequence::get — Returns the value at a given index
  • Ds\Sequence::insert — Inserts values at a given index
  • Ds\Sequence::join — Joins all values together as a string
  • Ds\Sequence::last — Returns the last value
  • Ds\Sequence::map — Returns the result of applying a callback to each value
  • Ds\Sequence::merge — Returns the result of adding all given values to the sequence
  • Ds\Sequence::pop — Removes and returns the last value
  • Ds\Sequence::push — Adds values to the end of the sequence
  • Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function
  • Ds\Sequence::remove — Removes and returns a value by index
  • Ds\Sequence::reverse — Reverses the sequence in-place
  • Ds\Sequence::reversed — Returns a reversed copy
  • Ds\Sequence::rotate — Rotates the sequence by a given number of rotations
  • Ds\Sequence::set — Updates a value at a given index
  • Ds\Sequence::shift — Removes and returns the first value
  • Ds\Sequence::slice — Returns a sub-sequence of a given range
  • Ds\Sequence::sort — Sorts the sequence in-place
  • Ds\Sequence::sorted — Returns a sorted copy
  • Ds\Sequence::sum — Returns the sum of all values in the sequence
  • Ds\Sequence::unshift — Adds values to the front of the sequence


Allocates enough memory for a required capacity

  • « Ds\Sequence
  • Ds\Sequence::apply »
  • PHP Manual
  • Ds\Sequence
  • Allocates enough memory for a required capacity

Ds\Sequence::allocate

(PECL ds >= 1.0.0)

Ds\Sequence::allocate — Allocates enough memory for a required capacity

Açıklama

abstract public Ds\Sequence::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::allocate() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$vector->allocate(100);
var_dump($sequence->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(100)


Updates all values by applying a callback function to each value

  • « Ds\Sequence::allocate
  • Ds\Sequence::capacity »
  • PHP Manual
  • Ds\Sequence
  • Updates all values by applying a callback function to each value

Ds\Sequence::apply

(PECL ds >= 1.0.0)

Ds\Sequence::apply — Updates all values by applying a callback function to each value

Açıklama

abstract public Ds\Sequence::apply(callable $callback): void

Updates all values by applying a callback function to each value in the sequence.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the sequence.

The callback should return what the value should be replaced by.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::apply() example

<?php
$sequence = new \Ds\Sequence([1, 2, 3]);
$sequence->apply(function($value) { return $value * 2; });

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Sequence::apply
  • Ds\Sequence::contains »
  • PHP Manual
  • Ds\Sequence
  • Returns the current capacity

Ds\Sequence::capacity

(PECL ds >= 1.0.0)

Ds\Sequence::capacity — Returns the current capacity

Açıklama

abstract public Ds\Sequence::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Sequence::capacity() example

<?php
$sequence = new \Ds\Vector();
var_dump($sequence->capacity());

$sequence->push(...range(1, 50));
var_dump($sequence->capacity());

$sequence[] = "a";
var_dump($sequence->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(50)
int(75)


Determines if the sequence contains given values

  • « Ds\Sequence::capacity
  • Ds\Sequence::filter »
  • PHP Manual
  • Ds\Sequence
  • Determines if the sequence contains given values

Ds\Sequence::contains

(PECL ds >= 1.0.0)

Ds\Sequence::contains — Determines if the sequence contains given values

Açıklama

abstract public Ds\Sequence::contains(mixed ...$values): bool

Determines if the sequence contains all values.

Bağımsız Değişkenler

values

Values to check.

Dönen Değerler

false if any of the provided values are not in the sequence, true otherwise.

Örnekler

Örnek 1 Ds\Sequence::contains() example

<?php
$sequence = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($sequence->contains('a')); // true
var_dump($sequence->contains('a', 'b')); // true
var_dump($sequence->contains('c', 'd')); // false

var_dump($sequence->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($sequence->contains(1)); // true
var_dump($sequence->contains('1')); // false

var_dump($sequece->contains(...[])); // true
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Creates a new sequence using a callable to determine which values to include

  • « Ds\Sequence::contains
  • Ds\Sequence::find »
  • PHP Manual
  • Ds\Sequence
  • Creates a new sequence using a callable to determine which values to include

Ds\Sequence::filter

(PECL ds >= 1.0.0)

Ds\Sequence::filter — Creates a new sequence using a callable to determine which values to include

Açıklama

abstract public Ds\Sequence::filter(callable $callback = ?): Ds\Sequence

Creates a new sequence using a callable to determine which values to include.

Bağımsız Değişkenler

callback

callback(mixed $value): bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Dönen Değerler

A new sequence containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Örnekler

Örnek 1 Ds\Sequence::filter() example using callback function

<?php
$sequence = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($sequence->filter(function($value) {
return $value % 2 == 0;
}));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Örnek 2 Ds\Sequence::filter() example without a callback function

<?php
$sequence = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($sequence->filter());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Sequence::filter
  • Ds\Sequence::first »
  • PHP Manual
  • Ds\Sequence
  • Attempts to find a value's index

Ds\Sequence::find

(PECL ds >= 1.0.0)

Ds\Sequence::find — Attempts to find a value's index

Açıklama

abstract public Ds\Sequence::find(mixed $value): mixed

Returns the index of the value, or false if not found.

Bağımsız Değişkenler

value

The value to find.

Dönen Değerler

The index of the value, or false if not found.

Bilginize:

Values will be compared by value and by type.

Örnekler

Örnek 1 Ds\Sequence::find() example

<?php
$sequence = new \Ds\Vector(["a", 1, true]);

var_dump($sequence->find("a")); // 0
var_dump($sequence->find("b")); // false
var_dump($sequence->find("1")); // false
var_dump($sequence->find(1)); // 1
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the sequence

  • « Ds\Sequence::find
  • Ds\Sequence::get »
  • PHP Manual
  • Ds\Sequence
  • Returns the first value in the sequence

Ds\Sequence::first

(PECL ds >= 1.0.0)

Ds\Sequence::first — Returns the first value in the sequence

Açıklama

abstract public Ds\Sequence::first(): mixed

Returns the first value in the sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value in the sequence.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Sequence::first() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)


Returns the value at a given index

  • « Ds\Sequence::first
  • Ds\Sequence::insert »
  • PHP Manual
  • Ds\Sequence
  • Returns the value at a given index

Ds\Sequence::get

(PECL ds >= 1.0.0)

Ds\Sequence::get — Returns the value at a given index

Açıklama

abstract public Ds\Sequence::get(int $index): mixed

Returns the value at a given index.

Bağımsız Değişkenler

index

The index to access, starting at 0.

Dönen Değerler

The value at the requested index.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Sequence::get() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->get(0));
var_dump($sequence->get(1));
var_dump($sequence->get(2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"

Örnek 2 Ds\Sequence::get() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence[0]);
var_dump($sequence[1]);
var_dump($sequence[2]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Sequence::get
  • Ds\Sequence::join »
  • PHP Manual
  • Ds\Sequence
  • Inserts values at a given index

Ds\Sequence::insert

(PECL ds >= 1.0.0)

Ds\Sequence::insert — Inserts values at a given index

Açıklama

abstract public Ds\Sequence::insert(int $index, mixed ...$values): void

Inserts values into the sequence at a given index.

Bağımsız Değişkenler

index

The index at which to insert. 0 <= index <= count

Bilginize:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Sequence::insert() example

<?php
$sequence = new \Ds\Vector();

$sequence->insert(0, "e"); // [e]
$sequence->insert(1, "f"); // [e, f]
$sequence->insert(2, "g"); // [e, f, g]
$sequence->insert(0, "a", "b"); // [a, b, e, f, g]
$sequence->insert(2, ...["c", "d"]); // [a, b, c, d, e, f, g]

var_dump($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Joins all values together as a string

  • « Ds\Sequence::insert
  • Ds\Sequence::last »
  • PHP Manual
  • Ds\Sequence
  • Joins all values together as a string

Ds\Sequence::join

(PECL ds >= 1.0.0)

Ds\Sequence::join — Joins all values together as a string

Açıklama

abstract public Ds\Sequence::join(string $glue = ?): string

Joins all values together as a string using an optional separator between each value.

Bağımsız Değişkenler

glue

An optional string to separate each value.

Dönen Değerler

All values of the sequence joined together as a string.

Örnekler

Örnek 1 Ds\Sequence::join() example using a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join("|"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "a|b|c|1|2|3"

Örnek 2 Ds\Sequence::join() example without a separator string

<?php
$sequence = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($sequence->join());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "abc123"


Returns the last value

  • « Ds\Sequence::join
  • Ds\Sequence::map »
  • PHP Manual
  • Ds\Sequence
  • Returns the last value

Ds\Sequence::last

(PECL ds >= 1.0.0)

Ds\Sequence::last — Returns the last value

Açıklama

abstract public Ds\Sequence::last(): mixed

Returns the last value in the sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last value in the sequence.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Sequence::last() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Sequence::last
  • Ds\Sequence::merge »
  • PHP Manual
  • Ds\Sequence
  • Returns the result of applying a callback to each value

Ds\Sequence::map

(PECL ds >= 1.0.0)

Ds\Sequence::map — Returns the result of applying a callback to each value

Açıklama

abstract public Ds\Sequence::map(callable $callback): Ds\Sequence

Returns the result of applying a callback function to each value in the sequence.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the sequence.

The callable should return what the new value will be in the new sequence.

Dönen Değerler

The result of applying a callback to each value in the sequence.

Bilginize:

The values of the current instance won't be affected.

Örnekler

Örnek 1 Ds\Sequence::map() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

print_r($sequence->map(function($value) { return $value * 2; }));
print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the sequence

  • « Ds\Sequence::map
  • Ds\Sequence::pop »
  • PHP Manual
  • Ds\Sequence
  • Returns the result of adding all given values to the sequence

Ds\Sequence::merge

(PECL ds >= 1.0.0)

Ds\Sequence::merge — Returns the result of adding all given values to the sequence

Açıklama

abstract public Ds\Sequence::merge(mixed $values): Ds\Sequence

Returns the result of adding all given values to the sequence.

Bağımsız Değişkenler

values

A traversable object or an array.

Dönen Değerler

The result of adding all given values to the sequence, effectively the same as adding the values to a copy, then returning that copy.

Bilginize:

The current instance won't be affected.

Örnekler

Örnek 1 Ds\Sequence::merge() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->merge([4, 5, 6]));
var_dump($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Sequence::merge
  • Ds\Sequence::push »
  • PHP Manual
  • Ds\Sequence
  • Removes and returns the last value

Ds\Sequence::pop

(PECL ds >= 1.0.0)

Ds\Sequence::pop — Removes and returns the last value

Açıklama

abstract public Ds\Sequence::pop(): mixed

Removes and returns the last value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed last value.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Sequence::pop() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->pop());
var_dump($sequence->pop());
var_dump($sequence->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(2)
int(1)


Adds values to the end of the sequence

  • « Ds\Sequence::pop
  • Ds\Sequence::reduce »
  • PHP Manual
  • Ds\Sequence
  • Adds values to the end of the sequence

Ds\Sequence::push

(PECL ds >= 1.0.0)

Ds\Sequence::push — Adds values to the end of the sequence

Açıklama

abstract public Ds\Sequence::push(mixed ...$values): void

Adds values to the end of the sequence.

Bağımsız Değişkenler

values

The values to add.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::push() example

<?php
$sequence = new \Ds\Vector();

$sequence->push("a");
$sequence->push("b");
$sequence->push("c", "d");
$sequence->push(...["e", "f"]);

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the sequence to a single value using a callback function

  • « Ds\Sequence::push
  • Ds\Sequence::remove »
  • PHP Manual
  • Ds\Sequence
  • Reduces the sequence to a single value using a callback function

Ds\Sequence::reduce

(PECL ds >= 1.0.0)

Ds\Sequence::reduce — Reduces the sequence to a single value using a callback function

Açıklama

abstract public Ds\Sequence::reduce(callable $callback, mixed $initial = ?): mixed

Reduces the sequence to a single value using a callback function.

Bağımsız Değişkenler

callback
callback(mixed $carry, mixed $value): mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Dönen Değerler

The return value of the final callback.

Örnekler

Örnek 1 Ds\Sequence::reduce() with initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
return $carry * $value;
};

var_dump($sequence->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(30)

Örnek 2 Ds\Sequence::reduce() without an initial value example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

var_dump($sequence->reduce(function($carry, $value) {
return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(21)


Removes and returns a value by index

  • « Ds\Sequence::reduce
  • Ds\Sequence::reverse »
  • PHP Manual
  • Ds\Sequence
  • Removes and returns a value by index

Ds\Sequence::remove

(PECL ds >= 1.0.0)

Ds\Sequence::remove — Removes and returns a value by index

Açıklama

abstract public Ds\Sequence::remove(int $index): mixed

Removes and returns a value by index.

Bağımsız Değişkenler

index

The index of the value to remove.

Dönen Değerler

The value that was removed.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Sequence::remove() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->remove(1));
var_dump($sequence->remove(0));
var_dump($sequence->remove(0));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the sequence in-place

  • « Ds\Sequence::remove
  • Ds\Sequence::reversed »
  • PHP Manual
  • Ds\Sequence
  • Reverses the sequence in-place

Ds\Sequence::reverse

(PECL ds >= 1.0.0)

Ds\Sequence::reverse — Reverses the sequence in-place

Açıklama

abstract public Ds\Sequence::reverse(): void

Reverses the sequence in-place.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::reverse() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);
$sequence->reverse();

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Sequence::reverse
  • Ds\Sequence::rotate »
  • PHP Manual
  • Ds\Sequence
  • Returns a reversed copy

Ds\Sequence::reversed

(PECL ds >= 1.0.0)

Ds\Sequence::reversed — Returns a reversed copy

Açıklama

abstract public Ds\Sequence::reversed(): Ds\Sequence

Returns a reversed copy of the sequence.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A reversed copy of the sequence.

Bilginize:

The current instance is not affected.

Örnekler

Örnek 1 Ds\Sequence::reversed() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

print_r($sequence->reversed());
print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the sequence by a given number of rotations

  • « Ds\Sequence::reversed
  • Ds\Sequence::set »
  • PHP Manual
  • Ds\Sequence
  • Rotates the sequence by a given number of rotations

Ds\Sequence::rotate

(PECL ds >= 1.0.0)

Ds\Sequence::rotate — Rotates the sequence by a given number of rotations

Açıklama

abstract public Ds\Sequence::rotate(int $rotations): void

Rotates the sequence by a given number of rotations, which is equivalent to successively calling $sequence->push($sequence->shift()) if the number of rotations is positive, or $sequence->unshift($sequence->pop()) if negative.

Bağımsız Değişkenler

rotations

The number of times the sequence should be rotated.

Dönen Değerler

Hiçbir değer dönmez.. The sequence of the current instance will be rotated.

Örnekler

Örnek 1 Ds\Sequence::rotate() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d"]);

$sequence->rotate(1); // "a" is shifted, then pushed.
print_r($sequence);

$sequence->rotate(2); // "b" and "c" are both shifted, the pushed.
print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Sequence::rotate
  • Ds\Sequence::shift »
  • PHP Manual
  • Ds\Sequence
  • Updates a value at a given index

Ds\Sequence::set

(PECL ds >= 1.0.0)

Ds\Sequence::set — Updates a value at a given index

Açıklama

abstract public Ds\Sequence::set(int $index, mixed $value): void

Updates a value at a given index.

Bağımsız Değişkenler

index

The index of the value to update.

value

The new value.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Sequence::set() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence->set(1, "_");
print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Örnek 2 Ds\Sequence::set() example using array syntax

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

$sequence[1] = "_";
print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Sequence::set
  • Ds\Sequence::slice »
  • PHP Manual
  • Ds\Sequence
  • Removes and returns the first value

Ds\Sequence::shift

(PECL ds >= 1.0.0)

Ds\Sequence::shift — Removes and returns the first value

Açıklama

abstract public Ds\Sequence::shift(): mixed

Removes and returns the first value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value, which was removed.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Sequence::shift() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c"]);

var_dump($sequence->shift());
var_dump($sequence->shift());
var_dump($sequence->shift());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-sequence of a given range

  • « Ds\Sequence::shift
  • Ds\Sequence::sort »
  • PHP Manual
  • Ds\Sequence
  • Returns a sub-sequence of a given range

Ds\Sequence::slice

(PECL ds >= 1.0.0)

Ds\Sequence::slice — Returns a sub-sequence of a given range

Açıklama

abstract public Ds\Sequence::slice(int $index, int $length = ?): Ds\Sequence

Creates a sub-sequence of a given range.

Bağımsız Değişkenler

index

The index at which the sub-sequence starts.

If positive, the sequence will start at that index in the sequence. If negative, the sequence will start that far from the end.

length

If a length is given and is positive, the resulting sequence will have up to that many values in it. If the length results in an overflow, only values up to the end of the sequence will be included. If a length is given and is negative, the sequence will stop that many values from the end. If a length is not provided, the resulting sequence will contain all values between the index and the end of the sequence.

Dönen Değerler

A sub-sequence of the given range.

Örnekler

Örnek 1 Ds\Sequence::slice() example

<?php
$sequence = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($sequence->slice(2));

// Slice from 1, for a length of 3
print_r($sequence->slice(1, 3));

// Slice from 1 onwards
print_r($sequence->slice(1));

// Slice from 2 from the end onwards
print_r($sequence->slice(-2));

// Slice from 1 to 1 from the end
print_r($sequence->slice(1, -1));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the sequence in-place

  • « Ds\Sequence::slice
  • Ds\Sequence::sorted »
  • PHP Manual
  • Ds\Sequence
  • Sorts the sequence in-place

Ds\Sequence::sort

(PECL ds >= 1.0.0)

Ds\Sequence::sort — Sorts the sequence in-place

Açıklama

abstract public Ds\Sequence::sort(callable $comparator = ?): void

Sorts the sequence in-place, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::sort() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);
$sequence->sort();

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Sequence::sort() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sequence->sort(function($a, $b) {
return $b <=> $a;
});

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Sequence::sort
  • Ds\Sequence::sum »
  • PHP Manual
  • Ds\Sequence
  • Returns a sorted copy

Ds\Sequence::sorted

(PECL ds >= 1.0.0)

Ds\Sequence::sorted — Returns a sorted copy

Açıklama

abstract public Ds\Sequence::sorted(callable $comparator = ?): Ds\Sequence

Returns a sorted copy, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a sorted copy of the sequence.

Örnekler

Örnek 1 Ds\Sequence::sorted() example

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($sequence->sorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Sequence::sorted() example using a comparator

<?php
$sequence = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $sequence->sorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the sequence

  • « Ds\Sequence::sorted
  • Ds\Sequence::unshift »
  • PHP Manual
  • Ds\Sequence
  • Returns the sum of all values in the sequence

Ds\Sequence::sum

(PECL ds >= 1.0.0)

Ds\Sequence::sum — Returns the sum of all values in the sequence

Açıklama

abstract public Ds\Sequence::sum(): int|float

Returns the sum of all values in the sequence.

Bilginize:

Arrays and objects are considered equal to zero when calculating the sum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sum of all the values in the sequence as either a float or int depending on the values in the sequence.

Örnekler

Örnek 1 Ds\Sequence::sum() integer example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);
var_dump($sequence->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(6)

Örnek 2 Ds\Sequence::sum() float example

<?php
$sequence = new \Ds\Vector([1, 2.5, 3]);
var_dump($sequence->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

float(6.5)


Adds values to the front of the sequence

  • « Ds\Sequence::sum
  • Ds\Vector »
  • PHP Manual
  • Ds\Sequence
  • Adds values to the front of the sequence

Ds\Sequence::unshift

(PECL ds >= 1.0.0)

Ds\Sequence::unshift — Adds values to the front of the sequence

Açıklama

abstract public Ds\Sequence::unshift(mixed $values = ?): void

Adds values to the front of the sequence, moving all the current values forward to make room for the new values.

Bağımsız Değişkenler

values

The values to add to the front of the sequence.

Bilginize:

Multiple values will be added in the same order that they are passed.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Sequence::unshift() example

<?php
$sequence = new \Ds\Vector([1, 2, 3]);

$sequence->unshift("a");
$sequence->unshift("b", "c");

print_r($sequence);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Vector class

(PECL ds >= 1.0.0)

Giriş

A Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It's the most efficient sequential structure because a value's index is a direct mapping to its index in the buffer, and the growth factor isn't bound to a specific multiple or exponent.

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • Capacity does not have to be a power of 2.
  • get(),
set(),
push(),
pop() are all O(1).

Weaknesses

  • shift(),
unshift(),
insert() and
remove() are all O(n).

Sınıf Sözdizimi

class Ds\Vector implements Ds\Sequence, ArrayAccess {
/* Sabitler */
const int MIN_CAPACITY = 10;
/* Yöntemler */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public contains(mixed ...$values): bool
public copy(): Ds\Vector
public filter(callable $callback = ?): Ds\Vector
public find(mixed $value): mixed
public first(): mixed
public get(int $index): mixed
public insert(int $index, mixed ...$values): void
public isEmpty(): bool
public join(string $glue = ?): string
public last(): mixed
public map(callable $callback): Ds\Vector
public merge(mixed $values): Ds\Vector
public pop(): mixed
public push(mixed ...$values): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(int $index): mixed
public reverse(): void
public reversed(): Ds\Vector
public rotate(int $rotations): void
public set(int $index, mixed $value): void
public shift(): mixed
public slice(int $index, int $length = ?): Ds\Vector
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Vector
public sum(): int|float
public toArray(): array
public unshift(mixed $values = ?): void
}

Öntanımlı Sabitler

Ds\Vector::MIN_CAPACITY

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Vector::allocate — Allocates enough memory for a required capacity
  • Ds\Vector::apply — Updates all values by applying a callback function to each value
  • Ds\Vector::capacity — Returns the current capacity
  • Ds\Vector::clear — Removes all values
  • Ds\Vector::__construct — Creates a new instance
  • Ds\Vector::contains — Determines if the vector contains given values
  • Ds\Vector::copy — Returns a shallow copy of the vector
  • Ds\Vector::count — Returns the number of values in the collection
  • Ds\Vector::filter — Creates a new vector using a callable to determine which values to include
  • Ds\Vector::find — Attempts to find a value's index
  • Ds\Vector::first — Returns the first value in the vector
  • Ds\Vector::get — Returns the value at a given index
  • Ds\Vector::insert — Inserts values at a given index
  • Ds\Vector::isEmpty — Returns whether the vector is empty
  • Ds\Vector::join — Joins all values together as a string
  • Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Vector::last — Returns the last value
  • Ds\Vector::map — Returns the result of applying a callback to each value
  • Ds\Vector::merge — Returns the result of adding all given values to the vector
  • Ds\Vector::pop — Removes and returns the last value
  • Ds\Vector::push — Adds values to the end of the vector
  • Ds\Vector::reduce — Reduces the vector to a single value using a callback function
  • Ds\Vector::remove — Removes and returns a value by index
  • Ds\Vector::reverse — Reverses the vector in-place
  • Ds\Vector::reversed — Returns a reversed copy
  • Ds\Vector::rotate — Rotates the vector by a given number of rotations
  • Ds\Vector::set — Updates a value at a given index
  • Ds\Vector::shift — Removes and returns the first value
  • Ds\Vector::slice — Returns a sub-vector of a given range
  • Ds\Vector::sort — Sorts the vector in-place
  • Ds\Vector::sorted — Returns a sorted copy
  • Ds\Vector::sum — Returns the sum of all values in the vector
  • Ds\Vector::toArray — Converts the vector to an array
  • Ds\Vector::unshift — Adds values to the front of the vector


Allocates enough memory for a required capacity

  • « Ds\Vector
  • Ds\Vector::apply »
  • PHP Manual
  • Ds\Vector
  • Allocates enough memory for a required capacity

Ds\Vector::allocate

(PECL ds >= 1.0.0)

Ds\Vector::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Vector::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::allocate() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->allocate(100);
var_dump($vector->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(100)


Updates all values by applying a callback function to each value

  • « Ds\Vector::allocate
  • Ds\Vector::capacity »
  • PHP Manual
  • Ds\Vector
  • Updates all values by applying a callback function to each value

Ds\Vector::apply

(PECL ds >= 1.0.0)

Ds\Vector::apply — Updates all values by applying a callback function to each value

Açıklama

public Ds\Vector::apply(callable $callback): void

Updates all values by applying a callback function to each value in the vector.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the vector.

The callback should return what the value should be replaced by.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::apply() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
$vector->apply(function($value) { return $value * 2; });

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Vector::apply
  • Ds\Vector::clear »
  • PHP Manual
  • Ds\Vector
  • Returns the current capacity

Ds\Vector::capacity

(PECL ds >= 1.0.0)

Ds\Vector::capacity — Returns the current capacity

Açıklama

public Ds\Vector::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Vector::capacity() example

<?php
$vector = new \Ds\Vector();
var_dump($vector->capacity());

$vector->push(...range(1, 50));
var_dump($vector->capacity());

$vector[] = "a";
var_dump($vector->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(10)
int(50)
int(75)


Removes all values

  • « Ds\Vector::capacity
  • Ds\Vector::__construct »
  • PHP Manual
  • Ds\Vector
  • Removes all values

Ds\Vector::clear

(PECL ds >= 1.0.0)

Ds\Vector::clear — Removes all values

Açıklama

public Ds\Vector::clear(): void

Removes all values from the vector.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::clear() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
print_r($vector);

$vector->clear();
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
)


Creates a new instance

  • « Ds\Vector::clear
  • Ds\Vector::contains »
  • PHP Manual
  • Ds\Vector
  • Creates a new instance

Ds\Vector::__construct

(PECL ds >= 1.0.0)

Ds\Vector::__construct — Creates a new instance

Açıklama

public Ds\Vector::__construct(mixed $values = ?)

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Vector::__construct() example

<?php
$vector = new \Ds\Vector();
var_dump($vector);

$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (0) {
}
object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the vector contains given values

  • « Ds\Vector::__construct
  • Ds\Vector::copy »
  • PHP Manual
  • Ds\Vector
  • Determines if the vector contains given values

Ds\Vector::contains

(PECL ds >= 1.0.0)

Ds\Vector::contains — Determines if the vector contains given values

Açıklama

public Ds\Vector::contains(mixed ...$values): bool

Determines if the vector contains all values.

Bağımsız Değişkenler

values

Values to check.

Dönen Değerler

false if any of the provided values are not in the vector, true otherwise.

Örnekler

Örnek 1 Ds\Vector::contains() example

<?php
$vector = new \Ds\Vector(['a', 'b', 'c', 1, 2, 3]);

var_dump($vector->contains('a')); // true
var_dump($vector->contains('a', 'b')); // true
var_dump($vector->contains('c', 'd')); // false

var_dump($vector->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($vector->contains(1)); // true
var_dump($vector->contains('1')); // false

var_dump($sequece->contains(...[])); // true
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Returns a shallow copy of the vector

  • « Ds\Vector::contains
  • Ds\Vector::count »
  • PHP Manual
  • Ds\Vector
  • Returns a shallow copy of the vector

Ds\Vector::copy

(PECL ds >= 1.0.0)

Ds\Vector::copy — Returns a shallow copy of the vector

Açıklama

public Ds\Vector::copy(): Ds\Vector

Returns a shallow copy of the vector.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the vector.

Örnekler

Örnek 1 Ds\Vector::copy() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the collection

  • « Ds\Vector::copy
  • Ds\Vector::filter »
  • PHP Manual
  • Ds\Vector
  • Returns the number of values in the collection

Ds\Vector::count

(PECL ds >= 1.0.0)

Ds\Vector::count — Returns the number of values in the collection

See Countable::count()


Creates a new vector using a callable to determine which values to include

  • « Ds\Vector::count
  • Ds\Vector::find »
  • PHP Manual
  • Ds\Vector
  • Creates a new vector using a callable to determine which values to include

Ds\Vector::filter

(PECL ds >= 1.0.0)

Ds\Vector::filter — Creates a new vector using a callable to determine which values to include

Açıklama

public Ds\Vector::filter(callable $callback = ?): Ds\Vector

Creates a new vector using a callable to determine which values to include.

Bağımsız Değişkenler

callback

callback(mixed $value): bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Dönen Değerler

A new vector containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Örnekler

Örnek 1 Ds\Vector::filter() example using callback function

<?php
$vector = new \Ds\Vector([1, 2, 3, 4, 5]);

var_dump($vector->filter(function($value) {
return $value % 2 == 0;
}));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Örnek 2 Ds\Vector::filter() example without a callback function

<?php
$vector = new \Ds\Vector([0, 1, 'a', true, false]);

var_dump($vector->filter());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Vector::filter
  • Ds\Vector::first »
  • PHP Manual
  • Ds\Vector
  • Attempts to find a value's index

Ds\Vector::find

(PECL ds >= 1.0.0)

Ds\Vector::find — Attempts to find a value's index

Açıklama

public Ds\Vector::find(mixed $value): mixed

Returns the index of the value, or false if not found.

Bağımsız Değişkenler

value

The value to find.

Dönen Değerler

The index of the value, or false if not found.

Bilginize:

Values will be compared by value and by type.

Örnekler

Örnek 1 Ds\Vector::find() example

<?php
$vector = new \Ds\Vector(["a", 1, true]);

var_dump($vector->find("a")); // 0
var_dump($vector->find("b")); // false
var_dump($vector->find("1")); // false
var_dump($vector->find(1)); // 1
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the vector

  • « Ds\Vector::find
  • Ds\Vector::get »
  • PHP Manual
  • Ds\Vector
  • Returns the first value in the vector

Ds\Vector::first

(PECL ds >= 1.0.0)

Ds\Vector::first — Returns the first value in the vector

Açıklama

public Ds\Vector::first(): mixed

Returns the first value in the vector.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value in the vector.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Vector::first() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)


Returns the value at a given index

  • « Ds\Vector::first
  • Ds\Vector::insert »
  • PHP Manual
  • Ds\Vector
  • Returns the value at a given index

Ds\Vector::get

(PECL ds >= 1.0.0)

Ds\Vector::get — Returns the value at a given index

Açıklama

public Ds\Vector::get(int $index): mixed

Returns the value at a given index.

Bağımsız Değişkenler

index

The index to access, starting at 0.

Dönen Değerler

The value at the requested index.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Vector::get() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->get(0));
var_dump($vector->get(1));
var_dump($vector->get(2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"

Örnek 2 Ds\Vector::get() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector[0]);
var_dump($vector[1]);
var_dump($vector[2]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Vector::get
  • Ds\Vector::isEmpty »
  • PHP Manual
  • Ds\Vector
  • Inserts values at a given index

Ds\Vector::insert

(PECL ds >= 1.0.0)

Ds\Vector::insert — Inserts values at a given index

Açıklama

public Ds\Vector::insert(int $index, mixed ...$values): void

Inserts values into the vector at a given index.

Bağımsız Değişkenler

index

The index at which to insert. 0 <= index <= count

Bilginize:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Vector::insert() example

<?php
$vector = new \Ds\Vector();

$vector->insert(0, "e"); // [e]
$vector->insert(1, "f"); // [e, f]
$vector->insert(2, "g"); // [e, f, g]
$vector->insert(0, "a", "b"); // [a, b, e, f, g]
$vector->insert(2, ...["c", "d"]); // [a, b, c, d, e, f, g]

var_dump($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Returns whether the vector is empty

  • « Ds\Vector::insert
  • Ds\Vector::join »
  • PHP Manual
  • Ds\Vector
  • Returns whether the vector is empty

Ds\Vector::isEmpty

(PECL ds >= 1.0.0)

Ds\Vector::isEmpty — Returns whether the vector is empty

Açıklama

public Ds\Vector::isEmpty(): bool

Returns whether the vector is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the vector is empty, false otherwise.

Örnekler

Örnek 1 Ds\Vector::isEmpty() example

<?php
$a = new \Ds\Vector([1, 2, 3]);
$b = new \Ds\Vector();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Vector::isEmpty
  • Ds\Vector::jsonSerialize »
  • PHP Manual
  • Ds\Vector
  • Joins all values together as a string

Ds\Vector::join

(PECL ds >= 1.0.0)

Ds\Vector::join — Joins all values together as a string

Açıklama

public Ds\Vector::join(string $glue = ?): string

Joins all values together as a string using an optional separator between each value.

Bağımsız Değişkenler

glue

An optional string to separate each value.

Dönen Değerler

All values of the vector joined together as a string.

Örnekler

Örnek 1 Ds\Vector::join() example using a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join("|"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "a|b|c|1|2|3"

Örnek 2 Ds\Vector::join() example without a separator string

<?php
$vector = new \Ds\Vector(["a", "b", "c", 1, 2, 3]);

var_dump($vector->join());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Vector::join
  • Ds\Vector::last »
  • PHP Manual
  • Ds\Vector
  • Returns a representation that can be converted to JSON

Ds\Vector::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Vector::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the last value

  • « Ds\Vector::jsonSerialize
  • Ds\Vector::map »
  • PHP Manual
  • Ds\Vector
  • Returns the last value

Ds\Vector::last

(PECL ds >= 1.0.0)

Ds\Vector::last — Returns the last value

Açıklama

public Ds\Vector::last(): mixed

Returns the last value in the vector.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last value in the vector.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Vector::last() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Vector::last
  • Ds\Vector::merge »
  • PHP Manual
  • Ds\Vector
  • Returns the result of applying a callback to each value

Ds\Vector::map

(PECL ds >= 1.0.0)

Ds\Vector::map — Returns the result of applying a callback to each value

Açıklama

public Ds\Vector::map(callable $callback): Ds\Vector

Returns the result of applying a callback function to each value in the vector.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the vector.

The callable should return what the new value will be in the new vector.

Dönen Değerler

The result of applying a callback to each value in the vector.

Bilginize:

The values of the current instance won't be affected.

Örnekler

Örnek 1 Ds\Vector::map() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

print_r($vector->map(function($value) { return $value * 2; }));
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the vector

  • « Ds\Vector::map
  • Ds\Vector::pop »
  • PHP Manual
  • Ds\Vector
  • Returns the result of adding all given values to the vector

Ds\Vector::merge

(PECL ds >= 1.0.0)

Ds\Vector::merge — Returns the result of adding all given values to the vector

Açıklama

public Ds\Vector::merge(mixed $values): Ds\Vector

Returns the result of adding all given values to the vector.

Bağımsız Değişkenler

values

A traversable object or an array.

Dönen Değerler

The result of adding all given values to the vector, effectively the same as adding the values to a copy, then returning that copy.

Bilginize:

The current instance won't be affected.

Örnekler

Örnek 1 Ds\Vector::merge() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->merge([4, 5, 6]));
var_dump($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Vector)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Vector::merge
  • Ds\Vector::push »
  • PHP Manual
  • Ds\Vector
  • Removes and returns the last value

Ds\Vector::pop

(PECL ds >= 1.0.0)

Ds\Vector::pop — Removes and returns the last value

Açıklama

public Ds\Vector::pop(): mixed

Removes and returns the last value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed last value.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Vector::pop() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->pop());
var_dump($vector->pop());
var_dump($vector->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(2)
int(1)


Adds values to the end of the vector

  • « Ds\Vector::pop
  • Ds\Vector::reduce »
  • PHP Manual
  • Ds\Vector
  • Adds values to the end of the vector

Ds\Vector::push

(PECL ds >= 1.0.0)

Ds\Vector::push — Adds values to the end of the vector

Açıklama

public Ds\Vector::push(mixed ...$values): void

Adds values to the end of the vector.

Bağımsız Değişkenler

values

The values to add.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::push() example

<?php
$vector = new \Ds\Vector();

$vector->push("a");
$vector->push("b");
$vector->push("c", "d");
$vector->push(...["e", "f"]);

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the vector to a single value using a callback function

  • « Ds\Vector::push
  • Ds\Vector::remove »
  • PHP Manual
  • Ds\Vector
  • Reduces the vector to a single value using a callback function

Ds\Vector::reduce

(PECL ds >= 1.0.0)

Ds\Vector::reduce — Reduces the vector to a single value using a callback function

Açıklama

public Ds\Vector::reduce(callable $callback, mixed $initial = ?): mixed

Reduces the vector to a single value using a callback function.

Bağımsız Değişkenler

callback
callback(mixed $carry, mixed $value): mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Dönen Değerler

The return value of the final callback.

Örnekler

Örnek 1 Ds\Vector::reduce() with initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$callback = function($carry, $value) {
return $carry * $value;
};

var_dump($vector->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(30)

Örnek 2 Ds\Vector::reduce() without an initial value example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->reduce(function($carry, $value) {
return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(21)


Removes and returns a value by index

  • « Ds\Vector::reduce
  • Ds\Vector::reverse »
  • PHP Manual
  • Ds\Vector
  • Removes and returns a value by index

Ds\Vector::remove

(PECL ds >= 1.0.0)

Ds\Vector::remove — Removes and returns a value by index

Açıklama

public Ds\Vector::remove(int $index): mixed

Removes and returns a value by index.

Bağımsız Değişkenler

index

The index of the value to remove.

Dönen Değerler

The value that was removed.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Vector::remove() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->remove(1));
var_dump($vector->remove(0));
var_dump($vector->remove(0));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the vector in-place

  • « Ds\Vector::remove
  • Ds\Vector::reversed »
  • PHP Manual
  • Ds\Vector
  • Reverses the vector in-place

Ds\Vector::reverse

(PECL ds >= 1.0.0)

Ds\Vector::reverse — Reverses the vector in-place

Açıklama

public Ds\Vector::reverse(): void

Reverses the vector in-place.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::reverse() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);
$vector->reverse();

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Vector::reverse
  • Ds\Vector::rotate »
  • PHP Manual
  • Ds\Vector
  • Returns a reversed copy

Ds\Vector::reversed

(PECL ds >= 1.0.0)

Ds\Vector::reversed — Returns a reversed copy

Açıklama

public Ds\Vector::reversed(): Ds\Vector

Returns a reversed copy of the vector.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A reversed copy of the vector.

Bilginize:

The current instance is not affected.

Örnekler

Örnek 1 Ds\Vector::reversed() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

print_r($vector->reversed());
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Vector Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the vector by a given number of rotations

  • « Ds\Vector::reversed
  • Ds\Vector::set »
  • PHP Manual
  • Ds\Vector
  • Rotates the vector by a given number of rotations

Ds\Vector::rotate

(PECL ds >= 1.0.0)

Ds\Vector::rotate — Rotates the vector by a given number of rotations

Açıklama

public Ds\Vector::rotate(int $rotations): void

Rotates the vector by a given number of rotations, which is equivalent to successively calling $vector->push($vector->shift()) if the number of rotations is positive, or $vector->unshift($vector->pop()) if negative.

Bağımsız Değişkenler

rotations

The number of times the vector should be rotated.

Dönen Değerler

Hiçbir değer dönmez.. The vector of the current instance will be rotated.

Örnekler

Örnek 1 Ds\Vector::rotate() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d"]);

$vector->rotate(1); // "a" is shifted, then pushed.
print_r($vector);

$vector->rotate(2); // "b" and "c" are both shifted, the pushed.
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Vector Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Vector::rotate
  • Ds\Vector::shift »
  • PHP Manual
  • Ds\Vector
  • Updates a value at a given index

Ds\Vector::set

(PECL ds >= 1.0.0)

Ds\Vector::set — Updates a value at a given index

Açıklama

public Ds\Vector::set(int $index, mixed $value): void

Updates a value at a given index.

Bağımsız Değişkenler

index

The index of the value to update.

value

The new value.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Vector::set() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector->set(1, "_");
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)

Örnek 2 Ds\Vector::set() example using array syntax

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

$vector[1] = "_";
print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Vector::set
  • Ds\Vector::slice »
  • PHP Manual
  • Ds\Vector
  • Removes and returns the first value

Ds\Vector::shift

(PECL ds >= 1.0.0)

Ds\Vector::shift — Removes and returns the first value

Açıklama

public Ds\Vector::shift(): mixed

Removes and returns the first value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value, which was removed.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Vector::shift() example

<?php
$vector = new \Ds\Vector(["a", "b", "c"]);

var_dump($vector->shift());
var_dump($vector->shift());
var_dump($vector->shift());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-vector of a given range

  • « Ds\Vector::shift
  • Ds\Vector::sort »
  • PHP Manual
  • Ds\Vector
  • Returns a sub-vector of a given range

Ds\Vector::slice

(PECL ds >= 1.0.0)

Ds\Vector::slice — Returns a sub-vector of a given range

Açıklama

public Ds\Vector::slice(int $index, int $length = ?): Ds\Vector

Creates a sub-vector of a given range.

Bağımsız Değişkenler

index

The index at which the sub-vector starts.

If positive, the vector will start at that index in the vector. If negative, the vector will start that far from the end.

length

If a length is given and is positive, the resulting vector will have up to that many values in it. If the length results in an overflow, only values up to the end of the vector will be included. If a length is given and is negative, the vector will stop that many values from the end. If a length is not provided, the resulting vector will contain all values between the index and the end of the vector.

Dönen Değerler

A sub-vector of the given range.

Örnekler

Örnek 1 Ds\Vector::slice() example

<?php
$vector = new \Ds\Vector(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($vector->slice(2));

// Slice from 1, for a length of 3
print_r($vector->slice(1, 3));

// Slice from 1 onwards
print_r($vector->slice(1));

// Slice from 2 from the end onwards
print_r($vector->slice(-2));

// Slice from 1 to 1 from the end
print_r($vector->slice(1, -1));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Vector Object
(
    [0] => d
    [1] => e
)
Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the vector in-place

  • « Ds\Vector::slice
  • Ds\Vector::sorted »
  • PHP Manual
  • Ds\Vector
  • Sorts the vector in-place

Ds\Vector::sort

(PECL ds >= 1.0.0)

Ds\Vector::sort — Sorts the vector in-place

Açıklama

public Ds\Vector::sort(callable $comparator = ?): void

Sorts the vector in-place, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::sort() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);
$vector->sort();

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Vector::sort() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$vector->sort(function($a, $b) {
return $b <=> $a;
});

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Vector::sort
  • Ds\Vector::sum »
  • PHP Manual
  • Ds\Vector
  • Returns a sorted copy

Ds\Vector::sorted

(PECL ds >= 1.0.0)

Ds\Vector::sorted — Returns a sorted copy

Açıklama

public Ds\Vector::sorted(callable $comparator = ?): Ds\Vector

Returns a sorted copy, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a sorted copy of the vector.

Örnekler

Örnek 1 Ds\Vector::sorted() example

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

print_r($vector->sorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Vector::sorted() example using a comparator

<?php
$vector = new \Ds\Vector([4, 5, 1, 3, 2]);

$sorted = $vector->sorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the vector

  • « Ds\Vector::sorted
  • Ds\Vector::toArray »
  • PHP Manual
  • Ds\Vector
  • Returns the sum of all values in the vector

Ds\Vector::sum

(PECL ds >= 1.0.0)

Ds\Vector::sum — Returns the sum of all values in the vector

Açıklama

public Ds\Vector::sum(): int|float

Returns the sum of all values in the vector.

Bilginize:

Arrays and objects are considered equal to zero when calculating the sum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sum of all the values in the vector as either a float or int depending on the values in the vector.

Örnekler

Örnek 1 Ds\Vector::sum() integer example

<?php
$vector = new \Ds\Vector([1, 2, 3]);
var_dump($vector->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(6)

Örnek 2 Ds\Vector::sum() float example

<?php
$vector = new \Ds\Vector([1, 2.5, 3]);
var_dump($vector->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

float(6.5)


Converts the vector to an array

  • « Ds\Vector::sum
  • Ds\Vector::unshift »
  • PHP Manual
  • Ds\Vector
  • Converts the vector to an array

Ds\Vector::toArray

(PECL ds >= 1.0.0)

Ds\Vector::toArray — Converts the vector to an array

Açıklama

public Ds\Vector::toArray(): array

Converts the vector to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the vector.

Örnekler

Örnek 1 Ds\Vector::toArray() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

var_dump($vector->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Adds values to the front of the vector

  • « Ds\Vector::toArray
  • Ds\Deque »
  • PHP Manual
  • Ds\Vector
  • Adds values to the front of the vector

Ds\Vector::unshift

(PECL ds >= 1.0.0)

Ds\Vector::unshift — Adds values to the front of the vector

Açıklama

public Ds\Vector::unshift(mixed $values = ?): void

Adds values to the front of the vector, moving all the current values forward to make room for the new values.

Bağımsız Değişkenler

values

The values to add to the front of the vector.

Bilginize:

Multiple values will be added in the same order that they are passed.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Vector::unshift() example

<?php
$vector = new \Ds\Vector([1, 2, 3]);

$vector->unshift("a");
$vector->unshift("b", "c");

print_r($vector);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Vector Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Deque class

(PECL ds >= 1.0.0)

Giriş

A Deque (pronounced "deck") is a sequence of values in a contiguous buffer that grows and shrinks automatically. The name is a common abbreviation of "double-ended queue" and is used internally by Ds\Queue.

Two pointers are used to keep track of a head and a tail. The pointers can "wrap around" the end of the buffer, which avoids the need to move other values around to make room. This makes shift and unshift very fast?—? something a Ds\Vector can't compete with.

Accessing a value by index requires a translation between the index and its corresponding position in the buffer: ((head + position) % capacity).

Strengths

  • Supports array syntax (square brackets).
  • Uses less overall memory than an array for the same number of values.
  • Automatically frees allocated memory when its size drops low enough.
  • get(),
set(),
push(),
pop(),
shift(), and
unshift() are all O(1).

Weaknesses

  • Capacity must be a power of 2.
  • insert() and remove() are O(n).

Sınıf Sözdizimi

class Ds\Deque implements Ds\Sequence, ArrayAccess {
/* Sabitler */
const int MIN_CAPACITY = 8;
/* Yöntemler */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public contains(mixed ...$values): bool
public copy(): Ds\Deque
public filter(callable $callback = ?): Ds\Deque
public find(mixed $value): mixed
public first(): mixed
public get(int $index): mixed
public insert(int $index, mixed ...$values): void
public isEmpty(): bool
public join(string $glue = ?): string
public last(): mixed
public map(callable $callback): Ds\Deque
public merge(mixed $values): Ds\Deque
public pop(): mixed
public push(mixed ...$values): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(int $index): mixed
public reverse(): void
public reversed(): Ds\Deque
public rotate(int $rotations): void
public set(int $index, mixed $value): void
public shift(): mixed
public slice(int $index, int $length = ?): Ds\Deque
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Deque
public sum(): int|float
public toArray(): array
public unshift(mixed $values = ?): void
}

Öntanımlı Sabitler

Ds\Deque::MIN_CAPACITY

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Deque::allocate — Allocates enough memory for a required capacity
  • Ds\Deque::apply — Updates all values by applying a callback function to each value
  • Ds\Deque::capacity — Returns the current capacity
  • Ds\Deque::clear — Removes all values from the deque
  • Ds\Deque::__construct — Creates a new instance
  • Ds\Deque::contains — Determines if the deque contains given values
  • Ds\Deque::copy — Returns a shallow copy of the deque
  • Ds\Deque::count — Returns the number of values in the collection
  • Ds\Deque::filter — Creates a new deque using a callable to determine which values to include
  • Ds\Deque::find — Attempts to find a value's index
  • Ds\Deque::first — Returns the first value in the deque
  • Ds\Deque::get — Returns the value at a given index
  • Ds\Deque::insert — Inserts values at a given index
  • Ds\Deque::isEmpty — Returns whether the deque is empty
  • Ds\Deque::join — Joins all values together as a string
  • Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Deque::last — Returns the last value
  • Ds\Deque::map — Returns the result of applying a callback to each value
  • Ds\Deque::merge — Returns the result of adding all given values to the deque
  • Ds\Deque::pop — Removes and returns the last value
  • Ds\Deque::push — Adds values to the end of the deque
  • Ds\Deque::reduce — Reduces the deque to a single value using a callback function
  • Ds\Deque::remove — Removes and returns a value by index
  • Ds\Deque::reverse — Reverses the deque in-place
  • Ds\Deque::reversed — Returns a reversed copy
  • Ds\Deque::rotate — Rotates the deque by a given number of rotations
  • Ds\Deque::set — Updates a value at a given index
  • Ds\Deque::shift — Removes and returns the first value
  • Ds\Deque::slice — Returns a sub-deque of a given range
  • Ds\Deque::sort — Sorts the deque in-place
  • Ds\Deque::sorted — Returns a sorted copy
  • Ds\Deque::sum — Returns the sum of all values in the deque
  • Ds\Deque::toArray — Converts the deque to an array
  • Ds\Deque::unshift — Adds values to the front of the deque


Allocates enough memory for a required capacity

  • « Ds\Deque
  • Ds\Deque::apply »
  • PHP Manual
  • Ds\Deque
  • Allocates enough memory for a required capacity

Ds\Deque::allocate

(PECL ds >= 1.0.0)

Ds\Deque::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Deque::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::allocate() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->allocate(100);
var_dump($deque->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)
int(128)


Updates all values by applying a callback function to each value

  • « Ds\Deque::allocate
  • Ds\Deque::capacity »
  • PHP Manual
  • Ds\Deque
  • Updates all values by applying a callback function to each value

Ds\Deque::apply

(PECL ds >= 1.0.0)

Ds\Deque::apply — Updates all values by applying a callback function to each value

Açıklama

public Ds\Deque::apply(callable $callback): void

Updates all values by applying a callback function to each value in the deque.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the deque.

The callback should return what the value should be replaced by.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::apply() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
$deque->apply(function($value) { return $value * 2; });

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)


Returns the current capacity

  • « Ds\Deque::apply
  • Ds\Deque::clear »
  • PHP Manual
  • Ds\Deque
  • Returns the current capacity

Ds\Deque::capacity

(PECL ds >= 1.0.0)

Ds\Deque::capacity — Returns the current capacity

Açıklama

public Ds\Deque::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Deque::capacity() example

<?php
$deque = new \Ds\Deque();
var_dump($deque->capacity());

$deque->push(...range(1, 50));
var_dump($deque->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)
int(64)


Removes all values from the deque

  • « Ds\Deque::capacity
  • Ds\Deque::__construct »
  • PHP Manual
  • Ds\Deque
  • Removes all values from the deque

Ds\Deque::clear

(PECL ds >= 1.0.0)

Ds\Deque::clear — Removes all values from the deque

Açıklama

public Ds\Deque::clear(): void

Removes all values from the deque.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::clear() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
print_r($deque);

$deque->clear();
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
)


Creates a new instance

  • « Ds\Deque::clear
  • Ds\Deque::contains »
  • PHP Manual
  • Ds\Deque
  • Creates a new instance

Ds\Deque::__construct

(PECL ds >= 1.0.0)

Ds\Deque::__construct — Creates a new instance

Açıklama

public Ds\Deque::__construct(mixed $values = ?)

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Deque::__construct() example

<?php
$deque = new \Ds\Deque();
var_dump($deque);

$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Deque)#2 (0) {
}
object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the deque contains given values

  • « Ds\Deque::__construct
  • Ds\Deque::copy »
  • PHP Manual
  • Ds\Deque
  • Determines if the deque contains given values

Ds\Deque::contains

(PECL ds >= 1.0.0)

Ds\Deque::contains — Determines if the deque contains given values

Açıklama

public Ds\Deque::contains(mixed ...$values): bool

Determines if the deque contains all values.

Bağımsız Değişkenler

values

Values to check.

Dönen Değerler

false if any of the provided values are not in the deque, true otherwise.

Örnekler

Örnek 1 Ds\Deque::contains() example

<?php
$deque = new \Ds\Deque(['a', 'b', 'c', 1, 2, 3]);

var_dump($deque->contains('a')); // true
var_dump($deque->contains('a', 'b')); // true
var_dump($deque->contains('c', 'd')); // false

var_dump($deque->contains(...['c', 'b', 'a'])); // true

// Always strict
var_dump($deque->contains(1)); // true
var_dump($deque->contains('1')); // false

var_dump($sequece->contains(...[])); // true
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)


Returns a shallow copy of the deque

  • « Ds\Deque::contains
  • Ds\Deque::count »
  • PHP Manual
  • Ds\Deque
  • Returns a shallow copy of the deque

Ds\Deque::copy

(PECL ds >= 1.0.0)

Ds\Deque::copy — Returns a shallow copy of the deque

Açıklama

public Ds\Deque::copy(): Ds\Deque

Returns a shallow copy of the deque.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A shallow copy of the deque.

Örnekler

Örnek 1 Ds\Deque::copy() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = $a->copy();

$b->push(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the collection

  • « Ds\Deque::copy
  • Ds\Deque::filter »
  • PHP Manual
  • Ds\Deque
  • Returns the number of values in the collection

Ds\Deque::count

(PECL ds >= 1.0.0)

Ds\Deque::count — Returns the number of values in the collection

See Countable::count()


Creates a new deque using a callable to determine which values to include

  • « Ds\Deque::count
  • Ds\Deque::find »
  • PHP Manual
  • Ds\Deque
  • Creates a new deque using a callable to determine which values to include

Ds\Deque::filter

(PECL ds >= 1.0.0)

Ds\Deque::filter — Creates a new deque using a callable to determine which values to include

Açıklama

public Ds\Deque::filter(callable $callback = ?): Ds\Deque

Creates a new deque using a callable to determine which values to include.

Bağımsız Değişkenler

callback

callback(mixed $value): bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Dönen Değerler

A new deque containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Örnekler

Örnek 1 Ds\Deque::filter() example using callback function

<?php
$deque = new \Ds\Deque([1, 2, 3, 4, 5]);

var_dump($deque->filter(function($value) {
return $value % 2 == 0;
}));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Deque)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Örnek 2 Ds\Deque::filter() example without a callback function

<?php
$deque = new \Ds\Deque([0, 1, 'a', true, false]);

var_dump($deque->filter());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Deque)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Attempts to find a value's index

  • « Ds\Deque::filter
  • Ds\Deque::first »
  • PHP Manual
  • Ds\Deque
  • Attempts to find a value's index

Ds\Deque::find

(PECL ds >= 1.0.0)

Ds\Deque::find — Attempts to find a value's index

Açıklama

public Ds\Deque::find(mixed $value): mixed

Returns the index of the value, or false if not found.

Bağımsız Değişkenler

value

The value to find.

Dönen Değerler

The index of the value, or false if not found.

Bilginize:

Values will be compared by value and by type.

Örnekler

Örnek 1 Ds\Deque::find() example

<?php
$deque = new \Ds\Deque(["a", 1, true]);

var_dump($deque->find("a")); // 0
var_dump($deque->find("b")); // false
var_dump($deque->find("1")); // false
var_dump($deque->find(1)); // 1
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(0)
bool(false)
bool(false)
int(1)


Returns the first value in the deque

  • « Ds\Deque::find
  • Ds\Deque::get »
  • PHP Manual
  • Ds\Deque
  • Returns the first value in the deque

Ds\Deque::first

(PECL ds >= 1.0.0)

Ds\Deque::first — Returns the first value in the deque

Açıklama

public Ds\Deque::first(): mixed

Returns the first value in the deque.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value in the deque.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Deque::first() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)


Returns the value at a given index

  • « Ds\Deque::first
  • Ds\Deque::insert »
  • PHP Manual
  • Ds\Deque
  • Returns the value at a given index

Ds\Deque::get

(PECL ds >= 1.0.0)

Ds\Deque::get — Returns the value at a given index

Açıklama

public Ds\Deque::get(int $index): mixed

Returns the value at a given index.

Bağımsız Değişkenler

index

The index to access, starting at 0.

Dönen Değerler

The value at the requested index.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Deque::get() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->get(0));
var_dump($deque->get(1));
var_dump($deque->get(2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"

Örnek 2 Ds\Deque::get() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque[0]);
var_dump($deque[1]);
var_dump($deque[2]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Inserts values at a given index

  • « Ds\Deque::get
  • Ds\Deque::isEmpty »
  • PHP Manual
  • Ds\Deque
  • Inserts values at a given index

Ds\Deque::insert

(PECL ds >= 1.0.0)

Ds\Deque::insert — Inserts values at a given index

Açıklama

public Ds\Deque::insert(int $index, mixed ...$values): void

Inserts values into the deque at a given index.

Bağımsız Değişkenler

index

The index at which to insert. 0 <= index <= count

Bilginize:

You can insert at the index equal to the number of values.

values

The value or values to insert.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Deque::insert() example

<?php
$deque = new \Ds\Deque();

$deque->insert(0, "e"); // [e]
$deque->insert(1, "f"); // [e, f]
$deque->insert(2, "g"); // [e, f, g]
$deque->insert(0, "a", "b"); // [a, b, e, f, g]
$deque->insert(2, ...["c", "d"]); // [a, b, c, d, e, f, g]

var_dump($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Deque)#1 (7) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
  [3]=>
  string(1) "d"
  [4]=>
  string(1) "e"
  [5]=>
  string(1) "f"
  [6]=>
  string(1) "g"
}


Returns whether the deque is empty

  • « Ds\Deque::insert
  • Ds\Deque::join »
  • PHP Manual
  • Ds\Deque
  • Returns whether the deque is empty

Ds\Deque::isEmpty

(PECL ds >= 1.0.0)

Ds\Deque::isEmpty — Returns whether the deque is empty

Açıklama

public Ds\Deque::isEmpty(): bool

Returns whether the deque is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the deque is empty, false otherwise.

Örnekler

Örnek 1 Ds\Deque::isEmpty() example

<?php
$a = new \Ds\Deque([1, 2, 3]);
$b = new \Ds\Deque();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Deque::isEmpty
  • Ds\Deque::jsonSerialize »
  • PHP Manual
  • Ds\Deque
  • Joins all values together as a string

Ds\Deque::join

(PECL ds >= 1.0.0)

Ds\Deque::join — Joins all values together as a string

Açıklama

public Ds\Deque::join(string $glue = ?): string

Joins all values together as a string using an optional separator between each value.

Bağımsız Değişkenler

glue

An optional string to separate each value.

Dönen Değerler

All values of the deque joined together as a string.

Örnekler

Örnek 1 Ds\Deque::join() example using a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join("|"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "a|b|c|1|2|3"

Örnek 2 Ds\Deque::join() example without a separator string

<?php
$deque = new \Ds\Deque(["a", "b", "c", 1, 2, 3]);

var_dump($deque->join());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Deque::join
  • Ds\Deque::last »
  • PHP Manual
  • Ds\Deque
  • Returns a representation that can be converted to JSON

Ds\Deque::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Deque::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the last value

  • « Ds\Deque::jsonSerialize
  • Ds\Deque::map »
  • PHP Manual
  • Ds\Deque
  • Returns the last value

Ds\Deque::last

(PECL ds >= 1.0.0)

Ds\Deque::last — Returns the last value

Açıklama

public Ds\Deque::last(): mixed

Returns the last value in the deque.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last value in the deque.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Deque::last() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)


Returns the result of applying a callback to each value

  • « Ds\Deque::last
  • Ds\Deque::merge »
  • PHP Manual
  • Ds\Deque
  • Returns the result of applying a callback to each value

Ds\Deque::map

(PECL ds >= 1.0.0)

Ds\Deque::map — Returns the result of applying a callback to each value

Açıklama

public Ds\Deque::map(callable $callback): Ds\Deque

Returns the result of applying a callback function to each value in the deque.

Bağımsız Değişkenler

callback

callback(mixed $value): mixed

A callable to apply to each value in the deque.

The callable should return what the new value will be in the new deque.

Dönen Değerler

The result of applying a callback to each value in the deque.

Bilginize:

The values of the current instance won't be affected.

Örnekler

Örnek 1 Ds\Deque::map() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

print_r($deque->map(function($value) { return $value * 2; }));
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 2
    [1] => 4
    [2] => 6
)
Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)


Returns the result of adding all given values to the deque

  • « Ds\Deque::map
  • Ds\Deque::pop »
  • PHP Manual
  • Ds\Deque
  • Returns the result of adding all given values to the deque

Ds\Deque::merge

(PECL ds >= 1.0.0)

Ds\Deque::merge — Returns the result of adding all given values to the deque

Açıklama

public Ds\Deque::merge(mixed $values): Ds\Deque

Returns the result of adding all given values to the deque.

Bağımsız Değişkenler

values

A traversable object or an array.

Dönen Değerler

The result of adding all given values to the deque, effectively the same as adding the values to a copy, then returning that copy.

Bilginize:

The current instance won't be affected.

Örnekler

Örnek 1 Ds\Deque::merge() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->merge([4, 5, 6]));
var_dump($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Deque)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
  [5]=>
  int(6)
}
object(Ds\Deque)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Removes and returns the last value

  • « Ds\Deque::merge
  • Ds\Deque::push »
  • PHP Manual
  • Ds\Deque
  • Removes and returns the last value

Ds\Deque::pop

(PECL ds >= 1.0.0)

Ds\Deque::pop — Removes and returns the last value

Açıklama

public Ds\Deque::pop(): mixed

Removes and returns the last value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed last value.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Deque::pop() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->pop());
var_dump($deque->pop());
var_dump($deque->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(2)
int(1)


Adds values to the end of the deque

  • « Ds\Deque::pop
  • Ds\Deque::reduce »
  • PHP Manual
  • Ds\Deque
  • Adds values to the end of the deque

Ds\Deque::push

(PECL ds >= 1.0.0)

Ds\Deque::push — Adds values to the end of the deque

Açıklama

public Ds\Deque::push(mixed ...$values): void

Adds values to the end of the deque.

Bağımsız Değişkenler

values

The values to add.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::push() example

<?php
$deque = new \Ds\Deque();

$deque->push("a");
$deque->push("b");
$deque->push("c", "d");
$deque->push(...["e", "f"]);

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Reduces the deque to a single value using a callback function

  • « Ds\Deque::push
  • Ds\Deque::remove »
  • PHP Manual
  • Ds\Deque
  • Reduces the deque to a single value using a callback function

Ds\Deque::reduce

(PECL ds >= 1.0.0)

Ds\Deque::reduce — Reduces the deque to a single value using a callback function

Açıklama

public Ds\Deque::reduce(callable $callback, mixed $initial = ?): mixed

Reduces the deque to a single value using a callback function.

Bağımsız Değişkenler

callback
callback(mixed $carry, mixed $value): mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Dönen Değerler

The return value of the final callback.

Örnekler

Örnek 1 Ds\Deque::reduce() with initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$callback = function($carry, $value) {
return $carry * $value;
};

var_dump($deque->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(30)

Örnek 2 Ds\Deque::reduce() without an initial value example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->reduce(function($carry, $value) {
return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(21)


Removes and returns a value by index

  • « Ds\Deque::reduce
  • Ds\Deque::reverse »
  • PHP Manual
  • Ds\Deque
  • Removes and returns a value by index

Ds\Deque::remove

(PECL ds >= 1.0.0)

Ds\Deque::remove — Removes and returns a value by index

Açıklama

public Ds\Deque::remove(int $index): mixed

Removes and returns a value by index.

Bağımsız Değişkenler

index

The index of the value to remove.

Dönen Değerler

The value that was removed.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Deque::remove() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->remove(1));
var_dump($deque->remove(0));
var_dump($deque->remove(0));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "b"
string(1) "a"
string(1) "c"


Reverses the deque in-place

  • « Ds\Deque::remove
  • Ds\Deque::reversed »
  • PHP Manual
  • Ds\Deque
  • Reverses the deque in-place

Ds\Deque::reverse

(PECL ds >= 1.0.0)

Ds\Deque::reverse — Reverses the deque in-place

Açıklama

public Ds\Deque::reverse(): void

Reverses the deque in-place.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::reverse() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);
$deque->reverse();

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Deque::reverse
  • Ds\Deque::rotate »
  • PHP Manual
  • Ds\Deque
  • Returns a reversed copy

Ds\Deque::reversed

(PECL ds >= 1.0.0)

Ds\Deque::reversed — Returns a reversed copy

Açıklama

public Ds\Deque::reversed(): Ds\Deque

Returns a reversed copy of the deque.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A reversed copy of the deque.

Bilginize:

The current instance is not affected.

Örnekler

Örnek 1 Ds\Deque::reversed() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

print_r($deque->reversed());
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Deque Object
(
    [0] => a
    [1] => b
    [2] => c
)


Rotates the deque by a given number of rotations

  • « Ds\Deque::reversed
  • Ds\Deque::set »
  • PHP Manual
  • Ds\Deque
  • Rotates the deque by a given number of rotations

Ds\Deque::rotate

(PECL ds >= 1.0.0)

Ds\Deque::rotate — Rotates the deque by a given number of rotations

Açıklama

public Ds\Deque::rotate(int $rotations): void

Rotates the deque by a given number of rotations, which is equivalent to successively calling $deque->push($deque->shift()) if the number of rotations is positive, or $deque->unshift($deque->pop()) if negative.

Bağımsız Değişkenler

rotations

The number of times the deque should be rotated.

Dönen Değerler

Hiçbir değer dönmez.. The deque of the current instance will be rotated.

Örnekler

Örnek 1 Ds\Deque::rotate() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d"]);

$deque->rotate(1); // "a" is shifted, then pushed.
print_r($deque);

$deque->rotate(2); // "b" and "c" are both shifted, the pushed.
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(
    [0] => b
    [1] => c
    [2] => d
    [3] => a
)
Ds\Deque Object
(
    [0] => d
    [1] => a
    [2] => b
    [3] => c
)


Updates a value at a given index

  • « Ds\Deque::rotate
  • Ds\Deque::shift »
  • PHP Manual
  • Ds\Deque
  • Updates a value at a given index

Ds\Deque::set

(PECL ds >= 1.0.0)

Ds\Deque::set — Updates a value at a given index

Açıklama

public Ds\Deque::set(int $index, mixed $value): void

Updates a value at a given index.

Bağımsız Değişkenler

index

The index of the value to update.

value

The new value.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Deque::set() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque->set(1, "_");
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)

Örnek 2 Ds\Deque::set() example using array syntax

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

$deque[1] = "_";
print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => a
    [1] => _
    [2] => c
)


Removes and returns the first value

  • « Ds\Deque::set
  • Ds\Deque::slice »
  • PHP Manual
  • Ds\Deque
  • Removes and returns the first value

Ds\Deque::shift

(PECL ds >= 1.0.0)

Ds\Deque::shift — Removes and returns the first value

Açıklama

public Ds\Deque::shift(): mixed

Removes and returns the first value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value, which was removed.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Deque::shift() example

<?php
$deque = new \Ds\Deque(["a", "b", "c"]);

var_dump($deque->shift());
var_dump($deque->shift());
var_dump($deque->shift());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Returns a sub-deque of a given range

  • « Ds\Deque::shift
  • Ds\Deque::sort »
  • PHP Manual
  • Ds\Deque
  • Returns a sub-deque of a given range

Ds\Deque::slice

(PECL ds >= 1.0.0)

Ds\Deque::slice — Returns a sub-deque of a given range

Açıklama

public Ds\Deque::slice(int $index, int $length = ?): Ds\Deque

Creates a sub-deque of a given range.

Bağımsız Değişkenler

index

The index at which the sub-deque starts.

If positive, the deque will start at that index in the deque. If negative, the deque will start that far from the end.

length

If a length is given and is positive, the resulting deque will have up to that many values in it. If the length results in an overflow, only values up to the end of the deque will be included. If a length is given and is negative, the deque will stop that many values from the end. If a length is not provided, the resulting deque will contain all values between the index and the end of the deque.

Dönen Değerler

A sub-deque of the given range.

Örnekler

Örnek 1 Ds\Deque::slice() example

<?php
$deque = new \Ds\Deque(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($deque->slice(2));

// Slice from 1, for a length of 3
print_r($deque->slice(1, 3));

// Slice from 1 onwards
print_r($deque->slice(1));

// Slice from 2 from the end onwards
print_r($deque->slice(-2));

// Slice from 1 to 1 from the end
print_r($deque->slice(1, -1));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Deque Object
(
    [0] => d
    [1] => e
)
Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the deque in-place

  • « Ds\Deque::slice
  • Ds\Deque::sorted »
  • PHP Manual
  • Ds\Deque
  • Sorts the deque in-place

Ds\Deque::sort

(PECL ds >= 1.0.0)

Ds\Deque::sort — Sorts the deque in-place

Açıklama

public Ds\Deque::sort(callable $comparator = ?): void

Sorts the deque in-place, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::sort() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);
$deque->sort();

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Deque::sort() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$deque->sort(function($a, $b) {
return $b <=> $a;
});

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Deque::sort
  • Ds\Deque::sum »
  • PHP Manual
  • Ds\Deque
  • Returns a sorted copy

Ds\Deque::sorted

(PECL ds >= 1.0.0)

Ds\Deque::sorted — Returns a sorted copy

Açıklama

public Ds\Deque::sorted(callable $comparator = ?): Ds\Deque

Returns a sorted copy, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a sorted copy of the deque.

Örnekler

Örnek 1 Ds\Deque::sorted() example

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

print_r($deque->sorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Deque::sorted() example using a comparator

<?php
$deque = new \Ds\Deque([4, 5, 1, 3, 2]);

$sorted = $deque->sorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the deque

  • « Ds\Deque::sorted
  • Ds\Deque::toArray »
  • PHP Manual
  • Ds\Deque
  • Returns the sum of all values in the deque

Ds\Deque::sum

(PECL ds >= 1.0.0)

Ds\Deque::sum — Returns the sum of all values in the deque

Açıklama

public Ds\Deque::sum(): int|float

Returns the sum of all values in the deque.

Bilginize:

Arrays and objects are considered equal to zero when calculating the sum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sum of all the values in the deque as either a float or int depending on the values in the deque.

Örnekler

Örnek 1 Ds\Deque::sum() integer example

<?php
$deque = new \Ds\Deque([1, 2, 3]);
var_dump($deque->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(6)

Örnek 2 Ds\Deque::sum() float example

<?php
$deque = new \Ds\Deque([1, 2.5, 3]);
var_dump($deque->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

float(6.5)


Converts the deque to an array

  • « Ds\Deque::sum
  • Ds\Deque::unshift »
  • PHP Manual
  • Ds\Deque
  • Converts the deque to an array

Ds\Deque::toArray

(PECL ds >= 1.0.0)

Ds\Deque::toArray — Converts the deque to an array

Açıklama

public Ds\Deque::toArray(): array

Converts the deque to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the deque.

Örnekler

Örnek 1 Ds\Deque::toArray() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

var_dump($deque->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Adds values to the front of the deque

  • « Ds\Deque::toArray
  • Ds\Map »
  • PHP Manual
  • Ds\Deque
  • Adds values to the front of the deque

Ds\Deque::unshift

(PECL ds >= 1.0.0)

Ds\Deque::unshift — Adds values to the front of the deque

Açıklama

public Ds\Deque::unshift(mixed $values = ?): void

Adds values to the front of the deque, moving all the current values forward to make room for the new values.

Bağımsız Değişkenler

values

The values to add to the front of the deque.

Bilginize:

Multiple values will be added in the same order that they are passed.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Deque::unshift() example

<?php
$deque = new \Ds\Deque([1, 2, 3]);

$deque->unshift("a");
$deque->unshift("b", "c");

print_r($deque);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Deque Object
(
    [0] => b
    [1] => c
    [2] => a
    [3] => 1
    [4] => 2
    [5] => 3
)


The Map class

(PECL ds >= 1.0.0)

Giriş

A Map is a sequential collection of key-value pairs, almost identical to an array used in a similar context. Keys can be any type, but must be unique. Values are replaced if added to the map using the same key.

Strengths

  • Keys and values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Performance and memory efficiency is very similar to an array.
  • Automatically frees allocated memory when its size drops low enough.

Weaknesses

  • Can't be converted to an array when objects are used as keys.

Sınıf Sözdizimi

class Ds\Map implements Ds\Collection, ArrayAccess {
/* Sabitler */
const int MIN_CAPACITY = 16;
/* Yöntemler */
public allocate(int $capacity): void
public apply(callable $callback): void
public capacity(): int
public clear(): void
public copy(): Ds\Map
public diff(Ds\Map $map): Ds\Map
public filter(callable $callback = ?): Ds\Map
public first(): Ds\Pair
public get(mixed $key, mixed $default = ?): mixed
public hasKey(mixed $key): bool
public hasValue(mixed $value): bool
public intersect(Ds\Map $map): Ds\Map
public isEmpty(): bool
public keys(): Ds\Set
public ksort(callable $comparator = ?): void
public ksorted(callable $comparator = ?): Ds\Map
public last(): Ds\Pair
public map(callable $callback): Ds\Map
public merge(mixed $values): Ds\Map
public pairs(): Ds\Sequence
public put(mixed $key, mixed $value): void
public putAll(mixed $pairs): void
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(mixed $key, mixed $default = ?): mixed
public reverse(): void
public reversed(): Ds\Map
public skip(int $position): Ds\Pair
public slice(int $index, int $length = ?): Ds\Map
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Map
public sum(): int|float
public toArray(): array
public union(Ds\Map $map): Ds\Map
public values(): Ds\Sequence
public xor(Ds\Map $map): Ds\Map
}

Öntanımlı Sabitler

Ds\Map::MIN_CAPACITY

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Map::allocate — Allocates enough memory for a required capacity
  • Ds\Map::apply — Updates all values by applying a callback function to each value
  • Ds\Map::capacity — Returns the current capacity
  • Ds\Map::clear — Removes all values
  • Ds\Map::__construct — Creates a new instance
  • Ds\Map::copy — Returns a shallow copy of the map
  • Ds\Map::count — Returns the number of values in the map
  • Ds\Map::diff — Creates a new map using keys that aren't in another map
  • Ds\Map::filter — Creates a new map using a callable to determine which pairs to include
  • Ds\Map::first — Returns the first pair in the map
  • Ds\Map::get — Returns the value for a given key
  • Ds\Map::hasKey — Determines whether the map contains a given key
  • Ds\Map::hasValue — Determines whether the map contains a given value
  • Ds\Map::intersect — Creates a new map by intersecting keys with another map
  • Ds\Map::isEmpty — Returns whether the map is empty
  • Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Map::keys — Returns a set of the map's keys
  • Ds\Map::ksort — Sorts the map in-place by key
  • Ds\Map::ksorted — Returns a copy, sorted by key
  • Ds\Map::last — Returns the last pair of the map
  • Ds\Map::map — Returns the result of applying a callback to each value
  • Ds\Map::merge — Returns the result of adding all given associations
  • Ds\Map::pairs — Returns a sequence containing all the pairs of the map
  • Ds\Map::put — Associates a key with a value
  • Ds\Map::putAll — Associates all key-value pairs of a traversable object or array
  • Ds\Map::reduce — Reduces the map to a single value using a callback function
  • Ds\Map::remove — Removes and returns a value by key
  • Ds\Map::reverse — Reverses the map in-place
  • Ds\Map::reversed — Returns a reversed copy
  • Ds\Map::skip — Returns the pair at a given positional index
  • Ds\Map::slice — Returns a subset of the map defined by a starting index and length
  • Ds\Map::sort — Sorts the map in-place by value
  • Ds\Map::sorted — Returns a copy, sorted by value
  • Ds\Map::sum — Returns the sum of all values in the map
  • Ds\Map::toArray — Converts the map to an array
  • Ds\Map::union — Creates a new map using values from the current instance and another map
  • Ds\Map::values — Returns a sequence of the map's values
  • Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both


Allocates enough memory for a required capacity

  • « Ds\Map
  • Ds\Map::apply »
  • PHP Manual
  • Ds\Map
  • Allocates enough memory for a required capacity

Ds\Map::allocate

(PECL ds >= 1.0.0)

Ds\Map::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Map::allocate(int $capacity): void

Allocates enough memory for a required capacity.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::allocate() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());

$map->allocate(100);
var_dump($map->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(16)
int(128)


Updates all values by applying a callback function to each value

  • « Ds\Map::allocate
  • Ds\Map::capacity »
  • PHP Manual
  • Ds\Map
  • Updates all values by applying a callback function to each value

Ds\Map::apply

(PECL ds >= 1.0.0)

Ds\Map::apply — Updates all values by applying a callback function to each value

Açıklama

public Ds\Map::apply(callable $callback): void

Updates all values by applying a callback function to each value in the map.

Bağımsız Değişkenler

callback

callback(mixed $key, mixed $value): mixed

A callable to apply to each value in the map.

The callback should return what the value should be replaced by.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::apply() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->apply(function($key, $value) { return $value * 2; });

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)


Returns the current capacity

  • « Ds\Map::apply
  • Ds\Map::clear »
  • PHP Manual
  • Ds\Map
  • Returns the current capacity

Ds\Map::capacity

(PECL ds >= 1.0.0)

Ds\Map::capacity — Returns the current capacity

Açıklama

public Ds\Map::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Map::capacity() example

<?php
$map = new \Ds\Map();
var_dump($map->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(16)


Removes all values

  • « Ds\Map::capacity
  • Ds\Map::__construct »
  • PHP Manual
  • Ds\Map
  • Removes all values

Ds\Map::clear

(PECL ds >= 1.0.0)

Ds\Map::clear — Removes all values

Açıklama

public Ds\Map::clear(): void

Removes all values from the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::clear() example

<?php
$map = new \Ds\Map([
"a" => 1,
"b" => 2,
"c" => 3,
]);
print_r($map);

$map->clear();
print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)
Ds\Map Object
(
)


Creates a new instance

  • « Ds\Map::clear
  • Ds\Map::copy »
  • PHP Manual
  • Ds\Map
  • Creates a new instance

Ds\Map::__construct

(PECL ds >= 1.0.0)

Ds\Map::__construct — Creates a new instance

Açıklama

public Ds\Map::__construct(mixed ...$values)

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Map::__construct() example

<?php
$map = new \Ds\Map();
var_dump($map);

$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#1 (0) {
}
object(Ds\Map)#2 (3) {
  [0]=>
  object(Ds\Pair)#1 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#3 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}


Returns a shallow copy of the map

  • « Ds\Map::__construct
  • Ds\Map::count »
  • PHP Manual
  • Ds\Map
  • Returns a shallow copy of the map

Ds\Map::copy

(PECL ds >= 1.0.0)

Ds\Map::copy — Returns a shallow copy of the map

Açıklama

public Ds\Map::copy(): Ds\Map

Returns a shallow copy of the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the map.

Örnekler

Örnek 1 Ds\Map::copy() example

<?php
$map = new \Ds\Map([
"a" => 1,
"b" => 2,
"c" => 3,
]);

print_r($map->copy());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Returns the number of values in the map

  • « Ds\Map::copy
  • Ds\Map::diff »
  • PHP Manual
  • Ds\Map
  • Returns the number of values in the map

Ds\Map::count

(PECL ds >= 1.0.0)

Ds\Map::count — Returns the number of values in the map

See Countable::count()


Creates a new map using keys that aren't in another map

  • « Ds\Map::count
  • Ds\Map::filter »
  • PHP Manual
  • Ds\Map
  • Creates a new map using keys that aren't in another map

Ds\Map::diff

(PECL ds >= 1.0.0)

Ds\Map::diff — Creates a new map using keys that aren't in another map

Açıklama

public Ds\Map::diff(Ds\Map $map): Ds\Map

Returns the result of removing all keys from the current instance that are present in a given map.

A \ B = {x ? A | x ? B}

Bağımsız Değişkenler

map

The map containing the keys to exclude in the resulting map.

Dönen Değerler

The result of removing all keys from the current instance that are present in a given map.

Ayrıca Bakınız

  • » Complement on Wikipedia

Örnekler

Örnek 1 Ds\Map::diff() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->diff($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#3 (1) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
}


Creates a new map using a callable to determine which pairs to include

  • « Ds\Map::diff
  • Ds\Map::first »
  • PHP Manual
  • Ds\Map
  • Creates a new map using a callable to determine which pairs to include

Ds\Map::filter

(PECL ds >= 1.0.0)

Ds\Map::filter — Creates a new map using a callable to determine which pairs to include

Açıklama

public Ds\Map::filter(callable $callback = ?): Ds\Map

Creates a new map using a callable to determine which pairs to include.

Bağımsız Değişkenler

callback

callback(mixed $key, mixed $value): bool

Optional callable which returns true if the pair should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Dönen Değerler

A new map containing all the pairs for which either the callback returned true, or all values that convert to true if a callback was not provided.

Örnekler

Örnek 1 Ds\Map::filter() example using callback function

<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]);

var_dump($map->filter(function($key, $value) {
return $key % 2 == 0;
}));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#3 (3) {
  [0]=>
  object(Ds\Pair)#2 (2) {
    ["key"]=>
    int(0)
    ["value"]=>
    string(1) "a"
  }
  [1]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    int(2)
    ["value"]=>
    string(1) "c"
  }
  [2]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    int(4)
    ["value"]=>
    string(1) "e"
  }
}

Örnek 2 Ds\Map::filter() example without a callback function

<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]);

var_dump($map->filter());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Returns the first pair in the map

  • « Ds\Map::filter
  • Ds\Map::get »
  • PHP Manual
  • Ds\Map
  • Returns the first pair in the map

Ds\Map::first

(PECL ds >= 1.0.0)

Ds\Map::first — Returns the first pair in the map

Açıklama

public Ds\Map::first(): Ds\Pair

Returns the first pair in the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first pair in the map.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Map::first() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}


Returns the value for a given key

  • « Ds\Map::first
  • Ds\Map::hasKey »
  • PHP Manual
  • Ds\Map
  • Returns the value for a given key

Ds\Map::get

(PECL ds >= 1.0.0)

Ds\Map::get — Returns the value for a given key

Açıklama

public Ds\Map::get(mixed $key, mixed $default = ?): mixed

Returns the value for a given key, or an optional default value if the key could not be found.

Bilginize:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Bilginize:

You can also use array syntax to access values by key, eg. $map["key"].

Dikkat

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Bağımsız Değişkenler

key

The key to look up.

default

The optional default value, returned if the key could not be found.

Dönen Değerler

The value mapped to the given key, or the default value if provided and the key could not be found in the map.

Hatalar/İstisnalar

OutOfBoundsException if the key could not be found and a default value was not provided.

Örnekler

Örnek 1 Ds\Map::get() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->get("a")); // 1
var_dump($map->get("d", 10)); // 10 (default used)
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
int(10)

Örnek 2 Ds\Map::get() example using array syntax

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map["a"]); // 1
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)


Determines whether the map contains a given key

  • « Ds\Map::get
  • Ds\Map::hasValue »
  • PHP Manual
  • Ds\Map
  • Determines whether the map contains a given key

Ds\Map::hasKey

(PECL ds >= 1.0.0)

Ds\Map::hasKey — Determines whether the map contains a given key

Açıklama

public Ds\Map::hasKey(mixed $key): bool

Determines whether the map contains a given key.

Bağımsız Değişkenler

key

The key to look for.

Dönen Değerler

Returns true if the key could found, false otherwise.

Örnekler

Örnek 1 Ds\Map::hasKey() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasKey("a")); // true
var_dump($map->hasKey("e")); // false
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)


Determines whether the map contains a given value

  • « Ds\Map::hasKey
  • Ds\Map::intersect »
  • PHP Manual
  • Ds\Map
  • Determines whether the map contains a given value

Ds\Map::hasValue

(PECL ds >= 1.0.0)

Ds\Map::hasValue — Determines whether the map contains a given value

Açıklama

public Ds\Map::hasValue(mixed $value): bool

Determines whether the map contains a given value.

Bağımsız Değişkenler

value

The value to look for.

Dönen Değerler

Returns true if the value could found, false otherwise.

Örnekler

Örnek 1 Ds\Map::hasValue() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->hasValue(1)); // true
var_dump($map->hasValue(4)); // false
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)


Creates a new map by intersecting keys with another map

  • « Ds\Map::hasValue
  • Ds\Map::isEmpty »
  • PHP Manual
  • Ds\Map
  • Creates a new map by intersecting keys with another map

Ds\Map::intersect

(PECL ds >= 1.0.0)

Ds\Map::intersect — Creates a new map by intersecting keys with another map

Açıklama

public Ds\Map::intersect(Ds\Map $map): Ds\Map

Creates a new map containing the pairs of the current instance whose keys are also present in the given map. In other words, returns a copy of the current instance with all keys removed that are not also in the other map.

A ? B = {x : x ? A ? x ? B}

Bilginize:

Values from the current instance will be kept.

Bağımsız Değişkenler

map

The other map, containing the keys to intersect with.

Dönen Değerler

The key intersection of the current instance and another map.

Ayrıca Bakınız

  • » Intersection on Wikipedia

Örnekler

Örnek 1 Ds\Map::intersect() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

var_dump($a->intersect($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#3 (2) {
  [0]=>
  object(Ds\Pair)#4 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}


Returns whether the map is empty

  • « Ds\Map::intersect
  • Ds\Map::jsonSerialize »
  • PHP Manual
  • Ds\Map
  • Returns whether the map is empty

Ds\Map::isEmpty

(PECL ds >= 1.0.0)

Ds\Map::isEmpty — Returns whether the map is empty

Açıklama

public Ds\Map::isEmpty(): bool

Returns whether the map is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the map is empty, false otherwise.

Örnekler

Örnek 1 Ds\Map::isEmpty() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Map::isEmpty
  • Ds\Map::keys »
  • PHP Manual
  • Ds\Map
  • Returns a representation that can be converted to JSON

Ds\Map::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Map::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns a set of the map's keys

  • « Ds\Map::jsonSerialize
  • Ds\Map::ksort »
  • PHP Manual
  • Ds\Map
  • Returns a set of the map's keys

Ds\Map::keys

(PECL ds >= 1.0.0)

Ds\Map::keys — Returns a set of the map's keys

Açıklama

public Ds\Map::keys(): Ds\Set

Returns a set containing all the keys of the map, in the same order.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Ds\Set containing all the keys of the map.

Örnekler

Örnek 1 Ds\Map::keys() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->keys());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#2 (3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}


Sorts the map in-place by key

  • « Ds\Map::keys
  • Ds\Map::ksorted »
  • PHP Manual
  • Ds\Map
  • Sorts the map in-place by key

Ds\Map::ksort

(PECL ds >= 1.0.0)

Ds\Map::ksort — Sorts the map in-place by key

Açıklama

public Ds\Map::ksort(callable $comparator = ?): void

Sorts the map in-place by key, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::ksort() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);
$map->ksort();

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Örnek 2 Ds\Map::ksort() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$map->ksort(function($a, $b) {
return $b <=> $a;
});

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)


Returns a copy, sorted by key

  • « Ds\Map::ksort
  • Ds\Map::last »
  • PHP Manual
  • Ds\Map
  • Returns a copy, sorted by key

Ds\Map::ksorted

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ds\Map::ksorted — Returns a copy, sorted by key

Açıklama

public Ds\Map::ksorted(callable $comparator = ?): Ds\Map

Returns a copy sorted by key, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a copy of the map, sorted by key.

Örnekler

Örnek 1 Ds\Map::ksorted() example

<?php
$map = new \Ds\Map(["b" => 2, "c" => 3, "a" => 1]);

print_r($map->ksorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Örnek 2 Ds\Map::ksorted() example using a comparator

<?php
$map = new \Ds\Map([1 => "x", 2 => "y", 0 => "z"]);

// Reverse
$sorted = $map->ksorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => 2
            [value] => y
        )

    [1] => Ds\Pair Object
        (
            [key] => 1
            [value] => x
        )

    [2] => Ds\Pair Object
        (
            [key] => 0
            [value] => z
        )

)


Returns the last pair of the map

  • « Ds\Map::ksorted
  • Ds\Map::map »
  • PHP Manual
  • Ds\Map
  • Returns the last pair of the map

Ds\Map::last

(PECL ds >= 1.0.0)

Ds\Map::last — Returns the last pair of the map

Açıklama

public Ds\Map::last(): Ds\Pair

Returns the last pair of the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last pair of the map.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Map::last() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "c"
  ["value"]=>
  int(3)
}


Returns the result of applying a callback to each value

  • « Ds\Map::last
  • Ds\Map::merge »
  • PHP Manual
  • Ds\Map
  • Returns the result of applying a callback to each value

Ds\Map::map

(PECL ds >= 1.0.0)

Ds\Map::map — Returns the result of applying a callback to each value

Açıklama

public Ds\Map::map(callable $callback): Ds\Map

Returns the result of applying a callback function to each value of the map.

Bağımsız Değişkenler

callback

callback(mixed $key, mixed $value): mixed

A callable to apply to each value in the map.

The callable should return what the key will be mapped to in the resulting map.

Dönen Değerler

The result of applying a callback to each value in the map.

Bilginize:

The keys and values of the current instance won't be affected.

Örnekler

Örnek 1 Ds\Map::map() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->map(function($key, $value) { return $value * 2; }));
print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 4
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 6
        )

)
Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Returns the result of adding all given associations

  • « Ds\Map::map
  • Ds\Map::pairs »
  • PHP Manual
  • Ds\Map
  • Returns the result of adding all given associations

Ds\Map::merge

(PECL ds >= 1.0.0)

Ds\Map::merge — Returns the result of adding all given associations

Açıklama

public Ds\Map::merge(mixed $values): Ds\Map

Returns the result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Bilginize:

Values of the current instance will be overwritten by those provided where keys are equal.

Bağımsız Değişkenler

values

A traversable object or an array.

Dönen Değerler

The result of associating all keys of a given traversable object or array with their corresponding values, combined with the current instance.

Bilginize:

The current instance won't be affected.

Örnekler

Örnek 1 Ds\Map::merge() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->merge(["a" => 10, "e" => 50]));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 10
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [3] => Ds\Pair Object
        (
            [key] => e
            [value] => 50
        )

)


Returns a sequence containing all the pairs of the map

  • « Ds\Map::merge
  • Ds\Map::put »
  • PHP Manual
  • Ds\Map
  • Returns a sequence containing all the pairs of the map

Ds\Map::pairs

(PECL ds >= 1.0.0)

Ds\Map::pairs — Returns a sequence containing all the pairs of the map

Açıklama

public Ds\Map::pairs(): Ds\Sequence

Returns a Ds\Sequence containing all the pairs of the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ds\Sequence containing all the pairs of the map.

Örnekler

Örnek 1 Ds\Map::pairs() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->pairs());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#8 (3) {
  [0]=>
  object(Ds\Pair)#5 (2) {
    ["key"]=>
    string(1) "a"
    ["value"]=>
    int(1)
  }
  [1]=>
  object(Ds\Pair)#6 (2) {
    ["key"]=>
    string(1) "b"
    ["value"]=>
    int(2)
  }
  [2]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    string(1) "c"
    ["value"]=>
    int(3)
  }
}
p


Associates a key with a value

  • « Ds\Map::pairs
  • Ds\Map::putAll »
  • PHP Manual
  • Ds\Map
  • Associates a key with a value

Ds\Map::put

(PECL ds >= 1.0.0)

Ds\Map::put — Associates a key with a value

Açıklama

public Ds\Map::put(mixed $key, mixed $value): void

Associates a key with a value, overwriting a previous association if one exists.

Bilginize:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Bilginize:

You can also use array syntax to associate values by key, eg. $map["key"] = $value.

Dikkat

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Bağımsız Değişkenler

key

The key to associate the value with.

value

The value to be associated with the key.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::put() example

<?php
$map = new \Ds\Map();

$map->put("a", 1);
$map->put("b", 2);
$map->put("c", 3);

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)

Örnek 2 Ds\Map::put() example using objects as keys

<?php
class HashableObject implements \Ds\Hashable
{
/**
* An arbitrary value to use as the hash value. Does not define equality.
*/
private $value;

public function __construct($value)
{
$this->value = $value;
}

public function hash()
{
return $this->value;
}

public function equals($obj): bool
{
return $this->value === $obj->value;
}
}

$map = new \Ds\Map();

$obj = new \ArrayIterator([]);

// Using the same instance multiple times will overwrite the previous value.
$map->put($obj, 1);
$map->put($obj, 2);

// Using multiple instances of the same object will create new associations.
$map->put(new \stdClass(), 3);
$map->put(new \stdClass(), 4);

// Using multiple instances of equal hashable objects will overwrite previous values.
$map->put(new \HashableObject(1), 5);
$map->put(new \HashableObject(1), 6);
$map->put(new \HashableObject(2), 7);
$map->put(new \HashableObject(2), 8);

var_dump($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Map)#1 (5) {
  [0]=>
  object(Ds\Pair)#7 (2) {
    ["key"]=>
    object(ArrayIterator)#2 (1) {
      ["storage":"ArrayIterator":private]=>
      array(0) {
      }
    }
    ["value"]=>
    int(2)
  }
  [1]=>
  object(Ds\Pair)#8 (2) {
    ["key"]=>
    object(stdClass)#3 (0) {
    }
    ["value"]=>
    int(3)
  }
  [2]=>
  object(Ds\Pair)#9 (2) {
    ["key"]=>
    object(stdClass)#4 (0) {
    }
    ["value"]=>
    int(4)
  }
  [3]=>
  object(Ds\Pair)#10 (2) {
    ["key"]=>
    object(HashableObject)#5 (1) {
      ["value":"HashableObject":private]=>
      int(1)
    }
    ["value"]=>
    int(6)
  }
  [4]=>
  object(Ds\Pair)#11 (2) {
    ["key"]=>
    object(HashableObject)#6 (1) {
      ["value":"HashableObject":private]=>
      int(2)
    }
    ["value"]=>
    int(8)
  }
}


Associates all key-value pairs of a traversable object or array

  • « Ds\Map::put
  • Ds\Map::reduce »
  • PHP Manual
  • Ds\Map
  • Associates all key-value pairs of a traversable object or array

Ds\Map::putAll

(PECL ds >= 1.0.2)

Ds\Map::putAll — Associates all key-value pairs of a traversable object or array

Açıklama

public Ds\Map::putAll(mixed $pairs): void

Associates all key-value pairs of a traversable object or array.

Bilginize:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Bağımsız Değişkenler

pairs

traversable object or array.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::putAll() example

<?php
$map = new \Ds\Map();

$map->putAll([
"a" => 1,
"b" => 2,
"c" => 3,
]);

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

)


Reduces the map to a single value using a callback function

  • « Ds\Map::putAll
  • Ds\Map::remove »
  • PHP Manual
  • Ds\Map
  • Reduces the map to a single value using a callback function

Ds\Map::reduce

(PECL ds >= 1.0.0)

Ds\Map::reduce — Reduces the map to a single value using a callback function

Açıklama

public Ds\Map::reduce(callable $callback, mixed $initial = ?): mixed

Reduces the map to a single value using a callback function.

Bağımsız Değişkenler

callback
callback(mixed $carry, mixed $key, mixed $value): mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

key

The key of the current iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Dönen Değerler

The return value of the final callback.

Örnekler

Örnek 1 Ds\Map::reduce() with initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

$callback = function($carry, $key, $value) {
return $carry * $value;
};

var_dump($map->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(30)

Örnek 2 Ds\Map::reduce() without an initial value example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->reduce(function($carry, $key, $value) {
return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(21)


Removes and returns a value by key

  • « Ds\Map::reduce
  • Ds\Map::reverse »
  • PHP Manual
  • Ds\Map
  • Removes and returns a value by key

Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::remove — Removes and returns a value by key

Açıklama

public Ds\Map::remove(mixed $key, mixed $default = ?): mixed

Removes and returns a value by key, or return an optional default value if the key could not be found.

Bilginize:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Bilginize:

You can also use array syntax to access values by key, eg. $map["key"].

Dikkat

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Bağımsız Değişkenler

key

The key to remove.

default

The optional default value, returned if the key could not be found.

Dönen Değerler

The value that was removed, or the default value if provided and the key could not be found in the map.

Hatalar/İstisnalar

OutOfBoundsException if the key could not be found and a default value was not provided.

Örnekler

Örnek 1 Ds\Map::remove() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->remove("a")); // 1
var_dump($map->remove("e", 10)); // 10 (default used)
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)
int(10)


Reverses the map in-place

  • « Ds\Map::remove
  • Ds\Map::reversed »
  • PHP Manual
  • Ds\Map
  • Reverses the map in-place

Ds\Map::reverse

(PECL ds >= 1.0.0)

Ds\Map::reverse — Reverses the map in-place

Açıklama

public Ds\Map::reverse(): void

Reverses the map in-place.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::reverse() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$map->reverse();

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)


Returns a reversed copy

  • « Ds\Map::reverse
  • Ds\Map::skip »
  • PHP Manual
  • Ds\Map
  • Returns a reversed copy

Ds\Map::reversed

(PECL ds >= 1.0.0)

Ds\Map::reversed — Returns a reversed copy

Açıklama

public Ds\Map::reversed(): Ds\Map

Returns a reversed copy of the map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A reversed copy of the map.

Bilginize:

The current instance is not affected.

Örnekler

Örnek 1 Ds\Map::reversed() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

print_r($map->reversed());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

)


Returns the pair at a given positional index

  • « Ds\Map::reversed
  • Ds\Map::slice »
  • PHP Manual
  • Ds\Map
  • Returns the pair at a given positional index

Ds\Map::skip

(PECL ds >= 1.0.0)

Ds\Map::skip — Returns the pair at a given positional index

Açıklama

public Ds\Map::skip(int $position): Ds\Pair

Returns the pair at a given zero-based position.

Bağımsız Değişkenler

position

The zero-based positional index to return.

Dönen Değerler

Returns the Ds\Pair at the given position.

Hatalar/İstisnalar

OutOfRangeException if the position is not valid.

Örnekler

Örnek 1 Ds\Map::skip() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->skip(1));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Pair)#2 (2) {
  ["key"]=>
  string(1) "b"
  ["value"]=>
  int(2)
}


Returns a subset of the map defined by a starting index and length

  • « Ds\Map::skip
  • Ds\Map::sort »
  • PHP Manual
  • Ds\Map
  • Returns a subset of the map defined by a starting index and length

Ds\Map::slice

(PECL ds >= 1.0.0)

Ds\Map::slice — Returns a subset of the map defined by a starting index and length

Açıklama

public Ds\Map::slice(int $index, int $length = ?): Ds\Map

Returns a subset of the map defined by a starting index and length.

Bağımsız Değişkenler

index

The index at which the range starts.

If positive, the range will start at that index in the map. If negative, the range will start that far from the end.

length

If a length is given and is positive, the resulting map will have up to that many pairs in it. If a length is given and is negative, the range will stop that many pairs from the end. If the length results in an overflow, only pairs up to the end of the map will be included. If a length is not provided, the resulting map will contain all pairs between the index and the end of the map.

Dönen Değerler

A subset of the map defined by a starting index and length.

Örnekler

Örnek 1 Ds\Map::slice() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5]);

// Slice from 2 onwards
print_r($map->slice(2)->toArray());

// Slice from 1, for a length of 3
print_r($map->slice(1, 3)->toArray());

// Slice from 1 onwards
print_r($map->slice(1)->toArray());

// Slice from 2 from the end onwards
print_r($map->slice(-2)->toArray());

// Slice from 1 to 1 from the end
print_r($map->slice(1, -1)->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
    [e] => 5
)
Array
(
    [d] => 4
    [e] => 5
)
Array
(
    [b] => 2
    [c] => 3
    [d] => 4
)


Sorts the map in-place by value

  • « Ds\Map::slice
  • Ds\Map::sorted »
  • PHP Manual
  • Ds\Map
  • Sorts the map in-place by value

Ds\Map::sort

(PECL ds >= 1.0.0)

Ds\Map::sort — Sorts the map in-place by value

Açıklama

public Ds\Map::sort(callable $comparator = ?): void

Sorts the map in-place by value, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);
$map->sort();

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Örnek 2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

$map->sort(function($a, $b) {
return $b <=> $a;
});

print_r($map);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)


Returns a copy, sorted by value

  • « Ds\Map::sort
  • Ds\Map::sum »
  • PHP Manual
  • Ds\Map
  • Returns a copy, sorted by value

Ds\Map::sorted

(PECL ds >= 1.0.0)

Ds\Map::sorted — Returns a copy, sorted by value

Açıklama

public Ds\Map::sorted(callable $comparator = ?): Ds\Map

Returns a copy, sorted by value using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a copy of the map, sorted by value.

Örnekler

Örnek 1 Ds\Map::sort() example

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

print_r($map->sorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

)

Örnek 2 Ds\Map::sort() example using a comparator

<?php
$map = new \Ds\Map(["a" => 2, "b" => 3, "c" => 1]);

// Reverse
$sorted = $map->sorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [1] => Ds\Pair Object
        (
            [key] => a
            [value] => 2
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 1
        )

)


Returns the sum of all values in the map

  • « Ds\Map::sorted
  • Ds\Map::toArray »
  • PHP Manual
  • Ds\Map
  • Returns the sum of all values in the map

Ds\Map::sum

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ds\Map::sum — Returns the sum of all values in the map

Açıklama

public Ds\Map::sum(): int|float

Returns the sum of all values in the map.

Bilginize:

Arrays and objects are considered equal to zero when calculating the sum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sum of all the values in the map as either a float or int depending on the values in the map.

Örnekler

Örnek 1 Ds\Map::sum() integer example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(6)

Örnek 2 Ds\Map::sum() float example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2.5, "c" => 3]);
var_dump($map->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

float(6.5)


Converts the map to an array

  • « Ds\Map::sum
  • Ds\Map::union »
  • PHP Manual
  • Ds\Map
  • Converts the map to an array

Ds\Map::toArray

(PECL ds >= 1.0.0)

Ds\Map::toArray — Converts the map to an array

Açıklama

public Ds\Map::toArray(): array

Converts the map to an array.

Dikkat

Maps where non-scalar keys are can't be converted to an array.

Dikkat

An array will treat all numeric keys as integers, eg. "1" and 1 as keys in the map will only result in 1 being included in the array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the map.

Örnekler

Örnek 1 Ds\Map::toArray() example

<?php
$map = new \Ds\Map([
"a" => 1,
"b" => 2,
"c" => 3,
]);

var_dump($map->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["a"]=>
  int(1)
  ["b"]=>
  int(2)
  ["c"]=>
  int(3)
}


Creates a new map using values from the current instance and another map

  • « Ds\Map::toArray
  • Ds\Map::values »
  • PHP Manual
  • Ds\Map
  • Creates a new map using values from the current instance and another map

Ds\Map::union

(PECL ds >= 1.0.0)

Ds\Map::union — Creates a new map using values from the current instance and another map

Açıklama

public Ds\Map::union(Ds\Map $map): Ds\Map

Creates a new map that contains the pairs of the current instance as well as the pairs of another map.

A ? B = {x: x ? A ? x ? B}

Bilginize:

Values of the current instance will be overwritten by those provided where keys are equal.

Bağımsız Değişkenler

map

The other map, to combine with the current instance.

Dönen Değerler

A new map containing all the pairs of the current instance as well as another map.

Ayrıca Bakınız

  • » Union on Wikipedia

Örnekler

Örnek 1 Ds\Map::union() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 3, "c" => 4, "d" => 5]);

print_r($a->union($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => b
            [value] => 3
        )

    [2] => Ds\Pair Object
        (
            [key] => c
            [value] => 4
        )

    [3] => Ds\Pair Object
        (
            [key] => d
            [value] => 5
        )

)


Returns a sequence of the map's values

  • « Ds\Map::union
  • Ds\Map::xor »
  • PHP Manual
  • Ds\Map
  • Returns a sequence of the map's values

Ds\Map::values

(PECL ds >= 1.0.0)

Ds\Map::values — Returns a sequence of the map's values

Açıklama

public Ds\Map::values(): Ds\Sequence

Returns a sequence containing all the values of the map, in the same order.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A Ds\Sequence containing all the values of the map.

Örnekler

Örnek 1 Ds\Map::values() example

<?php
$map = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
var_dump($map->values());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Vector)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Creates a new map using keys of either the current instance or of another map, but not of both

  • « Ds\Map::values
  • Ds\Pair »
  • PHP Manual
  • Ds\Map
  • Creates a new map using keys of either the current instance or of another map, but not of both

Ds\Map::xor

(PECL ds >= 1.0.0)

Ds\Map::xor — Creates a new map using keys of either the current instance or of another map, but not of both

Açıklama

public Ds\Map::xor(Ds\Map $map): Ds\Map

Creates a new map containing keys of the current instance as well as another map, but not of both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Bağımsız Değişkenler

map

The other map.

Dönen Değerler

A new map containing keys in the current instance as well as another map, but not in both.

Ayrıca Bakınız

  • » Symmetric Difference on Wikipedia

Örnekler

Örnek 1 Ds\Map::xor() example

<?php
$a = new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);
$b = new \Ds\Map(["b" => 4, "c" => 5, "d" => 6]);

print_r($a->xor($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Map Object
(
    [0] => Ds\Pair Object
        (
            [key] => a
            [value] => 1
        )

    [1] => Ds\Pair Object
        (
            [key] => d
            [value] => 6
        )

)


The Pair class

(PECL ds >= 1.0.0)

Giriş

A pair is used by Ds\Map to pair keys with values.

Sınıf Sözdizimi

class Ds\Pair implements JsonSerializable {
/* Yöntemler */
public __construct(mixed $key = ?, mixed $value = ?)
public clear(): void
public copy(): Ds\Pair
public isEmpty(): bool
public toArray(): array
}

İçindekiler

  • Ds\Pair::clear — Removes all values
  • Ds\Pair::__construct — Creates a new instance
  • Ds\Pair::copy — Returns a shallow copy of the pair
  • Ds\Pair::isEmpty — Returns whether the pair is empty
  • Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Pair::toArray — Converts the pair to an array


Removes all values

  • « Ds\Pair
  • Ds\Pair::__construct »
  • PHP Manual
  • Ds\Pair
  • Removes all values

Ds\Pair::clear

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ds\Pair::clear — Removes all values

Açıklama

public Ds\Pair::clear(): void

Removes all values from the pair.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Pair::clear() example

<?php
$pair = new \Ds\Pair("a", 1);
print_r($pair);

$pair->clear();
print_r($pair);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Pair Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Pair Object
(
)


Creates a new instance

  • « Ds\Pair::clear
  • Ds\Pair::copy »
  • PHP Manual
  • Ds\Pair
  • Creates a new instance

Ds\Pair::__construct

(PECL ds >= 1.0.0)

Ds\Pair::__construct — Creates a new instance

Açıklama

public Ds\Pair::__construct(mixed $key = ?, mixed $value = ?)

Creates a new instance using a given key and value.

Bağımsız Değişkenler

key

The key.

value

The value.


Returns a shallow copy of the pair

  • « Ds\Pair::__construct
  • Ds\Pair::isEmpty »
  • PHP Manual
  • Ds\Pair
  • Returns a shallow copy of the pair

Ds\Pair::copy

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ds\Pair::copy — Returns a shallow copy of the pair

Açıklama

public Ds\Pair::copy(): Ds\Pair

Returns a shallow copy of the pair.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the pair.

Örnekler

Örnek 1 Ds\Pair::copy() example

<?php
$a = new \Ds\Pair("a", 1);
$b = $a->copy();

$a->key = "x";

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Pair Object
(
    [key] => x
    [value] => 1
)
Ds\Pair Object
(
    [key] => a
    [value] => 1
)


Returns whether the pair is empty

  • « Ds\Pair::copy
  • Ds\Pair::jsonSerialize »
  • PHP Manual
  • Ds\Pair
  • Returns whether the pair is empty

Ds\Pair::isEmpty

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Ds\Pair::isEmpty — Returns whether the pair is empty

Açıklama

public Ds\Pair::isEmpty(): bool

Returns whether the pair is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the pair is empty, false otherwise.

Örnekler

Örnek 1 Ds\Pair::isEmpty() example

<?php
$a = new \Ds\Pair("a", 1);
$b = new \Ds\Pair();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Pair::isEmpty
  • Ds\Pair::toArray »
  • PHP Manual
  • Ds\Pair
  • Returns a representation that can be converted to JSON

Ds\Pair::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Pair::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Converts the pair to an array

  • « Ds\Pair::jsonSerialize
  • Ds\Set »
  • PHP Manual
  • Ds\Pair
  • Converts the pair to an array

Ds\Pair::toArray

(PECL ds >= 1.0.0)

Ds\Pair::toArray — Converts the pair to an array

Açıklama

public Ds\Pair::toArray(): array

Converts the pair to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the pair.

Örnekler

Örnek 1 Ds\Pair::toArray() example

<?php
$pair = new \Ds\Pair("a", 1);

var_dump($pair->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["key"]=>
  string(1) "a"
  ["value"]=>
  int(1)
}


The Set class

(PECL ds >= 1.0.0)

Giriş

A Set is a sequence of unique values. This implementation uses the same hash table as Ds\Map, where values are used as keys and the mapped value is ignored.

Strengths

  • Values can be any type, including objects.
  • Supports array syntax (square brackets).
  • Insertion order is preserved.
  • Automatically frees allocated memory when its size drops low enough.
  • add(),
remove() and
contains() are all O(1).

Weaknesses

  • Doesn't support
                push(),
                pop(),
                insert(),
                shift(), or
                unshift().
  • get() is O(n) if there are deleted values in the buffer before the accessed index, O(1) otherwise.

Sınıf Sözdizimi

class Ds\Set implements Ds\Collection, ArrayAccess {
/* Sabitler */
const int MIN_CAPACITY = 16;
/* Yöntemler */
public add(mixed ...$values): void
public allocate(int $capacity): void
public capacity(): int
public clear(): void
public contains(mixed ...$values): bool
public copy(): Ds\Set
public diff(Ds\Set $set): Ds\Set
public filter(callable $callback = ?): Ds\Set
public first(): mixed
public get(int $index): mixed
public intersect(Ds\Set $set): Ds\Set
public isEmpty(): bool
public join(string $glue = ?): string
public last(): mixed
public merge(mixed $values): Ds\Set
public reduce(callable $callback, mixed $initial = ?): mixed
public remove(mixed ...$values): void
public reverse(): void
public reversed(): Ds\Set
public slice(int $index, int $length = ?): Ds\Set
public sort(callable $comparator = ?): void
public sorted(callable $comparator = ?): Ds\Set
public sum(): int|float
public toArray(): array
public union(Ds\Set $set): Ds\Set
public xor(Ds\Set $set): Ds\Set
}

Öntanımlı Sabitler

Ds\Set::MIN_CAPACITY

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Set::add — Adds values to the set
  • Ds\Set::allocate — Allocates enough memory for a required capacity
  • Ds\Set::capacity — Returns the current capacity
  • Ds\Set::clear — Removes all values
  • Ds\Set::__construct — Creates a new instance
  • Ds\Set::contains — Determines if the set contains all values
  • Ds\Set::copy — Returns a shallow copy of the set
  • Ds\Set::count — Returns the number of values in the set
  • Ds\Set::diff — Creates a new set using values that aren't in another set
  • Ds\Set::filter — Creates a new set using a callable to determine which values to include
  • Ds\Set::first — Returns the first value in the set
  • Ds\Set::get — Returns the value at a given index
  • Ds\Set::intersect — Creates a new set by intersecting values with another set
  • Ds\Set::isEmpty — Returns whether the set is empty
  • Ds\Set::join — Joins all values together as a string
  • Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Set::last — Returns the last value in the set
  • Ds\Set::merge — Returns the result of adding all given values to the set
  • Ds\Set::reduce — Reduces the set to a single value using a callback function
  • Ds\Set::remove — Removes all given values from the set
  • Ds\Set::reverse — Reverses the set in-place
  • Ds\Set::reversed — Returns a reversed copy
  • Ds\Set::slice — Returns a sub-set of a given range
  • Ds\Set::sort — Sorts the set in-place
  • Ds\Set::sorted — Returns a sorted copy
  • Ds\Set::sum — Returns the sum of all values in the set
  • Ds\Set::toArray — Converts the set to an array
  • Ds\Set::union — Creates a new set using values from the current instance and another set
  • Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both


Adds values to the set

  • « Ds\Set
  • Ds\Set::allocate »
  • PHP Manual
  • Ds\Set
  • Adds values to the set

Ds\Set::add

(PECL ds >= 1.0.0)

Ds\Set::add — Adds values to the set

Açıklama

public Ds\Set::add(mixed ...$values): void

Adds all given values to the set that haven't already been added.

Bilginize:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Dikkat

All comparisons are strict (type and value).

Bağımsız Değişkenler

values

Values to add to the set.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::add() example using integers

<?php
$set = new \Ds\Set();

$set->add(1);
$set->add(1);
$set->add(2);
$set->add(3);

// Strict comparison would not treat these the same as int(1)
$set->add("1");
$set->add(true);

var_dump($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#1 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  string(1) "1"
  [4]=>
  bool(true)
}

Örnek 2 Ds\Set::add() example using objects

<?php
class HashableObject implements \Ds\Hashable
{
/**
* An arbitrary value to use as the hash value. Does not define equality.
*/
private $value;

public function __construct($value)
{
$this->value = $value;
}

public function hash()
{
return $this->value;
}

public function equals($obj): bool
{
return $this->value === $obj->value;
}
}

$set = new \Ds\Set();

$obj = new \ArrayIterator([]);

// Adding the same instance multiple times will only add the first.
$set->add($obj);
$set->add($obj);

// Adding multiple instances of the same object will add them all.
$set->add(new \stdClass());
$set->add(new \stdClass());

// Adding multiple instances of equal hashable objects will only add the first.
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(1));
$set->add(new \HashableObject(2));
$set->add(new \HashableObject(2));

var_dump($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#1 (5) {
  [0]=>
  object(ArrayIterator)#2 (1) {
    ["storage":"ArrayIterator":private]=>
    array(0) {
    }
  }
  [1]=>
  object(stdClass)#3 (0) {
  }
  [2]=>
  object(stdClass)#4 (0) {
  }
  [3]=>
  object(HashableObject)#5 (1) {
    ["value":"HashableObject":private]=>
    int(1)
  }
  [4]=>
  object(HashableObject)#6 (1) {
    ["value":"HashableObject":private]=>
    int(2)
  }
}


Allocates enough memory for a required capacity

  • « Ds\Set::add
  • Ds\Set::capacity »
  • PHP Manual
  • Ds\Set
  • Allocates enough memory for a required capacity

Ds\Set::allocate

(PECL ds >= 1.0.0)

Ds\Set::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Set::allocate(int $capacity): void

Allocates enough memory for a required capacity.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::allocate() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->allocate(100);
var_dump($set->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(16)
int(128)


Returns the current capacity

  • « Ds\Set::allocate
  • Ds\Set::clear »
  • PHP Manual
  • Ds\Set
  • Returns the current capacity

Ds\Set::capacity

(PECL ds >= 1.0.0)

Ds\Set::capacity — Returns the current capacity

Açıklama

public Ds\Set::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Set::capacity() example

<?php
$set = new \Ds\Set();
var_dump($set->capacity());

$set->add(...range(1, 50));
var_dump($set->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(16)
int(64)


Removes all values

  • « Ds\Set::capacity
  • Ds\Set::__construct »
  • PHP Manual
  • Ds\Set
  • Removes all values

Ds\Set::clear

(PECL ds >= 1.0.0)

Ds\Set::clear — Removes all values

Açıklama

public Ds\Set::clear(): void

Removes all values from the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::clear() example

<?php
$set = new \Ds\Set([1, 2, 3]);
print_r($set);

$set->clear();
print_r($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
)


Creates a new instance

  • « Ds\Set::clear
  • Ds\Set::contains »
  • PHP Manual
  • Ds\Set
  • Creates a new instance

Ds\Set::__construct

(PECL ds >= 1.0.0)

Ds\Set::__construct — Creates a new instance

Açıklama

public Ds\Set::__construct(mixed $values = [])

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Set::__construct() example

<?php
$set = new \Ds\Set();
var_dump($set);

$set = new \Ds\Set([1, 2, 3]);
var_dump($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#1 (0) {
}
object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Determines if the set contains all values

  • « Ds\Set::__construct
  • Ds\Set::copy »
  • PHP Manual
  • Ds\Set
  • Determines if the set contains all values

Ds\Set::contains

(PECL ds >= 1.0.0)

Ds\Set::contains — Determines if the set contains all values

Açıklama

public Ds\Set::contains(mixed ...$values): bool

Determines if the set contains all values.

Bilginize:

Values of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Dikkat

All comparisons are strict (type and value).

Bağımsız Değişkenler

values

Values to check.

Dönen Değerler

false if any of the provided values are not in the set, true otherwise.

Örnekler

Örnek 1 Ds\Set::contains() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->contains(1)); // true
var_dump($set->contains(1, 2)); // true
var_dump($set->contains(...[1, 2])); // true

var_dump($set->contains("1")); // false
var_dump($set->contains(...[1, 2, 3, 4])); // false

var_dump($set->contains(...[])); // true
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(true)


Returns a shallow copy of the set

  • « Ds\Set::contains
  • Ds\Set::count »
  • PHP Manual
  • Ds\Set
  • Returns a shallow copy of the set

Ds\Set::copy

(PECL ds >= 1.0.0)

Ds\Set::copy — Returns a shallow copy of the set

Açıklama

public Ds\Set::copy(): Ds\Set

Returns a shallow copy of the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the set.

Örnekler

Örnek 1 Ds\Set::copy() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->add(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the set

  • « Ds\Set::copy
  • Ds\Set::diff »
  • PHP Manual
  • Ds\Set
  • Returns the number of values in the set

Ds\Set::count

(PECL ds >= 1.0.0)

Ds\Set::count — Returns the number of values in the set

See Countable::count()


Creates a new set using values that aren't in another set

  • « Ds\Set::count
  • Ds\Set::filter »
  • PHP Manual
  • Ds\Set
  • Creates a new set using values that aren't in another set

Ds\Set::diff

(PECL ds >= 1.0.0)

Ds\Set::diff — Creates a new set using values that aren't in another set

Açıklama

public Ds\Set::diff(Ds\Set $set): Ds\Set

Creates a new set using values that aren't in another set.

A \ B = {x ? A | x ? B}

Bağımsız Değişkenler

set

Set containing the values to exclude.

Dönen Değerler

A new set containing all values that were not in the other set.

Ayrıca Bakınız

  • » Complement on Wikipedia

Örnekler

Örnek 1 Ds\Set::diff() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->diff($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#3 (2) {
  [0]=>
  int(1)
  [1]=>
  int(2)
}


Creates a new set using a callable to determine which values to include

  • « Ds\Set::diff
  • Ds\Set::first »
  • PHP Manual
  • Ds\Set
  • Creates a new set using a callable to determine which values to include

Ds\Set::filter

(PECL ds >= 1.0.0)

Ds\Set::filter — Creates a new set using a callable to determine which values to include

Açıklama

public Ds\Set::filter(callable $callback = ?): Ds\Set

Creates a new set using a callable to determine which values to include.

Bağımsız Değişkenler

callback

callback(mixed $value): bool

Optional callable which returns true if the value should be included, false otherwise.

If a callback is not provided, only values which are true (see converting to boolean) will be included.

Dönen Değerler

A new set containing all the values for which either the callback returned true, or all values that convert to true if a callback was not provided.

Örnekler

Örnek 1 Ds\Set::filter() example using callback function

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

var_dump($set->filter(function($value) {
return $value % 2 == 0;
}));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#3 (2) {
  [0]=>
  int(2)
  [1]=>
  int(4)
}

Örnek 2 Ds\Set::filter() example without a callback function

<?php
$set = new \Ds\Set([0, 1, 'a', true, false]);

var_dump($set->filter());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}


Returns the first value in the set

  • « Ds\Set::filter
  • Ds\Set::get »
  • PHP Manual
  • Ds\Set
  • Returns the first value in the set

Ds\Set::first

(PECL ds >= 1.0.0)

Ds\Set::first — Returns the first value in the set

Açıklama

public Ds\Set::first(): mixed

Returns the first value in the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The first value in the set.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Set::first() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->first());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(1)


Returns the value at a given index

  • « Ds\Set::first
  • Ds\Set::intersect »
  • PHP Manual
  • Ds\Set
  • Returns the value at a given index

Ds\Set::get

(PECL ds >= 1.0.0)

Ds\Set::get — Returns the value at a given index

Açıklama

public Ds\Set::get(int $index): mixed

Returns the value at a given index.

Bağımsız Değişkenler

index

The index to access, starting at 0.

Dönen Değerler

The value at the requested index.

Hatalar/İstisnalar

OutOfRangeException if the index is not valid.

Örnekler

Örnek 1 Ds\Set::get() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set->get(0));
var_dump($set->get(1));
var_dump($set->get(2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"

Örnek 2 Ds\Set::get() example using array syntax

<?php
$set = new \Ds\Set(["a", "b", "c"]);

var_dump($set[0]);
var_dump($set[1]);
var_dump($set[2]);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Creates a new set by intersecting values with another set

  • « Ds\Set::get
  • Ds\Set::isEmpty »
  • PHP Manual
  • Ds\Set
  • Creates a new set by intersecting values with another set

Ds\Set::intersect

(PECL ds >= 1.0.0)

Ds\Set::intersect — Creates a new set by intersecting values with another set

Açıklama

public Ds\Set::intersect(Ds\Set $set): Ds\Set

Creates a new set using values common to both the current instance and another set. In other words, returns a copy of the current instance with all values removed that are not in the other set.

A ? B = {x : x ? A ? x ? B}

Bağımsız Değişkenler

set

The other set.

Dönen Değerler

The intersection of the current instance and another set.

Ayrıca Bakınız

  • » Intersection on Wikipedia

Örnekler

Örnek 1 Ds\Set::intersect() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->intersect($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#3 (1) {
  [0]=>
  int(3)
}


Returns whether the set is empty

  • « Ds\Set::intersect
  • Ds\Set::join »
  • PHP Manual
  • Ds\Set
  • Returns whether the set is empty

Ds\Set::isEmpty

(PECL ds >= 1.0.0)

Ds\Set::isEmpty — Returns whether the set is empty

Açıklama

public Ds\Set::isEmpty(): bool

Returns whether the set is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the set is empty, false otherwise.

Örnekler

Örnek 1 Ds\Set::isEmpty() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Joins all values together as a string

  • « Ds\Set::isEmpty
  • Ds\Set::jsonSerialize »
  • PHP Manual
  • Ds\Set
  • Joins all values together as a string

Ds\Set::join

(PECL ds >= 1.0.0)

Ds\Set::join — Joins all values together as a string

Açıklama

public Ds\Set::join(string $glue = ?): string

Joins all values together as a string using an optional separator between each value.

Bağımsız Değişkenler

glue

An optional string to separate each value.

Dönen Değerler

All values of the set joined together as a string.

Örnekler

Örnek 1 Ds\Set::join() example using a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join("|"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "a|b|c|1|2|3"

Örnek 2 Ds\Set::join() example without a separator string

<?php
$set = new \Ds\Set(["a", "b", "c", 1, 2, 3]);

var_dump($set->join());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(11) "abc123"


Returns a representation that can be converted to JSON

  • « Ds\Set::join
  • Ds\Set::last »
  • PHP Manual
  • Ds\Set
  • Returns a representation that can be converted to JSON

Ds\Set::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Set::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the last value in the set

  • « Ds\Set::jsonSerialize
  • Ds\Set::merge »
  • PHP Manual
  • Ds\Set
  • Returns the last value in the set

Ds\Set::last

(PECL ds >= 1.0.0)

Ds\Set::last — Returns the last value in the set

Açıklama

public Ds\Set::last(): mixed

Returns the last value in the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last value in the set.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Set::last() example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->last());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)


Returns the result of adding all given values to the set

  • « Ds\Set::last
  • Ds\Set::reduce »
  • PHP Manual
  • Ds\Set
  • Returns the result of adding all given values to the set

Ds\Set::merge

(PECL ds >= 1.0.3)

Ds\Set::merge — Returns the result of adding all given values to the set

Açıklama

public Ds\Set::merge(mixed $values): Ds\Set

Returns the result of adding all given values to the set.

Bağımsız Değişkenler

values

A traversable object or an array.

Dönen Değerler

The result of adding all given values to the set, effectively the same as adding the values to a copy, then returning that copy.

Bilginize:

The current instance won't be affected.

Örnekler

Örnek 1 Ds\Set::merge() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->merge([3, 4, 5]));
var_dump($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#2 (6) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}
object(Ds\Set)#1 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Reduces the set to a single value using a callback function

  • « Ds\Set::merge
  • Ds\Set::remove »
  • PHP Manual
  • Ds\Set
  • Reduces the set to a single value using a callback function

Ds\Set::reduce

(PECL ds >= 1.0.0)

Ds\Set::reduce — Reduces the set to a single value using a callback function

Açıklama

public Ds\Set::reduce(callable $callback, mixed $initial = ?): mixed

Reduces the set to a single value using a callback function.

Bağımsız Değişkenler

callback
callback(mixed $carry, mixed $value): mixed
carry

The return value of the previous callback, or initial if it's the first iteration.

value

The value of the current iteration.

initial

The initial value of the carry value. Can be null.

Dönen Değerler

The return value of the final callback.

Örnekler

Örnek 1 Ds\Set::reduce() with initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

$callback = function($carry, $value) {
return $carry * $value;
};

var_dump($set->reduce($callback, 5));

// Iterations:
//
// $carry = $initial = 5
//
// $carry = $carry * 1 = 5
// $carry = $carry * 2 = 10
// $carry = $carry * 3 = 30
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(30)

Örnek 2 Ds\Set::reduce() without an initial value example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->reduce(function($carry, $value) {
return $carry + $value + 5;
}));

// Iterations:
//
// $carry = $initial = null
//
// $carry = $carry + 1 + 5 = 6
// $carry = $carry + 2 + 5 = 13
// $carry = $carry + 3 + 5 = 21
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(21)


Removes all given values from the set

  • « Ds\Set::reduce
  • Ds\Set::reverse »
  • PHP Manual
  • Ds\Set
  • Removes all given values from the set

Ds\Set::remove

(PECL ds >= 1.0.0)

Ds\Set::remove — Removes all given values from the set

Açıklama

public Ds\Set::remove(mixed ...$values): void

Removes all given values from the set, ignoring any that are not in the set.

Bağımsız Değişkenler

values

The values to remove.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::remove() example

<?php
$set = new \Ds\Set([1, 2, 3, 4, 5]);

$set->remove(1); // Remove 1
$set->remove(1, 2); // Can't find 1, but remove 2
$set->remove(...[3, 4]); // Remove 3 and 4

var_dump($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#1 (1) {
  [0]=>
  int(5)
}


Reverses the set in-place

  • « Ds\Set::remove
  • Ds\Set::reversed »
  • PHP Manual
  • Ds\Set
  • Reverses the set in-place

Ds\Set::reverse

(PECL ds >= 1.0.0)

Ds\Set::reverse — Reverses the set in-place

Açıklama

public Ds\Set::reverse(): void

Reverses the set in-place.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::reverse() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);
$set->reverse();

print_r($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)


Returns a reversed copy

  • « Ds\Set::reverse
  • Ds\Set::slice »
  • PHP Manual
  • Ds\Set
  • Returns a reversed copy

Ds\Set::reversed

(PECL ds >= 1.0.0)

Ds\Set::reversed — Returns a reversed copy

Açıklama

public Ds\Set::reversed(): Ds\Set

Returns a reversed copy of the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A reversed copy of the set.

Bilginize:

The current instance is not affected.

Örnekler

Örnek 1 Ds\Set::reversed() example

<?php
$set = new \Ds\Set(["a", "b", "c"]);

print_r($set->reversed());
print_r($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => c
    [1] => b
    [2] => a
)
Ds\Set Object
(
    [0] => a
    [1] => b
    [2] => c
)


Returns a sub-set of a given range

  • « Ds\Set::reversed
  • Ds\Set::sort »
  • PHP Manual
  • Ds\Set
  • Returns a sub-set of a given range

Ds\Set::slice

(PECL ds >= 1.0.0)

Ds\Set::slice — Returns a sub-set of a given range

Açıklama

public Ds\Set::slice(int $index, int $length = ?): Ds\Set

Creates a sub-set of a given range.

Bağımsız Değişkenler

index

The index at which the sub-set starts.

If positive, the set will start at that index in the set. If negative, the set will start that far from the end.

length

If a length is given and is positive, the resulting set will have up to that many values in it. If the length results in an overflow, only values up to the end of the set will be included. If a length is given and is negative, the set will stop that many values from the end. If a length is not provided, the resulting set will contain all values between the index and the end of the set.

Dönen Değerler

A sub-set of the given range.

Örnekler

Örnek 1 Ds\Set::slice() example

<?php
$set = new \Ds\Set(["a", "b", "c", "d", "e"]);

// Slice from 2 onwards
print_r($set->slice(2));

// Slice from 1, for a length of 3
print_r($set->slice(1, 3));

// Slice from 1 onwards
print_r($set->slice(1));

// Slice from 2 from the end onwards
print_r($set->slice(-2));

// Slice from 1 to 1 from the end
print_r($set->slice(1, -1));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => c
    [1] => d
    [2] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
    [3] => e
)
Ds\Set Object
(
    [0] => d
    [1] => e
)
Ds\Set Object
(
    [0] => b
    [1] => c
    [2] => d
)


Sorts the set in-place

  • « Ds\Set::slice
  • Ds\Set::sorted »
  • PHP Manual
  • Ds\Set
  • Sorts the set in-place

Ds\Set::sort

(PECL ds >= 1.0.0)

Ds\Set::sort — Sorts the set in-place

Açıklama

public Ds\Set::sort(callable $comparator = ?): void

Sorts the set in-place, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Set::sort() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);
$set->sort();

print_r($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Set::sort() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$set->sort(function($a, $b) {
return $b <=> $a;
});

print_r($set);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns a sorted copy

  • « Ds\Set::sort
  • Ds\Set::sum »
  • PHP Manual
  • Ds\Set
  • Returns a sorted copy

Ds\Set::sorted

(PECL ds >= 1.0.0)

Ds\Set::sorted — Returns a sorted copy

Açıklama

public Ds\Set::sorted(callable $comparator = ?): Ds\Set

Returns a sorted copy, using an optional comparator function.

Bağımsız Değişkenler

comparator

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Returns a sorted copy of the set.

Örnekler

Örnek 1 Ds\Set::sorted() example

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

print_r($set->sorted());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Örnek 2 Ds\Set::sorted() example using a comparator

<?php
$set = new \Ds\Set([4, 5, 1, 3, 2]);

$sorted = $set->sorted(function($a, $b) {
return $b <=> $a;
});

print_r($sorted);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Set Object
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)


Returns the sum of all values in the set

  • « Ds\Set::sorted
  • Ds\Set::toArray »
  • PHP Manual
  • Ds\Set
  • Returns the sum of all values in the set

Ds\Set::sum

(PECL ds >= 1.0.0)

Ds\Set::sum — Returns the sum of all values in the set

Açıklama

public Ds\Set::sum(): int|float

Returns the sum of all values in the set.

Bilginize:

Arrays and objects are considered equal to zero when calculating the sum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The sum of all the values in the set as either a float or int depending on the values in the set.

Örnekler

Örnek 1 Ds\Set::sum() integer example

<?php
$set = new \Ds\Set([1, 2, 3]);
var_dump($set->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(6)

Örnek 2 Ds\Set::sum() float example

<?php
$set = new \Ds\Set([1, 2.5, 3]);
var_dump($set->sum());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

float(6.5)


Converts the set to an array

  • « Ds\Set::sum
  • Ds\Set::union »
  • PHP Manual
  • Ds\Set
  • Converts the set to an array

Ds\Set::toArray

(PECL ds >= 1.0.0)

Ds\Set::toArray — Converts the set to an array

Açıklama

public Ds\Set::toArray(): array

Converts the set to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the set.

Örnekler

Örnek 1 Ds\Set::toArray() example

<?php
$set = new \Ds\Set([1, 2, 3]);

var_dump($set->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Creates a new set using values from the current instance and another set

  • « Ds\Set::toArray
  • Ds\Set::xor »
  • PHP Manual
  • Ds\Set
  • Creates a new set using values from the current instance and another set

Ds\Set::union

(PECL ds >= 1.0.0)

Ds\Set::union — Creates a new set using values from the current instance and another set

Açıklama

public Ds\Set::union(Ds\Set $set): Ds\Set

Creates a new set that contains the values of the current instance as well as the values of another set.

A ? B = {x: x ? A ? x ? B}

Bağımsız Değişkenler

set

The other set, to combine with the current instance.

Dönen Değerler

A new set containing all the values of the current instance as well as another set.

Ayrıca Bakınız

  • » Union on Wikipedia

Örnekler

Örnek 1 Ds\Set::union() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->union($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#3 (5) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
  [3]=>
  int(4)
  [4]=>
  int(5)
}


Creates a new set using values in either the current instance or in another set, but not in both

  • « Ds\Set::union
  • Ds\Stack »
  • PHP Manual
  • Ds\Set
  • Creates a new set using values in either the current instance or in another set, but not in both

Ds\Set::xor

(PECL ds >= 1.0.0)

Ds\Set::xor — Creates a new set using values in either the current instance or in another set, but not in both

Açıklama

public Ds\Set::xor(Ds\Set $set): Ds\Set

Creates a new set containing values in the current instance as well as another set, but not in both.

A ? B = {x : x ? (A \ B) ? (B \ A)}

Bağımsız Değişkenler

set

The other set.

Dönen Değerler

A new set containing values in the current instance as well as another set, but not in both.

Ayrıca Bakınız

  • » Symmetric Difference on Wikipedia

Örnekler

Örnek 1 Ds\Set::xor() example

<?php
$a = new \Ds\Set([1, 2, 3]);
$b = new \Ds\Set([3, 4, 5]);

var_dump($a->xor($b));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Set)#3 (4) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(4)
  [3]=>
  int(5)
}


The Stack class

(PECL ds >= 1.0.0)

Giriş

A Stack is a "last in, first out" or "LIFO" collection that only allows access to the value at the top of the structure and iterates in that order, destructively.

Uses a Ds\Vector internally.

Sınıf Sözdizimi

class Ds\Stack implements Ds\Collection, ArrayAccess {
/* Yöntemler */
public allocate(int $capacity): void
public capacity(): int
public clear(): void
public copy(): Ds\Stack
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed ...$values): void
public toArray(): array
}

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Stack::allocate — Allocates enough memory for a required capacity
  • Ds\Stack::capacity — Returns the current capacity
  • Ds\Stack::clear — Removes all values
  • Ds\Stack::__construct — Creates a new instance
  • Ds\Stack::copy — Returns a shallow copy of the stack
  • Ds\Stack::count — Returns the number of values in the stack
  • Ds\Stack::isEmpty — Returns whether the stack is empty
  • Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Stack::peek — Returns the value at the top of the stack
  • Ds\Stack::pop — Removes and returns the value at the top of the stack
  • Ds\Stack::push — Pushes values onto the stack
  • Ds\Stack::toArray — Converts the stack to an array


Allocates enough memory for a required capacity

  • « Ds\Stack
  • Ds\Stack::capacity »
  • PHP Manual
  • Ds\Stack
  • Allocates enough memory for a required capacity

Ds\Stack::allocate

(PECL ds >= 1.0.0)

Ds\Stack::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Stack::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Dönen Değerler

Hiçbir değer dönmez.


Returns the current capacity

  • « Ds\Stack::allocate
  • Ds\Stack::clear »
  • PHP Manual
  • Ds\Stack
  • Returns the current capacity

Ds\Stack::capacity

(PECL ds >= 1.0.0)

Ds\Stack::capacity — Returns the current capacity

Açıklama

public Ds\Stack::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.


Removes all values

  • « Ds\Stack::capacity
  • Ds\Stack::__construct »
  • PHP Manual
  • Ds\Stack
  • Removes all values

Ds\Stack::clear

(PECL ds >= 1.0.0)

Ds\Stack::clear — Removes all values

Açıklama

public Ds\Stack::clear(): void

Removes all values from the stack.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Stack::clear() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);

$stack->clear();
print_r($stack);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
)


Creates a new instance

  • « Ds\Stack::clear
  • Ds\Stack::copy »
  • PHP Manual
  • Ds\Stack
  • Creates a new instance

Ds\Stack::__construct

(PECL ds >= 1.0.0)

Ds\Stack::__construct — Creates a new instance

Açıklama

public Ds\Stack::__construct(mixed $values = ?)

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Stack::__construct() example

<?php
$stack = new \Ds\Stack();
print_r($stack);

$stack = new \Ds\Stack([1, 2, 3]);
print_r($stack);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Stack Object
(
)
Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)


Returns a shallow copy of the stack

  • « Ds\Stack::__construct
  • Ds\Stack::count »
  • PHP Manual
  • Ds\Stack
  • Returns a shallow copy of the stack

Ds\Stack::copy

(PECL ds >= 1.0.0)

Ds\Stack::copy — Returns a shallow copy of the stack

Açıklama

public Ds\Stack::copy(): Ds\Stack

Returns a shallow copy of the stack.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the stack.

Örnekler

Örnek 1 Ds\Stack::copy() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Stack Object
(
    [0] => 3
    [1] => 2
    [2] => 1
)
Ds\Stack Object
(
    [0] => 4
    [1] => 3
    [2] => 2
    [3] => 1
)


Returns the number of values in the stack

  • « Ds\Stack::copy
  • Ds\Stack::isEmpty »
  • PHP Manual
  • Ds\Stack
  • Returns the number of values in the stack

Ds\Stack::count

(PECL ds >= 1.0.0)

Ds\Stack::count — Returns the number of values in the stack

See Countable::count()


Returns whether the stack is empty

  • « Ds\Stack::count
  • Ds\Stack::jsonSerialize »
  • PHP Manual
  • Ds\Stack
  • Returns whether the stack is empty

Ds\Stack::isEmpty

(PECL ds >= 1.0.0)

Ds\Stack::isEmpty — Returns whether the stack is empty

Açıklama

public Ds\Stack::isEmpty(): bool

Returns whether the stack is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the stack is empty, false otherwise.

Örnekler

Örnek 1 Ds\Stack::isEmpty() example

<?php
$a = new \Ds\Stack([1, 2, 3]);
$b = new \Ds\Stack();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Stack::isEmpty
  • Ds\Stack::peek »
  • PHP Manual
  • Ds\Stack
  • Returns a representation that can be converted to JSON

Ds\Stack::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Stack::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the value at the top of the stack

  • « Ds\Stack::jsonSerialize
  • Ds\Stack::pop »
  • PHP Manual
  • Ds\Stack
  • Returns the value at the top of the stack

Ds\Stack::peek

(PECL ds >= 1.0.0)

Ds\Stack::peek — Returns the value at the top of the stack

Açıklama

public Ds\Stack::peek(): mixed

Returns the value at the top of the stack, but does not remove it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value at the top of the stack.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Stack::peek() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->peek());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "c"


Removes and returns the value at the top of the stack

  • « Ds\Stack::peek
  • Ds\Stack::push »
  • PHP Manual
  • Ds\Stack
  • Removes and returns the value at the top of the stack

Ds\Stack::pop

(PECL ds >= 1.0.0)

Ds\Stack::pop — Removes and returns the value at the top of the stack

Açıklama

public Ds\Stack::pop(): mixed

Removes and returns the value at the top of the stack.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed value which was at the top of the stack.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Stack::pop() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c");

var_dump($stack->pop());
var_dump($stack->pop());
var_dump($stack->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "c"
string(1) "b"
string(1) "a"


Pushes values onto the stack

  • « Ds\Stack::pop
  • Ds\Stack::toArray »
  • PHP Manual
  • Ds\Stack
  • Pushes values onto the stack

Ds\Stack::push

(PECL ds >= 1.0.0)

Ds\Stack::push — Pushes values onto the stack

Açıklama

public Ds\Stack::push(mixed ...$values): void

Pushes values onto the stack.

Bağımsız Değişkenler

values

The values to push onto the stack.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Stack::push() example

<?php
$stack = new \Ds\Stack();

$stack->push("a");
$stack->push("b");
$stack->push("c", "d");
$stack->push(...["e", "f"]);

print_r($stack);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Stack Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Converts the stack to an array

  • « Ds\Stack::push
  • Ds\Queue »
  • PHP Manual
  • Ds\Stack
  • Converts the stack to an array

Ds\Stack::toArray

(PECL ds >= 1.0.0)

Ds\Stack::toArray — Converts the stack to an array

Açıklama

public Ds\Stack::toArray(): array

Converts the stack to an array.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the stack.

Örnekler

Örnek 1 Ds\Stack::toArray() example

<?php
$stack = new \Ds\Stack([1, 2, 3]);

var_dump($stack->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}


The Queue class

(PECL ds >= 1.0.0)

Giriş

A Queue is a "first in, first out" or "FIFO" collection that only allows access to the value at the front of the queue and iterates in that order, destructively.

Sınıf Sözdizimi

class Ds\Queue implements Ds\Collection, ArrayAccess {
/* Sabitler */
const int MIN_CAPACITY = 8;
/* Yöntemler */
public allocate(int $capacity): void
public capacity(): int
public clear(): void
public copy(): Ds\Queue
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed ...$values): void
public toArray(): array
}

Öntanımlı Sabitler

Ds\Queue::MIN_CAPACITY

Sürüm Bilgisi

Sürüm: | Açıklama
PECL ds 1.3.0 | The class now implements ArrayAccess.

İçindekiler

  • Ds\Queue::allocate — Allocates enough memory for a required capacity
  • Ds\Queue::capacity — Returns the current capacity
  • Ds\Queue::clear — Removes all values
  • Ds\Queue::__construct — Creates a new instance
  • Ds\Queue::copy — Returns a shallow copy of the queue
  • Ds\Queue::count — Returns the number of values in the queue
  • Ds\Queue::isEmpty — Returns whether the queue is empty
  • Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\Queue::peek — Returns the value at the front of the queue
  • Ds\Queue::pop — Removes and returns the value at the front of the queue
  • Ds\Queue::push — Pushes values into the queue
  • Ds\Queue::toArray — Converts the queue to an array


Allocates enough memory for a required capacity

  • « Ds\Queue
  • Ds\Queue::capacity »
  • PHP Manual
  • Ds\Queue
  • Allocates enough memory for a required capacity

Ds\Queue::allocate

(PECL ds >= 1.0.0)

Ds\Queue::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\Queue::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Queue::allocate() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)
int(128)


Returns the current capacity

  • « Ds\Queue::allocate
  • Ds\Queue::clear »
  • PHP Manual
  • Ds\Queue
  • Returns the current capacity

Ds\Queue::capacity

(PECL ds >= 1.0.0)

Ds\Queue::capacity — Returns the current capacity

Açıklama

public Ds\Queue::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\Queue::capacity() example

<?php
$queue = new \Ds\Queue();
var_dump($queue->capacity());

$queue->push(...range(1, 50));
var_dump($queue->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)
int(64)


Removes all values

  • « Ds\Queue::capacity
  • Ds\Queue::__construct »
  • PHP Manual
  • Ds\Queue
  • Removes all values

Ds\Queue::clear

(PECL ds >= 1.0.0)

Ds\Queue::clear — Removes all values

Açıklama

public Ds\Queue::clear(): void

Removes all values from the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Queue::clear() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);
print_r($queue);

$queue->clear();
print_r($queue);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
)


Creates a new instance

  • « Ds\Queue::clear
  • Ds\Queue::copy »
  • PHP Manual
  • Ds\Queue
  • Creates a new instance

Ds\Queue::__construct

(PECL ds >= 1.0.0)

Ds\Queue::__construct — Creates a new instance

Açıklama

public Ds\Queue::__construct(mixed $values = ?)

Creates a new instance, using either a traversable object or an array for the initial values.

Bağımsız Değişkenler

values

A traversable object or an array to use for the initial values.

Örnekler

Örnek 1 Ds\Queue::__construct() example

<?php
$queue = new \Ds\Queue();
var_dump($queue);

$queue = new \Ds\Queue([1, 2, 3]);
var_dump($queue);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\Queue)#2 (0) {
}
object(Ds\Queue)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


Returns a shallow copy of the queue

  • « Ds\Queue::__construct
  • Ds\Queue::count »
  • PHP Manual
  • Ds\Queue
  • Returns a shallow copy of the queue

Ds\Queue::copy

(PECL ds >= 1.0.0)

Ds\Queue::copy — Returns a shallow copy of the queue

Açıklama

public Ds\Queue::copy(): Ds\Queue

Returns a shallow copy of the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the queue.

Örnekler

Örnek 1 Ds\Queue::copy() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = $a->copy();

// Updating the copy doesn't affect the original
$b->push(4);

print_r($a);
print_r($b);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
)
Ds\Queue Object
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
)


Returns the number of values in the queue

  • « Ds\Queue::copy
  • Ds\Queue::isEmpty »
  • PHP Manual
  • Ds\Queue
  • Returns the number of values in the queue

Ds\Queue::count

(PECL ds >= 1.0.0)

Ds\Queue::count — Returns the number of values in the queue

See Countable::count()


Returns whether the queue is empty

  • « Ds\Queue::count
  • Ds\Queue::jsonSerialize »
  • PHP Manual
  • Ds\Queue
  • Returns whether the queue is empty

Ds\Queue::isEmpty

(PECL ds >= 1.0.0)

Ds\Queue::isEmpty — Returns whether the queue is empty

Açıklama

public Ds\Queue::isEmpty(): bool

Returns whether the queue is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the queue is empty, false otherwise.

Örnekler

Örnek 1 Ds\Queue::isEmpty() example

<?php
$a = new \Ds\Queue([1, 2, 3]);
$b = new \Ds\Queue();

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\Queue::isEmpty
  • Ds\Queue::peek »
  • PHP Manual
  • Ds\Queue
  • Returns a representation that can be converted to JSON

Ds\Queue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\Queue::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the value at the front of the queue

  • « Ds\Queue::jsonSerialize
  • Ds\Queue::pop »
  • PHP Manual
  • Ds\Queue
  • Returns the value at the front of the queue

Ds\Queue::peek

(PECL ds >= 1.0.0)

Ds\Queue::peek — Returns the value at the front of the queue

Açıklama

public Ds\Queue::peek(): mixed

Returns the value at the front of the queue, but does not remove it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value at the front of the queue.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Queue::peek() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->peek());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"


Removes and returns the value at the front of the queue

  • « Ds\Queue::peek
  • Ds\Queue::push »
  • PHP Manual
  • Ds\Queue
  • Removes and returns the value at the front of the queue

Ds\Queue::pop

(PECL ds >= 1.0.0)

Ds\Queue::pop — Removes and returns the value at the front of the queue

Açıklama

public Ds\Queue::pop(): mixed

Removes and returns the value at the front of the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed value which was at the front of the queue.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\Queue::pop() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c");

var_dump($queue->pop());
var_dump($queue->pop());
var_dump($queue->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Pushes values into the queue

  • « Ds\Queue::pop
  • Ds\Queue::toArray »
  • PHP Manual
  • Ds\Queue
  • Pushes values into the queue

Ds\Queue::push

(PECL ds >= 1.0.0)

Ds\Queue::push — Pushes values into the queue

Açıklama

public Ds\Queue::push(mixed ...$values): void

Pushes values into the queue.

Bağımsız Değişkenler

values

The values to push into the queue.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\Queue::push() example

<?php
$queue = new \Ds\Queue();

$queue->push("a");
$queue->push("b");
$queue->push("c", "d");
$queue->push(...["e", "f"]);

print_r($queue);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\Queue Object
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)


Converts the queue to an array

  • « Ds\Queue::push
  • Ds\PriorityQueue »
  • PHP Manual
  • Ds\Queue
  • Converts the queue to an array

Ds\Queue::toArray

(PECL ds >= 1.0.0)

Ds\Queue::toArray — Converts the queue to an array

Açıklama

public Ds\Queue::toArray(): array

Converts the queue to an array.

Bilginize:

Casting to an array is not supported yet.

Bilginize:

This method is not destructive.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the queue.

Örnekler

Örnek 1 Ds\Queue::toArray() example

<?php
$queue = new \Ds\Queue([1, 2, 3]);

var_dump($queue->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}


The PriorityQueue class

(PECL ds >= 1.0.0)

Giriş

A PriorityQueue is very similar to a Queue. Values are pushed into the queue with an assigned priority, and the value with the highest priority will always be at the front of the queue.

Implemented using a max heap.

Bilginize:

"First in, first out" ordering is preserved for values with the same priority.

Bilginize:

Iterating over a PriorityQueue is destructive, equivalent to successive pop operations until the queue is empty.

Sınıf Sözdizimi

class Ds\PriorityQueue implements Ds\Collection {
/* Sabitler */
const int MIN_CAPACITY = 8;
/* Yöntemler */
public allocate(int $capacity): void
public capacity(): int
public clear(): void
public copy(): Ds\PriorityQueue
public isEmpty(): bool
public peek(): mixed
public pop(): mixed
public push(mixed $value, int $priority): void
public toArray(): array
}

Öntanımlı Sabitler

Ds\PriorityQueue::MIN_CAPACITY

İçindekiler

  • Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity
  • Ds\PriorityQueue::capacity — Returns the current capacity
  • Ds\PriorityQueue::clear — Removes all values
  • Ds\PriorityQueue::__construct — Creates a new instance
  • Ds\PriorityQueue::copy — Returns a shallow copy of the queue
  • Ds\PriorityQueue::count — Returns the number of values in the queue
  • Ds\PriorityQueue::isEmpty — Returns whether the queue is empty
  • Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON
  • Ds\PriorityQueue::peek — Returns the value at the front of the queue
  • Ds\PriorityQueue::pop — Removes and returns the value with the highest priority
  • Ds\PriorityQueue::push — Pushes values into the queue
  • Ds\PriorityQueue::toArray — Converts the queue to an array


Allocates enough memory for a required capacity

  • « Ds\PriorityQueue
  • Ds\PriorityQueue::capacity »
  • PHP Manual
  • Ds\PriorityQueue
  • Allocates enough memory for a required capacity

Ds\PriorityQueue::allocate

(PECL ds >= 1.0.0)

Ds\PriorityQueue::allocate — Allocates enough memory for a required capacity

Açıklama

public Ds\PriorityQueue::allocate(int $capacity): void

Ensures that enough memory is allocated for a required capacity. This removes the need to reallocate the internal as values are added.

Bağımsız Değişkenler

capacity

The number of values for which capacity should be allocated.

Bilginize:

Capacity will stay the same if this value is less than or equal to the current capacity.

Bilginize:

Capacity will always be rounded up to the nearest power of 2.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\PriorityQueue::allocate() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());

$queue->allocate(100);
var_dump($queue->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)
int(128)


Returns the current capacity

  • « Ds\PriorityQueue::allocate
  • Ds\PriorityQueue::clear »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns the current capacity

Ds\PriorityQueue::capacity

(PECL ds >= 1.0.0)

Ds\PriorityQueue::capacity — Returns the current capacity

Açıklama

public Ds\PriorityQueue::capacity(): int

Returns the current capacity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current capacity.

Örnekler

Örnek 1 Ds\PriorityQueue::capacity() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue->capacity());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(8)


Removes all values

  • « Ds\PriorityQueue::capacity
  • Ds\PriorityQueue::__construct »
  • PHP Manual
  • Ds\PriorityQueue
  • Removes all values

Ds\PriorityQueue::clear

(PECL ds >= 1.0.0)

Ds\PriorityQueue::clear — Removes all values

Açıklama

public Ds\PriorityQueue::clear(): void

Removes all values from the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\PriorityQueue::clear() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

$queue->clear();
print_r($queue);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\PriorityQueue Object
(
)


Creates a new instance

  • « Ds\PriorityQueue::clear
  • Ds\PriorityQueue::copy »
  • PHP Manual
  • Ds\PriorityQueue
  • Creates a new instance

Ds\PriorityQueue::__construct

(PECL ds >= 1.0.0)

Ds\PriorityQueue::__construct — Creates a new instance

Açıklama

public Ds\PriorityQueue::__construct()

Creates a new instance.

Örnekler

Örnek 1 Ds\PriorityQueue::__construct() example

<?php
$queue = new \Ds\PriorityQueue();
var_dump($queue);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(Ds\PriorityQueue)#1 (0) {
}


Returns a shallow copy of the queue

  • « Ds\PriorityQueue::__construct
  • Ds\PriorityQueue::count »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns a shallow copy of the queue

Ds\PriorityQueue::copy

(PECL ds >= 1.0.0)

Ds\PriorityQueue::copy — Returns a shallow copy of the queue

Açıklama

public Ds\PriorityQueue::copy(): Ds\PriorityQueue

Returns a shallow copy of the queue.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a shallow copy of the queue.

Örnekler

Örnek 1 Ds\PriorityQueue::copy() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->copy());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ds\PriorityQueue Object
(
    [0] => b
    [1] => c
    [2] => a
)


Returns the number of values in the queue

  • « Ds\PriorityQueue::copy
  • Ds\PriorityQueue::isEmpty »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns the number of values in the queue

Ds\PriorityQueue::count

(PECL ds >= 1.0.0)

Ds\PriorityQueue::count — Returns the number of values in the queue

See Countable::count()


Returns whether the queue is empty

  • « Ds\PriorityQueue::count
  • Ds\PriorityQueue::jsonSerialize »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns whether the queue is empty

Ds\PriorityQueue::isEmpty

(PECL ds >= 1.0.0)

Ds\PriorityQueue::isEmpty — Returns whether the queue is empty

Açıklama

public Ds\PriorityQueue::isEmpty(): bool

Returns whether the queue is empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the queue is empty, false otherwise.

Örnekler

Örnek 1 Ds\PriorityQueue::isEmpty() example

<?php
$a = new \Ds\PriorityQueue();
$b = new \Ds\PriorityQueue();

$a->push("a", 5);
$a->push("b", 15);
$a->push("c", 10);

var_dump($a->isEmpty());
var_dump($b->isEmpty());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)


Returns a representation that can be converted to JSON

  • « Ds\PriorityQueue::isEmpty
  • Ds\PriorityQueue::peek »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns a representation that can be converted to JSON

Ds\PriorityQueue::jsonSerialize

(PECL ds >= 1.0.0)

Ds\PriorityQueue::jsonSerialize — Returns a representation that can be converted to JSON

See JsonSerializable::jsonSerialize()

Bilginize:

You should never need to call this directly.


Returns the value at the front of the queue

  • « Ds\PriorityQueue::jsonSerialize
  • Ds\PriorityQueue::pop »
  • PHP Manual
  • Ds\PriorityQueue
  • Returns the value at the front of the queue

Ds\PriorityQueue::peek

(PECL ds >= 1.0.0)

Ds\PriorityQueue::peek — Returns the value at the front of the queue

Açıklama

public Ds\PriorityQueue::peek(): mixed

Returns the value at the front of the queue, but does not remove it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value at the front of the queue.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\PriorityQueue::peek() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->peek());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "b"


Removes and returns the value with the highest priority

  • « Ds\PriorityQueue::peek
  • Ds\PriorityQueue::push »
  • PHP Manual
  • Ds\PriorityQueue
  • Removes and returns the value with the highest priority

Ds\PriorityQueue::pop

(PECL ds >= 1.0.0)

Ds\PriorityQueue::pop — Removes and returns the value with the highest priority

Açıklama

public Ds\PriorityQueue::pop(): mixed

Removes and returns the value at the front of the queue, ie. the value with the highest priority.

Bilginize:

Values with equal priority fall back to FIFO (first in first out).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The removed value which was at the front of the queue.

Hatalar/İstisnalar

UnderflowException if empty.

Örnekler

Örnek 1 Ds\PriorityQueue::pop() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "a"
string(1) "b"
string(1) "c"


Pushes values into the queue

  • « Ds\PriorityQueue::pop
  • Ds\PriorityQueue::toArray »
  • PHP Manual
  • Ds\PriorityQueue
  • Pushes values into the queue

Ds\PriorityQueue::push

(PECL ds >= 1.0.0)

Ds\PriorityQueue::push — Pushes values into the queue

Açıklama

public Ds\PriorityQueue::push(mixed $value, int $priority): void

Pushes a value with a given priority into the queue.

Bağımsız Değişkenler

value

The value to push into the queue.

priority

The priority associated with the value.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Ds\PriorityQueue::push() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

print_r($queue->pop());
print_r($queue->pop());
print_r($queue->pop());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(1) "b"
string(1) "c"
string(1) "a"


Converts the queue to an array

  • « Ds\PriorityQueue::push
  • var_representation »
  • PHP Manual
  • Ds\PriorityQueue
  • Converts the queue to an array

Ds\PriorityQueue::toArray

(PECL ds >= 1.0.0)

Ds\PriorityQueue::toArray — Converts the queue to an array

Açıklama

public Ds\PriorityQueue::toArray(): array

Converts the queue to an array.

Bilginize:

This method is not destructive.

Bilginize:

Casting to an array is not supported yet.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array containing all the values in the same order as the queue.

Örnekler

Örnek 1 Ds\PriorityQueue::toArray() example

<?php
$queue = new \Ds\PriorityQueue();

$queue->push("a", 5);
$queue->push("b", 15);
$queue->push("c", 10);

var_dump($queue->toArray());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(1) "b"
  [1]=>
  string(1) "c"
  [2]=>
  string(1) "a"
}


var_representation

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • Öntanımlı Sabitler
  • var_representation İşlevleri
    • var_representation — Returns a short, readable, parsable string representation of a variable


Giriş

The var_representation extension provides a compact alternative to var_export() that properly escapes control characters.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • var_representation
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/var_representation.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

VAR_REPRESENTATION_SINGLE_LINE (int)
var_representation() flag indicating that newlines should not be used for whitespace in variable representations.
VAR_REPRESENTATION_UNESCAPED (int)
var_representation() flag indicating that strings should be encoded as single quoted strings with unescaped control characters.


var_representation İşlevleri

İçindekiler

  • var_representation — Returns a short, readable, parsable string representation of a variable


Returns a short, readable, parsable string representation of a variable

  • « var_representation İşlevleri
  • Diğer Hizmetler »
  • PHP Manual
  • var_representation İşlevleri
  • Returns a short, readable, parsable string representation of a variable

var_representation

(PECL var_representation >= 0.1.0)

var_representation — Returns a short, readable, parsable string representation of a variable

Açıklama

var_representation(mixed $value, int $flags = 0): string

var_representation() (from the var_representation PECL) returns a string with structured information about the given variable. It is similar to var_export() with differences in indentation, string escaping, and array representations.

Bağımsız Değişkenler

value

The variable to generate a representation of.

flags

Bitmask consisting of VAR_REPRESENTATION_SINGLE_LINE, VAR_REPRESENTATION_UNESCAPED. The behaviour of these constants is described on the var_representation constants page.

Dönen Değerler

Returns the variable representation.

Örnekler

Örnek 1 var_representation() Examples

<?php
$a = [1, 2, ['key' => 'value']];
echo var_representation($a), "\n";
echo var_representation($a, VAR_REPRESENTATION_SINGLE_LINE), "\n";
?>

Yukarıdaki örneğin çıktısı:

[
  1,
  2,
  [
    'key' => 'value',
  ],
]
[1, 2, ['key' => 'value']]

Örnek 2 Escaping control characters

<?php
echo var_representation("Content-Length: 123\r\n");

Yukarıdaki örneğin çıktısı:

"Content-Length: 123\r\n"

Örnek 3 Exporting stdClass

<?php
$person = new stdClass;
$person->name = 'ElePHPant ElePHPantsdotter';
$person->website = 'https://php.net/elephpant.php';

echo var_representation($person);

Yukarıdaki örneğin çıktısı:

(object) [
  'name' => 'ElePHPant ElePHPantsdotter',
  'website' => 'https://php.net/elephpant.php',
]

Örnek 4 Exporting classes

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
echo var_representation($a);
?>

Yukarıdaki örneğin çıktısı:

\A::__set_state([
  'var' => 5,
])

Örnek 5 Using __set_state()

<?php
class A
{
public $var1;
public $var2;

public static function __set_state($an_array)
{
$obj = new A;
$obj->var1 = $an_array['var1'];
$obj->var2 = $an_array['var2'];
return $obj;
}
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_representation($a) . ';'); // $b = \A::__set_state([
// 'var1' => 5,
// 'var2' => 'foo',
// ]);
var_dump($b);
?>

Yukarıdaki örneğin çıktısı:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Ayrıca Bakınız

  • var_export() - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar


Diğer Hizmetler

  • cURL — İstemci URL Kütüphanesi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • cURL İşlevleri
    • CurlHandle — CurlHandle sınıfı
    • CurlMultiHandle — CurlMultiHandle sınıfı
    • CurlShareHandle — CurlShareHandle sınıfı
    • CURLFile — CURLFile sınıfı
    • CURLStringFile — The CURLStringFile class
  • Event
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • Event flags
    • About event persistence
    • Event callbacks
    • Constructing signal events
    • Event — The Event class
    • EventBase — The EventBase class
    • EventBuffer — The EventBuffer class
    • EventBufferEvent — The EventBufferEvent class
    • About buffer event callbacks
    • EventConfig — The EventConfig class
    • EventDnsBase — The EventDnsBase class
    • EventHttp — The EventHttp class
    • EventHttpConnection — The EventHttpConnection class
    • EventHttpRequest — The EventHttpRequest class
    • EventListener — The EventListener class
    • EventSslContext — The EventSslContext class
    • EventUtil — The EventUtil class
  • FTP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • FTP İşlevleri
    • FTP\Connection — FTP\Connection sınıfı
  • Gearman
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • GearmanClient — The GearmanClient class
    • GearmanJob — The GearmanJob class
    • GearmanTask — The GearmanTask class
    • GearmanWorker — The GearmanWorker class
    • GearmanException — The GearmanException class
  • LDAP — Lightweight Directory Access Protocol
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Using the PHP LDAP calls
    • LDAP controls
    • Örnekler
    • LDAP İşlevleri
    • LDAP\Connection — The LDAP\Connection class
    • LDAP\Result — The LDAP\Result class
    • LDAP\ResultEntry — The LDAP\ResultEntry class
  • Memcache
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Memcache — The Memcache class
    • Memcache İşlevleri
  • Memcached
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Expiration Times
    • Callbacks
    • Sessions support
    • Memcached — The Memcached class
    • MemcachedException — The MemcachedException class
  • mqseries
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • mqseries İşlevleri
  • Network — Ağ
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Ağ İşlevleri
  • RRD — RRDtool
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • RRD İşlevleri
    • RRDCreator — The RRDCreator class
    • RRDGraph — The RRDGraph class
    • RRDUpdater — The RRDUpdater class
  • ScoutAPM
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Scoutapm İşlevleri
  • SNMP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SNMP İşlevleri
    • SNMP — The SNMP class
    • SNMPException — The SNMPException class
  • Sockets — Soketler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Soket Hataları
    • Soket İşlevleri
    • Socket — The Socket class
    • AddressInfo — The AddressInfo class
  • SSH2 — Güvenli Kabuk 2
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SSH2 İşlevleri
  • Stomp — Stomp Client
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • Stomp İşlevleri
    • Stomp — The Stomp class
    • StompFrame — The StompFrame class
    • StompException — The StompException class
  • SVM — Support Vector Machine
    • Giriş
    • Yapılandırma/Kurulum
    • Örnekler
    • SVM — The SVM class
    • SVMModel — The SVMModel class
  • SVN — Subversion
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SVN İşlevleri
  • TCP — TCP Sarmalayıcıları
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • TCP İşlevleri
  • Varnish
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • VarnishAdmin — The VarnishAdmin class
    • VarnishStat — The VarnishStat class
    • VarnishLog — The VarnishLog class
  • YAZ
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • YAZ İşlevleri
  • 0MQ messaging — ZMQ
    • Giriş
    • Yapılandırma/Kurulum
    • ZMQ — The ZMQ class
    • ZMQContext — The ZMQContext class
    • ZMQSocket — The ZMQSocket class
    • ZMQPoll — The ZMQPoll class
    • ZMQDevice — The ZMQDevice class
  • ZooKeeper
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • ZooKeeper İşlevleri
    • Zookeeper — The Zookeeper class
    • ZookeeperConfig — The ZookeeperConfig class
    • ZookeeperException — The ZookeeperException class
    • ZookeeperAuthenticationException — The ZookeeperAuthenticationException class
    • ZookeeperConnectionException — The ZookeeperConnectionException class
    • ZookeeperMarshallingException — The ZookeeperMarshallingException class
    • ZookeeperNoNodeException — The ZookeeperNoNodeException class
    • ZookeeperOperationTimeoutException — The ZookeeperOperationTimeoutException class
    • ZookeeperSessionException — The ZookeeperSessionException class


İstemci URL Kütüphanesi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel bir curl örneği
  • cURL İşlevleri
    • curl_close — cURL oturumunu sonlandırır
    • curl_copy_handle — Bir cURL tanıtıcısını tüm tercihleriyle kopyalar
    • curl_errno — Belirtilen oturumdaki son hatanın kodunu döndürür
    • curl_error — Belirtilen oturumdaki son hatayı içeren bir dizge döndürür
    • curl_escape — Dizgeyi URL'de kullanım için kodlar
    • curl_exec — Bir cURL oturumunu işleme sokar
    • curl_getinfo — Belli bir oturum ile ilgili bilgi döndürür
    • curl_init — Bir cURL oturumunu ilklendirir
    • curl_multi_add_handle — Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler
    • curl_multi_close — Çoklu tanıtıcıyı kapatır
    • curl_multi_errno — Sonuncu çoklu curl hata numarasını döndürür
    • curl_multi_exec — Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır
    • curl_multi_getcontent — CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner
    • curl_multi_info_read — Geçerli oturum hakkında bilgi döndürür
    • curl_multi_init — Yeni bir çoklu cURL tanıtıcısı döndürür
    • curl_multi_remove_handle — Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler
    • curl_multi_select — Çoklu cURL bağlantısında bir etkinlik olsun diye bekler
    • curl_multi_setopt — cURL çoklu seçeneği tanımlar
    • curl_multi_strerror — Hata kodunun açıklamasını döndürür
    • curl_pause — Bağlantının bekleme durumunu değiştirir
    • curl_reset — libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar
    • curl_setopt_array — Belirtilen cURL oturumuna çok sayıda seçenek atar
    • curl_setopt — Bir cURL aktarım seçeneği tanımlar
    • curl_share_close — cURL paylaşımlı tanıtıcısını kapatır
    • curl_share_errno — Sonuncu paylaşımlı curl hata numarasını döndürür
    • curl_share_init — cURL paylaşımlı tanıtıcısını ilklendirir
    • curl_share_setopt — cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar
    • curl_share_strerror — Hata kodunun açıklamasını döndürür
    • curl_strerror — Hata kodunun açıklamasını döndürür
    • curl_unescape — URL kodlu dizgeyi çözümler
    • curl_upkeep — Performs any connection upkeep checks
    • curl_version — cURL sürüm bilgilerini döndürür
  • CurlHandle — CurlHandle sınıfı
  • CurlMultiHandle — CurlMultiHandle sınıfı
  • CurlShareHandle — CurlShareHandle sınıfı
  • CURLFile — CURLFile sınıfı
    • CURLFile::__construct — Bir CURLFile nesnesi oluşturur
    • CURLFile::getFilename — Dosya ismi döndürür
    • CURLFile::getMimeType — MIME türünü döndürür
    • CURLFile::getPostFilename — POST için dosya ismi döndürür
    • CURLFile::setMimeType — MIME türü tanımlar
    • CURLFile::setPostFilename — POST için dosya ismi tanımlar
  • CURLStringFile — The CURLStringFile class
    • CURLStringFile::__construct — Create a CURLStringFile object


Giriş

PHP, Daniel Stenberg tarafından yazılan libcurl kütüphanesini destekler. libcurl kütüphanesi farklı türdeki sunuculara bağlanmaya ve farklı protokollerle iletişim kurmaya yarar. libcurl, şimdilik http, https, ftp, gopher, telnet, dict, file ve ldap protokollerini desteklemektedir. Ayrıca, HTTPS sertifikalarını, HTTP POST, HTTP PUT, FTP karşıya yüklemesini (PHP'nin ftp eklentisiyle de yapılabilmektedir), HTTP form karşıya yüklemesini, vekilleri, çerezleri ve kullanıcılı ve parolalı kimlik doğrulamasını da desteklemektedir.


Gereksinimler

PHP'nin cURL işlevlerini kullanabilmek için sisteminizde » libcurl paketinin 7.10.5 veya üstü sürümlerinin kurulu olması gerekir. PHP 7.3.0 itibariyle, 7.15.5 veya üstü sürümleri gerekir. PHP 8.0.0 itibariyle, 7.29.0 veya üstü sürümleri gerekir.


Kurulum

PHP'nin cURL desteğini kullanmak için PHP --with-curl[=DiZiN] seçeneği ile yapılandırılarak derlenmelidir. Buradaki DiZiN lib ve include dizinlerini içeren dizindir. include dizini altında easy.h ve curl.h dosyalarını içeren bir curl dizini bulunmalıdır. Ayrıca, lib dizininde bir libcurl.a dosyası bulunmalıdır.

Bilginize: Win32 Kullanıcılarının dikkatine
Bu eklentiyi Windows ortamında etkin kılmak için libeay32.dll, ssleay32.dll, libssh2.dll ve OpenSSL 1.1'deki gibi libcrypto-*.dll ve libssl-*.dll dosyalarına PATH ortam değişkeni üzerinden erişilebilmek gerekir. cURL sitesindeki libcurl.dll dosyasına ihtiyaç yoktur.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

cURL Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
curl.cainfo | NULL | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

curl.cainfo string

CURLOPT_CAINFO seçeneği için öntanımlı değerdir. Mutlak bir yol olarak bu gereklidir


Özkaynak Türleri

Bu eklenti PHP 8.0.0 öncesinde üç özkaynak türü tanımlardı: curl tanıtıcısı, curl_multi tanıtıcısı ve curl_share tanıtıcısı.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Bu sabitlerin kullanımı ve açıklamaları için curl_setopt(), curl_multi_setopt() ve curl_getinfo() işlevlerinin belgelerine bakılmalıdır.

CURLOPT_AUTOREFERER (int)
CURLOPT_COOKIESESSION (int)
CURLOPT_DOH_URL (int)
HTTPS üzerinden DNS (DNS-over-HTTPS) URL çözümlemesi sağlar. PHP 8.1.0 ve cURL 7.62.0 itibariyle kullanılabilir.
CURLOPT_DOH_SSL_VERIFYHOST (int)
HTTPS-üzerinden-DNS sunucusunun SSL sertifika adı alanlarını konak adıyla doğrular. PHP 8.2.0 ve cURL 7.76.0 itibariyle kullanılabilir.
CURLOPT_DOH_SSL_VERIFYPEER (int)
HTTPS-üzerinden-DNS sunucusunun SSL sertifikasının gerçekliğini doğrular. PHP 8.2.0 ve cURL 7.76.0 itibariyle kullanılabilir.
CURLOPT_DOH_SSL_VERIFYSTATUS (int)
CURL'ye "Sertifika Durum İsteği" TLS uzantısını (OCSP zımbalama) kullanarak HTTPS üzerinden DNS sunucu sertifikasının durumunu doğrulamasını söyler. PHP 8.2.0 ve cURL 7.76.0 itibariyle kullanılabilir.
CURLOPT_DNS_USE_GLOBAL_CACHE (int)
CURLOPT_DNS_CACHE_TIMEOUT (int)
CURLOPT_FTP_SSL (int)
CURLFTP_CREATE_DIR (int)
PHP 7.0.7 ve cURL 7.19.3 itibariyle kullanılabilir.
CURLFTP_CREATE_DIR_NONE (int)
PHP 7.0.7 ve cURL 7.19.3 itibariyle kullanılabilir.
CURLFTP_CREATE_DIR_RETRY (int)
PHP 7.0.7 ve cURL 7.19.3 itibariyle kullanılabilir.
CURLFTPSSL_TRY (int)
CURLFTPSSL_ALL (int)
CURLFTPSSL_CONTROL (int)
CURLFTPSSL_NONE (int)
CURLFTPMETHOD_DEFAULT (int)
PHP 8.2.0 ve cURL 7.15.3 itibariyle kullanılabilir.
CURLOPT_PRIVATE (int)
CURLOPT_FTPSSLAUTH (int)
CURLOPT_PORT (int)
CURLOPT_FILE (int)
CURLOPT_INFILE (int)
CURLOPT_INFILESIZE (int)
CURLOPT_ISSUERCERT_BLOB (int)
Bellek kaydındaki SSL sertifikasını çıktılar. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_URL (int)
CURLOPT_PROXY (int)
CURLOPT_PROXY_ISSUERCERT (int)
Vekilin SSL sertifikası dosya adı. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_PROXY_ISSUERCERT_BLOB (int)
Vekilin bellek kaydındaki SSL sertifikası. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLCERT_BLOB (int)
Bellek kaydındaki SSL vekil istemci sertifikası. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLKEY_BLOB (int)
Bellek kaydındaki vekil sertifikası için gizli anahtar. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_VERBOSE (int)
CURLOPT_ALTSVC (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLOPT_ALTSVC_CTRL (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLALTSVC_H1 (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLALTSVC_H2 (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLALTSVC_H3 (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLALTSVC_READONLYFILE (int)
PHP 8.2.0 ve cURL 7.64.1 itibariyle kullanılabilir.
CURLOPT_HEADER (int)
CURLOPT_HTTPHEADER (int)
CURLOPT_NOPROGRESS (int)
CURLOPT_NOBODY (int)
CURLOPT_FAILONERROR (int)
CURLOPT_UPLOAD (int)
CURLOPT_UPLOAD_BUFFERSIZE (int)
PHP 8.2.0 ve cURL 7.62.0 itibariyle kullanılabilir.
CURLOPT_POST (int)
CURLOPT_FTPLISTONLY (int)
CURLOPT_FTPAPPEND (int)
CURLOPT_FTP_CREATE_MISSING_DIRS (int)
CURLOPT_NETRC (int)
CURLOPT_FOLLOWLOCATION (int)
Bu sabit open_basedir etkinken kullanılabilir.
CURLOPT_FTPASCII (int)
CURLOPT_PUT (int)
CURLOPT_MUTE (int)
cURL 7.15.5 itibariyle kaldırıldı; yerine CURLOPT_RETURNTRANSFER kullanılmalı.
CURLOPT_USERPWD (int)
CURLOPT_PROXYUSERPWD (int)
CURLOPT_RANGE (int)
CURLOPT_TIMEOUT (int)
CURLOPT_TIMEOUT_MS (int)
CURLOPT_TCP_NODELAY (int)
CURLOPT_POSTFIELDS (int)
CURLOPT_PROGRESSFUNCTION (int)
CURLOPT_REFERER (int)
CURLOPT_USERAGENT (int)
CURLOPT_FTPPORT (int)
CURLOPT_FTP_USE_EPSV (int)
CURLOPT_LOW_SPEED_LIMIT (int)
CURLOPT_LOW_SPEED_TIME (int)
CURLOPT_RESUME_FROM (int)
CURLOPT_COOKIE (int)
CURLOPT_COOKIELIST (int)
cURL 7.14.1 itibariyle kullanılabilir.
CURLOPT_SSLCERT (int)
CURLOPT_SSLCERT_BLOB (int)
Bellek kaydındaki SSL istemci sertifikası. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_SSLCERTPASSWD (int)
CURLOPT_SSLKEY_BLOB (int)
Bellek kaydındaki istemci sertifikası için gizli anahtar. PHP 8.1.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLOPT_WRITEHEADER (int)
CURLOPT_SSL_VERIFYHOST (int)
CURLOPT_COOKIEFILE (int)
CURLOPT_SSLVERSION (int)
CURL_SSLVERSION_DEFAULT (int)
CURL_SSLVERSION_TLSv1 (int)
CURL_SSLVERSION_SSLv2 (int)
CURL_SSLVERSION_SSLv3 (int)
CURL_SSLVERSION_TLSv1_0 (int)
CURL_SSLVERSION_TLSv1_1 (int)
CURL_SSLVERSION_TLSv1_2 (int)
CURL_SSLVERSION_TLSv1_3 (int)
CURLOPT_TIMECONDITION (int)
CURLOPT_TIMEVALUE (int)
CURLOPT_CUSTOMREQUEST (int)
CURLOPT_STDERR (int)
CURLOPT_TRANSFERTEXT (int)
CURLOPT_RETURNTRANSFER (int)
CURLOPT_QUOTE (int)
CURLOPT_POSTQUOTE (int)
CURLOPT_INTERFACE (int)
CURLOPT_KRB4LEVEL (int)
CURLOPT_HTTPPROXYTUNNEL (int)
CURLOPT_FILETIME (int)
CURLOPT_WRITEFUNCTION (int)
CURLOPT_READFUNCTION (int)
CURLOPT_PASSWDFUNCTION (int)
cURL 7.3.3 itibariyle kaldırıldı.
CURLOPT_HEADERFUNCTION (int)
CURLOPT_MAXAGE_CONN (int)
PHP 8.2.0 ve cURL 7.65.0 itibariyle kullanılabilir.
CURLOPT_MAXFILESIZE_LARGE (int)
PHP 8.2.0 ve cURL 7.11.0 itibariyle kullanılabilir.
CURLOPT_MAXLIFETIME_CONN (int)
PHP 8.2.0 ve cURL 7.80.0 itibariyle kullanılabilir.
CURLOPT_MAXREDIRS (int)
CURLOPT_MAXCONNECTS (int)
CURLOPT_FRESH_CONNECT (int)
CURLOPT_FORBID_REUSE (int)
CURLOPT_RANDOM_FILE (int)
CURLOPT_EGDSOCKET (int)
CURLOPT_CONNECTTIMEOUT (int)
CURLOPT_CONNECTTIMEOUT_MS (int)
CURLOPT_SSL_VERIFYPEER (int)
CURLOPT_CAINFO (int)
CURLOPT_CAINFO_BLOB (int)
PHP 8.2.0 ve cURL 7.77.0 itibariyle kullanılabilir.
CURLOPT_CAPATH (int)
CURLOPT_COOKIEJAR (int)
CURLOPT_SSL_CIPHER_LIST (int)
CURLOPT_SSL_EC_CURVES (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLOPT_BINARYTRANSFER (int)
CURLOPT_NOSIGNAL (int)
CURLOPT_PROXYTYPE (int)
Available as of cURL 7.10.
CURLOPT_BUFFERSIZE (int)
CURLOPT_HTTPGET (int)
CURLOPT_HTTP_VERSION (int)
CURLOPT_HSTS (int)
PHP 8.2.0 ve cURL 7.74.0 itibariyle kullanılabilir.
CURLOPT_HSTS_CTRL (int)
PHP 8.2.0 ve cURL 7.74.0 itibariyle kullanılabilir.
CURLHSTS_ENABLE (int)
PHP 8.2.0 ve cURL 7.74.0 itibariyle kullanılabilir.
CURLHSTS_READONLYFILE (int)
PHP 8.2.0 ve cURL 7.74.0 itibariyle kullanılabilir.
CURLOPT_SSLKEY (int)
CURLOPT_SSLKEYTYPE (int)
CURLOPT_SSLKEYPASSWD (int)
CURLOPT_SSLENGINE (int)
CURLOPT_SSLENGINE_DEFAULT (int)
CURLOPT_SSLCERTTYPE (int)
CURLOPT_CRLF (int)
CURLOPT_ENCODING (int)
CURLOPT_PROXYPORT (int)
CURLOPT_UNRESTRICTED_AUTH (int)
CURLOPT_FTP_USE_EPRT (int)
CURLOPT_HTTP200ALIASES (int)
CURLOPT_HTTPAUTH (int)
CURLOPT_AWS_SIGV4 (int)
PHP 8.2.0 ve cURL 7.75.0 itibariyle kullanılabilir.
CURLAUTH_BASIC (int)
CURLAUTH_DIGEST (int)
CURLAUTH_GSSNEGOTIATE (int)
CURLAUTH_NEGOTIATE (int)
PHP 7.0.7 ve cURL 7.38.0 itibariyle kullanılabilir.
CURLAUTH_NTLM (int)
CURLAUTH_NTLM_WB (int)
PHP 7.0.7 ve cURL 7.22.0 itibariyle kullanılabilir.
CURLAUTH_ANY (int)
CURLAUTH_ANYSAFE (int)
CURLAUTH_AWS_SIGV4 (int)
PHP 8.2.0 ve cURL 7.75.0 itibariyle kullanılabilir..
CURLOPT_PROXYAUTH (int)
CURLOPT_MAIL_RCPT_ALLLOWFAILS (int)
PHP 8.2.0 ve cURL 7.69.0 itibariyle kullanılabilir.
CURLOPT_UPKEEP_INTERVAL_MS (int)
PHP 8.2.0 ve cURL 7.62.0 itibariyle kullanılabilir.
CURLOPT_MAX_RECV_SPEED_LARGE (int)
cURL 7.15.5 itibariyle kullanılabilir.
CURLOPT_MAX_SEND_SPEED_LARGE (int)
cURL 7.15.5 itibariyle kullanılabilir.
CURLOPT_HEADEROPT (int)
PHP 7.0.7 ve cURL 7.37.0 itibariyle kullanılabilir.
CURLOPT_PROXYHEADER (int)
PHP 7.0.7 ve cURL 7.37.0 itibariyle kullanılabilir.
CURLINFO_PRIVATE (int)
CURLINFO_EFFECTIVE_URL (int)
CURLINFO_HTTP_CODE (int)
cURL 7.10.8 itibariyle, CURLINFO_RESPONSE_CODE için eski takma addır.
CURLINFO_PROXY_ERROR (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_BAD_ADDRESS_TYPE (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_BAD_VERSION (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_CLOSED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_GSSAPI (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_GSSAPI_PERMSG (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_GSSAPI_PROTECTION (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_IDENTD_DIFFER (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_IDENTD (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_LONG_HOSTNAME (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_LONG_PASSWD (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_LONG_USER (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_NO_AUTH (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_OK (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_RECV_ADDRESS (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_RECV_AUTH (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_RECV_CONNECT (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_RECV_REQACK (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_COMMAND_NOT_SUPPORTED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_CONNECTION_REFUSED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_GENERAL_SERVER_FAILURE (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_HOST_UNREACHABLE (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_NETWORK_UNREACHABLE (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_NOT_ALLOWED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_TTL_EXPIRED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REPLY_UNASSIGNED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_REQUEST_FAILED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_RESOLVE_HOST (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_SEND_AUTH (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_SEND_CONNECT (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_SEND_REQUEST (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_UNKNOWN_FAIL (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_UNKNOWN_MODE (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLPX_USER_REJECTED (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLINFO_REFERER (int)
PHP 8.2.0 ve cURL 7.76.0 itibariyle kullanılabilir.
CURLINFO_RESPONSE_CODE (int)
cURL 7.10.8 itibariyle kullanılabilir.
CURLINFO_RETRY_AFTER (int)
PHP 8.2.0 ve cURL 7.66.0 itibariyle kullanılabilir.
CURLINFO_HEADER_OUT (int)
CURLINFO_HEADER_SIZE (int)
CURLINFO_REQUEST_SIZE (int)
CURLINFO_TOTAL_TIME (int)
CURLINFO_NAMELOOKUP_TIME (int)
CURLINFO_CONNECT_TIME (int)
CURLINFO_PRETRANSFER_TIME (int)
CURLINFO_SIZE_UPLOAD (int)
CURLINFO_SIZE_DOWNLOAD (int)
CURLINFO_SPEED_DOWNLOAD (int)
CURLINFO_SPEED_UPLOAD (int)
CURLINFO_FILETIME (int)
CURLINFO_SSL_VERIFYRESULT (int)
CURLINFO_CONTENT_LENGTH_DOWNLOAD (int)
CURLINFO_CONTENT_LENGTH_UPLOAD (int)
CURLINFO_STARTTRANSFER_TIME (int)
CURLINFO_CONTENT_TYPE (int)
CURLINFO_REDIRECT_TIME (int)
CURLINFO_REDIRECT_COUNT (int)
CURLINFO_REDIRECT_URL (int)
CURLINFO_PRIMARY_IP (int)
CURLINFO_PRIMARY_PORT (int)
CURLINFO_LOCAL_IP (int)
CURLINFO_LOCAL_PORT (int)
CURL_PUSH_OK (int)
PHP 7.1.0 ve cURL 7.44.0 itibariyle kullanılabilir.
CURL_PUSH_DENY (int)
PHP 7.1.0 ve cURL 7.44.0 itibariyle kullanılabilir.
CURL_REDIR_POST_301 (int)
PHP 7.0.7 ve cURL 7.18.2 itibariyle kullanılabilir.
CURL_REDIR_POST_302 (int)
PHP 7.0.7 ve cURL 7.18.2 itibariyle kullanılabilir.
CURL_REDIR_POST_303 (int)
PHP 7.0.7 ve cURL 7.25.1 itibariyle kullanılabilir.
CURL_REDIR_POST_ALL (int)
PHP 7.0.7 ve cURL 7.18.2 itibariyle kullanılabilir.
CURL_TIMECOND_NONE (int)
CURL_TIMECOND_IFMODSINCE (int)
CURL_TIMECOND_IFUNMODSINCE (int)
CURL_TIMECOND_LASTMOD (int)
CURL_VERSION_ALTSVC (int)
PHP 7.3.6 ve cURL 7.64.1 itibariyle kullanılabilir.
CURL_VERSION_ASYNCHDNS (int)
Eşzamansız DNS çözümler. PHP 7.3.0 ve cURL 7.10.7 itibariyle kullanılabilir.
CURL_VERSION_BROTLI (int)
PHP 7.3.0 ve cURL 7.57.0 itibariyle kullanılabilir.
CURL_VERSION_CONV (int)
Karakter dönüşümleri desteklenir. PHP 7.3.0 ve cURL 7.15.4 itibariyle kullanılabilir.
CURL_VERSION_CURLDEBUG (int)
Hata ayıklamada bellek izleme desteklenir. PHP 7.3.6 ve cURL 7.19.6 itibariyle kullanılabilir.
CURL_VERSION_DEBUG (int)
Hata ayıklama yetenekleriyle oluşturulmuştur. PHP 7.3.0 ve cURL 7.10.6 itibariyle kullanılabilir.
CURL_VERSION_GSASL (int)
PHP 8.2.0 ve cURL 7.76.0 itibariyle kullanılabilir.
CURL_VERSION_GSSAPI (int)
GSS-API kitaplığına rağmen oluşturulmuştur. PHP 7.3.0 ve cURL 7.38.0 itibariyle kullanılabilir.
CURL_VERSION_GSSNEGOTIATE (int)
Pazarlık kimlik doğrulaması desteklenir. PHP 7.3.0 ve cURL 7.10.6 itibariyle kullanılabilir. (7.38.0 beri önerilmiyor)
CURL_VERSION_HSTS (int)
PHP 8.2.0 ve cURL 7.74.0 itibariyle kullanılabilir.
CURL_VERSION_IDN (int)
Uluslararası Alan Adları desteklenir. PHP 7.3.0 ve cURL 7.12.0 itibariyle kullanılabilir.
CURL_VERSION_MULTI_SSL (int)
PHP 7.3.0 ve cURL 7.56.0 itibariyle kullanılabilir.
CURL_VERSION_NTLM (int)
NTLM kimlik doğrulaması desteklenir. PHP 7.3.0 ve cURL 7.10.6 itibariyle kullanılabilir.
CURL_VERSION_NTLM_WB (int)
Winbind yardımcısı için NTLM yetkilendirmesi desteklenir. PHP 7.3.0 ve cURL 7.22.0 itibariyle kullanılabilir.
CURL_VERSION_IPV6 (int)
IPv6-etkin.
CURL_VERSION_KERBEROS4 (int)
Kerberos V4 kimlik doğrulaması desteklenir.
CURL_VERSION_KERBEROS5 (int)
Kerberos V5 kimlik doğrulaması desteklenir. PHP 7.0.7 ve cURL 7.40.0 itibariyle kullanılabilir.
CURL_VERSION_HTTP2 (int)
HTTP2 desteği yerleşik. cURL 7.33.0 itibariyle kullanılabilir.
CURL_VERSION_HTTP3 (int)
PHP 8.2.0 ve cURL 7.66.0 itibariyle kullanılabilir.
CURL_VERSION_LARGEFILE (int)
2GB'tan büyük dosyalar desteklenir. cURL 7.33.0 itibariyle kullanılabilir.
CURL_VERSION_PSL (int)
Mozilla'nın Genel Sonek Listesi; çerez alanı doğrulaması için kullanılır. PHP 7.3.6 ve cURL 7.47.0 itibariyle kullanılabilir.
CURL_VERSION_SPNEGO (int)
SPNEGO kimlik doğrulaması desteklenir. PHP 7.3.0 ve cURL 7.10.8 itibariyle kullanılabilir.
CURL_VERSION_SSPI (int)
Windows SSPI'ye karşın derlendi. PHP 7.3.0 ve cURL 7.13.2 itibariyle kullanılabilir.
CURL_VERSION_SSL (int)
SSL seçenekleri mevcut.
CURL_VERSION_TLSAUTH_SRP (int)
TLS-SRP kimlik doğrulaması desteklenir. PHP 7.3.0 ve cURL 7.21.4 itibariyle kullanılabilir.
CURL_VERSION_UNICODE (int)
PHP 8.2.0 ve cURL 7.72.0 itibariyle kullanılabilir.
CURL_VERSION_UNIX_SOCKETS (int)
Unix alan soketleri desteklenir. PHP 7.0.7 ve cURL 7.40.0 itibariyle kullanılabilir.
CURL_VERSION_ZSTD (int)
PHP 8.2.0 ve cURL 7.72.0 itibariyle kullanılabilir.
CURL_VERSION_LIBZ (int)
libz özellikleri mevcut.
CURLVERSION_NOW (int)
CURLE_OK (int)
CURLE_UNSUPPORTED_PROTOCOL (int)
CURLE_FAILED_INIT (int)
CURLE_URL_MALFORMAT (int)
CURLE_URL_MALFORMAT_USER (int)
CURLE_COULDNT_RESOLVE_PROXY (int)
CURLE_COULDNT_RESOLVE_HOST (int)
CURLE_COULDNT_CONNECT (int)
CURLE_FTP_WEIRD_SERVER_REPLY (int)
CURLE_FTP_ACCESS_DENIED (int)
CURLE_FTP_USER_PASSWORD_INCORRECT (int)
CURLE_FTP_WEIRD_PASS_REPLY (int)
CURLE_FTP_WEIRD_USER_REPLY (int)
CURLE_FTP_WEIRD_PASV_REPLY (int)
CURLE_FTP_WEIRD_227_FORMAT (int)
CURLE_FTP_CANT_GET_HOST (int)
CURLE_FTP_CANT_RECONNECT (int)
CURLE_FTP_COULDNT_SET_BINARY (int)
CURLE_PARTIAL_FILE (int)
CURLE_PROXY (int)
PHP 8.2.0 ve cURL 7.73.0 itibariyle kullanılabilir.
CURLE_FTP_COULDNT_RETR_FILE (int)
CURLE_FTP_WRITE_ERROR (int)
CURLE_FTP_QUOTE_ERROR (int)
CURLE_HTTP_NOT_FOUND (int)
CURLE_WRITE_ERROR (int)
CURLE_MALFORMAT_USER (int)
CURLE_FTP_COULDNT_STOR_FILE (int)
CURLE_READ_ERROR (int)
CURLE_OUT_OF_MEMORY (int)
CURLE_OPERATION_TIMEOUTED (int)
CURLE_FTP_COULDNT_SET_ASCII (int)
CURLE_FTP_PORT_FAILED (int)
CURLE_FTP_COULDNT_USE_REST (int)
CURLE_FTP_COULDNT_GET_SIZE (int)
CURLE_HTTP_RANGE_ERROR (int)
CURLE_HTTP_POST_ERROR (int)
CURLE_SSL_CONNECT_ERROR (int)
CURLE_FTP_BAD_DOWNLOAD_RESUME (int)
CURLE_FILE_COULDNT_READ_FILE (int)
CURLE_LDAP_CANNOT_BIND (int)
CURLE_LDAP_SEARCH_FAILED (int)
CURLE_LIBRARY_NOT_FOUND (int)
CURLE_FUNCTION_NOT_FOUND (int)
CURLE_ABORTED_BY_CALLBACK (int)
CURLE_BAD_FUNCTION_ARGUMENT (int)
CURLE_BAD_CALLING_ORDER (int)
CURLE_HTTP_PORT_FAILED (int)
CURLE_BAD_PASSWORD_ENTERED (int)
CURLE_TOO_MANY_REDIRECTS (int)
CURLE_UNKNOWN_TELNET_OPTION (int)
CURLE_TELNET_OPTION_SYNTAX (int)
CURLE_OBSOLETE (int)
CURLE_SSL_PEER_CERTIFICATE (int)
CURLE_GOT_NOTHING (int)
CURLE_SSL_ENGINE_NOTFOUND (int)
CURLE_SSL_ENGINE_SETFAILED (int)
CURLE_SEND_ERROR (int)
CURLE_RECV_ERROR (int)
CURLE_SHARE_IN_USE (int)
CURLE_SSL_CERTPROBLEM (int)
CURLE_SSL_CIPHER (int)
CURLE_SSL_CACERT (int)
CURLE_BAD_CONTENT_ENCODING (int)
CURLE_LDAP_INVALID_URL (int)
CURLE_FILESIZE_EXCEEDED (int)
CURLE_FTP_SSL_FAILED (int)
CURLE_SSH (int)
cURL 7.16.1 itibariyle kullanılabilir.
CURLFTPAUTH_DEFAULT (int)
CURLFTPAUTH_SSL (int)
CURLFTPAUTH_TLS (int)
CURLPROXY_HTTP (int)
cURL 7.10 itibariyle kullanılabilir.
CURLPROXY_HTTP_1_0 (int)
PHP 7.0.7 ve cURL 7.19.3 itibariyle kullanılabilir.
CURLPROXY_SOCKS4 (int)
cURL 7.10 itibariyle kullanılabilir.
CURLPROXY_SOCKS5 (int)
cURL 7.10 itibariyle kullanılabilir.
CURL_NETRC_OPTIONAL (int)
CURL_NETRC_IGNORED (int)
CURL_NETRC_REQUIRED (int)
CURL_HTTP_VERSION_NONE (int)
CURL_HTTP_VERSION_1_0 (int)
CURL_HTTP_VERSION_1_1 (int)
CURL_HTTP_VERSION_2 (int)
PHP 7.0.7 ve cURL 7.43.0 itibariyle kullanılabilir.
CURL_HTTP_VERSION_2_0 (int)
cURL 7.33.0 itibariyle kullanılabilir.
CURL_HTTP_VERSION_2TLS (int)
PHP 7.0.7 ve cURL 7.47.0 itibariyle kullanılabilir.
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (int)
PHP 7.0.7 ve cURL 7.49.0 itibariyle kullanılabilir.
CURLM_CALL_MULTI_PERFORM (int)
CURLM_OK (int)
CURLM_BAD_HANDLE (int)
CURLM_BAD_EASY_HANDLE (int)
CURLM_OUT_OF_MEMORY (int)
CURLM_INTERNAL_ERROR (int)
CURLMSG_DONE (int)
CURLOPT_KEYPASSWD (int)
CURLOPT_SSH_AUTH_TYPES (int)
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 (int)
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (int)
PHP 8.2.0 ve cURL 7.80.0 itibariyle kullanılabilir.
CURLOPT_SSH_PRIVATE_KEYFILE (int)
CURLOPT_SSH_PUBLIC_KEYFILE (int)
CURLOPT_SSL_OPTIONS (int)
cURL 7.25.0 itibariyle kullanılabilir.
CURLSSLOPT_ALLOW_BEAST (int)
cURL 7.25.0 itibariyle kullanılabilir.
CURLSSLOPT_NO_REVOKE (int)
PHP 7.0.7 ve cURL 7.44.0 itibariyle kullanılabilir.
CURLSSLOPT_AUTO_CLIENT_CERT (int)
PHP 8.2.0 ve cURL 7.77.0 itibariyle kullanılabilir.
CURLSSLOPT_NATIVE_CA (int)
PHP 8.2.0 ve cURL 7.71.0 itibariyle kullanılabilir.
CURLSSLOPT_NO_PARTIALCHAIN (int)
PHP 8.2.0 ve cURL 7.68.0 itibariyle kullanılabilir.
CURLSSLOPT_REVOKE_BEST_EFFORT (int)
PHP 8.2.0 ve cURL 7.70.0 itibariyle kullanılabilir.
CURLOPT_USERNAME (int)
cURL 7.19.1 itibariyle kullanılabilir.
CURLOPT_SASL_AUTHZID (int)
PHP 8.2.0 ve cURL 7.66.0 itibariyle kullanılabilir.
CURLOPT_SASL_IR (int)
PHP 7.0.7 ve cURL 7.31.0 itibariyle kullanılabilir.
CURLOPT_DNS_INTERFACE (int)
PHP 7.0.7 ve cURL 7.33.0 itibariyle kullanılabilir.
CURLOPT_DNS_LOCAL_IP4 (int)
PHP 7.0.7 ve cURL 7.33.0 itibariyle kullanılabilir.
CURLOPT_DNS_LOCAL_IP6 (int)
PHP 7.0.7 ve cURL 7.33.0 itibariyle kullanılabilir.
CURLOPT_XOAUTH2_BEARER (int)
PHP 7.0.7 ve cURL 7.33.0 itibariyle kullanılabilir.
CURLOPT_LOGIN_OPTIONS (int)
Available since PHP 7.0.7 ve cURL 7.34.0
CURLOPT_EXPECT_100_TIMEOUT_MS (int)
PHP 7.0.7 ve cURL 7.36.0 itibariyle kullanılabilir.
CURLOPT_SSL_ENABLE_ALPN (int)
PHP 7.0.7 ve cURL 7.36.0 itibariyle kullanılabilir.
CURLOPT_SSL_ENABLE_NPN (int)
PHP 7.0.7 ve cURL 7.36.0 itibariyle kullanılabilir.
CURLOPT_PINNEDPUBLICKEY (int)
PHP 7.0.7 ve cURL 7.39.0 itibariyle kullanılabilir.
CURLOPT_UNIX_SOCKET_PATH (int)
PHP 7.0.7 ve cURL 7.40.0 itibariyle kullanılabilir.
CURLOPT_SSL_VERIFYSTATUS (int)
PHP 7.0.7 ve cURL 7.41.0 itibariyle kullanılabilir.
CURLOPT_PATH_AS_IS (int)
PHP 7.0.7 ve cURL 7.42.0 itibariyle kullanılabilir.
CURLOPT_SSL_FALSESTART (int)
PHP 7.0.7 ve cURL 7.42.0 itibariyle kullanılabilir.
CURLOPT_PIPEWAIT (int)
PHP 7.0.7 ve cURL 7.43.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SERVICE_NAME (int)
PHP 7.0.7 ve cURL 7.43.0 itibariyle kullanılabilir.
CURLOPT_SERVICE_NAME (int)
PHP 7.0.7 ve cURL 7.43.0 itibariyle kullanılabilir.
CURLOPT_DEFAULT_PROTOCOL (int)
PHP 7.0.7 ve cURL 7.45.0 itibariyle kullanılabilir.
CURLOPT_STREAM_WEIGHT (int)
PHP 7.0.7 ve cURL 7.46.0 itibariyle kullanılabilir.
CURLOPT_TFTP_NO_OPTIONS (int)
PHP 7.0.7 ve cURL 7.48.0 itibariyle kullanılabilir.
CURLOPT_CONNECT_TO (int)
PHP 7.0.7 ve cURL 7.49.0 itibariyle kullanılabilir.
CURLOPT_TCP_FASTOPEN (int)
PHP 7.0.7 ve cURL 7.49.0 itibariyle kullanılabilir.
CURLOPT_TCP_KEEPALIVE (int)
cURL 7.25.0 itibariyle kullanılabilir.
CURLOPT_TCP_KEEPIDLE (int)
cURL 7.25.0 itibariyle kullanılabilir.
CURLOPT_TCP_KEEPINTVL (int)
cURL 7.25.0 itibariyle kullanılabilir.
CURLMOPT_PIPELINING (int)
cURL 7.16.0 itibariyle kullanılabilir.
CURLMOPT_MAXCONNECTS (int)
cURL 7.16.3 itibariyle kullanılabilir.
CURLMOPT_MAX_CONCURRENT_STREAMS (int)
PHP 8.2.0 ve cURL 7.67.0 itibariyle kullanılabilir.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE (int)
PHP 7.0.7 ve cURL 7.30.0 itibariyle kullanılabilir.
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE (int)
PHP 7.0.7 ve cURL 7.30.0 itibariyle kullanılabilir.
CURLMOPT_MAX_HOST_CONNECTIONS (int)
PHP 7.0.7 ve cURL 7.30.0 itibariyle kullanılabilir.
CURLMOPT_MAX_PIPELINE_LENGTH (int)
PHP 7.0.7 ve cURL 7.30.0 itibariyle kullanılabilir.
CURLMOPT_MAX_TOTAL_CONNECTIONS (int)
PHP 7.0.7 ve cURL 7.30.0 itibariyle kullanılabilir.
CURLMOPT_PUSHFUNCTION (int)
PHP 7.1.0 ve cURL 7.44.0 itibariyle kullanılabilir.
CURLSSH_AUTH_AGENT (int)
PHP 7.0.7 ve cURL 7.28.0 itibariyle kullanılabilir.
CURLSSH_AUTH_ANY (int)
CURLSSH_AUTH_DEFAULT (int)
CURLSSH_AUTH_HOST (int)
CURLSSH_AUTH_KEYBOARD (int)
CURLSSH_AUTH_NONE (int)
CURLSSH_AUTH_PASSWORD (int)
CURLSSH_AUTH_PUBLICKEY (int)
CURLPAUSE_ALL (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPAUSE_CONT (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPAUSE_RECV (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPAUSE_RECV_CONT (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPAUSE_SEND (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPAUSE_SEND_CONT (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPIPE_NOTHING (int)
cURL 7.43.0 itibariyle kullanılabilir.
CURLPIPE_HTTP1 (int)
cURL 7.43.0 itibariyle kullanılabilir.
CURLPIPE_MULTIPLEX (int)
cURL 7.43.0 itibariyle kullanılabilir.
CURLPROXY_SOCKS4A (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLPROXY_SOCKS5_HOSTNAME (int)
cURL 7.18.0 itibariyle kullanılabilir.
CURLHEADER_SEPARATE (int)
PHP 7.0.7 ve cURL 7.37.0 itibariyle kullanılabilir.
CURLHEADER_UNIFIED (int)
PHP 7.0.7 ve cURL 7.37.0 itibariyle kullanılabilir.
CURLPROTO_SMB (int)
PHP 7.0.7 ve cURL 7.40.0 itibariyle kullanılabilir..
CURLPROTO_SMBS (int)
PHP 7.0.7 ve cURL 7.40.0 itibariyle kullanılabilir..
CURLPROTO_MQTT (int)
PHP 8.2.0 ve cURL 7.71.0 itibariyle kullanılabilir..
CURLOPT_REQUEST_TARGET (int)
PHP 7.3.0 ve cURL 7.55.0 itibariyle kullanılabilir.
CURLAUTH_GSSAPI (int)
PHP 7.3.0 ve cURL 7.54.1 itibariyle kullanılabilir.
CURLE_WEIRD_SERVER_REPLY (int)
PHP 7.3.0 ve cURL 7.51.0 itibariyle kullanılabilir.
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T (int)
PHP 7.3.0 ve cURL 7.55.0 itibariyle kullanılabilir.
CURLINFO_CONTENT_LENGTH_UPLOAD_T (int)
PHP 7.3.0 ve cURL 7.55.0 itibariyle kullanılabilir.
CURLINFO_HTTP_VERSION (int)
PHP 7.3.0 ve cURL 7.50.0 itibariyle kullanılabilir.
CURLINFO_PROTOCOL (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLINFO_PROXY_SSL_VERIFYRESULT (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLINFO_SCHEME (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLINFO_SIZE_DOWNLOAD_T (int)
PHP 7.3.0 ve cURL 7.50.0 itibariyle kullanılabilir.
CURLINFO_SIZE_UPLOAD_T (int)
PHP 7.3.0 ve cURL 7.50.0 itibariyle kullanılabilir.
CURLINFO_SPEED_DOWNLOAD_T (int)
PHP 7.3.0 ve cURL 7.50.0 itibariyle kullanılabilir.
CURLINFO_SPEED_UPLOAD_T (int)
PHP 7.3.0 ve cURL 7.50.0 itibariyle kullanılabilir.
CURL_MAX_READ_SIZE (int)
PHP 7.3.0 ve cURL 7.53.0 itibariyle kullanılabilir.
CURLOPT_ABSTRACT_UNIX_SOCKET (int)
PHP 7.3.0 ve cURL 7.53.0 itibariyle kullanılabilir.
CURLOPT_KEEP_SENDING_ON_ERROR (int)
PHP 7.3.0 ve cURL 7.51.0 itibariyle kullanılabilir.
CURLOPT_PRE_PROXY (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_CAINFO (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_CAINFO_BLOB (int)
PHP 8.2.0 ve cURL 7.77.0 itibariyle kullanılabilir.
CURLOPT_PROXY_CAPATH (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_CRLFILE (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_KEYPASSWD (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_PINNEDPUBLICKEY (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLCERT (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLCERTTYPE (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSL_CIPHER_LIST (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLKEY (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLKEYTYPE (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSL_OPTIONS (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSL_VERIFYHOST (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSL_VERIFYPEER (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_SSLVERSION (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_TLSAUTH_PASSWORD (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_TLSAUTH_TYPE (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_PROXY_TLSAUTH_USERNAME (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLOPT_SOCKS5_AUTH (int)
PHP 7.3.0 ve cURL 7.55.0 itibariyle kullanılabilir.
CURLOPT_SUPPRESS_CONNECT_HEADERS (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURLPROXY_HTTPS (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_DEFAULT (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_NONE (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_TLSv1_0 (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_TLSv1_1 (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_TLSv1_2 (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_MAX_TLSv1_3 (int)
PHP 7.3.0 ve cURL 7.54.0 itibariyle kullanılabilir.
CURL_SSLVERSION_TLSv1_3 (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURL_VERSION_HTTPS_PROXY (int)
PHP 7.3.0 ve cURL 7.52.0 itibariyle kullanılabilir.
CURLAUTH_BEARER (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir..
CURLINFO_APPCONNECT_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_CONNECT_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_FILETIME_T (int)
PHP 7.3.0 ve cURL 7.59.0 itibariyle kullanılabilir.
CURLINFO_NAMELOOKUP_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_PRETRANSFER_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_REDIRECT_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_STARTTRANSFER_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLINFO_TOTAL_TIME_T (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURL_LOCK_DATA_CONNECT (int)
PHP 7.3.0 ve cURL 7.10.0 itibariyle kullanılabilir.
CURL_LOCK_DATA_PSL (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLOPT_DISALLOW_USERNAME_IN_URL (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLOPT_DNS_SHUFFLE_ADDRESSES (int)
PHP 7.3.0 ve cURL 7.60.0 itibariyle kullanılabilir.
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS (int)
PHP 7.3.0 ve cURL 7.59.0 itibariyle kullanılabilir.
CURLOPT_HAPROXYPROTOCOL (int)
PHP 7.3.0 ve cURL 7.60.0 itibariyle kullanılabilir.
CURLOPT_PROXY_TLS13_CIPHERS (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLOPT_SSH_COMPRESSION (int)
PHP 7.3.0 ve cURL 7.56.0 itibariyle kullanılabilir.
CURLOPT_TIMEVALUE_LARGE (int)
PHP 7.3.0 ve cURL 7.59.0 itibariyle kullanılabilir.
CURLOPT_TLS13_CIPHERS (int)
PHP 7.3.0 ve cURL 7.61.0 itibariyle kullanılabilir.
CURLSSH_AUTH_GSSAPI (int)
PHP 7.3.0 ve cURL 7.58.0 itibariyle kullanılabilir.
CURLOPT_HTTP09_ALLOWED (int)
cURL 7.64.0 ve sırayla PHP 7.3.15 ve 7.4.3 itibariyle kullanılabilir.


  • « Öntanımlı Sabitler
  • Temel bir curl örneği »
  • PHP Manual
  • cURL
  • Örnekler

Örnekler

İçindekiler

  • Temel bir curl örneği


Temel bir curl örneği

PHP, cURL desteğiyle derlenmişse cURL işlevleri kullanılabilir. cURL işlevlerinin kullanım amacı ve sırası, ana hatlarıyla, curl_init() işlevini kullanarak bir cURL oturumu başlatıp, aktarımın tüm seçeneklerini curl_setopt() ile belirledikten sonra oturumu curl_exec() ile çalıştırıp iş bitince curl_close() ile oturumu sonlandırmak şeklindedir. Burada, example.com ana sayfasını bir dosyaya aktarmak amacıyla cURL işlevlerinin kullanımı örneklenmiştir:

Örnek 1 - example.com ana sayfasını bir dosyaya aktarmak amacıyla cURL işlevlerinin kullanımı

<?php

$ch = curl_init("http://www.example.com/");
$fp = fopen("example_homepage.txt", "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
if(curl_error($ch)) {
fwrite($fp, curl_error($ch));
}
curl_close($ch);
fclose($fp);
?>


cURL İşlevleri

İçindekiler

  • curl_close — cURL oturumunu sonlandırır
  • curl_copy_handle — Bir cURL tanıtıcısını tüm tercihleriyle kopyalar
  • curl_errno — Belirtilen oturumdaki son hatanın kodunu döndürür
  • curl_error — Belirtilen oturumdaki son hatayı içeren bir dizge döndürür
  • curl_escape — Dizgeyi URL'de kullanım için kodlar
  • curl_exec — Bir cURL oturumunu işleme sokar
  • curl_getinfo — Belli bir oturum ile ilgili bilgi döndürür
  • curl_init — Bir cURL oturumunu ilklendirir
  • curl_multi_add_handle — Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler
  • curl_multi_close — Çoklu tanıtıcıyı kapatır
  • curl_multi_errno — Sonuncu çoklu curl hata numarasını döndürür
  • curl_multi_exec — Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır
  • curl_multi_getcontent — CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner
  • curl_multi_info_read — Geçerli oturum hakkında bilgi döndürür
  • curl_multi_init — Yeni bir çoklu cURL tanıtıcısı döndürür
  • curl_multi_remove_handle — Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler
  • curl_multi_select — Çoklu cURL bağlantısında bir etkinlik olsun diye bekler
  • curl_multi_setopt — cURL çoklu seçeneği tanımlar
  • curl_multi_strerror — Hata kodunun açıklamasını döndürür
  • curl_pause — Bağlantının bekleme durumunu değiştirir
  • curl_reset — libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar
  • curl_setopt_array — Belirtilen cURL oturumuna çok sayıda seçenek atar
  • curl_setopt — Bir cURL aktarım seçeneği tanımlar
  • curl_share_close — cURL paylaşımlı tanıtıcısını kapatır
  • curl_share_errno — Sonuncu paylaşımlı curl hata numarasını döndürür
  • curl_share_init — cURL paylaşımlı tanıtıcısını ilklendirir
  • curl_share_setopt — cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar
  • curl_share_strerror — Hata kodunun açıklamasını döndürür
  • curl_strerror — Hata kodunun açıklamasını döndürür
  • curl_unescape — URL kodlu dizgeyi çözümler
  • curl_upkeep — Performs any connection upkeep checks
  • curl_version — cURL sürüm bilgilerini döndürür


cURL oturumunu sonlandırır

  • « cURL İşlevleri
  • curl_copy_handle »
  • PHP Manual
  • cURL İşlevleri
  • cURL oturumunu sonlandırır

curl_close

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_close — cURL oturumunu sonlandırır

Açıklama

curl_close(CurlHandle $tanıtıcı): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

cURL oturumunu sonlandırır ve ayrılmış özkaynakları serbest bırakır. Ayrıca, cURL tanıtıcısı tanıtıcı silinir.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL tanıtıcısı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirleyelim
curl_setopt($ct, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ct, CURLOPT_HEADER, 0);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL tanıtıcısını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Ayrıca Bakınız

  • curl_init() - Bir cURL oturumunu ilklendirir
  • curl_multi_close() - Çoklu tanıtıcıyı kapatır


Bir cURL tanıtıcısını tüm tercihleriyle kopyalar

  • « curl_close
  • curl_errno »
  • PHP Manual
  • cURL İşlevleri
  • Bir cURL tanıtıcısını tüm tercihleriyle kopyalar

curl_copy_handle

(PHP 5, PHP 7, PHP 8)

curl_copy_handle — Bir cURL tanıtıcısını tüm tercihleriyle kopyalar

Açıklama

curl_copy_handle(CurlHandle $tanıtıcı): CurlHandle|false

Bir cURL tanıtıcısını tercihlerini koruyarak kopyalar.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Yeni bir cURL tanıtıcısı, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.
8.0.0 | Başarı durumunda bu işlev artık bir CurlHandle örneği döndürüyor, evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - Bir cURL tanıtıcısının kopyalanması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct, CURLOPT_URL, 'http://www.example.com/');
curl_setopt($ct, CURLOPT_HEADER, 0);

// tanıtıcıyı kopyalayalım
$ch2 = curl_copy_handle($ct);

// URL'yi tarayıcıya aktaralım
curl_exec($ct2);

// cURL özkaynaklarını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct2);
curl_close($ct);
?>


Belirtilen oturumdaki son hatanın kodunu döndürür

  • « curl_copy_handle
  • curl_error »
  • PHP Manual
  • cURL İşlevleri
  • Belirtilen oturumdaki son hatanın kodunu döndürür

curl_errno

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

curl_errno — Belirtilen oturumdaki son hatanın kodunu döndürür

Açıklama

curl_errno(CurlHandle $tanıtıcı): int

Belirtilen oturumdaki son hatanın numarasını döndürür.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Bir hata yoksa 0, varsa hatanın kodunu döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_errno() örneği

<?php
// Olmayan bir yer için bir cURL tanıtıcısı oluşturalım
$ct = curl_init('http://404.php.net/');
curl_setopt($ct, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ct) === false)
{
echo 'Curl hatası: ' . curl_error($ct);
}

// Tanıtıcıyı kapatalım
curl_close($ct);
?>

Ayrıca Bakınız

  • curl_error() - Belirtilen oturumdaki son hatayı içeren bir dizge döndürür
  • » Curl hata kodları


Belirtilen oturumdaki son hatayı içeren bir dizge döndürür

  • « curl_errno
  • curl_escape »
  • PHP Manual
  • cURL İşlevleri
  • Belirtilen oturumdaki son hatayı içeren bir dizge döndürür

curl_error

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

curl_error — Belirtilen oturumdaki son hatayı içeren bir dizge döndürür

Açıklama

curl_error(CurlHandle $tanıtıcı): string

Belirtilen oturumdaki son hataya ilişkin bir dizge döndürür.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Bir hata yoksa boş bir dizge, bir hata varsa hata dizgesini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_error() örneği

<?php
// Olmayan bir yer için bir cURL tanıtıcısı oluşturalım
$ct = curl_init('http://404.php.net/');
curl_setopt($ct, CURLOPT_RETURNTRANSFER, true);

if(curl_exec($ct) === false)
{
echo 'Curl hatası: ' . curl_error($ct);
}
else
{
echo 'İşlem hatasız tamamlandı';
}

// Tanıtıcıyı kapatalım
curl_close($ct);
?>

Ayrıca Bakınız

  • curl_errno() - Belirtilen oturumdaki son hatanın kodunu döndürür
  • » Curl hata kodları


Dizgeyi URL'de kullanım için kodlar

  • « curl_error
  • curl_exec »
  • PHP Manual
  • cURL İşlevleri
  • Dizgeyi URL'de kullanım için kodlar

curl_escape

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_escape — Dizgeyi URL'de kullanım için kodlar

Açıklama

curl_escape(CurlHandle $tanıtıcı, string $dizge): string|false

» RFC 3986'ya uygun olarak belirtilen dizgeyi URL'de kullanım için kodlar.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

dizge

Kodlanacak dizge.

Dönen Değerler

Öncelenmiş dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_escape() örneği

<?php
// curl tantıcısı
$ch = curl_init();

// GET bağımsız değişkeni olarak kullanılacak dizgeyi öncele
$location = curl_escape($ch, 'Hofbräuhaus / München');
// Sonuç: Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// URL'yi öncelenmiş dizgeyle oluştur
$url = "http://example.com/add_location.php?location={$location}";
// Sonuç: http://example.com/add_location.php?location=Hofbr%C3%A4uhaus%20%2F%20M%C3%BCnchen

// HTTP isteğini gönder ve tanıtıcıyı kapat
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
?>

Ayrıca Bakınız

  • curl_unescape() - URL kodlu dizgeyi çözümler
  • urlencode() - Dizgeye URL kodlaması uygular
  • rawurlencode() - RFC 3986'ya uygun URL kodlaması yapar
  • » RFC 3986


Bir cURL oturumunu işleme sokar

  • « curl_escape
  • curl_getinfo »
  • PHP Manual
  • cURL İşlevleri
  • Bir cURL oturumunu işleme sokar

curl_exec

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_exec — Bir cURL oturumunu işleme sokar

Açıklama

curl_exec(CurlHandle $tanıtıcı): string|bool

Belirtilen cURL oturumunu işleme sokar.

Bu işlev cURL oturumu ilklendirildikten ve oturumun tüm seçenekleri belirlendikten sonra çağrılmalıdır.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Ancak, CURLOPT_RETURNTRANSFER seçeneği atanmışsa , başarı durumunda sonucu yoksa false döndürür.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Bilginize:

Hataları gösteren yanıt durum kodları (404 Not found gibi) başarısızlık olarak kabul edilmez. Bunlara curl_getinfo() ile bakılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL özkaynağını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Ayrıca Bakınız

  • curl_multi_exec() - Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır


Belli bir oturum ile ilgili bilgi döndürür

  • « curl_exec
  • curl_init »
  • PHP Manual
  • cURL İşlevleri
  • Belli bir oturum ile ilgili bilgi döndürür

curl_getinfo

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

curl_getinfo — Belli bir oturum ile ilgili bilgi döndürür

Açıklama

curl_getinfo(CurlHandle $tanıtıcı, ?int $seçenek = null): mixed

Belirtilen tanıtıcı ile ilgili son aktarım hakkında bilgi verir.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

seçenek

Şu sabitlerden biri olabilir:

  • CURLINFO_EFFECTIVE_URL - Etkin son URL.
  • CURLINFO_HTTP_CODE - Alınan son yanıt kodu. cURL 7.10.8 itibariyle, bu sabit CURLINFO_RESPONSE_CODE sabitinin takma adıdır.
  • CURLINFO_FILETIME - CURLOPT_FILETIME etkinken belgenin karşıdan alınma süresi; -1 ise süre bilinmiyor demektir.
  • CURLINFO_TOTAL_TIME - Saniye cinsinden son aktarımın toplam süresi.
  • CURLINFO_NAMELOOKUP_TIME - Saniye cinsinden isim çözümlenene kadar geçen süre.
  • CURLINFO_CONNECT_TIME - Saniye cinsinden bağlantı kurulana kadar geçen süre.
  • CURLINFO_PRETRANSFER_TIME - Saniye cinsinden başlangıçtan aktarım başlayana kadar geçen süre.
  • CURLINFO_STARTTRANSFER_TIME - Saniye cinsinden ilk bayt aktarılana kadar geçen süre.
  • CURLINFO_REDIRECT_COUNT - CURLOPT_FOLLOWLOCATION etkinken, yönlendirme sayısı.
  • CURLINFO_REDIRECT_TIME - CURLOPT_FOLLOWLOCATION etkinken, saniye cinsinden son aktarım başlayana kadar tüm yönlendirme adımlarının süresi.
  • CURLINFO_REDIRECT_URL - CURLOPT_FOLLOWLOCATION etkin değilken: son aktarımda bulunan yönlendirme URL'si; sonradan elle istenmesi gerekir. CURLOPT_FOLLOWLOCATION etkinken: bu boştur. Bu durumda yönlendirme URL'si CURLINFO_EFFECTIVE_URL'de bulunur.
  • CURLINFO_PRIMARY_IP - En son bağlanının IP adresi.
  • CURLINFO_PRIMARY_PORT - En son bağlanının hedef portu.
  • CURLINFO_LOCAL_IP - En son bağlanının yerel (kaynak) IP adresi.
  • CURLINFO_LOCAL_PORT - En son bağlanının yerel (kaynak) portu.
  • CURLINFO_SIZE_UPLOAD - Karşıya yüklenen toplam bayt sayısı.
  • CURLINFO_SIZE_DOWNLOAD - İndirilen toplam bayt sayısı.
  • CURLINFO_SPEED_DOWNLOAD - Ortalama indirme hızı.
  • CURLINFO_SPEED_UPLOAD - Ortalama karşıya yükleme hızı.
  • CURLINFO_HEADER_SIZE - Alınan tüm başlıkların toplam boyutu.
  • CURLINFO_HEADER_OUT - Gönderilen istek dizgesi. Bunun çalışması için, curl_setopt() çağrılarak tanıtıcıya CURLINFO_HEADER_OUT seçeneği eklenmelidir.
  • CURLINFO_REFERER - Yönlendiren başlığı
  • CURLINFO_REQUEST_SIZE - Toplam istek boyutu; şimdilik sadece HTTP istekleri için.
  • CURLINFO_RETRY_AFTER - Retry-After: başlığındaki bilgi veya geçerli başlık yoksa sıfır.
  • CURLINFO_SSL_VERIFYRESULT - CURLOPT_SSL_VERIFYPEER atanarak istenen SSL sertifikalarının doğrulanmasının sonucu.
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - Content-Length: başlığından okunan indirilen içerik uzunluğu.
  • CURLINFO_CONTENT_LENGTH_UPLOAD - Belirtilen karşıya yükleme boyutu.
  • CURLINFO_CONTENT_TYPE - İstenenbelgenin Content-Type: başlığının değeri; null değeri sunucunun geçerli bir Content-Type: başlığı göndermediği anlamına gelir.
  • CURLINFO_PRIVATE - curl_setopt() işlevinin CURLOPT_PRIVATE seçeneği ile evvelce atanmış, bu cURL tanıtıcısı ile ilişkili özel veri.
  • CURLINFO_PROXY_ERROR - Son aktarım CURLE_PROXY hatası döndürdüğünde ayrıntılı (SOCKS) vekil hata kodu. Dönen değer tam olarak CURLPX_* değerlerinden biri olacaktır. Hiçbir yanıt kodu yoksa hata kodu CURLPX_OK olur.
  • CURLINFO_RESPONSE_CODE - Son yanıt kodu
  • CURLINFO_HTTP_CONNECTCODE - CONNECT yanıt kodu
  • CURLINFO_HTTPAUTH_AVAIL - önceki yanıta göre, kullanılabilen kimlik kanıtlama yöntemlerini gösteren bit maskesi.
  • CURLINFO_PROXYAUTH_AVAIL - Önceki yanıta göre kullanılabilen vekil kimlik kanıtlama yöntemlerini gösteren bit maskesi.
  • CURLINFO_OS_ERRNO - Bir bağlantı hatasındaki hata numarası. Numara, işletim sistemine ve sisteme özeldir.
  • CURLINFO_NUM_CONNECTS - Önceki aktarımı gerçekleştirmek için curl tarafından oluşturulması gereken bağlantı sayısı.
  • CURLINFO_SSL_ENGINES - OpenSSL kripto motorları desteklenir.
  • CURLINFO_COOKIELIST - Bilinen tüm çerezler
  • CURLINFO_FTP_ENTRY_PATH - FTP sunucusundaki girdi yolu.
  • CURLINFO_APPCONNECT_TIME - Uzak konağa SSL/SSH bağlantısı/anlaşması tamamlanana kadar başlangıçtan itibaren geçen saniye cinsinden süre
  • CURLINFO_CERTINFO - TLS sertifika zinciri
  • CURLINFO_CONDITION_UNMET - Karşılanmayan süre koşulu hakkında bilgi.
  • CURLINFO_RTSP_CLIENT_CSEQ - Sonraki RTSP istemci CSeq
  • CURLINFO_RTSP_CSEQ_RECV - Son alınan CSeq
  • CURLINFO_RTSP_SERVER_CSEQ - Sonraki RTSP sunucu CSeq
  • CURLINFO_RTSP_SESSION_ID - RTSP oturum kimiliği
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD_T - İndirmenin içerik uzunluğu. Bu değer, Content-Length: başlığından okunur. Boyut bilinmiyorsa -1
  • CURLINFO_CONTENT_LENGTH_UPLOAD_T - Yüklemenin belirtilen boyutu. Boyut bilinmiyorsa -1
  • CURLINFO_HTTP_VERSION - Son HTTP bağlantısında kullanılan sürüm. Dönüş değeri, tanımlı CURL_HTTP_VERSION_* sabitlerinden biri veya sürüm belirlenemiyorsa 0 olacaktır
  • CURLINFO_PROTOCOL - Son HTTP bağlantısında kullanılan protokol. Döndürülen değer kesin olarak CURLPROTO_* değerlerinden biri olacaktır.
  • CURLINFO_PROXY_SSL_VERIFYRESULT - İstenen sertifika doğrulamasının sonucu (CURLOPT_PROXY_SSL_VERIFYPEER seçeneği kullanılarak). Yalnızca HTTPS vekilleri için kullanılır.
  • CURLINFO_SCHEME - En son bağlantıda kullanılan URL şeması
  • CURLINFO_SIZE_DOWNLOAD_T - İndirilen toplam bayt sayısı. Sayı yalnızca en son aktarım içindir ve her yeni aktarım için sıfırlanır.
  • CURLINFO_SIZE_UPLOAD_T - Yüklenen toplam bayt sayısı
  • CURLINFO_SPEED_DOWNLOAD_T - Tam indirme için curl'un ölçtüğü bayt/saniye cinsinden ortalama indirme hızı.
  • CURLINFO_SPEED_UPLOAD_T - Tam yükleme için curl'un ölçtüğü bayt/saniye cinsinden ortalama yükleme hızı.
  • CURLINFO_APPCONNECT_TIME_T - Başlangıçtan uzak konağa SSL/SSH bağlantısı/anlaşması tamamlanana kadar geçen mikrosaniye cinsinden süre.
  • CURLINFO_CONNECT_TIME_T - Uzak konağa (veya vekile) bağlantı tamamlanana kadar başlangıştan itibaren geçen mikrosaniye cinsinden toplam süre.
  • CURLINFO_FILETIME_T - Alınan belgenin uzaktan alınma zamanı (Unix zaman damgası olarak), 32 bitlik sistemlerin 32 bit zaman damgası aralığı dışındaki tarihleri ayıklamasını sağlamak için bir CURLINFO_FILETIME seçeneği.
  • CURLINFO_NAMELOOKUP_TIME_T - İsim çözümlemesi tamamlanana kadar başlangıçtan itibaren geçen milisaniye cinsinden süre.
  • CURLINFO_PRETRANSFER_TIME_T - Dosya aktarımı başlayana kadar başlangıçtan itibaren geçen milisaniye cinsinden süre.
  • CURLINFO_REDIRECT_TIME_T - Mikrosaniye cinsinden tüm yönlendirme adımları için geçen toplam süre, son işlem başlamadan önce ad arama, bağlanma, ön aktarımı ve aktarımı içerir.
  • CURLINFO_STARTTRANSFER_TIME_T - Başlangıçtan ilk bayt alınıncaya kadar geçen milisaniye cinsinden süre.
  • CURLINFO_TOTAL_TIME_T - Ad çözümleme, TCP bağlantısı vb. dahil olmak üzere önceki aktarım için mikrosaniye cinsinden toplam süre.

Dönen Değerler

seçenek belirtilirse, seçeneğin değeri bir dizge olarak döndürülür. Aksi takdirde aşağıdaki elemanları içeren bir dizi veya başarısızlık durumunda false döner:

  • "url"
  • "content_type"
  • "http_code"
  • "header_size"
  • "request_size"
  • "filetime"
  • "ssl_verify_result"
  • "redirect_count"
  • "total_time"
  • "namelookup_time"
  • "connect_time"
  • "pretransfer_time"
  • "size_upload"
  • "size_download"
  • "speed_download"
  • "speed_upload"
  • "download_content_length"
  • "upload_content_length"
  • "starttransfer_time"
  • "redirect_time"
  • "certinfo"
  • "primary_ip"
  • "primary_port"
  • "local_ip"
  • "local_port"
  • "redirect_url"
  • "request_header" (This is only set if the CURLINFO_HEADER_OUT is set by a previous call to curl_setopt())
Özel veriler ilişkisel diziye dahil olmadığı ve CURLINFO_PRIVATE seçeneğiyle tek tek alınması gerektiği unutulmamalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | CURLINFO_PROXY_ERROR, CURLINFO_REFERER, CURLINFO_RETRY_AFTER tanımlandı.
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.
8.0.0 | seçenek artık null olabiliyor; evvelce 0 öntanımlı değerdi.
7.3.0 | CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CURLINFO_CONTENT_LENGTH_UPLOAD_T, CURLINFO_HTTP_VERSION, CURLINFO_PROTOCOL, CURLINFO_PROXY_SSL_VERIFYRESULT, CURLINFO_SCHEME, CURLINFO_SIZE_DOWNLOAD_T, CURLINFO_SIZE_UPLOAD_T, CURLINFO_SPEED_DOWNLOAD_T, CURLINFO_SPEED_UPLOAD_T, CURLINFO_APPCONNECT_TIME_T, CURLINFO_CONNECT_TIME_T, CURLINFO_FILETIME_T, CURLINFO_NAMELOOKUP_TIME_T, CURLINFO_PRETRANSFER_TIME_T, CURLINFO_REDIRECT_TIME_T, CURLINFO_STARTTRANSFER_TIME_T, CURLINFO_TOTAL_TIME_T devreye girdi.

Örnekler

Örnek 1 - curl_getinfo() örneği

<?php
// Yeni bir tanıtıcı oluşturalım
$ch = curl_init('http://www.example.com/');

// Çalıştıralım
curl_exec($ch);

// Bir hata var mı bakalım
if(!curl_errno($ch)) {
$info = curl_getinfo($ch);
echo 'İsteğin' . $info['url'] . ' adresine gönderilmesi ' .
$info['total_time'] . ' saniye sürdü';
}

// Tanıtıcıyı kapatalım
curl_close($ch);
?>

Örnek 2 - seçenek bağımsız değişkenli curl_getinfo() örneği

<?php
// Bir cURL tanıtıcısı oluştur
$ch = curl_init('http://www.example.com/');

// Çalıştır
curl_exec($ch);

// HTTP durum koduna bak
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
break;
default:
echo 'Beklenmedik HTTP kodu: ', $http_code, "\n";
}
}
curl_close($ch);
?>

Notlar

Bilginize:

Tanıtıcı yeniden kullanılırsa işlev tarafından toplanan veri tutulur. Yani, bir istatistik bu işlev tarafından dahili olarak geçersiz kılınmadıkça önceki bilgi döner.


Bir cURL oturumunu ilklendirir

  • « curl_getinfo
  • curl_multi_add_handle »
  • PHP Manual
  • cURL İşlevleri
  • Bir cURL oturumunu ilklendirir

curl_init

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_init — Bir cURL oturumunu ilklendirir

Açıklama

curl_init(?string $url = null): CurlHandle|false

Yeni bir oturumu ilklendirip curl_setopt(), curl_exec() ve curl_close() işlevleriyle kullanmak için bir cURL tanıtıcısı döndürür.

Bağımsız Değişkenler

url

Belirtilmişse, değer CURLOPT_URL seçeneğine atanır. Bu seçeneğe curl_setopt() işleviyle de değer atayabilirsiniz.

Bilginize:

open_basedir etkin kılınırsa file protokolü cURL tarafından iptal edilir.

Dönen Değerler

Başarı durumunda bir cURL tanıtıcısı yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda bu işlev artık bir CurlHandle örneği döndürüyor; evvelvce resource türünde bir değer dönerdi.
8.0.0 | url artık null olabiliyor.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ct, CURLOPT_HEADER, 0);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL özkaynağını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Ayrıca Bakınız

  • curl_close() - cURL oturumunu sonlandırır
  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür


Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler

  • « curl_init
  • curl_multi_close »
  • PHP Manual
  • cURL İşlevleri
  • Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler

curl_multi_add_handle

(PHP 5, PHP 7, PHP 8)

curl_multi_add_handle — Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler

Açıklama

curl_multi_add_handle(CurlMultiHandle $çoklu_tanıtıcı, CurlHandle $tanıtıcı): int

tanıtıcı tanıtıcısını çoklu_tanıtıcı tanıtıcısına ekler.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Başarı durumunda 0, hata oluşursa CURLM_XXX sabitlerinden biri döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_multi_add_handle() örneği

Bu örnekte iki cURL tanıtıcısı oluşturulmakta, bunlar çoklu tanıtıcıya eklenerek eşzamanlı çalıştırılmaktadır.

<?php
/// Tekil cURL özkaynaklarını oluşturalım
$ct1 = curl_init();
$ct2 = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);

// Çoklu cURL özkaynağını oluşturalım
$cct = curl_multi_init();

// Tekil tanıtıcıları çoklu tanıtıcıya ekleyelim
curl_multi_add_handle($cct,$ct1);
curl_multi_add_handle($cct,$ct2);

// çoklu tanıtıcı çalıştıralım
do {
$status = curl_multi_exec($cct, $active);
if ($active) {
curl_multi_select($cct);
}
} while ($active && $status == CURLM_OK);

// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_close($ct1);
curl_multi_remove_handle($cct, $ct2);
curl_close($ct2);
curl_multi_close($cct);
?>

Ayrıca Bakınız

  • curl_multi_remove_handle() - Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler
  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür
  • curl_init() - Bir cURL oturumunu ilklendirir


Çoklu tanıtıcıyı kapatır

  • « curl_multi_add_handle
  • curl_multi_errno »
  • PHP Manual
  • cURL İşlevleri
  • Çoklu tanıtıcıyı kapatır

curl_multi_close

(PHP 5, PHP 7, PHP 8)

curl_multi_close — Çoklu tanıtıcıyı kapatır

Açıklama

curl_multi_close(CurlMultiHandle $çoklu_tanıtıcı): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

Çoklu cURL tanıtıcısını kapatır.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_multi_close() örneği

Bu örnekte iki cURL tanıtıcısı oluşturulmakta, bunlar çoklu tanıtıcıya eklenerek eşzamanlı çalıştırılmaktadır.

<?php
/// Tekil cURL özkaynaklarını oluşturalım
$ct1 = curl_init();
$ct2 = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct1, CURLOPT_URL, "http://lxr.php.net/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);

// Çokul cURL özkaynağını oluşturalım
$cct = curl_multi_init();

// Tekil tanıtıcıları çoklu tanıtıcıya ekleyelim
curl_multi_add_handle($cct,$ct1);
curl_multi_add_handle($cct,$ct2);

// çoklu tanıtıcı çalıştıralım
do {
$status = curl_multi_exec($cct, $active);
if ($active) {
curl_multi_select($cct);
}
} while ($active && $status == CURLM_OK);

// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_close($ct1);
curl_multi_remove_handle($cct, $ct2);
curl_close($ct2);
curl_multi_close($cct);

?>

Ayrıca Bakınız

  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür
  • curl_close() - cURL oturumunu sonlandırır


Sonuncu çoklu curl hata numarasını döndürür

  • « curl_multi_close
  • curl_multi_exec »
  • PHP Manual
  • cURL İşlevleri
  • Sonuncu çoklu curl hata numarasını döndürür

curl_multi_errno

(PHP 7 >= 7.1.0, PHP 8)

curl_multi_errno — Sonuncu çoklu curl hata numarasını döndürür

Açıklama

curl_multi_errno(CurlMultiHandle $tanıtıcı): int

Sonuncu çoklu curl hata numarasını tamsayı olarak döndürür.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

Dönen Değerler

Sonuncu çoklu curl hata numarası bir tamsayı olarak döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarısızlık durumunda artık false dönmüyor.
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.

Ayrıca Bakınız

  • curl_errno() - Belirtilen oturumdaki son hatanın kodunu döndürür


Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır

  • « curl_multi_errno
  • curl_multi_getcontent »
  • PHP Manual
  • cURL İşlevleri
  • Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır

curl_multi_exec

(PHP 5, PHP 7, PHP 8)

curl_multi_exec — Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır

Açıklama

curl_multi_exec(CurlMultiHandle $çoklu_tanıtıcı, int &$hala_çalışıyor): int

Yığıttaki her tanıtıcıyı işleme sokar. Bir tanıtıcının okuma veya yazma ihtiyacı olsa da olmasa da bu yöntem çağrılabilir.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

hala_çalışıyor

İşlemin hala sürüp sürmediğini belirten bir seçeneğe gönderimdir.

Dönen Değerler

Bir cURL sabiti döner.

Bilginize:

Hatalar sadece çoklu tanıtıcı ile ilgilidir. Bu işlev CURLM_OK döndürse bile tekil oturumların bazılarında bazı sorunlar oluşmuş olabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_multi_exec() örneği

Bu örnekte iki cURL tanıtıcısı oluşturulmakta, bunlar çoklu tanıtıcıya eklenerek eşzamanlı çalıştırılmaktadır.

<?php
// Tekil cURL özkaynaklarını oluşturalım
$ct1 = curl_init();
$ct2 = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct1, CURLOPT_URL, "http://example.com/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);

// Çoklu cURL özkaynağını oluşturalım
$cct = curl_multi_init();

// Tekil tanıtıcıları çoklu tanıtıcıya ekleyelim
curl_multi_add_handle($cct,$ct1);
curl_multi_add_handle($cct,$ct2);

// çoklu tanıtıcı çalıştıralım
do {
$status = curl_multi_exec($cct, $active);
if ($active) {
//daha fazla etkinlik için kısa süre bekle
curl_multi_select($cct);
}
} while ($active && $status == CURLM_OK);

// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_close($ct1);
curl_multi_remove_handle($cct, $ct2);
curl_close($ct2);
curl_multi_close($cct);
?>

Ayrıca Bakınız

  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür
  • curl_multi_select() - Çoklu cURL bağlantısında bir etkinlik olsun diye bekler
  • curl_exec() - Bir cURL oturumunu işleme sokar


CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner

  • « curl_multi_exec
  • curl_multi_info_read »
  • PHP Manual
  • cURL İşlevleri
  • CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner

curl_multi_getcontent

(PHP 5, PHP 7, PHP 8)

curl_multi_getcontent — CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner

Açıklama

curl_multi_getcontent(CurlHandle $tanıtıcı): ?string

Belirtilen tanıtıcı için CURLOPT_RETURNTRANSFER seçeneği etkinse tanıtıcının içeriğini bir dizge olarak döndürür.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

cURL tanıtıcısının içeriği olarak, CURLOPT_RETURNTRANSFER tanımlıysa bir dizge, değilse null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Ayrıca Bakınız

  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür


Geçerli oturum hakkında bilgi döndürür

  • « curl_multi_getcontent
  • curl_multi_init »
  • PHP Manual
  • cURL İşlevleri
  • Geçerli oturum hakkında bilgi döndürür

curl_multi_info_read

(PHP 5, PHP 7, PHP 8)

curl_multi_info_read — Geçerli oturum hakkında bilgi döndürür

Açıklama

curl_multi_info_read(CurlMultiHandle $çoklu_tanıtıcı, int &$iletiler = null): array|false

Çoklu tanıtıcıyı aktarımlardan dönen bilgi veya iletiler bakımından sorgular. İletiler aktarımdaki veya aktarım tamamlandığı andaki bir hata kodu gibi bir bilgi içerebilir.

Bu işleve yapılan her yeni çağrı false dönmedikçe yeni bir sonuç döndürür. false alınacak bilgi kalmadığı anlamına gelir. iletiler bağımsız değişkeni işlev çağrısından sonra kalan iletilerin sayısını içerir.

Uyarı

Dönen özkaynağın gösterdiği veri curl_multi_remove_handle() çağrılıncaya kadar tutulur.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

iletiler

Kuyrukta bekleyen iletilerin sayısı.

Dönen Değerler

Başarı durumunda ileti için bir ilişkili dizi yoksa false döner.

Dönen dizinin içeriği
Anahtar: | Değer:
msg | CURLMSG_DONE sabiti. Diğer dönüş değerleri kullanılabilir değil.
result | CURLE_* sabitlerinden biri. Herşey tamamsa, sonuç CURLE_OKolur.
handle | Curl türünün özkaynağı, ilgili tanıtıcıyı gösterir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_multi_info_read() örneği

<?php

$urls = array(
"http://www.cnn.com/",
"http://www.bbc.co.uk/",
"http://www.yahoo.com/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
$conn[$i] = curl_init($url);
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
curl_multi_add_handle($mh, $conn[$i]);
}

do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
while (false !== ($info = curl_multi_info_read($mh))) {
var_dump($info);
}
} while ($active && $status == CURLM_OK);

foreach ($urls as $i => $url) {
$res[$i] = curl_multi_getcontent($conn[$i]);
curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

Ayrıca Bakınız

  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür


Yeni bir çoklu cURL tanıtıcısı döndürür

  • « curl_multi_info_read
  • curl_multi_remove_handle »
  • PHP Manual
  • cURL İşlevleri
  • Yeni bir çoklu cURL tanıtıcısı döndürür

curl_multi_init

(PHP 5, PHP 7, PHP 8)

curl_multi_init — Yeni bir çoklu cURL tanıtıcısı döndürür

Açıklama

curl_multi_init(): CurlMultiHandle

Çok sayıda cURL tanıtıcısının eşzamanlı işlem görmesini sağlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çoklu cURL tanıtıcısı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda bu işlev artık bir CurlMultiHandle örneği döndürüyor; evvelce, resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - curl_multi_init() örneği

Bu örnekte iki cURL tanıtıcısı oluşturulup bir çoklu tanıtıcıya eklenip bu ikisi eşzamanlı çalıştırılmaktadır.

<?php
// iki cURL özkaynağı oluşturalım
$ct1 = curl_init();
$ct2 = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ct1, CURLOPT_HEADER, 0);
curl_setopt($ct2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ct2, CURLOPT_HEADER, 0);

// çoklu cURL tanıtıcısını oluşturalım
$cct = curl_multi_init();

// iki tanıtıcıyı buna ekleyelim
curl_multi_add_handle($cct,$ct1);
curl_multi_add_handle($cct,$ct2);

// tanıtıcıları çalıştıralım
do {
$status = curl_multi_exec(cct, $active);
if ($active) {
curl_multi_select(cct);
}
} while ($active && $status == CURLM_OK);

// tanıtıcıları kapatalım
curl_multi_remove_handle($cct, $ct1);
curl_close($ct1);
curl_multi_remove_handle($cct, $ct2);
curl_close($ct2);
curl_multi_close($cct);

?>

Ayrıca Bakınız

  • curl_init() - Bir cURL oturumunu ilklendirir
  • curl_multi_close() - Çoklu tanıtıcıyı kapatır


Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler

  • « curl_multi_init
  • curl_multi_select »
  • PHP Manual
  • cURL İşlevleri
  • Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler

curl_multi_remove_handle

(PHP 5, PHP 7, PHP 8)

curl_multi_remove_handle — Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler

Açıklama

curl_multi_remove_handle(CurlMultiHandle $çoklu_tanıtıcı, CurlHandle $tanıtıcı): int

Belirtilen tanıtıcı tanıtıcısını çoklu_tanıtıcı tanıtıcısından siler. çoklu_tanıtıcı tanıtıcı silindikten sonra bile curl_exec() işlevinde kullanılabilir. Kullanımdaki bir tanıtıcının silinmesi sürmekte olan bu tatıtıcı ile ilgili aktarımların etkin olarak çökmesine sebep olur.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Başarı durumunda 0 yoksa CURLM_XXX tata kodlarından biri döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Ayrıca Bakınız

  • curl_init() - Bir cURL oturumunu ilklendirir
  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür
  • curl_multi_add_handle() - Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler


Çoklu cURL bağlantısında bir etkinlik olsun diye bekler

  • « curl_multi_remove_handle
  • curl_multi_setopt »
  • PHP Manual
  • cURL İşlevleri
  • Çoklu cURL bağlantısında bir etkinlik olsun diye bekler

curl_multi_select

(PHP 5, PHP 7, PHP 8)

curl_multi_select — Çoklu cURL bağlantısında bir etkinlik olsun diye bekler

Açıklama

curl_multi_select(CurlMultiHandle $coklu_tanıtıcı, float $zamanaşımı = 1.0): int

Çoklu cURL bağlantısında bir etkinlik olsun diye bekler.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

zamanaşımı

Yanıt için beklenecek azami süre.

Dönen Değerler

Başarı durumunda, tanıtıcı kümelerinde bulunan tanıtıcıların sayısını döndürür. Tanıtıcıların hiçbirinde etkinlik yoksa bu 0 olabilir. Bir seçme hatası oluşursa işlev -1 döndürür (ilgili seçme sistem çağrısından).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.

Ayrıca Bakınız

  • curl_multi_init() - Yeni bir çoklu cURL tanıtıcısı döndürür


cURL çoklu seçeneği tanımlar

  • « curl_multi_select
  • curl_multi_strerror »
  • PHP Manual
  • cURL İşlevleri
  • cURL çoklu seçeneği tanımlar

curl_multi_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_multi_setopt — cURL çoklu seçeneği tanımlar

Açıklama

curl_multi_setopt(CurlMultiHandle $tanıtıcı, int $seçenek, mixed $değer): bool

cURL çoklu tanıtıcısı üzerinde seçenek tanımlar.

Bağımsız Değişkenler

tanıtıcı

curl_multi_init() işlevinden dönen çoklu cURL tanıtıcısı.

seçenek

CURLMOPT_* sabitlerinden biri.

değer

seçenek için değer.

değer aşağıdaki seçenek bağımsız değişkenleri için birer tamsayı olmalıdır:

Seçenek | Değer
CURLMOPT_PIPELINING | Etkinleştirmek için 1, devre dışı bırakmak için 0. Çoklu tanıtıcı üzerinde ardışık düzeni etkinleştirmek, bu tanıtıcıyı kullanan aktarımlarda mümkün olduğunca HTTP Ardışık Düzeninin uygulanmaya çalışılmasını sağlar. Mevcut bir bağlantıyı kullanmak üzere ikinci bir istek eklenirse, ikinci isteğin aynı bağlantıda "bağlanacağı" anlamına gelir. cURL 7.43.0'dan itibaren, değer bir bit maskesidir ve mümkünse yeni aktarımı mevcut bir HTTP/2 bağlantısı üzerinden çoğullamayı denemek için 2 değeri aktarılabilir. 3 değeri, cURL'ye birbirinden bağımsız olarak ardışık düzen ve çoğullama istemesi talimatını verir. cURL 7.62.0'dan itibaren, ardışık düzen bitinin ayarlanmasının hiçbir etkisi yoktur. Tamsayı değerler yerine, varsa CURLPIPE_* sabitleri de kullanılabilir.
CURLMOPT_MAXCONNECTS | libcurl'un önbelleğe alabileceği azami eşzamanlı açık bağlantı sayısı. Öntanımlı olarak önbellek boyutu, curl_multi_add_handle() aracılığıyla eklenen tanıtıcı sayısının dört katı sığacak kadar büyüktür. Önbellek dolduğunda curl, açık bağlantıların sayısının artmasını önlemek için önbellektekilerin en eskisini kapatır.
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE | Ardışık düzen için yığın uzunluğu eşiğini bayt cinsinden belirten bir sayı.
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE | Ardışık düzen cezası için boyut eşiğini bayt cinsinden belirten bir sayı
CURLMOPT_MAX_HOST_CONNECTIONS | Tek bir konağa yapılacak azami bağlantı sayısı.
CURLMOPT_MAX_PIPELINE_LENGTH | Ardışık işlenecek azami istek sayısı.
CURLMOPT_MAX_CONCURRENT_STREAMS | Atanan değer, HTTP/2 kullanılarak yapılan bağlantılarda cURL'nin desteklemesi gereken bağlantılar için azami eşzamanlı akım sayısı olarak kullanılır. Geçerli değerler 1 ila 2147483647 (2^31 - 1) arasındadır. Atanan değer, diğer sistem kaynaklarının özelliklerine göre dikkate alınır. 100 varsayılan değerdir.
CURLMOPT_MAX_TOTAL_CONNECTIONS | Aynı anda açık azami bağlantı sayısı.
CURLMOPT_PUSHFUNCTION Sunucu gönderimlerini işlemek için kaydedilecek yöntemin sözdizimi şöyle olmalıdır:
gönderim_işlevi(resource $ebeveyn_tanıtıcı, resource $gönderilmiş_tanıtıcı, array $başlıklar): int
ebeveyn_tanıtıcı

Ebeveyn cURL tanıtıcısı (istemci yapımı istek).

gönderilmiş_tanıtıcı

Gönderilmiş istek için yeni cURL tanıtıcı.

başlıklar

Sözel gönderim başlıkları.

Gönderim işlevinin, gönderim işlenebilmişse CURL_PUSH_OK, reddedilmişse CURL_PUSH_DENY döndüreceği varsayılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | CURLMOPT_MAX_CONCURRENT_STREAMS tanımlandı.
8.0.0 | çoklu_tanıtıcı artık bir CurlMultiHandle örneği bekliyor; evvelce resource türünde bir değer beklenirdi.
7.1.0 | CURLMOPT_PUSHFUNCTION tanımlandı.
7.0.7 | CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH ve CURLMOPT_MAX_TOTAL_CONNECTIONS sabitleri tanımlandı.


Hata kodunun açıklamasını döndürür

  • « curl_multi_setopt
  • curl_pause »
  • PHP Manual
  • cURL İşlevleri
  • Hata kodunun açıklamasını döndürür

curl_multi_strerror

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_multi_strerror — Hata kodunun açıklamasını döndürür

Açıklama

curl_multi_strerror(int $hata_kodu): ?string

Belirtilen çoklu cURL hata kodunu açıklayan hata iletisini döndürür.

Bağımsız Değişkenler

hata_kodu

» çoklu cURL hata kodu sabitlerinden biri.

Dönen Değerler

Hata kodu geçerliyse hata kodunu açıklayan bir dizge, geçersizse null döner.

Örnekler

Örnek 1 - curl_multi_strerror() örneği

<?php
// cURL tanıtıcıları oluştur
$ch1 = curl_init("http://example.com/");
$ch2 = curl_init("http://php.net/");

// Bir tane de çoklu tanıtıcı oluştur
$mh = curl_multi_init();

// Tanıtıcıları çoklu tanıtıcıya ekle
curl_multi_add_handle($mh, $ch1);
curl_multi_add_handle($mh, $ch2);

// Çoklu tanıtıcıyı yürüt
do {
$status = curl_multi_exec($mh, $active);
if ($active) {
curl_multi_select($mh);
}
} while ($active && $status === CURLM_OK);

// Hatalara bak
if ($status != CURLM_OK) {
// Hata iletisini göster
echo "ERROR!\n " . curl_multi_strerror($status);
}

?>

Ayrıca Bakınız

  • curl_strerror() - Hata kodunun açıklamasını döndürür
  • » cURL hata kodları


Bağlantının bekleme durumunu değiştirir

  • « curl_multi_strerror
  • curl_reset »
  • PHP Manual
  • cURL İşlevleri
  • Bağlantının bekleme durumunu değiştirir

curl_pause

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_pause — Bağlantının bekleme durumunu değiştirir

Açıklama

curl_pause(CurlHandle $tanıtıcı, int $seçenekler): int

cURL oturumunu duraklatır veya devam ettirir. curl_setopt() ile kayıtlı bir geri çağırımdan bu işlev çağrılarak, okuma, yazma veya her iki yönde devam bir cURL oturumu duraklatılabilir.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

seçenekler

CURLPAUSE_* sabitlerinden biri.

Dönen Değerler

Hata kodu döner (hata yoksa CURLE_OK).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.


libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar

  • « curl_pause
  • curl_setopt_array »
  • PHP Manual
  • cURL İşlevleri
  • libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar

curl_reset

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_reset — libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar

Açıklama

curl_reset(CurlHandle $tanıtıcı): void

Belirtilen cURL tanıtıcısının tüm seçeneklerine öntanımlı değerlerini atar.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_reset() örneği

<?php
// cURL tanıtıcısı oluştur
$ch = curl_init();

// CURLOPT_USERAGENT seçeneğini tanımla
curl_setopt($ch, CURLOPT_USERAGENT, "My test user-agent");

// Tüm seçenekleri sıfırla
curl_reset($ch);

// HTTP isteği gönder
curl_setopt($ch, CURLOPT_URL, 'http://example.com/');
curl_exec($ch); // curl_reset ile sıfırlandığından tanımlanan değer gönderilmedi

// Tanıtıcıyı kapat
curl_close($ch);
?>

Notlar

Bilginize:

curl_reset() işlevi ayrıca curl_init() işlevinde URL belirten bağımsız değişkeni de sıfırlar.

Ayrıca Bakınız

  • curl_setopt() - Bir cURL aktarım seçeneği tanımlar


Belirtilen cURL oturumuna çok sayıda seçenek atar

  • « curl_reset
  • curl_setopt »
  • PHP Manual
  • cURL İşlevleri
  • Belirtilen cURL oturumuna çok sayıda seçenek atar

curl_setopt_array

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

curl_setopt_array — Belirtilen cURL oturumuna çok sayıda seçenek atar

Açıklama

curl_setopt_array(CurlHandle $tanıtıcı, array $seçenekler): bool

Belirtilen cURL oturumuna çok sayıda seçenek atar. curl_setopt() işlevini defalarca kullanmak yerine çok sayıda seçeneği bir kerede atamak için yararlıdır.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

seçenekler

Atanacak seçenekleri ve değerlerini içeren dizi. Ahahtarlar geçerli curl_setopt() sabitleri veya bunların sayısal eşdeğerleri olmalıdır.

Dönen Değerler

Belirtilen seçeneklerin tümü atanabilmişe true döner. Bir seçenek başarıyla atanamazsa diğer seçenekler atanmaksızın işlev false ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
$options = array(CURLOPT_URL => 'http://www.example.com/',
CURLOPT_HEADER => false
);

curl_setopt_array($ct, $options);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL özkaynağını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Notlar

Bilginize:

curl_setopt() işlevinde olduğu gibi, CURLOPT_POSTFIELDS seçeneğine bir dizinin aktarılması verinin multipart/form-data olarak kodlanmasına, bir URL kodlu dizge atanması ise verinin application/x-www-form-urlencoded olarak kodlanmasına sebep olur.

Ayrıca Bakınız

  • curl_setopt() - Bir cURL aktarım seçeneği tanımlar


Bir cURL aktarım seçeneği tanımlar

  • « curl_setopt_array
  • curl_share_close »
  • PHP Manual
  • cURL İşlevleri
  • Bir cURL aktarım seçeneği tanımlar

curl_setopt

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_setopt — Bir cURL aktarım seçeneği tanımlar

Açıklama

curl_setopt(CurlHandle $tanıtıcı, int $seçenek, mixed $değer): bool

Belirtilen cURL oturum tanıtıcısı üzerinde bir seçenek tanımlar.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

seçenek

Atanacak CURLOPT_XXX seçeneği.

değer

Atanacak seçenek değeri.

değer bağımsız değişkenine aşağıdaki seçenek'ler için bir mantıksal (bool) değer atanmalıdır:

Seçenek | Atanacak değer | Ek bilgi
CURLOPT_AUTOREFERER | Bir Location: yönlendirmesini izleyen bir isteğin Referer: başlığının otomatik olarak atanması için true olmalıdır.
CURLOPT_COOKIESESSION | Oturumu yeni bir çerez oturumu olarak imlemek için true olmalıdır. libcurl'un önceki oturumdan yüklenecek oturum çerezlerini yoksaymasına sebep olur. Öntanımlı olarak libcurl, oturum çerezi olup olmadıklarına bakmaksızın tüm çerezleri daima saklar ve yükler. Oturum çerezleri için belli bir zaman aşımı yoktur ve atandıkları oturum boyunca etkindirler.
CURLOPT_CERTINFO | Güvenli aktarımlarda SSL sertifika bilgisini standart hataya çıktılamak için true. | cURL 7.19.1'de eklendi. Etkisi oması için CURLOPT_VERBOSE gerekir.
CURLOPT_CONNECT_ONLY | Bağlantıyı kurup gerekli tüm vekil kimlik kanıtlamasını yapmasını ama hiçbir veryi aktarmamasını kütüphaneye söylemek için true. Bu seçenek HTTP, SMTP ve POP3 için gerçeklenmiştir. | cURL 7.15.2'de eklendi.
CURLOPT_CRLF | Aktarım sırasında Unix satırsonlarını CRLF satırsonlarına dönüştürmek için true olmalıdır.
CURLOPT_DISALLOW_USERNAME_IN_URL | Bir kullanıcı adı içeren URL'lere izin vermemek için true. Kullanıcı adlarına öntanımlı olarak izin verilir. | cURL 7.61.0'da eklendi. PHP 7.3.0'dan beri kullanılabilir.
CURLOPT_DNS_SHUFFLE_ADDRESSES | Bir isim çözümlendiğinde ve birden fazla IP adresi döndürüldüğünde, tüm döndürülen adreslerin sırasını rastgele bir sırayla kullanılacak şekilde karıştırmak için true. Bu, IPv4'ün IPv6'dan önce veya tam tersi şekilde kullanılmasına neden olabilir. | cURL 7.60.0'da eklendi. PHP 7.3.0'dan beri kullanılabilir..
CURLOPT_HAPROXYPROTOCOL | Bağlantının başlangıcında bir HAProxy PROXY protokolü v1 başlığı göndermek için true. Öntanımlı eylem bu başlığı göndermemektir. | cURL 7.60.0'da eklendi. PHP 7.3.0'dan beri kullanılabilir..
CURLOPT_SSH_COMPRESSION | Yerleşik SSH sıkıştırmasını etkin kılmak için true. Bu bir istektir, emir değil; sunucu yerine getirmeyebilir. | cURL 7.56.0'da eklendi. PHP 7.3.0'dan beri kullanılabilir.
CURLOPT_DNS_USE_GLOBAL_CACHE | Küresel DNS önbelleğini kullanmak için true olmalıdır. Bu seçenek evreler bakımından güvenli değildir. PHP evresiz kullanım için derlenmişse şartlı ve öntanımlı olarak etkindir (CLI, FCGI, Apache2-Prefork, vb.).
CURLOPT_FAILONERROR | Dönen HTTP kodunun 400'e eşit veya büyük olması durumunda ayrıntılı olarak başarısız olmak için true olmalıdır. Öntanımlı davranış kodu yok sayıp sayfayı normal olarak döndürmektir.
CURLOPT_SSL_FALSESTART | TLS yanlış başlatmayı etkinleştirmek için true. | cURL 7.42.0'da eklendi. PHP 7.0.7'dan beri kullanılabilir.
CURLOPT_FILETIME | Uzak belgenin değişiklik tarihi alınmaya çalışılacaksa true olmalıdır. Bu değer, curl_getinfo() ile CURLINFO_FILETIME seçeneği kullanılarak alınabilir.
CURLOPT_FOLLOWLOCATION | HTTP başlığının bir parçası olarak sunucunun gönderdiği "Location: " başlığını izlemek için true olmalıdır. Ayrıca, bkz. CURLOPT_MAXREDIRS
CURLOPT_FORBID_REUSE | İşlem bittiğinde yeniden kullanım için havuzlanmaksızın ve beklemeksizin bağlantının mutlaka kapatılması için true olmalıdır.
CURLOPT_FRESH_CONNECT | Önbellektekini kullanmaksızın yeni bir bağlantı açmak için true olmalıdır.
CURLOPT_FTP_USE_EPRT | Etkin FTP indirmeleri yapılırken EPRT (ve LPRT) kullanmak için true olmalıdır. EPRT ve LPRT'yi iptal edip sadece PORT kullanmak için false kullanın.
CURLOPT_FTP_USE_EPSV | PASV'ye dönmeden önce FTP aktarımı için önce EPSV komutunu denemek için true olmalıdır.
CURLOPT_FTP_CREATE_MISSING_DIRS | Bir FTP işlemi şu anda mevcut olmayan bir dosya yolu ile karşılaştığında eksik dizinleri oluşturmak için true.
CURLOPT_FTPAPPEND | Uzak dosyanın üzerine yazmak yerine sonuna ekleme yapmak için true olmalıdır.
CURLOPT_TCP_NODELAY | Ağdaki küçük paketlerin sayısını en aza indirmeye çalışan TCP'nin Nagle algoritmasını devre dışı bırakmak için true. | libcurl 7.11.2 ve üstü ile derlenmiş sürümlerde kullanılabilir.
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXT için takma addır; onun yerine bunu kullanın.
CURLOPT_FTPLISTONLY | Sadece FTP dizinindeki isimler listelenecekse true olmalıdır.
CURLOPT_HEADER | Çıktıda başlık bulunması için true olmalıdır.
CURLINFO_HEADER_OUT | Tanıtıcının istek dizesini izlemek için true. | CURLINFO_ öneki özellikle konmuştur.
CURLOPT_HTTP09_ALLOWED | HTTP/0.9 yanıtlarına izin verilecek mi? libcurl 7.66.0 itibariyle false öncesinde true. | libcurl >= 7.64.0 ile derlenmiş PHP 7.3.15 ve 7.4.3 itibariyle kullanılabilir.
CURLOPT_HTTPGET | HTTP istek yönteminin GET olması için true olmalıdır. GET öntanımlı olduğundan bu sadece istek yöntemi değiştiğinde işe yarar.
CURLOPT_HTTPPROXYTUNNEL | Belirtilen HTTP vekili üzerinden tünel kullanılacaksa true olmalıdır.
CURLOPT_HTTP_CONTENT_DECODING | Ham HTTP gövdesini almak için false. | libcurl >= 7.16.2 ile derlenmiş sürümlerle kullanılabilir.
CURLOPT_KEEP_SENDING_ON_ERROR | Döndürülen HTTP kodu 300'e eşit veya daha büyükse istek gövdesini göndermeye devam etmek için true. Öntanımlı eylem göndermeyi durdurmak ve akışı veya bağlantıyı kapatmak olacaktır. Elle NTLM kimlik doğrulaması için uygundur. Çoğu uygulamanın bu seçeneğe ihtiyacı yoktur. | libcurl >= 7.51.0 ile derlenmiş PHP 7.3.0 ve üstü ile kullanılabilir.
CURLOPT_MUTE | cURL işlevleriyle ilgili olarak tamamen sessiz kalınması için true olmalıdır. | cURL 7.15.5'te kaldırıldı. (Yerine CURLOPT_RETURNTRANSFER kullanılabilir)
CURLOPT_NETRC | Bağlantı kurulan uzak site için kullanıcı adını ve parolasını bulmak amacıyla ~/.netrc dosyasına bakılmasını sağlamak için true olmalıdır.
CURLOPT_NOBODY | Çıktıdaki gövdeyi dışlamak için true olmalıdır. Ardından istek yöntemi HEAD yapılır. Bunu false olarak değiştirmek yöntemi GET yapmaz.
CURLOPT_NOPROGRESS

cURL aktarımının gelişim göstergesini kapatmak için true olmalıdır.

Bilginize:

PHP bu seçeneğe öntanımlı olarak true atar. Bu sadece hata ayıklama amacıyla değiştirlmelidir.

CURLOPT_NOSIGNAL | PHP sürecine bir sinyal gönderilmesine sebep olan cURL işlevlerini yoksaymak için true olmalıdır. Çok evreli SAPI'lerde, öntanımlı olarak böyledir; dolayısıyla zaman aşımı seçenekleri hala kullanılabilir olur. | cURL 7.10'da eklendi.
CURLOPT_PATH_AS_IS | Nokta nokta dizilerini işlememek için true. | cURL 7.42.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_PIPEWAIT | Boruhattı ve çoklamaları beklemek için true. | cURL 7.43.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_POST | Normal bir HTTP POST yapmak için true olmalıdır. Bu, HTML formlarında sıklıkla kullanılan normal application/x-www-form-urlencoded çeşididir.
CURLOPT_PUT | Bir dosyaya HTTP PUT yapmak için true olmalıdır. Bu dosya CURLOPT_INFILE ve CURLOPT_INFILESIZE ile atanmalıdır.
CURLOPT_RETURNTRANSFER | Aktarımı doğrudan çıktılamak yerine bir dizge olarak curl_exec() işlevinden döndürmek için true olmalıdır.
CURLOPT_SASL_IR | İlk yanıtı ilk pakette göndermeyi etkinleştirmek için true. | cURL 7.31.10'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_SSL_ENABLE_ALPN | HTTP2 ile uzlaşmak için kullanılan SSL anlaşmasında (SSL arka uç libcurl bunu destekliyorsa) ALPN'yi devredışı bırakmak için false | cURL 7.36.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_SSL_ENABLE_NPN | HTTP2 ile uzlaşmak için kullanılan SSL anlaşmasında (SSL arka uç libcurl bunu destekliyorsa) NPN'yi devredışı bırakmak için false | cURL 7.36.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_SSL_VERIFYPEER | cURL'un eş sertifikasını doğrulamayı durdurması için false olmalıdır. Doğrulayıcı diğer sertifikalar CURLOPT_CAINFO seçeneği ile belirtilebileceği gibi CURLOPT_CAPATH seçeneği ile bir sertifika dizini de belirtilebilir. | cURL 7.10 itibariyle öntanımlı olarak true'dur. Öntanımlı paket cURL 7.10'dan itibaren yüklenmiştir.
CURLOPT_SSL_VERIFYSTATUS | Sertifika durumunu doğrulamak için true. | cURL 7.41.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_PROXY_SSL_VERIFYPEER | cURL'nin eşin sertifikasını doğrulamasını durdurmak için false Doğrulamak için alternatif sertifikalar CURLOPT_CAINFO seçeneğiyle veya sertifika dizini CURLOPT_CAPATH seçeneğiyle belirtilebilir. false olarak ayarlandığında, eş sertifika doğrulaması ne olursa olsun başarılı olur. | Öntanımlı olarak true. libcurl >= cURL 7.52.0 ve PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_SAFE_UPLOAD | Daima true, CURLOPT_POSTFIELDS içindeki dosyaları karşıya yüklemek için @ öneki desteğini devre dışı bırakır, böylece @ ile başlayan değerler güvenle alan olarak aktarılabilir. Bunun yerine karşıya yükleme yaparken CURLFile kullanılabilir.
CURLOPT_SUPPRESS_CONNECT_HEADERS | CURLOPT_HTTPPROXYTUNNEL kullanıldığında ve bir bağlantı isteği yapıldığında, CURLOPT_HEADERFUNCTION ve CURLOPT_WRITEFUNCTION kullanıcı geri arama işlevlerinden vekil bağlantı yanıtı üstbilgilerini bastırmak için true. | cURL 7.54.0'da eklendi. PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_TCP_FASTOPEN | TCP Hızlı Açmayı etkinleştirmek için true. | cURL 7.49.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_TFTP_NO_OPTIONS | TFTP seçenekleri isteklerini göndermemek için true. | cURL 7.48.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_TRANSFERTEXT | FTP aktarımlarında ASCII kip kullanmak için true olmalıdır. LDAP için veri, HTML yerine salt metin olarak alınır. Windows sistemlerinde, STDOUT'a ikil kip atanmaz.
CURLOPT_UNRESTRICTED_AUTH | (CURLOPT_FOLLOWLOCATION kullanarak) Location: yönlendirmelerini izlerken konut ismi değişse bile, kullanıcı ve parola gönderimini sağlamak için true olmalıdır.
CURLOPT_UPLOAD | Karşıya yüklemeye hazır olmak için true olmalıdır.
CURLOPT_VERBOSE | Ayrıntılı bilgi çıktılanması için true olmalıdır. Çıktıyı standart hataya veya CURLOPT_STDERR kullanarak belirtilen dosyaya yazar.

değer bağımsız değişkenine aşağıdaki seçenek'ler için bir tamsayı atanmalıdır:

Seçenek | Atanacak değer | Ek bilgi
CURLOPT_BUFFERSIZE | Okuma için kullanılacak tamponun boyutu. Ancak, bu isteğin yerine getirileceğinin bir garantisi yoktur. | cURL 7.10'da eklendi.
CURLOPT_CONNECTTIMEOUT | Saniye cinsinden bağlantının deneneceği süre. Bağlantının sonsuza kadar beklenmesi için 0 kullanın.
CURLOPT_CONNECTTIMEOUT_MS | Milisaniye cinsinden bağlantının deneneceği süre. Bağlantının sonsuza kadar beklenmesi için 0 kullanın. Libcurl, standart sistem adı çözümleyicisini kullanmak üzere derlenmişse, bağlantının bu bölümü, izin verilen bir saniyelik minimum zaman aşımı ile tam saniyelik çözünürlüğü kullanmaya devam edecektir. | cURL 7.16.2'de eklendi.
CURLOPT_DNS_CACHE_TIMEOUT | Saniye cinsinden DNS girdilerinin bellekte kalma süresi. Bu seçeneğin öntanımlı değeri 120 saniyedir.
CURLOPT_EXPECT_100_TIMEOUT_MS | Expect için zaman aşımı: Milisaniye cinsinden 100 devam yanıtı. Öntanımlı 1000 milisaniyedir. | cURL 7.36.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS | Mutlu gözler algoritması için ipv6'yı kullanmaya başlayın. Mutlu gözler, milisaniyeler için önce IPv6'yı tercih ederek, çift yığıtlı sunucular için hem IPv4 hem de IPv6 adreslerine bağlanmaya çalışır. Şu anda 200 milisaniye olan CURL_HET_DEFAULT öntanımlıdır. | cURL 7.59.0'da eklendi. PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_FTPSSLAUTH | FTP kimlik doğrulama yöntemi (etkinse): CURLFTPAUTH_SSL (önce SSL denenir), CURLFTPAUTH_TLS (önce TLS denenir) veya CURLFTPAUTH_DEFAULT (cURL karar verir). | cURL 7.12.2'de eklendi.
CURLOPT_HEADEROPT | Başlıklar ile başa çıkmak için aşağıdaki sabitlerden biri: CURLHEADER_UNIFIED: CURLOPT_HTTPHEADER içinde belirtilen başlıklar hem sunuculara hem de vekillere yapılan isteklerde kullanılacaktır. Bu seçenek etkinleştirildiğinde, CURLOPT_PROXYHEADER herhangi bir etkiye sahip olmayacaktır. CURLHEADER_SEPARATE: CURLOPT_HTTPHEADER başlıklarının bir vekile değil, yalnızca bir sunucuya gönderilmesini sağlar. Vekil başlıklarının kullanılabilmesi için CURLOPT_PROXYHEADER ile ayarlanması gerekir. Bir vekile CONNECT olmayan bir istek gönderilirse, libcurl'un hem sunucu başlıklarını hem de vekil başlıklarını göndereceğini unutmayın. CONNECT yapılırken, libcurl CURLOPT_PROXYHEADER başlıklarını yalnızca vekile ve ardından CURLOPT_HTTPHEADER başlıklarını yalnızca sunucuya gönderir. cURL 7.42.1 itibariyle CURLHEADER_SEPARATE ve öncesinde CURLHEADER_UNIFIED öntanımlıdır. | cURL 7.37.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (öntanımlı olup hangi sürümün kullanılacağına CURL karar verir). CURL_HTTP_VERSION_1_0 (HTTP/1.0 zorlanır), CURL_HTTP_VERSION_1_1 (HTTP/1.1 zorlanır), CURL_HTTP_VERSION_2_0 (HTTP 2 için çabalar), CURL_HTTP_VERSION_2 (CURL_HTTP_VERSION_2_0 için takma ad), CURL_HTTP_VERSION_2TLS (sadece TLS (HTTPS) üzerinden HTTP 2 için çabalar) veya CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE (HTTP/1.1 yükseltmesi olmadan HTTP/2 kullanarak TLS dışı HTTP istekleri yapar).
CURLOPT_HTTPAUTH

HTTP kimlik doğrulama yöntem(ler)i: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_AWS_SIGV4, CURLAUTH_ANY ve CURLAUTH_ANYSAFE.

Birden fazla yöntem belirtilecekse sabitler arasında bitsel VEYA işleci kullanılabilir. Bu takdirde, cURL belirtilen yöntemlerden hangisinin sunucu tarafından en iyi desteklendiğini saptamaya çalışır ve onu kullanır.

CURLAUTH_ANY tüm bitleri etkin kılar. cURL otomatik olarak en güvenlisini seçer.

CURLAUTH_ANYSAFE sabiti CURLAUTH_BASIC dışında tüm bitleri etkin kılar. cURL otomatik olarak en güvenlisini seçer.

CURLOPT_INFILESIZE | Dosya karşıya yüklenirken dosyanın bayt cinsinden tahmini boyutu. Tam olarak neyin gönderileceği CURLOPT_READFUNCTION'a bağlı olduğundan, bu seçeneğin kullanılmasının libcurl'nin daha fazla veri göndermesini durdurmayacağını unutmayın.
CURLOPT_LOW_SPEED_LIMIT | PHP'nin aktarımın çok yavaş olduğunu varsayarak çıkmasından önce, CURLOPT_LOW_SPEED_TIME süresince aktarımda kalacağı, saniyedeki bayt sayısı olarak aktarım hızı.
CURLOPT_LOW_SPEED_TIME | PHP'nin aktarımın çok yavaş olduğunu varsayarak çıkması için, aktarım hızının CURLOPT_LOW_SPEED_LIMIT'in altında kalacağı, saniye cinsinden aktarım süresi.
CURLOPT_MAIL_RCPT_ALLLOWFAILS | Bazı alıcılar için RCPT TO komutunun başarısız olmasına izin verir. | Birden fazla alıcıya veri gönderirken, alıcılardan en az biri RCPT TO komutunun hata döndürmesine neden olursa cURL varsayılan olarak SMTP görüşmesini iptal eder. Bu seçenek, cURL'ye hataları yok saymasını ve kalan geçerli alıcılarla devam etmesini söyler. Tüm alıcılar RCPT TO hatalarını tetiklerse ve bu seçenek etkinse, cURL SMTP görüşmesini iptal eder ve son RCPT TO komutundan alınan hatayı döndürür.
CURLOPT_MAXAGE_CONN | Mevcut bir bağlantının yeniden kullanım için değerlendirilmesi için izin verilen azami boşta kalma süresi. Varsayılan azami değer, 118 saniyedir.
CURLOPT_MAXFILESIZE_LARGE | İndirilmesine izin verilen dosya için azami bayt miktarı. İstenen dosya bu değerden büyükse aktarım başlamaz ve CURLE_FILESIZE_EXCEEDED döner. İndirme öncesi dosya boyutları her zaman bilinmez ve dosya aktarımı bittiğinde dosya boyutu bu değerden büyük olacak olsa bile böyle dosyalarda bu seçenek etkisizdir.
CURLOPT_MAXLIFETIME_CONN | Bağlantının oluşturulmasından bu yana, mevcut bir bağlantının yeniden kullanım için değerlendirilmesine izin verilen, saniye cinsinden azami süre. Önbellekte bu değerden daha eski bir bağlantı bulunursa devam eden aktarımlar tamamlandıktan sonra bağlantı kapatılır. Varsayılan 0 saniye olup seçeneğin devre dışı bırakıldığı ve tüm bağlantıların yeniden kullanılmaya uygun olduğu anlamına gelir.
CURLOPT_MAXCONNECTS | İzin verilen kalıcı bağlantıların azami sayısı. Bu sınıra ulaşıldığında açık bağlantı sayısı artışını engellemek için önbellektekilerden en eski olanı kapatılır.
CURLOPT_MAXREDIRS | İzlenecek HTTP yönlendirmelerinin azami sayısı. CURLOPT_FOLLOWLOCATION ile birlikte kullanılır. Sonsuz yönlendirmeyi engellemek için atanan öntanımlı değer 20'dir. 1 atamak sonsuz yönlendirmeye izin verir, 0 ise tüm yönlendirmeleri reddeder.
CURLOPT_PORT | Bağlantı için kullanılacak ikincil port numarası.
CURLOPT_POSTREDIR | CURLOPT_FOLLOWLOCATION ayarlandığında ve belirli bir yönlendirme türü gerçekleştiğinde HTTP POST yönteminin korunması gerekiyorsa 1 (301 Kalıcı Olarak Taşındı), 2 (302 Bulundu) ve 4 (Diğerine Bakın) için bit maskesi. | cURL 7.19.1'de eklendi.
CURLOPT_PROTOCOLS

CURLPROTO_* değerlerinden oluşan bir bit maskesi. libcurl'un aktarımda kullanabileceği protokolleri belirler. Bu seçenek, kurulu libcurl'un geniş bir protokol çeşidini desteklemesini gerektirir. Seçenekle bu protokollerin bir alt kümesi belirtilebilir. libcurl öntanımlı olarak, desteklediği tüm protokolleri kabul edecektir. Ayrıca, CURLOPT_REDIR_PROTOCOLS seçeneğine de bakınız.

Olası protokol seçenekleri: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_MQTT CURLPROTO_ALL

cURL 7.19.4'te eklendi.
CURLOPT_PROXYAUTH | Vekil bağlantı için kullanılacak HTTP kimlik doğrulama yöntem(ler)i. CURLOPT_HTTPAUTH seçeneğindeki bit maskesi kullanılır. Vekil kimlik doğrulaması için şimdilik sadece CURLAUTH_BASIC ve CURLAUTH_NTLM desteklenmektedir. | cURL 7.10.7'de eklendi.
CURLOPT_PROXYPORT | Bağlanılacak vekil port numarası. Port numarası CURLOPT_PROXY ile de atanabilir.
CURLOPT_PROXYTYPE | CURLPROXY_HTTP (öntanımlı), CURLPROXY_SOCKS4, CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A veya CURLPROXY_SOCKS5_HOSTNAME olabilir. | cURL 7.10'da eklendi.
CURLOPT_REDIR_PROTOCOLS | CURLPROTO_* değerlerinden oluşan bir bit maskesi. CURLOPT_FOLLOWLOCATION etkin olduğu takdirde, bir yönlendirme izlenirken libcurl'un aktarımda kullanacağı protokoller belirtilir. Bu seçenek, yönlendirmelerde aktarımın belli protokollerle sınırlanmasına imkan verir. libcurl öntanımlı olarak FILE ve SCP haricinde tüm protokollere izin verir. Bu davranış, izlemelerde tüm protokollerin koşulsuz olarak desteklendiği 7.19.4 öncesi sürümlerden farklıdır. Protokol sabitleri için CURLOPT_PROTOCOLS seçeneğine de bakınız. | cURL 7.19.4'te eklendi.
CURLOPT_RESUME_FROM | Bayt cinsinden aktarımın devam ettirileceği konum.
CURLOPT_SOCKS5_AUTH

Kullanılacak SOCKS5 kimlik kanıtlama yöntemleri. Seçenekler: CURLAUTH_BASIC, CURLAUTH_GSSAPI, CURLAUTH_NONE.

Birden fazla yntem belirtmek için bitsel VEYA | işleci kullanılabilir. Bu yapılırsa, cURL hangi yöntemleri desteklediğini görmek için sunucuyu yoklar ve en iyisini seçer.

CURLAUTH_BASIC kullanıcı/parola kimlik kanıtlamasına izin verir.

CURLAUTH_GSSAPI GSS-API kimlik kanıtlamasına izin verir.

CURLAUTH_NONE hiçbir kimlik kanıtlamasına izin vermez.

CURLAUTH_BASIC|CURLAUTH_GSSAPI öntanımlıdır. Güncel kullanıcı ismini ve parolayı CURLOPT_PROXYUSERPWDseçeneği ile atayın.

curl >= 7.55.0 ve PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_SSL_OPTIONS | SSL davranış seçeneklerini, aşağıdaki sabitlerden herhangi birinin bit maskesidir: CURLSSLOPT_ALLOW_BEAST: SSL3 ve TLS1.0 protokollerinde bir güvenlik açığı için herhangi bir geçici çözüm kullanmaya çalışmaz. CURLSSLOPT_NO_REVOKE: Bu tür bir davranışın mevcut olduğu SSL arka uçları için sertifika iptal denetimlerini devre dışı bırakır. CURLSSLOPT_AUTO_CLIENT_CERT: Sunucu tarafından istendiğinde, kimlik doğrulama için istemci sertifikası otomatik olarak bulunup kullanılır. Bu seçenek yalnızca Schannel (yerel Windows SSL kitaplığı) için desteklenir. CURLSSLOPT_NATIVE_CA: Sertifika doğrulaması için işletim sisteminin yerel CA deposunu kullanılır. OpenSSL kullanmak üzere oluşturulduğunda yalnızca Windows üzerinde çalışır. Bu seçenek deneyseldir ve davranış değişebilir. CURLSSLOPT_NO_PARTIALCHAIN: cURL'nin varsayılan olarak kabul ettiği "kısmi" sertifika zincirleri kabul edilmez. Bu seçenek yalnızca OpenSSL için desteklenir ve zincir bir kök sertifikayla değil de bir ara sertifikayla biterse sertifika doğrulamasında başarısız olur. CURLSSLOPT_REVOKE_BEST_EFFORT: Bu tür davranışların mevcut olduğu SSL arka uçları için eksik veya çevrimdışı dağıtım noktaları olması durumunda sertifika iptal denetimleri yok sayılır. Bu seçenek yalnızca Schannel (yerel Windows SSL kitaplığı) için desteklenir. CURLSSLOPT_NO_REVOKE ile birleştirilirse ikincisi önceliklidir. | cURL 7.25.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_SSL_VERIFYHOST | Common Name veya Subject Alternate Name alanının varlığının yanında sağlanan konak ismi ile eşleşmenin de aranması için 2, isimlere bakmak için 0 olmalıdır. 1 kullanılmamalıdır. Üretim ortamlarında bu seçeneğin değeri 2 (öntanımlıdır) olarak tutulmalıdır. | 1 değeri için destek cURL 7.28.1'de kaldırıldı.
CURLOPT_SSLVERSION CURL_SSLVERSION_DEFAULT (0), CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2), CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4), CURL_SSLVERSION_TLSv1_1 (5), CURL_SSLVERSION_TLSv1_2 (6) veya CURL_SSLVERSION_TLSv1_3 (7) sabitlerinden biri. Azami TLS sürümü CURL_SSLVERSION_MAX_* sabitlerinden biri kullanarak atanabilir. CURL_SSLVERSION_* sabitlerinden biri ile CURL_SSLVERSION_MAX_* sabitlerinden birini VEYAlamak da mümkündür. CURL_SSLVERSION_MAX_DEFAULT (kütüphane tarafından desteklenen en büyük sürüm), CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2 veya CURL_SSLVERSION_MAX_TLSv1_3.

Bilginize:

En iyi seçiminiz, bunu ayarlamamak ve öntanımlıyı kullanmasına izin vermektir. Bunu 2 veya 3 olarak ayarlamak, SSLv2 ve SSLv3'teki bilinen güvenlik açıkları göz önüne alındığında çok tehlikelidir.

CURLOPT_PROXY_SSL_OPTIONS | SSL davranış seçeneklerini, aşağıdaki sabitlerden herhangi birinin bit maskesidir: CURLSSLOPT_ALLOW_BEAST: SSL3 ve TLS1.0 protokollerinde bir güvenlik açığı için herhangi bir geçici çözüm kullanmaya çalışmaz. CURLSSLOPT_NO_REVOKE: Bu tür bir davranışın mevcut olduğu SSL arka uçları için sertifika iptal denetimlerini devre dışı bırakır. (curl >= 7.44.0) CURLSSLOPT_NO_PARTIALCHAIN: Belirtilmediğinde öntanımlı olan "kısmi" sertifika zincirlerini kabul etmez. (curl >= 7.68.0) | libcurl >= cURL 7.52.0 ve PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_PROXY_SSL_VERIFYHOST | HTTPS vekilinin sertifika adı alanlarını vekil adına göre doğrulamak için 2'ye ayarlayın. 0 olarak ayarlandığında, sertifikada kullanılan adlardan bağımsız olarak bağlantı başarılı olur. Bu özelliği dikkatli kullanın! 1 curl 7.28.0 ve öncesinde bir hata ayıklama seçeneği olarak ele alındı. Curl 7.28.1'den 7.65.3'e CURLE_BAD_FUNCTION_ARGUMENT döndürülür. 7.66.0'dan itibaren 1 ve 2 aynı kabul edilir. Üretim ortamlarında bu seçeneğin değeri 2'de (öntanımlı değer) tutulmalıdır. | libcurl >= cURL 7.52.0 ve PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_PROXY_SSLVERSION CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1, CURL_SSLVERSION_TLSv1_2, CURL_SSLVERSION_TLSv1_3, CURL_SSLVERSION_MAX_DEFAULT, CURL_SSLVERSION_MAX_TLSv1_0, CURL_SSLVERSION_MAX_TLSv1_1, CURL_SSLVERSION_MAX_TLSv1_2, CURL_SSLVERSION_MAX_TLSv1_3 veya CURL_SSLVERSION_SSLv3 sabitlerinden biri.

Bilginize:

En iyi seçim, bunu ayarlamamak ve uzak SSL protokol sürümünü bulmaya çalışacak olan öntanımlı CURL_SSLVERSION_DEFAULT'un kullanımına izin vermektir.

libcurl >= cURL 7.52.0 ve PHP 7.3.0 ve sonrasında kullanılabilir.
CURLOPT_STREAM_WEIGHT | Sayısal akım ağırlığını ayaralar (1 ile 256 arasında bir sayı). | cURL 7.46.0'da eklendi. PHP 7.0.7 ve sonrasında kullanılabilir.
CURLOPT_TCP_KEEPALIVE | 1 değerine ayarlanırsa, TCP canlı tutma yoklamaları gönderilir. Bu yoklamaların gecikmesi ve sıklığı, işletim sisteminin desteklemesi koşuluyla, CURLOPT_TCP_KEEPIDLE ve CURLOPT_TCP_KEEPINTVL seçenekleri ile denetlenebilir. 0 (öntanımlı) olarak ayarlanırsa, canlı tutma yoklamaları devre dışı bırakılır. | cURL 7.25.0'da eklendi.
CURLOPT_TCP_KEEPIDLE | CURLOPT_TCP_KEEPALIVE etkinleştirilmişse, canlı tutma yoklamaları gönderilmeden önce bağlantı boşta iken işletim sisteminin bekleyeceği süreyi saniye cinsinden ayarlar. Tüm işletim sistemleri bu seçeneği desteklemez. Öntanımlı değer 60'tır. | cURL 7.25.0'da eklendi.
CURLOPT_TCP_KEEPINTVL | CURLOPT_TCP_KEEPALIVE etkinleştirilmişse, işletim sisteminin canlı tutma yoklamaları arasında bekleyeceği süreyi saniye cinsinden ayarlar. Tüm işletim sistemleri bu seçeneği desteklemez. Öntanımlı değer 60'tır. | cURL 7.25.0'da eklendi.
CURLOPT_TIMECONDITION | CURLOPT_TIMEVALUE değerinin nasıl ele alınacağı belirtilir. Sayfayı sadece, CURLOPT_TIMEVALUE ile belirtilen süre içinde değiştirilmediği takdirde döndürmek için CURL_TIMECOND_IFMODSINCE kullanılır. Sayfa değişmişse, CURLOPT_HEADER seçeneğinin true olduğu varsayımıyla "304 Not Modified" (304 değişiklik yok) başlığı döndürülür. Bu davranışı ters çevirmek için CURL_TIMECOND_IFUNMODSINCE kullanılır. CURLOPT_TIMEVALUE değerini yoksayıp sayfayı daima döndürmek için CURL_TIMECOND_NONE kulllanılır. CURL_TIMECOND_NONE öntanımlıdır. | cURL 7.46.0 öncesinde CURL_TIMECOND_IFMODSINCE öntanımlıydı.
CURLOPT_TIMEOUT | cURL işlevlerinin çalışmasına izin verilecek azami saniye sayısı.
CURLOPT_TIMEOUT_MS | cURL işlevlerinin çalışmasına izin verilecek azami milisaniye sayısı. Libcurl, standart sistem adı çözümleyicisini kullanmak üzere derlenmişse, bağlantının bu kısmı, bir saniyelik asgari zaman aşımına izin verilerek, zaman aşımları için tam saniyelik çözünürlüğü kullanmaya devam edecektir. | cURL 7.16.2'de eklendi.
CURLOPT_TIMEVALUE | 1 Ocak 1970'den beri geçen saniye sayısı. Bu değer CURLOPT_TIMECONDITION tarafından kullanılır.
CURLOPT_TIMEVALUE_LARGE | 1 Ocak 1970'den bu yana saniye cinsinden süre. CURLOPT_TIMECONDITION tarafından kullanılacak zaman. Öntanımlı sıfırdır. Bu seçenek ile CURLOPT_TIMEVALUE arasındaki fark, bağımsız değişkenin türüdür. "long" un yalnızca 32 bit genişliğinde olduğu sistemlerde, bu seçeneğin 2038 yılından sonraki tarihleri ayarlamak için kullanılması gerekir. | cURL 7.59.0'de eklendi. PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_UPKEEP_INTERVAL_MS | Bazı protokollerin "bağlantı bakım" düzenekleri vardır. Bu düzenekler, bağlantıyı canlı tutmak için genellikle mevcut bağlantılara bir miktar trafik gönderir. Bu seçenek, bağlantı bakım aralığını tanımlar. Şu anda, bağlantı bakım düzeneğine sahip tek protokol HTTP/2'dir. Bağlantı bakım aralığı aşıldığında, bağlantıya HTTP/2 PING tertibi gönderilir. 60 saniye varsayılan değerdir.
CURLOPT_UPLOAD_BUFFERSIZE | CURL yükleme tamponu için bayt cinsinden tercih edilen boyut. Yükleme tamponunun boyutu varsayılan olarak 64 kilobayttır. Tahsis edilebilecek tampon boyutunun azamisi 2 megabayt, asgarisi 16 kilobayttır.
CURLOPT_MAX_RECV_SPEED_LARGE | Bir indirme, aktarım sırasında birikimli ortalama olarak bu hızı (saniyede bayt olarak sayılır) aşarsa, ortalama hızı belirtilen değerden düşük veya ona eşit tutmak için aktarım durur. Sınırsız hız öntanımlıdır. | cURL 7.15.5'de eklendi.
CURLOPT_MAX_SEND_SPEED_LARGE | Bir yükleme, aktarım sırasında birikimli ortalama olarak bu hızı (saniyede bayt olarak sayılır) aşarsa, ortalama hızı belirtilen değerden düşük veya ona eşit tutmak için aktarım durur. Sınırsız hız öntanımlıdır. | cURL 7.15.5'de eklendi.
CURLOPT_SSH_AUTH_TYPES | CURLSSH_AUTH_PUBLICKEY, CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD sabitleri VEYAlanarak oluşturulan bit maskesi. libcurl'un kendi seçmesi için CURLSSH_AUTH_ANY sabitini atayın. | cURL 7.16.1'de eklendi.
CURLOPT_IPRESOLVE | Uygulamaya, konak adlarını çözümlerken ne tür IP adreslerinin kullanılacağını seçme izni verir. Bu, yalnızca birden fazla IP sürümünü kullanarak adresleri çözen konak adları kullanıldığında ilginçtir. Olası değerler: CURL_IPRESOLVE_WHATEVER, CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6 CURL_IPRESOLVE_WHATEVER öntanımlıdır. | cURL 7.10.8'de eklendi.
CURLOPT_FTP_FILEMETHOD | Curl'e FTP(S) sunucusundaki bir dosyaya ulaşmak için hangi yöntemin kullanacağını söyler. Olası değerler: CURLFTPMETHOD_DEFAULT, CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD, and CURLFTPMETHOD_SINGLECWD. | cURL 7.15.1'de eklendi.

değer bağımsız değişkenine aşağıdaki seçenek'ler için bir dizge atanmalıdır:

Seçenek | Atanacak değer | Ek bilgi
CURLOPT_ABSTRACT_UNIX_SOCKET | Bir sunucunun TCP bağlantısı kurmak yerine soyut bir Unix bağlamı soketinin kullanılmasını sağlar ve yolu belirtilen dizeye atar. Bu seçenek, CURLOPT_UNIX_SOCKET_PATH ile aynı sözdizimini paylaşır. Bu iki seçenek aynı depolamayı paylaşır ve bu nedenle her tanıtıcıya bunlardan yalnızca biri atanabilir. | cURL 7.53.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_ALTSVC | CURLOPT_ALTSVC_CTRL üzerinden CURLALTSVC_READONLYFILE etkin kılınmadıkça, mevcut önbellek içeriğini okumak ve muhtemelen bir aktarımdan sonra geri yazmak için Alt-Svc önbellek dosyası olarak kullanmak üzere cURL'ye dosya adını aktarır.
CURLOPT_ALTSVC_CTRL | cURL'ye bu tanıtıcıyı kullanarak aktarımlar için Alt-Svc'yi nasıl işleyeceğini bildirmek üzere bit maskesini doğru özellik grubuyla doldurur. cURL, HTTPS üzerinden yalnızca Alt-Svc başlıklarını kabul eder. Ayrıca, kaynak yalnızca HTTPS üzerinden uygun şekilde sunuluyorsa, başka bir kaynağa yönelik isteği tamamlayacaktır. Herhangi bir bitin etkinleştirilmesi Alt-Svc motorunu etkinleştirir. Seçenekler: CURLALTSVC_H1, CURLALTSVC_H2, CURLALTSVC_H3 ve CURLALTSVC_READONLYFILE.
CURLOPT_AWS_SIGV4

HTTP(S) başlığında AWS V4 imza kimlik doğrulaması sağlar.

Bu seçenek, CURLOPT_HTTPAUTH ile atanan diğer tüm kimlik doğrulama türlerini geçersiz kılar. Bu yöntem, diğer kimlik doğrulama türleriyle birleştirilemez.

CURLOPT_CAINFO | Eşle doğrulanacak bir veya daha fazla sertifikanın tutulduğu dosyanın ismi. Bu sadece CURLOPT_SSL_VERIFYPEER ile birlikte kullanıldığında anlamlıdır. | Mutlak bir yol gerektirebilir.
CURLOPT_CAINFO_BLOB | Eşi doğrulamak için bir veya daha fazla sertifika tutan bir PEM dosyasının adı. CURLOPT_CAINFO seçeneğini geçersiz kılar. | PHP 8.2.0 ve cURL 7.77.0 itibariyle kullanılabilmektedir.
CURLOPT_CAPATH | Çok sayıda CA sertifikasının tutulduğu dizinin yolu. CURLOPT_SSL_VERIFYPEER seçeneğiyle birlikte kullanılır.
CURLOPT_COOKIE | HTTP isteğinde kullanılacak "Cookie: " başlığının içeriği. Bir noktalı virgülden sonra gelen bir boşlukla ayrılarak çok sayıda çerez belirtilebilir ("meyve=elma; renk=turkuaz" gibi).
CURLOPT_COOKIEFILE | Çerez verisini içeren dosyanın adı. Çerez dosyası Netscape biçeminde veya bir dosyaya dökümlenmiş salt HTTP tarzı başlıklar olabilir. Ad boş bir dizeyse, hiçbir çerez yüklenmez, ancak çerez işleme yine de etkindir.
CURLOPT_COOKIEJAR | Tanıtıcı kapatıldığında (ör. curl_close çağrısından sonra) tüm dahili çerezlerin kaydedileceği dosyanın adı.
CURLOPT_COOKIELIST | Bir çerez dizesi (yani Netscape/Mozilla biçiminde tek bir satır veya normal bir HTTP tarzı Set-Cookie başlığı); bu tek çerez dahili çerez deposuna eklenir. "ALL", bellekte tutulan tüm çerezleri siler. "SESS" bellekte tutulan tüm oturum çerezlerini siler. "FLUSH" bilinen çerezleri CURLOPT_COOKIEJAR ile belirtilen dosyaya yazar. "RELOAD" tüm çerezleri CURLOPT_COOKIEFILE ile belirtilen dosyalardan yükler. | cURL 7.14.1'den beri kullanılabilmektedir.
CURLOPT_CUSTOMREQUEST

Bir HTTP isteği yaparken "GET" veya "HEAD" yerine kullanılacak özel istek yöntemi. "DELETE" veya biraz daha çapraşık HTTP istekleri yapmak için kullanışlıdır. Geçerli değerlerin bazıları: "GET", "POST", "CONNECT"; yani, istek satırının tamamını buraya girmeyin. Örneğin, "GET /index.html HTTP/1.0\r\n\r\n" girdisi yanlış olacaktır.

Bilginize:

Belirteceğiniz istek yöntemini sunucunun desteklediğinden emin olmadan bir şey belirtmeyin.

CURLOPT_DEFAULT_PROTOCOL

URL'de şema adı eksikse kullanılacak öntanımlı protokol.

cURL 7.45.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_HSTS

HSTS (HTTP Strict Transport Security - Sıkı Taşıma Güvenliği) önbellek dosya adı.

CURLOPT_HSTS_CTRL

HSTS (HTTP Strict Transport Security- Sıkı Taşıma Güvenliği) davranışını denetler. cURL'ye bu tanıtıcıyı kullanarak aktarımlar için HSTS'yi nasıl işleyeceğini öğretmek için bit maskesini doğru özellik kümesiyle doldurur. HSTS önbellek dosyası tanımlıysa dosyayı salt okunur yapmak için CURLHSTS_READONLYFILE atanır.

CURLOPT_DNS_INTERFACE

DNS çözümleyicinin bağlanması gereken ağ arabiriminin adını atayın. Bu bir arabirim adı olmalı, bir adres değil.

cURL 7.33.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_DNS_LOCAL_IP4

Çözümleyicinin bağlanması gereken yerel IPv4 adresini atayın. Bağımsız değişken, dizge olarak tek bir sayısal IPv4 adresi içermelidir.

cURL 7.33.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_DNS_LOCAL_IP6

Çözümleyicinin bağlanması gereken yerel IPv6 adresini atayın. Bağımsız değişken, dizge olarak tek bir sayısal IPv6 adresi içermelidir.

cURL 7.33.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_EGDSOCKET | Bozunum değerlerini toplama uygulamasına bir dosya ismi belirtmesi dışında CURLOPT_RANDOM_FILE gibidir.
CURLOPT_ENCODING | "Accept-Encoding: " başlığının içeriği. Yanıtın kodlanmasını sağlar. Desteklenen kodlamalar: "identity", "deflate" ve "gzip". Boş bir dizge "" belirtilirse desteklenen tüm kodlamaları içeren bir başlık gönderilir. | cURL 7.10'da eklendi.
CURLOPT_FTPPORT | FTP "PORT" komutu için kullanılacak IP adresini almakta kullanılacak değer. "PORT" komutu, uzak sunucunun bizim belirttiğimiz IP adresine bağlanmasını söyler. Dizge bir IP adresi içerebileceği gibi bir konakismi, (Unix altında) bir ağ arayüzü adı veya sistemin öntanımlı IP adresinin kullanılacağı anlamında '-' olabilir.
CURLOPT_INTERFACE | Kullanılacak giden ağ arayüzünün ismi. Bir ağ arabirimi ismi, bir IP adresi veya bir konak ismi olabilir.
CURLOPT_KEYPASSWD | CURLOPT_SSLKEY veya CURLOPT_SSH_PRIVATE_KEYFILE özel anahtarını kullanmak için parola gerekir. | cURL 7.16.1'de eklendi.
CURLOPT_KRB4LEVEL | KRB4 (Kerberos 4) güvenlik seviyesi. Geçerli değerler (en güçsüzden en güçlüye doğru): "clear", "safe", "confidential", "private".. Dizge bunlardan biri değilse "private" kullanılır. Bu seçeneğe null atanması KRB4 güvenliğini iptal eder. Şimdilik KRB4 güvenliği sadece FTP aktarımlarında çalışmaktadır.
CURLOPT_LOGIN_OPTIONS | "AUTH=NTLM" veya "AUTH=*" aracılığıyla tercih edilen kimlik doğrulama mekanizması gibi protokole özgü oturum açma seçeneklerini ayarlamak için kullanılabilir ve CURLOPT_USERNAME seçeneğiyle birlikte kullanılmalıdır. | cURL 7.34.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_PINNEDPUBLICKEY | Sabitlenmiş genel anahtarı atayın. Dize, sabitlenmiş genel anahtarınızın dosya adı olabilir. Beklenen dosya biçimi "PEM" veya "DER" dir. Dize, başında "sha256//" bulunan ve ";" ile ayrılmış çok sayıda base64 kodlu sha256 karması olabilir. | cURL 7.39.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_POSTFIELDS | Bir HTTP "POST" işleminde gönderilecek verinin tamamı. 'para1=val1&para2=val2&...' benzeri kodlanmış bir dizge veya alan isimlerinin anahtar, değerlerinin değer olarak yer aldığı bir dizi belirtilebilir. değer bir dizi ise Content-Type başlığına multipart/form-data atanır. value bir dizi olduğu takdirde, dosyalar CURLFile veya CURLStringFile kullanılarak gönderilebilir.
CURLOPT_PRIVATE | Bu cURL tanıtıcısı ile ilişkilendirilmesi gereken herhangi bir veri. Bu veriler daha sonra curl_getinfo() işlevinin CURLINFO_PRIVATE seçeneği ile alınabilir. cURL bu verilerle hiçbir şey yapmaz. Bir cURL çoklu tanıtıcısı kullanılırken, bu özel veriler tipik olarak standart bir cURL tanıtıcısını tanımlamak için benzersiz bir anahtardır. | cURL 7.10.3'da eklendi.
CURLOPT_PRE_PROXY | Bir sonraki istek için CURLOPT_PROXY seçeneğinde belirtilen HTTP(S) vekiline bağlanmadan önce curl'nin bağlanacağı ön vekil olarak kullanılacak konak adını veya noktalı sayısal IP adresini tutan bir dize atayın. Ön vekil yalnızca bir SOCKS vekili olabilir ve kullanılan soket türünü belirtmek için [şema]:// önekini almalıdır. Sayısal bir IPv6 adresi köşeli [parantez] içinde yazılmalıdır. Önvekilin boş bir dizeye ayarlanması, önvekil kullanımını açıkça devre dışı bırakır. Bu dizede port numarasını belirtmek için, konak adının ardına :[port] ekleyin. Vekil port numarası isteğe bağlı olarak ayrı bir seçenek olan CURLOPT_PROXYPORT ile belirtilebilir. Bir port belirtilmezse, vekiller için port 1080 öntanımlıdır. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY | İstekleri tünelleyecek HTTP vekili.
CURLOPT_PROXY_SERVICE_NAME | Vekil kimlik kanıtlama hizmetinin ismi. | cURL 7.34.0'da HTTP vekiller için, cURL 7.49.0'da SOCK5 vekilleri için eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_PROXY_CAINFO | Sertifika Yetkilisi (CA) paketini vekile götüren yol. Yolu, HTTPS vekilini doğrulamak için bir veya daha fazla sertifika içeren bir dosyayı adlandıran bir dize olarak ayarlayın. Bu seçenek bir HTTPS sunucusuna değil, bir HTTPS vekiline bağlanmak içindir. libcurl'un cacert paketinin saklandığı varsayılan sistem yolu öntanımlıdır. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_CAINFO_BLOB | HTTPS vekilini doğrulamak için bir veya daha fazla sertifika tutan PEM dosyasının adı. Bu seçenek, bir HTTPS sunucusuna değil, bir HTTPS vekiline bağlanmak içindir. Varsayılanlar, libcurl'ün cacert paketinin bulunduğu varsayılan sistem yoluna ayarlanmıştır. | PHP 8.2.0 ve libcurl >= cURL 7.77.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_CAPATH | HTTPS vekilini doğrulamak için birden çok CA sertifikası bulunan dizin. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_CRLFILE | Dosya adını, SSL değiş tokuşu sırasında gerçekleşen sertifika doğrulamasında kullanmak için PEM biçiminde CRL (Sertifika İptal Listesi) birleştirmesiyle ayarlayın. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_KEYPASSWD | CURLOPT_PROXY_SSLKEY özel anahtarını kullanmak için gereken şifre olarak kullanılacak dizeyi ayarlayın. Bir sertifikayı yüklemek için hiçbir zaman bir parola gerekmez, ancak özel anahtarınızı yüklemek için bir parolaya ihtiyacınız vardır. Bu seçenek bir HTTPS sunucusuna değil, bir HTTPS vekiline bağlanmak içindir. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_PINNEDPUBLICKEY | HTTPS vekili için sabitlenmiş genel anahtarı ayarlayın. Dize, sabitlenmiş genel anahtarınızın dosya adı olabilir. Beklenen dosya biçimi "PEM" veya "DER" dir. Dize, başında "sha256 //" bulunan ve ";" ile ayrılmış herhangi bir sayıda base64 kodlu sha256 karması olabilir | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_SSLCERT | HTTPS vekiline bağlanmak için kullanılan istemci sertifikanızın dosya adı. Öntanımlı biçem, Güvenli Aktarımda "P12" ve diğer motorlarda "PEM" dir ve CURLOPT_PROXY_SSLCERTTYPE ile bu değiştirilebilir. NSS veya Güvenli Aktarım ile bu, güvenlik veritabanında adı verildiği şekilde kimlik doğrulaması yapmak istediğiniz sertifikanın takma adı da olabilir. Mevcut dizinden bir dosya kullanmak istiyorsanız, bir takma adla karışıklığı önlemek için lütfen "./" ön ekini kullanın. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_SSLCERTTYPE | Bir HTTPS vekiline bağlanırken kullanılan istemci sertifikanızın biçimi. Güvenli Aktarım dışında desteklenen biçimler "PEM" ve "DER" dir. OpenSSL (0.9.3 ve üstü sürümler) ve Secure Transport (iOS 5 veya üstü veya OS X 10.7 veya üstü), PKCS#12 ile kodlanmış dosyalar için "P12" yi de destekler. "PEM" öntanımlıdır. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_SSL_CIPHER_LIST | HTTPS vekiline bağlantı için kullanılacak şifrelerin listesi. Liste sözdizimsel olarak doğru olmalıdır, iki nokta üst üste ile ayrılmış bir veya daha fazla şifre dizesinden oluşur. Virgüller veya boşluklar da kabul edilebilir ayırıcılardır ancak normalde iki nokta üst üste kullanılır, !, - ve + işleç olarak kullanılabilir. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_TLS13_CIPHERS | Bir vekile TLS 1.3 bağlantısı için kullanılacak şifre paketlerinin listesi. Liste sözdizimsel olarak doğru olmalıdır, iki nokta üst üste ile ayrılmış bir veya daha fazla şifre paketi dizesinden oluşur. Bu seçenek şu anda yalnızca curl OpenSSL 1.1.1 veya sonrasını kullanmak üzere oluşturulduğunda kullanılmaktadır. Farklı bir SSL arka ucu kullanıyorsanız, CURLOPT_PROXY_SSL_CIPHER_LIST seçeneğini kullanarak TLS 1.3 şifre paketlerini ayarlamayı deneyebilirsiniz. | libcurl >= cURL 7.61.0 ve PHP 7.3.0'dan beri OpenSSL >= 1.1.1 ile derlendiğinde kullanılabilmektedir.
CURLOPT_PROXY_SSLKEY | HTTPS vekiline bağlanmak için kullanılan özel anahtarınızın dosya adı. Öntanımlı biçim "PEM" dir ve CURLOPT_PROXY_SSLKEYTYPE ile değiştirilebilir. (Yalnızca iOS ve Mac OS X) Curl, Secure Transport'a göre oluşturulmuşsa bu seçenek yok sayılır. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri TLS etkin derlendiğinde kullanılabilmektedir.
CURLOPT_PROXY_SSLKEYTYPE | Özel anahtarınızın biçemi. Desteklenen biçemler: "PEM", "DER" ve "ENG". | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_TLSAUTH_PASSWORD | CURLOPT_PROXY_TLSAUTH_TYPE seçeneğiyle belirtilen TLS kimlik doğrulama yöntemi için kullanılacak parola. CURLOPT_PROXY_TLSAUTH_USERNAME seçeneğinin de ayarlanmasını gerektirir. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_TLSAUTH_TYPE HTTPS bağlantısı için kullanılan TLS kimlik doğrulama yöntemi. Desteklenen yöntem "SRP" dir.

Bilginize:

TLS için Güvenli Uzak Parola (SRP) kimlik doğrulaması, her iki tarafın da paylaşılan bir sırrı varsa karşılıklı kimlik doğrulama sağlar. TLS-SRP'yi kullanmak için ayrıca CURLOPT_PROXY_TLSAUTH_USERNAME ve CURLOPT_PROXY_TLSAUTH_PASSWORD seçeneklerini de ayarlamanız gerekir.

libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXY_TLSAUTH_USERNAME | CURLOPT_PROXY_TLSAUTH_TYPE seçeneğiyle belirtilen HTTPS vekili TLS kimlik doğrulama yöntemi için kullanılacak kullanıcı adı. CURLOPT_PROXY_TLSAUTH_PASSWORD seçeneğinin de ayarlanmasını gerektirir. | libcurl >= cURL 7.52.0 ve PHP 7.3.0'dan beri kullanılabilmektedir.
CURLOPT_PROXYUSERPWD | Vekil bağlantısı için kullanılacak kullanıcı adı ve parola; "[kullanıcı]:[parola]" biçeminde belirtilir.
CURLOPT_RANDOM_FILE | SSL için rasgele sayı üretecini tohumlamakta kullanılacak dosya ismi.
CURLOPT_RANGE | X ve Y isteğe bağlı olmak üzere "X-Y" biçeminde alınacak veri aralığı. HTTP aktarımları, "X-Y,N-M" biçeminde virgüllerle ayrılmış olarak çok sayıda aralığı destekler.
CURLOPT_REFERER | Bir HTTP isteğinde kullanılacak "Referer: " başlığının içeriği.
CURLOPT_SASL_AUTHZID | Aktarım için yetkilendirme kimliği (authzid). Yalnızca isteğe bağlı olduğu durumlarda salt metin SASL kimlik doğrulama düzeneği için geçerlidir. Belirtilmediğinde, yalnızca kullanıcı adıyla belirtilen kimlik doğrulama kimliği (authcid), parolayla birlikte sunucuya gönderilir. Sunucu, sağlanmadığında authzid'i authcid'den türetecek ve bunu daha sonra dahili olarak kullanacaktır.
CURLOPT_SERVICE_NAME | Kimlik kanıtlama hizmetini adı. | cURL 7.43.0'da eklendi. PHP 7.0.7'dan beri kullanılabilmektedir.
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 | 32 onaltılık basamak içeren bir dize. Dize, uzak ana bilgisayarın genel anahtarının MD5 sağlama toplamı olmalıdır; libcurl, md5sums eşleşmediği sürece konağa bağlantıyı reddedecektir. Bu seçenek yalnızca SCP ve SFTP aktarımları içindir.. | cURL 7.17.1'da eklendi.
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 | Uzak konağın genel anahtarının Base64 kodlu SHA256 aşı. Verilen aş, uzak konağın sağladığı aş ile eşleşmezse aktarım başarısız olur.
CURLOPT_SSH_PUBLIC_KEYFILE | Genel anahtarınızın dosya adı. Kullanılmazsa, libcurl öntanımlı olarak HOME ortam değişkeni ayarlanmışsa $HOME/.ssh/id_dsa.pub dosyasını ve HOME ayarlanmamışsa geçerli dizinde bir "id_dsa.pub" dosyası arar. | cURL 7.16.1'da eklendi.
CURLOPT_SSH_PRIVATE_KEYFILE | Özel anahtarınızın dosya adı. Kullanılmazsa, libcurl öntanımlı olarak HOME ortam değişkeni ayarlanmışsa $HOME/.ssh/id_dsa dosyasını ve HOME ayarlanmamışsa geçerli dizinde bir "id_dsa" dosyası arar. Dosya parola korumalıysa, parolayı CURLOPT_KEYPASSWD ile ayarlayın. | cURL 7.16.1'da eklendi.
CURLOPT_SSL_CIPHER_LIST | SSL için kullanılacak şifrelerin listesi. Örneğin, RC4-SHA ve TLSv1 geçerli şifre listeleridir.
CURLOPT_SSL_EC_CURVES | Eliptik eğri algoritmalarının iki nokta üst üstelerle ayrılmış listesi. Örneğin, X25519:P-521, iki eliptik eğrinin geçerli listesidir. Bu seçenek, cURL SSL arka ucu olarak bunu desteklemek için derlenmişse, istemcinin SSL el sıkışmasındaki anahtar değişim algoritmalarını tanımlar.
CURLOPT_SSLCERT | PEM biçemli sertifikayı içeren dosyanın ismi.
CURLOPT_SSLCERTPASSWD | CURLOPT_SSLCERT sertifikasını kullanmak için gereken parola.
CURLOPT_SSLCERTTYPE | Sertifika biçemi. Desteklenen biçemler: "PEM" (öntanımlı), "DER" ve "ENG". OpenSSL 0.9.3 itibariyle ayrıca, "P12" (PKCS#12 kodlu dosyalar) desteklenmiştir. | cURL 7.9.3'te eklendi.
CURLOPT_SSLENGINE | CURLOPT_SSLKEY ile belirtilmiş gizli SSL anahtarının şifreleme motoru için betimleyici.
CURLOPT_SSLENGINE_DEFAULT | Bakışımsız şifreleme işlemleri için kullanılan şifreleme motoru için betimleyici.
CURLOPT_SSLKEY | Gizli SSL anahtarını içeren dosyanın ismi.
CURLOPT_SSLKEYPASSWD

CURLOPT_SSLKEY ile belirtilen gizli SSL anahtarını kullanmak için gereken gizli parola.

Bilginize:

Bu seçenekle belirtilen parolayı yetkisiz kişilerin okumaması için PHP betiğini güvenilir bir yerde tutmaya çalışın.

CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEYile belirtilen gizli SSL anahtarının anahtar türü. Desteklenen anahtar türleri: "PEM" (öntanımlı), "DER", ve "ENG".
CURLOPT_TLS13_CIPHERS | TLS 1.3 bağlantısı için kullanılacak şifre paketlerinin listesi. Liste sözdizimsel olarak doğru olmalıdır, iki nokta üst üste ile ayrılmış bir veya daha fazla şifre paketi dizesinden oluşur. Bu seçenek şu anda yalnızca curl, OpenSSL 1.1.1 veya sonrasını kullanmak üzere derlendiğinde kullanılmaktadır. Farklı bir SSL arka ucu kullanıyorsanız, CURLOPT_SSL_CIPHER_LIST seçeneğini kullanarak TLS 1.3 şifre paketlerini ayarlamayı deneyebilirsiniz. | libcurl >= cURL 7.61.0 ve PHP 7.3.0'den beri kullanılabilmektedir. OpenSSL >= 1.1.1 ile derlendiğinde kullanılabilir.
CURLOPT_UNIX_SOCKET_PATH | Unix etki alanı soketlerinin bağlantı uç noktası olarak kullanılmasını sağlar ve verilen dizeye yolu ayarlar. | cURL 7.40.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_URL | İçeriği alınacak URL. Oturumu curl_init() ile ilklendirirken de belirtilebilir.
CURLOPT_USERAGENT | HTTP isteğinde kullanılacak "User-Agent: "başlığının içeriği.
CURLOPT_USERNAME | Kimlik kanıtlamada kullanılacak kullanıcı adı. | cURL 7.19.1'de eklendi.
CURLOPT_PASSWORD | Kimlik kanıtlamada kullanılacak parola. | cURL 7.19.1'de eklendi.
CURLOPT_USERPWD | Bağlantı için kullanılmak üzere "[kullanıcı]:[parola]" biçeminde kullanıcı adı ve parola.
CURLOPT_XOAUTH2_BEARER | OAuth 2.0 erişim jetonunu belirtir. | cURL 7.33.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.

değer bağımsız değişkenine aşağıdaki seçenek'ler için bir dizi atanmalıdır:

Seçenek | Atanacak değer | Ek bilgi
CURLOPT_CONNECT_TO | URL'nin konak ve portu yerine belirli bir konak ve porta bağlanır. KONAK:PORT:BAĞLANILACAK-KONAK:BAĞLANILACAK-PORT biçimindeki dizeleri kabul eder. | cURL 7.49.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_HTTP200ALIASES | Hata değil geçerli yanıtlar olarak ele alınmak üzere HTTP 200 yanıtlarını içeren bir dizi. | cURL 7.10.3'te eklendi.
CURLOPT_HTTPHEADER | array('Content-type: text/plain', 'Content-length: 100') biçiminde, atanacak HTTP başlık alanları dizisi.
CURLOPT_POSTQUOTE | FTP isteği yapıldıktan sonra sunucu üzerinde çalıştırılacak komutları içeren bir dizi.
CURLOPT_PROXYHEADER | Vekillere iletilecek özel HTTP başlıkları dizisi. | cURL 7.37.0'da eklendi. PHP 7.0.7'den beri kullanılabilmektedir.
CURLOPT_QUOTE | FTP isteği yapılmadan önce sunucu üzerinde çalıştırılacak komutları içeren bir dizi.
CURLOPT_RESOLVE | Belirli bir konak ve port çifti için özel bir adres sağlar. array("example.com:80:127.0.0.1") biçiminde, iki nokta üst üsteler ile ayrılmış konak adı, port ve IP adresi dizeleri dizisi. | cURL 7.21.3'te eklendi.

değer bağımsız değişkenine aşağıdaki seçenek'ler için (örneğin fopen() kullanarak) bir akım özkaynağı atanmalıdır:

Seçenek | Atanacak değer | Ek bilgi
CURLOPT_FILE | Aktarımın yazılacağı dosya. STDOUT (tarayıcı penceresi) öntanımlıdır.
CURLOPT_INFILE | Karşıya yükleme sırasında aktarımın okuyacağı dosya.
CURLOPT_STDERR | Çıktı hatalarının gönderileceği STDERR yerine kullanılacak dosya.
CURLOPT_WRITEHEADER | Aktarımın başlık bölümünün yazılacağı dosya.
CURLOPT_XFERINFOFUNCTION | İki bağımsız değişkenli bir geri çağırım işlev. CURLOPT_PROGRESSFUNCTION ile benzer bir amacı vardır ama cURL'deki en güncel ve tercih edilen işlevdir. | 7.32.0 sürümünde eklendi. PHP 8.2.0 ve sonrasında kullanılabilmektedir.

değer, aşağıdaki Seçenek değerleri için bir Closure nesnesi veya geçerli bir işlev ismi olmalıdır:

Seçenek | Atanacak değer | Ek Bilgi
CURLOPT_HEADERFUNCTION | İki bağımsız değişkenli bir geriçağırım işlevinin ismi. Bağımsız değişkenlerin ilki bir cURL özkaynağı, ikincisi ise başlık verisinin yazılacağı bir dizge olmalıdır. Başlık verisi bu geriçağırım işlevi kullanılırken yazılmalıdır. İşlevin dönüş değeri yazılan bayt sayısı olmalıdır.
CURLOPT_PASSWDFUNCTION | Üç bağımsız değişkenli bir geriçağırım işlevinin ismi. Bağımsız değişkenlerin ilki bir cURL özkaynağı, ikincisi parola istemi belirten bir dizge, üçüncüsü ise parolanın azami uzunluğu olmalıdır. İşlevin dönüş değeri parolayı içeren bir dizge olmalıdır. | PHP 7.3.0'da kaldırıldı.
CURLOPT_PROGRESSFUNCTION

Beş bağımsız değişkenli bir geriçağırım işlevinin ismi. Bağımsız değişkenlerin ilki bir cURL özkaynağı, ikincisi bu aktarımda indirilmesi beklenen toplam bayt sayısı, üçüncüsü şu ana kadar indirilen bayt sayısı, dördüncüsü bu aktarımda yüklenmesi beklenen toplam bayt sayısı ve beşincisi, şimdiye kadar yüklenen bayt sayısıdır.

Bilginize:

Geriçağırım işlevi sadece CURLOPT_NOPROGRESS seçeneğinin değeri false ise çağrılır.

Aktarımdan çıkmak için sıfırdan farklı bir değer döndürün. Bu durumda aktarım bir CURLE_ABORTED_BY_CALLBACK hatası verir. error.

CURLOPT_READFUNCTION | Üç bağımsız değişkenli bir geriçağırım işlevinin ismi. Bağımsız değişkenlerin ilki bir cURL özkaynağı, ikincisi CURLOPT_INFILE seçeneği aracılığıyla cURL'ye sağlanan bir akım özkaynağı ve üçüncüsü okunacak azami veri miktarıdır. İşlev, genellikle aktarılan akım özkaynağından okuyarak, istenen veri miktarına eşit veya daha kısa uzunlukta bir dize döndürmelidir. EOF sinyali vermek için boş bir dizi döndürülmelidir.
CURLOPT_WRITEFUNCTION | İki bağımsız değişkenli bir geriçağırım işlevinin ismi. Bağımsız değişkenlerin ilki bir cURL özkaynağı, ikincisi ise yazılacak veriyi içeren bir dizge olmalıdır. Veri bu geriçağırım işlevi kullanılarak kaydedilmelidir. İşlevin dönüş değeri yazılan bayt sayısı olmalıdır, aksi takdirde bir hata vererek aktarımdan çıkılmalıdır.

Other values:

Seçenek | Atanacak değer
CURLOPT_SHARE | curl_share_init() işlevinden dönen değer. cURL tanıtıcısının paylaşılan tanıtıcıdaki verileri kullanmasını sağlar.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.
7.3.15, 7.4.3 | CURLOPT_HTTP09_ALLOWED eklendi.
7.3.0 | CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE ve CURLOPT_TLS13_CIPHERS eklendi.
7.0.7 | CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT ve CURLSSLOPT_NO_REVOKE eklendi.

Örnekler

Örnek 1 - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması

<?php
// Yeni bir cURL özkaynağı oluşturalım
$ct = curl_init();

// URL'yi ve ilgili seçenekleri belirtelim
curl_setopt($ct, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ct, CURLOPT_HEADER, false);

// URL'yi tarayıcıya aktaralım
curl_exec($ct);

// cURL özkaynağını kapatıp sistem özkaynaklarını serbest bırakalım
curl_close($ct);
?>

Notlar

Bilginize:

CURLOPT_POSTFIELDS seçeneğine bir dizinin aktarılması verinin multipart/form-data olarak kodlanmasına, bir URL kodlu dizge atanması ise verinin application/x-www-form-urlencoded olarak kodlanmasına sebep olur.

Ayrıca Bakınız

  • curl_setopt_array() - Belirtilen cURL oturumuna çok sayıda seçenek atar
  • CURLFile
  • CURLStringFile


cURL paylaşımlı tanıtıcısını kapatır

  • « curl_setopt
  • curl_share_errno »
  • PHP Manual
  • cURL İşlevleri
  • cURL paylaşımlı tanıtıcısını kapatır

curl_share_close

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_close — cURL paylaşımlı tanıtıcısını kapatır

Açıklama

curl_share_close(CurlShareHandle $tanıtıcı): void

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

Belirtilen cURL paylaşımlı tanıtıcısını kapatır ve tüm kaynakları serbest bırakır.

Bağımsız Değişkenler

tanıtıcı

curl_share_init() işlevinden dönen cURL paylaşımlı tanıtıcısı.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlShareHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_share_setopt() örneği

Bu örnekte paylaşımlı bir cURL tanıtıcısı oluşturulmakta ve buna 2 tanıtıcı eklenip paylaşımlı çerez verisi ile çalıştırılmaktadır.

<?php
// cURL paylaşımlı tanıtıcısı oluştur ve çerez verisini paylaşmaya ayarla
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// İlk cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// İlk cURL tanıtıcısını yürüt
curl_exec($ch1);

// 2. cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// 2. cURL tanıtıcısını yürüt
// $ch1 tanıtıcısındaki tüm çerezler $ch2 tanıtıcısıyla paylaşılıyor
curl_exec($ch2);

// paylaşımlı tanıtıcıyı kapat
curl_share_close($sh);

// diğer cURL tanıtıcılarını kapat
curl_close($ch1);
curl_close($ch2);
?>

Ayrıca Bakınız

  • curl_share_init() - cURL paylaşımlı tanıtıcısını ilklendirir


Sonuncu paylaşımlı curl hata numarasını döndürür

  • « curl_share_close
  • curl_share_init »
  • PHP Manual
  • cURL İşlevleri
  • Sonuncu paylaşımlı curl hata numarasını döndürür

curl_share_errno

(PHP 7 >= 7.1.0, PHP 8)

curl_share_errno — Sonuncu paylaşımlı curl hata numarasını döndürür

Açıklama

curl_share_errno(CurlShareHandle $tanıtıcı): int

Sonuncu paylaşımlı curl hata numarasını tamsayı olarak döndürür.

Bağımsız Değişkenler

tanıtıcı

curl_share_init() işlevinden dönen cURL paylaşımlı tanıtıcısı.

Dönen Değerler

Sonuncu paylaşımlı curl hata numarası bir tamsayı olarak döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarısızlık durumunda artık false dönmüyor.
8.0.0 | tanıtıcı için artık bir CurlShareHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Ayrıca Bakınız

  • curl_errno() - Belirtilen oturumdaki son hatanın kodunu döndürür


cURL paylaşımlı tanıtıcısını ilklendirir

  • « curl_share_errno
  • curl_share_setopt »
  • PHP Manual
  • cURL İşlevleri
  • cURL paylaşımlı tanıtıcısını ilklendirir

curl_share_init

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_init — cURL paylaşımlı tanıtıcısını ilklendirir

Açıklama

curl_share_init(): CurlShareHandle

cURL tanıtıcıları arasında verinin paylaşılmasını sağlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İlklendirilen cURL paylaşımlı tanıtıcısı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev artık CurlShareHandle örneği döndürüyor; evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - curl_share_init() örneği

Bu örnekte paylaşımlı bir cURL tanıtıcısı oluşturulmakta ve buna 2 tanıtıcı eklenip paylaşımlı çerez verisi ile çalıştırılmaktadır.

<?php
// cURL paylaşımlı tanıtıcısı oluştur ve çerez verisini paylaşmaya ayarla
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// İlk cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// İlk cURL tanıtıcısını yürüt
curl_exec($ch1);

// 2. cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// 2. cURL tanıtıcısını yürüt
// $ch1 tanıtıcısındaki tüm çerezler $ch2 tanıtıcısıyla paylaşılıyor
curl_exec($ch2);

// paylaşımlı tanıtıcıyı kapat
curl_share_close($sh);

// diğer cURL tanıtıcılarını kapat
curl_close($ch1);
curl_close($ch2);
?>

Ayrıca Bakınız

  • curl_share_setopt() - cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar
  • curl_share_close() - cURL paylaşımlı tanıtıcısını kapatır


cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar

  • « curl_share_init
  • curl_share_strerror »
  • PHP Manual
  • cURL İşlevleri
  • cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar

curl_share_setopt

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_share_setopt — cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar

Açıklama

curl_share_setopt(CurlShareHandle $tanıtıcı, int $seçenek, mixed $değer): bool

Belirtilen cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar.

Bağımsız Değişkenler

tanıtıcı

curl_share_init() işlevinden dönen cURL paylaşımlı tanıtıcısı.

seçenek

Seçenek | Açıklama
CURLSHOPT_SHARE | Paylaşılacak verinin türü.
CURLSHOPT_UNSHARE | Artık paylaşılmayacak verinin türü.

değer

Değer | Açıklama
CURL_LOCK_DATA_COOKIE | Paylaşımlı çerez verisi.
CURL_LOCK_DATA_DNS | Shares DNS önbelleğini paylaşır. Çoklu cURL tanıtıcısı kullanılırsa bu tanıtıcıya eklenen tüm tanıtıcılar öntanımlı olarak DNS önbelleğini paylaşır.
CURL_LOCK_DATA_SSL_SESSION | Aynı sunucuyla SSL anlaşmasında harcanan zamanı azaltmak için SSL oturum kimliklerini paylaşır. SSL oturum kimliklerinin öntanımlı olarak aynı tanıtıcı içinde tekrar kullanılacağı unutulmamalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlShareHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_share_setopt() örneği

Bu örnekte paylaşımlı bir cURL tanıtıcısı oluşturulmakta ve buna 2 tanıtıcı eklenip paylaşımlı çerez verisi ile çalıştırılmaktadır.

<?php
// cURL paylaşımlı tanıtıcısı oluştur ve çerez verisini paylaşmaya ayarla
$sh = curl_share_init();
curl_share_setopt($sh, CURLSHOPT_SHARE, CURL_LOCK_DATA_COOKIE);

// İlk cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch1 = curl_init("http://example.com/");
curl_setopt($ch1, CURLOPT_SHARE, $sh);

// İlk cURL tanıtıcısını yürüt
curl_exec($ch1);

// 2. cURL tanıtıcısını ilklendir ve buna paylaşımlı tanıtıcıyı ata
$ch2 = curl_init("http://php.net/");
curl_setopt($ch2, CURLOPT_SHARE, $sh);

// 2. cURL tanıtıcısını yürüt
// $ch1 tanıtıcısındaki tüm çerezler $ch2 tanıtıcısıyla paylaşılıyor
curl_exec($ch2);

// paylaşımlı tanıtıcıyı kapat
curl_share_close($sh);

// diğer cURL tanıtıcılarını kapat
curl_close($ch1);
curl_close($ch2);
?>


Hata kodunun açıklamasını döndürür

  • « curl_share_setopt
  • curl_strerror »
  • PHP Manual
  • cURL İşlevleri
  • Hata kodunun açıklamasını döndürür

curl_share_strerror

(PHP 7 >= 7.1.0, PHP 8)

curl_share_strerror — Hata kodunun açıklamasını döndürür

Açıklama

curl_share_strerror(int $hata_kodu): ?string

Belirtilen paylaşımlı cURL hata kodunu açıklayan hata iletisini döndürür.

Bağımsız Değişkenler

hata_kodu

» çoklu cURL hata kodu sabitlerinden biri.

Dönen Değerler

Hata kodu geçerliyse hata kodunu açıklayan bir dizge, geçersizse null döner.

Ayrıca Bakınız

  • curl_share_errno() - Sonuncu paylaşımlı curl hata numarasını döndürür
  • curl_strerror() - Hata kodunun açıklamasını döndürür


Hata kodunun açıklamasını döndürür

  • « curl_share_strerror
  • curl_unescape »
  • PHP Manual
  • cURL İşlevleri
  • Hata kodunun açıklamasını döndürür

curl_strerror

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_strerror — Hata kodunun açıklamasını döndürür

Açıklama

curl_strerror(int $hata_kodu): ?string

Belirtilen cURL hata kodunu açıklayan hata iletisini döndürür.

Bağımsız Değişkenler

hata_kodu

» çoklu cURL hata kodu sabitlerinden biri.

Dönen Değerler

Hata kodu geçerliyse hata kodunu açıklayan bir dizge, geçersizse null döner.

Örnekler

Örnek 1 - curl_errno() örneği

<?php
// URL'de yanlış yazılmış protokol ile bir cURL tanıtıcısı oluştur
$ch = curl_init("htp://example.com/");

// İsteği gönder
curl_exec($ch);

// Hatalara bak ve hata iletisini göster
if($errno = curl_errno($ch)) {
$error_message = curl_strerror($errno);
echo "cURL error ({$errno}):\n {$error_message}";
}

// Tanıtıcıyı kapat
curl_close($ch);
?>

Yukarıdaki örneğin çıktısı:

cURL error (1):
 Unsupported protocol

Ayrıca Bakınız

  • curl_errno() - Belirtilen oturumdaki son hatanın kodunu döndürür
  • curl_error() - Belirtilen oturumdaki son hatayı içeren bir dizge döndürür
  • » Curl hata kodları


URL kodlu dizgeyi çözümler

  • « curl_strerror
  • curl_upkeep »
  • PHP Manual
  • cURL İşlevleri
  • URL kodlu dizgeyi çözümler

curl_unescape

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

curl_unescape — URL kodlu dizgeyi çözümler

Açıklama

curl_unescape(CurlHandle $tanıtıcı, string $dizge): string|false

Belirtilen URL kodlu dizgeyi çözümler.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

dizge

Çözümlenecek URL kodlu dizge.

Dönen Değerler

Kodu çözülmüş dizge, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tanıtıcı için artık bir CurlHandle örneği bekleniyor; evvelce, resource türünde bir değer beklenirdi.

Örnekler

Örnek 1 - curl_escape() örneği

<?php
// curl tanıtıcısı oluştur
$ch = curl_init('http://example.com/redirect.php');

// HTTP isteğini gönder ve yönlendirmeleri izle
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_exec($ch);

// Etkin son URL'yi al
$effective_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
// ie. "http://example.com/show_location.php?loc=M%C3%BCnchen"

// URL'yi çözümle
$effective_url_decoded = curl_unescape($ch, $effective_url);
// "http://example.com/show_location.php?loc=München"

// Tanıtıcıyı kapat
curl_close($ch);
?>

Notlar

Bilginize:

curl_unescape() işlevi boşluklarla sarmalanmış artı işaretlerini (+) çözümlemez. urldecode() çözümler.

Ayrıca Bakınız

  • curl_escape() - Dizgeyi URL'de kullanım için kodlar
  • urlencode() - Dizgeye URL kodlaması uygular
  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer
  • rawurlencode() - RFC 3986'ya uygun URL kodlaması yapar
  • rawurldecode() - URL kodlamalı dizgenin kodlamasını kaldırır


Performs any connection upkeep checks

  • « curl_unescape
  • curl_version »
  • PHP Manual
  • cURL İşlevleri
  • Performs any connection upkeep checks

curl_upkeep

(PHP 8 >= 8.2.0)

curl_upkeep — Performs any connection upkeep checks

Açıklama

curl_upkeep(CurlHandle $handle): bool

Available if built against libcurl >= 7.62.0.

Some protocols have "connection upkeep" mechanisms. These mechanisms usually send some traffic on existing connections in order to keep them alive; this can prevent connections from being closed due to overzealous firewalls, for example.

Connection upkeep is currently available only for HTTP/2 connections. A small amount of traffic is usually sent to keep a connection alive. HTTP/2 maintains its connection by sending a HTTP/2 PING frame.

Bağımsız Değişkenler

tanıtıcı

curl_init() işlevinden dönen bir cURL tanıtıcısı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 curl_upkeep() example

<?php
$url = "https://example.com";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_2_0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_UPKEEP_INTERVAL_MS, 200);
if (curl_exec($ch)) {
usleep(300);
var_dump(curl_upkeep($ch));
}
curl_close($ch);
?>

Ayrıca Bakınız

  • curl_init() - Bir cURL oturumunu ilklendirir


cURL sürüm bilgilerini döndürür

  • « curl_upkeep
  • CurlHandle »
  • PHP Manual
  • cURL İşlevleri
  • cURL sürüm bilgilerini döndürür

curl_version

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

curl_version — cURL sürüm bilgilerini döndürür

Açıklama

curl_version(): array|false

cURL sürümü hakkında bilgi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Aşağıdaki elemanları içeren bir ilişkisel dizi döner:

Anahtar | Değer
version_number | 24 bitlik cURL sürüm numarası
version | Bir dizge olarak cURL sürüm numarası
ssl_version_number | 24 bitlik OpenSSL sürüm numarası
ssl_version | Bir dizge olarak OpenSSL sürüm numarası
libz_version | Bir dizge olarak zlib sürüm numarası
host | cURL'nin kurulu olduğu konut hakkında bilgi
age |
features | CURL_VERSION_XXX sabitlerinden oluşan bir bit maskesi
protocols | cURL tarafından desteklenen protokol isimlerini içeren bir dizi

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Seçimlik age bağımsız değişkeni kaldırıldı.
7.4.0 | Seçimlik age bağımsız değişkeninin kullanımı artık önerilmiyor, aktarılan bir değer varsa yoksayılıyor.

Örnekler

Örnek 1 - curl_version() örneği

Bu örnekte, curl_version() ile döndürülen 'features' bit maskesini kullanarak mevcut cURL kurulumuyla hangi özelliklerin kullanılabileceğine bakılmaktadır.

<?php
// cURL sürüm dizisini alalım
$sürüm = curl_version();

// cURL kurulumundaki özellikleri
// bu bit maskesinden öğreneceğiz
$bitmaskesi = Array(
'CURL_VERSION_IPV6',
'URL_VERSION_KERBEROS4',
'CURL_VERSION_SSL',
'CURL_VERSION_LIBZ'
);

foreach($bitmaskesi as $özellik)
{
echo $özellik . ($sürüm['features'] & constant($özellik) ?
' kullanılabilir' : ' kullanılamaz');
echo PHP_EOL;
}
?>


CurlHandle sınıfı

(PHP 8)

Giriş

PHP 8.0.0'dan itibaren curl özkaynaklarının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class CurlHandle {
}


CurlMultiHandle sınıfı

(PHP 8)

Giriş

PHP 8.0.0'dan itibaren curl_multi özkaynaklarının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class CurlMultiHandle {
}


CurlShareHandle sınıfı

(PHP 8)

Giriş

PHP 8.0.0'dan itibaren curl_share özkaynaklarının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class CurlShareHandle {
}


CURLFile sınıfı

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Giriş

CURLFile veya CURLStringFile bir dosyayı CURLOPT_POSTFIELDS ile karşıya yüklemek için kullanılmalıdır.

CURLFile örneklerinin nesneleştirilmesine izin verilmez. PHP 7.4.0 itibariyle, dizgeleştirmek de mümkün değildir.

Sınıf Sözdizimi

class CURLFile {
/* Özellikler */
public string $name = "";
public string $mime = "";
public string $postname = "";
/* Yöntemler */
public __construct(string $dosya, ?string $mime_türü = null, ?string $post_dosyası = null)
public getFilename(): string
public getMimeType(): string
public getPostFilename(): string
public setMimeType(string $mime_türü): void
public setPostFilename(string $post_dosyası): void
}

Özellikler

name

Yüklenecek dosyanın ismi.

mime

Dosyanın MIME türü (application/octet-stream öntanımlıdır).

postname

Yüklenen veride dosyanın ismi (name özelliğinin değeri öntanımlıdır).

Ayrıca Bakınız

  • curl_setopt()
  • CURLStringFile

İçindekiler

  • CURLFile::__construct — Bir CURLFile nesnesi oluşturur
  • CURLFile::getFilename — Dosya ismi döndürür
  • CURLFile::getMimeType — MIME türünü döndürür
  • CURLFile::getPostFilename — POST için dosya ismi döndürür
  • CURLFile::setMimeType — MIME türü tanımlar
  • CURLFile::setPostFilename — POST için dosya ismi tanımlar


Bir CURLFile nesnesi oluşturur

  • « CURLFile
  • CURLFile::getFilename »
  • PHP Manual
  • CURLFile
  • Bir CURLFile nesnesi oluşturur

CURLFile::__construct

curl_file_create

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::__construct -- curl_file_create — Bir CURLFile nesnesi oluşturur

Açıklama

Nesne yönelimli kullanım

public CURLFile::__construct(string $dosya, ?string $mime_türü = null, ?string $post_dosyası = null)

Yordamsal kullanım

curl_file_create(string $dosya, ?string $mime_türü = null, ?string $post_dosyası = null): CURLFile

CURLOPT_POSTFIELDS ile bir dosyayı yüklemek için kullanılacak CURLFile nesnesini oluşturur.

Bağımsız Değişkenler

dosya

Yüklenecek dosyanın yolu.

mime_türü

Dosyanın MIME türü.

post_dosyası

Yüklenen veride (POST) kullanılacak dosya ismi.

Dönen Değerler

Bir CURLFile nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | mime_type ve posted_filename artık null olabiliyor; evvelce 0 öntanımlıydı.

Örnekler

Örnek 1 - CURLFile::__construct() örneği

Nesne yönelimli kullanım

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// cURL tanıtıcı oluştur
$ch = curl_init('http://example.com/upload.php');

// CURLFile nesnesini oluştur
$cfile = new CURLFile('cats.jpg','image/jpeg','test_name');

// POST verisini ata
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Tanıtıcıyı yürüt
curl_exec($ch);
?>

Yordamsal kullanım

<?php
/* http://example.com/upload.php:
<?php var_dump($_FILES); ?>
*/

// cURL tanıtıcı oluştur
$ch = curl_init('http://example.com/upload.php');

// CURLFile nesnesini oluştur
$cfile = curl_file_create('cats.jpg','image/jpeg','test_name');

// POST verisini ata
$data = array('test_file' => $cfile);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Tanıtıcıyı yürüt
curl_exec($ch);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["test_file"]=>
  array(5) {
    ["name"]=>
    string(9) "test_name"
    ["type"]=>
    string(10) "image/jpeg"
    ["tmp_name"]=>
    string(14) "/tmp/phpPC9Kbx"
    ["error"]=>
    int(0)
    ["size"]=>
    int(46334)
  }
}

Örnek 2 -CURLFile::__construct() çok sayıda dosya yükleme örneği

Nesne yönelimli kullanım

<?php
$request = curl_init('http://www.example.com/upload.php');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_SAFE_UPLOAD, true);
curl_setopt($request, CURLOPT_POSTFIELDS, [
'blob[0]' => new CURLFile(realpath('first-file.jpg'), 'image/jpeg'),
'blob[1]' => new CURLFile(realpath('second-file.txt'), 'text/plain'),
'blob[2]' => new CURLFile(realpath('third-file.exe'), 'application/octet-stream'),
]);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);

echo curl_exec($request);

var_dump(curl_getinfo($request));

curl_close($request);

Yordamsal kullanım

<?php
$request = curl_init('http://www.example.com/upload.php');
curl_setopt($request, CURLOPT_POST, true);
curl_setopt($request, CURLOPT_SAFE_UPLOAD, true);
curl_setopt($request, CURLOPT_POSTFIELDS, [
'blob[0]' => curl_file_create(realpath('first-file.jpg'), 'image/jpeg'),
'blob[1]' => curl_file_create(realpath('second-file.txt'), 'text/plain'),
'blob[2]' => curl_file_create(realpath('third-file.exe'), 'application/octet-stream'),
]);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);

echo curl_exec($request);

var_dump(curl_getinfo($request));

curl_close($request);

Yukarıdaki örneğin çıktısı:

array(26) {
  ["url"]=>
  string(31) "http://www.example.com/upload.php"
  ["content_type"]=>
  string(24) "text/html; CHARSET=Windows-1254"
  ["http_code"]=>
  int(200)
  ["header_size"]=>
  int(198)
  ["request_size"]=>
  int(196)
  ["filetime"]=>
  int(-1)
  ["ssl_verify_result"]=>
  int(0)
  ["redirect_count"]=>
  int(0)
  ["total_time"]=>
  float(0.060062)
  ["namelookup_time"]=>
  float(0.028575)
  ["connect_time"]=>
  float(0.029011)
  ["pretransfer_time"]=>
  float(0.029121)
  ["size_upload"]=>
  float(3230730)
  ["size_download"]=>
  float(811)
  ["speed_download"]=>
  float(13516)
  ["speed_upload"]=>
  float(53845500)
  ["download_content_length"]=>
  float(811)
  ["upload_content_length"]=>
  float(3230730)
  ["starttransfer_time"]=>
  float(0.030355)
  ["redirect_time"]=>
  float(0)
  ["redirect_url"]=>
  string(0) ""
  ["primary_ip"]=>
  string(13) "0.0.0.0"
  ["certinfo"]=>
  array(0) {
  }
  ["primary_port"]=>
  int(80)
  ["local_ip"]=>
  string(12) "0.0.0.0"
  ["local_port"]=>
  int(34856)
}

Ayrıca Bakınız

  • curl_setopt() - Bir cURL aktarım seçeneği tanımlar


Dosya ismi döndürür

  • « CURLFile::__construct
  • CURLFile::getMimeType »
  • PHP Manual
  • CURLFile
  • Dosya ismi döndürür

CURLFile::getFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getFilename — Dosya ismi döndürür

Açıklama

public CURLFile::getFilename(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dosya ismi döndürür.


MIME türünü döndürür

  • « CURLFile::getFilename
  • CURLFile::getPostFilename »
  • PHP Manual
  • CURLFile
  • MIME türünü döndürür

CURLFile::getMimeType

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getMimeType — MIME türünü döndürür

Açıklama

public CURLFile::getMimeType(): string

Verinin MIME türünü döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

MIME türünü döndürür.


POST için dosya ismi döndürür

  • « CURLFile::getMimeType
  • CURLFile::setMimeType »
  • PHP Manual
  • CURLFile
  • POST için dosya ismi döndürür

CURLFile::getPostFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::getPostFilename — POST için dosya ismi döndürür

Açıklama

public CURLFile::getPostFilename(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

POST için dosya ismi döndürür.


MIME türü tanımlar

  • « CURLFile::getPostFilename
  • CURLFile::setPostFilename »
  • PHP Manual
  • CURLFile
  • MIME türü tanımlar

CURLFile::setMimeType

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::setMimeType — MIME türü tanımlar

Açıklama

public CURLFile::setMimeType(string $mime_türü): void

POST verisinde kullanılacak MIME türünü tanımlar.

Bağımsız Değişkenler

mime_türü

POST verisinde kullanılacak MIME türü.

Dönen Değerler

Hiçbir değer dönmez.


POST için dosya ismi tanımlar

  • « CURLFile::setMimeType
  • CURLStringFile »
  • PHP Manual
  • CURLFile
  • POST için dosya ismi tanımlar

CURLFile::setPostFilename

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

CURLFile::setPostFilename — POST için dosya ismi tanımlar

Açıklama

public CURLFile::setPostFilename(string $post_dosyası): void

POST verisinde kullanılacak dosya ismini tanımlar.

Bağımsız Değişkenler

post_dosyası

POST verisinde kullanılacak dosya ismi.

Dönen Değerler

Hiçbir değer dönmez.


The CURLStringFile class

(PHP 8 >= 8.1.0)

Giriş

CURLStringFile makes it possible to upload a file directly from a variable. This is similar to CURLFile, but works with the contents of the file, not filename. This class or CURLFile should be used to upload the contents of the file with CURLOPT_POSTFIELDS.

Sınıf Sözdizimi

class CURLStringFile {
/* Özellikler */
public string $data;
public string $postname;
public string $mime;
/* Yöntemler */
public __construct(string $data, string $postname, string $mime = "application/octet-stream")
}

Özellikler

data

The contents to be uploaded.

postname

The name of the file to be used in the upload data.

mime

MIME type of the file (default is application/octet-stream).

Ayrıca Bakınız

  • curl_setopt()
  • CURLFile

İçindekiler

  • CURLStringFile::__construct — Create a CURLStringFile object


Create a CURLStringFile object

  • « CURLStringFile
  • Event »
  • PHP Manual
  • CURLStringFile
  • Create a CURLStringFile object

CURLStringFile::__construct

(PHP 8 >= 8.1.0)

CURLStringFile::__construct — Create a CURLStringFile object

Açıklama

public CURLStringFile::__construct(string $data, string $postname, string $mime = "application/octet-stream")

Creates a CURLStringFile object, used to upload a file with CURLOPT_POSTFIELDS.

Bağımsız Değişkenler

data

The contents to be uploaded.

postname

The name of the file to be used in the upload data.

mime

MIME type of the file (default is application/octet-stream).

Örnekler

Örnek 1 CURLStringFile::__construct() example

<?php
/* http://example.com/upload.php:
<?php
var_dump($_FILES);
var_dump(file_get_contents($_FILES['test_string']['tmp_name']));
?>
*/

// Create a cURL handle
$ch = curl_init('http://example.com/upload.php');

// Create a CURLStringFile object
$cstringfile = new CURLStringFile('test upload contents','test.txt','text/plain');

// Assign POST data
$data = array('test_string' => $cstringfile);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// Execute the handle
curl_exec($ch);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["test_string"]=>
  array(5) {
    ["name"]=>
    string(8) "test.txt"
    ["type"]=>
    string(10) "text/plain"
    ["tmp_name"]=>
    string(14) "/tmp/phpTtaoCz"
    ["error"]=>
    int(0)
    ["size"]=>
    int(20)
  }
}
string(20) "test upload contents"

Ayrıca Bakınız

  • curl_setopt() - Bir cURL aktarım seçeneği tanımlar


Event

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Örnekler
  • Event flags
  • About event persistence
  • Event callbacks
  • Constructing signal events
  • Event — The Event class
    • Event::add — Makes event pending
    • Event::addSignal — Takma Adı: Event::add
    • Event::addTimer — Takma Adı: Event::add
    • Event::__construct — Constructs Event object
    • Event::del — Makes event non-pending
    • Event::delSignal — Takma Adı: Event::del
    • Event::delTimer — Takma Adı: Event::del
    • Event::free — Make event non-pending and free resources allocated for this event
    • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending — Detects whether event is pending or scheduled
    • Event::set — Re-configures event
    • Event::setPriority — Set event priority
    • Event::setTimer — Re-configures timer event
    • Event::signal — Constructs signal event object
    • Event::timer — Constructs timer event object
  • EventBase — The EventBase class
    • EventBase::__construct — Constructs EventBase object
    • EventBase::dispatch — Dispatch pending events
    • EventBase::exit — Stop dispatching events
    • EventBase::free — Free resources allocated for this event base
    • EventBase::getFeatures — Returns bitmask of features supported
    • EventBase::getMethod — Returns event method in use
    • EventBase::getTimeOfDayCached — Returns the current event base time
    • EventBase::gotExit — Checks if the event loop was told to exit
    • EventBase::gotStop — Checks if the event loop was told to exit
    • EventBase::loop — Dispatch pending events
    • EventBase::priorityInit — Sets number of priorities per event base
    • EventBase::reInit — Re-initialize event base(after a fork)
    • EventBase::stop — Tells event_base to stop dispatching events
  • EventBuffer — The EventBuffer class
    • EventBuffer::add — Append data to the end of an event buffer
    • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::__construct — Constructs EventBuffer object
    • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking — Açıklama
    • EventBuffer::expand — Reserves space in buffer
    • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock — Acquires a lock on buffer
    • EventBuffer::prepend — Prepend data to the front of the buffer
    • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read — Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom — Read data from a file onto the end of the buffer
    • EventBuffer::readLine — Extracts a line from the front of the buffer
    • EventBuffer::search — Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr — Substracts a portion of the buffer data
    • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
    • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
    • EventBuffer::write — Write contents of the buffer to a file or socket
  • EventBufferEvent — The EventBufferEvent class
    • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::__construct — Constructs EventBufferEvent object
    • EventBufferEvent::createPair — Creates two buffer events connected to each other
    • EventBufferEvent::disable — Disable events read, write, or both on a buffer event
    • EventBufferEvent::enable — Enable events read, write, or both on a buffer event
    • EventBufferEvent::free — Free a buffer event
    • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read — Read buffer's data
    • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority — Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
    • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher
    • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection
    • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection
    • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection
    • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation
    • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write — Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer
  • About buffer event callbacks
  • EventConfig — The EventConfig class
    • EventConfig::avoidMethod — Tells libevent to avoid specific event method
    • EventConfig::__construct — Constructs EventConfig object
    • EventConfig::requireFeatures — Enters a required event method feature that the application demands
    • EventConfig::setFlags — Sets one or more flags to configure the eventual EventBase will be initialized
    • EventConfig::setMaxDispatchInterval — Prevents priority inversion
  • EventDnsBase — The EventDnsBase class
    • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
    • EventDnsBase::addSearch — Adds a domain to the list of search domains
    • EventDnsBase::clearSearch — Removes all current search suffixes
    • EventDnsBase::__construct — Constructs EventDnsBase object
    • EventDnsBase::countNameservers — Gets the number of configured nameservers
    • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
    • EventDnsBase::setOption — Set the value of a configuration option
    • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches
  • EventHttp — The EventHttp class
    • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
    • EventHttp::bind — Binds an HTTP server on the specified address and port
    • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
    • EventHttp::removeServerAlias — Removes server alias
    • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback — Sets a callback for specified URI
    • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize — Sets maximum request body size
    • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
    • EventHttp::setTimeout — Sets the timeout for an HTTP request
  • EventHttpConnection — The EventHttpConnection class
    • EventHttpConnection::__construct — Constructs EventHttpConnection object
    • EventHttpConnection::getBase — Returns event base associated with the connection
    • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback — Set callback for connection close
    • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
    • EventHttpConnection::setRetries — Sets the retry limit for the connection
    • EventHttpConnection::setTimeout — Sets the timeout for the connection
  • EventHttpRequest — The EventHttpRequest class
    • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel — Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection — Closes associated HTTP connection
    • EventHttpRequest::__construct — Constructs EventHttpRequest object
    • EventHttpRequest::findHeader — Finds the value belonging a header
    • EventHttpRequest::free — Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
    • EventHttpRequest::getCommand — Returns the request command(method)
    • EventHttpRequest::getConnection — Returns EventHttpConnection object
    • EventHttpRequest::getHost — Returns the request host
    • EventHttpRequest::getInputBuffer — Returns the input buffer
    • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
    • EventHttpRequest::getResponseCode — Returns the response code
    • EventHttpRequest::getUri — Returns the request URI
    • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError — Send an HTML error message to the client
    • EventHttpRequest::sendReply — Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart — Initiate a chunked reply
  • EventListener — The EventListener class
    • EventListener::__construct — Creates new connection listener associated with an event base
    • EventListener::disable — Disables an event connect listener object
    • EventListener::enable — Enables an event connect listener object
    • EventListener::getBase — Returns event base associated with the event listener
    • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound
    • EventListener::setCallback — The setCallback purpose
    • EventListener::setErrorCallback — Set event listener's error callback
  • EventSslContext — The EventSslContext class
    • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes
  • EventUtil — The EventUtil class
    • EventUtil::__construct — The abstract constructor
    • EventUtil::getLastSocketErrno — Returns the most recent socket error number
    • EventUtil::getLastSocketError — Returns the most recent socket error
    • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName — Retreives the current address to which the socket is bound
    • EventUtil::setSocketOption — Sets socket options
    • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()


Giriş

This is an extension to efficiently schedule I/O, time and signal based events using the best I/O notification mechanism available for specific platform. This is a port of libevent to the PHP infrastructure.

Bilginize:

Note, Windows support introduced in event-1.9.0 .

Version 1.0.0 introduces new object-oriented API (breaking backwards compatibility), and support of libevent 2+ including HTTP, DNS, OpenSSL and the event listener.

Bilginize:

Note, event-1.0.0 and greater is not compatible with previous versions.


Gereksinimler

This extension requires » libevent library. Most modern distributions provide packages for libevent.

OpenSSL features require » OpenSSL library.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/event .


Örnekler

Örnek 1 Simple HTTP client

<?php
// Read callback
function readcb($bev, $base) {
//$input = $bev->input; //$bev->getInput();

//$pos = $input->search("TTP");
$pos = $bev->input->search("TTP");

while (($n = $bev->input->remove($buf, 1024)) > 0) {
echo $buf;
}
}

// Event callback
function eventcb($bev, $events, $base) {
if ($events & EventBufferEvent::CONNECTED) {
echo "Connected.\n";
} elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
if ($events & EventBufferEvent::ERROR) {
echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
}

echo "Closing\n";
$base->exit();
exit("Done\n");
}
}

if ($argc != 3) {
echo <<<EOS
Trivial HTTP 0.x client
Syntax: php {$argv[0]} [hostname] [resource]
Example: php {$argv[0]} www.google.com /

EOS;
exit();
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
"readcb", /* writecb */ NULL, "eventcb"
);
if (!$bev) {
exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
"GET {$argv[2]} HTTP/1.0\r\n".
"Host: {$argv[1]}\r\n".
"Connection: Close\r\n\r\n"
)) {
exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Connected.
HTTP/1.1 301 Moved Permanently
Date: Fri, 01 Mar 2013 18:47:48 GMT
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1254
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Age: 133438
Expires: Sat, 30 Mar 2013 05:39:28 GMT
Connection: close

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1254">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Örnek 2 HTTP client using asynchronous DNS resolver

<?php
/*
* 1. Connect to 127.0.0.1 at port 80
* by means of EventBufferEvent::connect().
*
* 2. Request /index.cphp via HTTP/1.0
* using the output buffer.
*
* 3. Asyncronously read the response and print it to stdout.
*/

// Read callback
function readcb($bev, $base) {
$input = $bev->getInput();

while (($n = $input->remove($buf, 1024)) > 0) {
echo $buf;
}
}

// Event callback
function eventcb($bev, $events, $base) {
if ($events & EventBufferEvent::CONNECTED) {
echo "Connected.\n";
} elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
if ($events & EventBufferEvent::ERROR) {
echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
}

echo "Closing\n";
$base->exit();
exit("Done\n");
}
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
// Send request
$output = $bev->getOutput();
if (!$output->add(
"GET /index.cphp HTTP/1.0\r\n".
"Connection: Close\r\n\r\n"
)) {
exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
exit("Can't connect to host\n");
}

// Dispatch pending events
$base->dispatch();
?>

Örnek 3 Echo server

<?php
/*
* Simple echo server based on libevent's connection listener.
*
* Usage:
* 1) In one terminal window run:
*
* $ php listener.php 9881
*
* 2) In another terminal window open up connection, e.g.:
*
* $ nc 127.0.0.1 9881
*
* 3) start typing. The server should repeat the input.
*/

class MyListenerConnection {
private $bev, $base;

public function __destruct() {
$this->bev->free();
}

public function __construct($base, $fd) {
$this->base = $base;

$this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

$this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
array($this, "echoEventCallback"), NULL);

if (!$this->bev->enable(Event::READ)) {
echo "Failed to enable READ\n";
return;
}
}

public function echoReadCallback($bev, $ctx) {
// Copy all the data from the input buffer to the output buffer

// Variant #1
$bev->output->addBuffer($bev->input);

/* Variant #2 */
/*
$input = $bev->getInput();
$output = $bev->getOutput();
$output->addBuffer($input);
*/
}

public function echoEventCallback($bev, $events, $ctx) {
if ($events & EventBufferEvent::ERROR) {
echo "Error from bufferevent\n";
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
//$bev->free();
$this->__destruct();
}
}
}

class MyListener {
public $base,
$listener,
$socket;
private $conn = array();

public function __destruct() {
foreach ($this->conn as &$c) $c = NULL;
}

public function __construct($port) {
$this->base = new EventBase();
if (!$this->base) {
echo "Couldn't open event base";
exit(1);
}

// Variant #1
/*
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!socket_bind($this->socket, '0.0.0.0', $port)) {
echo "Unable to bind socket\n";
exit(1);
}
$this->listener = new EventListener($this->base,
array($this, "acceptConnCallback"), $this->base,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
-1, $this->socket);
*/

// Variant #2
$this->listener = new EventListener($this->base,
array($this, "acceptConnCallback"), $this->base,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
"0.0.0.0:$port");

if (!$this->listener) {
echo "Couldn't create listener";
exit(1);
}

$this->listener->setErrorCallback(array($this, "accept_error_cb"));
}

public function dispatch() {
$this->base->dispatch();
}

// This callback is invoked when there is data to read on $bev
public function acceptConnCallback($listener, $fd, $address, $ctx) {
// We got a new connection! Set up a bufferevent for it. */
$base = $this->base;
$this->conn[] = new MyListenerConnection($base, $fd);
}

public function accept_error_cb($listener, $ctx) {
$base = $this->base;

fprintf(STDERR, "Got an error %d (%s) on the listener. "
."Shutting down.\n",
EventUtil::getLastSocketErrno(),
EventUtil::getLastSocketError());

$base->exit(NULL);
}
}

$port = 9808;

if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>

Örnek 4 SSL echo server

<?php
/*
* SSL echo server
*
* To test:
* 1) Run:
* $ php examples/ssl-echo-server/server.php 9998
*
* 2) in another terminal window run:
* $ socat - SSL:127.0.0.1:9998,verify=1,cafile=examples/ssl-echo-server/cert.pem
*/

class MySslEchoServer {
public $port,
$base,
$bev,
$listener,
$ctx;

function __construct ($port, $host = "127.0.0.1") {
$this->port = $port;
$this->ctx = $this->init_ssl();
if (!$this->ctx) {
exit("Failed creating SSL context\n");
}

$this->base = new EventBase();
if (!$this->base) {
exit("Couldn't open event base\n");
}

$this->listener = new EventListener($this->base,
array($this, "ssl_accept_cb"), $this->ctx,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
-1, "$host:$port");
if (!$this->listener) {
exit("Couldn't create listener\n");
}

$this->listener->setErrorCallback(array($this, "accept_error_cb"));
}
function dispatch() {
$this->base->dispatch();
}

// This callback is invoked when there is data to read on $bev.
function ssl_read_cb($bev, $ctx) {
$in = $bev->input; //$bev->getInput();

printf("Received %zu bytes\n", $in->length);
printf("----- data ----\n");
printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

$bev->writeBuffer($in);
}

// This callback is invoked when some even occurs on the event listener,
// e.g. connection closed, or an error occurred
function ssl_event_cb($bev, $events, $ctx) {
if ($events & EventBufferEvent::ERROR) {
// Fetch errors from the SSL error stack
while ($err = $bev->sslError()) {
fprintf(STDERR, "Bufferevent error %s.\n", $err);
}
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
$bev->free();
}
}

// This callback is invoked when a client accepts new connection
function ssl_accept_cb($listener, $fd, $address, $ctx) {
// We got a new connection! Set up a bufferevent for it.
$this->bev = EventBufferEvent::sslSocket($this->base, $fd, $this->ctx,
EventBufferEvent::SSL_ACCEPTING, EventBufferEvent::OPT_CLOSE_ON_FREE);

if (!$this->bev) {
echo "Failed creating ssl buffer\n";
$this->base->exit(NULL);
exit(1);
}

$this->bev->enable(Event::READ);
$this->bev->setCallbacks(array($this, "ssl_read_cb"), NULL,
array($this, "ssl_event_cb"), NULL);
}

// This callback is invoked when we failed to setup new connection for a client
function accept_error_cb($listener, $ctx) {
fprintf(STDERR, "Got an error %d (%s) on the listener. "
."Shutting down.\n",
EventUtil::getLastSocketErrno(),
EventUtil::getLastSocketError());

$this->base->exit(NULL);
}

// Initialize SSL structures, create an EventSslContext
// Optionally create self-signed certificates
function init_ssl() {
// We *must* have entropy. Otherwise there's no point to crypto.
if (!EventUtil::sslRandPoll()) {
exit("EventUtil::sslRandPoll failed\n");
}

$local_cert = __DIR__."/cert.pem";
$local_pk = __DIR__."/privkey.pem";

if (!file_exists($local_cert) || !file_exists($local_pk)) {
echo "Couldn't read $local_cert or $local_pk file. To generate a key\n",
"and self-signed certificate, run:\n",
" openssl genrsa -out $local_pk 2048\n",
" openssl req -new -key $local_pk -out cert.req\n",
" openssl x509 -req -days 365 -in cert.req -signkey $local_pk -out $local_cert\n";

return FALSE;
}

$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
EventSslContext::OPT_LOCAL_CERT => $local_cert,
EventSslContext::OPT_LOCAL_PK => $local_pk,
//EventSslContext::OPT_PASSPHRASE => "echo server",
EventSslContext::OPT_VERIFY_PEER => true,
EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
));

return $ctx;
}
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port\n");
}

$l = new MySslEchoServer($port);
$l->dispatch();
?>

Örnek 5 Signal handler

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan 3976 0.2 0.0 139896 11256 pts/1 S+ 10:25 0:00 php examples/signal.php
ruslan 3978 0.0 0.0 9572 864 pts/2 S+ 10:26 0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
private $base;

function __construct($base) {
$this->base = $base;
}

function eventSighandler($no, $c) {
echo "Caught signal $no\n";
event_base_loopexit($c->base);
}
}

$base = event_base_new();
$c = new MyEventSignal($base);
$no = SIGTERM;
$ev = evsignal_new($base, $no, array($c,'eventSighandler'), $c);

evsignal_add($ev);

event_base_loop($base);
?>

Örnek 6 Use libevent's loop to process requests of `eio' extension

<?php
// Callback for eio_nop()
function my_nop_cb($d, $r) {
echo "step 6\n";
}

$dir = "/tmp/abc-eio-temp";
if (file_exists($dir)) {
rmdir($dir);
}

echo "step 1\n";

$base = new EventBase();

echo "step 2\n";

eio_init();

eio_mkdir($dir, 0750, EIO_PRI_DEFAULT, "my_nop_cb");

$event = new Event($base, eio_get_event_stream(),
Event::READ | Event::PERSIST, function ($fd, $events, $base) {
echo "step 5\n";

while (eio_nreqs()) {
eio_poll();
}

$base->stop();
}, $base);

echo "step 3\n";

$event->add();

echo "step 4\n";

$base->dispatch();

echo "Done\n";
?>

Örnek 7 Miscellaneous

<?php
/* {{{ Config & supported stuff */
echo "Supported methods:\n";
foreach (Event::getSupportedMethods() as $m) {
echo $m, PHP_EOL;
}

// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
echo "'select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print "ET - edge-triggered IO\n";
($features & EventConfig::FEATURE_O1) and print "O1 - O(1) operation for adding/deleting events\n";
($features & EventConfig::FEATURE_FDS) and print "FDS - arbitrary file descriptor types, and not just sockets\n";

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
echo "FDS feature is now required\n";

$base = new EventBase($cfg);
($base->getFeatures() & EventConfig::FEATURE_FDS)
and print "FDS - arbitrary file descriptor types, and not just sockets\n";
}
/* }}} */

/* {{{ Base */
$base = new EventBase();
$event = new Event($base, STDIN, Event::READ | Event::PERSIST, function ($fd, $events, $arg) {
static $max_iterations = 0;

if (++$max_iterations >= 5) {
/* exit after 5 iterations with timeout of 2.33 seconds */
echo "Stopping...\n";
$arg[0]->exit(2.33);
}

echo fgets($fd);
}, array (&$base));

$event->add();
$base->loop();
/* Base }}} */
?>

Örnek 8 Simple HTTP server

<?php
/*
* Simple HTTP server.
*
* To test it:
* 1) Run it on a port of your choice, e.g.:
* $ php examples/http.php 8010
* 2) In another terminal connect to some address on this port
* and make GET or POST request(others are turned off here), e.g.:
* $ nc -t 127.0.0.1 8010
* POST /about HTTP/1.0
* Content-Type: text/plain
* Content-Length: 4
* Connection: close
* (press Enter)
*
* It will output
* a=12
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
*
* $ nc -t 127.0.0.1 8010
* GET /dump HTTP/1.0
* Content-Type: text/plain
* Content-Encoding: UTF-8
* Connection: close
* (press Enter)
*
* It will output:
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
* (press Enter)
*
* $ nc -t 127.0.0.1 8010
* GET /unknown HTTP/1.0
* Connection: close
*
* It will output:
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
*
* 3) See what the server outputs on the previous terminal window.
*/

function _http_dump($req, $data) {
static $counter = 0;
static $max_requests = 2;

if (++$counter >= $max_requests) {
echo "Counter reached max requests $max_requests. Exiting\n";
exit();
}

echo __METHOD__, " called\n";
echo "request:"; var_dump($req);
echo "data:"; var_dump($data);

echo "\n===== DUMP =====\n";
echo "Command:", $req->getCommand(), PHP_EOL;
echo "URI:", $req->getUri(), PHP_EOL;
echo "Input headers:"; var_dump($req->getInputHeaders());
echo "Output headers:"; var_dump($req->getOutputHeaders());

echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";

echo "\n >> Reading input buffer ...\n";
$buf = $req->getInputBuffer();
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
echo "No more data in the buffer\n";
}

function _http_about($req) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

function _http_default($req, $data) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Örnek 9 Simple HTTPS server

<?php
/*
* Simple HTTPS server.
*
* 1) Run the server: `php examples/https.php 9999`
* 2) Test it: `php examples/ssl-connection.php 9999`
*/

function _http_dump($req, $data) {
static $counter = 0;
static $max_requests = 200;

if (++$counter >= $max_requests) {
echo "Counter reached max requests $max_requests. Exiting\n";
exit();
}

echo __METHOD__, " called\n";
echo "request:"; var_dump($req);
echo "data:"; var_dump($data);

echo "\n===== DUMP =====\n";
echo "Command:", $req->getCommand(), PHP_EOL;
echo "URI:", $req->getUri(), PHP_EOL;
echo "Input headers:"; var_dump($req->getInputHeaders());
echo "Output headers:"; var_dump($req->getOutputHeaders());

echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";

$buf = $req->getInputBuffer();
echo "\n >> Reading input buffer (", $buf->length, ") ...\n";
while ($s = $buf->read(1024)) {
echo $s;
}
echo "\nNo more data in the buffer\n";
}

function _http_about($req) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

function _http_default($req, $data) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

function _http_400($req) {
$req->sendError(400);
}

function _init_ssl() {
$local_cert = __DIR__."/ssl-echo-server/cert.pem";
$local_pk = __DIR__."/ssl-echo-server/privkey.pem";

$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array (
EventSslContext::OPT_LOCAL_CERT => $local_cert,
EventSslContext::OPT_LOCAL_PK => $local_pk,
//EventSslContext::OPT_PASSPHRASE => "test",
EventSslContext::OPT_ALLOW_SELF_SIGNED => true,
));

return $ctx;
}

$port = 9999;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}
$ip = '0.0.0.0';

$base = new EventBase();
$ctx = _init_ssl();
$http = new EventHttp($base, $ctx);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setCallback("/err400", "_http_400");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind($ip, $port);
$base->dispatch();

Örnek 10 OpenSSL connection

<?php
/*
* Sample OpenSSL client.
*
* Usage:
* 1) Launch a server, e.g.:
* $ php examples/https.php 9999
*
* 2) Launch the client in another terminal:
* $ php examples/ssl-connection.php 9999
*/

function _request_handler($req, $base) {
echo __FUNCTION__, PHP_EOL;

if (is_null($req)) {
echo "Timed out\n";
} else {
$response_code = $req->getResponseCode();

if ($response_code == 0) {
echo "Connection refused\n";
} elseif ($response_code != 200) {
echo "Unexpected response: $response_code\n";
} else {
echo "Success: $response_code\n";
$buf = $req->getInputBuffer();
echo "Body:\n";
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
}
}

$base->exit(NULL);
}

function _init_ssl() {
$ctx = new EventSslContext(EventSslContext::SSLv3_CLIENT_METHOD, array ());

return $ctx;
}

// Allow to override the port
$port = 9999;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port\n");
}
$host = '127.0.0.1';

$ctx = _init_ssl();
if (!$ctx) {
trigger_error("Failed creating SSL context", E_USER_ERROR);
}

$base = new EventBase();
if (!$base) {
trigger_error("Failed to initialize event base", E_USER_ERROR);
}

$conn = new EventHttpConnection($base, NULL, $host, $port, $ctx);
$conn->setTimeout(50);

$req = new EventHttpRequest("_request_handler", $base);
$req->addHeader("Host", $host, EventHttpRequest::OUTPUT_HEADER);
$buf = $req->getOutputBuffer();
$buf->add("<html>HTML TEST</html>");
//$req->addHeader("Content-Length", $buf->length, EventHttpRequest::OUTPUT_HEADER);
//$req->addHeader("Connection", "close", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_POST, "/dump");

$base->dispatch();
echo "END\n";
?>

Örnek 11 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
echo __FUNCTION__, PHP_EOL;

if (is_null($req)) {
echo "Timed out\n";
} else {
$response_code = $req->getResponseCode();

if ($response_code == 0) {
echo "Connection refused\n";
} elseif ($response_code != 200) {
echo "Unexpected response: $response_code\n";
} else {
echo "Success: $response_code\n";
$buf = $req->getInputBuffer();
echo "Body:\n";
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
}
}

$base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Örnek 12 Connection listener based on a UNIX domain socket

<?php
/*
* Simple echo server based on libevent's connection listener.
*
* Usage:
* 1) In one terminal window run:
*
* $ php unix-domain-listener.php [path-to-socket]
*
* 2) In another terminal window open up connection
* to the socket, e.g.:
*
* $ socat - GOPEN:/tmp/1.sock
*
* 3) Start typing. The server should repeat the input.
*/

class MyListenerConnection {
private $bev, $base;

public function __destruct() {
if ($this->bev) {
$this->bev->free();
}
}

public function __construct($base, $fd) {
$this->base = $base;

$this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

$this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
array($this, "echoEventCallback"), NULL);

if (!$this->bev->enable(Event::READ)) {
echo "Failed to enable READ\n";
return;
}
}

public function echoReadCallback($bev, $ctx) {
// Copy all the data from the input buffer to the output buffer
$bev->output->addBuffer($bev->input);
}

public function echoEventCallback($bev, $events, $ctx) {
if ($events & EventBufferEvent::ERROR) {
echo "Error from bufferevent\n";
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
$bev->free();
$bev = NULL;
}
}
}

class MyListener {
public $base,
$listener,
$socket;
private $conn = array();

public function __destruct() {
foreach ($this->conn as &$c) $c = NULL;
}

public function __construct($sock_path) {
$this->base = new EventBase();
if (!$this->base) {
echo "Couldn't open event base";
exit(1);
}

if (file_exists($sock_path)) {
unlink($sock_path);
}

$this->listener = new EventListener($this->base,
array($this, "acceptConnCallback"), $this->base,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
"unix:$sock_path");

if (!$this->listener) {
trigger_error("Couldn't create listener", E_USER_ERROR);
}

$this->listener->setErrorCallback(array($this, "accept_error_cb"));
}

public function dispatch() {
$this->base->dispatch();
}

// This callback is invoked when there is data to read on $bev
public function acceptConnCallback($listener, $fd, $address, $ctx) {
// We got a new connection! Set up a bufferevent for it. */
$base = $this->base;
$this->conn[] = new MyListenerConnection($base, $fd);
}

public function accept_error_cb($listener, $ctx) {
$base = $this->base;

fprintf(STDERR, "Got an error %d (%s) on the listener. "
."Shutting down.\n",
EventUtil::getLastSocketErrno(),
EventUtil::getLastSocketError());

$base->exit(NULL);
}
}

if ($argc <= 1) {
exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$l = new MyListener($sock_path);
$l->dispatch();
?>

Örnek 13 Simple SMTP server

<?php
/*
* Author: Andrew Rose <hello at andrewrose dot co dot uk>
*
* Usage:
* 1) Prepare cert.pem certificate and privkey.pem private key files.
* 2) Launch the server script
* 3) Open TLS connection, e.g.:
* $ openssl s_client -connect localhost:25 -starttls smtp -crlf
* 4) Start testing the commands listed in `cmd` method below.
*/

class Handler {
public $domainName = FALSE;
public $connections = [];
public $buffers = [];
public $maxRead = 256000;

public function __construct() {
$this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
EventSslContext::OPT_LOCAL_CERT => 'cert.pem',
EventSslContext::OPT_LOCAL_PK => 'privkey.pem',
//EventSslContext::OPT_PASSPHRASE => '',
EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
]);

$this->base = new EventBase();
if (!$this->base) {
exit("Couldn't open event base\n");
}

if (!$this->listener = new EventListener($this->base,
[$this, 'ev_accept'],
$this->ctx,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
-1,
'0.0.0.0:25'))
{
exit("Couldn't create listener\n");
}

$this->listener->setErrorCallback([$this, 'ev_error']);
$this->base->dispatch();
}

public function ev_accept($listener, $fd, $address, $ctx) {
static $id = 0;
$id += 1;

$this->connections[$id]['clientData'] = '';
$this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
EventBufferEvent::OPT_CLOSE_ON_FREE);

if (!$this->connections[$id]['cnx']) {
echo "Failed creating buffer\n";
$this->base->exit(NULL);
exit(1);
}

$this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
[$this, 'ev_error'], $id);
$this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

$this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
}

function ev_error($listener, $ctx) {
$errno = EventUtil::getLastSocketErrno();

fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
$errno, EventUtil::getLastSocketError());

if ($errno != 0) {
$this->base->exit(NULL);
exit();
}
}

public function ev_close($id) {
$this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
unset($this->connections[$id]);
}

protected function ev_write($id, $string) {
echo 'S('.$id.'): '.$string;
$this->connections[$id]['cnx']->write($string);
}

public function ev_read($buffer, $id) {
while($buffer->input->length > 0) {
$this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
$clientDataLen = strlen($this->connections[$id]['clientData']);

if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
&& $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
{
// remove the trailing \r\n
$line = substr($this->connections[$id]['clientData'], 0,
strlen($this->connections[$id]['clientData']) - 2);

$this->connections[$id]['clientData'] = '';
$this->cmd($buffer, $id, $line);
}
}
}

protected function cmd($buffer, $id, $line) {
switch ($line) {
case strncmp('EHLO ', $line, 4):
$this->ev_write($id, "250-STARTTLS\r\n");
$this->ev_write($id, "250 OK ehlo\r\n");
break;

case strncmp('HELO ', $line, 4):
$this->ev_write($id, "250-STARTTLS\r\n");
$this->ev_write($id, "250 OK helo\r\n");
break;

case strncmp('QUIT', $line, 3):
$this->ev_write($id, "250 OK quit\r\n");
$this->ev_close($id);
break;

case strncmp('STARTTLS', $line, 3):
$this->ev_write($id, "220 Ready to start TLS\r\n");
$this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
$this->connections[$id]['cnx'], $this->ctx,
EventBufferEvent::SSL_ACCEPTING,
EventBufferEvent::OPT_CLOSE_ON_FREE);
$this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
$this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
break;

default:
echo 'unknown command: '.$line."\n";
break;
}
}
}

new Handler();


Event flags

Event::READ This flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for reading.

Event::WRITE flag indicates an event that becomes active when the provided file descriptor (usually a stream resource, or socket) is ready for writing.

Event::SIGNAL used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT indicates an event that becomes active after a timeout elapses. The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

See also » Fast portable non-blocking network programming with Libevent, Working with events, Event flags


About event persistence

By default, whenever a pending event becomes active (because its file descriptor is ready to read or write, or because its timeout expires), it becomes non-pending right before its callback is executed. Thus, to make the event pending again one may call Event::add() on it again from inside the callback function.

If the Event::PERSIST flag is set on an event, however, the event is persistent . This means that event remains pending even when its callback is activated. Event::del() method can be called to make it non-pending.

The timeout on a persistent event resets whenever the event's callback runs. Thus, if one has an event with flags Event::READ | Event::PERSIST and a timeout of five seconds, the event will become active:

  1. Whenever the socket or file descriptor is ready for reading.

  2. Whenever five seconds have passed since the event last became active.

See also » Fast portable non-blocking network programming with Libevent, About Event Persistence


Event callbacks

If a callback is registered for an event, it will be called when the event becomes active. To associate a callback with event one can pass a callable to either Event::__construct() , or Event::set() , or one of the factory methods like Event::timer() .

An event callback should match the following prototype:

callback( mixed $fd = null , int $what = ?, mixed $arg = null ): void

fd

The file descriptor, stream resource or socket associated with the event. For signal event fd is equal to the signal number.

what

Bit mask of all events triggered.

arg

User custom data.

Event::timer() expects the callback to match the following prototype:

callback( mixed $arg = null ): void

arg

User custom data.

Event::signal() expects the callback to match the following prototype:

callback( int $signum = ?, mixed $arg = null ): void

signum

The number of the triggered signal(e.g. SIGTERM ).

arg

User custom data.


Constructing signal events

Event can also watch for POSIX-style signals. To construct a handler for a signal, use Event::__construct() constructor with Event::SIGNAL flag, or Event::signal() factory method.

Örnek 1 Handling SIGTERM signal

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan 3976 0.2 0.0 139896 11256 pts/1 S+ 10:25 0:00 php examples/signal.php
ruslan 3978 0.0 0.0 9572 864 pts/2 S+ 10:26 0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
private $base, $ev;

public function __construct($base) {
$this->base = $base;
$this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
$this->ev->add();
}

public function eventSighandler($no, $c) {
echo "Caught signal $no\n";
$this->base->exit();
}
}

$base = new EventBase();
$c = new MyEventSignal($base);

$base->loop();
?>

Note that signal callbacks are run in the event loop after the signal occurs, so it is safe for them to call functions that you are not supposed to call from a regular POSIX signal handler.

See also » Fast portable non-blocking network programming with Libevent, Constructing Signal Events .


The Event class

(PECL event >= 1.2.6-beta)

Giriş

Event class represents and event firing on a file descriptor being ready to read from or write to; a file descriptor becoming ready to read from or write to(edge-triggered I/O only); a timeout expiring; a signal occurring; a user-triggered event.

Every event is associated with EventBase . However, event will never fire until it is added (via Event::add() ). An added event remains in pending state until the registered event occurs, thus turning it to active state. To handle events user may register a callback which is called when event becomes active. If event is configured persistent , it remains pending. If it is not persistent, it stops being pending when it's callback runs. Event::del() method deletes event, thus making it non-pending. By means of Event::add() method it could be added again.

Sınıf Sözdizimi

final class Event {
/* Sabitler */
const int ET = 32;
const int PERSIST = 16;
const int READ = 2;
const int WRITE = 4;
const int SIGNAL = 8;
const int TIMEOUT = 1;
/* Özellikler */
public readonly bool $pending;
/* Yöntemler */
public add( float $timeout = ?): bool
public __construct(
EventBase $base ,
mixed $fd ,
int $what ,
callable $cb ,
mixed $arg = NULL
)
public del(): bool
public free(): void
public static getSupportedMethods(): array
public pending( int $flags ): bool
public set(
EventBase $base ,
mixed $fd ,
int $what = ?,
callable $cb = ?,
mixed $arg = ?
): bool
public setPriority( int $priority ): bool
public setTimer( EventBase $base , callable $cb , mixed $arg = ?): bool
public static signal(
EventBase $base ,
int $signum ,
callable $cb ,
mixed $arg = ?
): Event
public static timer( EventBase $base , callable $cb , mixed $arg = ?): Event
}

Özellikler

pending

Whether event is pending. See About event persistence .

Öntanımlı Sabitler

Event::ET

Indicates that the event should be edge-triggered, if the underlying event base backend supports edge-triggered events. This affects the semantics of Event::READ and Event::WRITE .

Event::PERSIST

Indicates that the event is persistent. See About event persistence .

Event::READ

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::WRITE

This flag indicates an event that becomes active when the provided file descriptor(usually a stream resource, or socket) is ready for reading.

Event::SIGNAL

Used to implement signal detection. See "Constructing signal events" below.

Event::TIMEOUT

This flag indicates an event that becomes active after a timeout elapses.

The Event::TIMEOUT flag is ignored when constructing an event: one can either set a timeout when event is added , or not. It is set in the $what argument to the callback function when a timeout has occurred.

İçindekiler

  • Event::add — Makes event pending
  • Event::addSignal — Takma Adı: Event::add
  • Event::addTimer — Takma Adı: Event::add
  • Event::__construct — Constructs Event object
  • Event::del — Makes event non-pending
  • Event::delSignal — Takma Adı: Event::del
  • Event::delTimer — Takma Adı: Event::del
  • Event::free — Make event non-pending and free resources allocated for this event
  • Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent
  • Event::pending — Detects whether event is pending or scheduled
  • Event::set — Re-configures event
  • Event::setPriority — Set event priority
  • Event::setTimer — Re-configures timer event
  • Event::signal — Constructs signal event object
  • Event::timer — Constructs timer event object


Makes event pending

  • « Event
  • Event::addSignal »
  • PHP Manual
  • Event
  • Makes event pending

Event::add

(PECL event >= 1.2.6-beta)

Event::add — Makes event pending

Açıklama

public Event::add( float $timeout = ?): bool

Marks event pending. Non-pending event will never occur, and the event callback will never be called. In conjunction with Event::del() an event could be re-scheduled by user at any time.

If Event::add() is called on an already pending event, libevent will leave it pending and re-schedule it with the given timeout(if specified). If in this case timeout is not specified, Event::add() has no effect.

Bağımsız Değişkenler

timeout

Timeout in seconds.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Adding a custom signal

<?php
/*
Launch it in a terminal window:

$ php examples/signal.php

In another terminal window find out the pid and send SIGTERM, e.g.:

$ ps aux | grep examp
ruslan 3976 0.2 0.0 139896 11256 pts/1 S+ 10:25 0:00 php examples/signal.php
ruslan 3978 0.0 0.0 9572 864 pts/2 S+ 10:26 0:00 grep --color=auto examp
$ kill -TERM 3976

At the first terminal window you should catch the following:

Caught signal 15
*/
class MyEventSignal {
private $base, $ev;

public function __construct($base) {
$this->base = $base;
$this->ev = Event::signal($base, SIGTERM, array($this, 'eventSighandler'));
$this->ev->add();
}

public function eventSighandler($no, $c) {
echo "Caught signal $no\n";
$this->base->exit();
}
}

$base = new EventBase();
$c = new MyEventSignal($base);

$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Caught signal 15

Örnek 2 Adding a timer

<?php
$base = new EventBase();
$n = 2;
$e = Event::timer($base, function($n) use (&$e) {
echo "$n seconds elapsed\n";
$e->delTimer();
}, $n);
$e->add($n);
$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

2 seconds elapsed

Ayrıca Bakınız

  • Event::add()
  • Event::del() - Makes event non-pending
  • Event::signal() - Constructs signal event object
  • Event::timer() - Constructs timer event object


Takma Adı: Event::add

  • « Event::add
  • Event::addTimer »
  • PHP Manual
  • Event
  • Takma Adı: Event::add

Event::addSignal

(PECL event >= 1.2.6-beta)

Event::addSignal — Takma Adı: Event::add()

Açıklama

Bu yöntem şu yöntemin takma adıdır: Event::add()


Takma Adı: Event::add

  • « Event::addSignal
  • Event::__construct »
  • PHP Manual
  • Event
  • Takma Adı: Event::add

Event::addTimer

(PECL event >= 1.2.6-beta)

Event::addTimer — Takma Adı: Event::add()

Açıklama

Bu yöntem şu yöntemin takma adıdır: Event::add()


Constructs Event object

  • « Event::addTimer
  • Event::del »
  • PHP Manual
  • Event
  • Constructs Event object

Event::__construct

(PECL event >= 1.2.6-beta)

Event::__construct — Constructs Event object

Açıklama

public Event::__construct(
EventBase $base ,
mixed $fd ,
int $what ,
callable $cb ,
mixed $arg = NULL
)

Constructs Event object.

Bağımsız Değişkenler

base

The event base to associate with.

fd

stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

Event flags. See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Dönen Değerler

Returns Event object.

Ayrıca Bakınız

  • Event::signal() - Constructs signal event object
  • Event::timer() - Constructs timer event object


Makes event non-pending

  • « Event::__construct
  • Event::delSignal »
  • PHP Manual
  • Event
  • Makes event non-pending

Event::del

(PECL event >= 1.2.6-beta)

Event::del — Makes event non-pending

Açıklama

public Event::del(): bool

Removes an event from the set of monitored events, i.e. makes it non-pending.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Event::add() - Makes event pending


Takma Adı: Event::del

  • « Event::del
  • Event::delTimer »
  • PHP Manual
  • Event
  • Takma Adı: Event::del

Event::delSignal

(PECL event >= 1.2.6-beta)

Event::delSignal — Takma Adı: Event::del()

Açıklama

Bu yöntem şu yöntemin takma adıdır: Event::del()


Takma Adı: Event::del

  • « Event::delSignal
  • Event::free »
  • PHP Manual
  • Event
  • Takma Adı: Event::del

Event::delTimer

(PECL event >= 1.2.6-beta)

Event::delTimer — Takma Adı: Event::del()

Açıklama

Bu yöntem şu yöntemin takma adıdır: Event::del()


Make event non-pending and free resources allocated for this event

  • « Event::delTimer
  • Event::getSupportedMethods »
  • PHP Manual
  • Event
  • Make event non-pending and free resources allocated for this event

Event::free

(PECL event >= 1.2.6-beta)

Event::free — Make event non-pending and free resources allocated for this event

Açıklama

public Event::free(): void

Removes event from the list of events monitored by libevent, and free resources allocated for the event.

Uyarı

The Event::free() method currently doesn't destruct the object itself. To destruct the object completely call unset() , or assign null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • Event::__construct() - Constructs Event object


Returns array with of the names of the methods supported in this version of Libevent

  • « Event::free
  • Event::pending »
  • PHP Manual
  • Event
  • Returns array with of the names of the methods supported in this version of Libevent

Event::getSupportedMethods

(PECL event >= 1.2.6-beta)

Event::getSupportedMethods — Returns array with of the names of the methods supported in this version of Libevent

Açıklama

public static Event::getSupportedMethods(): array

Returns array with of the names of the methods(backends) supported in this version of Libevent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array.

Ayrıca Bakınız

  • EventConfig


Detects whether event is pending or scheduled

  • « Event::getSupportedMethods
  • Event::set »
  • PHP Manual
  • Event
  • Detects whether event is pending or scheduled

Event::pending

(PECL event >= 1.2.6-beta)

Event::pending — Detects whether event is pending or scheduled

Açıklama

public Event::pending( int $flags ): bool

Detects whether event is pending or scheduled

Bağımsız Değişkenler

flags

One of, or a composition of the following constants: Event::READ , Event::WRITE , Event::TIMEOUT , Event::SIGNAL .

Dönen Değerler

Returns true if event is pending or scheduled. Otherwise false.


Re-configures event

  • « Event::pending
  • Event::setPriority »
  • PHP Manual
  • Event
  • Re-configures event

Event::set

(PECL event >= 1.2.6-beta)

Event::set — Re-configures event

Açıklama

public Event::set(
EventBase $base ,
mixed $fd ,
int $what = ?,
callable $cb = ?,
mixed $arg = ?
): bool

Re-configures event. Note, this function doesn't invoke obsolete libevent's event_set. It calls event_assign instead.

Bağımsız Değişkenler

base

The event base to associate the event with.

fd

Stream resource, socket resource, or numeric file descriptor. For timer events pass -1 . For signal events pass the signal number, e.g. SIGHUP .

what

See Event flags .

cb

The event callback. See Event callbacks .

arg

Custom data associated with the event. It will be passed to the callback when the event becomes active.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set event priority

  • « Event::set
  • Event::setTimer »
  • PHP Manual
  • Event
  • Set event priority

Event::setPriority

(PECL event >= 1.2.6-beta)

Event::setPriority — Set event priority

Açıklama

public Event::setPriority( int $priority ): bool

Set event priority.

Bağımsız Değişkenler

priority

The event priority.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Re-configures timer event

  • « Event::setPriority
  • Event::signal »
  • PHP Manual
  • Event
  • Re-configures timer event

Event::setTimer

(PECL event >= 1.2.6-beta)

Event::setTimer — Re-configures timer event

Açıklama

public Event::setTimer( EventBase $base , callable $cb , mixed $arg = ?): bool

Re-configures timer event. Note, this function doesn't invoke obsolete libevent's event_set . It calls event_assign instead.

Bağımsız Değişkenler

base

The event base to associate with.

cb

The timer event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Event::__construct() - Constructs Event object
  • Event::timer() - Constructs timer event object


Constructs signal event object

  • « Event::setTimer
  • Event::timer »
  • PHP Manual
  • Event
  • Constructs signal event object

Event::signal

(PECL event >= 1.2.6-beta)

Event::signal — Constructs signal event object

Açıklama

public static Event::signal(
EventBase $base ,
int $signum ,
callable $cb ,
mixed $arg = ?
): Event

Constructs signal event object. This is a straightforward method to create a signal event. Note, the generic Event::__construct() method can contruct signal event objects too.

Bağımsız Değişkenler

base

The associated event base object.

signum

The signal number.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Dönen Değerler

Returns Event object on success. Otherwise false.

Ayrıca Bakınız

  • Constructing signal events


Constructs timer event object

  • « Event::signal
  • EventBase »
  • PHP Manual
  • Event
  • Constructs timer event object

Event::timer

(PECL event >= 1.2.6-beta)

Event::timer — Constructs timer event object

Açıklama

public static Event::timer( EventBase $base , callable $cb , mixed $arg = ?): Event

Constructs timer event object. This is a straightforward method to create a timer event. Note, the generic Event::__construct() method can contruct signal event objects too.

Bağımsız Değişkenler

base

The associated event base object.

cb

The signal event callback. See Event callbacks .

arg

Custom data. If specified, it will be passed to the callback when event triggers.

Dönen Değerler

Returns Event object on success. Otherwise false.


The EventBase class

(PECL event >= 1.2.6-beta)

Giriş

EventBase class represents libevent's event base structure. It holds a set of events and can poll to determine which events are active.

Each event base has a method , or a backend that it uses to determine which events are ready. The recognized methods are: select , poll , epoll , kqueue , devpoll , evport and win32 .

To configure event base to use, or avoid specific backend EventConfig class can be used.

Uyarı

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Sınıf Sözdizimi

final class EventBase {
/* Sabitler */
const int LOOP_ONCE = 1;
const int LOOP_NONBLOCK = 2;
const int NOLOCK = 1;
const int STARTUP_IOCP = 4;
const int NO_CACHE_TIME = 8;
const int EPOLL_USE_CHANGELIST = 16;
/* Yöntemler */
public __construct( EventConfig $cfg = ?)
public dispatch(): void
public exit( float $timeout = ?): bool
public free(): void
public getFeatures(): int
public getMethod(): string
public getTimeOfDayCached(): float
public gotExit(): bool
public gotStop(): bool
public loop( int $flags = ?): bool
public priorityInit( int $n_priorities ): bool
public reInit(): bool
public stop(): bool
}

Öntanımlı Sabitler

EventBase::LOOP_ONCE

Flag used with EventBase::loop() method which means: "block until libevent has an active event, then exit once all active events have had their callbacks run".

EventBase::LOOP_NONBLOCK

Flag used with EventBase::loop() method which means: "do not block: see which events are ready now, run the callbacks of the highest-priority ones, then exit".

EventBase::NOLOCK

Configuration flag. Do not allocate a lock for the event base, even if we have locking set up".

EventBase::STARTUP_IOCP

Windows-only configuration flag. Enables the IOCP dispatcher at startup.

EventBase::NO_CACHE_TIME

Configuration flag. Instead of checking the current time every time the event loop is ready to run timeout callbacks, check after each timeout callback.

EventBase::EPOLL_USE_CHANGELIST

If we are using the epoll backend, this flag says that it is safe to use Libevent's internal change-list code to batch up adds and deletes in order to try to do as few syscalls as possible.

Setting this flag can make code run faster, but it may trigger a Linux bug: it is not safe to use this flag if one has any fds cloned by dup(), or its variants. Doing so will produce strange and hard-to-diagnose bugs.

This flag can also be activated by settnig the EVENT_EPOLL_USE_CHANGELIST environment variable.

This flag has no effect if one winds up using a backend other than epoll .

İçindekiler

  • EventBase::__construct — Constructs EventBase object
  • EventBase::dispatch — Dispatch pending events
  • EventBase::exit — Stop dispatching events
  • EventBase::free — Free resources allocated for this event base
  • EventBase::getFeatures — Returns bitmask of features supported
  • EventBase::getMethod — Returns event method in use
  • EventBase::getTimeOfDayCached — Returns the current event base time
  • EventBase::gotExit — Checks if the event loop was told to exit
  • EventBase::gotStop — Checks if the event loop was told to exit
  • EventBase::loop — Dispatch pending events
  • EventBase::priorityInit — Sets number of priorities per event base
  • EventBase::reInit — Re-initialize event base(after a fork)
  • EventBase::stop — Tells event_base to stop dispatching events


Constructs EventBase object

  • « EventBase
  • EventBase::dispatch »
  • PHP Manual
  • EventBase
  • Constructs EventBase object

EventBase::__construct

(PECL event >= 1.2.6-beta)

EventBase::__construct — Constructs EventBase object

Açıklama

public EventBase::__construct( EventConfig $cfg = ?)

Constructs EventBase object

Bağımsız Değişkenler

cfg

Optional EventConfig object.

Dönen Değerler

Returns EventBase object.

Ayrıca Bakınız

  • EventConfig


Dispatch pending events

  • « EventBase::__construct
  • EventBase::exit »
  • PHP Manual
  • EventBase
  • Dispatch pending events

EventBase::dispatch

(PECL event >= 1.2.6-beta)

EventBase::dispatch — Dispatch pending events

Açıklama

public EventBase::dispatch(): void

Wait for events to become active, and run their callbacks. The same as EventBase::loop() with no flags set.

Uyarı

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBase::loop() - Dispatch pending events


Stop dispatching events

  • « EventBase::dispatch
  • EventBase::free »
  • PHP Manual
  • EventBase
  • Stop dispatching events

EventBase::exit

(PECL event >= 1.2.6-beta)

EventBase::exit — Stop dispatching events

Açıklama

public EventBase::exit( float $timeout = ?): bool

Tells event base to stop optionally after given number of seconds.

Bağımsız Değişkenler

timeout

Optional number of seconds after which the event base should stop dispatching events.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBase::stop() - Tells event_base to stop dispatching events


Free resources allocated for this event base

  • « EventBase::exit
  • EventBase::getFeatures »
  • PHP Manual
  • EventBase
  • Free resources allocated for this event base

EventBase::free

(PECL event >= 1.10.0)

EventBase::free — Free resources allocated for this event base

Açıklama

public EventBase::free(): void

Deallocates resources allocated by libevent for the EventBase object.

Uyarı

The EventBase::free() method doesn't destruct the object itself. To destruct the object completely call unset() , or assign null.

This method does not deallocate or detach any of the events that are currently associated with the EventBase object, or close any of their sockets - beware.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventBase::__construct() - Constructs EventBase object


Returns bitmask of features supported

  • « EventBase::free
  • EventBase::getMethod »
  • PHP Manual
  • EventBase
  • Returns bitmask of features supported

EventBase::getFeatures

(PECL event >= 1.2.6-beta)

EventBase::getFeatures — Returns bitmask of features supported

Açıklama

public EventBase::getFeatures(): int

Returns bitmask of features supported.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns integer representing a bitmask of supported features. See EventConfig::FEATURE_* constants .

Örnekler

Örnek 1 EventBase::getFeatures() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
echo "'select' method avoided\n";
}

$base = new EventBase($cfg);

echo "Features:\n";
$features = $base->getFeatures();
($features & EventConfig::FEATURE_ET) and print "ET - edge-triggered IO\n";
($features & EventConfig::FEATURE_O1) and print "O1 - O(1) operation for adding/deleting events\n";
($features & EventConfig::FEATURE_FDS) and print "FDS - arbitrary file descriptor types, and not just sockets\n";
?>

Ayrıca Bakınız

  • EventBase::getMethod() - Returns event method in use
  • EventConfig


Returns event method in use

  • « EventBase::getFeatures
  • EventBase::getTimeOfDayCached »
  • PHP Manual
  • EventBase
  • Returns event method in use

EventBase::getMethod

(PECL event >= 1.2.6-beta)

EventBase::getMethod — Returns event method in use

Açıklama

public EventBase::getMethod(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

String representing used event method(backend).

Örnekler

Örnek 1 EventBase::getMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
echo "'select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);
echo "Event method used: ", $base->getMethod(), PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

`select' method avoided
Event method used: epoll

Ayrıca Bakınız

  • EventBase::getFeatures() - Returns bitmask of features supported


Returns the current event base time

  • « EventBase::getMethod
  • EventBase::gotExit »
  • PHP Manual
  • EventBase
  • Returns the current event base time

EventBase::getTimeOfDayCached

(PECL event >= 1.2.6-beta)

EventBase::getTimeOfDayCached — Returns the current event base time

Açıklama

public EventBase::getTimeOfDayCached(): float

On success returns the current time(as returned by gettimeofday() ), looking at the cached value in base if possible, and calling gettimeofday() or clock_gettime() as appropriate if there is no cached time.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current event base time. On failure returns null.


Checks if the event loop was told to exit

  • « EventBase::getTimeOfDayCached
  • EventBase::gotStop »
  • PHP Manual
  • EventBase
  • Checks if the event loop was told to exit

EventBase::gotExit

(PECL event >= 1.2.6-beta)

EventBase::gotExit — Checks if the event loop was told to exit

Açıklama

public EventBase::gotExit(): bool

Checks if the event loop was told to exit by EventBase::exit() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true, event loop was told to exit by EventBase::exit() . Otherwise false.

Ayrıca Bakınız

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit


Checks if the event loop was told to exit

  • « EventBase::gotExit
  • EventBase::loop »
  • PHP Manual
  • EventBase
  • Checks if the event loop was told to exit

EventBase::gotStop

(PECL event >= 1.2.6-beta)

EventBase::gotStop — Checks if the event loop was told to exit

Açıklama

public EventBase::gotStop(): bool

Checks if the event loop was told to exit by EventBase::stop() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true, event loop was told to stop by EventBase::stop() . Otherwise false.

Ayrıca Bakınız

  • EventBase::exit() - Stop dispatching events
  • EventBase::stop() - Tells event_base to stop dispatching events
  • EventBase::gotExit() - Checks if the event loop was told to exit


Dispatch pending events

  • « EventBase::gotStop
  • EventBase::priorityInit »
  • PHP Manual
  • EventBase
  • Dispatch pending events

EventBase::loop

(PECL event >= 1.2.6-beta)

EventBase::loop — Dispatch pending events

Açıklama

public EventBase::loop( int $flags = ?): bool

Wait for events to become active, and run their callbacks.

Uyarı

Do NOT destroy the EventBase object as long as resources of the associated Event objects are not released. Otherwise, it will lead to unpredictable results!

Bağımsız Değişkenler

flags

Optional flags. One of EventBase::LOOP_* constants. See EventBase constants .

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBase::dispatch() - Dispatch pending events


Sets number of priorities per event base

  • « EventBase::loop
  • EventBase::reInit »
  • PHP Manual
  • EventBase
  • Sets number of priorities per event base

EventBase::priorityInit

(PECL event >= 1.2.6-beta)

EventBase::priorityInit — Sets number of priorities per event base

Açıklama

public EventBase::priorityInit( int $n_priorities ): bool

Sets number of priorities per event base.

Bağımsız Değişkenler

n_priorities

The number of priorities per event base.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Event::setPriority() - Set event priority


Re-initialize event base(after a fork)

  • « EventBase::priorityInit
  • EventBase::stop »
  • PHP Manual
  • EventBase
  • Re-initialize event base(after a fork)

EventBase::reInit

(PECL event >= 1.2.6-beta)

EventBase::reInit — Re-initialize event base(after a fork)

Açıklama

public EventBase::reInit(): bool

Re-initialize event base. Should be called after a fork.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Tells event_base to stop dispatching events

  • « EventBase::reInit
  • EventBuffer »
  • PHP Manual
  • EventBase
  • Tells event_base to stop dispatching events

EventBase::stop

(PECL event >= 1.2.6-beta)

EventBase::stop — Tells event_base to stop dispatching events

Açıklama

public EventBase::stop(): bool

Tells event_base to stop dispatching events

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBase::exit() - Stop dispatching events
  • EventBase::gotStop() - Checks if the event loop was told to exit


The EventBuffer class

(PECL event >= 1.5.0)

Giriş

EventBuffer represents Libevent's "evbuffer", an utility functionality for buffered I/O.

Event buffers are meant to be generally useful for doing the "buffer" part of buffered network I/O.

Sınıf Sözdizimi

class EventBuffer {
/* Sabitler */
const int EOL_ANY = 0;
const int EOL_CRLF = 1;
const int EOL_CRLF_STRICT = 2;
const int EOL_LF = 3;
const int PTR_SET = 0;
const int PTR_ADD = 1;
/* Özellikler */
public readonly int $length;
public readonly int $contiguous_space;
/* Yöntemler */
public add( string $data ): bool
public addBuffer( EventBuffer $buf ): bool
public appendFrom( EventBuffer $buf , int $len ): int
public __construct()
public copyout( string &$data , int $max_bytes ): int
public drain( int $len ): bool
public enableLocking(): void
public expand( int $len ): bool
public freeze( bool $at_front ): bool
public lock(): void
public prepend( string $data ): bool
public prependBuffer( EventBuffer $buf ): bool
public pullup( int $size ): string
public read( int $max_bytes ): string
public read( mixed $fd , int $howmuch ): int
public readLine( int $eol_style ): string
public search( string $what , int $start = -1 , int $end = -1 ): mixed
public searchEol( int $start = -1 , int $eol_style = EventBuffer::EOL_ANY ): mixed
public substr( int $start , int $length = ?): string
public unfreeze( bool $at_front ): bool
public unlock(): bool
public write( mixed $fd , int $howmuch = ?): int
}

Özellikler

length

The number of bytes stored in an event buffer.

contiguous_space

The number of bytes stored contiguously at the front of the buffer. The bytes in a buffer may be stored in multiple separate chunks of memory; the property returns the number of bytes currently stored in the first chunk.

Öntanımlı Sabitler

EventBuffer::EOL_ANY

The end of line is any sequence of any number of carriage return and linefeed characters. This format is not very useful; it exists mainly for backward compatibility.

EventBuffer::EOL_CRLF

The end of the line is an optional carriage return, followed by a linefeed. (In other words, it is either a "\r\n" or a "\n" .) This format is useful in parsing text-based Internet protocols, since the standards generally prescribe a "\r\n" line-terminator, but nonconformant clients sometimes say just "\n" .

EventBuffer::EOL_CRLF_STRICT

The end of a line is a single carriage return, followed by a single linefeed. (This is also known as "\r\n" . The ASCII values are 0x0D 0x0A ).

EventBuffer::EOL_LF

The end of a line is a single linefeed character. (This is also known as "\n" . It is ASCII value is 0x0A .)

EventBuffer::PTR_SET

Flag used as argument of EventBuffer::setPosition() method. If this flag specified, the position pointer is moved to an absolute position within the buffer.

EventBuffer::PTR_ADD

The same as EventBuffer::PTR_SET , except this flag causes EventBuffer::setPosition() method to move position forward up to the specified number of bytes(instead of setting absolute position).

İçindekiler

  • EventBuffer::add — Append data to the end of an event buffer
  • EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer
  • EventBuffer::__construct — Constructs EventBuffer object
  • EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::enableLocking — Açıklama
  • EventBuffer::expand — Reserves space in buffer
  • EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding
  • EventBuffer::lock — Acquires a lock on buffer
  • EventBuffer::prepend — Prepend data to the front of the buffer
  • EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer
  • EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read — Read data from an evbuffer and drain the bytes read
  • EventBuffer::readFrom — Read data from a file onto the end of the buffer
  • EventBuffer::readLine — Extracts a line from the front of the buffer
  • EventBuffer::search — Scans the buffer for an occurrence of a string
  • EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line
  • EventBuffer::substr — Substracts a portion of the buffer data
  • EventBuffer::unfreeze — Re-enable calls that modify an event buffer
  • EventBuffer::unlock — Releases lock acquired by EventBuffer::lock
  • EventBuffer::write — Write contents of the buffer to a file or socket


Append data to the end of an event buffer

  • « EventBuffer
  • EventBuffer::addBuffer »
  • PHP Manual
  • EventBuffer
  • Append data to the end of an event buffer

EventBuffer::add

(PECL event >= 1.2.6-beta)

EventBuffer::add — Append data to the end of an event buffer

Açıklama

public EventBuffer::add( string $data ): bool

Append data to the end of an event buffer.

Bağımsız Değişkenler

data

String to be appended to the end of the buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer


Move all data from a buffer provided to the current instance of EventBuffer

  • « EventBuffer::add
  • EventBuffer::appendFrom »
  • PHP Manual
  • EventBuffer
  • Move all data from a buffer provided to the current instance of EventBuffer

EventBuffer::addBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::addBuffer — Move all data from a buffer provided to the current instance of EventBuffer

Açıklama

public EventBuffer::addBuffer( EventBuffer $buf ): bool

Move all data from the buffer provided in buf parameter to the end of current EventBuffer . This is a destructive add. The data from one buffer moves into the other buffer. However, no unnecessary memory copies occur.

Bağımsız Değişkenler

buf

The source EventBuffer object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::add() - Append data to the end of an event buffer


Moves the specified number of bytes from a source buffer to the end of the current buffer

  • « EventBuffer::addBuffer
  • EventBuffer::__construct »
  • PHP Manual
  • EventBuffer
  • Moves the specified number of bytes from a source buffer to the end of the current buffer

EventBuffer::appendFrom

(PECL event >= 1.6.0)

EventBuffer::appendFrom — Moves the specified number of bytes from a source buffer to the end of the current buffer

Açıklama

public EventBuffer::appendFrom( EventBuffer $buf , int $len ): int

Moves the specified number of bytes from a source buffer to the end of the current buffer. If there are fewer number of bytes, it moves all the bytes available from the source buffer.

Bağımsız Değişkenler

buf

Source buffer.

len

Dönen Değerler

Returns the number of bytes read.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.6.0 | Renamed EventBuffer::appendFrom()(the old method name) to EventBuffer::appendFrom().

Ayrıca Bakınız

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


Constructs EventBuffer object

  • « EventBuffer::appendFrom
  • EventBuffer::copyout »
  • PHP Manual
  • EventBuffer
  • Constructs EventBuffer object

EventBuffer::__construct

(PECL event >= 1.2.6-beta)

EventBuffer::__construct — Constructs EventBuffer object

Açıklama

public EventBuffer::__construct()

Constructs EventBuffer object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns EventBuffer object.


Copies out specified number of bytes from the front of the buffer

  • « EventBuffer::__construct
  • EventBuffer::drain »
  • PHP Manual
  • EventBuffer
  • Copies out specified number of bytes from the front of the buffer

EventBuffer::copyout

(PECL event >= 1.2.6-beta)

EventBuffer::copyout — Copies out specified number of bytes from the front of the buffer

Açıklama

public EventBuffer::copyout( string &$data , int $max_bytes ): int

Behaves just like EventBuffer::read() , but does not drain any data from the buffer. I.e. it copies the first max_bytes bytes from the front of the buffer into data . If there are fewer than max_bytes bytes available, the function copies all the bytes there are.

Bağımsız Değişkenler

data

Output string.

max_bytes

The number of bytes to copy.

Dönen Değerler

Returns the number of bytes copied, or -1 on failure.

Ayrıca Bakınız

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Removes specified number of bytes from the front of the buffer without copying it anywhere

  • « EventBuffer::copyout
  • EventBuffer::enableLocking »
  • PHP Manual
  • EventBuffer
  • Removes specified number of bytes from the front of the buffer without copying it anywhere

EventBuffer::drain

(PECL event >= 1.2.6-beta)

EventBuffer::drain — Removes specified number of bytes from the front of the buffer without copying it anywhere

Açıklama

public EventBuffer::drain( int $len ): bool

Behaves as EventBuffer::read() , except that it does not copy the data: it just removes it from the front of the buffer.

Bağımsız Değişkenler

len

The number of bytes to remove from the buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Açıklama

  • « EventBuffer::drain
  • EventBuffer::expand »
  • PHP Manual
  • EventBuffer
  • Açıklama

EventBuffer::enableLocking

(PECL event >= 1.2.6-beta)

EventBuffer::enableLocking —

Açıklama

public EventBuffer::enableLocking(): void

Enable locking on an EventBuffer so that it can safely be used by multiple threads at the same time. When locking is enabled, the lock will be held when callbacks are invoked. This could result in deadlock if you aren't careful. Plan accordingly!

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • » Evbuffers and Thread-safety


Reserves space in buffer

  • « EventBuffer::enableLocking
  • EventBuffer::freeze »
  • PHP Manual
  • EventBuffer
  • Reserves space in buffer

EventBuffer::expand

(PECL event >= 1.2.6-beta)

EventBuffer::expand — Reserves space in buffer

Açıklama

public EventBuffer::expand( int $len ): bool

Alters the last chunk of memory in the buffer, or adds a new chunk, such that the buffer is now large enough to contain len bytes without any further allocations.

Bağımsız Değişkenler

len

The number of bytes to reserve for the buffer

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Prevent calls that modify an event buffer from succeeding

  • « EventBuffer::expand
  • EventBuffer::lock »
  • PHP Manual
  • EventBuffer
  • Prevent calls that modify an event buffer from succeeding

EventBuffer::freeze

(PECL event >= 1.2.6-beta)

EventBuffer::freeze — Prevent calls that modify an event buffer from succeeding

Açıklama

public EventBuffer::freeze( bool $at_front ): bool

Prevent calls that modify an event buffer from succeeding

Bağımsız Değişkenler

at_front

Whether to disable changes to the front or end of the buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::unfreeze() - Re-enable calls that modify an event buffer


Acquires a lock on buffer

  • « EventBuffer::freeze
  • EventBuffer::prepend »
  • PHP Manual
  • EventBuffer
  • Acquires a lock on buffer

EventBuffer::lock

(PECL event >= 1.2.6-beta)

EventBuffer::lock — Acquires a lock on buffer

Açıklama

public EventBuffer::lock(): void

Acquires a lock on buffer. Can be used in pair with EventBuffer::unlock() to make a set of operations atomic, i.e. thread-safe. Note, it is not needed to lock buffers for individual operations. When locking is enabled(see EventBuffer::enableLocking() ), individual operations on event buffers are already atomic.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventBuffer::unlock() - Releases lock acquired by EventBuffer::lock


Prepend data to the front of the buffer

  • « EventBuffer::lock
  • EventBuffer::prependBuffer »
  • PHP Manual
  • EventBuffer
  • Prepend data to the front of the buffer

EventBuffer::prepend

(PECL event >= 1.2.6-beta)

EventBuffer::prepend — Prepend data to the front of the buffer

Açıklama

public EventBuffer::prepend( string $data ): bool

Prepend data to the front of the buffer.

Bağımsız Değişkenler

data

String to be prepended to the front of the buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::prependBuffer() - Moves all data from source buffer to the front of current buffer
  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer


Moves all data from source buffer to the front of current buffer

  • « EventBuffer::prepend
  • EventBuffer::pullup »
  • PHP Manual
  • EventBuffer
  • Moves all data from source buffer to the front of current buffer

EventBuffer::prependBuffer

(PECL event >= 1.2.6-beta)

EventBuffer::prependBuffer — Moves all data from source buffer to the front of current buffer

Açıklama

public EventBuffer::prependBuffer( EventBuffer $buf ): bool

Behaves as EventBuffer::addBuffer() , except that it moves data to the front of the buffer.

Bağımsız Değişkenler

buf

Source buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::add() - Append data to the end of an event buffer
  • EventBuffer::addBuffer() - Move all data from a buffer provided to the current instance of EventBuffer
  • EventBuffer::prepend() - Prepend data to the front of the buffer


Linearizes data within buffer and returns it's contents as a string

  • « EventBuffer::prependBuffer
  • EventBuffer::read »
  • PHP Manual
  • EventBuffer
  • Linearizes data within buffer and returns it's contents as a string

EventBuffer::pullup

(PECL event >= 1.2.6-beta)

EventBuffer::pullup — Linearizes data within buffer and returns it's contents as a string

Açıklama

public EventBuffer::pullup( int $size ): string

"Linearizes" the first size bytes of the buffer, copying or moving them as needed to ensure that they are all contiguous and occupying the same chunk of memory. If size is negative, the function linearizes the entire buffer.

Uyarı

Calling EventBuffer::pullup() with a large size can be quite slow, since it potentially needs to copy the entire buffer's contents.

Bağımsız Değişkenler

size

The number of bytes required to be contiguous within the buffer.

Dönen Değerler

If size is greater than the number of bytes in the buffer, the function returns null. Otherwise, EventBuffer::pullup() returns string.

Ayrıca Bakınız

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Read data from an evbuffer and drain the bytes read

  • « EventBuffer::pullup
  • EventBuffer::readFrom »
  • PHP Manual
  • EventBuffer
  • Read data from an evbuffer and drain the bytes read

EventBuffer::read

(PECL event >= 1.6.0)

EventBuffer::read — Read data from an evbuffer and drain the bytes read

Açıklama

public EventBuffer::read( int $max_bytes ): string

Read the first max_bytes from the buffer and drain the bytes read. If more max_bytes are requested than are available in the buffer, it only extracts as many bytes as available.

Bağımsız Değişkenler

max_bytes

Maxmimum number of bytes to read from the buffer.

Dönen Değerler

Returns string read, or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.6.0 | Renamed EventBuffer::read()(the old method name) to EventBuffer::read(). EventBuffer::read() now takes only max_bytes argument; returns string instead of integer.

Ayrıca Bakınız

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Read data from a file onto the end of the buffer

  • « EventBuffer::read
  • EventBuffer::readLine »
  • PHP Manual
  • EventBuffer
  • Read data from a file onto the end of the buffer

EventBuffer::readFrom

(PECL event >= 1.7.0)

EventBuffer::readFrom — Read data from a file onto the end of the buffer

Açıklama

public EventBuffer::read( mixed $fd , int $howmuch ): int

Read data from the file specified by fd onto the end of the buffer.

Bağımsız Değişkenler

fd

Socket resource, stream, or numeric file descriptor.

howmuch

Maxmimum number of bytes to read.

Dönen Değerler

Returns the number of bytes read, or false on failure.

Ayrıca Bakınız

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::readLine() - Extracts a line from the front of the buffer
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Extracts a line from the front of the buffer

  • « EventBuffer::readFrom
  • EventBuffer::search »
  • PHP Manual
  • EventBuffer
  • Extracts a line from the front of the buffer

EventBuffer::readLine

(PECL event >= 1.2.6-beta)

EventBuffer::readLine — Extracts a line from the front of the buffer

Açıklama

public EventBuffer::readLine( int $eol_style ): string

Extracts a line from the front of the buffer and returns it in a newly allocated string. If there is not a whole line to read, the function returns null. The line terminator is not included in the copied string.

Bağımsız Değişkenler

eol_style

One of EventBuffer:EOL_* constants .

Dönen Değerler

On success returns the line read from the buffer, otherwise null.

Ayrıca Bakınız

  • EventBuffer::copyout() - Copies out specified number of bytes from the front of the buffer
  • EventBuffer::drain() - Removes specified number of bytes from the front of the buffer without copying it anywhere
  • EventBuffer::pullup() - Linearizes data within buffer and returns it's contents as a string
  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read
  • EventBuffer::appendFrom() - Moves the specified number of bytes from a source buffer to the end of the current buffer


Scans the buffer for an occurrence of a string

  • « EventBuffer::readLine
  • EventBuffer::searchEol »
  • PHP Manual
  • EventBuffer
  • Scans the buffer for an occurrence of a string

EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::search — Scans the buffer for an occurrence of a string

Açıklama

public EventBuffer::search( string $what , int $start = -1 , int $end = -1 ): mixed

Scans the buffer for an occurrence of the string what . It returns numeric position of the string, or false if the string was not found.

If the start argument is provided, it points to the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Bağımsız Değişkenler

what

String to search.

start

Start search position.

end

End search position.

Dönen Değerler

Returns numeric position of the first occurrence of the string in the buffer, or false if string is not found.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 EventBuffer::search() example

<?php
// Count total occurrences of 'str' in 'buf'
function count_instances($buf, $str) {
$total = 0;
$p = 0;
$i = 0;

while (1) {
$p = $buf->search($str, $p);
if ($p === FALSE) {
break;
}
++$total;
++$p;
}

return $total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)

Ayrıca Bakınız

  • EventBuffer::searchEol() - Scans the buffer for an occurrence of an end of line


Scans the buffer for an occurrence of an end of line

  • « EventBuffer::search
  • EventBuffer::substr »
  • PHP Manual
  • EventBuffer
  • Scans the buffer for an occurrence of an end of line

EventBuffer::searchEol

(PECL event >= 1.5.0)

EventBuffer::searchEol — Scans the buffer for an occurrence of an end of line

Açıklama

public EventBuffer::searchEol( int $start = -1 , int $eol_style = EventBuffer::EOL_ANY ): mixed

Scans the buffer for an occurrence of an end of line specified by eol_style parameter . It returns numeric position of the string, or false if the string was not found.

If the start argument is provided, it represents the position at which the search should begin; otherwise, the search is performed from the start of the string. If end argument provided, the search is performed between start and end buffer positions.

Bağımsız Değişkenler

start

Start search position.

eol_style

One of EventBuffer:EOL_* constants .

Dönen Değerler

Returns numeric position of the first occurrence of end-of-line symbol in the buffer, or false if not found.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Ayrıca Bakınız

  • EventBuffer::search() - Scans the buffer for an occurrence of a string


Substracts a portion of the buffer data

  • « EventBuffer::searchEol
  • EventBuffer::unfreeze »
  • PHP Manual
  • EventBuffer
  • Substracts a portion of the buffer data

EventBuffer::substr

(PECL event >= 1.6.0)

EventBuffer::substr — Substracts a portion of the buffer data

Açıklama

public EventBuffer::substr( int $start , int $length = ?): string

Substracts up to length bytes of the buffer data beginning at start position.

Bağımsız Değişkenler

start

The start position of data to be substracted.

length

Maximum number of bytes to substract.

Dönen Değerler

Returns the data substracted as a string on success, or false on failure.

Ayrıca Bakınız

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


Re-enable calls that modify an event buffer

  • « EventBuffer::substr
  • EventBuffer::unlock »
  • PHP Manual
  • EventBuffer
  • Re-enable calls that modify an event buffer

EventBuffer::unfreeze

(PECL event >= 1.2.6-beta)

EventBuffer::unfreeze — Re-enable calls that modify an event buffer

Açıklama

public EventBuffer::unfreeze( bool $at_front ): bool

Re-enable calls that modify an event buffer.

Bağımsız Değişkenler

at_front

Whether to enable events at the front or at the end of the buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::freeze() - Prevent calls that modify an event buffer from succeeding


Releases lock acquired by EventBuffer::lock

  • « EventBuffer::unfreeze
  • EventBuffer::write »
  • PHP Manual
  • EventBuffer
  • Releases lock acquired by EventBuffer::lock

EventBuffer::unlock

(PECL event >= 1.2.6-beta)

EventBuffer::unlock — Releases lock acquired by EventBuffer::lock

Açıklama

public EventBuffer::unlock(): bool

Releases lock acquired by EventBuffer::lock() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBuffer::lock() - Acquires a lock on buffer


Write contents of the buffer to a file or socket

  • « EventBuffer::unlock
  • EventBufferEvent »
  • PHP Manual
  • EventBuffer
  • Write contents of the buffer to a file or socket

EventBuffer::write

(PECL event >= 1.6.0)

EventBuffer::write — Write contents of the buffer to a file or socket

Açıklama

public EventBuffer::write( mixed $fd , int $howmuch = ?): int

Write contents of the buffer to a file descriptor. The buffer will be drained after the bytes have been successfully written.

Bağımsız Değişkenler

fd

Socket resource, stream or numeric file descriptor associated normally associated with a socket.

howmuch

The maximum number of bytes to write.

Dönen Değerler

Returns the number of bytes written, or false on error.

Ayrıca Bakınız

  • EventBuffer::read() - Read data from an evbuffer and drain the bytes read


The EventBufferEvent class

(PECL event >= 1.2.6-beta)

Giriş

Represents Libevent's buffer event.

Usually an application wants to perform some amount of data buffering in addition to just responding to events. When we want to write data, for example, the usual pattern looks like:

  1. Decide that we want to write some data to a connection; put that data in a buffer.

  2. Wait for the connection to become writable

  3. Write as much of the data as we can

  4. Remember how much we wrote, and if we still have more data to write, wait for the connection to become writable again.

This buffered I/O pattern is common enough that Libevent provides a generic mechanism for it. A "buffer event" consists of an underlying transport (like a socket), a read buffer, and a write buffer. Instead of regular events, which give callbacks when the underlying transport is ready to be read or written, a buffer event invokes its user-supplied callbacks when it has read or written enough data.

Sınıf Sözdizimi

final class EventBufferEvent {
/* Sabitler */
const int READING = 1;
const int WRITING = 2;
const int EOF = 16;
const int ERROR = 32;
const int TIMEOUT = 64;
const int CONNECTED = 128;
const int OPT_CLOSE_ON_FREE = 1;
const int OPT_THREADSAFE = 2;
const int OPT_DEFER_CALLBACKS = 4;
const int OPT_UNLOCK_CALLBACKS = 8;
const int SSL_OPEN = 0;
const int SSL_CONNECTING = 1;
const int SSL_ACCEPTING = 2;
/* Özellikler */
public int $fd;
public int $priority;
public readonly EventBuffer $input;
public readonly EventBuffer $output;
/* Yöntemler */
public close(): void
public connect( string $addr ): bool
public connectHost(
EventDnsBase $dns_base ,
string $hostname ,
int $port ,
int $family = EventUtil::AF_UNSPEC
): bool
public __construct(
EventBase $base ,
mixed $socket = null ,
int $options = 0 ,
callable $readcb = null ,
callable $writecb = null ,
callable $eventcb = null ,
mixed $arg = null
)
public static createPair( EventBase $base , int $options = 0 ): array
public disable( int $events ): bool
public enable( int $events ): bool
public free(): void
public getDnsErrorString(): string
public getEnabled(): int
public getInput(): EventBuffer
public getOutput(): EventBuffer
public read( int $size ): string
public readBuffer( EventBuffer $buf ): bool
public setCallbacks(
callable $readcb ,
callable $writecb ,
callable $eventcb ,
mixed $arg = ?
): void
public setPriority( int $priority ): bool
public setTimeouts( float $timeout_read , float $timeout_write ): bool
public setWatermark( int $events , int $lowmark , int $highmark ): void
public sslError(): string
public static sslFilter(
EventBase $base ,
EventBufferEvent $underlying ,
EventSslContext $ctx ,
int $state ,
int $options = 0
): EventBufferEvent
public sslGetCipherInfo(): string
public sslGetCipherName(): string
public sslGetCipherVersion(): string
public sslGetProtocol(): string
public sslRenegotiate(): void
public static sslSocket(
EventBase $base ,
mixed $socket ,
EventSslContext $ctx ,
int $state ,
int $options = ?
): EventBufferEvent
public write( string $data ): bool
public writeBuffer( EventBuffer $buf ): bool
}

Özellikler

fd

Numeric file descriptor associated with the buffer event. Normally represents a bound socket. Equals to null, if there is no file descriptor(socket) associated with the buffer event.

priority

The priority of the events used to implement the buffer event.

input

Underlying input buffer object( EventBuffer )

output

Underlying output buffer object( EventBuffer )

Öntanımlı Sabitler

EventBufferEvent::READING

An event occurred during a read operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::WRITING

An event occurred during a write operation on the bufferevent. See the other flags for which event it was.

EventBufferEvent::EOF

Got an end-of-file indication on the buffer event.

EventBufferEvent::ERROR

An error occurred during a bufferevent operation. For more information on what the error was, call EventUtil::getLastSocketErrno() and/or EventUtil::getLastSocketError() .

EventBufferEvent::TIMEOUT

EventBufferEvent::CONNECTED

Finished a requested connection on the bufferevent.

EventBufferEvent::OPT_CLOSE_ON_FREE

When the buffer event is freed, close the underlying transport. This will close an underlying socket, free an underlying buffer event, etc.

EventBufferEvent::OPT_THREADSAFE

Automatically allocate locks for the bufferevent, so that it's safe to use from multiple threads.

EventBufferEvent::OPT_DEFER_CALLBACKS

When this flag is set, the bufferevent defers all of its callbacks. See » Fast portable non-blocking network programming with Libevent, Deferred callbacks .

EventBufferEvent::OPT_UNLOCK_CALLBACKS

By default, when the bufferevent is set up to be threadsafe, the buffer event's locks are held whenever the any user-provided callback is invoked. Setting this option makes Libevent release the buffer event's lock when it's invoking the callbacks.

EventBufferEvent::SSL_OPEN

The SSL handshake is done

EventBufferEvent::SSL_CONNECTING

SSL is currently performing negotiation as a client

EventBufferEvent::SSL_ACCEPTING

SSL is currently performing negotiation as a server

İçindekiler

  • EventBufferEvent::close — Closes file descriptor associated with the current buffer event
  • EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket
  • EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving
  • EventBufferEvent::__construct — Constructs EventBufferEvent object
  • EventBufferEvent::createPair — Creates two buffer events connected to each other
  • EventBufferEvent::disable — Disable events read, write, or both on a buffer event
  • EventBufferEvent::enable — Enable events read, write, or both on a buffer event
  • EventBufferEvent::free — Free a buffer event
  • EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt
  • EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event
  • EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event
  • EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event
  • EventBufferEvent::read — Read buffer's data
  • EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf
  • EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks
  • EventBufferEvent::setPriority — Assign a priority to a bufferevent
  • EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event
  • EventBufferEvent::setWatermark — Adjusts read and/or write watermarks
  • EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event
  • EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher
  • EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection
  • EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection
  • EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection
  • EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation
  • EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket
  • EventBufferEvent::write — Adds data to a buffer event's output buffer
  • EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer


Closes file descriptor associated with the current buffer event

  • « EventBufferEvent
  • EventBufferEvent::connect »
  • PHP Manual
  • EventBufferEvent
  • Closes file descriptor associated with the current buffer event

EventBufferEvent::close

(PECL event >= 1.10.0)

EventBufferEvent::close — Closes file descriptor associated with the current buffer event

Açıklama

public EventBufferEvent::close(): void

Closes file descriptor associated with the current buffer event.

This method may be used in cases when the EventBufferEvent::OPT_CLOSE_ON_FREE option is not appropriate.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Connect buffer event's file descriptor to given address or UNIX socket

  • « EventBufferEvent::close
  • EventBufferEvent::connectHost »
  • PHP Manual
  • EventBufferEvent
  • Connect buffer event's file descriptor to given address or UNIX socket

EventBufferEvent::connect

(PECL event >= 1.2.6-beta)

EventBufferEvent::connect — Connect buffer event's file descriptor to given address or UNIX socket

Açıklama

public EventBufferEvent::connect( string $addr ): bool

Connect buffer event's file descriptor to given address(optionally with port), or a UNIX domain socket.

If socket is not assigned to the buffer event, this function allocates a new socket and makes it non-blocking internally.

To resolve DNS names(asyncronously), use EventBufferEvent::connectHost() method.

Bağımsız Değişkenler

addr

Should contain an IP address with optional port number, or a path to UNIX domain socket. Recognized formats are:

[IPv6Address]:port
[IPv6Address]
IPv6Address
IPv4Address:port
IPv4Address
unix:path
Note, 'unix:' prefix is currently not case sensitive.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventBufferEvent::connect() example

<?php
/*
* 1. Connect to 127.0.0.1 at port 80
* by means of EventBufferEvent::connect().
*
* 2. Request /index.cphp via HTTP/1.0
* using the output buffer.
*
* 3. Asyncronously read the response and print it to stdout.
*/

/* Read callback */
function readcb($bev, $base) {
$input = $bev->getInput();

while (($n = $input->remove($buf, 1024)) > 0) {
echo $buf;
}
}

/* Event callback */
function eventcb($bev, $events, $base) {
if ($events & EventBufferEvent::CONNECTED) {
echo "Connected.\n";
} elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
if ($events & EventBufferEvent::ERROR) {
echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
}

echo "Closing\n";
$base->exit();
exit("Done\n");
}
}

$base = new EventBase();

echo "step 1\n";
$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS);
if (!$bev) {
exit("Failed creating bufferevent socket\n");
}

echo "step 2\n";
$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

echo "step 3\n";
/* Send request */
$output = $bev->getOutput();
if (!$output->add(
"GET /index.cphp HTTP/1.0\r\n".
"Connection: Close\r\n\r\n"
)) {
exit("Failed adding request to output buffer\n");
}

/* Connect to the host syncronously.
* We know the IP, and don't need to resolve DNS. */
if (!$bev->connect("127.0.0.1:80")) {
exit("Can't connect to host\n");
}

/* Dispatch pending events */
$base->dispatch();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

step 1
step 2
step 3
Connected.
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sat, 09 Mar 2013 10:06:58 GMT
Content-Type: text/html; CHARSET=Windows-1254
Connection: close
X-Powered-By: PHP/5.4.11--pl2-gentoo

sdfsdfsf
Closing
Done

Örnek 2 Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console

<?php
class MyUnixSocketClient {
private $base, $bev;

function __construct($base, $sock_path) {
$this->base = $base;
$this->bev = new EventBufferEvent($base, NULL, EventBufferEvent::OPT_CLOSE_ON_FREE,
array ($this, "read_cb"), NULL, array ($this, "event_cb"));

if (!$this->bev->connect("unix:$sock_path")) {
trigger_error("Failed to connect to socket `$sock_path'", E_USER_ERROR);
}

$this->bev->enable(Event::READ);
}

function __destruct() {
if ($this->bev) {
$this->bev->free();
$this->bev = NULL;
}
}

function dispatch() {
$this->base->dispatch();
}

function read_cb($bev, $unused) {
$in = $bev->input;

printf("Received %ld bytes\n", $in->length);
printf("----- data ----\n");
printf("%ld:\t%s\n", (int) $in->length, $in->pullup(-1));

$this->bev->free();
$this->bev = NULL;
$this->base->exit(NULL);
}

function event_cb($bev, $events, $unused) {
if ($events & EventBufferEvent::ERROR) {
echo "Error from bufferevent\n";
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
$bev->free();
$bev = NULL;
} elseif ($events & EventBufferEvent::CONNECTED) {
$bev->output->add("test\n");
}
}
}

if ($argc <= 1) {
exit("Socket path is not provided\n");
}
$sock_path = $argv[1];

$base = new EventBase();
$cl = new MyUnixSocketClient($base, $sock_path);
$cl->dispatch();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Received 5 bytes
----- data ----
5:  test

Ayrıca Bakınız

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving


Connects to a hostname with optionally asyncronous DNS resolving

  • « EventBufferEvent::connect
  • EventBufferEvent::__construct »
  • PHP Manual
  • EventBufferEvent
  • Connects to a hostname with optionally asyncronous DNS resolving

EventBufferEvent::connectHost

(PECL event >= 1.2.6-beta)

EventBufferEvent::connectHost — Connects to a hostname with optionally asyncronous DNS resolving

Açıklama

public EventBufferEvent::connectHost(
EventDnsBase $dns_base ,
string $hostname ,
int $port ,
int $family = EventUtil::AF_UNSPEC
): bool

Resolves the DNS name hostname, looking for addresses of type family ( EventUtil::AF_* constants). If the name resolution fails, it invokes the event callback with an error event. If it succeeds, it launches a connection attempt just as EventBufferEvent::connect() would.

dns_base is optional. May be null, or an object created with EventDnsBase::__construct() . For asyncronous hostname resolving pass a valid event dns base resource. Otherwise the hostname resolving will block.

Bilginize:

EventDnsBase is available only if Event configured --with-event-extra ( event_extra library, libevent protocol-specific functionality support including HTTP, DNS, and RPC ).

Bilginize:

EventBufferEvent::connectHost() requires libevent-2.0.3-alpha or greater.

Bağımsız Değişkenler

dns_base

Object of EventDnsBase in case if DNS is to be resolved asyncronously. Otherwise null.

hostname

Hostname to connect to. Recognized formats are:

www.example.com (hostname)
 1.2.3.4 (ipv4address)
 ::1 (ipv6address)
[::1] ([ipv6address])

port

Port number

family

Address family. EventUtil::AF_UNSPEC , EventUtil::AF_INET , or EventUtil::AF_INET6 . See EventUtil constants .

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventBufferEvent::connectHost() example

<?php
/* Read callback */
function readcb($bev, $base) {
//$input = $bev->input; //$bev->getInput();

//$pos = $input->search("TTP");
$pos = $bev->input->search("TTP");

while (($n = $bev->input->remove($buf, 1024)) > 0) {
echo $buf;
}
}

/* Event callback */
function eventcb($bev, $events, $base) {
if ($events & EventBufferEvent::CONNECTED) {
echo "Connected.\n";
} elseif ($events & (EventBufferEvent::ERROR | EventBufferEvent::EOF)) {
if ($events & EventBufferEvent::ERROR) {
echo "DNS error: ", $bev->getDnsErrorString(), PHP_EOL;
}

echo "Closing\n";
$base->exit();
exit("Done\n");
}
}

$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // We'll use async DNS resolving
if (!$dns_base) {
exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
"readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
exit("Failed creating bufferevent socket\n");
}

//$bev->setCallbacks("readcb", /* writecb */ NULL, "eventcb", $base);
$bev->enable(Event::READ | Event::WRITE);

$output = $bev->output; //$bev->getOutput();
if (!$output->add(
"GET {$argv[2]} HTTP/1.0\r\n".
"Host: {$argv[1]}\r\n".
"Connection: Close\r\n\r\n"
)) {
exit("Failed adding request to output buffer\n");
}

if (!$bev->connectHost($dns_base, $argv[1], 80, EventUtil::AF_UNSPEC)) {
exit("Can't connect to host {$argv[1]}\n");
}

$base->dispatch();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Connected.
HTTP/1.0 301 Moved Permanently
Location: http://www.google.co.uk/
Content-Type: text/html; CHARSET=Windows-1254
Date: Sat, 09 Mar 2013 12:21:19 GMT
Expires: Mon, 08 Apr 2013 12:21:19 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 221
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN

<HTML><HEAD><meta http-equiv="content-type" content="text/html;CHARSET=Windows-1254">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.co.uk/">here</A>.
</BODY></HTML>
Closing
Done

Ayrıca Bakınız

  • EventBufferEvent::connect() - Connect buffer event's file descriptor to given address or UNIX socket


Constructs EventBufferEvent object

  • « EventBufferEvent::connectHost
  • EventBufferEvent::createPair »
  • PHP Manual
  • EventBufferEvent
  • Constructs EventBufferEvent object

EventBufferEvent::__construct

(PECL event >= 1.2.6-beta)

EventBufferEvent::__construct — Constructs EventBufferEvent object

Açıklama

public EventBufferEvent::__construct(
EventBase $base ,
mixed $socket = null ,
int $options = 0 ,
callable $readcb = null ,
callable $writecb = null ,
callable $eventcb = null ,
mixed $arg = null
)

Create a buffer event on a socket, stream or a file descriptor. Passing null to socket means that the socket should be created later, e.g. by means of EventBufferEvent::connect() .

Bağımsız Değişkenler

base

Event base that should be associated with the new buffer event.

socket

May be created as a stream(not necessarily by means of sockets extension)

options

One of EventBufferEvent::OPT_* constants , or 0 .

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Dönen Değerler

Returns buffer event resource optionally associated with socket resource. */

Ayrıca Bakınız

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event
  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket


Creates two buffer events connected to each other

  • « EventBufferEvent::__construct
  • EventBufferEvent::disable »
  • PHP Manual
  • EventBufferEvent
  • Creates two buffer events connected to each other

EventBufferEvent::createPair

(PECL event >= 1.2.6-beta)

EventBufferEvent::createPair — Creates two buffer events connected to each other

Açıklama

public static EventBufferEvent::createPair( EventBase $base , int $options = 0 ): array

Returns array of two EventBufferEvent objects connected to each other. All the usual options are supported, except for EventBufferEvent::OPT_CLOSE_ON_FREE , which has no effect, and EventBufferEvent::OPT_DEFER_CALLBACKS , which is always on.

Bağımsız Değişkenler

base

Associated event base

options

EventBufferEvent::OPT_* constants combined with bitwise OR operator.

Dönen Değerler

Returns array of two EventBufferEvent objects connected to each other.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.9.0 | Method made static.


Disable events read, write, or both on a buffer event

  • « EventBufferEvent::createPair
  • EventBufferEvent::enable »
  • PHP Manual
  • EventBufferEvent
  • Disable events read, write, or both on a buffer event

EventBufferEvent::disable

(PECL event >= 1.2.6-beta)

EventBufferEvent::disable — Disable events read, write, or both on a buffer event

Açıklama

public EventBufferEvent::disable( int $events ): bool

Disable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Bağımsız Değişkenler

events

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event


Enable events read, write, or both on a buffer event

  • « EventBufferEvent::disable
  • EventBufferEvent::free »
  • PHP Manual
  • EventBufferEvent
  • Enable events read, write, or both on a buffer event

EventBufferEvent::enable

(PECL event >= 1.2.6-beta)

EventBufferEvent::enable — Enable events read, write, or both on a buffer event

Açıklama

public EventBufferEvent::enable( int $events ): bool

Enable events Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Bağımsız Değişkenler

events

Event::READ , Event::WRITE , or Event::READ | Event::WRITE on a buffer event.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event


Free a buffer event

  • « EventBufferEvent::enable
  • EventBufferEvent::getDnsErrorString »
  • PHP Manual
  • EventBufferEvent
  • Free a buffer event

EventBufferEvent::free

(PECL event >= 1.2.6-beta)

EventBufferEvent::free — Free a buffer event

Açıklama

public EventBufferEvent::free(): void

Free resources allocated by buffer event.

Usually there is no need to call this method, since normally it is done within internal object destructors. However, sometimes we have a long-time script allocating lots of instances, or a script with a heavy memory usage, where we need to free resources as soon as possible. In such cases EventBufferEvent::free() may be used to protect the script against running up to the memory_limit .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns string describing the last failed DNS lookup attempt

  • « EventBufferEvent::free
  • EventBufferEvent::getEnabled »
  • PHP Manual
  • EventBufferEvent
  • Returns string describing the last failed DNS lookup attempt

EventBufferEvent::getDnsErrorString

(PECL event >= 1.2.6-beta)

EventBufferEvent::getDnsErrorString — Returns string describing the last failed DNS lookup attempt

Açıklama

public EventBufferEvent::getDnsErrorString(): string

Returns string describing the last failed DNS lookup attempt made by EventBufferEvent::connectHost() , or an empty string, if there is no DNS error detected.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string describing DNS lookup error, or an empty string for no error.

Ayrıca Bakınız

  • EventBufferEvent::connectHost() - Connects to a hostname with optionally asyncronous DNS resolving


Returns bitmask of events currently enabled on the buffer event

  • « EventBufferEvent::getDnsErrorString
  • EventBufferEvent::getInput »
  • PHP Manual
  • EventBufferEvent
  • Returns bitmask of events currently enabled on the buffer event

EventBufferEvent::getEnabled

(PECL event >= 1.2.6-beta)

EventBufferEvent::getEnabled — Returns bitmask of events currently enabled on the buffer event

Açıklama

public EventBufferEvent::getEnabled(): int

Returns bitmask of events currently enabled on the buffer event

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns integer representing a bitmask of events currently enabled on the buffer event

Ayrıca Bakınız

  • EventBufferEvent::enable() - Enable events read, write, or both on a buffer event
  • EventBufferEvent::disable() - Disable events read, write, or both on a buffer event


Returns underlying input buffer associated with current buffer event

  • « EventBufferEvent::getEnabled
  • EventBufferEvent::getOutput »
  • PHP Manual
  • EventBufferEvent
  • Returns underlying input buffer associated with current buffer event

EventBufferEvent::getInput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getInput — Returns underlying input buffer associated with current buffer event

Açıklama

public EventBufferEvent::getInput(): EventBuffer

Returns underlying input buffer associated with current buffer event. An input buffer is a storage for data to read.

Note, there is also input property of EventBufferEvent class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns instance of EventBuffer input buffer associated with current buffer event.

Örnekler

Örnek 1 Buffer event's read callback

<?php
function readcb($bev, $base) {
$input = $bev->input; //$bev->getInput();

while (($n = $input->remove($buf, 1024)) > 0) {
echo $buf;
}
}
?>

Ayrıca Bakınız

  • EventBufferEvent::getOutput() - Returns underlying output buffer associated with current buffer event


Returns underlying output buffer associated with current buffer event

  • « EventBufferEvent::getInput
  • EventBufferEvent::read »
  • PHP Manual
  • EventBufferEvent
  • Returns underlying output buffer associated with current buffer event

EventBufferEvent::getOutput

(PECL event >= 1.2.6-beta)

EventBufferEvent::getOutput — Returns underlying output buffer associated with current buffer event

Açıklama

public EventBufferEvent::getOutput(): EventBuffer

Returns underlying output buffer associated with current buffer event. An output buffer is a storage for data to be written.

Note, there is also output property of EventBufferEvent class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns instance of EventBuffer output buffer associated with current buffer event.

Örnekler

Örnek 1 EventBufferEvent::getOutput() example

<?php
$base = new EventBase();

$dns_base = new EventDnsBase($base, TRUE); // Use async DNS resolving
if (!$dns_base) {
exit("Failed to init DNS Base\n");
}

$bev = new EventBufferEvent($base, /* use internal socket */ NULL,
EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS,
"readcb", /* writecb */ NULL, "eventcb", $base
);
if (!$bev) {
exit("Failed creating bufferevent socket\n");
}

$bev->enable(Event::READ | Event::WRITE);

$output = $bev->getOutput();
if (!$output->add(
"GET {$argv[2]} HTTP/1.0\r\n".
"Host: {$argv[1]}\r\n".
"Connection: Close\r\n\r\n"
)) {
exit("Failed adding request to output buffer\n");
}

/* ... */
?>

Ayrıca Bakınız

  • EventBufferEvent::getInput() - Returns underlying input buffer associated with current buffer event


Read buffer's data

  • « EventBufferEvent::getOutput
  • EventBufferEvent::readBuffer »
  • PHP Manual
  • EventBufferEvent
  • Read buffer's data

EventBufferEvent::read

(PECL event >= 1.2.6-beta)

EventBufferEvent::read — Read buffer's data

Açıklama

public EventBufferEvent::read( int $size ): string

Removes up to size bytes from the input buffer. Returns a string of data read from the input buffer.

Bağımsız Değişkenler

size

Maximum number of bytes to read

Dönen Değerler

Returns string of data read from the input buffer.

Ayrıca Bakınız

  • EventBufferEvent::readBuffer() - Drains the entire contents of the input buffer and places them into buf


Drains the entire contents of the input buffer and places them into buf

  • « EventBufferEvent::read
  • EventBufferEvent::setCallbacks »
  • PHP Manual
  • EventBufferEvent
  • Drains the entire contents of the input buffer and places them into buf

EventBufferEvent::readBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::readBuffer — Drains the entire contents of the input buffer and places them into buf

Açıklama

public EventBufferEvent::readBuffer( EventBuffer $buf ): bool

Drains the entire contents of the input buffer and places them into buf .

Bağımsız Değişkenler

buf

Target buffer

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBufferEvent::read() - Read buffer's data


Assigns read, write and event(status) callbacks

  • « EventBufferEvent::readBuffer
  • EventBufferEvent::setPriority »
  • PHP Manual
  • EventBufferEvent
  • Assigns read, write and event(status) callbacks

EventBufferEvent::setCallbacks

(PECL event >= 1.2.6-beta)

EventBufferEvent::setCallbacks — Assigns read, write and event(status) callbacks

Açıklama

public EventBufferEvent::setCallbacks(
callable $readcb ,
callable $writecb ,
callable $eventcb ,
mixed $arg = ?
): void

Assigns read, write and event(status) callbacks.

Bağımsız Değişkenler

readcb

Read event callback. See About buffer event callbacks .

writecb

Write event callback. See About buffer event callbacks .

eventcb

Status-change event callback. See About buffer event callbacks .

arg

A variable that will be passed to all the callbacks.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventBufferEvent::__construct() - Constructs EventBufferEvent object


Assign a priority to a bufferevent

  • « EventBufferEvent::setCallbacks
  • EventBufferEvent::setTimeouts »
  • PHP Manual
  • EventBufferEvent
  • Assign a priority to a bufferevent

EventBufferEvent::setPriority

(PECL event >= 1.2.6-beta)

EventBufferEvent::setPriority — Assign a priority to a bufferevent

Açıklama

public EventBufferEvent::setPriority( int $priority ): bool

Assign a priority to a bufferevent

Uyarı

Only supported for socket buffer events

Bağımsız Değişkenler

priority

Priority value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the read and write timeout for a buffer event

  • « EventBufferEvent::setPriority
  • EventBufferEvent::setWatermark »
  • PHP Manual
  • EventBufferEvent
  • Set the read and write timeout for a buffer event

EventBufferEvent::setTimeouts

(PECL event >= 1.2.6-beta)

EventBufferEvent::setTimeouts — Set the read and write timeout for a buffer event

Açıklama

public EventBufferEvent::setTimeouts( float $timeout_read , float $timeout_write ): bool

Set the read and write timeout for a buffer event

Bağımsız Değişkenler

timeout_read

Read timeout

timeout_write

Write timeout

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Adjusts read and/or write watermarks

  • « EventBufferEvent::setTimeouts
  • EventBufferEvent::sslError »
  • PHP Manual
  • EventBufferEvent
  • Adjusts read and/or write watermarks

EventBufferEvent::setWatermark

(PECL event >= 1.2.6-beta)

EventBufferEvent::setWatermark — Adjusts read and/or write watermarks

Açıklama

public EventBufferEvent::setWatermark( int $events , int $lowmark , int $highmark ): void

Adjusts the read watermarks, the write watermarks , or both, of a single buffer event.

A buffer event watermark is an edge, a value specifying number of bytes to be read or written before callback is invoked. By default every read/write event triggers a callback invokation. See » Fast portable non-blocking network programming with Libevent: Callbacks and watermarks

Bağımsız Değişkenler

events

Bitmask of Event::READ , Event::WRITE , or both.

lowmark

Minimum watermark value.

highmark

Maximum watermark value. 0 means "unlimited".

Dönen Değerler

Hiçbir değer dönmez.


Returns most recent OpenSSL error reported on the buffer event

  • « EventBufferEvent::setWatermark
  • EventBufferEvent::sslFilter »
  • PHP Manual
  • EventBufferEvent
  • Returns most recent OpenSSL error reported on the buffer event

EventBufferEvent::sslError

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslError — Returns most recent OpenSSL error reported on the buffer event

Açıklama

public EventBufferEvent::sslError(): string

Returns most recent OpenSSL error reported on the buffer event.

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns OpenSSL error string reported on the buffer event, or false, if there is no more error to return.

Örnekler

Örnek 1 EventBufferEvent::sslError() example

<?php
// This callback is invoked when some even occurs on the event listener,
// e.g. connection closed, or an error occurred
function ssl_event_cb($bev, $events, $ctx) {
if ($events & EventBufferEvent::ERROR) {
// Fetch errors from the SSL error stack
while ($err = $bev->sslError()) {
fprintf(STDERR, "Bufferevent error %s.\n", $err);
}
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
$bev->free();
}
}
?>

Ayrıca Bakınız

  • EventBufferEvent::sslRenegotiate() - Tells a bufferevent to begin SSL renegotiation


Create a new SSL buffer event to send its data over another buffer event

  • « EventBufferEvent::sslError
  • EventBufferEvent::sslGetCipherInfo »
  • PHP Manual
  • EventBufferEvent
  • Create a new SSL buffer event to send its data over another buffer event

EventBufferEvent::sslFilter

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslFilter — Create a new SSL buffer event to send its data over another buffer event

Açıklama

public static EventBufferEvent::sslFilter(
EventBase $base ,
EventBufferEvent $underlying ,
EventSslContext $ctx ,
int $state ,
int $options = 0
): EventBufferEvent

Create a new SSL buffer event to send its data over another buffer event

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

base

Associated event base.

underlying

A socket buffer event to use for this SSL.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

One or more buffer event options.

Dönen Değerler

Returns a new SSL EventBufferEvent object.

Örnekler

Örnek 1 Simple SMTP server

<?php
/*
* Author: Andrew Rose <hello at andrewrose dot co dot uk>
*
* Usage:
* 1) Prepare cert.pem certificate and privkey.pem private key files.
* 2) Launch the server script
* 3) Open TLS connection, e.g.:
* $ openssl s_client -connect localhost:25 -starttls smtp -crlf
* 4) Start testing the commands listed in `cmd` method below.
*/

class Handler {
public $domainName = FALSE;
public $connections = [];
public $buffers = [];
public $maxRead = 256000;

public function __construct() {
$this->ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, [
EventSslContext::OPT_LOCAL_CERT => 'cert.pem',
EventSslContext::OPT_LOCAL_PK => 'privkey.pem',
//EventSslContext::OPT_PASSPHRASE => '',
EventSslContext::OPT_VERIFY_PEER => false, // change to true with authentic cert
EventSslContext::OPT_ALLOW_SELF_SIGNED => true // change to false with authentic cert
]);

$this->base = new EventBase();
if (!$this->base) {
exit("Couldn't open event base\n");
}

if (!$this->listener = new EventListener($this->base,
[$this, 'ev_accept'],
$this->ctx,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
-1,
'0.0.0.0:25'))
{
exit("Couldn't create listener\n");
}

$this->listener->setErrorCallback([$this, 'ev_error']);
$this->base->dispatch();
}

public function ev_accept($listener, $fd, $address, $ctx) {
static $id = 0;
$id += 1;

$this->connections[$id]['clientData'] = '';
$this->connections[$id]['cnx'] = new EventBufferEvent($this->base, $fd,
EventBufferEvent::OPT_CLOSE_ON_FREE);

if (!$this->connections[$id]['cnx']) {
echo "Failed creating buffer\n";
$this->base->exit(NULL);
exit(1);
}

$this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL,
[$this, 'ev_error'], $id);
$this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);

$this->ev_write($id, '220 '.$this->domainName." wazzzap?\r\n");
}

function ev_error($listener, $ctx) {
$errno = EventUtil::getLastSocketErrno();

fprintf(STDERR, "Got an error %d (%s) on the listener. Shutting down.\n",
$errno, EventUtil::getLastSocketError());

if ($errno != 0) {
$this->base->exit(NULL);
exit();
}
}

public function ev_close($id) {
$this->connections[$id]['cnx']->disable(Event::READ | Event::WRITE);
unset($this->connections[$id]);
}

protected function ev_write($id, $string) {
echo 'S('.$id.'): '.$string;
$this->connections[$id]['cnx']->write($string);
}

public function ev_read($buffer, $id) {
while($buffer->input->length > 0) {
$this->connections[$id]['clientData'] .= $buffer->input->read($this->maxRead);
$clientDataLen = strlen($this->connections[$id]['clientData']);

if($this->connections[$id]['clientData'][$clientDataLen-1] == "\n"
&& $this->connections[$id]['clientData'][$clientDataLen-2] == "\r")
{
// remove the trailing \r\n
$line = substr($this->connections[$id]['clientData'], 0,
strlen($this->connections[$id]['clientData']) - 2);

$this->connections[$id]['clientData'] = '';
$this->cmd($buffer, $id, $line);
}
}
}

protected function cmd($buffer, $id, $line) {
switch ($line) {
case strncmp('EHLO ', $line, 4):
$this->ev_write($id, "250-STARTTLS\r\n");
$this->ev_write($id, "250 OK ehlo\r\n");
break;

case strncmp('HELO ', $line, 4):
$this->ev_write($id, "250-STARTTLS\r\n");
$this->ev_write($id, "250 OK helo\r\n");
break;

case strncmp('QUIT', $line, 3):
$this->ev_write($id, "250 OK quit\r\n");
$this->ev_close($id);
break;

case strncmp('STARTTLS', $line, 3):
$this->ev_write($id, "220 Ready to start TLS\r\n");
$this->connections[$id]['cnx'] = EventBufferEvent::sslFilter($this->base,
$this->connections[$id]['cnx'], $this->ctx,
EventBufferEvent::SSL_ACCEPTING,
EventBufferEvent::OPT_CLOSE_ON_FREE);
$this->connections[$id]['cnx']->setCallbacks([$this, "ev_read"], NULL, [$this, 'ev_error'], $id);
$this->connections[$id]['cnx']->enable(Event::READ | Event::WRITE);
break;

default:
echo 'unknown command: '.$line."\n";
break;
}
}
}

new Handler();

Ayrıca Bakınız

  • EventBufferEvent::sslSocket() - Creates a new SSL buffer event to send its data over an SSL on a socket


Returns a textual description of the cipher

  • « EventBufferEvent::sslFilter
  • EventBufferEvent::sslGetCipherName »
  • PHP Manual
  • EventBufferEvent
  • Returns a textual description of the cipher

EventBufferEvent::sslGetCipherInfo

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherInfo — Returns a textual description of the cipher

Açıklama

public EventBufferEvent::sslGetCipherInfo(): string

Retrieves description of the current cipher by means of the SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3) man page).

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a textual description of the cipher on success, or false on error.


Returns the current cipher name of the SSL connection

  • « EventBufferEvent::sslGetCipherInfo
  • EventBufferEvent::sslGetCipherVersion »
  • PHP Manual
  • EventBufferEvent
  • Returns the current cipher name of the SSL connection

EventBufferEvent::sslGetCipherName

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherName — Returns the current cipher name of the SSL connection

Açıklama

public EventBufferEvent::sslGetCipherName(): string

Retrieves name of cipher used by current SSL connection.

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current cipher name of the SSL connection, or false on error.


Returns version of cipher used by current SSL connection

  • « EventBufferEvent::sslGetCipherName
  • EventBufferEvent::sslGetProtocol »
  • PHP Manual
  • EventBufferEvent
  • Returns version of cipher used by current SSL connection

EventBufferEvent::sslGetCipherVersion

(PECL event >= 1.10.0)

EventBufferEvent::sslGetCipherVersion — Returns version of cipher used by current SSL connection

Açıklama

public EventBufferEvent::sslGetCipherVersion(): string

Retrieves version of cipher used by current SSL connection.

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current cipher version of the SSL connection, or false on error.


Returns the name of the protocol used for current SSL connection

  • « EventBufferEvent::sslGetCipherVersion
  • EventBufferEvent::sslRenegotiate »
  • PHP Manual
  • EventBufferEvent
  • Returns the name of the protocol used for current SSL connection

EventBufferEvent::sslGetProtocol

(PECL event >= 1.10.0)

EventBufferEvent::sslGetProtocol — Returns the name of the protocol used for current SSL connection

Açıklama

public EventBufferEvent::sslGetProtocol(): string

Returns the name of the protocol used for current SSL connection.

Bilginize:

This function is available only if Event is compiled with OpenSSL support.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the name of the protocol used for current SSL connection.


Tells a bufferevent to begin SSL renegotiation

  • « EventBufferEvent::sslGetProtocol
  • EventBufferEvent::sslSocket »
  • PHP Manual
  • EventBufferEvent
  • Tells a bufferevent to begin SSL renegotiation

EventBufferEvent::sslRenegotiate

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslRenegotiate — Tells a bufferevent to begin SSL renegotiation

Açıklama

public EventBufferEvent::sslRenegotiate(): void

Tells a bufferevent to begin SSL renegotiation.

Uyarı

Calling this function tells the SSL to renegotiate, and the buffer event to invoke appropriate callbacks. This is an advanced topic; this should be generally avoided unless one really knows what he/she does, especially since many SSL versions have had known security issues related to renegotiation.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Creates a new SSL buffer event to send its data over an SSL on a socket

  • « EventBufferEvent::sslRenegotiate
  • EventBufferEvent::write »
  • PHP Manual
  • EventBufferEvent
  • Creates a new SSL buffer event to send its data over an SSL on a socket

EventBufferEvent::sslSocket

(PECL event >= 1.2.6-beta)

EventBufferEvent::sslSocket — Creates a new SSL buffer event to send its data over an SSL on a socket

Açıklama

public static EventBufferEvent::sslSocket(
EventBase $base ,
mixed $socket ,
EventSslContext $ctx ,
int $state ,
int $options = ?
): EventBufferEvent

Creates a new SSL buffer event to send its data over an SSL on a socket.

Bağımsız Değişkenler

base

Associated event base.

socket

Socket to use for this SSL. Can be stream or socket resource, numeric file descriptor, or null. If socket is null, it is assumed that the file descriptor for the socket will be assigned later, for instance, by means of EventBufferEvent::connectHost() method.

ctx

Object of EventSslContext class.

state

The current state of SSL connection: EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or EventBufferEvent::SSL_CONNECTING .

options

The buffer event options.

Dönen Değerler

Returns EventBufferEvent object.

Ayrıca Bakınız

  • EventBufferEvent::sslFilter() - Create a new SSL buffer event to send its data over another buffer event


Adds data to a buffer event's output buffer

  • « EventBufferEvent::sslSocket
  • EventBufferEvent::writeBuffer »
  • PHP Manual
  • EventBufferEvent
  • Adds data to a buffer event's output buffer

EventBufferEvent::write

(PECL event >= 1.2.6-beta)

EventBufferEvent::write — Adds data to a buffer event's output buffer

Açıklama

public EventBufferEvent::write( string $data ): bool

Adds data to a buffer event's output buffer

Bağımsız Değişkenler

data

Data to be added to the underlying buffer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBufferEvent::writeBuffer() - Adds contents of the entire buffer to a buffer event's output buffer


Adds contents of the entire buffer to a buffer event's output buffer

  • « EventBufferEvent::write
  • About buffer event callbacks »
  • PHP Manual
  • EventBufferEvent
  • Adds contents of the entire buffer to a buffer event's output buffer

EventBufferEvent::writeBuffer

(PECL event >= 1.2.6-beta)

EventBufferEvent::writeBuffer — Adds contents of the entire buffer to a buffer event's output buffer

Açıklama

public EventBufferEvent::writeBuffer( EventBuffer $buf ): bool

Adds contents of the entire buffer to a buffer event's output buffer

Bağımsız Değişkenler

buf

Source EventBuffer object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBufferEvent::write() - Adds data to a buffer event's output buffer


About buffer event callbacks

An object of EventBufferEvent class represents a buffer event . The asynchronous nature of I/O performed by Libevent implies that a socket(or other kind of file descriptor) is not always available. Event invokes corresponding callbacks when the resource becomes available for reading or writing, or when some event occurs(e.g. error, "end of line" etc.).

Read and write callbacks should match the following prototype:

callback( EventBufferEvent $bev = null , mixed $arg = null ): void

bev

Associated EventBufferEvent object.

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .

Event callback should match the following prototype:

callback( EventBufferEvent $bev = null , int $events = 0 , mixed $arg = null ): void

bev

Associated EventBufferEvent object.

events

Bit mask of events: EventBufferEvent::READING , EventBufferEvent::WRITING , EventBufferEvent::EOL , EventBufferEvent::ERROR and EventBufferEvent::TIMEOUT . See EventBufferEvent constants

arg

Custom variable attached to all callbacks via EventBufferEvent::__construct() , or EventBufferEvent::setCallbacks() .


The EventConfig class

(PECL event >= 1.2.6-beta)

Giriş

Represents configuration structure which could be used in construction of the EventBase .

Sınıf Sözdizimi

final class EventConfig {
/* Sabitler */
const int FEATURE_ET = 1;
const int FEATURE_O1 = 2;
const int FEATURE_FDS = 4;
/* Yöntemler */
public avoidMethod( string $method ): bool
public __construct()
public requireFeatures( int $feature ): bool
public setFlags( int $flags ): bool
public setMaxDispatchInterval( int $max_interval , int $max_callbacks , int $min_priority ): void
}

Öntanımlı Sabitler

EventConfig::FEATURE_ET

Requires a backend method that supports edge-triggered I/O.

EventConfig::FEATURE_O1

Requires a backend method where adding or deleting a single event, or having a single event become active, is an O(1) operation.

EventConfig::FEATURE_FDS

Requires a backend method that can support arbitrary file descriptor types, and not just sockets.

İçindekiler

  • EventConfig::avoidMethod — Tells libevent to avoid specific event method
  • EventConfig::__construct — Constructs EventConfig object
  • EventConfig::requireFeatures — Enters a required event method feature that the application demands
  • EventConfig::setFlags — Sets one or more flags to configure the eventual EventBase will be initialized
  • EventConfig::setMaxDispatchInterval — Prevents priority inversion


Tells libevent to avoid specific event method

  • « EventConfig
  • EventConfig::__construct »
  • PHP Manual
  • EventConfig
  • Tells libevent to avoid specific event method

EventConfig::avoidMethod

(PECL event >= 1.2.6-beta)

EventConfig::avoidMethod — Tells libevent to avoid specific event method

Açıklama

public EventConfig::avoidMethod( string $method ): bool

Tells libevent to avoid specific event method(backend). See » Creating an event base .

Bağımsız Değişkenler

method

The backend method to avoid. See EventConfig constants .

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventConfig::avoidMethod() example

<?php
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
echo "'select' method avoided\n";
}
?>

Ayrıca Bakınız

  • EventBase::__construct() - Constructs EventBase object


Constructs EventConfig object

  • « EventConfig::avoidMethod
  • EventConfig::requireFeatures »
  • PHP Manual
  • EventConfig
  • Constructs EventConfig object

EventConfig::__construct

(PECL event >= 1.2.6-beta)

EventConfig::__construct — Constructs EventConfig object

Açıklama

public EventConfig::__construct()

Constructs EventConfig object which could be passed to EventBase::__construct() constructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns EventConfig object.

Örnekler

Örnek 1 EventConfig::__construct() example

<?php
// Avoiding "select" method
$cfg = new EventConfig();
if ($cfg->avoidMethod("select")) {
echo "'select' method avoided\n";
}

// Create event_base associated with the config
$base = new EventBase($cfg);

/* Now $base is configured to avoid select backend(method) */
?>

Ayrıca Bakınız

  • EventBase::__construct() - Constructs EventBase object


Enters a required event method feature that the application demands

  • « EventConfig::__construct
  • EventConfig::setFlags »
  • PHP Manual
  • EventConfig
  • Enters a required event method feature that the application demands

EventConfig::requireFeatures

(PECL event >= 1.2.6-beta)

EventConfig::requireFeatures — Enters a required event method feature that the application demands

Açıklama

public EventConfig::requireFeatures( int $feature ): bool

Enters a required event method feature that the application demands

Bağımsız Değişkenler

feature

Bitmask of required features. See EventConfig::FEATURE_* constants

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventConfig::requireFeatures() example

<?php
$cfg = new EventConfig();

// Create event_base associated with the config
$base = new EventBase($cfg);

// Require FDS feature
if ($cfg->requireFeatures(EventConfig::FEATURE_FDS)) {
echo "FDS feature is now required\n";

$base = new EventBase($cfg);
($base->getFeatures() & EventConfig::FEATURE_FDS)
and print "FDS - arbitrary file descriptor types, and not just sockets\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

FDS feature is now required
FDS - arbitrary file descriptor types, and not just sockets

Ayrıca Bakınız

  • EventBase::getFeatures() - Returns bitmask of features supported


Sets one or more flags to configure the eventual EventBase will be initialized

  • « EventConfig::requireFeatures
  • EventConfig::setMaxDispatchInterval »
  • PHP Manual
  • EventConfig
  • Sets one or more flags to configure the eventual EventBase will be initialized

EventConfig::setFlags

(PECL event >= 2.0.2-alpha)

EventConfig::setFlags — Sets one or more flags to configure the eventual EventBase will be initialized

Açıklama

public EventConfig::setFlags( int $flags ): bool

Sets one or more flags to configure what parts of the eventual EventBase will be initialized, and how they'll work.

Bağımsız Değişkenler

flags

One of EventBase::LOOP_* constants. See EventBase constants.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventBase::getFeatures() - Returns bitmask of features supported


Prevents priority inversion

  • « EventConfig::setFlags
  • EventDnsBase »
  • PHP Manual
  • EventConfig
  • Prevents priority inversion

EventConfig::setMaxDispatchInterval

(PECL event >= 2.1.0-alpha)

EventConfig::setMaxDispatchInterval — Prevents priority inversion

Açıklama

public EventConfig::setMaxDispatchInterval( int $max_interval , int $max_callbacks , int $min_priority ): void

Prevents priority inversion by limiting how many low-priority event callbacks can be invoked before checking for more high-priority events.

Bilginize:

Available since libevent 2.1.0-alpha .

Bağımsız Değişkenler

max_interval

An interval after which Libevent should stop running callbacks and check for more events, or 0 , if there should be no such interval.

max_callbacks

A number of callbacks after which Libevent should stop running callbacks and check for more events, or -1 , if there should be no such limit.

min_priority

A priority below which max_interval and max_callbacks should not be enforced. If this is set to 0 , they are enforced for events of every priority; if it's set to 1 , they're enforced for events of priority 1 and above, and so on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The EventDnsBase class

(PECL event >= 1.2.6-beta)

Giriş

Represents Libevent's DNS base structure. Used to resolve DNS asyncronously, parse configuration files like resolv.conf etc.

Sınıf Sözdizimi

final class EventDnsBase {
/* Sabitler */
const int OPTION_SEARCH = 1;
const int OPTION_NAMESERVERS = 2;
const int OPTION_MISC = 4;
const int OPTION_HOSTSFILE = 8;
const int OPTIONS_ALL = 15;
/* Yöntemler */
public addNameserverIp( string $ip ): bool
public addSearch( string $domain ): void
public clearSearch(): void
public __construct( EventBase $base , bool $initialize )
public countNameservers(): int
public loadHosts( string $hosts ): bool
public parseResolvConf( int $flags , string $filename ): bool
public setOption( string $option , string $value ): bool
public setSearchNdots( int $ndots ): bool
}

Öntanımlı Sabitler

EventDnsBase::OPTION_SEARCH

Tells to read the domain and search fields from the resolv.conf file and the ndots option, and use them to decide which domains(if any) to search for hostnames that aren't fully-qualified.

EventDnsBase::OPTION_NAMESERVERS

Tells to learn the nameservers from the resolv.conf file.

EventDnsBase::OPTION_MISC

EventDnsBase::OPTION_HOSTSFILE

Tells to read a list of hosts from /etc/hosts as part of loading the resolv.conf file.

EventDnsBase::OPTIONS_ALL

Tells to learn as much as it can from the resolv.conf file.

İçindekiler

  • EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base
  • EventDnsBase::addSearch — Adds a domain to the list of search domains
  • EventDnsBase::clearSearch — Removes all current search suffixes
  • EventDnsBase::__construct — Constructs EventDnsBase object
  • EventDnsBase::countNameservers — Gets the number of configured nameservers
  • EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file
  • EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file
  • EventDnsBase::setOption — Set the value of a configuration option
  • EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches


Adds a nameserver to the DNS base

  • « EventDnsBase
  • EventDnsBase::addSearch »
  • PHP Manual
  • EventDnsBase
  • Adds a nameserver to the DNS base

EventDnsBase::addNameserverIp

(PECL event >= 1.2.6-beta)

EventDnsBase::addNameserverIp — Adds a nameserver to the DNS base

Açıklama

public EventDnsBase::addNameserverIp( string $ip ): bool

Adds a nameserver to the evdns_base.

Bağımsız Değişkenler

ip

The nameserver string, either as an IPv4 address, an IPv6 address, an IPv4 address with a port ( IPv4:Port ), or an IPv6 address with a port ( [IPv6]:Port ).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Adds a domain to the list of search domains

  • « EventDnsBase::addNameserverIp
  • EventDnsBase::clearSearch »
  • PHP Manual
  • EventDnsBase
  • Adds a domain to the list of search domains

EventDnsBase::addSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::addSearch — Adds a domain to the list of search domains

Açıklama

public EventDnsBase::addSearch( string $domain ): void

Adds a domain to the list of search domains

Bağımsız Değişkenler

domain

Search domain.

Dönen Değerler

Hiçbir değer dönmez.


Removes all current search suffixes

  • « EventDnsBase::addSearch
  • EventDnsBase::__construct »
  • PHP Manual
  • EventDnsBase
  • Removes all current search suffixes

EventDnsBase::clearSearch

(PECL event >= 1.2.6-beta)

EventDnsBase::clearSearch — Removes all current search suffixes

Açıklama

public EventDnsBase::clearSearch(): void

Removes all current search suffixes from the DNS base; the EventDnsBase::addSearch() function adds a suffix.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventDnsBase::addSearch() - Adds a domain to the list of search domains


Constructs EventDnsBase object

  • « EventDnsBase::clearSearch
  • EventDnsBase::countNameservers »
  • PHP Manual
  • EventDnsBase
  • Constructs EventDnsBase object

EventDnsBase::__construct

(PECL event >= 1.2.6-beta)

EventDnsBase::__construct — Constructs EventDnsBase object

Açıklama

public EventDnsBase::__construct( EventBase $base , bool $initialize )

Constructs EventDnsBase object.

Bağımsız Değişkenler

base

Event base.

initialize

If the initialize argument is true, it tries to configure the DNS base sensibly given your operating system's default. Otherwise, it leaves the event DNS base empty, with no nameservers or options configured. In the latter case DNS base should be configured manually, e.g. with EventDnsBase::parseResolvConf() .

Dönen Değerler

Returns EventDnsBase object.


Gets the number of configured nameservers

  • « EventDnsBase::__construct
  • EventDnsBase::loadHosts »
  • PHP Manual
  • EventDnsBase
  • Gets the number of configured nameservers

EventDnsBase::countNameservers

(PECL event >= 1.2.6-beta)

EventDnsBase::countNameservers — Gets the number of configured nameservers

Açıklama

public EventDnsBase::countNameservers(): int

Gets the number of configured nameservers

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of configured nameservers(not necessarily the number of running nameservers). This is useful for double-checking whether our calls to the various nameserver configuration functions have been successful.


Loads a hosts file (in the same format as /etc/hosts) from hosts file

  • « EventDnsBase::countNameservers
  • EventDnsBase::parseResolvConf »
  • PHP Manual
  • EventDnsBase
  • Loads a hosts file (in the same format as /etc/hosts) from hosts file

EventDnsBase::loadHosts

(PECL event >= 1.2.6-beta)

EventDnsBase::loadHosts — Loads a hosts file (in the same format as /etc/hosts) from hosts file

Açıklama

public EventDnsBase::loadHosts( string $hosts ): bool

Loads a hosts file (in the same format as /etc/hosts ) from hosts file.

Bağımsız Değişkenler

hosts

Path to the hosts' file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Scans the resolv.conf-formatted file

  • « EventDnsBase::loadHosts
  • EventDnsBase::setOption »
  • PHP Manual
  • EventDnsBase
  • Scans the resolv.conf-formatted file

EventDnsBase::parseResolvConf

(PECL event >= 1.2.6-beta)

EventDnsBase::parseResolvConf — Scans the resolv.conf-formatted file

Açıklama

public EventDnsBase::parseResolvConf( int $flags , string $filename ): bool

Scans the resolv.conf-formatted file stored in filename, and read in all the options from it that are listed in flags

Bağımsız Değişkenler

flags

Determines what information is parsed from the resolv.conf file. See the man page for resolv.conf for the format of this file.

The following directives are not parsed from the file: sortlist, rotate, no-check-names, inet6, debug .

If this function encounters an error, the possible return values are:

  • 1 = failed to open file
  • 2 = failed to stat file
  • 3 = file too large
  • 4 = out of memory
  • 5 = short read from file
  • 6 = no nameservers listed in the file

filename

Path to resolv.conf file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the value of a configuration option

  • « EventDnsBase::parseResolvConf
  • EventDnsBase::setSearchNdots »
  • PHP Manual
  • EventDnsBase
  • Set the value of a configuration option

EventDnsBase::setOption

(PECL event >= 1.2.6-beta)

EventDnsBase::setOption — Set the value of a configuration option

Açıklama

public EventDnsBase::setOption( string $option , string $value ): bool

Set the value of a configuration option.

Bağımsız Değişkenler

option

The currently available configuration options are: "ndots" , "timeout" , "max-timeouts" , "max-inflight" , and "attempts" .

value

Option value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the 'ndots' parameter for searches

  • « EventDnsBase::setOption
  • EventHttp »
  • PHP Manual
  • EventDnsBase
  • Set the 'ndots' parameter for searches

EventDnsBase::setSearchNdots

(PECL event >= 1.2.6-beta)

EventDnsBase::setSearchNdots — Set the 'ndots' parameter for searches

Açıklama

public EventDnsBase::setSearchNdots( int $ndots ): bool

Set the 'ndots' parameter for searches. Sets the number of dots which, when found in a name, causes the first query to be without any search domain.

Bağımsız Değişkenler

ndots

The number of dots.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The EventHttp class

(PECL event >= 1.4.0-beta)

Giriş

Represents HTTP server.

Sınıf Sözdizimi

final class EventHttp {
/* Yöntemler */
public accept( mixed $socket ): bool
public addServerAlias( string $alias ): bool
public bind( string $address , int $port ): void
public __construct( EventBase $base , EventSslContext $ctx = null )
public removeServerAlias( string $alias ): bool
public setAllowedMethods( int $methods ): void
public setCallback( string $path , string $cb , string $arg = ?): void
public setDefaultCallback( string $cb , string $arg = ?): void
public setMaxBodySize( int $value ): void
public setMaxHeadersSize( int $value ): void
public setTimeout( int $value ): void
}

İçindekiler

  • EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource
  • EventHttp::addServerAlias — Adds a server alias to the HTTP server object
  • EventHttp::bind — Binds an HTTP server on the specified address and port
  • EventHttp::__construct — Constructs EventHttp object(the HTTP server)
  • EventHttp::removeServerAlias — Removes server alias
  • EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
  • EventHttp::setCallback — Sets a callback for specified URI
  • EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks
  • EventHttp::setMaxBodySize — Sets maximum request body size
  • EventHttp::setMaxHeadersSize — Sets maximum HTTP header size
  • EventHttp::setTimeout — Sets the timeout for an HTTP request


Makes an HTTP server accept connections on the specified socket stream or resource

  • « EventHttp
  • EventHttp::addServerAlias »
  • PHP Manual
  • EventHttp
  • Makes an HTTP server accept connections on the specified socket stream or resource

EventHttp::accept

(PECL event >= 1.2.6-beta)

EventHttp::accept — Makes an HTTP server accept connections on the specified socket stream or resource

Açıklama

public EventHttp::accept( mixed $socket ): bool

Makes an HTTP server accept connections on the specified socket stream or resource. The socket should be ready to accept connections.

Can be called multiple times to accept connections on different sockets.

Bilginize:

To bind a socket, listen , and accept connections on the socket in s single call use EventHttp::bind() . EventHttp::accept() is needed only if one already has a socket ready to accept connections.

Bağımsız Değişkenler

socket

Socket resource, stream or numeric file descriptor representing a socket ready to accept connections.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttp::accept() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$addresses = array (
8091 => "127.0.0.1",
8092 => "127.0.0.2",
);
$i = 0;

$socket = array();

foreach ($addresses as $port => $ip) {
echo $ip, " ", $port, PHP_EOL;
$socket[$i] = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!socket_bind($socket[$i], $ip, $port)) {
exit("socket_bind failed\n");
}
socket_listen($socket[$i], 0);
socket_set_nonblock($socket[$i]);

if (!$http->accept($socket[$i])) {
echo "Accept failed\n";
exit(1);
}

++$i;
}

$http->setCallback("/some-page", function() {
echo "(some-page)\n";
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
echo "OK\n";
});

$http->setDefaultCallback(function($req) {
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
echo "OK\n";
});

$signal = Event::signal($base, SIGINT, function () use ($base) {
echo "Caught SIGINT. Stopping...\n";
$base->stop();
});
$signal->add();

$base->dispatch();
echo "END\n";
// We didn't close sockets, since Libevent already sets
// CLOSE_ON_FREE and CLOSE_ON_EXEC flags on the file
// descriptor associated with the sockets.
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Client:
$ nc 127.0.0.1 8091
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Server:
127.0.0.1 8091
127.0.0.2 8092
URI: /about
OK

Ayrıca Bakınız

  • EventHttp::bind() - Binds an HTTP server on the specified address and port


Adds a server alias to the HTTP server object

  • « EventHttp::accept
  • EventHttp::bind »
  • PHP Manual
  • EventHttp
  • Adds a server alias to the HTTP server object

EventHttp::addServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::addServerAlias — Adds a server alias to the HTTP server object

Açıklama

public EventHttp::addServerAlias( string $alias ): bool

Adds a server alias to the HTTP server object.

Bağımsız Değişkenler

alias

The alias to add.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttp::addServerAlias() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
exit("bind(1) failed\n");
};

if (!$http->addServerAlias("local.net")) {
exit("Failed to add server alias\n");
}

$http->setCallback("/about", function($req) {
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
});
$base->dispatch();
?>

Ayrıca Bakınız

  • EventHttp::removeServerAlias() - Removes server alias


Binds an HTTP server on the specified address and port

  • « EventHttp::addServerAlias
  • EventHttp::__construct »
  • PHP Manual
  • EventHttp
  • Binds an HTTP server on the specified address and port

EventHttp::bind

(PECL event >= 1.2.6-beta)

EventHttp::bind — Binds an HTTP server on the specified address and port

Açıklama

public EventHttp::bind( string $address , int $port ): void

Binds an HTTP server on the specified address and port.

Can be called multiple times to bind the same HTTP server to multiple different ports.

Bağımsız Değişkenler

address

A string containing the IP address to listen(2) on.

port

The port number to listen on.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttp::bind() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
exit("bind(1) failed\n");
};
if (!$http->bind("127.0.0.1", 8089)) {
exit("bind(2) failed\n");
};

$http->setCallback("/about", function($req) {
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
echo "OK\n";
});

$base->dispatch();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Client:

$ nc 127.0.0.1 8088
GET /about HTTP/1.0
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

$ nc 127.0.0.1 8089
GET /unknown HTTP/1.0
Connection: close

HTTP/1.1 404 Not Found
Content-Type: text/html
Date: Wed, 13 Mar 2013 04:14:41 GMT
Content-Length: 149
Connection: close

<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL /unknown was not found on this server.</p></body></html>

Server:
URI: /about
OK

Ayrıca Bakınız

  • EventHttp::accept() - Makes an HTTP server accept connections on the specified socket stream or resource


Constructs EventHttp object(the HTTP server)

  • « EventHttp::bind
  • EventHttp::removeServerAlias »
  • PHP Manual
  • EventHttp
  • Constructs EventHttp object(the HTTP server)

EventHttp::__construct

(PECL event >= 1.2.6-beta)

EventHttp::__construct — Constructs EventHttp object(the HTTP server)

Açıklama

public EventHttp::__construct( EventBase $base , EventSslContext $ctx = null )

Constructs the HTTP server object.

Bağımsız Değişkenler

base

Associated event base.

ctx

EventSslContext class object. Turns plain HTTP server into HTTPS server. It means that if ctx is configured correctly, then the underlying buffer events will be based on OpenSSL sockets. Thus, all traffic will pass through the SSL or TLS.

Bilginize:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Dönen Değerler

Returns EventHttp object.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.9.0 | OpenSSL support (ctx) added.

Örnekler

Örnek 1 Simple HTTP server

<?php
/*
* Simple HTTP server.
*
* To test it:
* 1) Run it on a port of your choice, e.g.:
* $ php examples/http.php 8010
* 2) In another terminal connect to some address on this port
* and make GET or POST request(others are turned off here), e.g.:
* $ nc -t 127.0.0.1 8010
* POST /about HTTP/1.0
* Content-Type: text/plain
* Content-Length: 4
* Connection: close
* (press Enter)
*
* It will output
* a=12
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
*
* $ nc -t 127.0.0.1 8010
* GET /dump HTTP/1.0
* Content-Type: text/plain
* Content-Encoding: UTF-8
* Connection: close
* (press Enter)
*
* It will output:
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
* (press Enter)
*
* $ nc -t 127.0.0.1 8010
* GET /unknown HTTP/1.0
* Connection: close
*
* It will output:
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
*
* 3) See what the server outputs on the previous terminal window.
*/

function _http_dump($req, $data) {
static $counter = 0;
static $max_requests = 2;

if (++$counter >= $max_requests) {
echo "Counter reached max requests $max_requests. Exiting\n";
exit();
}

echo __METHOD__, " called\n";
echo "request:"; var_dump($req);
echo "data:"; var_dump($data);

echo "\n===== DUMP =====\n";
echo "Command:", $req->getCommand(), PHP_EOL;
echo "URI:", $req->getUri(), PHP_EOL;
echo "Input headers:"; var_dump($req->getInputHeaders());
echo "Output headers:"; var_dump($req->getOutputHeaders());

echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";

echo "\n >> Reading input buffer ...\n";
$buf = $req->getInputBuffer();
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
echo "No more data in the buffer\n";
}

function _http_about($req) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

function _http_default($req, $data) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close
(press Enter)

HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close


Removes server alias

  • « EventHttp::__construct
  • EventHttp::setAllowedMethods »
  • PHP Manual
  • EventHttp
  • Removes server alias

EventHttp::removeServerAlias

(PECL event >= 1.4.0-beta)

EventHttp::removeServerAlias — Removes server alias

Açıklama

public EventHttp::removeServerAlias( string $alias ): bool

Removes server alias added with EventHttp::addServerAlias()

Bağımsız Değişkenler

alias

The alias to remove.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventHttp::addServerAlias() - Adds a server alias to the HTTP server object


Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

  • « EventHttp::removeServerAlias
  • EventHttp::setCallback »
  • PHP Manual
  • EventHttp
  • Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

EventHttp::setAllowedMethods

(PECL event >= 1.4.0-beta)

EventHttp::setAllowedMethods — Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

Açıklama

public EventHttp::setAllowedMethods( int $methods ): void

Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks

If not supported they will generate a "405 Method not allowed" response.

By default this includes the following methods: GET , POST , HEAD , PUT , DELETE . See EventHttpRequest::CMD_* constants.

Bağımsız Değişkenler

methods

A bit mask of EventHttpRequest::CMD_* constants .

Dönen Değerler

Hiçbir değer dönmez.


Sets a callback for specified URI

  • « EventHttp::setAllowedMethods
  • EventHttp::setDefaultCallback »
  • PHP Manual
  • EventHttp
  • Sets a callback for specified URI

EventHttp::setCallback

(PECL event >= 1.4.0-beta)

EventHttp::setCallback — Sets a callback for specified URI

Açıklama

public EventHttp::setCallback( string $path , string $cb , string $arg = ?): void

Sets a callback for specified URI.

Bağımsız Değişkenler

path

The path for which to invoke the callback.

cb

The callback callable that gets invoked on requested path . It should match the following prototype:

callback( EventHttpRequest $req = NULL , mixed $arg = NULL ): void

req

EventHttpRequest object.

arg

Custom data.

arg

Custom data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttp::setCallback() example

<?php
/*
* Simple HTTP server.
*
* To test it:
* 1) Run it on a port of your choice, e.g.:
* $ php examples/http.php 8010
* 2) In another terminal connect to some address on this port
* and make GET or POST request(others are turned off here), e.g.:
* $ nc -t 127.0.0.1 8010
* POST /about HTTP/1.0
* Content-Type: text/plain
* Content-Length: 4
* Connection: close
* (press Enter)
*
* It will output
* a=12
* HTTP/1.0 200 OK
* Content-Type: text/html; charset=ISO-8859-1
* Connection: close
*
* 3) See what the server outputs on the previous terminal window.
*/

function _http_dump($req, $data) {
static $counter = 0;
static $max_requests = 2;

if (++$counter >= $max_requests) {
echo "Counter reached max requests $max_requests. Exiting\n";
exit();
}

echo __METHOD__, " called\n";
echo "request:"; var_dump($req);
echo "data:"; var_dump($data);

echo "\n===== DUMP =====\n";
echo "Command:", $req->getCommand(), PHP_EOL;
echo "URI:", $req->getUri(), PHP_EOL;
echo "Input headers:"; var_dump($req->getInputHeaders());
echo "Output headers:"; var_dump($req->getOutputHeaders());

echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";

echo "\n >> Reading input buffer ...\n";
$buf = $req->getInputBuffer();
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
echo "No more data in the buffer\n";
}

function _http_about($req) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

function _http_default($req, $data) {
echo __METHOD__, PHP_EOL;
echo "URI: ", $req->getUri(), PHP_EOL;
echo "\n >> Sending reply ...";
$req->sendReply(200, "OK");
echo "OK\n";
}

$port = 8010;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);
$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);

$http->setCallback("/dump", "_http_dump", array(4, 8));
$http->setCallback("/about", "_http_about");
$http->setDefaultCallback("_http_default", "custom data value");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

a=12
HTTP/1.0 200 OK
Content-Type: text/html; charset=ISO-8859-1
Connection: close

Ayrıca Bakınız

  • EventHttp::setDefaultCallback() - Sets default callback to handle requests that are not caught by specific callbacks


Sets default callback to handle requests that are not caught by specific callbacks

  • « EventHttp::setCallback
  • EventHttp::setMaxBodySize »
  • PHP Manual
  • EventHttp
  • Sets default callback to handle requests that are not caught by specific callbacks

EventHttp::setDefaultCallback

(PECL event >= 1.4.0-beta)

EventHttp::setDefaultCallback — Sets default callback to handle requests that are not caught by specific callbacks

Açıklama

public EventHttp::setDefaultCallback( string $cb , string $arg = ?): void

Sets default callback to handle requests that are not caught by specific callbacks

Bağımsız Değişkenler

cb

The callback callable . It should match the following prototype:

callback( EventHttpRequest $req = NULL , mixed $arg = NULL ): void

req

EventHttpRequest object.

arg

Custom data.

arg

User custom data passed to the callback.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttp::setDefaultCallback() example

<?php
$base = new EventBase();
$http = new EventHttp($base);

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!$http->bind("127.0.0.1", 8088)) {
exit("bind(1) failed\n");
};

$http->setDefaultCallback(function($req) {
echo "URI: ", $req->getUri(), PHP_EOL;
$req->sendReply(200, "OK");
});

$base->dispatch();
?>

Ayrıca Bakınız

  • EventHttp::setCallback() - Sets a callback for specified URI


Sets maximum request body size

  • « EventHttp::setDefaultCallback
  • EventHttp::setMaxHeadersSize »
  • PHP Manual
  • EventHttp
  • Sets maximum request body size

EventHttp::setMaxBodySize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxBodySize — Sets maximum request body size

Açıklama

public EventHttp::setMaxBodySize( int $value ): void

Sets maximum request body size.

Bağımsız Değişkenler

value

The body size in bytes.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttp::setMaxHeadersSize() - Sets maximum HTTP header size


Sets maximum HTTP header size

  • « EventHttp::setMaxBodySize
  • EventHttp::setTimeout »
  • PHP Manual
  • EventHttp
  • Sets maximum HTTP header size

EventHttp::setMaxHeadersSize

(PECL event >= 1.4.0-beta)

EventHttp::setMaxHeadersSize — Sets maximum HTTP header size

Açıklama

public EventHttp::setMaxHeadersSize( int $value ): void

Sets maximum HTTP header size.

Bağımsız Değişkenler

value

The header size in bytes.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttp::setMaxHeadersSize()


Sets the timeout for an HTTP request

  • « EventHttp::setMaxHeadersSize
  • EventHttpConnection »
  • PHP Manual
  • EventHttp
  • Sets the timeout for an HTTP request

EventHttp::setTimeout

(PECL event >= 1.4.0-beta)

EventHttp::setTimeout — Sets the timeout for an HTTP request

Açıklama

public EventHttp::setTimeout( int $value ): void

Sets the timeout for an HTTP request.

Bağımsız Değişkenler

value

The timeout in seconds.

Dönen Değerler

Hiçbir değer dönmez.


The EventHttpConnection class

(PECL event >= 1.4.0-beta)

Giriş

Represents an HTTP connection.

Sınıf Sözdizimi

class EventHttpConnection {
/* Yöntemler */
public __construct(
EventBase $base ,
EventDnsBase $dns_base ,
string $address ,
int $port ,
EventSslContext $ctx = null
)
public getBase(): EventBase
public getPeer( string &$address , int &$port ): void
public makeRequest( EventHttpRequest $req , int $type , string $uri ): bool
public setCloseCallback( callable $callback , mixed $data = ?): void
public setLocalAddress( string $address ): void
public setLocalPort( int $port ): void
public setMaxBodySize( string $max_size ): void
public setMaxHeadersSize( string $max_size ): void
public setRetries( int $retries ): void
public setTimeout( int $timeout ): void
}

İçindekiler

  • EventHttpConnection::__construct — Constructs EventHttpConnection object
  • EventHttpConnection::getBase — Returns event base associated with the connection
  • EventHttpConnection::getPeer — Gets the remote address and port associated with the connection
  • EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection
  • EventHttpConnection::setCloseCallback — Set callback for connection close
  • EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made
  • EventHttpConnection::setLocalPort — Sets the local port from which connections are made
  • EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection
  • EventHttpConnection::setMaxHeadersSize — Sets maximum header size
  • EventHttpConnection::setRetries — Sets the retry limit for the connection
  • EventHttpConnection::setTimeout — Sets the timeout for the connection


Constructs EventHttpConnection object

  • « EventHttpConnection
  • EventHttpConnection::getBase »
  • PHP Manual
  • EventHttpConnection
  • Constructs EventHttpConnection object

EventHttpConnection::__construct

(PECL event >= 1.2.6-beta)

EventHttpConnection::__construct — Constructs EventHttpConnection object

Açıklama

public EventHttpConnection::__construct(
EventBase $base ,
EventDnsBase $dns_base ,
string $address ,
int $port ,
EventSslContext $ctx = null
)

Constructs EventHttpConnection object.

Bağımsız Değişkenler

base

Associated event base.

dns_base

If dns_base is null, hostname resolution will block.

address

The address to connect to.

port

The port to connect to.

ctx

EventSslContext class object. Enables OpenSSL.

Bilginize:

This parameter is available only if Event is compiled with OpenSSL support and only with Libevent 2.1.0-alpha and higher.

Dönen Değerler

Returns EventHttpConnection object.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.9.0 | OpenSSL support (ctx) added.


Returns event base associated with the connection

  • « EventHttpConnection::__construct
  • EventHttpConnection::getPeer »
  • PHP Manual
  • EventHttpConnection
  • Returns event base associated with the connection

EventHttpConnection::getBase

(PECL event >= 1.2.6-beta)

EventHttpConnection::getBase — Returns event base associated with the connection

Açıklama

public EventHttpConnection::getBase(): EventBase

Returns event base associated with the connection.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

On success returns EventBase object associated with the connection. Otherwise false.


Gets the remote address and port associated with the connection

  • « EventHttpConnection::getBase
  • EventHttpConnection::makeRequest »
  • PHP Manual
  • EventHttpConnection
  • Gets the remote address and port associated with the connection

EventHttpConnection::getPeer

(PECL event >= 1.2.6-beta)

EventHttpConnection::getPeer — Gets the remote address and port associated with the connection

Açıklama

public EventHttpConnection::getPeer( string &$address , int &$port ): void

Gets the remote address and port associated with the connection

Bağımsız Değişkenler

address

Address of the peer.

port

Port of the peer.

Dönen Değerler

Hiçbir değer dönmez.


Makes an HTTP request over the specified connection

  • « EventHttpConnection::getPeer
  • EventHttpConnection::setCloseCallback »
  • PHP Manual
  • EventHttpConnection
  • Makes an HTTP request over the specified connection

EventHttpConnection::makeRequest

(PECL event >= 1.4.0-beta)

EventHttpConnection::makeRequest — Makes an HTTP request over the specified connection

Açıklama

public EventHttpConnection::makeRequest( EventHttpRequest $req , int $type , string $uri ): bool

Makes an HTTP request over the specified connection. type is one of EventHttpRequest::CMD_* constants.

Bağımsız Değişkenler

req

The connection object over which to send the request.

type

One of EventHttpRequest::CMD_* constants .

uri

The URI associated with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 EventHttpConnection::makeRequest() example

<?php
function _request_handler($req, $base) {
echo __FUNCTION__, PHP_EOL;

if (is_null($req)) {
echo "Timed out\n";
} else {
$response_code = $req->getResponseCode();

if ($response_code == 0) {
echo "Connection refused\n";
} elseif ($response_code != 200) {
echo "Unexpected response: $response_code\n";
} else {
echo "Success: $response_code\n";
$buf = $req->getInputBuffer();
echo "Body:\n";
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
}
}

$base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

_request_handler
Success: 200
Body:
PHP, date:
2013-03-13T20:27:52+05:00

Ayrıca Bakınız

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Set callback for connection close

  • « EventHttpConnection::makeRequest
  • EventHttpConnection::setLocalAddress »
  • PHP Manual
  • EventHttpConnection
  • Set callback for connection close

EventHttpConnection::setCloseCallback

(PECL event >= 1.8.0)

EventHttpConnection::setCloseCallback — Set callback for connection close

Açıklama

public EventHttpConnection::setCloseCallback( callable $callback , mixed $data = ?): void

Sets callback for connection close.

Bağımsız Değişkenler

callback

Callback which is called when connection is closed. Should match the following prototype:

callback( EventHttpConnection $conn = null , mixed $arg = null ): void

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 EventHttpConnection::setCloseCallback() example

<?php
/*
* Setting up close-connection callback
*
* The script handles closed connections using HTTP API.
*
* Usage:
* 1) Launch the server:
* $ php examples/http_closecb.php 4242
*
* 2) Launch a client in another terminal. Telnet-like
* session should look like the following:
*
* $ nc -t 127.0.0.1 4242
* GET / HTTP/1.0
* Connection: close
*
* The server will output something similar to the following:
*
* HTTP/1.0 200 OK
* Content-Type: multipart/x-mixed-replace;boundary=boundarydonotcross
* Connection: close
*
* <html>
*
* 3) Terminate the client connection abruptly,
* i.e. kill the process, or just press Ctrl-C.
*
* 4) Check if the server called _close_callback.
* The script should output "_close_callback" string to standard output.
*
* 5) Check if the server's process has no orphaned connections,
* e.g. with `lsof` utility.
*/

function _close_callback($conn)
{
echo __FUNCTION__, PHP_EOL;
}

function _http_default($req, $dummy)
{
$conn = $req->getConnection();
$conn->setCloseCallback('_close_callback', NULL);

/*
By enabling Event::READ we protect the server against unclosed conections.
This is a peculiarity of Libevent. The library disables Event::READ events
on this connection, and the server is not notified about terminated
connections.

So each time client terminates connection abruptly, we get an orphaned
connection. For instance, the following is a part of `lsof -p $PID | grep TCP`
command after client has terminated connection:

57-php 15057 ruslan 6u unix 0xffff8802fb59c780 0t0 125187 socket
58:php 15057 ruslan 7u IPv4 125189 0t0 TCP *:4242 (LISTEN)
59:php 15057 ruslan 8u IPv4 124342 0t0 TCP localhost:4242->localhost:37375 (CLOSE_WAIT)

where $PID is our process ID.

The following block of code fixes such kind of orphaned connections.
*/
$bev = $req->getBufferEvent();
$bev->enable(Event::READ);
// We have to free it explicitly. See
EventHttpRequest::getConnection()
$bev->free(); // we have to free it explicitly

$req->addHeader(
'Content-Type',
'multipart/x-mixed-replace;boundary=boundarydonotcross',
EventHttpRequest::OUTPUT_HEADER
);

$buf = new EventBuffer();
$buf->add('<html>');

$req->sendReply(200, "OK");
$req->sendReplyChunk($buf);
}

$port = 4242;
if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setDefaultCallback("_http_default", NULL);
$http->bind("0.0.0.0", $port);
$base->loop();

?>


Sets the IP address from which HTTP connections are made

  • « EventHttpConnection::setCloseCallback
  • EventHttpConnection::setLocalPort »
  • PHP Manual
  • EventHttpConnection
  • Sets the IP address from which HTTP connections are made

EventHttpConnection::setLocalAddress

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalAddress — Sets the IP address from which HTTP connections are made

Açıklama

public EventHttpConnection::setLocalAddress( string $address ): void

Sets the IP address from which http connections are made.

Bağımsız Değişkenler

address

The IP address from which HTTP connections are made.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpConnection::setLocalPort() - Sets the local port from which connections are made


Sets the local port from which connections are made

  • « EventHttpConnection::setLocalAddress
  • EventHttpConnection::setMaxBodySize »
  • PHP Manual
  • EventHttpConnection
  • Sets the local port from which connections are made

EventHttpConnection::setLocalPort

(PECL event >= 1.2.6-beta)

EventHttpConnection::setLocalPort — Sets the local port from which connections are made

Açıklama

public EventHttpConnection::setLocalPort( int $port ): void

Sets the local port from which connections are made.

Bağımsız Değişkenler

port

The port number.

Dönen Değerler

Ayrıca Bakınız

  • EventHttpConnection::setLocalAddress() - Sets the IP address from which HTTP connections are made


Sets maximum body size for the connection

  • « EventHttpConnection::setLocalPort
  • EventHttpConnection::setMaxHeadersSize »
  • PHP Manual
  • EventHttpConnection
  • Sets maximum body size for the connection

EventHttpConnection::setMaxBodySize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxBodySize — Sets maximum body size for the connection

Açıklama

public EventHttpConnection::setMaxBodySize( string $max_size ): void

Sets maximum body size for the connection.

Bağımsız Değişkenler

max_size

The maximum body size in bytes.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpConnection::setMaxHeadersSize() - Sets maximum header size


Sets maximum header size

  • « EventHttpConnection::setMaxBodySize
  • EventHttpConnection::setRetries »
  • PHP Manual
  • EventHttpConnection
  • Sets maximum header size

EventHttpConnection::setMaxHeadersSize

(PECL event >= 1.2.6-beta)

EventHttpConnection::setMaxHeadersSize — Sets maximum header size

Açıklama

public EventHttpConnection::setMaxHeadersSize( string $max_size ): void

Sets maximum header size for the connection.

Bağımsız Değişkenler

max_size

The maximum header size in bytes.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpConnection::setMaxBodySize() - Sets maximum body size for the connection


Sets the retry limit for the connection

  • « EventHttpConnection::setMaxHeadersSize
  • EventHttpConnection::setTimeout »
  • PHP Manual
  • EventHttpConnection
  • Sets the retry limit for the connection

EventHttpConnection::setRetries

(PECL event >= 1.2.6-beta)

EventHttpConnection::setRetries — Sets the retry limit for the connection

Açıklama

public EventHttpConnection::setRetries( int $retries ): void

Sets the retry limit for the connection

Bağımsız Değişkenler

retries

The retry limit. -1 means infinity.

Dönen Değerler

Hiçbir değer dönmez.


Sets the timeout for the connection

  • « EventHttpConnection::setRetries
  • EventHttpRequest »
  • PHP Manual
  • EventHttpConnection
  • Sets the timeout for the connection

EventHttpConnection::setTimeout

(PECL event >= 1.2.6-beta)

EventHttpConnection::setTimeout — Sets the timeout for the connection

Açıklama

public EventHttpConnection::setTimeout( int $timeout ): void

Sets the timeout for the connection

Bağımsız Değişkenler

timeout

Timeout in seconds.

Dönen Değerler

Hiçbir değer dönmez.


The EventHttpRequest class

(PECL event >= 1.4.0-beta)

Giriş

Represents an HTTP request.

Sınıf Sözdizimi

class EventHttpRequest {
/* Sabitler */
const int CMD_GET = 1;
const int CMD_POST = 2;
const int CMD_HEAD = 4;
const int CMD_PUT = 8;
const int CMD_DELETE = 16;
const int CMD_OPTIONS = 32;
const int CMD_TRACE = 64;
const int CMD_CONNECT = 128;
const int CMD_PATCH = 256;
const int INPUT_HEADER = 1;
const int OUTPUT_HEADER = 2;
/* Yöntemler */
public addHeader( string $key , string $value , int $type ): bool
public cancel(): void
public clearHeaders(): void
public closeConnection(): void
public __construct( callable $callback , mixed $data = null )
public findHeader( string $key , string $type ): void
public free(): void
public closeConnection(): EventBufferEvent
public getCommand(): void
public closeConnection(): EventHttpConnection
public getHost(): string
public getInputBuffer(): EventBuffer
public getInputHeaders(): array
public getOutputBuffer(): EventBuffer
public getOutputHeaders(): void
public getResponseCode(): int
public getUri(): string
public removeHeader( string $key , string $type ): void
public sendError( int $error , string $reason = null ): void
public sendReply( int $code , string $reason , EventBuffer $buf = ?): void
public sendReplyChunk( EventBuffer $buf ): void
public sendReplyEnd(): void
public sendReplyStart( int $code , string $reason ): void
}

Öntanımlı Sabitler

EventHttpRequest::CMD_GET

GET method(command)

EventHttpRequest::CMD_POST

POST method(command)

EventHttpRequest::CMD_HEAD

HEAD method(command)

EventHttpRequest::CMD_PUT

PUT method(command)

EventHttpRequest::CMD_DELETE

DELETE command(method)

EventHttpRequest::CMD_OPTIONS

OPTIONS method(command)

EventHttpRequest::CMD_TRACE

TRACE method(command)

EventHttpRequest::CMD_CONNECT

CONNECT method(command)

EventHttpRequest::CMD_PATCH

PATCH method(command)

EventHttpRequest::INPUT_HEADER

Request input header type.

EventHttpRequest::OUTPUT_HEADER

Request output header type.

İçindekiler

  • EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request
  • EventHttpRequest::cancel — Cancels a pending HTTP request
  • EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request
  • EventHttpRequest::closeConnection — Closes associated HTTP connection
  • EventHttpRequest::__construct — Constructs EventHttpRequest object
  • EventHttpRequest::findHeader — Finds the value belonging a header
  • EventHttpRequest::free — Frees the object and removes associated events
  • EventHttpRequest::getBufferEvent — Returns EventBufferEvent object
  • EventHttpRequest::getCommand — Returns the request command(method)
  • EventHttpRequest::getConnection — Returns EventHttpConnection object
  • EventHttpRequest::getHost — Returns the request host
  • EventHttpRequest::getInputBuffer — Returns the input buffer
  • EventHttpRequest::getInputHeaders — Returns associative array of the input headers
  • EventHttpRequest::getOutputBuffer — Returns the output buffer of the request
  • EventHttpRequest::getOutputHeaders — Returns associative array of the output headers
  • EventHttpRequest::getResponseCode — Returns the response code
  • EventHttpRequest::getUri — Returns the request URI
  • EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request
  • EventHttpRequest::sendError — Send an HTML error message to the client
  • EventHttpRequest::sendReply — Send an HTML reply to the client
  • EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate
  • EventHttpRequest::sendReplyStart — Initiate a chunked reply


Adds an HTTP header to the headers of the request

  • « EventHttpRequest
  • EventHttpRequest::cancel »
  • PHP Manual
  • EventHttpRequest
  • Adds an HTTP header to the headers of the request

EventHttpRequest::addHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::addHeader — Adds an HTTP header to the headers of the request

Açıklama

public EventHttpRequest::addHeader( string $key , string $value , int $type ): bool

Adds an HTTP header to the headers of the request.

Bağımsız Değişkenler

key

Header name.

value

Header value.

type

One of EventHttpRequest::*_HEADER constants .

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventHttpRequest::removeHeader() - Removes an HTTP header from the headers of the request


Cancels a pending HTTP request

  • « EventHttpRequest::addHeader
  • EventHttpRequest::clearHeaders »
  • PHP Manual
  • EventHttpRequest
  • Cancels a pending HTTP request

EventHttpRequest::cancel

(PECL event >= 1.4.0-beta)

EventHttpRequest::cancel — Cancels a pending HTTP request

Açıklama

public EventHttpRequest::cancel(): void

Cancels a pending HTTP request.

Cancels an ongoing HTTP request. The callback associated with this request is not executed and the request object is freed. If the request is currently being processed, e.g. it is ongoing, the corresponding EventHttpConnection object is going to get reset.

A request cannot be canceled if its callback has executed already. A request may be canceled reentrantly from its chunked callback.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Removes all output headers from the header list of the request

  • « EventHttpRequest::cancel
  • EventHttpRequest::closeConnection »
  • PHP Manual
  • EventHttpRequest
  • Removes all output headers from the header list of the request

EventHttpRequest::clearHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::clearHeaders — Removes all output headers from the header list of the request

Açıklama

public EventHttpRequest::clearHeaders(): void

Removes all output headers from the header list of the request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Closes associated HTTP connection

  • « EventHttpRequest::clearHeaders
  • EventHttpRequest::__construct »
  • PHP Manual
  • EventHttpRequest
  • Closes associated HTTP connection

EventHttpRequest::closeConnection

(PECL event >= 1.8.0)

EventHttpRequest::closeConnection — Closes associated HTTP connection

Açıklama

public EventHttpRequest::closeConnection(): void

Closes HTTP connection associated with the request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Constructs EventHttpRequest object

  • « EventHttpRequest::closeConnection
  • EventHttpRequest::findHeader »
  • PHP Manual
  • EventHttpRequest
  • Constructs EventHttpRequest object

EventHttpRequest::__construct

(PECL event >= 1.4.0-beta)

EventHttpRequest::__construct — Constructs EventHttpRequest object

Açıklama

public EventHttpRequest::__construct( callable $callback , mixed $data = null )

Constructs EventHttpRequest object.

Bağımsız Değişkenler

callback

Gets invoked on requesting path. Should match the following prototype:

callback( EventHttpRequest $req = null , mixed $arg = null ): void
data

User custom data passed to the callback.

Dönen Değerler

Returns EventHttpRequest object.

Örnekler

Örnek 1 EventHttpRequest::__construct() example

<?php

function _request_handler($req, $base) {
echo __FUNCTION__, PHP_EOL;

if (is_null($req)) {
echo "Timed out\n";
} else {
$response_code = $req->getResponseCode();

if ($response_code == 0) {
echo "Connection refused\n";
} elseif ($response_code != 200) {
echo "Unexpected response: $response_code\n";
} else {
echo "Success: $response_code\n";
$buf = $req->getInputBuffer();
echo "Body:\n";
while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
echo $s, PHP_EOL;
}
}
}

$base->exit(NULL);
}

$address = "127.0.0.1";
$port = 80;

$base = new EventBase();
$conn = new EventHttpConnection($base, NULL, $address, $port);
$conn->setTimeout(5);
$req = new EventHttpRequest("_request_handler", $base);

$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");

$base->loop();
?>

Ayrıca Bakınız

  • EventHttpRequest::cancel() - Cancels a pending HTTP request
  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Finds the value belonging a header

  • « EventHttpRequest::__construct
  • EventHttpRequest::free »
  • PHP Manual
  • EventHttpRequest
  • Finds the value belonging a header

EventHttpRequest::findHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::findHeader — Finds the value belonging a header

Açıklama

public EventHttpRequest::findHeader( string $key , string $type ): void

Finds the value belonging a header.

Bağımsız Değişkenler

key

The header name.

type

One of EventHttpRequest::*_HEADER constants .

Dönen Değerler

Returns null if header not found.

Ayrıca Bakınız

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Frees the object and removes associated events

  • « EventHttpRequest::findHeader
  • EventHttpRequest::getBufferEvent »
  • PHP Manual
  • EventHttpRequest
  • Frees the object and removes associated events

EventHttpRequest::free

(PECL event >= 1.4.0-beta)

EventHttpRequest::free — Frees the object and removes associated events

Açıklama

public EventHttpRequest::free(): void

Frees the object and removes associated events.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns EventBufferEvent object

  • « EventHttpRequest::free
  • EventHttpRequest::getCommand »
  • PHP Manual
  • EventHttpRequest
  • Returns EventBufferEvent object

EventHttpRequest::getBufferEvent

(PECL event >= 1.8.0)

EventHttpRequest::getBufferEvent — Returns EventBufferEvent object

Açıklama

public EventHttpRequest::closeConnection(): EventBufferEvent

Returns EventBufferEvent object which represents buffer event that the connection is using.

Uyarı

The reference counter of the returned object will be incremented by one to protect internal structures against premature destruction when the method is called from a user callback. So the EventBufferEvent object should be freed explicitly with EventBufferEvent::free() method. Otherwise memory will leak.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns EventBufferEvent object.

Ayrıca Bakınız

  • EventHttpRequest::getConnection() - Returns EventHttpConnection object


Returns the request command(method)

  • « EventHttpRequest::getBufferEvent
  • EventHttpRequest::getConnection »
  • PHP Manual
  • EventHttpRequest
  • Returns the request command(method)

EventHttpRequest::getCommand

(PECL event >= 1.4.0-beta)

EventHttpRequest::getCommand — Returns the request command(method)

Açıklama

public EventHttpRequest::getCommand(): void

Returns the request command, one of EventHttpRequest::CMD_* constants.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the request command, one of EventHttpRequest::CMD_* constants.


Returns EventHttpConnection object

  • « EventHttpRequest::getCommand
  • EventHttpRequest::getHost »
  • PHP Manual
  • EventHttpRequest
  • Returns EventHttpConnection object

EventHttpRequest::getConnection

(PECL event >= 1.8.0)

EventHttpRequest::getConnection — Returns EventHttpConnection object

Açıklama

public EventHttpRequest::closeConnection(): EventHttpConnection

Returns EventHttpConnection object which represents HTTP connection associated with the request.

Uyarı

Libevent API allows HTTP request objects to be not bound to any HTTP connection. Therefore we can't unambiguously associate EventHttpRequest with EventHttpConnection . Thus, we construct EventHttpConnection object on-the-fly. Having no information about the event base, DNS base and connection-close callback, we just leave these fields unset.

EventHttpRequest::getConnection() method is usually useful when we need to set up a callback on connection close. See EventHttpConnection::setCloseCallback() .

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns EventHttpConnection object.

Ayrıca Bakınız

  • EventHttpConnection::setCloseCallback() - Set callback for connection close
  • EventHttpRequest::getBufferEvent() - Returns EventBufferEvent object


Returns the request host

  • « EventHttpRequest::getConnection
  • EventHttpRequest::getInputBuffer »
  • PHP Manual
  • EventHttpRequest
  • Returns the request host

EventHttpRequest::getHost

(PECL event >= 1.4.0-beta)

EventHttpRequest::getHost — Returns the request host

Açıklama

public EventHttpRequest::getHost(): string

Returns the request host.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the request host.

Ayrıca Bakınız

  • EventHttpRequest::getUri() - Returns the request URI
  • EventHttpRequest::getCommand() - Returns the request command(method)


Returns the input buffer

  • « EventHttpRequest::getHost
  • EventHttpRequest::getInputHeaders »
  • PHP Manual
  • EventHttpRequest
  • Returns the input buffer

EventHttpRequest::getInputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputBuffer — Returns the input buffer

Açıklama

public EventHttpRequest::getInputBuffer(): EventBuffer

Returns the input buffer.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the input buffer.

Ayrıca Bakınız

  • EventHttpRequest::getOutputBuffer() - Returns the output buffer of the request


Returns associative array of the input headers

  • « EventHttpRequest::getInputBuffer
  • EventHttpRequest::getOutputBuffer »
  • PHP Manual
  • EventHttpRequest
  • Returns associative array of the input headers

EventHttpRequest::getInputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getInputHeaders — Returns associative array of the input headers

Açıklama

public EventHttpRequest::getInputHeaders(): array

Returns associative array of the input headers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns associative array of the input headers.

Ayrıca Bakınız

  • EventHttpRequest::getOutputHeaders() - Returns associative array of the output headers


Returns the output buffer of the request

  • « EventHttpRequest::getInputHeaders
  • EventHttpRequest::getOutputHeaders »
  • PHP Manual
  • EventHttpRequest
  • Returns the output buffer of the request

EventHttpRequest::getOutputBuffer

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputBuffer — Returns the output buffer of the request

Açıklama

public EventHttpRequest::getOutputBuffer(): EventBuffer

Returns the output buffer of the request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the output buffer of the request.

Ayrıca Bakınız

  • EventHttpRequest::getInputBuffer() - Returns the input buffer


Returns associative array of the output headers

  • « EventHttpRequest::getOutputBuffer
  • EventHttpRequest::getResponseCode »
  • PHP Manual
  • EventHttpRequest
  • Returns associative array of the output headers

EventHttpRequest::getOutputHeaders

(PECL event >= 1.4.0-beta)

EventHttpRequest::getOutputHeaders — Returns associative array of the output headers

Açıklama

public EventHttpRequest::getOutputHeaders(): void

Returns associative array of the output headers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • EventHttpRequest::getInputHeaders() - Returns associative array of the input headers


Returns the response code

  • « EventHttpRequest::getOutputHeaders
  • EventHttpRequest::getUri »
  • PHP Manual
  • EventHttpRequest
  • Returns the response code

EventHttpRequest::getResponseCode

(PECL event >= 1.4.0-beta)

EventHttpRequest::getResponseCode — Returns the response code

Açıklama

public EventHttpRequest::getResponseCode(): int

Returns the response code.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the response code of the request.

Ayrıca Bakınız

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getUri() - Returns the request URI


Returns the request URI

  • « EventHttpRequest::getResponseCode
  • EventHttpRequest::removeHeader »
  • PHP Manual
  • EventHttpRequest
  • Returns the request URI

EventHttpRequest::getUri

(PECL event >= 1.4.0-beta)

EventHttpRequest::getUri — Returns the request URI

Açıklama

public EventHttpRequest::getUri(): string

Returns the request URI

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the request URI

Ayrıca Bakınız

  • EventHttpRequest::getCommand() - Returns the request command(method)
  • EventHttpRequest::getHost() - Returns the request host
  • EventHttpRequest::getResponseCode() - Returns the response code


Removes an HTTP header from the headers of the request

  • « EventHttpRequest::getUri
  • EventHttpRequest::sendError »
  • PHP Manual
  • EventHttpRequest
  • Removes an HTTP header from the headers of the request

EventHttpRequest::removeHeader

(PECL event >= 1.4.0-beta)

EventHttpRequest::removeHeader — Removes an HTTP header from the headers of the request

Açıklama

public EventHttpRequest::removeHeader( string $key , string $type ): void

Removes an HTTP header from the headers of the request.

Bağımsız Değişkenler

key

The header name.

type

type is one of EventHttpRequest::*_HEADER constants.

Dönen Değerler

Removes an HTTP header from the headers of the request.

Ayrıca Bakınız

  • EventHttpRequest::addHeader() - Adds an HTTP header to the headers of the request


Send an HTML error message to the client

  • « EventHttpRequest::removeHeader
  • EventHttpRequest::sendReply »
  • PHP Manual
  • EventHttpRequest
  • Send an HTML error message to the client

EventHttpRequest::sendError

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendError — Send an HTML error message to the client

Açıklama

public EventHttpRequest::sendError( int $error , string $reason = null ): void

Send an HTML error message to the client.

Bağımsız Değişkenler

error

The HTTP error code.

reason

A brief explanation ofthe error. If null, the standard meaning of the error code will be used.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 EventHttpRequest::sendError() example

<?php
function _http_400($req) {
$req->sendError(400);
}

$base = new EventBase();
$http = new EventHttp($base);

$http->setCallback("/err400", "_http_400");

$http->bind("0.0.0.0", 8010);
$base->loop();
?>

Ayrıca Bakınız

  • EventHttpRequest::sendReply() - Send an HTML reply to the client


Send an HTML reply to the client

  • « EventHttpRequest::sendError
  • EventHttpRequest::sendReplyChunk »
  • PHP Manual
  • EventHttpRequest
  • Send an HTML reply to the client

EventHttpRequest::sendReply

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReply — Send an HTML reply to the client

Açıklama

public EventHttpRequest::sendReply( int $code , string $reason , EventBuffer $buf = ?): void

Send an HTML reply to the client. The body of the reply consists of data in optional buf parameter.

Bağımsız Değişkenler

code

The HTTP response code to send.

reason

A brief message to send with the response code.

buf

The body of the response.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpRequest::sendError() - Send an HTML error message to the client
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply


Send another data chunk as part of an ongoing chunked reply

  • « EventHttpRequest::sendReply
  • EventHttpRequest::sendReplyEnd »
  • PHP Manual
  • EventHttpRequest
  • Send another data chunk as part of an ongoing chunked reply

EventHttpRequest::sendReplyChunk

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyChunk — Send another data chunk as part of an ongoing chunked reply

Açıklama

public EventHttpRequest::sendReplyChunk( EventBuffer $buf ): void

Send another data chunk as part of an ongoing chunked reply. After calling this method buf will be empty.

Bağımsız Değişkenler

buf

The data chunk to send as part of the reply.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate


Complete a chunked reply, freeing the request as appropriate

  • « EventHttpRequest::sendReplyChunk
  • EventHttpRequest::sendReplyStart »
  • PHP Manual
  • EventHttpRequest
  • Complete a chunked reply, freeing the request as appropriate

EventHttpRequest::sendReplyEnd

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyEnd — Complete a chunked reply, freeing the request as appropriate

Açıklama

public EventHttpRequest::sendReplyEnd(): void

Complete a chunked reply, freeing the request as appropriate.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpRequest::sendReplyStart() - Initiate a chunked reply
  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply


Initiate a chunked reply

  • « EventHttpRequest::sendReplyEnd
  • EventListener »
  • PHP Manual
  • EventHttpRequest
  • Initiate a chunked reply

EventHttpRequest::sendReplyStart

(PECL event >= 1.4.0-beta)

EventHttpRequest::sendReplyStart — Initiate a chunked reply

Açıklama

public EventHttpRequest::sendReplyStart( int $code , string $reason ): void

Initiate a reply that uses Transfer-Encoding chunked .

This allows the caller to stream the reply back to the client and is useful when either not all of the reply data is immediately available or when sending very large replies.

The caller needs to supply data chunks with EventHttpRequest::sendReplyChunk() and complete the reply by calling EventHttpRequest::sendReplyEnd() .

Bağımsız Değişkenler

code

The HTTP response code to send.

reason

A brief message to send with the response code.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • EventHttpRequest::sendReplyChunk() - Send another data chunk as part of an ongoing chunked reply
  • EventHttpRequest::sendReplyEnd() - Complete a chunked reply, freeing the request as appropriate


The EventListener class

(PECL event >= 1.5.0)

Giriş

Represents a connection listener.

Sınıf Sözdizimi

final class EventListener {
/* Sabitler */
const int OPT_LEAVE_SOCKETS_BLOCKING = 1;
const int OPT_CLOSE_ON_FREE = 2;
const int OPT_CLOSE_ON_EXEC = 4;
const int OPT_REUSEABLE = 8;
const int OPT_THREADSAFE = 16;
/* Özellikler */
public readonly int $fd;
/* Yöntemler */
public __construct(
EventBase $base ,
callable $cb ,
mixed $data ,
int $flags ,
int $backlog ,
mixed $target
)
public disable(): bool
public enable(): bool
public getBase(): void
public static getSocketName( string &$address , mixed &$port = ?): bool
public setCallback( callable $cb , mixed $arg = null ): void
public setErrorCallback( string $cb ): void
}

Özellikler

fd

Numeric file descriptor of the underlying socket. (Added in event-1.6.0 .)

Öntanımlı Sabitler

EventListener::OPT_LEAVE_SOCKETS_BLOCKING

By default Libevent turns underlying file descriptors, or sockets, to non-blocking mode. This flag tells Libevent to leave them in blocking mode.

EventListener::OPT_CLOSE_ON_FREE

If this option is set, the connection listener closes its underlying socket when the EventListener object is freed.

EventListener::OPT_CLOSE_ON_EXEC

If this option is set, the connection listener sets the close-on-exec flag on the underlying listener socket. See platform documentation for fcntl and FD_CLOEXEC for more information.

EventListener::OPT_REUSEABLE

By default on some platforms, once a listener socket is closed, no other socket can bind to the same port until a while has passed. Setting this option makes Libevent mark the socket as reusable, so that once it is closed, another socket can be opened to listen on the same port.

EventListener::OPT_THREADSAFE

Allocate locks for the listener, so that it's safe to use it from multiple threads.

İçindekiler

  • EventListener::__construct — Creates new connection listener associated with an event base
  • EventListener::disable — Disables an event connect listener object
  • EventListener::enable — Enables an event connect listener object
  • EventListener::getBase — Returns event base associated with the event listener
  • EventListener::getSocketName — Retreives the current address to which the listener's socket is bound
  • EventListener::setCallback — The setCallback purpose
  • EventListener::setErrorCallback — Set event listener's error callback


Creates new connection listener associated with an event base

  • « EventListener
  • EventListener::disable »
  • PHP Manual
  • EventListener
  • Creates new connection listener associated with an event base

EventListener::__construct

(PECL event >= 1.2.6-beta)

EventListener::__construct — Creates new connection listener associated with an event base

Açıklama

public EventListener::__construct(
EventBase $base ,
callable $cb ,
mixed $data ,
int $flags ,
int $backlog ,
mixed $target
)

Creates new connection listener associated with an event base.

Bağımsız Değişkenler

base

Associated event base.

cb

A callable that will be invoked when new connection received.

data

Custom user data attached to cb .

flags

Bit mask of EventListener::OPT_* constants. See EventListener constants .

backlog

Controls the maximum number of pending connections that the network stack should allow to wait in a not-yet-accepted state at any time; see documentation for your system's listen function for more details. If backlog is negative, Libevent tries to pick a good value for the backlog ; if it is zero, Event assumes that listen is already called on the socket( target )

target

May be string, socket resource, or a stream associated with a socket. In case if target is a string, the string will be parsed as network address. It will be interpreted as a UNIX domain socket path, if prefixed with 'unix:' , e.g. 'unix:/tmp/my.sock' .

Dönen Değerler

Returns EventListener object representing the event connection listener.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL event 1.5.0 | UNIX domain sockets' support added.

Örnekler

Örnek 1 EventListener::__construct() example

<?php
/*
* Simple echo server based on libevent's connection listener.
*
* Usage:
* 1) In one terminal window run:
*
* $ php listener.php 9881
*
* 2) In another terminal window open up connection, e.g.:
*
* $ nc 127.0.0.1 9881
*
* 3) start typing. The server should repeat the input.
*/

class MyListenerConnection {
private $bev, $base;

public function __destruct() {
$this->bev->free();
}

public function __construct($base, $fd) {
$this->base = $base;

$this->bev = new EventBufferEvent($base, $fd, EventBufferEvent::OPT_CLOSE_ON_FREE);

$this->bev->setCallbacks(array($this, "echoReadCallback"), NULL,
array($this, "echoEventCallback"), NULL);

if (!$this->bev->enable(Event::READ)) {
echo "Failed to enable READ\n";
return;
}
}

public function echoReadCallback($bev, $ctx) {
// Copy all the data from the input buffer to the output buffer

// Variant #1
$bev->output->addBuffer($bev->input);

/* Variant #2 */
/*
$input = $bev->getInput();
$output = $bev->getOutput();
$output->addBuffer($input);
*/
}

public function echoEventCallback($bev, $events, $ctx) {
if ($events & EventBufferEvent::ERROR) {
echo "Error from bufferevent\n";
}

if ($events & (EventBufferEvent::EOF | EventBufferEvent::ERROR)) {
//$bev->free();
$this->__destruct();
}
}
}

class MyListener {
public $base,
$listener,
$socket;
private $conn = array();

public function __destruct() {
foreach ($this->conn as &$c) $c = NULL;
}

public function __construct($port) {
$this->base = new EventBase();
if (!$this->base) {
echo "Couldn't open event base";
exit(1);
}

// Variant #1
/*
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!socket_bind($this->socket, '0.0.0.0', $port)) {
echo "Unable to bind socket\n";
exit(1);
}
$this->listener = new EventListener($this->base,
array($this, "acceptConnCallback"), $this->base,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE,
-1, $this->socket);
*/

// Variant #2
$this->listener = new EventListener($this->base,
array($this, "acceptConnCallback"), $this->base,
EventListener::OPT_CLOSE_ON_FREE | EventListener::OPT_REUSEABLE, -1,
"0.0.0.0:$port");

if (!$this->listener) {
echo "Couldn't create listener";
exit(1);
}

$this->listener->setErrorCallback(array($this, "accept_error_cb"));
}

public function dispatch() {
$this->base->dispatch();
}

// This callback is invoked when there is data to read on $bev
public function acceptConnCallback($listener, $fd, $address, $ctx) {
// We got a new connection! Set up a bufferevent for it. */
$base = $this->base;
$this->conn[] = new MyListenerConnection($base, $fd);
}

public function accept_error_cb($listener, $ctx) {
$base = $this->base;

fprintf(STDERR, "Got an error %d (%s) on the listener. "
."Shutting down.\n",
EventUtil::getLastSocketErrno(),
EventUtil::getLastSocketError());

$base->exit(NULL);
}
}

$port = 9808;

if ($argc > 1) {
$port = (int) $argv[1];
}
if ($port <= 0 || $port > 65535) {
exit("Invalid port");
}

$l = new MyListener($port);
$l->dispatch();
?>


Disables an event connect listener object

  • « EventListener::__construct
  • EventListener::enable »
  • PHP Manual
  • EventListener
  • Disables an event connect listener object

EventListener::disable

(PECL event >= 1.2.6-beta)

EventListener::disable — Disables an event connect listener object

Açıklama

public EventListener::disable(): bool

Disables an event connect listener object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventListener::enable() - Enables an event connect listener object


Enables an event connect listener object

  • « EventListener::disable
  • EventListener::getBase »
  • PHP Manual
  • EventListener
  • Enables an event connect listener object

EventListener::enable

(PECL event >= 1.2.6-beta)

EventListener::enable — Enables an event connect listener object

Açıklama

public EventListener::enable(): bool

Enables an event connect listener object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • EventListener::disable() - Disables an event connect listener object


Returns event base associated with the event listener

  • « EventListener::enable
  • EventListener::getSocketName »
  • PHP Manual
  • EventListener
  • Returns event base associated with the event listener

EventListener::getBase

(PECL event >= 1.2.6-beta)

EventListener::getBase — Returns event base associated with the event listener

Açıklama

public EventListener::getBase(): void

Returns event base associated with the event listener.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns event base associated with the event listener.


Retreives the current address to which the listener's socket is bound

  • « EventListener::getBase
  • EventListener::setCallback »
  • PHP Manual
  • EventListener
  • Retreives the current address to which the listener's socket is bound

EventListener::getSocketName

(PECL event >= 1.5.0)

EventListener::getSocketName — Retreives the current address to which the listener's socket is bound

Açıklama

public static EventListener::getSocketName( string &$address , mixed &$port = ?): bool

Retreives the current address to which the listener's socket is bound.

Bağımsız Değişkenler

address

Output parameter. IP-address depending on the socket address family.

port

Output parameter. The port the socket is bound to.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The setCallback purpose

  • « EventListener::getSocketName
  • EventListener::setErrorCallback »
  • PHP Manual
  • EventListener
  • The setCallback purpose

EventListener::setCallback

(PECL event >= 1.2.6-beta)

EventListener::setCallback — The setCallback purpose

Açıklama

public EventListener::setCallback( callable $cb , mixed $arg = null ): void

Adjust event connect listener's callback and optionally the callback argument.

Bağımsız Değişkenler

cb

The new callback for new connections. Ignored if null.

Should match the following prototype:

callback(
EventListener $listener = null ,
mixed $fd = null ,
array $address = null ,
mixed $arg = null
): void

listener

The EventListener object.

fd

The file descriptor or a resource associated with the listener.

address

Array of two elements: IP address and the server port.

arg

User custom data attached to the callback.

arg

Custom user data attached to the callback. Ignored if null.

Dönen Değerler

Hiçbir değer dönmez.


Set event listener's error callback

  • « EventListener::setCallback
  • EventSslContext »
  • PHP Manual
  • EventListener
  • Set event listener's error callback

EventListener::setErrorCallback

(PECL event >= 1.2.6-beta)

EventListener::setErrorCallback — Set event listener's error callback

Açıklama

public EventListener::setErrorCallback( string $cb ): void

Set event listener's error callback

Bağımsız Değişkenler

cb

The error callback. Should match the following prototype:

callback( EventListener $listener = null , mixed $data = null ): void

listener

The EventListener object.

data

User custom data attached to the callback.

Dönen Değerler

Ayrıca Bakınız

  • EventListener::setCallback() - The setCallback purpose


The EventSslContext class

(PECL event >= 1.2.6-beta)

Giriş

Represents SSL_CTX structure. Provides methods and properties to configure the SSL context.

Sınıf Sözdizimi

final class EventSslContext {
/* Sabitler */
const int SSLv2_CLIENT_METHOD = 1;
const int SSLv3_CLIENT_METHOD = 2;
const int SSLv23_CLIENT_METHOD = 3;
const int TLS_CLIENT_METHOD = 4;
const int SSLv2_SERVER_METHOD = 5;
const int SSLv3_SERVER_METHOD = 6;
const int SSLv23_SERVER_METHOD = 7;
const int TLS_SERVER_METHOD = 8;
const int OPT_LOCAL_CERT = 1;
const int OPT_LOCAL_PK = 2;
const int OPT_PASSPHRASE = 3;
const int OPT_CA_FILE = 4;
const int OPT_CA_PATH = 5;
const int OPT_ALLOW_SELF_SIGNED = 6;
const int OPT_VERIFY_PEER = 7;
const int OPT_VERIFY_DEPTH = 8;
const int OPT_CIPHERS = 9;
/* Özellikler */
public string $local_cert;
public string $local_pk;
/* Yöntemler */
public __construct( string $method , string $options )
}

Özellikler

local_cert

Path to local certificate file on filesystem. It must be a PEM-encoded file which contains certificate. It can optionally contain the certificate chain of issuers.

local_pk

Path to local private key file

Öntanımlı Sabitler

EventSslContext::SSLv2_CLIENT_METHOD

SSLv2 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_CLIENT_METHOD

SSLv3 client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_CLIENT_METHOD

SSLv23 client method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_CLIENT_METHOD

TLS client method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv2_SERVER_METHOD

SSLv2 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv3_SERVER_METHOD

SSLv3 server method. See SSL_CTX_new(3) man page.

EventSslContext::SSLv23_SERVER_METHOD

SSLv23 server method. See SSL_CTX_new(3) man page.

EventSslContext::TLS_SERVER_METHOD

TLS server method. See SSL_CTX_new(3) man page.

EventSslContext::OPT_LOCAL_CERT

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of local certificate.

EventSslContext::OPT_LOCAL_PK

Key for an item of the options' array used in EventSslContext::__construct() . The option points to path of the private key.

EventSslContext::OPT_PASSPHRASE

Key for an item of the options' array used in EventSslContext::__construct() . Represents passphrase of the certificate.

EventSslContext::OPT_CA_FILE

Key for an item of the options' array used in EventSslContext::__construct() . Represents path of the certificate authority file.

EventSslContext::OPT_CA_PATH

Key for an item of the options' array used in EventSslContext::__construct() . Represents path where the certificate authority file should be searched for.

EventSslContext::OPT_ALLOW_SELF_SIGNED

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that allows self-signed certificates.

EventSslContext::OPT_VERIFY_PEER

Key for an item of the options' array used in EventSslContext::__construct() . Represents option that tells Event to verify peer.

EventSslContext::OPT_VERIFY_DEPTH

Key for an item of the options' array used in EventSslContext::__construct() . Represents maximum depth for the certificate chain verification that shall be allowed for the SSL context.

EventSslContext::OPT_CIPHERS

Key for an item of the options' array used in EventSslContext::__construct() . Represents the cipher list for the SSL context.

İçindekiler

  • EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes


Constructs an OpenSSL context for use with Event classes

  • « EventSslContext
  • EventUtil »
  • PHP Manual
  • EventSslContext
  • Constructs an OpenSSL context for use with Event classes

EventSslContext::__construct

(PECL event >= 1.2.6-beta)

EventSslContext::__construct — Constructs an OpenSSL context for use with Event classes

Açıklama

public EventSslContext::__construct( string $method , string $options )

Creates SSL context holding pointer to SSL_CTX (see the system manual).

Bağımsız Değişkenler

method

One of EventSslContext::*_METHOD constants .

options

Associative array of SSL context options One of EventSslContext::OPT_* constants .

Dönen Değerler

Returns EventSslContext object.

Örnekler

Örnek 1 EventSslContext::__construct() example

<?php
$ctx = new EventSslContext(EventSslContext::SSLv3_SERVER_METHOD, array(
EventSslContext::OPT_LOCAL_CERT => $local_cert,
EventSslContext::OPT_LOCAL_PK => $local_pk,
EventSslContext::OPT_PASSPHRASE => "echo server",
EventSslContext::OPT_VERIFY_PEER => true,
EventSslContext::OPT_ALLOW_SELF_SIGNED => false,
));
?>


The EventUtil class

(PECL event >= 1.5.0)

Giriş

EventUtil is a singleton with supplimentary methods and constants.

Sınıf Sözdizimi

final class EventUtil {
/* Sabitler */
const int AF_INET = 2;
const int AF_INET6 = 10;
const int AF_UNSPEC = 0;
const int LIBEVENT_VERSION_NUMBER = 33559808;
const int SO_DEBUG = 1;
const int SO_REUSEADDR = 2;
const int SO_KEEPALIVE = 9;
const int SO_DONTROUTE = 5;
const int SO_LINGER = 13;
const int SO_BROADCAST = 6;
const int SO_OOBINLINE = 10;
const int SO_SNDBUF = 7;
const int SO_RCVBUF = 8;
const int SO_SNDLOWAT = 19;
const int SO_RCVLOWAT = 18;
const int SO_SNDTIMEO = 21;
const int SO_RCVTIMEO = 20;
const int SO_TYPE = 3;
const int SO_ERROR = 4;
const int SOL_SOCKET = 1;
const int SOL_TCP = 6;
const int SOL_UDP = 17;
const int IPPROTO_IP = 0;
const int IPPROTO_IPV6 = 41;
/* Yöntemler */
abstract public __construct()
public static getLastSocketErrno( mixed $socket = null ): int
public static getLastSocketError( mixed $socket = ?): string
public static getSocketFd( mixed $socket ): int
public static getSocketName( mixed $socket , string &$address , mixed &$port = ?): bool
public static setSocketOption(
mixed $socket ,
int $level ,
int $optname ,
mixed $optval
): bool
public static sslRandPoll(): void
}

Öntanımlı Sabitler

EventUtil::AF_INET

IPv4 address family

EventUtil::AF_INET6

IPv6 address family

EventUtil::AF_UNSPEC

Unspecified IP address family

EventUtil::SO_DEBUG

Socket option. Enable socket debugging. Only allowed for processes with the CAP_NET_ADMIN capability or an effective user ID of 0 . (Added in event-1.6.0.)

EventUtil::SO_REUSEADDR

Socket option. Indicates that the rules used in validating addresses supplied in a bind(2) call should allow reuse of local addresses. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_KEEPALIVE

Socket option. Enable sending of keep-alive messages on connection-oriented sockets. Expects an integer boolean flag. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_DONTROUTE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_LINGER

Socket option. When enabled, a close(2) or shutdown(2) will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_BROADCAST

Socket option. Reports whether transmission of broadcast messages is supported. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_OOBINLINE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVBUF

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVLOWAT

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_SNDTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_RCVTIMEO

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_TYPE

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SO_ERROR

Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_SOCKET

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_TCP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::SOL_UDP

Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IP

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::IPPROTO_IPV6

See the socket(7) manual page. (Added in event-1.6.0.)

EventUtil::LIBEVENT_VERSION_NUMBER

Libevent' version number at the time when Event extension had been compiled with the library.

İçindekiler

  • EventUtil::__construct — The abstract constructor
  • EventUtil::getLastSocketErrno — Returns the most recent socket error number
  • EventUtil::getLastSocketError — Returns the most recent socket error
  • EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
  • EventUtil::getSocketName — Retreives the current address to which the socket is bound
  • EventUtil::setSocketOption — Sets socket options
  • EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()


The abstract constructor

  • « EventUtil
  • EventUtil::getLastSocketErrno »
  • PHP Manual
  • EventUtil
  • The abstract constructor

EventUtil::__construct

(PECL event >= 1.2.6-beta)

EventUtil::__construct — The abstract constructor

Açıklama

abstract public EventUtil::__construct()

EventUtil is a singleton. Therefore the constructor is abstract, and it is impossible to create objects based on this class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Returns the most recent socket error number

  • « EventUtil::__construct
  • EventUtil::getLastSocketError »
  • PHP Manual
  • EventUtil
  • Returns the most recent socket error number

EventUtil::getLastSocketErrno

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketErrno — Returns the most recent socket error number

Açıklama

public static EventUtil::getLastSocketErrno( mixed $socket = null ): int

Returns the most recent socket error number( errno ).

Bağımsız Değişkenler

socket

Socket resource, stream or a file descriptor of a socket.

Dönen Değerler

Returns the most recent socket error number( errno ).

Ayrıca Bakınız

  • EventUtil::getLastSocketError() - Returns the most recent socket error


Returns the most recent socket error

  • « EventUtil::getLastSocketErrno
  • EventUtil::getSocketFd »
  • PHP Manual
  • EventUtil
  • Returns the most recent socket error

EventUtil::getLastSocketError

(PECL event >= 1.2.6-beta)

EventUtil::getLastSocketError — Returns the most recent socket error

Açıklama

public static EventUtil::getLastSocketError( mixed $socket = ?): string

Returns the most recent socket error.

Bağımsız Değişkenler

socket

Socket resource, stream or a file descriptor of a socket.

Dönen Değerler

Returns the most recent socket error.

Ayrıca Bakınız

  • EventUtil::getLastSocketErrno() - Returns the most recent socket error number


Returns numeric file descriptor of a socket, or stream

  • « EventUtil::getLastSocketError
  • EventUtil::getSocketName »
  • PHP Manual
  • EventUtil
  • Returns numeric file descriptor of a socket, or stream

EventUtil::getSocketFd

(PECL event >= 1.7.0)

EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream

Açıklama

public static EventUtil::getSocketFd( mixed $socket ): int

Returns numeric file descriptor of a socket or stream specified by socket argument just like the Event extension does it internally for all methods accepting socket resource or stream.

Bağımsız Değişkenler

socket

Socket resource or stream.

Dönen Değerler

Returns numeric file descriptor of a socket, or stream. EventUtil::getSocketFd() returns false in case if it is whether failed to recognize the type of the underlying file, or detected that the file descriptor associated with socket is not valid.


Retreives the current address to which the socket is bound

  • « EventUtil::getSocketFd
  • EventUtil::setSocketOption »
  • PHP Manual
  • EventUtil
  • Retreives the current address to which the socket is bound

EventUtil::getSocketName

(PECL event >= 1.5.0)

EventUtil::getSocketName — Retreives the current address to which the socket is bound

Açıklama

public static EventUtil::getSocketName( mixed $socket , string &$address , mixed &$port = ?): bool

Retreives the current address to which the socket is bound.

Bağımsız Değişkenler

socket

Socket resource, stream or a file descriptor of a socket.

address

Output parameter. IP-address, or the UNIX domain socket path depending on the socket address family.

port

Output parameter. The port the socket is bound to. Has no meaning for UNIX domain sockets.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets socket options

  • « EventUtil::getSocketName
  • EventUtil::sslRandPoll »
  • PHP Manual
  • EventUtil
  • Sets socket options

EventUtil::setSocketOption

(PECL event >= 1.6.0)

EventUtil::setSocketOption — Sets socket options

Açıklama

public static EventUtil::setSocketOption(
mixed $socket ,
int $level ,
int $optname ,
mixed $optval
): bool

Sets socket options.

Bağımsız Değişkenler

socket

Socket resource, stream, or numeric file descriptor associated with the socket.

level

One of EventUtil::SOL_* constants. Specifies the protocol level at which the option resides. For example, to retrieve options at the socket level, a level parameter of EventUtil::SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of that level. Protocol numbers can be found by using the getprotobyname() function. See EventUtil constants .

optname

Option name(type). Has the same meaning as corresponding parameter of socket_get_option() function. See EventUtil constants .

optval

Accepts the same values as optval parameter of the socket_get_option() function.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • socket_get_option() - Soketle ilgili bir seçeneğin değerini döndürür
  • socket_set_option() - Soketle ilgili seçenekleri belirler


Generates entropy by means of OpenSSL's RAND_poll()

  • « EventUtil::setSocketOption
  • FTP »
  • PHP Manual
  • EventUtil
  • Generates entropy by means of OpenSSL's RAND_poll()

EventUtil::sslRandPoll

(PECL event >= 1.2.6-beta)

EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()

Açıklama

public static EventUtil::sslRandPoll(): void

Generates entropy by means of OpenSSL's RAND_poll() (see the system manual).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


FTP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel kullanım
  • FTP İşlevleri
    • ftp_alloc — Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar
    • ftp_append — Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler
    • ftp_cdup — Üst dizine geçer
    • ftp_chdir — FTP sunucusundaki çalışma dizinini değiştirir
    • ftp_chmod — FTP üzerinden bir dosyanın erişim izinlerini değiştirir
    • ftp_close — Bir FTP bağlantısını kapatır
    • ftp_connect — Bir FTP bağlantısı açar
    • ftp_delete — Belirtilen dosyayı FTP sunucusundan siler
    • ftp_exec — FTP sunucusunda bir komut çalıştırma isteği yapar
    • ftp_fget — FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
    • ftp_fput — FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler
    • ftp_get_option — Bir çalışma anı seçeneğinin değerini döndürür
    • ftp_get — FTP sunucusundan bir dosya indirir
    • ftp_login — FTP bağlantısında kullanıcı oturumu açar
    • ftp_mdtm — Belirtilen dosyanın son değişiklik zamanını döndürür
    • ftp_mkdir — FTP sunucusunda bir dizin oluşturur
    • ftp_mlsd — Belirtilen dizindeki dosyaların bir listesini döndürür
    • ftp_nb_continue — Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
    • ftp_nb_fget — FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar
    • ftp_nb_fput — FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
    • ftp_nb_get — FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
    • ftp_nb_put — Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler
    • ftp_nlist — Belirtilen dizindeki dosyaların listesini döndürür
    • ftp_pasv — Edilgen kipi açıp kapar
    • ftp_put — FTP sunucusuna bir dosya yükler
    • ftp_pwd — Çalışılan dizinin ismini döndürür
    • ftp_quit — ftp_close işlevinin takma adıdır
    • ftp_raw — Bir FTP sunucusuna bir komut gönderir
    • ftp_rawlist — Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür
    • ftp_rename — FTP sunucusundaki bir dosya veya dizinin adını değiştirir
    • ftp_rmdir — Bir dizini siler
    • ftp_set_option — Çalışma anı seçeneklerini belirler
    • ftp_site — Sunucuya bir SITE komutu gönderir
    • ftp_size — FTP sunucusundaki bir dosyanın boyunu döndürür
    • ftp_ssl_connect — Güvenli bir SSL-FTP bağlantısı açar
    • ftp_systype — Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür
  • FTP\Connection — FTP\Connection sınıfı


Giriş

Bu eklentideki işlevler Dosya Aktarım Protokolü (FTP) denen ve » http://www.faqs.org/rfcs/rfc959 ile bir internet standardı haline gelen dosya sunucularının kullandığı ünlü protokolün istemci tarafını gerçekler. Bu eklenti, bir FTP sunucusuna erişirken çalışan betiğe geniş çapta bir denetim imkanı sunar. İsteğiniz sadece bir FTP sunucusundan dosya okumak veya sunucuya dosya yüklemekse, daha basit ve sezgisel bir arayüz sağlayan ftp:// sarmalayıcısını dosya sistemi işlevleri ile kullanmanız yeterli olacaktır.


Kurulum

PHP yapılandırmanızla FTP işlevlerini kullanabilmek için PHP'yi --enable-ftp seçeneğiyle derlemelisiniz.

Bu eklenti Windows'a daima paylaşımlı bir eklenti olarak kurulduğundan php.ini içinde etkinleştirilmelidir.


Özkaynak Türleri

PHP 8.1.0 öncesinde, bu eklenti, ftp_connect() veya ftp_ssl_connect() işlevi tarafından döndürülen ve ftp bağlantısı için bağlantı tanıtıcısı olarak kullanılan bir özkaynağa sahipti.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

FTP_ASCII (int)

FTP_AUTOSEEK (int)

Bilgi için ftp_set_option() işlevine bakınız.

FTP_AUTORESUME (int)

GET ve PUT istekleri için devam etme ve başlangıç konumunu otomatik olarak belirler (yalnızca FTP_AUTOSEEK etkinleştirildiğinde çalışır).

FTP_FAILED (int)

Eşzamansız aktarım başarısız oldu.

FTP_FINISHED (int)

Eşzamansız aktarım bitti

FTP_MOREDATA (int)

Eşzamansız aktarım hala etkin

FTP_TEXT (int)

FTP_ASCII için takma ad.

FTP_BINARY (int)

FTP_IMAGE (int)

FTP_BINARY için takma ad.

FTP_TIMEOUT_SEC (int)

Bilgi için ftp_set_option() işlevine bakınız.

FTP_USEPASVADDRESS (int)

Bilgi için ftp_set_option() işlevine bakınız.


  • « Öntanımlı Sabitler
  • Temel kullanım »
  • PHP Manual
  • FTP
  • Örnekler

Örnekler

İçindekiler

  • Temel kullanım


Temel kullanım

Örnek 1 - FTP örneği

<?php
// Bağlantıyı kuralım
$bt = ftp_connect($ftp_sunucu);

// kullanıcı adı ve parola ile oturum açalım
$bağlantı = ftp_login($bt, $ftpci, $ftpci_parolası);

// bağlantıyı sınayalım
if ((!$bt) || (!$bağlantı)) {
echo "FTP bağlantısı kurulamadı!";
echo "$ftpci için $ftp_sunucu sunucusuna bağlanmaya çalışılıyordu.";
exit;
} else {
echo "$ftpci için $ftp_sunucu sunucusuna bağlantı kuruldu.";
}

// Dosyayı sunucuya yükleyelim
$yükleme = ftp_put($bt, $hedef, $kaynak, FTP_BINARY);

// Duruma bakalım
if (!$yükleme) {
echo "FTP dosya yüklemesi başarısız oldu!";
} else {
echo "$kaynak dosyası $ftp_sunucu sunucusuna ";
echo "$hedef dosyası olarak yüklendi.";
}

// FTP bağlantısını kapatalım
ftp_close($bt);
?>


FTP İşlevleri

İçindekiler

  • ftp_alloc — Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar
  • ftp_append — Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler
  • ftp_cdup — Üst dizine geçer
  • ftp_chdir — FTP sunucusundaki çalışma dizinini değiştirir
  • ftp_chmod — FTP üzerinden bir dosyanın erişim izinlerini değiştirir
  • ftp_close — Bir FTP bağlantısını kapatır
  • ftp_connect — Bir FTP bağlantısı açar
  • ftp_delete — Belirtilen dosyayı FTP sunucusundan siler
  • ftp_exec — FTP sunucusunda bir komut çalıştırma isteği yapar
  • ftp_fget — FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
  • ftp_fput — FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler
  • ftp_get_option — Bir çalışma anı seçeneğinin değerini döndürür
  • ftp_get — FTP sunucusundan bir dosya indirir
  • ftp_login — FTP bağlantısında kullanıcı oturumu açar
  • ftp_mdtm — Belirtilen dosyanın son değişiklik zamanını döndürür
  • ftp_mkdir — FTP sunucusunda bir dizin oluşturur
  • ftp_mlsd — Belirtilen dizindeki dosyaların bir listesini döndürür
  • ftp_nb_continue — Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
  • ftp_nb_fget — FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar
  • ftp_nb_fput — FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
  • ftp_nb_get — FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
  • ftp_nb_put — Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler
  • ftp_nlist — Belirtilen dizindeki dosyaların listesini döndürür
  • ftp_pasv — Edilgen kipi açıp kapar
  • ftp_put — FTP sunucusuna bir dosya yükler
  • ftp_pwd — Çalışılan dizinin ismini döndürür
  • ftp_quit — ftp_close işlevinin takma adıdır
  • ftp_raw — Bir FTP sunucusuna bir komut gönderir
  • ftp_rawlist — Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür
  • ftp_rename — FTP sunucusundaki bir dosya veya dizinin adını değiştirir
  • ftp_rmdir — Bir dizini siler
  • ftp_set_option — Çalışma anı seçeneklerini belirler
  • ftp_site — Sunucuya bir SITE komutu gönderir
  • ftp_size — FTP sunucusundaki bir dosyanın boyunu döndürür
  • ftp_ssl_connect — Güvenli bir SSL-FTP bağlantısı açar
  • ftp_systype — Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür


Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar

  • « FTP İşlevleri
  • ftp_append »
  • PHP Manual
  • FTP İşlevleri
  • Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar

ftp_alloc

(PHP 5, PHP 7, PHP 8)

ftp_alloc — Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar

Açıklama

ftp_alloc(FTP\Connection $ftp, int $boyut, string &$yanıt = null): bool

Yüklenecek dosyaya yer ayırmasi için FTP sunucusuna bir ALLO komutu gönderir.

Bilginize:

Her FTP sunucusu bu komutu desteklemez. Bu sunucular komutun desteklenmediğini veya önceden yer ayırmanın gerekmediğini ve istemcinin işleme devam ederse sorun çıkmayacağını belirten bir başarısızlık kodu (false) döndürebilir. Bu bakımdan, açıkça yer ayırmayı gerektiren sunucuları hesaba katarak bu işlevi de kullanmakta yarar vardır.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

boyut

Ayrılacak bayt sayısı.

yanıt

Bağımsız değişken belirtildiği takdirde sunucunun yanıtıyla ilgili ileti bu bağımsız değişkene yerleştirilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_alloc() örneği

<?php

$file = "/home/user/myfile";

// Sunucuya bağlanalım
$ftp = ftp_connect('ftp.example.com');
$login_result = ftp_login($ftp, 'anonymous', 'user@example.com');

if (ftp_alloc($ftp, filesize($file), $result)) {
echo "Sunucuda yer ayrıldı. $file gönderiliyor.\n";
ftp_put($ftp, '/incoming/myfile', $file, FTP_BINARY);
} else {
echo "Sunucuda yer ayrılamadı. Sunucunun yanıtı: $result\n";
}

ftp_close($ftp);

?>

Ayrıca Bakınız

  • ftp_put() - FTP sunucusuna bir dosya yükler
  • ftp_fput() - FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler


Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler

  • « ftp_alloc
  • ftp_cdup »
  • PHP Manual
  • FTP İşlevleri
  • Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler

ftp_append

(PHP 7 >= 7.2.0, PHP 8)

ftp_append — Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler

Açıklama

ftp_append(
FTP\Connection $ftp,
string $uzak_dosya,
string $yerel_dosya,
int $kip = FTP_BINARY
): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

uzak_dosya

yerel_dosya

kip

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.


Üst dizine geçer

  • « ftp_append
  • ftp_chdir »
  • PHP Manual
  • FTP İşlevleri
  • Üst dizine geçer

ftp_cdup

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_cdup — Üst dizine geçer

Açıklama

ftp_cdup(FTP\Connection $ftp): bool

Üst dizine geçer.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_cdup() örneği

<?php

// Temel SSL bağlantısını kuralım
$ftp = ftp_ssl_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// çalışma dizinini html yapalım
ftp_chdir($ftp, 'html');

echo ftp_pwd($ftp); // /html

// üst dizine dönelim
if (ftp_cdup($ftp)) {
echo "Üst dizine sorunsuzca dönüldü\n";
} else {
echo "Üst dizine dönülemedi\n";
}

echo ftp_pwd($ftp); // /

ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_chdir() - FTP sunucusundaki çalışma dizinini değiştirir
  • ftp_pwd() - Çalışılan dizinin ismini döndürür


FTP sunucusundaki çalışma dizinini değiştirir

  • « ftp_cdup
  • ftp_chmod »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundaki çalışma dizinini değiştirir

ftp_chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_chdir — FTP sunucusundaki çalışma dizinini değiştirir

Açıklama

ftp_chdir(FTP\Connection $ftp, string $dizin): bool

FTP sunucusundaki çalışma dizinini dizin olarak değiştirir.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

Yeni çalışma dizini.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Dizin değişikliği yapılamazsa PHP bunun için bir uyarı çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_chdir() örneği

<?php

// Temel SSL bağlantısını kuralım
$ftp = ftp_ssl_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// bağlantıyı sınayalım
if ((!$ftp) || (!$login_result)) {
die("FTP bağlantısı kurulamadı!");
}

echo "Çalışma dizini: " . ftp_pwd($ftp) . "\n";

// Başka bir dizine geçmeyi deneyelim
if (ftp_chdir($ftp, "somedir")) {
echo "Yeni çalışma dizini: " . ftp_pwd($ftp) . "\n";
} else {
echo "Yeni dizine geçilemedi\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_cdup() - Üst dizine geçer
  • ftp_pwd() - Çalışılan dizinin ismini döndürür


FTP üzerinden bir dosyanın erişim izinlerini değiştirir

  • « ftp_chdir
  • ftp_close »
  • PHP Manual
  • FTP İşlevleri
  • FTP üzerinden bir dosyanın erişim izinlerini değiştirir

ftp_chmod

(PHP 5, PHP 7, PHP 8)

ftp_chmod — FTP üzerinden bir dosyanın erişim izinlerini değiştirir

Açıklama

ftp_chmod(FTP\Connection $ftp, int $izinler, string $dosya): int|false

dosya ile belirtilen dosyanın erişim izinlerini kip yapar.

Bağımsız Değişkenler

ftp_akımı

Bir FTP\Connection nesnesi.

izinler

Sekizlik bir değer olarak erişim izinleri.

dosya

Dosyanın FTP sunucusundaki yolu.

Dönen Değerler

Hata durumunda false yoksa yeni dosya erişim izinleri döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_chmod() örneği

<?php
$dosya = 'public_html/index.php';

// Temel SSL bağlantısını kuralım
$ftp = ftp_ssl_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $dosya dosyasının erişim izinlerini 644 yapalım
if (ftp_chmod($ftp, 0644, $dosya) !== false) {
echo "$dosya için erişim izni 644 yapıldı\n";
} else {
echo "$dosya için erişim izinleri değiştirilemedi\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • chmod() - Dosya kipini değiştirir


Bir FTP bağlantısını kapatır

  • « ftp_chmod
  • ftp_connect »
  • PHP Manual
  • FTP İşlevleri
  • Bir FTP bağlantısını kapatır

ftp_close

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_close — Bir FTP bağlantısını kapatır

Açıklama

ftp_close(FTP\Connection $ftp): bool

ftp ile belirtilen FTP bağlantısını kapatır ve buna ayrılan özkaynağı serbest bırakır.

Bilginize:

Bu işlevi çağırdıktan sonra artık FTP bağlantısını kullanamaz ama ftp_connect() ile yeni bir tane oluşturabilirsiniz.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_close() örneği

<?php

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// çalışma dizininin ismini basalım
echo ftp_pwd($ftp); // /

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_connect() - Bir FTP bağlantısı açar


Bir FTP bağlantısı açar

  • « ftp_close
  • ftp_delete »
  • PHP Manual
  • FTP İşlevleri
  • Bir FTP bağlantısı açar

ftp_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_connect — Bir FTP bağlantısı açar

Açıklama

ftp_connect(string $adres, int $port = 21, int $zamanaşımı = 90): FTP\Connection|false

ftp_connect() işlevi belirtilen adresteki FTP sunucusuna bağlantı kurar.

Bağımsız Değişkenler

adres

FTP sunucusunun adresi.Bu dizgenin bir bölü çizgisi ile bitirilmemesi ve ftp:// ile öncelenmemesi gerekir.

port

Bu bağımsız değişken normal portun dışında bir port belirtmek için kullanılır. Verilmezse veya 0 belirtilirse öntanımlı FTP portu olan 21 kullanılır.

zamanaşımı

Bu bağımsız değişkende her türlü ağ işlemi için saniye cinsinden zaman aşımı belirtilir. Belirtilmezse 90 saniye öntanımlı değerdir. Bu zaman aşımını istediğiniz zaman ftp_set_option() ile değiştirebilir ve ftp_get_option() ile sorgulayabilirsiniz.

Dönen Değerler

Başarı durumunda FTP\Connection nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Başarı durumunda artık FTP\Connection nesnesi dönüyor, evvelce bir özkaynak dönerdi.

Örnekler

Örnek 1 - ftp_connect() örneği

<?php

$ftp_server = "ftp.example.com";

// Bağlantıyı kuralım
$ftp = ftp_connect($ftp_server) or die(
"$ftp_server adresine bağlantı kurulamadı");

?>

Ayrıca Bakınız

  • ftp_close() - Bir FTP bağlantısını kapatır
  • ftp_ssl_connect() - Güvenli bir SSL-FTP bağlantısı açar


Belirtilen dosyayı FTP sunucusundan siler

  • « ftp_connect
  • ftp_exec »
  • PHP Manual
  • FTP İşlevleri
  • Belirtilen dosyayı FTP sunucusundan siler

ftp_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_delete — Belirtilen dosyayı FTP sunucusundan siler

Açıklama

ftp_delete(FTP\Connection $ftp, string $dosya): bool

ftp_delete() işlevi dosya ile belirtilen dosyayı FTP sunucusundan siler.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dosya

Silinecek dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_delete() örneği

<?php
$dosya = 'public_html/old.txt';

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $dosya dosyasını silmeyi deneyelim
if (ftp_delete($ftp, $dosya)) {
echo "$dosya sorunsuzca silindi\n";
} else {
echo "$dosya silinemedi\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>


FTP sunucusunda bir komut çalıştırma isteği yapar

  • « ftp_delete
  • ftp_fget »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusunda bir komut çalıştırma isteği yapar

ftp_exec

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

ftp_exec — FTP sunucusunda bir komut çalıştırma isteği yapar

Açıklama

ftp_exec(FTP\Connection $ftp, string $komut): bool

FTP sunucusuna belirtilen SITE EXEC komutu için istek gönderir.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

komut

Çalıştırılacak komut.

Dönen Değerler

İşlem başarılı olursa (sunucu yanıt kodu 200 ise) true olmazsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_exec() örneği

<?php

// değişken ilklendirmesi
$komut = 'ls -al >files.txt';

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// komutu çalıştıralım
if (ftp_exec($ftp, $komut)) {
echo "$komut sorunsuzca çalıştırıldı\n";
} else {
echo "$komut çalıştırılamadı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);

?>

Ayrıca Bakınız

  • ftp_raw() - Bir FTP sunucusuna bir komut gönderir


FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar

  • « ftp_exec
  • ftp_fput »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar

ftp_fget

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_fget — FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar

Açıklama

ftp_fget(
FTP\Connection $ftp,
resource $dt,
string $uzak_dosya,
int $kip = FTP_BINARY,
int $başlangıç = 0
): bool

ftp_fget() işlevi FTP sunucusundan dosyayı indirirken veriyi açık bir dosya tanıtıcısına yazar.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dt

Verinin saklanacağı açık dosya tanıtıcısı.

uzak_dosya

Dosyanın FTP sunucusundaki yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

İndirmenin başlatılacağı bayt konumu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_fget() örneği

<?php

// dosyaları hazırlayalım
$uzak = 'somefile.txt';
$yerel = 'localfile.txt';

// Yazmak için bir dosya açalım
$dt = fopen($yerel, 'w');

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $uzak dosyasını indirip $dt tanıtıcısına yazmayı deneyelim
if (ftp_fget($ftp, $dt, $uzak, FTP_ASCII, 0)) {
echo "$yerel dosyasına başarıyla yazıldı\n";
} else {
echo "$uzak dosyası $yerel dosyasına yazılırken bir hata oluştu\n";
}

// bağlantıyı ve dosya tanıtıcısını kapatalım
ftp_close($ftp);
fclose($dt);
?>

Ayrıca Bakınız

  • ftp_get() - FTP sunucusundan bir dosya indirir
  • ftp_nb_get() - FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
  • ftp_nb_fget() - FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar


FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler

  • « ftp_fget
  • ftp_get_option »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler

ftp_fput

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_fput — FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler

Açıklama

ftp_fput(
FTP\Connection $ftp,
string $uzak_dosa,
resource $dt,
int $kip = FTP_BINARY,
int $başlangıç = 0
): bool

ftp_fput() işlevi FTP sunucusuna dosya yüklerken dt ile belirtilen dosya tanıtıcısı kullanır.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

uzak_dosa

Dosyanın FTP sunucusundaki yolu.

dt

Yerel dosyanın açık dosya tanıtıcısı. Okuma işlemi dosyanın sonuna gelindiğinde durur.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

Uzak dosyayı yüklemenin başlatılacağı bayt konumu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_fput() örneği

<?php

// Okumak için bir dosya açalım
$file = 'somefile.txt';
$fp = fopen($file, 'r');

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// yüklemeyi başlatalım
if (ftp_fput($ftp, $file, $fp, FTP_ASCII)) {
echo "$file sorunsuzca yüklendi.\n";
} else {
echo "$file yüklenirken bir sorun çıktı.\n";
}

// bağlantıyı ve dosya tanıtıcısını kapatalım
ftp_close($ftp);
fclose($fp);

?>

Ayrıca Bakınız

  • ftp_put() - FTP sunucusuna bir dosya yükler
  • ftp_nb_fput() - FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
  • ftp_nb_put() - Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler


Bir çalışma anı seçeneğinin değerini döndürür

  • « ftp_fput
  • ftp_get »
  • PHP Manual
  • FTP İşlevleri
  • Bir çalışma anı seçeneğinin değerini döndürür

ftp_get_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_get_option — Bir çalışma anı seçeneğinin değerini döndürür

Açıklama

ftp_get_option(FTP\Connection $ftp, int $seçenek): int|bool

seçenek seçeneğinin belirtilen FTP akımı ile ilgili değerini döndürür.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

seçenek

Şimdilik aşağıdaki seçenekler desteklenmektedir:

Desteklenen çalışma anı FTP seçenekleri
FTP_TIMEOUT_SEC | Ağ ile ilgili işlevlerde kullanılan zaman aşımını döndürür.
FTP_AUTOSEEK | Etkin olduğunda, devam_yeri veya başlama_yeri bağımsız değişkenli bir GET veya PUT isteğinde dosya içinde önce belirtilen konum aranır. Seçenek etkinse true değilse false döner.

Dönen Değerler

Hata durumunda false döner ve bir uyarı çıktılanır yoksa seçeneğin değeri döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_get_option() örneği

<?php
// Belirtilen FTP akımının ağ zaman aşımını öğrenelim
$timeout = ftp_get_option($ftp, FTP_TIMEOUT_SEC);
?>

Ayrıca Bakınız

  • ftp_set_option() - Çalışma anı seçeneklerini belirler


FTP sunucusundan bir dosya indirir

  • « ftp_get_option
  • ftp_login »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundan bir dosya indirir

ftp_get

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_get — FTP sunucusundan bir dosya indirir

Açıklama

ftp_get(
FTP\Connection $ftp,
string $yerel_dosya,
string $uzak_dosya,
int $kip = FTP_BINARY,
int $başlangıç = 0
): bool

FTP sunucusundan bir dosya indirip bir yerel dosyaya kaydeder.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

yerel_dosya

Yerel dosyanın yolu (dosya varsa üzerine yazılır).

uzak_dosya

FTP sunucusundaki dosyanın yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

İndirmenin başlatılacağı bayt konumu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_get() örneği

<?php

// değişkenleri tanımlayalım
$local_file = 'local.zip';
$server_file = 'server.zip';

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $server_file dosyasını indirip $local_file dosyasına yazalım
if (ftp_get($ftp, $local_file, $server_file, FTP_BINARY)) {
echo "$local_file başarıyla kaydedildi.\n";
} else {
echo "Bir sorun çıktı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);

?>

Ayrıca Bakınız

  • ftp_pasv() - Edilgen kipi açıp kapar
  • ftp_fget() - FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
  • ftp_nb_get() - FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
  • ftp_nb_fget() - FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar


FTP bağlantısında kullanıcı oturumu açar

  • « ftp_get
  • ftp_mdtm »
  • PHP Manual
  • FTP İşlevleri
  • FTP bağlantısında kullanıcı oturumu açar

ftp_login

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_login — FTP bağlantısında kullanıcı oturumu açar

Açıklama

ftp_login(FTP\Connection $ftp, string $kullanıcı, string $parola): bool

Belirtilen FTP bağlantısı üzerinde belirtilen kullanıcı için bir oturum açar.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

kullanıcı

Kullanıcı adı (FTP komutu: USER).

parola

Parola (FTP komutu: PASS).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Oturum açılamazsa PHP bir uyarı çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_login() örneği

<?php

$ftp_server = "ftp.example.com";
$ftp_user = "foo";
$ftp_pass = "bar";

// bağlantıyı kuralım
$ftp = ftp_connect($ftp_server) or die(
"$ftp_server sunucusuna bağlantı kurulamadı");

// oturum açmayı deneyelim
if (@ftp_login($ftp, $ftp_user, $ftp_pass)) {
echo "$ftp_user@$ftp_server oturumu açıldı\n";
} else {
echo "$ftp_user için oturum açılamadı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>


Belirtilen dosyanın son değişiklik zamanını döndürür

  • « ftp_login
  • ftp_mkdir »
  • PHP Manual
  • FTP İşlevleri
  • Belirtilen dosyanın son değişiklik zamanını döndürür

ftp_mdtm

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_mdtm — Belirtilen dosyanın son değişiklik zamanını döndürür

Açıklama

ftp_mdtm(FTP\Connection $ftp, string $dosya): int

FTP sunucusundaki dosya dosyasının son değişiklik zamanını döndürür.

Bilginize:

Her sunucu bu özelliği desteklemez!

Bilginize:

ftp_mdtm() işlevi dizinler için işlem yapmaz.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dosya

Son değişiklik zamanı sorgulanacak dosya.

Dönen Değerler

Hata durumunda -1 yoksa belirtilen dosyanın son değişiklik zamanını bir yerel Unix zaman damgası olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_mdtm() örneği

<?php

$file = 'somefile.txt';

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// son değişiklik zamanına bakalım
$buff = ftp_mdtm($ftp, $file);

if ($buff != -1) {
// somefile.txt dosyasının son değişiklik zamanı: March 26 2003 14:16:41.
echo "$file dosyasının son değişiklik zamanı: " .
date("F d Y H:i:s.", $buff);
} else {
echo "Dosyanın son değişiklik zamanı saptanamadı.";
}

// bağlantıyı kapatalım
ftp_close($ftp);

?>


FTP sunucusunda bir dizin oluşturur

  • « ftp_mdtm
  • ftp_mlsd »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusunda bir dizin oluşturur

ftp_mkdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_mkdir — FTP sunucusunda bir dizin oluşturur

Açıklama

ftp_mkdir(FTP\Connection $ftp, string $dizin): string|false

FTP sunucusunda belirtilen dizini oluşturur.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

Oluşturulacak dizinin ismi.

Dönen Değerler

Hata durumunda false yoksa oluşturulan dizinin ismi döner.

Hatalar/İstisnalar

Dizin zaten varsa veya izinler dizin oluşturmak için yetersizse E_WARNING seviyesinde bir uyarı üretilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_mkdir() örneği

<?php

$dir = 'www';

// temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// Kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $dir dizinini oluşturmayı deneyelim
if (ftp_mkdir($ftp, $dir)) {
echo "$dir sorunsuzca oluşturuldu.\n";
} else {
echo "$dir oluşturulurken bir sorun çıktı.\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_rmdir() - Bir dizini siler


Belirtilen dizindeki dosyaların bir listesini döndürür

  • « ftp_mkdir
  • ftp_nb_continue »
  • PHP Manual
  • FTP İşlevleri
  • Belirtilen dizindeki dosyaların bir listesini döndürür

ftp_mlsd

(PHP 7 >= 7.2.0, PHP 8)

ftp_mlsd — Belirtilen dizindeki dosyaların bir listesini döndürür

Açıklama

ftp_mlsd(FTP\Connection $ftp, string $dizin): array|false

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

Listelenecek dizin.

Dönen Değerler

Başarıccdurumunda belirtilen dizindeki dosya bilgilerini içeren bir diziler dizisi döndürür. Hata durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_mlsd() örneği

<?php

// bağlantı kur
$ftp = ftp_connect($ftp_server);

// kullanıcı ve parola ile oturum aç
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// geçerli dizinin içeriğini al
$içindekiler = ftp_mlsd($ftp, ".");

// $içindekiler'i çıktıla
var_dump($içindekiler);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(5) {
  [0]=>
  array(8) {
    ["name"]=>
    string(1) "."
    ["modify"]=>
    string(14) "20171212154511"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(4) "cdir"
    ["unique"]=>
    string(11) "811U5740002"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [1]=>
  array(8) {
    ["name"]=>
    string(2) ".."
    ["modify"]=>
    string(14) "20171212154511"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(4) "pdir"
    ["unique"]=>
    string(11) "811U5740002"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [2]=>
  array(8) {
    ["name"]=>
    string(11) "public_html"
    ["modify"]=>
    string(14) "20171211171525"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U5740525"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [3]=>
  array(8) {
    ["name"]=>
    string(10) "public_ftp"
    ["modify"]=>
    string(14) "20171211174536"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U57405EE"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
  [4]=>
  array(8) {
    ["name"]=>
    string(3) "www"
    ["modify"]=>
    string(14) "www"
    ["perm"]=>
    string(7) "flcdmpe"
    ["type"]=>
    string(3) "dir"
    ["unique"]=>
    string(11) "811U5740780"
    ["UNIX.group"]=>
    string(2) "33"
    ["UNIX.mode"]=>
    string(4) "0755"
    ["UNIX.owner"]=>
    string(2) "33"
  }
}

Ayrıca Bakınız

  • ftp_rawlist() - Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür
  • ftp_nlist() - Belirtilen dizindeki dosyaların listesini döndürür


Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir

  • « ftp_mlsd
  • ftp_nb_fget »
  • PHP Manual
  • FTP İşlevleri
  • Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir

ftp_nb_continue

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_continue — Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir

Açıklama

ftp_nb_continue(FTP\Connection $ftp): int

Dosya alımını/gönderimini kaldığı yerden devam ettirir.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

Dönen Değerler

FTP_FAILED veya FTP_FINISHED ya da FTP_MOREDATA döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_nb_continue() örneği

<?php

// İndirmeyi başlatalım
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu...";
exit(1);
}
?>


FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar

  • « ftp_nb_continue
  • ftp_nb_fput »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar

ftp_nb_fget

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_fget — FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar

Açıklama

ftp_nb_fget(
FTP\Connection $ftp,
resource $dt,
string $uzak_dosya,
int $kip = FTP_BINARY,
int $başlangıç = 0
): int

ftp_nb_fget() işlevi FTP sunucusundan dosyayı indirirken veriyi açık bir dosya tanıtıcısına yazar.

Bu işlevin ftp_get() işlevinden farkı bu işlevin dosyayı eşzamansız olarak indirmesidir. Yani indirme işlemi sırasında başka işlemler yapabilirsiniz.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dt

Verinin saklanacağı açık dosya tanıtıcısı.

uzak_dosya

Dosyanın FTP sunucusundaki yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

İndirmenin başlatılacağı uzak dosyadaki konum.

Dönen Değerler

FTP_FAILED veya FTP_FINISHED ya da FTP_MOREDATA döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_nb_fget() örneği

<?php

// Yazmak için bir dosya açalım
$file = 'index.php';
$fp = fopen($file, 'w');

$ftp = ftp_connect($ftp_server);

$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// İndirmeyi başlatalım
$ret = ftp_nb_fget($ftp, $fp, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

// Başka şeyler yapalım
echo ".";

// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu...";
exit(1);
}

// dosya tanıtıcısını kapatalım
fclose($fp);
?>

Ayrıca Bakınız

  • ftp_nb_get() - FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
  • ftp_nb_continue() - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
  • ftp_fget() - FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
  • ftp_get() - FTP sunucusundan bir dosya indirir


FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır

  • « ftp_nb_fget
  • ftp_nb_get »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır

ftp_nb_fput

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_fput — FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır

Açıklama

ftp_nb_fput(
FTP\Connection $ftp,
string $uzak_dosya,
resource $dt,
int $kip = FTP_BINARY,
int $başlangıç = 0
): int

ftp_nb_fput() işlevi FTP sunucusuna dosya yüklerken dt ile belirtilen dosya tanıtıcısı kullanır.

Bu işlevin ftp_put() işlevinden farkı bu işlevin dosyayı eşzamansız olarak yüklemesidir. Yani yükleme işlemi sırasında başka işlemler yapabilirsiniz.

Bağımsız Değişkenler

ftp_akımı

Bir FTP\Connection nesnesi.

uzak_dosya

Dosyanın FTP sunucusundaki yolu.

dt

Yerel dosyanın açık dosya tanıtıcısı. Okuma işlemi dosyanın sonuna gelindiğinde durur.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

Karşıya yüklemenin başlatılacağı uzak dosyadaki konum.

Dönen Değerler

FTP_FAILED veya FTP_FINISHED ya da FTP_MOREDATA döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_nb_fput() örneği

<?php

$file = 'index.php';

$fp = fopen($file, 'r');

$ftp = ftp_connect($ftp_server);

$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// yüklemeyi başlatalım
$ret = ftp_nb_fput($ftp, $file, $fp, FTP_BINARY);
while ($ret == FTP_MOREDATA) {

// Başka şeyler yapalım
echo ".";

// Yüklemeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya yüklenirken bir hata oluştu...";
exit(1);
}

fclose($fp);
?>

Ayrıca Bakınız

  • ftp_nb_put() - Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler
  • ftp_nb_continue() - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
  • ftp_put() - FTP sunucusuna bir dosya yükler
  • ftp_fput() - FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler


FTP sunucusundan (engellenmeyen kipte) bir dosya indirir

  • « ftp_nb_fput
  • ftp_nb_put »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundan (engellenmeyen kipte) bir dosya indirir

ftp_nb_get

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_get — FTP sunucusundan (engellenmeyen kipte) bir dosya indirir

Açıklama

ftp_nb_get(
FTP\Connection $ftp,
string $yerel_dosya,
string $uzak_dosya,
int $kip = FTP_BINARY,
int $devam_yeri = 0
): int|false

ftp_nb_get() işlevi FTP sunucusundan uzak_dosya dosyasını alır, yerel dosya sistemine yerel_dosya adıyla kaydeder.

Bu işlevin ftp_get() işlevinden farkı bu işlevin dosyayı eşzamansız olarak indirmesidir. Yani indirme işlemi sırasında başka işlemler yapabilirsiniz.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

yerel_dosya

Yerel dosyanın yolu (dosya varsa üzerine yazılır).

uzak_dosya

Dosyanın FTP sunucusundaki yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

devam_yeri

Uzak dosyada indirmenin başlayacağı konum.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip bağımsız değişkeni artık seçimlik, evvelce zorunluydu.

Dönen Değerler

FTP_FAILED veya FTP_FINISHED ya da FTP_MOREDATA veya yerel_dosya açılamazsa false döner.

Örnekler

Örnek 1 - ftp_nb_get() örneği

<?php

// İndirmeyi başlatalım
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

// Başka bir şeyler yapalım
echo ".";

// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu...";
exit(1);
}
?>

Örnek 2 - ftp_nb_get() ile indirmeyi devam ettirmek

<?php

// İndirmeyi tekrar başlatalım
$ret = ftp_nb_get($ftp, "test", "README", FTP_BINARY,
filesize("test"));
// VEYA: $ret = ftp_nb_get($ftp, "test", "README",
// FTP_BINARY, FTP_AUTORESUME);
while ($ret == FTP_MOREDATA) {

// Başka şeyler yapalım
echo ".";

// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya indirilirken bir hata oluştu.....";
exit(1);
}
?>

Örnek 3 - ftp_nb_get() ile indirmeyi yeni bir dosyanın 100. baytından sürdürmek

<?php

// otomatik konumlamayı kapatalım
ftp_set_option($ftp, FTP_AUTOSEEK, false);

// İndirmeyi başlatalım
$ret = ftp_nb_get($ftp, "yenidosya", "BENiOKU", FTP_BINARY, 100);
while ($ret == FTP_MOREDATA) {

/* ... */

// İndirmeye devam...
$ret = ftp_nb_continue($ftp);
}
?>

Yukarıdaki örnekte, yenidosya, FTP sunucusundaki BENiOKU dosyasından 100 bayt kısa olacaktır. Bunun sebebi indirmenin 100. bayttan başlatılmış olmasıdır. Eğer FTP_AUTOSEEK seçeneğine false atamasaydık yenidosya dosyasının ilk 100 baytı '\0' karakterleriyle doldurulacaktı.

Ayrıca Bakınız

  • ftp_nb_fget() - FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar
  • ftp_nb_continue() - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
  • ftp_fget() - FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
  • ftp_get() - FTP sunucusundan bir dosya indirir


Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler

  • « ftp_nb_get
  • ftp_nlist »
  • PHP Manual
  • FTP İşlevleri
  • Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler

ftp_nb_put

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_nb_put — Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler

Açıklama

ftp_nb_put(
FTP\Connection $ftp,
string $uzak_dosya,
string $yerel_dosya,
int $kip = FTP_BINARY,
int $başlangıç = 0
): int|false

Belirtilen yerel_dosya dosyasını FTP sunucusuna uzak_dosya olarak yükler.

Bu işlevin ftp_put() işlevinden farkı bu işlevin dosyayı eşzamansız olarak yüklemesidir. Yani yükleme işlemi sırasında başka işlemler yapabilirsiniz.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

uzak_dosya

FTP sunucundaki dosya yolu.

yerel_dosya

Yerel dosya yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

Karşıya yüklemenin başlatılacağı uzak dosyadaki konum.

Dönen Değerler

FTP_FAILED veya FTP_FINISHED ya da FTP_MOREDATA döner. Yerel dosya açılamazsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_nb_put() örneği

<?php

// Yüklemeyi başlatalım
$ret = ftp_nb_put($ftp, "test.remote", "test.local", FTP_BINARY);
while ($ret == FTP_MOREDATA) {

// Başka birşeyler yapalım
echo ".";

// Yüklemeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya yüklenirken bir hata oluştu...";
exit(1);
}
?>

Örnek 2 - ftp_nb_put() ile yüklemeyi devam ettirmek

<?php

// Yüklemeyi tekrar başlatalım
$ret = ftp_nb_put($ftp, "test.remote", "test.local",
FTP_BINARY, ftp_size("test.remote"));
// VEYA: $ret = ftp_nb_put($ftp, "test.remote", "test.local",
// FTP_BINARY, FTP_AUTORESUME);

while ($ret == FTP_MOREDATA) {

// Başka birşeyler yapalım
echo ".";

// Yüklemeye devam...
$ret = ftp_nb_continue($ftp);
}
if ($ret != FTP_FINISHED) {
echo "Dosya yüklenirken bir hata oluştu...";
exit(1);
}
?>

Ayrıca Bakınız

  • ftp_nb_fput() - FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
  • ftp_nb_continue() - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
  • ftp_put() - FTP sunucusuna bir dosya yükler
  • ftp_fput() - FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler


Belirtilen dizindeki dosyaların listesini döndürür

  • « ftp_nb_put
  • ftp_pasv »
  • PHP Manual
  • FTP İşlevleri
  • Belirtilen dizindeki dosyaların listesini döndürür

ftp_nlist

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_nlist — Belirtilen dizindeki dosyaların listesini döndürür

Açıklama

ftp_nlist(FTP\Connection $ftp, string $dizin): array|false

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

İçeriği listelenecek dizin. İçeriğinde, ftp_nlist($ftp, "-la /your/dir"); örneğindeki gibi komut seçenekleri bulunabilir. Bu bağımsız değişken öncelenmez. Dolayısıyla boşluk ve diğer karakterleri içeren dosya isimleri gibi şeyler sözkonusu olabilir.

Dönen Değerler

Hata durumunda false yoksa belirtilen dizindeki dosya isimlerinden oluşan bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_nlist() örneği

<?php

// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// çalıştığımız dizinin içeriğini alalım
$içerik = ftp_nlist($ftp, ".");

// $içerik çıktısı
var_dump($içerik);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(11) "public_html"
  [1]=>
  string(10) "public_ftp"
  [2]=>
  string(3) "www"

Ayrıca Bakınız

  • ftp_rawlist() - Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür
  • ftp_mlsd() - Belirtilen dizindeki dosyaların bir listesini döndürür


Edilgen kipi açıp kapar

  • « ftp_nlist
  • ftp_put »
  • PHP Manual
  • FTP İşlevleri
  • Edilgen kipi açıp kapar

ftp_pasv

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_pasv — Edilgen kipi açıp kapar

Açıklama

ftp_pasv(FTP\Connection $ftp, bool $edilgen): bool

ftp_pasv() işlevi edilgen kipi açar ve kapar. Edilgen kipte veri bağlantıları sunucu tarafından değil istemci tarafından başlatılır. İstemci bir güvenlik duvarı arkasındaysa bu gerekli olabilir.

ftp_pasv() işlevini başarılı bir kullanıcı oturumu açma işleminden sonra kullanmalısınız yoksa başarısız olacaktır.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

edilgen

true belirtilirse edilgen kipe geçilir, false belirtilirse edilgen kipten çıkılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_pasv() örneği

<?php
$yerel = 'somefile.txt';
$uzak = 'readme.txt';

// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// Edilgen kipe geçelim
ftp_pasv($ftp, true);

// Karşıya bir dosya yükleyelim
if (ftp_put($ftp, $uzak, $yerel, FTP_ASCII)) {
echo "$yerel karşıya sorunsuzca yüklendi\n";
} else {
echo "$yerel karşıya yüklenirken bir sorun çıktı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>


FTP sunucusuna bir dosya yükler

  • « ftp_pasv
  • ftp_pwd »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusuna bir dosya yükler

ftp_put

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_put — FTP sunucusuna bir dosya yükler

Açıklama

ftp_put(
FTP\Connection $ftp,
string $uzak_dosya,
string $yerel_dosya,
int $kip = FTP_BINARY,
int $başlangıç = 0
): bool

Belirtilen yerel_dosya dosyasını FTP sunucusuna uzak_dosya olarak yükler.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

uzak_dosya

FTP sunucundaki dosya yolu.

yerel_dosya

Yerel dosya yolu.

kip

Aktarım kipi. FTP_ASCII veya FTP_BINARY olabilir.

başlangıç

Karşıya yüklemenin başlatılacağı uzak dosyadaki konum.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.
7.3.0 | kip seçimlik oldu. Evvelce zorunluydu.

Örnekler

Örnek 1 - ftp_put() örneği

<?php
$yerel = 'somefile.txt';
$uzak = 'readme.txt';

// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// karşıya bir dosya yükleyelim
if (ftp_put($ftp, $uzak, $yerel, FTP_ASCII)) {
echo "$yerel sorunsuzca karşıya yüklendi\n";
} else {
echo "$yerel karşıya yüklenirken bir sorun çıktı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_pasv() - Edilgen kipi açıp kapar
  • ftp_fput() - FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler
  • ftp_nb_fput() - FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
  • ftp_nb_put() - Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler


Çalışılan dizinin ismini döndürür

  • « ftp_put
  • ftp_quit »
  • PHP Manual
  • FTP İşlevleri
  • Çalışılan dizinin ismini döndürür

ftp_pwd

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_pwd — Çalışılan dizinin ismini döndürür

Açıklama

ftp_pwd(FTP\Connection $ftp): string|false

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

Dönen Değerler

Hata durumunda false yoksa çalışılan dizinin ismini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_pwd() örneği

<?php

// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// public_html dizinine geçelim
ftp_chdir($ftp, 'public_html');

// dizinin adını basalım
echo ftp_pwd($ftp); // /public_html

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_chdir() - FTP sunucusundaki çalışma dizinini değiştirir
  • ftp_cdup() - Üst dizine geçer


ftp_close işlevinin takma adıdır

  • « ftp_pwd
  • ftp_raw »
  • PHP Manual
  • FTP İşlevleri
  • ftp_close işlevinin takma adıdır

ftp_quit

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_quit — ftp_close() işlevinin takma adıdır

Açıklama

Bu işlev, ftp_close() işlevinin takma adıdır.


Bir FTP sunucusuna bir komut gönderir

  • « ftp_quit
  • ftp_rawlist »
  • PHP Manual
  • FTP İşlevleri
  • Bir FTP sunucusuna bir komut gönderir

ftp_raw

(PHP 5, PHP 7, PHP 8)

ftp_raw — Bir FTP sunucusuna bir komut gönderir

Açıklama

ftp_raw(FTP\Connection $ftp, string $komut): ?array

Bir FTP sunucusuna komut komutunu gönderir.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

komut

Çalıştırılacak komut.

Dönen Değerler

Sunucunun komuta yanıtını bir dizi içinde döndürür, başarısızlık durumunda null döner. Yanıt dizgelerine herhangi bir işlem yapılmaz ve işlev komutun başarılı olup olmadığıyla ilgilenmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - Bir FTP sunucusuna ftp_raw() kullanarak el yordamıyla oturum açmak

<?php
$ftp = ftp_connect("ftp.example.com");

/* Komut şu işlev ile aynı işi yapacak:
ftp_login($ftp, "birey", "parola"); */
ftp_raw($ftp, "USER birey");
ftp_raw($ftp, "PASS parola");
?>

Ayrıca Bakınız

  • ftp_exec() - FTP sunucusunda bir komut çalıştırma isteği yapar


Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür

  • « ftp_raw
  • ftp_rename »
  • PHP Manual
  • FTP İşlevleri
  • Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür

ftp_rawlist

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rawlist — Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür

Açıklama

ftp_rawlist(FTP\Connection $ftp, string $dizin, bool $ardışık = false): array|false

ftp_rawlist() işlevi FTP LIST komutunu çalıştırıp sonuçları bir dizi içinde döndürür.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

İçeriği listelenecek dizinin yolu. LIST için bağımsız değişkenler içerebilir.

ardışık

true belirtilirse LIST -R komutu çalıştırılır ve listeleme için alt dizinlere inilir.

Dönen Değerler

Elemanları komuta verilen yanıt metninin bir satırına karşılık gelen bir dizi döner. Belirtilen dizin geçersizse false döner.

Çıktı herhangi bir şekilde çözümlenmez. ftp_systype() işleviyle döndürülen sistem türü betimleyicisi sonuçların nasıl yorumlanacağına karar vermek için yararlı olabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_rawlist() örneği

<?php

// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// / için dosya listesini alalım
$buff = ftp_rawlist($ftp, '/');

// bağlantıyı kapatalım
ftp_close($ftp);

// tamponu çıktılayalım
var_dump($buff);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(65) "drwxr-x---   3 foo foo 4096 Jul 12 12:16 public_ftp"
  [1]=>
  string(66) "drwxr-x---  15 foo foo 4096 Nov  3 21:31 public_html"
  [2]=>
  string(73) "lrwxrwxrwx   1 foo foo   11 Jul 12 12:16 www -> public_html"
}

Ayrıca Bakınız

  • ftp_nlist() - Belirtilen dizindeki dosyaların listesini döndürür
  • ftp_mlsd() - Belirtilen dizindeki dosyaların bir listesini döndürür


FTP sunucusundaki bir dosya veya dizinin adını değiştirir

  • « ftp_rawlist
  • ftp_rmdir »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundaki bir dosya veya dizinin adını değiştirir

ftp_rename

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rename — FTP sunucusundaki bir dosya veya dizinin adını değiştirir

Açıklama

ftp_rename(FTP\Connection $ftp, string $eskisi, string $yenisi): bool

ftp_rename() işlevi, FTP sunucusundaki belirtilen dosya veya dizinin adını değiştirir.

Bağımsız Değişkenler

ftp_akımı

Bir FTP\Connection nesnesi.

eskisi

Eski dosya/dizin ismi.

yenisi

Yeni dosya/dizin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Başarısızlık durumunda (varolmayan bir dosyanın adını değiştirmeye çalışmak gibi) bir E_WARNING üretilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_rename() örneği

<?php
$eskisi = 'somefile.txt.bak';
$yenisi = 'somefile.txt';

// Temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// Dosya ismini $yenisi yapalım
if (ftp_rename($ftp, $eskisi, $yenisi)) {
echo "$eskisi dosyasının ismi $yenisi olarak değiştirildi\n";
} else {
echo "$eskisi dosyasını ismi $yenisi ile değiştirilirken bir sorun çıktı\n";
}

// bağlantıyı kapatalım
ftp_close($ftp);
?>


Bir dizini siler

  • « ftp_rename
  • ftp_set_option »
  • PHP Manual
  • FTP İşlevleri
  • Bir dizini siler

ftp_rmdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_rmdir — Bir dizini siler

Açıklama

ftp_rmdir(FTP\Connection $ftp, string $dizin): bool

Belirtilen dizin FTP sunucusundan silinir.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

dizin

Silinecek dizin. Mutlak bir yol olarak veya boş bir dizin için göreli bir yol olarak belirtilebilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_rmdir() örneği

<?php

$dir = 'www/';

// Temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $dir dizinini silmeye çalışalım
if (ftp_rmdir($ftp, $dir)) {
echo "$dir sorunsuz silindi\n";
} else {
echo "$dir silinirken bir sorun çıktı\n";
}

ftp_close($ftp);

?>

Ayrıca Bakınız

  • ftp_mkdir() - FTP sunucusunda bir dizin oluşturur


Çalışma anı seçeneklerini belirler

  • « ftp_rmdir
  • ftp_site »
  • PHP Manual
  • FTP İşlevleri
  • Çalışma anı seçeneklerini belirler

ftp_set_option

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ftp_set_option — Çalışma anı seçeneklerini belirler

Açıklama

ftp_set_option(FTP\Connection $ftp, int $seçenek, int|bool $değer): bool

Belirtilen FTP bağlantısı ile ilgili seçenekleri belirler.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

seçenek

Şimdilik desteklenen seçenekler:

Desteklenen çalışma anı FTP seçenekleri
FTP_TIMEOUT_SEC | Ağ ile ilgili işlevlerde kullanılan zaman aşımını değiştirir. değer sıfırdan büyük bir tamsayı olmalıdır. Öntanımlı zaman aşımı 90 saniyedir.
FTP_AUTOSEEK | Etkin olduğunda, devam_yeri veya başlama_yeri bağımsız değişkenli bir GET veya PUT isteğinde dosya içinde önce belirtilen konum aranır. Bu seçenek öntanımlı olarak etkindir.
FTP_USEPASVADDRESS | Etkin olmadığında, PASV komutuna yanıtta FTP sunucusu tarafından döndürülen IP adresi yok sayılır ve yerine ftp_connect() ile sağlanan IP adresi kullanılır. değer mantıksal bir değer olmalıdır.

değer

Bu bağımsız değişkenin değeri seçenekler bağımsız değişkenine göre değişir.

Dönen Değerler

Seçenek tanımlanabilmişse true yoksa false döner. Belirtilen seçenek desteklenmiyorsa veya belirtilen değer seçenek için uygun değilse bir uyarı verilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_set_option() örneği

<?php
// Ağ zaman aşımını 10 saniye yapalım
ftp_set_option($ftp, FTP_TIMEOUT_SEC, 10);
?>

Ayrıca Bakınız

  • ftp_get_option() - Bir çalışma anı seçeneğinin değerini döndürür


Sunucuya bir SITE komutu gönderir

  • « ftp_set_option
  • ftp_size »
  • PHP Manual
  • FTP İşlevleri
  • Sunucuya bir SITE komutu gönderir

ftp_site

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_site — Sunucuya bir SITE komutu gönderir

Açıklama

ftp_site(FTP\Connection $ftp, string $komut): bool

ftp_site() işlevi FTP sunucusuna belrtilen SITE komutunu gönderir.

SITE komutları standart değildir ve sunucudan sunucuya değişiklik gösterir. Dosya izinleri, sahip ve grubu gibi şeyleri öğrenmek için yararlıdır.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

komut

Bir SITE komutu. Bu bağımsız değişken öncelenmez. Dolayısıyla boşluk ve diğer karakterleri içeren dosya isimleri gibi şeyler sözkonusu olabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - Bir FTP sunucusuna bir SITE komutu göndermek

<?php
// FTP sunucusuna bağlanalım
$ftp = ftp_connect('ftp.example.com');
if (!$ftp) die('ftp.example.com ile bağlantı kurulamadı');

// kullanıcı adı ve parola ile oturum açalım
if (!ftp_login($ftp, 'user', 'pass')) die(
'ftp.example.com üzerinde oturum açılamadı');

// Komut: "SITE CHMOD 0600 /home/user/privatefile"
if (ftp_site($ftp, 'CHMOD 0600 /home/user/privatefile')) {
echo "Komut çalıştırma işlemi başarılı oldu.\n";
} else {
die('Komut çalıştırılamadı.');
}
?>

Ayrıca Bakınız

  • ftp_raw() - Bir FTP sunucusuna bir komut gönderir


FTP sunucusundaki bir dosyanın boyunu döndürür

  • « ftp_site
  • ftp_ssl_connect »
  • PHP Manual
  • FTP İşlevleri
  • FTP sunucusundaki bir dosyanın boyunu döndürür

ftp_size

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_size — FTP sunucusundaki bir dosyanın boyunu döndürür

Açıklama

ftp_size(FTP\Connection $ftp, string $uzak_dosya): int

ftp_size() işlevi uzak_dosya ile belirtilen dosyanın boyunu bayt cinsinden döndürür.

Bilginize:

Bazı sunucular bu özelliği desteklemez.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

uzak_dosya

Uzak dosya.

Dönen Değerler

Hata durumunda -1, yoksa dosyanın boyunu döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_size() örneği

<?php

$dosya = 'birdosya.txt';

// Temel bağlantıyı kuralım
$ftp = ftp_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// $dosya'nın uzunluğunu öğrenelim
$res = ftp_size($ftp, $dosya);

if ($res != -1) {
echo "$dosya $res baytlık";
} else {
echo "dosya uzunluğu bilinmiyor";
}

// bağlantıyı kapatalım
ftp_close($ftp);

?>

Ayrıca Bakınız

  • ftp_rawlist() - Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür


Güvenli bir SSL-FTP bağlantısı açar

  • « ftp_size
  • ftp_systype »
  • PHP Manual
  • FTP İşlevleri
  • Güvenli bir SSL-FTP bağlantısı açar

ftp_ssl_connect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

ftp_ssl_connect — Güvenli bir SSL-FTP bağlantısı açar

Açıklama

ftp_ssl_connect(string $adres, int $port = 21, int $zamanaşımı = 90): FTP\Connection|false

adres adresindeki sunucuya doğrudan bir SSL-FTP bağlantısı açar. Sunucu SSL-FTP için yapılandırılmamış veya sertifikası geçersiz olsa bile bu uygulanır. Yalnızca, ftp_login() çağrısında istemci uygun AUTH FTP komutunu gönderir, bu durumda ftp_login() başarısız olacaktır.

Bilginize: Bu işlev neden Windows'ta yok?

PHP 7.0.0'dan önce, ftp_ssl_connect() yalnızca hem ftp modülü hem de OpenSSL eklentisini PHP içinde statik olarak derlenmişse kullanılabilirdi; bu, Windows'ta bu işlevin resmi PHP derlemelerinde tanımsız olduğu anlamına gelir. Bu işlevi Windows'ta kullanabilmek için, PHP'yi kaynak paketinden kendiniz derlemeniz gerekirdi.

Bilginize:

ftp_ssl_connect() işlevi sFTP ile kullanmak için tasarlanmamıştır. PHP ile sFTP kullanmak için ssh2_sftp() işlevine bakınız.

Bağımsız Değişkenler

adres

FTP sunucusunun adresi. Bu dizgenin bir bölü çizgisi ile bitirilmemesi ve ftp:// ile öncelenmemesi gerekir.

port

Bu bağımsız değişken normal portun dışında bir port belirtmek için kullanılır. Verilmezse veya 0 belirtilirse öntanımlı FTP portu olan 21 kullanılır.

zamanaşımı

Bu bağımsız değişkende her türlü ağ işlemi için zaman aşımı belirtilir. Belirtilmezse 90 saniye öntanımlı değerdir. Bu zaman aşımını istediğiniz zaman ftp_set_option() ile değiştirebilir ve ftp_get_option() ile sorgulayabilirsiniz.

Dönen Değerler

Başarı durumunda FTP\Connection nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Başarı durumunda artık FTP\Connection nesnesi dönüyor, evvelce bir özkaynak dönerdi.

Örnekler

Örnek 1 - ftp_ssl_connect() örneği

<?php

// Temel SSL bağlantısını kuralım
$ftp = ftp_ssl_connect($ftp_server);

// kullanıcı adı ve parola ile oturum açalım
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

if (!$login_result) {
// PHP bu durumda daima bir E_WARNING üretir
die("Oturum açılamıyor");
}

echo ftp_pwd($ftp); // /

// bağlantıyı kapatalım
ftp_close($ftp);
?>

Ayrıca Bakınız

  • ftp_connect() - Bir FTP bağlantısı açar


Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür

  • « ftp_ssl_connect
  • FTP\Connection »
  • PHP Manual
  • FTP İşlevleri
  • Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür

ftp_systype

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_systype — Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür

Açıklama

ftp_systype(FTP\Connection $ftp): string|false

Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür.

Bağımsız Değişkenler

ftp

Bir FTP\Connection nesnesi.

Dönen Değerler

Hata durumunda false yoksa uzar sistemin türünü döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ftp bağımsız değişkeni artık FTP\Connection nesnesi kabul ediyor; evvelce ftp özkaynağı kabul ediyordu.

Örnekler

Örnek 1 - ftp_systype() örneği

<?php

// ftp bağlantısı
$ftp = ftp_connect('ftp.example.com');
ftp_login($ftp, 'user', 'password');

// sistem türünü öğrenelim
if ($type = ftp_systype($ftp)) {
echo "Example.com $type takviyelidir.\n";
} else {
echo "Sistem türü bulunumadı";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Example.com UNIX takviyelidir.


FTP\Connection sınıfı

(PHP 8 >= 8.1.0)

Giriş

PHP 8.1.0 itibariyle ftp özkaynağının yerini alan tamamen donuk sınıf.

Sınıf Sözdizimi

final class FTP\Connection {
}


Gearman

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
    • Basic Gearman client and worker, background
    • Basic Gearman client and worker, submitting tasks
  • GearmanClient — The GearmanClient class
    • GearmanClient::addOptions — Add client options
    • GearmanClient::addServer — Add a job server to the client
    • GearmanClient::addServers — Add a list of job servers to the client
    • GearmanClient::addTask — Add a task to be run in parallel
    • GearmanClient::addTaskBackground — Add a background task to be run in parallel
    • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow — Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus — Add a task to get status
    • GearmanClient::clearCallbacks — Clear all task callback functions
    • GearmanClient::clone — Create a copy of a GearmanClient object
    • GearmanClient::__construct — Create a GearmanClient instance
    • GearmanClient::context — Get the application context
    • GearmanClient::data — Get the application data (deprecated)
    • GearmanClient::do — Run a single task and return a result [deprecated]
    • GearmanClient::doBackground — Run a task in the background
    • GearmanClient::doHigh — Run a single high priority task
    • GearmanClient::doHighBackground — Run a high priority task in the background
    • GearmanClient::doJobHandle — Get the job handle for the running task
    • GearmanClient::doLow — Run a single low priority task
    • GearmanClient::doLowBackground — Run a low priority task in the background
    • GearmanClient::doNormal — Run a single task and return a result
    • GearmanClient::doStatus — Get the status for the running task
    • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error — Returns an error string for the last error encountered
    • GearmanClient::getErrno — Get an errno value
    • GearmanClient::jobStatus — Get the status of a background job
    • GearmanClient::ping — Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions — Remove client options
    • GearmanClient::returnCode — Get the last Gearman return code
    • GearmanClient::runTasks — Run a list of tasks in parallel
    • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback — Set a function to be called on task completion
    • GearmanClient::setContext — Set application context
    • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
    • GearmanClient::setData — Set application data (deprecated)
    • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
    • GearmanClient::setFailCallback — Set callback for job failure
    • GearmanClient::setOptions — Set client options
    • GearmanClient::setStatusCallback — Set a callback for collecting task status
    • GearmanClient::setTimeout — Set socket I/O activity timeout
    • GearmanClient::setWarningCallback — Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
    • GearmanClient::timeout — Get current socket I/O activity timeout value
    • GearmanClient::wait — Wait for I/O activity on all connections in a client
  • GearmanJob — The GearmanJob class
    • GearmanJob::complete — Send the result and complete status (deprecated)
    • GearmanJob::__construct — Create a GearmanJob instance
    • GearmanJob::data — Send data for a running job (deprecated)
    • GearmanJob::exception — Send exception for running job (deprecated)
    • GearmanJob::fail — Send fail status (deprecated)
    • GearmanJob::functionName — Get function name
    • GearmanJob::handle — Get the job handle
    • GearmanJob::returnCode — Get last return code
    • GearmanJob::sendComplete — Send the result and complete status
    • GearmanJob::sendData — Send data for a running job
    • GearmanJob::sendException — Send exception for running job (exception)
    • GearmanJob::sendFail — Send fail status
    • GearmanJob::sendStatus — Send status
    • GearmanJob::sendWarning — Send a warning
    • GearmanJob::setReturn — Set a return value
    • GearmanJob::status — Send status (deprecated)
    • GearmanJob::unique — Get the unique identifier
    • GearmanJob::warning — Send a warning (deprecated)
    • GearmanJob::workload — Get workload
    • GearmanJob::workloadSize — Get size of work load
  • GearmanTask — The GearmanTask class
    • GearmanTask::__construct — Create a GearmanTask instance
    • GearmanTask::create — Create a task (deprecated)
    • GearmanTask::data — Get data returned for a task
    • GearmanTask::dataSize — Get the size of returned data
    • GearmanTask::function — Get associated function name (deprecated)
    • GearmanTask::functionName — Get associated function name
    • GearmanTask::isKnown — Determine if task is known
    • GearmanTask::isRunning — Test whether the task is currently running
    • GearmanTask::jobHandle — Get the job handle
    • GearmanTask::recvData — Read work or result data into a buffer for a task
    • GearmanTask::returnCode — Get the last return code
    • GearmanTask::sendData — Send data for a task (deprecated)
    • GearmanTask::sendWorkload — Send data for a task
    • GearmanTask::taskDenominator — Get completion percentage denominator
    • GearmanTask::taskNumerator — Get completion percentage numerator
    • GearmanTask::unique — Get the unique identifier for a task
    • GearmanTask::uuid — Get the unique identifier for a task (deprecated)
  • GearmanWorker — The GearmanWorker class
    • GearmanWorker::addFunction — Register and add callback function
    • GearmanWorker::addOptions — Add worker options
    • GearmanWorker::addServer — Add a job server
    • GearmanWorker::addServers — Add job servers
    • GearmanWorker::clone — Create a copy of the worker
    • GearmanWorker::__construct — Create a GearmanWorker instance
    • GearmanWorker::echo — Test job server response
    • GearmanWorker::error — Get the last error encountered
    • GearmanWorker::getErrno — Get errno
    • GearmanWorker::options — Get worker options
    • GearmanWorker::register — Register a function with the job server
    • GearmanWorker::removeOptions — Remove worker options
    • GearmanWorker::returnCode — Get last Gearman return code
    • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
    • GearmanWorker::setOptions — Set worker options
    • GearmanWorker::setTimeout — Set socket I/O activity timeout
    • GearmanWorker::timeout — Get socket I/O activity timeout
    • GearmanWorker::unregister — Unregister a function name with the job servers
    • GearmanWorker::unregisterAll — Unregister all function names with the job servers
    • GearmanWorker::wait — Wait for activity from one of the job servers
    • GearmanWorker::work — Wait for and perform jobs
  • GearmanException — The GearmanException class


Giriş

» Gearman is a generic application framework for farming out work to multiple machines or processes. It allows applications to complete tasks in parallel, to load balance processing, and to call functions between languages. The framework can be used in a variety of applications, from high-availability web sites to the transport of database replication events.

This extension provides classes for writing Gearman clients and workers.


Gereksinimler

This extension requires the » libgearman, » libevent and » uuid libraries, and a running Gearman server.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/gearman


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Return values. Always check GearmanClient::error() or GearmanWorker() for a string error, as it may contain more details:

GEARMAN_SUCCESS (int)
Whatever action was taken was successful.
GEARMAN_IO_WAIT (int)
When in non-blocking mode, an event is hit that would have blocked.
GEARMAN_ERRNO (int)
A system error. Check GearmanClient::errno() or GearmanWorker::errno() for the system error code that was returned.
GEARMAN_NO_ACTIVE_FDS (int)
GearmanClient::wait() or GearmanWorker() was called with no connections.
GEARMAN_UNEXPECTED_PACKET (int)
Indicates something going very wrong in gearmand. Applies only to GearmanWorker.
GEARMAN_GETADDRINFO (int)
DNS resolution failed (invalid host, port, etc).
GEARMAN_NO_SERVERS (int)
Did not call GearmanClient::addServer() before submitting jobs or tasks.
GEARMAN_LOST_CONNECTION (int)
Lost a connection during a request.
GEARMAN_MEMORY_ALLOCATION_FAILURE (int)
Memory allocation failed (ran out of memory).
GEARMAN_SERVER_ERROR (int)
Something went wrong in the Gearman server and it could not handle the request gracefully.
GEARMAN_WORK_DATA (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the client with data from a running job. A worker uses this when it needs to send updates, send partial results, or flush data during long running jobs.
GEARMAN_WORK_WARNING (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Updates the client with a warning. The behavior is just like GEARMAN_WORK_DATA, but should be treated as a warning instead of normal response data.
GEARMAN_WORK_STATUS (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Sent to update the status of a long running job. Use GearmanClient::doStatus() to obtain the percentage complete of the task.
GEARMAN_WORK_EXCEPTION (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that a job failed with a given exception.
GEARMAN_WORK_FAIL (int)
Notice return code obtained with GearmanClient::returnCode() when using GearmanClient::do(). Indicates that the job failed.
GEARMAN_COULD_NOT_CONNECT (int)
Failed to connect to servers.
GEARMAN_INVALID_FUNCTION_NAME (int)
Trying to register a function name of NULL or using the callback interface without specifying callbacks.
GEARMAN_INVALID_WORKER_FUNCTION (int)
Trying to register a function with a NULL callback function.
GEARMAN_NO_REGISTERED_FUNCTIONS (int)
When a worker gets a job for a function it did not register.
GEARMAN_NO_JOBS (int)
For a non-blocking worker, when GearmanWorker::work() does not have any active jobs.
GEARMAN_ECHO_DATA_CORRUPTION (int)
After GearmanClient::echo() or GearmanWorker::echo() the data returned doesn't match the data sent.
GEARMAN_NEED_WORKLOAD_FN (int)
When the client opted to stream the workload of a task, but did not specify a workload callback function.
GEARMAN_PAUSE (int)
For the non-blocking client task interface, can be returned from the task callback to "pause" the call and return from GearmanClient::runTasks(). Call GearmanClient::runTasks() again to continue.
GEARMAN_UNKNOWN_STATE (int)
Internal client/worker state error.
GEARMAN_SEND_BUFFER_TOO_SMALL (int)
Internal error: trying to flush more data in one atomic chunk than is possible due to hard-coded buffer sizes.
GEARMAN_TIMEOUT (int)
Hit the timeout limit set by the client/worker.

GearmanClient options:

GEARMAN_CLIENT_GENERATE_UNIQUE (int)
Generate a unique id (UUID) for each task.
GEARMAN_CLIENT_NON_BLOCKING (int)
Run the cient in a non-blocking mode.
GEARMAN_CLIENT_UNBUFFERED_RESULT (int)
Allow the client to read data in chunks rather than have the library buffer the entire data result and pass that back.
GEARMAN_CLIENT_FREE_TASKS (int)
Automatically free task objects once they are complete. This is the default setting in this extension to prevent memory leaks.

GearmanWorker options:

GEARMAN_WORKER_NON_BLOCKING (int)
Run the worker in non-blocking mode.
GEARMAN_WORKER_GRAB_UNIQ (int)
Return the client assigned unique ID in addition to the job handle.

Base Gearman configuration:

GEARMAN_DEFAULT_TCP_HOST (string)
GEARMAN_DEFAULT_TCP_PORT (int)
GEARMAN_DEFAULT_SOCKET_TIMEOUT (int)
GEARMAN_DEFAULT_SOCKET_SEND_SIZE (int)
GEARMAN_DEFAULT_SOCKET_RECV_SIZE (int)
GEARMAN_MAX_ERROR_SIZE (int)
GEARMAN_PACKET_HEADER_SIZE (int)
GEARMAN_JOB_HANDLE_SIZE (int)
GEARMAN_OPTION_SIZE (int)
GEARMAN_UNIQUE_SIZE (int)
GEARMAN_MAX_COMMAND_ARGS (int)
GEARMAN_ARGS_BUFFER_SIZE (int)
GEARMAN_SEND_BUFFER_SIZE (int)
GEARMAN_RECV_BUFFER_SIZE (int)
GEARMAN_WORKER_WAIT_TIMEOUT (int)


Örnekler

İçindekiler

  • Basic usage
  • Basic Gearman client and worker, background
  • Basic Gearman client and worker, submitting tasks


Basic usage

Örnek 1 Basic Gearman client and worker

This example shows a very simple client and worker. The client sends a string to the job server, and the worker reverses the string and sends it back. The job is performed synchronously.

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
$result = $gmclient->doNormal("reverse", "Hello!");

# Check for various return packets and errors.
switch($gmclient->returnCode())
{
case GEARMAN_WORK_DATA:
echo "Data: $result\n";
break;
case GEARMAN_WORK_STATUS:
list($numerator, $denominator)= $gmclient->doStatus();
echo "Status: $numerator/$denominator complete\n";
break;
case GEARMAN_WORK_FAIL:
echo "Failed\n";
exit;
case GEARMAN_SUCCESS:
echo "Success: $result\n";
break;
default:
echo "RET: " . $gmclient->returnCode() . "\n";
exit;
}
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
$job->sendStatus($x, $workload_size);
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
return strrev($job->workload());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:36
Workload: Hello! (6)
Sending status: 1/6 complete
Sending status: 2/6 complete
Sending status: 3/6 complete
Sending status: 4/6 complete
Sending status: 5/6 complete
Sending status: 6/6 complete
Result: !olleH

% php reverse_client.php
Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH


Basic Gearman client and worker, background

Örnek 1 Basic Gearman client and worker, background

This example shows a very simple client and worker. The client sends a string to the job server as a background job, and the worker reverses the string. Note that since the work is performed asynchronously, the client does not wait for the job to complete and exits (and hence the client never receives the results).

<?php

# create our client object
$gmclient= new GearmanClient();

# add the default server (localhost)
$gmclient->addServer();

# run reverse client in the background
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
echo "bad return code\n";
exit;
}

echo "done!\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
$job->sendStatus($x, $workload_size);
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
return strrev($job->workload());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:41
Workload: this is a test (14)
1/14 complete
2/14 complete
3/14 complete
4/14 complete
5/14 complete
6/14 complete
7/14 complete
8/14 complete
9/14 complete
10/14 complete
11/14 complete
12/14 complete
13/14 complete
14/14 complete
Result: tset a si siht

% php reverse_client_bg.php
done!


Basic Gearman client and worker, submitting tasks

Örnek 1 Basic Gearman client and worker, submitting tasks

In this example, the basic reverse client extended to run two tasks in parallel. The reverse worker is unchanged except to add sending of data back during processing.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default server (localhost)
$gmc->addServer();

# register some callbacks
$gmc->setCreatedCallback("reverse_created");
$gmc->setDataCallback("reverse_data");
$gmc->setStatusCallback("reverse_status");
$gmc->setCompleteCallback("reverse_complete");
$gmc->setFailCallback("reverse_fail");

# set some arbitrary application data
$data['foo'] = 'bar';

# add two tasks
$task= $gmc->addTask("reverse", "foo", $data);
$task2= $gmc->addTaskLow("reverse", "bar", NULL);

# run the tasks in parallel (assuming multiple workers)
if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}

echo "DONE\n";

function reverse_created($task)
{
echo "CREATED: " . $task->jobHandle() . "\n";
}

function reverse_status($task)
{
echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() .
"/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
echo "COMPLETE: " . $task->jobHandle() . ", " . $task->data() . "\n";
}

function reverse_fail($task)
{
echo "FAILED: " . $task->jobHandle() . "\n";
}

function reverse_data($task)
{
echo "DATA: " . $task->data() . "\n";
}

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
$job->sendStatus($x+1, $workload_size);
$job->sendData(substr($workload, $x, 1));
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

# A much simpler and less verbose version of the above function would be:
function reverse_fn_fast($job)
{
return strrev($job->workload());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

% php reverse_worker.php
Starting
Waiting for job...
Received job: H:foo.local:45
Workload: foo (3)
1/3 complete
2/3 complete
3/3 complete
Result: oof
Received job: H:foo.local:44
Workload: bar (3)
1/3 complete
2/3 complete
3/3 complete
Result: rab

% php reverse_client_task.php
CREATED: H:foo.local:44
CREATED: H:foo.local:45
STATUS: H:foo.local:45 - 1/3
DATA: f
STATUS: H:foo.local:45 - 2/3
DATA: o
STATUS: H:foo.local:45 - 3/3
DATA: o
COMPLETE: H:foo.local:45, oof
STATUS: H:foo.local:44 - 1/3
DATA: b
STATUS: H:foo.local:44 - 2/3
DATA: a
STATUS: H:foo.local:44 - 3/3
DATA: r
COMPLETE: H:foo.local:44, rab
DONE


The GearmanClient class

(PECL gearman >= 0.5.0)

Giriş

Represents a class for connecting to a Gearman job server and making requests to perform some function on provided data. The function performed must be one registered by a Gearman worker and the data passed is opaque to the job server.

Sınıf Sözdizimi

class GearmanClient {
/* Yöntemler */
public __construct()
public addOptions(int $option): bool
public addServer(string $host = null, int $port = 0, bool $setupExceptionHandler = true): bool
public addServers(string $servers = null, bool $setupExceptionHandler = true): bool
public addTask(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskHigh(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskHighBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskLow(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskLowBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false
public addTaskStatus(string $job_handle, mixed $context = null): GearmanTask|false
public clearCallbacks(): bool
public context(): string
public doBackground(string $function, string $workload, ?string $unique = null): string
public doHigh(string $function, string $workload, ?string $unique = null): string
public doHighBackground(string $function, string $workload, ?string $unique = null): string
public doJobHandle(): string
public doLow(string $function, string $workload, ?string $unique = null): string
public doLowBackground(string $function, string $workload, ?string $unique = null): string
public doNormal(string $function, string $workload, ?string $unique = null): string
public doStatus(): array
public error(): string|false
public getErrno(): int
public jobStatus(string $job_handle): array
public ping(string $workload): bool
public removeOptions(int $option): bool
public returnCode(): int
public runTasks(): bool
public setCompleteCallback(callable $function): bool
public setContext(string $data): bool
public setCreatedCallback(callable $function): bool
public setDataCallback(callable $function): bool
public setExceptionCallback(callable $function): bool
public setFailCallback(callable $function): bool
public setOptions(int $option): bool
public setStatusCallback(callable $function): bool
public setTimeout(int $timeout): bool
public setWarningCallback(callable $function): bool
public setWorkloadCallback(callable $function): bool
public timeout(): int
public wait(): bool
}

İçindekiler

  • GearmanClient::addOptions — Add client options
  • GearmanClient::addServer — Add a job server to the client
  • GearmanClient::addServers — Add a list of job servers to the client
  • GearmanClient::addTask — Add a task to be run in parallel
  • GearmanClient::addTaskBackground — Add a background task to be run in parallel
  • GearmanClient::addTaskHigh — Add a high priority task to run in parallel
  • GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLow — Add a low priority task to run in parallel
  • GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel
  • GearmanClient::addTaskStatus — Add a task to get status
  • GearmanClient::clearCallbacks — Clear all task callback functions
  • GearmanClient::clone — Create a copy of a GearmanClient object
  • GearmanClient::__construct — Create a GearmanClient instance
  • GearmanClient::context — Get the application context
  • GearmanClient::data — Get the application data (deprecated)
  • GearmanClient::do — Run a single task and return a result [deprecated]
  • GearmanClient::doBackground — Run a task in the background
  • GearmanClient::doHigh — Run a single high priority task
  • GearmanClient::doHighBackground — Run a high priority task in the background
  • GearmanClient::doJobHandle — Get the job handle for the running task
  • GearmanClient::doLow — Run a single low priority task
  • GearmanClient::doLowBackground — Run a low priority task in the background
  • GearmanClient::doNormal — Run a single task and return a result
  • GearmanClient::doStatus — Get the status for the running task
  • GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]
  • GearmanClient::error — Returns an error string for the last error encountered
  • GearmanClient::getErrno — Get an errno value
  • GearmanClient::jobStatus — Get the status of a background job
  • GearmanClient::ping — Send data to all job servers to see if they echo it back
  • GearmanClient::removeOptions — Remove client options
  • GearmanClient::returnCode — Get the last Gearman return code
  • GearmanClient::runTasks — Run a list of tasks in parallel
  • GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)
  • GearmanClient::setCompleteCallback — Set a function to be called on task completion
  • GearmanClient::setContext — Set application context
  • GearmanClient::setCreatedCallback — Set a callback for when a task is queued
  • GearmanClient::setData — Set application data (deprecated)
  • GearmanClient::setDataCallback — Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback — Set a callback for worker exceptions
  • GearmanClient::setFailCallback — Set callback for job failure
  • GearmanClient::setOptions — Set client options
  • GearmanClient::setStatusCallback — Set a callback for collecting task status
  • GearmanClient::setTimeout — Set socket I/O activity timeout
  • GearmanClient::setWarningCallback — Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates
  • GearmanClient::timeout — Get current socket I/O activity timeout value
  • GearmanClient::wait — Wait for I/O activity on all connections in a client


Add client options

  • « GearmanClient
  • GearmanClient::addServer »
  • PHP Manual
  • GearmanClient
  • Add client options

GearmanClient::addOptions

(PECL gearman >= 0.6.0)

GearmanClient::addOptions — Add client options

Açıklama

public GearmanClient::addOptions(int $option): bool

Adds one or more options to those already set.

Bağımsız Değişkenler

option

The options to add. One of the following constants, or a combination of them using the bitwise OR operator (|): GEARMAN_CLIENT_GENERATE_UNIQUE, GEARMAN_CLIENT_NON_BLOCKING, GEARMAN_CLIENT_UNBUFFERED_RESULT or GEARMAN_CLIENT_FREE_TASKS.

Dönen Değerler

Always returns true.


Add a job server to the client

  • « GearmanClient::addOptions
  • GearmanClient::addServers »
  • PHP Manual
  • GearmanClient
  • Add a job server to the client

GearmanClient::addServer

(PECL gearman >= 0.5.0)

GearmanClient::addServer — Add a job server to the client

Açıklama

public GearmanClient::addServer(string $host = null, int $port = 0, bool $setupExceptionHandler = true): bool

Adds a job server to a list of servers that can be used to run a task. No socket I/O happens here; the server is simply added to the list.

Bağımsız Değişkenler

host

İş sunucusu konak adı.

port

İş sunucusu portu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Adding two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add two job servers, the first on the default 4730 port
$gmclient->addServer("10.0.0.1");
$gmclient->addServer("10.0.0.2", 7003);

?>

Ayrıca Bakınız

  • GearmanClient::addServers() - Add a list of job servers to the client


Add a list of job servers to the client

  • « GearmanClient::addServer
  • GearmanClient::addTask »
  • PHP Manual
  • GearmanClient
  • Add a list of job servers to the client

GearmanClient::addServers

(PECL gearman >= 0.5.0)

GearmanClient::addServers — Add a list of job servers to the client

Açıklama

public GearmanClient::addServers(string $servers = null, bool $setupExceptionHandler = true): bool

Adds a list of job servers that can be used to run a task. No socket I/O happens here; the servers are simply added to the full list of servers.

Bağımsız Değişkenler

servers

A comma-separated list of servers, each server specified in the format 'host:port'.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Add two job servers

<?php

# Create our client object.
$gmclient= new GearmanClient();

# Add multiple job servers, the first on the default 4730 port
$gmclient->addServers("10.0.0.1,10.0.0.2:7003");

?>

Ayrıca Bakınız

  • GearmanClient::addServer() - Add a job server to the client


Add a task to be run in parallel

  • « GearmanClient::addServers
  • GearmanClient::addTaskBackground »
  • PHP Manual
  • GearmanClient
  • Add a task to be run in parallel

GearmanClient::addTask

(PECL gearman >= 0.5.0)

GearmanClient::addTask — Add a task to be run in parallel

Açıklama

public GearmanClient::addTask(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Note that enough workers need to be available for the tasks to all run in parallel.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Örnekler

Örnek 1 Basic submission of two tasks

<?php

# Create our gearman client
$gmclient= new GearmanClient();

# add the default job server
$gmclient->addServer();

# set a function to be called when the work is complete
$gmclient->setCompleteCallback("complete");

# add a task to perform the "reverse" function on the string "Hello World!"
$gmclient->addTask("reverse", "Hello World!", null, "1");

# add another task to perform the "reverse" function on the string "!dlroW olleH"
$gmclient->addTask("reverse", "!dlroW olleH", null, "2");

# run the tasks
$gmclient->runTasks();

function complete($task)
{
print "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

COMPLETE: 2, Hello World!
COMPLETE: 1, !dlroW olleH

Örnek 2 Basic submission of two tasks with passing application context

<?php

$client = new GearmanClient();
$client->addServer();

# set a function to be called when the work is complete
$client->setCompleteCallback("reverse_complete");

# Add some tasks for a placeholder of where to put the results
$results = array();
$client->addTask("reverse", "Hello World!", $results, "t1");
$client->addTask("reverse", "!dlroW olleH", $results, "t2");

$client->runTasks();

# The results should now be filled in from the callbacks
foreach ($results as $id => $result)
echo $id . ": " . $result['handle'] . ", " . $result['data'] . "\n";

function reverse_complete($task, $results)
{
$results[$task->unique()] = array("handle"=>$task->jobHandle(), "data"=>$task->data());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

t2: H.foo:21, Hello World!
t1: H:foo:22, !dlroW olleH

Ayrıca Bakınız

  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a background task to be run in parallel

  • « GearmanClient::addTask
  • GearmanClient::addTaskHigh »
  • PHP Manual
  • GearmanClient
  • Add a background task to be run in parallel

GearmanClient::addTaskBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskBackground — Add a background task to be run in parallel

Açıklama

public GearmanClient::addTaskBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Örnekler

Örnek 1 Two tasks, one background and one not

This example illustrates the difference between running a background task and a normal task. The client adds two tasks to execute the same function, but one is added with addTaskBackground(). A callback is set so that progress of the job can be tracked. A simple worker with an artificial delay reports on the job progress and the client picks this up through the callback. Two workers are run for this example. Note that the background task does not show in the client output.

<?php

# The client script

# create our gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set a couple of callbacks so we can track progress
$gmc->setCompleteCallback("reverse_complete");
$gmc->setStatusCallback("reverse_status");

# add a task for the "reverse" function
$task= $gmc->addTask("reverse", "Hello World!", null, "1");

# add another task, but this one to run in the background
$task= $gmc->addTaskBackground("reverse", "!dlroW olleH", null, "2");

if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}

echo "DONE\n";

function reverse_status($task)
{
echo "STATUS: " . $task->unique() . ", " . $task->jobHandle() . " - " . $task->taskNumerator() .
"/" . $task->taskDenominator() . "\n";
}

function reverse_complete($task)
{
echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>
<?php

# The worker script

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " . ($x + 1) . "/$workload_size complete\n";
$job->sendStatus($x+1, $workload_size);
$job->sendData(substr($workload, $x, 1));
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

?>

Worker output for two workers running:

Received job: H:foo.local:65
Workload: !dlroW olleH (12)
1/12 complete
Received job: H:foo.local:66
Workload: Hello World! (12)
Sending status: 1/12 complete
Sending status: 2/12 complete
Sending status: 2/12 complete
Sending status: 3/12 complete
Sending status: 3/12 complete
Sending status: 4/12 complete
Sending status: 4/12 complete
Sending status: 5/12 complete
Sending status: 5/12 complete
Sending status: 6/12 complete
Sending status: 6/12 complete
Sending status: 7/12 complete
Sending status: 7/12 complete
Sending status: 8/12 complete
Sending status: 8/12 complete
Sending status: 9/12 complete
Sending status: 9/12 complete
Sending status: 10/12 complete
Sending status: 10/12 complete
Sending status: 11/12 complete
Sending status: 11/12 complete
Sending status: 12/12 complete
Sending status: 12/12 complete
Result: !dlroW olleH
Result: Hello World!

Client output:

STATUS: 1, H:foo.local:66 - 1/12
STATUS: 1, H:foo.local:66 - 2/12
STATUS: 1, H:foo.local:66 - 3/12
STATUS: 1, H:foo.local:66 - 4/12
STATUS: 1, H:foo.local:66 - 5/12
STATUS: 1, H:foo.local:66 - 6/12
STATUS: 1, H:foo.local:66 - 7/12
STATUS: 1, H:foo.local:66 - 8/12
STATUS: 1, H:foo.local:66 - 9/12
STATUS: 1, H:foo.local:66 - 10/12
STATUS: 1, H:foo.local:66 - 11/12
STATUS: 1, H:foo.local:66 - 12/12
COMPLETE: 1, !dlroW olleH
DONE

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a high priority task to run in parallel

  • « GearmanClient::addTaskBackground
  • GearmanClient::addTaskHighBackground »
  • PHP Manual
  • GearmanClient
  • Add a high priority task to run in parallel

GearmanClient::addTaskHigh

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHigh — Add a high priority task to run in parallel

Açıklama

public GearmanClient::addTaskHigh(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a high priority task to be run in parallel with other tasks. Call this method for all the high priority tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Örnekler

Örnek 1 A high priority task along with two normal tasks

A high priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the high priority task run first.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is high priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskHigh("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}
echo "DONE\n";

function reverse_complete($task)
{
echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

COMPLETE: 2, Hello World!
COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
DONE

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a high priority background task to be run in parallel

  • « GearmanClient::addTaskHigh
  • GearmanClient::addTaskLow »
  • PHP Manual
  • GearmanClient
  • Add a high priority background task to be run in parallel

GearmanClient::addTaskHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskHighBackground — Add a high priority background task to be run in parallel

Açıklama

public GearmanClient::addTaskHighBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a high priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a high priority will be selected from the queue before those of normal or low priority.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a low priority task to run in parallel

  • « GearmanClient::addTaskHighBackground
  • GearmanClient::addTaskLowBackground »
  • PHP Manual
  • GearmanClient
  • Add a low priority task to run in parallel

GearmanClient::addTaskLow

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLow — Add a low priority task to run in parallel

Açıklama

public GearmanClient::addTaskLow(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or low priority.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Örnekler

Örnek 1 A low priority task along with two normal tasks

A low priority task is included among two other tasks. A single worker is available, so that tasks are run one at a time, with the low priority task run last.

<?php

# create the gearman client
$gmc= new GearmanClient();

# add the default job server
$gmc->addServer();

# set the callback for when the job is complete
$gmc->setCompleteCallback("reverse_complete");

# add tasks, one of which is low priority
$task= $gmc->addTask("reverse", "Hello World!", null, "1");
$task= $gmc->addTaskLow("reverse", "!dlroW olleH", null, "2");
$task= $gmc->addTask("reverse", "Hello World!", null, "3");

if (! $gmc->runTasks())
{
echo "ERROR " . $gmc->error() . "\n";
exit;
}
echo "DONE\n";

function reverse_complete($task)
{
echo "COMPLETE: " . $task->unique() . ", " . $task->data() . "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

COMPLETE: 3, !dlroW olleH
COMPLETE: 1, !dlroW olleH
COMPLETE: 2, Hello World!
DONE

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::addTaskLowBackground() - Add a low priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a low priority background task to be run in parallel

  • « GearmanClient::addTaskLow
  • GearmanClient::addTaskStatus »
  • PHP Manual
  • GearmanClient
  • Add a low priority background task to be run in parallel

GearmanClient::addTaskLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::addTaskLowBackground — Add a low priority background task to be run in parallel

Açıklama

public GearmanClient::addTaskLowBackground(
string $function_name,
string|int|float $workload,
mixed $context = null,
?string $unique_key = null
): GearmanTask|false

Adds a low priority background task to be run in parallel with other tasks. Call this method for all the tasks to be run in parallel, then call GearmanClient::runTasks() to perform the work. Tasks with a low priority will be selected from the queue after those of normal or high priority.

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

context

Bir görevle ilişkilendirilecek uygulama bağlamı

unique_key

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A GearmanTask object or false if the task could not be added.

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel
  • GearmanClient::addTaskHigh() - Add a high priority task to run in parallel
  • GearmanClient::addTaskLow() - Add a low priority task to run in parallel
  • GearmanClient::addTaskBackground() - Add a background task to be run in parallel
  • GearmanClient::addTaskHighBackground() - Add a high priority background task to be run in parallel
  • GearmanClient::runTasks() - Run a list of tasks in parallel


Add a task to get status

  • « GearmanClient::addTaskLowBackground
  • GearmanClient::clearCallbacks »
  • PHP Manual
  • GearmanClient
  • Add a task to get status

GearmanClient::addTaskStatus

(PECL gearman >= 0.5.0)

GearmanClient::addTaskStatus — Add a task to get status

Açıklama

public GearmanClient::addTaskStatus(string $job_handle, mixed $context = null): GearmanTask|false

Used to request status information from the Gearman server, which will call the specified status callback (set using GearmanClient::setStatusCallback()).

Bağımsız Değişkenler

job_handle

The job handle for the task to get status for

context

Data to be passed to the status callback, generally a reference to an array or object

Dönen Değerler

A GearmanTask object or false on failure.

Örnekler

Örnek 1 Monitor completion of multiple background tasks

An artificial delay is introduced in the worker in this example to simulate a long running process. There is only one worker running for this example.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* start some background jobs and save the handles */
$handles = array();
$handles[0] = $gmclient->doBackground("reverse", "Hello World!");
$handles[1] = $gmclient->doBackground("reverse", "!dlroW olleH");

$gmclient->setStatusCallback("reverse_status");

/* Poll the server to see when those background jobs finish; */
/* a better method would be to use event callbacks */
do
{
/* Use the context variable to track how many tasks have completed */
$done = 0;
$gmclient->addTaskStatus($handles[0], &$done);
$gmclient->addTaskStatus($handles[1], &$done);
$gmclient->runTasks();
echo "Done: $done\n";
sleep(1);
}
while ($done != 2);

function reverse_status($task, $done)
{
if (!$task->isKnown())
$done++;
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 0
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 1
Done: 2

Ayrıca Bakınız

  • GearmanClient::setStatusCallback() - Set a callback for collecting task status


Clear all task callback functions

  • « GearmanClient::addTaskStatus
  • GearmanClient::clone »
  • PHP Manual
  • GearmanClient
  • Clear all task callback functions

GearmanClient::clearCallbacks

(PECL gearman >= 0.5.0)

GearmanClient::clearCallbacks — Clear all task callback functions

Açıklama

public GearmanClient::clearCallbacks(): bool

Clears all the task callback functions that have previously been set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Always returns true.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Create a copy of a GearmanClient object

  • « GearmanClient::clearCallbacks
  • GearmanClient::__construct »
  • PHP Manual
  • GearmanClient
  • Create a copy of a GearmanClient object

GearmanClient::clone

(PECL gearman >= 0.5.0)

GearmanClient::clone — Create a copy of a GearmanClient object

Açıklama

public GearmanClient::clone(): GearmanClient

Creates a copy of a GearmanClient object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanClient on success, false on failure.


Create a GearmanClient instance

  • « GearmanClient::clone
  • GearmanClient::context »
  • PHP Manual
  • GearmanClient
  • Create a GearmanClient instance

GearmanClient::__construct

(PECL gearman >= 0.5.0)

GearmanClient::__construct — Create a GearmanClient instance

Açıklama

public GearmanClient::__construct()

Creates a GearmanClient instance representing a client that connects to the job server and submits tasks to complete.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanClient object.

Ayrıca Bakınız

  • GearmanClient::clone() - Create a copy of a GearmanClient object


Get the application context

  • « GearmanClient::__construct
  • GearmanClient::data »
  • PHP Manual
  • GearmanClient
  • Get the application context

GearmanClient::context

(PECL gearman >= 0.6.0)

GearmanClient::context — Get the application context

Açıklama

public GearmanClient::context(): string

Get the application context previously set with GearmanClient::setContext().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The same context data structure set with GearmanClient::setContext()

Ayrıca Bakınız

  • GearmanClient::setContext() - Set application context


Get the application data (deprecated)

  • « GearmanClient::context
  • GearmanClient::do »
  • PHP Manual
  • GearmanClient
  • Get the application data (deprecated)

GearmanClient::data

(PECL gearman <= 0.5.0)

GearmanClient::data — Get the application data (deprecated)

Açıklama

public GearmanClient::data(): string

Get the application data previously set with GearmanClient::setData().

Bilginize:

This method was replaced by GearmanClient::setContext() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The same string data set with GearmanClient::setData()

Ayrıca Bakınız

  • GearmanClient::setData() - Set application data (deprecated)


Run a single task and return a result [deprecated]

  • « GearmanClient::data
  • GearmanClient::doBackground »
  • PHP Manual
  • GearmanClient
  • Run a single task and return a result [deprecated]

GearmanClient::do

(PECL gearman >= 0.5.0)

GearmanClient::do — Run a single task and return a result [deprecated]

Açıklama

public GearmanClient::do(string $function_name, string $workload, string $unique = ?): string

The GearmanClient::do() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::doNormal().

Bağımsız Değişkenler

function_name

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A string representing the results of running a task.

Örnekler

Örnek 1 Simple job submission with immediate return

<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
return strrev($job->workload());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Starting
Sending job
Success: !olleH

Örnek 2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::do() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
$result = $gmclient->doNormal("reverse", "Hello!");
# Check for various return packets and errors.

switch($gmclient->returnCode())
{
case GEARMAN_WORK_DATA:
echo "Data: $result\n";
break;
case GEARMAN_WORK_STATUS:
list($numerator, $denominator)= $gmclient->doStatus();
echo "Status: $numerator/$denominator complete\n";
break;
case GEARMAN_WORK_FAIL:
echo "Failed\n";
exit;
case GEARMAN_SUCCESS:
break;
default:
echo "RET: " . $gmclient->returnCode() . "\n";
echo "Error: " . $gmclient->error() . "\n";
echo "Errno: " . $gmclient->getErrno() . "\n";
exit;
}
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
$job->sendStatus($x+1, $workload_size);
$job->sendData(substr($workload, $x, 1));
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Ayrıca Bakınız

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a task in the background

  • « GearmanClient::do
  • GearmanClient::doHigh »
  • PHP Manual
  • GearmanClient
  • Run a task in the background

GearmanClient::doBackground

(PECL gearman >= 0.5.0)

GearmanClient::doBackground — Run a task in the background

Açıklama

public GearmanClient::doBackground(string $function, string $workload, ?string $unique = null): string

Runs a task in the background, returning a job handle which can be used to get the status of the running task.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

The job handle for the submitted task.

Örnekler

Örnek 1 Submit and monitor a background job

The worker in this example has an artificial delay introduced to mimic a long running job. The client script periodically checks the status of the running job.

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
echo "bad return code\n";
exit;
}

$done = false;
do
{
sleep(3);
$stat = $gmclient->jobStatus($job_handle);
if (!$stat[0]) // the job is known so it is not done
$done = true;
echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denominator: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Running: true, numerator: 3, denominator: 14
Running: true, numerator: 6, denominator: 14
Running: true, numerator: 9, denominator: 14
Running: true, numerator: 12, denominator: 14
Running: false, numerator: 0, denominator: 0
done!

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a single high priority task

  • « GearmanClient::doBackground
  • GearmanClient::doHighBackground »
  • PHP Manual
  • GearmanClient
  • Run a single high priority task

GearmanClient::doHigh

(PECL gearman >= 0.5.0)

GearmanClient::doHigh — Run a single high priority task

Açıklama

public GearmanClient::doHigh(string $function, string $workload, ?string $unique = null): string

Runs a single high priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. High priority tasks will get precedence over normal and low priority tasks in the job queue.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A string representing the results of running a task.

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a high priority task in the background

  • « GearmanClient::doHigh
  • GearmanClient::doJobHandle »
  • PHP Manual
  • GearmanClient
  • Run a high priority task in the background

GearmanClient::doHighBackground

(PECL gearman >= 0.5.0)

GearmanClient::doHighBackground — Run a high priority task in the background

Açıklama

public GearmanClient::doHighBackground(string $function, string $workload, ?string $unique = null): string

Runs a high priority task in the background, returning a job handle which can be used to get the status of the running task. High priority tasks take precedence over normal and low priority tasks in the job queue.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

The job handle for the submitted task.

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Get the job handle for the running task

  • « GearmanClient::doHighBackground
  • GearmanClient::doLow »
  • PHP Manual
  • GearmanClient
  • Get the job handle for the running task

GearmanClient::doJobHandle

(PECL gearman >= 0.5.0)

GearmanClient::doJobHandle — Get the job handle for the running task

Açıklama

public GearmanClient::doJobHandle(): string

Gets that job handle for a running task. This should be used between repeated GearmanClient::doNormal() calls. The job handle can then be used to get information on the task.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The job handle for the running task.

Ayrıca Bakınız

  • GearmanClient::jobStatus() - Get the status of a background job


Run a single low priority task

  • « GearmanClient::doJobHandle
  • GearmanClient::doLowBackground »
  • PHP Manual
  • GearmanClient
  • Run a single low priority task

GearmanClient::doLow

(PECL gearman >= 0.5.0)

GearmanClient::doLow — Run a single low priority task

Açıklama

public GearmanClient::doLow(string $function, string $workload, ?string $unique = null): string

Runs a single low priority task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result. Normal and high priority tasks will get precedence over low priority tasks in the job queue.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A string representing the results of running a task.

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Run a low priority task in the background

  • « GearmanClient::doLow
  • GearmanClient::doNormal »
  • PHP Manual
  • GearmanClient
  • Run a low priority task in the background

GearmanClient::doLowBackground

(PECL gearman >= 0.5.0)

GearmanClient::doLowBackground — Run a low priority task in the background

Açıklama

public GearmanClient::doLowBackground(string $function, string $workload, ?string $unique = null): string

Runs a low priority task in the background, returning a job handle which can be used to get the status of the running task. Normal and high priority tasks take precedence over low priority tasks in the job queue.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

The job handle for the submitted task.

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background


Run a single task and return a result

  • « GearmanClient::doLowBackground
  • GearmanClient::doStatus »
  • PHP Manual
  • GearmanClient
  • Run a single task and return a result

GearmanClient::doNormal

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

GearmanClient::doNormal — Run a single task and return a result

Açıklama

public GearmanClient::doNormal(string $function, string $workload, ?string $unique = null): string

Runs a single task and returns a string representation of the result. It is up to the GearmanClient and GearmanWorker to agree on the format of the result.

Bağımsız Değişkenler

function

çalıştırılacak kayıtlı işçi işlev

workload

İşlenecek dizeleştirilmiş veri

unique

Belli bir görevi kimliklendirmek için kullanılacak benzersiz kimlik

Dönen Değerler

A string representing the results of running a task.

Örnekler

Örnek 1 Simple job submission with immediate return

<?php

?>
<?php

# Client code

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

$result = $gmclient->doNormal("reverse", "Hello!");

echo "Success: $result\n";

?>
<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server. Change the worker function to
# "reverse_fn_fast" for a faster worker with no output.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
return strrev($job->workload());
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Starting
Sending job
Success: !olleH

Örnek 2 Submitting a job and retrieving incremental status

A job is submitted and the script loops to retrieve status information. The worker has an artificial delay which results in a long running job and sends status and data as processing occurs. Each subsequent call to GearmanClient::doNormal() produces status information on the running job.

<?php

# Client code

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
$result = $gmclient->doNormal("reverse", "Hello!");
# Check for various return packets and errors.

switch($gmclient->returnCode())
{
case GEARMAN_WORK_DATA:
echo "Data: $result\n";
break;
case GEARMAN_WORK_STATUS:
list($numerator, $denominator)= $gmclient->doStatus();
echo "Status: $numerator/$denominator complete\n";
break;
case GEARMAN_WORK_FAIL:
echo "Failed\n";
exit;
case GEARMAN_SUCCESS:
break;
default:
echo "RET: " . $gmclient->returnCode() . "\n";
echo "Error: " . $gmclient->error() . "\n";
echo "Errno: " . $gmclient->getErrno() . "\n";
exit;
}
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>
<?php

# Worker code

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

print "Waiting for job...\n";
while($gmworker->work())
{
if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

function reverse_fn($job)
{
echo "Received job: " . $job->handle() . "\n";

$workload = $job->workload();
$workload_size = $job->workloadSize();

echo "Workload: $workload ($workload_size)\n";

# This status loop is not needed, just showing how it works
for ($x= 0; $x < $workload_size; $x++)
{
echo "Sending status: " + $x + 1 . "/$workload_size complete\n";
$job->sendStatus($x+1, $workload_size);
$job->sendData(substr($workload, $x, 1));
sleep(1);
}

$result= strrev($workload);
echo "Result: $result\n";

# Return what we want to send back to the client.
return $result;
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Worker output:

Starting
Waiting for job...
Received job: H:foo.local:106
Workload: Hello! (6)
1/6 complete
2/6 complete
3/6 complete
4/6 complete
5/6 complete
6/6 complete
Result: !olleH

Client output:

Starting
Sending job
Status: 1/6 complete
Data: H
Status: 2/6 complete
Data: e
Status: 3/6 complete
Data: l
Status: 4/6 complete
Data: l
Status: 5/6 complete
Data: o
Status: 6/6 complete
Data: !
Success: !olleH

Ayrıca Bakınız

  • GearmanClient::doHigh() - Run a single high priority task
  • GearmanClient::doLow() - Run a single low priority task
  • GearmanClient::doBackground() - Run a task in the background
  • GearmanClient::doHighBackground() - Run a high priority task in the background
  • GearmanClient::doLowBackground() - Run a low priority task in the background


Get the status for the running task

  • « GearmanClient::doNormal
  • GearmanClient::echo »
  • PHP Manual
  • GearmanClient
  • Get the status for the running task

GearmanClient::doStatus

(PECL gearman >= 0.5.0)

GearmanClient::doStatus — Get the status for the running task

Açıklama

public GearmanClient::doStatus(): array

Returns the status for the running task. This should be used between repeated GearmanClient::doNormal() calls.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array representing the percentage completion given as a fraction, with the first element the numerator and the second element the denomintor.

Örnekler

Örnek 1 Get the status of a long running job

The worker in this example has an artificial delay added during processing of the string to be reversed. After each delay it calls GearmanJob::status() which the client then picks up.

<?php

echo "Starting\n";

# Create our client object.
$gmclient= new GearmanClient();

# Add default server (localhost).
$gmclient->addServer();

echo "Sending job\n";

# Send reverse job
do
{
$result = $gmclient->doNormal("reverse", "Hello!");

# Check for various return packets and errors.
switch($gmclient->returnCode())
{
case GEARMAN_WORK_DATA:
break;
case GEARMAN_WORK_STATUS:
# get the current job status
list($numerator, $denominator)= $gmclient->doStatus();
echo "Status: $numerator/$denominator complete\n";
break;
case GEARMAN_WORK_FAIL:
echo "Failed\n";
exit;
case GEARMAN_SUCCESS:
break;
default:
echo "RET: " . $gmclient->returnCode() . "\n";
exit;
}
}
while($gmclient->returnCode() != GEARMAN_SUCCESS);

echo "Success: $result\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Starting
Sending job
Status: 1/6 complete
Status: 2/6 complete
Status: 3/6 complete
Status: 4/6 complete
Status: 5/6 complete
Status: 6/6 complete
Success: !olleH

Ayrıca Bakınız

  • GearmanClient::doNormal() - Run a single task and return a result
  • GearmanJob::status() - Send status (deprecated)


Send data to all job servers to see if they echo it back [deprecated]

  • « GearmanClient::doStatus
  • GearmanClient::error »
  • PHP Manual
  • GearmanClient
  • Send data to all job servers to see if they echo it back [deprecated]

GearmanClient::echo

(PECL gearman >= 0.5.0)

GearmanClient::echo — Send data to all job servers to see if they echo it back [deprecated]

Açıklama

public GearmanClient::echo(string $workload): bool

The GearmanClient::echo() method is deprecated as of pecl/gearman 1.0.0. Use GearmanClient::ping().

Bağımsız Değişkenler

workload

Some arbitrary serialized data to be echo back

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns an error string for the last error encountered

  • « GearmanClient::echo
  • GearmanClient::getErrno »
  • PHP Manual
  • GearmanClient
  • Returns an error string for the last error encountered

GearmanClient::error

(PECL gearman >= 0.5.0)

GearmanClient::error — Returns an error string for the last error encountered

Açıklama

public GearmanClient::error(): string|false

Returns an error string for the last error encountered.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A human readable error string, or false if there is no error message available.

Ayrıca Bakınız

  • GearmanClient::getErrno() - Get an errno value


Get an errno value

  • « GearmanClient::error
  • GearmanClient::jobStatus »
  • PHP Manual
  • GearmanClient
  • Get an errno value

GearmanClient::getErrno

(PECL gearman >= 0.5.0)

GearmanClient::getErrno — Get an errno value

Açıklama

public GearmanClient::getErrno(): int

Value of errno in the case of a GEARMAN_ERRNO return value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid Gearman errno.

Ayrıca Bakınız

  • GearmanClient::error() - Returns an error string for the last error encountered


Get the status of a background job

  • « GearmanClient::getErrno
  • GearmanClient::ping »
  • PHP Manual
  • GearmanClient
  • Get the status of a background job

GearmanClient::jobStatus

gearman_job_status

(PECL gearman >= 0.5.0)

GearmanClient::jobStatus -- gearman_job_status — Get the status of a background job

Açıklama

Nesne yönelimli kullanım (method):

public GearmanClient::jobStatus(string $job_handle): array

Gets the status for a background job given a job handle. The status information will specify whether the job is known, whether the job is currently running, and the percentage completion.

Bağımsız Değişkenler

job_handle

Gearman sunucusu tarafından atanmış iş işleyici

Dönen Değerler

An array containing status information for the job corresponding to the supplied job handle. The first array element is a boolean indicating whether the job is even known, the second is a boolean indicating whether the job is still running, and the third and fourth elements correspond to the numerator and denominator of the fractional completion percentage, respectively.

Örnekler

Örnek 1 Monitor the status of a long running background job

<?php

/* create our object */
$gmclient= new GearmanClient();

/* add the default server */
$gmclient->addServer();

/* run reverse client */
$job_handle = $gmclient->doBackground("reverse", "this is a test");

if ($gmclient->returnCode() != GEARMAN_SUCCESS)
{
echo "bad return code\n";
exit;
}

$done = false;
do
{
sleep(3);
$stat = $gmclient->jobStatus($job_handle);
if (!$stat[0]) // the job is known so it is not done
$done = true;
echo "Running: " . ($stat[1] ? "true" : "false") . ", numerator: " . $stat[2] . ", denomintor: " . $stat[3] . "\n";
}
while(!$done);

echo "done!\n";

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Running: true, numerator: 3, denomintor: 14
Running: true, numerator: 6, denomintor: 14
Running: true, numerator: 9, denomintor: 14
Running: true, numerator: 12, denomintor: 14
Running: false, numerator: 0, denomintor: 0
done!

Ayrıca Bakınız

  • GearmanClient::doStatus() - Get the status for the running task


Send data to all job servers to see if they echo it back

  • « GearmanClient::jobStatus
  • GearmanClient::removeOptions »
  • PHP Manual
  • GearmanClient
  • Send data to all job servers to see if they echo it back

GearmanClient::ping

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

GearmanClient::ping — Send data to all job servers to see if they echo it back

Açıklama

public GearmanClient::ping(string $workload): bool

Sends some arbitrary data to all job servers to see if they echo it back. The data sent is not used or processed in any other way. Primarily used for testing and debugging.

Bağımsız Değişkenler

workload

Some arbitrary serialized data to be echo back

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Remove client options

  • « GearmanClient::ping
  • GearmanClient::returnCode »
  • PHP Manual
  • GearmanClient
  • Remove client options

GearmanClient::removeOptions

(PECL gearman >= 0.6.0)

GearmanClient::removeOptions — Remove client options

Açıklama

public GearmanClient::removeOptions(int $option): bool

Removes (unsets) one or more options.

Bağımsız Değişkenler

option

The options to be removed (unset)

Dönen Değerler

Always returns true.


Get the last Gearman return code

  • « GearmanClient::removeOptions
  • GearmanClient::runTasks »
  • PHP Manual
  • GearmanClient
  • Get the last Gearman return code

GearmanClient::returnCode

(PECL gearman >= 0.5.0)

GearmanClient::returnCode — Get the last Gearman return code

Açıklama

public GearmanClient::returnCode(): int

Returns the last Gearman return code.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid Gearman return code.


Run a list of tasks in parallel

  • « GearmanClient::returnCode
  • GearmanClient::setClientCallback »
  • PHP Manual
  • GearmanClient
  • Run a list of tasks in parallel

GearmanClient::runTasks

(PECL gearman >= 0.5.0)

GearmanClient::runTasks — Run a list of tasks in parallel

Açıklama

public GearmanClient::runTasks(): bool

For a set of tasks previously added with GearmanClient::addTask(), GearmanClient::addTaskHigh(), GearmanClient::addTaskLow(), GearmanClient::addTaskBackground(), GearmanClient::addTaskHighBackground(), or GearmanClient::addTaskLowBackground(), this call starts running the tasks in parallel.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::addTask() - Add a task to be run in parallel


Callback function when there is a data packet for a task (deprecated)

  • « GearmanClient::runTasks
  • GearmanClient::setCompleteCallback »
  • PHP Manual
  • GearmanClient
  • Callback function when there is a data packet for a task (deprecated)

GearmanClient::setClientCallback

(PECL gearman <= 0.5.0)

GearmanClient::setClientCallback — Callback function when there is a data packet for a task (deprecated)

Açıklama

public GearmanClient::setClientCallback(callable $callback): void

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Bilginize:

This method has been replaced by GearmanClient::setDataCallback() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

callback

A function or method to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a function to be called on task completion

  • « GearmanClient::setClientCallback
  • GearmanClient::setContext »
  • PHP Manual
  • GearmanClient
  • Set a function to be called on task completion

GearmanClient::setCompleteCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCompleteCallback — Set a function to be called on task completion

Açıklama

public GearmanClient::setCompleteCallback(callable $function): bool

Use to set a function to be called when a GearmanTask is completed, or when GearmanJob::sendComplete() is invoked by a worker (whichever happens first).

This callback executes only when executing a GearmanTask using GearmanClient::runTasks(). It is not used for individual jobs.

Bağımsız Değişkenler

function

A function to be called

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set application context

  • « GearmanClient::setCompleteCallback
  • GearmanClient::setCreatedCallback »
  • PHP Manual
  • GearmanClient
  • Set application context

GearmanClient::setContext

(PECL gearman >= 0.6.0)

GearmanClient::setContext — Set application context

Açıklama

public GearmanClient::setContext(string $data): bool

Sets an arbitrary string to provide application context that can later be retrieved by GearmanClient::context().

Bağımsız Değişkenler

data

Arbitrary context data

Dönen Değerler

Always returns true.

Ayrıca Bakınız

  • GearmanClient::context() - Get the application context


Set a callback for when a task is queued

  • « GearmanClient::setContext
  • GearmanClient::setData »
  • PHP Manual
  • GearmanClient
  • Set a callback for when a task is queued

GearmanClient::setCreatedCallback

(PECL gearman >= 0.5.0)

GearmanClient::setCreatedCallback — Set a callback for when a task is queued

Açıklama

public GearmanClient::setCreatedCallback(callable $function): bool

Sets a function to be called when a task is received and queued by the Gearman job server. The callback should accept a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set application data (deprecated)

  • « GearmanClient::setCreatedCallback
  • GearmanClient::setDataCallback »
  • PHP Manual
  • GearmanClient
  • Set application data (deprecated)

GearmanClient::setData

(PECL gearman <= 0.5.0)

GearmanClient::setData — Set application data (deprecated)

Açıklama

public GearmanClient::setData(string $data): bool

Sets some arbitrary application data that can later be retrieved by GearmanClient::data().

Bilginize:

This method has been replaced by GearmanCient::setContext() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

data

Dönen Değerler

Always returns true.

Ayrıca Bakınız

  • GearmanClient::data() - Get the application data (deprecated)


Callback function when there is a data packet for a task

  • « GearmanClient::setData
  • GearmanClient::setExceptionCallback »
  • PHP Manual
  • GearmanClient
  • Callback function when there is a data packet for a task

GearmanClient::setDataCallback

(PECL gearman >= 0.6.0)

GearmanClient::setDataCallback — Callback function when there is a data packet for a task

Açıklama

public GearmanClient::setDataCallback(callable $function): bool

Sets the callback function for accepting data packets for a task. The callback function should take a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function or method to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a callback for worker exceptions

  • « GearmanClient::setDataCallback
  • GearmanClient::setFailCallback »
  • PHP Manual
  • GearmanClient
  • Set a callback for worker exceptions

GearmanClient::setExceptionCallback

(PECL gearman >= 0.5.0)

GearmanClient::setExceptionCallback — Set a callback for worker exceptions

Açıklama

public GearmanClient::setExceptionCallback(callable $function): bool

Specifies a function to call when a worker for a task sends an exception.

Bağımsız Değişkenler

function

Function to call when the worker throws an exception

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set callback for job failure

  • « GearmanClient::setExceptionCallback
  • GearmanClient::setOptions »
  • PHP Manual
  • GearmanClient
  • Set callback for job failure

GearmanClient::setFailCallback

(PECL gearman >= 0.5.0)

GearmanClient::setFailCallback — Set callback for job failure

Açıklama

public GearmanClient::setFailCallback(callable $function): bool

Sets the callback function to be used when a task does not complete successfully. The function should accept a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set client options

  • « GearmanClient::setFailCallback
  • GearmanClient::setStatusCallback »
  • PHP Manual
  • GearmanClient
  • Set client options

GearmanClient::setOptions

(PECL gearman >= 0.5.0)

GearmanClient::setOptions — Set client options

Açıklama

public GearmanClient::setOptions(int $option): bool

Sets one or more client options.

Bağımsız Değişkenler

option

The options to be set

Dönen Değerler

Always returns true.


Set a callback for collecting task status

  • « GearmanClient::setOptions
  • GearmanClient::setTimeout »
  • PHP Manual
  • GearmanClient
  • Set a callback for collecting task status

GearmanClient::setStatusCallback

(PECL gearman >= 0.5.0)

GearmanClient::setStatusCallback — Set a callback for collecting task status

Açıklama

public GearmanClient::setStatusCallback(callable $function): bool

Sets a callback function used for getting updated status information from a worker. The function should accept a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set socket I/O activity timeout

  • « GearmanClient::setStatusCallback
  • GearmanClient::setWarningCallback »
  • PHP Manual
  • GearmanClient
  • Set socket I/O activity timeout

GearmanClient::setTimeout

(PECL gearman >= 0.6.0)

GearmanClient::setTimeout — Set socket I/O activity timeout

Açıklama

public GearmanClient::setTimeout(int $timeout): bool

Sets the timeout for socket I/O activity.

Bağımsız Değişkenler

timeout

An interval of time in milliseconds

Dönen Değerler

Always returns true.


Set a callback for worker warnings

  • « GearmanClient::setTimeout
  • GearmanClient::setWorkloadCallback »
  • PHP Manual
  • GearmanClient
  • Set a callback for worker warnings

GearmanClient::setWarningCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWarningCallback — Set a callback for worker warnings

Açıklama

public GearmanClient::setWarningCallback(callable $function): bool

Sets a function to be called when a worker sends a warning. The callback should accept a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWorkloadCallback() - Set a callback for accepting incremental data updates


Set a callback for accepting incremental data updates

  • « GearmanClient::setWarningCallback
  • GearmanClient::timeout »
  • PHP Manual
  • GearmanClient
  • Set a callback for accepting incremental data updates

GearmanClient::setWorkloadCallback

(PECL gearman >= 0.5.0)

GearmanClient::setWorkloadCallback — Set a callback for accepting incremental data updates

Açıklama

public GearmanClient::setWorkloadCallback(callable $function): bool

Sets a function to be called when a worker needs to send back data prior to job completion. A worker can do this when it needs to send updates, send partial results, or flush data during long running jobs. The callback should accept a single argument, a GearmanTask object.

Bağımsız Değişkenler

function

A function to call

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::setDataCallback() - Callback function when there is a data packet for a task
  • GearmanClient::setCompleteCallback() - Set a function to be called on task completion
  • GearmanClient::setCreatedCallback() - Set a callback for when a task is queued
  • GearmanClient::setExceptionCallback() - Set a callback for worker exceptions
  • GearmanClient::setFailCallback() - Set callback for job failure
  • GearmanClient::setStatusCallback() - Set a callback for collecting task status
  • GearmanClient::setWarningCallback() - Set a callback for worker warnings


Get current socket I/O activity timeout value

  • « GearmanClient::setWorkloadCallback
  • GearmanClient::wait »
  • PHP Manual
  • GearmanClient
  • Get current socket I/O activity timeout value

GearmanClient::timeout

(PECL gearman >= 0.6.0)

GearmanClient::timeout — Get current socket I/O activity timeout value

Açıklama

public GearmanClient::timeout(): int

Returns the timeout in milliseconds to wait for I/O activity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.

Ayrıca Bakınız

  • GearmanClient::setTimeout() - Set socket I/O activity timeout


Wait for I/O activity on all connections in a client

  • « GearmanClient::timeout
  • GearmanJob »
  • PHP Manual
  • GearmanClient
  • Wait for I/O activity on all connections in a client

GearmanClient::wait

(PECL gearman >= 0.6.0)

GearmanClient::wait — Wait for I/O activity on all connections in a client

Açıklama

public GearmanClient::wait(): bool

This waits for activity from any one of the connected servers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true on success false on an error.

Ayrıca Bakınız

  • GearmanWorker::wait() - Wait for activity from one of the job servers


The GearmanJob class

(PECL gearman >= 0.5.0)

Giriş

Sınıf Sözdizimi

class GearmanJob {
/* Yöntemler */
public functionName(): false|string
public handle(): false|string
public returnCode(): int
public sendComplete(string $result): bool
public sendData(string $data): bool
public sendException(string $exception): bool
public sendFail(): bool
public sendStatus(int $numerator, int $denominator): bool
public sendWarning(string $warning): bool
public setReturn(int $gearman_return_t): bool
public unique(): false|string
public workload(): string
public workloadSize(): int
}

İçindekiler

  • GearmanJob::complete — Send the result and complete status (deprecated)
  • GearmanJob::__construct — Create a GearmanJob instance
  • GearmanJob::data — Send data for a running job (deprecated)
  • GearmanJob::exception — Send exception for running job (deprecated)
  • GearmanJob::fail — Send fail status (deprecated)
  • GearmanJob::functionName — Get function name
  • GearmanJob::handle — Get the job handle
  • GearmanJob::returnCode — Get last return code
  • GearmanJob::sendComplete — Send the result and complete status
  • GearmanJob::sendData — Send data for a running job
  • GearmanJob::sendException — Send exception for running job (exception)
  • GearmanJob::sendFail — Send fail status
  • GearmanJob::sendStatus — Send status
  • GearmanJob::sendWarning — Send a warning
  • GearmanJob::setReturn — Set a return value
  • GearmanJob::status — Send status (deprecated)
  • GearmanJob::unique — Get the unique identifier
  • GearmanJob::warning — Send a warning (deprecated)
  • GearmanJob::workload — Get workload
  • GearmanJob::workloadSize — Get size of work load


Send the result and complete status (deprecated)

  • « GearmanJob
  • GearmanJob::__construct »
  • PHP Manual
  • GearmanJob
  • Send the result and complete status (deprecated)

GearmanJob::complete

(PECL gearman <= 0.5.0)

GearmanJob::complete — Send the result and complete status (deprecated)

Açıklama

public GearmanJob::complete(string $result): bool

Sends result data and the complete status update for this job.

Bilginize:

This method has been replaced by GearmanJob::sendComplete() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

result

Serialized result data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value


Create a GearmanJob instance

  • « GearmanJob::complete
  • GearmanJob::data »
  • PHP Manual
  • GearmanJob
  • Create a GearmanJob instance

GearmanJob::__construct

(PECL gearman >= 0.5.0)

GearmanJob::__construct — Create a GearmanJob instance

Açıklama

public GearmanJob::__construct()

Creates a GearmanJob instance representing a job the worker is to complete.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanJob object.


Send data for a running job (deprecated)

  • « GearmanJob::__construct
  • GearmanJob::exception »
  • PHP Manual
  • GearmanJob
  • Send data for a running job (deprecated)

GearmanJob::data

(PECL gearman <= 0.5.0)

GearmanJob::data — Send data for a running job (deprecated)

Açıklama

public GearmanJob::data(string $data): bool

Sends data to the job server (and any listening clients) for this job.

Bilginize:

This method has been replaced by GearmanJob::sendData() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

data

Arbitrary serialized data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task


Send exception for running job (deprecated)

  • « GearmanJob::data
  • GearmanJob::fail »
  • PHP Manual
  • GearmanJob
  • Send exception for running job (deprecated)

GearmanJob::exception

(PECL gearman <= 0.5.0)

GearmanJob::exception — Send exception for running job (deprecated)

Açıklama

public GearmanJob::exception(string $exception): bool

Sends the supplied exception when this job is running.

Bilginize:

This method has been replaced by GearmanJob::sendException() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

exception

An exception description.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send fail status (deprecated)

  • « GearmanJob::exception
  • GearmanJob::functionName »
  • PHP Manual
  • GearmanJob
  • Send fail status (deprecated)

GearmanJob::fail

(PECL gearman <= 0.5.0)

GearmanJob::fail — Send fail status (deprecated)

Açıklama

public GearmanJob::fail(): bool

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Bilginize:

This method has been replaced by GearmanJob::sendFail() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Get function name

  • « GearmanJob::fail
  • GearmanJob::handle »
  • PHP Manual
  • GearmanJob
  • Get function name

GearmanJob::functionName

(PECL gearman >= 0.5.0)

GearmanJob::functionName — Get function name

Açıklama

public GearmanJob::functionName(): false|string

Returns the function name for this job. This is the function the work will execute to perform the job.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The name of a function, or false if the job has not yet been initialized.

Ayrıca Bakınız

  • GearmanTask::function() - Get associated function name (deprecated)


Get the job handle

  • « GearmanJob::functionName
  • GearmanJob::returnCode »
  • PHP Manual
  • GearmanJob
  • Get the job handle

GearmanJob::handle

(PECL gearman >= 0.5.0)

GearmanJob::handle — Get the job handle

Açıklama

public GearmanJob::handle(): false|string

Returns the opaque job handle assigned by the job server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An opaque job handle, or false if the job has not yet been initialized.

Ayrıca Bakınız

  • GearmanTask::jobHandle() - Get the job handle


Get last return code

  • « GearmanJob::handle
  • GearmanJob::sendComplete »
  • PHP Manual
  • GearmanJob
  • Get last return code

GearmanJob::returnCode

(PECL gearman >= 0.5.0)

GearmanJob::returnCode — Get last return code

Açıklama

public GearmanJob::returnCode(): int

Returns the last return code issued by the job server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid Gearman return code.

Ayrıca Bakınız

  • GearmanTask::returnCode() - Get the last return code


Send the result and complete status

  • « GearmanJob::returnCode
  • GearmanJob::sendData »
  • PHP Manual
  • GearmanJob
  • Send the result and complete status

GearmanJob::sendComplete

(PECL gearman >= 0.6.0)

GearmanJob::sendComplete — Send the result and complete status

Açıklama

public GearmanJob::sendComplete(string $result): bool

Sends result data and the complete status update for this job.

Bağımsız Değişkenler

result

Serialized result data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendFail() - Send fail status
  • GearmanJob::setReturn() - Set a return value


Send data for a running job

  • « GearmanJob::sendComplete
  • GearmanJob::sendException »
  • PHP Manual
  • GearmanJob
  • Send data for a running job

GearmanJob::sendData

(PECL gearman >= 0.6.0)

GearmanJob::sendData — Send data for a running job

Açıklama

public GearmanJob::sendData(string $data): bool

Sends data to the job server (and any listening clients) for this job.

Bağımsız Değişkenler

data

Arbitrary serialized data.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::workload() - Get workload
  • GearmanTask::data() - Get data returned for a task


Send exception for running job (exception)

  • « GearmanJob::sendData
  • GearmanJob::sendFail »
  • PHP Manual
  • GearmanJob
  • Send exception for running job (exception)

GearmanJob::sendException

(PECL gearman >= 0.6.0)

GearmanJob::sendException — Send exception for running job (exception)

Açıklama

public GearmanJob::sendException(string $exception): bool

Sends the supplied exception when this job is running.

Bağımsız Değişkenler

exception

An exception description.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send fail status

  • « GearmanJob::sendException
  • GearmanJob::sendStatus »
  • PHP Manual
  • GearmanJob
  • Send fail status

GearmanJob::sendFail

(PECL gearman >= 0.6.0)

GearmanJob::sendFail — Send fail status

Açıklama

public GearmanJob::sendFail(): bool

Sends failure status for this job, indicating that the job failed in a known way (as opposed to failing due to a thrown exception).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::setReturn() - Set a return value
  • GearmanJob::sendStatus() - Send status
  • GearmanJob::sendWarning() - Send a warning


Send status

  • « GearmanJob::sendFail
  • GearmanJob::sendWarning »
  • PHP Manual
  • GearmanJob
  • Send status

GearmanJob::sendStatus

(PECL gearman >= 0.6.0)

GearmanJob::sendStatus — Send status

Açıklama

public GearmanJob::sendStatus(int $numerator, int $denominator): bool

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Bağımsız Değişkenler

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator


Send a warning

  • « GearmanJob::sendStatus
  • GearmanJob::setReturn »
  • PHP Manual
  • GearmanJob
  • Send a warning

GearmanJob::sendWarning

(PECL gearman >= 0.6.0)

GearmanJob::sendWarning — Send a warning

Açıklama

public GearmanJob::sendWarning(string $warning): bool

Sends a warning for this job while it is running.

Bağımsız Değişkenler

warning

A warning message.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status


Set a return value

  • « GearmanJob::sendWarning
  • GearmanJob::status »
  • PHP Manual
  • GearmanJob
  • Set a return value

GearmanJob::setReturn

(PECL gearman >= 0.5.0)

GearmanJob::setReturn — Set a return value

Açıklama

public GearmanJob::setReturn(int $gearman_return_t): bool

Sets the return value for this job, indicates how the job completed.

Bağımsız Değişkenler

gearman_return_t

A valid Gearman return value.

Dönen Değerler

Description...


Send status (deprecated)

  • « GearmanJob::setReturn
  • GearmanJob::unique »
  • PHP Manual
  • GearmanJob
  • Send status (deprecated)

GearmanJob::status

(PECL gearman <= 0.5.0)

GearmanJob::status — Send status (deprecated)

Açıklama

public GearmanJob::status(int $numerator, int $denominator): bool

Sends status information to the job server and any listening clients. Use this to specify what percentage of the job has been completed.

Bilginize:

This method has been replaced by GearmanJob::sendStatus() in the 0.6.0 release of the Gearman extenstion.

Bağımsız Değişkenler

numerator

The numerator of the precentage completed expressed as a fraction.

denominator

The denominator of the precentage completed expressed as a fraction.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanClient::jobStatus() - Get the status of a background job
  • GearmanTask::taskDenominator() - Get completion percentage denominator
  • GearmanTask::taskNumerator() - Get completion percentage numerator


Get the unique identifier

  • « GearmanJob::status
  • GearmanJob::warning »
  • PHP Manual
  • GearmanJob
  • Get the unique identifier

GearmanJob::unique

(PECL gearman >= 0.5.0)

GearmanJob::unique — Get the unique identifier

Açıklama

public GearmanJob::unique(): false|string

Returns the unique identifier for this job. The identifier is assigned by the client.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An opaque unique identifier, or false if the job has not yet been initialized.

Ayrıca Bakınız

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanTask::uuid() - Get the unique identifier for a task (deprecated)


Send a warning (deprecated)

  • « GearmanJob::unique
  • GearmanJob::workload »
  • PHP Manual
  • GearmanJob
  • Send a warning (deprecated)

GearmanJob::warning

(PECL gearman <= 0.5.0)

GearmanJob::warning — Send a warning (deprecated)

Açıklama

public GearmanJob::warning(string $warning): bool

Sends a warning for this job while it is running.

Bilginize:

This method has been replaced by GearmanJob::sendWarning() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

warning

A warning messages.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • GearmanJob::sendComplete() - Send the result and complete status
  • GearmanJob::sendException() - Send exception for running job (exception)
  • GearmanJob::sendFail() - Send fail status


Get workload

  • « GearmanJob::warning
  • GearmanJob::workloadSize »
  • PHP Manual
  • GearmanJob
  • Get workload

GearmanJob::workload

(PECL gearman >= 0.5.0)

GearmanJob::workload — Get workload

Açıklama

public GearmanJob::workload(): string

Returns the workload for the job. This is serialized data that is to be processed by the worker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Serialized data.

Ayrıca Bakınız

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanJob::workloadSize() - Get size of work load


Get size of work load

  • « GearmanJob::workload
  • GearmanTask »
  • PHP Manual
  • GearmanJob
  • Get size of work load

GearmanJob::workloadSize

(PECL gearman >= 0.5.0)

GearmanJob::workloadSize — Get size of work load

Açıklama

public GearmanJob::workloadSize(): int

Returns the size of the job's work load (the data the worker is to process) in bytes.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The size in bytes.

Ayrıca Bakınız

  • GearmanJob::workload() - Get workload


The GearmanTask class

(PECL gearman >= 0.5.0)

Giriş

Sınıf Sözdizimi

class GearmanTask {
/* Yöntemler */
public __construct()
public data(): false|string
public dataSize(): int|false
public functionName(): false|string
public isKnown(): bool
public isRunning(): bool
public jobHandle(): false|string
public recvData(int $data_len): false|array
public returnCode(): int
public sendWorkload(string $data): int|false
public taskDenominator(): false|int
public taskNumerator(): false|int
public unique(): false|string
}

İçindekiler

  • GearmanTask::__construct — Create a GearmanTask instance
  • GearmanTask::create — Create a task (deprecated)
  • GearmanTask::data — Get data returned for a task
  • GearmanTask::dataSize — Get the size of returned data
  • GearmanTask::function — Get associated function name (deprecated)
  • GearmanTask::functionName — Get associated function name
  • GearmanTask::isKnown — Determine if task is known
  • GearmanTask::isRunning — Test whether the task is currently running
  • GearmanTask::jobHandle — Get the job handle
  • GearmanTask::recvData — Read work or result data into a buffer for a task
  • GearmanTask::returnCode — Get the last return code
  • GearmanTask::sendData — Send data for a task (deprecated)
  • GearmanTask::sendWorkload — Send data for a task
  • GearmanTask::taskDenominator — Get completion percentage denominator
  • GearmanTask::taskNumerator — Get completion percentage numerator
  • GearmanTask::unique — Get the unique identifier for a task
  • GearmanTask::uuid — Get the unique identifier for a task (deprecated)


Create a GearmanTask instance

  • « GearmanTask
  • GearmanTask::create »
  • PHP Manual
  • GearmanTask
  • Create a GearmanTask instance

GearmanTask::__construct

(PECL gearman >= 0.5.0)

GearmanTask::__construct — Create a GearmanTask instance

Açıklama

public GearmanTask::__construct()

Creates a GearmanTask instance representing a task to be submitted to a job server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanTask object.


Create a task (deprecated)

  • « GearmanTask::__construct
  • GearmanTask::data »
  • PHP Manual
  • GearmanTask
  • Create a task (deprecated)

GearmanTask::create

(PECL gearman <= 0.5.0)

GearmanTask::create — Create a task (deprecated)

Açıklama

public GearmanTask::create(): GearmanTask|false

Returns a new GearmanTask object.

Bilginize:

This method was removed in the 0.6.0 version of the Gearman extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanTask oject başarısızlık durumunda false döner.


Get data returned for a task

  • « GearmanTask::create
  • GearmanTask::dataSize »
  • PHP Manual
  • GearmanTask
  • Get data returned for a task

GearmanTask::data

(PECL gearman >= 0.5.0)

GearmanTask::data — Get data returned for a task

Açıklama

public GearmanTask::data(): false|string

Returns data being returned for a task by a worker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The serialized data, or false if no data is present.

Ayrıca Bakınız

  • GearmanTask::dataSize() - Get the size of returned data


Get the size of returned data

  • « GearmanTask::data
  • GearmanTask::function »
  • PHP Manual
  • GearmanTask
  • Get the size of returned data

GearmanTask::dataSize

(PECL gearman >= 0.5.0)

GearmanTask::dataSize — Get the size of returned data

Açıklama

public GearmanTask::dataSize(): int|false

Returns the size of the data being returned for a task.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The data size, or false if there is no data.

Ayrıca Bakınız

  • GearmanTask::data() - Get data returned for a task


Get associated function name (deprecated)

  • « GearmanTask::dataSize
  • GearmanTask::functionName »
  • PHP Manual
  • GearmanTask
  • Get associated function name (deprecated)

GearmanTask::function

(PECL gearman <= 0.5.0)

GearmanTask::function — Get associated function name (deprecated)

Açıklama

public GearmanTask::function(): string

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Bilginize:

This method has been replaced by GearmanTask::functionName() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A function name.


Get associated function name

  • « GearmanTask::function
  • GearmanTask::isKnown »
  • PHP Manual
  • GearmanTask
  • Get associated function name

GearmanTask::functionName

(PECL gearman >= 0.6.0)

GearmanTask::functionName — Get associated function name

Açıklama

public GearmanTask::functionName(): false|string

Returns the name of the function this task is associated with, i.e., the function the Gearman worker calls.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A function name, or false if the task has not yet been created.


Determine if task is known

  • « GearmanTask::functionName
  • GearmanTask::isRunning »
  • PHP Manual
  • GearmanTask
  • Determine if task is known

GearmanTask::isKnown

(PECL gearman >= 0.5.0)

GearmanTask::isKnown — Determine if task is known

Açıklama

public GearmanTask::isKnown(): bool

Gets the status information for whether or not this task is known to the job server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the task is known, false otherwise.


Test whether the task is currently running

  • « GearmanTask::isKnown
  • GearmanTask::jobHandle »
  • PHP Manual
  • GearmanTask
  • Test whether the task is currently running

GearmanTask::isRunning

(PECL gearman >= 0.5.0)

GearmanTask::isRunning — Test whether the task is currently running

Açıklama

public GearmanTask::isRunning(): bool

Indicates whether or not this task is currently running.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the task is running, false otherwise.


Get the job handle

  • « GearmanTask::isRunning
  • GearmanTask::recvData »
  • PHP Manual
  • GearmanTask
  • Get the job handle

GearmanTask::jobHandle

gearman_job_handle

(PECL gearman >= 0.5.0)

GearmanTask::jobHandle -- gearman_job_handle — Get the job handle

Açıklama

public GearmanTask::jobHandle(): false|string

Returns the job handle for this task.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The opaque job handle, or false if the task has not yet been created.

Ayrıca Bakınız

  • GearmanClient::doJobHandle() - Get the job handle for the running task


Read work or result data into a buffer for a task

  • « GearmanTask::jobHandle
  • GearmanTask::returnCode »
  • PHP Manual
  • GearmanTask
  • Read work or result data into a buffer for a task

GearmanTask::recvData

(PECL gearman >= 0.5.0)

GearmanTask::recvData — Read work or result data into a buffer for a task

Açıklama

public GearmanTask::recvData(int $data_len): false|array

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

data_len

Length of data to be read.

Dönen Değerler

An array whose first element is the length of data read and the second is the data buffer. Returns false if the read failed.

Ayrıca Bakınız

  • GearmanTask::sendData() - Send data for a task (deprecated)


Get the last return code

  • « GearmanTask::recvData
  • GearmanTask::sendData »
  • PHP Manual
  • GearmanTask
  • Get the last return code

GearmanTask::returnCode

(PECL gearman >= 0.5.0)

GearmanTask::returnCode — Get the last return code

Açıklama

public GearmanTask::returnCode(): int

Returns the last Gearman return code for this task.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid Gearman return code.

Ayrıca Bakınız

  • GearmanClient::returnCode() - Get the last Gearman return code


Send data for a task (deprecated)

  • « GearmanTask::returnCode
  • GearmanTask::sendWorkload »
  • PHP Manual
  • GearmanTask
  • Send data for a task (deprecated)

GearmanTask::sendData

(PECL gearman <= 0.5.0)

GearmanTask::sendData — Send data for a task (deprecated)

Açıklama

public GearmanTask::sendData(string $data): int

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

data

Data to send to the worker.

Dönen Değerler

The length of data sent, or false if the send failed.

Ayrıca Bakınız

  • GearmanTask::recvData() - Read work or result data into a buffer for a task


Send data for a task

  • « GearmanTask::sendData
  • GearmanTask::taskDenominator »
  • PHP Manual
  • GearmanTask
  • Send data for a task

GearmanTask::sendWorkload

(PECL gearman >= 0.6.0)

GearmanTask::sendWorkload — Send data for a task

Açıklama

public GearmanTask::sendWorkload(string $data): int|false

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

data

Data to send to the worker.

Dönen Değerler

The length of data sent, or false if the send failed.

Ayrıca Bakınız

  • GearmanTask::recvData() - Read work or result data into a buffer for a task


Get completion percentage denominator

  • « GearmanTask::sendWorkload
  • GearmanTask::taskNumerator »
  • PHP Manual
  • GearmanTask
  • Get completion percentage denominator

GearmanTask::taskDenominator

(PECL gearman >= 0.5.0)

GearmanTask::taskDenominator — Get completion percentage denominator

Açıklama

public GearmanTask::taskDenominator(): false|int

Returns the denominator of the percentage of the task that is complete expressed as a fraction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A number between 0 and 100, or false if cannot be determined.

Ayrıca Bakınız

  • GearmanTask::taskNumerator() - Get completion percentage numerator


Get completion percentage numerator

  • « GearmanTask::taskDenominator
  • GearmanTask::unique »
  • PHP Manual
  • GearmanTask
  • Get completion percentage numerator

GearmanTask::taskNumerator

(PECL gearman >= 0.5.0)

GearmanTask::taskNumerator — Get completion percentage numerator

Açıklama

public GearmanTask::taskNumerator(): false|int

Returns the numerator of the percentage of the task that is complete expressed as a fraction.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A number between 0 and 100, or false if cannot be determined.

Ayrıca Bakınız

  • GearmanTask::taskDenominator() - Get completion percentage denominator


Get the unique identifier for a task

  • « GearmanTask::taskNumerator
  • GearmanTask::uuid »
  • PHP Manual
  • GearmanTask
  • Get the unique identifier for a task

GearmanTask::unique

(PECL gearman >= 0.6.0)

GearmanTask::unique — Get the unique identifier for a task

Açıklama

public GearmanTask::unique(): false|string

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The unique identifier, or false if no identifier is assigned.

Ayrıca Bakınız

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel


Get the unique identifier for a task (deprecated)

  • « GearmanTask::unique
  • GearmanWorker »
  • PHP Manual
  • GearmanTask
  • Get the unique identifier for a task (deprecated)

GearmanTask::uuid

(PECL gearman <= 0.5.0)

GearmanTask::uuid — Get the unique identifier for a task (deprecated)

Açıklama

public GearmanTask::uuid(): string

Returns the unique identifier for this task. This is assigned by the GearmanClient, as opposed to the job handle which is set by the Gearman job server.

Bilginize:

This method has been replaced by GearmanTask::unique() in the 0.6.0 release of the Gearman extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The unique identifier, or false if no identifier is assigned.

Ayrıca Bakınız

  • GearmanClient::do() - Run a single task and return a result [deprecated]
  • GearmanClient::addTask() - Add a task to be run in parallel


The GearmanWorker class

(PECL gearman >= 0.5.0)

Giriş

Sınıf Sözdizimi

class GearmanWorker {
/* Yöntemler */
public __construct()
public addFunction(
string $function_name,
callable $function,
mixed $context = null,
int $timeout = 0
): bool
public addOptions(int $option): true
public addServer(string $host = null, int $port = 0, bool $setupExceptionHandler = true): bool
public addServers(string $servers = null, bool $setupExceptionHandler = true): bool
public error(): string|false
public getErrno(): int
public options(): int
public register(string $function_name, int $timeout = 0): bool
public removeOptions(int $option): true
public returnCode(): int
public setId(string $id): bool
public setOptions(int $option): true
public setTimeout(int $timeout): true
public timeout(): int
public unregister(string $function_name): bool
public unregisterAll(): bool
public wait(): bool
public work(): bool
}

İçindekiler

  • GearmanWorker::addFunction — Register and add callback function
  • GearmanWorker::addOptions — Add worker options
  • GearmanWorker::addServer — Add a job server
  • GearmanWorker::addServers — Add job servers
  • GearmanWorker::clone — Create a copy of the worker
  • GearmanWorker::__construct — Create a GearmanWorker instance
  • GearmanWorker::echo — Test job server response
  • GearmanWorker::error — Get the last error encountered
  • GearmanWorker::getErrno — Get errno
  • GearmanWorker::options — Get worker options
  • GearmanWorker::register — Register a function with the job server
  • GearmanWorker::removeOptions — Remove worker options
  • GearmanWorker::returnCode — Get last Gearman return code
  • GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
  • GearmanWorker::setOptions — Set worker options
  • GearmanWorker::setTimeout — Set socket I/O activity timeout
  • GearmanWorker::timeout — Get socket I/O activity timeout
  • GearmanWorker::unregister — Unregister a function name with the job servers
  • GearmanWorker::unregisterAll — Unregister all function names with the job servers
  • GearmanWorker::wait — Wait for activity from one of the job servers
  • GearmanWorker::work — Wait for and perform jobs


Register and add callback function

  • « GearmanWorker
  • GearmanWorker::addOptions »
  • PHP Manual
  • GearmanWorker
  • Register and add callback function

GearmanWorker::addFunction

(PECL gearman >= 0.5.0)

GearmanWorker::addFunction — Register and add callback function

Açıklama

public GearmanWorker::addFunction(
string $function_name,
callable $function,
mixed $context = null,
int $timeout = 0
): bool

Registers a function name with the job server and specifies a callback corresponding to that function. Optionally specify extra application context data to be used when the callback is called and a timeout.

Bağımsız Değişkenler

function_name

The name of a function to register with the job server

function

A callback that gets called when a job for the registered function name is submitted

context

A reference to arbitrary application context data that can be modified by the worker function

timeout

An interval of time in seconds

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Simple worker making use of extra application context data

<?php

# get a gearman worker
$worker= new GearmanWorker();

# add the default server (localhost)
$worker->addServer();

# define a variable to hold application data
$count= 0;

# add the "reverse" function
$worker->addFunction("reverse", "reverse_cb", $count);

# start the worker
while ($worker->work());

function reverse_cb($job, &$count)
{
$count++;
return "$count: " . strrev($job->workload());
}

?>

Running a client that submits two jobs for the reverse function would have output similar to the following:

1: olleh
2: dlrow

Ayrıca Bakınız

  • GearmanClient::do() - Run a single task and return a result [deprecated]


Add worker options

  • « GearmanWorker::addFunction
  • GearmanWorker::addServer »
  • PHP Manual
  • GearmanWorker
  • Add worker options

GearmanWorker::addOptions

(PECL gearman >= 0.6.0)

GearmanWorker::addOptions — Add worker options

Açıklama

public GearmanWorker::addOptions(int $option): true

Adds one or more options to the options previously set.

Bağımsız Değişkenler

option

The options to be added

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • GearmanWorker::options() - Get worker options
  • GearmanClient::setOptions() - Set client options
  • GearmanClient::removeOptions() - Remove client options


Add a job server

  • « GearmanWorker::addOptions
  • GearmanWorker::addServers »
  • PHP Manual
  • GearmanWorker
  • Add a job server

GearmanWorker::addServer

(PECL gearman >= 0.5.0)

GearmanWorker::addServer — Add a job server

Açıklama

public GearmanWorker::addServer(string $host = null, int $port = 0, bool $setupExceptionHandler = true): bool

Adds a job server to this worker. This goes into a list of servers than can be used to run jobs. No socket I/O happens here.

Bağımsız Değişkenler

host

İş sunucusu konak adı.

port

İş sunucusu portu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Add alternate Gearman servers

<?php
$worker= new GearmanWorker();
$worker->addServer("10.0.0.1");
$worker->addServer("10.0.0.2", 7003);
?>

Ayrıca Bakınız

  • GearmanWorker::addServers() - Add job servers


Add job servers

  • « GearmanWorker::addServer
  • GearmanWorker::clone »
  • PHP Manual
  • GearmanWorker
  • Add job servers

GearmanWorker::addServers

(PECL gearman >= 0.5.0)

GearmanWorker::addServers — Add job servers

Açıklama

public GearmanWorker::addServers(string $servers = null, bool $setupExceptionHandler = true): bool

Adds one or more job servers to this worker. These go into a list of servers that can be used to run jobs. No socket I/O happens here.

Bağımsız Değişkenler

servers

A comma separated list of job servers in the format host:port. If no port is specified, it defaults to 4730.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Add two job servers

<?php

$worker= new GearmanWorker();
$worker->addServers("10.0.0.1,10.0.0.2:7003");

?>

Ayrıca Bakınız

  • GearmanWorker::addServer() - Add a job server


Create a copy of the worker

  • « GearmanWorker::addServers
  • GearmanWorker::__construct »
  • PHP Manual
  • GearmanWorker
  • Create a copy of the worker

GearmanWorker::clone

(PECL gearman >= 0.5.0)

GearmanWorker::clone — Create a copy of the worker

Açıklama

public GearmanWorker::clone(): void

Creates a copy of the worker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanWorker object


Create a GearmanWorker instance

  • « GearmanWorker::clone
  • GearmanWorker::echo »
  • PHP Manual
  • GearmanWorker
  • Create a GearmanWorker instance

GearmanWorker::__construct

(PECL gearman >= 0.5.0)

GearmanWorker::__construct — Create a GearmanWorker instance

Açıklama

public GearmanWorker::__construct()

Creates a GearmanWorker instance representing a worker that connects to the job server and accepts tasks to run.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A GearmanWorker object

Ayrıca Bakınız

  • GearmanWorker::clone() - Create a copy of the worker


Test job server response

  • « GearmanWorker::__construct
  • GearmanWorker::error »
  • PHP Manual
  • GearmanWorker
  • Test job server response

GearmanWorker::echo

(PECL gearman >= 0.6.0)

GearmanWorker::echo — Test job server response

Açıklama

public GearmanWorker::echo(string $workload): bool

Sends data to all job servers to see if they echo it back. This is a test function to see if job servers are responding properly.

Bağımsız Değişkenler

workload

Arbitrary serialized data

Dönen Değerler

Standard Gearman return value.

Ayrıca Bakınız

  • GearmanClient::echo() - Send data to all job servers to see if they echo it back [deprecated]


Get the last error encountered

  • « GearmanWorker::echo
  • GearmanWorker::getErrno »
  • PHP Manual
  • GearmanWorker
  • Get the last error encountered

GearmanWorker::error

(PECL gearman >= 0.5.0)

GearmanWorker::error — Get the last error encountered

Açıklama

public GearmanWorker::error(): string|false

Returns an error string for the last error encountered.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A human readable error string, or false if there is no error message available.

Ayrıca Bakınız

  • GearmanWorker::getErrno() - Get errno


Get errno

  • « GearmanWorker::error
  • GearmanWorker::options »
  • PHP Manual
  • GearmanWorker
  • Get errno

GearmanWorker::getErrno

(PECL gearman >= 0.5.0)

GearmanWorker::getErrno — Get errno

Açıklama

public GearmanWorker::getErrno(): int

Returns the value of errno in the case of a GEARMAN_ERRNO return value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid errno.

Ayrıca Bakınız

  • GearmanWorker::error() - Get the last error encountered


Get worker options

  • « GearmanWorker::getErrno
  • GearmanWorker::register »
  • PHP Manual
  • GearmanWorker
  • Get worker options

GearmanWorker::options

(PECL gearman >= 0.6.0)

GearmanWorker::options — Get worker options

Açıklama

public GearmanWorker::options(): int

Gets the options previously set for the worker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The options currently set for the worker.

Ayrıca Bakınız

  • GearmanWorker::setOptions() - Set worker options


Register a function with the job server

  • « GearmanWorker::options
  • GearmanWorker::removeOptions »
  • PHP Manual
  • GearmanWorker
  • Register a function with the job server

GearmanWorker::register

(PECL gearman >= 0.6.0)

GearmanWorker::register — Register a function with the job server

Açıklama

public GearmanWorker::register(string $function_name, int $timeout = 0): bool

Registers a function name with the job server with an optional timeout. The timeout specifies how many seconds the server will wait before marking a job as failed. If the timeout is set to zero, there is no timeout.

Bağımsız Değişkenler

function_name

The name of a function to register with the job server

timeout

An interval of time in seconds

Dönen Değerler

A standard Gearman return value.

Ayrıca Bakınız

  • GearmanWorker::unregister() - Unregister a function name with the job servers
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers


Remove worker options

  • « GearmanWorker::register
  • GearmanWorker::returnCode »
  • PHP Manual
  • GearmanWorker
  • Remove worker options

GearmanWorker::removeOptions

(PECL gearman >= 0.6.0)

GearmanWorker::removeOptions — Remove worker options

Açıklama

public GearmanWorker::removeOptions(int $option): true

Removes (unsets) one or more worker options.

Bağımsız Değişkenler

option

The options to be removed (unset)

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::setOptions() - Set worker options
  • GearmanWorker::addOptions() - Add worker options


Get last Gearman return code

  • « GearmanWorker::removeOptions
  • GearmanWorker::setId »
  • PHP Manual
  • GearmanWorker
  • Get last Gearman return code

GearmanWorker::returnCode

(PECL gearman >= 0.5.0)

GearmanWorker::returnCode — Get last Gearman return code

Açıklama

public GearmanWorker::returnCode(): int

Returns the last Gearman return code.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A valid Gearman return code.

Ayrıca Bakınız

  • GearmanWorker::error() - Get the last error encountered
  • GearmanWorker::getErrno() - Get errno


Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

  • « GearmanWorker::returnCode
  • GearmanWorker::setOptions »
  • PHP Manual
  • GearmanWorker
  • Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

GearmanWorker::setId

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

GearmanWorker::setId — Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers

Açıklama

public GearmanWorker::setId(string $id): bool

Assigns the worker an identifier.

Bağımsız Değişkenler

id

A string identifier.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 GearmanWorker::setId() example

Set an identifier for a simple worker.

<?php
$worker= new GearmanWorker();
$worker->setId('test');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Run the following command:
gearadmin --workers

Output:
30 ::3a3a:3361:3361:3a33%976303667 - : test


Set worker options

  • « GearmanWorker::setId
  • GearmanWorker::setTimeout »
  • PHP Manual
  • GearmanWorker
  • Set worker options

GearmanWorker::setOptions

(PECL gearman >= 0.5.0)

GearmanWorker::setOptions — Set worker options

Açıklama

public GearmanWorker::setOptions(int $option): true

Sets one or more options to the supplied value.

Bağımsız Değişkenler

option

The options to be set

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • GearmanWorker::options() - Get worker options
  • GearmanWorker::addOptions() - Add worker options
  • GearmanWorker::removeOptions() - Remove worker options
  • GearmanClient::setOptions() - Set client options


Set socket I/O activity timeout

  • « GearmanWorker::setOptions
  • GearmanWorker::timeout »
  • PHP Manual
  • GearmanWorker
  • Set socket I/O activity timeout

GearmanWorker::setTimeout

(PECL gearman >= 0.6.0)

GearmanWorker::setTimeout — Set socket I/O activity timeout

Açıklama

public GearmanWorker::setTimeout(int $timeout): true

Sets the interval of time to wait for socket I/O activity.

Bağımsız Değişkenler

timeout

An interval of time in milliseconds. A negative value indicates an infinite timeout.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 A simple worker with a 5 second timeout

<?php

echo "Starting\n";

# Create our worker object.
$gmworker= new GearmanWorker();

# Add default server (localhost).
$gmworker->addServer();

# Register function "reverse" with the server.
$gmworker->addFunction("reverse", "reverse_fn");

# Set the timeout to 5 seconds
$gmworker->setTimeout(5000);

echo "Waiting for job...\n";
while(@$gmworker->work() || $gmworker->returnCode() == GEARMAN_TIMEOUT)
{
if ($gmworker->returnCode() == GEARMAN_TIMEOUT)
{
# Normally one would want to do something useful here ...
echo "Timeout. Waiting for next job...\n";
continue;
}

if ($gmworker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $gmworker->returnCode() . "\n";
break;
}
}

echo "Done\n";

function reverse_fn($job)
{
return strrev($job->workload());
}

?>

Running the worker with no submitted jobs will generate output that looks like the following:

Starting
Waiting for job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...
Timeout. Waiting for next job...

Ayrıca Bakınız

  • GearmanWorker::timeout() - Get socket I/O activity timeout


Get socket I/O activity timeout

  • « GearmanWorker::setTimeout
  • GearmanWorker::unregister »
  • PHP Manual
  • GearmanWorker
  • Get socket I/O activity timeout

GearmanWorker::timeout

(PECL gearman >= 0.6.0)

GearmanWorker::timeout — Get socket I/O activity timeout

Açıklama

public GearmanWorker::timeout(): int

Returns the current time to wait, in milliseconds, for socket I/O activity.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A time period is milliseconds. A negative value indicates an infinite timeout.

Ayrıca Bakınız

  • GearmanWorker::setTimeout() - Set socket I/O activity timeout


Unregister a function name with the job servers

  • « GearmanWorker::timeout
  • GearmanWorker::unregisterAll »
  • PHP Manual
  • GearmanWorker
  • Unregister a function name with the job servers

GearmanWorker::unregister

(PECL gearman >= 0.6.0)

GearmanWorker::unregister — Unregister a function name with the job servers

Açıklama

public GearmanWorker::unregister(string $function_name): bool

Unregisters a function name with the job servers ensuring that no more jobs (for that function) are sent to this worker.

Bağımsız Değişkenler

function_name

The name of a function to register with the job server

Dönen Değerler

A standard Gearman return value.

Ayrıca Bakınız

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregisterAll() - Unregister all function names with the job servers


Unregister all function names with the job servers

  • « GearmanWorker::unregister
  • GearmanWorker::wait »
  • PHP Manual
  • GearmanWorker
  • Unregister all function names with the job servers

GearmanWorker::unregisterAll

(PECL gearman >= 0.6.0)

GearmanWorker::unregisterAll — Unregister all function names with the job servers

Açıklama

public GearmanWorker::unregisterAll(): bool

Unregisters all previously registered functions, ensuring that no more jobs are sent to this worker.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A standard Gearman return value.

Ayrıca Bakınız

  • GearmanWorker::register() - Register a function with the job server
  • GearmanWorker::unregister() - Unregister a function name with the job servers


Wait for activity from one of the job servers

  • « GearmanWorker::unregisterAll
  • GearmanWorker::work »
  • PHP Manual
  • GearmanWorker
  • Wait for activity from one of the job servers

GearmanWorker::wait

(PECL gearman >= 0.6.0)

GearmanWorker::wait — Wait for activity from one of the job servers

Açıklama

public GearmanWorker::wait(): bool

Causes the worker to wait for activity from one of the Gearman job servers when operating in non-blocking I/O mode. On failure, issues a E_WARNING with the last Gearman error encountered.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Running worker in non-blocking mode

<?php

echo "Starting\n";

# Create our worker object
$worker= new GearmanWorker();

# Make the worker non-blocking
$worker->addOptions(GEARMAN_WORKER_NON_BLOCKING);

# Add the default server (localhost, port 4730)
$worker->addServer();

# Add our reverse function
$worker->addFunction('reverse', 'reverse_fn');

# Try to grab a job
while (@$worker->work() ||
$worker->returnCode() == GEARMAN_IO_WAIT ||
$worker->returnCode() == GEARMAN_NO_JOBS)
{
if ($worker->returnCode() == GEARMAN_SUCCESS)
continue;

echo "Waiting for next job...\n";
if (!@$worker->wait())
{
if ($worker->returnCode() == GEARMAN_NO_ACTIVE_FDS)
{
# We are not connected to any servers, so wait a bit before
# trying to reconnect.
sleep(5);
continue;
}
break;
}
}

echo "Worker Error: " . $worker->error() . "\n";

function reverse_fn($job)
{
return strrev($job->workload());
}

?>

Ayrıca Bakınız

  • GearmanWorker::work() - Wait for and perform jobs


Wait for and perform jobs

  • « GearmanWorker::wait
  • GearmanException »
  • PHP Manual
  • GearmanWorker
  • Wait for and perform jobs

GearmanWorker::work

(PECL gearman >= 0.5.0)

GearmanWorker::work — Wait for and perform jobs

Açıklama

public GearmanWorker::work(): bool

Waits for a job to be assigned and then calls the appropriate callback function. Issues an E_WARNING with the last Gearman error if the return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or GEARMAN_WORK_FAIL.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 GearmanWorker::work() example

<?php

# create the worker
$worker = new GearmanWorker();

# add the default job server (localhost)
$worker->addServer();

# add the reverse function
$worker->addFunction("reverse", "my_reverse_function");

# start te worker listening for job submissions
while ($worker->work());

function my_reverse_function($job)
{
return strrev($job->workload());
}

?>

Ayrıca Bakınız

  • GearmanWorker::addFunction() - Register and add callback function


The GearmanException class

(PECL gearman >= 0.5.0)

Giriş

Sınıf Sözdizimi

/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Lightweight Directory Access Protocol

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Using the PHP LDAP calls
  • LDAP controls
  • Örnekler
    • Basic usage
    • LDAP Controls
  • LDAP İşlevleri
    • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
    • ldap_add_ext — Add entries to LDAP directory
    • ldap_add — Add entries to LDAP directory
    • ldap_bind_ext — Bind to LDAP directory
    • ldap_bind — Bind to LDAP directory
    • ldap_close — Takma Adı: ldap_unbind
    • ldap_compare — Compare value of attribute found in entry specified with DN
    • ldap_connect_wallet — Connect to an LDAP server
    • ldap_connect — Connect to an LDAP server
    • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
    • ldap_control_paged_result — Send LDAP pagination control
    • ldap_count_entries — Count the number of entries in a search
    • ldap_count_references — Counts the number of references in a search result
    • ldap_delete_ext — Delete an entry from a directory
    • ldap_delete — Delete an entry from a directory
    • ldap_dn2ufn — Convert DN to User Friendly Naming format
    • ldap_err2str — Convert LDAP error number into string error message
    • ldap_errno — Return the LDAP error number of the last LDAP command
    • ldap_error — Return the LDAP error message of the last LDAP command
    • ldap_escape — Escape a string for use in an LDAP filter or DN
    • ldap_exop_passwd — PASSWD extended operation helper
    • ldap_exop_refresh — Refresh extended operation helper
    • ldap_exop_sync — Performs an extended operation
    • ldap_exop_whoami — WHOAMI extended operation helper
    • ldap_exop — Performs an extended operation
    • ldap_explode_dn — Splits DN into its component parts
    • ldap_first_attribute — Return first attribute
    • ldap_first_entry — Return first result id
    • ldap_first_reference — Return first reference
    • ldap_free_result — Free result memory
    • ldap_get_attributes — Get attributes from a search result entry
    • ldap_get_dn — Get the DN of a result entry
    • ldap_get_entries — Get all result entries
    • ldap_get_option — Get the current value for given option
    • ldap_get_values_len — Get all binary values from a result entry
    • ldap_get_values — Get all values from a result entry
    • ldap_list — Single-level search
    • ldap_mod_add_ext — Add attribute values to current attributes
    • ldap_mod_add — Add attribute values to current attributes
    • ldap_mod_del_ext — Delete attribute values from current attributes
    • ldap_mod_del — Delete attribute values from current attributes
    • ldap_mod_replace_ext — Replace attribute values with new ones
    • ldap_mod_replace — Replace attribute values with new ones
    • ldap_modify_batch — Batch and execute modifications on an LDAP entry
    • ldap_modify — Takma Adı: ldap_mod_replace
    • ldap_next_attribute — Get the next attribute in result
    • ldap_next_entry — Get next result entry
    • ldap_next_reference — Get next reference
    • ldap_parse_exop — Parse result object from an LDAP extended operation
    • ldap_parse_reference — Extract information from reference entry
    • ldap_parse_result — Extract information from result
    • ldap_read — Read an entry
    • ldap_rename_ext — Modify the name of an entry
    • ldap_rename — Modify the name of an entry
    • ldap_sasl_bind — Bind to LDAP directory using SASL
    • ldap_search — Search LDAP tree
    • ldap_set_option — Set the value of the given option
    • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
    • ldap_sort — Sort LDAP result entries on the client side
    • ldap_start_tls — Start TLS
    • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
    • ldap_unbind — Unbind from LDAP directory
  • LDAP\Connection — The LDAP\Connection class
  • LDAP\Result — The LDAP\Result class
  • LDAP\ResultEntry — The LDAP\ResultEntry class


Giriş

LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access "Directory Servers". The Directory is a special kind of database that holds information in a tree structure.

The concept is similar to your hard disk directory structure, except that in this context, the root directory is "The world" and the first level subdirectories are "countries". Lower levels of the directory structure contain entries for companies, organisations or places, while yet lower still we find directory entries for people, and perhaps equipment or documents.

To refer to a file in a subdirectory on your hard disk, you might use something like:

   /usr/local/myapp/docs

The forwards slash marks each division in the reference, and the sequence is read from left to right.

The equivalent to the fully qualified file reference in LDAP is the "distinguished name", referred to simply as "dn". An example dn might be:

   cn=John Smith,ou=Accounts,o=My Company,c=US

The comma marks each division in the reference, and the sequence is read from right to left. You would read this dn as:

   country = US
   organization = My Company
   organizationalUnit = Accounts
   commonName = John Smith

In the same way as there are no hard rules about how you organise the directory structure of a hard disk, a directory server manager can set up any structure that is meaningful for the purpose. However, there are some conventions that are used. The message is that you can not write code to access a directory server unless you know something about its structure, any more than you can use a database without some knowledge of what is available.

Lots of information about LDAP can be found at

  • » Mozilla

  • » OpenLDAP Project

  • Internet Engineering Taskforce RFCs » 4510 through » 4519.

The Netscape SDK contains a helpful » Programmer's Guide in HTML format.


Gereksinimler

You will need to get and compile LDAP client libraries from either » OpenLDAP or » Bind9.net in order to compile PHP with LDAP support. For PHP 5.6 or newer you will need OpenLDAP 2.4 or newer.


Kurulum

LDAP support in PHP is not enabled by default. You will need to use the --with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure --with-ldap-sasl[=DIR] is used, and that sasl.h exists on the system.

Bilginize: Note to Win32 Users

Bu eklentinin çalışabilmesi için bazı DLL dosyalarının bulunduğu yerlerin Windows sistem PATH'ında tanımlı olması gerekir. Bunun nasıl yapılacağı SSS altında "PHP dizinimi Windows'ta PATH'a nasıl eklerim" başlığı altında açıklanmıştır. Eklenti, DLL dosyaları PHP dizininden Windows system dizinine taşındığında da çalışırsa da (çünkü system dizini sistem PATH'ında zaten vardır) bu önerilmez. Bu eklentinin çalışabilmesi için bulunduğu dizine PATH üzerinden erişebilmesi gereken dosyanın ismi: libeay32.dll and ssleay32.dll, or, as of OpenSSL 1.1 libcrypto-*.dll and libssl-*.dll

In order to use Oracle LDAP libraries, proper Oracle environment has to be set.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

LDAP configuration options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
ldap.max_links | "-1" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

ldap.max_links int

The maximum number of LDAP connections per process.


Özkaynak Türleri

Prior to PHP 8.1.0, most LDAP functions operate on or return resources (e.g. ldap_connect() returns a positive LDAP link identifier required by most LDAP functions).


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

LDAP_DEREF_NEVER (int)
Alias dereferencing rule - Never.
LDAP_DEREF_SEARCHING (int)
Alias dereferencing rule - Searching.
LDAP_DEREF_FINDING (int)
Alias dereferencing rule - Finding.
LDAP_DEREF_ALWAYS (int)
Alias dereferencing rule - Always.
LDAP_OPT_DEREF (int)
Specifies alternative rules for following aliases at the server.
LDAP_OPT_SIZELIMIT (int)

Specifies the maximum number of entries that can be returned on a search operation.

Bilginize: The actual size limit for operations is also bounded by the server's configured maximum number of return entries. The lesser of these two settings is the actual size limit.

LDAP_OPT_TIMELIMIT (int)
Specifies the number of seconds to wait for search results.

Bilginize: The actual time limit for operations is also bounded by the server's configured maximum time. The lesser of these two settings is the actual time limit.

LDAP_OPT_NETWORK_TIMEOUT (int)
Option for ldap_set_option() to allow setting network timeout. (Available as of PHP 5.3.0)
LDAP_OPT_PROTOCOL_VERSION (int)
Specifies the LDAP protocol to be used (V2 or V3).
LDAP_OPT_ERROR_NUMBER (int)
Latest session error number.
LDAP_OPT_REFERRALS (int)
Specifies whether to automatically follow referrals returned by the LDAP server.
LDAP_OPT_RESTART (int)
Determines whether or not the connection should be implicitly restarted.
LDAP_OPT_HOST_NAME (int)
Sets/gets a space-separated of hosts when trying to connect.
LDAP_OPT_ERROR_STRING (int)
Alias of LDAP_OPT_DIAGNOSTIC_MESSAGE.
LDAP_OPT_DIAGNOSTIC_MESSAGE (int)
Gets the latest session error message.
LDAP_OPT_MATCHED_DN (int)
Sets/gets the matched DN associated with the connection.
LDAP_OPT_SERVER_CONTROLS (int)
Specifies a default list of server controls to be sent with each request.
LDAP_OPT_CLIENT_CONTROLS (int)
Specifies a default list of client controls to be processed with each request.
LDAP_OPT_DEBUG_LEVEL (int)
Specifies a bitwise level for debug traces.
LDAP_OPT_X_KEEPALIVE_IDLE (int)
Specifies the number of seconds a connection needs to remain idle before TCP starts sending keepalive probes.
LDAP_OPT_X_KEEPALIVE_PROBES (int)
Specifies the maximum number of keepalive probes TCP should send before dropping the connection.
LDAP_OPT_X_KEEPALIVE_INTERVAL (int)
Specifies the interval in seconds between individual keepalive probes.
LDAP_OPT_X_TLS_CACERTDIR (int)
Specifies the path of the directory containing CA certificates.
LDAP_OPT_X_TLS_CACERTFILE (int)
Specifies the full-path of the CA certificate file.
LDAP_OPT_X_TLS_CERTFILE (int)
Specifies the full-path of the certificate file.
LDAP_OPT_X_TLS_CIPHER_SUITE (int)
Specifies the allowed cipher suite.
LDAP_OPT_X_TLS_CRLCHECK (int)
Specifies the CRL evaluation strategy. This must be one of: LDAP_OPT_X_TLS_CRL_NONE,LDAP_OPT_X_TLS_CRL_PEER, LDAP_OPT_X_TLS_CRL_ALL.

Bilginize: This option is only valid for OpenSSL.

LDAP_OPT_X_TLS_CRLFILE (int)
Specifies the full-path of the CRL file.

Bilginize: This option is only valid for GnuTLS.

LDAP_OPT_X_TLS_DHFILE (int)
Specifies the full-path of the file containing the parameters for Diffie-Hellman ephemeral key exchange.

Bilginize: This option is ignored by GnuTLS and Mozilla NSS.

LDAP_OPT_X_TLS_KEYFILE (int)
Specifies the full-path of the certificate key file.
LDAP_OPT_X_TLS_PROTOCOL_MIN (int)
Specifies the minimum protocol version. This can be one of: LDAP_OPT_X_TLS_PROTOCOL_SSL2,LDAP_OPT_X_TLS_PROTOCOL_SSL3, LDAP_OPT_X_TLS_PROTOCOL_TLS1_0, LDAP_OPT_X_TLS_PROTOCOL_TLS1_1, LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
LDAP_OPT_X_TLS_RANDOM_FILE (int)
Sets/gets the random file when one of the system default ones are not available.
LDAP_OPT_X_TLS_REQUIRE_CERT (int)
Specifies the certificate checking strategy. This must be one of: LDAP_OPT_X_TLS_NEVER,LDAP_OPT_X_TLS_HARD, LDAP_OPT_X_TLS_DEMAND, LDAP_OPT_X_TLS_ALLOW, LDAP_OPT_X_TLS_TRY. (Available as of PHP 7.0.0)
GSLC_SSL_NO_AUTH (int)
SSL Authentication Mode - No authentication required. (Only for Oracle LDAP)
GSLC_SSL_ONEWAY_AUTH (int)
SSL Authentication Mode - Only server authentication required. (Only for Oracle LDAP)
GSLC_SSL_TWOWAY_AUTH (int)
SSL Authentication Mode - Both server and client authentication required. (Only for Oracle LDAP)
LDAP_EXOP_START_TLS (string)
Extended Operation constant - Start TLS (» RFC 4511).
LDAP_EXOP_MODIFY_PASSWD (string)
Extended Operation constant - Modify password (» RFC 3062).
LDAP_EXOP_REFRESH (string)
Extended Operation Constant - Refresh (» RFC 2589).
LDAP_EXOP_WHO_AM_I (string)
Extended Operation Constant - WHOAMI (» RFC 4532).
LDAP_EXOP_TURN (string)
Extended Operation Constant - Turn (» RFC 4531).
LDAP_CONTROL_MANAGEDSAIT (string)
Control Constant - Manage DSA IT (» RFC 3296). Available as of PHP 7.3.0.
LDAP_CONTROL_PROXY_AUTHZ (string)
Control Constant - Proxied Authorization (» RFC 4370). Available as of PHP 7.3.0.
LDAP_CONTROL_SUBENTRIES (string)
Control Constant - Subentries (» RFC 3672). Available as of PHP 7.3.0.
LDAP_CONTROL_VALUESRETURNFILTER (string)
Control Constant - Filter returned values (» RFC 3876). Available as of PHP 7.3.0.
LDAP_CONTROL_ASSERT (string)
Control Constant - Assertion (» RFC 4528). Available as of PHP 7.3.0.
LDAP_CONTROL_PRE_READ (string)
Control Constant - Pre read (» RFC 4527). Available as of PHP 7.3.0.
LDAP_CONTROL_POST_READ (string)
Control Constant - Post read (» RFC 4527). Available as of PHP 7.3.0.
LDAP_CONTROL_SORTREQUEST (string)
Control Constant - Sort request (» RFC 2891). Available as of PHP 7.3.0.
LDAP_CONTROL_SORTRESPONSE (string)
Control Constant - Sort response (» RFC 2891). Available as of PHP 7.3.0.
LDAP_CONTROL_PAGEDRESULTS (string)
Control Constant - Paged results (» RFC 2696). Available as of PHP 7.3.0.
LDAP_CONTROL_AUTHZID_REQUEST (string)
Control Constant - Authorization Identity Request (» RFC 3829). Available as of PHP 7.3.0.
LDAP_CONTROL_AUTHZID_RESPONSE (string)
Control Constant - Authorization Identity Response (» RFC 3829). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC (string)
Control Constant - Content Synchronization Operation (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC_STATE (string)
Control Constant - Content Synchronization Operation State (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_SYNC_DONE (string)
Control Constant - Content Synchronization Operation Done (» RFC 4533). Available as of PHP 7.3.0.
LDAP_CONTROL_DONTUSECOPY (string)
Control Constant - Don't Use Copy (» RFC 6171). Available as of PHP 7.3.0.
LDAP_CONTROL_PASSWORDPOLICYREQUEST (string)
Control Constant - Password Policy Request. Available as of PHP 7.3.0.
LDAP_CONTROL_PASSWORDPOLICYRESPONSE (string)
Control Constant - Password Policy Response. Available as of PHP 7.3.0.
LDAP_CONTROL_X_INCREMENTAL_VALUES (string)
Control Constant - Active Directory Incremental Values. Available as of PHP 7.3.0.
LDAP_CONTROL_X_DOMAIN_SCOPE (string)
Control Constant - Active Directory Domain Scope. Available as of PHP 7.3.0.
LDAP_CONTROL_X_PERMISSIVE_MODIFY (string)
Control Constant - Active Directory Permissive Modify. Available as of PHP 7.3.0.
LDAP_CONTROL_X_SEARCH_OPTIONS (string)
Control Constant - Active Directory Search Options. Available as of PHP 7.3.0.
LDAP_CONTROL_X_TREE_DELETE (string)
Control Constant - Active Directory Tree Delete. Available as of PHP 7.3.0.
LDAP_CONTROL_X_EXTENDED_DN (string)
Control Constant - Active Directory Extended DN. Available as of PHP 7.3.0.
LDAP_CONTROL_VLVREQUEST (string)
Control Constant - Virtual List View Request. Available as of PHP 7.3.0.
LDAP_CONTROL_VLVRESPONSE (string)
Control Constant - Virtual List View Response. Available as of PHP 7.3.0.


Using the PHP LDAP calls

Before you can use the LDAP calls you will need to know...

  • The name or address of the directory server you will use

  • The "base dn" of the server (the part of the world directory that is held on this server, which could be "o=My Company,c=US")

  • Whether you need a password to access the server (many servers will provide read access for an "anonymous bind" but require a password for anything else)

The typical sequence of LDAP calls you will make in an application will follow this pattern:

  ldap_connect()    // establish connection to server
     |
  ldap_bind()       // anonymous or authenticated "login"
     |
  do something like search or update the directory
  and display the results
     |
  ldap_close()      // "logout"


LDAP controls

Controls are special objects which may be sent alongside an LDAP request to alter LDAP server behavior while performing the request. There may also be controls sent by the server alongside the response to provide more information, usually to answer a control object from the request.

Bilginize:

Not all controls are supported by all LDAP servers. To know which controls are supported by a server, you need to query the root DSE by reading an empty dn with the filter (objectClass=*).

Örnek 1 Testing support for paged result control

<?php

// $ds is a valid link identifier for a directory server

$result = ldap_read($ds, '', '(objectClass=*)', ['supportedControl']);
if (!in_array(LDAP_CONTROL_PAGEDRESULTS, ldap_get_entries($ds, $result)[0]['supportedcontrol'])) {
die("This server does not support paged result control");
}

?>

As of PHP 7.3, you can send controls with your request in all request functions using the serverctrls parameter. When a ext version of a function exists, you should use it if you want to get access to the full response object and be able to parse response controls from it using ldap_parse_result().

serverctrls must be an array containing an array for each control to send, containing the following keys:

oid (string)
The OID of the control. You should use constants starting with LDAP_CONTROL_ for this. See LDAP Constants.
iscritical (bool)
If a control is noted as critical, the request will fail if the control is not supported by the server, or if it fails to be applied. Note that some controls should always be marked as critical as noted in the RFC introducing them. Defaults to false.
value (mixed)
If applicable, the value of the control. Read below for more information.

Most control values are sent to the server BER-encoded. You may either BER-encode the value yourself, or you can instead pass an array with the correct keys so that the encoding is done for you. Supported controls to be passed as an array are:

  • LDAP_CONTROL_PAGEDRESULTS Expected keys are [size] and [cookie]

  • LDAP_CONTROL_ASSERT Expected key is filter

  • LDAP_CONTROL_VALUESRETURNFILTER Expected key is filter

  • LDAP_CONTROL_PRE_READ Expected key is attrs

  • LDAP_CONTROL_POST_READ Expected key is attrs

  • LDAP_CONTROL_SORTREQUEST Expects an array of arrays with keys attr, [oid], [reverse].

  • LDAP_CONTROL_VLVREQUEST Expected keys are before, after, attrvalue|(offset, count), [context]

The following controls do not need any value:

  • LDAP_CONTROL_PASSWORDPOLICYREQUEST

  • LDAP_CONTROL_MANAGEDSAIT

  • LDAP_CONTROL_DONTUSECOPY

The control LDAP_CONTROL_PROXY_AUTHZ is a special case as its value is not expected to be BER-encoded, so you can directly use a string for its value.

When controls are parsed by ldap_parse_result(), values are turned into an array if supported. This is supported for:

  • LDAP_CONTROL_PASSWORDPOLICYRESPONSE Keys are expire, grace, [error]

  • LDAP_CONTROL_PAGEDRESULTS Keys are size, cookie

  • LDAP_CONTROL_PRE_READ Keys are dn and LDAP attributes names

  • LDAP_CONTROL_POST_READ Keys are dn and LDAP attributes names

  • LDAP_CONTROL_SORTRESPONSE Keys are errcode, [attribute]

  • LDAP_CONTROL_VLVRESPONSE Keys are target, count, errcode, context


  • « LDAP controls
  • Basic usage »
  • PHP Manual
  • LDAP
  • Örnekler

Örnekler

İçindekiler

  • Basic usage
  • LDAP Controls


Basic usage

Retrieve information for all entries where the surname starts with "S" from a directory server, displaying an extract with name and email address.

Örnek 1 LDAP search example

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // this is an "anonymous" bind, typically
// read-only access
echo "Bind result is " . $r . "<br />";

echo "Searching for (sn=S*) ...";
// Search surname entry
$sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");
echo "Search result is " . $sr . "<br />";

echo "Number of entries returned is " . ldap_count_entries($ds, $sr) . "<br />";

echo "Getting entries ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:<p>";

for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "<br />";
echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
}

echo "Closing connection";
ldap_close($ds);

} else {
echo "<h4>Unable to connect to LDAP server</h4>";
}
?>


LDAP Controls

Here are some examples of using LDAP Controls with PHP >= 7.3.0.

Örnek 1 Bind with policy information

<?php

$user = 'cn=admin,dc=example,dc=com';
$passwd = 'adminpassword';

$ds = ldap_connect('ldap://localhost');

if ($ds) {
$r = ldap_bind_ext($ds, $user, $passwd, [['oid' => LDAP_CONTROL_PASSWORDPOLICYREQUEST]]);

if (ldap_parse_result($ds, $r, $errcode, $matcheddn, $errmsg, $referrals, $ctrls)) {
if ($errcode != 0) {
die("Error: $errmsg ($errcode)");
}
if (isset($ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE])) {
$value = $ctrls[LDAP_CONTROL_PASSWORDPOLICYRESPONSE]['value'];
echo "Expires in: ".$value['expire']." seconds\n";
echo "Number of auth left: ".$value['grace']."\n";
if (isset($value['error'])) {
echo "Policy error code: ".$value['error'];
}
}
}
} else {
die("Unable to connect to LDAP server");
}
?>

Örnek 2 Modify description only if it's not empty

<?php
// $link is an LDAP connection

$result = ldap_mod_replace_ext(
$link,
'o=test,dc=example,dc=com',
['description' => 'New description'],
[
[
'oid' => LDAP_CONTROL_ASSERT,
'iscritical' => TRUE,
'value' => ['filter' => '(!(description=*))']
]
]
);

// Then use ldap_parse_result
?>

Örnek 3 Read some values before deletion

<?php
// $link is an LDAP connection

$result = ldap_delete_ext(
$link,
'o=test,dc=example,dc=com',
[
[
'oid' => LDAP_CONTROL_PRE_READ,
'iscritical' => TRUE,
'value' => ['attrs' => ['o', 'description']]
]
]
);

// Then use ldap_parse_result
?>

Örnek 4 Delete a reference

<?php
// $link is an LDAP connection

// Without the control it would delete the referenced node
// Make sure to set the control as critical to avoid that
$result = ldap_delete_ext(
$link,
'cn=reference,dc=example,dc=com',
[['oid' => LDAP_CONTROL_MANAGEDSAIT, 'iscritical' => TRUE]]
);

// Then use ldap_parse_result
?>

Örnek 5 Use pagination for a search

<?php
// $link is an LDAP connection

$cookie = '';

do {
$result = ldap_search(
$link, 'dc=example,dc=base', '(cn=*)', ['cn'], 0, 0, 0, LDAP_DEREF_NEVER,
[['oid' => LDAP_CONTROL_PAGEDRESULTS, 'value' => ['size' => 2, 'cookie' => $cookie]]]
);
ldap_parse_result($link, $result, $errcode , $matcheddn , $errmsg , $referrals, $controls);
// To keep the example short errors are not tested
$entries = ldap_get_entries($link, $result);
foreach ($entries as $entry) {
echo "cn: ".$entry['cn'][0]."\n";
}
if (isset($controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'])) {
// You need to pass the cookie from the last call to the next one
$cookie = $controls[LDAP_CONTROL_PAGEDRESULTS]['value']['cookie'];
} else {
$cookie = '';
}
// Empty cookie means last page
} while (strlen($cookie) > 0);
?>


LDAP İşlevleri

İçindekiler

  • ldap_8859_to_t61 — Translate 8859 characters to t61 characters
  • ldap_add_ext — Add entries to LDAP directory
  • ldap_add — Add entries to LDAP directory
  • ldap_bind_ext — Bind to LDAP directory
  • ldap_bind — Bind to LDAP directory
  • ldap_close — Takma Adı: ldap_unbind
  • ldap_compare — Compare value of attribute found in entry specified with DN
  • ldap_connect_wallet — Connect to an LDAP server
  • ldap_connect — Connect to an LDAP server
  • ldap_control_paged_result_response — Retrieve the LDAP pagination cookie
  • ldap_control_paged_result — Send LDAP pagination control
  • ldap_count_entries — Count the number of entries in a search
  • ldap_count_references — Counts the number of references in a search result
  • ldap_delete_ext — Delete an entry from a directory
  • ldap_delete — Delete an entry from a directory
  • ldap_dn2ufn — Convert DN to User Friendly Naming format
  • ldap_err2str — Convert LDAP error number into string error message
  • ldap_errno — Return the LDAP error number of the last LDAP command
  • ldap_error — Return the LDAP error message of the last LDAP command
  • ldap_escape — Escape a string for use in an LDAP filter or DN
  • ldap_exop_passwd — PASSWD extended operation helper
  • ldap_exop_refresh — Refresh extended operation helper
  • ldap_exop_sync — Performs an extended operation
  • ldap_exop_whoami — WHOAMI extended operation helper
  • ldap_exop — Performs an extended operation
  • ldap_explode_dn — Splits DN into its component parts
  • ldap_first_attribute — Return first attribute
  • ldap_first_entry — Return first result id
  • ldap_first_reference — Return first reference
  • ldap_free_result — Free result memory
  • ldap_get_attributes — Get attributes from a search result entry
  • ldap_get_dn — Get the DN of a result entry
  • ldap_get_entries — Get all result entries
  • ldap_get_option — Get the current value for given option
  • ldap_get_values_len — Get all binary values from a result entry
  • ldap_get_values — Get all values from a result entry
  • ldap_list — Single-level search
  • ldap_mod_add_ext — Add attribute values to current attributes
  • ldap_mod_add — Add attribute values to current attributes
  • ldap_mod_del_ext — Delete attribute values from current attributes
  • ldap_mod_del — Delete attribute values from current attributes
  • ldap_mod_replace_ext — Replace attribute values with new ones
  • ldap_mod_replace — Replace attribute values with new ones
  • ldap_modify_batch — Batch and execute modifications on an LDAP entry
  • ldap_modify — Takma Adı: ldap_mod_replace
  • ldap_next_attribute — Get the next attribute in result
  • ldap_next_entry — Get next result entry
  • ldap_next_reference — Get next reference
  • ldap_parse_exop — Parse result object from an LDAP extended operation
  • ldap_parse_reference — Extract information from reference entry
  • ldap_parse_result — Extract information from result
  • ldap_read — Read an entry
  • ldap_rename_ext — Modify the name of an entry
  • ldap_rename — Modify the name of an entry
  • ldap_sasl_bind — Bind to LDAP directory using SASL
  • ldap_search — Search LDAP tree
  • ldap_set_option — Set the value of the given option
  • ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing
  • ldap_sort — Sort LDAP result entries on the client side
  • ldap_start_tls — Start TLS
  • ldap_t61_to_8859 — Translate t61 characters to 8859 characters
  • ldap_unbind — Unbind from LDAP directory


Translate 8859 characters to t61 characters

  • « LDAP İşlevleri
  • ldap_add_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Translate 8859 characters to t61 characters

ldap_8859_to_t61

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_8859_to_t61 — Translate 8859 characters to t61 characters

Açıklama

ldap_8859_to_t61(string $value): string|false

Translate ISO-8859 characters to t61 characters.

This function is useful if you have to talk to a legacy LDAPv2 server.

Bağımsız Değişkenler

value

The text to be translated.

Dönen Değerler

Return the t61 translation of value, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ldap_t61_to_8859() - Translate t61 characters to 8859 characters


Add entries to LDAP directory

  • « ldap_8859_to_t61
  • ldap_add »
  • PHP Manual
  • LDAP İşlevleri
  • Add entries to LDAP directory

ldap_add_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_add_ext — Add entries to LDAP directory

Açıklama

ldap_add_ext(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_add() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_add()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • ldap_add() - Add entries to LDAP directory
  • ldap_parse_result() - Extract information from result


Add entries to LDAP directory

  • « ldap_add_ext
  • ldap_bind_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Add entries to LDAP directory

ldap_add

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_add — Add entries to LDAP directory

Açıklama

ldap_add(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): bool

Add entries in the LDAP directory.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

entry

An array that specifies the information about the entry. The values in the entries are indexed by individual attributes. In case of multiple values for an attribute, they are indexed using integers starting with 0.

<?php
$entry["attribute1"] = "value";
$entry["attribute2"][0] = "value1";
$entry["attribute2"][1] = "value2";
?>

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

Örnek 1 Complete example with authenticated bind

<?php
$ds = ldap_connect("localhost"); // assuming the LDAP server is on this host

if ($ds) {
// bind with appropriate dn to give update access
$r = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");

// prepare data
$info["cn"] = "John Jones";
$info["sn"] = "Jones";
$info["objectclass"] = "person";

// add data to directory
$r = ldap_add($ds, "cn=John Jones, o=My Company, c=US", $info);

ldap_close($ds);
} else {
echo "Unable to connect to LDAP server";
}
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • ldap_add_ext() - Add entries to LDAP directory
  • ldap_delete() - Delete an entry from a directory


Bind to LDAP directory

  • « ldap_add
  • ldap_bind »
  • PHP Manual
  • LDAP İşlevleri
  • Bind to LDAP directory

ldap_bind_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_bind_ext — Bind to LDAP directory

Açıklama

ldap_bind_ext(
LDAP\Connection $ldap,
?string $dn = null,
?string $password = null,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_bind() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_bind()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.

Ayrıca Bakınız

  • ldap_bind() - Bind to LDAP directory
  • ldap_parse_result() - Extract information from result


Bind to LDAP directory

  • « ldap_bind_ext
  • ldap_close »
  • PHP Manual
  • LDAP İşlevleri
  • Bind to LDAP directory

ldap_bind

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_bind — Bind to LDAP directory

Açıklama

ldap_bind(LDAP\Connection $ldap, ?string $dn = null, ?string $password = null): bool

Binds to the LDAP directory with specified RDN and password.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

password

If password is not specified or is empty, an anonymous bind is attempted. The dn can also be left empty for an anonymous bind. This is defined in https://tools.ietf.org/html/rfc2251#section-4.2.2

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Örnekler

Örnek 1 Using LDAP Bind

<?php

// using ldap bind
$ldaprdn = 'uname'; // ldap rdn or dn
$ldappass = 'password'; // associated password

// connect to ldap server
$ldapconn = ldap_connect("ldap://ldap.example.com")
or die("Could not connect to LDAP server.");

if ($ldapconn) {

// binding to ldap server
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

// verify binding
if ($ldapbind) {
echo "LDAP bind successful...";
} else {
echo "LDAP bind failed...";
}

}

?>

Örnek 2 Using LDAP Bind Anonymously

<?php

//using ldap bind anonymously

// connect to ldap server
$ldapconn = ldap_connect("ldap://ldap.example.com")
or die("Could not connect to LDAP server.");

if ($ldapconn) {

// binding anonymously
$ldapbind = ldap_bind($ldapconn);

if ($ldapbind) {
echo "LDAP bind anonymous successful...";
} else {
echo "LDAP bind anonymous failed...";
}

}

?>

Ayrıca Bakınız

  • ldap_bind_ext() - Bind to LDAP directory
  • ldap_unbind() - Unbind from LDAP directory


Takma Adı: ldap_unbind

  • « ldap_bind
  • ldap_compare »
  • PHP Manual
  • LDAP İşlevleri
  • Takma Adı: ldap_unbind

ldap_close

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_close — Takma Adı: ldap_unbind()

Açıklama

Bu işlev şu işlevin takma adıdır: ldap_unbind().


Compare value of attribute found in entry specified with DN

  • « ldap_close
  • ldap_connect_wallet »
  • PHP Manual
  • LDAP İşlevleri
  • Compare value of attribute found in entry specified with DN

ldap_compare

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_compare — Compare value of attribute found in entry specified with DN

Açıklama

ldap_compare(
LDAP\Connection $ldap,
string $dn,
string $attribute,
string $value,
?array $controls = null
): bool|int

Compare value of attribute with value of same attribute in an LDAP directory entry.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

attribute

The attribute name.

value

The compared value.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Returns true if value matches otherwise returns false. Returns -1 on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

The following example demonstrates how to check whether or not given password matches the one defined in DN specified entry.

Örnek 1 Complete example of password check

<?php

$ds=ldap_connect("localhost"); // assuming the LDAP server is on this host

if ($ds) {

// bind
if (ldap_bind($ds)) {

// prepare data
$dn = "cn=Matti Meikku, ou=My Unit, o=My Company, c=FI";
$value = "secretpassword";
$attr = "password";

// compare value
$r=ldap_compare($ds, $dn, $attr, $value);

if ($r === -1) {
echo "Error: " . ldap_error($ds);
} elseif ($r === true) {
echo "Password correct.";
} elseif ($r === false) {
echo "Wrong guess! Password incorrect.";
}

} else {
echo "Unable to bind to LDAP server.";
}

ldap_close($ds);

} else {
echo "Unable to connect to LDAP server.";
}
?>

Notlar

Uyarı

ldap_compare() can NOT be used to compare BINARY values!


Connect to an LDAP server

  • « ldap_compare
  • ldap_connect »
  • PHP Manual
  • LDAP İşlevleri
  • Connect to an LDAP server

ldap_connect_wallet

(PHP 8 >= 8.3.0)

ldap_connect_wallet — Connect to an LDAP server

Açıklama

ldap_connect_wallet(
?string $uri = null,
string $wallet,
string $password,
int $auth_mode = GSLC_SSL_NO_AUTH
): LDAP\Connection|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

uri

wallet

password

auth_mode

Dönen Değerler

Ayrıca Bakınız

  • ldap_connect() - Connect to an LDAP server


Connect to an LDAP server

  • « ldap_connect_wallet
  • ldap_control_paged_result_response »
  • PHP Manual
  • LDAP İşlevleri
  • Connect to an LDAP server

ldap_connect

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_connect — Connect to an LDAP server

Açıklama

ldap_connect(?string $uri = null): LDAP\Connection|false
Uyarı

As of PHP 8.3.0, the following signature is deprecated.

ldap_connect(?string $host = null, int $port = 389): LDAP\Connection|false

Creates an LDAP\Connection connection and checks whether the given uri is plausible.

Bilginize: This function does not open a connection. It checks whether the given parameters are plausible and can be used to open a connection as soon as one is needed.

Bağımsız Değişkenler

uri

A full LDAP URI of the form ldap://hostname:port or ldaps://hostname:port for SSL encryption.

You can also provide multiple LDAP-URIs separated by a space as one string

Note that hostname:port is not a supported LDAP URI as the schema is missing.

host

The hostname to connect to.

port

The port to connect to.

Dönen Değerler

Returns an LDAP\Connection instance when the provided LDAP URI seems plausible. It's a syntactic check of the provided parameter but the server(s) will not be contacted! If the syntactic check fails it returns false. ldap_connect() will otherwise return a LDAP\Connection instance as it does not actually connect but just initializes the connecting parameters. The actual connect happens with the next calls to ldap_* functions, usually with ldap_bind().

If no argument is specified then the LDAP\Connection instance of the already opened connection will be returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling ldap_connect() with separate hostname and port is now deprecated.
8.1.0 | Returns an LDAP\Connection instance now; previously, a resource was returned.

Örnekler

Örnek 1 Example of connecting to LDAP server.

<?php

// LDAP variables
$ldapuri = "ldap://ldap.example.com:389"; // your ldap-uri

// Connecting to LDAP
$ldapconn = ldap_connect($ldapuri)
or die("That LDAP-URI was not parseable");

?>

Örnek 2 Example of connecting securely to LDAP server.

<?php

// make sure your host is the correct one
// that you issued your secure certificate to
$ldaphost = "ldaps://ldap.example.com/";

// Connecting to LDAP
$ldapconn = ldap_connect($ldaphost)
or die("That LDAP-URI was not parseable");

?>

Ayrıca Bakınız

  • ldap_bind() - Bind to LDAP directory


Retrieve the LDAP pagination cookie

  • « ldap_connect
  • ldap_control_paged_result »
  • PHP Manual
  • LDAP İşlevleri
  • Retrieve the LDAP pagination cookie

ldap_control_paged_result_response

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result_response — Retrieve the LDAP pagination cookie

Uyarı

PHP 7.4.0 ve sonrasında bu işlevin kullanımı ÖNERİLMEMEKTE olup PHP 8.0.0 itibariyle kullanımdan KALDIRILMIŞTIR. Yerine ldap_search() işlevinin denetimler bağımsız değişkeni kullanılmalıdır. Daha fazla bilgi LDAP Denetimler bölümünde bulunabilir.

Açıklama

ldap_control_paged_result_response(
resource $link,
resource $result,
string &$cookie = ?,
int &$estimated = ?
): bool

Retrieve the pagination information send by the server.

Bağımsız Değişkenler

link

An LDAP resource, returned by ldap_connect().

result

cookie

An opaque structure sent by the server.

estimated

The estimated number of entries to retrieve.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function has been removed.
7.4.0 | This function has been deprecated.

Ayrıca Bakınız

  • ldap_control_paged_result() - Send LDAP pagination control
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation


Send LDAP pagination control

  • « ldap_control_paged_result_response
  • ldap_count_entries »
  • PHP Manual
  • LDAP İşlevleri
  • Send LDAP pagination control

ldap_control_paged_result

(PHP 5 >= 5.4.0, PHP 7)

ldap_control_paged_result — Send LDAP pagination control

Uyarı

PHP 7.4.0 ve sonrasında bu işlevin kullanımı ÖNERİLMEMEKTE olup PHP 8.0.0 itibariyle kullanımdan KALDIRILMIŞTIR. Yerine ldap_search() işlevinin denetimler bağımsız değişkeni kullanılmalıdır. Daha fazla bilgi LDAP Denetimler bölümünde bulunabilir.

Açıklama

ldap_control_paged_result(
resource $link,
int $pagesize,
bool $iscritical = false,
string $cookie = ""
): bool

Enable LDAP pagination by sending the pagination control (page size, cookie...).

Bağımsız Değişkenler

link

An LDAP resource, returned by ldap_connect().

pagesize

The number of entries by page.

iscritical

Indicates whether the pagination is critical or not. If true and if the server doesn't support pagination, the search will return no result.

cookie

An opaque structure sent by the server (ldap_control_paged_result_response()).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function has been removed.
7.4.0 | This function has been deprecated.

Örnekler

The example below show the retrieval of the first page of a search paginated with one entry by page.

Örnek 1 LDAP pagination

<?php
// $ds is a valid link identifier (see ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');

// enable pagination with a page size of 1.
ldap_control_paged_result($ds, 1);

$sr = ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info['count'] . ' entries returned' . PHP_EOL;

The example below show the retrieval of all the result paginated with 100 entries by page.

Örnek 2 LDAP pagination

<?php
// $ds is a valid link identifier (see ldap_connect)
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');

// enable pagination with a page size of 100.
$pageSize = 100;

$cookie = '';
do {
ldap_control_paged_result($ds, $pageSize, true, $cookie);

$result = ldap_search($ds, $dn, $filter, $justthese);
$entries = ldap_get_entries($ds, $result);

foreach ($entries as $e) {
echo $e['dn'] . PHP_EOL;
}

ldap_control_paged_result_response($ds, $result, $cookie);

} while($cookie !== null && $cookie != '');

Notlar

Bilginize:

Pagination control is a LDAPv3 protocol feature.

Ayrıca Bakınız

  • ldap_control_paged_result_response() - Retrieve the LDAP pagination cookie
  • » RFC2696 : LDAP Control Extension for Simple Paged Results Manipulation


Count the number of entries in a search

  • « ldap_control_paged_result
  • ldap_count_references »
  • PHP Manual
  • LDAP İşlevleri
  • Count the number of entries in a search

ldap_count_entries

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_count_entries — Count the number of entries in a search

Açıklama

ldap_count_entries(LDAP\Connection $ldap, LDAP\Result $result): int

Returns the number of entries stored in the result of previous search operations.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

Dönen Değerler

Returns number of entries in the result, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.

Örnekler

Örnek 1 ldap_count_entries() example

Retrieve number of entries in the result.

// $ds is a valid LDAP\Connection instance for a directory server

$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');

$sr = ldap_search($ds, $dn, $filter, $justthese);

var_dump(ldap_count_entries($ds, $sr));

Yukarıdaki örnek şuna benzer bir çıktı üretir:

     int(1)


Counts the number of references in a search result

  • « ldap_count_entries
  • ldap_delete_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Counts the number of references in a search result

ldap_count_references

(PHP 8)

ldap_count_references — Counts the number of references in a search result

Açıklama

ldap_count_references(LDAP\Connection $ldap, LDAP\Result $result): int

Counts the number of references in a search result.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

Dönen Değerler

Returns the number of references in a search result.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_connect() - Connect to an LDAP server


Delete an entry from a directory

  • « ldap_count_references
  • ldap_delete »
  • PHP Manual
  • LDAP İşlevleri
  • Delete an entry from a directory

ldap_delete_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_delete_ext — Delete an entry from a directory

Açıklama

ldap_delete_ext(LDAP\Connection $ldap, string $dn, ?array $controls = null): LDAP\Result|false

Does the same thing as ldap_delete() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_delete()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.

Ayrıca Bakınız

  • ldap_delete() - Delete an entry from a directory
  • ldap_parse_result() - Extract information from result


Delete an entry from a directory

  • « ldap_delete_ext
  • ldap_dn2ufn »
  • PHP Manual
  • LDAP İşlevleri
  • Delete an entry from a directory

ldap_delete

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_delete — Delete an entry from a directory

Açıklama

ldap_delete(LDAP\Connection $ldap, string $dn, ?array $controls = null): bool

Deletes a particular entry in LDAP directory.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_delete_ext() - Delete an entry from a directory
  • ldap_add() - Add entries to LDAP directory


Convert DN to User Friendly Naming format

  • « ldap_delete
  • ldap_err2str »
  • PHP Manual
  • LDAP İşlevleri
  • Convert DN to User Friendly Naming format

ldap_dn2ufn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_dn2ufn — Convert DN to User Friendly Naming format

Açıklama

ldap_dn2ufn(string $dn): string|false

Turns the specified dn, into a more user-friendly form, stripping off type names.

Bağımsız Değişkenler

dn

The distinguished name of an LDAP entity.

Dönen Değerler

Returns the user friendly name, başarısızlık durumunda false döner.


Convert LDAP error number into string error message

  • « ldap_dn2ufn
  • ldap_errno »
  • PHP Manual
  • LDAP İşlevleri
  • Convert LDAP error number into string error message

ldap_err2str

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_err2str — Convert LDAP error number into string error message

Açıklama

ldap_err2str(int $errno): string

Returns the string error message explaining the error number errno. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Bağımsız Değişkenler

errno

The error number.

Dönen Değerler

Returns the error message, as a string.

Örnekler

Örnek 1 Enumerating all LDAP error messages

<?php
for ($i=0; $i<100; $i++) {
printf("Error $i: %s<br />\n", ldap_err2str($i));
}
?>

Ayrıca Bakınız

  • ldap_errno() - Return the LDAP error number of the last LDAP command
  • ldap_error() - Return the LDAP error message of the last LDAP command


Return the LDAP error number of the last LDAP command

  • « ldap_err2str
  • ldap_error »
  • PHP Manual
  • LDAP İşlevleri
  • Return the LDAP error number of the last LDAP command

ldap_errno

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_errno — Return the LDAP error number of the last LDAP command

Açıklama

ldap_errno(LDAP\Connection $ldap): int

Returns the standardized error number returned by the last LDAP command. This number can be converted into a textual error message using ldap_err2str().

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

Dönen Değerler

Return the LDAP error number of the last LDAP command for this link.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Örnekler

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Örnek 1 Generating and catching an error

<?php
// This example contains an error, which we will catch.
$ld = ldap_connect("localhost");
$bind = ldap_bind($ld);
// syntax error in filter expression (errno 87),
// must be "objectclass=*" to work.
$res = @ldap_search($ld, "o=Myorg, c=DE", "objectclass");
if (!$res) {
echo "LDAP-Errno: " . ldap_errno($ld) . "<br />\n";
echo "LDAP-Error: " . ldap_error($ld) . "<br />\n";
die("Argh!<br />\n");
}
$info = ldap_get_entries($ld, $res);
echo $info["count"] . " matching entries.<br />\n";
?>

Ayrıca Bakınız

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_error() - Return the LDAP error message of the last LDAP command


Return the LDAP error message of the last LDAP command

  • « ldap_errno
  • ldap_escape »
  • PHP Manual
  • LDAP İşlevleri
  • Return the LDAP error message of the last LDAP command

ldap_error

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_error — Return the LDAP error message of the last LDAP command

Açıklama

ldap_error(LDAP\Connection $ldap): string

Returns the string error message explaining the error generated by the last LDAP command for the given ldap. While LDAP errno numbers are standardized, different libraries return different or even localized textual error messages. Never check for a specific error message text, but always use an error number to check.

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

Dönen Değerler

Returns string error message.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_err2str() - Convert LDAP error number into string error message
  • ldap_errno() - Return the LDAP error number of the last LDAP command


Escape a string for use in an LDAP filter or DN

  • « ldap_error
  • ldap_exop_passwd »
  • PHP Manual
  • LDAP İşlevleri
  • Escape a string for use in an LDAP filter or DN

ldap_escape

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

ldap_escape — Escape a string for use in an LDAP filter or DN

Açıklama

ldap_escape(string $value, string $ignore = "", int $flags = 0): string

Escapes value for use in the context implied by flags.

Bağımsız Değişkenler

value

The value to escape.

ignore

Characters to ignore when escaping.

flags

The context the escaped string will be used in: LDAP_ESCAPE_FILTER for filters to be used with ldap_search(), or LDAP_ESCAPE_DN for DNs. If neither flag is passed, all chars are escaped.

Dönen Değerler

Returns the escaped string.

Örnekler

When building an LDAP filter, you should use ldap_escape with LDAP_ESCAPE_FILTER flag.

Örnek 1 Searching for an email address

<?php
// $ds is a valid LDAP\Connection instance for a directory server

// $mail is an email address provided by the user in a form

$base = "o=My Company, c=US";
$filter = "(mail=".ldap_escape($mail, "", LDAP_ESCAPE_FILTER).")";

$sr = ldap_search($ds, $base, $filter, array("sn", "givenname", "mail"));

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>


PASSWD extended operation helper

  • « ldap_escape
  • ldap_exop_refresh »
  • PHP Manual
  • LDAP İşlevleri
  • PASSWD extended operation helper

ldap_exop_passwd

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_passwd — PASSWD extended operation helper

Açıklama

ldap_exop_passwd(
LDAP\Connection $ldap,
string $user = "",
string $old_password = "",
string $new_password = "",
array &$controls = null
): string|bool

Performs a PASSWD extended operation.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

user

dn of the user to change the password of.

old_password

The old password of this user. May be ommited depending of server configuration.

new_password

The new password for this user. May be omitted or empty to have a generated password.

controls

If provided, a password policy request control is send with the request and this is filled with an array of LDAP Controls returned with the request.

Dönen Değerler

Returns the generated password if new_password is empty or omitted. Otherwise returns true on success and false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

Örnek 1 PASSWD extended operation

<?php
$ds = ldap_connect("localhost"); // assuming the LDAP server is on this host

if ($ds) {
// bind with appropriate dn to give update access
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Unable to bind to LDAP server";
exit;
}

// use PASSWD EXOP to change the user password for a generated one
$genpw = ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", "secret");
if ($genpw) {
// use the generated password to bind
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", $genpw);
}

// set the password back to "secret"
ldap_exop_passwd($ds, "cn=root, o=My Company, c=US", $genpw, "secret");

ldap_close($ds);
} else {
echo "Unable to connect to LDAP server";
}
?>

Ayrıca Bakınız

  • ldap_exop() - Performs an extended operation
  • ldap_parse_exop() - Parse result object from an LDAP extended operation


Refresh extended operation helper

  • « ldap_exop_passwd
  • ldap_exop_sync »
  • PHP Manual
  • LDAP İşlevleri
  • Refresh extended operation helper

ldap_exop_refresh

(PHP 7 >= 7.3.0, PHP 8)

ldap_exop_refresh — Refresh extended operation helper

Açıklama

ldap_exop_refresh(LDAP\Connection $ldap, string $dn, int $ttl): int|false

Performs a Refresh extended operation and returns the data.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

dn of the entry to refresh.

ttl

Time in seconds (between 1 and 31557600) that the client requests that the entry exists in the directory before being automatically removed.

Dönen Değerler

From RFC: The responseTtl field is the time in seconds which the server chooses to have as the time-to-live field for that entry. It must not be any smaller than that which the client requested, and it may be larger. However, to allow servers to maintain a relatively accurate directory, and to prevent clients from abusing the dynamic extensions, servers are permitted to shorten a client-requested time-to-live value, down to a minimum of 86400 seconds (one day). false will be returned on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_exop() - Performs an extended operation


Performs an extended operation

  • « ldap_exop_refresh
  • ldap_exop_whoami »
  • PHP Manual
  • LDAP İşlevleri
  • Performs an extended operation

ldap_exop_sync

(PHP 8 >= 8.3.0)

ldap_exop_sync — Performs an extended operation

Açıklama

ldap_exop_sync(
LDAP\Connection $ldap,
string $request_oid,
string $request_data = null,
array $controls = null,
string &$response_data = null,
string &$response_oid = null
): LDAP\Result|bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

request_oid

request_data

controls

response_data

response_oid

Dönen Değerler

Ayrıca Bakınız

  • ldap_exop() - Performs an extended operation


WHOAMI extended operation helper

  • « ldap_exop_sync
  • ldap_exop »
  • PHP Manual
  • LDAP İşlevleri
  • WHOAMI extended operation helper

ldap_exop_whoami

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop_whoami — WHOAMI extended operation helper

Açıklama

ldap_exop_whoami(LDAP\Connection $ldap): string|false

Performs a WHOAMI extended operation and returns the data.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

Dönen Değerler

The data returned by the server, or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_exop() - Performs an extended operation


Performs an extended operation

  • « ldap_exop_whoami
  • ldap_explode_dn »
  • PHP Manual
  • LDAP İşlevleri
  • Performs an extended operation

ldap_exop

(PHP 7 >= 7.2.0, PHP 8)

ldap_exop — Performs an extended operation

Açıklama

ldap_exop(
LDAP\Connection $ldap,
string $request_oid,
string $request_data = null,
array $controls = null,
string &$response_data = ?,
string &$response_oid = ?
): mixed

Performs an extended operation on the specified ldap with request_oid the OID of the operation and request_data the data.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

request_oid

The extended operation request OID. You may use one of LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD, LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN, or a string with the OID of the operation you want to send.

request_data

The extended operation request data. May be NULL for some operations like LDAP_EXOP_WHO_AM_I, may also need to be BER encoded.

controls

Array of LDAP Controls to send with the request.

response_data

Will be filled with the extended operation response data if provided. If not provided you may use ldap_parse_exop on the result object later to get this data.

response_oid

Will be filled with the response OID if provided, usually equal to the request OID.

Dönen Değerler

When used with response_data, returns true on success or false on error. When used without response_data, returns a result identifier or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
7.3.0 | Support for serverctrls added

Örnekler

Örnek 1 Whoami extended operation

<?php
$ds = ldap_connect("localhost"); // assuming the LDAP server is on this host

if ($ds) {
// bind with appropriate dn to give update access
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Unable to bind to LDAP server";
exit;
}

// Call WHOAMI EXOP
$r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);

// Parse the result object
ldap_parse_exop($ds, $r, $retdata);
// Output: string(31) "dn:cn=root, o=My Company, c=US"
var_dump($retdata);

// Same thing using $response_data parameter
$success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);
if ($success) {
var_dump($retdata);
}

ldap_close($ds);
} else {
echo "Unable to connect to LDAP server";
}
?>

Ayrıca Bakınız

  • ldap_parse_result() - Extract information from result
  • ldap_parse_exop() - Parse result object from an LDAP extended operation
  • ldap_exop_whoami() - WHOAMI extended operation helper
  • ldap_exop_refresh() - Refresh extended operation helper
  • ldap_exop_passwd() - PASSWD extended operation helper


Splits DN into its component parts

  • « ldap_exop
  • ldap_first_attribute »
  • PHP Manual
  • LDAP İşlevleri
  • Splits DN into its component parts

ldap_explode_dn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_explode_dn — Splits DN into its component parts

Açıklama

ldap_explode_dn(string $dn, int $with_attrib): array|false

Splits the DN returned by ldap_get_dn() and breaks it up into its component parts. Each part is known as Relative Distinguished Name, or RDN.

Bağımsız Değişkenler

dn

The distinguished name of an LDAP entity.

with_attrib

Used to request if the RDNs are returned with only values or their attributes as well. To get RDNs with the attributes (i.e. in attribute=value format) set with_attrib to 0 and to get only values set it to 1.

Dönen Değerler

Returns an array of all DN components, başarısızlık durumunda false döner. The first element in the array has count key and represents the number of returned values, next elements are numerically indexed DN components.


Return first attribute

  • « ldap_explode_dn
  • ldap_first_entry »
  • PHP Manual
  • LDAP İşlevleri
  • Return first attribute

ldap_first_attribute

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_first_attribute — Return first attribute

Açıklama

ldap_first_attribute(LDAP\Connection $ldap, LDAP\ResultEntry $entry): string|false

Gets the first attribute in the given entry. Remaining attributes are retrieved by calling ldap_next_attribute() successively.

Similar to reading entries, attributes are also read one by one from a particular entry.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

Dönen Değerler

Returns the first attribute in the entry on success and false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.
8.0.0 | The unused third parameter ber_identifier is no longer accepted.

Ayrıca Bakınız

  • ldap_next_attribute() - Get the next attribute in result
  • ldap_get_attributes() - Get attributes from a search result entry


Return first result id

  • « ldap_first_attribute
  • ldap_first_reference »
  • PHP Manual
  • LDAP İşlevleri
  • Return first result id

ldap_first_entry

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_first_entry — Return first result id

Açıklama

ldap_first_entry(LDAP\Connection $ldap, LDAP\Result $result): LDAP\ResultEntry|false

Returns the entry identifier for first entry in the result. This entry identifier is then supplied to ldap_next_entry() routine to get successive entries from the result.

Entries in the LDAP result are read sequentially using the ldap_first_entry() and ldap_next_entry() functions.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

Dönen Değerler

Returns an LDAP\ResultEntry instance, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.
8.1.0 | Artık LDAP\ResultEntry nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.

Ayrıca Bakınız

  • ldap_get_entries() - Get all result entries


Return first reference

  • « ldap_first_entry
  • ldap_free_result »
  • PHP Manual
  • LDAP İşlevleri
  • Return first reference

ldap_first_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_first_reference — Return first reference

Açıklama

ldap_first_reference(LDAP\Connection $ldap, LDAP\Result $result): LDAP\ResultEntry|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Free result memory

  • « ldap_first_reference
  • ldap_get_attributes »
  • PHP Manual
  • LDAP İşlevleri
  • Free result memory

ldap_free_result

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_free_result — Free result memory

Açıklama

ldap_free_result(LDAP\Result $result): bool

Frees up the memory allocated internally to store the result. All result memory will be automatically freed when the script terminates.

Typically all the memory allocated for the LDAP result gets freed at the end of the script. In case the script is making successive searches which return large result sets, ldap_free_result() could be called to keep the runtime memory usage by the script low.

Bağımsız Değişkenler

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.


Get attributes from a search result entry

  • « ldap_free_result
  • ldap_get_dn »
  • PHP Manual
  • LDAP İşlevleri
  • Get attributes from a search result entry

ldap_get_attributes

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_attributes — Get attributes from a search result entry

Açıklama

ldap_get_attributes(LDAP\Connection $ldap, LDAP\ResultEntry $entry): array

Reads attributes and values from an entry in the search result.

Having located a specific entry in the directory, you can find out what information is held for that entry by using this call. You would use this call for an application which "browses" directory entries and/or where you do not know the structure of the directory entries. In many applications you will be searching for a specific attribute such as an email address or a surname, and won't care what other data is held.

return_value["count"] = number of attributes in the entry
return_value[0] = first attribute
return_value[n] = nth attribute

return_value["attribute"]["count"] = number of values for attribute
return_value["attribute"][0] = first value of the attribute
return_value["attribute"][i] = (i+1)th value of the attribute

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

Dönen Değerler

Returns a complete entry information in a multi-dimensional array.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.

Örnekler

Örnek 1 Show the list of attributes held for a particular directory entry

<?php
// $ds is a valid LDAP\Connection instance for a directory server

// $sr is a valid search result from a prior call to
// one of the ldap directory search calls

$entry = ldap_first_entry($ds, $sr);

$attrs = ldap_get_attributes($ds, $entry);

echo $attrs["count"] . " attributes held for this entry:<p>";

for ($i=0; $i < $attrs["count"]; $i++) {
echo $attrs[$i] . "<br />";
}
?>

Ayrıca Bakınız

  • ldap_first_attribute() - Return first attribute
  • ldap_next_attribute() - Get the next attribute in result


Get the DN of a result entry

  • « ldap_get_attributes
  • ldap_get_entries »
  • PHP Manual
  • LDAP İşlevleri
  • Get the DN of a result entry

ldap_get_dn

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_dn — Get the DN of a result entry

Açıklama

ldap_get_dn(LDAP\Connection $ldap, LDAP\ResultEntry $entry): string|false

Finds out the DN of an entry in the result.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

Dönen Değerler

Returns the DN of the result entry and false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.


Get all result entries

  • « ldap_get_dn
  • ldap_get_option »
  • PHP Manual
  • LDAP İşlevleri
  • Get all result entries

ldap_get_entries

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_entries — Get all result entries

Açıklama

ldap_get_entries(LDAP\Connection $ldap, LDAP\Result $result): array|false

Reads multiple entries from the given result, and then reading the attributes and multiple values.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

Dönen Değerler

Returns a complete result information in a multi-dimensional array on success, başarısızlık durumunda false döner.

The structure of the array is as follows. The attribute index is converted to lowercase. (Attributes are case-insensitive for directory servers, but not when used as array indices.)

return_value["count"] = number of entries in the result
return_value[0] : refers to the details of first entry

return_value[i]["dn"] =  DN of the ith entry in the result

return_value[i]["count"] = number of attributes in ith entry
return_value[i][j] = NAME of the jth attribute in the ith entry in the result

return_value[i]["attribute"]["count"] = number of values for
                                        attribute in ith entry
return_value[i]["attribute"][j] = jth value of attribute in ith entry

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_first_entry() - Return first result id
  • ldap_next_entry() - Get next result entry


Get the current value for given option

  • « ldap_get_entries
  • ldap_get_values_len »
  • PHP Manual
  • LDAP İşlevleri
  • Get the current value for given option

ldap_get_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_get_option — Get the current value for given option

Açıklama

ldap_get_option(LDAP\Connection $ldap, int $option, array|string|int &$value = null): bool

Sets value to the value of the specified option.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

option

The parameter option can be one of:

Option | Type | since
LDAP_OPT_DEREF | int
LDAP_OPT_SIZELIMIT | int
LDAP_OPT_TIMELIMIT | int
LDAP_OPT_NETWORK_TIMEOUT | int
LDAP_OPT_PROTOCOL_VERSION | int
LDAP_OPT_ERROR_NUMBER | int
LDAP_OPT_DIAGNOSTIC_MESSAGE | string
LDAP_OPT_REFERRALS | int
LDAP_OPT_RESTART | int
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array
LDAP_OPT_X_KEEPALIVE_IDLE | int | 7.1
LDAP_OPT_X_KEEPALIVE_PROBES | int | 7.1
LDAP_OPT_X_KEEPALIVE_INTERVAL | int | 7.1
LDAP_OPT_X_TLS_CACERTDIR | string | 7.1
LDAP_OPT_X_TLS_CACERTFILE | string | 7.1
LDAP_OPT_X_TLS_CERTFILE | string | 7.1
LDAP_OPT_X_TLS_CIPHER_SUITE | string | 7.1
LDAP_OPT_X_TLS_CRLCHECK | int | 7.1
LDAP_OPT_X_TLS_CRL_NONE | int | 7.1
LDAP_OPT_X_TLS_CRL_PEER | int | 7.1
LDAP_OPT_X_TLS_CRL_ALL | int | 7.1
LDAP_OPT_X_TLS_CRLFILE | string | 7.1
LDAP_OPT_X_TLS_DHFILE | string | 7.1
LDAP_OPT_X_TLS_KEYFILE | string | 7.1
LDAP_OPT_X_TLS_PACKAGE | string | 7.1
LDAP_OPT_X_TLS_PROTOCOL_MIN | int | 7.1
LDAP_OPT_X_TLS_RANDOM_FILE | string | 7.1
LDAP_OPT_X_TLS_REQUIRE_CERT | int

value

This will be set to the option value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Örnekler

Örnek 1 Check protocol version

<?php
// $ds is a valid LDAP\Connection instance for a directory server
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
echo "Using protocol version $version\n";
} else {
echo "Unable to determine protocol version\n";
}
?>

Notlar

Bilginize:

This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Ayrıca Bakınız

  • ldap_set_option() - Set the value of the given option


Get all binary values from a result entry

  • « ldap_get_option
  • ldap_get_values »
  • PHP Manual
  • LDAP İşlevleri
  • Get all binary values from a result entry

ldap_get_values_len

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_values_len — Get all binary values from a result entry

Açıklama

ldap_get_values_len(LDAP\Connection $ldap, LDAP\ResultEntry $entry, string $attribute): array|false

Reads all the values of the attribute in the entry in the result.

This function is used exactly like ldap_get_values() except that it handles binary data and not string data.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

attribute

Dönen Değerler

Returns an array of values for the attribute on success and false on error. Individual values are accessed by integer index in the array. The first index is 0. The number of values can be found by indexing "count" in the resultant array.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_get_values() - Get all values from a result entry


Get all values from a result entry

  • « ldap_get_values_len
  • ldap_list »
  • PHP Manual
  • LDAP İşlevleri
  • Get all values from a result entry

ldap_get_values

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_get_values — Get all values from a result entry

Açıklama

ldap_get_values(LDAP\Connection $ldap, LDAP\ResultEntry $entry, string $attribute): array|false

Reads all the values of the attribute in the entry in the result.

This call needs a entry, so needs to be preceded by one of the ldap search calls and one of the calls to get an individual entry.

You application will either be hard coded to look for certain attributes (such as "surname" or "mail") or you will have to use the ldap_get_attributes() call to work out what attributes exist for a given entry.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

attribute

Dönen Değerler

Returns an array of values for the attribute on success and false on error. The number of values can be found by indexing "count" in the resultant array. Individual values are accessed by integer index in the array. The first index is 0.

LDAP allows more than one entry for an attribute, so it can, for example, store a number of email addresses for one person's directory entry all labeled with the attribute "mail"

    return_value["count"] = number of values for attribute
    return_value[0] = first value of attribute
    return_value[i] = ith value of attribute

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.

Örnekler

Örnek 1 List all values of the "mail" attribute for a directory entry

<?php
// $ds is a valid LDAP\Connection instance for a directory server

// $sr is a valid search result from a prior call to
// one of the ldap directory search calls

// $entry is a valid entry identifier from a prior call to
// one of the calls that returns a directory entry

$values = ldap_get_values($ds, $entry, "mail");

echo $values["count"] . " email addresses for this entry.<br />";

for ($i=0; $i < $values["count"]; $i++) {
echo $values[$i] . "<br />";
}
?>

Ayrıca Bakınız

  • ldap_get_values_len() - Get all binary values from a result entry


Single-level search

  • « ldap_get_values
  • ldap_mod_add_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Single-level search

ldap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_list — Single-level search

Açıklama

ldap_list(
LDAP\Connection|array $ldap,
array|string $base,
array|string $filter,
array $attributes = [],
int $attributes_only = 0,
int $sizelimit = -1,
int $timelimit = -1,
int $deref = LDAP_DEREF_NEVER,
?array $controls = null
): LDAP\Result|array|false

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_ONELEVEL.

LDAP_SCOPE_ONELEVEL means that the search should only return information that is at the level immediately below the base given in the call. (Equivalent to typing "ls" and getting a list of files and folders in the current working directory.)

Aynı anda bir çok arama yapmak münkündür. Bu durumda, ilk bağımsız değişken, tek bir LDAP\Connection örneği değil, LDAP\Connection örnekleri dizisi olmalıdır. Aramalarda aynı temel DN veya süzgeç kullanılmayacaksa bunun yerine ya temel DN dizisi ya da süzgeç dizisi belirtilmeli ve bu diziler LDAP\Connection örnekleri dizisi ile aynı sayıda eleman içermelidir, bunun sebebi bu dizilerin her girdisinin sırayla ayrı aramalarda kullanılmasıdır. Aynı anda çoklu arama yapılması durumunda, false döndüren bir hata oluşmadığı takdirde bir LDAP\Result örnekleri dizisi döner.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

base

The base DN for the directory.

filter

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda LDAP\Result örneği veya LDAP\Result örnekleri dizisi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

Örnek 1 Produce a list of all organizational units of an organization

<?php
// $ds is a valid LDAP\Connection instance for a directory server

$basedn = "o=My Company, c=US";
$justthese = array("ou");

$sr = ldap_list($ds, $basedn, "ou=*", $justthese);

$info = ldap_get_entries($ds, $sr);

for ($i=0; $i < $info["count"]; $i++) {
echo $info[$i]["ou"][0];
}
?>

Ayrıca Bakınız

  • ldap_search() - Search LDAP tree


Add attribute values to current attributes

  • « ldap_list
  • ldap_mod_add »
  • PHP Manual
  • LDAP İşlevleri
  • Add attribute values to current attributes

ldap_mod_add_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_add_ext — Add attribute values to current attributes

Açıklama

ldap_mod_add_ext(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_mod_add() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_mod_add()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_parse_result() - Extract information from result


Add attribute values to current attributes

  • « ldap_mod_add_ext
  • ldap_mod_del_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Add attribute values to current attributes

ldap_mod_add

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_add — Add attribute values to current attributes

Açıklama

ldap_mod_add(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): bool

Adds one or more attribute values to the specified dn. To add a whole new object see ldap_add() function.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

entry

An associative array listing the attirbute values to add. If an attribute was not existing yet it will be added. If an attribute is existing you can only add values to it if it supports multiple values.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • ldap_mod_add_ext() - Add attribute values to current attributes
  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Delete attribute values from current attributes

  • « ldap_mod_add
  • ldap_mod_del »
  • PHP Manual
  • LDAP İşlevleri
  • Delete attribute values from current attributes

ldap_mod_del_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_del_ext — Delete attribute values from current attributes

Açıklama

ldap_mod_del_ext(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_mod_del() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_mod_del()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_parse_result() - Extract information from result


Delete attribute values from current attributes

  • « ldap_mod_del_ext
  • ldap_mod_replace_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Delete attribute values from current attributes

ldap_mod_del

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_del — Delete attribute values from current attributes

Açıklama

ldap_mod_del(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): bool

Removes one or more attribute values from the specified dn. Object deletions are done by the ldap_delete() function.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

entry

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_mod_del_ext() - Delete attribute values from current attributes
  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Replace attribute values with new ones

  • « ldap_mod_del
  • ldap_mod_replace »
  • PHP Manual
  • LDAP İşlevleri
  • Replace attribute values with new ones

ldap_mod_replace_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_mod_replace_ext — Replace attribute values with new ones

Açıklama

ldap_mod_replace_ext(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_mod_replace() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_mod_replace()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_mod_replace() - Replace attribute values with new ones
  • ldap_parse_result() - Extract information from result


Replace attribute values with new ones

  • « ldap_mod_replace_ext
  • ldap_modify_batch »
  • PHP Manual
  • LDAP İşlevleri
  • Replace attribute values with new ones

ldap_mod_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_mod_replace — Replace attribute values with new ones

Açıklama

ldap_mod_replace(
LDAP\Connection $ldap,
string $dn,
array $entry,
?array $controls = null
): bool

Replaces one or more attributes from the specified dn. It may also add or remove attributes.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

entry

An associative array listing the attributes to replace. Sending an empty array as value will remove the attribute, while sending an attribute not existing yet on this entry will add it.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • ldap_mod_replace_ext() - Replace attribute values with new ones
  • ldap_mod_del() - Delete attribute values from current attributes
  • ldap_mod_add() - Add attribute values to current attributes
  • ldap_modify_batch() - Batch and execute modifications on an LDAP entry


Batch and execute modifications on an LDAP entry

  • « ldap_mod_replace
  • ldap_modify »
  • PHP Manual
  • LDAP İşlevleri
  • Batch and execute modifications on an LDAP entry

ldap_modify_batch

(PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7, PHP 8)

ldap_modify_batch — Batch and execute modifications on an LDAP entry

Açıklama

ldap_modify_batch(
LDAP\Connection $ldap,
string $dn,
array $modifications_info,
?array $controls = null
): bool

Modifies an existing entry in the LDAP directory. Allows detailed specification of the modifications to perform.

Bağımsız Değişkenler

ldap

An LDAP resource, returned by ldap_connect().

dn

The distinguished name of an LDAP entity.

modifications_info

An array that specifies the modifications to make. Each entry in this array is an associative array with two or three keys: attrib maps to the name of the attribute to modify, modtype maps to the type of modification to perform, and (depending on the type of modification) values maps to an array of attribute values relevant to the modification.

Possible values for modtype include:

LDAP_MODIFY_BATCH_ADD

Each value specified through values is added (as an additional value) to the attribute named by attrib.

LDAP_MODIFY_BATCH_REMOVE

Each value specified through values is removed from the attribute named by attrib. Any value of the attribute not contained in the values array will remain untouched.

LDAP_MODIFY_BATCH_REMOVE_ALL

All values are removed from the attribute named by attrib. A values entry must not be provided.

LDAP_MODIFY_BATCH_REPLACE

All current values of the attribute named by attrib are replaced with the values specified through values.

Note that any value for attrib must be a string, any value for values must be an array of strings, and any value for modtype must be one of the LDAP_MODIFY_BATCH_* constants listed above.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

Örnek 1 Add a telephone number to a contact

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "telephoneNumber",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => ["+1 555 555 1717"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Örnek 2 Rename a user

<?php
$dn = "cn=John Smith,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "sn",
"modtype" => LDAP_MODIFY_BATCH_REPLACE,
"values" => ["Smith-Jones"],
],
[
"attrib" => "givenName",
"modtype" => LDAP_MODIFY_BATCH_REPLACE,
"values" => ["Jack"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
ldap_rename($connection, $dn, "cn=Jack Smith-Jones", NULL, TRUE);
?>

Örnek 3 Add two e-mail addresses to a user

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "mail",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => [
"jack.smith@example.com",
"jack.smith-jones@example.com",
],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Örnek 4 Change a user's password

<?php
$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=example,dc=com";
$modifs = [
[
"attrib" => "userPassword",
"modtype" => LDAP_MODIFY_BATCH_REMOVE,
"values" => ["Tr0ub4dor&3"],
],
[
"attrib" => "userPassword",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => ["correct horse battery staple"],
],
];
ldap_modify_batch($connection, $dn, $modifs);
?>

Örnek 5 Change a user's password (Active Directory)

<?php
function adifyPw($pw)
{
return iconv("UTF-8", "UTF-16LE", '"' . $pw . '"');
}

$dn = "cn=Jack Smith-Jones,ou=Wizards,dc=ad,dc=example,dc=com";
$modifs = [
[
"attrib" => "unicodePwd",
"modtype" => LDAP_MODIFY_BATCH_REMOVE,
"values" => [adifyPw("Tr0ub4dor&3")],
],
[
"attrib" => "unicodePwd",
"modtype" => LDAP_MODIFY_BATCH_ADD,
"values" => [adifyPw("correct horse battery staple")],
],
];
ldap_modify_batch($connection, $dn, $modifs);


Takma Adı: ldap_mod_replace

  • « ldap_modify_batch
  • ldap_next_attribute »
  • PHP Manual
  • LDAP İşlevleri
  • Takma Adı: ldap_mod_replace

ldap_modify

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_modify — Takma Adı: ldap_mod_replace()

Açıklama

Bu işlev şu işlevin takma adıdır: ldap_mod_replace().

Ayrıca Bakınız

  • ldap_rename() - Modify the name of an entry


Get the next attribute in result

  • « ldap_modify
  • ldap_next_entry »
  • PHP Manual
  • LDAP İşlevleri
  • Get the next attribute in result

ldap_next_attribute

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_next_attribute — Get the next attribute in result

Açıklama

ldap_next_attribute(LDAP\Connection $ldap, LDAP\ResultEntry $entry): string|false

Retrieves the attributes in an entry. The first call to ldap_next_attribute() is made with the entry returned from ldap_first_attribute().

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

Dönen Değerler

Returns the next attribute in an entry on success and false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.
8.0.0 | The unused third parameter ber_identifier is no longer accepted.

Ayrıca Bakınız

  • ldap_get_attributes() - Get attributes from a search result entry


Get next result entry

  • « ldap_next_attribute
  • ldap_next_reference »
  • PHP Manual
  • LDAP İşlevleri
  • Get next result entry

ldap_next_entry

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_next_entry — Get next result entry

Açıklama

ldap_next_entry(LDAP\Connection $ldap, LDAP\ResultEntry $entry): LDAP\ResultEntry|false

Retrieve the entries stored in the result. Successive calls to the ldap_next_entry() return entries one by one till there are no more entries. The first call to ldap_next_entry() is made after the call to ldap_first_entry() with the entry as returned from the ldap_first_entry().

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

entry

LDAP\ResultEntry nesnesi.

Dönen Değerler

Returns an LDAP\ResultEntry instance for the next entry in the result whose entries are being read starting with ldap_first_entry(). If there are no more entries in the result then it returns false.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | girdi bağımsız değişkeni artık LDAP\ResultEntry nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result entry değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.

Ayrıca Bakınız

  • ldap_get_entries() - Get all result entries


Get next reference

  • « ldap_next_entry
  • ldap_parse_exop »
  • PHP Manual
  • LDAP İşlevleri
  • Get next reference

ldap_next_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_next_reference — Get next reference

Açıklama

ldap_next_reference(LDAP\Connection $ldap, LDAP\ResultEntry $entry): LDAP\ResultEntry|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Parse result object from an LDAP extended operation

  • « ldap_next_reference
  • ldap_parse_reference »
  • PHP Manual
  • LDAP İşlevleri
  • Parse result object from an LDAP extended operation

ldap_parse_exop

(PHP 7 >= 7.2.0, PHP 8)

ldap_parse_exop — Parse result object from an LDAP extended operation

Açıklama

ldap_parse_exop(
LDAP\Connection $ldap,
LDAP\Result $result,
string &$response_data = null,
string &$response_oid = null
): bool

Parse LDAP extended operation data from result object result

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

response_data

Will be filled by the response data.

response_oid

Will be filled by the response OID.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_exop() - Performs an extended operation


Extract information from reference entry

  • « ldap_parse_exop
  • ldap_parse_result »
  • PHP Manual
  • LDAP İşlevleri
  • Extract information from reference entry

ldap_parse_reference

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_parse_reference — Extract information from reference entry

Açıklama

ldap_parse_reference(LDAP\Connection $ldap, LDAP\ResultEntry $entry, array &$referrals): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Extract information from result

  • « ldap_parse_reference
  • ldap_read »
  • PHP Manual
  • LDAP İşlevleri
  • Extract information from result

ldap_parse_result

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_parse_result — Extract information from result

Açıklama

ldap_parse_result(
LDAP\Connection $ldap,
LDAP\Result $result,
int &$error_code,
string &$matched_dn = null,
string &$error_message = null,
array &$referrals = null,
array &$controls = null
): bool

Parses an LDAP search result.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

result

ldap_list() veya ldap_search() işlevinden dönen LDAP\Result nesnesi.

error_code

A reference to a variable that will be set to the LDAP error code in the result, or 0 if no error occurred.

matched_dn

A reference to a variable that will be set to a matched DN if one was recognised within the request, otherwise it will be set to null.

error_message

A reference to a variable that will be set to the LDAP error message in the result, or an empty string if no error occurred.

referrals

A reference to a variable that will be set to an array set to all of the referral strings in the result, or an empty array if no referrals were returned.

controls

An array of LDAP Controls which have been sent with the response.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | sonuç bağımsız değişkeni artık LDAP\Result nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap result değeri kabul ederdi.
7.3.0 | Support for controls added

Örnekler

Örnek 1 ldap_parse_result() example

<?php
$result = ldap_search($ldap, "cn=userref,dc=my-domain,dc=com", "(cn=user*)");
$errcode = $dn = $errmsg = $refs = null;
if (ldap_parse_result($ldap, $result, $errcode, $dn, $errmsg, $refs)) {
// do something with $errcode, $dn, $errmsg and $refs
}
?>


Read an entry

  • « ldap_parse_result
  • ldap_rename_ext »
  • PHP Manual
  • LDAP İşlevleri
  • Read an entry

ldap_read

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_read — Read an entry

Açıklama

ldap_read(
LDAP\Connection|array $ldap,
array|string $base,
array|string $filter,
array $attributes = [],
int $attributes_only = 0,
int $sizelimit = -1,
int $timelimit = -1,
int $deref = LDAP_DEREF_NEVER,
?array $controls = null
): LDAP\Result|array|false

Performs the search for a specified filter on the directory with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an entry from the directory.

Aynı anda bir çok arama yapmak münkündür. Bu durumda, ilk bağımsız değişken, tek bir LDAP\Connection örneği değil, LDAP\Connection örnekleri dizisi olmalıdır. Aramalarda aynı temel DN veya süzgeç kullanılmayacaksa bunun yerine ya temel DN dizisi ya da süzgeç dizisi belirtilmeli ve bu diziler LDAP\Connection örnekleri dizisi ile aynı sayıda eleman içermelidir, bunun sebebi bu dizilerin her girdisinin sırayla ayrı aramalarda kullanılmasıdır. Aynı anda çoklu arama yapılması durumunda, false döndüren bir hata oluşmadığı takdirde bir LDAP\Result örnekleri dizisi döner.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

base

The base DN for the directory.

filter

An empty filter is not allowed. If you want to retrieve absolutely all information for this entry, use a filter of objectClass=*. If you know which entry types are used on the directory server, you might use an appropriate filter such as objectClass=inetOrgPerson.

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda LDAP\Result örneği veya LDAP\Result örnekleri dizisi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
4.0.5 | Parallel searches support was added. See ldap_search() for details.
7.3.0 | Support for controls added


Modify the name of an entry

  • « ldap_read
  • ldap_rename »
  • PHP Manual
  • LDAP İşlevleri
  • Modify the name of an entry

ldap_rename_ext

(PHP 7 >= 7.3.0, PHP 8)

ldap_rename_ext — Modify the name of an entry

Açıklama

ldap_rename_ext(
LDAP\Connection $ldap,
string $dn,
string $new_rdn,
string $new_parent,
bool $delete_old_rdn,
?array $controls = null
): LDAP\Result|false

Does the same thing as ldap_rename() but returns an LDAP\Result instance to be parsed with ldap_parse_result().

Bağımsız Değişkenler

See ldap_rename()

Dönen Değerler

Başarı durumunda LDAP\Result nesnesi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Ayrıca Bakınız

  • ldap_rename() - Modify the name of an entry
  • ldap_parse_result() - Extract information from result


Modify the name of an entry

  • « ldap_rename_ext
  • ldap_sasl_bind »
  • PHP Manual
  • LDAP İşlevleri
  • Modify the name of an entry

ldap_rename

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

ldap_rename — Modify the name of an entry

Açıklama

ldap_rename(
LDAP\Connection $ldap,
string $dn,
string $new_rdn,
string $new_parent,
bool $delete_old_rdn,
?array $controls = null
): bool

The entry specified by dn is renamed/moved.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

The distinguished name of an LDAP entity.

new_rdn

The new RDN.

new_parent

The new parent/superior entry.

delete_old_rdn

If true the old RDN value(s) is removed, else the old RDN value(s) is retained as non-distinguished values of the entry.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Notlar

Bilginize:

This function currently only works with LDAPv3. You may have to use ldap_set_option() prior to binding to use LDAPv3. This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Ayrıca Bakınız

  • ldap_rename_ext() - Modify the name of an entry
  • ldap_modify() - Takma Adı: ldap_mod_replace


Bind to LDAP directory using SASL

  • « ldap_rename
  • ldap_search »
  • PHP Manual
  • LDAP İşlevleri
  • Bind to LDAP directory using SASL

ldap_sasl_bind

(PHP 5, PHP 7, PHP 8)

ldap_sasl_bind — Bind to LDAP directory using SASL

Açıklama

ldap_sasl_bind(
LDAP\Connection $ldap,
?string $dn = null,
?string $password = null,
?string $mech = null,
?string $realm = null,
?string $authc_id = null,
?string $authz_id = null,
?string $props = null
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | dn, password, mech, realm, authc_id, authz_id and props are nullable now.

Notlar

Bilginize: Requirement
ldap_sasl_bind() requires SASL support (sasl.h). Be sure --with-ldap-sasl is used when configuring PHP otherwise this function will be undefined.


Search LDAP tree

  • « ldap_sasl_bind
  • ldap_set_option »
  • PHP Manual
  • LDAP İşlevleri
  • Search LDAP tree

ldap_search

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_search — Search LDAP tree

Açıklama

ldap_search(
LDAP\Connection|array $ldap,
array|string $base,
array|string $filter,
array $attributes = [],
int $attributes_only = 0,
int $sizelimit = -1,
int $timelimit = -1,
int $deref = LDAP_DEREF_NEVER,
?array $controls = null
): LDAP\Result|array|false

Performs the search for a specified filter on the directory with the scope of LDAP_SCOPE_SUBTREE. This is equivalent to searching the entire directory.

Aynı anda bir çok arama yapmak münkündür. Bu durumda, ilk bağımsız değişken, tek bir LDAP\Connection örneği değil, LDAP\Connection örnekleri dizisi olmalıdır. Aramalarda aynı temel DN veya süzgeç kullanılmayacaksa bunun yerine ya temel DN dizisi ya da süzgeç dizisi belirtilmeli ve bu diziler LDAP\Connection örnekleri dizisi ile aynı sayıda eleman içermelidir, bunun sebebi bu dizilerin her girdisinin sırayla ayrı aramalarda kullanılmasıdır. Aynı anda çoklu arama yapılması durumunda, false döndüren bir hata oluşmadığı takdirde bir LDAP\Result örnekleri dizisi döner.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

base

The base DN for the directory.

filter

The search filter can be simple or advanced, using boolean operators in the format described in the LDAP documentation (see the » Netscape Directory SDK or » RFC4515 for full information on filters).

attributes

An array of the required attributes, e.g. array("mail", "sn", "cn"). Note that the "dn" is always returned irrespective of which attributes types are requested.

Using this parameter is much more efficient than the default action (which is to return all attributes and their associated values). The use of this parameter should therefore be considered good practice.

attributes_only

Should be set to 1 if only attribute types are wanted. If set to 0 both attributes types and attribute values are fetched which is the default behaviour.

sizelimit

Enables you to limit the count of entries fetched. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset sizelimit. You can set it lower though.

Some directory server hosts will be configured to return no more than a preset number of entries. If this occurs, the server will indicate that it has only returned a partial results set. This also occurs if you use this parameter to limit the count of fetched entries.

timelimit

Sets the number of seconds how long is spend on the search. Setting this to 0 means no limit.

Bilginize:

This parameter can NOT override server-side preset timelimit. You can set it lower though.

deref

Specifies how aliases should be handled during the search. It can be one of the following:

  • LDAP_DEREF_NEVER - (default) aliases are never dereferenced.
  • LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but not when locating the base object of the search.
  • LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base object but not during the search.
  • LDAP_DEREF_ALWAYS - aliases should be dereferenced always.

controls

Array of LDAP Controls to send with the request.

Dönen Değerler

Başarı durumunda LDAP\Result örneği veya LDAP\Result örnekleri dizisi, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.1.0 | Artık LDAP\Result nesnesi dönüyor; evvelce LDAP özkaynağı dönerdi.
8.0.0 | denetimler artık null olabiliyor; evvelce [] öntanımlı idi.
7.3.0 | Support for controls added

Örnekler

The example below retrieves the organizational unit, surname, given name and email address for all people in "My Company" where the surname or given name contains the substring $person. This example uses a boolean filter to tell the server to look for information in more than one attribute.

Örnek 1 LDAP search

<?php
// $ds is a valid LDAP\Connection instance for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>


Set the value of the given option

  • « ldap_search
  • ldap_set_rebind_proc »
  • PHP Manual
  • LDAP İşlevleri
  • Set the value of the given option

ldap_set_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_set_option — Set the value of the given option

Açıklama

ldap_set_option(?LDAP\Connection $ldap, int $option, array|string|int|bool $value): bool

Sets the value of the specified option to be value.

Bağımsız Değişkenler

ldap

Either an LDAP\Connection instance, returned by ldap_connect(), to set the option for that connection, or null to set the option globally.

option

The parameter option can be one of:

Option | Type | Available since
LDAP_OPT_DEREF | int
LDAP_OPT_SIZELIMIT | int
LDAP_OPT_TIMELIMIT | int
LDAP_OPT_NETWORK_TIMEOUT | int
LDAP_OPT_PROTOCOL_VERSION | int
LDAP_OPT_ERROR_NUMBER | int
LDAP_OPT_REFERRALS | bool
LDAP_OPT_RESTART | bool
LDAP_OPT_HOST_NAME | string
LDAP_OPT_ERROR_STRING | string
LDAP_OPT_DIAGNOSTIC_MESSAGE | string
LDAP_OPT_MATCHED_DN | string
LDAP_OPT_SERVER_CONTROLS | array
LDAP_OPT_CLIENT_CONTROLS | array
LDAP_OPT_X_KEEPALIVE_IDLE | int | PHP 7.1.0
LDAP_OPT_X_KEEPALIVE_PROBES | int | PHP 7.1.0
LDAP_OPT_X_KEEPALIVE_INTERVAL | int | PHP 7.1.0
LDAP_OPT_X_TLS_CACERTDIR | string | PHP 7.1.0
LDAP_OPT_X_TLS_CACERTFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CERTFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CIPHER_SUITE | string | PHP 7.1.0
LDAP_OPT_X_TLS_CRLCHECK | int | PHP 7.1.0
LDAP_OPT_X_TLS_CRLFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_DHFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_KEYFILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_PROTOCOL_MIN | int | PHP 7.1.0
LDAP_OPT_X_TLS_RANDOM_FILE | string | PHP 7.1.0
LDAP_OPT_X_TLS_REQUIRE_CERT | int | PHP 7.0.5

LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS require a list of controls, this means that the value must be an array of controls. A control consists of an oid identifying the control, an optional value, and an optional flag for criticality. In PHP a control is given by an array containing an element with the key oid and string value, and two optional elements. The optional elements are key value with string value and key iscritical with boolean value. iscritical defaults to false if not supplied. See » draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the second example below.

value

The new value for the specified option.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Örnekler

Örnek 1 Set protocol version

<?php
// $ds is a valid LDAP\Connection instance for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Using LDAPv3";
} else {
echo "Failed to set protocol version to 3";
}
?>

Örnek 2 Set server controls

<?php
// $ds is a valid LDAP\Connection instance for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
echo "Failed to set server controls";
}
?>

Notlar

Bilginize:

This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

Ayrıca Bakınız

  • ldap_get_option() - Get the current value for given option


Set a callback function to do re-binds on referral chasing

  • « ldap_set_option
  • ldap_sort »
  • PHP Manual
  • LDAP İşlevleri
  • Set a callback function to do re-binds on referral chasing

ldap_set_rebind_proc

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ldap_set_rebind_proc — Set a callback function to do re-binds on referral chasing

Açıklama

ldap_set_rebind_proc(LDAP\Connection $ldap, ?callable $callback): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.
8.0.0 | callback is nullable now.


Sort LDAP result entries on the client side

  • « ldap_set_rebind_proc
  • ldap_start_tls »
  • PHP Manual
  • LDAP İşlevleri
  • Sort LDAP result entries on the client side

ldap_sort

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ldap_sort — Sort LDAP result entries on the client side

Uyarı

Bu işlevin kullanımı PHP 7.0.0 itibariyle ÖNERİLMEMEKTE olup 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

ldap_sort(resource $link, resource $result, string $sortfilter): bool

Sort the result of a LDAP search, returned by ldap_search().

As this function sorts the returned values on the client side it is possible that you might not get the expected results in case you reach the sizelimit either of the server or defined within ldap_search().

Bağımsız Değişkenler

link

An LDAP resource, returned by ldap_connect().

result

An search result identifier, returned by ldap_search().

sortfilter

The attribute to use as a key in the sort.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This function has been removed.

Örnekler

Sorting the result of a search.

Örnek 1 LDAP sort

<?php
// $ds is a valid link identifier (see ldap_connect)

$dn = 'ou=example,dc=org';
$filter = '(|(sn=Doe*)(givenname=John*))';
$justthese = array('ou', 'sn', 'givenname', 'mail');

$sr = ldap_search($ds, $dn, $filter, $justthese);

// Sort
ldap_sort($ds, $sr, 'sn');

// Retrieving the data
$info = ldap_get_entries($ds, $sr);


Start TLS

  • « ldap_sort
  • ldap_t61_to_8859 »
  • PHP Manual
  • LDAP İşlevleri
  • Start TLS

ldap_start_tls

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ldap_start_tls — Start TLS

Açıklama

ldap_start_tls(LDAP\Connection $ldap): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Translate t61 characters to 8859 characters

  • « ldap_start_tls
  • ldap_unbind »
  • PHP Manual
  • LDAP İşlevleri
  • Translate t61 characters to 8859 characters

ldap_t61_to_8859

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

ldap_t61_to_8859 — Translate t61 characters to 8859 characters

Açıklama

ldap_t61_to_8859(string $value): string|false
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Unbind from LDAP directory

  • « ldap_t61_to_8859
  • LDAP\Connection »
  • PHP Manual
  • LDAP İşlevleri
  • Unbind from LDAP directory

ldap_unbind

(PHP 4, PHP 5, PHP 7, PHP 8)

ldap_unbind — Unbind from LDAP directory

Açıklama

ldap_unbind(LDAP\Connection $ldap): bool

Unbinds from the LDAP directory.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Ayrıca Bakınız

  • ldap_bind() - Bind to LDAP directory


The LDAP\Connection class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a ldap resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class LDAP\Connection {
}


The LDAP\Result class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a ldap result resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class LDAP\Result {
}


The LDAP\ResultEntry class

(PHP 8 >= 8.1.0)

Giriş

A fully opaque class which replaces a ldap result entry resource as of PHP 8.1.0.

Sınıf Sözdizimi

final class LDAP\ResultEntry {
}


Memcache

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic usage
  • Memcache — The Memcache class
    • Memcache::add — Add an item to the server
    • Memcache::addServer — Add a memcached server to connection pool
    • Memcache::close — Close memcached server connection
    • Memcache::connect — Open memcached server connection
    • Memcache::decrement — Decrement item's value
    • Memcache::delete — Delete item from the server
    • Memcache::flush — Flush all existing items at the server
    • Memcache::get — Retrieve item from the server
    • Memcache::getExtendedStats — Get statistics from all servers in pool
    • Memcache::getServerStatus — Returns server status
    • Memcache::getStats — Get statistics of the server
    • Memcache::getVersion — Return version of the server
    • Memcache::increment — Increment item's value
    • Memcache::pconnect — Open memcached server persistent connection
    • Memcache::replace — Replace value of the existing item
    • Memcache::set — Store data at the server
    • Memcache::setCompressThreshold — Enable automatic compression of large values
    • Memcache::setServerParams — Changes server parameters and status at runtime
  • Memcache İşlevleri
    • memcache_debug — Turn debug output on/off


Giriş

Memcache module provides handy procedural and object-oriented interface to memcached, highly effective caching daemon, which was especially designed to decrease database load in dynamic web applications.

The Memcache module also provides a session handler (memcache).

More information about memcached can be found at » http://www.memcached.org/.


Gereksinimler

This module uses functions of » zlib to support on-the-fly data compression. Zlib is required to install this module.


Kurulum

Bu » PECL eklentisi PHP ile gelmez. Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/memcache.

Bilginize:

It's possible to disable memcache session handler support. The 'pecl install' option prompts for this (default is enabled) however when compiling statically into PHP the --disable-memcache-session configure option may be used.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Memcache Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.protocol | ascii | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Supported since memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Supported since memcache 3.0.4
Session Configuration Options Affecting Memcache Behavior
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
session.save_handler | "files" | PHP_INI_ALL | Supported since memcache 2.1.2
session.save_path | "" | PHP_INI_ALL | Supported since memcache 2.1.2
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

memcache.allow_failover bool

Whether to transparently failover to other servers on errors.

memcache.max_failover_attempts int

Defines how many servers to try when setting and getting data. Used only in conjunction with memcache.allow_failover.

memcache.chunk_size int

Data will be transferred in chunks of this size, setting the value lower requires more network writes. Try increasing this value to 32768 if noticing otherwise inexplicable slowdowns.

memcache.default_port string

The default TCP port number to use when connecting to the memcached server if no other port is specified.

memcache.hash_strategy string

Controls which strategy to use when mapping keys to servers. Set this value to consistent to enable consistent hashing which allows servers to be added or removed from the pool without causing keys to be remapped. Setting this value to standard results in the old strategy being used.

memcache.hash_function string

Controls which hash function to apply when mapping keys to servers, crc32 uses the standard CRC32 hash while fnv uses FNV-1a.

memcache.protocol string

memcache.redundancy int

memcache.session_redundancy int

memcache.compress_threshold int

memcache.lock_timeout int

session.save_handler string

Use memcache as a session handler by setting this value to memcache.

session.save_path string

Defines a comma separated of server urls to use for session storage, for example "tcp://host1:11211, tcp://host2:11211".

Each url may contain parameters which are applied to that server, they are the same as for the Memcache::addServer() method. For example "tcp://host1:11211?persistent=1&weight=1&timeout=1&retry_interval=15"


Özkaynak Türleri

There is only one resource type used in memcache module - it's the link identifier for a cache server connection.


Öntanımlı Sabitler

Memcache Constants
Name | Description
MEMCACHE_COMPRESSED (int) | Used to turn on-the-fly data compression on with Memcache::set(), Memcache::add() ve Memcache::replace().
MEMCACHE_HAVE_SESSION (int) | 1 if this Memcache session handler is available, 0 otherwise.
MEMCACHE_USER1 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() ve Memcache::replace().
MEMCACHE_USER2 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() ve Memcache::replace().
MEMCACHE_USER3 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() ve Memcache::replace().
MEMCACHE_USER4 (int) | Used to turn user-defined application flag on with Memcache::set(), Memcache::add() ve Memcache::replace().


  • « Öntanımlı Sabitler
  • Basic usage »
  • PHP Manual
  • Memcache
  • Örnekler

Örnekler

İçindekiler

  • Basic usage


Basic usage

Örnek 1 memcache extension overview example

In this example, an object is being saved in the cache and then retrieved back. Object and other non-scalar types are serialized before saving, so it's impossible to store resources (i.e. connection identifiers and others) in the cache.

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

Örnek 2 Using memcache session handler

<?php

$session_save_path = "tcp://$host:$port?persistent=1&weight=2&timeout=2&retry_interval=10, ,tcp://$host:$port ";
ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', $session_save_path);

?>


The Memcache class

(PECL memcache >= 0.2.0)

Giriş

Represents a connection to a set of memcache servers.

Sınıf Sözdizimi

class Memcache {
add(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool
addServer(
string $host,
int $port = 11211,
bool $persistent = ?,
int $weight = ?,
int $timeout = ?,
int $retry_interval = ?,
bool $status = ?,
callable $failure_callback = ?,
int $timeoutms = ?
): bool
close(): bool
connect(string $host, int $port = ?, int $timeout = ?): bool
decrement(string $key, int $value = 1): int|false
delete(string $key, int $timeout = 0): bool
flush(): bool
get(string $key, int &$flags = ?): string
getExtendedStats(string $type = ?, int $slabid = ?, int $limit = 100): array
getServerStatus(string $host, int $port = 11211): int
getStats(string $type = ?, int $slabid = ?, int $limit = 100): array|false
getVersion(): string|false
increment(string $key, int $value = 1): int|false
pconnect(string $host, int $port = ?, int $timeout = ?): mixed
replace(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool
set(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool
setCompressThreshold(int $threshold, float $min_savings = ?): bool
setServerParams(
string $host,
int $port = 11211,
int $timeout = ?,
int $retry_interval = false,
bool $status = ?,
callable $failure_callback = ?
): bool
}

İçindekiler

  • Memcache::add — Add an item to the server
  • Memcache::addServer — Add a memcached server to connection pool
  • Memcache::close — Close memcached server connection
  • Memcache::connect — Open memcached server connection
  • Memcache::decrement — Decrement item's value
  • Memcache::delete — Delete item from the server
  • Memcache::flush — Flush all existing items at the server
  • Memcache::get — Retrieve item from the server
  • Memcache::getExtendedStats — Get statistics from all servers in pool
  • Memcache::getServerStatus — Returns server status
  • Memcache::getStats — Get statistics of the server
  • Memcache::getVersion — Return version of the server
  • Memcache::increment — Increment item's value
  • Memcache::pconnect — Open memcached server persistent connection
  • Memcache::replace — Replace value of the existing item
  • Memcache::set — Store data at the server
  • Memcache::setCompressThreshold — Enable automatic compression of large values
  • Memcache::setServerParams — Changes server parameters and status at runtime


Add an item to the server

  • « Memcache
  • Memcache::addServer »
  • PHP Manual
  • Memcache
  • Add an item to the server

Memcache::add

(PECL memcache >= 0.2.0)

Memcache::add — Add an item to the server

Açıklama

Memcache::add(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Also you can use memcache_add() function.

Bağımsız Değişkenler

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns false if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Örnekler

Örnek 1 Memcache::add() example

<?php

$memcache_obj = memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Ayrıca Bakınız

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item


Add a memcached server to connection pool

  • « Memcache::add
  • Memcache::close »
  • PHP Manual
  • Memcache
  • Add a memcached server to connection pool

Memcache::addServer

(PECL memcache >= 2.0.0)

Memcache::addServer — Add a memcached server to connection pool

Açıklama

Memcache::addServer(
string $host,
int $port = 11211,
bool $persistent = ?,
int $weight = ?,
int $timeout = ?,
int $retry_interval = ?,
bool $status = ?,
callable $failure_callback = ?,
int $timeoutms = ?
): bool

Memcache::addServer() adds a server to the connection pool. You can also use the memcache_add_server() function.

When using this method (as opposed to Memcache::connect() and Memcache::pconnect()) the network connection is not established until actually needed. Thus there is no overhead in adding a large number of servers to the pool, even though they might not all be used.

Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won't notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.

Bilginize:

This function has been added to Memcache version 2.0.0.

Bağımsız Değişkenler

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

persistent

Controls the use of a persistent connection. Default to true.

weight

Number of buckets to create for this server which in turn control its probability of it being selected. The probability is relative to the total weight of all servers.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

Each failed connection struct has its own timeout and before it has expired the struct will be skipped when selecting backends to serve a request. Once expired the connection will be successfully reconnected or marked as failed for another retry_interval seconds. The typical effect is that each web server child will retry the connection about every retry_interval seconds when serving a page.

status

Controls if the server should be flagged as online. Setting this parameter to false and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to true, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

timeoutms

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::addServer() example

<?php

/* OO API */

$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
$memcache->addServer('memcache_host2', 11211);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_add_server($memcache_obj, 'memcache_host2', 11211);

?>

Notlar

Uyarı

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Ayrıca Bakınız

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection
  • Memcache::setServerParams() - Changes server parameters and status at runtime
  • Memcache::getServerStatus() - Returns server status


Close memcached server connection

  • « Memcache::addServer
  • Memcache::connect »
  • PHP Manual
  • Memcache
  • Close memcached server connection

Memcache::close

(PECL memcache >= 0.4.0)

Memcache::close — Close memcached server connection

Açıklama

Memcache::close(): bool

Memcache::close() closes connection to memcached server. This function doesn't close persistent connections, which are closed only during web-server shutdown/restart. Also you can use memcache_close() function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::close() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
do something here...
*/
memcache_close($memcache_obj);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/*
do something here...
*/
$memcache_obj->close();

?>

Ayrıca Bakınız

  • Memcache::connect() - Open memcached server connection
  • Memcache::pconnect() - Open memcached server persistent connection


Open memcached server connection

  • « Memcache::close
  • Memcache::decrement »
  • PHP Manual
  • Memcache
  • Open memcached server connection

Memcache::connect

(PECL memcache >= 0.2.0)

Memcache::connect — Open memcached server connection

Açıklama

Memcache::connect(string $host, int $port = ?, int $timeout = ?): bool

Memcache::connect() establishes a connection to the memcached server. The connection, which was opened using Memcache::connect() will be automatically closed at the end of script execution. Also you can close it with Memcache::close(). Also you can use memcache_connect() function.

Bağımsız Değişkenler

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

Please note: port defaults to memcache.default_port if not specified. For this reason it is wise to specify the port explicitly in this method call.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::connect() example

<?php

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);

/* OO API */

$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);

?>

Notlar

Uyarı

When the port is unspecified, this method defaults to the value set of the PHP ini directive memcache.default_port If this value was changed elsewhere in your application it might lead to unexpected results: for this reason it is wise to always specify the port explicitly in this method call.

Ayrıca Bakınız

  • Memcache::pconnect() - Open memcached server persistent connection
  • Memcache::close() - Close memcached server connection


Decrement item's value

  • « Memcache::connect
  • Memcache::delete »
  • PHP Manual
  • Memcache
  • Decrement item's value

Memcache::decrement

(PECL memcache >= 0.2.0)

Memcache::decrement — Decrement item's value

Açıklama

Memcache::decrement(string $key, int $value = 1): int|false

Memcache::decrement() decrements value of the item by value. Similarly to Memcache::increment(), current value of the item is being converted to numerical and after that value is subtracted.

Bilginize:

New item's value will not be less than zero.

Bilginize:

Do not use Memcache::decrement() with item, which was stored compressed, because consequent call to Memcache::get() will fail.

Memcache::decrement() does not create an item if it didn't exist. Also you can use memcache_decrement() function.

Bağımsız Değişkenler

key

Key of the item do decrement.

value

Decrement the item by value.

Dönen Değerler

Returns item's new value on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::decrement() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* decrement item by 2 */
$new_value = memcache_decrement($memcache_obj, 'test_item', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* decrement item by 3 */
$new_value = $memcache_obj->decrement('test_item', 3);
?>

Ayrıca Bakınız

  • Memcache::increment() - Increment item's value
  • Memcache::replace() - Replace value of the existing item


Delete item from the server

  • « Memcache::decrement
  • Memcache::flush »
  • PHP Manual
  • Memcache
  • Delete item from the server

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::delete — Delete item from the server

Açıklama

Memcache::delete(string $key, int $timeout = 0): bool

Memcache::delete() deletes an item with the key.

Bağımsız Değişkenler

key

The key associated with the item to delete.

timeout

This deprecated parameter is not supported, and defaults to 0 seconds. Do not use this parameter.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
Unknown | It's not recommended to use the timeout parameter. The behavior differs between memcached versions, but setting to 0 is safe. Other values for this deprecated feature may cause the memcache delete to fail.

Örnekler

Örnek 1 Memcache::delete() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

/* item will be deleted by the server */
memcache_delete($memcache_obj, 'key_to_delete');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->delete('key_to_delete');

?>

Ayrıca Bakınız

  • Memcache::set() - Store data at the server
  • Memcache::replace() - Replace value of the existing item


Flush all existing items at the server

  • « Memcache::delete
  • Memcache::get »
  • PHP Manual
  • Memcache
  • Flush all existing items at the server

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flush — Flush all existing items at the server

Açıklama

Memcache::flush(): bool

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::flush() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>


Retrieve item from the server

  • « Memcache::flush
  • Memcache::getExtendedStats »
  • PHP Manual
  • Memcache
  • Retrieve item from the server

Memcache::get

(PECL memcache >= 0.2.0)

Memcache::get — Retrieve item from the server

Açıklama

Memcache::get(string $key, int &$flags = ?): string
Memcache::get(array $keys, array &$flags = ?): array

Memcache::get() returns previously stored data of an item, if such key exists on the server at this moment.

You can pass array of keys to Memcache::get() to get array of values. The result array will contain only found key-value pairs.

Bağımsız Değişkenler

key

The key or array of keys to fetch.

flags

If present, flags fetched along with the values will be written to this parameter. These flags are the same as the ones given to for example Memcache::set(). The lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to indicate compression and serialization status).

Dönen Değerler

Returns the value associated with the key or an array of found key-value pairs when key is an array. Returns false on failure, key is not found or key is an empty array.

Örnekler

Örnek 1 Memcache::get() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, 'some_key');

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get('some_key');

/*
You also can use array of keys as a parameter.
If such item wasn't found at the server, the result
array simply will not include such key.
*/

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
$var = memcache_get($memcache_obj, Array('some_key', 'another_key'));

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
$var = $memcache_obj->get(Array('some_key', 'second_key'));

?>


Get statistics from all servers in pool

  • « Memcache::get
  • Memcache::getServerStatus »
  • PHP Manual
  • Memcache
  • Get statistics from all servers in pool

Memcache::getExtendedStats

(PECL memcache >= 2.0.0)

Memcache::getExtendedStats — Get statistics from all servers in pool

Açıklama

Memcache::getExtendedStats(string $type = ?, int $slabid = ?, int $limit = 100): array

Memcache::getExtendedStats() returns a two-dimensional associative array with server statistics. Array keys correspond to host:port of server and values contain the individual server statistics. A failed server will have its corresponding entry set to false. You can also use the memcache_get_extended_stats() function.

Bilginize:

This function has been added to Memcache version 2.0.0.

Bağımsız Değişkenler

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Uyarı

The cachedump stat type has been removed from the memcached daemon due to security reasons.

Dönen Değerler

Returns a two-dimensional associative array of server statistics or false on failure.

Örnekler

Örnek 1 Memcache::getExtendedStats() example

<?php
$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->addServer('failed_host', 11211);

$stats = $memcache_obj->getExtendedStats();
print_r($stats);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [memcache_host:11211] => Array
        (
            [pid] => 3756
            [uptime] => 603011
            [time] => 1133810435
            [version] => 1.1.12
            [rusage_user] => 0.451931
            [rusage_system] => 0.634903
            [curr_items] => 2483
            [total_items] => 3079
            [bytes] => 2718136
            [curr_connections] => 2
            [total_connections] => 807
            [connection_structures] => 13
            [cmd_get] => 9748
            [cmd_set] => 3096
            [get_hits] => 5976
            [get_misses] => 3772
            [bytes_read] => 3448968
            [bytes_written] => 2318883
            [limit_maxbytes] => 33554432
        )

    [failed_host:11211] => false
)

Ayrıca Bakınız

  • Memcache::getVersion() - Return version of the server
  • Memcache::getStats() - Get statistics of the server


Returns server status

  • « Memcache::getExtendedStats
  • Memcache::getStats »
  • PHP Manual
  • Memcache
  • Returns server status

Memcache::getServerStatus

(PECL memcache >= 2.1.0)

Memcache::getServerStatus — Returns server status

Açıklama

Memcache::getServerStatus(string $host, int $port = 11211): int

Memcache::getServerStatus() returns a the servers online/offline status. You can also use memcache_get_server_status() function.

Bilginize:

This function has been added to Memcache version 2.1.0.

Bağımsız Değişkenler

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

Dönen Değerler

Returns a the servers status. 0 if server is failed, non-zero otherwise

Örnekler

Örnek 1 Memcache::getServerStatus() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->addServer('memcache_host', 11211);
echo $memcache->getServerStatus('memcache_host', 11211);

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_server_status($memcache, 'memcache_host', 11211);

?>

Ayrıca Bakınız

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::setServerParams() - Changes server parameters and status at runtime


Get statistics of the server

  • « Memcache::getServerStatus
  • Memcache::getVersion »
  • PHP Manual
  • Memcache
  • Get statistics of the server

Memcache::getStats

(PECL memcache >= 0.2.0)

Memcache::getStats — Get statistics of the server

Açıklama

Memcache::getStats(string $type = ?, int $slabid = ?, int $limit = 100): array|false

Memcache::getStats() returns an associative array with server's statistics. Array keys correspond to stats parameters and values to parameter's values. Also you can use memcache_get_stats() function.

Bağımsız Değişkenler

type

The type of statistics to fetch. Valid values are {reset, malloc, maps, cachedump, slabs, items, sizes}. According to the memcached protocol spec these additional arguments "are subject to change for the convenience of memcache developers".

slabid

Used in conjunction with type set to cachedump to identify the slab to dump from. The cachedump command ties up the server and is strictly to be used for debugging purposes.

limit

Used in conjunction with type set to cachedump to limit the number of entries to dump.

Dönen Değerler

Returns an associative array of server statistics başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Memcache::getVersion() - Return version of the server
  • Memcache::getExtendedStats() - Get statistics from all servers in pool


Return version of the server

  • « Memcache::getStats
  • Memcache::increment »
  • PHP Manual
  • Memcache
  • Return version of the server

Memcache::getVersion

(PECL memcache >= 0.2.0)

Memcache::getVersion — Return version of the server

Açıklama

Memcache::getVersion(): string|false

Memcache::getVersion() returns a string with server's version number. Also you can use memcache_get_version() function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string of server version number başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::getVersion() example

<?php

/* OO API */
$memcache = new Memcache;
$memcache->connect('memcache_host', 11211);
echo $memcache->getVersion();

/* procedural API */
$memcache = memcache_connect('memcache_host', 11211);
echo memcache_get_version($memcache);

?>

Ayrıca Bakınız

  • Memcache::getExtendedStats() - Get statistics from all servers in pool
  • Memcache::getStats() - Get statistics of the server


Increment item's value

  • « Memcache::getVersion
  • Memcache::pconnect »
  • PHP Manual
  • Memcache
  • Increment item's value

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::increment — Increment item's value

Açıklama

Memcache::increment(string $key, int $value = 1): int|false

Memcache::increment() increments value of an item by the specified value. If item specified by key was not numeric and cannot be converted to a number, it will change its value to value. Memcache::increment() does not create an item if it doesn't already exist.

Bilginize:

Do not use Memcache::increment() with items that have been stored compressed because subsequent calls to Memcache::get() will fail.

Also you can use memcache_increment() function.

Bağımsız Değişkenler

key

Key of the item to increment.

value

Increment the item by value.

Dönen Değerler

Returns new items value on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::increment() example

<?php

/* procedural API */
$memcache_obj = memcache_connect('memcache_host', 11211);
/* increment counter by 2 */
$current_value = memcache_increment($memcache_obj, 'counter', 2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);
/* increment counter by 3 */
$current_value = $memcache_obj->increment('counter', 3);

?>

Ayrıca Bakınız

  • Memcache::decrement() - Decrement item's value
  • Memcache::replace() - Replace value of the existing item


Open memcached server persistent connection

  • « Memcache::increment
  • Memcache::replace »
  • PHP Manual
  • Memcache
  • Open memcached server persistent connection

Memcache::pconnect

(PECL memcache >= 0.4.0)

Memcache::pconnect — Open memcached server persistent connection

Açıklama

Memcache::pconnect(string $host, int $port = ?, int $timeout = ?): mixed

Memcache::pconnect() is similar to Memcache::connect() with the difference, that the connection it establishes is persistent. This connection is not closed after the end of script execution and by Memcache::close() function. Also you can use memcache_pconnect() function.

Bağımsız Değişkenler

host

Point to the host where memcached is listening for connections. This parameter may also specify other transports like unix:///path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

Point to the port where memcached is listening for connections. Set this parameter to 0 when using UNIX domain sockets.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

Dönen Değerler

Returns a Memcache object başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::pconnect() example

<?php

/* procedural API */
$memcache_obj = memcache_pconnect('memcache_host', 11211);

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->pconnect('memcache_host', 11211);

?>

Ayrıca Bakınız

  • Memcache::connect() - Open memcached server connection


Replace value of the existing item

  • « Memcache::pconnect
  • Memcache::set »
  • PHP Manual
  • Memcache
  • Replace value of the existing item

Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replace — Replace value of the existing item

Açıklama

Memcache::replace(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool

Memcache::replace() should be used to replace value of
existing item with key. In case if item with such
key doesn't exists, Memcache::replace() returns
false. For the rest Memcache::replace() behaves
similarly to Memcache::set().
Also you can use memcache_replace() function.

Bağımsız Değişkenler

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::replace() example

<?php

$memcache_obj = memcache_connect('memcache_host', 11211);

/* procedural API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* OO API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Ayrıca Bakınız

  • Memcache::set() - Store data at the server
  • Memcache::add() - Add an item to the server


Store data at the server

  • « Memcache::replace
  • Memcache::setCompressThreshold »
  • PHP Manual
  • Memcache
  • Store data at the server

Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Store data at the server

Açıklama

Memcache::set(
string $key,
mixed $var,
int $flag = ?,
int $expire = ?
): bool

Memcache::set() stores an item var with key on the memcached server. Parameter expire is expiration time in seconds. If it's 0, the item never expires (but memcached server doesn't guarantee this item to be stored all the time, it could be deleted from the cache to make place for other items). You can use MEMCACHE_COMPRESSED constant as flag value if you want to use on-the-fly compression (uses zlib).

Bilginize:

Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the cache, because they cannot be adequately represented in serialized state.

Also you can use memcache_set() function.

Bağımsız Değişkenler

key

The key that will be associated with the item.

var

The variable to store. Strings and integers are stored as is, other types are stored serialized.

flag

Use MEMCACHE_COMPRESSED to store the item compressed (uses zlib).

expire

Expiration time of the item. If it's equal to zero, the item will never expire. You can also use Unix timestamp or a number of seconds starting from current time, but in the latter case the number of seconds may not exceed 2592000 (30 days).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::set() example

<?php
/* procedural API */

/* connect to memcached server */
$memcache_obj = memcache_connect('memcache_host', 11211);

/*
set value of item with key 'var_key'
using 0 as flag value, compression is not used
expire time is 30 seconds
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo memcache_get($memcache_obj, 'var_key');

?>

Örnek 2 Memcache::set() example

<?php
/* OO API */

$memcache_obj = new Memcache;

/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);

/*
set value of item with key 'var_key', using on-the-fly compression
expire time is 50 seconds
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo $memcache_obj->get('var_key');

?>

Ayrıca Bakınız

  • Memcache::add() - Add an item to the server
  • Memcache::replace() - Replace value of the existing item


Enable automatic compression of large values

  • « Memcache::set
  • Memcache::setServerParams »
  • PHP Manual
  • Memcache
  • Enable automatic compression of large values

Memcache::setCompressThreshold

(PECL memcache >= 2.0.0)

Memcache::setCompressThreshold — Enable automatic compression of large values

Açıklama

Memcache::setCompressThreshold(int $threshold, float $min_savings = ?): bool

Memcache::setCompressThreshold() enables automatic compression of large values. You can also use the memcache_set_compress_threshold() function.

Bilginize:

This function has been added to Memcache version 2.0.0.

Bağımsız Değişkenler

threshold

Controls the minimum value length before attempting to compress automatically.

min_saving

Specifies the minimum amount of savings to actually store the value compressed. The supplied value must be between 0 and 1. Default value is 0.2 giving a minimum 20% compression savings.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::setCompressThreshold() example

<?php

/* OO API */

$memcache_obj = new Memcache;
$memcache_obj->addServer('memcache_host', 11211);
$memcache_obj->setCompressThreshold(20000, 0.2);

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_compress_threshold($memcache_obj, 20000, 0.2);

?>


Changes server parameters and status at runtime

  • « Memcache::setCompressThreshold
  • Memcache İşlevleri »
  • PHP Manual
  • Memcache
  • Changes server parameters and status at runtime

Memcache::setServerParams

(PECL memcache >= 2.1.0)

Memcache::setServerParams — Changes server parameters and status at runtime

Açıklama

Memcache::setServerParams(
string $host,
int $port = 11211,
int $timeout = ?,
int $retry_interval = false,
bool $status = ?,
callable $failure_callback = ?
): bool

Memcache::setServerParams() changes server parameters at runtime. You can also use the memcache_set_server_params() function.

Bilginize:

This function has been added to Memcache version 2.1.0.

Bağımsız Değişkenler

host

Point to the host where memcached is listening for connections.

port

Point to the port where memcached is listening for connections.

timeout

Value in seconds which will be used for connecting to the daemon. Think twice before changing the default value of 1 second - you can lose all the advantages of caching if your connection is too slow.

retry_interval

Controls how often a failed server will be retried, the default value is 15 seconds. Setting this parameter to -1 disables automatic retry. Neither this nor the persistent parameter has any effect when the extension is loaded dynamically via dl().

status

Controls if the server should be flagged as online. Setting this parameter to false and retry_interval to -1 allows a failed server to be kept in the pool so as not to affect the key distribution algorithm. Requests for this server will then failover or fail immediately depending on the memcache.allow_failover setting. Default to true, meaning the server should be considered online.

failure_callback

Allows the user to specify a callback function to run upon encountering an error. The callback is run before failover is attempted. The function takes two parameters, the hostname and port of the failed server.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcache::setServerParams() example

<?php

function _callback_memcache_failure($host, $port) {
print "memcache '$host:$port' failed";
}

/* OO API */

$memcache = new Memcache;

// Add the server in offline mode
$memcache->addServer('memcache_host', 11211, false, 1, 1, -1, false);

// Bring the server back online
$memcache->setServerParams('memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

/* procedural API */

$memcache_obj = memcache_connect('memcache_host', 11211);
memcache_set_server_params($memcache_obj, 'memcache_host', 11211, 1, 15, true, '_callback_memcache_failure');

?>

Ayrıca Bakınız

  • Memcache::addServer() - Add a memcached server to connection pool
  • Memcache::getServerStatus() - Returns server status


  • « Memcache::setServerParams
  • memcache_debug »
  • PHP Manual
  • Memcache
  • Memcache İşlevleri

Memcache İşlevleri

İçindekiler

  • memcache_debug — Turn debug output on/off


Turn debug output on/off

  • « Memcache İşlevleri
  • Memcached »
  • PHP Manual
  • Memcache İşlevleri
  • Turn debug output on/off

memcache_debug

(PECL memcache >= 0.2.0)

memcache_debug — Turn debug output on/off

Açıklama

memcache_debug(bool $on_off): bool

memcache_debug() turns on debug output if parameter on_off is equal to true and turns off if it's false.

Bilginize:

memcache_debug() is accessible only if PHP was built with --enable-debug option and always returns true in this case. Otherwise, this function has no effect and always returns false.

Bağımsız Değişkenler

on_off

Turns debug output on if equals to true. Turns debug output off if equals to false.

Dönen Değerler

Returns true if PHP was built with --enable-debug option, otherwise returns false.


Memcached

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Expiration Times
  • Callbacks
    • Result callbacks
    • Read-through cache callbacks
  • Sessions support
  • Memcached — The Memcached class
    • Memcached::add — Add an item under a new key
    • Memcached::addByKey — Add an item under a new key on a specific server
    • Memcached::addServer — Add a server to the server pool
    • Memcached::addServers — Add multiple servers to the server pool
    • Memcached::append — Append data to an existing item
    • Memcached::appendByKey — Append data to an existing item on a specific server
    • Memcached::cas — Compare and swap an item
    • Memcached::casByKey — Compare and swap an item on a specific server
    • Memcached::__construct — Create a Memcached instance
    • Memcached::decrement — Decrement numeric item's value
    • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
    • Memcached::delete — Delete an item
    • Memcached::deleteByKey — Delete an item from a specific server
    • Memcached::deleteMulti — Delete multiple items
    • Memcached::deleteMultiByKey — Delete multiple items from a specific server
    • Memcached::fetch — Fetch the next result
    • Memcached::fetchAll — Fetch all the remaining results
    • Memcached::flush — Invalidate all items in the cache
    • Memcached::get — Retrieve an item
    • Memcached::getAllKeys — Gets the keys stored on all the servers
    • Memcached::getByKey — Retrieve an item from a specific server
    • Memcached::getDelayed — Request multiple items
    • Memcached::getDelayedByKey — Request multiple items from a specific server
    • Memcached::getMulti — Retrieve multiple items
    • Memcached::getMultiByKey — Retrieve multiple items from a specific server
    • Memcached::getOption — Retrieve a Memcached option value
    • Memcached::getResultCode — Return the result code of the last operation
    • Memcached::getResultMessage — Return the message describing the result of the last operation
    • Memcached::getServerByKey — Map a key to a server
    • Memcached::getServerList — Get the list of the servers in the pool
    • Memcached::getStats — Get server pool statistics
    • Memcached::getVersion — Get server pool version info
    • Memcached::increment — Increment numeric item's value
    • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent — Check if a persitent connection to memcache is being used
    • Memcached::isPristine — Check if the instance was recently created
    • Memcached::prepend — Prepend data to an existing item
    • Memcached::prependByKey — Prepend data to an existing item on a specific server
    • Memcached::quit — Close any open connections
    • Memcached::replace — Replace the item under an existing key
    • Memcached::replaceByKey — Replace the item under an existing key on a specific server
    • Memcached::resetServerList — Clears all servers from the server list
    • Memcached::set — Store an item
    • Memcached::setByKey — Store an item on a specific server
    • Memcached::setMulti — Store multiple items
    • Memcached::setMultiByKey — Store multiple items on a specific server
    • Memcached::setOption — Set a Memcached option
    • Memcached::setOptions — Set Memcached options
    • Memcached::setSaslAuthData — Set the credentials to use for authentication
    • Memcached::touch — Set a new expiration on an item
    • Memcached::touchByKey — Set a new expiration on an item on a specific server
  • MemcachedException — The MemcachedException class


Giriş

» memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

This extension uses the libmemcached library to provide an API for communicating with memcached servers. It also provides a session handler (memcached).

Information about libmemcached can be found at » http://libmemcached.org/libMemcached.html.


Gereksinimler

This extension requires » libmemcached client library (version 1.0.0 or greater). For SASL authentication support, libmemcached must be built with SASL enabled.

Since version 0.2.0, this extension requires PHP version 5.2.0 or higher.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/memcached.

If libmemcached is installed in a non-standard location, use --with-libmemcached-dir=DIR switch, where DIR is the libmemcached install prefix. This directory has to contain the include/libmemcached/memcached.h file.

Zlib is required for compression support. To specify non-standard installation of Zlib, use --with-zlib-dir=DIR switch, where DIR is the Zlib install prefix.

Session handler support is enabled by default. To disable it, use --disable-memcached-session switch.

SASL authentication support is disabled by default. To enable it, use --enable-memcached-sasl switch. This requires that libsasl2 has been installed and that libmemcached has been built with SASL support enabled.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Memcached Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
memcached.sess_locking | On | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.sess_consistent_hash | On | PHP_INI_ALL | Available as of memcached 2.1.0. Default value is On as of memcached 3.0.0.
memcached.sess_binary | Off | PHP_INI_ALL | Available as of memcached 2.0.0. Replaced by memcached.sess_binary_protocol as of memcached 3.0.0.
memcached.sess_lock_wait | 150000 | PHP_INI_ALL | Available as of memcached 0.1.0. Removed as of memcached 3.0.0.
memcached.sess_prefix | memc.sess.key. | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.sess_number_of_replicas | 0 | PHP_INI_ALL | Available as of memcached 2.1.0.
memcached.sess_randomize_replica_read | Off | PHP_INI_ALL | Available as of memcached 2.1.0.
memcached.sess_remove_failed | On | PHP_INI_ALL | Available as of memcached 2.1.0. Replaced by memcached.sess_remove_failed_servers as of memcached 3.0.0.
memcached.compression_type | fastlz | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.compression_factor | 1.3 | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.compression_threshold | 2000 | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.serializer | igbinary | PHP_INI_ALL | Available as of memcached 0.1.0.
memcached.use_sasl | Off | PHP_INI_ALL | Available as of memcached 2.2.0. Removed as of memcached 3.0.0.
memcached.default_binary_protocol | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.default_connect_timeout | 0 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.default_consistent_hash | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_binary_protocol | On | PHP_INI_ALL | Available as of memcached 3.0.0. Replace memcached.sess_binary.
memcached.sess_connect_timeout | 1000 | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_consistent_hash_type | ketama | PHP_INI_ALL | Available as of memcached 3.1.0.
memcached.sess_lock_expire | 0 | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_lock_retries | 5 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_lock_wait_max | 150 | PHP_INI_ALL | Available as of memcached 3.0.0. Default value 150 as of memcached 3.1.0 (previously 2000).
memcached.sess_lock_wait_min | 150 | PHP_INI_ALL | Available as of memcached 3.0.0. Default value 150 as of memcached 3.1.0 (previously 1000).
memcached.sess_persistent | Off | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_remove_failed_servers | Off | PHP_INI_ALL | Available as of memcached 3.0.0. Replace memcached.sess_remove_failed.
memcached.sess_server_failure_limit | 0 | PHP_INI_ALL | Available as of memcached 3.0.0.
memcached.sess_sasl_password | null | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.sess_sasl_username | null | PHP_INI_ALL | Available as of memcached 2.2.0.
memcached.store_retry_count | 0 | PHP_INI_ALL | Available as of memcached 2.2.0. Default value 0 as of memcached 3.2.0 (previously 2).

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

memcached.sess_locking bool

Use session locking. Valid values: On, Off, the default is On.

memcached.sess_consistent_hash bool

If set to On, consistent hashing (libketama) is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys. Default is On.

memcached.sess_binary bool

Use memcached session binary mode. Libmemcached replicas only work if binary mode is enabled. The default is Off.

memcached.sess_lock_wait int

Session spin lock retry wait time in microseconds. Be careful when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock. The default is 150000.

memcached.sess_prefix string

Memcached session key prefix. Valid values are strings less than 219 bytes long. The default value is memc.sess.key.

memcached.sess_number_of_replicas int

Write data to a number of additional memcached servers. This is "poor man's HA" as libmemcached calls it. If this value is positive and sess_remove_failed_servers is enabled when a memcached server fails the session will continue to be available from a replica. However, if the failed memcache server becomes available again it will read the session from there which could have old data or no data at all. Default is 0.

memcached.sess_randomize_replica_read bool

Memcached session replica read randomize.

memcached.sess_remove_failed int

Allow failed memcached server to automatically be removed.

memcached.compression_type string

Set the compression type, valid values are: fastlz, zlib. The default is fastlz.

memcached.compression_factor float

Compression factor. Store compressed value only if the compression factor (saving) exceeds the set limit. Store compressed if: plain_len > comp_len * factor. The default value is 1.3 (23% space saving).

memcached.compression_threshold int

The compression threshold. Do not compress serialized values below this threshold. The default is 2000 bytes.

memcached.serializer string

Set the default serializer for new memcached objects. Valid values are: php, igbinary, json, json_array, msgpack.

json

Standard PHP JSON encoding. This serializer is fast and compact but only works on UTF-8 encoded data and does not fully implement serializing. See the JSON extension. Available as of memcached 0.2.0.

json_array

As json, but decodes into arrays. Available as of memcached 2.0.0.

php

The standard PHP serializer.

igbinary

A binary serializer. Available as of memcached 0.1.4.

msgpack

A cross-language binary serializer. Available as of memcached 2.2.0.

The default is igbinary if available, then msgpack if available, then php otherwise.

memcached.use_sasl bool

Use SASL authentication for connections. Valid values: On, Off. The default is Off.

memcached.default_binary_protocol bool

Sets the default memcached protocol for new connections. (To configure the memcached protocol for connections used by sessions, use memcached.sess_binary_protocol instead.) If set to On, the memcached binary protocol is used by default. If set to Off, the memcached text protocol is used. Default is Off.

memcached.default_connect_timeout int

Sets the default memcached connection timeout for new connections. (To configure the memcached connection timeout for sessions, use memcached.sess_connect_timeout instead.) In non-blocking mode this changes the value of the timeout. During socket connection in milliseconds. Specifying -1 means an infinite timeout. Specifying 0 means using the memcached library's default connection timeout. Default is 0.

memcached.default_consistent_hash bool

Sets the default for consistent hashing for new connections. (To configure consistent hashing for session connections, use memcached.sess_consistent_hash instead.) If set to On, consistent hashing (libketama) is used for session handling. When consistent hashing is used, one can add or remove cache node(s) without messing up too much with existing keys default is Off.

memcached.sess_binary_protocol bool

Use the memcached binary protocol for memcached sessions instead of the text protocol. libmemcached replicas only work if the binary mode is enabled. However, certain proxies (such as twemproxy) will only work if the binary protocol is disabled. Default is On as of libmemcached 1.0.18. Prior to libmemcached 1.0.18, the default was Off.

Bilginize: In previous versions of php-memcached, this setting was called memcached.sess_binary.

memcached.sess_connect_timeout int

memcached connect timeout value In non-blocking mode this changes the value of the timeout during socket connection in milliseconds. Specifying -1 means an infinite timeout.

memcached.sess_consistent_hash_type string

Memcached session consistent hash type. If set to ketama, consistent hashing (libketama) is used for session handling. If set to ketama_weighted, weighted consistent hashing (libketama) is used for session handling. Default is ketama. Prior to php-memcached 3.0, the default was ketama_weighted.

memcached.sess_lock_expire int

The time, in seconds, before a lock should release itself. Setting to 0 results in the default behaviour, which is to use PHP's max_execution_time. Default is 0.

memcached.sess_lock_retries int

The number of times to retry locking the session lock, not including the first attempt. Default is 5.

memcached.sess_lock_wait_max int

The maximum time, in milliseconds, to wait between session lock attempts. The default is 150.

memcached.sess_lock_wait_min int

The minimum time, in milliseconds, to wait between session lock attempts. This value is double on each lock retry until memcached.sess_lock_wait_max is reached, after which any further retries will take memcached.sess_lock_wait_max seconds. The default is 150.

memcached.sess_persistent bool

Whether or not to re-use the memcached connections corresponding to the value(s) of session.save_path after the execution of the script ends. Don't use this if certain settings (e.g. SASL settings, sess_binary_protocol) would be overridden between requests. Default is Off.

memcached.sess_remove_failed_servers bool

Allow failed memcached server to automatically be removed. Default is Off.

Bilginize: In previous versions of php-memcached, this setting was called memcached.sess_remove_failed.

memcached.sess_server_failure_limit int

Set this value to enable the server be removed after configured number of continuous times connection failure. Default is 0.

memcached.sess_sasl_password string

Session SASL password. Both username and password need to be set for SASL to be enabled.

memcached.sess_sasl_username string

Session SASL username. Both username and password need to be set for SASL to be enabled.

memcached.store_retry_count int

The amount of retries for failed store commands. This mechanism allows transparent fail-over to secondary servers when set/increment/decrement/setMulti operations fail on the desired server in a multi-server environment. The default is 2.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Memcached::OPT_COMPRESSION

Enables or disables payload compression. When enabled, item values longer than a certain threshold (currently 100 bytes) will be compressed during storage and decompressed during retrieval transparently.

Type: bool, default: true.

Memcached::OPT_SERIALIZER

Specifies the serializer to use for serializing non-scalar values. The valid serializers are Memcached::SERIALIZER_PHP or Memcached::SERIALIZER_IGBINARY. The latter is supported only when memcached is configured with --enable-memcached-igbinary option and the igbinary extension is loaded.

Type: int, default: Memcached::SERIALIZER_PHP.

Memcached::SERIALIZER_PHP

The default PHP serializer.

Memcached::SERIALIZER_IGBINARY

The » igbinary serializer. Instead of textual representation it stores PHP data structures in a compact binary form, resulting in space and time gains.

Memcached::SERIALIZER_JSON

The JSON serializer.

Memcached::OPT_PREFIX_KEY

This can be used to create a "domain" for your item keys. The value specified here will be prefixed to each of the keys. It cannot be longer than 128 characters and will reduce the maximum available key size. The prefix is applied only to the item keys, not to the server keys.

Type: string, default: "".

Memcached::OPT_HASH

Specifies the hashing algorithm used for the item keys. The valid values are supplied via Memcached::HASH_* constants. Each hash algorithm has its advantages and its disadvantages. Go with the default if you don't know or don't care.

Type: int, default: Memcached::HASH_DEFAULT

Memcached::HASH_DEFAULT

The default (Jenkins one-at-a-time) item key hashing algorithm.

Memcached::HASH_MD5

MD5 item key hashing algorithm.

Memcached::HASH_CRC

CRC item key hashing algorithm.

Memcached::HASH_FNV1_64

FNV1_64 item key hashing algorithm.

Memcached::HASH_FNV1A_64

FNV1_64A item key hashing algorithm.

Memcached::HASH_FNV1_32

FNV1_32 item key hashing algorithm.

Memcached::HASH_FNV1A_32

FNV1_32A item key hashing algorithm.

Memcached::HASH_HSIEH

Hsieh item key hashing algorithm.

Memcached::HASH_MURMUR

Murmur item key hashing algorithm.

Memcached::OPT_DISTRIBUTION

Specifies the method of distributing item keys to the servers. Currently supported methods are modulo and consistent hashing. Consistent hashing delivers better distribution and allows servers to be added to the cluster with minimal cache losses.

Type: int, default: Memcached::DISTRIBUTION_MODULA.

Memcached::DISTRIBUTION_MODULA

Modulo-based key distribution algorithm.

Memcached::DISTRIBUTION_CONSISTENT

Consistent hashing key distribution algorithm (based on libketama).

Memcached::OPT_LIBKETAMA_COMPATIBLE

Enables or disables compatibility with libketama-like behavior. When enabled, the item key hashing algorithm is set to MD5 and distribution is set to be weighted consistent hashing distribution. This is useful because other libketama-based clients (Python, Ruby, etc.) with the same server configuration will be able to access the keys transparently.

Bilginize:

It is highly recommended to enable this option if you want to use consistent hashing, and it may be enabled by default in future releases.

Type: bool, default: false.

Memcached::OPT_BUFFER_WRITES

Enables or disables buffered I/O. Enabling buffered I/O causes storage commands to "buffer" instead of being sent. Any action that retrieves data causes this buffer to be sent to the remote connection. Quitting the connection or closing down the connection will also cause the buffered data to be pushed to the remote connection.

Type: bool, default: false.

Memcached::OPT_BINARY_PROTOCOL

Enable the use of the binary protocol. Please note that you cannot toggle this option on an open connection.

Type: bool, default: false.

Memcached::OPT_NO_BLOCK

Enables or disables asynchronous I/O. This is the fastest transport available for storage functions.

Type: bool, default: false.

Memcached::OPT_NOREPLY

Enables or disables ignoring the result of storage commands (set, add, replace, append, prepend, delete, increment, decrement, etc.). Storage commands will be sent without spending time waiting for a reply (there would be no reply). Retrieval commands such as Memcached::get() are unaffected by this setting.

Type: bool, default: false.

Memcached::OPT_TCP_NODELAY

Enables or disables the no-delay feature for connecting sockets (may be faster in some environments).

Type: bool, default: false.

Memcached::OPT_SOCKET_SEND_SIZE

The maximum socket send buffer in bytes.

Type: int, default: varies by platform/kernel configuration.

Memcached::OPT_SOCKET_RECV_SIZE

The maximum socket receive buffer in bytes.

Type: int, default: varies by platform/kernel configuration.

Memcached::OPT_CONNECT_TIMEOUT

In non-blocking mode this set the value of the timeout during socket connection, in milliseconds.

Type: int, default: 1000.

Memcached::OPT_RETRY_TIMEOUT

The amount of time, in seconds, to wait until retrying a failed connection attempt.

Type: int, default: 0.

Memcached::OPT_SEND_TIMEOUT

Socket sending timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the sending of data.

Type: int, default: 0.

Memcached::OPT_RECV_TIMEOUT

Socket reading timeout, in microseconds. In cases where you cannot use non-blocking I/O this will allow you to still have timeouts on the reading of data.

Type: int, default: 0.

Memcached::OPT_POLL_TIMEOUT

Timeout for connection polling, in milliseconds.

Type: int, default: 1000.

Memcached::OPT_CACHE_LOOKUPS

Enables or disables caching of DNS lookups.

Type: bool, default: false.

Memcached::OPT_SERVER_FAILURE_LIMIT

Specifies the failure limit for server connection attempts. The server will be removed after this many continuous connection failures.

Type: int, default: 0.

Memcached::HAVE_IGBINARY

Indicates whether igbinary serializer support is available.

Type: bool.

Memcached::HAVE_JSON

Indicates whether JSON serializer support is available.

Type: bool.

Memcached::HAVE_MSGPACK

Indicates whether msgpack serializer support is available.

Type: bool.

Available as of Memcached 3.0.0.

Memcached::HAVE_SESSION

Type: bool.

Available as of Memcached 3.0.0.

Memcached::HAVE_SASL

Type: bool.

Available as of Memcached 3.0.0.

Memcached::GET_EXTENDED

A flag for Memcached::get(), Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the CAS token values are returned as well.

Available as of Memcached 3.0.0.

Memcached::GET_PRESERVE_ORDER

A flag for Memcached::getMulti() and Memcached::getMultiByKey() to ensure that the keys are returned in the same order as they were requested in. Non-existing keys get a default value of NULL.

Memcached::RES_SUCCESS

The operation was successful.

Memcached::RES_FAILURE

The operation failed in some fashion.

Memcached::RES_HOST_LOOKUP_FAILURE

DNS lookup failed.

Memcached::RES_UNKNOWN_READ_FAILURE

Failed to read network data.

Memcached::RES_PROTOCOL_ERROR

Bad command in memcached protocol.

Memcached::RES_CLIENT_ERROR

Error on the client side.

Memcached::RES_SERVER_ERROR

Error on the server side.

Memcached::RES_WRITE_FAILURE

Failed to write network data.

Memcached::RES_DATA_EXISTS

Failed to do compare-and-swap: item you are trying to store has been modified since you last fetched it.

Memcached::RES_NOTSTORED

Item was not stored: but not because of an error. This normally means that either the condition for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.

Memcached::RES_NOTFOUND

Item with this key was not found (with "get" operation or "cas" operations).

Memcached::RES_PARTIAL_READ

Partial network data read error.

Memcached::RES_SOME_ERRORS

Some errors occurred during multi-get.

Memcached::RES_NO_SERVERS

Server list is empty.

Memcached::RES_END

End of result set.

Memcached::RES_ERRNO

System error.

Memcached::RES_BUFFERED

The operation was buffered.

Memcached::RES_TIMEOUT

The operation timed out.

Memcached::RES_BAD_KEY_PROVIDED

Bad key.

Memcached::RES_CONNECTION_SOCKET_CREATE_FAILURE

Failed to create network socket.

Memcached::RES_PAYLOAD_FAILURE

Payload failure: could not compress/decompress or serialize/unserialize the value.

Memcached::RES_AUTH_PROBLEM

Available as of Memcached 3.0.0.

Memcached::RES_AUTH_FAILURE

Available as of Memcached 3.0.0.

Memcached::RES_AUTH_CONTINUE

Available as of Memcached 3.0.0.

Memcached::RES_E2BIG

Available as of Memcached 3.0.0.

Memcached::RES_KEY_TOO_BIG

Available as of Memcached 3.0.0.

Memcached::RES_SERVER_TEMPORARILY_DISABLED

Available as of Memcached 3.0.0.

Memcached::RES_SERVER_MEMORY_ALLOCATION_FAILURE

Available as of Memcached 3.0.0.


Expiration Times

Some storage commands involve sending an expiration value (relative to an item or to an operation requested by the client) to the server. In all such cases, the actual value sent may either be Unix time (number of seconds since January 1, 1970, as an integer), or a number of seconds starting from current time. In the latter case, this number of seconds may not exceed 60*60*24*30 (number of seconds in 30 days); if the expiration value is larger than that, the server will consider it to be real Unix time value rather than an offset from current time.

If the expiration value is 0 (the default), the item never expires (although it may be deleted from the server to make place for other items).


  • « Expiration Times
  • Result callbacks »
  • PHP Manual
  • Memcached
  • Callbacks

Callbacks

İçindekiler

  • Result callbacks
  • Read-through cache callbacks


Result callbacks

Result callables are invoked by Memcached::getDelayed() or Memcached::getDelayedBykey() methods for each item in the result set. The callback is passed the Memcached object and the array with the item information. The callback does not have to return anything.

Örnek 1 Result callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$m->getDelayed(array('key1', 'key3'), true, 'result_cb');

function result_cb($memc, $item)
{
var_dump($item);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["key"]=>
  string(4) "key1"
  ["value"]=>
  string(6) "value1"
  ["cas"]=>
  float(49)
}
array(3) {
  ["key"]=>
  string(4) "key3"
  ["value"]=>
  string(6) "value3"
  ["cas"]=>
  float(50)
}


Read-through cache callbacks

Read-through cache callbacks are invoked when an item cannot be retrieved from the server. The callback is passed the Memcached object, the requested key, and the by-reference value variable. The callback is responsible for setting the value and returning true or false. If the callback returns true, Memcached will store the populated value on the server and return it to the original calling function. Only Memcached::get() and Memcached::getByKey() support these callbacks, because the memcache protocol does not provide information on which keys were not found in the multi-key request.

Örnek 1 Read-through callback example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$profile_info = $m->get('user:'.$user_id, 'user_info_cb');

function user_info_cb($memc, $key, &$value)
{
$user_id = substr($key, 5);
/* lookup profile info in the DB */
/* ... */
$value = $profile_info;
return true;
}
?>


Sessions support

Memcached provides a custom session handler that can be used to store user sessions in memcache. A completely separate memcached instance is used for that internally, so you can use a different server pool if necessary. The session keys are stored under the prefix memc.sess.key., so be aware of this if you use the same server pool for sessions and generic caching.

session.save_handler string

Set to memcached to enable sessions support.

session.save_path string

Defines a comma separated of hostname:port entries to use for session server pool, for example "sess1:11211, sess2:11211".


The Memcached class

(PECL memcached >= 0.1.0)

Giriş

Represents a connection to a set of memcached servers.

Sınıf Sözdizimi

class Memcached {
/* Yöntemler */
public __construct(?string $persistent_id = null, ?callable $callback = null, ?string $connection_str = null)
public add(string $key, mixed $value, int $expiration = 0): bool
public addByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool
public addServer(string $host, int $port, int $weight = 0): bool
public addServers(array $servers): bool
public append(string $key, string $value): ?bool
public appendByKey(string $server_key, string $key, string $value): ?bool
public cas(
string|int|float $cas_token,
string $key,
mixed $value,
int $expiration = 0
): bool
public casByKey(
string|int|float $cas_token,
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool
public decrement(
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false
public decrementByKey(
string $server_key,
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false
public delete(string $key, int $time = 0): bool
public deleteByKey(string $server_key, string $key, int $time = 0): bool
public deleteMulti(array $keys, int $time = 0): array
public deleteMultiByKey(string $server_key, array $keys, int $time = 0): array
public fetch(): array|false
public fetchAll(): array|false
public flush(int $delay = 0): bool
public get(string $key, ?callable $cache_cb = null, int $get_flags = 0): mixed
public getAllKeys(): array|false
public getByKey(
string $server_key,
string $key,
?callable $cache_cb = null,
int $get_flags = 0
): mixed
public getDelayed(array $keys, bool $with_cas = false, ?callable $value_cb = null): bool
public getDelayedByKey(
string $server_key,
array $keys,
bool $with_cas = false,
?callable $value_cb = null
): bool
public getMulti(array $keys, int $get_flags = 0): array|false
public getMultiByKey(string $server_key, array $keys, int $get_flags = 0): array|false
public getOption(int $option): mixed
public getResultCode(): int
public getResultMessage(): string
public getServerByKey(string $server_key): array|false
public getServerList(): array
public getStats(?string $type = null): array|false
public getVersion(): array|false
public increment(
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false
public incrementByKey(
string $server_key,
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false
public isPersistent(): bool
public isPristine(): bool
public prepend(string $key, string $value): ?bool
public prependByKey(string $server_key, string $key, string $value): ?bool
public quit(): bool
public replace(string $key, mixed $value, int $expiration = 0): bool
public replaceByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool
public resetServerList(): bool
public set(string $key, mixed $value, int $expiration = 0): bool
public setByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool
public setMulti(array $items, int $expiration = 0): bool
public setMultiByKey(string $server_key, array $items, int $expiration = 0): bool
public setOption(int $option, mixed $value): bool
public setOptions(array $options): bool
public setSaslAuthData(string $username, string $password): bool
public touch(string $key, int $expiration = 0): bool
public touchByKey(string $server_key, string $key, int $expiration = 0): bool
}

İçindekiler

  • Memcached::add — Add an item under a new key
  • Memcached::addByKey — Add an item under a new key on a specific server
  • Memcached::addServer — Add a server to the server pool
  • Memcached::addServers — Add multiple servers to the server pool
  • Memcached::append — Append data to an existing item
  • Memcached::appendByKey — Append data to an existing item on a specific server
  • Memcached::cas — Compare and swap an item
  • Memcached::casByKey — Compare and swap an item on a specific server
  • Memcached::__construct — Create a Memcached instance
  • Memcached::decrement — Decrement numeric item's value
  • Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server
  • Memcached::delete — Delete an item
  • Memcached::deleteByKey — Delete an item from a specific server
  • Memcached::deleteMulti — Delete multiple items
  • Memcached::deleteMultiByKey — Delete multiple items from a specific server
  • Memcached::fetch — Fetch the next result
  • Memcached::fetchAll — Fetch all the remaining results
  • Memcached::flush — Invalidate all items in the cache
  • Memcached::get — Retrieve an item
  • Memcached::getAllKeys — Gets the keys stored on all the servers
  • Memcached::getByKey — Retrieve an item from a specific server
  • Memcached::getDelayed — Request multiple items
  • Memcached::getDelayedByKey — Request multiple items from a specific server
  • Memcached::getMulti — Retrieve multiple items
  • Memcached::getMultiByKey — Retrieve multiple items from a specific server
  • Memcached::getOption — Retrieve a Memcached option value
  • Memcached::getResultCode — Return the result code of the last operation
  • Memcached::getResultMessage — Return the message describing the result of the last operation
  • Memcached::getServerByKey — Map a key to a server
  • Memcached::getServerList — Get the list of the servers in the pool
  • Memcached::getStats — Get server pool statistics
  • Memcached::getVersion — Get server pool version info
  • Memcached::increment — Increment numeric item's value
  • Memcached::incrementByKey — Increment numeric item's value, stored on a specific server
  • Memcached::isPersistent — Check if a persitent connection to memcache is being used
  • Memcached::isPristine — Check if the instance was recently created
  • Memcached::prepend — Prepend data to an existing item
  • Memcached::prependByKey — Prepend data to an existing item on a specific server
  • Memcached::quit — Close any open connections
  • Memcached::replace — Replace the item under an existing key
  • Memcached::replaceByKey — Replace the item under an existing key on a specific server
  • Memcached::resetServerList — Clears all servers from the server list
  • Memcached::set — Store an item
  • Memcached::setByKey — Store an item on a specific server
  • Memcached::setMulti — Store multiple items
  • Memcached::setMultiByKey — Store multiple items on a specific server
  • Memcached::setOption — Set a Memcached option
  • Memcached::setOptions — Set Memcached options
  • Memcached::setSaslAuthData — Set the credentials to use for authentication
  • Memcached::touch — Set a new expiration on an item
  • Memcached::touchByKey — Set a new expiration on an item on a specific server


Add an item under a new key

  • « Memcached
  • Memcached::addByKey »
  • PHP Manual
  • Memcached
  • Add an item under a new key

Memcached::add

(PECL memcached >= 0.1.0)

Memcached::add — Add an item under a new key

Açıklama

public Memcached::add(string $key, mixed $value, int $expiration = 0): bool

Memcached::add() is similar to Memcached::set(), but the operation fails if the key already exists on the server.

Bağımsız Değişkenler

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Ayrıca Bakınız

  • Memcached::addByKey() - Add an item under a new key on a specific server
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key


Add an item under a new key on a specific server

  • « Memcached::add
  • Memcached::addServer »
  • PHP Manual
  • Memcached
  • Add an item under a new key on a specific server

Memcached::addByKey

(PECL memcached >= 0.1.0)

Memcached::addByKey — Add an item under a new key on a specific server

Açıklama

public Memcached::addByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool

Memcached::addByKey() is functionally equivalent to Memcached::add(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key already exists.

Ayrıca Bakınız

  • Memcached::add() - Add an item under a new key
  • Memcached::set() - Store an item
  • Memcached::replace() - Replace the item under an existing key


Add a server to the server pool

  • « Memcached::addByKey
  • Memcached::addServers »
  • PHP Manual
  • Memcached
  • Add a server to the server pool

Memcached::addServer

(PECL memcached >= 0.1.0)

Memcached::addServer — Add a server to the server pool

Açıklama

public Memcached::addServer(string $host, int $port, int $weight = 0): bool

Memcached::addServer() adds the specified server to the server pool. No connection is established to the server at this time, but if you are using consistent key distribution option (via Memcached::DISTRIBUTION_CONSISTENT or Memcached::OPT_LIBKETAMA_COMPATIBLE), some of the internal data structures will have to be updated. Thus, if you need to add multiple servers, it is better to use Memcached::addServers() as the update then happens only once.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Bağımsız Değişkenler

host

The hostname of the memcache server. If the hostname is invalid, data-related operations will set Memcached::RES_HOST_LOOKUP_FAILURE result code. As of version 2.0.0b1, this parameter may also specify the path of a unix socket filepath ex. /path/to/memcached.sock to use UNIX domain sockets, in this case port must also be set to 0.

port

The port on which memcache is running. Usually, this is 11211. As of version 2.0.0b1, set this parameter to 0 when using UNIX domain sockets.

weight

The weight of the server relative to the total weight of all the servers in the pool. This controls the probability of the server being selected for operations. This is used only with consistent distribution option and usually corresponds to the amount of memory available to memcache on that server.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcached::addServer() example

<?php
$m = new Memcached();

/* Add 2 servers, so that the second one
is twice as likely to be selected. */
$m->addServer('mem1.domain.com', 11211, 33);
$m->addServer('mem2.domain.com', 11211, 67);
?>

Ayrıca Bakınız

  • Memcached::addServers() - Add multiple servers to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list


Add multiple servers to the server pool

  • « Memcached::addServer
  • Memcached::append »
  • PHP Manual
  • Memcached
  • Add multiple servers to the server pool

Memcached::addServers

(PECL memcached >= 0.1.1)

Memcached::addServers — Add multiple servers to the server pool

Açıklama

public Memcached::addServers(array $servers): bool

Memcached::addServers() adds servers to the server pool. Each entry in servers is supposed to be an array containing hostname, port, and, optionally, weight of the server. No connection is established to the servers at this time.

The same server may appear multiple times in the server pool, because no duplication checks are made. This is not advisable; instead, use the weight option to increase the selection weighting of this server.

Bağımsız Değişkenler

array

Array of the servers to add to the pool.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcached::addServers() example

<?php
$m = new Memcached();

$servers = array(
array('mem1.domain.com', 11211, 33),
array('mem2.domain.com', 11211, 67)
);
$m->addServers($servers);
?>

Ayrıca Bakınız

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::resetServerList() - Clears all servers from the server list


Append data to an existing item

  • « Memcached::addServers
  • Memcached::appendByKey »
  • PHP Manual
  • Memcached
  • Append data to an existing item

Memcached::append

(PECL memcached >= 0.1.0)

Memcached::append — Append data to an existing item

Açıklama

public Memcached::append(string $key, string $value): ?bool

Memcached::append() appends the given value string to the value of an existing item. The reason that value is forced to be a string is that appending mixed types is not well-defined.

Bilginize:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because appending compressed data to a value that is potentially already compressed is not possible.

Bağımsız Değişkenler

key

Değerin saklanacağı anahtar.

value

The string to append.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns null when compression is on.

Hatalar/İstisnalar

Returns null and raises an E_WARNING when compression is enabled.

Örnekler

Örnek 1 Memcached::append() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->append('foo', 'def');
var_dump($m->get('foo'));
?>

Yukarıdaki örneğin çıktısı:

string(6) "abcdef"

Ayrıca Bakınız

  • Memcached::appendByKey() - Append data to an existing item on a specific server
  • Memcached::prepend() - Prepend data to an existing item


Append data to an existing item on a specific server

  • « Memcached::append
  • Memcached::cas »
  • PHP Manual
  • Memcached
  • Append data to an existing item on a specific server

Memcached::appendByKey

(PECL memcached >= 0.1.0)

Memcached::appendByKey — Append data to an existing item on a specific server

Açıklama

public Memcached::appendByKey(string $server_key, string $key, string $value): ?bool

Memcached::appendByKey() is functionally equivalent to Memcached::append(), except that the free-form server_key can be used to map the key to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

value

The string to append.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns null when compression is on.

Hatalar/İstisnalar

Returns null and raises an E_WARNING when compression is enabled.

Ayrıca Bakınız

  • Memcached::append() - Append data to an existing item
  • Memcached::prepend() - Prepend data to an existing item


Compare and swap an item

  • « Memcached::appendByKey
  • Memcached::casByKey »
  • PHP Manual
  • Memcached
  • Compare and swap an item

Memcached::cas

(PECL memcached >= 0.1.0)

Memcached::cas — Compare and swap an item

Açıklama

public Memcached::cas(
string|int|float $cas_token,
string $key,
mixed $value,
int $expiration = 0
): bool

Memcached::cas() performs a "check and set" operation, so that the item will be stored only if no other client has updated it since it was last fetched by this client. The check is done via the cas_token parameter which is a unique 64-bit value assigned to the existing item by memcache. See the documentation for Memcached::get*() methods for how to obtain this token. Note that the token is represented as a float due to the limitations of PHP's integer space.

Bağımsız Değişkenler

cas_token

Unique value associated with the existing item. Generated by memcache.

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Örnekler

Örnek 1 Memcached::cas() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

do {
/* fetch IP list and its token */
$ips = $m->get('ip_block', null, $cas);
/* if list doesn't exist yet, create it and do
an atomic add which will fail if someone else already added it */
if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
$ips = array($_SERVER['REMOTE_ADDR']);
$m->add('ip_block', $ips);
/* otherwise, add IP to the list and store via compare-and-swap
with the token, which will fail if someone else updated the list */
} else {
$ips[] = $_SERVER['REMOTE_ADDR'];
$m->cas($cas, 'ip_block', $ips);
}
} while ($m->getResultCode() != Memcached::RES_SUCCESS);

?>

Ayrıca Bakınız

  • Memcached::casByKey() - Compare and swap an item on a specific server


Compare and swap an item on a specific server

  • « Memcached::cas
  • Memcached::__construct »
  • PHP Manual
  • Memcached
  • Compare and swap an item on a specific server

Memcached::casByKey

(PECL memcached >= 0.1.0)

Memcached::casByKey — Compare and swap an item on a specific server

Açıklama

public Memcached::casByKey(
string|int|float $cas_token,
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool

Memcached::casByKey() is functionally equivalent to Memcached::cas(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Bağımsız Değişkenler

cas_token

Unique value associated with the existing item. Generated by memcache.

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_DATA_EXISTS if the item you are trying to store has been modified since you last fetched it.

Ayrıca Bakınız

  • Memcached::cas() - Compare and swap an item


Create a Memcached instance

  • « Memcached::casByKey
  • Memcached::decrement »
  • PHP Manual
  • Memcached
  • Create a Memcached instance

Memcached::__construct

(PECL memcached >= 0.1.0)

Memcached::__construct — Create a Memcached instance

Açıklama

public Memcached::__construct(?string $persistent_id = null, ?callable $callback = null, ?string $connection_str = null)

Creates a Memcached instance representing the connection to the memcache servers.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

persistent_id

By default the Memcached instances are destroyed at the end of the request. To create an instance that persists between requests, use persistent_id to specify a unique ID for the instance. All instances created with the same persistent_id will share the same connection.

callback

connection_str

Örnekler

Örnek 1 Creating a Memcached object

<?php
/* Create a regular instance */
$m = new Memcached();
echo get_class($m);

/* Create a persistent instance */
$m2 = new Memcached('story_pool');
$m3 = new Memcached('story_pool');

/* now $m2 and $m3 share the same connection */
?>


Decrement numeric item's value

  • « Memcached::__construct
  • Memcached::decrementByKey »
  • PHP Manual
  • Memcached
  • Decrement numeric item's value

Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — Decrement numeric item's value

Açıklama

public Memcached::decrement(
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false

Memcached::decrement() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrement() will set the item to the initial_value parameter if the key doesn't exist.

Bağımsız Değişkenler

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Dönen Değerler

Returns item's new value on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcached::decrement() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 5);
$n = $m->decrement('counter');
var_dump($n);

$n = $m->decrement('counter', 10);
var_dump($n);

var_dump($m->get('counter'));

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

Yukarıdaki örneğin çıktısı:

int(4)
int(0)
int(0)
bool(false)

Ayrıca Bakınız

  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server


Decrement numeric item's value, stored on a specific server

  • « Memcached::decrement
  • Memcached::delete »
  • PHP Manual
  • Memcached
  • Decrement numeric item's value, stored on a specific server

Memcached::decrementByKey

(PECL memcached >= 2.0.0)

Memcached::decrementByKey — Decrement numeric item's value, stored on a specific server

Açıklama

public Memcached::decrementByKey(
string $server_key,
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false

Memcached::decrementByKey() decrements a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. If the operation would decrease the value below 0, the new value will be 0. Memcached::decrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

The key of the item to decrement.

offset

The amount by which to decrement the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Dönen Değerler

Returns item's new value on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::increment() - Increment numeric item's value
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server


Delete an item

  • « Memcached::decrementByKey
  • Memcached::deleteByKey »
  • PHP Manual
  • Memcached
  • Delete an item

Memcached::delete

(PECL memcached >= 0.1.0)

Memcached::delete — Delete an item

Açıklama

public Memcached::delete(string $key, int $time = 0): bool

Delete the key from the server.

Bağımsız Değişkenler

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Bilginize: memcached 1.3.0 (2009'da dağıtılan) itibariyle bu özellik artık desteklenmemektedir. Sıfırdan farklı zaman değerleri silme işleminin başarısız olmasına sebep olur. Memcached::getResultCode() yöntemi MEMCACHED_INVALID_ARGUMENTS döndürür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Örnekler

Örnek 1 Memcached::delete() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->delete('key1');
?>

Ayrıca Bakınız

  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items


Delete an item from a specific server

  • « Memcached::delete
  • Memcached::deleteMulti »
  • PHP Manual
  • Memcached
  • Delete an item from a specific server

Memcached::deleteByKey

(PECL memcached >= 0.1.0)

Memcached::deleteByKey — Delete an item from a specific server

Açıklama

public Memcached::deleteByKey(string $server_key, string $key, int $time = 0): bool

Memcached::deleteByKey() is functionally equivalent to Memcached::delete(), except that the free-form server_key can be used to map the key to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

The key to be deleted.

time

The amount of time the server will wait to delete the item.

Bilginize: memcached 1.3.0 (2009'da dağıtılan) itibariyle bu özellik artık desteklenmemektedir. Sıfırdan farklı zaman değerleri silme işleminin başarısız olmasına sebep olur. Memcached::getResultCode() yöntemi MEMCACHED_INVALID_ARGUMENTS döndürür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Ayrıca Bakınız

  • Memcached::delete() - Delete an item
  • Memcached::deleteMulti() - Delete multiple items
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server


Delete multiple items

  • « Memcached::deleteByKey
  • Memcached::deleteMultiByKey »
  • PHP Manual
  • Memcached
  • Delete multiple items

Memcached::deleteMulti

(PECL memcached >= 2.0.0)

Memcached::deleteMulti — Delete multiple items

Açıklama

public Memcached::deleteMulti(array $keys, int $time = 0): array

Delete the array of keys from the server.

Bağımsız Değişkenler

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Bilginize: memcached 1.3.0 (2009'da dağıtılan) itibariyle bu özellik artık desteklenmemektedir. Sıfırdan farklı zaman değerleri silme işleminin başarısız olmasına sebep olur. Memcached::getResultCode() yöntemi MEMCACHED_INVALID_ARGUMENTS döndürür.

Dönen Değerler

anahtarlar indisli bir dizi döner. Her elemanın değeri, ilgili anahtar silinmişse true, silme başarısız olmuşsa Memcached::RES_* sabitlerinden biri olur.

Memcached::getResultCode() son silme işleminin sonuç kodunu döndürür; buradaki son silme işlemi anahtarlar'ın son elemanı için silme işlemidir.

Ayrıca Bakınız

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMultiByKey() - Delete multiple items from a specific server


Delete multiple items from a specific server

  • « Memcached::deleteMulti
  • Memcached::fetch »
  • PHP Manual
  • Memcached
  • Delete multiple items from a specific server

Memcached::deleteMultiByKey

(PECL memcached >= 2.0.0)

Memcached::deleteMultiByKey — Delete multiple items from a specific server

Açıklama

public Memcached::deleteMultiByKey(string $server_key, array $keys, int $time = 0): array

Memcached::deleteMultiByKey() is functionally equivalent to Memcached::deleteMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

keys

The keys to be deleted.

time

The amount of time the server will wait to delete the items.

Bilginize: memcached 1.3.0 (2009'da dağıtılan) itibariyle bu özellik artık desteklenmemektedir. Sıfırdan farklı zaman değerleri silme işleminin başarısız olmasına sebep olur. Memcached::getResultCode() yöntemi MEMCACHED_INVALID_ARGUMENTS döndürür.

Dönen Değerler

anahtarlar indisli bir dizi döner. Her elemanın değeri, ilgili anahtar silinmişse true, silme başarısız olmuşsa Memcached::RES_* sabitlerinden biri olur.

Memcached::getResultCode() son silme işleminin sonuç kodunu döndürür; buradaki son silme işlemi anahtarlar'ın son elemanı için silme işlemidir.

Ayrıca Bakınız

  • Memcached::delete() - Delete an item
  • Memcached::deleteByKey() - Delete an item from a specific server
  • Memcached::deleteMulti() - Delete multiple items


Fetch the next result

  • « Memcached::deleteMultiByKey
  • Memcached::fetchAll »
  • PHP Manual
  • Memcached
  • Fetch the next result

Memcached::fetch

(PECL memcached >= 0.1.0)

Memcached::fetch — Fetch the next result

Açıklama

public Memcached::fetch(): array|false

Memcached::fetch() retrieves the next result from the last request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the next result or false otherwise. The Memcached::getResultCode() will return Memcached::RES_END if result set is exhausted.

Örnekler

Örnek 1 Memcached::fetch() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
while ($result = $m->fetch()) {
var_dump($result);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["key"]=>
  string(3) "int"
  "value"]=>
  int(99)
  ["cas"]=>
  float(2363)
}
array(3) {
  ["key"]=>
  string(5) "array"
  ["value"]=>
  array(2) {
    [0]=>
    int(11)
    [1]=>
    int(12)
  }
  ["cas"]=>
  float(2365)
}

Ayrıca Bakınız

  • Memcached::fetchAll() - Fetch all the remaining results
  • Memcached::getDelayed() - Request multiple items


Fetch all the remaining results

  • « Memcached::fetch
  • Memcached::flush »
  • PHP Manual
  • Memcached
  • Fetch all the remaining results

Memcached::fetchAll

(PECL memcached >= 0.1.0)

Memcached::fetchAll — Fetch all the remaining results

Açıklama

public Memcached::fetchAll(): array|false

Memcached::fetchAll() retrieves all the remaining results from the last request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the results başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Ayrıca Bakınız

  • Memcached::fetch() - Fetch the next result
  • Memcached::getDelayed() - Request multiple items


Invalidate all items in the cache

  • « Memcached::fetchAll
  • Memcached::get »
  • PHP Manual
  • Memcached
  • Invalidate all items in the cache

Memcached::flush

(PECL memcached >= 0.1.0)

Memcached::flush — Invalidate all items in the cache

Açıklama

public Memcached::flush(int $delay = 0): bool

Memcached::flush() invalidates all existing cache items immediately (by default) or after the delay specified. After invalidation none of the items will be returned in response to a retrieval command (unless it's stored again under the same key after Memcached::flush() has invalidated the items). The flush does not actually free all the memory taken up by the existing items; that will happen gradually as new items are stored.

Bağımsız Değişkenler

delay

Number of seconds to wait before invalidating the items.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::flush() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* flush all items in 10 seconds */
$m->flush(10);
?>


Retrieve an item

  • « Memcached::flush
  • Memcached::getAllKeys »
  • PHP Manual
  • Memcached
  • Retrieve an item

Memcached::get

(PECL memcached >= 0.1.0)

Memcached::get — Retrieve an item

Açıklama

public Memcached::get(string $key, ?callable $cache_cb = null, int $get_flags = 0): mixed

Memcached::get() returns the item that was previously stored under the key. If the item is found and the get_flags is given Memcached::GET_EXTENDED, it will also return the CAS token value for the item. See Memcached::cas() for how to use CAS tokens. Read-through caching callback may be specified via cache_cb parameter.

Bağımsız Değişkenler

key

The key of the item to retrieve.

cache_cb

Read-through caching callback or null.

get_flags

Flags to control the returned result. When Memcached::GET_EXTENDED is given, the function will also return the CAS token.

Dönen Değerler

Returns the value stored in the cache or false otherwise. If the get_flags is set to Memcached::GET_EXTENDED, an array containing the value and the CAS token is returned instead of only the value. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL memcached 3.0.0 | The &cas_token parameter was removed. Instead get_flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched.

Örnekler

Örnek 1 Memcached::get() example #1

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('foo', 100);
var_dump($m->get('foo'));
?>

Yukarıdaki örneğin çıktısı:

int(100)

Örnek 2 Memcached::get() example #2

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

if (!($ip = $m->get('ip_block'))) {
if ($m->getResultCode() == Memcached::RES_NOTFOUND) {
$ip = array();
$m->set('ip_block', $ip);
} else {
/* log error */
/* ... */
}
}
?>

Ayrıca Bakınız

  • Memcached::getByKey() - Retrieve an item from a specific server
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items


Gets the keys stored on all the servers

  • « Memcached::get
  • Memcached::getByKey »
  • PHP Manual
  • Memcached
  • Gets the keys stored on all the servers

Memcached::getAllKeys

(PECL memcached >= 2.0.0)

Memcached::getAllKeys — Gets the keys stored on all the servers

Açıklama

public Memcached::getAllKeys(): array|false

Memcached::getAllKeys() queries each memcache server and retrieves an array of all keys stored on them at that point in time. This is not an atomic operation, so it isn't a truly consistent snapshot of the keys at point in time. As memcache doesn't guarantee to return all keys you also cannot assume that all keys have been returned.

Bilginize:

This method is intended for debugging purposes and should not be used at scale!

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the keys stored on all the servers on success başarısızlık durumunda false döner.


Retrieve an item from a specific server

  • « Memcached::getAllKeys
  • Memcached::getDelayed »
  • PHP Manual
  • Memcached
  • Retrieve an item from a specific server

Memcached::getByKey

(PECL memcached >= 0.1.0)

Memcached::getByKey — Retrieve an item from a specific server

Açıklama

public Memcached::getByKey(
string $server_key,
string $key,
?callable $cache_cb = null,
int $get_flags = 0
): mixed

Memcached::getByKey() is functionally equivalent to Memcached::get(), except that the free-form server_key can be used to map the key to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

The key of the item to fetch.

cache_cb

Read-through caching callback or null

get_flags

Flags to control the returned result. When value of Memcached::GET_EXTENDED is given will return the CAS token.

Dönen Değerler

Returns the value stored in the cache or false otherwise. The Memcached::getResultCode() will return Memcached::RES_NOTFOUND if the key does not exist.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL memcached 3.0.0 | The &cas_token parameter was removed. Instead get_flags was added and when it is given the value of Memcached::GET_EXTENDED it will ensure the CAS token to be fetched.

Ayrıca Bakınız

  • Memcached::get() - Retrieve an item
  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::getDelayed() - Request multiple items


Request multiple items

  • « Memcached::getByKey
  • Memcached::getDelayedByKey »
  • PHP Manual
  • Memcached
  • Request multiple items

Memcached::getDelayed

(PECL memcached >= 0.1.0)

Memcached::getDelayed — Request multiple items

Açıklama

public Memcached::getDelayed(array $keys, bool $with_cas = false, ?callable $value_cb = null): bool

Memcached::getDelayed() issues a request to memcache for multiple items the keys of which are specified in the keys array. The method does not wait for response and returns right away. When you are ready to collect the items, call either Memcached::fetch() or Memcached::fetchAll(). If with_cas is true, the CAS token values will also be requested.

Instead of fetching the results explicitly, you can specify a result callback via value_cb parameter.

Bağımsız Değişkenler

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or null.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::getDelayed() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));

$m->getDelayed(array('int', 'array'), true);
var_dump($m->fetchAll());
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  array(3) {
    ["key"]=>
    string(3) "int"
    ["value"]=>
    int(99)
    ["cas"]=>
    float(2363)
  }
  [1]=>
  array(3) {
    ["key"]=>
    string(5) "array"
    ["value"]=>
    array(2) {
      [0]=>
      int(11)
      [1]=>
      int(12)
    }
    ["cas"]=>
    float(2365)
  }
}

Ayrıca Bakınız

  • Memcached::getDelayedByKey() - Request multiple items from a specific server
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results


Request multiple items from a specific server

  • « Memcached::getDelayed
  • Memcached::getMulti »
  • PHP Manual
  • Memcached
  • Request multiple items from a specific server

Memcached::getDelayedByKey

(PECL memcached >= 0.1.0)

Memcached::getDelayedByKey — Request multiple items from a specific server

Açıklama

public Memcached::getDelayedByKey(
string $server_key,
array $keys,
bool $with_cas = false,
?callable $value_cb = null
): bool

Memcached::getDelayedByKey() is functionally equivalent to Memcached::getDelayed(), except that the free-form server_key can be used to map the keys to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

keys

Array of keys to request.

with_cas

Whether to request CAS token values also.

value_cb

The result callback or null.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Ayrıca Bakınız

  • Memcached::getDelayed() - Request multiple items
  • Memcached::fetch() - Fetch the next result
  • Memcached::fetchAll() - Fetch all the remaining results


Retrieve multiple items

  • « Memcached::getDelayedByKey
  • Memcached::getMultiByKey »
  • PHP Manual
  • Memcached
  • Retrieve multiple items

Memcached::getMulti

(PECL memcached >= 0.1.0)

Memcached::getMulti — Retrieve multiple items

Açıklama

public Memcached::getMulti(array $keys, int $get_flags = 0): array|false

Memcached::getMulti() is similar to Memcached::get(), but instead of a single key item, it retrieves multiple items the keys of which are specified in the keys array.

Bilginize:

Before v3.0 a second argument &cas_tokens was in use. It was filled with the CAS token values for the found items. The &cas_tokens parameter was removed in v3.0 of the extension. It was replaced with a new flag Memcached::GET_EXTENDED that needs is to be used as the value for get_flags.

The get_flags parameter can be used to specify additional options for Memcached::getMulti(). Memcached::GET_PRESERVE_ORDER ensures that the keys are returned in the same order as they were requested in. Memcached::GET_EXTENDED ensures that the CAS tokens will be fetched too.

Bağımsız Değişkenler

keys

Array of keys to retrieve.

get_flags

The flags for the get operation.

Dönen Değerler

Returns the array of found items başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL memcached 3.0.0 | The &cas_tokens parameter was removed. The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched.

Örnekler

Örnek 1 Memcached::getMulti() example for Memcached v3

<?php
// Valid for v3 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'));
var_dump($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}

Örnek 2 Memcached::getMulti() example for Memcached v1 and v2

<?php
// Valid for v1 and v2 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items);
$result = $m->getMulti(array('key1', 'key3', 'badkey'), $cas);
var_dump($result, $cas);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["key1"]=>
  string(6) "value1"
  ["key3"]=>
  string(6) "value3"
}
array(2) {
  ["key1"]=>
  float(2360)
  ["key3"]=>
  float(2362)
}

Örnek 3 Memcached::GET_PRESERVE_ORDER example for Memcached v3

<?php
// Valid for v3 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
echo "$k $v\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Örnek 4 Memcached::GET_PRESERVE_ORDER example for Memcached v1 and v2

<?php
// Valid for v1 and v2 of the extension

$m = new Memcached();
$m->addServer('localhost', 11211);

$data = array(
'foo' => 'foo-data',
'bar' => 'bar-data',
'baz' => 'baz-data',
'lol' => 'lol-data',
'kek' => 'kek-data',
);

$m->setMulti($data, 3600);

$null = null;
$keys = array_keys($data);
$keys[] = 'zoo';
$got = $m->getMulti($keys, $null, Memcached::GET_PRESERVE_ORDER);

foreach ($got as $k => $v) {
echo "$k $v\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo foo-data
bar bar-data
baz baz-data
lol lol-data
kek kek-data
zoo

Ayrıca Bakınız

  • Memcached::getMultiByKey() - Retrieve multiple items from a specific server
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items


Retrieve multiple items from a specific server

  • « Memcached::getMulti
  • Memcached::getOption »
  • PHP Manual
  • Memcached
  • Retrieve multiple items from a specific server

Memcached::getMultiByKey

(PECL memcached >= 0.1.0)

Memcached::getMultiByKey — Retrieve multiple items from a specific server

Açıklama

public Memcached::getMultiByKey(string $server_key, array $keys, int $get_flags = 0): array|false

Memcached::getMultiByKey() is functionally equivalent to Memcached::getMulti(), except that the free-form server_key can be used to map the keys to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

keys

Array of keys to retrieve.

get_flags

The flags for the get operation.

Dönen Değerler

Returns the array of found items başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL memcached 3.0.0 | The &cas_tokens parameter was removed. The Memcached::GET_EXTENDED was added and when passed as a flag it ensures the CAS tokens to be fetched.

Ayrıca Bakınız

  • Memcached::getMulti() - Retrieve multiple items
  • Memcached::get() - Retrieve an item
  • Memcached::getDelayed() - Request multiple items


Retrieve a Memcached option value

  • « Memcached::getMultiByKey
  • Memcached::getResultCode »
  • PHP Manual
  • Memcached
  • Retrieve a Memcached option value

Memcached::getOption

(PECL memcached >= 0.1.0)

Memcached::getOption — Retrieve a Memcached option value

Açıklama

public Memcached::getOption(int $option): mixed

This method returns the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension. See Memcached Constants for more information.

Bağımsız Değişkenler

option

One of the Memcached::OPT_* constants.

Dönen Değerler

Returns the value of the requested option, or false on error.

Örnekler

Örnek 1 Retrieving Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_COMPRESSION));
var_dump($m->getOption(Memcached::OPT_POLL_TIMEOUT));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
int(1000)

Ayrıca Bakınız

  • Memcached::getOption()
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants


Return the result code of the last operation

  • « Memcached::getOption
  • Memcached::getResultMessage »
  • PHP Manual
  • Memcached
  • Return the result code of the last operation

Memcached::getResultCode

(PECL memcached >= 0.1.0)

Memcached::getResultCode — Return the result code of the last operation

Açıklama

public Memcached::getResultCode(): int

Memcached::getResultCode() returns one of the Memcached::RES_* constants that is the result of the last executed Memcached method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Result code of the last Memcached operation.

Örnekler

Örnek 1 Memcached::getResultCode() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar');
if ($m->getResultCode() == Memcached::RES_NOTSTORED) {
/* ... */
}
?>


Return the message describing the result of the last operation

  • « Memcached::getResultCode
  • Memcached::getServerByKey »
  • PHP Manual
  • Memcached
  • Return the message describing the result of the last operation

Memcached::getResultMessage

(PECL memcached >= 1.0.0)

Memcached::getResultMessage — Return the message describing the result of the last operation

Açıklama

public Memcached::getResultMessage(): string

Memcached::getResultMessage() returns a string that describes the result code of the last executed Memcached method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Message describing the result of the last Memcached operation.

Örnekler

Örnek 1 Memcached::getResultMessage() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->add('foo', 'bar'); // first time should succeed
$m->add('foo', 'bar');
echo $m->getResultMessage(),"\n";
?>

Yukarıdaki örneğin çıktısı:

NOT STORED


Map a key to a server

  • « Memcached::getResultMessage
  • Memcached::getServerList »
  • PHP Manual
  • Memcached
  • Map a key to a server

Memcached::getServerByKey

(PECL memcached >= 0.1.0)

Memcached::getServerByKey — Map a key to a server

Açıklama

public Memcached::getServerByKey(string $server_key): array|false

Memcached::getServerByKey() returns the server that would be selected by a particular server_key in all the Memcached::*ByKey() operations.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

Dönen Değerler

Returns an array containing three keys of host, port, and weight on success başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::getServerByKey() example

<?php
$m = new Memcached();
$m->addServers(array(
array('mem1.domain.com', 11211, 40),
array('mem2.domain.com', 11211, 40),
array('mem3.domain.com', 11211, 20),
));

$m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);

var_dump($m->getServerByKey('user'));
var_dump($m->getServerByKey('log'));
var_dump($m->getServerByKey('ip'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["host"]=>
  string(15) "mem3.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(20)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}
array(3) {
  ["host"]=>
  string(15) "mem2.domain.com"
  ["port"]=>
  int(11211)
  ["weight"]=>
  int(40)
}


Get the list of the servers in the pool

  • « Memcached::getServerByKey
  • Memcached::getStats »
  • PHP Manual
  • Memcached
  • Get the list of the servers in the pool

Memcached::getServerList

(PECL memcached >= 0.1.0)

Memcached::getServerList — Get the list of the servers in the pool

Açıklama

public Memcached::getServerList(): array

Memcached::getServerList() returns the list of all servers that are in its server pool.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The list of all servers in the server pool.

Örnekler

Örnek 1 Memcached::getServerList() example

<?php
$m = new Memcached();
$m->addServers(array(
array('mem1.domain.com', 11211, 20),
array('mem2.domain.com', 11311, 80),
));
var_dump($m->getServerList());
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  array(3) {
    ["host"]=>
    string(15) "mem1.domain.com"
    ["port"]=>
    int(11211)
    ["weight"]=>
    int(20)
  }
  [1]=>
  array(3) {
    ["host"]=>
    string(15) "mem2.domain.com"
    ["port"]=>
    int(11311)
    ["weight"]=>
    int(80)
  }
}


Get server pool statistics

  • « Memcached::getServerList
  • Memcached::getVersion »
  • PHP Manual
  • Memcached
  • Get server pool statistics

Memcached::getStats

(PECL memcached >= 0.1.0)

Memcached::getStats — Get server pool statistics

Açıklama

public Memcached::getStats(?string $type = null): array|false

Memcached::getStats() returns an array containing the state of all available memcache servers. See » memcache protocol specification for details on these statistics.

Bağımsız Değişkenler

type

The type of statistics to fetch.

Dönen Değerler

Array of server statistics, one entry per server, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcached::getStats() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getStats());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [localhost:11211] => Array
        (
            [pid] => 4933
            [uptime] => 786123
            [threads] => 1
            [time] => 1233868010
            [pointer_size] => 32
            [rusage_user_seconds] => 0
            [rusage_user_microseconds] => 140000
            [rusage_system_seconds] => 23
            [rusage_system_microseconds] => 210000
            [curr_items] => 145
            [total_items] => 2374
            [limit_maxbytes] => 67108864
            [curr_connections] => 2
            [total_connections] => 151
            [connection_structures] => 3
            [bytes] => 20345
            [cmd_get] => 213343
            [cmd_set] => 2381
            [get_hits] => 204223
            [get_misses] => 9120
            [evictions] => 0
            [bytes_read] => 9092476
            [bytes_written] => 15420512
            [version] => 1.2.6
        )

)


Get server pool version info

  • « Memcached::getStats
  • Memcached::increment »
  • PHP Manual
  • Memcached
  • Get server pool version info

Memcached::getVersion

(PECL memcached >= 0.1.5)

Memcached::getVersion — Get server pool version info

Açıklama

public Memcached::getVersion(): array|false

Memcached::getVersion() returns an array containing the version info for all available memcache servers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array of server versions, one entry per server.

Örnekler

Örnek 1 Memcached::getVersion() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

print_r($m->getVersion());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [localhost:11211] => 1.2.6
)


Increment numeric item's value

  • « Memcached::getVersion
  • Memcached::incrementByKey »
  • PHP Manual
  • Memcached
  • Increment numeric item's value

Memcached::increment

(PECL memcached >= 0.1.0)

Memcached::increment — Increment numeric item's value

Açıklama

public Memcached::increment(
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false

Memcached::increment() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::increment() will set the item to the initial_value parameter if the key doesn't exist.

Bağımsız Değişkenler

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Dönen Değerler

Returns new item's value on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Memcached::increment() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('counter', 0);
$m->increment('counter');
$n = $m->increment('counter', 10);
var_dump($n);

$m->set('counter', 'abc');
$n = $m->increment('counter');
// ^ will fail due to item value not being numeric
var_dump($n);
?>

Yukarıdaki örneğin çıktısı:

int(11)
bool(false)

Ayrıca Bakınız

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::incrementByKey() - Increment numeric item's value, stored on a specific server


Increment numeric item's value, stored on a specific server

  • « Memcached::increment
  • Memcached::isPersistent »
  • PHP Manual
  • Memcached
  • Increment numeric item's value, stored on a specific server

Memcached::incrementByKey

(PECL memcached >= 2.0.0)

Memcached::incrementByKey — Increment numeric item's value, stored on a specific server

Açıklama

public Memcached::incrementByKey(
string $server_key,
string $key,
int $offset = 1,
int $initial_value = 0,
int $expiry = 0
): int|false

Memcached::incrementByKey() increments a numeric item's value by the specified offset. If the item's value is not numeric, an error will result. Memcached::incrementByKey() will set the item to the initial_value parameter if the key doesn't exist.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

The key of the item to increment.

offset

The amount by which to increment the item's value.

initial_value

The value to set the item to if it doesn't currently exist.

expiry

The expiry time to set on the item.

Dönen Değerler

Returns new item's value on success başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Memcached::decrement() - Decrement numeric item's value
  • Memcached::decrementByKey() - Decrement numeric item's value, stored on a specific server
  • Memcached::increment() - Increment numeric item's value


Check if a persitent connection to memcache is being used

  • « Memcached::incrementByKey
  • Memcached::isPristine »
  • PHP Manual
  • Memcached
  • Check if a persitent connection to memcache is being used

Memcached::isPersistent

(PECL memcached >= 2.0.0)

Memcached::isPersistent — Check if a persitent connection to memcache is being used

Açıklama

public Memcached::isPersistent(): bool

Memcached::isPersistent() checks if the connections to the memcache servers are persistent connections.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if Memcache instance uses a persistent connection, false otherwise.

Ayrıca Bakınız

  • Memcached::isPristine() - Check if the instance was recently created


Check if the instance was recently created

  • « Memcached::isPersistent
  • Memcached::prepend »
  • PHP Manual
  • Memcached
  • Check if the instance was recently created

Memcached::isPristine

(PECL memcached >= 2.0.0)

Memcached::isPristine — Check if the instance was recently created

Açıklama

public Memcached::isPristine(): bool

Memcached::isPristine() checks if the Memcache instance was recently created.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if instance is recently created, false otherwise.

Ayrıca Bakınız

  • Memcached::isPersistent() - Check if a persitent connection to memcache is being used


Prepend data to an existing item

  • « Memcached::isPristine
  • Memcached::prependByKey »
  • PHP Manual
  • Memcached
  • Prepend data to an existing item

Memcached::prepend

(PECL memcached >= 0.1.0)

Memcached::prepend — Prepend data to an existing item

Açıklama

public Memcached::prepend(string $key, string $value): ?bool

Memcached::prepend() prepends the given value string to the value of an existing item. The reason that value is forced to be a string is that prepending mixed types is not well-defined.

Bilginize:

If the Memcached::OPT_COMPRESSION is enabled, the operation will fail and a warning will be issued, because prepending compressed data to a value that is potentially already compressed is not possible.

Bağımsız Değişkenler

key

The key of the item to prepend the data to.

value

The string to prepend.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns null when compression is on.

Hatalar/İstisnalar

Returns null and raises an E_WARNING when compression is enabled.

Örnekler

Örnek 1 Memcached::prepend() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
$m->setOption(Memcached::OPT_COMPRESSION, false);

$m->set('foo', 'abc');
$m->prepend('foo', 'def');
var_dump($m->get('foo'));
?>

Yukarıdaki örneğin çıktısı:

string(6) "defabc"

Ayrıca Bakınız

  • Memcached::prependByKey() - Prepend data to an existing item on a specific server
  • Memcached::append() - Append data to an existing item


Prepend data to an existing item on a specific server

  • « Memcached::prepend
  • Memcached::quit »
  • PHP Manual
  • Memcached
  • Prepend data to an existing item on a specific server

Memcached::prependByKey

(PECL memcached >= 0.1.0)

Memcached::prependByKey — Prepend data to an existing item on a specific server

Açıklama

public Memcached::prependByKey(string $server_key, string $key, string $value): ?bool

Memcached::prependByKey() is functionally equivalent to Memcached::prepend(), except that the free-form server_key can be used to map the key to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

The key of the item to prepend the data to.

value

The string to prepend.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Returns null when compression is on.

Hatalar/İstisnalar

Returns null and raises an E_WARNING when compression is enabled.

Ayrıca Bakınız

  • Memcached::prepend() - Prepend data to an existing item
  • Memcached::append() - Append data to an existing item


Close any open connections

  • « Memcached::prependByKey
  • Memcached::replace »
  • PHP Manual
  • Memcached
  • Close any open connections

Memcached::quit

(PECL memcached >= 2.0.0)

Memcached::quit — Close any open connections

Açıklama

public Memcached::quit(): bool

Memcached::quit() closes any open connections to the memcache servers.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Replace the item under an existing key

  • « Memcached::quit
  • Memcached::replaceByKey »
  • PHP Manual
  • Memcached
  • Replace the item under an existing key

Memcached::replace

(PECL memcached >= 0.1.0)

Memcached::replace — Replace the item under an existing key

Açıklama

public Memcached::replace(string $key, mixed $value, int $expiration = 0): bool

Memcached::replace() is similar to Memcached::set(), but the operation fails if the key does not exist on the server.

Bağımsız Değişkenler

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Ayrıca Bakınız

  • Memcached::replaceByKey() - Replace the item under an existing key on a specific server
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key


Replace the item under an existing key on a specific server

  • « Memcached::replace
  • Memcached::resetServerList »
  • PHP Manual
  • Memcached
  • Replace the item under an existing key on a specific server

Memcached::replaceByKey

(PECL memcached >= 0.1.0)

Memcached::replaceByKey — Replace the item under an existing key on a specific server

Açıklama

public Memcached::replaceByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool

Memcached::replaceByKey() is functionally equivalent to Memcached::replace(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. The Memcached::getResultCode() will return Memcached::RES_NOTSTORED if the key does not exist.

Ayrıca Bakınız

  • Memcached::replace() - Replace the item under an existing key
  • Memcached::set() - Store an item
  • Memcached::add() - Add an item under a new key


Clears all servers from the server list

  • « Memcached::replaceByKey
  • Memcached::set »
  • PHP Manual
  • Memcached
  • Clears all servers from the server list

Memcached::resetServerList

(PECL memcached >= 2.0.0)

Memcached::resetServerList — Clears all servers from the server list

Açıklama

public Memcached::resetServerList(): bool

Memcached::resetserverlist() removes all memcache servers from the known server list, resetting it back to empty.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • Memcached::addServer() - Add a server to the server pool
  • Memcached::addServers() - Add multiple servers to the server pool


Store an item

  • « Memcached::resetServerList
  • Memcached::setByKey »
  • PHP Manual
  • Memcached
  • Store an item

Memcached::set

(PECL memcached >= 0.1.0)

Memcached::set — Store an item

Açıklama

public Memcached::set(string $key, mixed $value, int $expiration = 0): bool

Memcached::set() stores the value on a memcache server under the specified key. The expiration parameter can be used to control when the value is considered expired.

The value can be any valid PHP type except for resources, because those cannot be represented in a serialized form. If the Memcached::OPT_COMPRESSION option is turned on, the serialized value will also be compressed before storage.

Bağımsız Değişkenler

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::set() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$m->set('int', 99);
$m->set('string', 'a simple string');
$m->set('array', array(11, 12));
/* expire 'object' key in 5 minutes */
$m->set('object', new stdClass, time() + 300);

var_dump($m->get('int'));
var_dump($m->get('string'));
var_dump($m->get('array'));
var_dump($m->get('object'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(99)
string(15) "a simple string"
array(2) {
  [0]=>
  int(11)
  [1]=>
  int(12)
}
object(stdClass)#1 (0) {
}

Ayrıca Bakınız

  • Memcached::setByKey() - Store an item on a specific server
  • Memcached::add() - Add an item under a new key
  • Memcached::replace() - Replace the item under an existing key


Store an item on a specific server

  • « Memcached::set
  • Memcached::setMulti »
  • PHP Manual
  • Memcached
  • Store an item on a specific server

Memcached::setByKey

(PECL memcached >= 0.1.0)

Memcached::setByKey — Store an item on a specific server

Açıklama

public Memcached::setByKey(
string $server_key,
string $key,
mixed $value,
int $expiration = 0
): bool

Memcached::setByKey() is functionally equivalent to Memcached::set(), except that the free-form server_key can be used to map the key to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

value

Saklanacak değer.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::setByKey() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

/* keep IP blocks on a certain server */
$m->setByKey('api-cache', 'block-ip:169.254.253.252', 1);
$m->setByKey('api-cache', 'block-ip:169.127.127.202', 1);
?>

Ayrıca Bakınız

  • Memcached::set() - Store an item


Store multiple items

  • « Memcached::setByKey
  • Memcached::setMultiByKey »
  • PHP Manual
  • Memcached
  • Store multiple items

Memcached::setMulti

(PECL memcached >= 0.1.0)

Memcached::setMulti — Store multiple items

Açıklama

public Memcached::setMulti(array $items, int $expiration = 0): bool

Memcached::setMulti() is similar to Memcached::set(), but instead of a single key/value item, it works on multiple items specified in items. The expiration time applies to all the items at once.

Bağımsız Değişkenler

items

Sunucuda saklanacak ilişkisel dizi.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Örnekler

Örnek 1 Memcached::setMulti() example

<?php
$m = new Memcached();
$m->addServer('localhost', 11211);

$items = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => 'value3'
);
$m->setMulti($items, time() + 300);
?>

Ayrıca Bakınız

  • Memcached::setMultiByKey() - Store multiple items on a specific server
  • Memcached::set() - Store an item


Store multiple items on a specific server

  • « Memcached::setMulti
  • Memcached::setOption »
  • PHP Manual
  • Memcached
  • Store multiple items on a specific server

Memcached::setMultiByKey

(PECL memcached >= 0.1.0)

Memcached::setMultiByKey — Store multiple items on a specific server

Açıklama

public Memcached::setMultiByKey(string $server_key, array $items, int $expiration = 0): bool

Memcached::setMultiByKey() is functionally equivalent to Memcached::setMulti(), except that the free-form server_key can be used to map the keys from items to a specific server. This is useful if you need to keep a bunch of related keys on a certain server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

items

Sunucuda saklanacak ilişkisel dizi.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Ayrıca Bakınız

  • Memcached::setMulti() - Store multiple items
  • Memcached::set() - Store an item


Set a Memcached option

  • « Memcached::setMultiByKey
  • Memcached::setOptions »
  • PHP Manual
  • Memcached
  • Set a Memcached option

Memcached::setOption

(PECL memcached >= 0.1.0)

Memcached::setOption — Set a Memcached option

Açıklama

public Memcached::setOption(int $option, mixed $value): bool

This method sets the value of a Memcached option. Some options correspond to the ones defined by libmemcached, and some are specific to the extension.

Bağımsız Değişkenler

option

One of the Memcached::OPT_* constant. See Memcached Constants for more information.

value

The value to be set.

Bilginize:

The options listed below require values specified via constants.

  • Memcached::OPT_HASH requires Memcached::HASH_* values.
  • Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting a Memcached option

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
$m->setOption(Memcached::OPT_HASH, Memcached::HASH_MURMUR);
$m->setOption(Memcached::OPT_PREFIX_KEY, "widgets");
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

Yukarıdaki örneğin çıktısı:

bool(true)
Prefix key is now: widgets

Ayrıca Bakınız

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOptions() - Set Memcached options
  • Memcached Constants


Set Memcached options

  • « Memcached::setOption
  • Memcached::setSaslAuthData »
  • PHP Manual
  • Memcached
  • Set Memcached options

Memcached::setOptions

(PECL memcached >= 2.0.0)

Memcached::setOptions — Set Memcached options

Açıklama

public Memcached::setOptions(array $options): bool

Memcached::setOptions() is a variation of the Memcached::setOption() that takes an array of options to be set.

Bağımsız Değişkenler

options

An associative array of options where the key is the option to set and the value is the new value for the option.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Setting Memcached options

<?php
$m = new Memcached();
var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);

$m->setOptions(array(Memcached::OPT_HASH => Memcached::HASH_MURMUR, Memcached::OPT_PREFIX_KEY => "widgets"));

var_dump($m->getOption(Memcached::OPT_HASH) == Memcached::HASH_DEFAULT);
echo "Prefix key is now: ", $m->getOption(Memcached::OPT_PREFIX_KEY), "\n";
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
Prefix key is now: widgets

Ayrıca Bakınız

  • Memcached::getOption() - Retrieve a Memcached option value
  • Memcached::setOption() - Set a Memcached option
  • Memcached Constants


Set the credentials to use for authentication

  • « Memcached::setOptions
  • Memcached::touch »
  • PHP Manual
  • Memcached
  • Set the credentials to use for authentication

Memcached::setSaslAuthData

(PECL memcached >= 2.0.0)

Memcached::setSaslAuthData — Set the credentials to use for authentication

Açıklama

public Memcached::setSaslAuthData(string $username, string $password): bool

Memcached::setSaslAuthData() sets the username and password that should be used for SASL authentication with the memcache servers.

This method is only available when the memcached extension is built with SASL support. Please refer to Memcached setup for how to do this.

Bağımsız Değişkenler

username

The username to use for authentication.

password

The password to use for authentication.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set a new expiration on an item

  • « Memcached::setSaslAuthData
  • Memcached::touchByKey »
  • PHP Manual
  • Memcached
  • Set a new expiration on an item

Memcached::touch

(PECL memcached >= 2.0.0)

Memcached::touch — Set a new expiration on an item

Açıklama

public Memcached::touch(string $key, int $expiration = 0): bool

Memcached::touch() sets a new expiration value on the given key.

Bağımsız Değişkenler

key

Değerin saklanacağı anahtar.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Ayrıca Bakınız

  • Memcached::touchByKey() - Set a new expiration on an item on a specific server


Set a new expiration on an item on a specific server

  • « Memcached::touch
  • MemcachedException »
  • PHP Manual
  • Memcached
  • Set a new expiration on an item on a specific server

Memcached::touchByKey

(PECL memcached >= 2.0.0)

Memcached::touchByKey — Set a new expiration on an item on a specific server

Açıklama

public Memcached::touchByKey(string $server_key, string $key, int $expiration = 0): bool

Memcached::touchByKey() is functionally equivalent to Memcached::touch(), except that the free-form server_key can be used to map the key to a specific server.

Bağımsız Değişkenler

server_key

Değerin depolanacağı veya geri alınacağı sunucuyu tanımlayan anahtar. Hangi memcached sunucusuyla konuşulacağına karar verirken, öğe için gerçek anahtar yerine, sunucu anahtarına karıştırma uygulanır. Bu, çoklu işlemlerle verimlilik için ilgili öğelerin tek bir sunucuda gruplanmasına izin verir.

key

Değerin saklanacağı anahtar.

expiration

Zaman aşımı, öntanımlı 0'dır. Daha ayrıntılı bilgi için Zaman aşımı süreleri bölümüne bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Gerekirse Memcached::getResultCode() kullanılmalıdır.

Ayrıca Bakınız

  • Memcached::touch() - Set a new expiration on an item


The MemcachedException class

(PECL memcached >= 0.1.0)

Giriş

Sınıf Sözdizimi

class MemcachedException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


mqseries

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • mqseries İşlevleri
    • mqseries_back — MQSeries MQBACK
    • mqseries_begin — MQseries MQBEGIN
    • mqseries_close — MQSeries MQCLOSE
    • mqseries_cmit — MQSeries MQCMIT
    • mqseries_conn — MQSeries MQCONN
    • mqseries_connx — MQSeries MQCONNX
    • mqseries_disc — MQSeries MQDISC
    • mqseries_get — MQSeries MQGET
    • mqseries_inq — MQSeries MQINQ
    • mqseries_open — MQSeries MQOPEN
    • mqseries_put1 — MQSeries MQPUT1
    • mqseries_put — MQSeries MQPUT
    • mqseries_set — MQSeries MQSET
    • mqseries_strerror — Returns the error message corresponding to a result code (MQRC)


Giriş

This extension aims to provide an interface for communicating with IBMs WebSphere MQ series Queue managers.

The interface mimics the C-API client interface of WebSphere MQ Series as close as possible. Using the same naming conventions and possibilities of the C-API. In order to understand the workings of this extension some level of understanding the C-API is required.

For MQ-options, MQ-structures, MQ-results etc. please read the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference.


Gereksinimler

A working IBM WebSphere MQ installation. If building the extension the SDK for IBM WebSphere MQ is also required.

Bilginize: Be aware that when running against a IBM WebSphere MQ Client installation some methods are not available. This is not a problem of the extension but just the way the WebSphere MQ Client Interface works.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/mqseries.

Bilginize: The official name of this extension is mqseries.

There are two ways to connect to a queue manager. These depend on the way the extension is compiled and linked.

  • First one and also the default one is using the mqic libraries. Compiling and linking the extension against these IBM WebSphere MQSeries libraries allows the extension to connect to the Queue manager using the client interface. Remote connections are possible this way.

  • The other way is to compile and link against the mqm libraries. Using these libraries it is possible to make use of the transaction management of a queue manager.

Currently selecting the libraries to use is done by changing the config.m4 file.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

There are no extra configuration parameters.


Özkaynak Türleri

This extension defines a connection and object_handle resources.

The mqseries_conn() and mqseries_connx() define the connectionn handles.

The mqseries_open() defines the object handle.


Öntanımlı Sabitler

For each WebSphere MQ Constant there is a mqseries counterpart.

For definitions and usage see the WebSphere MQ Application Programming Guide and WebSphere MQ Application Programming Reference red books.

The name of the mqseries counterpart is made by appending the WebSphere MQ constant with MQSERIES_, for example the CompletionCode constants are:

mqseries constants
PHP Constant | MQ Constant
MQSERIES_MQCC_OK | MQCC_OK
MQSERIES_MQCC_WARNING | MQCC_WARNING
MQSERIES_MQCC_FAILED | MQCC_FAILED
MQSERIES_MQCC_UNKNOWN | MQCC_UNKNOWN


mqseries İşlevleri

İçindekiler

  • mqseries_back — MQSeries MQBACK
  • mqseries_begin — MQseries MQBEGIN
  • mqseries_close — MQSeries MQCLOSE
  • mqseries_cmit — MQSeries MQCMIT
  • mqseries_conn — MQSeries MQCONN
  • mqseries_connx — MQSeries MQCONNX
  • mqseries_disc — MQSeries MQDISC
  • mqseries_get — MQSeries MQGET
  • mqseries_inq — MQSeries MQINQ
  • mqseries_open — MQSeries MQOPEN
  • mqseries_put1 — MQSeries MQPUT1
  • mqseries_put — MQSeries MQPUT
  • mqseries_set — MQSeries MQSET
  • mqseries_strerror — Returns the error message corresponding to a result code (MQRC)


MQSeries MQBACK

  • « mqseries İşlevleri
  • mqseries_begin »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQBACK

mqseries_back

(PECL mqseries >= 0.10.0)

mqseries_back — MQSeries MQBACK

Açıklama

mqseries_back(resource $hconn, resource &$compCode, resource &$reason): void

The mqseries_back() (MQBACK) call indicates to the queue manager that all the message gets and puts that have occurred since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a unit of work are reinstated on the queue.

Using mqseries_back() only works in conjunction with mqseries_begin() and only function when connecting directly to a Queueu manager. Not via the mqclient interface.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_back() example

<?php
mqseries_back($conn, $comp_code, $reason);

if ($comp_code !== MQSERIES_MQCC_OK) {
printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
?>

Notlar

Bilginize:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_begin() - MQseries MQBEGIN


MQseries MQBEGIN

  • « mqseries_back
  • mqseries_close »
  • PHP Manual
  • mqseries İşlevleri
  • MQseries MQBEGIN

mqseries_begin

(PECL mqseries >= 0.10.0)

mqseries_begin — MQseries MQBEGIN

Açıklama

mqseries_begin(
resource $hconn,
array $beginOptions,
resource &$compCode,
resource &$reason
): void

The mqseries_begin() (MQBEGIN) call begins a unit of work that is coordinated by the queue manager, and that may involve external resource managers.

Using mqseries_begin() starts the unit of work. Either mqseries_back() or mqseries_cmit() ends the unit of work.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_begin() example

<?php
$mqbo = array();
mqseries_begin( $conn,
$mqbo,
$comp_code,
$reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
/* reason code 2121 is a warning for more information see MQSeries reference manual.*/
if ($reason !== 2121) {
printf("CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
}
?>

Notlar

Bilginize:

mqseries_begin() will not function when using MQSeries Client to connect to a Queueu Manager.

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_back() - MQSeries MQBACK
  • mqseries_cmit() - MQSeries MQCMIT


MQSeries MQCLOSE

  • « mqseries_begin
  • mqseries_cmit »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQCLOSE

mqseries_close

(PECL mqseries >= 0.10.0)

mqseries_close — MQSeries MQCLOSE

Açıklama

mqseries_close(
resource $hconn,
resource $hobj,
int $options,
resource &$compCode,
resource &$reason
): void

The mqseries_close() (MQCLOSE) call relinquishes access to an object, and is the inverse of the mqseries_open() (MQOPEN) call.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

options

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_close() example

<?php
mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("close CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
?>

Ayrıca Bakınız

  • mqseries_open() - MQSeries MQOPEN
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQCMIT

  • « mqseries_close
  • mqseries_conn »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQCMIT

mqseries_cmit

(PECL mqseries >= 0.10.0)

mqseries_cmit — MQSeries MQCMIT

Açıklama

mqseries_cmit(resource $hconn, resource &$compCode, resource &$reason): void

The mqseries_cmit() (MQCMIT) call indicates to the queue manager that the application has reached a syncpoint, and that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_cmit() example

<?php
mqseries_cmit($conn, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("cmit CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
?>

Notlar

Bilginize:

mqseries_back() will not function when using MQSeries Client to connect to a Queueu Manager.

Ayrıca Bakınız

  • mqseries_begin() - MQseries MQBEGIN
  • mqseries_back() - MQSeries MQBACK
  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQCONN

  • « mqseries_cmit
  • mqseries_connx »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQCONN

mqseries_conn

(PECL mqseries >= 0.10.0)

mqseries_conn — MQSeries MQCONN

Açıklama

mqseries_conn(
string $qManagerName,
resource &$hconn,
resource &$compCode,
resource &$reason
): void

The mqseries_conn() (MQCONN) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent message queuing calls.

Bağımsız Değişkenler

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_conn() example

<?php
mqseries_conn('WMQ1', $conn, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("conn CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
exit;
}
?>

Ayrıca Bakınız

  • mqseries_disc() - MQSeries MQDISC


MQSeries MQCONNX

  • « mqseries_conn
  • mqseries_disc »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQCONNX

mqseries_connx

(PECL mqseries >= 0.10.0)

mqseries_connx — MQSeries MQCONNX

Açıklama

mqseries_connx(
string $qManagerName,
array &$connOptions,
resource &$hconn,
resource &$compCode,
resource &$reason
): void

The mqseries_connx() (MQCONNX) call connects an application program to a queue manager. It provides a queue manager connection handle, which is used by the application on subsequent MQ calls.

The mqseries_connx() call is like the mqseries_conn() (MQCONN) call, except that MQCONNX allows options to be specified to control the way that the call works.

Bağımsız Değişkenler

qManagerName

Name of queue manager.

Name of the queue manager the application wishes to connect.

connOps

Options that control the action of function

See also the MQCNO structure.

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_connx() example

<?php
$mqcno = array(
'Version' => MQSERIES_MQCNO_VERSION_2,
'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
'MQCD' => array('ChannelName' => 'MQNX9420.CLIENT',
'ConnectionName' => 'localhost',
'TransportType' => MQSERIES_MQXPT_TCP)
);

mqseries_connx('MQNX9420', $mqcno, $conn, $comp_code,$reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
exit;
}

?>

Örnek 2 mqseries_connx() example using SSL connection & OCSP Responder URL

<?php
$mqcno = array(
'Version' => 4, //MQCNO_VERSION_4
'Options' => MQSERIES_MQCNO_STANDARD_BINDING,
'MQCD' => array(
'Version' => 7, //MQCD_VERSION_7
'ConnectionName' => 'localhost',
'TransportType' => MQSERIES_MQXPT_TCP,
'ChannelName' => 'CONNECTIONCHANNEL',
'SSLCipherSpec' => 'NULL_SHA'
),
'MQSCO' => array(
'KeyRepository' => '/var/mqm/qmgrs/QUEUEMGR/ssl/key', //Local path where the SSL key repository can be found
'MQAIR' => array(
'Version' => 2, //MQAIR_VERSION_2
'AuthInfoType' => 2, //MQAIT_OCSP
'OCSPResponderURL' => 'http://dummy.OCSP.responder'
)
)
);

mqseries_connx('QUEUEMGR', $mqcno, $conn, $comp_code,$reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("Connx CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
exit;
}

?>

Ayrıca Bakınız

  • mqseries_disc() - MQSeries MQDISC


MQSeries MQDISC

  • « mqseries_connx
  • mqseries_get »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQDISC

mqseries_disc

(PECL mqseries >= 0.10.0)

mqseries_disc — MQSeries MQDISC

Açıklama

mqseries_disc(resource $hconn, resource &$compCode, resource &$reason): void

The mqseries_disc() (MQDISC) call breaks the connection between the queue manager and the application program, and is the inverse of the mqseries_conn() (MQCONN) or mqseries_connx() (MQCONNX) call.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_disc() example

<?php
mqseries_disc($conn, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("disc CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}
?>

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX


MQSeries MQGET

  • « mqseries_disc
  • mqseries_inq »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQGET

mqseries_get

(PECL mqseries >= 0.10.0)

mqseries_get — MQSeries MQGET

Açıklama

mqseries_get(
resource $hConn,
resource $hObj,
array &$md,
array &$gmo,
int &$bufferLength,
string &$msg,
int &$data_length,
resource &$compCode,
resource &$reason
): void

The mqseries_get() (MQGET) call retrieves a message from a local queue that has been opened using the mqseries_open() (MQOPEN) call

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

gmo

Get message options (MQGMO).

bufferLength

Expected length of the result buffer

msg

Buffer holding the message that was retrieved from the object.

data_length

Actual buffer length

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_get() example

<?php
// open connection to the queue manager
mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connection to the testq queue
mqseries_open(
$conn,
array('ObjectName' => 'TESTQ'),
MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
$obj,
$comp_code,
$reason);
// $obj now holds the reference to the object (TESTQ)

// setup empty message descriptor.
$mdg = array();
// setup get message options
$gmo = array('Options' => MQSERIES_MQGMO_FAIL_IF_QUIESCING | MQSERIES_MQGMO_WAIT, 'WaitInterval' => 3000);

// get the message from the queue
mqseries_get($conn, $obj, $mdg, $gmo, 255, $msg, $data_length, $comp_code, $reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("GET CompCode:%d Reason:%d Text:%s<br>", $comp_code, $reason, mqseries_strerror($reason));
}

// close the object reference $obj
mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
mqseries_disc($conn, $comp_code, $reason);

?>

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_put() - MQSeries MQPUT


MQSeries MQINQ

  • « mqseries_get
  • mqseries_open »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQINQ

mqseries_inq

(PECL mqseries >= 0.10.0)

mqseries_inq — MQSeries MQINQ

Açıklama

mqseries_inq(
resource $hconn,
resource $hobj,
int $selectorCount,
array $selectors,
int $intAttrCount,
resource &$intAttr,
int $charAttrLength,
resource &$charAttr,
resource &$compCode,
resource &$reason
): void

The mqseries_inq() (MQINQ) call returns an array of integers and a set of character strings containing the attributes of an object.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrLength

Count of integer attributes.

intAttr

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttr

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_inq() example

<?php
$int_attr = array();
$char_attr = "";

mqseries_inq($conn, $obj, 1, array(MQSERIES_MQCA_Q_MGR_NAME), 0, $int_attr, 48, $char_attr, $comp_code, $reason);

if ($comp_code !== MQSERIES_MQCC_OK) {
printf("INQ CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
} else {
echo "INQ QManager name result ".$char_attr."<br>\n";
}
?>

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN


MQSeries MQOPEN

  • « mqseries_inq
  • mqseries_put1 »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQOPEN

mqseries_open

(PECL mqseries >= 0.10.0)

mqseries_open — MQSeries MQOPEN

Açıklama

mqseries_open(
resource $hconn,
array &$objDesc,
int $option,
resource &$hobj,
resource &$compCode,
resource &$reason
): void

The mqseries_open() (MQOPEN) call establishes access to an object.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

options

Options that control the action of the function.

hObj

Object handle.

This handle represents the object to be used.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_open() example

<?php
$mqods = array('ObjectName' => 'TESTQ');
mqseries_open(
$conn,
$mqods,
MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
$obj,
$comp_code,
$reason);
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
exit;
}
?>

Ayrıca Bakınız

  • mqseries_close() - MQSeries MQCLOSE


MQSeries MQPUT1

  • « mqseries_open
  • mqseries_put »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQPUT1

mqseries_put1

(PECL mqseries >= 0.10.0)

mqseries_put1 — MQSeries MQPUT1

Açıklama

mqseries_put1(
resource $hconn,
resource &$objDesc,
resource &$msgDesc,
resource &$pmo,
string $buffer,
resource &$compCode,
resource &$reason
): void

The mqseries_put1() (MQPUT1) call puts one message on a queue. The queue need not be open.

You can use both the mqseries_put() and mqseries_put1() calls to put messages on a queue; which call to use depends on the circumstances. Use the mqseries_put() (MQPUT) call to place multiple messages on the same queue. Use the mqseries_put1() (MQPUT1) call to put only one message on a queue. This call encapsulates the MQOPEN, MQPUT, and MQCLOSE calls into a single call, minimizing the number of calls that must be issued.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

objDesc

Object descriptor. (MQOD)

This is a structure which identifies the queue to which the message is added.

msgDesc

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET


MQSeries MQPUT

  • « mqseries_put1
  • mqseries_set »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQPUT

mqseries_put

(PECL mqseries >= 0.10.0)

mqseries_put — MQSeries MQPUT

Açıklama

mqseries_put(
resource $hConn,
resource $hObj,
array &$md,
array &$pmo,
string $message,
resource &$compCode,
resource &$reason
): void

The mqseries_put() (MQPUT) call puts a message on a queue or distribution list. The queue or distribution list must already be open.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

md

Message descriptor (MQMD).

pmo

Put message options (MQPMO).

message

The actual message to put onto the queue.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 mqseries_put() example

<?php
// open connection to the queue manager
mqseries_conn('WMQ1', $conn, $comp_code, $reason);
// $conn now hold the reference to the connection to the queue manager.

// open the connectio to the testq queueu
mqseries_open(
$conn,
array('ObjectName' => 'TESTQ'),
MQSERIES_MQOO_INPUT_AS_Q_DEF | MQSERIES_MQOO_FAIL_IF_QUIESCING | MQSERIES_MQOO_OUTPUT,
$obj,
$comp_code,
$reason);
// $obj now holds the reference to the object (TESTQ)

// setup the message descriptor array. Check MQSeries reference manuals.
$md = array(
'Version' => MQSERIES_MQMD_VERSION_1,
'Expiry' => MQSERIES_MQEI_UNLIMITED,
'Report' => MQSERIES_MQRO_NONE,
'MsgType' => MQSERIES_MQMT_DATAGRAM,
'Format' => MQSERIES_MQFMT_STRING,
'Priority' => 1,
'Persistence' => MQSERIES_MQPER_PERSISTENT);

// setup the put message options.
$pmo = array('Options' => MQSERIES_MQPMO_NEW_MSG_ID|MQSERIES_MQPMO_SYNCPOINT);

// put the message 'Ping' on the queueu.
mqseries_put($conn, $obj, $md, $pmo, 'Ping', $comp_code, $reason);

if ($comp_code !== MQSERIES_MQCC_OK) {
printf("put CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
}

// close the object reference $obj
mqseries_close($conn, $obj, MQSERIES_MQCO_NONE, $comp_code, $reason);

// disconnect from the queue manager.
mqseries_disc($conn, $comp_code, $reason);

?>

Ayrıca Bakınız

  • mqseries_conn() - MQSeries MQCONN
  • mqseries_connx() - MQSeries MQCONNX
  • mqseries_open() - MQSeries MQOPEN
  • mqseries_get() - MQSeries MQGET


MQSeries MQSET

  • « mqseries_put
  • mqseries_strerror »
  • PHP Manual
  • mqseries İşlevleri
  • MQSeries MQSET

mqseries_set

(PECL mqseries >= 0.10.0)

mqseries_set — MQSeries MQSET

Açıklama

mqseries_set(
resource $hConn,
resource $hObj,
int $selectorCount,
array $selectors,
int $intAttrCount,
array $intAttrs,
int $charAttrLength,
array $charAttrs,
resource &$compCode,
resource &$reason
): void

The mqseries_set() (MQSET) call is used to change the attributes of an object represented by a handle. The object must be a queue.

Bağımsız Değişkenler

hConn

Connection handle.

This handle represents the connection to the queue manager.

hObj

Object handle.

This handle represents the object to be used.

selectorCount

Count of selectors.

selectors

Array of attribute selectors.

intAttrCount

Count of integer attributes.

intAttrs

Array of integer attributes.

charAttrLength

Length of character attributes buffer.

charAttrs

Character attributes.

compCode

Completion code.

reason

Reason code qualifying the compCode.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • mqseries_inq() - MQSeries MQINQ


Returns the error message corresponding to a result code (MQRC)

  • « mqseries_set
  • Network »
  • PHP Manual
  • mqseries İşlevleri
  • Returns the error message corresponding to a result code (MQRC)

mqseries_strerror

(PECL mqseries >= 0.10.0)

mqseries_strerror — Returns the error message corresponding to a result code (MQRC)

Açıklama

mqseries_strerror(int $reason): string

mqseries_strerror() returns the message that correspond to the reason result code.

Bağımsız Değişkenler

reason

Reason code qualifying the compCode.

Dönen Değerler

string representation of the reason code message.

Örnekler

Örnek 1 mqseries_strerror() example

<?php
if ($comp_code !== MQSERIES_MQCC_OK) {
printf("open CompCode:%d Reason:%d Text:%s<br>\n", $comp_code, $reason, mqseries_strerror($reason));
exit;
}
?>

Yukarıdaki örneğin çıktısı:

Connx CompCode:2 Reason:2059 Text:Queue manager not available for connection.


Ağ

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Ağ İşlevleri
    • checkdnsrr — Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar
    • closelog — Sistem günlükçüsü bağlantısını kapatır
    • dns_check_record — checkdnsrr işlevinin takma adıdır
    • dns_get_mx — getmxrr işlevinin takma adıdır
    • dns_get_record — Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir
    • fsockopen — Bir internet veya Unix alan soketi bağlantısı açar
    • gethostbyaddr — Belirtilen IP adresine çözümlenen konak ismini döndürür
    • gethostbyname — Belirtilen konak adına ait IPv4 adresini döndürür
    • gethostbynamel — Belirtilen konak adına ait IPv4 adreslerini döndürür
    • gethostname — Konak ismini döndürür
    • getmxrr — Belirtilen konak adı ile ilgili MX kaydını döndürür
    • getprotobyname — Protokol ismine karşılık düşen protokol numarasını verir
    • getprotobynumber — Protokol numarasına karşılık düşen protokol ismini verir
    • getservbyname — Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner
    • getservbyport — Belirtilen port ve protokolle ilgili ağ hizmeti ile döner
    • header_register_callback — Bir başlık işlevi çağırır
    • header_remove — Evvelce tanımlanmış başlıkları siler
    • header — Ham bir HTTP başlığı gönderir
    • headers_list — Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
    • headers_sent — Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
    • http_response_code — HTTP yanıt kodunu tanımlar veya siler
    • inet_ntop — Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür
    • inet_pton — İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür
    • ip2long — Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür
    • long2ip — Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
    • net_get_interfaces — Get network interfaces
    • openlog — Sistem günlükçüsüne erişim için bağlantı açar
    • pfsockopen — Kalıcı bir internet veya Unix alan soketi bağlantısı açar
    • setcookie — Bir çerez gönderir
    • setrawcookie — Bir çerezi değerini URL kodlamasından geçirmeden gönderir
    • socket_get_status — Takma Adı: stream_get_meta_data
    • socket_set_blocking — Takma Adı: stream_set_blocking
    • socket_set_timeout — Takma Adı: stream_set_timeout
    • syslog — Bir sistem günlüğü iletisi üretir


  • « Network
  • Yapılandırma/Kurulum »
  • PHP Manual
  • Network
  • Giriş

Giriş

Ağlarla ilgili çeşitli işlevler sağlar.


Gereksinimler

Linux üzerinde checkdnsrr(), getmxrr() ve dns_get_record() işlevleri için Bind gerekir.


Özkaynak Türleri

Bu eklenti fsockopen() ve pfsockopen() işlevlerince döndürülen bir dosya tanıtıcı özkaynağı tanımlar.


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

openlog() seçenekleri
Sabit | Açıklama
LOG_CONS | Veriyi sistem günlüğüne gönderirken bir hata oluşursa doğrudan sistem konsoluna yaz.
LOG_NDELAY | Günlük kayıtçısına hemen bir bağlantı aç.
LOG_ODELAY | (öntanımlı) İlk ileti günlüğe kaydolana kadar bağlantı açılışını ertele.
LOG_NOWAIT |
LOG_PERROR | Günlük iletisini ayrıca standart hataya da yaz.
LOG_PID | Her iletide PID'i de içer
openlog() Oluşumları
Sabit | Açıklama
LOG_AUTH | Güvenlik/kimlik doğrulama iletileri (bu sabitin tanımlı olduğu sistemlerde yerine LOG_AUTHPRIV kulanın).
LOG_AUTHPRIV | Güvenlik/kimlik doğrulama iletileri (özel)
LOG_CRON | Zamanlama süreçleri (cron ve at)
LOG_DAEMON | Diğer sistem süreçleri
LOG_KERN | Sistem çekirdeği iletileri
LOG_LOCAL0 ... LOG_LOCAL7 | Yerel kullanım için ayrılmıştır. Bunlar Windows'ta hükümsüzdür.
LOG_LPR | Satır yazıcı alt sistemi
LOG_MAIL | eposta alt sistemi
LOG_NEWS | USENET haber grupları alt sistemi
LOG_SYSLOG | dahili olarak syslogd tarafından üretilen iletiler
LOG_USER | soysal kullanıcı seviyesi iletiler
LOG_UUCP | UUCP alt sistemi
syslog() Öncelikleri (azalan sırada)
Sabit | Açıklama
LOG_EMERG | sistem kullanışsız
LOG_ALERT | eylem hemen ele alınmalı
LOG_CRIT | hayati durumlar
LOG_ERR | hata durumları
LOG_WARNING | uyarı durumları
LOG_NOTICE | normal, fakat önemli durumlar
LOG_INFO | bilgilendirme iletisi
LOG_DEBUG | hata ayıklama iletileri
dns_get_record() seçenekleri
Sabit | Açıklama
DNS_A | IPv4 Adres Özkaynağı
DNS_CAA | Sertifika Yetkilisi Yetkilendirme Özkaynağı (PHP 7.0.16 ve 7.1.2 itibariyle kullanılabilir)
DNS_MX | Posta Alışveriş Özkaynağı
DNS_CNAME | Takma Ad (Meşru Ad) Özkaynağı
DNS_NS | Yetkili İsim Sunucusu Özkaynağı
DNS_PTR | Gösterici Özkaynağı
DNS_HINFO | Konak Bilgi Özkaynağı (Bu değerlerin anlamları için IANA'nın » İşletim Sistemi İsimleri'ne bakınız.)
DNS_SOA | Yetki Başlangıcı Özkaynağı
DNS_TXT | Metin Özkaynağı
DNS_ANY | Herhangi bir Özkaynak Kaydı. Çoğu sistemde bu tüm özkaynak kayıtlarını döndürürse de hayati kullanımlarda buna güvenilmemelidir. Yerine DNS_ALL kullanmayı deneyin.
DNS_AAAA | IPv6 Adres Özkaynağı
DNS_ALL | Kullanılabilir her kayıt türü için isim sunucusunu yinelemeli olarak sorgula.


Ağ İşlevleri

İçindekiler

  • checkdnsrr — Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar
  • closelog — Sistem günlükçüsü bağlantısını kapatır
  • dns_check_record — checkdnsrr işlevinin takma adıdır
  • dns_get_mx — getmxrr işlevinin takma adıdır
  • dns_get_record — Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir
  • fsockopen — Bir internet veya Unix alan soketi bağlantısı açar
  • gethostbyaddr — Belirtilen IP adresine çözümlenen konak ismini döndürür
  • gethostbyname — Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbynamel — Belirtilen konak adına ait IPv4 adreslerini döndürür
  • gethostname — Konak ismini döndürür
  • getmxrr — Belirtilen konak adı ile ilgili MX kaydını döndürür
  • getprotobyname — Protokol ismine karşılık düşen protokol numarasını verir
  • getprotobynumber — Protokol numarasına karşılık düşen protokol ismini verir
  • getservbyname — Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner
  • getservbyport — Belirtilen port ve protokolle ilgili ağ hizmeti ile döner
  • header_register_callback — Bir başlık işlevi çağırır
  • header_remove — Evvelce tanımlanmış başlıkları siler
  • header — Ham bir HTTP başlığı gönderir
  • headers_list — Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
  • headers_sent — Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
  • http_response_code — HTTP yanıt kodunu tanımlar veya siler
  • inet_ntop — Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür
  • inet_pton — İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür
  • ip2long — Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür
  • long2ip — Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
  • net_get_interfaces — Get network interfaces
  • openlog — Sistem günlükçüsüne erişim için bağlantı açar
  • pfsockopen — Kalıcı bir internet veya Unix alan soketi bağlantısı açar
  • setcookie — Bir çerez gönderir
  • setrawcookie — Bir çerezi değerini URL kodlamasından geçirmeden gönderir
  • socket_get_status — Takma Adı: stream_get_meta_data
  • socket_set_blocking — Takma Adı: stream_set_blocking
  • socket_set_timeout — Takma Adı: stream_set_timeout
  • syslog — Bir sistem günlüğü iletisi üretir


Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar

  • « Ağ İşlevleri
  • closelog »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar

checkdnsrr

(PHP 4, PHP 5, PHP 7, PHP 8)

checkdnsrr — Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar

Açıklama

checkdnsrr(string $konak, string $tür = "MX"): bool

konak ile ilgili tür türündeki kayıtlar için DNS sorgusu yapar.

Bağımsız Değişkenler

konak

konak noktalı sayısal gösterimli bir IP adresi veya bir konak ismi olabilir.

tür

tür değeri şunlardan biri olabilir: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT veya ANY.

Dönen Değerler

Kayıtlar bulunduğu takdirde true, hiç kayıt yoksa veya bir hata oluşmuşsa false döner.

Notlar

Bilginize:

Bu işlevin henüz gerçeklenmediği PHP sürümlerini çalıştıran Windows platformlarında » PEAR » Net_DNS sınıfını deneyin.

Ayrıca Bakınız

  • dns_get_record() - Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir
  • getmxrr() - Belirtilen konak adı ile ilgili MX kaydını döndürür
  • gethostbyaddr() - Belirtilen IP adresine çözümlenen konak ismini döndürür
  • gethostbyname() - Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbynamel() - Belirtilen konak adına ait IPv4 adreslerini döndürür
  • named(8) kılavuz sayfası


Sistem günlükçüsü bağlantısını kapatır

  • « checkdnsrr
  • dns_check_record »
  • PHP Manual
  • Ağ İşlevleri
  • Sistem günlükçüsü bağlantısını kapatır

closelog

(PHP 4, PHP 5, PHP 7, PHP 8)

closelog — Sistem günlükçüsü bağlantısını kapatır

Açıklama

closelog(): true

closelog() işlevi, sistem günlükçüsüne yazmak için kullanılan tanıtıcıyı kapatır. closelog() kullanımı isteğe bağlıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • syslog() - Bir sistem günlüğü iletisi üretir
  • openlog() - Sistem günlükçüsüne erişim için bağlantı açar


checkdnsrr işlevinin takma adıdır

  • « closelog
  • dns_get_mx »
  • PHP Manual
  • Ağ İşlevleri
  • checkdnsrr işlevinin takma adıdır

dns_check_record

(PHP 5, PHP 7, PHP 8)

dns_check_record — checkdnsrr() işlevinin takma adıdır

Açıklama

Bu işlev checkdnsrr() işlevinin takma adıdır.


getmxrr işlevinin takma adıdır

  • « dns_check_record
  • dns_get_record »
  • PHP Manual
  • Ağ İşlevleri
  • getmxrr işlevinin takma adıdır

dns_get_mx

(PHP 5, PHP 7, PHP 8)

dns_get_mx — getmxrr() işlevinin takma adıdır

Açıklama

Bu işlev getmxrr() işlevinin takma adıdır.


Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir

  • « dns_get_mx
  • fsockopen »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir

dns_get_record

(PHP 5, PHP 7, PHP 8)

dns_get_record — Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir

Açıklama

dns_get_record(
string $konakadı,
int $tür = DNS_ANY,
array &$yetkili_isim_sunucuları = null,
array &$ek_kayıtlar = null,
bool $ham = false
): array|false

Belirtilen konakadı ile ilgili DNS Kayıtlarını (DNS-RR) getirir.

Bağımsız Değişkenler

konakadı

konakadı, "www.example.com" gibi geçerli bir konak adı olmalıdır. Ters DNS sorguları in-addr.arpa gösterimiyle üretilir, fakat gethostbyaddr() işlevi ters DNS sorguları için daha kullanışlıdır.

Bilginize:

DNS standartlarının amacı gereği, posta adresleri kullanıcı.konak biçiminde verilir (örneğin, hostmaster@example.com değil hostmaster.example.com). Sorgudan böyle bir değer aldıysanız, mail() gibi bir işlevde kullanmadan önce bunu normal eposta adresi haline getirmelisiniz.

tür

dns_get_record() öntanımlı olarak, konakadı ile ilgili bütün özkaynak kayıtlarını arayacaktır. Sorguyu belli kayıtlarla sınırlamak için isteğe bağlı tür bağımsız değişkenini kullanabilirsiniz. tür olarak şunlardan biri belirtilebilir: DNS_A, DNS_CNAME, DNS_HINFO, DNS_CAA, DNS_MX, DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR, DNS_A6, DNS_ALL veya DNS_ANY.

Bilginize:

Çeşitli platformlarda libresolv başarımının dışmerkezliliğinden dolayı DNS_ANY her zaman bütün kayıtları döndürmez. Daha yavaş fakat daha güvenilir olan DNS_ALL tüm kayıtları toplayacaktır.

Bilginize:

Windows: DNS_CAA desteklenmez. DNS_A6 desteği gerçeklenmedi.

yetkili_isim_sunucuları

Gönderimli aktarılır. Belirtilirse Yetkili Ad Sunucuları ile ilgili Özkaynak Kayıtları bu diziye yerleştirilir.

ek_kayıtlar

Gönderimli aktarılır. Belirtilirse Ek Kayıtlar ile ilgili Özkaynak Kayıtları bu diziye yerleştirilir.

ham

true belirtilirse, türham DNS tür kimliği olarak yorumlanır (DNS_* sabitleri kullanılamaz). Dönen dizi, kendinizin çözümleyeceği bir data anahtarı içerir.

Dönen Değerler

Bu işlev ilişkisel diziler içeren bir dizi ile, başarısızlık durumunda false döner. Her ilişkisel dizi en azından aşağıdaki anahtarları mutlaka içerir:

Temel DNS öznitelikleri
Öznitelik | Anlamı
host | DNS isim alanındaki, ilişkili tüm verinin atfedildiği kayıt.
class | dns_get_record() daima sadece İnternet sınıfı kayıtları döndürdüğünden bu üyenin değeri daima IN'dir.
type | Kayıt türünü içeren dizge. Tür değerine bağlı olarak dizide ek öznitelikler bulunabilir. Aşağıdaki tabloya bakınız.
ttl | "Time To Live". Bu kayıt için kalan yaşam süresi. Bu değer, özgün ttl ile aynı değildir. Özgün ttl'den yetkili isim sunucu sorgulandığından beri geçen süre düşüldükten sonra kalan değerdir.

İlişkisel dizide 'type' anahtarına bağlı diğer anahtarlar
Tür | Ek Sütunlar
A | ip: Noktalı sayısal gösterimle bir IPv4 adresi.
MX | pri: Posta alıcısının önceliği. Düşük sayılar daha yüksek öncelik belirtir.
 | target: Posta alıcısının tamamen nitelenmiş alan adı. Ayrıca bakınız: dns_get_mx().
CNAME | target: Kaydın takma ad olduğu DNS isim alanındaki konumun tamamen nitelenmiş alan adı.
NS | target: Bu konak adı için yetkili olan isim sunucusunun tamamen nitelenmiş alan adı.
PTR | target: DNS isim alanında bu kayda işaret eden konum.
TXT | txt: Bu kayıtla ilişkili dizge türünde keyfi bir veri.
HINFO | cpu: Bu kaydın gösterdiği makinenin işlemcisi için IANA ismi.
 | os: Bu kaydın gösterdiği makinenin işletim sistemi için IANA ismi. Bu değerlerin anlamları için IANA'nın » İşletim Sistemi İsimleri belgesine bakınız.
CAA | flags: Tek baytlık bit alanı; şu an sadece 'critical' anlamına gelen bit 0 tanımlıdır; diğer bitler ileride kullanım için ayrılmış olup yok sayılmalıdır. tag: CAA etiket adı (abecesayısal ASCII dizge). value: CAA etiket değeri (ikil dizge, alt biçemleri olabilir). Ek olarak bkz: » RFC 6844
SOA | mname: Özkaynak kaydının kaynaklandığı makinenin tamamen nitelenmiş alan adı.
rname: Bu alanın idari yetkilisinin eposta adresi.
serial: İstenen alanın bu sürümünün sıra numarası.
refresh: Bu alanın uzak kopyaları güncellenirken ikincil isim sunucularının tazelenme süresi (saniye cinsinden).
retry: Tekrar bir tazeleme yapmadan önce beklenecek süre (saniye cinsinden).
expire: Başarısız bir tazelemenin ardından bölge verisinin uzak kopyalarını silmeden önce DNS sunucusunun bekleyeceği azami süre (saniye cinsinden).
minimum-ttl: Bir istemcinin sunucudan yeni bir çözünürlük isteği yapmadan önce mevcut DNS çözünürlüğünü kullanmaya devam edebileceği asgari süre (saniye cinsinden). Özkaynak kayıtlarının her biri kendi süresini belirleyerek bunu geçersiz kılabilir.
AAAA | ipv6: IPv6 adresi.
A6 | masklen: chain ile belirtilen hedeften miras alınan uzunluk (bit cinsinden).
 | ipv6: chain'e katıştırılacak bu özel kayıt için adres.
 | chain: ipv6 verisi ile katıştırılacak ebeveyn kayıt.
SRV | pri: (Priority kısaltması) En düşük değerin önceliği en yüksektir.
 | weight: Ortak önceliklerin tercih sıralaması.
 | targets rasgele seçilmelidir. target ve port: İstenen hizmetin bulunabileceği konak adı ve port. Ek bilgi için » RFC 2782'ye bakınız.
NAPTR | order ve pref: Yukarıdaki pri ve weight ile eşdeğerdirler.
 | flags, services, regex ve replacement: » RFC 2915 tarafından tanımlanmış bağımsız değişkenlerdir.

Sürüm Bilgisi

Sürüm: | Açıklama
7.0.16, 7.1.2 | CAA kaydı için destek eklendi.

Örnekler

Örnek 1 - dns_get_record() kullanımı

<?php
$result = dns_get_record("php.net");
print_r($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)

Örnek 2 - dns_get_record() ve DNS_ANY kullanımı

MX kaydı çözümlendikten sonra normal olarak posta sunucusunun adresi istenir. dns_get_record() işlevi ayrıca, ilişkili kayıtları ek_kayıtlar dizisinde döndürür. Bunun yanında, yetkili_isim_sunucuları dizisinde de yetkili isim sunucularının listesini döndürür.

<?php
/* php.net için "ANY" kayıt isteği yaparken
isim sunucularının ve ek kayıtların listeleri için
$yetkiliNS ve $ekkayıtlar dizilerini kullanalım */
$yetkilins=array(); $ekler=array();
$sonuç = dns_get_record("php.net", DNS_ANY, $yetkilins, $ekler);
echo "Sonuç = ";
print_r($sonuç);
echo "Yetkili NS = ";
print_r($yetkilins);
echo "Ek Kayıtlar = ";
print_r($ekler);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sonuç = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => MX
            [pri] => 5
            [target] => pair2.php.net
            [class] => IN
            [ttl] => 6765
        )

    [1] => Array
        (
            [host] => php.net
            [type] => A
            [ip] => 64.246.30.37
            [class] => IN
            [ttl] => 8125
        )

)
Yetkili NS = Array
(
    [0] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [1] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => remote2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [2] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns1.easydns.com
            [class] => IN
            [ttl] => 10722
        )

    [3] => Array
        (
            [host] => php.net
            [type] => NS
            [target] => ns2.easydns.com
            [class] => IN
            [ttl] => 10722
        )

)
Ek Kayıtlar = Array
(
    [0] => Array
        (
            [host] => pair2.php.net
            [type] => A
            [ip] => 216.92.131.5
            [class] => IN
            [ttl] => 6766
        )

    [1] => Array
        (
            [host] => remote1.easydns.com
            [type] => A
            [ip] => 64.39.29.212
            [class] => IN
            [ttl] => 100384
        )

    [2] => Array
        (
            [host] => remote2.easydns.com
            [type] => A
            [ip] => 212.100.224.80
            [class] => IN
            [ttl] => 81241
        )

    [3] => Array
        (
            [host] => ns1.easydns.com
            [type] => A
            [ip] => 216.220.40.243
            [class] => IN
            [ttl] => 81241
        )

    [4] => Array
        (
            [host] => ns2.easydns.com
            [type] => A
            [ip] => 216.220.40.244
            [class] => IN
            [ttl] => 81241
        )

)

Ayrıca Bakınız

  • dns_get_mx() - getmxrr işlevinin takma adıdır
  • dns_check_record() - checkdnsrr işlevinin takma adıdır


Bir internet veya Unix alan soketi bağlantısı açar

  • « dns_get_record
  • gethostbyaddr »
  • PHP Manual
  • Ağ İşlevleri
  • Bir internet veya Unix alan soketi bağlantısı açar

fsockopen

(PHP 4, PHP 5, PHP 7, PHP 8)

fsockopen — Bir internet veya Unix alan soketi bağlantısı açar

Açıklama

fsockopen(
string $konakadı,
int $port = -1,
int &$hata_kodu = null,
string &$hata_iletisi = null,
?float $zaman_aşımı = null
): resource|false

konakadı ile belirtilen kaynağa bir soket bağlantısı başlatır.

PHP, Desteklenen Soket Aktarımlarının Listesi bölümünde açıklanan internet ve Unix alanlarını destekler. Desteklenen aktarımların bir listesi ayrıca, stream_get_transports() işlevi kullanılarak da alınabilir.

Soket öntanımlı olarak engellenen kipte açılır. Engellenmeyen kipe geçmek için stream_set_blocking() işlevini kullanabilirsiniz.

Bu işlevin benzeri olan stream_socket_client() işlevi engellenmeyen bağlantı ve bir akım bağlamı sağlama yeteneği dahil, daha zengin bir seçenek kümesi sağlar.

Bağımsız Değişkenler

konakadı

Derleme sırasında OpenSSL desteği verilmişse, uzak konağa TCP/IP üzerinden bir SSL veya TLS istemci bağlantısı açmak için konakadı belirtirken ssl:// veya tls:// önekini kullanabilirsiniz.

port

Port numarası. unix:// gibi portları kullanmayan aktarımlar için, bu bağımsız değişkene -1 atanabilir veya bu bağımsız değişken atlanabilir.

hata_kodu

Bir bağımsız değişken sağlanmışsa, sistem seviyesi connect() çağrısında oluşan sistem seviyesi hata numarası bu bağımsız değişkene yerleştirilir.

Eğer işlev false değeriyle dönmüş ve hata_kodu bağımsız değişkeninde 0 değeri varsa, connect() çağrısı öncesinde bir hata oluşmuş demektir. Bu sorun genellikle soketin ilklendirilmesi ile ilgilidir.

hata_iletisi

Bir dizge olarak hata iletisi.

zaman_aşımı

Saniye cinsinden bağlantı zaman aşımı. null belirtilirse, default_socket_timeout php.ini yönergesinin değeri kullanılır.

Bilginize:

Verinin sokete yazılması/okunması ile ilgili bir zaman aşımını sadece bağlandığınız soket için belirtmek isterseniz, zaman_aşımı bağımsız değişkeni olarak stream_set_timeout() işlevini kullanın.

Dönen Değerler

fsockopen(), diğer dosya işlevleriyle
(fgets(), fgetss(),
fwrite(), fclose() ve
feof() gibi) kullanmak üzere bir dosya tanıtıcısı ile
döner. Eğer çağrı başarısız olursa false döner.

Hatalar/İstisnalar

konakadı geçerli bir alan adı değilse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_aşımı artık null olabiliyor.

Örnekler

Örnek 1 - fsockopen() örneği

<?php
$fp = fsockopen("mesela.dom", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: mesela.dom\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

Örnek 2 - UDP bağlantısı kullanımı

Aşağıdaki örnekte, makinenizdeki "daytime" (port 13) UDP hizmetini kullanarak tarih ve saati nasıl elde edeceğiniz gösterilmiştir:

<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "HATA: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>

Notlar

Bilginize:

Platforma bağlı olarak Unix alanı veya isteğe bağlı bağlantı zaman aşımı kullanılamayabilir.

Uyarı

Uzak konak erişilebilir olmasa bile UDP soketler bazen hatasız açılmış gibi görünebilir. Hata sadece sokete okuma/yazma sırasında kendini gösterir. Bunun sebebi UDP'nin "bağlantısız" bir protokol olmasıdır. Yani, işletim sistemi gerçekten veri alana veya gönderene kadar sokete bir hat tahsis etmez.

Bilginize: Bir sayısal IPv6 adresi (fe80::1 gibi) belirtirken port numarasıda belirtmek isterseniz IP adresini köşeli ayraçlar arasına almalısınız. Örnek: tcp://[fe80::1]:80.

Ayrıca Bakınız

  • pfsockopen() - Kalıcı bir internet veya Unix alan soketi bağlantısı açar
  • stream_socket_client() - Bir Genel Ağ veya Unix alan soketi bağlantısı açar
  • stream_set_blocking() - Akımın engelleme kipini ayarlar
  • stream_set_timeout() - Akımın zaman aşımı süresini ayarlar
  • fgets() - Dosya tanıtıcısından bir satır döndürür
  • fgetss() - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
  • fwrite() - Dosyaya ikil kipte yazar
  • fclose() - Açık bir dosya tanıtıcısını kapatır
  • feof() - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • cURL eklentisi


Belirtilen IP adresine çözümlenen konak ismini döndürür

  • « fsockopen
  • gethostbyname »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen IP adresine çözümlenen konak ismini döndürür

gethostbyaddr

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbyaddr — Belirtilen IP adresine çözümlenen konak ismini döndürür

Açıklama

gethostbyaddr(string $ip): string|false

ip adresi belirtilen konak adıyla döner.

Bağımsız Değişkenler

ip

Konağın IP adresi.

Dönen Değerler

Başarısızlık durumunda ip adresi, hatalı girdi durumunda false, aksi takdirde konak ismi ile döner.

Örnekler

Örnek 1 - gethostbyaddr() örnek

<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);

echo $hostname;
?>

Ayrıca Bakınız

  • gethostbyname() - Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbynamel() - Belirtilen konak adına ait IPv4 adreslerini döndürür


Belirtilen konak adına ait IPv4 adresini döndürür

  • « gethostbyaddr
  • gethostbynamel »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen konak adına ait IPv4 adresini döndürür

gethostbyname

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbyname — Belirtilen konak adına ait IPv4 adresini döndürür

Açıklama

gethostbyname(string $konakadı): string

Belirtilen konakadı'nın IPv4 adresini döndürür.

Bağımsız Değişkenler

konakadı

Konak adı.

Dönen Değerler

Başarı durumunda bir dizge olarak IPv4 adresiyle, aksi takdirde konakadı ile döner.

Örnekler

Örnek 1 - gethostbyname() örneği

<?php
$ip = gethostbyname('localhost');

echo $ip;
?>

Ayrıca Bakınız

  • gethostbyaddr() - Belirtilen IP adresine çözümlenen konak ismini döndürür
  • gethostbynamel() - Belirtilen konak adına ait IPv4 adreslerini döndürür
  • inet_pton() - İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür
  • inet_ntop() - Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür


Belirtilen konak adına ait IPv4 adreslerini döndürür

  • « gethostbyname
  • gethostname »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen konak adına ait IPv4 adreslerini döndürür

gethostbynamel

(PHP 4, PHP 5, PHP 7, PHP 8)

gethostbynamel — Belirtilen konak adına ait IPv4 adreslerini döndürür

Açıklama

gethostbynamel(string $konakadı): array|false

Belirtilen konakadı'na çözümlenen IPv4 adreslerinin listesini döndürür.

Bağımsız Değişkenler

konakadı

Konak adı.

Dönen Değerler

konakadı çözümlenemezse false, aksi takdirde IPv4 adreslerinin listesini döndürür.

Örnekler

Örnek 1 - gethostbynamel() örneği

<?php
$hosts = gethostbynamel('www.example.com');
print_r($hosts);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 208.77.188.166
)

Ayrıca Bakınız

  • gethostbyname() - Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbyaddr() - Belirtilen IP adresine çözümlenen konak ismini döndürür
  • checkdnsrr() - Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar
  • getmxrr() - Belirtilen konak adı ile ilgili MX kaydını döndürür
  • named(8) kılavuz sayfası


Konak ismini döndürür

  • « gethostbynamel
  • getmxrr »
  • PHP Manual
  • Ağ İşlevleri
  • Konak ismini döndürür

gethostname

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

gethostname — Konak ismini döndürür

Açıklama

gethostname(): string|false

gethostname() işlevi yerel makinenin standard konak ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarısızlık durumunda false. aksi takdirde konak ismini bir dizge olarak döndürür.

Örnekler

Örnek 1 - gethostname() örneği

<?php
echo gethostname(); // çıktısı şu olabilir: posta
?>

Ayrıca Bakınız

  • gethostbyname() - Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbyaddr() - Belirtilen IP adresine çözümlenen konak ismini döndürür
  • php_uname() - PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür


Belirtilen konak adı ile ilgili MX kaydını döndürür

  • « gethostname
  • getprotobyname »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen konak adı ile ilgili MX kaydını döndürür

getmxrr

(PHP 4, PHP 5, PHP 7, PHP 8)

getmxrr — Belirtilen konak adı ile ilgili MX kaydını döndürür

Açıklama

getmxrr(string $konakadı, array &$mx_konakları, array &$önem = null): bool

Belirtilen konakadı için DNS'deki MX kaydını döndürür.

Bağımsız Değişkenler

konakadı

Ağ konak adı.

mx_konakları

Bulunan MX kayıtlarının yerleştirileceği dizi.

önem

MX konaklarının isteklere yanıt verme sırasını belirleyen bilginin yerleştirileceği dizi (seçimlik).

Dönen Değerler

Bir MX kaydı bulunmuşsa true, bir kayıt yoksa veya bir hata oluşmuşsa falsedöner.

Notlar

Bilginize:

Bu işlev adres doğrulamak amacıyla kullanılmamalıdır. Sadece DNS'de kayıtlı olan posta alıcıları döndürülür. Ancak, » RFC 2821'e göre konak adı için bir MX kaydı yoksa posta alıcısı olarak 0 önem derecesi ile konakadı'nın kullanılması gerekir.

Bilginize:

Bu işlevin henüz gerçeklenmediği PHP sürümlerini çalıştıran Windows platformlarında » PEAR » Net_DNS sınıfını deneyin.

Ayrıca Bakınız

  • checkdnsrr() - Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar
  • dns_get_record() - Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir
  • gethostbyname() - Belirtilen konak adına ait IPv4 adresini döndürür
  • gethostbynamel() - Belirtilen konak adına ait IPv4 adreslerini döndürür
  • gethostbyaddr() - Belirtilen IP adresine çözümlenen konak ismini döndürür
  • named(8) veya host(1) kılavuz sayfası


Protokol ismine karşılık düşen protokol numarasını verir

  • « getmxrr
  • getprotobynumber »
  • PHP Manual
  • Ağ İşlevleri
  • Protokol ismine karşılık düşen protokol numarasını verir

getprotobyname

(PHP 4, PHP 5, PHP 7, PHP 8)

getprotobyname — Protokol ismine karşılık düşen protokol numarasını verir

Açıklama

getprotobyname(int $protokol): int|false

getprotobyname() işlevi belirtilen protokol protokol için /etc/protocols dosyasındaki protokol numarasını döndürür.

Bağımsız Değişkenler

protokol

Protokolün adı.

Dönen Değerler

Başarı durumunda protokol numarası, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - getprotobyname() örneği

<?php
$protokol = 'tcp';
$protnum = getprotobyname($protokol);
if ($get_prot === FALSE) {
echo 'Geçersiz protokol';
} else {
echo 'Protokol #' . $protnum;
}
?>

Ayrıca Bakınız

  • getprotobynumber() - Protokol numarasına karşılık düşen protokol ismini verir


Protokol numarasına karşılık düşen protokol ismini verir

  • « getprotobyname
  • getservbyname »
  • PHP Manual
  • Ağ İşlevleri
  • Protokol numarasına karşılık düşen protokol ismini verir

getprotobynumber

(PHP 4, PHP 5, PHP 7, PHP 8)

getprotobynumber — Protokol numarasına karşılık düşen protokol ismini verir

Açıklama

getprotobynumber(int $protokol): string|false

getprotobynumber() işlevi belirtilen protokol numarası için /etc/protocols dosyasındaki protokol ismini döndürür.

Bağımsız Değişkenler

protokol

Protokol numarası.

Dönen Değerler

Başarı durumunda protokol adı, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • getprotobyname() - Protokol ismine karşılık düşen protokol numarasını verir


Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner

  • « getprotobynumber
  • getservbyport »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner

getservbyname

(PHP 4, PHP 5, PHP 7, PHP 8)

getservbyname — Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner

Açıklama

getservbyname(string $hizmet, string $protokol): int|false

getservbyname() işlevi, /etc/services dosyasında protokol için belirtilen hizmet ile ilişkili port numarasını döndürür.

Bağımsız Değişkenler

hizmet

Dizge olarak ağ hizmeti ismi.

protokol

protokol olarak "tcp" veya "udp" (küçük harflerle) belirtilebilir.

Dönen Değerler

hizmet veya protokol bulunamazsa, false ile aksi takdirde port numarası ile döner.

Örnekler

Örnek 1 - getservbyname() örneği

<?php
$hizmetler = array('http', 'ftp', 'ssh', 'telnet', 'imap',
'smtp', 'nicname', 'gopher', 'finger', 'pop3', 'www');

foreach ($hizmetler as $hizmet) {
$port = getservbyname($hizmet, 'tcp');
echo $hizmet . ": " . $port . "\n";
}
?>

Ayrıca Bakınız

  • getservbyport() - Belirtilen port ve protokolle ilgili ağ hizmeti ile döner
  • Port numaralarının tam listesi için: » http://www.iana.org/assignments/port-numbers


Belirtilen port ve protokolle ilgili ağ hizmeti ile döner

  • « getservbyname
  • header_register_callback »
  • PHP Manual
  • Ağ İşlevleri
  • Belirtilen port ve protokolle ilgili ağ hizmeti ile döner

getservbyport

(PHP 4, PHP 5, PHP 7, PHP 8)

getservbyport — Belirtilen port ve protokolle ilgili ağ hizmeti ile döner

Açıklama

getservbyport(int $port, string $protokol): string|false

getservbyport() işlevi belirtilen protokol için /etc/services dosyasında port ile ilişkilendirilmiş ağ hizmetini döndürür.

Bağımsız Değişkenler

port

Port numarası.

protokol

protokol olarak "tcp" veya "udp" (küçük harflerle) belirtilebilir.

Dönen Değerler

Ağ hizmetinin ismini bir dizge olarak, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • getservbyname() - Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner


Bir başlık işlevi çağırır

  • « getservbyport
  • header_remove »
  • PHP Manual
  • Ağ İşlevleri
  • Bir başlık işlevi çağırır

header_register_callback

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

header_register_callback — Bir başlık işlevi çağırır

Açıklama

header_register_callback(callable $geriçağırım): bool

PHP çıktıyı gönderirken çağrılacak işlevi kayda alır.

PHP geriçağırım işlevini, başlıkları göndermeye hazırlanırken, hiçbir çıktı göndermemişken, gönderim öncesi giden başlıklarda değişiklik yapacağı pencereyi oluşturarak çağrılır.

Bağımsız Değişkenler

geriçağırım

Başlıklar gönderilmeden hemen önce çağrılacak işlev. Hiçbir bağımsız değişken almaz ve dönüş değeri yok sayılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - header_register_callback() örneği

<?php

header('Content-Type: text/plain');
header('X-Test: foo');

function foo() {
foreach (headers_list() as $header) {
if (strpos($header, 'X-Powered-By:') !== false) {
header_remove('X-Powered-By');
}
header_remove('X-Test');
}
}

$result = header_register_callback('foo');
echo "a";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Content-Type: text/plain

a

Notlar

header_register_callback() başlıklar gönderilmeden hemen önce çalıştırıldığından bu işlevden yapılacak herhangi bir çıktı PHP çıktısını bozabilir.

Bilginize:

Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve çıktılanabilir olacaktır.

Ayrıca Bakınız

  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
  • header_remove() - Evvelce tanımlanmış başlıkları siler
  • header() - Ham bir HTTP başlığı gönderir


Evvelce tanımlanmış başlıkları siler

  • « header_register_callback
  • header »
  • PHP Manual
  • Ağ İşlevleri
  • Evvelce tanımlanmış başlıkları siler

header_remove

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

header_remove — Evvelce tanımlanmış başlıkları siler

Açıklama

header_remove(?string $isim = null): void

header() işleviyle evvelce tanımlanmış isim başlığını veya tüm başlıkları siler.

Bağımsız Değişkenler

isim

Silinecek başlığın ismi. null verilirse, evvelce tanımlanmış tüm başlıklar silinir.

Bilginize: Harf büyüklüğüne duyarsızdır.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | isim artık null olabiliyor.

Örnekler

Örnek 1 - Belli bir başlığı silmek

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove("X-Foo");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

X-Bar: Baz

Örnek 2 - Atanmış tüm başlıkları silmek

<?php
header("X-Foo: Bar");
header("X-Bar: Baz");
header_remove();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Notlar

Dikkat

    Bu işlev PHP tarafından tanımlanmış çerezler, oturum ve
    X-Powered-By başlıkları dahil
    tüm başlıkları siler.

Bilginize:

    Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve
    çıktılanabilir olacaktır.

Ayrıca Bakınız

  • header() - Ham bir HTTP başlığı gönderir
    •

  • headers_sent() - Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
    •


Ham bir HTTP başlığı gönderir

  • « header_remove
  • headers_list »
  • PHP Manual
  • Ağ İşlevleri
  • Ham bir HTTP başlığı gönderir

header

(PHP 4, PHP 5, PHP 7, PHP 8)

header — Ham bir HTTP başlığı gönderir

Açıklama

header(string $başlık, bool $değiştir = true, int $http_yanıt_kodu = 0): void

header() işlevi ham bir HTTP başlığı göndermek için kulanılır. HTTP başlıkları hakkında ayrıntılı bilgi edinmek için » HTTP/1.1 Belirtimi'ne bakınız.

header() işlevinin normal HTML etiketleri ve dosya veya PHP'deki boş satırlar dahil herhangi bir çıktıdan önce çağrılması gerektiğini unutmayınız. header() çağrısından önce sıkça yapılan hatalar: kodu include, require veya başka bir dosya okuma işlevi ile okumak; betik HTML'ye gömülüyse betiğin veya dosyanın başındaki boşluklar veya boş satırlar.

<html>
<?php
/* Bu bir hata verecektir. header() çağrısından
* önce hiçbir satırlar olmamalıydı. */
header('Location: http://localhost/');
exit;
?>

Bağımsız Değişkenler

başlık

Başlık dizgesi.

İki özel çağrı biçimi vardır. İlki, HTTP durum kodu gönderilirken kullanılır ve başlık "HTTP/" dizgesi ile başlar (harf büyüklüğüne duyarsız). Örneğin Apache'yi eksik dosyalarla ilgili sorunlar için (ErrorDocument yönergesi ile) bir PHP betiğini kullanacak şekilde yapılandırmışsanız betiğinizde uygun bir durum kodu üretmek için bu biçimi kullanabilirsiniz.

<?php
// Bu örnekte "HTTP/" için özel bir durum gösterilmiştir.
// Her durumda geçerli olacak kullanım şöyle olurdu:
// 1. header($_SERVER["SERVER_PROTOCOL"] . " 404 Not Found");
// (Hala HTTP/1.0 kullanan istemci için http durum iletisinin yerini alır)
// 2. http_response_code(404); (öntanımlı iletiyi kullanmak için)
header("HTTP/1.1 404 Not Found");
?>

İkinci özel biçim "Location:" başlığıdır. Bu başlığın tarayıcıya geri gönderilmesinden başka, bir 201 veya 3xx durum kodu henüz atanmamışsa ayrıca bir REDIRECT (302) durum kodu da gönderilir.

<?php
header("Location: http://mesela.dom/"); /* Tarayıcıyı yönlendir */

/* Yönlendirme sonrası herhangi bir kodun çalıştırılmamasını sağlayalım. */
exit;
?>

değiştir

değiştir bağımsız değişkeni isteğe bağlı olup, önceki bir başlığın mı değiştireceğini yoksa aynı türde ikinci bir başlık daha mı ekleneceğini belirtilir. Öntanımlı davranış mevcudu değiştirmektir. İşleve ikinci bağımsız değişken olarak false aktarırsanız aynı türde çok sayıda başlık bulunması için işlevi zorlamış olursunuz. Örnek:

<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>

http_yanıt_kodu

HTTP yanıt kodunu belirtilen değere zorlar. Bu bağımsız değişken sadece başlık bağımsız değişkeni boş değilse etkilidir.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Gönderilecek başlığın zamanlamasındaki bir başarısızlık, header() işlevinin E_WARNING seviyesinde bir hata çıktılamasına sebep olur.

Örnekler

Örnek 1 - İndirme söyleşisi

Kulanıcıyı, gönderdiğiniz veriyi (örneğin, bir PDF dosyası) kaydetmesi için uyarmak isterseniz, bir dosya ismi belirtmek ve tarayıcının bir dosya kayıt söyleşisi göstermesini sağlamak için » Content-Disposition başlığını kullanabilirsiniz.

<?php
// Bir PDF çıktılayacağız
header('Content-Type: application/pdf');

// Dosya ismi indirilen.pdf olsun
header('Content-Disposition: attachment; filename="indirilen.pdf"');

// Okunacak PDF dosyası
readfile('original.pdf');
?>

Örnek 2 - Yönergelerin önbelleklenmesi

PHP betikleri çoğunlukla istemcinin tarayıcısı veya sunucuya aracılık eden vekiller tarafından önbelleğe alınmaması gereken dinamik içerikler üretirler. Çoğu vekilin veya tarayıcının önbellekleme işlemini kapatmasını şöyle sağlayabilirsiniz:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Geçmişte bir tarih
?>

Bilginize:

Yukarıdaki başlıkların hiçbirini çıktılamadığınız halde sayfalarınız önbelleğe alınmıyor olabilir. Kullanıcının kendi tarayıcısının önbellekleme ile ilgili öntanımlı davranışını değiştirebileceği çok çeşitli seçenekleri olabilir. Yukarıdaki başlıkları göndererek bu tür olası ayarları geçersiz kılabilirsiniz.

Ayrıca, oturumları kullanırken önbellekleme ile ilgili doğru başlıkların otomatik olarak üretilmesi için session_cache_limiter() işlevini ve session.cache_limiter yapılandırma yönergesini kullanabilirsiniz.

Notlar

Bilginize:

Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve çıktılanabilir olacaktır.

Bilginize:

PHP 4'ten itibaren, bu işlevi çağırmadan önce, tarayıcıya gönderilene kadar sunucuda bekletilmek üzere çıktıyı bir tampona yazabilirsiniz. Bu işlemi betiğinizden ob_start() ve ob_end_flush() işlevlerini çağırarak veya output_buffering yapılandırma yönergesini php.ini veya sunucu yapılandırma dosyalarında belirterek yapabilirsiniz.

Bilginize:

header() çağrısının ilk çağrı olup olmamasından bağımsız olarak istemciye ilk olarak daima HTTP durum başlığı satırı gönderilir. header() işlevini hiçbir HTTP başlığı gönderilmeden önce yeni bir durum satırı ile kullanırsanız bu durum satırını geçersiz kılabilirsiniz.

Bilginize:

Çoğu çağdaş istemci » Location: için bağımsız değişken olarak göreli bir URI kabul etmektedir, fakat bazı eski istemciler şema, konak ismi ve mutlak dosya yolu içeren mutlak bir URI gerektirir. Bir mutlak URI'yi bir göreli URI'ye dönüştürmek için örnekteki gibi $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] ve dirname() kullanabilirsiniz:

<?php
/* Bulunulan dizinde başka bir sayfaya yönlendirelim */
$konak = $_SERVER['HTTP_HOST'];
$yol = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$ek = 'sayfam.php';
header("Location: http://$konak$yol/$ek");
exit;
?>

Bilginize:

Oturum kimliği, session.use_trans_sid etkin olsa bile Location başlığı ile aktarılmaz. SID sabiti kullanılarak elle aktarılmalıdır.

Ayrıca Bakınız

  • headers_sent() - Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
  • setcookie() - Bir çerez gönderir
  • http_response_code() - HTTP yanıt kodunu tanımlar veya siler
  • header_remove() - Evvelce tanımlanmış başlıkları siler
  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner


Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner

  • « header
  • headers_sent »
  • PHP Manual
  • Ağ İşlevleri
  • Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner

headers_list

(PHP 5, PHP 7, PHP 8)

headers_list — Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner

Açıklama

headers_list(): array

headers_list() işlevi, tarayıcıya veya istemciye gönderilen başlıkların listesini döndürür. Bu başlıkların henüz gönderilip gönderilmediğini headers_sent() işleviyle öğrenebilirsiniz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başlıkları içeren sayısal indisli bir dizi döndürür.

Örnekler

Örnek 1 - headers_list() kullanım örneği

<?php

/* setcookie() kendisi için bir yanıt başlığı ekler */
setcookie('foo', 'bar');

/* Özel bir yanıt başlığı tanımlayalım.
Bunu çoğu istemci yok sayar. */
+header("Example-Test: foo");

/* Yanıtımızın salt metin içerdiğini belirtelim */
header('Content-Type: text/plain; CHARSET=Windows-1254');

/* Hangi başlıklar gönderiliyor? */
var_dump(headers_list());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  [0]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  [1]=>
  string(17) "Example-Test: foo"
  string(39) "Content-Type: text/plain; CHARSET=Windows-1254"
}

Notlar

Bilginize:

Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve çıktılanabilir olacaktır.

Ayrıca Bakınız

  • headers_sent() - Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
  • header() - Ham bir HTTP başlığı gönderir
  • setcookie() - Bir çerez gönderir
  • apache_response_headers() - Tüm HTTP yanıt başlıklarını alır
  • http_response_code() - HTTP yanıt kodunu tanımlar veya siler


Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar

  • « headers_list
  • http_response_code »
  • PHP Manual
  • Ağ İşlevleri
  • Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar

headers_sent

(PHP 4, PHP 5, PHP 7, PHP 8)

headers_sent — Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar

Açıklama

headers_sent(string &$dosya = null, int &$satır = null): bool

Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar.

Tüm başlıklar gönderildikten sonra header() işlevini kullanarak daha fazla başlık satırı ekleyemezsiniz. Bu işlevi kullanarak HTTP başlıklarıyla ilgili hata iletilerinden en azından bazılarını engelleyebilirsiniz. Diğer bir seçenek de Çıktı Tamponlaması kullanmaktır.

Bağımsız Değişkenler

dosya

İsteğe bağlı dosya ve satır bağımsız değişkenleri kullanılırsa, headers_sent() işlevi çıktının başlatılacağı PHP kaynak dosyası ismi ve satır numarasını dosya ve satır bağımsız değişkenlerine yerleştirir.

Bilginize:

PHP kaynak kodu çalıştırılmadan çıktılama başlamışsa (örneğin bir başlatma hatasından dolayı) bu bağımsız değişkene boş dizge atanır.

satır

Çıktının başlatılacağı satır numarası.

Dönen Değerler

Henüz hiçbir başlık gönderilmemişse headers_sent() işlevi false ile döner, aksi takdirde true döndürür.

Örnekler

Örnek 1 - headers_sent() kullanım örnekleri

<?php

// Henüz hiçbir başlık gönderilmemişse bir tane gönder
if (!headers_sent()) {
header('Location: http://mesela.dom/');
exit;
}

// Seçimlik dosya ve satır kullanımı örneği.
// $dosya ve $satır bağımsız değişkenlerinin daha sonra kullanılmak üzere
// aktarıldığına dikkat edin. Bunlara bir değer atamayın.
if (!headers_sent($dosya, $satır)) {
header('Location: http://mesela.dom/');
exit;

// Çoğunlukla burada bir hata alırsınız.
} else {

echo "Başlıklar $dosya dosyasının $satır. satırında gönderilmiş.\n" .
"Yönlendirme yapılamıyor, şimdilik <a " .
"href=\"http://mesela.dom\">buraya tıklayınız</a>\n";
exit;
}

?>

Notlar

Bilginize:

Başlıklar sadece onları destekleyen bir SAPI kullanımdaysa erişilebilir ve çıktılanabilir olacaktır.

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • trigger_error() - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
  • Bu konuda daha ayrıntılı bilgi edinmek için header() - Ham bir HTTP başlığı gönderir belgesine bakınız.


HTTP yanıt kodunu tanımlar veya siler

  • « headers_sent
  • inet_ntop »
  • PHP Manual
  • Ağ İşlevleri
  • HTTP yanıt kodunu tanımlar veya siler

http_response_code

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

http_response_code — HTTP yanıt kodunu tanımlar veya siler

Açıklama

http_response_code(int $yanıt_kodu = 0): int|bool

HTTP yanıt durum kodunu tanımlar veya siler.

Bağımsız Değişkenler

yanıt_kodu

Tanımlanacak veya silinecek seçimlik yanıt_kodu.

Dönen Değerler

Bir yanıt_kodu belirtilmişse önceki durum kodu döner. Belirtilmemişse geçerli durum kodu döner. Bir HTTP sunucusu ortamında bu değerlerin ikisi de öntanımlı olarak 200'dür.

yanıt_kodu belirtilmez ve çağrı HTTP sunucusu ortamında yapılmazsa (CLI uygulaması ise) false döner. yanıt_kodu belirtilir ve çağrı HTTP sunucusu ortamında yapılırsa true döner (önceden tanımlanmış bir durum kodu olmadıkça).

Örnekler

Örnek 1 - Sunucu ortamında http_response_code() kullanımı

<?php

// Geçerli durum kodunu al ve yenisini ata
var_dump(http_response_code(404));

// Yeni durum kodunu al
var_dump(http_response_code());
?>

Yukarıdaki örneğin çıktısı:

int(200)
int(404)

Örnek 2 - CLI ortamında http_response_code() kullanımı

<?php

// Geçerli durum kodunu al ve yenisini ata
var_dump(http_response_code());

// Yeni durum kodunu ata
var_dump(http_response_code(201));

// Yeni durum kodunu al
var_dump(http_response_code());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
int(201)

Ayrıca Bakınız

  • header() - Ham bir HTTP başlığı gönderir
  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner


Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür

  • « http_response_code
  • inet_pton »
  • PHP Manual
  • Ağ İşlevleri
  • Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür

inet_ntop

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

inet_ntop — Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür

Açıklama

inet_ntop(string $ip): string|false

Bu işlev 32 bitlik IPv4 veya (PHP, IPv6 desteğiyle derenmişse) 128 bitlik IPv6 adresini dizge gösterimli uygun bir adres ailesine dönüştürür.

Bağımsız Değişkenler

ip

32 bitlik IPv4 veya 128 bitlik IPv6 adresi

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde adresin dizge gösterimiyle döner.

Örnekler

Örnek 1 - inet_ntop() örneği

<?php
$ikil = chr(127) . chr(0) . chr(0) . chr(1);
$dizge = inet_ntop($packed);

/* Çıktısı: 127.0.0.1 */
echo $dizge;

$ikil = str_repeat(chr(0), 15) . chr(1);
$dizge = inet_ntop($packed);

/* Çıktısı: ::1 */
echo $dizge;
?>

Ayrıca Bakınız

  • long2ip() - Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
  • ip2long() - Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür
  • inet_pton() - İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür


İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür

  • « inet_ntop
  • ip2long »
  • PHP Manual
  • Ağ İşlevleri
  • İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür

inet_pton

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

inet_pton — İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür

Açıklama

inet_pton(string $ip): string|false

Bu işlev, insan okuyabilir IPv4 veya (PHP, IPv6 desteğiyle derlenmişse) IPv6 adresini 32 veya 128 bitlik ikil yapılı bir adres ailesine dönüştürür.

Bağımsız Değişkenler

ip

İnsan okuyabilir IPv4 veya IPv6 adresi.

Dönen Değerler

Belirtilen ip adresi sözdizimsel olarak doğruysa in_addr gösterimiyle, değilse (noktasız IPv4 adres veya iki nokta üstüste imleri olmayan IPv6 adres gibi) false döner.

Örnekler

Örnek 1 - inet_pton() örneği

<?php
$in_addr = inet_pton('127.0.0.1');

$in6_addr = inet_pton('::1');
?>

Ayrıca Bakınız

  • ip2long() - Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür
  • long2ip() - Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
  • inet_ntop() - Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür


Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür

  • « inet_pton
  • long2ip »
  • PHP Manual
  • Ağ İşlevleri
  • Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür

ip2long

(PHP 4, PHP 5, PHP 7, PHP 8)

ip2long — Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür

Açıklama

ip2long(string $ip): int|false

ip2long() işlevi bir IPv4 adresin noktalı gösterimini kullanarak uzun tamsayı gösterimini üretir.

ip2long() işlevi ayrıca, tamamı belirtilmemiş IP adresleri ile de çalışır. Daha fazla bilgi için » http://ps-2.kev009.com/wisclibrary/aix52/usr/share/man/info/en_US/a_doc_lib/libs/commtrf2/inet_addr.htm adresine bakınız.

Bağımsız Değişkenler

ip

Noktalı gösterimle bir IPv4 adresi.

Dönen Değerler

Belirtilen ip geçirsizse false, aksi takdirde uzun tamsayı ile döner

Örnekler

Örnek 1 - ip2long() Örneği

<?php
$ip = gethostbyname('localhost');
$out = "Bu adresler aynıdır:<br />\n";
$out .= 'http://localhost/, http://' . $ip . '/ ve http://' .
sprintf("%u", ip2long($ip)) . "/<br />\n";
echo $out;
?>

Örnek 2 - Bir IP adresinin gösterilmesi

Bu örnekte, printf() işleviyle dönüştürülmüş bir adresin nasıl basılacağı gösterilmiştir:

<?php
$ip = gethostbyname('mesela.dom');
$long = ip2long($ip);

if ($long == -1 || $long === FALSE) {
echo 'IP geçersiz, tekrar deneyin';
} else {
echo $ip . "\n"; // 192.0.34.166
echo $long . "\n"; // 3221234342 (32-bit sistemlerde tamsayı taşması sebebiyle -1073732954)
printf("%u\n", ip2long($ip)); // 3221234342
}
?>

Notlar

Bilginize:

PHP'nin int türü işaretli tamsayı olduğundan ve çoğu IP adresi 32 bitlik sistemlerde negatif tamsayılarla sonuçlanacağından işaretsiz tamsayı IP adresinin dizge gösterimini elde etmek için sprintf() ve printf() işlevlerinde %u değiştiricisini kullanmalısınız.

Bilginize:

ip2long() işlevi 32 bitlik sistemlerde 255.255.255.255 IP adresi için tamsayı taşması sebebiyle -1 döndürür.

Ayrıca Bakınız

  • long2ip() - Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
  • sprintf() - Biçemli bir dizge döndürür


Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür

  • « ip2long
  • net_get_interfaces »
  • PHP Manual
  • Ağ İşlevleri
  • Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür

long2ip

(PHP 4, PHP 5, PHP 7, PHP 8)

long2ip — Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür

Açıklama

long2ip(int $ip): string|false

long2ip() işlevi uzun tamsayı gösteriminden standart noktalı gösterimle (aaa.bbb.ccc.ddd) bir IP adresi oluşturur.

Bağımsız Değişkenler

ip

Uzun tamsayı gösterimli IP adresi.

Dönen Değerler

IP adresini bir dizge olarak, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | ip bağımsız değişkeninini türü string iken int yapıldı.

Notlar

Bilginize:

32 bitlik sistemlerde, IP adresine uygulanan string türünden int türüne dönüşüm PHP_INT_MAX'ı aşan sayılarda doğru sonuç vermez.

Ayrıca Bakınız

  • ip2long() - Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür


Get network interfaces

  • « long2ip
  • openlog »
  • PHP Manual
  • Ağ İşlevleri
  • Get network interfaces

net_get_interfaces

(PHP 7 >= 7.3, PHP 8)

net_get_interfaces — Get network interfaces

Açıklama

net_get_interfaces(): array|false

Returns an enumeration of network interfaces (adapters) on the local machine.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an associative array where the key is the name of the interface and the value an associative array of interface attributes, başarısızlık durumunda false döner.

Each interface associative array contains:

Interface attributes
İsim | Açıklama
description | Optional string value for description of the interface. Windows only.
mac | Optional string value for MAC address of the interface. Windows only.
mtu | Integer value for Maximum transmission unit (MTU) of the interface. Windows only.
unicast | Array of associative arrays, see Unicast attributes below.
up | Boolean status (on/off) for interface.

Unicast attributes
İsim | Açıklama
flags | Integer value.
family | Integer value.
address | String value for address in either IPv4 or IPv6.
netmask | String value for netmask in either IPv4 or IPv6.

Hatalar/İstisnalar

Emits an E_WARNING on failure to get interface information.


Sistem günlükçüsüne erişim için bağlantı açar

  • « net_get_interfaces
  • pfsockopen »
  • PHP Manual
  • Ağ İşlevleri
  • Sistem günlükçüsüne erişim için bağlantı açar

openlog

(PHP 4, PHP 5, PHP 7, PHP 8)

openlog — Sistem günlükçüsüne erişim için bağlantı açar

Açıklama

openlog(string $önek, int $seçenek, int $oluşum): bool

openlog() işlevi bir program için sistem günlükçüsüne bir bağlantı açar.

openlog() kullanımı isteğe bağlıdır. önek bağımsız değişkeninin öntanımlı olarak false olduğu durumda, gerektiği takdirde işlev, syslog() tarafından otomatik olarak çağrılacaktır.

Bağımsız Değişkenler

önek

önek dizgesi her iletiye eklenir.

seçenek

seçenek bağımsız değişkeni, bir günlük iletisi üretilirken hangi günlük seçeneğinin kullanılacağını belirtmek için kullanılır.

openlog() seçenekleri
Sabit | Açıklama
LOG_CONS | Veriyi sistem günlüğüne gönderirken bir hata oluşursa doğrudan sistem konsoluna yaz.
LOG_NDELAY | Günlük kayıtçısına hemen bir bağlantı aç.
LOG_ODELAY | (öntanımlı) İlk ileti günlüğe kaydolana kadar bağlantı açılışını ertele.
LOG_PERROR | Günlük iletisini ayrıca standart hataya da yaz.
LOG_PID | Her iletide PID'i de içer
Bu seçeneklerin birden fazlasını belirtebilirsiniz. Çok sayıda seçenek belirtecekseniz bunları VEYAlamanız gerekir. Örneğin, hemen bir bağlantı aç, konsola yaz ve her iletiye PID'i dahil et demek için şunu kullanın: LOG_CONS | LOG_NDELAY | LOG_PID

oluşum

oluşum bağımsız değişkeni, iletiyi günlüğe kaydedecek program türünü belirtmek için kullanılır. Bu sayede farklı oluşumlardan gelen iletilerin nasıl ele alınacağını (sisteminizin syslog yapılandırmasında) belirtebilirsiniz.

openlog() oluşumları
Sabit | Açıklama
LOG_AUTH | Güvenlik/kimlik doğrulama iletileri (bu sabitin tanımlı olduğu sistemlerde yerine LOG_AUTHPRIV kulanın).
LOG_AUTHPRIV | Güvenlik/kimlik doğrulama iletileri (özel)
LOG_CRON | Zamanlama süreçleri (cron ve at)
LOG_DAEMON | Diğer sistem süreçleri
LOG_KERN | Sistem çekirdeği iletileri
LOG_LOCAL0 ... LOG_LOCAL7 | Yerel kullanım için ayrılmıştır. Bunlar Windows'ta hükümsüzdür.
LOG_LPR | Satır yazıcı alt sistemi
LOG_MAIL | eposta alt sistemi
LOG_NEWS | USENET haber grupları alt sistemi
LOG_SYSLOG | dahili olarak syslogd tarafından üretilen iletiler
LOG_USER | soysal kullanıcı seviyesi iletiler
LOG_UUCP | UUCP alt sistemi

Bilginize:

LOG_USER sadece Windows işletim sistemlerinde geçerli bir günlük türüdür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • syslog() - Bir sistem günlüğü iletisi üretir
  • closelog() - Sistem günlükçüsü bağlantısını kapatır


Kalıcı bir internet veya Unix alan soketi bağlantısı açar

  • « openlog
  • setcookie »
  • PHP Manual
  • Ağ İşlevleri
  • Kalıcı bir internet veya Unix alan soketi bağlantısı açar

pfsockopen

(PHP 4, PHP 5, PHP 7, PHP 8)

pfsockopen — Kalıcı bir internet veya Unix alan soketi bağlantısı açar

Açıklama

pfsockopen(
string $konakadı,
int $port = -1,
int &$hata_num = null,
string &$hata_iletisi = null,
?float $zaman_aşımı = null
): resource|false

Betik işini bitirene kadar bağlantının kapatılmaması dışında fsockopen() işleviyle tamamen aynıdır. Yani, fsockopen() işlevinin kalıcı bağlantı açan sürümüdür.

Bağımsız Değişkenler

Bağımsız değişken bilgisi için fsockopen() belgesine bakınız.

Dönen Değerler

Bu işlev (fgets(), fgetss(), fwrite(), fclose(), and feof() gibi) dosya işlevleri ile birlikte kullanılabilen bir dosya göstericisi döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | zaman_aşımı artık null olabiliyor.

Ayrıca Bakınız

  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar


Bir çerez gönderir

  • « pfsockopen
  • setrawcookie »
  • PHP Manual
  • Ağ İşlevleri
  • Bir çerez gönderir

setcookie

(PHP 4, PHP 5, PHP 7, PHP 8)

setcookie — Bir çerez gönderir

Açıklama

setcookie(
string $isim,
string $değer = "",
int $süreler_veya_seçenekler = 0,
string $yol = "",
string $alan = "",
bool $güvenli = false,
bool $sadece_http = false
): bool

PHP 7.3.0 ve sonrasında böyle de kullanılabilir (isimli bağımsız değişkenler desteklenmiyor):

setcookie(string $isim, string $değer = "", array $seçenekler = []): bool

setcookie() işlevi, HTTP başlıklarının kalanıyla gönderilmek üzere bir çerez tanımlar. Diğer başlıklar gibi, çerezlerde betiğinizin herhangi bir çıktısından önce gönderilmelidir (bu bir protokol kısıtlamasıdır). Bu kısıtlama, bu işleve yapılacak çağrıların, <html> ve <head> etiketleri ve hatta her türlü boşluk karakteri çıktısından bile önce yer almasını gerektirir.

Çerezler bir kere atandı mı, artık $_COOKIE dizisi ile sonraki sayfa yüklemesinde erişilebilir olacaktır. Çerez değerleri ayrıca, $_REQUEST içinde de mevcut olabilir.

Bağımsız Değişkenler

setcookie() bağımsız değişkenlerinin her birinin nasıl çalıştığını hakkında bilgi edinmek için bkz: » RFC 6265

isim

Çerezin ismi.

değer

Çerezin değeri. Bu değer istemcinin bilgisayarında saklanır. Bu bakımdan çerezlerde güvenlik ihlaline konu bilgiler saklanmamalıdır. isim bağımsız değişkeninde 'çerezim' isminin kullanıldığı varsayımıyla, bu çerezin değeri $_COOKIE['çerezim'] değişkeni ile alınabilir.

süreler_veya_seçenekler

Çerezin zaman aşımına uğrama süresi. Değer bir Unix zaman damgasıdır. Bu değeri elde etmenin tek yolu, time() işlevinden dönen değere çerezin zaman aşımına uğrayacağı süreyi saniye cinsinden eklemektir. Örneğin, time()+60*60*24*30 ile çerez 30 gün sonra zaman aşımına uğrar. Ayrıca, mktime() işlevi de kullanılabilir. Burada 0 atanır veya birşey belirtilmezse, çerez oturumun sonunda (tarayıcı kapandığında) zaman aşımına uğrar.

Bilginize:

süreler_veya_seçenekler bağımsız değişkeni değer olarak bir Unix zaman damgası alır. Bu, başlıkta belirtilen Wdy, DD-Mon-YYYY HH:MM:SS GMT tarih biçeminin zıddı olup bu dönüşümü PHP dahili olarak yapar.

yol

Çerezin üzerinde etkin olacağı sunucudaki yol. '/' belirtilirse çerez alan'ın tamamında kullanılabilir olacaktır. Eğer '/foo/' belirtilirse, çerez sadece /foo/ dizininde ve /foo/bar/ gibi alt dizinlerde kullanılabilir olacaktır. Öntanımlı değer çerezin atandığı içinde bulunulan dizindir.

alan

Çerezin kullanılabileceği (alt)alan. Çerezi ('www.example.com' gibi) bir alt alan adında kullanılabilir yapmak onu tüm diğer alt alan adlarında da (w2.www.example.com gibi) kullanılabilir kılacaktır. Çerezi tüm alt alan adlarında kullanılabilir yapmak için buraya alan adı (örneğimiz için ('example.com') yazılmalıdır.

Eski tarayıcılar hala kullanımdan kalkmış olan ve alt alan adıyla eşleşme sağlamak için . ile başlatmayı gerektiren » RFC 2109'u gerçeklemektedir.

güvenli

Çerezin istemciye güvenli bir HTTPS bağlantısı üzerinden mi aktarılması gerektiğini belirtmek için kullanılır. true belirtildiği takdirde, çerez sadece güvenli bağlantı mevcutsa gönderilecektir. Sunucu tarafında, bu çeşit çerezin sadece ($_SERVER["HTTPS"] ile ilgili) güvenli bağlantı üzerinden gönderilmesi kararı yazılımcıya aittir.

sadece_http

true olduğu takdirde çerez sadece HTTP protokolü üzerinden erişilebilir olacaktır. Yani çerez, JavaScript gibi betik dilleri tarafından erişilebilir olmayacaktır. Bu ayarlama, XSS saldırılarıyla kimlik hırsızlığı riskini etkin şekilde azaltmaya (tüm tarayıcılar tarafından desteklenmese de) yardımcı olabilir, fakat bu sava çoğunlukla itiraz edilir. Değer olarak true veya false belirtilebilir.

seçenekler

zaman_aşımı, yol, alan, güvenli, sadece_http ve samesite bağımsız değişkenlerinden herhangi birine sahip olabilen ilişkisel bir dizi. Bunlar dışında bir anahtar varsa, E_WARNING seviyesinde bir hata üretilir. Değerler, aynı ada sahip bağımsız değişkenler için açıklananla aynı anlama sahiptir. samesite öğesinin değeri None, Lax veya Strict olmalıdır. İzin verilen seçeneklerden herhangi biri belirtilmezse, bunların öntanımlı değerleri, açık bağımsız değişkenlerin öntanımlı değerleri ile aynıdır. samesite öğesi atlanırsa, SameSite çerez özelliği ayarlanmaz.

Dönen Değerler

Bu işlev çağrılmadan önce yapılmış çıktı varsa setcookie() başarısız olup false döndürür. setcookie() başarılı olduğu takdirde true döndürür. Dönüş değeri, kullanıcının çerezi kabul ettiği ya da etmediği anlamına gelmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Çerezin tarih biçemi 'D, d M Y H:i:s \G\M\T' oldu; evvelce 'D, d-M-Y H:i:s T' idi.
7.3.0 | seçenekler dizisini destekleyen ek bir yöntem tanımı eklendi. Dizi içinde SameSite çerezinin değerleri de destekleniyor.

Örnekler

Çerez gönderimi ile ilgili bazı örnekler:

Örnek 1 - setcookie() gönderim örneği

<?php
$value = 'bir şeyler bir yerlere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* 1 saatliğine geçerli */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", "example.com", 1);
?>

Çerez gönderilirken çerez değerinin otomatik olarak URL kodlamasından geçirileceğine, alınırken ise bu kodlamanın yine otomatik olarak çözüleceğine ve yine aynı çerez ismine atanacağına dikkat ediimalidir. Bu istenmiyorsa, Bu işlevin yerine setrawcookie() işlevi kullanılabilir. Deneme çerezimizin bir betik içindeki değerini görmek için aşağıdaki örneklerden biri kullanılabilir:

<?php
// Bağımsız bir çerez bas
echo $_COOKIE["TestCookie"];

// Tüm çerezleri görmek için başka bir yol
print_r($_COOKIE);
?>

Örnek 2 - setcookie() silme örneği

Bir çerezi silerken, tarayıcının yürürlükten kaldırma mekanizmasını tetikleyebilmek için, süre bitiminin geçmişte kalmasını sağlamanız gerekir. Önceki örnekte gönderilen çerezin silinmesi:

<?php
// süre bitimini 1 saat önceye ayarla
setcookie ("TestCookie", "", time() - 3600);
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "example.com", 1);
?>

Örnek 3 - setcookie() ve diziler

Çerez ismini belirtirken dizi gösterimini kullanmak suretiyle çerez dizileri tanımlanabilir. Bu sayede dizi elemanı sayısı kadar çerez tanımlanabilir, fakat çerezler betikle alındığında değerlerin hepsi çerez isminde bir diziye yerleştirilir:

<?php
// çerezleri tanımla
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");

// sayfayı yeniden yükledikten sonra çerezler bas
if (isset($_COOKIE['cookie'])) {
foreach ($_COOKIE['cookie'] as $name => $value) {
$name = htmlspecialchars($name);
$value = htmlspecialchars($value);
echo "$name : $value <br />\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

three : cookiethree
two : cookietwo
one : cookieone

Bilginize: Çerez isminin paraçası olarak [ ve ] gibi ayırıcı karakterlerin kullanımı RFC 6265, bölüm 4 ile uyumlu değildir, fakat RFC 6265, bölüm 5'e göre kullanıcı istemcileri tarafından desteklendikleri varsayılmıştır.

Notlar

Bilginize:

Bu işlevi çağırmadan önce, tarayıcıya gönderilene kadar sunucuda bekletilmek üzere çıktı bir tampona yazılabilir. Bu işlem, betikten ob_start() ve ob_end_flush() işlevlerini çağırarak veya output_buffering yapılandırma yönergesi php.ini veya sunucu yapılandırma dosyalarında belirtilerek yapılabilir.

Bilinen Güçlükler:

  • Çerezler sonraki sayfada görünür olmak üzere atanırlar, dolayısıyla sonraki sayfa yüklenene kadar görünür olmazlar. Bir çerezin başarıyla tanımlanıp tanımlanmadığını anlayabilmek için çerez zaman aşımına uğramadan sonraki sayfa üzerinde çerez denenmelidir. Zaman aşımı süresi zaman_aşımı bağımsız değişkeni ile belirtilebilir. Bir çerezin varlığını sınamanın en kolay yolu print_r($_COOKIE); çağrısı yapmaktır.
  • Çerezler atandıkları sırada kullanılan bağımsız değişkenler kullanılarak silinmelidir. değer bağımsız değişkeninde bir boş dizge belirtilir ve tüm diğer bağımsız değişkenlerin çerezi atarken kullanılan bağımsız değişkenlerle aynı olması sağlanırsa, ismi belirtilen çerez uzak istemciden silinir. Bu işlem dahili olarak çereze 'deleted' değeri atanarak ve zaman aşımı tarihi bir yıl önceye çekilerek gerçekleştirilir.
  • Bir çereze silmek amacıyla false değeri atanırken mantıksal değerler kullanılmamalıdır. false için 0, true için 1 kullanılmalıdır.
  • Çerez isimleri dizi isimleri olabilir. Böylece PHP betiğinde bu çerezler için dizi kullanılırken, kullanıcının sisteminde bunlar ayrı ayrı çerezler olarak saklanırlar. Tek bir çereze çok sayıda isim ve değer atamak için explode() işlevi kullanılabilir. Güvenlik zafiyeti oluşturması nedeniyle bu işlem için serialize() işlevinin kullanılması önerilmemektedir.

Peşpeşe pek çok setcookie() çağrısı yapılabilir.

Ayrıca Bakınız

  • header() - Ham bir HTTP başlığı gönderir
  • setrawcookie() - Bir çerezi değerini URL kodlamasından geçirmeden gönderir
  • Çerezler bölümü
  • » RFC 6265
  • » RFC 2109


Bir çerezi değerini URL kodlamasından geçirmeden gönderir

  • « setcookie
  • socket_get_status »
  • PHP Manual
  • Ağ İşlevleri
  • Bir çerezi değerini URL kodlamasından geçirmeden gönderir

setrawcookie

(PHP 5, PHP 7, PHP 8)

setrawcookie — Bir çerezi değerini URL kodlamasından geçirmeden gönderir

Açıklama

setrawcookie(
string $isim,
string $değer = ?,
int $süreler_veya_seçenekler = 0,
string $yol = ?,
string $alan = ?,
bool $güvenli = false,
bool $sadece_http = false
): bool

PHP 7.3.0 ve sonrasında böyle de kullanılabilir (isimli bağımsız değişkenler desteklenmiyor):

setrawcookie(string $isim, string $değer = ?, array $seçenekler = []): bool

setrawcookie() işlevi, çerez değerini tarayıcıya gönderirken otomatik olarak URL kodlamasından geçirmemesi dışında setcookie() işlevine benzer.

Bağımsız Değişkenler

Bağımsız değişken bilgileri için setcookie() belgesine bakınız.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | seçenekler dizisini destekleyen ek bir yöntem tanımı eklendi. Dizi içinde SameSite çerezinin değerleri de destekleniyor.

Ayrıca Bakınız

  • setcookie() - Bir çerez gönderir


Takma Adı: stream_get_meta_data

  • « setrawcookie
  • socket_set_blocking »
  • PHP Manual
  • Ağ İşlevleri
  • Takma Adı: stream_get_meta_data

socket_get_status

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_get_status — Takma Adı: stream_get_meta_data()

Açıklama

Bu işlev, stream_get_meta_data() işlevinin takma adıdır.


Takma Adı: stream_set_blocking

  • « socket_get_status
  • socket_set_timeout »
  • PHP Manual
  • Ağ İşlevleri
  • Takma Adı: stream_set_blocking

socket_set_blocking

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_set_blocking — Takma Adı: stream_set_blocking()

Açıklama

Bu işlev, stream_set_blocking() işlevinin takma adıdır.


Takma Adı: stream_set_timeout

  • « socket_set_blocking
  • syslog »
  • PHP Manual
  • Ağ İşlevleri
  • Takma Adı: stream_set_timeout

socket_set_timeout

(PHP 4, PHP 5, PHP 7, PHP 8)

socket_set_timeout — Takma Adı: stream_set_timeout()

Açıklama

Bu işlev, stream_set_timeout() işlevinin takma adıdır.


Bir sistem günlüğü iletisi üretir

  • « socket_set_timeout
  • RRD »
  • PHP Manual
  • Ağ İşlevleri
  • Bir sistem günlüğü iletisi üretir

syslog

(PHP 4, PHP 5, PHP 7, PHP 8)

syslog — Bir sistem günlüğü iletisi üretir

Açıklama

syslog(int $öncelik, string $ileti): true

syslog() işlevi sistem günlük yöneticisi tarafından dağıtılacak bir günlük iletisi üretir.

Kullanıcı tanımlı bir günlük eylemci tanımlamak için gerekli bilgileri syslog.conf (5) Unix kılavuz sayfasında bulabilirsiniz. Unix sistemlerindeki syslog oluşumları ve seçenekleri hakkında daha fazla bilgi için syslog (3) kılavuz sayfasına bakınız.

Bağımsız Değişkenler

öncelik

öncelik, oluşum ve düzeyin birleşimidir. Olası değerler:

syslog() Öncelikleri (azalan sırada)
Sabit | Açıklama
LOG_EMERG | sistem kullanışsız
LOG_ALERT | eylem hemen ele alınmalı
LOG_CRIT | hayati durum
LOG_ERR | hata durumları
LOG_WARNING | uyarı durumları
LOG_NOTICE | normal, fakat önemli durum
LOG_INFO | bilgilendirme iletisi
LOG_DEBUG | hata ayıklama iletisi

ileti

Gönderilecek ileti.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - syslog() kullanımı

<?php
// syslog'u aç, süreç kimliğini dahil edip günlüğü ayrıca
// standart hataya gönder ve kullanıcı tanımlı günlük kayıt
// mekanizmasını kullan
openlog("Betik günlüğüm", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// bazı kodlar

if (authorized_client()) {
// bir şeyler yap
} else {
// yetkisiz istemci!
// olayı günlüğe kaydet
$access = date("d/m/Y H:i:s");
syslog(LOG_WARNING, "Yetkisiz istemci: ".
$access." {$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}

closelog();
?>

Notlar

Windows'ta, syslog hizmeti Event Log kullanılarak taklit edilir.

Bilginize:

openlog() işlevinin oluşum bağımsız değişkeninin değerlerinden LOG_LOCAL0'dan LOG_LOCAL7'ye kadar olanlar Windows'ta geçersizdir.

Ayrıca Bakınız

  • openlog() - Sistem günlükçüsüne erişim için bağlantı açar
  • closelog() - Sistem günlükçüsü bağlantısını kapatır
  • syslog.filter INI yönergesi (PHP 7.3 itibariyle)


RRDtool

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Procedural PECL/rrd example
    • OOP PECL/rrd example
  • RRD İşlevleri
    • rrd_create — Creates rrd database file
    • rrd_error — Gets latest error message
    • rrd_fetch — Fetch the data for graph as array
    • rrd_first — Gets the timestamp of the first sample from rrd file
    • rrd_graph — Creates image from a data
    • rrd_info — Gets information about rrd file
    • rrd_last — Gets unix timestamp of the last sample
    • rrd_lastupdate — Gets information about last updated data
    • rrd_restore — Restores the RRD file from XML dump
    • rrd_tune — Tunes some RRD database file header options
    • rrd_update — Updates the RRD database
    • rrd_version — Gets information about underlying rrdtool library
    • rrd_xport — Exports the information about RRD database
    • rrdc_disconnect — Close any outstanding connection to rrd caching daemon
  • RRDCreator — The RRDCreator class
    • RRDCreator::addArchive — Adds RRA - archive of data values for each data source
    • RRDCreator::addDataSource — Adds data source definition for RRD database
    • RRDCreator::__construct — Creates new RRDCreator instance
    • RRDCreator::save — Saves the RRD database to a file
  • RRDGraph — The RRDGraph class
    • RRDGraph::__construct — Creates new RRDGraph instance
    • RRDGraph::save — Saves the result of query into image
    • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph
    • RRDGraph::setOptions — Sets the options for rrd graph export
  • RRDUpdater — The RRDUpdater class
    • RRDUpdater::__construct — Creates new RRDUpdater instance
    • RRDUpdater::update — Update the RRD database file


Giriş

The PECL/rrd extension provides bindings to the RRDtool C library. RRDtool is the open source industry standard, high performance data logging and graphing system for time series data.

The RRDtool homepage is » http://www.mrtg.org/rrdtool/.


Gereksinimler

You need to install librrd first to be able to use PECL/rrd. Most common option is using of librrd-dev package from your favourite Linux distro. PECL/rrd is tested with librrd 1.4.3, older or newer versions might or might not work for you.

Uyarı

Librrd and hence extension itself aren't mostly thread safe. There are many global and shared states in librrd. It can be dangerous use this extension in multi threaded environments like Apache2 mpm worker. If there are many parallel requests, one request can change some global librrd state of other runnig requests.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/rrd.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • RRD
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • Procedural PECL/rrd example »
  • PHP Manual
  • RRD
  • Örnekler

Örnekler

İçindekiler

  • Procedural PECL/rrd example
  • OOP PECL/rrd example


Procedural PECL/rrd example

Örnek 1 Procedural usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";

//create rrd file
rrd_create($rrdFile,
array(
"--start",920804400,
"DS:speed:COUNTER:600:U:U",
"RRA:AVERAGE:0.5:1:24",
"RRA:AVERAGE:0.5:6:10"
)
);

//update rrd file
rrd_update($rrdFile,
array(
"920804700:12345",
"920805000:12357"
)
);

//graph output
rrd_graph(dirname(__FILE__) . "/speed.png",
array(
"--start", "920804400",
"--end", "920808000",
"--vertical-label", "m/s",
"DEF:myspeed=$rrdFile:speed:AVERAGE",
"CDEF:realspeed=myspeed,1000,*",
"LINE2:realspeed#FF0000"
)
);
?>


OOP PECL/rrd example

Örnek 1 OO usage of rrd

<?php
$rrdFile = dirname(__FILE__) . "/speed.rrd";
$outputPngFile = dirname(__FILE__) . "/speed.png";

$creator = new RRDCreator($rrdFile, "now -10d", 500);
$creator->addDataSource("speed:COUNTER:600:U:U");
$creator->addArchive("AVERAGE:0.5:1:24");
$creator->addArchive("AVERAGE:0.5:6:10");
$creator->save();

$updater = new RRDUpdater($rrdFile);
$updater->update(array("speed" => "12345"), "920804700");
$updater->update(array("speed" => "12357"), "920805000");

$graphObj = new RRDGraph($outputPngFile);
$graphObj->setOptions(
array(
"--start" => "920804400",
"--end" => 920808000,
"--vertical-label" => "m/s",
"DEF:myspeed=$rrdFile:speed:AVERAGE",
"CDEF:realspeed=myspeed,1000,*",
"LINE2:realspeed#FF0000"
)
);
$graphObj->save();
?>


RRD İşlevleri

İçindekiler

  • rrd_create — Creates rrd database file
  • rrd_error — Gets latest error message
  • rrd_fetch — Fetch the data for graph as array
  • rrd_first — Gets the timestamp of the first sample from rrd file
  • rrd_graph — Creates image from a data
  • rrd_info — Gets information about rrd file
  • rrd_last — Gets unix timestamp of the last sample
  • rrd_lastupdate — Gets information about last updated data
  • rrd_restore — Restores the RRD file from XML dump
  • rrd_tune — Tunes some RRD database file header options
  • rrd_update — Updates the RRD database
  • rrd_version — Gets information about underlying rrdtool library
  • rrd_xport — Exports the information about RRD database
  • rrdc_disconnect — Close any outstanding connection to rrd caching daemon


Creates rrd database file

  • « RRD İşlevleri
  • rrd_error »
  • PHP Manual
  • RRD İşlevleri
  • Creates rrd database file

rrd_create

(PECL rrd >= 0.9.0)

rrd_create — Creates rrd database file

Açıklama

rrd_create(string $filename, array $options): bool

Creates the rdd database file.

Bağımsız Değişkenler

filename

Filename for newly created rrd file.

options

Options for rrd create - list of strings. See man page of rrd create for whole list of options.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Gets latest error message

  • « rrd_create
  • rrd_fetch »
  • PHP Manual
  • RRD İşlevleri
  • Gets latest error message

rrd_error

(PECL rrd >= 0.9.0)

rrd_error — Gets latest error message

Açıklama

rrd_error(): string

Returns latest global rrd error message.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Latest error message.


Fetch the data for graph as array

  • « rrd_error
  • rrd_first »
  • PHP Manual
  • RRD İşlevleri
  • Fetch the data for graph as array

rrd_fetch

(PECL rrd >= 0.9.0)

rrd_fetch — Fetch the data for graph as array

Açıklama

rrd_fetch(string $filename, array $options): array

Gets data for graph output from RRD database file as array. This function has same result as rrd_graph(), but fetched data are returned as array, no image file is created.

Bağımsız Değişkenler

filename

RRD database file name.

options

Array of options for resolution specification.

Dönen Değerler

Returns information about retrieved graph data.


Gets the timestamp of the first sample from rrd file

  • « rrd_fetch
  • rrd_graph »
  • PHP Manual
  • RRD İşlevleri
  • Gets the timestamp of the first sample from rrd file

rrd_first

(PECL rrd >= 0.9.0)

rrd_first — Gets the timestamp of the first sample from rrd file

Açıklama

rrd_first(string $file, int $raaindex = 0): int

Returns the first data sample from the specified RRA of the RRD file.

Bağımsız Değişkenler

file

RRD database file name.

raaindex

The index number of the RRA that is to be examined. Default value is 0.

Dönen Değerler

Integer number of unix timestamp, başarısızlık durumunda false döner.


Creates image from a data

  • « rrd_first
  • rrd_info »
  • PHP Manual
  • RRD İşlevleri
  • Creates image from a data

rrd_graph

(PECL rrd >= 0.9.0)

rrd_graph — Creates image from a data

Açıklama

rrd_graph(string $filename, array $options): array

Creates image for a particular data from RRD file.

Bağımsız Değişkenler

filename

The filename to output the graph to. This will generally end in either .png, .svg or .eps, depending on the format you want to output.

options

Options for generating image. See man page of rrd graph for all possible options. All options (data definitions, variable definitions, etc.) are allowed.

Dönen Değerler

Array with information about generated image is returned, başarısızlık durumunda false döner.


Gets information about rrd file

  • « rrd_graph
  • rrd_last »
  • PHP Manual
  • RRD İşlevleri
  • Gets information about rrd file

rrd_info

(PECL rrd >= 0.9.0)

rrd_info — Gets information about rrd file

Açıklama

rrd_info(string $filename): array

Returns information about particular RRD database file.

Bağımsız Değişkenler

file

RRD database file name.

Dönen Değerler

Array with information about requested RRD file, başarısızlık durumunda false döner.


Gets unix timestamp of the last sample

  • « rrd_info
  • rrd_lastupdate »
  • PHP Manual
  • RRD İşlevleri
  • Gets unix timestamp of the last sample

rrd_last

(PECL rrd >= 0.9.0)

rrd_last — Gets unix timestamp of the last sample

Açıklama

rrd_last(string $filename): int

Returns the UNIX timestamp of the most recent update of the RRD database.

Bağımsız Değişkenler

filename

RRD database file name.

Dönen Değerler

Integer as unix timestamp of the most recent data from the RRD database.


Gets information about last updated data

  • « rrd_last
  • rrd_restore »
  • PHP Manual
  • RRD İşlevleri
  • Gets information about last updated data

rrd_lastupdate

(PECL rrd >= 0.9.0)

rrd_lastupdate — Gets information about last updated data

Açıklama

rrd_lastupdate(string $filename): array

Gets array of the UNIX timestamp and the values stored for each date in the most recent update of the RRD database file.

Bağımsız Değişkenler

file

RRD database file name.

Dönen Değerler

Array of information about last update, başarısızlık durumunda false döner.


Restores the RRD file from XML dump

  • « rrd_lastupdate
  • rrd_tune »
  • PHP Manual
  • RRD İşlevleri
  • Restores the RRD file from XML dump

rrd_restore

(PECL rrd >= 0.9.0)

rrd_restore — Restores the RRD file from XML dump

Açıklama

rrd_restore(string $xml_file, string $rrd_file, array $options = ?): bool

Restores the RRD file from the XML dump.

Bağımsız Değişkenler

xml_file

XML filename with the dump of the original RRD database file.

rrd_file

Restored RRD database file name.

options

Array of options for restoring. See man page for rrd restore.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Tunes some RRD database file header options

  • « rrd_restore
  • rrd_update »
  • PHP Manual
  • RRD İşlevleri
  • Tunes some RRD database file header options

rrd_tune

(PECL rrd >= 0.9.0)

rrd_tune — Tunes some RRD database file header options

Açıklama

rrd_tune(string $filename, array $options): bool

Change some options in the RRD dabase header file. E.g. renames the source for the data etc.

Bağımsız Değişkenler

filename

RRD database file name.

options

Options with RRD database file properties which will be changed. See rrd tune man page for details.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Updates the RRD database

  • « rrd_tune
  • rrd_version »
  • PHP Manual
  • RRD İşlevleri
  • Updates the RRD database

rrd_update

(PECL rrd >= 0.9.0)

rrd_update — Updates the RRD database

Açıklama

rrd_update(string $filename, array $options): bool

Updates the RRD database file. The input data is time interpolated according to the properties of the RRD database file.

Bağımsız Değişkenler

filename

RRD database file name. This database will be updated.

options

Options for updating the RRD database. This is list of strings. See man page of rrd update for whole list of options.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Gets information about underlying rrdtool library

  • « rrd_update
  • rrd_xport »
  • PHP Manual
  • RRD İşlevleri
  • Gets information about underlying rrdtool library

rrd_version

(PECL rrd >= 1.0.0)

rrd_version — Gets information about underlying rrdtool library

Açıklama

rrd_version(): string

Returns information about underlying rrdtool library.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

String with rrdtool version number e.g. "1.4.3".


Exports the information about RRD database

  • « rrd_version
  • rrdc_disconnect »
  • PHP Manual
  • RRD İşlevleri
  • Exports the information about RRD database

rrd_xport

(PECL rrd >= 0.9.0)

rrd_xport — Exports the information about RRD database

Açıklama

rrd_xport(array $options): array

Exports the information about RRD database file. This data can be converted to XML file via user space PHP script and then restored back as RRD database file.

Bağımsız Değişkenler

options

Array of options for the export, see rrd xport man page.

Dönen Değerler

Array with information about RRD database file, başarısızlık durumunda false döner.


Close any outstanding connection to rrd caching daemon

  • « rrd_xport
  • RRDCreator »
  • PHP Manual
  • RRD İşlevleri
  • Close any outstanding connection to rrd caching daemon

rrdc_disconnect

(PECL rrd >= 1.1.2)

rrdc_disconnect — Close any outstanding connection to rrd caching daemon

Açıklama

rrdc_disconnect(): void

Close any outstanding connection to rrd caching daemon.

This function is automatically called when the whole PHP process is terminated. It depends on used SAPI. For example, it's called automatically at the end of command line script.

It's up user whether he wants to call this function at the end of every request or otherwise.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


The RRDCreator class

(PECL rrd >= 0.9.0)

Giriş

Class for creation of RRD database file.

Sınıf Sözdizimi

class RRDCreator {
/* Yöntemler */
public __construct(string $path, string $startTime = ?, int $step = 0)
public addArchive(string $description): void
public addDataSource(string $description): void
public save(): bool
}

İçindekiler

  • RRDCreator::addArchive — Adds RRA - archive of data values for each data source
  • RRDCreator::addDataSource — Adds data source definition for RRD database
  • RRDCreator::__construct — Creates new RRDCreator instance
  • RRDCreator::save — Saves the RRD database to a file


Adds RRA - archive of data values for each data source

  • « RRDCreator
  • RRDCreator::addDataSource »
  • PHP Manual
  • RRDCreator
  • Adds RRA - archive of data values for each data source

RRDCreator::addArchive

(PECL rrd >= 0.9.0)

RRDCreator::addArchive — Adds RRA - archive of data values for each data source

Açıklama

public RRDCreator::addArchive(string $description): void

Adds RRA definition by description of archive. Archive consists of a number of data values or statistics for each of the defined data-sources (DS). Data sources are defined by method RRDCreator::addDataSource(). You need call this method for each requested archive.

Bağımsız Değişkenler

description

Definition of archive - RRA. This has same format as RRA definition in rrd create command. See man page of rrd create for more details.

Dönen Değerler

Hiçbir değer dönmez.


Adds data source definition for RRD database

  • « RRDCreator::addArchive
  • RRDCreator::__construct »
  • PHP Manual
  • RRDCreator
  • Adds data source definition for RRD database

RRDCreator::addDataSource

(PECL rrd >= 0.9.0)

RRDCreator::addDataSource — Adds data source definition for RRD database

Açıklama

public RRDCreator::addDataSource(string $description): void

RRD can accept input from several data sources (DS), e.g incoming and outgoing traffic. This method adds data source by description. You need call this method for each data source.

Bağımsız Değişkenler

description

Definition of data source - DS. This has same format as DS definition in rrd create command. See man page of rrd create for more details.

Dönen Değerler

Hiçbir değer dönmez.


Creates new RRDCreator instance

  • « RRDCreator::addDataSource
  • RRDCreator::save »
  • PHP Manual
  • RRDCreator
  • Creates new RRDCreator instance

RRDCreator::__construct

(PECL rrd >= 0.9.0)

RRDCreator::__construct — Creates new RRDCreator instance

Açıklama

public RRDCreator::__construct(string $path, string $startTime = ?, int $step = 0)

Creates new RRDCreator instance.

Bağımsız Değişkenler

path

Path for newly created RRD database file.

startTime

Time for the first value in RRD database. Parameter supports all formats which are supported by rrd create call.

intstep

Base interval in seconds with which data will be fed into the RRD database.


Saves the RRD database to a file

  • « RRDCreator::__construct
  • RRDGraph »
  • PHP Manual
  • RRDCreator
  • Saves the RRD database to a file

RRDCreator::save

(PECL rrd >= 0.9.0)

RRDCreator::save — Saves the RRD database to a file

Açıklama

public RRDCreator::save(): bool

Saves the RRD database into file, which name is defined by RRDCreator::__construct().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The RRDGraph class

(PECL rrd >= 0.9.0)

Giriş

Class for exporting data from RRD database to image file.

Sınıf Sözdizimi

class RRDGraph {
/* Yöntemler */
public __construct(string $path)
public save(): array
public saveVerbose(): array
public setOptions(array $options): void
}

İçindekiler

  • RRDGraph::__construct — Creates new RRDGraph instance
  • RRDGraph::save — Saves the result of query into image
  • RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph
  • RRDGraph::setOptions — Sets the options for rrd graph export


Creates new RRDGraph instance

  • « RRDGraph
  • RRDGraph::save »
  • PHP Manual
  • RRDGraph
  • Creates new RRDGraph instance

RRDGraph::__construct

(PECL rrd >= 0.9.0)

RRDGraph::__construct — Creates new RRDGraph instance

Açıklama

public RRDGraph::__construct(string $path)

Creates new RRDGraph instance. This instance is responsible for rendering the result of RRD database query into image.

Bağımsız Değişkenler

path

Full path for the newly created image.


Saves the result of query into image

  • « RRDGraph::__construct
  • RRDGraph::saveVerbose »
  • PHP Manual
  • RRDGraph
  • Saves the result of query into image

RRDGraph::save

(PECL rrd >= 0.9.0)

RRDGraph::save — Saves the result of query into image

Açıklama

public RRDGraph::save(): array

Saves the result of RRD database query into image defined by RRDGraph::__construct().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array with information about generated image, başarısızlık durumunda false döner.


Saves the RRD database query into image and returns the verbose information about generated graph

  • « RRDGraph::save
  • RRDGraph::setOptions »
  • PHP Manual
  • RRDGraph
  • Saves the RRD database query into image and returns the verbose information about generated graph

RRDGraph::saveVerbose

(PECL rrd >= 0.9.0)

RRDGraph::saveVerbose — Saves the RRD database query into image and returns the verbose information about generated graph

Açıklama

public RRDGraph::saveVerbose(): array

Saves the RRD database query into image file defined by method RRDGraph::__construct() and returns the verbose information about generated graph, if "-" is used as image filename, image data are also returned in result array.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns array with detailed information about generated image, başarısızlık durumunda false döner.


Sets the options for rrd graph export

  • « RRDGraph::saveVerbose
  • RRDUpdater »
  • PHP Manual
  • RRDGraph
  • Sets the options for rrd graph export

RRDGraph::setOptions

(PECL rrd >= 0.9.0)

RRDGraph::setOptions — Sets the options for rrd graph export

Açıklama

public RRDGraph::setOptions(array $options): void

Bağımsız Değişkenler

options

List of options for the image generation from the RRD database file. It can be list of strings or list of strings with keys for better readability. Read the rrd graph man pages for list of available options.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 RRDGraph::setOptions() example

<?php
$graphObj->setOptions(array(
"--start" => "920804400",
"--end" => 920808000,
"--vertical-label" => "m/s",
"DEF:myspeed=$rrdFile:speed:AVERAGE",
"CDEF:realspeed=myspeed,1000,*",
"LINE2:realspeed#FF0000"
));
?>

Örnek 2 Set multiple color options

<?php
$graphObj->setOptions(array(
"--start" => "920804400",
"--end" => 920808000,
"--vertical-label" => "m/s",
"--color=BACK#00000000",
"--color=GRID#00000000",
"--color=MGRID#00000000",
"DEF:myspeed=$rrdFile:speed:AVERAGE",
"CDEF:realspeed=myspeed,1000,*",
"LINE2:realspeed#FF0000"
));
?>

Don't use key value syntax for same rrd option. It looks more readable, but it doesn't work.

<?php
$graphObj->setOptions(array(
"--color" => "BACK#00000000",
"--color" => "GRID#00000000",
"--color" => "MGRID#00000000"
));
?>

In nature of php it's same as

<?php
$graphObj->setOptions(array(
"--color" => "MGRID#00000000"
));
?>


The RRDUpdater class

(PECL rrd >= 0.9.0)

Giriş

Class for updating RDD database file.

Sınıf Sözdizimi

class RRDUpdater {
/* Yöntemler */
public __construct(string $path)
public update(array $values, string $time = time() ): bool
}

İçindekiler

  • RRDUpdater::__construct — Creates new RRDUpdater instance
  • RRDUpdater::update — Update the RRD database file


Creates new RRDUpdater instance

  • « RRDUpdater
  • RRDUpdater::update »
  • PHP Manual
  • RRDUpdater
  • Creates new RRDUpdater instance

RRDUpdater::__construct

(PECL rrd >= 0.9.0)

RRDUpdater::__construct — Creates new RRDUpdater instance

Açıklama

public RRDUpdater::__construct(string $path)

Creates new RRDUpdater instance. This instance is responsible for updating the RRD database file.

Bağımsız Değişkenler

path

Filesystem path for RRD database file, which will be updated.


Update the RRD database file

  • « RRDUpdater::__construct
  • ScoutAPM »
  • PHP Manual
  • RRDUpdater
  • Update the RRD database file

RRDUpdater::update

(PECL rrd >= 0.9.0)

RRDUpdater::update — Update the RRD database file

Açıklama

public RRDUpdater::update(array $values, string $time = time() ): bool

Updates the RRD file defined via RRDUpdater::__construct(). The file is updated with a specific values.

Bağımsız Değişkenler

values

Data for update. Key is data source name.

time

Time value for updating the RRD with a particular data. Default value is current time.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Throws a Exception on error.

Örnekler

Örnek 1 RRDUpdater::update() examples

<?php
$updator = new RRDUpdater("speed.rrd");
//updates the data source "speed" with value "12411"
//for time defined by timestamp "920807700"
$updator->update(array("speed" => "12411"), "920807700");
?>


ScoutAPM

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Scoutapm İşlevleri
    • scoutapm_get_calls — Returns a list of instrumented calls that have occurred
    • scoutapm_list_instrumented_functions — List functions scoutapm will instrument.


Giriş

Bilginize: Bu eklenti Windows sistemlerinde çalışmaz.

ScoutAPM's extension for PHP provides additional capabilities to application monitoring over just using the base PHP userland library.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

  • PHP >= 7.1.0
  • Windows is not currently supported


Kurulum

This extension is available on PECL. Run:

$ sudo pecl install scoutapm
You may need to add Scout to your php.ini, for example:
extension=scoutapm.so


  • « Çalışma Anı Yapılandırması
  • Scoutapm İşlevleri »
  • PHP Manual
  • ScoutAPM
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Scoutapm İşlevleri

İçindekiler

  • scoutapm_get_calls — Returns a list of instrumented calls that have occurred
  • scoutapm_list_instrumented_functions — List functions scoutapm will instrument.


Returns a list of instrumented calls that have occurred

  • « Scoutapm İşlevleri
  • scoutapm_list_instrumented_functions »
  • PHP Manual
  • Scoutapm İşlevleri
  • Returns a list of instrumented calls that have occurred

scoutapm_get_calls

(PECL scoutapm >= 1.0.0)

scoutapm_get_calls — Returns a list of instrumented calls that have occurred

Açıklama

scoutapm_get_calls(): array

Returns a list of any instrumented function calls since scoutapm_get_calls() was last called. The list is cleared each time the function is called.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

scoutapm_get_calls() returns an array containing a list of all recorded calls to instrumented function calls.

Örnekler

Örnek 1 Fetch instrumented calls

<?php

file_get_contents('a.txt');
file_get_contents('b.txt');

print_r(scoutapm_get_calls());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [function] => file_get_contents
            [entered] => 1576839727.7934
            [exited] => 1576839727.7935
            [time_taken] => 2.7894973754883E-5
            [argv] => Array
                (
                    [0] => a.txt
                )

        )

    [1] => Array
        (
            [function] => file_get_contents
            [entered] => 1576839727.7935
            [exited] => 1576839727.7935
            [time_taken] => 7.8678131103516E-6
            [argv] => Array
                (
                    [0] => b.txt
                )

        )

)


List functions scoutapm will instrument.

  • « scoutapm_get_calls
  • SNMP »
  • PHP Manual
  • Scoutapm İşlevleri
  • List functions scoutapm will instrument.

scoutapm_list_instrumented_functions

(PECL scoutapm >= 1.0.2)

scoutapm_list_instrumented_functions — List functions scoutapm will instrument.

Açıklama

scoutapm_list_instrumented_functions(): array

Returns a list of the functions the extension will instrument.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

scoutapm_list_instrumented_functions() returns an array containing a list of all functions that the scoutapm extension is able to instrument in the current installation.

Örnekler

Örnek 1 Fetch the list of functions scoutapm will instrument

<?php
print_r(scoutapm_list_instrumented_functions());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => file_get_contents
    [1] => file_put_contents
    [2] => fopen
    [3] => fread
    [4] => fwrite
    [5] => pdo->exec
    [6] => pdo->query
    [7] => pdo->prepare
    [8] => pdostatement->execute
)


SNMP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SNMP İşlevleri
    • snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting
    • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
    • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print — Takma Adı: snmp_set_oid_output_format
    • snmp_set_oid_output_format — Set the OID output format
    • snmp_set_quick_print — Set the value of enable within the NET-SNMP library
    • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
    • snmp2_get — Fetch an SNMP object
    • snmp2_getnext — Fetch the SNMP object which follows the given object id
    • snmp2_real_walk — Return all objects including their respective object ID within the specified one
    • snmp2_set — Set the value of an SNMP object
    • snmp2_walk — Fetch all the SNMP objects from an agent
    • snmp3_get — Fetch an SNMP object
    • snmp3_getnext — Fetch the SNMP object which follows the given object id
    • snmp3_real_walk — Return all objects including their respective object ID within the specified one
    • snmp3_set — Set the value of an SNMP object
    • snmp3_walk — Fetch all the SNMP objects from an agent
    • snmpget — Fetch an SNMP object
    • snmpgetnext — Fetch the SNMP object which follows the given object id
    • snmprealwalk — Return all objects including their respective object ID within the specified one
    • snmpset — Set the value of an SNMP object
    • snmpwalk — Fetch all the SNMP objects from an agent
    • snmpwalkoid — Query for a tree of information about a network entity
  • SNMP — The SNMP class
    • SNMP::close — Close SNMP session
    • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
    • SNMP::get — Fetch an SNMP object
    • SNMP::getErrno — Get last error code
    • SNMP::getError — Get last error message
    • SNMP::getnext — Fetch an SNMP object which follows the given object id
    • SNMP::set — Set the value of an SNMP object
    • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
    • SNMP::walk — Fetch SNMP object subtree
  • SNMPException — The SNMPException class


Giriş

The SNMP extension provides a very simple and easily usable toolset for managing remote devices via the Simple Network Management Protocol.

As it is a wrapper around the underlying Net-SNMP library, all basic concepts are the same and the PHP functions change their behaviour depending on the Net-SNMP configuration files and environment variables.

More information about Net-SNMP can be found at » http://www.net-snmp.org/


Gereksinimler

In order to use the SNMP functions requires installation of the » Net-SNMP package. SNMPv3 functions available only when » OpenSSL package is installed too.

Net-SNMP version 5.3+ is required for Unix installations and Net-SNMP version 5.4+ for Windows.


Kurulum

The Windows distribution of » Net-SNMP contains support files for SNMP in the mibs directory. This directory should be added to Windows' environment variables, as MIBDIRS, with the value being the full path to the mibs directory: e.g. c:\usr\mibs.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

For the snmp_set_oid_output_format()
SNMP_OID_OUTPUT_SUFFIX (int)
SNMP_OID_OUTPUT_MODULE (int)
SNMP_OID_OUTPUT_FULL (int)
SNMP_OID_OUTPUT_NUMERIC (int)
SNMP_OID_OUTPUT_UCD (int)
SNMP_OID_OUTPUT_NONE (int)
For the snmp_set_valueretrieval()
SNMP_VALUE_LIBRARY (int)
SNMP_VALUE_PLAIN (int)
SNMP_VALUE_OBJECT (int)
SNMP types as returned if SNMP_VALUE_OBJECT was used with snmp_set_valueretrieval()
SNMP_BIT_STR (int)
SNMP_OCTET_STR (int)
SNMP_OPAQUE (int)
SNMP_NULL (int)
SNMP_OBJECT_ID (int)
SNMP_IPADDRESS (int)
SNMP_COUNTER (int)
SNMP_UNSIGNED (int)
SNMP_TIMETICKS (int)
SNMP_UINTEGER (int)
SNMP_INTEGER (int)
SNMP_COUNTER64 (int)


SNMP İşlevleri

İçindekiler

  • snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting
  • snmp_get_valueretrieval — Return the method how the SNMP values will be returned
  • snmp_read_mib — Reads and parses a MIB file into the active MIB tree
  • snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer
  • snmp_set_oid_numeric_print — Takma Adı: snmp_set_oid_output_format
  • snmp_set_oid_output_format — Set the OID output format
  • snmp_set_quick_print — Set the value of enable within the NET-SNMP library
  • snmp_set_valueretrieval — Specify the method how the SNMP values will be returned
  • snmp2_get — Fetch an SNMP object
  • snmp2_getnext — Fetch the SNMP object which follows the given object id
  • snmp2_real_walk — Return all objects including their respective object ID within the specified one
  • snmp2_set — Set the value of an SNMP object
  • snmp2_walk — Fetch all the SNMP objects from an agent
  • snmp3_get — Fetch an SNMP object
  • snmp3_getnext — Fetch the SNMP object which follows the given object id
  • snmp3_real_walk — Return all objects including their respective object ID within the specified one
  • snmp3_set — Set the value of an SNMP object
  • snmp3_walk — Fetch all the SNMP objects from an agent
  • snmpget — Fetch an SNMP object
  • snmpgetnext — Fetch the SNMP object which follows the given object id
  • snmprealwalk — Return all objects including their respective object ID within the specified one
  • snmpset — Set the value of an SNMP object
  • snmpwalk — Fetch all the SNMP objects from an agent
  • snmpwalkoid — Query for a tree of information about a network entity


Fetches the current value of the NET-SNMP library's quick_print setting

  • « SNMP İşlevleri
  • snmp_get_valueretrieval »
  • PHP Manual
  • SNMP İşlevleri
  • Fetches the current value of the NET-SNMP library's quick_print setting

snmp_get_quick_print

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp_get_quick_print — Fetches the current value of the NET-SNMP library's quick_print setting

Açıklama

snmp_get_quick_print(): bool

Returns the current value stored in the NET-SNMP Library for quick_print. quick_print is off by default.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if quick_print is on, false otherwise.

Örnekler

Örnek 1 snmp_get_quick_print() example

<?php
$quickprint = snmp_get_quick_print();
?>

Ayrıca Bakınız

  • snmp_set_quick_print() - Set the value of enable within the NET-SNMP library for a full description of what quick_print does.


Return the method how the SNMP values will be returned

  • « snmp_get_quick_print
  • snmp_read_mib »
  • PHP Manual
  • SNMP İşlevleri
  • Return the method how the SNMP values will be returned

snmp_get_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

snmp_get_valueretrieval — Return the method how the SNMP values will be returned

Açıklama

snmp_get_valueretrieval(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.

Örnekler

Örnek 1 Using snmp_get_valueretrieval()

<?php
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
if (snmp_get_valueretrieval() & SNMP_VALUE_OBJECT) {
echo $ret->value;
} else {
echo $ret;
}
?>

Ayrıca Bakınız

  • snmp_set_valueretrieval() - Specify the method how the SNMP values will be returned
  • Öntanımlı Sabitler


Reads and parses a MIB file into the active MIB tree

  • « snmp_get_valueretrieval
  • snmp_set_enum_print »
  • PHP Manual
  • SNMP İşlevleri
  • Reads and parses a MIB file into the active MIB tree

snmp_read_mib

(PHP 5, PHP 7, PHP 8)

snmp_read_mib — Reads and parses a MIB file into the active MIB tree

Açıklama

snmp_read_mib(string $filename): bool

This function is used to load additional, e.g. vendor specific, MIBs so that human readable OIDs like VENDOR-MIB::foo.1 instead of error prone numeric OIDs can be used.

The order in which the MIBs are loaded does matter as the underlying Net-SNMP library will print warnings if referenced objects cannot be resolved.

Bağımsız Değişkenler

filename

The filename of the MIB.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using snmp_read_mib()

<?php
print_r( snmprealwalk('localhost', 'public', '.1.3.6.1.2.1.2.3.4.5') );

snmp_read_mib('./FOO-BAR-MIB.txt');
print_r( snmprealwalk('localhost', 'public', 'FOO-BAR-MIB::someTable') );
?>

The above example is made up but the results would look like:

Array
(
    [iso.3.6.1.2.1.2.3.4.5.0] => Gauge32: 6
)
Array
(
    [FOO-BAR-MIB::someTable.0] => Gauge32: 6
)


Return all values that are enums with their enum value instead of the raw integer

  • « snmp_read_mib
  • snmp_set_oid_numeric_print »
  • PHP Manual
  • SNMP İşlevleri
  • Return all values that are enums with their enum value instead of the raw integer

snmp_set_enum_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

snmp_set_enum_print — Return all values that are enums with their enum value instead of the raw integer

Açıklama

snmp_set_enum_print(bool $enable): true

This function toggles if snmpwalk/snmpget etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

Bağımsız Değişkenler

enable

As the value is interpreted as boolean by the Net-SNMP library, it can only be "0" or "1".

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 Using snmp_set_enum_print()

<?php
snmp_set_enum_print(0);
echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
snmp_set_enum_print(1);
echo snmpget('localhost', 'public', 'IF-MIB::ifOperStatus.3') . "\n";
?>

The above would return

 INTEGER: up(1)
 INTEGER: 1


Takma Adı: snmp_set_oid_output_format

  • « snmp_set_enum_print
  • snmp_set_oid_output_format »
  • PHP Manual
  • SNMP İşlevleri
  • Takma Adı: snmp_set_oid_output_format

snmp_set_oid_numeric_print

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

snmp_set_oid_numeric_print — Takma Adı: snmp_set_oid_output_format()

Açıklama

Bu işlev şu işlevin takma adıdır: snmp_set_oid_output_format().

Ayrıca Bakınız

  • snmp_set_oid_output_format() - Set the OID output format


Set the OID output format

  • « snmp_set_oid_numeric_print
  • snmp_set_quick_print »
  • PHP Manual
  • SNMP İşlevleri
  • Set the OID output format

snmp_set_oid_output_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

snmp_set_oid_output_format — Set the OID output format

Açıklama

snmp_set_oid_output_format(int $format): true

snmp_set_oid_output_format() sets the output format to be full or numeric.

Bağımsız Değişkenler

format
OID .1.3.6.1.2.1.1.3.0 representation for various format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 Using snmprealwalk()

<?php

snmp_read_mib("/usr/share/mibs/netsnmp/NET-SNMP-TC");

// default or SNMP_OID_OUTPUT_MODULE
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC);
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );

snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
print_r( snmprealwalk('localhost', 'public', 'RFC1213-MIB::sysObjectID') );
?>

The above would output:

 Array
 (
    [RFC1213-MIB::sysObjectID.0] => OID: NET-SNMP-TC::linux
 )
 Array
 (
    [.1.3.6.1.2.1.1.2.0] => OID: .1.3.6.1.4.1.8072.3.2.10
 )
 Array
 (
    [.iso.org.dod.internet.mgmt.mib-2.system.sysObjectID.0] => OID: .iso.org.dod.internet.private.enterprises.netSnmp.netSnmpEnumerations.netSnmpAgentOIDs.linux
 )


Set the value of enable within the NET-SNMP library

  • « snmp_set_oid_output_format
  • snmp_set_valueretrieval »
  • PHP Manual
  • SNMP İşlevleri
  • Set the value of enable within the NET-SNMP library

snmp_set_quick_print

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp_set_quick_print — Set the value of enable within the NET-SNMP library

Açıklama

snmp_set_quick_print(bool $enable): true

Sets the value of enable within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When enable is not enabled (default) the NET-SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

By default the NET-SNMP library returns verbose values, quick_print is used to return only the value.

Currently strings are still returned with extra quotes, this will be corrected in a later release.

Bağımsız Değişkenler

enable

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Setting quick_print is often used when using the information returned rather than displaying it.

Örnek 1 Using snmp_set_quick_print()

<?php
snmp_set_quick_print(0);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
snmp_set_quick_print(1);
$a = snmpget("127.0.0.1", "public", ".1.3.6.1.2.1.2.2.1.9.1");
echo "$a\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

'Timeticks: (0) 0:00:00.00'
'0:00:00.00'

Ayrıca Bakınız

  • snmp_get_quick_print() - Fetches the current value of the NET-SNMP library's quick_print setting


Specify the method how the SNMP values will be returned

  • « snmp_set_quick_print
  • snmp2_get »
  • PHP Manual
  • SNMP İşlevleri
  • Specify the method how the SNMP values will be returned

snmp_set_valueretrieval

(PHP 4 >= 4.3.3, PHP 5, PHP 7, PHP 8)

snmp_set_valueretrieval — Specify the method how the SNMP values will be returned

Açıklama

snmp_set_valueretrieval(int $method): true

Bağımsız Değişkenler

method
types
SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type information.
SNMP_VALUE_OBJECT | The return values will be objects with the properties value and type, where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way value is returned is based on which one of constants SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 Using snmp_set_valueretrieval()

<?php
snmp_set_valueretrieval(SNMP_VALUE_LIBRARY);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// $ret = "STRING: lo"

snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// $ret = "lo";

snmp_set_valueretrieval(SNMP_VALUE_OBJECT);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => lo
// )

snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_PLAIN);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => lo
// )

snmp_set_valueretrieval(SNMP_VALUE_OBJECT | SNMP_VALUE_LIBRARY);
$ret = snmpget('localhost', 'public', 'IF-MIB::ifName.1');
// stdClass Object
// (
// [type] => 4 <-- SNMP_OCTET_STR, see constants
// [value] => STRING: lo
// )

?>

Ayrıca Bakınız

  • snmp_get_valueretrieval() - Return the method how the SNMP values will be returned
  • Öntanımlı Sabitler


Fetch an SNMP object

  • « snmp_set_valueretrieval
  • snmp2_getnext »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch an SNMP object

snmp2_get

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

snmp2_get — Fetch an SNMP object

Açıklama

snmp2_get(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmp2_get() function is used to read the value of an SNMP object specified by the object_id.

Bağımsız Değişkenler

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error.

Örnekler

Örnek 1 Using snmp2_get()

<?php
$syscontact = snmp2_get("127.0.0.1", "public", "system.SysContact.0");
?>

Ayrıca Bakınız

  • snmp2_set() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmp2_get
  • snmp2_real_walk »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch the SNMP object which follows the given object id

snmp2_getnext

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_getnext — Fetch the SNMP object which follows the given object id

Açıklama

snmp2_getnext(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmp2_get_next() function is used to read the value of the SNMP object that follows the specified object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Örnekler

Örnek 1 Using snmp2_get_next()

<?php
$nameOfSecondInterface = snmp2_get_next('localhost', 'public', 'IF-MIB::ifName.1');
?>

Ayrıca Bakınız

  • snmp2_get() - Fetch an SNMP object
  • snmp2_walk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmp2_getnext
  • snmp2_set »
  • PHP Manual
  • SNMP İşlevleri
  • Return all objects including their respective object ID within the specified one

snmp2_real_walk

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_real_walk — Return all objects including their respective object ID within the specified one

Açıklama

snmp2_real_walk(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

The snmp2_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Örnekler

Örnek 1 Using snmp2_real_walk()

<?php
print_r(snmp2_real_walk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Ayrıca Bakınız

  • snmp2_walk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmp2_real_walk
  • snmp2_walk »
  • PHP Manual
  • SNMP İşlevleri
  • Set the value of an SNMP object

snmp2_set

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_set — Set the value of an SNMP object

Açıklama

snmp2_set(
string $hostname,
string $community,
array|string $object_id,
array|string $type,
array|string $value,
int $timeout = -1,
int $retries = -1
): bool

snmp2_set() is used to set the value of an SNMP object specified by the object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB her nesne kimliğini türünü tanımlar. Aşağıdaki listeden tek bir karakter olarak belirtilmelidir.

types
= Tür MIB'den alınır.
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

SNMP kütüphanesi derlenirken OPAQUE_SPECIAL_TYPES tanımlanmışsa aşağıdakiler de geçerlidir:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Örnekler

Örnek 1 Using snmp2_set()

<?php
snmp2_set("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Örnek 2 Using snmp2_set() for setting BITS SNMP object id

<?php
snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp2_set("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Ayrıca Bakınız

  • snmp2_get() - Fetch an SNMP object


Fetch all the SNMP objects from an agent

  • « snmp2_set
  • snmp3_get »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch all the SNMP objects from an agent

snmp2_walk

(PHP >= 5.2.0, PHP 7, PHP 8)

snmp2_walk — Fetch all the SNMP objects from an agent

Açıklama

snmp2_walk(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

snmp2_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Bağımsız Değişkenler

hostname

The SNMP agent (server).

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an array of SNMP object values starting from the object_id as root or false on error.

Örnekler

Örnek 1 snmp2_walk() Example

<?php
$a = snmp2_walk("127.0.0.1", "public", "");

foreach ($a as $val) {
echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ayrıca Bakınız

  • snmp2_real_walk() - Return all objects including their respective object ID within the specified one


Fetch an SNMP object

  • « snmp2_walk
  • snmp3_getnext »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch an SNMP object

snmp3_get

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_get — Fetch an SNMP object

Açıklama

snmp3_get(
string $hostname,
string $security_name,
string $security_level,
string $auth_protocol,
string $auth_passphrase,
string $privacy_protocol,
string $privacy_passphrase,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmp3_get() function is used to read the value of an SNMP object specified by the object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol ("MD5", "SHA", "SHA256", or "SHA512")

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.

Örnekler

Örnek 1 Using snmp3_get()

<?php
$nameOfSecondInterface = snmp3_get('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.2');
?>

Ayrıca Bakınız

  • snmp3_set() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmp3_get
  • snmp3_real_walk »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch the SNMP object which follows the given object id

snmp3_getnext

(PHP 5, PHP 7, PHP 8)

snmp3_getnext — Fetch the SNMP object which follows the given object id

Açıklama

snmp3_getnext(
string $hostname,
string $security_name,
string $security_level,
string $auth_protocol,
string $auth_passphrase,
string $privacy_protocol,
string $privacy_passphrase,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmp3_getnext() function is used to read the value of the SNMP object that follows the specified object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol ("MD5", "SHA", "SHA256", or "SHA512")

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.

Örnekler

Örnek 1 Using snmp3_getnext()

<?php
$nameOfSecondInterface = snmp3_getnext('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName.1');
?>

Ayrıca Bakınız

  • snmp3_get() - Fetch an SNMP object
  • snmp3_walk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmp3_getnext
  • snmp3_set »
  • PHP Manual
  • SNMP İşlevleri
  • Return all objects including their respective object ID within the specified one

snmp3_real_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_real_walk — Return all objects including their respective object ID within the specified one

Açıklama

snmp3_real_walk(
string $hostname,
string $security_name,
string $security_level,
string $auth_protocol,
string $auth_passphrase,
string $privacy_protocol,
string $privacy_passphrase,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

The snmp3_real_walk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the authentication protocol ("MD5", "SHA", "SHA256", or "SHA512")

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.

Örnekler

Örnek 1 Using snmp3_real_walk()

<?php
var_export(snmp3_real_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName'));
?>

The above will output something like:

array (
  'IF-MIB::ifName.1' => 'STRING: lo',
  'IF-MIB::ifName.2' => 'STRING: eth0',
  'IF-MIB::ifName.3' => 'STRING: eth2',
  'IF-MIB::ifName.4' => 'STRING: sit0',
  'IF-MIB::ifName.5' => 'STRING: sixxs',
)

Ayrıca Bakınız

  • snmpwalk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmp3_real_walk
  • snmp3_walk »
  • PHP Manual
  • SNMP İşlevleri
  • Set the value of an SNMP object

snmp3_set

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_set — Set the value of an SNMP object

Açıklama

snmp3_set(
string $hostname,
string $security_name,
string $security_level,
string $auth_protocol,
string $auth_passphrase,
string $privacy_protocol,
string $privacy_passphrase,
array|string $object_id,
array|string $type,
array|string $value,
int $timeout = -1,
int $retries = -1
): bool

snmp3_set() is used to set the value of an SNMP object specified by the object_id.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol (MD5 or SHA)

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

The SNMP object id.

type

MIB her nesne kimliğini türünü tanımlar. Aşağıdaki listeden tek bir karakter olarak belirtilmelidir.

types
= Tür MIB'den alınır.
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

SNMP kütüphanesi derlenirken OPAQUE_SPECIAL_TYPES tanımlanmışsa aşağıdakiler de geçerlidir:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Örnekler

Örnek 1 Using snmp3_set()

<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifAlias.3', 's', "foo");
?>

Örnek 2 Using snmp3_set() for setting BITS SNMP object id

<?php
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmp3_set('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'FOO-MIB::bar.42', 'x', 'F0');
?>


Fetch all the SNMP objects from an agent

  • « snmp3_set
  • snmpget »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch all the SNMP objects from an agent

snmp3_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmp3_walk — Fetch all the SNMP objects from an agent

Açıklama

snmp3_walk(
string $hostname,
string $security_name,
string $security_level,
string $auth_protocol,
string $auth_passphrase,
string $privacy_protocol,
string $privacy_passphrase,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

snmp3_walk() function is used to read all the values from an SNMP agent specified by the hostname.

Even if the security level does not use an auth or priv protocol/password valid values have to be specified.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

security_name

the security name, usually some kind of username

security_level

the security level (noAuthNoPriv|authNoPriv|authPriv)

auth_protocol

the authentication protocol ("MD5", "SHA", "SHA256", or "SHA512")

auth_passphrase

the authentication pass phrase

privacy_protocol

the privacy protocol (DES or AES)

privacy_passphrase

the privacy pass phrase

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an array of SNMP object values starting from the object_id as root or false on error.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The auth_protocol now accepts "SHA256" and "SHA512" when supported by libnetsnmp.

Örnekler

Örnek 1 snmp3_walk() Example

<?php
$ret = snmp3_walk('localhost', 'james', 'authPriv', 'SHA', 'secret007', 'AES', 'secret007', 'IF-MIB::ifName');
var_export($ret);
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost:

array (
  0 => 'STRING: lo',
  1 => 'STRING: eth0',
  2 => 'STRING: eth2',
  3 => 'STRING: sit0',
  4 => 'STRING: sixxs',
)

Ayrıca Bakınız

  • snmp3_real_walk() - Return all objects including their respective object ID within the specified one


Fetch an SNMP object

  • « snmp3_walk
  • snmpgetnext »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch an SNMP object

snmpget

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpget — Fetch an SNMP object

Açıklama

snmpget(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmpget() function is used to read the value of an SNMP object specified by the object_id.

Bağımsız Değişkenler

hostname

The SNMP agent.

community

The read community.

object_id

The SNMP object.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error.

Örnekler

Örnek 1 Using snmpget()

<?php
$syscontact = snmpget("127.0.0.1", "public", "system.SysContact.0");
?>

Ayrıca Bakınız

  • snmpset() - Set the value of an SNMP object


Fetch the SNMP object which follows the given object id

  • « snmpget
  • snmprealwalk »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch the SNMP object which follows the given object id

snmpgetnext

(PHP 5, PHP 7, PHP 8)

snmpgetnext — Fetch the SNMP object which follows the given object id

Açıklama

snmpgetnext(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): mixed

The snmpgetnext() function is used to read the value of the SNMP object that follows the specified object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns SNMP object value on success or false on error. In case of an error, an E_WARNING message is shown.

Örnekler

Örnek 1 Using snmpgetnext()

<?php
$nameOfSecondInterface = snmpgetnetxt('localhost', 'public', 'IF-MIB::ifName.1');
?>

Ayrıca Bakınız

  • snmpget() - Fetch an SNMP object
  • snmpwalk() - Fetch all the SNMP objects from an agent


Return all objects including their respective object ID within the specified one

  • « snmpgetnext
  • snmpset »
  • PHP Manual
  • SNMP İşlevleri
  • Return all objects including their respective object ID within the specified one

snmprealwalk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmprealwalk — Return all objects including their respective object ID within the specified one

Açıklama

snmprealwalk(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

The snmprealwalk() function is used to traverse over a number of SNMP objects starting from object_id and return not only their values but also their object ids.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The read community.

object_id

The SNMP object id which precedes the wanted one.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an associative array of the SNMP object ids and their values on success or false on error. In case of an error, an E_WARNING message is shown.

Örnekler

Örnek 1 Using snmprealwalk()

<?php
print_r(snmprealwalk("localhost", "public", "IF-MIB::ifName"));
?>

The above will output something like:

    Array
      (
      [IF-MIB::ifName.1] => STRING: lo
      [IF-MIB::ifName.2] => STRING: eth0
      [IF-MIB::ifName.3] => STRING: eth2
      [IF-MIB::ifName.4] => STRING: sit0
      [IF-MIB::ifName.5] => STRING: sixxs
    )

Ayrıca Bakınız

  • snmpwalk() - Fetch all the SNMP objects from an agent


Set the value of an SNMP object

  • « snmprealwalk
  • snmpwalk »
  • PHP Manual
  • SNMP İşlevleri
  • Set the value of an SNMP object

snmpset

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpset — Set the value of an SNMP object

Açıklama

snmpset(
string $hostname,
string $community,
array|string $object_id,
array|string $type,
array|string $value,
int $timeout = -1,
int $retries = -1
): bool

snmpset() is used to set the value of an SNMP object specified by the object_id.

Bağımsız Değişkenler

hostname

The hostname of the SNMP agent (server).

community

The write community.

object_id

The SNMP object id.

type

MIB her nesne kimliğini türünü tanımlar. Aşağıdaki listeden tek bir karakter olarak belirtilmelidir.

types
= Tür MIB'den alınır.
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

SNMP kütüphanesi derlenirken OPAQUE_SPECIAL_TYPES tanımlanmışsa aşağıdakiler de geçerlidir:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

If the SNMP host rejects the data type, an E_WARNING message like "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or length." is shown. If an unknown or invalid OID is specified the warning probably reads "Could not add variable".

Örnekler

Örnek 1 Using snmpset()

<?php
snmpset("localhost", "public", "IF-MIB::ifAlias.3", "s", "foo");
?>

Örnek 2 Using snmpset() for setting BITS SNMP object id

<?php
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
snmpset("localhost", "public", 'FOO-MIB::bar.42', 'x', 'F0');
?>

Ayrıca Bakınız

  • snmpget() - Fetch an SNMP object


Fetch all the SNMP objects from an agent

  • « snmpset
  • snmpwalkoid »
  • PHP Manual
  • SNMP İşlevleri
  • Fetch all the SNMP objects from an agent

snmpwalk

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpwalk — Fetch all the SNMP objects from an agent

Açıklama

snmpwalk(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

snmpwalk() function is used to read all the values from an SNMP agent specified by the hostname.

Bağımsız Değişkenler

hostname

The SNMP agent (server).

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an array of SNMP object values starting from the object_id as root or false on error.

Örnekler

Örnek 1 snmpwalk() Example

<?php
$a = snmpwalk("127.0.0.1", "public", "");

foreach ($a as $val) {
echo "$val\n";
}

?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ayrıca Bakınız

  • snmprealwalk() - Return all objects including their respective object ID within the specified one


Query for a tree of information about a network entity

  • « snmpwalk
  • SNMP »
  • PHP Manual
  • SNMP İşlevleri
  • Query for a tree of information about a network entity

snmpwalkoid

(PHP 4, PHP 5, PHP 7, PHP 8)

snmpwalkoid — Query for a tree of information about a network entity

Açıklama

snmpwalkoid(
string $hostname,
string $community,
array|string $object_id,
int $timeout = -1,
int $retries = -1
): array|false

snmpwalkoid() function is used to read all object ids and their respective values from an SNMP agent specified by hostname.

The existence of snmpwalkoid() and snmpwalk() has historical reasons. Both functions are provided for backward compatibility. Use snmprealwalk() instead.

Bağımsız Değişkenler

hostname

The SNMP agent.

community

The read community.

object_id

If null, object_id is taken as the root of the SNMP objects tree and all objects under that tree are returned as an array.

If object_id is specified, all the SNMP objects below that object_id are returned.

timeout

The number of microseconds until the first timeout.

retries

The number of times to retry if timeouts occur.

Dönen Değerler

Returns an associative array with object ids and their respective object value starting from the object_id as root or false on error.

Örnekler

Örnek 1 snmpwalkoid() Example

<?php
$a = snmpwalkoid("127.0.0.1", "public", "");
for (reset($a); $i = key($a); next($a)) {
echo "$i: $a[$i]<br />\n";
}
?>

Above function call would return all the SNMP objects from the SNMP agent running on localhost. One can step through the values with a loop

Ayrıca Bakınız

  • snmpwalk() - Fetch all the SNMP objects from an agent


The SNMP class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

Represents SNMP session.

Sınıf Sözdizimi

class SNMP {
/* Sabitler */
public const int VERSION_1;
public const int VERSION_2c;
public const int VERSION_2C;
public const int VERSION_3;
public const int ERRNO_NOERROR;
public const int ERRNO_ANY;
public const int ERRNO_GENERIC;
public const int ERRNO_TIMEOUT;
public const int ERRNO_ERROR_IN_REPLY;
public const int ERRNO_OID_NOT_INCREASING;
public const int ERRNO_OID_PARSING_ERROR;
public const int ERRNO_MULTIPLE_SET_QUERIES;
/* Özellikler */
public readonly array $info;
public ?int $max_oids;
public int $valueretrieval;
public bool $quick_print;
public bool $enum_print;
public int $oid_output_format;
public bool $oid_increasing_check;
public int $exceptions_enabled;
/* Yöntemler */
public __construct(
int $version,
string $hostname,
string $community,
int $timeout = -1,
int $retries = -1
)
public close(): bool
public get(array|string $objectId, bool $preserveKeys = false): mixed
public getErrno(): int
public getError(): string
public getnext(array|string $objectId): mixed
public set(array|string $objectId, array|string $type, array|string $value): bool
public setSecurity(
string $securityLevel,
string $authProtocol = "",
string $authPassphrase = "",
string $privacyProtocol = "",
string $privacyPassphrase = "",
string $contextName = "",
string $contextEngineId = ""
): bool
public walk(
array|string $objectId,
bool $suffixAsKey = false,
int $maxRepetitions = -1,
int $nonRepeaters = -1
): array|false
}

Özellikler

max_oids

Maximum OID per GET/SET/GETBULK request

valueretrieval

Controls the method how the SNMP values will be returned

SNMP_VALUE_LIBRARY | The return values will be as returned by the Net-SNMP library.
SNMP_VALUE_PLAIN | The return values will be the plain value without the SNMP type information.
SNMP_VALUE_OBJECT | The return values will be objects with the properties "value" and "type", where the latter is one of the SNMP_OCTET_STR, SNMP_COUNTER etc. constants. The way "value" is returned is based on which one of SNMP_VALUE_LIBRARY, SNMP_VALUE_PLAIN is set
quick_print

Value of quick_print within the NET-SNMP library

Sets the value of quick_print within the NET-SNMP library. When this is set (1), the SNMP library will return 'quick printed' values. This means that just the value will be printed. When quick_print is not enabled (default) the NET-SNMP library prints extra information including the type of the value (i.e. IpAddress or OID). Additionally, if quick_print is not enabled, the library prints additional hex values for all strings of three characters or less.

enum_print

Controls the way enum values are printed

Parameter toggles if walk/get etc. should automatically lookup enum values in the MIB and return them together with their human readable string.

oid_output_format

Controls OID output format

OID .1.3.6.1.2.1.1.3.0 representation for various oid_output_format values
SNMP_OID_OUTPUT_FULL | .iso.org.dod.internet.mgmt.mib-2.system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NUMERIC | .1.3.6.1.2.1.1.3.0
SNMP_OID_OUTPUT_MODULE | DISMAN-EVENT-MIB::sysUpTimeInstance
SNMP_OID_OUTPUT_SUFFIX | sysUpTimeInstance
SNMP_OID_OUTPUT_UCD | system.sysUpTime.sysUpTimeInstance
SNMP_OID_OUTPUT_NONE | Undefined
oid_increasing_check

Controls disabling check for increasing OID while walking OID tree

Some SNMP agents are known for returning OIDs out of order but can complete the walk anyway. Other agents return OIDs that are out of order and can cause SNMP::walk() to loop indefinitely until memory limit will be reached. PHP SNMP library by default performs OID increasing check and stops walking on OID tree when it detects possible loop with issuing warning about non-increasing OID faced. Set oid_increasing_check to false to disable this check.

exceptions_enabled

Controls which failures will raise SNMPException instead of warning. Use bitwise OR'ed SNMP::ERRNO_* constants. By default all SNMP exceptions are disabled.

info

Read-only property with remote agent configuration: hostname, port, default timeout, default retries count

Öntanımlı Sabitler

SNMP Error Types

SNMP::ERRNO_NOERROR

No SNMP-specific error occurred.

SNMP::ERRNO_GENERIC

A generic SNMP error occurred.

SNMP::ERRNO_TIMEOUT

Request to SNMP agent timed out.

SNMP::ERRNO_ERROR_IN_REPLY

SNMP agent returned an error in reply.

SNMP::ERRNO_OID_NOT_INCREASING

SNMP agent faced OID cycling reporning non-increasing OID while executing (BULK)WALK command. This indicates bogus remote SNMP agent.

SNMP::ERRNO_OID_PARSING_ERROR

Library failed while parsing OID (and/or type for SET command). No queries has been made.

SNMP::ERRNO_MULTIPLE_SET_QUERIES

Library will use multiple queries for SET operation requested. That means that operation will be performed in a non-transaction manner and second or subsequent chunks may fail if a type or value failure will be faced.

SNMP::ERRNO_ANY

All SNMP::ERRNO_* codes bitwise OR'ed.

SNMP Protocol Versions

SNMP::VERSION_1

SNMP::VERSION_2C, SNMP::VERSION_2c

SNMP::VERSION_3

İçindekiler

  • SNMP::close — Close SNMP session
  • SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent
  • SNMP::get — Fetch an SNMP object
  • SNMP::getErrno — Get last error code
  • SNMP::getError — Get last error message
  • SNMP::getnext — Fetch an SNMP object which follows the given object id
  • SNMP::set — Set the value of an SNMP object
  • SNMP::setSecurity — Configures security-related SNMPv3 session parameters
  • SNMP::walk — Fetch SNMP object subtree


Close SNMP session

  • « SNMP
  • SNMP::__construct »
  • PHP Manual
  • SNMP
  • Close SNMP session

SNMP::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::close — Close SNMP session

Açıklama

public SNMP::close(): bool

Frees previously allocated SNMP session object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SNMP::close() example

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
# ...
# get, walk, etc goes here
# ...
$session->close();
?>

Ayrıca Bakınız

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent


Creates SNMP instance representing session to remote SNMP agent

  • « SNMP::close
  • SNMP::get »
  • PHP Manual
  • SNMP
  • Creates SNMP instance representing session to remote SNMP agent

SNMP::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::__construct — Creates SNMP instance representing session to remote SNMP agent

Açıklama

public SNMP::__construct(
int $version,
string $hostname,
string $community,
int $timeout = -1,
int $retries = -1
)

The function description goes here.

Bağımsız Değişkenler

version

SNMP protocol version:
SNMP::VERSION_1,
SNMP::VERSION_2C,
SNMP::VERSION_3.

hostname

The SNMP agent. hostname may be suffixed with optional SNMP agent port after colon. IPv6 addresses must be enclosed in square brackets if used with port. If FQDN is used for hostname it will be resolved by php-snmp library, not by Net-SNMP engine. Usage of IPv6 addresses when specifying FQDN may be forced by enclosing FQDN into square brackets. Here it is some examples:

IPv4 with default port | 127.0.0.1
IPv6 with default port | ::1 or [::1]
IPv4 with specific port | 127.0.0.1:1161
IPv6 with specific port | [::1]:1161
FQDN with default port | host.domain
FQDN with specific port | host.domain:1161
FQDN with default port, force usage of IPv6 address | [host.domain]
FQDN with specific port, force usage of IPv6 address | [host.domain]:1161

community

The purpuse of community is SNMP version specific:

SNMP::VERSION_1 | SNMP community
SNMP::VERSION_2C | SNMP community
SNMP::VERSION_3 | SNMPv3 securityName
timeout

The number of microseconds until the first timeout.

retries

The number of retries in case timeout occurs.

Hatalar/İstisnalar

SNMP::__construct() throws an exception when parameters count or types are wrong or unknown SNMP protocol version specified.

Örnekler

Örnek 1 Fetching sysLocation

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

STRING: Test server

Ayrıca Bakınız

  • SNMP::close() - Close SNMP session


Fetch an SNMP object

  • « SNMP::__construct
  • SNMP::getErrno »
  • PHP Manual
  • SNMP
  • Fetch an SNMP object

SNMP::get

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::get — Fetch an SNMP object

Açıklama

public SNMP::get(array|string $objectId, bool $preserveKeys = false): mixed

Fetch an SNMP object specified in objectId using GET query.

Bağımsız Değişkenler

If objectId is a string, then SNMP::get() will return SNMP object as string. If objectId is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

objectId

The SNMP object (OID) or objects

preserveKeys

When objectId is a array and preserveKeys set to true keys in results will be taken exactly as in objectId, otherwise SNMP::oid_output_format property is used to determinate the form of keys.

Dönen Değerler

Returns SNMP objects requested as string or array depending on objectId type or false on error.

Hatalar/İstisnalar

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Örnekler

Örnek 1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$sysdescr = $session->get("sysDescr.0");
echo "$sysdescr\n";
$sysdescr = $session->get(array("sysDescr.0"));
print_r($sysdescr);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

STRING: Test server
Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
)

Örnek 2 Multiple SNMP objects

$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->get(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysName.0] => STRING: myhost.nodomain
)

Ayrıca Bakınız

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


Get last error code

  • « SNMP::get
  • SNMP::getError »
  • PHP Manual
  • SNMP
  • Get last error code

SNMP::getErrno

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getErrno — Get last error code

Açıklama

public SNMP::getErrno(): int

Returns error code from last SNMP request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns one of SNMP error code values described in constants chapter.

Örnekler

Örnek 1 SNMP::getErrno() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getErrno() == SNMP::ERRNO_TIMEOUT);
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • SNMP::getError() - Get last error message


Get last error message

  • « SNMP::getErrno
  • SNMP::getnext »
  • PHP Manual
  • SNMP
  • Get last error message

SNMP::getError

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getError — Get last error message

Açıklama

public SNMP::getError(): string

Returns string with error from last SNMP request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

String describing error from last SNMP request.

Örnekler

Örnek 1 SNMP::getError() example

<?php
$session = new SNMP(SNMP::VERSION_2c, '127.0.0.1', 'boguscommunity');
var_dump(@$session->get('.1.3.6.1.2.1.1.1.0'));
var_dump($session->getError());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(26) "No response from 127.0.0.1"

Ayrıca Bakınız

  • SNMP::getErrno() - Get last error code


Fetch an SNMP object which follows the given object id

  • « SNMP::getError
  • SNMP::set »
  • PHP Manual
  • SNMP
  • Fetch an SNMP object which follows the given object id

SNMP::getnext

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::getnext — Fetch an SNMP object which follows the given object id

Açıklama

public SNMP::getnext(array|string $objectId): mixed

Fetch an SNMP object that follows specified objectId.

Bağımsız Değişkenler

If objectId is a string, then SNMP::getnext() will return SNMP object as string. If objectId is a array, all requested SNMP objects will be returned as associative array of the SNMP object ids and their values.

objectId

The SNMP object (OID) or objects

Dönen Değerler

Returns SNMP objects requested as string or array depending on objectId type or false on error.

Hatalar/İstisnalar

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Örnekler

Örnek 1 Single SNMP object

Single SNMP object may be requested in two ways: as string resulting string return value or as single-element array with associative array as output.

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$nsysdescr = $session->getnext("sysDescr.0");
echo "$nsysdescr\n";
$nsysdescr = $session->getnext(array("sysDescr.0"));
print_r($nsysdescr);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
)

Örnek 2 Miltiple SNMP objects

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$results = $session->getnext(array("sysDescr.0", "sysName.0"));
print_r($results);
$session->close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [SNMPv2-MIB::sysLocation.0] => STRING: Nowhere
)

Ayrıca Bakınız

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


Set the value of an SNMP object

  • « SNMP::getnext
  • SNMP::setSecurity »
  • PHP Manual
  • SNMP
  • Set the value of an SNMP object

SNMP::set

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::set — Set the value of an SNMP object

Açıklama

public SNMP::set(array|string $objectId, array|string $type, array|string $value): bool

Requests remote SNMP agent setting the value of one or more SNMP objects specified by the objectId.

Bağımsız Değişkenler

If objectId is string, both type and value must be string too. If objectId is array value must be equal-sized array containing corresponding values, type may be either string (it's value will be used for all objectId-value pairs) or equal-sized array with per-OID value. When any other parameters' combinations are used, a number of E_WARNING messages may be shown with detailed description.

objectId

The SNMP object id

When count of OIDs in object_id array is greater than max_oids object property set method will have to use multiple queries to perform requested value updates. In this case type and value checks are made per-chunk so second or subsequent requests may fail due to wrong type or value for OID requested. To mark this a warning is raised when count of OIDs in object_id array is greater than max_oids.

type

MIB her nesne kimliğini türünü tanımlar. Aşağıdaki listeden tek bir karakter olarak belirtilmelidir.

types
= Tür MIB'den alınır.
i | INTEGER
u | INTEGER
s | STRING
x | HEX STRING
d | DECIMAL STRING
n | NULLOBJ
o | OBJID
t | TIMETICKS
a | IPADDRESS
b | BITS

SNMP kütüphanesi derlenirken OPAQUE_SPECIAL_TYPES tanımlanmışsa aşağıdakiler de geçerlidir:

types
U | unsigned int64
I | signed int64
F | float
D | double

Most of these will use the obvious corresponding ASN.1 type. 's', 'x', 'd' and 'b' are all different ways of specifying an OCTET STRING value, and the 'u' unsigned type is also used for handling Gauge32 values.

If the MIB-Files are loaded by into the MIB Tree with "snmp_read_mib" or by specifying it in the libsnmp config, '=' may be used as the type parameter for all object ids as the type can then be automatically read from the MIB.

Note that there are two ways to set a variable of the type BITS like e.g. "SYNTAX BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5), https(6)}":

  • Using type "b" and a list of bit numbers. This method is not recommended since GET query for the same OID would return e.g. 0xF8.
  • Using type "x" and a hex number but without(!) the usual "0x" prefix.

See examples section for more details.

value

The new value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Örnekler

Örnek 1 Set single SNMP object id

<?php
$session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
$session->set('SNMPv2-MIB::sysContact.0', 's', "Nobody");
?>

Örnek 2 Set multiple values using single SNMP::set() call

<?php
$session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
$session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), array('s', 's'), array("Nobody", "Nowhere"));
// or
$session->set(array('SNMPv2-MIB::sysContact.0', 'SNMPv2-MIB::sysLocation.0'), 's', array("Nobody", "Nowhere"));
?>

Örnek 3 Using SNMP::set() for setting BITS SNMP object id

<?php
$session = new SNMP(SNMP::VERSION_2C, "127.0.0.1", "private");
$session->set('FOO-MIB::bar.42', 'b', '0 1 2 3 4');
// or
$session->set('FOO-MIB::bar.42', 'x', 'F0');
?>

Ayrıca Bakınız

  • SNMP::get() - Fetch an SNMP object


Configures security-related SNMPv3 session parameters

  • « SNMP::set
  • SNMP::walk »
  • PHP Manual
  • SNMP
  • Configures security-related SNMPv3 session parameters

SNMP::setSecurity

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::setSecurity — Configures security-related SNMPv3 session parameters

Açıklama

public SNMP::setSecurity(
string $securityLevel,
string $authProtocol = "",
string $authPassphrase = "",
string $privacyProtocol = "",
string $privacyPassphrase = "",
string $contextName = "",
string $contextEngineId = ""
): bool

setSecurity configures security-related session parameters used in SNMP protocol version 3

Bağımsız Değişkenler

securityLevel

the security level (noAuthNoPriv|authNoPriv|authPriv)

authProtocol

the authentication protocol (MD5 or SHA)

authPassphrase

the authentication pass phrase

privacyProtocol

the privacy protocol (DES or AES)

privacyPassphrase

the privacy pass phrase

contextName

the context name

contextEngineId

the context EngineID

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SNMP::setSecurity() example

<?php
$session = new SNMP(SNMP::VERSION_3, $hostname, $rwuser, $timeout, $retries);
$session->setSecurity('authPriv', 'MD5', $auth_pass, 'AES', $priv_pass, '', 'aeeeff');
?>

Ayrıca Bakınız

  • SNMP::__construct() - Creates SNMP instance representing session to remote SNMP agent


Fetch SNMP object subtree

  • « SNMP::setSecurity
  • SNMPException »
  • PHP Manual
  • SNMP
  • Fetch SNMP object subtree

SNMP::walk

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SNMP::walk — Fetch SNMP object subtree

Açıklama

public SNMP::walk(
array|string $objectId,
bool $suffixAsKey = false,
int $maxRepetitions = -1,
int $nonRepeaters = -1
): array|false

SNMP::walk() is used to read SNMP subtree rooted at specified objectId.

Bağımsız Değişkenler

objectId

Root of subtree to be fetched

suffixAsKey

By default full OID notation is used for keys in output array. If set to true subtree prefix will be removed from keys leaving only suffix of object_id.

nonRepeaters

This specifies the number of supplied variables that should not be iterated over. The default is to use this value from SNMP object.

maxRepetitions

This specifies the maximum number of iterations over the repeating variables. The default is to use this value from SNMP object.

Dönen Değerler

Returns an associative array of the SNMP object ids and their values on success or false on error. When a SNMP error occures SNMP::getErrno() and SNMP::getError() can be used for retrieving error number (specific to SNMP extension, see class constants) and error message respectively.

Hatalar/İstisnalar

This method do not throw any exceptions by default. To enable throwing an SNMPException exception when some of library errors occure user should set exceptions_enabled SNMP class parameter to corresponding value. See SNMP::$exceptions_enabled explanation for more details.

Örnekler

Örnek 1 SNMP::walk() example

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$fulltree = $session->walk(".");
print_r($fulltree);
$session->close();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [SNMPv2-MIB::sysDescr.0] => STRING: Test server
    [SNMPv2-MIB::sysObjectID.0] => OID: NET-SNMP-MIB::netSnmpAgentOIDs.8
    [DISMAN-EVENT-MIB::sysUpTimeInstance] => Timeticks: (1150681750) 133 days, 4:20:17.50
    [SNMPv2-MIB::sysContact.0] => STRING: Nobody
    [SNMPv2-MIB::sysName.0] => STRING: server.localdomain
    ...
)

Örnek 2 suffixAsKey example

suffixAsKey may be used when merging multiple SNMP subtrees into one. This example maps interface names to their type.

<?php
$session = new SNMP(SNMP::VERSION_1, "127.0.0.1", "public");
$session->valueretrieval = SNMP_VALUE_PLAIN;
$ifDescr = $session->walk(".1.3.6.1.2.1.2.2.1.2", TRUE);
$session->valueretrieval = SNMP_VALUE_LIBRARY;
$ifType = $session->walk(".1.3.6.1.2.1.2.2.1.3", TRUE);
print_r($ifDescr);
print_r($ifType);
$result = array();
foreach($ifDescr as $i => $n) {
$result[$n] = $ifType[$i];
}
print_r($result);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [1] => igb0
    [2] => igb1
    [3] => ipfw0
    [4] => lo0
    [5] => lagg0
)
Array
(
    [1] => INTEGER: ieee8023adLag(161)
    [2] => INTEGER: ieee8023adLag(161)
    [3] => INTEGER: ethernetCsmacd(6)
    [4] => INTEGER: softwareLoopback(24)
    [5] => INTEGER: ethernetCsmacd(6)
)
Array
(
    [igb0] => INTEGER: ieee8023adLag(161)
    [igb1] => INTEGER: ieee8023adLag(161)
    [ipfw0] => INTEGER: ethernetCsmacd(6)
    [lo0] => INTEGER: softwareLoopback(24)
    [lagg0] => INTEGER: ethernetCsmacd(6)
)

Ayrıca Bakınız

  • SNMP::getErrno() - Get last error code
  • SNMP::getError() - Get last error message


The SNMPException class

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

Represents an error raised by SNMP. You should not throw a SNMPException from your own code. See Exceptions for more information about Exceptions in PHP.

Sınıf Sözdizimi

class SNMPException extends RuntimeException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

code

SNMP library error code. Use Exception::getCode() to access it.


Soketler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Soket Hataları
  • Soket İşlevleri
    • socket_accept — Soket üzerinden bağlantı kabul eder
    • socket_addrinfo_bind — Create and bind to a socket from a given addrinfo
    • socket_addrinfo_connect — Create and connect to a socket from a given addrinfo
    • socket_addrinfo_explain — Get information about addrinfo
    • socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname
    • socket_atmark — Determines whether socket is at out-of-band mark
    • socket_bind — Soketi bir isimle ilişkilendirir
    • socket_clear_error — Soket üzerindeki hatayı veya son hata kodunu siler
    • socket_close — Socket nesnesini kapatır
    • socket_cmsg_space — Calculate message buffer size
    • socket_connect — Soket üzerinde bir bağlantıyı ilklendirir
    • socket_create_listen — Bağlantı kabul etmek için port üzerinde bir soket açar
    • socket_create_pair — Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar
    • socket_create — Bir soket oluşturur (iletişim için bir uç)
    • socket_export_stream — Export a socket into a stream that encapsulates a socket
    • socket_get_option — Soketle ilgili bir seçeneğin değerini döndürür
    • socket_getopt — Takma Adı: socket_get_option
    • socket_getpeername — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
    • socket_getsockname — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
    • socket_import_stream — Import a stream
    • socket_last_error — Soket üzerindeki son hatanın kodunu döndürür
    • socket_listen — Bir soketi bağlantı kabul etmek için dinler
    • socket_read — Bir soketten belli sayıda bayta kadar okuma yapar
    • socket_recv — Bağlı bir soketten veri alır
    • socket_recvfrom — Bağlantılı olsun olmasın bir soketten veri alır
    • socket_recvmsg — Read a message
    • socket_select — Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır
    • socket_send — Bağlı bir sokete veri gönderir
    • socket_sendmsg — Send a message
    • socket_sendto — Bağlı olsun olmasın bir sokete ileti gönderir
    • socket_set_block — Soketi engelleme kipine sokar
    • socket_set_nonblock — Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir
    • socket_set_option — Soketle ilgili seçenekleri belirler
    • socket_setopt — Takma Adı: socket_set_option
    • socket_shutdown — Bir soketi almaya, göndermeye veya her ikisine kapatır
    • socket_strerror — Bir soket hatasıyla ilgili açıklamayı döndürür
    • socket_write — Bir sokete yazar
    • socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure
    • socket_wsaprotocol_info_import — Imports a Socket from another Process
    • socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure
  • Socket — The Socket class
  • AddressInfo — The AddressInfo class


Giriş

Soket eklentisi, BSD soketlerine dayalı soket iletişim işlevlerine düşük seviyeli bir arayüz olarak gerçeklenmiştir. Eklenti bir soket istemcisi olarak davranabildiği gibi bir soket sunucusu olarak davranabilmektedir.

Daha temel istemci tarafı soket arayüzü için
stream_socket_client(),
stream_socket_server(),
fsockopen() ve
pfsockopen() işlevlerine bakınız.

Bu işlevleri kullanırken dikkat etmeniz gereken husus, işlev isimleri olarak C kütüphanesindeki eşdeğerlerinin isimleri kullanılmış olsa da bildirimleri aynı değildir. Çelişkiye düşmemek için işlevlerin açıklamalarını okumayı unutmayın.

Soket programlamaya yabancı olanlar Unix kılavuz sayfalarından ve C'deki soket programlama ile ilgili öğreticilerden büyük ölçüde yararlanabilirler. Çoğu, bir kaç değişiklikle PHP'deki soket programlamaya uyarlanabilir. » Unix Soketleri için SSS iyi bir başlangıç olabilir.


Kurulum

Soket işlevleri PHP'nin bir parçası olarak derleme sırasında configure betiğine --enable-sockets seçeneğini belirterek etkinleştirilebilir.


Özkaynak Türleri

PHP 8.0.0 öncesinde, soket özkaynaklarını
socket_accept(), socket_import_stream(),
socket_addrinfo_connect(),
socket_addrinfo_bind(),
socket_create_listen(), socket_wsaprotocol_info_import() ve
socket_create() işlevleri döndürürdü.

PHP 8.0.0 öncesinde, socket_addrinfo_lookup() AddressInfo özkaynaklarının bir dizisini döndürürdü.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

AF_UNIX (int)
AF_INET (int)
AF_INET6 (int)
Sadece IPv6 desteği ile derlendiği takdirde kullanılabilir.
SOCK_STREAM (int)
SOCK_DGRAM (int)
SOCK_RAW (int)
SOCK_SEQPACKET (int)
SOCK_RDM (int)
MSG_OOB (int)
MSG_WAITALL (int)
MSG_PEEK (int)
MSG_DONTROUTE (int)
MSG_EOR (int)
Windows platformlarında kullanılamaz.
MSG_EOF (int)
Windows platformlarında kullanılamaz.
MSG_ZEROCOPY (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_DEBUG (int)
SO_REUSEADDR (int)
SO_REUSEPORT (int)
Sadece SO_REUSEPORT soket seçeneğini destekleyen platformlarda kullanılabilir: Linux, macOS ve FreeBSD dahil, Windows hariç.
SO_KEEPALIVE (int)
SO_DONTROUTE (int)
SO_LINGER (int)
SO_BROADCAST (int)
SO_OOBINLINE (int)
SO_SNDBUF (int)
SO_RCVBUF (int)
SO_SNDLOWAT (int)
SO_RCVLOWAT (int)
SO_SNDTIMEO (int)
SO_RCVTIMEO (int)
SO_TYPE (int)
SO_ERROR (int)
SO_ZEROCOPY (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_NODELAY (int)
Nagle TCP algoritmasını iptal etmek içindir.
TCP_KEEPCNT (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_KEEPIDLE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_KEEPINTVL (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_KEEPALIVE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_NOTSENT_LOWAT (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_MARK (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
SO_USER_COOKIE (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
SO_RTABLE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_ACCEPTFILTER (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
SO_DONTTRUNC (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
SO_WANTMORE (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
SO_INCOMING_CPU (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_MEMINFO (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_BPF_EXTENSIONS (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SO_SETFIB (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SOL_FILTER (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
TCP_DEFER_ACCEPT (int)
PHP 8.1.0 ve sonrasında kullanılabilir.
TCP_CONGESTION (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SOL_SOCKET (int)
PHP_NORMAL_READ (int)
PHP_BINARY_READ (int)
SOL_TCP (int)
SOL_UDP (int)

Aşağıdaki sabitler Windows ve Unix benzeri platformlarda tanımlıdır. Her sabit sadece bu platformlarda eşdeğerleri mevcutsa tanımlanır.

SOCKET_EINTR (int)
Kesilen sistem çağrısı.
SOCKET_EBADF (int)
Hatalı dosya tanıtıcı.
SOCKET_EACCES (int)
İzin reddedildi.
SOCKET_EFAULT (int)
Bad address.
SOCKET_EINVAL (int)
Geçersiz bağımsız değişken.
SOCKET_EMFILE (int)
Çok fazla sayıda açık dosya.
SOCKET_ENAMETOOLONG (int)
Dosya ismi çok uzun.
SOCKET_ENOTEMPTY (int)
Dizin boş değil.
SOCKET_ELOOP (int)
Çok fazla sembolik bağ saptandı.
SOCKET_EWOULDBLOCK (int)
İşlem engellenebilir.
SOCKET_EREMOTE (int)
Nesne uzak.
SOCKET_EUSERS (int)
Çok sayıda kullanıcı.
SOCKET_ENOTSOCK (int)
Soket çalışması soket üzerinde değil.
SOCKET_EDESTADDRREQ (int)
Hedef adres gerekli.
SOCKET_EMSGSIZE (int)
İleti çok uzun.
SOCKET_EPROTOTYPE (int)
Soket için yanlış protokol türü.
SOCKET_EPROTONOSUPPORT (int)
Protokol desteklenmiyor.
SOCKET_ESOCKTNOSUPPORT (int)
Soket türü desteklenmiyor.
SOCKET_EOPNOTSUPP (int)
Aaktarım uç noktasında işlem desteklenmiyor.
SOCKET_EPFNOSUPPORT (int)
Protokol ailesi desteklenmiyor.
SOCKET_EAFNOSUPPORT (int)
Adres ailesi protokol tarafından desteklenmiyor.
SOCKET_EADDRNOTAVAIL (int)
İstenen adres atanamıyor.
SOCKET_ENETDOWN (int)
Ağ çöktü.
SOCKET_ENETUNREACH (int)
Ağa ulaşılamıyor.
SOCKET_ENETRESET (int)
Sıfırlama sebebiyle ağ bağlantıyı kesti.
SOCKET_ECONNABORTED (int)
Yazılım bağlantının kesilmesine sebep oldu.
SOCKET_ECONNRESET (int)
Bağlantı görevdeş tarafından sıfırlandı.
SOCKET_ENOBUFS (int)
Kullanılabilir tampon alanı yok.
SOCKET_EISCONN (int)
Aktarım uç noktası zaten bağlı.
SOCKET_ENOTCONN (int)
Aktarım uç noktası bağlı değil.
SOCKET_ESHUTDOWN (int)
Aktarım uç noktası kapandıktan sonra gönderim yapılamaz.
SOCKET_ETIMEDOUT (int)
Bağlantı zaman aşımına uğradı.
SOCKET_ECONNREFUSED (int)
Bağlantı reddedildi.
SOCKET_EHOSTDOWN (int)
Konak çöktü.
SOCKET_EHOSTUNREACH (int)
Konağa yol yok.
SOCKET_EALREADY (int)
Operation already in progress.
SOCKET_EINPROGRESS (int)
İşlem zaten devam ediyor.

Aşağıdaki sabitlr sadece Windows altında tanımlıdır.

SOCKET_ENOPROTOOPT (int)
SOCKET_EADDRINUSE (int)
SOCKET_ETOOMYREFS (int)
SOCKET_EPROCLIM (int)
SOCKET_EDUOT (int)
SOCKET_ESTALE (int)
SOCKET_EDISCON (int)
SOCKET_SYSNOTREADY (int)
SOCKET_VERNOTSUPPORTED (int)
SOCKET_NOTINITIALISED (int)
SOCKET_HOST_NOT_FOUND (int)
SOCKET_TRY_AGAIN (int)
SOCKET_NO_RECOVERY (int)
SOCKET_NO_DATA (int)
SOCKET_NO_ADDRESS (int)

Aaşğıdaki sabitler sadece UNIX benzeri sistemlerde tanımlıdır. Her sabit sadece eşdeğeri platformda varsa tanımlıdır.

SOCKET_EPERM (int)
İşleme izin verilmiyor.
SOCKET_ENOENT (int)
Böyle bir dosya veya dizin yok.
SOCKET_EIO (int)
G/Ç hatası.
SOCKET_ENXIO (int)
Böyle bir aygıt ya da adres yok.
SOCKET_E2BIG (int)
Bağımsız değişken listesi çok uzun.
SOCKET_EAGAIN (int)
Tekrar dene.
SOCKET_ENOMEM (int)
Bellek tükendi.
SOCKET_ENOTBLK (int)
Blok aygıtı gerekli.
SOCKET_EBUSY (int)
Aygıt veya özkaynak meşgul.
SOCKET_EEXIST (int)
Dosya var.
SOCKET_EXDEV (int)
Çapraz aygıt bağı.
SOCKET_ENODEV (int)
Böyle bir aygıt yok.
SOCKET_ENOTDIR (int)
Bir dizin değil.
SOCKET_EISDIR (int)
Bir dizin.
SOCKET_ENFILE (int)
Dosya tablosu taştı.
SOCKET_ENOTTY (int)
Daktilo değil.
SOCKET_ENOSPC (int)
Aygıtta boş yer yok.
SOCKET_ESPIPE (int)
Kuraldışı arama.
SOCKET_EROFS (int)
Salt-okunur dosya sistemi.
SOCKET_EMLINK (int)
Bağ sayısı çok fazla.
SOCKET_EPIPE (int)
Kırık boru.
SOCKET_ENOLCK (int)
Boş kayıt kilidi yok.
SOCKET_ENOSYS (int)
İşlev gerçeklenmedi.
SOCKET_ENOMSG (int)
İstenen türde ileti yok
SOCKET_EIDRM (int)
Tanıtıcı silindi.
SOCKET_ECHRNG (int)
Kanal numarası kapsam dışı.
SOCKET_EL2NSYNC (int)
2. seviye eşzamanlı değil.
SOCKET_EL3HLT (int)
3. seviye aniden durdu.
SOCKET_EL3RST (int)
3. seviye sıfırlandı.
SOCKET_ELNRNG (int)
Bağ numarası kapsam dışı.
SOCKET_EUNATCH (int)
Protokol sürücüsü bağlı değil.
SOCKET_ENOCSI (int)
CSI yapısı mevcut değil.
SOCKET_EL2HLT (int)
2. seviye aniden durdu.
SOCKET_EBADE (int)
Geçersiz takas.
SOCKET_EBADR (int)
Geçersiz istek tanımlayıcısı.
SOCKET_EXFULL (int)
Takas dolu.
SOCKET_ENOANO (int)
Anot yok.
SOCKET_EBADRQC (int)
Geçersiz istek kodu.
SOCKET_EBADSLT (int)
Geçersiz yuva.
SOCKET_ENOSTR (int)
Aygıt bir akım değil.
SOCKET_ENODATA (int)
İşe yarar veri yok.
SOCKET_ETIME (int)
Zamanlayıcının süresi doldu.
SOCKET_ENOSR (int)
Akım dışı özkaynaklar.
SOCKET_ENONET (int)
Makine ağa bağlı değil.
SOCKET_ENOLINK (int)
Bağlantı koptu.
SOCKET_EADV (int)
İlan hatası.
SOCKET_ESRMNT (int)
Srmount hatası.
SOCKET_ECOMM (int)
Gönderimde iletişim hatası.
SOCKET_EPROTO (int)
Protokol hatası.
SOCKET_EMULTIHOP (int)
Çok sayıda adrese atlama denendi.
SOCKET_EBADMSG (int)
Bir veri iletisi değil.
SOCKET_ENOTUNIQ (int)
İsim ağ üzerinde eşsiz değil.
SOCKET_EBADFD (int)
Dosya tanıtıcı kçtü durumda.
SOCKET_EREMCHG (int)
Uzak adres değişti.
SOCKET_ERESTART (int)
Kesilen sistem çağrısı yeniden başlatılmalı.
SOCKET_ESTRPIPE (int)
Akış borusu hatası.
SOCKET_EPROTOOPT (int)
Protokol kullanılamıyor.
SOCKET_ADDRINUSE (int)
Adres zaten kullanılıyor.
SOCKET_ETOOMANYREFS (int)
Çok fazla gönderim: eklenemiyor.
SOCKET_EISNAM (int)
Adlandırılmış bir tür dosyasıdır.
SOCKET_EREMOTEIO (int)
Uzak G/Ç hatası.
SOCKET_EDQUOT (int)
Kota aşıldı.
SOCKET_ENOMEDIUM (int)
Ortam yok.
SOCKET_EMEDIUMTYPE (int)
Yanlış ortam türü.
SCM_RIGHTS (int)
Başka bir süreçteki açık dosya tanıtıcı kümesi alındı veya gönderildi.
SCM_CREDENTIALS (int)
SCM_CREDS (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SCM_CREDS2 (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
LOCAL_CREDS (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
LOCAL_CREDS_PERSISTENT (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_OFF (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_PROTOCOL (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_PKTTYPE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_IFINDEX (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_NLATTR (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_NLATTR_NEST (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_MARK (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_QUEUE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_HATYPE (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_RXHASH (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_CPU (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_ALU_XOR_X (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_VLAN_TAG (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_VLAN_TAG_PRESENT (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_PAY_OFFSET (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_RANDOM (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_VLAN_TPID (int)
PHP 8.2.0 ve sonrasında kullanılabilir.
SKF_AD_MAX (int)
PHP 8.2.0 ve sonrasında kullanılabilir.


Örnekler

Örnek 1 - Soket örneği: Basit bir TCP/IP sunucu

Bu örnekte basit bir raporlama sunucusu gösterilmiştir. adres ve port değişkenleri ayarlarınıza uygun olarak değiştirilip işleme sokulur. Sunucuya şöyle bir komutla bağlanabilirsiniz: telnet 192.168.1.53 10000 (buradaki adres ve port ayarlarınıza göre belirlenir). Yazdığınız herşey sunucu tarafında çıktılanır ve tekrar size gösterilir, Çıkmak için 'quit' girilir.

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Betik sürekli bağlantı beklesin. */
set_time_limit(0);

/* Örtük çıktılama etkin olsun, böylece ne yaptğımızı görürüz. */
ob_implicit_flush();

$adres = '192.168.1.53';
$port = 10000;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() başarısız oldu: sebep: " .
socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $adres, $port) === false) {
echo "socket_bind() başarısız oldu: sebep: " .
socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
echo "socket_listen() başarısız oldu: sebep: " .
socket_strerror(socket_last_error($sock)) . "\n";
}

do {
if (($msgsock = socket_accept($sock)) === false) {
echo "socket_accept() başarısız oldu: sebep: " .
socket_strerror(socket_last_error($sock)) . "\n";
break;
}
/* Komutları gönder. */
$msg = "\nPHP Deneme Sunucusuna Hoş Geldiniz.\n" .
"Çıkmak için 'quit', sunucuyu kapatmak için " .
"'shutdown' yazıp enter tuşuna basınız.\n";
socket_write($msgsock, $msg, strlen($msg));

do {
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ)))
{
echo "socket_read() başarısız oldu: sebep: " .
socket_strerror(socket_last_error($msgsock)) . "\n";
break 2;
}
if (!$buf = trim($buf)) {
continue;
}
if ($buf == 'quit') {
break;
}
if ($buf == 'shutdown') {
socket_close($msgsock);
break 2;
}
$talkback = "Şunları yazdınız:'$buf'.\n";
socket_write($msgsock, $talkback, strlen($talkback));
echo "$buf\n";
} while (true);
socket_close($msgsock);
} while (true);

socket_close($sock);
?>

Örnek 2 - Soket örneği: Basit TCP/IP istemci

Örnekte tek atımlık basit bir HTTP istemcisi gösterilmiştir. Bir sayfaya bağlanır, bir HEAD isteği yapar, yanıtı gösterir ve çıkar.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP bağlantısı</h2>\n";

/* WWW hizmeti için port isteyelim. */
$service_port = getservbyname('www', 'tcp');

/* Hedef konağın IP adresini alalım. */
$adres = gethostbyname('www.example.com');

/* Bir TCP/IP soketi oluşturalım. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() başarısız oldu: sebep: " .
socket_strerror(socket_last_error()) . "\n";
} else {
echo "Tamam.\n";
}

echo "'$adres' adresine '$service_port' üzerinden bağlanmaya çalışılıyor...";
$result = socket_connect($socket, $adres, $service_port);
if ($result === false) {
echo "socket_connect() başarısız oldu.\nSebep: ($result) " .
socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "Tamam.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "HTTP HEAD isteği gönderiliyor...";
socket_write($socket, $in, strlen($in));
echo "Tamam.\n";

echo "Alınan yanıt:\n\n";
while ($out = socket_read($socket, 2048)) {
echo $out;
}

echo "Soket kapatılıyor...";
socket_close($socket);
echo "Tamam.\n\n";
?>


Soket Hataları

Soket eklentisi, güçlü BSD soketlerine faydalı bir arayüz olması için yazılmıştır. Dikkat edilirse bu işlevlerin hem Windows hem de Unix gerçeklenimlerinin gayet iyi çalışacağı görülür. Hemen tüm soket işlemleri olumsuz koşullarda başarısız olabilir, böyle bir durumda hatayı açıklayan bir E_WARNING iletisi çıktılanır. Bu bazan geliştiricinin isteği haricinde olur. Örneğin, bağlantı beklenmedik şekilde kesildiğinden socket_read() işlevi ister istemez bir E_WARNING iletisi çıktılar. Bu uyarıları @-işleci ile engellemek ve hata kodunu uygulama içinde socket_last_error() işleviyle yakalamak mümkündür. Böyle bir hata kodu ile ilgili hata iletisini socket_strerror() işleviyle alabilirsiniz. Daha ayrıntılı bilgi için bu işlevlerin açıklamalarına bakınız.

Bilginize:

Alınan hata iletilerinin dili geçerli yerele bağlı (LC_MESSAGES) olsa da soket eklentisi tarafından üretilen E_WARNING iletileri İngilizce'dir:

Warning - socket_bind() unable to bind address [98]: Adrese bağlanılamadı


Soket İşlevleri

İçindekiler

  • socket_accept — Soket üzerinden bağlantı kabul eder
  • socket_addrinfo_bind — Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect — Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain — Get information about addrinfo
  • socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname
  • socket_atmark — Determines whether socket is at out-of-band mark
  • socket_bind — Soketi bir isimle ilişkilendirir
  • socket_clear_error — Soket üzerindeki hatayı veya son hata kodunu siler
  • socket_close — Socket nesnesini kapatır
  • socket_cmsg_space — Calculate message buffer size
  • socket_connect — Soket üzerinde bir bağlantıyı ilklendirir
  • socket_create_listen — Bağlantı kabul etmek için port üzerinde bir soket açar
  • socket_create_pair — Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar
  • socket_create — Bir soket oluşturur (iletişim için bir uç)
  • socket_export_stream — Export a socket into a stream that encapsulates a socket
  • socket_get_option — Soketle ilgili bir seçeneğin değerini döndürür
  • socket_getopt — Takma Adı: socket_get_option
  • socket_getpeername — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
  • socket_getsockname — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
  • socket_import_stream — Import a stream
  • socket_last_error — Soket üzerindeki son hatanın kodunu döndürür
  • socket_listen — Bir soketi bağlantı kabul etmek için dinler
  • socket_read — Bir soketten belli sayıda bayta kadar okuma yapar
  • socket_recv — Bağlı bir soketten veri alır
  • socket_recvfrom — Bağlantılı olsun olmasın bir soketten veri alır
  • socket_recvmsg — Read a message
  • socket_select — Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır
  • socket_send — Bağlı bir sokete veri gönderir
  • socket_sendmsg — Send a message
  • socket_sendto — Bağlı olsun olmasın bir sokete ileti gönderir
  • socket_set_block — Soketi engelleme kipine sokar
  • socket_set_nonblock — Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir
  • socket_set_option — Soketle ilgili seçenekleri belirler
  • socket_setopt — Takma Adı: socket_set_option
  • socket_shutdown — Bir soketi almaya, göndermeye veya her ikisine kapatır
  • socket_strerror — Bir soket hatasıyla ilgili açıklamayı döndürür
  • socket_write — Bir sokete yazar
  • socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure
  • socket_wsaprotocol_info_import — Imports a Socket from another Process
  • socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure


Soket üzerinden bağlantı kabul eder

  • « Soket İşlevleri
  • socket_addrinfo_bind »
  • PHP Manual
  • Soket İşlevleri
  • Soket üzerinden bağlantı kabul eder

socket_accept

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_accept — Soket üzerinden bağlantı kabul eder

Açıklama

socket_accept(Socket $soket): Socket|false

soket soketi socket_create() ile oluşturulup, socket_bind() kullanarak bir isimle ilişkilendirildikten sonra socket_listen() ile gelen bağlantılar dinlenmeye başlanır. Bu işlev böyle bir soket üzerinden gelen bağlantıları kabul etmek için kullanılır. Başarılı bir bağlantı, iletişim için kullanılacak yeni bir Socket nesnesinin dönmesini sağlar. Soket kuyruğunda bekleyen çok sayıda bağlantı varsa socket_accept() bunlardan birinde veri hazır olana dek bekler. Soket socket_set_blocking() veya socket_set_nonblock() ile engellenmeyen kipe sokulmuşsa bu işlev false döndürür.

socket_accept() tarafından döndürülen Socket nesnesi yeni bağlantılar kabul etmek için kullanılamaz. Bununla birlikte, soket ile belirtilen dinleme soketi açık olarak kalır ve defalarca kullanılabilir.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

Dönen Değerler

Bir hata durumunda false yoksa yeni bir Socket nesnesi döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık bir Socket nesnesi dönüyor; evvelce resource türünde bir değer dönerdi.

Ayrıca Bakınız

  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Create and bind to a socket from a given addrinfo

  • « socket_accept
  • socket_addrinfo_connect »
  • PHP Manual
  • Soket İşlevleri
  • Create and bind to a socket from a given addrinfo

socket_addrinfo_bind

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_bind — Create and bind to a socket from a given addrinfo

Açıklama

socket_addrinfo_bind(AddressInfo $address): Socket|false

Create a Socket instance, and bind it to the provided AddressInfo. The return value of this function may be used with socket_listen().

Bağımsız Değişkenler

address

AddressInfo instance created from socket_addrinfo_lookup().

Dönen Değerler

Returns a Socket instance on success or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.
8.0.0 | adres artık bir AddressInfo örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler


Create and connect to a socket from a given addrinfo

  • « socket_addrinfo_bind
  • socket_addrinfo_explain »
  • PHP Manual
  • Soket İşlevleri
  • Create and connect to a socket from a given addrinfo

socket_addrinfo_connect

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_connect — Create and connect to a socket from a given addrinfo

Açıklama

socket_addrinfo_connect(AddressInfo $address): Socket|false

Create a Socket instance, and connect it to the provided AddressInfo instance. The return value of this function may be used with the rest of the socket functions.

Bağımsız Değişkenler

address

AddressInfo instance created from socket_addrinfo_lookup()

Dönen Değerler

Returns a Socket instance on success or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.
8.0.0 | adres artık bir AddressInfo örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname


Get information about addrinfo

  • « socket_addrinfo_connect
  • socket_addrinfo_lookup »
  • PHP Manual
  • Soket İşlevleri
  • Get information about addrinfo

socket_addrinfo_explain

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_explain — Get information about addrinfo

Açıklama

socket_addrinfo_explain(AddressInfo $address): array

socket_addrinfo_explain() exposed the underlying addrinfo structure.

Bağımsız Değişkenler

address

AddressInfo instance created from socket_addrinfo_lookup()

Dönen Değerler

Returns an array containing the fields in the addrinfo structure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | adres artık bir AddressInfo örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_lookup() - Get array with contents of getaddrinfo about the given hostname


Get array with contents of getaddrinfo about the given hostname

  • « socket_addrinfo_explain
  • socket_atmark »
  • PHP Manual
  • Soket İşlevleri
  • Get array with contents of getaddrinfo about the given hostname

socket_addrinfo_lookup

(PHP 7 >= 7.2.0, PHP 8)

socket_addrinfo_lookup — Get array with contents of getaddrinfo about the given hostname

Açıklama

socket_addrinfo_lookup(string $host, ?string $service = null, array $hints = []): array|false

Lookup different ways we can connect to host. The returned array contains a set of AddressInfo instances that we can bind to using socket_addrinfo_bind().

Bağımsız Değişkenler

host

Hostname to search.

service

The service to connect to. If service is a numeric string, it designates the port. Otherwise it designates a network service name, which is mapped to a port by the operating system.

hints

Hints provide criteria for selecting addresses returned. You may specify the hints as defined by getaddrinfo.

Dönen Değerler

Returns an array of AddressInfo instances that can be used with the other socket_addrinfo functions. On failure, false is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a array of AddressInfo instances now; previously, an array of resources was returned.
8.0.0 | service is nullable now.

Ayrıca Bakınız

  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo
  • socket_addrinfo_connect() - Create and connect to a socket from a given addrinfo
  • socket_addrinfo_explain() - Get information about addrinfo


Determines whether socket is at out-of-band mark

  • « socket_addrinfo_lookup
  • socket_bind »
  • PHP Manual
  • Soket İşlevleri
  • Determines whether socket is at out-of-band mark

socket_atmark

(PHP 8 >= 8.3.0, PHP 8)

socket_atmark — Determines whether socket is at out-of-band mark

Açıklama

socket_atmark(Socket $socket): bool

Determines whether socket is at out-of-band mark.

Bağımsız Değişkenler

socket

A Socket instance created with socket_create().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Using socket_atmark() to set the source address

<?php
// Create a new socket
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
var_dump(socket_atmark($sock));
// Close
socket_close($sock);
?>

Ayrıca Bakınız

  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)


Soketi bir isimle ilişkilendirir

  • « socket_atmark
  • socket_clear_error »
  • PHP Manual
  • Soket İşlevleri
  • Soketi bir isimle ilişkilendirir

socket_bind

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_bind — Soketi bir isimle ilişkilendirir

Açıklama

socket_bind(Socket $soket, string $adres, int $port = 0): bool

Belirtilen Socket nesnesini adres'teki bir isimle ilişkilendirir. Bu işlem, socket_connect() veya socket_listen() işlevlerini kullanarak bir bağlantı oluşturulmadan önce yapılmalıdır.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

adres

Soket, AF_INET türündeyse noktalı dördül gösterimle (127.0.0.1 gibi) geçerli bir IPv4 adresi, AF_INET6 türündeyse ve IPv6 desteği varsa geçerli bir IPv6 adresi (::1 gibi) olmalıdır.

Soket, AF_UNIX türündeyse Unix ailesinden bir soketin dosya yolu (/var/run/daemon.sock gibi) olmalıdır.

port (seçimlik)

Bu bağımsız değişken sadece ve zorunlu olarak bir AF_INET veya AF_INET6 soketle ilişkilendirme sırasında gerekir ve bağlantının yapılacağı uzak konak üzerinde dinlenen bir portu belirtir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - Kaynak adresini belirtmek için socket_bind() kullanımı

<?php
// Yeni bir soket oluştur
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// IP adreslerini makine sahibine göre tanımla
$sourceips['kevin'] = '127.0.0.1';
$sourceips['madcoder'] = '127.0.0.2';

// Soketi kaynak adresiyle ilişkilendir
socket_bind($sock, $sourceips['madcoder']);

// Hedef adrese bağlan
socket_connect($sock, '127.0.0.1', 80);

// Veriyi gönder
$request = 'GET / HTTP/1.1' . "\r\n" .
'Host: example.com' . "\r\n\r\n";
socket_write($sock, $request);

// Soketi kapat
socket_close($sock);

?>

Notlar

Bilginize:

Bu işlev socket_connect() işlevinden önce çağrılmalıdır.

Bilginize: Windows 9x/ME uyumluluk bilgisi:

Soketi makinenize ait olmayan bir adresle ilişkilendirmeye çalışırsanız socket_last_error() işlevi geçersiz bir hata kodu döndürebilir.

Ayrıca Bakınız

  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Soket üzerindeki hatayı veya son hata kodunu siler

  • « socket_bind
  • socket_close »
  • PHP Manual
  • Soket İşlevleri
  • Soket üzerindeki hatayı veya son hata kodunu siler

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

socket_clear_error — Soket üzerindeki hatayı veya son hata kodunu siler

Açıklama

socket_clear_error(?Socket $soket = null): void

Belirtildiği takdirde soket üzerindeki hata kodunu yoksa küresel son hata kodunu siler.

Bu işlevle doğrudan bir soket üzerindeki hata kodunu silebileceğiniz gibi eklentinin küresel son hata kodunu da silebilirsiniz. Bir uygulamanın belli bir bölümünde bir hata oluşup oluşmadığını saptamak için yararlıdır.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.
8.0.0 | soket artık null olabiliyor.

Ayrıca Bakınız

  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Socket nesnesini kapatır

  • « socket_clear_error
  • socket_cmsg_space »
  • PHP Manual
  • Soket İşlevleri
  • Socket nesnesini kapatır

socket_close

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_close — Socket nesnesini kapatır

Açıklama

socket_close(Socket $socket): void

Belirtilen Socket nesnesini kapatır.

Bağımsız Değişkenler

soket

socket_create()ile oluşturulmuş geçerli bir Socket nesnesi.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Calculate message buffer size

  • « socket_close
  • socket_connect »
  • PHP Manual
  • Soket İşlevleri
  • Calculate message buffer size

socket_cmsg_space

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_cmsg_space — Calculate message buffer size

Açıklama

socket_cmsg_space(int $level, int $type, int $num = 0): ?int

Calculates the size of the buffer that should be allocated for receiving the ancillary data.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

level

type

Dönen Değerler

Ayrıca Bakınız

  • socket_recvmsg() - Read a message
  • socket_sendmsg() - Send a message


Soket üzerinde bir bağlantıyı ilklendirir

  • « socket_cmsg_space
  • socket_create_listen »
  • PHP Manual
  • Soket İşlevleri
  • Soket üzerinde bir bağlantıyı ilklendirir

socket_connect

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_connect — Soket üzerinde bir bağlantıyı ilklendirir

Açıklama

socket_connect(Socket $soket, string $adres, int $port = 0): bool

soket ile belirtilen Socket nesnesini kullanarak adres'e bir bağlantı başlatır.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

adres

Soket, AF_INET türündeyse noktalı dördül gösterimle (127.0.0.1 gibi) geçerli bir IPv4 adresi, AF_INET6 türündeyse ve IPv6 desteği varsa geçerli bir IPv6 adresi (::1 gibi) ya da AF_UNIX türündeyse Unix ailesinden bir soketin dosya yolu (/var/run/daemon.sock gibi) olmalıdır.

port

Bu bağımsız değişken sadece ve zorunlu olarak bir AF_INET veya AF_INET6 soketle ilişkilendirme sırasında gerekir ve bağlantının yapılacağı uzak konak üzerinde dinlenen bir portu belirtir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Bilginize:

Soket engellenmeyen türde ise bu işlev işlemin sürdüğünü belirten bir hatayla hata kodunu güncelleyerek false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.
8.0.0 | soket artık null olabiliyor.

Ayrıca Bakınız

  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Bağlantı kabul etmek için port üzerinde bir soket açar

  • « socket_connect
  • socket_create_pair »
  • PHP Manual
  • Soket İşlevleri
  • Bağlantı kabul etmek için port üzerinde bir soket açar

socket_create_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create_listen — Bağlantı kabul etmek için port üzerinde bir soket açar

Açıklama

socket_create_listen(int $port, int $kuyruk = 128): Socket|false

socket_create_listen() işlevi, yeni bağlantıları beklemek için belirtilen port üzerindeki tüm arabilirimleri dinleyen AF_INET türünde yeni bir Socket örneği oluşturur.

Bu işlev yeni bağlantı kabul etmek için sadece dinleme yapacak yeni bir soket oluşturmayı kolaylaştırmak için tasarlanmıştır.

Bağımsız Değişkenler

port

Tüm arabirimlerde dinlenecek port.

backlog

İşlem için kuyruğa alınacak azami gelen bağlantı sayısı. Bu bağımsız değişkene SOMAXCONN atanabilir. Daha fazla bilgi için socket_listen() işlevine bakınız.

Dönen Değerler

Hata durumunda false, yoksa yeni bir Socket nesnesi döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık bir Socket nesnesi dönüyor; evvelce resource türünde bir değer dönerdi.

Notlar

Bilginize:

Sadece belli bir arabirimi dinleyecek bir soket oluşturmak isterseniz socket_create(), socket_bind() ve socket_listen() işlevlerini kullanın.

Ayrıca Bakınız

  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_create_pair() - Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar

  • « socket_create_listen
  • socket_create »
  • PHP Manual
  • Soket İşlevleri
  • Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar

socket_create_pair

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create_pair — Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar

Açıklama

socket_create_pair(
int $aile,
int $tür,
int $protokol,
array &$çift
): bool

socket_create_pair() iki tane bağlı ve ayrılması olanaksız soket oluşturur ve bunları çift dizisine yerleştirir. Bu işlev genellikle süreçler arası iletişim için kullanılır.

Bağımsız Değişkenler

aile

Soket tarafından kullanılacak protokol ailesi. Tam liste için socket_create() işlevine bakın.

tür

Soket tarafından kullanılacak iletişimin türü. Tam liste için socket_create() işlevine bakın.

protokol

Soketten dönen iletişimi kullanacak aileye özgü protokol. Bu değer protol ismi belirtilerek getprotobyname() ile alınabilir. İstenen protokol bir TCP veya UDP protokolü ise SOL_TCP veya SOL_UDP sabiti değer olarak kullanılabilir.

Desteklenen protokollerin listesi için socket_create() işlevine bakın.

çift

İki Socket örneğinin yerleştirileceği dizi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | çift dizisine artık Socket örnekleri yerleştiriliyor; evvelce dizi elemanları resource türünde olabiliyordu.

Örnekler

Örnek 1 - socket_create_pair() örneği

<?php
$sockets = array();

/* Windows'ta AF_INET kullanmak lazım */
$domain = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN' ? AF_INET : AF_UNIX);

/* Soket çiftini al */
if (socket_create_pair($domain, SOCK_STREAM, 0, $sockets) === false)
{
echo "socket_create_pair başarısız oldu. Sebep: ".
socket_strerror(socket_last_error());
}
/* Veri gönderip al */
if (socket_write($sockets[0], "ABCdnm123\n", strlen("ABCdnm123\n")) === false)
{
echo "socket_write() başarısız oldu. Sebep: ".
socket_strerror(socket_last_error($sockets[0]));
}
if (($data = socket_read($sockets[1], strlen("ABCdef123\n"),
PHP_BINARY_READ)) === false)
{
echo "socket_read() başarısız oldu. Sebep: ".
socket_strerror(socket_last_error($sockets[1]));
}
var_dump($data);

/* Soketleri kapat */
socket_close($sockets[0]);
socket_close($sockets[1]);
?>

Örnek 2 -socket_create_pair() IPC örneği

<?php
$ary = array();
$dizgebir = 'Ebeveynin iletisi.';
$dizgeiki = 'Çocuğun iletisi.';

if (socket_create_pair(AF_UNIX, SOCK_STREAM, 0, $ary) === false)
{
echo "socket_create_pair() başarısız oldu. Sebep: ".
socket_strerror(socket_last_error());
}
$pid = pcntl_fork();
if ($pid == -1)
{
echo 'Süreç çatallanamadı.';
}
elseif ($pid)
{
/* ebeveyn */
socket_close($ary[0]);
if (socket_write($ary[1], $dizgebir, strlen($dizgebir)) === false)
{
echo "socket_write() başarısız oldu. Sebep: ".
socket_strerror(socket_last_error($ary[1]));
}
if (socket_read($ary[1], strlen($dizgeiki), PHP_BINARY_READ) == $dizgeiki)
{
echo "$dizgeiki alındı\n";
}
socket_close($ary[1]);
}
else
{
/* çocuk */
socket_close($ary[1]);
if (socket_write($ary[0], $dizgeiki, strlen($dizgeiki)) === false)
{
echo "socket_write() başarısız oldu. Sebep: ".
socket_strerror(socket_last_error($ary[0]));
}
if (socket_read($ary[0], strlen($dizgebir), PHP_BINARY_READ) == $dizgebir)
{
echo "$dizgebir alındı\n";
}
socket_close($ary[0]);
}
?>

Ayrıca Bakınız

  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_create_listen() - Bağlantı kabul etmek için port üzerinde bir soket açar
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Bir soket oluşturur (iletişim için bir uç)

  • « socket_create_pair
  • socket_export_stream »
  • PHP Manual
  • Soket İşlevleri
  • Bir soket oluşturur (iletişim için bir uç)

socket_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_create — Bir soket oluşturur (iletişim için bir uç)

Açıklama

socket_create(int $aile, int $tür, int $protokol): Socket|false

Bir Socket örneği döndürmenin yanında iletişim için uçlardan birini belirler. Normal bir ağ bağlantısı iki soketle yapılır. Biri istemci olurken diğeri sunucu olur.

Bağımsız Değişkenler

aile

Soket tarafından kullanılacak protokol ailesi.

Olası adres/protokol aileleri
Aile | Açıklama
AF_INET | IPv4 protokolleri. TCP ve UDP bu ailenin en bilinen üyeleridir.
AF_INET6 | IPv6 protokolleri. TCP ve UDP bu ailenin en bilinen üyeleridir.
AF_UNIX | Yerel iletişim protokolleri ailesi. Süreçler arası iletişimde yüksek verimlilik ve düşük maliyet sağlar.
tür

Soket tarafından kullanılacak iletişim türü.

Olası soket türleri
Tür | Açıklama
SOCK_STREAM | Sıralı, güvenilir, iki yönlü bağlantıya dayalı bayt akımları. Band dışı veri aktarım mekanizması da desteklenebilir. TCP protokolü bu soket türüne dayanır.
SOCK_DGRAM | Veri katarlarını destekler (bağlantısız, güvensiz, sabit uzunlukta iletiler). UDP protokolü bu soket türüne dayanır.
SOCK_SEQPACKET | Sabit uzunluklu veri katarları için sıralı, güvenilir, iki yönlü bağlantıya dayanan veri aktarımı; her okuma çağrısında paketin tamamını okuyacak bir istemci gerekir.
SOCK_RAW | Ham ağ protokolü erişimi sağlar. Bu özel soket türü elle bir protokol oluşturmak için kullanılabilir. Bu soketin bilinen bir kullanım da ICMP istekleridir (ping gibi).
SOCK_RDM | Sıralama garantisi olmayan güvenilir verikatarı katmanı sağlar. Çoğunlukla işletim sistemleri tarafından gerçeklenmez.
protokol

Soketten dönen iletişimi kullanacak aileye özgü protokol. Bu değer protol ismi belirtilerek getprotobyname() ile alınabilir. İstenen protokol bir TCP veya UDP protokolü ise SOL_TCP veya SOL_UDP sabiti değer olarak kullanılabilir.

Bilinen protokoller
İsim | Açıklama
icmp | Genel Ağ Denetim İletisi Protokolü esas olarak konaklar ve ağ geçitleri tarafından hataları verikatarı iletişimi ile raporlamak için kullanılır. ICMP uygulamalarının başlıcalarından biri de "ping" komutudur (günümüz işletim sistemlerinin hemen hepsinde vardır).
udp | Kullanıcı Verikatarı Protokolü bir bağlantısız, güvenilmez sabit uzuluklu kayıtların iletişiminde kullanılan bir protokoldür. Bu özelliklerinden dolayı UDP çok düşük bir protokol maliyetine sahiptir.
tcp | Aktarım Denetim Protokolü, güvenilir, bağlantılı, akım yönelimli, çift yönlü bir protokoldür. TCP tüm veri paketlerinin gönderildikleri sıra ile alınacağını garanti eder. Eğer yolda herhangi bir paket kaybolursa TCP, hedef tarafından alınıncaya kadar bu paketi tekrar tekrar yollar. Güvenilirlik ve başarım için TCP gerçeklenimi, ilgili verikatarı iletişim katmanının kaç sekizlikten oluşacağına kendi karar verir. Bu bakımdan, TCP uygulamaları kısmi kayıt aktarımı olasılığını dikkate almalıdır.

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde bir Socket örneği döndürür. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Hatalar/İstisnalar

Geçersiz bir aile veya tür belirtilmişse, socket_create() bunlar için öntanımlı olarak AF_INET ve SOCK_STREAM değerleri belirtildiğini varsayar ve bu durumu bir E_WARNING iletisiyle bildirir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarı durumunda artık bir Socket nesnesi dönüyor; evvelce resource türünde bir değer dönerdi.

Ayrıca Bakınız

  • socket_accept() - Soket üzerinden bağlantı kabul eder
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Export a socket into a stream that encapsulates a socket

  • « socket_create
  • socket_get_option »
  • PHP Manual
  • Soket İşlevleri
  • Export a socket into a stream that encapsulates a socket

socket_export_stream

(PHP 7 >= 7.0.7, PHP 8)

socket_export_stream — Export a socket into a stream that encapsulates a socket

Açıklama

socket_export_stream(Socket $socket): resource|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

socket

Dönen Değerler

Return resource başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.


Soketle ilgili bir seçeneğin değerini döndürür

  • « socket_export_stream
  • socket_getopt »
  • PHP Manual
  • Soket İşlevleri
  • Soketle ilgili bir seçeneğin değerini döndürür

socket_get_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_get_option — Soketle ilgili bir seçeneğin değerini döndürür

Açıklama

socket_get_option(Socket $soket, int $seviye, int $seçenek): array|int|false

Belirtilen soket için ismi seçenek ile belirtilen seçeneğin değerini döndürür.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

seviye

Seçeneğin geçerli olacağı protokol seviyesi. Örneğin soket seviyesindeki seçenekleri almak için bu bağımsız değişkende SOL_SOCKET kullanılabilirdi. TCP gibi diğer seviyeler, seviyenin protokol numarası belirtilerek kullanılabilir. Protokol numaralarını getprotobyname() işleviyle alabilirsiniz.

seçenek
Olası soket seçenekleri
Seçenek | Açıklama | Türü
SO_DEBUG | Hata ayıklama bilgilerinin kaydelip kaydedilmeyeceğini belirtir. | int
SO_BROADCAST | Yayın iletilerinin aktarılılp aktarılmayacağını belirtir. | int
SO_REUSEADDR | Yerel adresin yeniden kullanılabilir olup olmadığını belirtir. | int
SO_REUSEPORT | Yerel portların yeniden kullanılabilir olduğunu belirtir. | int
SO_KEEPALIVE | Belirli aralıklarla ileti aktarımlarında bağlantının kalıcı olup olmayacağını belirtir. Eğer bağlı soket bu iletileri yanıtlamakta başarısız olursa bağlantı kopar ve sokete yazan sürece bir SIGPIPE sinyali gönderilir. | int
SO_LINGER

Veri mevcut olduğunda socket_close() işlevinin bekletilip bekletilmeyeceğini belirtir. Öntanımlı olarak soket kapatılacağı zaman gönderilmemiş tüm veri gönderilmeye çalışılır. Soketin bağlantı yönelimli olduğu durumda socket_close() karşı ucun alındısını bekler.

Eğer l_onoff sıfırdan farklı ve l_linger sıfırsa gönderilmemiş tüm veri iptal edilir ve soketin bağlantı yönelimli olması durumunda karşı uca bir RST (sıfırla) gönderilir.

Diğer taraftan, l_onoff ve l_linger'in ikisi de sıfırdan farklıysa tüm veri gönderilinceye veya l_linger ile belirtilen süre dolana kadar socket_close() bekletilir. Soket engellenmeyen kipte ise socket_close() başarısız olup bir hata döndürür.

array. Dizi iki anahtar içerir: l_onoff ve l_linger.
SO_OOBINLINE | Soketin band dışı veriyi hatta bırakıp bırakmayacağını belirtir. | int
SO_SNDBUF | Gönderim tamponunun boyunu belirtir. | int
SO_RCVBUF | Alım tamponunun boyunu belirtir. | int
SO_ERROR | Hata durumu hakkında bilgi verip hata kodunu siler. | int (socket_set_option() ile atanamayabilir.)
SO_TYPE | Soketin türünü belirtir (SOCK_STREAM gibi). | int (socket_set_option() ile atanamayabilir.)
SO_DONTROUTE | Giden iletilerin standart yönlendirme oluşumlarını es geçip geçmeyeceğini belirtir. | int
SO_RCVLOWAT | Soket girdi işlemlerinde işlenecek en küçük bayt sayısını belirtir. | int
SO_RCVTIMEO | Soket girdi işlemleri için zaman aşımı değerini belirtir. | array. Dizi iki anahtar içerir: Zaman aşımının saniye parçası sec, mikrosaniye parçası usec anahtarına konur.
SO_SNDTIMEO | Akış denetiminin veri gönderimini engellemesi nedeniyle bir çıktı işlevinin bekletileceği azami süreyi belirtir. | array. Dizi iki anahtar içerir: Zaman aşımının saniye parçası sec, mikrosaniye parçası usec anahtarına konur.
SO_SNDLOWAT | Soket çıktı işlemlerinde işlenecek en küçük bayt sayısını belirtir. | int
TCP_NODELAY | Nagle TCP algoritmasının iptal edilmiş olup olmadığını belirtir. | int
MCAST_JOIN_GROUP | Çok noktaya yayın grubuna katılır. | array. IPv4 veya IPv6 çok noktaya yayın adresi içeren "group" anahtarlı ve "eth0" gibi arabirim adını veya int türünde bir arabirim numarası (arabirimin yönlendirme kuralları kullanılarak seçilmesi gerektiğini belirtmek için 0 belirtilebilir) içeren "interface" anahtarlı bir dizi Sadece socket_set_option() işlevinde kullanılabilir.
MCAST_LEAVE_GROUP | Çok noktaya yayın grubunu terkeder. | array. Daha fazla bilgi için bkz: MCAST_JOIN_GROUP Sadece socket_set_option() işlevinde kullanılabilir.
MCAST_BLOCK_SOURCE | Evvelce bağlanılmış olması gereken belli bir çok noktaya yayın grubuna belli bir kaynaktan gelen paketleri engeller. | array. MCAST_JOIN_GROUP seçeneğindeki anahtarlara ek olarak source anahtarına da sahip bir dizi. source anahtarı, engellenen IPv4 veya IPv6 kaynak adresini belirten bir dizge içerir. Sadece socket_set_option() işlevinde kullanılabilir.
MCAST_UNBLOCK_SOURCE | Evvelce bağlanılmış olması gereken belli bir çok noktaya yayın grubuna belli bir kaynaktan gelen paketlerin engellemesini kaldırır (yeniden almaya başlar). | array. MCAST_BLOCK_SOURCE ile aynı biçemde bir dizi. Sadece socket_set_option() işlevinde kullanılabilir.
MCAST_JOIN_SOURCE_GROUP | Kaynak adresi belli bir değerle eşleşen belli bir çok noktaya yayın grubunu hedefleyen paketleri alır. | array. MCAST_BLOCK_SOURCE ile aynı biçemde bir dizi. Sadece socket_set_option() işlevinde kullanılabilir.
MCAST_LEAVE_SOURCE_GROUP | Kaynak adresi belli bir değerle eşleşen belli bir çok noktaya yayın grubunu hedefleyen paketlerin alımını durdurur. | array. MCAST_BLOCK_SOURCE ile aynı biçemde bir dizi. Sadece socket_set_option() işlevinde kullanılabilir.
IP_MULTICAST_IF | IPv4 çok noktaya yayın giden paketleri için arabirim. | int veya string. Arabirim numarasını içeren int türünde bir değer veya eth0 gibi arabirim adını içeren string türünde bir değer. Arabirim seçiminde yönlendirme tablosunun kullanılacağını ifade etmek için 0 değeri belirtilebilir. socket_get_option() işlevi bir arabirim indisi döndürür. C API'sinin tersine bu seçenek bir IP adresi almaz. Bu, IP_MULTICAST_IF ile IPV6_MULTICAST_IF arasındaki farkın yoksayılmasını sağlar.
IPV6_MULTICAST_IF | IPv6 çok noktaya yayın giden paketleri için arabirim. | int veya string. IP_MULTICAST_IF ile aynı.
IP_MULTICAST_LOOP | IPv4 paketleri için çok noktaya yayın geridönüş ilkesi, daha önce katılmış olması gereken giden çok noktaya yayınların geridönüşünü etkinleştirir veya devre dışı bırakır. Bununla birlikte, etki, unix'lerde ve Windows'ta uygulamada farklılık gösterir; farklılık unix'lerde alma yolunda, Windows'ta ise gönderme yolundadır. | int. (0 ya da 1). socket_set_option() işlevi için kabul edilebilir veya uygun PHP kurallarıyla mantıksal bir değere dönüştürülebilir herhangi bir değer.
IPV6_MULTICAST_LOOP | IPv6 için olması dışında IP_MULTICAST_LOOP ile benzer. | int. Bkz: IP_MULTICAST_LOOP.
IP_MULTICAST_TTL | Giden IPv4 çok noktaya yayın paketleri için yaşam süresi. 0 (arabirimi bırakma) ile 255 arasında bir değer. Öntanımlı değer 1'dir (sadece yerel ağa ulaşılır). | int. 0 ile 255 arası bir tamsayı.
IPV6_MULTICAST_HOPS | IPv6 için olması dışında IP_MULTICAST_TTL ile benzer. Ayrıca, öntanımlı yol kullanılacak anlamında -1 de kabul edilir. | int. -1 ile 255 arası bir tamsayı.
SO_MARK | Linux'ta' paketleri süzme amacıyla soket üzerinde bir tanıtıcı tanımlar. | int
SO_ACCEPTFILTER | FreeBSD/NetBSD'de dinlenen sokete kabul süzgeci ekler. FreeBSD'de kabul süzgecinin çekirdek modülü önceden yüklenmelidir (örn, accf_http). | string name of the filter (length 15 max).
SO_USER_COOKIE | FreeBSD'de paketleri süzmek amacıyla soket üzerinde bir tanıtıcı tanımlar. | int
SO_RTABLE | OpenBSD'de paketleri süzmek amacıyla soket üzerinde bir tanıtıcı tanımlar. | int
SO_DONTTRUNC | Okunmamış veriler korunur. | int
SO_WANTMORE | Daha fazla veri hazır olduğunda bir ipucu verilir. | int
TCP_DEFER_ACCEPT | Veri hazır olana kadar dinleme soketi uyarılmaz. | int
SO_INCOMING_CPU | Soketin CPU benzerliğini tanımlar. | int
SO_MEMINFO | Soketin tüm meminfo'ları. | int
SO_BPF_EXTENSIONS | Sokete eklenecek çekirdek tarafından desteklenen BPF uzantıları. | int
SO_SETFIB | Soketin route tablosunu (FIB) tanımlar. (Yalnızca FreeBSD) | int
SOL_FILTER | Bir sokete atfedilen süzgeçler. (Yalnızca Solaris/Illumos) | int
TCP_KEEPCNT | TCP'nin bağlantıyı kesmeden önce göndermesi gereken azami canlı tutma sondalarının sayısını tanımlar. | int
TCP_KEEPIDLE | Bağlantının boşta kalması için gereken süreyi ayarlar. | int
TCP_KEEPINTVL | Bağımsız canlı tutma sondaları arasındaki süreyi tanımlar. | int
TCP_KEEPALIVE | Bağlantının boşta kalması için gereken süreyi ayarlar (Yalnızca macOS). | int
TCP_NOTSENT_LOWAT | Soket akımı tarafından yazma kuyruğundaki gönderilmemiş veri sayısının sınırını tanımlar (Yalnızca Linux) | int

Dönen Değerler

Hata durumunda false yoksa belirtilen seçeneğin değerini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_get_option() örneği

<?php
$socket = socket_create_listen(1223);

$linger = array('l_linger' => 1, 'l_onoff' => 1);
socket_set_option($socket, SOL_SOCKET, SO_LINGER, $linger);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));
?>

Ayrıca Bakınız

  • socket_create_listen() - Bağlantı kabul etmek için port üzerinde bir soket açar
  • socket_set_option() - Soketle ilgili seçenekleri belirler


Takma Adı: socket_get_option

  • « socket_get_option
  • socket_getpeername »
  • PHP Manual
  • Soket İşlevleri
  • Takma Adı: socket_get_option

socket_getopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getopt — Takma Adı: socket_get_option()

Açıklama

Bu işlev şu işlevin takma adıdır: socket_get_option().


Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

  • « socket_getopt
  • socket_getsockname »
  • PHP Manual
  • Soket İşlevleri
  • Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

socket_getpeername

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getpeername — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

Açıklama

socket_getpeername(Socket $soket, string &$adres, int &$port = null): bool

Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

adres

Belirtilen soket AF_INET veya AF_INET6 türündeyse socket_getsockname() işlevi, bu bağımsız değişkende bir IP adresi (127.0.0.1 veya fe80::1 gibi) ve port bağımsız değişkeninde de belirtilmişse ilgili port numarasını döndürür.

Belirtilen soket AF_UNIX türündeyse bu bağımsız değişkende (/var/run/daemon.sock gibi) bir Unix dosya yolu döner.

port

Belirtilmişse ilgili port değeri bu bağımsız değişkene konur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Soket AF_INET, AF_INET6 veya AF_UNIX türünde değilse işlev false döndürebilir, ancak böyle bir durumda son soket hata kodu güncellenmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Notlar

Bilginize:

socket_getpeername() işlevi socket_connect() ile oluşturulan AF_UNIX soketlerle kullanılmamalıdır. Sadece socket_accept() ile oluşturulan soketler ve socket_bind() çağrısından sonra bir birincil sunucu soketi için anlamlı bir değer döner.

Bilginize:

socket_getpeername() işlevinin anlamlı bir değer döndürmesi için, uygulandığı soket, "çift" kavramının anlamına uygun bir soket olmalıdır.

Ayrıca Bakınız

  • socket_getsockname() - Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

  • « socket_getpeername
  • socket_import_stream »
  • PHP Manual
  • Soket İşlevleri
  • Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

socket_getsockname

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_getsockname — Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür

Açıklama

socket_getsockname(Socket $soket, string &$adres, int &$port = null): bool

Bilginize: socket_getsockname() işlevi socket_connect() ile oluşturulan AF_UNIX soketlerle kullanılmamalıdır. Sadece socket_accept() ile oluşturulan soketler ve socket_bind() çağrısından sonra bir birincil sunucu soketi için anlamlı bir değer döner.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket örneği.

adres

Belirtilen soket AF_INET veya AF_INET6 türündeyse socket_getsockname() işlevi, bu bağımsız değişkende bir IP adresi (127.0.0.1 veya fe80::1 gibi) ve port bağımsız değişkeninde de belirtilmişse ilgili port numarasını döndürür.

Belirtilen soket AF_UNIX türündeyse bu bağımsız değişkende (/var/run/daemon.sock gibi) bir Unix dosya yolu döner.

port

Belirtilmişse ilgili port değeri bu bağımsız değişkene konur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Soket AF_INET, AF_INET6 veya AF_UNIX türünde değilse işlev false döndürebilir, ancak böyle bir durumda son soket hata kodu güncellenmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_getpeername() - Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Import a stream

  • « socket_getsockname
  • socket_last_error »
  • PHP Manual
  • Soket İşlevleri
  • Import a stream

socket_import_stream

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

socket_import_stream — Import a stream

Açıklama

socket_import_stream(resource $stream): Socket|false

Imports a stream that encapsulates a socket into a socket extension resource.

Bağımsız Değişkenler

stream

The stream resource to import.

Dönen Değerler

Returns false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.

Örnekler

Örnek 1 socket_import_stream() example

<?php
$stream = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock = socket_import_stream($stream);
?>

Ayrıca Bakınız

  • stream_socket_server() - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur


Soket üzerindeki son hatanın kodunu döndürür

  • « socket_import_stream
  • socket_listen »
  • PHP Manual
  • Soket İşlevleri
  • Soket üzerindeki son hatanın kodunu döndürür

socket_last_error

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_last_error — Soket üzerindeki son hatanın kodunu döndürür

Açıklama

socket_last_error(?Socket $soket = null): int

İşlev soket bağımsız değişkeni belirtilerek kullanılırsa belirtilen soket üzerinde son oluşan hatanın kodu döndürülür. Bir Socket nesnesi belirtilmezse başarısız olan son işlemle ilgili hata numarası döner. İşlev, bir hata durumunda bir Socket nesnesi döndürmeyen socket_create() ve belli bir soketle doğrudan ilişkili olmayan bir sebeple başarısız olabilen socket_select() gibi işlevler için de yararlıdır. Elde edilen hata kodunu socket_strerror() işlevinde kullanarak hatanın açıklamasına içeren bir dizge almak mümkündür.

Hiç hata oluşmamışsa veya hata socket_clear_error() ile temizlenmişse, işlev 0 döndürür.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi .

Dönen Değerler

Bir soket hata kodu döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.
8.0.0 | soket artık null olabiliyor.

Örnekler

Örnek 1 - socket_last_error() örneği

<?php
$socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if ($socket === false) {
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);

die("Soket oluşturulamadı: [$errorcode] $errormsg");
}
?>

Notlar

Bilginize:

socket_last_error() hata kodunu temizlemez, bunun için socket_clear_error() işlevini kullanın.


Bir soketi bağlantı kabul etmek için dinler

  • « socket_last_error
  • socket_read »
  • PHP Manual
  • Soket İşlevleri
  • Bir soketi bağlantı kabul etmek için dinler

socket_listen

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_listen — Bir soketi bağlantı kabul etmek için dinler

Açıklama

socket_listen(Socket $soket, int $kuyruk = 0): bool

socket_create() ile bir soket oluşturulup socket_bind() işlevini kullanarak bir isimle ilişkilendirilince soket bir dinlenen soket haline gelir.

socket_listen() sadece SOCK_STREAM ve SOCK_SEQPACKET türündeki soketlere uygulanabilir.

Bağımsız Değişkenler

soket

socket_create() veya socket_addrinfo_bind() ile oluşturulmuş geçerli bir Socket nesnesi.

kuyruk

İşlem için kuyruğa alınacak azami gelen bağlantı sayısı. Dolmuş bir kuyruğa gelen bir bağlantı ya ECONNREFUSED belirten bir hata alır ya da ilgili protokol yeniden bağlanmayı destekliyorsa yineleme başarılı olacağından istek yok sayılır.

Bilginize:

kuyruk bağımsız değişkenine atanacak değer çalışılan platforma büyük oranda bağımlıdır. Linux üzerinde kendiliğinden SOMAXCONN'a düşürülür. Win32 üzerinde SOMAXCONN atanırsa makul bir azami değer kullanımından ilgili hizmet sağlayıcı sorumludur. Windows üzerinde bu değer için standart bir yaklaşım yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_accept() - Soket üzerinden bağlantı kabul eder
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür
  • socket_addrinfo_bind() - Create and bind to a socket from a given addrinfo


Bir soketten belli sayıda bayta kadar okuma yapar

  • « socket_listen
  • socket_recv »
  • PHP Manual
  • Soket İşlevleri
  • Bir soketten belli sayıda bayta kadar okuma yapar

socket_read

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_read — Bir soketten belli sayıda bayta kadar okuma yapar

Açıklama

socket_read(Socket $soket, int $uzunluk, int $kip = PHP_BINARY_READ): string|false

socket_create() veya socket_accept() işleviyle oluşturulmuş soket nesnesinden veri okur.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket nesnesi.

uzunluk

Okunacak azami bayt sayısını belirler. Belirtilmediği takdirde, okumayı bitirmek için kip bağımsız değişkenine bağlı olarak \r, \n veya \0 kullanabilirsiniz (aşağıya bakınız).

kip

Belirtilmesi isteğe bağlı olup şu sabitlerden biri olabilir:

  • PHP_BINARY_READ (Öntanımlı) - Sistemin recv() işlevi kullanılır. İkil veri okumak için güvenlidir.
  • PHP_NORMAL_READ - Okuma \n veya \r karakterinde durur.

Dönen Değerler

Başarı durumunda veriyi bir dizge olarak döndürür, aksi takdirde false ile döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Bilginize:

socket_read() okunacak veri yoksa sıfır uzunlukta bir dizge ("") döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_accept() - Soket üzerinden bağlantı kabul eder
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür
  • socket_write() - Bir sokete yazar


Bağlı bir soketten veri alır

  • « socket_read
  • socket_recvfrom »
  • PHP Manual
  • Soket İşlevleri
  • Bağlı bir soketten veri alır

socket_recv

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_recv — Bağlı bir soketten veri alır

Açıklama

socket_recv(
Socket $soket,
?string &$tampon,
int $uzunluk,
int $seçenekler
): int|false

socket_recv() işlevi soket ile belirtilen soketten tampon içindeki uzunluk baytı okur. socket_recv() ayrıca, bağlantılı soketlerden veri toplama için de kullanılır. Buna ek olarak işlevin davranışlarında değişiklik yapmak için bir veya daha fazla sayıda seçenek belirtilebilir.

tampon gönderimli aktarılır, dolayısıyla işlevin bağımsız değişkenleri arasında bir değişken olarak yer almalıdır. socket_recv() tarafından socket soketinden okunan veri tampon'a konarak döndürülür.

Bağımsız Değişkenler

soket

socket_create() ile önceden oluşturulmuş geçerli bir Socket örneği.

tampon

Verinin alınacağı değişken burada belirtilir. Bir hata oluşursa, bağlantı kesilirse veya alınacak bir veri yoksa tampon'dan null döner.

uzunluk

Okunacak azami bayt sayısını belirler.

seçenekler

Aşağıdaki seçeneklerin bitsel VEYAlanmış bir birleşimi.

Olası seçenekler
MSG_OOB | Band dışı veri gönderilir.
MSG_EOR | Bir kayıt imi belirtir. Gönderilen veri kaydın tamamlanmasını sağlar.
MSG_EOF | Soketin gönderici tarafı kapatılır ve gönderilen verinin sonuna bununla ilgili bir bildirim yerleştirilir. Gönderilen veri aktarımın tamamlanmasını sağlar.
MSG_DONTROUTE | Yönlendirme es geçilip doğrudan arabirim kullanılır.

Dönen Değerler

Bir hata oluşmuşsa false yoksa alınan bayt sayısını döndürür. Oluşan hatanın kodu socket_last_error() ile açıklaması ise, elde edilen hata kodu socket_strerror() işlevine aktarılarak alınabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_recv() örneği

Bu örnek, Örnekler arasında socket_recv() kullanan ilk örneğin yeniden yazılmışıdır.

<?php
error_reporting(E_ALL);

echo "<h2>TCP/IP Bağlantısı</h2>\n";

/* HTTP hizmeti için portu öğrenelim. */
$service_port = getservbyname('www', 'tcp');

/* Hedef konağın IP adresini alalım. */
$address = gethostbyname('www.example.com');

/* Bir TCP/IP soketi oluşturalım. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() başısız oldu: sebep: " .
socket_strerror(socket_last_error()) . "\n";
} else {
echo "OK.\n";
}

echo "'$service_port' portundun '$address' adresine bağlanmaya çalışılıyor...";
$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
echo "socket_connect() başısız oldu:\nSebep: ($result) " .
socket_strerror(socket_last_error($socket)) . "\n";
} else {
echo "OK.\n";
}

$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';

echo "HTTP HEAD isteğini gönderelim...";
socket_write($socket, $in, strlen($in));
echo "OK.\n";

echo "Yanıtı okuyalım:\n\n";
$buf = 'Bu bir veri tamponu verisidir.';
if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {
echo "Read $bytes bytes from socket_recv(). Closing socket...";
} else {
echo "socket_recv() failed; reason: " .
socket_strerror(socket_last_error($socket)) . "\n";
}
socket_close($socket);

echo $buf . "\n";
echo "OK.\n\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<h2>TCP/IP Bağlantısı</h2>
OK.
'80' portundan '208.77.188.166' adresine bağlanmaya çalışılıyor...OK.
HTTP HEAD isteği gönderiliyor...OK.
Okunan yanıt:

Read 123 bytes from socket_recv(). Closing socket...HTTP/1.1 200 OK
Date: Mon, 14 Sep 2009 08:56:36 GMT
Server: Apache/2.2.3 (Red Hat)
Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
ETag: "b80f4-1b6-80bfd280"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; CHARSET=Windows-1254

OK.


Bağlantılı olsun olmasın bir soketten veri alır

  • « socket_recv
  • socket_recvmsg »
  • PHP Manual
  • Soket İşlevleri
  • Bağlantılı olsun olmasın bir soketten veri alır

socket_recvfrom

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_recvfrom — Bağlantılı olsun olmasın bir soketten veri alır

Açıklama

socket_recvfrom(
Socket $soket,
string &$tmmpon,
int $uzunluk,
int $seçenekler,
string &$adres,
int &$port = null
): int|false

socket_recvfrom() işlevi belirtilen soket üzerinden tampon tamponundan uzunluk baytlık veriyi adres'teki port. porttan alır. İşlev bağlantılı (tcp) ve bağlantısız (udp) soketlerle çalışabilir. Ayrıca, bazı seçeneklerle işlevin davranışında değişiklik yapılabilir.

isim ve port gönderimli aktarılmalıdır. Soket bağlantı yönelimli değilse isim bağımsız değişkenine uzak konağın IP adresi veya Unix soketinin dosya yolu atanacaktır. Soketin bağlantı yönelimli olması durumunda isim null'dur. Bunun yanında, soketin bir bağlantısız AF_INET veya AF_INET6 soket olması durumunda port uzak konağın port numarasını içerecektir.

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket nesnesi.

tampon

Alınan verinin yerleştirileceği tampon.

uzunluk

Uzak konaktan alınacak azami bayt sayısı.

seçenekler

Aşağıdaki değerlerin bitsel VEYAlanmış (|) bir birleşimi olabilir

Olası seçenekler
Seçenek | Açıklama
MSG_OOB | Band dışı veri işlenir.
MSG_PEEK | Veri alım kuyruğunun başlangıcından alınırken kuyruktan silinmez.
MSG_WAITALL | uzunluk bayt alınıncaya kadar soket baskılanır. Ancak, bir sinyal alınırsa veya uzak konak bağlantıyı keserse işlev daha az veriyle dönebilir.
MSG_DONTWAIT | İşlev bekleme kipinde olsa bile bu seçenek işlevin beklemeden dönmesine sebep olur.
adres

Soket AF_UNIX türündeyse dosya yolu, bağlantısız soketse uzak konağın IP adresi, bağlantı yönelimli bir soketse null'dur.

port

Sadece AF_INET ve AF_INET6 soketlere uygulanır ve verinin alındığı uzak portu belirtir. Soket bağlantı yönelimli ise port null olacaktır.

Dönen Değerler

socket_recvfrom() işlevi alınan bayt sayısını döndürür. Bir hata oluşmuşsa false döner. Hata kodu socket_last_error() işlevi ile alınabilir. Bu hata kodunu socket_strerror() işlevine aktararak hatayı açıklayan dizgeyi alabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_recvfrom() örneği

<?php
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '127.0.0.1', 1223);

$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);

echo "$from adresinin $port. portundan $buf bayt alındı" . PHP_EOL;
?>

Bu örnek 127.0.0.1 adresindeki 1223. port üzerinde bir UDP portu oluşturup uzak konaktan alınacak 12 bayta kadar veriyi gösterir.

Ayrıca Bakınız

  • socket_recv() - Bağlı bir soketten veri alır
  • socket_send() - Bağlı bir sokete veri gönderir
  • socket_sendto() - Bağlı olsun olmasın bir sokete ileti gönderir
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)


Read a message

  • « socket_recvfrom
  • socket_select »
  • PHP Manual
  • Soket İşlevleri
  • Read a message

socket_recvmsg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_recvmsg — Read a message

Açıklama

socket_recvmsg(Socket $socket, array &$message, int $flags = 0): int|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

socket

message

flags

Dönen Değerler

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_sendmsg() - Send a message
  • socket_cmsg_space() - Calculate message buffer size


Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır

  • « socket_recvmsg
  • socket_send »
  • PHP Manual
  • Soket İşlevleri
  • Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır

socket_select

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_select — Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır

Açıklama

socket_select(
?array &$oku,
?array &$yaz,
?array &$diğer,
?int $tv_sec,
int $tv_usec = 0
): int|false

socket_select() işlevi bağımsız değişken olarak soket dizileri alır ve durumları değişinceye kadar bekler. Bu soket dizileri BSD soketlerinden kaynaklanan bir kabulle dosya tanıtıcıları olarak da bilinir. İşleve birbirinden bağımsız üç çeşit soket dizisi belirtilebilir.

Bağımsız Değişkenler

oku

Karakterlerin okunmaya hazır hale gelmesine kadar (başka bir deyişle, okumanın engellenmediği görülene kadar) dinlenecek soket dizisi. (Okunacak tek şeyin dosyasonu karakteri olduğu durumda socket_read() sıfır uzunlukta bir dizge ile döner.)

yaz

Yazmanın engellenmediği görülene kadar (soket yazmaya hazır hale gelene kadar) dinlenecek soket dizisi.

diğer

Bu dizideki soketler olağan dışı durumlara göre denetlenir.

tv_sec

Saniye cinsinden zaman aşımı. tv_sec ve tv_usec birlikte select() sistem çağrısının zamanaşımı bağımsız değişkenini oluşturur. zamanaşımı, socket_select() dönmeden önce beklenecek azami süreyi belirler. tv_sec sıfır olabilir; bu durumda socket_select() beklemeden döner. Çağrı yinelemek için yararlıdır. tv_sec null olduğu takdirde (zaman aşımı yok), socket_select() sonsuza kadar bekleyebilir.

tv_usec

Mikrosaniye cinsinden zaman aşımı. Ayrıntılar için tv_sec bağımsız değişkenine bakınız.

Uyarı

Dönüşte, soket özkaynaklarının durumlarını belirtmek için dizilerde değişiklik yapılır.

socket_select() işlevine üç diziyi de aktarmak zorunda değilsiniz. Kullanmadığınız dizileri boş bırakabilir veya bir dizi yerine null belirtebilirsiniz. Ayrıca, bu dizilerin gönderimli aktarılmaları gerektiğine de dikkat ediniz; socket_select() işlevi dönerken soket durumlarını yansıtacak şekilde bu dizilerde değişiklik yapar.

Bilginize:

Zend motorundaki bir sınırlamadan dolayı, bir işleve gönderimli aktarılması gereken bir bağımsız değişken yerine işleve doğrudan null sabitini aktarmak mümkün değildir. Bu nedenle işleve değeri null olan geçici bir değişken veya son değeri bir değişken olan bir ifade aktarmalısınız:

Örnek 1 - socket_select() ile null kullanımı

<?php
$diger = NULL;
socket_select($oku, $yaz, $diger, 0);
?>

Dönen Değerler

Başarı durumunda socket_select(), değişiklik yapılan soketlerin sayısını döndürür. Eğer hiçbir değişiklik olmaksızın zaman aşımı dolmuşsa işlev 0 döndürür. Bir hata durumunda false döner. Hata kodu socket_last_error() ile alınabilir.

Bilginize:

İşlev, 0 değerini anlamlı bir değer olarak döndürdüğünden == işleci ile yapılan bir sınama true ile sonuçlanacağından hata durumunu sınarken === işlecini kullanmalısınız:

Örnek 2 - socket_select() sonucunu anlamak

<?php
$e = NULL;
if (false === socket_select($o, $y, $d, 0)) {
echo "socket_select() başarısız oldu; sebep: " .
socket_strerror(socket_last_error()) . "\n";
}
?>

Örnekler

Örnek 3 - socket_select() örneği

<?php
/* Oku dizisini hazırlayalım */
$oku = array($soket1, $soket2);
$yaz = NULL;
$diger = NULL;
$degisen_soket_sayısı = socket_select($oku, $yaz, $diger, 0);

if ($degisen_soket_sayısı === false) {
/* Hata işlemleri */
} else if ($degisen_soket_sayısı > 0) {
/* En azından bir sokette bir şeyler olmuş */
}
?>

Notlar

Bilginize:

Bazı soket gerçeklenimlerinin çok dikkatli olmayı gerektirdiğini bilmeniz gereken bir kaç temel kural:

  • socket_select() işlevini daima zaman aşımsız kullanmaya çalışın. İşe yarar bir veri yoksa betiğiniz hiçbir işlem yapmamalıdır. Zaman aşımlarına bağımlı bir kod taşınabilir değildir ve hata ayıklamak çok zor olur.
  • socket_select() çağrısından sonra üzerinde hiçbir işlem yapmayacağınız soket nesnelerini hiçbir diziye eklemeyin. socket_select() döndükten sonra dizilerdeki tüm soketlere mutlaka bakılmalıdır. Yazmaya hazır soketlere yazılmalı, okunmaya hazır soketler okunmalıdır.
  • Diziden dönen bir sokete oku veya yaz işlemi yapacaksanız verinin tamamını okumak veya yazmak zorunda değilsiniz. Sadece bir bayt okumaya veya yazmaya bile hazır olmalısınız.
  • Hemen tüm soket gerçeklenimlerinde diğer dizisindeki soketlerin band dışı verilerle ilgili olduğu varsayılır.

Ayrıca Bakınız

  • socket_read() - Bir soketten belli sayıda bayta kadar okuma yapar
  • socket_write() - Bir sokete yazar
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Bağlı bir sokete veri gönderir

  • « socket_select
  • socket_sendmsg »
  • PHP Manual
  • Soket İşlevleri
  • Bağlı bir sokete veri gönderir

socket_send

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_send — Bağlı bir sokete veri gönderir

Açıklama

socket_send(
Socket $soket,
string $tampon,
int $uzunluk,
int $seçenekler
): int|false

socket_send() işlevi tampon tamponundaki verinin uzunluk baytını soket ile belirtilen sokete gönderir.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket örneği.

tampon

Uzak konağa gönderilecek veriyi içeren tampon.

uzunluk

Uzak konağa gönderilecek bayt sayısı.

seçenekler

Aşağıdaki seçeneklerin bitsel VEYAlanmış birleşimi.

Olası seçenekler
MSG_OOB | Band dışı veri gönderilir.
MSG_EOR | Bir kayıt imi belirtir. Gönderilen veri kaydın tamamlanmasını sağlar.
MSG_EOF | Soketin gönderici tarafı kapatılır ve gönderilen verinin sonuna bununla ilgili bir bildirim yerleştirilir. Gönderilen veri aktarımın tamamlanmasını sağlar.
MSG_DONTROUTE | Yönlendirme es geçilip doğrudan arabirim kullanılır.

Dönen Değerler

Bir hata oluşursa false yoksa gönderilen bayt sayısı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_sendto() - Bağlı olsun olmasın bir sokete ileti gönderir


Send a message

  • « socket_send
  • socket_sendto »
  • PHP Manual
  • Soket İşlevleri
  • Send a message

socket_sendmsg

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

socket_sendmsg — Send a message

Açıklama

socket_sendmsg(Socket $socket, array $message, int $flags = 0): int|false

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

socket

message

flags

Dönen Değerler

Returns the number of bytes sent, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_recvmsg() - Read a message
  • socket_cmsg_space() - Calculate message buffer size


Bağlı olsun olmasın bir sokete ileti gönderir

  • « socket_sendmsg
  • socket_set_block »
  • PHP Manual
  • Soket İşlevleri
  • Bağlı olsun olmasın bir sokete ileti gönderir

socket_sendto

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_sendto — Bağlı olsun olmasın bir sokete ileti gönderir

Açıklama

socket_sendto(
Socket $soket,
string $tampon,
int $uzunluk,
int $seçenekler,
string $adres,
int $port = null
): int|false

socket_sendto() işlevi tampon tamponundaki verinin uzunluk baytını soket üzerinden adres adresindeki port. porta gönderir.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket örneği.

tampon

Veri bu tampondan gönderilir.

uzunluk

Gönderilecek bayt sayısı.

seçenekler

Aşağıdaki seçeneklerin bitsel VEYAlanmış birleşimi.

Olası seçenekler
MSG_OOB | Band dışı veri gönderilir.
MSG_EOR | Bir kayıt imi belirtir. Gönderilen veri kaydın tamamlanmasını sağlar.
MSG_EOF | Soketin gönderici tarafı kapatılır ve gönderilen verinin sonuna bununla ilgili bir bildirim yerleştirilir. Gönderilen veri aktarımın tamamlanmasını sağlar.
MSG_DONTROUTE | Yönlendirme es geçilip doğrudan arabirim kullanılır.

adres

Uzak konağın IP adresi.

port

Verinin gönderileceği uzak portun numarası.

Dönen Değerler

Bir hata oluşmuşsa false, yoksa gönderilen bayt sayısı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.
8.0.0 | port artık null olabiliyor.

Örnekler

Örnek 1 - socket_sendto() örneği

<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

$msg = "Ping !";
$len = strlen($msg);

socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 1223);
socket_close($sock);
?>

Ayrıca Bakınız

  • socket_send() - Bağlı bir sokete veri gönderir


Soketi engelleme kipine sokar

  • « socket_sendto
  • socket_set_nonblock »
  • PHP Manual
  • Soket İşlevleri
  • Soketi engelleme kipine sokar

socket_set_block

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

socket_set_block — Soketi engelleme kipine sokar

Açıklama

socket_set_block(Socket $soket): bool

Belirtilen soket üzerinden O_NONBLOCK seçeneğini kaldırır.

Bir engellenen soket üzerinde yapılan işlemler (bağlanma, kabul, alım, gönderim gibi) sırasında bir sinyal gelmedikçe, okunacak veri yoksa veya veri yazılamıyorsa betik işlem başlayana kadar bekler.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket örneği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_set_block() örneği

<?php
$socket = socket_create_listen(1223);
socket_set_block($socket);

socket_accept($socket);
?>

Bu örnekte, tüm arabirimlerin 1223. portunda bir dinleme soketi oluşturulmakta ve soket bekleme kipine (O_BLOCK) alınmaktadır. socket_accept() kabul edilecek bir bağlantı olana kadar bekleyecektir.

Ayrıca Bakınız

  • socket_set_nonblock() - Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir
  • socket_set_option() - Soketle ilgili seçenekleri belirler


Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir

  • « socket_set_block
  • socket_set_option »
  • PHP Manual
  • Soket İşlevleri
  • Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir

socket_set_nonblock

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_set_nonblock — Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir

Açıklama

socket_set_nonblock(Socket $soket): bool

soket ile belirtilen sokete O_NONBLOCK seçeneğini atar (beklememe kipini etkin kılar; başka bir deyişle soketi engellenmeyen kipe sokar).

Bir engellenmeyen soket üzerinde yapılan işlemler (bağlanma, kabul, alım, gönderim gibi) sırasında bir sinyal gelmedikçe, okunacak veri yoksa veya veri yazılamıyorsa betik işlemin başlamasını beklemez ve böyle bir durumda ilgili işlev çağrısı (bu işlev değil) başarısız olur.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket örneği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_set_nonblock() örneği

<?php
$soket = socket_create_listen(1223);
socket_set_nonblock($soket);

socket_accept($soket);
?>

Bu örnekte, tüm arabirimlerin 1223. portunda bir dinleme soketi oluşturulmakta ve soket beklememe kipine (O_NONBLOCK) alınmaktadır. Bu anda bekleyen bir bağlantı yoksa socket_accept() bir zamanaşımı beklemeksizin başarısız olur.

Ayrıca Bakınız

  • socket_set_block() - Soketi engelleme kipine sokar
  • socket_set_option() - Soketle ilgili seçenekleri belirler
  • stream_set_blocking() - Akımın engelleme kipini ayarlar


Soketle ilgili seçenekleri belirler

  • « socket_set_nonblock
  • socket_setopt »
  • PHP Manual
  • Soket İşlevleri
  • Soketle ilgili seçenekleri belirler

socket_set_option

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

socket_set_option — Soketle ilgili seçenekleri belirler

Açıklama

socket_set_option(
Socket $soket,
int $seviye,
int $seçenek,
array|string|int $değer
): bool

Belirtilen soket'in seçenek seçeneğine belirtilen protokol seviye'si için değer değerini atar.

Bağımsız Değişkenler

soket

socket_create() veya socket_accept() ile oluşturulmuş geçerli bir Socket örneği.

seviye

Seçeneğin geçerli olacağı protokol seviyesi. Örneğin soket seviyesindeki seçenekleri tanımlamak için bu bağımsız değişkende SOL_SOCKET kullanılabilirdi. TCP gibi diğer seviyeler, seviyenin protokol numarası belirtilerek kullanılabilir. Protokol numaralarını getprotobyname() işleviyle alabilirsiniz.

seçenek

socket_get_option() işleviyle alınan soket seçeneklerinden biri olmalıdır.

değer

Seçeneğin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Örnekler

Örnek 1 - socket_set_option() örneği

<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

if (!is_resource($socket)) {
echo 'Soket oluşturulamadı: '.
socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo 'Sokete seçenek atanamadı: '.
socket_strerror(socket_last_error()) . PHP_EOL;
}

if (!socket_bind($socket, '127.0.0.1', 1223)) {
echo 'Sokete bağlanılamadı: '.
socket_strerror(socket_last_error()) . PHP_EOL;
}

$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);

if ($rval === false) {
echo 'Soket seçeneği alınamadı: '.
socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
echo 'Sokete SO_REUSEADDR atandı!' . PHP_EOL;
}
?>

Sürüm Bilgisi

Sürüm: | Açıklama
4.3.0 | İşlevin ismi değişti. Eski ismi socket_setopt() idi.

Ayrıca Bakınız

  • socket_create() - Bir soket oluşturur (iletişim için bir uç)
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür
  • socket_last_error() - Soket üzerindeki son hatanın kodunu döndürür
  • socket_get_option() - Soketle ilgili bir seçeneğin değerini döndürür


Takma Adı: socket_set_option

  • « socket_set_option
  • socket_shutdown »
  • PHP Manual
  • Soket İşlevleri
  • Takma Adı: socket_set_option

socket_setopt

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_setopt — Takma Adı: socket_set_option()

Açıklama

Bu işlev şu işlevin takma adıdır: socket_set_option().


Bir soketi almaya, göndermeye veya her ikisine kapatır

  • « socket_setopt
  • socket_strerror »
  • PHP Manual
  • Soket İşlevleri
  • Bir soketi almaya, göndermeye veya her ikisine kapatır

socket_shutdown

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_shutdown — Bir soketi almaya, göndermeye veya her ikisine kapatır

Açıklama

socket_shutdown(Socket $scket, int $kip = 2): bool

Gelen, giden veya tüm verilerin (öntanımlı) soket üzerinden gönderimini durdurur.

Bilginize:

İlişkili tamponlar boş olabileceği gibi olmayabilir.

Bağımsız Değişkenler

soket

socket_create() ile oluşturulmuş geçerli bir Socket örneği.

kip

Aşağıdaki değerlerden biri olabilir:

Olası kip değerleri
0 | Soket okumaya kapatılır.
1 | Soket yazmaya kapatılır.
2 | Soket yazmaya ve okumaya kapatılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.


Bir soket hatasıyla ilgili açıklamayı döndürür

  • « socket_shutdown
  • socket_write »
  • PHP Manual
  • Soket İşlevleri
  • Bir soket hatasıyla ilgili açıklamayı döndürür

socket_strerror

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_strerror — Bir soket hatasıyla ilgili açıklamayı döndürür

Açıklama

socket_strerror(int $hata_kodu): string

socket_strerror() işlevi hata_kodu bağımsız değişkeninde socket_last_error() işlevinden döndürülen bir hata kodunu alır ve bununla ilgili açıklamayı döndürür.

Bilginize:

Bu işlevle ilgili sistem iletileri yerele bağlı olarak (LC_MESSAGES) gösterilse de bu eklentinin ürettiği hata iletileri ingilizcedir.

Bağımsız Değişkenler

hata_kodu

socket_last_error() işlevinden dönen bir hata numarası.

Dönen Değerler

hata_kodu ile ilgili hata iletisini döndürür.

Örnekler

Örnek 1 - socket_strerror() örneği

<?php
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
echo "socket_create() başarısız oldu: Sebep: " .
socket_strerror(socket_last_error()) . "\n";
}

if (false == (@socket_bind($socket, '127.0.0.1', 80))) {
echo "socket_bind() başarısız oldu: Sebep: " .
socket_strerror(socket_last_error($socket)) . "\n";
}
?>

Betiğin root yetkileriyle çalışmadığı varsayımıyla çıktı şöyle olurdu:

socket_bind() başarısız oldu: Sebep: Permission denied

Ayrıca Bakınız

  • socket_accept() - Soket üzerinden bağlantı kabul eder
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_create() - Bir soket oluşturur (iletişim için bir uç)


Bir sokete yazar

  • « socket_strerror
  • socket_wsaprotocol_info_export »
  • PHP Manual
  • Soket İşlevleri
  • Bir sokete yazar

socket_write

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

socket_write — Bir sokete yazar

Açıklama

socket_write(Socket $soket, string $tampon, ?int $uzunluk = null): int|false

Belirtilen tampon'u belirtilen soket'e yazar.

Bağımsız Değişkenler

soket

Tamponun yazılacağı soket.

tampon

Sokete yazılacak veri.

uzunluk

Belirtilmesi isteğe bağlı olup, sokete yazılacak bayt sayısını belirler. Tampon uzunluğundan büyükse tampon uzunluğundan fazlası yok sayılır.

Dönen Değerler

Sokete başarıyla yazılan bayt sayısı, başarısızlık durumunda false döner. Hata kodu socket_last_error() işleviyle alınabilir. Bu kod socket_strerror() işlevine aktarılarak hata açıklaması alınablir.

Bilginize:

Hiçbir baytın yazılmadığı anlamına gelen 0 dönüş değeri oldukça geçerli bir dönüş değeridir. Bu bakımdan false değerini sınamak için === işlecini kullanmalısınız.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.
8.0.0 | uzunluk artık null olabiliyor.

Notlar

Bilginize:

socket_write() işlevinin tampondaki tüm baytları yazması gerekli değildir. Ağ üzerindeki tamponlara ve benzerlerine bağlı olarak verinin belli bir miktarı hatta tampon çok daha büyük olsa bile sadece bir bayt yazılması bile başarılı bir işlem kabul edilir. Bu bakımdan yazılan bayt sayısını denetleyerek verinin kalanını aktarmayı unutmayın.

Ayrıca Bakınız

  • socket_accept() - Soket üzerinden bağlantı kabul eder
  • socket_bind() - Soketi bir isimle ilişkilendirir
  • socket_connect() - Soket üzerinde bir bağlantıyı ilklendirir
  • socket_listen() - Bir soketi bağlantı kabul etmek için dinler
  • socket_read() - Bir soketten belli sayıda bayta kadar okuma yapar
  • socket_strerror() - Bir soket hatasıyla ilgili açıklamayı döndürür


Exports the WSAPROTOCOL_INFO Structure

  • « socket_write
  • socket_wsaprotocol_info_import »
  • PHP Manual
  • Soket İşlevleri
  • Exports the WSAPROTOCOL_INFO Structure

socket_wsaprotocol_info_export

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_export — Exports the WSAPROTOCOL_INFO Structure

Açıklama

socket_wsaprotocol_info_export(Socket $socket, int $process_id): string|false

Exports the WSAPROTOCOL_INFO structure into shared memory and returns an identifier to be used with socket_wsaprotocol_info_import(). The exported ID is only valid for the given process_id.

Bilginize: This function is available only on Windows.

Bağımsız Değişkenler

socket

A Socket instance.

process_id

The ID of the process which will import the socket.

Dönen Değerler

Returns an identifier to be used for the import, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | soket artık bir Socket örneği olabiliyor; evvelce resource türündeydi.

Ayrıca Bakınız

  • socket_wsaprotocol_info_import() - Imports a Socket from another Process
  • socket_wsaprotocol_info_release() - Releases an exported WSAPROTOCOL_INFO Structure


Imports a Socket from another Process

  • « socket_wsaprotocol_info_export
  • socket_wsaprotocol_info_release »
  • PHP Manual
  • Soket İşlevleri
  • Imports a Socket from another Process

socket_wsaprotocol_info_import

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_import — Imports a Socket from another Process

Açıklama

socket_wsaprotocol_info_import(string $info_id): Socket|false

Imports a socket which has formerly been exported from another process.

Bilginize: This function is available only on Windows.

Bağımsız Değişkenler

info_id

The ID which has been returned by a former call to socket_wsaprotocol_info_export().

Dönen Değerler

Returns a Socket instance on success, başarısızlık durumunda false döner

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | On success, this function returns a Socket instance now; previously, a resource was returned.

Ayrıca Bakınız

  • socket_wsaprotocol_info_export() - Exports the WSAPROTOCOL_INFO Structure


Releases an exported WSAPROTOCOL_INFO Structure

  • « socket_wsaprotocol_info_import
  • Socket »
  • PHP Manual
  • Soket İşlevleri
  • Releases an exported WSAPROTOCOL_INFO Structure

socket_wsaprotocol_info_release

(PHP 7 >= 7.3.0, PHP 8)

socket_wsaprotocol_info_release — Releases an exported WSAPROTOCOL_INFO Structure

Açıklama

socket_wsaprotocol_info_release(string $info_id): bool

Releases the shared memory corresponding to the given info_id.

Bilginize: This function is available only on Windows.

Bağımsız Değişkenler

info_id

The ID which has been returned by a former call to socket_wsaprotocol_info_export().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • socket_wsaprotocol_info_export() - Exports the WSAPROTOCOL_INFO Structure


The Socket class

(PHP 8)

Giriş

A fully opaque class which replaces Socket resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class Socket {
}


The AddressInfo class

(PHP 8)

Giriş

A fully opaque class which replaces AddressInfo resources as of PHP 8.0.0.

Sınıf Sözdizimi

final class AddressInfo {
}


Güvenli Kabuk 2

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SSH2 İşlevleri
    • ssh2_auth_agent — Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file — Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar
    • ssh2_auth_none — "none" kimlik doğrulaması yapar
    • ssh2_auth_password — Parola kullanarak kimlik doğrulaması yapar
    • ssh2_auth_pubkey_file — Bir genel anahtar kullanarak kimlik doğrulaması yapar
    • ssh2_connect — Bir SSH sunucusuna bağlanır
    • ssh2_disconnect — Close a connection to a remote SSH server
    • ssh2_exec — Uzak sunucu üzerinde bir komut çalıştırır
    • ssh2_fetch_stream — Başka bir veri akımı döndürür
    • ssh2_fingerprint — Uzak sunucunu parmakizini döndürür
    • ssh2_forward_accept — Accept a connection created by a listener
    • ssh2_forward_listen — Bind a port on the remote server and listen for connections
    • ssh2_methods_negotiated — Müzakere yöntemlerini listeler
    • ssh2_poll — Poll the channels/listeners/streams for events
    • ssh2_publickey_add — Yetkili bir genel anahtar ekler
    • ssh2_publickey_init — Genel anahtar alt sistemini ilklendirir
    • ssh2_publickey_list — Yetkili genel anahtarları listeler
    • ssh2_publickey_remove — Bir genel anahtarı siler
    • ssh2_scp_recv — SCP üzerinden bir dosya alır
    • ssh2_scp_send — SCP üzerinden bir dosya gönderir
    • ssh2_send_eof — Send EOF to stream
    • ssh2_sftp_chmod — Changes file mode
    • ssh2_sftp_lstat — Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür
    • ssh2_sftp_mkdir — Uzak konakta bir dizin oluşturur
    • ssh2_sftp_readlink — Bir sembolik bağın hedefini döndürür
    • ssh2_sftp_realpath — Belirtilen dosya yolu dizgesinden gerçek yolu elde eder
    • ssh2_sftp_rename — Bir uzak dosyanın ismini değiştirir
    • ssh2_sftp_rmdir — Karşıdan bir dizin siler
    • ssh2_sftp_stat — Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür
    • ssh2_sftp_symlink — Karşıda bir sembolik bağ oluşturur
    • ssh2_sftp_unlink — Bir dosyayı siler
    • ssh2_sftp — SFTP alt sistemini ilklendirir
    • ssh2_shell — Bir etkileşimli kabuk isteği yapar
    • ssh2_tunnel — Uzak bir sunucuya doğru bir tünel açar


Giriş

Bu eklenti, aktarımı şifreleyerek uzak makinelerdeki kaynaklara güvenli bir erişim (kabuk, uzaktan çalıştırma, tünelleme, dosya aktarımı) sağlayan » libssh2 kütüphanesine bir arayüzdür.


Gereksinimler

» OpenSSL ve » libssh2 kütüphanelerinin ve özellikle de geliştirme paketlerinin (openssl-dev gibi) kurulu olması gerekir.

Libssh2 kütüphanesinin 1.2 ve üstü sürümleri gerekli olsa da pecl/ssh2 yeni sürümleri daha yeni sürümleri gerektirebilir (dağıtım bilgilerine bakınız).

ssh2_auth_agent() işlevi sadece libssh >= 1.2.3 ile kullanılabilir.

Akımları kanala aktarmak için stream_set_timeout() desteği sadece libssh >= 1.2.9 ile kullanılabilir.

Libssh2 iki şekilde gelir: gcrypt veya openssl. Bazı Linux dağıtımları libssh2'yi gcrypt kütüphanesi ile kurar, bazısı openssl kullanır. Libssh2, gcrypt ile derlendiğinde bazı sorunlar ortaya çıkıyor, lütfen openssl kullanın.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ssh2.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Özkaynak Türleri

Bu eklentinin tanımladığı özkaynak türleri:

  • SSH2 Oturum
  • SSH2 Dinleyici
  • SSH2 SFTP
  • SSH2 Genel Anahtar Alt Sisitemi (ssh2 0.10 itibariyle)


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SSH2_FINGERPRINT_MD5 (int)
Konak anahtarının parmakizini bir MD5 aşı olarak istemek için ssh2_fingerprint() seçeneği.
SSH2_FINGERPRINT_SHA1 (int)
Konak anahtarının parmakizini bir SHA1 aşı olarak istemek için ssh2_fingerprint() seçeneği.
SSH2_FINGERPRINT_HEX (int)
Konak anahtarının parmakizini bir onaltılıklar dizgesi olarak istemek için ssh2_fingerprint() seçeneği.
SSH2_FINGERPRINT_RAW (int)
Konak anahtarının parmakizini 8 bitlik karakterlerden oluşan bir ham dizge olarak istemek için ssh2_fingerprint() seçeneği.
SSH2_TERM_UNIT_CHARS (int)
genişlik ve yükseklik değerlerini karakter boyutu olarak belirtmeyi sağlayan ssh2_shell() seçeneği.
SSH2_TERM_UNIT_PIXELS (int)
genişlik ve yükseklik değerlerini piksel cinsinden belirtmeyi sağlayan ssh2_shell() seçeneği.
SSH2_DEFAULT_TERM_WIDTH (int)
ssh2_shell() tarafından istenen öntanımlı uçbirim genişliği.
SSH2_DEFAULT_TERM_HEIGHT (int)
ssh2_shell() tarafından istenen öntanımlı uçbirim yüksekliği.
SSH2_DEFAULT_TERM_UNIT (int)
ssh2_shell() tarafından istenen öntanımlı uçbirim birimi.
SSH2_STREAM_STDIO (int)
STDIO isteği yapmak için ssh2_fetch_stream() seçeneği.
SSH2_STREAM_STDERR (int)
STDERR isteği yapmak için ssh2_fetch_stream() seçeneği.
SSH2_DEFAULT_TERMINAL (string)
ssh2_shell() tarafından istenen öntanımlı uçbirim türü (vt102, ansi, xterm, vanilla gibi).
SSH2_POLLIN (int)
SSH2_POLLEXT (int)
SSH2_POLLOUT (int)
SSH2_POLLERR (int)
SSH2_POLLHUP (int)
SSH2_POLLNVAL (int)
SSH2_POLL_SESSION_CLOSED (int)
SSH2_POLL_CHANNEL_CLOSED (int)
SSH2_POLL_LISTENER_CLOSED (int)


SSH2 İşlevleri

İçindekiler

  • ssh2_auth_agent — Authenticate over SSH using the ssh agent
  • ssh2_auth_hostbased_file — Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar
  • ssh2_auth_none — "none" kimlik doğrulaması yapar
  • ssh2_auth_password — Parola kullanarak kimlik doğrulaması yapar
  • ssh2_auth_pubkey_file — Bir genel anahtar kullanarak kimlik doğrulaması yapar
  • ssh2_connect — Bir SSH sunucusuna bağlanır
  • ssh2_disconnect — Close a connection to a remote SSH server
  • ssh2_exec — Uzak sunucu üzerinde bir komut çalıştırır
  • ssh2_fetch_stream — Başka bir veri akımı döndürür
  • ssh2_fingerprint — Uzak sunucunu parmakizini döndürür
  • ssh2_forward_accept — Accept a connection created by a listener
  • ssh2_forward_listen — Bind a port on the remote server and listen for connections
  • ssh2_methods_negotiated — Müzakere yöntemlerini listeler
  • ssh2_poll — Poll the channels/listeners/streams for events
  • ssh2_publickey_add — Yetkili bir genel anahtar ekler
  • ssh2_publickey_init — Genel anahtar alt sistemini ilklendirir
  • ssh2_publickey_list — Yetkili genel anahtarları listeler
  • ssh2_publickey_remove — Bir genel anahtarı siler
  • ssh2_scp_recv — SCP üzerinden bir dosya alır
  • ssh2_scp_send — SCP üzerinden bir dosya gönderir
  • ssh2_send_eof — Send EOF to stream
  • ssh2_sftp_chmod — Changes file mode
  • ssh2_sftp_lstat — Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür
  • ssh2_sftp_mkdir — Uzak konakta bir dizin oluşturur
  • ssh2_sftp_readlink — Bir sembolik bağın hedefini döndürür
  • ssh2_sftp_realpath — Belirtilen dosya yolu dizgesinden gerçek yolu elde eder
  • ssh2_sftp_rename — Bir uzak dosyanın ismini değiştirir
  • ssh2_sftp_rmdir — Karşıdan bir dizin siler
  • ssh2_sftp_stat — Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür
  • ssh2_sftp_symlink — Karşıda bir sembolik bağ oluşturur
  • ssh2_sftp_unlink — Bir dosyayı siler
  • ssh2_sftp — SFTP alt sistemini ilklendirir
  • ssh2_shell — Bir etkileşimli kabuk isteği yapar
  • ssh2_tunnel — Uzak bir sunucuya doğru bir tünel açar


Authenticate over SSH using the ssh agent

  • « SSH2 İşlevleri
  • ssh2_auth_hostbased_file »
  • PHP Manual
  • SSH2 İşlevleri
  • Authenticate over SSH using the ssh agent

ssh2_auth_agent

(PECL ssh2 >= 0.12)

ssh2_auth_agent — Authenticate over SSH using the ssh agent

Açıklama

ssh2_auth_agent(resource $session, string $username): bool

Authenticate over SSH using the ssh agent

Bilginize: The ssh2_auth_agent() function will only be available when the ssh2 extension is compiled with libssh >= 1.2.3.

Bağımsız Değişkenler

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

username

Remote user name.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Authenticating with a ssh agent

<?php
$connection = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_agent($connection, 'username')) {
echo "Authentication Successful!\n";
} else {
die('Authentication Failed...');
}
?>


Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar

  • « ssh2_auth_agent
  • ssh2_auth_none »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar

ssh2_auth_hostbased_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_hostbased_file — Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar

Açıklama

ssh2_auth_hostbased_file(
resource $oturum,
string $kullanıcı,
string $konakadı,
string $genel_anh_dosyası,
string $gizli_anh_dosyası,
string $anh_parolası = ?,
string $yerel_kullanıcı = ?
): bool

Genel konak anahtarını bir dosyadan okuyarak kimlik doğrulaması yapar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

kullanıcı

konakadı

genel_anh_dosyası

gizli_anh_dosyası

anh_parolası

gizli_anh_dosyası için bir parola kullanılmışsa bu parola bu bağımsız değişkende belirtilmelidir. (SSH oturum anahtarları genelde parolasız oluşturulur).

yerel_kullanıcı

Belirtilmezse yerine kullanıcı kullanılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Genel konak anahtarlı kimlik doğrulama

<?php
baglanti = ssh2_connect('shell.example.com', 22, array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_hostbased_file(baglanti, 'uzakbirey', 'myhost.example.com',
'/usr/local/etc/hostkey_rsa.pub',
'/usr/local/etc/hostkey_rsa', 'parola',
'yerelbirey')) {
echo "Kimlik Doğrulaması Başarılı!\n";
} else {
die('Kimlik Doğrulaması Başarısız...');
}
?>

Notlar

Bilginize:

ssh2_auth_hostbased_file() işlevi libssh2 >= 0.7 ve PHP/SSH2 >= 0.7 gerektirir.


"none" kimlik doğrulaması yapar

  • « ssh2_auth_hostbased_file
  • ssh2_auth_password »
  • PHP Manual
  • SSH2 İşlevleri
  • "none" kimlik doğrulaması yapar

ssh2_auth_none

(PECL ssh2 >= 0.9.0)

ssh2_auth_none — "none" kimlik doğrulaması yapar

Açıklama

ssh2_auth_none(resource $oturum, string $kullanıcı): mixed

"none" kimlik doğrulaması genellikle (aslında daima) başarısız olur. Başarısızlıkla ilgili bildirimin bir parçası olarak bu işlev, kabul edilen kimlik doğrulama yöntemlerinin bir listesini döndürür.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

kullanıcı

Uzak kullanıcı adı.

Dönen Değerler

Sunucu bir kimlik doğrulama yöntemi olarak "none" kabul ediyorsa true etmiyorsa kabul edilen kimlik doğrulama yöntemlerini içeren bir dizi döner.

Örnekler

Örnek 1 - Kimlik doğrulama yöntemlerinin öğrenilmesi

<?php
$baglanti = ssh2_connect('shell.example.com', 22);

$yontemler = ssh2_auth_none($baglanti, 'birey');

if (in_array('password', $yontemler)) {
echo "Sunucu parolalı kimlik doğrulamayı destekliyor.\n";
}
?>


Parola kullanarak kimlik doğrulaması yapar

  • « ssh2_auth_none
  • ssh2_auth_pubkey_file »
  • PHP Manual
  • SSH2 İşlevleri
  • Parola kullanarak kimlik doğrulaması yapar

ssh2_auth_password

(PECL ssh2 >= 0.9.0)

ssh2_auth_password — Parola kullanarak kimlik doğrulaması yapar

Açıklama

ssh2_auth_password(resource $oturum, string $kullanıcı, string $parola): bool

Düz parola kullanarak SSH üzerinden kimlik doğrulaması yapar. 0.12 sürümünden beri ayrıca etkileşimli klavye yöntemide desteklenmektedir.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

kullanıcı

Uzak konaktaki kullanıcı ismi.

parola

kullanıcı için parola.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Parolalı kimlik doğrulama

<?php
$baglanti = ssh2_connect('shell.example.com', 22);

if (ssh2_auth_password($baglanti, 'birey', 'parola')) {
echo "Kimlik Doğrulaması Başarılı!\n";
} else {
die('Kimlik Doğrulaması Başarısız...');
}
?>


Bir genel anahtar kullanarak kimlik doğrulaması yapar

  • « ssh2_auth_password
  • ssh2_connect »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir genel anahtar kullanarak kimlik doğrulaması yapar

ssh2_auth_pubkey_file

(PECL ssh2 >= 0.9.0)

ssh2_auth_pubkey_file — Bir genel anahtar kullanarak kimlik doğrulaması yapar

Açıklama

ssh2_auth_pubkey_file(
resource $oturum,
string $kullanıcı,
string $genel_anh_dosyası,
string $gizli_anh_dosyası,
string $anh_parolası = ?
): bool

Genel anahtarı bir dosyadan okuyarak kimlik doğrulaması yapar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

kullanıcı

genel_anh_dosyası

Genel anahtar dosyasının OpenSSH biçeminde olması gerekir. Görünüşü şuna benzer:

ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110

gizli_anh_dosyası

anh_parolası

gizli_anh_dosyası için bir parola kullanılmışsa bu parola bu bağımsız değişkende belirtilmelidir. (SSH oturum anahtarları genelde parolasız oluşturulur).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Genel anahtarlı kimlik doğrulama

<?php
$baglanti = ssh2_connect('shell.example.com', 22,
array('hostkey'=>'ssh-rsa'));

if (ssh2_auth_pubkey_file($baglanti, 'birey',
'/home/birey/.ssh/id_rsa.pub',
'/home/birey/.ssh/id_rsa', 'secret')) {
echo "Genel anahtarlı kimlik doğrulama başarılı oldu\n";
} else {
die('Genel anahtarlı kimlik doğrulama başarısız oldu');
}
?>

Notlar

Bilginize:

Alt yapıdaki libssh kütüphanesi, kısmi yetkilendirmeleri çok da açıkça desteklemiyor. Yani, hem bir genel anahtar hem de bir parola sağlamanız gerekiyorsa, bu işlev başarısız olmuş gibi görünecektir. Bu özel durumda, bu çağrının başarısız olması, kimlik kanıtlamanın henüz tamamlanmadığı anlamına gelebilir. Kimlik kanıtlamayı tamamlamak için bu hatayı görmezden gelmeniz ve devam etmeniz ve ssh2_auth_password() işlevini çağırmanız gerekir.


Bir SSH sunucusuna bağlanır

  • « ssh2_auth_pubkey_file
  • ssh2_disconnect »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir SSH sunucusuna bağlanır

ssh2_connect

(PECL ssh2 >= 0.9.0)

ssh2_connect — Bir SSH sunucusuna bağlanır

Açıklama

ssh2_connect(
string $konak,
int $port = 22,
array $yöntemler = ?,
array $geriçağırımlar = ?
): resource|false

Bir uzak SSH sunucusuna bağlanıp bir bağlantı özkaynağı döndürür.

Bağlantı sağlanır sağlanmaz, istemcinin ssh2_fingerprint() işlevini kullanarak konak anahtarını ve ardından parola veya genel anahtarla kullanıcı kimliğini doğrulaması gerekir.

Bağımsız Değişkenler

konak

port

yöntemler

Aşağıda açıklanan dört bağımsız değişkenden bazılarını içeren bir ilişkisel dizi.

Yöntemler
İndis | Anlamı | Desteklenen değerler*
kex | Anahtar müzakere yöntemlerinin listesi; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | diffie-hellman-group1-sha1, diffie-hellman-group14-sha1 ve diffie-hellman-group-exchange-sha1
hostkey | Müzakere edilecek konak anahtarı yöntemlerinin listesi; tercih sırasına göre dizilmiş bir listedir. | ssh-rsa ve ssh-dss
client_to_server | İstemciden sunucuya gönderilen iletiler için şifreleme, sıkıştırma ve ileti kimlik doğrulaması kodu (MAC) ile igili yöntem tercihlerini içeren bir ilişkisel dizi.
server_to_client | Sunucudan istemciye gönderilen iletiler için şifreleme, sıkıştırma ve ileti kimlik doğrulaması kodu (MAC) ile igili yöntem tercihlerini içeren bir ilişkisel dizi.

* - Desteklenen değerler sisteminizdeki kütüphaneye bağlıdır. Daha ayrıntılı bilgi için » libssh2 belgelerine bakınız.

client_to_server ve server_to_client aşağıdaki bağımsız değişkenlerin tamamını veya bir kısmını içeren bir ilişkisel dizidir.
İndis | Anlamı | Desteklenen değerler*
crypt | Müzakere edilecek şifreleme yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | rijndael-cbc@lysator.liu.se, aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, arcfour ve none**
comp | Müzakere edilecek sıkıştırma yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | zlib ve none
mac | Müzakere edilecek MAC yöntemleri; tercih sırasına göre dizilmiş virgül ayraçlı bir listedir. | hmac-sha1, hmac-sha1-96, hmac-ripemd160, hmac-ripemd160@openssh.com ve none**

Bilginize: Crypt ve MAC yöntemi "none"

Güvenlik saikiyle, none değeri » libssh2 kütüphanesi tarafından iptal edilmiştir. Bu değeri etkin kılmak isterseniz kütüphaneyi derlerken uygun ./configure seçeneğini kullanmanız gerekir. Daha fazla bilgi için kütüphane belgelerine bakınız.

geriçağırımlar

Aşağıdaki bağımsız değişkenleri içeren bir ilişkisel dizidir.

Geriçağırım bağımsız değişkenleri
İndis | Anlamı | İşlev bildirimi
ignore | Bir SSH2_MSG_IGNORE paketi alındığında çağrılacak işlevin ismi. | void ignore_cb($ileti)
debug | Bir SSH2_MSG_DEBUG paketi alındığında çağrılacak işlevin ismi. | void debug_cb($ileti, $dil, $hep_göster)
macerror | Bir paket alındığında ileti kimlik doğrulaması başarısız olduğunda çağrılacak işlevin ismi. Eğer geri çağırım işlevi true döndürürse uyuşmazlık görmezden gelinir, yoksa bağlantı sonlandırılır. | bool macerror_cb($packet)
disconnect | Bir SSH2_MSG_DISCONNECT paketi alındığında çağrılacak işlevin ismi. | void disconnect_cb($sebep, $ileti, $dil)

Dönen Değerler

Başarı durumunda bir özkaynak yoksa false döner.

Örnekler

Örnek 1 - ssh2_connect() örneği

Paket gönderirken 3des-cbc, paket alırken güçlü aes şifremesi için zorlayan, hiçbir yönde sıkıştırma yapılmayan ve Group1 anahtar değişim yöntemini kullanan bir bağlantı açalım.

<?php
/* Sunucu bağlantıyı sonlandırırsa kullanıcıya bilgi verelim */
function my_ssh_disconnect($ebep, $ileti, $dil) {
printf("Sunucu bağlantıyı kesti; sebep kodu ve ileti: [%d] %s\n",
$sebep, $ileti);
}

$yontemler = array(
'kex' => 'diffie-hellman-group1-sha1',
'client_to_server' => array(
'crypt' => '3des-cbc',
'comp' => 'none'),
'server_to_client' => array(
'crypt' => 'aes256-cbc,aes192-cbc,aes128-cbc',
'comp' => 'none'));

$islevler = array('disconnect' => 'my_ssh_disconnect');

$baglanti = ssh2_connect('shell.example.com', 22, $yontemler, $islevler);
if (!$baglanti) die('Bağlantı sağlanamadı');
?>

Ayrıca Bakınız

  • ssh2_fingerprint() - Uzak sunucunu parmakizini döndürür
  • ssh2_auth_none() - "none" kimlik doğrulaması yapar
  • ssh2_auth_password() - Parola kullanarak kimlik doğrulaması yapar
  • ssh2_auth_pubkey_file() - Bir genel anahtar kullanarak kimlik doğrulaması yapar
  • ssh2_disconnect() - Close a connection to a remote SSH server


Close a connection to a remote SSH server

  • « ssh2_connect
  • ssh2_exec »
  • PHP Manual
  • SSH2 İşlevleri
  • Close a connection to a remote SSH server

ssh2_disconnect

(PECL ssh2 >= 1.0)

ssh2_disconnect — Close a connection to a remote SSH server

Açıklama

ssh2_disconnect(resource $session): bool

Close a connection to a remote SSH server.

Bağımsız Değişkenler

session

An SSH connection link identifier, obtained from a call to ssh2_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ssh2_connect() - Bir SSH sunucusuna bağlanır


Uzak sunucu üzerinde bir komut çalıştırır

  • « ssh2_disconnect
  • ssh2_fetch_stream »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak sunucu üzerinde bir komut çalıştırır

ssh2_exec

(PECL ssh2 >= 0.9.0)

ssh2_exec — Uzak sunucu üzerinde bir komut çalıştırır

Açıklama

ssh2_exec(
resource $oturum,
string $komut,
string $pty = ?,
array $ortam = ?,
int $genişlik = 80,
int $yükseklik = 25,
int $enboy_türü = SSH2_TERM_UNIT_CHARS
): resource|false

Uzak sunucu üzerinde bir komut çalıştırır ve bunun için bir kanal ayırır.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

komut

pty

ortam

Hedef ortamda atanacak ortam değişkenlerini isim-değer çiftleri olarak içeren bir ilişkisel dizi.

genişlik

Sanal uçbirim genişliği.

yükseklik

Sanal uçbirim yüksekliği.

width_height_type

SSH2_TERM_UNIT_CHARS veya SSH2_TERM_UNIT_PIXELS olabilir.

Dönen Değerler

Başarısızlık durumunda false, yoksa bir akım özkaynağı döndürür.

Örnekler

Örnek 1 - Karşıda bir komut çalıştırmak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

$stream = ssh2_exec($baglanti, '/usr/local/bin/php -i');
?>

Ayrıca Bakınız

  • ssh2_connect() - Bir SSH sunucusuna bağlanır
  • ssh2_shell() - Bir etkileşimli kabuk isteği yapar
  • ssh2_tunnel() - Uzak bir sunucuya doğru bir tünel açar


Başka bir veri akımı döndürür

  • « ssh2_exec
  • ssh2_fingerprint »
  • PHP Manual
  • SSH2 İşlevleri
  • Başka bir veri akımı döndürür

ssh2_fetch_stream

(PECL ssh2 >= 0.9.0)

ssh2_fetch_stream — Başka bir veri akımı döndürür

Açıklama

ssh2_fetch_stream(resource $kanal, int $dt): resource

Bir SSH2 kanal akımı ile ilgili ikincil bir alt akım döndürür. SSH2 protokolü şimdilik tek bir alt akım tanımlamaktadır: standart hata (SSH2_STREAM_STDERR).

Bağımsız Değişkenler

kanal

dt

Bir SSH2 kanal akımı.

Dönen Değerler

İstenen akım özkaynağı ile döner.

Örnekler

Örnek 1 - Bir kabuk açıp kabukla ilgili standart hataya erişmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

$stdio_stream = ssh2_shell($baglanti);
$stderr_stream = ssh2_fetch_stream($stdio_stream, SSH2_STREAM_STDERR);
?>

Ayrıca Bakınız

  • ssh2_shell() - Bir etkileşimli kabuk isteği yapar
  • ssh2_exec() - Uzak sunucu üzerinde bir komut çalıştırır
  • ssh2_connect() - Bir SSH sunucusuna bağlanır


Uzak sunucunu parmakizini döndürür

  • « ssh2_fetch_stream
  • ssh2_forward_accept »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak sunucunu parmakizini döndürür

ssh2_fingerprint

(PECL ssh2 >= 0.9.0)

ssh2_fingerprint — Uzak sunucunu parmakizini döndürür

Açıklama

ssh2_fingerprint(resource $oturum, int $seçenekler = SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX): string

Etkin oturumdan sunucunun konak anahtarı aşını döndürür.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

seçenekler

SSH2_FINGERPRINT_MD5 veya SSH2_FINGERPRINT_SHA1 ile SSH2_FINGERPRINT_HEX veya SSH2_FINGERPRINT_RAW bitsel olarak VEYAlanabilir.

Dönen Değerler

Konak anahtarı aşını bir dizge olarak döndürür.

Örnekler

Örnek 1 - Parmakizini karşılaştırmak

<?php
$bildik_konak = '6F89C2F0A719B30CC38ABDF90755F2E4';

$baglanti = ssh2_connect('shell.example.com', 22);

$parmakizi = ssh2_fingerprint($connection,
SSH2_FINGERPRINT_MD5 | SSH2_FINGERPRINT_HEX);

if ($parmakizi != $bildik_konak) {
die("ANAHTAR UYMADI!\n" .
"Kimle dansediyoruz, acaba?!);
}
?>


Accept a connection created by a listener

  • « ssh2_fingerprint
  • ssh2_forward_listen »
  • PHP Manual
  • SSH2 İşlevleri
  • Accept a connection created by a listener

ssh2_forward_accept

(PECL ssh2 >= 0.9.0)

ssh2_forward_accept — Accept a connection created by a listener

Açıklama

ssh2_forward_accept(resource $listener): resource|false

Accepts a connection created by a listener.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

desc

An SSH2 Listener resource, obtained from a call to ssh2_forward_listen().

Dönen Değerler

Returns a stream resource, başarısızlık durumunda false döner.


Bind a port on the remote server and listen for connections

  • « ssh2_forward_accept
  • ssh2_methods_negotiated »
  • PHP Manual
  • SSH2 İşlevleri
  • Bind a port on the remote server and listen for connections

ssh2_forward_listen

(PECL ssh2 >= 0.9.0)

ssh2_forward_listen — Bind a port on the remote server and listen for connections

Açıklama

ssh2_forward_listen(
resource $session,
int $port,
string $host = ?,
int $max_connections = 16
): resource|false

Binds a port on the remote server and listen for connections.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

session

An SSH Session resource, obtained from a call to ssh2_connect().

port

The port of the remote server.

host

max_connections

Dönen Değerler

Returns an SSH2 Listener, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ssh2_forward_accept() - Accept a connection created by a listener


Müzakere yöntemlerini listeler

  • « ssh2_forward_listen
  • ssh2_poll »
  • PHP Manual
  • SSH2 İşlevleri
  • Müzakere yöntemlerini listeler

ssh2_methods_negotiated

(PECL ssh2 >= 0.9.0)

ssh2_methods_negotiated — Müzakere yöntemlerini listeler

Açıklama

ssh2_methods_negotiated(resource $oturum): array

Müzakere yöntemlerinin listesini döndürür.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

Dönen Değerler

Örnekler

Örnek 1 - Müzakere yöntemlerini öğrenmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
$yontemler = ssh2_methods_negotiated($baglanti);

echo "Şifreleme anahtarları ile ilgili müzakere yöntemleri: " .
"{$methods['kex']}\n";
echo "Sunucu, {$methods['hostkey']} yönteminde şu parmak izi ile tanınır: " .
ssh2_fingerprint($baglanti) . "\n";

echo "Sunucudan istenen paketler için şu yöntemler kullanılır:\n";
echo "\tCrypt: {$methods['client_to_server']['crypt']}\n";
echo "\tComp: {$methods['client_to_server']['comp']}\n";
echo "\tMAC: {$methods['client_to_server']['mac']}\n";

echo "İstemciden istenen paketler için şu yöntemler kullanılır:\n";
echo "\tCrypt: {$methods['server_to_client']['crypt']}\n";
echo "\tComp: {$methods['server_to_client']['comp']}\n";
echo "\tMAC: {$methods['server_to_client']['mac']}\n";

?>

Ayrıca Bakınız

  • ssh2_connect() - Bir SSH sunucusuna bağlanır


Poll the channels/listeners/streams for events

  • « ssh2_methods_negotiated
  • ssh2_publickey_add »
  • PHP Manual
  • SSH2 İşlevleri
  • Poll the channels/listeners/streams for events

ssh2_poll

(PECL ssh2 >= 0.9.0)

ssh2_poll — Poll the channels/listeners/streams for events

Açıklama

ssh2_poll(array &$desc, int $timeout = 30): int

Polls the channels/listeners/streams for events, and returns the number of descriptors which returned non-zero revents.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

desc

An indexed array of subarrays with the keys 'resource' and 'events'. The value of the resource is a (channel) stream or an SSH2 Listener resource. The value of the event are SSH2_POLL* flags bitwise ORed together. Each subarray will be populated with an 'revents' element on return, whose values are SSH2_POLL* flags bitwise ORed together of the events that occurred.

timeout

The timeout in seconds.

Dönen Değerler

Returns the number of descriptors which returned non-zero revents.


Yetkili bir genel anahtar ekler

  • « ssh2_poll
  • ssh2_publickey_init »
  • PHP Manual
  • SSH2 İşlevleri
  • Yetkili bir genel anahtar ekler

ssh2_publickey_add

(PECL ssh2 >= 0.10)

ssh2_publickey_add — Yetkili bir genel anahtar ekler

Açıklama

ssh2_publickey_add(
resource $özkaynak,
string $algoritma,
string $ikil_veri,
bool $üsteyaz = false,
array $öznitelikler = ?
): bool

Bilginize: Genel anahtar alt sistemi, istemcinin oturum açtığı sunucudaki genel anahtarları yönetmek için kullanılır. Bir uzak sistemde genel anahtarlı kimlik doğrulaması yapmak için ssh2_auth_pubkey_file() işlevini kullanın.

Bağımsız Değişkenler

özkaynak

ssh2_publickey_init() tarafından döndürülen bir genel anahtar alt sistemi özkaynağı.

algoritma

Genel anahtarı oluşturmak için kullanılan algoritma (ssh-dss, ssh-rsa gibi).

ikil_veri

Ham ikil veri olarak genel anahtar.

üsteyaz

true belirtildiği takdirde anahtar mevcut olsa bile üzerine yazılır.

öznitelikler

Anahtara atanacak öznitelikleri içeren bir ilişkisel dizi. Desteklenen özniteliklerin listesi için ietf-secsh-publickey- subsystem belgesine (bir arama motorundan) bakınız. Bir özniteliği zorunlu kılmak için isminin başına bir yıldız (*) ekleyin. Sunucu zorunlu imine sahip öznitelik isimlerini desteklemiyorsa ekleme işlemi başarısız olacaktır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ssh2_publickey_add() örneği

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'password');
$pkey = ssh2_publickey_init($ssh2);

$keyblob = base64_decode('
AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5PTrLRdjNONxXH1tVFGn0
Bd26BF0aCP9qyJRlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xj
zaLpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VEHYckxQ16CjSTibI5X
69GmnYC9PNqEYq/1TP+HF10=');

ssh2_publickey_add($pkey, 'ssh-rsa', $keyblob, false, array('comment'=>"John's Key"));
?>

Ayrıca Bakınız

  • ssh2_publickey_init() - Genel anahtar alt sistemini ilklendirir
  • ssh2_publickey_remove() - Bir genel anahtarı siler
  • ssh2_publickey_list() - Yetkili genel anahtarları listeler


Genel anahtar alt sistemini ilklendirir

  • « ssh2_publickey_add
  • ssh2_publickey_list »
  • PHP Manual
  • SSH2 İşlevleri
  • Genel anahtar alt sistemini ilklendirir

ssh2_publickey_init

(PECL ssh2 >= 0.10)

ssh2_publickey_init — Genel anahtar alt sistemini ilklendirir

Açıklama

ssh2_publickey_init(resource $oturum): resource|false

Bağlı SSH2 sunucusundan genel anahtar alt sistemi isteği yapar.

Genel anahtar alt sistemi, bağlı ve kimliği doğrulanmış bir istemcinin hedef sunucuda saklanan genel anahtar listesini yönetebilmesini sağlar. Eğer uzak sunucu genel anahtar alt sistemini desteklemiyorsa işlev false döndürür.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

Dönen Değerler

Başarısızlık durumunda false, aksi takdirde diğer ssh2_publickey_*() işlevleriyle kullanmak üzere bir SSH2 genel anahtar altsistemi özkaynağı döner.

Notlar

Bilginize: Genel anahtar alt sistemi, istemcinin oturum açtığı sunucudaki genel anahtarları yönetmek için kullanılır. Bir uzak sistemde genel anahtarlı kimlik doğrulaması yapmak için ssh2_auth_pubkey_file() işlevini kullanın.

Ayrıca Bakınız

  • ssh2_publickey_add() - Yetkili bir genel anahtar ekler
  • ssh2_publickey_remove() - Bir genel anahtarı siler
  • ssh2_publickey_list() - Yetkili genel anahtarları listeler


Yetkili genel anahtarları listeler

  • « ssh2_publickey_init
  • ssh2_publickey_remove »
  • PHP Manual
  • SSH2 İşlevleri
  • Yetkili genel anahtarları listeler

ssh2_publickey_list

(PECL ssh2 >= 0.10)

ssh2_publickey_list — Yetkili genel anahtarları listeler

Açıklama

ssh2_publickey_list(resource $özkaynak): array

Yetkili genel anahtarları listeler.

Bağımsız Değişkenler

özkaynak

ssh2_publickey_init() tarafından döndürülen bir genel anahtar alt sistemi özkaynağı.

Dönen Değerler

Herbiri name, blob ve attrs elemanlarından oluşan bir ilişkisel dizi içeren elemanlardan oluşan sayısal indisli bir dizi döndürür.

Genel Anahtar Elemanları
Dizi anahtarı | Anlamı
name | Genel anahtarı oluşturmak için kullanılan algoritmanın ismi; ssh-dss veya ssh-rsa gibi.
blob | Genel anahtarın ham ikil verisi.
attrs | Genel anahtara atanmış öznitelikler. En bilineni, sadece 1. sürüm genel anahtarlı sunucular tarafından desteklenen comment özniteliği olup herhangi bir dizgeyi değer olarak alabilir.

Örnekler

Örnek 1 - ssh2_publickey_list() örneği

<?php
$ssh2 = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($ssh2, 'jdoe', 'secret');
$pkey = ssh2_publickey_init($ssh2);

$list = ssh2_publickey_list($pkey);

foreach($list as $key) {
echo "Key: {$key['name']}\n";
echo "Blob: " . chunk_split(base64_encode($key['blob']), 40, "\n") . "\n";
echo "Comment: {$key['attrs']['comment']}\n\n";
}
?>

Yukarıdaki örneğin çıktısı:

Key: ssh-rsa
Blob: AAAAB3NzaC1yc2EAAAABIwAAAIEA5HVt6VqSGd5P
TrLRdjNONxXH1tVFGn0Bd26BF0aCP9qyJRlvdJ3j
4WBeX4ZmrveGrjMgkseSYc4xZ26sDHwfL351xjza
Lpipu\BGRrw17mWVBhuCExo476ri5tQFzbTc54VE
HYckxQ16CjSTibI5X69GmnYC9PNqEYq/1TP+HF10
Comment: John's Key

Key: ssh-rsa
Blob: AAAAB3NzaHVt6VqSGd5C1yc2EAAAABIwA232dnJA
AIEA5HVt6VqSGd5PTrLRdjNONxX/1TP+HF1HVt6V
qSGd50H1tVFGn0BB3NzaC1yc2EAd26BF0aCP9qyJ
RlvdJ3j4WBeX4ZmrveGrjMgkseSYc4xZ26HVt6Vq
SGd5sDHwfL351xjzaLpipu\BGB3NzaC1yc2EA/1T
Comment: Alice's Key

Notlar

Bilginize: Genel anahtar alt sistemi, istemcinin oturum açtığı sunucudaki genel anahtarları yönetmek için kullanılır. Bir uzak sistemde genel anahtarlı kimlik doğrulaması yapmak için ssh2_auth_pubkey_file() işlevini kullanın.

Ayrıca Bakınız

  • ssh2_publickey_init() - Genel anahtar alt sistemini ilklendirir
  • ssh2_publickey_add() - Yetkili bir genel anahtar ekler
  • ssh2_publickey_remove() - Bir genel anahtarı siler


Bir genel anahtarı siler

  • « ssh2_publickey_list
  • ssh2_scp_recv »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir genel anahtarı siler

ssh2_publickey_remove

(PECL ssh2 >= 0.10)

ssh2_publickey_remove — Bir genel anahtarı siler

Açıklama

ssh2_publickey_remove(resource $özkaynak, string $algoritma, string $ikil): bool

Yetkili genel anahtarlardan birini siler.

Bağımsız Değişkenler

özkaynak

ssh2_publickey_init() tarafından döndürülen bir genel anahtar alt sistemi özkaynağı.

algoritma

Genel anahtarı oluşturmak için kullanılan algoritma (ssh-dss, ssh-rsa gibi).

ikil

Ham ikil veri olarak genel anahtar.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Bilginize: Genel anahtar alt sistemi, istemcinin oturum açtığı sunucudaki genel anahtarları yönetmek için kullanılır. Bir uzak sistemde genel anahtarlı kimlik doğrulaması yapmak için ssh2_auth_pubkey_file() işlevini kullanın.

Ayrıca Bakınız

  • ssh2_publickey_init() - Genel anahtar alt sistemini ilklendirir
  • ssh2_publickey_add() - Yetkili bir genel anahtar ekler
  • ssh2_publickey_list() - Yetkili genel anahtarları listeler


SCP üzerinden bir dosya alır

  • « ssh2_publickey_remove
  • ssh2_scp_send »
  • PHP Manual
  • SSH2 İşlevleri
  • SCP üzerinden bir dosya alır

ssh2_scp_recv

(PECL ssh2 >= 0.9.0)

ssh2_scp_recv — SCP üzerinden bir dosya alır

Açıklama

ssh2_scp_recv(resource $oturum, string $uzak_dosya, string $yerel_dosya): bool

SCP protokolünü kullanarak uzak sunucunun dosya sistemindeki bir dosyayı yerel dosya sistemine kopyalar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

uzak_dosya

Uzak dosyanın yolu.

yerel_dosya

Yerel dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SCP üzerinden dosya indirmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

ssh2_scp_recv($baglanti, '/uzak/dosya', '/yerel/dosya');
?>

Ayrıca Bakınız

  • ssh2_scp_send() - SCP üzerinden bir dosya gönderir
  • copy() - Dosya kopyalar


SCP üzerinden bir dosya gönderir

  • « ssh2_scp_recv
  • ssh2_send_eof »
  • PHP Manual
  • SSH2 İşlevleri
  • SCP üzerinden bir dosya gönderir

ssh2_scp_send

(PECL ssh2 >= 0.9.0)

ssh2_scp_send — SCP üzerinden bir dosya gönderir

Açıklama

ssh2_scp_send(
resource $oturum,
string $yerel_dosya,
string $uzak_dosya,
int $kip = 0644
): bool

SCP protokolünü kullanarak bir yerel dosyayı uzak sunucunun dosya sistemine kopyalar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

yerel_dosya

Yerel dosyanın yolu.

uzak_dosya

Uzak dosyanın yolu.

kip

Dosya oluşturulurken atanacak erişim izinleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SCP üzerinden karşıya dosya yükleme

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

ssh2_scp_send($baglanti, '/yerel/dosya', '/uzak/dosya', 0644);
?>

Ayrıca Bakınız

  • ssh2_scp_recv() - SCP üzerinden bir dosya alır
  • copy() - Dosya kopyalar


Send EOF to stream

  • « ssh2_scp_send
  • ssh2_sftp_chmod »
  • PHP Manual
  • SSH2 İşlevleri
  • Send EOF to stream

ssh2_send_eof

(PECL ssh2 >= 1.3)

ssh2_send_eof — Send EOF to stream

Açıklama

ssh2_send_eof(resource $channel): bool

Sends an EOF to the stream; this is typically used to close standard input, while keeping output and error alive. For example, one can send a remote process some data over standard input, close it to start processing, and still be able to read out the results without creating additional files.

Bağımsız Değişkenler

channel

An SSH stream; can be acquired through functions like ssh2_fetch_stream() or ssh2_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ssh2_fetch_stream() - Başka bir veri akımı döndürür


Changes file mode

  • « ssh2_send_eof
  • ssh2_sftp_lstat »
  • PHP Manual
  • SSH2 İşlevleri
  • Changes file mode

ssh2_sftp_chmod

(PECL ssh2 >= 0.12)

ssh2_sftp_chmod — Changes file mode

Açıklama

ssh2_sftp_chmod(resource $sftp, string $filename, int $mode): bool

Attempts to change the mode of the specified file to that given in mode.

Bağımsız Değişkenler

sftp

An SSH2 SFTP resource opened by ssh2_sftp().

filename

Path to the file.

mode

Permissions on the file. See the chmod() for more details on this parameter.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Changing the mode of a file on a remote server

<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

ssh2_sftp_chmod($sftp, '/somedir/somefile', 0755);
?>

Ayrıca Bakınız

  • chmod() - Dosya kipini değiştirir
  • ssh2_sftp() - SFTP alt sistemini ilklendirir
  • ssh2_connect() - Bir SSH sunucusuna bağlanır


Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür

  • « ssh2_sftp_chmod
  • ssh2_sftp_mkdir »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür

ssh2_sftp_lstat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_lstat — Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür

Açıklama

ssh2_sftp_lstat(resource $sftp, string $bağ): array

Uzak sunucudaki bir sembolik bağın (hedefinin değil) durum bilgisini döndürür.

Bu işlev, lstat() işlevini ssh2.sftp:// sarmalayıcısı ile kullanmaya eşdeğer olup ikisi de aynı sonucu döndürür.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

bağ

Uzak sembolik bağın yolu.

Dönen Değerler

Dönen değerlerle ilgili ayrıntılı bilgi edinmek için stat() işlevinin açıklamasına bakınız.

Örnekler

Örnek 1 - SFTP üzerinden bir sembolik bağın durum bilgisini almak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

$sftp = ssh2_sftp($baglanti);
$durum = ssh2_sftp_lstat($sftp, '/bir/yol/sembağ');

$dosyaboyu = $statinfo['size'];
$group = $statinfo['gid'];
$sahibi = $statinfo['uid'];
$eriszaman = $statinfo['atime'];
$degiszaman = $statinfo['mtime'];
$kip = $statinfo['mode'];
?>

Ayrıca Bakınız

  • ssh2_sftp_stat() - Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür
  • lstat() - Bir dosya veya sembolik bağ hakkında bilgi verir
  • stat() - Bir dosya hakkında bilgi döndürür


Uzak konakta bir dizin oluşturur

  • « ssh2_sftp_lstat
  • ssh2_sftp_readlink »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak konakta bir dizin oluşturur

ssh2_sftp_mkdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_mkdir — Uzak konakta bir dizin oluşturur

Açıklama

ssh2_sftp_mkdir(
resource $sftp,
string $dizin,
int $kip = 0777,
bool $ardışık = false
): bool

Erişim izinleri olarak belirtilen kip'i kullanarak uzak sunucuda bir dizin oluşturur.

Bu işlev, mkdir() işlevini ssh2.sftp:// sarmalayıcısı ile kullanmaya eşdeğerdir.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

dizin

Oluşturulacak dizinin yolu.

kip

Kip geçerli umask'tan etkilenir.

ardışık

true belirtilirse otomatik olarak dizin için gerekli üst dizinler de oluşturulur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Karşıda bir dizin oluşturmak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

ssh2_sftp_mkdir($sftp, '/home/birey/yenidizin');
/* Veya: mkdir("ssh2.sftp://$sftp/home/birey/yenidizin"); */
?>

Ayrıca Bakınız

  • mkdir() - Dizin oluşturur
  • ssh2_sftp_rmdir() - Karşıdan bir dizin siler


Bir sembolik bağın hedefini döndürür

  • « ssh2_sftp_mkdir
  • ssh2_sftp_realpath »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir sembolik bağın hedefini döndürür

ssh2_sftp_readlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_readlink — Bir sembolik bağın hedefini döndürür

Açıklama

ssh2_sftp_readlink(resource $sftp, string $bağ): string

Bir sembolik bağın hedefini döndürür.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

bağ

Sembolik bağın yolu.

Dönen Değerler

Sembolik bağ'ın hedefini döndürür.

Örnekler

Örnek 1 - Bir sembolik bağı okumak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

$hedef = ssh2_sftp_readlink($sftp, '/tmp/mysql.sock');
/* $hedef (örneğin): '/var/run/mysql.sock' */
?>

Ayrıca Bakınız

  • readlink() - Bir sembolik bağın hedefi ile döner
  • ssh2_sftp_symlink() - Karşıda bir sembolik bağ oluşturur


Belirtilen dosya yolu dizgesinden gerçek yolu elde eder

  • « ssh2_sftp_readlink
  • ssh2_sftp_rename »
  • PHP Manual
  • SSH2 İşlevleri
  • Belirtilen dosya yolu dizgesinden gerçek yolu elde eder

ssh2_sftp_realpath

(PECL ssh2 >= 0.9.0)

ssh2_sftp_realpath — Belirtilen dosya yolu dizgesinden gerçek yolu elde eder

Açıklama

ssh2_sftp_realpath(resource $sftp, string $yol): string

Belirtilen yoldizgesinden uzak sunucunun kök dizinine göre asıl yolu elde eder.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

yol

Dönen Değerler

Asıl yolu bir dizge olarak döndürür.

Örnekler

Örnek 1 - Bir dosya yolunun çözümlenmesi

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

$asilyol = ssh2_sftp_realpath($sftp, '/home/birey/../../../..//./usr/../etc/passwd');
/* $asilyol: '/etc/passwd' */
?>

Ayrıca Bakınız

  • realpath() - Normalleştirilmiş mutlak dosya yolunu döndürür
  • ssh2_sftp_symlink() - Karşıda bir sembolik bağ oluşturur
  • ssh2_sftp_readlink() - Bir sembolik bağın hedefini döndürür


Bir uzak dosyanın ismini değiştirir

  • « ssh2_sftp_realpath
  • ssh2_sftp_rmdir »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir uzak dosyanın ismini değiştirir

ssh2_sftp_rename

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rename — Bir uzak dosyanın ismini değiştirir

Açıklama

ssh2_sftp_rename(resource $sftp, string $eskisi, string $yenisi): bool

Uzak dosya sistemindeki bir dosyanın ismini değiştirir.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

eskisi

İsmi değiştirilecek dosyanın yolu.

yenisi

Dosyanın yeni ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SFTP üzerinden bır dosyanın ismini değiştirmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

ssh2_sftp_rename($sftp, '/home/birey/eskisi', '/home/birey/yenisi);
?>

Ayrıca Bakınız

  • rename() - Bir dosya veya dizinin ismini değiştirir


Karşıdan bir dizin siler

  • « ssh2_sftp_rename
  • ssh2_sftp_stat »
  • PHP Manual
  • SSH2 İşlevleri
  • Karşıdan bir dizin siler

ssh2_sftp_rmdir

(PECL ssh2 >= 0.9.0)

ssh2_sftp_rmdir — Karşıdan bir dizin siler

Açıklama

ssh2_sftp_rmdir(resource $sftp, string $dizin): bool

Uzak dosya sunucusundan belirtilen dizini siler.

Bu işlev, rmdir() işlevi ile ssh2.sftp:// sarmalayıcısını kullanmaya eşdeğerdir.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

dizin

Silinecek dizinin yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Uzak sunucudan bir dizini silmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

ssh2_sftp_rmdir($sftp, '/home/birey/bayat_dizin');
/* Veya: rmdir("ssh2.sftp://$sftp/home/birey/bayat_dizin"); */
?>

Ayrıca Bakınız

  • rmdir() - Dizin siler
  • ssh2_sftp_mkdir() - Uzak konakta bir dizin oluşturur


Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür

  • « ssh2_sftp_rmdir
  • ssh2_sftp_symlink »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür

ssh2_sftp_stat

(PECL ssh2 >= 0.9.0)

ssh2_sftp_stat — Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür

Açıklama

ssh2_sftp_stat(resource $sftp, string $dosya): array

Bir sembolik bağın hedefindeki dosya sistemi üzerinde bulunan bir dosyanın durum bilgisini alır.

Bu işlev, stat() işlevini ssh2.sftp:// sarmalayıcısı ile kullanmaya eşdeğer olup ikisi de aynı sonucu döndürür.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

dosya

Dönen Değerler

Dönen değerlerle ilgili ayrıntılı bilgi edinmek için stat() işlevinin açıklamasına bakınız.

Örnekler

Örnek 1 - SFTP üzerinden bir dosyanın durum bilgisini almak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');

$sftp = ssh2_sftp($baglanti);
$statinfo = ssh2_sftp_stat($sftp, '/bir/yol/dosya');

$dosyaboyu = $statinfo['size'];
$grup = $statinfo['gid'];
$sahibi = $statinfo['uid'];
$eriszaman = $statinfo['atime'];
$degiszaman = $statinfo['mtime'];
kip = $statinfo['mode'];
?>

Ayrıca Bakınız

  • ssh2_sftp_lstat() - Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür
  • lstat() - Bir dosya veya sembolik bağ hakkında bilgi verir
  • stat() - Bir dosya hakkında bilgi döndürür


Karşıda bir sembolik bağ oluşturur

  • « ssh2_sftp_stat
  • ssh2_sftp_unlink »
  • PHP Manual
  • SSH2 İşlevleri
  • Karşıda bir sembolik bağ oluşturur

ssh2_sftp_symlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_symlink — Karşıda bir sembolik bağ oluşturur

Açıklama

ssh2_sftp_symlink(resource $sftp, string $hedef, string $bağ): bool

hedef ile belirtilen uzak dosya sistemine bağ isminde bir sembolik bağ oluşturur.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

hedef

Sembolik bağın hedefi.

bağ

Sembolik bağın ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Karşıya bir sembolik bağ oluşturmak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

ssh2_sftp_symlink($sftp, '/var/run/mysql.sock', '/tmp/mysql.sock');
?>

Ayrıca Bakınız

  • ssh2_sftp_readlink() - Bir sembolik bağın hedefini döndürür
  • symlink() - Bir sembolik bağ oluşturur


Bir dosyayı siler

  • « ssh2_sftp_symlink
  • ssh2_sftp »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir dosyayı siler

ssh2_sftp_unlink

(PECL ssh2 >= 0.9.0)

ssh2_sftp_unlink — Bir dosyayı siler

Açıklama

ssh2_sftp_unlink(resource $sftp, string $dosya): bool

Uzak dosya sistemindeki bir dosyayı siler.

Bağımsız Değişkenler

sftp

ssh2_sftp() tarafından açılmış bir SSH2 SFTP özkaynağı.

dosya

Silinecek dosyanın yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Karşıdan bir dosya silmek

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'birey', 'parola');
$sftp = ssh2_sftp($baglanti);

ssh2_sftp_unlink($sftp, '/home/birey/bayat_dosya');
?>

Ayrıca Bakınız

  • unlink() - Bir dosyayı siler


SFTP alt sistemini ilklendirir

  • « ssh2_sftp_unlink
  • ssh2_shell »
  • PHP Manual
  • SSH2 İşlevleri
  • SFTP alt sistemini ilklendirir

ssh2_sftp

(PECL ssh2 >= 0.9.0)

ssh2_sftp — SFTP alt sistemini ilklendirir

Açıklama

ssh2_sftp(resource $oturum): resource|false

Bağlı bir SSH sunucusuna SFTP alt sistemi için bir istek yapar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

Dönen Değerler

Diğer ssh2_sftp_*() işlevleri ile ve ssh2.sftp:// fopen sarmalayıcısı ile kullanmak üzere bir SSH2 SFTP özkaynağı, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - SFTP üzerinden bir dosya açmak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'kullanıcı', 'parola');

$sftp = ssh2_sftp($baglanti);

$akim = fopen('ssh2.sftp://' . intval($sftp) . '/path/to/file', 'r');
?>

Ayrıca Bakınız

  • ssh2_scp_recv() - SCP üzerinden bir dosya alır
  • ssh2_scp_send() - SCP üzerinden bir dosya gönderir


Bir etkileşimli kabuk isteği yapar

  • « ssh2_sftp
  • ssh2_tunnel »
  • PHP Manual
  • SSH2 İşlevleri
  • Bir etkileşimli kabuk isteği yapar

ssh2_shell

(PECL ssh2 >= 0.9.0)

ssh2_shell — Bir etkileşimli kabuk isteği yapar

Açıklama

ssh2_shell(
resource $oturum,
string $uçbirim_türü = "vanilla",
?array $ortam = null,
int $genişlik = 80,
int $yükseklik = 25,
int $enboy_türü = SSH2_TERM_UNIT_CHARS
): resource|false

Uzak uçta bir kabuk açıp bir akımla ilişkilendirir.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

uçbirim_türü

Hedef sistemin /etc/termcap dosyasındaki girdilerden biri olmalıdır.

env

Hedef ortamında tanımlanacak ortam değişkenlerini isim-değer çiftleri olarak içeren bir ilişkisel dizi.

genişlik

Sanal uçbirim genişliği.

yükseklik

Sanal uçbirim yüksekliği.

enboy_türü

SSH2_TERM_UNIT_CHARS veya SSH2_TERM_UNIT_PIXELS olabilir.

Dönen Değerler

Başarı durumunda bir akım özkaynağı, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Etkileşimli kabuk isteği

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($baglanti, 'kullanıcı', 'parola');

$akim = ssh2_shell($baglanti, 'vt102', null, 80, 24, SSH2_TERM_UNIT_CHARS);
?>

Ayrıca Bakınız

  • ssh2_exec() - Uzak sunucu üzerinde bir komut çalıştırır
  • ssh2_tunnel() - Uzak bir sunucuya doğru bir tünel açar
  • ssh2_fetch_stream() - Başka bir veri akımı döndürür


Uzak bir sunucuya doğru bir tünel açar

  • « ssh2_shell
  • Stomp »
  • PHP Manual
  • SSH2 İşlevleri
  • Uzak bir sunucuya doğru bir tünel açar

ssh2_tunnel

(PECL ssh2 >= 0.9.0)

ssh2_tunnel — Uzak bir sunucuya doğru bir tünel açar

Açıklama

ssh2_tunnel(resource $oturum, string $konak, int $port): resource

Bağlı bir SSH sunucusu üzerinden belirtilen konak ve porta bir soket akımı açar.

Bağımsız Değişkenler

oturum

ssh2_connect() ile sağlanan bir SSH bağlantı tanıtıcısı.

konak

port

Dönen Değerler

Örnekler

Örnek 1 - Belli bir konağa bir tünel açmak

<?php
$baglanti = ssh2_connect('shell.example.com', 22);
ssh2_auth_pubkey_file($baglanti, 'kullanıcı', 'id_dsa.pub', 'id_dsa');

$tunel = ssh2_tunnel($baglanti, '10.0.0.101', 12345);
?>

Ayrıca Bakınız

  • ssh2_connect() - Bir SSH sunucusuna bağlanır
  • fsockopen() - Bir internet veya Unix alan soketi bağlantısı açar


Stomp Client

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Örnekler
  • Stomp İşlevleri
    • stomp_connect_error — Returns a string description of the last connect error
    • stomp_version — Gets the current stomp extension version
  • Stomp — The Stomp class
    • Stomp::abort — Rolls back a transaction in progress
    • Stomp::ack — Acknowledges consumption of a message
    • Stomp::begin — Starts a transaction
    • Stomp::commit — Commits a transaction in progress
    • Stomp::__construct — Opens a connection
    • Stomp::__destruct — Closes stomp connection
    • Stomp::error — Gets the last stomp error
    • Stomp::getReadTimeout — Gets read timeout
    • Stomp::getSessionId — Gets the current stomp session ID
    • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
    • Stomp::readFrame — Reads the next frame
    • Stomp::send — Sends a message
    • Stomp::setReadTimeout — Sets read timeout
    • Stomp::subscribe — Registers to listen to a given destination
    • Stomp::unsubscribe — Removes an existing subscription
  • StompFrame — The StompFrame class
    • StompFrame::__construct — Constructor
  • StompException — The StompException class
    • StompException::getDetails — Get exception details


Giriş

This extension allows php applications to communicate with any Stomp compliant Message Brokers through easy object-oriented and procedural interfaces. » Stomp official site


Gereksinimler

The » OpenSSL package >= 0.9.6 and the openssl extension may also be required to use stomp over SSL.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/stomp


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Stomp Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
stomp.default_broker | tcp://localhost:61613 | PHP_INI_ALL |
stomp.default_connection_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_connection_timeout_usec | 0 | PHP_INI_ALL |
stomp.default_read_timeout_sec | 2 | PHP_INI_ALL |
stomp.default_read_timeout_usec | 0 | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

stomp.default_broker string

The default broker URI to use when connecting to the message broker if no other URI is specified.

stomp.default_connection_timeout_sec int

The seconds part of the default connection timeout.

stomp.default_connection_timeout_usec int

The microseconds part of the default connection timeout.

stomp.default_read_timeout_sec int

The seconds part of the default reading timeout.

stomp.default_read_timeout_usec int

The microseconds part of the default reading timeout.


Özkaynak Türleri

There is only one resource type used in the stomp extension - it's the link identifier for a stomp connection.


Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

$queue = '/queue/foo';
$msg = 'bar';

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
var_dump($frame);

/* acknowledge that the frame was received */
$stomp->ack($frame);
}

/* close connection */
unset($stomp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Örnek 2 Yordamsal kullanım

<?php

$queue = '/queue/foo';
$msg = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
var_dump($frame);

/* acknowledge that the frame was received */
stomp_ack($link, $frame['headers']['message-id']);
}

/* close connection */
stomp_close($link);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}


Stomp İşlevleri

İçindekiler

  • stomp_connect_error — Returns a string description of the last connect error
  • stomp_version — Gets the current stomp extension version


Returns a string description of the last connect error

  • « Stomp İşlevleri
  • stomp_version »
  • PHP Manual
  • Stomp İşlevleri
  • Returns a string description of the last connect error

stomp_connect_error

(PECL stomp >= 0.3.0)

stomp_connect_error — Returns a string description of the last connect error

Açıklama

stomp_connect_error(): string

Returns a string description of the last connect error.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string that describes the error, or null if no error occurred.

Örnekler

Örnek 1 stomp_connect_error() example

<?php
$link = stomp_connect('http://localhost:61613');

if(!$link) {
die('Connection failed: ' . stomp_connect_error());
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Connection failed: Invalid Broker URI scheme


Gets the current stomp extension version

  • « stomp_connect_error
  • Stomp »
  • PHP Manual
  • Stomp İşlevleri
  • Gets the current stomp extension version

stomp_version

(PECL stomp >= 0.1.0)

stomp_version — Gets the current stomp extension version

Açıklama

stomp_version(): string

Returns a string containing the version of the current stomp extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

It returns the current stomp extension version

Örnekler

Örnek 1 stomp_version() example

<?php

var_dump(stomp_version());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "0.2.0"


The Stomp class

(PECL stomp >= 0.1.0)

Giriş

Represents a connection between PHP and a Stomp compliant Message Broker.

Sınıf Sözdizimi

class Stomp {
/* Yöntemler */
public __construct(
string $broker = ini_get("stomp.default_broker_uri"),
string $username = ?,
string $password = ?,
array $headers = ?
)
public abort(string $transaction_id, array $headers = ?): bool
stomp_abort(resource $link, string $transaction_id, array $headers = ?): bool
public ack(mixed $msg, array $headers = ?): bool
stomp_ack(resource $link, mixed $msg, array $headers = ?): bool
public begin(string $transaction_id, array $headers = ?): bool
stomp_begin(resource $link, string $transaction_id, array $headers = ?): bool
public commit(string $transaction_id, array $headers = ?): bool
stomp_commit(resource $link, string $transaction_id, array $headers = ?): bool
stomp_connect(
string $broker = ini_get("stomp.default_broker_uri"),
string $username = ?,
string $password = ?,
array $headers = ?
): resource
stomp_close(resource $link): bool
public error(): string
stomp_error(resource $link): string
public getReadTimeout(): array
stomp_get_read_timeout(resource $link): array
public getSessionId(): string|false
stomp_get_session_id(resource $link): string|false
public hasFrame(): bool
stomp_has_frame(resource $link): bool
public readFrame(string $class_name = "stompFrame"): stompframe
stomp_read_frame(resource $link): array
public send(string $destination, mixed $msg, array $headers = ?): bool
stomp_send(
resource $link,
string $destination,
mixed $msg,
array $headers = ?
): bool
public setReadTimeout(int $seconds, int $microseconds = ?): void
stomp_set_read_timeout(resource $link, int $seconds, int $microseconds = ?): void
public subscribe(string $destination, array $headers = ?): bool
stomp_subscribe(resource $link, string $destination, array $headers = ?): bool
public unsubscribe(string $destination, array $headers = ?): bool
stomp_unsubscribe(resource $link, string $destination, array $headers = ?): bool
public __destruct()
}

İçindekiler

  • Stomp::abort — Rolls back a transaction in progress
  • Stomp::ack — Acknowledges consumption of a message
  • Stomp::begin — Starts a transaction
  • Stomp::commit — Commits a transaction in progress
  • Stomp::__construct — Opens a connection
  • Stomp::__destruct — Closes stomp connection
  • Stomp::error — Gets the last stomp error
  • Stomp::getReadTimeout — Gets read timeout
  • Stomp::getSessionId — Gets the current stomp session ID
  • Stomp::hasFrame — Indicates whether or not there is a frame ready to read
  • Stomp::readFrame — Reads the next frame
  • Stomp::send — Sends a message
  • Stomp::setReadTimeout — Sets read timeout
  • Stomp::subscribe — Registers to listen to a given destination
  • Stomp::unsubscribe — Removes an existing subscription


Rolls back a transaction in progress

  • « Stomp
  • Stomp::ack »
  • PHP Manual
  • Stomp
  • Rolls back a transaction in progress

Stomp::abort

stomp_abort

(PECL stomp >= 0.1.0)

Stomp::abort -- stomp_abort — Rolls back a transaction in progress

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::abort(string $transaction_id, array $headers = ?): bool

Yordamsal kullanım:

stomp_abort(resource $link, string $transaction_id, array $headers = ?): bool

Rolls back a transaction in progress.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

transaction_id

The transaction to abort.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
$stomp->abort('t1');

/* close connection */
unset($stomp);
?>

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* rollback */
stomp_abort($link, 't1');

/* close connection */
stomp_close($link);

?>

Notlar

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Acknowledges consumption of a message

  • « Stomp::abort
  • Stomp::begin »
  • PHP Manual
  • Stomp
  • Acknowledges consumption of a message

Stomp::ack

stomp_ack

(PECL stomp >= 0.1.0)

Stomp::ack -- stomp_ack — Acknowledges consumption of a message

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::ack(mixed $msg, array $headers = ?): bool

Yordamsal kullanım:

stomp_ack(resource $link, mixed $msg, array $headers = ?): bool

Acknowledges consumption of a message from a subscription using client acknowledgment.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

msg

The message/messageId to be acknowledged.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

$queue = '/queue/foo';
$msg = 'bar';

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* send a message to the queue 'foo' */
$stomp->send($queue, $msg);

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe($queue);

/* read a frame */
$frame = $stomp->readFrame();

if ($frame->body === $msg) {
/* acknowledge that the frame was received */
$stomp->ack($frame);
}

/* remove the subscription */
$stomp->unsubscribe($queue);

/* close connection */
unset($stomp);

?>

Örnek 2 Yordamsal kullanım

<?php

$queue = '/queue/foo';
$msg = 'bar';

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, $queue, $msg, array('transaction' => 't1'));

/* commit a transaction */
stomp_commit($link, 't1');

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, $queue);

/* read a frame */
$frame = stomp_read_frame($link);

if ($frame['body'] === $msg) {
/* acknowledge that the frame was received */
stomp_ack($link, $frame['headers']['message-id']);
}

/* remove the subscription */
stomp_unsubscribe($link, $queue);

/* close connection */
stomp_close($link);

?>

Notlar

Bilginize:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Starts a transaction

  • « Stomp::ack
  • Stomp::commit »
  • PHP Manual
  • Stomp
  • Starts a transaction

Stomp::begin

stomp_begin

(PECL stomp >= 0.1.0)

Stomp::begin -- stomp_begin — Starts a transaction

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::begin(string $transaction_id, array $headers = ?): bool

Yordamsal kullanım:

stomp_begin(resource $link, string $transaction_id, array $headers = ?): bool

Starts a transaction.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

transaction_id

The transaction id.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

See stomp_commit() or stomp_abort().

Notlar

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Commits a transaction in progress

  • « Stomp::begin
  • Stomp::__construct »
  • PHP Manual
  • Stomp
  • Commits a transaction in progress

Stomp::commit

stomp_commit

(PECL stomp >= 0.1.0)

Stomp::commit -- stomp_commit — Commits a transaction in progress

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::commit(string $transaction_id, array $headers = ?): bool

Yordamsal kullanım:

stomp_commit(resource $link, string $transaction_id, array $headers = ?): bool

Commits a transaction in progress.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

transaction_id

The transaction id.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* begin a transaction */
$stomp->begin('t1');

/* send a message to the queue */
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
$stomp->commit('t1');

/* close connection */
unset($stomp);

?>

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('tcp://localhost:61613');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* begin a transaction */
stomp_begin($link, 't1');

/* send a message to the queue 'foo' */
stomp_send($link, '/queue/foo', 'bar', array('transaction' => 't1'));

/* commit */
stomp_commit($link, 't1');

/* close connection */
stomp_close($link);

?>

Notlar

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Opens a connection

  • « Stomp::commit
  • Stomp::__destruct »
  • PHP Manual
  • Stomp
  • Opens a connection

Stomp::__construct

stomp_connect

(PECL stomp >= 0.1.0)

Stomp::__construct -- stomp_connect — Opens a connection

Açıklama

Nesne yönelimli kullanım (constructor):

public Stomp::__construct(
string $broker = ini_get("stomp.default_broker_uri"),
string $username = ?,
string $password = ?,
array $headers = ?
)

Yordamsal kullanım:

stomp_connect(
string $broker = ini_get("stomp.default_broker_uri"),
string $username = ?,
string $password = ?,
array $headers = ?
): resource

Opens a connection to a stomp compliant Message Broker.

Bağımsız Değişkenler

broker

The broker URI

username

The username.

password

The password.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Bilginize:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL stomp 1.0.1 | The headers parameter was added

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* close connection */
unset($stomp);

?>

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* close connection */
stomp_close($link);

?>


Closes stomp connection

  • « Stomp::__construct
  • Stomp::error »
  • PHP Manual
  • Stomp
  • Closes stomp connection

Stomp::__destruct

stomp_close

(PECL stomp >= 0.1.0)

Stomp::__destruct -- stomp_close — Closes stomp connection

Açıklama

Nesne yönelimli kullanım (destructor):

public Stomp::__destruct()

Yordamsal kullanım:

stomp_close(resource $link): bool

Closes a previously opened connection.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

See stomp_connect().


Gets the last stomp error

  • « Stomp::__destruct
  • Stomp::getReadTimeout »
  • PHP Manual
  • Stomp
  • Gets the last stomp error

Stomp::error

stomp_error

(PECL stomp >= 0.1.0)

Stomp::error -- stomp_error — Gets the last stomp error

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::error(): string

Yordamsal kullanım:

stomp_error(resource $link): string

Gets the last stomp error.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

Dönen Değerler

Returns an error string or false if no error occurred.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->error());

if (!$stomp->abort('unknown-transaction', array('receipt' => 'foo'))) {
var_dump($stomp->error());
}

/* close connection */
unset($stomp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_error($link));

if (!stomp_abort($link, 'unknown-transaction', array('receipt' => 'foo'))) {
var_dump(stomp_error($link));
}

/* close connection */
stomp_close($link);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
string(43) "Invalid transaction id: unknown-transaction"


Gets read timeout

  • « Stomp::error
  • Stomp::getSessionId »
  • PHP Manual
  • Stomp
  • Gets read timeout

Stomp::getReadTimeout

stomp_get_read_timeout

(PECL stomp >= 0.3.0)

Stomp::getReadTimeout -- stomp_get_read_timeout — Gets read timeout

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::getReadTimeout(): array

Yordamsal kullanım:

stomp_get_read_timeout(resource $link): array

Gets read timeout

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

Dönen Değerler

Returns an array with 2 elements: sec and usec.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getReadTimeout());

/* close connection */
unset($stomp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_read_timeout($link));

/* close connection */
stomp_close($link);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["sec"]=>
  int(2)
  ["usec"]=>
  int(0)
}


Gets the current stomp session ID

  • « Stomp::getReadTimeout
  • Stomp::hasFrame »
  • PHP Manual
  • Stomp
  • Gets the current stomp session ID

Stomp::getSessionId

stomp_get_session_id

(PECL stomp >= 0.1.0)

Stomp::getSessionId -- stomp_get_session_id — Gets the current stomp session ID

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::getSessionId(): string|false

Yordamsal kullanım:

stomp_get_session_id(resource $link): string|false

Gets the current stomp session ID.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

Dönen Değerler

string session id on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

var_dump($stomp->getSessionId());

/* close connection */
unset($stomp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(35) "ID:php.net-52873-1257291895530-4:14"

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

var_dump(stomp_get_session_id($link));

/* close connection */
stomp_close($link);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(35) "ID:php.net-52873-1257291895530-4:14"


Indicates whether or not there is a frame ready to read

  • « Stomp::getSessionId
  • Stomp::readFrame »
  • PHP Manual
  • Stomp
  • Indicates whether or not there is a frame ready to read

Stomp::hasFrame

stomp_has_frame

(PECL stomp >= 0.1.0)

Stomp::hasFrame -- stomp_has_frame — Indicates whether or not there is a frame ready to read

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::hasFrame(): bool

Yordamsal kullanım:

stomp_has_frame(resource $link): bool

Indicates whether or not there is a frame ready to read.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

Dönen Değerler

Returns true if a frame is ready to read, or false otherwise.


Reads the next frame

  • « Stomp::hasFrame
  • Stomp::send »
  • PHP Manual
  • Stomp
  • Reads the next frame

Stomp::readFrame

stomp_read_frame

(PECL stomp >= 0.1.0)

Stomp::readFrame -- stomp_read_frame — Reads the next frame

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::readFrame(string $class_name = "stompFrame"): stompframe

Yordamsal kullanım:

stomp_read_frame(resource $link): array

Reads the next frame. It is possible to instantiate an object of a specific class, and pass parameters to that class's constructor.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

class_name

The name of the class to instantiate. If not specified, a stompFrame object is returned.

Dönen Değerler

Bilginize:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

Sürüm Bilgisi

Sürüm: | Açıklama
Stomp 0.4.0 | class_name parameter was added.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

/* subscribe to messages from the queue 'foo' */
$stomp->subscribe('/queue/foo');

/* read a frame */
var_dump($stomp->readFrame());

/* close connection */
unset($stomp);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(StompFrame)#2 (3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["headers"]=>
  array(5) {
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257226805828"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
  ["body"]=>
  string(3) "bar"
}

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

/* subscribe to messages from the queue 'foo' */
stomp_subscribe($link, '/queue/foo');

/* read a frame */
$frame = stomp_read_frame($link);

/* close connection */
stomp_close($link);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(3) {
  ["command"]=>
  string(7) "MESSAGE"
  ["body"]=>
  string(3) "bar"
  ["headers"]=>
  array(6) {
    ["transaction"]=>
    string(2) "t1"
    ["message-id"]=>
    string(41) "ID:php.net-55293-1257226743606-4:3:-1:1:1"
    ["destination"]=>
    string(10) "/queue/foo"
    ["timestamp"]=>
    string(13) "1257227037059"
    ["expires"]=>
    string(1) "0"
    ["priority"]=>
    string(1) "0"
  }
}


Sends a message

  • « Stomp::readFrame
  • Stomp::setReadTimeout »
  • PHP Manual
  • Stomp
  • Sends a message

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send — Sends a message

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::send(string $destination, mixed $msg, array $headers = ?): bool

Yordamsal kullanım:

stomp_send(
resource $link,
string $destination,
mixed $msg,
array $headers = ?
): bool

Sends a message to the Message Broker.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

destination

Where to send the message

msg

Message to send.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

See stomp_ack().

Notlar

Bilginize:

A transaction header may be specified, indicating that the message acknowledgment should be part of the named transaction.

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Sets read timeout

  • « Stomp::send
  • Stomp::subscribe »
  • PHP Manual
  • Stomp
  • Sets read timeout

Stomp::setReadTimeout

stomp_set_read_timeout

(PECL stomp >= 0.3.0)

Stomp::setReadTimeout -- stomp_set_read_timeout — Sets read timeout

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::setReadTimeout(int $seconds, int $microseconds = ?): void

Yordamsal kullanım:

stomp_set_read_timeout(resource $link, int $seconds, int $microseconds = ?): void

Sets read timeout.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

seconds

The seconds part of the timeout to be set.

microseconds

The microseconds part of the timeout to be set.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Nesne yönelimli kullanım

<?php

/* connection */
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
}

$stomp->setReadTimeout(10);

/* close connection */
unset($stomp);

?>

Örnek 2 Yordamsal kullanım

<?php

/* connection */
$link = stomp_connect('ssl://localhost:61612');

/* check connection */
if (!$link) {
die('Connection failed: ' . stomp_connect_error());
}

stomp_set_read_timeout($link, 10);

/* close connection */
stomp_close($link);

?>


Registers to listen to a given destination

  • « Stomp::setReadTimeout
  • Stomp::unsubscribe »
  • PHP Manual
  • Stomp
  • Registers to listen to a given destination

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe — Registers to listen to a given destination

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::subscribe(string $destination, array $headers = ?): bool

Yordamsal kullanım:

stomp_subscribe(resource $link, string $destination, array $headers = ?): bool

Registers to listen to a given destination.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

destination

Destination to subscribe to.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

See stomp_ack().

Notlar

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


Removes an existing subscription

  • « Stomp::subscribe
  • StompFrame »
  • PHP Manual
  • Stomp
  • Removes an existing subscription

Stomp::unsubscribe

stomp_unsubscribe

(PECL stomp >= 0.1.0)

Stomp::unsubscribe -- stomp_unsubscribe — Removes an existing subscription

Açıklama

Nesne yönelimli kullanım (method):

public Stomp::unsubscribe(string $destination, array $headers = ?): bool

Yordamsal kullanım:

stomp_unsubscribe(resource $link, string $destination, array $headers = ?): bool

Removes an existing subscription.

Bağımsız Değişkenler

link

Procedural style only: The stomp link identifier returned by stomp_connect().

destination

Subscription to remove.

headers

Associative array containing the additional headers (example: receipt).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

See stomp_ack().

Notlar

İpucu

Stomp is inherently asynchronous. Synchronous communication can be implemented adding a receipt header. This will cause methods to not return anything until the server has acknowledged receipt of the message or until read timeout was reached.


The StompFrame class

(PECL stomp >= 0.1.0)

Giriş

Represents a message which was sent or received from a Stomp compliant Message Broker.

Sınıf Sözdizimi

class StompFrame {
/* Özellikler */
public $command;
public $headers;
public $body;
/* Yöntemler */
__construct(string $command = ?, array $headers = ?, string $body = ?)
}

Özellikler

command

Frame command.

headers

Frame headers (array).

body

Frame body.

İçindekiler

  • StompFrame::__construct — Constructor


Constructor

  • « StompFrame
  • StompException »
  • PHP Manual
  • StompFrame
  • Constructor

StompFrame::__construct

(PECL stomp >= 0.1.0)

StompFrame::__construct — Constructor

Açıklama

StompFrame::__construct(string $command = ?, array $headers = ?, string $body = ?)

Constructor.

Bağımsız Değişkenler

command

Frame command

headers

Frame headers (array).

body

Frame body.


The StompException class

(PECL stomp >= 0.1.0)

Giriş

Represents an error raised by the stomp extension. See Exceptions for more information about Exceptions in PHP.

Sınıf Sözdizimi

class StompException extends Exception {
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
/* Yöntemler */
public getDetails(): string
}

İçindekiler

  • StompException::getDetails — Get exception details


Get exception details

  • « StompException
  • SVM »
  • PHP Manual
  • StompException
  • Get exception details

StompException::getDetails

(PECL stomp >= 0.1.0)

StompException::getDetails — Get exception details

Açıklama

public StompException::getDetails(): string

Get exception details.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string containing the error details.


Support Vector Machine

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Örnekler
  • SVM — The SVM class
    • SVM::__construct — Construct a new SVM object
    • SVM::crossvalidate — Test training params on subsets of the training data
    • SVM::getOptions — Return the current training parameters
    • SVM::setOptions — Set training parameters
    • SVM::train — Create a SVMModel based on training data
  • SVMModel — The SVMModel class
    • SVMModel::checkProbabilityModel — Returns true if the model has probability information
    • SVMModel::__construct — Construct a new SVMModel
    • SVMModel::getLabels — Get the labels the model was trained on
    • SVMModel::getNrClass — Returns the number of classes the model was trained with
    • SVMModel::getSvmType — Get the SVM type the model was trained with
    • SVMModel::getSvrProbability — Get the sigma value for regression types
    • SVMModel::load — Load a saved SVM Model
    • SVMModel::predict_probability — Return class probabilities for previous unseen data
    • SVMModel::predict — Predict a value for previously unseen data
    • SVMModel::save — Save a model to a file


Giriş

LibSVM is an efficient solver for SVM classification and regression problems. The svm extension wraps this in a PHP interface for easy use in PHP scripts.


Gereksinimler

Libsvm itself is required, and is available through some package management - libsvm-devel for RPM based system or libsvm-dev for Debian based ones. Alternatively it is available direct from the website. If installing from the » official website then some steps will need to be taken as the package does not install automatically. For example, assuming the latest version is 3.1:

wget http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz
tar xvzf libsvm-3.1.tar.gz
cd libsvm-3.1
make lib
cp libsvm.so.1 /usr/lib
ln -s libsvm.so.1 libsvm.so
ldconfig
ldconfig --print | grep libsvm

This last step should show libsvm is installed.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/svm


Örnekler

The basic process is to define parameters, supply training data to generate a model on, then make predictions based on the model. There are a default set of parameters that should get some results with most any input, so we'll start by looking at the data.

Data is supplied in either a file, a stream, or as an array. If supplied in a file or a stream, it must contain one line per training example, which must be formatted as an integer class (usually 1 and -1) followed by a series of feature/value pairs, in increasing feature order. The features are integers, the values floats, usually scaled 0-1. For example:

-1 1:0.43 3:0.12 9284:0.2

In a document classification problem, say a spam checker, each line would represent a document. There would be two classes, -1 for spam, 1 for ham. Each feature would represent some word, and the value would represent that importance of that word to the document (perhaps the frequency count, with the total scaled to unit length). Features that were 0 (e.g. the word did not appear in the document at all) would simply not be included.

In array mode, the data must be passed as an array of arrays. Each sub-array must have the class as the first element, then key => value sets for the feature values pairs.

This data is passed to the SVM class's train function, which will return an SVM model is successful.

Once a model has been generated, it can be used to make predictions about previously unseen data. This can be passed as an array to the model's predict function, in the same format as before, but without the label. The response will be the class.

Models can be saved and restored as required, using the save and load functions, which both take a file location.

Örnek 1 Train from array

<?php
$data = array(
array(-1, 1 => 0.43, 3 => 0.12, 9284 => 0.2),
array(1, 1 => 0.22, 5 => 0.01, 94 => 0.11),
);

$svm = new SVM();
$model = $svm->train($data);

$data = array(1 => 0.43, 3 => 0.12, 9284 => 0.2);
$result = $model->predict($data);
var_dump($result);
$model->save('model.svm');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(-1)

Örnek 2 Train from a file

<?php
$svm = new SVM();
$model = $svm->train("traindata.txt");
?>


The SVM class

(PECL svm >= 0.1.0)

Giriş

Sınıf Sözdizimi

class SVM {
/* Sabitler */
const int C_SVC = 0;
const int NU_SVC = 1;
const int ONE_CLASS = 2;
const int EPSILON_SVR = 3;
const int NU_SVR = 4;
const int KERNEL_LINEAR = 0;
const int KERNEL_POLY = 1;
const int KERNEL_RBF = 2;
const int KERNEL_SIGMOID = 3;
const int KERNEL_PRECOMPUTED = 4;
const int OPT_TYPE = 101;
const int OPT_KERNEL_TYPE = 102;
const int OPT_DEGREE = 103;
const int OPT_SHRINKING = 104;
const int OPT_PROPABILITY = 105;
const int OPT_GAMMA = 201;
const int OPT_NU = 202;
const int OPT_EPS = 203;
const int OPT_P = 204;
const int OPT_COEF_ZERO = 205;
const int OPT_C = 206;
const int OPT_CACHE_SIZE = 207;
/* Yöntemler */
public __construct()
public svm::crossvalidate(array $problem, int $number_of_folds): float
public getOptions(): array
public setOptions(array $params): bool
public svm::train(array $problem, array $weights = ?): SVMModel
}

Öntanımlı Sabitler

SVM Constants

SVM::C_SVC

The basic C_SVC SVM type. The default, and a good starting point

SVM::NU_SVC

The NU_SVC type uses a different, more flexible, error weighting

SVM::ONE_CLASS

One class SVM type. Train just on a single class, using outliers as negative examples

SVM::EPSILON_SVR

A SVM type for regression (predicting a value rather than just a class)

SVM::NU_SVR

A NU style SVM regression type

SVM::KERNEL_LINEAR

A very simple kernel, can work well on large document classification problems

SVM::KERNEL_POLY

A polynomial kernel

SVM::KERNEL_RBF

The common Gaussian RBD kernel. Handles non-linear problems well and is a good default for classification

SVM::KERNEL_SIGMOID

A kernel based on the sigmoid function. Using this makes the SVM very similar to a two layer sigmoid based neural network

SVM::KERNEL_PRECOMPUTED

A precomputed kernel - currently unsupported.

SVM::OPT_TYPE

The options key for the SVM type

SVM::OPT_KERNEL_TYPE

The options key for the kernel type

SVM::OPT_DEGREE

SVM::OPT_SHRINKING

Training parameter, boolean, for whether to use the shrinking heuristics

SVM::OPT_PROBABILITY

Training parameter, boolean, for whether to collect and use probability estimates

SVM::OPT_GAMMA

Algorithm parameter for Poly, RBF and Sigmoid kernel types.

SVM::OPT_NU

The option key for the nu parameter, only used in the NU_ SVM types

SVM::OPT_EPS

The option key for the Epsilon parameter, used in epsilon regression

SVM::OPT_P

Training parameter used by Episilon SVR regression

SVM::OPT_COEF_ZERO

Algorithm parameter for poly and sigmoid kernels

SVM::OPT_C

The option for the cost parameter that controls tradeoff between errors and generality - effectively the penalty for misclassifying training examples.

SVM::OPT_CACHE_SIZE

Memory cache size, in MB

İçindekiler

  • SVM::__construct — Construct a new SVM object
  • SVM::crossvalidate — Test training params on subsets of the training data
  • SVM::getOptions — Return the current training parameters
  • SVM::setOptions — Set training parameters
  • SVM::train — Create a SVMModel based on training data


Construct a new SVM object

  • « SVM
  • SVM::crossvalidate »
  • PHP Manual
  • SVM
  • Construct a new SVM object

SVM::__construct

(PECL svm >= 0.1.0)

SVM::__construct — Construct a new SVM object

Açıklama

public SVM::__construct()

Constructs a new SVM object ready to accept training data.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Hatalar/İstisnalar

Throws a SVMException if the libsvm library could not be loaded.


Test training params on subsets of the training data

  • « SVM::__construct
  • SVM::getOptions »
  • PHP Manual
  • SVM
  • Test training params on subsets of the training data

SVM::crossvalidate

(PECL svm >= 0.1.0)

SVM::crossvalidate — Test training params on subsets of the training data

Açıklama

public svm::crossvalidate(array $problem, int $number_of_folds): float

Crossvalidate can be used to test the effectiveness of the current parameter set on a subset of the training data. Given a problem set and a n "folds", it separates the problem set into n subsets, and the repeatedly trains on one subset and tests on another. While the accuracy will generally be lower than a SVM trained on the enter data set, the accuracy score returned should be relatively useful, so it can be used to test different training parameters.

Bağımsız Değişkenler

problem

The problem data. This can either be in the form of an array, the URL of an SVMLight formatted file, or a stream to an opened SVMLight formatted datasource.

number_of_folds

The number of sets the data should be divided into and cross tested. A higher number means smaller training sets and less reliability. 5 is a good number to start with.

Dönen Değerler

The correct percentage, expressed as a floating point number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the mean squared error will returned instead.

Ayrıca Bakınız

  • SVM::train() - Create a SVMModel based on training data


Return the current training parameters

  • « SVM::crossvalidate
  • SVM::setOptions »
  • PHP Manual
  • SVM
  • Return the current training parameters

SVM::getOptions

(PECL svm >= 0.1.0)

SVM::getOptions — Return the current training parameters

Açıklama

public SVM::getOptions(): array

Retrieve an array containing the training parameters. The parameters will be keyed on the predefined SVM constants.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of configuration settings.


Set training parameters

  • « SVM::getOptions
  • SVM::train »
  • PHP Manual
  • SVM
  • Set training parameters

SVM::setOptions

(PECL svm >= 0.1.0)

SVM::setOptions — Set training parameters

Açıklama

public SVM::setOptions(array $params): bool

Set one or more training parameters.

Bağımsız Değişkenler

params

An array of training parameters, keyed on the SVM constants.

Dönen Değerler

Return true on success, throws SVMException on error.


Create a SVMModel based on training data

  • « SVM::setOptions
  • SVMModel »
  • PHP Manual
  • SVM
  • Create a SVMModel based on training data

SVM::train

(PECL svm >= 0.1.0)

SVM::train — Create a SVMModel based on training data

Açıklama

public svm::train(array $problem, array $weights = ?): SVMModel

Train a support vector machine based on the supplied training data.

Bağımsız Değişkenler

problem

The problem can be provided in three different ways. An array, where the data should start with the class label (usually 1 or -1) then followed by a sparse data set of dimension => data pairs. A URL to a file containing a SVM Light formatted problem, with the each line being a new training example, the start of each line containing the class (1, -1) then a series of tab separated data values shows as key:value. A opened stream pointing to a data source formatted as in the file above.

weights

Weights are an optional set of weighting parameters for the different classes, to help account for unbalanced training sets. For example, if the classes were 1 and -1, and -1 had significantly more example than one, the weight for -1 could be 0.5. Weights should be in the range 0-1.

Dönen Değerler

Returns an SVMModel that can be used to classify previously unseen data. Throws SVMException on error


The SVMModel class

(PECL svm >= 0.1.0)

Giriş

The SVMModel is the end result of the training process. It can be used to classify previously unseen data.

Sınıf Sözdizimi

class SVMModel {
/* Yöntemler */
public __construct(string $filename = ?)
public checkProbabilityModel(): bool
public getLabels(): array
public getNrClass(): int
public getSvmType(): int
public getSvrProbability(): float
public load(string $filename): bool
public predict_probability(array $data): float
public predict(array $data): float
public save(string $filename): bool
}

İçindekiler

  • SVMModel::checkProbabilityModel — Returns true if the model has probability information
  • SVMModel::__construct — Construct a new SVMModel
  • SVMModel::getLabels — Get the labels the model was trained on
  • SVMModel::getNrClass — Returns the number of classes the model was trained with
  • SVMModel::getSvmType — Get the SVM type the model was trained with
  • SVMModel::getSvrProbability — Get the sigma value for regression types
  • SVMModel::load — Load a saved SVM Model
  • SVMModel::predict_probability — Return class probabilities for previous unseen data
  • SVMModel::predict — Predict a value for previously unseen data
  • SVMModel::save — Save a model to a file


Returns true if the model has probability information

  • « SVMModel
  • SVMModel::__construct »
  • PHP Manual
  • SVMModel
  • Returns true if the model has probability information

SVMModel::checkProbabilityModel

(PECL svm >= 0.1.5)

SVMModel::checkProbabilityModel — Returns true if the model has probability information

Açıklama

public SVMModel::checkProbabilityModel(): bool

Returns true if the model contains probability information.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return a boolean value


Construct a new SVMModel

  • « SVMModel::checkProbabilityModel
  • SVMModel::getLabels »
  • PHP Manual
  • SVMModel
  • Construct a new SVMModel

SVMModel::__construct

(PECL svm >= 0.1.0)

SVMModel::__construct — Construct a new SVMModel

Açıklama

public SVMModel::__construct(string $filename = ?)

Build a new SVMModel. Models will usually be created from the SVM::train function, but then saved models may be restored directly.

Bağımsız Değişkenler

filename

The filename for the saved model file this model should load.

Hatalar/İstisnalar

Throws a SVMException on error

Ayrıca Bakınız

  • SVMModel::load() - Load a saved SVM Model


Get the labels the model was trained on

  • « SVMModel::__construct
  • SVMModel::getNrClass »
  • PHP Manual
  • SVMModel
  • Get the labels the model was trained on

SVMModel::getLabels

(PECL svm >= 0.1.5)

SVMModel::getLabels — Get the labels the model was trained on

Açıklama

public SVMModel::getLabels(): array

Return an array of labels that the model was trained on. For regression and one class models an empty array is returned.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return an array of labels

Ayrıca Bakınız

  • SVMModel::getNrClass() - Returns the number of classes the model was trained with


Returns the number of classes the model was trained with

  • « SVMModel::getLabels
  • SVMModel::getSvmType »
  • PHP Manual
  • SVMModel
  • Returns the number of classes the model was trained with

SVMModel::getNrClass

(PECL svm >= 0.1.5)

SVMModel::getNrClass — Returns the number of classes the model was trained with

Açıklama

public SVMModel::getNrClass(): int

Returns the number of classes the model was trained with, will return 2 for one class and regression models.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return an integer number of classes


Get the SVM type the model was trained with

  • « SVMModel::getNrClass
  • SVMModel::getSvrProbability »
  • PHP Manual
  • SVMModel
  • Get the SVM type the model was trained with

SVMModel::getSvmType

(PECL svm >= 0.1.5)

SVMModel::getSvmType — Get the SVM type the model was trained with

Açıklama

public SVMModel::getSvmType(): int

Returns an integer value representing the type of the SVM model used, e.g SVM::C_SVC.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return an integer SVM type


Get the sigma value for regression types

  • « SVMModel::getSvmType
  • SVMModel::load »
  • PHP Manual
  • SVMModel
  • Get the sigma value for regression types

SVMModel::getSvrProbability

(PECL svm >= 0.1.5)

SVMModel::getSvrProbability — Get the sigma value for regression types

Açıklama

public SVMModel::getSvrProbability(): float

For regression models, returns a sigma value. If there is no probability information or the model is not SVR, 0 is returned.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a sigma value


Load a saved SVM Model

  • « SVMModel::getSvrProbability
  • SVMModel::predict_probability »
  • PHP Manual
  • SVMModel
  • Load a saved SVM Model

SVMModel::load

(PECL svm >= 0.1.00.1.0)

SVMModel::load — Load a saved SVM Model

Açıklama

public SVMModel::load(string $filename): bool

Load a model file ready for classification or regression.

Bağımsız Değişkenler

filename

The filename of the model.

Dönen Değerler

Throws SVMException on error. Returns true on success.

Ayrıca Bakınız

  • SVMModel::save() - Save a model to a file


Return class probabilities for previous unseen data

  • « SVMModel::load
  • SVMModel::predict »
  • PHP Manual
  • SVMModel
  • Return class probabilities for previous unseen data

SVMModel::predict_probability

(PECL svm >= 0.1.4)

SVMModel::predict_probability — Return class probabilities for previous unseen data

Açıklama

public SVMModel::predict_probability(array $data): float

This function accepts an array of data and attempts to predict the class, as with the predict function. Additionally, however, this function returns an array of probabilities, one per class in the model, which represent the estimated chance of the data supplied being a member of that class. Requires that the model to be used has been trained with the probability parameter set to true.

Bağımsız Değişkenler

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

probabilities

The supplied value will be filled with the probabilities. This will be either null, in the case of a model without probability information, or an array where the index is the class name and the value the predicted probability.

Dönen Değerler

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Ayrıca Bakınız

  • SVM::predict()


Predict a value for previously unseen data

  • « SVMModel::predict_probability
  • SVMModel::save »
  • PHP Manual
  • SVMModel
  • Predict a value for previously unseen data

SVMModel::predict

(PECL svm >= 0.1.0)

SVMModel::predict — Predict a value for previously unseen data

Açıklama

public SVMModel::predict(array $data): float

This function accepts an array of data and attempts to predict the class or regression value based on the model extracted from previously trained data.

Bağımsız Değişkenler

data

The array to be classified. This should be a series of key => value pairs in increasing key order, but not necessarily continuous.

Dönen Değerler

Float the predicted value. This will be a class label in the case of classification, a real value in the case of regression. Throws SVMException on error

Ayrıca Bakınız

  • SVM::train() - Create a SVMModel based on training data


Save a model to a file

  • « SVMModel::predict
  • SVN »
  • PHP Manual
  • SVMModel
  • Save a model to a file

SVMModel::save

(PECL svm >= 0.1.0)

SVMModel::save — Save a model to a file

Açıklama

public SVMModel::save(string $filename): bool

Save the model data to a file, for later use.

Bağımsız Değişkenler

filename

The file to save the model to.

Dönen Değerler

Throws SVMException on error. Returns true on success.

Ayrıca Bakınız

  • SVMModel::load() - Load a saved SVM Model


Subversion

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SVN İşlevleri
    • svn_add — Schedules the addition of an item in a working directory
    • svn_auth_get_parameter — Retrieves authentication parameter
    • svn_auth_set_parameter — Sets an authentication parameter
    • svn_blame — Get the SVN blame for a file
    • svn_cat — Returns the contents of a file in a repository
    • svn_checkout — Checks out a working copy from the repository
    • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version — Returns the version of the SVN client libraries
    • svn_commit — Sends changes from the local working copy to the repository
    • svn_delete — Delete items from a working copy or repository
    • svn_diff — Recursively diffs two paths
    • svn_export — Export the contents of a SVN directory
    • svn_fs_abort_txn — Aborts a transaction
    • svn_fs_apply_text — Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 — Create a new transaction
    • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
    • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed — Return true if content is different, false otherwise
    • svn_fs_copy — Copies a file or a directory
    • svn_fs_delete — Deletes a file or a directory
    • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length — Returns the length of a file from a given version of the fs
    • svn_fs_is_dir — Determines if a path points to a directory
    • svn_fs_is_file — Determines if a path points to a file
    • svn_fs_make_dir — Creates a new empty directory
    • svn_fs_make_file — Creates a new empty file
    • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
    • svn_fs_node_prop — Returns the value of a property for a node
    • svn_fs_props_changed — Return true if props are different, false otherwise
    • svn_fs_revision_prop — Fetches the value of a named property
    • svn_fs_revision_root — Get a handle on a specific version of the repository root
    • svn_fs_txn_root — Creates and returns a transaction root
    • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
    • svn_import — Imports an unversioned path into a repository
    • svn_log — Returns the commit log messages of a repository URL
    • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir — Creates a directory in a working copy or repository
    • svn_repos_create — Create a new subversion repository at path
    • svn_repos_fs_begin_txn_for_commit — Create a new transaction
    • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
    • svn_repos_fs — Gets a handle on the filesystem for a repository
    • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open — Open a shared lock on a repository
    • svn_repos_recover — Run recovery procedures on the repository located at path
    • svn_revert — Revert changes to the working copy
    • svn_status — Returns the status of working copy files and directories
    • svn_update — Update working copy


Giriş

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.

Uyarı

Bu eklenti DENEYSELDİR. Bu eklentinin davranışı, işlev isimleri ve tüm belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu eklenti kullanılmamalıdır.


Gereksinimler

The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/svn

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.

Uyarı

If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SVN_REVISION_HEAD (int)
Magic number (-1) specifying the HEAD revision
Constants usable with svn_auth_set_parameter()
SVN_AUTH_PARAM_DEFAULT_USERNAME (string)
Property for default username to use when performing basic authentication
SVN_AUTH_PARAM_DEFAULT_PASSWORD (string)
Property for default password to use when performing basic authentication
SVN_AUTH_PARAM_NON_INTERACTIVE (string)
SVN_AUTH_PARAM_DONT_STORE_PASSWORDS (string)
SVN_AUTH_PARAM_NO_AUTH_CACHE (string)
SVN_AUTH_PARAM_SSL_SERVER_FAILURES (string)
SVN_AUTH_PARAM_SSL_SERVER_CERT_INFO (string)
SVN_AUTH_PARAM_CONFIG (string)
SVN_AUTH_PARAM_SERVER_GROUP (string)
SVN_AUTH_PARAM_CONFIG_DIR (string)
PHP_SVN_AUTH_PARAM_IGNORE_SSL_VERIFY_ERRORS (string)
Custom property for ignoring SSL cert verification errors
Filesystem constants
SVN_FS_CONFIG_FS_TYPE (string)
Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
SVN_FS_TYPE_FSFS (string)
Filesystem is native-filesystem implementation
Reserved property constants
SVN_PROP_REVISION_DATE (string)
svn:date
SVN_PROP_REVISION_ORIG_DATE (string)
svn:original-date
SVN_PROP_REVISION_AUTHOR (string)
svn:author
SVN_PROP_REVISION_LOG (string)
svn:log
Working copy status constants
SVN_WC_STATUS_NONE (int)
Status does not exist
SVN_WC_STATUS_UNVERSIONED (int)
Item is not versioned in working copy
SVN_WC_STATUS_NORMAL (int)
Item exists, nothing else is happening
SVN_WC_STATUS_ADDED (int)
Item is scheduled for addition
SVN_WC_STATUS_MISSING (int)
Item is versioned but missing from the working copy
SVN_WC_STATUS_DELETED (int)
Item is scheduled for deletion
SVN_WC_STATUS_REPLACED (int)
Item was deleted and then re-added
SVN_WC_STATUS_MODIFIED (int)
Item (text or properties) was modified
SVN_WC_STATUS_MERGED (int)
Item's local modifications were merged with repository modifications
SVN_WC_STATUS_CONFLICTED (int)
Item's local modifications conflicted with repository modifications
SVN_WC_STATUS_IGNORED (int)
Item is unversioned but configured to be ignored
SVN_WC_STATUS_OBSTRUCTED (int)
Unversioned item is in the way of a versioned resource
SVN_WC_STATUS_EXTERNAL (int)
Unversioned path that is populated using svn:externals
SVN_WC_STATUS_INCOMPLETE (int)
Directory does not contain complete entries list
Node type constants
SVN_NODE_NONE (int)
Absent
SVN_NODE_FILE (int)
File
SVN_NODE_DIR (int)
Directory
SVN_NODE_UNKNOWN (int)
Something Subversion cannot identify


SVN İşlevleri

İçindekiler

  • svn_add — Schedules the addition of an item in a working directory
  • svn_auth_get_parameter — Retrieves authentication parameter
  • svn_auth_set_parameter — Sets an authentication parameter
  • svn_blame — Get the SVN blame for a file
  • svn_cat — Returns the contents of a file in a repository
  • svn_checkout — Checks out a working copy from the repository
  • svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
  • svn_client_version — Returns the version of the SVN client libraries
  • svn_commit — Sends changes from the local working copy to the repository
  • svn_delete — Delete items from a working copy or repository
  • svn_diff — Recursively diffs two paths
  • svn_export — Export the contents of a SVN directory
  • svn_fs_abort_txn — Aborts a transaction
  • svn_fs_apply_text — Creates and returns a stream that will be used to replace
  • svn_fs_begin_txn2 — Create a new transaction
  • svn_fs_change_node_prop — Return true if everything is ok, false otherwise
  • svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
  • svn_fs_contents_changed — Return true if content is different, false otherwise
  • svn_fs_copy — Copies a file or a directory
  • svn_fs_delete — Deletes a file or a directory
  • svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
  • svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
  • svn_fs_file_length — Returns the length of a file from a given version of the fs
  • svn_fs_is_dir — Determines if a path points to a directory
  • svn_fs_is_file — Determines if a path points to a file
  • svn_fs_make_dir — Creates a new empty directory
  • svn_fs_make_file — Creates a new empty file
  • svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
  • svn_fs_node_prop — Returns the value of a property for a node
  • svn_fs_props_changed — Return true if props are different, false otherwise
  • svn_fs_revision_prop — Fetches the value of a named property
  • svn_fs_revision_root — Get a handle on a specific version of the repository root
  • svn_fs_txn_root — Creates and returns a transaction root
  • svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
  • svn_import — Imports an unversioned path into a repository
  • svn_log — Returns the commit log messages of a repository URL
  • svn_ls — Returns list of directory contents in repository URL, optionally at revision number
  • svn_mkdir — Creates a directory in a working copy or repository
  • svn_repos_create — Create a new subversion repository at path
  • svn_repos_fs_begin_txn_for_commit — Create a new transaction
  • svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
  • svn_repos_fs — Gets a handle on the filesystem for a repository
  • svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
  • svn_repos_open — Open a shared lock on a repository
  • svn_repos_recover — Run recovery procedures on the repository located at path
  • svn_revert — Revert changes to the working copy
  • svn_status — Returns the status of working copy files and directories
  • svn_update — Update working copy


Schedules the addition of an item in a working directory

  • « SVN İşlevleri
  • svn_auth_get_parameter »
  • PHP Manual
  • SVN İşlevleri
  • Schedules the addition of an item in a working directory

svn_add

(PECL svn >= 0.1.0)

svn_add — Schedules the addition of an item in a working directory

Açıklama

svn_add(string $path, bool $recursive = true, bool $force = false): bool

Adds the file, directory or symbolic link at path to the working directory. The item will be added to the repository the next time you call svn_commit() on the working copy.

Bağımsız Değişkenler

path

Path of item to add.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

recursive

If item is directory, whether or not to recursively add all of its contents. Default is true

force

If true, Subversion will recurse into already versioned directories in order to add unversioned files that may be hiding in those directories. Default is false

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 svn_add() example

In a working directory where svn status returns:

$ svn status
?      foobar.txt

...this code:

<?php
svn_add('foobar.txt');
?>

...will schedule foobar.txt for addition into the repository.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • » SVN documentation on svn add


Retrieves authentication parameter

  • « svn_add
  • svn_auth_set_parameter »
  • PHP Manual
  • SVN İşlevleri
  • Retrieves authentication parameter

svn_auth_get_parameter

(PECL svn >= 0.1.0)

svn_auth_get_parameter — Retrieves authentication parameter

Açıklama

svn_auth_get_parameter(string $key): string

Retrieves authentication parameter at key. For a list of valid keys and their meanings, consult the authentication constants list.

Bağımsız Değişkenler

key

String key name. Use the authentication constants defined by this extension to specify a key.

Dönen Değerler

Returns the string value of the parameter at key; returns null if parameter does not exist.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_auth_set_parameter() - Sets an authentication parameter
  • Authentication constants


Sets an authentication parameter

  • « svn_auth_get_parameter
  • svn_blame »
  • PHP Manual
  • SVN İşlevleri
  • Sets an authentication parameter

svn_auth_set_parameter

(PECL svn >= 0.1.0)

svn_auth_set_parameter — Sets an authentication parameter

Açıklama

svn_auth_set_parameter(string $key, string $value): void

Sets authentication parameter at key to value. For a list of valid keys and their meanings, consult the authentication constants list.

Bağımsız Değişkenler

key

String key name. Use the authentication constants defined by this extension to specify a key.

value

String value to set to parameter at key. Format of value varies with the parameter.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Default authentication example

This example configures SVN so that the default username to use is 'Bob' and the default password is 'abc123':

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
?>

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_auth_get_parameter() - Retrieves authentication parameter
  • Authentication constants


Get the SVN blame for a file

  • « svn_auth_set_parameter
  • svn_cat »
  • PHP Manual
  • SVN İşlevleri
  • Get the SVN blame for a file

svn_blame

(PECL svn >= 0.3.0)

svn_blame — Get the SVN blame for a file

Açıklama

svn_blame(string $repository_url, int $revision_no = SVN_REVISION_HEAD): array

Get the SVN blame of a file from a repository URL.

Bağımsız Değişkenler

repository_url

The repository URL.

revision_no

The revision number.

Dönen Değerler

An array of SVN blame information separated by line which includes the revision number, line number, line of code, author, and date.

Örnekler

Örnek 1 svn_blame() example

<?php
$svnurl = 'http://svn.example.org/svnroot/foo/trunk/index.php';

print_r( svn_blame($svnurl) );

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] = Array
          (
           [rev] = 1
           [line_no] = 1
           [line] = Hello World
           [author] = joesmith
           [date] = 2007-07-02T05:51:26.628396Z
          )
    [1] = Array
          ...

Ayrıca Bakınız

  • svn_diff() - Recursively diffs two paths
  • svn_logs()
  • svn_status() - Returns the status of working copy files and directories


Returns the contents of a file in a repository

  • « svn_blame
  • svn_checkout »
  • PHP Manual
  • SVN İşlevleri
  • Returns the contents of a file in a repository

svn_cat

(PECL svn >= 0.1.0)

svn_cat — Returns the contents of a file in a repository

Açıklama

svn_cat(string $repos_url, int $revision_no = ?): string

Returns the contents of the URL repos_url to a file in the repository, optionally at revision number revision_no.

Bağımsız Değişkenler

repos_url

String URL path to item in a repository.

revision_no

Integer revision number of item to retrieve, default is the HEAD revision.

Dönen Değerler

Returns the string contents of the item from the repository on success, and false on failure.

Örnekler

Örnek 1 Basic example

This example retrieves the contents of a file at revision 28:

<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_list()
  • » SVN documentation on svn cat


Checks out a working copy from the repository

  • « svn_cat
  • svn_cleanup »
  • PHP Manual
  • SVN İşlevleri
  • Checks out a working copy from the repository

svn_checkout

(PECL svn >= 0.1.0)

svn_checkout — Checks out a working copy from the repository

Açıklama

svn_checkout(
string $repos,
string $targetpath,
int $revision = ?,
int $flags = 0
): bool

Checks out a working copy from the repository at repos to targetpath at revision revision.

Bağımsız Değişkenler

repos

String URL path to directory in repository to check out.

targetpath

String local path to directory to check out in to

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

revision

Integer revision number of repository to check out. Default is HEAD, the most recent revision.

flags

Any combination of SVN_NON_RECURSIVE and SVN_IGNORE_EXTERNALS.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Basic example

This example demonstrates how to check out a directory from a repository to a directory named calc:

<?php
svn_checkout('http://www.example.com/svnroot/calc/trunk', dirname(__FILE__) . '/calc');
?>

The dirname(__FILE__) call is necessary in order to convert the calc relative path into an absolute one. If calc exists, you can also use realpath() to retrieve an absolute path.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_commit() - Sends changes from the local working copy to the repository
  • svn_status() - Returns the status of working copy files and directories
  • svn_update() - Update working copy
  • » SVN documentation on svn checkout


Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

  • « svn_checkout
  • svn_client_version »
  • PHP Manual
  • SVN İşlevleri
  • Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

svn_cleanup

(PECL svn >= 0.1.0)

svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks

Açıklama

svn_cleanup(string $workingdir): bool

Recursively cleanup working copy directory workingdir, finishing any incomplete operations and removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

Bağımsız Değişkenler

workingdir

String path to local working directory to cleanup

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Basic example

This example demonstrates clean up of a working copy in a directory named help-me:

<?php
svn_cleanup(realpath('help-me'));
?>

The realpath() call is necessary due to SVN's quirky handling of relative paths.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • update()
  • » SVN documentation on svn cleanup


Returns the version of the SVN client libraries

  • « svn_cleanup
  • svn_commit »
  • PHP Manual
  • SVN İşlevleri
  • Returns the version of the SVN client libraries

svn_client_version

(PECL svn >= 0.1.0)

svn_client_version — Returns the version of the SVN client libraries

Açıklama

svn_client_version(): string

Returns the version of the SVN client libraries

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

String version number, usually in form of x.y.z.

Örnekler

Örnek 1 Basic example

<?php
echo svn_client_version();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1.3.1

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Sends changes from the local working copy to the repository

  • « svn_client_version
  • svn_delete »
  • PHP Manual
  • SVN İşlevleri
  • Sends changes from the local working copy to the repository

svn_commit

(PECL svn >= 0.1.0)

svn_commit — Sends changes from the local working copy to the repository

Açıklama

svn_commit(string $log, array $targets, bool $recursive = true): array

Commits changes made in the local working copy files enumerated in the targets array to the repository, with the log message log. Directories in the targets array will be recursively committed unless recursive is set to false.

Bilginize: This function does not have any parameters for specifying authentication, so a username and password must be set using svn_auth_set_parameter()

Bağımsız Değişkenler

log

String log text to commit

targets

Array of local paths of files to be committed

Uyarı

This parameter must be an array, a string for a single target is not acceptable.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

recursive

Boolean flag to disable recursive committing of directories in the targets array. Default is true.

Dönen Değerler

Returns array in form of:

array(
    0 => integer revision number of commit
    1 => string ISO 8601 date and time of commit
    2 => name of committer
)

Returns false on failure.

Örnekler

Örnek 1 Basic example

This example commits the calculator directory to a repository, using the username Bob and the password abc123 (hopefully, his password is stronger):

<?php
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_USERNAME, 'Bob');
svn_auth_set_parameter(SVN_AUTH_PARAM_DEFAULT_PASSWORD, 'abc123');
var_dump(svn_commit('Log message of Bob\'s commit', array(realpath('calculator'))));
?>

Yukarıdaki örneğin çıktısı:

array(
  0 => 1415,
  1 => '2007-05-26T01:44:28.453125Z',
  2 => 'Bob'
)

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_auth_set_parameter() - Sets an authentication parameter
  • » SVN documentation on svn commit


Delete items from a working copy or repository

  • « svn_commit
  • svn_diff »
  • PHP Manual
  • SVN İşlevleri
  • Delete items from a working copy or repository

svn_delete

(PECL svn >= 0.4.0)

svn_delete — Delete items from a working copy or repository

Açıklama

svn_delete(string $path, bool $force = false): bool

Deletes the file, directory or symbolic link at path from the working directory. The item will be deleted from the repository the next time you call svn_commit() on the working copy.

Bağımsız Değişkenler

path

Path of item to delete.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

force

If true, the file will be deleted even if it has local modifications. Otherwise, local modifications will result in a failure. Default is false

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • » SVN documentation on svn delete


Recursively diffs two paths

  • « svn_delete
  • svn_export »
  • PHP Manual
  • SVN İşlevleri
  • Recursively diffs two paths

svn_diff

(PECL svn >= 0.1.0)

svn_diff — Recursively diffs two paths

Açıklama

svn_diff(
string $path1,
int $rev1,
string $path2,
int $rev2
): array

Recursively diffs two paths, path1 and path2.

Bilginize:

This is not a general-purpose diff utility. Only local files that are versioned may be diffed: other files will fail.

Bağımsız Değişkenler

path1

First path to diff. This can be a URL to a file/directory in an SVN repository or a local file/directory path.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

Uyarı

If a local file path has only backslashes and no forward slashes, this extension will fail to find the path. Always replace all backslashes with forward slashes when using this function.

rev1

First path's revision number. Use SVN_REVISION_HEAD to specify the most recent revision.

path2

Second path to diff. See path1 for description.

rev2

Second path's revision number. See rev1 for description.

Dönen Değerler

Returns an array-list consisting of two streams: the first is the diff output and the second contains error stream output. The streams can be read using fread(). Returns false or null on error.

The diff output will, by default, be in the form of Subversion's custom unified diff format, but an » external diff engine may be used depending on Subversion's configuration.

Örnekler

Örnek 1 Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?php
list($diff, $errors) = svn_diff(
'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!$diff) exit;
$contents = '';
while (!feof($diff)) {
$contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

Yukarıdaki örneğin çıktısı:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
 // further diff output

Örnek 2 Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
return svn_diff($path, $rev1, $path, $rev2);
}
?>

Örnek 3 Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
$path1 = str_replace('\\', '/', realpath($path1));
$path2 = str_replace('\\', '/', realpath($path2));
return svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • » SVN documentation on svn diff


Export the contents of a SVN directory

  • « svn_diff
  • svn_fs_abort_txn »
  • PHP Manual
  • SVN İşlevleri
  • Export the contents of a SVN directory

svn_export

(PECL svn >= 0.3.0)

svn_export — Export the contents of a SVN directory

Açıklama

svn_export(
string $frompath,
string $topath,
bool $working_copy = true,
int $revision_no = -1
): bool

Export the contents of either a working copy or repository into a 'clean' directory.

Bağımsız Değişkenler

frompath

The path to the current repository.

topath

The path to the new repository.

working_copy

If true, it will export uncommitted files from the working copy.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 svn_export() example

<?php
$working_dir = '../';
$new_working_dir = '/home/user/devel/foo/trunk';

svn_export($working_dir, $new_working_dir);
?>

Ayrıca Bakınız

  • svn_import() - Imports an unversioned path into a repository


Aborts a transaction

  • « svn_export
  • svn_fs_apply_text »
  • PHP Manual
  • SVN İşlevleri
  • Aborts a transaction

svn_fs_abort_txn

(PECL svn >= 0.2.0)

svn_fs_abort_txn — Aborts a transaction

Açıklama

svn_fs_abort_txn(resource $txn): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Aborts a transaction.

Bağımsız Değişkenler

txn

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Creates and returns a stream that will be used to replace

  • « svn_fs_abort_txn
  • svn_fs_begin_txn2 »
  • PHP Manual
  • SVN İşlevleri
  • Creates and returns a stream that will be used to replace

svn_fs_apply_text

(PECL svn >= 0.2.0)

svn_fs_apply_text — Creates and returns a stream that will be used to replace

Açıklama

svn_fs_apply_text(resource $root, string $path): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Creates and returns a stream that will be used to replace

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Create a new transaction

  • « svn_fs_apply_text
  • svn_fs_change_node_prop »
  • PHP Manual
  • SVN İşlevleri
  • Create a new transaction

svn_fs_begin_txn2

(PECL svn >= 0.2.0)

svn_fs_begin_txn2 — Create a new transaction

Açıklama

svn_fs_begin_txn2(resource $repos, int $rev): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Create a new transaction

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Return true if everything is ok, false otherwise

  • « svn_fs_begin_txn2
  • svn_fs_check_path »
  • PHP Manual
  • SVN İşlevleri
  • Return true if everything is ok, false otherwise

svn_fs_change_node_prop

(PECL svn >= 0.2.0)

svn_fs_change_node_prop — Return true if everything is ok, false otherwise

Açıklama

svn_fs_change_node_prop(
resource $root,
string $path,
string $name,
string $value
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Return true if everything is ok, false otherwise

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Determines what kind of item lives at path in a given repository fsroot

  • « svn_fs_change_node_prop
  • svn_fs_contents_changed »
  • PHP Manual
  • SVN İşlevleri
  • Determines what kind of item lives at path in a given repository fsroot

svn_fs_check_path

(PECL svn >= 0.1.0)

svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot

Açıklama

svn_fs_check_path(resource $fsroot, string $path): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Determines what kind of item lives at path in a given repository fsroot

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Return true if content is different, false otherwise

  • « svn_fs_check_path
  • svn_fs_copy »
  • PHP Manual
  • SVN İşlevleri
  • Return true if content is different, false otherwise

svn_fs_contents_changed

(PECL svn >= 0.2.0)

svn_fs_contents_changed — Return true if content is different, false otherwise

Açıklama

svn_fs_contents_changed(
resource $root1,
string $path1,
resource $root2,
string $path2
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Return true if content is different, false otherwise

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Copies a file or a directory

  • « svn_fs_contents_changed
  • svn_fs_delete »
  • PHP Manual
  • SVN İşlevleri
  • Copies a file or a directory

svn_fs_copy

(PECL svn >= 0.2.0)

svn_fs_copy — Copies a file or a directory

Açıklama

svn_fs_copy(
resource $from_root,
string $from_path,
resource $to_root,
string $to_path
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Copies a file or a directory.

Bağımsız Değişkenler

from_root

from_path

to_root

to_path

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Deletes a file or a directory

  • « svn_fs_copy
  • svn_fs_dir_entries »
  • PHP Manual
  • SVN İşlevleri
  • Deletes a file or a directory

svn_fs_delete

(PECL svn >= 0.2.0)

svn_fs_delete — Deletes a file or a directory

Açıklama

svn_fs_delete(resource $root, string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Deletes a file or a directory.

Bağımsız Değişkenler

root

path

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Enumerates the directory entries under path; returns a hash of dir names to file type

  • « svn_fs_delete
  • svn_fs_file_contents »
  • PHP Manual
  • SVN İşlevleri
  • Enumerates the directory entries under path; returns a hash of dir names to file type

svn_fs_dir_entries

(PECL svn >= 0.1.0)

svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type

Açıklama

svn_fs_dir_entries(resource $fsroot, string $path): array
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Enumerates the directory entries under path; returns a hash of dir names to file type

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Returns a stream to access the contents of a file from a given version of the fs

  • « svn_fs_dir_entries
  • svn_fs_file_length »
  • PHP Manual
  • SVN İşlevleri
  • Returns a stream to access the contents of a file from a given version of the fs

svn_fs_file_contents

(PECL svn >= 0.1.0)

svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs

Açıklama

svn_fs_file_contents(resource $fsroot, string $path): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns a stream to access the contents of a file from a given version of the fs

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Returns the length of a file from a given version of the fs

  • « svn_fs_file_contents
  • svn_fs_is_dir »
  • PHP Manual
  • SVN İşlevleri
  • Returns the length of a file from a given version of the fs

svn_fs_file_length

(PECL svn >= 0.1.0)

svn_fs_file_length — Returns the length of a file from a given version of the fs

Açıklama

svn_fs_file_length(resource $fsroot, string $path): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns the length of a file from a given version of the fs

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Determines if a path points to a directory

  • « svn_fs_file_length
  • svn_fs_is_file »
  • PHP Manual
  • SVN İşlevleri
  • Determines if a path points to a directory

svn_fs_is_dir

(PECL svn >= 0.2.0)

svn_fs_is_dir — Determines if a path points to a directory

Açıklama

svn_fs_is_dir(resource $root, string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Determines if the given path points to a directory.

Bağımsız Değişkenler

root

path

Dönen Değerler

Returns true if the path points to a directory, false otherwise.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Determines if a path points to a file

  • « svn_fs_is_dir
  • svn_fs_make_dir »
  • PHP Manual
  • SVN İşlevleri
  • Determines if a path points to a file

svn_fs_is_file

(PECL svn >= 0.2.0)

svn_fs_is_file — Determines if a path points to a file

Açıklama

svn_fs_is_file(resource $root, string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Determines if the given path points to a file.

Bağımsız Değişkenler

root

path

Dönen Değerler

Returns true if the path points to a file, false otherwise.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Creates a new empty directory

  • « svn_fs_is_file
  • svn_fs_make_file »
  • PHP Manual
  • SVN İşlevleri
  • Creates a new empty directory

svn_fs_make_dir

(PECL svn >= 0.2.0)

svn_fs_make_dir — Creates a new empty directory

Açıklama

svn_fs_make_dir(resource $root, string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Creates a new empty directory.

Bağımsız Değişkenler

root

path

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Creates a new empty file

  • « svn_fs_make_dir
  • svn_fs_node_created_rev »
  • PHP Manual
  • SVN İşlevleri
  • Creates a new empty file

svn_fs_make_file

(PECL svn >= 0.2.0)

svn_fs_make_file — Creates a new empty file

Açıklama

svn_fs_make_file(resource $root, string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Creates a new empty file.

Bağımsız Değişkenler

root

path

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Returns the revision in which path under fsroot was created

  • « svn_fs_make_file
  • svn_fs_node_prop »
  • PHP Manual
  • SVN İşlevleri
  • Returns the revision in which path under fsroot was created

svn_fs_node_created_rev

(PECL svn >= 0.1.0)

svn_fs_node_created_rev — Returns the revision in which path under fsroot was created

Açıklama

svn_fs_node_created_rev(resource $fsroot, string $path): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns the revision in which path under fsroot was created

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Returns the value of a property for a node

  • « svn_fs_node_created_rev
  • svn_fs_props_changed »
  • PHP Manual
  • SVN İşlevleri
  • Returns the value of a property for a node

svn_fs_node_prop

(PECL svn >= 0.1.0)

svn_fs_node_prop — Returns the value of a property for a node

Açıklama

svn_fs_node_prop(resource $fsroot, string $path, string $propname): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns the value of a property for a node

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Return true if props are different, false otherwise

  • « svn_fs_node_prop
  • svn_fs_revision_prop »
  • PHP Manual
  • SVN İşlevleri
  • Return true if props are different, false otherwise

svn_fs_props_changed

(PECL svn >= 0.2.0)

svn_fs_props_changed — Return true if props are different, false otherwise

Açıklama

svn_fs_props_changed(
resource $root1,
string $path1,
resource $root2,
string $path2
): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Return true if props are different, false otherwise

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Fetches the value of a named property

  • « svn_fs_props_changed
  • svn_fs_revision_root »
  • PHP Manual
  • SVN İşlevleri
  • Fetches the value of a named property

svn_fs_revision_prop

(PECL svn >= 0.1.0)

svn_fs_revision_prop — Fetches the value of a named property

Açıklama

svn_fs_revision_prop(resource $fs, int $revnum, string $propname): string
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Fetches the value of a named property

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Get a handle on a specific version of the repository root

  • « svn_fs_revision_prop
  • svn_fs_txn_root »
  • PHP Manual
  • SVN İşlevleri
  • Get a handle on a specific version of the repository root

svn_fs_revision_root

(PECL svn >= 0.1.0)

svn_fs_revision_root — Get a handle on a specific version of the repository root

Açıklama

svn_fs_revision_root(resource $fs, int $revnum): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Get a handle on a specific version of the repository root

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Creates and returns a transaction root

  • « svn_fs_revision_root
  • svn_fs_youngest_rev »
  • PHP Manual
  • SVN İşlevleri
  • Creates and returns a transaction root

svn_fs_txn_root

(PECL svn >= 0.2.0)

svn_fs_txn_root — Creates and returns a transaction root

Açıklama

svn_fs_txn_root(resource $txn): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Creates and returns a transaction root

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Returns the number of the youngest revision in the filesystem

  • « svn_fs_txn_root
  • svn_import »
  • PHP Manual
  • SVN İşlevleri
  • Returns the number of the youngest revision in the filesystem

svn_fs_youngest_rev

(PECL svn >= 0.1.0)

svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem

Açıklama

svn_fs_youngest_rev(resource $fs): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Returns the number of the youngest revision in the filesystem

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Imports an unversioned path into a repository

  • « svn_fs_youngest_rev
  • svn_log »
  • PHP Manual
  • SVN İşlevleri
  • Imports an unversioned path into a repository

svn_import

(PECL svn >= 0.2.0)

svn_import — Imports an unversioned path into a repository

Açıklama

svn_import(string $path, string $url, bool $nonrecursive): bool

Commits unversioned path into repository at url. If path is a directory and nonrecursive is false, the directory will be imported recursively.

Bağımsız Değişkenler

path

Path of file or directory to import.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

url

Repository URL to import into.

nonrecursive

Whether or not to refrain from recursively processing directories.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 Basic example

This example demonstrates a basic use-case of this function. To import a directory named new-files into the repository at http://www.example.com/svnroot/incoming/abc, use:

<?php
svn_import(realpath('new-files'), 'http://www.example.com/svnroot/incoming/abc', false);
?>

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_add() - Schedules the addition of an item in a working directory
  • » SVN documentation for svn import


Returns the commit log messages of a repository URL

  • « svn_import
  • svn_ls »
  • PHP Manual
  • SVN İşlevleri
  • Returns the commit log messages of a repository URL

svn_log

(PECL svn >= 0.1.0)

svn_log — Returns the commit log messages of a repository URL

Açıklama

svn_log(
string $repos_url,
int $start_revision = ?,
int $end_revision = ?,
int $limit = 0,
int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
): array

svn_log() returns the complete history of the item at the repository URL repos_url, or the history of a specific revision if start_revision is set. This function is equivalent to svn log --verbose -r $start_revision $repos_url.

Bağımsız Değişkenler

repos_url

Repository URL of the item to retrieve log history from.

start_revision

Revision number of the first log to retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most recent revision.

end_revision

Revision number of the last log to retrieve. Defaults to start_revision if specified or to SVN_REVISION_INITIAL otherwise.

limit

Number of logs to retrieve.

flags

Any combination of SVN_OMIT_MESSAGES, SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY.

Dönen Değerler

On success, this function returns an array file listing in the format of:

[0] => Array, ordered most recent (highest) revision first
(
    [rev] => integer revision number
    [author] => string author name
    [msg] => string log message
    [date] => string date formatted per ISO 8601, i.e. date('c')
    [paths] => Array, describing changed files
        (
            [0] => Array
                (
                    [action] => string letter signifying change
                    [path] =>  absolute repository path of changed file
                )
            [1] => ...
        )
)
[1] => ...

Bilginize:

The output will always be a numerically indexed array of arrays, even when there are none or only one log message(s).

The value of action is a subset of the » status output in the first column, where possible values are:

Actions
Letter | Description
M | Item/props was modified
A | Item was added
D | Item was deleted
R | Item was replaced

If no changes were made to the item, an empty array is returned.

Örnekler

Örnek 1 svn_log() example

<?php
print_r( svn_log('http://www.example.com/', 23) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
    (
        [rev] => 23
        [author] => 'joe'
        [msg] => 'Add cheese and salami to our sandwich.'
        [date] => '2007-04-06T16:00:27-04:00'
        [paths] => Array
            (
                [0] => Array
                    (
                        [action] => 'M'
                        [path] =>  '/sandwich.txt'
                    )
            )
    )
)

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • » SVN documentation on svn log


Returns list of directory contents in repository URL, optionally at revision number

  • « svn_log
  • svn_mkdir »
  • PHP Manual
  • SVN İşlevleri
  • Returns list of directory contents in repository URL, optionally at revision number

svn_ls

(PECL svn >= 0.1.0)

svn_ls — Returns list of directory contents in repository URL, optionally at revision number

Açıklama

svn_ls(
string $repos_url,
int $revision_no = SVN_REVISION_HEAD,
bool $recurse = false,
bool $peg = false
): array

This function queries the repository URL and returns a list of files and directories, optionally from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]

Bilginize:

This function does not work with working copies. repos_url must be a repository URL.

Bağımsız Değişkenler

url

URL of the repository, eg. http://www.example.com/svnroot. To access a local Subversion repository via filesystem, use the file URI scheme, eg. file:///home/user/svn-repos

revision

Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.

recurse

Enables recursion.

Dönen Değerler

On success, this function returns an array file listing in the format of:

[0] => Array
    (
        [created_rev] => integer revision number of last edit
        [last_author] => string author name of last edit
        [size] => integer byte file size of file
        [time] => string date of last edit in form 'M d H:i'
                  or 'M d Y', depending on how old the file is
        [time_t] => integer unix timestamp of last edit
        [name] => name of file/directory
        [type] => type, can be 'file' or 'dir'
    )
[1] => ...

Örnekler

Örnek 1 svn_ls() example

<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Array
        (
            [created_rev] => 20
            [last_author] => Joe
            [size] => 0
            [time] => Apr 02 09:28
            [time_t] => 1175520529
            [name] => tags
            [type] => dir
        )
    [1] => Array
        (
            [created_rev] => 23
            [last_author] => Bob
            [size] => 0
            [time] => Apr 02 15:15
            [time_t] => 1175541322
            [name] => trunk
            [type] => dir
        )
)

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • » SVN documentation on svn list


Creates a directory in a working copy or repository

  • « svn_ls
  • svn_repos_create »
  • PHP Manual
  • SVN İşlevleri
  • Creates a directory in a working copy or repository

svn_mkdir

(PECL svn >= 0.4.0)

svn_mkdir — Creates a directory in a working copy or repository

Açıklama

svn_mkdir(string $path, string $log_message = ?): bool

Creates a directory in a working copy or repository.

Bağımsız Değişkenler

path

The path to the working copy or repository.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • svn_add() - Schedules the addition of an item in a working directory
  • svn_copy()


Create a new subversion repository at path

  • « svn_mkdir
  • svn_repos_fs_begin_txn_for_commit »
  • PHP Manual
  • SVN İşlevleri
  • Create a new subversion repository at path

svn_repos_create

(PECL svn >= 0.1.0)

svn_repos_create — Create a new subversion repository at path

Açıklama

svn_repos_create(string $path, array $config = ?, array $fsconfig = ?): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Create a new subversion repository at path

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Create a new transaction

  • « svn_repos_create
  • svn_repos_fs_commit_txn »
  • PHP Manual
  • SVN İşlevleri
  • Create a new transaction

svn_repos_fs_begin_txn_for_commit

(PECL svn >= 0.2.0)

svn_repos_fs_begin_txn_for_commit — Create a new transaction

Açıklama

svn_repos_fs_begin_txn_for_commit(
resource $repos,
int $rev,
string $author,
string $log_msg
): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Create a new transaction

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Commits a transaction and returns the new revision

  • « svn_repos_fs_begin_txn_for_commit
  • svn_repos_fs »
  • PHP Manual
  • SVN İşlevleri
  • Commits a transaction and returns the new revision

svn_repos_fs_commit_txn

(PECL svn >= 0.2.0)

svn_repos_fs_commit_txn — Commits a transaction and returns the new revision

Açıklama

svn_repos_fs_commit_txn(resource $txn): int
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Commits a transaction and returns the new revision

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Gets a handle on the filesystem for a repository

  • « svn_repos_fs_commit_txn
  • svn_repos_hotcopy »
  • PHP Manual
  • SVN İşlevleri
  • Gets a handle on the filesystem for a repository

svn_repos_fs

(PECL svn >= 0.1.0)

svn_repos_fs — Gets a handle on the filesystem for a repository

Açıklama

svn_repos_fs(resource $repos): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Gets a handle on the filesystem for a repository

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Make a hot-copy of the repos at repospath; copy it to destpath

  • « svn_repos_fs
  • svn_repos_open »
  • PHP Manual
  • SVN İşlevleri
  • Make a hot-copy of the repos at repospath; copy it to destpath

svn_repos_hotcopy

(PECL svn >= 0.1.0)

svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath

Açıklama

svn_repos_hotcopy(string $repospath, string $destpath, bool $cleanlogs): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Make a hot-copy of the repos at repospath; copy it to destpath

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Open a shared lock on a repository

  • « svn_repos_hotcopy
  • svn_repos_recover »
  • PHP Manual
  • SVN İşlevleri
  • Open a shared lock on a repository

svn_repos_open

(PECL svn >= 0.1.0)

svn_repos_open — Open a shared lock on a repository

Açıklama

svn_repos_open(string $path): resource
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Open a shared lock on a repository.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Run recovery procedures on the repository located at path

  • « svn_repos_open
  • svn_revert »
  • PHP Manual
  • SVN İşlevleri
  • Run recovery procedures on the repository located at path

svn_repos_recover

(PECL svn >= 0.1.0)

svn_repos_recover — Run recovery procedures on the repository located at path

Açıklama

svn_repos_recover(string $path): bool
Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Run recovery procedures on the repository located at path.

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.


Revert changes to the working copy

  • « svn_repos_recover
  • svn_status »
  • PHP Manual
  • SVN İşlevleri
  • Revert changes to the working copy

svn_revert

(PECL svn >= 0.3.0)

svn_revert — Revert changes to the working copy

Açıklama

svn_revert(string $path, bool $recursive = false): bool

Revert any local changes to the path in a working copy.

Bağımsız Değişkenler

path

The path to the working repository.

recursive

Optionally make recursive changes.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • svn_delete() - Delete items from a working copy or repository
  • svn_export() - Export the contents of a SVN directory


Returns the status of working copy files and directories

  • « svn_revert
  • svn_update »
  • PHP Manual
  • SVN İşlevleri
  • Returns the status of working copy files and directories

svn_status

(PECL svn >= 0.1.0)

svn_status — Returns the status of working copy files and directories

Açıklama

svn_status(string $path, int $flags = 0): array

Returns the status of working copy files and directories, giving modifications, additions, deletions and other changes to items in the working copy.

Bağımsız Değişkenler

path

Local path to file or directory to retrieve status of.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

flags

Any combination of Svn::NON_RECURSIVE, Svn::ALL (regardless of modification status), Svn::SHOW_UPDATES (entries will be added for items that are out-of-date), Svn::NO_IGNORE (disregard svn:ignore properties when scanning for new files) and Svn::IGNORE_EXTERNALS.

Dönen Değerler

Returns a numerically indexed array of associative arrays detailing the status of items in the repository:

Array (
    [0] => Array (
        // information on item
    )
    [1] => ...
)

The information on the item is an associative array that can contain the following keys:

path
String path to file/directory of this entry on local filesystem.
text_status
Status of item's text. Refer to status constants for possible values.
repos_text_status
Status of item's text in repository. Only accurate if update was set to true. Refer to status constants for possible values.
prop_status
Status of item's properties. Refer to status constants for possible values.
repos_prop_status
Status of item's property in repository. Only accurate if update was set to true. Refer to status constants for possible values.
locked
Whether or not the item is locked. (Only set if true.)
copied
Whether or not the item was copied (scheduled for addition with history). (Only set if true.)
switched
Whether or not the item was switched using the switch command. (Only set if true)

These keys are only set if the item is versioned:

name
Base name of item in repository.
url
URL of item in repository.
repos
Base URL of repository.
revision
Integer revision of item in working copy.
kind
Type of item, i.e. file or directory. Olası değerler tür sabitleri bölümünde bulunabilir.
schedule
Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are not available, they can be emulated by using:
<?php
if (!defined('svn_wc_schedule_normal')) {
define('svn_wc_schedule_normal', 0); // nothing special
define('svn_wc_schedule_add', 1); // item will be added
define('svn_wc_schedule_delete', 2); // item will be deleted
define('svn_wc_schedule_replace', 3); // item will be added and deleted
}
?>
deleted
Whether or not the item was deleted, but parent revision lags behind. (Only set if true.)
absent
Whether or not the item is absent, that is, Subversion knows that there should be something there but there isn't. (Only set if true.)
incomplete
Whether or not the entries file for a directory is incomplete. (Only set if true.)
cmt_date
Integer Unix timestamp of last commit date. (Unaffected by update.)
cmt_rev
Integer revision of last commit. (Unaffected by update.)
cmt_author
String author of last commit. (Unaffected by update.)
prop_time
Integer Unix timestamp of last up-to-date time for properties
text_time
Integer Unix timestamp of last up-to-date time for text

Örnekler

Örnek 1 Basic example

This example demonstrates a basic, theoretical usage of this function.

<?php
print_r(svn_status(realpath('wc')));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array (
    [0] => Array (
        [path] => /home/bob/wc/sandwich.txt
        [text_status] => 8 // item was modified
        [repos_text_status] => 1 // no information available, use update
        [prop_status] => 3 // no changes
        [repos_prop_status] => 1 // no information available, use update
        [name] => sandwich.txt
        [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt
        [repos] => http://www.example.com/svnroot/
        [revision] => 123
        [kind] => 1 // file
        [schedule] => 0 // no special actions scheduled
        [cmt_date] => 1165543135
        [cmt_rev] => 120
        [cmt_author] => Alice
        [prop_time] => 1180201728
        [text_time] => 1180201729
    )
)

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_update() - Update working copy
  • svn_log() - Returns the commit log messages of a repository URL
  • » SVN documentation for svn status


Update working copy

  • « svn_status
  • TCP »
  • PHP Manual
  • SVN İşlevleri
  • Update working copy

svn_update

(PECL svn >= 0.1.0)

svn_update — Update working copy

Açıklama

svn_update(string $path, int $revno = SVN_REVISION_HEAD, bool $recurse = true): int

Update working copy at path to revision revno. If recurse is true, directories will be recursively updated.

Bağımsız Değişkenler

path

Path to local working copy.

Bilginize: Göreli yollar, geçerli çalışma dizini PHP çalıştırılabilirini içeren dizinlerden biriymiş gibi çözümlenir. Betiğin çalıştırıldığı dizini kullanmak için realpath() işlevi veya dirname(__FILE__) kullanılır.

revno

Revision number to update to, default is SVN_REVISION_HEAD.

recurse

Whether or not to recursively update directories.

Dönen Değerler

Returns new revision number on success, returns false on failure.

Örnekler

Örnek 1 Basic example

This example demonstrates basic usage of this function:

<?php
echo svn_update(realpath('working-copy'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

234

Notlar

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Ayrıca Bakınız

  • svn_checkout() - Checks out a working copy from the repository
  • svn_commit() - Sends changes from the local working copy to the repository
  • » SVN documentation for svn update


TCP Sarmalayıcıları

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • TCP İşlevleri
    • tcpwrap_check — Bir tcpwrap sınaması yapar


Giriş

TCP sarmalayıcıları, uzak istemcinin belirtilen IP adresinden bağlanıp bağlanamayacağını sınamaya yarayan klasik bir Unix mekanizmasıdır.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » PECL

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


  • « Özkaynak Türleri
  • TCP İşlevleri »
  • PHP Manual
  • TCP
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • tcpwrap_check »
  • PHP Manual
  • TCP
  • TCP İşlevleri

TCP İşlevleri

İçindekiler

  • tcpwrap_check — Bir tcpwrap sınaması yapar


Bir tcpwrap sınaması yapar

  • « TCP İşlevleri
  • Varnish »
  • PHP Manual
  • TCP İşlevleri
  • Bir tcpwrap sınaması yapar

tcpwrap_check

(PECL tcpwrap >= 0.1.0)

tcpwrap_check — Bir tcpwrap sınaması yapar

Açıklama

tcpwrap_check(
string $süreç_adı,
string $adres,
string $kullanıcı = ?,
bool $dns_yok = false
): bool

Bu işlev, bir istemcinin belirtilen artalan uygulamasına erişimine izin verilip verilmediğini saptamak için /etc/hosts.allow ve /etc/hosts.deny dosyalarına bakar.

Bağımsız Değişkenler

daemon

Artalan uygulamasının adı.

adres

Uzak istemcinin adresi. Bir IP adresi veya bir alan adı belirtilebilir.

kullanıcı

İsteğe bağlı olarak kullanıcı adı.

dns_yok

adres olarak bir alan adı belirtilmişse IP adresini bulmak için DNS çözümlemesi yapılır. Bu bağımsız değişkene true atanarak bu çözümlemenin yapılmaması sağlanabilir.

Dönen Değerler

Erişime izin verilmişse true yoksa false döner.

Örnekler

Örnek 1 - localhost'tan tüm bağlantıları yasaklamak

/etc/hosts.deny dosyanızın şu satırı içerdiğini varsayalım:

php: 127.0.0.1

Kodunuz da şöyle olsun:

<?php
if (!tcpwrap_check('php', $_SERVER['REMOTE_ADDR'])) {
die('Burada istenmiyorsunuz!');
}
?>

Ayrıca Bakınız

Daha ayrıntılı bilgi için hosts_access(3) kılavuz sayfasına bakınız.


Varnish

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basic VarnishAdmin usage
    • Basic VarnishStat usage
    • Basic VarnishLog usage
  • VarnishAdmin — The VarnishAdmin class
    • VarnishAdmin::auth — Authenticate on a varnish instance
    • VarnishAdmin::ban — Ban URLs using a VCL expression
    • VarnishAdmin::banUrl — Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic — Clear varnish instance panic messages
    • VarnishAdmin::connect — Connect to a varnish instance administration interface
    • VarnishAdmin::__construct — VarnishAdmin constructor
    • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
    • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat — Set the class compat configuration param
    • VarnishAdmin::setHost — Set the class host configuration param
    • VarnishAdmin::setIdent — Set the class ident configuration param
    • VarnishAdmin::setParam — Set configuration param on the current varnish instance
    • VarnishAdmin::setPort — Set the class port configuration param
    • VarnishAdmin::setSecret — Set the class secret configuration param
    • VarnishAdmin::setTimeout — Set the class timeout configuration param
    • VarnishAdmin::start — Start varnish worker process
    • VarnishAdmin::stop — Stop varnish worker process
  • VarnishStat — The VarnishStat class
    • VarnishStat::__construct — VarnishStat constructor
    • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot
  • VarnishLog — The VarnishLog class
    • VarnishLog::__construct — Varnishlog constructor
    • VarnishLog::getLine — Get next log line
    • VarnishLog::getTagName — Get the log tag string representation by its index


Giriş

Varnish Cache is an open source, state of the art web application accelerator. The extension makes it possible to interact with a running varnish instance through TCP socket or shared memory.


Gereksinimler

To use this extension, you will need Varnish Cache of the version >=3.0 installed, available on the » Varnish Cache homepage


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/varnish.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/varnish/.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

VARNISH_STATUS_SYNTAX (int)
VARNISH_STATUS_UNKNOWN (int)
VARNISH_STATUS_UNIMPL (int)
VARNISH_STATUS_TOOFEW (int)
VARNISH_STATUS_TOOMANY (int)
VARNISH_STATUS_PARAM (int)
VARNISH_STATUS_AUTH (int)
VARNISH_STATUS_OK (int)
VARNISH_STATUS_CANT (int)
VARNISH_STATUS_COMMS (int)
VARNISH_STATUS_CLOSE (int)
VARNISH_CONFIG_IDENT (string)
VARNISH_CONFIG_HOST (string)
VARNISH_CONFIG_PORT (string)
VARNISH_CONFIG_TIMEOUT (string)
VARNISH_CONFIG_SECRET (string)
VARNISH_CONFIG_COMPAT (string)
VARNISH_COMPAT_2 (int)
VARNISH_COMPAT_3 (int)


Örnekler

İçindekiler

  • Basic VarnishAdmin usage
  • Basic VarnishStat usage
  • Basic VarnishLog usage


Basic VarnishAdmin usage

The example illustrates a simple usage of the ban functionality

Örnek 1 Ban an URL

<?php

$args = array(
VARNISH_CONFIG_HOST => "::1",
VARNISH_CONFIG_PORT => 6082,
VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
VARNISH_CONFIG_TIMEOUT => 300,
);

$va = new VarnishAdmin($args);

try {
if(!$va->connect()) {
throw new VarnishException("Connection failed\n");
}
} catch (VarnishException $e) {
echo $e->getMessage();
exit(3);
}

try {
if(!$va->auth()) {
throw new VarnishException("Auth failed\n");
}
} catch (VarnishException $e) {
echo $e->getMessage();
exit(3);
}

try {
$status = $va->ban('req.url ~ "^/$"');
if (VARNISH_STATUS_OK != $status) {
throw new VarnishException("Ban method returned $status status\n");
}
} catch (VarnishException $e) {
echo $e->getMessage();
exit(3);
}

exit(0);

?>


Basic VarnishStat usage

The example illustrates getting varnish statistic snapshot from shared memory

Örnek 1 Get statistic snapshot

<?php

$vs = new VarnishStat;

try {
$data = $vs->getSnapshot();
} catch (VarnishException $e) {
echo $e->getMessage();
exit(3);
}

exit(0);
?>


Basic VarnishLog usage

The example illustrates reading varnish log lines from shared memory

Örnek 1 Read varnish shared memory log

<?php

$vl = new VarnishLog;
while(1) {
$line = $vl->getLine();
printf("%s %d %s", VarnishLog::getTagName($line['tag']), $line['id'],
$line['data']);
}

exit(0);
?>


The VarnishAdmin class

(PECL varnish >= 0.3)

Giriş

Sınıf Sözdizimi

class VarnishAdmin {
/* Yöntemler */
public auth(): bool
public ban(string $vcl_regex): int
public banUrl(string $vcl_regex): int
public clearPanic(): int
public connect(): bool
public __construct(array $args = ?)
public disconnect(): bool
public getPanic(): string
public getParams(): array
public isRunning(): bool
public setCompat(int $compat): void
public setHost(string $host): void
public setIdent(string $ident): void
public setParam(string $name, string|int $value): int
public setPort(int $port): void
public setSecret(string $secret): void
public setTimeout(int $timeout): void
public start(): int
public stop(): int
}

İçindekiler

  • VarnishAdmin::auth — Authenticate on a varnish instance
  • VarnishAdmin::ban — Ban URLs using a VCL expression
  • VarnishAdmin::banUrl — Ban an URL using a VCL expression
  • VarnishAdmin::clearPanic — Clear varnish instance panic messages
  • VarnishAdmin::connect — Connect to a varnish instance administration interface
  • VarnishAdmin::__construct — VarnishAdmin constructor
  • VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface
  • VarnishAdmin::getPanic — Get the last panic message on a varnish instance
  • VarnishAdmin::getParams — Fetch current varnish instance configuration parameters
  • VarnishAdmin::isRunning — Check if the varnish slave process is currently running
  • VarnishAdmin::setCompat — Set the class compat configuration param
  • VarnishAdmin::setHost — Set the class host configuration param
  • VarnishAdmin::setIdent — Set the class ident configuration param
  • VarnishAdmin::setParam — Set configuration param on the current varnish instance
  • VarnishAdmin::setPort — Set the class port configuration param
  • VarnishAdmin::setSecret — Set the class secret configuration param
  • VarnishAdmin::setTimeout — Set the class timeout configuration param
  • VarnishAdmin::start — Start varnish worker process
  • VarnishAdmin::stop — Stop varnish worker process


Authenticate on a varnish instance

  • « VarnishAdmin
  • VarnishAdmin::ban »
  • PHP Manual
  • VarnishAdmin
  • Authenticate on a varnish instance

VarnishAdmin::auth

(PECL varnish >= 0.3)

VarnishAdmin::auth — Authenticate on a varnish instance

Açıklama

public VarnishAdmin::auth(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Ban URLs using a VCL expression

  • « VarnishAdmin::auth
  • VarnishAdmin::banUrl »
  • PHP Manual
  • VarnishAdmin
  • Ban URLs using a VCL expression

VarnishAdmin::ban

(PECL varnish >= 0.3)

VarnishAdmin::ban — Ban URLs using a VCL expression

Açıklama

public VarnishAdmin::ban(string $vcl_regex): int

Bağımsız Değişkenler

vcl_regex

Varnish VCL expression. It's based on the varnish ban command.

Dönen Değerler

Returns the varnish command status.


Ban an URL using a VCL expression

  • « VarnishAdmin::ban
  • VarnishAdmin::clearPanic »
  • PHP Manual
  • VarnishAdmin
  • Ban an URL using a VCL expression

VarnishAdmin::banUrl

(PECL varnish >= 0.3)

VarnishAdmin::banUrl — Ban an URL using a VCL expression

Açıklama

public VarnishAdmin::banUrl(string $vcl_regex): int

Bağımsız Değişkenler

vcl_regex

URL regular expression in PCRE compatible syntax. It's based on the ban.url varnish command.

Dönen Değerler

Returns the varnish command status.


Clear varnish instance panic messages

  • « VarnishAdmin::banUrl
  • VarnishAdmin::connect »
  • PHP Manual
  • VarnishAdmin
  • Clear varnish instance panic messages

VarnishAdmin::clearPanic

(PECL varnish >= 0.4)

VarnishAdmin::clearPanic — Clear varnish instance panic messages

Açıklama

public VarnishAdmin::clearPanic(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the varnish command status.


Connect to a varnish instance administration interface

  • « VarnishAdmin::clearPanic
  • VarnishAdmin::__construct »
  • PHP Manual
  • VarnishAdmin
  • Connect to a varnish instance administration interface

VarnishAdmin::connect

(PECL varnish >= 0.3)

VarnishAdmin::connect — Connect to a varnish instance administration interface

Açıklama

public VarnishAdmin::connect(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


VarnishAdmin constructor

  • « VarnishAdmin::connect
  • VarnishAdmin::disconnect »
  • PHP Manual
  • VarnishAdmin
  • VarnishAdmin constructor

VarnishAdmin::__construct

(PECL varnish >= 0.3)

VarnishAdmin::__construct — VarnishAdmin constructor

Açıklama

public VarnishAdmin::__construct(array $args = ?)

Bağımsız Değişkenler

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident
VARNISH_CONFIG_HOST - varnish instance ip
VARNISH_CONFIG_PORT - varnish instance port
VARNISH_CONFIG_SECRET - varnish instance secret
VARNISH_CONFIG_TIMEOUT - connection read timeout
VARNISH_CONFIG_COMPAT - varnish major version compatibility

Dönen Değerler

Örnekler

Örnek 1 VarnishAdmin::__construct() example

<?php
$args = array(
VARNISH_CONFIG_HOST => "::1",
VARNISH_CONFIG_PORT => 6082,
VARNISH_CONFIG_SECRET => "5174826b-8595-4958-aa7a-0609632ad7ca",
VARNISH_CONFIG_TIMEOUT => 300,
);
$va = new VarnishAdmin($args);
?>


Disconnect from a varnish instance administration interface

  • « VarnishAdmin::__construct
  • VarnishAdmin::getPanic »
  • PHP Manual
  • VarnishAdmin
  • Disconnect from a varnish instance administration interface

VarnishAdmin::disconnect

(PECL varnish >= 1.0.0)

VarnishAdmin::disconnect — Disconnect from a varnish instance administration interface

Açıklama

public VarnishAdmin::disconnect(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Get the last panic message on a varnish instance

  • « VarnishAdmin::disconnect
  • VarnishAdmin::getParams »
  • PHP Manual
  • VarnishAdmin
  • Get the last panic message on a varnish instance

VarnishAdmin::getPanic

(PECL varnish >= 0.4)

VarnishAdmin::getPanic — Get the last panic message on a varnish instance

Açıklama

public VarnishAdmin::getPanic(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the last panic message on the current varnish instance.


Fetch current varnish instance configuration parameters

  • « VarnishAdmin::getPanic
  • VarnishAdmin::isRunning »
  • PHP Manual
  • VarnishAdmin
  • Fetch current varnish instance configuration parameters

VarnishAdmin::getParams

(PECL varnish >= 0.4)

VarnishAdmin::getParams — Fetch current varnish instance configuration parameters

Açıklama

public VarnishAdmin::getParams(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the varnish configuration parameters.


Check if the varnish slave process is currently running

  • « VarnishAdmin::getParams
  • VarnishAdmin::setCompat »
  • PHP Manual
  • VarnishAdmin
  • Check if the varnish slave process is currently running

VarnishAdmin::isRunning

(PECL varnish >= 0.3)

VarnishAdmin::isRunning — Check if the varnish slave process is currently running

Açıklama

public VarnishAdmin::isRunning(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the class compat configuration param

  • « VarnishAdmin::isRunning
  • VarnishAdmin::setHost »
  • PHP Manual
  • VarnishAdmin
  • Set the class compat configuration param

VarnishAdmin::setCompat

(PECL varnish >= 0.9.2)

VarnishAdmin::setCompat — Set the class compat configuration param

Açıklama

public VarnishAdmin::setCompat(int $compat): void

Bağımsız Değişkenler

compat

Varnish compatibility option.

Dönen Değerler


Set the class host configuration param

  • « VarnishAdmin::setCompat
  • VarnishAdmin::setIdent »
  • PHP Manual
  • VarnishAdmin
  • Set the class host configuration param

VarnishAdmin::setHost

(PECL varnish >= 0.8)

VarnishAdmin::setHost — Set the class host configuration param

Açıklama

public VarnishAdmin::setHost(string $host): void

Bağımsız Değişkenler

host

Connection host configuration parameter.

Dönen Değerler


Set the class ident configuration param

  • « VarnishAdmin::setHost
  • VarnishAdmin::setParam »
  • PHP Manual
  • VarnishAdmin
  • Set the class ident configuration param

VarnishAdmin::setIdent

(PECL varnish >= 0.8)

VarnishAdmin::setIdent — Set the class ident configuration param

Açıklama

public VarnishAdmin::setIdent(string $ident): void

Bağımsız Değişkenler

ident

Connection ident configuration parameter.

Dönen Değerler


Set configuration param on the current varnish instance

  • « VarnishAdmin::setIdent
  • VarnishAdmin::setPort »
  • PHP Manual
  • VarnishAdmin
  • Set configuration param on the current varnish instance

VarnishAdmin::setParam

(PECL varnish >= 0.4)

VarnishAdmin::setParam — Set configuration param on the current varnish instance

Açıklama

public VarnishAdmin::setParam(string $name, string|int $value): int

Bağımsız Değişkenler

name

Varnish configuration param name.

value

Varnish configuration param value.

Dönen Değerler

Returns the varnish command status.


Set the class port configuration param

  • « VarnishAdmin::setParam
  • VarnishAdmin::setSecret »
  • PHP Manual
  • VarnishAdmin
  • Set the class port configuration param

VarnishAdmin::setPort

(PECL varnish >= 0.8)

VarnishAdmin::setPort — Set the class port configuration param

Açıklama

public VarnishAdmin::setPort(int $port): void

Bağımsız Değişkenler

port

Connection port configuration parameter.

Dönen Değerler


Set the class secret configuration param

  • « VarnishAdmin::setPort
  • VarnishAdmin::setTimeout »
  • PHP Manual
  • VarnishAdmin
  • Set the class secret configuration param

VarnishAdmin::setSecret

(PECL varnish >= 0.8)

VarnishAdmin::setSecret — Set the class secret configuration param

Açıklama

public VarnishAdmin::setSecret(string $secret): void

Bağımsız Değişkenler

secret

Connection secret configuration parameter.

Dönen Değerler


Set the class timeout configuration param

  • « VarnishAdmin::setSecret
  • VarnishAdmin::start »
  • PHP Manual
  • VarnishAdmin
  • Set the class timeout configuration param

VarnishAdmin::setTimeout

(PECL varnish >= 0.8)

VarnishAdmin::setTimeout — Set the class timeout configuration param

Açıklama

public VarnishAdmin::setTimeout(int $timeout): void

Bağımsız Değişkenler

timeout

Connection timeout configuration parameter.

Dönen Değerler


Start varnish worker process

  • « VarnishAdmin::setTimeout
  • VarnishAdmin::stop »
  • PHP Manual
  • VarnishAdmin
  • Start varnish worker process

VarnishAdmin::start

(PECL varnish >= 0.3)

VarnishAdmin::start — Start varnish worker process

Açıklama

public VarnishAdmin::start(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the varnish command status.


Stop varnish worker process

  • « VarnishAdmin::start
  • VarnishStat »
  • PHP Manual
  • VarnishAdmin
  • Stop varnish worker process

VarnishAdmin::stop

(PECL varnish >= 0.3)

VarnishAdmin::stop — Stop varnish worker process

Açıklama

public VarnishAdmin::stop(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the varnish command status.


The VarnishStat class

(PECL varnish >= 0.3)

Giriş

Sınıf Sözdizimi

class VarnishStat {
/* Yöntemler */
public __construct(array $args = ?)
public getSnapshot(): array
}

İçindekiler

  • VarnishStat::__construct — VarnishStat constructor
  • VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot


VarnishStat constructor

  • « VarnishStat
  • VarnishStat::getSnapshot »
  • PHP Manual
  • VarnishStat
  • VarnishStat constructor

VarnishStat::__construct

(PECL varnish >= 0.3)

VarnishStat::__construct — VarnishStat constructor

Açıklama

public VarnishStat::__construct(array $args = ?)

Bağımsız Değişkenler

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Dönen Değerler


Get the current varnish instance statistics snapshot

  • « VarnishStat::__construct
  • VarnishLog »
  • PHP Manual
  • VarnishStat
  • Get the current varnish instance statistics snapshot

VarnishStat::getSnapshot

(PECL varnish >= 0.3)

VarnishStat::getSnapshot — Get the current varnish instance statistics snapshot

Açıklama

public VarnishStat::getSnapshot(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Array with the varnish statistic snapshot. The array keys are identical to that in the varnishstat tool.


The VarnishLog class

(PECL varnish >= 0.6)

Giriş

Sınıf Sözdizimi

class VarnishLog {
/* Sabitler */
const int TAG_Debug = 0;
const int TAG_Error = 1;
const int TAG_CLI = 2;
const int TAG_StatSess = 3;
const int TAG_ReqEnd = 4;
const int TAG_SessionOpen = 5;
const int TAG_SessionClose = 6;
const int TAG_BackendOpen = 7;
const int TAG_BackendXID = 8;
const int TAG_BackendReuse = 9;
const int TAG_BackendClose = 10;
const int TAG_HttpGarbage = 11;
const int TAG_Backend = 12;
const int TAG_Length = 13;
const int TAG_FetchError = 14;
const int TAG_RxRequest = 15;
const int TAG_RxResponse = 16;
const int TAG_RxStatus = 17;
const int TAG_RxURL = 18;
const int TAG_RxProtocol = 19;
const int TAG_RxHeader = 20;
const int TAG_TxRequest = 21;
const int TAG_TxResponse = 22;
const int TAG_TxStatus = 23;
const int TAG_TxURL = 24;
const int TAG_TxProtocol = 25;
const int TAG_TxHeader = 26;
const int TAG_ObjRequest = 27;
const int TAG_ObjResponse = 28;
const int TAG_ObjStatus = 29;
const int TAG_ObjURL = 30;
const int TAG_ObjProtocol = 31;
const int TAG_ObjHeader = 32;
const int TAG_LostHeader = 33;
const int TAG_TTL = 34;
const int TAG_Fetch_Body = 35;
const int TAG_VCL_acl = 36;
const int TAG_VCL_call = 37;
const int TAG_VCL_trace = 38;
const int TAG_VCL_return = 39;
const int TAG_VCL_error = 40;
const int TAG_ReqStart = 41;
const int TAG_Hit = 42;
const int TAG_HitPass = 43;
const int TAG_ExpBan = 44;
const int TAG_ExpKill = 45;
const int TAG_WorkThread = 46;
const int TAG_ESI_xmlerror = 47;
const int TAG_Hash = 48;
const int TAG_Backend_health = 49;
const int TAG_VCL_Log = 50;
const int TAG_Gzip = 51;
/* Yöntemler */
public __construct(array $args = ?)
public getLine(): array
public static getTagName(int $index): string
}

Öntanımlı Sabitler

VarnishLog::TAG_Debug

VarnishLog::TAG_Error

VarnishLog::TAG_CLI

VarnishLog::TAG_StatSess

VarnishLog::TAG_ReqEnd

VarnishLog::TAG_SessionOpen

VarnishLog::TAG_SessionClose

VarnishLog::TAG_BackendOpen

VarnishLog::TAG_BackendXID

VarnishLog::TAG_BackendReuse

VarnishLog::TAG_BackendClose

VarnishLog::TAG_HttpGarbage

VarnishLog::TAG_Backend

VarnishLog::TAG_Length

VarnishLog::TAG_FetchError

VarnishLog::TAG_RxRequest

VarnishLog::TAG_RxResponse

VarnishLog::TAG_RxStatus

VarnishLog::TAG_RxURL

VarnishLog::TAG_RxProtocol

VarnishLog::TAG_RxHeader

VarnishLog::TAG_TxRequest

VarnishLog::TAG_TxResponse

VarnishLog::TAG_TxStatus

VarnishLog::TAG_TxURL

VarnishLog::TAG_TxProtocol

VarnishLog::TAG_TxHeader

VarnishLog::TAG_ObjRequest

VarnishLog::TAG_ObjResponse

VarnishLog::TAG_ObjStatus

VarnishLog::TAG_ObjURL

VarnishLog::TAG_ObjProtocol

VarnishLog::TAG_ObjHeader

VarnishLog::TAG_LostHeader

VarnishLog::TAG_TTL

VarnishLog::TAG_Fetch_Body

VarnishLog::TAG_VCL_acl

VarnishLog::TAG_VCL_call

VarnishLog::TAG_VCL_trace

VarnishLog::TAG_VCL_return

VarnishLog::TAG_VCL_error

VarnishLog::TAG_ReqStart

VarnishLog::TAG_Hit

VarnishLog::TAG_HitPass

VarnishLog::TAG_ExpBan

VarnishLog::TAG_ExpKill

VarnishLog::TAG_WorkThread

VarnishLog::TAG_ESI_xmlerror

VarnishLog::TAG_Hash

VarnishLog::TAG_Backend_health

VarnishLog::TAG_VCL_Log

VarnishLog::TAG_Gzip

İçindekiler

  • VarnishLog::__construct — Varnishlog constructor
  • VarnishLog::getLine — Get next log line
  • VarnishLog::getTagName — Get the log tag string representation by its index


Varnishlog constructor

  • « VarnishLog
  • VarnishLog::getLine »
  • PHP Manual
  • VarnishLog
  • Varnishlog constructor

VarnishLog::__construct

(PECL varnish >= 0.6)

VarnishLog::__construct — Varnishlog constructor

Açıklama

public VarnishLog::__construct(array $args = ?)

Bağımsız Değişkenler

args

Configuration arguments. The possible keys are:

VARNISH_CONFIG_IDENT - local varnish instance ident path

Dönen Değerler


Get next log line

  • « VarnishLog::__construct
  • VarnishLog::getTagName »
  • PHP Manual
  • VarnishLog
  • Get next log line

VarnishLog::getLine

(PECL varnish >= 0.6)

VarnishLog::getLine — Get next log line

Açıklama

public VarnishLog::getLine(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with the log line data.


Get the log tag string representation by its index

  • « VarnishLog::getLine
  • YAZ »
  • PHP Manual
  • VarnishLog
  • Get the log tag string representation by its index

VarnishLog::getTagName

(PECL varnish >= 0.6)

VarnishLog::getTagName — Get the log tag string representation by its index

Açıklama

public static VarnishLog::getTagName(int $index): string

Bağımsız Değişkenler

index

Log tag index.

Dönen Değerler

Returns the log tag name as string.


YAZ

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • YAZ İşlevleri
    • yaz_addinfo — Ek hata bilgisi döndürür
    • yaz_ccl_conf — CCL çözümleyecisini yapılandırır
    • yaz_ccl_parse — CCL çözümleyiciyi devreye sokar
    • yaz_close — YAZ bağlantısını kapatır
    • yaz_connect — Bir Z39.50 sunucusuna bir bağlantı düzenler
    • yaz_database — Bir oturum içindeki veritabanlarını belirler
    • yaz_element — Alım için eleman kümesi ismi tanımlar
    • yaz_errno — Hata numarasını döndürür
    • yaz_error — Hatanın açıklaması döner
    • yaz_es_result — Ek hizmetlerin sonucunu döndürür
    • yaz_es — Bir ek hizmet isteği (Extended Service Request) düzenler
    • yaz_get_option — Bir bağlantı seçeneğinin değerini döndürür
    • yaz_hits — Son arama ile eşleşenlerin sayısını döndürür
    • yaz_itemorder — Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar
    • yaz_present — Bir alım (Z39.50 present) düzenler
    • yaz_range — Edinilecek kayıtlar için bir aralık belirler
    • yaz_record — Bir kayıt döndürür
    • yaz_scan_result — Tarama sonucunu döndürür
    • yaz_scan — Bir tarama düzenler
    • yaz_schema — Alım için şema belirtir
    • yaz_search — Bir arama düzenler
    • yaz_set_option — Bağlantı ile ilgili seçenekleri belirler
    • yaz_sort — Sıralama kuralını belirler
    • yaz_syntax — Alım için tercih edilen kayıt sözdizimini belirler
    • yaz_wait — Z39.50 isteklerinin tamamlanmasını bekler


Giriş

Bu eklenti, » Z39.50 Bilgi Kazanım Protokolünü gerçekleyen YAZ araçları için bir PHP arayüzüdür. Bu eklenti ile Z39.50 sunucularını arayan veya tarayan bir Z39.50 istemcisini kolayca gerçekleyebilirsiniz.

Kullanımı oldukça kolay olduğundan bu modül, Z39.50'nin karmaşıklığından sizi korur. PHP'de bazı RDB arayüzleri tarafından kullanılanlara çok benzeyen durumsuz kalıcı bağlantıları desteklemektedir. Yani, oturumlar durumsuz olup kullanıcılarca paylaşılabilmektedir, böylece çoğu durumda bağlanma ve ilklendirme aşamalarındaki adımlar azaltılabilmektedir.

YAZ » http://www.indexdata.dk/yaz/ adresinden edinilebilir. Bu eklenti ile ilgili yeni bilgileri, örnek betikleri ve benzerlerini » http://www.indexdata.dk/phpyaz/ adresinde bulabilirsiniz.

Bilginize:

Bu eklenti » PECL deposuna taşınmış olup PHP 5.0.0'dan itibaren PHP kaynak paketinde dağıtılmamaktadır.


Gereksinimler

YAZ (ANSI/NISO destekleme ücreti Z39.50) paketini indirip kurun. YAZ kaynak kod olarak veya derlenmiş olarak » YAZ arşivinden temin edilebilir. Debian GNU/Linux, Suse Linux, FreeBSD gibi sistemlerde dağıtımın bir parçasıdır.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yaz

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.

Bilginize: Windows kullanıcılarına özel bilgiler

php_yaz.dll, yaz.dll'e bağımlıdır. yaz.dll PHP sitesindeki Win32 ZIP'in bir parçasıdır. Ayrıca, » YAZ WIN32 alanında bulunan Windows YAZ kurulumunun da parçasıdır.

Windows üzerinde, yaz.dll dosyasının bulunabilmesi için PATH ortam değişkenine PHP dizini eklenmelidir.

Uyarı

IMAP, recode ve YAZ eklentileri, aynı dahili simgeleri paylaştıklarından birlikte kullanılamazlar. Bilgi: Yaz 2.0 ve sonrası bu sorundan etkilenmemektedir.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • YAZ
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

PHP/YAZ hedeflerle bağlantıların izini kaydeder. Bu bağlantılar bir özkaynakla temsil edilirler.

Aşağıdaki betikte, arayüzün paralel arama özelliği gösterilmiştir. Bağımsız değişkensiz çağrıldığında bir sorgu formu basar; bağımsız değişkenli çağrıldığında ise konut dizisinde belirtilen hedefleri araştırır.

Örnek 1 YAZ kullanarak paralel arama

<?php
$konut=$_REQUEST[konut];
$sorgu=$_REQUEST[sorgu];
$konut_sayısı = count($konut);
if (empty($sorgu) || count($konut) == 0) {
echo '<form method="get">
<input type="checkbox"
name="konut[]" value="bagel.indexdata.dk/gils" />
GILS test
<input type="checkbox"
name="konut[]" value="localhost:9999/Default" />
local test
<input type="checkbox" checked="checked"
name="konut[]" value="z3950.loc.gov:7090/voyager" />
Library of Congress
<br />
RPN sorgu:
<input type="text" size="30" name="sorgu" />
<input type="submit" name="action" value="Ara" />
</form>
';
} else {
echo 'Aranan hedef: ' . htmlspecialchars($sorgu) . '<br />';
for ($i = 0; $i < $konut_sayısı; $i++) {
$id[] = yaz_connect($konut[$i]);
yaz_syntax($id[$i], "usmarc");
yaz_range($id[$i], 1, 10);
yaz_search($id[$i], "rpn", $sorgu);
}
yaz_wait();
for ($i = 0; $i < $konut_sayısı; $i++) {
echo '<hr />' . $konut[$i] . ':';
$error = yaz_error($id[$i]);
if (!empty($error)) {
echo "Hata: $error";
} else {
$hits = yaz_hits($id[$i]);
echo "Sonuç sayısı: $hits";
}
echo '<dl>';
for ($p = 1; $p <= 10; $p++) {
$rec = yaz_record($id[$i], $p, "string");
if (empty($rec)) continue;
echo "<dt><b>$p</b></dt><dd>";
echo nl2br($rec);
echo "</dd>";
}
echo '</dl>';
}
}
?>


YAZ İşlevleri

İçindekiler

  • yaz_addinfo — Ek hata bilgisi döndürür
  • yaz_ccl_conf — CCL çözümleyecisini yapılandırır
  • yaz_ccl_parse — CCL çözümleyiciyi devreye sokar
  • yaz_close — YAZ bağlantısını kapatır
  • yaz_connect — Bir Z39.50 sunucusuna bir bağlantı düzenler
  • yaz_database — Bir oturum içindeki veritabanlarını belirler
  • yaz_element — Alım için eleman kümesi ismi tanımlar
  • yaz_errno — Hata numarasını döndürür
  • yaz_error — Hatanın açıklaması döner
  • yaz_es_result — Ek hizmetlerin sonucunu döndürür
  • yaz_es — Bir ek hizmet isteği (Extended Service Request) düzenler
  • yaz_get_option — Bir bağlantı seçeneğinin değerini döndürür
  • yaz_hits — Son arama ile eşleşenlerin sayısını döndürür
  • yaz_itemorder — Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar
  • yaz_present — Bir alım (Z39.50 present) düzenler
  • yaz_range — Edinilecek kayıtlar için bir aralık belirler
  • yaz_record — Bir kayıt döndürür
  • yaz_scan_result — Tarama sonucunu döndürür
  • yaz_scan — Bir tarama düzenler
  • yaz_schema — Alım için şema belirtir
  • yaz_search — Bir arama düzenler
  • yaz_set_option — Bağlantı ile ilgili seçenekleri belirler
  • yaz_sort — Sıralama kuralını belirler
  • yaz_syntax — Alım için tercih edilen kayıt sözdizimini belirler
  • yaz_wait — Z39.50 isteklerinin tamamlanmasını bekler


Ek hata bilgisi döndürür

  • « YAZ İşlevleri
  • yaz_ccl_conf »
  • PHP Manual
  • YAZ İşlevleri
  • Ek hata bilgisi döndürür

yaz_addinfo

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_addinfo — Ek hata bilgisi döndürür

Açıklama

yaz_addinfo(resource $id): string

Sunucudaki son istek için ek hata bilgisi döndürür.

Bazı sunucularda bu işlev, yaz_error() işlevinin döndürdüğü dizgeyi döndürebilir.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

Son işlem başarılı olmuşsa veya sunucu tarafından ek bilgi sağlanmamışsa bir boş dizge, aksi takdirde ek hata bilgisini içeren bir dizge döner.

Ayrıca Bakınız

  • yaz_error() - Hatanın açıklaması döner
  • yaz_errno() - Hata numarasını döndürür


CCL çözümleyecisini yapılandırır

  • « yaz_addinfo
  • yaz_ccl_parse »
  • PHP Manual
  • YAZ İşlevleri
  • CCL çözümleyecisini yapılandırır

yaz_ccl_conf

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_conf — CCL çözümleyecisini yapılandırır

Açıklama

yaz_ccl_conf(resource $id, array $ayarlar): void

Bu işlev, bir sunucunun CCL sorgu çözümleyicisini, erişim noktası tanımlayıcıları (CCL niteleyicileri) ve bunların RPN karşılıkları ile yapılandırır.

Belli bir CCL sorgusunu RPN'ye eşlemek için bu işlevden sonra yaz_ccl_parse() işlevini çağırın.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

ayarlar

Yapılandırma dizisi. Dizinin her anahtarı bir CCL alanının ismi olup, değerler, alanın RPN karşılığını belirten birer dizgedir.

Eşlem, öznitelik-değer çiftlerinden oluşan bir öznitelik türü listesidir. Öznitelik ile değer bir eşit imi (=) ile, çiftler ise boşlukla ayrılır.

» CCL sayfasında daha fazla bilgi bulabilirsiniz.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Aşağıdaki örnekte, CCL çözümleyicisi şu üç CCL alanını destekleyecek şekilde yapılandırılmaktadır: ti, au ve isbn. Her alan, kendi BIB-1 eşdeğeri ile eşleşir. $id bir bağlantı kimliğidir.

Örnek 1 - CCL yapılandırması

<?php
$fields = array(
"ti" => "1=4",
"au" => "1=1",
"isbn" => "1=7"
);
yaz_ccl_conf($id, $fields);
?>

Ayrıca Bakınız

  • yaz_ccl_parse() - CCL çözümleyiciyi devreye sokar


CCL çözümleyiciyi devreye sokar

  • « yaz_ccl_conf
  • yaz_close »
  • PHP Manual
  • YAZ İşlevleri
  • CCL çözümleyiciyi devreye sokar

yaz_ccl_parse

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_ccl_parse — CCL çözümleyiciyi devreye sokar

Açıklama

yaz_ccl_parse(resource $id, string $sorgu, array &$sonuç): bool

Bu işlev bir CCL çözümleyici çalıştırmak için kullanılır. Bir arama yapmak için yaz_search() işlevine aktarmak üzere, belirtilen CCL BUL sorgusunu bir RPN sorgusuna dönüştürür.

Geçerli CCL alanlarını tanımlamak için bu işlevden önce bir yaz_ccl_conf() çağrısı yapılmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

sorgu

CCL BUL sorgusu.

sonuç

İşlev başarılı olduğu takdirde bu bağımsız değişken, rpn anahtarı altında geçerli bir RPN sorgusu içeren bir dizidir.

Başarısızlık halinde, başarısızlığın sebebi üç anahtarlı bir dizi ile belirtilir. Anahtarlar:

  • errorcode - CCL hata kodu (integer).

  • errorstring - CCL hata dizgesi.

  • errorpos - Yaklaşık olarak sorgunun başarısız olduğu yer (karakterin konumu olarak bir tamsayı).

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - CCL çözümlemesi

Aramayı CCL kullanarak yapmaya çalışacağız. Aşağıdaki örnekte, $ccl bir CCL sorgusudur.

<?php

yaz_ccl_conf($id, $fields); // örnek için yaz_ccl_conf işlevine bakın
if (!yaz_ccl_parse($id, $ccl, &$cclresult)) {
echo 'Hata: ' . $cclresult["errorstring"];
} else {
$rpn = $cclresult["rpn"];
yaz_search($id, "rpn", $rpn);
}
?>


YAZ bağlantısını kapatır

  • « yaz_ccl_parse
  • yaz_connect »
  • PHP Manual
  • YAZ İşlevleri
  • YAZ bağlantısını kapatır

yaz_close

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_close — YAZ bağlantısını kapatır

Açıklama

yaz_close(resource $id): bool

id ile belirtilen bağlantıyı kapatır.

Bilginize:

Bu işlev, sadece yaz_connect() ile persistent seçeneğine false atanarak açılmış kalıcı olmayan bağlantıları kapatır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • yaz_connect() - Bir Z39.50 sunucusuna bir bağlantı düzenler


Bir Z39.50 sunucusuna bir bağlantı düzenler

  • « yaz_close
  • yaz_database »
  • PHP Manual
  • YAZ İşlevleri
  • Bir Z39.50 sunucusuna bir bağlantı düzenler

yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Bir Z39.50 sunucusuna bir bağlantı düzenler

Açıklama

yaz_connect(string $zurl, mixed $seçenekler = ?): mixed

Bu işlev başarılı olduğu takdirde bir bağlantı özkaynağı, aksi takdirde 0 döndürür.

yaz_connect() işlevi bir Z39.50 sunucusuna bir bağlantı düzenler. Bu işlev engellenmez ve bir bağlanttı kurmaya çalışmaz; sadece, bir yaz_wait() çağrısı tarafından işleme konulmak üzere bir bağlantı için hazırlık yapar.

Bilginize:

» YAZ vekili özgürce kullanılabilecek bir Z39.50 vekilidir.

Bağımsız Değişkenler

zurl

konut[:port][/veritabanı] biçeminde bir dizge. port belirtilmezse 210 öntanımlıdır. veritabanı belirtilmezse yerine Default kullanılır.

seçenekler

Bir dizge olarak belirtilirse Z39.50 V2 kimlik doğrulama dizgesi (OpenAuth) olarak ele alınır.

Bir dizi belirtilirse dizi içeriği seçenekler olarak ele alınır. Olası seçenekler:

user

Kimlik doğrulamada kullanılacak kullanıcı ismi.

group

Kimlik doğrulamada kullanılacak grup ismi.

password

Kimlik doğrulamada kullanılacak parola.

cookie

Oturum çerezi (YAZ vekili).

proxy

Bağlantı vekili (YAZ vekili).

persistent

Mantıksal değer. true ise bağlantı kalıcıdır, false ise değildir. Öntanımlı olarak bağlantılar kalıcıdır.

Bilginize:

Bir kalıcı bağlantı açmışsanız, bağlantıyı sonradan bir yaz_close() çağrısı ile kapatamazsınız.

piggyback

Mantıksal değer. true ise arama için sırtlama (piggyback) etkin olur, false ise olmaz. Öntanımlı olarak sırtlama etkindir.

Sırtlamanın etkin kılınması daha verimli olup, kayıtların ilk alımında ağdaki gidip dönme süresinden kurtarır. Ancak bazı Z39.50 sunucuları sırtlamayı desteklemez veya eleman kümesi isimlerini yok sayar. Bu bakımdan bu seçenek etkin kılınmamalıdır.

charset

Z39.50 dili ve karater kümesi uzlaşımı için kullanılacak karakter kümesinin belirtildiği bir dizge. ISO-8859-1, UTF-8, UTF-16 gibi dizgeler belirtilebilir.

Çoğu Z39.50 sunucusu bu özelliği desteklemez (dolayısıyla yok sayılır). Çoğu sunucu da sorgular ve iletiler için ISO-8859-1 kodlamasını kullanır. MARC21/USMARC kayıtları bu seçenekten etkilenmez.

preferredMessageSize

Alım sırasında bir hedef tarafından döndürülen tüm kayıtların azami bayt sayısını belirten bir tamsayı. Daha fazla bilgi için » Z39.50 standardına bakınız.

Bilginize:

Bu seçenek, PECL YAZ 1.0.5 ve sonrasında desteklenmektedir.

maximumRecordSize

Alım sırasında bir hedef tarafından döndürülen tek bir kaydın azami bayt sayısını belirten bir tamsayı. Bu seçeneğe » Z39.50 standardında "Exceptional-record-size" olarak değinilmiştir.

Bilginize:

Bu seçenek, PECL YAZ 1.0.5 ve sonrasında desteklenmektedir.

Dönen Değerler

Hata oluşmuşsa false yoksa bir bağlantı özkaynağı döner.

Sürüm Bilgisi

Sürüm: | Açıklama
4.1.0 | seçenekler bağımsız değişkeni eklendi.

Ayrıca Bakınız

  • yaz_close() - YAZ bağlantısını kapatır


Bir oturum içindeki veritabanlarını belirler

  • « yaz_connect
  • yaz_element »
  • PHP Manual
  • YAZ İşlevleri
  • Bir oturum içindeki veritabanlarını belirler

yaz_database

(PHP 4 >= 4.0.6, PECL yaz >= 0.9.0)

yaz_database — Bir oturum içindeki veritabanlarını belirler

Açıklama

yaz_database(resource $id, string $veritabanları): bool

Bu işlev, arama, alım, vb. için kullanılacak veritabanlarının belirtilmesini sağlamak suretiyle bir oturumdaki veritabanlarının (yaz_connect() çağrısında belirtilen veritabanlarını geçersiz kılarak) değiştirilmesini mümkün kılar.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

veritabanları

Tek bir veritabanı veya + imleri ile ayrılmış çok sayıda veritabanı içeren bir dizge.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Alım için eleman kümesi ismi tanımlar

  • « yaz_database
  • yaz_errno »
  • PHP Manual
  • YAZ İşlevleri
  • Alım için eleman kümesi ismi tanımlar

yaz_element

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_element — Alım için eleman kümesi ismi tanımlar

Açıklama

yaz_element(resource $id, string $eleman_kümesi): bool

Bu işlev alım için eleman kümesi ismini tanımlar.

Bu işlevi, alınacak kayıtların eleman kümesi ismini belirtmek için yaz_search() veya yaz_present() işlevinden önce çağırın.

Bilginize:

İşlev etkisiz gibi görünürse yaz_connect() işlevindeki piggyback seçeneğinin açıklamasına bakınız.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

eleman_kümesi

Çoğu sunucu (kayıtların tamamı için) F ve (özet kayıtları için) B'yi destekler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Hata numarasını döndürür

  • « yaz_element
  • yaz_error »
  • PHP Manual
  • YAZ İşlevleri
  • Hata numarasını döndürür

yaz_errno

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_errno — Hata numarasını döndürür

Açıklama

yaz_errno(resource $id): int

id ile belirtilen son istekle ilgili sunucu hata numarasını döndürür.

yaz_errno() işlevi, her sunucu için ağ etkinliğinin ardından (yaz_wait() döndükten sonra), son işlemin (örneğin bir arama işleminin) başarılı olup olmadığını saptamak için çağrılmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

Bir hata kodu döner. Hata kodu ya bir Z39.50 teşhis kodu (normalde bir Bib-1 teşhisidir) ya da PHP/YAZ'ın kendisi tarafından üretilen, "Bağlantı kurulamadı", "İlklendirme reddedildi" gibi, istemci taraflı bir hatanın kodu olmalıdır.

Ayrıca Bakınız

  • yaz_error() - Hatanın açıklaması döner
  • yaz_addinfo() - Ek hata bilgisi döndürür


Hatanın açıklaması döner

  • « yaz_errno
  • yaz_es_result »
  • PHP Manual
  • YAZ İşlevleri
  • Hatanın açıklaması döner

yaz_error

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_error — Hatanın açıklaması döner

Açıklama

yaz_error(resource $id): string

yaz_error() işlevi, yaz_errno() ile döndürülen son hata numarasına karşılık olan İngilizce iletiyi döndürür.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

id ile belirtilen son istek için sunucu hata iletisini döndürür. Son istek başarılı olmuşsa boş bir dizge döner.

Ayrıca Bakınız

  • yaz_errno() - Hata numarasını döndürür
  • yaz_addinfo() - Ek hata bilgisi döndürür


Ek hizmetlerin sonucunu döndürür

  • « yaz_error
  • yaz_es »
  • PHP Manual
  • YAZ İşlevleri
  • Ek hizmetlerin sonucunu döndürür

yaz_es_result

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_es_result — Ek hizmetlerin sonucunu döndürür

Açıklama

yaz_es_result(resource $id): array

Bu işlev, bir sunucudan gelen son ek hizmet sonucunu bir dizi içinde döndürür. Ek hizmet ya yaz_itemorder() ya da yaz_es() ile ilklendirilir.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

Sunucu tarafından üretilip gönderilen targetReference elemanını içeren bir dizi döner.

Ayrıca Bakınız

  • yaz_es() - Bir ek hizmet isteği (Extended Service Request) düzenler


Bir ek hizmet isteği (Extended Service Request) düzenler

  • « yaz_es_result
  • yaz_get_option »
  • PHP Manual
  • YAZ İşlevleri
  • Bir ek hizmet isteği (Extended Service Request) düzenler

yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Bir ek hizmet isteği (Extended Service Request) düzenler

Açıklama

yaz_es( resource $id , string $tür , array $bağımsız_değişkenler ): void

Bu işlev, bir ek hizmet isteği (Extended Service Request) düzenler. Ek hizmetler, Record Update, Item Order, veritabanı yönetimi, ve benzerleri gibi çeşitli Z39.50 oluşumlarından oluşan bir ailedir.

Bilginize:

Çoğu Z39.50 sunucusu ek hizmetleri desteklemez.

yaz_es() işlevi, bir ek hizmek isteği paketi oluşturur ve bunu bir işlem kuyruğuna yerleştirir. İstekleri sunucuya göndermek için yaz_wait() işlevini kullanın. yaz_wait() işini bitirdikten sonra ek hizmet işleminin sonucu bir yaz_es_result() çağrısı ile alınmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

tür

Ek hizmetin türünü belirten bir dizge:: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Her tür bir sonraki bölümde belirtilir.

bağımsız_değişkenler

Ek hizmet seçenekleri ile pakete özgü seçeneklerden oluşan bir dizi. Seçenekler, ZOOM C'nin C arayüzündekilere eşdeğerdir. Bakınız: » ZOOM Ek Hizmetleri.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Kayıt Güncelleme

<?php
$con = yaz_connect("myhost/database");
$args = array (
"record" => "<gils><title>some title</title></gils>",
"syntax" => "xml",
"action" => "specialUpdate"
);
yaz_es($con, "update", $args);
yaz_wait();
$result = yaz_es_result($id);
?>

Ayrıca Bakınız

  • yaz_es_result() - Ek hizmetlerin sonucunu döndürür


Bir bağlantı seçeneğinin değerini döndürür

  • « yaz_es
  • yaz_hits »
  • PHP Manual
  • YAZ İşlevleri
  • Bir bağlantı seçeneğinin değerini döndürür

yaz_get_option

(PECL yaz >= 0.9.0)

yaz_get_option — Bir bağlantı seçeneğinin değerini döndürür

Açıklama

yaz_get_option(resource $id, string $isim): string

isim ile belirtilen seçeneğin değerini döndürür.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

isim

Seçeneğin ismi.

Dönen Değerler

Belirtilen seçenek tanımlı değilse boş bir dizge, aksi takdirde seçeneğin değerini döndürür.

Ayrıca Bakınız

  • Kullanılabilecek seçenek isimleri için: yaz_set_option() - Bağlantı ile ilgili seçenekleri belirler


Son arama ile eşleşenlerin sayısını döndürür

  • « yaz_get_option
  • yaz_itemorder »
  • PHP Manual
  • YAZ İşlevleri
  • Son arama ile eşleşenlerin sayısını döndürür

yaz_hits

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_hits — Son arama ile eşleşenlerin sayısını döndürür

Açıklama

yaz_hits(resource $id, array &$sonuçlar = ?): int

yaz_hits() işlevi, son arama ile eşleşenlerin sayısını döndürür.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

sonuçlar

Arama sonuçlarının ayrıntılarını içeren dizi.

Dönen Değerler

Arama yapılmamışsa 0, aksi takdirde arama ile eşleşenlerin sayısını döndürür.

sonuçlar bağımsız değişkeni belirtilmişse, Z39.50 sunucusu tarafından döndürülen bir arama yanıtının SearchResult-1 biçemli parçası belirtilen diziye yerleştirilir. SearchResult-1 biçemi, sorgunun çeşitli parçalarından (alt sorgular) elde edilmiş eşleşmelerin sayısı hakkında bilgi edinmek için kullanılabilir. Özellikle, bir sorgudan tek bir arama kuralı ile eşleşenlerin sayısını öğrenmek mümkündür. İlk alt sorgunun bilgileri $dizi[0]'a, ikincisi $dizi[1]'e, ve benzeri şeklinde gider.

sonuçlar dizisinin üyeleri
Eleman | Açıklama
id | Alt sorgu ID2 (string)
count | Sonuç sayısı (integer)
subquery.term | Alt sorgu kuralı (string)
interpretation.term | Yorumlanmış alt sorgu kuralı (string)
recommendation.term | Önerilen alt sorgu kuralı (string)

Bilginize:

SearchResult oluşumu PECL YAZ 1.0.5 vesonrası ile YAZ 2.1.9 ve sonrasını gerektirir.

Bilginize:

Çok az Z39.50 gerçeklenimi SearchResult oluşumunu destekler.


Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar

  • « yaz_hits
  • yaz_present »
  • PHP Manual
  • YAZ İşlevleri
  • Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar

yaz_itemorder

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_itemorder — Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar

Açıklama

yaz_itemorder(resource $id, array $bağımsız_değişkenler): void

Bu işlev, Z39.50 Item Order Extended Service kullanımı için Profile kullanarak Transport ILL'ye bir Extended Services isteği hazırlar. Bu cümleyi anlayabilmek için » bu adrese ve » bu belirtime bakınız.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

args

Gönderilecek Item Order isteği hakkında bilgi içeren bir ilişkisel dizi olmalıdır. Özetin anahtarı, ilgili ASN.1 yafta yolunun ismidir. Örneğin aşağıdaki ISBN Item-ID'si item-id,ISBN anahtarına sahiptir.

ILL-Request bağımsız değişkenleri:

protocol-version-num
transaction-id,initial-requester-id,person-or-institution-symbol,person
transaction-id,initial-requester-id,person-or-institution-symbol,institution
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-person
transaction-id,initial-requester-id,name-of-person-or-institution,name-of-institution
transaction-id,transaction-group-qualifier
transaction-id,transaction-qualifier
transaction-id,sub-transaction-qualifier
service-date-time,this,date
service-date-time,this,time
service-date-time,original,date
service-date-time,original,time
requester-id,person-or-institution-symbol,person
requester-id,person-or-institution-symbol,institution
requester-id,name-of-person-or-institution,name-of-person
requester-id,name-of-person-or-institution,name-of-institution
responder-id,person-or-institution-symbol,person
responder-id,person-or-institution-symbol,institution
responder-id,name-of-person-or-institution,name-of-person
responder-id,name-of-person-or-institution,name-of-institution
transaction-type
delivery-address,postal-address,name-of-person-or-institution,name-of-person
delivery-address,postal-address,name-of-person-or-institution,name-of-institution
delivery-address,postal-address,extended-postal-delivery-address
delivery-address,postal-address,street-and-number
delivery-address,postal-address,post-office-box
delivery-address,postal-address,city
delivery-address,postal-address,region
delivery-address,postal-address,country
delivery-address,postal-address,postal-code
delivery-address,electronic-address,telecom-service-identifier
delivery-address,electronic-address,telecom-service-addreess
billing-address,postal-address,name-of-person-or-institution,name-of-person
billing-address,postal-address,name-of-person-or-institution,name-of-institution
billing-address,postal-address,extended-postal-delivery-address
billing-address,postal-address,street-and-number
billing-address,postal-address,post-office-box
billing-address,postal-address,city
billing-address,postal-address,region
billing-address,postal-address,country
billing-address,postal-address,postal-code
billing-address,electronic-address,telecom-service-identifier
billing-address,electronic-address,telecom-service-addreess
ill-service-type
requester-optional-messages,can-send-RECEIVED
requester-optional-messages,can-send-RETURNED
requester-optional-messages,requester-SHIPPED
requester-optional-messages,requester-CHECKED-IN
search-type,level-of-service
search-type,need-before-date
search-type,expiry-date
search-type,expiry-flag
place-on-hold
client-id,client-name
client-id,client-status
client-id,client-identifier
item-id,item-type
item-id,call-number
item-id,author
item-id,title
item-id,sub-title
item-id,sponsoring-body
item-id,place-of-publication
item-id,publisher
item-id,series-title-number
item-id,volume-issue
item-id,edition
item-id,publication-date
item-id,publication-date-of-component
item-id,author-of-article
item-id,title-of-article
item-id,pagination
item-id,ISBN
item-id,ISSN
item-id,additional-no-letters
item-id,verification-reference-source
copyright-complicance
retry-flag
forward-flag
requester-note
forward-note

Extended Services Request paketinin ve ItemOrder paketinin parçası olan bir kaç bağımsız değişken daha vardır:

package-name
user-id
contact-name
contact-phone
contact-email
itemorder-item

Dönen Değerler

Hiçbir değer dönmez.


Bir alım (Z39.50 present) düzenler

  • « yaz_itemorder
  • yaz_range »
  • PHP Manual
  • YAZ İşlevleri
  • Bir alım (Z39.50 present) düzenler

yaz_present

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_present — Bir alım (Z39.50 present) düzenler

Açıklama

yaz_present(resource $id): bool

Bu işlev başarılı bir aramanın ardından kayıtları alım için hazırlar.

Bu işlevden önce, alınacak kayıt aralığını belirleyen yaz_range() işlevi çağrılmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Edinilecek kayıtlar için bir aralık belirler

  • « yaz_present
  • yaz_record »
  • PHP Manual
  • YAZ İşlevleri
  • Edinilecek kayıtlar için bir aralık belirler

yaz_range

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_range — Edinilecek kayıtlar için bir aralık belirler

Açıklama

yaz_range(resource $id, int $başlangıç, int $sayı): void

Edinilecek kayıtlar için bir aralık belirler.

Bu işlevin yaz_search() veya yaz_present() işlevinden önce çağrılması gerekir.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

başlangıç

Edinilecek ilk kaydın konumu. yaz_hits() için kayıt numaraları 1'den başlar.

sayı

Edinilecek kayıt sayısı.

Dönen Değerler

Hiçbir değer dönmez.


Bir kayıt döndürür

  • « yaz_range
  • yaz_scan_result »
  • PHP Manual
  • YAZ İşlevleri
  • Bir kayıt döndürür

yaz_record

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_record — Bir kayıt döndürür

Açıklama

yaz_record(resource $id, int $konum, string $tür): string

yaz_record() işlevi, geçerli sonuç kümesinin konum ile belirtilen konumundaki kaydı döndürür.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

konum

Kaydın konumu. Sonuç kümesindeki kayıtların konumları 1, 2, ..., $sayı şeklinde olup $sayı, yaz_hits() işlevi tarafından döndürülen sonuç sayısıdır.

tür

Dönen kaydın biçimi belirtilir.

Bilginize:

Aslında, kayıtların Z39.50/SRW sunucusundan uygun biçemde dönmesini garanti etmekten sorumludur. tür sadece, istemci tarafında yer alacak bir uzlaşım belirtir (PHP/YAZ olarak).

Aktarım kaydının bir dizi veya dizgeye dönüşmesinin yanında, PHP/YAZ'ın kayda bir karakter kümesi dönüşümü de uygulaması mümkündür. USMARC/MARC21 için bu özellikle önerilir, çünkü bunlar tarayıcılar tarafından desteklenmeyen MARC-8 karakter kümesini kullanırlar. Dönüşüm belirtmek için şunu ekleyin: ; charset=kaynak, hedef. Burada kaynak kaydın özgün karakter kümesini, hedef ise PHP tarafından görülecek karakter kümesini belirtir.

string

Kayıt, basit gösterim için bir dizge olarak döndürülür. Bu kipte, tüm MARC kayıtları ISO2709 zorlukla okunabildiğinden satırlı biçeme dönüştürülür. XML kayıtları ve SUTRS özgün biçemleriyle döndürülür. GRS-1 ise satırlı fakat çirkin bir biçemde döndürülür.

Kaydın çabucak basit bir biçemde gösterilmesi gerektiğinde, hata ayıklamak için veya başka türlü göstermenin uygun olmadığı durumlarda bu biçem yararlıdır.

xml

Mümkünse kayıt bir XML dizge olarak döndürülür. Bu kipte tüm MARC kayıtları » MARCXML'e dönüştürülür. XML kayıtları ve SUTRS özgün biçemleriyle döndürülür. GRS-1 desteklenmez.

Bu biçem, MARC kayıtlarının MARCXML'e dönüştürülmesi dışında string biçemine benzer.

Bu biçem, kayıtların bir XML çözümleyici veya bir XSLT işlemcisi tarafından işleme sokulmasının gerektiği durumlarda yararlıdır.

raw

Kayıt, özgün biçemi korunarak bir dizge olarak döndürülür. Bu tür, MARC, XML ve SUTRS için yararlıdır. GRS-1 için işe yaramaz.

MARC kayıtları bir ISO2709 dizgesi olarak döndürülür. XML ve SUTRS ise dizge olarak döndürülür.

syntax

Kaydın sözdizimi ismi, USmarc, GRS-1, XML gibi bir dizge olarak döndürülür.

database

Kaydın ilişkili olduğu veritabanının ismi bir dizge olarak döndürülür.

array

Kayıt, GRS-1 yapısını yansıtan bir dizi olarak döndürülür. Bu tür, MARC ve GRS-1 için elverişlidir. XML ve SUTRS desteklenmez ve asıl kayıt XML veya SUTRS ise boş bir dizge döner.

Dönen dizi, GRS-1'in her dahili/uç düğümü ile ilişkili bir listeden oluşur. Her liste öğesi, ilk elemanı yol ve (varsa) veri olan bir alt listeden oluşur.

Yol öğesi, ağacın köküne göre ağaç bileşenlerinin listesini içeren bir dizgedir. Her bileşen (tür, değer) biçeminde bir yafta türü ve yafta değeri çiftinden oluşur.

Dizge yaftalar normalde 3. tür yaftaya karşılıktır. MARC bir dizi olarak da döndürülebilir (dahili olarak GRS-1'e dönüştürülür).

Dönen Değerler

Belirtilen konumda kayıt yoksa boş bir dizge, varsa kaydı döndürür.

Belirtilen konumda veritabanı kaydı yoksa boş bir dizge döner.

Örnekler

Örnek 1 - GRS-1 kaydı için bir dizi

GRS-1 kaydı şöyle olsun:

(4,52)Robert M. Pirsig
(4,70)
      (4,90)
            (2,7)Transworld Publishers, ltd.
Bu kayıt, kök seviyesinde iki düğüme sahiptir. Kök seviyesindeki düğümlerden ilkinin yaftası (4,52) [yafta türü: 4, yafta değeri: 52], verisi ise Robert M. Pirsig'dir; ikincisinin yaftası (4,70) olup (4,90) yaftalı tek elemanlı bir alt ağaç ve bu ağaç da (2,7) yaftalı ve Transworld Publishers, ltd. verili bir düğüm içermektedir.

Bu kaydın bulunduğu konum $p ise,

<?php

$ar = yaz_record($id, $p, "array");
print_r($ar);

?>
kodunun çıktısı şöyle olur:
Array
(
    [0] => Array
        (
            [0] => (4,52)
            [1] => Robert M. Pirsig
        )
    [1] => Array
        (
            [0] => (4,70)
        )
    [2] => Array
        (
            [0] => (4,70)(4,90)
        )
    [3] => Array
        (
            [0] => (4,70)(4,90)(2,7)
            [1] => Transworld Publishers, ltd.
        )
)

Örnek 2 - MARCXML ile çalışma

Aşağıdaki PHP betiği MARCXML olarak bir MARC21/USMARC kaydı döndürür. Özgün kayıt (çoğu XML çözümleyicinin bilmediği) marc-8 kodlu olduğundan (tüm XML çözümleyicilerin desteklediği) UTF-8'e dönüştürüyoruz.

<?php
$rec = yaz_record($id, $p, "xml; charset=marc-8,utf-8");
?>

$rec kaydı Sablotron XSLT işlemcisi tarafından şöyle işlenir:

<?php

$xslfile = 'display.xsl';
$processor = xslt_create();
$parms = array('/_xml' => $rec);
$res = xslt_process($processor, 'arg:/_xml', $xslfile, NULL, $parms);
xslt_free($processor);
$res = preg_replace("'</?html[^>]*>'", '', $res);
echo $res;

?>


Tarama sonucunu döndürür

  • « yaz_record
  • yaz_scan »
  • PHP Manual
  • YAZ İşlevleri
  • Tarama sonucunu döndürür

yaz_scan_result

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan_result — Tarama sonucunu döndürür

Açıklama

yaz_scan_result(resource $id, array &$sonuç = ?): array

yaz_scan_result() işlevi son yaz_scan() çağrısı için sunucudan alınan tarama bilgilerini ve terimleri döndürür.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

sonuç

Belirtildiği takdirde, tarama yanıtıyla alınan ek bilgiler bu diziye yerleştirilir. Dizinin anahtarları:

  • number - Dönen girdi sayısı.

  • stepsize - Adım boyu.

  • position - Terimin konumu.

  • status - Tarama durumu.

Dönen Değerler

N dönen terim sayısı olmak üzere (0..N-1) terimden oluşan bir dizi döner. Her eleman bir çift değerden oluşur. İlk değer terimi, ikincisi sonuç sayısını içerir.


Bir tarama düzenler

  • « yaz_scan_result
  • yaz_schema »
  • PHP Manual
  • YAZ İşlevleri
  • Bir tarama düzenler

yaz_scan

(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)

yaz_scan — Bir tarama düzenler

Açıklama

yaz_scan(
resource $id,
string $tür,
string $başlangıç,
array $seçenekler = ?
): void

Bu işlev belirtilen bağlantı üzerinde bir Z39.50 tarama isteği (Scan Request) düzenler.

Tarama isteğini sunucuya gerçekten aktarmak ve tarama yanıtını almak için
yaz_wait() çağrısı yapılmalıdır.
yaz_wait() çağrısının tamamlanmasının ardından yanıtı
işlemek için yaz_error() ve
yaz_scan_result()çağrılır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

tür

Şimdilik sadece rpn türü desteklenmektedir.

startterm

Taramanın başlatılacağı terim.

Başlangıç teriminin biçimi tür bağımsız değişkeniyle belirtilir.

Bu bağımsız değişkenin sözdizimi yaz_search() işlevindeki RPN sorgusuna benzer. Sıfır veya daha fazla sayıda, tek terimli @attr ifadelerinden oluşur.

seçenekler

Belirtilmesi isteğe bağlı olan bu bağımsız değişken ile tarama isteğinin davranışını belirleyen ek bilgiler belirtilir. Şimdilik seçenekler dizisinden üç anahtar okunmaktadır: number (istenen terim sayısı), position (terimin tercihli konumu) ve stepSize (tercih edilen adım boyu).

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Başlıkları tarayan PHP işlevi

<?php
function scan_titles($id, $başlangıç)
{
yaz_scan($id, "rpn", "@attr 1=4 " . $başlangıç);
yaz_wait();
$errno = yaz_errno($id);
if ($errno == 0) {
$ar = yaz_scan_result($id, $seçenekler);
echo 'Tarama bitti; ';
foreach ($seçenekler as $anahtar => $değer) {
echo "$anahtar = $değer &nbsp;";
}
echo '<br /><table>';
while (list($anahtar, list($k, $terim, $tsayısı)) = each($ar)) {
if (empty($k)) continue;
echo "<tr><td>$terim</td><td>$tsayısı</td></tr>";
}
echo '</table>';
} else {
echo "Tarama başarısız oldu. Hata: " . yaz_error($id) . "<br />";
}
}
?>


Alım için şema belirtir

  • « yaz_scan
  • yaz_search »
  • PHP Manual
  • YAZ İşlevleri
  • Alım için şema belirtir

yaz_schema

(PHP 4 >= 4.2.0, PECL yaz >= 0.9.0)

yaz_schema — Alım için şema belirtir

Açıklama

yaz_schema(resource $id, string $şema): void

yaz_schema() işlevi alım için şema belirtir.

Bu işlev, yaz_search() veya yaz_present() işlevinden önce çağrılmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

şema

Ham noktalı gösterimle (1.2.840.10003.13.4 gibi) veya bilinen kayıtlı şemalardan biri (GILS-schema, Holdings, Zthes, ...) olarak belirtilmelidir.

Dönen Değerler

Hiçbir değer dönmez.


Bir arama düzenler

  • « yaz_schema
  • yaz_set_option »
  • PHP Manual
  • YAZ İşlevleri
  • Bir arama düzenler

yaz_search

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_search — Bir arama düzenler

Açıklama

yaz_search(resource $id, string $tür, string $sorgu): bool

yaz_search() işlevi belirtilen bağlantı için bir arama düzenler.

yaz_connect() işlevi gibi bu işlev de engellenmeyen kipte çalışır ve yaz_wait() çağrısına hazırlık olarak bir arama işlemi düzenler.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

tür

Sorgu türü - şimdilik sadece "rpn" desteklenmekte olup, bu durumda üçüncü bağımsız değişken, önek sorgu gösteriminde bir Type-1 sorgusu belirtir.

sorgu

Z39.50 standardında tanımlandığı gibi Type-1 sorgusunun dizgesel gösterimi olarak RPN sorgusu. Sorgu dizgesi boşluklarla ayrılmış dizgeciklerden oluşur ve boşluk içeren dizgeciklerin tırnak içine alınması gerekir. @ (kuyruklu a) karakteri ile başlayan dizgecikler işleç olarak, diğerleri arama terimleri olarak ele alınır.

RPN İşleçleri
İfade Sözdizimi | Açıklama
@and sorgu1 sorgu2 | sorgu1 ve sorgu2'nin kesişimi
@or sorgu1 sorgu2 | sorgu1 ve sorgu2'nin birleşimi
@not sorgu1 sorgu2 | sorgu1 değildir sorgu2
@set isim | Sonuç kümesi gönderimi
@attrset küme sorgu | Sorgu için öznitelik kümesi belirtir. Bu ifadeye sadece tüm sorgunun en başında bir defalığına izin verilir.
@attr [küme] tür=değer sorgu | Sorguya özniteliği uygular. tür ve değer birer tamsayı olup öznitelik türünü ve değerini belirtir. küme ise kullanıldığı takdirde öznitelik kümesini belirtir.

Öznitelikler hakkında bilgi edinmek için » Z39.50 Maintenance Agency sitesine bakınız.

Bilginize:

Daha hoş bir gösterim isterseniz CCL çözümleyici - yaz_ccl_conf() ve yaz_ccl_parse() işlevlerini - kullanın.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Sorgu örnekleri - Aşağıdaki gibi basit ifadeleri aratabilirsiniz

computer
İçinde "computer" geçen belgelerle eşleşir. Hiçbir öznitelik belirtilmemiştir.

"knuth donald"
İçinde "knuth donald" geçen belgelerle eşleşir (sunucu deyim aramayı destekliyorsa).

@attr 1=1003 @attr 4=1 "knuth donald"
Aynı deyimi iki öznitelikle sorgular. İlk öznitelik 1. türde (Bib-1 kullanımı) olup özniteliğin değeri 1003'tür (Yazar). İkinci öznitelik 4. türde (veri yapısı) olup değeri 1'dir (cümle). Dolayısıyla bu ifade, yazarı Donald Knuth olan belgelerle eşleşir.

@and @or a b @not @or c d e
Açılımı:
(a or b) and ((c or d) not e)

Daha karmaşık bir örnek:

@attrset gils @and @attr 1=4 art @attr 1=2000 company
Sorgu bir bütün olarak GILS öznitelik kümesini kullanır. Dağıtımcı (GILS) olarak company ve başlık (GILS,BIB-1) olarak art içeren belgelerle eşleşir.


Bağlantı ile ilgili seçenekleri belirler

  • « yaz_search
  • yaz_sort »
  • PHP Manual
  • YAZ İşlevleri
  • Bağlantı ile ilgili seçenekleri belirler

yaz_set_option

(PECL yaz >= 0.9.0)

yaz_set_option — Bağlantı ile ilgili seçenekleri belirler

Açıklama

yaz_set_option(resource $id, string $isim, string $değer): void
yaz_set_option(resource $id, array $seçenekler): void

Belirtilen bağlantıya bir veya çok sayıda seçenek atar.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

isim veya seçenekler

Bir dizge veya dizi belirtilebilir.

Bir dizge verilirse, atanacak seçeneğin ismi olarak ele alınır. Bu durumda seçenek değerini değer bağımsız değişkeninde belirtmelisiniz.

Bir dizi verilirse, isim => değer çiftlerinden oluşan bir ilişkisel dizi olarak ele alınır.

PHP/YAZ Bağlantı Seçenekleri
İsim | Açıklama
implementationName | Sunucunun gerçeklenim ismi
implementationVersion | Sunucunun gerçeklenim sürümü
implementationId | Sunucunun gerçeklenim kimliği
schema | Alım şeması. Öntanımlı olarak bir şema kullanılmaz. Bu seçeneğin belirtilmesi yaz_schema() kullanımına eşdeğerdir.
preferredRecordSyntax | Alım için kayıt sözdizimi. Öntanımlı olarak bir sözdizimi kullanılmaz. Bu seçeneğin belirtilmesi yaz_syntax() kullanımına eşdeğerdir.
start | yaz_search() veya yaz_present() üzerinden alınacak ilk kaydın konumu. İlk kayıt için başlangıç konumu 0, ikincisinin 1'dir. Bu seçeneğin count seçeneği ile birlikte belirtilmesi, yaz_range() işlevinde kayıtların 1'den başlaması dışında yaz_range() kullanımına eşdeğerdir.
count | yaz_search() veya yaz_present() üzerinden alınabilecek azami kayıt sayısı.
elementSetName | Alım için eleman kümesi ismi. Bu seçeneğin belirtilmesi yaz_element() kullanımına eşdeğerdir.
değer

Tek bir seçenek belirtilmesi durumunda seçeneğin değeri. Önceki bağımsız değişkende bir dizge belirtildiğinde kullanılır.

Dönen Değerler

Hiçbir değer dönmez.


Sıralama kuralını belirler

  • « yaz_set_option
  • yaz_syntax »
  • PHP Manual
  • YAZ İşlevleri
  • Sıralama kuralını belirler

yaz_sort

(PHP 4 >= 4.0.7, PECL yaz >= 0.9.0)

yaz_sort — Sıralama kuralını belirler

Açıklama

yaz_sort(resource $id, string $kural): void

Sıralama kuralını belirler ve Z39.50 Sort'u etkin kılar.

yaz_search() işlevinden önce çağırın; tek başına bir etkisi yoktur. yaz_search() ile birlikte kullanıldığında, bir arama yanıtı alındıktan sonra ve Z39.50 Present (yaz_present()) ile herhangi bir kayıt alınmadan önce bir Z39.50 Sort gönderilmesini sağlar.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

kural

alan1 seçenekler1 alan2 seçenekler2 biçeminde bir dizge olup, alan1 ile sıralama için birincil öznitelikler, alan2 ile saniye sayısını, vb. belirtilir.

alan olarak, ya virgüllerle ayrılmış tür=değer çiftlerinden oluşan (1=4,2=1 gibi) bir öznitelik kümesi ya da bir kural dizgesi (title gibi) belirtilir. seçenekler olarak, boşluklarla ayrılarak aşağıdaki karakterler belirtilir:

Sıralama Seçenekleri
a

Artan sıralama

d

Azalan sıralama

i

Harf büyüklüğüne duyarsız sıralama

s

Harf büyüklüğüne duyarlı sıralama

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Sıralama kuralları

Başlıkları harf büyüklüğüne duyarsız olarak artan sırada sıralamak için kullanacağınız kural:

1=4 ia

İkincil olarak yazara göre sıralama yapılacaksa, harf büyüklüğüne duyarlı olarak artan sırada sıralamak için kullanacağınız kural:

1=4 ia 1=1003 sa


Alım için tercih edilen kayıt sözdizimini belirler

  • « yaz_sort
  • yaz_wait »
  • PHP Manual
  • YAZ İşlevleri
  • Alım için tercih edilen kayıt sözdizimini belirler

yaz_syntax

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_syntax — Alım için tercih edilen kayıt sözdizimini belirler

Açıklama

yaz_syntax(resource $id, string $sözdizimi): void

yaz_syntax() alım için tercih edilen kayıt sözdizimini belirler.

Bu işlev, yaz_search() veya yaz_present() işlevinden önce çağrılmalıdır.

Bağımsız Değişkenler

id

yaz_connect() tarafından döndürülmüş bağlantı özkaynağı.

sözdizimi

Sözdizimi, ham noktalı gösterimle (1.2.840.10003.5.10 gibi) veya bilinen kayıtlı sözdizimlerden biri (sutrs, usmarc, grs1, xml, ve benzerleri) olarak belirtilen bir nesne kimliği (OID) olmalıdır.

Dönen Değerler

Hiçbir değer dönmez.


Z39.50 isteklerinin tamamlanmasını bekler

  • « yaz_syntax
  • 0MQ messaging »
  • PHP Manual
  • YAZ İşlevleri
  • Z39.50 isteklerinin tamamlanmasını bekler

yaz_wait

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_wait — Z39.50 isteklerinin tamamlanmasını bekler

Açıklama

yaz_wait(array &$seçenekler = ?): mixed

yaz_connect(), yaz_search(),
yaz_present(), yaz_scan() ve
yaz_itemorder() işlevleri tarafından hazırlanmış askıdaki
istekler için ağda engellenmiş etkinliği gerçekleştirir.

yaz_wait() işlevi, tüm sunucular işlerini tamamladıktan veya (hata durumunda) bağlantıyı terkettikten sonra döner.

Bağımsız Değişkenler

seçenekler

Şu seçenekleri içeren bir ilişkisel dizi:

timeout

Saniye cinsinden zaman aşımı süresi. Sunucu bu süre içinde yanıt vermezse ölü kabul edilir ve yaz_wait() döner. Öntanımlı zaman aşımı süresi 15 saniyedir.

event

Mantıksal bir değer.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. event true ise bir özkaynak, hata oluşmuşsa false döner.


ZMQ

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
  • ZMQ — The ZMQ class
    • ZMQ::__construct — ZMQ constructor
  • ZMQContext — The ZMQContext class
    • ZMQContext::__construct — Construct a new ZMQContext object
    • ZMQContext::getOpt — Get context option
    • ZMQContext::getSocket — Create a new socket
    • ZMQContext::isPersistent — Whether the context is persistent
    • ZMQContext::setOpt — Set a socket option
  • ZMQSocket — The ZMQSocket class
    • ZMQSocket::bind — Bind the socket
    • ZMQSocket::connect — Connect the socket
    • ZMQSocket::__construct — Construct a new ZMQSocket
    • ZMQSocket::disconnect — Disconnect a socket
    • ZMQSocket::getEndpoints — Get list of endpoints
    • ZMQSocket::getPersistentId — Get the persistent id
    • ZMQSocket::getSocketType — Get the socket type
    • ZMQSocket::getSockOpt — Get socket option
    • ZMQSocket::isPersistent — Whether the socket is persistent
    • ZMQSocket::recv — Receives a message
    • ZMQSocket::recvMulti — Receives a multipart message
    • ZMQSocket::send — Sends a message
    • ZMQSocket::sendmulti — Sends a multipart message
    • ZMQSocket::setSockOpt — Set a socket option
    • ZMQSocket::unbind — Unbind the socket
  • ZMQPoll — The ZMQPoll class
    • ZMQPoll::add — Add item to the poll set
    • ZMQPoll::clear — Clear the poll set
    • ZMQPoll::count — Count items in the poll set
    • ZMQPoll::getLastErrors — Get poll errors
    • ZMQPoll::poll — Poll the items
    • ZMQPoll::remove — Remove item from poll set
  • ZMQDevice — The ZMQDevice class
    • ZMQDevice::__construct — Construct a new device
    • ZMQDevice::getIdleTimeout — Get the idle timeout
    • ZMQDevice::getTimerTimeout — Get the timer timeout
    • ZMQDevice::run — Run the new device
    • ZMQDevice::setIdleCallback — Set the idle callback function
    • ZMQDevice::setIdleTimeout — Set the idle timeout
    • ZMQDevice::setTimerCallback — Set the timer callback function
    • ZMQDevice::setTimerTimeout — Set the timer timeout


Giriş

"ØMQ is a software library that lets you quickly design and implement a fast message-based application." --0MQ Website

For more information about 0MQ, see » http://zeromq.org/.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • 0MQ messaging
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler


Gereksinimler

ZMQ extension requires 0MQ version 2.0.7 or higher. 0MQ can be acquired from » http://zeromq.org/area:download.

Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/zmq


The ZMQ class

(PECL zmq >= 0.5.0)

Giriş

Sınıf Sözdizimi

class ZMQ {
/* Sabitler */
const int SOCKET_PAIR;
const int SOCKET_PUB;
const int SOCKET_SUB;
const int SOCKET_REQ;
const int SOCKET_REP;
const int SOCKET_XREQ;
const int SOCKET_XREP;
const int SOCKET_PUSH;
const int SOCKET_PULL;
const int SOCKET_ROUTER;
const int SOCKET_DEALER;
const int SOCKET_XPUB;
const int SOCKET_XSUB;
const int SOCKET_STREAM;
const int SOCKOPT_HWM;
const int SOCKOPT_SNDHWM;
const int SOCKOPT_RCVHWM;
const int SOCKOPT_AFFINITY;
const int SOCKOPT_IDENTITY;
const int SOCKOPT_SUBSCRIBE;
const int SOCKOPT_UNSUBSCRIBE;
const int SOCKOPT_RATE;
const int SOCKOPT_RECOVERY_IVL;
const int SOCKOPT_RECONNECT_IVL;
const int SOCKOPT_RECONNECT_IVL_MAX;
const int SOCKOPT_MCAST_LOOP;
const int SOCKOPT_SNDBUF;
const int SOCKOPT_RCVBUF;
const int SOCKOPT_RCVMORE;
const int SOCKOPT_TYPE;
const int SOCKOPT_LINGER;
const int SOCKOPT_BACKLOG;
const int SOCKOPT_MAXMSGSIZE;
const int SOCKOPT_SNDTIMEO;
const int SOCKOPT_RCVTIMEO;
const int SOCKOPT_IPV4ONLY;
const int SOCKOPT_LAST_ENDPOINT;
const int SOCKOPT_TCP_KEEPALIVE_IDLE;
const int SOCKOPT_TCP_KEEPALIVE_CNT;
const int SOCKOPT_TCP_KEEPALIVE_INTVL;
const int SOCKOPT_TCP_ACCEPT_FILTER;
const int SOCKOPT_TCP_ACCEPT_FILTER;
const int SOCKOPT_DELAY_ATTACH_ON_CONNECT;
const int SOCKOPT_XPUB_VERBOSE;
const int SOCKOPT_ROUTER_RAW;
const int SOCKOPT_IPV6;
const int CTXOPT_MAX_SOCKETS;
const int POLL_IN;
const int POLL_OUT;
const int MODE_NOBLOCK;
const int MODE_DONTWAIT;
const int MODE_SNDMORE;
const int ERR_INTERNAL;
const int ERR_EAGAIN;
const int ERR_ENOTSUP;
const int ERR_EFSM;
const int ERR_ETERM;
/* Yöntemler */
private __construct()
}

Öntanımlı Sabitler

ZMQ Constant Types

ZMQ::SOCKET_PAIR

Exclusive pair pattern

ZMQ::SOCKET_PUB

Publisher socket

ZMQ::SOCKET_SUB

Subscriber socket

ZMQ::SOCKET_REQ

Request socket

ZMQ::SOCKET_REP

Reply socket

ZMQ::SOCKET_XREQ

Alias for SOCKET_DEALER

ZMQ::SOCKET_XREP

Alias for SOCKET_ROUTER

ZMQ::SOCKET_PUSH

Pipeline upstream push socket

ZMQ::SOCKET_PULL

Pipeline downstream pull socket

ZMQ::SOCKET_ROUTER

Extended REP socket that can route replies to requesters

ZMQ::SOCKET_DEALER

Extended REQ socket that load balances to all connected peers

ZMQ::SOCKET_XPUB

Similar to SOCKET_PUB, except you can receive subscriptions as messages. The subscription message is 0 (unsubscribe) or 1 (subscribe) followed by the topic.

ZMQ::SOCKET_XSUB

Similar to SOCKET_SUB, except you can send subscriptions as messages. See SOCKET_XPUB for format.

ZMQ::SOCKET_STREAM

Used to send and receive TCP data from a non-ØMQ peer. Available if compiled against ZeroMQ 4.x or higher (Value: int).

ZMQ::SOCKOPT_HWM

The high water mark for inbound and outbound messages is a hard limit on the maximum number of outstanding messages ØMQ shall queue in memory for any single peer that the specified socket is communicating with. Setting this option on a socket will only affect connections made after the option has been set. On ZeroMQ 3.x this is a wrapper for setting both SNDHWM and RCVHWM. (Value: int).

ZMQ::SOCKOPT_SNDHWM

The ZMQ_SNDHWM option shall set the high water mark for outbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: int).

ZMQ::SOCKOPT_RCVHWM

The SOCKOPT_RCVHWM option shall set the high water mark for inbound messages on the specified socket. Available if compiled against ZeroMQ 3.x or higher (Value: int).

ZMQ::SOCKOPT_AFFINITY

Set I/O thread affinity (Value: int)

ZMQ::SOCKOPT_IDENTITY

Set socket identity (Value: string)

ZMQ::SOCKOPT_SUBSCRIBE

Establish message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_UNSUBSCRIBE

Remove message filter. Valid for subscriber socket (Value: string)

ZMQ::SOCKOPT_RATE

Set rate for multicast sockets (pgm) (Value: int >= 0)

ZMQ::SOCKOPT_RECOVERY_IVL

Set multicast recovery interval (Value: int >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL

Set the initial reconnection interval (Value: int >= 0)

ZMQ::SOCKOPT_RECONNECT_IVL_MAX

Set the max reconnection interval (Value: int >= 0)

ZMQ::SOCKOPT_MCAST_LOOP

Control multicast loopback (Value: int >= 0)

ZMQ::SOCKOPT_SNDBUF

Set kernel transmit buffer size (Value: int >= 0)

ZMQ::SOCKOPT_RCVBUF

Set kernel receive buffer size (Value: int >= 0)

ZMQ::SOCKOPT_RCVMORE

Receive multi-part messages (Value: int)

ZMQ::SOCKOPT_TYPE

Get the socket type. Valid for getSockOpt (Value: int)

ZMQ::SOCKOPT_LINGER

The linger value of the socket. Specifies how long the socket blocks trying flush messages after it has been closed (Value: int)

ZMQ::SOCKOPT_BACKLOG

The SOCKOPT_BACKLOG option shall set the maximum length of the queue of outstanding peer connections for the specified socket; this only applies to connection-oriented transports. (Value: int)

ZMQ::SOCKOPT_MAXMSGSIZE

Limits the maximum size of the inbound message. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_SNDTIMEO

Sets the timeout for send operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_RCVTIMEO

Sets the timeout for receive operation on the socket. Value -1 means no limit. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_IPV4ONLY

Disable IPV6 support if 1. Available if compiled against ZeroMQ 3.x (Value: int)

ZMQ::SOCKOPT_LAST_ENDPOINT

Retrieve the last connected endpoint - for use with * wildcard ports. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_KEEPALIVE_IDLE

Idle time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_TCP_KEEPALIVE_CNT

Count time for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_TCP_KEEPALIVE_INTVL

Interval for TCP keepalive. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::SOCKOPT_DELAY_ATTACH_ON_CONNECT

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_TCP_ACCEPT_FILTER

Set a CIDR string to match against incoming TCP connections. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_XPUB_VERBOSE

Set the XPUB to receive an application message on each instance of a subscription. Available if compiled against ZeroMQ 3.x or higher (Value: string)

ZMQ::SOCKOPT_ROUTER_RAW

Sets the raw mode on the ROUTER, when set to 1. In raw mode when using tcp:// transport the socket will read and write without ZeroMQ framing. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::SOCKOPT_IPV6

Enable IPV6. Available if compiled against ZeroMQ 4.0 or higher (Value: string)

ZMQ::CTXOPT_MAX_SOCKETS

The socket limit for this context. Available if compiled against ZeroMQ 3.x or higher (Value: int)

ZMQ::POLL_IN

Poll for incoming data

ZMQ::POLL_OUT

Poll for outgoing data

ZMQ::MODE_NOBLOCK

Non-blocking operation. Deprecated, use ZMQ::MODE_DONTWAIT instead

ZMQ::MODE_DONTWAIT

Non-blocking operation

ZMQ::MODE_SNDMORE

Send multi-part message

ZMQ::DEVICE_FORWARDER

Forwarder device

ZMQ::DEVICE_QUEUE

Queue device

ZMQ::DEVICE_STREAMER

Streamer device

ZMQ::ERR_INTERNAL

ZMQ extension internal error

ZMQ::ERR_EAGAIN

Implies that the operation would block when ZMQ::MODE_DONTWAIT is used

ZMQ::ERR_ENOTSUP

The operation is not supported by the socket type

ZMQ::ERR_EFSM

The operation can not be executed because the socket is not in correct state

ZMQ::ERR_ETERM

The context has been terminated

İçindekiler

  • ZMQ::__construct — ZMQ constructor


ZMQ constructor

  • « ZMQ
  • ZMQContext »
  • PHP Manual
  • ZMQ
  • ZMQ constructor

ZMQ::__construct

(PECL zmq >= 0.5.0)

ZMQ::__construct — ZMQ constructor

Açıklama

private ZMQ::__construct()

Private constructor to prevent direct initialization. This class holds the constants for ZMQ extension.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The ZMQContext class

(PECL zmq >= 0.5.0)

Giriş

Sınıf Sözdizimi

class ZMQContext {
/* Yöntemler */
public __construct(int $io_threads = 1, bool $is_persistent = true)
public getOpt(string $key): mixed
public getSocket(int $type, string $persistent_id = null, callable $on_new_socket = null): ZMQSocket
public isPersistent(): bool
public setOpt(int $key, mixed $value): ZMQContext
}

İçindekiler

  • ZMQContext::__construct — Construct a new ZMQContext object
  • ZMQContext::getOpt — Get context option
  • ZMQContext::getSocket — Create a new socket
  • ZMQContext::isPersistent — Whether the context is persistent
  • ZMQContext::setOpt — Set a socket option


Construct a new ZMQContext object

  • « ZMQContext
  • ZMQContext::getOpt »
  • PHP Manual
  • ZMQContext
  • Construct a new ZMQContext object

ZMQContext::__construct

(PECL zmq >= 0.5.0)

ZMQContext::__construct — Construct a new ZMQContext object

Açıklama

public ZMQContext::__construct(int $io_threads = 1, bool $is_persistent = true)

Constructs a new ZMQ context. The context is used to initialize sockets. A persistent context is required to initialize persistent sockets.

Bağımsız Değişkenler

io_threads

Number of io-threads in the context.

is_persistent

Whether the context is persistent. Persistent context is stored over multiple requests and is a requirement for persistent sockets.

Hatalar/İstisnalar

Throws ZMQContextException if context initialization fails.

Örnekler

Örnek 1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
?>


Get context option

  • « ZMQContext::__construct
  • ZMQContext::getSocket »
  • PHP Manual
  • ZMQContext
  • Get context option

ZMQContext::getOpt

(PECL zmq >= 1.0.4)

ZMQContext::getOpt — Get context option

Açıklama

public ZMQContext::getOpt(string $key): mixed

Returns the value of a context option.

Bağımsız Değişkenler

key

An integer representing the option. See the ZMQ::CTXOPT_* constants.

Dönen Değerler

Returns either a string or an int depending on key. Throws ZMQContextException on error.


Create a new socket

  • « ZMQContext::getOpt
  • ZMQContext::isPersistent »
  • PHP Manual
  • ZMQContext
  • Create a new socket

ZMQContext::getSocket

(PECL zmq >= 0.5.0)

ZMQContext::getSocket — Create a new socket

Açıklama

public ZMQContext::getSocket(int $type, string $persistent_id = null, callable $on_new_socket = null): ZMQSocket

Shortcut for creating new sockets from the context. If the context is not persistent the persistent_id parameter is ignored and the socket falls back to being non-persistent. The on_new_socket is called only when a new underlying socket structure is created.

Bağımsız Değişkenler

type

ZMQ::SOCKET_* constant to specify socket type.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used. The callback takes ZMQSocket and persistent_id as two arguments.

Dönen Değerler

Returns a ZMQSocket object.

Hatalar/İstisnalar

Throws ZMQSocketException on error.

Örnekler

Örnek 1 A ZMQContext() example

Basic usage

<?php
/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REQ, 'my sock');

/* Connect the socket */
$socket->connect("tcp://example.com:1234");

/* Send a request */
$socket->send("Hello there");

/* Receive back the response */
$message = $socket->recv();
echo "Received message: {$message}\n";
?>


Whether the context is persistent

  • « ZMQContext::getSocket
  • ZMQContext::setOpt »
  • PHP Manual
  • ZMQContext
  • Whether the context is persistent

ZMQContext::isPersistent

(PECL zmq >= 0.5.0)

ZMQContext::isPersistent — Whether the context is persistent

Açıklama

public ZMQContext::isPersistent(): bool

Whether the context is persistent. Persistent context is needed for persistent connections as each socket is allocated from a context.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the context is persistent and false if the context is non-persistent.


Set a socket option

  • « ZMQContext::isPersistent
  • ZMQSocket »
  • PHP Manual
  • ZMQContext
  • Set a socket option

ZMQContext::setOpt

(PECL zmq >= 1.0.4)

ZMQContext::setOpt — Set a socket option

Açıklama

public ZMQContext::setOpt(int $key, mixed $value): ZMQContext

Sets a ZMQ context option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Bağımsız Değişkenler

key

One of the ZMQ::CTXOPT_* constants.

value

The value of the parameter.

Dönen Değerler

Returns the current object. Throws ZMQContextException on error.


The ZMQSocket class

(PECL zmq >= 0.5.0)

Giriş

Sınıf Sözdizimi

class ZMQSocket {
/* Yöntemler */
public bind(string $dsn, bool $force = false): ZMQSocket
public connect(string $dsn, bool $force = false): ZMQSocket
public __construct(
ZMQContext $context,
int $type,
string $persistent_id = null,
callable $on_new_socket = null
)
public disconnect(string $dsn): ZMQSocket
public getEndpoints(): array
public getPersistentId(): string
public getSocketType(): int
public getSockOpt(string $key): mixed
public isPersistent(): bool
public recv(int $mode = 0): string
public recvMulti(int $mode = 0): array
public send(string $message, int $mode = 0): ZMQSocket
public sendmulti(array $message, int $mode = 0): ZMQSocket
public setSockOpt(int $key, mixed $value): ZMQSocket
public unbind(string $dsn): ZMQSocket
}

İçindekiler

  • ZMQSocket::bind — Bind the socket
  • ZMQSocket::connect — Connect the socket
  • ZMQSocket::__construct — Construct a new ZMQSocket
  • ZMQSocket::disconnect — Disconnect a socket
  • ZMQSocket::getEndpoints — Get list of endpoints
  • ZMQSocket::getPersistentId — Get the persistent id
  • ZMQSocket::getSocketType — Get the socket type
  • ZMQSocket::getSockOpt — Get socket option
  • ZMQSocket::isPersistent — Whether the socket is persistent
  • ZMQSocket::recv — Receives a message
  • ZMQSocket::recvMulti — Receives a multipart message
  • ZMQSocket::send — Sends a message
  • ZMQSocket::sendmulti — Sends a multipart message
  • ZMQSocket::setSockOpt — Set a socket option
  • ZMQSocket::unbind — Unbind the socket


Bind the socket

  • « ZMQSocket
  • ZMQSocket::connect »
  • PHP Manual
  • ZMQSocket
  • Bind the socket

ZMQSocket::bind

(PECL zmq >= 0.5.0)

ZMQSocket::bind — Bind the socket

Açıklama

public ZMQSocket::bind(string $dsn, bool $force = false): ZMQSocket

Bind the socket to an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Bağımsız Değişkenler

dsn

The bind dsn, for example transport://address.

force

Tries to bind even if the socket has already been bound to the given endpoint.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error.


Connect the socket

  • « ZMQSocket::bind
  • ZMQSocket::__construct »
  • PHP Manual
  • ZMQSocket
  • Connect the socket

ZMQSocket::connect

(PECL zmq >= 0.5.0)

ZMQSocket::connect — Connect the socket

Açıklama

public ZMQSocket::connect(string $dsn, bool $force = false): ZMQSocket

Connect the socket to a remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Bağımsız Değişkenler

dsn

The connect dsn, for example transport://address.

force

Tries to connect even if the socket has already been connected to given endpoint.

Dönen Değerler

Returns the current object.

Hatalar/İstisnalar

Throws ZMQSocketException on error.

Örnekler

Örnek 1 A ZMQContext() example

Construct a new context and allocate request socket from it

<?php
/* Server hostname */
$dsn = "tcp://127.0.0.1:5555";

/* Create a socket */
$socket = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ, 'my socket');

/* Get list of connected endpoints */
$endpoints = $socket->getEndpoints();

/* Check if the socket is connected */
if (!in_array($dsn, $endpoints['connect'])) {
echo "<p>Connecting to $dsn</p>";
$socket->connect($dsn);
} else {
echo "<p>Already connected to $dsn</p>";
}

/* Send and receive */
$socket->send("Hello!");
$message = $socket->recv();

echo "<p>Server said: {$message}</p>";
?>


Construct a new ZMQSocket

  • « ZMQSocket::connect
  • ZMQSocket::disconnect »
  • PHP Manual
  • ZMQSocket
  • Construct a new ZMQSocket

ZMQSocket::__construct

(PECL zmq >= 0.5.0)

ZMQSocket::__construct — Construct a new ZMQSocket

Açıklama

public ZMQSocket::__construct(
ZMQContext $context,
int $type,
string $persistent_id = null,
callable $on_new_socket = null
)

Constructs a ZMQSocket object. persistent_id parameter can be used to allocated a persistent socket. A persistent socket has to be allocated from a persistent context and it stays connected over multiple requests. The persistent_id parameter can be used to recall the same socket over multiple requests. The on_new_socket is called only when a new underlying socket structure is created.

Bağımsız Değişkenler

context

ZMQContext object.

type

The socket type. See ZMQ::SOCKET_* constants.

persistent_id

If persistent_id is specified the socket will be persisted over multiple requests. If context is not persistent the socket falls back to non-persistent mode.

on_new_socket

Callback function, which is executed when a new socket structure is created. This function does not get invoked if the underlying persistent connection is re-used.

callback(ZMQSocket $socket, string $persistent_id = null)

Hatalar/İstisnalar

Throws ZMQSocketException on error.

Örnekler

Örnek 1 A ZMQSocket() example

Using callback the bind/connect socket

<?php

/*
The socket is persistent so this function is called only on the
first request to the script.
*/
function on_new_socket_cb(ZMQSocket $socket, $persistent_id = null)
{
if ($persistent_id === 'server') {
$socket->bind("tcp://localhost:12122");
} else {
$socket->connect("tcp://localhost:12122");
}
}

/* Allocate a new context */
$context = new ZMQContext();

/* Create a new socket */
$socket = $context->getSocket(ZMQ::SOCKET_REP, 'server', 'on_new_socket_cb');

$message = $socket->recv();
echo "Received message: {$message}\n";
?>


Disconnect a socket

  • « ZMQSocket::__construct
  • ZMQSocket::getEndpoints »
  • PHP Manual
  • ZMQSocket
  • Disconnect a socket

ZMQSocket::disconnect

(PECL zmq >= 1.0.4)

ZMQSocket::disconnect — Disconnect a socket

Açıklama

public ZMQSocket::disconnect(string $dsn): ZMQSocket

Disconnect the socket from a previously connected remote endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Bağımsız Değişkenler

dsn

The connect dsn, for example transport://address.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error.


Get list of endpoints

  • « ZMQSocket::disconnect
  • ZMQSocket::getPersistentId »
  • PHP Manual
  • ZMQSocket
  • Get list of endpoints

ZMQSocket::getEndpoints

(PECL zmq >= 0.5.0)

ZMQSocket::getEndpoints — Get list of endpoints

Açıklama

public ZMQSocket::getEndpoints(): array

Returns a list of endpoints where the socket is connected or bound to.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing elements 'bind' and 'connect'.


Get the persistent id

  • « ZMQSocket::getEndpoints
  • ZMQSocket::getSocketType »
  • PHP Manual
  • ZMQSocket
  • Get the persistent id

ZMQSocket::getPersistentId

(PECL zmq >= 0.5.0)

ZMQSocket::getPersistentId — Get the persistent id

Açıklama

public ZMQSocket::getPersistentId(): string

Returns the persistent id of the socket.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the persistent id string assigned of the object and null if socket is not persistent.


Get the socket type

  • « ZMQSocket::getPersistentId
  • ZMQSocket::getSockOpt »
  • PHP Manual
  • ZMQSocket
  • Get the socket type

ZMQSocket::getSocketType

(PECL zmq >= 0.5.0)

ZMQSocket::getSocketType — Get the socket type

Açıklama

public ZMQSocket::getSocketType(): int

Gets the socket type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer representing the socket type. The integer can be compared against ZMQ::SOCKET_* constants.


Get socket option

  • « ZMQSocket::getSocketType
  • ZMQSocket::isPersistent »
  • PHP Manual
  • ZMQSocket
  • Get socket option

ZMQSocket::getSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::getSockOpt — Get socket option

Açıklama

public ZMQSocket::getSockOpt(string $key): mixed

Returns the value of a socket option.

Bağımsız Değişkenler

key

An integer representing the option. See the ZMQ::SOCKOPT_* constants.

Dönen Değerler

Returns either a string or an int depending on key. Throws ZMQSocketException on error.


Whether the socket is persistent

  • « ZMQSocket::getSockOpt
  • ZMQSocket::recv »
  • PHP Manual
  • ZMQSocket
  • Whether the socket is persistent

ZMQSocket::isPersistent

(PECL zmq >= 0.5.0)

ZMQSocket::isPersistent — Whether the socket is persistent

Açıklama

public ZMQSocket::isPersistent(): bool

Check whether the socket is persistent.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a bool based on whether the socket is persistent or not.


Receives a message

  • « ZMQSocket::isPersistent
  • ZMQSocket::recvMulti »
  • PHP Manual
  • ZMQSocket
  • Receives a message

ZMQSocket::recv

(PECL zmq >= 0.5.0)

ZMQSocket::recv — Receives a message

Açıklama

public ZMQSocket::recv(int $mode = 0): string

Receive a message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_DONTWAIT flag is used. ZMQ::SOCKOPT_RCVMORE socket option can be used for receiving multi-part messages. See ZMQSocket::setSockOpt() for more information.

Bağımsız Değişkenler

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Dönen Değerler

Returns the message. If ZMQ::MODE_DONTWAIT is used and the operation would block false shall be returned.

Hatalar/İstisnalar

Throws ZMQSocketException on error.

Örnekler

Örnek 1 A send/recv example

Non-blocking send / receive

<?php

/* Create new queue object, there needs to be a server at the other end */
$queue = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_REQ);
$queue->connect("tcp://127.0.0.1:5555");

/* Assign socket 1 to the queue, send and receive */
$retries = 5;
$sending = true;

/* Start a loop */
do {
try {
/* Try to send / receive */
if ($sending) {
echo "Sending message\n";
$queue->send("This is a message", ZMQ::MODE_DONTWAIT);
$sending = false;
} else {
echo "Got response: " . $queue->recv(ZMQ::MODE_DONTWAIT) . "\n";
break;
}
} catch (ZMQSocketException $e) {
/* EAGAIN means that the operation would have blocked, retry */
if ($e->getCode() === ZMQ::ERR_EAGAIN) {
echo " - Got EAGAIN, retrying ($retries)\n";
} else {
die(" - Error: " . $e->getMessage());
}
}
/* Sleep a bit between operations */
usleep(5);
} while (--$retries);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Sending message
 - Unable to execute operation, retrying (4)
Got response: This is a message


Receives a multipart message

  • « ZMQSocket::recv
  • ZMQSocket::send »
  • PHP Manual
  • ZMQSocket
  • Receives a multipart message

ZMQSocket::recvMulti

(PECL zmq >= 0.8.0)

ZMQSocket::recvMulti — Receives a multipart message

Açıklama

public ZMQSocket::recvMulti(int $mode = 0): array

Receive an array multipart message from a socket. By default receiving will block until a message is available unless ZMQ::MODE_NOBLOCK flag is used.

Bağımsız Değişkenler

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Dönen Değerler

Returns the array of message parts. Throws ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the operation would block bool false shall be returned.


Sends a message

  • « ZMQSocket::recvMulti
  • ZMQSocket::sendmulti »
  • PHP Manual
  • ZMQSocket
  • Sends a message

ZMQSocket::send

(PECL zmq >= 0.5.0)

ZMQSocket::send — Sends a message

Açıklama

public ZMQSocket::send(string $message, int $mode = 0): ZMQSocket

Send a message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Bağımsız Değişkenler

message

The message to send.

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block bool false shall be returned.


Sends a multipart message

  • « ZMQSocket::send
  • ZMQSocket::setSockOpt »
  • PHP Manual
  • ZMQSocket
  • Sends a multipart message

ZMQSocket::sendmulti

(PECL zmq >= 0.8.0)

ZMQSocket::sendmulti — Sends a multipart message

Açıklama

public ZMQSocket::sendmulti(array $message, int $mode = 0): ZMQSocket

Send a multipart message using the socket. The operation can block unless ZMQ::MODE_NOBLOCK is used.

Bağımsız Değişkenler

message

The message to send - an array of strings

mode

Pass mode flags to receive multipart messages or non-blocking operation. See ZMQ::MODE_* constants.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the operation would block bool false shall be returned.


Set a socket option

  • « ZMQSocket::sendmulti
  • ZMQSocket::unbind »
  • PHP Manual
  • ZMQSocket
  • Set a socket option

ZMQSocket::setSockOpt

(PECL zmq >= 0.5.0)

ZMQSocket::setSockOpt — Set a socket option

Açıklama

public ZMQSocket::setSockOpt(int $key, mixed $value): ZMQSocket

Sets a ZMQ socket option. The type of the value depends on the key. See ZMQ Constant Types for more information.

Bağımsız Değişkenler

key

One of the ZMQ::SOCKOPT_* constants.

value

The value of the parameter.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error.


Unbind the socket

  • « ZMQSocket::setSockOpt
  • ZMQPoll »
  • PHP Manual
  • ZMQSocket
  • Unbind the socket

ZMQSocket::unbind

(PECL zmq >= 1.0.4)

ZMQSocket::unbind — Unbind the socket

Açıklama

public ZMQSocket::unbind(string $dsn): ZMQSocket

Unbind the socket from an endpoint. The endpoint is defined in format transport://address where transport is one of the following: inproc, ipc, tcp, pgm or epgm.

Bağımsız Değişkenler

dsn

The previously bound dsn, for example transport://address.

Dönen Değerler

Returns the current object. Throws ZMQSocketException on error.


The ZMQPoll class

(PECL zmq >= 0.5.0)

Giriş

Sınıf Sözdizimi

class ZMQPoll {
/* Yöntemler */
public add(mixed $entry, int $type): string
public clear(): ZMQPoll
public count(): int
public getLastErrors(): array
public poll(array &$readable, array &$writable, int $timeout = -1): int
public remove(mixed $item): bool
}

İçindekiler

  • ZMQPoll::add — Add item to the poll set
  • ZMQPoll::clear — Clear the poll set
  • ZMQPoll::count — Count items in the poll set
  • ZMQPoll::getLastErrors — Get poll errors
  • ZMQPoll::poll — Poll the items
  • ZMQPoll::remove — Remove item from poll set


Add item to the poll set

  • « ZMQPoll
  • ZMQPoll::clear »
  • PHP Manual
  • ZMQPoll
  • Add item to the poll set

ZMQPoll::add

(PECL zmq >= 0.5.0)

ZMQPoll::add — Add item to the poll set

Açıklama

public ZMQPoll::add(mixed $entry, int $type): string

Adds a new item to the poll set and returns the internal id of the added item. The item can be removed from the poll set using the returned string id.

Bağımsız Değişkenler

entry

ZMQSocket object or a PHP stream resource

type

Defines what activity the socket is polled for. See ZMQ::POLL_IN and ZMQ::POLL_OUT constants.

Dönen Değerler

Returns a string id of the added item which can be later used to remove the item. Throws ZMQPollException on error.


Clear the poll set

  • « ZMQPoll::add
  • ZMQPoll::count »
  • PHP Manual
  • ZMQPoll
  • Clear the poll set

ZMQPoll::clear

(PECL zmq >= 0.5.0)

ZMQPoll::clear — Clear the poll set

Açıklama

public ZMQPoll::clear(): ZMQPoll

Clears all elements from the poll set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current object.


Count items in the poll set

  • « ZMQPoll::clear
  • ZMQPoll::getLastErrors »
  • PHP Manual
  • ZMQPoll
  • Count items in the poll set

ZMQPoll::count

(PECL zmq >= 0.5.0)

ZMQPoll::count — Count items in the poll set

Açıklama

public ZMQPoll::count(): int

Count the items in the poll set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an int representing the amount of items in the poll set.


Get poll errors

  • « ZMQPoll::count
  • ZMQPoll::poll »
  • PHP Manual
  • ZMQPoll
  • Get poll errors

ZMQPoll::getLastErrors

(PECL zmq >= 0.5.0)

ZMQPoll::getLastErrors — Get poll errors

Açıklama

public ZMQPoll::getLastErrors(): array

Returns the ids of the objects that had errors in the last poll.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing ids for the items that had errors in the last poll. Empty array is returned if there were no errors.


Poll the items

  • « ZMQPoll::getLastErrors
  • ZMQPoll::remove »
  • PHP Manual
  • ZMQPoll
  • Poll the items

ZMQPoll::poll

(PECL zmq >= 0.5.0)

ZMQPoll::poll — Poll the items

Açıklama

public ZMQPoll::poll(array &$readable, array &$writable, int $timeout = -1): int

Polls the items in the current poll set. The readable and writable items are returned in the readable and writable parameters. ZMQPoll::getLastErrors() can be used to check if there were errors.

Bağımsız Değişkenler

readable

Array where readable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

writable

Array where writable ZMQSockets/PHP streams are returned. The array will be cleared at the beginning of the operation.

timeout

Timeout for the operation. -1 means that poll waits until at least one item has activity. Please note that starting from version 1.0.0 the poll timeout is defined in milliseconds, rather than microseconds.

Dönen Değerler

Returns an integer representing the amount of items with activity.

Hatalar/İstisnalar

Throws ZMQPollException on error.

Örnekler

Örnek 1 A ZMQPoll() example

Create a simple poll server

<?php

/* Create socket, request-reply pattern (reply socket) */
$context = new ZMQContext();
$server = $context->getSocket(ZMQ::SOCKET_REP);

/* Bind to port 5555 on 127.0.0.1 */
$server->bind("tcp://127.0.0.1:5555");

/* Create new pollset for incoming/outgoing message */
$poll = new ZMQPoll();

/* Add the object and listen for poll in/out */
$id = $poll->add($server, ZMQ::POLL_IN | ZMQ::POLL_OUT);
echo "Added object with id " . $id . "\n";

/* Initialise readable and writable arrays */
$readable = array();
$writable = array();

while (true) {
/* Amount of events retrieved */
$events = 0;

try {
/* Poll until there is something to do */
$events = $poll->poll($readable, $writable, -1);
$errors = $poll->getLastErrors();

if (count($errors) > 0) {
foreach ($errors as $error) {
echo "Error polling object " . $error . "\n";
}
}
} catch (ZMQPollException $e) {
echo "poll failed: " . $e->getMessage() . "\n";
}

if ($events > 0) {
/* Loop through readable objects and recv messages */
foreach ($readable as $r) {
try {
echo "Received message: " . $r->recv() . "\n";
} catch (ZMQException $e) {
echo "recv failed: " . $e->getMessage() . "\n";
}
}

/* Loop through writable and send back messages */
foreach ($writable as $w) {
try {
$w->send("Got it!");
} catch (ZMQException $e) {
echo "send failed: " . $e->getMessage() . "\n";
}
}
}
}
?>


Remove item from poll set

  • « ZMQPoll::poll
  • ZMQDevice »
  • PHP Manual
  • ZMQPoll
  • Remove item from poll set

ZMQPoll::remove

(PECL zmq >= 0.5.0)

ZMQPoll::remove — Remove item from poll set

Açıklama

public ZMQPoll::remove(mixed $item): bool

Remove item from the poll set. The item parameter can be ZMQSocket object, a stream resource or the id returned from ZMQPoll::add() method.

Bağımsız Değişkenler

item

The ZMQSocket object, PHP stream or string id of the item.

Dönen Değerler

Returns true if the item was removed and false if the object with given id does not exist in the poll set.


The ZMQDevice class

(PECL zmq >= 0.5.0)

Giriş

Sınıf Sözdizimi

class ZMQDevice {
/* Yöntemler */
public __construct(ZMQSocket $frontend, ZMQSocket $backend, ZMQSocket $listener = ?)
public getIdleTimeout(): ZMQDevice
public getTimerTimeout(): ZMQDevice
public run(): void
public setIdleCallback(callable $cb_func, int $timeout, mixed $user_data = ?): ZMQDevice
public setIdleTimeout(int $timeout): ZMQDevice
public setTimerCallback(callable $cb_func, int $timeout, mixed $user_data = ?): ZMQDevice
public setTimerTimeout(int $timeout): ZMQDevice
}

İçindekiler

  • ZMQDevice::__construct — Construct a new device
  • ZMQDevice::getIdleTimeout — Get the idle timeout
  • ZMQDevice::getTimerTimeout — Get the timer timeout
  • ZMQDevice::run — Run the new device
  • ZMQDevice::setIdleCallback — Set the idle callback function
  • ZMQDevice::setIdleTimeout — Set the idle timeout
  • ZMQDevice::setTimerCallback — Set the timer callback function
  • ZMQDevice::setTimerTimeout — Set the timer timeout


Construct a new device

  • « ZMQDevice
  • ZMQDevice::getIdleTimeout »
  • PHP Manual
  • ZMQDevice
  • Construct a new device

ZMQDevice::__construct

(PECL zmq >= 0.5.0)

ZMQDevice::__construct — Construct a new device

Açıklama

public ZMQDevice::__construct(ZMQSocket $frontend, ZMQSocket $backend, ZMQSocket $listener = ?)

"ØMQ devices can do intermediation of addresses, services, queues, or any other abstraction you care to define above the message and socket layers." -- zguide

Bağımsız Değişkenler

frontend

Frontend parameter for the devices. Usually where there messages are coming.

backend

Backend parameter for the devices. Usually where there messages going to.

listener

Listener socket, which receives a copy of all messages going both directions. The type of this socket should be SUB, PULL or DEALER.

Dönen Değerler

Call to this method will prepare the device. Usually devices are very long running processes so running this method from interactive script is not recommended. This method throw ZMQDeviceException if the device cannot be started.


Get the idle timeout

  • « ZMQDevice::__construct
  • ZMQDevice::getTimerTimeout »
  • PHP Manual
  • ZMQDevice
  • Get the idle timeout

ZMQDevice::getIdleTimeout

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::getIdleTimeout — Get the idle timeout

Açıklama

public ZMQDevice::getIdleTimeout(): ZMQDevice

Gets the idle callback timeout value. Added in ZMQ extension version 1.1.0.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns the idle callback timeout value.


Get the timer timeout

  • « ZMQDevice::getIdleTimeout
  • ZMQDevice::run »
  • PHP Manual
  • ZMQDevice
  • Get the timer timeout

ZMQDevice::getTimerTimeout

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::getTimerTimeout — Get the timer timeout

Açıklama

public ZMQDevice::getTimerTimeout(): ZMQDevice

Gets the timer callback timeout value. Added in ZMQ extension version 1.1.0.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns the timer timeout value.


Run the new device

  • « ZMQDevice::getTimerTimeout
  • ZMQDevice::setIdleCallback »
  • PHP Manual
  • ZMQDevice
  • Run the new device

ZMQDevice::run

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::run — Run the new device

Açıklama

public ZMQDevice::run(): void

Runs the device.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Call to this method will block until the device is running. It is not recommended that devices are used from interactive scripts. On failure this method will throw ZMQDeviceException.


Set the idle callback function

  • « ZMQDevice::run
  • ZMQDevice::setIdleTimeout »
  • PHP Manual
  • ZMQDevice
  • Set the idle callback function

ZMQDevice::setIdleCallback

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::setIdleCallback — Set the idle callback function

Açıklama

public ZMQDevice::setIdleCallback(callable $cb_func, int $timeout, mixed $user_data = ?): ZMQDevice

Sets the idle callback function. If idle timeout is defined the idle callback function shall be called if the internal poll loop times out without events. If the callback function returns false or a value that evaluates to false the device is stopped. The callback function signature is callback (mixed $user_data).

Bağımsız Değişkenler

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Dönen Değerler

On success this method returns the current object.


Set the idle timeout

  • « ZMQDevice::setIdleCallback
  • ZMQDevice::setTimerCallback »
  • PHP Manual
  • ZMQDevice
  • Set the idle timeout

ZMQDevice::setIdleTimeout

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::setIdleTimeout — Set the idle timeout

Açıklama

public ZMQDevice::setIdleTimeout(int $timeout): ZMQDevice

Sets the idle callback timeout value. The idle callback is invoked periodically when the device is idle.

Bağımsız Değişkenler

timeout

The idle callback timeout value.

Dönen Değerler

On success this method returns the current object.


Set the timer callback function

  • « ZMQDevice::setIdleTimeout
  • ZMQDevice::setTimerTimeout »
  • PHP Manual
  • ZMQDevice
  • Set the timer callback function

ZMQDevice::setTimerCallback

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::setTimerCallback — Set the timer callback function

Açıklama

public ZMQDevice::setTimerCallback(callable $cb_func, int $timeout, mixed $user_data = ?): ZMQDevice

Sets the timer callback function. The timer callback will be invoked after timeout has passed. The difference between idle and timer callbacks are that idle callback is invoked only when the device is idle. The callback function signature is callback (mixed $user_data). Added in ZMQ extension version 1.1.0.

Bağımsız Değişkenler

cb_func

Callback function to invoke when the device is idle. Returning false or a value that evaluates to false from this function will cause the device to stop.

timeout

How often to invoke the idle callback in milliseconds. The idle callback is invoked periodically when there is no activity on the device. The timeout value guarantees that there is at least this amount of milliseconds between invocations of the callback function.

user_data

Additional data to pass to the callback function.

Dönen Değerler

On success this method returns the current object.


Set the timer timeout

  • « ZMQDevice::setTimerCallback
  • ZooKeeper »
  • PHP Manual
  • ZMQDevice
  • Set the timer timeout

ZMQDevice::setTimerTimeout

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ZMQDevice::setTimerTimeout — Set the timer timeout

Açıklama

public ZMQDevice::setTimerTimeout(int $timeout): ZMQDevice

Sets the timer callback timeout value. The timer callback is invoked periodically if it's set. Added in ZMQ extension version 1.1.0.

Bağımsız Değişkenler

timeout

The timer callback timeout value.

Dönen Değerler

On success this method returns the current object.


ZooKeeper

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • ZooKeeper İşlevleri
    • zookeeper_dispatch — Calls callbacks for pending operations
  • Zookeeper — The Zookeeper class
    • Zookeeper::addAuth — Specify application credentials
    • Zookeeper::close — Close the zookeeper handle and free up any resources
    • Zookeeper::connect — Create a handle to used communicate with zookeeper
    • Zookeeper::__construct — Create a handle to used communicate with zookeeper
    • Zookeeper::create — Create a node synchronously
    • Zookeeper::delete — Delete a node in zookeeper synchronously
    • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
    • Zookeeper::get — Gets the data associated with a node synchronously
    • Zookeeper::getAcl — Gets the acl associated with a node synchronously
    • Zookeeper::getChildren — Lists the children of a node synchronously
    • Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getConfig — Get instance of ZookeeperConfig
    • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
    • Zookeeper::getState — Get the state of the zookeeper connection
    • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
    • Zookeeper::set — Sets the data associated with a node
    • Zookeeper::setAcl — Sets the acl associated with a node synchronously
    • Zookeeper::setDebugLevel — Sets the debugging level for the library
    • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
    • Zookeeper::setLogStream — Sets the stream to be used by the library for logging
    • Zookeeper::setWatcher — Set a watcher function
  • ZookeeperConfig — The ZookeeperConfig class
    • ZookeeperConfig::add — Add servers to the ensemble
    • ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
    • ZookeeperConfig::remove — Remove servers from the ensemble
    • ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperException — The ZookeeperException class
  • ZookeeperAuthenticationException — The ZookeeperAuthenticationException class
  • ZookeeperConnectionException — The ZookeeperConnectionException class
  • ZookeeperMarshallingException — The ZookeeperMarshallingException class
  • ZookeeperNoNodeException — The ZookeeperNoNodeException class
  • ZookeeperOperationTimeoutException — The ZookeeperOperationTimeoutException class
  • ZookeeperSessionException — The ZookeeperSessionException class


Giriş

This extension uses libzookeeper library to provide API for communicating with ZooKeeper service.

ZooKeeper is an Apache project that enables centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.


Gereksinimler

This extension requires » ZooKeeper C Binding (version 3.4.1 or greater). For more information, see » ZooKeeper Programmer's Guide.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/zookeeper.

To enable zookeeper support, configure with --with-libzookeeper-dir=DIR. DIR is the install prefix of ZooKeeper C Binding, which must contain the include/zookeeper/zookeeper.h

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Zookeeper Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Changelog
zookeeper.recv_timeout | 10000 | PHP_INI_ALL |
zookeeper.session_lock | 1 | PHP_INI_SYSTEM |
zookeeper.sess_lock_wait | 150000 | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

zookeeper.recv_timeout int

Default the timeout for any ZooKeeper session.

zookeeper.session_lock int

Enable PHP session locking.

zookeeper.sess_lock_wait int

PHP Session spin lock retry wait time in microseconds. Be carefull when setting this value. Valid values are integers, where 0 is interpreted as the default value. Negative values result in a reduces locking to a try lock.


  • « Özkaynak Türleri
  • ZooKeeper İşlevleri »
  • PHP Manual
  • ZooKeeper
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • zookeeper_dispatch »
  • PHP Manual
  • ZooKeeper
  • ZooKeeper İşlevleri

ZooKeeper İşlevleri

İçindekiler

  • zookeeper_dispatch — Calls callbacks for pending operations


Calls callbacks for pending operations

  • « ZooKeeper İşlevleri
  • Zookeeper »
  • PHP Manual
  • ZooKeeper İşlevleri
  • Calls callbacks for pending operations

zookeeper_dispatch

(PECL zookeeper >= 0.4.0)

zookeeper_dispatch — Calls callbacks for pending operations

Açıklama

zookeeper_dispatch(): void

The zookeeper_dispatch() function calls the callbacks passed by operations like Zookeeper::get() or Zookeeper::exists().

Dikkat

Since version 0.4.0, this function must be called manually to achieve asynchronous operations. If you want that to be done automatically, you also can declare ticks at the beginning of your program.

After PHP 7.1, you can ignore this function. This extension uses EG(vm_interrupt) to implement async dispatch.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits PHP warning when callback could not be invoked.

Örnekler

Örnek 1 zookeeper_dispatch() example #1

Dispatch callbacks manually.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->get('/zookeeper', function() {
echo "Callback was called".PHP_EOL;
});
while(true) {
sleep(1);
zookeeper_dispatch();
}
?>

Örnek 2 zookeeper_dispatch() example #2

Declare ticks.

<?php
declare(ticks=1);

$client = new Zookeeper();
$client->connect('localhost:2181');
$client->get('/zookeeper', function() {
echo "Callback was called".PHP_EOL;
});
while(true) {
sleep(1);
}
?>

Ayrıca Bakınız

  • Zookeeper::addAuth() - Specify application credentials
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::exists() - Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • Zookeeper::setWatcher() - Set a watcher function


The Zookeeper class

(PECL zookeeper >= 0.1.0)

Giriş

Represents ZooKeeper session.

Sınıf Sözdizimi

class Zookeeper {
/* Yöntemler */
public __construct(string $host = '', callable $watcher_cb = null, int $recv_timeout = 10000)
public addAuth(string $scheme, string $cert, callable $completion_cb = null): bool
public close(): void
public connect(string $host, callable $watcher_cb = null, int $recv_timeout = 10000): void
public create(
string $path,
string $value,
array $acls,
int $flags = null
): string
public delete(string $path, int $version = -1): bool
public exists(string $path, callable $watcher_cb = null): array
public get(
string $path,
callable $watcher_cb = null,
array &$stat = null,
int $max_size = 0
): string
public getAcl(string $path): array
public getChildren(string $path, callable $watcher_cb = null): array
public getClientId(): int
public getConfig(): ZookeeperConfig
public getRecvTimeout(): int
public getState(): int
public isRecoverable(): bool
public set(
string $path,
string $value,
int $version = -1,
array &$stat = null
): bool
public setAcl(string $path, int $version, array $acl): bool
public static setDebugLevel(int $logLevel): bool
public static setDeterministicConnOrder(bool $yesOrNo): bool
public setLogStream(resource $stream): bool
public setWatcher(callable $watcher_cb): bool
/* Sabitler */
const int PERM_READ = 1;
const int PERM_WRITE = 2;
const int PERM_CREATE = 4;
const int PERM_DELETE = 8;
const int PERM_ADMIN = 16;
const int PERM_ALL = 31;
const int EPHEMERAL = 1;
const int SEQUENCE = 2;
const int LOG_LEVEL_ERROR = 1;
const int LOG_LEVEL_WARN = 2;
const int LOG_LEVEL_INFO = 3;
const int LOG_LEVEL_DEBUG = 4;
const int EXPIRED_SESSION_STATE = -112;
const int AUTH_FAILED_STATE = -113;
const int CONNECTING_STATE = 1;
const int ASSOCIATING_STATE = 2;
const int CONNECTED_STATE = 3;
const int READONLY_STATE = 5;
const int NOTCONNECTED_STATE = 999;
const int CREATED_EVENT = 1;
const int DELETED_EVENT = 2;
const int CHANGED_EVENT = 3;
const int CHILD_EVENT = 4;
const int SESSION_EVENT = -1;
const int NOTWATCHING_EVENT = -2;
const int SYSTEMERROR = -1;
const int RUNTIMEINCONSISTENCY = -2;
const int DATAINCONSISTENCY = -3;
const int CONNECTIONLOSS = -4;
const int MARSHALLINGERROR = -5;
const int UNIMPLEMENTED = -6;
const int OPERATIONTIMEOUT = -7;
const int BADARGUMENTS = -8;
const int INVALIDSTATE = -9;
const int NEWCONFIGNOQUORUM = -13;
const int RECONFIGINPROGRESS = -14;
const int OK = 0;
const int APIERROR = -100;
const int NONODE = -101;
const int NOAUTH = -102;
const int BADVERSION = -103;
const int NOCHILDRENFOREPHEMERALS = -108;
const int NODEEXISTS = -110;
const int NOTEMPTY = -111;
const int SESSIONEXPIRED = -112;
const int INVALIDCALLBACK = -113;
const int INVALIDACL = -114;
const int AUTHFAILED = -115;
const int CLOSING = -116;
const int NOTHING = -117;
const int SESSIONMOVED = -118;
const int NOTREADONLY = -119;
const int EPHEMERALONLOCALSESSION = -120;
const int NOWATCHER = -121;
const int RECONFIGDISABLED = -122;
}

Öntanımlı Sabitler

ZooKeeper Permissions

Zookeeper::PERM_READ

Can read nodes value and list its children

Zookeeper::PERM_WRITE

Can set the nodes value

Zookeeper::PERM_CREATE

Can create children

Zookeeper::PERM_DELETE

Can delete children

Zookeeper::PERM_ADMIN

Can execute set_acl()

Zookeeper::PERM_ALL

All of the above flags ORd together

ZooKeeper Create Flags

Zookeeper::EPHEMERAL

If Zookeeper::EPHEMERAL flag is set, the node will automatically get removed if the client session goes away.

Zookeeper::SEQUENCE

If the Zookeeper::SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name. The sequence number is always fixed length of 10 digits, 0 padded.

ZooKeeper Log Levels

Zookeeper::LOG_LEVEL_ERROR

Outputs only error mesages

Zookeeper::LOG_LEVEL_WARN

Outputs errors/warnings

Zookeeper::LOG_LEVEL_INFO

Outputs big action messages besides errors/warnings

Zookeeper::LOG_LEVEL_DEBUG

Outputs all

ZooKeeper States

Zookeeper::EXPIRED_SESSION_STATE

Connected but session expired

Zookeeper::AUTH_FAILED_STATE

Connected but auth failed

Zookeeper::CONNECTING_STATE

Connecting

Zookeeper::ASSOCIATING_STATE

Associating

Zookeeper::CONNECTED_STATE

Connected

Zookeeper::READONLY_STATE

TODO: help us improve this extension.

Zookeeper::NOTCONNECTED_STATE

Connection failed

ZooKeeper Watch Types

Zookeeper::CREATED_EVENT

A node has been created

This is only generated by watches on non-existent nodes. These watches are set using Zookeeper::exists.

Zookeeper::DELETED_EVENT

A node has been deleted

This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.

Zookeeper::CHANGED_EVENT

A node has changed

This is only generated by watches on nodes. These watches are set using Zookeeper::exists and Zookeeper::get.

Zookeeper::CHILD_EVENT

A change as occurred in the list of children

This is only generated by watches on the child list of a node. These watches are set using Zookeeper::getChildren.

Zookeeper::SESSION_EVENT

A session has been lost

This is generated when a client loses contact or reconnects with a server.

Zookeeper::NOTWATCHING_EVENT

A watch has been removed

This is generated when the server for some reason, probably a resource constraint, will no longer watch a node for a client.

ZooKeeper System and Server-side Errors

Zookeeper::SYSTEMERROR

This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value, but lesser than Zookeeper::APIERROR, are system errors.

Zookeeper::RUNTIMEINCONSISTENCY

A runtime inconsistency was found.

Zookeeper::DATAINCONSISTENCY

A data inconsistency was found.

Zookeeper::CONNECTIONLOSS

Connection to the server has been lost.

Zookeeper::MARSHALLINGERROR

Error while marshalling or unmarshalling data.

Zookeeper::UNIMPLEMENTED

Operation is unimplemented.

Zookeeper::OPERATIONTIMEOUT

Operation timeout.

Zookeeper::BADARGUMENTS

Invalid arguments.

Zookeeper::INVALIDSTATE

Invliad zhandle state.

Zookeeper::NEWCONFIGNOQUORUM

No quorum of new config is connected and up-to-date with the leader of last committed config - try invoking reconfiguration after new servers are connected and synced.

Available as of ZooKeeper 3.5.0

Zookeeper::RECONFIGINPROGRESS

Reconfiguration requested while another reconfiguration is currently in progress. This is currently not supported. Please retry.

Available as of ZooKeeper 3.5.0

ZooKeeper API Errors

Zookeeper::OK

Everything is OK.

Zookeeper::APIERROR

This is never thrown by the server, it shouldn't be used other than to indicate a range. Specifically error codes greater than this value are API errors (while values less than this indicate a Zookeeper::SYSTEMERROR).

Zookeeper::NONODE

Node does not exist.

Zookeeper::NOAUTH

Not authenticated.

Zookeeper::BADVERSION

Version conflict.

Zookeeper::NOCHILDRENFOREPHEMERALS

Ephemeral nodes may not have children.

Zookeeper::NODEEXISTS

The node already exists.

Zookeeper::NOTEMPTY

The node has children.

Zookeeper::SESSIONEXPIRED

The session has been expired by the server.

Zookeeper::INVALIDCALLBACK

Invalid callback specified.

Zookeeper::INVALIDACL

Invalid ACL specified.

Zookeeper::AUTHFAILED

Client authentication failed.

Zookeeper::CLOSING

ZooKeeper is closing.

Zookeeper::NOTHING

(not error) No server responses to process.

Zookeeper::SESSIONMOVED

Session moved to another server, so operation is ignored.

Zookeeper::NOTREADONLY

State-changing request is passed to read-only server.

Zookeeper::EPHEMERALONLOCALSESSION

Attempt to create ephemeral node on a local session.

Zookeeper::NOWATCHER

The watcher couldn't be found.

Zookeeper::RECONFIGDISABLED

Attempts to perform a reconfiguration operation when reconfiguration feature is disabled.

İçindekiler

  • Zookeeper::addAuth — Specify application credentials
  • Zookeeper::close — Close the zookeeper handle and free up any resources
  • Zookeeper::connect — Create a handle to used communicate with zookeeper
  • Zookeeper::__construct — Create a handle to used communicate with zookeeper
  • Zookeeper::create — Create a node synchronously
  • Zookeeper::delete — Delete a node in zookeeper synchronously
  • Zookeeper::exists — Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get — Gets the data associated with a node synchronously
  • Zookeeper::getAcl — Gets the acl associated with a node synchronously
  • Zookeeper::getChildren — Lists the children of a node synchronously
  • Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • Zookeeper::getConfig — Get instance of ZookeeperConfig
  • Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
  • Zookeeper::getState — Get the state of the zookeeper connection
  • Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered
  • Zookeeper::set — Sets the data associated with a node
  • Zookeeper::setAcl — Sets the acl associated with a node synchronously
  • Zookeeper::setDebugLevel — Sets the debugging level for the library
  • Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization
  • Zookeeper::setLogStream — Sets the stream to be used by the library for logging
  • Zookeeper::setWatcher — Set a watcher function


Specify application credentials

  • « Zookeeper
  • Zookeeper::close »
  • PHP Manual
  • Zookeeper
  • Specify application credentials

Zookeeper::addAuth

(PECL zookeeper >= 0.1.0)

Zookeeper::addAuth — Specify application credentials

Açıklama

public Zookeeper::addAuth(string $scheme, string $cert, callable $completion_cb = null): bool

The application calls this function to specify its credentials for purposes of authentication. The server will use the security provider specified by the scheme parameter to authenticate the client connection. If the authentication request has failed: - the server connection is dropped. - the watcher is called with the ZOO_AUTH_FAILED_STATE value as the state parameter.

Bağımsız Değişkenler

scheme

The id of authentication scheme. Natively supported: "digest" password-based authentication

cert

Application credentials. The actual value depends on the scheme.

completion_cb

The routine to invoke when the request completes. One of the following result codes may be passed into the completion callback: - ZOK operation completed successfully - ZAUTHFAILED authentication failed

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::addAuth() example

Add auth before requesting node value.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$zookeeper->addAuth('digest', 'user0:passwd0');
$r = $zookeeper->get($path);
if ($r)
echo $r;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

nodevalue

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously
  • ZooKeeper States
  • ZookeeperException


Close the zookeeper handle and free up any resources

  • « Zookeeper::addAuth
  • Zookeeper::connect »
  • PHP Manual
  • Zookeeper
  • Close the zookeeper handle and free up any resources

Zookeeper::close

(PECL zookeeper >= 0.5.0)

Zookeeper::close — Close the zookeeper handle and free up any resources

Açıklama

public Zookeeper::close(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits ZookeeperException and it's derivatives when closing an uninitialized instance.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a handle to used communicate with zookeeper

  • « Zookeeper::close
  • Zookeeper::__construct »
  • PHP Manual
  • Zookeeper
  • Create a handle to used communicate with zookeeper

Zookeeper::connect

(PECL zookeeper >= 0.2.0)

Zookeeper::connect — Create a handle to used communicate with zookeeper

Açıklama

public Zookeeper::connect(string $host, callable $watcher_cb = null, int $recv_timeout = 10000): void

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Bağımsız Değişkenler

host

Comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

The global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

The timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a handle to used communicate with zookeeper

  • « Zookeeper::connect
  • Zookeeper::create »
  • PHP Manual
  • Zookeeper
  • Create a handle to used communicate with zookeeper

Zookeeper::__construct

(PECL zookeeper >= 0.1.0)

Zookeeper::__construct — Create a handle to used communicate with zookeeper

Açıklama

public Zookeeper::__construct(string $host = '', callable $watcher_cb = null, int $recv_timeout = 10000)

This method creates a new handle and a zookeeper session that corresponds to that handle. Session establishment is asynchronous, meaning that the session should not be considered established until (and unless) an event of state ZOO_CONNECTED_STATE is received.

Bağımsız Değişkenler

host

comma separated host:port pairs, each corresponding to a zk server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"

watcher_cb

the global watcher callback function. When notifications are triggered this function will be invoked.

recv_timeout

the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or could not init instance.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Create a node synchronously

  • « Zookeeper::__construct
  • Zookeeper::delete »
  • PHP Manual
  • Zookeeper
  • Create a node synchronously

Zookeeper::create

(PECL zookeeper >= 0.1.0)

Zookeeper::create — Create a node synchronously

Açıklama

public Zookeeper::create(
string $path,
string $value,
array $acls,
int $flags = null
): string

This method will create a node in ZooKeeper. A node can only be created if it does not already exists. The Create Flags affect the creation of nodes. If ZOO_EPHEMERAL flag is set, the node will automatically get removed if the client session goes away. If the ZOO_SEQUENCE flag is set, a unique monotonically increasing sequence number is appended to the path name.

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

acls

The initial ACL of the node. The ACL must not be null or empty.

flags

this parameter can be set to 0 for normal create or an OR of the Create Flags

Dönen Değerler

Returns the path of the new node (this might be different than the supplied path because of the ZOO_SEQUENCE flag) on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to create node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::create() example

Create a new node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
array(
'perms' => Zookeeper::PERM_ALL,
'scheme' => 'world',
'id' => 'anyone',
)
);
$path = '/path/to/newnode';
$realPath = $zookeeper->create($path, null, $aclArray);
if ($realPath)
echo $realPath;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

/path/to/newnode

Ayrıca Bakınız

  • Zookeeper::delete() - Delete a node in zookeeper synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Delete a node in zookeeper synchronously

  • « Zookeeper::create
  • Zookeeper::exists »
  • PHP Manual
  • Zookeeper
  • Delete a node in zookeeper synchronously

Zookeeper::delete

(PECL zookeeper >= 0.2.0)

Zookeeper::delete — Delete a node in zookeeper synchronously

Açıklama

public Zookeeper::delete(string $path, int $version = -1): bool

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to delete node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::delete() example

Delete a existing node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->delete($path);
if ($r)
echo 'SUCCESS';
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

SUCCESS

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::getChildren() - Lists the children of a node synchronously
  • ZookeeperException


Checks the existence of a node in zookeeper synchronously

  • « Zookeeper::delete
  • Zookeeper::get »
  • PHP Manual
  • Zookeeper
  • Checks the existence of a node in zookeeper synchronously

Zookeeper::exists

(PECL zookeeper >= 0.1.0)

Zookeeper::exists — Checks the existence of a node in zookeeper synchronously

Açıklama

public Zookeeper::exists(string $path, callable $watcher_cb = null): array

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

if nonzero, a watch will be set at the server to notify the client if the node changes. The watch will be set even if the node does not

Dönen Değerler

Returns the value of stat for the path if the given node exists, otherwise false.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to check the existence of a node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::exists() example

Check the existence of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$r = $zookeeper->exists($path);
if ($r)
echo 'EXISTS';
else
echo 'N/A or ERR';
?>

Yukarıdaki örneğin çıktısı:

EXISTS

Ayrıca Bakınız

  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


Gets the data associated with a node synchronously

  • « Zookeeper::exists
  • Zookeeper::getAcl »
  • PHP Manual
  • Zookeeper
  • Gets the data associated with a node synchronously

Zookeeper::get

(PECL zookeeper >= 0.1.0)

Zookeeper::get — Gets the data associated with a node synchronously

Açıklama

public Zookeeper::get(
string $path,
callable $watcher_cb = null,
array &$stat = null,
int $max_size = 0
): string

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

max_size

Max size of the data. If 0 is used, this method will return the whole data.

Dönen Değerler

Returns the data on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to get value from node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::get() example

Get value from node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$zookeeper->set($path, $value);

$r = $zookeeper->get($path);
if ($r)
echo $r;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

nodevalue

Örnek 2 Zookeeper::get() stat example

Get node stat info.

<?php
$zookeeper = new Zookeeper('localhost:2181');
$path = '/path/to/node';
$stat = [];
$zookeeper->get($path, null, $stat);
var_dump($stat);
?>

Yukarıdaki örneğin çıktısı:

array(11) {
  ["czxid"]=>
  float(0)
  ["mzxid"]=>
  float(0)
  ["ctime"]=>
  float(0)
  ["mtime"]=>
  float(0)
  ["version"]=>
  int(0)
  ["cversion"]=>
  int(-2)
  ["aversion"]=>
  int(0)
  ["ephemeralOwner"]=>
  float(0)
  ["dataLength"]=>
  int(0)
  ["numChildren"]=>
  int(2)
  ["pzxid"]=>
  float(0)
}

Ayrıca Bakınız

  • Zookeeper::set() - Sets the data associated with a node
  • ZookeeperException


Gets the acl associated with a node synchronously

  • « Zookeeper::get
  • Zookeeper::getChildren »
  • PHP Manual
  • Zookeeper
  • Gets the acl associated with a node synchronously

Zookeeper::getAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::getAcl — Gets the acl associated with a node synchronously

Açıklama

public Zookeeper::getAcl(string $path): array

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

Dönen Değerler

Return acl array on success and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to get ACL of a node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::getAcl() example

Get ACL of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
array(
'perms' => Zookeeper::PERM_ALL,
'scheme' => 'world',
'id' => 'anyone',
)
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
var_dump($r);
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::setAcl() - Sets the acl associated with a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Lists the children of a node synchronously

  • « Zookeeper::getAcl
  • Zookeeper::getClientId »
  • PHP Manual
  • Zookeeper
  • Lists the children of a node synchronously

Zookeeper::getChildren

(PECL zookeeper >= 0.1.0)

Zookeeper::getChildren — Lists the children of a node synchronously

Açıklama

public Zookeeper::getChildren(string $path, callable $watcher_cb = null): array

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

Dönen Değerler

Returns an array with children paths on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to list children of a node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::getChildren() example

Lists children of a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/zookeeper';
$r = $zookeeper->getchildren($path);
if ($r)
var_dump($r);
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  string(6) "config"
}

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::delete() - Delete a node in zookeeper synchronously
  • ZookeeperException


Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

  • « Zookeeper::getChildren
  • Zookeeper::getConfig »
  • PHP Manual
  • Zookeeper
  • Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Zookeeper::getClientId

(PECL zookeeper >= 0.1.0)

Zookeeper::getClientId — Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)

Açıklama

public Zookeeper::getClientId(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the client session id on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when it could not get client session id.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getState() - Get the state of the zookeeper connection
  • ZooKeeper States
  • ZookeeperException


Get instance of ZookeeperConfig

  • « Zookeeper::getClientId
  • Zookeeper::getRecvTimeout »
  • PHP Manual
  • Zookeeper
  • Get instance of ZookeeperConfig

Zookeeper::getConfig

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

Zookeeper::getConfig — Get instance of ZookeeperConfig

Açıklama

public Zookeeper::getConfig(): ZookeeperConfig

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns instance of ZookeeperConfig.

Ayrıca Bakınız

  • ZookeeperConfig


Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

  • « Zookeeper::getConfig
  • Zookeeper::getState »
  • PHP Manual
  • Zookeeper
  • Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

Zookeeper::getRecvTimeout

(PECL zookeeper >= 0.1.0)

Zookeeper::getRecvTimeout — Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect

Açıklama

public Zookeeper::getRecvTimeout(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the timeout for this session on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when operation fails.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Get the state of the zookeeper connection

  • « Zookeeper::getRecvTimeout
  • Zookeeper::isRecoverable »
  • PHP Manual
  • Zookeeper
  • Get the state of the zookeeper connection

Zookeeper::getState

(PECL zookeeper >= 0.1.0)

Zookeeper::getState — Get the state of the zookeeper connection

Açıklama

public Zookeeper::getState(): int

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the state of zookeeper connection on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when it fails to get state of zookeeper connection.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getClientId() - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
  • ZookeeperException


Checks if the current zookeeper connection state can be recovered

  • « Zookeeper::getState
  • Zookeeper::set »
  • PHP Manual
  • Zookeeper
  • Checks if the current zookeeper connection state can be recovered

Zookeeper::isRecoverable

(PECL zookeeper >= 0.1.0)

Zookeeper::isRecoverable — Checks if the current zookeeper connection state can be recovered

Açıklama

public Zookeeper::isRecoverable(): bool

The application must close the handle and try to reconnect.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true/false on success, and false on failure.

Hatalar/İstisnalar

This method emits PHP error/warning when operation fails.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • Zookeeper::getClientId() - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
  • ZooKeeper States
  • ZookeeperException


Sets the data associated with a node

  • « Zookeeper::isRecoverable
  • Zookeeper::setAcl »
  • PHP Manual
  • Zookeeper
  • Sets the data associated with a node

Zookeeper::set

(PECL zookeeper >= 0.1.0)

Zookeeper::set — Sets the data associated with a node

Açıklama

public Zookeeper::set(
string $path,
string $value,
int $version = -1,
array &$stat = null
): bool

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

value

The data to be stored in the node.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to save value to node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::set() example

Save value to node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$path = '/path/to/node';
$value = 'nodevalue';
$r = $zookeeper->set($path, $value);
if ($r)
echo 'SUCCESS';
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

SUCCESS

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


Sets the acl associated with a node synchronously

  • « Zookeeper::set
  • Zookeeper::setDebugLevel »
  • PHP Manual
  • Zookeeper
  • Sets the acl associated with a node synchronously

Zookeeper::setAcl

(PECL zookeeper >= 0.1.0)

Zookeeper::setAcl — Sets the acl associated with a node synchronously

Açıklama

public Zookeeper::setAcl(string $path, int $version, array $acl): bool

Bağımsız Değişkenler

path

The name of the node. Expressed as a file name with slashes separating ancestors of the node.

version

The expected version of the path.

acl

The acl to be set on the path.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to set ACL for a node.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::setAcl() example

Set ACL for a node.

<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
array(
'perms' => Zookeeper::PERM_ALL,
'scheme' => 'world',
'id' => 'anyone',
)
);
$path = '/path/to/newnode';
$zookeeper->setAcl($path, $aclArray);

$r = $zookeeper->getAcl($path);
if ($r)
var_dump($r);
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  array(3) {
    ["perms"]=>
    int(31)
    ["scheme"]=>
    string(5) "world"
    ["id"]=>
    string(6) "anyone"
  }
}

Ayrıca Bakınız

  • Zookeeper::create() - Create a node synchronously
  • Zookeeper::getAcl() - Gets the acl associated with a node synchronously
  • ZooKeeper Permissions
  • ZookeeperException


Sets the debugging level for the library

  • « Zookeeper::setAcl
  • Zookeeper::setDeterministicConnOrder »
  • PHP Manual
  • Zookeeper
  • Sets the debugging level for the library

Zookeeper::setDebugLevel

(PECL zookeeper >= 0.1.0)

Zookeeper::setDebugLevel — Sets the debugging level for the library

Açıklama

public static Zookeeper::setDebugLevel(int $logLevel): bool

Bağımsız Değişkenler

logLevel

ZooKeeper log level constants.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to set debug level.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Örnekler

Örnek 1 Zookeeper::setDebugLevel() example

Set debugl level.

<?php
$r = Zookeeper::setDebugLevel(Zookeeper::LOG_LEVEL_WARN);
if ($r)
echo 'SUCCESS';
else
echo 'ERR';
?>
?>

Yukarıdaki örneğin çıktısı:

SUCCESS

Ayrıca Bakınız

  • ZooKeeper Log Levels
  • ZookeeperException


Enable/disable quorum endpoint order randomization

  • « Zookeeper::setDebugLevel
  • Zookeeper::setLogStream »
  • PHP Manual
  • Zookeeper
  • Enable/disable quorum endpoint order randomization

Zookeeper::setDeterministicConnOrder

(PECL zookeeper >= 0.1.0)

Zookeeper::setDeterministicConnOrder — Enable/disable quorum endpoint order randomization

Açıklama

public static Zookeeper::setDeterministicConnOrder(bool $yesOrNo): bool

If passed a true value, will make the client connect to quorum peers in the order as specified in the zookeeper_init() call. A false value causes zookeeper_init() to permute the peer endpoints which is good for more even client connection distribution among the quorum peers. ZooKeeper C Client uses false by default.

Bağımsız Değişkenler

yesOrNo

Disable/enable quorum endpoint order randomization.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::__construct() - Create a handle to used communicate with zookeeper
  • Zookeeper::connect() - Create a handle to used communicate with zookeeper
  • ZookeeperException


Sets the stream to be used by the library for logging

  • « Zookeeper::setDeterministicConnOrder
  • Zookeeper::setWatcher »
  • PHP Manual
  • Zookeeper
  • Sets the stream to be used by the library for logging

Zookeeper::setLogStream

(PECL zookeeper >= 0.1.0)

Zookeeper::setLogStream — Sets the stream to be used by the library for logging

Açıklama

public Zookeeper::setLogStream(resource $stream): bool

The zookeeper library uses stderr as its default log stream. Application must make sure the stream is writable. Passing in NULL resets the stream to its default value (stderr).

Bağımsız Değişkenler

stream

The stream to be used by the library for logging.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or operation fails.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::setDebugLevel() - Sets the debugging level for the library
  • ZookeeperException


Set a watcher function

  • « Zookeeper::setLogStream
  • ZookeeperConfig »
  • PHP Manual
  • Zookeeper
  • Set a watcher function

Zookeeper::setWatcher

(PECL zookeeper >= 0.1.0)

Zookeeper::setWatcher — Set a watcher function

Açıklama

public Zookeeper::setWatcher(callable $watcher_cb): bool

Bağımsız Değişkenler

watcher_cb

A watch will be set at the server to notify the client if the node changes.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

This method emits PHP error/warning when parameters count or types are wrong or fail to set watcher.

Dikkat

Since version 0.3.0, this method emits ZookeeperException and it's derivatives.

Ayrıca Bakınız

  • Zookeeper::exists() - Checks the existence of a node in zookeeper synchronously
  • Zookeeper::get() - Gets the data associated with a node synchronously
  • ZookeeperException


The ZookeeperConfig class

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

Giriş

The ZooKeeper Config handling class.

Sınıf Sözdizimi

class ZookeeperConfig {
/* Yöntemler */
public add(string $members, int $version = -1, array &$stat = null): void
public get(callable $watcher_cb = null, array &$stat = null): string
public remove(string $id_list, int $version = -1, array &$stat = null): void
public set(string $members, int $version = -1, array &$stat = null): void
}

İçindekiler

  • ZookeeperConfig::add — Add servers to the ensemble
  • ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::remove — Remove servers from the ensemble
  • ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers


Add servers to the ensemble

  • « ZookeeperConfig
  • ZookeeperConfig::get »
  • PHP Manual
  • ZookeeperConfig
  • Add servers to the ensemble

ZookeeperConfig::add

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::add — Add servers to the ensemble

Açıklama

public ZookeeperConfig::add(string $members, int $version = -1, array &$stat = null): void

Bağımsız Değişkenler

members

Comma separated list of servers to be added to the ensemble. Each has a configuration line for a server to be added (as would appear in a configuration file), only for maj. quorums.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Örnekler

Örnek 1 ZookeeperConfig::add() example

Add members.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181");
$zkConfig->add("server.2=localhost:2889:3889:participant;0.0.0.0:2182");
$r = $zkConfig->get();
if ($r)
echo $r;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
server.2=localhost:2889:3889:participant;0.0.0.0:2182
version=0xca01e881a2

Ayrıca Bakınız

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

  • « ZookeeperConfig::add
  • ZookeeperConfig::remove »
  • PHP Manual
  • ZookeeperConfig
  • Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

ZookeeperConfig::get

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::get — Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously

Açıklama

public ZookeeperConfig::get(callable $watcher_cb = null, array &$stat = null): string

Bağımsız Değişkenler

watcher_cb

If nonzero, a watch will be set at the server to notify the client if the node changes.

stat

If not NULL, will hold the value of stat for the path on return.

Dönen Değerler

Returns the configuration string on success, and false on failure.

Hatalar/İstisnalar

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to get configuration.

Örnekler

Örnek 1 ZookeeperConfig::get() example

Get configuration.

<?php
$zk = new Zookeeper();
$zk->connect('localhost:2181');
$zk->addAuth('digest', 'timandes:timandes');
$zkConfig = $zk->getConfig();
$r = $zkConfig->get();
if ($r)
echo $r;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
version=0xca01e881a2

Ayrıca Bakınız

  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


Remove servers from the ensemble

  • « ZookeeperConfig::get
  • ZookeeperConfig::set »
  • PHP Manual
  • ZookeeperConfig
  • Remove servers from the ensemble

ZookeeperConfig::remove

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::remove — Remove servers from the ensemble

Açıklama

public ZookeeperConfig::remove(string $id_list, int $version = -1, array &$stat = null): void

Bağımsız Değişkenler

id_list

Comma separated list of server IDs to be removed from the ensemble. Each has an id of a server to be removed, only for maj. quorums.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Örnekler

Örnek 1 ZookeeperConfig::remove() example

Remove members.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181,server.2=localhost:2889:3889:participant;0.0.0.0:2182");
$zkConfig->remove("2");
echo $zkConfig->get();
if ($r)
echo $r;
else
echo 'ERR';
?>

Yukarıdaki örneğin çıktısı:

server.1=localhost:2888:3888:participant;0.0.0.0:2181
version=0xca01e881a2

Ayrıca Bakınız

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::set() - Change ZK cluster ensemble membership and roles of ensemble peers
  • ZookeeperException


Change ZK cluster ensemble membership and roles of ensemble peers

  • « ZookeeperConfig::remove
  • ZookeeperException »
  • PHP Manual
  • ZookeeperConfig
  • Change ZK cluster ensemble membership and roles of ensemble peers

ZookeeperConfig::set

(PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0)

ZookeeperConfig::set — Change ZK cluster ensemble membership and roles of ensemble peers

Açıklama

public ZookeeperConfig::set(string $members, int $version = -1, array &$stat = null): void

Bağımsız Değişkenler

members

Comma separated list of new membership (e.g., contents of a membership configuration file) - for use only with a non-incremental reconfiguration.

version

The expected version of the node. The function will fail if the actual version of the node does not match the expected version. If -1 is used the version check will not take place.

stat

If not NULL, will hold the value of stat for the path on return.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

This method emits ZookeeperException and it's derivatives when parameters count or types are wrong or fail to save value to node.

Örnekler

Örnek 1 ZookeeperConfig::set() example

Reconfig.

<?php
$client = new Zookeeper();
$client->connect('localhost:2181');
$client->addAuth('digest', 'timandes:timandes');
$zkConfig = $client->getConfig();
$zkConfig->set("server.1=localhost:2888:3888:participant;0.0.0.0:2181");
?>

Ayrıca Bakınız

  • ZookeeperConfig::get() - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
  • ZookeeperConfig::add() - Add servers to the ensemble
  • ZookeeperConfig::remove() - Remove servers from the ensemble
  • ZookeeperException


The ZookeeperException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper exception handling class.

Sınıf Sözdizimi

class ZookeeperException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperAuthenticationException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper authentication exception handling class.

Sınıf Sözdizimi

class ZookeeperAuthenticationException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperConnectionException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper connection exception handling class.

Sınıf Sözdizimi

class ZookeeperConnectionException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperMarshallingException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper exception (while marshalling or unmarshalling data) handling class.

Sınıf Sözdizimi

class ZookeeperMarshallingException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperNoNodeException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper exception (when node does not exist) handling class.

Sınıf Sözdizimi

class ZookeeperNoNodeException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperOperationTimeoutException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper operation timeout exception handling class.

Sınıf Sözdizimi

class ZookeeperOperationTimeoutException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The ZookeeperSessionException class

(PECL zookeeper >= 0.3.0)

Giriş

The ZooKeeper session exception handling class.

Sınıf Sözdizimi

class ZookeeperSessionException extends ZookeeperException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Arama Motoru Eklentileri

  • Solr — Apache Solr
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Solr İşlevleri
    • Örnekler
    • SolrUtils — The SolrUtils class
    • SolrInputDocument — The SolrInputDocument class
    • SolrDocument — The SolrDocument class
    • SolrDocumentField — The SolrDocumentField class
    • SolrObject — The SolrObject class
    • SolrClient — The SolrClient class
    • SolrResponse — The SolrResponse class
    • SolrQueryResponse — The SolrQueryResponse class
    • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrPingResponse — The SolrPingResponse class
    • SolrGenericResponse — The SolrGenericResponse class
    • SolrParams — The SolrParams class
    • SolrModifiableParams — The SolrModifiableParams class
    • SolrQuery — The SolrQuery class
    • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrException — The SolrException class
    • SolrClientException — The SolrClientException class
    • SolrServerException — The SolrServerException class
    • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class


Apache Solr

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Solr İşlevleri
    • solr_get_version — Returns the current version of the Apache Solr extension
  • Örnekler
  • SolrUtils — The SolrUtils class
    • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars — Escapes a lucene query string
    • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
    • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string
  • SolrInputDocument — The SolrInputDocument class
    • SolrInputDocument::addChildDocument — Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments — Adds an array of child documents
    • SolrInputDocument::addField — Adds a field to the document
    • SolrInputDocument::clear — Resets the input document
    • SolrInputDocument::__clone — Creates a copy of a SolrDocument
    • SolrInputDocument::__construct — Constructor
    • SolrInputDocument::deleteField — Removes a field from the document
    • SolrInputDocument::__destruct — Destructor
    • SolrInputDocument::fieldExists — Checks if a field exists
    • SolrInputDocument::getBoost — Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrInputDocument::getField — Retrieves a field by name
    • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount — Returns the number of fields in the document
    • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
    • SolrInputDocument::merge — Merges one input document into another
    • SolrInputDocument::reset — Takma Adı: SolrInputDocument::clear
    • SolrInputDocument::setBoost — Sets the boost value for this document
    • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
    • SolrInputDocument::sort — Sorts the fields within the document
    • SolrInputDocument::toArray — Returns an array representation of the input document
  • SolrDocument — The SolrDocument class
    • SolrDocument::addField — Adds a field to the document
    • SolrDocument::clear — Drops all the fields in the document
    • SolrDocument::__clone — Creates a copy of a SolrDocument object
    • SolrDocument::__construct — Constructor
    • SolrDocument::current — Retrieves the current field
    • SolrDocument::deleteField — Removes a field from the document
    • SolrDocument::__destruct — Destructor
    • SolrDocument::fieldExists — Checks if a field exists in the document
    • SolrDocument::__get — Access the field as a property
    • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount — Returns the number of child documents
    • SolrDocument::getField — Retrieves a field by name
    • SolrDocument::getFieldCount — Returns the number of fields in this document
    • SolrDocument::getFieldNames — Returns an array of fields names in the document
    • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
    • SolrDocument::__isset — Checks if a field exists
    • SolrDocument::key — Retrieves the current key
    • SolrDocument::merge — Merges source to the current SolrDocument
    • SolrDocument::next — Moves the internal pointer to the next field
    • SolrDocument::offsetExists — Checks if a particular field exists
    • SolrDocument::offsetGet — Retrieves a field
    • SolrDocument::offsetSet — Adds a field to the document
    • SolrDocument::offsetUnset — Removes a field
    • SolrDocument::reset — Takma Adı: SolrDocument::clear
    • SolrDocument::rewind — Resets the internal pointer to the beginning
    • SolrDocument::serialize — Used for custom serialization
    • SolrDocument::__set — Adds another field to the document
    • SolrDocument::sort — Sorts the fields in the document
    • SolrDocument::toArray — Returns an array representation of the document
    • SolrDocument::unserialize — Custom serialization of SolrDocument objects
    • SolrDocument::__unset — Removes a field from the document
    • SolrDocument::valid — Checks if the current position internally is still valid
  • SolrDocumentField — The SolrDocumentField class
    • SolrDocumentField::__construct — Constructor
    • SolrDocumentField::__destruct — Destructor
  • SolrObject — The SolrObject class
    • SolrObject::__construct — Creates Solr object
    • SolrObject::__destruct — Destructor
    • SolrObject::getPropertyNames — Returns an array of all the names of the properties
    • SolrObject::offsetExists — Checks if the property exists
    • SolrObject::offsetGet — Used to retrieve a property
    • SolrObject::offsetSet — Sets the value for a property
    • SolrObject::offsetUnset — Unsets the value for the property
  • SolrClient — The SolrClient class
    • SolrClient::addDocument — Adds a document to the index
    • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit — Finalizes all add/deletes made to the index
    • SolrClient::__construct — Constructor for the SolrClient object
    • SolrClient::deleteById — Delete by Id
    • SolrClient::deleteByIds — Deletes by Ids
    • SolrClient::deleteByQueries — Removes all documents matching any of the queries
    • SolrClient::deleteByQuery — Deletes all documents matching the given query
    • SolrClient::__destruct — Destructor for SolrClient
    • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getDebug — Returns the debug data for the last connection attempt
    • SolrClient::getOptions — Returns the client options set internally
    • SolrClient::optimize — Defragments the index
    • SolrClient::ping — Checks if Solr server is still up
    • SolrClient::query — Sends a query to the server
    • SolrClient::request — Sends a raw update request
    • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet — Changes the specified servlet type to a new value
    • SolrClient::system — Retrieve Solr Server information
    • SolrClient::threads — Checks the threads status
  • SolrResponse — The SolrResponse class
    • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus — Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
    • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse — Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
    • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
    • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode — Sets the parse mode
    • SolrResponse::success — Was the request a success
  • SolrQueryResponse — The SolrQueryResponse class
    • SolrQueryResponse::__construct — Constructor
    • SolrQueryResponse::__destruct — Destructor
  • SolrUpdateResponse — The SolrUpdateResponse class
    • SolrUpdateResponse::__construct — Constructor
    • SolrUpdateResponse::__destruct — Destructor
  • SolrPingResponse — The SolrPingResponse class
    • SolrPingResponse::__construct — Constructor
    • SolrPingResponse::__destruct — Destructor
    • SolrPingResponse::getResponse — Returns the response from the server
  • SolrGenericResponse — The SolrGenericResponse class
    • SolrGenericResponse::__construct — Constructor
    • SolrGenericResponse::__destruct — Destructor
  • SolrParams — The SolrParams class
    • SolrParams::add — Takma Adı: SolrParams::addParam
    • SolrParams::addParam — Adds a parameter to the object
    • SolrParams::get — Takma Adı: SolrParams::getParam
    • SolrParams::getParam — Returns a parameter value
    • SolrParams::getParams — Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
    • SolrParams::serialize — Used for custom serialization
    • SolrParams::set — Takma Adı: SolrParams::setParam
    • SolrParams::setParam — Sets the parameter to the specified value
    • SolrParams::toString — Returns all the name-value pair parameters in the object
    • SolrParams::unserialize — Used for custom serialization
  • SolrModifiableParams — The SolrModifiableParams class
    • SolrModifiableParams::__construct — Constructor
    • SolrModifiableParams::__destruct — Destructor
  • SolrQuery — The SolrQuery class
    • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group
    • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)
    • SolrQuery::addFacetDateField — Maps to facet.date
    • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
    • SolrQuery::addFacetField — Adds another field to the facet
    • SolrQuery::addFacetQuery — Adds a facet query
    • SolrQuery::addField — Specifies which fields to return in the result
    • SolrQuery::addFilterQuery — Specifies a filter query
    • SolrQuery::addGroupField — Add a field to be used to group results
    • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)
    • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query
    • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)
    • SolrQuery::addHighlightField — Maps to hl.fl
    • SolrQuery::addMltField — Sets a field to use for similarity
    • SolrQuery::addMltQueryField — Maps to mlt.qf
    • SolrQuery::addSortField — Used to control how the results should be sorted
    • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField — Maps to stats.field parameter
    • SolrQuery::collapse — Collapses the result set to a single document per group
    • SolrQuery::__construct — Constructor
    • SolrQuery::__destruct — Destructor
    • SolrQuery::getExpand — Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
    • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields — Returns an array of fields
    • SolrQuery::getFacet — Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields — Returns all the facet.date fields
    • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields — Returns all the facet fields
    • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix — Returns the facet prefix
    • SolrQuery::getFacetQueries — Returns all the facet queries
    • SolrQuery::getFacetSort — Returns the facet sort type
    • SolrQuery::getFields — Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries — Returns an array of filter queries
    • SolrQuery::getGroup — Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent — Returns group cache percent value
    • SolrQuery::getGroupFacet — Returns the group.facet parameter value
    • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat — Returns the group.format value
    • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit — Returns the group.limit value
    • SolrQuery::getGroupMain — Returns the group.main value
    • SolrQuery::getGroupNGroups — Returns the group.ngroups value
    • SolrQuery::getGroupOffset — Returns the group.offset value
    • SolrQuery::getGroupQueries — Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields — Returns the group.sort value
    • SolrQuery::getGroupTruncate — Returns the group.truncate value
    • SolrQuery::getHighlight — Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields — Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
    • SolrQuery::getQuery — Returns the main query
    • SolrQuery::getRows — Returns the maximum number of documents
    • SolrQuery::getSortFields — Returns all the sort fields
    • SolrQuery::getStart — Returns the offset in the complete result set
    • SolrQuery::getStats — Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets — Returns all the stats facets that were set
    • SolrQuery::getStatsFields — Returns all the statistics fields
    • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound — Returns the term to start at
    • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
    • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix — Returns the term prefix
    • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
    • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound — Returns the term to stop at
    • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
    • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter
    • SolrQuery::removeFacetDateField — Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField — Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
    • SolrQuery::removeField — Removes a field from the list of fields
    • SolrQuery::removeFilterQuery — Removes a filter query
    • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
    • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField — Removes one of the sort fields
    • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField — Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
    • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
    • SolrQuery::setExpand — Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery — Sets the expand.q parameter
    • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther — Sets the explainOther common query parameter
    • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd — Maps to facet.date.end
    • SolrQuery::setFacetDateGap — Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart — Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit — Maps to facet.limit
    • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount — Maps to facet.mincount
    • SolrQuery::setFacetMissing — Maps to facet.missing
    • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
    • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent — Enables caching for result grouping
    • SolrQuery::setGroupFacet — Sets group.facet parameter
    • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)
    • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1
    • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
    • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results
    • SolrQuery::setGroupOffset — Sets the group.offset parameter
    • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query
    • SolrQuery::setHighlight — Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
    • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt — Enables or disables moreLikeThis
    • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount — Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength — Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength — Sets the minimum word length
    • SolrQuery::setOmitHeader — Exclude the header from the returned results
    • SolrQuery::setQuery — Sets the search query
    • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo — Flag to show debug information
    • SolrQuery::setStart — Specifies the number of rows to skip
    • SolrQuery::setStats — Enables or disables the Stats component
    • SolrQuery::setTerms — Enables or disables the TermsComponent
    • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
    • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound — Specifies the Term to start from
    • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
    • SolrQuery::setTermsMinCount — Sets the minimum document frequency
    • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
    • SolrQuery::setTermsSort — Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound — Sets the term to stop at
    • SolrQuery::setTimeAllowed — The time allowed for search to finish
  • SolrDisMaxQuery — The SolrDisMaxQuery class
    • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::__construct — Class Constructor
    • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)
    • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax
  • SolrCollapseFunction — The SolrCollapseFunction class
    • SolrCollapseFunction::__construct — Constructor
    • SolrCollapseFunction::getField — Returns the field that is being collapsed on
    • SolrCollapseFunction::getHint — Returns collapse hint
    • SolrCollapseFunction::getMax — Returns max parameter
    • SolrCollapseFunction::getMin — Returns min parameter
    • SolrCollapseFunction::getNullPolicy — Returns null policy
    • SolrCollapseFunction::getSize — Returns size parameter
    • SolrCollapseFunction::setField — Sets the field to collapse on
    • SolrCollapseFunction::setHint — Sets collapse hint
    • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query
    • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
    • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function
  • SolrException — The SolrException class
    • SolrException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrClientException — The SolrClientException class
    • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrServerException — The SolrServerException class
    • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalArgumentException — The SolrIllegalArgumentException class
    • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrIllegalOperationException — The SolrIllegalOperationException class
    • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown
  • SolrMissingMandatoryParameterException — The SolrMissingMandatoryParameterException class


Giriş

The Solr extension allows you to communicate effectively with the Apache Solr Server in PHP.

The Solr extension is an extremely fast, light-weight, feature-rich library that allows PHP developers to communicate effectively with Solr server instances.

Versions 1.x of The PECL Extension supports Apache Solr Server 1.3-3.x

Versions 2.x of The PECL Extension supports Apache Solr Server 4.0+

There are built-in tools to add documents and make updates to the solr server.

It also contains tools that allows you to build advanced queries to the server when searching for documents.


Gereksinimler

The libxml and curl extensions must also be enabled for the Apache Solr extension to be available.

libxml2 2.6.31 or later is required.

libcurl 7.18.0 or later is also required.

The above library versions are required and attempting to hack the code to make it compile is strongly discouraged. It will fail, possibly with errors that could be hard to debug


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/solr.

For help and support, please visit the extension google group. » Apache Solr PHP Extension

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.

Bilginize:

The solr module can be compiled in debug mode by passing the --enable-solr-debug flag to configure

When building manually, be sure to include curl and libxml support within the build.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SOLR_MAJOR_VERSION (int)
SOLR_MINOR_VERSION (int)
SOLR_PATCH_VERSION (int)
SOLR_EXTENSION_VERSION (string)


Solr İşlevleri

İçindekiler

  • solr_get_version — Returns the current version of the Apache Solr extension


Returns the current version of the Apache Solr extension

  • « Solr İşlevleri
  • Örnekler »
  • PHP Manual
  • Solr İşlevleri
  • Returns the current version of the Apache Solr extension

solr_get_version

(PECL solr >= 0.9.1)

solr_get_version — Returns the current version of the Apache Solr extension

Açıklama

solr_get_version(): string

This function returns the current version of the extension as a string.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

It returns a string on success and false on failure.

Hatalar/İstisnalar

This function throws no errors or exceptions.

Örnekler

Örnek 1 solr_get_version() example

<?php

$solr_version = solr_get_version();

print $solr_version;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

0.9.6

Ayrıca Bakınız

  • SolrUtils::getSolrVersion() - Returns the current version of the Solr extension


Örnekler

Examples of how to use the Apache Solr extension in PHP

Örnek 1 Contents of the BootStrap file

<?php

/* Domain name of the Solr server */
define('SOLR_SERVER_HOSTNAME', 'solr.example.com');

/* Whether or not to run in secure mode */
define('SOLR_SECURE', true);

/* HTTP Port to connection */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* HTTP Basic Authentication Username */
define('SOLR_SERVER_USERNAME', 'admin');

/* HTTP Basic Authentication password */
define('SOLR_SERVER_PASSWORD', 'changeit');

/* HTTP connection timeout */
/* This is maximum time in seconds allowed for the http data transfer operation. Default value is 30 seconds */
define('SOLR_SERVER_TIMEOUT', 10);

/* File name to a PEM-formatted private key + private certificate (concatenated in that order) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* File name to a PEM-formatted private certificate only */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* File name to a PEM-formatted private key */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Password for PEM-formatted private key file */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Name of file holding one or more CA certificates to verify peer with*/
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Name of directory holding multiple CA certificates to verify peer with */
define('SOLR_SSL_CAPATH', 'certs/');

?>

Örnek 2 Adding a document to the index

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 446
        )

)

Örnek 3 Merging one document into another document

<?php

include "bootstrap.php";

$doc = new SolrDocument();

$second_doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat = 'Information Technology';

$second_doc->addField('cat', 'Lucene Search');

$second_doc->merge($doc, true);

print_r($second_doc->toArray());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

        )

)

Örnek 4 Searching for documents - SolrObject responses

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334456
                        )

                    [1] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => Software
                                    [1] => Lucene
                                )

                            [id] => 334455
                        )

                    [2] => SolrObject Object
                        (
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                            [id] => SOLR1000
                            [timestamp] => 2009-09-04T20:38:55.906
                        )

                )

        )

)

Örnek 5 Searching for documents - SolrDocument responses

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);

$response = $query_response->getResponse();

print_r($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [wt] => xml
                    [rows] => 50
                    [start] => 0
                    [indent] => on
                    [q] => lucene
                    [fl] => cat,features,id,timestamp
                    [version] => 2.2
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 3
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 19740
                        )

                    [1] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25485
                        )

                    [2] => SolrDocument Object
                        (
                            [_hashtable_index:SolrDocument:private] => 25052
                        )

                )

        )

)

Örnek 6 Simple TermsComponent example - basic

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

$query->setTermsField('cat');

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [electronics] => 14
                    [Lucene] => 4
                    [Software] => 4
                    [memory] => 3
                    [card] => 2
                    [connector] => 2
                    [drive] => 2
                    [graphics] => 2
                    [hard] => 2
                    [monitor] => 2
                )

        )

)

Örnek 7 Simple TermsComponent example - using a prefix

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

$query->setTermsField('cat')->setTermsPrefix($prefix);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                    [camera] => 1
                    [copier] => 1
                )

        )

)

Örnek 8 Simple TermsComponent example - specifying a minimum frequency

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setTerms(true);

/* Return only terms starting with $prefix */
$prefix = 'c';

/* Return only terms with a frequency of 2 or greater */
$min_frequency = 2;

$query->setTermsField('cat')->setTermsPrefix($prefix)->setTermsMinCount($min_frequency);

$updateResponse = $client->query($query);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 0
        )

    [terms] => SolrObject Object
        (
            [cat] => SolrObject Object
                (
                    [card] => 2
                    [connector] => 2
                )

        )

)

Örnek 9 Simple Facet Example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2);

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
            [1] => 3
            [184] => 3
            [2] => 3
            [3200] => 3
            [400] => 3
            [500] => 3
            [ddr] => 3
            [i] => 3
            [ipod] => 3
            [memori] => 3
            [pc] => 3
            [pin] => 3
            [pod] => 3
            [sdram] => 3
            [system] => 3
            [unbuff] => 3
            [canon] => 2
            [corsair] => 2
            [drive] => 2
            [hard] => 2
            [mb] => 2
            [n] => 2
            [power] => 2
            [retail] => 2
            [video] => 2
            [x] => 2
        )

)

Örnek 10 Simple Facet Example - with optional field override for mincount

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Örnek 11 Facet Date Example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetDateField('manufacturedate_dt');

$query->setFacetDateStart('2006-02-13T00:00:00Z');

$query->setFacetDateEnd('2012-02-13T00:00:00Z');

$query->setFacetDateGap('+1YEAR');

$query->setFacetDateHardEnd(1);

$query->addFacetDateOther('before');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_dates;

print_r($facet_data);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [manufacturedate_dt] => SolrObject Object
        (
            [2006-02-13T00:00:00Z] => 9
            [2007-02-13T00:00:00Z] => 0
            [2008-02-13T00:00:00Z] => 0
            [2009-02-13T00:00:00Z] => 0
            [2010-02-13T00:00:00Z] => 0
            [2011-02-13T00:00:00Z] => 0
            [gap] => +1YEAR
            [start] => 2006-02-13T00:00:00Z
            [end] => 2012-02-13T00:00:00Z
            [before] => 2
        )

)

Örnek 12 Connecting to SSL-Enabled Server

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'timeout' => SOLR_SERVER_TIMEOUT,
'secure' => SOLR_SECURE,
'ssl_cert' => SOLR_SSL_CERT_ONLY,
'ssl_key' => SOLR_SSL_KEY,
'ssl_keypassword' => SOLR_SSL_KEYPASSWORD,
'ssl_cainfo' => SOLR_SSL_CAINFO,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetField('cat')->addFacetField('name')->setFacetMinCount(2)->setFacetMinCount(4, 'name');

$updateResponse = $client->query($query);

$response_array = $updateResponse->getResponse();

$facet_data = $response_array->facet_counts->facet_fields;

print_r($facet_data);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [cat] => SolrObject Object
        (
            [electronics] => 14
            [memory] => 3
            [Lucene] => 2
            [Software] => 2
            [card] => 2
            [connector] => 2
            [drive] => 2
            [graphics] => 2
            [hard] => 2
            [monitor] => 2
            [search] => 2
            [software] => 2
        )

    [name] => SolrObject Object
        (
            [gb] => 6
        )

)

Örnek 13 Collapsing a SolrQuery

<?php
include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)

Örnek 14 Solr Real Time Get (RTG) example SolrClient::getById()

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)


The SolrUtils class

(PECL solr >= 0.9.2)

Giriş

Contains utility methods for retrieving the current extension version and preparing query phrases.

Also contains method for escaping query strings and parsing XML responses.

Sınıf Sözdizimi

abstract class SolrUtils {
/* Yöntemler */
public static digestXmlResponse(string $xmlresponse, int $parse_mode = 0): SolrObject
public static escapeQueryChars(string $str): string|false
public static getSolrVersion(): string
public static queryPhrase(string $str): string
}

İçindekiler

  • SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject
  • SolrUtils::escapeQueryChars — Escapes a lucene query string
  • SolrUtils::getSolrVersion — Returns the current version of the Solr extension
  • SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string


Parses an response XML string into a SolrObject

  • « SolrUtils
  • SolrUtils::escapeQueryChars »
  • PHP Manual
  • SolrUtils
  • Parses an response XML string into a SolrObject

SolrUtils::digestXmlResponse

(PECL solr >= 0.9.2)

SolrUtils::digestXmlResponse — Parses an response XML string into a SolrObject

Açıklama

public static SolrUtils::digestXmlResponse(string $xmlresponse, int $parse_mode = 0): SolrObject

This method parses an response XML string from the Apache Solr server into a SolrObject. It throws a SolrException if there was an error.

Bağımsız Değişkenler

xmlresponse

The XML response string from the Solr server.

parse_mode

Use SolrResponse::PARSE_SOLR_OBJ or SolrResponse::PARSE_SOLR_DOC

Dönen Değerler

Returns the SolrObject representing the XML response.

If the parse_mode parameter is set to SolrResponse::PARSE_SOLR_OBJ Solr documents will be parses as SolrObject instances.

If it is set to SolrResponse::PARSE_SOLR_DOC, they will be parsed as SolrDocument instances.


Escapes a lucene query string

  • « SolrUtils::digestXmlResponse
  • SolrUtils::getSolrVersion »
  • PHP Manual
  • SolrUtils
  • Escapes a lucene query string

SolrUtils::escapeQueryChars

(PECL solr >= 0.9.2)

SolrUtils::escapeQueryChars — Escapes a lucene query string

Açıklama

public static SolrUtils::escapeQueryChars(string $str): string|false

Lucene supports escaping special characters that are part of the query syntax.

The current list special characters are:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /

These characters are part of the query syntax and must be escaped

Bağımsız Değişkenler

str

This is the query string to be escaped.

Dönen Değerler

Returns the escaped string başarısızlık durumunda false döner.


Returns the current version of the Solr extension

  • « SolrUtils::escapeQueryChars
  • SolrUtils::queryPhrase »
  • PHP Manual
  • SolrUtils
  • Returns the current version of the Solr extension

SolrUtils::getSolrVersion

(PECL solr >= 0.9.2)

SolrUtils::getSolrVersion — Returns the current version of the Solr extension

Açıklama

public static SolrUtils::getSolrVersion(): string

Returns the current Solr version.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current version of the Apache Solr extension.


Prepares a phrase from an unescaped lucene string

  • « SolrUtils::getSolrVersion
  • SolrInputDocument »
  • PHP Manual
  • SolrUtils
  • Prepares a phrase from an unescaped lucene string

SolrUtils::queryPhrase

(PECL solr >= 0.9.2)

SolrUtils::queryPhrase — Prepares a phrase from an unescaped lucene string

Açıklama

public static SolrUtils::queryPhrase(string $str): string

Prepares a phrase from an unescaped lucene string.

Bağımsız Değişkenler

str

The lucene phrase.

Dönen Değerler

Returns the phrase contained in double quotes.


The SolrInputDocument class

(PECL solr >= 0.9.2)

Giriş

This class represents a Solr document that is about to be submitted to the Solr index.

Sınıf Sözdizimi

final class SolrInputDocument {
/* Sabitler */
const int SORT_DEFAULT = 1;
const int SORT_ASC = 1;
const int SORT_DESC = 2;
const int SORT_FIELD_NAME = 1;
const int SORT_FIELD_VALUE_COUNT = 2;
const int SORT_FIELD_BOOST_VALUE = 4;
/* Yöntemler */
public __construct()
public addChildDocument(SolrInputDocument $child): void
public addChildDocuments(array &$docs): void
public addField(string $fieldName, string $fieldValue, float $fieldBoostValue = 0.0): bool
public clear(): bool
public __clone(): void
public deleteField(string $fieldName): bool
public fieldExists(string $fieldName): bool
public getBoost(): float
public getChildDocuments(): array
public getChildDocumentsCount(): int
public getField(string $fieldName): SolrDocumentField
public getFieldBoost(string $fieldName): float
public getFieldCount(): int|false
public getFieldNames(): array
public hasChildDocuments(): bool
public merge(SolrInputDocument $sourceDoc, bool $overwrite = true): bool
public reset(): bool
public setBoost(float $documentBoostValue): bool
public setFieldBoost(string $fieldName, float $fieldBoostValue): bool
public sort(int $sortOrderBy, int $sortDirection = SolrInputDocument::SORT_ASC): bool
public toArray(): array
public __destruct()
}

Öntanımlı Sabitler

SolrInputDocument Class Constants

SolrInputDocument::SORT_DEFAULT

Sorts the fields in ascending order.

SolrInputDocument::SORT_ASC

Sorts the fields in ascending order.

SolrInputDocument::SORT_DESC

Sorts the fields in descending order.

SolrInputDocument::SORT_FIELD_NAME

Sorts the fields by name

SolrInputDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values.

SolrInputDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by boost value.

İçindekiler

  • SolrInputDocument::addChildDocument — Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments — Adds an array of child documents
  • SolrInputDocument::addField — Adds a field to the document
  • SolrInputDocument::clear — Resets the input document
  • SolrInputDocument::__clone — Creates a copy of a SolrDocument
  • SolrInputDocument::__construct — Constructor
  • SolrInputDocument::deleteField — Removes a field from the document
  • SolrInputDocument::__destruct — Destructor
  • SolrInputDocument::fieldExists — Checks if a field exists
  • SolrInputDocument::getBoost — Retrieves the current boost value for the document
  • SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrInputDocument::getField — Retrieves a field by name
  • SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field
  • SolrInputDocument::getFieldCount — Returns the number of fields in the document
  • SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document
  • SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents
  • SolrInputDocument::merge — Merges one input document into another
  • SolrInputDocument::reset — Takma Adı: SolrInputDocument::clear
  • SolrInputDocument::setBoost — Sets the boost value for this document
  • SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field
  • SolrInputDocument::sort — Sorts the fields within the document
  • SolrInputDocument::toArray — Returns an array representation of the input document


Adds a child document for block indexing

  • « SolrInputDocument
  • SolrInputDocument::addChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Adds a child document for block indexing

SolrInputDocument::addChildDocument

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocument — Adds a child document for block indexing

Açıklama

public SolrInputDocument::addChildDocument(SolrInputDocument $child): void

Adds a child document to construct a document block with nested documents.

Bağımsız Değişkenler

child

A SolrInputDocument object.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Örnekler

Örnek 1 SolrInputDocument::addChildDocument() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$product->addChildDocument($small);
$product->addChildDocument($medium);
$product->addChildDocument($large);

// add product document block to the index
$updateResponse = $client->addDocument(
$product,
true, // overwrite if the document exists
10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Ayrıca Bakınız

  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Adds an array of child documents

  • « SolrInputDocument::addChildDocument
  • SolrInputDocument::addField »
  • PHP Manual
  • SolrInputDocument
  • Adds an array of child documents

SolrInputDocument::addChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::addChildDocuments — Adds an array of child documents

Açıklama

public SolrInputDocument::addChildDocuments(array &$docs): void

Adds an array of child documents to the current input document.

Bağımsız Değişkenler

docs

An array of SolrInputDocument objects.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Throws SolrIllegalArgumentException on failure.

Throws SolrException on internal failure.

Örnekler

Örnek 1 SolrInputDocument::addChildDocuments() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_STORE_PATH,
);

$client = new SolrClient($options);

$product = new SolrInputDocument();

$product->addField('id', 'P-BLACK');
$product->addField('cat', 'tshirt');
$product->addField('cat', 'polo');
$product->addField('content_type', 'product');

$small = new SolrInputDocument();
$small->addField('id', 'TS-BLK-S');
$small->addField('content_type', 'sku');
$small->addField('size', 'S');
$small->addField('inventory', 100);

$medium = new SolrInputDocument();
$medium->addField('id', 'TS-BLK-M');
$medium->addField('content_type', 'sku');
$medium->addField('size', 'M');
$medium->addField('inventory', 200);

$large = new SolrInputDocument();
$large->addField('id', 'TS-BLK-L');
$large->addField('content_type', 'sku');
$large->addField('size', 'L');
$large->addField('inventory', 300);

// add child documents
$skus = [$small, $medium, $large];
$product->addChildDocuments($skus);

// add the product document block to the index
$updateResponse = $client->addDocument(
$product,
true, // overwrite if the document exists
10000 // commit within 10 seconds
);

print_r($updateResponse->getResponse());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 5
        )
)

Ayrıca Bakınız

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Adds a field to the document

  • « SolrInputDocument::addChildDocuments
  • SolrInputDocument::clear »
  • PHP Manual
  • SolrInputDocument
  • Adds a field to the document

SolrInputDocument::addField

(PECL solr >= 0.9.2)

SolrInputDocument::addField — Adds a field to the document

Açıklama

public SolrInputDocument::addField(string $fieldName, string $fieldValue, float $fieldBoostValue = 0.0): bool

For multi-value fields, if a valid boost value is specified, the specified value will be multiplied by the current boost value for this field.

Bağımsız Değişkenler

fieldName

The name of the field

fieldValue

The value for the field.

fieldBoostValue

The index time boost for the field. Though this cannot be negative, you can still pass values less than 1.0 but they must be greater than zero.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Resets the input document

  • « SolrInputDocument::addField
  • SolrInputDocument::__clone »
  • PHP Manual
  • SolrInputDocument
  • Resets the input document

SolrInputDocument::clear

(PECL solr >= 0.9.2)

SolrInputDocument::clear — Resets the input document

Açıklama

public SolrInputDocument::clear(): bool

Resets the document by dropping all the fields and resets the document boost to zero.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Creates a copy of a SolrDocument

  • « SolrInputDocument::clear
  • SolrInputDocument::__construct »
  • PHP Manual
  • SolrInputDocument
  • Creates a copy of a SolrDocument

SolrInputDocument::__clone

(PECL solr >= 0.9.2)

SolrInputDocument::__clone — Creates a copy of a SolrDocument

Açıklama

public SolrInputDocument::__clone(): void

Should not be called directly. It is used to create a deep copy of a SolrInputDocument.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Creates a new SolrInputDocument instance.


Constructor

  • « SolrInputDocument::__clone
  • SolrInputDocument::deleteField »
  • PHP Manual
  • SolrInputDocument
  • Constructor

SolrInputDocument::__construct

(PECL solr >= 0.9.2)

SolrInputDocument::__construct — Constructor

Açıklama

public SolrInputDocument::__construct()

Constructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Removes a field from the document

  • « SolrInputDocument::__construct
  • SolrInputDocument::__destruct »
  • PHP Manual
  • SolrInputDocument
  • Removes a field from the document

SolrInputDocument::deleteField

(PECL solr >= 0.9.2)

SolrInputDocument::deleteField — Removes a field from the document

Açıklama

public SolrInputDocument::deleteField(string $fieldName): bool

Removes a field from the document.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Destructor

  • « SolrInputDocument::deleteField
  • SolrInputDocument::fieldExists »
  • PHP Manual
  • SolrInputDocument
  • Destructor

SolrInputDocument::__destruct

(PECL solr >= 0.9.2)

SolrInputDocument::__destruct — Destructor

Açıklama

public SolrInputDocument::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Checks if a field exists

  • « SolrInputDocument::__destruct
  • SolrInputDocument::getBoost »
  • PHP Manual
  • SolrInputDocument
  • Checks if a field exists

SolrInputDocument::fieldExists

(PECL solr >= 0.9.2)

SolrInputDocument::fieldExists — Checks if a field exists

Açıklama

public SolrInputDocument::fieldExists(string $fieldName): bool

Checks if a field exists

Bağımsız Değişkenler

fieldName

Name of the field.

Dönen Değerler

Returns true if the field was found and false if it was not found.


Retrieves the current boost value for the document

  • « SolrInputDocument::fieldExists
  • SolrInputDocument::getChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Retrieves the current boost value for the document

SolrInputDocument::getBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getBoost — Retrieves the current boost value for the document

Açıklama

public SolrInputDocument::getBoost(): float

Retrieves the current boost value for the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the boost value on success and false on failure.


Returns an array of child documents (SolrInputDocument)

  • « SolrInputDocument::getBoost
  • SolrInputDocument::getChildDocumentsCount »
  • PHP Manual
  • SolrInputDocument
  • Returns an array of child documents (SolrInputDocument)

SolrInputDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocuments — Returns an array of child documents (SolrInputDocument)

Açıklama

public SolrInputDocument::getChildDocuments(): array

Returns an array of child documents (SolrInputDocument)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Returns the number of child documents

  • « SolrInputDocument::getChildDocuments
  • SolrInputDocument::getField »
  • PHP Manual
  • SolrInputDocument
  • Returns the number of child documents

SolrInputDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrInputDocument::getChildDocumentsCount — Returns the number of child documents

Açıklama

public SolrInputDocument::getChildDocumentsCount(): int

Returns the number of child documents

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::hasChildDocuments() - Returns true if the document has any child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)


Retrieves a field by name

  • « SolrInputDocument::getChildDocumentsCount
  • SolrInputDocument::getFieldBoost »
  • PHP Manual
  • SolrInputDocument
  • Retrieves a field by name

SolrInputDocument::getField

(PECL solr >= 0.9.2)

SolrInputDocument::getField — Retrieves a field by name

Açıklama

public SolrInputDocument::getField(string $fieldName): SolrDocumentField

Retrieves a field in the document.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Returns a SolrDocumentField object on success and false on failure.


Retrieves the boost value for a particular field

  • « SolrInputDocument::getField
  • SolrInputDocument::getFieldCount »
  • PHP Manual
  • SolrInputDocument
  • Retrieves the boost value for a particular field

SolrInputDocument::getFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldBoost — Retrieves the boost value for a particular field

Açıklama

public SolrInputDocument::getFieldBoost(string $fieldName): float

Retrieves the boost value for a particular field.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Returns the boost value for the field or false if there was an error.


Returns the number of fields in the document

  • « SolrInputDocument::getFieldBoost
  • SolrInputDocument::getFieldNames »
  • PHP Manual
  • SolrInputDocument
  • Returns the number of fields in the document

SolrInputDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldCount — Returns the number of fields in the document

Açıklama

public SolrInputDocument::getFieldCount(): int|false

Returns the number of fields in the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success başarısızlık durumunda false döner.


Returns an array containing all the fields in the document

  • « SolrInputDocument::getFieldCount
  • SolrInputDocument::hasChildDocuments »
  • PHP Manual
  • SolrInputDocument
  • Returns an array containing all the fields in the document

SolrInputDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrInputDocument::getFieldNames — Returns an array containing all the fields in the document

Açıklama

public SolrInputDocument::getFieldNames(): array

Returns an array containing all the fields in the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and false on failure.


Returns true if the document has any child documents

  • « SolrInputDocument::getFieldNames
  • SolrInputDocument::merge »
  • PHP Manual
  • SolrInputDocument
  • Returns true if the document has any child documents

SolrInputDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrInputDocument::hasChildDocuments — Returns true if the document has any child documents

Açıklama

public SolrInputDocument::hasChildDocuments(): bool

Checks whether the document has any child documents

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrInputDocument::addChildDocument() - Adds a child document for block indexing
  • SolrInputDocument::addChildDocuments() - Adds an array of child documents
  • SolrInputDocument::getChildDocuments() - Returns an array of child documents (SolrInputDocument)
  • SolrInputDocument::getChildDocumentsCount() - Returns the number of child documents


Merges one input document into another

  • « SolrInputDocument::hasChildDocuments
  • SolrInputDocument::reset »
  • PHP Manual
  • SolrInputDocument
  • Merges one input document into another

SolrInputDocument::merge

(PECL solr >= 0.9.2)

SolrInputDocument::merge — Merges one input document into another

Açıklama

public SolrInputDocument::merge(SolrInputDocument $sourceDoc, bool $overwrite = true): bool

Merges one input document into another.

Bağımsız Değişkenler

sourceDoc

The source document.

overwrite

If this is true it will replace matching fields in the destination document.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. In the future, this will be modified to return the number of fields in the new document.


Takma Adı: SolrInputDocument::clear

  • « SolrInputDocument::merge
  • SolrInputDocument::setBoost »
  • PHP Manual
  • SolrInputDocument
  • Takma Adı: SolrInputDocument::clear

SolrInputDocument::reset

(PECL solr >= 0.9.2)

SolrInputDocument::reset — Takma Adı: SolrInputDocument::clear()

Açıklama

public SolrInputDocument::reset(): bool

This is an alias of SolrInputDocument::clear

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets the boost value for this document

  • « SolrInputDocument::reset
  • SolrInputDocument::setFieldBoost »
  • PHP Manual
  • SolrInputDocument
  • Sets the boost value for this document

SolrInputDocument::setBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setBoost — Sets the boost value for this document

Açıklama

public SolrInputDocument::setBoost(float $documentBoostValue): bool

Sets the boost value for this document.

Bağımsız Değişkenler

documentBoostValue

The index-time boost value for this document.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sets the index-time boost value for a field

  • « SolrInputDocument::setBoost
  • SolrInputDocument::sort »
  • PHP Manual
  • SolrInputDocument
  • Sets the index-time boost value for a field

SolrInputDocument::setFieldBoost

(PECL solr >= 0.9.2)

SolrInputDocument::setFieldBoost — Sets the index-time boost value for a field

Açıklama

public SolrInputDocument::setFieldBoost(string $fieldName, float $fieldBoostValue): bool

Sets the index-time boost value for a field. This replaces the current boost value for this field.

Bağımsız Değişkenler

fieldName

The name of the field.

fieldBoostValue

The index time boost value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sorts the fields within the document

  • « SolrInputDocument::setFieldBoost
  • SolrInputDocument::toArray »
  • PHP Manual
  • SolrInputDocument
  • Sorts the fields within the document

SolrInputDocument::sort

(PECL solr >= 0.9.2)

SolrInputDocument::sort — Sorts the fields within the document

Açıklama

public SolrInputDocument::sort(int $sortOrderBy, int $sortDirection = SolrInputDocument::SORT_ASC): bool

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The $order_by parameter must be one of :

   * SolrInputDocument::SORT_FIELD_NAME
   * SolrInputDocument::SORT_FIELD_BOOST_VALUE
   * SolrInputDocument::SORT_FIELD_VALUE_COUNT

   The sort direction can be one of :

   * SolrInputDocument::SORT_DEFAULT
   * SolrInputDocument::SORT_ASC
   * SolrInputDocument::SORT_DESC

Bağımsız Değişkenler

sortOrderBy

The sort criteria

sortDirection

The sort direction

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns an array representation of the input document

  • « SolrInputDocument::sort
  • SolrDocument »
  • PHP Manual
  • SolrInputDocument
  • Returns an array representation of the input document

SolrInputDocument::toArray

(PECL solr >= 0.9.2)

SolrInputDocument::toArray — Returns an array representation of the input document

Açıklama

public SolrInputDocument::toArray(): array

Returns an array representation of the input document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing the fields. It returns false on failure.


The SolrDocument class

(PECL solr >= 0.9.2)

Giriş

Represents a Solr document retrieved from a query response.

Sınıf Sözdizimi

final class SolrDocument implements ArrayAccess, Iterator, Serializable {
/* Sabitler */
const int SORT_DEFAULT = 1;
const int SORT_ASC = 1;
const int SORT_DESC = 2;
const int SORT_FIELD_NAME = 1;
const int SORT_FIELD_VALUE_COUNT = 2;
const int SORT_FIELD_BOOST_VALUE = 4;
/* Yöntemler */
public __construct()
public addField(string $fieldName, string $fieldValue): bool
public clear(): bool
public __clone(): void
public current(): SolrDocumentField
public deleteField(string $fieldName): bool
public fieldExists(string $fieldName): bool
public __get(string $fieldName): SolrDocumentField
public getChildDocuments(): array
public getChildDocumentsCount(): int
public getField(string $fieldName): SolrDocumentField
public getFieldCount(): int
public getFieldNames(): array
public getInputDocument(): SolrInputDocument
public hasChildDocuments(): bool
public __isset(string $fieldName): bool
public key(): string
public merge(SolrDocument $sourceDoc, bool $overwrite = true): bool
public next(): void
public offsetExists(string $fieldName): bool
public offsetGet(string $fieldName): SolrDocumentField
public offsetSet(string $fieldName, string $fieldValue): void
public offsetUnset(string $fieldName): void
public reset(): bool
public rewind(): void
public serialize(): string
public __set(string $fieldName, string $fieldValue): bool
public sort(int $sortOrderBy, int $sortDirection = SolrDocument::SORT_ASC): bool
public toArray(): array
public unserialize(string $serialized): void
public __unset(string $fieldName): bool
public valid(): bool
public __destruct()
}

Öntanımlı Sabitler

SolrDocument::SORT_DEFAULT

Default mode for sorting fields within the document.

SolrDocument::SORT_ASC

Sorts the fields in ascending order

SolrDocument::SORT_DESC

Sorts the fields in descending order

SolrDocument::SORT_FIELD_NAME

Sorts the fields by field name.

SolrDocument::SORT_FIELD_VALUE_COUNT

Sorts the fields by number of values in each field.

SolrDocument::SORT_FIELD_BOOST_VALUE

Sorts the fields by thier boost values.

İçindekiler

  • SolrDocument::addField — Adds a field to the document
  • SolrDocument::clear — Drops all the fields in the document
  • SolrDocument::__clone — Creates a copy of a SolrDocument object
  • SolrDocument::__construct — Constructor
  • SolrDocument::current — Retrieves the current field
  • SolrDocument::deleteField — Removes a field from the document
  • SolrDocument::__destruct — Destructor
  • SolrDocument::fieldExists — Checks if a field exists in the document
  • SolrDocument::__get — Access the field as a property
  • SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount — Returns the number of child documents
  • SolrDocument::getField — Retrieves a field by name
  • SolrDocument::getFieldCount — Returns the number of fields in this document
  • SolrDocument::getFieldNames — Returns an array of fields names in the document
  • SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object
  • SolrDocument::hasChildDocuments — Checks whether the document has any child documents
  • SolrDocument::__isset — Checks if a field exists
  • SolrDocument::key — Retrieves the current key
  • SolrDocument::merge — Merges source to the current SolrDocument
  • SolrDocument::next — Moves the internal pointer to the next field
  • SolrDocument::offsetExists — Checks if a particular field exists
  • SolrDocument::offsetGet — Retrieves a field
  • SolrDocument::offsetSet — Adds a field to the document
  • SolrDocument::offsetUnset — Removes a field
  • SolrDocument::reset — Takma Adı: SolrDocument::clear
  • SolrDocument::rewind — Resets the internal pointer to the beginning
  • SolrDocument::serialize — Used for custom serialization
  • SolrDocument::__set — Adds another field to the document
  • SolrDocument::sort — Sorts the fields in the document
  • SolrDocument::toArray — Returns an array representation of the document
  • SolrDocument::unserialize — Custom serialization of SolrDocument objects
  • SolrDocument::__unset — Removes a field from the document
  • SolrDocument::valid — Checks if the current position internally is still valid


Adds a field to the document

  • « SolrDocument
  • SolrDocument::clear »
  • PHP Manual
  • SolrDocument
  • Adds a field to the document

SolrDocument::addField

(PECL solr >= 0.9.2)

SolrDocument::addField — Adds a field to the document

Açıklama

public SolrDocument::addField(string $fieldName, string $fieldValue): bool

This method adds a field to the SolrDocument instance.

Bağımsız Değişkenler

fieldName

The name of the field

fieldValue

The value of the field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Drops all the fields in the document

  • « SolrDocument::addField
  • SolrDocument::__clone »
  • PHP Manual
  • SolrDocument
  • Drops all the fields in the document

SolrDocument::clear

(PECL solr >= 0.9.2)

SolrDocument::clear — Drops all the fields in the document

Açıklama

public SolrDocument::clear(): bool

Resets the current object. Discards all the fields and resets the document boost to zero.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Creates a copy of a SolrDocument object

  • « SolrDocument::clear
  • SolrDocument::__construct »
  • PHP Manual
  • SolrDocument
  • Creates a copy of a SolrDocument object

SolrDocument::__clone

(PECL solr >= 0.9.2)

SolrDocument::__clone — Creates a copy of a SolrDocument object

Açıklama

public SolrDocument::__clone(): void

Creates a copy of a SolrDocument object. Not to be called directly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Constructor

  • « SolrDocument::__clone
  • SolrDocument::current »
  • PHP Manual
  • SolrDocument
  • Constructor

SolrDocument::__construct

(PECL solr >= 0.9.2)

SolrDocument::__construct — Constructor

Açıklama

public SolrDocument::__construct()

Constructor for SolrDocument

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Retrieves the current field

  • « SolrDocument::__construct
  • SolrDocument::deleteField »
  • PHP Manual
  • SolrDocument
  • Retrieves the current field

SolrDocument::current

(PECL solr >= 0.9.2)

SolrDocument::current — Retrieves the current field

Açıklama

public SolrDocument::current(): SolrDocumentField

Retrieves the current field

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the field


Removes a field from the document

  • « SolrDocument::current
  • SolrDocument::__destruct »
  • PHP Manual
  • SolrDocument
  • Removes a field from the document

SolrDocument::deleteField

(PECL solr >= 0.9.2)

SolrDocument::deleteField — Removes a field from the document

Açıklama

public SolrDocument::deleteField(string $fieldName): bool

Removes a field from the document.

Bağımsız Değişkenler

fieldName

Name of the field

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Destructor

  • « SolrDocument::deleteField
  • SolrDocument::fieldExists »
  • PHP Manual
  • SolrDocument
  • Destructor

SolrDocument::__destruct

(PECL solr >= 0.9.2)

SolrDocument::__destruct — Destructor

Açıklama

public SolrDocument::__destruct()

Destructor for SolrDocument.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Checks if a field exists in the document

  • « SolrDocument::__destruct
  • SolrDocument::__get »
  • PHP Manual
  • SolrDocument
  • Checks if a field exists in the document

SolrDocument::fieldExists

(PECL solr >= 0.9.2)

SolrDocument::fieldExists — Checks if a field exists in the document

Açıklama

public SolrDocument::fieldExists(string $fieldName): bool

Checks if the requested field as a valid fieldname in the document.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Returns true if the field is present and false if it does not.


Access the field as a property

  • « SolrDocument::fieldExists
  • SolrDocument::getChildDocuments »
  • PHP Manual
  • SolrDocument
  • Access the field as a property

SolrDocument::__get

(PECL solr >= 0.9.2)

SolrDocument::__get — Access the field as a property

Açıklama

public SolrDocument::__get(string $fieldName): SolrDocumentField

Magic method for accessing the field as a property.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Returns a SolrDocumentField instance.


Returns an array of child documents (SolrDocument)

  • « SolrDocument::__get
  • SolrDocument::getChildDocumentsCount »
  • PHP Manual
  • SolrDocument
  • Returns an array of child documents (SolrDocument)

SolrDocument::getChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::getChildDocuments — Returns an array of child documents (SolrDocument)

Açıklama

public SolrDocument::getChildDocuments(): array

Returns an array of child documents (SolrDocument)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents


Returns the number of child documents

  • « SolrDocument::getChildDocuments
  • SolrDocument::getField »
  • PHP Manual
  • SolrDocument
  • Returns the number of child documents

SolrDocument::getChildDocumentsCount

(PECL solr >= 2.3.0)

SolrDocument::getChildDocumentsCount — Returns the number of child documents

Açıklama

public SolrDocument::getChildDocumentsCount(): int

Returns the number of child documents

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrDocument::hasChildDocuments() - Checks whether the document has any child documents
  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)


Retrieves a field by name

  • « SolrDocument::getChildDocumentsCount
  • SolrDocument::getFieldCount »
  • PHP Manual
  • SolrDocument
  • Retrieves a field by name

SolrDocument::getField

(PECL solr >= 0.9.2)

SolrDocument::getField — Retrieves a field by name

Açıklama

public SolrDocument::getField(string $fieldName): SolrDocumentField

Retrieves a field by name.

Bağımsız Değişkenler

fieldName

Name of the field.

Dönen Değerler

Returns a SolrDocumentField on success and false on failure.


Returns the number of fields in this document

  • « SolrDocument::getField
  • SolrDocument::getFieldNames »
  • PHP Manual
  • SolrDocument
  • Returns the number of fields in this document

SolrDocument::getFieldCount

(PECL solr >= 0.9.2)

SolrDocument::getFieldCount — Returns the number of fields in this document

Açıklama

public SolrDocument::getFieldCount(): int

Returns the number of fields in this document. Multi-value fields are only counted once.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and false on failure.


Returns an array of fields names in the document

  • « SolrDocument::getFieldCount
  • SolrDocument::getInputDocument »
  • PHP Manual
  • SolrDocument
  • Returns an array of fields names in the document

SolrDocument::getFieldNames

(PECL solr >= 0.9.2)

SolrDocument::getFieldNames — Returns an array of fields names in the document

Açıklama

public SolrDocument::getFieldNames(): array

Returns an array of fields names in the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing the names of the fields in this document.


Returns a SolrInputDocument equivalent of the object

  • « SolrDocument::getFieldNames
  • SolrDocument::hasChildDocuments »
  • PHP Manual
  • SolrDocument
  • Returns a SolrInputDocument equivalent of the object

SolrDocument::getInputDocument

(PECL solr >= 0.9.2)

SolrDocument::getInputDocument — Returns a SolrInputDocument equivalent of the object

Açıklama

public SolrDocument::getInputDocument(): SolrInputDocument

Returns a SolrInputDocument equivalent of the object. This is useful if one wishes to resubmit/update a document retrieved from a query.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrInputDocument on success and null on failure.


Checks whether the document has any child documents

  • « SolrDocument::getInputDocument
  • SolrDocument::__isset »
  • PHP Manual
  • SolrDocument
  • Checks whether the document has any child documents

SolrDocument::hasChildDocuments

(PECL solr >= 2.3.0)

SolrDocument::hasChildDocuments — Checks whether the document has any child documents

Açıklama

public SolrDocument::hasChildDocuments(): bool

Checks whether the document has any child documents

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrDocument::getChildDocuments() - Returns an array of child documents (SolrDocument)
  • SolrDocument::getChildDocumentsCount() - Returns the number of child documents


Checks if a field exists

  • « SolrDocument::hasChildDocuments
  • SolrDocument::key »
  • PHP Manual
  • SolrDocument
  • Checks if a field exists

SolrDocument::__isset

(PECL solr >= 0.9.2)

SolrDocument::__isset — Checks if a field exists

Açıklama

public SolrDocument::__isset(string $fieldName): bool

Checks if a field exists

Bağımsız Değişkenler

fieldName

Name of the field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Retrieves the current key

  • « SolrDocument::__isset
  • SolrDocument::merge »
  • PHP Manual
  • SolrDocument
  • Retrieves the current key

SolrDocument::key

(PECL solr >= 0.9.2)

SolrDocument::key — Retrieves the current key

Açıklama

public SolrDocument::key(): string

Retrieves the current key.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current key.


Merges source to the current SolrDocument

  • « SolrDocument::key
  • SolrDocument::next »
  • PHP Manual
  • SolrDocument
  • Merges source to the current SolrDocument

SolrDocument::merge

(PECL solr >= 0.9.2)

SolrDocument::merge — Merges source to the current SolrDocument

Açıklama

public SolrDocument::merge(SolrDocument $sourceDoc, bool $overwrite = true): bool

Merges source to the current SolrDocument.

Bağımsız Değişkenler

sourceDoc

The source document.

overwrite

If this is true then fields with the same name in the destination document will be overwritten.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Moves the internal pointer to the next field

  • « SolrDocument::merge
  • SolrDocument::offsetExists »
  • PHP Manual
  • SolrDocument
  • Moves the internal pointer to the next field

SolrDocument::next

(PECL solr >= 0.9.2)

SolrDocument::next — Moves the internal pointer to the next field

Açıklama

public SolrDocument::next(): void

Moves the internal pointer to the next field.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method has no return value.


Checks if a particular field exists

  • « SolrDocument::next
  • SolrDocument::offsetGet »
  • PHP Manual
  • SolrDocument
  • Checks if a particular field exists

SolrDocument::offsetExists

(PECL solr >= 0.9.2)

SolrDocument::offsetExists — Checks if a particular field exists

Açıklama

public SolrDocument::offsetExists(string $fieldName): bool

Checks if a particular field exists. This is used when the object is treated as an array.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Retrieves a field

  • « SolrDocument::offsetExists
  • SolrDocument::offsetSet »
  • PHP Manual
  • SolrDocument
  • Retrieves a field

SolrDocument::offsetGet

(PECL solr >= 0.9.2)

SolrDocument::offsetGet — Retrieves a field

Açıklama

public SolrDocument::offsetGet(string $fieldName): SolrDocumentField

This is used to retrieve the field when the object is treated as an array.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Returns a SolrDocumentField object.


Adds a field to the document

  • « SolrDocument::offsetGet
  • SolrDocument::offsetUnset »
  • PHP Manual
  • SolrDocument
  • Adds a field to the document

SolrDocument::offsetSet

(PECL solr >= 0.9.2)

SolrDocument::offsetSet — Adds a field to the document

Açıklama

public SolrDocument::offsetSet(string $fieldName, string $fieldValue): void

Used when the object is treated as an array to add a field to the document.

Bağımsız Değişkenler

fieldName

The name of the field.

fieldValue

The value for this field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Removes a field

  • « SolrDocument::offsetSet
  • SolrDocument::reset »
  • PHP Manual
  • SolrDocument
  • Removes a field

SolrDocument::offsetUnset

(PECL solr >= 0.9.2)

SolrDocument::offsetUnset — Removes a field

Açıklama

public SolrDocument::offsetUnset(string $fieldName): void

Removes a field from the document.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

No return value.


Takma Adı: SolrDocument::clear

  • « SolrDocument::offsetUnset
  • SolrDocument::rewind »
  • PHP Manual
  • SolrDocument
  • Takma Adı: SolrDocument::clear

SolrDocument::reset

(PECL solr >= 0.9.2)

SolrDocument::reset — Takma Adı: SolrDocument::clear()

Açıklama

public SolrDocument::reset(): bool

This is an alias to SolrDocument::clear()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Resets the internal pointer to the beginning

  • « SolrDocument::reset
  • SolrDocument::serialize »
  • PHP Manual
  • SolrDocument
  • Resets the internal pointer to the beginning

SolrDocument::rewind

(PECL solr >= 0.9.2)

SolrDocument::rewind — Resets the internal pointer to the beginning

Açıklama

public SolrDocument::rewind(): void

Resets the internal pointer to the beginning.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method has no return value.


Used for custom serialization

  • « SolrDocument::rewind
  • SolrDocument::__set »
  • PHP Manual
  • SolrDocument
  • Used for custom serialization

SolrDocument::serialize

(PECL solr >= 0.9.2)

SolrDocument::serialize — Used for custom serialization

Açıklama

public SolrDocument::serialize(): string

Used for custom serialization.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string representing the serialized Solr document.


Adds another field to the document

  • « SolrDocument::serialize
  • SolrDocument::sort »
  • PHP Manual
  • SolrDocument
  • Adds another field to the document

SolrDocument::__set

(PECL solr >= 0.9.2)

SolrDocument::__set — Adds another field to the document

Açıklama

public SolrDocument::__set(string $fieldName, string $fieldValue): bool

Adds another field to the document. Used to set the fields as new properties.

Bağımsız Değişkenler

fieldName

Name of the field.

fieldValue

Field value.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Sorts the fields in the document

  • « SolrDocument::__set
  • SolrDocument::toArray »
  • PHP Manual
  • SolrDocument
  • Sorts the fields in the document

SolrDocument::sort

(PECL solr >= 0.9.2)

SolrDocument::sort — Sorts the fields in the document

Açıklama

public SolrDocument::sort(int $sortOrderBy, int $sortDirection = SolrDocument::SORT_ASC): bool

The fields are rearranged according to the specified criteria and sort direction

   Fields can be sorted by boost values, field names and number of values.

   The sortOrderBy parameter must be one of :

   * SolrDocument::SORT_FIELD_NAME
   * SolrDocument::SORT_FIELD_BOOST_VALUE
   * SolrDocument::SORT_FIELD_VALUE_COUNT

   The sortDirection can be one of :

   * SolrDocument::SORT_DEFAULT
   * SolrDocument::SORT_ASC
   * SolrDocument::SORT_DESC

   The default way is to sort in ascending order.

Bağımsız Değişkenler

sortOrderBy

The sort criteria.

sortDirection

The sort direction.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns an array representation of the document

  • « SolrDocument::sort
  • SolrDocument::unserialize »
  • PHP Manual
  • SolrDocument
  • Returns an array representation of the document

SolrDocument::toArray

(PECL solr >= 0.9.2)

SolrDocument::toArray — Returns an array representation of the document

Açıklama

public SolrDocument::toArray(): array

Returns an array representation of the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array representation of the document.

Örnekler

Örnek 1 SolrDocument::toArray() example

<?php

$doc = new SolrDocument();

$doc->addField('id', 1123);

$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";

$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat = 'Information Technology';

print_r($doc->toArray());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [document_boost] => 0
    [field_count] => 3
    [fields] => Array
        (
            [0] => SolrDocumentField Object
                (
                    [name] => id
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => 1123
                        )

                )

            [1] => SolrDocumentField Object
                (
                    [name] => features
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => PHP Client Side
                            [1] => Fast development cycles
                        )

                )

            [2] => SolrDocumentField Object
                (
                    [name] => cat
                    [boost] => 0
                    [values] => Array
                        (
                            [0] => Software
                            [1] => Custom Search
                            [2] => Information Technology
                        )

                )

        )

)


Custom serialization of SolrDocument objects

  • « SolrDocument::toArray
  • SolrDocument::__unset »
  • PHP Manual
  • SolrDocument
  • Custom serialization of SolrDocument objects

SolrDocument::unserialize

(PECL solr >= 0.9.2)

SolrDocument::unserialize — Custom serialization of SolrDocument objects

Açıklama

public SolrDocument::unserialize(string $serialized): void

Custom serialization of SolrDocument objects

Bağımsız Değişkenler

serialized

An XML representation of the document.

Dönen Değerler

None.


Removes a field from the document

  • « SolrDocument::unserialize
  • SolrDocument::valid »
  • PHP Manual
  • SolrDocument
  • Removes a field from the document

SolrDocument::__unset

(PECL solr >= 0.9.2)

SolrDocument::__unset — Removes a field from the document

Açıklama

public SolrDocument::__unset(string $fieldName): bool

Removes a field from the document when the field is access as an object property.

Bağımsız Değişkenler

fieldName

The name of the field.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Checks if the current position internally is still valid

  • « SolrDocument::__unset
  • SolrDocumentField »
  • PHP Manual
  • SolrDocument
  • Checks if the current position internally is still valid

SolrDocument::valid

(PECL solr >= 0.9.2)

SolrDocument::valid — Checks if the current position internally is still valid

Açıklama

public SolrDocument::valid(): bool

Checks if the current position internally is still valid. It is used during foreach operations.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true on success and false if the current position is no longer valid.


The SolrDocumentField class

(PECL solr >= 0.9.2)

Giriş

This represents a field in a Solr document. All its properties are read-only.

Sınıf Sözdizimi

final class SolrDocumentField {
/* Özellikler */
public readonly string $name;
public readonly float $boost;
public readonly array $values;
/* Yöntemler */
public __construct()
public __destruct()
}

Özellikler

name

The name of the field.

boost

The boost value for the field

values

An array of values for this field

İçindekiler

  • SolrDocumentField::__construct — Constructor
  • SolrDocumentField::__destruct — Destructor


Constructor

  • « SolrDocumentField
  • SolrDocumentField::__destruct »
  • PHP Manual
  • SolrDocumentField
  • Constructor

SolrDocumentField::__construct

(PECL solr >= 0.9.2)

SolrDocumentField::__construct — Constructor

Açıklama

public SolrDocumentField::__construct()

Constructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Destructor

  • « SolrDocumentField::__construct
  • SolrObject »
  • PHP Manual
  • SolrDocumentField
  • Destructor

SolrDocumentField::__destruct

(PECL solr >= 0.9.2)

SolrDocumentField::__destruct — Destructor

Açıklama

public SolrDocumentField::__destruct()

Destructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


The SolrObject class

(PECL solr >= 0.9.2)

Giriş

This is an object whose properties can also by accessed using the array syntax. All its properties are read-only.

Sınıf Sözdizimi

final class SolrObject implements ArrayAccess {
/* Yöntemler */
public __construct()
public getPropertyNames(): array
public offsetExists(string $property_name): bool
public offsetGet(string $property_name): mixed
public offsetSet(string $property_name, string $property_value): void
public offsetUnset(string $property_name): void
public __destruct()
}

İçindekiler

  • SolrObject::__construct — Creates Solr object
  • SolrObject::__destruct — Destructor
  • SolrObject::getPropertyNames — Returns an array of all the names of the properties
  • SolrObject::offsetExists — Checks if the property exists
  • SolrObject::offsetGet — Used to retrieve a property
  • SolrObject::offsetSet — Sets the value for a property
  • SolrObject::offsetUnset — Unsets the value for the property


Creates Solr object

  • « SolrObject
  • SolrObject::__destruct »
  • PHP Manual
  • SolrObject
  • Creates Solr object

SolrObject::__construct

(PECL solr >= 0.9.2)

SolrObject::__construct — Creates Solr object

Açıklama

public SolrObject::__construct()

Creates Solr object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None

Örnekler

Örnek 1 SolrObject::__construct() example

<?php
/* ... */
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Destructor

  • « SolrObject::__construct
  • SolrObject::getPropertyNames »
  • PHP Manual
  • SolrObject
  • Destructor

SolrObject::__destruct

(PECL solr >= 0.9.2)

SolrObject::__destruct — Destructor

Açıklama

public SolrObject::__destruct()

The destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Returns an array of all the names of the properties

  • « SolrObject::__destruct
  • SolrObject::offsetExists »
  • PHP Manual
  • SolrObject
  • Returns an array of all the names of the properties

SolrObject::getPropertyNames

(PECL solr >= 0.9.2)

SolrObject::getPropertyNames — Returns an array of all the names of the properties

Açıklama

public SolrObject::getPropertyNames(): array

Returns an array of all the names of the properties

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array.


Checks if the property exists

  • « SolrObject::getPropertyNames
  • SolrObject::offsetGet »
  • PHP Manual
  • SolrObject
  • Checks if the property exists

SolrObject::offsetExists

(PECL solr >= 0.9.2)

SolrObject::offsetExists — Checks if the property exists

Açıklama

public SolrObject::offsetExists(string $property_name): bool

Checks if the property exists. This is used when the object is treated as an array.

Bağımsız Değişkenler

property_name

The name of the property.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Used to retrieve a property

  • « SolrObject::offsetExists
  • SolrObject::offsetSet »
  • PHP Manual
  • SolrObject
  • Used to retrieve a property

SolrObject::offsetGet

(PECL solr >= 0.9.2)

SolrObject::offsetGet — Used to retrieve a property

Açıklama

public SolrObject::offsetGet(string $property_name): mixed

Used to get the value of a property. This is used when the object is treated as an array.

Bağımsız Değişkenler

property_name

Name of the property.

Dönen Değerler

Returns the property value.


Sets the value for a property

  • « SolrObject::offsetGet
  • SolrObject::offsetUnset »
  • PHP Manual
  • SolrObject
  • Sets the value for a property

SolrObject::offsetSet

(PECL solr >= 0.9.2)

SolrObject::offsetSet — Sets the value for a property

Açıklama

public SolrObject::offsetSet(string $property_name, string $property_value): void

Sets the value for a property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Bağımsız Değişkenler

property_name

The name of the property.

property_value

The new value.

Dönen Değerler

None.


Unsets the value for the property

  • « SolrObject::offsetSet
  • SolrClient »
  • PHP Manual
  • SolrObject
  • Unsets the value for the property

SolrObject::offsetUnset

(PECL solr >= 0.9.2)

SolrObject::offsetUnset — Unsets the value for the property

Açıklama

public SolrObject::offsetUnset(string $property_name): void

Unsets the value for the property. This is used when the object is treated as an array. This object is read-only. This should never be attempted.

Bağımsız Değişkenler

property_name

The name of the property.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SolrObject::offsetUnset() example

<?php
/* ... */
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


The SolrClient class

(PECL solr >= 0.9.2)

Giriş

Used to send requests to a Solr server. Currently, cloning and serialization of SolrClient instances is not supported.

Sınıf Sözdizimi

final class SolrClient {
/* Sabitler */
const int SEARCH_SERVLET_TYPE = 1;
const int UPDATE_SERVLET_TYPE = 2;
const int THREADS_SERVLET_TYPE = 4;
const int PING_SERVLET_TYPE = 8;
const int TERMS_SERVLET_TYPE = 16;
const int SYSTEM_SERVLET_TYPE = 32;
const string DEFAULT_SEARCH_SERVLET = select;
const string DEFAULT_UPDATE_SERVLET = update;
const string DEFAULT_THREADS_SERVLET = admin/threads;
const string DEFAULT_PING_SERVLET = admin/ping;
const string DEFAULT_TERMS_SERVLET = terms;
const string DEFAULT_SYSTEM_SERVLET = admin/system;
/* Yöntemler */
public __construct(array $clientOptions)
public addDocument(SolrInputDocument $doc, bool $overwrite = true, int $commitWithin = 0): SolrUpdateResponse
public addDocuments(array $docs, bool $overwrite = true, int $commitWithin = 0): void
public commit(bool $softCommit = false, bool $waitSearcher = true, bool $expungeDeletes = false): SolrUpdateResponse
public deleteById(string $id): SolrUpdateResponse
public deleteByIds(array $ids): SolrUpdateResponse
public deleteByQueries(array $queries): SolrUpdateResponse
public deleteByQuery(string $query): SolrUpdateResponse
public getById(string $id): SolrQueryResponse
public getByIds(array $ids): SolrQueryResponse
public getDebug(): string
public getOptions(): array
public optimize(int $maxSegments = 1, bool $softCommit = true, bool $waitSearcher = true): SolrUpdateResponse
public ping(): SolrPingResponse
public query(SolrParams $query): SolrQueryResponse
public request(string $raw_request): SolrUpdateResponse
public rollback(): SolrUpdateResponse
public setResponseWriter(string $responseWriter): void
public setServlet(int $type, string $value): bool
public system(): void
public threads(): void
public __destruct()
}

Öntanımlı Sabitler

SolrClient::SEARCH_SERVLET_TYPE

Used when updating the search servlet.

SolrClient::UPDATE_SERVLET_TYPE

Used when updating the update servlet.

SolrClient::THREADS_SERVLET_TYPE

Used when updating the threads servlet.

SolrClient::PING_SERVLET_TYPE

Used when updating the ping servlet.

SolrClient::TERMS_SERVLET_TYPE

Used when updating the terms servlet.

SolrClient::SYSTEM_SERVLET_TYPE

Used when retrieving system information from the system servlet.

SolrClient::DEFAULT_SEARCH_SERVLET

This is the initial value for the search servlet.

SolrClient::DEFAULT_UPDATE_SERVLET

This is the initial value for the update servlet.

SolrClient::DEFAULT_THREADS_SERVLET

This is the initial value for the threads servlet.

SolrClient::DEFAULT_PING_SERVLET

This is the initial value for the ping servlet.

SolrClient::DEFAULT_TERMS_SERVLET

This is the initial value for the terms servlet used for the TermsComponent

SolrClient::DEFAULT_SYSTEM_SERVLET

This is the initial value for the system servlet used to obtain Solr Server information

İçindekiler

  • SolrClient::addDocument — Adds a document to the index
  • SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit — Finalizes all add/deletes made to the index
  • SolrClient::__construct — Constructor for the SolrClient object
  • SolrClient::deleteById — Delete by Id
  • SolrClient::deleteByIds — Deletes by Ids
  • SolrClient::deleteByQueries — Removes all documents matching any of the queries
  • SolrClient::deleteByQuery — Deletes all documents matching the given query
  • SolrClient::__destruct — Destructor for SolrClient
  • SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)
  • SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
  • SolrClient::getDebug — Returns the debug data for the last connection attempt
  • SolrClient::getOptions — Returns the client options set internally
  • SolrClient::optimize — Defragments the index
  • SolrClient::ping — Checks if Solr server is still up
  • SolrClient::query — Sends a query to the server
  • SolrClient::request — Sends a raw update request
  • SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit
  • SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr
  • SolrClient::setServlet — Changes the specified servlet type to a new value
  • SolrClient::system — Retrieve Solr Server information
  • SolrClient::threads — Checks the threads status


Adds a document to the index

  • « SolrClient
  • SolrClient::addDocuments »
  • PHP Manual
  • SolrClient
  • Adds a document to the index

SolrClient::addDocument

(PECL solr >= 0.9.2)

SolrClient::addDocument — Adds a document to the index

Açıklama

public SolrClient::addDocument(SolrInputDocument $doc, bool $overwrite = true, int $commitWithin = 0): SolrUpdateResponse

This method adds a document to the index.

Bağımsız Değişkenler

doc

The SolrInputDocument instance.

overwrite

Whether to overwrite existing document or not. If false there will be duplicates (several documents with the same ID).

Uyarı

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Dönen Değerler

Returns a SolrUpdateResponse object or throws an Exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Örnekler

Örnek 1 SolrClient::addDocument() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

// you will have to commit changes to be written if you didn't use $commitWithin
$client->commit();

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Örnek 2 SolrClient::addDocument() example 2

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

// No need to call commit() because $commitWithin is passed, so Solr Server will auto commit within 10 seconds
$updateResponse = $client->addDocument($doc, false, 10000);

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
        )

)

Ayrıca Bakınız

  • SolrClient::addDocuments() - Adds a collection of SolrInputDocument instances to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index


Adds a collection of SolrInputDocument instances to the index

  • « SolrClient::addDocument
  • SolrClient::commit »
  • PHP Manual
  • SolrClient
  • Adds a collection of SolrInputDocument instances to the index

SolrClient::addDocuments

(PECL solr >= 0.9.2)

SolrClient::addDocuments — Adds a collection of SolrInputDocument instances to the index

Açıklama

public SolrClient::addDocuments(array $docs, bool $overwrite = true, int $commitWithin = 0): void

Adds a collection of documents to the index.

Bağımsız Değişkenler

docs

An array containing the collection of SolrInputDocument instances. This array must be an actual variable.

overwrite

Whether to overwrite existing documents or not. If false there will be duplicates (several documents with the same ID).

Uyarı

PECL Solr < 2.0 $allowDups was used instead of $overwrite, which does the same functionality with exact opposite bool flag.

$allowDups = false is the same as $overwrite = true

commitWithin

Number of milliseconds within which to auto commit this document. Available since Solr 1.4 . Default (0) means disabled.

When this value specified, it leaves the control of when to do the commit to Solr itself, optimizing number of commits to a minimum while still fulfilling the update latency requirements, and Solr will automatically do a commit when the oldest add in the buffer is due.

Dönen Değerler

Returns a SolrUpdateResponse object or throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Örnekler

Örnek 1 SolrClient::addDocuments() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$doc2 = clone $doc;

$doc2->deleteField('id');
$doc2->addField('id', 334456);

$docs = array($doc, $doc2);

$updateResponse = $client->addDocuments($docs);

// no changes will be written to disk unless $commitWithin is passed or SolrClient::commit is called

print_r($updateResponse->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 2
        )

)

Ayrıca Bakınız

  • SolrClient::addDocument() - Adds a document to the index
  • SolrClient::commit() - Finalizes all add/deletes made to the index


Finalizes all add/deletes made to the index

  • « SolrClient::addDocuments
  • SolrClient::__construct »
  • PHP Manual
  • SolrClient
  • Finalizes all add/deletes made to the index

SolrClient::commit

(PECL solr >= 0.9.2)

SolrClient::commit — Finalizes all add/deletes made to the index

Açıklama

public SolrClient::commit(bool $softCommit = false, bool $waitSearcher = true, bool $expungeDeletes = false): SolrUpdateResponse

This method finalizes all add/deletes made to the index.

Bağımsız Değişkenler

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

A soft commit is much faster since it only makes index changes visible and does not fsync index files or write a new index descriptor. If the JVM crashes or there is a loss of power, changes that occurred after the last hard commit will be lost. Search collections that have near-real-time requirements (that want index changes to be quickly visible to searches) will want to soft commit often but hard commit less frequently.

waitSearcher

block until a new searcher is opened and registered as the main query searcher, making the changes visible.

expungeDeletes

Merge segments with deletes away. (Solr1.4+)

Dönen Değerler

Returns a SolrUpdateResponse object on success or throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL solr 1.1.0, 2.0.0 | $maxSegments removed
PECL solr 2.0.0b | API Changed: SolrClient::commit ([ int $maxSegments = 0 [, bool $softCommit = false [, bool $waitSearcher = true[, bool $expungeDeletes = false ]]] )
PECL solr 0.9.2 | Signature: SolrClient::commit ([ int $maxSegments = 1 [, bool $waitFlush = true [, bool $waitSearcher = true ]]] ). $waitFlush: Block until index changes are flushed to disk.

Notlar

Uyarı

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Ayrıca Bakınız

  • SolrClient::optimize() - Defragments the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit


Constructor for the SolrClient object

  • « SolrClient::commit
  • SolrClient::deleteById »
  • PHP Manual
  • SolrClient
  • Constructor for the SolrClient object

SolrClient::__construct

(PECL solr >= 0.9.2)

SolrClient::__construct — Constructor for the SolrClient object

Açıklama

public SolrClient::__construct(array $clientOptions)

Constructor for the SolrClient object

Bağımsız Değişkenler

clientOptions

This is an array containing one of the following keys :

- secure          (Boolean value indicating whether or not to connect in secure mode)
 - hostname        (The hostname for the Solr server)
 - port            (The port number)
 - path            (The path to solr)
 - wt              (The name of the response writer e.g. xml, json)
 - login           (The username used for HTTP Authentication, if any)
 - password        (The HTTP Authentication password)
 - proxy_host      (The hostname for the proxy server, if any)
 - proxy_port      (The proxy port)
 - proxy_login     (The proxy username)
 - proxy_password  (The proxy password)
 - timeout         (This is maximum time in seconds allowed for the http data transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to verify peer with )

 Please note the if the ssl_cert file only contains the private certificate, you have to specify a separate ssl_key file

 The ssl_keypassword option is required if the ssl_cert or ssl_key options are set.

Hatalar/İstisnalar

Throws SolrIllegalArgumentException on failure.

Örnekler

Örnek 1 SolrClient::__construct() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_PATH_TO_SOLR,
'wt' => 'xml',
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');

$updateResponse = $client->addDocument($doc);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • SolrClient::getOptions() - Returns the client options set internally


Delete by Id

  • « SolrClient::__construct
  • SolrClient::deleteByIds »
  • PHP Manual
  • SolrClient
  • Delete by Id

SolrClient::deleteById

(PECL solr >= 0.9.2)

SolrClient::deleteById — Delete by Id

Açıklama

public SolrClient::deleteById(string $id): SolrUpdateResponse

Deletes the document with the specified ID. Where ID is the value of the uniqueKey field declared in the schema

Bağımsız Değişkenler

id

The value of the uniqueKey field declared in the schema

Dönen Değerler

Returns a SolrUpdateResponse on success and throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Ayrıca Bakınız

  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Deletes by Ids

  • « SolrClient::deleteById
  • SolrClient::deleteByQueries »
  • PHP Manual
  • SolrClient
  • Deletes by Ids

SolrClient::deleteByIds

(PECL solr >= 0.9.2)

SolrClient::deleteByIds — Deletes by Ids

Açıklama

public SolrClient::deleteByIds(array $ids): SolrUpdateResponse

Deletes a collection of documents with the specified set of ids.

Bağımsız Değişkenler

ids

An array of IDs representing the uniqueKey field declared in the schema for each document to be deleted. This must be an actual php variable.

Dönen Değerler

Returns a SolrUpdateResponse on success and throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Ayrıca Bakınız

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Removes all documents matching any of the queries

  • « SolrClient::deleteByIds
  • SolrClient::deleteByQuery »
  • PHP Manual
  • SolrClient
  • Removes all documents matching any of the queries

SolrClient::deleteByQueries

(PECL solr >= 0.9.2)

SolrClient::deleteByQueries — Removes all documents matching any of the queries

Açıklama

public SolrClient::deleteByQueries(array $queries): SolrUpdateResponse

Removes all documents matching any of the queries

Bağımsız Değişkenler

queries

The array of queries. This must be an actual php variable.

Dönen Değerler

Returns a SolrUpdateResponse on success and throws a SolrClientException on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Ayrıca Bakınız

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQuery() - Deletes all documents matching the given query


Deletes all documents matching the given query

  • « SolrClient::deleteByQueries
  • SolrClient::__destruct »
  • PHP Manual
  • SolrClient
  • Deletes all documents matching the given query

SolrClient::deleteByQuery

(PECL solr >= 0.9.2)

SolrClient::deleteByQuery — Deletes all documents matching the given query

Açıklama

public SolrClient::deleteByQuery(string $query): SolrUpdateResponse

Deletes all documents matching the given query.

Bağımsız Değişkenler

query

The query

Dönen Değerler

Returns a SolrUpdateResponse on success and throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Örnekler

Örnek 1 SolrQuery::deleteByQuery() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

//This will erase the entire index
$client->deleteByQuery("*:*");
$client->commit();

?>

Ayrıca Bakınız

  • SolrClient::deleteById() - Delete by Id
  • SolrClient::deleteByIds() - Deletes by Ids
  • SolrClient::deleteByQueries() - Removes all documents matching any of the queries


Destructor for SolrClient

  • « SolrClient::deleteByQuery
  • SolrClient::getById »
  • PHP Manual
  • SolrClient
  • Destructor for SolrClient

SolrClient::__destruct

(PECL solr >= 0.9.2)

SolrClient::__destruct — Destructor for SolrClient

Açıklama

public SolrClient::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Destructor for SolrClient

Ayrıca Bakınız

  • SolrClient::__construct() - Constructor for the SolrClient object


Get Document By Id. Utilizes Solr Realtime Get (RTG)

  • « SolrClient::__destruct
  • SolrClient::getByIds »
  • PHP Manual
  • SolrClient
  • Get Document By Id. Utilizes Solr Realtime Get (RTG)

SolrClient::getById

(PECL solr >= 2.2.0)

SolrClient::getById — Get Document By Id. Utilizes Solr Realtime Get (RTG)

Açıklama

public SolrClient::getById(string $id): SolrQueryResponse

Get Document By Id. Utilizes Solr Realtime Get (RTG).

Bağımsız Değişkenler

id

Document ID

Dönen Değerler

SolrQueryResponse

Örnekler

Örnek 1 SolrClient::getById() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getById('GB18030TEST');
print_r($response->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [doc] => SolrObject Object
        (
            [id] => GB18030TEST
            [name] => Array
                (
                    [0] => Test with some GB18030 encoded characters
                )

            [features] => Array
                (
                    [0] => No accents here
                    [1] => ??????
                    [2] => This is a feature (translated)
                    [3] => ?????????
                    [4] => This document is very shiny (translated)
                )

            [price] => Array
                (
                    [0] => 0
                )

            [inStock] => Array
                (
                    [0] => 1
                )

            [_version_] => 1510294336239042560
        )

)

Ayrıca Bakınız

  • SolrClient::getByIds() - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)


Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

  • « SolrClient::getById
  • SolrClient::getDebug »
  • PHP Manual
  • SolrClient
  • Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

SolrClient::getByIds

(PECL solr >= 2.2.0)

SolrClient::getByIds — Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)

Açıklama

public SolrClient::getByIds(array $ids): SolrQueryResponse

Get Documents by their Ids. Utilizes Solr Realtime Get (RTG).

Bağımsız Değişkenler

ids

Document ids

Dönen Değerler

SolrQueryResponse

Örnekler

Örnek 1 SolrClient::getByIds() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);
$response = $client->getByIds(['GB18030TEST', '6H500F0']);

print_r($response->getResponse());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [response] => SolrObject Object
        (
            [numFound] => 2
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => GB18030TEST
                            [name] => Array
                                (
                                    [0] => Test with some GB18030 encoded characters
                                )

                            [features] => Array
                                (
                                    [0] => No accents here
                                    [1] => ??????
                                    [2] => This is a feature (translated)
                                    [3] => ?????????
                                    [4] => This document is very shiny (translated)
                                )

                            [price] => Array
                                (
                                    [0] => 0
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [_version_] => 1510294336239042560
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                )

        )

)

Ayrıca Bakınız

  • SolrClient::getById() - Get Document By Id. Utilizes Solr Realtime Get (RTG)


Returns the debug data for the last connection attempt

  • « SolrClient::getByIds
  • SolrClient::getOptions »
  • PHP Manual
  • SolrClient
  • Returns the debug data for the last connection attempt

SolrClient::getDebug

(PECL solr >= 0.9.7)

SolrClient::getDebug — Returns the debug data for the last connection attempt

Açıklama

public SolrClient::getDebug(): string

Returns the debug data for the last connection attempt

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if there is nothing to return.


Returns the client options set internally

  • « SolrClient::getDebug
  • SolrClient::optimize »
  • PHP Manual
  • SolrClient
  • Returns the client options set internally

SolrClient::getOptions

(PECL solr >= 0.9.6)

SolrClient::getOptions — Returns the client options set internally

Açıklama

public SolrClient::getOptions(): array

Returns the client options set internally. Very useful for debugging. The values returned are readonly and can only be set when the object is instantiated.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing all the options for the SolrClient object set internally.

Ayrıca Bakınız

  • SolrClient::__construct() - Constructor for the SolrClient object


Defragments the index

  • « SolrClient::getOptions
  • SolrClient::ping »
  • PHP Manual
  • SolrClient
  • Defragments the index

SolrClient::optimize

(PECL solr >= 0.9.2)

SolrClient::optimize — Defragments the index

Açıklama

public SolrClient::optimize(int $maxSegments = 1, bool $softCommit = true, bool $waitSearcher = true): SolrUpdateResponse

Defragments the index for faster search performance.

Bağımsız Değişkenler

maxSegments

Optimizes down to at most this number of segments. Since Solr 1.3

softCommit

This will refresh the 'view' of the index in a more performant manner, but without "on-disk" guarantees. (Solr4.0+)

waitSearcher

Block until a new searcher is opened and registered as the main query searcher, making the changes visible.

Dönen Değerler

Returns a SolrUpdateResponse on success or throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to process the request.

Notlar

Uyarı

PECL Solr >= 2.0 only supports Solr Server >= 4.0

Prior to PECL Solr 2.0 this method used to accept these arguments "int $maxSegments, bool $waitFlush, bool $waitSearcher".

Ayrıca Bakınız

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::rollback() - Rollbacks all add/deletes made to the index since the last commit


Checks if Solr server is still up

  • « SolrClient::optimize
  • SolrClient::query »
  • PHP Manual
  • SolrClient
  • Checks if Solr server is still up

SolrClient::ping

(PECL solr >= 0.9.2)

SolrClient::ping — Checks if Solr server is still up

Açıklama

public SolrClient::ping(): SolrPingResponse

Checks if the Solr server is still alive. Sends a HEAD request to the Apache Solr server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrPingResponse object on success and throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the request.

Örnekler

Örnek 1 SolrClient::ping() example

<?php
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$pingresponse = $client->ping();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:


Sends a query to the server

  • « SolrClient::ping
  • SolrClient::request »
  • PHP Manual
  • SolrClient
  • Sends a query to the server

SolrClient::query

(PECL solr >= 0.9.2)

SolrClient::query — Sends a query to the server

Açıklama

public SolrClient::query(SolrParams $query): SolrQueryResponse

Sends a query to the server.

Bağımsız Değişkenler

query

A SolrParams object. It is recommended to use SolrQuery for advanced queries.

Dönen Değerler

Returns a SolrQueryResponse object on success and throws an exception on failure.

Hatalar/İstisnalar

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Örnekler

Örnek 1 SolrClient::query() example

<?php

$options = array
(
'hostname' => 'localhost',
'login' => 'username',
'password' => 'password',
'port' => '8983',
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('lucene');

$query->setStart(0);

$query->setRows(50);

$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 3
            [params] => SolrObject Object
                (
                    [fl] => cat,features,id,timestamp
                    [indent] => on
                    [start] => 0
                    [q] => lucene
                    [wt] => xml
                    [version] => 2.2
                    [rows] => 50
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 1
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SOLR1000
                            [cat] => Array
                                (
                                    [0] => software
                                    [1] => search
                                )

                            [features] => Array
                                (
                                    [0] => Advanced Full-Text Search Capabilities using Lucene
                                    [1] => Optimized for High Volume Web Traffic
                                    [2] => Standards Based Open Interfaces - XML and HTTP
                                    [3] => Comprehensive HTML Administration Interfaces
                                    [4] => Scalability - Efficient Replication to other Solr Search Servers
                                    [5] => Flexible and Adaptable with XML configuration and Schema
                                    [6] => Good unicode support: héllo (hello with an accent over the e)
                                )

                        )

                )

        )

)


Sends a raw update request

  • « SolrClient::query
  • SolrClient::rollback »
  • PHP Manual
  • SolrClient
  • Sends a raw update request

SolrClient::request

(PECL solr >= 0.9.2)

SolrClient::request — Sends a raw update request

Açıklama

public SolrClient::request(string $raw_request): SolrUpdateResponse

Sends a raw XML update request to the server

Bağımsız Değişkenler

raw_request

An XML string with the raw request to the server.

Dönen Değerler

Returns a SolrUpdateResponse on success. Throws an exception on failure.

Hatalar/İstisnalar

Throws SolrIllegalArgumentException if raw_request was an empty string

Throws SolrClientException if the client had failed, or there was a connection issue.

Throws SolrServerException if the Solr Server had failed to satisfy the query.

Örnekler

Örnek 1 SolrClient::request() example

<?php
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$update_response = $client->request("<commit/>");

$response = $update_response->getResponse();

print_r($response);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Rollbacks all add/deletes made to the index since the last commit

  • « SolrClient::request
  • SolrClient::setResponseWriter »
  • PHP Manual
  • SolrClient
  • Rollbacks all add/deletes made to the index since the last commit

SolrClient::rollback

(PECL solr >= 0.9.2)

SolrClient::rollback — Rollbacks all add/deletes made to the index since the last commit

Açıklama

public SolrClient::rollback(): SolrUpdateResponse

Rollbacks all add/deletes made to the index since the last commit. It neither calls any event listeners nor creates a new searcher.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrUpdateResponse on success or throws a SolrClientException on failure.

Ayrıca Bakınız

  • SolrClient::commit() - Finalizes all add/deletes made to the index
  • SolrClient::optimize() - Defragments the index


Sets the response writer used to prepare the response from Solr

  • « SolrClient::rollback
  • SolrClient::setServlet »
  • PHP Manual
  • SolrClient
  • Sets the response writer used to prepare the response from Solr

SolrClient::setResponseWriter

(PECL solr >= 0.9.11)

SolrClient::setResponseWriter — Sets the response writer used to prepare the response from Solr

Açıklama

public SolrClient::setResponseWriter(string $responseWriter): void

Sets the response writer used to prepare the response from Solr

Bağımsız Değişkenler

responseWriter

One of the following:

  • json
  • phps
  • xml

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SolrClient::setResponseWriter() example

<?php

// This is my custom class for objects
class SolrClass
{
public $_properties = array();

public function __get($property_name) {

if (property_exists($this, $property_name)) {

return $this->$property_name;

} else if (isset($_properties[$property_name])) {

return $_properties[$property_name];
}

return null;
}
}

$options = array
(
'hostname' => 'localhost',
'port' => 8983,
'path' => '/solr/core1'
);

$client = new SolrClient($options);

$client->setResponseWriter("json");

//$response = $client->ping();

$query = new SolrQuery();

$query->setQuery("*:*");

$query->set("objectClassName", "SolrClass");

$query->set("objectPropertiesStorageMode", 1); // 0 for independent properties, 1 for combined

try
{

$response = $client->query($query);

$resp = $response->getResponse();

print_r($response);

print_r($resp);

} catch (Exception $e) {

print_r($e);

}

?>


Changes the specified servlet type to a new value

  • « SolrClient::setResponseWriter
  • SolrClient::system »
  • PHP Manual
  • SolrClient
  • Changes the specified servlet type to a new value

SolrClient::setServlet

(PECL solr >= 0.9.2)

SolrClient::setServlet — Changes the specified servlet type to a new value

Açıklama

public SolrClient::setServlet(int $type, string $value): bool

Changes the specified servlet type to a new value

Bağımsız Değişkenler

type

One of the following :

- SolrClient::SEARCH_SERVLET_TYPE
 - SolrClient::UPDATE_SERVLET_TYPE
 - SolrClient::THREADS_SERVLET_TYPE
 - SolrClient::PING_SERVLET_TYPE
 - SolrClient::TERMS_SERVLET_TYPE

value

The new value for the servlet

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Retrieve Solr Server information

  • « SolrClient::setServlet
  • SolrClient::threads »
  • PHP Manual
  • SolrClient
  • Retrieve Solr Server information

SolrClient::system

(PECL solr >= 2.0.0)

SolrClient::system — Retrieve Solr Server information

Açıklama

public SolrClient::system(): void

Retrieve Solr Server information

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrGenericResponse object on success.

Hatalar/İstisnalar

Emits SolrClientException if the client failed, or there was a connection issue.

Emits SolrServerException if the Solr Server failed to satisfy the query.


Checks the threads status

  • « SolrClient::system
  • SolrResponse »
  • PHP Manual
  • SolrClient
  • Checks the threads status

SolrClient::threads

(PECL solr >= 0.9.2)

SolrClient::threads — Checks the threads status

Açıklama

public SolrClient::threads(): void

Checks the threads status

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrGenericResponse object.

Hatalar/İstisnalar

Throws SolrClientException if the client failed, or there was a connection issue.

throws SolrServerException if the Solr Server failed to process the request.


The SolrResponse class

(PECL solr >= 0.9.2)

Giriş

Represents a response from the Solr server.

Sınıf Sözdizimi

abstract class SolrResponse {
/* Sabitler */
const int PARSE_SOLR_OBJ = 0;
const int PARSE_SOLR_DOC = 1;
/* Özellikler */
protected int $http_status;
protected int $parser_mode;
protected bool $success;
protected string $http_status_message;
protected string $http_request_url;
protected string $http_raw_request_headers;
protected string $http_raw_request;
protected string $http_raw_response_headers;
protected string $http_raw_response;
protected string $http_digested_response;
/* Yöntemler */
public getDigestedResponse(): string
public getHttpStatus(): int
public getHttpStatusMessage(): string
public getRawRequest(): string
public getRawRequestHeaders(): string
public getRawResponse(): string
public getRawResponseHeaders(): string
public getRequestUrl(): string
public getResponse(): SolrObject
public setParseMode(int $parser_mode = 0): bool
public success(): bool
}

Özellikler

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request.

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server.

http_raw_response

The response message from the server.

http_digested_response

The response in PHP serialized format.

Öntanımlı Sabitler

SolrResponse Class Constants

SolrResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

İçindekiler

  • SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data
  • SolrResponse::getHttpStatus — Returns the HTTP status of the response
  • SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status
  • SolrResponse::getRawRequest — Returns the raw request sent to the Solr server
  • SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server
  • SolrResponse::getRawResponse — Returns the raw response from the server
  • SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server
  • SolrResponse::getRequestUrl — Returns the full URL the request was sent to
  • SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server
  • SolrResponse::setParseMode — Sets the parse mode
  • SolrResponse::success — Was the request a success


Returns the XML response as serialized PHP data

  • « SolrResponse
  • SolrResponse::getHttpStatus »
  • PHP Manual
  • SolrResponse
  • Returns the XML response as serialized PHP data

SolrResponse::getDigestedResponse

(PECL solr >= 0.9.2)

SolrResponse::getDigestedResponse — Returns the XML response as serialized PHP data

Açıklama

public SolrResponse::getDigestedResponse(): string

Returns the XML response as serialized PHP data

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the XML response as serialized PHP data


Returns the HTTP status of the response

  • « SolrResponse::getDigestedResponse
  • SolrResponse::getHttpStatusMessage »
  • PHP Manual
  • SolrResponse
  • Returns the HTTP status of the response

SolrResponse::getHttpStatus

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatus — Returns the HTTP status of the response

Açıklama

public SolrResponse::getHttpStatus(): int

Returns the HTTP status of the response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the HTTP status of the response.


Returns more details on the HTTP status

  • « SolrResponse::getHttpStatus
  • SolrResponse::getRawRequest »
  • PHP Manual
  • SolrResponse
  • Returns more details on the HTTP status

SolrResponse::getHttpStatusMessage

(PECL solr >= 0.9.2)

SolrResponse::getHttpStatusMessage — Returns more details on the HTTP status

Açıklama

public SolrResponse::getHttpStatusMessage(): string

Returns more details on the HTTP status.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns more details on the HTTP status


Returns the raw request sent to the Solr server

  • « SolrResponse::getHttpStatusMessage
  • SolrResponse::getRawRequestHeaders »
  • PHP Manual
  • SolrResponse
  • Returns the raw request sent to the Solr server

SolrResponse::getRawRequest

(PECL solr >= 0.9.2)

SolrResponse::getRawRequest — Returns the raw request sent to the Solr server

Açıklama

public SolrResponse::getRawRequest(): string

Returns the raw request sent to the Solr server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the raw request sent to the Solr server


Returns the raw request headers sent to the Solr server

  • « SolrResponse::getRawRequest
  • SolrResponse::getRawResponse »
  • PHP Manual
  • SolrResponse
  • Returns the raw request headers sent to the Solr server

SolrResponse::getRawRequestHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawRequestHeaders — Returns the raw request headers sent to the Solr server

Açıklama

public SolrResponse::getRawRequestHeaders(): string

Returns the raw request headers sent to the Solr server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the raw request headers sent to the Solr server


Returns the raw response from the server

  • « SolrResponse::getRawRequestHeaders
  • SolrResponse::getRawResponseHeaders »
  • PHP Manual
  • SolrResponse
  • Returns the raw response from the server

SolrResponse::getRawResponse

(PECL solr >= 0.9.2)

SolrResponse::getRawResponse — Returns the raw response from the server

Açıklama

public SolrResponse::getRawResponse(): string

Returns the raw response from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the raw response from the server.


Returns the raw response headers from the server

  • « SolrResponse::getRawResponse
  • SolrResponse::getRequestUrl »
  • PHP Manual
  • SolrResponse
  • Returns the raw response headers from the server

SolrResponse::getRawResponseHeaders

(PECL solr >= 0.9.2)

SolrResponse::getRawResponseHeaders — Returns the raw response headers from the server

Açıklama

public SolrResponse::getRawResponseHeaders(): string

Returns the raw response headers from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the raw response headers from the server.


Returns the full URL the request was sent to

  • « SolrResponse::getRawResponseHeaders
  • SolrResponse::getResponse »
  • PHP Manual
  • SolrResponse
  • Returns the full URL the request was sent to

SolrResponse::getRequestUrl

(PECL solr >= 0.9.2)

SolrResponse::getRequestUrl — Returns the full URL the request was sent to

Açıklama

public SolrResponse::getRequestUrl(): string

Returns the full URL the request was sent to.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the full URL the request was sent to


Returns a SolrObject representing the XML response from the server

  • « SolrResponse::getRequestUrl
  • SolrResponse::setParseMode »
  • PHP Manual
  • SolrResponse
  • Returns a SolrObject representing the XML response from the server

SolrResponse::getResponse

(PECL solr >= 0.9.2)

SolrResponse::getResponse — Returns a SolrObject representing the XML response from the server

Açıklama

public SolrResponse::getResponse(): SolrObject

Returns a SolrObject representing the XML response from the server.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SolrObject representing the XML response from the server


Sets the parse mode

  • « SolrResponse::getResponse
  • SolrResponse::success »
  • PHP Manual
  • SolrResponse
  • Sets the parse mode

SolrResponse::setParseMode

(PECL solr >= 0.9.2)

SolrResponse::setParseMode — Sets the parse mode

Açıklama

public SolrResponse::setParseMode(int $parser_mode = 0): bool

Sets the parse mode.

Bağımsız Değişkenler

parser_mode

SolrResponse::PARSE_SOLR_DOC parses documents in SolrDocument instances. SolrResponse::PARSE_SOLR_OBJ parses document into SolrObjects.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Was the request a success

  • « SolrResponse::setParseMode
  • SolrQueryResponse »
  • PHP Manual
  • SolrResponse
  • Was the request a success

SolrResponse::success

(PECL solr >= 0.9.2)

SolrResponse::success — Was the request a success

Açıklama

public SolrResponse::success(): bool

Used to check if the request to the server was successful.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if it was successful and false if it was not.


The SolrQueryResponse class

(PECL solr >= 0.9.2)

Giriş

Represents a response to a query request.

Sınıf Sözdizimi

final class SolrQueryResponse extends SolrResponse {
/* Sabitler */
const int PARSE_SOLR_OBJ = 0;
const int PARSE_SOLR_DOC = 1;
/* Miras alınan özellikler */
const int SolrResponse::PARSE_SOLR_OBJ = 0;
const int SolrResponse::PARSE_SOLR_DOC = 1;
protected int $http_status;
protected int $parser_mode;
protected bool $success;
protected string $http_status_message;
protected string $http_request_url;
protected string $http_raw_request_headers;
protected string $http_raw_request;
protected string $http_raw_response_headers;
protected string $http_raw_response;
protected string $http_digested_response;
/* Yöntemler */
public __construct()
public __destruct()
/* Miras alınan yöntemler */
public SolrResponse::getDigestedResponse(): string
public SolrResponse::getHttpStatus(): int
public SolrResponse::getHttpStatusMessage(): string
public SolrResponse::getRawRequest(): string
public SolrResponse::getRawRequestHeaders(): string
public SolrResponse::getRawResponse(): string
public SolrResponse::getRawResponseHeaders(): string
public SolrResponse::getRequestUrl(): string
public SolrResponse::getResponse(): SolrObject
public SolrResponse::setParseMode(int $parser_mode = 0): bool
public SolrResponse::success(): bool
}

Öntanımlı Sabitler

SolrQueryResponse Class constants

SolrQueryResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrQueryResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

İçindekiler

  • SolrQueryResponse::__construct — Constructor
  • SolrQueryResponse::__destruct — Destructor


Constructor

  • « SolrQueryResponse
  • SolrQueryResponse::__destruct »
  • PHP Manual
  • SolrQueryResponse
  • Constructor

SolrQueryResponse::__construct

(PECL solr >= 0.9.2)

SolrQueryResponse::__construct — Constructor

Açıklama

public SolrQueryResponse::__construct()

Constructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Destructor

  • « SolrQueryResponse::__construct
  • SolrUpdateResponse »
  • PHP Manual
  • SolrQueryResponse
  • Destructor

SolrQueryResponse::__destruct

(PECL solr >= 0.9.2)

SolrQueryResponse::__destruct — Destructor

Açıklama

public SolrQueryResponse::__destruct()

Destructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


The SolrUpdateResponse class

(PECL solr >= 0.9.2)

Giriş

Represents a response to an update request.

Sınıf Sözdizimi

final class SolrUpdateResponse extends SolrResponse {
/* Sabitler */
const int PARSE_SOLR_OBJ = 0;
const int PARSE_SOLR_DOC = 1;
/* Miras alınan özellikler */
const int SolrResponse::PARSE_SOLR_OBJ = 0;
const int SolrResponse::PARSE_SOLR_DOC = 1;
protected int $http_status;
protected int $parser_mode;
protected bool $success;
protected string $http_status_message;
protected string $http_request_url;
protected string $http_raw_request_headers;
protected string $http_raw_request;
protected string $http_raw_response_headers;
protected string $http_raw_response;
protected string $http_digested_response;
/* Yöntemler */
public __construct()
public __destruct()
/* Miras alınan yöntemler */
public SolrResponse::getDigestedResponse(): string
public SolrResponse::getHttpStatus(): int
public SolrResponse::getHttpStatusMessage(): string
public SolrResponse::getRawRequest(): string
public SolrResponse::getRawRequestHeaders(): string
public SolrResponse::getRawResponse(): string
public SolrResponse::getRawResponseHeaders(): string
public SolrResponse::getRequestUrl(): string
public SolrResponse::getResponse(): SolrObject
public SolrResponse::setParseMode(int $parser_mode = 0): bool
public SolrResponse::success(): bool
}

Öntanımlı Sabitler

SolrUpdateResponse Class Constants

SolrUpdateResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrUpdateResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

İçindekiler

  • SolrUpdateResponse::__construct — Constructor
  • SolrUpdateResponse::__destruct — Destructor


Constructor

  • « SolrUpdateResponse
  • SolrUpdateResponse::__destruct »
  • PHP Manual
  • SolrUpdateResponse
  • Constructor

SolrUpdateResponse::__construct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__construct — Constructor

Açıklama

public SolrUpdateResponse::__construct()

Constructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Destructor

  • « SolrUpdateResponse::__construct
  • SolrPingResponse »
  • PHP Manual
  • SolrUpdateResponse
  • Destructor

SolrUpdateResponse::__destruct

(PECL solr >= 0.9.2)

SolrUpdateResponse::__destruct — Destructor

Açıklama

public SolrUpdateResponse::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


The SolrPingResponse class

(PECL solr >= 0.9.2)

Giriş

Represents a response to a ping request to the server

Sınıf Sözdizimi

final class SolrPingResponse extends SolrResponse {
/* Sabitler */
const int PARSE_SOLR_OBJ = 0;
const int PARSE_SOLR_DOC = 1;
/* Özellikler */
/* Yöntemler */
public __construct()
public getResponse(): string
public __destruct()
/* Miras alınan yöntemler */
public SolrResponse::getDigestedResponse(): string
public SolrResponse::getHttpStatus(): int
public SolrResponse::getHttpStatusMessage(): string
public SolrResponse::getRawRequest(): string
public SolrResponse::getRawRequestHeaders(): string
public SolrResponse::getRawResponse(): string
public SolrResponse::getRawResponseHeaders(): string
public SolrResponse::getRequestUrl(): string
public SolrResponse::getResponse(): SolrObject
public SolrResponse::setParseMode(int $parser_mode = 0): bool
public SolrResponse::success(): bool
}

Özellikler

http_status

The http status of the response.

parser_mode

Whether to parse the solr documents as SolrObject or SolrDocument instances.

success

Was there an error during the request

http_status_message

Detailed message on http status

http_request_url

The request URL

http_raw_request_headers

A string of raw headers sent during the request

http_raw_request

The raw request sent to the server

http_raw_response_headers

Response headers from the Solr server

http_raw_response

The response message from the server

http_digested_response

The response in PHP serialized format.

Öntanımlı Sabitler

SolrPingResponse Class Constants

SolrPingResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrPingResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

İçindekiler

  • SolrPingResponse::__construct — Constructor
  • SolrPingResponse::__destruct — Destructor
  • SolrPingResponse::getResponse — Returns the response from the server


Constructor

  • « SolrPingResponse
  • SolrPingResponse::__destruct »
  • PHP Manual
  • SolrPingResponse
  • Constructor

SolrPingResponse::__construct

(PECL solr >= 0.9.2)

SolrPingResponse::__construct — Constructor

Açıklama

public SolrPingResponse::__construct()

Constructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Destructor

  • « SolrPingResponse::__construct
  • SolrPingResponse::getResponse »
  • PHP Manual
  • SolrPingResponse
  • Destructor

SolrPingResponse::__destruct

(PECL solr >= 0.9.2)

SolrPingResponse::__destruct — Destructor

Açıklama

public SolrPingResponse::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Returns the response from the server

  • « SolrPingResponse::__destruct
  • SolrGenericResponse »
  • PHP Manual
  • SolrPingResponse
  • Returns the response from the server

SolrPingResponse::getResponse

(PECL solr >= 0.9.2)

SolrPingResponse::getResponse — Returns the response from the server

Açıklama

public SolrPingResponse::getResponse(): string

Returns the response from the server. This should be empty because the request as a HEAD request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an empty string.


The SolrGenericResponse class

(PECL solr >= 0.9.2)

Giriş

Represents a response from the solr server.

Sınıf Sözdizimi

final class SolrGenericResponse extends SolrResponse {
/* Sabitler */
const int PARSE_SOLR_OBJ = 0;
const int PARSE_SOLR_DOC = 1;
/* Miras alınan özellikler */
const int SolrResponse::PARSE_SOLR_OBJ = 0;
const int SolrResponse::PARSE_SOLR_DOC = 1;
protected int $http_status;
protected int $parser_mode;
protected bool $success;
protected string $http_status_message;
protected string $http_request_url;
protected string $http_raw_request_headers;
protected string $http_raw_request;
protected string $http_raw_response_headers;
protected string $http_raw_response;
protected string $http_digested_response;
/* Yöntemler */
public __construct()
public __destruct()
/* Miras alınan yöntemler */
public SolrResponse::getDigestedResponse(): string
public SolrResponse::getHttpStatus(): int
public SolrResponse::getHttpStatusMessage(): string
public SolrResponse::getRawRequest(): string
public SolrResponse::getRawRequestHeaders(): string
public SolrResponse::getRawResponse(): string
public SolrResponse::getRawResponseHeaders(): string
public SolrResponse::getRequestUrl(): string
public SolrResponse::getResponse(): SolrObject
public SolrResponse::setParseMode(int $parser_mode = 0): bool
public SolrResponse::success(): bool
}

Öntanımlı Sabitler

SolrGenericResponse Class constants

SolrGenericResponse::PARSE_SOLR_OBJ

Documents should be parsed as SolrObject instances

SolrGenericResponse::PARSE_SOLR_DOC

Documents should be parsed as SolrDocument instances.

İçindekiler

  • SolrGenericResponse::__construct — Constructor
  • SolrGenericResponse::__destruct — Destructor


Constructor

  • « SolrGenericResponse
  • SolrGenericResponse::__destruct »
  • PHP Manual
  • SolrGenericResponse
  • Constructor

SolrGenericResponse::__construct

(PECL solr >= 0.9.2)

SolrGenericResponse::__construct — Constructor

Açıklama

public SolrGenericResponse::__construct()

Constructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Destructor

  • « SolrGenericResponse::__construct
  • SolrParams »
  • PHP Manual
  • SolrGenericResponse
  • Destructor

SolrGenericResponse::__destruct

(PECL solr >= 0.9.2)

SolrGenericResponse::__destruct — Destructor

Açıklama

public SolrGenericResponse::__destruct()

Destructor.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


The SolrParams class

(PECL solr >= 0.9.2)

Giriş

Represents a collection of name-value pairs sent to the Solr server during a request.

Sınıf Sözdizimi

abstract class SolrParams implements Serializable {
/* Yöntemler */
final public add(string $name, string $value): SolrParams
public addParam(string $name, string $value): SolrParams
final public get(string $param_name): mixed
final public getParam(string $param_name = ?): mixed
final public getParams(): array
final public getPreparedParams(): array
final public serialize(): string
final public set(string $name, string $value): void
public setParam(string $name, string $value): SolrParams
final public toString(bool $url_encode = false): string
final public unserialize(string $serialized): void
}

İçindekiler

  • SolrParams::add — Takma Adı: SolrParams::addParam
  • SolrParams::addParam — Adds a parameter to the object
  • SolrParams::get — Takma Adı: SolrParams::getParam
  • SolrParams::getParam — Returns a parameter value
  • SolrParams::getParams — Returns an array of non URL-encoded parameters
  • SolrParams::getPreparedParams — Returns an array of URL-encoded parameters
  • SolrParams::serialize — Used for custom serialization
  • SolrParams::set — Takma Adı: SolrParams::setParam
  • SolrParams::setParam — Sets the parameter to the specified value
  • SolrParams::toString — Returns all the name-value pair parameters in the object
  • SolrParams::unserialize — Used for custom serialization


Takma Adı: SolrParams::addParam

  • « SolrParams
  • SolrParams::addParam »
  • PHP Manual
  • SolrParams
  • Takma Adı: SolrParams::addParam

SolrParams::add

(PECL solr >= 0.9.2)

SolrParams::add — Takma Adı: SolrParams::addParam()

Açıklama

final public SolrParams::add(string $name, string $value): SolrParams

This is an alias for SolrParams::addParam

Bağımsız Değişkenler

name

The name of the parameter

value

The value of the parameter

Dönen Değerler

Returns a SolrParams instance on success


Adds a parameter to the object

  • « SolrParams::add
  • SolrParams::get »
  • PHP Manual
  • SolrParams
  • Adds a parameter to the object

SolrParams::addParam

(PECL solr >= 0.9.2)

SolrParams::addParam — Adds a parameter to the object

Açıklama

public SolrParams::addParam(string $name, string $value): SolrParams

Adds a parameter to the object. This is used for parameters that can be specified multiple times.

Bağımsız Değişkenler

name

Name of parameter

value

Value of parameter

Dönen Değerler

Returns a SolrParam object on success and false on failure.


Takma Adı: SolrParams::getParam

  • « SolrParams::addParam
  • SolrParams::getParam »
  • PHP Manual
  • SolrParams
  • Takma Adı: SolrParams::getParam

SolrParams::get

(PECL solr >= 0.9.2)

SolrParams::get — Takma Adı: SolrParams::getParam()

Açıklama

final public SolrParams::get(string $param_name): mixed

This is an alias for SolrParams::getParam

Bağımsız Değişkenler

param_name

Then name of the parameter

Dönen Değerler

Returns an array or string depending on the type of parameter


Returns a parameter value

  • « SolrParams::get
  • SolrParams::getParams »
  • PHP Manual
  • SolrParams
  • Returns a parameter value

SolrParams::getParam

(PECL solr >= 0.9.2)

SolrParams::getParam — Returns a parameter value

Açıklama

final public SolrParams::getParam(string $param_name = ?): mixed

Returns a parameter with name param_name

Bağımsız Değişkenler

param_name

The name of the parameter

Dönen Değerler

Returns a string or an array depending on the type of the parameter


Returns an array of non URL-encoded parameters

  • « SolrParams::getParam
  • SolrParams::getPreparedParams »
  • PHP Manual
  • SolrParams
  • Returns an array of non URL-encoded parameters

SolrParams::getParams

(PECL solr >= 0.9.2)

SolrParams::getParams — Returns an array of non URL-encoded parameters

Açıklama

final public SolrParams::getParams(): array

Returns an array of non URL-encoded parameters

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of non URL-encoded parameters


Returns an array of URL-encoded parameters

  • « SolrParams::getParams
  • SolrParams::serialize »
  • PHP Manual
  • SolrParams
  • Returns an array of URL-encoded parameters

SolrParams::getPreparedParams

(PECL solr >= 0.9.2)

SolrParams::getPreparedParams — Returns an array of URL-encoded parameters

Açıklama

final public SolrParams::getPreparedParams(): array

Returns an array on URL-encoded parameters

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on URL-encoded parameters


Used for custom serialization

  • « SolrParams::getPreparedParams
  • SolrParams::set »
  • PHP Manual
  • SolrParams
  • Used for custom serialization

SolrParams::serialize

(PECL solr >= 0.9.2)

SolrParams::serialize — Used for custom serialization

Açıklama

final public SolrParams::serialize(): string

Used for custom serialization

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Used for custom serialization


Takma Adı: SolrParams::setParam

  • « SolrParams::serialize
  • SolrParams::setParam »
  • PHP Manual
  • SolrParams
  • Takma Adı: SolrParams::setParam

SolrParams::set

(PECL solr >= 0.9.2)

SolrParams::set — Takma Adı: SolrParams::setParam()

Açıklama

final public SolrParams::set(string $name, string $value): void

An alias of SolrParams::setParam

Bağımsız Değişkenler

name

Then name of the parameter

value

The parameter value

Dönen Değerler

Returns an instance of the SolrParams object on success


Sets the parameter to the specified value

  • « SolrParams::set
  • SolrParams::toString »
  • PHP Manual
  • SolrParams
  • Sets the parameter to the specified value

SolrParams::setParam

(PECL solr >= 0.9.2)

SolrParams::setParam — Sets the parameter to the specified value

Açıklama

public SolrParams::setParam(string $name, string $value): SolrParams

Sets the query parameter to the specified value. This is used for parameters that can only be specified once. Subsequent calls with the same parameter name will override the existing value

Bağımsız Değişkenler

name

Name of the parameter

value

Value of the parameter

Dönen Değerler

Returns a SolrParam object on success and false on value.

Örnekler

Örnek 1 SolrParams::setParam() example

<?php

$param = new SolrParams();

$param->setParam('q', 'solr')->setParam('rows', 2);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:


Returns all the name-value pair parameters in the object

  • « SolrParams::setParam
  • SolrParams::unserialize »
  • PHP Manual
  • SolrParams
  • Returns all the name-value pair parameters in the object

SolrParams::toString

(PECL solr >= 0.9.2)

SolrParams::toString — Returns all the name-value pair parameters in the object

Açıklama

final public SolrParams::toString(bool $url_encode = false): string

Returns all the name-value pair parameters in the object

Bağımsız Değişkenler

url_encode

Whether to return URL-encoded values

Dönen Değerler

Returns a string on success and false on failure.


Used for custom serialization

  • « SolrParams::toString
  • SolrModifiableParams »
  • PHP Manual
  • SolrParams
  • Used for custom serialization

SolrParams::unserialize

(PECL solr >= 0.9.2)

SolrParams::unserialize — Used for custom serialization

Açıklama

final public SolrParams::unserialize(string $serialized): void

Used for custom serialization

Bağımsız Değişkenler

serialized

The serialized representation of the object

Dönen Değerler

None


The SolrModifiableParams class

(PECL solr >= 0.9.2)

Giriş

Represents a collection of name-value pairs sent to the Solr server during a request.

Sınıf Sözdizimi

class SolrModifiableParams extends SolrParams implements Serializable {
/* Yöntemler */
public __construct()
public __destruct()
/* Miras alınan yöntemler */
final public SolrParams::add(string $name, string $value): SolrParams
public SolrParams::addParam(string $name, string $value): SolrParams
final public SolrParams::get(string $param_name): mixed
final public SolrParams::getParam(string $param_name = ?): mixed
final public SolrParams::getParams(): array
final public SolrParams::getPreparedParams(): array
final public SolrParams::serialize(): string
final public SolrParams::set(string $name, string $value): void
public SolrParams::setParam(string $name, string $value): SolrParams
final public SolrParams::toString(bool $url_encode = false): string
final public SolrParams::unserialize(string $serialized): void
}

İçindekiler

  • SolrModifiableParams::__construct — Constructor
  • SolrModifiableParams::__destruct — Destructor


Constructor

  • « SolrModifiableParams
  • SolrModifiableParams::__destruct »
  • PHP Manual
  • SolrModifiableParams
  • Constructor

SolrModifiableParams::__construct

(PECL solr >= 0.9.2)

SolrModifiableParams::__construct — Constructor

Açıklama

public SolrModifiableParams::__construct()

Constructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


Destructor

  • « SolrModifiableParams::__construct
  • SolrQuery »
  • PHP Manual
  • SolrModifiableParams
  • Destructor

SolrModifiableParams::__destruct

(PECL solr >= 0.9.2)

SolrModifiableParams::__destruct — Destructor

Açıklama

public SolrModifiableParams::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None


The SolrQuery class

(PECL solr >= 0.9.2)

Giriş

Represents a collection of name-value pairs sent to the Solr server during a request.

Sınıf Sözdizimi

class SolrQuery extends SolrModifiableParams implements Serializable {
/* Sabitler */
const int ORDER_ASC = 0;
const int ORDER_DESC = 1;
const int FACET_SORT_INDEX = 0;
const int FACET_SORT_COUNT = 1;
const int TERMS_SORT_INDEX = 0;
const int TERMS_SORT_COUNT = 1;
/* Özellikler */
/* Yöntemler */
public __construct(string $q = ?)
public addExpandFilterQuery(string $fq): SolrQuery
public addExpandSortField(string $field, string $order = ?): SolrQuery
public addFacetDateField(string $dateField): SolrQuery
public addFacetDateOther(string $value, string $field_override = ?): SolrQuery
public addFacetField(string $field): SolrQuery
public addFacetQuery(string $facetQuery): SolrQuery
public addField(string $field): SolrQuery
public addFilterQuery(string $fq): SolrQuery
public addGroupField(string $value): SolrQuery
public addGroupFunction(string $value): SolrQuery
public addGroupQuery(string $value): SolrQuery
public addGroupSortField(string $field, int $order = ?): SolrQuery
public addHighlightField(string $field): SolrQuery
public addMltField(string $field): SolrQuery
public addMltQueryField(string $field, float $boost): SolrQuery
public addSortField(string $field, int $order = SolrQuery::ORDER_DESC): SolrQuery
public addStatsFacet(string $field): SolrQuery
public addStatsField(string $field): SolrQuery
public collapse(SolrCollapseFunction $collapseFunction): SolrQuery
public getExpand(): bool
public getExpandFilterQueries(): array
public getExpandQuery(): array
public getExpandRows(): int
public getExpandSortFields(): array
public getFacet(): bool
public getFacetDateEnd(string $field_override = ?): string
public getFacetDateFields(): array
public getFacetDateGap(string $field_override = ?): string
public getFacetDateHardEnd(string $field_override = ?): string
public getFacetDateOther(string $field_override = ?): array
public getFacetDateStart(string $field_override = ?): string
public getFacetFields(): array
public getFacetLimit(string $field_override = ?): int
public getFacetMethod(string $field_override = ?): string
public getFacetMinCount(string $field_override = ?): int
public getFacetMissing(string $field_override = ?): bool
public getFacetOffset(string $field_override = ?): int
public getFacetPrefix(string $field_override = ?): string
public getFacetQueries(): array
public getFacetSort(string $field_override = ?): int
public getFields(): array
public getFilterQueries(): array
public getGroup(): bool
public getGroupCachePercent(): int
public getGroupFacet(): bool
public getGroupFields(): array
public getGroupFormat(): string
public getGroupFunctions(): array
public getGroupLimit(): int
public getGroupMain(): bool
public getGroupNGroups(): bool
public getGroupOffset(): int
public getGroupQueries(): array
public getGroupSortFields(): array
public getGroupTruncate(): bool
public getHighlight(): bool
public getHighlightAlternateField(string $field_override = ?): string
public getHighlightFields(): array
public getHighlightFormatter(string $field_override = ?): string
public getHighlightFragmenter(string $field_override = ?): string
public getHighlightFragsize(string $field_override = ?): int
public getHighlightHighlightMultiTerm(): bool
public getHighlightMaxAlternateFieldLength(string $field_override = ?): int
public getHighlightMaxAnalyzedChars(): int
public getHighlightMergeContiguous(string $field_override = ?): bool
public getHighlightRegexMaxAnalyzedChars(): int
public getHighlightRegexPattern(): string
public getHighlightRegexSlop(): float
public getHighlightRequireFieldMatch(): bool
public getHighlightSimplePost(string $field_override = ?): string
public getHighlightSimplePre(string $field_override = ?): string
public getHighlightSnippets(string $field_override = ?): int
public getHighlightUsePhraseHighlighter(): bool
public getMlt(): bool
public getMltBoost(): bool
public getMltCount(): int
public getMltFields(): array
public getMltMaxNumQueryTerms(): int
public getMltMaxNumTokens(): int
public getMltMaxWordLength(): int
public getMltMinDocFrequency(): int
public getMltMinTermFrequency(): int
public getMltMinWordLength(): int
public getMltQueryFields(): array
public getQuery(): string
public getRows(): int
public getSortFields(): array
public getStart(): int
public getStats(): bool
public getStatsFacets(): array
public getStatsFields(): array
public getTerms(): bool
public getTermsField(): string
public getTermsIncludeLowerBound(): bool
public getTermsIncludeUpperBound(): bool
public getTermsLimit(): int
public getTermsLowerBound(): string
public getTermsMaxCount(): int
public getTermsMinCount(): int
public getTermsPrefix(): string
public getTermsReturnRaw(): bool
public getTermsSort(): int
public getTermsUpperBound(): string
public getTimeAllowed(): int
public removeExpandFilterQuery(string $fq): SolrQuery
public removeExpandSortField(string $field): SolrQuery
public removeFacetDateField(string $field): SolrQuery
public removeFacetDateOther(string $value, string $field_override = ?): SolrQuery
public removeFacetField(string $field): SolrQuery
public removeFacetQuery(string $value): SolrQuery
public removeField(string $field): SolrQuery
public removeFilterQuery(string $fq): SolrQuery
public removeHighlightField(string $field): SolrQuery
public removeMltField(string $field): SolrQuery
public removeMltQueryField(string $queryField): SolrQuery
public removeSortField(string $field): SolrQuery
public removeStatsFacet(string $value): SolrQuery
public removeStatsField(string $field): SolrQuery
public setEchoHandler(bool $flag): SolrQuery
public setEchoParams(string $type): SolrQuery
public setExpand(bool $value): SolrQuery
public setExpandQuery(string $q): SolrQuery
public setExpandRows(int $value): SolrQuery
public setExplainOther(string $query): SolrQuery
public setFacet(bool $flag): SolrQuery
public setFacetDateEnd(string $value, string $field_override = ?): SolrQuery
public setFacetDateGap(string $value, string $field_override = ?): SolrQuery
public setFacetDateHardEnd(bool $value, string $field_override = ?): SolrQuery
public setFacetDateStart(string $value, string $field_override = ?): SolrQuery
public setFacetEnumCacheMinDefaultFrequency(int $frequency, string $field_override = ?): SolrQuery
public setFacetLimit(int $limit, string $field_override = ?): SolrQuery
public setFacetMethod(string $method, string $field_override = ?): SolrQuery
public setFacetMinCount(int $mincount, string $field_override = ?): SolrQuery
public setFacetMissing(bool $flag, string $field_override = ?): SolrQuery
public setFacetOffset(int $offset, string $field_override = ?): SolrQuery
public setFacetPrefix(string $prefix, string $field_override = ?): SolrQuery
public setFacetSort(int $facetSort, string $field_override = ?): SolrQuery
public setGroup(bool $value): SolrQuery
public setGroupCachePercent(int $percent): SolrQuery
public setGroupFacet(bool $value): SolrQuery
public setGroupFormat(string $value): SolrQuery
public setGroupLimit(int $value): SolrQuery
public setGroupMain(string $value): SolrQuery
public setGroupNGroups(bool $value): SolrQuery
public setGroupOffset(int $value): SolrQuery
public setGroupTruncate(bool $value): SolrQuery
public setHighlight(bool $flag): SolrQuery
public setHighlightAlternateField(string $field, string $field_override = ?): SolrQuery
public setHighlightFormatter(string $formatter, string $field_override = ?): SolrQuery
public setHighlightFragmenter(string $fragmenter, string $field_override = ?): SolrQuery
public setHighlightFragsize(int $size, string $field_override = ?): SolrQuery
public setHighlightHighlightMultiTerm(bool $flag): SolrQuery
public setHighlightMaxAlternateFieldLength(int $fieldLength, string $field_override = ?): SolrQuery
public setHighlightMaxAnalyzedChars(int $value): SolrQuery
public setHighlightMergeContiguous(bool $flag, string $field_override = ?): SolrQuery
public setHighlightRegexMaxAnalyzedChars(int $maxAnalyzedChars): SolrQuery
public setHighlightRegexPattern(string $value): SolrQuery
public setHighlightRegexSlop(float $factor): SolrQuery
public setHighlightRequireFieldMatch(bool $flag): SolrQuery
public setHighlightSimplePost(string $simplePost, string $field_override = ?): SolrQuery
public setHighlightSimplePre(string $simplePre, string $field_override = ?): SolrQuery
public setHighlightSnippets(int $value, string $field_override = ?): SolrQuery
public setHighlightUsePhraseHighlighter(bool $flag): SolrQuery
public setMlt(bool $flag): SolrQuery
public setMltBoost(bool $flag): SolrQuery
public setMltCount(int $count): SolrQuery
public setMltMaxNumQueryTerms(int $value): SolrQuery
public setMltMaxNumTokens(int $value): SolrQuery
public setMltMaxWordLength(int $maxWordLength): SolrQuery
public setMltMinDocFrequency(int $minDocFrequency): SolrQuery
public setMltMinTermFrequency(int $minTermFrequency): SolrQuery
public setMltMinWordLength(int $minWordLength): SolrQuery
public setOmitHeader(bool $flag): SolrQuery
public setQuery(string $query): SolrQuery
public setRows(int $rows): SolrQuery
public setShowDebugInfo(bool $flag): SolrQuery
public setStart(int $start): SolrQuery
public setStats(bool $flag): SolrQuery
public setTerms(bool $flag): SolrQuery
public setTermsField(string $fieldname): SolrQuery
public setTermsIncludeLowerBound(bool $flag): SolrQuery
public setTermsIncludeUpperBound(bool $flag): SolrQuery
public setTermsLimit(int $limit): SolrQuery
public setTermsLowerBound(string $lowerBound): SolrQuery
public setTermsMaxCount(int $frequency): SolrQuery
public setTermsMinCount(int $frequency): SolrQuery
public setTermsPrefix(string $prefix): SolrQuery
public setTermsReturnRaw(bool $flag): SolrQuery
public setTermsSort(int $sortType): SolrQuery
public setTermsUpperBound(string $upperBound): SolrQuery
public setTimeAllowed(int $timeAllowed): SolrQuery
public __destruct()
/* Miras alınan yöntemler */
public SolrModifiableParams::__construct()
public SolrModifiableParams::__destruct()
}

Öntanımlı Sabitler

SolrQuery::ORDER_ASC

Used to specify that the sorting should be in acending order

SolrQuery::ORDER_DESC

Used to specify that the sorting should be in descending order

SolrQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index

SolrQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count

SolrQuery::TERMS_SORT_INDEX

Used in the TermsComponent

SolrQuery::TERMS_SORT_COUNT

Used in the TermsComponent

İçindekiler

  • SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::addFacetDateField — Maps to facet.date
  • SolrQuery::addFacetDateOther — Adds another facet.date.other parameter
  • SolrQuery::addFacetField — Adds another field to the facet
  • SolrQuery::addFacetQuery — Adds a facet query
  • SolrQuery::addField — Specifies which fields to return in the result
  • SolrQuery::addFilterQuery — Specifies a filter query
  • SolrQuery::addGroupField — Add a field to be used to group results
  • SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery — Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)
  • SolrQuery::addHighlightField — Maps to hl.fl
  • SolrQuery::addMltField — Sets a field to use for similarity
  • SolrQuery::addMltQueryField — Maps to mlt.qf
  • SolrQuery::addSortField — Used to control how the results should be sorted
  • SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet
  • SolrQuery::addStatsField — Maps to stats.field parameter
  • SolrQuery::collapse — Collapses the result set to a single document per group
  • SolrQuery::__construct — Constructor
  • SolrQuery::__destruct — Destructor
  • SolrQuery::getExpand — Returns true if group expanding is enabled
  • SolrQuery::getExpandFilterQueries — Returns the expand filter queries
  • SolrQuery::getExpandQuery — Returns the expand query expand.q parameter
  • SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)
  • SolrQuery::getExpandSortFields — Returns an array of fields
  • SolrQuery::getFacet — Returns the value of the facet parameter
  • SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter
  • SolrQuery::getFacetDateFields — Returns all the facet.date fields
  • SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter
  • SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter
  • SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter
  • SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field
  • SolrQuery::getFacetFields — Returns all the facet fields
  • SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields
  • SolrQuery::getFacetMethod — Returns the value of the facet.method parameter
  • SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response
  • SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter
  • SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination
  • SolrQuery::getFacetPrefix — Returns the facet prefix
  • SolrQuery::getFacetQueries — Returns all the facet queries
  • SolrQuery::getFacetSort — Returns the facet sort type
  • SolrQuery::getFields — Returns the list of fields that will be returned in the response
  • SolrQuery::getFilterQueries — Returns an array of filter queries
  • SolrQuery::getGroup — Returns true if grouping is enabled
  • SolrQuery::getGroupCachePercent — Returns group cache percent value
  • SolrQuery::getGroupFacet — Returns the group.facet parameter value
  • SolrQuery::getGroupFields — Returns group fields (group.field parameter values)
  • SolrQuery::getGroupFormat — Returns the group.format value
  • SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)
  • SolrQuery::getGroupLimit — Returns the group.limit value
  • SolrQuery::getGroupMain — Returns the group.main value
  • SolrQuery::getGroupNGroups — Returns the group.ngroups value
  • SolrQuery::getGroupOffset — Returns the group.offset value
  • SolrQuery::getGroupQueries — Returns all the group.query parameter values
  • SolrQuery::getGroupSortFields — Returns the group.sort value
  • SolrQuery::getGroupTruncate — Returns the group.truncate value
  • SolrQuery::getHighlight — Returns the state of the hl parameter
  • SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default
  • SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for
  • SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output
  • SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text
  • SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting
  • SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
  • SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return
  • SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets
  • SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment
  • SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter
  • SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting
  • SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size
  • SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field
  • SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term
  • SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term
  • SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field
  • SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter
  • SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled
  • SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance
  • SolrQuery::getMltCount — Returns the number of similar documents to return for each result
  • SolrQuery::getMltFields — Returns all the fields to use for similarity
  • SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query
  • SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
  • SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored
  • SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
  • SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document
  • SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored
  • SolrQuery::getMltQueryFields — Returns the query fields and their boosts
  • SolrQuery::getQuery — Returns the main query
  • SolrQuery::getRows — Returns the maximum number of documents
  • SolrQuery::getSortFields — Returns all the sort fields
  • SolrQuery::getStart — Returns the offset in the complete result set
  • SolrQuery::getStats — Returns whether or not stats is enabled
  • SolrQuery::getStatsFacets — Returns all the stats facets that were set
  • SolrQuery::getStatsFields — Returns all the statistics fields
  • SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled
  • SolrQuery::getTermsField — Returns the field from which the terms are retrieved
  • SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set
  • SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set
  • SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return
  • SolrQuery::getTermsLowerBound — Returns the term to start at
  • SolrQuery::getTermsMaxCount — Returns the maximum document frequency
  • SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included
  • SolrQuery::getTermsPrefix — Returns the term prefix
  • SolrQuery::getTermsReturnRaw — Whether or not to return raw characters
  • SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted
  • SolrQuery::getTermsUpperBound — Returns the term to stop at
  • SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish
  • SolrQuery::removeExpandFilterQuery — Removes an expand filter query
  • SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter
  • SolrQuery::removeFacetDateField — Removes one of the facet date fields
  • SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters
  • SolrQuery::removeFacetField — Removes one of the facet.date parameters
  • SolrQuery::removeFacetQuery — Removes one of the facet.query parameters
  • SolrQuery::removeField — Removes a field from the list of fields
  • SolrQuery::removeFilterQuery — Removes a filter query
  • SolrQuery::removeHighlightField — Removes one of the fields used for highlighting
  • SolrQuery::removeMltField — Removes one of the moreLikeThis fields
  • SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields
  • SolrQuery::removeSortField — Removes one of the sort fields
  • SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters
  • SolrQuery::removeStatsField — Removes one of the stats.field parameters
  • SolrQuery::setEchoHandler — Toggles the echoHandler parameter
  • SolrQuery::setEchoParams — Determines what kind of parameters to include in the response
  • SolrQuery::setExpand — Enables/Disables the Expand Component
  • SolrQuery::setExpandQuery — Sets the expand.q parameter
  • SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExplainOther — Sets the explainOther common query parameter
  • SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting
  • SolrQuery::setFacetDateEnd — Maps to facet.date.end
  • SolrQuery::setFacetDateGap — Maps to facet.date.gap
  • SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend
  • SolrQuery::setFacetDateStart — Maps to facet.date.start
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count
  • SolrQuery::setFacetLimit — Maps to facet.limit
  • SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field
  • SolrQuery::setFacetMinCount — Maps to facet.mincount
  • SolrQuery::setFacetMissing — Maps to facet.missing
  • SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination
  • SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet
  • SolrQuery::setFacetSort — Determines the ordering of the facet field constraints
  • SolrQuery::setGroup — Enable/Disable result grouping (group parameter)
  • SolrQuery::setGroupCachePercent — Enables caching for result grouping
  • SolrQuery::setGroupFacet — Sets group.facet parameter
  • SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupOffset — Sets the group.offset parameter
  • SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setHighlight — Enables or disables highlighting
  • SolrQuery::setHighlightAlternateField — Specifies the backup field to use
  • SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output
  • SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text
  • SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting
  • SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms
  • SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return
  • SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets
  • SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment
  • SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze
  • SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting
  • SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size
  • SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting
  • SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term
  • SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term
  • SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field
  • SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase
  • SolrQuery::setMlt — Enables or disables moreLikeThis
  • SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance
  • SolrQuery::setMltCount — Set the number of similar documents to return for each result
  • SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included
  • SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse
  • SolrQuery::setMltMaxWordLength — Sets the maximum word length
  • SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency
  • SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs
  • SolrQuery::setMltMinWordLength — Sets the minimum word length
  • SolrQuery::setOmitHeader — Exclude the header from the returned results
  • SolrQuery::setQuery — Sets the search query
  • SolrQuery::setRows — Specifies the maximum number of rows to return in the result
  • SolrQuery::setShowDebugInfo — Flag to show debug information
  • SolrQuery::setStart — Specifies the number of rows to skip
  • SolrQuery::setStats — Enables or disables the Stats component
  • SolrQuery::setTerms — Enables or disables the TermsComponent
  • SolrQuery::setTermsField — Sets the name of the field to get the Terms from
  • SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set
  • SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set
  • SolrQuery::setTermsLimit — Sets the maximum number of terms to return
  • SolrQuery::setTermsLowerBound — Specifies the Term to start from
  • SolrQuery::setTermsMaxCount — Sets the maximum document frequency
  • SolrQuery::setTermsMinCount — Sets the minimum document frequency
  • SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix
  • SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term
  • SolrQuery::setTermsSort — Specifies how to sort the returned terms
  • SolrQuery::setTermsUpperBound — Sets the term to stop at
  • SolrQuery::setTimeAllowed — The time allowed for search to finish


Overrides main filter query, determines which documents to include in the main group

  • « SolrQuery
  • SolrQuery::addExpandSortField »
  • PHP Manual
  • SolrQuery
  • Overrides main filter query, determines which documents to include in the main group

SolrQuery::addExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::addExpandFilterQuery — Overrides main filter query, determines which documents to include in the main group

Açıklama

public SolrQuery::addExpandFilterQuery(string $fq): SolrQuery

Overrides main filter query, determines which documents to include in the main group.

Bağımsız Değişkenler

fq

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Orders the documents within the expanded groups (expand.sort parameter)

  • « SolrQuery::addExpandFilterQuery
  • SolrQuery::addFacetDateField »
  • PHP Manual
  • SolrQuery
  • Orders the documents within the expanded groups (expand.sort parameter)

SolrQuery::addExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::addExpandSortField — Orders the documents within the expanded groups (expand.sort parameter)

Açıklama

public SolrQuery::addExpandSortField(string $field, string $order = ?): SolrQuery

Orders the documents within the expanded groups (expand.sort parameter).

Bağımsız Değişkenler

field

field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants.

Default: SolrQuery::ORDER_DESC

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Maps to facet.date

  • « SolrQuery::addExpandSortField
  • SolrQuery::addFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date

SolrQuery::addFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateField — Maps to facet.date

Açıklama

public SolrQuery::addFacetDateField(string $dateField): SolrQuery

This method allows you to specify a field which should be treated as a facet.

It can be used multiple times with different field names to indicate multiple facet fields

Bağımsız Değişkenler

dateField

The name of the date field.

Dönen Değerler

Returns a SolrQuery object.


Adds another facet.date.other parameter

  • « SolrQuery::addFacetDateField
  • SolrQuery::addFacetField »
  • PHP Manual
  • SolrQuery
  • Adds another facet.date.other parameter

SolrQuery::addFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::addFacetDateOther — Adds another facet.date.other parameter

Açıklama

public SolrQuery::addFacetDateOther(string $value, string $field_override = ?): SolrQuery

Sets the facet.date.other parameter. Accepts an optional field override

Bağımsız Değişkenler

value

The value to use.

field_override

The field name for the override.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Adds another field to the facet

  • « SolrQuery::addFacetDateOther
  • SolrQuery::addFacetQuery »
  • PHP Manual
  • SolrQuery
  • Adds another field to the facet

SolrQuery::addFacetField

(PECL solr >= 0.9.2)

SolrQuery::addFacetField — Adds another field to the facet

Açıklama

public SolrQuery::addFacetField(string $field): SolrQuery

Adds another field to the facet

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.

Örnekler

Örnek 1 SolrQuery::addFacetField() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery($query);

$query->addField('price')->addField('color');

$query->setFacet(true);

$query->addFacetField('price')->addFacetField('color');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [color] => SolrObject Object
        (
            [blue] => 20
            [green] => 100
        )

)


Adds a facet query

  • « SolrQuery::addFacetField
  • SolrQuery::addField »
  • PHP Manual
  • SolrQuery
  • Adds a facet query

SolrQuery::addFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::addFacetQuery — Adds a facet query

Açıklama

public SolrQuery::addFacetQuery(string $facetQuery): SolrQuery

Adds a facet query

Bağımsız Değişkenler

facetQuery

The facet query

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.

Örnekler

Örnek 1 SolrQuery::addFacetField() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$query->setFacet(true);

$query->addFacetQuery('price:[* TO 500]')->addFacetQuery('price:[500 TO *]');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response->facet_counts->facet_queries);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [price:[* TO 500]] => 14
    [price:[500 TO *]] => 2
)


Specifies which fields to return in the result

  • « SolrQuery::addFacetQuery
  • SolrQuery::addFilterQuery »
  • PHP Manual
  • SolrQuery
  • Specifies which fields to return in the result

SolrQuery::addField

(PECL solr >= 0.9.2)

SolrQuery::addField — Specifies which fields to return in the result

Açıklama

public SolrQuery::addField(string $field): SolrQuery

This method is used to used to specify a set of fields to return, thereby restricting the amount of data returned in the response.

It should be called multiple time, once for each field name.

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object


Specifies a filter query

  • « SolrQuery::addField
  • SolrQuery::addGroupField »
  • PHP Manual
  • SolrQuery
  • Specifies a filter query

SolrQuery::addFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::addFilterQuery — Specifies a filter query

Açıklama

public SolrQuery::addFilterQuery(string $fq): SolrQuery

Specifies a filter query

Bağımsız Değişkenler

fq

The filter query

Dönen Değerler

Returns the current SolrQuery object.

Örnekler

Örnek 1 SolrQuery::addFilterQuery() example

<?php

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('*:*');

$query->addFilterQuery('color:blue,green');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response['facet_counts']['facet_fields']);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

 &fq=color:blue,green


Add a field to be used to group results

  • « SolrQuery::addFilterQuery
  • SolrQuery::addGroupFunction »
  • PHP Manual
  • SolrQuery
  • Add a field to be used to group results

SolrQuery::addGroupField

(PECL solr >= 2.2.0)

SolrQuery::addGroupField — Add a field to be used to group results

Açıklama

public SolrQuery::addGroupField(string $value): SolrQuery

The name of the field by which to group results. The field must be single-valued, and either be indexed or a field type that has a value source and works in a function query, such as ExternalFileField. It must also be a string-based field, such as StrField or TextField Uses group.field parameter

Bağımsız Değişkenler

value

The name of the field.

Dönen Değerler

Returns an instance of SolrQuery.

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Allows grouping results based on the unique values of a function query (group.func parameter)

  • « SolrQuery::addGroupField
  • SolrQuery::addGroupQuery »
  • PHP Manual
  • SolrQuery
  • Allows grouping results based on the unique values of a function query (group.func parameter)

SolrQuery::addGroupFunction

(PECL solr >= 2.2.0)

SolrQuery::addGroupFunction — Allows grouping results based on the unique values of a function query (group.func parameter)

Açıklama

public SolrQuery::addGroupFunction(string $value): SolrQuery

Adds a group function (group.func parameter) Allows grouping results based on the unique values of a function query.

Bağımsız Değişkenler

value

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Allows grouping of documents that match the given query

  • « SolrQuery::addGroupFunction
  • SolrQuery::addGroupSortField »
  • PHP Manual
  • SolrQuery
  • Allows grouping of documents that match the given query

SolrQuery::addGroupQuery

(PECL solr >= 2.2.0)

SolrQuery::addGroupQuery — Allows grouping of documents that match the given query

Açıklama

public SolrQuery::addGroupQuery(string $value): SolrQuery

Allows grouping of documents that match the given query. Adds query to the group.query parameter

Bağımsız Değişkenler

value

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Add a group sort field (group.sort parameter)

  • « SolrQuery::addGroupQuery
  • SolrQuery::addHighlightField »
  • PHP Manual
  • SolrQuery
  • Add a group sort field (group.sort parameter)

SolrQuery::addGroupSortField

(PECL solr >= 2.2.0)

SolrQuery::addGroupSortField — Add a group sort field (group.sort parameter)

Açıklama

public SolrQuery::addGroupSortField(string $field, int $order = ?): SolrQuery

Allow sorting group documents, using group sort field (group.sort parameter).

Bağımsız Değişkenler

field

Field name

order

Order ASC/DESC, utilizes SolrQuery::ORDER_* constants

Dönen Değerler

Örnekler

Örnek 1 SolrQuery::addGroupSortField() example

<?php

$solrQuery = new SolrQuery('*:*');
$solrQuery
->setGroup(true)
->addGroupSortField('price', SolrQuery::ORDER_ASC);

echo $solrQuery;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=*:*&group=true&group.sort=price asc

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Maps to hl.fl

  • « SolrQuery::addGroupSortField
  • SolrQuery::addMltField »
  • PHP Manual
  • SolrQuery
  • Maps to hl.fl

SolrQuery::addHighlightField

(PECL solr >= 0.9.2)

SolrQuery::addHighlightField — Maps to hl.fl

Açıklama

public SolrQuery::addHighlightField(string $field): SolrQuery

Maps to hl.fl. This is used to specify that highlighted snippets should be generated for a particular field

Bağımsız Değişkenler

field

Name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets a field to use for similarity

  • « SolrQuery::addHighlightField
  • SolrQuery::addMltQueryField »
  • PHP Manual
  • SolrQuery
  • Sets a field to use for similarity

SolrQuery::addMltField

(PECL solr >= 0.9.2)

SolrQuery::addMltField — Sets a field to use for similarity

Açıklama

public SolrQuery::addMltField(string $field): SolrQuery

Maps to mlt.fl. It specifies that a field should be used for similarity.

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to mlt.qf

  • « SolrQuery::addMltField
  • SolrQuery::addSortField »
  • PHP Manual
  • SolrQuery
  • Maps to mlt.qf

SolrQuery::addMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::addMltQueryField — Maps to mlt.qf

Açıklama

public SolrQuery::addMltQueryField(string $field, float $boost): SolrQuery

Maps to mlt.qf. It is used to specify query fields and their boosts

Bağımsız Değişkenler

field

The name of the field

boost

Its boost value

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Used to control how the results should be sorted

  • « SolrQuery::addMltQueryField
  • SolrQuery::addStatsFacet »
  • PHP Manual
  • SolrQuery
  • Used to control how the results should be sorted

SolrQuery::addSortField

(PECL solr >= 0.9.2)

SolrQuery::addSortField — Used to control how the results should be sorted

Açıklama

public SolrQuery::addSortField(string $field, int $order = SolrQuery::ORDER_DESC): SolrQuery

Used to control how the results should be sorted.

Bağımsız Değişkenler

field

The name of the field

order

The sort direction. This should be either SolrQuery::ORDER_ASC or SolrQuery::ORDER_DESC.

Dönen Değerler

Returns the current SolrQuery object.


Requests a return of sub results for values within the given facet

  • « SolrQuery::addSortField
  • SolrQuery::addStatsField »
  • PHP Manual
  • SolrQuery
  • Requests a return of sub results for values within the given facet

SolrQuery::addStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::addStatsFacet — Requests a return of sub results for values within the given facet

Açıklama

public SolrQuery::addStatsFacet(string $field): SolrQuery

Requests a return of sub results for values within the given facet. Maps to the stats.facet field

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to stats.field parameter

  • « SolrQuery::addStatsFacet
  • SolrQuery::collapse »
  • PHP Manual
  • SolrQuery
  • Maps to stats.field parameter

SolrQuery::addStatsField

(PECL solr >= 0.9.2)

SolrQuery::addStatsField — Maps to stats.field parameter

Açıklama

public SolrQuery::addStatsField(string $field): SolrQuery

Maps to stats.field parameter This methods adds another stats.field parameter.

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Collapses the result set to a single document per group

  • « SolrQuery::addStatsField
  • SolrQuery::__construct »
  • PHP Manual
  • SolrQuery
  • Collapses the result set to a single document per group

SolrQuery::collapse

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrQuery::collapse — Collapses the result set to a single document per group

Açıklama

public SolrQuery::collapse(SolrCollapseFunction $collapseFunction): SolrQuery

Collapses the result set to a single document per group before it forwards the result set to the rest of the search components.

So all downstream components (faceting, highlighting, etc...) will work with the collapsed result set.

Bağımsız Değişkenler

collapseFunction

Dönen Değerler

Returns the current SolrQuery object

Örnekler

Örnek 1 SolrQuery::collapse() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$collapseFunction = new SolrCollapseFunction('manu_id_s');

$collapseFunction
->setSize(2)
->setNullPolicy(SolrCollapseFunction::NULLPOLICY_IGNORE);

$query
->collapse($collapseFunction)
->setRows(4);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

SolrObject Object
(
    [responseHeader] => SolrObject Object
        (
            [status] => 0
            [QTime] => 1
            [params] => SolrObject Object
                (
                    [q] => *:*
                    [indent] => on
                    [fq] => {!collapse field=manu_id_s size=2 nullPolicy=ignore}
                    [rows] => 4
                    [version] => 2.2
                    [wt] => xml
                )

        )

    [response] => SolrObject Object
        (
            [numFound] => 14
            [start] => 0
            [docs] => Array
                (
                    [0] => SolrObject Object
                        (
                            [id] => SP2514N
                            [name] => Array
                                (
                                    [0] => Samsung SpinPoint P120 SP2514N - hard drive - 250 GB - ATA-133
                                )

                            [manu] => Array
                                (
                                    [0] => Samsung Electronics Co. Ltd.
                                )

                            [manu_id_s] => samsung
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => 7200RPM, 8MB cache, IDE Ultra ATA-133
                                    [1] => NoiseGuard, SilentSeek technology, Fluid Dynamic Bearing (FDB) motor
                                )

                            [price] => Array
                                (
                                    [0] => 92
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [store] => Array
                                (
                                    [0] => 35.0752,-97.032
                                )

                            [_version_] => 1510294336412057600
                        )

                    [1] => SolrObject Object
                        (
                            [id] => 6H500F0
                            [name] => Array
                                (
                                    [0] => Maxtor DiamondMax 11 - hard drive - 500 GB - SATA-300
                                )

                            [manu] => Array
                                (
                                    [0] => Maxtor Corp.
                                )

                            [manu_id_s] => maxtor
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => hard drive
                                )

                            [features] => Array
                                (
                                    [0] => SATA 3.0Gb/s, NCQ
                                    [1] => 8.5ms seek
                                    [2] => 16MB cache
                                )

                            [price] => Array
                                (
                                    [0] => 350
                                )

                            [popularity] => Array
                                (
                                    [0] => 6
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 45.17614,-93.87341
                                )

                            [manufacturedate_dt] => 2006-02-13T15:26:37Z
                            [_version_] => 1510294336449806336
                        )

                    [2] => SolrObject Object
                        (
                            [id] => F8V7067-APL-KIT
                            [name] => Array
                                (
                                    [0] => Belkin Mobile Power Cord for iPod w/ Dock
                                )

                            [manu] => Array
                                (
                                    [0] => Belkin
                                )

                            [manu_id_s] => belkin
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => connector
                                )

                            [features] => Array
                                (
                                    [0] => car power adapter, white
                                )

                            [weight] => Array
                                (
                                    [0] => 4
                                )

                            [price] => Array
                                (
                                    [0] => 19.95
                                )

                            [popularity] => Array
                                (
                                    [0] => 1
                                )

                            [inStock] => Array
                                (
                                    [0] =>
                                )

                            [store] => Array
                                (
                                    [0] => 45.18014,-93.87741
                                )

                            [manufacturedate_dt] => 2005-08-01T16:30:25Z
                            [_version_] => 1510294336458194944
                        )

                    [3] => SolrObject Object
                        (
                            [id] => MA147LL/A
                            [name] => Array
                                (
                                    [0] => Apple 60 GB iPod with Video Playback Black
                                )

                            [manu] => Array
                                (
                                    [0] => Apple Computer Inc.
                                )

                            [manu_id_s] => apple
                            [cat] => Array
                                (
                                    [0] => electronics
                                    [1] => music
                                )

                            [features] => Array
                                (
                                    [0] => iTunes, Podcasts, Audiobooks
                                    [1] => Stores up to 15,000 songs, 25,000 photos, or 150 hours of video
                                    [2] => 2.5-inch, 320x240 color TFT LCD display with LED backlight
                                    [3] => Up to 20 hours of battery life
                                    [4] => Plays AAC, MP3, WAV, AIFF, Audible, Apple Lossless, H.264 video
                                    [5] => Notes, Calendar, Phone book, Hold button, Date display, Photo wallet, Built-in games, JPEG photo playback, Upgradeable firmware, USB 2.0 compatibility, Playback speed control, Rechargeable capability, Battery level indication
                                )

                            [includes] => Array
                                (
                                    [0] => earbud headphones, USB cable
                                )

                            [weight] => Array
                                (
                                    [0] => 5.5
                                )

                            [price] => Array
                                (
                                    [0] => 399
                                )

                            [popularity] => Array
                                (
                                    [0] => 10
                                )

                            [inStock] => Array
                                (
                                    [0] => 1
                                )

                            [store] => Array
                                (
                                    [0] => 37.7752,-100.0232
                                )

                            [manufacturedate_dt] => 2005-10-12T08:00:00Z
                            [_version_] => 1510294336562003968
                        )

                )

        )

)


Constructor

  • « SolrQuery::collapse
  • SolrQuery::__destruct »
  • PHP Manual
  • SolrQuery
  • Constructor

SolrQuery::__construct

(PECL solr >= 0.9.2)

SolrQuery::__construct — Constructor

Açıklama

public SolrQuery::__construct(string $q = ?)

Constructor.

Bağımsız Değişkenler

q

Optional search query

Dönen Değerler

None

Hatalar/İstisnalar

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL solr 2.0.0 | If q was invalid, then a SolrIllegalArgumentException is now thrown. Previously an error was emitted.


Destructor

  • « SolrQuery::__construct
  • SolrQuery::getExpand »
  • PHP Manual
  • SolrQuery
  • Destructor

SolrQuery::__destruct

(PECL solr >= 0.9.2)

SolrQuery::__destruct — Destructor

Açıklama

public SolrQuery::__destruct()

Destructor

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

None.


Returns true if group expanding is enabled

  • « SolrQuery::__destruct
  • SolrQuery::getExpandFilterQueries »
  • PHP Manual
  • SolrQuery
  • Returns true if group expanding is enabled

SolrQuery::getExpand

(PECL solr >= 2.2.0)

SolrQuery::getExpand — Returns true if group expanding is enabled

Açıklama

public SolrQuery::getExpand(): bool

Returns true if group expanding is enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns whether group expanding is enabled.


Returns the expand filter queries

  • « SolrQuery::getExpand
  • SolrQuery::getExpandQuery »
  • PHP Manual
  • SolrQuery
  • Returns the expand filter queries

SolrQuery::getExpandFilterQueries

(PECL solr >= 2.2.0)

SolrQuery::getExpandFilterQueries — Returns the expand filter queries

Açıklama

public SolrQuery::getExpandFilterQueries(): array

Returns the expand filter queries

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the expand filter queries.


Returns the expand query expand.q parameter

  • « SolrQuery::getExpandFilterQueries
  • SolrQuery::getExpandRows »
  • PHP Manual
  • SolrQuery
  • Returns the expand query expand.q parameter

SolrQuery::getExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::getExpandQuery — Returns the expand query expand.q parameter

Açıklama

public SolrQuery::getExpandQuery(): array

Returns the expand query expand.q parameter

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the expand query.


Returns The number of rows to display in each group (expand.rows)

  • « SolrQuery::getExpandQuery
  • SolrQuery::getExpandSortFields »
  • PHP Manual
  • SolrQuery
  • Returns The number of rows to display in each group (expand.rows)

SolrQuery::getExpandRows

(PECL solr >= 2.2.0)

SolrQuery::getExpandRows — Returns The number of rows to display in each group (expand.rows)

Açıklama

public SolrQuery::getExpandRows(): int

Returns The number of rows to display in each group (expand.rows)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of rows.


Returns an array of fields

  • « SolrQuery::getExpandRows
  • SolrQuery::getFacet »
  • PHP Manual
  • SolrQuery
  • Returns an array of fields

SolrQuery::getExpandSortFields

(PECL solr >= 2.2.0)

SolrQuery::getExpandSortFields — Returns an array of fields

Açıklama

public SolrQuery::getExpandSortFields(): array

Returns an array of fields

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of fields.


Returns the value of the facet parameter

  • « SolrQuery::getExpandSortFields
  • SolrQuery::getFacetDateEnd »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet parameter

SolrQuery::getFacet

(PECL solr >= 0.9.2)

SolrQuery::getFacet — Returns the value of the facet parameter

Açıklama

public SolrQuery::getFacet(): bool

Returns the value of the facet parameter.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set


Returns the value for the facet.date.end parameter

  • « SolrQuery::getFacet
  • SolrQuery::getFacetDateFields »
  • PHP Manual
  • SolrQuery
  • Returns the value for the facet.date.end parameter

SolrQuery::getFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateEnd — Returns the value for the facet.date.end parameter

Açıklama

public SolrQuery::getFacetDateEnd(string $field_override = ?): string

Returns the value for the facet.date.end parameter. This method accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set


Returns all the facet.date fields

  • « SolrQuery::getFacetDateEnd
  • SolrQuery::getFacetDateGap »
  • PHP Manual
  • SolrQuery
  • Returns all the facet.date fields

SolrQuery::getFacetDateFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateFields — Returns all the facet.date fields

Açıklama

public SolrQuery::getFacetDateFields(): array

Returns all the facet.date fields

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns all the facet.date fields as an array or null if none was set


Returns the value of the facet.date.gap parameter

  • « SolrQuery::getFacetDateFields
  • SolrQuery::getFacetDateHardEnd »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.date.gap parameter

SolrQuery::getFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateGap — Returns the value of the facet.date.gap parameter

Açıklama

public SolrQuery::getFacetDateGap(string $field_override = ?): string

Returns the value of the facet.date.gap parameter. It accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set


Returns the value of the facet.date.hardend parameter

  • « SolrQuery::getFacetDateGap
  • SolrQuery::getFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.date.hardend parameter

SolrQuery::getFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateHardEnd — Returns the value of the facet.date.hardend parameter

Açıklama

public SolrQuery::getFacetDateHardEnd(string $field_override = ?): string

Returns the value of the facet.date.hardend parameter. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set


Returns the value for the facet.date.other parameter

  • « SolrQuery::getFacetDateHardEnd
  • SolrQuery::getFacetDateStart »
  • PHP Manual
  • SolrQuery
  • Returns the value for the facet.date.other parameter

SolrQuery::getFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateOther — Returns the value for the facet.date.other parameter

Açıklama

public SolrQuery::getFacetDateOther(string $field_override = ?): array

Returns the value for the facet.date.other parameter. This method accepts an optional field override.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an array on success and null if not set.


Returns the lower bound for the first date range for all date faceting on this field

  • « SolrQuery::getFacetDateOther
  • SolrQuery::getFacetFields »
  • PHP Manual
  • SolrQuery
  • Returns the lower bound for the first date range for all date faceting on this field

SolrQuery::getFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::getFacetDateStart — Returns the lower bound for the first date range for all date faceting on this field

Açıklama

public SolrQuery::getFacetDateStart(string $field_override = ?): string

Returns the lower bound for the first date range for all date faceting on this field. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set


Returns all the facet fields

  • « SolrQuery::getFacetDateStart
  • SolrQuery::getFacetLimit »
  • PHP Manual
  • SolrQuery
  • Returns all the facet fields

SolrQuery::getFacetFields

(PECL solr >= 0.9.2)

SolrQuery::getFacetFields — Returns all the facet fields

Açıklama

public SolrQuery::getFacetFields(): array

Returns all the facet fields

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of all the fields and null if none was set


Returns the maximum number of constraint counts that should be returned for the facet fields

  • « SolrQuery::getFacetFields
  • SolrQuery::getFacetMethod »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of constraint counts that should be returned for the facet fields

SolrQuery::getFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::getFacetLimit — Returns the maximum number of constraint counts that should be returned for the facet fields

Açıklama

public SolrQuery::getFacetLimit(string $field_override = ?): int

Returns the maximum number of constraint counts that should be returned for the facet fields. This method accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field to override for

Dönen Değerler

Returns an integer on success and null if not set


Returns the value of the facet.method parameter

  • « SolrQuery::getFacetLimit
  • SolrQuery::getFacetMinCount »
  • PHP Manual
  • SolrQuery
  • Returns the value of the facet.method parameter

SolrQuery::getFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::getFacetMethod — Returns the value of the facet.method parameter

Açıklama

public SolrQuery::getFacetMethod(string $field_override = ?): string

Returns the value of the facet.method parameter. This accepts an optional field override.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set


Returns the minimum counts for facet fields should be included in the response

  • « SolrQuery::getFacetMethod
  • SolrQuery::getFacetMissing »
  • PHP Manual
  • SolrQuery
  • Returns the minimum counts for facet fields should be included in the response

SolrQuery::getFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::getFacetMinCount — Returns the minimum counts for facet fields should be included in the response

Açıklama

public SolrQuery::getFacetMinCount(string $field_override = ?): int

Returns the minimum counts for facet fields should be included in the response. It accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an integer on success and null if not set


Returns the current state of the facet.missing parameter

  • « SolrQuery::getFacetMinCount
  • SolrQuery::getFacetOffset »
  • PHP Manual
  • SolrQuery
  • Returns the current state of the facet.missing parameter

SolrQuery::getFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::getFacetMissing — Returns the current state of the facet.missing parameter

Açıklama

public SolrQuery::getFacetMissing(string $field_override = ?): bool

Returns the current state of the facet.missing parameter. This accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a boolean on success and null if not set


Returns an offset into the list of constraints to be used for pagination

  • « SolrQuery::getFacetMissing
  • SolrQuery::getFacetPrefix »
  • PHP Manual
  • SolrQuery
  • Returns an offset into the list of constraints to be used for pagination

SolrQuery::getFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::getFacetOffset — Returns an offset into the list of constraints to be used for pagination

Açıklama

public SolrQuery::getFacetOffset(string $field_override = ?): int

Returns an offset into the list of constraints to be used for pagination. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field to override for.

Dönen Değerler

Returns an integer on success and null if not set


Returns the facet prefix

  • « SolrQuery::getFacetOffset
  • SolrQuery::getFacetQueries »
  • PHP Manual
  • SolrQuery
  • Returns the facet prefix

SolrQuery::getFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::getFacetPrefix — Returns the facet prefix

Açıklama

public SolrQuery::getFacetPrefix(string $field_override = ?): string

Returns the facet prefix

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns all the facet queries

  • « SolrQuery::getFacetPrefix
  • SolrQuery::getFacetSort »
  • PHP Manual
  • SolrQuery
  • Returns all the facet queries

SolrQuery::getFacetQueries

(PECL solr >= 0.9.2)

SolrQuery::getFacetQueries — Returns all the facet queries

Açıklama

public SolrQuery::getFacetQueries(): array

Returns all the facet queries

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns the facet sort type

  • « SolrQuery::getFacetQueries
  • SolrQuery::getFields »
  • PHP Manual
  • SolrQuery
  • Returns the facet sort type

SolrQuery::getFacetSort

(PECL solr >= 0.9.2)

SolrQuery::getFacetSort — Returns the facet sort type

Açıklama

public SolrQuery::getFacetSort(string $field_override = ?): int

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT)

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an integer (SolrQuery::FACET_SORT_INDEX or SolrQuery::FACET_SORT_COUNT) on success or null if not set.


Returns the list of fields that will be returned in the response

  • « SolrQuery::getFacetSort
  • SolrQuery::getFilterQueries »
  • PHP Manual
  • SolrQuery
  • Returns the list of fields that will be returned in the response

SolrQuery::getFields

(PECL solr >= 0.9.2)

SolrQuery::getFields — Returns the list of fields that will be returned in the response

Açıklama

public SolrQuery::getFields(): array

Returns the list of fields that will be returned in the response

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns an array of filter queries

  • « SolrQuery::getFields
  • SolrQuery::getGroup »
  • PHP Manual
  • SolrQuery
  • Returns an array of filter queries

SolrQuery::getFilterQueries

(PECL solr >= 0.9.2)

SolrQuery::getFilterQueries — Returns an array of filter queries

Açıklama

public SolrQuery::getFilterQueries(): array

Returns an array of filter queries. These are queries that can be used to restrict the super set of documents that can be returned, without influencing score

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns true if grouping is enabled

  • « SolrQuery::getFilterQueries
  • SolrQuery::getGroupCachePercent »
  • PHP Manual
  • SolrQuery
  • Returns true if grouping is enabled

SolrQuery::getGroup

(PECL solr >= 2.2.0)

SolrQuery::getGroup — Returns true if grouping is enabled

Açıklama

public SolrQuery::getGroup(): bool

Returns true if grouping is enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)


Returns group cache percent value

  • « SolrQuery::getGroup
  • SolrQuery::getGroupFacet »
  • PHP Manual
  • SolrQuery
  • Returns group cache percent value

SolrQuery::getGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::getGroupCachePercent — Returns group cache percent value

Açıklama

public SolrQuery::getGroupCachePercent(): int

Returns group cache percent value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Returns the group.facet parameter value

  • « SolrQuery::getGroupCachePercent
  • SolrQuery::getGroupFields »
  • PHP Manual
  • SolrQuery
  • Returns the group.facet parameter value

SolrQuery::getGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::getGroupFacet — Returns the group.facet parameter value

Açıklama

public SolrQuery::getGroupFacet(): bool

Returns the group.facet parameter value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupFacet() - Sets group.facet parameter


Returns group fields (group.field parameter values)

  • « SolrQuery::getGroupFacet
  • SolrQuery::getGroupFormat »
  • PHP Manual
  • SolrQuery
  • Returns group fields (group.field parameter values)

SolrQuery::getGroupFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupFields — Returns group fields (group.field parameter values)

Açıklama

public SolrQuery::getGroupFields(): array

Returns group fields (group.field parameter values)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::addGroupField() - Add a field to be used to group results


Returns the group.format value

  • « SolrQuery::getGroupFields
  • SolrQuery::getGroupFunctions »
  • PHP Manual
  • SolrQuery
  • Returns the group.format value

SolrQuery::getGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::getGroupFormat — Returns the group.format value

Açıklama

public SolrQuery::getGroupFormat(): string

Returns the group.format value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)


Returns group functions (group.func parameter values)

  • « SolrQuery::getGroupFormat
  • SolrQuery::getGroupLimit »
  • PHP Manual
  • SolrQuery
  • Returns group functions (group.func parameter values)

SolrQuery::getGroupFunctions

(PECL solr >= 2.2.0)

SolrQuery::getGroupFunctions — Returns group functions (group.func parameter values)

Açıklama

public SolrQuery::getGroupFunctions(): array

Returns group functions (group.func parameter values)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)


Returns the group.limit value

  • « SolrQuery::getGroupFunctions
  • SolrQuery::getGroupMain »
  • PHP Manual
  • SolrQuery
  • Returns the group.limit value

SolrQuery::getGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::getGroupLimit — Returns the group.limit value

Açıklama

public SolrQuery::getGroupLimit(): int

Returns the group.limit value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1


Returns the group.main value

  • « SolrQuery::getGroupLimit
  • SolrQuery::getGroupNGroups »
  • PHP Manual
  • SolrQuery
  • Returns the group.main value

SolrQuery::getGroupMain

(PECL solr >= 2.2.0)

SolrQuery::getGroupMain — Returns the group.main value

Açıklama

public SolrQuery::getGroupMain(): bool

Returns the group.main value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple


Returns the group.ngroups value

  • « SolrQuery::getGroupMain
  • SolrQuery::getGroupOffset »
  • PHP Manual
  • SolrQuery
  • Returns the group.ngroups value

SolrQuery::getGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::getGroupNGroups — Returns the group.ngroups value

Açıklama

public SolrQuery::getGroupNGroups(): bool

Returns the group.ngroups value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results


Returns the group.offset value

  • « SolrQuery::getGroupNGroups
  • SolrQuery::getGroupQueries »
  • PHP Manual
  • SolrQuery
  • Returns the group.offset value

SolrQuery::getGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::getGroupOffset — Returns the group.offset value

Açıklama

public SolrQuery::getGroupOffset(): int

Returns the group.offset value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupOffset() - Sets the group.offset parameter


Returns all the group.query parameter values

  • « SolrQuery::getGroupOffset
  • SolrQuery::getGroupSortFields »
  • PHP Manual
  • SolrQuery
  • Returns all the group.query parameter values

SolrQuery::getGroupQueries

(PECL solr >= 2.2.0)

SolrQuery::getGroupQueries — Returns all the group.query parameter values

Açıklama

public SolrQuery::getGroupQueries(): array

Returns all the group.query parameter values

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

array

Ayrıca Bakınız

  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query


Returns the group.sort value

  • « SolrQuery::getGroupQueries
  • SolrQuery::getGroupTruncate »
  • PHP Manual
  • SolrQuery
  • Returns the group.sort value

SolrQuery::getGroupSortFields

(PECL solr >= 2.2.0)

SolrQuery::getGroupSortFields — Returns the group.sort value

Açıklama

public SolrQuery::getGroupSortFields(): array

Returns the group.sort value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)


Returns the group.truncate value

  • « SolrQuery::getGroupSortFields
  • SolrQuery::getHighlight »
  • PHP Manual
  • SolrQuery
  • Returns the group.truncate value

SolrQuery::getGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::getGroupTruncate — Returns the group.truncate value

Açıklama

public SolrQuery::getGroupTruncate(): bool

Returns the group.truncate value

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query


Returns the state of the hl parameter

  • « SolrQuery::getGroupTruncate
  • SolrQuery::getHighlightAlternateField »
  • PHP Manual
  • SolrQuery
  • Returns the state of the hl parameter

SolrQuery::getHighlight

(PECL solr >= 0.9.2)

SolrQuery::getHighlight — Returns the state of the hl parameter

Açıklama

public SolrQuery::getHighlight(): bool

Returns a boolean indicating whether or not to enable highlighted snippets to be generated in the query response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the highlight field to use as backup or default

  • « SolrQuery::getHighlight
  • SolrQuery::getHighlightFields »
  • PHP Manual
  • SolrQuery
  • Returns the highlight field to use as backup or default

SolrQuery::getHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::getHighlightAlternateField — Returns the highlight field to use as backup or default

Açıklama

public SolrQuery::getHighlightAlternateField(string $field_override = ?): string

Returns the highlight field to use as backup or default. It accepts an optional override.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns all the fields that Solr should generate highlighted snippets for

  • « SolrQuery::getHighlightAlternateField
  • SolrQuery::getHighlightFormatter »
  • PHP Manual
  • SolrQuery
  • Returns all the fields that Solr should generate highlighted snippets for

SolrQuery::getHighlightFields

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFields — Returns all the fields that Solr should generate highlighted snippets for

Açıklama

public SolrQuery::getHighlightFields(): array

Returns all the fields that Solr should generate highlighted snippets for

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns the formatter for the highlighted output

  • « SolrQuery::getHighlightFields
  • SolrQuery::getHighlightFragmenter »
  • PHP Manual
  • SolrQuery
  • Returns the formatter for the highlighted output

SolrQuery::getHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFormatter — Returns the formatter for the highlighted output

Açıklama

public SolrQuery::getHighlightFormatter(string $field_override = ?): string

Returns the formatter for the highlighted output

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns the text snippet generator for highlighted text

  • « SolrQuery::getHighlightFormatter
  • SolrQuery::getHighlightFragsize »
  • PHP Manual
  • SolrQuery
  • Returns the text snippet generator for highlighted text

SolrQuery::getHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragmenter — Returns the text snippet generator for highlighted text

Açıklama

public SolrQuery::getHighlightFragmenter(string $field_override = ?): string

Returns the text snippet generator for highlighted text. Accepts an optional field override.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns the number of characters of fragments to consider for highlighting

  • « SolrQuery::getHighlightFragmenter
  • SolrQuery::getHighlightHighlightMultiTerm »
  • PHP Manual
  • SolrQuery
  • Returns the number of characters of fragments to consider for highlighting

SolrQuery::getHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::getHighlightFragsize — Returns the number of characters of fragments to consider for highlighting

Açıklama

public SolrQuery::getHighlightFragsize(string $field_override = ?): int

Returns the number of characters of fragments to consider for highlighting. Zero implies no fragmenting. The entire field should be used.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an integer on success or null if not set.


Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

  • « SolrQuery::getHighlightFragsize
  • SolrQuery::getHighlightMaxAlternateFieldLength »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

SolrQuery::getHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::getHighlightHighlightMultiTerm — Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Açıklama

public SolrQuery::getHighlightHighlightMultiTerm(): bool

Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the maximum number of characters of the field to return

  • « SolrQuery::getHighlightHighlightMultiTerm
  • SolrQuery::getHighlightMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters of the field to return

SolrQuery::getHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAlternateFieldLength — Returns the maximum number of characters of the field to return

Açıklama

public SolrQuery::getHighlightMaxAlternateFieldLength(string $field_override = ?): int

Returns the maximum number of characters of the field to return

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an integer on success and null if not set.


Returns the maximum number of characters into a document to look for suitable snippets

  • « SolrQuery::getHighlightMaxAlternateFieldLength
  • SolrQuery::getHighlightMergeContiguous »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters into a document to look for suitable snippets

SolrQuery::getHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMaxAnalyzedChars — Returns the maximum number of characters into a document to look for suitable snippets

Açıklama

public SolrQuery::getHighlightMaxAnalyzedChars(): int

Returns the maximum number of characters into a document to look for suitable snippets

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns whether or not the collapse contiguous fragments into a single fragment

  • « SolrQuery::getHighlightMaxAnalyzedChars
  • SolrQuery::getHighlightRegexMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the collapse contiguous fragments into a single fragment

SolrQuery::getHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::getHighlightMergeContiguous — Returns whether or not the collapse contiguous fragments into a single fragment

Açıklama

public SolrQuery::getHighlightMergeContiguous(string $field_override = ?): bool

Returns whether or not the collapse contiguous fragments into a single fragment. Accepts an optional field override.

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the maximum number of characters from a field when using the regex fragmenter

  • « SolrQuery::getHighlightMergeContiguous
  • SolrQuery::getHighlightRegexPattern »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of characters from a field when using the regex fragmenter

SolrQuery::getHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexMaxAnalyzedChars — Returns the maximum number of characters from a field when using the regex fragmenter

Açıklama

public SolrQuery::getHighlightRegexMaxAnalyzedChars(): int

Returns the maximum number of characters from a field when using the regex fragmenter

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the regular expression for fragmenting

  • « SolrQuery::getHighlightRegexMaxAnalyzedChars
  • SolrQuery::getHighlightRegexSlop »
  • PHP Manual
  • SolrQuery
  • Returns the regular expression for fragmenting

SolrQuery::getHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexPattern — Returns the regular expression for fragmenting

Açıklama

public SolrQuery::getHighlightRegexPattern(): string

Returns the regular expression used for fragmenting

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Returns the deviation factor from the ideal fragment size

  • « SolrQuery::getHighlightRegexPattern
  • SolrQuery::getHighlightRequireFieldMatch »
  • PHP Manual
  • SolrQuery
  • Returns the deviation factor from the ideal fragment size

SolrQuery::getHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRegexSlop — Returns the deviation factor from the ideal fragment size

Açıklama

public SolrQuery::getHighlightRegexSlop(): float

Returns the factor by which the regex fragmenter can deviate from the ideal fragment size to accommodate the regular expression

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a float on success and null if not set.


Returns if a field will only be highlighted if the query matched in this particular field

  • « SolrQuery::getHighlightRegexSlop
  • SolrQuery::getHighlightSimplePost »
  • PHP Manual
  • SolrQuery
  • Returns if a field will only be highlighted if the query matched in this particular field

SolrQuery::getHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::getHighlightRequireFieldMatch — Returns if a field will only be highlighted if the query matched in this particular field

Açıklama

public SolrQuery::getHighlightRequireFieldMatch(): bool

Returns if a field will only be highlighted if the query matched in this particular field.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the text which appears after a highlighted term

  • « SolrQuery::getHighlightRequireFieldMatch
  • SolrQuery::getHighlightSimplePre »
  • PHP Manual
  • SolrQuery
  • Returns the text which appears after a highlighted term

SolrQuery::getHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePost — Returns the text which appears after a highlighted term

Açıklama

public SolrQuery::getHighlightSimplePost(string $field_override = ?): string

Returns the text which appears after a highlighted term. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns the text which appears before a highlighted term

  • « SolrQuery::getHighlightSimplePost
  • SolrQuery::getHighlightSnippets »
  • PHP Manual
  • SolrQuery
  • Returns the text which appears before a highlighted term

SolrQuery::getHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSimplePre — Returns the text which appears before a highlighted term

Açıklama

public SolrQuery::getHighlightSimplePre(string $field_override = ?): string

Returns the text which appears before a highlighted term. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns a string on success and null if not set.


Returns the maximum number of highlighted snippets to generate per field

  • « SolrQuery::getHighlightSimplePre
  • SolrQuery::getHighlightUsePhraseHighlighter »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of highlighted snippets to generate per field

SolrQuery::getHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::getHighlightSnippets — Returns the maximum number of highlighted snippets to generate per field

Açıklama

public SolrQuery::getHighlightSnippets(string $field_override = ?): int

Returns the maximum number of highlighted snippets to generate per field. Accepts an optional field override

Bağımsız Değişkenler

field_override

The name of the field

Dönen Değerler

Returns an integer on success and null if not set.


Returns the state of the hl.usePhraseHighlighter parameter

  • « SolrQuery::getHighlightSnippets
  • SolrQuery::getMlt »
  • PHP Manual
  • SolrQuery
  • Returns the state of the hl.usePhraseHighlighter parameter

SolrQuery::getHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::getHighlightUsePhraseHighlighter — Returns the state of the hl.usePhraseHighlighter parameter

Açıklama

public SolrQuery::getHighlightUsePhraseHighlighter(): bool

Returns whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns whether or not MoreLikeThis results should be enabled

  • « SolrQuery::getHighlightUsePhraseHighlighter
  • SolrQuery::getMltBoost »
  • PHP Manual
  • SolrQuery
  • Returns whether or not MoreLikeThis results should be enabled

SolrQuery::getMlt

(PECL solr >= 0.9.2)

SolrQuery::getMlt — Returns whether or not MoreLikeThis results should be enabled

Açıklama

public SolrQuery::getMlt(): bool

Returns whether or not MoreLikeThis results should be enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns whether or not the query will be boosted by the interesting term relevance

  • « SolrQuery::getMlt
  • SolrQuery::getMltCount »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the query will be boosted by the interesting term relevance

SolrQuery::getMltBoost

(PECL solr >= 0.9.2)

SolrQuery::getMltBoost — Returns whether or not the query will be boosted by the interesting term relevance

Açıklama

public SolrQuery::getMltBoost(): bool

Returns whether or not the query will be boosted by the interesting term relevance

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the number of similar documents to return for each result

  • « SolrQuery::getMltBoost
  • SolrQuery::getMltFields »
  • PHP Manual
  • SolrQuery
  • Returns the number of similar documents to return for each result

SolrQuery::getMltCount

(PECL solr >= 0.9.2)

SolrQuery::getMltCount — Returns the number of similar documents to return for each result

Açıklama

public SolrQuery::getMltCount(): int

Returns the number of similar documents to return for each result

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns all the fields to use for similarity

  • « SolrQuery::getMltCount
  • SolrQuery::getMltMaxNumQueryTerms »
  • PHP Manual
  • SolrQuery
  • Returns all the fields to use for similarity

SolrQuery::getMltFields

(PECL solr >= 0.9.2)

SolrQuery::getMltFields — Returns all the fields to use for similarity

Açıklama

public SolrQuery::getMltFields(): array

Returns all the fields to use for similarity

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns the maximum number of query terms that will be included in any generated query

  • « SolrQuery::getMltFields
  • SolrQuery::getMltMaxNumTokens »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of query terms that will be included in any generated query

SolrQuery::getMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumQueryTerms — Returns the maximum number of query terms that will be included in any generated query

Açıklama

public SolrQuery::getMltMaxNumQueryTerms(): int

Returns the maximum number of query terms that will be included in any generated query

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

  • « SolrQuery::getMltMaxNumQueryTerms
  • SolrQuery::getMltMaxWordLength »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

SolrQuery::getMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxNumTokens — Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Açıklama

public SolrQuery::getMltMaxNumTokens(): int

Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the maximum word length above which words will be ignored

  • « SolrQuery::getMltMaxNumTokens
  • SolrQuery::getMltMinDocFrequency »
  • PHP Manual
  • SolrQuery
  • Returns the maximum word length above which words will be ignored

SolrQuery::getMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMaxWordLength — Returns the maximum word length above which words will be ignored

Açıklama

public SolrQuery::getMltMaxWordLength(): int

Returns the maximum word length above which words will be ignored

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

  • « SolrQuery::getMltMaxWordLength
  • SolrQuery::getMltMinTermFrequency »
  • PHP Manual
  • SolrQuery
  • Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

SolrQuery::getMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinDocFrequency — Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Açıklama

public SolrQuery::getMltMinDocFrequency(): int

Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the frequency below which terms will be ignored in the source document

  • « SolrQuery::getMltMinDocFrequency
  • SolrQuery::getMltMinWordLength »
  • PHP Manual
  • SolrQuery
  • Returns the frequency below which terms will be ignored in the source document

SolrQuery::getMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::getMltMinTermFrequency — Returns the frequency below which terms will be ignored in the source document

Açıklama

public SolrQuery::getMltMinTermFrequency(): int

Returns the frequency below which terms will be ignored in the source document

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the minimum word length below which words will be ignored

  • « SolrQuery::getMltMinTermFrequency
  • SolrQuery::getMltQueryFields »
  • PHP Manual
  • SolrQuery
  • Returns the minimum word length below which words will be ignored

SolrQuery::getMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::getMltMinWordLength — Returns the minimum word length below which words will be ignored

Açıklama

public SolrQuery::getMltMinWordLength(): int

Returns the minimum word length below which words will be ignored

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the query fields and their boosts

  • « SolrQuery::getMltMinWordLength
  • SolrQuery::getQuery »
  • PHP Manual
  • SolrQuery
  • Returns the query fields and their boosts

SolrQuery::getMltQueryFields

(PECL solr >= 0.9.2)

SolrQuery::getMltQueryFields — Returns the query fields and their boosts

Açıklama

public SolrQuery::getMltQueryFields(): array

Returns the query fields and their boosts

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns the main query

  • « SolrQuery::getMltQueryFields
  • SolrQuery::getRows »
  • PHP Manual
  • SolrQuery
  • Returns the main query

SolrQuery::getQuery

(PECL solr >= 0.9.2)

SolrQuery::getQuery — Returns the main query

Açıklama

public SolrQuery::getQuery(): string

Returns the main search query

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Returns the maximum number of documents

  • « SolrQuery::getQuery
  • SolrQuery::getSortFields »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of documents

SolrQuery::getRows

(PECL solr >= 0.9.2)

SolrQuery::getRows — Returns the maximum number of documents

Açıklama

public SolrQuery::getRows(): int

Returns the maximum number of documents from the complete result set to return to the client for every request

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns all the sort fields

  • « SolrQuery::getRows
  • SolrQuery::getStart »
  • PHP Manual
  • SolrQuery
  • Returns all the sort fields

SolrQuery::getSortFields

(PECL solr >= 0.9.2)

SolrQuery::getSortFields — Returns all the sort fields

Açıklama

public SolrQuery::getSortFields(): array

Returns all the sort fields

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if none of the parameters was set.


Returns the offset in the complete result set

  • « SolrQuery::getSortFields
  • SolrQuery::getStats »
  • PHP Manual
  • SolrQuery
  • Returns the offset in the complete result set

SolrQuery::getStart

(PECL solr >= 0.9.2)

SolrQuery::getStart — Returns the offset in the complete result set

Açıklama

public SolrQuery::getStart(): int

Returns the offset in the complete result set for the queries where the set of returned documents should begin.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns whether or not stats is enabled

  • « SolrQuery::getStart
  • SolrQuery::getStatsFacets »
  • PHP Manual
  • SolrQuery
  • Returns whether or not stats is enabled

SolrQuery::getStats

(PECL solr >= 0.9.2)

SolrQuery::getStats — Returns whether or not stats is enabled

Açıklama

public SolrQuery::getStats(): bool

Returns whether or not stats is enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns all the stats facets that were set

  • « SolrQuery::getStats
  • SolrQuery::getStatsFields »
  • PHP Manual
  • SolrQuery
  • Returns all the stats facets that were set

SolrQuery::getStatsFacets

(PECL solr >= 0.9.2)

SolrQuery::getStatsFacets — Returns all the stats facets that were set

Açıklama

public SolrQuery::getStatsFacets(): array

Returns all the stats facets that were set

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns all the statistics fields

  • « SolrQuery::getStatsFacets
  • SolrQuery::getTerms »
  • PHP Manual
  • SolrQuery
  • Returns all the statistics fields

SolrQuery::getStatsFields

(PECL solr >= 0.9.2)

SolrQuery::getStatsFields — Returns all the statistics fields

Açıklama

public SolrQuery::getStatsFields(): array

Returns all the statistics fields

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array on success and null if not set.


Returns whether or not the TermsComponent is enabled

  • « SolrQuery::getStatsFields
  • SolrQuery::getTermsField »
  • PHP Manual
  • SolrQuery
  • Returns whether or not the TermsComponent is enabled

SolrQuery::getTerms

(PECL solr >= 0.9.2)

SolrQuery::getTerms — Returns whether or not the TermsComponent is enabled

Açıklama

public SolrQuery::getTerms(): bool

Returns whether or not the TermsComponent is enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the field from which the terms are retrieved

  • « SolrQuery::getTerms
  • SolrQuery::getTermsIncludeLowerBound »
  • PHP Manual
  • SolrQuery
  • Returns the field from which the terms are retrieved

SolrQuery::getTermsField

(PECL solr >= 0.9.2)

SolrQuery::getTermsField — Returns the field from which the terms are retrieved

Açıklama

public SolrQuery::getTermsField(): string

Returns the field from which the terms are retrieved

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Returns whether or not to include the lower bound in the result set

  • « SolrQuery::getTermsField
  • SolrQuery::getTermsIncludeUpperBound »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to include the lower bound in the result set

SolrQuery::getTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeLowerBound — Returns whether or not to include the lower bound in the result set

Açıklama

public SolrQuery::getTermsIncludeLowerBound(): bool

Returns whether or not to include the lower bound in the result set

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns whether or not to include the upper bound term in the result set

  • « SolrQuery::getTermsIncludeLowerBound
  • SolrQuery::getTermsLimit »
  • PHP Manual
  • SolrQuery
  • Returns whether or not to include the upper bound term in the result set

SolrQuery::getTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsIncludeUpperBound — Returns whether or not to include the upper bound term in the result set

Açıklama

public SolrQuery::getTermsIncludeUpperBound(): bool

Returns whether or not to include the upper bound term in the result set

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns the maximum number of terms Solr should return

  • « SolrQuery::getTermsIncludeUpperBound
  • SolrQuery::getTermsLowerBound »
  • PHP Manual
  • SolrQuery
  • Returns the maximum number of terms Solr should return

SolrQuery::getTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::getTermsLimit — Returns the maximum number of terms Solr should return

Açıklama

public SolrQuery::getTermsLimit(): int

Returns the maximum number of terms Solr should return

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the term to start at

  • « SolrQuery::getTermsLimit
  • SolrQuery::getTermsMaxCount »
  • PHP Manual
  • SolrQuery
  • Returns the term to start at

SolrQuery::getTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsLowerBound — Returns the term to start at

Açıklama

public SolrQuery::getTermsLowerBound(): string

Returns the term to start at

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Returns the maximum document frequency

  • « SolrQuery::getTermsLowerBound
  • SolrQuery::getTermsMinCount »
  • PHP Manual
  • SolrQuery
  • Returns the maximum document frequency

SolrQuery::getTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMaxCount — Returns the maximum document frequency

Açıklama

public SolrQuery::getTermsMaxCount(): int

Returns the maximum document frequency

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the minimum document frequency to return in order to be included

  • « SolrQuery::getTermsMaxCount
  • SolrQuery::getTermsPrefix »
  • PHP Manual
  • SolrQuery
  • Returns the minimum document frequency to return in order to be included

SolrQuery::getTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::getTermsMinCount — Returns the minimum document frequency to return in order to be included

Açıklama

public SolrQuery::getTermsMinCount(): int

Returns the minimum document frequency to return in order to be included

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the term prefix

  • « SolrQuery::getTermsMinCount
  • SolrQuery::getTermsReturnRaw »
  • PHP Manual
  • SolrQuery
  • Returns the term prefix

SolrQuery::getTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::getTermsPrefix — Returns the term prefix

Açıklama

public SolrQuery::getTermsPrefix(): string

Returns the prefix to which matching terms must be restricted. This will restrict matches to only terms that start with the prefix

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Whether or not to return raw characters

  • « SolrQuery::getTermsPrefix
  • SolrQuery::getTermsSort »
  • PHP Manual
  • SolrQuery
  • Whether or not to return raw characters

SolrQuery::getTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::getTermsReturnRaw — Whether or not to return raw characters

Açıklama

public SolrQuery::getTermsReturnRaw(): bool

Returns a boolean indicating whether or not to return the raw characters of the indexed term, regardless of if it is human readable

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a boolean on success and null if not set.


Returns an integer indicating how terms are sorted

  • « SolrQuery::getTermsReturnRaw
  • SolrQuery::getTermsUpperBound »
  • PHP Manual
  • SolrQuery
  • Returns an integer indicating how terms are sorted

SolrQuery::getTermsSort

(PECL solr >= 0.9.2)

SolrQuery::getTermsSort — Returns an integer indicating how terms are sorted

Açıklama

public SolrQuery::getTermsSort(): int

SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are sorted by term frequency (highest count first)

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an integer on success and null if not set.


Returns the term to stop at

  • « SolrQuery::getTermsSort
  • SolrQuery::getTimeAllowed »
  • PHP Manual
  • SolrQuery
  • Returns the term to stop at

SolrQuery::getTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::getTermsUpperBound — Returns the term to stop at

Açıklama

public SolrQuery::getTermsUpperBound(): string

Returns the term to stop at

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string on success and null if not set.


Returns the time in milliseconds allowed for the query to finish

  • « SolrQuery::getTermsUpperBound
  • SolrQuery::removeExpandFilterQuery »
  • PHP Manual
  • SolrQuery
  • Returns the time in milliseconds allowed for the query to finish

SolrQuery::getTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::getTimeAllowed — Returns the time in milliseconds allowed for the query to finish

Açıklama

public SolrQuery::getTimeAllowed(): int

Returns the time in milliseconds allowed for the query to finish.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns and integer on success and null if it is not set.


Removes an expand filter query

  • « SolrQuery::getTimeAllowed
  • SolrQuery::removeExpandSortField »
  • PHP Manual
  • SolrQuery
  • Removes an expand filter query

SolrQuery::removeExpandFilterQuery

(PECL solr >= 2.2.0)

SolrQuery::removeExpandFilterQuery — Removes an expand filter query

Açıklama

public SolrQuery::removeExpandFilterQuery(string $fq): SolrQuery

Removes an expand filter query.

Bağımsız Değişkenler

fq

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group


Removes an expand sort field from the expand.sort parameter

  • « SolrQuery::removeExpandFilterQuery
  • SolrQuery::removeFacetDateField »
  • PHP Manual
  • SolrQuery
  • Removes an expand sort field from the expand.sort parameter

SolrQuery::removeExpandSortField

(PECL solr >= 2.2.0)

SolrQuery::removeExpandSortField — Removes an expand sort field from the expand.sort parameter

Açıklama

public SolrQuery::removeExpandSortField(string $field): SolrQuery

Removes an expand sort field from the expand.sort parameter.

Bağımsız Değişkenler

field

field name

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Removes one of the facet date fields

  • « SolrQuery::removeExpandSortField
  • SolrQuery::removeFacetDateOther »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet date fields

SolrQuery::removeFacetDateField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateField — Removes one of the facet date fields

Açıklama

public SolrQuery::removeFacetDateField(string $field): SolrQuery

The name of the field

Bağımsız Değişkenler

field

The name of the date field to remove

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.date.other parameters

  • « SolrQuery::removeFacetDateField
  • SolrQuery::removeFacetField »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.date.other parameters

SolrQuery::removeFacetDateOther

(PECL solr >= 0.9.2)

SolrQuery::removeFacetDateOther — Removes one of the facet.date.other parameters

Açıklama

public SolrQuery::removeFacetDateOther(string $value, string $field_override = ?): SolrQuery

Removes one of the facet.date.other parameters

Bağımsız Değişkenler

value

The value

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.date parameters

  • « SolrQuery::removeFacetDateOther
  • SolrQuery::removeFacetQuery »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.date parameters

SolrQuery::removeFacetField

(PECL solr >= 0.9.2)

SolrQuery::removeFacetField — Removes one of the facet.date parameters

Açıklama

public SolrQuery::removeFacetField(string $field): SolrQuery

Removes one of the facet.date parameters

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the facet.query parameters

  • « SolrQuery::removeFacetField
  • SolrQuery::removeField »
  • PHP Manual
  • SolrQuery
  • Removes one of the facet.query parameters

SolrQuery::removeFacetQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFacetQuery — Removes one of the facet.query parameters

Açıklama

public SolrQuery::removeFacetQuery(string $value): SolrQuery

Removes one of the facet.query parameters.

Bağımsız Değişkenler

value

The value

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes a field from the list of fields

  • « SolrQuery::removeFacetQuery
  • SolrQuery::removeFilterQuery »
  • PHP Manual
  • SolrQuery
  • Removes a field from the list of fields

SolrQuery::removeField

(PECL solr >= 0.9.2)

SolrQuery::removeField — Removes a field from the list of fields

Açıklama

public SolrQuery::removeField(string $field): SolrQuery

Removes a field from the list of fields

Bağımsız Değişkenler

field

Name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes a filter query

  • « SolrQuery::removeField
  • SolrQuery::removeHighlightField »
  • PHP Manual
  • SolrQuery
  • Removes a filter query

SolrQuery::removeFilterQuery

(PECL solr >= 0.9.2)

SolrQuery::removeFilterQuery — Removes a filter query

Açıklama

public SolrQuery::removeFilterQuery(string $fq): SolrQuery

Removes a filter query.

Bağımsız Değişkenler

fq

The filter query to remove

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the fields used for highlighting

  • « SolrQuery::removeFilterQuery
  • SolrQuery::removeMltField »
  • PHP Manual
  • SolrQuery
  • Removes one of the fields used for highlighting

SolrQuery::removeHighlightField

(PECL solr >= 0.9.2)

SolrQuery::removeHighlightField — Removes one of the fields used for highlighting

Açıklama

public SolrQuery::removeHighlightField(string $field): SolrQuery

Removes one of the fields used for highlighting.

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the moreLikeThis fields

  • « SolrQuery::removeHighlightField
  • SolrQuery::removeMltQueryField »
  • PHP Manual
  • SolrQuery
  • Removes one of the moreLikeThis fields

SolrQuery::removeMltField

(PECL solr >= 0.9.2)

SolrQuery::removeMltField — Removes one of the moreLikeThis fields

Açıklama

public SolrQuery::removeMltField(string $field): SolrQuery

Removes one of the moreLikeThis fields.

Bağımsız Değişkenler

field

Name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the moreLikeThis query fields

  • « SolrQuery::removeMltField
  • SolrQuery::removeSortField »
  • PHP Manual
  • SolrQuery
  • Removes one of the moreLikeThis query fields

SolrQuery::removeMltQueryField

(PECL solr >= 0.9.2)

SolrQuery::removeMltQueryField — Removes one of the moreLikeThis query fields

Açıklama

public SolrQuery::removeMltQueryField(string $queryField): SolrQuery

Removes one of the moreLikeThis query fields.

Bağımsız Değişkenler

queryField

The query field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the sort fields

  • « SolrQuery::removeMltQueryField
  • SolrQuery::removeStatsFacet »
  • PHP Manual
  • SolrQuery
  • Removes one of the sort fields

SolrQuery::removeSortField

(PECL solr >= 0.9.2)

SolrQuery::removeSortField — Removes one of the sort fields

Açıklama

public SolrQuery::removeSortField(string $field): SolrQuery

Removes one of the sort fields

Bağımsız Değişkenler

field

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the stats.facet parameters

  • « SolrQuery::removeSortField
  • SolrQuery::removeStatsField »
  • PHP Manual
  • SolrQuery
  • Removes one of the stats.facet parameters

SolrQuery::removeStatsFacet

(PECL solr >= 0.9.2)

SolrQuery::removeStatsFacet — Removes one of the stats.facet parameters

Açıklama

public SolrQuery::removeStatsFacet(string $value): SolrQuery

Removes one of the stats.facet parameters

Bağımsız Değişkenler

value

The value

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Removes one of the stats.field parameters

  • « SolrQuery::removeStatsFacet
  • SolrQuery::setEchoHandler »
  • PHP Manual
  • SolrQuery
  • Removes one of the stats.field parameters

SolrQuery::removeStatsField

(PECL solr >= 0.9.2)

SolrQuery::removeStatsField — Removes one of the stats.field parameters

Açıklama

public SolrQuery::removeStatsField(string $field): SolrQuery

Removes one of the stats.field parameters

Bağımsız Değişkenler

field

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Toggles the echoHandler parameter

  • « SolrQuery::removeStatsField
  • SolrQuery::setEchoParams »
  • PHP Manual
  • SolrQuery
  • Toggles the echoHandler parameter

SolrQuery::setEchoHandler

(PECL solr >= 0.9.2)

SolrQuery::setEchoHandler — Toggles the echoHandler parameter

Açıklama

public SolrQuery::setEchoHandler(bool $flag): SolrQuery

If set to true, Solr places the name of the handle used in the response to the client for debugging purposes.

Bağımsız Değişkenler

flag

true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Determines what kind of parameters to include in the response

  • « SolrQuery::setEchoHandler
  • SolrQuery::setExpand »
  • PHP Manual
  • SolrQuery
  • Determines what kind of parameters to include in the response

SolrQuery::setEchoParams

(PECL solr >= 0.9.2)

SolrQuery::setEchoParams — Determines what kind of parameters to include in the response

Açıklama

public SolrQuery::setEchoParams(string $type): SolrQuery

Instructs Solr what kinds of Request parameters should be included in the response for debugging purposes, legal values include:

- none - don't include any request parameters for debugging
- explicit - include the parameters explicitly specified by the client in the request
- all - include all parameters involved in this request, either specified explicitly by the client, or implicit because of the request handler configuration.

Bağımsız Değişkenler

type

The type of parameters to include

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Enables/Disables the Expand Component

  • « SolrQuery::setEchoParams
  • SolrQuery::setExpandQuery »
  • PHP Manual
  • SolrQuery
  • Enables/Disables the Expand Component

SolrQuery::setExpand

(PECL solr >= 2.2.0)

SolrQuery::setExpand — Enables/Disables the Expand Component

Açıklama

public SolrQuery::setExpand(bool $value): SolrQuery

Enables/Disables the Expand Component.

Bağımsız Değişkenler

value

Bool flag

Dönen Değerler

SolrQuery

Örnekler

Örnek 1 SolrQuery::setExpand() example

<?php

$query = new SolrQuery('lucene');

$query
->setExpand(true)
->setExpandRows(50)
->setExpandQuery('text:product')
->addExpandFilterQuery('manu:apple')
->addExpandFilterQuery('inStock:true')
->addExpandSortField('score', SolrQuery::ORDER_DESC)
->addExpandSortField('title', SolrQuery::ORDER_ASC);

echo $query.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&expand=true&expand.rows=50&expand.q=text:product&expand.fq=manu:apple&expand.fq=inStock:true&expand.sort=score desc,title asc

Ayrıca Bakınız

  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the expand.q parameter

  • « SolrQuery::setExpand
  • SolrQuery::setExpandRows »
  • PHP Manual
  • SolrQuery
  • Sets the expand.q parameter

SolrQuery::setExpandQuery

(PECL solr >= 2.2.0)

SolrQuery::setExpandQuery — Sets the expand.q parameter

Açıklama

public SolrQuery::setExpandQuery(string $q): SolrQuery

Sets the expand.q parameter.

Overrides the main q parameter, determines which documents to include in the main group.

Bağımsız Değişkenler

q

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandRows() - Sets the number of rows to display in each group (expand.rows). Server Default 5
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the number of rows to display in each group (expand.rows). Server Default 5

  • « SolrQuery::setExpandQuery
  • SolrQuery::setExplainOther »
  • PHP Manual
  • SolrQuery
  • Sets the number of rows to display in each group (expand.rows). Server Default 5

SolrQuery::setExpandRows

(PECL solr >= 2.2.0)

SolrQuery::setExpandRows — Sets the number of rows to display in each group (expand.rows). Server Default 5

Açıklama

public SolrQuery::setExpandRows(int $value): SolrQuery

Sets the number of rows to display in each group (expand.rows). Server Default 5

Bağımsız Değişkenler

value

Dönen Değerler

SolrQuery

Ayrıca Bakınız

  • SolrQuery::setExpand() - Enables/Disables the Expand Component
  • SolrQuery::addExpandSortField() - Orders the documents within the expanded groups (expand.sort parameter)
  • SolrQuery::removeExpandSortField() - Removes an expand sort field from the expand.sort parameter
  • SolrQuery::setExpandQuery() - Sets the expand.q parameter
  • SolrQuery::addExpandFilterQuery() - Overrides main filter query, determines which documents to include in the main group
  • SolrQuery::removeExpandFilterQuery() - Removes an expand filter query


Sets the explainOther common query parameter

  • « SolrQuery::setExpandRows
  • SolrQuery::setFacet »
  • PHP Manual
  • SolrQuery
  • Sets the explainOther common query parameter

SolrQuery::setExplainOther

(PECL solr >= 0.9.2)

SolrQuery::setExplainOther — Sets the explainOther common query parameter

Açıklama

public SolrQuery::setExplainOther(string $query): SolrQuery

Sets the explainOther common query parameter

Bağımsız Değişkenler

query

The Lucene query to identify a set of documents

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to the facet parameter. Enables or disables facetting

  • « SolrQuery::setExplainOther
  • SolrQuery::setFacetDateEnd »
  • PHP Manual
  • SolrQuery
  • Maps to the facet parameter. Enables or disables facetting

SolrQuery::setFacet

(PECL solr >= 0.9.2)

SolrQuery::setFacet — Maps to the facet parameter. Enables or disables facetting

Açıklama

public SolrQuery::setFacet(bool $flag): SolrQuery

Enables or disables faceting.

Bağımsız Değişkenler

value

true enables faceting and false disables it.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.end

  • « SolrQuery::setFacet
  • SolrQuery::setFacetDateGap »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.end

SolrQuery::setFacetDateEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateEnd — Maps to facet.date.end

Açıklama

public SolrQuery::setFacetDateEnd(string $value, string $field_override = ?): SolrQuery

Maps to facet.date.end

Bağımsız Değişkenler

value

See facet.date.end

field_override

Name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.gap

  • « SolrQuery::setFacetDateEnd
  • SolrQuery::setFacetDateHardEnd »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.gap

SolrQuery::setFacetDateGap

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateGap — Maps to facet.date.gap

Açıklama

public SolrQuery::setFacetDateGap(string $value, string $field_override = ?): SolrQuery

Maps to facet.date.gap

Bağımsız Değişkenler

value

See facet.date.gap

field_override

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.hardend

  • « SolrQuery::setFacetDateGap
  • SolrQuery::setFacetDateStart »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.hardend

SolrQuery::setFacetDateHardEnd

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateHardEnd — Maps to facet.date.hardend

Açıklama

public SolrQuery::setFacetDateHardEnd(bool $value, string $field_override = ?): SolrQuery

Maps to facet.date.hardend

Bağımsız Değişkenler

value

See facet.date.hardend

field_override

The name of the field

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.date.start

  • « SolrQuery::setFacetDateHardEnd
  • SolrQuery::setFacetEnumCacheMinDefaultFrequency »
  • PHP Manual
  • SolrQuery
  • Maps to facet.date.start

SolrQuery::setFacetDateStart

(PECL solr >= 0.9.2)

SolrQuery::setFacetDateStart — Maps to facet.date.start

Açıklama

public SolrQuery::setFacetDateStart(string $value, string $field_override = ?): SolrQuery

Maps to facet.date.start

Bağımsız Değişkenler

value

See facet.date.start

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the minimum document frequency used for determining term count

  • « SolrQuery::setFacetDateStart
  • SolrQuery::setFacetLimit »
  • PHP Manual
  • SolrQuery
  • Sets the minimum document frequency used for determining term count

SolrQuery::setFacetEnumCacheMinDefaultFrequency

(PECL solr >= 0.9.2)

SolrQuery::setFacetEnumCacheMinDefaultFrequency — Sets the minimum document frequency used for determining term count

Açıklama

public SolrQuery::setFacetEnumCacheMinDefaultFrequency(int $frequency, string $field_override = ?): SolrQuery

Sets the minimum document frequency used for determining term count

Bağımsız Değişkenler

value

The minimum frequency

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.limit

  • « SolrQuery::setFacetEnumCacheMinDefaultFrequency
  • SolrQuery::setFacetMethod »
  • PHP Manual
  • SolrQuery
  • Maps to facet.limit

SolrQuery::setFacetLimit

(PECL solr >= 0.9.2)

SolrQuery::setFacetLimit — Maps to facet.limit

Açıklama

public SolrQuery::setFacetLimit(int $limit, string $field_override = ?): SolrQuery

Maps to facet.limit. Sets the maximum number of constraint counts that should be returned for the facet fields.

Bağımsız Değişkenler

limit

The maximum number of constraint counts

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the type of algorithm to use when faceting a field

  • « SolrQuery::setFacetLimit
  • SolrQuery::setFacetMinCount »
  • PHP Manual
  • SolrQuery
  • Specifies the type of algorithm to use when faceting a field

SolrQuery::setFacetMethod

(PECL solr >= 0.9.2)

SolrQuery::setFacetMethod — Specifies the type of algorithm to use when faceting a field

Açıklama

public SolrQuery::setFacetMethod(string $method, string $field_override = ?): SolrQuery

Specifies the type of algorithm to use when faceting a field. This method accepts optional field override.

Bağımsız Değişkenler

method

The method to use.

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.mincount

  • « SolrQuery::setFacetMethod
  • SolrQuery::setFacetMissing »
  • PHP Manual
  • SolrQuery
  • Maps to facet.mincount

SolrQuery::setFacetMinCount

(PECL solr >= 0.9.2)

SolrQuery::setFacetMinCount — Maps to facet.mincount

Açıklama

public SolrQuery::setFacetMinCount(int $mincount, string $field_override = ?): SolrQuery

Sets the minimum counts for facet fields that should be included in the response

Bağımsız Değişkenler

mincount

The minimum count

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Maps to facet.missing

  • « SolrQuery::setFacetMinCount
  • SolrQuery::setFacetOffset »
  • PHP Manual
  • SolrQuery
  • Maps to facet.missing

SolrQuery::setFacetMissing

(PECL solr >= 0.9.2)

SolrQuery::setFacetMissing — Maps to facet.missing

Açıklama

public SolrQuery::setFacetMissing(bool $flag, string $field_override = ?): SolrQuery

Used to indicate that in addition to the Term-based constraints of a facet field, a count of all matching results which have no value for the field should be computed

Bağımsız Değişkenler

flag

true turns this feature on. false disables it.

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the offset into the list of constraints to allow for pagination

  • « SolrQuery::setFacetMissing
  • SolrQuery::setFacetPrefix »
  • PHP Manual
  • SolrQuery
  • Sets the offset into the list of constraints to allow for pagination

SolrQuery::setFacetOffset

(PECL solr >= 0.9.2)

SolrQuery::setFacetOffset — Sets the offset into the list of constraints to allow for pagination

Açıklama

public SolrQuery::setFacetOffset(int $offset, string $field_override = ?): SolrQuery

Sets the offset into the list of constraints to allow for pagination.

Bağımsız Değişkenler

offset

The offset

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies a string prefix with which to limits the terms on which to facet

  • « SolrQuery::setFacetOffset
  • SolrQuery::setFacetSort »
  • PHP Manual
  • SolrQuery
  • Specifies a string prefix with which to limits the terms on which to facet

SolrQuery::setFacetPrefix

(PECL solr >= 0.9.2)

SolrQuery::setFacetPrefix — Specifies a string prefix with which to limits the terms on which to facet

Açıklama

public SolrQuery::setFacetPrefix(string $prefix, string $field_override = ?): SolrQuery

Specifies a string prefix with which to limits the terms on which to facet.

Bağımsız Değişkenler

prefix

The prefix string

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Determines the ordering of the facet field constraints

  • « SolrQuery::setFacetPrefix
  • SolrQuery::setGroup »
  • PHP Manual
  • SolrQuery
  • Determines the ordering of the facet field constraints

SolrQuery::setFacetSort

(PECL solr >= 0.9.2)

SolrQuery::setFacetSort — Determines the ordering of the facet field constraints

Açıklama

public SolrQuery::setFacetSort(int $facetSort, string $field_override = ?): SolrQuery

Determines the ordering of the facet field constraints

Bağımsız Değişkenler

facetSort

Use SolrQuery::FACET_SORT_INDEX for sorting by index order or SolrQuery::FACET_SORT_COUNT for sorting by count.

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Enable/Disable result grouping (group parameter)

  • « SolrQuery::setFacetSort
  • SolrQuery::setGroupCachePercent »
  • PHP Manual
  • SolrQuery
  • Enable/Disable result grouping (group parameter)

SolrQuery::setGroup

(PECL solr >= 2.2.0)

SolrQuery::setGroup — Enable/Disable result grouping (group parameter)

Açıklama

public SolrQuery::setGroup(bool $value): SolrQuery

Enable/Disable result grouping (group parameter)

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::getGroup() - Returns true if grouping is enabled
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Enables caching for result grouping

  • « SolrQuery::setGroup
  • SolrQuery::setGroupFacet »
  • PHP Manual
  • SolrQuery
  • Enables caching for result grouping

SolrQuery::setGroupCachePercent

(PECL solr >= 2.2.0)

SolrQuery::setGroupCachePercent — Enables caching for result grouping

Açıklama

public SolrQuery::setGroupCachePercent(int $percent): SolrQuery

Setting this parameter to a number greater than 0 enables caching for result grouping. Result Grouping executes two searches; this option caches the second search. The server default value is 0. Testing has shown that group caching only improves search time with Boolean, wildcard, and fuzzy queries. For simple queries like term or "match all" queries, group caching degrades performance. group.cache.percent parameter

Bağımsız Değişkenler

percent

Dönen Değerler

Hatalar/İstisnalar

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)


Sets group.facet parameter

  • « SolrQuery::setGroupCachePercent
  • SolrQuery::setGroupFormat »
  • PHP Manual
  • SolrQuery
  • Sets group.facet parameter

SolrQuery::setGroupFacet

(PECL solr >= 2.2.0)

SolrQuery::setGroupFacet — Sets group.facet parameter

Açıklama

public SolrQuery::setGroupFacet(bool $value): SolrQuery

Determines whether to compute grouped facets for the field facets specified in facet.field parameters. Grouped facets are computed based on the first specified group.

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Sets the group format, result structure (group.format parameter)

  • « SolrQuery::setGroupFacet
  • SolrQuery::setGroupLimit »
  • PHP Manual
  • SolrQuery
  • Sets the group format, result structure (group.format parameter)

SolrQuery::setGroupFormat

(PECL solr >= 2.2.0)

SolrQuery::setGroupFormat — Sets the group format, result structure (group.format parameter)

Açıklama

public SolrQuery::setGroupFormat(string $value): SolrQuery

Sets the group.format parameter. If this parameter is set to simple, the grouped documents are presented in a single flat list, and the start and rows parameters affect the numbers of documents instead of groups. Accepts: grouped/simple

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Specifies the number of results to return for each group. The server default value is 1

  • « SolrQuery::setGroupFormat
  • SolrQuery::setGroupMain »
  • PHP Manual
  • SolrQuery
  • Specifies the number of results to return for each group. The server default value is 1

SolrQuery::setGroupLimit

(PECL solr >= 2.2.0)

SolrQuery::setGroupLimit — Specifies the number of results to return for each group. The server default value is 1

Açıklama

public SolrQuery::setGroupLimit(int $value): SolrQuery

Specifies the number of results to return for each group. The server default value is 1.

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

  • « SolrQuery::setGroupLimit
  • SolrQuery::setGroupNGroups »
  • PHP Manual
  • SolrQuery
  • If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

SolrQuery::setGroupMain

(PECL solr >= 2.2.0)

SolrQuery::setGroupMain — If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple

Açıklama

public SolrQuery::setGroupMain(string $value): SolrQuery

If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple.

Bağımsız Değişkenler

value

If true, the result of the first field grouping command is used as the main result list in the response.

Dönen Değerler

Returns an instance of SolrQuery.

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupMain()
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, Solr includes the number of groups that have matched the query in the results

  • « SolrQuery::setGroupMain
  • SolrQuery::setGroupOffset »
  • PHP Manual
  • SolrQuery
  • If true, Solr includes the number of groups that have matched the query in the results

SolrQuery::setGroupNGroups

(PECL solr >= 2.2.0)

SolrQuery::setGroupNGroups — If true, Solr includes the number of groups that have matched the query in the results

Açıklama

public SolrQuery::setGroupNGroups(bool $value): SolrQuery

If true, Solr includes the number of groups that have matched the query in the results.

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Sets the group.offset parameter

  • « SolrQuery::setGroupNGroups
  • SolrQuery::setGroupTruncate »
  • PHP Manual
  • SolrQuery
  • Sets the group.offset parameter

SolrQuery::setGroupOffset

(PECL solr >= 2.2.0)

SolrQuery::setGroupOffset — Sets the group.offset parameter

Açıklama

public SolrQuery::setGroupOffset(int $value): SolrQuery

Sets the group.offset parameter.

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupTruncate() - If true, facet counts are based on the most relevant document of each group matching the query
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


If true, facet counts are based on the most relevant document of each group matching the query

  • « SolrQuery::setGroupOffset
  • SolrQuery::setHighlight »
  • PHP Manual
  • SolrQuery
  • If true, facet counts are based on the most relevant document of each group matching the query

SolrQuery::setGroupTruncate

(PECL solr >= 2.2.0)

SolrQuery::setGroupTruncate — If true, facet counts are based on the most relevant document of each group matching the query

Açıklama

public SolrQuery::setGroupTruncate(bool $value): SolrQuery

If true, facet counts are based on the most relevant document of each group matching the query. The server default value is false. group.truncate parameter

Bağımsız Değişkenler

value

Dönen Değerler

Ayrıca Bakınız

  • SolrQuery::setGroup() - Enable/Disable result grouping (group parameter)
  • SolrQuery::addGroupField() - Add a field to be used to group results
  • SolrQuery::addGroupFunction() - Allows grouping results based on the unique values of a function query (group.func parameter)
  • SolrQuery::addGroupQuery() - Allows grouping of documents that match the given query
  • SolrQuery::addGroupSortField() - Add a group sort field (group.sort parameter)
  • SolrQuery::setGroupFacet() - Sets group.facet parameter
  • SolrQuery::setGroupOffset() - Sets the group.offset parameter
  • SolrQuery::setGroupLimit() - Specifies the number of results to return for each group. The server default value is 1
  • SolrQuery::setGroupMain() - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
  • SolrQuery::setGroupNGroups() - If true, Solr includes the number of groups that have matched the query in the results
  • SolrQuery::setGroupFormat() - Sets the group format, result structure (group.format parameter)
  • SolrQuery::setGroupCachePercent() - Enables caching for result grouping


Enables or disables highlighting

  • « SolrQuery::setGroupTruncate
  • SolrQuery::setHighlightAlternateField »
  • PHP Manual
  • SolrQuery
  • Enables or disables highlighting

SolrQuery::setHighlight

(PECL solr >= 0.9.2)

SolrQuery::setHighlight — Enables or disables highlighting

Açıklama

public SolrQuery::setHighlight(bool $flag): SolrQuery

Setting it to true enables highlighted snippets to be generated in the query response.

Setting it to false disables highlighting

Bağımsız Değişkenler

flag

Enable or disable highlighting

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the backup field to use

  • « SolrQuery::setHighlight
  • SolrQuery::setHighlightFormatter »
  • PHP Manual
  • SolrQuery
  • Specifies the backup field to use

SolrQuery::setHighlightAlternateField

(PECL solr >= 0.9.2)

SolrQuery::setHighlightAlternateField — Specifies the backup field to use

Açıklama

public SolrQuery::setHighlightAlternateField(string $field, string $field_override = ?): SolrQuery

If a snippet cannot be generated because there were no matching terms, one can specify a field to use as the backup or default summary

Bağımsız Değişkenler

field

The name of the backup field

field_override

The name of the field we are overriding this setting for.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specify a formatter for the highlight output

  • « SolrQuery::setHighlightAlternateField
  • SolrQuery::setHighlightFragmenter »
  • PHP Manual
  • SolrQuery
  • Specify a formatter for the highlight output

SolrQuery::setHighlightFormatter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFormatter — Specify a formatter for the highlight output

Açıklama

public SolrQuery::setHighlightFormatter(string $formatter, string $field_override = ?): SolrQuery

Specify a formatter for the highlight output.

Bağımsız Değişkenler

formatter

Currently the only legal value is "simple"

field_override

The name of the field.

Dönen Değerler

Returns an instance of SolrQuery.


Sets a text snippet generator for highlighted text

  • « SolrQuery::setHighlightFormatter
  • SolrQuery::setHighlightFragsize »
  • PHP Manual
  • SolrQuery
  • Sets a text snippet generator for highlighted text

SolrQuery::setHighlightFragmenter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragmenter — Sets a text snippet generator for highlighted text

Açıklama

public SolrQuery::setHighlightFragmenter(string $fragmenter, string $field_override = ?): SolrQuery

Specify a text snippet generator for highlighted text.

Bağımsız Değişkenler

fragmenter

The standard fragmenter is gap. Another option is regex, which tries to create fragments that resembles a certain regular expression

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


The size of fragments to consider for highlighting

  • « SolrQuery::setHighlightFragmenter
  • SolrQuery::setHighlightHighlightMultiTerm »
  • PHP Manual
  • SolrQuery
  • The size of fragments to consider for highlighting

SolrQuery::setHighlightFragsize

(PECL solr >= 0.9.2)

SolrQuery::setHighlightFragsize — The size of fragments to consider for highlighting

Açıklama

public SolrQuery::setHighlightFragsize(int $size, string $field_override = ?): SolrQuery

Sets the size, in characters, of fragments to consider for highlighting. "0" indicates that the whole field value should be used (no fragmenting).

Bağımsız Değişkenler

size

The size, in characters, of fragments to consider for highlighting

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Use SpanScorer to highlight phrase terms

  • « SolrQuery::setHighlightFragsize
  • SolrQuery::setHighlightMaxAlternateFieldLength »
  • PHP Manual
  • SolrQuery
  • Use SpanScorer to highlight phrase terms

SolrQuery::setHighlightHighlightMultiTerm

(PECL solr >= 0.9.2)

SolrQuery::setHighlightHighlightMultiTerm — Use SpanScorer to highlight phrase terms

Açıklama

public SolrQuery::setHighlightHighlightMultiTerm(bool $flag): SolrQuery

Use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Bağımsız Değişkenler

flag

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of characters of the field to return

  • « SolrQuery::setHighlightHighlightMultiTerm
  • SolrQuery::setHighlightMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of characters of the field to return

SolrQuery::setHighlightMaxAlternateFieldLength

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAlternateFieldLength — Sets the maximum number of characters of the field to return

Açıklama

public SolrQuery::setHighlightMaxAlternateFieldLength(int $fieldLength, string $field_override = ?): SolrQuery

If SolrQuery::setHighlightAlternateField() was passed the value true, this parameter specifies the maximum number of characters of the field to return

Any value less than or equal to 0 means unlimited.

Bağımsız Değişkenler

fieldLength

The length of the field

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the number of characters into a document to look for suitable snippets

  • « SolrQuery::setHighlightMaxAlternateFieldLength
  • SolrQuery::setHighlightMergeContiguous »
  • PHP Manual
  • SolrQuery
  • Specifies the number of characters into a document to look for suitable snippets

SolrQuery::setHighlightMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMaxAnalyzedChars — Specifies the number of characters into a document to look for suitable snippets

Açıklama

public SolrQuery::setHighlightMaxAnalyzedChars(int $value): SolrQuery

Specifies the number of characters into a document to look for suitable snippets

Bağımsız Değişkenler

value

The number of characters into a document to look for suitable snippets

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Whether or not to collapse contiguous fragments into a single fragment

  • « SolrQuery::setHighlightMaxAnalyzedChars
  • SolrQuery::setHighlightRegexMaxAnalyzedChars »
  • PHP Manual
  • SolrQuery
  • Whether or not to collapse contiguous fragments into a single fragment

SolrQuery::setHighlightMergeContiguous

(PECL solr >= 0.9.2)

SolrQuery::setHighlightMergeContiguous — Whether or not to collapse contiguous fragments into a single fragment

Açıklama

public SolrQuery::setHighlightMergeContiguous(bool $flag, string $field_override = ?): SolrQuery

Whether or not to collapse contiguous fragments into a single fragment

Bağımsız Değişkenler

value

Whether or not to collapse contiguous fragments into a single fragment

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specify the maximum number of characters to analyze

  • « SolrQuery::setHighlightMergeContiguous
  • SolrQuery::setHighlightRegexPattern »
  • PHP Manual
  • SolrQuery
  • Specify the maximum number of characters to analyze

SolrQuery::setHighlightRegexMaxAnalyzedChars

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexMaxAnalyzedChars — Specify the maximum number of characters to analyze

Açıklama

public SolrQuery::setHighlightRegexMaxAnalyzedChars(int $maxAnalyzedChars): SolrQuery

Specify the maximum number of characters to analyze from a field when using the regex fragmenter

Bağımsız Değişkenler

maxAnalyzedChars

The maximum number of characters to analyze from a field when using the regex fragmenter

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specify the regular expression for fragmenting

  • « SolrQuery::setHighlightRegexMaxAnalyzedChars
  • SolrQuery::setHighlightRegexSlop »
  • PHP Manual
  • SolrQuery
  • Specify the regular expression for fragmenting

SolrQuery::setHighlightRegexPattern

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexPattern — Specify the regular expression for fragmenting

Açıklama

public SolrQuery::setHighlightRegexPattern(string $value): SolrQuery

Specifies the regular expression for fragmenting. This could be used to extract sentences

Bağımsız Değişkenler

value

The regular expression for fragmenting. This could be used to extract sentences

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the factor by which the regex fragmenter can stray from the ideal fragment size

  • « SolrQuery::setHighlightRegexPattern
  • SolrQuery::setHighlightRequireFieldMatch »
  • PHP Manual
  • SolrQuery
  • Sets the factor by which the regex fragmenter can stray from the ideal fragment size

SolrQuery::setHighlightRegexSlop

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRegexSlop — Sets the factor by which the regex fragmenter can stray from the ideal fragment size

Açıklama

public SolrQuery::setHighlightRegexSlop(float $factor): SolrQuery

The factor by which the regex fragmenter can stray from the ideal fragment size ( specfied by SolrQuery::setHighlightFragsize )to accommodate the regular expression

Bağımsız Değişkenler

factor

The factor by which the regex fragmenter can stray from the ideal fragment size

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Require field matching during highlighting

  • « SolrQuery::setHighlightRegexSlop
  • SolrQuery::setHighlightSimplePost »
  • PHP Manual
  • SolrQuery
  • Require field matching during highlighting

SolrQuery::setHighlightRequireFieldMatch

(PECL solr >= 0.9.2)

SolrQuery::setHighlightRequireFieldMatch — Require field matching during highlighting

Açıklama

public SolrQuery::setHighlightRequireFieldMatch(bool $flag): SolrQuery

If true, then a field will only be highlighted if the query matched in this particular field.

This will only work if SolrQuery::setHighlightUsePhraseHighlighter() was set to true

Bağımsız Değişkenler

flag

true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the text which appears after a highlighted term

  • « SolrQuery::setHighlightRequireFieldMatch
  • SolrQuery::setHighlightSimplePre »
  • PHP Manual
  • SolrQuery
  • Sets the text which appears after a highlighted term

SolrQuery::setHighlightSimplePost

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePost — Sets the text which appears after a highlighted term

Açıklama

public SolrQuery::setHighlightSimplePost(string $simplePost, string $field_override = ?): SolrQuery

Sets the text which appears before a highlighted term

Bağımsız Değişkenler

simplePost

Sets the text which appears after a highlighted term

The default is </em>

field_override

The name of the field.

Dönen Değerler

Returns an instance of SolrQuery.


Sets the text which appears before a highlighted term

  • « SolrQuery::setHighlightSimplePost
  • SolrQuery::setHighlightSnippets »
  • PHP Manual
  • SolrQuery
  • Sets the text which appears before a highlighted term

SolrQuery::setHighlightSimplePre

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSimplePre — Sets the text which appears before a highlighted term

Açıklama

public SolrQuery::setHighlightSimplePre(string $simplePre, string $field_override = ?): SolrQuery

Sets the text which appears before a highlighted term

The default is <em>

Bağımsız Değişkenler

simplePre

The text which appears before a highlighted term

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of highlighted snippets to generate per field

  • « SolrQuery::setHighlightSimplePre
  • SolrQuery::setHighlightUsePhraseHighlighter »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of highlighted snippets to generate per field

SolrQuery::setHighlightSnippets

(PECL solr >= 0.9.2)

SolrQuery::setHighlightSnippets — Sets the maximum number of highlighted snippets to generate per field

Açıklama

public SolrQuery::setHighlightSnippets(int $value, string $field_override = ?): SolrQuery

Sets the maximum number of highlighted snippets to generate per field

Bağımsız Değişkenler

value

The maximum number of highlighted snippets to generate per field

field_override

The name of the field.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Whether to highlight phrase terms only when they appear within the query phrase

  • « SolrQuery::setHighlightSnippets
  • SolrQuery::setMlt »
  • PHP Manual
  • SolrQuery
  • Whether to highlight phrase terms only when they appear within the query phrase

SolrQuery::setHighlightUsePhraseHighlighter

(PECL solr >= 0.9.2)

SolrQuery::setHighlightUsePhraseHighlighter — Whether to highlight phrase terms only when they appear within the query phrase

Açıklama

public SolrQuery::setHighlightUsePhraseHighlighter(bool $flag): SolrQuery

Sets whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Bağımsız Değişkenler

value

Whether or not to use SpanScorer to highlight phrase terms only when they appear within the query phrase in the document

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Enables or disables moreLikeThis

  • « SolrQuery::setHighlightUsePhraseHighlighter
  • SolrQuery::setMltBoost »
  • PHP Manual
  • SolrQuery
  • Enables or disables moreLikeThis

SolrQuery::setMlt

(PECL solr >= 0.9.2)

SolrQuery::setMlt — Enables or disables moreLikeThis

Açıklama

public SolrQuery::setMlt(bool $flag): SolrQuery

Enables or disables moreLikeThis

Bağımsız Değişkenler

flag

true enables it and false turns it off.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Set if the query will be boosted by the interesting term relevance

  • « SolrQuery::setMlt
  • SolrQuery::setMltCount »
  • PHP Manual
  • SolrQuery
  • Set if the query will be boosted by the interesting term relevance

SolrQuery::setMltBoost

(PECL solr >= 0.9.2)

SolrQuery::setMltBoost — Set if the query will be boosted by the interesting term relevance

Açıklama

public SolrQuery::setMltBoost(bool $flag): SolrQuery

Set if the query will be boosted by the interesting term relevance

Bağımsız Değişkenler

value

Sets to true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Set the number of similar documents to return for each result

  • « SolrQuery::setMltBoost
  • SolrQuery::setMltMaxNumQueryTerms »
  • PHP Manual
  • SolrQuery
  • Set the number of similar documents to return for each result

SolrQuery::setMltCount

(PECL solr >= 0.9.2)

SolrQuery::setMltCount — Set the number of similar documents to return for each result

Açıklama

public SolrQuery::setMltCount(int $count): SolrQuery

Set the number of similar documents to return for each result

Bağımsız Değişkenler

count

The number of similar documents to return for each result

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of query terms included

  • « SolrQuery::setMltCount
  • SolrQuery::setMltMaxNumTokens »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of query terms included

SolrQuery::setMltMaxNumQueryTerms

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumQueryTerms — Sets the maximum number of query terms included

Açıklama

public SolrQuery::setMltMaxNumQueryTerms(int $value): SolrQuery

Sets the maximum number of query terms that will be included in any generated query.

Bağımsız Değişkenler

value

The maximum number of query terms that will be included in any generated query

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the maximum number of tokens to parse

  • « SolrQuery::setMltMaxNumQueryTerms
  • SolrQuery::setMltMaxWordLength »
  • PHP Manual
  • SolrQuery
  • Specifies the maximum number of tokens to parse

SolrQuery::setMltMaxNumTokens

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxNumTokens — Specifies the maximum number of tokens to parse

Açıklama

public SolrQuery::setMltMaxNumTokens(int $value): SolrQuery

Specifies the maximum number of tokens to parse in each example doc field that is not stored with TermVector support.

Bağımsız Değişkenler

value

The maximum number of tokens to parse

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum word length

  • « SolrQuery::setMltMaxNumTokens
  • SolrQuery::setMltMinDocFrequency »
  • PHP Manual
  • SolrQuery
  • Sets the maximum word length

SolrQuery::setMltMaxWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMaxWordLength — Sets the maximum word length

Açıklama

public SolrQuery::setMltMaxWordLength(int $maxWordLength): SolrQuery

Sets the maximum word length above which words will be ignored.

Bağımsız Değişkenler

maxWordLength

The maximum word length above which words will be ignored

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the mltMinDoc frequency

  • « SolrQuery::setMltMaxWordLength
  • SolrQuery::setMltMinTermFrequency »
  • PHP Manual
  • SolrQuery
  • Sets the mltMinDoc frequency

SolrQuery::setMltMinDocFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinDocFrequency — Sets the mltMinDoc frequency

Açıklama

public SolrQuery::setMltMinDocFrequency(int $minDocFrequency): SolrQuery

The frequency at which words will be ignored which do not occur in at least this many docs.

Bağımsız Değişkenler

minDocFrequency

Sets the frequency at which words will be ignored which do not occur in at least this many docs.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the frequency below which terms will be ignored in the source docs

  • « SolrQuery::setMltMinDocFrequency
  • SolrQuery::setMltMinWordLength »
  • PHP Manual
  • SolrQuery
  • Sets the frequency below which terms will be ignored in the source docs

SolrQuery::setMltMinTermFrequency

(PECL solr >= 0.9.2)

SolrQuery::setMltMinTermFrequency — Sets the frequency below which terms will be ignored in the source docs

Açıklama

public SolrQuery::setMltMinTermFrequency(int $minTermFrequency): SolrQuery

Sets the frequency below which terms will be ignored in the source docs

Bağımsız Değişkenler

minTermFrequency

The frequency below which terms will be ignored in the source docs

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the minimum word length

  • « SolrQuery::setMltMinTermFrequency
  • SolrQuery::setOmitHeader »
  • PHP Manual
  • SolrQuery
  • Sets the minimum word length

SolrQuery::setMltMinWordLength

(PECL solr >= 0.9.2)

SolrQuery::setMltMinWordLength — Sets the minimum word length

Açıklama

public SolrQuery::setMltMinWordLength(int $minWordLength): SolrQuery

Sets the minimum word length below which words will be ignored.

Bağımsız Değişkenler

minWordLength

The minimum word length below which words will be ignored

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Exclude the header from the returned results

  • « SolrQuery::setMltMinWordLength
  • SolrQuery::setQuery »
  • PHP Manual
  • SolrQuery
  • Exclude the header from the returned results

SolrQuery::setOmitHeader

(PECL solr >= 0.9.2)

SolrQuery::setOmitHeader — Exclude the header from the returned results

Açıklama

public SolrQuery::setOmitHeader(bool $flag): SolrQuery

Exclude the header from the returned results.

Bağımsız Değişkenler

flag

true excludes the header from the result.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the search query

  • « SolrQuery::setOmitHeader
  • SolrQuery::setRows »
  • PHP Manual
  • SolrQuery
  • Sets the search query

SolrQuery::setQuery

(PECL solr >= 0.9.2)

SolrQuery::setQuery — Sets the search query

Açıklama

public SolrQuery::setQuery(string $query): SolrQuery

Sets the search query.

Bağımsız Değişkenler

query

The search query

Dönen Değerler

Returns the current SolrQuery object


Specifies the maximum number of rows to return in the result

  • « SolrQuery::setQuery
  • SolrQuery::setShowDebugInfo »
  • PHP Manual
  • SolrQuery
  • Specifies the maximum number of rows to return in the result

SolrQuery::setRows

(PECL solr >= 0.9.2)

SolrQuery::setRows — Specifies the maximum number of rows to return in the result

Açıklama

public SolrQuery::setRows(int $rows): SolrQuery

Specifies the maximum number of rows to return in the result

Bağımsız Değişkenler

rows

The maximum number of rows to return

Dönen Değerler

Returns the current SolrQuery object.


Flag to show debug information

  • « SolrQuery::setRows
  • SolrQuery::setStart »
  • PHP Manual
  • SolrQuery
  • Flag to show debug information

SolrQuery::setShowDebugInfo

(PECL solr >= 0.9.2)

SolrQuery::setShowDebugInfo — Flag to show debug information

Açıklama

public SolrQuery::setShowDebugInfo(bool $flag): SolrQuery

Whether to show debug info

Bağımsız Değişkenler

flag

Whether to show debug info. true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the number of rows to skip

  • « SolrQuery::setShowDebugInfo
  • SolrQuery::setStats »
  • PHP Manual
  • SolrQuery
  • Specifies the number of rows to skip

SolrQuery::setStart

(PECL solr >= 0.9.2)

SolrQuery::setStart — Specifies the number of rows to skip

Açıklama

public SolrQuery::setStart(int $start): SolrQuery

Specifies the number of rows to skip. Useful in pagination of results.

Bağımsız Değişkenler

start

The number of rows to skip.

Dönen Değerler

Returns the current SolrQuery object.


Enables or disables the Stats component

  • « SolrQuery::setStart
  • SolrQuery::setTerms »
  • PHP Manual
  • SolrQuery
  • Enables or disables the Stats component

SolrQuery::setStats

(PECL solr >= 0.9.2)

SolrQuery::setStats — Enables or disables the Stats component

Açıklama

public SolrQuery::setStats(bool $flag): SolrQuery

Enables or disables the Stats component.

Bağımsız Değişkenler

flag

true turns on the stats component and false disables it.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Enables or disables the TermsComponent

  • « SolrQuery::setStats
  • SolrQuery::setTermsField »
  • PHP Manual
  • SolrQuery
  • Enables or disables the TermsComponent

SolrQuery::setTerms

(PECL solr >= 0.9.2)

SolrQuery::setTerms — Enables or disables the TermsComponent

Açıklama

public SolrQuery::setTerms(bool $flag): SolrQuery

Enables or disables the TermsComponent

Bağımsız Değişkenler

flag

true enables it. false turns it off

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the name of the field to get the Terms from

  • « SolrQuery::setTerms
  • SolrQuery::setTermsIncludeLowerBound »
  • PHP Manual
  • SolrQuery
  • Sets the name of the field to get the Terms from

SolrQuery::setTermsField

(PECL solr >= 0.9.2)

SolrQuery::setTermsField — Sets the name of the field to get the Terms from

Açıklama

public SolrQuery::setTermsField(string $fieldname): SolrQuery

Sets the name of the field to get the terms from

Bağımsız Değişkenler

fieldname

The field name

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Include the lower bound term in the result set

  • « SolrQuery::setTermsField
  • SolrQuery::setTermsIncludeUpperBound »
  • PHP Manual
  • SolrQuery
  • Include the lower bound term in the result set

SolrQuery::setTermsIncludeLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeLowerBound — Include the lower bound term in the result set

Açıklama

public SolrQuery::setTermsIncludeLowerBound(bool $flag): SolrQuery

Include the lower bound term in the result set.

Bağımsız Değişkenler

flag

Include the lower bound term in the result set

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Include the upper bound term in the result set

  • « SolrQuery::setTermsIncludeLowerBound
  • SolrQuery::setTermsLimit »
  • PHP Manual
  • SolrQuery
  • Include the upper bound term in the result set

SolrQuery::setTermsIncludeUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsIncludeUpperBound — Include the upper bound term in the result set

Açıklama

public SolrQuery::setTermsIncludeUpperBound(bool $flag): SolrQuery

Include the upper bound term in the result set.

Bağımsız Değişkenler

flag

true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum number of terms to return

  • « SolrQuery::setTermsIncludeUpperBound
  • SolrQuery::setTermsLowerBound »
  • PHP Manual
  • SolrQuery
  • Sets the maximum number of terms to return

SolrQuery::setTermsLimit

(PECL solr >= 0.9.2)

SolrQuery::setTermsLimit — Sets the maximum number of terms to return

Açıklama

public SolrQuery::setTermsLimit(int $limit): SolrQuery

Sets the maximum number of terms to return

Bağımsız Değişkenler

limit

The maximum number of terms to return. All the terms will be returned if the limit is negative.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies the Term to start from

  • « SolrQuery::setTermsLimit
  • SolrQuery::setTermsMaxCount »
  • PHP Manual
  • SolrQuery
  • Specifies the Term to start from

SolrQuery::setTermsLowerBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsLowerBound — Specifies the Term to start from

Açıklama

public SolrQuery::setTermsLowerBound(string $lowerBound): SolrQuery

Specifies the Term to start from

Bağımsız Değişkenler

lowerBound

The lower bound Term

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the maximum document frequency

  • « SolrQuery::setTermsLowerBound
  • SolrQuery::setTermsMinCount »
  • PHP Manual
  • SolrQuery
  • Sets the maximum document frequency

SolrQuery::setTermsMaxCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMaxCount — Sets the maximum document frequency

Açıklama

public SolrQuery::setTermsMaxCount(int $frequency): SolrQuery

Sets the maximum document frequency.

Bağımsız Değişkenler

frequency

The maximum document frequency.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the minimum document frequency

  • « SolrQuery::setTermsMaxCount
  • SolrQuery::setTermsPrefix »
  • PHP Manual
  • SolrQuery
  • Sets the minimum document frequency

SolrQuery::setTermsMinCount

(PECL solr >= 0.9.2)

SolrQuery::setTermsMinCount — Sets the minimum document frequency

Açıklama

public SolrQuery::setTermsMinCount(int $frequency): SolrQuery

Sets the minimum doc frequency to return in order to be included

Bağımsız Değişkenler

frequency

The minimum frequency

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Restrict matches to terms that start with the prefix

  • « SolrQuery::setTermsMinCount
  • SolrQuery::setTermsReturnRaw »
  • PHP Manual
  • SolrQuery
  • Restrict matches to terms that start with the prefix

SolrQuery::setTermsPrefix

(PECL solr >= 0.9.2)

SolrQuery::setTermsPrefix — Restrict matches to terms that start with the prefix

Açıklama

public SolrQuery::setTermsPrefix(string $prefix): SolrQuery

Restrict matches to terms that start with the prefix

Bağımsız Değişkenler

prefix

Restrict matches to terms that start with the prefix

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Return the raw characters of the indexed term

  • « SolrQuery::setTermsPrefix
  • SolrQuery::setTermsSort »
  • PHP Manual
  • SolrQuery
  • Return the raw characters of the indexed term

SolrQuery::setTermsReturnRaw

(PECL solr >= 0.9.2)

SolrQuery::setTermsReturnRaw — Return the raw characters of the indexed term

Açıklama

public SolrQuery::setTermsReturnRaw(bool $flag): SolrQuery

If true, return the raw characters of the indexed term, regardless of if it is human readable

Bağımsız Değişkenler

value

true or false

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Specifies how to sort the returned terms

  • « SolrQuery::setTermsReturnRaw
  • SolrQuery::setTermsUpperBound »
  • PHP Manual
  • SolrQuery
  • Specifies how to sort the returned terms

SolrQuery::setTermsSort

(PECL solr >= 0.9.2)

SolrQuery::setTermsSort — Specifies how to sort the returned terms

Açıklama

public SolrQuery::setTermsSort(int $sortType): SolrQuery

If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the terms in index order

Bağımsız Değişkenler

sortType

SolrQuery::TERMS_SORT_INDEX or SolrQuery::TERMS_SORT_COUNT

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


Sets the term to stop at

  • « SolrQuery::setTermsSort
  • SolrQuery::setTimeAllowed »
  • PHP Manual
  • SolrQuery
  • Sets the term to stop at

SolrQuery::setTermsUpperBound

(PECL solr >= 0.9.2)

SolrQuery::setTermsUpperBound — Sets the term to stop at

Açıklama

public SolrQuery::setTermsUpperBound(string $upperBound): SolrQuery

Sets the term to stop at

Bağımsız Değişkenler

upperBound

The term to stop at

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


The time allowed for search to finish

  • « SolrQuery::setTermsUpperBound
  • SolrDisMaxQuery »
  • PHP Manual
  • SolrQuery
  • The time allowed for search to finish

SolrQuery::setTimeAllowed

(PECL solr >= 0.9.2)

SolrQuery::setTimeAllowed — The time allowed for search to finish

Açıklama

public SolrQuery::setTimeAllowed(int $timeAllowed): SolrQuery

The time allowed for a search to finish. This value only applies to the search and not to requests in general. Time is in milliseconds. Values less than or equal to zero implies no time restriction. Partial results may be returned, if there are any.

Bağımsız Değişkenler

timeAllowed

The time allowed for a search to finish.

Dönen Değerler

Returns the current SolrQuery object, if the return value is used.


The SolrDisMaxQuery class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class SolrDisMaxQuery extends SolrQuery implements Serializable {
/* Miras alınan özellikler */
const int SolrQuery::ORDER_ASC = 0;
const int SolrQuery::ORDER_DESC = 1;
const int SolrQuery::FACET_SORT_INDEX = 0;
const int SolrQuery::FACET_SORT_COUNT = 1;
const int SolrQuery::TERMS_SORT_INDEX = 0;
const int SolrQuery::TERMS_SORT_COUNT = 1;
/* Yöntemler */
public __construct(string $q = ?)
public addBigramPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery
public addBoostQuery(string $field, string $value, string $boost = ?): SolrDisMaxQuery
public addPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery
public addQueryField(string $field, string $boost = ?): SolrDisMaxQuery
public addTrigramPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery
public addUserField(string $field): SolrDisMaxQuery
public removeBigramPhraseField(string $field): SolrDisMaxQuery
public removeBoostQuery(string $field): SolrDisMaxQuery
public removePhraseField(string $field): SolrDisMaxQuery
public removeQueryField(string $field): SolrDisMaxQuery
public removeTrigramPhraseField(string $field): SolrDisMaxQuery
public removeUserField(string $field): SolrDisMaxQuery
public setBigramPhraseFields(string $fields): SolrDisMaxQuery
public setBigramPhraseSlop(string $slop): SolrDisMaxQuery
public setBoostFunction(string $function): SolrDisMaxQuery
public setBoostQuery(string $q): SolrDisMaxQuery
public setMinimumMatch(string $value): SolrDisMaxQuery
public setPhraseFields(string $fields): SolrDisMaxQuery
public setPhraseSlop(string $slop): SolrDisMaxQuery
public setQueryAlt(string $q): SolrDisMaxQuery
public setQueryPhraseSlop(string $slop): SolrDisMaxQuery
public setTieBreaker(string $tieBreaker): SolrDisMaxQuery
public setTrigramPhraseFields(string $fields): SolrDisMaxQuery
public setTrigramPhraseSlop(string $slop): SolrDisMaxQuery
public setUserFields(string $fields): SolrDisMaxQuery
public useDisMaxQueryParser(): SolrDisMaxQuery
public useEDisMaxQueryParser(): SolrDisMaxQuery
/* Miras alınan yöntemler */
public SolrQuery::addExpandFilterQuery(string $fq): SolrQuery
public SolrQuery::addExpandSortField(string $field, string $order = ?): SolrQuery
public SolrQuery::addFacetDateField(string $dateField): SolrQuery
public SolrQuery::addFacetDateOther(string $value, string $field_override = ?): SolrQuery
public SolrQuery::addFacetField(string $field): SolrQuery
public SolrQuery::addFacetQuery(string $facetQuery): SolrQuery
public SolrQuery::addField(string $field): SolrQuery
public SolrQuery::addFilterQuery(string $fq): SolrQuery
public SolrQuery::addGroupField(string $value): SolrQuery
public SolrQuery::addGroupFunction(string $value): SolrQuery
public SolrQuery::addGroupQuery(string $value): SolrQuery
public SolrQuery::addGroupSortField(string $field, int $order = ?): SolrQuery
public SolrQuery::addHighlightField(string $field): SolrQuery
public SolrQuery::addMltField(string $field): SolrQuery
public SolrQuery::addMltQueryField(string $field, float $boost): SolrQuery
public SolrQuery::addSortField(string $field, int $order = SolrQuery::ORDER_DESC): SolrQuery
public SolrQuery::addStatsFacet(string $field): SolrQuery
public SolrQuery::addStatsField(string $field): SolrQuery
public SolrQuery::collapse(SolrCollapseFunction $collapseFunction): SolrQuery
public SolrQuery::getExpand(): bool
public SolrQuery::getExpandFilterQueries(): array
public SolrQuery::getExpandQuery(): array
public SolrQuery::getExpandRows(): int
public SolrQuery::getExpandSortFields(): array
public SolrQuery::getFacet(): bool
public SolrQuery::getFacetDateEnd(string $field_override = ?): string
public SolrQuery::getFacetDateFields(): array
public SolrQuery::getFacetDateGap(string $field_override = ?): string
public SolrQuery::getFacetDateHardEnd(string $field_override = ?): string
public SolrQuery::getFacetDateOther(string $field_override = ?): array
public SolrQuery::getFacetDateStart(string $field_override = ?): string
public SolrQuery::getFacetFields(): array
public SolrQuery::getFacetLimit(string $field_override = ?): int
public SolrQuery::getFacetMethod(string $field_override = ?): string
public SolrQuery::getFacetMinCount(string $field_override = ?): int
public SolrQuery::getFacetMissing(string $field_override = ?): bool
public SolrQuery::getFacetOffset(string $field_override = ?): int
public SolrQuery::getFacetPrefix(string $field_override = ?): string
public SolrQuery::getFacetQueries(): array
public SolrQuery::getFacetSort(string $field_override = ?): int
public SolrQuery::getFields(): array
public SolrQuery::getFilterQueries(): array
public SolrQuery::getGroup(): bool
public SolrQuery::getGroupCachePercent(): int
public SolrQuery::getGroupFacet(): bool
public SolrQuery::getGroupFields(): array
public SolrQuery::getGroupFormat(): string
public SolrQuery::getGroupFunctions(): array
public SolrQuery::getGroupLimit(): int
public SolrQuery::getGroupMain(): bool
public SolrQuery::getGroupNGroups(): bool
public SolrQuery::getGroupOffset(): int
public SolrQuery::getGroupQueries(): array
public SolrQuery::getGroupSortFields(): array
public SolrQuery::getGroupTruncate(): bool
public SolrQuery::getHighlight(): bool
public SolrQuery::getHighlightAlternateField(string $field_override = ?): string
public SolrQuery::getHighlightFields(): array
public SolrQuery::getHighlightFormatter(string $field_override = ?): string
public SolrQuery::getHighlightFragmenter(string $field_override = ?): string
public SolrQuery::getHighlightFragsize(string $field_override = ?): int
public SolrQuery::getHighlightHighlightMultiTerm(): bool
public SolrQuery::getHighlightMaxAlternateFieldLength(string $field_override = ?): int
public SolrQuery::getHighlightMaxAnalyzedChars(): int
public SolrQuery::getHighlightMergeContiguous(string $field_override = ?): bool
public SolrQuery::getHighlightRegexMaxAnalyzedChars(): int
public SolrQuery::getHighlightRegexPattern(): string
public SolrQuery::getHighlightRegexSlop(): float
public SolrQuery::getHighlightRequireFieldMatch(): bool
public SolrQuery::getHighlightSimplePost(string $field_override = ?): string
public SolrQuery::getHighlightSimplePre(string $field_override = ?): string
public SolrQuery::getHighlightSnippets(string $field_override = ?): int
public SolrQuery::getHighlightUsePhraseHighlighter(): bool
public SolrQuery::getMlt(): bool
public SolrQuery::getMltBoost(): bool
public SolrQuery::getMltCount(): int
public SolrQuery::getMltFields(): array
public SolrQuery::getMltMaxNumQueryTerms(): int
public SolrQuery::getMltMaxNumTokens(): int
public SolrQuery::getMltMaxWordLength(): int
public SolrQuery::getMltMinDocFrequency(): int
public SolrQuery::getMltMinTermFrequency(): int
public SolrQuery::getMltMinWordLength(): int
public SolrQuery::getMltQueryFields(): array
public SolrQuery::getQuery(): string
public SolrQuery::getRows(): int
public SolrQuery::getSortFields(): array
public SolrQuery::getStart(): int
public SolrQuery::getStats(): bool
public SolrQuery::getStatsFacets(): array
public SolrQuery::getStatsFields(): array
public SolrQuery::getTerms(): bool
public SolrQuery::getTermsField(): string
public SolrQuery::getTermsIncludeLowerBound(): bool
public SolrQuery::getTermsIncludeUpperBound(): bool
public SolrQuery::getTermsLimit(): int
public SolrQuery::getTermsLowerBound(): string
public SolrQuery::getTermsMaxCount(): int
public SolrQuery::getTermsMinCount(): int
public SolrQuery::getTermsPrefix(): string
public SolrQuery::getTermsReturnRaw(): bool
public SolrQuery::getTermsSort(): int
public SolrQuery::getTermsUpperBound(): string
public SolrQuery::getTimeAllowed(): int
public SolrQuery::removeExpandFilterQuery(string $fq): SolrQuery
public SolrQuery::removeExpandSortField(string $field): SolrQuery
public SolrQuery::removeFacetDateField(string $field): SolrQuery
public SolrQuery::removeFacetDateOther(string $value, string $field_override = ?): SolrQuery
public SolrQuery::removeFacetField(string $field): SolrQuery
public SolrQuery::removeFacetQuery(string $value): SolrQuery
public SolrQuery::removeField(string $field): SolrQuery
public SolrQuery::removeFilterQuery(string $fq): SolrQuery
public SolrQuery::removeHighlightField(string $field): SolrQuery
public SolrQuery::removeMltField(string $field): SolrQuery
public SolrQuery::removeMltQueryField(string $queryField): SolrQuery
public SolrQuery::removeSortField(string $field): SolrQuery
public SolrQuery::removeStatsFacet(string $value): SolrQuery
public SolrQuery::removeStatsField(string $field): SolrQuery
public SolrQuery::setEchoHandler(bool $flag): SolrQuery
public SolrQuery::setEchoParams(string $type): SolrQuery
public SolrQuery::setExpand(bool $value): SolrQuery
public SolrQuery::setExpandQuery(string $q): SolrQuery
public SolrQuery::setExpandRows(int $value): SolrQuery
public SolrQuery::setExplainOther(string $query): SolrQuery
public SolrQuery::setFacet(bool $flag): SolrQuery
public SolrQuery::setFacetDateEnd(string $value, string $field_override = ?): SolrQuery
public SolrQuery::setFacetDateGap(string $value, string $field_override = ?): SolrQuery
public SolrQuery::setFacetDateHardEnd(bool $value, string $field_override = ?): SolrQuery
public SolrQuery::setFacetDateStart(string $value, string $field_override = ?): SolrQuery
public SolrQuery::setFacetEnumCacheMinDefaultFrequency(int $frequency, string $field_override = ?): SolrQuery
public SolrQuery::setFacetLimit(int $limit, string $field_override = ?): SolrQuery
public SolrQuery::setFacetMethod(string $method, string $field_override = ?): SolrQuery
public SolrQuery::setFacetMinCount(int $mincount, string $field_override = ?): SolrQuery
public SolrQuery::setFacetMissing(bool $flag, string $field_override = ?): SolrQuery
public SolrQuery::setFacetOffset(int $offset, string $field_override = ?): SolrQuery
public SolrQuery::setFacetPrefix(string $prefix, string $field_override = ?): SolrQuery
public SolrQuery::setFacetSort(int $facetSort, string $field_override = ?): SolrQuery
public SolrQuery::setGroup(bool $value): SolrQuery
public SolrQuery::setGroupCachePercent(int $percent): SolrQuery
public SolrQuery::setGroupFacet(bool $value): SolrQuery
public SolrQuery::setGroupFormat(string $value): SolrQuery
public SolrQuery::setGroupLimit(int $value): SolrQuery
public SolrQuery::setGroupMain(string $value): SolrQuery
public SolrQuery::setGroupNGroups(bool $value): SolrQuery
public SolrQuery::setGroupOffset(int $value): SolrQuery
public SolrQuery::setGroupTruncate(bool $value): SolrQuery
public SolrQuery::setHighlight(bool $flag): SolrQuery
public SolrQuery::setHighlightAlternateField(string $field, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightFormatter(string $formatter, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightFragmenter(string $fragmenter, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightFragsize(int $size, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightHighlightMultiTerm(bool $flag): SolrQuery
public SolrQuery::setHighlightMaxAlternateFieldLength(int $fieldLength, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightMaxAnalyzedChars(int $value): SolrQuery
public SolrQuery::setHighlightMergeContiguous(bool $flag, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightRegexMaxAnalyzedChars(int $maxAnalyzedChars): SolrQuery
public SolrQuery::setHighlightRegexPattern(string $value): SolrQuery
public SolrQuery::setHighlightRegexSlop(float $factor): SolrQuery
public SolrQuery::setHighlightRequireFieldMatch(bool $flag): SolrQuery
public SolrQuery::setHighlightSimplePost(string $simplePost, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightSimplePre(string $simplePre, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightSnippets(int $value, string $field_override = ?): SolrQuery
public SolrQuery::setHighlightUsePhraseHighlighter(bool $flag): SolrQuery
public SolrQuery::setMlt(bool $flag): SolrQuery
public SolrQuery::setMltBoost(bool $flag): SolrQuery
public SolrQuery::setMltCount(int $count): SolrQuery
public SolrQuery::setMltMaxNumQueryTerms(int $value): SolrQuery
public SolrQuery::setMltMaxNumTokens(int $value): SolrQuery
public SolrQuery::setMltMaxWordLength(int $maxWordLength): SolrQuery
public SolrQuery::setMltMinDocFrequency(int $minDocFrequency): SolrQuery
public SolrQuery::setMltMinTermFrequency(int $minTermFrequency): SolrQuery
public SolrQuery::setMltMinWordLength(int $minWordLength): SolrQuery
public SolrQuery::setOmitHeader(bool $flag): SolrQuery
public SolrQuery::setQuery(string $query): SolrQuery
public SolrQuery::setRows(int $rows): SolrQuery
public SolrQuery::setShowDebugInfo(bool $flag): SolrQuery
public SolrQuery::setStart(int $start): SolrQuery
public SolrQuery::setStats(bool $flag): SolrQuery
public SolrQuery::setTerms(bool $flag): SolrQuery
public SolrQuery::setTermsField(string $fieldname): SolrQuery
public SolrQuery::setTermsIncludeLowerBound(bool $flag): SolrQuery
public SolrQuery::setTermsIncludeUpperBound(bool $flag): SolrQuery
public SolrQuery::setTermsLimit(int $limit): SolrQuery
public SolrQuery::setTermsLowerBound(string $lowerBound): SolrQuery
public SolrQuery::setTermsMaxCount(int $frequency): SolrQuery
public SolrQuery::setTermsMinCount(int $frequency): SolrQuery
public SolrQuery::setTermsPrefix(string $prefix): SolrQuery
public SolrQuery::setTermsReturnRaw(bool $flag): SolrQuery
public SolrQuery::setTermsSort(int $sortType): SolrQuery
public SolrQuery::setTermsUpperBound(string $upperBound): SolrQuery
public SolrQuery::setTimeAllowed(int $timeAllowed): SolrQuery
}

Öntanımlı Sabitler

SolrDisMaxQuery::ORDER_ASC

Used to specify that the sorting should be in acending order (Duplicated for easier migration)

SolrDisMaxQuery::ORDER_DESC

Used to specify that the sorting should be in descending order (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_INDEX

Used to specify that the facet should sort by index (Duplicated for easier migration)

SolrDisMaxQuery::FACET_SORT_COUNT

Used to specify that the facet should sort by count (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_INDEX

Used in the TermsComponent (Duplicated for easier migration)

SolrDisMaxQuery::TERMS_SORT_COUNT

Used in the TermsComponent (Duplicated for easier migration)

İçindekiler

  • SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)
  • SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::__construct — Class Constructor
  • SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)
  • SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)
  • SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)
  • SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)
  • SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)
  • SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
  • SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)
  • SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)
  • SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser
  • SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax


Adds a Phrase Bigram Field (pf2 parameter)

  • « SolrDisMaxQuery
  • SolrDisMaxQuery::addBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Phrase Bigram Field (pf2 parameter)

SolrDisMaxQuery::addBigramPhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addBigramPhraseField — Adds a Phrase Bigram Field (pf2 parameter)

Açıklama

public SolrDisMaxQuery::addBigramPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery

Adds a Phrase Bigram Field (pf2 parameter) output format: field~slop^boost OR field^boost Slop is optional

Bağımsız Değişkenler

field

boost

slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addBigramPhraseField('cat', 2, 5.1)
->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)


Adds a boost query field with value and optional boost (bq parameter)

  • « SolrDisMaxQuery::addBigramPhraseField
  • SolrDisMaxQuery::addPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a boost query field with value and optional boost (bq parameter)

SolrDisMaxQuery::addBoostQuery

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addBoostQuery — Adds a boost query field with value and optional boost (bq parameter)

Açıklama

public SolrDisMaxQuery::addBoostQuery(string $field, string $value, string $boost = ?): SolrDisMaxQuery

Adds a Boost Query field with value [and boost] (bq parameter)

Bağımsız Değişkenler

field

value

boost

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addBoostQuery('cat', 'clothing', 2)
->addBoostQuery('cat', 'electronics', 5.1)
;
echo $dismaxQuery.PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&bq=cat:clothing^2 cat:electronics^5.1

Ayrıca Bakınız

  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)


Adds a Phrase Field (pf parameter)

  • « SolrDisMaxQuery::addBoostQuery
  • SolrDisMaxQuery::addQueryField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Phrase Field (pf parameter)

SolrDisMaxQuery::addPhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addPhraseField — Adds a Phrase Field (pf parameter)

Açıklama

public SolrDisMaxQuery::addPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery

Adds a Phrase Field (pf parameter)

Bağımsız Değişkenler

field

field name

boost

slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addPhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addPhraseField('cat', 3, 1)
->addPhraseField('third', 4, 2)
->addPhraseField('source', 55)
;
echo $dismaxQuery;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf=cat~1^3 third~2^4 source^55

Ayrıca Bakınız

  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter


Add a query field with optional boost (qf parameter)

  • « SolrDisMaxQuery::addPhraseField
  • SolrDisMaxQuery::addTrigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Add a query field with optional boost (qf parameter)

SolrDisMaxQuery::addQueryField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addQueryField — Add a query field with optional boost (qf parameter)

Açıklama

public SolrDisMaxQuery::addQueryField(string $field, string $boost = ?): SolrDisMaxQuery

Add a query field with optional boost (qf parameter)

Bağımsız Değişkenler

field

field name

boost

Boost value. Boosts documents with matching terms.

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addQueryField("location", 4)
->addQueryField("price")
->addQueryField("sku")
->addQueryField("title",3.4)
;
echo $dismaxQuery;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&qf=location^4 price sku title^3.4

Ayrıca Bakınız

  • SolrDisMaxQuery::removeQueryField() - Removes a Query Field (qf parameter)


Adds a Trigram Phrase Field (pf3 parameter)

  • « SolrDisMaxQuery::addQueryField
  • SolrDisMaxQuery::addUserField »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::addTrigramPhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addTrigramPhraseField — Adds a Trigram Phrase Field (pf3 parameter)

Açıklama

public SolrDisMaxQuery::addTrigramPhraseField(string $field, string $boost, string $slop = ?): SolrDisMaxQuery

Adds a Trigram Phrase Field (pf3 parameter)

Bağımsız Değişkenler

field

Field Name

boost

Field Boost

slop

Field Slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Adds a field to User Fields Parameter (uf)

  • « SolrDisMaxQuery::addTrigramPhraseField
  • SolrDisMaxQuery::__construct »
  • PHP Manual
  • SolrDisMaxQuery
  • Adds a field to User Fields Parameter (uf)

SolrDisMaxQuery::addUserField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::addUserField — Adds a field to User Fields Parameter (uf)

Açıklama

public SolrDisMaxQuery::addUserField(string $field): SolrDisMaxQuery

Adds a field to The User Fields Parameter (uf)

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::addUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt');

echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&uf=cat text *_dt

Ayrıca Bakınız

  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)


Class Constructor

  • « SolrDisMaxQuery::addUserField
  • SolrDisMaxQuery::removeBigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Class Constructor

SolrDisMaxQuery::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::__construct — Class Constructor

Açıklama

public SolrDisMaxQuery::__construct(string $q = ?)

Class constructor initializes the object and sets the q parameter if passed

Bağımsız Değişkenler

q

Search Query (q parameter)

Dönen Değerler

Hatalar/İstisnalar

Emits SolrIllegalArgumentException in case of an invalid parameter was passed.

Örnekler

Örnek 1 SolrDisMaxQuery::__construct() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
echo $dismaxQuery;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=edismax


Removes phrase bigram field (pf2 parameter)

  • « SolrDisMaxQuery::__construct
  • SolrDisMaxQuery::removeBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes phrase bigram field (pf2 parameter)

SolrDisMaxQuery::removeBigramPhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removeBigramPhraseField — Removes phrase bigram field (pf2 parameter)

Açıklama

public SolrDisMaxQuery::removeBigramPhraseField(string $field): SolrDisMaxQuery

Removes a Bigram Phrase Field (pf2 parameter) that was previously added using SolrDisMaxQuery::addBigramPhraseField()

Bağımsız Değişkenler

field

The Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removeBigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addBigramPhraseField('cat', 2, 5.1)
->addBigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;

// remove cat from pf2
$dismaxQuery
->removeBigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5
q=lucene&defType=edismax&pf2=feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::addBigramPhraseField() - Adds a Phrase Bigram Field (pf2 parameter)
  • SolrDisMaxQuery::setBigramPhraseFields() - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)


Removes a boost query partial by field name (bq)

  • « SolrDisMaxQuery::removeBigramPhraseField
  • SolrDisMaxQuery::removePhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a boost query partial by field name (bq)

SolrDisMaxQuery::removeBoostQuery

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removeBoostQuery — Removes a boost query partial by field name (bq)

Açıklama

public SolrDisMaxQuery::removeBoostQuery(string $field): SolrDisMaxQuery

Removes a boost query partial from the existing query, only if SolrDisMaxQuery::addBoostQuery() was used.

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removeBoostQuery() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery
->addBoostQuery('cat', 'electronics', 5.1)
->addBoostQuery('cat', 'hard drive')
;
echo $dismaxQuery.PHP_EOL;
// now remove a query part with field 'cat'
$dismaxQuery
->removeBoostQuery('cat');
echo $dismaxQuery . PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&bq=cat:electronics^5.1 cat:hard drive
q=lucene&defType=edismax&bq=cat:hard drive

Ayrıca Bakınız

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::setBoostQuery() - Directly Sets Boost Query Parameter (bq)


Removes a Phrase Field (pf parameter)

  • « SolrDisMaxQuery::removeBoostQuery
  • SolrDisMaxQuery::removeQueryField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Phrase Field (pf parameter)

SolrDisMaxQuery::removePhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removePhraseField — Removes a Phrase Field (pf parameter)

Açıklama

public SolrDisMaxQuery::removePhraseField(string $field): SolrDisMaxQuery

Removes a Phrase Field (pf parameter) that was previously added using SolrDisMaxQuery::addPhraseField

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removePhraseField() example

<?php
$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addPhraseField('first', 3, 1)
->addPhraseField('second', 4, 1)
->addPhraseField('cat', 55);
echo $dismaxQuery . PHP_EOL;
echo $dismaxQuery->removePhraseField('second');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf=first~1^3 second~1^4 cat^55
q=lucene&defType=edismax&pf=first~1^3 cat^55

Ayrıca Bakınız

  • SolrDisMaxQuery::addPhraseField() - Adds a Phrase Field (pf parameter)
  • SolrDisMaxQuery::setPhraseFields() - Sets Phrase Fields and their boosts (and slops) using pf2 parameter


Removes a Query Field (qf parameter)

  • « SolrDisMaxQuery::removePhraseField
  • SolrDisMaxQuery::removeTrigramPhraseField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Query Field (qf parameter)

SolrDisMaxQuery::removeQueryField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removeQueryField — Removes a Query Field (qf parameter)

Açıklama

public SolrDisMaxQuery::removeQueryField(string $field): SolrDisMaxQuery

Removes a Query Field (qf parameter) from the field list added by SolrDisMaxQuery::addQueryField()

qf: When building DisjunctionMaxQueries from the user's query it specifies the fields to search in, and boosts for those fields.

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removeQueryField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addQueryField('first', 3)
->addQueryField('second', 0.2)
->addQueryField('cat');
echo $dismaxQuery . PHP_EOL;
// remove field 'second'
echo $dismaxQuery->removeQueryField('second');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&qf=first^3 second^0.2 cat
q=lucene&defType=edismax&qf=first^3 cat

Ayrıca Bakınız

  • SolrDisMaxQuery::addQueryField() - Add a query field with optional boost (qf parameter)


Removes a Trigram Phrase Field (pf3 parameter)

  • « SolrDisMaxQuery::removeQueryField
  • SolrDisMaxQuery::removeUserField »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a Trigram Phrase Field (pf3 parameter)

SolrDisMaxQuery::removeTrigramPhraseField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removeTrigramPhraseField — Removes a Trigram Phrase Field (pf3 parameter)

Açıklama

public SolrDisMaxQuery::removeTrigramPhraseField(string $field): SolrDisMaxQuery

Removes a Trigram Phrase Field (pf3 parameter)

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removeTrigramPhraseField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeTrigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Removes a field from The User Fields Parameter (uf)

  • « SolrDisMaxQuery::removeTrigramPhraseField
  • SolrDisMaxQuery::setBigramPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Removes a field from The User Fields Parameter (uf)

SolrDisMaxQuery::removeUserField

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::removeUserField — Removes a field from The User Fields Parameter (uf)

Açıklama

public SolrDisMaxQuery::removeUserField(string $field): SolrDisMaxQuery

Removes a field from The User Fields Parameter (uf)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

field

Field Name

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::removeUserField() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery
->addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;

// remove field named 'text'
$dismaxQuery
->removeUserField('text');
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=%s&uf=cat text *_dt
q=lucene&defType=%s&uf=cat *_dt

Ayrıca Bakınız

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::setUserFields() - Sets User Fields parameter (uf)


Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

  • « SolrDisMaxQuery::removeUserField
  • SolrDisMaxQuery::setBigramPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::setBigramPhraseFields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setBigramPhraseFields — Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter

Açıklama

public SolrDisMaxQuery::setBigramPhraseFields(string $fields): SolrDisMaxQuery

Sets Bigram Phrase Fields (pf2) and their boosts (and slops)

Bağımsız Değişkenler

fields

Fields boosts (slops)

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setBigramPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setBigramPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf2=cat~5.1^2 feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::setBigramPhraseSlop() - Sets Bigram Phrase Slop (ps2 parameter)
  • SolrDisMaxQuery::addBigramPhraseFields()
  • SolrDisMaxQuery::removeBigramPhraseField() - Removes phrase bigram field (pf2 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)


Sets Bigram Phrase Slop (ps2 parameter)

  • « SolrDisMaxQuery::setBigramPhraseFields
  • SolrDisMaxQuery::setBoostFunction »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Bigram Phrase Slop (ps2 parameter)

SolrDisMaxQuery::setBigramPhraseSlop

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setBigramPhraseSlop — Sets Bigram Phrase Slop (ps2 parameter)

Açıklama

public SolrDisMaxQuery::setBigramPhraseSlop(string $slop): SolrDisMaxQuery

Sets Bigram Phrase Slop (ps2 parameter). A default slop for Bigram phrase fields.

Bağımsız Değişkenler

slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setBigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setBigramPhraseSlop(5);
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&ps2=5


Sets a Boost Function (bf parameter)

  • « SolrDisMaxQuery::setBigramPhraseSlop
  • SolrDisMaxQuery::setBoostQuery »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets a Boost Function (bf parameter)

SolrDisMaxQuery::setBoostFunction

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setBoostFunction — Sets a Boost Function (bf parameter)

Açıklama

public SolrDisMaxQuery::setBoostFunction(string $function): SolrDisMaxQuery

Sets Boost Function (bf parameter).

Functions (with optional boosts) that will be included in the user's query to influence the score. Any function supported natively by Solr can be used, along with a boost value. e.g.:

recip(rord(myfield),1,2,3)^1.5

Bağımsız Değişkenler

function

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setBoostFunction() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$boostRecentDocsFunction = "recip(ms(NOW,mydatefield),3.16e-11,1,1)";
$dismaxQuery->setBoostFunction($boostRecentDocsFunction);

echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&bf=recip(ms(NOW,mydatefield),3.16e-11,1,1)


Directly Sets Boost Query Parameter (bq)

  • « SolrDisMaxQuery::setBoostFunction
  • SolrDisMaxQuery::setMinimumMatch »
  • PHP Manual
  • SolrDisMaxQuery
  • Directly Sets Boost Query Parameter (bq)

SolrDisMaxQuery::setBoostQuery

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setBoostQuery — Directly Sets Boost Query Parameter (bq)

Açıklama

public SolrDisMaxQuery::setBoostQuery(string $q): SolrDisMaxQuery

Sets Boost Query Parameter (bq)

Bağımsız Değişkenler

q

query

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setBoostQuery() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");

$dismaxQuery->setBoostQuery('cat:electronics manu:local^2');
echo $dismaxQuery.PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&bq=cat:electronics manu:local^2

Ayrıca Bakınız

  • SolrDisMaxQuery::addBoostQuery() - Adds a boost query field with value and optional boost (bq parameter)
  • SolrDisMaxQuery::removeBoostQuery() - Removes a boost query partial by field name (bq)


Set Minimum "Should" Match (mm)

  • « SolrDisMaxQuery::setBoostQuery
  • SolrDisMaxQuery::setPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Set Minimum "Should" Match (mm)

SolrDisMaxQuery::setMinimumMatch

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setMinimumMatch — Set Minimum "Should" Match (mm)

Açıklama

public SolrDisMaxQuery::setMinimumMatch(string $value): SolrDisMaxQuery

Set Minimum "Should" Match parameter (mm). If the default query operator is AND then mm=100%, if the default query operator (q.op) is OR, then mm=0%.

Bağımsız Değişkenler

value

Minimum match value/expression

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setMinimumMatch() example

<?php

$dismaxQuery = new SolrDisMaxQuery("lucene");
// 75% of the query clauses must match
$dismaxQuery->setMinimumMatch("75%");
echo $dismaxQuery . PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=edismax&mm=75%


Sets Phrase Fields and their boosts (and slops) using pf2 parameter

  • « SolrDisMaxQuery::setMinimumMatch
  • SolrDisMaxQuery::setPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Phrase Fields and their boosts (and slops) using pf2 parameter

SolrDisMaxQuery::setPhraseFields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setPhraseFields — Sets Phrase Fields and their boosts (and slops) using pf2 parameter

Açıklama

public SolrDisMaxQuery::setPhraseFields(string $fields): SolrDisMaxQuery

Sets Phrase Fields (pf) and their boosts (and slops)

Bağımsız Değişkenler

fields

Fields, boosts [, slops]

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setPhraseFields() example

<?php
$dismaxQuery = new SolrDisMaxQuery("lucene");
$dismaxQuery->setPhraseFields("cat~5.1^2 feature^4.5");
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&pf=cat~5.1^2 feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::addPhraseFields()
  • SolrDisMaxQuery::removePhraseField() - Removes a Phrase Field (pf parameter)


Sets the default slop on phrase queries (ps parameter)

  • « SolrDisMaxQuery::setPhraseFields
  • SolrDisMaxQuery::setQueryAlt »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets the default slop on phrase queries (ps parameter)

SolrDisMaxQuery::setPhraseSlop

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setPhraseSlop — Sets the default slop on phrase queries (ps parameter)

Açıklama

public SolrDisMaxQuery::setPhraseSlop(string $slop): SolrDisMaxQuery

Sets the default amount of slop on phrase queries built with "pf", "pf2" and/or "pf3" fields (affects boosting). "ps" parameter

Bağımsız Değişkenler

slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');

$dismaxQuery->setPhraseSlop(4);
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=edismax&ps=4


Set Query Alternate (q.alt parameter)

  • « SolrDisMaxQuery::setPhraseSlop
  • SolrDisMaxQuery::setQueryPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Set Query Alternate (q.alt parameter)

SolrDisMaxQuery::setQueryAlt

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setQueryAlt — Set Query Alternate (q.alt parameter)

Açıklama

public SolrDisMaxQuery::setQueryAlt(string $q): SolrDisMaxQuery

Set Query Alternate (q.alt parameter)

When the main q parameter is not specified or is blank. The q.alt parameter is used

Bağımsız Değişkenler

q

Query String

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setQueryAlt() example

<?php

$dismaxQuery = new DisMaxQuery();
$dismaxQuery->setQueryAlt('*:*');

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

defType=edismax&q.alt=*:*&q=


Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

  • « SolrDisMaxQuery::setQueryAlt
  • SolrDisMaxQuery::setTieBreaker »
  • PHP Manual
  • SolrDisMaxQuery
  • Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

SolrDisMaxQuery::setQueryPhraseSlop

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setQueryPhraseSlop — Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)

Açıklama

public SolrDisMaxQuery::setQueryPhraseSlop(string $slop): SolrDisMaxQuery

The Query Phrase Slop is the amount of slop permitted on phrase queries explicitly included in the user's query string with the qf parameter.

slop refers to the number of positions one token needs to be moved in relation to another token in order to match a phrase specified in a query.

Bağımsız Değişkenler

slop

Amount of slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setQueryPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setQueryPhraseSlop(3);
echo $dismaxQuery;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

defType=edismax&qs=3


Sets Tie Breaker parameter (tie parameter)

  • « SolrDisMaxQuery::setQueryPhraseSlop
  • SolrDisMaxQuery::setTrigramPhraseFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Tie Breaker parameter (tie parameter)

SolrDisMaxQuery::setTieBreaker

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setTieBreaker — Sets Tie Breaker parameter (tie parameter)

Açıklama

public SolrDisMaxQuery::setTieBreaker(string $tieBreaker): SolrDisMaxQuery

Sets Tie Breaker parameter (tie parameter)

Bağımsız Değişkenler

tieBreaker

The tie parameter specifies a float value (which should be something much less than 1) to use as tiebreaker in DisMax queries.

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setTieBreaker() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->setTieBreaker(0.1);

echo $dismaxQuery;

?>

Yukarıdaki örneğin çıktısı:

defType=edismax&tie=0.1


Directly Sets Trigram Phrase Fields (pf3 parameter)

  • « SolrDisMaxQuery::setTieBreaker
  • SolrDisMaxQuery::setTrigramPhraseSlop »
  • PHP Manual
  • SolrDisMaxQuery
  • Directly Sets Trigram Phrase Fields (pf3 parameter)

SolrDisMaxQuery::setTrigramPhraseFields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setTrigramPhraseFields — Directly Sets Trigram Phrase Fields (pf3 parameter)

Açıklama

public SolrDisMaxQuery::setTrigramPhraseFields(string $fields): SolrDisMaxQuery

Directly Sets Trigram Phrase Fields (pf3 parameter)

Bağımsız Değişkenler

fields

Trigram Phrase Fields

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setTrigramPhraseFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseFields('cat~5.1^2 feature^4.5');
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örneğin çıktısı:

q=lucene&defType=edismax&pf3=cat~5.1^2 feature^4.5

Ayrıca Bakınız

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseSlop() - Sets Trigram Phrase Slop (ps3 parameter)


Sets Trigram Phrase Slop (ps3 parameter)

  • « SolrDisMaxQuery::setTrigramPhraseFields
  • SolrDisMaxQuery::setUserFields »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets Trigram Phrase Slop (ps3 parameter)

SolrDisMaxQuery::setTrigramPhraseSlop

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setTrigramPhraseSlop — Sets Trigram Phrase Slop (ps3 parameter)

Açıklama

public SolrDisMaxQuery::setTrigramPhraseSlop(string $slop): SolrDisMaxQuery

Sets Trigram Phrase Slop (ps3 parameter)

Bağımsız Değişkenler

slop

Phrase slop

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setTrigramPhraseSlop() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setTrigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&ps3=2

Ayrıca Bakınız

  • SolrDisMaxQuery::addTrigramPhraseField() - Adds a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::removeTrigramPhraseField() - Removes a Trigram Phrase Field (pf3 parameter)
  • SolrDisMaxQuery::setTrigramPhraseFields() - Directly Sets Trigram Phrase Fields (pf3 parameter)


Sets User Fields parameter (uf)

  • « SolrDisMaxQuery::setTrigramPhraseSlop
  • SolrDisMaxQuery::useDisMaxQueryParser »
  • PHP Manual
  • SolrDisMaxQuery
  • Sets User Fields parameter (uf)

SolrDisMaxQuery::setUserFields

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::setUserFields — Sets User Fields parameter (uf)

Açıklama

public SolrDisMaxQuery::setUserFields(string $fields): SolrDisMaxQuery

Sets User Fields parameter (uf)

User Fields: Specifies which schema fields the end user shall be allowed to query.

Bağımsız Değişkenler

fields

Fields names separated by space

This parameter supports wildcards.

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::setUserFields() example

<?php

$dismaxQuery = new SolrDisMaxQuery('lucene');
$dismaxQuery->setUserFields('field1 field2 *_txt');
echo $dismaxQuery.PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

q=lucene&defType=edismax&uf=field1 field2 *_txt

Ayrıca Bakınız

  • SolrDisMaxQuery::addUserField() - Adds a field to User Fields Parameter (uf)
  • SolrDisMaxQuery::removeUserField() - Removes a field from The User Fields Parameter (uf)


Switch QueryParser to be DisMax Query Parser

  • « SolrDisMaxQuery::setUserFields
  • SolrDisMaxQuery::useEDisMaxQueryParser »
  • PHP Manual
  • SolrDisMaxQuery
  • Switch QueryParser to be DisMax Query Parser

SolrDisMaxQuery::useDisMaxQueryParser

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::useDisMaxQueryParser — Switch QueryParser to be DisMax Query Parser

Açıklama

public SolrDisMaxQuery::useDisMaxQueryParser(): SolrDisMaxQuery

Switch QueryParser to be DisMax Query Parser

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::useDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useDisMaxQueryParser();
echo $dismaxQuery;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

defType=dismax

Ayrıca Bakınız

  • SolrDisMaxQuery::useDisMaxQueryParser()


Switch QueryParser to be EDisMax

  • « SolrDisMaxQuery::useDisMaxQueryParser
  • SolrCollapseFunction »
  • PHP Manual
  • SolrDisMaxQuery
  • Switch QueryParser to be EDisMax

SolrDisMaxQuery::useEDisMaxQueryParser

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SolrDisMaxQuery::useEDisMaxQueryParser — Switch QueryParser to be EDisMax

Açıklama

public SolrDisMaxQuery::useEDisMaxQueryParser(): SolrDisMaxQuery

Switch QueryParser to be EDisMax. By default the query builder uses edismax, if it was switched using SolrDisMaxQuery::useDisMaxQueryParser(), it can be switched back using this method.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

SolrDisMaxQuery

Örnekler

Örnek 1 SolrDisMaxQuery::useEDisMaxQueryParser() example

<?php

$dismaxQuery = new SolrDisMaxQuery();
$dismaxQuery->useEDisMaxQueryParser();
echo $dismaxQuery;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

defType=edismax


The SolrCollapseFunction class

(PECL solr >= 2.2.0)

Giriş

Sınıf Sözdizimi

class SolrCollapseFunction {
/* Sabitler */
const string NULLPOLICY_IGNORE = ignore;
const string NULLPOLICY_EXPAND = expand;
const string NULLPOLICY_COLLAPSE = collapse;
/* Yöntemler */
public __construct(string $field = ?)
public getField(): string
public getHint(): string
public getMax(): string
public getMin(): string
public getNullPolicy(): string
public getSize(): int
public setField(string $fieldName): SolrCollapseFunction
public setHint(string $hint): SolrCollapseFunction
public setMax(string $max): SolrCollapseFunction
public setMin(string $min): SolrCollapseFunction
public setNullPolicy(string $nullPolicy): SolrCollapseFunction
public setSize(int $size): SolrCollapseFunction
public __toString(): string
}

Öntanımlı Sabitler

SolrCollapseFunction::NULLPOLICY_IGNORE

SolrCollapseFunction::NULLPOLICY_EXPAND

SolrCollapseFunction::NULLPOLICY_COLLAPSE

İçindekiler

  • SolrCollapseFunction::__construct — Constructor
  • SolrCollapseFunction::getField — Returns the field that is being collapsed on
  • SolrCollapseFunction::getHint — Returns collapse hint
  • SolrCollapseFunction::getMax — Returns max parameter
  • SolrCollapseFunction::getMin — Returns min parameter
  • SolrCollapseFunction::getNullPolicy — Returns null policy
  • SolrCollapseFunction::getSize — Returns size parameter
  • SolrCollapseFunction::setField — Sets the field to collapse on
  • SolrCollapseFunction::setHint — Sets collapse hint
  • SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query
  • SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only
  • SolrCollapseFunction::setNullPolicy — Sets the NULL Policy
  • SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only
  • SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function


Constructor

  • « SolrCollapseFunction
  • SolrCollapseFunction::getField »
  • PHP Manual
  • SolrCollapseFunction
  • Constructor

SolrCollapseFunction::__construct

(PECL solr >= 2.2.0)

SolrCollapseFunction::__construct — Constructor

Açıklama

public SolrCollapseFunction::__construct(string $field = ?)

Collapse Function constructor

Bağımsız Değişkenler

field

The field name to collapse on.

In order to collapse a result. The field type must be a single valued String, Int or Float.

Örnekler

Örnek 1 SolrCollapseFunction::__construct() example

<?php

include "bootstrap.php";

$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);

$client = new SolrClient($options);

$query = new SolrQuery('*:*');

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_other_field))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);

$query->collapse($func);

$queryResponse = $client->query($query);

$response = $queryResponse->getResponse();

print_r($response);

?>

Ayrıca Bakınız

  • SolrQuery::collapse() - Collapses the result set to a single document per group


Returns the field that is being collapsed on

  • « SolrCollapseFunction::__construct
  • SolrCollapseFunction::getHint »
  • PHP Manual
  • SolrCollapseFunction
  • Returns the field that is being collapsed on

SolrCollapseFunction::getField

(PECL solr >= 2.2.0)

SolrCollapseFunction::getField — Returns the field that is being collapsed on

Açıklama

public SolrCollapseFunction::getField(): string

Returns the field that is being collapsed on.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setField() - Sets the field to collapse on


Returns collapse hint

  • « SolrCollapseFunction::getField
  • SolrCollapseFunction::getMax »
  • PHP Manual
  • SolrCollapseFunction
  • Returns collapse hint

SolrCollapseFunction::getHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::getHint — Returns collapse hint

Açıklama

public SolrCollapseFunction::getHint(): string

Returns collapse hint

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setHint() - Sets collapse hint


Returns max parameter

  • « SolrCollapseFunction::getHint
  • SolrCollapseFunction::getMin »
  • PHP Manual
  • SolrCollapseFunction
  • Returns max parameter

SolrCollapseFunction::getMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMax — Returns max parameter

Açıklama

public SolrCollapseFunction::getMax(): string

Returns max parameter

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setMax() - Selects the group heads by the max value of a numeric field or function query


Returns min parameter

  • « SolrCollapseFunction::getMax
  • SolrCollapseFunction::getNullPolicy »
  • PHP Manual
  • SolrCollapseFunction
  • Returns min parameter

SolrCollapseFunction::getMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::getMin — Returns min parameter

Açıklama

public SolrCollapseFunction::getMin(): string

Returns min parameter

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setMin() - Sets the initial size of the collapse data structures when collapsing on a numeric field only


Returns null policy

  • « SolrCollapseFunction::getMin
  • SolrCollapseFunction::getSize »
  • PHP Manual
  • SolrCollapseFunction
  • Returns null policy

SolrCollapseFunction::getNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::getNullPolicy — Returns null policy

Açıklama

public SolrCollapseFunction::getNullPolicy(): string

Returns null policy used or null

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setNullPolicy() - Sets the NULL Policy


Returns size parameter

  • « SolrCollapseFunction::getNullPolicy
  • SolrCollapseFunction::setField »
  • PHP Manual
  • SolrCollapseFunction
  • Returns size parameter

SolrCollapseFunction::getSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::getSize — Returns size parameter

Açıklama

public SolrCollapseFunction::getSize(): int

Gets the initial size of the collapse data structures when collapsing on a numeric field only

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • SolrCollapseFunction::setSize() - Sets the initial size of the collapse data structures when collapsing on a numeric field only


Sets the field to collapse on

  • « SolrCollapseFunction::getSize
  • SolrCollapseFunction::setHint »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the field to collapse on

SolrCollapseFunction::setField

(PECL solr >= 2.2.0)

SolrCollapseFunction::setField — Sets the field to collapse on

Açıklama

public SolrCollapseFunction::setField(string $fieldName): SolrCollapseFunction

The field name to collapse on. In order to collapse a result. The field type must be a single valued String, Int or Float.

Bağımsız Değişkenler

fieldName

Dönen Değerler

SolrCollapseFunction


Sets collapse hint

  • « SolrCollapseFunction::setField
  • SolrCollapseFunction::setMax »
  • PHP Manual
  • SolrCollapseFunction
  • Sets collapse hint

SolrCollapseFunction::setHint

(PECL solr >= 2.2.0)

SolrCollapseFunction::setHint — Sets collapse hint

Açıklama

public SolrCollapseFunction::setHint(string $hint): SolrCollapseFunction

Sets collapse hint

Bağımsız Değişkenler

hint

Currently there is only one hint available "top_fc", which stands for top level FieldCache

Dönen Değerler

SolrCollapseFunction

Örnekler

Örnek 1 SolrCollapseFunction::setHint() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...


Selects the group heads by the max value of a numeric field or function query

  • « SolrCollapseFunction::setHint
  • SolrCollapseFunction::setMin »
  • PHP Manual
  • SolrCollapseFunction
  • Selects the group heads by the max value of a numeric field or function query

SolrCollapseFunction::setMax

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMax — Selects the group heads by the max value of a numeric field or function query

Açıklama

public SolrCollapseFunction::setMax(string $max): SolrCollapseFunction

Selects the group heads by the max value of a numeric field or function query.

Bağımsız Değişkenler

max

Dönen Değerler

SolrCollapseFunction

Örnekler

Örnek 1 SolrCollapseFunction::setMax() example

<?php

$func = new SolrCollapseFunction('field_name');

$func->setMax('sum(cscore(),field(some_field))');

$query = new SolrQuery('*:*');

$query->collapse($func);

?>


Sets the initial size of the collapse data structures when collapsing on a numeric field only

  • « SolrCollapseFunction::setMax
  • SolrCollapseFunction::setNullPolicy »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the initial size of the collapse data structures when collapsing on a numeric field only

SolrCollapseFunction::setMin

(PECL solr >= 2.2.0)

SolrCollapseFunction::setMin — Sets the initial size of the collapse data structures when collapsing on a numeric field only

Açıklama

public SolrCollapseFunction::setMin(string $min): SolrCollapseFunction

Sets the initial size of the collapse data structures when collapsing on a numeric field only

Bağımsız Değişkenler

min

Dönen Değerler

SolrCollapseFunction


Sets the NULL Policy

  • « SolrCollapseFunction::setMin
  • SolrCollapseFunction::setSize »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the NULL Policy

SolrCollapseFunction::setNullPolicy

(PECL solr >= 2.2.0)

SolrCollapseFunction::setNullPolicy — Sets the NULL Policy

Açıklama

public SolrCollapseFunction::setNullPolicy(string $nullPolicy): SolrCollapseFunction

Sets the NULL Policy. One of the 3 policies defined as class constants shall be passed. Accepts ignore, expand, or collapse policies.

Bağımsız Değişkenler

nullPolicy

Dönen Değerler

SolrCollapseFunction


Sets the initial size of the collapse data structures when collapsing on a numeric field only

  • « SolrCollapseFunction::setNullPolicy
  • SolrCollapseFunction::__toString »
  • PHP Manual
  • SolrCollapseFunction
  • Sets the initial size of the collapse data structures when collapsing on a numeric field only

SolrCollapseFunction::setSize

(PECL solr >= 2.2.0)

SolrCollapseFunction::setSize — Sets the initial size of the collapse data structures when collapsing on a numeric field only

Açıklama

public SolrCollapseFunction::setSize(int $size): SolrCollapseFunction

Sets the initial size of the collapse data structures when collapsing on a numeric field only.

Bağımsız Değişkenler

size

Dönen Değerler

SolrCollapseFunction


Returns a string representing the constructed collapse function

  • « SolrCollapseFunction::setSize
  • SolrException »
  • PHP Manual
  • SolrCollapseFunction
  • Returns a string representing the constructed collapse function

SolrCollapseFunction::__toString

(PECL solr >= 2.2.0)

SolrCollapseFunction::__toString — Returns a string representing the constructed collapse function

Açıklama

public SolrCollapseFunction::__toString(): string

Returns a string representing the constructed collapse function

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The SolrException class

(PECL solr >= 0.9.2)

Giriş

This is the base class for all exception thrown by the Solr extension classes.

Sınıf Sözdizimi

class SolrException extends Exception {
/* Özellikler */
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public getInternalInfo(): array
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

sourceline

The line in c-space source file where exception was generated

sourcefile

The c-space source file where exception was generated

zif_name

The c-space function where exception was generated

İçindekiler

  • SolrException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrException
  • SolrClientException »
  • PHP Manual
  • SolrException
  • Returns internal information where the Exception was thrown

SolrException::getInternalInfo

(PECL solr >= 0.9.2)

SolrException::getInternalInfo — Returns internal information where the Exception was thrown

Açıklama

public SolrException::getInternalInfo(): array

Returns internal information where the Exception was thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrClientException class

(PECL solr >= 0.9.2)

Giriş

An exception thrown when there is an error while making a request to the server from the client.

Sınıf Sözdizimi

class SolrClientException extends SolrException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Yöntemler */
public getInternalInfo(): array
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
public SolrException::getInternalInfo(): array
}

İçindekiler

  • SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrClientException
  • SolrServerException »
  • PHP Manual
  • SolrClientException
  • Returns internal information where the Exception was thrown

SolrClientException::getInternalInfo

(PECL solr >= 0.9.2)

SolrClientException::getInternalInfo — Returns internal information where the Exception was thrown

Açıklama

public SolrClientException::getInternalInfo(): array

Returns internal information where the Exception was thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrServerException class

(PECL Solr >= 1.1.0, >=2.0.0)

Giriş

An exception thrown when there is an error produced by the Solr Server itself.

Sınıf Sözdizimi

class SolrServerException extends SolrException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Yöntemler */
public getInternalInfo(): array
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
public SolrException::getInternalInfo(): array
}

İçindekiler

  • SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrServerException
  • SolrIllegalArgumentException »
  • PHP Manual
  • SolrServerException
  • Returns internal information where the Exception was thrown

SolrServerException::getInternalInfo

(PECL solr >= 1.1.0, >=2.0.0)

SolrServerException::getInternalInfo — Returns internal information where the Exception was thrown

Açıklama

public SolrServerException::getInternalInfo(): array

Returns internal information where the Exception was thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrIllegalArgumentException class

(PECL solr >= 0.9.2)

Giriş

This object is thrown when an illegal or invalid argument is passed to a method.

Sınıf Sözdizimi

class SolrIllegalArgumentException extends SolrException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Yöntemler */
public getInternalInfo(): array
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
public SolrException::getInternalInfo(): array
}

İçindekiler

  • SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrIllegalArgumentException
  • SolrIllegalOperationException »
  • PHP Manual
  • SolrIllegalArgumentException
  • Returns internal information where the Exception was thrown

SolrIllegalArgumentException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalArgumentException::getInternalInfo — Returns internal information where the Exception was thrown

Açıklama

public SolrIllegalArgumentException::getInternalInfo(): array

Returns internal information where the Exception was thrown.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrIllegalOperationException class

(PECL solr >= 0.9.2)

Giriş

This object is thrown when an illegal or unsupported operation is performed on an object.

Sınıf Sözdizimi

class SolrIllegalOperationException extends SolrException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Yöntemler */
public getInternalInfo(): array
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
public SolrException::getInternalInfo(): array
}

İçindekiler

  • SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown


Returns internal information where the Exception was thrown

  • « SolrIllegalOperationException
  • SolrMissingMandatoryParameterException »
  • PHP Manual
  • SolrIllegalOperationException
  • Returns internal information where the Exception was thrown

SolrIllegalOperationException::getInternalInfo

(PECL solr >= 0.9.2)

SolrIllegalOperationException::getInternalInfo — Returns internal information where the Exception was thrown

Açıklama

public SolrIllegalOperationException::getInternalInfo(): array

Returns internal information where the Exception was thrown.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing internal information where the error was thrown. Used only for debugging by extension developers.


The SolrMissingMandatoryParameterException class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class SolrMissingMandatoryParameterException extends SolrException {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
protected int $sourceline;
protected string $sourcefile;
protected string $zif_name;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
public SolrException::getInternalInfo(): array
}


Sunuculara Özgü Eklentiler

  • Apache
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Apache İşlevleri
  • FastCGI Process Manager
    • Giriş
    • Yapılandırma/Kurulum
    • Observability
    • FPM İşlevleri


Apache

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Apache İşlevleri
    • apache_child_terminate — Bu istekten sonra Apache sürecini sonlandırır
    • apache_get_modules — Yüklü Apache modüllerinin listesini verir
    • apache_get_version — Apache sürümünü getirir
    • apache_getenv — Bir Apache ortam değişkeninin değerini döndürür
    • apache_lookup_uri — Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür
    • apache_note — Apache istek notlarını alır veya atar
    • apache_request_headers — Tüm HTTP istek başlıklarını alır
    • apache_response_headers — Tüm HTTP yanıt başlıklarını alır
    • apache_setenv — Bir Apache ortam değişkeni atar
    • getallheaders — Tüm HTTP istek başlıklarını getirir
    • virtual — Bir Apache alt isteği gerçekleştirir


Giriş

Bu işlevler sadece PHP bir Apache modülü olarak çalışırken kullanılabilir.


  • « Gereksinimler
  • Çalışma Anı Yapılandırması »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Kurulum

Kurulum

Apache üzerine PHP kurulumu için Yapılandırma ve Kurulum bölümüne bakınız.


Çalışma Anı Yapılandırması

Apache PHP modülünün davranışları php.ini içindeki ayarlamalardan etkilenmektedir. php.ini içindeki ayarlar, sunucu yapılandırma dosyasındaki ya da yerel .htaccess dosyalarındaki php_flag ayarları ile geçersiz kılınabilir.

Örnek 1 - .htaccess kullanarak PHP yorumlamasının bir dizinde kapatılması

php_flag engine off

Apache yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
engine | "1" | PHP_INI_ALL |
child_terminate | "0" | PHP_INI_ALL |
last_modified | "0" | PHP_INI_ALL |
xbithack | "0" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

engine bool

PHP çözümlemesini açar veya kapatır. Bu yönerge PHP'nin Apache modülü sürümünde gerçekten işe yarayan tek şeydir. PHP çözümlemesini dizinler düzeyinde veya sanal konak düzeyinde açıp kapamak isteyen siteler tarafından kullanılır. httpd.conf dosyasının uygun yerlerine engine off yönergelerini yerleştirerek PHP iptal edilebilir veya etkin kılınabilir.

child_terminate bool

İstek sonunda PHP betiklerinin çocuk sürecin sonlandırılmasını isteyip isteyemeyeceğini belirler. Ayrıca bakınız : apache_child_terminate().

last_modified bool

PHP betiğinin son düzenlenme tarihini Last-Modified: istek başlığı ile gönderir.

xbithack bool

PHP dosyalarının uzantılarına değil çalıştırılabilir bitine bakarak yorumlanmasını sağlar.


  • « Özkaynak Türleri
  • Apache İşlevleri »
  • PHP Manual
  • Apache
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Apache İşlevleri

İçindekiler

  • apache_child_terminate — Bu istekten sonra Apache sürecini sonlandırır
  • apache_get_modules — Yüklü Apache modüllerinin listesini verir
  • apache_get_version — Apache sürümünü getirir
  • apache_getenv — Bir Apache ortam değişkeninin değerini döndürür
  • apache_lookup_uri — Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür
  • apache_note — Apache istek notlarını alır veya atar
  • apache_request_headers — Tüm HTTP istek başlıklarını alır
  • apache_response_headers — Tüm HTTP yanıt başlıklarını alır
  • apache_setenv — Bir Apache ortam değişkeni atar
  • getallheaders — Tüm HTTP istek başlıklarını getirir
  • virtual — Bir Apache alt isteği gerçekleştirir


Bu istekten sonra Apache sürecini sonlandırır

  • « Apache İşlevleri
  • apache_get_modules »
  • PHP Manual
  • Apache İşlevleri
  • Bu istekten sonra Apache sürecini sonlandırır

apache_child_terminate

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

apache_child_terminate — Bu istekten sonra Apache sürecini sonlandırır

Açıklama

apache_child_terminate(): void

apache_child_terminate() işlevi PHP kodunun çalışması bittikten sonra geçerli PHP isteğini çalıştıran Apache sürecini sonlandırmak için kullanılır. Daha ziyade çok bellek tüketen ancak işlem bittikten sonra tükettiği belleği işletim sistemine geri veremeyen işlemleri yoketmek için kullanılabilir.

Apache, ve FastCGI http sunucularında çalışır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Ayrıca Bakınız

  • exit() - Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır


Yüklü Apache modüllerinin listesini verir

  • « apache_child_terminate
  • apache_get_version »
  • PHP Manual
  • Apache İşlevleri
  • Yüklü Apache modüllerinin listesini verir

apache_get_modules

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

apache_get_modules — Yüklü Apache modüllerinin listesini verir

Açıklama

apache_get_modules(): array

Yüklü Apache modüllerinin listesini verir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yüklü Apache modülleri dizisi.

Örnekler

Örnek 1 - apache_get_modules() örneği

<?php
print_r(apache_get_modules());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)


Apache sürümünü getirir

  • « apache_get_modules
  • apache_getenv »
  • PHP Manual
  • Apache İşlevleri
  • Apache sürümünü getirir

apache_get_version

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

apache_get_version — Apache sürümünü getirir

Açıklama

apache_get_version(): string|false

Apache sürümünü getirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı halinde Apache sürümünü, aksi halde false döndürür.

Örnekler

Örnek 1 - apache_get_version() örneği

<?php
$version = apache_get_version();
echo "$version\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Apache/1.3.29 (Unix) PHP/4.3.4

Ayrıca Bakınız

  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar


Bir Apache ortam değişkeninin değerini döndürür

  • « apache_get_version
  • apache_lookup_uri »
  • PHP Manual
  • Apache İşlevleri
  • Bir Apache ortam değişkeninin değerini döndürür

apache_getenv

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_getenv — Bir Apache ortam değişkeninin değerini döndürür

Açıklama

apache_getenv(string $değişken, bool $tepe_seviye = false): string|false

değişken bağımsız değişkeniyle belirtilen Apache ortam değişkenini döndürür.

Bağımsız Değişkenler

değişken

Apache ortam değişkeni

tepe_seviye

Tüm Apache katmanlarında kullanılabilen tepe seviye değişkenin alınıp alınmayacağını belirler.

Dönen Değerler

Başarı halinde Apache ortam değişkeninin değeri, aksi halde false döner.

Örnekler

Örnek 1 - apache_getenv() örneği

Aşağıdaki örnek bir Apache ortam değişkeni olan SERVER_ADDR değişkeninin değerinin nasıl alınacağını göstermektedir.

<?php
$ret = apache_getenv("SERVER_ADDR");
echo $ret;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

42.24.42.240

Ayrıca Bakınız

  • apache_sentenv()
  • getenv() - Ortam değişkenlerinden birinin veya tümünün değerini döndürür
  • Süper Küreseller


Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür

  • « apache_getenv
  • apache_note »
  • PHP Manual
  • Apache İşlevleri
  • Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür

apache_lookup_uri

(PHP 4, PHP 5, PHP 7, PHP 8)

apache_lookup_uri — Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür

Açıklama

apache_lookup_uri(string $dosya_adı): object|false

Bir URI için kısmi istekte bulunur. Özkaynak hakkında önemli tüm bilgileri alır.

Bu işlev sadece PHP bir Apache modülü olarak kuruluysa desteklenir.

Bağımsız Değişkenler

dosya_adı

İstenen dosyanın ismi (URI).

Dönen Değerler

URL bilgisiyle ilgili nesne. Nesnenin özellikleri

  • status
  • the_request
  • status_line
  • method
  • content_type
  • handler
  • uri
  • filename
  • path_info
  • args
  • boundary
  • no_cache
  • no_local_copy
  • allowed
  • send_bodyct
  • bytes_sent
  • byterange
  • clength
  • unparsed_uri
  • mtime
  • request_time

Başarısızlık durumunda false döner.

Örnekler

Örnek 1 - apache_lookup_uri() örneği

<?php
$info = apache_lookup_uri('index.php?var=value');
print_r($info);

if (file_exists($info->filename)) {
echo 'dosya mevcut!';
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

stdClass Object
(
    [status] => 200
    [the_request] => GET /dir/file.php HTTP/1.1
    [method] => GET
    [mtime] => 0
    [clength] => 0
    [chunked] => 0
    [content_type] => application/x-httpd-php
    [no_cache] => 0
    [no_local_copy] => 1
    [unparsed_uri] => /dir/index.php?var=value
    [uri] => /dir/index.php
    [filename] => /home/htdocs/dir/index.php
    [args] => var=value
    [allowed] => 0
    [sent_bodyct] => 0
    [bytes_sent] => 0
    [request_time] => 1074282764
)
dosya mevcut!


Apache istek notlarını alır veya atar

  • « apache_lookup_uri
  • apache_request_headers »
  • PHP Manual
  • Apache İşlevleri
  • Apache istek notlarını alır veya atar

apache_note

(PHP 4, PHP 5, PHP 7, PHP 8)

apache_note — Apache istek notlarını alır veya atar

Açıklama

apache_note(string $not_adı, ?string $note_değeri = null): string|false

Bu işlev Apache'nin table_get ve table_set işlevleri için bir sarmalayıcıdır. Bir istek sırasında var olan not tablosunu düzenler. Tablonun amacı Apache modüllerinin iletişimini sağlamaktır.

apache_note() işlevinin ana kullanım amacı aynı istek dahilinde bir modülden diğerine bilgi aktarmaktır.

Bağımsız Değişkenler

not_adı

Notun adı.

not_değeri

Notun değeri.

Dönen Değerler

not_değeri verilmezse ya da null ise not_adı notunun o anki değerini döndürür. Aksi takdirde not_değeri değerini not_adı notuna atar ve not_adı notunun önceki değerini döndürür. Eğer işlem başarısız olursa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | note_değeri artık boş olabiliyor.

Örnekler

Örnek 1 PHP ve Perl arasında bilgi aktarımı

<?php

apache_note('name', 'Fredrik Ekengren');

// Perl betiğini çağıralım
virtual("/perl/bir_betik.pl");

$result = apache_note("resultdata");
?>
# Apache istek nesnesini alalım
my $r = Apache->request()->main();

# Aktarılan veriyi alalım
my $name = $r->notes('name');

# bir takım işlemler...

# Sonucu PHP'ye geri aktaralım
$r->notes('resultdata', $result);

Örnek 2 - access.log dosyasındaki oturum değerleri

<?php

apache_note('sessionID', session_id());

?>
# "%{sessionID}n" can be used in the LogFormat directive

Ayrıca Bakınız

  • virtual() - Bir Apache alt isteği gerçekleştirir


Tüm HTTP istek başlıklarını alır

  • « apache_note
  • apache_response_headers »
  • PHP Manual
  • Apache İşlevleri
  • Tüm HTTP istek başlıklarını alır

apache_request_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_request_headers — Tüm HTTP istek başlıklarını alır

Açıklama

apache_request_headers(): array

Geçerli istekteki HTTP istek başlıklarının tümünü alır. Apache, FastCGI, CLI ve FPM http sunucularında çalışır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı halinde mevcut isteğin tüm HTTP başlıklarını içeren bir ilişkili dizi döndürür; aksi halde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Bu işlev FPM SAPI ile kullanılabilir hale geldi.

Örnekler

Örnek 1 - apache_request_headers() örneği

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0
Host: www.example.com
Connection: Keep-Alive

Notlar

Bilginize:

PHP'yi bir Apache modülü olarak kullansanız da kullanmasanızda genel CGI değişkenlerini çevre değişkenlerini okuyarak da alabilirsiniz. Kullanılabilir ortam değişkenlerinin listesini almak için phpinfo() işlevini kullanabilirsiniz.

Ayrıca Bakınız

  • apache_response_headers() - Tüm HTTP yanıt başlıklarını alır


Tüm HTTP yanıt başlıklarını alır

  • « apache_request_headers
  • apache_setenv »
  • PHP Manual
  • Apache İşlevleri
  • Tüm HTTP yanıt başlıklarını alır

apache_response_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_response_headers — Tüm HTTP yanıt başlıklarını alır

Açıklama

apache_response_headers(): array|false

Tüm HTTP yanıt başlıklarını alır. Apache, FastCGI, CLI ve FPM http sunucularında çalışır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı halinde Apache yanıt başlıklarını içeren bir dizi; aksi halde false döndürür.

Örnekler

Örnek 1 - apache_response_headers() örneği

<?php
print_r(apache_response_headers());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

Ayrıca Bakınız

  • apache_request_headers() - Tüm HTTP istek başlıklarını alır
  • headers_sent() - Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
  • headers_list() - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner


Bir Apache ortam değişkeni atar

  • « apache_response_headers
  • getallheaders »
  • PHP Manual
  • Apache İşlevleri
  • Bir Apache ortam değişkeni atar

apache_setenv

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

apache_setenv — Bir Apache ortam değişkeni atar

Açıklama

apache_setenv(string $değişken, string $değer, bool $tepe_seviye = false): bool

apache_setenv() işlevi değişken ile belirtilen Apache ortam değişkeninin değerini atar.

Bilginize:

Apache ortam değişkeni atanırken ilgili $_SERVER değişkeninde bir değişiklik olmaz.

Bağımsız Değişkenler

değişken

Atanmak istenen çevre değişkeni.

değer

değişken'in yeni değeri.

tepe_seviye

Değişkenin tüm Apache katmanlarına kullanılabilen tepe seviyeye atanıp atanmayacağını belirler.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - apache_setenv() ile bir Apache ortam değişkenini atamak

<?php
apache_setenv("EXAMPLE_VAR", "Örnek değer");
?>

Notlar

Bilginize:

apache_setenv() işlevi apache_getenv() işlevi ile ayrı sayfalar arasında veya PHP betiklerinde içerilmiş SSI sayfalarına (.shtml) aktarılacak değişkenlere değer atamak için eşleştirilebilir

Ayrıca Bakınız

  • apache_getenv() - Bir Apache ortam değişkeninin değerini döndürür


Tüm HTTP istek başlıklarını getirir

  • « apache_setenv
  • virtual »
  • PHP Manual
  • Apache İşlevleri
  • Tüm HTTP istek başlıklarını getirir

getallheaders

(PHP 4, PHP 5, PHP 7, PHP 8)

getallheaders — Tüm HTTP istek başlıklarını getirir

Açıklama

getallheaders(): array

Mevcut isteğe ait HTTP başlıklarının tümünü bir dizi olarak döndürür.

Bu işlev apache_request_headers() işlevine bir takma addır. Bu işleven nasıl çalıştığı hakkında ayrıntılı bilgi edinmek için apache_request_headers() işlevinin açıklamasına bakınız.

Dönen Değerler

Herşey yolunda gitmişse mevcut isteğe ait tüm HTTP başlıklarını içeren bir ilişkili dizi döndürür, aksi takdirde false döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Bu işlev CLI sunucusunda kullanılabilir hale geldi.
5.4.0 | Bu işlev FPM SAPI ile kullanılabilir hale geldi.

Örnekler

Örnek 1 - getallheaders() örneği

<?php

foreach (getallheaders() as $başlık => $değer) {
echo "$başlık: $değer\n";
}

?>

Ayrıca Bakınız

  • apache_response_headers() - Tüm HTTP yanıt başlıklarını alır


Bir Apache alt isteği gerçekleştirir

  • « getallheaders
  • FastCGI Process Manager »
  • PHP Manual
  • Apache İşlevleri
  • Bir Apache alt isteği gerçekleştirir

virtual

(PHP 4, PHP 5, PHP 7, PHP 8)

virtual — Bir Apache alt isteği gerçekleştirir

Açıklama

virtual(string $uri): bool

virtual() işlevi, mod_include'da ki <!--#include virtual...--> komutuna eşdeğer Apache'ye özgü bir işlevdir. Bir Apache alt isteği gerçekleştirir. Apache'ye CGI betikleri ya da .shtml dosyalarını veya Apache'nin yorumlamasını istediğiniz herhangi birşey için kullanışlıdır. CGI betiklerinin geçerli CGI başlıklarını üretmelerinin gerekliliğini unutmayınız. Betiğin en azından bir Content-type başlığı üretmesi gerekir.

Bir alt istek çalıştırmak için tüm tamponlar tarayıcıya boşaltılıp sonlandırılırlar ve bu arada bekleyen başlıklar da gönderilir.

Bu işlev sadece PHP bir Apache modülü olarak kuruluysa desteklenir.

Bağımsız Değişkenler

uri

Apache virtual komutunun üzerinde çalışacağı dosya.

Dönen Değerler

Başarı halinde virtual komutu çalıştırılır, hata halinde false döndürür.

Örnekler

apache_note() işlevindeki örneği bakınız.

Notlar

Uyarı

Sorgu dizgisi dahil edilen dosyaya aktarılabilir, ancak $_GET değişkeni ana betikten kopyalanır ve sadece $_SERVER['QUERY_STRING'] değişkeni aktarılacak sorgu dizgisi ile doldurulur. Sorgu dizgesi sadece Apache 2 kullanılırken aktarılabilir. İstek yapılan dosya Apache'nin erişim günlüklerinde gösterilmez.

Bilginize:

İstek dosyasında atanan ortam değişkenleri çağrı betiğine görünür değildir.

Bilginize:

Bu işlev PHP dosyalarında kullanılabilirse de include veya require kullanmak daha iyidir.

Ayrıca Bakınız

  • apache_note() - Apache istek notlarını alır veya atar


FastCGI Process Manager

  • Giriş
  • Yapılandırma/Kurulum
  • Observability
    • Status Page
  • FPM İşlevleri
    • fastcgi_finish_request — Flushes all response data to the client
    • fpm_get_status — Returns the current FPM pool status


Giriş

FPM (FastCGI Process Manager - FastCGI Sğreç Yöneticisi) ağır yüklü siteler için (çoğunlukla) yararlı bazı özellikleri içeren birincil PHP FastCGI uygulamasıdır.

This SAPI is bundled with PHP.


Yapılandırma/Kurulum

Information on installing and configuring FPM can be found in the installation and configuration section of the PHP manual.


  • « Yapılandırma/Kurulum
  • Status Page »
  • PHP Manual
  • FastCGI Process Manager
  • Observability

Observability

İçindekiler

  • Status Page


Status Page

This page provides information on the setup and contents of the FPM status page. See also fpm_get_status().

Configuration

The FPM status page can be enabled by setting the pm.status_path configuration parameter in the FPM pool configuration.

Dikkat

For security the FPM status page should be restricted to internal requests or known client IPs only as the page reveals request URLs and information about available resources.

Depending on the web server configuration it might be needed to configure the web server to allow requests directly to this path, bypassing any PHP scripts. An example of a configuration for Apache with FPM listening on UDS and pm.status_path set to /fpm-status would look like:

<LocationMatch "/fpm-status">
 Order Allow,Deny
 Allow from 127.0.0.1
 ProxyPass "unix:/var/run/php-fpm.sock|fcgi://localhost/fpm-status"
</LocationMatch>

After reloading or restarting both FPM and the web server the status page will be accessible from the browser (as long as the request comes from an allowed IP address if the IP restriction was configured).

Query Parameters

The format of the status page output can be altered by specifying one of the following query parameters:

  • html
  • json
  • openmetrics
  • xml

Additional information can also be returned using the full query parameter.

Example status page URLs:

  • https://localhost/fpm-status - Brief output in the default text format
  • https://localhost/fpm-status?full - Full output in the default text format
  • https://localhost/fpm-status?json - Brief output in JSON format
  • https://localhost/fpm-status?html&full - Full output in HTML format

Displayed Information

Date/Time values use the unix timestamp format in JSON and XML output, otherwise they use the format resulting in the following example date "03/Jun/2021:07:21:46 +0100".

Basic information - Always displayed on the status page
Parameter | Description
pool | The name of the FPM process pool.
proccess manager | The process manager type - static, dynamic or ondemand.
start time | The date/time that the process pool was last started.
start since | The time in seconds since the process pool was last started.
accepted conn | The total number of accepted connections.
listen queue | The number of requests (backlog) currently waiting for a free process.
max listen queue | The maximum number of requests seen in the listen queue at any one time.
listen queue len | The maximum allowed size of the listen queue.
idle processes | The number of processes that are currently idle (waiting for requests).
active processes | The number of processes that are currently processing requests.
total processes | The current total number of processes.
max active processes | The maximum number of concurrently active processes.
max children reached | Has the maximum number of processes ever been reached? If so the displayed value is 1 otherwise the value is 0.
slow requests | The total number of requests that have hit the configured request_slowlog_timeout.
Per-process information - only displayed in full output mode
Parameter | Description
pid | The system PID of the process.
state | The state of the process - Idle, Running, ...
start time | The date/time at which the process started.
start since | The number of seconds since the process started.
requests | The total number of requests served.
request duration | The total time in seconds spent serving requests.
request method | The HTTP method of the last served request.
request uri | The URI of the last served request (after webserver processing, it may always be /index.php if you use a front controller pattern redirect).
content length | The length of the request body, in bytes, of the last request.
user | The HTTP user (PHP_AUTH_USER) of the last request.
script | The full path of the script executed by the last request. This will be '-' if not applicable (eg. status page requests).
last request cpu | The %cpu of the last request. This will be 0 if the process is not Idle because the calculation is done when the request processing is complete.
last request memory | The maximum amount of memory consumed by the last request. This will be 0 if the process is not Idle because the calculation is done when the request processing is complete.

Bilginize:

All values are specific to the pool and are reset when FPM is restarted.

Bilginize:

OpenMetrics format output uses different parameter types to better suit the OpenMetrics format. The parameters and descriptions of their values are included in the OpenMetrics format output.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | The openmetrics format was added.


FPM İşlevleri

İçindekiler

  • fastcgi_finish_request — Flushes all response data to the client
  • fpm_get_status — Returns the current FPM pool status


Flushes all response data to the client

  • « FPM İşlevleri
  • fpm_get_status »
  • PHP Manual
  • FPM İşlevleri
  • Flushes all response data to the client

fastcgi_finish_request

(PHP 5 >= 5.3.3, PHP 7, PHP 8)

fastcgi_finish_request — Flushes all response data to the client

Açıklama

fastcgi_finish_request(): bool

This function flushes all response data to the client and finishes the request. This allows for time consuming tasks to be performed without leaving the connection to the client open.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns the current FPM pool status

  • « fastcgi_finish_request
  • Oturum Eklentileri »
  • PHP Manual
  • FPM İşlevleri
  • Returns the current FPM pool status

fpm_get_status

(PHP 7 >= 7.3, PHP 8)

fpm_get_status — Returns the current FPM pool status

Açıklama

fpm_get_status(): array|false

This function returns the full current FPM pool status as an associative array. It always returns the full status, including per-process status information. See the FPM status page guide for further details.

Note that this function will only be defined if FPM is being used to serve the script.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Associative array containing the full FPM pool status, başarısızlık durumunda false döner.


Oturum Eklentileri

  • Sessions — Oturum Yönetimi Sistemi
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Oturumu Karşıya Yükleme Süreci
    • Oturumlar ve Güvenlik
    • Oturum İşlevleri
    • SessionHandler — SessionHandler sınıfı
    • SessionHandlerInterface — SessionHandlerInterface arayüzü
    • SessionIdInterface — SessionIdInterface arayüzü
    • SessionUpdateTimestampHandlerInterface — SessionUpdateTimestampHandlerInterface arayüzü


Oturum Yönetimi Sistemi

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel Kullanım
    • Oturum Kimliğinin Aktarımı
    • Özel Oturum Eylemcisi
  • Oturumu Karşıya Yükleme Süreci
  • Oturumlar ve Güvenlik
    • Oturum Yönetiminin Temelleri
    • Oturum INI Ayarlarının Güvenliği
  • Oturum İşlevleri
    • session_abort — Oturum dizisi değişikliklerini atıp oturumu bitirir
    • session_cache_expire — Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür
    • session_cache_limiter — Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar
    • session_commit — session_write_close işlevinin takma adıdır
    • session_create_id — Yeni bir oturum kimliği oluşturur
    • session_decode — Oturum verisini kodlanmış oturum dizgesinden elde eder
    • session_destroy — Bir oturumla ilişkilendirilmiş tüm veriyi yokeder
    • session_encode — Geçerli oturum verisini dizgeleştirerek döndürür
    • session_gc — Oturum verisi çöpünü toplar
    • session_get_cookie_params — Oturum çerezi bağımsız değişkenlerini döndürür
    • session_id — Geçerli oturum kimliğini döndürür ve/veya tanımlar
    • session_module_name — Geçerli oturum modülünü döndürür ve/veya tanımlar
    • session_name — Geçerli oturum ismini döndürür ve/veya tanımlar
    • session_regenerate_id — Geçerli oturum kimliğini yenisiyle değiştirir
    • session_register_shutdown — Oturum kapanma işlevini kaydeder
    • session_reset — Oturum dizisini özgün değerlerle yeniden ilklendirir
    • session_save_path — Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür
    • session_set_cookie_params — Oturum çerezi bağımsız değişkenlerini tanımlar
    • session_set_save_handler — Kullanıcı seviyesi oturum saklama işlevlerini bildirir
    • session_start — Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
    • session_status — Geçerli oturum durumunu döndürür
    • session_unset — Free all session variables
    • session_write_close — Oturum verisini yazıp oturumu kapatır
  • SessionHandler — SessionHandler sınıfı
    • SessionHandler::close — Oturumu kapatır
    • SessionHandler::create_sid — Yeni oturum kimliğini döndürür
    • SessionHandler::destroy — Oturumu siler
    • SessionHandler::gc — Eski oturumu çöpe atar
    • SessionHandler::open — Oturumu ilklendirir
    • SessionHandler::read — Oturum verisini okur
    • SessionHandler::write — Oturum verisini yazar
  • SessionHandlerInterface — SessionHandlerInterface arayüzü
    • SessionHandlerInterface::close — Oturumu kapatır
    • SessionHandlerInterface::destroy — Oturumu siler
    • SessionHandlerInterface::gc — Eski oturumları çöpe atar
    • SessionHandlerInterface::open — Oturumu ilklendirir
    • SessionHandlerInterface::read — Oturum verisini okur
    • SessionHandlerInterface::write — Oturum verisini yazar
  • SessionIdInterface — SessionIdInterface arayüzü
    • SessionIdInterface::create_sid — Oturum kimliğini oluşturur
  • SessionUpdateTimestampHandlerInterface — SessionUpdateTimestampHandlerInterface arayüzü
    • SessionUpdateTimestampHandlerInterface::updateTimestamp — Zaman damgasını günceller
    • SessionUpdateTimestampHandlerInterface::validateId — Oturum kimliğinin geçerliliğini saptar


Giriş

PHP'deki oturum desteği, belli bir veriyi sonraki erişimlerden korumak için kullanılır.

Sitenize gelen her ziyaretçiye eşsiz bir kimlik atanır, buna oturum kimliği diyoruz. Bu kimlik istemci tarafında bir çerezde ya da doğrudan URL üzerinde saklanır.

Oturum desteği, $_SESSION dizisindeki istekler arasında veri saklamanızı sağlar. PHP otomatik olarak sizin tarafınızdan (session_start() üzerinden doğrudan) veya sitenize bir ziyaretçi geldiğinde karşı taraftan (session.auto_start 1 ise) istekle beraber oturuma özgü bir oturum kimliği gönderilip gönderilmediğine bakar. Gönderilmişse evvelce o oturum adına saklanmış ortam yeniden oluşturulur.

Dikkat

session.auto_start yönergesinin değeri On olduğu takdirde nesneleri oturumunuza sınıf tanımını yüklemek suretiyle koymak isterseniz bunu yapmanın tek yolu sınıf tanımını auto_prepend_file kullanarak yüklemektir. Aksi takdirde oturumunuza nesneleri koymak için nesnenizi önce serialize() ile dizgeleştirmek daha sonra unserialize() ile nesneleştirmek zorundasınız.

$_SESSION ve kayıtlı tüm değişkenler istek bittiğinde PHP tarafından session.serialize_handler yönergesinde belirtilen dizgeleştirme eylemcisi kullanılarak dahili olarak dizgeleştirilir. Oturuma kayıtlı değişkenlerden tanımsız olanlar tanımsız olarak imlenir. Sonraki erişimlerde kullanıcı bunları tanımlamadıça oturum modülü tarafından tanımsız olarak ele alınırlar.

Uyarı

Oturum verisi dizgeleştirildiğinden resource türündeki değişkenler oturumda saklanamaz.

Dizgeleştirme işleyicileri (php ve php_binary) register_globals sınırlamalarını devralır. Bu nedenle, sayısal veya dize indisi içeren özel karakterler (| ve !) kullanılamaz. Bunların kullanılması, komut dosyası kapatılırken hatalarla sonuçlanacaktır. php_serialize için bu tür sınırlamalar yoktur.

Bilginize:

Oturumlarla çalışırken, $_SESSION süper küresel dizisine yeni bir anahtar ekleninceye kadar bir oturum kaydının oluşturulmayacağına dikkat ediniz. Oturumu session_start() ile başlatsanız bile bu durum değişmez.

Bilginize:

PHP 5.2.2'de devreye giren ve PHP 5.3.0 sürümünde kaldırılan henüz belgelenmemiş bir özellik sayesinde oturum dosyaları "/tmp" dizininde ("/tmp" izin verilen dosya yollarına doğrudan eklenmiş olmasa da open_basedir) ile etkin kılınmasa da) saklanabilmekteydi.


Gereksinimler

Bu eklentiyi derlemek için harici kütüphanelere gerek yoktur.

Bilginize:

Oturumu saklamak için, isterseniz, Ralf S. Engelschall tarafından geliştirilen paylaşımlı bellek ayırma (mm) yöntemini » indirip kurarak kullanabilirsiniz. Bu seçenek Windows platformlarında kullanılamaz. Yalnız şuna dikkat edin: mm'nin oturum saklama modülü, aynı oturumlara yapılan eşzamanlı erişimlerin düzgün olarak kilitleneceğini garanti etmemektedir. Bunun yerine, düzgün olarak kilitlenmesinden dolayı, dosya sistemine dayalı paylaşımlı bellek (Solaris/Linux üzerinde tmpfs veya BSD üzerinde /dev/md) kullanarak oturumları dosyalarda saklamak daha iyidir. Oturum verisi bellekte saklandığı takdirde HTTP sunucusu yeniden başlatılırken bu veriyi silmektetir.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-session

Oturumların paylaşımlı bellek tahsis (mm) yöntemini kullanması istenirse PHP derlenirken configure betiğine --with-mm[=DiZiN] seçeneği belirtilebilir.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.

Bilginize:

Öntanımlı olarak, belli bir oturumla ilgili tüm veri session.save_path php.ini yönergesi ile belirtilen dizindeki bir dosyada saklanır. Her oturum için, oturumla bir veri ilişkilendirilmemiş olsa bile bir dosya oluşturulur. Bunun böyle olmasının sebebi dosyanın henüz bir veri yazılmadan oturumla birlikte açılmış olmasıdır. Bu davranışın, dosya sistemindeki sınırlamalardan ve özel (örneğin bir veritabanı kullanan) bir oturum eylemcisinin veri saklanmayan oturumların izini sürmeme olasılığından dolayı bir yan etkisi de vardır.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Oturum Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_PERDIR |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL |
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "0" | PHP_INI_ALL | PHP 7.2.0 öncesinde "" öntanımlıydı.
session.cookie_httponly | "0" | PHP_INI_ALL | PHP 7.2.0 öncesinde "" öntanımlıydı.
session.cookie_samesite | "" | PHP_INI_ALL | PHP 7.3.0'dan beri kullanılabilmektedir.
session.use_strict_mode | "0" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL |
session.trans_sid_tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.trans_sid_hosts | $_SERVER['HTTP_HOST'] | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.sid_length | "32" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.sid_bits_per_character | "4" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR |
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR |
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR |
session.upload_progress.freq | "1%" | PHP_INI_PERDIR |
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR |
session.lazy_write | "1" | PHP_INI_ALL |
session.hash_function | "0" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.hash_bits_per_character | "4" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.entropy_file | "" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.entropy_length | "0" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Oturum yönetim sistemi, php.ini dosyanıza yerleştirebileceğiniz bazı yapılandırma yönergelerini destekler. Bu yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

session.save_handler string
session.save_handler yönergesi (kayıt sistemi), bir oturumla ilişkilendirilmiş veriyi saklamakta ve geri almakta nelerin kullanılacağını tanımlar. files (dosyalar) öntanımlı değerdir. Bazı eklentilerin kendi save_handler yönergeleri vardır; bunları kurulumunuzun phpinfo() çıktısında görebilirsiniz. Ayrıca bakınız: session_set_save_handler().
session.save_path string
session.save_path yönergesi session.save_handler yönergesinde belirtilen kayıt sistemine hangi bağımsız değişkenlerin aktarılacağını tanımlar. Öntanımlı kayıt sistemin (files) seçerseniz bu yönergenin değeri dosyaların oluşturulacağı dosya yolu olacaktır. Ayrıca bakınız: session_save_path().

Oturum dosyalarınızın yayılacağı dizin derinliğini belirlemekte kullanılmak üzere seçimlik bir N bağımsız değişkeni vardır. Örneğin yönergeye '5;/tmp' değerini atarsanız, bir oturum dosyası şöyle bir konuma konabilir: /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If. N bağımsız değişkenini kullanacaksanız bu dizinleri kullanmadan önce oluşturmuş olmalısınız. Bunu yapmak için ext/session altında mod_files.sh adında bir betik vardır (Windows için mod_files.bat). Ayrıca, N bağımsız değişkeninin sıfırdan büyük bir değerle kullanılması durumunda otomatik bir çöp toplayıcının devreye gireceğine de dikkat ediniz; daha ayrıntılı bilgi için php.ini dosyanıza bakınız. Ayrıca, N bağımsız değişkenini kullanmanız durumunda, noktalı virgül (;) ayracı php.ini dosyasında açıklamaları başlatmak için kullanıldığından yönergenin değerini tırnak içine almalısınız.

Dosya saklama modülü dosyaları öntanımlı olarak mode 600 kullanarak oluşturur. Bu öntanımlı değer seçimlik MODE ile değiştirilebilir: N;MODE;/path burada MODE dosya kipinin sekizlik tabanda gösterimidir. Dosya kipini bu yolla belirlemek sürecin umask'ını etkilemez.

Uyarı

Bu yönerge öntanımlı değeriyle bırakılır veya herkesin okuyabileceği bir dizin tanımlanırsa (öntanımlı olan /tmp gibi), diğer kullanıcılar bu dizindeki dosyaların listesini alarak oturum bilgilerini sunucu üzerinde kendi amaçları doğrultusunda kullanabilirler.

Dikkat

Dizin derinliğini belirlemekte kullanılan seçimlik N bağımsız değişkeni yukarıda belirtildiği gibi kullanılırken 1 veya 2'den daha yüksek bir değer kullanımı büyük sayıda dizin gerektirmesindan dolayı bir çok site için uygun olmayacaktır; örneğin, 3 değeri dosya sistemi üzerinde (2 ** session.sid_bits_per_character) ** 3 dizinin varolabileceğini öngörür, bu da çok sayıda dosya girdisi açılması ve büyük miktarda alanın boşa harcanması demektir.

Sadece, sitenizin 2'den büyük bir N değeri gerektirecek kadar büyük olması halinde 2'den büyük bir değer kullanabilirsiniz.

session.name string
session.name yönergesi çerez ismi olarak kullanılacak oturum ismini belirler. İsim sadece abecesayısal karakterler içermelidir. PHPSESSID öntanımlıdır. Ayrıca bakınız: session_name().
session.auto_start bool
session.auto_start yönergesi, bir oturumun otomatik olarak isteğin başlangıcında başlatılıp başlatılmayacağını belirler. Öntanımlı değer 0 olup, başlatılmaz.
session.serialize_handler string
session.serialize_handler yönergesi, veriyi dizgeleştirmek/nesneleştirmek için kullanılacak eylemcinin ismini belirler. Şimdilik sadece PHP dizgeleştirme biçemi (ismi: php_serialize), PHP'nin dahili biçemleri (php ve php_binary ismiyle) ve WDDX (wddx ismiyle) desteklenmektedir. PHP, WDDX desteği ile derlenmişse wddx bir seçenek haline gelir. php_serialize dahili olarak düz serialize/unserialize işlevini kullanır ve php ile php_binary'nin sahip olduğu sınırlamalardan azadedir. Daha eski digeleştirme eylemcileri $_SESSION içinde ne bir sayısal indis ne de özel karakterleri (| ve !) içeren bir dizge indisi saklayabilir. Betiğin durmasına yolaçan özel karakter hataları ve sayısal indislerden kaçınmak için php_serialize biçemini kullanın. php öntanımlıdır.
session.gc_probability int
session.gc_probability yönergesi session.gc_divisor yönergesi ile birlikte gc (garbage collection) çöp toplayıcı yordamının başlatılma olasılığını yönetmek için kullanılır. Ayrıntılar için session.gc_divisor yönergesinin açıklamasına bakınız.
session.gc_divisor int
session.gc_divisor yönergesi session.gc_probability yönergesi ile birlikte, her oturum ilklendirilişinde gc (garbage collection) çöp toplayıcı yordamının başlatılma olasılığını yönetmek için kullanılır. Olasılık, gc_probability/gc_divisor şeklinde hesaplanır. Örneğin, 1/100 oranının anlamı: Her istekte GC sürecinin başlatılma şansı %1'dir. session.gc_divisor yönergesinin öntanımlı değeri 100'dür.
session.gc_maxlifetime int
session.gc_maxlifetime yönergesi verinin kaç saniye sonra 'çöp' olarak ele alınıp temizleneceğini belirler. Çöp toplayıcı oturum başlangıcında etkin olur (session.gc_probability ve session.gc_divisor yönergelerine bağlı olarak). 1440 (24 dakika) öntanımlı değerdir.

Bilginize:

Eğer session.gc_maxlifetime değeri olarak farklı betikler farklı değerler belirtiyorsa fakat oturum verisini saklamak için aynı yeri paylaşıyorlarsa verileri temizlemek için en küçük değere sahip betiğin değeri kullanılır. Bu durumda, bu yönerge session.save_path yönergesi ile birlikte kullanılmalıdır.

session.referer_check string
session.referer_check yöntemi, Her HTTP Referrer başlığında içerilmesini istediğiniz bir alt dizgeyi tanımlar. Referrer başlığı istemci tarafından bu alt dizge içerilmeden gönderilmişse gömülü oturum kimliği geçersiz olur. Yönergenin öntanımlı değeri boş dizgedir.
session.entropy_file string
session.entropy_file yönergesi, oturum kimliğinin oluşturulma sürecinde ek döküntü kaynağı olarak kullanılacak harici bir özkaynağa (bir dosyaya) bir yol belirtir. Çoğu Unix sisteminde kullanılan örnekler: /dev/random veya /dev/urandom. Bu özellik Windows'ta desteklenmektedir. session.entropy_length yönergesine sıfırdan farklı bir değer atamak PHP'nin Windows Random API'sini bir döküntü kaynağı olarak kullanmasını sağlayacaktır.

Bilginize: PHP 7.1.0'da kaldırıldı. session.entropy_file için /dev/urandom veya /dev/arandom öntanımlıdır (hangisi varsa).

session.entropy_length int
session.entropy_length yönergesi yukarıdaki yönergede belirtilen dosyadan okunacak baytların sayısını belirler. Öntanımlı değer 0'dir (hiç bayt okunmayacak) 32 öntanımlıdır. PHP 7.1.0'da kaldırıldı.
session.use_strict_mode bool
session.use_strict_mode modülün katı oturum kimliği kipini kullanıp kullanmayacağını belirler. Bu kip etkinse modül ilklendirilmemiş oturum kimliklerini kabul etmeyecektir. Tarayıcı tarafından ilklendirilmemiş bir oturum kimliği gönderilmişse, tarayıcıya yeni oturum kimliği gönderilir. Uygulamalar katı kipte oturum sabitlemesinden oturum benimsenmesi yoluyla korunur. 0(iptal) öntanımlıdır .

Bilginize: session.use_strict_mode etkinleştirmek genel oturum güvenliği için zorunludur. Tüm sitelerin bunu etkinleştirmesi önerilir. Ayrıntılar için session_create_id() örneğine bakınız.

Uyarı

session_set_save_handler() aracılığıyla kaydedilen özel bir oturum işleyicisi SessionUpdateTimestampHandlerInterface::validateId()'yi gerçeklemezse veya validate_sid geriçağrımını sağlamazsa, bu yönergenin değerine bakılmaksızın katı oturum kimliği kipi etkin bir şekilde devre dışı bırakılır. SessionHandler'ın SessionHandler::validateId()'yi gerçeklemediğine özellikle dikkat edin.

session.use_cookies bool
session.use_cookies yönergesi modülün, oturum kimliğini istemci tarafında saklamak için çerezleri kullanıp kullanmayacağını belirler. Öntanımlı değer 1 olup çerezler kullanılır.
session.use_only_cookies bool
session.use_only_cookies yönergesi modülün, oturum kimliğini istemci tarafında saklamak için sadece çerezlerin mi kullanılacağını belirler. Bu yönergeyi etkin kılarak oturum kimliklerinin URL'lerde aktarılmaması sağlamak suretiyle saldırıları önlemiş olursunuz. Öntanımlı değer 1'dir (etkin).
session.cookie_lifetime int
session.cookie_lifetime yönergesi tarayıcıya gönderilen çerezin ömrünü saniye cinsinden belirler. Öntanımlı olan 0 değerinin anlamı "tarayıcı kapatılıncaya kadar"dır. Ayrıca bakınız: session_get_cookie_params() ve session_set_cookie_params().

Bilginize: Zaman aşımı zaman damgası sunucu zamanına göre belirlenir. Sunucu zamanının istemci zamanıyla aynı olma zorunluluğu yoktur.

session.cookie_path string
session.cookie_path yönergesi oturum çerezinin path anahtarını tanımlar. Bölü çizgisi / öntanımlıdır. Ayrıca bakınız: session_get_cookie_params() ve session_set_cookie_params().
session.cookie_domain string
session.cookie_domain yönergesi oturum çerezinin domain anahtarını tanımlar. Öntanımlı değer none olup, çerez belirtimine göre çerezi üreten sunucunun konak isminin kullanılacağı anlamına gelir. Ayrıca bakınız: session_get_cookie_params() ve session_set_cookie_params().
session.cookie_secure bool
session.cookie_secure yönergesi oturum çerezinin secure anahtarını tanımlar. Öntanımlı olarak off olup anlamı: Çerezler sadece güvenli bağlantılar üzerinden gönderilmez. Ayrıca bakınız: session_get_cookie_params() ve session_set_cookie_params().
session.cookie_httponly bool
session.cookie_httponly yönergesi oturum çerezinin httponly anahtarını tanımlar. Etkin olduğu takdirde çerezlere sadece HTTP protokolü üzerinden erişilebilir. Yani çerezlere JavaScript betik dilleriyle erişilemez. Bu ayar, (tüm tarayıcılar tarafından desteklenmiyor olsa da) özellikle XSS saldırılarıyla kimlik hırsızlığını önlemek için çok etkilidir.
session.cookie_samesite string
Sunucuların bir çerezin siteler arası isteklerle birlikte gönderilmemesi gerektiğini öne sürmelerine izin verir. Bu sav, istemcilerin siteler arası bilgi sızıntısı riskini azaltmasına izin verir ve siteler arası istek sahteciliği saldırılarına karşı bir miktar koruma sağlar. Bunun tüm tarayıcılar tarafından desteklenmediğini unutmayın. Boş bir değer, herhangi bir atama yapılmadığını belirtir. Lax ve Strict değerleri POST isteklerinde siteler arasında çerez gönderilmeyeceğini belirtir. Get isteklerinde Lax siteler-arası çerez gönderilmesine sebep olurken Strict buna sebep olmaz.
session.cache_limiter string
session.cache_limiter yönergesi, oturum sayfaları için kullanılacak önbellek denetim yöntemini belirler. Şu değerlerden biri olabilir: nocache, private, private_no_expire ve public nocache öntanımlıdır. Bu değerlerin anlamları için session_cache_limiter() işlevinin belgesine de bakınız.
session.cache_expire int
session.cache_expire yönergesi, önbelleğe alınan oturumlar için dakika cinsinden ömür (ttl) tanımlar. Önbellek sınırlayıcı yoksa bu ayar etkisizdir. 180 öntanımlı değerdir. Ayrıca bakınız: session_cache_expire().
session.use_trans_sid bool
session.use_trans_sid yönergesi, şeffaf SID desteğinin etkin olup olmayacağını belirler. Öntanımlı değer 0 olup etkin değildir.

Bilginize: URL'ye dayalı oturum yönetiminin çerezlere dayalı oturum yönetimine göre daha fazla güvenlik riski vardır. Örneğin, kullanıcılar, etkin oturum kimliğini içeren bir URL'yi epostayla arkadaşlarına gönderebilir veya sık kullanılanlarına kaydedebilir; böylece bu kişiler sitenize hep aynı oturum kimliğiyle oturum açarlar. PHP 7.1.0'dan beri, tam URL yolu, örn, https://php.net/, trans sid özelliği tarafından elde edilmektedir. Öncesinde PHP sadece göreli URL yolunu değerlendirirdi. Rewrite hedef konakları session.trans_sid_hosts ile tanımlanır.

session.trans_sid_tags string
Şeffaf oturum kimliği desteği etkinken oturum kimliğini içerecek HTML etiketlerini belirtmek için kullanılır. a=href,area=href,frame=src,input=src,form= öntanımlıdır. form özel bir etikettir. <input hidden="oturum_kimliği" name="oturum_ismi"> form değişkeni olarak eklenir.

Bilginize: PHP 7.1.0 öncesinde, url_rewriter.tags bu amaçla kullanılırdı. PHP 7.1.0'dan beri, fieldset özel bir etiket değildir.

session.trans_sid_hosts string
Şeffaf oturum kimliği desteği etkinken oturum kimliğini içerecek konakları belirtmek için kullanılır. $_SERVER['HTTP_HOST'] öntanımlıdır. Aralarda "," kullanarak çok sayıda konak belirtilebilir, konaklar arasında boşluk bulunmasına izin verilmez. Örnek: php.net,wiki.php.net,bugs.php.net
session.sid_length int
session.sid_length oturum kimliği dizesinin uzunluğunu belirtmek içindir. 22 ile 256 arasında olabilir. 32 öntanımlıdır. Uymluluk ihtiyacı varsa 32,40,vs. belirtilebilir. Uzun oturum kimliklerini tahmin etmek zordur. En azından 32 karakter olması önerilir.
İpucu

Uyumluluk bilgisi:
session.hash_function=0 (MD5) ve
session.hash_bits_per_character=4,
session.hash_function=1 (SHA1) ve
session.hash_bits_per_character=6 için 32 kullanın.
session.hash_function=0 (MD5) ve
session.hash_bits_per_character=5 için 26 kullanın.
session.hash_function=0 (MD5) ve
session.hash_bits_per_character=6 için 22 kullanın.
INI değerlerini, oturum kimliklerinde en azından 128 bit olacak
şekilde yapılandırın. session.sid_bits_per_character
için uygun bir değer atamayı unutmayın, yoksa daha zayıf bir oturum
kimliğiniz olur.

Bilginize: PHP 7.1.0 ve sonrasında kullanılabilir.

session.sid_bits_per_character int
session.sid_bits_per_character kodlu oturum kimliği karakterlerinin bit sayısını belirtmek içindir. Olası değerler: '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", ","). 4 öntanımlıdır. Bit sayısı arttıkça daha güçlü oturum kimlikleri elde edilir. Çoğu ortam için 5 yeterlidir.

Bilginize: PHP 7.1.0 ve sonrasında kullanılabilir.

session.hash_function mixed
session.hash_function yönergesi oturum kimliğinin üretilmesinde kullanılmak üzere bir ileti özeti algoritması belirtilmesini sağlar. '0' değeri MD5 (128 bitlik) algoritmasının, '1' ise SHA-1 (160 bitlik) algoritmasının kullanılmasını sağlar.

hash eklentisini (kullanılabilir durumdaysa) kullanarak sha512 veya whirlpool gibi algoritmalar belirtilebilmektedir. Desteklenen algoritmaların tam listesi hash_algos() işlevi ile edinilebilir

Bilginize:

PHP 7.1.0'da kaldırıldı.

session.hash_bits_per_character int
session.hash_bits_per_character yönergesi, ikil ileti özeti dizgesi okunur biçeme dönüştürülürken karakterlerin kaç bitle saklanacağını belirler. Olası değerler: '4' (0-9, a-f), '5' (0-9, a-v), '6' (0-9, a-z, A-Z, "-", ",").

Bilginize:

PHP 7.1.0'da kaldırıldı.

session.upload_progress.enabled bool
Yükleme işleminin izlenmesini etkinleştirir. Öntanımlı olarak 1, yani etkindir.
session.upload_progress.cleanup bool
Tüm POST verisi okunur okunmaz (yani, yükleme tamamlandığında) işlem bilgisi temizlenir. Öntanımlı olarak 1, yani etkindir.

Bilginize: Bu özelliğin daima etkin olması şiddetle önerilir.

session.upload_progress.prefix string
A prefix used for the upload progress key in the $_SESSION içinde yükleme işlemi anahtarı için kullanılacak önek. Bu önek, eşsiz bir indis elde ertmek için $_POST[ini_get("session.upload_progress.name")] değeriyle birleştirilir. "upload_progress_" öneki öntanımlıdır.
session.upload_progress.name string
İşlem bilgisini $_SESSION içinde saklamak için kullanılacak anahtar. Ayrıca bakınız: session.upload_progress.prefix. $_POST[ini_get("session.upload_progress.name")] değeri aktarılmammışsa veya kullanılabilir değilseyükleme işlemi kaydedilmez. "PHP_SESSION_UPLOAD_PROGRESS" öntanımlıdır.
session.upload_progress.freq mixed
Yükleme izleme bilgisinin ne sıklıkla güncelleneceğini tanımlar. Bayt cinsinden veya yüzde olarak belirtilebilir. Örneğin, yükleme izleme bilgisi her 100 baytta bir veya dosyanın her %1'i alındığında güncellenebilir. "1%" öntanımlıdır.
session.upload_progress.min_freq int
Güncellemeler arasındaki asgari bekleme süresi (saniye cinsinden). "1" öntanımlıdır.
session.lazy_write bool
session.lazy_write = 1 atandığında oturum verisi sadece değişirse yeniden yazılır. Bu öntanımlı değerdir ve etkindir.

Yükleme işlemi, session.upload_progress.enabled etkin olmadıkça ve $_POST[ini_get("session.upload_progress.name")] değişkenine bir atama yapılmadıkça kaydedilmeyecektir. Daha ayrıntılı bilgi çin bakınız: Oturumda Yüklemelerin İzlenmesi


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SID (string)
Oturum ismini ve kimliğini "isim=kimlik" biçiminde veya oturum kimliğinin bir oturum çerezinde saklanması durumunda boş bir dizge içeren sabit. Bu kimlik session_id() tarafından döndürülen kimliktir.
PHP_SESSION_DISABLED (int)
Oturumlar iptal edildiği takdirde session_status() işlevinin dönüş değeri.
PHP_SESSION_NONE (int)
Oturumlar etkin olduğu halde hiç oturum yoksa session_status() işlevinin dönüş değeri.
PHP_SESSION_ACTIVE (int)
Oturumlar etkin ve bir oturum varsa session_status() işlevinin dönüş değeri.


Örnekler

İçindekiler

  • Temel Kullanım
  • Oturum Kimliğinin Aktarımı
  • Özel Oturum Eylemcisi


Temel Kullanım

Oturumlar, bireysel kullanıcılar için verileri benzersiz bir oturum kimliğine göre depolamanın basit bir yoludur. Bu, sayfa istekleri arasında durum bilgisini sürdürmek için kullanılabilir. Oturum kimlikleri normalde tarayıcıya oturum çerezleri aracılığıyla gönderilir ve kimlik, mevcut oturum verilerini almak için kullanılır. Oturum kimliği veya çerezlerinin olmaması, PHP'nin yeni bir oturum oluşturmasını ve yeni bir oturum kimliği üretmesini sağlar.

Oturumlar basit bir iş akışını takip eder. Bir oturum başlatıldığında, PHP ya aktarılan kimliği (genellikle bir oturum çerezinden) kullanarak var olan bir oturumu geri alır ya da hiçbir oturum aktarılmamışsa yeni bir oturum oluşturur. PHP, $_SESSION süper küreselini, oturum başladıktan sonra oturum verileriyle doldurur. PHP kapandığında, $_SESSION süperküresel içeriğini otomatik olarak alacak, dizileştirecek ve oturum kaydetme işleyicisini kullanarak depolanmaya gönderecektir.

Öntanımlı olarak PHP, session.save_handler tarafından atanan dahili dosya kaydetme işleyicisini kullanır. Bu, oturum verilerini session.save_path yapılandırma yönergesi tarafından belirtilen konumda sunucuya kaydeder.

Oturumlar, session_start() işlevi kullanılarak elle başlatılabilir. session.auto_start yönergesine 1 atanmışsa, istek başlatıldığında oturum otomatik olarak başlayacaktır.

Oturumlar normalde PHP bir komut dosyasını yürütmeyi bitirdiğinde otomatik olarak kapanır, ancak session_write_close() işlevi kullanılarak elle de kapatılabilir.

Örnek 1 - Bir değişkeni $_SESSION ile kayıt altına almak

<?php
session_start();
if (!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
} else {
$_SESSION['count']++;
}
?>

Örnek 2 - $_SESSION ile bir değişkeni tanımsız yapmak

<?php
session_start();
unset($_SESSION['count']);
?>

Dikkat

$_SESSION dizisinin tamamını unset($_SESSION) ile tanımsız YAPMAYIN. Bu işlem, oturum değişkenlerinin $_SESSION süper küreseli üzerinden kayıt altına alınmamasına sebep olacaktır.

Uyarı

Başka bir değişkene gönderimi tekrar tanımlı kılmanın bir yolu olmadığından oturum değişkenlerinde gönderimleri kullanamazsınız.

Bilginize:

Dosya tabanlı oturumlar (PHP'de öntanımlı) bir oturum bir kez session_start() veya dolaylı olarak session.auto_start aracılığıyla açıldığında oturum dosyasını kilitler. Bir kez kilitlendiğinde, başka hiçbir betik, session_write_close() çağrılana kadar veya ilk betik sonlanana kadar aynı oturum dosyasına erişemez.

Bu, AJAX'ı yoğun şekilde kullanan ve aynı anda birden çok istek alan http sitelerinde büyük olasılıkla bir sorundur. Bununla başa çıkmanın en kolay yolu, oturumda gerekli herhangi bir değişiklik yapılır yapılmaz, tercihen betiğin başlarında, session_write_close() işlevini çağırmaktır. Bunun yerine, eşzamanlılığı destekleyen farklı bir oturum artucu da kullanılabilir.


Oturum Kimliğinin Aktarımı

Bir oturum kimliğini yaymanın iki yolu vardır:

  • Çerezler
  • URL bağımsız değişkeni

Oturum modülü her ikisini de destekler. Çerezler en uygunudur, fakat her zaman kullanmak mümkün olmadığından ikinci bir yöntem sağlıyoruz. İkinci yöntem, oturum kimliğini doğrudan URL'nin içine gömer.

PHP bağlantıları şeffaf olarak dönüştürme yeteneğine sahiptir. Çalışma anında session.use_trans_sid yönergesi etkin kılınmışsa, göreli URI'ler otomatik olarak oturum kimliğini içerecek şekilde değiştirilir.

Bilginize:

arg_separator.output php.ini yönergesi bağımsız değişken ayracının değiştirilebilmesini sağlar. Tam XHTML uyumluluğu için yönergeye değer olarak &amp; belirtin.

Ayrıca, oturum başlatıldığında tanımlanan SID sabitini de kullanabilirsiniz. Eğer istemci uygun bir oturum çerezi göndermezse, SID sabiti oturum_ismi=oturum_kimliği değerini içerecektir. Aksi takdirde sabitin değeri bir boş dizge olur. Bu durumda, oturum kimliğini koşulsuz olarak URL'lerin içine gömebilirsiniz.

Aşağıdaki örnekte bir değişkenin nasıl oturum değişkeni haline getirildiği ve SID sabitiyle başka bir sayfaya nasıl bağlantı kurulduğu gösterilmiştir.

Örnek 1 - Tek bir kullanıcının sayfa erişimlerinin sayılması

<?php

session_start();

if (empty($_SESSION['count'])) {
$_SESSION['count'] = 1;
} else {
$_SESSION['count']++;
}
?>

<p>
Merhaba sayın ziyaretçi, bu sayfayı <?php echo $_SESSION['count']; ?>
kere ziyaret ettiniz.
</p>

<p>
Devam etmek için, <a href="nextpage.php?<?php echo htmlspecialchars(SID);
?>">buraya tıklayınız</a>.
</p>

XSS saldırılarından kaçınmak için URL'ye SID yerleştirilirken htmlspecialchars() kullanılabilir.

SID sabitini URL'ye yukarıdaki gibi yerleştirecekseniz, PHP'yi --enable-trans-sid seçeneğiyle derlemeniz gerekmez.

Bilginize:

Göreli olmayan URL'lerin harici siteleri işaret ettikleri varsayılır ve oturum kimliğinin başka bir sunucuya ifşa edilme riskine karşı SID bunlara yerleştirilmez.


Özel Oturum Eylemcisi

Veritabanlarını saklama alanı olarak kullanmak için veya başka bir saklama yöntemi kullanmak için session_set_save_handler() işleviyle kullanıcı seviyesinde bir saklama işlevleri kümesi tanımlamak gerekir. SessionHandlerInterface arayüzü kullanılarak oturum işleyicileri oluşturabilir veya SessionHandler sınıfı miras alınarak PHP'nin dahili işleyicileri genişletetilebilir.

session_set_save_handler() içinde belirtilen geri çağırımlar, bir oturumun yaşam döngüsü boyunca PHP tarafından çağrılan yöntemlerdir: open, read, write ve close. Temizlik görevlerinde, bir oturumu silmek için destroy ve düzenli olarak çöpleri toplamak için gc.

Bu nedenle, PHP'ye oturum kaydetme işleyicileri daima gereklidir. Öntanımlı işleyici, genellikle dahili dosyaları kaydetme işleyicisidir. Özel bir kaydetme işleyicisi, session_set_save_handler() kullanılarak atanabilir. Bunun yanında, dahili kaydetme işleyicileri sqlite, memcache ve memcached gibi PHP eklentileri tarafından da sağlanır ve session.save_handler ile atanabilir.

Oturum başladığında, PHP dahili olarak oturum açma işleyicisini, ardından da depolamaya olduğu gibi aktarılmak üzere kodlanmış bir dizge döndüren okuma geriçağrım işlevini çağırır. Okuma geriçağırım işlevi kodlanmış dizgeyi döndürdüğünde, PHP dizgeyi çözer ve ortaya çıkan diziyi $_SESSION süper küreseline aktarır.

PHP kapandığında (veya session_write_close() çağrıldığında), PHP dahili olarak $_SESSION süper küreselini kodlayacak ve bunu oturum kimliği ile birlikte yazma geriçağrımına iletecektir. Yazma geriçağırımı bittikten sonra, PHP dahili olarak kapatma geriçağırım işleyicisini çağırır.

Bir oturum özellikle yok edildiğinde, PHP oturum kimliğini aktararak yoketme işleyicisini çağırır.

PHP, bir oturumun belirlenen azami yaşam süresine göre herhangi bir oturum kaydını sona erdirmek için zaman zaman çöp toplama geriçağrımı yapar. Bu işlev, kalıcı depolamada, belirlenen yaşam süresinden daha uzun süre erişilen tüm kayıtları siler.


Oturumu Karşıya Yükleme Süreci

session.upload_progress.enabled INI seçeneği etkin ise, PHP karşıya yüklenen bağımsız dosyaların karşıya yükleme sürecini izleyebilecektir. Bu bilgi, yükleme isteğinin kendisi için yararlı bir özellik değildir, ancak bir uygulama dosya yükleme sırasında, durumu denetim altında tutmak için ayrı bir uç noktaya (örneğin XHR aracılığıyla) bir POST isteği gönderebilir.

Karşıya yükleme süreci, bir yükleme devam ederken ve session.upload_progress.name INI ayarıyla aynı isme sahip bir değişken POST edilirken $_SESSION süper küreselinde kullanılabilir olacaktır. PHP bu tür POST isteklerini algıladığında, $_SESSION altında bir dizi oluşturur; burada anahtar, session.upload_progress.prefix ve session.upload_progress.name INI seçeneklerinin birleşiminden oluşur. Anahtar genellikle bu INI ayarlarından elde edilir. Örnek:

<?php
$key = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")];
var_dump($_SESSION[$key]);
?>

$_SESSION[$key]["cancel_upload"] anahtarına true atayarak, sürmekte olan dosya yüklemesini iptal etmek de mümkündür. Aynı istekte birden fazla dosya yüklerken, bu yalnızca devam etmekte olan dosya yüklemesini ve bekleyen dosya yüklemelerini iptal eder, ancak başarıyla tamamlanmış yüklemeleri kaldırmaz. Bir yükleme bu şekilde iptal edildiğinde $_FILES dizisindeki error anahtarına UPLOAD_ERR_EXTENSION atanır.

session.upload_progress.freq ve session.upload_progress.min_freq INI seçenekleri, karşıya yükleme süreci bilgisinin ne sıklıkta yeniden hesaplanması gerektiğini denetler. Bu iki ayar için uygun bir miktar dışında, bu özelliğin getirdiği ek bir yük neredeyse yoktur.

Örnek 1 - Örnek bilgi

Karşıya yükleme süreci için dizi yapılandırma örneği

<form action="upload.php" method="POST" enctype="multipart/form-data">
 <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="123" />
 <input type="file" name="file1" />
 <input type="file" name="file2" />
 <input type="submit" />
</form>

Oturumda saklanan veri şöyle görünür:

<?php
$_SESSION["upload_progress_123"] = array(
"start_time" => 1234567890, // İstek zamanı
"content_length" => 57343257, // POST içeriğinin uzunluğu
"bytes_processed" => 453489, // Alınan ve işlenen bayt miktarı
"done" => false, // POST işleyici sonlanınca başarılı olsun olmasın true
"files" => array(
0 => array(
"field_name" => "file1", // <input/> alanındaki isim
// Aşağıdaki 3 eleman $_FILES içindekilerle aynıdır
"name" => "foo.avi",
"tmp_name" => "/tmp/phpxxxxxx",
"error" => 0,
"done" => true, // POST işleyici dosyayla işini bitirince true
"start_time" => 1234567890, // Dosyanın işleme alındığı zaman
"bytes_processed" => 57343250, // Dosya işlenirken alınan ve gönderilen bayt miktarı
),
// Aynı istekte, karşıya yüklenmesi tamamlanmamış başka bir dosya
1 => array(
"field_name" => "file2",
"name" => "bar.avi",
"tmp_name" => NULL,
"error" => 0,
"done" => false,
"start_time" => 1234567899,
"bytes_processed" => 54554,
),
)
);

Uyarı

Bunun düzgün çalışması için HTTP sunucusunun isteği tamponlama özelliği devre dışı bırakılmalıdır, aksi takdirde PHP dosya yüklemesini yalnızca dosya tam olarak yüklendikten sonra görebilir. Nginx gibi sunucuların oldukça büyük istekleri tamponladıkları bilinmektedir.

Dikkat

Karşıya yükleme süreci bilgisi, herhangi bir betik yürütülmeden önce oturuma yazılır. Bu nedenle oturum adını ini_set() veya session_name() yoluyla değiştirmek, içinde karşıya yükleme süreci bilgisi bulunmayan bir oturum verecektir.


Oturumlar ve Güvenlik

İçindekiler

  • Oturum Yönetiminin Temelleri
  • Oturum INI Ayarlarının Güvenliği

Dış bağlantı: » Oturum Tespiti

HTTP oturum yönetimi, site güvenliğinin özünü temsil eder. Oturumların güvence altına alınmasını sağlamak için tüm olası etki azaltma önlemlerinin alınması zorunludur. Geliştiricilerin ayrıca uygulanabilir güvenlik önlemlerini etkinleştirmesi ve kullanması gerekir.


Oturum Yönetiminin Temelleri

Oturum Güvenliği

Oturum modülü bir oturumda saklanan verinin sadece oturumun kullanıcısı tarafından görüldüğünü garanti edemez. Oturumun bütünlüğünü etkin olarak korumak için oturumun önemine bağlı olarak ek tedbirler alınması gerekir.

Oturumlarınız tarafından taşınan verinin önemine ve konuşlandırdığınız ek korumalara bağlı olarak ki, bunun bir fiyatı vardır, kullanıcının rahatı azalır. Örneğin, kullanıcılarınızı basit sosyal mühendislik taktiklerinden korumak için session.use_only_cookies yönergesi etkin kılınmalıdır. Bu durumda, çerezler kullanıcı tarafında koşulsuz olarak etkin kılınmalıdır yoksa oturum çalışmayacaktır.

Bir mevcut oturum kimliğinin üçüncü şahıslara ifşa olmasının çeşitli yolları vardır. Örneğin, JavaScript zerkleri, URL'lerdeki oturum kimlikleri, paket koklama, cihaza fiziksel erişim vb. İfşa edilmiş bir oturum kimliği, üçüncü tarafın o kimlik ile ilişkilendirilmiş tüm özkaynaklara erişmesini mümkün kılar. İlk olarak oturum kimliğini taşıyan URL'ler ifşa olur. Harici bir siteye bir bağ verilirse oturum kimliğini içeren URL, harici sitenin günlük kayıtlarına geçebilir. İkinci olarak, daha etkin bir saldırgan ağ trafiğini dinleyebilir. Eğer şifreleme yapılmıyorsa oturum kimlikleri ağ üzerinden salt metin olarak akacaktır. Bu noktada çözüm, sunucunuzun SSL bağlantılar kurmasını sağlamak ve bunu kullanıcılarınız için zorunlu kılmaktır. Güvenliği arttırmak için HSTS kullanılmalıdır.

Bilginize: HTTPS bile gizli verileri her zaman koruyamaz. Örneğin, CRIME ve Beast güvenlik açıkları, bir saldırganın verileri okumasını sağlayabilir. Ayrıca, birçok ağın denetim amacıyla HTTPS MITM vekilleri kullandığı unutulmamalıdır. Saldırganlar da böyle bir vekil sunucu kurabilir.

Uyumsuz Oturum Yönetimi

PHP'nin oturum yöneticisi şu anda öntanımlı olarak uyarlanabilir durumdadır. Uyarlanabilir bir oturum yöneticisi ek riskler içerir.

session.use_strict_mode etkin olduğunda ve oturum kayıt işleyicisi destekliyorsa, ilklendirilmemiş bir oturum kimliği reddedilir ve yenisi oluşturulur. Bu, kullanıcıyı bilinen bir oturum kimliğini kullanmaya zorlayan bir saldırıyı engeller. Bir saldırgan bağlantıları kopyalayabilir ve oturum kimliği içeren bağlantıları epostalarda yollayabilir. Örneğin, http://example.com/page.php?PHPSESSID=123456789 eğer session.use_trans_sid etkinse, kurban, saldırgan tarafından sağlanan oturum kimliğini kullanarak bir oturum başlatacaktır. session.use_strict_mode bu riski azaltır.

Uyarı

Kullanıcı tanımlı kayıt işleyicileri, oturum kimliği doğrulaması uygulayarak katı oturum kipini destekleyebilir. Tüm kullanıcı tanımlı kayıt işleyicileri, oturum kimliği doğrulamasını gerçeklemelidir.

Oturum kimliği çerezine domain, path, httponly, secure ve PHP 7.3 ve sonrasında SameSite öznitelikleri atanabilir. Tarayıcılarda tanımlı öncelikler vardır. Öncelik kullanarak bir saldırganın kalıcı olarak kullanılabilecek oturum kimliği ataması mümkündür. session.use_only_cookies kullanımı bu sorunu çözümlemez. session.use_strict_mode bu riski azaltır. session.use_strict_mode=On ile ilklendirilmemiş bir oturum kimliği reddedilir.

Bilginize: session.use_strict_mode uyarlanabilir oturum yönetimi riskini azaltsa da, bir saldırgan yine de kullanıcıyı ilklendirilmemiş bir oturum kimliğini kullanmaya zorlayabilir; böyle bir oturum kimliği saldırgan tarafından JavaScript zerki ile oluşturulabilir. Bu saldırının riskleri bu kılavuzun tavsiyelerine uyularak azaltılabilir. Bu kılavuzu izleyerek, geliştiriciler, session.use_strict_mode yönergesini etkin kılmalı, zaman damgalı oturum yönetimi kullanmalı ve tavsiye edilen yordamlarla session_regenerate_id() kullanarak oturum kimliklerini yeniden üretmelidir. Geliştirici yukarıdakilerin tümünü uyguladığı takdirde saldırgan üretimi oturum kimliği silinecektir. Eski oturuma erişim gerçekleştiğinde, bu bilgiler, müteakip bir soruşturma için geçerli olacağından, geliştiriciler kullanıcının tüm etkin oturum verilerini kaydetmelidir. Kullanıcının tüm oturumları zorla kapatılmalı ve yeniden kimlik doğrulaması yapması istenmelidir. Bu, saldırganların çalınan oturumları kötü amaçlarla kullanmasını engeller.

Uyarı

Eski oturuma erişim, mutlaka bir saldırı anlamına gelmez. Kararsız bir ağ ve/veya etkin oturumun derhal silinmesi, meşru kullanıcıların eski oturumlarını kullanmasına sebep olacaktır.

PHP 7.1.0 ve sonrası için, session_create_id() eklendi. Bu işlev, bir kullanıcının oturum kimliklerinin önüne kullanıcı kimliği eklenerek tüm etkin oturumlarına verimli bir şekilde erişmek için çalıştırılabilir. session.use_strict_mode'u etkinleştirmek bu gerçeklenim için çok önemlidir. Aksi takdirde, kötü niyetli kullanıcılar diğer kullanıcılar için kötü amaçlı bir oturum kimliği atayabilir.

Bilginize: PHP 7.1.0 öncesinde gelitiriciler yeni bir oturum kimliği üretmek için /dev/urandom gibi CSPRNG veya aş işlevlerini ve random_bytes() işlevini kullanmalıdır. session_create_id() çakışma algılama özelliğine sahiptir ve oturumun INI ayarlarına göre bir oturum kimliği üretir.

Oturum Kimliğinin Yeniden Üretilmesi

session.use_strict_mode iyi bir acı azaltıcıdır ancak yetersizdir. Geliştiriciler oturum güvenliğini sağlamak için aynı zamanda session_regenerate_id() işlevini de kullanmalıdır.

Oturum kimliğinin yenilenmesi oturum kimliklerinin çalınma riskini azaltır, bu bakımdan session_regenerate_id() belirli aralıklarla sürekli çağrılmalıdır. Örneğin, güvenlik açısından hassas içerik için oturum kimliği her 15 dakikada bir yeniden oluşturulmalıdır. Bir oturum kimliğinin çalınması durumunda bile, hem meşru kullanıcının hem de saldırganın oturumu sona erecektir. Başka bir deyişle, kullanıcı veya saldırgan tarafından erişim, eski bir oturuma erişim hatası üretecektir.

Oturum kimlikleri, kullanıcı ayrıcalıkları yükseltildiğinde, kimlik doğrulamasından sonra yapıldığı gibi yeniden oluşturulmalıdır. Kimlik doğrulama bilgisi $_SESSION dizisine atamadan önce session_regenerate_id() çağrılmalıdır. (PHP 7.0.0'dan itibaren, session_regenerate_id(), zaman damgasını/ve benzerlerini geçerli oturuma kaydetmek için mevcut oturum verilerini otomatik olarak kaydeder.) Yalnızca yeni oturumun doğrulanmış bayrağı içerdiğinden emin olunmalıdır.

Geliştiriciler, session.gc_maxlifetime değerine göre oturum kimliğinin süresinin dolmasına güvenmemelidir. Saldırganlar, süresinin dolmasını önlemek ve kimliği doğrulanmış bir oturum da dahil olmak üzere oturumu kullanmaya devam edebilmek için bir kurbanın oturum kimliğine düzenli aralıklarla erişebilir.

Bunun yerine, geliştiricilerin zaman damgasına dayalı oturum verisi yönetimini gerçeklemesi gerekir.

Uyarı

Oturum yöneticisi zaman damgalarını şeffaf bir şekilde yönetebilse de bu özellik uygulanmaz. Eski oturum verileri çöp toplayıcıya gidene kadar saklanmalıdır. Aynı zamanda, geliştiriciler, eski oturum verilerinin silindiğinden emin olmalıdır. Ancak geliştiriciler, etkin oturum verilerini hemen silmemelidir. Yani session_regenerate_id(true); ve session_destroy() etkin bir oturum için asla birlikte çağrılmamalıdır. Bu çelişkili gelebilir, ancak bu zorunlu bir gerekliliktir.

session_regenerate_id() öntanımlı olarak eski oturumları silmez. Eski kimliği doğrulanmış oturumlar kullanım için mevcut olabilir. Geliştiriciler, eski oturumların herkes tarafından tüketilmesini engellemeli, zaman damgalarını kullanarak eski oturum verilerine kendi başlarına erişimi yasaklamalıdır.

Uyarı

Etkin bir oturumun aniden kaldırılması istenmeyen yan etkilere neden olur. Sunucuya eşzamanlı bağlantılar olduğunda ve/veya ağ kararsız olduğunda oturumlar kaybedilebilir.

Etkin oturumların aniden kaldırılmasıyla olası bir kötü amaçlı erişim tespit edilemez.

Geliştiriciler, güncel olmayan oturumları hemen silmek yerine, $_SESSION'da kısa süreli bir zaman aşımı (bir zaman damgası) belirlemeli ve kulanıcıların oturum verilerine kendi başlarına erişmesi engellenmelidir.

Geliştiriciler, session_regenerate_id() işleminin hemen ardından eski oturum verilerine erişimi yasaklamamalı, daha sonraki bir aşamada yasaklamalıdır. Örneğin. kablolu ağ gibi kararlı ağlar için birkaç saniye sonra ve cep telefonları veya Wi-Fi gibi kararsız ağlar için birkaç dakika sonra.

Bir kullanıcı eski bir oturuma (süresi dolmuş oturum) erişirse, buna erişim reddedilmelidir. Ayrıca, bir saldırıyı temsil etmesi muhtemel olduğundan, kimlik doğrulamalı durumunun kullanıcının tüm oturumlarından kaldırılması önerilir.

session.use_only_cookies ve session_regenerate_id() öğelerinin doğru kullanımı, saldırganlar tarafından ayarlanan silinemeyen çerezlerle kişisel DoS'a neden olabilir. Bu durumda geliştiriciler, kullanıcıları çerezleri kaldırmaya davet edebilir ve bir güvenlik sorunundan etkilenebileceklerini bildirebilir. Saldırganlar, güvenlik açığı bulunan bir web uygulaması, açıkta kalan/kötü niyetli bir tarayıcı eklentisi, fiziksel olarak güvenliği ihlal edilmiş bir cihaz vb. aracılığıyla kötü amaçlı çerezler atayabilir.

Uyarı

DoS riski yanlış anlaşılmasın. session.use_strict_mode=On genel oturum kimliği güvenliği için zorunludur! Tüm sitelerin session.use_strict_mode'u etkinleştirmesi önerilir.

DoS, yalnızca hesap saldırı altındayken gerçekleşebilir. Bir uygulamadaki JavaScript zerki güvenlik açığı en yaygın sebeplerdendir.

Oturum Verisinin Silinmesi

Eski oturum verisi erişilemez ve silinmiş olmalıdır. Geçerli oturum modülü bunu gerektiği gibi yerine getiremez.

Eski oturum verileri mümkün olan en kısa sürede silinmelidir. Ancak, etkin oturumlar hemen kaldırılmamalıdır. Bu gereksinimleri karşılamak için geliştiriciler, zaman damgasına dayalı oturum veri yönetimini kendi başlarına uygulamalıdır.

$_SESSION içinde zaman aşımı damgası ayarlanmalı ve yönetilmelidir. Güncel olmayan oturum verilerine erişim yasaklanmalıdır. Eski oturum verilerine erişim tespit edildiğinde, kullanıcının oturumlarından tüm kimliği doğrulanmış durumları kaldırıp yeniden kimlik doğrulamaya zorlanması önerilir. Eski oturum verilerine erişim bir saldırıyı temsil edebilir. Bunu başarmak için geliştiriciler, her kullanıcının tüm etkin oturumlarını takip etmelidir.

Bilginize: Eski bir oturuma erişim, kararsız bir ağ ve/veya siteye eşzamanlı erişim nedeniyle de gerçekleşebilir. Örneğin, sunucu bir çerez aracılığıyla yeni bir oturum kimliği belirlemeye çalışmış, ancak bağlantının kesilmesi nedeniyle Set-Cookie paketi istemciye ulaşmamış olabilir. Bir bağlantıya session_regenerate_id() tarafından yeni bir oturum kimliği verilebilir, ancak başka bir eşzamanlı bağlantı henüz yeni oturum kimliğini almamış olabilir. Bu nedenle, geliştiriciler daha sonraki bir aşamada eski oturuma erişimi yasaklamalıdır. Yani zaman damgası tabanlı oturum yönetimi zorunludur.

Özetle, oturum verileri ne session_regenerate_id() ne de session_destroy() ile yok edilmeli, oturum verilerine erişimi denetlemek için zaman damgaları kullanılmalıdır. session_gc()'nin oturum veri deposundaki eski verileri silmesine izin verilmelidir.

Oturum Kilitleme

Yarış koşullarından kaçınmak için oturum verileri öntanımlı olarak kilitlenir. Oturum verilerinin istekler arasındaki tutarlılığını sağlamak için kilitleme zorunludur.

Ancak oturum kilitleme, saldırganlar tarafından DoS saldırıları gerçekleştirmek için kötüye kullanılabilir. Oturum kilitleyerek DoS saldırısı riskini azaltmak için kilitler en aza indirilmelidir. Oturum verilerinin güncellenmesi gerekmediğinde salt okunur oturumlar kullanılmalıdır. session_start() işlevi 'read_and_close' seçeneği ile kullanılmalıdır: session_start(['read_and_close'=>1]); session_commit() kullanarak $_SESSION güncellendikten hemen sonra, mümkün olan en kısa sürede oturum kapatılmalıdır.

Geçerli oturum modülü, oturum etkin olmadığında $_SESSION üzerinde herhangi bir değişiklik algılamaz. Oturum etkin değilken $_SESSION üzerinde değişiklik yapmamak geliştiricinin sorumluluğundadır.

Etkin Oturumlar

Geliştiriciler, her kullanıcı için tüm etkin oturumları izlemelidir. Ve kullanıcılara kaç tane etkin oturum, hangi IP'den (ve alandan), ne kadar süredir etkin oldukları vs. bildirilmelidir. PHP bunları takip etmez. Bunu geliştiricilerin yapacağı varsayılır.

Bunu uygulamak için çeşitli yollar mevcuttur. Olası bir uygulama, gerekli verileri takip eden ve ilgili tüm bilgileri depolayan bir veritabanı oluşturmaktır. Geçersiz oturum verileri çöp toplayıcıya gittiğinden, geliştiricilerin etkin oturum veritabanı tutarlılığını korumak için çöp toplayıcı verileriyle de ilgilenmesi gerekir.

En basit uygulamalardan biri "oturum kimliği ile öncelenmiş kullanıcı kimliği"dir ve gerekli bilgiler $_SESSION içinde saklanır. Birçok veritabanı, bu öneki seçebilmektedir. Geliştiriciler bunun için session_regenerate_id() ve session_create_id() kullanabilir.

Uyarı

Gizli verileri asla önek olarak kullanmayın. Kullanıcı kimliği gizliyse hash_hmac() önerilir.

Uyarı

Bu uygulama için session.use_strict_mode yönergesinin etkinleştirilmesi zorunludur. Etkin olduğundan emin olun. Aksi takdirde aktif oturum veritabanı tehlikeye girebilir.

Eski oturumlara erişimi tespit etmek için zaman damgasına dayalı oturum yönetimi zorunludur. Eski bir oturuma erişim tespit edildiğinde, kullanıcının tüm etkin oturumlarından kimlik doğrulama bayrakları silinmelidir. Bu, saldırganların çalınan oturumlardan yararlanmaya devam etmesini önler.

Oturum ve Otomatik Oturum Açmak

Oturumun çalınma riskini artırdığından, geliştiriciler otomatik oturum açma için uzun ömürlü oturum kimlikleri kullanmamalıdır. Otomatik giriş özelliğini geliştirici gerçeklemelidir.

setcookie() kullanarak otomatik oturum açma anahtarı olarak tek seferlik güvenli bir aşlama anahtarı kullanın. SHA-2'den daha güçlü bir aşlama algoritması kullanın. Örneğin, /dev/urandom veya random_bytes()'dan rastgele verilerle SHA-256 veya üstü.

Kullanıcının kimliği doğrulanmamışsa, tek seferlik otomatik giriş anahtarının geçerli olup olmadığına bakılmalıdır. Geçerli olması durumunda, kullanıcının kimliği doğrulanmalı ve yeni bir güvenli tek seferlik aşlama anahtarı atanmalıdır. Otomatik oturum açma anahtarı yalnızca bir kez kullanılmalıdır, yani bir otomatik oturum açma anahtarının asla yeniden kullanılmaması gerekir. Her zaman yeni bir tane oluşturulmalıdır.

Otomatik oturum açma anahtarı, uzun ömürlü bir kimlik doğrulama anahtarıdır, mümkün olduğunca korunması gerekir. Güvenli hale getirmek için path/httponly/secure/SameSite çerezinin öznitelikleri kullanılmalıdır. Yani otomatik giriş anahtarı, gerekmedikçe asla aktarılmamalıdır.

Geliştirici, otomatik oturum açmayı devre dışı bırakan ve gereksiz otomatik oturum açma anahtarı tanımlama bilgisini kaldıran özellikleri uygulamalıdır.

CSRF (Siteler Arası Talep Sahtekarlıkları) Saldırıları

Oturumlar ve kimlik doğrulama, CSRF saldırılarına karşı koruma sağlamaz. Geliştiriciler, CSRF korumasını kendileri gerçeklemelidir.

CSRF koruması için output_add_rewrite_var() kullanılabilir. Daha fazla bilgi işlevin sayfasında bulunabilir.

Bilginize: PHP 7.2.0 öncesinde, şeffaf oturum kimliği ile aynı çıktı tamponu ve INI ayarı kullanılırdı. Bu nedenle, 7.2.0 öncesi PHP sürümleri ile output_add_rewrite_var() kullanılması önerilmez.

Çoğu sayfa uygulama çerçevesi CSRF korumasını destekler. Daha fazla ayrıntı için sayfa uygulama çerçevesi kılavuzunuza bakılabilir.

PHP 7.3'ten itibaren, oturum çerezi için SameSite özniteliği ayarlanabiliyor. Bu, CSRF güvenlik açıklarını azaltabilecek ek bir önlemdir.


Oturum INI Ayarlarının Güvenliği

Geliştiriciler, oturumla ilgili INI ayarlarını güvenli duruma getirerek oturum güvenliğini iyileştirebilir. Bazı önemli INI ayarlarında bir değer önerilmez. Oturum ayarlarının güçlendirilmesinden geliştiriciler sorumludur.

  • session.cookie_lifetime=0

    0 belirli bir anlama sahiptir. Tarayıcıları, çerezi kalıcı depoya kaydetmemeleri konusunda bilgilendirir. Bu nedenle, tarayıcı sonlandırıldığında, oturum kimliği çerezi hemen silinir. Geliştiriciler yönergeye sıfırdan farklı bir değer atarsa, diğer kullanıcıların oturum kimliğini kullanmasına izin verebilir. Çoğu gerçeklenimde bunun için "0" kullanılmalıdır.

    Otomatik oturum açma özelliği gerekiyorsa, geliştiricilerin kendi güvenli otomatik oturum açma özelliklerini gerçeklemeleri gerekir. Bunun için uzun ömürlü oturum kimlikleri kullanmayın. Daha fazla bilgiyi yukarıdaki ilgili bölümde bulabilirsiniz.

  • session.use_cookies=On

    session.use_only_cookies=On

    HTTP çerezleri bazı sorunlara yol açsa da çerezler oturum kimliklerini yönetmek için tercih edilmeye devam etmektedir. Çerezleri yalnızca mümkün olduğunda oturum kimliği yönetimi için kullanılmalıdır. Çoğu uygulama, oturum kimliği için çerez kullanmaktadır.

    session.use_only_cookies=Off ise, oturum modülü, oturum kimliği çerezinin ilklendirilmemiş olması koşuluyla, GET/POST/URL tarafından atanan oturum kimliği değerlerini kullanır.

  • session.use_strict_mode=On

    Bununla birlikte, güvenli oturumlar için session.use_strict_mode'un etkinleştirilmesi zorunludur. Önatnımlı olarak devre dışıdır.

    Bu, oturum modülünün ilklendirilmemiş oturum kimliği kullanmasını engeller. Başka bir deyişle, oturum modülü yalnızca oturum modülü tarafından üretilen geçerli oturum kimliklerini kabul eder. Kullanıcılar tarafından sağlanan herhangi bir oturum kimliğini reddeder.

    Çerez belirtiminden dolayı, saldırganlar JavaScript zerkleriyle veya yerel olarak bir çerez veritabanı atayarak kaldırılamayan oturum kimliği çerezleri yerleştirebilir. session.use_strict_mode, bir saldırganın ilklendirdiği oturum kimliğinin kullanılmasını engelleyebilir.

    Bilginize:

    Saldırganlar, oturum kimliğini kendi cihazlarında ilklendirip kurbanın oturum kimliğini atayabilir. Kötüye kullanım için oturum kimliğini etkin tutmaları gerekir. Bu senaryoda bir saldırı gerçekleştirmek için saldırganlara ek adımlar gerekir. Bu nedenle, session.use_strict_mode bir risk azaltıcı olarak çalışır.

  • session.cookie_httponly=On

    Oturum çerezine JavaScript'ten erişimi reddeder. Bu yönerge, bir JavaScript zerkiyle çerezlerin kaçırılmasını önler.

    Bir oturum kimliğini CSRF dizgeciği olarak kullanmak mümkündür, ancak bu önerilmez. Örneğin, HTML kaynakları kaydedilebilir ve diğer kullanıcılara gönderilebilir. Geliştiriciler, daha iyi güvenlik için oturum kimliklerini sayfaya yazmamalıdır. Hemen hemen tüm uygulamalarda, oturum kimliği çerezi için httponly özniteliğini kullanılmalıdır.

    Bilginize:

    CSRF dizgeciği oturum kimliği gibi düzenli aralıklarla olarak yenilenmelidir.

  • session.cookie_secure=On

    Yalnızca protokol HTTPS olduğunda oturum kimliği çerezine erişime izin verin. Bir sitenin yalnızca HTTPS üzerinden erişilebiliyorsa, bu ayarı etkinleştirmesi gerekir.

    HSTS, yalnızca HTTPS aracılığıyla erişilebilen siteler için düşünülmelidir.

  • session.cookie_samesite="Lax" veya session.cookie_samesite="Strict"

    PHP 7.3'ten itibaren, oturum kimliği çerezi için "SameSite" özniteliği atanabilir. Bu özniteliğin kullanımı, CSRF (Siteler Arası İstek Sahteciliği) saldırılarını azaltmanın bir yoludur.

    Lax ve Strict arasındaki fark, HTTP GET yöntemini kullanan başka bir kaydedilebilir etki alanından kaynaklanan isteklerde çerezin erişilebilirliğidir. Lax kullanan çerezlere başka bir kaydedilebilir alandan gelen bir GET isteğinde erişilebilirken, Strict kullanan çerezlerde erişilemez.

  • session.gc_maxlifetime=[en küçük olasılığı seç]

    session.gc_maxlifetime, eski oturum kimliğini silmek içindir. Bu ayara güvenilmemeli, geliştiriciler, oturumların ömrünü bir zaman damgasıyla kendileri yönetmelidir.

    Oturum çöp toplayıcısı en iyi şekilde session_gc() kullanılarak gerçekleştirilir. session_gc() işlevi, bir görev yöneticisi tarafından çağrılmalıdır. Örneğin, UNIX benzeri sistemlerde cron kullanılabilir.

    Çöp toplayıcı, öntanımlı olarak olasılıklara bağlı çalışır. Bu ayar, eski bir oturumun silineceğini garanti etmez. Geliştiriciler bu ayara güvenemese de, mümkün olan en küçük değerde belirtilmesi önerilir. session.gc_probability ve session.gc_divisor yönergelerinin, eski oturumlar uygun bir sıklıkta silinecek şekilde ayarlanması önerilir. Otomatik oturum açma özelliği gerekliyse geliştiricilerin kendi güvenli otomatik oturum açma özelliklerini gerçeklemeleri gerekir, daha fazla bilgi için yukarıya bakın. Bu özellik için asla uzun ömürlü oturum kimliği kullanılmamalıdır.

    Bilginize:

    Bazı oturum kayıt işleyici modülleri, olasılığa dayalı süre sonu için bu ayarı kullanmaz. Örneğin, memcache'li memcache. Ayrıntılar için oturum kayıt işleyici belgelerine bakın.

  • session.use_trans_sid=Off

    Şeffaf oturum kimliği yönetiminin kullanılması yasaklanmıştır. Geliştiriciler gerektiğinde kullanabilir. Ancak, şeffaf oturum kimliği yönetimini devre dışı bırakmak, oturum kimliği ekleme ve/veya sızıntı olasılığını ortadan kaldırarak genel oturum kimliği güvenliğini iyileştirir.

    Bilginize:

    Oturum kimliği, yer imlerine kaydedilen ve e-postayla gönderilen URL'lerden, kaydedilmiş HTML kaynağından vb. sızabilir.

  • session.trans_sid_tags=[sınırlı etiketler]

    (PHP 7.1.0 ve üstü) Geliştiriciler, gereksiz HTML etiketlerini yeniden yazmamalıdır. öntanımlı değer çoğu kullanım için yeterli olmalıdır. Daha eski PHP sürümleri bunun yerine url_rewriter.tags kullanabilir.

  • session.trans_sid_hosts=[sınırlı konaklar]

    (PHP 7.1.0 ve üstü) Bu INI, effaf oturum kimliğini yeniden yazmaya izin veren beyaz listeli konakları tanımlar. Güvenilmeyen konaklar asla eklenmemelidir. Oturum modülü yalnızca bu ayar boş olduğunda $_SERVER['HTTP_HOST'] öğesine izin verir.

  • session.referer_check=[kaynaklanan URL]

    session.use_trans_sid etkinleştirildiğinde. Oturum kimliği zerk riskini azaltır. Site örneğin http://example.com/ ise, yönergeye de http://example.com/ atanmalıdır. HTTPS ile tarayıcıların referrer başlığını göndermeyeceği unutulmamalıdır. Tarayıcılar, referrer başlığını yapılandırmaya göre gönderemez. Bu nedenle, bu ayar güvenilir bir güvenlik önlemi değildir. Bu ayarın kullanılması önerilir.

  • session.cache_limiter=nocache

    Kimliği doğrulanmış oturumlar için HTTP içeriğinin önbelleğe alınmadığından emin olunmalıdır. Yalnızca içerik gizli olmadığında önbelleğe alınmasına izin verilmelidir. Aksi takdirde, içerik açığa çıkabilir. HTTP içeriği güvenlik açısından hassas veriler içermiyorsa "private" kullanılabilir. "private" ataması nedeniyle, paylaşılan istemciler tarafından önbelleğe alınan özel verilerin aktarılabileceği unutulmamalıdır. "public" yalnızca HTTP içeriği hiçbir özel veri içermediğinde kullanılmalıdır.

  • session.sid_length="48"

    (PHP 7.1.0 ve üstü) Oturum kimlikleri uzadıkça, daha güçlü oturum kimlikleri haline gelir. Geliştiriciler, 32 karakter ve üstü oturum kimliği uzunluklarını dikkate almalıdır. session.sid_bits_per_character="5" olduğunda en az 26 karakter gerekir.

  • session.sid_bits_per_character="6"

    (PHP 7.1.0 ve üstü) Bir oturum kimliği karakterinde ne kadar çok bit varsa, oturum modülü tarafından oluşturulan oturum kimliği, aynı uzunluktaki sıradan bir oturum kimliğinden daha güçlü olur.

  • session.hash_function="sha256"

    (PHP 7.1.0 ve üstü) Daha güçlü bir aşlama işlevi, daha güçlü bir oturum kimliği üretecektir. MD5 aşlama algoritmasında bile aş çakışması olasılığı olmasa da, geliştiriciler SHA-2 veya sha384 ve hatta sha512 gibi daha güçlü bir aşlama algoritması kullanmalıdır. Geliştiriciler, kullanılan aşlama işlevini yeterince uzun bir karmaşa ile beslediklerinden emin olmalıdır.

  • session.save_path=[herkesçe-okunamayan-dizin]

    Bu, /tmp (öntanımlıdır) gibi herkesçe okunabilir bir dizine ayarlanırsa, sunucudaki diğer kullanıcılar bu dizindeki dosyaların listesini alarak oturumları ele geçirebilir.


Oturum İşlevleri

İçindekiler

  • session_abort — Oturum dizisi değişikliklerini atıp oturumu bitirir
  • session_cache_expire — Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür
  • session_cache_limiter — Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar
  • session_commit — session_write_close işlevinin takma adıdır
  • session_create_id — Yeni bir oturum kimliği oluşturur
  • session_decode — Oturum verisini kodlanmış oturum dizgesinden elde eder
  • session_destroy — Bir oturumla ilişkilendirilmiş tüm veriyi yokeder
  • session_encode — Geçerli oturum verisini dizgeleştirerek döndürür
  • session_gc — Oturum verisi çöpünü toplar
  • session_get_cookie_params — Oturum çerezi bağımsız değişkenlerini döndürür
  • session_id — Geçerli oturum kimliğini döndürür ve/veya tanımlar
  • session_module_name — Geçerli oturum modülünü döndürür ve/veya tanımlar
  • session_name — Geçerli oturum ismini döndürür ve/veya tanımlar
  • session_regenerate_id — Geçerli oturum kimliğini yenisiyle değiştirir
  • session_register_shutdown — Oturum kapanma işlevini kaydeder
  • session_reset — Oturum dizisini özgün değerlerle yeniden ilklendirir
  • session_save_path — Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür
  • session_set_cookie_params — Oturum çerezi bağımsız değişkenlerini tanımlar
  • session_set_save_handler — Kullanıcı seviyesi oturum saklama işlevlerini bildirir
  • session_start — Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_status — Geçerli oturum durumunu döndürür
  • session_unset — Free all session variables
  • session_write_close — Oturum verisini yazıp oturumu kapatır


Oturum dizisi değişikliklerini atıp oturumu bitirir

  • « Oturum İşlevleri
  • session_cache_expire »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum dizisi değişikliklerini atıp oturumu bitirir

session_abort

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

session_abort — Oturum dizisi değişikliklerini atıp oturumu bitirir

Açıklama

session_abort(): bool

session_abort() veriyi kaydetmeden oturumu bitirir. Böylece oturum verisindeki ozgün değerler korunur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | İşlev artık bool türünde değer döndürüyor, evvelce void idi.

Ayrıca Bakınız

  • $_SESSION
  • session.auto_start yapılandırma yönergesi
  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_reset() - Oturum dizisini özgün değerlerle yeniden ilklendirir
  • session_commit() - session_write_close işlevinin takma adıdır


Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür

  • « session_abort
  • session_cache_limiter »
  • PHP Manual
  • Oturum İşlevleri
  • Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür

session_cache_expire

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

session_cache_expire — Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür

Açıklama

session_cache_expire(?int $süre = null): int|false

session_cache_expire() işlevi, session.cache_expire yönergesinin değerini döndürür.

Bu değer, isteğin başlangıcında session.cache_expire yönergesinin 180 dakikalık öntanımlı değeriyle sıfırlanır. Bu bakımdan her istek için session_start() çağrısından önce bir session_cache_expire() çağrısı yapmanız gerekir.

Bağımsız Değişkenler

süre

Belirtilmişse ve null değilse, geçerli önbellek ömrü bu değerle değiştirilir.

Bilginize: süre değeri, sadece session.cache_limiter yönergesine nocache'den farklı bir değer atanmışsa eski değerle değiştirilir.

Dönen Değerler

session.cache_expire yönergesinin değerini dakika cinsinden döndürür. Öntanımlı değer 180 dakikadır. Süreyi değiştiremezse false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | süre artık null olabiliyor.

Örnekler

Örnek 1 - session_cache_expire() örneği

<?php

/* önbellek sınırlayıcıya 'private' atayalım */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

/* önbellek ömrünü 30 dakika yapalım */
session_cache_expire(30);
$ömür = session_cache_expire();

/* oturumu başlatalım */

session_start();

echo "Önbellek sınırlayıcıya $cache_limiter kipi atandı.<br />";
echo "Önbellekteki sayfalar $ömür dakika sonra zaman aşımına uğrayacak";
?>

Ayrıca Bakınız

  • session.cache_expire
  • session.cache_limiter
  • session_cache_limiter() - Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar


Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar

  • « session_cache_expire
  • session_commit »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar

session_cache_limiter

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

session_cache_limiter — Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar

Açıklama

session_cache_limiter(?string $sınırlayıcı = null): string|false

session_cache_limiter() işlevi, geçerli önbellek sınırlayıcısının ismini döndürür.

Önbellek sınırlayıcı, istemciye gönderilen HTTP önbellek denetim başlıklarını tanımlar. Bu başlıklar kuralları, istemci veya aracı vekiller tarafından önbelleğe alınmış sayfa içeriğine göre belirler. Önbellek sınırlayıcıya nocache atamak istemci/vekil önbelleklemesine izin vermez. public değeri, vekiller ve istemciler tarafından önbelleklemeye izin verir. private değeri ise, vekil önbelleklemesine izin vermezken istemcilerin içeriği önbelleklemesine izin verir.

Önbellek sınırlayıcıya '' atanması önbellek başlıklarının toptan otomatik gönderimini kapatır.

private kipinde, istemciye gönderilmiş bir Expire başlığı, Mozilla dahil, bazı tarayıcıların kafasını karıştırır. private_no_expire kipi sayesinde bu sorundan kaçınmak mümkündür. Bu kipte, istemciye Expire başlığı asla gönderilmez.

İstek başlangıcında, önbellek sınırlayıcı session.cache_limiter yönergesinin öntanımlı değerine ayarlanır. Bu bakımdan her istek için session_start() çağrısından önce bir session_cache_limiter() çağrısı yapmanız gerekir.

Bağımsız Değişkenler

sınırlayıcı

Belirtilmişse ve null değilse, geçerli önbellek sınırlayıcı ismi yeni değerle değiştirilir.

Olası değerler
Değer Gönderilen başlıklar
public
Expires: (session.cache_expires ile ilgili bir zaman)
Cache-Control: public, max-age=(session.cache_expires ile ilgili bir zaman)
Last-Modified: (son oturum kaydının zaman damgası)
private_no_expire
Cache-Control: private, max-age=(session.cache_expires ile ilgili bir zaman), pre-check=(session.cache_expires ile ilgili bir zaman)
Last-Modified: (son oturum kaydının zaman damgası)
private
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: private, max-age=(session.cache_expires ile ilgili bir zaman), pre-check=(session.cache_expires ile ilgili bir zaman)
Last-Modified: (son oturum kaydının zaman damgası)
nocache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache

Dönen Değerler

Geçerli önbellek sınırlayıcısının ismini döndürür. İsmi değiştiremezse false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | sınırlayıcı artık null olabiliyor.

Örnekler

Örnek 1 - session_cache_limiter() örneği

<?php

/* önbellik sınırlayıcıya 'private' atayalım */

session_cache_limiter('private');
$cache_limiter = session_cache_limiter();

echo "Önbellek sınırlayıcıya $cache_limiter kipi atandı.<br />";
?>

Ayrıca Bakınız

  • session.cache_limiter


session_write_close işlevinin takma adıdır

  • « session_cache_limiter
  • session_create_id »
  • PHP Manual
  • Oturum İşlevleri
  • session_write_close işlevinin takma adıdır

session_commit

(PHP 4 >= 4.4.0, PHP 5, PHP 7, PHP 8)

session_commit — session_write_close() işlevinin takma adıdır

Açıklama

Bu işlev session_write_close() işlevinin takma adıdır.


Yeni bir oturum kimliği oluşturur

  • « session_commit
  • session_decode »
  • PHP Manual
  • Oturum İşlevleri
  • Yeni bir oturum kimliği oluşturur

session_create_id

(PHP 7 >= 7.1.0, PHP 8)

session_create_id — Yeni bir oturum kimliği oluşturur

Açıklama

session_create_id(string $önek = ""): string|false

session_create_id() geçerli oturum için yeni bir oturum kimliği oluşturmak için kullanılır. Çakışmayan oturum kimliği döndürür.

Oturum etkin değilse çakışma denetimi yapılmaz.

Oturum kimliği php.ini ayarlarına uygun olarak üretilir.

Çöp toplayıcı (gc) görev betiği için http sunucusunun kullanıcı kimliğinin kullanılması önemlidir. Aksi takdirde, özellikle dosya kaydetme işleyicisinde izin sorunları yaşanabilir.

Bağımsız Değişkenler

önek

önek belirtilirse, yeni oturum kimliği bu önek ile başlar. Oturum kimlğinde her karaktere izin verilmez. Geçerli karakterler: a-z A-Z 0-9 , (virgül) ve - (tire)

Dönen Değerler

session_create_id() geçerli oturum için çakışmayan yeni bir oturum kimliği döndürür. Etkin olmayan bir oturum için kullanılırsa çakışma denetimi yapılmaz. Başarısızlık durumunda false döner.

Örnekler

Örnek 1 - session_create_id() ile session_regenerate_id() örneği

<?php
// Oturum başlatma işlevimiz zaman damgası yönetimi de içeriyor
function my_session_start() {
session_start();
// Eski oturum kimliği kullanılmasın
if (!empty($_SESSION['deleted_time']) && $_SESSION['deleted_time'] < time() - 180) {
session_destroy();
session_start();
}
}

// Oturum kimliğini yeniden üretme işlevimiz
function my_session_regenerate_id() {
// Çakışmasız oturum kimliği üretilmesi için
// session_create_id() işlevini oturum etkinken çağırmalıyız
if (session_status() != PHP_SESSION_ACTIVE) {
session_start();
}
// UYARI: Önek için asla gizli kalması gereken verileri kullanmayın!
$newid = session_create_id('myprefix-');
// Silinmiş zaman damgasını ata. Oturum verisi sırf bu nedenle silinmesin
$_SESSION['deleted_time'] = time();
// Oturumu bitir
session_commit();
// Kullanıcı tanımlı oturum kimliği kabul edildiğinden emin olun
// BİLGİ: Normal işlemler için use_strict_mode etkin olmalıdır.
ini_set('session.use_strict_mode', 0);
// Yeni özel oturum kimliğini ata
session_id($newid);
// Yeni özel oturum kimliği ile oturmu başlat
session_start();
}

// use_strict_mode etkin olduğundan emin olun.
// use_strict_mode güvenli bir oturum için zorunludur.
ini_set('session.use_strict_mode', 1);
my_session_start();

// Oturum kimliğinin yeniden üretilmesini gerektiren durumlar:
// - Kullanıcı oturum açmışsa
// - Kullanıcı oturumu kapatmışsa
// - Belirlenen süre aşılmışsa
my_session_regenerate_id();

// Diğer işlemler ...
?>

Ayrıca Bakınız

  • session_regenerate_id() - Geçerli oturum kimliğini yenisiyle değiştirir
  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session.use_strict_mode yapılandırma yönergesi
  • SessionHandler::create_sid() - Yeni oturum kimliğini döndürür


Oturum verisini kodlanmış oturum dizgesinden elde eder

  • « session_create_id
  • session_destroy »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum verisini kodlanmış oturum dizgesinden elde eder

session_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

session_decode — Oturum verisini kodlanmış oturum dizgesinden elde eder

Açıklama

session_decode(string $veri): bool

session_decode() işlevi veri ile belirtilen dizeleştirilmiş oturum verisini çözümler ve sonucu $_SESSION dizisini doldurmakta kullanır.

Öntanımlı olarak, unserialize() ile aynı olmayan PHP'nin dahili nesneleştirme yöntemi kullanılır. Dizeleştirme yöntemi ise session.serialize_handler kullanılarak atanabilir.

Bağımsız Değişkenler

veri

Saklanmak üzere dizge olarak kodlanmış veri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • session_encode() - Geçerli oturum verisini dizgeleştirerek döndürür
  • session.serialize_handler


Bir oturumla ilişkilendirilmiş tüm veriyi yokeder

  • « session_decode
  • session_encode »
  • PHP Manual
  • Oturum İşlevleri
  • Bir oturumla ilişkilendirilmiş tüm veriyi yokeder

session_destroy

(PHP 4, PHP 5, PHP 7, PHP 8)

session_destroy — Bir oturumla ilişkilendirilmiş tüm veriyi yokeder

Açıklama

session_destroy(): bool

session_destroy() işlevi geçerli oturumla ilişkilendirilmiş tüm veriyi yok eder. Oturumla ilişkilendirilmiş küresel değişkenleri ve oturum çerezini tanımsız yapmaz. Oturum değişkenlerini tekrar kullanmak için session_start() çağrısı yapılmalıdır.

Bilginize: Normal koddan session_destroy() çağrısı gerekmez. Oturum verilerini yok etmek yerine $ _SESSION dizisini temizleyin.

Kullanıcı çıktısını günlüğe kaydetmek gibi bir amaçla oturumu topyekün öldürmek için oturum kimliğinin de tanımsız yapılması gerekir. Eğer oturum kimliğini yaymak için bir çerez kullanılmışsa (öntanımlı olarak böyledir), oturum çerezinin de silinmesi gerekir. Bunun için setcookie() kullanılabilir.

session.use_strict_mode etkinleştirildiğinde, eski oturum kimliği çerezini kaldırmanız gerekmez çünkü oturum modülü, oturum kimliği ile ilişkilendirilmiş veri olmadığında oturum kimliği çerezini kabul etmez ve yeni oturum kimliği çerezi tanımlar. Tüm siteler için session.use_strict_mode yönergesinin etkinleştirilmesi önerilir.

Uyarı

Anında oturum silme istenmeyen sonuçlara sebep olabilir. Eşzamanlı istekler olduğunda, diğer bağlantılarda ani oturum verisi kaybı görülebilir. Örneğin, JavaScript'ten ve/veya URL bağlantılarından gelen istekler.

Geçerli oturum modülü boş oturum kimliği çerezini kabul etmese de, oturumun anında silinmesi, istemcinin (tarayıcı) yarış durumu yan etkisi nedeniyle, gereksiz yere çok sayıda boş oturum kimliği çerezi oluşturmasına sebep olabilir.

Bunlardan kaçınmak için, silme zaman damgasını $ _SESSION dizisine atamalı ve bu zaman damgasından sonraki erişimi reddetmeli veya uygulamanızın eşzamanlı istekleri olmadığından emin olmalısınız. Bu aynı zamanda session_regenerate_id() için de geçerlidir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir oturumun $_SESSION ile yokedilmesi

<?php
// Oturumu ilklendirelim.
// session_name("birisim") kullanacaksanız tam sırasıdır!
session_start();

// Oturum değişkenlerinin tamamını tanımsız yapalım.
$_SESSION = array();

// Oturum öldürülmek istenirse oturum çerezinin de silinmesi gerekir.
// Dikkat: Bu sadece oturum verisini değil, oturumu da yok edecektir!
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}

// Son olarak oturumu yok ediyoruz.
session_destroy();
?>

Ayrıca Bakınız

  • session.use_strict_mode
  • session_reset() - Oturum dizisini özgün değerlerle yeniden ilklendirir
  • session_regenerate_id() - Geçerli oturum kimliğini yenisiyle değiştirir
  • unset() - Belirtilen değişkeni bildirimsiz yapar
  • setcookie() - Bir çerez gönderir


Geçerli oturum verisini dizgeleştirerek döndürür

  • « session_destroy
  • session_gc »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum verisini dizgeleştirerek döndürür

session_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

session_encode — Geçerli oturum verisini dizgeleştirerek döndürür

Açıklama

session_encode(): string|false

session_encode() işlevi, $_SESSION dizisinde saklanmış geçerli oturumun verisini dizgeleştirerek olarak döndürür.

Öntanımlı olarak, serialize() ile aynı olmayan PHP'nin dahili dizgeleştirme yöntemi kullanılır. Dizgeleştirme yöntemi session.serialize_handler kullanılarak atanabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli oturumun içeriğini kodlanmış bir dizge olarak döndürür, başarısızlık durumunda false döner.

Notlar

Uyarı

session_encode() işlevini kullanmadan önce session_start() çağrısı yapılmalıdır.

Ayrıca Bakınız

  • session_decode() - Oturum verisini kodlanmış oturum dizgesinden elde eder
  • session.serialize_handler


Oturum verisi çöpünü toplar

  • « session_encode
  • session_get_cookie_params »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum verisi çöpünü toplar

session_gc

(PHP 7 >= 7.1.0, PHP 8)

session_gc — Oturum verisi çöpünü toplar

Açıklama

session_gc(): int|false

session_gc() oturum verisi çöpünü toplamak için kullanılır. PHP, öntanımlı olarak olasılık tabanlı oturum çöpçülüğü yapar.

Olasılığa dayalı çöpçülük bir dereceye kadar çalışır ancak birkaç sorunu vardır. 1) Düşük trafikli sitelerin oturum verileri tercih edilen süre içerisinde silinmeyebilir. 2) Yüksek trafikli sitelerin çöpleri çok sık toplanabilir. 3) Çöp toplama, kullanıcının isteği üzerine gerçekleştirilir ve kullanıcı çöp toplama sırasında gecikme yaşar.

Bu nedenle, çöp toplama işleminin düzenli aralıklarla (örneğin UNIX benzeri sistemlerde "cron" ile) yapılması önerilir. session.gc_probability yönergesine 0 atayarak olasılık tabanlı çöpçülük devre dışı bırakılmalıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

session_gc() başarı durumunda silinen oturum verisi miktarını, aksi takdirde false döndürür

Eski kaydeteme işleyiciler silinen veri miktarını döndürmez, sadece başarı durumunu döndürür, bu durumda başarıyla silinen verinin miktarı daima 1 olur.

Örnekler

Örnek 1 - cron gibi bir görev yöneticisi ile session_gc() kullanımı

<?php
// Önemli: Bu betik http sunucusunun kullanıcı kimliğinde çalıştırılmalıdır.

// Oturum veri deposunu ilklendirmek için etkin oturum gerekir.
session_start();

// Çöpçüyü devreye sok
session_gc();

// session_gc() ile oluşturulmuş oturum kimliğini temizle
session_destroy();
?>

Örnek 2 - Kullanıcı erişimli betik ile session_gc() kullanımı

<?php
// Bilgi: session_gc() işlevinin görev yöneticisi betiği ile kullanılması
// önerilirse de aşağıdaki gibi de kullanılabilir.

// Son çöp toplama zamanının denetimi için
$gc_time = '/tmp/php_session_last_gc';
$gc_period = 1800;

session_start();
// Çöpçü sadece çöp toplama zamanı geldiğinde çalışsın.
// Her istekte session_gc() çağrısı kaynak israfı olur.
if (file_exists($gc_time)) {
if (filemtime($gc_time) < time() - $gc_period) {
session_gc();
touch($gc_time);
}
} else {
touch($gc_time);
}
?>

Ayrıca Bakınız

  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_destroy() - Bir oturumla ilişkilendirilmiş tüm veriyi yokeder
  • session.gc_probability yapılandırma yönergesi


Oturum çerezi bağımsız değişkenlerini döndürür

  • « session_gc
  • session_id »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum çerezi bağımsız değişkenlerini döndürür

session_get_cookie_params

(PHP 4, PHP 5, PHP 7, PHP 8)

session_get_cookie_params — Oturum çerezi bağımsız değişkenlerini döndürür

Açıklama

session_get_cookie_params(): array

Oturum çerezi bağımsız değişkenlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli oturum çerezi bilgisini içeren bir dizi döndürür. Dizi şu elemanları içerir:

  • "lifetime" - Çerezin saniye cinsinden ömrü.
  • "path" - Oturum bilgisinin saklanacağı dosya yolu.
  • "domain" - Çerezi bırakan alanın ismi.
  • "secure" - true ise çerez sadece güvenli bağlantılar üzerinden gönderilir.
  • "httponly" - true ise çereze sadece HTTP protokolü üzerinden erişilebilir.
  • "samesite" - Çerezin sunucular arası gönderimini denetler.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Dönen diziye "samesite" anahtarı eklendi.

Ayrıca Bakınız

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session.cookie_samesite
  • session_set_cookie_params() - Oturum çerezi bağımsız değişkenlerini tanımlar


Geçerli oturum kimliğini döndürür ve/veya tanımlar

  • « session_get_cookie_params
  • session_module_name »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum kimliğini döndürür ve/veya tanımlar

session_id

(PHP 4, PHP 5, PHP 7, PHP 8)

session_id — Geçerli oturum kimliğini döndürür ve/veya tanımlar

Açıklama

session_id(?string $kimlik = null): string|false

session_id() işlevi, geçerli oturumun oturum kimliğini döndürür.

URL'lere eklemek amacıyla geçerli oturumun oturum kimliği oturum ismiyle birlikte SID sabitinden de öğrenilebilir. Daha ayrıntılı bilgi için Oturum Yönetim Sistemine bakınız.

Bağımsız Değişkenler

kimlik

kimlik belirtilmişse ve null değilse, geçerli oturum kimliğinin yerini alır. session_id() bu amaçla kullanılacaksa session_start() işlevinden önce çağrılmalıdır. Oturum kayıt ortamına bağlı olarak oturum kimliği içinde tüm karakterlere izin verilmez. Örneğin, oturum kayıt ortamı dosyalar olduğu takdirde sadece a-z A-Z 0-9 , (virgül) and - (tire) karakterlerine izin verilir.

Bilginize: Oturum çerezleri kullanıldığında, session_id() işlevini oturum kimliğini değiştirmek için kullanırsanız, geçerli oturum kimliğinin belirtilenle aynı olup olmadığına bakılmaksızın session_start() çağrısı yapıldığında daima yeni bir çerez gönderilir.

Dönen Değerler

session_id() işlevi geçerli oturumun oturum kimliğini veya geçerli bir oturum yoksa boş bir dizge ("") döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kimlik artık null olabiliyor.

Ayrıca Bakınız

  • session_regenerate_id() - Geçerli oturum kimliğini yenisiyle değiştirir
  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_set_save_handler() - Kullanıcı seviyesi oturum saklama işlevlerini bildirir
  • session.save_handler


Geçerli oturum modülünü döndürür ve/veya tanımlar

  • « session_id
  • session_name »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum modülünü döndürür ve/veya tanımlar

session_module_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_module_name — Geçerli oturum modülünü döndürür ve/veya tanımlar

Açıklama

session_module_name(?string $modül = null): string|false

session_module_name() işlevi session.save_handler olarak da bilinen geçerli oturum modülü ismini döndürür.

Bağımsız Değişkenler

modül

Belirtildiği ve null olmadığı takdirde oturum modülü olarak belirtilen modül kullanılır. Bu bağımsız değişkene "user" atamak yasaklanmıştır. Kullanıcı tanımlı bir oturum işleyici tanımlamak için session_set_save_handler() işlevi kullanılmalıdır.

Dönen Değerler

Oturum modülünün o anki ismini döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | modül artık null ollabiliyor.
7.2.0 | Modül ismi olarak "user" atamak işlevin başarısız olmasına sebep oluyor. Evvelce sessizce yok sayılırdı.


Geçerli oturum ismini döndürür ve/veya tanımlar

  • « session_module_name
  • session_regenerate_id »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum ismini döndürür ve/veya tanımlar

session_name

(PHP 4, PHP 5, PHP 7, PHP 8)

session_name — Geçerli oturum ismini döndürür ve/veya tanımlar

Açıklama

session_name(?string $isim = null): string|false

session_name() işlevi geçerli oturumun ismini döndürür. isim belirtilmişse ve null değilse, session_name() işlevi oturumun ismini günceller ve eski oturum ismini döndürür.

session_name()  oturum ismini güncellerken, HTTP
çerezinide günceller (ve session.transid etkinse içeriği
çıktılar). HTTP çerezi gönderilirse  session_name() hata
üretir. Oturumun düzgün çalışması için session_name()
işlevi session_start() işlevinden önce çağrılmalıdır.

Oturum ismi istek başlangıcında session.name yönergesinde tanımlı isimle sıfırlanır. Oturumun ismini öntanımlı isimden farklı bir isimle değiştirmek için her istekte session_name() çağrısı yapmalısınız (session_start() veya session_register() çağrısından önce).

Bağımsız Değişkenler

isim

Oturum ismi (PHPSESSID gibi), çerezler ve URL'lerde kullanılan oturum ismidir. Oturum ismi sadece abecesayısal karakterler içermeli, (çerez uyarılarını etkin kılan kullanıcılar için) kısa ve açıklayıcı olmalıdır. Bir isim belirtilirse ve null değilse, geçerli oturumun ismi bu isimle değiştirilir.

Uyarı

Oturum ismi sadece rakamlardan oluşamaz, hiç olmazsa bir harf içermesi gerekir. Aksi takdirde her seferinde yeni bir oturum kimliği üretilir.

Dönen Değerler

Geçerli oturumun ismini döndürür. isim belirtilmişse ve null değilse işlev oturum ismini günceller ve eski oturum kimliğini döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | isim artık null olabiliyor.
7.2.0 | session_name() artık oturum durumuna bakıyor, evvelce sadece çerez durumuna bakardı. Bu, eski session_name() işlevinin session_start() çağrısından sonra çağrılmasına sebep oluyor ve PHP'nin çökmesine veya hatalı davranmasına yol açabiliyordu.

Örnekler

Örnek 1 - session_name() örneği

<?php

/* oturum ismini SiteID yapalım */

$eski_isim = session_name("SiteID");

echo "Önceki oturum ismi $eski_isim idi.<br />";
?>

Ayrıca Bakınız

  • session.name yapılandıma yönergesi


Geçerli oturum kimliğini yenisiyle değiştirir

  • « session_name
  • session_register_shutdown »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum kimliğini yenisiyle değiştirir

session_regenerate_id

(PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8)

session_regenerate_id — Geçerli oturum kimliğini yenisiyle değiştirir

Açıklama

session_regenerate_id(bool $eski_oturumu_sil = false): bool

session_regenerate_id() işlevi geçerli oturum kimliğini yenisiyle değiştirirken oturum bigisini korur.

session.use_trans_sid etkin olduğunda, çıktı session_regenerate_id() çağrısından sonra başlatılmalıdır. Aksi takdirde, eski oturum kimliği kullanılır.

Uyarı

Şu an için, işlev Mobil veya WiFi ağları gibi dengesiz ağlarda düzgün çalışmamaktadır. Bu bakımdan, işlev böyle ağlarda çağrıldığında bir oturum kaybı yaşanabilir.

Eski oturum verisini değil, eski oturumun zaman damgasını hemen yok etmeli ve eski oturum kimliğine erişimi denetlemelisiniz. Aksi takdirde, sayfaya eşzamanlı erişimler tutarsız bir duruma veya oturum kaybına yol açabilir. Ya da, istemcinin (tarayıcı) yarış durumu yan etkisi nedeniyle, gereksiz yere çok sayıda boş oturum kimliği çerezi oluşturmasına sebep olabilir. Eski oturum verisinin hemen silinmesi ayrıca oturum ele geçirme saldırısını algılamayı ve önlemeyi devre dışı bırakır.

Bağımsız Değişkenler

eski_oturumu_sil

true ise eski oturum verisi silinir. Yarış durumlarından kaçınmak ve oturum ele geçirme saldırılarını algılamak/önlemek için eski oturum hemen silinmemelidir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - session_regenerate_id() örneği

<?php
// Dikkat: Bu kod tamamen çalışır durumda değildir, sadece bir örnektir!

session_start();

// Zaman damgası yok edilmiş mi?
if (isset($_SESSION['destroyed'])
&& $_SESSION['destroyed'] < time() - 300) {
// Normalde olmamalı. Saldırı veya kararsız ağ nedeniyle olabilir.
// Bu kullanıcı oturumunun tüm kimlik kanıtlama bilgilerini sil.
remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
throw(new DestroyedSessionAccessException);
}

$old_sessionid = session_id();

// Silinme zamanı damgasını tanımla
$_SESSION['destroyed'] = time();

// session_regenerate_id() eski oturum verisini kaydeder
// session_regenerate_id() basitçe çağrılırsa oturum kaybı oluşabilir, vs.
// Sonraki örneğe bakın
session_regenerate_id();

// Yeni oturumun silinme zamanı damgasına ihtiyacı yok
unset($_SESSION['destroyed']);

$new_sessionid = session_id();

echo "Eski oturum: $old_sessionid<br />";
echo "Yeni oturum: $new_sessionid<br />";

print_r($_SESSION);
?>

Geçerli oturum modülü tutarsız ağda iyi çalışmaz. İşlevin oturumu kaybetmesinden kaçınmak için oturum kimliği yönetilmelidir.

Örnek 2 - session_regenerate_id() ile oturum kaybını önlemek

<?php
// Dikkat: Bu kod tamamen çalışır durumda değildir, sadece bir örnektir!

// my_session_start() ve my_session_regenerate_id() tutarsız ağda
// oturum kaybını önler. Ek olarak bu kod, çalınan oturumun saldırganlar
// tarafından suistimal edilmesini engelleyebilir.

function my_session_start() {
session_start();
if (isset($_SESSION['destroyed'])) {
if ($_SESSION['destroyed'] < time()-300) {
// Normalde olmamalı. Saldırı veya kararsız ağ nedeniyle olabilir.
// Bu kullanıcı oturumunun tüm kimlik kanıtlama bilgilerini sil.
remove_all_authentication_flag_from_active_sessions($_SESSION['userid']);
throw(new DestroyedSessionAccessException);
}
if (isset($_SESSION['new_session_id'])) {
// Süre henüz dolmadı. Kararsız ağda çerez kaybı olabilirdi.
// Uygun oturum kimliği çerezini yeniden tanımlamayı dene.
// Dikkat: Kimlik kanıtlama bilgilerini silmek için
// oturum kimliğini yeniden atamaya çalışma!
session_commit();
session_id($_SESSION['new_session_id']);
// Yeni oturum kimliği etkinleşmeli
session_start();
return;
}
}
}

function my_session_regenerate_id() {
// Tutarsız ağdan dolayı oturum kimliği atanamadığında
// doğru oturum kimliğini tanımlamak için yeni oturum kimliği gerekir.
$new_session_id = session_create_id();
$_SESSION['new_session_id'] = $new_session_id;

// Silinme zamanı damgasını tanımla
$_SESSION['destroyed'] = time();

// geçerli oturuma yaz ve kapat;
session_commit();

// Oturumu yeni oturum kimliği ile başlat
session_id($new_session_id);
ini_set('session.use_strict_mode', 0);
session_start();
ini_set('session.use_strict_mode', 1);

// Yeni oturumun bunlara ihtiyacı yok
unset($_SESSION['destroyed']);
unset($_SESSION['new_session_id']);
}
?>

Ayrıca Bakınız

  • session_id() - Geçerli oturum kimliğini döndürür ve/veya tanımlar
  • session_create_id() - Yeni bir oturum kimliği oluşturur
  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_destroy() - Bir oturumla ilişkilendirilmiş tüm veriyi yokeder
  • session_reset() - Oturum dizisini özgün değerlerle yeniden ilklendirir
  • session_name() - Geçerli oturum ismini döndürür ve/veya tanımlar


Oturum kapanma işlevini kaydeder

  • « session_regenerate_id
  • session_reset »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum kapanma işlevini kaydeder

session_register_shutdown

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

session_register_shutdown — Oturum kapanma işlevini kaydeder

Açıklama

session_register_shutdown(): void

Kapanma işlevi olarak session_write_close() işlevini kayda geçirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Kapanma işlevini kayda geçirme işlemi başarısız olursa bir E_WARNING çıktılanır.


Oturum dizisini özgün değerlerle yeniden ilklendirir

  • « session_register_shutdown
  • session_save_path »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum dizisini özgün değerlerle yeniden ilklendirir

session_reset

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

session_reset — Oturum dizisini özgün değerlerle yeniden ilklendirir

Açıklama

session_reset(): bool

session_reset() oturum dizisini oturum deposundan saklanan özgün değerlerle yeniden ilklendirir. Bu işlev etkin bir oturum gerektirir ve $_SESSION içindeki değişiklikleri siler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | İşlev artık bool değer döndürüyor, evvelce void idi.

Ayrıca Bakınız

  • $_SESSION
  • session.auto_start yapılandırma yönergesi
  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
  • session_abort() - Oturum dizisi değişikliklerini atıp oturumu bitirir
  • session_commit() - session_write_close işlevinin takma adıdır


Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür

  • « session_reset
  • session_set_cookie_params »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür

session_save_path

(PHP 4, PHP 5, PHP 7, PHP 8)

session_save_path — Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür

Açıklama

session_save_path(?string $yol = null): string|false

session_save_path() işlevi oturum verisini kaydetmek için kullanılan dizinin yolunu döndürür.

Bağımsız Değişkenler

yol

Oturum verisinin kaydedileceği dizinin yolu. Belirtildiği takdirde ve null değilse, oturum verisinin kaydedildiği dizin yol olarak değiştirilir. session_save_path() işlevi bu amaçla kullanılacaksa session_start() işlevinden önce çağrılmalıdır.

Bilginize:

Bazı işletim sistemlerinde, bu dosya yolunu küçük dosyalarla daha verimli olan dosya sistemlerinde belirtmek daha iyidir. Örneğin, Linux üzerinde küçük dosyalarla ext2fs'ten daha yüksek başarıma sahip reiserfs kullanılabilir.

Dönen Değerler

Oturum verisini saklamak için kullanılan dizinin yolunu döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | yol artık null olabiliyor.

Ayrıca Bakınız

  • session.save_path yapılandırma yönergesi


Oturum çerezi bağımsız değişkenlerini tanımlar

  • « session_save_path
  • session_set_save_handler »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum çerezi bağımsız değişkenlerini tanımlar

session_set_cookie_params

(PHP 4, PHP 5, PHP 7, PHP 8)

session_set_cookie_params — Oturum çerezi bağımsız değişkenlerini tanımlar

Açıklama

session_set_cookie_params(
int $lifetime_or_options,
?string $path = null,
?string $domain = null,
?bool $secure = null,
?bool $httponly = null
): bool

Aşağıdaki sözdizimi PHP 7.3.0 ve sonrasında kullanılabilir:

session_set_cookie_params(array $lifetime_or_options): bool

php.ini dosyasındaki çerez yönergelerinin değerlerini tanımlar. Bu işlevin etkisi betiğin çalışma süresiyle sınırlıdır. Bu bakımdan session_set_cookie_params() çağrısını her istek için session_start() çağrısından önce yapmalısınız.

Bu işlev, ini_get() ile elde edilen PHP ini oturum yapılandırma yönergelerinin çalışma zamanı değerlerini belirtilen anahtarların değerleriyle günceller.

Bağımsız Değişkenler

lifetime_or_options

İlk sözdiziminde, lifetime oturum çerezinin ömrünü saniye cinsinden tanımlar.

İkinci sözdiziminde, lifetime, path, domain, secure, httponly ve samesite anahtarlarını ve bunlarla ilişkili değerleri içerebilen ilişkisel bir dizidir. samesite anahtarı için değer Lax veya Strict olabilir. İzin verilen seçeneklerden belirtilmeyenlerin değerleri olarak öntanımlıları kullanılır. Eğer samesite anahtarı atlanırsa SameSite çerez özniteliği atanmaz.

path

Çerezin çalışacağı alandaki dosya yolunu tanımlar. Alandaki tüm dosya yolları için bir bölü çizgisi ('/') kullanın.

domain

'www.php.net' gibi bir çerez alanı. Çerezleri tüm alt alanlarda geçerli kılmak için alan adının önüne '.php.net' örneğindeki gibi bir notka koyun.

secure

true olduğu takdirde, çerez sadece güvenli bağlantılar üzerinden gönderilir.

httponly

true ise PHP oturum çerezini sadece HTTP protokolü üzerinden göndermeye çalışır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | path, domain ve secure artık null olabiliyor.
7.3.0 | lifetime_or_options dizisini destekleyen yeni bir sözdizimi eklendi. Bu sözdizimi ile artık SameSite çerez özniteliği de atanabiliyor.
7.2.0 | Başarı durumunda true, başarısızlık durumunda false döner. Evvelce void döndürürdü.

Ayrıca Bakınız

  • session.cookie_lifetime
  • session.cookie_path
  • session.cookie_domain
  • session.cookie_secure
  • session.cookie_httponly
  • session.cookie_samesite
  • session_get_cookie_params() - Oturum çerezi bağımsız değişkenlerini döndürür


Kullanıcı seviyesi oturum saklama işlevlerini bildirir

  • « session_set_cookie_params
  • session_start »
  • PHP Manual
  • Oturum İşlevleri
  • Kullanıcı seviyesi oturum saklama işlevlerini bildirir

session_set_save_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

session_set_save_handler — Kullanıcı seviyesi oturum saklama işlevlerini bildirir

Açıklama

session_set_save_handler(
callable $open,
callable $close,
callable $read,
callable $write,
callable $destroy,
callable $gc,
callable $create_sid = ?,
callable $validate_sid = ?,
callable $update_timestamp = ?
): bool

Aşağıdaki sözdizimi kullanılabilir:

session_set_save_handler(object $oturum_işleyici, bool $kapanışı_kaydet = true): bool

session_set_save_handler() işlevi, bir oturumla ilişkili verileri almak ve saklamak için kullanılan kullanıcı seviyesi oturum saklama işlevlerini bildirir. PHP oturumlarında başka kaynaklardan sağlanmış bir saklama yöntemi (oturum verilerini bir yerel veritabanıda saklamak gibi) kullanılacaksa bu işlev çok işe yarar.

Bağımsız Değişkenler

Bu işlevin iki sözdizimi vardır. İkincisinin bağımsız değişkenleri:

oturum_işleyici

Oturum işleyici olarak kaydedilmek üzere, SessionHandlerInterface ve seçimlik olarak SessionIdInterface ve/veya SessionUpdateTimestampHandlerInterface gerçekleyen SessionHandler gibi bir sınıfın örneği.

kapanışı_kaydet

session_write_close() işlevi register_shutdown_function() işlevi olarak kaydedilir.

Birincisinin bağımsız değişkenleri:
open

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

open(string $kayıtYolu, string $oturumAdı): bool

Bu işlev, sınıflardaki kurucular gibi çalışır ve oturum açıldığında çalıştırılır. Açma işlevinin iki bağımsız değişken kabul edeceği varsayılır. İlkinde dosyaların kaydedileceği yerin yolu, ikincisinde oturum ismi verilir. Oturum başlatıldığında otomatik olarak veya elle session_start() çağırarak çalıştırılan ilk geriçağırım işlevidir. Başarı durumunda true yoksa false döner.

close

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

close(): bool

Bu işlev, sınıflardaki yıkıcılar gibidir ve write geriçağırım işlevinden sonra çalıştırılır. Ayrıca, session_write_close() çağrıldığında da çalıştırılır. Başarı durumunda true yoksa false döner.

read

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

read(string $oturum_kimliği): string

read geriçağırımı daima dizgeleştirilmiş bir oturum dizgesi veya hiç veri okunmamışsa boş dizge döndürmelidir.

Bu geriçağırım, PHP tarafından dahili olarak oturum başlarken veya session_start() çağrısıyla çalıştırılır. Bu geriçağırımı çağırmadan önce PHP open geriçağırımını çalıştırır.

Bu geriçağırımdam dönen dizgeleştirilmiş biçim, değiştirilmeden write geriçağırımına aktarılabilecek biçimde olmalıdır. Dönen değer PHP tarafından otomatik olarak nesneleştirilerek $_SESSION dizisini doldurmakta kullanılır. Veri, serialize() işlevindekine benzese de session.serialize_handler ini değişkeninde belirtilen biçimde olacağı unutulmamalıdır.

write

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

write(string $oturum_kimliği, string $veri): bool

write geriçağırımı oturumun kaydedilip kapatılması gerekince çağrılır. Geriçağırım geçerli oturum kimliğini ve $_SESSION dizisinin dizgeleştirilmiş sürümünü bağımsız değişken olarak alır. PHP tarafından dahili olarak kullanılan dizgeleştirme yöntemi, session.serialize_handler ini değişkeninde belirtilmiştir.

Bu geriçağırıma aktarılan dizgeleştirilmiş oturum saklama verisi, kimliği aktarılan oturumla ilgili olmalıdır. Bu veri alındığında read geriçağırımının döndürdüğü değer, write geriçağırımına değiştirilmeden aktarılacak biçimde olmalıdır.

Bu geriçağırım PHP kapanırken veya doğrudan session_write_close() çağrıldığında çalıştırılır. Bu işlev çalıştırıldıktan sonra PHP dahili olarak close geriçağırımını çalıştırır.

Bilginize:

Bu işlev çıktı akımı kapanana kadar çalıştırılmaz. Bu bakımdan bu işlevdeki hata ayıklama deyimlerinin çıktıları tarayıcıda hiçbir zaman görünmez. Eğer hata ayıklama çıktısı gerekliyse, bu çıktının bir dosyaya yazılması önerilir.

destroy

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

destroy(string $oturum_kimliği): bool

Bu işlev, oturum kimliğini tek bağımsız değişken olarak alır. session_regenerate_id() işlevi eski_oturumu_sil bağımsız değişkenine true atanarak çağrıldığında veya session_destroy() ile oturum yok edildiğinde bu geriçağırım çalıştırılır. Başarı durumunda true yoksa false döner.

gc

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

gc(int $ömür): bool

Çöp toplayıcı geriçağırım işlevi olup, eski oturum verilerini temizlemek için dahili olarak PHP tarafından düzenli aralıklarla çağrılır. Sıklık session.gc_probability ve session.gc_divisor yönergeleri ile ayarlanır. İşleve aktarılan ömür değeri session.gc_maxlifetime yönergesinin çalışma zamanı değerini değiştirir. Başarı durumunda true yoksa false döner.

create_sid

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

create_sid(): string

Bu geriçağırım yeni bir oturum kimliği gerektiğinde çalıştırılır. Bağımsız değişkensizdir ve dönüş değeri dizge olarak geçerli bir oturum kimliği olmalıdır.

validate_sid

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

validate_sid(string $anahtar): bool

Bir oturum başlatılıp bir oturum kimliği edinildiğinde session.use_strict_mode yönergesi de etkinse bu geriçağırım çalıştırılır. anahtar doğrulanacak oturum kimliğidir. Bu kimliğe sahip bir oturum varsa bu oturum kimliği geçerlidir. Başarı durumunda true yoksa false döner.

update_timestamp

Bir geriçağırım işlevi olup sözdizimi şöyle olabilir:

update_timestamp(string $anahtar, string $değer): bool

Bir oturum güncellendiğinde bu geriçağırım çalıştırılır. anahtar oturumun kimliği, değer ise oturum verisidir. Başarı durumunda true yoksa false döner.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Özel oturum işleyici

SessionHandlerInterface sayfasında kodun tamamı vardır. Burada sadece çağrılan kısım gösterilmiştir.

Burada session_set_save_handler() işlevinin NYP sözdizimi kullanılmakta ve kapanışı_kaydet bağımsız değişkeni ile kapanış işlevi kayıt altına alınmaktadır. Nesneleri oturum kayıt işleyicisi olarak kayıt altına alma işlemi genel olarak böyledir ve böyle yapılması önerilir.

<?php
class MySessionHandler implements SessionHandlerInterface
{
// arayüzlerin gerçeklenimi burada
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// $_SESSION dizisinden değerleri anahtarlarına göre
// elde etmek ve atamak için kodlar burada.

Notlar

Uyarı

write ve close eylemcileri nesne yokedildikten sonra çağrılmaktadır. Bu bakımdan nesneler ve istisna yavrulama kullanılamaz. İstisnalar da yakalanamaz, ne yakalanır ne de herhangi bir istisna izi görüntülenir ve çalışma beklenmedik bir şekilde durur. Ancak nesne yıkıcılar oturumlarda kullanılabilir.

Bu yumurta/tavuk sorununu çözümlemek için bir yıkıcıdan session_write_close() çağrısı yapmak mümkündür fakat en güvenilir yol, kapanış işlevini yukarıda açıklandığı gibi kayıt altına almaktır.

Uyarı

Eğer oturum, betiğin sonlanmasıyla kapanmışsa bazı SAPI'lerde, geçerli çalışma dizini değiştirilir. Böyle durumlarda oturumu önceden session_write_close() ile kapatmak mümkündür.

Ayrıca Bakınız

  • session.save_handler yapılandırma yönergesi
  • session.serialize_handler yapılandırma yönergesi.
  • The register_shutdown_function() - Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar
  • The session_register_shutdown() - Oturum kapanma işlevini kaydeder
  • Eksiksiz bir yordamsal gönderim gerçeklenimi için bkz: » save_handler.inc


Yeni bir oturum başlatır veya eskisini yeniden devreye sokar

  • « session_set_save_handler
  • session_status »
  • PHP Manual
  • Oturum İşlevleri
  • Yeni bir oturum başlatır veya eskisini yeniden devreye sokar

session_start

(PHP 4, PHP 5, PHP 7, PHP 8)

session_start — Yeni bir oturum başlatır veya eskisini yeniden devreye sokar

Açıklama

session_start(array $seçenekler = []): bool

session_start() bir oturumu ya oluşturur ya da GET, POST veya bir çerez gibi bir istek üzerinden aktarılan oturum kimliğine dayalı olarak eski bir oturumu geçerli oturum haline getirir.

session_start() çağrıldığında veya bir oturum otomatik başladığında, PHP kayıtlı oturum aç ve oku işleyicilerini çağırır. Bunlar, öntanımlı veya PHP eklentileri (SQLite veya Memcached gibi) tarafından sağlanan yerleşik kayıt altına alma işleyicileri veya session_set_save_handler() ile tanımlanan özel işleyiciler olacaktır. Oku geriçağırımı, özel bir dizgeleştirilme biçiminde saklanan mevcut oturumun verisini alıp döndüğünde PHP dahili olarak bu veriyi nesneleştirerek $_SESSION dizisini doldurmakta kullanır.

İsimli oturumlar kullanmak için bu işlevden önce bir session_name() çağrısı yapılmalıdır.

session_start() işlevi, session.use_trans_sid etkinken URL yeniden yazımı için dahili çıktı eylemcisini kayıt altına alır.

Eğer kullanıcı ob_gzhandler() işlevini veya ob_start() ile benzerini kullanıyorsa çıktı eylemcilerin sırası çıktının düzgün olmasında önem kazanır. Örneğin, kullanıcının oturumu başlatmadan önce ob_gzhandler() işlevini kayıt altına alması gerekir.

Bağımsız Değişkenler

seçenekler

Belirtilmişse, geçerli oturum yapılandırma yönergelerini geçersiz kılacak seçenekleri içeren ilişkisel bir dizi olmalıdır. Anahtarların session. önekini içermemesi gerekir.

Normal yapılandırma yönergelerine ek olarak bir read_and_close seçeneği de belirtilebilir. Bu anahtara değer olarak true atanırsa, okuma işleminin ardından oturum hemen kapanır, böylelikle, oturum verileri değiştirilmeyecekse gereksiz kilitlemeden kaçınılmış olur.

Dönen Değerler

Oturum başarıyla başlatılabilmişse true aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | session_start() oturumu başlatmada başarısız olursa artık false döndürüyor ve $_SESSION dizisini artık ilkendirmiyor.

Örnekler

- Temel oturum örneği

Örnek 1 - sayfa1.php

<?php
// sayfa1.php

session_start();

echo '1. sayfaya hoş geldiniz';

$_SESSION['renk'] = 'yeşil';
$_SESSION['hayvan'] = 'kedi';
$_SESSION['zaman'] = time();

// Oturum verisi kabul edilmişse çalışır
echo '<br /><a href="sayfa2.php">2. Sayfa</a>';

// Veya gerekirse oturum kimliği üzerinden de aktarılabilir
echo '<br /><a href="sayfa2.php?' . SID . '">2. Sayfa</a>';
?>

sayfa1.php gösterildikten sonra, ikinci sayfa sayfa2.php oturum verisini sihirli bir şekilde içerecektir. SID sabiti dahil, oturum kimliklerinin aktarımı hakkında bilgi edinmek için oturum eklentisi okunabilir.

Örnek 2 - sayfa2.php

<?php
// sayfa2.php

session_start();

echo '2. sayfaya hoş geldiniz<br />';

echo $_SESSION['renk']; // yeşil
echo $_SESSION['hayvan']; // kedi
echo date('Y m d H:i:s', $_SESSION['zaman']);

// sayfa1.php'de yaptığımız gibi burada da SID kullanılabilir
echo '<br /><a href="sayfa1.php">1. Sayfa</a>';
?>

session_start() ve seçenekler

Örnek 3 - Çerez ömrünü değiştirmek

<?php
// Ömrü 1 gün olan kalıcı bir çerez gönder
session_start([
'cookie_lifetime' => 86400,
]);
?>

Örnek 4 - Oturumu okuyup kapatmak

<?php
// Oturumda hiçbir şeyi değiştirmenin gerekmeyeceği biliniyorsa
// oturum dosyasını kilitlemekten ve diğer sayfaları engellemekten
// kaçınmak için doğru yol oturumu okuyup hemen kapatmaktır.
session_start([
'cookie_lifetime' => 86400,
'read_and_close' => true,
]);

Notlar

Bilginize:

Çereze dayalı oturumlar kullanmak için tarayıcıya herhangi bir çıktılama yapmadan önce mutlaka bir session_start() çağrısı yapılmalıdır.

Bilginize:

ob_gzhandler() işlevinin yerine zlib.output_compression yönergesinin kullanımı önerilir.

Bilginize:

Bu işlev yapılandırmaya bağlı olarak dışarıya çeşitli HTTP başlıkları gönderir. Bu başlıkları özelleştirmek için session_cache_limiter() işlevine bakınız.

Ayrıca Bakınız

  • $_SESSION
  • session.auto_start yapılandırma yönergesi
  • session_id() - Geçerli oturum kimliğini döndürür ve/veya tanımlar


Geçerli oturum durumunu döndürür

  • « session_start
  • session_unset »
  • PHP Manual
  • Oturum İşlevleri
  • Geçerli oturum durumunu döndürür

session_status

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

session_status — Geçerli oturum durumunu döndürür

Açıklama

session_status(): int

session_status() geçerli oturum durumunu döndürmek için kullanılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

  • Oturum iptal edilmişse: PHP_SESSION_DISABLED
  • Oturum etkin ama ortada yoksa: PHP_SESSION_NONE
  • Oturum etkin ve kullanımdaysa: PHP_SESSION_ACTIVE

Ayrıca Bakınız

  • session_start() - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar


Free all session variables

  • « session_status
  • session_write_close »
  • PHP Manual
  • Oturum İşlevleri
  • Free all session variables

session_unset

(PHP 4, PHP 5, PHP 7, PHP 8)

session_unset — Free all session variables

Açıklama

session_unset(): bool

Oturuma kayıtlı tüm oturum değişkenlerini serbest bırakır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | İşlevin dönüş türü artık bool oldu. Evvelce void idi.

Notlar

Bilginize:

$_SESSION kullanılıyorsa belli bir oturum değişkenini temizlemek için unset() kullanılır. Örnek: unset ($_SESSION['degisken']);.

Dikkat

$_SESSION'ın tamamını temizlemek için unset($_SESSION) kullanılmamalıdır, çünkü bu, oturum değişkenlerinin $_SESSION süper küreseli aracılığıyla kaydedilmesini devre dışı bırakır.

Bilginize:

session_unset() ile $_SESSION = [] eşdeğerdir.

Dikkat

Bu işlev yalnızca bir oturum etkinse çalışır. Oturum henüz başlamadıysa veya zaten yok edilmişse, $_SESSION dizisini temizlemeyecektir. Oturum etkin olmasa bile tüm oturum değişkenlerini temizlemek için $_SESSION = [] kullanılmalıdır.


Oturum verisini yazıp oturumu kapatır

  • « session_unset
  • SessionHandler »
  • PHP Manual
  • Oturum İşlevleri
  • Oturum verisini yazıp oturumu kapatır

session_write_close

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

session_write_close — Oturum verisini yazıp oturumu kapatır

Açıklama

session_write_close(): bool

Oturum verisini kaydedip oturumu sonlandırır.

Oturum verisi normalde session_write_close() çağrısına gerek kalmaksızın betiğiniz sonlanınca kaydedilir, fakat aynı anda yazmaları engellemek ve oturumda aynı anda sadece bir betiğin çalışmasına izin vermek için oturum verisi kilitlenir. Oturumlarda frameset etiketlerini kullanıyorsanız frame'lerin bu kilitlemeden dolayı birer birer yüklendiklerini görürsünüz. Oturum değişkenlerindeki tüm değişikliler yapıldıkça oturumu kapatarak tüm frame'lerin yüklenme zamanını azaltabilirsiniz.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | İşlevin dönüş türü artık bool oldu. Evvelce void idi.

Ayrıca Bakınız

  • The session_register_shutdown() - Oturum kapanma işlevini kaydeder


SessionHandler sınıfı

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

SessionHandler, mevcut dahili PHP oturum kaydetme işleyicisini kalıtım yoluyla oluşturmak için kullanılabilecek özel bir sınıftır. Yedi dahili oturum kaydetme işleyicisi geriçağırımlarını sarmalayan yedi yöntemi vardır (open, close, read, write, destroy, gc ve create_sid). Öntanımlı olarak, bu sınıf, genellikle öntanımlı değeri files olan session.save_handler yapılandırma yönergesi tarafından tanımlandığı gibi dahili kaydetme işleyicisine ne atanmışsa onu sarmalar. Diğer dahili oturum kaydetme işleyicileri, SQLite (sqlite olarak), Memcache (memcache olarak) ve Memcached (memcached olarak) gibi PHP eklentileri tarafından sağlanır.

SessionHandler sınıfının düz bir örneği session_set_save_handler() kullanılarak kaydetme işleyicisi olarak atandığında, geçerli kaydetme işleyicilerini sarmalar. SessionHandler sınıfından genişletilen sınıf, ebeveynin yöntemlerini geçersiz kılmanıza veya dahili PHP oturum işleyicilerini sarmalayan ebeveyn sınıfın yöntemlerini çağırarak genişletilen sınıfın yöntemlerini engellemenize veya filtrelemenize olanak tanır.

Bu, örneğin, oturum verilerini şifrelemek/şifresini çözmek için read ve write yöntemlerini engellemenize ve ardından sonucu ebeveyn sınıfa ve ebeveyn sınıftan iletmenize olanak tanır. Bundan başka, gc çöp toplama geriçağırımı gibi bir yöntemi tamamen geçersiz kılmayı da seçebilirsiniz.

SessionHandler mevcut dahili kaydetme işleyicisi yöntemlerini sarmaladığından, yukarıdaki şifreleme örneği, işleyicilerin iç yapısını bilmek zorunda kalmadan herhangi bir dahili kaydetme işleyicisine uygulanabilir.

Bu sınıfı kullanmak için, önce session.save_handler ini yönergesini kullanarak oluşturmak istediğiniz kaydetme işleyicisini atayın ve ardından SessionHandler nesnesini veya işleyiciyi session_set_save_handler() işlevine genişleten bir nesneyi aktarın.

Bu sınıfın geriçağırım yöntemlerinin PHP tarafından dahili olarak çağrılmak üzere tasarlandığı, kullanıcı tarafından kod içinde kullanılmak üzere tasarlanmadığı unutulmamalıdır. Dönüş değerleri PHP tarafından dahili olarak işlenir. Oturum iş akışı hakkında daha fazla bilgi için session_set_save_handler() belgesine bakılabilir.

Sınıf Sözdizimi

class SessionHandler implements SessionHandlerInterface, SessionIdInterface {
/* Yöntemler */
public close(): bool
public create_sid(): string
public destroy(string $kimlik): bool
public gc(int $azami_ömür): int|false
public open(string $yol, string $isim): bool
public read(string $kimlik): string|false
public write(string $kimlik, string $veri): bool
}
Uyarı

Bu sınıf, mevcut dahili PHP oturum kaydetme işleyicisini oluşturmak için tasarlanmıştır, eğer kendi özel kaydetme işleyicilerinizi yazmak istiyorsanız, SessionHandler sınıfını genişletmek yerine SessionHandlerInterface arayüzünü gerçekleyin.

Örnek 1 - Dahili PHP oturum kaydetme işleyicilere şifreleme eklemek için SessionHandler kullanımı

<?php

/**
* decrypt AES 256
*
* @param data $edata
* @param string $password
* @return decrypted data
*/
function decrypt($edata, $password) {
$data = base64_decode($edata);
$salt = substr($data, 0, 16);
$ct = substr($data, 16);

$rounds = 3; // anahtar uzunluğuna bağlı
$data00 = $password.$salt;
$hash = array();
$hash[0] = hash('sha256', $data00, true);
$result = $hash[0];
for ($i = 1; $i < $rounds; $i++) {
$hash[$i] = hash('sha256', $hash[$i - 1].$data00, true);
$result .= $hash[$i];
}
$key = substr($result, 0, 32);
$iv = substr($result, 32,16);

return openssl_decrypt($ct, 'AES-256-CBC', $key, true, $iv);
}

/**
* crypt AES 256
*
* @param data $data
* @param string $password
* @return base64 encrypted data
*/
function encrypt($data, $password) {
// random_bytes() kullanarak kriptografik olarak güvenli rastgele tuz üret
$tuz = random_bytes(16);

$salted = '';
$dx = '';
// key(32) ve iv(16) = 48 tuz
while (strlen($salted) < 48) {
$dx = hash('sha256', $dx.$password.$salt, true);
$salted .= $dx;
}

$key = substr($salted, 0, 32);
$iv = substr($salted, 32,16);

$encrypted_data = openssl_encrypt($data, 'AES-256-CBC', $key, true, $iv);
return base64_encode($salt . $encrypted_data);
}

class EncryptedSessionHandler extends SessionHandler
{
private $key;

public function __construct($key)
{
$this->key = $key;
}

public function read($id)
{
$data = parent::read($id);

if (!$data) {
return "";
} else {
return decrypt($data, $this->key);
}
}

public function write($id, $data)
{
$data = encrypt($data, $this->key);

return parent::write($id, $data);
}
}

// yerel 'files' işleyicisini alıkoyacağız, ancak PHP eklentileri tarafından
// sağlanan 'sqlite', 'memcache' veya 'memcached' gibi diğer dahili yerel
// işleyicilerle eşit şekilde çalışacak.
ini_set('session.save_handler', 'files');

$key = 'secret_string';
$handler = new EncryptedSessionHandler($key);
session_set_save_handler($handler, true);
session_start();

// $_SESSION'daki anahtarla değerleri atamaya ve almaya devam et

Bilginize:

Bu sınıfın yöntemleri, normal oturum iş akışının bir parçası olarak PHP tarafından dahili olarak çağrılacak şekilde tasarlandığından, ebeveyn yöntemlere (yani gerçek dahili yerel işleyiciler) yapılan çocuk sınıf çağrıları, oturum gerçekten başlatılmadığı sürece (otomatik olarak veya doğrudan session_start() çağrısıyla) false döndürür. Sınıf yöntemlerinin kodunuzun içinden çağrılabileceği birim denemelerini "yaparken bunun dikkate alınması önemlidir.

İçindekiler

  • SessionHandler::close — Oturumu kapatır
  • SessionHandler::create_sid — Yeni oturum kimliğini döndürür
  • SessionHandler::destroy — Oturumu siler
  • SessionHandler::gc — Eski oturumu çöpe atar
  • SessionHandler::open — Oturumu ilklendirir
  • SessionHandler::read — Oturum verisini okur
  • SessionHandler::write — Oturum verisini yazar


Oturumu kapatır

  • « SessionHandler
  • SessionHandler::create_sid »
  • PHP Manual
  • SessionHandler
  • Oturumu kapatır

SessionHandler::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::close — Oturumu kapatır

Açıklama

public SessionHandler::close(): bool

Geçerli oturumu kapatır. Bu yöntem PHP tarafından otomatik olarak oturum kapatılırken örtük olarak veya session_write_close() çağrısıyla (önceki bir SessionHandler::write() çağrısından sonra) doğrudan çalıştırılır.

Bu yöntem, evvelce yapılmış bir session_set_save_handler() çağrısıyla session.save_handler ini yönergesinde tanımlanan PHP kayıt işleyicisini sarmalar.

Bu sınıf kalıtım yoluyla genişletilmişse, ebeveynin close yöntemine yapılan bir çağrı, bu yöntem için sarmalayıcıyı çağırır ve dolayısıyla ilişkili dahili geriçağırımı başlatır. Böylece yöntemin geçersiz kılınması ve/veya durdurulması sağlanır.

Bu yöntemden beklentilerle ilgili ayrıntılı bilgi SessionHandlerInterface::close() belgesinde bulunabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Yeni oturum kimliğini döndürür

  • « SessionHandler::close
  • SessionHandler::destroy »
  • PHP Manual
  • SessionHandler
  • Yeni oturum kimliğini döndürür

SessionHandler::create_sid

(PHP 5 >= 5.5.1, PHP 7, PHP 8)

SessionHandler::create_sid — Yeni oturum kimliğini döndürür

Açıklama

public SessionHandler::create_sid(): string

Yeni oturum kimliğini üretir ve döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Öntanımlı oturum işleyici için geçerli oturum kimliğini döndürür.

Ayrıca Bakınız

  • session_id() - Geçerli oturum kimliğini döndürür ve/veya tanımlar
  • session_create_id() - Yeni bir oturum kimliği oluşturur


Oturumu siler

  • « SessionHandler::create_sid
  • SessionHandler::gc »
  • PHP Manual
  • SessionHandler
  • Oturumu siler

SessionHandler::destroy

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::destroy — Oturumu siler

Açıklama

public SessionHandler::destroy(string $kimlik): bool

Oturum kimlği belirtilen oturumu siler. PHP tarafından dahili olarak (session_destroy() üzerinden $eski_oturumu_sil bağımsız değişkenine true atanarak veya session_decode() başarısız olursa) session_regenerate_id() işleviyle çağrılır.

Bu yöntem, evvelce yapılmış bir session_set_save_handler() çağrısıyla session.save_handler ini yönergesinde tanımlanan PHP kayıt işleyicisini sarmalar.

Bu sınıf kalıtım yoluyla genişletilmişse, ebeveynin destroy yöntemine yapılan bir çağrı, bu yöntem için sarmalayıcıyı çağırır ve dolayısıyla ilişkili dahili geriçağırımı başlatır. Böylece yöntemin geçersiz kılınması ve/veya durdurulması ve süzülmesi sağlanır.

Bu yöntemden beklentilerle ilgili ayrıntılı bilgi SessionHandlerInterface::destroy() belgesinde bulunabilir.

Bağımsız Değişkenler

kimlik

Silinecek oturumun kimliği.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Eski oturumu çöpe atar

  • « SessionHandler::destroy
  • SessionHandler::open »
  • PHP Manual
  • SessionHandler
  • Eski oturumu çöpe atar

SessionHandler::gc

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::gc — Eski oturumu çöpe atar

Açıklama

public SessionHandler::gc(int $azami_ömür): int|false

Ömrü tükenmiş oturumu temizler. Bir oturum başlatıldığında veya bir session_start() çağrısında PHP tarafından rastgele çağrılır. Çağrı sıklığı session.gc_divisor ve session.gc_probability yapılandırma yönergeleri ile belirlenir.

Bu yöntem, evvelce yapılmış bir session_set_save_handler() çağrısıyla session.save_handler ini yönergesinde tanımlanan PHP kayıt işleyicisini sarmalar.

Bu sınıf kalıtım yoluyla genişletilmişse, ebeveynin gc yöntemine yapılan bir çağrı, bu yöntem için sarmalayıcıyı çağırır ve dolayısıyla ilişkili dahili geriçağırımı başlatır. Böylece yöntemin geçersiz kılınması ve/veya durdurulması ve süzülmesi sağlanır.

Bu yöntemden beklentilerle ilgili ayrıntılı bilgi SessionHandlerInterface::gc() belgesinde bulunabilir.

Bağımsız Değişkenler

azami_ömür

Oturum azami_ömür saniye boyunca güncellenmemişse yok edilir.

Dönen Değerler

Başarı durumunda silinen otumların sayısı, başarısızlık durumunda false döner. Dikkat: Bu değer, PHP tarafından işlenmek üzere dahili olarak döndürülür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Artık başarı durumunda silinen oturumların sayısı dönüyor, evvelce true dönerdi.


Oturumu ilklendirir

  • « SessionHandler::gc
  • SessionHandler::read »
  • PHP Manual
  • SessionHandler
  • Oturumu ilklendirir

SessionHandler::open

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::open — Oturumu ilklendirir

Açıklama

public SessionHandler::open(string $yol, string $isim): bool

Yeni oturumu oluşturur veya mevcut oturumu yeniden ilklendirir. Yeni oturum dahili olarak PHP tarafından ya otomatik olarak ya da session_start() kullanıldığında oluşturulur.

Bu yöntem, daha önce session_set_save_handler() ile tanımlanmış session.save_handler ini yönergesinde tanımlı dahili PHP işleyicisini sarmalar.

Bu sınıf ebeveyn open yöntemi çağrılarak kalıtım yoluyla genişletilirse, bu yöntem için sarmalayıcıyı ve dolayısıyla ilişkili dahili geriçağırım işlevini çağırır. Böylece, bu yöntemin geçersiz kılınması ve/veya durdurulması ve süzülmesi sağlanmış olur.

Bu yöntemden beklentiler hakkından daha fazla bilgi edinmek için SessionHandlerInterface::open() belgesine bakılabilir.

Bağımsız Değişkenler

yol

Oturumum saklanacağı/alınacağı yerin yolu.

isim

Oturum adı.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.

Ayrıca Bakınız

  • session.auto-start yapılandırma yönergesi.


Oturum verisini okur

  • « SessionHandler::open
  • SessionHandler::write »
  • PHP Manual
  • SessionHandler
  • Oturum verisini okur

SessionHandler::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::read — Oturum verisini okur

Açıklama

public SessionHandler::read(string $kimlik): string|false

Oturum deposundan kimliği belirtilen oturumun verisini okur ve sonucu PHP tarafından dahili olarak işlenmek üzere döndürür. Bu yöntem PHP tarafından otomatik olarak oturum başlatılırken örtük olarak veya session_start() çağrısıyla (önceki bir SessionHandler::open() çağrısından sonra) doğrudan çalıştırılır.

Bu yöntem, evvelce yapılmış bir session_set_save_handler() çağrısıyla session.save_handler ini yönergesinde tanımlanan PHP kayıt işleyicisini sarmalar.

Bu sınıf kalıtım yoluyla genişletilmişse, ebeveynin read yöntemine yapılan bir çağrı, bu yöntem için sarmalayıcıyı çağırır ve dolayısıyla ilişkili dahili geriçağırımı başlatır. Böylece yöntemin geçersiz kılınması ve/veya durdurulması ve süzülmesi sağlanır (örneğin, ebeveynin read yönteminden döndürülen $data değeri deşifre edilerek).

Bu yöntemden beklentilerle ilgili ayrıntılı bilgi SessionHandlerInterface::read() belgesinde bulunabilir.

Bağımsız Değişkenler

kimlik

Verisi okunacak oturumun kimliği.

Dönen Değerler

Okunan veriden deşifre edilmiş dizge döner. Hiçbir şey okunmamışsa false döner. Dikkat: Bu değer, PHP tarafından işlenmek üzere dahili olarak döndürülür.

Ayrıca Bakınız

  • session.serialize_handler yapılandırma yönergesi.


Oturum verisini yazar

  • « SessionHandler::read
  • SessionHandlerInterface »
  • PHP Manual
  • SessionHandler
  • Oturum verisini yazar

SessionHandler::write

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandler::write — Oturum verisini yazar

Açıklama

public SessionHandler::write(string $kimlik, string $veri): bool

Oturum verisini oturum deposuna yazar. PHP'nin normal kapanışında session_write_close() tarafından veya session_register_shutdown() başarısız olduğunda çağrılır. PHP bu yöntem döndükten hemen sonra bir SessionHandler::close() çağrısı yapar.

Bu yöntem, evvelce yapılmış bir session_set_save_handler() çağrısıyla session.save_handler ini yönergesinde tanımlanan PHP kayıt işleyicisini sarmalar.

Bu sınıf kalıtım yoluyla genişletilmişse, ebeveynin write yöntemine yapılan bir çağrı, bu yöntem için sarmalayıcıyı çağırır ve dolayısıyla ilişkili dahili geriçağırımı başlatır. Böylece yöntemin geçersiz kılınması ve/veya durdurulması ve süzülmesi sağlanır (örneğin, ebeveynin write yöntemine gönderilemeden önce $data değeri şifrelenerek).

Bu yöntemden beklentilerle ilgili ayrıntılı bilgi SessionHandlerInterface::write() belgesinde bulunabilir.

Bağımsız Değişkenler

kimlik

Oturum kimliği.

veri

Deşire edilmiş oturum verisi. Bu veri, PHP tarafından $_SESSION süper küreseli dahili olarak dizgeleştirilerek bu bağımsız değişkene aktarılır. Dikkat: Oturumların kullandığı dizgeleştirme yöntemi farklıdır.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.

Ayrıca Bakınız

  • session.serialize_handler yapılandırma yönergesi.


SessionHandlerInterface arayüzü

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

SessionHandlerInterface özel bir oturum işleyici oluşturmak için gerekenlerin en azını tanımlayan bir arayüzdür. Özel oturum işleyicinin session_set_save_handler() işlevine aktarımı sırasında kullanılan sınıf bu arayüzü gerçekleyebilir.

Bu arayüzün geriçağırım yöntemlerinin PHP tarafından dahili olarak çağrılmak üzere tasarlandığı, kullanıcı tarafından kod içinde kullanılmak üzere tasarlanmadığı unutulmamalıdır.

Arayüz Sözdizimi

interface SessionHandlerInterface {
/* Yöntemler */
public close(): bool
public destroy(string $kimlik): bool
public gc(int $azami_ömür): int|false
public open(string $yol, string $isim): bool
public read(string $kimlik): string|false
public write(string $kimlik, string $veri): bool
}

Örnek 1 - SessionHandlerInterface kullanım örneği

Aşağıdaki örnek, PHP oturumlarının öntanımlı kaydetme işleyici dosyalarına benzeyen dosya tabanlı bir oturum deposu sağlar. Bu örnek, favori PHP destekli veritabanı motorunuzu kullanarak veritabanı depolamasını kapsayacak şekilde kolayca genişletilebilir.

Nesne yönelimli prototipi session_set_save_handler() ile kullandığımızı ve kapanma işlevini işlevin kapanışı_kaydet bağımsız değişkenini kullanarak kaydettiğimizi unutmayın. Bu genellikle nesneleri oturum kaydetme işleyicileri olarak kaydederken önerilen yoldur.

Dikkat

Kısa olması için bu örnek, giriş doğrulamasını atlar. Bununla birlikte, $id bağımsız değişkenleri, yol geçiş sorunları gibi güvenlik açıklarından kaçınmak için uygun doğrulama/temizleme gerektiren, aslında kullanıcı tarafından sağlanan değerlerdir. Bu nedenle, bu örneği üretim ortamlarında gereken değişiklikleri yapmadan kullanmayın .

<?php
class MySessionHandler implements SessionHandlerInterface
{
private $savePath;

public function open($savePath, $sessionName): bool
{
$this->savePath = $savePath;
if (!is_dir($this->savePath)) {
mkdir($this->savePath, 0777);
}

return true;
}

public function close(): bool
{
return true;
}

#[\ReturnTypeWillChange]
public function read($id)
{
return (string)@file_get_contents("$this->savePath/sess_$id");
}

public function write($id, $data): bool
{
return file_put_contents("$this->savePath/sess_$id", $data) === false ? false : true;
}

public function destroy($id): bool
{
$file = "$this->savePath/sess_$id";
if (file_exists($file)) {
unlink($file);
}

return true;
}

#[\ReturnTypeWillChange]
public function gc($maxlifetime)
{
foreach (glob("$this->savePath/sess_*") as $file) {
if (filemtime($file) + $maxlifetime < time() && file_exists($file)) {
unlink($file);
}
}

return true;
}
}

$handler = new MySessionHandler();
session_set_save_handler($handler, true);
session_start();

// $_SESSION'daki anahtarla değerleri atamaya ve almaya devam et

İçindekiler

  • SessionHandlerInterface::close — Oturumu kapatır
  • SessionHandlerInterface::destroy — Oturumu siler
  • SessionHandlerInterface::gc — Eski oturumları çöpe atar
  • SessionHandlerInterface::open — Oturumu ilklendirir
  • SessionHandlerInterface::read — Oturum verisini okur
  • SessionHandlerInterface::write — Oturum verisini yazar


Oturumu kapatır

  • « SessionHandlerInterface
  • SessionHandlerInterface::destroy »
  • PHP Manual
  • SessionHandlerInterface
  • Oturumu kapatır

SessionHandlerInterface::close

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::close — Oturumu kapatır

Açıklama

public SessionHandlerInterface::close(): bool

Geçerli oturumu kapatır. Bu yöntem PHP tarafından otomatik olarak oturum kapatılırken örtük olarak veya session_write_close() çağrısıyla doğrudan çalıştırılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Oturumu siler

  • « SessionHandlerInterface::close
  • SessionHandlerInterface::gc »
  • PHP Manual
  • SessionHandlerInterface
  • Oturumu siler

SessionHandlerInterface::destroy

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::destroy — Oturumu siler

Açıklama

public SessionHandlerInterface::destroy(string $kimlik): bool

Oturum kimlği belirtilen oturumu siler. PHP tarafından dahili olarak (session_destroy() üzerinden $eski_oturumu_sil bağımsız değişkenine true atanarak veya session_decode() başarısız olursa) session_regenerate_id() işleviyle çağrılır.

Bağımsız Değişkenler

kimlik

Silinecek oturumun kimliği..

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Eski oturumları çöpe atar

  • « SessionHandlerInterface::destroy
  • SessionHandlerInterface::open »
  • PHP Manual
  • SessionHandlerInterface
  • Eski oturumları çöpe atar

SessionHandlerInterface::gc

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::gc — Eski oturumları çöpe atar

Açıklama

public SessionHandlerInterface::gc(int $azami_ömür): int|false

Ömrü tükenmiş oturumu temizler. session_start() tarafından çağrılır. Çağrı sıklığı session.gc_divisor ve session.gc_probability ve session.gc_maxlifetime yapılandırma yönergeleri ile belirlenir.

Bağımsız Değişkenler

azami_ömür

Oturum azami_ömür saniye boyunca güncellenmemişse yok edilir.

Dönen Değerler

Başarı durumunda silinen otumların sayısı, başarısızlık durumunda false döner. Dikkat: Bu değer, PHP tarafından işlenmek üzere dahili olarak döndürülür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Artık başarı durumunda silinen oturumların sayısı dönüyor, evvelce true dönerdi.


Oturumu ilklendirir

  • « SessionHandlerInterface::gc
  • SessionHandlerInterface::read »
  • PHP Manual
  • SessionHandlerInterface
  • Oturumu ilklendirir

SessionHandlerInterface::open

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::open — Oturumu ilklendirir

Açıklama

public SessionHandlerInterface::open(string $yol, string $isim): bool

Yeni oturumu oluşturur veya mevcut oturumu yeniden ilklendirir. Yeni oturum dahili olarak PHP tarafından ya otomatik olarak ya da session_start() kullanıldığında oluşturulur.

Bağımsız Değişkenler

yol

Oturumum saklanacağı/alınacağı yerin yolu.

isim

Oturum adı.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.

Ayrıca Bakınız

  • session_name() - Geçerli oturum ismini döndürür ve/veya tanımlar
  • session.auto-start yapılandırma yönergesi.


Oturum verisini okur

  • « SessionHandlerInterface::open
  • SessionHandlerInterface::write »
  • PHP Manual
  • SessionHandlerInterface
  • Oturum verisini okur

SessionHandlerInterface::read

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::read — Oturum verisini okur

Açıklama

public SessionHandlerInterface::read(string $kimlik): string|false

Oturum deposundan kimliği belirtilen oturumun verisini okur ve sonucu PHP tarafından dahili olarak işlenmek üzere döndürür. Bu yöntem PHP tarafından otomatik olarak oturum başlatılırken örtük olarak veya session_start() çağrısıyla doğrudan çalıştırılır.

Bu yöntem oturum deposundan kimliği belirtilen oturumun verisini döndürür. Bu yöntemin döndürdüğü dizgenin SessionHandlerInterface::write() yöntemine aktarılan dizgeleştirilmiş özgün dizge ile aynı biçemde olması gerekir. Hiçbir şey okunmamışsa false döner.

Bu yöntemin döndürdüğü veri, PHP tarafından dahili olarak session.serialize_handler yapılandırma yönergesinde belirtilen nesneleştirme yöntemi kullanılarak kodlanır. Sonuç, $_SESSION süper küreselini doldurmakta kullanılır.

Dikkat: Nesneleştirme yöntemi unserialize() işlevininki ile aynı değildir ve sadece session_decode() tarafından erişilebilir.

Bağımsız Değişkenler

kimlik

Oturumun kimliği.

Dönen Değerler

Okunan veriden deşifre edilmiş dizge döner. Hiçbir şey okunmamışsa false döner. Dikkat: Bu değer, PHP tarafından işlenmek üzere dahili olarak döndürülür.

Ayrıca Bakınız

  • session.serialize_handler yapılandırma yönergesi.


Oturum verisini yazar

  • « SessionHandlerInterface::read
  • SessionIdInterface »
  • PHP Manual
  • SessionHandlerInterface
  • Oturum verisini yazar

SessionHandlerInterface::write

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

SessionHandlerInterface::write — Oturum verisini yazar

Açıklama

public SessionHandlerInterface::write(string $kimlik, string $veri): bool

Oturum verisini oturum deposuna yazar. PHP'nin normal kapanışında session_write_close() tarafından veya session_register_shutdown() başarısız olduğunda çağrılır. PHP bu yöntem döndükten hemen sonra bir SessionHandlerInterface::close() çağrısı yapar.

PHP bu yöntemi oturum kaydedilip kapatılmaya hazır olduğunda çağırır. Bu veri, PHP tarafından $_SESSION süper küreseli dahili olarak dizgeleştirilerek veri bağımsız değişkenine aktarılır. Kullanılan dizgeleştirme yöntemi session.serialize_handler yapılandırma yönergesinde belirtilir.

Bu yöntem normalde, doğrudan session_write_close() tarafından çağrılmadıkça, çıktı tamponları kapatıldıktan sonra PHP tarafından dahili olarak çağrılır.

Bağımsız Değişkenler

kimlik

Oturum kimliği.

veri

Deşire edilmiş oturum verisi. Bu veri, PHP tarafından $_SESSION süper küreseli dahili olarak dizgeleştirilerek bu bağımsız değişkene aktarılır. Dikkat: Oturumların kullandığı dizgeleştirme yöntemi farklıdır.

Dönen Değerler

Dönüş değeri (normal olarak başarılıysa true, değilse false). Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.

Ayrıca Bakınız

  • session.serialize_handler yapılandırma yönergesi.


SessionIdInterface arayüzü

(PHP 5 >= 5.5.1, PHP 7, PHP 8)

Giriş

SessionIdInterface özel bir oturum işleyici oluşturmak için seçimlik yöntemleri tanımlayan bir arayüzdür. Özel oturum işleyicinin session_set_save_handler() işlevine aktarımı sırasında kullanılan sınıf bu arayüzü gerçekleyebilir.

Bu arayüzün geriçağırım yöntemlerinin PHP tarafından dahili olarak çağrılmak üzere tasarlandığı, kullanıcı tarafından kod içinde kullanılmak üzere tasarlanmadığı unutulmamalıdır.

Arayüz Sözdizimi

interface SessionIdInterface {
/* Yöntemler */
public create_sid(): string
}

İçindekiler

  • SessionIdInterface::create_sid — Oturum kimliğini oluşturur


Oturum kimliğini oluşturur

  • « SessionIdInterface
  • SessionUpdateTimestampHandlerInterface »
  • PHP Manual
  • SessionIdInterface
  • Oturum kimliğini oluşturur

SessionIdInterface::create_sid

(PHP 5 >= 5.5.1, PHP 7, PHP 8)

SessionIdInterface::create_sid — Oturum kimliğini oluşturur

Açıklama

public SessionIdInterface::create_sid(): string

Yeni oturum kimliğini üretir ve döndürür. Bu işlev yeni bir oturum kimliği ihtiyacı oluştuğunda otomatik olarak çağrılır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yeni oturum kimliği. Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.

Ayrıca Bakınız

  • SessionHandler::create_sid() - Yeni oturum kimliğini döndürür


SessionUpdateTimestampHandlerInterface arayüzü

(PHP 7, PHP 8)

Giriş

SessionUpdateTimestampHandlerInterface özel bir oturum işleyici oluşturmak için seçimlik yöntemleri tanımlayan bir arayüzdür. Özel oturum işleyicinin session_set_save_handler() işlevine aktarımı sırasında kullanılan sınıf bu arayüzü gerçekleyebilir.

Bu arayüzün geriçağırım yöntemlerinin PHP tarafından dahili olarak çağrılmak üzere tasarlandığı, kullanıcı tarafından kod içinde kullanılmak üzere tasarlanmadığı unutulmamalıdır.

Sınıf Sözdizimi

interface SessionUpdateTimestampHandlerInterface {
/* Yöntemler */
public updateTimestamp(string $kimlik, string $veri): bool
public validateId(string $kimlik): bool
}

İçindekiler

  • SessionUpdateTimestampHandlerInterface::updateTimestamp — Zaman damgasını günceller
  • SessionUpdateTimestampHandlerInterface::validateId — Oturum kimliğinin geçerliliğini saptar


Zaman damgasını günceller

  • « SessionUpdateTimestampHandlerInterface
  • SessionUpdateTimestampHandlerInterface::validateId »
  • PHP Manual
  • SessionUpdateTimestampHandlerInterface
  • Zaman damgasını günceller

SessionUpdateTimestampHandlerInterface::updateTimestamp

(PHP 7, PHP 8)

SessionUpdateTimestampHandlerInterface::updateTimestamp — Zaman damgasını günceller

Açıklama

public SessionUpdateTimestampHandlerInterface::updateTimestamp(string $kimlik, string $veri): bool

Oturumun son değişiklik zaman damgasını günceller. Bu işlev oturum güncellenirken otomatik olarak çağrılır.

Bağımsız Değişkenler

kimlik

Oturum kimliği.

veri

Oturum verisi.

Dönen Değerler

Zaman damgası güncellenebilmişse true, aksi takdirde false döner. Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Oturum kimliğinin geçerliliğini saptar

  • « SessionUpdateTimestampHandlerInterface::updateTimestamp
  • Metin İşleme »
  • PHP Manual
  • SessionUpdateTimestampHandlerInterface
  • Oturum kimliğinin geçerliliğini saptar

SessionUpdateTimestampHandlerInterface::validateId

(PHP 7, PHP 8)

SessionUpdateTimestampHandlerInterface::validateId — Oturum kimliğinin geçerliliğini saptar

Açıklama

public SessionUpdateTimestampHandlerInterface::validateId(string $kimlik): bool

Belirtilen oturum kimliğine doğrulama yapar. Bu kimlikte bir oturum mevcutsa oturum kimliği geçerlidir. Bir oturum başlatıldığında, bir oturum kimliği sağlandığında ve session.use_strict_mode etkin olduğunda bu işlev otomatik olarak çağrılır.

Bağımsız Değişkenler

kimlik

Oturum kimliği.

Dönen Değerler

Kimlik geçerliyse true değilse false döner. Bu değerin PHP tarafından dahili olarak döndürüleceği unutulmamalıdır.


Metin İşleme

  • CommonMark
    • Giriş
    • Yapılandırma/Kurulum
    • CommonMark\Node\Document — Document concrete CommonMark\Node
    • CommonMark\Node\Heading — Heading concrete CommonMark\Node
    • CommonMark\Node\Paragraph — Paragraph concrete CommonMark\Node
    • CommonMark\Node\BlockQuote — BlockQuote concrete CommonMark\Node
    • CommonMark\Node\BulletList — BulletList concrete CommonMark\Node
    • CommonMark\Node\OrderedList — OrderedList concrete CommonMark\Node
    • CommonMark\Node\Item — Item concrete CommonMark\Node
    • CommonMark\Node\Text — Text concrete CommonMark\Node
    • CommonMark\Node\Text\Strong — Strong concrete CommonMark\Node
    • CommonMark\Node\Text\Emphasis — Emphasis concrete CommonMark\Node
    • CommonMark\Node\ThematicBreak — ThematicBreak concrete CommonMark\Node
    • CommonMark\Node\SoftBreak — SoftBreak concrete CommonMark\Node
    • CommonMark\Node\LineBreak — LineBreak concrete CommonMark\Node
    • CommonMark\Node\Code — Code concrete CommonMark\Node
    • CommonMark\Node\CodeBlock — CodeBlock concrete CommonMark\Node
    • CommonMark\Node\HTMLBlock — HTMLBlock concrete CommonMark\Node
    • CommonMark\Node\HTMLInline — HTMLInline concrete CommonMark\Node
    • CommonMark\Node\Image — Image concrete CommonMark\Node
    • CommonMark\Node\Link — Link concrete CommonMark\Node
    • CommonMark\Node\CustomBlock — CustomBlock concrete CommonMark\Node
    • CommonMark\Node\CustomInline — CustomInline concrete CommonMark\Node
    • CommonMark\Node — Abstract CommonMark\Node
    • CommonMark\Interfaces\IVisitor — The CommonMark\Interfaces\IVisitor interface
    • CommonMark\Interfaces\IVisitable — The CommonMark\Interfaces\IVisitable interface
    • CommonMark\Parser — The CommonMark\Parser class
    • CommonMark\CQL — The CommonMark\CQL class
    • CommonMark İşlevleri
  • Parle — Parsing and lexing
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Pattern matching — Parle pattern matching
    • Örnekler
    • Parle\Lexer — The Parle\Lexer class
    • Parle\RLexer — The Parle\RLexer class
    • Parle\Parser — The Parle\Parser class
    • Parle\RParser — The Parle\RParser class
    • Parle\Stack — The Parle\Stack class
    • Parle\Token — The Parle\Token class
    • Parle\ErrorInfo — The Parle\ErrorInfo class
    • Parle\LexerException — The Parle\LexerException class
    • Parle\ParserException — The Parle\ParserException class
  • PCRE — Perl Uyumlu Düzenli İfadeler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • PCRE Şablonları
    • PCRE İşlevleri
  • ssdeep — ssdeep Fuzzy Hashing
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • ssdeep İşlevleri
  • Strings — Dizgeler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Dizge İşlevleri
    • Sürüm Bilgisi


CommonMark

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • CommonMark\Node\Document — Document concrete CommonMark\Node
  • CommonMark\Node\Heading — Heading concrete CommonMark\Node
    • CommonMark\Node\Heading::__construct — Heading Construction
  • CommonMark\Node\Paragraph — Paragraph concrete CommonMark\Node
  • CommonMark\Node\BlockQuote — BlockQuote concrete CommonMark\Node
  • CommonMark\Node\BulletList — BulletList concrete CommonMark\Node
    • CommonMark\Node\BulletList::__construct — BulletList Construction
  • CommonMark\Node\OrderedList — OrderedList concrete CommonMark\Node
    • CommonMark\Node\OrderedList::__construct — OrderedList Construction
  • CommonMark\Node\Item — Item concrete CommonMark\Node
  • CommonMark\Node\Text — Text concrete CommonMark\Node
    • CommonMark\Node\Text::__construct — Text Construction
  • CommonMark\Node\Text\Strong — Strong concrete CommonMark\Node
  • CommonMark\Node\Text\Emphasis — Emphasis concrete CommonMark\Node
  • CommonMark\Node\ThematicBreak — ThematicBreak concrete CommonMark\Node
  • CommonMark\Node\SoftBreak — SoftBreak concrete CommonMark\Node
  • CommonMark\Node\LineBreak — LineBreak concrete CommonMark\Node
  • CommonMark\Node\Code — Code concrete CommonMark\Node
  • CommonMark\Node\CodeBlock — CodeBlock concrete CommonMark\Node
    • CommonMark\Node\CodeBlock::__construct — CodeBlock Construction
  • CommonMark\Node\HTMLBlock — HTMLBlock concrete CommonMark\Node
  • CommonMark\Node\HTMLInline — HTMLInline concrete CommonMark\Node
  • CommonMark\Node\Image — Image concrete CommonMark\Node
    • CommonMark\Node\Image::__construct — Image Construction
  • CommonMark\Node\Link — Link concrete CommonMark\Node
    • CommonMark\Node\Link::__construct — Link Construction
  • CommonMark\Node\CustomBlock — CustomBlock concrete CommonMark\Node
  • CommonMark\Node\CustomInline — CustomInline concrete CommonMark\Node
  • CommonMark\Node — Abstract CommonMark\Node
    • CommonMark\Node::appendChild — AST Manipulation
    • CommonMark\Node::prependChild — AST Manipulation
    • CommonMark\Node::insertAfter — AST Manipulation
    • CommonMark\Node::insertBefore — AST Manipulation
    • CommonMark\Node::replace — AST Manipulation
    • CommonMark\Node::unlink — AST Manipulation
    • CommonMark\Node::accept — Visitation
  • CommonMark\Interfaces\IVisitor — The CommonMark\Interfaces\IVisitor interface
    • CommonMark\Interfaces\IVisitor::enter — Visitation
    • CommonMark\Interfaces\IVisitor::leave — Visitation
  • CommonMark\Interfaces\IVisitable — The CommonMark\Interfaces\IVisitable interface
    • CommonMark\Interfaces\IVisitable::accept — Visitation
  • CommonMark\Parser — The CommonMark\Parser class
    • CommonMark\Parser::__construct — Parsing
    • CommonMark\Parser::parse — Parsing
    • CommonMark\Parser::finish — Parsing
  • CommonMark\CQL — The CommonMark\CQL class
    • CommonMark\CQL::__construct — CQL Construction
    • CommonMark\CQL::__invoke — CQL Execution
  • CommonMark İşlevleri
    • CommonMark\Parse — Parsing
    • CommonMark\Render — Rendering
    • CommonMark\Render\HTML — Rendering
    • CommonMark\Render\Latex — Rendering
    • CommonMark\Render\Man — Rendering
    • CommonMark\Render\XML — Rendering


Giriş

This extension provides access to the reference implementation of CommonMark, a rationalized version of Markdown syntax with a specification.

Parsing:

The CommonMark extension provides a simple parsing API:

CommonMark\Parse(string $content, int $options = ?): CommonMark\Node

Rendering:

The CommonMark extension provides simple rendering API that supports multiple formats:

CommonMark\Render(CommonMark\Node $node, int $options = ?, int $width = ?): string
CommonMark\Render\HTML(CommonMark\Node $node, int $options = ?): string
CommonMark\Render\XML(CommonMark\Node $node, int $options = ?): string
CommonMark\Render\Man(CommonMark\Node $node, int $options = ?, int $width = ?): string
CommonMark\Render\Latex(CommonMark\Node $node, int $options = ?, int $width = ?): string

AST:

The CommonMark extension implements visitation for CommonMark\Node objects:

public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void

CQL:

The CommonMark extension provides an interface to CQL, CommonMark Query Language:

public CommonMark\CQL::__construct(string $query)


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • CommonMark
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

The CommonMark extension requires the (C) reference implementation of » cmark.


Kurulum

The CommonMark extension releases are hosted by PECL and source is hosted on » github, the easiest route to installation is the normal PECL route: » https://pecl.php.net/package/cmark.

Windows users can download prebuilt release binaries from the » PECL website.

Dikkat

Windows users need to take the additional step of adding cmark.dll (distributed with Windows releases) to their PATH.


Document concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Document extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Heading concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Heading extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public int $level;
/* Constructor */
public __construct()
public __construct(int $level)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\Heading::__construct — Heading Construction


Heading Construction

  • « CommonMark\Node\Heading
  • CommonMark\Node\Paragraph »
  • PHP Manual
  • CommonMark\Node\Heading
  • Heading Construction

CommonMark\Node\Heading::__construct

(cmark >= 1.0.0)

CommonMark\Node\Heading::__construct — Heading Construction

Açıklama

public CommonMark\Node\Heading::__construct()
public CommonMark\Node\Heading::__construct(int $level)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Paragraph concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Paragraph extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


BlockQuote concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\BlockQuote extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


BulletList concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\BulletList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public bool $tight;
public int $delimiter;
/* Constructor */
public __construct()
public __construct(int $tight)
public __construct(int $tight, int $delimiter)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\BulletList::__construct — BulletList Construction


BulletList Construction

  • « CommonMark\Node\BulletList
  • CommonMark\Node\OrderedList »
  • PHP Manual
  • CommonMark\Node\BulletList
  • BulletList Construction

CommonMark\Node\BulletList::__construct

(cmark >= 1.0.0)

CommonMark\Node\BulletList::__construct — BulletList Construction

Açıklama

public CommonMark\Node\BulletList::__construct()
public CommonMark\Node\BulletList::__construct(int $tight)
public CommonMark\Node\BulletList::__construct(int $tight, int $delimiter)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


OrderedList concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\OrderedList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public bool $tight;
public int $delimiter;
public int $start;
/* Constructor */
public __construct()
public __construct(int $tight)
public __construct(int $tight, int $delimiter)
public __construct(int $tight, int $delimiter, int $start)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\OrderedList::__construct — OrderedList Construction


OrderedList Construction

  • « CommonMark\Node\OrderedList
  • CommonMark\Node\Item »
  • PHP Manual
  • CommonMark\Node\OrderedList
  • OrderedList Construction

CommonMark\Node\OrderedList::__construct

(cmark >= 1.0.0)

CommonMark\Node\OrderedList::__construct — OrderedList Construction

Açıklama

public CommonMark\Node\OrderedList::__construct()
public CommonMark\Node\OrderedList::__construct(int $tight)
public CommonMark\Node\OrderedList::__construct(int $tight, int $delimiter)
public CommonMark\Node\OrderedList::__construct(int $tight, int $delimiter, int $start)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

tight

delimiter

start


Item concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Item extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Text concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Text extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public ?string $literal;
/* Constructor */
public __construct()
public __construct(string $literal)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\Text::__construct — Text Construction


Text Construction

  • « CommonMark\Node\Text
  • CommonMark\Node\Text\Strong »
  • PHP Manual
  • CommonMark\Node\Text
  • Text Construction

CommonMark\Node\Text::__construct

(cmark >= 1.0.0)

CommonMark\Node\Text::__construct — Text Construction

Açıklama

public CommonMark\Node\Text::__construct()
public CommonMark\Node\Text::__construct(string $literal)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

literal


Strong concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Text\Strong extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Emphasis concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Text\Emphasis extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


ThematicBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\ThematicBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


SoftBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\SoftBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


LineBreak concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\LineBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Code concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Code extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
public ?string $literal;
/* Constructor */
public CommonMark\Node\Text::__construct()
public CommonMark\Node\Text::__construct(string $literal)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


CodeBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\CodeBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
public ?string $literal;
/* Özellikler */
public ?string $fence;
/* Constructor */
public CommonMark\Node\Text::__construct()
public CommonMark\Node\Text::__construct(string $literal)
public __construct(string $fence, string $literal)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\CodeBlock::__construct — CodeBlock Construction


CodeBlock Construction

  • « CommonMark\Node\CodeBlock
  • CommonMark\Node\HTMLBlock »
  • PHP Manual
  • CommonMark\Node\CodeBlock
  • CodeBlock Construction

CommonMark\Node\CodeBlock::__construct

(cmark >= 1.0.0)

CommonMark\Node\CodeBlock::__construct — CodeBlock Construction

Açıklama

public CommonMark\Node\CodeBlock::__construct(string $fence, string $literal)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

fence

literal


HTMLBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\HTMLBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
public ?string $literal;
/* Constructor */
public CommonMark\Node\Text::__construct()
public CommonMark\Node\Text::__construct(string $literal)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


HTMLInline concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\HTMLInline extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
public ?string $literal;
/* Constructor */
public CommonMark\Node\Text::__construct()
public CommonMark\Node\Text::__construct(string $literal)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Image concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Image extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public ?string $url;
public ?string $title;
/* Constructor */
public __construct()
public __construct(string $url)
public __construct(string $url, string $title)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\Image::__construct — Image Construction


Image Construction

  • « CommonMark\Node\Image
  • CommonMark\Node\Link »
  • PHP Manual
  • CommonMark\Node\Image
  • Image Construction

CommonMark\Node\Image::__construct

(cmark >= 1.0.0)

CommonMark\Node\Image::__construct — Image Construction

Açıklama

public CommonMark\Node\Image::__construct()
public CommonMark\Node\Image::__construct(string $url)
public CommonMark\Node\Image::__construct(string $url, string $title)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

url

title


Link concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\Link extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public ?string $url;
public ?string $title;
/* Constructor */
public __construct()
public __construct(string $url)
public __construct(string $url, string $title)
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node\Link::__construct — Link Construction


Link Construction

  • « CommonMark\Node\Link
  • CommonMark\Node\CustomBlock »
  • PHP Manual
  • CommonMark\Node\Link
  • Link Construction

CommonMark\Node\Link::__construct

(cmark >= 1.0.0)

CommonMark\Node\Link::__construct — Link Construction

Açıklama

public CommonMark\Node\Link::__construct()
public CommonMark\Node\Link::__construct(string $url)
public CommonMark\Node\Link::__construct(string $url, string $title)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

url

title


CustomBlock concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\CustomBlock extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public ?string $onEnter;
public ?string $onLeave;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


CustomInline concrete CommonMark\Node

(cmark >= 1.0.0)

Sınıf Sözdizimi

final class CommonMark\Node\CustomInline extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Miras alınan özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Özellikler */
public ?string $onEnter;
public ?string $onLeave;
/* Miras alınan yöntemler */
public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node
public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node
public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node
public CommonMark\Node::unlink(): void
public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void
}


Abstract CommonMark\Node

(cmark >= 1.0.0)

Giriş

Represents an Abstract Node, this final abstract is not for direct use by the programmer.

Sınıf Sözdizimi

final abstract class CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
/* Özellikler */
public readonly ?Node $parent;
public readonly ?Node $previous;
public readonly ?Node $next;
public readonly ?Node $lastChild;
public readonly ?Node $firstChild;
public readonly int $startLine;
public readonly int $endLine;
public readonly int $startColumn;
public readonly int $endColumn;
/* Yöntemler */
public appendChild(CommonMark\Node $child): CommonMark\Node
public prependChild(CommonMark\Node $child): CommonMark\Node
public insertAfter(CommonMark\Node $sibling): CommonMark\Node
public insertBefore(CommonMark\Node $sibling): CommonMark\Node
public replace(CommonMark\Node $target): CommonMark\Node
public unlink(): void
public accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Node::appendChild — AST Manipulation
  • CommonMark\Node::prependChild — AST Manipulation
  • CommonMark\Node::insertAfter — AST Manipulation
  • CommonMark\Node::insertBefore — AST Manipulation
  • CommonMark\Node::replace — AST Manipulation
  • CommonMark\Node::unlink — AST Manipulation
  • CommonMark\Node::accept — Visitation


AST Manipulation

  • « CommonMark\Node
  • CommonMark\Node::prependChild »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::appendChild

(cmark >= 1.0.0)

CommonMark\Node::appendChild — AST Manipulation

Açıklama

public CommonMark\Node::appendChild(CommonMark\Node $child): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

child

Dönen Değerler


AST Manipulation

  • « CommonMark\Node::appendChild
  • CommonMark\Node::insertAfter »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::prependChild

(cmark >= 1.0.0)

CommonMark\Node::prependChild — AST Manipulation

Açıklama

public CommonMark\Node::prependChild(CommonMark\Node $child): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

child

Dönen Değerler


AST Manipulation

  • « CommonMark\Node::prependChild
  • CommonMark\Node::insertBefore »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::insertAfter

(cmark >= 1.0.0)

CommonMark\Node::insertAfter — AST Manipulation

Açıklama

public CommonMark\Node::insertAfter(CommonMark\Node $sibling): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sibling

Dönen Değerler


AST Manipulation

  • « CommonMark\Node::insertAfter
  • CommonMark\Node::replace »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::insertBefore

(cmark >= 1.0.0)

CommonMark\Node::insertBefore — AST Manipulation

Açıklama

public CommonMark\Node::insertBefore(CommonMark\Node $sibling): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sibling

Dönen Değerler


AST Manipulation

  • « CommonMark\Node::insertBefore
  • CommonMark\Node::unlink »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::replace

(cmark >= 1.0.0)

CommonMark\Node::replace — AST Manipulation

Açıklama

public CommonMark\Node::replace(CommonMark\Node $target): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

target

Dönen Değerler


AST Manipulation

  • « CommonMark\Node::replace
  • CommonMark\Node::accept »
  • PHP Manual
  • CommonMark\Node
  • AST Manipulation

CommonMark\Node::unlink

(cmark >= 1.0.0)

CommonMark\Node::unlink — AST Manipulation

Açıklama

public CommonMark\Node::unlink(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Visitation

  • « CommonMark\Node::unlink
  • CommonMark\Interfaces\IVisitor »
  • PHP Manual
  • CommonMark\Node
  • Visitation

CommonMark\Node::accept

(cmark >= 1.0.0)

CommonMark\Node::accept — Visitation

Açıklama

public CommonMark\Node::accept(CommonMark\Interfaces\IVisitor $visitor): void

Bağımsız Değişkenler

visitor

An object implementing CommonMark\Interfaces\IVisitor

Ayrıca Bakınız

  • CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitor::leave


The CommonMark\Interfaces\IVisitor interface

(cmark >= 1.0.0)

Giriş

Sınıf Sözdizimi

final class CommonMark\Interfaces\IVisitor {
/* Sabitler */
const int Done;
const int Enter;
const int Leave;
/* Yöntemler */
abstract public enter(IVisitable $visitable): int|IVisitable|null
abstract public leave(IVisitable $visitable): int|IVisitable|null
}

İçindekiler

  • CommonMark\Interfaces\IVisitor::enter — Visitation
  • CommonMark\Interfaces\IVisitor::leave — Visitation


Visitation

  • « CommonMark\Interfaces\IVisitor
  • CommonMark\Interfaces\IVisitor::leave »
  • PHP Manual
  • CommonMark\Interfaces\IVisitor
  • Visitation

CommonMark\Interfaces\IVisitor::enter

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitor::enter — Visitation

Açıklama

abstract public CommonMark\Interfaces\IVisitor::enter(IVisitable $visitable): int|IVisitable|null

Bağımsız Değişkenler

visitable

The current CommonMark\Interfaces\IVisitable being entered

Dönen Değerler

Returning CommonMark\Interfaces\IVisitor::Done will cause the backing iterator to exit.

Returning CommonMark\Interfaces\IVisitor::Enter will reset the backing iterator at entering the current IVisitable

Returning CommonMark\Interfaces\IVisitor::Leave will reset the backing iterator at exiting the current IVisitable

Returning an IVisitable will reset the backing iterator at entering the given IVisitable

Returning nothing will allow the backing iterator to continue

Ayrıca Bakınız

  • CommonMark\Interfaces\IVisitable::accept


Visitation

  • « CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitable »
  • PHP Manual
  • CommonMark\Interfaces\IVisitor
  • Visitation

CommonMark\Interfaces\IVisitor::leave

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitor::leave — Visitation

Açıklama

abstract public CommonMark\Interfaces\IVisitor::leave(IVisitable $visitable): int|IVisitable|null

Bağımsız Değişkenler

visitable

The current CommonMark\Interfaces\IVisitable being exited

Dönen Değerler

Returning CommonMark\Interfaces\IVisitor::Done will cause the backing iterator to exit.

Returning CommonMark\Interfaces\IVisitor::Enter will reset the backing iterator at entering the current IVisitable

Returning CommonMark\Interfaces\IVisitor::Leave will reset the backing iterator at exiting the current IVisitable

Returning an IVisitable will reset the backing iterator at exiting the given IVisitable

Returning nothing will allow the backing iterator to continue

Ayrıca Bakınız

  • CommonMark\Interfaces\IVisitable::accept


The CommonMark\Interfaces\IVisitable interface

(cmark >= 1.0.0)

Giriş

Sınıf Sözdizimi

final class CommonMark\Interfaces\IVisitable {
abstract public accept(CommonMark\Interfaces\IVisitor $visitor): void
}

İçindekiler

  • CommonMark\Interfaces\IVisitable::accept — Visitation


Visitation

  • « CommonMark\Interfaces\IVisitable
  • CommonMark\Parser »
  • PHP Manual
  • CommonMark\Interfaces\IVisitable
  • Visitation

CommonMark\Interfaces\IVisitable::accept

(cmark >= 1.0.0)

CommonMark\Interfaces\IVisitable::accept — Visitation

Açıklama

abstract public CommonMark\Interfaces\IVisitable::accept(CommonMark\Interfaces\IVisitor $visitor): void

Bağımsız Değişkenler

visitor

An object implementing CommonMark\Interfaces\IVisitor

Ayrıca Bakınız

  • CommonMark\Interfaces\IVisitor::enter
  • CommonMark\Interfaces\IVisitor::leave


The CommonMark\Parser class

(cmark >= 1.0.0)

Giriş

Provides an incremental parser as an alternative to the simple Parsing API function

Sınıf Sözdizimi

final class CommonMark\Parser {
/* Constructor */
public __construct(int $options = ?)
/* Yöntemler */
public parse(string $buffer): void
public finish(): CommonMark\Node
}

İçindekiler

  • CommonMark\Parser::__construct — Parsing
  • CommonMark\Parser::parse — Parsing
  • CommonMark\Parser::finish — Parsing


Parsing

  • « CommonMark\Parser
  • CommonMark\Parser::parse »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::__construct

(cmark >= 1.0.0)

CommonMark\Parser::__construct — Parsing

Açıklama

public CommonMark\Parser::__construct(int $options = ?)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

options

A mask of:

CommonMark\Parser\Normal (int)
CommonMark\Parser\Normalize (int)
CommonMark\Parser\ValidateUTF8 (int)
CommonMark\Parser\Smart (int)


Parsing

  • « CommonMark\Parser::__construct
  • CommonMark\Parser::finish »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::parse

(cmark >= 1.0.0)

CommonMark\Parser::parse — Parsing

Açıklama

public CommonMark\Parser::parse(string $buffer): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

buffer

Dönen Değerler


Parsing

  • « CommonMark\Parser::parse
  • CommonMark\CQL »
  • PHP Manual
  • CommonMark\Parser
  • Parsing

CommonMark\Parser::finish

(cmark >= 1.0.0)

CommonMark\Parser::finish — Parsing

Açıklama

public CommonMark\Parser::finish(): CommonMark\Node

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


The CommonMark\CQL class

(cmark >= 1.1.0)

Giriş

CommonMark Query Language is a DSL for describing how to travel through a CommonMark Node tree implemented as a parser and compiler for a small set of instructions, and a virtual machine for executing those instructions.

Paths:

In it's most simplistic form, a CQL query combines the following paths and / to describe how to travel through a tree:

  • firstChild
  • lastChild
  • previous
  • next
  • parent
For example, /firstChild/lastChild would travel to the last child node of the first child node.

Loops

CQL can be instructed to loop, for example through the children of, or siblings to a particular node, by using the path children, or siblings. For example, /firstChild/children will travel to all the children of the first child node.

Subqueries

CQL can be instructed how to travel by using a subquery like [/firstChild]. For example, /firstChild/children[/firstChild] will travel to the first child node of all the children of the first child node.

Loop Constraints

While looping, CQL can be instructed to constrict the travelled path to nodes of particular type. For example /children(BlockQuote) will travel to the children of a node where the type is BlockQuote. The following types are recognized (case insensitively):

  • BlockQuote
  • List
  • Item
  • CodeBlock
  • HtmlBlock
  • CustomBlock
  • Paragraph
  • Heading
  • ThematicBreak
  • Text
  • SoftBreak
  • LineBreak
  • Code
  • HtmlInline
  • CustomInline
  • Emphasis
  • Strong
  • Link
  • Image
Types may be used as a union, for example /children(BlockQuote|List) will travel to the children of a node where the type is BlockQuote or List. Types, or unions of types, may be also negated. For example /children(~BlockQuote) will travel to the children of a node where the type is not BlockQuote, and /children(~BlockQuote|Paragraph) will travel to the children of a node where the type is not BlockQuote or Paragraph

Path Constraints

CQL can be instructed to create a loop to travel to a node of a particular type, at a particular path. For example, /firstChild(BlockQuote) will travel to the first child node where the type is BlockQuote. Note that like other loops for children and siblings, this kind of path can only be followed by a subquery.

Implementation Notes

While CQL has been implemented as part of the PHP CommonMark extension, it stands separately from PHP and does not use PHP's virtual machine or internal representation of values.

Sınıf Sözdizimi

class CommonMark\CQL {
/* Constructor */
public __construct(string $query)
/* Yöntemler */
public __invoke(CommonMark\Node $root, callable $handler)
}

İçindekiler

  • CommonMark\CQL::__construct — CQL Construction
  • CommonMark\CQL::__invoke — CQL Execution


CQL Construction

  • « CommonMark\CQL
  • CommonMark\CQL::__invoke »
  • PHP Manual
  • CommonMark\CQL
  • CQL Construction

CommonMark\CQL::__construct

(cmark >= 1.1.0)

CommonMark\CQL::__construct — CQL Construction

Açıklama

public CommonMark\CQL::__construct(string $query)

Bağımsız Değişkenler

query

a CQL string


CQL Execution

  • « CommonMark\CQL::__construct
  • CommonMark İşlevleri »
  • PHP Manual
  • CommonMark\CQL
  • CQL Execution

CommonMark\CQL::__invoke

(cmark >= 1.1.0)

CommonMark\CQL::__invoke — CQL Execution

Açıklama

public CommonMark\CQL::__invoke(CommonMark\Node $root, callable $handler)

Shall invoke the current CQL function on the given root, executing the given handler on entry to a CommonMark\Node

Bağımsız Değişkenler

root

the root node of a tree

handler

should have the prototype:

handler(CommonMark\Node $root, CommonMark\Node $entering): ?bool
  • Should handler fail to return (void), or return null, CQL will continue executing
  • Should the handler return a truthy value, CQL will continue executing.
  • Should the handler return a falsy value, CQL will stop executing


CommonMark İşlevleri

İçindekiler

  • CommonMark\Parse — Parsing
  • CommonMark\Render — Rendering
  • CommonMark\Render\HTML — Rendering
  • CommonMark\Render\Latex — Rendering
  • CommonMark\Render\Man — Rendering
  • CommonMark\Render\XML — Rendering


Parsing

  • « CommonMark İşlevleri
  • CommonMark\Render »
  • PHP Manual
  • CommonMark İşlevleri
  • Parsing

CommonMark\Parse

(cmark >= 1.0.0)

CommonMark\Parse — Parsing

Açıklama

CommonMark\Parse(string $content, int $options = ?): CommonMark\Node

Shall parse content

Bağımsız Değişkenler

content

markdown string

options

A mask of:

CommonMark\Parser\Normal (int)
CommonMark\Parser\Normalize (int)
CommonMark\Parser\ValidateUTF8 (int)
CommonMark\Parser\Smart (int)

Dönen Değerler

Shall return root CommonMark\Node


Rendering

  • « CommonMark\Parse
  • CommonMark\Render\HTML »
  • PHP Manual
  • CommonMark İşlevleri
  • Rendering

CommonMark\Render

(cmark >= 1.0.0)

CommonMark\Render — Rendering

Açıklama

CommonMark\Render(CommonMark\Node $node, int $options = ?, int $width = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Dönen Değerler


Rendering

  • « CommonMark\Render
  • CommonMark\Render\Latex »
  • PHP Manual
  • CommonMark İşlevleri
  • Rendering

CommonMark\Render\HTML

(cmark >= 1.0.0)

CommonMark\Render\HTML — Rendering

Açıklama

CommonMark\Render\HTML(CommonMark\Node $node, int $options = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)

Dönen Değerler


Rendering

  • « CommonMark\Render\HTML
  • CommonMark\Render\Man »
  • PHP Manual
  • CommonMark İşlevleri
  • Rendering

CommonMark\Render\Latex

(cmark >= 1.0.0)

CommonMark\Render\Latex — Rendering

Açıklama

CommonMark\Render\Latex(CommonMark\Node $node, int $options = ?, int $width = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Dönen Değerler


Rendering

  • « CommonMark\Render\Latex
  • CommonMark\Render\XML »
  • PHP Manual
  • CommonMark İşlevleri
  • Rendering

CommonMark\Render\Man

(cmark >= 1.0.0)

CommonMark\Render\Man — Rendering

Açıklama

CommonMark\Render\Man(CommonMark\Node $node, int $options = ?, int $width = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)
width

Dönen Değerler


Rendering

  • « CommonMark\Render\Man
  • Parle »
  • PHP Manual
  • CommonMark İşlevleri
  • Rendering

CommonMark\Render\XML

(cmark >= 1.0.0)

CommonMark\Render\XML — Rendering

Açıklama

CommonMark\Render\XML(CommonMark\Node $node, int $options = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

node

options

A mask of:

CommonMark\Render\Normal (int)
CommonMark\Render\SourcePos (int)
CommonMark\Render\HardBreaks (int)
CommonMark\Render\Safe (int)
CommonMark\Render\NoBreaks (int)

Dönen Değerler


Parsing and lexing

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • Öntanımlı Sabitler
  • Pattern matching — Parle pattern matching
    • Character representations
    • Character classes
    • Unicode character classes
    • Alternation and repetition
    • Anchors
    • Grouping
  • Örnekler
    • Lexer examples
    • Parser examples
  • Parle\Lexer — The Parle\Lexer class
    • Parle\Lexer::advance — Process next lexer rule
    • Parle\Lexer::build — Finalize the lexer rule set
    • Parle\Lexer::callout — Define token callback
    • Parle\Lexer::consume — Pass the data for processing
    • Parle\Lexer::dump — Dump the state machine
    • Parle\Lexer::getToken — Retrieve the current token
    • Parle\Lexer::insertMacro — Insert regex macro
    • Parle\Lexer::push — Add a lexer rule
    • Parle\Lexer::reset — Reset lexer
  • Parle\RLexer — The Parle\RLexer class
    • Parle\RLexer::advance — Process next lexer rule
    • Parle\RLexer::build — Finalize the lexer rule set
    • Parle\RLexer::callout — Define token callback
    • Parle\RLexer::consume — Pass the data for processing
    • Parle\RLexer::dump — Dump the state machine
    • Parle\RLexer::getToken — Retrieve the current token
    • Parle\RLexer::insertMacro — Insert regex macro
    • Parle\RLexer::push — Add a lexer rule
    • Parle\RLexer::pushState — Push a new start state
    • Parle\RLexer::reset — Reset lexer
  • Parle\Parser — The Parle\Parser class
    • Parle\Parser::advance — Process next parser rule
    • Parle\Parser::build — Finalize the grammar rules
    • Parle\Parser::consume — Consume the data for processing
    • Parle\Parser::dump — Dump the grammar
    • Parle\Parser::errorInfo — Retrieve the error information
    • Parle\Parser::left — Declare a token with left-associativity
    • Parle\Parser::nonassoc — Declare a token with no associativity
    • Parle\Parser::precedence — Declare a precedence rule
    • Parle\Parser::push — Add a grammar rule
    • Parle\Parser::reset — Reset parser state
    • Parle\Parser::right — Declare a token with right-associativity
    • Parle\Parser::sigil — Retrieve a matching part of a rule
    • Parle\Parser::sigilCount — Number of elements in matched rule
    • Parle\Parser::sigilName — Retrieve a rule or token name
    • Parle\Parser::token — Declare a token
    • Parle\Parser::tokenId — Get token id
    • Parle\Parser::trace — Trace the parser operation
    • Parle\Parser::validate — Validate input
  • Parle\RParser — The Parle\RParser class
    • Parle\RParser::advance — Process next parser rule
    • Parle\RParser::build — Finalize the grammar rules
    • Parle\RParser::consume — Consume the data for processing
    • Parle\RParser::dump — Dump the grammar
    • Parle\RParser::errorInfo — Retrieve the error information
    • Parle\RParser::left — Declare a token with left-associativity
    • Parle\RParser::nonassoc — Declare a token with no associativity
    • Parle\RParser::precedence — Declare a precedence rule
    • Parle\RParser::push — Add a grammar rule
    • Parle\RParser::reset — Reset parser state
    • Parle\RParser::right — Declare a token with right-associativity
    • Parle\RParser::sigil — Retrieve a matching part of a rule
    • Parle\RParser::sigilCount — Number of elements in matched rule
    • Parle\RParser::sigilName — Retrieve a rule or token name
    • Parle\RParser::token — Declare a token
    • Parle\RParser::tokenId — Get token id
    • Parle\RParser::trace — Trace the parser operation
    • Parle\RParser::validate — Validate input
  • Parle\Stack — The Parle\Stack class
    • Parle\Stack::pop — Pop an item from the stack
    • Parle\Stack::push — Push an item into the stack
  • Parle\Token — The Parle\Token class
  • Parle\ErrorInfo — The Parle\ErrorInfo class
  • Parle\LexerException — The Parle\LexerException class
  • Parle\ParserException — The Parle\ParserException class


Giriş

The parle extension provides general purpose lexing and parsing facilities. The implementation is based on » Ben Hanson's libraries and requires a » C++14 capable compiler. The lexer is based on the regex matching, the parser is LALR(1). Lexers and parsers are generated on the fly and can be used immediately after they've been finalized. Parle deals with parsing and lexing, the appropriate data structures representation and processing are the implementer's task. Serialization and code generation are not supported by the extension, yet.

Lexer analysis is a process of splitting a character sequence into a list of lexemes. The lexeme list can be then used for the syntax analysis against a formal grammar. These operations are also known as lexing and parsing. This documentation doesn't aim to provide an exhaustive information on lexing and parsing. Good information in this regard is available on the numerous resources on the net. Several usage examples are included, to show the functionality. The extension is useful for PHP programmers both willing to learn or to utilize parsing and lexing. State machines and grammar parsing don't have to be implemented manually, these complex tasks are taken away by parle. Thanks to that, the development can be focused on the actual problem solving.

The common use case for parle is, when a data format is too complex to be handled by the regex matching with PCRE. The practical application is herewith wide. Be it a specific data format, a behavior modification of existing functions, even an own programming language and beyond. The helper methods such as Parle\Lexer::dump() to inspect the generated state machine, or Parle\Parser::dump() to inspect the generated grammar, are useful. The method Parle\Parser::trace() can also be used to track the parsing operation.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • Parle
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


Gereksinimler

PHP 7.4 or above is supported. A C++14 capable compiler is required. A successful extension build was produced with at least clang 5.0, GCC 5.0 and Visual Studio 2015.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/parle.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/parle/.

Available configure options
Option | Description
--enable-parle | Enable parle extension.
--enable-parle-utf32 | Enable internal UTF-32 support. Available since parle 0.7.2.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Parle\INTERNAL_UTF32 bool
Flag whether the internal UTF-32 support is compiled in. Available since parle 0.7.2.


Parle pattern matching

İçindekiler

  • Character representations
  • Character classes
  • Unicode character classes
  • Alternation and repetition
  • Anchors
  • Grouping

Parle supports regex matching similar to flex. Also supported are the following POSIX character sets: [:alnum:], [:alpha:], [:blank:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:] and [:xdigit:].

The Unicode character classes are currently not enabled by default, pass --enable-parle-utf32 to make them available. A particular encoding can be mapped with a correctly constructed regex. For example, to match the EURO symbol encoded in UTF-8, the regular expression [\xe2][\x82][\xac] can be used. The pattern for an UTF-8 encoded string could be [ -\x7f]{+}[\x80-\xbf]{+}[\xc2-\xdf]{+}[\xe0-\xef]{+}[\xf0-\xff]+.


Character representations

Character representations
Sequence | Description
\a | Alert (bell).
\b | Backspace.
\e | ESC character, \x1b.
\n | Newline.
\r | Carriage return.
\f | Form feed, \x0c.
\t | Horizontal tab, \x09.
\v | Vertical tab, \x0b.
\oct | Character specified by a three-digit octal code.
\xhex | Character specified by a hex code.
\cchar | Named control character.


Character classes

Character classes
Sequence | Description
[...] | A single character listed or contained within a listed range. Ranges can be combined with the {+} and {-} operators. For example [a-z]{+}[0-9] is the same as [0-9a-z] and [a-z]{-}[aeiou] is the same as [b-df-hj-np-tv-z].
[^...] | A single character not listed and not contained within a listed range.
. | Any character, default [^\n].
\d | Digit character, [0-9].
\D | Non-digit character, [^0-9].
\s | White space character, [ \t\n\r\f\v].
\S | Non-white space character, [^ \t\n\r\f\v].
\w | Word character, [a-zA-Z0-9_].
\W | Non-word character, [^a-zA-Z0-9_].


Unicode character classes

Unicode character classes
Sequence | Description
\p{C} | Other.
\p{Cc} | Other, control.
\p{Cf} | Other, format.
\p{Co} | Other, private use.
\p{Cs} | Other, surrogate.
\p{L} | Letter.
\p{LC} | Letter, cased.
\p{Ll} | Letter, lowercase.
\p{Lm} | Letter, modifier.
\p{Lo} | Letter, other.
\p{Lt} | Letter, titlecase.
\p{Lu} | Letter, uppercase.
\p{M} | Mark.
\p{Mc} | Mark, space combining.
\p{Me} | Mark, enclosing.
\p{Mn} | Mark, nonspacing.
\p{N} | Number.
\p{Nd} | Number, decimal digit.
\p{Nl} | Number, letter.
\p{No} | Number, other.
\p{P} | Punctuation.
\p{Pc} | Punctiation, connector.
\p{Pd} | Punctuation, dash.
\p{Pe} | Punctuation, close.
\p{Pf} | Punctuation, final quote.
\p{Pi} | Punctuation, initial quote.
\p{Po} | Punctuation, other.
\p{Ps} | Punctuation, open.
\p{S} | Symbol.
\p{Sc} | Symbol, currency.
\p{Sk} | Symbol, modifier.
\p{Sm} | Symbol, math.
\p{So} | Symbol, other.
\p{Z} | Separator.
\p{Zl} | Separator, line.
\p{Zp} | Separator, paragraph.
\p{Zs} | Separator, space.

These character clasess are only available, if the option --enable-parle-utf32 was passed at the compilation time.


Alternation and repetition

Alternation and repetition
Sequence | Greedy | Description
...|... | - | Try subpatterns in alternation.
* | yes | Match 0 or more times.
+ | yes | Match 1 or more times.
? | yes | Match 0 or 1 times.
{n} | no | Match exactly n times.
{n,} | yes | Match at least n times.
{n,m} | yes | Match at least n times but no more than m times.
*? | no | Match 0 or more times.
+? | no | Match 1 or more times.
?? | no | Match 0 or 1 times.
{n,}? | no | Match at least n times.
{n,m}? | no | Match at least n times but no more than m times.
{MACRO} | - | Include the regex MACRO in the current regex.


Anchors

Anchors
Sequence | Description
^ | Start of string or after a newline.
$ | End of string or before a newline.


Grouping

Grouping
Sequence | Description
(...) Group a regular expression to override default operator precedence.
(?r-s:pattern) Apply option r and omit option s while interpreting pattern. Options may be zero or more of the characters i, s, or x.
Options
Option | Description
i | Case insensitive.
-i | Case sensitive.
s | Alters the meaning of '.' to match any character whatsoever.
-s | Alters the meaning of '.' to match any character except '\n'.
x | Ignores comments and whitespace in patterns. Whitespace is ignored unless it is backslash-escaped, contained within ""s, or appears inside a character range.
These options can be applied globally at the rules level by passing a combination of the bit flags to the lexer.
(?# comment ) | Omit everything within (). The first ) character encountered ends the pattern. It is not possible for the comment to contain a ) character. The comment may span lines.


  • « Grouping
  • Lexer examples »
  • PHP Manual
  • Parle
  • Örnekler

Örnekler

İçindekiler

  • Lexer examples
  • Parser examples


Lexer examples

Örnek 1 Tokenize comma separated integer list

<?php

use Parle\Token;
use Parle\Lexer;
use Parle\LexerException;

/* name => id */
$token = array(
"COMMA" => 1,
"CRLF" => 2,
"DECIMAL" => 3,
);
/* id => name */
$tokenIdToName = array_flip($token);

$lex = new Lexer;
$lex->push("[\x2c]", $token["COMMA"]);
$lex->push("[\r][\n]", $token["CRLF"]);
$lex->push("[\d]+", $token["DECIMAL"]);
$lex->build();

$in = "0,1,2\r\n3,42,5\r\n6,77,8\r\n";

$lex->consume($in);

do {
$lex->advance();
$tok = $lex->getToken();

if (Token::UNKNOWN == $tok->id) {
throw new LexerException("Unknown token '{$tok->value}' at offset {$lex->marker}.");
}

echo "TOKEN: ", $tokenIdToName[$tok->id], PHP_EOL;
} while (Token::EOI != $tok->id);

Örnek 2 Tokenize assign statement

<?php

use Parle\{Token, Lexer};

$lex = new Lexer;

$lex->push("\$[a-zA-Z_][a-zA-Z0-9_]*", 1);
$lex->push("=", 2);
$lex->push("\d+", 3);
$lex->push(";", 4);

$lex->build();

$lex->consume('$x = 42; $y = 24;');

do {
$lex->advance();
$tok = $lex->getToken();
var_dump($tok);
} while (Token::EOI != $tok->id);


Parser examples

Örnek 1 Simple calculator

<?php

use Parle\{Parser, ParserException, Lexer, Token};

$p = new Parser;
$p->token("INTEGER");
$p->left("'+' '-' '*' '/'");

$p->push("start", "exp");
$prod_add = $p->push("exp", "exp '+' exp");
$prod_sub = $p->push("exp", "exp '-' exp");
$prod_mul = $p->push("exp", "exp '*' exp");
$prod_div = $p->push("exp", "exp '/' exp");
$p->push("exp", "INTEGER"); /* Production index unused. */

$p->build();

$lex = new Lexer;
$lex->push("[+]", $p->tokenId("'+'"));
$lex->push("[-]", $p->tokenId("'-'"));
$lex->push("[*]", $p->tokenId("'*'"));
$lex->push("[/]", $p->tokenId("'/'"));
$lex->push("\\d+", $p->tokenId("INTEGER"));
$lex->push("\\s+", Token::SKIP);

$lex->build();

$exp = array(
"1 + 1",
"33 / 10",
"100 * 45",
"17 - 45",
);

foreach ($exp as $in) {
if (!$p->validate($in, $lex)) {
throw new ParserException("Failed to validate input");
}

$p->consume($in, $lex);

while (Parser::ACTION_ERROR != $p->action && Parser::ACTION_ACCEPT != $p->action) {
switch ($p->action) {
case Parser::ACTION_ERROR:
throw new ParserException("Parser error");
break;
case Parser::ACTION_SHIFT:
case Parser::ACTION_GOTO:
case Parser::ACTION_ACCEPT:
break;
case Parser::ACTION_REDUCE:
switch ($p->reduceId) {
case $prod_add:
$l = $p->sigil(0);
$r = $p->sigil(2);
echo "$l + $r = " . ($l + $r) . "\n";
break;
case $prod_sub:
$l = $p->sigil(0);
$r = $p->sigil(2);
echo "$l - $r = " . ($l - $r) . "\n";
break;
case $prod_mul:
$l = $p->sigil(0);
$r = $p->sigil(2);
echo "$l * $r = " . ($l * $r) . "\n";
break;
case $prod_div:
$l = $p->sigil(0);
$r = $p->sigil(2);
echo "$l / $r = " . ($l / $r) . "\n";
break;
}
break;
}
$p->advance();
}
}

Örnek 2 Parse words out from a sentence

<?php

use Parle\{Lexer, Token, Parser, ParserException};

$p = new Parser;
$p->token("WORD");
$p->push("START", "SENTENCE");
$p->push("SENTENCE", "WORDS");
$prod_word_0 = $p->push("WORDS", "WORDS WORD");
$prod_word_1 = $p->push("WORDS", "WORD");
$p->build();

$lex = new Lexer;
$lex->push("[^\s]{-}[\.,\:\;\?]+", $p->tokenId("WORD"));
$lex->push("[\s\.,\:\;\?]+", Token::SKIP);
$lex->build();

$in = "Dis-moi où est ton papa?";
$p->consume($in, $lex);
do {
switch ($p->action) {
case Parser::ACTION_ERROR:
throw new ParserException("Error");
break;
case Parser::ACTION_SHIFT:
case Parser::ACTION_GOTO:
/* var_dump($p->trace());*/
break;
case Parser::ACTION_REDUCE:
$rid = $p->reduceId();
if ($rid == $prod_word_1) {
var_dump($p->sigil(0));
} if ($rid == $prod_word_0) {
var_dump($p->sigil(1));
}
break;
}
$p->advance();
} while (Parser::ACTION_ACCEPT != $p->action);


The Parle\Lexer class

(PECL parle >= 0.5.1)

Giriş

Single state lexer class. Lexemes can be defined on the fly. If the particular lexer instance is meant to be used with Parle\Parser, the token IDs need to be taken from there. Otherwise, arbitrary token IDs can be supplied. This lexer can give a certain performance advantage over Parle\RLexer, if no multiple states are required. Note, that Parle\RParser is not compatible with this lexer.

Sınıf Sözdizimi

class Parle\Lexer {
/* Sabitler */
const int ICASE = 1;
const int DOT_NOT_LF = 2;
const int DOT_NOT_CRLF = 4;
const int SKIP_WS = 8;
const int MATCH_ZERO_LEN = 16;
/* Özellikler */
public bool $bol = false;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Yöntemler */
public advance(): void
public build(): void
public callout(int $id, callable $callback): void
public consume(string $data): void
public dump(): void
public getToken(): Parle\Token
public insertMacro(string $name, string $regex): void
public push(string $regex, int $id): void
public reset(int $pos): void
}

Öntanımlı Sabitler

Parle\Lexer::ICASE

Parle\Lexer::DOT_NOT_LF

Parle\Lexer::DOT_NOT_CRLF

Parle\Lexer::SKIP_WS

Parle\Lexer::MATCH_ZERO_LEN

Özellikler

bol

Start of input flag.

flags

Lexer flags.

state

Current lexer state, readonly.

marker

Position of the latest token match, readonly.

cursor

Current input offset, readonly.

İçindekiler

  • Parle\Lexer::advance — Process next lexer rule
  • Parle\Lexer::build — Finalize the lexer rule set
  • Parle\Lexer::callout — Define token callback
  • Parle\Lexer::consume — Pass the data for processing
  • Parle\Lexer::dump — Dump the state machine
  • Parle\Lexer::getToken — Retrieve the current token
  • Parle\Lexer::insertMacro — Insert regex macro
  • Parle\Lexer::push — Add a lexer rule
  • Parle\Lexer::reset — Reset lexer


Process next lexer rule

  • « Parle\Lexer
  • Parle\Lexer::build »
  • PHP Manual
  • Parle\Lexer
  • Process next lexer rule

Parle\Lexer::advance

(PECL parle >= 0.5.1)

Parle\Lexer::advance — Process next lexer rule

Açıklama

public Parle\Lexer::advance(): void

Processes the next rule and prepares the resulting token data.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Finalize the lexer rule set

  • « Parle\Lexer::advance
  • Parle\Lexer::callout »
  • PHP Manual
  • Parle\Lexer
  • Finalize the lexer rule set

Parle\Lexer::build

(PECL parle >= 0.5.1)

Parle\Lexer::build — Finalize the lexer rule set

Açıklama

public Parle\Lexer::build(): void

Rules, previously added with Parle\Lexer::push() are finalized. This method call has to be done after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Define token callback

  • « Parle\Lexer::build
  • Parle\Lexer::consume »
  • PHP Manual
  • Parle\Lexer
  • Define token callback

Parle\Lexer::callout

(PECL parle >= 0.7.2)

Parle\Lexer::callout — Define token callback

Açıklama

public Parle\Lexer::callout(int $id, callable $callback): void

Define a callback to be invoked once lexer encounters a particular token.

Bağımsız Değişkenler

id

Token id.

callback

Callable to be invoked. The callable doesn't receive any arguments and its return value is ignored.

Dönen Değerler

Hiçbir değer dönmez.


Pass the data for processing

  • « Parle\Lexer::callout
  • Parle\Lexer::dump »
  • PHP Manual
  • Parle\Lexer
  • Pass the data for processing

Parle\Lexer::consume

(PECL parle >= 0.5.1)

Parle\Lexer::consume — Pass the data for processing

Açıklama

public Parle\Lexer::consume(string $data): void

Consume the data for lexing.

Bağımsız Değişkenler

data

Data to be lexed.

Dönen Değerler

Hiçbir değer dönmez.


Dump the state machine

  • « Parle\Lexer::consume
  • Parle\Lexer::getToken »
  • PHP Manual
  • Parle\Lexer
  • Dump the state machine

Parle\Lexer::dump

(PECL parle >= 0.5.1)

Parle\Lexer::dump — Dump the state machine

Açıklama

public Parle\Lexer::dump(): void

Dump the current state machine to stdout.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve the current token

  • « Parle\Lexer::dump
  • Parle\Lexer::insertMacro »
  • PHP Manual
  • Parle\Lexer
  • Retrieve the current token

Parle\Lexer::getToken

(PECL parle >= 0.5.1)

Parle\Lexer::getToken — Retrieve the current token

Açıklama

public Parle\Lexer::getToken(): Parle\Token

Retrieve the current token.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an instance of Parle\Token.


Insert regex macro

  • « Parle\Lexer::getToken
  • Parle\Lexer::push »
  • PHP Manual
  • Parle\Lexer
  • Insert regex macro

Parle\Lexer::insertMacro

(PECL parle >= 0.5.1)

Parle\Lexer::insertMacro — Insert regex macro

Açıklama

public Parle\Lexer::insertMacro(string $name, string $regex): void

Insert a regex macro, that can be later used as a shortcut and included in other regular expressions.

Bağımsız Değişkenler

name

Name of the macros.

regex

Regular expression.

Dönen Değerler

Hiçbir değer dönmez.


Add a lexer rule

  • « Parle\Lexer::insertMacro
  • Parle\Lexer::reset »
  • PHP Manual
  • Parle\Lexer
  • Add a lexer rule

Parle\Lexer::push

(PECL parle >= 0.5.1)

Parle\Lexer::push — Add a lexer rule

Açıklama

public Parle\Lexer::push(string $regex, int $id): void

Push a pattern for lexeme recognition.

Bağımsız Değişkenler

regex

Regular expression used for token matching.

id

Token id. If the lexer instance is meant to be used standalone, this can be an arbitrary number. If the lexer instance is going to be passed to the parser, it has to be an id returned by Parle\Parser::tokenid().

Dönen Değerler

Hiçbir değer dönmez.


Reset lexer

  • « Parle\Lexer::push
  • Parle\RLexer »
  • PHP Manual
  • Parle\Lexer
  • Reset lexer

Parle\Lexer::reset

(PECL parle >= 0.7.1)

Parle\Lexer::reset — Reset lexer

Açıklama

public Parle\Lexer::reset(int $pos): void

Reset lexing optionally supplying the desired offset.

Bağımsız Değişkenler

pos

Reset position.

Dönen Değerler

Hiçbir değer dönmez.


The Parle\RLexer class

(PECL parle >= 0.5.1)

Giriş

Multistate lexer class. Lexemes can be defined on the fly. If the particular lexer instance is meant to be used with Parle\RParser, the token IDs need to be taken from there. Otherwise, arbitrary token IDs can be supplied. Note, that Parle\Parser is not compatible with this lexer.

Sınıf Sözdizimi

class Parle\RLexer {
/* Sabitler */
const int ICASE = 1;
const int DOT_NOT_LF = 2;
const int DOT_NOT_CRLF = 4;
const int SKIP_WS = 8;
const int MATCH_ZERO_LEN = 16;
/* Özellikler */
public bool $bol = false;
public int $flags = 0;
public int $state = 0;
public int $marker = 0;
public int $cursor = 0;
/* Yöntemler */
public advance(): void
public build(): void
public callout(int $id, callable $callback): void
public consume(string $data): void
public dump(): void
public getToken(): Parle\Token
public insertMacro(string $name, string $regex): void
public push(string $regex, int $id): void
public push(
string $state,
string $regex,
int $id,
string $newState
): void
public push(string $state, string $regex, string $newState): void
public pushState(string $state): int
public reset(int $pos): void
}

Öntanımlı Sabitler

Parle\RLexer::ICASE

Parle\RLexer::DOT_NOT_LF

Parle\RLexer::DOT_NOT_CRLF

Parle\RLexer::SKIP_WS

Parle\RLexer::MATCH_ZERO_LEN

Özellikler

bol

Start of input flag.

flags

Lexer flags.

state

Current lexer state, readonly.

marker

Position of the latest token match, readonly.

cursor

Current input offset, readonly.

İçindekiler

  • Parle\RLexer::advance — Process next lexer rule
  • Parle\RLexer::build — Finalize the lexer rule set
  • Parle\RLexer::callout — Define token callback
  • Parle\RLexer::consume — Pass the data for processing
  • Parle\RLexer::dump — Dump the state machine
  • Parle\RLexer::getToken — Retrieve the current token
  • Parle\RLexer::insertMacro — Insert regex macro
  • Parle\RLexer::push — Add a lexer rule
  • Parle\RLexer::pushState — Push a new start state
  • Parle\RLexer::reset — Reset lexer


Process next lexer rule

  • « Parle\RLexer
  • Parle\RLexer::build »
  • PHP Manual
  • Parle\RLexer
  • Process next lexer rule

Parle\RLexer::advance

(PECL parle >= 0.5.1)

Parle\RLexer::advance — Process next lexer rule

Açıklama

public Parle\RLexer::advance(): void

Processes the next rule and prepares the resulting token data.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Finalize the lexer rule set

  • « Parle\RLexer::advance
  • Parle\RLexer::callout »
  • PHP Manual
  • Parle\RLexer
  • Finalize the lexer rule set

Parle\RLexer::build

(PECL parle >= 0.5.1)

Parle\RLexer::build — Finalize the lexer rule set

Açıklama

public Parle\RLexer::build(): void

Rules, previously added with Parle\RLexer::push() are finalized. This method call has to be done after all the necessary rules was pushed. The rule set becomes read only. The lexing can begin.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Define token callback

  • « Parle\RLexer::build
  • Parle\RLexer::consume »
  • PHP Manual
  • Parle\RLexer
  • Define token callback

Parle\RLexer::callout

(PECL parle >= 0.7.2)

Parle\RLexer::callout — Define token callback

Açıklama

public Parle\RLexer::callout(int $id, callable $callback): void

Define a callback to be invoked once lexer encounters a particular token.

Bağımsız Değişkenler

id

Token id.

callback

Callable to be invoked. The callable doesn't receive any arguments and its return value is ignored.

Dönen Değerler

Hiçbir değer dönmez.


Pass the data for processing

  • « Parle\RLexer::callout
  • Parle\RLexer::dump »
  • PHP Manual
  • Parle\RLexer
  • Pass the data for processing

Parle\RLexer::consume

(PECL parle >= 0.5.1)

Parle\RLexer::consume — Pass the data for processing

Açıklama

public Parle\RLexer::consume(string $data): void

Consume the data for lexing.

Bağımsız Değişkenler

data

Data to be lexed.

Dönen Değerler

Hiçbir değer dönmez.


Dump the state machine

  • « Parle\RLexer::consume
  • Parle\RLexer::getToken »
  • PHP Manual
  • Parle\RLexer
  • Dump the state machine

Parle\RLexer::dump

(PECL parle >= 0.5.1)

Parle\RLexer::dump — Dump the state machine

Açıklama

public Parle\RLexer::dump(): void

Dump the current state machine to stdout.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve the current token

  • « Parle\RLexer::dump
  • Parle\RLexer::insertMacro »
  • PHP Manual
  • Parle\RLexer
  • Retrieve the current token

Parle\RLexer::getToken

(PECL parle >= 0.5.1)

Parle\RLexer::getToken — Retrieve the current token

Açıklama

public Parle\RLexer::getToken(): Parle\Token

Retrive the current token.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an instance of Parle\Token.


Insert regex macro

  • « Parle\RLexer::getToken
  • Parle\RLexer::push »
  • PHP Manual
  • Parle\RLexer
  • Insert regex macro

Parle\RLexer::insertMacro

(PECL parle >= 0.5.1)

Parle\RLexer::insertMacro — Insert regex macro

Açıklama

public Parle\RLexer::insertMacro(string $name, string $regex): void

Insert a regex macro, that can be later used as a shortcut and included in other regular expressions.

Bağımsız Değişkenler

name

Name of the macros.

regex

Regular expression.

Dönen Değerler

Hiçbir değer dönmez.


Add a lexer rule

  • « Parle\RLexer::insertMacro
  • Parle\RLexer::pushState »
  • PHP Manual
  • Parle\RLexer
  • Add a lexer rule

Parle\RLexer::push

(PECL parle >= 0.5.1)

Parle\RLexer::push — Add a lexer rule

Açıklama

public Parle\RLexer::push(string $regex, int $id): void
public Parle\RLexer::push(
string $state,
string $regex,
int $id,
string $newState
): void
public Parle\RLexer::push(string $state, string $regex, string $newState): void

Push a pattern for lexeme recognition.

A 'start state' and 'exit state' can be specified by using a suitable signature.

Bağımsız Değişkenler

regex

Regular expression used for token matching.

id

Token id. If the lexer instance is meant to be used standalone, this can be an arbitrary number. If the lexer instance is going to be passed to the parser, it has to be an id returned by Parle\RParser::tokenid().

state

State name. If '*' is used as start state, then the rule is applied to all lexer states.

newState

New state name, after the rule was applied.

If '.' is specified as the exit state, then the lexer state is unchanged when that rule matches. An exit state with '>' before the name means push. Use the signature without id for either continuation or to start matching, when a continuation or recursion is required.

If '<' is specified as exit state, it means pop. In that case, the signature containing the id can be used to identify the match. Note that even in the case an id is specified, the rule will finish first when all the previous pushes popped.

Dönen Değerler

Hiçbir değer dönmez.


Push a new start state

  • « Parle\RLexer::push
  • Parle\RLexer::reset »
  • PHP Manual
  • Parle\RLexer
  • Push a new start state

Parle\RLexer::pushState

(PECL parle >= 0.5.1)

Parle\RLexer::pushState — Push a new start state

Açıklama

public Parle\RLexer::pushState(string $state): int

This lexer type can have more than one state machine. This allows you to lex different tokens depending on context, thus allowing simple parsing to take place. Once a state pushed, it can be used with a suitable Parle\RLexer::push() signature variant.

Bağımsız Değişkenler

state

Name of the state.

Dönen Değerler


Reset lexer

  • « Parle\RLexer::pushState
  • Parle\Parser »
  • PHP Manual
  • Parle\RLexer
  • Reset lexer

Parle\RLexer::reset

(PECL parle >= 0.7.1)

Parle\RLexer::reset — Reset lexer

Açıklama

public Parle\RLexer::reset(int $pos): void

Reset lexing optionally supplying the desired offset.

Bağımsız Değişkenler

pos

Reset position.

Dönen Değerler

Hiçbir değer dönmez.


The Parle\Parser class

(PECL parle >= 0.5.1)

Giriş

Parser class. Rules can be defined on the fly. Once finalized, a Parle\Lexer instance is required to deliver the token stream.

Sınıf Sözdizimi

class Parle\Parser {
/* Sabitler */
const int ACTION_ERROR = 0;
const int ACTION_SHIFT = 1;
const int ACTION_REDUCE = 2;
const int ACTION_GOTO = 3;
const int ACTION_ACCEPT = 4;
const int ERROR_SYNTAX = 0;
const int ERROR_NON_ASSOCIATIVE = 1;
const int ERROR_UNKNOWN_TOKEN = 2;
/* Özellikler */
public int $action = 0;
public int $reduceId = 0;
/* Yöntemler */
public advance(): void
public build(): void
public consume(string $data, Parle\Lexer $lexer): void
public dump(): void
public errorInfo(): Parle\ErrorInfo
public left(string $tok): void
public nonassoc(string $tok): void
public precedence(string $tok): void
public push(string $name, string $rule): int
public reset(int $tokenId = ?): void
public right(string $tok): void
public sigil(int $idx): string
public sigilCount(): int
public sigilName(int $idx): string
public token(string $tok): void
public tokenId(string $tok): int
public trace(): string
public validate(string $data, Parle\Lexer $lexer): bool
}

Öntanımlı Sabitler

Parle\Parser::ACTION_ERROR

Parle\Parser::ACTION_SHIFT

Parle\Parser::ACTION_REDUCE

Parle\Parser::ACTION_GOTO

Parle\Parser::ACTION_ACCEPT

Parle\Parser::ERROR_SYNTAX

Parle\Parser::ERROR_NON_ASSOCIATIVE

Parle\Parser::ERROR_UNKNOWN_TOKEN

Özellikler

action

Current parser action that matches one of the action class constants, readonly.

reduceId

Grammar rule id just processed in the reduce action. The value corresponds either to a token or to a production id. Readonly.

İçindekiler

  • Parle\Parser::advance — Process next parser rule
  • Parle\Parser::build — Finalize the grammar rules
  • Parle\Parser::consume — Consume the data for processing
  • Parle\Parser::dump — Dump the grammar
  • Parle\Parser::errorInfo — Retrieve the error information
  • Parle\Parser::left — Declare a token with left-associativity
  • Parle\Parser::nonassoc — Declare a token with no associativity
  • Parle\Parser::precedence — Declare a precedence rule
  • Parle\Parser::push — Add a grammar rule
  • Parle\Parser::reset — Reset parser state
  • Parle\Parser::right — Declare a token with right-associativity
  • Parle\Parser::sigil — Retrieve a matching part of a rule
  • Parle\Parser::sigilCount — Number of elements in matched rule
  • Parle\Parser::sigilName — Retrieve a rule or token name
  • Parle\Parser::token — Declare a token
  • Parle\Parser::tokenId — Get token id
  • Parle\Parser::trace — Trace the parser operation
  • Parle\Parser::validate — Validate input


Process next parser rule

  • « Parle\Parser
  • Parle\Parser::build »
  • PHP Manual
  • Parle\Parser
  • Process next parser rule

Parle\Parser::advance

(PECL parle >= 0.5.1)

Parle\Parser::advance — Process next parser rule

Açıklama

public Parle\Parser::advance(): void

Process next parser rule.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Finalize the grammar rules

  • « Parle\Parser::advance
  • Parle\Parser::consume »
  • PHP Manual
  • Parle\Parser
  • Finalize the grammar rules

Parle\Parser::build

(PECL parle >= 0.5.1)

Parle\Parser::build — Finalize the grammar rules

Açıklama

public Parle\Parser::build(): void

Any tokens and grammar rules previously added are finalized. The rule set becomes readonly and the parser is ready to start.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Consume the data for processing

  • « Parle\Parser::build
  • Parle\Parser::dump »
  • PHP Manual
  • Parle\Parser
  • Consume the data for processing

Parle\Parser::consume

(PECL parle >= 0.5.1)

Parle\Parser::consume — Consume the data for processing

Açıklama

public Parle\Parser::consume(string $data, Parle\Lexer $lexer): void

Consume the data for parsing.

Bağımsız Değişkenler

data

Data to be parsed.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Dönen Değerler

Hiçbir değer dönmez.


Dump the grammar

  • « Parle\Parser::consume
  • Parle\Parser::errorInfo »
  • PHP Manual
  • Parle\Parser
  • Dump the grammar

Parle\Parser::dump

(PECL parle >= 0.5.1)

Parle\Parser::dump — Dump the grammar

Açıklama

public Parle\Parser::dump(): void

Dump the current grammar to stdout.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve the error information

  • « Parle\Parser::dump
  • Parle\Parser::left »
  • PHP Manual
  • Parle\Parser
  • Retrieve the error information

Parle\Parser::errorInfo

(PECL parle >= 0.5.1)

Parle\Parser::errorInfo — Retrieve the error information

Açıklama

public Parle\Parser::errorInfo(): Parle\ErrorInfo

Retrieve the error information in case Parle\Parser::action() returned the error action.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an instance of Parle\ErrorInfo.


Declare a token with left-associativity

  • « Parle\Parser::errorInfo
  • Parle\Parser::nonassoc »
  • PHP Manual
  • Parle\Parser
  • Declare a token with left-associativity

Parle\Parser::left

(PECL parle >= 0.5.1)

Parle\Parser::left — Declare a token with left-associativity

Açıklama

public Parle\Parser::left(string $tok): void

Declare a terminal with left associativity.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Declare a token with no associativity

  • « Parle\Parser::left
  • Parle\Parser::precedence »
  • PHP Manual
  • Parle\Parser
  • Declare a token with no associativity

Parle\Parser::nonassoc

(PECL parle >= 0.5.1)

Parle\Parser::nonassoc — Declare a token with no associativity

Açıklama

public Parle\Parser::nonassoc(string $tok): void

Declare a terminal, that cannot appear more than once in the row.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Declare a precedence rule

  • « Parle\Parser::nonassoc
  • Parle\Parser::push »
  • PHP Manual
  • Parle\Parser
  • Declare a precedence rule

Parle\Parser::precedence

(PECL parle >= 0.5.1)

Parle\Parser::precedence — Declare a precedence rule

Açıklama

public Parle\Parser::precedence(string $tok): void

Declares a precedence rule for a fictitious terminal symbol. This rule can be later used in the specific grammar rules.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Add a grammar rule

  • « Parle\Parser::precedence
  • Parle\Parser::reset »
  • PHP Manual
  • Parle\Parser
  • Add a grammar rule

Parle\Parser::push

(PECL parle >= 0.5.1)

Parle\Parser::push — Add a grammar rule

Açıklama

public Parle\Parser::push(string $name, string $rule): int

Push a grammar rule. The production id returned can be used later in the parsing process to identify the rule matched.

Bağımsız Değişkenler

name

Rule name.

rule

The rule to be added. The syntax is Bison compatible.

Dönen Değerler

Returns int representing the rule index.


Reset parser state

  • « Parle\Parser::push
  • Parle\Parser::right »
  • PHP Manual
  • Parle\Parser
  • Reset parser state

Parle\Parser::reset

(PECL parle >= 0.7.1)

Parle\Parser::reset — Reset parser state

Açıklama

public Parle\Parser::reset(int $tokenId = ?): void

Reset parser state using the given token id.

Bağımsız Değişkenler

tokenId

Token id.

Dönen Değerler

Hiçbir değer dönmez.


Declare a token with right-associativity

  • « Parle\Parser::reset
  • Parle\Parser::sigil »
  • PHP Manual
  • Parle\Parser
  • Declare a token with right-associativity

Parle\Parser::right

(PECL parle >= 0.5.1)

Parle\Parser::right — Declare a token with right-associativity

Açıklama

public Parle\Parser::right(string $tok): void

Declare a terminal with right associativity.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve a matching part of a rule

  • « Parle\Parser::right
  • Parle\Parser::sigilCount »
  • PHP Manual
  • Parle\Parser
  • Retrieve a matching part of a rule

Parle\Parser::sigil

(PECL parle >= 0.5.1)

Parle\Parser::sigil — Retrieve a matching part of a rule

Açıklama

public Parle\Parser::sigil(int $idx): string

Retrieve a part of the match by a rule. This method is equivalent to the pseudo variable functionality in Bison.

Bağımsız Değişkenler

idx

Match index, zero based.

Dönen Değerler

Returns a string with the matched part.


Number of elements in matched rule

  • « Parle\Parser::sigil
  • Parle\Parser::sigilName »
  • PHP Manual
  • Parle\Parser
  • Number of elements in matched rule

Parle\Parser::sigilCount

(PECL parle >= 0.8.4)

Parle\Parser::sigilCount — Number of elements in matched rule

Açıklama

public Parle\Parser::sigilCount(): int

Get number of elements in the matched rule.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int


Retrieve a rule or token name

  • « Parle\Parser::sigilCount
  • Parle\Parser::token »
  • PHP Manual
  • Parle\Parser
  • Retrieve a rule or token name

Parle\Parser::sigilName

(PECL parle >= 0.8.4)

Parle\Parser::sigilName — Retrieve a rule or token name

Açıklama

public Parle\Parser::sigilName(int $idx): string

Retrieve a partial rule name or token name corresponding to the sigil index.

Bağımsız Değişkenler

idx

Match index, zero based.

Dönen Değerler

Returns a string with the matched part.


Declare a token

  • « Parle\Parser::sigilName
  • Parle\Parser::tokenId »
  • PHP Manual
  • Parle\Parser
  • Declare a token

Parle\Parser::token

(PECL parle >= 0.5.1)

Parle\Parser::token — Declare a token

Açıklama

public Parle\Parser::token(string $tok): void

Declare a terminal to be used in the grammar.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Get token id

  • « Parle\Parser::token
  • Parle\Parser::trace »
  • PHP Manual
  • Parle\Parser
  • Get token id

Parle\Parser::tokenId

(PECL parle >= 0.5.1)

Parle\Parser::tokenId — Get token id

Açıklama

public Parle\Parser::tokenId(string $tok): int

Retrieve the id of the named token.

Bağımsız Değişkenler

tok

Name of the token as used in Parle\Parser::token().

Dönen Değerler

Returns int representing the token id.


Trace the parser operation

  • « Parle\Parser::tokenId
  • Parle\Parser::validate »
  • PHP Manual
  • Parle\Parser
  • Trace the parser operation

Parle\Parser::trace

(PECL parle >= 0.5.1)

Parle\Parser::trace — Trace the parser operation

Açıklama

public Parle\Parser::trace(): string

Retrieve the current parser operation description. This can be especially useful for studying the parser and to optimize the grammar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string with the trace information.


Validate input

  • « Parle\Parser::trace
  • Parle\RParser »
  • PHP Manual
  • Parle\Parser
  • Validate input

Parle\Parser::validate

(PECL parle >= 0.5.1)

Parle\Parser::validate — Validate input

Açıklama

public Parle\Parser::validate(string $data, Parle\Lexer $lexer): bool

Validate an input string. The string is parsed internally, thus this method is useful for the quick input validation.

Bağımsız Değişkenler

data

String to be validated.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Dönen Değerler

Returns bool witnessing whether the input chimes or not with the defined rules.


The Parle\RParser class

(PECL parle >= 0.7.0)

Giriş

Parser class. Rules can be defined on the fly. Once finalized, a Parle\RLexer instance is required to deliver the token stream.

Sınıf Sözdizimi

class Parle\RParser {
/* Sabitler */
const int ACTION_ERROR = 0;
const int ACTION_SHIFT = 1;
const int ACTION_REDUCE = 2;
const int ACTION_GOTO = 3;
const int ACTION_ACCEPT = 4;
const int ERROR_SYNTAX = 0;
const int ERROR_NON_ASSOCIATIVE = 1;
const int ERROR_UNKNOWN_TOKEN = 2;
/* Özellikler */
public int $action = 0;
public int $reduceId = 0;
/* Yöntemler */
public advance(): void
public build(): void
public consume(string $data, Parle\RLexer $rlexer): void
public dump(): void
public errorInfo(): Parle\ErrorInfo
public left(string $tok): void
public nonassoc(string $tok): void
public precedence(string $tok): void
public push(string $name, string $rule): int
public reset(int $tokenId = ?): void
public right(string $tok): void
public sigil(int $idx = ?): string
public sigilCount(): int
public sigilName(int $idx): string
public token(string $tok): void
public tokenId(string $tok): int
public trace(): string
public validate(string $data, Parle\RLexer $lexer): bool
}

Öntanımlı Sabitler

Parle\RParser::ACTION_ERROR

Parle\RParser::ACTION_SHIFT

Parle\RParser::ACTION_REDUCE

Parle\RParser::ACTION_GOTO

Parle\RParser::ACTION_ACCEPT

Parle\RParser::ERROR_SYNTAX

Parle\RParser::ERROR_NON_ASSOCIATIVE

Parle\RParser::ERROR_UNKNOWN_TOKEN

Özellikler

action

Current parser action that matches one of the action class constants, readonly.

reduceId

Grammar rule id just processed in the reduce action. The value corresponds either to a token or to a production id. Readonly.

İçindekiler

  • Parle\RParser::advance — Process next parser rule
  • Parle\RParser::build — Finalize the grammar rules
  • Parle\RParser::consume — Consume the data for processing
  • Parle\RParser::dump — Dump the grammar
  • Parle\RParser::errorInfo — Retrieve the error information
  • Parle\RParser::left — Declare a token with left-associativity
  • Parle\RParser::nonassoc — Declare a token with no associativity
  • Parle\RParser::precedence — Declare a precedence rule
  • Parle\RParser::push — Add a grammar rule
  • Parle\RParser::reset — Reset parser state
  • Parle\RParser::right — Declare a token with right-associativity
  • Parle\RParser::sigil — Retrieve a matching part of a rule
  • Parle\RParser::sigilCount — Number of elements in matched rule
  • Parle\RParser::sigilName — Retrieve a rule or token name
  • Parle\RParser::token — Declare a token
  • Parle\RParser::tokenId — Get token id
  • Parle\RParser::trace — Trace the parser operation
  • Parle\RParser::validate — Validate input


Process next parser rule

  • « Parle\RParser
  • Parle\RParser::build »
  • PHP Manual
  • Parle\RParser
  • Process next parser rule

Parle\RParser::advance

(PECL parle >= 0.7.0)

Parle\RParser::advance — Process next parser rule

Açıklama

public Parle\RParser::advance(): void

Prosess next parser rule.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Finalize the grammar rules

  • « Parle\RParser::advance
  • Parle\RParser::consume »
  • PHP Manual
  • Parle\RParser
  • Finalize the grammar rules

Parle\RParser::build

(PECL parle >= 0.7.0)

Parle\RParser::build — Finalize the grammar rules

Açıklama

public Parle\RParser::build(): void

Any tokens and grammar rules previously added are finalized. The rule set becomes readonly and the parser is ready to start.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Consume the data for processing

  • « Parle\RParser::build
  • Parle\RParser::dump »
  • PHP Manual
  • Parle\RParser
  • Consume the data for processing

Parle\RParser::consume

(PECL parle >= 0.7.0)

Parle\RParser::consume — Consume the data for processing

Açıklama

public Parle\RParser::consume(string $data, Parle\RLexer $rlexer): void

Consume the data for parsing.

Bağımsız Değişkenler

data

Data to be parsed.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Dönen Değerler

Hiçbir değer dönmez.


Dump the grammar

  • « Parle\RParser::consume
  • Parle\RParser::errorInfo »
  • PHP Manual
  • Parle\RParser
  • Dump the grammar

Parle\RParser::dump

(PECL parle >= 0.7.0)

Parle\RParser::dump — Dump the grammar

Açıklama

public Parle\RParser::dump(): void

Dump the current grammar to stdout.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve the error information

  • « Parle\RParser::dump
  • Parle\RParser::left »
  • PHP Manual
  • Parle\RParser
  • Retrieve the error information

Parle\RParser::errorInfo

(PECL parle >= 0.7.0)

Parle\RParser::errorInfo — Retrieve the error information

Açıklama

public Parle\RParser::errorInfo(): Parle\ErrorInfo

Retrieve the error information in case Parle\RParser::action() returned the error action.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an instance of Parle\ErrorInfo.


Declare a token with left-associativity

  • « Parle\RParser::errorInfo
  • Parle\RParser::nonassoc »
  • PHP Manual
  • Parle\RParser
  • Declare a token with left-associativity

Parle\RParser::left

(PECL parle >= 0.7.0)

Parle\RParser::left — Declare a token with left-associativity

Açıklama

public Parle\RParser::left(string $tok): void

Declare a terminal with left associativity.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Declare a token with no associativity

  • « Parle\RParser::left
  • Parle\RParser::precedence »
  • PHP Manual
  • Parle\RParser
  • Declare a token with no associativity

Parle\RParser::nonassoc

(PECL parle >= 0.7.0)

Parle\RParser::nonassoc — Declare a token with no associativity

Açıklama

public Parle\RParser::nonassoc(string $tok): void

Declare a terminal, that cannot appear more than once in the row.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Declare a precedence rule

  • « Parle\RParser::nonassoc
  • Parle\RParser::push »
  • PHP Manual
  • Parle\RParser
  • Declare a precedence rule

Parle\RParser::precedence

(PECL parle >= 0.7.0)

Parle\RParser::precedence — Declare a precedence rule

Açıklama

public Parle\RParser::precedence(string $tok): void

Declares a precedence rule for a fictious terminal symbol. This rule can be later used in the specific grammar rules.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Add a grammar rule

  • « Parle\RParser::precedence
  • Parle\RParser::reset »
  • PHP Manual
  • Parle\RParser
  • Add a grammar rule

Parle\RParser::push

(PECL parle >= 0.7.0)

Parle\RParser::push — Add a grammar rule

Açıklama

public Parle\RParser::push(string $name, string $rule): int

Push a grammar rule. The production id returned can be used later in the parsing process to identify the rule matched.

Bağımsız Değişkenler

name

Rule name.

rule

The rule to be added. The syntax is Bison compatible.

Dönen Değerler

Returns int representing the rule index.


Reset parser state

  • « Parle\RParser::push
  • Parle\RParser::right »
  • PHP Manual
  • Parle\RParser
  • Reset parser state

Parle\RParser::reset

(PECL parle >= 0.7.1)

Parle\RParser::reset — Reset parser state

Açıklama

public Parle\RParser::reset(int $tokenId = ?): void

Reset parser state using the given token id.

Bağımsız Değişkenler

tokenId

Token id.

Dönen Değerler

Hiçbir değer dönmez.


Declare a token with right-associativity

  • « Parle\RParser::reset
  • Parle\RParser::sigil »
  • PHP Manual
  • Parle\RParser
  • Declare a token with right-associativity

Parle\RParser::right

(PECL parle >= 0.7.0)

Parle\RParser::right — Declare a token with right-associativity

Açıklama

public Parle\RParser::right(string $tok): void

Declare a terminal with right associativity.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Retrieve a matching part of a rule

  • « Parle\RParser::right
  • Parle\RParser::sigilCount »
  • PHP Manual
  • Parle\RParser
  • Retrieve a matching part of a rule

Parle\RParser::sigil

(PECL parle >= 0.7.0)

Parle\RParser::sigil — Retrieve a matching part of a rule

Açıklama

public Parle\RParser::sigil(int $idx = ?): string

Retrieve a part of the match by a rule. This method is equivalent to the pseudo variable functionality in Bison.

Bağımsız Değişkenler

idx

Match index, zero based.

Dönen Değerler

Returns a string with the matched part.


Number of elements in matched rule

  • « Parle\RParser::sigil
  • Parle\RParser::sigilName »
  • PHP Manual
  • Parle\RParser
  • Number of elements in matched rule

Parle\RParser::sigilCount

(PECL parle >= 0.8.4)

Parle\RParser::sigilCount — Number of elements in matched rule

Açıklama

public Parle\RParser::sigilCount(): int

Get number of elements in the matched rule.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns int


Retrieve a rule or token name

  • « Parle\RParser::sigilCount
  • Parle\RParser::token »
  • PHP Manual
  • Parle\RParser
  • Retrieve a rule or token name

Parle\RParser::sigilName

(PECL parle >= 0.8.4)

Parle\RParser::sigilName — Retrieve a rule or token name

Açıklama

public Parle\RParser::sigilName(int $idx): string

Retrieve a partial rule name or token name corresponding to the sigil index.

Bağımsız Değişkenler

idx

Match index, zero based.

Dönen Değerler

Returns a string with the matched part.


Declare a token

  • « Parle\RParser::sigilName
  • Parle\RParser::tokenId »
  • PHP Manual
  • Parle\RParser
  • Declare a token

Parle\RParser::token

(PECL parle >= 0.7.0)

Parle\RParser::token — Declare a token

Açıklama

public Parle\RParser::token(string $tok): void

Declare a terminal to be used in the grammar.

Bağımsız Değişkenler

tok

Token name.

Dönen Değerler

Hiçbir değer dönmez.


Get token id

  • « Parle\RParser::token
  • Parle\RParser::trace »
  • PHP Manual
  • Parle\RParser
  • Get token id

Parle\RParser::tokenId

(PECL parle >= 0.7.0)

Parle\RParser::tokenId — Get token id

Açıklama

public Parle\RParser::tokenId(string $tok): int

Retrieve the id of the named token.

Bağımsız Değişkenler

tok

Name of the token as used in Parle\RParser::token().

Dönen Değerler

Returns int representing the token id.


Trace the parser operation

  • « Parle\RParser::tokenId
  • Parle\RParser::validate »
  • PHP Manual
  • Parle\RParser
  • Trace the parser operation

Parle\RParser::trace

(PECL parle >= 0.7.0)

Parle\RParser::trace — Trace the parser operation

Açıklama

public Parle\RParser::trace(): string

Retrieve the current parser operation description. This can be especially useful to study the parser and to optimize the grammar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string with the trace information.


Validate input

  • « Parle\RParser::trace
  • Parle\Stack »
  • PHP Manual
  • Parle\RParser
  • Validate input

Parle\RParser::validate

(PECL parle >= 0.7.0)

Parle\RParser::validate — Validate input

Açıklama

public Parle\RParser::validate(string $data, Parle\RLexer $lexer): bool

Validate an input string. The string is parsed internally, thus this method is useful for the quick input validation.

Bağımsız Değişkenler

data

String to be validated.

lexer

A lexer object containing the lexing rules prepared for the particular grammar.

Dönen Değerler

Returns bool whitnessing whether the input chimes or not with the defined rules.


The Parle\Stack class

(PECL parle >= 0.7.0)

Giriş

Parle\Stack is a LIFO stack. The elements are inserted and removed only from one end.

Sınıf Sözdizimi

class Parle\Stack {
/* Özellikler */
public bool $empty = true;
public int $size = 0;
public mixed $top;
/* Yöntemler */
public pop(): void
public push(mixed $item): void
}

Özellikler

empty

Whether the stack is empty, readonly.

size

Stack size, readonly.

top

Element on the top of the stack.

İçindekiler

  • Parle\Stack::pop — Pop an item from the stack
  • Parle\Stack::push — Push an item into the stack


Pop an item from the stack

  • « Parle\Stack
  • Parle\Stack::push »
  • PHP Manual
  • Parle\Stack
  • Pop an item from the stack

Parle\Stack::pop

(PECL parle >= 0.5.1)

Parle\Stack::pop — Pop an item from the stack

Açıklama

public Parle\Stack::pop(): void

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.


Push an item into the stack

  • « Parle\Stack::pop
  • Parle\Token »
  • PHP Manual
  • Parle\Stack
  • Push an item into the stack

Parle\Stack::push

(PECL parle >= 0.5.1)

Parle\Stack::push — Push an item into the stack

Açıklama

public Parle\Stack::push(mixed $item): void

Bağımsız Değişkenler

item

Variable to be pushed.

Dönen Değerler

Hiçbir değer dönmez.


The Parle\Token class

(PECL parle >= 0.5.2)

Giriş

This class represents a token. Lexer returns instances of this class.

Sınıf Sözdizimi

class Parle\Token {
/* Sabitler */
const int EOI = 0;
const int UNKNOWN = -1;
const int SKIP = -2;
/* Özellikler */
public int $id;
public string $value;
/* Yöntemler */
}

Özellikler

id

Token id.

value

Token value.

Öntanımlı Sabitler

Parle\Token::EOI

End of input token id.

Parle\Token::UNKNOWN

Unknown token id.

Parle\Token::SKIP

Skip token id.


The Parle\ErrorInfo class

(PECL parle >= 0.5.2)

Giriş

The class represents detailed error information as supplied by Parle\Parser::errorInfo()

Sınıf Sözdizimi

class Parle\ErrorInfo {
/* Özellikler */
public int $id;
public int $position;
public mixed $token;
/* Yöntemler */
}

Özellikler

id

Error id.

position

Position in the input, where the error occurred.

token

If applicable - the Parle\Token related to the error, otherwise null.


The Parle\LexerException class

(PECL parle >= 0.5.1)

Giriş

Sınıf Sözdizimi

class Parle\LexerException extends Exception implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


The Parle\ParserException class

(PECL parle >= 0.5.1)

Giriş

Sınıf Sözdizimi

class Parle\ParserException extends Exception implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Perl Uyumlu Düzenli İfadeler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • PCRE Şablonları
    • Şablon Sözdizimi — PCRE düzenli ifade sözdizimi
    • Şablon Değiştiricileri — Düzenli ifadeler için kullanılabilecek değiştiriciler
    • Perl ile Farklar — Perl'e göre farklılıklar
  • PCRE İşlevleri
    • preg_filter — Bir düzenli ifade arama ve değiştirmesi yapar
    • preg_grep — Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür
    • preg_last_error_msg — Son PCRE düzenli ifade işleminin hata iletisini döndürür
    • preg_last_error — Son PCRE düzenli ifade aramasından dönen hatayı döndürür
    • preg_match_all — Kapsamlı bir düzenli ifade eşleştirmesi yapar
    • preg_match — Bir düzenli ifadeyi eşleştirmeye çalışır
    • preg_quote — Düzenli ifadelerin özel karakterlerini önceler
    • preg_replace_callback_array — Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar
    • preg_replace_callback — Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
    • preg_replace — Düzenli ifadeye göre dizgede değişiklik yapar
    • preg_split — Dizgeyi düzenli ifadeye göre böler


Giriş

Bu işlevlerde kullanılan şablonların sözdizimi Perl düzenli ifade şablonlarınınkine çok benzer. Örneğin, ifadenin bir ayraçla (bir bölü çizgisi) sarmalanması gerekir. Tersbölü çizgisi ve 0. karakter haricinde her karakter ayraç olarak kullanılabilir. Eğer ayraç karakteri, ifadenin içinde kullanılmışsa bir tersbölü çizgisi ile öncelenmesi gerekir. Perl tarzı (), {}, [] ve <> ayraç çiftleri kullanılabilmektedir. Daha ayrıntılı bilgi için Şablon Sözdizimi bölümüne bakınız.

Sonlandırıcı ayracın ardına eşleşmeyi etkileyen çeşitli değiştiriciler eklenebilir. Daha ayrıntılı bilgi için Şablon Değiştiricileri bölümüne bakınız.

Bilginize:

Bu eklenti her evre için ayrı bir derlenmiş düzenli ifade önbelleği (en fazla 4096 bayt) tutar.

Uyarı

PCRE ile ilgili bir takım kısıtlamalar hakkında bilgi sahibi olmalısınız. Daha ayrıntılı bilgi için » http://www.pcre.org/pcre.txt adresine bakınız.

PCRE kütüphanesi, düzenli ifade şablonlarını bir kaç küçük fark dışında, Perl 5 ile aynı sözdizimini ve aynı anlamsallığı kullanarak gerçekler. Şu anki gerçeklenim Perl 5.005 sürümüne karşılık gelir.


Kurulum

PCRE eklentisi çekirdek PHP eklentilerinden biri olup öntanımlı olarak etkindir. Bu eklenti öntanımlı olarak, PHP paketinde gelen PCRE kütüphanesi kullanılarak derlenir. Eğer PHP dağıtımı ile gelen kütüphaneyi kullanmayacaksanız kullanacağınız kütüphanenin yerini --with-pcre-regex=DiZiN seçeneği ile belirtebilirsiniz.

PHP 7.0.12 itibariyle, PCRE'nin tam-zamanında derlemesi öntanımlı olarak desteklenmekte olup --without-pcre-jit yapılandırma seçeneği kullanılarak bu iptal edilebilir

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.

PCRE etkin bir proje olup PHP'nin işlevselliği bu değişikliklerden etkilenir. PCRE'nin en yeni özellikleri PHP belgelerine zamanında aktarılamadığından belgeler kısmen güncel olmayabilir. Değişikliklerin listesini » PCRE kütüphanesi değişiklik günlüğünde bulabilirsiniz. PHP ile dağıtılan PCRE sürümleri aşağıda listelenmiştir:

PHP ile dağıtılan PCRE kütüphanesinin güncelleme geçmişi
PHP Sürümü | Güncel PCRE Sürümü | Açıklama
8.2.0 | 10.40 |
8.1.0 | 10.39 |
7.4.12, 8.0.0 | 10.35 |
7.4.6 | 10.34 |
7.4.0 | 10.33 |
7.3.0 | 10.32 |
7.2.0 | 8.41 |
7.0.3 | 8.38 | Bkz CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394
7.0.0 | 8.37 | Bkz CVE-2015-2325, CVE-2015-2326


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

PCRE Yapılandırma Yönergeleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
pcre.backtrack_limit | "1000000" | PHP_INI_ALL |
pcre.recursion_limit | "100000" | PHP_INI_ALL |
pcre.jit | "1" | PHP_INI_ALL |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

pcre.backtrack_limit int

PCRE'nin geriye doğru izleme sınırı. PHP < 5.3.7 için öntanımlı değer: 100000

pcre.recursion_limit int

PCRE'nin içi içelik sınırı. Bu değeri yüksekçe bir sayıya ayarlarsanız kullanılabilecek tüm yığıtın harcanıp PHP'nin çökmesine sebep olabilirsiniz (Yığıt boyutunu işletim sistemi belirler ve yığıt taşınca PHP çöker).

pcre.jit bool

PCRE'nin tam kullanım anında derlenip derlenmeyeceğini belirler.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

PCRE Sabitleri
Sabitler | Açıklama
PREG_PATTERN_ORDER (int) | Sonuçlar sıralanır. Yani, $eşleşen[0] şablonla eşleşen dizgenin tamamını, $eşleşen[1] ilk parantezli grupla eşleşen alt dizgeyi, $eşleşen[2] ikincisini, vb. içerir. Bu seçenek sadece preg_match_all() işlevi ile kullanılır.
PREG_SET_ORDER (int) | Sonuçlar sıralanır. Yani, $eşleşen[0] şablonla eşleşen ilk kümeyi, $eşleşen[2] ikincisini, vb. içerir. Bu seçenek sadece preg_match_all() işlevi ile kullanılır.
PREG_OFFSET_CAPTURE (int) | PREG_SPLIT_OFFSET_CAPTURE sabitinin açıklamasına bakın.
PREG_SPLIT_NO_EMPTY (int) | Bu seçenek preg_split() işlevinin sadece boş olmayan parçaları döndürmesini sağlar.
PREG_SPLIT_DELIM_CAPTURE (int) | Bu seçenek preg_split() işlevinin ayraçlı şablon içindeki parantezli grupları da yakalamasını sağlar
PREG_SPLIT_OFFSET_CAPTURE (int) | Bu seçenek etkinse, her eşleşmede ayrıca sona eklenen dizgenin başlangıcı da döndürülür. Bu, dizi içindeki dönüş değerini değiştirir. Böylece dizinin her elemanı 0. başlangıçtan itibaren eşleşen dizgeyi ve 1. başlangıca konu dizge başlangıcını içeren bir dizi içerir. Bu seçenek sadece preg_split() için kullanılabilmektedir.
PREG_UNMATCHED_AS_NULL (int) | Bu seçenek preg_match() ve preg_match_all() işlevlerinin eşleşmeyen alt şablonların $eşleşmeler içinde null değerlerle içerileceğini belirtir. Bu bayrak olmaksızın eşleşmeyen alt şablonlar boş eşleşmelermiş gibi boş dizgeler olarak raporlanır. Bu bayrak bu iki durumun ayırd edilebilmesini sağlar. Bu seçenek PHP 7.2.0'dan beri kullanılabilmektedir.
PREG_NO_ERROR (int) | Hiçbir hata oluşmamışsa preg_last_error() işlevi tarafından döndürülür.
PREG_INTERNAL_ERROR (int) | Dahili bir PCRE hatası oluşmuşsa preg_last_error() işlevi tarafından döndürülür.
PREG_BACKTRACK_LIMIT_ERROR | Bu seçenek, geriye doğru izleme sınırına ulaşılmışsa preg_last_error() işlevi tarafından döndürülür.
PREG_RECURSION_LIMIT_ERROR (int) | Bu seçenek, iç içelik sınırına ulaşılmışsa preg_last_error() işlevi tarafından döndürülür.
PREG_BAD_UTF8_ERROR (int) | Son hata bozuk bir UTF-8 verisinden kaynaklanmışsa bu seçenek preg_last_error() işlevi tarafından döndürülür. (Bu sadece düzenli ifade UTF-8 kipinde çalışıyorsa mümkündür.)
PREG_BAD_UTF8_OFFSET_ERROR (int) | Başlangıç, geçerli bir UTF-8 kodun başlangıcı değilse bu seçenek preg_last_error() işlevi tarafından döndürülür. (Bu sadece düzenli ifade UTF-8 kipinde çalışıyorsa mümkündür.)
PREG_JIT_STACKLIMIT_ERROR (int) | Sınırlı JIT yığıt alanından dolayı son PCRE işlevi başarısız olmuşsa preg_last_error() işlevinden bu sabit döner.
PCRE_VERSION (int) | PCRE sürümü ve dağıtım tarihi ("7.0 18-Dec-2006" gibi).


Örnekler

Örnek 1 - Geçerli şablon örnekleri

  • /<\/\w+>/
  • |(\d{3})-\d+|Sm
  • /^(?i)php[34]/
  • {^\s+(\s+)?$}

Örnek 2 - Geçersiz şablon örnekleri

  • /href='(.*)' - son ayraç eksik
  • /\w+\s*\w+/J - 'J' diye bir değiştirici bilinmiyor
  • 1-\d3-\d3-\d4| - ilk ayraç eksik


PCRE Şablonları

İçindekiler

  • Şablon Sözdizimi
  • Şablon Değiştiricileri
  • Perl ile Farklar


PCRE düzenli ifade sözdizimi

İçindekiler

  • Giriş
  • Ayırıcılar
  • Düzenli ifade İşleçleri
  • Önceleme karakteri
  • Unicode Karakterlerinini Özellikleri
  • Çıpalar - Şapka ve Dolar İmi
  • Nokta
  • Karakter Sınıfları - Köşeli Ayraçlar
  • Değişim - Boru Karakteri
  • Dahili Seçeneklerin Ayarlanması
  • Alt Şablonlar
  • Yineleme
  • Geriye Gönderimler
  • Tezler
  • Sadece bir kerelik alt şablonlar
  • Koşullu alt şablonlar
  • Açıklamalar
  • İç içe şablonlar
  • Başarım


Giriş

PCRE tarafından desteklenen düzenli ifadelerin sözdizimi ve anlamları aşağıda açıklanmıştır. Düzenli ifadeler ayrıca Perl belgelerinde ve pek çok kitapta bol sayıda örneklerle açıklanmıştır. O'Reilly tarafından yayınlanan Friedl'ın "Mastering Regular Expressions" kitabı (ISBN 1-56592-257-3) oldukça ayrıntılıdır. Buradaki açıklamalar bir başvuru kılavuzu niteliğindedir.

Bir düzenli ifade eşleştirileceği dizgeye soldan sağa uygulanan bir şablondur. Çoğu karakter bir şablonun içinde sadece kendilerini ifade ederler ve şablonun eşleştirildiği dizgedeki karşılıkları ile eşleşirler. Önemsiz bir örnek olarak The quick brown fox şablonu kendisiyle aynı olan dizgeyle eşleşecektir.


Ayırıcılar

PCRE işlevlerini kullanırken şablonların ayırıcılar arasına alınması gerekir. Ayırıcılar tersbölü imi ve boşluk karakterleri hariç herhangi bir abecesayısal karakter olabilir. Geçerli bir ayırıcıdan önceki baştaki boşluklar sessizce yok sayılır.

Sıkça kullanılan ayırıcılar şunlardır: Bölü çizgisi (/), diyez imi (#) yaklaşık imi (~). Aşağıda, şablonlarda ayırıcı kullanımı ile örneklere yer verilmiştir.

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

Açma ve kapama parantezlerinin sırasıyla başlangıç ve bitiş sınırlayıcısı olduğu köşeli parantez tarzı sınırlayıcıları da kullanmak mümkündür. (), {}, [] ve <> çiftlerinin tümü, geçerli köşeli ayraç tarzı sınırlayıcı çiftleridir.

(this [is] a (pattern))
{this [is] a (pattern)}
[this [is] a (pattern)]
<this [is] a (pattern)>
Köşeli ayraç stili sınırlayıcılarının, kalıp içinde meta karakterler olarak kullanıldıklarında öncelenmesi gerekmez, ancak diğer sınırlayıcılarda olduğu gibi, değişmez karakterler olarak kullanıldıklarında bunların da öncelenmesi gerekir.

Sınırlayıcının kalıp içinde eşleştirilmesi gerekiyorsa, tersbölü çizgisi kullanılarak öncelenmesi gerekir. Sınırlayıcı sık sık kalıbın içinde görünüyorsa, okunabilirliği artırmak için başka bir sınırlayıcı seçmek daha iyidir.

/http:\/\//
#http://#
preg_quote() işlevi, bir bir kalıba yerleştirmek için bir dizeyi öncelemekte kullanılabilirve isteğe bağlı ikinci bağımsız değişkeni, öncelenecek sınırlayıcıyı belirtmek için kullanılabilir.

Şablonu sonalndıran ayırıcının ardına bir şablon değiştircisi eklemek de mümkündür. Aşağıda, harf büyüklüğüne duyarsız eşleşmeyle ilgili bir örnek vardır:

#[a-z]#i


Düzenli ifade İşleçleri

Düzenli ifadelerin gücü, şablon içinde yinelemeler ve ikameler içerme yeteneğinden kaynaklanır. Bunlar şablon içinde düzenli ifade işleçleri adı verilen ve özel bir şekilde yorumlanan ancak doğrudan kendileriyle eşleşmeyen karakterlerle kodlanırlar.

İki ayrı işleç ailesi vardır: Köşeli ayraçların içindekiler ve dışındakiler. Köşeli ayraçların dışındaki işleçler şunlardır:

Köşeli ayraçların dışındaki düzenli ifade işleçleri
İşleç | Açıklama
\ | çeşitli kullanımları olan genel önceleme karakteri
^ | konu başlangıcıyla eşleşme işleci (satır kipinde veya çok satırlı kipte)
$ | konu sonuyla eşleşme işleci (satır kipinde veya çok satırlı kipte)
. | (öntanımlı olarak) satırsonu hariç herhangi bir karakterle eşleşme işleci
[ | Karakter sınıfı tanımı başlatma işleci
] | Karakter sınıfı tanımı bitirme işleci
| | VEYA işleci
( | alt kalıp başlatma işleci
) | alt kalıp bitirme işleci
? | "(" işlecinin anlamını genişletir; 0 veya 1 kere eşleşir, ayrıca açgözlülüğe son verilir. (bkz. Yineleme)
* | 0 veya daha fazlasıyla eşleşme işleci
+ | 1 veya daha fazlasıyla eşleşme işleci
{ | en küçük/en büyük ile eşleşme başlatma işleci
} | en küçük/en büyük ile eşleşme bitirme işleci
Köşeli ayraçların içinde kalan kısım karakter sınıfı adını alır. Bir karakter sınıfı içinde özel anlamı olan işleçler şunlardır:
Köşeli ayraçların içindeki düzenli ifade işleçleri (karakter sınıfları)
İşleç | Açıklama
\ | genel önceleme karakteri
^ | sınıfın ilk karakteri olduğu takdirde sınıfla eşleşmeme işleci
- | karakter aralığı işleci
Aşağıdaki bölümlerde bu işleçlerin kullanımı ayrı ayrı açıklanmıştır.


Önceleme karakteri

Tersbölü karakterinin çeşitli kullanımları vardır. Tersbölünün ilk kullanım çeşidinde, bir harfin veya bir rakamın soluna konmuşsa karakterin özel anlamını kaldırır; karakter sınıflarının içinde ve dışında bir önceleme karakteri olarak iş görür.

Örneğin, şablonunuzun "*" karakteri ile eşleşmesini isterseniz, şablonu "\*" biçiminde yazmalısınız. Tersbölü karakterinin öncelediği karakter bir düzenli ifade işleci olsun ya da olmasın yorumu değişmeyecek, daima öncelediği karakter kendisiyle eşleşecektir. Sonuç olarak, önceleme işleci harf veya rakam olmayan karakterlerle de güvenle kullanılabilmektedir. Özellikle, bir tersbölü karakteri ile eşleşme sağlamak için "\\" yazmalısınız.

Bilginize:

Tek ve çift tırnaklı PHP dizeleri içinde tersbölü karakteri özel olarak ele alınır. Bir \ ile eşleşen \\ düzenli ifadesi, PHP kodu içinde "\\\\" veya '\\\\' olarak belirtilmelidir.

Bir şablon PCRE_EXTENDED seçeneği ile derlenmişse kalıp içindeki (bir karakter sınıfının dışında kalan) boşluk karakterleri ve bir karakter sınıfının dışındaki bir "#" karakteri ile sonraki satırsonu karakteri arasındaki karakterler yok sayılır. Bir boşluk veya "#" karakterini şablonun parçası haline getirmek için, karakter tersbölü ile öncelenir.

Tersbölü karakterinin ikinci kullanımı, basılamayan karakterleri şablon içinde görünür kılmak içindir. İkil sıfırın şablonu sonlandırması dışında basılamayan karakterlerin görünümü ile ilgili bir kısıtlama yoktur. Fakat, bir şablon, bir metni düzenleyerek hazırlanıyorsa aşağıdaki önceleme dizilimlerini kullanmak, ifade ettikleri ikil karakterleri kullanmaktan daha kolaydır:

\a
sesli uyarı, yani BEL karakteri (onaltılık 07)
\cx
"CTRL-x"; buradaki x yerine herhangi bir karakter konabilir
\e
kaçış karakteri (onaltılık 1B)
\f
sayfa ileri (onaltılık 0C)
\n
satırsonu (onaltılık 0A)
\p{xx}
xx özellikli bir karakter, daha fazla bilgi için bkz. unicode özellikleri.
\P{xx}
xx özelliksiz bir karakter, daha fazla bilgi için bkz. unicode özellikleri.
\r
satırbaşı (onaltılık 0D)
\R
satırsonu:\n, \r ve \r\n ile eşleşir
\t
sekme (onaltılık 09)
\xhh
onaltılık kodu hh olan karakter
\ddd
sekizlik kodu ddd olan karakter veya bir geriye gönderim

"\cx" diziliminin en hassas etkisi şöyledir: "x" bir küçük harf ise büyük harfe dönüştürülür ve karakterin 6. biti (onaltılık 40) evrilir. Böylece, "\cz" dizilimi onaltılık 1A haline gelirken "\c{" onaltılık 3B ve "\c;" onaltılık 7B haline gelir.

"\x" dizilimden sonra en fazla iki onaltılık rakam okunur (harfler büyük veya küçük olabilir). UTF-8 kipinde, "\x{...}" gösterimine izin verilir; kaşlı ayraçların arasına yazılan onaltılık sayı UTF-8 karakterin kodu olarak yorumlanır. Özgün onaltılık önceleme dizilimi \xhh, eğer karakterin kodu 127'den büyükse iki baytlık bir UTF-8 karakteri ile eşleşecektir.

"\0" dizilimden sonra en fazla iki sekizlik rakam okunur. Her iki durumda da, iki rakamdan azı varsa olanlar kullanılır. Böylece, "\0\x\07" dizilimi iki ikil sıfırdan sonra bir BEL karakteri olarak yorumlanır. Eğer sekizlik gösterimin hemen ardından sekizlik rakam olarak yorumlanabilecek bir karakter geliyorsa ilk sıfırdan sonra mutlaka iki sekizlik rakam kullanın.

Tersbölünün hemen ardından 0 haricinde bir rakam gelmesi durumunda durum biraz karışır. Bir karakter sınıfının dışında, PCRE o rakamı ve diğer rakamları bir onluk sayı olarak okur. Eğer sayı 10'dan küçükse veya evvelce belirtilmiş yakalayan alt şablonlar varsa dizilimin tamamı bir geriye gönderim olarak ele alınır. İkinci durumun nasıl çalıştığı aşağıda parantezli alt şablonların açıklamasında anlatılmıştır.

Bir karakter sınıfının içinde veya evvelinde yakalayan alt şablonlar bulunmayan 9'dan büyük bir onluk sayı varlığında PCRE tersbölüden sonra en fazla üç sekizlik rakam okur ve değerin en önemsiz 8 bitinden tek bir bayt üretir. Daha sonraki rakamlar karakterlerin kendileri olarak ele alınır. Örnekler:

\040
Boşluk karakterini ifade etmenin bir başka yolu.
\40
40'tan az yakalayan alt şablon varlığında bu da aynısı.
\7
Daima geriye gönderim olarak yorumlanır.
\11
Duruma göre, bir geriye gönderim olabileceği gibi sekme karakteri olarak da yorumlanabilir.
\011
Daima bir sekme karakteridir
\0113
Sekme karakterinden sonra "3" var.
\113
Sekizlik kodu 113 olan karakter (99'dan fazla geriye gönderim olamayacağı için).
\377
Tamamı 1 bitten oluşan bir bayt.
\81
Duruma göre, bir geriye gönderim olabileceği gibi ikil sıfırın ardından gelen "8" ve "1" karakterleri de olabilir.

100'den büyük sekizlik değerlerin başına sıfır konmamalıdır, çünkü üç sekizlik rakamdan fazlası sekizlik sayının rakamları olarak ele alınmamaktadır.

Tek bir bayt değerini tanımlayan tüm dizilimler karakter sınıflarının içinde de dışında da kullanılabilir. Ek olarak, bir karakter sınıfının içinde, "\b" dizilimi bir tersbölü karakteri (onaltılık 08) olarak yorumlanır. Karakter sınıfının dışında ise anlamı farklıdır (aşağıya bakınız).

Tersbölünün üçüncü kullanımı soysal karakter türlerini belirtmek içindir:

\d
Herhangi bir onluk rakam
\D
Bir onluk rakam olmayan herhangi bir karakter
\h
Herhangi bir yatay boşluk karakteri
\H
Bir yatay boşluk karakteri olmayan herhangi bir karakter
\s
Herhangi bir boşluk karakteri
\S
Bir boşluk karakteri olmayan herhangi bir karakter
\v
Herhangi bir düşey boşluk karakteri
\V
Bir düşey boşluk karakteri olmayan herhangi bir karakter
\w
Herhangi bir "sözcük" karakteri
\W
Bir "sözcük" karakteri olmayan herhangi bir karakter

Her önceleme dizilimi çifti karakter kümesinin tamamını iki ayrı küme haline getirir. Belirtilen her karakter sadece ve sadece bir çift ile eşleşir.

"Boşluk" karakterleri HT (9), LF (10), FF (12), CR (13) ve boşluktur (32). Bununla birlikte, yerele özgü eşleştirme gerçekleşiyorsa, 128-255 aralığındaki kodlar sahip karakterler de boşluk karakterleri olarak kabul edilebilir, örneğin, NBSP (A0).

Bir "sözcük" karakteri herhangi bir harf, rakam veya alt çizgi karakteri olabilir, yani, bir Perl sözcüğünün parçası olabilen her karakter bir "sözcük" karakteri olabilir. Harflerin ve rakamların tanımı PCRE'nin karakter tablosu tarafından denetlenir ve eşleştirme yerele özgü yapılıyorsa bu tanım değişebilir. Örneğin "tr" yerelindeki 128'den büyük karakter koduna sahip "çğıöşü" gibi karakterler \w ile eşleşir.

Karakter türündeki bu dizilimler karakter sınıflarının içinde veya dışında bulunabilir. Her biri uygun türdeki bir karakterle eşleşir. Eğer karakter eşleştirmesinde eşleşmeye konu dizgenin sonuna gelinmişse hiçbir karakter eşleşmeyeceğinden işlem başarısız olacaktır.

Tersbölünün dördüncü kullanımı bazı basit tezleri belirtmek içindir. Bir tez, eşleşmeye konu dizgenin hiçbir karakterini harcamaksızın belli bir noktada yerine getirilmesi gereken bir koşul belirtir. Daha karmaşık tezler için alt şablonların kullanımı aşağıda açıklanmıştır. Tez işleçleri şunlardır:

\b
Sözcük sınırlarıyla eşleşme işleci
\B
Sözcük içi eşleşme işleci
\A
Eşleşmeye konu dizgenin başlangıcı ile eşleşme işleci (çok satırlı kipten bağımsız)
\Z
Eşleşmeye konu dizgedeki satırsonu karakterinin öncesiyle eşleşme işleci (çok satırlı kipten bağımsız)
\z
Eşleşmeye konu dizgenin sonu ile eşleşme işleci (çok satırlı kipten bağımsız)
\G
eşleşmeye konu dizgede eşleşme başlangıcını belirtme işleci

Bu tez işleçleri "\b" hariç karakter sınıfları içinde görünmezler. "\b" işleci karakter sınıfları içinde özel bir anlama sahiptir ve tersbölü karaterini simgeler.

Eşleşmeye konu dizge içinde geçerli karakterin \w işleci ile ve önceki karakterin \W işleci ile eşleştiği nokta sözcük sınırının başlangıcını; geçerli karakterin \W işleci ile ve önceki karakterin \w işleci ile eşleştiği nokta ise sözcük sınırının bitişini belirler.

\A, \Z ve \z tez işleçleri, seçeneklerle belirlenen şekilde dizgenin en başı ve dizgenin en sonu ile eşleşen geleneksel şapka ve dolar imli işleçlerden (çıpalar altında açıklanmıştır) farklı olup PCRE_MULTILINE veya PCRE_DOLLAR_ENDONLY seçeneğinden etkilenmezler. \Z ile \z arasındaki fark \Z işlecinin dizgenin son karakteri olan satırsonu karakterinin öncesiyle eşleşmesi, \z işlecinin ise sadece dizge sonu ile eşleşmesidir.

\G savı, sadece, geçerli eşleşme konumu eşleşmenin başlangıç noktasında (preg_match() işlevinin başlangıç bağımsız değişkeni ile belirtilen noktada) olduğu takdirde doğru olacaktır. başlangıç sıfırdan farklı olduğu durumda \G işleci \A işlecinden farklıdır.

\Q ve \E işleçleri şablon içindeki düzenli ifade işleçlerini geçersiz kılmak için kullanılabilmektedir. Örneğin, \w+\Q.$.\E$ düzenli ifadesi dizge sonuna demirlenmiş .$. karakterleriyle ve bunların öncesindeki bir veya daha fazla sayıda sözcük karakteriyle eşleşecektir. Bu, ayraçların davranışını değiştirmez. Örneğin, #\Q#\E#$ düzenli ifadesi, ikinci # şablonun sonunu imlediğinden ve \E# geçersiz değiştirici olarak yorumlandığından geçersizdir.

\K işleci eşleşme başlangıcını sıfırlamak için kullanılabilmektedir. Örneğin, foo\Kbar şablonu, "foobar" ile eşleşir, fakat "bar" ile eşleştiğini raporlar. \K işlecinin kullanımı zaten eşleştirilmiş alt dizge ile etkileşmez. Örneğin, (foo)\Kbar şablonu "foobar" ile eşleşirken eşleşen ilk alt dizge "foo" olacaktır.


Unicode Karakterlerinini Özellikleri

UTF-8 kipi seçildiğinde soysal karakter türleriyle eşleşen üç düzenli ifade işleci daha devreye girmiştir. Bunlar:

\p{xx}
xx özelliğine sahip bir karakter
\P{xx}
xx özelliği olmayan bir karakter
\X
bir genişletilmiş Unicode dizilimi

Yukarıda xx ile belirtilen özellik isimleri Unicode genel sınıf özellikleriyle sınırlıdır. Belirtilen her karakter, belli bir özelliğin iki harflik kısaltmasındaki harflerle aynı olmak zorundadır. Perl ile uyumluluk için, olumsuzlama işleci kaşlı ayraç ile özellik kısaltmasının ilk harfi arasına konmalıdır. Örneğin, \p{^Lu} şablonu \P{Lu} ile aynıdır.

Eğer \p veya \P ile tek bir harf belirtilirse bu harfle başlayan tüm özellikleri ifade edecektir. Böyle bir durumda, olumsuzlama işleci kullanılmayacaksa kaşlı ayraçların kullanımı isteğe bağlıdır. Yani, bu iki örnek aynı etkiye sahiptir:

   \p{L}
   \pL

Desteklenen özellik kodları
Özellik | Eşleşmeler | Açıklamalar
C | Diğer |
Cc | Denetim |
Cf | Biçem |
Cn | Atanmamış |
Co | Özel kullanım |
Cs | İkame |
L | Harf | Şu özellikleri içerir: Ll, Lm, Lo, Lt ve Lu.
Ll | Küçük harf |
Lm | Değiştirici harf |
Lo | Diğer harf |
Lt | Başlık harfi |
Lu | Büyük harf |
M | İm |
Mc | Boşluk imi |
Me | Kapsama imi |
Mn | Boşluk bırakmama imi |
N | Sayı |
Nd | Onluk sayı |
Nl | Harf numarası |
No | Diğer sayı |
P | Noktalama |
Pc | Bağlayıcı noktalama |
Pd | Tire imi |
Pe | Kapama imi |
Pf | Sonlandırma imi |
Pi | Başlatma imi |
Po | Diğer noktalama |
Ps | Açma imi |
S | Simge |
Sc | Para simgesi |
Sk | Değiştirici simge
Sm | Matematiksel simge |
So | Diğer simge |
Z | Ayraç |
Zl | Satır ayracı |
Zp | Paragraf ayracı |
Zs | Boşluk ayracı |

"InMusicalSymbols" gibi ek özellikler PCRE tarafından desteklenmemektedir.

Harf büyüklüğüne duyarsız eşleşme belirtilmesi bu önceleme dizilimlerini etkilemez. Örneğin, \p{Lu} şablonu daima sadece büyük harflerle eşleşecektir.

Unicode karakter kümeleri, belirli dillere ait olarak tanımlanır. Bu kümelerden birindeki bir karakter, bir dil adı kullanılarak eşleştirilebilir. Örneğin:

  • \p{Greek}
  • \P{Han}

Tanımlanmış bir dilin parçası olmayanlar ortak (Common) olarak bir araya toplanır. Mevcut dil listesi:

Desteklenen Diller
Arapça | Ermenice | Avestan | Balice | Bamum
Batak | Bengali | Bopomofo | Brahmi | Braille
Bugice | Buhid | Kanadalı_Aborijin | Karya | Çakma
Cham | Çeroki | Ortak | Kıpti | Çivi Yazısı
Kıbrıslı | Kiril | Deseret | Devanagari | Mısır_Hiyeroglifleri
Etiyopyalı | Gürcü | Glagolitik | Gotik | Yunan
Gujarati | Gurmukhi | Han | Hangul | Hanunoo
İbranice | Hiragana | İmparatorluk_Aramice | Miras | Yazıtlı_Pehlevi
Yazıtlı_Partiyalı | Cavaca | Kaithi | Kannada | Katakana
Kayah_Li | Kharoshthi | Kımer | Lao | Latince
Lepcha | Limbu | Doğrusal_B | Lisu | Likyaca
Lidyaca | Malayalamca | Mandaik | Meetei_Mayek | Meroitik_Elyazısı
Meroitik_Hiyeroglifler | Miao | Moğolca | Myanmar | New_Tai_Lue
Nko | Ogham | Eski_İtalik | Eski_Farsça | Eski_Güney_Arapçası
Eski_Türk | Ol_Chiki | Oriya | Osmanya | Phags_Pa
Fenike | Rejang | Runik | Samiriyeli | Saurashtra
Sharada | Shavian | Sinhala | Sora_Sompeng | Sundaca
Syloti_Nagri | Süryanice | Tagalog | Tagbanwa | Tai_Le
Tai_Tham | Tai_Viet | Takri | Tamil | Telugu
Thaana | Thai | Tibetçe | Tifinagh | Ugaritik
Vai | Yi |  |  |

\X öncelemi, bir Unicode genişletilmiş grafem kümesiyle eşleşir. Genişletilmiş bir grafem kümesi, tek bir glif oluşturmak için birleşen bir veya daha fazla Unicode karakteridir. Gerçekte, bu, Unicode eşdeğeri olarak düşünülebilir. Çünkü onu oluşturmak için gerçekte kaç karakter kullanıldığına bakılmaksızın, oluşturulmuş bir karakterle eşleşecektir.

8.32'den daha eski PCRE sürümlerinde (birlikte verilen PCRE kitaplığını kullanırken 5.4.14'ten önceki PHP sürümlerine karşılık gelir), \X ile (?>\PM\pM*) eşdeğerdir. Yani, "mark" özelliği olmayan bir karakterle, ardından "mark" özelliğine sahip sıfır veya daha fazla karakterle eşleşir ve diziyi bir atomik grup olarak ele alır (aşağıya bakın). "Mark" özelliğine sahip karakterler tipik olarak önceki karakteri etkileyen aksanlardır.

Unicode karakterleriyle eşleşme hızlı değildir, çünkü PCRE on beş binden fazla karakter içeren bir kümeyi araştırmak zorundadır. \d ve \w gibi geleneksel işleçlerin PCRE'de Unicode özelliklerini kullanmamasının sebebi budur.


Çıpalar - Şapka ve Dolar İmi

Bir karakter sınıfının dışında, öntanımlı eşleşme kipinde, şapka imi (^), eğer geçerli eşleşme noktası eşleşmeye konu dizgenin başlangıcındaysa doğru sonuç veren bir savdır. Bir karakter sınıfının içinde ise tamamen farklı bir anlama sahiptir (aşağıya bakın).

Şapka imi (^), eğer şablon olasılıklar içeriyorsa şablonun ilk karakteri olmak zorunda değildir, fakat eşleşmenin istendiği her olasılığın ilk karakteri olmak zorundadır. Eğer tüm olasılıklar bir şapka imi (^) ile başlıyorsa, yani şablon eşleşmeye konu dizgenin daima başlangıcıyla eşleştirilmeye çalışılıyorsa buna, dizge başlangıcına demirlenmiş şablon denir. (Bir şablonun demirlenmesine sebep olan başka oluşumlar da olabilir.)

Dolar imi ($), eğer geçerli eşleşme noktası eşleşmeye konu dizgenin sonundaysa veya dizgenin (öntanımlı olarak) son karakteri olan satırsonu karakterinin hemen öncesindeyse doğru sonuç veren bir savdır. Dolar imi ($), eğer şablon olasılıklar içeriyorsa şablonun son karakteri olmak zorunda değildir, fakat eşleşmenin istendiği her olasılığın son karakteri olmak zorundadır. Dolar iminin bir karakter sınıfının içinde özel bir anlamı yoktur.

Derleme veya eşleştirme sırasında PCRE_DOLLAR_ENDONLY seçeneğini etkin kılarak dolar iminin eşleşmeye konu dizgenin daima sonu ile eşleşmesi sağlanacak şekilde anlamı değiştirilebilir. Bu seçeneğin atanmış olması \Z tezinin anlamını etkilemeyecektir.

Şapka ve dolar imlerinin anlamları PCRE_MULTILINE seçeneği (çok satırlı kip) etkin kılınarak değiştirilebilir. Bu durumda, şapka imi eşleşmeye konu dizge içindeki "\n" karakterinin hemen sonrasıyla, dolar imi ise hemen öncesiyle eşleşecektir. Örneğin, aksi belirtilmedikçe, /^abc$/ şablonu çok satırlı kipte "def\nabc" dizgesiyle eşleşecektir. Sonuç olarak, tek satırlık kipte, tüm olasılıkların şapka imi ile başlaması sebebiyle dizge başlangıcına demirlenmiş şablonlar çok satırlı kipte dizge başlangıcına demirlenmiş olmazlar. Eğer PCRE_MULTILINE seçeneği etkinse PCRE_DOLLAR_ENDONLY seçeneği yoksayılır.

\A, \Z ve \z tezlerinin eşleşmeye konu dizgenin başlangıcı ve sonu ile eşleşmek amacıyla her iki kipte de kullanılabileceğine dikkat ediniz. Eğer bir şablondaki tüm olasılıklar \A ile başlıyorsa, PCRE_MULTILINE seçeneği etkin olsun olmasın, şablon daima dizgenin başlangıcına demirlenmiş olacaktır.


Nokta

Bir nokta imi, bir karakter sınıfının dışında, eşleşmeye konu dizge içindeki herhangi bir tek karakterle eşleşecektir; bu karakterlere basılamayan karakterler de dahildir, ancak (öntanımlı olarak) satırsonu karakteri ile eşleşmeyecektir. Eğer PCRE_DOTALL seçeneği etkin kılınmışsa nokta imleri satırsonu karakterleri ile de eşleşecektir. Nokta imi değerlendirilirken şapka ve dolar imlerinden bağımsız olarak ele alınır; tek ilişki her ikisinin de satırsonu karakteriyle olan ilişkileridir. Nokta iminin bir karakter sınıfı içinde özel bir anlamı yoktur.

\C işleci tek bir bayt ile eşleşme için kullanılabilir. Nokta imi UTF-8 kipinde çok baytlı bir karakterin bütün baytları ile eşleşeceğinden tek bir baytla eşleşme isteniyorsa \C işleci önem kazanacaktır.


Karakter Sınıfları - Köşeli Ayraçlar

Bir karakter sınıfı [ köşeli ayracıyla ] köşeli ayracı arasına alınarak tanımlanır. Bir karakter sınıfı içinde ] köşeli ayracının özel bir anlamı yoktur, ancak bir karakter sınıfı içinde kullanılması gerekliyse sınıfın (varsa, şapka iminden sonraki) ilk üyesi olmak zorundadır, yoksa bir tersbölüyle öncelenmesi gerekir.

Bir karakter sınıfı eşleşmeye konu dizgenin içindeki tek bir karakterle eşleşir; sınıfın ilk üyesi bir şapka imi olmadıkça, eşleşen karakterin karakter sınıfının üyesi olması yeterlidir; aksi takdirde eşleşen karakterin sınıfın bir üyesi olmaması gerekir. Eğer şapka iminin bir karakter sınıfının üyesi olması gerekliyse, ya sınıfın ilk üyesi olmamalı ya da bir tersbölü ile öncelenmelidir.

Örneğin, [aeıioöuü] sınıfı herhangi bir küçük sesli ile eşleşirken [^aeıioöuü] sınıfı herhangi bir küçük sessizle eşleşecektir. Yalnız şuna dikkat edin: Karakter sınıfının başlangıcındaki şapka imi, sadece sınıfı olumsuzlayan bir gösterim uzlaşımıdır. Bir tez işleci değildir; eşleşmeye konu dizge içindeki karakterleri yine de tüketmeye devam eder ve dizgenin sonuna gelindiğinde başarısız olur.

Harf büyüklüğüne duyarsız eşleşme etkinken, sınıf içindeki herhangi bir harf, hem büyük hem de küçük harfi simgeleyecektir. Örneğin, harf büyüklüğüne duyarsız eşleşme etkinken [aeiou] sınıfı "A" veya "a" ile eşleşirken, [^aeiou] sınıfı harf büyüklüğüne duyarlılık etkin kılınmış gibi sadece "A" ile eşleşmeyecektir.

Satırsonu karakteri, PCRE_DOTALL veya PCRE_MULTILINE seçeneği atanmış olsun ya da olmasın karakter sınıfları içinde asla özel bir anlamda ele alınmaz. [^a] gibi bir sınıf daima bir satırsonu karakteri ile eşleşecektir.

Tire imi, bir karakter sınıfı içinde bir aralık belirtmek için kullanılabilir. Örneğin, [d-m] sınıfı, d ve m dahil ikisi arasında kalan herhangi bir karakterle eşleşecektir. Eğer bir tire iminin sınıfın bir üyesi olması gerekliyse, ya bir aralık belirteci olarak değerlendirilmeyeceği bir yere (başa veya sona) konmalı ya da tersbölü ile öncelenmelidir.

Bir "]" karakterinin kendisi olarak bir aralığın son karakteri olması mümkün değildir. Örneğin, [W-]46] şablonu içindeki sınıf "W" ve "-" karakterlerinden oluşacak, dolayısıyla sadece "W46]" veya "-46]" dizgesiyle eşleşecektir. Halbuki, "]" karakteri bir tersbölü ile öncelenseydi, [W-\]46] şablonu içindeki sınıf "W" ve "]" dahil arada kalan tüm karakterlerle eşleşecekti. Sınıf içinde "]" karakterini tersbölü ile öncelemek yerine karakterin sekizlik veya onaltılık gösterimleri de kullanılabilirdi.

Aralıklar ASCII harmanlama dizilimleri olarak çalışabildiği gibi örneğin, [\000-\037] şeklinde sayısal olarak belirtilmiş karakterler içinde kullanılabilir. Eğer harflerden oluşan bir aralık belirtilmişse ve harf büyüklüğüne duyarsız eşleşme yapılıyorsa aralık, içerdiği bir harfin hem büyüğüyle hem de küçüğüyle eşleşecektir. Örneğin [W-c] aralığı harf büyüklüğüne duyarsız olarak [][\^_`wxyzabc] dizgesiyle eşleşir. Eğer "tr" yereli kullanılıyorsa, [\xc6-\xcb] aralığı hem büyük hem de küçük Ç ile eşleşir.

\d, \D, \s, \S, \w ve \W karakter türleri de bir karakter sınıfı içinde kullanılabilir ve sınıfa eşleştikleri karakterleri eklerler. Örneğin, [\dABCDEF] sınıfı herhangi bir onaltılık rakam ile eşleşecektir. Şapka karakteri, küçük harfli işleçlerle sağlanandan daha sınırlı bir kümeyi belirtmek için büyük harfli işleçlerle kullanılabilir. Örneğin, [^\W_] sınıfı alt çizgi imi hariç herhangi bir harf veya rakam ile eşleşecektir.

Bir karakter sınıfının başlangıcında belirtildiğinde \, -, ^ karakterleri ve sonlandırıcı ] karakteri, karakter sınıfı içinde özel bir anlama sahip değildir, ancak öncelenmiş olmaları da bir sorun teşkil etmezdi. Şablon sonlandırıcı daima özeldir ve bir ifade içinde kullanıldığında daima öncelenmesi gerekir.

Perl, karakter sınıfları için POSIX gösterimini destekler. Bu gösterimde sınıf isimleri [: ve :] karakterleri arasına alınır. Örneğin, [01[:alpha:]%] şablonu, "0", "1", herhangi bir abecesel karakter veya "%" ile eşleşecekir. Desteklenen sınıf isimleri şunlardır:

Karakter sınıfları
alnum | harfler ve rakamlar
alpha | sadece harfler
ascii | 0 - 127 arasındaki karakter kodları
blank | sadece boşluk ve sekme karakteri
cntrl | denetim karakterleri
digit | onluk rakamlar (\d ile aynı)
graph | boşluk hariç tüm basılabilen karakterler
lower | küçük harfler
print | boşluk dahil tüm basılabilen karakterler
punct | harfler ve rakamlar hariç tüm basılabilen karakterler
space | tüm boşluk karakterleri (\s ile benzer fakat aynı değil)
upper | büyük harfler
word | "sözcük" karakterleri (\w ile aynı)
xdigit | onaltılık rakamlar
space karakterleri: HT (9), LF (10), VT (11), FF (12), CR (13) ve boşluk (32). Farkedeceğiniz gibi VT karakteri de (kod 11) listeye dahil edilmiştir. Perl uyumluluğu açısından "space" ile \s arasındaki fark budur.

word ismi bir Perl eklemesi olup blank ismi Perl 5.8'deki bir GNU eklemesidir. Diğer bir ekleme de olumsuzlama belirten ^ karakteri olup ikinokta iminden hemen sonra kullanılır. Örneğin, [12[:^digit:]] şablonu "1", "2" veya rakam olmayan herhangi bir karakter ile eşleşir.

UTF-8 kipinde, 128'den büyük değerli karakterler POSIX karakter sınıflarının hiçbiriyle eşleşmeyecektir. libpcre 8.10'dan itibaren bazı karakter sınıfları Unicode karakter özelliklerini kullanacak şekilde değiştirilmiştir, bu durumda söz konusu kısıtlama geçerli değildir. Ayrıntılar için » PCRE(3) kılavuzuna bakın.


Değişim - Boru Karakteri

Boru karakteri bir şablon içinde olasılıkları ayırmak için kullanılır. Örneğin, Hasan|Hüseyin şablonu hem "Hasan" hem de "Hüseyin" ile eşleşir. Olasılıkların sayısı ile ilgili bir sınırlama yoktur ve boş bir dizge ile eşleşen bir boş olasılık da belirtilebilir. Eşleştirme soldan sağa doğru yapılır ve ilk eşleşen kullanılır. Eğer olasılıklar bir alt şablonun içindeyse (aşağıya bakınız), başarılı bir eşleşme için alt şablonun içindeki olasılıklardan biri ve ana şablonun kalanının eşleşmesi gerekir.


Dahili Seçeneklerin Ayarlanması

PCRE_CASELESS, PCRE_MULTILINE, PCRE_DOTALL, PCRE_UNGREEDY, PCRE_EXTRA, PCRE_EXTENDED ve PCRE_DUPNAMES seçenekleri bir şablonun içinden Perl seçenek harfleri "(?" ve ")" arasında kullanılarak değiştirilebilir. Seçenek harfleri şunlardır:

Dahili seçenek harfleri
i | PCRE_CASELESS için
m | PCRE_MULTILINE için
s | PCRE_DOTALL için
x | PCRE_EXTENDED için
U | PCRE_UNGREEDY için
X | PCRE_EXTRA için (PHP 7.3.0 ve sonrasında artık desteklenmiyor.)
J | PCRE_INFO_JCHANGED için

Örneğin, (?im) dizilimi harf büyüklüğüne duyarsız, çok satırlı eşleşmeyi etkin kılar. Seçenekleri etkisiz hale getirmek için bu harflerin önüne bir tire imi konabilir. Örneğin, (?im-sx) dizilimi, PCRE_CASELESS ve PCRE_MULTILINE seçeneklerini etkin, PCRE_DOTALL ve PCRE_EXTENDED seçeneklerini ise etkisiz kılar. Eğer bir harf tire iminin hem öncesinde hem de sonrasında görünüyorsa onunla ilgili seçenek tanımsız olur.

Üst seviyeden bir seçenek değişikliği varsa (yani değişiklik bir alt şablon içinde değilse), değişiklik şablonun kalanına uygulanacaktır. Bu bakımdan, /ab(?i)c/ şablonu sadece "abc" ve "abC" dizgeleri ile eşleşecektir.

Değişiklik bir alt şablonun içinde yapılırsa etkisi farklı olur. Bu davranış Perl 5.005'ten itibaren geçerlidir. Bir alt şablon içindeki seçenek değişiklikleri sadece alt şablonun kalanını etkileyecektir. Bu bakımdan (a(?i)b)c şablonu abc ve aBc dizgelerinden başka bir dizgeyle eşleşmez (PCRE_CASELESS seçeneğinin şablon genelinde kullanılmadığı varsayılıyor). Yani, bir şablonun farklı yerlerinde farklı seçenekler farklı ayarlarla kullanılabilir. Olasılıklardan birinde yapılmış bir seçenek değişikliği sonraki diğer olasılıklar için de geçerli olacaktır. Örneğin, (a(?i)b|c) şablonu "ab", "aB", "c" ve "C" dizgeleriyle eşleşecektir. Bunun sebebi, seçenek ayarlarının etkilerinin derleme sırasında gözönüne alınmasıdır. Yoksa çok tuhaf davranışlar ortaya çıkabilirdi.

Perl uyumlu seçeneklerde olduğu gibi, PCRE'ye özgü seçenekler olan PCRE_UNGREEDY ve PCRE_EXTRA seçenekleri de sırayla U ve X karakterleri ile kullanılarak değiştirilebilir. (?X) ayarı özel bir ayar olup, bir şablonda herhangi bir ek özelliğin etkin kılınmasından önce kullanılmayı gerektirir. Yapılacak en iyi şey en başa koymaktır.


Alt Şablonlar

Alt şablonlar yaylı ayraçlarla sınırlanır ve iç içe olabilirler. Bir şablonun bir alt parçası iki şekilde kendini gösterir:

  1. Bir olasılık kümesinden oluşabilir. Örneğin, gel(enek|incik|) şablonu "gel", "gelenek" ve "gelincik" sözcüklerinden biriyle eşleşecektir. Yaylı ayraçlar olmasaydı "gelenek", "incik" ve boş bir dizge ile eşleşirdi.

  2. Şablon grupları olarak görünebilir (aşağıya bakınız). Şablonun tamamı eşleştiğinde, eşleşmeye konu dizgenin alt şablonla eşleşen parçası pcre_exec() işlevinin ovector bağımsız değişkeni üzerinden çağrıcıya aktarılır. Yakalayan alt şablon sayısını tutturmak için grup açılışları soldan sağa doğru sayılır (ilk grup 1 olmak üzere).

Örneğin, "the red king" dizgesini the ((red|white) (king|queen)) şablonuyla eşleştirmek istersek "red king", "red" ve "king" dizgeleri 1, 2 ve 3 olarak numaralanacaktır.

Aslında, salt yaylı ayraçları kullanarak bu iki işlevi yerine getirmek her zaman yararlı olmaz. Çoğu zaman bir gruplama alt şablonu bir yakalama gereksinimi olmaksızın kullanılır. Eğer açan yaylı ayracı takiben bir "?:" dizilimi varsa bu alt şablon herhangi bir yakalama yapmaz ve ardından gelen diğer yakalayan alt şablonların sayısında hesaba katılmaz. Örneğin, "the white queen" dizgesini the ((?:red|white) (king|queen)) şablonu ile eşleştirmek istersek "white queen" ve "queen" alt dizgeleri 1 ve 2 olarak numaralanır. Yakalayan alt şablonların azami sayısı 65535'tir. Bununla birlikte, libpcre'nin yapılandırma seçeneklerine bağlı olarak bu kadar büyük şablonları derlemek mümkün olmayabilir.

Uygun bir kısaltma olarak, yakalamayan bir alt şablonun başlangıcında bir seçenek ayarı gerekliyse seçenek harfleri "?" ile ":" arasına konabilir. Dolayısıyla,

(?i:saturday|sunday)
(?:(?i)saturday|sunday)

şablonlarının ikisi de aynı dizgeyle eşleşecektir. Olasılıklar soldan sağa değerlendirildiğinden ve seçenekler alt şablonun sonuna ulaşılıncaya kadar sıfırlanmayacağından tek bir olasılık dahilindeki bir seçenek ayarı sonraki olasılıkları da etkileyecektir, dolayısıyla yukarıdaki şablonlar "Saturday" ve hatta "SUNDAY" ile de eşleşecektir.

Bir alt şablonu (?P<ad>kalıp) ile isimlendirmek mümkündür. Eşleşmeleri içeren dizi, numaralarına göre indislenmiş eşleşmelerin yanısıra dizgelerine göre indislenmiş eşleşmeleri de içerecektir. Buna eşdeğer iki sözdizimi daha vardır: (?<ad>kalıp) ve (?'ad'kalıp)

Bazen, düzenli bir ifadede birden çok eşleşen, ancak değişen alt grupların varlığı gerekir. Normalde, bunlardan yalnızca biri muhtemelen eşleşecek olsa bile, bunların her birine kendi geri başvuru numarası verilir. Bunun üstesinden gelmek için, (?| sözdizimi yinelenen sayılara izin verir. Sunday dizgesiyle eşleşen aşağıdaki normal ifade ele alınırsa:

(?:(Sat)ur|(Sun))day

Burada Sun, 2. geri başvuruda depolanırken, 1. geri başvuru boştur. Saturday eşleşmesi, 1. geri başvuruda Sat verir, 2. geri başvuru yoktur. (?| kullanmak için kalıbı değiştirmek bu sorunu giderir:

(?|(Sat)ur|(Sun))day

Bu kalıp kullanılarak, hem Sun hem de Sat 1. geri başvuruda saklanacaktır.


Yineleme

Yineleme, aşağıdaki öğeleri takibeden niceleyicilerle belirtilir:

  • Tek bir karakter; öncelenmiş olabilir.
  • Bir işleç olarak nokta.
  • Bir karakter sınıfı.
  • Bir geriye gönderim (sonraki bölüme bakınız).
  • Ayraçlı bir alt şablon (bir sav ileri sürmedikçe; aşağıya bakınız).

Genel yineleme niceleyicileri, kaşlı ayraçlar arasına alınıp virgülle ayrılmış olarak asgari ve azami miktarda eşleşme belirirler. Belirtilen sayılar 65536'dan küçük olmalı ve ilk sayı ikincisine eşit veya ondan küçük olmalıdır. Örneğin, z{2,4} şablonu "zz", "zzz" veya "zzzz" ile eşleşecektir. Kapatan kaşlı ayraç özel bir karakter değil, kendisidir. Eğer virgül konduğu halde ikinci niceleyici verilmezse bir üst sınır olmayacaktır. Eğer ikinci niceleyici virgülsüz olarak belirtilmemişse, tam olarak belirtilen sayıda eşleşme sağlanmaya çalışılır. Dolayısıyla, [aeiou]{3,} şablonu en az üç sesli harfle eşleşecektir. Ancak, \d{8} şablonu tam olarak 8 rakamla eşleşecektir. Şayet birinci niceleyici belirtilmezse veya kaşlı ayraçtan sonraki karakter bir rakam değilse kaşlı ayraç sadece kendisiyle eşleşir. Örneğin, {,6} şablonu bir yineleyici değil, dört karakterden oluşan sıradan bir dizgedir.

Bir yineleyici olarak {0} şablonuna izin verilir ve ifadenin, önceki öğe ve niceleyici hiç yokmuş gibi davranmasına sebep olur.

Geriye uyumluluk adına, üç yineleyici türünün tek karakterlik kısaltmalarına izin verilmektedir:

Tek karakterlik yineleyiciler
* | {0,} yineleyicisine eşdeğerdir.
+ | {1,} yineleyicisine eşdeğerdir.
? | {0,1} yineleyicisine eşdeğerdir.

Hiçbir karakterle eşleşmeyen bir alt şablonu takibeden üst sınırsız bir yineleyici belirterek sonsuz döngü oluşturmak mümkündür. Örnek: (a?)*

Perl ve PCRE'nin önceki sürümleri böyle şablonların derlenmesi sırasında hata verirdi. Ancak, bu şablonlar bazen yararlı olabildiklerinden artık kabul edilmektedir, fakat hiçbir karakterle eşleşmeme durumunda döngü bilinçli olarak kırılmaktadır.

Yineleyiciler öntanımlı olarak "açgözlü" olurlar. Yani, şablonun geri kalanının başarısız olmasına sebep olmaksızın olabildiğince çok (azami niceleyicisinin izin verdiği ölçüde) eşleşme yapmaya çalışır. Klasik bir örnek olarak, C kodları arasındaki açıklamalarla eşleşme sorunları verilebilir. Bu açıklamalar /* ve */ dizilimleri arasında bulunurlar ve içlerinde birbirlerinden bağımsız olarak / ve * karakterleri bulunabilir. Örneğin, /\*.*\*/ şablonu /* birinci açıklama */ bu açıklama değil /* ikinci açıklama */ dizgesiyle eşleştirilmeye çalışıldığında başarısız olunacaktır. Çünkü .* öğesinin açgözlülüğü yüzünden dizgenin tamamı ile eşleşecektir.

Bununla birlikte, bir yineleyicinin ardına bir soru imi konursa, açgözlülüğe son verilmiş olur ve olası en az sayıda eşleşme yapılmaya çalışılır. Dolayısıyla, /\*.*?\*/ şablonu C açıklamaları ile beklendiği gibi eşleşir. Yineleyiciler, anlamları değiştirilmediği sürece sadece tercih edilen sayıda eşleşme yapacaktır. Soru imini, bir yineleyici olarak kendisinin sonrasına koymaktan çekinmeyin. İki çeşit kullanımı olduğundan bazen \d??\d örneğindeki gibi bir soru imi çifti olarak görünür ve tercihan tek bir rakamla eşleşirse de şablonun kalanının eşleşmesi için başka çare yoksa iki rakamla da eşleşir.

PCRE_UNGREEDY seçeneği (Perl'de bulunmayan bir seçenektir) etkinse yineleyiciler öntanımlı olarak açgözlü olmazlar, fakat bir yineleyiciyi takibeden bir soru imi varsa o yineleyici açgözlülük gösterebilir. Başka bir deyişle, bu seçenek öntanımlı davranışı tersine çevirir.

+ imi yineleyicilerin ardına konduğunda yineleyiciyi bencilleştirir. Yani, şablonun kalanının başarısızlığı pahasına olabildiğince çok eşleşme yapmaya çalışır. Bu bakımdan, örneğin, .*abc şablonu "aabc" ile eşleştiği halde .*+abc şablonu eşleşmeyecektir. Çünkü .*+ dizgenin tamamını yiyecektir.

Bir yaylı ayraçlı alt şablon, 1'den büyük bir asgari ve sınırlı bir azami yineleme değeriyle nicelendiğinde derlenmiş şablon için asgari ve azami değerlerin büyüklüklerine bağlı olarak daha fazla alan gerekir.

Eğer bir şablon, .* veya .{0,} ile başlıyorsa ve (Perl'in /s seçeneğine eşdeğer) PCRE_DOTALL seçeneği etkinse, noktanın satırsonu karakterleriyle eşleşmesini sağlamak için, eşleşmeye konu dizgedeki karakterleri şablonun kalanı ile eşleştirmek adına, şablon örtük olarak satırsonlarına demirlenir. Dolayısıyla, ilkinden sonraki eşleşmeler için yineleme gereği kalmaz. PCRE böyle bir şablonu \A ile öncelenmiş gibi ele alır. Eşleşmeye konu dizgenin satırsonu karakterlerini içermediğinin bilindiği durumlarda, demirleme işlemini dolaylı olarak belirtmek amacıyla ^ kullanmak veya bu en iyilemeyi sağlamak için şablon .* ile başlatıldığı takdirde PCRE_DOTALL seçeneğini etkin kılmak akıllıca olur.

Bir yakalayan alt şablonun yinelenmesi durumunda, alt şablonun eşleştiği alt dizge son yineleme ile eşleşen alt dizgedir. Örneğin, (tweedle[dume]{3}\s*)+ şablonu "tweedledum tweedledee" dizgesiyle eşleştirilmeye çalışıldığında eşleşen alt dizge "tweedledee" olur. Bununla birlikte, iç içe yakalayan alt şablonların varlığında, alt şablonun eşleştiği alt dizge önceki yinelemelerle eşleşen alt dizgeler olabilir. Örneğin, /(a|(b))+/ şablonu "aba" ile eşleştirilmeye çalışıldığında eşleşen ikinci alt dizge "b" olur.


Geriye Gönderimler

Bir karakter sınıfının dışında, bir tersbölü ile öncelenmiş 0'dan büyük bir sayı, şablonda kendinden önce yaylı ayraçlarla gruplanmış alt şablonlar varsa, bunlar arasından kendisiyle ilgili yakalayan alt şablona gönderim olarak ele alınır.

Ancak, tersbölüyü takibeden onluk sayı 10'dan küçükse, bu daima bir geriye gönderim olarak ele alınır ve şablonun öncesinde bir yakalayan alt şablon başlatan bundan daha az sayıda yaylı ayraç varsa işlem bir hata ile sonuçlanır. Başka bir deyişle, 10'dan küçük numaralı yakalayan alt şablonları kapatan ayraçların kendileriyle ilgili geriye gönderimlerin öncesinde bulunma koşulu yoktur. Tersbölüyü takibeden rakamların ele alınışları ile ilgili ayrıntılı bilgiyi önceleme karakteri bölümünde bulabilirsiniz.

Bir geriye gönderimin eşleştiği alt şablon olasılıklar içeriyorsa, geriye gönderim, şablonun kalanının eşleştiği olasılıktan başka bir olasılıkla eşleşmez. Yani, (sens|respons)e and \1ibility şablonu, "sense and sensibility" ve "response and responsibility" ile eşleştiği halde "sense and responsibility" ile eşleşmeyecektir. Harf büyüklüğüne duyarlılık etkin olduğunda geriye gönderim de aynı duyarlılığa sahip olacaktır. Örneğin, ((?i)rah)\s+\1 şablonunda, yakalayan alt şablon özgün olarak harf büyüklüğüne duyarlı eşleştiği halde bile "rah rah" ve "RAH RAH" ile eşleşecek ama "RAH rah" ile eşleşmeyecektir.

Aynı alt şablon için birden fazla geriye gönderim olabilir. Bir şablonun eşleşeceği bir dizge parçası yoksa onunla ilgili geriye gönderimler daima başarısız olacaktır. Örneğin, (a|(bc))\2 şablonu "bc" yerine "a" ile başlayan bir dizgeyle başarısız olacaktır. 99 ayrı geriye gönderim olabileceğinden bir tersbölüyü takibeden tüm rakamlar olası bir geriye gönderim olarak ele alınacaktır. Eğer alt şablon bir rakam karakteri ile devam ediyorsa geri gönderimi sonlandırmak için bir ayraç karakteri gerekir. PCRE_EXTENDED seçeneği etkinse bu ayraç karakteri, boşluk karakteridir. Aksi takdirde boş bir açıklama kullanmak gerekir.

Yaylı ayraçların içinde kullanılan bir geriye gönderim, ilgili alt şablonun hemen ardından kullanılmışsa başarısız olacaktır. Bu bakımdan, örneğin (a\1) şablonu hiçbir dizgeyle eşleşmeyecektir. Bununla birlikte, böyle alt şablon içindeki geriye gönderimler bazı durumlarda oldukça kullanışlı olabilir. Örneğin, (a|b\1)+ şablonu herhangi bir sayıda "a" veya "aba" ya da "ababba" ve benzeri dizgesiyle eşleşecektir. Alt şablonun her yinelenişinde, geriye gönderim kendisiyle ilişkili alt dizge ile eşleşecektir. Bunun çalışması için, ilk yinelemenin geriye gönderimle eşleşmesi gerekli değildir. Bu, yukarıdaki gibi olasılık belirtimiyle veya asgarisi sıfır olan bir yineleyici kullanılarak yapılabilir.

İsimli alt şablonlara gerigönderimler (?P=ad), \k<ad>, \k'ad', \k{ad}, \g{ad}, \g<ad> veya \g'ad' ile sağlanabilir.


Tezler

Bir tez, herhangi bir karakterin tüketilmediği bir eşleşme noktasının öncesinde veya sonrasındaki karakterler üzerinde yapılacak bir sınama belirtir. Basit savlar önceleme karakteri altında açıklandığı gibi \b, \B, \A, \Z, \z, ^ ve $ olarak kodlanabilir. Birden fazla alt şablondan oluşan daha karmaşık savlar da düzenlenebilir. Bunların iki çeşidi vardır: Eşleşmeye konu dizge içinde geçerli konumun öncesine bakanlar ve sonrasına bakanlar.

Bir tez alt şablonu, eşleşme noktasının değişmesine sebep olmadığı takdirde normal yollarla eşleşecektir. Eşleşme noktasının sonrasına bakan tezler, olumlu savlar için (?= ile, olumsuz savlar için ise (?! ile başlar. Örneğin, \w+(?=;) şablonu, ardına bir noktalı virgül konmuş bir sözcükle eşleşecek, ancak ardında noktalı virgül bulunmayan bir sözcükle eşleşmeyecektir. foo(?!bar) şablonu ardında "bar" bulunmayan herhangi bir "foo" ile eşleşecektir. Ancak, benzer şekilde, (?!foo)bar şablonu, öncesinde "foo" dışında bir dizge bulunan bir "bar" dizgesini bulamayacak; buna karşın, öncesinde hiçbir şey bulunmayan, ilk "bar" dizgesini bulacaktır. Çünkü (?!foo) savı, sonraki üç karakter "bar" olduğu takdirde daima doğru olacaktır. Bu etkiyi geriye bakan bir savla da sağlamak mümkündür.

Eşleşme noktasının öncesine bakan tezler, olumlu savlar için (?<= ile, olumsuz savlar için ise (?<! ile başlar. Örneğin, (?<!foo)bar şablonu öncesinde "foo" bulunmayan bir "bar" dizgesiyle eşleşecektir. Geriye bakan bir savın içeriğinin eşleşeceği dizgenin sabit uzunlukta olması gerekir. (?<=bullock|donkey) şablonu bu kurala uyarken (?<!dogs?|cats?) şablonu, derleme sırasında hataya sebep olur. Farklı uzunlukta dizgelerle eşleşen geriye bakan şablonlara sadece olasılıkların belirtildiği alt şablonun dışında izin verilir. Bu kural, tüm olasılıkların aynı uzunlukta dizge ile eşleşmesini gerektiren Perl 5.005 sürümünden farklıdır. Örneğin, (?<=ab(c|de)) savına Perl 5.005 sürümünde izin verilmez, çünkü üst seviye olasılıklar farklı uzunlukta dizgelerden oluşur. Ancak, şablon, (?<=abc|abde) örneğindeki gibi iki ayrı olasılığa bölünürse sorun çıkmaz. Geriye bakan savların gerçekleniminde, her olasılık için, geçici olarak belli bir uzunlukta geriye gidilip eşleşme denenir. Eğer, eşleşme noktasının öncesinde yeteri sayıda karakter yoksa eşleşme ister istemez başarısız olur. Geriye bakan savlar, dizge sonlarıyla eşleşmede, sadece bir kere eşleşen alt şablonlarla birlikte kullanıldığında oldukça yararlıdır. Böyle, sadece bir kere eşleşen alt şablon örneklerini Sadece bir kerelik alt şablonlar bölümünde bulabilirsiniz.

Başarılı bir eşleşmede birden fazla sav bulunabilir. Örneğin, (?<=\d{3})(?<!999)foo şablonu, öncesindeki üç rakam "999" olmayan bir "foo" dizgesiyle eşleşecektir. Farkettiğiniz gibi, her sav, eşleşmeye konu dizge içinde hep aynı noktaya bağımsız olarak uygulanır. Yapılan ilk şey, önceki üç karakterin birer rakam olup olmadığıdır. Ancak bundan sonra o üç rakamın "999" olup olmadığına bakılır. Bu şablon, "foo" dizgesinin önündeki, ilk üç karakteri rakam olan ve son üç karakteri "999" olmayan altı karakterle eşleşmez. Örneğin, "123abcfoo" dizgesiyle eşleşme sağlanamayacaktır. İstenen eşleşmeyi sağlamak için şablonun (?<=\d{3}...)(?<!999)foo olarak düzenlenmesi gerekir.

İlk sav için önce, "foo" dizgesini önceleyen altı karakterin ilk üçünün rakam olup olmadığına bakılır. Sonra ikinci sav için altılının son üç karakterinin "999" olup olmadığına bakılır.

Savlar çeşitli birleşimler oluşturacak şekilde iç içe düzenlenebilir. Örneğin, (?<=(?<!foo)bar)baz şablonu öncesinde "foo" ile öncelenmemiş "bar" dizgeleri bulunan "baz" dizgeleriyle eşleşir. (?<=\d{3}...(?<!999))foo şablonu ise, öncesinde 3 rakam ile öncelenmiş "999" içermeyen üç karakter bulunan "foo" dizgeleriyle eşleşecektir.

Aynı savı bir kereden fazla kanıtlamanın bir anlamı olmadığından, sav alt şablonları, yinelenemeyecekleri gibi yakalayan alt şablonlar da olamazlar. Sav alt şablonların içerdiği yakalayan alt şablonlar, ana şablonun tümüne ait yakalayan alt şablonlar olarak değerlendirilirler. Bununla birlikte, bu çeşit yakalayan alt şablonlar sadece olumlu savlarda dışa taşınırlar, çünkü olumsuz savlarda dışa taşınacak bir şey olmaz.

Savlar en fazla 200 yaylı ayraçlı alt şablon içerebilir.


Sadece bir kerelik alt şablonlar

Yinelemeyi gerek asgarileştirirken gerekse azamileştirirken, yineleme sayısının her değiştirilişinde ana şablonun kalanının eşleştiğini görmek için yapılan değerlendirmedeki başarısızlık normal olarak bu işlemin yinelenmesine sebep olur. Eşleşmenin doğasını değiştirerek veya şablonun yazarı numaralı eşleşmenin mümkün olmadığı noktayı biliyorsa eşleşmenin vaktinden önce başarısız olmasını sağlamak suretiyle bazen bunun olmasını engellemek yararlı olabilir.

\d+foo şablonunun 123456bar satırına uygulandığını varsayalım.

Eşleşterici, ilk altı rakamı eşleştirdikten sonra "foo" ile eşleşmenin mümkün olmadığını görünce, eninde sonunda başarısız olmadan önce şablonun \d+ parçasını önce 5 rakamla, sonra 4 rakamla, vb. eşleştirmeyi dener. Sadece bir kerelik alt şablonlar, şablonun belli bir parçasınının sadece bir kere eşleştirileceğini belirten alt şablonlardır. Böylece eşleştirici "foo" ile ilk eşleştirme denemesinin hemen ardından başarısız olur. Alt şablonun sözdizimi, aşağıdaki örnekte olduğu gibi (?> ile başlayan yaylı ayraçlı alt şablonların özel bir çeşididir: (?>\d+)bar

Eşleştiriciyi azami sayıda eşleşmeye kilitleyen bu çeşit alt şablonlar bir kerelik eşleşme sağlarlar ve şablonun tamamını eşleştirmedeki ilk başarısızlıkta şablonun geriye saymasını engellerler. Ancak, şablonun diğer parçaları geriye saymayı gerektiriyorsa bu normal olarak çalışır.

Başka bir deyişle, bu tür bir alt şablon, eşleşmeye konu dizgenin belli bir noktasına demirlemenin mümkün olduğu bir durumda tekil bir şablonun eşleşeceği dizgeyle eşleşir.

Sadece bir kerelik alt şablonlar, yakalamayan alt şablonlardır. Yukarıdaki örnekteki gibi basit durumlar, kalan herşeyin tüketilmesine sebep olan bir yineleme azamileştirmesi olarak düşünülebilir. Bu bakımdan, \d+ ve \d+? şablonlarının ikisi de şablonun kalanını eşleştirmek için rakam sayısını ayarlamaya çalışırken, (?>\d+) şablonu rakam dizisinin tamamıyla sadece bir kere eşleşebilir.

Bu oluşum, şüphesiz keyfi olarak karmaşıklaştırılmış alt şablonlar içerebilir ve bunlar iç içe olabilir.

Sadece bir kerelik alt şablonlar, dizge sonuyla etkili bir eşleşme belirtmek için, geriye bakan sav alt şablonları ile birlikte kullanılabilir. Eşleşmeyeceği uzun bir dizgeye uygulanacak, basit bir şablon olarak abcd$ şablonunu ele alalım. İşlem soldan sağa doğru uygulanacağından, PCRE, eşleşmeye konu dizgedeki her "a" için şablonun kalanıyla bir eşleşme arayacaktır. Eğer şablon, ^.*abcd$ olarak belirtilirse, ilk olarak baştaki .* dizgenin tamamıyla eşleşir, fakat bu başarısız olursa (dizgenin ardında bir "a" bulunmaması durumu), önce son bir karakteri bütün dizgeyle eşleştirmek için dizgede geriye gitmeye başlar, sonra bunu son iki karakter için ve son üç için, vb. dener. Dolayısıyla, "a" için dizgenin tamamıyla eşleşmeyi sağlayacak taramanın bu kez sağdan sola sola uygulanmasından başka değişen bir şey olmayacaktır. Bununla birlikte, şablon, ^(?>.*)(?<=abcd) olarak yazılırsa .* için geriye doğru defalarca eşleştirme denemesi yerine, dizgenin tamamıyla bir kerede eşleşme denenebilecektir. İkinci grupta belirtilen geriye bakan sav, son dört karakterin üzerinde sadece bir deneme yapacak, eğer eşleşme sağlanamazsa eşleştirici başarısız olacaktır. Uzun dizgeler sözkonusu olduğunda bu yaklaşım işlem süresi üzerinde önemli bir fark yaratacaktır.

Bir şablonun sınırsız sayıda yineleme içeren bir alt şablonu olması durumunda şablonun tamamı için sınırsız sayıda eşleşme denenecek demektir; eşleşme başarısızlığının çok uzun bir sürenin sonunda alınmasından kaçınmanın tek yolu ne yazık ki, sadece bir kerelik alt şablon kullanımıdır. (\D+|<\d+>)*[!?] şablonu, gerek hiç rakam bulunmaması gerekse rakamların <> ile sarmalanması durumunda, ardından ! veya ? belirtilmesi nedeniyle, sınırsız sayıda alt dizge ile eşleşecektir. Eğer eşleşme olursa işlem çabucak bitecektir. Bununla birlikte, şablon, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa dizgesine uygulandığında başarısızlığın raporlanması çok uzun zaman alacaktır. Bunun sebebi, dizgenin çok sayıda yolla iki yinelemeye bölünebilmesi ve hepsinin denenmesidir. (Hem PCRE hem de Perl'in, tek bir karakter kullanıldığında hızlı bir başarısızlığa izin vermesi nedeniyle, örnekte sondaki tek karakter yerine [!?] kullanılmıştır. Bir eşleşme için son tek karakterin varlığı gereklidir ve dizgede bulunmazsa erken bir başarısızlık söz konusudur.) Eğer şablon, ((?>\D+)|<\d+>)*[!?] olarak değiştirilirse, rakam bulunmayan dizgeler bölünemeyecek ve başarısızlık çabucak gerçekleşecektir.


Koşullu alt şablonlar

Eşleşme sürecinin, bir savın veya önceki bir yakalayan alt şablonun eşleşme sonucuna bağlı olarak, bir şablona koşullu olarak boyun eğmesi veya iki olasılık arasında seçim yapabilmesi mümkündür. Koşullu alt şablonların olası iki çeşidi şunlardır:

    (?(koşul)evet-şablonu)
    (?(koşul)evet-şablonu|hayır-şablonu)

Koşul sağlandığı takdirde evet-şablonu, aksi takdirde hayır-şablonu uygulanır veya hiçbir şablon uygulanmaz. Koşullu alt şablonda ikiden fazla olasılık varsa derleme sırasında hata oluşur.

İki çeşit koşul vardır. Eğer yaylı ayraçlar arasındaki metin rakamlardan oluşuyorsa koşulun içerdiği sayıların önceki yakalayan alt şablonlarla eşleşeceği varsayılır. Şablonu daha okunabilir kılmak için boşluk karakterlerinin yok sayılmakta olduğunu (PCRE_EXTENDED seçeneği) varsayarak boşluklarla üç parçaya bölünmüş şu şablonu ele alalım:

( \( )?    [^()]+    (?(1) \) )

İlk parça bir açan yaylı ayraç ile eşleşir ve karakter mevcut olduğu takdirde bu, ilk yakalayan alt dizge olur. İkinci parça yaylı ayraç olmayan bir veya daha fazla karakterle eşleşir. Üçüncü parça ise bir koşullu alt şablon olarak, ilk yaylı ayraçlı grupla eşleşip eşleşmediğine bakar; eşleşme varsa, yani eşleşmeye konu dizge bir açan yaylı ayraç ile başlıyorsa, koşul doğrulanmış olur. Dolayısıyla evet-şablonu çalıştırılır ve kapatan yaylı ayraç aranır. Aksi takdirde şablon hiçbir şeyle eşleşmez. Başka bir deyişle, bu şablona göre açan yaylı ayraçla başlayan bir dizge kapatan bir yaylı ayraçla bitebileceği gibi bitmeyebilir de.

Eğer koşul olarak (R) dizgesi verilmişse, şablona veya alt şablona ardışık bir çağrı yapılmış gibi ele alınır. "Üst seviye" için koşul daima yanlış sonuç verir.

Eğer koşul rakamlardan veya (R) dizgerinden oluşmuyorsa, bir sav olarak ele alınır.Olumlu veya olumsuz, ileriye veya geriye bakan bir sav olabilir. Yine boşluk karakterlerinin yok sayılacağı varsayımıyla ikinci satırında iki olasılık içeren şu şablonu ele alalım:

    (?(?=[^a-z]*[a-z])
    \d{2}-[a-z]{3}-\d{2}  |  \d{2}-\d{2}-\d{2} )

Koşul, ileriye bakan olumlu bir sav olup, isteğe bağlı olarak harf olmayan karakterleri takibeden bir harf ile eşleşir. Başka bir deyişle, eşleşmeye konu dizge içinde en azından bir harfin var olup olmadığına bakar. Eğer bir harf varsa, eşleşmeye konu dizge ilk olasılıkla, aksi takdirde ikinci olasılıkla eşleşir, Şablon, aaa'nın harfleri, dd'nin rakamları ifade ettiği durumda dizgenin ya dd-aaa-dd ya da dd-dd-dd dizilimiyle eşleşecektir.


Açıklamalar

(?# dizilimi sonraki kapatan yaylı ayraca kadar devam eden bir açıklamanın başlangıcını belirtir. İç içe açıklamalara izin verilmez. Açıklama olarak imlenmiş parçalar şablonun yorumlanan parçaları olarak ele alınmazlar.

Eğer PCRE_EXTENDED seçeneği etkinse, şablon içinde, bir karakter sınıfının dışındaki öncelenmemiş bir # karakteri sonraki satırsonu karakterine kadar devam eden bir açıklamanın başlangıcı olarak ele alınır.

Örnek 1 PCRE şablonunda açıklama kullanımı

<?php

$subject = 'test';

/* (?# açıklama eklemek için PCRE_EXTENDED etkinleştirilmeden kullanılabilir
*/
$match = preg_match('/te(?# this is a comment)st/', $subject);
var_dump($match);

/* Boşluklar ve # PCRE_EXTENDED etkin olmadıkça şablonun parçası olarak
* ele alınır
*/
$match = preg_match('/te #~~~~
st/', $subject);
var_dump($match);

/* PCRE_EXTENDED etkin olduğunda, verideki tüm boşluk karakterleri ve
* aynı satırdaki öncelenmemiş # karakterinden sonraki herşey yok sayılır.
*/
$match = preg_match('/te #~~~~
st/x', $subject);
var_dump($match);

Yukarıdaki örneğin çıktısı:

int(1)
int(0)
int(1)


İç içe şablonlar

Sınırsız iç içe yaylı ayraçların kullanıldığı bir şablonu yaylı ayraçlar arasındaki bir dizgeyle eşleştirme sorununu ele alalım. Ardışık işlem haricinde yapılabilecek en iyi şey iç içe sabit bir derinliğe kadar eşleşebilecek bir şablon kullanmaktır. Sabit olmayan derinlikli iç içe şablonları işlemek mümkün değildir. Perl'in 5.6 sürümü, ardışık (iç içe) düzenli ifadelere izin veren deneysel bir oluşuma sahiptir. Belli bir ardışıklık durumu için özel bir öğe, (?R) öğesi sağlanmıştır. Bu PCRE şablonu yaylı ayraçlarla ilgili bu sorunu çözmektedir: \( ( (?>[^()]+) | (?R) )* \) (Boşlukların gözardı edilmesini sağlayan PCRE_EXTENDED seçeneğinin etkin olduğu varsayılmıştır.)

İlk eşleşme bir açan yaylı ayraçla olur. Sonraki eşleşme, ya yaylı ayraçlar içine alınmamış bir dizi alt dizgeyle olur ya da şablonun kendisi ardışık olarak (doğru olarak yaylı ayraçlar içine alınmış alt dizgelerle) eşleşir. Ve son eşleşme bir kapatan yaylı ayraçla olur.

Örnek olarak verdiğimiz bu şablon sınırsız sayıda iç içe yineleme içerir; dolayısıyla şablon, eşleşmeyeceği dizgelere uygulandığında, yaylı ayraç içine alınmamış dizgelerle eşleşmek için sadece bir kerelik alt şablonların kullanımı önem kazanır. Bu duruma bir örnek olarak çabuk bir eşleşmemeyle sonuçlanan şu dizge verilebilir: (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()

Bununla birlikte, sadece bir kerelik alt şablon kullanılmazsa eşleştirme işlemi çok uzun sürecektir. Bunun sebebi, eşleşmeye konu dizgeyi çok çeşitli şekillerde bölen + ve * yinelemelerinin olması ve bir başarısızlık raporlamadan önce bunların hepsinin denenmesi gereğidir.

Herhangi bir yakalama alt şablonu için belirlenmiş değerler, alt şablon değerinin atandığı ardışık işlemin en dış seviyesindeki değerlerdir. Eğer yukardaki şablon, (ab(cd)ef) dizgesiyle eşleştirilmeye çalışılırsa yakalanan ayraçlı değer, en üst seviyede elde edilen son değer olan "ef" olur. Eğer başka yaylı ayraçlar da eklenirse, \( ( ( (?>[^()]+) | (?R) )* ) \) şablonu ile yakalanan dizge, en üst seviye yaylı ayraçların içindeki "ab(cd)ef" olur. Eğer bir şablonda 15'ten fazla yakalayan yaylı ayraç varsa, PCRE ardışık bir işlem sırasında veriyi saklamak için pcre_malloc ile ayırarak ve işi bitince pcre_free ile serbest bırakarak fazladan bellek sağlamak zorundadır. Eğer bu bellek ayrılamazsa, bir ardışık işlem sırasında bellek yetersiz hatası vermek mümkün olmadığından veriyi, sadece ilk 15 yakalayan yaylı ayraç için saklar.

(?1), (?2) ve benzerleri ardışık alt şablonlarda da kullanılabilmektedir. Ayrıca, (?P>isim) veya (?P&isim) isimli alt şablonlarını da kullanmak mümkündür.

İsimli veya numararalı bir ardışık alt şablon gönderim sözdizimi, gönderimde bulunduğu yaylı ayraçların dışında kullanılmışsa bir programlama dilindeki bir alt yordam gibi işlem yapar. Önceki örneklerden birinde, (sens|respons)e and \1ibility şablonu "sense and sensibility" ve "response and responsibility" ile eşleşiyor, fakat "sense and responsibility" ile eşleşmiyordu. Eğer (sens|respons)e and (?1)ibility şablonu kullanılmış olsaydı diğer iki dizgeyle birlikte "sense and responsibility" dizgesi de eşleşecekti. Böyle gönderimlerin, yine de atıfta bulunduğu alt şablondan sonra gelmesi gerekir.

Eşleşmeye konu dizgenin azami uzunluğu bir tamsayı değişkenin tutabileceği en büyük pozitif tamsayı kadar olabilirse de PCRE ardışık işlem yaparak sonsuz sayıda yinelemeyi ve alt şablonu işleyebilir. Bu bakımdan, belli bir şablon tarafından işlenebilecek bir dizgenin uzunluğunu sınırlayan şey aslında, kullanılabilecek yığıtın büyüklüğüdür.


Başarım

Şablonların içindeki bazı ögeler diğerlerine göre daha verimli olabilir. Örneğin, [aeiou] gibi bir karakter sınıfı, (a|e|i|o|u) gibi bir olasılık kümesine göre daha verimlidir. Genelde, gerekli davranışı sergileyen en basit oluşum normal olarak en verimli oluşumdur. Jeffrey Friedl'ın kitabı, düzenli ifadelerin verimini arttırmak için en iyilenmeleriyle ilgili bir çok inceleme içerir.

Bir şablon .* ile başlıyorsa ve PCRE_DOTALL seçeneği etkinse, şablon, sadece eşleşmeye konu dizgenin başlangıcı ile eşleşebileceğinden, örtük olarak PCRE tarafından demirlenir. Bununla birlikte, PCRE_DOTALL seçeneği etkin değilse, nokta işleci satırsonu karakteri ile eşleşmeyeceğinden ve eşleşmeye konu dizge çok sayıda satırsonu içeriyorsa şablon dizgenin başlangıcından başka diğer satırsonu karakterlerinin sonrası ile de eşleşeceğinden PCRE bu en iyilemeyi yapamaz. Örneğin, (.*) ikinci şablonu, ilk yakalanan alt dizge "ve" olmak üzere "birinci\nve ikinci" dizgesiyle eşleşir (\n satırsonu karakteridir). PCRE bunu yaparken, eşleşmeye konu dizgedeki her satırsonu karakterinden sonra eşleşme başlatmayı tekrarlamak zorundadır.

Böyle bir şablonu satırsonu karakteri içermeyen bir dizgeyle eşleştirmek için kullanıyorsanız en iyi başarımı PCRE_DOTALL seçeneğini etkin kılarak veya demirlemeyi açıkça belirtmek için şablonu ^.* ile başlatarak sağlayabilirsiniz. Bu, PCRE'yi her satırsonunda eşleşmeyi yeni baştan başlatmaktan kurtarır.

İç içe sonsuz sayıda yineleme içeren şablonlara karşı dikkatli olun. Kendileriyle eşleşmeyen bir dizgeye rastladıklarında sonuç almak çok uzun sürebilir. Örneğin (a+)* şablonunu ele alalım.

Bu şablon "aaaa" dizgesiyle 33 farklı yolla eşleşir ve dizge uzadıkça bu sayı büyük bir hızla artar. (* yinelemesi 0, 1, 2, 3, 4 kere eşleşir ve sıfırdan farklı bütün durumlarda + yinelemeleri farklı kereler eşleşebilir.) Şablonun kalanı böyle olduğu takdirde şablonun tamamıyla eşleşme mümkün olmayacaktır. PCRE kural olarak olası her çeşit yinelemeyi deneyeceğinden bu işlem oldukça uzun bir zaman alacaktır.

Şablonun ardına, (a+)*b şeklinde özel olmayan bir karakter getirilmesi gibi basit çözümlerle bir en iyileme mümkündür. Standart eşleştirme işlemlerine girişmeden önce, PCRE eşleşmeye konu dizgenin sonlarına doğru bir "b" varlığını araştırır; bulamazsa, hemen eşleşmenin başarısız olduğunu bildirir. Ancak böyle arda eklenebilecek özel olmayan bir karakterin yokluğunda bu en iyileme kullanılamaz. (a+)*\d şablonunun davranışını yukarıdaki şablonla karşılaştırarak farkı görebilirsiniz. Birincisi sadece "a"lardan oluşan bir satıra uygulandığında hemen her durumda daima anında başarısız olurken ikincisinin başarısızlığı dizge 20 karakterden uzun olduğunda farkedilebilecek kadar uzun bir süre sonra gerçekleşir.


Düzenli ifadeler için kullanılabilecek değiştiriciler

Mevcut olası PCRE değiştiricileri aşağıda listelenmiştir. Yaylı ayraçlar içinde belirtilen isimler bu değiştiricilerin dahili PCRE isimleridir. Değiştiricilerdeki boşluklar va satırsonu karakterleri yok sayılır, diğer karakterler ise hataya sebep olur.

i (PCRE_CASELESS)
Bu değiştirici etkin olursa şablondaki harfler hem küçük hem de büyük harflerle eşleşir.
m (PCRE_MULTILINE)
PCRE öntanımlı olarak, eşleşmeye konu dizgeyi karakterlerden oluşan tek bir satır olarak ele alır (satırsonu karakter ile bitmese bile). "Satır başlangıcıyla eşleşme işleci" olan ^ karakteri dizgenin başlangıcıyla, "satır sonuyla eşleşme işleci" olan $ karakteri ise dizgenin sonu ile veya (D değiştiricisi belirtilmedikçe) satırı sonlandıran satırsonu karakterinin öncesiyle eşleşir. Bu. Perl'de de böyledir. Bu değiştiricinin etkin olduğu durumda, satır başı ve satır sonu ile eşleşme işleçleri, dizgenin başı ve sonu ile eşleşmenin yanında satırsonu karakterinin (sırasıyla) sonrası ve öncesiyle de eşleşir. Bu değiştirici Perl'in \m değiştiricisine eşdeğerdir. Eğer eşleşmeye konu dizge "satırsonu karakteri "\n" içermiyorsa veya şablonda ^ veya $ işleçleri kullanılmamışsa bu değiştiricinin bir etkisi olmayacaktır.
s (PCRE_DOTALL)
Bu değiştirici etkin olduğunda şablondaki nokta işleci, satırsonu karakteri dahil tüm karakterlerle eşleşir. Etkin olmadığı takdirde satırsonu karakterleri dışlanır. Bu değiştirici Perl'ün \s değiştiricisine eşdeğerdir. [^a] gibi olumsuz bir sınıf, bu değiştiriciden bağımsız olarak daima satırsonu karateriyle eşleşir.
x (PCRE_EXTENDED)
Bu değiştirici etkin olduğunda şablondaki boşluk karakterleri, öncelenmedikçe veya bir karakter sınıfı içinde yer almadıkça tamamen yoksayıldıkları gibi, bir karakter sınıfının dışında öncelenMEmiş bir # ve sonraki satırsonu karakteri arasındaki karakterlerin tamamı ile satırsonu karakteri de yoksayılır. Bu değiştirici Perl'ün \x değiştiricisine eşdeğerdir ve karmaşık şablonların içine açıklamalar konmasını mümkün kılar. Ancak, bunun sadece veri karakterlerine uygulanmakta oluşuna dikkat ediniz. Boşluk karakterleri, bir şablonda özel karakter dizilimlerinin içinde bulunamazlar; örneğin, bir koşullu alt şablon başlatan (?( dizilimi içinde bulunamazlar.
A (PCRE_ANCHORED)
Bu değiştirici etkin olduğunda, şablon demirlemeye zolanır yani, şablon eşleşmeye konu dizgenin sadece başlangıcı ile eşleşmeye zorlanır. Bu etki, şablonun içindeki oluşumlarla da sağlanabilir ve Perl'de bunu yapmanın başka yolu yoktur.
D (PCRE_DOLLAR_ENDONLY)
Bu değiştirici etkin olduğunda, şablondaki dolar işleci eşleşmeye konu dizgenin sadece sonu ile eşleşir. Bu değiştirici olmaksızın dolar işleci, satır sonlandıran karakter satırsonu karakteri olduğu takdirde sonuncu satır sonu karakterinin (daha öncekilerin değil) hemen öncesi ile eşleşir. m değiştiricisi etkin olduğunda bu değiştirici yok sayılır. Perl'de bu değiştiricinin eşdeğeri yoktur.
S
Bir şablon defalarca eşleştirilmeye çalışılıyorsa, eşleşme için harcanan zamanı kısaltmak için çözümlemeye harcanan zamanı arttırmak en iyi çözümdür. Bu değiştirici etkin olduğunda ek çözümlemeler yapılır. Halihazırda bu sadece, şablonu tek bir başlangıç karakteriyle eşleşmeye zorlayan demirli şablonlar hariçindeki şablonlar için yararlı olmaktadır.
U (PCRE_UNGREEDY)
Bu değiştirici etkin olduğunda, niceleyicilerin açgözlülüğü tersine çevirir. Böylece, ardlarına bir "?" konmadıkça niceleyiciler öntanımlı olarak açgözlü olmaz. Bu değiştirici Perl ile uyumlu değildir. Ayrıca, değiştirici şablon içinde de (?U ile) etkin kılılınabileceği gibi niceleyicinin ardına bir soru işareti konarak da (.*? gibi) bu sağlanabilir.

Bilginize:

Normalde, isteksiz kipte pcre.backtrack_limit karakterden fazlasıyla eşleşme mümkün değildir.

X (PCRE_EXTRA)
Bu değiştirici PCRE'nin Perl ile uyumlu olmayan bir işlevselliğini açıp kapamakta kullanılır. Bir şablonda tersbölü ile öncelenmiş bir karakter özel bir anlama sahip değilse hataya sebep olur. Bu davranış, gelecekteki yorumlamalar için böyle tasarlanmıştır. Perl'de öntanımlı olarak, özel anlamı olmayan tersbölü ile öncelenmiş karakterler kendileri olarak ele alınırlar. Bu değiştiriciden etkilenen bir değiştirici henüz yoktur.
J (PCRE_INFO_JCHANGED)
(?J) dahili seçenek ayarı yerel PCRE_DUPNAMES seçeneğini değiştirerek isimlerin alt şablonlarda tekrarlanmasını mümkün kılar. PHP 7.2.0 ve sonrasında, J aynı zamanda değiştirici olarak da desteklenmekedir.
u (PCRE_UTF8)
Bu değiştirici PCRE'nin Perl ile uyumlu olmayan bir işlevselliğini etkin kılarak şablon ve konu dizgelerinin karakter kodlamasının UTF-8 olduğunun varsayılmasını sağlar. Geçersiz bir konu, preg_* işlevlerinin hiçbir şeyle eşleşmemesine neden olur; geçersiz bir kalıp E_WARNING seviyesinde bir hatayı tetikleyecektir. Beş ve altı sekizlikli UTF-8 karakterler geçersiz yanıt olarak kabul edilir.
n (PCRE_NO_AUTO_CAPTURE)
Bu değiştirici, basit (xyz) grupları yakalanmaz hale getirir. Yalnızca (?<ad>xyz) gibi adlandırılmış gruplar yakalanır. Bu yalnızca hangi grupların yakalandığını etkiler, yine de numaralandırılmış alt kalıp başvurularını kullanmak mümkündür ve eşleşme dizisi yine de numaralandırılmış sonuçları içerir.


Perl'e göre farklılıklar

PCRE'nin Perl'in 5.005 sürümüne göre farkları burada açıklanmıştır.

  1. PCRE'yi başka bir karakter türü tablosu ile derlemek mümkünse de bir boşluk karakteri, öntanımlı olarak, C kütüphanesinin isspace() işlevi ile tanınan bir karakterdir. Normalde isspace() işlevinin eşleştiği boşluk karakterleri, boşluk, sayfa ileri, satırsonu, satırbaşı yatay ve düşey sekme karakterleridir. Perl 5'te düşey sekme karakteri artık boşluk karakterlerinden biri olarak ele alınmamaktadır. \v özel karakteri Perl belgelerinde uzun zamandır yer almamaktadır. Yine de, 5.002 sürümüne kadar boşluk karakterlerinden biri olarak ele alınmaktaydı. 5.004 ve 5.005'te \s ile eşleşmemektedir.
  2. PCRE ileriye bakan savlarda yineleyicilere izin vermez. Perl buna izin verirse de bunu sizin düşündüğünüz tarzda ele almaz. Örneğin, (?!a){3} şablonu, sonraki üç karakterin "a" olmayacağını değil, sonraki "a"'nın üç kere yinelenmeyeceğini iddia eder.
  3. İleriye bakan savların içinde yer alan numaralı alt şablonlar sayılır fakat başlangıç yöneylerindeki girdileri hiçbir zaman ektin kılınmaz. Perl, savın başarısız olmasından önce eşleşen böyle şablonlardaki sayısal değişkenleri sadece ileriye bakan olumsuz bir sav tek bir dal oluşturuyorsa atar.
  4. İkil sıfır karakterleri eşleşmeye konu dizgede destekleniyorsa da normalde C dizgelerini sonlandırdıklarından şablonlar içinde bulunmalarına izin verilmez. Bir şablon içinde ikil sıfırı belirtmek için "\x00" dizilimi kullanılabilir.
  5. \l, \u, \L, \U Perl öncelemleri desteklenmemektedir. Aslında bunlar Perl'in genel dizge işlemleri altında gerçeklenmiş olup şablon eşleme motorunun parçaları değildirler.
  6. Perl'de \G savı, tekil şablon eşleşmeleri ile ilgili olmadığından desteklenmemektedir.
  7. Oldukça açıktır ki, PCRE (?{kod}) ve (??{kod}) oluşumlarını desteklemez. Ancak şablonlar içi içe olduğunda desteklenir.
  8. Numaralı alt dizgelerin şablonun yinelenen parçaları olduğu durumda Perl 5.005_02'den kaynaklanan bazı tuhaflıklar söz konusunudr. Örneğin, /^(a(b)?)+$/ şablonu "aba" dizgesiyle eşleşirken "b" değerine $2 atanır. Fakat, /^(aa(bb)?)+$/ şablonu "aabbaa" dizgesiyle eşleşirken $2'ye hiçbir şey atanmaz. Ancak, şablon, /^(aa(b(b))?)+$/ olarak yazılırsa $2 (ve $3) değişkenlerine değer atanır. Perl 5.004'te $2 her iki durumda da atanmaktadır. Eğer Perl, gelecekte bu tutarlı durumda bir değişiklik yapacak olursa PCRE de bu değişikliğe uyum sağlayacaktır.
  9. Perl 5.005_02'deki henüz çözümlenmemiş başka bir tutarsızlık da, PCRE'nin tersine /^(a)?(?(1)a|b)+$/ şablonunun "a" dizgesiyle eşleşmesidir. Bununla birlikte gerek Perl gerekse PCRE, /^(a)?a/ şablonunu "a" ile eşleştirirken $2 değişkenine hiçbir şey atamazlar.

  10. PCRE'nin Perl düzenli ifade oluşumlarına ek olarak bazı oluşumları vardır:

    1. Geriye bakan savların sabit uzunlukta dizgelerle eşleşmesi gerektiği halde, geriye bakan savın içerdiği her olasılık farklı uzunluktaki bir dizgeyle eşleşebilir. Perl 5.005'te her iki durumda da uzunlukların eşit olması gerekir.
    2. Eğer PCRE_DOLLAR_ENDONLY seçeneği etkinken PCRE_MULTILINE etkin değilse $ işleci sadece dizgenin en sonu ile eşleşir.
    3. Eğer PCRE_EXTRA etkinse tersbölü ile öncelenmiş karakterlerden özel anlamı olmayanlar hataya sebep olur.
    4. Eğer PCRE_UNGREEDY etkinse yineleyicilerin tamahkarlığı ters çevrilir, yani, yineleyicinin ardına bir "?" imi konmadıkça yineleyiciler öntanımlı olarak tamahkarlık göstermezler.


PCRE İşlevleri

İçindekiler

  • preg_filter — Bir düzenli ifade arama ve değiştirmesi yapar
  • preg_grep — Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür
  • preg_last_error_msg — Son PCRE düzenli ifade işleminin hata iletisini döndürür
  • preg_last_error — Son PCRE düzenli ifade aramasından dönen hatayı döndürür
  • preg_match_all — Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_match — Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_quote — Düzenli ifadelerin özel karakterlerini önceler
  • preg_replace_callback_array — Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar
  • preg_replace_callback — Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
  • preg_replace — Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split — Dizgeyi düzenli ifadeye göre böler


Bir düzenli ifade arama ve değiştirmesi yapar

  • « PCRE İşlevleri
  • preg_grep »
  • PHP Manual
  • PCRE İşlevleri
  • Bir düzenli ifade arama ve değiştirmesi yapar

preg_filter

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

preg_filter — Bir düzenli ifade arama ve değiştirmesi yapar

Açıklama

preg_filter(
string|array $şablon,
string|array $yenisi,
string|array $konu,
int $sınır = -1,
int &$sayı = null
): string|array|null

preg_filter() sadece eşleşen (değiştirilmiş olması olası) konuları döndürmesi dışında preg_replace() işlevi gibidir. Bu işlevin nasıl çalıştığıyla ilgili ayrıntılı bilgi için preg_replace() sayfasına bakılabilir

Bağımsız Değişkenler

Bağımsız değişkenler preg_replace() belgesinde açıklanmıştır.

Dönen Değerler

konu bağımsız değişkeni bir dizi ise bir dizi döndürür aksi takdirde bir dizge döner.

konu bağımsız değişkeni bir dizi ise ve hiç eşleşme olmazsa veya bir hata oluşmuşsa boş bir dizi döner; aksi takdirde null döner.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - preg_filter() ile preg_replace() işlevini karşılaştırma örneği

<?php
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
$pattern = array('/\d/', '/[a-z]/', '/[1a]/');
$replace = array('A:$0', 'B:$0', 'C:$0');

echo "preg_filter işlevinin sonucu:\n";
print_r(preg_filter($pattern, $replace, $subject));

echo "preg_replace işlevinin sonucu:\n";
print_r(preg_replace($pattern, $replace, $subject));
?>

Yukarıdaki örneğin çıktısı:

preg_filter işlevinin sonucu:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace işlevinin sonucu:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_replace_callback() - Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
  • preg_grep() - Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür


Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür

  • « preg_filter
  • preg_last_error_msg »
  • PHP Manual
  • PCRE İşlevleri
  • Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür

preg_grep

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_grep — Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür

Açıklama

preg_grep(string $şablon, array $dizi, int $seçenekler = 0): array|false

şablon ile eşleşen dizi dizisinin elemanlarından oluşan bir dizi döner.

Bağımsız Değişkenler

şablon

Bir dizge olarak, aranacak şablon.

dizi

Girdi dizisi.

seçenekler

PREG_GREP_INVERT belirtilirse, şablon ile eşleşmeyen girdi dizisinin elemanlarından oluşan bir dizi ile döner.

Dönen Değerler

dizi dizisindeki anahtarları kullanan bir dizi döndürür, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - preg_grep() örneği

<?php
// Gerçek sayı içeren bütün dizi elemanlarını döndürür
$fl_array = preg_grep("/^(\d+)?\.\d+$/", $array);
?>

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_match_all() - Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_filter() - Bir düzenli ifade arama ve değiştirmesi yapar
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür


Son PCRE düzenli ifade işleminin hata iletisini döndürür

  • « preg_grep
  • preg_last_error »
  • PHP Manual
  • PCRE İşlevleri
  • Son PCRE düzenli ifade işleminin hata iletisini döndürür

preg_last_error_msg

(PHP 8)

preg_last_error_msg — Son PCRE düzenli ifade işleminin hata iletisini döndürür

Açıklama

preg_last_error_msg(): string

Son PCRE düzenli ifade işleminin hata iletisini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda hata iletisi, hata oluşmamışsa "No error" döner.

Örnekler

Örnek 1 - preg_last_error_msg() örneği

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() !== PREG_NO_ERROR) {
echo preg_last_error_msg();
}

?>

Yukarıdaki örneğin çıktısı:

Backtrack limit exhausted

Ayrıca Bakınız

  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür


Son PCRE düzenli ifade aramasından dönen hatayı döndürür

  • « preg_last_error_msg
  • preg_match_all »
  • PHP Manual
  • PCRE İşlevleri
  • Son PCRE düzenli ifade aramasından dönen hatayı döndürür

preg_last_error

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

preg_last_error — Son PCRE düzenli ifade aramasından dönen hatayı döndürür

Açıklama

preg_last_error(): int

Son PCRE düzenli ifade aramasından dönen hatanın kodunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Aşağıdaki sabitlerden biri döner:

  • PREG_NO_ERROR
  • PREG_INTERNAL_ERROR
  • PREG_BACKTRACK_LIMIT_ERROR (ayrıca bkz: pcre.backtrack_limit)
  • PREG_RECURSION_LIMIT_ERROR (ayrıca bkz: pcre.recursion_limit)
  • PREG_BAD_UTF8_ERROR
  • PREG_BAD_UTF8_OFFSET_ERROR
  • PREG_JIT_STACKLIMIT_ERROR

Örnekler

Örnek 1 - preg_last_error() örneği

<?php

preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');

if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) {
echo 'Geri izleme sınırına ulaşıldı!';
}

?>

Yukarıdaki örneğin çıktısı:

Geri izleme sınırına ulaşıldı!

Ayrıca Bakınız

  • preg_last_error_msg() - Son PCRE düzenli ifade işleminin hata iletisini döndürür


Kapsamlı bir düzenli ifade eşleştirmesi yapar

  • « preg_last_error
  • preg_match »
  • PHP Manual
  • PCRE İşlevleri
  • Kapsamlı bir düzenli ifade eşleştirmesi yapar

preg_match_all

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match_all — Kapsamlı bir düzenli ifade eşleştirmesi yapar

Açıklama

preg_match_all(
string $şablon,
string $konu,
array &$eşleşmeler = null,
int $seçenekler = 0,
int $başlangıç = 0
): int|false

şablon ile belirtilen düzenli ifadeyi eşleştirmek için konu dizgesinde arama yapar ve bulunanları seçenekler ile belirtilen sırada eşleşmeler dizisine yerleştirir.

İlk eşleşme bulunduğunda arama işlemi bitmez, dizgenin sonuna kadar sürdürülür.

Bağımsız Değişkenler

şablon

Bir dizge olarak, aranacak şablon.

konu

Şablonla eşleşeceği düşünülen dizge.

eşleşmeler

seçenekler bağımsız değişkenine göre sıralanmış olarak tüm eşleşenleri içerecek dizi.

seçenekler

Aşağıdaki seçeneklerin bir birleşimi belirtilebilir (Dikkat: PREG_PATTERN_ORDER ve PREG_SET_ORDER birlikte beklenen yararı sağlamaz.):

PREG_PATTERN_ORDER

$eşleşmeler[0] şablonun tamamıyla eşleşen dizgeyi, $eşleşmeler[1] ve sonrakiler alt şablonlarla eşleşen alt dizgeleri içermek üzere sonuçları sıralar.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b>örnek: </b><div align=left>bu bir denemedir</div>",
$out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Yukarıdaki örneğin çıktısı:

<b>örnek: </b>, <div align=left>bu bir denemedir</div>
örnek: , bu bir denemedir

Böylece, $out[0] şablonun tamamıyla eşleşen dizgeleri içeren bir dizi, $out[1] ise etiketler arasında kalan dizgeleri içeren bir dizi içerir.

Şablon, isimli alt şablonlar içeriyorsa, $eşleşmeler ayrıca anahtarları alt şablon ismi olan öğeleri de içerir.

Şablon, yinelenen isimli alt şablonlar içeriyorsa, $eşleşmeler[iSiM] yalnızca en sağdaki alt şablonu içerir.

<?php
preg_match_all(
'/(?J)(?<isim>foo)|(?<isim>bar)/',
'foo bar',
$eşleşmeler,
PREG_PATTERN_ORDER
);
print_r($eşleşmeler['isim']);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] =>
    [1] => bar
)

PREG_SET_ORDER

$eşleşmeler[0] ilk eşleşme kümesini, $eşleşmeler[1] ve sonrakiler sonraki eşleşme kümelerini içermek üzere çıktıyı sıralar.

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
"<b>örnek: </b><div align=\"left\">bu bir denemedir</div>",
$out, PREG_SET_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "\n";
echo $out[1][0] . ", " . $out[1][1] . "\n";
?>

Yukarıdaki örneğin çıktısı:

<b>örnek: </b>, örnek:
<div align="left">bu bir denemedir</div>, bu bir denemedir

PREG_OFFSET_CAPTURE

Bu seçenek etkin olduğunda, her eşleşme bulunduğunda sonraki arama başlangıcı da (bayt cinsinden) döner. Bu durumda, dönen dizinin her elemanı ayrıca birer dizi olup, her elemanın 0 indisinde eşleşen dizge, 1 indisinde ise konu içindeki başlangıç konumunu bulunur.

<?php
preg_match_all('/(foo)(bar)(baz)/', 'foobarbaz', $eşleşmeler, PREG_OFFSET_CAPTURE);
print_r($eşleşmeler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => foobarbaz
                    [1] => 0
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => foo
                    [1] => 0
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [0] => bar
                    [1] => 3
                )

        )

    [3] => Array
        (
            [0] => Array
                (
                    [0] => baz
                    [1] => 6
                )

        )

)

PREG_UNMATCHED_AS_NULL

Bu seçenek kullanılırsa, eşleşmeyen alt şablonlar null olarak, kullanılmazsa boş bir dize olarak rapor edilir.

Bir sıralama seçeneği belirtilmediği takdirde PREG_PATTERN_ORDER öntanımlıdır.

başlangıç

konu dizgesinde aramanın başlatılacağı konum; isteğe bağlı olup bayt cinsinden belirtilir.

Bilginize:

başlangıç bağımsız değişkeninin kullanımı, substr($subject, $offset) ile konu dizgede belirtilen başlangıca göre işleve bir alt dizge aktarmaya eşdeğer değildir. Çünkü, şablon, ^, $, (?<=x) gibi savlar içerebilir. Örnekler için preg_match() işlevine bakınız.

Dönen Değerler

başarısızlık durumunda false döner, aksi takdirde şablonun tamamıyla eşleşenlerin sayısını (0 olabilir) döndürür.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | seçenekler bağımsız değişkeninde artık PREG_UNMATCHED_AS_NULL destekleniyor.

Örnekler

Örnek 1 - Bir metinden telefon numaralarının toplanması

<?php
preg_match_all("/\(? (\d{3})? \)? (?(1) [\-\s] ) \d{3}-\d{4}/x",
"555-1212 veya 1-800-555-1212 numarayı arayın", $teller);
?>

Örnek 2 - HTML etiketlerini bulmak (tamahkarca)

<?php
// \\2 bir geriye gönderim örneği olup PCRE'ye düzenli ifadenin
// ikinci yaylı ayraçlı grubuyla eşleşeceğini söyler; yani ([\w]+) ile.
// Dizge çift tırnak içine alınmış olduğundan çift tersbölü kullanılmıştır.
$html = "<b>Vurgulanmış metin</b><a href=howdy.html>buraya tıklayın</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/",
$html, $eşleşenler, PREG_SET_ORDER);

foreach ($eşleşenler as $eşleşen) {
echo " eşleşen: " . $eşleşen[0] . "\n";
echo "1. parça: " . $eşleşen[1] . "\n";
echo "2. parça: " . $eşleşen[2] . "\n";
echo "3. parça: " . $eşleşen[3] . "\n";
echo "4. parça: " . $eşleşen[4] . "\n\n";
}
?>

Yukarıdaki örneğin çıktısı:

 eşleşen: <b>Vurgulanmış metin</b>
1. parça: <b>
2. parça: b
3. parça: Vurgulanmış metin
4. parça: </b>

 eşleşen: <a href=howdy.html>buraya tıklayın</a>
1. parça: <a href=howdy.html>
2. parça: a
3. parça: buraya tıklayın
4. parça: </a>

Örnek 3 İsimli alt şablon kullanımı

<?php

$konu = <<<FOO
a: 1
b: 2
c: 3
FOO;
preg_match_all('/(?P<isim>\w+): (?P<rakam>\d+)/', $konu, $eşleşenler);

// Bu da olur:
//preg_match_all('/(?<isim>\w+): (?<rakam\d+)/', $konu, $eşleşenler);

print_r($eşleşenler);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => a: 1
            [1] => b: 2
            [2] => c: 3
        )

    [isim] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [rakam] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

)

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür


Bir düzenli ifadeyi eşleştirmeye çalışır

  • « preg_match_all
  • preg_quote »
  • PHP Manual
  • PCRE İşlevleri
  • Bir düzenli ifadeyi eşleştirmeye çalışır

preg_match

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_match — Bir düzenli ifadeyi eşleştirmeye çalışır

Açıklama

preg_match(
string $şablon,
string $konu,
array &$eşleşenler = null,
int $seçenekler = 0,
int $başlangıç = 0
): int|false

şablon ile belirtilen düzenli ifadeyi eşleştirmek için konu dizgesinde arama yapar.

Bağımsız Değişkenler

şablon

Bir dizge olarak, aranacak şablon.

konu

Şablonla eşleşeceği düşünülen dizge.

eşleşmeler

Belirtildiği takdirde sonuçları içerecek dizi. $eşleşmeler[0] elemanı şablonun tamamıyla eşleşen metni, $eşleşmeler[1] ve sonrakiler yakalayan yaylı ayraçlı alt şablonlarla eşleşen alt dizgeleri içerir.

seçenekler

Bu bağımsız değişkende şu seçenekler bir arada belirtilebilir:

PREG_OFFSET_CAPTURE

Bu seçenek etkin olduğunda, her eşleşme bulunduğunda sonraki arama başlangıcı da (bayt cinsinden) döner. Bu durumda, dönen dizinin her elemanı ayrıca birer dizi olup, her elemanın 0 indisinde eşleşen dizge, 1 indisinde ise konu içindeki başlangıç konumu bulunur.

<?php
preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $eşleşmeler, PREG_OFFSET_CAPTURE);
print_r($eşleşmeler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => foobarbaz
            [1] => 0
        )

    [1] => Array
        (
            [0] => foo
            [1] => 0
        )

    [2] => Array
        (
            [0] => bar
            [1] => 3
        )

    [3] => Array
        (
            [0] => baz
            [1] => 6
        )

)

PREG_UNMATCHED_AS_NULL

Bu seçenek kullanılmışsa, eşleşmeyen alt şablonlar null döndürür, kullanılmadığında ise boş dizge döndürür.

<?php
preg_match('/(a)(b)*(c)/', 'ac', $eşleşmeler);
var_dump($eşleşmeler);
preg_match('/(a)(b)*(c)/', 'ac', $eşleşmeler, PREG_UNMATCHED_AS_NULL);
var_dump($eşleşmeler);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(2) "ac"
  [1]=>
  string(1) "a"
  [2]=>
  string(0) ""
  [3]=>
  string(1) "c"
}
array(4) {
  [0]=>
  string(2) "ac"
  [1]=>
  string(1) "a"
  [2]=>
  NULL
  [3]=>
  string(1) "c"
}

başlangıç

konu dizgesinde aramanın başlatılacağı konum; isteğe bağlı olup bayt cinsinden belirtilir.

Bilginize:

başlangıç bağımsız değişkeninin kullanımı, substr($konu, $başlangıç) ile konu dizgede belirtilen başlangıca göre bir alt dizge aktarmaya eşdeğer değildir. Çünkü, şablon, ^, $, (?<=x) gibi savlar içerebilir. Şu iki örneği karşılaştıralım:

1. örnek:

<?php
$konu = "abcdef";
$şablon = '/^def/';
preg_match($şablon, $konu, $eşleşmeler, PREG_OFFSET_CAPTURE, 3);
print_r($eşleşmeler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
)

2. örnek:

<?php
$konu = "abcdef";
$şablon = '/^def/';
preg_match($şablon, substr($konu,3), $eşleşmeler, PREG_OFFSET_CAPTURE);
print_r($eşleşmeler);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )

)

substr() kullanımından kaçınmak için, başlangıç bağımsız değişkeninde her ikisi de çalışan ^ demiri veya A değiştiricisi yerine bir seçenek olarak \G savı da kullanılabilir.

Dönen Değerler

preg_match() işlevi eğer şablon ile konu eşleşirse 1, eşleşmezse 0 ve başarısızlık durumunda false döner

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | seçenekler bağımsız değişkeninde artık PREG_UNMATCHED_AS_NULL destekleniyor.

Örnekler

Örnek 1 - Metin içinde "php" dizgesini bulmak

<?php
// Şablonun ardına konan "i" aramanın harf büyüklüğüne
// duyarsız olacağını belirtir.
if (preg_match("/php/i", "PHP bir betik dilidir.")) {
echo "Eşleşme sağlandı.";
} else {
echo "Eşleşme sağlanamadı.";
}
?>

Örnek 2 - "cebir" sözcüğünü bulmak

<?php
/* \b işleci şablonun tam bir sözcükle eşleşeceğini belirtir,
yani "cebir" eşleşirken "cebirci", "cebirsel "eşleşmez.*/
if (preg_match("/\bcebir\b/i", "Cebir en sevdiğim derstir.")) {
echo "Eşleşme var.";
} else {
echo "Eşleşme yok.";
}

if (preg_match("/\bcebir\b/i", "Cebirci yazılı yapacak!")) {
echo "Eşleşme var.";
} else {
echo "Eşleşme yok.";
}
?>

Örnek 3 - Bir adresten alan ismini çekip almak

<?php
// adresten alan ismini alalım
preg_match('@^(?:http://)?([^/]+)@i',
"http://www.php.net/index.html", $matches);
$host = $matches[1];

// alan adının son iki parçasını alalım
preg_match('/[^.]+\.[^.]+$/', $host, $matches);
echo "alan adı: {$matches[0]}\n";
?>

Yukarıdaki örneğin çıktısı:

alan adı: php.net

Örnek 4 - İsimli alt şablon kullanımı

<?php

$dizge = 'mesela: 2008';

preg_match('/(?P<isim>\w+): (?P<sene>\d+)/', $dizge, $eşleşmeler);

// Bu da olur:
// preg_match('/(?<isim>\w+): (?<sene>\d+)/', $dizge, $eşleşmeler);

print_r($eşleşmeler);

?>

Yukarıdaki örneğin çıktısı:

(
    [0] => mesela: 2008
    [isim] => mesela
    [1] => mesela
    [sene] => 2008
    [2] => 2008
)

Notlar

İpucu

Bir dizgeyi başka bir dizge ile eşleştirmek için bu işlevi değil, bu işi daha hızlı yapan strpos() işlevini kullanın.

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_match_all() - Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür
  • preg_last_error_msg() - Son PCRE düzenli ifade işleminin hata iletisini döndürür


Düzenli ifadelerin özel karakterlerini önceler

  • « preg_match
  • preg_replace_callback_array »
  • PHP Manual
  • PCRE İşlevleri
  • Düzenli ifadelerin özel karakterlerini önceler

preg_quote

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_quote — Düzenli ifadelerin özel karakterlerini önceler

Açıklama

preg_quote(string $dizge, ?string $ayırıcı = null): string

preg_quote() işlevi dizge bağımsız değişkeninde bulunan düzenli ifade özel karakterlerinin her birinin önüne tersbölü karakteri yerleştirir. Düzenli ifade dizgesini çalışma anında oluşturuyorsanız ve du dizgelerin özel karakterleri içerme olasılığı varsa bu işlev çok işe yarar.

Özel düzenli ifade karakterleri şunlardır: . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

Dikkat: / özel bir düzenli ifade karakteri değildir.

Bilginize:

preg_quote() kullanımı preg_replace() işlevine $yenisi dizgesinin uygulanmasına eşdeğer değildir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

ayırıcı

Belirtilmesi isteğe bağlı olup, gerekirse bu ayırıcı da öncelenecektir. PCRE işlevlerinin gerektirdiği ayırıcıları öncelemek için yararlıdır. / karakteri en çok kullanılan ayırıcılardan biridir.

Dönen Değerler

Öncelenmiş (sarmalanmış) dizge ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | # karakteri artık önceleniyor.
7.2.0 | ayırıcı artık null olabiliyor.

Örnekler

Örnek 1 - preg_quote() örneği

<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // çıktısı: \$40 for a g3\/400
?>

Örnek 2 - Bir metnin içindeki bir kelimeyi vurgulamak

<?php
// Bu örnekte, preg_quote($kelime),
// düzenli ifade için özel anlama sahip
// yıldız imlerini öncelemekte kullanılmıştır.

$metin = "Bu kitabı bulmak çok *zor*.";
$kelime = "*zor*";
$metin = preg_replace ("/" . preg_quote($kelime, '/') . "/",
"<i>$kelime</i>",
$metin);

Sonuç: Bu kitabı bulmak çok <i>*zor*</i>.
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • PCRE Şablonları
  • escapeshellcmd() - Kabuk özel karakterlerini önceler


Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar

  • « preg_quote
  • preg_replace_callback »
  • PHP Manual
  • PCRE İşlevleri
  • Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar

preg_replace_callback_array

(PHP 7, PHP 8)

preg_replace_callback_array — Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar

Açıklama

preg_replace_callback_array(
array $şablon,
string|array $konu,
int $sınır = -1,
int &$sayı = null,
int $seçenekler = 0
): string|array|null

Her şablon için ayrı bir geriçağırım işlevi çağrılması dışında preg_replace_callback() işlevi gibidir.

Bağımsız Değişkenler

şablon

Şablonların (anahtarlar) geriçağırım işlevlerine (değerler) eşleştirildiği bir dizi.

konu

Şablonun aranacağı yer değiştirmeye konu dizge veya dizi.

sınır

Her konu dizgesinde her şablon için olası azami yer değiştirme sayısı. -1 öntanımlıdır (sınırsız).

sayı

Belirtildiği takdirde yapılan yer değiştirmelerin sayısı bu bağımsız değişkene konur.

seçenekler

seçenekler bağımsız değişkeni, eşleşen dizinin biçimini açıklamak için PREG_OFFSET_CAPTURE ve PREG_UNMATCHED_AS_NULL seçeneklerini bir arada içerebilir. Ayrıntılar preg_match() işlevinde bulunabilir.

Dönen Değerler

konu bağımsız değişkeni bir dizi ise işlev bir dizi, dizge ise bir dizge döndürür. Hata durumunda null döner.

Eşleşme gerçekleşmişse yeni konu, aksi takdirde konu değiştirilmeden döndürülür.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - preg_replace_callback_array() örneği

<?php
$subject = 'Aaaaaa Bbb';

preg_replace_callback_array(
[
'~[a]+~i' => function ($match) {
echo '"a" için ', strlen($match[0]), ' eşleşme bulundu', PHP_EOL;
},
'~[b]+~i' => function ($match) {
echo '"b" için ', strlen($match[0]), ' eşleşme bulundu', PHP_EOL;
}
],
$subject
);
?>

Yukarıdaki örneğin çıktısı:

"a" için 6 eşleşme bulundu
"b" için 3 eşleşme bulundu

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_replace_callback() - Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür
  • İsimsiz işlevler


Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar

  • « preg_replace_callback_array
  • preg_replace »
  • PHP Manual
  • PCRE İşlevleri
  • Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar

preg_replace_callback

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

preg_replace_callback — Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar

Açıklama

preg_replace_callback(
string|array $şablon,
callable $geriçağırım,
string|array $konu,
int $sınır = -1,
int &$sayı = null,
int $seçenekler = 0
): string|array|null

yenisi bağımsız değişkeninin yerini bir geriçağırım işlevinin alması dışında, davranış bakımından preg_replace() işlevine hemen hemen eşdeğerdir.

Bağımsız Değişkenler

şablon

Aranacak şablon. Tek bir dizge olabileceği gibi çok sayıda dizge içeren bir dizi de olabilir.

geriçağırım

konu dizgesiyle eşleşen elemanlardan oluşan bir dizi ile çağrılıp yer değiştirilecek dizgeleri içeren bir dizi döndüren bir geriçağırım işlevinin ismi. İşlevin sözdizimi:

işleyici(array $eşleşmeler): string

preg_replace_callback() için geriçağırım işlevine genellikle tek bir yerde ihtiyaç vardır. Bu durumda, preg_replace_callback() çağrısı içinde geriçağırım işlevini bildirmek için anonim bir işlev kullanılabilir. Böylece çağrı için gereken tüm bilgi tek bir yerde toplanmış olur ve bir daha başka bir yerde kullanılmayacak olan geriçağırım işlevi, işlev isim alanında kalabalık etmez.

Örnek 1 - preg_replace_callback() ve anonim işlev

<?php
/* Paragraf başlangıcındaki büyük harfi küçük harfe çevirmek
için bir Unix tarzı komut satırı uygulaması */
$fp = fopen("php://stdin", "r") or die("std girdi okunamadı");
while (!feof($fp)) {
$konu = fgets($fp);
$konu = preg_replace_callback(
'|<p>\s*\w|',
function ($eşleşmeler) {
return strtolower($eşleşmeler[0]);
},
);
echo $konu;
}
fclose($fp);
?>

konu

Şablonun aranacağı yer değiştirmeye konu dizge veya dizi.

sınır

Her konu dizgesinde her şablon için olası azami yer değiştirme sayısı. -1 öntanımlıdır (sınırsız).

sayı

Belirtildiği takdirde yapılan yer değiştirmelerin sayısı bu bağımsız değişkene konur.

seçenekler

seçenekler bağımsız değişkeni, eşleşen dizinin biçimini açıklamak için PREG_OFFSET_CAPTURE ve PREG_UNMATCHED_AS_NULL seçeneklerini bir arada içerebilir. Ayrıntılar preg_match() işlevinde bulunabilir.

Dönen Değerler

konu bağımsız değişkeni bir dizi ise preg_replace_callback() de bir dizi döndürür aksi takdirde bir dizge döner. Hata durumunda daima null döner.

Eşleşmeler bulunduğu takdirde yeni konu döner, aksi takdirde bir hata oluşmamışsa konu değiştirilmeden döndürülür.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | seçenekler bağımsız değişkeni eklendi.

Örnekler

Örnek 2 - 1. preg_replace_callback() örneği

<?php
// Bu metindeki 2002'yi 2003 yapacağız
$metin = "Zafer Bayramı 30/08/2002 tarihinde olacak,\n";
$metin.= "Cumhuriyet bayramı ise 29/10/2001 tarihinde idi.\n";
// geriçağırım işlevi
function gelecek_sene($eşleşenler)
{
// normalde: $eşleşenler[0] eşleşmenin tamamını,
// $eşleşenler[1] (...) içindeki ilk altşablonla eşleşen kısmı,
// $eşleşenler[n] (...) içindeki n. altşablonla eşleşen kısmı içerir
return $eşleşenler[1].($eşleşenler[2]+1);
}
echo preg_replace_callback(
"|(\d{2}/\d{2}/)(\d{4})|",
"gelecek_sene",
$metin);

?>

Yukarıdaki örneğin çıktısı:

Zafer Bayramı 30/08/2003 tarihinde olacak,
Cumhuriyet bayramı ise 29/10/2002 tarihinde idi.

Örnek 3 - 2. preg_replace_callback() örneği

<?php
$input = "plain [indent] deep [indent] deeper [/indent] deep [/indent] plain";

function parseTagsRecursive($input)
{

$regex = '#\[indent]((?:[^[]|\[(?!/?indent])|(?R))+)\[/indent]#';

if (is_array($input)) {
$input = '<div style="margin-left: 10px">'.$input[1].'</div>';
}

return preg_replace_callback($regex, 'parseTagsRecursive', $input);
}

$output = parseTagsRecursive($input);

echo $output;
?>

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_replace_callback_array() - Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür
  • İsimsiz işlevler


Düzenli ifadeye göre dizgede değişiklik yapar

  • « preg_replace_callback
  • preg_split »
  • PHP Manual
  • PCRE İşlevleri
  • Düzenli ifadeye göre dizgede değişiklik yapar

preg_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_replace — Düzenli ifadeye göre dizgede değişiklik yapar

Açıklama

preg_replace(
string|array $şablon,
string|array $yenisi,
string|array $konu,
int $sınır = -1,
int &$değişiklik_sayısı = null
): string|array|null

konu dizgesini şablon ile eşleştirmeye çalışır ve bulduklarını yenisi ile değiştirir.

Şablon yerine dizgenin kendisi eşleştirilmek istenirse, bu işlev yerine str_replace() veya str_ireplace() kullanılanılabilir.

Bağımsız Değişkenler

şablon

Aranacak şablon. Tek bir dizge olabileceği gibi çok sayıda dizge içeren bir dizi de olabilir.

Ayrıca, PCRE değiştircileri de kullanılabilir.

yenisi

Yer değiştirme için kullanılacak dizge veya dizi. Eğer bir dizge belirtilmişse ve şablon bir dizi ise dizideki şablonlarla eşleşen tüm parçalara bu dizge yerleştirilir. Her iki bağımsız değişkende de dizi belirtilmişse her şablon elemanı için kendine karşılık gelen yenisi elemanı yerleştirilir. Eğer yenisi dizisinde daha az eleman varsa, karşılığı olmayan şablon elemanları için boş dizge kullanılır.

yenisi bağımsız değişkeni \\n veya $n, biçiminde geriye gönderimler içerebilir. Genellikle ikinci biçem tarcih edilir. Böyle her geriye gönderim n'inci yaylı ayraçlı şablon grubuyla yakalanan metne karşılıktır. n 0 ve 99 dahil bu ikisi arasında herhangi bir sayı olabilir ve \0 veya $0 şablonun tamamıyla eşleşen dizgeye karşılık gelir. Açan yaylı ayraçlar ilki 1 olmak üzere soldan sağa doğru sayılarak bu sayılar yakalayan alt şablonların numaraları olurlar. yenisi bağımsız değişkeninde tersbölü kullanılacaksa bunların öncelenmesi gerekir Dizge içersinde yer alan tersbölülerin öncelenmesinin gerekebileceği unutulmamalıdır.

Bir yer değiştirme şablonu ile çalışırken, bir geriye gönderimin hemen ardından başka bir sayının gelmesi durumunda geriye gönderim için alışılagelen \1 gösterimini kullanamazsınız. Örneğin \11 için işlev sizin \1 geriye gönderiminden sonra 1 mi koyduğunuzu yoksa ardına hiçbir sayı konulmamış \11 geriye gönderimini mi belirttiğinizi bilemeyeceğinden işlev hata verecektir. Böyle bir durumda çözüm ${1}1 kullanmaktır. Böylece $1 geriye gönderimi ardından gelen 1 rakamından yalıtılmış olur.

Artık kullanımı önerilmeyen e değiştiricisi kullanılırken, bu işlev geriye gönderimlerle değiştirilen dizgelerdeki bazı karakterleri (', ", \ ve NULL karakterlerini) tersbölü ile önceler. Bunun böyle yapılmasının sebebi, tek veya çift tırnak içine alınmış geriye gönderimlerin ('strlen(\'$1\')+strlen("$2")' gibi) sözdizimi hatası vermesine engel olmaktır. PHP'nin dizgeleri nasıl yorumladığını anlayabilmek için PHP'nin dizge sözdizimini iyi bilmeniz gerekir.

konu

Şablonun aranacağı yer değiştirmeye konu dizge veya dizi.

Eğer konu bir dizge ise arama ve değiştirme her eleman için ayrı ayrı yapılır ve sonuçlar da bir dizi olarak döndürülür.

Eğer konu ilişkisel bir dizi ise dönen değerde anahtarlar korunacaktır.

sınır

Her konu dizgesinde her şablon için olası azami yer değiştirme sayısı. -1 öntanımlıdır (sınırsız).

değişiklik_sayısı

Belirtildiği takdirde yapılan yer değiştirmelerin sayısı bu bağımsız değişkene konur.

Dönen Değerler

konu bağımsız değişkeni bir dizi ise preg_replace() de bir dizi döndürür aksi takdirde bir dizge döner.

Eşleşmeler bulunduğu takdirde yeni konu döner, aksi takdirde bir hata oluşmamışsa konu değiştirilmeden döndürülür; bir hata oluşmuşsa null döner.

Hatalar/İstisnalar

"\e" değiştiricisini kullanmak hataya yol açar ve bir E_WARNING çıktılanır.

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - Ardından bir sayı gelen geriye gönderim kullanımı

<?php
$dizge = 'April 15, 2003';
$şablon = '/(\w+) (\d+), (\d+)/i';
$yenisi = '${1}1,$3';
echo preg_replace($şablon, $yenisi, $dizge);
?>

Yukarıdaki örneğin çıktısı:

April1,2003

Örnek 2 - preg_replace() ile indisli dizi kullanımı

<?php
$dizge = 'The quick brown fox jumps over the lazy dog.';
$sablonlar = array();
$sablonlar[0] = '/quick/';
$sablonlar[1] = '/brown/';
$sablonlar[2] = '/fox/';
$yeniler = array();
$yeniler[2] = 'bear';
$yeniler[1] = 'black';
$yeniler[0] = 'slow';
echo preg_replace($sablonlar, $yeniler, $dizge);
?>

Yukarıdaki örneğin çıktısı:

The bear black slow jumps over the lazy dog.

Şablonlarla yenileri ksorting ile sıralarsak istediğimiz olur.

<?php
ksort($sablonlar);
ksort($yeniler);
echo preg_replace($sablonlar, $yeniler, $dizge);
?>

Yukarıdaki örneğin çıktısı:

The slow black bear jumped over the lazy dog.

Örnek 3 - Çeşitli değerlerin değiştirilmesi

<?php
$sablonlar = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
'/^\s*{(\w+)}\s*=/');
$yeniler = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($sablonlar, $yeniler, '{startDate} = 1999-5-27');
?>

Yukarıdaki örneğin çıktısı:

$startDate = 5/27/1999

Örnek 4 - Boşluk ayıklama

Bu örnekte dizgedeki fazladan boşluklar temizlenmektedir.

<?php
$str = 'foo o';
$str = preg_replace('/\s\s+/', ' ', $str);
// 'foo o' basılacak
echo $str;
?>

Örnek 5 - değişiklik_sayısı bağımsız değişkeninin kullanımı

<?php
$sayı = 0;

echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1 , $sayı), "\n";
echo $sayı; //3
?>

Yukarıdaki örneğin çıktısı:

xp***to
3

Notlar

Bilginize:

şablon ve yenisi bağımsız değişkenlerinde dizi kullanıldığında anahtarlar dizide yer aldıkları sırayla işlenirler. Bunun sayısal indis sırasında olması şart değildir. Hangi şablon'un yenisi'nin ne olacağını indis sırasına göre belirlemek isterseniz preg_replace() işlevini çağırmadan önce her iki diziyi de ksort() işlevinden geçirmelisiniz.

Bilginize:

şablon ve yenisi bağımsız değişkenlerinin ikisi de dizi ise eşleştirme kuralları sıralı uygulanır. Yani, ikinci şablon/yenisi çiftine uygulanacak dizge, birinci şablon/yenisi çiftinin sonucudur, özgün dizge değil. İki değeri takas etmek gibi paralel çalışan değiştirmeler yapılmak istenirse, bir şablonu bir ara yer tutucu ile değiştirip ardından daha sonraki bir çiftte bu aracı yer tutucu yenisi ile değiştirilebilir.

<?php
$p = array('/a/', '/b/', '/c/');
$r = array('b', 'c', 'd');
print_r(preg_replace($p, $r, 'a'));
// d basar
?>

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • preg_filter() - Bir düzenli ifade arama ve değiştirmesi yapar
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_replace_callback() - Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür
  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir


Dizgeyi düzenli ifadeye göre böler

  • « preg_replace
  • ssdeep »
  • PHP Manual
  • PCRE İşlevleri
  • Dizgeyi düzenli ifadeye göre böler

preg_split

(PHP 4, PHP 5, PHP 7, PHP 8)

preg_split — Dizgeyi düzenli ifadeye göre böler

Açıklama

preg_split(
string $şablon,
string $konu,
int $sınır = -1,
int $seçenekler = 0
): array|false

Belirtilen dizgeyi belirtilen düzenli ifadeye göre parçalara ayırır.

Bağımsız Değişkenler

şablon

Bir dizge olarak aranacak şablon.

konu

Parçalara ayrılacak dizge.

sınır

Belirtildiği takdirde sadece sınır sayıda alt dizge döner. sınır olarak -1 veya null belirtilmişse herhangi bir sayı sınırlaması yok demektir.

seçenekler

seçenekler olarak, bit seviyesinde VEYA ( | ) işleci ile birleştirilerek şunlar belirtilebilir:

PREG_SPLIT_NO_EMPTY
Etkin olduğunda işlev tarafından sadece boş olmayan parçalar döndürülür.
PREG_SPLIT_DELIM_CAPTURE
Etkin olduğunda şablon içindeki yaylı ayraçlı ifade yakalanıp döndürülür.
PREG_SPLIT_OFFSET_CAPTURE

Etkin olduğunda, eşleşmenin olduğu son dizgenin başlangıç konumu da döndürülür. Bu seçenek dönen dizideki değeri değiştirir. Dizideki her eleman, 0 indisinde eşleşen alt dizge, 1 indisinde ise alt dizgenin konu içindeki başlangıcını içeren bir diziden oluşur.

Dönen Değerler

konu dizgesinin şablon ile eşleşen parçalarını içeren bir dizi, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Düzenli ifade şablonu derlendiğinde geçerli bir düzenli ifade haline gelmezse bir E_WARNING çıktılanır.

Örnekler

Örnek 1 - preg_split() örneği

<?php
// Cümleyi virgül ve boşluk (" ", \r, \t, \n ve \f)
// karakterlerine göre parçalar.
$keywords = preg_split("/[\s,]+/", "hypertext language, programming");
print_r($keywords);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => hypertext
    [1] => language
    [2] => programming
)

Örnek 2 - Bir dizgeyi karakterlerine bölmek

<?php
$str = 'string';
$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => s
    [1] => t
    [2] => r
    [3] => i
    [4] => n
    [5] => g
)

Örnek 3 - Bir dizgeyi sözcüklerine ayırıp başlangıçlarıyla döndürmek

<?php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => hypertext
            [1] => 0
        )

    [1] => Array
        (
            [0] => language
            [1] => 10
        )

    [2] => Array
        (
            [0] => programming
            [1] => 19
        )

)

Notlar

İpucu

Düzenli ifadelerin gücünün gerekli olmadığı durumlar için explode(), str_split() işlevleri daha kullanışlı olabilir.

İpucu

Eşleşme başarısız olursa girdi dizgesini içeren tek öğeli bir dizi döner.

Ayrıca Bakınız

  • PCRE Şablonları
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler
  • implode() - Dizi elemanlarını birleştirip bir dizge elde eder
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • preg_match_all() - Kapsamlı bir düzenli ifade eşleştirmesi yapar
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • preg_last_error() - Son PCRE düzenli ifade aramasından dönen hatayı döndürür


ssdeep Fuzzy Hashing

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • ssdeep İşlevleri
    • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
    • ssdeep_fuzzy_hash — Create a fuzzy hash from a string


Giriş

ssdeep is a utility for creating and comparing fuzzy hashes or » context-triggered piecewise hashing.

Fuzzy hashing can match signatures which have "...sequences of identical bytes in the same order, although bytes in between these sequences may be different in both content and length". (» ssdeep project page)

This extension provides functions for creating and comparing fuzzy hashes.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires the » ssdeep library.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ssdeep.


  • « Özkaynak Türleri
  • ssdeep İşlevleri »
  • PHP Manual
  • ssdeep
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


ssdeep İşlevleri

İçindekiler

  • ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures
  • ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file
  • ssdeep_fuzzy_hash — Create a fuzzy hash from a string


Calculates the match score between two fuzzy hash signatures

  • « ssdeep İşlevleri
  • ssdeep_fuzzy_hash_filename »
  • PHP Manual
  • ssdeep İşlevleri
  • Calculates the match score between two fuzzy hash signatures

ssdeep_fuzzy_compare

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_compare — Calculates the match score between two fuzzy hash signatures

Açıklama

ssdeep_fuzzy_compare(string $signature1, string $signature2): int

Calculates the match score between signature1 and signature2 using » context-triggered piecewise hashing, and returns the match score.

Bağımsız Değişkenler

signature1

The first fuzzy hash signature string.

signature2

The second fuzzy hash signature string.

Dönen Değerler

Returns an integer from 0 to 100 on success, false otherwise.


Create a fuzzy hash from a file

  • « ssdeep_fuzzy_compare
  • ssdeep_fuzzy_hash »
  • PHP Manual
  • ssdeep İşlevleri
  • Create a fuzzy hash from a file

ssdeep_fuzzy_hash_filename

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash_filename — Create a fuzzy hash from a file

Açıklama

ssdeep_fuzzy_hash_filename(string $file_name): string

ssdeep_fuzzy_hash_filename() calculates the hash of the file specified by file_name using » context-triggered piecewise hashing, and returns that hash.

Bağımsız Değişkenler

file_name

The filename of the file to hash.

Dönen Değerler

Returns a string on success, false otherwise.


Create a fuzzy hash from a string

  • « ssdeep_fuzzy_hash_filename
  • Strings »
  • PHP Manual
  • ssdeep İşlevleri
  • Create a fuzzy hash from a string

ssdeep_fuzzy_hash

(PECL ssdeep >= 1.0.0)

ssdeep_fuzzy_hash — Create a fuzzy hash from a string

Açıklama

ssdeep_fuzzy_hash(string $to_hash): string

ssdeep_fuzzy_hash() calculates the hash of to_hash using » context-triggered piecewise hashing, and returns that hash.

Bağımsız Değişkenler

to_hash

The input string.

Dönen Değerler

Returns a string on success, false otherwise.


Dizgeler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Dizge İşlevleri
    • addcslashes — Dizgeye C tarzı öncelem uygular
    • addslashes — Özel karakterlerin önüne tersbölü yerleştirir
    • bin2hex — Bir ikil verinin onaltılık gösterimini elde eder
    • chop — rtrim işlevinin takma adıdır
    • chr — Bir sayıdan tek baytlık dizge üretir
    • chunk_split — Bir dizgeyi daha küçük parçalara ayırır
    • convert_cyr_string — Bir Kril karakter kümesini bir diğerine çevirir
    • convert_uudecode — Uuencoded ile kodlanmış bir dizgeyi eski haline getirir
    • convert_uuencode — Bir dizgeyi uuencode algoritmasıyla kodlar
    • count_chars — Bir dizgedeki karakterler hakkında bilgi döndürür
    • crc32 — Bir dizgenin crc32 çok terimlisini hesaplar
    • crypt — Tek yönlü dizge aşlama
    • echo — Bir veya daha fazla dizgeyi çıktılar
    • explode — Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
    • fprintf — Biçemli dizgeyi bir akıma yazar
    • get_html_translation_table — htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
    • hebrev — Mantıksal İbranice metni görsel metne dönüştürür
    • hebrevc — Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür
    • hex2bin — Onaltılık bir dizgeyi ikil dizgeye dönüştürür
    • html_entity_decode — HTML öğelerini karşılığı olan karakterlere dönüştürür
    • htmlentities — Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
    • htmlspecialchars_decode — Özel HTML öğelerini gerisin geriye karakterlere dönüştürür
    • htmlspecialchars — Özel karakterleri HTML öğeleri haline getirir
    • implode — Dizi elemanlarını birleştirip bir dizge elde eder
    • join — implode işlevinin takma adıdır
    • lcfirst — Bir dizgenin ilk karakterini küçük harf yapar
    • levenshtein — İki dizge arasındaki Levenştayn mesafesini hesaplar
    • localeconv — Sayısal biçemleme bilgisini döndürür
    • ltrim — Dizgenin başındaki boşlukları (veya diğer karakterleri) budar
    • md5_file — Belirtilen dosyanın md5 özetini hesaplar
    • md5 — Bir dizgenin md5 özetini hesaplar
    • metaphone — Bir dizgenin metafon anahtarını hesaplar
    • money_format — Bir sayıyı para olarak biçemler
    • nl_langinfo — Dili ve yerel bilgisini sorgular
    • nl2br — Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
    • number_format — Sayıyı binlik bölümlere ayırır
    • ord — Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür
    • parse_str — Dizge içindeki değişkenleri çözümler
    • print — Bir dizge çıktılar
    • printf — Biçemli bir dizge çıktılar
    • quoted_printable_decode — ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür
    • quoted_printable_encode — 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür
    • quotemeta — Özel anlamı olan karakterleri tersbölü ile önceler
    • rtrim — Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar
    • setlocale — Yereli ayarlar
    • sha1_file — Bir dosyanın sha1 aşını hesaplar
    • sha1 — Bir dizgenin sha1 aşını hesaplar
    • similar_text — İki dizge arasındaki benzerliği hesaplar
    • soundex — Bir dizgenin sestek anahtarını hesaplar
    • sprintf — Biçemli bir dizge döndürür
    • sscanf — Girdi dizgesini belli bir biçeme göre yorumlar
    • str_contains — Bir dizge içinde belirtilen alt dizgeyi arar
    • str_decrement — Decrement an alphanumeric string
    • str_ends_with — Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
    • str_getcsv — Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır
    • str_increment — Increment an alphanumeric string
    • str_ireplace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz
    • str_pad — Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur
    • str_repeat — Bir dizgeyi yineler
    • str_replace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
    • str_rot13 — Bir dizgeye rot13 dönüşümü uygular
    • str_shuffle — Bir dizgenin karakterlerini devşirir
    • str_split — Bir dizgeyi bir diziye dönüştürür
    • str_starts_with — Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
    • str_word_count — Bir dizgedeki sözcükler hakkında bilgi verir
    • strcasecmp — İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
    • strchr — strstr işlevinin takma adıdır
    • strcmp — İkil olarak güvenilir dizge karşılaştırması yapar
    • strcoll — Yerele göre dizge karşılaştırma
    • strcspn — Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur
    • strip_tags — Bir dizgeden HTML ve PHP etiketlerini ayıklar
    • stripcslashes — addcslashes ile öncelenmiş dizgeyi eski haline getirir
    • stripos — Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
    • stripslashes — Bir dizgeden tersbölüleri ayıklar
    • stristr — Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
    • strlen — Dizge uzunluğunu döndürür
    • strnatcasecmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır
    • strnatcmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
    • strncasecmp — İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
    • strncmp — İlk n karakteri ikil olarak karşılaştırır
    • strpbrk — Belirtilen karakterleri bir dizge içinde arar
    • strpos — Bir alt dizgenin ilkinin konumunu bulur
    • strrchr — Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
    • strrev — Bir dizgeyi ters çevirir
    • strripos — Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
    • strrpos — Bir dizgede bir karakterin sonuncusunu bulur
    • strspn — Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur
    • strstr — İlk alt dizgeyi bulur
    • strtok — Dizgeyi bir dizgeciğe göre böler
    • strtolower — Bir dizgenin harflerini küçük harfe çevirir
    • strtoupper — Bir dizgenin harflerini büyük harfe çevirir
    • strtr — Belli karakterleri veya alt dizgeleri değiştirir
    • substr_compare — İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
    • substr_count — Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur
    • substr_replace — Bir dizgenin belli bir bölümünü değiştirir
    • substr — Dizgenin bir kısmını döndürür
    • trim — Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
    • ucfirst — Dizgenin ilk karakterini büyük harfe çevirir
    • ucwords — Dizgedeki her sözcüğün ilk harfini büyük harf yapar
    • utf8_decode — Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür
    • utf8_encode — ISO-8859-1 dizgeyi UTF-8'e dönüştürür
    • vfprintf — Biçemli dizgeyi bir akıma yazar
    • vprintf — Biçemli bir dizge çıktılar
    • vsprintf — Biçemli bir dizge döndürür
    • wordwrap — Bir dizgeyi belli bir uzunlukta katlar
  • Sürüm Bilgisi


Giriş

Bu işlevlerin hepsi dizgelerde çeşitli yollarla değişiklik yapmak için kullanılır. Daha özelleştirilmiş işlevleri düzenli ifadeler ve URL işlevleri bölümlerinde bulabilirsiniz.

Dizgelerin davranışları, özellikle de çift tırnak, tek tırnak ve önceleme dizilimleri kullanımları hakkında bilgi edinmek için Türler bölümündeki strings belgesine bakınız.


Kurulum

Bu işlevleri kullanmak için hiçbir şey kurmaya gerek yoktur; PHP çekirdeğinin parçasıdırlar.

PHP 8.1.0 itibariyle, crypt() işlevi --with-external-libcrypt yapılandırma seçeneğinde sistemin crypt kütüphanesi belirtilerek de derlenebilmektedir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

CRYPT_SALT_LENGTH int
CRYPT_STD_DES int
crypt() işlevinde standart DES tabanlı özet desteği. Daima: 1.
CRYPT_EXT_DES int
crypt() işlevinde genişletilmiş DES tabanlı özet desteği. Daima: 1.
CRYPT_MD5 int
crypt() işlevinde MD5 özet desteği. Daima: 1.
CRYPT_BLOWFISH int
crypt() işlevinde Blowfish özet desteği. Daima: 1.
CRYPT_SHA256 int
crypt() işlevinde SHA-256 özet desteği. Daima: 1.
CRYPT_SHA512 int
crypt() işlevinde SHA-512 özet desteği. Daima: 1.
HTML_SPECIALCHARS (int)
HTML_ENTITIES (int)
ENT_COMPAT (int)
ENT_QUOTES (int)
ENT_NOQUOTES (int)
ENT_IGNORE (int)
ENT_SUBSTITUTE (int)
ENT_DISALLOWED (int)
ENT_HTML401 (int)
ENT_XML1 (int)
ENT_XHTML (int)
ENT_HTML5 (int)
CHAR_MAX (int)
LC_CTYPE (int)
LC_NUMERIC (int)
LC_TIME (int)
LC_COLLATE (int)
LC_MONETARY (int)
LC_ALL (int)
LC_MESSAGES (int)
STR_PAD_LEFT (int)
STR_PAD_RIGHT (int)
STR_PAD_BOTH (int)


Dizge İşlevleri

Ayrıca Bakınız

Daha güçlü dizge işleme ve değiştirme işlevleri Perl uyumlu düzenli ifade işlevleri bölümünde bulunabilir. Çok baytlı karakter kodlamaları ile çalışmak için Çok Baytlı Dizge İşlevleri bölümüne bakılabilir.

İçindekiler

  • addcslashes — Dizgeye C tarzı öncelem uygular
  • addslashes — Özel karakterlerin önüne tersbölü yerleştirir
  • bin2hex — Bir ikil verinin onaltılık gösterimini elde eder
  • chop — rtrim işlevinin takma adıdır
  • chr — Bir sayıdan tek baytlık dizge üretir
  • chunk_split — Bir dizgeyi daha küçük parçalara ayırır
  • convert_cyr_string — Bir Kril karakter kümesini bir diğerine çevirir
  • convert_uudecode — Uuencoded ile kodlanmış bir dizgeyi eski haline getirir
  • convert_uuencode — Bir dizgeyi uuencode algoritmasıyla kodlar
  • count_chars — Bir dizgedeki karakterler hakkında bilgi döndürür
  • crc32 — Bir dizgenin crc32 çok terimlisini hesaplar
  • crypt — Tek yönlü dizge aşlama
  • echo — Bir veya daha fazla dizgeyi çıktılar
  • explode — Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • fprintf — Biçemli dizgeyi bir akıma yazar
  • get_html_translation_table — htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
  • hebrev — Mantıksal İbranice metni görsel metne dönüştürür
  • hebrevc — Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür
  • hex2bin — Onaltılık bir dizgeyi ikil dizgeye dönüştürür
  • html_entity_decode — HTML öğelerini karşılığı olan karakterlere dönüştürür
  • htmlentities — Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • htmlspecialchars_decode — Özel HTML öğelerini gerisin geriye karakterlere dönüştürür
  • htmlspecialchars — Özel karakterleri HTML öğeleri haline getirir
  • implode — Dizi elemanlarını birleştirip bir dizge elde eder
  • join — implode işlevinin takma adıdır
  • lcfirst — Bir dizgenin ilk karakterini küçük harf yapar
  • levenshtein — İki dizge arasındaki Levenştayn mesafesini hesaplar
  • localeconv — Sayısal biçemleme bilgisini döndürür
  • ltrim — Dizgenin başındaki boşlukları (veya diğer karakterleri) budar
  • md5_file — Belirtilen dosyanın md5 özetini hesaplar
  • md5 — Bir dizgenin md5 özetini hesaplar
  • metaphone — Bir dizgenin metafon anahtarını hesaplar
  • money_format — Bir sayıyı para olarak biçemler
  • nl_langinfo — Dili ve yerel bilgisini sorgular
  • nl2br — Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
  • number_format — Sayıyı binlik bölümlere ayırır
  • ord — Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür
  • parse_str — Dizge içindeki değişkenleri çözümler
  • print — Bir dizge çıktılar
  • printf — Biçemli bir dizge çıktılar
  • quoted_printable_decode — ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür
  • quoted_printable_encode — 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür
  • quotemeta — Özel anlamı olan karakterleri tersbölü ile önceler
  • rtrim — Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar
  • setlocale — Yereli ayarlar
  • sha1_file — Bir dosyanın sha1 aşını hesaplar
  • sha1 — Bir dizgenin sha1 aşını hesaplar
  • similar_text — İki dizge arasındaki benzerliği hesaplar
  • soundex — Bir dizgenin sestek anahtarını hesaplar
  • sprintf — Biçemli bir dizge döndürür
  • sscanf — Girdi dizgesini belli bir biçeme göre yorumlar
  • str_contains — Bir dizge içinde belirtilen alt dizgeyi arar
  • str_decrement — Decrement an alphanumeric string
  • str_ends_with — Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • str_getcsv — Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır
  • str_increment — Increment an alphanumeric string
  • str_ireplace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz
  • str_pad — Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur
  • str_repeat — Bir dizgeyi yineler
  • str_replace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
  • str_rot13 — Bir dizgeye rot13 dönüşümü uygular
  • str_shuffle — Bir dizgenin karakterlerini devşirir
  • str_split — Bir dizgeyi bir diziye dönüştürür
  • str_starts_with — Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • str_word_count — Bir dizgedeki sözcükler hakkında bilgi verir
  • strcasecmp — İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • strchr — strstr işlevinin takma adıdır
  • strcmp — İkil olarak güvenilir dizge karşılaştırması yapar
  • strcoll — Yerele göre dizge karşılaştırma
  • strcspn — Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur
  • strip_tags — Bir dizgeden HTML ve PHP etiketlerini ayıklar
  • stripcslashes — addcslashes ile öncelenmiş dizgeyi eski haline getirir
  • stripos — Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • stripslashes — Bir dizgeden tersbölüleri ayıklar
  • stristr — Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strlen — Dizge uzunluğunu döndürür
  • strnatcasecmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır
  • strnatcmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
  • strncasecmp — İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • strncmp — İlk n karakteri ikil olarak karşılaştırır
  • strpbrk — Belirtilen karakterleri bir dizge içinde arar
  • strpos — Bir alt dizgenin ilkinin konumunu bulur
  • strrchr — Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • strrev — Bir dizgeyi ters çevirir
  • strripos — Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strrpos — Bir dizgede bir karakterin sonuncusunu bulur
  • strspn — Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur
  • strstr — İlk alt dizgeyi bulur
  • strtok — Dizgeyi bir dizgeciğe göre böler
  • strtolower — Bir dizgenin harflerini küçük harfe çevirir
  • strtoupper — Bir dizgenin harflerini büyük harfe çevirir
  • strtr — Belli karakterleri veya alt dizgeleri değiştirir
  • substr_compare — İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
  • substr_count — Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur
  • substr_replace — Bir dizgenin belli bir bölümünü değiştirir
  • substr — Dizgenin bir kısmını döndürür
  • trim — Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • ucfirst — Dizgenin ilk karakterini büyük harfe çevirir
  • ucwords — Dizgedeki her sözcüğün ilk harfini büyük harf yapar
  • utf8_decode — Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür
  • utf8_encode — ISO-8859-1 dizgeyi UTF-8'e dönüştürür
  • vfprintf — Biçemli dizgeyi bir akıma yazar
  • vprintf — Biçemli bir dizge çıktılar
  • vsprintf — Biçemli bir dizge döndürür
  • wordwrap — Bir dizgeyi belli bir uzunlukta katlar


Dizgeye C tarzı öncelem uygular

  • « Dizge İşlevleri
  • addslashes »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgeye C tarzı öncelem uygular

addcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

addcslashes — Dizgeye C tarzı öncelem uygular

Açıklama

addcslashes(string $dizge, string $karakterler): string

dizge dizgesindeki karakterler bağımsız değişkeninde listelenmiş karakterlerin önüne tersbölü yerleştirilerek elde edilen dizgeyi döndürür.

Bağımsız Değişkenler

dizge

Öncelenecek dizge.

karakterler

Önlerine tersbölü konulacak \n, \r gibi karakterleri içeren dizge. Belirtilen karakterler C tarzı öncelenirken, ASCII kodu 32'den küçük ve 126'dan büyük karakterler sekizlik gösterimlerine dönüştürülür.

Burada karakter aralığı belirtiyorsanız aralığın hangi karakterleri içerdiğine dikkat etmelisiniz.

<?php
echo addcslashes('foo[ ]', 'A..z');
// çıktısı: \f\o\o\[ \]
// Tüm büyük ve küçük harflerden başka [\]^_` karakterleri de öncelenir
?>
Ayrıca, bir aralığın başlangıç karakterinin ASCII değeri, son karakterininkinden büyükse ilk ve son karakter hariç bu aralıktaki hiçbir karakter öncelenmez. Bir karakterin ASCII değerini bulmak için ord() işlevini kullanın.
<?php
echo addcslashes("zoo['.']", 'z..A');
// çıktısı: \zoo['\.']
?>

Karakterleri seçerken dikkatli olun: 0, a, b, f, n, r, t ve v karakterleri \0, \a, \b, \f, \n, \r, \t ve \v karakterlerine dönüştürülecektir. Bunların hepsi C tarzı öncelemde öntanımlı dizilimler olup PHP'de \0 (NULL), \r (satırbaşı), \n (satırsonu), \f (sayfa ileri), \v (düşey sekme) ve \t (yatay sekme) öntanımlı dizilimlerdir. Bu dizilimler ayrıca, PHP dahil C'den türetilmiş dillerde de tanımlıdır. Yani, karakterler'de tanımlanan bu karakterlerle bu dillerde kod üretmek için addcslashes() çıktısını kullanmak istenen sonucu vermeyebilir.

Dönen Değerler

Öncelenmiş dizge.

Örnekler

"\0..\37" gibi bir aralık ASCII kodu 0 ile 31 arasında kalan karakterlerin de öncelenmesini sağlayacaktır.

Örnek 1 - addcslashes() örneği

<?php
$öncelemli = addcslashes($öncelemsiz, "\0..\37!@\177..\377");
?>

Ayrıca Bakınız

  • stripcslashes() - addcslashes ile öncelenmiş dizgeyi eski haline getirir
  • stripslashes() - Bir dizgeden tersbölüleri ayıklar
  • addslashes() - Özel karakterlerin önüne tersbölü yerleştirir
  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • quotemeta() - Özel anlamı olan karakterleri tersbölü ile önceler


Özel karakterlerin önüne tersbölü yerleştirir

  • « addcslashes
  • bin2hex »
  • PHP Manual
  • Dizge İşlevleri
  • Özel karakterlerin önüne tersbölü yerleştirir

addslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

addslashes — Özel karakterlerin önüne tersbölü yerleştirir

Açıklama

addslashes(string $dizge): string

Veritabanı sorguları gibi yerlerde kullanılmak üzere bir dizgenin içindeki özel karakterlerin önüne tersbölü koyarak elde edilen dizgeyi döndürür. Özel karakterler:

  • tek tırmak (')
  • çift tırnak (")
  • tersbölü (\)
  • NUL (NUL baytı)

addslashes() kullanımından amaç, PHP tarafından değerlendirilecek bir dizede yukarıda belirtilen karakterleri tersbölü ile öncelemektir:

<?php
$str = "O'Reilly?";
eval("echo '" . addslashes($str) . "';");
?>

addslashes() işlevi bazan hatalı olarak SQL Enjeksiyonunu engellemek için kullanılırdı. Bunun yerine veritbanlarına özgü önceleme işlevleri ve/veya hazırlanmış ifadeler kullanılmalıdır.

Bağımsız Değişkenler

dizge

Öncelenecek dizge.

Dönen Değerler

Öncelemli dizge.

Örnekler

Örnek 1 - addslashes() örneği

<?php
$str = "İsminiz O'Reilly mi?";

// Çıktısı: İsminiz O\'Reilly mi?
echo addslashes($str);
?>

Ayrıca Bakınız

  • stripcslashes() - addcslashes ile öncelenmiş dizgeyi eski haline getirir
  • stripslashes() - Bir dizgeden tersbölüleri ayıklar
  • addcslashes() - Dizgeye C tarzı öncelem uygular
  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • quotemeta() - Özel anlamı olan karakterleri tersbölü ile önceler
  • get_magic_quotes_gpc() - magic_quotes_gpc yönergesinin değerini döndürür


Bir ikil verinin onaltılık gösterimini elde eder

  • « addslashes
  • chop »
  • PHP Manual
  • Dizge İşlevleri
  • Bir ikil verinin onaltılık gösterimini elde eder

bin2hex

(PHP 4, PHP 5, PHP 7, PHP 8)

bin2hex — Bir ikil verinin onaltılık gösterimini elde eder

Açıklama

bin2hex(string $dizge): string

dizge dizgesinin onaltılık gösterimini içeren bir dizge döner. Dönüşüm bayt bayt ve her baytın en kıymetli dört biti önce gelecek şekilde yapılır.

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge.

Dönen Değerler

Belirtilen dizgenin onaltılık gösterimi döner.

Örnekler

Örnek 1 - bin2hex() örneği

<?php

$hex = bin2hex('Hello world!');

var_dump($hex);
var_dump(hex2bin($hex));
?>

Yukarıdaki örneğin çıktısı:

string(24) "48656c6c6f20776f726c6421"
string(12) "Hello world!"

Ayrıca Bakınız

  • hex2bin() - Onaltılık bir dizgeyi ikil dizgeye dönüştürür
  • pack() - Veriyi ikil bir dizge halinde paketler
  • unpack() - Paketlenmiş bir ikil dizgeden verileri ayrıştırır


rtrim işlevinin takma adıdır

  • « bin2hex
  • chr »
  • PHP Manual
  • Dizge İşlevleri
  • rtrim işlevinin takma adıdır

chop

(PHP 4, PHP 5, PHP 7, PHP 8)

chop — rtrim() işlevinin takma adıdır

Açıklama

Bu işlev rtrim() işlevinin takma adıdır.

Notlar

Bilginize:

Bu işlev, dizgedeki son karakteri silen Perl'in chop() işlevinden farklıdır.


Bir sayıdan tek baytlık dizge üretir

  • « chop
  • chunk_split »
  • PHP Manual
  • Dizge İşlevleri
  • Bir sayıdan tek baytlık dizge üretir

chr

(PHP 4, PHP 5, PHP 7, PHP 8)

chr — Bir sayıdan tek baytlık dizge üretir

Açıklama

chr(int $sayı): string

sayı işaretsiz bir tamsayı olarak yorumlanarak belirtilen tek baytlık karakteri döndürür.

Bu, ASCII, ISO-8859 veya Windows 1252 gibi tek baytlık bir kodlamada, kodlamanın eşleme tablosunda istenen bir karakterin konumunu ileterek tek karakterlik bir dize oluşturmak için kullanılabilir. Ancak, bu işlev herhangi bir karakter kodlamasının farkında değildir ve özellikle UTF-8 veya UTF-16 gibi çok baytlı bir kodlamada bir dize oluşturmak için bir Unicode karakteri kod değeri bu işleve aktarılmamalıdır.

ord() işlevinin zıddıdır.

Bağımsız Değişkenler

sayı

0 ile 255 arasında bir tamsayı.

Geçerli aralık (0..255) dışında kalan değerle 255 bitsel VElenir. Bu aşağıdaki algoritmaya eşdeğerdir:

while ($bytevalue < 0) {
$bytevalue += 256;
}
$bytevalue %= 256;

Dönen Değerler

Belirtilen bayta karşılık gelen karakter.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlev artık desteklenmeyen sayı'ları sessizce kabul etmeyip bunları 0'a dönüştürüyor.

Örnekler

Örnek 1 - chr() örneği

<?php
// Dizgenin ASCII veya ASCII uyumlu kodlama kullanacağı varsayılıyor
$dizge = "The string ends in escape: ";
$dizge .= chr(27); /* $dizgenin sonuna kaçış karakterini ekleyelim */

/* Aslında bu daha kullanışlıdır */
$dizge = sprintf("The string ends in escape: %c", 27);
?>

Örnek 2 - Taşma davranışı

<?php
echo chr(-159), chr(833), PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

aA

Örnek 3 - Bir UTF-8 dizgeyi bayt bayt oluşturmak

<?php
$str = chr(240) . chr(159) . chr(144) . chr(152);
echo $str;
?>

Yukarıdaki örneğin çıktısı:

??

Ayrıca Bakınız

  • sprintf() - Biçemli bir dizge döndürür
  • ord() - Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür
  • » ASCII tablosu
  • mb_chr() - Unicode karakter koduna göre karakteri döndürür
  • IntlChar::chr() - Return Unicode character by code point value


Bir dizgeyi daha küçük parçalara ayırır

  • « chr
  • convert_cyr_string »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi daha küçük parçalara ayırır

chunk_split

(PHP 4, PHP 5, PHP 7, PHP 8)

chunk_split — Bir dizgeyi daha küçük parçalara ayırır

Açıklama

chunk_split(string $dizge, int $uzunluk = 76, string $son = "\r\n"): string

Belirtilen dizge dizgesini. örneğin, RFC 2045'e uygun olarak base64_encode() ile çıktılamakta kullanmak üzere daha küçük parçalara bölmek için kullanılır. Her uzunluk karakterin sonuna son dizgesi yerleştirilir.

Bağımsız Değişkenler

dizge

Parçalara ayrılacak dizge.

uzunluk

Parça uzunluğu.

son

Her parçanın sonuna yerleştirilecek dizge.

Dönen Değerler

Parçalanan dizge döner.

Örnekler

Örnek 1 - chunk_split() örneği

<?php
// $veri'yi RFC 2045'e uygun olarak biçemleyelim
$yeni_dizge = chunk_split(base64_encode($veri));
?>

Ayrıca Bakınız

  • str_split() - Bir dizgeyi bir diziye dönüştürür
  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • wordwrap() - Bir dizgeyi belli bir uzunlukta katlar
  • » RFC 2045


Bir Kril karakter kümesini bir diğerine çevirir

  • « chunk_split
  • convert_uudecode »
  • PHP Manual
  • Dizge İşlevleri
  • Bir Kril karakter kümesini bir diğerine çevirir

convert_cyr_string

(PHP 4, PHP 5, PHP 7)

convert_cyr_string — Bir Kril karakter kümesini bir diğerine çevirir

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

convert_cyr_string(string $dizge, string $kaynak, string $hedef): string

Bir Kril karakter kümesini bir diğerine çevirir.

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge.

kaynak

Tek bir karakter olarak kaynak dizgenin Kril karakter kümesi.

hedef

Tek bir karakter olarak hedef dizgenin Kril karakter kümesi.

Karakter kümesi adı olarak desteklenen karakterler:

  • k - koi8-r
  • w - windows-1251
  • i - iso8859-5
  • a - x-cp866
  • d - x-cp866
  • m - x-mac-cyrillic

Dönen Değerler

Dönüştürülen dizge.

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


Uuencoded ile kodlanmış bir dizgeyi eski haline getirir

  • « convert_cyr_string
  • convert_uuencode »
  • PHP Manual
  • Dizge İşlevleri
  • Uuencoded ile kodlanmış bir dizgeyi eski haline getirir

convert_uudecode

(PHP 5, PHP 7, PHP 8)

convert_uudecode — Uuencoded ile kodlanmış bir dizgeyi eski haline getirir

Açıklama

convert_uudecode(string $veri): string|false

convert_uudecode() işlevi uuencoded algoritması ile kodlanmış bir dizgeyi eski haline getirir.

Bilginize: convert_uudecode() işlevi uuencoded dosyaların parçası olan begin ve end satırlarını yoksayar.

Bağımsız Değişkenler

veri

Kodu çözülecek dizge.

Dönen Değerler

Bir dizge olarak kodu çözülmüş veriyi, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - convert_uudecode() örneği

<?php
echo convert_uudecode("14\$A0)WEI('-E=FEY;W)U;2$`\n`");
?>

Yukarıdaki örneğin çıktısı:

I love PHP!

Ayrıca Bakınız

  • convert_uuencode() - Bir dizgeyi uuencode algoritmasıyla kodlar


Bir dizgeyi uuencode algoritmasıyla kodlar

  • « convert_uudecode
  • count_chars »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi uuencode algoritmasıyla kodlar

convert_uuencode

(PHP 5, PHP 7, PHP 8)

convert_uuencode — Bir dizgeyi uuencode algoritmasıyla kodlar

Açıklama

convert_uuencode(string $veri): string

convert_uuencode() işlevi belirtilen dizgeyi uuencode algoritmasını kullanarak kodlar.

Uuencode tüm dizgeleri (ikil olanlar da dahil), ağ üzerinden aktarılabilir duruma getirmek için basılabilir karakterlere dönüştürür. Kodlanmış dizge özgün dizgeden yaklayık %35 daha uzun olur.

Bilginize: convert_uuencode() işlevi uuencoded dosyaların parçası olan begin ve end satırlarını üretmez.

Bağımsız Değişkenler

veri

Kodlanacak veri.

Dönen Değerler

Kodlanmış veri.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, boş bir dizgeyi dönüştürmeye çalışınca sebepsiz yere false dönerdi.

Örnekler

Örnek 1 - convert_uuencode() örneği

<?php
$bir_dizge = "deneme\nmetninin metni\r\n";

echo convert_uuencode($bir_dizge);
?>

Yukarıdaki örneğin çıktısı:

79&5N96UE"FUE=&YI;FEN(&UE=&YI#0H`
`

Ayrıca Bakınız

  • convert_uudecode() - Uuencoded ile kodlanmış bir dizgeyi eski haline getirir
  • base64_encode() - Veriye MIME base64 kodlaması uygular


Bir dizgedeki karakterler hakkında bilgi döndürür

  • « convert_uuencode
  • crc32 »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgedeki karakterler hakkında bilgi döndürür

count_chars

(PHP 4, PHP 5, PHP 7, PHP 8)

count_chars — Bir dizgedeki karakterler hakkında bilgi döndürür

Açıklama

count_chars(string $dizge, int $kip = 0): array|string

dizge dizgesi içindeki her bayt değerini (0..255) sayar ve sonuçları çeşitli yollarla döndürür.

Bağımsız Değişkenler

dizge

İncelenecek dizge.

kip

Dönen değerlere bak.

Dönen Değerler

kip bağımsız değişkenine bağlı olarak count_chars() şunlardan birini döndürür:

  • 0 - Bayt değeri anahtar ve bu bayta rastlanma sıklığı değer olmak üzere bir ilişkisel dizi döner.
  • 1 - Sadece rastlanma sıklığı sıfırdan büyük olan baytlarla ilgili sonuçları döndürmesi dışında 0 ile aynıdır.
  • 2 - Sadece rastlanma sıklığı sıfır olan baytlarla ilgili sonuçları döndürmesi dışında 0 ile aynıdır.
  • 3 - Tüm eşsiz karakterleri içeren bir dizge döner.
  • 4 - Kullanılmamış karakterleri içeren bir dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, işlev başarısız olunca false dönerdi.

Örnekler

Örnek 1 - count_chars() örneği

<?php
$veri = "Beş N ve bir K.";

foreach (count_chars($veri, 1) as $bayt => $kaç) {
echo "Dizgede $kaç tane $bayt numaralı karakter var.\n";
}
?>

Yukarıdaki örneğin çıktısı:

Dizgede 4 tane 32 numaralı karakter var.
Dizgede 1 tane 46 numaralı karakter var.
Dizgede 1 tane 66 numaralı karakter var.
Dizgede 1 tane 75 numaralı karakter var.
Dizgede 1 tane 78 numaralı karakter var.
Dizgede 1 tane 98 numaralı karakter var.
Dizgede 2 tane 101 numaralı karakter var.
Dizgede 1 tane 105 numaralı karakter var.
Dizgede 1 tane 114 numaralı karakter var.
Dizgede 1 tane 118 numaralı karakter var.
Dizgede 1 tane 159 numaralı karakter var.
Dizgede 1 tane 197 numaralı karakter var.

Ayrıca Bakınız

  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • substr_count() - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur


Bir dizgenin crc32 çok terimlisini hesaplar

  • « count_chars
  • crypt »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin crc32 çok terimlisini hesaplar

crc32

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

crc32 — Bir dizgenin crc32 çok terimlisini hesaplar

Açıklama

crc32(string $dizge): int

dizge dizgesinin çevrimsel artıklık sağlaması çok terimlisinin sonucunu hesaplar. Bu genellikle aktarılan bir verinin bütünlük doğrulamasını yapmak için kullanılır.

PHP'nin tamsayı türü işaretli olduğundan ve çoğu crc32 sağlaması 32 bitlik platformlarda negatif tamsayılar üretir. işaretsiz crc32 sağlamalarının dizgesel gösterimlerini elde etmek için sprintf() ve printf() işlevlerinde "%u" belirtimini kullanın

Uyarı

PHP'nin tamsayı türü işaretli olduğundan ve çoğu crc32 sağlaması 32 bitlik kurulumlarda negatif tamsayılar üretir. 64 bitlik kurulumlarda ise tüm crc32() sonuçları positif tamsayılardır.

Ondalık biçemdeki işaretsiz crc32() sağlamalarının dizgesel gösterimlerini elde etmek için sprintf() ve printf() işlevlerinde "%u" belirtimi kullanılır.

Sağlama toplamının onaltılık gösterimi için, sprintf()
veya printf() işlevinin "%x" biçimlendiricisini veya
dechex() dönüştürme işlevlerini kullanabilirsiniz;
bunların her ikisi de crc32() sonucunu işaretsiz bir
tam sayıya dönüştürmeye özen gösterir.

64 bit kurulumlara sahip olunması durumunda, daha büyük sonuç değerleri için negatif tamsayılar döndürülmesi de düşünüldü, ancak bu onaltılık değer dönüştürmeyi bozacaktı, çünkü bu takdirde negatif değerler fazladan 0xFFFFFFFF ######## başlangıcı elde edecekti. Onaltılık gösterim en yaygın kullanım durumu gibi göründüğünden, 32 bitten 64 bite geçiş, doğrudan ondalık karşılaştırmaların yaklaşık %50'sini bozsa bile negatif tamsayılar döndürmemeye karar verdik.

Geçmişe bakıldığında, işlevin bir tamsayı döndürmesi belki en iyi fikir değildi ve hemen onaltılık bir dize gösterimi döndürmek (md5()'in yaptığı gibi), başlangıç için daha iyi bir plan olabilirdi.

Daha taşınabilir bir çözüm için hash() işlevini de düşünebilirsiniz. hash("crc32b", $str) kodu ile, str_pad(dechex(crc32($str)), 8, '0', STR_PAD_LEFT) kodu aynı dizeyi döndürür.

Bağımsız Değişkenler

dizge

Veri.

Dönen Değerler

dizge dizgesinin crc32 sağlamasını bir tamsayı olarak döndürür.

Örnekler

Örnek 1 - Bir crc32 sağlamasının gösterilmesi

Bu örnekte sağlama toplamını basmak için printf() işlevinin kullanımı gösterilmiştir.

<?php
$checksum = crc32("The quick brown fox jumped over the lazy dog.");
printf("%u\n", $checksum);
?>

Ayrıca Bakınız

  • hash() - Bir ileti aşı üretir
  • md5() - Bir dizgenin md5 özetini hesaplar
  • sha1() - Bir dizgenin sha1 aşını hesaplar


Tek yönlü dizge aşlama

  • « crc32
  • echo »
  • PHP Manual
  • Dizge İşlevleri
  • Tek yönlü dizge aşlama

crypt

(PHP 4, PHP 5, PHP 7, PHP 8)

crypt — Tek yönlü dizge aşlama

Uyarı

Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirebilir.

Açıklama

crypt(string $dizge, string $tuz = ?): string

crypt() işlevi standart Unix DES şifreleme algoritmasını veya sistemdeki uygun algoritmalardan birini kullanarak dizge dizgesinin aşlanmış sürümünü döndürür. password_verify() işlevi crypt() işlevi ile uyumludur. Bu bakımdan crypt() ile oluşturulan parola aşları password_verify() ile kullanılabilir.

PHP 8.0.0 öncesinde tuz bağımsız değişkeni isteğe bağlıydı. Bununla birlikte, crypt() tuzsuz zayıf bir aş oluşturur ve bu durumda bir E_NOTICE seviyesinde bir hatası üretir. Daha iyi güvenlik için yeterince güçlü bir tuz belirlemek gerekir.

password_hash() güçlü bir aş kullanır, güçlü bir tuz üretir ve uygun turları otomatik olarak uygular. password_hash() basit bir crypt() sarmalayıcısıdır ve mevcut parola aşlarıyla uyumludur. password_hash() kullanmak daha güvenlidir ve önerilir.

Aş türü tuz bağımsız değişkeniyle tetiklenir. tuz belirtilmemişse ya standart iki karakterlik (DES) ya da MD5 şifrelemesinin varlığına bağlı olarak oniki karakterlik tuz otomatik olarak üretilir. PHP, kullanılabilecek aşlar tarafından izin verilen geçerli en uzun tuzu belirleyen CRYPT_SALT_LENGTH adında bir sabit içerir.

Standart DES şifrelemesinde crypt() işlevi tuz olarak çıktının ilk iki karakterini döndürür. Ayrıca, dizgenin sadece ilk sekiz karakterini kullanır, bu nedenle ilk sekiz karakteri aynı olan sekiz karakterden daha uzun dizgeler için tuz aynı olduğu sürece hep aynı sonucu üretir.

Desteklenen aş türleri:

  • CRYPT_STD_DES - "./0-9A-Za-z" kalıbından iki karakter içeren standart DES aşı. Tuzda geçersiz karakter kullanımı işlevin başarısız olmasına sebep olur.
  • CRYPT_EXT_DES - Dokuz karakterlik tuz kullanan gelişkin DES aşı. "Tuz", bir alt çizginin ardından 4 karakterlik yineleme sayısı ve 4 karakterlik tuzdan oluşan 9 karakterli bir dizedir. Bu 4 karakterlik dizelerin herbiri 24 bitle kodlanır ve en düşük değerli karakter baştadır. 0 ila 63 arasındaki değerler ./0-9A-Za-z kalıbından kodlanmıştır. Tuzda geçersiz karakter kullanımı, işlevin başarısız olmasına sebep olur.
  • CRYPT_MD5 - $1$ ile başlayan on iki karakterlik MD5 aşı.
  • CRYPT_BLOWFISH - Tuzlu blowfish aşı şöyle oluşur: "$2a$", "$2x$" veya "$2y$", iki basamaklı bir bedel bağımsız değişkeni, "$" ve "./0-9A-Za-z" kalıbından 22 karakter. Tuzda bu aralığın dışındaki karakterlerin kullanılması, işlevin sıfır uzunluklu bir dize döndürmesine sebep olur. İki basamaklı bedel bağımsız değişkeni, temel Blowfish tabanlı aşlama algoritması için yineleme sayımının 2'lik tabanda logaritmasıdır ve 04-31 aralığında olmalıdır; bu aralığın dışındaki değerler işlevin başarısız olmasına sebep olur. "$2x$" aşları görece zayıftır; "$2a$" aşları uyumludur ve bu zayıflığı azaltır. Yeni aşlar için "$2y$" kullanılmalıdır.
  • CRYPT_SHA256 - SHA-256 aşı, $5$ ile başlayan onaltı karakterlik bir tuza sahiptir. Tuz dizesi 'rounds=<N>$' ile başlıyorsa, N'nin sayısal değeri, Blowfish'teki bedel bağımsız değişkenine benzer şekilde, aşlama döngüsündeki tur sayısını belirtmek için kullanılır. Öntanımlı tur sayısı 5000'dir, en az 1000 ve en çok 999.999.999'dur. Bu aralığın dışında bir N seçilirse en yakın sınır değer kullanılır.
  • CRYPT_SHA512 - SHA-512 aşı, $6$ ile başlayan onaltı karakterlik bir tuza sahiptir. Tuz dizesi 'rounds=<N>$' ile başlıyorsa, N'nin sayısal değeri, Blowfish'teki bedel bağımsız değişkenine benzer şekilde, aşlama döngüsündeki tur sayısını belirtmek için kullanılır. Öntanımlı tur sayısı 5000'dir, en az 1000 ve en çok 999.999.999'dur. Bu aralığın dışında bir N seçilirse en yakın sınır değer kullanılır.

Bağımsız Değişkenler

dizge

Aşlanacak dizge.

Dikkat

CRYPT_BLOWFISH algoritmasının kullanımı, dizge bağımsız değişkeninin 72 bayt uzunlukta kırpılmasına sebep olur.

tuz

Aşlamaye göre değişen tuz dizgesi. Belirtilmezse, davranış algoritma gerçeklenimi tarafından tanımlanır ve beklenmedik sonuçlara yol açabilir.

Dönen Değerler

Aşlama uygulanmış dizge veya 13 karakterden daha kısa olan ve başarısızlık durumunda tuzdan farklı olacağı garanti edilen bir dizge döndürür.

Uyarı

Parolalar doğrulanırken, crypt() çıktısını önceden bilinen aş ile karşılaştırmak için zamanlama saldırılarına açık olmayan bir dizge karşılaştırma işlevi kullanılmalıdır. PHP'de bu kullanım için hash_equals() işlevi bulunur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | tuz bağımsız değişkeni artık isteğe bağlı değil.

Örnekler

Örnek 1 - crypt() örnekleri

<?php
$kullanıcı_girdisi = 'rasmuslerdorf';
$aşlıParola = '$6$rounds=1000000$NJy4rIPjpOaU$0ACEYGg/aKCY3v8O8AfyiO7CTfZQ8/W231Qfh2tRLmfdvFD6XfHk12u6hMr9cYIA4hnpjLNSTRtUwYr9km9Ij/';

// Mevcut crypt() aşını PHP dışı yazılımlarla uyumlu olacak şekilde doğrula.
if (hash_equals($aşlıParola, crypt($kullanıcı_girdisi, $aşlıParola))) {
echo "Parola doğru!";
}
?>

Notlar

Bilginize: crypt() tek yönlü algoritma kullandığından tekrar özgün dizgeyi elde etmeyi sağlayacak bir işlev yoktur.

Ayrıca Bakınız

  • hash_equals() - Zamanlama saldırısı güvenli dize karşılaştırması
  • password_hash() - Parola aşı oluşturur
  • » crypt işlevinin Unix kılavuz sayfası


Bir veya daha fazla dizgeyi çıktılar

  • « crypt
  • explode »
  • PHP Manual
  • Dizge İşlevleri
  • Bir veya daha fazla dizgeyi çıktılar

echo

(PHP 4, PHP 5, PHP 7, PHP 8)

echo — Bir veya daha fazla dizgeyi çıktılar

Açıklama

echo(string ...$ifadeler): void

Tüm bağımsız değişkenlerini çıktılar.

echo aslında bir işlev değil bir dil oluşumudur, yani bağımsız değişkenlerini yaylı ayraçlar arasına almak gerekmez. Bağımsız değişkenleri, echo anahtar sözcüğünü izleyen, virgüllerle ayrılmış ve parantez içine alınmamış ifadelerden oluşur. Diğer bazı dil oluşumlarının aksine, echo'nun herhangi bir dönüş değeri yoktur, bu nedenle bir ifade bağlamında kullanılamaz.

echo ayrıca kısaltılmış bir sözdizimine de sahiptir. Bir açan PHP etiketinin ardına bir eşit işareti koyup dizgeyi ardına yazmanız yeterlidir. Bu kısa sözdizimi short_open_tag yapılandırma yönergesi iptal edilmiş olsa bile kullanılır. Örnek:

I have <?=$foo?> foo.

print işlevine göre başlıca fark echo'nun çok sayıda bağımsız değişken kabul etmesi ve bir dönüş değerinin olmamasıdır.

Bağımsız Değişkenler

ifadeler

Virgüllerle ayrılmış bir veya daha fazla dizge ifadesi. Dizge olmayan değerler, strict_types yönergesi etkin olsa bile dizgeye zorlanır.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - echo örnekleri

<?php
echo "echo için parantez gerekmez";

// Dizgeler ya çoklu bağımsız değişkenler olarak tek tek aktarılır
// ya da birbirlerine eklenip tek bir bağımsız değişken olarak aktarılır
echo 'Bu ', 'dizge ', 'çok sayıda', 'bağımsız değişken ', 'ile yapıldı.', "\n";
echo 'Bu ' . 'dizge ' . 'çok sayıda ' . 'bağımsız değişken ' . 'birbirine eklenerek yapıldı.' . "\n";

// Satırsonu karakteri veya boşluk eklemek gerekmez
// bu iki satır tek satırlık "merhabaDünya" çıktılar
echo "merhaba";
echo "Dünya";

// Yukarıdaki ile aynı sonucu verir
echo "merhaba", "Dünya";

echo "Bu dizge
çok satırlıdır. Satırsonu
karakterleri de çıktılanır.";

echo "Bu dizge\nçok satırlıdır. Satırsonu\nkarakterleri de çıktılanır.";

// Bağımsız değişken bir dizge üreten herhangi bir ifade olabilir
$buda = "Buda";
echo "Bu da $buda"; // Bu da Buda

$meyveler = ["limon", "portakal", "muz"];
echo implode(" ve ", $meyveler); // limon ve porakal ve muz

// declare(strict_types=1) kullanılmış olsa bile
// dizge olmayan ifadeler dizgeye zorlanır
echo 6 * 7; // 42

// echo bir ifade gibi davranmadığından bu ifade geçersizdir
($ifade) ? echo 'true' : echo 'false';

// Ama bu örnek çalışır:
($ifade) ? print 'true' : print 'false'; // print de bir dil oluşumudur, ama
// geçerli bir ifadedir, 1 döndürür,
// dolayısıyla bu bağlamda geçerlidir.

// Burada ifade değerlendirildikten sonra echo'ya aktarılmaktadır
echo $some_var ? 'true': 'false';
?>

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Bilginize: - Parantezli kullanım

Tek bir bağımsız değişkeni parantezlerle çevrelemek bir sözdizimi hatası oluşturmaz ve normal bir işlev çağrısı gibi görünen sözdizimi üretir. Bununla birlikte, bu yanıltıcı olabilir, çünkü parantezler aslında echo sözdiziminin bir parçası değil, bağımsız değişken olarak verilen ifadenin bir parçasıdır.

<?php
echo "hello";
// "hello" basar

echo("hello");
// bu da "hello" basar, çünkü ("hello") geçerli bir ifadedir

echo(1 + 2) * 3;
// "9" basar; parantezler 1+2'nin önce değerlendirilip sonra 3 ile
// çarpılmasını sağlar. İfade değerlendirildikten sonra echo'ya
// aktarıldığından echo ifadenin tümünü tek bir bağımsız değişken olarak görür.

echo "hello", " world";
// "hello world" basar

echo("hello"), (" world");
// "hello world" basar; Parantezler ifadenin parçasıdır

echo("hello", " world");
// Bir çözümleme hatası oluşur, çünkü ("hello", " world") geçersiz bir ifadedir
?>

İpucu

echo'ya birden çok bağımsız değişken aktarmak, PHP'deki bitiştirme işlecinin önceliğinden kaynaklanan karışıklıkları önleyebilir. Örneğin, birleştirme işleci üçlü işleçten daha yüksek önceliğe sahiptir ve PHP 8.0.0'dan önce toplama ve çıkarma ile aynı önceliğe sahipti:

<?php
// Önce 'Hello ' . isset($name) ifadesi değerlendirilir,
// sonuç daima true olur, bu bakımdan sadece $name basılır
echo 'Hello ' . isset($name) ? $name : 'John Doe' . '!';

// Amaçlanan davranış daha fazla parantez gerektirir
echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';

// PHP 8.0.0 öncesinde, "Sum: 3" yerine "2" basılırdı
echo 'Sum: ' . 1 + 2;

// Bu kez de parentez eklenerek amaçlanan davranış elde edilebilir
echo 'Sum: ' . (1 + 2);

Çok sayıda bağımsız değişken aktarılırsa önceliği devreye sokmak için parantezler gerekmez, çünkü her ifade ayrı değerlendirilir:I

<?php
echo "Hello ", isset($name) ? $name : "John Doe", "!";

echo "Sum: ", 1 + 2;

Ayrıca Bakınız

  • print - Bir dizge çıktılar
  • printf() - Biçemli bir dizge çıktılar
  • flush() - Sistem çıktı tamponunu boşaltır
  • Sayısal dizgeleri belirtme yolları


Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir

  • « echo
  • fprintf »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir

explode

(PHP 4, PHP 5, PHP 7, PHP 8)

explode — Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir

Açıklama

explode(string $ayraç, string $dizge, int $sınır = PHP_INT_MAX): array

Belirtilen dizge dizgesini belirtilen ayraç dizgesine göre alt dizgelere ayırıp bunları bir diziye yerleştirir.

Bağımsız Değişkenler

ayraç

Dizgeleri ayırmak için kullanılacak dizge.

dizge

Alt dizgelerine ayrılacak dizge.

sınır

sınır pozitifse dizi en çok sınır sayıda eleman içerir ve dizgenin kalanı son elemana yerleştirilir.

sınır negatifse, son sınır eleman hariç tüm elemanlar döndürülür.

sınır sıfırsa, 1 olarak ele alınır.

PHP 8.0.0 öncesinde, implode() işlevinin bağımsız değişkenleri yer değiştirebilirdi. Fakat explode() bunu asla desteklemez: ayraç bağımsız değişkeni dizge bağımsız değişkeninden önce belirtilmelidir.

Dönen Değerler

Belirtilen dizge dizgesini belirtilen ayraç dizgesine göre alt dizgelere ayırıp bunları yerleştirdiği diziyi döndürür.

ayraç boş ("") bir dizge ise explode() bir ValueError yavrular. Eğer ayraç dizgesi dizge içinde bulunmayan bir karakter içeriyorsa ve negatif bir sınır belirtilmişse boş bir dizi döner. Aksi takdirde, dizge dizgesini içeren bir dizi döner. Ayraçlar dizgenin başında veya sonunda görünürse, söz konusu değerler, döndürülen dizinin sırasıyla ilk veya son konumuna boş bir dizi değeri olarak eklenir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayraç olarak boş bir dize ("") belirtildiğinde explode() artık bir ValueError yavruluyor; evvelce false dönerdi.

Örnekler

Örnek 1 - explode() örneği

<?php
// 1. örnek
$pizza = "dilim1 dilim2 dilim3 dilim4 dilim5 dilim6";
$dilimler = explode(" ", $pizza);
echo $dilimler[0]; // dilim1
echo $dilimler[1]; // dilim2

// 2. örnek
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>

Örnek 2 explode() return examples

<?php
/*
A string that doesn't contain the delimiter will simply
return a one-length array of the original string.
*/
$input1 = "hello";
$input2 = "hello,there";
$input3 = ',';
var_dump( explode( ',', $input1 ) );
var_dump( explode( ',', $input2 ) );
var_dump( explode( ',', $input3 ) );

?>

Yukarıdaki örneğin çıktısı:

array(1)
(
    [0] => string(5) "hello"
)
array(2)
(
    [0] => string(5) "hello"
    [1] => string(5) "there"
)
array(2)
(
    [0] => string(0) ""
    [1] => string(0) ""
)

Örnek 3 - sınır bağımsız değişkeni örnekleri

<?php
$str = 'one|two|three|four';

// positif sınır
print_r(explode('|', $str, 2));

// negatif sınır
print_r(explode('|', $str, -1));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => one
    [1] => two|three|four
)
Array
(
    [0] => one
    [1] => two
    [2] => three
)

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • str_split() - Bir dizgeyi bir diziye dönüştürür
  • mb_split() - Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır
  • str_word_count() - Bir dizgedeki sözcükler hakkında bilgi verir
  • strtok() - Dizgeyi bir dizgeciğe göre böler
  • implode() - Dizi elemanlarını birleştirip bir dizge elde eder


Biçemli dizgeyi bir akıma yazar

  • « explode
  • get_html_translation_table »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli dizgeyi bir akıma yazar

fprintf

(PHP 5, PHP 7, PHP 8)

fprintf — Biçemli dizgeyi bir akıma yazar

Açıklama

fprintf(resource $akım, string $biçem, mixed ...$bağımsız_değişkenler): int

Tanıtıcısı akım ile belirtilen dosyaya (akıma) biçem dizgesine göre üretilen dizgeyi yazar.

Bağımsız Değişkenler

akım

Bir dosya tanıtıcısı. Genellikle fopen() kullanılarak oluşturulur.

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

bağımsız_değişkenler

Dönen Değerler

Akıma yazılan dizgenin uzunluğunu döndürür.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - fprintf(): Sıfır dolgulu tamsayılar

<?php
if (!($fp = fopen('date.txt', 'w'))) {
return;
}

fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
// ISO biçemli tarihi date.txt dosyasına yazar
?>

Örnek 2 - fprintf(): para biçemleme

<?php
if (!($fp = fopen('currency.txt', 'w'))) {
return;
}

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money çıktısı: "123.1";
$len = fprintf($fp, '%01.2f', $money);
// currency.txt dosyasına "123.10" yazar

echo "currency.txt dosyasına $len bayt yazıldı";
// Kaç bayt yazıldığını belirtmek için fprintf dönüş değerini kullanıyoruz
?>

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür

  • « fprintf
  • hebrev »
  • PHP Manual
  • Dizge İşlevleri
  • htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür

get_html_translation_table

(PHP 4, PHP 5, PHP 7, PHP 8)

get_html_translation_table — htmlspecialchars() ve htmlentities() tarafından kullanılan dönüşüm tablosunu döndürür

Açıklama

get_html_translation_table(int $tablo = HTML_SPECIALCHARS, int $seçenekler = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, string $kodlama = "UTF-8"): array

get_html_translation_table() işlevi, htmlspecialchars() ve htmlentities() tarafından kullanılan dahili dönüşüm tablosunu döndürür.

Bilginize:

Özel karakterler çeşitli yollarla kodlanabilir. Örneğin " karakteri &quot;, &#34; veya &#x22 olarak kodlanabilir. get_html_translation_table() işlevi sadece htmlspecialchars() ve htmlentities() tarafından kullanılan biçimi döndürür.

Bağımsız Değişkenler

tablo

Hangi tabloyu istediğinizi HTML_ENTITIES ve HTML_SPECIALCHARS sabitlerinden biri ile belirtebilirsiniz. HTML_SPECIALCHARS öntanımlıdır.

seçenekler

Tablonun hangi tırnak işaretlerini içereceğini ve tablonun hangi belge türü için olduğunu belirten aşağıdaki seçeneklerin bir veya daha fazlasının bit maskesi. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 öntanımlıdır.

Kullanılabilen seçeneklerin sabitleri
Sabit Adı | Açıklama
ENT_COMPAT | Tablo çift tırnaklı öğeleri içerir, tek tırnaklıları değil.
ENT_QUOTES | Tablo hem çift tırnaklı hem de tek tırnaklı öğeleri içerir.
ENT_NOQUOTES | Tablo ne çift tırnaklı ne de tek tırnaklı öğeleri içerir.
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir.
ENT_HTML401 | Tablo HTML 4.01 içindir.
ENT_XML1 | Tablo XML 1 içindir.
ENT_XHTML | Tablo XHTML içindir.
ENT_HTML5 | Tablo HTML 5 içindir.

kodlama

Kullanılacak kodlama. Belirtilmezse, UTF-8 öntanımlıdır.

Aşağıdaki karakter kümeleri desteklenmektedir.

Desteklenen karakter kümeleri
Karakter kümesi | Takma adı | Açıklama
ISO-8859-1 | ISO8859-1 | Batı Avrupa, Latin-1
ISO-8859-5 | ISO8859-5 | Az kullanılan kril küme (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Doğu Avrupa, Latin-9. Euro işaretini ekler, Fransızca ve Fince harfler Latin-1'de (ISO-8859-1) yoktur.
UTF-8 | ASCII uyumlu 8 bitlik çok baytlı Unicode.
cp866 | ibm866, 866 | DOS'a özgü Kril karakter kümesi.
cp1251 | Windows-1251, win-1251, 1251 | Windows'a özgü Kril karakter kümesi.
cp1252 | Windows-1252, 1252 | Doğu Avrupa için Windows'a özgü karakter kümesi.
KOI8-R | koi8-ru, koi8r | Rusça.
BIG5 | 950 | Geleneksel Çince, aslında Tayvan'da kullanılır.
GB2312 | 936 | Basitleştirilmiş Çince, ulusal standart karakter kümesi.
BIG5-HKSCS | Geleneksel Çince, Hong Kong eklentisi ile Big5.
Shift_JIS | SJIS, 932 | Japonca.
EUC-JP | EUCJP, eucJP-win | Japonca.
MacRoman | Mac OS tarafından kullanılmış karakter kümesi.
'' Boş bir dize, karakter kümesini, komut dosyası kodlamasından (Zend multibyte), default_charset ve geçerli yerel ayardan (bkz. nl_langinfo() ve setlocale()) algılamayı bu sırayla etkinleştirir. Önerilmez.

Bilginize: Bunlardan başka karakter kümesi tanınmaz. Yerine öntanımlı karakter kümesi kullanılır ve bir uyarı çıktılanır.

Dönen Değerler

Dönüşüm tablosunu bir dizi olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu.

Örnekler

Örnek 1 - Dönüşüm tablosu örneği

<?php
var_dump(get_html_translation_table(HTML_ENTITIES, ENT_QUOTES | ENT_HTML5));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1510) {
  ["
"]=>
  string(9) "&NewLine;"
  ["!"]=>
  string(6) "&excl;"
  ["""]=>
  string(6) "&quot;"
  ["#"]=>
  string(5) "&num;"
  ["$"]=>
  string(8) "&dollar;"
  ["%"]=>
  string(8) "&percnt;"
  ["&"]=>
  string(5) "&amp;"
  ["'"]=>
  string(6) "&apos;"
  // ...
}

Ayrıca Bakınız

  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • html_entity_decode() - HTML öğelerini karşılığı olan karakterlere dönüştürür


Mantıksal İbranice metni görsel metne dönüştürür

  • « get_html_translation_table
  • hebrevc »
  • PHP Manual
  • Dizge İşlevleri
  • Mantıksal İbranice metni görsel metne dönüştürür

hebrev

(PHP 4, PHP 5, PHP 7, PHP 8)

hebrev — Mantıksal İbranice metni görsel metne dönüştürür

Açıklama

hebrev(string $dizge, int $satırdaki_azami_krk_sayısı = 0): string

Mantıksal İbranice metni görsel metne dönüştürür.

İşlev sözcükleri bölmekten kaçınmaya çalışır.

Bağımsız Değişkenler

dizge

İbranice girdi dizgesi.

satırdaki_azami_krk_sayısı

İsteğe bağlı bu bağımsız değişken ile her satırda bulunabilecek azami karakter sayısı belirtilebilir.

Dönen Değerler

Görsel dizge.

Ayrıca Bakınız

  • hebrevc() - Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür


Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür

  • « hebrev
  • hex2bin »
  • PHP Manual
  • Dizge İşlevleri
  • Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür

hebrevc

(PHP 4, PHP 5, PHP 7)

hebrevc — Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

hebrevc(string $dizge, int $satırdaki_azami_krk_sayısı = 0): string

Satırsonu (\n) karaktelerini "<br>\n" dizgesine dönüştürmesi dışında hebrev() işlevi gibidir.

İşlev sözcükleri bölmekten kaçınmaya çalışır.

Bağımsız Değişkenler

dizge

İbranice girdi dizgesi.

satırdaki_azami_krk_sayısı

İsteğe bağlı bu bağımsız değişken ile her satırda bulunabilecek azami karakter sayısı belirtilebilir.

Dönen Değerler

Görsel dizge.

Ayrıca Bakınız

  • hebrev() - Mantıksal İbranice metni görsel metne dönüştürür


Onaltılık bir dizgeyi ikil dizgeye dönüştürür

  • « hebrevc
  • html_entity_decode »
  • PHP Manual
  • Dizge İşlevleri
  • Onaltılık bir dizgeyi ikil dizgeye dönüştürür

hex2bin

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

hex2bin — Onaltılık bir dizgeyi ikil dizgeye dönüştürür

Açıklama

hex2bin(string $dizge): string|false

Onaltılık bir dizgeyi ikil dizgeye dönüştürür.

Dikkat

Bu işlev onaltılık bir sayıyı ikil bir sayıya dönüştürmez. Bunun için base_convert() işlevi kullanılabilir.

Bağımsız Değişkenler

dizge

Verinin onaltılık gösterimi.

Dönen Değerler

Başarı durumunda belirtilen verinin ikil gösterimini, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Onaltılık dizge uzunluğu bir çift sayı değilse veya geçersiz bir onaltılık dizge ise E_WARNING seviyesinde bir hata çıktılanır.

Örnekler

Örnek 1 - hex2bin() örneği

<?php
$hex = hex2bin("6578616d706c65206865782064617461");
var_dump($hex);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(16) "example hex data"

Ayrıca Bakınız

  • bin2hex() - Bir ikil verinin onaltılık gösterimini elde eder
  • unpack() - Paketlenmiş bir ikil dizgeden verileri ayrıştırır


HTML öğelerini karşılığı olan karakterlere dönüştürür

  • « hex2bin
  • htmlentities »
  • PHP Manual
  • Dizge İşlevleri
  • HTML öğelerini karşılığı olan karakterlere dönüştürür

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

html_entity_decode — HTML öğelerini karşılığı olan karakterlere dönüştürür

Açıklama

html_entity_decode(string $dizge, int $seçenekler = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $kodlama = null): string

html_entity_decode() işlevi htmlentities() işlevinin tersine dizge içinde karaktere dönüşebilecek tüm HTML öğelerini dönüştürür.

Daha kesin olarak, bu işlev, a) seçilen belge türü için zorunlu olarak geçerli olan tüm öğelerin (tüm sayısal öğeler dahil) kodunu çözer - yani, XML için, bu işlev bir DTD'de tanımlanabilecek isimli öğelerin kodunu çözmez ve b) seçilen kodlama ile ilişkili kodlanmış karakter kümesindeki ve seçilen belge türünde izin verilen karakter öğelerinin kodunu çözer. Diğer tüm öğeler olduğu gibi bırakılır.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

seçenekler

Seçimlik seçenekler bağımsız değişkeni ile çift ve tek tırnaklar için işlevin nasıl davranacağını belirleyebilirsiniz. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 öntanımlı olmak üzere şu sabitler bitsel VEYAlanarak belirtilebilir:

Olası sabit seçenekleri
Sabit İsmi | Açıklama
ENT_COMPAT | Sadece çift tırnaklar dönüştürülür, tek tırnaklara dokunulmaz.
ENT_QUOTES | Çift tırnaklara ilaveten tek tırnaklar da dönüştürülür.
ENT_NOQUOTES | Ne tek ne de çift tırnaklar dönüştürülür.
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir.
ENT_HTML401 | Kodu HTML 4.01 olarak ele alır.
ENT_XML1 | Kodu XML 1 olarak ele alır.
ENT_XHTML | Kodu XHTML olarak ele alır.
ENT_HTML5 | Kodu HTML 5 olarak ele alır.

kodlama

Karakterleri dönüştürürken kullanılan kodlamayı tanımlayan seçimlik bağımsız değişken.

Belirtilmezse kodlama için default_charset yapılandırma seçeneğinin değeri öntanımlıdır.

Bu bağımsız değişken teknik olarak seçimlikse de kodunuz için gereken değeri atamanız gerekir. Çünkü default_charset yapılandırma seçeneğine hatalı bir değer atanmış olabilir.

Dönen Değerler

Kodlaması çözülmüş dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu.
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - HTML öğelerinin karakterlere dönüştürülmesi

<?php
$orig = "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo $a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> now
?>

Notlar

Bilginize:

trim(html_entity_decode('&nbsp;')); ile dizgenin neden boş bir dizgeye dönüşmediğini merak ediyor olabilirsiniz. Bunun sebebi '&nbsp;' öğesinin karakter kodunun 32 değil 160 olmasıdır.

Ayrıca Bakınız

  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • get_html_translation_table() - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer


Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir

  • « html_entity_decode
  • htmlspecialchars_decode »
  • PHP Manual
  • Dizge İşlevleri
  • Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir

htmlentities

(PHP 4, PHP 5, PHP 7, PHP 8)

htmlentities — Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir

Açıklama

htmlentities(
string $dizge,
int $seçenekler = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
?string $kodlama = null,
bool $çifte_kodlama = true
): string

HTML öğesi olarak bir karşılığı bulunan tüm karakterleri dönüştürmesi dışında htmlspecialchars() işlevi gibidir. get_html_translation_table() işlevi, $seçenekler bağımsız değişkeninde belirtilen sabitlere bağlı olarak kullanılacak dönüştürme tablosunu elde etmek için kullanılabilir.

Bu işlev ile dönüştürülen bir dizgeyi eski haline getirmek için html_entity_decode() işlevini kullanabilirsiniz.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

seçenekler

Geçersiz kod dizilimlerinin, kullanılan belge türünün ve tırnakların nasıl ele alınacağını belirten aşağıdaki seçenekler bitsel VEYAlanarak seçenekler bağımsız değişkeninde belirtilebilir. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 öntanımlıdır.

Olası sabit seçenekleri
Sabit İsmi | Açıklama
ENT_COMPAT | Sadece çift tırnaklar dönüştürülür, tek tırnaklara dokunulmaz.
ENT_QUOTES | Çift tırnaklara ilaveten tek tırnaklar da dönüştürülür.
ENT_NOQUOTES | Ne tek ne de çift tırnaklar dönüştürülür.
ENT_IGNORE | Geçersiz kod dizilimlerinde boş dizge döndürülmeyip seesizce yoksayma yoluna gidilir. » Güvenlikle ilgili etkiler olabileceğinden bu seçeneğin kullanımı önerilmemektedir.
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir.
ENT_DISALLOWED | Geçersiz kod dizilimini olduğu gibi bırakmak yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) ile değiştirilir. Örneğin, XML belgelerin gömülü harici içerikle iyi biçimliliğini sağlamak için bu seçenek kullanışlı olabilir.
ENT_HTML401 | Kod HTML 4.01 olarak ele alınır.
ENT_XML1 | Kod XML 1 olarak ele alınır.
ENT_XHTML | Kod XHTML olarak ele alınır.
ENT_HTML5 | Kod HTML 5 olarak ele alınır.

kodlama

Karakterleri dönüştürürken kullanılan kodlamayı tanımlayan seçimlik bağımsız değişken.

Belirtilmezse kodlama için default_charset yapılandırma seçeneğinin değeri öntanımlıdır.

Bu bağımsız değişken teknik olarak seçimlikse de kodunuz için gereken değeri atamanız gerekir. Çünkü default_charset yapılandırma seçeneğine hatalı bir değer atanmış olabilir.

çifte_kodlama

Bu bağımsız değişkende false belirtilirse zaten kodlanmış HTML öğeleri tekrar kodlanmaz. Öntanımlı olarak herşey dönüştürülür.

Dönen Değerler

Dönüştürülen dizge döner.

Belirtilen kodlama altında belirtilen dizge geçersiz bir kod dizilimi içeriyorsa, ENT_IGNORE veya ENT_SUBSTITUTE seçenekleri atanmadığı takdirde boş dizge döndürülür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu.
8.0.0 | kodlama artık null olabiliyor.

Örnekler

Örnek 1 - htmlentities() örneği

<?php
$str = "<b>Tek</b> bir 'tırnak'";

// Çıktısı: &lt;b&gt;Tek&lt;/b&gt; bir 'tırnak'
echo htmlentities($str);

// Çıktısı: &lt;b&gt;Tek&lt;/b&gt; bir &#039;quote&#039;
echo htmlentities($str, ENT_QUOTES);
?>

Örnek 2 - ENT_IGNORE kullanımı

<?php
$str = "\x8F!!!";

// Boş dizge çıktılar
echo htmlentities($str, ENT_QUOTES, "UTF-8");

// "!!!" çıktılar
echo htmlentities($str, ENT_QUOTES | ENT_IGNORE, "UTF-8");
?>

Ayrıca Bakınız

  • html_entity_decode() - HTML öğelerini karşılığı olan karakterlere dönüştürür
  • get_html_translation_table() - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • nl2br() - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
  • urlencode() - Dizgeye URL kodlaması uygular


Özel HTML öğelerini gerisin geriye karakterlere dönüştürür

  • « htmlentities
  • htmlspecialchars »
  • PHP Manual
  • Dizge İşlevleri
  • Özel HTML öğelerini gerisin geriye karakterlere dönüştürür

htmlspecialchars_decode

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

htmlspecialchars_decode — Özel HTML öğelerini gerisin geriye karakterlere dönüştürür

Açıklama

htmlspecialchars_decode(string $dizge, int $seçenekler = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string

Bu işlev htmlspecialchars() işlevinin zıddıdır. HTML öğelerini gerisin geriye karakterlere dönüştürür

Dönüştürülen öğeler: &amp;, &quot; (ENT_NOQUOTES belirtilmişse), &#039; (ENT_QUOTES belirtilmişse), &lt; ve &gt;.

Bağımsız Değişkenler

dizge

Kodu çözülecek dizge.

seçenekler

Kullanılan belge türünün ve tırnakların nasıl ele alınacağını belirten aşağıdaki seçenekler bitsel VEYAlanarak seçenekler bağımsız değişkeninde belirtilebilir. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 öntanımlıdır.

Sabit seçenekleri
Sabit İsmi | Açıklama
ENT_COMPAT | Çift tırnaklar dönüştürülür, tek tırnaklara dokunulmaz (öntanımlı)
ENT_QUOTES | Hem tek hem de çift tırnaklar dönüştürülür
ENT_NOQUOTES | Ne tek ne de çift tırnaklar dönüştürülür
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir.
ENT_HTML401 | Kodu HTML 4.01 olarak ele alır.
ENT_XML1 | Kodu XML 1 olarak ele alır.
ENT_XHTML | Kodu XHTML olarak ele alır.
ENT_HTML5 | Kodu HTML 5 olarak ele alır.

Dönen Değerler

Kodlaması çözülmüş dizge.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu.

Örnekler

Örnek 1 - htmlspecialchars_decode() örneği

<?php
$str = "<p>this -&gt; &quot;</p>\n";

echo htmlspecialchars_decode($str);

// Burada tırnaklar dönüştürülmüyor
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

Yukarıdaki örneğin çıktısı:

<p>Bu -> "</p>
<p>Bu -> &quot;</p>

Ayrıca Bakınız

  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • html_entity_decode() - HTML öğelerini karşılığı olan karakterlere dönüştürür
  • get_html_translation_table() - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür


Özel karakterleri HTML öğeleri haline getirir

  • « htmlspecialchars_decode
  • implode »
  • PHP Manual
  • Dizge İşlevleri
  • Özel karakterleri HTML öğeleri haline getirir

htmlspecialchars

(PHP 4, PHP 5, PHP 7, PHP 8)

htmlspecialchars — Özel karakterleri HTML öğeleri haline getirir

Açıklama

htmlspecialchars(
string $dizge,
int $seçenekler = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
?string $kodlama = null,
bool $çifte_kodlama = true
): string

Bazı karakterler HTML'de özel anlama sahiptir ve anlamlarını korumaları için HTML öğesi olarak gösterilmesi gerekir. Bu işlev bu dönüşümleri yapılmış olarak bir dizge döndürür. Eğer ilişkili isimli öğelere sahip tüm girdi alt dizgelerinin dönüştürülmesi gerekiyorsa bu işlev yerine htmlentities() işlevi kullanılmalıdır.

If the input string passed to this function and the final document share the same character set, this function is sufficient to prepare input for inclusion in most contexts of an HTML document. If, however, the input can represent characters that are not coded in the final document character set and you wish to retain those characters (as numeric or named entities), both this function and htmlentities() (which only encodes substrings that have named entity equivalents) may be insufficient. You may have to use mb_encode_numericentity() instead.

Uygulanan dönüşümler
Karakter | Karakterin karşılığı
& (ampersand) | &amp;
" (çift tırnak) | ENT_NOQUOTES belirtilmezse &quot; atanır
' (tek tırnak) | &#039; (ENT_HTML401 için) veya sadece ENT_QUOTES belirtildiği durumda &apos; (ENT_XML1, ENT_XHTML veya ENT_HTML5 için)
< (küçüktür) | &lt;
> (büyüktür) | &gt;

Bağımsız Değişkenler

dizge

Dönüştürülecek dizge.

seçenekler

Geçersiz kod dizilimlerinin, kullanılan belge türünün ve tırnakların nasıl ele alınacağını belirten aşağıdaki seçenekler bitsel VEYAlanarak seçenekler bağımsız değişkeninde belirtilebilir. ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 öntanımlıdır.

Olası sabit seçenekleri
Sabit İsmi | Açıklama
ENT_COMPAT | Sadece çift tırnaklar dönüştürülür, tek tırnaklara dokunulmaz.
ENT_QUOTES | Çift tırnaklara ilaveten tek tırnaklar da dönüştürülür.
ENT_NOQUOTES | Ne tek ne de çift tırnaklar dönüştürülür.
ENT_IGNORE | Geçersiz kod dizilimlerinde boş dizge döndürülmeyip seesizce yoksayma yoluna gidilir. » Güvenlikle ilgili etkiler olabileceğinden bu seçeneğin kullanımı önerilmemektedir.
ENT_SUBSTITUTE | Geçersiz kod dizilimi için boş bir dizge döndürülmeyip dizilimin yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) yerleştirilir.
ENT_DISALLOWED | Geçersiz kod dizilimini olduğu gibi bırakmak yerine Unicode Değiştirme Karakteri (U+FFFD veya &#FFFD;) ile değiştirilir. Örneğin, XML belgelerin gömülü harici içerikle iyi biçimliliğini sağlamak için bu seçenek kullanışlı olabilir.
ENT_HTML401 | Kod HTML 4.01 olarak ele alınır.
ENT_XML1 | Kod XML 1 olarak ele alınır.
ENT_XHTML | Kod XHTML olarak ele alınır.
ENT_HTML5 | Kod HTML 5 olarak ele alınır.

karküm

Karakterleri dönüştürürken kullanılan kodlamayı tanımlayan seçimlik bağımsız değişken.

Belirtilmezse kodlama için default_charset yapılandırma seçeneğinin değeri öntanımlıdır.

Bu bağımsız değişken teknik olarak seçimlikse de kodunuz için gereken değeri atamanız gerekir. Çünkü default_charset yapılandırma seçeneğine hatalı bir değer atanmış olabilir.

Bu işlevin amacı gereği, ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252 ve KOI8-R karakter kümeleri, aynı konumları işgal eden (htmlspecialchars() işlevinden etkilenen) karakterler bakımından eşdeğerdir.

Aşağıdaki karakter kümeleri desteklenmektedir.

Desteklenen karakter kümeleri
Karakter kümesi | Takma adı | Açıklama
ISO-8859-1 | ISO8859-1 | Batı Avrupa, Latin-1
ISO-8859-5 | ISO8859-5 | Az kullanılan kril küme (Latin/Cyrillic).
ISO-8859-15 | ISO8859-15 | Doğu Avrupa, Latin-9. Euro işaretini ekler, Fransızca ve Fince harfler Latin-1'de (ISO-8859-1) yoktur.
UTF-8 | ASCII uyumlu 8 bitlik çok baytlı Unicode.
cp866 | ibm866, 866 | DOS'a özgü Kril karakter kümesi.
cp1251 | Windows-1251, win-1251, 1251 | Windows'a özgü Kril karakter kümesi.
cp1252 | Windows-1252, 1252 | Doğu Avrupa için Windows'a özgü karakter kümesi.
KOI8-R | koi8-ru, koi8r | Rusça.
BIG5 | 950 | Geleneksel Çince, aslında Tayvan'da kullanılır.
GB2312 | 936 | Basitleştirilmiş Çince, ulusal standart karakter kümesi.
BIG5-HKSCS | Geleneksel Çince, Hong Kong eklentisi ile Big5.
Shift_JIS | SJIS, 932 | Japonca.
EUC-JP | EUCJP, eucJP-win | Japonca.
MacRoman | Mac OS tarafından kullanılmış karakter kümesi.
'' Boş bir dize, karakter kümesini, komut dosyası kodlamasından (Zend multibyte), default_charset ve geçerli yerel ayardan (bkz. nl_langinfo() ve setlocale()) algılamayı bu sırayla etkinleştirir. Önerilmez.

Bilginize: Bunlardan başka karakter kümesi tanınmaz. Yerine öntanımlı karakter kümesi kullanılır ve bir uyarı çıktılanır.

çifte_kodlama

Bu bağımsız değişkende false belirtilirse zaten kodlanmış HTML öğeleri tekrar kodlanmaz. Öntanımlı olarak herşey dönüştürülür.

Dönen Değerler

Dönüştürülen dizge.

Belirtilen kodlama altında belirtilen dizge geçersiz bir kod dizilimi içeriyorsa, ENT_IGNORE veya ENT_SUBSTITUTE seçenekleri atanmadığı takdirde boş dizge döndürülür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | seçenekler bağımsız değişkeninin öntanımlı değeri ENT_COMPAT iken ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 oldu.

Örnekler

Örnek 1 - htmlspecialchars() örneği

<?php
$yenisi = htmlspecialchars("<a href='dnm'>Deneme</a>", ENT_QUOTES);
echo $yenisi; // &lt;a href=&#039;dnm&#039;&gt;Deneme&lt;/a&gt;
?>

Notlar

Bilginize:

Bu işlev yukarıda listelenenler dışında hiçbir şeyi dönüştürmez. Tam bir dönüşüm istiyorsanız htmlentities() işlevine bakınız.

Bilginize:

Tutarsız seçenekler durumunda, şu kurallar uygulanır:

  • ENT_COMPAT, ENT_QUOTES, ENT_NOQUOTES seçeneklerinden hiçbiri mevcut değilse, ENT_NOQUOTES öntanımlıdır.
  • ENT_COMPAT, ENT_QUOTES, ENT_NOQUOTES seçeneklerinden birden fazlası mevcutsa, en yüksek önceliği ENT_QUOTES alır ve bunu ENT_COMPAT takip eder.
  • ENT_HTML401, ENT_HTML5, ENT_XHTML, ENT_XML1 seçeneklerinden hiçbiri mevcut değilse ENT_HTML401 öntanımlıdır.
  • ENT_HTML401, ENT_HTML5, ENT_XHTML, ENT_XML1 seçeneklerinden birden fazlası mevcutsa, en yüksek önceliği ENT_HTML5 alır ve bunu ENT_XHTML, ENT_XML1 ve ENT_HTML401 takip eder.
  • ENT_DISALLOWED, ENT_IGNORE, ENT_SUBSTITUTEseçeneklerinden birden fazlası mevcutsa, en yüksek önceliği ENT_IGNORE alır ve bunu ENT_SUBSTITUTE takip eder.

Ayrıca Bakınız

  • get_html_translation_table() - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
  • htmlspecialchars_decode() - Özel HTML öğelerini gerisin geriye karakterlere dönüştürür
  • strip_tags() - Bir dizgeden HTML ve PHP etiketlerini ayıklar
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • nl2br() - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir


Dizi elemanlarını birleştirip bir dizge elde eder

  • « htmlspecialchars
  • join »
  • PHP Manual
  • Dizge İşlevleri
  • Dizi elemanlarını birleştirip bir dizge elde eder

implode

(PHP 4, PHP 5, PHP 7, PHP 8)

implode — Dizi elemanlarını birleştirip bir dizge elde eder

Açıklama

implode(string $ayraç, array $dizi): string

İsimli bağımsız değişkenlerin desteklenmediği diğer sözdizimi:

implode(array $dizi): string

Eski sözdizimi (PHP 7.4.0 ve sonrasında kullanımı önerilmiyor, PHP 8.0.0'da kaldırıldı):

implode(array $dizi, string $ayraç): string

Dizi elemanlarını bir ayraç ile birleştirir.

Bağımsız Değişkenler

ayraç

Seçimlik. Öntanımlı olarak boş bir dizgedir.

dizi

Dizge haline getirilecek dizi.

Dönen Değerler

Her eleman arasına ayraç yerleştirilmiş olarak dizi elemanlarını aynı sırada içeren bir dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayraç bağımsız değişkeninin dizi bağımsız değişkeninden sonra aktarılması artık desteklenmiyor.
7.4.0 | ayraç bağımsız değişkeninin dizi bağımsız değişkeninden sonra aktarılması artık önerilmiyor.

Örnekler

Örnek 1 - implode() örneği

<?php

$dizi = ['soyadı', 'eposta', 'telefon'];
var_dump(implode(",", $dizi)); // string(21) "soyadı,eposta,telefon"

// Boş diziye boş dizge:
var_dump(implode('hello', [])); // string(0) ""

// Ayraç isteğe bağlıdır:
var_dump(implode(['a', 'b', 'c'])); // string(3) "abc"

?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • http_build_query() - URL kodlamalı sorgu dizgesi üretir


implode işlevinin takma adıdır

  • « implode
  • lcfirst »
  • PHP Manual
  • Dizge İşlevleri
  • implode işlevinin takma adıdır

join

(PHP 4, PHP 5, PHP 7, PHP 8)

join — implode() işlevinin takma adıdır

Açıklama

Bu işlev implode() işlevinin takma adıdır.


Bir dizgenin ilk karakterini küçük harf yapar

  • « join
  • levenshtein »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin ilk karakterini küçük harf yapar

lcfirst

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

lcfirst — Bir dizgenin ilk karakterini küçük harf yapar

Açıklama

lcfirst(string $dizge): string

Eğer dizge'nin ilk karakteri "A" (0x41) ile "Z" (0x5a) arasında bir ASCII karakter ise (başka bir deyişle ASCII büyük harf ise) küçük harfe çevirerek dizgeyi döndürür.

Burada, 'harf' geçerli yerele göre saptanır. Mesela, öntanımlı "C" yerelinde Ü harfi ü harfine çevirilmeyecektir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Elde edilen dizgeyi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere uygulandığından yerelin setlocale() ile atanması artık gerekmiyor.

Örnekler

Örnek 1 - lcfirst() örneği

<?php
$foo = 'HelloWorld';
$foo = lcfirst($foo); // helloWorld

$bar = 'HELLO WORLD!';
$bar = lcfirst($bar); // hELLO WORLD!
$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
?>

Ayrıca Bakınız

  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir
  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir
  • ucwords() - Dizgedeki her sözcüğün ilk harfini büyük harf yapar


İki dizge arasındaki Levenştayn mesafesini hesaplar

  • « lcfirst
  • localeconv »
  • PHP Manual
  • Dizge İşlevleri
  • İki dizge arasındaki Levenştayn mesafesini hesaplar

levenshtein

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

levenshtein — İki dizge arasındaki Levenştayn mesafesini hesaplar

Açıklama

levenshtein(
string $dizge1,
string $dizge2,
int $yerleştirme_bedeli = 1,
int $değiştirme_bedeli = 1,
int $silme_bedeli = 1
): int

Levenştayn mesafesi, dizge1 dizgesini dizge2'ye dönüştürmek için silinecek, yerleştirilecek veya değiştirilecek karakterlerin asgarisini tanımlar. Algoritmanın hesaplama karmaşıklığı, n ve m, dizge1 ve dizge2'nin uzunluğu olmak üzere O(m*n)'dir (Hesaplama karmaşıklığı O(max(n,m)**3) olan similar_text() işlevine göre daha iyi olsa da hala pahalıdır).

yerleştirme_bedeli, değiştirme_bedeli ve/veya silme_bedeli için 1 atanmışsa, algoritma en ucuz dönüşümü seçmeye uyarlanır. Örneğin, $yerleştirme_bedeli + $silme_bedeli < değiştirme_bedeli ise, hiçbir değiştirme yapılmaz, ama yerleştirme ve silme yapılır.

Bağımsız Değişkenler

dizge1

Levenştayn mesafesi değerlendirilecek dizgelerden biri.

dizge2

Levenştayn mesafesi değerlendirilecek dizgelerden biri.

yerleştirme_bedeli

Yerleştirme maliyetini tanımlar.

değiştirme_bedeli

Değiştirme maliyetini tanımlar.

silme_bedeli

Silme maliyetini tanımlar.

Dönen Değerler

Belirtilen iki dizge arasındaki Levenştayn mesafesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, levenshtein() iki ya da beş bağımsız değişken ile çağrılabiliyordu.
8.0.0 | Bu sürümden önce, dizgelerden biri 255 karakterden uzunsa levenshtein() -1 döndürürdü.

Örnekler

Örnek 1 - levenshtein() örneği

<?php
// girdi yanlış yazılmış olsun
$input = 'carrrot';

// bir sözcük dizisiyle karşılaştır
$words = array('apple','pineapple','banana','orange',
'radish','carrot','pea','bean','potato');

// en kısa mesafenin bulunamaması durumu
$shortest = -1;

// En kısa mesafeyi bulmak için döngü
foreach ($words as $word) {

// girdi ile sözcük arasındaki mesafeyi hesapla
$lev = levenshtein($input, $word);

// Bir eşleşme var mı bakalım
if ($lev == 0) {

// en yakın sözcük bu olacak (tam eşleşme)
$closest = $word;
$shortest = 0;

// Tam eşleşme varsa döngüden çık
break;
}

// Eğer bu mesafe bir öncekinden kısaysa
// veya en kısa mesafe henüz bulunamadıysa
if ($lev <= $shortest || $shortest < 0) {
// en yakın eşleşmeyi ve en kısa mesafeyi tanımla
$closest = $word;
$shortest = $lev;
}
}

echo "Girdi: $input\n";
if ($shortest == 0) {
echo "Tam eşleşme bulundu: $closest\n";
} else {
echo "Doğrusu bu olabilir mi?: $closest\n";
}

?>

Yukarıdaki örneğin çıktısı:

Girdi: carrrot
Doğrusu bu olabilir mi?: carrot

Ayrıca Bakınız

  • soundex() - Bir dizgenin sestek anahtarını hesaplar
  • similar_text() - İki dizge arasındaki benzerliği hesaplar
  • metaphone() - Bir dizgenin metafon anahtarını hesaplar


Sayısal biçemleme bilgisini döndürür

  • « levenshtein
  • ltrim »
  • PHP Manual
  • Dizge İşlevleri
  • Sayısal biçemleme bilgisini döndürür

localeconv

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

localeconv — Sayısal biçemleme bilgisini döndürür

Açıklama

localeconv(): array

Sayı ve para biçemleme bilgisini içeren bir ilişkisel dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

localeconv() işlevi setlocale() tarafından ayarlanan geçerli yerele özgü verinin tamamını ilişkisel bir dizi içinde döndürür. İlişkisel dizi şu alanları içerir:

Dizi elemanı | Açıklama
decimal_point | Ondalık ayracı
thousands_sep | Sayı için binlik ayracı
grouping | Sayısal gruplama içeren dizi
int_curr_symbol | Uluslararası para simgesi (TRL gibi)
currency_symbol | Ulusal para simgesi (TL gibi)
mon_decimal_point | Kuruş ayracı
mon_thousands_sep | Para için binlik ayracı
mon_grouping | Parasal gruplama içeren dizi
positive_sign | Pozitif değerler için işaret
negative_sign | Negatif değerler için işaret
int_frac_digits | Uluslararası kuruş hane sayısı
frac_digits | Ulusal kuruş hane sayısı
p_cs_precedes | Pozitif işareti para simgesinin önünde ise true ardında ise false.
p_sep_by_space | Pozitif işareti ile para simgesi arasında bir boşluk varsa true yoksa false
n_cs_precedes | Para simgesi bir negatif değerin önündeyse true ardındaysa false
n_sep_by_space | Para simgesi ile negatif değer arasında bir boşluk varsa true yoksa false
p_sign_posn
  • 0 - Pozitif miktar ve para simgesi yaylı ayraçlar arasında.
  • 1 - Pozitif işareti, miktar ve para simgesinin önüne konur.
  • 2 - Pozitif işareti, miktar ve para simgesinin ardına konur.
  • 3 - Pozitif işareti, para simgesinin hemen önüne konur.
  • 4 - Pozitif işareti, para simgesinin hemen ardına konur.
n_sign_posn
  • 0 - Negatif miktar ve para simgesi yaylı ayraçlar arasında.
  • 1 - Negatif işareti, miktar ve para simgesinin önüne konur.
  • 2 - Negatif işareti, miktar ve para simgesinin ardına konur.
  • 3 - Negatif işareti, para simgesinin hemen önüne konur.
  • 4 - Negatif işareti, para simgesinin hemen ardına konur.

p_sign_posn ve n_sign_posn bir biçemleme seçenekleri dizgesi içerir. Her sayı yukarıda listelenen durumlardan birini gösterir.

Gruplama alanları sayıların nasıl gruplanacağını tanımlayan diziler içerir. Örneğin, tr_TR yereli için para gruplama alanı 3 ve 3 değerlerinden oluşan bir dizi içerir. Daha yüksek indis öteki gruplamaya bırakılır. Bir dizi elemanı CHAR_MAX değerine eşitse başka gruplama yapılmaz. Bir dizi elemanı 0'a eşitse önceki elemanın kullanılması gerekir.

Örnekler

Örnek 1 - localeconv() örneği

<?php
if (false !== setlocale(LC_ALL, 'tr_TR.UTF-8')) {
$locale_info = localeconv();
print_r($locale_info);
}
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [decimal_point] => ,
    [thousands_sep] => .
    [int_curr_symbol] => TRL
    [currency_symbol] => TL
    [mon_decimal_point] => ,
    [mon_thousands_sep] => .
    [positive_sign] =>
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 0
    [p_sep_by_space] => 1
    [n_cs_precedes] => 0
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 1
    [grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

    [mon_grouping] => Array
        (
            [0] => 3
            [1] => 3
        )

)

Ayrıca Bakınız

  • setlocale() - Yereli ayarlar


Dizgenin başındaki boşlukları (veya diğer karakterleri) budar

  • « localeconv
  • md5_file »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin başındaki boşlukları (veya diğer karakterleri) budar

ltrim

(PHP 4, PHP 5, PHP 7, PHP 8)

ltrim — Dizgenin başındaki boşlukları (veya diğer karakterleri) budar

Açıklama

ltrim(string $dizge, string $karakterler = " \n\r\t\v\x00"): string

Bu işlev dizge'nin başındaki boşlukları (veya diğer karakterleri) budar.

Bağımsız Değişkenler

dizge

Budanacak dizge.

karakterler

Seçimlik olarak, karakterler bağımsız değişkeni kullanılarak budanacak karakterler belirlenebilir. Basitçe budamak istediğiniz tüm karakterleri belirtin. .. kullanarak karakter aralığı belirtebilirsiniz.

Dönen Değerler

Bu işlev dizge'nin başındaki boşlukları budar. İkinci bağımsız değişken olmaksızın ltrim() sadece aşağıdaki karakterleri budayacaktır:

  • " " (ASCII 32 (0x20)), sıradan boşluk.
  • "\t" (ASCII 9 (0x09)), sekme.
  • "\n" (ASCII 10 (0x0A)), satırsonu.
  • "\r" (ASCII 13 (0x0D)), satırbaşı.
  • "\0" (ASCII 0 (0x00)), NUL-bayt.
  • "\v" (ASCII 11 (0x0B)), dikey sekme.

Örnekler

Örnek 1 - ltrim() örneği

<?php

$metin = "\t\tBir kaç kelam :) ... ";
$ikil = "\x09Örnek dizge\x0A";
$selam = "Merhaba Dünya";
var_dump($metin, $ikil, $selam);

print "\n";

$kırpık = ltrim($metin);
var_dump($kırpık);

$kırpık = ltrim($metin, " \t.");
var_dump($kırpık);

$kırpık = ltrim($selam, "aerMy");
var_dump($kırpık);

// $ikil'in başındaki ve sonundaki ASCII denetim karakterlerini budar
// (0'dan 31'e kadar, 0 ve 31 dahil)
$temiz = ltrim($ikil, "\x00..\x1F");
var_dump($temiz);

?>

Yukarıdaki örneğin çıktısı:

string(25) "            Bir kaç kelam :) ...  "
string(14) "    Örnek dizge
"
string(14) "Merhaba Dünya"

string(23) "Bir kaç kelam :) ...  "
string(23) "Bir kaç kelam :) ...  "
string(11) "haba Dünya"
string(13) "Örnek dizge
"

Ayrıca Bakınız

  • trim() - Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • rtrim() - Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar


Belirtilen dosyanın md5 özetini hesaplar

  • « ltrim
  • md5 »
  • PHP Manual
  • Dizge İşlevleri
  • Belirtilen dosyanın md5 özetini hesaplar

md5_file

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

md5_file — Belirtilen dosyanın md5 özetini hesaplar

Açıklama

md5_file(string $dosya, bool $ikil = false): string|false

dosya dosyasının MD5 özetini » RSA Data Security, Inc. MD5 İleti Özeti Algoritmasını kullanarak hesaplar ve bu özeti döndürür. Aş 32 haneli onaltılık bir sayıdır.

Bağımsız Değişkenler

dosya

Dosya ismi.

ikil

İsteğe bağlı bu bağımsız değişkende true belirtirseniz MD5 özeti 16 bayt uzunlukta ham ikil biçemli bir dizge olarak döner.

Dönen Değerler

Başarıli bir işlem sonunda bir dizge aksi takdirde false dördürür.

Örnekler

Örnek 1 - md5_file()örneği

<?php
$file = 'php-5.3.0alpha2-Win32-VC9-x64.zip';

echo '$file . ' dosyasının MD5 özeti: ' . md5_file($file);
?>

Ayrıca Bakınız

  • md5() - Bir dizgenin md5 özetini hesaplar
  • sha1_file() - Bir dosyanın sha1 aşını hesaplar
  • crc32() - Bir dizgenin crc32 çok terimlisini hesaplar


Bir dizgenin md5 özetini hesaplar

  • « md5_file
  • metaphone »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin md5 özetini hesaplar

md5

(PHP 4, PHP 5, PHP 7, PHP 8)

md5 — Bir dizgenin md5 özetini hesaplar

Uyarı

Bu aşlama algoritmasının hızlı doğasından dolayı bu işlevin parolaları güvenli kılmak için kullanılması önerilmez. Ayrıntılar ve daha iyi uygulamalar için SSS: Parola Aşlama belgesine bakılabilir.

Açıklama

md5(string $dizge, bool $ikil = false): string

dizge dizgesinin MD5 özetini » RSA Data Security, Inc. MD5 İleti Özeti Algoritmasını kullanarak hesaplar ve bu özeti döndürür.

Bağımsız Değişkenler

dizge

Özeti hesaplanacak dizge.

ikil

İsteğe bağlı bu bağımsız değişkende true belirtirseniz MD5 özeti 16 bayt uzunlukta ham ikil biçemli bir dizge olarak döner.

Dönen Değerler

İleti aşını 32 haneli onaltılık sayısal dizge olarak olarak döndürür.

Örnekler

Örnek 1 - md5() örneği

<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Yeşil elma mı istersin kırmızı mı?";
}
?>

Ayrıca Bakınız

  • md5_file() - Belirtilen dosyanın md5 özetini hesaplar
  • sha1_file() - Bir dosyanın sha1 aşını hesaplar
  • crc32() - Bir dizgenin crc32 çok terimlisini hesaplar
  • sha1() - Bir dizgenin sha1 aşını hesaplar
  • hash() - Bir ileti aşı üretir
  • crypt() - Tek yönlü dizge aşlama
  • password_hash() - Parola aşı oluşturur


Bir dizgenin metafon anahtarını hesaplar

  • « md5
  • money_format »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin metafon anahtarını hesaplar

metaphone

(PHP 4, PHP 5, PHP 7, PHP 8)

metaphone — Bir dizgenin metafon anahtarını hesaplar

Açıklama

metaphone(string $dizge, int $azami_ses_karakteri_sayısı = 0): string

dizge dizgesinin metafon anahtarını hesaplar.

Benzer sesletime sahip sözcükler için aynı anahtarı üretmesi bakımından soundex() işlevine benzer. Ancak İngilizce okunuşun temel kuralları kullanıldığından soundex() işlevine göre daha doğru anahtarlar üretir. Ayrıca bu işlevin ürettiği anahtarlar değişken uzunluktadır.

Metafon Lawrence Philips <lphilips at verity dot com> tarafından geliştirilmiş ve şu kitapta açıklanmıştır: ["Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995]

Bağımsız Değişkenler

dizge

Girdi dizgesi.

azami_ses_karakteri_sayısı

Bu bağımsız değişken, döndürülen metafon anahtarını uzunluk olarak azami_ses_karakteri_sayısı karakterle sınırlar. Bununla birlikte, ortaya çıkan ses karakterleri her zaman tamamen kopyalanır, bu nedenle ortaya çıkan dizi uzunluğu azami_ses_karakteri_sayısından biraz daha uzun olabilir. Öntanımlı değer olan 0, kısıtlama olmadığı anlamına gelir.

Dönen Değerler

Metafonu bir dizge olarak döndürür, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Başarısızlık durumunda işlev artık false döndürüyor.

Örnekler

Örnek 1 - metaphone() örneği

<?php
var_dump(metaphone('programming'));
var_dump(metaphone('programmer'));
?>

Yukarıdaki örneğin çıktısı:

string(7) "PRKRMNK"
string(6) "PRKRMR"

Örnek 2 - azami_ses_karakteri_sayısı kullanımı

<?php
var_dump(metaphone('programming', 5));
var_dump(metaphone('programmer', 5));
?>

Yukarıdaki örneğin çıktısı:

string(5) "PRKRM"
string(5) "PRKRM"

Örnek 3 - azami_ses_karakteri_sayısı kullanımı örneği

Bu örnekte, metaphone()'a beş karakterlik bir dizge üretmesi öneriliyor, ancak bu, son ses karakterinin içerilmemesi demektir, çünkü 'x', 'KS' olarak yazılmalıdır, bu nedenle işlev, altı karakterli bir dizge döndürür.

<?php
var_dump(metaphone('Asterix', 5));
?>

Yukarıdaki örneğin çıktısı:

string(6) "ASTRKS"


Bir sayıyı para olarak biçemler

  • « metaphone
  • nl_langinfo »
  • PHP Manual
  • Dizge İşlevleri
  • Bir sayıyı para olarak biçemler

money_format

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

money_format — Bir sayıyı para olarak biçemler

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

money_format(string $biçem, float $sayı): string

money_format() işlevi belirtilen sayı'nın para olarak biçemlenmiş sürümünü döndürür. Bu gerçeklenimin bir defada sadece bir sayıyı dönüştürmesi dışında C kütüphanesinin strfmon() işlevinin yaptığını yapar.

Bağımsız Değişkenler

biçem

Biçem belirtimleri şu dizilimlerden oluşur:

  • % karakteri

  • seçimlik seçenekler

  • seçimlik alan genişlikleri

  • seçimlik sol taraf hassasiyeti

  • seçimlik sağ taraf hassasiyeti

  • gerekli bir dönüşüm karakteri

Seçenekler

Aşağıdaki seçeneklerden bir veya daha fazlası kullanılabilir:

=f

= iminden sonra gelen bir tek baytlık karakter sayısal dolgu karakteri olarak kullanılır. Boşluk, öntanımlı dolgu karakteridir.

^

Geçerli yerelde tanımlı binlik ayracını iptal eder.

+ veya (

Pozitif ve negatif sayılar için biçemleme tarzını belirler. + kullanılmışsa + ve - için yereldeki eşdeğeri kullanılır. ( kullanılmışsa negatif miktarlar yaylı ayraç içine alınır. Hiçbir şey belirtilmemişse + öntanımlıdır.

!

Çıktı dizgesinde para biriminin bulunmamasını sağlar.

-

Belirtilmesi halinde bütün alanlar sola yanaştırılır (sağ tarafa dolgu yapılır). Belirtilmemesi halinde (öntanımlı durum) alanlar sağa yanaştırılır (sol tarafa dolgu yapılır).

Alan genişliği

w

En küçük alan genişliğini belirten onluk bir rakam. - seçeneği belirtilmedikçe alan sağa yanaştırılır. Öntanımlı değer sıfırdır (0).

Sol taraf hassasiyeti

#n

Ondalık ayracın sol tarafındaki hanelerin azami sayısı (n). Normalde sayıları aynı sütun genişliğinde alt alta dizerken belirtilenden daha az genişliğe sahip sayılarda dolgu yapılması için kullanılır. Burada belirtilenden daha geniş sayılara bu belirtim uygulanmaz.

^ seçeneği ile binlik gruplama engellenmemişse eklenen (varsa) dolgu karakterlerinin öncesine binlik ayracı yerleştirilir. Binlik ayracı dolgu karakterlerine, 0 bile olsalar uygulanmaz.

Hizalamak amacıyla pozitif ve negatif biçemlerin genişliklerini eşitlemek için gerekirse, biçemli çıktıdaki sayıdan önceki veya sonraki herhangi bir karaktere kadar (para birimi veya işaret simgesi) boşluk karakteri doldurulur.

Sağ taraf hassasiyeti

.p

Ondalık ayracın sağındaki hane sayısı (p). Eğer p 0 (sıfır) ise, ondalık ayraç ve sağındaki rakamlar yoksayılır. Sağ taraf hassasiyeti olarak hiçbir şey belirtilmemişse geçerli yereldeki kullanılır. Belirtilen genişlikten daha fazla sayıda hane varsa bu haneler biçemleme öncesi yuvarlatılır.

Dönüşüm karakterleri

i

Sayı yerelin uluslararası para birimine göre biçemlenir (örn, en_US yereli için: USD 1,234.56).

n

Sayı yerelin ulusal para birimine göre biçemlenir (örn, de_DE yereli için: EU1.234,56).

%

% karakteri döner.

sayı

Biçemlenecek sayı.

Dönen Değerler

Biçemlenmiş dizge döner. Biçemlenen sayının önündeki veya ardındaki karakterler değişmeden döner. sayı bir sayısal değer değilse işlev null döndürür ve bir E_WARNING çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlevin kullanımı artık önerilmiyor. Yerine NumberFormatter::formatCurrency() kullanılabilir.

Örnekler

Örnek 1 - money_format() örneği

Bu işlevin neler yapabileceğini göstermek için farklı yereller kullanacağız.

<?php

$number = 1234.56;

// Amerikan yereli için uluslararası biçemi kullanalım
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56

// 2 ondalık haneli İtalyan ulusal biçemi
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu. 1.234,56

// Negatif sayı kullanımı
$number = -1234.5672;

// Negatif sayılar için () ve sol tarafı 10 hanelik
// Amerikan ulusal biçemi
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)

// Yukarıdaki biçeme ek olarak sağ taraf için 2 hane
// ve dolgu karakteri olarak '*' kullanımı;
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)

// Sola hizalı, 14 hane genişlikte, sol taraf hassasiyeti olarak 8,
// sağ taraf hassasiyeti olarak 2 hanelik, binlik ayracı kullanmaksızın
// Alman yereli için uluslararası biçemi kullanarak sayıyı biçemleyelim
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****

// Dönüşüm belirtiminin önüne ve ardına bir şeyler ekleyelim
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'Son fiyat %i olur (%%10 indirim sonrası)';
echo money_format($fmt, 1234.56) . "\n";
// Son fiyat GBP 1,234.56 olur (%10 indirim sonrası)

?>

Notlar

Bilginize:

money_format() işlevi sadece sistem strfmon yeteneklerine sahipse tanımlıdır. Örneğin Windows'ta money_format() kullanılamaz.

Bilginize:

Yerelin LC_MONETARY sınıfı bu işlevin davranışını etkiler. Bu bakımdan bu işlevi kullanmadan önce uygun bir yereli öntanımlı yerel yapmak için setlocale() işlevini kullanın.

Ayrıca Bakınız

  • setlocale() - Yereli ayarlar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • sprintf() - Biçemli bir dizge döndürür
  • printf() - Biçemli bir dizge çıktılar
  • number_format() - Sayıyı binlik bölümlere ayırır


Dili ve yerel bilgisini sorgular

  • « money_format
  • nl2br »
  • PHP Manual
  • Dizge İşlevleri
  • Dili ve yerel bilgisini sorgular

nl_langinfo

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

nl_langinfo — Dili ve yerel bilgisini sorgular

Açıklama

nl_langinfo(int $eleman): string|false

nl_langinfo() işlevi yerel sınıflarındaki elemanlara tek tek erişmek için kullanılır.Tüm elemanları döndüren localeconv() işlevinin tersine, nl_langinfo() belli bir elemanı seçme olanağı verir.

Bağımsız Değişkenler

eleman

eleman bağımsız değişkeni elemanın sabit ismi olabileceği gibi elemanın tamsayı değeri de olabilir. Aşağıda açıklamalarıyla birlikte verilen sabit isimleri eleman olarak kullanılabilir. Bu sabitlerin bazıları geçerli yerelde tanımlanmamış olabilir.

nl_langinfo Sabitleri
Sabit | Açıklama
LC_TIME Sınıfının Sabitleri
ABDAY_(1-7) | Haftanın n. gününün kısaltılmış ismi.
DAY_(1-7) | Haftanın n. gününün tam ismi (DAY_1 = Pazar).
ABMON_(1-12) | Yılın n. ayının kısaltılmış ismi.
MON_(1-12) | Yılın n. ayının tam ismi.
AM_STR | Öğleden önce.
PM_STR | Öğleden sonra.
D_T_FMT | Tarih ve saati göstermek için strftime() işlevinde kullanılabilecek dizge.
D_FMT | Tarihi göstermek için strftime() işlevinde kullanılabilecek dizge.
T_FMT | Saati göstermek için strftime() işlevinde kullanılabilecek dizge.
T_FMT_AMPM | 12 saatlik öö/ös gösterimli saati göstermek için strftime() işlevinde kullanılabilecek dizge.
ERA | Diğer çağ ismi.
ERA_YEAR | Diğer çağ biçeminde yıl.
ERA_D_T_FMT | Diğer çağ biçeminde tarih ve saati göstermek için strftime() işlevinde kullanılabilecek dizge.
ERA_D_FMT | Diğer çağ biçeminde tarihi göstermek için strftime() işlevinde kullanılabilecek dizge.
ERA_T_FMT | Diğer çağ biçeminde saati göstermek için strftime() işlevinde kullanılabilecek dizge.
LC_MONETARY Sınıfının Sabitleri
INT_CURR_SYMBOL | Uluslararası para birimi.
CURRENCY_SYMBOL | Yerel para birimi.
CRNCYSTR | CURRENCY_SYMBOL ile aynı.
MON_DECIMAL_POINT | Para için ondalık ayracı.
MON_THOUSANDS_SEP | Para için binlik ayracı.
MON_GROUPING | Para için binlik ayracı.
POSITIVE_SIGN | Pozitif değerler için im.
NEGATIVE_SIGN | Negatif değerler için im.
INT_FRAC_DIGITS | Uluslararası kuruş hanelerinin sayısı.
FRAC_DIGITS | Yerel kuruş hanelerinin sayısı.
P_CS_PRECEDES | CURRENCY_SYMBOL bir pozitif değerin önüne getirilecekse 1 döner.
P_SEP_BY_SPACE | CURRENCY_SYMBOL bir pozitif değerden bir boşlukla ayrılacaksa 1 döner.
N_CS_PRECEDES | CURRENCY_SYMBOL bir negatif değerin önüne getirilecekse 1 döner.
N_SEP_BY_SPACE | CURRENCY_SYMBOL bir negatif değerden bir boşlukla ayrılacaksa 1 döner.
P_SIGN_POSN
  • Para birimi ve miktar yaylı ayraçların arasına alınacaksa 0 döner.
  • İşaret dizgesi, miktar ve para biriminin önüne konacaksa 1 döner.
  • İşaret dizgesi, miktar ve para biriminin ardına konacaksa 2 döner.
  • İşaret dizgesi, para biriminin önüne konacaksa 3 döner.
  • İşaret dizgesi, para biriminin ardına konacaksa 4 döner.
N_SIGN_POSN
LC_NUMERIC Sınıfının Sabitleri
DECIMAL_POINT | Sayılar için ondalık ayraç.
RADIXCHAR | DECIMAL_POINT ile aynı.
THOUSANDS_SEP | Sayılar için binlik ayraç.
THOUSEP | THOUSANDS_SEP ile aynı.
GROUPING
LC_MESSAGES Sınıfının Sabitleri
YESEXPR | 'evet' veya 'yes' girdisi ile eşleşen düzenli ifade dizgesi (Glibc Türkçe yerelinde ikisi de kullanılabilmektedir).
NOEXPR | 'hayır' veya 'no' dizgesi ile eşleşen düzenli ifade girdisi (Glibc Türkçe yerelinde ikisi de kullanılabilmektedir).
YESSTR | 'evet' veya 'yes' için çıktı dizgesi.
NOSTR | 'hayır' veya 'no' çıktı dizgesi.
LC_CTYPE Sınıfının Sabitleri
CODESET | Karakter kodlamasının ismini içeren bir dizge döner.

Dönen Değerler

Bir elemanı bir dizge olarak döndürür. eleman geçersizse false döner.

Örnekler

Örnek 1 - nl_langinfo() örneği

<?php
setlocale(LC_ALL,"tr_TR.UTF-8");

var_dump(nl_langinfo(CODESET));
var_dump(nl_langinfo(YESEXPR));
var_dump(nl_langinfo(NOEXPR));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(5) "UTF-8"
string(9) "^[+1yYeE]"
string(9) "^[-0nNhH]"

Notlar

Bilginize: Bu işlev Windows sistemlerinde çalışmaz.

Ayrıca Bakınız

  • setlocale() - Yereli ayarlar
  • localeconv() - Sayısal biçemleme bilgisini döndürür


Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir

  • « nl_langinfo
  • number_format »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir

nl2br

(PHP 4, PHP 5, PHP 7, PHP 8)

nl2br — Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir

Açıklama

nl2br(string $dizge, bool $xhtml = true): string

dizge içindeki bütün satırsonu karakterlerinin (\r\n, \n\r, \n ve \r) yerlerine <br /> veya <br> yerleştirilerek elde edilen dizgeyi döndürür.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

xhtml

XHTML uyumlu etiket kullanılıp kullanılmayacağını belirler.

Dönen Değerler

Elde edilen dizge.

Örnekler

Örnek 1 - nl2br() örneği

<?php
echo nl2br("foo isn't\n bar");
?>

Yukarıdaki örneğin çıktısı:

foo isn't<br />
 bar

Örnek 2 - xhtml bağımsız değişkeni kullanımı

<?php
echo nl2br("Hoş Geldiniz\r\nBu bir HTML belgedir", false);
?>

Yukarıdaki örneğin çıktısı:

Hoş Geldiniz<br>
Bu bir HTML belgedir

Örnek 3 - Çeşitli satırsonu ayraçları

<?php
$string = "This\r\nis\n\ra\nstring\r";
echo nl2br($string);
?>

Yukarıdaki örneğin çıktısı:

This<br />
is<br />
a<br />
string<br />

Ayrıca Bakınız

  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • wordwrap() - Bir dizgeyi belli bir uzunlukta katlar
  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir


Sayıyı binlik bölümlere ayırır

  • « nl2br
  • ord »
  • PHP Manual
  • Dizge İşlevleri
  • Sayıyı binlik bölümlere ayırır

number_format

(PHP 4, PHP 5, PHP 7, PHP 8)

number_format — Sayıyı binlik bölümlere ayırır

Açıklama

number_format(
float $sayı,
int $ondalık_hane = 0,
?string $ondalık_ayracı = ".",
?string $binlik_ayracı = ","
): string

sayı, yarıdan yukarı yuvarlanarak, ondalık kısmı ondalık_hane sayıda hane içerecek şekilde , ondalık ayraç olarak ondalık_ayracı, binlik ayraç olarak binlik_ayracı kullanılarak çıktılanır.

Bağımsız Değişkenler

sayı

Biçemlenecek sayı.

ondalık_hane

Ondalık hanelerin sayısı. 0 ise dönen dizgede ondalık_ayracı bulunmaz.

ondalık_ayracı

Ondalık ayracı.

binlik_ayracı

Binlik ayracı.

Dönen Değerler

sayı'nın biçemlenmiş sürümü.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, number_format() bir, iki veya dört (üç değil) bağımsız değişken kabul ediyordu.
7.2.0 | number_format() artık -0 döndüremiyor, evvelce sayı olarak -0.01 benzerlerinin belirtildiği durumlarda -0 dönebiliyordu.

Örnekler

Örnek 1 - number_format() örneği

Türkçede sayıları gösterirken genellikle iki ondalık hane, ondalık ayracı olarak virgül (','), binlik ayracı olarak nokta ('.') kullanırız.

<?php

$sayı = 1234.56;

// İngilizcedeki gösterim (öntanımlı)
$english_format_number = number_format($sayı);
// 1,235

// Bizimki
$bizimki = number_format($sayı, 2, ',', '.');
// 1.234,56

$number = 1234.5678;

// İngilizcede binlik ayraçsız gösterim
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

Ayrıca Bakınız

  • money_format() - Bir sayıyı para olarak biçemler
  • sprintf() - Biçemli bir dizge döndürür
  • printf() - Biçemli bir dizge çıktılar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar


Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür

  • « number_format
  • parse_str »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür

ord

(PHP 4, PHP 5, PHP 7, PHP 8)

ord — Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür

Açıklama

ord(string $karakter): int

karakter dizgesinin ilk baytının ikil değerini 0-255 arasında işaretsiz bir tamsayı olarak yorumlar.

Dizgenin kodlaması, ASCII, ISO-8859 veya Windows 1252 gibi tek baytlık bir kodlama ise, bu, karakter kümesinin eşleme tablosundaki bir karakterin konumunu döndürmeye eşdeğerdir. Ancak, bu işlevin herhangi bir dizge kodlamasından haberdar olmadığını ve özellikle UTF-8 veya UTF-16 gibi çok baytlı kodlamada bir Unicode karakter kodunu asla tanımlamayacağını unutmayın.

Bu işlev chr() işlevinin tersidir.

Bağımsız Değişkenler

dizge

Bir karakter.

Dönen Değerler

0-255 arasında bir tamsayı döndürür.

Örnekler

Örnek 1 - ord() örneği

<?php
$str = "\n";
if (ord($str) == 10) {
echo "\$str dizgesinin ilk karakteri bir satırsonudur.\n";
}
?>

Örnek 2 - Bir UTF-8 dizgenin baytlarının tek tek incelenmesi

<?php
$str = "??";
for ( $pos=0; $pos < strlen($str); $pos ++ ) {
$byte = substr($str, $pos);
echo "$str karakterinde bayt $pos değeri: ". ord($byte) ."\n";
}
?>

Yukarıdaki örneğin çıktısı:

?? karakterinde bayt 0 değeri: 240
?? karakterinde bayt 1 değeri: 159
?? karakterinde bayt 2 değeri: 144
?? karakterinde bayt 3 değeri: 152

Ayrıca Bakınız

  • chr() - Bir sayıdan tek baytlık dizge üretir
  • » ASCII tablosu
  • mb_ord() - Karakterin Unicode karakter kodunu döndürür
  • IntlChar::ord() - Return Unicode code point value of character


Dizge içindeki değişkenleri çözümler

  • « ord
  • print »
  • PHP Manual
  • Dizge İşlevleri
  • Dizge içindeki değişkenleri çözümler

parse_str

(PHP 4, PHP 5, PHP 7, PHP 8)

parse_str — Dizge içindeki değişkenleri çözümler

Açıklama

parse_str(string $dizge, array &$sonuç): void

Bir URL üzerinden aktarılan bir sorgu dizgesindeki değişkenleri çözümler ve bunları geçerli etki alanında (veya sonuç belirtilmişse dizi içinde) tanımlı hale getirir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

sonuç

Seçimlik olan bu bağımsız değişken kullanılmışsa değişkenler etki alanında tanımlanmak yerine bu dizinin elemanlarına yerleştirilir.

Uyarı

PHP 7.2 ve sonrasında bu işlevin sonuç bağımsız değişkeni olmaksızın kullanımı ÖNERİLMEMEKTE olup bundan VAZGEÇİLMELİdir. PHP 8.0.0 ve sonrasında, sonuç bağımsız değişkeni ZORUNLUDUR.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.o | İşlevin sonuç bağımsız değişkeni olmaksızın kullanımı artık bir E_DEPRECATED uyarısı çıktılıyor.

Örnekler

Örnek 1 - parse_str() kullanımı

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);

// Önerilir
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

// KULLANILMAMALI
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

?>

PHP'deki değişken isimlerinde nokta ve boşluk olmadığından, bunlar alt çizgilere dönüştürülür. Bu işlevin sonuç bağımsız değişkeni ile kullanılması durumunda ilgili anahtar isimleri için de aynı şey uygulanır.

Örnek 2 - parse_str() ve isim uyarlama

<?php
parse_str("My Value=Something");
echo $My_Value; // Something

parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>

Notlar

Bilginize:

Geçerli QUERY_STRING dizgesini almak için $_SERVER['QUERY_STRING'] değişkeni kullanılabilir. Ayrıca, Dış Kaynaklı Değişkenler bölümünü de okumakta fayda var.

Ayrıca Bakınız

  • parse_url() - Bir URL'yi bileşenlerine ayırır
  • pathinfo() - Bir dosya yolu hakkında bilgi döndürür
  • http_build_query() - URL kodlamalı sorgu dizgesi üretir
  • urldecode() - URL kodlamalı dizgenin kodlamasını çözer


Bir dizge çıktılar

  • « parse_str
  • printf »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizge çıktılar

print

(PHP 4, PHP 5, PHP 7, PHP 8)

print — Bir dizge çıktılar

Açıklama

print(string $ifade): int

ifadeyi çıktılar.

print aslında bir işlev değildir (bir dil oluşumudur), dolayısıyla bağımsız değişkenini belirtirken yaylı ayraçları kullanmanız gerekmez.

echo'dan başlıca farklar, print'in tek bir bağımsız değişken kabul etmesi ve daima 1 döndürmesidir.

Bağımsız Değişkenler

ifade

Çıktılanacak ifade. Dizge olmayan değerler strict_types yönergesi etkin olsa bile dizgeye zorlanır.

Dönen Değerler

Daima 1 döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - print örnekleri

<?php
print "print yaylı ayraçlar olmadan da çalışır.";

// Satırsonu veya boşluk eklemek gerekmez;
// aşağıdaki tek satırda "helloworld" çıktılar.
+print "hello";
+print "world";

print "Bu çok satırlı bir
dizge olup satırsonu karakterleri
de çıktılanır.";

print "Bu çok satırlı bir\ndizge olup satırsonu karakterleri\nde çıktılanır.";

print "Karakterlerin öncelenmesi böyle yapılır: \"Tıpkı böyle\".";

// Bağımsız değişken dizge üreten harhangi bir ifade olabilir
$bu = "Bu da";
print "$bu Buda"; // Bu da Buda

// Ayrıca dizileri de kullanabilirsiniz
$bar = array("değer" => "Buda");

print "Bu da {$bar['değer']} !"; // Bu da Buda !

// declare(strict_types=1) olsa bile dizge olmayan iadeler dizgeye zorlanır
print 6 * 7; // 42

// Tek tırnak içine alırsanız değişken basılır, değeri değil
print '$bu Buda'; // $bu Buda

// Başka karakter kullanmazsanız sadece değişkenin değeri basılır
print $bu; // Bu da

// print değer döndürdüğünden ifadelerde kullanılabilir
// Çıktısı: "hello world"
if ( print "hello" ) {
echo " world";
}

// Çıktısı: "true"
( 1 === 1 ) ? print 'true' : print 'false';
?>

Notlar

Bilginize: Yaylı ayraçların kullanımı

print deyiminin bağımsız değişkenini yaylı ayraçlar arasına almak bir sözdizimi hatasına yol açmaz ve normal bir işlev çağrısı gibi görünen bir sözdizimi de üretmez. Ancak bu yanlış anlaşılabilir, çünkü yaylı ayraçlar aslında çıktılanacak ifadenin parçasıdır, print deyimim parçası değildir.

<?php
print "hello";
// "hello" basar

print("hello");
// bu da "hello" basar, çünkü ("hello") geçerli bir ifadedir

print(1 + 2) * 3;
// "9" basar; yaylı ayraçlar sayesinde 1+2 önce yorumlanır, sonra da 3*3
// print deyimi ifadenin tümünü tek bir bağımsız değişken olarak görür

if ( print("hello") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// " - inside if" basar
// ("hello") && false ifadesi önce yorumlanır ve false ile sonuçlanır
// bu boş dizgeye zorlanır "" ve çıktılanır
// print deyimi 1 döndürür, böylece if bloğundaki kod çalıştırılır
?>

print büyük bir ifade ile kullanılırken, anahtar sözcüğü ve bağımsız değişkenini yaylı ayraçlar arasına almak istenen sonucu üretmek için gerekli olabilir:

<?php
if ( (print "hello") && false ) {
print " - inside if";
}
else {
print " - inside else";
}
// "hello - inside else" basar
// önceki örneğin tersine (print "hello") ifadesi önce yorumlanır
// "hello" bastıktan sonra 1 döndürür
// 1 && false ifadesinin sonucu false olduğundan else bloğundaki kod çalıştırılır

print "hello " && print "world";
// "world1" basar; önce print "world" yorumanır,
// sonra soldaki print'e "hello " && 1 aktarılır

(print "hello ") && (print "world");
// "hello world" basar; ayraçlar print ifadelerinin
// &&'den önce yorumlanmasını sağlar
?>

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Ayrıca Bakınız

  • echo - Bir veya daha fazla dizgeyi çıktılar
  • printf() - Biçemli bir dizge çıktılar
  • flush() - Sistem çıktı tamponunu boşaltır
  • Sayıl dizgeleri belirtme yolları


Biçemli bir dizge çıktılar

  • « print
  • quoted_printable_decode »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli bir dizge çıktılar

printf

(PHP 4, PHP 5, PHP 7, PHP 8)

printf — Biçemli bir dizge çıktılar

Açıklama

printf(string $biçem, mixed ...$değerler): int

Belirtilen biçem dizgesine göre üretilmiş bir dizge çıktılar.

Bağımsız Değişkenler

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

değerler

Dönen Değerler

Çıktılanın dizgenin uzunluğunu döndürür.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - printf(): çeşitli örnekler

<?php
$n = 43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'

// dikkat: çift %%, tek bir '%' karakteri basar
printf("%%b = '%b'\n", $n); // ikil gösterim
printf("%%c = '%c'\n", $c); // ascii karakter basar, chr() işleviyle aynı
printf("%%d = '%d'\n", $n); // standart tamsayı gösterimi
printf("%%e = '%e'\n", $n); // bilimsel gösterim
printf("%%u = '%u'\n", $n); // işaretsiz pozitif tamsayı gösterimi
printf("%%u = '%u'\n", $u); // işaretsiz negatif tamsayı gösterimi
printf("%%f = '%f'\n", $n); // kayan noktalı sayı gösterimi
printf("%%o = '%o'\n", $n); // sekizlik gösterim
printf("%%s = '%s'\n", $n); // dizgesel gösterim
printf("%%x = '%x'\n", $n); // onaltılık küçük harf gösterimi
printf("%%X = '%X'\n", $n); // onaltılık büyük harf gösterimi

printf("%%+d = '%+d'\n", $n); // pozitif tamsayıda işaret belirteci
printf("%%+d = '%+d'\n", $u); // negatif tamsayıda işaret belirteci
?>

Yukarıdaki örneğin çıktısı:

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Örnek 2 - printf(): dizge belirteçleri

<?php
$s = 'monkey';
$t = 'many monkeys';

printf("[%s]\n", $s); // standart dizge çıktısı
printf("[%10s]\n", $s); // boşluk dolgulu sağa yanaşık
printf("[%-10s]\n", $s); // boşluk dolgulu sola yanaşık
printf("[%010s]\n", $s); // sıfır dolgulu sağa yanaşık
printf("[%'#10s]\n", $s); // '#' dolgulu sağa yanaşık
printf("[%'#*s]\n", 10, $s); // dolgu genişliği ek bağımsız değişken olarak sağlanır
printf("[%10.9s]\n", $t); // 9 karakterden kırparak sağa yanaşık
printf("[%-10.9s]\n", $t); // 9 karakterden kırparak sola yanaşık
?>

Yukarıdaki örneğin çıktısı:

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[####monkey]
[ many monk]
[many monk ]

Ayrıca Bakınız

  • print - Bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir
  • flush() - Sistem çıktı tamponunu boşaltır


ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür

  • « printf
  • quoted_printable_encode »
  • PHP Manual
  • Dizge İşlevleri
  • ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür

quoted_printable_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

quoted_printable_decode — ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür

Açıklama

quoted_printable_decode(string $dizge): string

Bu işlev ASCII olarak basılabilir (quoted-printable) bir dizgenin » RFC2821'in, 4.5.2. bölümüne göre değil, » RFC2045'in, 6.7. bölümüne göre oluşturulmuş 8 bitlik sürümünü döndürür; böylece satır başlarındaki noktalar ayıklanmaz.

Çalışması için IMAP modülünü gerektirmemesi dışında imap_qprint() işlevinin benzeridir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

8 bitlik ikil dizge döner.

Örnekler

Örnek 1 - quoted_printable_decode() örneği

<?php

$encoded = quoted_printable_encode('Üç yüz altmış beş gün');

var_dump($encoded);
var_dump(quoted_printable_decode($encoded));
?>

Yukarıdaki örneğin çıktısı:

string(56) "=C3=9C=C3=A7 y=C3=BCz altm=C4=B1=C5=9F be=C5=9F g=C3=BCn"
string(28) "Üç yüz altmış beş gün"

Ayrıca Bakınız

  • quoted_printable_encode() - 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür


8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür

  • « quoted_printable_decode
  • quotemeta »
  • PHP Manual
  • Dizge İşlevleri
  • 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür

quoted_printable_encode

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

quoted_printable_encode — 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür

Açıklama

quoted_printable_encode(string $dizge): string

ASCII olarak basılabilir (quoted-printable) bir dizge » RFC2045'in 6.7. bölümünde açıklandığı gibi oluşturulur.

Çalışması için IMAP modülünü gerektirmemesi dışında imap_8bit() işlevine benzer.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Kodlanmış dizgeyi döndürür.

Örnekler

Örnek 1 - quoted_printable_encode() örneği

<?php

$encoded = quoted_printable_encode('Üç yüz altmış beş gün');

var_dump($encoded);
var_dump(quoted_printable_decode($encoded));
?>

Yukarıdaki örneğin çıktısı:

string(56) "=C3=9C=C3=A7 y=C3=BCz altm=C4=B1=C5=9F be=C5=9F g=C3=BCn"
string(28) "Üç yüz altmış beş gün"

Ayrıca Bakınız

  • quoted_printable_decode() - ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür
  • iconv_mime_encode() - Bir MIME başlık alanını tertipler


Özel anlamı olan karakterleri tersbölü ile önceler

  • « quoted_printable_encode
  • rtrim »
  • PHP Manual
  • Dizge İşlevleri
  • Özel anlamı olan karakterleri tersbölü ile önceler

quotemeta

(PHP 4, PHP 5, PHP 7, PHP 8)

quotemeta — Özel anlamı olan karakterleri tersbölü ile önceler

Açıklama

quotemeta(string $dizge): string

dizge dizgesinin içinde bulunan karakterlerden

. \ + * ? [ ^ ] ( $ )
karakterlerini bir tersbölü (\) ile önceleyerek elde edilen dizgeyi döndürür.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Özel anlamı olan karakterleri tersbölü ile öncelenmiş bir dizge döner. dizge bağımsız değişkeninde boş dizge verilmişse false döner.

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Örnekler

Örnek 1 - quotemeta() örneği

<?php

var_dump(quotemeta('Ali\'nin topu var.\nYakartop oynayalım.'));
?>

Yukarıdaki örneğin çıktısı:

string(42) "Ali'nin topu var\.\\nYakartop oynayalım\."

Ayrıca Bakınız

  • addslashes() - Özel karakterlerin önüne tersbölü yerleştirir
  • addcslashes() - Dizgeye C tarzı öncelem uygular
  • htmlentities() - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir
  • nl2br() - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
  • stripslashes() - Bir dizgeden tersbölüleri ayıklar
  • stripcslashes() - addcslashes ile öncelenmiş dizgeyi eski haline getirir
  • preg_quote() - Düzenli ifadelerin özel karakterlerini önceler


Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar

  • « quotemeta
  • setlocale »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar

rtrim

(PHP 4, PHP 5, PHP 7, PHP 8)

rtrim — Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar

Açıklama

rtrim(string $dizge, string $karakterler = " \n\r\t\v\x00"): string

Bu işlev dizge'nin sonundaki boşlukları (veya diğer karakterleri) budar.

İkinci bağımsız değişken olmaksızın rtrim() sadece aşağıdaki karakterleri budayacaktır:

  • " " (ASCII 32 (0x20)), sıradan boşluk.
  • "\t" (ASCII 9 (0x09)), sekme.
  • "\n" (ASCII 10 (0x0A)), satırsonu.
  • "\r" (ASCII 13 (0x0D)), satırbaşı.
  • "\0" (ASCII 0 (0x00)), NUL-bayt.
  • "\v" (ASCII 11 (0x0B)), dikey sekme.

Bağımsız Değişkenler

dizge

Budanacak dizge.

karakterler

Seçimlik olarak, karakterler bağımsız değişkeni kullanılarak budanacak karakterler belirlenebilir. Basitçe budamak istediğiniz tüm karakterleri belirtin. Bir karakter aralığını .. kullanarak belirtebilirsiniz.

Dönen Değerler

Budanmış dizge.

Örnekler

Örnek 1 - rtrim() örneği

<?php

$metin = "\t\tBir kaç kelam :) ... ";
$ikil = "\x09Örnek dizge\x0A";
$selam = "Merhaba Dünya";
var_dump($metin, $ikil, $selam);

print "\n";

$kırpık = rtrim($metin);
var_dump($kırpık);

$kırpık = rtrim($metin, " \t.");
var_dump($kırpık);

$kırpık = rtrim($selam, "aerMy");
var_dump($kırpık);

// $ikil'in başındaki ve sonundaki ASCII denetim karakterlerini budar
// (0'dan 31'e kadar, 0 ve 31 dahil)
$temiz = rtrim($ikil, "\x00..\x1F");
var_dump($temiz);

?>

Yukarıdaki örneğin çıktısı:

string(25) "            Bir kaç kelam :) ...  "
string(14) "    Örnek dizge
"
string(14) "Merhaba Dünya"

string(23) "            Bir kaç kelam :) ..."
string(19) "            Bir kaç kelam :)"
string(12) "Merhaba Dün"
string(13) "    Örnek dizge"

Ayrıca Bakınız

  • trim() - Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • ltrim() - Dizgenin başındaki boşlukları (veya diğer karakterleri) budar


Yereli ayarlar

  • « rtrim
  • sha1_file »
  • PHP Manual
  • Dizge İşlevleri
  • Yereli ayarlar

setlocale

(PHP 4, PHP 5, PHP 7, PHP 8)

setlocale — Yereli ayarlar

Açıklama

setlocale(int $sınıf, string $yereller, string ...$kalan): string|false

İsimli bağımsız değişkenleri desteklemeyen sözdizimi:

setlocale(int $sınıf, array $yerel_dizisi): string|false

Yerel bilgisini ayarlar.

Uyarı

Evre başına değil süreç başına yerel bilgisi ayarlanır. Çok evreli bir sunucu çalıştırıyorsanız, betiğinizde setlocale() işlevini hiç çağırmadığınız halde yerel ayarlarında ani değişiklikler olduğunu gözlemlemişsinizdir. Bunun sebebi aynı anda aynı süreç altında başka evrelerde başka betiklerin çalışması ve bunların süreç genelinde geçerli olan setlocale() kullanımlarıdır. Windows üzerinde PHP 7.0.5 itibariyle yerel bilgisi evre başına sağlanmaktadır.

Bağımsız Değişkenler

sınıf

sınıf olarak yerel ayarıyla ilgili belli bir işlevsellik belirten şu sabitlerden biri belirtilebilir:

  • LC_ALL - aşağıdakilerin hepsi.
  • LC_COLLATE - dizge karşılaştırması için; strcoll() işlevine bakınız.
  • LC_CTYPE - karakter sınıflaması ve dönüşümü için; bkz: ctype_alpha()
  • LC_MONETARY - Para biçemlemesi için; bkz, localeconv().
  • LC_NUMERIC - ondalık ayraçlar için; bkz, localeconv().
  • LC_TIME - tarih ve saat biçemlemesi için; bkz, strftime()
  • LC_MESSAGES - sistem iletileri için (PHP libintl ile derlendiği takdirde kullanılabilir).

yereller

Eğer"" şeklinde boş bir dizge belirtilmişse, yerel isimleri yukarıdaki sınıflarla aynı isimdeki ortam değişkenlerinden veya "LANG" ortam değişkeninden alınır.

Eğer yereller "0" ise, yerel ayarı değiştirilmeden mevcut ayar döndürülür.

Eğer yereller için birden fazla bağımsız değişken belirtilmişse, yeni yerel başarıyla ayarlanana kadar belirtilen her bağımsız değişken tek tek denenir. Yerel isimlerinin farklı sistemlerde farklı isimlerde bulunması durumunda veya kullanılabilir yerelin bulunamaması olasılığına karşı son çareleri belirtmek için kullanılır.

kalan

Yerel ayarları başarılı olana kadar denenecek seçimlik dizge bağımsız değişkenler.

yerel_dizisi

Yeni yerel başarıyla ayarlanana kadar belirtilen her dizi elemanı tek tek denenir. Yerel isimlerinin farklı sistemlerde farklı isimlerde bulunması durumunda veya kullanılabilir yerelin bulunamaması olasılığına karşı son çareleri belirtmek için kullanılır.

Bilginize:

Windows'ta, setlocale(LC_ALL, '') kullanımında, sistemin bölgesel ayarlar/dil ayarlarında (Denetim Masasından erişilebilir) belirtilmiş yerelin ismi kullanılır.

Dönen Değerler

Ayarlama yapılabilmişse yeni yerel ismi, platformunuzda yereller işlevsel değilse, belirtilen yerel yoksa veya sınıf ismi geçersizse false döner.

Geçersiz bir sınıf ismi ayrıca bir uyarı üretilmesine sebep olur. Sınıf ve yerel isimleri » RFC 1766 ve » ISO 639'da bulunabilir. Farklı sistemler yereller için farklı isimleme şemaları kullanırlar.

Bilginize:

setlocale() işlevinin dönüş değeri PHP'nin üzerinde çalıştığı sisteme bağlıdır. Sistemin setlocale işlevinin döndürdüğü değeri döndürür.

Örnekler

Örnek 1 - setlocale() örnekleri

<?php
// Yereli Türkçe yapalım
setlocale(LC_ALL, 'tr_TR.UTF-8');

// Çıktısı: 22 Aralık 1978 Cuma
echo strftime("%e %B %Y %A\n", mktime(0, 0, 0, 12, 22, 1978));

// Türkçe için farklı yerel isimleri deneyelim
$loc_tr = setlocale(LC_ALL, 'tr_TR.UTF-8', 'tr_TR', 'tr', 'turkish');
echo "Türkçe için tercih edilen yerel ismi: '$loc_tr\n'";
?>

Örnek 2 - Windows için setlocale() örnekleri

<?php
// Yereli Felemenkçe yapalım
setlocale(LC_ALL, 'nld_nld');

// Çıktısı: vrijdag 22 december 1978
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));

// Almanca için farklı yerel isimleri deneyelim
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Almanca için tercih edilen yerel ismi: '$loc_de'";
?>

Notlar

İpucu

Windows kullanıcıları Microsoft'un MSDN sitesinde yereller dizgeleri hakkında bilgi bulabilirler. Desteklenen dil dizgeleri » http://msdn.microsoft.com/en-us/library/39cwe7zf.aspx adresinde desteklenen ülke/bölge dizgeleri ise » http://msdn.microsoft.com/en-us/library/cdax410z.aspx adresinde bulunabilir.


Bir dosyanın sha1 aşını hesaplar

  • « setlocale
  • sha1 »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dosyanın sha1 aşını hesaplar

sha1_file

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

sha1_file — Bir dosyanın sha1 aşını hesaplar

Açıklama

sha1_file(string $dosya, bool $ikil = false): string|false

dosya dosyasının sha1 aşını hesaplar. Hesaplamada kullanılan algoritma: » US Secure Hash Algorithm 1. Aş 40 haneli bir onaltılık sayıdır.

Bağımsız Değişkenler

dosya

Aşlanacak dosyanın ismi.

ikil

true belirtildiği takdirde sha1 aşı 20 bayt uzunluğundaki ham ikil biçemli bir dizge olarak döner.

Dönen Değerler

İşlem başarılı olursa bir dizge, olmazsa false döner.

Örnekler

Örnek 1 - sha1_file() örneği

<?php
foreach(glob('/home/Kalle/myproject/*.php') as $ent)
{
if(is_dir($ent))
{
continue;
}

echo $ent . ' (SHA1: ' . sha1_file($ent) . ')', PHP_EOL;
}
?>

Ayrıca Bakınız

  • sha1() - Bir dizgenin sha1 aşını hesaplar
  • md5_file() - Belirtilen dosyanın md5 özetini hesaplar
  • crc32() - Bir dizgenin crc32 çok terimlisini hesaplar


Bir dizgenin sha1 aşını hesaplar

  • « sha1_file
  • similar_text »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin sha1 aşını hesaplar

sha1

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

sha1 — Bir dizgenin sha1 aşını hesaplar

Uyarı

Bu aşlama algoritmasının hızlı doğasından dolayı bu işlevin parolaları güvenli kılmak için kullanılması önerilmez. Ayrıntılar ve daha iyi uygulamalar için SSS: Parola Aşlama belgesine bakılabilir.

Açıklama

sha1(string $dizge, bool $ikil = false): string

dizge dizgesinin sha1 aşını hesaplar. Hesaplamada kullanılan algoritma: » US Secure Hash Algorithm 1.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

ikil

Seçimlik olan bu bağımsız değişkenle işleve true aktarırsanız, sha1 aşı, 20 bayt uzunluğunda ham ikil biçemli bir dizge olarak, aksi takdirde 40 haneli onaltılık bir sayı dizgesi olarak döner.

Dönen Değerler

SHA1 aşını bir dizge olarak döndürür.

Örnekler

Örnek 1 - sha1() örneği

<?php
$str = 'apple';

if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') {
echo "Yeşil elma mı yoksa kırmızı elma mı istersiniz?";
}
?>

Ayrıca Bakınız

  • sha1_file() - Bir dosyanın sha1 aşını hesaplar
  • crc32() - Bir dizgenin crc32 çok terimlisini hesaplar
  • md5() - Bir dizgenin md5 özetini hesaplar
  • hash() - Bir ileti aşı üretir
  • crypt() - Tek yönlü dizge aşlama
  • password_hash() - Parola aşı oluşturur


İki dizge arasındaki benzerliği hesaplar

  • « sha1
  • soundex »
  • PHP Manual
  • Dizge İşlevleri
  • İki dizge arasındaki benzerliği hesaplar

similar_text

(PHP 4, PHP 5, PHP 7, PHP 8)

similar_text — İki dizge arasındaki benzerliği hesaplar

Açıklama

similar_text(string $dizge1, string $dizge2, float &$yüzde = null): int

Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) kitabında açıkladığı şekilde iki dizge arasındaki benzerliği hesaplar. Ancak bu gerçeklenim Oliver'in kod örneğindeki gibi bir yığıt kullanmaz. Ayrıca bu algoritmanın hesaplama karmaşıklığı, N en uzun dizgenin uzunluğu olmak üzere O(N**3)'tür.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

Bilginize:

dizge1 ve dizge2 yer değiştirise farklı sonuçlar ortaya çıkabilir; aşağıdaki örnek fikir verebilir.

yüzde

Benzerlik oranını belirtmek için kullanılır. Bir gönderimi üçüncü bağımsız değişkende aktararak, similar_text() işlevinin sonucu verilen dizgelerin uzunluklarının ortalamasının 100 katına bölünerek benzerlik yüzde olarak hesaplanır.

Dönen Değerler

Her iki dizgede eşleşen karakterlerin sayısı döner.

Eşleşen karakterlerin sayısı, en uzun ilk ortak alt dizgeyi bularak ve bunu önekler ve son ekler için ard arda bularak hesaplanır. Bulunan tüm ortak alt dizelerin uzunlukları toplanır.

Örnekler

Örnek 1 - similar_text() bağımsız değişken takaslama örneği

dizge1 ve dizge2 takaslandığında farklı sonuçlar elde edileceğini gösteren örnek.

<?php
$sim = similar_text('bafoobar', 'barfoo', $perc);
echo "similarity: $sim ($perc %)\n";
$sim = similar_text('barfoo', 'bafoobar', $perc);
echo "similarity: $sim ($perc %)\n";

Yukarıdaki örnek şuna benzer bir çıktı üretir:

similarity: 5 (71.428571428571 %)
similarity: 3 (42.857142857143 %)

Ayrıca Bakınız

  • levenshtein() - İki dizge arasındaki Levenştayn mesafesini hesaplar
  • soundex() - Bir dizgenin sestek anahtarını hesaplar


Bir dizgenin sestek anahtarını hesaplar

  • « similar_text
  • sprintf »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin sestek anahtarını hesaplar

soundex

(PHP 4, PHP 5, PHP 7, PHP 8)

soundex — Bir dizgenin sestek anahtarını hesaplar

Açıklama

soundex(string $dizge): string

dizge dizgesinin sestek (soundex) anahtarını hesaplar.

Sestek anahtarlarının özelliği aynı sesletime sahip sözcüklerin benzer sestek anahtarları üretmesi özelliğine dayanır. Böylece sesletimini bildiğiniz ama nasıl yazıldığını bilmediğiniz sözcükleri veritabanlarında arayabilirsiniz.

Bu kısmen Donald Knuth'un "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392'de açıkladığı bir soundex işlevine dayanır.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Sestek anahtarını 4 karakterli bir dizge olarak döndürür. dizge en azından bir harf içeriyorsa dönen dizge bir harf ile başlar. Aksi takdirde "0000" döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu sürümden önce, işlev boş dizge ile çağrıldığında belli bir sebep olmaksızın false dönerdi.

Örnekler

Örnek 1 - soundex() örnekleri

<?php
soundex("Euler") == soundex("Ellery"); // E460
soundex("Gauss") == soundex("Ghosh"); // G200
soundex("Hilbert") == soundex("Heilbronn"); // H416
soundex("Knuth") == soundex("Kant"); // K530
soundex("Lloyd") == soundex("Ladd"); // L300
soundex("Lukasiewicz") == soundex("Lissajous"); // L222
?>

Ayrıca Bakınız

  • levenshtein() - İki dizge arasındaki Levenştayn mesafesini hesaplar
  • metaphone() - Bir dizgenin metafon anahtarını hesaplar
  • similar_text() - İki dizge arasındaki benzerliği hesaplar


Biçemli bir dizge döndürür

  • « soundex
  • sscanf »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli bir dizge döndürür

sprintf

(PHP 4, PHP 5, PHP 7, PHP 8)

sprintf — Biçemli bir dizge döndürür

Açıklama

sprintf(string $biçem, mixed ...$değerler): string

biçem dizgesiyle biçemlenerek üretilmiş bir dizge döndürür.

Bağımsız Değişkenler

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

değerler

Dönen Değerler

biçem dizgesine göre biçemlendirilerek üretilen bir dizge döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - Bağımsız değişken takaslama

Biçem dizgesi bağımsız değişken numaralama/takaslama destekliyor.

<?php
$num = 5;
$location = 'tree';

$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);
?>

Yukarıdaki örneğin çıktısı:

There are 5 monkeys in the tree

Biçem dizgesini ayrı bir dosyada oluşturduğunuzu varsayalım. Çünkü ona u12a uygulamak ve yeniden yazmak istiyoruz:

<?php
$format = 'The %s contains %d monkeys';
echo sprintf($format, $num, $location);
?>

Artık bir sorunumuz var. Biçem dizgesindeki belirteçlerin sırası koddaki bağımsız değişken sırasına uygun değil. Koda dokunmak istemiyoruz, biçem dizgesindeki belirteçler koda uyum sağlasın istiyoruz. Bu durumda biçem dizgesini şöyle yararız:

<?php
$format = 'The %2$s contains %1$d monkeys';
echo sprintf($format, $num, $location);
?>

Belirteçlerin bir yararı da koda bağımsız değişken eklemeksizin belirteçlerin yinelenebilmesidir.

<?php
$format = 'The %2$s contains %1$d monkeys.
That\'s a nice %2$s full of %1$d monkeys.';
echo sprintf($format, $num, $location);
?>

Bağımsız değişken takaslama yapılırken n$ konum belirteci hemen yüzde iminden (%) sonra, diğer belirteçlerden önce gelmelidir; aşağıdaki gibi:

Örnek 2 - Dolgu karakteri belirtmek

<?php
echo sprintf("%'.9d\n", 123);
echo sprintf("%'.09d\n", 123);
?>

Yukarıdaki örneğin çıktısı:

+......123
+000000123

Örnek 3 - Konum belirteçlerini diğer belirteçlerle birlikte kullanmak

<?php
+$format = 'The %2$s contains %1$04d monkeys';
+echo sprintf($format, $num, $location);
?>

Yukarıdaki örneğin çıktısı:

The tree contains 0005 monkeys

Örnek 4 - sprintf() ve sıfır dolgulu tamsayılar

<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Örnek 5 - sprintf() ve para biçemleme

<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
echo $money;
echo "\n";
$formatted = sprintf("%01.2f", $money);
echo $formatted;
?>

Yukarıdaki örneğin çıktısı:

123.1
123.10

Örnek 6 - sprintf() ve bilimsel gösterim

<?php
$number = 362525200;

echo sprintf("%.3e", $number);
?>

Yukarıdaki örneğin çıktısı:

3.625e+8

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


Girdi dizgesini belli bir biçeme göre yorumlar

  • « sprintf
  • str_contains »
  • PHP Manual
  • Dizge İşlevleri
  • Girdi dizgesini belli bir biçeme göre yorumlar

sscanf

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

sscanf — Girdi dizgesini belli bir biçeme göre yorumlar

Açıklama

sscanf(string $dizge, string $biçem, mixed &...$değişkenler): array|int|null

sscanf() işlevi, printf() işlevinin tersine çıktıyı biçemlemek yerine girdiyi bir biçeme göre çözümler. sscanf() belirtilen dizge dizgesini okur ve biçem dizgesine göre bu dizgeyi yorumlar.

Biçem dizgesindeki herhangi bir boşluk karakteri girdi dizgesindeki herhangi bir boşluk karakteriyle eşleşir. Yani, biçem dizgesindeki bir sekme karakteri (\t) girdi dizgesindeki tek bir boşluk karakteri ile eşleşebilir.

Bağımsız Değişkenler

dizge

Yorumlanacak dizge.

biçem

Girdi dizgesinin yorumlanmasında kullanılan bu dizge ile ilgili ayrıntılar aşağıdaki farklar dışında sprintf() işlevinin belgesinde açıklanmıştır:

  • İşlev yerele duyarlı değildir.
  • F, g, G and b desteklenmez.
  • D ondalık sayı anlamına gelir.
  • i taban algılamalı tamsayı anlamına gelir.
  • n şimdiye kadar işlenen karakter sayısı anlamına gelir.
  • s herhangi bir boşluk karakterinde okumayı durdurur.
  • dğşnum$ yerine * bu dönüştürme belirtiminin atamasını baskılar.

değişkenler

Çözümlenen değerleri içermek üzere aktarımı isteğe bağlı gönderimli değişkenler.

Dönen Değerler

İşleve sadece iki bağımsız değişken aktarılmışsa, çözümlenen değerler bir dizi içinde döndürülür. İsteğe bağlı bağımsız değişkenler belirtilmişse işlev bu bağımsız değişkenlere atanan değer sayısını döndürür. İsteğe bağlı bağımsız değişkenlerin gönderimli olarak aktarılmaları gerekir.

biçem, dizge içinde bulunandan daha fazla alt dizge bekliyorsa, null döndürülür.

Örnekler

Örnek 1 - sscanf() örneği

<?php
// Seri numarasını döndürelim
list($serial) = sscanf("SN/2350001", "SN/%d");
// üretim tarihini de döndürelim
$mandate = "January 01 2000";
list($month, $day, $year) = sscanf($mandate, "%s %d %d");
echo "$serial numaralı mal şu tarihte üretildi: $year-" .
substr($month, 0, 3) . "-$day\n";
?>

İşleve isteğe bağlı bağımsız değişkenler belirtilmişse işlev bu bağımsız değişkenlere atanan değer sayısını döndürür.

Örnek 2 - Seçimlik bağımsız değişkenlerle sscanf() kullanımı

<?php
// Yazar bilgisiyle bir DocBook girdisi üretelim
$auth = "24\tLewis Carroll";
$n = sscanf($auth, "%d\t%s %s", $id, $first, $last);
echo "<author id='$id'>
<firstname>$first</firstname>
<surname>$last</surname>
</author>\n";
?>

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


Bir dizge içinde belirtilen alt dizgeyi arar

  • « sscanf
  • str_decrement »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizge içinde belirtilen alt dizgeyi arar

str_contains

(PHP 8)

str_contains — Bir dizge içinde belirtilen alt dizgeyi arar

Açıklama

str_contains(string $samanlık, string $iğne): bool

samanlık dizgesine harf büyüklüğüne duyarlı bir arama uygulayıp içinde iğne arar.

Bağımsız Değişkenler

samanlık

Araştırılacak dizge.

iğne

Aranacak dizge.

Dönen Değerler

samanlık dizgesi içinde needle varsa true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Boş dizge '' kullanımı

<?php
if (str_contains('abc', '')) {
echo "Boş dize araması her zaman doğru sonuç verir";
}
?>

Yukarıdaki örneğin çıktısı:

Boş dize araması her zaman doğru sonuç verir

Örnek 2 - Harf büyüklüğüne duyarlılık

<?php
$string = 'The lazy fox jumped over the fence';

if (str_contains($string, 'lazy')) {
echo "Dizgenin içinde 'lazy' var\n";
}

if (str_contains($string, 'Lazy')) {
echo 'Dizgenin içinde "Lazy" bulundu';
} else {
echo '"Lazy" yok çünkü harf büyüklüğü eşleşmedi';
}

?>

Yukarıdaki örneğin çıktısı:

Dizgenin içinde 'lazy' var
"Lazy" yok çünkü harf büyüklüğü eşleşmedi

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • str_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Decrement an alphanumeric string

  • « str_contains
  • str_ends_with »
  • PHP Manual
  • Dizge İşlevleri
  • Decrement an alphanumeric string

str_decrement

(PHP 8 >= 8.3.0)

str_decrement — Decrement an alphanumeric string

Açıklama

str_decrement(string $string): string

Returns the decremented alphanumeric ASCII string.

Bağımsız Değişkenler

string

The input string.

Dönen Değerler

Returns the decremented alphanumeric ASCII string.

Hatalar/İstisnalar

A ValueError is thrown if string is empty.

A ValueError is thrown if string is not an alphanumeric ASCII string.

A ValueError is thrown if string cannot be decremented. For example, "A" or "0".

Örnekler

Örnek 1 Basic str_decrement() example

<?php
$str = 'ABC';
var_dump(str_decrement($str));
?>

Yukarıdaki örneğin çıktısı:

string(3) "ABB"

Örnek 2 str_decrement() example with a carry

<?php
$str = 'ZA';
var_dump(str_decrement($str));

$str = 'AA';
var_dump(str_decrement($str));
?>

Yukarıdaki örneğin çıktısı:

string(2) "YZ"
string(1) "Z"

Ayrıca Bakınız

  • str_increment() - Increment an alphanumeric string


Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar

  • « str_decrement
  • str_getcsv »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar

str_ends_with

(PHP 8)

str_ends_with — Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar

Açıklama

str_ends_with(string $haystack, string $needle): bool

samanlık dizgesine harf büyüklüğüne duyarlı bir arama uygulayıp iğne ile bitip bitmediğine bakar.

Bağımsız Değişkenler

samanlık

Araştırılacak dizge.

iğne

samanlık'ta aranacak parça.

Dönen Değerler

samanlık dizgesi needle ile bitiyorsa true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Boş dizge '' kullanımı

<?php
if (str_ends_with('abc', '')) {
echo "Tüm dizeler boş bir dize ile biter";
}
?>

Yukarıdaki örneğin çıktısı:

Tüm dizeler boş bir dize ile biter

Örnek 2 - Harf büyüklüğüne duyarlılık

<?php
$string = 'The lazy fox jumped over the fence';

if (str_ends_with($string, 'fence')) {
echo "Dizge 'fence' ile bitiyor\n";
}

if (str_ends_with($string, 'Fence')) {
echo 'Dizge sonu: "Fence"';
} else {
echo 'Sonda "Fence" yok çünkü harf büyüklüğü eşleşmedi';
}

?>

Yukarıdaki örneğin çıktısı:

Dizge 'fence' ile bitiyor
Sonda "Fence" yok çünkü harf büyüklüğü eşleşmedi

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır

  • « str_ends_with
  • str_increment »
  • PHP Manual
  • Dizge İşlevleri
  • Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır

str_getcsv

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

str_getcsv — Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır

Açıklama

str_getcsv(
string $dizge,
string $ayraç = ",",
string $sarmalayıcı = "\"",
string $öncelem = "\\"
): array

CSV biçemindeki alanları bulmak için girdi dizgesini çözümler ve okunan alanları içeren bir dizi döndürür.

Bilginize:

Bu işlevde yerel ayarı dikkate alınır. LC_CTYPE örneğin en_US.UTF-8 ise tek baytlı karakterler içeren dizgeler bu işlev tarafından yanlış yorumlanabilir.

Bağımsız Değişkenler

dizge

Ayrıştırılacak dizge.

ayraç

Alanlar arasında kullanılan ayraç (tek baytlık bir karakter).

sarmalayıcı

Alanı sarmalayan karakter (tek baytlık bir karakter).

öncelem

Önceleme karakteri (tek baytlık bir karakter). Tersbölü (\) öntanımlıdır.

Bilginize: Genellikle bir alanın içindeki sarmalayıcı karakteri kendisiyle öncelenir; ancak, bunun yerine öncelem kullanılabilir. Bu nedenle, öntanımlı "" ve \" değerleri için de aynı şey geçerlidir. öncelem karakterinin sarmalayıcı karakterini öncelemek dışında özel bir anlamı yoktur, hatta kendisini öncelemesi bile amaçlanmamıştır.

Dönen Değerler

Okunan alanları içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | öncelem bağımsız değişkeni özel önceleme mekanizmasını devre dışı bırakmak için boş dizgeyi artık sinyal olarak yorumluyor. Evvelce, boş dizge, bağımsız değişkenin öntanımlı değeriydi.

Örnekler

Örnek 1 - str_getcsv() örneği

<?php

$string = 'PHP,Java,Python,Kotlin,Swift';
$data = str_getcsv($string);

var_dump($data);
?>

Yukarıdaki örneğin çıktısı:

array(5) {
  [0]=>
  string(3) "PHP"
  [1]=>
  string(4) "Java"
  [2]=>
  string(6) "Python"
  [3]=>
  string(6) "Kotlin"
  [4]=>
  string(5) "Swift"
}

Örnek 2 - Boş dizgeli str_getcsv() örneği

Dikkat

Boş dizge durumunda bu işlev boş dizi yerine [null] değerini döndürür.

<?php

$string = '';
$data = str_getcsv($string);

var_dump($data);
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>
  NULL
}

Ayrıca Bakınız

  • fgetcsv() - Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür


Increment an alphanumeric string

  • « str_getcsv
  • str_ireplace »
  • PHP Manual
  • Dizge İşlevleri
  • Increment an alphanumeric string

str_increment

(PHP 8 >= 8.3.0)

str_increment — Increment an alphanumeric string

Açıklama

str_increment(string $string): string

Returns the incremented alphanumeric ASCII string.

Bağımsız Değişkenler

string

The input string.

Dönen Değerler

Returns the incremented alphanumeric ASCII string.

Hatalar/İstisnalar

A ValueError is thrown if string is empty.

A ValueError is thrown if string is not an alphanumeric ASCII string.

Örnekler

Örnek 1 Basic str_increment() example

<?php
$str = 'ABC';
var_dump(str_increment($str));
?>

Yukarıdaki örneğin çıktısı:

string(3) "ABD"

Örnek 2 str_increment() example with a carry

<?php
$str = 'DZ';
var_dump(str_increment($str));

$str = 'ZZ';
var_dump(str_increment($str));
?>

Yukarıdaki örneğin çıktısı:

string(2) "EA"
string(3) "AAA"

Ayrıca Bakınız

  • str_decrement() - Decrement an alphanumeric string


Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz

  • « str_increment
  • str_pad »
  • PHP Manual
  • Dizge İşlevleri
  • Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz

str_ireplace

(PHP 5, PHP 7, PHP 8)

str_ireplace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz

Açıklama

str_ireplace(
array|string $eski,
array|string $yeni,
string|array $konu,
int &$sayı = null
): string|array

Harf büyüklüğüne duyarsız olarak konu dizgesi içindeki eski dizgelerinin her birini yeni dizgesiyle değiştirerek elde edilen dizi veya dizgeyi döndürür.

Metni sabit bir dizge yerine bir kalıba göre değiştirmek için preg_replace() işlevi i değiştiricisi ile kullanılabilir.

Bağımsız Değişkenler

Eğer eski ve yeni birer dizi ise str_replace() her diziden birer değer alıp bunları kullanarak konu dizgesinde arama ve yer değiştirme yapar. Eğer yeni dizisi eski dizisinden daha az değere sahipse eksik kalan yeni dizgelerin yerine boş dizgeler konur. Eğer eski bir dizi ve yeni bir dizge ise her eski dizgesinin yerine bu yeni dizgesi konur. Zıddı anlamlı değildir.

eski ve yeni birer dizi ise, elemanları baştan sona doğru işlenir.

eski

İğne olarak da bilinen, aranan değer. Birden çok iğneyi belirtmek için bir dizi kullanılabilir.

yeni

Bulunan eski değeriyle değiştirilecek değer. Çok sayıda yeni belirtmek için dizi kullanılabilir

konu

Samanlık olarak da bilinen, eskinin yenisiyle değiştirileceği dizi veya dizge.

konu bir dizi ise, eskiyi yenisi ile değiştirme işlemi dizinin her elemanına uygulanır ve dönen değer de bir dizi olur.

sayı

Eğer belirtilirse, değiştirilen dizgelerin sayısı bu bağımsız değişkende döndürülür.

Dönen Değerler

Yer değiştirmeler yapılmış dizge veya dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere (baytlara) uygulandığından yerelin setlocale() ile atanması artık gerekmiyor. ASCII olmayan karakterlerin bayt değerleri karşılaştırılıyor.

Örnekler

Örnek 1 - str_ireplace() örneği

<?php
$bodytag = str_ireplace("%body%", "black", "<body text=%BODY%>");
echo $bodytag; // <body text=black>
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Dikkat

Değiştirme sırası sorunsalı

str_ireplace() yer değiştirmeyi soldan sağa yaptığından, birden çok değiştirme yapılırken yenisi önceden yapılmış bir değişikliği değiştirebilir. str_replace() belgesindeki 2. örnek, bunun uygulamada sizi nasıl etkileyebileceğini gösterir.

Ayrıca Bakınız

  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • strtr() - Belli karakterleri veya alt dizgeleri değiştirir


Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur

  • « str_ireplace
  • str_repeat »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur

str_pad

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

str_pad — Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur

Açıklama

str_pad(
string $girdi,
int $uzunluk,
string $dolgu_dizgesi = " ",
int $dolgu_türü = STR_PAD_RIGHT
): string

Bu işlev girdi dizgesinin solunu, sağını veya her iki tarafını belirtilen dolgu_dizgesi ile uzunluk'a kadar doldurarak sonucu döndürür. Eğer seçimlik dolgu_dizgesi belirtilmezse dolgu işlemi boşluk karakterleriyle yapılır.

Bağımsız Değişkenler

girdi

Girdi dizgesi.

uzunluk

Dolgulu dizgenin istenen uzunluğu. uzunluk negatifse veya girdi dizgesinin uzunluğundan küçük veya ona eşitse herhangi bir dolgu işlemi yapılmaz ve girdi döndürülür.

dolgu_dizgesi

Bilginize:

Son dolgu_dizgesi dolgulu uzunluğu tam olarak dolduramazsa kırpılır.

dolgu_türü

Seçimlik dolgu_türü olarak STR_PAD_RIGHT (sağ), STR_PAD_LEFT (sol) veya STR_PAD_BOTH sabiti (her iki taraf) belirtilebilir. dolgu_türü belirtilmezse STR_PAD_RIGHT değeri öntanımlıdır.

Dönen Değerler

Dolgulu dizge döner.

Örnekler

Örnek 1 - str_pad() örneği

<?php
$input = "Ayran";
echo str_pad($input, 10); // "Ayran " üretilir
echo str_pad($input, 10, "-=", STR_PAD_LEFT); // "-=-=-Ayran" üretilir
echo str_pad($input, 10, "_", STR_PAD_BOTH); // "__Ayran___" üretilir
echo str_pad($input, 6, "___"); // "Ayran_" üretilir
echo str_pad($input, 3, "*"); // "Ayran" üretilir
?>


Bir dizgeyi yineler

  • « str_pad
  • str_replace »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi yineler

str_repeat

(PHP 4, PHP 5, PHP 7, PHP 8)

str_repeat — Bir dizgeyi yineler

Açıklama

str_repeat(string $girdi, int $çarpan): string

girdi dizgesinin çarpan kere yinelendiği dizge ile döner.

Bağımsız Değişkenler

girdi

Yinelenecek dizge.

çarpan

Dizgenin yinelenme sayısı.

çarpan 0 veya sıfırdan büyük bir değer olmalıdır. Eğer çarpan 0 ise, işlev boş dizge döndürür.

Dönen Değerler

Yinelenmiş dizge döner.

Örnekler

Örnek 1 - str_repeat() örneği

<?php
echo str_repeat("-=", 10);
?>

Yukarıdaki örneğin çıktısı:

-=-=-=-=-=-=-=-=-=-=

Ayrıca Bakınız

  • for
  • str_pad() - Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur
  • substr_count() - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur


Bir alt dizgenin bütün örneklerini yenisiyle değiştirir

  • « str_repeat
  • str_rot13 »
  • PHP Manual
  • Dizge İşlevleri
  • Bir alt dizgenin bütün örneklerini yenisiyle değiştirir

str_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

str_replace — Bir alt dizgenin bütün örneklerini yenisiyle değiştirir

Açıklama

str_replace(
array|string $eski,
array|string $yeni,
string|array $konu,
int &$sayı = null
): string|array

konu dizgesi içindeki eski dizgelerinin her birini yeni dizgesiyle değiştirerek elde edilen dizi veya dizgeyi döndürür.

Metni sabit bir dizge yerine bir kalıba göre değiştirmek için preg_replace() işlevi kullanılabilir.

Bağımsız Değişkenler

Eğer eski ve yeni birer dizi ise str_replace() her diziden birer değer alıp bunları kullanarak konu dizgesinde arama ve yer değiştirme yapar. Eğer yeni dizisi eski dizisinden daha az değere sahipse eksik kalan yeni dizgelerin yerine boş dizgeler konur. Eğer eski bir dizi ve yeni bir dizge ise her eski dizgesinin yerine bu yeni dizgesi konur. Zıddı anlamlı değildir.

Eğer eski veya yeni bir dizi ise elemanları baştan sona doğru ele alınır.

eski

Aranacak değer; çok sayıda değer belirtmek için dizi kullanılabilir.

yeni

Yeni değer; çok sayıda değer belirtmek için dizi kullanılabilir.

konu

Bir dizge veya dizi belirtilebilir.

Eğer konu bir dizi ise, arama ve değiştirme her eleman için ayrı ayrı yapılır ve dönen değer de bir dizi olur.

sayı

Eğer belirtilirse, değiştirilen dizgelerin sayısı bu bağımsız değişkende döndürülür.

Dönen Değerler

Yer değiştirmeler yapılmış dizge veya diziyi döndürür.

Örnekler

Örnek 1 - Basit str_replace() örnekleri

<?php
// Sonuç: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Sonuç: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Sonuç: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// sağlanan: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;
?>

Örnek 2 - str_replace() olası sorunsal örnekleri

<?php

// Yer değiştirme sırası
$str = "Line 1\nLine 2\rLine 3\r\nLine 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '<br />';

// \r\n'ler önce değiştirilmeli ki tekrar değiştirilmesin
$newstr = str_replace($order, $replace, $str);

// F çıktılanır, çünkü A ile B, B ile C, ... yer değiştirir.
// Yer değiştirme soldan sağa doğru yapıldığından
// son olarak E ile F yer değiştirir.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);

// Çıktısı: apearpearle pear
// yukarda bahsedilen sebeple
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Dikkat

Değiştirme sırası sorunsalı

str_replace() yer değiştirmeyi soldan sağa doğru yaptığından, örneklerde de göreceğiniz gibi, çok sayıda yer değiştirme yapıldığında bir önceki değer tekrar değiştirilir.

Bilginize:

Bu işlev harf büyüklüğüne duyarlıdır. Harf büyüklüğüne duyarsız işlem yapmak istiyorsanız str_ireplace() işlevini kullanınız.

Ayrıca Bakınız

  • str_ireplace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz
  • substr_replace() - Bir dizgenin belli bir bölümünü değiştirir
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar
  • strtr() - Belli karakterleri veya alt dizgeleri değiştirir


Bir dizgeye rot13 dönüşümü uygular

  • « str_replace
  • str_shuffle »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeye rot13 dönüşümü uygular

str_rot13

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

str_rot13 — Bir dizgeye rot13 dönüşümü uygular

Açıklama

str_rot13(string $dizge): string

dizge bağımsız değişkenine ROT13 kodlaması uygular ve elde edilen dizgeyi döndürür.

ROT13 kodlaması, harf olmayan karakterlere dokunmadan her harfi alfabede 13 harf kaydırır. Kodlama ve geriye kodlama aynı işlevle yapılır. Evvelce kodlanmış dizge bağımsız değişken olarak aktarılırsa kodlanmamış dizge elde edilir. (İşlev İngiliz alfabesinin 26 harflik oluşuna dayanır. Türkçe'de 29 harf bulunduğunu unutmayın.)

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Belirtilen dizgenin ROT13 sürümü döner.

Örnekler

Örnek 1 - str_rot13() örneği

<?php

echo str_rot13('PHP 4.3.0'); // CUC 4.3.0

?>


Bir dizgenin karakterlerini devşirir

  • « str_rot13
  • str_split »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin karakterlerini devşirir

str_shuffle

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_shuffle — Bir dizgenin karakterlerini devşirir

Açıklama

str_shuffle(string $dizge): string

str_shuffle() işlevi bir dizgeyi rasgele karar. Tüm olası devşirimleri oluşturulur (her çağrıda farklı bir sonuç döner).

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Devşirilen dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Libc rand işlevi yerine » Mersenne Twister Rastgele Sayı Üretecini kullanmak için dahili rastgelelik algoritması değiştirildi.

Örnekler

Örnek 1 - str_shuffle() örneği

<?php
$str = 'abcdef';
$shuffled = str_shuffle($str);

// Çıktısı şöyle bir şey olur: baefcd
echo $shuffled;
?>

Ayrıca Bakınız

  • Random\Randomizer::shuffleBytes() - Get a byte-wise permutation of a string
  • Random\Randomizer::shuffleArray() - Get a permutation of an array


Bir dizgeyi bir diziye dönüştürür

  • « str_shuffle
  • str_starts_with »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi bir diziye dönüştürür

str_split

(PHP 5, PHP 7, PHP 8)

str_split — Bir dizgeyi bir diziye dönüştürür

Açıklama

str_split(string $dizge, int $uzunluk = 1): array

Bir dizgeyi bir diziye dönüştürür.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

uzunluk

Azami parça uzunluğu.

Dönen Değerler

Seçimlik uzunluk bağımsız değişkeni belirtilmişse dönen dizi, dizge eşit olarak bölünmezse daha kısa olabilecek son parça hariç uzunluk baytlık/karakterlik parçalar içerir. uzunluk öntanımlı olarak 1'dir, yani her parça tek bayttır.

uzunluk 1'den küçükse işlev false döndürür. Eğer uzunluk, dizge uzunluğundan büyükse dizinin tek elemanında dizgenin tamamı bulunur.

Hatalar/İstisnalar

uzunluk 1'den küçükse ValueError yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | dizge boşsa boş bir dizi döner. Evvelce boş dizge içeren bir dizi dönerdi.
8.0.0 | uzunluk 1'den küçükse artık ValueError yavrulanıyor, evvelce E_WARNING seviyesinde bir hata oluşurdu ve işlev false döndürürdü.

Örnekler

Örnek 1 - str_split() örneği

<?php

$str = "Hey Arkadaşım";

$arr1 = str_split($str);
$arr2 = str_split($str, 4);

print_r($arr1);
print_r($arr2);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => H
    [1] => e
    [2] => y
    [3] =>
    [4] => A
    [5] => r
    [6] => k
    [7] => a
    [8] => d
    [9] => a
    [10] => ?
    [11] => ?
)
Array
(
    [0] => Hey
    [1] => Arka
    [2] => daş
    [3] => ım
)

Notlar

Bilginize:

str_split() çok baytlı kodlanmış bir dizgeyle uğraşırken karakterler yerine baytları ayıklar. Karakterlerin ayıklanması için bunun yerine mb_str_split() kullanılmalıdır.

Ayrıca Bakınız

  • mb_str_split() - Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür
  • chunk_split() - Bir dizgeyi daha küçük parçalara ayırır
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • count_chars() - Bir dizgedeki karakterler hakkında bilgi döndürür
  • str_word_count() - Bir dizgedeki sözcükler hakkında bilgi verir
  • for


Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar

  • « str_split
  • str_word_count »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar

str_starts_with

(PHP 8)

str_starts_with — Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar

Açıklama

str_starts_with(string $samanlık, string $iğne): bool

samanlık dizgesine harf büyüklüğüne duyarlı bir arama uygulayıp iğne ile başlayıp başlamadığına bakar.

Bağımsız Değişkenler

samanlık

Araştırılacak dizge.

iğne

samanlık'ta aranacak parça.

Dönen Değerler

samanlık dizgesi needle ile başlıyorsa true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Boş dizge '' kullanımı

<?php
if (str_starts_with('abc', '')) {
echo "Tüm dizeler boş bir dize ile başlar";
}
?>

Yukarıdaki örneğin çıktısı:

Tüm dizeler boş bir dize ile başlar

Örnek 2 - Harf büyüklüğüne duyarlılık

<?php
$string = 'The lazy fox jumped over the fence';

if (str_starts_with($string, 'The')) {
echo "Dizge 'The' ile başlıyor\n";
}

if (str_starts_with($string, 'the')) {
echo 'Dizgenin baş tarafı: "the"';
} else {
echo 'Başta "the" yok çünkü harf büyüklüğü eşleşmedi';
}

?>

Yukarıdaki örneğin çıktısı:

Dizge 'The' ile başlıyor
Başta "the" yok çünkü harf büyüklüğü eşleşmedi

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Bir dizgedeki sözcükler hakkında bilgi verir

  • « str_starts_with
  • strcasecmp »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgedeki sözcükler hakkında bilgi verir

str_word_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_word_count — Bir dizgedeki sözcükler hakkında bilgi verir

Açıklama

str_word_count(string $dizge, int $biçem = 0, ?string $karakterler = null): array|int

dizge içindeki sözcükleri sayar. Seçimlik olan biçem bağımsız değişkeni belirtilMEmişse, dönüş değeri bulunan sözcüklerin sayısını ifade eden bir tamsayı olur. Belirtilmesi durumunda içeriği belirtilen biçem bağımsız değişkenine bağlı olarak değişen bir dizi döner. biçem bağımsız değişkeninde belirtilebilecek değerler ve sonuçları aşağıda açıklanmıştır.

Bu işlevin amacı doğrultusunda 'sözcük' yerele bağlı abecesel karakterlerden başka, sözcüğün ilk karakteri dışında "'" ve "-" karakterlerini de içerebilir. Dikkat: Çok baytlı yereller desteklenmez.

Bağımsız Değişkenler

dizge

Sözcükleri hakkında bilgi döndürülecek dizge.

biçem

Bu işlevin ne döndüreceği belirtilir. Desteklenen değerler:

  • 0 - Bulunan sözcük sayısı döner.
  • 1 - dizge içindeki tüm sözcükleri içeren bir dizi döner.
  • 2 - Sözcüklerin dizge içindeki konumlarını anahtar, sözcükleri değer olarak içeren bir ilişkisel dizi döner.

karakterler

Bir sözcük karakteri olarak değerlendirilebilecek karakterlerin listesi.

Dönen Değerler

Belirtilen biçem'e göre bir tamsayı veya bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | karakterler artık null olabiliyor.

Örnekler

Örnek 1 - str_word_count() örneği

<?php

$str = "Hello fri3nd, you're
looking good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)

Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [29] => looking
    [46] => good
    [51] => today
)

Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)

7

Ayrıca Bakınız

  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
  • preg_split() - Dizgeyi düzenli ifadeye göre böler
  • count_chars() - Bir dizgedeki karakterler hakkında bilgi döndürür
  • substr_count() - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur


İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar

  • « str_word_count
  • strchr »
  • PHP Manual
  • Dizge İşlevleri
  • İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar

strcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strcasecmp — İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar

Açıklama

strcasecmp(string $dizge1, string $dizge2): int

İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar. İşlev yerele bakmaz, sadece ASCII harflere göre karşılaştırma yapar.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa 0 döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Örnek 1 - strcasecmp() örneği

<?php
$d1 = "Hello";
$d2 = "hello";
if (strcasecmp($d1, $d2) == 0) {
echo '$d1 ve $d2 dizgeleri harf büyüklükleri dikkate alınmazsa aynıdırlar';
}
?>

Ayrıca Bakınız

  • strcmp() - İkil olarak güvenilir dizge karşılaştırması yapar
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • substr_compare() - İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
  • strncasecmp() - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür


strstr işlevinin takma adıdır

  • « strcasecmp
  • strcmp »
  • PHP Manual
  • Dizge İşlevleri
  • strstr işlevinin takma adıdır

strchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strchr — strstr() işlevinin takma adıdır

Açıklama

Bu işlev strstr() işlevinin takma adıdır.


İkil olarak güvenilir dizge karşılaştırması yapar

  • « strchr
  • strcoll »
  • PHP Manual
  • Dizge İşlevleri
  • İkil olarak güvenilir dizge karşılaştırması yapar

strcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strcmp — İkil olarak güvenilir dizge karşılaştırması yapar

Açıklama

strcmp(string $dizge1, string $dizge2): int

Karşılaştırma harf büyüklüğüne duyarlıdır.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1 ; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa 0 döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Örnek 1 - strcmp() örneği

<?php
$var1 = "Hello";
$var2 = "hello";
if (strcmp($var1, $var2) !== 0) {
echo 'Harf büyüklüğüne duyarlı dizge karşılaştırmasında $var1 ve $var2 aynı değildir';
}
?>

Ayrıca Bakınız

  • strcasecmp() - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • substr_compare() - İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
  • strncmp() - İlk n karakteri ikil olarak karşılaştırır
  • strstr() - İlk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür


Yerele göre dizge karşılaştırma

  • « strcmp
  • strcspn »
  • PHP Manual
  • Dizge İşlevleri
  • Yerele göre dizge karşılaştırma

strcoll

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

strcoll — Yerele göre dizge karşılaştırma

Açıklama

strcoll(string $d1, string $d2): int

strcmp() işlevinin tersine bu işlev ikil olarak güvenilir değildir ancak strcmp() gibi harf büyüklüğüne duyarlı karşılaştırma yapılır.

strcoll() işlevi karşılaştırma yaparken yereli kullanır. Eğer kullanıldığı yerel C veya POSIX ise bu işlev strcmp() işlevine eşdeğerdir.

Bağımsız Değişkenler

d1

İlk dizge.

d2

İkinci dizge.

Dönen Değerler

d1 dizgesi d2 dizgesinden küçükse sıfırdan küçük bir değer; d1 dizgesi d2 dizgesinden büyükse sıfırdan büyük bir değer; d1 dizgesi ile d2 dizgesi aynıysa sıfır döndürür.

Ayrıca Bakınız

  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • strcmp() - İkil olarak güvenilir dizge karşılaştırması yapar
  • strcasecmp() - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • substr() - Dizgenin bir kısmını döndürür
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strncasecmp() - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • strncmp() - İlk n karakteri ikil olarak karşılaştırır
  • strstr() - İlk alt dizgeyi bulur
  • setlocale() - Yereli ayarlar


Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur

  • « strcoll
  • strip_tags »
  • PHP Manual
  • Dizge İşlevleri
  • Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur

strcspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strcspn — Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur

Açıklama

strcspn(
string $dizge,
string $maske,
int $başlangıç = 0,
?int $uzunluk = null
): int

dizge dizgesinin karakterler dizgesiyle eşleşMEyen en uzun ilk parçasının uzunluğunu döndürür.

başlangıç ve uzunluk atlanmışsa, tüm dizge incelenir. Belirtilmişlerse, etki strcspn(substr($dizge, $başlangıç, $uzunluk), $karakterler) çağrısıyla aynı olur (daha fazla bilgi için: substr()).

Bağımsız Değişkenler

dizge

Maskenin eşleşmeyeceği dizge.

karakterler

İzin verilmeyen karakterleri içeren dizge.

başlangıç

Eşleştirmenin başlatılacağı konum.

başlangıç belirtilmişse ve negatif değilse, strcspn() işlevi dizgeyi başlangıçıncı konumdan itibaren incelemeye başlar. örneğin, 'abcdef' dizgesinde, 0ıncı karakter 'a', 2inci karakter 'c' ve böyle gider.

başlangıç belirtilmişse ve negatif ise, strcspn() işlevi dizgeyi sondan başlangıçıncı konumdan itibaren incelemeye başlar.

uzunluk

Eşleşmemenin aranacağı alt dizge uzunluğu. Negatif değerler uzunluğu dizgenin sonundan başına doğru belirler.

uzunluk belirtilmişse ve negatif değilse, dizgenin başından itibaren uzunluk karakteri incelenir.

uzunluk belirtilmişse ve negatif ise, dizge baştan itibaren, dizgenin sonundan uzunlukuncu karaktere kadar incelenir.

Dönen Değerler

dizge dizgesinin karakterler dizgesiyle eşleşMEyen en uzun ilk parçasının uzunluğunu döndürür.

Bilginize:

başlangıç belirtilmişse, dönen uzunluk bu konumdan itibaren sayılır, dizgenin başından itibaren değil.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - strcspn() örneği

<?php
$a = strcspn('abcd', 'apple');
$b = strcspn('abcd', 'banana');
$c = strcspn('hello', 'l');
$d = strcspn('hello', 'world');
$e = strcspn('abcdhelloabcd', 'abcd', -9);
$f = strcspn('abcdhelloabcd', 'abcd', -9, -5);

var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(0)
int(2)
int(2)
int(5)
int(4)

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strspn() - Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur


Bir dizgeden HTML ve PHP etiketlerini ayıklar

  • « strcspn
  • stripcslashes »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeden HTML ve PHP etiketlerini ayıklar

strip_tags

(PHP 4, PHP 5, PHP 7, PHP 8)

strip_tags — Bir dizgeden HTML ve PHP etiketlerini ayıklar

Açıklama

strip_tags(string $dizge, array|string|null $ayıklanmayacaklar = null): string

Bu işlev belirtilen dizge dizgesinden tüm NULL baytları, HTML ve PHP etiketleri ayıklanmış olarak bir dizge döndürmeye çalışır. fgetss() işlevinin kullandığı etiket ayıklama motoru kullanılır.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

ayıklanmayacaklar

Seçimlik olan bu bağımsız değişkende ayıklanmayacak etiketleri belirtebilirsiniz. Ya dizge olarak ya da PHP 7.4.0'dan itibaren bir dizi olarak belirtilebilir. Bu bağımsız değişkenin biçemi ile ilgili olan aşağıdaki örneğe bakılabilir.

Bilginize:

HTML içi açıklamalar ile PHP etiketleri de ayıklanır ve bu durum ayıklanmayacaklar ile değiştirilemez.

Bilginize:

Kendi kapanan XHTML etiketleri yoksayılır ve ayıklanmayacaklar içinde sadece kendi kapanmayan etiketler bulunmalıdır. Örneğin, <br> ve <br/> etiketlerinin ikisine de izin vermek için şöyle yapılmalıdır:

<?php
strip_tags($input, '<br>');
?>

Dönen Değerler

Ayıklanmış dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayıklanmayacaklar artık null olabiliyor.
7.4.0 | ayıklanmayacaklar artık dizi de kabul ediyor.

Örnekler

Örnek 1 - strip_tags() örneği

<?php
$metin = '<p>Deneme paragrafı.</p><!-- Açıklama --> ' .
'<a href="#capa">Başka bir metin</a>';
echo strip_tags($metin);
echo "\n";

// <p> ve <a>'ya izin verelim
echo strip_tags($metin, '<p><a>');

// PHP 7.4.0 ve sonrasında yukarıdaki satır şöyle yazılabilir:
// echo strip_tags($metin, ['p', 'a']);
?>

Yukarıdaki örneğin çıktısı:

Deneme paragrafı. Başka bir metin
<p>Deneme paragrafı.</p> <a href="#capa">Başka bir metin</a>

Notlar

Uyarı

Bu işlev XSS saldırılarını engellemeye çalışmak için kullanılmamalıdır. htmlspecialchars() gibi daha uygun işlevler veya çıktı bağlamına bağlı olarak diğer araçlar kullanılmalıdır.

Uyarı

strip_tags() işlevi HTML doğrulaması yapmadığından kısmen veya tamamen bozuk etiketler nedeniyle beklenenden daha az metin veya veri elde edilebilir.

Uyarı

Bu işlev ayıklanmayacaklar bağımsız değişkeninde belirtilen etiketlerdeki özniteliklerde, haylaz bir kullanıcıyı baştan çıkarabilecek bilgiler içerebilen style ve onmouseover öznitelikleri dahil, bir değişiklik yapmaz.

Bilginize:

HTML girdi içindeki 1023 bayttan daha uzun etiket adları, ayıklanmayacaklar bağımsız değişkenine bakılmaksızın geçersiz olarak değerlendirilir.

Ayrıca Bakınız

  • htmlspecialchars() - Özel karakterleri HTML öğeleri haline getirir


addcslashes ile öncelenmiş dizgeyi eski haline getirir

  • « strip_tags
  • stripos »
  • PHP Manual
  • Dizge İşlevleri
  • addcslashes ile öncelenmiş dizgeyi eski haline getirir

stripcslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

stripcslashes — addcslashes() ile öncelenmiş dizgeyi eski haline getirir

Açıklama

stripcslashes(string $dizge): string

Tersbölüleri ayklanmış bir dizgeyle döner. C-tarzı \n, \r ..., sekizlik ve onaltılık gösterimler tanınır.

Bağımsız Değişkenler

dizge

Öncelemleri ayıklanacak dizge.

Dönen Değerler

Öncelemsiz dizgeyle döner.

Örnekler

Örnek 1 - stripcslashes() örneği

<?php

var_dump(stripcslashes('Ali\'nin topu var.\nYakartop oynayalım.') ===
"Ali'nin topu var.
Yakartop oynayalım."); // bool(true)
?>

Ayrıca Bakınız

  • addcslashes() - Dizgeye C tarzı öncelem uygular


Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur

  • « stripcslashes
  • stripslashes »
  • PHP Manual
  • Dizge İşlevleri
  • Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur

stripos

(PHP 5, PHP 7, PHP 8)

stripos — Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur

Açıklama

stripos(string $samanlık, mixed $iğne, int $başlangıç = 0): int|false

samanlık dizgesi içindeki ilk iğne dizgesinin sayısal konumunu döndürür.

strpos() işlevinden farklı olarak, stripos() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

başlangıç

Seçimlik başlangıç bağımsız değişkeniyle aramanın samanlık içinde kaçıncı karakterden başlayacağını belirtebilirsiniz. Negatif bir değer belirtilmişse arama sondan başlangıçınc karakterden başlar. Dönen konum yine de samanlık dizgesinin başına göre olacaktır.

Dönen Değerler

Konumu samanlık dizgesinin başına göre (başlangıçtan bağımsız) bir tamsayı olarak döndürür.Dizgenin ilk karakterinin konumu 1 değil 0'dır. Eğer iğne bulunamazsa false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere (baytlara) uygulandığından yerelin setlocale() ile atanması artık gerekmiyor. ASCII olmayan karakterlerin bayt değerleri karşılaştırılıyor.
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.
7.1.0 | başlangıçs artık negatif olabiliyor.

Örnekler

Örnek 1 - stripos() örnekleri

<?php
$findme = 'a';
$mystring1 = 'xyz';
$mystring2 = 'ABC';

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// 'a' kesinlikle 'xyz' içinde yoktur
if ($pos1 === false) {
echo "'$mystring1' dizgesinde '$findme' dizgesi yok";
}

// 'a' 0. karakter olduğundan == işleci beklendiği gibi
// çalışmayacaktır. Bu yüzden === kullanmaya çalışın.
if ($pos2 !== false) {
echo "'$mystring1' dizgesinin $pos2. karakterinde bir '$findme' dizgesi var";
}
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • mb_stripos() - Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür
  • str_ireplace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz


Bir dizgeden tersbölüleri ayıklar

  • « stripos
  • stristr »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeden tersbölüleri ayıklar

stripslashes

(PHP 4, PHP 5, PHP 7, PHP 8)

stripslashes — Bir dizgeden tersbölüleri ayıklar

Açıklama

stripslashes(string $dizge): string

Tersbölüleri ayıklanmış bir dizge döndürür.

Veri önceleme gerektiren bir yere (bir veritabanı gibi) yerleştirilmeyecekse stripslashes() kullanılabilir. Örnek: Verinin bir HTML formundan doğrudan doğruya çıktılanması.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Tersbölüleri ayıklanmış bir dizge döndürür. Örneğin, \' dizilimleri ' haline gelir, çift tersbölüler (\\) teke (\) indirilir.

Örnekler

Örnek 1 - stripslashes() örneği

<?php
$str = "Is your name O\'reilly?";

// Çıktısı: Is your name O'reilly?
echo stripslashes($str);
?>

Bilginize:

stripslashes() ardışık işlem yapmaz. Bu işlevi çok boyutlu bur diziye uygulamak istersiniz ardışık işlem yapacak bir işlev kullanmalısınız.

Örnek 2 - Dizi üzerinde stripslashes() kullanımı

<?php
function stripslashes_deep($value)
{
$value = is_array($value) ?
array_map('stripslashes_deep', $value) :
stripslashes($value);

return $value;
}

// Örnek
$array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar"));
$array = stripslashes_deep($array);

// Çıktılayalım
print_r($array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => f'oo
    [1] => b'ar
    [2] => Array
        (
            [0] => fo'o
            [1] => b'ar
        )

)

Ayrıca Bakınız

  • addslashes() - Özel karakterlerin önüne tersbölü yerleştirir
  • get_magic_quotes_gpc() - magic_quotes_gpc yönergesinin değerini döndürür


Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur

  • « stripslashes
  • strlen »
  • PHP Manual
  • Dizge İşlevleri
  • Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur

stristr

(PHP 4, PHP 5, PHP 7, PHP 8)

stristr — Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur

Açıklama

stristr(string $samanlık, string $iğne, bool $iğne_öncesi = false): string|false

samanlık dizgesinde bulunan ilk iğne dizgesiyle (iğne dahil) başlayan parçayı döndürür.

Bağımsız Değişkenler

samanlık

Girdi dizgesi.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

iğne_öncesi

true ise, stristr() işlevi samanlık dizgesinde bulunan ilk iğne dizgesinde biten parçayı (iğne hariç) döndürür.

samanlık ve iğne harf büyüklüğüne duyarsız olarak ele alınır.

Dönen Değerler

iğne bulunamazsa false, aksi takdirde dizge parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere (baytlara) uygulandığından yerelin setlocale() ile atanması artık gerekmiyor. ASCII olmayan karakterlerin bayt değerleri karşılaştırılıyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.

Örnekler

Örnek 1 - stristr() örneği

<?php
$email = 'USER@EXAMPLE.com';
echo stristr($email, 'e'); // ER@EXAMPLE.com basar
echo stristr($email, 'e', true); // US basar
?>

Örnek 2 Bir dizgenin varlığına bakmak

<?php
$string = 'Hello World!';
if(stristr($string, 'earth') === FALSE) {
echo '"earth" bu dizgede yok';
}
// çıktısı: "earth" bu dizgede yok
?>

Örnek 3 - Dizge olmayan iğne kullanımı

<?php
$string = 'APPLE';
echo stristr($string, 97); // 97 = küçük a
// çıktısı: APPLE
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strstr() - İlk alt dizgeyi bulur
  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Dizge uzunluğunu döndürür

  • « stristr
  • strnatcasecmp »
  • PHP Manual
  • Dizge İşlevleri
  • Dizge uzunluğunu döndürür

strlen

(PHP 4, PHP 5, PHP 7, PHP 8)

strlen — Dizge uzunluğunu döndürür

Açıklama

strlen(string $dizge): int

Belirtilen dizge dizgesinin uzunluğunu döndürür.

Bağımsız Değişkenler

dizge

Uzunluğu ölçülecek dizge.

Dönen Değerler

dizge uzunluğunu bayt cinsinden döndürür.

Örnekler

Örnek 1 - strlen() örneği

<?php
$str = 'abcdef';
echo strlen($str); // 6

$str = ' ab cd ';
echo strlen($str); // 7
?>

Notlar

Bilginize:

strlen() dizgedeki karakter sayısını değil, bayt sayısını döndürür.

Bilginize:

strlen() diziler üzerinde çalıştırılırsa null döndürür ve E_WARNING seviyesinde bir hata çıktılar.

Ayrıca Bakınız

  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • grapheme_strlen() - Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
  • iconv_strlen() - Dizgenin karakter sayısı ile döner
  • mb_strlen() - Dizge uzunluğu ile döner


"Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır

  • « strlen
  • strnatcmp »
  • PHP Manual
  • Dizge İşlevleri
  • "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır

strnatcasecmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcasecmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır

Açıklama

strnatcasecmp(string $dizge1, string $dizge2): int

Bu işlev, "doğal sıralama" adı verilen ve alfasayısal dizgeleri insanlarca yapılan sıralamaya uygun olarak sıralayan bir algoritmayı gerçekler. strnatcmp() işlevinden farklı olarak karşılaştırma harf büyüklüğüne duyarlı değildir. Daha fazla bilgi için Martin Pool'un » Natural Order String Comparison belgesine bakınız.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa sıfır döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Örnek 1 - strnatcasecmp() örneği

<?php

var_dump(strnatcasecmp('Apple', 'Banana'));
var_dump(strnatcasecmp('Banana', 'Apple'));
var_dump(strnatcasecmp('apple', 'Apple'));
?>

Yukarıdaki örneğin çıktısı:

int(-1)
int(1)
int(0)

Ayrıca Bakınız

  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • strcmp() - İkil olarak güvenilir dizge karşılaştırması yapar
  • strcasecmp() - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • substr() - Dizgenin bir kısmını döndürür
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strncasecmp() - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • strncmp() - İlk n karakteri ikil olarak karşılaştırır
  • strstr() - İlk alt dizgeyi bulur
  • setlocale() - Yereli ayarlar


"Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır

  • « strnatcasecmp
  • strncasecmp »
  • PHP Manual
  • Dizge İşlevleri
  • "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır

strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strnatcmp — "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır

Açıklama

strnatcmp(string $dizge1, string $dizge2): int

Bu işlev, "doğal sıralama" adı verilen ve alfasayısal dizgeleri insanlarca yapılan sıralamaya uygun olarak sıralayan bir algoritmayı gerçekler. Karşılaştırma harf büyüklüğüne duyarlı olarak yapılır.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa o döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Bu örnekte, bilgisiyar dizge sıralaması yapan strcmp() işlevi ile insani dizge sıralaması yapan strnatcmp() işlevinin sonuçları karşılaştırılmıştır:

<?php
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");
echo "Standart dizge karşılaştırması\n";
usort($arr1, "strcmp");
print_r($arr1);
echo "\nDoğal dizge sıralama karşılaştırması\n";
usort($arr2, "strnatcmp");
print_r($arr2);
?>

Yukarıdaki örneğin çıktısı:

Standart dizge karşılaştırması
Array
(
    [0] => img1.png
    [1] => img10.png
    [2] => img12.png
    [3] => img2.png
)

Doğal dizge sıralama karşılaştırması
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
Daha fazla bilgi için bakınız: Martin Pool'un » Natural Order String Comparison belgesi.

Ayrıca Bakınız

  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • strcasecmp() - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • substr() - Dizgenin bir kısmını döndürür
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strcmp() - İkil olarak güvenilir dizge karşılaştırması yapar
  • strncmp() - İlk n karakteri ikil olarak karşılaştırır
  • strncasecmp() - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • strnatcasecmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır
  • strstr() - İlk alt dizgeyi bulur
  • natsort() - Bir diziyi "doğal sıralama" algoritmasıyla sıralar
  • natcasesort() - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar


İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır

  • « strnatcmp
  • strncmp »
  • PHP Manual
  • Dizge İşlevleri
  • İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır

strncasecmp

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

strncasecmp — İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır

Açıklama

strncasecmp(string $dizge1, string $dizge1, int $uzunluk): int

Karşılaştırma için kullanılacak dizge uzunluğunun üst sınırının belirtilebilmesi dışında strcasecmp() işlevi gibidir.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge1

İkinci dizge.

uzunluk

Karşılaştırmada kullanılacak karakter sayısı.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa * döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Örnek 1 - strncasecmp() örneği

<?php

$var1 = 'Hello John';
$var2 = 'hello Doe';
if (strncasecmp($var1, $var2, 5) === 0) {
echo 'Harf büyüklüğüne duyarsız dizge karşılaştırmasında $var1 ve $var2 dizgelerinin ilk beş karakteri aynıdır.';
}
?>

Ayrıca Bakınız

  • strncmp() - İlk n karakteri ikil olarak karşılaştırır
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • substr_compare() - İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
  • strcasecmp() - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür


İlk n karakteri ikil olarak karşılaştırır

  • « strncasecmp
  • strpbrk »
  • PHP Manual
  • Dizge İşlevleri
  • İlk n karakteri ikil olarak karşılaştırır

strncmp

(PHP 4, PHP 5, PHP 7, PHP 8)

strncmp — İlk n karakteri ikil olarak karşılaştırır

Açıklama

strncmp(string $dizge1, string $dizge2, int $uzunluk): int

Karşılaştırma için kullanılacak dizge uzunluğunun üst sınırının belirtilebilmesi dışında strcmp() işlevi gibidir.

Karşılaştırma harf büyüklüğüne duyarlı olarak yapılır.

Bağımsız Değişkenler

dizge1

İlk dizge.

dizge2

İkinci dizge.

uzunluk

Karşılaştırmada kullanılacak karakter sayısı.

Dönen Değerler

dizge1 dizgesi dizge2 dizgesinden küçükse -1; dizge1 dizgesi dizge2 dizgesinden büyükse 1; dizge1 dizgesi ile dizge2 dizgesi aynıysa 0 döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.

Örnekler

Örnek 1 - strncmp() örneği

<?php

$var1 = 'Hello John';
$var2 = 'Hello Doe';
if (strncmp($var1, $var2, 5) === 0) {
echo 'Harf büyüklüğüne duyarlı dizge karşılaştırmasında $var1 ve $var2 dizgelerinin ilk beş karakteri aynıdır.';
}
?>

Ayrıca Bakınız

  • strncasecmp() - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • substr_compare() - İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
  • strcmp() - İkil olarak güvenilir dizge karşılaştırması yapar
  • strstr() - İlk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür


Belirtilen karakterleri bir dizge içinde arar

  • « strncmp
  • strpos »
  • PHP Manual
  • Dizge İşlevleri
  • Belirtilen karakterleri bir dizge içinde arar

strpbrk

(PHP 5, PHP 7, PHP 8)

strpbrk — Belirtilen karakterleri bir dizge içinde arar

Açıklama

strpbrk(string $dizge, string $karakterler): string|false

strpbrk() işlevi dizge içinde karakterler'den birini bulmaya çalışır.

Bağımsız Değişkenler

dizge

Karakterlerin aranacağı dizge.

karakterler

Karakterler harf büyüklüğüne duyarlı olarak aranır.

Dönen Değerler

Bulunan karakterle başlayan dizgeyi döndürür, aranan hiçbir karakter bulunamazsa false döner.

Örnekler

Örnek 1 - strpbrk() örneği

<?php

$text = 'This is a Simple text.';

// ilk eşleşen 'i'den itibaren çıktılanacağından
// "is is a Simple text." basılır
echo strpbrk($text, 'mi');

// İşlev harf büyüklüğüne duyarlı arama yaptığından
// "Simple text." basılacaktır
echo strpbrk($text, 'S');
?>

Ayrıca Bakınız

  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Bir alt dizgenin ilkinin konumunu bulur

  • « strpbrk
  • strrchr »
  • PHP Manual
  • Dizge İşlevleri
  • Bir alt dizgenin ilkinin konumunu bulur

strpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strpos — Bir alt dizgenin ilkinin konumunu bulur

Açıklama

strpos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

samanlık dizgesi içindeki ilk iğne dizgesinin sayısal konumunu döndürür.

Bağımsız Değişkenler

samanlık

Aramanın yapılacağı dizge.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

başlangıç

Seçimlik başlangıç bağımsız değişkeniyle aramanın samanlık içinde kaçıncı karakterden başlayacağını belirtebilirsiniz. Negatif bir değer belirtilmişse arama sondan başlangıçıncı karakterden başlar. Dönen konum yine de samanlık dizgesinin başına göre olacaktır.

Dönen Değerler

Konumu samanlık dizgesinin başına göre (başlangıçtan bağımsız) bir tamsayı olarak döndürür.Dizgenin ilk karakterinin konumu 1 değil 0'dır. Eğer iğne bulunamazsa false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.
7.1.0 | başlangıçs artık negatif olabiliyor.

Örnekler

Örnek 1 - Aynılık işlecinin (===) kullanımı

<?php
$samanlık = 'abc';
$iğne = 'a';
$konum = strpos($samanlık, $iğne);

// 'a' 0. karakter olduğundan == işleci beklendiği gibi
// çalışmayacaktır. Bu yüzden === kullanmaya çalışın.
if ($konum === false) {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi yok";
} else {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi var";
echo " ve $konum. karakterden başlıyor";
}
?>

Örnek 2 - Farklılık işlecinin (!==) kullanımı

<?php
$samanlık = 'abc';
$iğne = 'a';
$konum = strpos($samanlık, $iğne);

// !== işleci de kullanılabilir. 'a' 0. karakter olduğundan
// != işleci beklendiği gibi çalışmayacak, (0 != false) deyimi
// yanlış sonuç verecektir.
if ($konum !== false) {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi var";
echo " ve $konum. karakterden başlıyor";
} else {
echo "'$samanlık' dizgesi içinde '$iğne' dizgesi yok";
}
?>

Örnek 3 - Bir başlangıç kullanımı

<?php
// Belli bir konumdan önceki herşeyi yoksayarak bir karakteri arayabiliriz
$samanlık = 'abcdef abcdef';
$konum = strpos($samanlık, 'a', 1); // $konum = 7 olur, 0 değil
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • str_contains() - Bir dizge içinde belirtilen alt dizgeyi arar
  • str_ends_with() - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
  • str_starts_with() - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strstr() - İlk alt dizgeyi bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • substr() - Dizgenin bir kısmını döndürür
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner

  • « strpos
  • strrev »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner

strrchr

(PHP 4, PHP 5, PHP 7, PHP 8)

strrchr — Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner

Açıklama

strrchr(string $samanlık, string $iğne, bool $iğneden_önce = false): string|false

samanlık dizgesinde bulunan son iğne dizgesinden başlayan parçayı döndürür.

Bağımsız Değişkenler

samanlık

Girdi dizgesi.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

iğneden_önce

true ise, strrchr() son iğne'den önceki samanlık parçasını döndürür (iğneyi içermez).

Dönen Değerler

iğne bulunamazsa false, aksi takdirde dizge parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.3.0 | iğneden_önce bağımsız değişkeni eklendi.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.

Örnekler

Örnek 1 - strrchr() örneği

<?php
// $PATH içindeki son dizini döndürür
$dir = substr(strrchr($PATH, ":"), 1);

// son satırsonu karakterinden sonrakı herşey
$text = "Line 1\nLine 2\nLine 3";
$last = substr(strrchr($text, 10), 1 );
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strstr() - İlk alt dizgeyi bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur


Bir dizgeyi ters çevirir

  • « strrchr
  • strripos »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi ters çevirir

strrev

(PHP 4, PHP 5, PHP 7, PHP 8)

strrev — Bir dizgeyi ters çevirir

Açıklama

strrev(string $dizge): string

Ters çevrilmiş dizge ile döner.

Bağımsız Değişkenler

dizge

Ters çevrilecek dizge.

Dönen Değerler

Ters çevrilen dizge döner.

Örnekler

Örnek 1 - strrev() örneği

<?php
echo strrev("Hello world!"); // çıktısı: "!dlrow olleH"
?>


Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur

  • « strrev
  • strrpos »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur

strripos

(PHP 5, PHP 7, PHP 8)

strripos — Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur

Açıklama

strripos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

samanlık dizgesi içindeki son iğne dizgesini harf büyüklüğüne duyarsız olarak bulur ve sayısal konumunu döndürür.

strrpos() işlevinin tersine, strripos() harf büyükğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

İğnenin aranacağı dizge.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

başlangıç

Sıfır veya pozitifse samanlık içinde ilk başlangıç bayt atlanıp arama soldan sağa yapılır.

Negatif ise samanlık içinde son başlangıç bayt atlanıp arama sağdan sola yapılır.

Bilginize:

Bu aslında, son başlangıç bayttan önceki son iğnenin konumunu bulmak için kullanılır.

Dönen Değerler

Konumu samanlık dizgesinin başına göre (başlangıçtan ve arama yönünden bağımsız) bir tamsayı olarak döndürür.

Bilginize: Dizgenin ilk karakterinin konumu 1 değil 0'dır.

Eğer iğne bulunamazsa, false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere (baytlara) uygulandığından yerelin setlocale() ile atanması artık gerekmiyor. ASCII olmayan karakterlerin bayt değerleri karşılaştırılıyor.
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.

Örnekler

Örnek 1 - strripos() örneği

<?php
$samanlık = 'ababcd';
$iğne = 'aB';

$konum = strripos($samanlık, $iğne);

if ($konum === false) {
echo "($samanlık) içinde ($iğne) bulunamadı";
} else {
echo "Tebrikler!\n";
echo "($samanlık) içindeki son ($iğne) ($konum) konumunda bulundu";
}
?>

Yukarıdaki örneğin çıktısı:

Tebrikler!
(ababcd) içindeki son (aB) (2) konumunda bulundu

Ayrıca Bakınız

  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • substr() - Dizgenin bir kısmını döndürür


Bir dizgede bir karakterin sonuncusunu bulur

  • « strripos
  • strspn »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgede bir karakterin sonuncusunu bulur

strrpos

(PHP 4, PHP 5, PHP 7, PHP 8)

strrpos — Bir dizgede bir karakterin sonuncusunu bulur

Açıklama

strrpos(string $samanlık, string $iğne, int $başlangıç = 0): int|false

samanlık dizgesi içindeki son iğne dizgesinin sayısal konumunu döndürür.

Bağımsız Değişkenler

samanlık

İğnenin aranacağı dizge.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

başlangıç

Sıfır veya pozitifse samanlık içinde ilk başlangıç bayt atlanıp arama soldan sağa yapılır.

Negatif ise samanlık içinde son başlangıç bayt atlanıp arama sağdan sola yapılır.

Bilginize:

Bu aslında, son başlangıç bayttaki veya öncesindeki son iğnenin konumunu bulmak için kullanılır.

Dönen Değerler

Konumu samanlık dizgesinin başına göre (başlangıçtan ve arama yönünden bağımsız) bir tamsayı olarak döndürür.

Bilginize: Dizgenin ilk karakterinin konumu 1 değil 0'dır.

Eğer iğne bulunamazsa, false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.

Örnekler

Örnek 1 - Samanlıkta iğne aramak

"Karakter 0. konumda bulundu" veya "Karakter yok" şeklinde dönen değer kolayca yanlış yorumlanabilir. Şimdi farkın nasıl ayırdedileceğini görelim:

<?php

$pos = strrpos($mystring, "b");
if ($pos === false) { // üçlü eşittire dikkat
// yokmuş...
}

?>

Örnek 2 - Başlangıç belirtmek

<?php
$foo = "0123456789a123456789b123456789c";

// Baştan 0. bayttan itibaren '0' bulmak için
var_dump(strrpos($foo, '0', 0));

// Baştan 1. bayttan itibaren (0. bayttan sonra) '0' bulmak için
var_dump(strrpos($foo, '0', 1));

// Baştan 21. bayttan itibaren (20. bayttan sonra) '7' bulmak için
var_dump(strrpos($foo, '7', 20));

// Baştan 29. bayttan itibaren (28. bayttan sonra) '7' bulmak için
var_dump(strrpos($foo, '7', 28));

// Sondan 5. bayttan itibaren sağdan sola doğru '7' bulmak için
var_dump(strrpos($foo, '7', -5));

// Sondan 2. bayttan itibaren sağdan sola doğru 'c' bulmak için
var_dump(strrpos($foo, 'c', -2));

// Sondan 2. bayttan itibaren sağdan sola doğru'9c' bulmak için
var_dump(strrpos($foo, '9c', -2));
?>

Yukarıdaki örneğin çıktısı:

int(0)
bool(false)
int(27)
bool(false)
int(17)
bool(false)
int(29)

Ayrıca Bakınız

  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • stripos() - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • substr() - Dizgenin bir kısmını döndürür


Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur

  • « strrpos
  • strstr »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur

strspn

(PHP 4, PHP 5, PHP 7, PHP 8)

strspn — Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur

Açıklama

strspn(
string $dizge,
string $karakterler,
int $başlangıç = 0,
?int $uzunluk = null
): int

dizge dizgesinin karakterler dizgesinin karakterleri ile eşleşen en uzun ilk parçasının uzunluğunu döndürür.

Eğer başlangıç ve uzunluk bağımsız değişkenleri kullanılmamışsa dizge dizgesinin tamamı gözden geçirilir. Bunlar kullanılmışsa etkisi, strspn(substr($dizge, $başlangıç, $uzunluk), $karakterler) çağrısına eşdeğerdir. (Ayrıntılı bilgi için substr() işlevinin açıklamasına bakınız.)

Örnek:

<?php
$var = strspn("42 is the answer to the 128th question.", "1234567890");
?>
"1234567890" maskesiyle eşleşen en uzun ilk dizge parçası "42" olduğundan $var değişkenine 2 atanacaktır.

Bağımsız Değişkenler

dizge

Maskenin eşleştirileceği dizge.

karakterler

Eşleştirilecek karakterleri içeren dizge.

başlangıç

dizge içinde eşleştirmenin başlatılacağı konum.

başlangıç belirtilmişse ve negatif değilse arama işlemi dizge dizgesinin baştan başlangıç'ıncı karakterinden başlar; ilk karakterin konumu 0'dır.

Negatif değerler dizgenin sonundan itibaren sayılır.

uzunluk

Eşleşmenin aranacağı alt dizge uzunluğu.

uzunluk belirtilmişse ve negatif değilse arama dizgenin başlangıcından itibaren uzunluk'uncu karakterden başlar.

Negatif bir değer belirtilmişse arama işlemi dizgenin başından başlar ve dizgenin sonundan itibaren uzunluk'uncu karakterde biter.

Dönen Değerler

dizge dizgesinin karakterler dizgesindeki karakterlerden oluşan ilk parçasının uzunluğunu döndürür.

Bilginize:

başlangıç belirtilmişse, dönen uzunluk bu konumdan itibaren sayılır, dizge dizgesinin başından değil.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - strspn() örneği

<?php
// dizge maskedeki herhangi bir karakterle başlamıyor
var_dump(strspn("foo", "o"));

// dizge 1. konumdan itibaren 2 karakter incelenir
var_dump(strspn("foo", "o", 1, 2));

// dizge 1. konumdan itibaren 1 karakter incelenir
var_dump(strspn("foo", "o", 1, 1));
?>

Yukarıdaki örneğin çıktısı:

int(0)
int(2)
int(1)

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strcspn() - Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur


İlk alt dizgeyi bulur

  • « strspn
  • strtok »
  • PHP Manual
  • Dizge İşlevleri
  • İlk alt dizgeyi bulur

strstr

(PHP 4, PHP 5, PHP 7, PHP 8)

strstr — İlk alt dizgeyi bulur

Açıklama

strstr(string $samanlık, string $iğne, bool $iğne_öncesi = false): string|false

samanlık dizgesinde bulunan ilk iğne dizgesinden başlayan parçayı döndürür.

Bilginize:

İşlev harf büyüklüğüne duyarlıdır. Harf büyüklüğüne duyarsız arama yapmak için stristr() işlevini kullanınız.

Bilginize:

İstediğiniz sadece samanlık içinde iğne var mı diye bakmaksa daha hızlı ve daha az bellek harcayan strpos() işlevini kullanın.

Bağımsız Değişkenler

samanlık

Girdi dizgesi.

iğne

Aranacak dizge.

PHP 8.0.0 öncesinde, iğne bir dizge değilse, bir tamsayıya dönüştürülür ve bir karakterin sıra değeri olarak uygulanırdı. PHP 7.3.0 itibariyle bu davranışın kullanımı önerilmemekte ve güvenilmemesi önerilmektedir. Amaçlanan davranışa bağlı olarak, iğne ya doğrudan dizgeye çarpıtılmalı ya da doğrudan bir chr() çağrısı yapılmalıdır.

iğne_öncesi

true ise, strstr() işlevi samanlık dizgesinde bulunan ilk iğne dizgesinde biten parçayı (iğne hariç) döndürür.

Dönen Değerler

iğne bulunamazsa false, aksi takdirde dizge parçası ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iğne artık boş dizge kabul ediyor.
8.0.0 | iğne olarak bir tamsayı aktarımı artık kabul edilmiyor.
7.3.0 | iğne olarak bir tamsayı aktarımı artık önerilmiyor.

Örnekler

Örnek 1 - strstr() örneği

<?php
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // @example.com basar

$user = strstr($email, '@', true);
echo $user; // name basar
?>

Ayrıca Bakınız

  • stristr() - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • strpbrk() - Belirtilen karakterleri bir dizge içinde arar
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır


Dizgeyi bir dizgeciğe göre böler

  • « strstr
  • strtolower »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgeyi bir dizgeciğe göre böler

strtok

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok — Dizgeyi bir dizgeciğe göre böler

Açıklama

strtok(string $dizge, string $ayraçlar): string|false

İsimli bağımsız değişkenleri desteklemeyen diğer sözdizimi:

strtok(string $ayraçlar): string

strtok() işlevi dizge dizgesini ayraçlar dizgesindeki karakterleri ayraç olarak kullanarak daha küçük dizgelere böler. Yani, "Bu örnek bir dizgedir" dizgesini boşluk karakterini ayraç olarak kullanarak sözcüklerine bölebilirsiniz.

Sadece ilk strtok() çağrısında dizge bağımsız değişkeni belirtilir. Sonraki çağrılarda sadece ayraçlar bağımsız değişkenini kullanmak yeterlidir. Baştan başlamak veya yeni dizgelerden birini ayrıştırmak için işlevi dizge bağımsız değişkeni ile çağırmak işlemi ilklendirmek için yeterlidir. ayraçlar bağımsız değişkenine birden fazla ayraç koyabilirsiniz. Belirtilen bu ayraçlardan birine ilk rastlandığıyla işlev dizgeyi böler.

Bilginize:

Bu işlev, explode() işlevine göre biraz farklı davranır. İlk olarak, ayrıştırılmış dizedeki iki veya daha fazla bitişik ayraçlar karakteri tek bir sınırlayıcı olarak kabul edilir. Ayrıca, dizenin başında veya sonunda bulunan ayraçlar yoksayılır. Örneğin, ";aaa;;bbb;" dizesinde, ";" ile strtok() işlevine yapılan art arda çağrılarda, önce "aaa" ve "bbb" dizeleri ve ardından false değeri döner. Sonuç olarak, explode(";", $string) 5 elemanlı bir dizi döndürürken burada sadece iki eleman döner.

Bağımsız Değişkenler

dizge

Daha küçük parçalara bölünecek dizge.

ayraçlar

Dizgeyi bölmek için kullanılacak ayraçlardan oluşan dizge.

Dönen Değerler

Bir dizge parçası veya dizgede ayraç kalmazsa false döner.

Örnekler

Örnek 1 - strtok() örneği

<?php
$string = "This is\tan example\nstring";
/* Sekme ve satırsonu karakterlerine göre dizgeyi bölelim */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
echo "Word=$tok<br />";
$tok = strtok(" \n\t");
}
?>

Örnek 2 - Ayraçlar tükendiğinde strtok() davranışı

<?php
$dizge1 = strtok('/something', '/');
$dizge2 = strtok('/');
var_dump($dizge1, $dizge2);
?>

Yukarıdaki örneğin çıktısı:

    string(9) "something"
    bool(false)

Örnek 3 - strtok() ile explode() arasındaki fark

<?php
$string = ";aaa;;bbb;";

$parts = [];
$tok = strtok($string, ";");
while ($tok !== false) {
$parts[] = $tok;
$tok = strtok(";");
}
echo json_encode($parts),"\n";

$parts = explode(";", $string);
echo json_encode($parts),"\n";

Yukarıdaki örneğin çıktısı:

["aaa","bbb"]
["","aaa","","bbb",""]

Notlar

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Ayrıca Bakınız

  • explode() - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir


Bir dizgenin harflerini küçük harfe çevirir

  • « strtok
  • strtoupper »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin harflerini küçük harfe çevirir

strtolower

(PHP 4, PHP 5, PHP 7, PHP 8)

strtolower — Bir dizgenin harflerini küçük harfe çevirir

Açıklama

strtolower(string $dizge): string

Belirtilen dizge dizgesindeki tüm ASCII abecesel karakterleri küçük harfe dönüştürerek elde edilen dizgeyi döndürür.

"A" (0x41) - "Z" aralığındaki ASCII karakterlerin baytlarına 32 eklenerek küçük harfe dönüştürülür.

İşlev UTF-8 kodlu dizgelerin içindeki çok baytlı karakterleri yok sayacağından yalnızca ASCII karakterlerin dönüştürülmesinde kullanılabilir. Çok baytlı karakterlerin dönüştürülmesinde mb_strtolower() kullanılabilir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Küçük harfli dizgeyle döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere uygulandığından yerelin setlocale() ile atanması artık gerekmiyor.

Örnekler

Örnek 1 - strtolower() örneği

<?php
$str = "Mini MİNİ bir KUŞ uçmuştu PENCEREME konmuştu.";
$str = strtolower($str);
echo $str;
// PHP 5.3.0beta2-dev (cli) ile tr_TR.UTF-8 yerelindeki çıktısı:
// mini mİnİ bir kuŞ uçmuştu pencereme konmuştu.
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir
  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
  • ucwords() - Dizgedeki her sözcüğün ilk harfini büyük harf yapar
  • mb_strtolower() - Dizgeyi küçük harfli yapar


Bir dizgenin harflerini büyük harfe çevirir

  • « strtolower
  • strtr »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin harflerini büyük harfe çevirir

strtoupper

(PHP 4, PHP 5, PHP 7, PHP 8)

strtoupper — Bir dizgenin harflerini büyük harfe çevirir

Açıklama

strtoupper(string $dizge): string

Belirtilen dizge dizgesindeki tüm abecesel ASCII karakterleri büyük harfe dönüştürerek elde edilen dizgeyi döndürür.

"A" (0x41) - "Z" aralığındaki ASCII karakterlerin baytlarına 32 eklenerek küçük harfe dönüştürülür.

İşlev UTF-8 kodlu dizgelerin içindeki çok baytlı karakterleri yok sayacağından yalnızca ASCII karakterlerin dönüştürülmesinde kullanılabilir. Çok baytlı karakterlerin dönüştürülmesinde mb_strtolower() kullanılabilir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Büyük harfli dizgeyle döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere uygulandığından yerelin setlocale() ile atanması artık gerekmiyor.

Örnekler

Örnek 1 - strtoupper() örneği

<?php
$str = "BiR küçÜcÜK ASLANcık varmış";
$str = strtoupper($str);
echo $str;
// PHP 5.3.0beta2-dev (cli) ile tr_TR.UTF-8 yerelindeki çıktısı:
// BiR KüçÜCÜK ASLANCıK VARMış
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir
  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
  • ucwords() - Dizgedeki her sözcüğün ilk harfini büyük harf yapar
  • mb_strtoupper() - Dizgeyi büyük harfli yapar


Belli karakterleri veya alt dizgeleri değiştirir

  • « strtoupper
  • substr_compare »
  • PHP Manual
  • Dizge İşlevleri
  • Belli karakterleri veya alt dizgeleri değiştirir

strtr

(PHP 4, PHP 5, PHP 7, PHP 8)

strtr — Belli karakterleri veya alt dizgeleri değiştirir

Açıklama

strtr(string $dizge, string $eski, string $yeni): string

Alt dizgelerle çalışan sözdizimi:

strtr(string $dizge, array $eski_yeni): string

Üç bağımsız değişken verilirse, bu işlev, dizge içinde rastladığı eski dizgesindeki her bir (tek baytlık) karakteri, yeni dizgesindeki karşılık gelen karakterle değiştirerek elde edilen dizgeyi döndürür. Yani, eski ve yeni dizgelerinde $n belli bir konumu gösterdiğinde dizge içinde rastlanılan her $eski[$n] yerine $yeni[$n] konarak elde edilen dizge döndürülür.

Eğer eski ve yeni dizgeleri farklı uzunluktaysa dizgelerden uzun olanının fazla baytları yok sayılır. Dönüş değerinin uzunluğu ile dizge uzunluğu aynı olacaktır.

İki bağımsız değişken verilirse, ikincisi array('eski' => 'yeni', ...) biçeminde bir dizi olmalıdır. Dönüş değeri, dizi anahtarlarının karşılık gelen değerlerle değiştirildiği bir dizgedir. İlk olarak en uzun anahtarlar denenir. Bir kere değiştirilen metin bir daha değerlendirilmez.

Bu durumda, boş anahtar olmaması koşuluyla anahtarlar ve değerler herhangi bir uzunlukta olabilir; ek olarak, dönüş değerinin uzunluğu dizgeden farklı olabilir. Bununla birlikte, işlev için en verimli durum tüm anahtarların aynı boyutta olduğu durumdur.

Bağımsız Değişkenler

dizge

Karakterleri dönüştürülecek dizge.

eski

Yerine yenisi konacak baytlar.

yeni

Eskisinin yerine konacak baytlar.

eski_yeni

array('eski' => 'yeni', ...) biçeminde alt dizge çiftlerinden oluşan bir dizi.

eski_yeni dizisi anahtarı boş dizge ("") olan bir çift içeriyorsa, bu çift yoksayılır. PHP 8.0.0 ve sonrasında böyle bir durumda bir E_WARNING çıktılanır.

Dönen Değerler

Dönüştürülen dizgeyle döner.

Örnekler

Örnek 1 - strtr() örneği

<?php
// Burada, strtr() bayt bayt dönüşüm yapar
// Dolayısıyla burada tek baytlı kodlama (ISO-8859-*) kullanıldığı varsayılıyor
$addr = strtr($addr, "äåö", "aao");
?>

Aşağıdaki örnekte strtr() işlevi iki bağımsız değişken ile çağrılmaktadır. Değiştirme tercihlerine dikkat: "h" daha uzun bir eşleşmenin parçası olduğundan ve bir kere değişen metin tekrar değerlendirilmediğinden işlem görmemiştir.

Örnek 2 - İki bağımsız değişkenli strtr() örneği

<?php
$trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

Yukarıdaki örneğin çıktısı:

hello all, I said hi

Aşağıdaki iki davranış biçimi büyük ölçüde farklıdır. Üç bağımsız değişkenli strtr() baytları değiştirirken, ikili olanı alt dizgeleri değiştiriyor.

Örnek 3 - strtr() davranış karşılaştırması

<?php
echo strtr("baab", "ab", "01"),"\n";

$trans = array("ab" => "01");
echo strtr("baab", $trans);
?>

Yukarıdaki örneğin çıktısı:

1001
ba01

Ayrıca Bakınız

  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
  • preg_replace() - Düzenli ifadeye göre dizgede değişiklik yapar


İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır

  • « strtr
  • substr_count »
  • PHP Manual
  • Dizge İşlevleri
  • İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır

substr_compare

(PHP 5, PHP 7, PHP 8)

substr_compare — İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır

Açıklama

substr_compare(
string $samanlık,
string $iğne,
int $başlangıç,
?int $uzunluk = null,
bool $büyüklük_duyarsız = false
): int

substr_compare() işlevi samanlık dizgesinin başlangıç'tan itibaren uzunluk karakterlik parçasını iğne dizgesiyle karşılaştırır.

Bağımsız Değişkenler

samanlık

Karşılaştırılacak ana dizge.

iğne

Karşılaştırılacak diğer dizge.

başlangıç

Karşılaştırmanın başlayacağı konum. Negatifse, saymaya dizgenin sonundan itibaren başlanır.

uzunluk

Karşılaştırılacak uzunluk. iğne uzunluğu ile (samanlık - başlangıç) uzunluğu karşılaştırıldığında büyük olan uzunluk öntanımlıdır.

büyüklük_duyarsız

büyüklük_duyarsız true ise, karşılaştırmada harf büyüklükleri dikkade alınmaz.

Dönen Değerler

Eğer samanlık dizgesinin başlangıç konumundan başlayan parçası iğne dizgesinden küçükse -1, büyükse 1, ikisi eşitse 0 döner. Eğer uzunluk belirtilmişse ve samanlık dizgesinin uzunluğundan büyükse (PHP 7.2.18 ve 7.3.5 öncesinde eşitse) substr_compare() bir uyarı basar ve false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlev artık -1 veya 1 döndürüyor, evvelce pozitif vaya negatif bir sayı döndürürdü.
8.0.0 | uzunluk artık null olabiliyor.
7.2.18, 7.3.5 | başlangıç ile samanlık uzunlukları artık eşit olabiliyor.

Örnekler

Örnek 1 - substr_compare() örneği

<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // uyarı
?>

Ayrıca Bakınız

  • strncmp() - İlk n karakteri ikil olarak karşılaştırır


Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur

  • « substr_compare
  • substr_replace »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur

substr_count

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_count — Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur

Açıklama

substr_count(
string $samanlık,
string $iğne,
int $başlangıç = 0,
?int $uzunluk = null
): int

substr_count() işlevi samanlık dizgesi içindeki iğne alt dizgelerinin sayısını döndürür. iğne bağımsız değişkeni harf büyüklüğüne duyarlıdır.

Bilginize:

Bu işlev, birbirinin üstüne binmiş alt dizgeleri saymaz. Örnek için aşağıya bakın!

Bağımsız Değişkenler

samanlık

Araştırılacak dizge.

iğne

Aranacak dizge.

başlangıç

Saymaya başlanacak konum. Negatifse saymaya dizgenin sonundan başlanır.

uzunluk

Dizgenin ne kadarlık parçasında arama yapılacağı burada belirtilir. Eğer başlangıç artı uzunluk, samanlık uzunluğundan büyük ise bir uyarı oluşur. uzunluk negatifse samanlık dizgesinin sonundan başlar.

Dönen Değerler

İşlev bir tamsayı döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.
7.1.0 | Negatif başlangıç ve uzunluk desteği eklendi. uzunluk ayrıca, artık 0 olabiliyor.

Örnekler

Örnek 1 - substr_count() örneği

<?php
$text = 'This is a test';
echo strlen($text); // 14

echo substr_count($text, 'is'); // 2

// Arama 's is a test' parçasında yapılır ve 1 basılır
echo substr_count($text, 'is', 3);

// Arama 's i' parçasında yapılır ve 0 basılır
echo substr_count($text, 'is', 3, 3);

// 5+10 > 14 olduğundan bir uyarı verilir
echo substr_count($text, 'is', 5, 10);

// üst üste binen alt dizgeleri saymadığından sadece 1 basılır
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>

Ayrıca Bakınız

  • count_chars() - Bir dizgedeki karakterler hakkında bilgi döndürür
  • strpos() - Bir alt dizgenin ilkinin konumunu bulur
  • substr() - Dizgenin bir kısmını döndürür
  • strstr() - İlk alt dizgeyi bulur


Bir dizgenin belli bir bölümünü değiştirir

  • « substr_count
  • substr »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgenin belli bir bölümünü değiştirir

substr_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_replace — Bir dizgenin belli bir bölümünü değiştirir

Açıklama

substr_replace(
array|string $dizge,
array|string $yenisi,
array|int $başlangıç,
array|int|null $uzunluk = null
): string|array

substr_replace() işlevi dizge dizgesinin başlangıç (seçimlik) konumundan itibaren uzunluk karakterlik parçasının yerine yenisi dizgesini yerleştirir.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Bir dizgeler dizisi belirtilmesi durumunda değiştirme işlemi her elemana uygulanır. Bu durumda, her elemana karşı düşen yenisi, başlangıç ve uzunluk değerlerini içeren diziler de belirtilebilir.

yenisi

Değiştirilecek kısma yerleştirilecek dizge.

başlangıç

Eğer başlangıç negatif değilse, yer değiştirme işlemi dizge dizgesinin baştan başlangıç'ıncı karakterinden başlar.

Eğer başlangıç negatifse, yer değiştirme işlemi dizge dizgesinin sondan başlangıç'ıncı karakterinden başlar.

uzunluk

Belirtilmiş ve pozitifse, dizge dizgesinin değiştirilecek parçasının uzunluğudur; negatif ise, dizge dizgesinin sonundan itibaren yerleştirmenin durdurulacağı karakter sayısıdır. Belirtilmezse, strlen(dizge) öntanımlıdır, yani yerleştirme işlemi dizgenin sonunda biter. uzunluk sıfırsa, yenisi dizgesi dizge dizgesine başlangıç (seçimlik) konumundan itibaren yerleştirir.

Dönen Değerler

Elde edilen dizge döner. dizge bir dizi ise bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor.

Örnekler

Örnek 1 - substr_replace() örnekleri

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* Bu iki örnek $var dizgesinin tamamını 'bob' yapar. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* 'bob' $var dizgesine dizgenin başından itibaren yerleştirilir. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* Bu ikisi $var içindeki 'MNRPQR' yerine 'bob' yerleştirir. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* $var dizgesinin 'MNRPQR' parçasını siler. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>

Örnek 2 - Çok sayıda dizgeyi bir kerede değiştirmek için substr_replace() kullanımı

<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');

// Basit durum: her dizgede XXX yerine YYY yerleştir.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";

// Her değiştirmenin farklı olduğu daha karmaşık durum
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";

// Her defasında farklı sayıda karakteri değiştirmek.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>

Yukarıdaki örneğin çıktısı:

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
  • substr() - Dizgenin bir kısmını döndürür
  • Dizge erişimi ve karaktere göre değişiklik


Dizgenin bir kısmını döndürür

  • « substr_replace
  • trim »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin bir kısmını döndürür

substr

(PHP 4, PHP 5, PHP 7, PHP 8)

substr — Dizgenin bir kısmını döndürür

Açıklama

substr(string $dizge, int $başlangıç, ?int $uzunluk = null): string

dizge'nin başlangıç'tan itibaren uzunluk uzunluğunda parçasını döndürür.

Bağımsız Değişkenler

dizge

Girilen dizge.

başlangıç

Eğer başlangıç bağımsız değişkeni negatif değilse geri dönen dizge değeri, dizge'nin 0'dan itibaren başlangıç'ıncı konumundan başlar. Mesela, 'abcdef' dizgesinde, 0'ıncı konumdaki karakter 'a', 2'inci konumdaki karakter 'c'dir.

Eğer başlangıç bağımsız değişkeni negatif ise, dönen dizge değeri dizge'nin sonundan başlangıç karakter önce başlar.

Eğer dizge uzunluğu başlangıç dizgesinin uzunluğundan küçükse işlev boş dizge döndürür.

Örnek 1 - Negatif başlangıç kullanımı

<?php
$rest = substr("abcdef", -1); // "f" döndürür
$rest = substr("abcdef", -2); // "ef" döndürür
$rest = substr("abcdef", -3, 1); // "d" döndürür
?>

uzunluk

Eğer uzunluk bağımsız değişkeni verildiyse ve pozitifse dönen dizge, dizge'nin uzunluğuna göre başlangıç'tan itibaren uzunluk'ta belirtilen karakter sayısı kadar karakter içerir.

Eğer uzunluk bağımsız değişkeni verildiyse ve negatifse dizge'nin sonundan belirtilen kadar karakter çıkartılır (başlangıç negatif ise önce başlagıç konumu hesaplanır). Eğer başlangıç bağımsız değişkeni negatif uzunlukla çıkarılan parçanın içindeki bir yeri işaret ediyorsa boş dizge döner.

uzunluk belirtilmiş ve 0 ise boş bir dizge döner.

uzunluk atlanırsa veya null ise, başlangıç'tan başlayarak dizenin sonuna kadar olan alt dizge döndürülür.

Örnek 2 - Negatif uzunluk kullanımı

<?php
$rest = substr("abcdef", 0, -1); // "abcde" döndürür
$rest = substr("abcdef", 2, -1); // "cde" döndürür
$rest = substr("abcdef", 4, -4); // "" döndürür; PHP 8.0.0 öncesinde false dönerdi
$rest = substr("abcdef", -3, -1); // "de" döndürür
?>

Dönen Değerler

dizge'nin çıkarılan kısmı ya da boş dizge döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık null olabiliyor. uzunluk bağımsız değişkenine açıkça null atanmışsa dizgenin sonunda biten bir alt dizge döner, evvelce bu durumda boş dizge dönerdi.
8.0.0 | İşlev evvelce false döndürdüğü durumda şimdi boş bir dizge döndürüyor.

Örnekler

Örnek 3 - Basit substr() kullanımı

<?php
echo substr('abcdef', 1); // bcdef
echo substr("abcdef", 1, null); // bcdef; PHP 8.0.0 öncesinde, boş dizge dönerdi
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f

// Dizge içerisindeki tek bir karaktere ulaşmak için
// "köşeli ayraçlar" da kullanılabilir.
$dizge = 'abcdef';
echo $dizge[0]; // a
echo $dizge[3]; // d
echo $dizge[strlen($dizge)-1]; // f

?>

Örnek 4 - substr() tür dönüşüm davranışı

<?php
class apple {
public function __toString() {
return "green";
}
}

echo "1) ".var_export(substr("pear", 0, 2), true).PHP_EOL;
echo "2) ".var_export(substr(54321, 0, 2), true).PHP_EOL;
echo "3) ".var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo "4) ".var_export(substr(true, 0, 1), true).PHP_EOL;
echo "5) ".var_export(substr(false, 0, 1), true).PHP_EOL;
echo "6) ".var_export(substr("", 0, 1), true).PHP_EOL;
echo "7) ".var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

1) 'pe'
2) '54'
3) 'gr'
4) '1'
5) ''
6) ''
7) '1200'

Örnek 5 - Geçersiz karakter aralığı

Geçersiz bir karakter aralığı istenmişse, substr() PHP 8.0.0 ve sonrasına boş dizge döndürüyor, evvelce false döndürürdü.

<?php
var_dump(substr('a', 2));
?>

Yukarıdaki örneğin PHP 8 çıktısı:

string(0) ""

Yukarıdaki örneğin PHP 7 çıktısı:

bool(false)

Ayrıca Bakınız

  • strrchr() - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
  • substr_replace() - Bir dizgenin belli bir bölümünü değiştirir
  • preg_match() - Bir düzenli ifadeyi eşleştirmeye çalışır
  • trim() - Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • mb_substr() - Dizgenin bir alt dizgesini alır
  • wordwrap() - Bir dizgeyi belli bir uzunlukta katlar
  • Dizge erişimi ve karaktere göre değişiklik


Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar

  • « substr
  • ucfirst »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar

trim

(PHP 4, PHP 5, PHP 7, PHP 8)

trim — Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar

Açıklama

trim(string $dizge, string $karakterler = " \n\r\t\v\x00"): string

Bu işlev dizge'nin başındaki ve sonundaki boşlukları budar. İkinci bağımsız değişken olmaksızın trim() sadece aşağıdaki karakterleri budayacaktır:

  • " " (ASCII 32 (0x20)), sıradan boşluk.
  • "\t" (ASCII 9 (0x09)), sekme.
  • "\n" (ASCII 10 (0x0A)), satırsonu.
  • "\r" (ASCII 13 (0x0D)), satırbaşı.
  • "\0" (ASCII 0 (0x00)), NUL-bayt.
  • "\v" (ASCII 11 (0x0B)), dikey sekme.

Bağımsız Değişkenler

dizge

Budanacak dizge.

karakterler

Seçimlik olarak, karakterler bağımsız değişkeni kullanılarak budanacak karakterler belirlenebilir. Basitçe budamak istediğiniz tüm karakterleri belirtin. Bir karakter aralığını .. kullanarak belirtebilirsiniz.

Dönen Değerler

Budanmış dizge.

Örnekler

Örnek 1 - trim() işlevinin kullanımı

<?php

$metin = "\t\tBir kaç kelam :) ... ";
$ikil = "\x09Örnek dizge\x0A";
$selam = "Merhaba Dünya";
var_dump($metin, $ikil, $selam);

print "\n";

$kırpık = trim($metin);
var_dump($kırpık);

$kırpık = trim($metin, " \t.");
var_dump($kırpık);

$kırpık = trim($selam, "aerMy");
var_dump($kırpık);

// $ikil'in başındaki ve sonundaki ASCII denetim karakterlerini budar
// (0'dan 31'e kadar, 0 ve 31 dahil)
$temiz = trim($ikil, "\x00..\x1F");
var_dump($temiz);

?>

Yukarıdaki örneğin çıktısı:

string(25) "            Bir kaç kelam :) ...  "
string(14) "    Örnek dizge
"
string(14) "Merhaba Dünya"

string(21) "Bir kaç kelam :) ..."
string(17) "Bir kaç kelam :)"
string(9) "haba Dün"
string(12) "Örnek dizge"

Örnek 2 - trim() işlevini dizi değerlerine uygulama

<?php
function değeri_buda(&$değer)
{
$değer = trim($değer);
}

$meyve = array('elma','muz ', ' muşmula ');
var_dump($meyve);

array_walk($meyve, 'değeri_buda');
var_dump($meyve);

?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(4) "elma"
  [1]=>
  string(4) "muz "
  [2]=>
  string(10) " muşmula "
}
array(3) {
  [0]=>
  string(4) "elma"
  [1]=>
  string(3) "muz"
  [2]=>
  string(8) "muşmula"
}

Notlar

Bilginize: Olası sorun: Aradaki karakterlerin kaldırılması

trim() karakterleri bir dizenin başından ve sonundan kırptığı için, aradaki karakterlerin kırpılması (veya kırpılmaması) kafa karıştırıcı olabilir. trim('abc', 'bad') hem 'a' hem de 'b'yi kırpar, çünkü 'a'yı kırpar, böylece 'b' de kırpılmak üzere başa taşınmış olur. Yani, bu "çalışıyor" da trim('abc', 'b') "neden çalışmıyor"un açıklaması budur.

Ayrıca Bakınız

  • ltrim() - Dizgenin başındaki boşlukları (veya diğer karakterleri) budar
  • rtrim() - Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar
  • str_replace() - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir


Dizgenin ilk karakterini büyük harfe çevirir

  • « trim
  • ucwords »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin ilk karakterini büyük harfe çevirir

ucfirst

(PHP 4, PHP 5, PHP 7, PHP 8)

ucfirst — Dizgenin ilk karakterini büyük harfe çevirir

Açıklama

ucfirst(string $dizge): string

Eğer dizge'nin ilk karakteri "a" (0x61) ile "z" (0x7a) arasında bir ASCII karakter ise (başka bir deyişle ASCII küçük harf ise) büyük harfe çevirerek dizgeyi döndürür.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

Dönen Değerler

Sonuçlanan dizgeyi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere uygulandığından yerelin setlocale() ile atanması artık gerekmiyor.

Örnekler

Örnek 1 - ucfirst() örneği

<?php
$foo = 'merhaba!';
$foo = ucfirst($foo); // Merhaba!

$bar = 'MERHABA!';
$bar = ucfirst($bar); // MERHABA!
$bar = ucfirst(strtolower($bar)); // Merhaba!
?>

Ayrıca Bakınız

  • lcfirst() - Bir dizgenin ilk karakterini küçük harf yapar
  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir
  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir
  • ucwords() - Dizgedeki her sözcüğün ilk harfini büyük harf yapar
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular


Dizgedeki her sözcüğün ilk harfini büyük harf yapar

  • « ucfirst
  • utf8_decode »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgedeki her sözcüğün ilk harfini büyük harf yapar

ucwords

(PHP 4, PHP 5, PHP 7, PHP 8)

ucwords — Dizgedeki her sözcüğün ilk harfini büyük harf yapar

Açıklama

ucwords(string $dizge, string $ayraçlar = " \t\r\n\f\v"): string

Eğer dizge'nin her sözcüğünün ilk karakterini "a" (0x61) ile "z" (0x7a) arasında bir ASCII karakter ise (başka bir deyişle ASCII küçük harf ise) büyük harfe çevirerek dizgeyi döndürür.

Bir sözcük, ayraçlar karakterlerinden sonra gelen ve boşluk karakterleri içermeyen bir dizge olarak tanımlanır (Boşluk karakterleri: boşluk, yatay sekme, satırbaşı, satırsonu, sayfa ileri ve düşey sekme).

Benzer dönüşümün çok baytlı dizgelerde yapılması gerekirse mb_convert_case() işlevi MB_CASE_TITLE sabiti ile kullanılabilir. mode.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

ayraçlar

Seçimlik ayraçlar sözcük ayırma karakterleri içerir.

Dönen Değerler

Dönüştürülen dizgeyi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Büyük/küçük harf dönüşümü yalnızca ASCII karakterlere uygulandığından yerelin setlocale() ile atanması artık gerekmiyor.

Örnekler

Örnek 1 - ucwords() örneği

<?php
$foo = 'hello world!';
$foo = ucwords($foo); // Hello World!

$bar = 'HELLO WORLD!';
$bar = ucwords($bar); // HELLO WORLD!
$bar = ucwords(strtolower($bar)); // Hello World!
?>

Örnek 2 - Özel ayraçlı ucwords() örneği

<?php
$foo = 'hello|world!';
$bar = ucwords($foo); // Hello|world!

$baz = ucwords($foo, "|"); // Hello|World!
?>

Örnek 3 - Ek ayraçlı ucwords() örneği

<?php
$foo = "mike o'hara";
$bar = ucwords($foo); // Mike O'hara

$baz = ucwords($foo, " \t\r\n\f\v'"); // Mike O'Hara
?>

Notlar

Bilginize: Bu işlev ikil dosyalarla çalışırken dosya içeriğini değiştirmez.

Ayrıca Bakınız

  • strtoupper() - Bir dizgenin harflerini büyük harfe çevirir
  • strtolower() - Bir dizgenin harflerini küçük harfe çevirir
  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular


Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür

  • « ucwords
  • utf8_encode »
  • PHP Manual
  • Dizge İşlevleri
  • Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür

utf8_decode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_decode — Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür

Uyarı

Bu işlevin kullanımı PHP 8.2.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

utf8_decode(string $dizge): string

Belirtilen dizgenin karakter kodlamasını UTF-8'den ISO-8859-1'e dönüştürür. Geçersiz UTF-8 karakterler ve ISO-8859-1 kodlamasında mevcut olmayan (U+00FF üstü) karakterlerin yerine ? imi konur.

Bilginize:

ISO-8859-1 karakter kodlamasını kullanıyor olarak imlenmiş birçok sayfa aslında benzeri olan Windows-1252 kodlamasını kullanır ve tarayıcılar ISO-8859-1 kodlu sayfaları Windows-1252 olarak yorumlar. Windows-1252, belirli ISO-8859-1 kontrol karakterleri yerine Euro imi (€) ve kıvrımlı tırnaklar (" ") gibi ek yazdırılabilir karakterlere sahiptir. Bu işlev, bu tür Windows-1252 karakterlerini doğru şekilde dönüştürmeyecektir. Windows-1252 dönüştürme gerekiyorsa farklı bir işlev kullanılmalıdır.

Bağımsız Değişkenler

dizge

UTF-8 ile kodlanmış bir dizge.

Dönen Değerler

Belirtilen dizgenin ISO-8859-1 gösterimini döndürür.

Örnekler

Örnek 1 - Temel örnekler

<?php
// 'Zoë' dizgesini UTF-8'den ISO 8859-1'e çevirir
$utf8_string = "\x5A\x6F\xC3\xAB";
$iso8859_1_string = utf8_decode($utf8_string);
echo bin2hex($iso8859_1_string), "\n";

// Geçersiz UTF-8 dizilimler yerine '?' konur
$invalid_utf8_string = "\xC3";
$iso8859_1_string = utf8_decode($invalid_utf8_string);
var_dump($iso8859_1_string);

// ISO 8859-1'de bulunmayan '€' (avro) gibi
// karakterlerin yerine '?' imi konur.
$utf8_string = "\xE2\x82\xAC";
$iso8859_1_string = utf8_decode($utf8_string);
var_dump($iso8859_1_string);
?>

Yukarıdaki örneğin çıktısı:

5a6feb
string(1) "?"
string(1) "?"

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlevin kullanımı artık önerilmiyor.
7.2.0 | Bu işlev XML eklentisinden PHP çekirdeğine taşınmıştır. Önceki sürümlerde sadece XML eklentisi kurulduğunda kullanılabiliyordu.

Notlar

Bilginize: Kullanımdan kaldırma ve seçenekler

Bu işlevin PHP 8.2.0 ve sonrasında kullanımı önerilmiyor ve gelecek sürüede kullanımdan kaldırılacaktır. Mevcut kullanımlar gözden geçirilmeli ve uygun seçeneklerle değiştirilmelidir.

Benzer işlevsellik, ISO-8859-1 ve diğer birçok karakter kodlamasını destekleyen mb_convert_encoding() ile elde edilebilir.

<?php
$utf8_string = "\xC3\xAB"; // UTF-8 'ë' (iki noktalı e)
$iso8859_1_string = mb_convert_encoding($utf8_string, 'ISO-8859-1', 'UTF-8');
echo bin2hex($iso8859_1_string), "\n";

$utf8_string = "\xCE\xBB"; // UTF-8 '?' (Yunanca küçük harfli lambda)
$iso8859_7_string = mb_convert_encoding($utf8_string, 'ISO-8859-7', 'UTF-8');
echo bin2hex($iso8859_7_string), "\n";

$utf8_string = "\xE2\x82\xAC"; // UTF-8 '€' (Euro imi) (ISO-8859-1'de yok)
$windows_1252_string = mb_convert_encoding($utf8_string, 'Windows-1252', 'UTF-8');
echo bin2hex($windows_1252_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

eb
eb
80

Kurulu eklentilere bağlı olarak mevcut olabilecek diğer seçenekler şunlardır: UConverter::transcode() ve iconv().

Aşağıdakilerin tümü aynı sonucu verir:

<?php
$utf8_string = "\x5A\x6F\xC3\xAB"; // UTF-8 'Zoë'
$iso8859_1_string = utf8_decode($utf8_string);
echo bin2hex($iso8859_1_string), "\n";

$iso8859_1_string = mb_convert_encoding($utf8_string, 'ISO-8859-1', 'UTF-8');
echo bin2hex($iso8859_1_string), "\n";

$iso8859_1_string = iconv('UTF-8', 'ISO-8859-1', $utf8_string);
echo bin2hex($iso8859_1_string), "\n";

$iso8859_1_string = UConverter::transcode($utf8_string, 'ISO-8859-1', 'UTF8');
echo bin2hex($iso8859_1_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

5a6feb
5a6feb
5a6feb
5a6feb
UConverter::transcode() yöntemine 'to_subst' seçeneği olarak '?' belirtilmesi, geçersiz olan veya ISO 8859-1 ile gösterilemeyen diziler için utf8_decode() ile aynı sonucu verir.
<?php
$utf8_string = "\xE2\x82\xAC"; // € (Euro imi) ISO 8859-1'de yoktur
$iso8859_1_string = UConverter::transcode(
$utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
var_dump($iso8859_1_string);
?>

Yukarıdaki örneğin çıktısı:

sring(1) "?"

Ayrıca Bakınız

  • utf8_encode() - ISO-8859-1 dizgeyi UTF-8'e dönüştürür
  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • UConverter::transcode() - Convert a string from one character encoding to another
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


ISO-8859-1 dizgeyi UTF-8'e dönüştürür

  • « utf8_decode
  • vfprintf »
  • PHP Manual
  • Dizge İşlevleri
  • ISO-8859-1 dizgeyi UTF-8'e dönüştürür

utf8_encode

(PHP 4, PHP 5, PHP 7, PHP 8)

utf8_encode — ISO-8859-1 dizgeyi UTF-8'e dönüştürür

Uyarı

Bu işlevin kullanımı PHP 8.2.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

utf8_encode(string $dizge): string

Belirtilen ISO-8859-1 dizgeyi UTF-8'e dönüştürür.

Bilginize:

Bu işlev, belirtilen dizgenin geçerli kodlamasını tahmin etmeye çalışmaz, bunun ISO-8859-1 ("Latin 1" olarak da bilinir) olarak kodlandığını varsayar ve UTF-8'e dönüştürür. Her bayt dizisi geçerli bir ISO-8859-1 dizesi olduğundan, bu hiçbir zaman bir hataya yol açmaz, ancak farklı bir kodlama istendiğinde yararlı bir dizgeyle sonuçlanmaz.

ISO-8859-1 karakter kodlamasını kullanıyor olarak imlenmiş birçok sayfa aslında benzeri olan Windows-1252 kodlamasını kullanır ve tarayıcılar ISO-8859-1 kodlu sayfaları Windows-1252 olarak yorumlar. Windows-1252, belirli ISO-8859-1 kontrol karakterleri yerine Euro imi (€) ve kıvrımlı tırnaklar (" ") gibi ek yazdırılabilir karakterlere sahiptir. Bu işlev, bu tür Windows-1252 karakterlerini doğru şekilde dönüştürmeyecektir. Windows-1252 dönüştürme gerekiyorsa farklı bir işlev kullanılmalıdır.

Bağımsız Değişkenler

dizge

ISO-8859-1 ile kodlanmış bir dizge.

Dönen Değerler

Belirtilen dizge dizgesinin UTF-8 gösterimini döndürür.

Örnekler

Örnek 1 - Temel örnek

<?php
// 'Zoë' dizgesini ISO 8859-1'den UTF-8'e dönüştürür
$iso8859_1_string = "\x5A\x6F\xEB";
$utf8_string = utf8_encode($iso8859_1_string);
echo bin2hex($utf8_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

5a6fc3ab

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Bu işlevin kullanımı artık önerilmiyor.
7.2.0 | Bu işlev XML eklentisinden PHP çekirdeğine taşınmıştır. Önceki sürümlerde sadece XML eklentisi kurulduğunda kullanılabiliyordu.

Notlar

Bilginize: Kullanımdan kaldırma ve seçenekler

Bu işlevin PHP 8.2.0 ve sonrasında kullanımı önerilmiyor ve gelecek sürüede kullanımdan kaldırılacaktır. Mevcut kullanımlar gözden geçirilmeli ve uygun seçeneklerle değiştirilmelidir.

Benzer işlevsellik, ISO-8859-1 ve diğer birçok karakter kodlamasını destekleyen mb_convert_encoding() ile elde edilebilir.

<?php
$iso8859_1_string = "\xEB"; // ISO-8859-1 'ë' (iki noktalı e)
$utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
echo bin2hex($utf8_string), "\n";

$iso8859_7_string = "\xEB"; // ISO-8859-7'de aynı dizge: '?' (Yunanca küçük harfli lambda)
$utf8_string = mb_convert_encoding($iso8859_7_string, 'UTF-8', 'ISO-8859-7');
echo bin2hex($utf8_string), "\n";

$windows_1252_string = "\x80"; // '€' (Euro imi) Windows-1252'de var, ISO-8859-1'de yok
$utf8_string = mb_convert_encoding($windows_1252_string, 'UTF-8', 'Windows-1252');
echo bin2hex($utf8_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

c3ab
cebb
e282ac

Kurulu eklentilere bağlı olarak mevcut olabilecek diğer seçenekler şunlardır: UConverter::transcode() ve iconv().

Aşağıdakilerin tümü aynı sonucu verir:

<?php
$iso8859_1_string = "\x5A\x6F\xEB"; // ISO-8859-1 'Zoë'

$utf8_string = utf8_encode($iso8859_1_string);
echo bin2hex($utf8_string), "\n";

$utf8_string = mb_convert_encoding($iso8859_1_string, 'UTF-8', 'ISO-8859-1');
echo bin2hex($utf8_string), "\n";

$utf8_string = UConverter::transcode($iso8859_1_string, 'UTF8', 'ISO-8859-1');
echo bin2hex($utf8_string), "\n";

$utf8_string = iconv('ISO-8859-1', 'UTF-8', $iso8859_1_string);
echo bin2hex($utf8_string), "\n";
?>

Yukarıdaki örneğin çıktısı:

5a6fc3ab
5a6fc3ab
5a6fc3ab
5a6fc3ab

Ayrıca Bakınız

  • utf8_decode() - Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür
  • mb_convert_encoding() - Karakter kodlaması dönüşümü yapar
  • UConverter::transcode() - Convert a string from one character encoding to another
  • iconv() - Dizgenin karakter kodlamasını dönüştürür


Biçemli dizgeyi bir akıma yazar

  • « utf8_encode
  • vprintf »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli dizgeyi bir akıma yazar

vfprintf

(PHP 5, PHP 7, PHP 8)

vfprintf — Biçemli dizgeyi bir akıma yazar

Açıklama

vfprintf(resource $dt, string $biçem, array $değerler): int

değerler dizisindeki değerler biçem dizgesine göre değerlendirilerek, oluşturulan dizge tanıtıcısı dt ile belirtilen akıma yazılır.

Değişken sayıda değer yerine bunları bir dizi içinde kabul etmesi dışında fprintf() gibidir.

Bağımsız Değişkenler

dt

Dosya tanıtıcısı.

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

değerler

biçem dizgesine göre değerlendirilecek değerlerden oluşan dizi.

Dönen Değerler

Çıktılanan dizgenin uzunluğu ile döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 vfprintf(): sıfır dolgulu tamsayılar

<?php
if (!($dt = fopen('date.txt', 'w')))
return;

vfprintf($dt, "%04d-%02d-%02d", array($year, $month, $day));
// ISO biçemli tarih date.txt dosyasına yazılır
?>

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vsprintf() - Biçemli bir dizge döndürür
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


Biçemli bir dizge çıktılar

  • « vfprintf
  • vsprintf »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli bir dizge çıktılar

vprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

vprintf — Biçemli bir dizge çıktılar

Açıklama

vprintf(string $biçem, array $değerler): int

değerler dizisindeki değerler biçem dizgesine göre değerlendirilerek, oluşturulan dizgeyi basar.

Değişken sayıda değer yerine bunları bir dizi içinde kabul etmesi dışında printf() gibidir.

Bağımsız Değişkenler

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

değerler

biçem dizgesine göre değerlendirilecek değerlerden oluşan dizi.

Dönen Değerler

Çıktılanan dizgenin uzunluğu ile döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - vprintf(): sıfır dolgulu tamsayılar

<?php
vprintf("%04d-%02d-%02d", explode('-', '1988-8-1'));

Yukarıdaki örneğin çıktısı:

1988-08-01

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vsprintf() - Biçemli bir dizge döndürür
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


Biçemli bir dizge döndürür

  • « vprintf
  • wordwrap »
  • PHP Manual
  • Dizge İşlevleri
  • Biçemli bir dizge döndürür

vsprintf

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

vsprintf — Biçemli bir dizge döndürür

Açıklama

vsprintf(string $biçem, array $değerler): string

Değişken sayıda değer yerine bunları bir dizi içinde kabul etmesi dışında sprintf() gibidir.

Bağımsız Değişkenler

biçem

Biçem dizgesi sıfır veya daha fazla yönergeden oluşur: doğrudan sonuca kopyalanmış sıradan karakterler (% hariç) ve dönüşüm belirtimleri, her biri kendi bağımsız değişkeninin getirilmesiyle sonuçlanır.

Bir dönüşüm belirtiminin sözdizimi: %[degnum$][seçenekler][genişlik][.hassasiyet]belirteç.

degnum

Ardına bir dolar imi $ konmuş bir tamsayı; dönüşümde ele alınacak bağımsız değişken sayısını belirler.

seçenekler
Seçenek | Açıklama
- Verilen alan genişliğinde sola dayalı; Sağa dayalılık öntanımlıdır.
+ Pozitif sayıların önüne artı imi konur; Öntanımlı olarak sadece negatif sayılara eksi imi konur.
(boşluk) | Sonuca boşluklarla dolgu yapar. Bu öntanımlıdır.
0 | Sayılar sadece soldan sıfırla doldurulur. s belirteçleri ile sağ taraf da sıfırla doldurulur.
'(krk) | Sonuca (krk) karakteri ile dolgu yapılır.

genişlik

Bu dönüşümün kaç karakterle sonuçlanacağının belirtildiği tamsayı veya *. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

hassasiyet

Bir nokta . ve ardından anlamı belirtece bağlı olan seçimlik bir tamsayı veya *:

  • e, E, f ve F belirteçleri için: ondalık noktadan sonra yazdırılacak rakam sayısı (6 öntanımlıdır)
  • g ve G, h ve H belirteçleri için: yazdırılacak maksimum anlamlı basamak sayısı.
  • s belirteci için: dizeye azami karakter sınırı koyan bir kesme noktası gibi davranır.

Bilginize: Nokta, hassasiyet için açık bir değer olmadan belirtilirse, 0 varsayılır. * kullanılmışsa, genişlik, belirtici tarafından biçimlendirilmiş değerden önce ek bir tamsayı değeri olarak sağlanır.

Belirteçler
Belirteç | Açıklama
% Yüzde karakteri. Değer gerekmez.
b | Değer bir tamsayı olarak ele alınır ve ikil bir sayı olarak gösterilir.
c | Değer bir tamsayı olarak ele alınır ve ASCII bir karakter olarak gösterilir.
d | Değer bir tamsayı olarak ele alınır ve (işaretli) bir ondalık sayı olarak gösterilir.
e | Değer bilimsel bir gösterim (örn. 1.2e+2) olarak ele alınır. Hassasiyet belirteci,ondalık noktadan sonraki basamakların sayısını ifade eder.
E | e belirteci gibi, farklı olarak büyük harf kullanır (örn. 1.2E+2).
f | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele uygun).
F | Değer kayan noktalı sayı olarak ele alınır ve kayan noktalı sayı olarak gösterilir (yerele bakmaz) PHP 5.0.3 ve sonrasında kullanılabilir.
g

Genel biçem.

P sıfırdan farklı hassasiyet olsun, hassasiyet verilmemişse 6, hassasiyet sıfır ise 1 olsun. E tarzındaki dönüşümün üssü X ise:

P > X ? -4 ise, dönüşüm f tarzı ve hassasiyet P - (X + 1) olur. Aksi takdirde, dönüşüm e tarzı ve hassasiyet P - 1 olur.

G | g gibidir fakat E ve f kullanır.
h | g gibidir fakat F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
H | ggibidir fakat E ve F kullanır. PHP 8.0.0 ve sonrasında kullanılabilir.
o | Değer bir tamsayı olarak ele alınır ve sekizlik bir sayı olarak gösterilir.
s | Değer bir dizge olarak ele alınır ve gösterilir.
u | Değer bir tamsayı olarak ele alınır ve işaretsiz bir ondalık sayı olarak gösterilir.
x | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (küçük harfli).
X | Değer bir tamsayı olarak ele alınır ve onaltılık bir sayı olarak gösterilir (büyük harfli).

Uyarı

c tür belirteci dolguyu ve genişliği yoksayar.

Uyarı

Karakter başına birden fazla bayt gerektiren karakter kümeleriyle dizge ve genişlik belirteçlerini bir arada kullanmaya çalışmak, beklenmeyen sonuçlar verebilir

Değişkenler, belirteç için uygun bir türe zorlanacaktır:

Tür Yönetimi
Tür | Belirteçler
string | s
int | d, u, c, o, x, X, b
double | e, E, f, F, g, G, h, H

değerler

biçem dizgesine göre değerlendirilecek değerlerden oluşan dizi.

Dönen Değerler

değerler dizisindeki değerler biçem dizgesine göre değerlendirilerek, oluşturulan dizge döner.

Hatalar/İstisnalar

PHP 8.0.0 ve sonrasında, bağımsız değişken sayısı sıfırsa ValueError oluşuyor. PHP 8.0.0 öncesinde bunun yerine bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

PHP 8.0.0 ve sonrasında, gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor. PHP 8.0.0 öncesinde, bir E_WARNING uyarısı verilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık false döndürmüyor.
8.0.0 | Bağımsız değişken sayısı sıfırsa ValueError oluşuyor. Evvelce bunun yerine bir E_WARNING uyarısı verilirdi.
8.0.0 | [width] (genişlik) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | [precision] (hassasiyet) sıfırdan küçükse veya PHP_INT_MAX'tan büyükse bir ValueError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.
8.0.0 | Gereğinden daha az bağımsız değişken verildiğinde bir ArgumentCountError oluşuyor; evvelce bir E_WARNING uyarısı verilirdi.

Örnekler

Örnek 1 - vsprintf() ve sıfır dolgulu tamsayılar

<?php
print vsprintf("%04d-%02d-%02d", explode('-', '1988-8-1'));
?>

Yukarıdaki örneğin çıktısı:

1988-08-01

Ayrıca Bakınız

  • printf() - Biçemli bir dizge çıktılar
  • sprintf() - Biçemli bir dizge döndürür
  • fprintf() - Biçemli dizgeyi bir akıma yazar
  • vprintf() - Biçemli bir dizge çıktılar
  • vfprintf() - Biçemli dizgeyi bir akıma yazar
  • sscanf() - Girdi dizgesini belli bir biçeme göre yorumlar
  • fscanf() - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
  • number_format() - Sayıyı binlik bölümlere ayırır
  • date() - Unix zaman damgasını biçimlendirir


Bir dizgeyi belli bir uzunlukta katlar

  • « vsprintf
  • Sürüm Bilgisi »
  • PHP Manual
  • Dizge İşlevleri
  • Bir dizgeyi belli bir uzunlukta katlar

wordwrap

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

wordwrap — Bir dizgeyi belli bir uzunlukta katlar

Açıklama

wordwrap(
string $dizge,
int $genişlik = 75,
string $satırsonu = "\n",
bool $sözcüğü_kes = false
): string

Belirtilen dizgeyi belirtilen genişlikte belirtilen satırsonu karakterini kullanarak katlar.

Bağımsız Değişkenler

dizge

Girdi dizgesi.

genişlik

Dizgenin katlanacağı karakter sayısı.

satırsonu

Satırın sonuna eklenecek isteğe bağlı satırsonu karakteri.

sözcüğü_kes

sözcüğü_kes true ise, dizge belirtilen genişlikte veya daha önce, satırdaki son sözcüğü kesme pahasına katlanır. (İkinci örneğe bakınız). false belirtilirse, genişlik sözcük genişliğinden küçük olduğunda bile sözcük bütünlüğü korunur.

Dönen Değerler

Belirtilen genişlikte katlanan dizgeyi döndürür.

Örnekler

Örnek 1 - wordwrap() örneği

<?php
$metin = "Dağ başını duman almış, gümüş dere durmaz akar.";
$yenisi = wordwrap($metin, 30, "<br />\n");

echo $yenisi;
?>

Yukarıdaki örneğin çıktısı:

Dağ başını duman almış,<br />
gümüş dere durmaz akar.

Örnek 2 - Kesmeli wordwrap() örneği

<?php
$metin = "Çoooooooooooook uzun bir sözcük.";
$yenisi = wordwrap($metin, 10, "\n", true);

echo "$yenisi\n";
?>

Yukarıdaki örneğin çıktısı:

Çoooooooo
oooook
uzun bir
sözcük.

Örnek 3 - wordwrap() örneği

<?php
$text = "A very long woooooooooooooooooord. and something";
$newtext = wordwrap($text, 8, "\n", false);

echo "$newtext\n";
?>

Yukarıdaki örneğin çıktısı:

A very
long
woooooooooooooooooord.
and
something

Ayrıca Bakınız

  • nl2br() - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
  • chunk_split() - Bir dizgeyi daha küçük parçalara ayırır


  • « wordwrap
  • Değişkenler ve Veri Türleriyle İlgili Eklentiler »
  • PHP Manual
  • Strings
  • Sürüm Bilgisi

Sürüm Bilgisi

Bu eklentinin sınıf/yöntem/işlevlerinde aşağıdaki değişiklikler yapıldı.

Sürüm İşlev Açıklama


Değişkenler ve Veri Türleriyle İlgili Eklentiler

  • Array — Diziler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Dizilerde Sıralama
    • Dizi İşlevleri
  • Classobj — Sınıf ve Nesne Bilgileri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Sınıf ve Nesne İşlevleri
  • Ctype — Karakter Türü Sınaması
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Karakter Türü Sınama İşlevleri
  • Filter — Data Filtering
    • Giriş
    • Yapılandırma/Kurulum
    • Types of filters
    • Öntanımlı Sabitler
    • Örnekler
    • Filter İşlevleri
  • Funchand — İşlevlerle İlgili İşlemler
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • İşlevlerle İlgili İşlevler
  • Quickhash
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashIntStringHash — The QuickHashIntStringHash class
  • Reflection — Yansıtma
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Yansıtma Sınıflarının Genişletilmesi
    • Reflection — Reflection Sınıfı
    • ReflectionClass — ReflectionClass Sınıfı
    • ReflectionClassConstant — The ReflectionClassConstant sınıfı
    • ReflectionEnum — ReflectionEnum sınıfı
    • ReflectionEnumUnitCase — ReflectionEnumUnitCase sınıfı
    • ReflectionEnumBackedCase — ReflectionEnumBackedCase sınıfı
    • ReflectionZendExtension — ReflectionZendExtension sınıfı
    • ReflectionExtension — ReflectionExtension Sınıfı
    • ReflectionFunction — ReflectionFunction Sınıfı
    • ReflectionFunctionAbstract — ReflectionFunctionAbstract sınıfı
    • ReflectionMethod — ReflectionMethod Sınıfı
    • ReflectionNamedType — ReflectionNamedType sınıfı
    • ReflectionObject — ReflectionObject Sınıfı
    • ReflectionParameter — ReflectionParameter Sınıfı
    • ReflectionProperty — ReflectionProperty Sınıfı
    • ReflectionType — ReflectionType sınıfı
    • ReflectionUnionType — ReflectionUnionType sınıfı
    • ReflectionGenerator — ReflectionGenerator sınıfı
    • ReflectionFiber — ReflectionFiber sınıfı
    • ReflectionIntersectionType — ReflectionIntersectionType sınıfı
    • ReflectionReference — ReflectionReference sınıfı
    • ReflectionAttribute — ReflectionAttribute sınıfı
    • Reflector — Reflector Arayüzü
    • ReflectionException — ReflectionException Sınıfı
  • Var — Değişken İşlemleri
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Değişkenlerle ilgili işlevler


Diziler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Dizilerde Sıralama
  • Dizi İşlevleri
    • array_change_key_case — Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir
    • array_chunk — Bir diziyi belli uzunlukta bölümlere ayırır
    • array_column — Dizinin bir sütunundaki değerlerle döner
    • array_combine — Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
    • array_count_values — Bir dizideki her farklı değerlerle ilgili oluşumları sayar
    • array_diff_assoc — Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
    • array_diff_key — Dizilerin farkını hesaplarken indisleri karşılaştırır
    • array_diff_uassoc — Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
    • array_diff — Dizilerin farkını hesaplar
    • array_fill_keys — Anahtarları belirtilen diziyi değerlerle doldurur
    • array_fill — Bir diziyi değerlerle doldurur
    • array_filter — Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
    • array_flip — Bir dizideki anahtarlarla değerleri yer değiştirir
    • array_intersect_assoc — Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
    • array_intersect_key — Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
    • array_intersect_uassoc — Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_intersect_ukey — Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
    • array_intersect — Dizilerin kesişimini hesaplar
    • array_is_list — Belirtilen dizi bir liste mi diye bakar
    • array_key_exists — Belirtilen anahtar veya indis dizide var mı diye bakar
    • array_key_first — Dizinin ilk anahtarı ile döner
    • array_key_last — Dizinin son anahtarı ile döner
    • array_keys — Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
    • array_map — Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
    • array_merge_recursive — Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur
    • array_merge — Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
    • array_multisort — Çok sayıda diziyi veya çok boyutlu dizileri sıralar
    • array_pad — Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir
    • array_pop — Dizinin sonundaki elemanı diziden çıkartır
    • array_product — Bir dizideki değerlerin çarpımını bulur
    • array_push — Belli sayıda elemanı dizinin sonuna ekler
    • array_rand — Bir diziden belli sayıda rasgele anahtar döndürür
    • array_reduce — Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
    • array_replace_recursive — İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller
    • array_replace — İlk dizinin elemanlarını aktarılan dizilerden günceller
    • array_reverse — Diziyi tersine sıralayıp döndürür
    • array_search — Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür
    • array_shift — Dizini başlangıcından bir eleman çeker
    • array_slice — Bir dizinin belli bir bölümünü döndürür
    • array_splice — Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
    • array_sum — Bir dizideki değerlerin toplamını hesaplar
    • array_udiff_assoc — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_udiff_uassoc — Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_udiff — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
    • array_uintersect_assoc — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_uintersect_uassoc — Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_uintersect — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
    • array_unique — Diziden yinelenen değerleri siler
    • array_unshift — Bir dizinin başlangıcına bir veya daha fazla eleman ekler
    • array_values — Bir dizinin tüm değerlerini döndürür
    • array_walk_recursive — Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
    • array_walk — Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
    • array — Bir dizi oluşturur
    • arsort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
    • asort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar
    • compact — Değişkenlerle değerlerinden bir dizi oluşturur
    • count — Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
    • current — Bir diziden gösterici konumundaki elemanı döndürür
    • each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
    • end — Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
    • extract — Bir dizideki değişkenleri simge tablosuna dahil eder
    • in_array — Bir dizide bir değerin varlığını araştırır
    • key_exists — array_key_exists işlevini takma adıdır
    • key — Bir diziden gösterici konumundaki anahtarı döndürür
    • krsort — Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar
    • ksort — Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar
    • list — Değişkenlere bir dizi gibi atama yapar
    • natcasesort — Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
    • natsort — Bir diziyi "doğal sıralama" algoritmasıyla sıralar
    • next — Dahili dizi göstericisini bir ilerletir
    • pos — current işlevinin takma adıdır
    • prev — Dahili dizi göstericisini bir geriletir
    • range — Belli bir eleman aralığını içeren bir dizi oluşturur
    • reset — Bir dizinin dahili göstericisini ilk elemana konumlar
    • rsort — Bir diziyi büyükten küçüğe doğru sıralar
    • shuffle — Bir diziyi karar
    • sizeof — count işlevinin takma adıdır
    • sort — Bir diziyi küçükten büyüğe doğru sıralar
    • uasort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
    • uksort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
    • usort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar


Giriş

Bu işlevler dizilerle çeşitli yollarla etkileşmek ve dizilerde değişiklik yapmak için kullanılır. Diziler esasen değişken kümeleri üzerinde işlemler yapmak, bunları değiştirmek ve saklamak içindir.

Basit ve çok boyutlu diziler desteklenmektedir. Diziler kullanıcı tarafından oluşturulabileceği gibi işlevler tarafından da oluşturulabilir. Dizileri veritabanı sorgularından toplanan verilerle oluşturmak için kullanılan veritabanlarına özgü işlevlerden başka dizi döndüren çeşitli işlevler vardır.

PHP'de dizilerin nasıl gerçeklendiğiyle ilgili ayrıntılı bilgiler için array bölümüne bakınız. Diziler üzerinde nasıl değişiklik yapıldığından ise Dizi işleçleri bölümünde bahsedilmiştir.


Öntanımlı Sabitler

Aşağıdaki sabitler PHP çekirdeğinin parçası olarak daima kullanılabilir durumdadır.

CASE_LOWER (int)
CASE_LOWER array_change_key_case() işleviyle beraber, dizi anahtarlarının harflerini küçük harflere çevirmek için kullanılır. Bu aynı zamanda array_change_key_case() işlevi için öntanımlı durumdur. PHP 8.2.0 ve sonrasında harf büyüklüğü dönüşümü yalnızca ASCII karakterler için uygulanmaktadır.
CASE_UPPER (int)
CASE_UPPER array_change_key_case() işleviyle beraber, dizi anahtarlarının harflerini büyük harflere çevirmek için kullanılır. PHP 8.2.0 ve sonrasında harf büyüklüğü dönüşümü yalnızca ASCII karakterler için uygulanmaktadır.

Sıralama belirtme seçenekleri:

SORT_ASC (int)
SORT_ASC array_multisort() işleviyle beraber artan düzende sıralama için kullanılır.
SORT_DESC (int)
SORT_DESC array_multisort() işleviyle beraber azalan düzende sıralama için kullanılır.

Sıralama türü seçenekleri: çeşitli sıralama işlevleri tarafından kullanılır

SORT_REGULAR (int)
SORT_REGULAR elemanları normal olarak karşılaştırmak için kullanılınır.
SORT_NUMERIC (int)
SORT_NUMERIC elemanları sayısal olarak karşılaştırmak için kullanılınır.
SORT_STRING (int)
SORT_STRING elemanları dizgesel olarak karşılaştırmak için kullanılınır.
SORT_LOCALE_STRING (int)
SORT_LOCALE_STRING elemanları dizgesel olarak, mevcut yerel sisteme göre karşılaştırmak için kullanılınır.
SORT_NATURAL (int)
natsort() işlevinin yaptığı gibi dizgeleri doğal sıramaya göre karşılaştırmak için kullanılır.
SORT_FLAG_CASE (int)
SORT_FLAG_CASE dizgeleri harf büyüklüğne duyarlı sıralamak için SORT_STRING veya SORT_NATURAL ile bit seviyesinde veyalanarak kullanılabilir. PHP 8.2.0 ve sonrasında harf büyüklüğü dönüşümü yalnızca ASCII karakterler için uygulanmaktadır.

Süzme seçenekleri:

ARRAY_FILTER_USE_KEY (int)
ARRAY_FILTER_USE_KEY seçeneği array_filter() işleviyle kullanılarak her anahtarı belirtilen geri çağırım işlevine ilk bağımsız değişken olarak aktarmakta kullanılır.
ARRAY_FILTER_USE_BOTH (int)
ARRAY_FILTER_USE_BOTH seçeneği array_filter() işlevi ile kullanılarak hem anahtarı hem de değeri belirtilen geri çağırım işlevine aktarmakta kullanılır.

COUNT_NORMAL (int)
COUNT_RECURSIVE (int)
EXTR_OVERWRITE (int)
EXTR_SKIP (int)
EXTR_PREFIX_SAME (int)
EXTR_PREFIX_ALL (int)
EXTR_PREFIX_INVALID (int)
EXTR_PREFIX_IF_EXISTS (int)
EXTR_IF_EXISTS (int)
EXTR_REFS (int)


Dizilerde Sıralama

PHP, dizileri sıralamak için kullanılabilen çeşitli işlevlere sahiptir ve bu belgede bunların kullanımları ele alınmıştır.

Bu işlevler arasındaki başlıca farklar şunlardır:

  • Bazı sıralama işlemleri dizilerin anahtarlarına göre yapılırken bazılarında değerlere göre yapılır: $dizi['anahtar'] = 'değer';
  • Anahtarların sayısal olarak ele alındığı durumda sıralama sonrası anahtarlarla değerleri arasındaki ilişki bozulmuş olabilir de olmayabilir de.
  • Sıralama çeşitleri: abecesel, küçükten büyüğe (artan), büyükten küçüğe (azalan), sayısal, doğal, rasgele, kullanıcı tanımlı
  • Dikkat: Sıralama işlevlerinin hepsi doğrudan dizi üzerinde çalışmazlar; bazıları sonucu başka bir dizide döndürebilir.
  • Bu sıralama işlevlerinin işleme soktuğu üyelerden ikisi birbirine eşitse özgün yerleri değişmez. PHP 8.0.0 öncesinde, bu durumda, sıralama beklenen sonucu vermeyebiliyordu.

Sıralama işlevleri ve özellikleri
İşlev ismi | Sıralama yeri | Anahtar değer ilişkisi | Sıralama kuralı | İlgili işlevler
array_multisort() | değer | string türünde anahtarlar korunur, int türünde anahtarlar korunmaz | ilk dizi veya sıralama seçenekleri | array_walk()
asort() | değer | korunur | küçükten büyüğe (artan) | arsort()
arsort() | değer | korunur | büyükten küçüğe (azalan) | asort()
krsort() | anahtar | korunur | büyükten küçüğe (azalan) | ksort()
ksort() | anahtar | korunur | küçükten büyüğe (artan) | asort()
natcasesort() | değer | korunur | doğal, harf büyüklüğüne duyarsız | natsort()
natsort() | değer | korunur | doğal | natcasesort()
rsort() | değer | korunmaz | büyükten küçüğe (azalan) | sort()
shuffle() | değer | korunmaz | rasgele | array_rand()
sort() | değer | korunmaz | küçükten büyüğe (artan) | rsort()
uasort() | değer | korunur | kullanıcı tanımlı | uksort()
uksort() | anahtar | korunur | kullanıcı tanımlı | uasort()
usort() | değer | korunmaz | kullanıcı tanımlı | uasort()


Dizi İşlevleri

Ayrıca Bakınız

Ayrıca bakınız: is_array(),
explode(), implode(),
preg_split() ve unset().

İçindekiler

  • array_change_key_case — Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir
  • array_chunk — Bir diziyi belli uzunlukta bölümlere ayırır
  • array_column — Dizinin bir sütunundaki değerlerle döner
  • array_combine — Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
  • array_count_values — Bir dizideki her farklı değerlerle ilgili oluşumları sayar
  • array_diff_assoc — Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_key — Dizilerin farkını hesaplarken indisleri karşılaştırır
  • array_diff_uassoc — Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
  • array_diff — Dizilerin farkını hesaplar
  • array_fill_keys — Anahtarları belirtilen diziyi değerlerle doldurur
  • array_fill — Bir diziyi değerlerle doldurur
  • array_filter — Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
  • array_flip — Bir dizideki anahtarlarla değerleri yer değiştirir
  • array_intersect_assoc — Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_key — Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
  • array_intersect_uassoc — Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_ukey — Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
  • array_intersect — Dizilerin kesişimini hesaplar
  • array_is_list — Belirtilen dizi bir liste mi diye bakar
  • array_key_exists — Belirtilen anahtar veya indis dizide var mı diye bakar
  • array_key_first — Dizinin ilk anahtarı ile döner
  • array_key_last — Dizinin son anahtarı ile döner
  • array_keys — Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
  • array_map — Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • array_merge_recursive — Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur
  • array_merge — Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_multisort — Çok sayıda diziyi veya çok boyutlu dizileri sıralar
  • array_pad — Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir
  • array_pop — Dizinin sonundaki elemanı diziden çıkartır
  • array_product — Bir dizideki değerlerin çarpımını bulur
  • array_push — Belli sayıda elemanı dizinin sonuna ekler
  • array_rand — Bir diziden belli sayıda rasgele anahtar döndürür
  • array_reduce — Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
  • array_replace_recursive — İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller
  • array_replace — İlk dizinin elemanlarını aktarılan dizilerden günceller
  • array_reverse — Diziyi tersine sıralayıp döndürür
  • array_search — Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür
  • array_shift — Dizini başlangıcından bir eleman çeker
  • array_slice — Bir dizinin belli bir bölümünü döndürür
  • array_splice — Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
  • array_sum — Bir dizideki değerlerin toplamını hesaplar
  • array_udiff_assoc — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc — Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_uintersect_assoc — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc — Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_unique — Diziden yinelenen değerleri siler
  • array_unshift — Bir dizinin başlangıcına bir veya daha fazla eleman ekler
  • array_values — Bir dizinin tüm değerlerini döndürür
  • array_walk_recursive — Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
  • array_walk — Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
  • array — Bir dizi oluşturur
  • arsort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
  • asort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar
  • compact — Değişkenlerle değerlerinden bir dizi oluşturur
  • count — Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • current — Bir diziden gösterici konumundaki elemanı döndürür
  • each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • end — Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
  • extract — Bir dizideki değişkenleri simge tablosuna dahil eder
  • in_array — Bir dizide bir değerin varlığını araştırır
  • key_exists — array_key_exists işlevini takma adıdır
  • key — Bir diziden gösterici konumundaki anahtarı döndürür
  • krsort — Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar
  • ksort — Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar
  • list — Değişkenlere bir dizi gibi atama yapar
  • natcasesort — Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
  • natsort — Bir diziyi "doğal sıralama" algoritmasıyla sıralar
  • next — Dahili dizi göstericisini bir ilerletir
  • pos — current işlevinin takma adıdır
  • prev — Dahili dizi göstericisini bir geriletir
  • range — Belli bir eleman aralığını içeren bir dizi oluşturur
  • reset — Bir dizinin dahili göstericisini ilk elemana konumlar
  • rsort — Bir diziyi büyükten küçüğe doğru sıralar
  • shuffle — Bir diziyi karar
  • sizeof — count işlevinin takma adıdır
  • sort — Bir diziyi küçükten büyüğe doğru sıralar
  • uasort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
  • uksort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
  • usort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar


Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir

  • « Dizi İşlevleri
  • array_chunk »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir

array_change_key_case

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_change_key_case — Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir

Açıklama

array_change_key_case(array $dizi, int $büyüklük = CASE_LOWER): array

Belirilen dizideki tüm anahtarların harflerini büyük harfe veya küçük harfe dönüştürür. Sayısal indislere dokunulmaz.

Bağımsız Değişkenler

dizi

Üzerinde işlem yapılacak dizi.

büyüklük

Büyük harfe dönüşüm için CASE_UPPER, küçük harfe dönüşüm için CASE_LOWER (öntanımlı) belirtilebilir.

Dönen Değerler

Anahtarların büyük harflerden veya küçük harflerden oluştuğu bir dizi döner.

Örnekler

Örnek 1 - array_change_key_case() örneği

<?php
$input_array = array("FirSt" => 1, "SecOnd" => 4);
print_r(array_change_key_case($input_array, CASE_UPPER));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [FIRST] => 1
    [SECOND] => 4
)

Notlar

Bilginize:

Eğer dönüşüm sonunda aynı anahtarlara sahip olan elemanlar varsa ("keY" ve "kEY" gibi) sonraki elemanın değeri öncekinin üzerine yazar..


Bir diziyi belli uzunlukta bölümlere ayırır

  • « array_change_key_case
  • array_column »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi belli uzunlukta bölümlere ayırır

array_chunk

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_chunk — Bir diziyi belli uzunlukta bölümlere ayırır

Açıklama

array_chunk(array $dizi, int $uzunluk, bool $anahtarları_koru = false): array

Belirtilen diziyi boyut elemanlı dizilere böler. Son parça boyut elemandan daha az eleman içerebilir.

Bağımsız Değişkenler

dizi

Parçalanacak dizi.

uzunluk

Her parçanın uzunluğu.

anahtarları_koru

true ise anahtarlar korunur. false öntanımlı olup parçalar sayısal olarak yeniden indislenir.

Dönen Değerler

Her biri sıfır indisiyle başlayan uzunluk elemanlı dizilerden oluşan sayısal indisli çok boyutlu bir dizi döner.

Hatalar/İstisnalar

Eğer uzunluk 1'den küçükse bir ValueError nesnesi yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk 1'den küçükse bir artık ValueError nesnesi yavrulanıyor; evvelce E_WARNING seviyesinde bir hata oluşur ve işlev null döndürürdü.

Örnekler

Örnek 1 - array_chunk() örneği

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));
print_r(array_chunk($input_array, 2, true));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [0] => c
            [1] => d
        )

    [2] => Array
        (
            [0] => e
        )

)
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )

    [1] => Array
        (
            [2] => c
            [3] => d
        )

    [2] => Array
        (
            [4] => e
        )

)

Ayrıca Bakınız

  • array_slice() - Bir dizinin belli bir bölümünü döndürür


Dizinin bir sütunundaki değerlerle döner

  • « array_chunk
  • array_combine »
  • PHP Manual
  • Dizi İşlevleri
  • Dizinin bir sütunundaki değerlerle döner

array_column

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

array_column — Dizinin bir sütunundaki değerlerle döner

Açıklama

array_column(array $dizi, int|string|null $sütun_anh, int|string|null $indis = null): array

array_column() işlevi dizinin sütun_anh ile belirtilen sütunundaki değerleri içeren bir dizi ile döner. İsteğe bağlı olarak, döndürülen dizideki değerleri indislemek için bir indis sağlanabilir.

Bağımsız Değişkenler

dizi

Bir sütunundaki değerleri istenen çok noyutlu bir dizi veya nesne dizisi. Bir nesne dizisi belirtilirse, public özellikler doğrudan döndürülebilir. Protected veya private özelliklerin döndürülebilmesi için sınıf her ikisinide __get() ve __isset() sihirli yöntemleri ile gerçeklemelidir.

sütun_anh

Değerleri döndürülecek sütun. Bu değer döndürülecek sütunun sayısal bir indisi olabileceği gibi ilişkisel bir dizi için sütunun ismi veya nesne dizisi için bir özellik ismi olabilir. Dizilerin veya nesnelerin tamamını döndürmek için null belirtmek de mümkündür (diziyi belirtilen indis ile yeniden indislemek için yararlı olabilir).

indis

Döndürülecek sütun için kullanılacak sütun indisi veya anahtar. Bu değer sütunun sayısal bir indisi veya dizgesel bir anahtar ismi olabilir. PHP dizi anahtarlarına tür çarpıtması uygulayabilir (bununla birlikte, PHP 8.0.0'dan önce, dizgeye dönüşümü destekleyen nesnelere de izin veriliyordu).

Dönen Değerler

Belirtilen dizinin tek bir sütunundaki değerleri içeren bir dizi ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Döndürülecek dizinin indis ile belirlenen sütundaki nesneler artık dizgeye dönüştürülmüyor, bunun yerine bir TypeError yavrulanıyor.

Örnekler

Örnek 1 - Bir ad/soyad kümesinden adları içeren sütunu döndürmek

<?php
// Bir veritabanından alınan olası bir kayıt kümesini temsil eden dizi
$kayıtlar = array(
array(
'id' => 2135,
'ad' => 'John',
'soyad' => 'Doe',
),
array(
'id' => 3245,
'ad' => 'Sally',
'soyad' => 'Smith',
),
array(
'id' => 5342,
'ad' => 'Jane',
'soyad' => 'Jones',
),
array(
'id' => 5623,
'ad' => 'Peter',
'soyad' => 'Doe',
)
);

$adlar = array_column($kayıtlar, 'ad');
print_r($adlar);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)

Örnek 2 - Bir ad/soyad kümesinden soyadları içeren sütunu "id" sütunu ile indisleyerek döndürmek

<?php
// Önceki örnekteki $kayıtlar dizisi kullanılıyor
$soyadlar = array_column($kayıtlar, 'soyad', 'id');
print_r($soyadlar);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [2135] => Doe
    [3245] => Smith
    [5342] => Jones
    [5623] => Doe
)

Örnek 3 - Bir nesnenin public "username" özelliğinden username'leri içeren sütunu döndürmek

<?php

class User
{
public $username;

public function __construct(string $username)
{
$this->username = $username;
}
}

$users = [
new User('user 1'),
new User('user 2'),
new User('user 3'),
];

print_r(array_column($users, 'username'));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => user 1
    [1] => user 2
    [2] => user 3
)

Örnek 4 - Sihirli __get() yöntemini kullanarak bir nesnenin private "isim" özelliğindeki isimleri içeren sütunu döndürmek

<?php

class Person
{
private $isim;

public function __construct(string $isim)
{
$this->isim = $isim;
}

public function __get($prop)
{
return $this->$prop;
}

public function __isset($prop) : bool
{
return isset($this->$prop);
}
}

$people = [
new Person('Fred'),
new Person('Jane'),
new Person('John'),
];

print_r(array_column($people, 'isim'));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fred
    [1] => Jane
    [2] => John
)
- __isset() kullanılmazsa boş bir dizi döner.


Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur

  • « array_column
  • array_count_values »
  • PHP Manual
  • Dizi İşlevleri
  • Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur

array_combine

(PHP 5, PHP 7, PHP 8)

array_combine — Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur

Açıklama

array_combine(array $anahtarlar, array $değerler): array

anahtarlar dizisinden anahtarları, değerler dizisinden değerleri alıp oluşturduğu ilişkisel diziyi döndürür.

Bağımsız Değişkenler

anahtarlar

Anahtar olarak kullanılacak elemanları içeren dizi. Anahtar olarak geçersiz değerler string türüne dönüştürülür.

değerler

Değer olarak kullanılacak elemanları içeren dizi.

Dönen Değerler

Oluşturulan ilişkisel dizi döner.

Hatalar/İstisnalar

anahtarlar ve değerler dizilerindeki eleman sayısı aynı değilse PHP 8.0.0 ve sonrasında ValueError yavrulanmaktadır. PHP 8.0.0 öncesinde E_WARNING oluşuyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | array_combine() dizilerdeki eleman sayısı aynı değilse artık ValueError yavruluyor, evvelce false dönerdi.

Örnekler

Örnek 1 - array_combine() örneği

<?php
$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);

print_r($c);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [green]  => avocado
    [red]    => apple
    [yellow] => banana
)

Ayrıca Bakınız

  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
  • array_values() - Bir dizinin tüm değerlerini döndürür
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular


Bir dizideki her farklı değerlerle ilgili oluşumları sayar

  • « array_combine
  • array_diff_assoc »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki her farklı değerlerle ilgili oluşumları sayar

array_count_values

(PHP 4, PHP 5, PHP 7, PHP 8)

array_count_values — Bir dizideki her farklı değerlerle ilgili oluşumları sayar

Açıklama

array_count_values(array $dizi): array

array_count_values() işlevi dizi dizisindeki değerleri (bunlar tamsayı veya dizge olmalıdır) anahtar olarak ve dizi dizisinde bu değerlere rastlanma sıklığını değer olarak içeren bir dizi ile döner.

Bağımsız Değişkenler

dizi

Değerleri sayılacak dizi.

Dönen Değerler

dizi dizisindeki değerlerin anahtarları, değerlerin sayısının ise değerleri oluşturduğu bir ilişkisel dizi döner.

Hatalar/İstisnalar

string veya int türünde olmayan her eleman için bir E_WARNING oluşur.

Örnekler

Örnek 1 - array_count_values() örneği

<?php
$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [1] => 2
    [hello] => 2
    [world] => 1
)

Ayrıca Bakınız

  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • array_unique() - Diziden yinelenen değerleri siler
  • array_values() - Bir dizinin tüm değerlerini döndürür
  • count_chars() - Bir dizgedeki karakterler hakkında bilgi döndürür


Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır

  • « array_count_values
  • array_diff_key »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır

array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assoc — Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır

Açıklama

array_diff_assoc(array $dizi, array ...$diziler): array

dizi ile diziler'i karşılaştırır ve farkı döndürür. Değerler yerine anahtarları karşılaştırması dışında array_diff() işlevi gibidir.

Bağımsız Değişkenler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi girdilerinden oluşan bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_diff_assoc() örneği - 1

"a" => "green" çifti her iki dizide de mevcut olduğundan bu eleman çıktıda bulunmaz. 0 => "red" çifti ise aksine, çıktıda bulunur. "red" anahtarı birinci dizide otomatik olarak 0'a atanır, ikinci dizide ise 0 yellow tarafından alındığından 1'e atanır.

<?php
$dizi1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$dizi2 = array("a" => "green", "yellow", "red");
$sonuc = array_diff_assoc($dizi1, $dizi2);
print_r($sonuc);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Örnek 2 - array_diff_assoc() örneği - 2

İki elemanın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, dize gösterimleri aynı olmalıdır.

<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 0
    [1] => 1
)

Notlar

Bilginize: Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff_assoc($dizi1[0], $dizi2[0]); sözdizimi kullanılabilir.

Bilginize: Çok fazla anahtara sahip benzer diziler karşılaştırılırken bağımsız değişkenlerin doğru sırada verilmesi önemlidir. Yeni dizi listedeki ilk dizi olmalıdır.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır


Dizilerin farkını hesaplarken indisleri karşılaştırır

  • « array_diff_assoc
  • array_diff_uassoc »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin farkını hesaplarken indisleri karşılaştırır

array_diff_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_key — Dizilerin farkını hesaplarken indisleri karşılaştırır

Açıklama

array_diff_key(array $dizi, array ...$diziler): array

dizi ile diziler'i karşılaştırır ve farkı döndürür. Değerler yerine anahtarları karşılaştırması dışında array_diff() işlevi gibidir.

Bağımsız Değişkenler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi anahtarlarından oluşan bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_diff_key() örneği

İki anahtarın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, dize gösterimleri aynı olmalıdır.

<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);

var_dump(array_diff_key($array1, $array2));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["blue"]=>
  int(1)
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}
<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'yellow' => 7, 'cyan' => 8);
$array3 = array('blue' => 6, 'yellow' => 7, 'mauve' => 8);

var_dump(array_diff_key($array1, $array2, $array3));
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notlar

Bilginize:

Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff_key($dizi1[0], $dizi2[0]); sözdizimini kullanabilirsiniz.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_diff_ukey() - Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
  • array_intersect_ukey() - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar


Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

  • « array_diff_key
  • array_diff_ukey »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

array_diff_uassoc

(PHP 5, PHP 7, PHP 8)

array_diff_uassoc — Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

Açıklama

array_diff_uassoc(array $array, array ...$diziler, callable $anh_karş_işlevi): array

dizi ile diziler'i karşılaştırır ve farkı döndürür. Değerler yerine anahtarları karşılaştırması dışında array_diff() işlevi gibidir.

array_diff_assoc() işlevinden farklı olarak anahtarları karşılaştırmak için bir dahili işlev değil, kullanıcı tanımlı bir geriçağırım işlevi kullanılır.

Bağımsız Değişkenler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

anh_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi girdilerinden oluşan bir dizi döner.

Örnekler

Örnek 1 - array_diff_uassoc() örneği

"a" => "green" çifti her iki dizide de mevcut olduğundan bu eleman çıktıda bulunmaz. 0 => "red" çifti ise aksine, çıktıda bulunur. "red" anahtarı birinci dizide otomatik olarak 0'a atanır, ikinci dizide ise 0 yellow tarafından alındığından 1'e atanır.

<?php
function anh_karş_işlevi($a, $b)
{
return $a <=> $b;}
}

$dizi1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$dizi2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($dizi1, $dizi2, "anh_karş_işlevi");
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

İki indisin eşitliğine kullanıcı tarafından sağlanmış geriçağırım işlevi tarafından bakılır.

Notlar

Bilginize:

Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff_uassoc($dizi1[0], $dizi2[0], 'anh_kars_islevi'); sözdizimi kullanılabilir.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar

  • « array_diff_uassoc
  • array_diff »
  • PHP Manual
  • Dizi İşlevleri
  • Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar

array_diff_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar

Açıklama

array_diff_ukey(array $dizi, array ...$diziler, callable $anh_karş_işlevi): array

dizi ile diziler'i karşılaştırır ve farkı döndürür. Değerler yerine anahtarları karşılaştırması dışında array_diff() işlevi gibidir.

array_diff_key() işlevinden farklı olarak anahtarları karşılaştırmak için bir dahili işlev değil, kullanıcı tanımlı bir geriçağırım işlevi kullanılır.

Bağımsız Değişkenler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

anh_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi girdilerinden oluşan bir dizi döner.

Örnekler

Örnek 1 - array_diff_ukey() örneği

<?php
function anh_kars_islevi($a1, $a2)
{
if ($a1 == $a2)
return 0;
else if ($a1 > $a2)
return 1;
else
return -1;
}

$dizi1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$dizi2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);

var_dump(array_diff_ukey($dizi1, $dizi2, 'anh_kars_islevi'));
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["red"]=>
  int(2)
  ["purple"]=>
  int(4)
}

Notlar

Bilginize:

Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff_ukey($dizi1[0], $dizi2[0], 'anh_kars_islevi'); sözdizimini kullanabilirsiniz.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_diff_key() - Dizilerin farkını hesaplarken indisleri karşılaştırır
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
  • array_intersect_ukey() - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar


Dizilerin farkını hesaplar

  • « array_diff_ukey
  • array_fill_keys »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin farkını hesaplar

array_diff

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_diff — Dizilerin farkını hesaplar

Açıklama

array_diff(array $dizi, array ...$diziler): array

dizi ile bir veya daha fazla diziyi karşılaştırır ve diğer dizilerde bulunmayan değerleri dizi içinde döndürür.

Bağımsız Değişkenler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi girdilerinden oluşan bir dizi ile döner. dizi içindeki anahtarlar korunur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_diff() örneği

<?php
$dizi1 = array("a" => "green", "red", "blue", "red");
$dizi2 = array("b" => "green", "yellow", "red");
$result = array_diff($dizi1, $dizi2);

print_r($result);
?>

$dizi1 içinde aynı değerde birden fazla eleman varsa hepsi tek bir girdi kabul edilir ve çıktı şöyle olur:

Array
(
    [1] => blue
)

Örnek 2 - Eşleşmeyen türler ile array_diff()

İki elemanın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, dize gösterimleri aynı olmalıdır.

<?php
// dizi dizeye dönüşürülemezse bir uyarı üretilir.
$source = [1, 2, 3, 4];
$filter = [3, 4, [5], 6];
$result = array_diff($source, $filter);

// nesneler dizeye dönüştürülebildiğinden burada sorun çıkmaz.
class S {
private $v;

public function __construct(string $v) {
$this->v = $v;
}

public function __toString() {
return $this->v;
}
}

$source = [new S('a'), new S('b'), new S('c')];
$filter = [new S('b'), new S('c'), new S('d')];

$result = array_diff($source, $filter);

// $result tek bir S('a') örneği içerir
?>

Başka bir karşılaştırma işlevi kullanmak isterseniz array_udiff() işlevine bakın.

Notlar

Bilginize:

Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff($dizi1[0], $dizi2[0]); sözdizimini kullanabilirsiniz.

Ayrıca Bakınız

  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır


Anahtarları belirtilen diziyi değerlerle doldurur

  • « array_diff
  • array_fill »
  • PHP Manual
  • Dizi İşlevleri
  • Anahtarları belirtilen diziyi değerlerle doldurur

array_fill_keys

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

array_fill_keys — Anahtarları belirtilen diziyi değerlerle doldurur

Açıklama

array_fill_keys(array $anahtarlar, mixed $dolgu): array

anahtarlar dizisindeki elemanlara değer olarak dolgu değerini yerleştirir.

Bağımsız Değişkenler

anahtarlar

Değerleri anahtar olarak kullanılacak dizi. Anahtar olarak geçersiz değerler string türüne dönüştürülür.

dolgu

Dolgu için kullanılacak değer.

Dönen Değerler

Doldurulmuş dizi döner.

Örnekler

Örnek 1 - array_fill_keys() örneği

<?php
$anahtarlar = array('foo', 5, 10, 'bar');
$a = array_fill_keys($anahtarlar, 'banana');
print_r($a);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [foo] => banana
    [5] => banana
    [10] => banana
    [bar] => banana
)

Ayrıca Bakınız

  • array_fill() - Bir diziyi değerlerle doldurur
  • array_combine() - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur


Bir diziyi değerlerle doldurur

  • « array_fill_keys
  • array_filter »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi değerlerle doldurur

array_fill

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

array_fill — Bir diziyi değerlerle doldurur

Açıklama

array_fill(int $başlangıç, int $miktar, mixed $dolgu): array

başlangıç bağımsız değişkeni ile belirtilen anahtardan başlayarak miktar sayıda elemana dolgu değerini yerleştirir.

Bağımsız Değişkenler

başlangıç

Döndürülecek dizinin ilk indisi. Sadece negatif olmayan indisler desteklenmektedir.

başlangıç negatifse, dönen dizinin ilk indisi başlangıç olur, sonrakiler ise PHP 8.0.0 öncesinde sıfırdan başlardı. PHP 8.0.0 ve sonrasında ise negatif indisler normal olarak artmaktadır. (örneğe bakın).

miktar

Diziye yerleştirilecek eleman sayısı. Sıfırdan büyük, 2147483647'den küçük ya da bunlara eşit olmalıdır.

dolgu

Dolgu için kullanılacak değer.

Dönen Değerler

Doldurulmuş diziyi döndürür.

Hatalar/İstisnalar

miktar kabul edilen aralığın içinde değilse ValueError yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | miktar kabul edilen aralığın içinde değilse artık ValueError yavrulanıyor, evvelce bir E_WARNING çıktılanıyordu ve işlev false döndürüyordu.

Örnekler

Örnek 1 - array_fill() örneği

<?php
$a = array_fill(5, 6, 'banana');
print_r($a);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [5]  => banana
    [6]  => banana
    [7]  => banana
    [8]  => banana
    [9]  => banana
    [10] => banana
)

Örnek 2 - Negatif başlangıç indisli array_fill() örneği

<?php
$a = array_fill(-2, 4, 'pear');
print_r($a);
?>

Yukarıdaki örneğin PHP 7 çıktısı:

Array
(
    [-2] => pear
    [0] => pear
    [1] => pear
    [2] => pear
)

-1 indisinin PHP 8.0.0 öncesinde var olmayacağı unutulmamalıdır.

Notlar

Negatif anahtarlarla ilgili ayrıntılı bilgi edinmek için array bölümüne bakınız.

Ayrıca Bakınız

  • array_fill_keys() - Anahtarları belirtilen diziyi değerlerle doldurur
  • str_repeat() - Bir dizgeyi yineler
  • range() - Belli bir eleman aralığını içeren bir dizi oluşturur


Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir

  • « array_fill
  • array_flip »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir

array_filter

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

array_filter — Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir

Açıklama

array_filter(array $dizi, ?callable $işlev = null, int $kip = 0): array

dizi dizisinin her elemanını sırayla işlev işlevine aktarır. Eğer işlev true dönerse o dizi elemanı sonuç dizisine konur, yoksa konmaz.

Dizideki anahtarlar korunur. dizi sıralıysa dönen dizi de boşluklar olabilir. Boşluklardan kurtulmak için dizi array_values() işlevi ile yeniden sıralanabilir.

Bağımsız Değişkenler

dizi

Elemanları tek tek işleve aktarılacak dizi.

işlev

Kullanılacak geriçağırım işlevi.

Bu bağımsız değişkende bir geriçağırım işlevi belirtilmezse, dizinin tüm boş girdileri silinir. PHP'nin boşu nasıl tanımladığını görmek için empty() işlevine bakınız.

kip

işlev işlevine hangi bağımsız değişkenlerin gönderileceğini belirler:

  • ARRAY_FILTER_USE_KEY - işlev işlevine tek bağımsız değişken olarak değer değil anahtar aktarılır.
  • ARRAY_FILTER_USE_BOTH - işlev işlevine bağımsız değişken olarak sadece değer değil anahtar da aktarılır.
Belirtilmezse, işlev işlevine tek bağımsız değişken olarak aktarılacak değer öntanımlı olarak 0'dır.

Dönen Değerler

Süzülen dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | işlev artık null olabiliyor.
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - array_filter() örneği

<?php
function tek($var)
{
//tamsayı girdi tek sayı mı diye bakar
return $var & 1;
}

function cift($var)
{
//tamsayı girdi çift sayı mı diye bakar
return !($var & 1);
}

$array1 = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
$array2 = [6, 7, 8, 9, 10, 11, 12];

echo " Tek:\n";
print_r(array_filter($array1, "tek"));
echo "Çift:\n";
print_r(array_filter($array2, "cift"));
?>

Yukarıdaki örneğin çıktısı:

 Tek:
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Çift:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

Örnek 2 - işlevsiz array_filter() örneği

<?php

$girdi = [
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => '',
5 => '0',
6 => 0,
];

print_r(array_filter($girdi));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => foo
    [2] => -1
)

Örnek 3 - array_filter() ile kip kullanımı

<?php

$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];

var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));

var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["b"]=>
  int(2)
}
array(2) {
  ["b"]=>
  int(2)
  ["d"]=>
  int(4)
}

Notlar

Dikkat

Eğer geriçağırım işlevinde dizi değişikliğe uğrarsa (yani, elemen ekleme, silme, tanımsız yapma gibi işlemler) bu işlevin davranışı belirsizdir.

Ayrıca Bakınız

  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • array_reduce() - Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular


Bir dizideki anahtarlarla değerleri yer değiştirir

  • « array_filter
  • array_intersect_assoc »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki anahtarlarla değerleri yer değiştirir

array_flip

(PHP 4, PHP 5, PHP 7, PHP 8)

array_flip — Bir dizideki anahtarlarla değerleri yer değiştirir

Açıklama

array_flip(array $dizi): array

array_flip() işlevi belirtilen dizinin anahtarlarını değer, değerlerini anahtar olarak içeren bir dizi döndürür.

Belirtilen dizi içindeki değerlerin anahtar olarak geçerli olmaları gerekir, yani ya int ya da string türünde olmaları gerekir. Değerlerden birinin türü bu türlerden biri değilse bir uyarı verilir ve bu anahtar/değer çifti dönen dizide bulunmaz.

Bir değer birden fazla elemanda varsa değer olarak sonuncusunun anahtarı kullanılır, diğerlerinin anahtarları kaybedilmiş olur.

Bağımsız Değişkenler

dizi

Anahtarları ile değerleri yer değiştirilecek dizi.

Dönen Değerler

Belirtilen dizinin anahtarlarını değer, değerlerini anahtar olarak içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_flip() örneği

<?php
$input = array("oranges", "apples", "pears");
$flipped = array_flip($input);

print_r($flipped);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [oranges] => 0
    [apples] => 1
    [pears] => 2
)

Örnek 2 - Kayıplı array_flip() örneği

<?php
$input = array("a" => 1, "b" => 1, "c" => 2);
$flipped = array_flip($input);

print_r($flipped);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [1] => b
    [2] => c
)

Ayrıca Bakınız

  • array_values() - Bir dizinin tüm değerlerini döndürür
  • array_keys() - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
  • array_reverse() - Diziyi tersine sıralayıp döndürür


Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır

  • « array_flip
  • array_intersect_key »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır

array_intersect_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_intersect_assoc — Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır

Açıklama

array_intersect_assoc(array $dizi, array ...$diziler): array

array_intersect_assoc() işlevi tüm bağımsız değişkenlerinde mevcut olan dizi değerlerini içeren bir dizi döndürür. array_intersect() işlevinin aksine karşılaştırmada anahtarların kullanıldığına dikkat ediniz.

Bağımsız Değişkenler

dizi

Diğer dizilerin karşılaştırılacağı ilk dizi.

diziler

Değerleri ilk dizi ile karşılaştırılacak diğer diziler.

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut dizi değerlerini içeren ilişkisel bir dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_intersect_assoc() örneği

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "b" => "yellow", "blue", "red");
$result_array = array_intersect_assoc($array1, $array2);
print_r($result_array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => green
)

Örnekte gördüğünüz gibi her iki dizide de sadece "a" => "green" ortak olduğundan dönen dizi sadece bu elemanı içermektedir. "red" değerinin döndürülmeme sebebi birinci dizide indisi 0 iken ikinci dizide 1 olmasıdır. "b" değerinin döndürülmeme sebebi de değerinin her dizide farklı olmasıdır.

İki elemanın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, elemanların dizgesel gösterimleri aynı olmalıdır.

Ayrıca Bakınız

  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır


Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar

  • « array_intersect_assoc
  • array_intersect_uassoc »
  • PHP Manual
  • Dizi İşlevleri
  • Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar

array_intersect_key

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_key — Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar

Açıklama

array_intersect_key(array $dizi, array ...$diziler): array

array_intersect_key() işlevi dizi dizisinin tüm bağımsız değişkenlerde mevcut anahtarlarından oluşan bir ilişkisel dizi döndürür.

Bağımsız Değişkenler

dizi

Diğer dizilerin karşılaştırılacağı ilk dizi.

diziler

Anahtarları karşılaştırılacak diziler.

Dönen Değerler

dizi dizisinin tüm bağımsız değişkenlerde mevcut anahtarlarından oluşan bir ilişkisel dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_intersect_key() örneği

<?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);

var_dump(array_intersect_key($array1, $array2));
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Örnekte gördüğünüz gibi her iki dizide de sadece 'blue' ve 'green' anahtarları ortak olduğundan dönen dizi sadece bu elemanları içermektedir. Ayrıca, dizilerde 'blue' ve 'green' anahtarlı elemanların değerlerinin farklı oluşuna da dikkat ediniz. Sadece anahtarlara bakıldığından bir eşleşme oluşmakta ve sadece dizi dizisindeki değerler döndürülmektedir.

İki anahtarın eşit olması için sadece ve sadece (string) $anahtar1 === (string) $anahtar2 olmalıdır. Başka bir deyişle, anahtarların dizgesel gösterimleri aynı olmalıdır.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_diff_key() - Dizilerin farkını hesaplarken indisleri karşılaştırır
  • array_diff_ukey() - Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_ukey() - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar


Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

  • « array_intersect_key
  • array_intersect_ukey »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

array_intersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_intersect_uassoc — Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

Açıklama

array_intersect_uassoc(array $dizi, array ...$diziler, callable $anh_karş_işlevi): array

array_intersect_uassoc() işlevi tüm bağımsız değişkenlerinde mevcut olan dizi değerlerini içeren bir dizi döndürür. array_intersect() işlevinin aksine karşılaştırmada anahtarların kullanıldığına dikkat ediniz.

Bağımsız Değişkenler

dizi

Diğer dizilerin karşılaştırılacağı ilk dizi.

diziler

Anahtarları karşılaştırılacak diziler.

anh_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut dizi değerlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_intersect_uassoc() örneği

<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [b] => brown
)

Ayrıca Bakınız

  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
  • array_intersect_ukey() - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar


Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar

  • « array_intersect_uassoc
  • array_intersect »
  • PHP Manual
  • Dizi İşlevleri
  • Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar

array_intersect_ukey

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_intersect_ukey — Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar

Açıklama

array_intersect_ukey(array $dizi, array ...$diziler, callable $anh_karş_işlevi): array

array_intersect_ukey() işlevi tüm bağımsız değişkenlerinde mevcut olan ve anahtarları eşleşen tüm dizi değerlerini içeren bir dizi döndürür.

Bağımsız Değişkenler

dizi

Diğer dizilerin karşılaştırılacağı ilk dizi.

diziler

Anahtarları karşılaştırılacak diziler.

anh_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Anahtarları tüm bağımsız değişkenlerde mevcut dizi değerlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_intersect_ukey() örneği

<?php
function anh_kars_islevi($a1, $a2)
{
if ($a1 == $a2)
return 0;
else if ($a1 > $a2)
return 1;
else
return -1;
}

$dizi1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$dizi2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);

var_dump(array_intersect_ukey($dizi1, $dizi2, 'anh_kars_islevi'));
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["blue"]=>
  int(1)
  ["green"]=>
  int(3)
}

Örnekte gördüğünüz gibi her iki dizide de sadece 'blue' ve 'green' anahtarları ortak olduğundan dönen dizi sadece bu elemanları içermektedir. Ayrıca, dizilerde 'blue' ve 'green' anahtarlı elemanların değerlerinin farklı oluşuna da dikkat ediniz. Sadece anahtarlara bakıldığından bir eşleşme oluşmakta ve sadece dizi dizisindeki değerler döndürülmektedir.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_diff_key() - Dizilerin farkını hesaplarken indisleri karşılaştırır
  • array_diff_ukey() - Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar


Dizilerin kesişimini hesaplar

  • « array_intersect_ukey
  • array_is_list »
  • PHP Manual
  • Dizi İşlevleri
  • Dizilerin kesişimini hesaplar

array_intersect

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_intersect — Dizilerin kesişimini hesaplar

Açıklama

array_intersect(array $dizi, array ...$diziler): array

array_intersect() işlevi tüm bağımsız değişkenlerinde mevcut olan dizi değerlerini anahtarlarını koruyarak bir dizi içinde döndürür.

Bağımsız Değişkenler

dizi

Aranacak ana değerleri içeren dizi.

arrayler

Değerleri karşılaştırılacak diziler.

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut olan dizi değerlerini içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_intersect() örneği

<?php
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => green
    [0] => red
)

Notlar

Bilginize: İki elemanın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, değerlerin dizgesel gösterimleri aynı olmalıdır.

Ayrıca Bakınız

  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır


Belirtilen dizi bir liste mi diye bakar

  • « array_intersect
  • array_key_exists »
  • PHP Manual
  • Dizi İşlevleri
  • Belirtilen dizi bir liste mi diye bakar

array_is_list

(PHP 8 >= 8.1.0)

array_is_list — Belirtilen dizi bir liste mi diye bakar

Açıklama

array_is_list(array $dizi): bool

Belirtilen dizinin bir liste olup olmadığını saptar. Anahtarları 0'dan count($dizi)-1'e kadar ardışık numaralardan oluşuyorsa o dizinin bir liste olduğu kabul edilir.

Bağımsız Değişkenler

dizi

Değerlendirilecek dizi

Dönen Değerler

dizi bir liste ise true, değilse false döner.

Örnekler

Örnek 1 - array_is_list() örneği

<?php

array_is_list([]); // doğru
array_is_list(['apple', 2, 3]); // doğru
array_is_list([0 => 'apple', 'orange']); // doğru

// The array does not start at 0
array_is_list([1 => 'apple', 'orange']); // yanlış

// The keys are not in the correct order
array_is_list([1 => 'apple', 0 => 'orange']); // yanlış

// Non-integer keys
array_is_list([0 => 'apple', 'foo' => 'bar']); // yanlış

// Non-consecutive keys
array_is_list([0 => 'apple', 2 => 'bar']); // yanlış
?>

Notlar

Bilginize:

Bu işlev boş diziler için true döndürür.

Ayrıca Bakınız

  • array_values() - Bir dizinin tüm değerlerini döndürür


Belirtilen anahtar veya indis dizide var mı diye bakar

  • « array_is_list
  • array_key_first »
  • PHP Manual
  • Dizi İşlevleri
  • Belirtilen anahtar veya indis dizide var mı diye bakar

array_key_exists

(PHP 4 >= 4.0.7, PHP 5, PHP 7, PHP 8)

array_key_exists — Belirtilen anahtar veya indis dizide var mı diye bakar

Açıklama

array_key_exists(string|int $anahtar, array $dizi): bool

array_key_exists() işlevi anahtar dizide varsa true döndürür. anahtar yerine bir indis de belirtilebilir.

Bağımsız Değişkenler

anahtar

Aranacak anahtar veya indis.

dizi

Anahtarın aranacağı dizi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Bilginize:

array_key_exists() anahtarları yalnızca ilk boyutta arar. Çok boyutlu dizilerdeki iç içe anahtarlara bakılmayacaktır.

Örnekler

Örnek 1 - array_key_exists() örneği

<?php
$dizi = array('ilk' => 1, 'ikinci' => 4);
if (array_key_exists('ilk', $dizi)) {
echo "'ilk' elememanı dizide mevcut";
}
?>

Örnek 2 - array_key_exists() işlevine karşı isset()

isset() işlevi null değerli dizi anahtarları için true döndürmez ama array_key_exists() döndürür.

<?php
$dizi = array('ilk' => null, 'ikinci' => 4);

// false döner
isset($dizi['ilk']);

// true döner
array_key_exists('ilk', $dizi);
?>

Notlar

Bilginize:

Geriye uyumluluk adına, array_key_exists() işlevi anahtar bağımsız değişkeninin dizi olarak beliritlen bir object içinde tanımlanmış bir özellik olması durumunda da true döndürür. Bu davranışın kullanımı PHP 7.4.0 itibariyle önerilmemekte olup PHP 8.0.0 sürümünde kaldırılmıştır.

Bir nesne içinde bir özelliğin bulunup bulunmadığını sınamak için property_exists() işlevi kullanılmalıdır.

Ayrıca Bakınız

  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • array_keys() - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
  • in_array() - Bir dizide bir değerin varlığını araştırır
  • property_exists() - Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar


Dizinin ilk anahtarı ile döner

  • « array_key_exists
  • array_key_last »
  • PHP Manual
  • Dizi İşlevleri
  • Dizinin ilk anahtarı ile döner

array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_first — Dizinin ilk anahtarı ile döner

Açıklama

array_key_first(array $dizi): int|string|null

Dahili dizi göstericisini etkilemeden belirtilen dizinin ilk anahtarı ile döner.

Bağımsız Değişkenler

dizi

İlk anahtarı istenen dizi.

Dönen Değerler

Dizi boş değilse dizinin ilk anahtarı ile döner; aksi takdirde null döner.

Örnekler

Örnek 1 - array_key_first() Temel Kullanım Örneği

<?php
$dizi = ['a' => 1, 'b' => 2, 'c' => 3];

$ilkAnh = array_key_first($dizi);

var_dump($ilkAnh);
?>

Yukarıdaki örneğin çıktısı:

string(1) "a"

Notlar

İpucu

PHP 7.3.0'dan önceki sürümlerde bu işlevselliği sağlamanın çeşitli yolları vardır. array_keys() işlevi kullanılabilir ama oldukça verimsiz olabilir. reset() ve key() işlevleri ise dahili dizi göstericisini değiştirebilir. Dahili dizi göstericisini değiştirmeyen aşağıdaki örnek en verimli çözüm olabilir:

<?php
if (!function_exists('array_key_first')) {
function array_key_first(array $dizi) {
foreach($dizi as $key => $unused) {
return $key;
}
return NULL;
}
}
?>

Ayrıca Bakınız

  • array_key_last() - Dizinin son anahtarı ile döner
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar


Dizinin son anahtarı ile döner

  • « array_key_first
  • array_keys »
  • PHP Manual
  • Dizi İşlevleri
  • Dizinin son anahtarı ile döner

array_key_last

(PHP 7 >= 7.3.0, PHP 8)

array_key_last — Dizinin son anahtarı ile döner

Açıklama

array_key_last(array $dizi): int|string|null

Dahili dizi göstericisini etkilemeden belirtilen dizinin son anahtarı ile döner.

Bağımsız Değişkenler

dizi

Son anahtarı istenen dizi.

Dönen Değerler

Dizi boş değilse dizinin son anahtarı ile döner; aksi takdirde null döner.

Ayrıca Bakınız

  • array_key_first() - Dizinin ilk anahtarı ile döner
  • end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır


Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür

  • « array_key_last
  • array_map »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür

array_keys

(PHP 4, PHP 5, PHP 7, PHP 8)

array_keys — Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür

Açıklama

array_keys(array $dizi): array
array_keys(array $dizi, mixed $süzme_değeri, bool $aynısı = false): array

array_keys() işlevi dizi dizisindeki sayısal ve dizgesel anahtarları döndürür.

süzme_değeri belirtilmişse sadece bu değere sahip anahtarlar döndürülür. Aksi takdirde dizi dizisindeki tüm anahtarlar döndürülür.

Bağımsız Değişkenler

dizi

Döndürülecek anahtarları içeren dizi.

süzme_değeri

Belirtilmişse sadece bu değeri içeren anahtarlar döndürülür.

aynısı

Arama sırasında tam karşılaştırma (===) yapılır.

Dönen Değerler

dizi dizisindeki anahtarları içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_keys() örneği

<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 0
    [1] => color
)
Array
(
    [0] => 0
    [1] => 3
    [2] => 4
)
Array
(
    [0] => color
    [1] => size
)

Ayrıca Bakınız

  • array_values() - Bir dizinin tüm değerlerini döndürür
  • array_combine() - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
  • array_key_exists() - Belirtilen anahtar veya indis dizide var mı diye bakar
  • array_search() - Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür


Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular

  • « array_keys
  • array_merge_recursive »
  • PHP Manual
  • Dizi İşlevleri
  • Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular

array_map

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

array_map — Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular

Açıklama

array_map(?callable $işlev, array $dizi, array ...$diziler): array

array_map() işlevi belirtilen dizinin (diziler ile daha fazla dizi belirtilmişse, onların da) ilgili elemanlarının her birine işlev geri çağırım işlevini uygulayıp sonucu bir dizi olarak döndürür. Geriçağırım işlevinin bağımsız değişken sayısı array_map() işlevine aktarılan bağımsız değişken sayısını kabul edebilmelidir. Fazladan belirtilen diziler yok sayılır. Bağımsız değişken sayısı yetersizse ArgumentCountError yavrulanır.

Bağımsız Değişkenler

işlev

Her dizinin her elemanına uygulanacak callable türünde geri çağırım işlevi.

Çok sayıda diziye bir zip işlemi uygulamak için işlev'e değer olarak null aktarılabilir. Sadece dizi sağlanmışsa, array_map() girilen diziyle döner.

dizi

Elemanları işlev tarafından işlenecek ilk dizi.

diziler

Elemanları işlev tarafından işlenecek diğer dizilerin ek değişken listesi.

Dönen Değerler

array_map() işlevi belirtilen dizinin (diziler ile daha fazla dizi belirtilmişse, onların da) ilgili elemanlarının her birine işlev geri çağırım işlevini uygulayıp sonucu bir dizi olarak döndürür.

Döndürülen dizi, yalnız ve yalnız tek bir dizi aktarılırsa, dizi bağımsız değişkeninin anahtarlarını korur. Birden fazla dizi aktarılırsa, döndürülen dizi sıralı tamsayı anahtarlara sahip olacaktır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - array_map() örneği

<?php
function cube($n)
{
return ($n * $n * $n);
}

$a = [1, 2, 3, 4, 5];
$b = array_map('cube', $a);
print_r($b);
?>

$b şöyle olur:

Array
(
    [0] => 1
    [1] => 8
    [2] => 27
    [3] => 64
    [4] => 125
)

Örnek 2 - Lamda işlevi kullanan array_map() örneği

<?php
$func = function(int $deger): int {
return $deger * 2;
};

print_r(array_map($func, range(1, 5)));

// Veya PHP 7.4.0 ve sonrasında:

print_r(array_map(fn($value): int => $value * 2, range(1, 5)));

?>
Array
(
    [0] => 2
    [1] => 4
    [2] => 6
    [3] => 8
    [4] => 10
)

Örnek 3 - Birden fazla diziyle array_map() örneği

<?php
function show_Spanish(int $n, string $m): string
{
return("İspanyolcada {$n} sayısının ismi: {$m}");
}

function map_Spanish(int $n, string $m): array
{
return [$n => $m];
}

$a = [1, 2, 3, 4, 5];
$b = ['uno', 'dos', 'tres', 'cuatro', 'cinco'];

$c = array_map('show_Spanish', $a, $b);
print_r($c);

$d = array_map('map_Spanish', $a , $b);
print_r($d);
?>

Yukarıdaki örneğin çıktısı:

// $c çıktısı
Array
(
    [0] => İspanyolcada 1 sayısının ismi: uno
    [1] => İspanyolcada 2 sayısının ismi: dos
    [2] => İspanyolcada 3 sayısının ismi: tres
    [3] => İspanyolcada 4 sayısının ismi: cuatro
    [4] => İspanyolcada 5 sayısının ismi: cinco
)

// $d çıktısı
Array
(
    [0] => Array
        (
            [1] => uno
        )

    [1] => Array
        (
            [2] => dos
        )

    [2] => Array
        (
            [3] => tres
        )

    [3] => Array
        (
            [4] => cuatro
        )

    [4] => Array
        (
            [5] => cinco
        )

)

İki veya daha fazla sayıda dizi kullanırken işlev elemanlara karşılıklı uygulanacağından normal olarak dizilerin eleman sayılarının eşit olması gerekir. Eğer bu eşitlik yoksa, kısa olanlar boş elemanlar eklenerek en uzun olanın boyuna eşitlenir

Bu işlevin ilginç bir kullanımı da, geriçağırım işlevi ismi olarak null belirterek bir diziler dizisi oluşturmaktır.

Örnek 4 - Dizileri ziplemek

<?php
$a = [1, 2, 3, 4, 5];
$b = ['one', 'two', 'three', 'four', 'five'];
$c = ['uno', 'dos', 'tres', 'cuatro', 'cinco'];

$d = array_map(null, $a, $b, $c);
print_r($d);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => one
            [2] => bir
        )

    [1] => Array
        (
            [0] => 2
            [1] => two
            [2] => iki
        )

    [2] => Array
        (
            [0] => 3
            [1] => three
            [2] => üç
        )

    [3] => Array
        (
            [0] => 4
            [1] => four
            [2] => dört
        )

    [4] => Array
        (
            [0] => 5
            [1] => five
            [2] => beş
        )

)

Örnek 5 - Tek dizi ile null işlev

<?php
$array = [1, 2, 3];
var_dump(array_map(null, $array));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

Örnek 6 - Dizgesel anahtarlarla array_map() örneği

<?php
$arr = ['anahtar' => 'değer'];
function cb1($a) {
return [$a];
}
function cb2($a, $b) {
return [$a, $b];
}
var_dump(array_map('cb1', $arr));
var_dump(array_map('cb2', $arr, $arr));
var_dump(array_map(null, $arr));
var_dump(array_map(null, $arr, $arr));
?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["anahtar"]=>
  array(1) {
    [0]=>
    string(5) "deger"
  }
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "deger"
    [1]=>
    string(5) "deger"
  }
}
array(1) {
  ["stringkey"]=>
  string(5) "deger"
}
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(5) "deger"
    [1]=>
    string(5) "deger"
  }
}

Örnek 7 - array_map() ve ilişkisel diziler

array_map() dizi anahtarlarının doğrudan girdi olarak kullanımını desteklemese de array_keys() kullanılarak bu yapılabilir.

<?php
$arr = [
'v1' => 'ilk sürüm',
'v2' => 'ikinci sürüm',
'v3' => 'üçüncü sürüm',
];

// Bilgi: 7.4.0 öncesinde, anonim işlevler için bunun yerine uzun
// sözdizimi kullanılırdı.
$callback = fn(string $k, string $v): string => "$k $v idi";

$result = array_map($callback, array_keys($arr), array_values($arr));

var_dump($result);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(24) "v1 ilk sürüm idi"
  [1]=>
  string(25) "v2 ikinci sürüm idi"
  [2]=>
  string(24) "v3 üçüncü sürüm idi"
}

Ayrıca Bakınız

  • array_filter() - Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
  • array_reduce() - Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular


Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur

  • « array_map
  • array_merge »
  • PHP Manual
  • Dizi İşlevleri
  • Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur

array_merge_recursive

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_merge_recursive — Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur

Açıklama

array_merge_recursive(array ...$diziler): array

Belirtilen dizilerin elemanlarını bir öncekinin elemanlarının ardına eklemek suretiyle yeni bir dizi oluşturur ve bu diziyi döndürür.

Eğer dizilerde aynı anahtara sahip elemanlar varsa sonraki dizilerin eleman değerleri ilk elemana bir alt dizi değeri olarak ardarda eklenir. Eğer değerlerden biri zaten bir dizi ise işlev bu diziyi diğer dizideki ilgili girdiye katıştırır. Ancak, eğer diziler sayısal anahtarlar içeriyorsa sonraki değer daima sona eklenir.

Bağımsız Değişkenler

diziler

Kendinden öncekinin ardına eklenecek diziler.

Dönen Değerler

Elde edilen diziyi döndürür. Bağımsız değişkensiz çağrılmışsa boş bir dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlev bağımsız değişkensiz çağrılabilir. Evvelce, en azından bir bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_merge_recursive() örneği

<?php
$ar1 = array("color" => array("favorite" => "red"), 5);
$ar2 = array(10, "color" => array("favorite" => "green", "blue"));
$result = array_merge_recursive($ar1, $ar2);
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )

            [0] => blue
        )

    [0] => 5
    [1] => 10
)

Ayrıca Bakınız

  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_replace_recursive() - İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller


Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur

  • « array_merge_recursive
  • array_multisort »
  • PHP Manual
  • Dizi İşlevleri
  • Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur

array_merge

(PHP 4, PHP 5, PHP 7, PHP 8)

array_merge — Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur

Açıklama

array_merge(array ...$diziler): array

Belirtilen dizilerin elemanlarını bir öncekinin elemanlarının ardına eklemek suretiyle yeni bir dizi oluşturur ve bu diziyi döndürür.

Eğer dizilerde aynı anahtara sahip elemanlar varsa sonraki dizinin elemanı öncekinin yerine konur. Ancak, eğer diziler sayısal anahtarlar içeriyorsa sonraki değer öncekinin üzerine yazılmaz, sona eklenir.

Belirtilen diziler sayısal indisli ise sonuç dizisindeki indisler sıfırdan başlayarak yeniden oluşturulur.

Bağımsız Değişkenler

diziler

Katıştırılacak dizilerin değişken listesi.

Dönen Değerler

Elde edilen diziyi döndürür. Bağımsız değişkensiz çağrılmışsa boş bir dizi döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Bu işlev bağımsız değişkensiz çağrılabilir. Evvelce, en azından bir bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_merge() örneği

<?php
$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)

Örnek 2 - Basit array_merge() örneği

<?php
$dizi1 = array();
$dizi2 = array(1 => "veri");
$sonuç = array_merge($dizi1, $dizi2);
?>

Sayısal anahtarların yeniden numaralanacağını unutmayın!

Array
(
    [0] => veri
)

İkinci dizideki elemanlar birinci diziye eklerken sirinci dizideki elemanların üzerine yazılmaması ve yeniden indislenmemesi için + (dizi birleştirme) işlecini kullanın:

<?php
$dizi1 = array(0 => 'sıfır_a', 2 => 'iki_a', 3 => 'üç_a');
$dizi2 = array(1 => 'bir_b', 3 => 'üç_b', 4 => 'dört_b');
$sonuç = $dizi1 + $dizi2;

var_dump($sonuç);
?>

Birinci dizideki anahtarlar korunur. Bir anahtar iki dizide de mevcutsa birincisi kullanılır ikinci dizideki yok sayılır.

array(5) {
  [0]=>
  string(9) "sıfır_a"
  [2]=>
  string(5) "iki_a"
  [3]=>
  string(6) "üç_a"
  [1]=>
  string(5) "bir_b"
  [4]=>
  string(7) "dört_b"
}

Örnek 3 - array türünde olmayan dizilerle array_merge()

<?php
$ilk = 'foo';
$son = array(1 => 'bar');
$sonuc = array_merge((array)$ilk, (array)$son);
print_r($sonuc);
?>

Yukarıdaki örneğin çıktısı:

    Array
    (
        [0] => foo
        [1] => bar
    )

Ayrıca Bakınız

  • array_merge_recursive() - Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur
  • array_replace() - İlk dizinin elemanlarını aktarılan dizilerden günceller
  • array_combine() - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
  • dizi İşleçleri


Çok sayıda diziyi veya çok boyutlu dizileri sıralar

  • « array_merge
  • array_pad »
  • PHP Manual
  • Dizi İşlevleri
  • Çok sayıda diziyi veya çok boyutlu dizileri sıralar

array_multisort

(PHP 4, PHP 5, PHP 7, PHP 8)

array_multisort — Çok sayıda diziyi veya çok boyutlu dizileri sıralar

Açıklama

array_multisort(
array &$dizi1,
mixed $dizi1_sıralama_düzeni = SORT_ASC,
mixed $dizi1_sıralama_seçenekleri = SORT_REGULAR,
mixed ...$diğerleri
): bool

array_multisort() işlevi çok sayıda diziyi bir kerede sıralayabileceği gibi çok boyutlu bir diziyi bir veya daha fazla boyuta göre de sıralayabilir.

İlişkisel (string) anahtarlar korunursa da sayısal indisler yeniden oluşturulur.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

dizi1_sıralama_düzeni

Önceki dizi bağımsız değişkenini sıralamada kullanılacak düzen. Artan şekilde sıralamak için SORT_ASC, azalan şekilde sıralalmak için SORT_DESC.

Bu bağımsız değişken dizi1_sıralama_seçenekleri bağımsız değişkeniyle yer değiştirebilir. Bu durumda sıralama düzeni olarak SORT_ASC öntanımlıdır.

dizi1_sıralama_seçenekleri

Önceki dizi bağımsız değişkeni için sıralama seçenekleri

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır (türleri değişmez)
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() ile belirtilen yerel kullanılır.
  • SORT_NATURAL - öğeler natsort() işlevinin yaptığı gibi "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne bakmaksızın sıralamak için SORT_STRING ile SORT_NATURAL VEYAlanabilir.

Bu bağımsız değişken dizi1_sıralama_düzeni ile yer değiştirebilir veya hiç belirtilmeyebilir; bu durumda SORT_REGULAR öntanımlıdır.

diğerleri

Dğer diziler; ardından isteğe bağlı oarak sıralama düzeni ve seçenekleri belirtilebilir. Yalnızca önceki dizilerdeki eşdeğer öğelere karşılık gelen öğeler karşılaştırılır. Başka bir deyişle, sıralama sözlükbilimseldir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Çok sayıda diziyi sıralamak

<?php
$ar1 = array(10, 100, 100, 0);
$ar2 = array(1, 3, 2, 4);
array_multisort($ar1, $ar2);

var_dump($ar1);
var_dump($ar2);
?>

Bu örnekte sıralama sonrasında iki dizi arasındaki elemanlar yerlerine göre birbirinin karşıtı olmak üzere ilk dizi 0, 10, 100, 100; ikinci dizi 4, 1, 2, 3 içerir.

array(4) {
  [0]=> int(0)
  [1]=> int(10)
  [2]=> int(100)
  [3]=> int(100)
}
array(4) {
  [0]=> int(4)
  [1]=> int(1)
  [2]=> int(2)
  [3]=> int(3)
}

Örnek 2 - Çok boyutlu diziyi sıralamak

<?php
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>

Bu örnekte sıralama sonrasında, ilk dizi "10", 100, 100, 11, "a" dizisine dönüşecek (artan düzende dizgesel olarak sıralanır), ikinci dizi ise 1, 3, "2", 2, 1 değerlerini içerecektir (azalan düzende sayısal olarak sıralanır) .

array(2) {
  [0]=> array(5) {
    [0]=> string(2) "10"
    [1]=> int(100)
    [2]=> int(100)
    [3]=> int(11)
    [4]=> string(1) "a"
  }
  [1]=> array(5) {
    [0]=> int(1)
    [1]=> int(3)
    [2]=> string(1) "2"
    [3]=> int(2)
    [4]=> int(1)
  }
}

Örnek 3 - Veritabanı sonuçlarının sıralanması

Bu örnek için, veri dizisindeki her eleman tablodaki bir satıra karşılıktır.

Örnek veri:

 bölüm |   baskı
-------+--------
    67 |       2
    86 |       1
    85 |       6
    98 |       2
    86 |       6
    67 |       7

Dizi olarak veri dizisi kullanılmıştır. Aynı sonuç mysqli_fetch_assoc() işlevini bir döngü içinde kullanarak da elde edilebilir.

<?php
$veri[] = array('bölüm' => 67, 'baskı' => 2);
$veri[] = array('bölüm' => 86, 'baskı' => 1);
$veri[] = array('bölüm' => 85, 'baskı' => 6);
$veri[] = array('bölüm' => 98, 'baskı' => 2);
$veri[] = array('bölüm' => 86, 'baskı' => 6);
$veri[] = array('bölüm' => 67, 'baskı' => 7);
?>

Bu örnekte bölüm'ü azalan baskı'yı artan düzende sıralayacağız.

Satırlara karşılık gelen bir dizimiz var, fakat array_multisort() sütun dizileri gerektiriyor. Bu nedenle sıralamayı yapmadan önce sütunları elde etmek için şu kodu kullanacağız:

<?php
// Sütun listelerini elde edelim
foreach ($veri as $anahtar => $satır) {
$bölüm[$anahtar] = $satır['bölüm'];
$baskı[$anahtar] = $satır['baskı'];
}

// Yukarıdaki kod yerine array_column() kullanılabilir
$volume = array_column($veri, 'bölüm');
$edition = array_column($veri, 'baskı');

// bölüm'ü azalan, baskı'yı artan düzende sıralayalım ve
// ortak bir anahtara göre sıralamak için $veri'yi son
// bağımsız değişken olarak ekleyelim
array_multisort($bölüm, SORT_DESC, $baskı, SORT_ASC, $veri);
?>

Veri kümemiz artık sıraya dizildi:

bölüm | baskı
------+------
   98 |     2
   86 |     1
   86 |     6
   85 |     6
   67 |     2
   67 |     7

Örnek 4 - Harf büyüklüğüne duyarsız sıralama

SORT_STRING ve SORT_REGULAR seçenekleri harf büyüklüğüne duyarlı olup, büyük harf ile başlayan dizgeler sıralamada küçük harfle başlayanlardan önce gelir.

Harf büyüklüğüne duyarsız sıralama yapmak için özgün dizinin önce küçük harfli bir kopyası oluşturulur.

<?php
$dizi = array('Alpha', 'atomic', 'Beta', 'bank');
$küçük_harfli_dizi = array_map('strtolower', $array);

array_multisort($küçük_harfli_dizi, SORT_ASC, SORT_STRING, $dizi);

print_r($array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Alpha
    [1] => atomic
    [2] => bank
    [3] => Beta
)

Ayrıca Bakınız

  • usort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar
  • Dizilerde Sıralama


Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir

  • « array_multisort
  • array_pop »
  • PHP Manual
  • Dizi İşlevleri
  • Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir

array_pad

(PHP 4, PHP 5, PHP 7, PHP 8)

array_pad — Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir

Açıklama

array_pad(array $dizi, int $uzunluk, mixed $değer): array

array_pad() işlevi yeni elemanlara değer değerini yerleştirerek uzunluk elemanlı bir dizi ile döner. Eğer uzunluk olarak pozitif bir değer belirtilmişse yeni elemanlar dizinin sonuna, negatif bir değer için ise dizinin başına eklenir. Eğer uzunluk'un mutlak değeri dizinin mevcut boyutundan küçük veya ona eşitse dizide değişiklik olmaz. Bir seferde en fazla 1048576 eleman belirtilebilir.

Bağımsız Değişkenler

dizi

Değer eklenecek dizi.

uzunluk

Dizinin yeni boyutu.

değer

dizi dizisinin eleman sayısı uzunluk'tan kısa ise eklenecek elemanların değeri.

Dönen Değerler

dizi dizisinin yeni elemanlarına değer değeri yerleştirilerek elde edilen uzunluk elemanlı yeni bir dizi ile döner. Eğer uzunluk olarak pozitif bir değer belirtilmişse yeni elemanlar dizinin sonuna, negatif bir değer için ise dizinin başına eklenir. Eğer uzunluk'un mutlak değeri dizinin mevcut boyutundan küçük veya ona eşitse dizide değişiklik olmaz.

Örnekler

Örnek 1 - array_pad() örneği

<?php
$input = array(12, 10, 9);

$result = array_pad($input, 5, 0);
// sonuç: array(12, 10, 9, 0, 0)

$result = array_pad($input, -7, -1);
// sonuç: array(-1, -1, -1, -1, 12, 10, 9)

$result = array_pad($input, 2, "noop");
// dizide değişiklik olmaz
?>

Ayrıca Bakınız

  • array_fill() - Bir diziyi değerlerle doldurur
  • range() - Belli bir eleman aralığını içeren bir dizi oluşturur


Dizinin sonundaki elemanı diziden çıkartır

  • « array_pad
  • array_product »
  • PHP Manual
  • Dizi İşlevleri
  • Dizinin sonundaki elemanı diziden çıkartır

array_pop

(PHP 4, PHP 5, PHP 7, PHP 8)

array_pop — Dizinin sonundaki elemanı diziden çıkartır

Açıklama

array_pop(array &$dizi): mixed

array_pop() dizi'deki son elemanı çıkartır ve son elemanın değerini döndürür, dizi bir eleman kısalır.

Bilginize: Bu işlev diziyi kullandıktan sonra girdi dizisinin dahili göstericisini ilk elemana konumlandırır.

Bağımsız Değişkenler

dizi

Değer alınacak dizi.

Dönen Değerler

dizi'nin son elemanının değerini döndürür. Eğer dizi boş ise null değer döndürür.

Örnekler

Örnek 1 - array_pop() örneği

<?php
$depo = array("portakal", "muz", "elma", "ahududu");
$meyve = array_pop($depo);
print_r($depo);
?>

Bundan sonra, $depo üç elemana sahiptir:

Array
(
    [0] => portakal
    [1] => muz
    [2] => elma
)

Ve ahududu $meyve değişkenine atanmıştır.

Ayrıca Bakınız

  • array_push() - Belli sayıda elemanı dizinin sonuna ekler
  • array_shift() - Dizini başlangıcından bir eleman çeker
  • array_unshift() - Bir dizinin başlangıcına bir veya daha fazla eleman ekler


Bir dizideki değerlerin çarpımını bulur

  • « array_pop
  • array_push »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki değerlerin çarpımını bulur

array_product

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

array_product — Bir dizideki değerlerin çarpımını bulur

Açıklama

array_product(array $dizi): int|float

array_product() işlevi bir dizideki değerlerin çarpımını döndürür.

Bağımsız Değişkenler

dizi

Dizi.

Dönen Değerler

Çarpımı bir tamsayı veya gerçek sayı olarak döndürür.

Örnekler

Örnek 1 - array_product() örneği

<?php

$a = array(2, 4, 6, 8);
echo "çarpım(a) = " . array_product($a) . "\n";
echo "çarpım(array()) = " . array_product(array()) . "\n";
?>

Yukarıdaki örneğin çıktısı:

çarpım(a) = 384
çarpım(array()) = 1


Belli sayıda elemanı dizinin sonuna ekler

  • « array_product
  • array_rand »
  • PHP Manual
  • Dizi İşlevleri
  • Belli sayıda elemanı dizinin sonuna ekler

array_push

(PHP 4, PHP 5, PHP 7, PHP 8)

array_push — Belli sayıda elemanı dizinin sonuna ekler

Açıklama

array_push(array &$dizi, mixed ...$değerler): int

array_push() işlevi dizi dizisini bir yığıt olarak ele alır ve aktarılan değerleri yığıtın sonuna ekler. Yığıtın boyutu eklenen her değer için bir artar. İşlevin davranışı her değer için şu satırı işletmeye eşdeğerdir:

<?php
$array[] = $var;
?>

Bilginize: Diziye sadece bir eleman ekleyecekseniz array_push() işlevi yerine $array[] = kullanmak daha iyidir.

Bilginize: array_push() işlevi ilk eleman bir dizi değilse bir uyarı verir. $dizi[] ile yeni bir dizi oluştururken PHP 7.1.0 öncesinde böyle bir uyarı almazsınız.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

değerler

dizinin sonuna eklenecek değerler.

Dönen Değerler

Ekleme sonucunda dizideki eleman sayısı ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Bu işlev tek bağımsız değişken ile çağrılabilir. Evvelce en azından iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_push() örneği

<?php
$küme = array("elma", "armut");
array_push($küme, "muz", "portakal");
print_r($küme);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => elma
    [1] => armut
    [2] => muz
    [3] => portakal
)

Ayrıca Bakınız

  • array_pop() - Dizinin sonundaki elemanı diziden çıkartır
  • array_shift() - Dizini başlangıcından bir eleman çeker
  • array_unshift() - Bir dizinin başlangıcına bir veya daha fazla eleman ekler


Bir diziden belli sayıda rasgele anahtar döndürür

  • « array_push
  • array_reduce »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziden belli sayıda rasgele anahtar döndürür

array_rand

(PHP 4, PHP 5, PHP 7, PHP 8)

array_rand — Bir diziden belli sayıda rasgele anahtar döndürür

Açıklama

array_rand(array $dizi, int $istek_sayısı = 1): int|string|array

array_rand() işlevi bir diziden belli sayıda rasgele eleman seçer ve bunların anahtarlarını döndürür.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

istek_sayısı

Kaç tane rasgele eleman döndürüleceği belirtilir.

Dönen Değerler

Sadece bir girdi alınmak istenirse array_rand() işlevi diziden rasgele bir anahtarla döner. Aksi takdirde, rasgele elemanların anahtarlarını içeren bir dizi döndürür. Böylece, diziden rasgele anahtarlar değerleriyle birlikte bir dizi olarak çekilmiş olur. Birden fazla anahtar döndürülüyorsa, bunlar dizideki yerlerine uygun sırada çekilir. Dizideki öğe sayısından daha fazla öğe çekilmek istenirse E_WARNING seviyesinde bir hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.10 | Dahili rasgelelik algoritması değiştirildi. Libc rand işlevi yerine artık » Mersenne Twister Rasgele Sayı Üreteci kullanılıyor.
4.2.0 | Rasgele sayı üreteci otomatik tohumlanır.

Örnekler

Örnek 1 - array_rand() örneği

<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>

Ayrıca Bakınız

  • Random\Randomizer::pickArrayKeys() - Select random array keys
  • Random\Randomizer::shuffleArray() - Get a permutation of an array


Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür

  • « array_rand
  • array_replace_recursive »
  • PHP Manual
  • Dizi İşlevleri
  • Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür

array_reduce

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_reduce — Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür

Açıklama

array_reduce(array $girdi, callback $işlev, mixed $ilk_değer = null): mixed

array_reduce() işlevi işlev işlevini girdi dizisinin bütün elemanlarına tek tek uygulayıp sonucu döndürür.

Bağımsız Değişkenler

girdi

Girdi olarak bir dizi.

işlev
işlev(mixed $önceki, mixed $şimdiki): mixed
önceki

Önceki yinelemenin dönüş değerini tutar. İlk yineleme için ilk_değer'in değeridir.

şimdiki

Geçerli yinelemenin değerini tutar.

ilk_değer

Seçimlik ilk_değer bağımsız değişkeni verilmişse ve dizi boşsa işlevin dönüş değeri ilk_değer olur, aksi takdirde ilk_değer işleme sokulan ilk değer olur.

Dönen Değerler

Elde edilen sonucu döndürür.

Eğer dizi boşsa ve bir ilk_değer belirtilmemişse array_reduce() null döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - array_reduce() örneği

<?php
function topla($önceki, $şimdiki)
{
$önceki += $şimdiki;
return $önceki;
}

function çarp($önceki, $şimdiki)
{
$önceki *= $şimdiki;
return $önceki;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
var_dump(array_reduce($a, "topla")); // int(15)
var_dump(array_reduce($a, "çarp", 10)); // int(1200), çünkü: 10*1*2*3*4*5
var_dump(array_reduce($x, "topla", "Yeterli veri yok ")); // string(17) "Yeterli veri yok "
?>

Ayrıca Bakınız

  • array_filter() - Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • array_unique() - Diziden yinelenen değerleri siler
  • array_count_values() - Bir dizideki her farklı değerlerle ilgili oluşumları sayar


İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller

  • « array_reduce
  • array_replace »
  • PHP Manual
  • Dizi İşlevleri
  • İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller

array_replace_recursive

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace_recursive — İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller

Açıklama

array_replace_recursive(array $dizi, array ...$diziler): array

dizi dizisinin değerlerini belirtilen diğer dizilerin değerleriyle günceller. İlk dizideki bir anahtar ikinci dizide mevcutsa ilk dizideki değer ikinciden güncellenir. İkinci dizide olup ilk dizide olmayan anahtarlar ilk dizide oluşturulur. Sadece ilk dizide bulunan anahtarların değerlerine dokunulmaz. Birden fazla güncelleyici dizi belirtilmişse diziler sırayla işlenir; yani daima sonraki dizideki değerler daima üste yazar.

array_replace_recursive() ardışık işlem yapar: alt dizilerdeki değerleri de aynı şekilde günceller.

İlk dizideki değer sayıl bir değerse, ikinci dizideki sayıl veya dizi değerle güncellenir. İlk ve ikinci dizideki değerlerin ikisi de dizi ise güncelleme işlemi bu alt dizilere ardışık olarak uygulanır.

Bağımsız Değişkenler

dizi

Elemanları güncellenecek dizi.

diziler

İlk diziyi güncelleyecek diziler.

Dönen Değerler

Bir dizi döner.

Örnekler

Örnek 1 - array_replace_recursive() örneği

<?php
$esas = array('kışlık' => array( "portakal"),
'yazlık' => array("karpuz", "kavun"), );
$ikame = array('kışlık' => array('mandalina'),
'yazlık' => array('üzüm'));

$sepet = array_replace_recursive($esas, $ikame);
print_r($sepet);

$sepet = array_replace($esas, $ikame);
print_r($sepet);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [kışlık] => Array
        (
            [0] => mandalina
        )

    [yazlık] => Array
        (
            [0] => üzüm
            [1] => kavun
        )

)
Array
(
    [kışlık] => Array
        (
            [0] => mandalina
        )

    [yazlık] => Array
        (
            [0] => üzüm
        )

)

Örnek 2 - array_replace_recursive()ve ardışık işlem

<?php
$esas = array('kışlık' => array("portakal"),
'yazlık' => array("kavun", "karpuz"),
'diğer' => 'avakado' );
$ikame = array('kışlık' => 'mandalina',
'yazlık' => array('üzüm'),
'diğer' => array('ananas'));
$ikame2 = array('kışlık' => array('nar'),
'yazlık' => array('üzüm'),
'diğer' => 'muz');

$sepet = array_replace_recursive($esas, $ikame, $ikame2);
print_r($sepet);

?>

Yukarıdaki örneğin çıktısı:

Array
(
    [kışlık] => Array
        (
            [0] => nar
        )

    [yazlık] => Array
        (
            [0] => üzüm
            [1] => karpuz
        )

    [diğer] => muz
)

Ayrıca Bakınız

  • array_replace() - İlk dizinin elemanlarını aktarılan dizilerden günceller
  • array_merge_recursive() - Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur


İlk dizinin elemanlarını aktarılan dizilerden günceller

  • « array_replace_recursive
  • array_reverse »
  • PHP Manual
  • Dizi İşlevleri
  • İlk dizinin elemanlarını aktarılan dizilerden günceller

array_replace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

array_replace — İlk dizinin elemanlarını aktarılan dizilerden günceller

Açıklama

array_replace(array $dizi, array ...$diziler): array

dizi dizisinin değerlerini belirtilen diğer dizilerin değerleriyle günceller. İlk dizideki bir anahtar ikinci dizide mevcutsa ilk dizideki değer ikinciden güncellenir. İkinci dizide olup ilk dizide olmayan anahtarlar ilk dizide oluşturulur. Sadece ilk dizide bulunan anahtarların değerlerine dokunulmaz. Birden fazla güncelleyici dizi belirtilmişse diziler sırayla işlenir; yani sonraki dizideki değerler daima üste yazar.

array_replace() ardışık işlem yapmaz; ikinci dizide ne varsa ilkini onunla günceller.

Bağımsız Değişkenler

dizi

Elemanları güncellenecek dizi.

diziler

İlk diziyi güncelleyecek diziler. Sonraki dizilerin değerleri öncekilerin değerlerini geçersiz kılar.

Dönen Değerler

Bir dizi döner.

Örnekler

Örnek 1 - array_replace() örneği

<?php
$esas = array("portakal", "muz", "elma", "armut");
$ikame = array(0 => "karpuz", 4 => "kavun");
$ikame2 = array(0 => "kiraz");

$sepet = array_replace($esas, $ikame, $ikame2);
print_r($sepet);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => kiraz
    [1] => muz
    [2] => elma
    [3] => armut
    [4] => kavun
)

Ayrıca Bakınız

  • array_replace_recursive() - İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller
  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur


Diziyi tersine sıralayıp döndürür

  • « array_replace
  • array_search »
  • PHP Manual
  • Dizi İşlevleri
  • Diziyi tersine sıralayıp döndürür

array_reverse

(PHP 4, PHP 5, PHP 7, PHP 8)

array_reverse — Diziyi tersine sıralayıp döndürür

Açıklama

array_reverse(array $dizi, bool $anahtarları_koru = false): array

Belirtilen dizi dizisini alıp elemanlarını tersine sıralayıp yeni bir dizi olarak döndürür.

Bağımsız Değişkenler

dizi

Girdi olarak alınan dizi.

anahtarları_koru

true belirtilirse dizideki sayısal anahtarlar korunur. Sayısal olmayan anahtarlar bu ayardan etkilenmez ve daima korunur.

Dönen Değerler

Tersine sıralanmış diziyi döndürür.

Örnekler

Örnek 1 - array_reverse() örneği

<?php
$girdi = array("php", 4.0, array("green", "red"));
$normal = array_reverse($girdi);
$korunan = array_reverse($girdi, true);

print_r($girdi);
print_r($normal);
print_r($korunan);
?>
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => php
    [1] => 4
    [2] => Array
        (
            [0] => green
            [1] => red
        )

)
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

Ayrıca Bakınız

  • array_flip() - Bir dizideki anahtarlarla değerleri yer değiştirir


Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür

  • « array_reverse
  • array_shift »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür

array_search

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

array_search — Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür

Açıklama

array_search(mixed $iğne, array $samanlık, bool $türüne_bak = false): int|string|false

samanlık'ta iğne arar.

Bağımsız Değişkenler

iğne

Aranacak değer.

Bilginize:

iğne bir dizge ise karşılaştırma harf büyüklüğüne duyarlıdır.

samanlık

Değerin aranacağı dizi.

türüne_bak

Üçüncü türüne_bak bağımsız değişkenine true belirtilmişse array_search() işlevi samanlıkta iğne ile özdeş öğeleri arayacaktır. Bu, samanlıktaki iğne ile sıkı bir tür karşılaştırması yapılacağı ve nesnelerin aynı örneğin üyeleri olması gerektiği anlamına gelir.

Dönen Değerler

Bulursa ilk iğne'nin anahtarını bulamazsa false döndürür.

Eğer iğne, samanlık içinde birden fazla varsa ilk bulunan döndürülür. Eşleşen tüm değerlerin anahtarlarını döndürmek isterseniz bu işlevi kullanmak yerine, array_keys() işlevini seçimlik arama_değeri bağımsız değişkeni ile kullanın.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Örnekler

Örnek 1 - array_search() örneği

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array); // $key = 1;
?>

Ayrıca Bakınız

  • array_keys() - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
  • array_values() - Bir dizinin tüm değerlerini döndürür
  • array_key_exists() - Belirtilen anahtar veya indis dizide var mı diye bakar
  • in_array() - Bir dizide bir değerin varlığını araştırır


Dizini başlangıcından bir eleman çeker

  • « array_search
  • array_slice »
  • PHP Manual
  • Dizi İşlevleri
  • Dizini başlangıcından bir eleman çeker

array_shift

(PHP 4, PHP 5, PHP 7, PHP 8)

array_shift — Dizini başlangıcından bir eleman çeker

Açıklama

array_shift(array &$deste): mixed

array_shift() işlevi deste dizisinin ilk elemanını çekip döndürürken diziden o elemanı eksiltip diziyi yeniden indisler. Sayısal anahtarlar sıfırdan başlayarak yeniden oluşturulurken sayısal olmayan anahtarlar bundan etkilenmez.

Bilginize: Bu işlev diziyi kullandıktan sonra girdi dizisinin dahili göstericisini ilk elemana konumlandırır.

Bağımsız Değişkenler

deste

İlk elemanı çekilecek dizi.

Dönen Değerler

deste bir dizi değilse veya boş bir dizi ise null yoksa çekilen değerle döner.

Örnekler

Örnek 1 - array_shift() örneği

<?php
$deste = array("as", "papaz", "kız", "vale");
$kart = array_shift($deste);
print_r($deste);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => papaz
    [1] => kız
    [2] => vale
)

$kart değişkenine ise as atanır.

Ayrıca Bakınız

  • array_unshift() - Bir dizinin başlangıcına bir veya daha fazla eleman ekler
  • array_push() - Belli sayıda elemanı dizinin sonuna ekler
  • array_pop() - Dizinin sonundaki elemanı diziden çıkartır


Bir dizinin belli bir bölümünü döndürür

  • « array_shift
  • array_splice »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin belli bir bölümünü döndürür

array_slice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_slice — Bir dizinin belli bir bölümünü döndürür

Açıklama

array_slice(
array $girdi,
int $başlangıç,
?int $uzunluk = null,
bool $indisleri_koru = false
): array

array_slice() işlevi girdi dizisinin başlangıç'tan itibaren uzunluk sayıda elemanından oluşan bir dizi ile döner.

Bağımsız Değişkenler

girdi

Girdi dizisi.

başlangıç

başlangıç pozitif bir değerse silinecek kısmın başlangıcı girdi dizisinin başlangıcından itibaren sayılır.

Negatif bir değerse girdi dizisinin sonundan itibaren sayılır.

Bilginize:

başlangıç bir anahtar değil, dizideki bir konumu belirtir.

uzunluk

Belirtilmişse ve pozitifse başlangıç'tan dizi sonuna kadar uzunluk sayıda eleman silinir.

Dizinin eleman sayısı uzunluk'tan azsa sadece mevcut elemanlarla işlem yapılır.

Negatifse başlangıç'tan dizi sonuna kadar, dizi sonundan belirtilen sayıda eleman hariç herşey silinir.

uzunluk verilmezse, başlangıç'tan dizi sonuna kadar herşey silinir.

indisleri_koru

Bilginize:

array_slice() öntanımlı olarak dizi indislerini sıfırdan itbaren yeniden oluşturur. indisleri_koru bağımsız değişkeninde true aktararak bu davranış değiştirilebilir. Bu bağımsız değişkene bakmaksızın, dizge anahtarlar daima korunur.

Dönen Değerler

Dizinin istenen parçasıyla döner. başlangıç dizinin eleman sayısından büyükse boş dizi döner.

Örnekler

Örnek 1 - array_slice() örnekleri

<?php
$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2); // çıktısı: "c", "d", "e"
$output = array_slice($input, -2, 1); // çıktısı: "d"
$output = array_slice($input, 0, 3); // çıktısı: "a", "b", "c"

// dizi indisleri arasındaki farklara dikkat edin
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)

Örnek 2 - 1 indisiyle başlayan dizi

<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => b
    [1] => c
)

Örnek 3 - Karışık anahtarlı dizi

<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => apple
    [b] => banana
    [0] => pear
)
Array
(
    [a] => apple
    [b] => banana
    [42] => pear
)

Ayrıca Bakınız

  • array_chunk() - Bir diziyi belli uzunlukta bölümlere ayırır
  • array_splice() - Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
  • unset() - Belirtilen değişkeni bildirimsiz yapar


Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar

  • « array_slice
  • array_sum »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar

array_splice

(PHP 4, PHP 5, PHP 7, PHP 8)

array_splice — Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar

Açıklama

array_splice(
array &$girdi,
int $başlangıç,
?int $uzunluk = null,
mixed $yenisi = []
): array

girdi dizisinin başlangıç indisinden başlayan uzunluk sayıda elemanını siler ve belirtildiği takdirde, bunların yerlerine yenisi'ni yerleştirir.

Bilginize:

girdi içindeki sayısal anahtarlar korunmaz.

Bilginize: Eğer yenisi bir dizi değilse (array) $yenisi şeklinde bir tür dönüşümüne tabi tutulacaktır. yenisi olarak bir nesne veya null belirttiğiniz takdirde bu durum beklenmedik sonuçlar verebilir.

Bağımsız Değişkenler

girdi

Üzerinde işlem yapılacak dizi.

başlangıç

başlangıç pozitif bir değerse silinecek kısmın başlangıcı girdi dizisinin başlangıcından itibaren sayılır.

Negatif bir değerse girdi dizisinin sonundan itibaren sayılır.

uzunluk

uzunluk verilmezse, başlangıç'tan dizi sonuna kadar herşey silinir.

Belirtilmişse ve pozitifse başlangıç'tan dizi sonuna kadar belirtilen kadar eleman silinir.

Belirtilmişse ve negatifse başlangıç'tan dizi sonuna kadar, dizi sonundan belirtilen sayıda eleman hariç herşey silinir.

İpucu

başlangıç'tan dizi sonuna kadar herşeyin silindiği durumda yenisi de belirtilecekse uzunluk için count($girdi) ifadesini kullanın.

yenisi

yenisi dizisi belirtilmişse silinen elemanların yerine bu dizi konur.

Eğer başlangıç ve uzunluk ile hiçbir şey silinmiyorsa yenisi dizisi başlangıç konumunda dizi elemanlarının arasına yerleştirilir.

Bilginize:

Yerleştirme sırasında yenisi dizisindeki anahtarlar korunmaz.

Eğer yenisi tek bir elemandan ibaretse ve bir dizi, nesne veya null değilse değeri array() veya köşeli parantezlerle sarmalamak gerekli değildir.

Dönen Değerler

Diziden kaldırılan elemanlardan oluşan bir dizi ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | uzunluk artık boş olabiliyor.

Örnekler

Örnek 1 - array_splice() örnekleri

<?php
$input = array("red", "green", "blue", "yellow");
array_splice($input, 2);
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, -1);
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, 1, count($input), "orange");
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, -1, 1, array("black", "maroon"));
var_dump($input);

$input = array("red", "green", "blue", "yellow");
array_splice($input, 3, 0, "purple");
var_dump($input);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
}
array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(6) "yellow"
}
array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(6) "orange"
}
array(5) {
  [0]=>
  string(3) "red"
  [1]=>
  string(5) "green"
  [2]=>
  string(4) "blue"
  [3]=>
  string(5) "black"
  [4]=>
  string(6) "maroon"
}

Örnek 2 - array_splice() ve eşdeğerlerine örnekler

Aşağıdaki deyimler eşdeğerdir:

<?php

// $input'a iki elemen ekle
array_push($input, $x, $y);
array_splice($input, count($input), 0, array($x, $y));

// $input'un son elemanını sil
array_pop($input);
array_splice($input, -1);

// $input'un ilk elemanını sil
array_shift($input);
array_splice($input, 0, 1);

// $input'un başına bir eleman ekle
array_unshift($input, $x, $y);
array_splice($input, 0, 0, array($x, $y));

// $input'un $x indisindeki değerini değiştir
$input[$x] = $y; // anahtarlarla konumların aynı olduğu durumda
array_splice($input, $x, 1, $y);

?>

Ayrıca Bakınız

  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_slice() - Bir dizinin belli bir bölümünü döndürür
  • unset() - Belirtilen değişkeni bildirimsiz yapar


Bir dizideki değerlerin toplamını hesaplar

  • « array_splice
  • array_udiff_assoc »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki değerlerin toplamını hesaplar

array_sum

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

array_sum — Bir dizideki değerlerin toplamını hesaplar

Açıklama

array_sum(array $dizi): int|float

array_sum() işlevi belirtilen dizideki değerlerin toplamını bulur.

Bağımsız Değişkenler

dizi

Değerleri toplanacak dizi.

Dönen Değerler

Toplam bir tamsayı veya gerçek sayı olarak döner. dizi boşsa 0 döner.

Örnekler

Örnek 1 - array_sum() örnekleri

<?php
$a = array(2, 4, 6, 8);
echo "sum(a) = " . array_sum($a) . "\n";

$b = array("a" => 1.2, "b" => 2.3, "c" => 3.4);
echo "sum(b) = " . array_sum($b) . "\n";
?>

Yukarıdaki örneğin çıktısı:

sum(a) = 20
sum(b) = 6.9


Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

  • « array_sum
  • array_udiff_uassoc »
  • PHP Manual
  • Dizi İşlevleri
  • Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

array_udiff_assoc

(PHP 5, PHP 7, PHP 8)

array_udiff_assoc — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

Açıklama

array_udiff_assoc(array $dizi, array ...$diziler, callable $değer_karş_işlevi): array

Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur.

Bilginize: Bu işlevin bir n boyutlu dizinin tek bir boyutunu ele alacağına dikkat ediniz. Şüphesiz daha fazla sayıda boyutun hesaba katılmasını, örneğin array_udiff_assoc($dizi1[0], $dizi2[0], "veri_karş_işlevi"); gibi bir kullanımla sağlayabilirsiniz.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Diğer bağımsız değişkenlerin hiçbirinde mevcut olmayan tüm dizi değerlerini içeren bir dizi ile döner. Karşılaştırmada array_diff() ve array_udiff() işlevlerinden farklı olarak anahtarlar kullanılır. Verilerin karşılaştırması kullanıcı tarafından tanımlanmış bir işlev kullanılarak yapılır. Verileri karşılaştırmak için dahili bir işlev kullanan array_diff_assoc() işlevinden farklı olarak bu işlev kullanıcı tanımlı bir işlev kullanır.

Örnekler

Örnek 1 - array_udiff_assoc() örneği

<?php
class cr {
private $priv_member;
function __construct($val)
{
$this->priv_member = $val;
}

static function comp_func_cr($a, $b)
{
if ($a->priv_member === $b->priv_member) return 0;
return ($a->priv_member > $b->priv_member)? 1:-1;
}
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23),
1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3),
1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_assoc($a, $b, array("cr", "comp_func_cr"));
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Yukarıdaki örnekte gördüğünüz gibi "1" => new cr(4) çifti her iki dizide de mevcut olduğundan çıktıda gözükmemektedir.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

  • « array_udiff_assoc
  • array_udiff »
  • PHP Manual
  • Dizi İşlevleri
  • Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

array_udiff_uassoc

(PHP 5, PHP 7, PHP 8)

array_udiff_uassoc — Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur

Açıklama

array_udiff_uassoc(
array $dizi,
array ...$diziler,
callable $değer_karş_işlevi,
callable $anh_karş_işlevi
): array

Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur.

Karşılaştırmada array_diff() ve array_udiff() işlevlerinden farklı olarak anahtarlar kullanılır.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

anh_karş_işlevi

Anahtarları (indisleri) ayrıca karşılaştırmak için bu işlev kullanılır. Anahtarları karşılaştırmak için dahili bir işlev kullanan array_udiff_assoc() işlevinden farklı olarak bu işlev kullanıcı tanımlı bir işlev kullanır.

Dönen Değerler

Diğer bağımsız değişkenlerin hiçbirinde mevcut olmayan tüm dizi değerlerini içeren bir dizi ile döner.

Örnekler

Örnek 1 - array_udiff_uassoc() örneği

<?php
class cr {
private $priv_member;
function __construct($val)
{
$this->priv_member = $val;
}

static function comp_func_cr($a, $b)
{
if ($a->priv_member === $b->priv_member) return 0;
return ($a->priv_member > $b->priv_member)? 1:-1;
}

static function comp_func_key($a, $b)
{
if ($a === $b) return 0;
return ($a > $b)? 1:-1;
}
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23),
1 => new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3),
1 => new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"),
array("cr", "comp_func_key"));
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

Yukarıdaki örnekte gördüğünüz gibi "1" => new cr(4) çifti her iki dizide de mevcut olduğundan çıktıda gözükmemektedir. 2 geriçağırım işlevi belirtmeyi unutmayın.

Notlar

Bilginize: Bu işlevin bir n boyutlu dizinin tek bir boyutunu ele alacağına dikkat ediniz. Şüphesiz daha fazla sayıda boyutun hesaba katılmasını, örneğin array_udiff_uassoc($dizi1[0], $dizi2[0], "veri_karş_işlevi", "anh_karş_işlevi"); gibi bir kullanımla sağlayabilirsiniz.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur

  • « array_udiff_uassoc
  • array_uintersect_assoc »
  • PHP Manual
  • Dizi İşlevleri
  • Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur

array_udiff

(PHP 5, PHP 7, PHP 8)

array_udiff — Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur

Açıklama

array_udiff(array $dizi, array ...$diziler, callable $değer_karş_işlevi): array

Veri karşılaştırması için dahili bir işlev kullanan array_diff() işlevinden farklı olarak, veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Diğer bağımsız değişkenlerin hiçbirinde mevcut olmayan tüm dizi değerlerini içeren bir dizi ile döner.

Örnekler

Örnek 1 - stdClass nesneleri kullanılan array_udiff() örneği

<?php
// Karşılaştırılacak diziler
$array1 = array(new stdClass, new stdClass,
new stdClass, new stdClass,
);

$array2 = array(
new stdClass, new stdClass,
);

// Her nesneye özellik ata
$array1[0]->width = 11; $array1[0]->height = 3;
$array1[1]->width = 7; $array1[1]->height = 1;
$array1[2]->width = 2; $array1[2]->height = 9;
$array1[3]->width = 5; $array1[3]->height = 7;

$array2[0]->width = 7; $array2[0]->height = 5;
$array2[1]->width = 9; $array2[1]->height = 2;

function compare_by_area($a, $b) {
$areaA = $a->width * $a->height;
$areaB = $b->width * $b->height;

if ($areaA < $areaB) {
return -1;
} elseif ($areaA > $areaB) {
return 1;
} else {
return 0;
}
}
print_r(array_udiff($array1, $array2, 'compare_by_area'));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => stdClass Object
         (
            [width] => 11
            [height] => 3
         )

    [1] => stdClass Object
         (
            [width] => 7
            [height] => 1
        )

)

Örnek 2 - DateTime nesneleri kullanılan array_udiff() örneği

<?php
class MyCalendar {
public $free = array();
public $booked = array();

public function __construct($week = 'now') {
$start = new DateTime($week);
$start->modify('Monday this week midnight');
$end = clone $start;
$end->modify('Friday this week midnight');
$interval = new DateInterval('P1D');
foreach (new DatePeriod($start, $interval, $end) as $freeTime) {
$this->free[] = $freeTime;
}
}

public function bookAppointment(DateTime $date, $note) {
$this->booked[] = array('date' => $date->modify('midnight'), 'note' => $note);
}

public function checkAvailability() {
return array_udiff($this->free, $this->booked, array($this, 'customCompare'));
}

public function customCompare($free, $booked) {
if (is_array($free)) $a = $free['date'];
else $a = $free;
if (is_array($booked)) $b = $booked['date'];
else $b = $booked;
if ($a == $b) {
return 0;
} elseif ($a > $b) {
return 1;
} else {
return -1;
}
}
}

// Haftalık randevular için bir takvim oluştur
$myCalendar = new MyCalendar;

// Bu hafta için bazı randevular al
$myCalendar->bookAppointment(new DateTime('Monday this week'), "Cleaning GoogleGuy's apartment.");
$myCalendar->bookAppointment(new DateTime('Wednesday this week'), "Going on a snowboarding trip.");
$myCalendar->bookAppointment(new DateTime('Friday this week'), "Fixing buggy code.");

// $booked tarihleri $free tarihlerle karşılaştırarak günlerin uygunluğuna bak
echo "I'm available on the following days this week...\n\n";
foreach ($myCalendar->checkAvailability() as $free) {
echo $free->format('l'), "\n";
}
echo "\n\n";
echo "I'm busy on the following days this week...\n\n";
foreach ($myCalendar->booked as $booked) {
echo $booked['date']->format('l'), ": ", $booked['note'], "\n";
}
?>

Yukarıdaki örneğin çıktısı:

I'm available on the following days this week...

Tuesday
Thursday

I'm busy on the following days this week...

Monday: Cleaning GoogleGuy's apartment.
Wednesday: Going on a snowboarding trip.
Friday: Fixing buggy code.

Notlar

Bilginize: Bu işlevin bir n boyutlu dizinin tek bir boyutunu ele alacağına dikkat ediniz. Şüphesiz daha fazla sayıda boyutun hesaba katılmasını, örneğin array_udiff($dizi1[0], $dizi2[0], "veri_karş_işlevi"); gibi bir kullanımla sağlayabilirsiniz.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

  • « array_udiff
  • array_uintersect_uassoc »
  • PHP Manual
  • Dizi İşlevleri
  • Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

array_uintersect_assoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_assoc — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

Açıklama

array_uintersect_assoc(array $dizi, array ...$diziler, callable $değer_karş_işlevi): array

Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar.

array_uintersect() işlevinin tersine karşılaştırmada anahtarlar kullanılır. Veri bir karşılaştırma işlevi kullanılarak karşılaştırılır.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut dizi değerlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_uintersect_assoc() örneği

<?php
$dizi1 = array("a" => "mor", "b" => "sarı", "c" => "mavi", "kırmızı");
$dizi2 = array("a" => "MOR", "B" => "sarı", "yeşil", "kırmızı");

print_r(array_uintersect_assoc($dizi1, $dizi2, "strcasecmp"));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => mor
)

Ayrıca Bakınız

  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

  • « array_uintersect_assoc
  • array_uintersect »
  • PHP Manual
  • Dizi İşlevleri
  • Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

array_uintersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_uassoc — Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar

Açıklama

array_uintersect_uassoc(
array $dizi,
array ...$diziler,
callable $değer_karş_işlevi,
callable $anh_karş_işlevi
): array

Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar. array_uintersect() işlevinin tersine karşılaştırmada anahtarlar kullanılır. Değerler ve anahtarlar ayrı karşılaştırma işlevleri kullanılarak karşılaştırılırlar.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

anh_karş_işlevi

Anahtarları karşılaştırmak için geriçağırım işlevi.

Dönen Değerler

Tüm bağımsız değişkenlerde mevcut tüm dizi değerlerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_uintersect_uassoc() örneği

<?php
$dizi1 = array("a" => "mor", "b" => "sarı", "c" => "mavi", "kırmızı");
$dizi2 = array("a" => "MOR", "B" => "sarı", "yeşil", "kırmızı");

print_r(array_uintersect_uassoc($dizi1, $dizi2, "strcasecmp", "strcasecmp"));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => mor
    [b] => sarı
)

Ayrıca Bakınız

  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar

  • « array_uintersect_uassoc
  • array_unique »
  • PHP Manual
  • Dizi İşlevleri
  • Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar

array_uintersect

(PHP 5, PHP 7, PHP 8)

array_uintersect — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar

Açıklama

array_uintersect(array $dizi, array ...$diziler, callable $değer_karş_işlevi): array

Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar.

Bağımsız Değişkenler

dizi

İlk dizi.

diziler

Karşılaştırılacak diziler.

değer_karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Tüm dizilerdeki ortak değerleri içeren bir dizi döndürür.

Örnekler

Örnek 1 - array_uintersect() örneği

<?php
$dizi1 = array("a" => "mor", "b" => "sarı", "c" => "mavi", "kırmızı");
$dizi2 = array("a" => "MOR", "B" => "sarı", "yeşil", "kırmızı");

print_r(array_uintersect($dizi1, $dizi2, "strcasecmp"));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => mor
    [b] => sarı
    [0] => kırmızı
)

Ayrıca Bakınız

  • array_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
  • array_uintersect_uassoc() - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar


Diziden yinelenen değerleri siler

  • « array_uintersect
  • array_unshift »
  • PHP Manual
  • Dizi İşlevleri
  • Diziden yinelenen değerleri siler

array_unique

(PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8)

array_unique — Diziden yinelenen değerleri siler

Açıklama

array_unique(array $dizi, int $seçenekler = SORT_STRING): array

dizi dizisinden yinelenen değerleri sildikten sonra yeni diziyi döndürür.

Anahtarlar korunacaktır. seçenekler bağımsız değişkeni ile belirtilen koşula göre anahtar ve değeri aynı olan ilk öğe korunur.

Bilginize: İki elemanın eşit kabul edilebilmesi için şu şart sağlanmış olmalıdır: (string) $elem1 === (string) $elem2. Yani, iki elemanın dizgesel gösterimleri aynıysa ilk eleman kullanılır.

Bağımsız Değişkenler

dizi

Üzerinde işlem yapılacak dizi.

seçenekler

İsteğe bağlı bu bağımsız değişken ile işlevin davranışını değiştirebilirsiniz.

Olası seçenekler:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır (türleri değiştirilmez).
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır
  • SORT_STRING - üyeler dizgesel olarak karşılaştırılır
  • SORT_LOCALE_STRING - öğeler dizgesel olarak geçerli yerele göre karşılaştırılır.

Dönen Değerler

Yinelenen değerler içermeyen bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | seçenekler SORT_STRING ise, evvelce dizi kopyalanıp benzersiz olmayan öğeler kaldırılırdı (sonradan dizi paketlenmeden), şimdi benzersiz öğeler eklenerek yeni bir dizi oluşturulmaktadır. Bu dizi, farklı sayısal indislerle oluşabilir.

Örnekler

Örnek 1 - array_unique() örneği

<?php
$girdi = array("a" => "yeşil", "kırmızı", "b" => "yeşil", "mavi", "kırmızı");
$sonuç = array_unique($girdi);
print_r($sonuç);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => yeşil
    [0] => kırmızı
    [1] => mavi
)

Örnek 2 - array_unique() ve türler

<?php
$input = array(4, "4", "3", 4, 3, "3");
$result = array_unique($input);
var_dump($result);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0] => int(4)
  [2] => string(1) "3"
}

Notlar

Bilginize: array_unique() çok boyutlu dizilerle çalışmak üzere tasarlanmamıştır.

Ayrıca Bakınız

  • array_count_values() - Bir dizideki her farklı değerlerle ilgili oluşumları sayar


Bir dizinin başlangıcına bir veya daha fazla eleman ekler

  • « array_unique
  • array_values »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin başlangıcına bir veya daha fazla eleman ekler

array_unshift

(PHP 4, PHP 5, PHP 7, PHP 8)

array_unshift — Bir dizinin başlangıcına bir veya daha fazla eleman ekler

Açıklama

array_unshift(array &$dizi, mixed ...$değerler): int

array_unshift() işlevi aktarılan elemanları array dizisinin önüne ekler. Elemanlar diziye işleve aktarıldıkları sıra ile eklenirler. Sayısal anahtarlar sıfırdan başlayacak şekilde değiştirilir fakat sayısal olmayan anahtarlar değiştirilmez.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

değerler

Başa eklenecek değerler.

Dönen Değerler

Dizeye eklenen üye sayısı ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Bu işlev artık tek bağımsız değişken ile çağrılabiliyor. Evvelce, en az iki bağımsız değişken gerekirdi.

Örnekler

Örnek 1 - array_unshift() örneği

<?php
$liste = [
"ayva",
"muz"
];

array_unshift($liste, "elma", "armut");
var_dump($liste);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  [0]=>
  string(4) "elma"
  [1]=>
  string(5) "armut"
  [2]=>
  string(4) "ayva"
  [3]=>
  string(3) "muz"
}

Örnek 2 - İlişkisel dizilerle kullanım

Bir ilişkisel dizi başka bir ilişkisel dizinin başına eklenirse, başa eklenen dizi sayısal olarak diğer diziye indislenir.

<?php
$meyveler = [
'elmalar' => [
'Amasya' => 'kırmızı',
'Ekşi' => 'yeşil',
],
'portakallar' => [
'Finike' => 'turuncu',
'Vaşington' => 'turuncu',
],
];
$sebzeler = [
'hıyarlar' => [
'Çengelköy' => 'yeşil',
'Acur' => 'yeşil',
],
'havuçlar' => [
'Turuncu' => 'turuncu',
'Şalgam' => 'mor',
],
'marullar' => [
'Kıvırcık' => 'yeşil',
'Göbek' => 'yeşil',
],
];

array_unshift($meyveler, $sebzeler);
var_dump($meyveler);

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  array(3) {
    ["hıyarlar"]=>
    array(2) {
      ["Çengelköy"]=>
      string(6) "yeşil"
      ["Acur"]=>
      string(6) "yeşil"
    }
    ["havuçlar"]=>
    array(2) {
      ["Turuncu"]=>
      string(7) "turuncu"
      ["Şalgam"]=>
      string(3) "mor"
    }
    ["marullar"]=>
    array(2) {
      ["Kıvırcık"]=>
      string(6) "yeşil"
      ["Göbek"]=>
      string(6) "yeşil"
    }
  }
  ["elmalar"]=>
  array(2) {
    ["Amasya"]=>
    string(10) "kırmızı"
    ["Ekşi"]=>
    string(6) "yeşil"
  }
  ["portakallar"]=>
  array(2) {
    ["Finike"]=>
    string(7) "turuncu"
    ["Vaşington"]=>
    string(7) "turuncu"
  }
}

Ayrıca Bakınız

  • array_merge() - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
  • array_shift() - Dizini başlangıcından bir eleman çeker
  • array_push() - Belli sayıda elemanı dizinin sonuna ekler
  • array_pop() - Dizinin sonundaki elemanı diziden çıkartır


Bir dizinin tüm değerlerini döndürür

  • « array_unshift
  • array_walk_recursive »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin tüm değerlerini döndürür

array_values

(PHP 4, PHP 5, PHP 7, PHP 8)

array_values — Bir dizinin tüm değerlerini döndürür

Açıklama

array_values(array $dizi): array

array_values() işlevi dizi dizisindeki tüm değerleri sayısal olarak indisleyerek döndürür.

Bağımsız Değişkenler

dizi

İşlenecek dizi.

Dönen Değerler

Değerleri indislenmiş bir dizi döndürür.

Örnekler

Örnek 1 - array_values() örneği

<?php
$dizi = array("beden" => "XL", "renk" => "sarı");
print_r(array_values($dizi));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => XL
    [1] => gold
)

Ayrıca Bakınız

  • array_keys() - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
  • array_combine() - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur


Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular

  • « array_values
  • array_walk »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular

array_walk_recursive

(PHP 5, PHP 7, PHP 8)

array_walk_recursive — Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular

Açıklama

array_walk_recursive(array|object &$dizi, callable $işlev, mixed $veri = null): bool

dizi dizisinin her elemanına kullanıcı tarafından tanımlanmış işlev geri çağırım işlevini uygular. Bu işlev iç içe dizilerde ardışık işlem yapar.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

işlev

Normalde, işlev iki bağımsız değişken alır. İlki dizi bağımsız değişkeninin değeri, ikincisi ise indis veya anahtardır.

Bilginize:

Eğer işlev geri çağırım işlevinin doğrudan dizinin kendisi üzerinde işlem yapması isteniyorsa işlevin ilk bağımsız değişkenini bir gönderim olarak belirtin. Böylece elemanlar üzerinde yapılan her değişiklik özgün dizide de yapılmış olur.

veri

Eğer isteğe bağlı veri bağımsız değişkeni belirtilmişse, değeri işlev geri çağırım işlevine üçüncü bağımsız değişken olarak aktarılır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - array_walk_recursive() örneği

<?php
$tatlı = array('a' => 'elma', 'b' => 'muz');
$meyveler = array('tatlı' => $tatlı, 'ekşi' => 'limon');

function baskı_deneme($öğe, $anh)
{
echo "$öğe $anh\n";
}

array_walk_recursive($meyveler, 'baskı_deneme');
?>

Yukarıdaki örneğin çıktısı:

elma a
muz b
limon ekşi

Farkedeğceğiniz gibi 'tatlı' anahtarı hiç gösterilmedi. Bir dizi içeren elemanların anahtarları işleve aktarılmaz.

Ayrıca Bakınız

  • array_walk() - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular


Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular

  • « array_walk_recursive
  • array »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular

array_walk

(PHP 4, PHP 5, PHP 7, PHP 8)

array_walk — Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular

Açıklama

array_walk(array|object &$dizi, callable $işlev, mixed $veri = null): bool

dizi dizisinin her elemanına kullanıcı tarafından tanımlanmış işlev işlevini uygular.

array_walk() işlevi dizinin dahili göstericisinin konumunda etkilenmez. Dizinin dahili göstericisini dikkate almaksızın dizi elemanları üzerinde sırayla işlem yapar.

Bağımsız Değişkenler

dizi

İşleme sokulacak dizi.

işlev

Normalde, işlev iki bağımsız değişken alır. İlki dizi bağımsız değişkeninin değeri, ikincisi ise indis veya anahtardır.

Bilginize:

Eğer işlev işlevinin doğrudan dizinin kendisi üzerinde işlem yapması gerekiyorsa işlevin ilk bağımsız değişkeni bir gönderim olarak belirtilir. Böylece elemanlar üzerinde yapılan her değişiklik özgün dizide de yapılmış olur.

Bilginize:

Birçok dahili işlev, (örneğin, strtolower()), beklenenden fazla bağımsız değişken aktarılırsa ve doğrudan işlev olarak kullanılamazsa bir uyarı çıktılar.

Potansiyel olarak yalnızca dizi değerleri değiştirilebilir; yapısı değiştirilemez, yani programcı öğeleri ekleyemez, ayarlayamaz veya yeniden sıralayamaz. Geri çağırım işlevi bu gereksinimi karşılamıyorsa, array_walk() işlevinin davranışı tanımsızdır ve öngörülemez.

veri

Eğer isteğe bağlı veri bağımsız değişkeni belirtilmişse, değeri işlev işlevine üçüncü bağımsız değişken olarak aktarılır.

Dönen Değerler

true döner.

Hatalar/İstisnalar

PHP 7.1.0'dan itibaren, geri çağırım işlevi 2'den fazla bağımsız değişken (dizi üyesinin değeri ve anahtarı) gerektiriyorsa veya isteğe bağlı veri bağımsız değişkeninin belirtilmesi durumunda 3'ten fazla bağımsız değişken gerektiriyorsa, bir ArgumentCountError istisnası üretilir. Evvelce, işlev belirtilenden daha fazla bağımsız değişken gerektirdiğinde array_walk() işlevinin yaptığı her işlev çağrısında E_WARNING seviyesinde bir uyarı üretilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | işlev geri çağırım işlevinin ikinci ve üçüncü bağımsız değişkeni için de gönderimli bağımsız değişken gerekiyorsa bu işlev artık E_WARNING seviyesinde bir uyarı üretiyor.

Örnekler

Örnek 1 - array_walk() örneği

<?php
$fruits = array("d" => "limon", "a" => "ayva", "b" => "muz", "c" => "elma");

function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}

function test_print($item2, $key)
{
echo "$key. $item2\n";
}

echo "Önce ...:\n";
array_walk($fruits, 'test_print');

array_walk($fruits, 'test_alter', 'fruit');
echo "... ve sonra:\n";

array_walk($fruits, 'test_print');
?>

Yukarıdaki örneğin çıktısı:

Önce ...:
d. limon
a. ayva
b. muz
c. elma
... ve sonra:
d. meyve: limon
a. meyve: ayva
b. meyve: muz
c. meyve: elma

Örnek 2 - İsimsiz işlev kullanılan array_walk() örneği

<?php
$elements = ['a', 'b', 'c'];

array_walk($elements, function ($value, $key) {
echo "{$key} => {$value}\n";
});

?>

Yukarıdaki örneğin çıktısı:

0 => a
1 => b
2 => c

Ayrıca Bakınız

  • array_walk_recursive() - Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
  • iterator_apply() - Call a function for every element in an iterator
  • list() - Değişkenlere bir dizi gibi atama yapar
  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • array_map() - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
  • foreach


Bir dizi oluşturur

  • « array_walk
  • arsort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizi oluşturur

array

(PHP 4, PHP 5, PHP 7, PHP 8)

array — Bir dizi oluşturur

Açıklama

array(mixed ...$değerler): array

Bir dizi oluşturur. Diziler hakkında ayrıntılı bilgi edinmek için array türünün belgesine bakınız.

Bağımsız Değişkenler

değerler

Burada, "indis => değerler", sözdizimi virgüllerle ayrılarak indis ve değerler tanımlanır. İndis string veya int türünde olabilir. İndis belirtilmezse 0'dan başlamak üzere otomatik olarak üretilir. İndis olarak bir tamsayı belirtilirse üretilecek sonraki indis, indis + 1 olacaktır. Eğer birbirinin aynı iki indis belirtilirse sonuncusu öncekini geçersiz kılar.

Son tanımlanan dizi elemanından sonra bir virgül konursa, yararsız olmakla beraber sözdizimsel olarak geçerlidir.

Dönen Değerler

Bağımsız değişkenlerle tanımlanan diziyi döndürür. Bağımsız değişkenlerde => işleci ile bir indis belirtilebilir. Diziler hakkında daha ayrıntılı bilgi için array türünün belgesine bakınız.

Örnekler

Aşağıdaki örnekte iki boyutlu bir dizinin nasıl oluşturulduğu, ilişkisel bir dizide anahtarların nasıl belirtildiği ve normal dizilerde sayısal indislerin nasıl atlanarak devam edileceği gösterilmiştir.

Örnek 1 - array() örneği

<?php
$fruits = array (
"meyveler" => array("a" => "portakal", "b" => "muz", "c" => "elma"),
"numaralar" => array(1, 2, 3, 4, 5, 6),
"delikler" => array("ilk", 5 => "ikinci", "üçüncü")
);
?>

Örnek 2 array() ile otomatik indis üretimi

<?php
$array = array(1, 1, 1, 1, 1, 8 => 1, 4 => 1, 19, 3 => 13);
print_r($array);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Dikkat ederseniz, '3' indisi iki kere tanımlandı. Ancak son değer olan 13 saklandı. 4 indisi 8 indisinden sonra tanımlandı ve en büyük indis 8 olduğundan ondan sonra üretilen indis 9 oldu.

Bu örnek 1 indisinden başlayan bir dizi oluşturuyor.

Örnek 3 - İlk indisi 1 olan dizi üretimi

<?php
$firstquarter = array(1 => 'January', 'February', 'March');
print_r($firstquarter);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [1] => January
    [2] => February
    [3] => March
)

Perl'de olduğu gibi çift tırnak içine alınmış bir dizi içindeki bir değere erişebilirsiniz. Ancak PHP'de diziyi kaşlı ayraçlar arasına almak zorunda değilsiniz.

Örnek 4 - Çift tırnak içine alınmış bir diziye erişim

<?php

$foo = array('bar' => 'baz');
echo "Hello {$foo['bar']}!"; // Çıktısı: Hello baz!

?>

Notlar

Bilginize:

array() normal bir işlev değil, dizileri birebir göstermekte kullanılan bir dil oluşumudur.

Ayrıca Bakınız

  • array_pad() - Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir
  • list() - Değişkenlere bir dizi gibi atama yapar
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • range() - Belli bir eleman aralığını içeren bir dizi oluşturur
  • foreach
  • array türü


Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar

  • « array
  • asort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar

arsort

(PHP 4, PHP 5, PHP 7, PHP 8)

arsort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar

Açıklama

arsort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bu işlev bir dizinin "değerlerini" anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar.

Esas olarak, asıl eleman sırasının önemli olduğu ilişkisel dizilerin sıralanmasında kullanılır.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - arsort() örneği

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
arsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

a = orange
d = lemon
b = banana
c = apple

Meyveler alfabetik olarak ters sırada basılırken indisleri ile ilişkileri korunmuştur.

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • asort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar
  • Dizilerde Sıralama


Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar

  • « arsort
  • compact »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar

asort

(PHP 4, PHP 5, PHP 7, PHP 8)

asort — Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar

Açıklama

asort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bu işlev bir dizinin "değerlerini" anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar.

Esas olarak, asıl eleman sırasının önemli olduğu ilişkisel dizilerin sıralanmasında kullanılır.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - asort() örneği

<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
asort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

c = apple
b = banana
d = lemon
a = orange

Meyveler alfabetik sırada basılırken indisleri ile ilişkileri korunmuştur.

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • arsort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
  • Dizilerde Sıralama


Değişkenlerle değerlerinden bir dizi oluşturur

  • « asort
  • count »
  • PHP Manual
  • Dizi İşlevleri
  • Değişkenlerle değerlerinden bir dizi oluşturur

compact

(PHP 4, PHP 5, PHP 7, PHP 8)

compact — Değişkenlerle değerlerinden bir dizi oluşturur

Açıklama

compact(array|string $değişken, array|string ...$değişkenler): array

Değişkenlerle değerlerinden bir dizi oluşturur.

compact() işlevi, değişken ile belirtilen değişkenlerden ismi simge tablosunda yer alanları, değerleriyle birlikte çıktılayacağı diziye ekler; değişken isimleri anahtar olarak kullanılır. Özetle, extract() işlevinin yaptığının tersini yapar.

Bilginize:

PHP 7.3 öncesinde, değer atanmamış dizgeler sessizce atlanırdı.

Bağımsız Değişkenler

değişken
değişkenler

compact() işlevi bu bağımsız değişkenden sınırsız sayıda kabul edebilir. Her bağımsız değişken değişken ismini içeren bir dizge olabileceği gibi değişken isimlerinden oluşan bir dizi de olabilir. Değişken isimlerini içeren dizi, başka değişken dizileri içerebilir; böyle bir durumda dizi ardışık olarak işlenir.

Dönen Değerler

Belirtilen değişkenlerin tanımlı olanlarını içeren bir dizi ile döner.

Hatalar/İstisnalar

Belirtilen dizge değer atanmamış bir değişkense compact() işlevi E_WARNING seviyesinde hata çıktılar.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Belirtilen dizge değer atanmamış bir değişkense, artık E_WARNING seviyesinde hata çıktılanıyor.
7.3.0 | Belirtilen dizge değer atanmamış bir değişkense compact() işlevi E_NOTICE seviyesinde bir hata çıktılar. Evvelce, böyle dizgeler sessizce atlanırdı.

Örnekler

Örnek 1 - compact() örneği

<?php
$il = "Antalya";
$ilçe = "Alanya";
$olay = "UYARI";

$idari_bölümler = array("il", "ilçe");

$sonuç = compact("olay", $idari_bölümler);
print_r($sonuç);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [olay] => UYARI
    [il] => Antalya
    [ilçe] => Alanya
)

Notlar

Bilginize:

Değişken değişkenler işlevlerin içinde PHP'nin süper küresel dizileri ile kullanılamayacağından süper küresel diziler compact() işlevine bağımsız değişken olarak aktarılamaz.

Ayrıca Bakınız

  • extract() - Bir dizideki değişkenleri simge tablosuna dahil eder


Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür

  • « compact
  • current »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür

count

(PHP 4, PHP 5, PHP 7, PHP 8)

count — Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür

Açıklama

count(Countable|array $girdi, int $kip = COUNT_NORMAL): int

Bir dizi belirtilirse dizideki eleman sayısını döndürür. Countable arayüzünü gerçekleyen bir nesne belirtilirse Countable::count() yönteminin dönüş değerini döndürür.

Bağımsız Değişkenler

girdi

Dizi veya Countable nesnesi.

kip

İsteğe bağlı kip bağımsız değişkenine COUNT_RECURSIVE (veya 1) atanırsa, count() işlevi diziyi ardışık olarak sayar. Böylece çok boyutlu bir dizinin bütün elemanları sayılabilir. count() sonsuz iç içeliği algılayacak yetenekte değildir.

Dikkat

count() işlevi sonsuz döngüden kaçınmak için iç içeliği saptayabilir, fakat bunu her yaptığında (dizinin kendisini birden fazla içerdiği durumda) bir E_WARNING çıktılar ve beklenenden daha yüksek bir miktar döndürür.

Dönen Değerler

girdi'deki eleman sayısını döndürür. PHP 8.0.0 öncesinde girdi bir dizi veya Countable arayüzü ile gerçeklenmiş bir nesne değilse 1 dönerdi, girdi'nin null olması durumunda ise 0 dönerdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | değer bağımsız değişkenine geçerli olmayan sayılabilir türler aktarıldığında işlev artık bir TypeError yavruluyor.
7.2.0 | değer bağımsız değişkenine geçerli olmayan sayılabilir türler aktarıldığında işlev artık bir uyarı çıktılıyor.

Örnekler

Örnek 1 - count() örneği

<?php
$a[0] = 1;
$a[1] = 3;
$a[2] = 5;
+$b[0] = 7;
+$b[5] = 9;
+$b[10] = 11;
+var_dump(count($b));
?>

Yukarıdaki örneğin çıktısı:

int(3)
int(3)

Örnek 2 - count() geçersiz Countable|array örneği (kötü örnek - yapmaktan sakının)

<?php
$b[0] = 7;
$b[5] = 9;
$b[10] = 11;
var_dump(count($b));

var_dump(count(null));

var_dump(count(false));
?>

Yukarıdaki örneğin çıktısı:

int(3)
int(0)
int(1)

Yukarıdaki örneğin PHP 7.2 çıktısı::

int(3)

Warning: count(): Parameter must be an array or an object that implements Countable in ... on line 12
int(0)

Warning: count(): Parameter must be an array or an object that implements Countable in ... on line 14
int(1)

Yukarıdaki örneğin PHP 8 çıktısı:

int(3)

Fatal error: Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable .. on line 12

Örnek 3 - Ardışık count() örneği

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
'veggie' => array('carrot', 'collard', 'pea'));

// ardışık sayım
var_dump(count($food, COUNT_RECURSIVE));

// normal sayım
var_dump(count($food));

?>

Yukarıdaki örneğin çıktısı:

int(8)
int(2)

Örnek 4 - Countable nesnesi

<?php
class CountOfMethods implements Countable
{
private function someMethod()
{
}

public function count(): int
{
return count(get_class_methods($this));
}
}

$obj = new CountOfMethods();
var_dump(count($obj));
?>

Yukarıdaki örneğin çıktısı:

int(2)

Ayrıca Bakınız

  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • empty() - Bir değişkenin boş olup olmadığını saptar
  • strlen() - Dizge uzunluğunu döndürür
  • is_countable() - Değişken değerinin sayılabilirliğine bakar
  • Diziler


Bir diziden gösterici konumundaki elemanı döndürür

  • « count
  • each »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziden gösterici konumundaki elemanı döndürür

current

(PHP 4, PHP 5, PHP 7, PHP 8)

current — Bir diziden gösterici konumundaki elemanı döndürür

Açıklama

current(array|object $dizi): mixed

Her dizinin, ilklendirme anında ilk elemanını konumlayan bir göstericisi vardır.

Bağımsız Değişkenler

dizi

Üzerinde işlem yapılacak dizi.

Dönen Değerler

current() işlevi dizinin dahili göstericinin işaret ettiği elemanı döndürür. Göstericinin yeri değiştirilmez. Eğer gösterici sonuncu elemanın sonrasını işaret ediyorsa veya dizi boşsa false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - current() örneği

<?php
$araç = array('tabanvay', 'bisiklet', 'otomobil', 'uçak');
$kip = current($araç); // $kip = 'tabanvay';
$kip = next($araç); // $kip = 'bisiklet';
$kip = current($araç); // $kip = 'bisiklet';
$kip = next($araç); // $kip = 'otomobil';
$kip = prev($araç); // $kip = 'bisiklet';
$kip = end($araç); // $kip = 'uçak';
$kip = current($araç); // $kip = 'uçak';

$arr = array();
var_dump(current($arr)); // bool(false)

$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>

Notlar

Bilginize: current() işlevini dahili göstericisi öğelerin sonunun ötesini gösteren boş bir dizi ile çağırmanın sonuçları bool false öğesinden ayırt edilemez. false elemanlar içerebilecek bir dizide bilinçli olarak ilerlemenin en doğru yolu foreach kullanmaktır. Yine de current() kullanmak ve değerin gerçekten dizinin bir öğesi olup olmadığını doğru bir şekilde kontrol etmek için, anahtarın null olmadığından kesinlikle emin olunmalıdır.

Ayrıca Bakınız

  • end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
  • key() - Bir diziden gösterici konumundaki anahtarı döndürür
  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • prev() - Dahili dizi göstericisini bir geriletir
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
  • next() - Dahili dizi göstericisini bir ilerletir
  • foreach


Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir

  • « current
  • end »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir

each

(PHP 4, PHP 5, PHP 7)

each — Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir

Açıklama

each(array|object &$dizi): array

Belirtilen diziden, gösterici konumundaki anahtar değer çiftini döndürür ve göstericiyi sonraki öğeye ilerletir.

each() işini bitirdikten sonra dizi göstericisi bir sonraki elemana konumlanır; eğer gösterici zaten sonuncu elemandaysa gösterici sonuncudan sonraki olmayan elemana konumlanır. Dizi baştan taranmak istenirse gösterici reset() ile dizinin başlangıcına taşınmalıdır.

Bağımsız Değişkenler

dizi

Üzerinde işlem yapılacak dizi.

Dönen Değerler

dizi dizisinin göstericisinin üzerinde bulunduğu anahtar değer çifti ile döner. Bu çift dört elemanlı, 0, 1, key ve value anahtarlarına sahip bir dizi olarak döner. 0 ve key elemanları anahtarı, 1 ve value ise değeri içerir.

Eğer gösterici sonuncu dizi elemanının sonrasındaysa each() işlevi false döndürür.

Örnekler

Örnek 1 - each() örnekleri

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar şu anahtar değer çiftlerini içerir:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)

<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar şu anahtar değer çiftlerini içerir:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() genellikle bir diziyi taramak için list() işleviyle birlikte kullanılır. Örnek:

Örnek 2 - each() ile bir dizinin taranması

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
echo "$key => $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

a => apple
b => banana
c => cranberry

Dikkat

Bir dizinin bir değişkene atanması özgün dizi göstericisini sıfırladığından yukarıdaki örnekte $fruit dizisini döngü içinde başka bir değişkene atamak sonsuz bir döngüye sebep olurdu.

Uyarı

each() işlevi nesne de kabul eder fakat beklenmedik sonuçlar verebilir. Bu bakımdan nesne öğelerinin each() ile taranması önerilmez.

Ayrıca Bakınız

  • key() - Bir diziden gösterici konumundaki anahtarı döndürür
  • list() - Değişkenlere bir dizi gibi atama yapar
  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
  • next() - Dahili dizi göstericisini bir ilerletir
  • prev() - Dahili dizi göstericisini bir geriletir
  • foreach
  • Nesne Yineleme


Bir dizinin dahili göstericisini sonuncu elemana konumlandırır

  • « each
  • extract »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin dahili göstericisini sonuncu elemana konumlandırır

end

(PHP 4, PHP 5, PHP 7, PHP 8)

end — Bir dizinin dahili göstericisini sonuncu elemana konumlandırır

Açıklama

end(array|object &$dizi): mixed

end() işlevi dizi'nin dahili göstericisini son elemana kadar ilerletir ve bu elemanın değerini döndürür.

Bağımsız Değişkenler

dizi

İşlev tarafından değiştirileceği için bu dizi gönderimli olarak aktarılır. Yani, burada bir işlevin dönüş değerini kullanamazsınız. Gönderimli aktarılabilmesi için gerçek bir değişken belirtilmelidir.

Dönen Değerler

Dizi boşsa false yoksa son elemanın değeri.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - end() örneği

<?php

$meyveler = array('muşmula', 'zerdali', 'iğde');
echo end($meyveler); // iğde

?>

Ayrıca Bakınız

  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • prev() - Dahili dizi göstericisini bir geriletir
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
  • next() - Dahili dizi göstericisini bir ilerletir
  • array_key_last() - Dizinin son anahtarı ile döner


Bir dizideki değişkenleri simge tablosuna dahil eder

  • « end
  • in_array »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizideki değişkenleri simge tablosuna dahil eder

extract

(PHP 4, PHP 5, PHP 7, PHP 8)

extract — Bir dizideki değişkenleri simge tablosuna dahil eder

Açıklama

extract(array &$dizi, int $seçenekler = EXTR_OVERWRITE, string $önek = ""): int

Bir dizideki değişkenleri simge tablosuna dahil eder.

Her anahtarın geçerli bir değişken adı olup olmadığına bakmaktan başka bu değişkenlerin simge tablosundakilerle çakışıp çakışmadığına da bakar.

Uyarı

Kullanıcı girdisi (örn, $_GET, $_FILES) gibi güvensiz veriler üzerinde extract() işlevini kullanmayın.

Bağımsız Değişkenler

dizi

Bir ilişkisel dizi. Bu işlev anahtarları değişken ismi, değerleri de değişkenin değeri olarak değerlendirir. Her anahtar/değer çifti için simge tablosunda seçenekler ve önek'e uygun bir değişken oluşturulur.

EXTR_PREFIX_ALL veya EXTR_PREFIX_INVALID kullanmadıkça bir sayısal indisli dizi sonuç üretmeyeceğinden bir ilişkisel dizi kullanmanız gerekir.

seçenekler

Geçersiz veya sayısal anahtarların ve çakışmaların ele alınma yöntemini belirtmek için kullanılır. Aşağıdaki değerlerden biri olmalıdır:

EXTR_OVERWRITE
Bir çakışma varsa mevcut değişkenin üzerine yazılır.
EXTR_SKIP
Bir çakışma varsa mevcut değişkenin üzerine yazılmaz.
EXTR_PREFIX_SAME
Bir çakışma varsa değişken isminin başına önek konur.
EXTR_PREFIX_ALL
Tüm değişken isimlerinin başına önek konur.
EXTR_PREFIX_INVALID
Sadece geçersiz veya sayısal indisli değişkerlerin başına önek konur.
EXTR_IF_EXISTS
Sadece simge tablosunda mevcut değişkenlerin üzerine yazılır, bunun dışında bir şey yapılmaz. Geçerli değişkenleri bir liste halinde tanımladıktan sonra bunlardan sadece örneğin $_REQUEST dışında tanımlanmış olanlarını çıkarmak için yararlıdır.
EXTR_PREFIX_IF_EXISTS
Sadece simge tablosunda öneksiz sürümü bulunan değişkenlerin önekli sürümleri oluşturulur.
EXTR_REFS
Değişkenler gönderimli olarak çıkarılır. Dahil edilen değişkenler dizi değerlerine gönderimli iseler bu anlamlıdır. Bu seçeneği tek başına ya da VEYAlamak suretiyle başka bir seçenekle birlikte kullanabilirsiniz.

seçenekler belirtilmezse EXTR_OVERWRITE belirtilmiş sayılır.

önek

Bu bağımsız değişken sadece seçenekler olarak EXTR_PREFIX_SAME, EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID veya EXTR_PREFIX_IF_EXISTS belirtilmişse anlamlıdır. Önekli bir sonuç geçerli bir değişken ismi oluşturmuyorsa simge tablosuna dahil edilmez. Önekler dizi anahtarlarından otomatik olarak bir altçizgi karakteri ile ayrılırlar.

Dönen Değerler

Simge tablosuna başarıyla eklenen değişkenlerin sayısı.

Örnekler

Örnek 1 - extract() örneği

extract() işlevinin olası kullanımlarınadn biri de wddx_deserialize() tarafından döndürülen ilişkisel dizi içeriğinin simge tablosuna dahil edilmesidir.

<?php

/* Dizinin wddx_deserialize tarafından döndürülen
bir dizi olduğunu varsayalım */

$boyut = "büyük";
$dizi = array("renk" => "mavi",
"boyut" => "orta",
"şekil" => "küre");
extract($dizi, EXTR_PREFIX_SAME, "wddx");

echo "$renk, $boyut, $şekil, $wddx_boyut\n";

?>

Yukarıdaki örneğin çıktısı:

mavi, büyük, küre, orta

$wddx_boyut değişkeninin oluşturulmasını sağlayan EXTR_PREFIX_SAME seçeneğini belirttiğimizden $boyut değişkeninin üzerine yazılmaz. Eğer seçenek olarak EXTR_SKIP belirtmiş olsaydık $wddx_boyut değişkeni oluşturulmazdı. EXTR_OVERWRITE belirtseydik, $size "orta" değerine sahip olacaktı. Eğer EXTR_PREFIX_ALL belirtmiş olsaydık $wddx_renk, $wddx_boyut ve $wddx_şekil değişkenlerini oluşturmuş olurduk.

Notlar

Uyarı

extract() işlevini kullanıcı girdisi ($_GET, $_FILES, vb.) gibi güvenilmez veriler üzerinde kullanmayın. Aksi takdirde, EXTR_SKIP gibi üste yazmayan seçenekler değerlerini kullanmaya ve php.ini dosyasındaki variables_order yönergesinde tanımlı sırada çıkartmaya çalışın.

Ayrıca Bakınız

  • compact() - Değişkenlerle değerlerinden bir dizi oluşturur
  • list() - Değişkenlere bir dizi gibi atama yapar


Bir dizide bir değerin varlığını araştırır

  • « extract
  • key_exists »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizide bir değerin varlığını araştırır

in_array

(PHP 4, PHP 5, PHP 7, PHP 8)

in_array — Bir dizide bir değerin varlığını araştırır

Açıklama

in_array(mixed $iğne, array $samanlık, bool $sıkı = false): bool

sıkı true olmadıkça gevşek karşılaştırma kullanarak samanlık'ta iğne'yi arar.

Bağımsız Değişkenler

iğne

Aranan değer.

Bilginize:

iğne bir dizge ise harf büyüklüğüne duyarlı karşılaştırma uygulanır.

samanlık

Dizi.

sıkı

Bu bağımsız değişkende true belirtilmişse in_array() işlevi samanlık içindeki iğne'nin türüne de bakacaktır.

Bilginize:

PHP 8.0.0 öncesinde, bir iğne dizgesi gevşek kipte 0 dizi değeriyle eşleşirdi ve bunun tersi de geçerliydi. Bu istenmeyen sonuçlara yol açabilir. Diğer türler için de benzer uç durumlar mevcuttur. İlgili değer türlerinden kesinlikle emin olunamıyorsa, beklenmedik davranışlardan kaçınmak için sıkı bağımsız değişkeninin daima true değeriyle kullanılması gerekir.

Dönen Değerler

iğne bulunursa true, aksi takdirde false döner.

Örnekler

Örnek 1 - in_array() örneği

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Irix var";
}
if (in_array("mac", $os)) {
echo "Mac var";
}
?>

in_array() işlevi harf büyüklüğüne duyarlı olduğundan ikinci koşul başarısız olur ve sonuç şu olur:

Irix var

Örnek 2 - Türe de bakan in_array() örneği

<?php
$a = array('1.10', 12.4, 1.13);

if (in_array('12.4', $a, true)) {
echo "'12.4' uygun türde bulundu\n";
}

if (in_array(1.13, $a, true)) {
echo "1.13 uygun türde bulundu\n";
}
?>

Yukarıdaki örneğin çıktısı:

1.13 uygun türde bulundu

Örnek 3 - iğnenin bir dizi olduğu in_array() örneği

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a)) {
echo "'ph' bulundu\n";
}

if (in_array(array('f', 'i'), $a)) {
echo "'fi' bulundu\n";
}

if (in_array('o', $a)) {
echo "'o' bulundu\n";
}
?>

Yukarıdaki örneğin çıktısı:

  'ph' bulundu
  'o' bulundu

Ayrıca Bakınız

  • array_search() - Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür
  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • array_key_exists() - Belirtilen anahtar veya indis dizide var mı diye bakar


array_key_exists işlevini takma adıdır

  • « in_array
  • key »
  • PHP Manual
  • Dizi İşlevleri
  • array_key_exists işlevini takma adıdır

key_exists

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

key_exists — array_key_exists() işlevini takma adıdır

Açıklama

Bu işlev şu işlevin takma adıdır: array_key_exists().


Bir diziden gösterici konumundaki anahtarı döndürür

  • « key_exists
  • krsort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziden gösterici konumundaki anahtarı döndürür

key

(PHP 4, PHP 5, PHP 7, PHP 8)

key — Bir diziden gösterici konumundaki anahtarı döndürür

Açıklama

key(array|object $dizi): int|string|null

key() işlevi belirtilen diziden göstericinin işaret ettiği elemanın anahtarını döndürür.

Bağımsız Değişkenler

dizi

Anahtarın alınacağı dizi.

Dönen Değerler

Dahili göstericinin üzerinde bulunduğu elemanın anahtarını döndürür. Eğer gösterici son elemandan sonrasını gösteriyorsa null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - key() örneği

<?php
$dizi = array(
'meyve1' => 'elma',
'meyve2' => 'muz',
'meyve3' => 'armut',
'meyve4' => 'elma',
'meyve5' => 'elma');

// Değeri "elma" olan tüm anahtarları gösterir
while ($meyve_adı = current($dizi)) {
if ($meyve_adı == 'elma') {
echo key($dizi). "\n";
}
next($dizi);
}
?>

Yukarıdaki örneğin çıktısı:

meyve1
meyve4
meyve5

Ayrıca Bakınız

  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • next() - Dahili dizi göstericisini bir ilerletir
  • array_key_first() - Dizinin ilk anahtarı ile döner
  • foreach


Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar

  • « key
  • ksort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar

krsort

(PHP 4, PHP 5, PHP 7, PHP 8)

krsort — Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar

Açıklama

krsort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bir diziyi anahtar/değer ilişkisini koruyarak "anahtarlarına" göre büyükten küçüğe doğru sıralar.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - krsort() örneği

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
krsort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

d = lemon
c = apple
b = banana
a = orange

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • arsort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
  • ksort() - Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar
  • Dizilerde Sıralama


Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar

  • « krsort
  • list »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar

ksort

(PHP 4, PHP 5, PHP 7, PHP 8)

ksort — Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar

Açıklama

ksort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bir diziyi anahtar/değer ilişkisini koruyarak "anahtarlarına" göre küçükten büyüğe doğru sıralar.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - ksort() örneği

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

Yukarıdaki örneğin çıktısı:

a = orange
b = banana
c = apple
d = lemon

Örnek 2 - ksort() ile int anahtarlar

<?php
$a = [0 => 'First', 2 => 'Last', 1 => 'Middle'];
var_dump($a);
ksort($a);
var_dump($a);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(5) "First"
  [2]=>
  string(4) "Last"
  [1]=>
  string(6) "Middle"
}
array(3) {
  [0]=>
  string(5) "First"
  [1]=>
  string(6) "Middle"
  [2]=>
  string(4) "Last"
}

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • krsort() - Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar
  • Dizilerde Sıralama


Değişkenlere bir dizi gibi atama yapar

  • « ksort
  • natcasesort »
  • PHP Manual
  • Dizi İşlevleri
  • Değişkenlere bir dizi gibi atama yapar

list

(PHP 4, PHP 5, PHP 7, PHP 8)

list — Değişkenlere bir dizi gibi atama yapar

Açıklama

list(mixed $değişken, mixed ...$değişkenler = ?): array

array() gibi bu da bir işlev değil bir dil oluşumudur. list() işlevi tek deyimde birden fazla değişkene atama yapmak için kullanılır. Dizgeler patlatılamaz ve list() ifadeleri tamamen boş olamaz.

Bilginize:

PHP 7.1.0 öncesinde, list() işlevi sadece sayısal dizilerde çalışır ve indislerin sıfırdan başladığı varsayılırdı.

Bağımsız Değişkenler

değişken

Değişken.

değişkenler

Diğer değişkenler.

Dönen Değerler

Atanan dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | Dizi bozmada gönderim atamaları için destek eklendi.
7.1.0 | list() işlevine anahtarlar belirtilebiliyor. Bu, tamsayı olmayan veya sıralı olmayan anahtarlarla dizilerin yok edilmesini sağlar.

Örnekler

Örnek 1 - list() örnekleri

<?php

$veri = array('kahve', 'uyku', 'kafein');

// Değişkenlerin tamamını listeleyelim
list($içecek, $neyi, $güç) = $veri;
echo "$içecek $neyi kaçırır, çünkü içinde $güç vardır.\n";

// Bir kısmını listeleyelim
list($içecek, , $güç) = $veri;
echo "$içecek $güç içerir.\n";

// Sadece üçüncü kalsın
list( , , $güç) = $veri;
echo "Bana $güç lazım!\n";

// list() dizgelerle çalışmaz
list($bar) = "abcde";
var_dump($bar); // NULL
?>

Örnek 2 - list() kullanım örneği

<?php
$result = $pdo->query("SELECT id, name FROM employees");
while (list($id, $name) = $result->fetch(PDO::FETCH_NUM)) {
echo "id: $id, name: $name\n";
}
?>

Örnek 3 - İç içe list() kullanımı

<?php

list($a, list($b, $c)) = array(1, array(2, 3));

var_dump($a, $b, $c);

?>
int(1)
int(2)
int(3)

Örnek 4 - list() ve indis tanımlarının sırası

list() tarafından tüketilecek dizi indislerinin tanımlanma sırası konu dışıdır.

<?php
$foo = array(2 => 'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);

Çıktısı aşağıdadır (elemanlar list() sözdiziminde yazıldıkları gibi sıralanmıştır):

array(4) {
  [2]=>
  string(1) "a"
  ["foo"]=>
  string(1) "b"
  [0]=>
  string(1) "c"
  [1]=>
  string(1) "d"
}
string(1) "c"
string(1) "d"
string(1) "a"

Örnek 5 - Anahtarlar ve list()

PHP 7.1.0 itibariyle, list() artık rasgele ifadeler halinde verilebilecek belirgin anahtarlar da içerebilir. Tamsayı ve dize anahtarlarının karıştırılmasına izin verilir; ancak, anahtarı olan ve olmayan öğeler karıştırılamaz.

<?php
$data = [
["id" => 1, "name" => 'Tom'],
["id" => 2, "name" => 'Fred'],
];
foreach ($data as ["id" => $id, "name" => $name]) {
echo "id: $id, name: $name\n";
}
echo PHP_EOL;
list(1 => $second, 3 => $fourth) = [1, 2, 3, 4];
echo "$second, $fourth\n";

Yukarıdaki örneğin çıktısı:

id: 1, name: Tom
id: 2, name: Fred

2, 4

Ayrıca Bakınız

  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • array() - Bir dizi oluşturur
  • extract() - Bir dizideki değişkenleri simge tablosuna dahil eder


Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar

  • « list
  • natsort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar

natcasesort

(PHP 4, PHP 5, PHP 7, PHP 8)

natcasesort — Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar

Açıklama

natcasesort(array &$dizi): true

natcasesort() işlevi natsort() işlevinin harf büyüklüğüne duyarsız sürümüdür.

Bu işlev, abecesayısal dizgeleri, insanların anahtar değer ilişkisini sağlayarak yaptıkları şekilde gerçekleyen bir sıralama algoritmasını kullanarak sıralar. Bu algoritmaya "doğal sıralama" algoritması adı verilir.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - natcasesort() örneği

<?php
$array1 = $array2 = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png',
'img1.png', 'IMG3.png');

sort($array1);
echo "Standart sıralama\n";
print_r($array1);

natcasesort($array2);
echo "\nDoğal sıralama (harf büyüklüğüne duyarsız)\n";
print_r($array2);
?>

Yukarıdaki örneğin çıktısı:

Standart sıralama
Array
(
    [0] => IMG0.png
    [1] => IMG3.png
    [2] => img1.png
    [3] => img10.png
    [4] => img12.png
    [5] => img2.png
)

Doğal sıralama (harf büyüklüğüne duyarsız)
Array
(
    [0] => IMG0.png
    [4] => img1.png
    [3] => img2.png
    [5] => IMG3.png
    [2] => img10.png
    [1] => img12.png
)

Daha fazla bilgi için Martin Pool'un » Natural Order String Comparison sayfasına bakınız.

Ayrıca Bakınız

  • natsort() - Bir diziyi "doğal sıralama" algoritmasıyla sıralar
  • Dizilerde Sıralama
  • strnatcmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
  • strnatcasecmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır


Bir diziyi "doğal sıralama" algoritmasıyla sıralar

  • « natcasesort
  • next »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi "doğal sıralama" algoritmasıyla sıralar

natsort

(PHP 4, PHP 5, PHP 7, PHP 8)

natsort — Bir diziyi "doğal sıralama" algoritmasıyla sıralar

Açıklama

natsort(array &$array): true

Bu işlev, abecesayısal dizgeleri, insanların anahtar değer ilişkisini sağlayarak yaptıkları şekilde gerçekleyen bir sıralama algoritmasını kullanarak sıralar. Bu algoritmaya "doğal sıralama" algoritması adı verilir. Bu algoritma ile sort() işlevinin yaptığı standart sıralama arasındaki farkı gösteren bir örnek aşağıdadır.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - natsort() genel kullanım örnekleri

<?php
$array1 = $array2 = array("img12.png", "img10.png", "img2.png", "img1.png");

asort($array1);
echo "Standart sıralama\n";
print_r($array1);

natsort($array2);
echo "\nDoğal sıralama\n";
print_r($array2);
?>

Yukarıdaki örneğin çıktısı:

Standart sıralama
Array
(
    [3] => img1.png
    [1] => img10.png
    [0] => img12.png
    [2] => img2.png
)

Doğal sıralama
Array
(
    [3] => img1.png
    [2] => img2.png
    [1] => img10.png
    [0] => img12.png
)

Daha fazla bilgi için Martin Pool'un » Natural Order String Comparison sayfasına bakınız.

Örnek 2 - Olası sorunları gösteren natsort() örnekleri

<?php
echo "Negatif sayılar\n";
$negative = array('-5','3','-2','0','-1000','9','1');
print_r($negative);
natsort($negative);
print_r($negative);

echo "Sıfır doldurma\n";
$zeros = array('09', '8', '10', '009', '011', '0');
print_r($zeros);
natsort($zeros);
print_r($zeros);
?>

Yukarıdaki örneğin çıktısı:

Negatif sayılar
Array
(
    [0] => -5
    [1] => 3
    [2] => -2
    [3] => 0
    [4] => -1000
    [5] => 9
    [6] => 1
)
Array
(
    [2] => -2
    [0] => -5
    [4] => -1000
    [3] => 0
    [6] => 1
    [1] => 3
    [5] => 9
)

Sıfır doldurma
Array
(
    [0] => 09
    [1] => 8
    [2] => 10
    [3] => 009
    [4] => 011
    [5] => 0
)
Array
(
    [5] => 0
    [1] => 8
    [3] => 009
    [0] => 09
    [2] => 10
    [4] => 011
)

Ayrıca Bakınız

  • natcasesort() - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
  • Dizilerde Sıralama
  • strnatcmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
  • strnatcasecmp() - "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır


Dahili dizi göstericisini bir ilerletir

  • « natsort
  • pos »
  • PHP Manual
  • Dizi İşlevleri
  • Dahili dizi göstericisini bir ilerletir

next

(PHP 4, PHP 5, PHP 7, PHP 8)

next — Dahili dizi göstericisini bir ilerletir

Açıklama

next(array|object &$dizi): mixed

next() işlevi bir farkla current() işlevi gibi davranır. Eleman değerini döndürmeden önce dahili dizi göstericisini bir ileri taşır. Yani farklı olarak dahili dizi göstericisini bir ilerlettikten sonra, current() işlevindeki gibi dahili dizi göstericisinin gösterdiği elemanın değerini döndürür.

Bağımsız Değişkenler

dizi

Göstericisi konumlanacak dizi.

Dönen Değerler

Dizinin dahili göstericisinin bulunduğu konumun bir sonrasında eleman varsa o elemanın değeri döner, yoksa false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - next() ve şürekası

<?php
$araç = array('tabanvay', 'bisiklet', 'otomobil', 'uçak');
$kip = current($araç); // $kip = 'tabanvay';
$kip = next($araç); // $kip = 'bisiklet';
$kip = next($araç); // $kip = 'otomobil';
$kip = prev($araç); // $kip = 'bisiklet';
$kip = end($araç); // $kip = 'uçak';
?>

Notlar

Bilginize: Bir dizinin sonundaki elemanın değerinin bool false olup olmadığı anlaşılamaz. false değerli elemanlar içeren bir dizide bilinçli olarak ilerlemenin en doğru yolu foreach deyimini kullanmaktır. Yine de next() işlevi kullanılmak istenirse, dizinin sonuna ulaşılıp ulaşılmadığını anlamak için key() işlevinde dönen değerin null olduğu doğrulanmalıdır.

Ayrıca Bakınız

  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
  • prev() - Dahili dizi göstericisini bir geriletir
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
  • foreach


current işlevinin takma adıdır

  • « next
  • prev »
  • PHP Manual
  • Dizi İşlevleri
  • current işlevinin takma adıdır

pos

(PHP 4, PHP 5, PHP 7, PHP 8)

pos — current() işlevinin takma adıdır

Açıklama

Bu işlev current() işlevinin takma adıdır.


Dahili dizi göstericisini bir geriletir

  • « pos
  • range »
  • PHP Manual
  • Dizi İşlevleri
  • Dahili dizi göstericisini bir geriletir

prev

(PHP 4, PHP 5, PHP 7, PHP 8)

prev — Dahili dizi göstericisini bir geriletir

Açıklama

prev(array|object &$dizi): mixed

Dahili dizi göstericisini bir geriletir.

prev() işlevi dahili dizi göstericisini bir ileri değil de bir geri alması dışında next() gibidir.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Bağımsız Değişkenler

dizi

Göstericisi konumlanacak dizi.

Dönen Değerler

Dizinin dahili göstericisinin bulunduğu konumun bir öncesinde eleman varsa o elemanın değeri döner, yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - prev() ve şürekası

<?php
$araç = array('tabanvay', 'bisiklet', 'otomobil', 'uçak');
$kip = current($araç); // $kip = 'tabanvay';
$kip = next($araç); // $kip = 'bisiklet';
$kip = next($araç); // $kip = 'otomobil';
$kip = prev($araç); // $kip = 'bisiklet';
$kip = end($araç); // $kip = 'uçak';
?>

Notlar

Bilginize: Bir dizinin başlangıcındaki elemanın değerinin bool false olup olmadığı anlaşılamaz. false değerli elemanlar içeren bir dizide bilinçli olarak ilerlemenin en doğru yolu foreach deyimini kullanmaktır.

Ayrıca Bakınız

  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
  • next() - Dahili dizi göstericisini bir ilerletir
  • reset() - Bir dizinin dahili göstericisini ilk elemana konumlar
  • foreach


Belli bir eleman aralığını içeren bir dizi oluşturur

  • « prev
  • reset »
  • PHP Manual
  • Dizi İşlevleri
  • Belli bir eleman aralığını içeren bir dizi oluşturur

range

(PHP 4, PHP 5, PHP 7, PHP 8)

range — Belli bir eleman aralığını içeren bir dizi oluşturur

Açıklama

range(string|int|float $başlangıç, string|int|float $bitiş, int|float $adım = 1): array

Aralığı belirtilen elemanları içeren bir dizi oluşturur.

Bağımsız Değişkenler

başlangıç

Aralığın ilk değeri.

bitiş

Aralığın son değeri.

adım

Bu bağımsız değişken belirtilmişse eleman sırası artış/azalış değerini belirler. Sıfırdan farklı olmalı ve belirtilen aralığı aşmamalıdır.

Dönen Değerler

başlangıç ve bitiş dahil ikisi arasındaki elemanlardan oluşan bir dizi döner.

Örnekler

Örnek 1 - range() örnekleri

<?php
// array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
foreach (range(0, 12) as $number) {
echo $number;
}

echo "\n";

// adım bağımsız değişkeni
// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
foreach (range(0, 100, 10) as $number) {
echo $number;
}

echo "\n";

// Karakter dizilerinin kullanımı
// array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i');
foreach (range('a', 'i') as $letter) {
echo $letter;
}

echo "\n";

// array('c', 'b', 'a');
foreach (range('c', 'a') as $letter) {
echo $letter;
}
?>

Notlar

Bilginize:

Karakter dizisinin değerleri bir baytla sınırlıdır. Bir bayttan uzun değer belirtilirse yalnızca ilk karakter kullanılır.

Ayrıca Bakınız

  • shuffle() - Bir diziyi karar
  • array_fill() - Bir diziyi değerlerle doldurur
  • foreach


Bir dizinin dahili göstericisini ilk elemana konumlar

  • « range
  • rsort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir dizinin dahili göstericisini ilk elemana konumlar

reset

(PHP 4, PHP 5, PHP 7, PHP 8)

reset — Bir dizinin dahili göstericisini ilk elemana konumlar

Açıklama

reset(array|object &$dizi): mixed

reset() işleve dizi dizisinin dahili göstericisini ilk elemana konumlar ve ilk dizi elemanının değeri ile döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Bağımsız Değişkenler

dizi

Dahili göstericisi sıfırlanacak dizi.

Dönen Değerler

Dizi boşsa false, değilse dizinin ilk elemanının değeri.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu işlevin nesnelerden çağrılması artık önerilmiyor. Ya nesne önce get_mangled_object_vars() kullanılarak bir diziye dönüştürülmeli ya da bunun yerine Iterator arayüzünü gerçekleyen bir sınıf tarafından sağlanan ArrayIterator gibi yöntemler kullanılmalıdır.
7.4.0 | SPL sınıflarının örnekleri, artık bu işlevle aynı ada sahip Iterator yöntemini çağırmak yerine hiçbir özelliği olmayan boş nesneler gibi ele alınıyor.

Örnekler

Örnek 1 - reset() örneği

<?php

$dizi = array('bir adım', 'iki adım', 'üç adım', 'dörtadım');

// Öntanımlı olarak gösterici ilk elemandadır
echo current($dizi) . "\n"; // "bir adım"

// İki adım atalım
next($dizi);
next($dizi);
echo current($dizi) . "\n"; // "üç adım"

// Göstericiyi sıfırlayalım
reset($dizi);
echo current($dizi) . "\n"; // "bir adım"

?>

Notlar

Bilginize: İlk eleman değerinin bool false olduğu durum ile boş bir diziden dönen değer arasında bir fark yoktur. false elemanlar içeren bir dizinin ilk eleman değerini bilinçli olarak elde etmek için önce count() işlevinin dönüş değerine bakılmalı ya da reset() işlevini çağırdıktan sonra key() işlevinin null döndürmediği doğrulanmalıdır.

Ayrıca Bakınız

  • current() - Bir diziden gösterici konumundaki elemanı döndürür
  • each() - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
  • end() - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
  • next() - Dahili dizi göstericisini bir ilerletir
  • prev() - Dahili dizi göstericisini bir geriletir
  • array_key_first() - Dizinin ilk anahtarı ile döner


Bir diziyi büyükten küçüğe doğru sıralar

  • « reset
  • shuffle »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi büyükten küçüğe doğru sıralar

rsort

(PHP 4, PHP 5, PHP 7, PHP 8)

rsort — Bir diziyi büyükten küçüğe doğru sıralar

Açıklama

rsort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bu işlev belirtilen diziyi "değerlerine" göre büyükten küçüğe doğru sıralar.

Bilginize: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - rsort() örneği

<?php
$meyveler = array("portakal", "armut", "muz", "kayısı");
rsort($meyveler);
foreach ($meyveler as $indis => $meyve) {
echo "$indis = $meyve\n";
}
?>

Yukarıdaki örneğin çıktısı:

0 = portakal
1 = muz
2 = kayısı
3 = armut

Meyveler abecesel olarak ters sırada dizilmiştir.

Ayrıca Bakınız

  • sort() - Bir diziyi küçükten büyüğe doğru sıralar
  • arsort() - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
  • krsort() - Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar
  • Dizilerde Sıralama


Bir diziyi karar

  • « rsort
  • sizeof »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi karar

shuffle

(PHP 4, PHP 5, PHP 7, PHP 8)

shuffle — Bir diziyi karar

Açıklama

shuffle(array &$dizi): true

Bu işlev belirtilen diziyi karar (elemanları rasgele sıralar).

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG'i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Karılacak dizi.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | Dahili rasgelelik algoritması olarak, libc rand işlevi yerine » Mersenne Twister rasgele sayı üreteci kullanılacak şekilde değiştirildi

Örnekler

Örnek 1 - shuffle() örneği

<?php
$sayılar = range(1, 20);
shuffle($sayılar);
foreach ($sayılar as $sayı) {
echo "$sayı ";
}
?>

Notlar

Bilginize: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.

Ayrıca Bakınız

  • Random\Randomizer::shuffleArray() - Get a permutation of an array
  • Random\Randomizer::shuffleBytes() - Get a byte-wise permutation of a string
  • Random\Randomizer::pickArrayKeys() - Select random array keys
  • Dizilerde Sıralama


count işlevinin takma adıdır

  • « shuffle
  • sort »
  • PHP Manual
  • Dizi İşlevleri
  • count işlevinin takma adıdır

sizeof

(PHP 4, PHP 5, PHP 7, PHP 8)

sizeof — count() işlevinin takma adıdır

Açıklama

Bu işlev count() işlevinin takma adıdır.


Bir diziyi küçükten büyüğe doğru sıralar

  • « sizeof
  • uasort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi küçükten büyüğe doğru sıralar

sort

(PHP 4, PHP 5, PHP 7, PHP 8)

sort — Bir diziyi küçükten büyüğe doğru sıralar

Açıklama

sort(array &$dizi, int $seçenekler = SORT_REGULAR): true

Bu işlev bir diziyi sıralar. Sıralama işlemi bittiğinde dizinin "değerleri" küçükten büyüğe doğru sıralanmış olur.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

seçenekler

İsteğe bağlı ikinci bağımsız değişken seçenekler, şu değerleri kullanarak sıralama davranışını değiştirmek için kullanılabilir:

Sıralama türü seçenekleri:

  • SORT_REGULAR - öğeler normal olarak karşılaştırılır; ayrıntılar için: Karşılaştıma İşleçleri
  • SORT_NUMERIC - öğeler sayısal olarak karşılaştırılır.
  • SORT_STRING - öğeler dizgesel olarak karşılaştırılır.
  • SORT_LOCALE_STRING - öğeler geçerli yerele göre dizgesel olarak karşılaştırılır. setlocale() işlevi ile değiştirilebilen bir yerel kullanılır.
  • SORT_NATURAL - natsort() işlevindeki gibi öğeler "doğal sıralama" kullanılarak dizgesel olarak karşılaştırılır.
  • SORT_FLAG_CASE - dizgeleri harf büyüklüğüne duyarsız sıralamak için SORT_STRING veya SORT_NATURAL ile bitsel VEYAlanabilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.

Örnekler

Örnek 1 - sort() örneği

<?php

$fruits = array("lemon", "orange", "banana", "apple");
sort($fruits);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

fruits[0] = apple
fruits[1] = banana
fruits[2] = lemon
fruits[3] = orange

Meyvalar abecesel olarak sıralanmıştır.

Örnek 2 - Harf büyüklüğüne duyarsız doğal sıralama kullanılan sort() örneği

<?php

$fruits = array(
"Orange1", "orange2", "Orange3", "orange20"
);
sort($fruits, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fruits as $key => $val) {
echo "fruits[" . $key . "] = " . $val . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

fruits[0] = Orange1
fruits[1] = orange2
fruits[2] = Orange3
fruits[3] = orange20

Meyvalar natcasesort() işlevi kullanılmış gibi sıralandı.

Notlar

Bilginize: Çoğu PHP sıralama işlevindeki gibi sort() işlevinde de » Quicksort gerçeklenimi kullanılmıştır. Dayanak noktası olarak bölümün ortası seçilerek zaten sıralanmış diziler için en uygun süre elde edilir. Ancak bu, uygulama ile ilgili bir ayrıntı olup buna güvenilemez.

Uyarı

Farklı türde değerler içeren dizileri sıralarken dikkatli olun; yoksa sort() işlevi SORT_REGULAR değerli seçenekler ile kullanılırsa umulmadık sonuçlar üretebilir.

Ayrıca Bakınız

  • rsort() - Bir diziyi büyükten küçüğe doğru sıralar
  • Dizilerde Sıralama


Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur

  • « sort
  • uksort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur

uasort

(PHP 4, PHP 5, PHP 7, PHP 8)

uasort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur

Açıklama

uasort(array &$dizi, callable $karş_işlevi): true

Bu işlev kullanıcı tarafından sağlanmış bir karşılaştırma işlevini kullanarak diziyi indislerine göre sıralarken anahtar/değer ilişkisini korur.

Bu işlev, esas olarak, eleman sırasının önemli olduğu ilişkisel dizileri sıralarken kullanılır.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - uasort() örneği

<?php
// Karşılaştırma işlevi
function karş($a, $b) {
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

// Sıralanacak dizi
$dizi = array('a' => 4, 'b' => 8, 'c' => -1, 'd' => -9, 'e' => 2, 'f' => 5, 'g' => 3, 'h' => -4);
print_r($dizi);

// Sıralayıp sonucu basalım
uasort($dizi, 'karş');
print_r($dizi);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [a] => 4
    [b] => 8
    [c] => -1
    [d] => -9
    [e] => 2
    [f] => 5
    [g] => 3
    [h] => -4
)
Array
(
    [d] => -9
    [h] => -4
    [c] => -1
    [e] => 2
    [g] => 3
    [a] => 4
    [f] => 5
    [b] => 8
)

Ayrıca Bakınız

  • usort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar
  • uksort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
  • Dizilerde Sıralama


Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar

  • « uasort
  • usort »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar

uksort

(PHP 4, PHP 5, PHP 7, PHP 8)

uksort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar

Açıklama

uksort(array &$dizi, callable $karş_işlevi): true

Bu işlev kullanıcı tarafından sağlanmış bir karşılaştırma işlevini kullanarak diziyi "anahtarlarına" göre sıralar.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize:

Dahili dizi göstericisi ilk elemana atanır.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - uksort() örneği

<?php
function cmp($a, $b)
{
$a = preg_replace('@^(a|an|the) @', '', $a);
$b = preg_replace('@^(a|an|the) @', '', $b);
return strcasecmp($a, $b);
}

$a = array("John" => 1, "the Earth" => 2, "an apple" => 3, "a banana" => 4);

uksort($a, "cmp");

foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>

Yukarıdaki örneğin çıktısı:

an apple: 3
a banana: 4
the Earth: 2
John: 1

Ayrıca Bakınız

  • usort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar
  • uasort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
  • Dizilerde Sıralama


Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar

  • « uksort
  • Classobj »
  • PHP Manual
  • Dizi İşlevleri
  • Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar

usort

(PHP 4, PHP 5, PHP 7, PHP 8)

usort — Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar

Açıklama

usort(array &$array, callable $karş_işlevi): true

Bu işlev kullanıcı tarafından sağlanmış bir karşılaştırma işlevini kullanarak diziyi "değerlerine" göre sıralar.

Bilginize:

İki üye karşılaştırıldığında eşitse bunların özgün sıralamadaki yerleri korunur. PHP 8.0.0 öncesinde sıralı dizideki göreli yerleri tanımsızdı.

Bilginize: Bu işlev dizi elemanlarına yeni anahtarlar atar. Anahtarları yeniden düzenlemek yerine evvelce atanmış anahtarları silecektir.

Bağımsız Değişkenler

dizi

Sıralanacak dizi.

karş_işlevi

Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.

callback(mixed $a, mixed $b): int
Dikkat

Karşılaştırma işlevinden float gibi tamsayı olmayan değerlerin döndürülmesi, geri çağırım işlevinin dönüş değerinin dahili olarak int türüne dönüştürülmesiyle sonuçlanır. Bu nedenle 0.99 ve 0.1 gibi değerlerin her ikisi de 0 tamsayı değerine dönüştürüp bunlar eşit değerler olarak karşılaştırılacaktır.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dönüş türü artık true;evvelce, bool idi.
8.0.0 | Eğer işleve bağımsız değişkenlerinden biri gönderimli aktarılıyorsa, bu artık E_WARNING seviyesinde bir uyarıya sebep oluyor.

Örnekler

Örnek 1 - usort() örneği

<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $anahtar => $değer) {
echo "$anahtar: $değer\n";
}
?>

Yukarıdaki örneğin çıktısı:

0: 1
1: 2
2: 3
3: 5
4: 6

Dahili karşılaştırmayı daha da basitleştirmek için mekik işleci kullanılabilir.

<?php
function cmp($a, $b)
{
return $a <=> $b;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>

Bilginize:

Açıkçası, bu örnek için sort() işlevi daha uygun olurdu.

Örnek 2 - usort() ve çok boyutlu dizi

<?php
function karşılaştır($a, $b)
{
return strcmp($a["meyva"], $b["meyva"]);
}

$meyvalar[0]["meyva"] = "mandalina";
$meyvalar[1]["meyva"] = "limon";
$meyvalar[2]["meyva"] = "portakal";

usort($meyvalar, "karşılaştır");

foreach ($meyvalar as $anah => $değer) {
echo "\$meyvalar[$anah]: " . $değer["meyva"] . "\n";
}
?>

Bir çok boyutlu dizi sıralanırken $a ve $b dizinin ilk indisine gönderimleri içerir.

Yukarıdaki örneğin çıktısı:

$meyvalar[0]: limon
$meyvalar[1]: mandalina
$meyvalar[2]: portakal

Örnek 3 - Bir nesnenin üye yöntemini kullanan usort() örneği

<?php
class Deneme {
private string $isim;

function __construct($isim)
{
$this->isim = $isim;
}

/* Duruk karşılaştırma işlevi: */
static function nesne_karşılaştır($a, $b)
{
return strtolower($a->name) <=> strtolower($b->name);
}
}

$a[] = new Deneme("c");
$a[] = new Deneme("b");
$a[] = new Deneme("d");

usort($a, [Deneme::class, "nesne_karşılaştır]);

foreach ($a as $öğe) {
echo $öğe->isim . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

b
c
d

Örnek 4 - Çok boyutlu bir diziyi sıralamak için anonim işlevler kullanılan usort() örneği

<?php
$array[0] = array('key_a' => 'z', 'key_b' => 'c');
$array[1] = array('key_a' => 'x', 'key_b' => 'b');
$array[2] = array('key_a' => 'y', 'key_b' => 'a');

function build_sorter($key) {
return function ($a, $b) use ($key) {
return strnatcmp($a[$key], $b[$key]);
};
}

usort($array, build_sorter('key_b'));

foreach ($array as $item) {
echo $item['key_a'] . ', ' . $item['key_b'] . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

y, a
x, b
z, c

Örnek 5 - Mekik işleci kullanılan usort() örneği

Mekik işleci, bileşik değerlerin doğrudan çok yönlü karşılaştırılmasını sağlar. Aşağıdaki örnekte, $people önce soyadına göre, ardından soyadı eşleşirse ada göre sıralayacaktır.

<?php
$people[0] = ['first' => 'Adam', 'last' => 'West'];
$people[1] = ['first' => 'Alec', 'last' => 'Baldwin'];
$people[2] = ['first' => 'Adam', 'last' => 'Baldwin'];

function sorter(array $a, array $b) {
return [$a['last'], $a['first']] <=> [$b['last'], $b['first']];
}

usort($people, 'sorter');

foreach ($people as $person) {
print $person['last'] . ', ' . $person['first'] . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Baldwin, Adam
Baldwin, Alec
West, Adam

Ayrıca Bakınız

  • uasort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
  • uksort() - Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
  • Dizilerde Sıralama


Sınıf ve Nesne Bilgileri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Sınıf ve Nesne İşlevleri
    • __autoload — Tanımsız sınıfı yüklemeye çalışır
    • class_alias — Sınıfa bir takma ad oluşturur
    • class_exists — Sınıf tanımlı mı diye bakar
    • enum_exists — Sayılamanın tanımlı olup olmadığını sınar
    • get_called_class — Çağrıldığı duruk yöntemin sınıf ismini döndürür
    • get_class_methods — Sınıf yöntemlerinin isimlerini döndürür
    • get_class_vars — Sınıfın öntanımlı özelliklerini döndürür
    • get_class — Bir nesnenin ait olduğu sınıfın ismini döndürür
    • get_declared_classes — Tanımlı sınıfların isimlerini bir dizi olarak döndürür
    • get_declared_interfaces — Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
    • get_declared_traits — Bildirilmiş tüm nitelikleri dizi olarak döndürür
    • get_mangled_object_vars — Karışık nesne özelliği dizisi döndürür
    • get_object_vars — Belirtilen nesnenin özelliklerini döndürür
    • get_parent_class — Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
    • interface_exists — Arayüz tanımlı mı diye bakar
    • is_a — Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
    • is_subclass_of — Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
    • method_exists — Bir sınıf yöntemi mevcut mu diye bakar
    • property_exists — Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar
    • trait_exists — Niteliğin mevcudiyetine bakar


Giriş

Bu işlevler, sınıflar ve bunlardan örneklenmiş nesneler hakkında bilgi edinmenizi sağlar. Bir nesneye karşılık gelen sınıf isminden başka yöntem ve özellik isimlerini de bu işlevlerle öğrenebilirsiniz. Bu işlevleri kullanarak, bir nesnenin sadece sınıf üyeliğini bulmakla kalmaz ayrıca ebeveyn sınıflarınkileri de bulabilirsiniz.

Sınıflar ve nesnelerin PHP'de nasıl gerçekleştirildiği ve kullanıldığı ile ilgili ayrıntılı açıklamalar için lütfen Nesneler bölümüne bakınız.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • Classobj
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

Bu örnekte, önce bir temel sınıf ve bu sınıfın bir türevini tanımlayacağız. Temel sınıf, genel olarak bitkileri, yenilebilirlikleri ve renkleri ile tanımlayacak. Lahana alt sınıfı, sebzenin pişirilebilir olup olmadığını bulan bir başka yöntem ekleyecek.

Örnek 1 - Sınıf Tanımları

Bitki

<?php

// Üye özellikler ve yöntemlerle temel sınıf
class Bitki {

public $yenir;
public $renk;
public $isim;

public function __construct($yenir="", $renk="yeşil", $isim="")
{
$this->yenir = $yenir;
$this->renk = $renk;
$this->isim = $isim;
}

public function yenir_mi()
{
return $this->yenir;
}

public function ne_renk()
{
return $this->renk;
}

public function ismi()
{
return $this->isim;
}

} // Bitki sınıfının sonu

?>

Lahana

<?php
class Lahana extends Bitki {

public $pişirilir = "evet";

public function __construct($yenir="evet", $renk="yeşil", $isim="Lahana")
{
parent::__construct($yenir, $renk, $isim);
}

public function pişirilir()
{
$this->pişirilir = "evet";
}

public function pişirilir_mi()
{
return $this->pişirilir;
}

} // Lahana sınıfının sonu

?>

Bu sınıflardan iki nesne örnekleyip, ata sınıfları dahil bunlar hakkındaki tüm bilgiyi çıktılayacağız. Ayrıca, değişkenlerin çıktılarını güzelleştirmek için bazı ek işlevler tanımlayacağız.

Örnek 2 dnm.php

<?php

// sınıfları yüklemek için otomatik yükleyiciyi kaydet
spl_autoload_register();

function printProperties($obj)
{
foreach (get_object_vars($obj) as $prop => $val) {
echo "\t$prop = $val\n";
}
}

function printMethods($obj)
{
$arr = get_class_methods(get_class($obj));
foreach ($arr as $method) {
echo "\t$method() işlevi\n";
}
}

function objectBelongsTo($obj, $class)
{
if (is_subclass_of($obj, $class)) {
echo "$obj->isim, $class sınıfının alt sınıfı olan ";
echo get_class($obj), " sınıfındandır.\n";
} else {
echo "$obj->isim, $class sınıfının alt sınıflarından değildir.\n";
}
}

// 2 nesne örnekleyelim

$sebze = new Bitki("belki", "yeşil", "sebze");
$tombul = new Lahana("evet", "mavi", "Brüksel Lahanası");

// Nesne bilgilerini basalım
echo "sebze: " . get_class($sebze) . " sınıfında\n";
echo "tombul: " . get_class($tombul) . " sınıfında";
echo ", ATA sınıfı " . get_parent_class($tombul) . "\n";

// Özellikleri gösterelim
echo "\nsebze: Özellikler\n";
printProperties($sebze);
echo "\n\ntombul: Özellikler\n";
printProperties($tombul);

// ve tompul yöntemleri
echo "\ntombul: Yöntemler\n";
printMethods($tombul);

echo "\nEbeveynler:\n";
objectBelongsTo($tombul, Lahana::class);
objectBelongsTo($tombul, Bitki::class);
?>

Yukarıdaki örneklerin çıktısı:

sebze: Bitki sınıfında
tombul: Lahana sınıfında, ATA sınıfı Bitki

sebze: Özellikler
        yenir = belki
        renk = yeşil
        isim = sebze

tombul: Özellikler
        pişirilir = evet
        yenir = evet
        renk = mavi
        isim = Brüksel Lahanası

tombul: Yöntemler
        __construct() işlevi
        pişirilir() işlevi
        pişirilir_mi() işlevi
        yenir_mi() işlevi
        ne_renk() işlevi
        ismi() işlevi

Ebeveynler:
Brüksel Lahanası, Lahana sınıfının alt sınıflarından değildir.
Brüksel Lahanası, Bitki sınıfının alt sınıfı olan Lahana sınıfındandır.

Yukarıdaki örnekte önemli şeylerden biri, $tombul nesnesinin Lahana sınıfının bir örneği, Lahana sınıfının ise Bitki sınıfının ise bir alt sınıfı oluşudur.


Sınıf ve Nesne İşlevleri

İçindekiler

  • __autoload — Tanımsız sınıfı yüklemeye çalışır
  • class_alias — Sınıfa bir takma ad oluşturur
  • class_exists — Sınıf tanımlı mı diye bakar
  • enum_exists — Sayılamanın tanımlı olup olmadığını sınar
  • get_called_class — Çağrıldığı duruk yöntemin sınıf ismini döndürür
  • get_class_methods — Sınıf yöntemlerinin isimlerini döndürür
  • get_class_vars — Sınıfın öntanımlı özelliklerini döndürür
  • get_class — Bir nesnenin ait olduğu sınıfın ismini döndürür
  • get_declared_classes — Tanımlı sınıfların isimlerini bir dizi olarak döndürür
  • get_declared_interfaces — Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
  • get_declared_traits — Bildirilmiş tüm nitelikleri dizi olarak döndürür
  • get_mangled_object_vars — Karışık nesne özelliği dizisi döndürür
  • get_object_vars — Belirtilen nesnenin özelliklerini döndürür
  • get_parent_class — Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • interface_exists — Arayüz tanımlı mı diye bakar
  • is_a — Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
  • is_subclass_of — Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
  • method_exists — Bir sınıf yöntemi mevcut mu diye bakar
  • property_exists — Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar
  • trait_exists — Niteliğin mevcudiyetine bakar


Tanımsız sınıfı yüklemeye çalışır

  • « Sınıf ve Nesne İşlevleri
  • class_alias »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Tanımsız sınıfı yüklemeye çalışır

__autoload

(PHP 5, PHP 7)

__autoload — Tanımsız sınıfı yüklemeye çalışır

Uyarı

Bu işlevin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

__autoload(string $sınıf): void

Sınıfları otomatik yüklemek için bu işlev tanımlanabilir.

Bağımsız Değişkenler

sınıf

Yüklenecek sınıfın ismi.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • spl_autoload_register() - Register given function as __autoload() implementation


Sınıfa bir takma ad oluşturur

  • « __autoload
  • class_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Sınıfa bir takma ad oluşturur

class_alias

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

class_alias — Sınıfa bir takma ad oluşturur

Açıklama

class_alias(string $sınıf, string $takma_ad, bool $otomatik_yükle = true): bool

Kullanıcı tanımlı sınıf sınıfına takma_ad adıyla bir sınıf oluşturur. Takma adlı sınıf özgün sınıfla tamamen aynıdır.

Bağımsız Değişkenler

sınıf

Özgün sınıfın adı.

takma_ad

Sınıf için takma ad.

otomatik_yükle

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - class_alias() örneği

<?php

class Foo { }

class_alias('Foo', 'Bar');

$a = new Foo;
$b = new Bar;

// nesneler aynıdır
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// sınıflar aynıdır
var_dump($a instanceof Foo);
var_dump($a instanceof Bar);

var_dump($b instanceof Foo);
var_dump($b instanceof Bar);

?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

Notlar

Bilginize:

Sınıf adları PHP'de harf büyüklüğüne duyarlı değildir ve bu işlev için de bu böyledir. class_alias() tarafından oluşturulan takma adlar küçük harfle bildirilir. Bu, Sınıfım sınıfı için, class_alias('Sınıfım', 'RumuzSınıfım') çağrısının, rumuzsınıfım adında yeni bir sınıf takma adı bildireceği anlamına gelir.

Ayrıca Bakınız

  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar


Sınıf tanımlı mı diye bakar

  • « class_alias
  • enum_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Sınıf tanımlı mı diye bakar

class_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

class_exists — Sınıf tanımlı mı diye bakar

Açıklama

class_exists(string $sınıf, bool $otomatik_yükle = true): bool

Bu işlev belirtilen sınıfın tanımlı olup olmadığına bakar.

Bağımsız Değişkenler

sınıf

Sınıf ismi. İsim eşleştirilirken harf büyüklüğü dikkate alınmaz.

otomatik_yükle

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

sınıf tanımlı bir sınıfın ismi ise true, aksi takdirde false döner.

Örnekler

Örnek 1 - class_exists() örneği

<?php
// Kullanmayı denemeden önce böyle bir sınıf var mı diye bak
if (class_exists('MyClass')) {
$myclass = new MyClass();
}

?>

Örnek 2 - autoload bağımsız değişken örneği

<?php
spl_autoload_register(function ($class_name) {
include $class_name . '.php';

// Check to see whether the include declared the class
if (!class_exists($class_name, false)) {
throw new LogicException("Unable to load class: $class_name");
}
});

+if (class_exists(MyClass::class)) {
$myclass = new MyClass();
}

?>

Ayrıca Bakınız

  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • enum_exists() - Sayılamanın tanımlı olup olmadığını sınar
  • interface_exists() - Arayüz tanımlı mı diye bakar
  • get_declared_classes() - Tanımlı sınıfların isimlerini bir dizi olarak döndürür


Sayılamanın tanımlı olup olmadığını sınar

  • « class_exists
  • get_called_class »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Sayılamanın tanımlı olup olmadığını sınar

enum_exists

(PHP 8 >= 8.1.0)

enum_exists — Sayılamanın tanımlı olup olmadığını sınar

Açıklama

enum_exists(string $enum, bool $autoload = true): bool

Belirtilen sayılamanın tanımlı olup olmadığını sınar.

Bağımsız Değişkenler

enum

Sayılamanın adı. Ad eşleştirilirken harf büyüklüğü dikkate alınmaz.

autoload

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

enum tanımlı bir sayılama ise true, değilse false döner.

Örnekler

Örnek 1 - enum_exists() örneği

<?php
// kullanmadan önce sayılama tanımlı mı, bak
if (enum_exists(Suit::class)) {
$myclass = Suit::Hearts;
}
?>

Ayrıca Bakınız

  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • class_exists() - Sınıf tanımlı mı diye bakar
  • interface_exists() - Arayüz tanımlı mı diye bakar
  • get_declared_classes() - Tanımlı sınıfların isimlerini bir dizi olarak döndürür


Çağrıldığı duruk yöntemin sınıf ismini döndürür

  • « enum_exists
  • get_class_methods »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Çağrıldığı duruk yöntemin sınıf ismini döndürür

get_called_class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

get_called_class — Çağrıldığı duruk yöntemin sınıf ismini döndürür

Açıklama

get_called_class(): string

Çağrıldığı duruk yöntemin sınıf ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Çağrıldığı sınıfın ismini döndürür.

Hatalar/İstisnalar

get_called_class() bir sınıfın dışından çağrılırsa Error istisnası oluşur. PHP 8.0.0 öncesinde, E_WARNING düzeyinde bir hata oluşurdu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev bir sınıfın dışından çağrıldığında artık Error istisnası oluşuyor. Evvelce E_WARNING düzeyinde hata oluşur ve işlev false ile dönerdi.

Örnekler

Örnek 1 - get_called_class() örneği

<?php

class foo {
static public function test() {
var_dump(get_called_class());
}
}

class bar extends foo {
}

foo::test();
bar::test();

?>

Yukarıdaki örneğin çıktısı:

string(3) "foo"
string(3) "bar"

Ayrıca Bakınız

  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar


Sınıf yöntemlerinin isimlerini döndürür

  • « get_called_class
  • get_class_vars »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Sınıf yöntemlerinin isimlerini döndürür

get_class_methods

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class_methods — Sınıf yöntemlerinin isimlerini döndürür

Açıklama

get_class_methods(object|string $nesne_veya_sınıf): array

Sınıf yöntemlerinin isimlerini döndürür.

Bağımsız Değişkenler

nesne_veya_sınıf

Sınıf veya nesne ismi.

Dönen Değerler

Sınıf yöntemlerinin isimlerini bir dizi olarak döndürür. Hata durumunda null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne_veya_sınıf bağımsız değişkeni artık sadece nesneleri veya sınıf isimlerini kabul ediyor.

Örnekler

Örnek 1 - get_class_methods() örneği

<?php

class myclass {
// kurucu
function __construct()
{
return(true);
}

// 1. yöntem
function myfunc1()
{
return(true);
}

// 2. yöntem
function myfunc2()
{
return(true);
}
}

$class_methods = get_class_methods('myclass');
// veya
$class_methods = get_class_methods(new myclass());

foreach ($class_methods as $method_name) {
echo "$method_name\n";
}

?>

Yukarıdaki örneğin çıktısı:

__construct
myfunc1
myfunc2

Ayrıca Bakınız

  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • get_class_vars() - Sınıfın öntanımlı özelliklerini döndürür
  • get_object_vars() - Belirtilen nesnenin özelliklerini döndürür


Sınıfın öntanımlı özelliklerini döndürür

  • « get_class_methods
  • get_class »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Sınıfın öntanımlı özelliklerini döndürür

get_class_vars

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class_vars — Sınıfın öntanımlı özelliklerini döndürür

Açıklama

get_class_vars(string $sınıf): array

Belirtilen sınıf sınıfının öntanımlı public özelliklerini döndürür.

Bağımsız Değişkenler

sınıf

Sınıfın ismi.

Dönen Değerler

Geçerli etki alanında bildirilmiş görünür özellikleri içeren bir ilişkisel dizi döndürür. Dizi elemanları özellik => değer biçemindedir. Hata durumunda false döner.

Örnekler

Örnek 1 - get_class_vars() örneği

<?php

class myclass {

var $var1; // Bunun öntanımlı bir değeri yok...
var $var2 = "xyz";
var $var3 = 100;
private $var4;

// constructor
function myclass() {
// Bazı özellikleri değiştirelim
$this->var1 = "foo";
$this->var2 = "bar";
return true;
}

}

$my_class = new myclass();

$class_vars = get_class_vars(get_class($my_class));

foreach ($class_vars as $name => $value) {
echo "$name : $value\n";
}

?>

Yukarıdaki örneğin çıktısı:

var1 :
var2 : xyz
var3 : 100

Örnek 2 - get_class_vars() ve etki alanı

<?php
function format($array)
{
return implode('|', array_keys($array)) . "\r\n";
}

class TestCase
{
public $a = 1;
protected $b = 2;
private $c = 3;

public static function expose()
{
echo format(get_class_vars(__CLASS__));
}
}

TestCase::expose();
echo format(get_class_vars('TestCase'));
?>

Yukarıdaki örneğin çıktısı:

// 5.0.0
a| * b| TestCase c
a| * b| TestCase c

// 5.0.1 - 5.0.2
a|b|c
a|b|c

// 5.0.3 +
a|b|c
a

Ayrıca Bakınız

  • get_class_methods() - Sınıf yöntemlerinin isimlerini döndürür
  • get_object_vars() - Belirtilen nesnenin özelliklerini döndürür


Bir nesnenin ait olduğu sınıfın ismini döndürür

  • « get_class_vars
  • get_declared_classes »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Bir nesnenin ait olduğu sınıfın ismini döndürür

get_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_class — Bir nesnenin ait olduğu sınıfın ismini döndürür

Açıklama

get_class(object $nesne = ?): string

Belirtilen nesne nesnesinin ait olduğu sınıfın ismini döndürür.

Bağımsız Değişkenler

nesne

Sınanacak nesne Bir sınıfın içindeyken bu bağımsız değişken atlanabilir.

Bilginize: PHP 7.2.0 ve sonrasında nesne'ye null belirtmeye artık izin verilmiyor ve E_WARNING seviyesinde bir uyarı çıktılanıyor. PHP 8.0.0 ve sonrasında ise nesne'ye null belirtilmesi durumunda TypeError istisnası oluşuyor. Bağımsız değişken hala seçimlik olup işlev bir sınıfın içinden çağrıldığında bağımsız değişkeni belirtmek gerekmez. Fakat null belirtmek, bir E_WARNING uyarısına sebep olur.

Dönen Değerler

Belirtilen nesne nesnesinin örneği olduğu sınıfın ismini bir dizge olarak döndürür.

nesne bir sınıfın içinde kullanılmazsa, sınıfın ismi döner.

nesne bir isim alanında mevcut bir sınıfın örneği ise, sınıfın nitelikli isim alanı adı döner.

Hatalar/İstisnalar

get_class() bir nesneden farklı bir şey ile çağrılırsa TypeError istisnası oluşur. PHP 8.0.0 öncesinde E_WARNING seviyesinde bir hata oluşuyordu.

get_class() sınıf dışından bağımsız değişken belirtmeden çağrılırsa Error istisnası oluşur. PHP 8.0.0 öncesinde E_WARNING seviyesinde bir hata oluşuyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlevin bir sınıf dışından bağımsız değişkensiz çağrılması Error istisnası yavrulanmasına sebep olur. Evvelce, E_WARNING seyiyesinde bir uyarı ile işlev false döndürürdü.
7.2.0 | Bu sürümden önce nesne için öntanımlı değer null idi ve bir değer belirtmemekle aynı etkiye sahipti. Artık null öntanımlı değer değildir ve geçerli girdi olarak bile kabul edilmez.
5.0.0'dan itibaren | İşlev nesnenin bir yönteminden çağrılırsa nesne bağımsız değişkeninin belirtilmesi isteğe bağlıdır.

Örnekler

Örnek 1 - get_class() örneği

<?php

class foo {
function ismin_ne()
{
echo "İsmim " , get_class($this) , "\n";
}
}

// Bir nesne oluşturalım
$bar = new foo();

// dışardan çağrı
echo "İsmi " , get_class($bar) , "\n";

// içerden çağrı
$bar->ismin_ne();

?>

Yukarıdaki örneğin çıktısı:

İsmi foo
İsmim foo

Örnek 2 - Alt sınıftan get_class() çağrısı

<?php

abstract class bar {
public function __construct()
{
var_dump(get_class($this));
var_dump(get_class());
}
}

class foo extends bar {
}

new foo;

?>

Yukarıdaki örneğin çıktısı:

string(3) "foo"
string(3) "bar"

Örnek 3 - İsim alanlı sınıflarla get_class() kullanımı

<?php

namespace Foo\Bar;

class Baz {
public function __construct()
{

}
}

$baz = new \Foo\Bar\Baz;

var_dump(get_class($baz));
?>

Yukarıdaki örneğin çıktısı:

string(11) "Foo\Bar\Baz"

Ayrıca Bakınız

  • get_called_class() - Çağrıldığı duruk yöntemin sınıf ismini döndürür
  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • gettype() - Bir değişkenin türünü döndürür
  • get_debug_type() - Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar


Tanımlı sınıfların isimlerini bir dizi olarak döndürür

  • « get_class
  • get_declared_interfaces »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Tanımlı sınıfların isimlerini bir dizi olarak döndürür

get_declared_classes

(PHP 4, PHP 5, PHP 7, PHP 8)

get_declared_classes — Tanımlı sınıfların isimlerini bir dizi olarak döndürür

Açıklama

get_declared_classes(): array

Tanımlı sınıfların isimlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Betikte tanımlanmış sınıfların isimlerini içeren bir dizi döner.

Bilginize:

PHP ile derlediğiniz veya yüklediğiniz eklentilere bağlı olarak, dizi başka sınıflar da içerebilir. Yani, bu sınıflarla aynı isimde kendi sınıflarınızı tanımlayamazsınız. Evvelce tanımlanmış sınıfların isimlerini eklerdeki Öntanımlı Sınıflar bölümünde bulabilirsiniz.

Sürüm Bilgisi

Sürüm: | Açıklama
7.4.0 | Evvelce, get_declared_classes() daima ebeveyn sınıfı çocuk sınıftan önce döndürürdü. Artık dönen değerde bir sıralama söz konusu değil.

Örnekler

Örnek 1 - get_declared_classes() örneği

<?php
print_r(get_declared_classes());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => stdClass
    [1] => Exception
    [2] => ErrorException
    [3] => InvalidArgumentException
    [4] => UnexpectedValueException
)

Ayrıca Bakınız

  • class_exists() - Sınıf tanımlı mı diye bakar
  • get_declared_interfaces() - Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
  • get_defined_functions() - Tanımlanmış bütün işlevleri içeren bir dizi döndürür


Bildirilmiş tüm arayüzleri bir dizi olarak döndürür

  • « get_declared_classes
  • get_declared_traits »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Bildirilmiş tüm arayüzleri bir dizi olarak döndürür

get_declared_interfaces

(PHP 5, PHP 7, PHP 8)

get_declared_interfaces — Bildirilmiş tüm arayüzleri bir dizi olarak döndürür

Açıklama

get_declared_interfaces(): array

Bildirilmiş tüm arayüzleri döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Betikte bildirilmiş arayüzlerin isimlerini içeren bir dizi döner.

Örnekler

Örnek 1 - get_declared_interfaces() örneği

<?php
print_r(get_declared_interfaces());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Traversable
    [1] => IteratorAggregate
    [2] => Iterator
    [3] => ArrayAccess
    [4] => reflector
    [5] => RecursiveIterator
    [6] => SeekableIterator
)

Ayrıca Bakınız

  • interface_exists() - Arayüz tanımlı mı diye bakar
  • get_declared_classes() - Tanımlı sınıfların isimlerini bir dizi olarak döndürür
  • class_implements() - Return the interfaces which are implemented by the given class or interface


Bildirilmiş tüm nitelikleri dizi olarak döndürür

  • « get_declared_interfaces
  • get_mangled_object_vars »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Bildirilmiş tüm nitelikleri dizi olarak döndürür

get_declared_traits

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

get_declared_traits — Bildirilmiş tüm nitelikleri dizi olarak döndürür

Açıklama

get_declared_traits(): array

Bildirilmiş tüm niteliklerin değer olduğu bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bildirilmiş tüm niteliklerin değer olduğu bir dizi döndürür.

Ayrıca Bakınız

  • class_uses() - Return the traits used by the given class
  • trait_exists() - Niteliğin mevcudiyetine bakar


Karışık nesne özelliği dizisi döndürür

  • « get_declared_traits
  • get_object_vars »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Karışık nesne özelliği dizisi döndürür

get_mangled_object_vars

(PHP 7 >= 7.4.0, PHP 8)

get_mangled_object_vars — Karışık nesne özelliği dizisi döndürür

Açıklama

get_mangled_object_vars(object $nesne): array

nesne'nin özelliklerini eleman olarak içeren bir dizi döndürür. Anahtarlar üye değişken isimleridir, bir kaç istisna dışında: Private değişken isimleri ismi önceleyen sınıf isimlerine sahipken protected değişken isimleri * ile öncelenir. Başa eklenen bu değerlerin yerini diğer tarafta NUL baytlar alır. İlklendirilmemiş tür belirtimli özellikler sessizce devre dışı bırakılır.

Bağımsız Değişkenler

nesne

Bir sınıfın örneği.

Dönen Değerler

nesne'nin görünürlüğüne aldırmadan tüm özellikleri içeren bir dizi döner.

Örnekler

Örnek 1 - get_mangled_object_vars() örneği

<?php

class A
{
public $public = 1;

protected $protected = 2;

private $private = 3;
}

class B extends A
{
private $private = 4;
}

$object = new B;
$object->dynamic = 5;
$object->{'6'} = 6;

var_dump(get_mangled_object_vars($object));

class AO extends ArrayObject
{
private $private = 1;
}

$arrayObject = new AO(['x' => 'y']);
$arrayObject->dynamic = 2;

var_dump(get_mangled_object_vars($arrayObject));

Yukarıdaki örneğin çıktısı:

array(6) {
  ["Bprivate"]=>
  int(4)
  ["public"]=>
  int(1)
  ["*protected"]=>
  int(2)
  ["Aprivate"]=>
  int(3)
  ["dynamic"]=>
  int(5)
  [6]=>
  int(6)
}
array(2) {
  ["AOprivate"]=>
  int(1)
  ["dynamic"]=>
  int(2)
}

Ayrıca Bakınız

  • get_class_vars() - Sınıfın öntanımlı özelliklerini döndürür
  • get_object_vars() - Belirtilen nesnenin özelliklerini döndürür


Belirtilen nesnenin özelliklerini döndürür

  • « get_mangled_object_vars
  • get_parent_class »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Belirtilen nesnenin özelliklerini döndürür

get_object_vars

(PHP 4, PHP 5, PHP 7, PHP 8)

get_object_vars — Belirtilen nesnenin özelliklerini döndürür

Açıklama

get_object_vars(object $nesne): array

Belirtilen nesne nesnesinin etki alanına bağlı olarak erişilebilen duruk olmayan özelliklerini döndürür.

Bağımsız Değişkenler

nesne

Bir sınıfın örneği.

Dönen Değerler

Belirtilen nesne nesnesinin etki alanına bağlı olarak erişilebilen duruk olmayan özelliklerini bir dizi olarak döndürür.

Örnekler

Örnek 1 - get_object_vars() örneği

<?php

class foo {
private $a;
public $b = 1;
public $c;
private $d;
static $e;

public function test() {
var_dump(get_object_vars($this));
}
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

?>

Yukarıdaki örneğin çıktısı:

array(2) {
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
}
array(4) {
  ["a"]=>
  NULL
  ["b"]=>
  int(1)
  ["c"]=>
  NULL
  ["d"]=>
  NULL
}

Bilginize:

İlklendirilmemiş özellikler erişilemez olarak kabul edildiğinden diziye dahil edilmez.

Ayrıca Bakınız

  • get_class_methods() - Sınıf yöntemlerinin isimlerini döndürür
  • get_class_vars() - Sınıfın öntanımlı özelliklerini döndürür


Nesne veya sınıfın ebeveyn sınıfının ismini döndürür

  • « get_object_vars
  • interface_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Nesne veya sınıfın ebeveyn sınıfının ismini döndürür

get_parent_class

(PHP 4, PHP 5, PHP 7, PHP 8)

get_parent_class — Nesne veya sınıfın ebeveyn sınıfının ismini döndürür

Açıklama

get_parent_class(object|string $nesne_veya_sınıf = ?): string|false

Belirtilen nesne nesnesinin veya sınıfının ebeveyn sınıfının ismini döndürür.

Bağımsız Değişkenler

nesne_veya_sınıf

Sınanacak sınıf veya nesne ismi. İşlev bir nesnenin yönteminden çağrılırsa bu bağımsız değişken atlanabilir.

Dönen Değerler

Belirtilen nesne_veya_sınıfın ebeveyn sınıfının ismini bir dizge olarak döndürür.

Bilginize:

Nesnenin bir ebeveyni yoksa false döner.

İşlev bağımsız değişkensiz çağrılırsa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne_veya_sınıf bağımsız değişkeninde artık sadece nesne veya geçerli sınıf isimlari kabul ediliyor.

Örnekler

Örnek 1 - get_parent_class() örneği

<?php

class Baba {
function __construct()
{
// Biraz mantık yürütelim
}
}

class Oğul extends Baba {
function __construct()
{
echo "Ben " , get_parent_class($this) , "mın oğluyum\n";
}
}

class Kız extends Baba{
function __construct()
{
echo "Ben " , get_parent_class('Kız') , "mın kızıyım\n";
}
}

$bar = new Oğul();
$foo = new Kız();

?>

Yukarıdaki örneğin çıktısı:

Ben Babamın oğluyum
Ben Babamın kızıyım

Ayrıca Bakınız

  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
  • class_parents() - Return the parent classes of the given class


Arayüz tanımlı mı diye bakar

  • « get_parent_class
  • is_a »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Arayüz tanımlı mı diye bakar

interface_exists

(PHP 5 >= 5.0.2, PHP 7, PHP 8)

interface_exists — Arayüz tanımlı mı diye bakar

Açıklama

interface_exists(string $arayüz, bool $otomatik_yükle = true): bool

Belirtilen arayüz tanımlı mı diye bakar.

Bağımsız Değişkenler

arayüz

Arayüzün ismi.

otomatik_yükle

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

Belirtilen arayüz tanımlıysa true, aksi takdirde false döner.

Örnekler

Örnek 1 - interface_exists() örneği

<?php
// Kullanmaya çalışmadan önce arayüz tanımlı mı diye bakalım
if (interface_exists('Arayüzüm')) {
class Sınıfım implements Arayüzüm
{
// Yöntemler
}
}

?>

Ayrıca Bakınız

  • get_declared_interfaces() - Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
  • class_implements() - Return the interfaces which are implemented by the given class or interface
  • class_exists() - Sınıf tanımlı mı diye bakar
  • enum_exists() - Sayılamanın tanımlı olup olmadığını sınar


Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar

  • « interface_exists
  • is_subclass_of »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar

is_a

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

is_a — Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar

Açıklama

is_a(mixed $nesne_veya_sınıf, string $sınıf, bool $dizge_olmaz = false): bool

Belirtilen nesne_veya_sınıf, sınıf sınıfının veya üst sınıflarından birinin nesnesi veya sınıfı mı diye bakar.

Bağımsız Değişkenler

nesne_veya_sınıf

Sınanacak sınıf ismi veya nesne.

sınıf

Olası sınıf veya arayüz ismi.

dizge_olmaz

false belirtilirse nesne bağımsız değişkeninde string türünde sınıf ismi belirtilebilir. Bu durumda, sınıf mevcut değilse otomatik yükleyici çağrılmaz.

Dönen Değerler

nesne_veya_sınıf, sınıf sınıfının veya üst sınıflarından birinin nesnesi veya sınıfı ise true değilse false döner.

Örnekler

Örnek 1 - is_a() örneği

<?php
// bir sınıf tanımlayalım
class EdevatFabrikası
{
var $oink = 'moo';
}

// Bir nesne oluşturalım
$EF = new EdevatFabrikası();

if (is_a($EF, 'EdevatFabrikası')) {
echo "Evet, \$EF bir EdevatFabrikası\n";
}
?>

Örnek 2 - instanceof işlecinin kullanımı

<?php
if ($EF instanceof EdevatFabrikası) {
echo 'Evet, $EF bir EdevatFabrikası';
}
?>

Ayrıca Bakınız

  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar


Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar

  • « is_a
  • method_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar

is_subclass_of

(PHP 4, PHP 5, PHP 7, PHP 8)

is_subclass_of — Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar

Açıklama

is_subclass_of(mixed $nesne_veya_sınıf, string $sınıf, bool $dizge_olmaz = true): bool

Belirtilen sınıf sınıfının, belirtilen nesne_veya_sınıfın ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar.

Bağımsız Değişkenler

nesne_veya_sınıf

Nesne veya sınıf ismi. Sınıf mevcut değilse bir hata oluşmaz.

sınıf

Olası ebeveynin ismi.

dizge_olmaz

false belirtilirse nesne_veya_sınıf bağımsız değişkeninde string türünde sınıf ismi belirtilebilir. Bu durumda, sınıf mevcut değilse otomatik yükleyici çağrılmaz.

Dönen Değerler

nesne_veya_sınıf, sınıfın alt sınıflarından birine aitse true değilse false döner.

Örnekler

Örnek 1 - is_subclass_of() örneği

<?php
// bir sınıf tanımlayalım
class EdevatFabrikası
{
var $oink = 'moo';
}

// Bir alt sınıf tanımlayalım
class MakineAtölyesi extends EdevatFabrikası
{
var $oink = 'oink';
}

// Yeni bir nesne oluşturalım
$EF = new EdevatFabrikası();
$MA = new MakineAtölyesi();

if (is_subclass_of($MA, 'EdevatFabrikası')) {
echo "Evet, \$MA EdevatFabrikası'nın bir alt sınıfıdır\n";
} else {
echo "Hayır, \$MA EdevatFabrikası'nın bir alt sınıfı değildir\n";
}

if (is_subclass_of($EF, 'MakineAtölyesi')) {
echo "Evet, \$EF MakineAtölyesi'nin bir alt sınıfıdır\n";
} else {
echo "Hayır, \$EF MakineAtölyesi'nin bir alt sınıfı değildir\n";
}

if (is_subclass_of('MakineAtölyesi', 'EdevatFabrikası')) {
echo "Evet, MakineAtölyesi EdevatFabrikası'nın bir alt sınıfıdır\n";
} else {
echo "Hayır, MakineAtölyesi EdevatFabrikası'nın bir alt sınıfı değildir\n";
}
?>

Yukarıdaki örneğin çıktısı:

Evet, $MA EdevatFabrikası'nın bir alt sınıfıdır
Hayır, $EF MakineAtölyesi'nin bir alt sınıfı değildir
Evet, MakineAtölyesi EdevatFabrikası'nın bir alt sınıfıdır

Örnek 2 - Arayüz kullanılan is_subclass_of() örneği

<?php
// Arayüzü tanımla
interface MyInterface
{
public function MyFunction();
}

// arayüzün sınıf gerçeklenimini tanımla
class MyClass implements MyInterface
{
public function MyFunction()
{
return "MyClass Implements MyInterface!";
}
}

// Nesneyi örnekle
$my_object = new MyClass;

// Sınıfın nesne örneğini kullanarak deneme yap
if (is_subclass_of($my_object, 'MyInterface')) {
echo "Evet, \$my_object MyInterface'in alt sınıfıdır\n";
} else {
echo "Hayır, \$my_object MyInterface'in alt sınıfı değildir\n";
}

// Sınıf ismini dizgesi kullanarak deneme yap
if (is_subclass_of('MyClass', 'MyInterface')) {
echo "Evet, MyClass MyInterface'in alt sınıfıdır\n";
} else {
echo "Hayır, MyClass MyInterface'in alt sınıfı değildir\n";
}
?>

Yukarıdaki örneğin çıktısı:

Evet, $my_object MyInterface'in alt sınıfıdır
Evet, MyClass MyInterface'in alt sınıfıdır

Notlar

Bilginize:

Sınıf zaten biliniyorsa, otomatik yüklenen sınıflar için bu işlev kullanılabilir.

Ayrıca Bakınız

  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
  • is_a() - Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
  • class_parents() - Return the parent classes of the given class


Bir sınıf yöntemi mevcut mu diye bakar

  • « is_subclass_of
  • property_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Bir sınıf yöntemi mevcut mu diye bakar

method_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

method_exists — Bir sınıf yöntemi mevcut mu diye bakar

Açıklama

method_exists(string|object $nesne_veya_sınıf, string $yöntem): bool

Belirtilen nesne_veya_sınıfnın belirtilen yönteme sahip olup olmadığına bakar.

Bağımsız Değişkenler

nesne_veya_sınıf

Sınanacak nesne veya sınıfın ismi.

yöntem

Aranacak yöntemin ismi.

Dönen Değerler

Belirtilen nesne_veya_sınıf, belirtilen yönteme sahipse true, değilse false döner.

Örnekler

Örnek 1 - method_exists() örneği

<?php
$directory = new Directory('.');
var_dump(method_exists($directory,'read'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Örnek 2 - Duruk method_exists() örneği

<?php
var_dump(method_exists('Directory','read'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Notlar

Bilginize:

Sınıf zaten biliniyorsa, otomatik yüklenen sınıflar için bu işlev kullanılabilir.

Ayrıca Bakınız

  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
  • class_exists() - Sınıf tanımlı mı diye bakar


Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar

  • « method_exists
  • trait_exists »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar

property_exists

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

property_exists — Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar

Açıklama

property_exists(object|string $nesne_veya_sınıf, string $özellik): bool

Bu işlev, belirtilen nesne_veya_sınıfın belirtilen özellik özelliğine sahip olup olmadığına bakar.

Bilginize:

isset() işlevinin tersine, property_exists() işlevi, özelliğin değeri null olsa bile true döndürür.

Bağımsız Değişkenler

nesne_veya_sınıf

Sınanacak sınıf veya nesne.

özellik

Aranacak özelliğin ismi.

Dönen Değerler

Özellik mevcutsa true, değilse false, bir hata durumunda null döner.

Örnekler

Örnek 1 - property_exists() örneği

<?php

class myClass {
public $mine;
private $xpto;
static protected $test;

static function test() {
var_dump(property_exists('myClass', 'xpto')); //true
}
}

var_dump(property_exists('myClass', 'mine')); //true
var_dump(property_exists(new myClass, 'mine')); //true
var_dump(property_exists('myClass', 'xpto')); //true
var_dump(property_exists('myClass', 'bar')); //false
var_dump(property_exists('myClass', 'test')); //true
myClass::test();

?>

Notlar

Bilginize:

Sınıf zaten biliniyorsa, otomatik yüklenen sınıflar için bu işlev kullanılabilir.

Bilginize:

property_exists() işlevi __get kullanarak sihirli olarak ulaşılabilen özellikleri saptayamaz.

Ayrıca Bakınız

  • method_exists() - Bir sınıf yöntemi mevcut mu diye bakar


Niteliğin mevcudiyetine bakar

  • « property_exists
  • Ctype »
  • PHP Manual
  • Sınıf ve Nesne İşlevleri
  • Niteliğin mevcudiyetine bakar

trait_exists

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

trait_exists — Niteliğin mevcudiyetine bakar

Açıklama

trait_exists(string $nitelik, bool $otomatik_yükle = true): bool

nitelik tanımlıysa true döndürür.

Bağımsız Değişkenler

nitelik

Varlığı sınanacak nitelik.

otomatik_yükle

Yüklü değilse autoload çağrısı yapılıp yapılmayacağı.

Dönen Değerler

Nitelik mevcutsa true değilse false döner.


Karakter Türü Sınaması

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Karakter Türü Sınama İşlevleri
    • ctype_alnum — Sınama, abecesayısal karakterler için yapılır
    • ctype_alpha — Sınama, abecesel karakterler için yapılır
    • ctype_cntrl — Sınama, denetim karakterleri için yapılır
    • ctype_digit — Sınama, rakamlar için yapılır
    • ctype_graph — Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
    • ctype_lower — Sınama, küçük harfler için yapılır
    • ctype_print — Sınama, basılabilir karakterler için yapılır
    • ctype_punct — Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
    • ctype_space — Sınama, boşluk karakterleri için yapılır
    • ctype_upper — Sınama, büyük harfler için yapılır
    • ctype_xdigit — Sınama, onaltılık rakamlar için yapılır


Giriş

Bu eklenti ile sağlanan işlevler, bir karakter veya dizgenin geçerli yerele göre (setlocale() işlevine de bakınız) belli bir karakter sınıfına ait olup olmadığını saptamaya yarar.

Bu işlevler, bir tamsayı bağımsız değişken ile çağrıldığında ctype.h dosyasındaki eşdeğerleri gibi davranır. Yani, işleve 256'dan küçük bir tamsayı aktarılırsa, belirtilen aralık içinde kalıp kalmadığına (0x30-0x39 aralığındaki rakamlar) bakmak için sayı bir ASCII değer olarak kullanılır. Eğer sayı -128 (dahil) ile -1 (dahil) arasındaysa sayıya önce 256 eklenir sonra sınama yapılır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

İşlevler bir dizge bağımsız değişken ile çağrıldığında, dizgedeki her karakter sınanır ve sadece tüm karakterlerin istenen koşulları sağlaması durumunda true döndürülür. Boş dizge ile çağrıldığında sonuç daima false olur.

Bir dizge veya sayı haricinde bir değer aktarımı işlevin anında false döndürmesi ile sonuçlanır.

Bu işlevler sıradan düzenli ifade işlevlerine ve hatta "str_*" ve "is_*" işlevlerine daima tercih edilmelidir. Ctype eklentisi C kütüphanesini kullandığından bunlardan belirgin şekilde daha hızlıdır.

Bilginize:

Bu işlevlerin Python "ctypes" kütüphanesiyle hiçbir ilgisi yoktur. Eklenti adı, C eşdeğerlerinin tanımlandığı ctype.h C başlık dosyasından kaynaklanır.

Bu eklenti ayrıca Python "ctypes" kütüphanesinden de önce yazılmıştır, yani bu isimlendirmenin sebep olduğu karışıklık PHP'nin hatası değildir.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

Standart C kütüphanesindeki işlevlerden başka bir şeye ihtiyaç yoktur.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-ctype.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


  • « Özkaynak Türleri
  • Karakter Türü Sınama İşlevleri »
  • PHP Manual
  • Ctype
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Karakter Türü Sınama İşlevleri

İçindekiler

  • ctype_alnum — Sınama, abecesayısal karakterler için yapılır
  • ctype_alpha — Sınama, abecesel karakterler için yapılır
  • ctype_cntrl — Sınama, denetim karakterleri için yapılır
  • ctype_digit — Sınama, rakamlar için yapılır
  • ctype_graph — Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
  • ctype_lower — Sınama, küçük harfler için yapılır
  • ctype_print — Sınama, basılabilir karakterler için yapılır
  • ctype_punct — Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
  • ctype_space — Sınama, boşluk karakterleri için yapılır
  • ctype_upper — Sınama, büyük harfler için yapılır
  • ctype_xdigit — Sınama, onaltılık rakamlar için yapılır


Sınama, abecesayısal karakterler için yapılır

  • « Karakter Türü Sınama İşlevleri
  • ctype_alpha »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, abecesayısal karakterler için yapılır

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_alnum — Sınama, abecesayısal karakterler için yapılır

Açıklama

ctype_alnum(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer harf veya rakam ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer harf veya rakam ise true, değilse false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_alnum() örneği (öntanımlı yerel kullanılarak)

<?php
$dizgeler = array('AbCd1zyZ9', 'foo!#$bar');
foreach ($dizgeler as $dizge) {
if (ctype_alnum($dizge)) {
echo "$dizge tamamen harflerden ve/veya rakamlardan oluşuyor.\n";
} else {
echo "$dizge tamamen harflerden ve/veya rakamlardan oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

AbCd1zyZ9 tamamen harflerden ve/veya rakamlardan oluşuyor.
foo!#$bar tamamen harflerden ve/veya rakamlardan oluşmuyor.

Ayrıca Bakınız

  • ctype_alpha() - Sınama, abecesel karakterler için yapılır
  • ctype_digit() - Sınama, rakamlar için yapılır
  • setlocale() - Yereli ayarlar
  • IntlChar::isalnum() - Check if code point is an alphanumeric character


Sınama, abecesel karakterler için yapılır

  • « ctype_alnum
  • ctype_cntrl »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, abecesel karakterler için yapılır

ctype_alpha

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_alpha — Sınama, abecesel karakterler için yapılır

Açıklama

ctype_alpha(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer harf ise true döner. Standart C yerelinde harfler [A-Za-z] aralığında olup ctype_alpha() işlevi, $metin tek bir karakterden ibaretse (ctype_upper($metin) || ctype_lower($metin)) ifadesine denktir. Ancak bazı dillerde harfler ne büyük ne de küçük harf olarak nitelenebilmektedir.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer harf ise true, değilse false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_alpha() örneği (öntanımlı yerel kullanılarak)

<?php
$dizgeler = array('KjgWZC', 'arf12');
foreach ($dizgeler as $dizge) {
if (ctype_alpha($dizge)) {
echo "$dizge tamamen harflerden oluşuyor.\n";
} else {
echo "$dizge tamamen harflerden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

KjgWZC tamamen harflerden oluşuyor.
arf12 tamamen harflerden oluşmuyor.

Ayrıca Bakınız

  • ctype_upper() - Sınama, büyük harfler için yapılır
  • ctype_lower() - Sınama, küçük harfler için yapılır
  • setlocale() - Yereli ayarlar
  • IntlChar::isalpha() - Check if code point is a letter character


Sınama, denetim karakterleri için yapılır

  • « ctype_alpha
  • ctype_digit »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, denetim karakterleri için yapılır

ctype_cntrl

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_cntrl — Sınama, denetim karakterleri için yapılır

Açıklama

ctype_cntrl(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi birer denetim karakteri (ASCII kodu 32'den küçük karakterler) ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi birer denetim karakteri ise true değilse false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_cntrl() örneği

<?php
$dizgeler = array('dizge1' => "\n\r\t",
'dizge2' => 'arf12');
foreach ($dizgeler as $isim => $dizge) {
if (ctype_cntrl($dizge)) {
echo "'$isim' tamamen denetim karakterlerinden oluşuyor.\n";
} else {
echo "'$isim' tamamen denetim karakterlerinden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

'dizge1' tamamen denetim karakterlerinden oluşuyor.
'dizge2' tamamen denetim karakterlerinden oluşmuyor.

Ayrıca Bakınız

  • ctype_print() - Sınama, basılabilir karakterler için yapılır
  • IntlChar::iscntrl() - Check if code point is a control character


Sınama, rakamlar için yapılır

  • « ctype_cntrl
  • ctype_graph »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, rakamlar için yapılır

ctype_digit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_digit — Sınama, rakamlar için yapılır

Açıklama

ctype_digit(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi rakamlardan oluşuyorsa true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi birer rakam ise true, değilse false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_digit() örneği

<?php
$dizgeler = array('1820.20', '10002', 'wsl!12');
foreach ($dizgeler as $dizge) {
if (ctype_digit($dizge)) {
echo "$dizge tamamen rakamlardan oluşuyor.\n";
} else {
echo "$dizge tamamen rakamlardan oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

1820.20 tamamen rakamlardan oluşmuyor.
10002 tamamen rakamlardan oluşuyor.
wsl!12 tamamen rakamlardan oluşmuyor.

Örnek 2 - ctype_digit() (dizgelerle tamsayıları karşılaştırma) örneği

<?php

$numeric_string = '42';
$integer = 42;

ctype_digit($numeric_string); // true
ctype_digit($integer); // false (ASCII 42 * karakteridir)

is_numeric($numeric_string); // true
is_numeric($integer); // true
?>

Ayrıca Bakınız

  • ctype_alnum() - Sınama, abecesayısal karakterler için yapılır
  • ctype_xdigit() - Sınama, onaltılık rakamlar için yapılır
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • IntlChar::isdigit() - Check if code point is a digit character


Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır

  • « ctype_digit
  • ctype_lower »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır

ctype_graph

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_graph — Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır

Açıklama

ctype_graph(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi görsel çıktı oluşturuyorsa true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi basılabilirse ve birer görsel çıktı oluşturuyorlarsa (boşluk karakterleri değilseler) true, aksi takdirde false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_graph() örneği

<?php
$dizgeler = array('dizge1' => "asdf\n\r\t",
'dizge2' => 'arf12',
'dizge3' => 'LKA#@%.54');
foreach ($dizgeler as $isim => $dizge) {
if (ctype_graph($dizge)) {
echo "'$isim' tamamen (görsel) basılabilir karakterlerden oluşuyor.\n";
} else {
echo "'$isim' tamamen (görsel) basılabilir karakterlerden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

'dizge1' tamamen (görsel) basılabilir karakterlerden oluşmuyor.
'dizge2' tamamen (görsel) basılabilir karakterlerden oluşuyor.
'dizge3' tamamen (görsel) basılabilir karakterlerden oluşuyor.

Ayrıca Bakınız

  • ctype_alnum() - Sınama, abecesayısal karakterler için yapılır
  • ctype_print() - Sınama, basılabilir karakterler için yapılır
  • ctype_punct() - Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
  • IntlChar::isgraph() - Check if code point is a graphic character


Sınama, küçük harfler için yapılır

  • « ctype_graph
  • ctype_print »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, küçük harfler için yapılır

ctype_lower

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_lower — Sınama, küçük harfler için yapılır

Açıklama

ctype_lower(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi birer küçük harf ise true döner.

Bağımsız Değişkenler

metin

Sınanacak metin.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer küçük harf ise true döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_lower() örneği (öntanımlı yerel kullanılarak)

<?php
$dizgeler = array('aac123', 'qiutoas', 'QASsdks');
foreach ($dizgeler as $dizge) {
if (ctype_lower($dizge)) {
echo "$dizge tamamen küçük harflerden oluşuyor.\n";
} else {
echo "$dizge tamamen küçük harflerden oluşmuyor";
}
}
?>

Yukarıdaki örneğin çıktısı:

aac123 tamamen küçük harflerden oluşmuyor.
qiutoas tamamen küçük harflerden oluşuyor.
QASsdks tamamen küçük harflerden oluşmuyor.

Ayrıca Bakınız

  • ctype_alpha() - Sınama, abecesel karakterler için yapılır
  • ctype_upper() - Sınama, büyük harfler için yapılır
  • setlocale() - Yereli ayarlar
  • IntlChar::islower() - Check if code point is a lowercase letter


Sınama, basılabilir karakterler için yapılır

  • « ctype_lower
  • ctype_punct »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, basılabilir karakterler için yapılır

ctype_print

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_print — Sınama, basılabilir karakterler için yapılır

Açıklama

ctype_print(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi basılabilir karakterlerden oluşuyorsa true döner.

Bağımsız Değişkenler

metin

Sınanacak metin.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi basılabilir karakterlerden (boşluklar dahil) oluşuyorsa true döner. Denetim karakterleri, hiçbir çıktı üretmeyen veya bir işlevi denetleyen karakterleri içeriyorsa false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_print() örneği

<?php
$dizgeler = array('dizge1' => "asdf\n\r\t",
'dizge2' => 'arf12',
'dizge3' => 'LKA#@%.54');
foreach ($dizgeler as $isim => $dizge) {
if (ctype_print($testcase)) {
echo "'$isim' tamamen basılabilir karakterlerden oluşuyor.\n";
} else {
echo "'$isim' tamamen basılabilir karakterlerden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

'dizge1' tamamen basılabilir karakterlerden oluşmuyor.
'dizge2' tamamen basılabilir karakterlerden oluşuyor.
'dizge3' tamamen basılabilir karakterlerden oluşuyor.

Ayrıca Bakınız

  • ctype_cntrl() - Sınama, denetim karakterleri için yapılır
  • ctype_graph() - Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
  • ctype_punct() - Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
  • IntlChar::isprint() - Check if code point is a printable character


Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır

  • « ctype_print
  • ctype_space »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır

ctype_punct

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_punct — Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır

Açıklama

ctype_punct(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi birer noktalama karakteri ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi birer noktalama karakteri (harf, rakam ve boşluklar dışında kalan basılabilir karakterler) ise true, aksi takdirde false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_punct() örneği

<?php
$dizgeler = array('ABasdk!@!$#', '!@ # $', '*&$()');
foreach ($dizgeler as $dizge) {
if (ctype_punct($tdizge)) {
echo "$dizge tamamen noktalama işaretlerinden oluşuyor.\n";
} else {
echo "$dizge tamamen noktalama imlerinden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

ABasdk!@!$# tamamen noktalama imlerinden oluşmuyor.
!@ # $ tamamen noktalama imlerinden oluşmuyor.
*&$() tamamen noktalama işaretlerinden oluşuyor.

Ayrıca Bakınız

  • ctype_cntrl() - Sınama, denetim karakterleri için yapılır
  • ctype_graph() - Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
  • IntlChar::ispunct() - Check if code point is punctuation character


Sınama, boşluk karakterleri için yapılır

  • « ctype_punct
  • ctype_upper »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, boşluk karakterleri için yapılır

ctype_space

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_space — Sınama, boşluk karakterleri için yapılır

Açıklama

ctype_space(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi boşluk karakterlerinden oluşuyorsa true döner.

Bağımsız Değişkenler

metin

Sınanacak metin.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi boşluk karakterlerinden (normal boşluk, yatay ve düşey sekme, satırsonu, satırbaşı ve sayfa ileri karakterleri) oluşuyorsa true döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_space() örneği

<?php
$dizgeler = array('dizge1' => "\n\r\t",
'dizge2' => "\narf12",
'dizge3' => '\n\r\t'); //dikkat, tek tırnak
foreach ($dizgeler as $isim => $dizge) {
if (ctype_space($dizge)) {
echo "'$isim' sadece boşluk karakterlerinden oluşuyor.\n";
} else {
echo "'$isim' boşluk karakterleri içermiyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

'dizge1' sadece boşluk karakterlerinden oluşuyor.
'dizge2' boşluk karakterleri içermiyor.
'dizge3' boşluk karakterleri içermiyor.

Ayrıca Bakınız

  • ctype_cntrl() - Sınama, denetim karakterleri için yapılır
  • ctype_graph() - Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
  • ctype_punct() - Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
  • IntlChar::isspace() - Check if code point is a space character


Sınama, büyük harfler için yapılır

  • « ctype_space
  • ctype_xdigit »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, büyük harfler için yapılır

ctype_upper

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_upper — Sınama, büyük harfler için yapılır

Açıklama

ctype_upper(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer büyük harf ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi geçerli yerele göre birer büyük harf ise true döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_upper() örneği (öntanımlı yereli kullanarak)

<?php
$dizgeler = array('AKLMC139', 'LMNSDO', 'akwSKBsm');
foreach ($dizgeler as $dizge) {
if (ctype_upper($dizge)) {
echo "$dizge tamamen büyük harflerden oluşuyor.\n";
} else {
echo "$dizge tamamen büyük harflerden oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

AKLMC139 tamamen büyük harflerden oluşmuyor.
LMNSDO tamamen büyük harflerden oluşuyor.
akwSKBsm tamamen büyük harflerden oluşmuyor.

Ayrıca Bakınız

  • ctype_alpha() - Sınama, abecesel karakterler için yapılır
  • ctype_lower() - Sınama, küçük harfler için yapılır
  • setlocale() - Yereli ayarlar
  • IntlChar::isupper() - Check if code point has the general category "Lu" (uppercase letter)


Sınama, onaltılık rakamlar için yapılır

  • « ctype_upper
  • Filter »
  • PHP Manual
  • Karakter Türü Sınama İşlevleri
  • Sınama, onaltılık rakamlar için yapılır

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_xdigit — Sınama, onaltılık rakamlar için yapılır

Açıklama

ctype_xdigit(mixed $metin): bool

Belirtilen metin içindeki karakterlerin hepsi birer onaltılık rakam ise true döner.

Bağımsız Değişkenler

metin

Sınanacak dizge.

Bilginize:

-128 ile 255 (dahil) arasında bir tamsayı belirtilmişse bu, tek bir karakterin ASCII değeri olarak yorumlanır (negatif değerlere 256 eklenerek genişletimiş ASCII karakterlerin kullanımı sağlanmıştır). Bu aralığın dışındaki tüm tamsayılar, sayının rakamlarını oluşturan bir dizge olarak yorumlanır.

Uyarı

PHP 8.1.0 itibariyle, dizge olmayan bağımsız değişken aktarımı önerilmemektedir. Gelecek sürümlerde, bağımsız değişken bir ASCII karakter kodu olarak değil bir dizge olarak yorumlanacaktır. Amaçlanan davranışa bağlı olarak, bağımsız değişken ya string türe dönüştürülmeli ya da doğrudan chr() çağrısı yapılmalıdır.

Dönen Değerler

Belirtilen metin içindeki karakterlerin hepsi birer onaltılık rakam ise, yani rakamlar ve [A-Fa-f] aralığındaki karakterlerden biri iseler true, aksi takdirde false döner. Boş dizge ile çağrıldığında sonuç daima false olur.

Örnekler

Örnek 1 - ctype_xdigit() örneği

<?php
$dizgeler = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($dizgeler as $dizge) {
if (ctype_xdigit($dizge)) {
echo "$dizge tamamen onaltılık rakamlardan oluşuyor.\n";
} else {
echo "$dizge tamamen onaltılık rakamlardan oluşmuyor.\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

AB10BC99 tamamen onaltılık rakamlardan oluşuyor.
AR1012 tamamen onaltılık rakamlardan oluşmuyor.
ab12bc99 tamamen onaltılık rakamlardan oluşuyor.

Ayrıca Bakınız

  • ctype_digit() - Sınama, rakamlar için yapılır
  • IntlChar::isxdigit() - Check if code point is a hexadecimal digit


Data Filtering

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Types of filters
    • Validate filters
    • Sanitize filters
    • Other filters
    • Filter flags
  • Öntanımlı Sabitler
  • Örnekler
    • Validation
    • Sanitization
  • Filter İşlevleri
    • filter_has_var — Checks if variable of specified type exists
    • filter_id — Returns the filter ID belonging to a named filter
    • filter_input_array — Gets external variables and optionally filters them
    • filter_input — Gets a specific external variable by name and optionally filters it
    • filter_list — Returns a list of all supported filters
    • filter_var_array — Gets multiple variables and optionally filters them
    • filter_var — Filters a variable with a specified filter


Giriş

This extension filters data by either validating or sanitizing it. This is especially useful when the data source contains unknown (or foreign) data, like user supplied input. For example, this data may come from an HTML form.

There are two main types of filtering: validation and sanitization.

Validation is used to validate or check if the data meets certain qualifications. For example, passing in FILTER_VALIDATE_EMAIL will determine if the data is a valid email address, but will not change the data itself.

Sanitization will sanitize the data, so it may alter it by removing undesired characters. For example, passing in FILTER_SANITIZE_EMAIL will remove characters that are inappropriate for an email address to contain. That said, it does not validate the data.

Flags are optionally used with both validation and sanitization to tweak behaviour according to need. For example, passing in FILTER_FLAG_PATH_REQUIRED while filtering an URL will require a path (like /foo in http://example.org/foo) to be present.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-filter


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Filter Configuration Options
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
filter.default | "unsafe_raw" | PHP_INI_PERDIR | Deprecated as of PHP 8.1.0.
filter.default_flags | NULL | PHP_INI_PERDIR |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

filter.default string

Filter all $_GET, $_POST, $_COOKIE, $_REQUEST and $_SERVER data by this filter. Original data can be accessed through filter_input().

Accepts the name of the filter you like to use by default. See the existing filter list for the list of the filter names.

Bilginize:

Be careful about the default flags for the default filters. You should explicitly set them to the value you want. For example, to configure the default filter to behave exactly like htmlspecialchars() you need to set them default flags to 0 as shown below.

Örnek 1 Configuring the default filter to act like htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

filter.default_flags int

Default flags to apply when the default filter is set. This is set to FILTER_FLAG_NO_ENCODE_QUOTES by default for backwards compatibility reasons. See the flag list for the list of all the flag names.


  • « Çalışma Anı Yapılandırması
  • Types of filters »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Types of filters

İçindekiler

  • Validate filters
  • Sanitize filters
  • Other filters
  • Filter flags


Validate filters

Listing of filters for validation
ID | Name | Options | Flags | Description
FILTER_VALIDATE_BOOLEAN, FILTER_VALIDATE_BOOL | "boolean" | default | FILTER_NULL_ON_FAILURE | Returns true for "1", "true", "on" and "yes". Returns false otherwise. If FILTER_NULL_ON_FAILURE is set, false is returned only for "0", "false", "off", "no", and "", and null is returned for all non-boolean values. String values are trimmed using trim() before comparison.
FILTER_VALIDATE_DOMAIN | "validate_domain" | default | FILTER_FLAG_HOSTNAME, FILTER_NULL_ON_FAILURE | Validates whether the domain name label lengths are valid. Validates domain names against RFC 1034, RFC 1035, RFC 952, RFC 1123, RFC 2732, RFC 2181, and RFC 1123. Optional flag FILTER_FLAG_HOSTNAME adds ability to specifically validate hostnames (they must start with an alphanumeric character and contain only alphanumerics or hyphens).
FILTER_VALIDATE_EMAIL | "validate_email" | default | FILTER_FLAG_EMAIL_UNICODE, FILTER_NULL_ON_FAILURE | Validates whether the value is a valid e-mail address. In general, this validates e-mail addresses against the addr-specsyntax in » RFC 822, with the exceptions that comments and whitespace folding and dotless domain names are not supported.
FILTER_VALIDATE_FLOAT | "float" | default, decimal, min_range, max_range | FILTER_FLAG_ALLOW_THOUSAND, FILTER_NULL_ON_FAILURE | Validates value as float, optionally from the specified range, and converts to float on success. String values are trimmed using trim() before comparison.
FILTER_VALIDATE_INT | "int" | default, min_range, max_range | FILTER_FLAG_ALLOW_OCTAL, FILTER_FLAG_ALLOW_HEX, FILTER_NULL_ON_FAILURE | Validates value as integer, optionally from the specified range, and converts to int on success. String values are trimmed using trim() before comparison.
FILTER_VALIDATE_IP | "validate_ip" | default | FILTER_FLAG_IPV4, FILTER_FLAG_IPV6, FILTER_FLAG_NO_PRIV_RANGE, FILTER_FLAG_NO_RES_RANGE, FILTER_FLAG_GLOBAL_RANGE, FILTER_NULL_ON_FAILURE | Validates value as IP address, optionally only IPv4 or IPv6 or not from private or reserved ranges.
FILTER_VALIDATE_MAC | "validate_mac_address" | default | FILTER_NULL_ON_FAILURE | Validates value as MAC address.
FILTER_VALIDATE_REGEXP | "validate_regexp" | default, regexp | FILTER_NULL_ON_FAILURE | Validates value against regexp, a Perl-compatible regular expression.
FILTER_VALIDATE_URL | "validate_url" | default | FILTER_FLAG_SCHEME_REQUIRED, FILTER_FLAG_HOST_REQUIRED, FILTER_FLAG_PATH_REQUIRED, FILTER_FLAG_QUERY_REQUIRED, FILTER_NULL_ON_FAILURE | Validates value as URL (according to » http://www.faqs.org/rfcs/rfc2396), optionally with required components. Beware a valid URL may not specify the HTTP protocol http:// so further validation may be required to determine the URL uses an expected protocol, e.g. ssh:// or mailto:. Note that the function will only find ASCII URLs to be valid; internationalized domain names (containing non-ASCII characters) will fail.

Bilginize:

When default is set to option, default's value is used if value is not validated.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags for the FILTER_VALIDATE_URL filter have been removed. The scheme and host are (and have been) always required.
8.0.0 | Added FILTER_VALIDATE_BOOL as an alias for FILTER_VALIDATE_BOOLEAN. Using FILTER_VALIDATE_BOOL is preferred.
7.4.0 | Added min_range and max_range options for FILTER_VALIDATE_FLOAT.
7.0.0 | Added FILTER_FLAG_HOSTNAME and FILTER_VALIDATE_DOMAIN.


Sanitize filters

List of filters for sanitization
ID | Name | Flags | Description
FILTER_SANITIZE_EMAIL | "email" |  | Remove all characters except letters, digits and !#$%&'*+-=?^_`{|}~@.[].
FILTER_SANITIZE_ENCODED | "encoded" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH | URL-encode string, optionally strip or encode special characters.
FILTER_SANITIZE_MAGIC_QUOTES | "magic_quotes" |  | Apply addslashes(). (DEPRECATED as of PHP 7.3.0 and REMOVED as of PHP 8.0.0, use FILTER_SANITIZE_ADD_SLASHES instead.)
FILTER_SANITIZE_ADD_SLASHES | "add_slashes" |  | Apply addslashes(). (Available as of PHP 7.3.0)
FILTER_SANITIZE_NUMBER_FLOAT | "number_float" | FILTER_FLAG_ALLOW_FRACTION, FILTER_FLAG_ALLOW_THOUSAND, FILTER_FLAG_ALLOW_SCIENTIFIC | Remove all characters except digits, +- and optionally .,eE.
FILTER_SANITIZE_NUMBER_INT | "number_int" |  | Remove all characters except digits, plus and minus sign.
FILTER_SANITIZE_SPECIAL_CHARS | "special_chars" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_HIGH | HTML-encode '"<>& and characters with ASCII value less than 32, optionally strip or encode other special characters.
FILTER_SANITIZE_FULL_SPECIAL_CHARS | "full_special_chars" | FILTER_FLAG_NO_ENCODE_QUOTES | Equivalent to calling htmlspecialchars() with ENT_QUOTES set. Encoding quotes can be disabled by setting FILTER_FLAG_NO_ENCODE_QUOTES. Like htmlspecialchars(), this filter is aware of the default_charset and if a sequence of bytes is detected that makes up an invalid character in the current character set then the entire string is rejected resulting in a 0-length string. When using this filter as a default filter, see the warning below about setting the default flags to 0.
FILTER_SANITIZE_STRING | "string" | FILTER_FLAG_NO_ENCODE_QUOTES, FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Strip tags and HTML-encode double and single quotes, optionally strip or encode special characters. Encoding quotes can be disabled by setting FILTER_FLAG_NO_ENCODE_QUOTES. (Deprecated as of PHP 8.1.0, use htmlspecialchars() instead.)
FILTER_SANITIZE_STRIPPED | "stripped" |  | Alias of "string" filter. (Deprecated as of PHP 8.1.0, use htmlspecialchars() instead.)
FILTER_SANITIZE_URL | "url" |  | Remove all characters except letters, digits and $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
FILTER_UNSAFE_RAW | "unsafe_raw" | FILTER_FLAG_STRIP_LOW, FILTER_FLAG_STRIP_HIGH, FILTER_FLAG_STRIP_BACKTICK, FILTER_FLAG_ENCODE_LOW, FILTER_FLAG_ENCODE_HIGH, FILTER_FLAG_ENCODE_AMP | Do nothing, optionally strip or encode special characters. This filter is also aliased to FILTER_DEFAULT.

Uyarı

When using one of these filters as a default filter either through your ini file or through your web server's configuration, the default flags is set to FILTER_FLAG_NO_ENCODE_QUOTES. You need to explicitly set filter.default_flags to 0 to have quotes encoded by default. Like this:

Örnek 1 Configuring the default filter to act like htmlspecialchars

filter.default = full_special_chars
filter.default_flags = 0

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED have been deprecated.
8.0.0 | FILTER_SANITIZE_MAGIC_QUOTES has been removed.
7.3.0 | FILTER_SANITIZE_ADD_SLASHES was added as a replacement for FILTER_SANITIZE_MAGIC_QUOTES
7.3.0 | FILTER_SANITIZE_MAGIC_QUOTES has been deprecated.


Other filters

List of miscellaneous filters
ID | Name | Options | Flags | Description
FILTER_CALLBACK | "callback" | callable function or method | All flags are ignored | Call user-defined function to filter data.


Filter flags

List of filter flags
ID | Used with | Description
FILTER_FLAG_STRIP_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Strips characters that have a numerical value <32.
FILTER_FLAG_STRIP_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Strips characters that have a numerical value >127.
FILTER_FLAG_STRIP_BACKTICK | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Strips backtick characters.
FILTER_FLAG_ALLOW_FRACTION | FILTER_SANITIZE_NUMBER_FLOAT | Allows a period (.) as a fractional separator in numbers.
FILTER_FLAG_ALLOW_THOUSAND | FILTER_SANITIZE_NUMBER_FLOAT, FILTER_VALIDATE_FLOAT | Allows a comma (,) as a thousands separator in numbers.
FILTER_FLAG_ALLOW_SCIENTIFIC | FILTER_SANITIZE_NUMBER_FLOAT | Allows an e or E for scientific notation in numbers.
FILTER_FLAG_NO_ENCODE_QUOTES | FILTER_SANITIZE_STRING | If this flag is present, single (') and double (") quotes will not be encoded.
FILTER_FLAG_ENCODE_LOW | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Encodes all characters with a numerical value <32.
FILTER_FLAG_ENCODE_HIGH | FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Encodes all characters with a numerical value >127.
FILTER_FLAG_ENCODE_AMP | FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW | Encodes ampersands (&).
FILTER_NULL_ON_FAILURE | any FILTER_VALIDATE_* | Returns null for unrecognized values.
FILTER_FLAG_ALLOW_OCTAL | FILTER_VALIDATE_INT | Regards inputs starting with a zero (0) as octal numbers. This only allows the succeeding digits to be 0-7.
FILTER_FLAG_ALLOW_HEX | FILTER_VALIDATE_INT | Regards inputs starting with 0x or 0X as hexadecimal numbers. This only allows succeeding characters to be a-fA-F0-9.
FILTER_FLAG_EMAIL_UNICODE | FILTER_VALIDATE_EMAIL | Allows the local part of the email address to contain Unicode characters.
FILTER_FLAG_IPV4 | FILTER_VALIDATE_IP | Allows the IP address to be in IPv4 format.
FILTER_FLAG_IPV6 | FILTER_VALIDATE_IP | Allows the IP address to be in IPv6 format.
FILTER_FLAG_NO_PRIV_RANGE | FILTER_VALIDATE_IP | Fails validation for the following private IPv4 ranges: 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. Fails validation for the IPv6 addresses starting with FD or FC.
FILTER_FLAG_NO_RES_RANGE | FILTER_VALIDATE_IP | Fails validation for the following reserved IPv4 ranges: 0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8 and 240.0.0.0/4. Fails validation for the following reserved IPv6 ranges: ::1/128, ::/128, ::ffff:0:0/96 and fe80::/10. These are the ranges that are marked as Reserved-By-Protocol in » RFC 6890.
FILTER_FLAG_GLOBAL_RANGE | FILTER_VALIDATE_IP | Fails validation for non global IPv4/IPv6 ranges as found in » RFC 6890 with the Global attribute being False.
FILTER_FLAG_SCHEME_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a scheme part.
FILTER_FLAG_HOST_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a host part.
FILTER_FLAG_PATH_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a path part.
FILTER_FLAG_QUERY_REQUIRED | FILTER_VALIDATE_URL | Requires the URL to contain a query string.
FILTER_REQUIRE_SCALAR |  | Requires the value to be scalar.
FILTER_REQUIRE_ARRAY |  | Requires the value to be an array. Filter given will be applied to each scalar entry of the array.
FILTER_FORCE_ARRAY |  | If the value is a scalar, it is treated as array with the scalar value as only element.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | FILTER_FLAG_GLOBAL_RANGE as a flag to FILTER_VALIDATE_IP has been added.
7.3.0 | The explicit usage of FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED has been deprecated.
7.1.0 | FILTER_FLAG_EMAIL_UNICODE has been added.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

INPUT_POST (int)
POST variables.
INPUT_GET (int)
GET variables.
INPUT_COOKIE (int)
COOKIE variables.
INPUT_ENV (int)
ENV variables.
INPUT_SERVER (int)
SERVER variables.
INPUT_SESSION (int)
SESSION variables. (not implemented yet)
INPUT_REQUEST (int)
REQUEST variables. (not implemented yet)
FILTER_FLAG_NONE (int)
No flags.
FILTER_REQUIRE_SCALAR (int)
Flag used to require scalar as input
FILTER_REQUIRE_ARRAY (int)
Require an array as input.
FILTER_FORCE_ARRAY (int)
Always returns an array.
FILTER_NULL_ON_FAILURE (int)
Use NULL instead of FALSE on failure.
FILTER_VALIDATE_INT (int)
ID of "int" filter.
FILTER_VALIDATE_BOOL (int)
Alias of FILTER_VALIDATE_BOOLEAN.
FILTER_VALIDATE_BOOLEAN (int)
ID of "boolean" filter.
FILTER_VALIDATE_FLOAT (int)
ID of "float" filter.
FILTER_VALIDATE_REGEXP (int)
ID of "validate_regexp" filter.
FILTER_VALIDATE_URL (int)
ID of "validate_url" filter.
FILTER_VALIDATE_DOMAIN (int)
ID of "validate_domain" filter. (Available as of PHP 7.0.0)
FILTER_VALIDATE_EMAIL (int)
ID of "validate_email" filter.
FILTER_VALIDATE_IP (int)
ID of "validate_ip" filter.
FILTER_VALIDATE_MAC (int)
ID of "validate_mac_address" filter.
FILTER_DEFAULT (int)
ID of default ("unsafe_raw") filter. This is equivalent to FILTER_UNSAFE_RAW.
FILTER_UNSAFE_RAW (int)
ID of "unsafe_raw" filter.
FILTER_SANITIZE_STRING (int)
ID of "string" filter. (Deprecated as of PHP 8.1.0, use htmlspecialchars() instead.)
FILTER_SANITIZE_STRIPPED (int)
ID of "stripped" filter. (Deprecated as of PHP 8.1.0, use htmlspecialchars() instead.)
FILTER_SANITIZE_ENCODED (int)
ID of "encoded" filter.
FILTER_SANITIZE_SPECIAL_CHARS (int)
ID of "special_chars" filter.
FILTER_SANITIZE_EMAIL (int)
ID of "email" filter.
FILTER_SANITIZE_URL (int)
ID of "url" filter.
FILTER_SANITIZE_NUMBER_INT (int)
ID of "number_int" filter.
FILTER_SANITIZE_NUMBER_FLOAT (int)
ID of "number_float" filter.
FILTER_SANITIZE_MAGIC_QUOTES (int)
ID of "magic_quotes" filter. (DEPRECATED as of PHP 7.3.0 and REMOVED as of PHP 8.0.0, use FILTER_SANITIZE_ADD_SLASHES instead.)
FILTER_SANITIZE_ADD_SLASHES (int)
ID of "add_slashes" filter. (Available as of PHP 7.3.0)
FILTER_CALLBACK (int)
ID of "callback" filter.
FILTER_FLAG_ALLOW_OCTAL (int)
Allow octal notation (0[0-7]+) in "int" filter.
FILTER_FLAG_ALLOW_HEX (int)
Allow hex notation (0x[0-9a-fA-F]+) in "int" filter.
FILTER_FLAG_STRIP_LOW (int)
Strip characters with ASCII value less than 32.
FILTER_FLAG_STRIP_HIGH (int)
Strip characters with ASCII value greater than 127.
FILTER_FLAG_STRIP_BACKTICK (int)
Strips backtick characters.
FILTER_FLAG_ENCODE_LOW (int)
Encode characters with ASCII value less than 32.
FILTER_FLAG_ENCODE_HIGH (int)
Encode characters with ASCII value greater than 127.
FILTER_FLAG_ENCODE_AMP (int)
Encode &.
FILTER_FLAG_NO_ENCODE_QUOTES (int)
Don't encode ' and ".
FILTER_FLAG_EMPTY_STRING_NULL (int)
(No use for now.)
FILTER_FLAG_ALLOW_FRACTION (int)
Allow fractional part in "number_float" filter.
FILTER_FLAG_ALLOW_THOUSAND (int)
Allow thousand separator (,) in "number_float" filter.
FILTER_FLAG_ALLOW_SCIENTIFIC (int)
Allow scientific notation (e, E) in "number_float" filter.
FILTER_FLAG_PATH_REQUIRED (int)
Require path in "validate_url" filter.
FILTER_FLAG_QUERY_REQUIRED (int)
Require query in "validate_url" filter.
FILTER_FLAG_SCHEME_REQUIRED (int)
Require scheme in "validate_url" filter. (Deprecated as of PHP 7.3.0 and removed as of PHP 8.0.0, as it is implied in the filter already.)
FILTER_FLAG_HOST_REQUIRED (int)
Require host in "validate_url" filter. (Deprecated as of PHP 7.3.0 and removed as of PHP 8.0.0, as it is implied in the filter already.)
FILTER_FLAG_HOSTNAME (int)
Require hostnames to start with an alphanumeric character and contain only alphanumerics or hyphens. (Available as of PHP 7.0.0)
FILTER_FLAG_IPV4 (int)
Allow only IPv4 address in "validate_ip" filter.
FILTER_FLAG_IPV6 (int)
Allow only IPv6 address in "validate_ip" filter.
FILTER_FLAG_NO_RES_RANGE (int)
Deny reserved addresses in "validate_ip" filter.
FILTER_FLAG_NO_PRIV_RANGE (int)
Deny private addresses in "validate_ip" filter.
FILTER_FLAG_EMAIL_UNICODE (int)
Accepts Unicode characters in the local part in "validate_email" filter. (Available as of PHP 7.1.0)


  • « Öntanımlı Sabitler
  • Validation »
  • PHP Manual
  • Filter
  • Örnekler

Örnekler

İçindekiler

  • Validation
  • Sanitization


Validation

Örnek 1 Validating email addresses with filter_var()

<?php
$email_a = 'joe@example.com';
$email_b = 'bogus';

if (filter_var($email_a, FILTER_VALIDATE_EMAIL)) {
echo "Email address '$email_a' is considered valid.\n";
}
if (filter_var($email_b, FILTER_VALIDATE_EMAIL)) {
echo "Email address '$email_b' is considered valid.\n";
} else {
echo "Email address '$email_b' is considered invalid.\n";
}
?>

Yukarıdaki örneğin çıktısı:

Email address 'joe@example.com' is considered valid.
Email address 'bogus' is considered invalid.

Örnek 2 Validating IP addresses with filter_var()

<?php
$ip_a = '127.0.0.1';
$ip_b = '42.42';

if (filter_var($ip_a, FILTER_VALIDATE_IP)) {
echo "IP address '$ip_a' is considered valid.";
}
if (filter_var($ip_b, FILTER_VALIDATE_IP)) {
echo "IP address '$ip_b' is considered valid.";
}
?>

Yukarıdaki örneğin çıktısı:

IP address '127.0.0.1' is considered valid.

Örnek 3 Passing options to filter_var()

<?php
$int_a = '1';
$int_b = '-1';
$int_c = '4';
$options = array(
'options' => array(
'min_range' => 0,
'max_range' => 3,
)
);
if (filter_var($int_a, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Integer A '$int_a' is considered valid (between 0 and 3).\n";
}
if (filter_var($int_b, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Integer B '$int_b' is considered valid (between 0 and 3).\n";
}
if (filter_var($int_c, FILTER_VALIDATE_INT, $options) !== FALSE) {
echo "Integer C '$int_c' is considered valid (between 0 and 3).\n";
}

$options['options']['default'] = 1;
if (($int_c = filter_var($int_c, FILTER_VALIDATE_INT, $options)) !== FALSE) {
echo "Integer C '$int_c' is considered valid (between 0 and 3).";
}
?>

Yukarıdaki örneğin çıktısı:

Integer A '1' is considered valid (between 0 and 3).
Integer C '1' is considered valid (between 0 and 3).


Sanitization

Örnek 1 Sanitizing and validating email addresses

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
echo "This (a) sanitized email address is considered valid.\n";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
echo "This sanitized email address is considered valid.";
} else {
echo "This (b) sanitized email address is considered invalid.\n";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
echo "This (c) sanitized email address is considered valid.\n";
echo "Before: $c\n";
echo "After: $sanitized_c\n";
}
?>

Yukarıdaki örneğin çıktısı:

This (a) sanitized email address is considered valid.
This (b) sanitized email address is considered invalid.
This (c) sanitized email address is considered valid.
Before: (bogus@example.org)
After: bogus@example.org

Örnek 2 Configuring a default filter

filter.default = full_special_chars
filter.default_flags = 0


Filter İşlevleri

İçindekiler

  • filter_has_var — Checks if variable of specified type exists
  • filter_id — Returns the filter ID belonging to a named filter
  • filter_input_array — Gets external variables and optionally filters them
  • filter_input — Gets a specific external variable by name and optionally filters it
  • filter_list — Returns a list of all supported filters
  • filter_var_array — Gets multiple variables and optionally filters them
  • filter_var — Filters a variable with a specified filter


Checks if variable of specified type exists

  • « Filter İşlevleri
  • filter_id »
  • PHP Manual
  • Filter İşlevleri
  • Checks if variable of specified type exists

filter_has_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_has_var — Checks if variable of specified type exists

Açıklama

filter_has_var(int $input_type, string $var_name): bool

Bağımsız Değişkenler

input_type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV.

var_name

Name of a variable to check.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Returns the filter ID belonging to a named filter

  • « filter_has_var
  • filter_input_array »
  • PHP Manual
  • Filter İşlevleri
  • Returns the filter ID belonging to a named filter

filter_id

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_id — Returns the filter ID belonging to a named filter

Açıklama

filter_id(string $name): int|false

Bağımsız Değişkenler

name

Name of a filter to get.

Dönen Değerler

ID of a filter on success or false if filter doesn't exist.

Ayrıca Bakınız

  • filter_list() - Returns a list of all supported filters


Gets external variables and optionally filters them

  • « filter_id
  • filter_input »
  • PHP Manual
  • Filter İşlevleri
  • Gets external variables and optionally filters them

filter_input_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input_array — Gets external variables and optionally filters them

Açıklama

filter_input_array(int $type, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null

This function is useful for retrieving many values without repetitively calling filter_input().

Bağımsız Değişkenler

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV.

options

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

add_empty

Add missing keys as null to the return value.

Dönen Değerler

An array containing the values of the requested variables on success. If the input array designated by type is not populated, the function returns null if the FILTER_NULL_ON_FAILURE flag is not given, or false otherwise. For other failures, false is returned.

An array value will be false if the filter fails, or null if the variable is not set. Or if the flag FILTER_NULL_ON_FAILURE is used, it returns false if the variable is not set and null if the filter fails. If the add_empty parameter is false, no array element will be added for unset variables.

Örnekler

Örnek 1 A filter_input_array() example

<?php

/* data actually came from POST
$_POST = array(
'product_id' => 'libgd<script>',
'component' => array('10'),
'version' => '2.0.33',
'testarray' => array('2', '23', '10', '12'),
'testscalar' => '2',
);
*/

$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'version' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_ARRAY,
)

);

$myinputs = filter_input_array(INPUT_POST, $args);

var_dump($myinputs);
echo "\n";
?>

Yukarıdaki örneğin çıktısı:

array(6) {
  ["product_id"]=>
  string(17) "libgd%3Cscript%3E"
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["version"]=>
  string(6) "2.0.33"
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  int(2)
  ["testarray"]=>
  array(4) {
    [0]=>
    int(2)
    [1]=>
    int(23)
    [2]=>
    int(10)
    [3]=>
    int(12)
  }
}

Notlar

Bilginize:

There is no REQUEST_TIME key in INPUT_SERVER array because it is inserted into the $_SERVER later.

Ayrıca Bakınız

  • filter_input() - Gets a specific external variable by name and optionally filters it
  • filter_var_array() - Gets multiple variables and optionally filters them
  • Types of filters


Gets a specific external variable by name and optionally filters it

  • « filter_input_array
  • filter_list »
  • PHP Manual
  • Filter İşlevleri
  • Gets a specific external variable by name and optionally filters it

filter_input

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_input — Gets a specific external variable by name and optionally filters it

Açıklama

filter_input(
int $type,
string $var_name,
int $filter = FILTER_DEFAULT,
array|int $options = 0
): mixed

Bağımsız Değişkenler

type

One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV.

var_name

Name of a variable to get.

süzgeç

Uygulanacak süzgecin kimliği. Types of filters sayfasında kullanılabilir süzgeçler listelenmiştir.

Belirtilmezse, FILTER_UNSAFE_RAW eşdeğeri olan FILTER_DEFAULT kullanılır.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array.

Dönen Değerler

Value of the requested variable on success, false if the filter fails, or null if the var_name variable is not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns false if the variable is not set and null if the filter fails.

Örnekler

Örnek 1 A filter_input() example

<?php
$search_html = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_SPECIAL_CHARS);
$search_url = filter_input(INPUT_GET, 'search', FILTER_SANITIZE_ENCODED);
echo "You have searched for $search_html.\n";
echo "<a href='?search=$search_url'>Search again.</a>";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

You have searched for Me &#38; son.
<a href='?search=Me%20%26%20son'>Search again.</a>

Ayrıca Bakınız

  • filter_var() - Filters a variable with a specified filter
  • filter_input_array() - Gets external variables and optionally filters them
  • filter_var_array() - Gets multiple variables and optionally filters them
  • Types of filters


Returns a list of all supported filters

  • « filter_input
  • filter_var_array »
  • PHP Manual
  • Filter İşlevleri
  • Returns a list of all supported filters

filter_list

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_list — Returns a list of all supported filters

Açıklama

filter_list(): array

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of names of all supported filters, empty array if there are no such filters. Indexes of this array are not filter IDs, they can be obtained with filter_id() from a name instead.

Örnekler

Örnek 1 A filter_list() example

<?php
print_r(filter_list());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => int
    [1] => boolean
    [2] => float
    [3] => validate_regexp
    [4] => validate_url
    [5] => validate_email
    [6] => validate_ip
    [7] => string
    [8] => stripped
    [9] => encoded
    [10] => special_chars
    [11] => unsafe_raw
    [12] => email
    [13] => url
    [14] => number_int
    [15] => number_float
    [16] => magic_quotes
    [17] => callback
)


Gets multiple variables and optionally filters them

  • « filter_list
  • filter_var »
  • PHP Manual
  • Filter İşlevleri
  • Gets multiple variables and optionally filters them

filter_var_array

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var_array — Gets multiple variables and optionally filters them

Açıklama

filter_var_array(array $array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null

This function is useful for retrieving many values without repetitively calling filter_var().

Bağımsız Değişkenler

array

An array with string keys containing the data to filter.

options

An array defining the arguments. A valid key is a string containing a variable name and a valid value is either a filter type, or an array optionally specifying the filter, flags and options. If the value is an array, valid keys are filter which specifies the filter type, flags which specifies any flags that apply to the filter, and options which specifies any options that apply to the filter. See the example below for a better understanding.

This parameter can be also an integer holding a filter constant. Then all values in the input array are filtered by this filter.

add_empty

Add missing keys as null to the return value.

Dönen Değerler

An array containing the values of the requested variables on success, or false on failure. An array value will be false if the filter fails, or null if the variable is not set.

Örnekler

Örnek 1 A filter_var_array() example

<?php

$data = array(
'product_id' => 'libgd<script>',
'component' => '10',
'versions' => '2.0.33',
'testscalar' => array('2', '23', '10', '12'),
'testarray' => '2',
);

$args = array(
'product_id' => FILTER_SANITIZE_ENCODED,
'component' => array('filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
'options' => array('min_range' => 1, 'max_range' => 10)
),
'versions' => FILTER_SANITIZE_ENCODED,
'doesnotexist' => FILTER_VALIDATE_INT,
'testscalar' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_REQUIRE_SCALAR,
),
'testarray' => array(
'filter' => FILTER_VALIDATE_INT,
'flags' => FILTER_FORCE_ARRAY,
)

);

$myinputs = filter_var_array($data, $args);

var_dump($myinputs);
echo "\n";
?>

Yukarıdaki örneğin çıktısı:

array(6) {
  ["product_id"]=>
  string(17) "libgd%3Cscript%3E"
  ["component"]=>
  array(1) {
    [0]=>
    int(10)
  }
  ["versions"]=>
  string(6) "2.0.33"
  ["doesnotexist"]=>
  NULL
  ["testscalar"]=>
  bool(false)
  ["testarray"]=>
  array(1) {
    [0]=>
    int(2)
  }
}

Ayrıca Bakınız

  • filter_input_array() - Gets external variables and optionally filters them
  • filter_var() - Filters a variable with a specified filter
  • filter_input() - Gets a specific external variable by name and optionally filters it
  • Types of filters


Filters a variable with a specified filter

  • « filter_var_array
  • Funchand »
  • PHP Manual
  • Filter İşlevleri
  • Filters a variable with a specified filter

filter_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_var — Filters a variable with a specified filter

Açıklama

filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed

Bağımsız Değişkenler

value

Value to filter. Note that scalar values are converted to string internally before they are filtered.

süzgeç

Uygulanacak süzgecin kimliği. Types of filters sayfasında kullanılabilir süzgeçler listelenmiştir.

Belirtilmezse, FILTER_UNSAFE_RAW eşdeğeri olan FILTER_DEFAULT kullanılır.

options

Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in "flags" field of array. For the "callback" filter, callable type should be passed. The callback must accept one argument, the value to be filtered, and return the value after filtering/sanitizing it.

<?php
// for filters that accept options, use this format
$options = array(
'options' => array(
'default' => 3, // value to return if the filter fails
// other options here
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);

// for filters that only accept flags, you can pass them directly
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);

// for filters that only accept flags, you can also pass as an array
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));

// callback validate filter
function foo($value)
{
// Expected format: Surname, GivenNames
if (strpos($value, ", ") === false) return false;
list($surname, $givennames) = explode(", ", $value, 2);
$empty = (empty($surname) || empty($givennames));
$notstrings = (!is_string($surname) || !is_string($givennames));
if ($empty || $notstrings) {
return false;
} else {
return $value;
}
}
$var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));
?>

Dönen Değerler

Returns the filtered data, or false if the filter fails.

Örnekler

Örnek 1 A filter_var() example

<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>

Yukarıdaki örneğin çıktısı:

string(15) "bob@example.com"
bool(false)

Örnek 2 Filter an array example

<?php
$emails = [
"bob@example.com",
"test@example.local",
"invalidemail"
];

var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  string(15) "bob@example.com"
  [1]=>
  string(18) "test@example.local"
  [2]=>
  bool(false)
}

Ayrıca Bakınız

  • filter_var_array() - Gets multiple variables and optionally filters them
  • filter_input() - Gets a specific external variable by name and optionally filters it
  • filter_input_array() - Gets external variables and optionally filters them
  • Types of filters


İşlevlerle İlgili İşlemler

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • İşlevlerle İlgili İşlevler
    • call_user_func_array — Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
    • call_user_func — İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
    • create_function — Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur
    • forward_static_call_array — Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır
    • forward_static_call — Statik yöntem çağrısı yapar
    • func_get_arg — Bağımsız değişken listesinden bir üyeyi döndürür
    • func_get_args — İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür
    • func_num_args — İşleve aktarılan bağımsız değişken sayısını döndürür
    • function_exists — Eğer işlev tanımlanmış ise true döndürür
    • get_defined_functions — Tanımlanmış bütün işlevleri içeren bir dizi döndürür
    • register_shutdown_function — Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar
    • register_tick_function — Her tikte çalıştırılacak işlevi tanımlar
    • unregister_tick_function — Her tikte çalıştırılacak işlevi tanımsız yapar


Giriş

Bütün bu işlevler, işlevlerle çalışırken gereken çeşitli işlemleri yaparlar.


  • « Özkaynak Türleri
  • İşlevlerle İlgili İşlevler »
  • PHP Manual
  • Funchand
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


İşlevlerle İlgili İşlevler

İçindekiler

  • call_user_func_array — Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • call_user_func — İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
  • create_function — Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur
  • forward_static_call_array — Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır
  • forward_static_call — Statik yöntem çağrısı yapar
  • func_get_arg — Bağımsız değişken listesinden bir üyeyi döndürür
  • func_get_args — İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür
  • func_num_args — İşleve aktarılan bağımsız değişken sayısını döndürür
  • function_exists — Eğer işlev tanımlanmış ise true döndürür
  • get_defined_functions — Tanımlanmış bütün işlevleri içeren bir dizi döndürür
  • register_shutdown_function — Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar
  • register_tick_function — Her tikte çalıştırılacak işlevi tanımlar
  • unregister_tick_function — Her tikte çalıştırılacak işlevi tanımsız yapar


Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır

  • « İşlevlerle İlgili İşlevler
  • call_user_func »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır

call_user_func_array

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

call_user_func_array — Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır

Açıklama

call_user_func_array(callable $işlev, array $bağımsız_değişken_dizisi): mixed

bağımsız_değişken_dizisi içindeki bağımsız değişkenleri kullanarak kullanıcının tanımladığı işlev işlevini çağırır.

Bağımsız Değişkenler

işlev

Çağrılacak işlev.

bağımsız_değişken_dizisi

İşleve dizi olarak aktarılacak bağımsız değişkenler.

bağımsız_değişken_dizisi'nin anahtarlarının hepsi sayılardan oluşuyorsa bunlar yok sayılır ve her eleman işlev'e konumsal sırasıyla aktarılır.

bağımsız_değişken_dizisi'nin anahtarlarının hepsi dizgelerden oluşuyorsa her eleman işlev'e anahtarı ile isimlendirilerek isimli bağımsız değişken olarak aktarılır.

bağımsız_değişken_dizisi'nin anahtarlarının kısmen sayı kısmen dizge indisli olması veya isimlerden herhangi birinin işlev'in bağımsız değişken isimleri ile eşleşmemesi ölümcül hata ile sonuçlanır.

Dönen Değerler

Bir hata oluşmamışsa işlevin dönüş değerini, aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağımsız_değişken_dizisi anahtarları artık bağımsız değişken ismi olarak yorumlanıyor, evvelce sessizce yok sayılırdı.

Örnekler

Örnek 1 - call_user_func_array() örneği

<?php
function foobar($arg, $arg2) {
echo __FUNCTION__, " got $arg and $arg2\n";
}

class foo {
function bar($arg, $arg2) {
echo __METHOD__, " got $arg and $arg2\n";
}
}
// foobar() işlevini iki bağımsız değişken ile çağıralım
call_user_func_array("foobar", array("one", "two"));

// $foo->bar() yöntemini iki bağımsız değişken ile çağıralım
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("three", "four"));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foobar got one and two
foo::bar got three and four

Örnek 2 - İsim alanı ismi kullanarak call_user_func_array()

<?php

namespace Mesela;

class Misal {
static public function dnm($isim) {
print "Merhaba {$isim}!\n";
}
}

call_user_func_array(__NAMESPACE__ .'\Misal\dnm', array('Ozan'));

call_user_func_array(array(__NAMESPACE__ .'\Misal', 'dnm'), array('Özgür'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Merhaba Ozan!
Merhaba Özgür!

Örnek 3 - Lamda işlevi kullanımı

<?php

$işlev = function($dğş1, $dğş2) {
return $dğş1 * $dğş2;
};

var_dump(call_user_func_array($işlev, array(2, 4)));

?>

Yukarıdaki örneğin çıktısı:

int(8)

Örnek 4 - Değerlerin gönderimli aktarılması

<?php

function mega(&$a){
$a = 55;
echo "function mega \$a=$a\n";
}
$bar = 77;
call_user_func_array('mega',array(&$bar));
echo "global \$bar=$bar\n";

?>

Yukarıdaki örneğin çıktısı:

function mega $a=55
global $bar=55

Örnek 5 - İsimli bağımsız değişkenli call_user_func_array kullanımı

<?php
function biriki($birinci, $ikinci) {
echo __FUNCTION__, " $birinci ve $ikinci alındı\n";
}

// biriki() işlevini farklı sırada isimli değişkenlerle çağır
call_user_func_array("biriki", array("ikinci" => "iki", "birinci" => "bir"));

// çağrıda biriki() işlevinin bağımsız değişkenlerinden biri isimli olsun
call_user_func_array("biriki", array("foo", "ikinci" => "bar"));

// Ölümcül hata: Konumsal değişken isimli değişkenden sonra kullanılamaz
call_user_func_array("biriki", array("birinci" => "bir", "bar"));

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

biriki bir ve iki alındı
biriki foo ve bar alındı
PHP Fatal error:  Uncaught Error: Cannot use positional argument after named argument

Notlar

Bilginize:

call_user_func() ve call_user_func_array() gibi işlevlerle tanımlanmış geriçağırım işlevleri, bir önceki geriçağırım işlevinde yavrulanmış ve yakalanmamış bir istisna varsa çağrılmaz.

Ayrıca Bakınız

  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
  • ReflectionFunction::invokeArgs() - İşlev bağımsız değişkenlerini çağırır
  • ReflectionMethod::invokeArgs() - Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır


İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır

  • « call_user_func_array
  • create_function »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır

call_user_func

(PHP 4, PHP 5, PHP 7, PHP 8)

call_user_func — İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır

Açıklama

call_user_func(callable $işlev, mixed ...$bağımsız_değişkenler): mixed

işlev bağımsız değişkeni ile belirtilen geriçağırım işlevini belirtilen bağımsız_değişkenleri aktararak çağırır.

Bağımsız Değişkenler

işlev

Çağırılacak geriçağırım işlevi.

bağımsız_değişkenler

İşleve sıfır veya daha fazla sayıda bağımsız değişken aktarılabilir.

Bilginize:

call_user_func() işlevi gönderimli bağımsız değişkenleri aktarmaz.

Örnek 1 - call_user_func() örneği ve gönderimler

<?php
error_reporting(E_ALL);

function say(&$sayı)
{
$sayı++;
}

$a = 0;
call_user_func('say', $a);
echo $a."\n";

// yerine bu da kullanılabilir
call_user_func_array('say', array(&$a));
echo $a."\n";

// ayrıca, bir değişken işlev de kullanılabilir
$increment = 'increment';
$increment($a);
echo $a."\n";
?>

Yukarıdaki örneğin çıktısı:

Warning: Parameter 1 to increment() expected to be a reference, value given in ...
0
1
2

Dönen Değerler

Geriçağırım işlevinin dönüş değerini döndürür.

Örnekler

Örnek 2 - call_user_func() örneği

<?php
function berber($tür)
{
echo "Demek $tür kesimi istiyorsunuz, sorun yok.\n";
}
call_user_func('berber', "saç");
call_user_func('berber', "sakal");
?>

Yukarıdaki örneğin çıktısı:

Demek saç kesimi istiyorsunuz, sorun yok.
Demek sakal kesimi istiyorsunuz, sorun yok.

Örnek 3 - İsim alanı ismi kullanarak call_user_func()

<?php

namespace Mesela;

class Misal {
static public function dnm() {
print "Merhaba Dünyalı!\n";
}
}

call_user_func(__NAMESPACE__ .'\Misal::dnm');
call_user_func(array(__NAMESPACE__ .'\Misal', 'dnm'));

?>

Yukarıdaki örneğin çıktısı:

Merhaba Dünyalı!
Merhaba Dünyalı!

Örnek 4 - Sınıf yöntemi kullanarak call_user_func()

<?php

class Sınıfım {
static function selam_ver()
{
echo "Merhaba!\n";
}
}

$sınıf = "Sınıfım";

call_user_func(array($sınıf, 'selam_ver'));
call_user_func($sınıf .'::selam_ver');

$nesne = new Sınıfım();

call_user_func(array($nesne, 'selam_ver'));

?>

Yukarıdaki örneğin çıktısı:

Merhaba!
Merhaba!
Merhaba!

Örnek 5 - Lamda işlevi kullanarak call_user_func()

<?php
call_user_func(function($arg) { print "[$arg]\n"; }, 'test');
?>

Yukarıdaki örneğin çıktısı:

[test]

Notlar

Bilginize:

call_user_func() ve call_user_func_array() gibi işlevlerle tanımlanmış geriçağırım işlevleri, bir önceki geriçağırım işlevinde yavrulanmış ve yakalanmamış bir istisna varsa çağrılmaz.

Ayrıca Bakınız

  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
  • Değişken işlevler
  • ReflectionFunction::invoke() - İşlevi çağırır
  • ReflectionMethod::invoke() - Yöntemi çağırır


Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur

  • « call_user_func
  • forward_static_call_array »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur

create_function

(PHP 4 >= 4.0.1, PHP 5, PHP 7)

create_function — Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur

Uyarı

Bu işlevin kullanımı PHP 7.2.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

create_function(string $bağımsız_değişkenler, string $kod): string

Verilen bağımsız değişkenlerden dinamik olarak bir işlev oluşturur ve onun için eşsiz bir isim döndürür.

Dikkat

Bu işlev dahili olarak bir eval() çağrısı yapar, bu nedenle eval() ile aynı güvenlik sorunlarına sahiptir. Ayrıca, oluşturulan işlev küresel bağlamda ve serbest bırakılamaz olduğundan kötü başarım ve bellek kullanımı özellikleri de vardır.

Bu işlev yerine yerleşik bir isimsiz işlev kullanılmalıdır.

Bağımsız Değişkenler

Normalde bu bağımsız değişkenleri tek tırnaklı dizgeler olarak aktarmanız önerilir. Çift tırnaklı dizgeler kullanılırsa, koddaki değişken adlarının \$somevar örneğindeki gibi dikkatli bir şekilde öncelenmesi gerekecektir.

bağımsız_değişkenler

Tek tırnaklı dizge olarak, işlevin bağımsız değişkenleri.

kod

İşlevin kodu.

Dönen Değerler

Başarı durumunda bir dizge olarak işleve eşsiz bir isim, aksi takdirde false döndürür. İşlev isminin yazdırılamayan bir karakter ("\0") içerdiği unutulmamalıdır, bu nedenle bu isim yazdırılırken veya başka bir dizgeye eklenirken dikkatli olunmalıdır.

Örnekler

Örnek 1 - create_function() veya isimsiz işlevlerle ile bir işlevin dinamik olarak oluşturulması

Çalışma anında toplanan bilgileri kullanarak yeni bir işlev oluşturmak için dinamik olarak oluşturulmuş bir işlev kullanabilirsiniz. Önce, create_function() kullanarak:

<?php
$işlev = create_function('$a,$b', 'return "ln($a) + ln($b) = " . log($a * $b);');
echo $işlev(2, M_E) . "\n";
?>

Ve, isimsiz işlev kullanarak; dikkat edilirse, kod ve bağımsız değişkenler artık dizgelerin içinde değildir:

<?php
$newfunc = function($a,$b) { return "ln($a) + ln($b) = " . log($a * $b); };
echo $newfunc(2, M_E) . "\n";
?>

Yukarıdaki örneğin çıktısı:

ln(2) + ln(2.718281828459) = 1.6931471805599

Örnek 2 - create_function() işlevi veya isimsiz işlevlerle bir genel işlem işlevi oluşturmak

Diğer bir kullanım, bir bağımsız değişken listesi üzerinde belli işlemler yapan genel bir işleyici işlev olabilir:

<?php
function process($var1, $var2, $farr)
{
foreach ($farr as $f) {
echo $f($var1, $var2) . "\n";
}
}

// Birkaç matematik işlevi oluşturalım
$farr = array(
create_function('$x,$y', 'return "biraz trig: ".(sin($x) + $x*cos($y));'),
create_function('$x,$y', 'return "bir hipotenüs: ".sqrt($x*$x + $y*$y);'),
create_function('$a,$b', 'if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;}'),
create_function('$a,$b', "return \"min(b^2+a, a^2,b) = \".min(\$a*\$a+\$b,\$b*\$b+\$a);"),
create_function('$a,$b', 'if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; }')
);
echo "\nBirinci dinamik işlev grubumuz\n";
echo "bağımsız değişkenler: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// birkaç tane de dizge işlevi oluşturalım
$garr = array(
create_function('$b,$a', 'if (strncmp($a, $b, 3) == 0) return "** \"$a\" '.
've \"$b\"\n** (ilk üç karaktere bakarak) Bak bu ikisi aynı!";'),
create_function('$a,$b', 'return "CRCs: " . crc32($a) . ", ".crc32($b);'),
create_function('$a,$b', 'return "benzerlik(a,b) = " . similar_text($a, $b, $p) . "($p%)";')
);
echo "\nİkinci dinamik işlev grubumuz\n";
process("Gün yavaş yavaş ışıyordu", "Gün aydınlanıyordu", $garr);
?>

Aynı kodu bu kez isimsiz işlevlerle oluşturuluyor. Dikkat edilirse, koddaki değişken isimleri artık dizge içinde olmadığından öncelenmemiştir.

<?php
function process($var1, $var2, $farr)
{
foreach ($farr as $f) {
echo $f($var1, $var2) . "\n";
}
}

// Birkaç matematik işlevi oluşturalım
$farr = array(
function($x,$y) { return "biraz trig: ".(sin($x) + $x*cos($y)); },
function($x,$y) { return "hipotenüs: ".sqrt($x*$x + $y*$y); },
function($a,$b) { if ($a >=0) {return "b*a^2 = ".$b*sqrt($a);} else {return false;} },
function($a,$b) { return "min(b^2+a, a^2,b) = " . min($a*$a+$b, $b*$b+$a); },
function($a,$b) { if ($a > 0 && $b != 0) {return "ln(a)/b = ".log($a)/$b; } else { return false; } }
);

echo "\nBirinci dinamik işlev grubumuz\n";
echo "bağımsız değişkenler: 2.3445, M_PI\n";
process(2.3445, M_PI, $farr);

// birkaç tane de dizge işlevi oluşturalım
$garr = array(
function($b,$a) { if (strncmp($a, $b, 3) == 0) return "** \"$a\" " .
"ve \"$b\"\n** (ilk üç karaktere bakarak) Bak bu ikisi aynı!"; },
function($a,$b) { return "CRCs: " . crc32($a) . ", ".crc32($b); },
function($a,$b) { return "benzerlik(a,b) = " . similar_text($a, $b, $p) . "($p%)"; }
);echo "\nİkinci dinamik işlev grubumuz\n";
process("Gün yavaş yavaş ışıyordu", "Gün aydınlanıyordu", $garr);
?>

Yukarıdaki örneğin çıktısı:

Birinci dinamik işlev grubumuz
bağımsız değişkenler: 2.3445, M_PI
biraz trig: -1.6291725057799
hipotenüs: 3.9199852871011
b*a^2 = 4.8103313314525
min(b^2+a, a^2,b) = 8.6382729035898
ln(a)/b = 0.27122299212594

İkinci dinamik işlev grubumuz
** "Gün aydınlanıyordu" ve "Gün yavaş yavaş ışıyordu"
**  (ilk üç karaktere bakarak) Bak bu ikisi aynı!
CRCs: 2226456759, 3176276925
benzerlik(a,b) = 15(58.823529411765%)

Örnek 3 - Dinamik işlevlerin geriçağırım işlevlerinde kullanımı

Şüphesiz, dinamik işlevlerin asıl kullanım amacı geriçağırım işlevleri oluşturmaktır. array_walk() ve usort() işlevlerini kullanan örnekler:

<?php

$av = array("işte ", "bir ", "bu ", "şu ");
array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));
print_r($av);

?>

İsimsiz işlev kullanarak:

<?php
$av = array("işte ", "bir ", "bu ", "şu ");
array_walk($av, function(&$v,$k) { $v = $v . "mango"; });
print_r($av);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => işte mango
    [1] => bir mango
    [2] => bu mango
    [3] => şu mango
)

Bir dizgeyi create_function() ile uzundan kısaya sıralamak:

<?php
$sv = array("kısa", "daha uzun", "daha da uzun", "daha daha uzun");
echo "Özgün:\n";
print_r($sv);
echo "Sıralı:\n";
usort($sv, create_function('$a,$b','return strlen($b) - strlen($a);'));
print_r($sv);
?>

İsimsiz işlev kullanarak:

<?php
$sv = array("kısa", "daha uzun", "daha da uzun", "daha daha uzun");
echo "Özgün:\n";
print_r($sv);
echo "Sıralı:\n";
usort($sv, function($a,$b) { return strlen($b) - strlen($a); });
print_r($sv);
?>

Yukarıdaki örneğin çıktısı:

Özgün:
Array
(
    [0] => kısa
    [1] => daha uzun
    [2] => daha da uzun
    [3] => daha daha uzun
)
Sıralı:
Array
(
    [0] => daha daha uzun
    [1] => daha da uzun
    [2] => daha uzun
    [3] => kısa
)

Ayrıca Bakınız

  • İsimsiz işlevler


Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır

  • « create_function
  • forward_static_call »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır

forward_static_call_array

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_call_array — Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır

Açıklama

forward_static_call_array(callable $yöntem, array $bağımsız_değişkenler): mixed

Adı yöntem bağımsız değişkeninde belirtilen kullanıcı tanımlı işlevi veya yöntemi çağırır. Bu işlev bir yöntem bağlamından çağrılmalı ve bir sınıfın dışında kullanılmamalıdır. İşlev Statik İçselleştirim kullanır. Belirtilen yöntemin tüm bağımsız değişkenleri, call_user_func_array() işlevine benzer şekilde, sadece değerleri içeren bir dizi olarak iletilir.

Bağımsız Değişkenler

yöntem

Çağrılacak işlev veya yöntemin adı. Bu bağımsız değişken, sınıfın adını ve yöntemini içeren bir dizi veya işlev adına sahip bir dizge olabilir.

bağımsız_değişkenler

Tüm bağımsız değişkenleri içeren bir dizi.

Bilginize:

forward_static_call_array() için bağımsız değişkenler gönderimli aktarılmamalıdır.

Dönen Değerler

Hata durumunda false, aksi takdirde işlevin dönüş değeri.

Örnekler

Örnek 1 - forward_static_call_array() örneği

<?php

class A
{
const NAME = 'A';
public static function test() {
$args = func_get_args();
echo static::NAME, " ".join(',', $args)." \n";
}
}

class B extends A
{
const NAME = 'B';

public static function test() {
echo self::NAME, "\n";
forward_static_call_array(array('A', 'test'), array('more', 'args'));
forward_static_call_array( 'test', array('other', 'args'));
}
}

B::test('foo');

function test() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}

?>

Yukarıdaki örneğin çıktısı:

B
B more,args
C other,args

Ayrıca Bakınız

  • forward_static_call() - Statik yöntem çağrısı yapar
  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular


Statik yöntem çağrısı yapar

  • « forward_static_call_array
  • func_get_arg »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Statik yöntem çağrısı yapar

forward_static_call

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

forward_static_call — Statik yöntem çağrısı yapar

Açıklama

forward_static_call(callable $yöntem, mixed ...$bağımsız_değişkenler): mixed

Adı yöntem bağımsız değişkeninde belirtilen kullanıcı tanımlı işlevi veya yöntemi belirtilen bağımsız değişkenlerle çağırır. Bu işlev bir yöntem bağlamından çağrılmalı ve bir sınıfın dışında kullanılmamalıdır. İşlev Statik İçselleştirim kullanır.

Bağımsız Değişkenler

yöntem

Çağrılacak işlev veya yöntemin adı. Bu bağımsız değişken, sınıfın adını ve yöntemini içeren bir dizi veya işlev adına sahip bir dizge olabilir.

bağımsız_değişkenler

Bir veya daha fazla bağımsız değişken.

Dönen Değerler

Hata durumunda false, aksi takdirde işlevin dönüş değeri.

Örnekler

Örnek 1 - forward_static_call() örneği

<?php

class A
{
const NAME = 'A';
public static function test() {
$args = func_get_args();
echo static::NAME, " ".join(',', $args)." \n";
}
}

class B extends A
{
const NAME = 'B';

public static function test() {
echo self::NAME, "\n";
forward_static_call(array('A', 'test'), 'more', 'args');
forward_static_call( 'test', 'other', 'args');
}
}

B::test('foo');

function test() {
$args = func_get_args();
echo "C ".join(',', $args)." \n";
}

?>

Yukarıdaki örneğin çıktısı:

B
B more,args
C other,args

Ayrıca Bakınız

  • forward_static_call_array() - Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır
  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular


Bağımsız değişken listesinden bir üyeyi döndürür

  • « forward_static_call
  • func_get_args »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Bağımsız değişken listesinden bir üyeyi döndürür

func_get_arg

(PHP 4, PHP 5, PHP 7, PHP 8)

func_get_arg — Bağımsız değişken listesinden bir üyeyi döndürür

Açıklama

func_get_arg(int $konum): mixed

Kullanıcı tanımlı işlevin bağımsız değişken listesinden belirli bir bağımsız değişkeni getirir.

Bu işlev kullanıcı tanımlı işlevlerin değişken sayıda bağımsız değişken kabul edebilmesini sağlamak için func_get_args() ve func_num_args() ile birlikte kullanılabilir.

Bağımsız Değişkenler

konum

Bağımsız değişkenin konumu. İşlevin bağımsız değişkenleri sıfırdan itibaren sayılır.

Dönen Değerler

Hata oluşmamışsa konumu belirtilen bağımsız değişkeni, aksi takdirde false döndürür.

Hatalar/İstisnalar

Eğer kullanıcı tanımlı bir işlevin dışında çağrılırsa veya konum aktarılabilen bağımsız değişken sayısından büyük ise uyarı oluşturur.

Örnekler

Örnek 1 - func_get_arg() örneği

<?php
function işlev()
{
$dğşsayısı = func_num_args();
echo "Bağımsız değişken sayısı: $dğşsayısı\n";
if ($dğşsayısı >= 2) {
echo "İkinci bağımsız değişken: " . func_get_arg(1) . "\n";
}
}

işlev(1, 2, 3);
?>

Yukarıdaki örneğin çıktısı:

Bağımsız değişken sayısı: 3
İkinci bağımsız değişken: 2

Örnek 2 - byref ve byval bağımsız değişkenli func_get_arg()

<?php
function byVal($arg) {
echo 'Aktarılan : ', var_export(func_get_arg(0)), PHP_EOL;
$arg = 'baz';
echo 'Değişen : ', var_export(func_get_arg(0)), PHP_EOL;
}

function byRef(&$arg) {
echo 'Aktarılan : ', var_export(func_get_arg(0)), PHP_EOL;
$arg = 'baz';
echo 'Değişen : ', var_export(func_get_arg(0)), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

Yukarıdaki örneğin çıktısı:

Aktarılan : 'bar'
Değişen : 'baz'
Aktarılan : 'bar'
Değişen : 'baz'

Notlar

Bilginize:

PHP 8.0.0 itibariyle, func_*() işlev ailesindeki işlevlerin tüm bağımsız değişkenlerinin konumsal olarak iletiliyormuş gibi ele alınması ve eksik bağımsız değişkenlerin öntanımlıları ile değiştirilmesi yoluyla, isimli bağımsız değişkenler açısından çoğunlukla şeffaf olması amaçlanmıştır. Bu işlev, değişken sayıda bağımsız değişken aktarımında ismi bilinmeyen isimli bağımsız değişkenlerin tümünü yok sayar. Toplanan bilinmeyen isimli bağımsız değişkenlere yalnızca variadic bağımsız değişkeni aracılığıyla erişilebilir.

Bilginize:

Bağımsız değişkenlerin gönderime göre aktarılması halinde, bağımsız değişkenlerdeki değişiklikler bu işlevin döndürdüğü değerlere yansıtılır. PHP 7 ve sonrasında, bağımsız değişkenler değerleriyle aktarılmışsa ayrıca geçerli değerler de döndürülür.

Bilginize: Bu işlev sadece işleve aktarılan bağımsız değişkenlerden birini döndürür ve öntanımlı (aktarılmayan) bağımsız değişkenleri hesaba katmaz.

Ayrıca Bakınız

  • ... sözdizimi
  • func_get_args()
  • func_num_args()


İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür

  • « func_get_arg
  • func_num_args »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür

func_get_args

(PHP 4, PHP 5, PHP 7, PHP 8)

func_get_args — İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür

Açıklama

func_get_args(): array

İşlevin bağımsız değişken listesini bir dizi olarak döndürür.

Bu işlev kullanıcı tanımlı işlevlerin değişken sayıda bağımsız değişken kabul edebilmesini sağlamak için func_get_arg() ve func_num_args() ile birlikte kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Her elemanı, mevcut kullanıcı tanımlı işlevin bağımsız değişken listesinin birer kopyası olan bir dizi döndürür.

Hatalar/İstisnalar

Eğer kullanıcı tanımlı işlevin dışından çağrılırsa uyarı oluşturur.

Örnekler

Örnek 1 - func_get_args() örneği

<?php
function işlev()
{
$dğşsayısı = func_num_args();
echo "Bağımsız değişken sayısı: $dğşsayısı\n";
if ($dğşsayısı >= 2) {
echo "İkinci bağımsız değişken: " . func_get_arg(1) . "\n";
}
$dğş_listesi = func_get_args();
for ($i = 0; $i < $dğşsayısı; $i++) {
echo "$i. bağımsız değişken: " . $dğş_listesi[$i] . "\n";
}
}

işlev(1, 2, 3);
?>

Yukarıdaki örneğin çıktısı:

Bağımsız değişken sayısı: 3
İkinci bağımsız değişken: 2
0. bağımsız değişken: 1
1. bağımsız değişken: 2
2. bağımsız değişken: 3

Örnek 2 - byref ve byval bağımsız değişkenli func_get_args()

<?php
function byVal($arg) {
echo 'Aktarılan : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Değişen : ', var_export(func_get_args()), PHP_EOL;
}

function byRef(&$arg) {
echo 'Aktarılan : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'Değişen : ', var_export(func_get_args()), PHP_EOL;
}

$arg = 'bar';
byVal($arg);
byRef($arg);
?>

Yukarıdaki örneğin çıktısı:

Aktarılan : array (
0 => 'bar',
)
Değişen : array (
0 => 'baz',
)
Aktarılan : array (
0 => 'bar',
)
Değişen : array (
0 => 'baz',
)

Notlar

Bilginize:

PHP 8.0.0 itibariyle, func_*() işlev ailesindeki işlevlerin tüm bağımsız değişkenlerinin konumsal olarak iletiliyormuş gibi ele alınması ve eksik bağımsız değişkenlerin öntanımlıları ile değiştirilmesi yoluyla, isimli bağımsız değişkenler açısından çoğunlukla şeffaf olması amaçlanmıştır. Bu işlev, değişken sayıda bağımsız değişken aktarımında ismi bilinmeyen isimli bağımsız değişkenlerin tümünü yok sayar. Toplanan bilinmeyen isimli bağımsız değişkenlere yalnızca variadic bağımsız değişkeni aracılığıyla erişilebilir.

Bilginize:

Bağımsız değişkenlerin gönderime göre aktarılması halinde, bağımsız değişkenlerdeki değişiklikler bu işlevin döndürdüğü değerlere yansıtılır. PHP 7 ve sonrasında, bağımsız değişkenler değerleriyle aktarılmışsa ayrıca geçerli değerler de döndürülür.

Bilginize: Bu işlev sadece işleve aktarılan bağımsız değişkenleri döndürür ve öntanımlı (aktarılmayan) bağımsız değişkenleri hesaba katmaz.

Ayrıca Bakınız

  • ... sözdizimi
  • func_get_arg()
  • func_num_args()
  • ReflectionFunctionAbstract::getParameters()


İşleve aktarılan bağımsız değişken sayısını döndürür

  • « func_get_args
  • function_exists »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • İşleve aktarılan bağımsız değişken sayısını döndürür

func_num_args

(PHP 4, PHP 5, PHP 7, PHP 8)

func_num_args — İşleve aktarılan bağımsız değişken sayısını döndürür

Açıklama

func_num_args(): int

İşleve aktarılan bağımsız değişken sayısını elde eder.

Bu işlev kullanıcı tanımlı işlevlerin değişken sayıda bağımsız değişken kabul edebilmesini sağlamak için func_get_arg() ve func_get_args() ile birlikte kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Mevcut kullanıcı tanımlı işleve aktarılan bağımsız değişken sayısını döndürür.

Hatalar/İstisnalar

Eğer kullanıcı tanımlı işlev dışından çağrılırsa uyarı oluşturur.

Örnekler

Örnek 1 - func_num_args() örneği

<?php
function işlev()
{
echo "Bağımsız değişken sayısı: ", func_num_args(), PHP_EOL;
}

işlev(1, 2, 3);
?>

Yukarıdaki örneğin çıktısı:

Bağımsız değişken sayısı: 3

Notlar

Bilginize:

PHP 8.0.0 itibariyle, func_*() işlev ailesindeki işlevlerin tüm bağımsız değişkenlerinin konumsal olarak iletiliyormuş gibi ele alınması ve eksik bağımsız değişkenlerin öntanımlıları ile değiştirilmesi yoluyla, isimli bağımsız değişkenler açısından çoğunlukla şeffaf olması amaçlanmıştır. Bu işlev, değişken sayıda bağımsız değişken aktarımında ismi bilinmeyen isimli bağımsız değişkenlerin tümünü yok sayar. Toplanan bilinmeyen isimli bağımsız değişkenlere yalnızca variadic bağımsız değişkeni aracılığıyla erişilebilir.

Ayrıca Bakınız

  • ... sözdizimi
  • func_get_arg()
  • func_get_args()
  • ReflectionFunctionAbstract::getNumberOfParameters()


Eğer işlev tanımlanmış ise true döndürür

  • « func_num_args
  • get_defined_functions »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Eğer işlev tanımlanmış ise true döndürür

function_exists

(PHP 4, PHP 5, PHP 7, PHP 8)

function_exists — Eğer işlev tanımlanmış ise true döndürür

Açıklama

function_exists(string $işlev): bool

işlev hem dahili (yerleşik) hem de kullanıcı tanımlı işlevlerin listesinde aranır.

Bağımsız Değişkenler

işlev

Bir dizge olarak işlevin ismi.

Dönen Değerler

Eğer işlev mevcut ve bir işlevin ismi ise true döndürür, aksi takdirde false döndürür.

Bilginize:

include_once ve echo gibi oluşumlar için bu işlev false döndürür.

Örnekler

Örnek 1 - function_exists() örneği

<?php
if (function_exists('imap_open')) {
echo "IMAP işlevleri mevcut.<br />\n";
} else {
echo "IMAP işlevleri mevcut değil.<br />\n";
}
?>

Notlar

Bilginize:

Yapılandırma ve derleme seçeneklerinden dolayı işlev kullanılabilir olmasa bile işlevin ismi mevcut olabilir (görüntü işlevleri buna iyi bir örnektir.)

Ayrıca Bakınız

  • method_exists() - Bir sınıf yöntemi mevcut mu diye bakar
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
  • get_defined_functions() - Tanımlanmış bütün işlevleri içeren bir dizi döndürür
  • class_exists() - Sınıf tanımlı mı diye bakar
  • extension_loaded() - Belirtilen eklenti yüklü mü diye bakar


Tanımlanmış bütün işlevleri içeren bir dizi döndürür

  • « function_exists
  • register_shutdown_function »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Tanımlanmış bütün işlevleri içeren bir dizi döndürür

get_defined_functions

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

get_defined_functions — Tanımlanmış bütün işlevleri içeren bir dizi döndürür

Açıklama

get_defined_functions(bool $iptal_edilen_hariç = true): array

Tanımlanmış bütün işlevleri bir dizi olarak döndürür.

Bağımsız Değişkenler

iptal_edilen_hariç

true atanırsa iptal edilen işlevler dönen dizide bulunmaz.

Dönen Değerler

Hem kullanıcı tanımlı hem de yerleşik (dahili) bütün tanımlanmış işlevlerin listesini bir çok boyutlu dizi olarak döndürür. Dahili işlevlere $dizi["internal"] ile ulaşılabilirken kullanıcı tanımlı işlevlere $dizi["user"] ile ulaşılabilir (aşağıdaki örneğe bakınız).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | iptal_edilen_hariç için öntanımlı değer artık true; evvelce false idi.
7.0.15, 7.1.1 | iptal_edilen_hariç bağımsız değişkeni eklendi.

Örnekler

Örnek 1 - get_defined_functions() örneği

<?php
function satır($id, $veri)
{
return "<tr><th>$id</th><td>$veri</td></tr>\n";
}

$dizi = get_defined_functions();

print_r($dizi);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [internal] => Array
        (
            [0] => zend_version
            [1] => func_num_args
            [2] => func_get_arg
            [3] => func_get_args
            [4] => strlen
            [5] => strcmp
            [6] => strncmp
            ...
            [750] => bcscale
            [751] => bccomp
        )

    [user] => Array
        (
            [0] => satır
        )

)

Ayrıca Bakınız

  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • get_defined_vars() - Tüm tanımlı değişkenleri içeren bir dizi döndürür
  • get_defined_constants() - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
  • get_declared_classes() - Tanımlı sınıfların isimlerini bir dizi olarak döndürür


Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar

  • « get_defined_functions
  • register_tick_function »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar

register_shutdown_function

(PHP 4, PHP 5, PHP 7, PHP 8)

register_shutdown_function — Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar

Açıklama

register_shutdown_function(callable $işlev, mixed ...$bağımsız_değişkenler): void

Betiğin işi bittiğinde çalıştırılacak kapanma işlevini işlev olarak tanımlar.

register_shutdown_function() her gerekişinde bir kere olmak üzere defalarca çağrılabilir. Tanımlanan bir kapanma işlevinin içinde exit() çağrısı yapılırsa betik orada sonlanır ve başka kapanma işlevi çağrılmaz.

Kapanma işlevleri, kuyruğun sonuna başka kapanma işlevleri eklemek için register_shutdown_function() işlevini kendileri de çağırabilir.

Bağımsız Değişkenler

işlev

Tanımlanacak kapatma işlevinin ismi.

Kapanma işlevleri isteğin parçası olarak çağrılmakta dolayısıyla bunlardan çıktı göndermek ve çıktı tamponlarına erişmek mümkün olmaktadır.

bağımsız_değişkenler

register_shutdown_function() işlevi üzerinden kapanma işlevine ek bağımsız değişkenler aktarılabilmektedir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - register_shutdown_function() örneği

<?php
function kapat()
{
// bu bizim kapanma işlevimiz.
// Burada betik sonlanmadan önce yapılacak
// son işlemleri gerçekleştiriyoruz.

echo 'Betik işini gerektiği gibi yaptı', PHP_EOL;
}

register_shutdown_function('kapat');
?>

Notlar

Bilginize:

Apache gibi bazı HTTP sunucularında çalışma dizini kapanma işlevi içinde değiştirilebilmektedir.

Bilginize:

Süreç bir SIGTERM veya SIGKILL ile öldürülmüşse kapanma işlevleri çalıştırılmaz. Bir SIGKILL'i yakalayamazsınız ama temiz bir sonlandırma için exit() işlevini kullanan SIGTERM sinyalini yakalayan bir işleyici kurmak için pcntl_signal() kullanabilirsiniz.

Bilginize:

Kapanma işlevleri, max_execution_time süresinde çalışan işlevlerden değildir. Yani, bir işlem çok uzun süre çalıştığı için sonlandırılsa bile kapanma işlevleri yine de çağrılacaktır. Ayrıca, kapanma işlevi çalışırken max_execution_time süresi bitse bile, kapanma işlevi çalışmasını sürdürür.

Ayrıca Bakınız

  • auto_append_file
  • exit() - Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır
  • fastcgi_finish_request() - Flushes all response data to the client
  • Bağlantı yönetimi bölümü


Her tikte çalıştırılacak işlevi tanımlar

  • « register_shutdown_function
  • unregister_tick_function »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Her tikte çalıştırılacak işlevi tanımlar

register_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

register_tick_function — Her tikte çalıştırılacak işlevi tanımlar

Açıklama

register_tick_function(callable $işlev, mixed ...$bağımsız_değişkenler): bool

Her ticks deyimde bir çalıştırılacak işlevi işlev olarak tanımlar.

Bağımsız Değişkenler

işlev

Geriçağırım işlevi.

bağımsız_değişkenler

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - register_tick_function() örneği

<?php
declare(ticks=1);

// Bir geriçağırım işlevi kullanarak
register_tick_function('işlevim', true);

// Bir nesne->yöntem kullanarak
$nesne = new sınıf();
register_tick_function(array($nesne, 'yöntem'), true);
?>

Ayrıca Bakınız

  • declare
  • unregister_tick_function() - Her tikte çalıştırılacak işlevi tanımsız yapar


Her tikte çalıştırılacak işlevi tanımsız yapar

  • « register_tick_function
  • Quickhash »
  • PHP Manual
  • İşlevlerle İlgili İşlevler
  • Her tikte çalıştırılacak işlevi tanımsız yapar

unregister_tick_function

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

unregister_tick_function — Her tikte çalıştırılacak işlevi tanımsız yapar

Açıklama

unregister_tick_function(callable $işlev): void

işlev ile belirtilen işlevi tanımsız hale getirmek suretiyle işlevin her ticks deyimde bir çalıştırılmamasını sağlar.

Bağımsız Değişkenler

işlev

Tanımsız bırakılacak geriçağırım işlevi.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • register_tick_function() - Her tikte çalıştırılacak işlevi tanımlar


Quickhash

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler
  • Örnekler
  • QuickHashIntSet — The QuickHashIntSet class
    • QuickHashIntSet::add — This method adds a new entry to the set
    • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
    • QuickHashIntSet::delete — This method deletes an entry from the set
    • QuickHashIntSet::exists — This method checks whether a key is part of the set
    • QuickHashIntSet::getSize — Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
    • QuickHashIntSet::loadFromString — This factory method creates a set from a string
    • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString — This method returns a serialized version of the set
  • QuickHashIntHash — The QuickHashIntHash class
    • QuickHashIntHash::add — This method adds a new entry to the hash
    • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
    • QuickHashIntHash::delete — This method deletes an entry from the hash
    • QuickHashIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize — Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashStringIntHash — The QuickHashStringIntHash class
    • QuickHashStringIntHash::add — This method adds a new entry to the hash
    • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
    • QuickHashStringIntHash::delete — This method deletes an entry from the hash
    • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
    • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value
  • QuickHashIntStringHash — The QuickHashIntStringHash class
    • QuickHashIntStringHash::add — This method adds a new entry to the hash
    • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
    • QuickHashIntStringHash::delete — This method deletes an entry from the hash
    • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
    • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value


Giriş

The quickhash extension contains a set of specific strongly-typed classes to deal with specific set and hash implementations.


  • « Yapılandırma/Kurulum
  • Kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

This extension requires no additional libraries.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/quickhash


  • « Çalışma Anı Yapılandırması
  • Örnekler »
  • PHP Manual
  • Quickhash
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

Örnek 1 Quickhash Example

<?php
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
$set->add( 1 );
$set->add( 3 );

var_dump( $set->exists( 3 ) );
var_dump( $set->exists( 4 ) );

$set->saveToFile( "/tmp/test-set.set" );

$newSet = QuickHashIntSet::loadFromFile(
"/tmp/test-set.set"
);

var_dump( $newSet->exists( 3 ) );
var_dump( $newSet->exists( 4 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)
bool(true)
bool(false)

Örnek 2 Quickhash ArrayAccess Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding and updating hash entries.
$hash[3] = 145926;
$hash[3] = 1415926;
$hash[2] = 72;

// Checking if keys exist
var_dump( isset( $hash[3] ) );

// Removing hash entries
unset( $hash[2] );

// Retrieving the value stored for a hash
echo $hash[3], "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
1415926

Örnek 3 Quickhash Iterator Example

<?php
$hash = new QuickHashIntHash( 64 );

// Adding hash entries.
$hash[1] = 145926;
$hash[2] = 1415926;
$hash[3] = 72;
$hash[4] = 712314;
$hash[5] = -4234;

foreach( $hash as $key => $value )
{
echo $key, ' => ', $value, "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

5 => -4234
4 => 712314
1 => 145926
2 => 1415926
3 => 72

Örnek 4 Quickhash String Values Example

<?php
$hash = new QuickHashIntStringHash( 64 );

// Adding hash entries.
$hash[1] = "one million four hundred fifteen thousand nine hundred twenty six";
$hash->add( 2, "one more" );

foreach( $hash as $key => $value )
{
echo $key, ' => ', $value, "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

1 => one million four hundred fifteen thousand nine hundred twenty six
2 => one more


The QuickHashIntSet class

(PECL quickhash >= Unknown)

Giriş

This class wraps around a set containing integer numbers.

Sets can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sınıf Sözdizimi

class QuickHashIntSet {
/* Sabitler */
const int CHECK_FOR_DUPES = 1;
const int DO_NOT_USE_ZEND_ALLOC = 2;
const int HASHER_NO_HASH = 256;
const int HASHER_JENKINS1 = 512;
const int HASHER_JENKINS2 = 1024;
/* Yöntemler */
public add(int $key): bool
public __construct(int $size, int $options = ?)
public delete(int $key): bool
public exists(int $key): bool
publicgetSize(): int
public static loadFromFile(string $filename, int $size = ?, int $options = ?): QuickHashIntSet
public static loadFromString(string $contents, int $size = ?, int $options = ?): QuickHashIntSet
public saveToFile(string $filename): void
public saveToString(): string
}

Öntanımlı Sabitler

QuickHashIntSet::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either QuickHashIntSet::add() or QuickHashIntSet::loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntSet::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntSet::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntSet::HASHER_JENKINS2

Selects a variant hashing algorithm.

İçindekiler

  • QuickHashIntSet::add — This method adds a new entry to the set
  • QuickHashIntSet::__construct — Creates a new QuickHashIntSet object
  • QuickHashIntSet::delete — This method deletes an entry from the set
  • QuickHashIntSet::exists — This method checks whether a key is part of the set
  • QuickHashIntSet::getSize — Returns the number of elements in the set
  • QuickHashIntSet::loadFromFile — This factory method creates a set from a file
  • QuickHashIntSet::loadFromString — This factory method creates a set from a string
  • QuickHashIntSet::saveToFile — This method stores an in-memory set to disk
  • QuickHashIntSet::saveToString — This method returns a serialized version of the set


This method adds a new entry to the set

  • « QuickHashIntSet
  • QuickHashIntSet::__construct »
  • PHP Manual
  • QuickHashIntSet
  • This method adds a new entry to the set

QuickHashIntSet::add

(PECL quickhash >= Unknown)

QuickHashIntSet::add — This method adds a new entry to the set

Açıklama

public QuickHashIntSet::add(int $key): bool

This method adds a new entry to the set, and returns whether the entry was added. Entries are by default always added unless QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was created.

Bağımsız Değişkenler

key

The key of the entry to add.

Dönen Değerler

true when the entry was added, and false if the entry was not added.

Örnekler

Örnek 1 QuickHashIntSet::add() example

<?php
echo "without dupe checking\n";
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

echo "\nwith dupe checking\n";
$set = new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

without dupe checking
bool(false)
bool(true)
bool(true)
bool(true)

with dupe checking
bool(false)
bool(true)
bool(true)
bool(false)


Creates a new QuickHashIntSet object

  • « QuickHashIntSet::add
  • QuickHashIntSet::delete »
  • PHP Manual
  • QuickHashIntSet
  • Creates a new QuickHashIntSet object

QuickHashIntSet::__construct

(PECL quickhash >= Unknown)

QuickHashIntSet::__construct — Creates a new QuickHashIntSet object

Açıklama

public QuickHashIntSet::__construct(int $size, int $options = ?)

This constructor creates a new QuickHashIntSet. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Bağımsız Değişkenler

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The options that you can pass in are: QuickHashIntSet::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the set; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 or QuickHashIntSet::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Dönen Değerler

Returns a new QuickHashIntSet object.

Örnekler

Örnek 1 QuickHashIntSet::__construct() example

<?php
var_dump( new QuickHashIntSet( 1024 ) );
var_dump( new QuickHashIntSet( 1024, QuickHashIntSet::CHECK_FOR_DUPES ) );
var_dump(
new QuickHashIntSet(
1024,
QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC | QuickHashIntSet::HASHER_JENKINS2
)
);
?>


This method deletes an entry from the set

  • « QuickHashIntSet::__construct
  • QuickHashIntSet::exists »
  • PHP Manual
  • QuickHashIntSet
  • This method deletes an entry from the set

QuickHashIntSet::delete

(PECL quickhash >= Unknown)

QuickHashIntSet::delete — This method deletes an entry from the set

Açıklama

public QuickHashIntSet::delete(int $key): bool

This method deletes an entry from the set, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the set itself is freed.

Bağımsız Değişkenler

key

The key of the entry to delete.

Dönen Değerler

true when the entry was deleted, and false if the entry was not deleted.

Örnekler

Örnek 1 QuickHashIntSet::delete() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->delete( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->delete( 4 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the set

  • « QuickHashIntSet::delete
  • QuickHashIntSet::getSize »
  • PHP Manual
  • QuickHashIntSet
  • This method checks whether a key is part of the set

QuickHashIntSet::exists

(PECL quickhash >= Unknown)

QuickHashIntSet::exists — This method checks whether a key is part of the set

Açıklama

public QuickHashIntSet::exists(int $key): bool

This method checks whether an entry with the provided key exists in the set.

Bağımsız Değişkenler

key

The key of the entry to check for whether it exists in the set.

Dönen Değerler

Returns true when the entry was found, or false when the entry is not found.

Örnekler

Örnek 1 QuickHashIntSet::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating set: ", microtime( true ), "\n";
$set = new QuickHashIntSet( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
$set->add( $key );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
$foundCount += $set->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Creating set: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897


Returns the number of elements in the set

  • « QuickHashIntSet::exists
  • QuickHashIntSet::loadFromFile »
  • PHP Manual
  • QuickHashIntSet
  • Returns the number of elements in the set

QuickHashIntSet::getSize

(PECL quickhash >= Unknown)

QuickHashIntSet::getSize — Returns the number of elements in the set

Açıklama

publicQuickHashIntSet::getSize(): int

Returns the number of elements in the set.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of elements in the set.

Örnekler

Örnek 1 QuickHashIntSet::getSize() example

<?php
$set = new QuickHashIntSet( 8 );
var_dump( $set->add( 2 ) );
var_dump( $set->add( 3 ) );
var_dump( $set->getSize() );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
int(2)


This factory method creates a set from a file

  • « QuickHashIntSet::getSize
  • QuickHashIntSet::loadFromString »
  • PHP Manual
  • QuickHashIntSet
  • This factory method creates a set from a file

QuickHashIntSet::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromFile — This factory method creates a set from a file

Açıklama

public static QuickHashIntSet::loadFromFile(string $filename, int $size = ?, int $options = ?): QuickHashIntSet

This factory method creates a new set from a definition file on disk. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Bağımsız Değişkenler

filename

The filename of the file to read the set from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashIntSet.

Örnekler

Örnek 1 QuickHashIntSet::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
$file,
QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$set->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a set from a string

  • « QuickHashIntSet::loadFromFile
  • QuickHashIntSet::saveToFile »
  • PHP Manual
  • QuickHashIntSet
  • This factory method creates a set from a string

QuickHashIntSet::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntSet::loadFromString — This factory method creates a set from a string

Açıklama

public static QuickHashIntSet::loadFromString(string $contents, int $size = ?, int $options = ?): QuickHashIntSet

This factory method creates a new set from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses.

Bağımsız Değişkenler

contents

The string containing a serialized format of the set.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the set, rounded up to the nearest power of two automatically limited from 64 to 4194304.

Dönen Değerler

Returns a new QuickHashIntSet.

Örnekler

Örnek 1 QuickHashIntSet::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.set" );
$set = QuickHashIntSet::loadFromString(
$contents,
QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$set->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory set to disk

  • « QuickHashIntSet::loadFromString
  • QuickHashIntSet::saveToString »
  • PHP Manual
  • QuickHashIntSet
  • This method stores an in-memory set to disk

QuickHashIntSet::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToFile — This method stores an in-memory set to disk

Açıklama

public QuickHashIntSet::saveToFile(string $filename): void

This method stores an existing set to a file on disk, in the same format that QuickHashIntSet::loadFromFile() can read.

Bağımsız Değişkenler

filename

The filename of the file to store the hash in.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 QuickHashIntSet::saveToFile() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

$set->saveToFile( '/tmp/test.set' );
?>


This method returns a serialized version of the set

  • « QuickHashIntSet::saveToFile
  • QuickHashIntHash »
  • PHP Manual
  • QuickHashIntSet
  • This method returns a serialized version of the set

QuickHashIntSet::saveToString

(PECL quickhash >= Unknown)

QuickHashIntSet::saveToString — This method returns a serialized version of the set

Açıklama

public QuickHashIntSet::saveToString(): string

This method returns a serialized version of the set in the same format that QuickHashIntSet::loadFromString() can read.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns a string containing a serialized format of the set. Each element is stored as a four byte value in the Endianness that the current system uses.

Örnekler

Örnek 1 QuickHashIntSet::saveToString() example

<?php
$set = new QuickHashIntSet( 1024 );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );
var_dump( $set->exists( 4 ) );
var_dump( $set->add( 4 ) );

var_dump( $set->saveToString() );
?>


The QuickHashIntHash class

(PECL quickhash >= Unknown)

Giriş

This class wraps around a hash containing integer numbers, where the values are also integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sınıf Sözdizimi

class QuickHashIntHash {
/* Sabitler */
const int CHECK_FOR_DUPES = 1;
const int DO_NOT_USE_ZEND_ALLOC = 2;
const int HASHER_NO_HASH = 256;
const int HASHER_JENKINS1 = 512;
const int HASHER_JENKINS2 = 1024;
/* Yöntemler */
public add(int $key, int $value = ?): bool
public __construct(int $size, int $options = ?)
public delete(int $key): bool
public exists(int $key): bool
public get(int $key): int
public getSize(): int
public static loadFromFile(string $filename, int $options = ?): QuickHashIntHash
public static loadFromString(string $contents, int $options = ?): QuickHashIntHash
public saveToFile(string $filename): void
public saveToString(): string
public set(int $key, int $value): bool
public update(int $key, int $value): bool
}

Öntanımlı Sabitler

QuickHashIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either QuickHashIntHash::add() or QuickHashIntHash::loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

İçindekiler

  • QuickHashIntHash::add — This method adds a new entry to the hash
  • QuickHashIntHash::__construct — Creates a new QuickHashIntHash object
  • QuickHashIntHash::delete — This method deletes an entry from the hash
  • QuickHashIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntHash::getSize — Returns the number of elements in the hash
  • QuickHashIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashIntHash
  • QuickHashIntHash::__construct »
  • PHP Manual
  • QuickHashIntHash
  • This method adds a new entry to the hash

QuickHashIntHash::add

(PECL quickhash >= Unknown)

QuickHashIntHash::add — This method adds a new entry to the hash

Açıklama

public QuickHashIntHash::add(int $key, int $value = ?): bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Bağımsız Değişkenler

key

The key of the entry to add.

value

The optional value of the entry to add. If no value is specified, 1 will be used.

Dönen Değerler

true when the entry was added, and false if the entry was not added.

Örnekler

Örnek 1 QuickHashIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 22 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 78 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, 9 ) );

echo "\ndefault value\n";
var_dump( $hash->add( 5 ) );
var_dump( $hash->get( 5 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)

default value
bool(true)
int(1)


Creates a new QuickHashIntHash object

  • « QuickHashIntHash::add
  • QuickHashIntHash::delete »
  • PHP Manual
  • QuickHashIntHash
  • Creates a new QuickHashIntHash object

QuickHashIntHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntHash::__construct — Creates a new QuickHashIntHash object

Açıklama

public QuickHashIntHash::__construct(int $size, int $options = ?)

This constructor creates a new QuickHashIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Bağımsız Değişkenler

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntHash::HASHER_NO_HASH, QuickHashIntHash::HASHER_JENKINS1 or QuickHashIntHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Dönen Değerler

Returns a new QuickHashIntHash object.

Örnekler

Örnek 1 QuickHashIntHash::__construct() example

<?php
var_dump( new QuickHashIntHash( 1024 ) );
var_dump( new QuickHashIntHash( 1024, QuickHashIntHash::CHECK_FOR_DUPES ) );
var_dump(
new QuickHashIntHash(
1024,
QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntHash::HASHER_JENKINS2
)
);
?>


This method deletes an entry from the hash

  • « QuickHashIntHash::__construct
  • QuickHashIntHash::exists »
  • PHP Manual
  • QuickHashIntHash
  • This method deletes an entry from the hash

QuickHashIntHash::delete

(PECL quickhash >= Unknown)

QuickHashIntHash::delete — This method deletes an entry from the hash

Açıklama

public QuickHashIntHash::delete(int $key): bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Bağımsız Değişkenler

key

The key of the entry to delete.

Dönen Değerler

true when the entry was deleted, and false if the entry was not deleted.

Örnekler

Örnek 1 QuickHashIntHash::delete() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 5 ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashIntHash::delete
  • QuickHashIntHash::get »
  • PHP Manual
  • QuickHashIntHash
  • This method checks whether a key is part of the hash

QuickHashIntHash::exists

(PECL quickhash >= Unknown)

QuickHashIntHash::exists — This method checks whether a key is part of the hash

Açıklama

public QuickHashIntHash::exists(int $key): bool

This method checks whether an entry with the provided key exists in the hash.

Bağımsız Değişkenler

key

The key of the entry to check for whether it exists in the hash.

Dönen Değerler

Returns true when the entry was found, or false when the entry is not found.

Örnekler

Örnek 1 QuickHashIntHash::exists() example

<?php
//generate 200000 elements
$array = range( 0, 199999 );
$existingEntries = array_rand( array_flip( $array ), 180000 );
$testForEntries = array_rand( array_flip( $array ), 1000 );
$foundCount = 0;

echo "Creating hash: ", microtime( true ), "\n";
$hash = new QuickHashIntHash( 100000 );
echo "Adding elements: ", microtime( true ), "\n";
foreach( $existingEntries as $key )
{
$hash->add( $key, 56 );
}

echo "Doing 1000 tests: ", microtime( true ), "\n";
foreach( $testForEntries as $key )
{
$foundCount += $hash->exists( $key );
}
echo "Done, $foundCount found: ", microtime( true ), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Creating hash: 1263588703.0748
Adding elements: 1263588703.0757
Doing 1000 tests: 1263588703.7851
Done, 898 found: 1263588703.7897


This method retrieves a value from the hash by its key

  • « QuickHashIntHash::exists
  • QuickHashIntHash::getSize »
  • PHP Manual
  • QuickHashIntHash
  • This method retrieves a value from the hash by its key

QuickHashIntHash::get

(PECL quickhash >= Unknown)

QuickHashIntHash::get — This method retrieves a value from the hash by its key

Açıklama

public QuickHashIntHash::get(int $key): int

This method retrieves a value from the hash by its key.

Bağımsız Değişkenler

key

The key of the entry to retrieve.

Dönen Değerler

The value if the key exists, or null if the key wasn't part of the hash.

Örnekler

Örnek 1 QuickHashIntHash::get() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2 ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
int(1)
bool(true)
int(5)


Returns the number of elements in the hash

  • « QuickHashIntHash::get
  • QuickHashIntHash::loadFromFile »
  • PHP Manual
  • QuickHashIntHash
  • Returns the number of elements in the hash

QuickHashIntHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntHash::getSize — Returns the number of elements in the hash

Açıklama

public QuickHashIntHash::getSize(): int

Returns the number of elements in the hash.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of elements in the hash.

Örnekler

Örnek 1 QuickHashIntHash::getSize() example

<?php
$hash = new QuickHashIntHash( 8 );
var_dump( $hash->add( 2 ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashIntHash::getSize
  • QuickHashIntHash::loadFromString »
  • PHP Manual
  • QuickHashIntHash
  • This factory method creates a hash from a file

QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — This factory method creates a hash from a file

Açıklama

public static QuickHashIntHash::loadFromFile(string $filename, int $options = ?): QuickHashIntHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x11\0', the number of elements as a 32 bit signed integer in system Endianness, followed by 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each hash element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key. An example could be:

Örnek 1 QuickHash IntHash file format

00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
00000010  03 00 00 00 09 00 00 00                           |........|
00000018

Örnek 2 QuickHash IntHash file format

header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
00000000  51 48 11 00

number of elements:
00000004  02 00 00 00

data string:
00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

key/value 1 (key = 1, value = 1)
01 00 00 00  01 00 00 00

key/value 2 (key = 3, value = 9)
03 00 00 00  09 00 00 00

Bağımsız Değişkenler

filename

The filename of the file to read the hash from.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashIntHash.

Örnekler

Örnek 3 QuickHashIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
$file,
QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a hash from a string

  • « QuickHashIntHash::loadFromFile
  • QuickHashIntHash::saveToFile »
  • PHP Manual
  • QuickHashIntHash
  • This factory method creates a hash from a string

QuickHashIntHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromString — This factory method creates a hash from a string

Açıklama

public static QuickHashIntHash::loadFromString(string $contents, int $options = ?): QuickHashIntHash

This factory method creates a new hash from a definition in a string. The file format consists of 32 bit signed integers packed together in the Endianness that the system that the code runs on uses. For each element there are two 32 bit signed integers stored. The first of each element is the key, and the second is the value belonging to the key.

Bağımsız Değişkenler

contents

The string containing a serialized format of the hash.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashIntHash.

Örnekler

Örnek 1 QuickHashIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntHash::loadFromString(
$contents,
QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory hash to disk

  • « QuickHashIntHash::loadFromString
  • QuickHashIntHash::saveToString »
  • PHP Manual
  • QuickHashIntHash
  • This method stores an in-memory hash to disk

QuickHashIntHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToFile — This method stores an in-memory hash to disk

Açıklama

public QuickHashIntHash::saveToFile(string $filename): void

This method stores an existing hash to a file on disk, in the same format that QuickHashIntHash::loadFromFile() can read.

Bağımsız Değişkenler

filename

The filename of the file to store the hash in.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 QuickHashIntHash::saveToFile() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 43 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 52 ) );

$hash->saveToFile( '/tmp/test.hash' );
?>


This method returns a serialized version of the hash

  • « QuickHashIntHash::saveToFile
  • QuickHashIntHash::set »
  • PHP Manual
  • QuickHashIntHash
  • This method returns a serialized version of the hash

QuickHashIntHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntHash::saveToString — This method returns a serialized version of the hash

Açıklama

public QuickHashIntHash::saveToString(): string

This method returns a serialized version of the hash in the same format that QuickHashIntHash::loadFromString() can read.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Örnekler

Örnek 1 QuickHashIntHash::saveToString() example

<?php
$hash = new QuickHashIntHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 34 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, 55 ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashIntHash::saveToString
  • QuickHashIntHash::update »
  • PHP Manual
  • QuickHashIntHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntHash::set

(PECL quickhash >= Unknown)

QuickHashIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Açıklama

public QuickHashIntHash::set(int $key, int $value): bool

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to add or update.

value

The new value to set the entry with.

Dönen Değerler

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Örnekler

Örnek 1 QuickHashIntHash::set() example

<?php
$hash = new QuickHashIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, 16091 ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, 29906 ) );
var_dump( $hash->get( 46692 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)


This method updates an entry in the hash with a new value

  • « QuickHashIntHash::set
  • QuickHashStringIntHash »
  • PHP Manual
  • QuickHashIntHash
  • This method updates an entry in the hash with a new value

QuickHashIntHash::update

(PECL quickhash >= Unknown)

QuickHashIntHash::update — This method updates an entry in the hash with a new value

Açıklama

public QuickHashIntHash::update(int $key, int $value): bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to update.

value

The new value to update the entry with.

Dönen Değerler

true when the entry was found and updated, and false if the entry was not part of the hash already.

Örnekler

Örnek 1 QuickHashIntHash::update() example

<?php
$hash = new QuickHashIntHash( 1024 );

var_dump( $hash->add( 141421, 173205 ) );
var_dump( $hash->update( 141421, 223606 ) );
var_dump( $hash->get( 141421 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
int(223606)


The QuickHashStringIntHash class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

This class wraps around a hash containing strings, where the values are integer numbers. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sınıf Sözdizimi

class QuickHashStringIntHash {
/* Sabitler */
const int CHECK_FOR_DUPES = 1;
const int DO_NOT_USE_ZEND_ALLOC = 2;
/* Yöntemler */
public add(string $key, int $value): bool
public __construct(int $size, int $options = 0)
public delete(string $key): bool
public exists(string $key): bool
public get(string $key): mixed
public getSize(): int
public static loadFromFile(string $filename, int $size = 0, int $options = 0): QuickHashStringIntHash
public static loadFromString(string $contents, int $size = 0, int $options = 0): QuickHashStringIntHash
public saveToFile(string $filename): void
public saveToString(): string
public set(string $key, int $value): int
public update(string $key, int $value): bool
}

Öntanımlı Sabitler

QuickHashStringIntHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either QuickHashStringIntHash::add() or QuickHashStringIntHash::loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

İçindekiler

  • QuickHashStringIntHash::add — This method adds a new entry to the hash
  • QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object
  • QuickHashStringIntHash::delete — This method deletes an entry from the hash
  • QuickHashStringIntHash::exists — This method checks whether a key is part of the hash
  • QuickHashStringIntHash::get — This method retrieves a value from the hash by its key
  • QuickHashStringIntHash::getSize — Returns the number of elements in the hash
  • QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string
  • QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash
  • QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashStringIntHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashStringIntHash
  • QuickHashStringIntHash::__construct »
  • PHP Manual
  • QuickHashStringIntHash
  • This method adds a new entry to the hash

QuickHashStringIntHash::add

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::add — This method adds a new entry to the hash

Açıklama

public QuickHashStringIntHash::add(string $key, int $value): bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash was created.

Bağımsız Değişkenler

key

The key of the entry to add.

value

The value of the entry to add.

Dönen Değerler

true when the entry was added, and false if the entry was not added.

Örnekler

Örnek 1 QuickHashStringIntHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 22 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 12 ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES );
var_dump( $hash );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 78 ) );
var_dump( $hash->exists( "four" ) );
var_dump( $hash->get( "four" ) );
var_dump( $hash->add( "four", 9 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

without dupe checking
object(QuickHashStringIntHash)#1 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(22)
bool(true)

with dupe checking
object(QuickHashStringIntHash)#2 (0) {
}
bool(false)
bool(false)
bool(true)
bool(true)
int(78)
bool(false)


Creates a new QuickHashStringIntHash object

  • « QuickHashStringIntHash::add
  • QuickHashStringIntHash::delete »
  • PHP Manual
  • QuickHashStringIntHash
  • Creates a new QuickHashStringIntHash object

QuickHashStringIntHash::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::__construct — Creates a new QuickHashStringIntHash object

Açıklama

public QuickHashStringIntHash::__construct(int $size, int $options = 0)

This constructor creates a new QuickHashStringIntHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Bağımsız Değişkenler

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash and QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager.

Dönen Değerler

Returns a new QuickHashStringIntHash object.

Örnekler

Örnek 1 QuickHashStringIntHash::__construct() example

<?php
var_dump( new QuickHashStringIntHash( 1024 ) );
var_dump( new QuickHashStringIntHash( 1024, QuickHashStringIntHash::CHECK_FOR_DUPES ) );
?>


This method deletes an entry from the hash

  • « QuickHashStringIntHash::__construct
  • QuickHashStringIntHash::exists »
  • PHP Manual
  • QuickHashStringIntHash
  • This method deletes an entry from the hash

QuickHashStringIntHash::delete

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::delete — This method deletes an entry from the hash

Açıklama

public QuickHashStringIntHash::delete(string $key): bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Bağımsız Değişkenler

key

The key of the entry to delete.

Dönen Değerler

true when the entry was deleted, and false if the entry was not deleted.

Örnekler

Örnek 1 QuickHashStringIntHash::delete() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->add( 'four', 5 ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
var_dump( $hash->exists( 'four' ) );
var_dump( $hash->get( 'four' ) );
var_dump( $hash->delete( 'four' ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
int(5)
bool(true)
bool(false)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashStringIntHash::delete
  • QuickHashStringIntHash::get »
  • PHP Manual
  • QuickHashStringIntHash
  • This method checks whether a key is part of the hash

QuickHashStringIntHash::exists

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::exists — This method checks whether a key is part of the hash

Açıklama

public QuickHashStringIntHash::exists(string $key): bool

This method checks whether an entry with the provided key exists in the hash.

Bağımsız Değişkenler

key

The key of the entry to check for whether it exists in the hash.

Dönen Değerler

Returns true when the entry was found, or false when the entry is not found.


This method retrieves a value from the hash by its key

  • « QuickHashStringIntHash::exists
  • QuickHashStringIntHash::getSize »
  • PHP Manual
  • QuickHashStringIntHash
  • This method retrieves a value from the hash by its key

QuickHashStringIntHash::get

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::get — This method retrieves a value from the hash by its key

Açıklama

public QuickHashStringIntHash::get(string $key): mixed

This method retrieves a value from the hash by its key.

Bağımsız Değişkenler

key

The key of the entry to retrieve.

Dönen Değerler

The value if the key exists, or null if the key wasn't part of the hash.

Örnekler

Örnek 1 QuickHashStringIntHash::get() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->get( "one" ) );

var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->get( "two" ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
int(2)


Returns the number of elements in the hash

  • « QuickHashStringIntHash::get
  • QuickHashStringIntHash::loadFromFile »
  • PHP Manual
  • QuickHashStringIntHash
  • Returns the number of elements in the hash

QuickHashStringIntHash::getSize

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::getSize — Returns the number of elements in the hash

Açıklama

public QuickHashStringIntHash::getSize(): int

Returns the number of elements in the hash.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of elements in the hash.

Örnekler

Örnek 1 QuickHashStringIntHash::getSize() example

<?php
$hash = new QuickHashStringIntHash( 8 );
var_dump( $hash->add( "two", 2 ) );
var_dump( $hash->add( "three", 5 ) );
var_dump( $hash->getSize() );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashStringIntHash::getSize
  • QuickHashStringIntHash::loadFromString »
  • PHP Manual
  • QuickHashStringIntHash
  • This factory method creates a hash from a file

QuickHashStringIntHash::loadFromFile

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::loadFromFile — This factory method creates a hash from a file

Açıklama

public static QuickHashStringIntHash::loadFromFile(string $filename, int $size = 0, int $options = 0): QuickHashStringIntHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x21\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. The follows another signed 32 bit integer containing the number of bucket lists. After the header and the strings, the elements follow. They are ordered by bucket list so that the keys don't have to be hashed in order to restore the hash. For each bucket list, the following information is stored (all as 32 bit integers): the bucket list index, the number of elements in that list, and then in pairs of two unsigned 32 bit integers the elements, where the first one is the index into the string list containing the keys, and the second one the value. An example could be:

Örnek 1 QuickHash StringIntHash file format

00000000  51 48 21 00 02 00 00 00  09 00 00 00 40 00 00 00  |QH!.........@...|
00000010  4f 4e 45 00 4e 49 4e 45  00 07 00 00 00 01 00 00  |ONE.NINE........|
00000020  00 00 00 00 00 01 00 00  00 2f 00 00 00 01 00 00  |........./......|
00000030  00 04 00 00 00 03 00 00  00                       |.........|
00000039

Örnek 2 QuickHash IntHash file format

header signature ('QH'; key type: 2; value type: 1; filler: \0x00)
00000000  51 48 21 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

number of hash bucket lists (this is configured for hashes as argument to the
constructor normally, 64 in this case):
0000000C  40 00 00 00

string values:
00000010  4f 4e 45 00 4e 49 4e 45  00

bucket lists:
  bucket list 1 (with key 7, and 1 element):
    header:
    07 00 00 00 01 00 00 00
    elements (key index: 0 ('ONE'), value = 0):
    00 00 00 00 01 00 00 00
  bucket list 2 (with key 0x2f, and 1 element):
    header:
    2f 00 00 00 01 00 00 00
    elements (key index: 4 ('NINE'), value = 3):
    04 00 00 00 03 00 00 00

Bağımsız Değişkenler

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is read from the file format (unlike the QuickHashIntHash and QuickHashIntStringHash classes, where it is automatically calculated from the number of entries in the hash.)

Dönen Değerler

Returns a new QuickHashStringIntHash.

Örnekler

Örnek 3 QuickHashStringIntHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.hash.string";
$hash = QuickHashStringIntHash::loadFromFile(
$file,
QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
$i = 48712 + $key * 1631;
$k = base_convert( $i, 10, 36 );
echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177


This factory method creates a hash from a string

  • « QuickHashStringIntHash::loadFromFile
  • QuickHashStringIntHash::saveToFile »
  • PHP Manual
  • QuickHashStringIntHash
  • This factory method creates a hash from a string

QuickHashStringIntHash::loadFromString

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::loadFromString — This factory method creates a hash from a string

Açıklama

public static QuickHashStringIntHash::loadFromString(string $contents, int $size = 0, int $options = 0): QuickHashStringIntHash

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Bağımsız Değişkenler

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashStringIntHash.

Örnekler

Örnek 1 QuickHashStringIntHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash.string" );
$hash = QuickHashStringIntHash::loadFromString(
$contents,
QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
$i = 48712 + $key * 1631;
$k = base_convert( $i, 10, 36 );
echo $k, ' => ', $hash->get( $k ), "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

11l4 => 48712
12uf => 50343
143q => 51974
15d1 => 53605
16mc => 55236
17vn => 56867
194y => 58498
1ae9 => 60129
1bnk => 61760
1cwv => 63391
1e66 => 65022
1ffh => 66653
1gos => 68284
1hy3 => 69915
1j7e => 71546
1kgp => 73177


This method stores an in-memory hash to disk

  • « QuickHashStringIntHash::loadFromString
  • QuickHashStringIntHash::saveToString »
  • PHP Manual
  • QuickHashStringIntHash
  • This method stores an in-memory hash to disk

QuickHashStringIntHash::saveToFile

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::saveToFile — This method stores an in-memory hash to disk

Açıklama

public QuickHashStringIntHash::saveToFile(string $filename): void

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Bağımsız Değişkenler

filename

The filename of the file to store the hash in.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 QuickHashStringIntHash::saveToFile() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "forty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

$hash->saveToFile( '/tmp/test.hash.string' );
?>


This method returns a serialized version of the hash

  • « QuickHashStringIntHash::saveToFile
  • QuickHashStringIntHash::set »
  • PHP Manual
  • QuickHashStringIntHash
  • This method returns a serialized version of the hash

QuickHashStringIntHash::saveToString

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::saveToString — This method returns a serialized version of the hash

Açıklama

public QuickHashStringIntHash::saveToString(): string

This method returns a serialized version of the hash in the same format that QuickHashStringIntHash::loadFromString() can read.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns a serialized format of an existing hash, in the same format that QuickHashStringIntHash::loadFromString() can read.

Örnekler

Örnek 1 QuickHashStringIntHash::saveToString() example

<?php
$hash = new QuickHashStringIntHash( 1024 );
var_dump( $hash->add( "forty three", 42 ) );
var_dump( $hash->add( "fifty two", 52 ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashStringIntHash::saveToString
  • QuickHashStringIntHash::update »
  • PHP Manual
  • QuickHashStringIntHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashStringIntHash::set

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Açıklama

public QuickHashStringIntHash::set(string $key, int $value): int

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Dönen Değerler

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Örnekler

Örnek 1 QuickHashStringIntHash::set() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( "forty six thousand six hundred ninety two" ) );
var_dump( $hash->set( "forty six thousand six hundred ninety two", 16091 ) );
var_dump( $hash->get( "forty six thousand six hundred ninety two" ) );

echo "Set->Update\n";
var_dump( $hash->set( "forty six thousand six hundred ninety two", 29906 ) );
var_dump( $hash->get( "forty six thousand six hundred ninety two" ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Set->Add
bool(false)
int(2)
int(16091)
Set->Update
int(1)
int(29906)


This method updates an entry in the hash with a new value

  • « QuickHashStringIntHash::set
  • QuickHashIntStringHash »
  • PHP Manual
  • QuickHashStringIntHash
  • This method updates an entry in the hash with a new value

QuickHashStringIntHash::update

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

QuickHashStringIntHash::update — This method updates an entry in the hash with a new value

Açıklama

public QuickHashStringIntHash::update(string $key, int $value): bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to update.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Dönen Değerler

true when the entry was found and updated, and false if the entry was not part of the hash already.

Örnekler

Örnek 1 QuickHashStringIntHash::update() example

<?php
$hash = new QuickHashStringIntHash( 1024 );

$hash->add( 'six', 314159265 );
$hash->add( "a lot", 314159265 );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";

var_dump( $hash->update( 'a lot', 314159266 ) );
var_dump( $hash->update( "a lot plus one", 314159999 ) );

echo $hash->get( 'six' ), "\n";
echo $hash->get( 'a lot' ), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

314159265
314159265
bool(true)
bool(false)
314159265
314159266


The QuickHashIntStringHash class

(PECL quickhash >= Unknown)

Giriş

This class wraps around a hash containing integer numbers, where the values are strings. Hashes are also available as implementation of the ArrayAccess interface.

Hashes can also be iterated over with foreach as the Iterator interface is implemented as well. The order of which elements are returned in is not guaranteed.

Sınıf Sözdizimi

class QuickHashIntStringHash {
/* Sabitler */
const int CHECK_FOR_DUPES = 1;
const int DO_NOT_USE_ZEND_ALLOC = 2;
const int HASHER_NO_HASH = 256;
const int HASHER_JENKINS1 = 512;
const int HASHER_JENKINS2 = 1024;
/* Yöntemler */
public add(int $key, string $value): bool
public __construct(int $size, int $options = 0)
public delete(int $key): bool
public exists(int $key): bool
public get(int $key): mixed
public getSize(): int
public static loadFromFile(string $filename, int $size = 0, int $options = 0): QuickHashIntStringHash
public static loadFromString(string $contents, int $size = 0, int $options = 0): QuickHashIntStringHash
public saveToFile(string $filename): void
public saveToString(): string
public set(int $key, string $value): int
public update(int $key, string $value): bool
}

Öntanımlı Sabitler

QuickHashIntStringHash::CHECK_FOR_DUPES

If enabled, adding duplicate elements to a set (through either QuickHashIntStringHash::add() or QuickHashIntStringHash::loadFromFile()) will result in those elements to be dropped from the set. This will take up extra time, so only used when it is required.

QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC

Disables the use of PHP's internal memory manager for internal set structures. With this option enabled, internal allocations will not count towards the memory_limit settings.

QuickHashIntStringHash::HASHER_NO_HASH

Selects to not use a hashing function, but merely use a modulo to find the bucket list index. This is not faster than normal hashing, and gives more collisions.

QuickHashIntStringHash::HASHER_JENKINS1

This is the default hashing function to turn the integer hashes into bucket list indexes.

QuickHashIntStringHash::HASHER_JENKINS2

Selects a variant hashing algorithm.

İçindekiler

  • QuickHashIntStringHash::add — This method adds a new entry to the hash
  • QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object
  • QuickHashIntStringHash::delete — This method deletes an entry from the hash
  • QuickHashIntStringHash::exists — This method checks whether a key is part of the hash
  • QuickHashIntStringHash::get — This method retrieves a value from the hash by its key
  • QuickHashIntStringHash::getSize — Returns the number of elements in the hash
  • QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file
  • QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string
  • QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk
  • QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash
  • QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
  • QuickHashIntStringHash::update — This method updates an entry in the hash with a new value


This method adds a new entry to the hash

  • « QuickHashIntStringHash
  • QuickHashIntStringHash::__construct »
  • PHP Manual
  • QuickHashIntStringHash
  • This method adds a new entry to the hash

QuickHashIntStringHash::add

(PECL quickhash >= Unknown)

QuickHashIntStringHash::add — This method adds a new entry to the hash

Açıklama

public QuickHashIntStringHash::add(int $key, string $value): bool

This method adds a new entry to the hash, and returns whether the entry was added. Entries are by default always added unless QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash was created.

Bağımsız Değişkenler

key

The key of the entry to add.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Dönen Değerler

true when the entry was added, and false if the entry was not added.

Örnekler

Örnek 1 QuickHashIntStringHash::add() example

<?php
echo "without dupe checking\n";
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twenty two" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "twelve" ) );

echo "\nwith dupe checking\n";
$hash = new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "seventy eight" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->get( 4 ) );
var_dump( $hash->add( 4, "nine" ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

without dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(10) "twenty two"
bool(true)

with dupe checking
bool(false)
bool(false)
bool(true)
bool(true)
string(13) "seventy eight"
bool(false)


Creates a new QuickHashIntStringHash object

  • « QuickHashIntStringHash::add
  • QuickHashIntStringHash::delete »
  • PHP Manual
  • QuickHashIntStringHash
  • Creates a new QuickHashIntStringHash object

QuickHashIntStringHash::__construct

(PECL quickhash >= Unknown)

QuickHashIntStringHash::__construct — Creates a new QuickHashIntStringHash object

Açıklama

public QuickHashIntStringHash::__construct(int $size, int $options = 0)

This constructor creates a new QuickHashIntStringHash. The size is the amount of bucket lists to create. The more lists there are, the less collisions you will have. Options are also supported.

Bağımsız Değişkenler

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 64 to 4194304.

options

The options that you can pass in are: QuickHashIntStringHash::CHECK_FOR_DUPES, which makes sure no duplicate entries are added to the hash; QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal memory manager as well as one of QuickHashIntStringHash::HASHER_NO_HASH, QuickHashIntStringHash::HASHER_JENKINS1 or QuickHashIntStringHash::HASHER_JENKINS2. These last three configure which hashing algorithm to use. All options can be combined using bitmasks.

Dönen Değerler

Returns a new QuickHashIntStringHash object.

Örnekler

Örnek 1 QuickHashIntStringHash::__construct() example

<?php
var_dump( new QuickHashIntStringHash( 1024 ) );
var_dump( new QuickHashIntStringHash( 1024, QuickHashIntStringHash::CHECK_FOR_DUPES ) );
var_dump(
new QuickHashIntStringHash(
1024,
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
)
);
?>


This method deletes an entry from the hash

  • « QuickHashIntStringHash::__construct
  • QuickHashIntStringHash::exists »
  • PHP Manual
  • QuickHashIntStringHash
  • This method deletes an entry from the hash

QuickHashIntStringHash::delete

(PECL quickhash >= Unknown)

QuickHashIntStringHash::delete — This method deletes an entry from the hash

Açıklama

public QuickHashIntStringHash::delete(int $key): bool

This method deletes an entry from the hash, and returns whether the entry was deleted or not. Associated memory structures will not be freed immediately, but rather when the hash itself is freed.

Elements can not be deleted when the hash is used in an iterator. The method will not throw an exception, but simply return false like would happen with any other deletion failure.

Bağımsız Değişkenler

key

The key of the entry to delete.

Dönen Değerler

true when the entry was deleted, and false if the entry was not deleted.

Örnekler

Örnek 1 QuickHashIntStringHash::delete() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "five" ) );
var_dump( $hash->delete( 4 ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->delete( 4 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
bool(true)
bool(false)
bool(false)


This method checks whether a key is part of the hash

  • « QuickHashIntStringHash::delete
  • QuickHashIntStringHash::get »
  • PHP Manual
  • QuickHashIntStringHash
  • This method checks whether a key is part of the hash

QuickHashIntStringHash::exists

(PECL quickhash >= Unknown)

QuickHashIntStringHash::exists — This method checks whether a key is part of the hash

Açıklama

public QuickHashIntStringHash::exists(int $key): bool

This method checks whether an entry with the provided key exists in the hash.

Bağımsız Değişkenler

key

The key of the entry to check for whether it exists in the hash.

Dönen Değerler

Returns true when the entry was found, or false when the entry is not found.


This method retrieves a value from the hash by its key

  • « QuickHashIntStringHash::exists
  • QuickHashIntStringHash::getSize »
  • PHP Manual
  • QuickHashIntStringHash
  • This method retrieves a value from the hash by its key

QuickHashIntStringHash::get

(PECL quickhash >= Unknown)

QuickHashIntStringHash::get — This method retrieves a value from the hash by its key

Açıklama

public QuickHashIntStringHash::get(int $key): mixed

This method retrieves a value from the hash by its key.

Bağımsız Değişkenler

key

The key of the entry to retrieve.

Dönen Değerler

The value if the key exists, or null if the key wasn't part of the hash.

Örnekler

Örnek 1 QuickHashIntStringHash::get() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->get( 1 ) );

var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->get( 2 ) );

var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->get( 3 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(false)
bool(true)
string(3) "two"
bool(true)
string(1) "5"


Returns the number of elements in the hash

  • « QuickHashIntStringHash::get
  • QuickHashIntStringHash::loadFromFile »
  • PHP Manual
  • QuickHashIntStringHash
  • Returns the number of elements in the hash

QuickHashIntStringHash::getSize

(PECL quickhash >= Unknown)

QuickHashIntStringHash::getSize — Returns the number of elements in the hash

Açıklama

public QuickHashIntStringHash::getSize(): int

Returns the number of elements in the hash.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of elements in the hash.

Örnekler

Örnek 1 QuickHashIntStringHash::getSize() example

<?php
$hash = new QuickHashIntStringHash( 8 );
var_dump( $hash->add( 2, "two" ) );
var_dump( $hash->add( 3, 5 ) );
var_dump( $hash->getSize() );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
int(2)


This factory method creates a hash from a file

  • « QuickHashIntStringHash::getSize
  • QuickHashIntStringHash::loadFromString »
  • PHP Manual
  • QuickHashIntStringHash
  • This factory method creates a hash from a file

QuickHashIntStringHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromFile — This factory method creates a hash from a file

Açıklama

public static QuickHashIntStringHash::loadFromFile(string $filename, int $size = 0, int $options = 0): QuickHashIntStringHash

This factory method creates a new hash from a definition file on disk. The file format consists of a signature 'QH\0x12\0', the number of elements as a 32 bit signed integer in system Endianness, an unsigned 32 bit integer containing the number of element data to follow in characters. This element data contains all the strings. After the header and the strings, the elements follow in pairs of two unsigned 32 bit integers where the first one is the key, and the second one the index in the element data string. An example could be:

Örnek 1 QuickHash IntString file format

00000000  51 48 12 00 02 00 00 00  09 00 00 00 4f 4e 45 00  |QH..........ONE.|
00000010  4e 49 4e 45 00 01 00 00  00 00 00 00 00 03 00 00  |NINE............|
00000020  00 04 00 00 00                                    |.....|
00000025

Örnek 2 QuickHash IntString file format

header signature ('QH'; key type: 1; value type: 2; filler: \0x00)
00000000  51 48 12 00

number of elements:
00000004  02 00 00 00

length of string values (9 characters):
00000008  09 00 00 00

string values:
0000000C  4f 4e 45 00 4e 49 4e 45  00

data string:
00000015  01 00 00 00 00 00 00 00  03 00 00 00 04 00 00 00

key/value 1 (key = 1, string index = 0 ("ONE")):
01 00 00 00  00 00 00 00

key/value 2 (key = 3, string index = 4 ("NINE")):
03 00 00 00  04 00 00 00

Bağımsız Değişkenler

filename

The filename of the file to read the hash from.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashIntStringHash.

Örnekler

Örnek 3 QuickHashIntStringHash::loadFromFile() example

<?php
$file = dirname( __FILE__ ) . "/simple.string.hash";
$hash = QuickHashIntStringHash::loadFromFile(
$file,
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This factory method creates a hash from a string

  • « QuickHashIntStringHash::loadFromFile
  • QuickHashIntStringHash::saveToFile »
  • PHP Manual
  • QuickHashIntStringHash
  • This factory method creates a hash from a string

QuickHashIntStringHash::loadFromString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::loadFromString — This factory method creates a hash from a string

Açıklama

public static QuickHashIntStringHash::loadFromString(string $contents, int $size = 0, int $options = 0): QuickHashIntStringHash

This factory method creates a new hash from a definition in a string. The format is the same as the one used in "loadFromFile".

Bağımsız Değişkenler

contents

The string containing a serialized format of the hash.

size

The amount of bucket lists to configure. The number you pass in will be automatically rounded up to the next power of two. It is also automatically limited from 4 to 4194304.

options

The same options that the class' constructor takes; except that the size option is ignored. It is automatically calculated to be the same as the number of entries in the hash, rounded up to the nearest power of two with a maximum limit of 4194304.

Dönen Değerler

Returns a new QuickHashIntStringHash.

Örnekler

Örnek 1 QuickHashIntStringHash::loadFromString() example

<?php
$contents = file_get_contents( dirname( __FILE__ ) . "/simple.hash" );
$hash = QuickHashIntStringHash::loadFromString(
$contents,
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Key   0 ( 0) is unset
Key   1 ( 1) is set
Key   2 ( 2) is set
Key   3 ( 3) is set
Key   4 ( 4) is unset
Key   5 ( 5) is set
Key   6 ( 6) is unset
Key   7 ( 7) is set
Key   8 ( 8) is unset
Key   9 ( 9) is unset
Key  10 ( a) is unset
Key  11 ( b) is set
Key  12 ( c) is unset
Key  13 ( d) is set
Key  14 ( e) is unset
Key  15 ( f) is unset


This method stores an in-memory hash to disk

  • « QuickHashIntStringHash::loadFromString
  • QuickHashIntStringHash::saveToString »
  • PHP Manual
  • QuickHashIntStringHash
  • This method stores an in-memory hash to disk

QuickHashIntStringHash::saveToFile

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToFile — This method stores an in-memory hash to disk

Açıklama

public QuickHashIntStringHash::saveToFile(string $filename): void

This method stores an existing hash to a file on disk, in the same format that loadFromFile() can read.

Bağımsız Değişkenler

filename

The filename of the file to store the hash in.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 QuickHashIntStringHash::saveToFile() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "forty three" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "fifty two" ) );

$hash->saveToFile( '/tmp/test.string.hash' );
?>


This method returns a serialized version of the hash

  • « QuickHashIntStringHash::saveToFile
  • QuickHashIntStringHash::set »
  • PHP Manual
  • QuickHashIntStringHash
  • This method returns a serialized version of the hash

QuickHashIntStringHash::saveToString

(PECL quickhash >= Unknown)

QuickHashIntStringHash::saveToString — This method returns a serialized version of the hash

Açıklama

public QuickHashIntStringHash::saveToString(): string

This method returns a serialized version of the hash in the same format that QuickHashIntStringHash::loadFromString() can read.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

This method returns a string containing a serialized format of the hash. Each element is stored as a four byte value in the Endianness that the current system uses.

Örnekler

Örnek 1 QuickHashIntStringHash::saveToString() example

<?php
$hash = new QuickHashIntStringHash( 1024 );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 4, "thirty four" ) );
var_dump( $hash->exists( 4 ) );
var_dump( $hash->add( 5, "fifty five" ) );

var_dump( $hash->saveToString() );
?>


This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

  • « QuickHashIntStringHash::saveToString
  • QuickHashIntStringHash::update »
  • PHP Manual
  • QuickHashIntStringHash
  • This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

QuickHashIntStringHash::set

(PECL quickhash >= Unknown)

QuickHashIntStringHash::set — This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist

Açıklama

public QuickHashIntStringHash::set(int $key, string $value): int

This method tries to update an entry with a new value. In case the entry did not yet exist, it will instead add a new entry. It returns whether the entry was added or update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to add or update.

value

The value of the entry to add. If a non-string is passed, it will be converted to a string automatically if possible.

Dönen Değerler

2 if the entry was found and updated, 1 if the entry was newly added or 0 if there was an error.

Örnekler

Örnek 1 QuickHashIntStringHash::set() example

<?php
$hash = new QuickHashIntStringHash( 1024 );

echo "Set->Add\n";
var_dump( $hash->get( 46692 ) );
var_dump( $hash->set( 46692, "sixteen thousand ninety one" ) );
var_dump( $hash->get( 46692 ) );

echo "Set->Update\n";
var_dump( $hash->set( 46692, "twenty nine thousand nine hundred six" ) );
var_dump( $hash->get( 46692 ) );
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Set->Add
bool(false)
int(2)
string(27) "sixteen thousand ninety one"
Set->Update
int(1)
string(37) "twenty nine thousand nine hundred six"


This method updates an entry in the hash with a new value

  • « QuickHashIntStringHash::set
  • Reflection »
  • PHP Manual
  • QuickHashIntStringHash
  • This method updates an entry in the hash with a new value

QuickHashIntStringHash::update

(PECL quickhash >= Unknown)

QuickHashIntStringHash::update — This method updates an entry in the hash with a new value

Açıklama

public QuickHashIntStringHash::update(int $key, string $value): bool

This method updates an entry with a new value, and returns whether the entry was update. If there are duplicate keys, only the first found element will get an updated value. Use QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to prevent duplicate keys from being part of the hash.

Bağımsız Değişkenler

key

The key of the entry to update.

value

The new value for the entry. If a non-string is passed, it will be converted to a string automatically if possible.

Dönen Değerler

true when the entry was found and updated, and false if the entry was not part of the hash already.

Örnekler

Örnek 1 QuickHashIntStringHash::update() example

<?php
$hash->add( 161803398, "--" );
$hash->add( 314159265, "a lot" );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";

var_dump( $hash->update( 314159265, "a lot plus one" ) );
var_dump( $hash->update( 314159999, "a lot plus one" ) );

echo $hash->get( 161803398 ), "\n";
echo $hash->get( 314159265 ), "\n";
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

--
a lot
bool(true)
bool(false)
--
a lot plus one


Yansıtma

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Yansıtma Sınıflarının Genişletilmesi
  • Reflection — Reflection Sınıfı
    • Reflection::export — Sınıfı ihraç eder
    • Reflection::getModifierNames — Değiştirici isimlerini döndürür
  • ReflectionClass — ReflectionClass Sınıfı
    • ReflectionClass::__construct — Bir ReflectionClass nesnesi oluşturur
    • ReflectionClass::export — Bir sınıf ihraç eder
    • ReflectionClass::getAttributes — Gets Attributes
    • ReflectionClass::getConstant — Tanımlı sabiti döndürür
    • ReflectionClass::getConstants — Sabitleri döndürür
    • ReflectionClass::getConstructor — Sınıfın kurucusunu döndürür
    • ReflectionClass::getDefaultProperties — Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür
    • ReflectionClass::getDocComment — Belgelendirici açıklamaları döndürür
    • ReflectionClass::getEndLine — Son satırın numarasını döndürür
    • ReflectionClass::getExtension — Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür
    • ReflectionClass::getExtensionName — Sınıfı tanımlayan eklentinin ismini döndürür
    • ReflectionClass::getFileName — Sınıfın tanımlandığı dosyanın adını döndürür
    • ReflectionClass::getInterfaceNames — Arayüz isimlerini döndürür
    • ReflectionClass::getInterfaces — Arayüzleri döndürür
    • ReflectionClass::getMethod — Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür
    • ReflectionClass::getMethods — Yöntemleri dizi olarak döndürür
    • ReflectionClass::getModifiers — Sınıf değiştiricilerini döndürür
    • ReflectionClass::getName — Sınıf ismini döndürür
    • ReflectionClass::getNamespaceName — İsim alanı ismini döndürür
    • ReflectionClass::getParentClass — Ebeveyn sınıfı döndürür
    • ReflectionClass::getProperties — Özellikleri döndürür
    • ReflectionClass::getProperty — Bir sınıf özelliği için bir ReflectionProperty döndürür
    • ReflectionClass::getReflectionConstant — Bir sınıfın sabiti için ReflectionClassConstant sınıfı
    • ReflectionClass::getReflectionConstants — Sınıf sabitlerini döndürür
    • ReflectionClass::getShortName — Kısa adı döndürür
    • ReflectionClass::getStartLine — Başlangıç satır numarasını döndürür
    • ReflectionClass::getStaticProperties — Duruk özellikleri döndürür
    • ReflectionClass::getStaticPropertyValue — Duruk özelliğin değerini döndürür
    • ReflectionClass::getTraitAliases — Returns an array of trait aliases
    • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
    • ReflectionClass::getTraits — Returns an array of traits used by this class
    • ReflectionClass::hasConstant — Sabit tanımlı mı diye bakar
    • ReflectionClass::hasMethod — Yöntem tanımlı mı diye bakar
    • ReflectionClass::hasProperty — Özellik tanımlı mı diye bakar
    • ReflectionClass::implementsInterface — Arayüz gerçeklenmiş mi diye bakar
    • ReflectionClass::inNamespace — Sınıf isim alanında mı diye bakar
    • ReflectionClass::isAbstract — Sınıf soyut mu diye bakar
    • ReflectionClass::isAnonymous — Checks if class is anonymous
    • ReflectionClass::isCloneable — Returns whether this class is cloneable
    • ReflectionClass::isEnum — Returns whether this is an enum
    • ReflectionClass::isFinal — Sınıf bir final sınıf mı diye bakar
    • ReflectionClass::isInstance — Sınıf bir nesne örneği mi diye bakar
    • ReflectionClass::isInstantiable — Sınıf örneklenebilir mi diye bakar
    • ReflectionClass::isInterface — Nesne bir arayüz mü diye bakar
    • ReflectionClass::isInternal — Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar
    • ReflectionClass::isIterable — Sınıf yinelenebilir mi diye bakar
    • ReflectionClass::isIterateable — ReflectionClass::isIterable için takma ada
    • ReflectionClass::isReadOnly — Checks if class is readonly
    • ReflectionClass::isSubclassOf — Sınıf bir alt sınıf mı diye bakar
    • ReflectionClass::isTrait — Returns whether this is a trait
    • ReflectionClass::isUserDefined — Sınıf bir kullanıcı tanımlı sınıf mı diye bakar
    • ReflectionClass::newInstance — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
    • ReflectionClass::newInstanceArgs — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
    • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor
    • ReflectionClass::setStaticPropertyValue — Statik özelliğe değer atar
    • ReflectionClass::__toString — ReflectionClass nesnesinin dizgesel gösterimini döndürür
  • ReflectionClassConstant — The ReflectionClassConstant sınıfı
    • ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant
    • ReflectionClassConstant::export — Export
    • ReflectionClassConstant::getAttributes — Gets Attributes
    • ReflectionClassConstant::getDeclaringClass — Gets declaring class
    • ReflectionClassConstant::getDocComment — Gets doc comments
    • ReflectionClassConstant::getModifiers — Gets the class constant modifiers
    • ReflectionClassConstant::getName — Get name of the constant
    • ReflectionClassConstant::getValue — Gets value
    • ReflectionClassConstant::isEnumCase — Checks if class constant is an Enum case
    • ReflectionClassConstant::isFinal — Checks if class constant is final
    • ReflectionClassConstant::isPrivate — Checks if class constant is private
    • ReflectionClassConstant::isProtected — Checks if class constant is protected
    • ReflectionClassConstant::isPublic — Checks if class constant is public
    • ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object
  • ReflectionEnum — ReflectionEnum sınıfı
    • ReflectionEnum::__construct — Instantiates a ReflectionEnum object
    • ReflectionEnum::getBackingType — Gets the backing type of an Enum, if any
    • ReflectionEnum::getCase — Returns a specific case of an Enum
    • ReflectionEnum::getCases — Returns a list of all cases on an Enum
    • ReflectionEnum::hasCase — Checks for a case on an Enum
    • ReflectionEnum::isBacked — Determines if an Enum is a Backed Enum
  • ReflectionEnumUnitCase — ReflectionEnumUnitCase sınıfı
    • ReflectionEnumUnitCase::__construct — Instantiates a ReflectionEnumUnitCase object
    • ReflectionEnumUnitCase::getEnum — Gets the reflection of the enum of this case
    • ReflectionEnumUnitCase::getValue — Gets the enum case object described by this reflection object
  • ReflectionEnumBackedCase — ReflectionEnumBackedCase sınıfı
    • ReflectionEnumBackedCase::__construct — Instantiates a ReflectionEnumBackedCase object
    • ReflectionEnumBackedCase::getBackingValue — Gets the scalar value backing this Enum case
  • ReflectionZendExtension — ReflectionZendExtension sınıfı
    • ReflectionZendExtension::__clone — Clone handler
    • ReflectionZendExtension::__construct — Constructs a ReflectionZendExtension object
    • ReflectionZendExtension::export — Export
    • ReflectionZendExtension::getAuthor — Gets author
    • ReflectionZendExtension::getCopyright — Gets copyright
    • ReflectionZendExtension::getName — Gets name
    • ReflectionZendExtension::getURL — Gets URL
    • ReflectionZendExtension::getVersion — Gets version
    • ReflectionZendExtension::__toString — To string handler
  • ReflectionExtension — ReflectionExtension Sınıfı
    • ReflectionExtension::__clone — Reflection nesneleri kopyalanamaz
    • ReflectionExtension::__construct — Bir ReflectionExtension nesnesi oluşturur
    • ReflectionExtension::export — Sınıfı ihraç eder
    • ReflectionExtension::getClasses — Eklentinin sınıflarını döndürür
    • ReflectionExtension::getClassNames — Eklentide tanımlı sınıf isimlerini döndürür
    • ReflectionExtension::getConstants — Eklentinin sabitlerini döndürür
    • ReflectionExtension::getDependencies — Bağımlılıkları döndürür
    • ReflectionExtension::getFunctions — Eklenti işlevlerini döndürür
    • ReflectionExtension::getINIEntries — Eklentinin ini girdilerini döndürür
    • ReflectionExtension::getName — Eklenti ismini döndürür
    • ReflectionExtension::getVersion — Eklentinin sürüm bilgisini döndürür
    • ReflectionExtension::info — Eklenti bilgilerini basar
    • ReflectionExtension::isPersistent — Returns whether this extension is persistent
    • ReflectionExtension::isTemporary — Returns whether this extension is temporary
    • ReflectionExtension::__toString — Dizgesel tepkiyi görselleştirir
  • ReflectionFunction — ReflectionFunction Sınıfı
    • ReflectionFunction::__construct — Bir ReflectionFunction nesnesi oluşturur
    • ReflectionFunction::export — İşlevi ihraç eder
    • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
    • ReflectionFunction::invoke — İşlevi çağırır
    • ReflectionFunction::invokeArgs — İşlev bağımsız değişkenlerini çağırır
    • ReflectionFunction::isAnonymous — Checks if a function is anonymous
    • ReflectionFunction::isDisabled — İşlevin iptal edilip edilmediğine bakar
    • ReflectionFunction::__toString — İşlevin bağımsız değişken satırını dizgeleştirerek döndürür
  • ReflectionFunctionAbstract — ReflectionFunctionAbstract sınıfı
    • ReflectionFunctionAbstract::__clone — İşlevi kopyalar
    • ReflectionFunctionAbstract::getAttributes — Gets Attributes
    • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope class associated with the closure
    • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getClosureUsedVariables — Returns an array of the used variables in the Closure
    • ReflectionFunctionAbstract::getDocComment — Belgelendirici açıklamaları döndürür
    • ReflectionFunctionAbstract::getEndLine — Son satır numarasını döndürür
    • ReflectionFunctionAbstract::getExtension — Eklenti bilgilerini döndürür
    • ReflectionFunctionAbstract::getExtensionName — Eklenti ismini döndürür
    • ReflectionFunctionAbstract::getFileName — İşlevin tanımladığı dosyanın ismini döndürür
    • ReflectionFunctionAbstract::getName — İşlev ismini döndürür
    • ReflectionFunctionAbstract::getNamespaceName — İsim alanı adını döndürür
    • ReflectionFunctionAbstract::getNumberOfParameters — Bağımsız değişken sayısını döndürür
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Zorunlu bağımsız değişken sayısını döndürür
    • ReflectionFunctionAbstract::getParameters — Bağımsız değişkenleri döndürür
    • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName — İşlevin kısa ismini döndürür
    • ReflectionFunctionAbstract::getStartLine — Başlangıç satır numarasını döndürür
    • ReflectionFunctionAbstract::getStaticVariables — Duruk değişkenleri döndürür
    • ReflectionFunctionAbstract::getTentativeReturnType — Returns the tentative return type associated with the function
    • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
    • ReflectionFunctionAbstract::hasTentativeReturnType — Returns whether the function has a tentative return type
    • ReflectionFunctionAbstract::inNamespace — İşlev isim alanına ait mi diye bakar
    • ReflectionFunctionAbstract::isClosure — Bir anonim işlev mi diye bakar
    • ReflectionFunctionAbstract::isDeprecated — Kullanımı önerilmiyor mu diye bakar
    • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal — İşlev yerleşik mi diye bakar
    • ReflectionFunctionAbstract::isStatic — Checks if the function is static
    • ReflectionFunctionAbstract::isUserDefined — İşlev kullanıcı tanımlı bir işlev mi diye bakar
    • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference — İşlev dönüş değeri gönderimli mi diye bakar
    • ReflectionFunctionAbstract::__toString — Nesnenin dizgesel tepkisini görselleştirir
  • ReflectionMethod — ReflectionMethod Sınıfı
    • ReflectionMethod::__construct — Yeni bir ReflectionMethod nesnesi oluşturur
    • ReflectionMethod::createFromMethodName — Creates a new ReflectionMethod
    • ReflectionMethod::export — Bir yöntem ihraç eder
    • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass — Yansıtılan yöntemin bildirildiği sınıfı döndürür
    • ReflectionMethod::getModifiers — Erişim değiştiricileri döndürür
    • ReflectionMethod::getPrototype — Yöntem bildirimini (varsa) döndürür
    • ReflectionMethod::hasPrototype — Returns whether a method has a prototype
    • ReflectionMethod::invoke — Yöntemi çağırır
    • ReflectionMethod::invokeArgs — Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır
    • ReflectionMethod::isAbstract — Yöntem soyut mu diye bakar
    • ReflectionMethod::isConstructor — Yöntem bir kurucu mu diye bakar
    • ReflectionMethod::isDestructor — Yöntem bir yıkıcı mı diye bakar
    • ReflectionMethod::isFinal — Yöntem final olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isPrivate — Yöntem private olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isProtected — Yöntem protected olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isPublic — Yöntem public olarak mı bildirilmiş diye bakar
    • ReflectionMethod::setAccessible — Set method accessibility
    • ReflectionMethod::__toString — Yansıtılan yöntemin dizgesel gösterimini döndürür
  • ReflectionNamedType — ReflectionNamedType sınıfı
    • ReflectionNamedType::getName — Get the name of the type as a string
    • ReflectionNamedType::isBuiltin — Checks if it is a built-in type
  • ReflectionObject — ReflectionObject Sınıfı
    • ReflectionObject::__construct — Bir ReflectionObject nesnesi oluşturur
    • ReflectionObject::export — Sınıfı ihraç eder
  • ReflectionParameter — ReflectionParameter Sınıfı
    • ReflectionParameter::allowsNull — null değere izin veriliyor mu diye bakar
    • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
    • ReflectionParameter::__clone — Nesneyi kopyalar
    • ReflectionParameter::__construct — Bir ReflectionParameter nesnesi oluşturur
    • ReflectionParameter::export — Sınıfı ihraç eder
    • ReflectionParameter::getAttributes — Gets Attributes
    • ReflectionParameter::getClass — Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür
    • ReflectionParameter::getDeclaringClass — Bildiren sınıfı döndürür
    • ReflectionParameter::getDeclaringFunction — Bildiren işlevi döndürür
    • ReflectionParameter::getDefaultValue — Bağımsız değişkenin öntanımlı değerini döndürür
    • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName — Bağımsız değişkenin ismini döndürür
    • ReflectionParameter::getPosition — Bağımsız değişkenin konumunu döndürür
    • ReflectionParameter::getType — Gets a parameter's type
    • ReflectionParameter::hasType — Checks if parameter has a type
    • ReflectionParameter::isArray — Bağımsız değişken değeri bir dizi mi olacak diye bakar
    • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable — Öntanımlı bir değerin kullanılabilir olup olmadığına bakar
    • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant
    • ReflectionParameter::isOptional — Bağımsız değişken seçimlik mi diye bakar
    • ReflectionParameter::isPassedByReference — Bağımsız değişken gönderimli aktarılabilir mi diye bakar
    • ReflectionParameter::isVariadic — Checks if the parameter is variadic
    • ReflectionParameter::__toString — Dizgesel tepkiyi görselleştirir
  • ReflectionProperty — ReflectionProperty Sınıfı
    • ReflectionProperty::__clone — Özelliği kopyalar
    • ReflectionProperty::__construct — Bir ReflectionProperty nesnesi oluşturur
    • ReflectionProperty::export — Özelliği ihraç eder
    • ReflectionProperty::getAttributes — Gets Attributes
    • ReflectionProperty::getDeclaringClass — Bildiren sınıfı döndürür
    • ReflectionProperty::getDefaultValue — Returns the default value declared for a property
    • ReflectionProperty::getDocComment — Özellik açıklamalarını döndürür
    • ReflectionProperty::getModifiers — Erişim değiştiricileri döndürür
    • ReflectionProperty::getName — Özelliğin ismini döndürür
    • ReflectionProperty::getType — Gets a property's type
    • ReflectionProperty::getValue — Özelliğin değerini döndürür
    • ReflectionProperty::hasDefaultValue — Checks if property has a default value declared
    • ReflectionProperty::hasType — Checks if property has a type
    • ReflectionProperty::isDefault — Özellik öntanımlı mı diye bakar
    • ReflectionProperty::isInitialized — Checks whether a property is initialized
    • ReflectionProperty::isPrivate — Özellik private olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isPromoted — Checks if property is promoted
    • ReflectionProperty::isProtected — Özellik protected olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isPublic — Özellik public olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isReadOnly — Checks if property is readonly
    • ReflectionProperty::isStatic — Özellik duruk mu diye bakar
    • ReflectionProperty::setAccessible — Özelliği erişilebilir kılar
    • ReflectionProperty::setValue — Özelliğe değer atar
    • ReflectionProperty::__toString — Dizgesel gösterimi döndürür
  • ReflectionType — ReflectionType sınıfı
    • ReflectionType::allowsNull — Checks if null is allowed
    • ReflectionType::__toString — To string
  • ReflectionUnionType — ReflectionUnionType sınıfı
    • ReflectionUnionType::getTypes — Returns the types included in the union type
  • ReflectionGenerator — ReflectionGenerator sınıfı
    • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
    • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction — Gets the function name of the generator
    • ReflectionGenerator::getThis — Gets the $this value of the generator
    • ReflectionGenerator::getTrace — Gets the trace of the executing generator
  • ReflectionFiber — ReflectionFiber sınıfı
    • ReflectionFiber::__construct — Constructs a ReflectionFiber object
    • ReflectionFiber::getCallable — Gets the callable used to create the Fiber
    • ReflectionFiber::getExecutingFile — Get the file name of the current execution point
    • ReflectionFiber::getExecutingLine — Get the line number of the current execution point
    • ReflectionFiber::getFiber — Get the reflected Fiber instance
    • ReflectionFiber::getTrace — Get the backtrace of the current execution point
  • ReflectionIntersectionType — ReflectionIntersectionType sınıfı
    • ReflectionIntersectionType::getTypes — Returns the types included in the intersection type
  • ReflectionReference — ReflectionReference sınıfı
    • ReflectionReference::__construct — Private constructor to disallow direct instantiation
    • ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element
    • ReflectionReference::getId — Get unique ID of a reference
  • ReflectionAttribute — ReflectionAttribute sınıfı
    • ReflectionAttribute::__construct — Private constructor to disallow direct instantiation
    • ReflectionAttribute::getArguments — Gets arguments passed to attribute
    • ReflectionAttribute::getName — Gets attribute name
    • ReflectionAttribute::getTarget — Returns the target of the attribute as bitmask
    • ReflectionAttribute::isRepeated — Returns whether the attribute of this name has been repeated on a code element
    • ReflectionAttribute::newInstance — Instantiates the attribute class represented by this ReflectionAttribute class and arguments
  • Reflector — Reflector Arayüzü
    • Reflector::export — Sınıfı ihraç eder
  • ReflectionException — ReflectionException Sınıfı


Giriş

PHP, sınıflar, arayüzler, işlevler, yöntemler ve hatta eklentiler üzerinde içgözlem yapabilmeyi sağlayan eksiksiz bir yansıtma arayüzü ile gelmektedir. Buna ek olarak, yansıtma arayüzü, işlevler, sınıflar ve yöntemler için belgeleme açıklamalarının elde edilmesini sağlayan yollar içerir.

Şuna dikkat edin: Reflection eklentisi ile çalışmak için gereken kod, dahili API'nin bazı parçalarında eksiktir. Örn, özellikler için yansıtma verisi, dahili PHP sınıfında eksik olabilir. Bu birkaç durum hata olarak kabul edilir, ancak, yine de keşfedilmeleri ve düzeltilmeleri gerekir.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • Reflection
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Her sınıfın kendi sabitleri vardır.


Örnekler

Reflection eklentisinin belgelerinde bir çok örnek vardır ve genellikle bunlar her sınıfın kurucusunun belgesinde yer almaktadır.

Örnek 1 - Reflection eklentisinin kabuktan kullanımı

$ php --rf strlen
$ php --rc finfo
$ php --re json
$ php --ri dom

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Function [ <internal:Core> function strlen ] {

  - Parameters [1] {
    Parameter #0 [ <required> $str ]
  }
}

Class [ <internal:fileinfo> class finfo ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [0] {
  }

  - Methods [4] {
    Method [ <internal:fileinfo, ctor> public method finfo ] {

      - Parameters [2] {
        Parameter #0 [ <optional> $options ]
        Parameter #1 [ <optional> $arg ]
      }
    }

    Method [ <internal:fileinfo> public method set_flags ] {

      - Parameters [1] {
        Parameter #0 [ <required> $options ]
      }
    }

    Method [ <internal:fileinfo> public method file ] {

      - Parameters [3] {
        Parameter #0 [ <required> $filename ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }

    Method [ <internal:fileinfo> public method buffer ] {

      - Parameters [3] {
        Parameter #0 [ <required> $string ]
        Parameter #1 [ <optional> $options ]
        Parameter #2 [ <optional> $context ]
      }
    }
  }
}

Extension [ <persistent> extension #23 json version 1.2.1 ] {

  - Constants [10] {
    Constant [ integer JSON_HEX_TAG ] { 1 }
    Constant [ integer JSON_HEX_AMP ] { 2 }
    Constant [ integer JSON_HEX_APOS ] { 4 }
    Constant [ integer JSON_HEX_QUOT ] { 8 }
    Constant [ integer JSON_FORCE_OBJECT ] { 16 }
    Constant [ integer JSON_ERROR_NONE ] { 0 }
    Constant [ integer JSON_ERROR_DEPTH ] { 1 }
    Constant [ integer JSON_ERROR_STATE_MISMATCH ] { 2 }
    Constant [ integer JSON_ERROR_CTRL_CHAR ] { 3 }
    Constant [ integer JSON_ERROR_SYNTAX ] { 4 }
  }

  - Functions {
    Function [ <internal:json> function json_encode ] {

      - Parameters [2] {
        Parameter #0 [ <required> $value ]
        Parameter #1 [ <optional> $options ]
      }
    }
    Function [ <internal:json> function json_decode ] {

      - Parameters [3] {
        Parameter #0 [ <required> $json ]
        Parameter #1 [ <optional> $assoc ]
        Parameter #2 [ <optional> $depth ]
      }
    }
    Function [ <internal:json> function json_last_error ] {

      - Parameters [0] {
      }
    }
  }
}

dom

DOM/XML => enabled
DOM/XML API Version => 20031129
libxml Version => 2.7.3
HTML Support => enabled
XPath Support => enabled
XPointer Support => enabled
Schema Support => enabled
RelaxNG Support => enabled


Yansıtma Sınıflarının Genişletilmesi

Yerleşik sınıfların özelleştirilmiş sürümlerini oluşturmak istediğiniz takdirde (yöntemler yerine üye değişkenlere kolayca erişmek veya aracı yöntemlere sahip olmak ya da renkli HTML sürümünü oluşturmak istiyorsunuz diyelim), baştan sona hepsini genişletebilirsiniz.

Örnek 1 - Yerleşik sınıfların genişletilmesi

<?php
/**
* Kendi Reflection_Method sınıfımız
*/
class My_Reflection_Method extends ReflectionMethod
{
public $visibility = array();

public function __construct($o, $m)
{
parent::__construct($o, $m);
$this->visibility = Reflection::getModifierNames($this->getModifiers());
}
}

/**
* Sınıf denemesi 1
*
*/
class T {
protected function x() {}
}

/**
* Sınıf denemesi 2
*
*/
class U extends T {
function x() {}
}

// Bilgiler görelim
var_dump(new My_Reflection_Method('U', 'x'));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(My_Reflection_Method)#1 (3) {
  ["visibility"]=>
  array(1) {
    [0]=>
    string(6) "public"
  }
  ["name"]=>
  string(1) "x"
  ["class"]=>
  string(1) "U"
}
Dikkat

Kurucunun üzerine yazıyorsanız, herhangi bir kod yazmadan önce ebeveynin kurucusunu çağırmayı unutmayın. Bunu yapmazsanız şöyle bir sonuç alırsınız: Fatal error: Internal error: Failed to retrieve the reflection object Türkçesi: Ölümcül hata: Dahili hata: reflection nesnesi alınamadı


Reflection Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Yansıtma sınıfı.

Sınıf Sözdizimi

class Reflection {
/* Yöntemler */
public static export(Reflector $reflector, bool $return = false): string
public static getModifierNames(int $modifiers): array
}

İçindekiler

  • Reflection::export — Sınıfı ihraç eder
  • Reflection::getModifierNames — Değiştirici isimlerini döndürür


Sınıfı ihraç eder

  • « Reflection
  • Reflection::getModifierNames »
  • PHP Manual
  • Reflection
  • Sınıfı ihraç eder

Reflection::export

(PHP 5, PHP 7)

Reflection::export — Sınıfı ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static Reflection::export(Reflector $reflector, bool $return = false): string

Bir sınıfı ihraceder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

reflector

İhraç edilecek Reflection nesnesi.

return

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Ayrıca Bakınız

  • Reflection::getModifierNames() - Değiştirici isimlerini döndürür


Değiştirici isimlerini döndürür

  • « Reflection::export
  • ReflectionClass »
  • PHP Manual
  • Reflection
  • Değiştirici isimlerini döndürür

Reflection::getModifierNames

(PHP 5, PHP 7, PHP 8)

Reflection::getModifierNames — Değiştirici isimlerini döndürür

Açıklama

public static Reflection::getModifierNames(int $modifiers): array

Değiştirici isimlerini döndürür.

Bağımsız Değişkenler

modifiers

Döndürülecek değiştiricilerin bitsel VEYAlanmış değeri.

Dönen Değerler

Değiştirici isimlerini içeren bir dizi.

Örnekler

Örnek 1 - Reflection::getModifierNames() örneği

<?php
class Testing
{
final public static function foo()
{
return;
}

public function bar()
{
return;
}
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "foo() yöntemi için değiştiriciler:\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "bar() yöntemi için değiştiriciler:\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo() yöntemi için değiştiriciler:
49
final public static
bar() yöntemi için değiştiriciler:
1
public

Ayrıca Bakınız

  • ReflectionClass::getModifiers() - Sınıf değiştiricilerini döndürür
  • ReflectionClassConstant::getModifiers() - Gets the class constant modifiers
  • ReflectionMethod::getModifiers() - Erişim değiştiricileri döndürür
  • ReflectionProperty::getModifiers() - Erişim değiştiricileri döndürür


ReflectionClass Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionClass sınıfı bir sınıf hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionClass implements Reflector {
/* Sabitler */
public const int IS_IMPLICIT_ABSTRACT;
public const int IS_EXPLICIT_ABSTRACT;
public const int IS_FINAL;
public const int IS_READONLY;
/* Özellikler */
public string $name;
/* Yöntemler */
public __construct(object|string $objectOrClass)
public static export(mixed $bağımsız_değişken, bool $return = false): string
public getAttributes(?string $name = null, int $flags = 0): array
public getConstant(string $isim): mixed
public getConstants(?int $filter = null): array
public getConstructor(): ?ReflectionMethod
public getDefaultProperties(): array
public getDocComment(): string|false
public getEndLine(): int|false
public getExtension(): ?ReflectionExtension
public getExtensionName(): string|false
public getFileName(): string|false
public getInterfaceNames(): array
public getInterfaces(): array
public getMethod(string $isim): ReflectionMethod
public getMethods(?int $süzgeç = null): array
public getModifiers(): int
public getName(): string
public getNamespaceName(): string
public getParentClass(): ReflectionClass|false
public getProperties(?int $süzgeç = null): array
public getProperty(string $isim): ReflectionProperty
public getReflectionConstant(string $name): ReflectionClassConstant|false
public getReflectionConstants(?int $filter = null): array
public getShortName(): string
public getStartLine(): int|false
public getStaticProperties(): ?array
public getStaticPropertyValue(string $isim, mixed &$öntanımlı = ?): mixed
public getTraitAliases(): array
public getTraitNames(): array
public getTraits(): array
public hasConstant(string $isim): bool
public hasMethod(string $isim): bool
public hasProperty(string $isim): bool
public implementsInterface(ReflectionClass|string $interface): bool
public inNamespace(): bool
public isAbstract(): bool
public isAnonymous(): bool
public isCloneable(): bool
public isEnum(): bool
public isFinal(): bool
public isInstance(string $nesne): bool
public isInstantiable(): bool
public isInterface(): bool
public isInternal(): bool
public isIterable(): bool
public isReadOnly(): bool
public isSubclassOf(ReflectionClass|string $class): bool
public isTrait(): bool
public isUserDefined(): bool
public newInstance(mixed $bağımsız_değişkenler): object
public newInstanceArgs(array $bağımsız_değişkenler = []): ?object
public newInstanceWithoutConstructor(): object
public setStaticPropertyValue(string $isim, mixed $değer): void
public __toString(): string
}

Özellikler

name

Sınıfın ismi. Salt-okunur olup, yazılmaya çalışılırsa ReflectionException istisnası oluşur.

Öntanımlı Sabitler

ReflectionClass Değiştiricileri

ReflectionClass::IS_IMPLICIT_ABSTRACT

Bazı soyut yöntemler içerdiğinden sınıfın soyut olduğunu belirtir.

ReflectionClass::IS_EXPLICIT_ABSTRACT

Sınıfın tanımından dolayı soyut olduğunu belirtir.

ReflectionClass::IS_FINAL

Sınıfın bir final sınıf olduğunu belirtir.

ReflectionClass::IS_READONLY

Sınıfın salt okunur olduğunu belirtir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionClass::export() kaldırıldı.

İçindekiler

  • ReflectionClass::__construct — Bir ReflectionClass nesnesi oluşturur
  • ReflectionClass::export — Bir sınıf ihraç eder
  • ReflectionClass::getAttributes — Gets Attributes
  • ReflectionClass::getConstant — Tanımlı sabiti döndürür
  • ReflectionClass::getConstants — Sabitleri döndürür
  • ReflectionClass::getConstructor — Sınıfın kurucusunu döndürür
  • ReflectionClass::getDefaultProperties — Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür
  • ReflectionClass::getDocComment — Belgelendirici açıklamaları döndürür
  • ReflectionClass::getEndLine — Son satırın numarasını döndürür
  • ReflectionClass::getExtension — Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür
  • ReflectionClass::getExtensionName — Sınıfı tanımlayan eklentinin ismini döndürür
  • ReflectionClass::getFileName — Sınıfın tanımlandığı dosyanın adını döndürür
  • ReflectionClass::getInterfaceNames — Arayüz isimlerini döndürür
  • ReflectionClass::getInterfaces — Arayüzleri döndürür
  • ReflectionClass::getMethod — Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür
  • ReflectionClass::getMethods — Yöntemleri dizi olarak döndürür
  • ReflectionClass::getModifiers — Sınıf değiştiricilerini döndürür
  • ReflectionClass::getName — Sınıf ismini döndürür
  • ReflectionClass::getNamespaceName — İsim alanı ismini döndürür
  • ReflectionClass::getParentClass — Ebeveyn sınıfı döndürür
  • ReflectionClass::getProperties — Özellikleri döndürür
  • ReflectionClass::getProperty — Bir sınıf özelliği için bir ReflectionProperty döndürür
  • ReflectionClass::getReflectionConstant — Bir sınıfın sabiti için ReflectionClassConstant sınıfı
  • ReflectionClass::getReflectionConstants — Sınıf sabitlerini döndürür
  • ReflectionClass::getShortName — Kısa adı döndürür
  • ReflectionClass::getStartLine — Başlangıç satır numarasını döndürür
  • ReflectionClass::getStaticProperties — Duruk özellikleri döndürür
  • ReflectionClass::getStaticPropertyValue — Duruk özelliğin değerini döndürür
  • ReflectionClass::getTraitAliases — Returns an array of trait aliases
  • ReflectionClass::getTraitNames — Returns an array of names of traits used by this class
  • ReflectionClass::getTraits — Returns an array of traits used by this class
  • ReflectionClass::hasConstant — Sabit tanımlı mı diye bakar
  • ReflectionClass::hasMethod — Yöntem tanımlı mı diye bakar
  • ReflectionClass::hasProperty — Özellik tanımlı mı diye bakar
  • ReflectionClass::implementsInterface — Arayüz gerçeklenmiş mi diye bakar
  • ReflectionClass::inNamespace — Sınıf isim alanında mı diye bakar
  • ReflectionClass::isAbstract — Sınıf soyut mu diye bakar
  • ReflectionClass::isAnonymous — Checks if class is anonymous
  • ReflectionClass::isCloneable — Returns whether this class is cloneable
  • ReflectionClass::isEnum — Returns whether this is an enum
  • ReflectionClass::isFinal — Sınıf bir final sınıf mı diye bakar
  • ReflectionClass::isInstance — Sınıf bir nesne örneği mi diye bakar
  • ReflectionClass::isInstantiable — Sınıf örneklenebilir mi diye bakar
  • ReflectionClass::isInterface — Nesne bir arayüz mü diye bakar
  • ReflectionClass::isInternal — Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar
  • ReflectionClass::isIterable — Sınıf yinelenebilir mi diye bakar
  • ReflectionClass::isIterateable — ReflectionClass::isIterable için takma ada
  • ReflectionClass::isReadOnly — Checks if class is readonly
  • ReflectionClass::isSubclassOf — Sınıf bir alt sınıf mı diye bakar
  • ReflectionClass::isTrait — Returns whether this is a trait
  • ReflectionClass::isUserDefined — Sınıf bir kullanıcı tanımlı sınıf mı diye bakar
  • ReflectionClass::newInstance — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
  • ReflectionClass::newInstanceArgs — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
  • ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor
  • ReflectionClass::setStaticPropertyValue — Statik özelliğe değer atar
  • ReflectionClass::__toString — ReflectionClass nesnesinin dizgesel gösterimini döndürür


Bir ReflectionClass nesnesi oluşturur

  • « ReflectionClass
  • ReflectionClass::export »
  • PHP Manual
  • ReflectionClass
  • Bir ReflectionClass nesnesi oluşturur

ReflectionClass::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionClass::__construct — Bir ReflectionClass nesnesi oluşturur

Açıklama

public ReflectionClass::__construct(object|string $objectOrClass)

Yeni bir ReflectionClass nesnesi oluşturur.

Bağımsız Değişkenler

objectOrClass

Yansıtılacak sınıfın ismini içeren bir dizge veya nesne.

Hatalar/İstisnalar

Yansıtılacak sınıf mevcut değilse bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - Temel kullanım örneği

<?php
$reflection = new ReflectionClass('Exception');
echo $reflection;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Class [ <internal:Core> class Exception implements Stringable, Throwable ]  {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ protected $message = '' ]
    Property [ private string $string = '' ]
    Property [ protected $code = 0 ]
    Property [ protected string $file = '' ]
    Property [ protected int $line = 0 ]
    Property [ private array $trace = [] ]
    Property [ private ?Throwable $previous = NULL ]
  }

  - Methods [11] {
    Method [ <internal:Core> private method __clone ] {

      - Parameters [0] {
      }
      - Return [ void ]
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> string $message = "" ]
        Parameter #1 [ <optional> int $code = 0 ]
        Parameter #2 [ <optional> ?Throwable $previous = null ]
      }
    }

    Method [ <internal:Core> public method __wakeup ] {

      - Parameters [0] {
      }
      - Tentative return [ void ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getMessage ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getCode ] {

      - Parameters [0] {
      }
    }

    Method [ <internal:Core, prototype Throwable> final public method getFile ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getLine ] {

      - Parameters [0] {
      }
      - Return [ int ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getTrace ] {

      - Parameters [0] {
      }
      - Return [ array ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getPrevious ] {

      - Parameters [0] {
      }
      - Return [ ?Throwable ]
    }

    Method [ <internal:Core, prototype Throwable> final public method getTraceAsString ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }

    Method [ <internal:Core, prototype Stringable> public method __toString ] {

      - Parameters [0] {
      }
      - Return [ string ]
    }
  }
}

Ayrıca Bakınız

  • ReflectionObject::__construct() - Bir ReflectionObject nesnesi oluşturur
  • Kurucular


Bir sınıf ihraç eder

  • « ReflectionClass::__construct
  • ReflectionClass::getAttributes »
  • PHP Manual
  • ReflectionClass
  • Bir sınıf ihraç eder

ReflectionClass::export

(PHP 5, PHP 7)

ReflectionClass::export — Bir sınıf ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionClass::export(mixed $bağımsız_değişken, bool $return = false): string

Bir yansıtıcı sınıfı ihraç eder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

bağımsız_değişken

İhraç edilecek Reflection nesnesi.

return

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Örnekler

Örnek 1 - ReflectionClass::export() temel kullanım örneği

<?php
class Apple {
public $var1;
public $var2 = 'Orange';

public function type() {
return 'Apple';
}
}
ReflectionClass::export('Apple');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Class [ <user> class Apple ] {
  @@ php shell code 1-8

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [2] {
    Property [ <default> public $var1 ]
    Property [ <default> public $var2 ]
  }

  - Methods [1] {
    Method [ <user> public method type ] {
      @@ php shell code 5 - 7
    }
  }
}

Ayrıca Bakınız

  • ReflectionClass::getName() - Sınıf ismini döndürür
  • ReflectionClass::__toString() - ReflectionClass nesnesinin dizgesel gösterimini döndürür


Gets Attributes

  • « ReflectionClass::export
  • ReflectionClass::getConstant »
  • PHP Manual
  • ReflectionClass
  • Gets Attributes

ReflectionClass::getAttributes

(PHP 8)

ReflectionClass::getAttributes — Gets Attributes

Açıklama

public ReflectionClass::getAttributes(?string $name = null, int $flags = 0): array

Returns all attributes declared on this class as an array of ReflectionAttribute.

Bağımsız Değişkenler

name

Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

flags

Flags for determining how to filter the results, if name is provided.

Default is 0 which will only return results for attributes that are of the class name.

The only other option available, is to use ReflectionAttribute::IS_INSTANCEOF, which will instead use instanceof for filtering.

Dönen Değerler

Array of attributes, as a ReflectionAttribute object.

Örnekler

Örnek 1 Basic usage

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

#[Fruit]
#[Red]
class Apple {
}

$class = new ReflectionClass('Apple');
$attributes = $class->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 2 Filtering results by class name

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

#[Fruit]
#[Red]
class Apple {
}

$class = new ReflectionClass('Apple');
$attributes = $class->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
)

Örnek 3 Filtering results by class name, with inheritance

<?php
interface Color {
}

#[Attribute]
class Fruit {
}

#[Attribute]
class Red implements Color {
}

#[Fruit]
#[Red]
class Apple {
}

$class = new ReflectionClass('Apple');
$attributes = $class->getAttributes(Color::class, ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Red
)

Ayrıca Bakınız

  • ReflectionClassConstant::getAttributes() - Gets Attributes
  • ReflectionFunctionAbstract::getAttributes() - Gets Attributes
  • ReflectionParameter::getAttributes() - Gets Attributes
  • ReflectionProperty::getAttributes() - Gets Attributes


Tanımlı sabiti döndürür

  • « ReflectionClass::getAttributes
  • ReflectionClass::getConstants »
  • PHP Manual
  • ReflectionClass
  • Tanımlı sabiti döndürür

ReflectionClass::getConstant

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getConstant — Tanımlı sabiti döndürür

Açıklama

public ReflectionClass::getConstant(string $isim): mixed

Tanımlı sabiti döndürür.

Bağımsız Değişkenler

isim

Döndürülecek sabitin ismi.

Dönen Değerler

isim ile ismi belirtilen sabitin değeri. Sınıfta böyle bir sabit yoksa false döner.

Örnekler

Örnek 1 - ReflectionClass::getConstant() kullanımı

<?php

class Örnek {
const C1 = false;
const C2 = 'Ben bir sabitim';
}

$reflection = new ReflectionClass('Örnek');

var_dump($reflection->getConstant('C1'));
var_dump($reflection->getConstant('C2'));
var_dump($reflection->getConstant('C3'));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(15) "Ben bir sabitim"
bool(false)

Ayrıca Bakınız

  • ReflectionClass::getConstants() - Sabitleri döndürür


Sabitleri döndürür

  • « ReflectionClass::getConstant
  • ReflectionClass::getConstructor »
  • PHP Manual
  • ReflectionClass
  • Sabitleri döndürür

ReflectionClass::getConstants

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getConstants — Sabitleri döndürür

Açıklama

public ReflectionClass::getConstants(?int $filter = null): array

Görünürlüğüne aldırmadan, Sınıfın tanımlı sabitlerinin tamamını döndürür.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

filter

Seçimlik düzgeç. İstenen sabitin görünürlüklerini süzmek için. ReflectionClassConstant sabitleri kullanılarak yapılandırılır ve tüm sabit görünürlükleri öntanımlanır.

Dönen Değerler

Anahtarların sabit isimlerini, değerlerin sabit değerlerini içerdiği bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filter eklendi.

Ayrıca Bakınız

  • ReflectionClass::getConstant() - Tanımlı sabiti döndürür


Sınıfın kurucusunu döndürür

  • « ReflectionClass::getConstants
  • ReflectionClass::getDefaultProperties »
  • PHP Manual
  • ReflectionClass
  • Sınıfın kurucusunu döndürür

ReflectionClass::getConstructor

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getConstructor — Sınıfın kurucusunu döndürür

Açıklama

public ReflectionClass::getConstructor(): ?ReflectionMethod

Sınıf kurucusunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıfın kurucusunu yansıtan ReflectionMethod nesnesi. Sınıfın kurucusu yoksa null döner.

Örnekler

Örnek 1 - ReflectionClass::getConstructor() kullanımı

<?php
$class = new ReflectionClass('ReflectionClass');
$constructor = $class->getConstructor();
var_dump($constructor);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(11) "__construct"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ayrıca Bakınız

  • ReflectionClass::getName() - Sınıf ismini döndürür


Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür

  • « ReflectionClass::getConstructor
  • ReflectionClass::getDocComment »
  • PHP Manual
  • ReflectionClass
  • Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür

ReflectionClass::getDefaultProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getDefaultProperties — Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür

Açıklama

public ReflectionClass::getDefaultProperties(): array

Sınıfın öntanımlı özelliklerini döndürür.

Bilginize:

Bu yöntem dahili sınıflar üzerinde kullanılırsa sadece statik özellikleri döndürür. Bu yöntem kullanıcı tanımlı sınıflar üzerinde çalışırken statik bir yöntem özelliğinin öntanımlı değeri izlenemez.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Öntanımlı özellikleri içeren bir dizi; anahtar özelliğin ismini, değer özelliğin öntanımlı değerini, öntanımlı bir değer yoksa null içerir. İşlev statik ve statik olmayan özellik ayrımı yapmadığı gibi görünürlük değiştiricisini de hesaba katmaz.

Örnekler

Örnek 1 - ReflectionClass::getDefaultProperties() örneği

<?php
class Bar {
protected $inheritedProperty = 'inheritedDefault';
}

class Foo extends Bar {
public $property = 'propertyDefault';
private $privateProperty = 'privatePropertyDefault';
public static $staticProperty = 'staticProperty';
public $defaultlessProperty;
}

$reflectionClass = new ReflectionClass('Foo');
var_dump($reflectionClass->getDefaultProperties());
?>

Yukarıdaki örneğin çıktısı:

array(5) {
   ["staticProperty"]=>
   string(14) "staticProperty"
   ["property"]=>
   string(15) "propertyDefault"
   ["privateProperty"]=>
   string(22) "privatePropertyDefault"
   ["defaultlessProperty"]=>
   NULL
   ["inheritedProperty"]=>
   string(16) "inheritedDefault"
}

Ayrıca Bakınız

  • ReflectionClass::getProperties() - Özellikleri döndürür
  • ReflectionClass::getStaticProperties() - Duruk özellikleri döndürür
  • ReflectionClass::getProperty() - Bir sınıf özelliği için bir ReflectionProperty döndürür


Belgelendirici açıklamaları döndürür

  • « ReflectionClass::getDefaultProperties
  • ReflectionClass::getEndLine »
  • PHP Manual
  • ReflectionClass
  • Belgelendirici açıklamaları döndürür

ReflectionClass::getDocComment

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getDocComment — Belgelendirici açıklamaları döndürür

Açıklama

public ReflectionClass::getDocComment(): string|false

Sınıftaki belgelendirici açıklamaları döndürür. Belge açıklamaları /** ile başlar ve ardından bir boşluk gelir. Sınıf tanımının üzerinde çok sayıda belge açıklaması varsa sınıfa en yakın olanı alınır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Varsa belge açıklamaları, yoksa false döner.

Örnekler

Örnek 1 - ReflectionClass::getDocComment() örneği

<?php
/**
* A test class
*
* @param foo bar
* @return baz
*/
class TestClass { }

$rc = new ReflectionClass('TestClass');
var_dump($rc->getDocComment());
?>

Yukarıdaki örneğin çıktısı:

string(61) "/**
 * A test class
 *
 * @param  foo bar
 * @return baz
 */"

Ayrıca Bakınız

  • ReflectionClass::getName() - Sınıf ismini döndürür


Son satırın numarasını döndürür

  • « ReflectionClass::getDocComment
  • ReflectionClass::getExtension »
  • PHP Manual
  • ReflectionClass
  • Son satırın numarasını döndürür

ReflectionClass::getEndLine

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getEndLine — Son satırın numarasını döndürür

Açıklama

public ReflectionClass::getEndLine(): int|false

Bir kullanıcı tanımlı sınıfın son satırının numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir kullanıcı tanımlı sınıfın son satırının numarasını döndürür. Satır numarası bilinmiyorsa false döner.

Örnekler

Örnek 1 - ReflectionClass::getEndLine() örneği

<?php
// Test Class
class TestClass { }

$rc = new ReflectionClass('TestClass');

echo $rc->getEndLine();
?>

Yukarıdaki örneğin çıktısı:

3

Ayrıca Bakınız

  • ReflectionClass::getStartLine() - Başlangıç satır numarasını döndürür


Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür

  • « ReflectionClass::getEndLine
  • ReflectionClass::getExtensionName »
  • PHP Manual
  • ReflectionClass
  • Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür

ReflectionClass::getExtension

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getExtension — Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür

Açıklama

public ReflectionClass::getExtension(): ?ReflectionExtension

Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği veya kullanıcı tanımlı sınıflar için null döner.

Örnekler

Örnek 1 - ReflectionClass::getExtension() örneği

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtension();
var_dump($extension);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionExtension)#2 (1) {
  ["name"]=>
  string(10) "Reflection"
}

Ayrıca Bakınız

  • ReflectionClass::getExtensionName() - Sınıfı tanımlayan eklentinin ismini döndürür


Sınıfı tanımlayan eklentinin ismini döndürür

  • « ReflectionClass::getExtension
  • ReflectionClass::getFileName »
  • PHP Manual
  • ReflectionClass
  • Sınıfı tanımlayan eklentinin ismini döndürür

ReflectionClass::getExtensionName

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getExtensionName — Sınıfı tanımlayan eklentinin ismini döndürür

Açıklama

public ReflectionClass::getExtensionName(): string|false

Sınıfı tanımlayan eklentinin ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıfı tanımlayan eklentinin ismini veya kullanıcı tanımlı sınıflarda false döndürür.

Örnekler

Örnek 1 - ReflectionClass::getExtensionName() örneği

<?php
$class = new ReflectionClass('ReflectionClass');
$extension = $class->getExtensionName();
var_dump($extension);
?>

Yukarıdaki örneğin çıktısı:

string(10) "Reflection"

Ayrıca Bakınız

  • ReflectionClass::getExtension() - Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür


Sınıfın tanımlandığı dosyanın adını döndürür

  • « ReflectionClass::getExtensionName
  • ReflectionClass::getInterfaceNames »
  • PHP Manual
  • ReflectionClass
  • Sınıfın tanımlandığı dosyanın adını döndürür

ReflectionClass::getFileName

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getFileName — Sınıfın tanımlandığı dosyanın adını döndürür

Açıklama

public ReflectionClass::getFileName(): string|false

Sınıfın tanımlandığı dosyanın adını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıfın tanımlandığı dosyanın adını döndürür. Eğer sınıf PHP çekirdeğinde veya bir PHP eklentisinde tanımlanmışsa false döner.

Ayrıca Bakınız

  • ReflectionClass::getExtensionName() - Sınıfı tanımlayan eklentinin ismini döndürür


Arayüz isimlerini döndürür

  • « ReflectionClass::getFileName
  • ReflectionClass::getInterfaces »
  • PHP Manual
  • ReflectionClass
  • Arayüz isimlerini döndürür

ReflectionClass::getInterfaceNames

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionClass::getInterfaceNames — Arayüz isimlerini döndürür

Açıklama

public ReflectionClass::getInterfaceNames(): array

Arayüz isimlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Arayüz isimlerini bir sayısal indisli dizi olarak döndürür.

Örnekler

Örnek 1 - ReflectionClass::getInterfaceNames() örneği

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaceNames());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [0] => Foo
    [1] => Bar
)

Ayrıca Bakınız

  • ReflectionClass::getInterfaces() - Arayüzleri döndürür


Arayüzleri döndürür

  • « ReflectionClass::getInterfaceNames
  • ReflectionClass::getMethod »
  • PHP Manual
  • ReflectionClass
  • Arayüzleri döndürür

ReflectionClass::getInterfaces

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getInterfaces — Arayüzleri döndürür

Açıklama

public ReflectionClass::getInterfaces(): array

Arayüzleri döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Anahtarların arayüz isimlerini, değerlerin ise ReflectionClass nesnelerini içerdiği bir dizi döner.

Örnekler

Örnek 1 - ReflectionClass::getInterfaces() örneği

<?php
interface Foo { }

interface Bar { }

class Baz implements Foo, Bar { }

$rc1 = new ReflectionClass("Baz");

print_r($rc1->getInterfaces());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [Foo] => ReflectionClass Object
        (
            [name] => Foo
        )

    [Bar] => ReflectionClass Object
        (
            [name] => Bar
        )

)

Ayrıca Bakınız

  • ReflectionClass::getInterfaceNames() - Arayüz isimlerini döndürür


Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür

  • « ReflectionClass::getInterfaces
  • ReflectionClass::getMethods »
  • PHP Manual
  • ReflectionClass
  • Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür

ReflectionClass::getMethod

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethod — Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür

Açıklama

public ReflectionClass::getMethod(string $isim): ReflectionMethod

İsmi belirtilen yöntem için bir ReflectionMethod nesnesi döndürür

Bağımsız Değişkenler

isim

Bilgileri yansıtılacak yöntemin ismi.

Dönen Değerler

Bir ReflectionMethod nesnesi.

Hatalar/İstisnalar

Yöntem mevcut feğilse bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - ReflectionClass::getMethod() örneği

<?php
$class = new ReflectionClass('ReflectionClass');
$method = $class->getMethod('getMethod');
var_dump($method);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(9) "getMethod"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ayrıca Bakınız

  • ReflectionClass::getMethods() - Yöntemleri dizi olarak döndürür


Yöntemleri dizi olarak döndürür

  • « ReflectionClass::getMethod
  • ReflectionClass::getModifiers »
  • PHP Manual
  • ReflectionClass
  • Yöntemleri dizi olarak döndürür

ReflectionClass::getMethods

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getMethods — Yöntemleri dizi olarak döndürür

Açıklama

public ReflectionClass::getMethods(?int $süzgeç = null): array

Sınıfın yöntemlerini bir dizi olarak döndürür.

Bağımsız Değişkenler

süzgeç

Dizinin belirli öznitelikleri içeren yöntemleri içermesini sağlayacak süzgeç.

 ReflectionMethod::IS_STATIC,
 ReflectionMethod::IS_PUBLIC,
 ReflectionMethod::IS_PROTECTED,
 ReflectionMethod::IS_PRIVATE,
 ReflectionMethod::IS_ABSTRACT,
ReflectionMethod::IS_FINAL
 sabitlerinin bitsel VEYAsı; belirtilen özniteliklerden
 herhangi birini içeren her yöntem döndürülür.

Bilginize: ~ gibi diğer bitsel işlemler beklendiği gibi çalışmayabilir. Örneğin, statik olmayan yöntemlerin tamamını döndürmek mümkün olmaz.

Dönen Değerler

Her yöntemi yansıtan ReflectionMethod nesnelerininin bir dizisi.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | süzgeç artık null olabiliyor.

Örnekler

Örnek 1 - ReflectionClass::getMethods() temel kullanım örneği

<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods();
var_dump($methods);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(11) "firstMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [2]=>
  object(ReflectionMethod)#4 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Örnek 2 - ReflectionClass::getMethods() ve sonuçların süzülmesi

<?php
class Apple {
public function firstMethod() { }
final protected function secondMethod() { }
private static function thirdMethod() { }
}

$class = new ReflectionClass('Apple');
$methods = $class->getMethods(ReflectionMethod::IS_STATIC | ReflectionMethod::IS_FINAL);
var_dump($methods);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  object(ReflectionMethod)#2 (2) {
    ["name"]=>
    string(12) "secondMethod"
    ["class"]=>
    string(5) "Apple"
  }
  [1]=>
  object(ReflectionMethod)#3 (2) {
    ["name"]=>
    string(11) "thirdMethod"
    ["class"]=>
    string(5) "Apple"
  }
}

Ayrıca Bakınız

  • ReflectionClass::getMethod() - Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür
  • get_class_methods() - Sınıf yöntemlerinin isimlerini döndürür


Sınıf değiştiricilerini döndürür

  • « ReflectionClass::getMethods
  • ReflectionClass::getName »
  • PHP Manual
  • ReflectionClass
  • Sınıf değiştiricilerini döndürür

ReflectionClass::getModifiers

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getModifiers — Sınıf değiştiricilerini döndürür

Açıklama

public ReflectionClass::getModifiers(): int

Sınıfın erişim değiştiricilerinin bit maskesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Değiştici sabitlerinin bit maskesini döndürür.

Ayrıca Bakınız

  • ReflectionClass::getProperties() - Özellikleri döndürür
  • Reflection::getModifierNames() - Değiştirici isimlerini döndürür


Sınıf ismini döndürür

  • « ReflectionClass::getModifiers
  • ReflectionClass::getNamespaceName »
  • PHP Manual
  • ReflectionClass
  • Sınıf ismini döndürür

ReflectionClass::getName

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getName — Sınıf ismini döndürür

Açıklama

public ReflectionClass::getName(): string

Sınıf ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıf ismi.

Örnekler

Örnek 1 - ReflectionClass::getName() örneği

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ayrıca Bakınız

  • ReflectionClass::getNamespaceName() - İsim alanı ismini döndürür


İsim alanı ismini döndürür

  • « ReflectionClass::getName
  • ReflectionClass::getParentClass »
  • PHP Manual
  • ReflectionClass
  • İsim alanı ismini döndürür

ReflectionClass::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionClass::getNamespaceName — İsim alanı ismini döndürür

Açıklama

public ReflectionClass::getNamespaceName(): string

İsim alanı ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İsim alanı ismi.

Örnekler

Örnek 1 - ReflectionClass::getNamespaceName() örneği

<?php
namespace A\B;

class Foo { }

$class = new \ReflectionClass('stdClass');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());

$class = new \ReflectionClass('A\\B\\Foo');

var_dump($class->inNamespace());
var_dump($class->getName());
var_dump($class->getNamespaceName());
var_dump($class->getShortName());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ayrıca Bakınız

  • ReflectionClass::getParentClass() - Ebeveyn sınıfı döndürür
  • İsim Alanları


Ebeveyn sınıfı döndürür

  • « ReflectionClass::getNamespaceName
  • ReflectionClass::getProperties »
  • PHP Manual
  • ReflectionClass
  • Ebeveyn sınıfı döndürür

ReflectionClass::getParentClass

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getParentClass — Ebeveyn sınıfı döndürür

Açıklama

public ReflectionClass::getParentClass(): ReflectionClass|false

Ebeveyn sınıfı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionClass nesnesi veya ebeveyn sınıf yoksa false döner.

Ayrıca Bakınız

  • ReflectionClass::__construct() - Bir ReflectionClass nesnesi oluşturur


Özellikleri döndürür

  • « ReflectionClass::getParentClass
  • ReflectionClass::getProperty »
  • PHP Manual
  • ReflectionClass
  • Özellikleri döndürür

ReflectionClass::getProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getProperties — Özellikleri döndürür

Açıklama

public ReflectionClass::getProperties(?int $süzgeç = null): array

Yansıtılan özellikleri döndürür.

Bağımsız Değişkenler

süzgeç

İstenen özellik türlerini seçmek için seçimlik süzgeç. Öntanımlı olarak tüm özellik türlerini seçmeye ayarlı olup, ReflectionProperty sabitleri kullanılarak yapılandırılabilir.

Dönen Değerler

ReflectionProperty nesnelerini içeren bir dizi.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | süzgeç artık null olabiliyor.

Örnekler

Örnek 1 - ReflectionClass::getProperties() süzgeç örneği

Bu örnek isteğe bağlı süzgeç bağımsız değişkeninin özel nitelikleri atlayacak şekilde kullanımını gösterir.

<?php
class Foo {
public $foo = 1;
protected $bar = 2;
private $baz = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$props = $reflect->getProperties(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_PROTECTED);

foreach ($props as $prop) {
print $prop->getName() . "\n";
}

var_dump($props);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo
bar
array(2) {
  [0]=>
  object(ReflectionProperty)#3 (2) {
    ["name"]=>
    string(3) "foo"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionProperty)#4 (2) {
    ["name"]=>
    string(3) "bar"
    ["class"]=>
    string(3) "Foo"
  }
}

Ayrıca Bakınız

  • ReflectionClass::getProperty() - Bir sınıf özelliği için bir ReflectionProperty döndürür
  • ReflectionProperty
  • ReflectionProperty değiştirici sabitleri


Bir sınıf özelliği için bir ReflectionProperty döndürür

  • « ReflectionClass::getProperties
  • ReflectionClass::getReflectionConstant »
  • PHP Manual
  • ReflectionClass
  • Bir sınıf özelliği için bir ReflectionProperty döndürür

ReflectionClass::getProperty

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getProperty — Bir sınıf özelliği için bir ReflectionProperty döndürür

Açıklama

public ReflectionClass::getProperty(string $isim): ReflectionProperty

Bir sınıf özelliği için bir ReflectionProperty döndürür.

Bağımsız Değişkenler

isim

Özelliğin ismi.

Dönen Değerler

Bir ReflectionProperty nesnesi.

Örnekler

Örnek 1 - ReflectionClass::getProperty() örneği

<?php
$class = new ReflectionClass('ReflectionClass');
$property = $class->getProperty('name');
var_dump($property);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionProperty)#2 (2) {
  ["name"]=>
  string(4) "name"
  ["class"]=>
  string(15) "ReflectionClass"
}

Ayrıca Bakınız

  • ReflectionClass::getProperties() - Özellikleri döndürür


Bir sınıfın sabiti için ReflectionClassConstant sınıfı

  • « ReflectionClass::getProperty
  • ReflectionClass::getReflectionConstants »
  • PHP Manual
  • ReflectionClass
  • Bir sınıfın sabiti için ReflectionClassConstant sınıfı

ReflectionClass::getReflectionConstant

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClass::getReflectionConstant — Bir sınıfın sabiti için ReflectionClassConstant sınıfı

Açıklama

public ReflectionClass::getReflectionConstant(string $name): ReflectionClassConstant|false

Bir sınıfın özelliği için bir ReflectionClassConstant döndürür.

Bağımsız Değişkenler

name

Sınıf sabitinin ismi.

Dönen Değerler

Bir ReflectionClassConstant döner, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ReflectionClass::getReflectionConstants() - Sınıf sabitlerini döndürür
  • ReflectionClassConstant


Sınıf sabitlerini döndürür

  • « ReflectionClass::getReflectionConstant
  • ReflectionClass::getShortName »
  • PHP Manual
  • ReflectionClass
  • Sınıf sabitlerini döndürür

ReflectionClass::getReflectionConstants

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClass::getReflectionConstants — Sınıf sabitlerini döndürür

Açıklama

public ReflectionClass::getReflectionConstants(?int $filter = null): array

Yansıtılan sabitleri döndürür.

Bağımsız Değişkenler

filter

Seçimlik düzgeç. İstenen sabitin görünürlüklerini süzmek için. ReflectionClassConstant sabitleri kullanılarak yapılandırılır ve tüm sabit görünürlükleri öntanımlanır.

Dönen Değerler

ReflectionClassConstant nesnelerini içeren bir dizi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | filter eklendi.

Örnekler

Örnek 1 - Temel ReflectionClass::getReflectionConstants() örneği

<?php
class Foo {
public const FOO = 1;
protected const BAR = 2;
private const BAZ = 3;
}

$foo = new Foo();

$reflect = new ReflectionClass($foo);
$consts = $reflect->getReflectionConstants();

foreach ($consts as $const) {
print $const->getName() . "\n";
}

var_dump($consts);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

FOO
BAR
BAZ
array(3) {
  [0]=>
  object(ReflectionClassConstant)#3 (2) {
    ["name"]=>
    string(3) "FOO"
    ["class"]=>
    string(3) "Foo"
  }
  [1]=>
  object(ReflectionClassConstant)#4 (2) {
    ["name"]=>
    string(3) "BAR"
    ["class"]=>
    string(3) "Foo"
  }
  [2]=>
  object(ReflectionClassConstant)#5 (2) {
    ["name"]=>
    string(3) "BAZ"
    ["class"]=>
    string(3) "Foo"
  }
}

Ayrıca Bakınız

  • ReflectionClass::getReflectionConstant() - Bir sınıfın sabiti için ReflectionClassConstant sınıfı
  • ReflectionClassConstant


Kısa adı döndürür

  • « ReflectionClass::getReflectionConstants
  • ReflectionClass::getStartLine »
  • PHP Manual
  • ReflectionClass
  • Kısa adı döndürür

ReflectionClass::getShortName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionClass::getShortName — Kısa adı döndürür

Açıklama

public ReflectionClass::getShortName(): string

Sınıfın adını isim alanı parçası olmaksızın döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıfın kısa adı.

Örnekler

Örnek 1 - ReflectionClass::getShortName() örneği

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ayrıca Bakınız

  • ReflectionClass::getName() - Sınıf ismini döndürür


Başlangıç satır numarasını döndürür

  • « ReflectionClass::getShortName
  • ReflectionClass::getStaticProperties »
  • PHP Manual
  • ReflectionClass
  • Başlangıç satır numarasını döndürür

ReflectionClass::getStartLine

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getStartLine — Başlangıç satır numarasını döndürür

Açıklama

public ReflectionClass::getStartLine(): int|false

Başlangıç satır numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başlangıç satır numarasını bir tamsayı olarak döndürür. Bilinmiyorsa false döner.

Ayrıca Bakınız

  • ReflectionClass::getEndLine() - Son satırın numarasını döndürür


Duruk özellikleri döndürür

  • « ReflectionClass::getStartLine
  • ReflectionClass::getStaticPropertyValue »
  • PHP Manual
  • ReflectionClass
  • Duruk özellikleri döndürür

ReflectionClass::getStaticProperties

(PHP 5, PHP 7, PHP 8)

ReflectionClass::getStaticProperties — Duruk özellikleri döndürür

Açıklama

public ReflectionClass::getStaticProperties(): ?array

Statik özellikleri bir dizi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Statik özellikleri bir dizi içinde döndürür. Başarısızlık durumunda null döner.

Ayrıca Bakınız

  • ReflectionClass::getStaticPropertyValue() - Duruk özelliğin değerini döndürür
  • ReflectionClass::setStaticPropertyValue() - Statik özelliğe değer atar


Duruk özelliğin değerini döndürür

  • « ReflectionClass::getStaticProperties
  • ReflectionClass::getTraitAliases »
  • PHP Manual
  • ReflectionClass
  • Duruk özelliğin değerini döndürür

ReflectionClass::getStaticPropertyValue

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::getStaticPropertyValue — Duruk özelliğin değerini döndürür

Açıklama

public ReflectionClass::getStaticPropertyValue(string $isim, mixed &$öntanımlı = ?): mixed

Sınıfın statik özelliğinin değerini döndürür.

Bağımsız Değişkenler

isim

Değeri döndürülecek statik özelliğin ismi.

öntanımlı

Sınıf içinde isim adında statik bir özellik bildirilmediği durumda dönecek öntanımlı değer. Eğer özellik mevcut değilse ve bu bağımsız değişken de atlanmışsa bir ReflectionException yavrulanır.

Dönen Değerler

Statik özelliğin değeri.

Örnekler

Örnek 1 - ReflectionClass::getStaticPropertyValue() temel kullanım örneği

<?php
class Apple {
public static $color = 'Red';
}

$class = new ReflectionClass('Apple');
var_dump($class->getStaticPropertyValue('color'));
?>

Yukarıdaki örneğin çıktısı:

string(3) "Red"

Ayrıca Bakınız

  • ReflectionClass::getStaticProperties() - Duruk özellikleri döndürür
  • ReflectionClass::setStaticPropertyValue() - Statik özelliğe değer atar


Returns an array of trait aliases

  • « ReflectionClass::getStaticPropertyValue
  • ReflectionClass::getTraitNames »
  • PHP Manual
  • ReflectionClass
  • Returns an array of trait aliases

ReflectionClass::getTraitAliases

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::getTraitAliases — Returns an array of trait aliases

Açıklama

public ReflectionClass::getTraitAliases(): array

Get the array of trait method aliases defined in the current class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with new method names in keys and original names (in the format "TraitName::original") in values.


Returns an array of names of traits used by this class

  • « ReflectionClass::getTraitAliases
  • ReflectionClass::getTraits »
  • PHP Manual
  • ReflectionClass
  • Returns an array of names of traits used by this class

ReflectionClass::getTraitNames

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::getTraitNames — Returns an array of names of traits used by this class

Açıklama

public ReflectionClass::getTraitNames(): array

Get the names of the traits used by this class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with trait names in values.


Returns an array of traits used by this class

  • « ReflectionClass::getTraitNames
  • ReflectionClass::hasConstant »
  • PHP Manual
  • ReflectionClass
  • Returns an array of traits used by this class

ReflectionClass::getTraits

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::getTraits — Returns an array of traits used by this class

Açıklama

public ReflectionClass::getTraits(): array

Get the array of traits used by this class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array with trait names in keys and instances of trait's ReflectionClass in values. Returns null in case of an error.


Sabit tanımlı mı diye bakar

  • « ReflectionClass::getTraits
  • ReflectionClass::hasMethod »
  • PHP Manual
  • ReflectionClass
  • Sabit tanımlı mı diye bakar

ReflectionClass::hasConstant

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::hasConstant — Sabit tanımlı mı diye bakar

Açıklama

public ReflectionClass::hasConstant(string $isim): bool

Belirtilen sabit tanımlıysa true döner.

Bağımsız Değişkenler

isim

Bakılacak sabitin ismi.

Dönen Değerler

Sabit tanımlıysa true değilse false.

Örnekler

Örnek 1 - ReflectionClass::hasConstant() örneği

<?php
class Foo {
const c1 = 1;
}

$class = new ReflectionClass("Foo");

var_dump($class->hasConstant("c1"));
var_dump($class->hasConstant("c2"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionClass::hasMethod() - Yöntem tanımlı mı diye bakar
  • ReflectionClass::hasProperty() - Özellik tanımlı mı diye bakar


Yöntem tanımlı mı diye bakar

  • « ReflectionClass::hasConstant
  • ReflectionClass::hasProperty »
  • PHP Manual
  • ReflectionClass
  • Yöntem tanımlı mı diye bakar

ReflectionClass::hasMethod

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::hasMethod — Yöntem tanımlı mı diye bakar

Açıklama

public ReflectionClass::hasMethod(string $isim): bool

Belirtilen yöntem sınıfta tanımlı ise true döner.

Bağımsız Değişkenler

isim

Bakılacak yöntemin ismi.

Dönen Değerler

Yöntem tanımlı ise true yoksa false döner.

Örnekler

Örnek 1 - ReflectionClass::hasMethod() örneği

<?php
Class C {
public function publicFoo() {
return true;
}

protected function protectedFoo() {
return true;
}

private function privateFoo() {
return true;
}

static function staticFoo() {
return true;
}
}

$rc = new ReflectionClass("C");

var_dump($rc->hasMethod('publicFoo'));

var_dump($rc->hasMethod('protectedFoo'));

var_dump($rc->hasMethod('privateFoo'));

var_dump($rc->hasMethod('staticFoo'));

// bar diye bir yöntem olmaması lazım
var_dump($rc->hasMethod('bar'));

// Yöntem isimleri harf büyüklüğüne duyarsızdır
var_dump($rc->hasMethod('PUBLICfOO'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionClass::hasConstant() - Sabit tanımlı mı diye bakar
  • ReflectionClass::hasProperty() - Özellik tanımlı mı diye bakar


Özellik tanımlı mı diye bakar

  • « ReflectionClass::hasMethod
  • ReflectionClass::implementsInterface »
  • PHP Manual
  • ReflectionClass
  • Özellik tanımlı mı diye bakar

ReflectionClass::hasProperty

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::hasProperty — Özellik tanımlı mı diye bakar

Açıklama

public ReflectionClass::hasProperty(string $isim): bool

Belirtilen özellik tanımlıysa true döner.

Bağımsız Değişkenler

isim

Bakılacak özelliğin ismi.

Dönen Değerler

Özellik tanımlıysa true yoksa false döner.

Örnekler

Örnek 1 - ReflectionClass::hasProperty() örneği

<?php
class Foo {
public $p1;
protected $p2;
private $p3;

}

$obj = new ReflectionObject(new Foo());

var_dump($obj->hasProperty("p1"));
var_dump($obj->hasProperty("p2"));
var_dump($obj->hasProperty("p3"));
var_dump($obj->hasProperty("p4"));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionClass::hasConstant() - Sabit tanımlı mı diye bakar
  • ReflectionClass::hasMethod() - Yöntem tanımlı mı diye bakar


Arayüz gerçeklenmiş mi diye bakar

  • « ReflectionClass::hasProperty
  • ReflectionClass::inNamespace »
  • PHP Manual
  • ReflectionClass
  • Arayüz gerçeklenmiş mi diye bakar

ReflectionClass::implementsInterface

(PHP 5, PHP 7, PHP 8)

ReflectionClass::implementsInterface — Arayüz gerçeklenmiş mi diye bakar

Açıklama

public ReflectionClass::implementsInterface(ReflectionClass|string $interface): bool

Belirtilen arayüzü gerçeklenmişse true döner.

Bağımsız Değişkenler

arayüz

Bakılacak arayüzün ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

arayüz bir arayüz değilse bir ReflectionException yavrulanır.

Ayrıca Bakınız

  • ReflectionClass::isInterface() - Nesne bir arayüz mü diye bakar
  • ReflectionClass::isSubclassOf() - Sınıf bir alt sınıf mı diye bakar
  • interface_exists() - Arayüz tanımlı mı diye bakar
  • Nesne Arayüzleri


Sınıf isim alanında mı diye bakar

  • « ReflectionClass::implementsInterface
  • ReflectionClass::isAbstract »
  • PHP Manual
  • ReflectionClass
  • Sınıf isim alanında mı diye bakar

ReflectionClass::inNamespace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionClass::inNamespace — Sınıf isim alanında mı diye bakar

Açıklama

public ReflectionClass::inNamespace(): bool

Sınıf isim alanında tanımlıysa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::inNamespace() örneği

<?php
namespace A\B;

class Foo { }

$function = new \ReflectionClass('stdClass');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());

$function = new \ReflectionClass('A\\B\\Foo');

var_dump($function->inNamespace());
var_dump($function->getName());
var_dump($function->getNamespaceName());
var_dump($function->getShortName());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(8) "stdClass"
string(0) ""
string(8) "stdClass"

bool(true)
string(7) "A\B\Foo"
string(3) "A\B"
string(3) "Foo"

Ayrıca Bakınız

  • ReflectionClass::getNamespaceName() - İsim alanı ismini döndürür
  • İsim Alanları


Sınıf soyut mu diye bakar

  • « ReflectionClass::inNamespace
  • ReflectionClass::isAnonymous »
  • PHP Manual
  • ReflectionClass
  • Sınıf soyut mu diye bakar

ReflectionClass::isAbstract

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isAbstract — Sınıf soyut mu diye bakar

Açıklama

public ReflectionClass::isAbstract(): bool

Sınıf soyutsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isAbstract() örneği

<?php
class TestClass { }
abstract class TestAbstractClass { }

$testClass = new ReflectionClass('TestClass');
$abstractClass = new ReflectionClass('TestAbstractClass');

var_dump($testClass->isAbstract());
var_dump($abstractClass->isAbstract());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionClass::isInterface() - Nesne bir arayüz mü diye bakar
  • Class Abstraction


Checks if class is anonymous

  • « ReflectionClass::isAbstract
  • ReflectionClass::isCloneable »
  • PHP Manual
  • ReflectionClass
  • Checks if class is anonymous

ReflectionClass::isAnonymous

(PHP 7, PHP 8)

ReflectionClass::isAnonymous — Checks if class is anonymous

Açıklama

public ReflectionClass::isAnonymous(): bool

Checks if a class is an anonymous class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 ReflectionClass::isAnonymous() example

<?php
class TestClass {}
$anonClass = new class {};

$normalClass = new ReflectionClass('TestClass');
$anonClass = new ReflectionClass($anonClass);

var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionClass::isFinal() - Sınıf bir final sınıf mı diye bakar


Returns whether this class is cloneable

  • « ReflectionClass::isAnonymous
  • ReflectionClass::isEnum »
  • PHP Manual
  • ReflectionClass
  • Returns whether this class is cloneable

ReflectionClass::isCloneable

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::isCloneable — Returns whether this class is cloneable

Açıklama

public ReflectionClass::isCloneable(): bool

Returns whether this class is cloneable.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the class is cloneable, false otherwise.

Örnekler

Örnek 1 Basic usage of ReflectionClass::isCloneable()

<?php
class NotCloneable {
public $var1;

private function __clone() {
}
}

class Cloneable {
public $var1;
}

$notCloneable = new ReflectionClass('NotCloneable');
$cloneable = new ReflectionClass('Cloneable');

var_dump($notCloneable->isCloneable());
var_dump($cloneable->isCloneable());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)


Returns whether this is an enum

  • « ReflectionClass::isCloneable
  • ReflectionClass::isFinal »
  • PHP Manual
  • ReflectionClass
  • Returns whether this is an enum

ReflectionClass::isEnum

(PHP 8 >= 8.1.0)

ReflectionClass::isEnum — Returns whether this is an enum

Açıklama

public ReflectionClass::isEnum(): bool

Checks if a class is an enum.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this is an enum, false otherwise.


Sınıf bir final sınıf mı diye bakar

  • « ReflectionClass::isEnum
  • ReflectionClass::isInstance »
  • PHP Manual
  • ReflectionClass
  • Sınıf bir final sınıf mı diye bakar

ReflectionClass::isFinal

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isFinal — Sınıf bir final sınıf mı diye bakar

Açıklama

public ReflectionClass::isFinal(): bool

Sınıf bir final sınıf ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isFinal() örneği

<?php
class TestClass { }
final class TestFinalClass { }

$normalClass = new ReflectionClass('TestClass');
$finalClass = new ReflectionClass('TestFinalClass');

var_dump($normalClass->isFinal());
var_dump($finalClass->isFinal());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionClass::isAbstract() - Sınıf soyut mu diye bakar
  • Final Keyword


Sınıf bir nesne örneği mi diye bakar

  • « ReflectionClass::isFinal
  • ReflectionClass::isInstantiable »
  • PHP Manual
  • ReflectionClass
  • Sınıf bir nesne örneği mi diye bakar

ReflectionClass::isInstance

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstance — Sınıf bir nesne örneği mi diye bakar

Açıklama

public ReflectionClass::isInstance(string $nesne): bool

Sınıf bir nesne örneği ise true döner.

Bağımsız Değişkenler

nesne

Bakılacak nesne.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isInstance() örneği

<?php
// Kullanım örneği
$class = new ReflectionClass('Foo');

if ($class->isInstance($arg)) {
echo "Yes";
}

// Buna eşdeğer
if ($arg instanceof Foo) {
echo "Yes";
}

// Buna da
if (is_a($arg, 'Foo')) {
echo "Yes";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yes
Yes
Yes

Ayrıca Bakınız

  • ReflectionClass::isInterface() - Nesne bir arayüz mü diye bakar
  • Tür İşleçleri
  • Nesne Arayüzleri
  • is_a() - Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar


Sınıf örneklenebilir mi diye bakar

  • « ReflectionClass::isInstance
  • ReflectionClass::isInterface »
  • PHP Manual
  • ReflectionClass
  • Sınıf örneklenebilir mi diye bakar

ReflectionClass::isInstantiable

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstantiable — Sınıf örneklenebilir mi diye bakar

Açıklama

public ReflectionClass::isInstantiable(): bool

Sınıf örneklenebiliyorsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isInstantiable() örneği

<?php
class C { }

interface iface {
function f1();
}

class ifaceImpl implements iface {
function f1() {}
}

abstract class abstractClass {
function f1() { }
abstract function f2();
}

class D extends abstractClass {
function f2() { }
}

trait T {
function f1() {}
}

class privateConstructor {
private function __construct() { }
}

$classes = array(
"C",
"iface",
"ifaceImpl",
"abstractClass",
"D",
"T",
"privateConstructor",
);

foreach($classes as $class ) {
$reflectionClass = new ReflectionClass($class);
echo "$class örneklenebilir mi? ";
var_dump($reflectionClass->isInstantiable());
}

?>

Yukarıdaki örneğin çıktısı:

C örneklenebilir mi?  bool(true)
iface örneklenebilir mi?  bool(false)
ifaceImpl örneklenebilir mi?  bool(true)
abstractClass örneklenebilir mi?  bool(false)
D örneklenebilir mi?  bool(true)
T örneklenebilir mi?  bool(false)
privateConstructor örneklenebilir mi?  bool(false)

Ayrıca Bakınız

  • ReflectionClass::isInstance() - Sınıf bir nesne örneği mi diye bakar


Nesne bir arayüz mü diye bakar

  • « ReflectionClass::isInstantiable
  • ReflectionClass::isInternal »
  • PHP Manual
  • ReflectionClass
  • Nesne bir arayüz mü diye bakar

ReflectionClass::isInterface

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInterface — Nesne bir arayüz mü diye bakar

Açıklama

public ReflectionClass::isInterface(): bool

Nesne bir arayüz ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isInterface() temel kullanım örneği

<?php
interface BirArayüz {
public function interfaceMethod();
}

$nesne = new ReflectionClass('BirArayüz');
var_dump($nesne->isInterface());
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • ReflectionClass::isInstance() - Sınıf bir nesne örneği mi diye bakar


Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar

  • « ReflectionClass::isInterface
  • ReflectionClass::isIterable »
  • PHP Manual
  • ReflectionClass
  • Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar

ReflectionClass::isInternal

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInternal — Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar

Açıklama

public ReflectionClass::isInternal(): bool

Sınıf çekirdekte veya dahili bir eklentide tanımlıysa true kullanıcı tanımlı ise false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isInternal() temel kullanım örneği

<?php
$internalclass = new ReflectionClass('ReflectionClass');

class Apple {}
$userclass = new ReflectionClass('Apple');

var_dump($internalclass->isInternal());
var_dump($userclass->isInternal());
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionClass::isUserDefined() - Sınıf bir kullanıcı tanımlı sınıf mı diye bakar


Sınıf yinelenebilir mi diye bakar

  • « ReflectionClass::isInternal
  • ReflectionClass::isIterateable »
  • PHP Manual
  • ReflectionClass
  • Sınıf yinelenebilir mi diye bakar

ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterable — Sınıf yinelenebilir mi diye bakar

Açıklama

public ReflectionClass::isIterable(): bool

Sınıf yinelenebilir mi (yani foreach içinde kullanılabilir mi) diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - ReflectionClass::isIterable() temel kullanım örneği

<?php

class IteratorClass implements Iterator {
public function __construct() { }
public function key() { }
public function current() { }
function next() { }
function valid() { }
function rewind() { }
}
class DerivedClass extends IteratorClass { }
class NonIterator { }

function dump_iterable($class) {
$reflection = new ReflectionClass($class);
var_dump($reflection->isIterable());
}

$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");

foreach ($classes as $class) {
echo "$class yinelenebiliyor mu?? ";
dump_iterable($class);
}
?>

Yukarıdaki örneğin çıktısı:

ArrayObject yinelenebiliyor mu?? bool(true)
IteratorClass yinelenebiliyor mu?? bool(true)
DerivedClass yinelenebiliyor mu?? bool(true)
NonIterator yinelenebiliyor mu?? bool(false)

Ayrıca Bakınız

  • ReflectionClass::__construct() - Bir ReflectionClass nesnesi oluşturur


ReflectionClass::isIterable için takma ada

  • « ReflectionClass::isIterable
  • ReflectionClass::isReadOnly »
  • PHP Manual
  • ReflectionClass
  • ReflectionClass::isIterable için takma ada

ReflectionClass::isIterateable

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isIterateable — ReflectionClass::isIterable() için takma ada

Açıklama

ReflectionClass::isIterable() için bir takma addır.

PHP 7.2.0 ve sonrasında, yanlış yazılmış RefectionClass::isIterateable() yerine ReflectionClass::isIterable() kullanılması önerilmektedir.


Checks if class is readonly

  • « ReflectionClass::isIterateable
  • ReflectionClass::isSubclassOf »
  • PHP Manual
  • ReflectionClass
  • Checks if class is readonly

ReflectionClass::isReadOnly

(PHP 8 >= 8.2.0)

ReflectionClass::isReadOnly — Checks if class is readonly

Açıklama

public ReflectionClass::isReadOnly(): bool

Checks if a class is readonly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a class is readonly, false otherwise.

Örnekler

Örnek 1 ReflectionClass::isReadOnly() example

<?php
class TestClass { }
readonly class TestReadOnlyClass { }

$normalClass = new ReflectionClass('TestClass');
$readonlyClass = new ReflectionClass('TestReadOnlyClass');

var_dump($normalClass->isReadOnly());
var_dump($readonlyClass->isReadOnly());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionClass::isAbstract() - Sınıf soyut mu diye bakar
  • Readonly classes


Sınıf bir alt sınıf mı diye bakar

  • « ReflectionClass::isReadOnly
  • ReflectionClass::isTrait »
  • PHP Manual
  • ReflectionClass
  • Sınıf bir alt sınıf mı diye bakar

ReflectionClass::isSubclassOf

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isSubclassOf — Sınıf bir alt sınıf mı diye bakar

Açıklama

public ReflectionClass::isSubclassOf(ReflectionClass|string $class): bool

Sınıf belirtilen sınıfın bir alt sınıfı ise veya belirtilen arayüzü gerçekliyorsa true döner.

Bağımsız Değişkenler

sınıf

Olası ebeveyn sınıfın ismi veya ReflectionClass nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ReflectionClass::isInterface() - Nesne bir arayüz mü diye bakar
  • ReflectionClass::implementsInterface() - Arayüz gerçeklenmiş mi diye bakar
  • is_subclass_of() - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
  • get_parent_class() - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür


Returns whether this is a trait

  • « ReflectionClass::isSubclassOf
  • ReflectionClass::isUserDefined »
  • PHP Manual
  • ReflectionClass
  • Returns whether this is a trait

ReflectionClass::isTrait

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::isTrait — Returns whether this is a trait

Açıklama

public ReflectionClass::isTrait(): bool

Check whether this ReflectionClass refers to a trait.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if this is a trait, false otherwise.


Sınıf bir kullanıcı tanımlı sınıf mı diye bakar

  • « ReflectionClass::isTrait
  • ReflectionClass::newInstance »
  • PHP Manual
  • ReflectionClass
  • Sınıf bir kullanıcı tanımlı sınıf mı diye bakar

ReflectionClass::isUserDefined

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isUserDefined — Sınıf bir kullanıcı tanımlı sınıf mı diye bakar

Açıklama

public ReflectionClass::isUserDefined(): bool

Sınıf bir kullanıcı tanımlı sınıf ise true, yerleşik bir sınıf ise false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • ReflectionClass::isInternal() - Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar


Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

  • « ReflectionClass::isUserDefined
  • ReflectionClass::newInstanceArgs »
  • PHP Manual
  • ReflectionClass
  • Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

ReflectionClass::newInstance

(PHP 5, PHP 7, PHP 8)

ReflectionClass::newInstance — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

Açıklama

public ReflectionClass::newInstance(mixed $bağımsız_değişkenler): object

Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur. Belirtilen bağımsız değişkenler sınıf kurucusuna aktarılır.

Bağımsız Değişkenler

bağımsız_değişkenler

call_user_func() işlevindeki gibi işleve istenen sayıda bağımsız değişken aktarılabilir.

Dönen Değerler

Hatalar/İstisnalar

Sınıfın kurucusu public değilse bir ReflectionException yavrulanır.

Sınıfın bir kurucusu yoksa ve bağımsız_değişkenler bir veya daha fazla bağımsız değişken içeriyorsa bir ReflectionException yavrulanır.

Ayrıca Bakınız

  • ReflectionClass::newInstanceArgs() - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor


Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

  • « ReflectionClass::newInstance
  • ReflectionClass::newInstanceWithoutConstructor »
  • PHP Manual
  • ReflectionClass
  • Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

ReflectionClass::newInstanceArgs

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionClass::newInstanceArgs — Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur

Açıklama

public ReflectionClass::newInstanceArgs(array $bağımsız_değişkenler = []): ?object

Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur. Belirtilen bağımsız değişkenler sınıf kurucusuna aktarılır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

bağımsız_değişkenler

Bir dizi olarak sınıf kurucusuna aktarılacak bağımsız değişkenler.

Dönen Değerler

Sınıfın yeni bir örneğini döndürür. Başarısızlık durumunda null döner.

Hatalar/İstisnalar

Sınıfın kurucusu public değilse bir ReflectionException yavrulanır.

Sınıfın bir kurucusu yoksa ve bağımsız_değişkenler dizisi bir veya daha fazla bağımsız değişken içeriyorsa bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - ReflectionClass::newInstanceArgs() temel kullanım örneği

<?php
$class = new ReflectionClass('ReflectionFunction');
$örnek = $class->newInstanceArgs(array('dize'));
var_dump($örnek);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionFunction)#2 (1) {
  ["name"]=>
  string(4) "dize"
}

Ayrıca Bakınız

  • ReflectionClass::newInstance() - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
  • ReflectionClass::newInstanceWithoutConstructor() - Creates a new class instance without invoking the constructor


Creates a new class instance without invoking the constructor

  • « ReflectionClass::newInstanceArgs
  • ReflectionClass::setStaticPropertyValue »
  • PHP Manual
  • ReflectionClass
  • Creates a new class instance without invoking the constructor

ReflectionClass::newInstanceWithoutConstructor

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionClass::newInstanceWithoutConstructor — Creates a new class instance without invoking the constructor

Açıklama

public ReflectionClass::newInstanceWithoutConstructor(): object

Creates a new instance of the class without invoking the constructor.

Bağımsız Değişkenler

Dönen Değerler

Hatalar/İstisnalar

A ReflectionException if the class is an internal class that cannot be instantiated without invoking the constructor. This exception is limited only to internal classes that are final.

Ayrıca Bakınız

  • ReflectionClass::newInstance() - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
  • ReflectionClass::newInstanceArgs() - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur


Statik özelliğe değer atar

  • « ReflectionClass::newInstanceWithoutConstructor
  • ReflectionClass::__toString »
  • PHP Manual
  • ReflectionClass
  • Statik özelliğe değer atar

ReflectionClass::setStaticPropertyValue

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionClass::setStaticPropertyValue — Statik özelliğe değer atar

Açıklama

public ReflectionClass::setStaticPropertyValue(string $isim, mixed $değer): void

Statik özelliğe değer atar.

Bağımsız Değişkenler

isim

Özellik adı.

değer

Özelliğin yeni değeri.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • ReflectionClass::getStaticPropertyValue() - Duruk özelliğin değerini döndürür


ReflectionClass nesnesinin dizgesel gösterimini döndürür

  • « ReflectionClass::setStaticPropertyValue
  • ReflectionClassConstant »
  • PHP Manual
  • ReflectionClass
  • ReflectionClass nesnesinin dizgesel gösterimini döndürür

ReflectionClass::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionClass::__toString — ReflectionClass nesnesinin dizgesel gösterimini döndürür

Açıklama

public ReflectionClass::__toString(): string

ReflectionClass nesnesinin dizgesel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ReflectionClass örneğinin dizgesel gösterimini döndürür.

Örnekler

Örnek 1 - ReflectionClass::__toString() örneği

<?php
$reflectionClass = new ReflectionClass('Exception');
echo $reflectionClass->__toString();
?>

Yukarıdaki örneğin çıktısı:

Class [ <internal:Core> class Exception ] {

  - Constants [0] {
  }

  - Static properties [0] {
  }

  - Static methods [0] {
  }

  - Properties [7] {
    Property [ <default> protected $message ]
    Property [ <default> private $string ]
    Property [ <default> protected $code ]
    Property [ <default> protected $file ]
    Property [ <default> protected $line ]
    Property [ <default> private $trace ]
    Property [ <default> private $previous ]
  }

  - Methods [10] {
    Method [ <internal:Core> final private method __clone ] {
    }

    Method [ <internal:Core, ctor> public method __construct ] {

      - Parameters [3] {
        Parameter #0 [ <optional> $message ]
        Parameter #1 [ <optional> $code ]
        Parameter #2 [ <optional> $previous ]
      }
    }

    Method [ <internal:Core> final public method getMessage ] {
    }

    Method [ <internal:Core> final public method getCode ] {
    }

    Method [ <internal:Core> final public method getFile ] {
    }

    Method [ <internal:Core> final public method getLine ] {
    }

    Method [ <internal:Core> final public method getTrace ] {
    }

    Method [ <internal:Core> final public method getPrevious ] {
    }

    Method [ <internal:Core> final public method getTraceAsString ] {
    }

    Method [ <internal:Core> public method __toString ] {
    }
  }
}

Ayrıca Bakınız

  • ReflectionClass::export() - Bir sınıf ihraç eder
  • __toString()


The ReflectionClassConstant sınıfı

(PHP 7 >= 7.1.0, PHP 8)

Giriş

ReflectionClassConstant sınıfı bir sınıf sabiti hakkında bilgi verir.

Sınıf Sözdizimi

class ReflectionClassConstant implements Reflector {
/* Sabitler */
public const int IS_PUBLIC;
public const int IS_PROTECTED;
public const int IS_PRIVATE;
public const int IS_FINAL;
/* Özellikler */
public string $name;
public string $class;
/* Yöntemler */
public __construct(object|string $class, string $constant)
public static export(mixed $class, string $name, bool $return = ?): string
public getAttributes(?string $name = null, int $flags = 0): array
public getDeclaringClass(): ReflectionClass
public getDocComment(): string|false
public getModifiers(): int
public getName(): string
public getValue(): mixed
public isEnumCase(): bool
public isFinal(): bool
public isPrivate(): bool
public isProtected(): bool
public isPublic(): bool
public __toString(): string
}

Özellikler

name

Sınıf sabitinin ismi. Salt-okunur olup, yazılmaya çalışılırsa ReflectionException istisnası oluşur.

class

Sınıf sabitini tanımlandığı yerin ismi. Salt-okunur olup, yazılmaya çalışılırsa ReflectionException istisnası oluşur.

Öntanımlı Sabitler

ReflectionClassConstant Değiştiricileri

ReflectionClassConstant::IS_PUBLIC

Sabitin public olup olmadığını belirtir. PHP 7.4.0 öncesinde, bu değer 256 idi.

ReflectionClassConstant::IS_PROTECTED

Sabitin protected olup olmadığını belirtir. PHP 7.4.0 öncesinde, bu değer 512 idi.

ReflectionClassConstant::IS_PRIVATE

Sabitin private olup olmadığını belirtir. PHP 7.4.0 öncesinde, bu değer 1024 idi.

ReflectionClassConstant::IS_FINAL

Sabitin final olduğunu belirtir. PHP 8.1.0 ve sonrasında kullanılabilir.

Bilginize:

Sabitlerin değerleri PHP sürümleri arasında farklılık gösterebilir. Bu bakımdan sabitler değerleriyle değil isimleriyle kullanılmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionClassConstant::export() kaldırıldı.

İçindekiler

  • ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant
  • ReflectionClassConstant::export — Export
  • ReflectionClassConstant::getAttributes — Gets Attributes
  • ReflectionClassConstant::getDeclaringClass — Gets declaring class
  • ReflectionClassConstant::getDocComment — Gets doc comments
  • ReflectionClassConstant::getModifiers — Gets the class constant modifiers
  • ReflectionClassConstant::getName — Get name of the constant
  • ReflectionClassConstant::getValue — Gets value
  • ReflectionClassConstant::isEnumCase — Checks if class constant is an Enum case
  • ReflectionClassConstant::isFinal — Checks if class constant is final
  • ReflectionClassConstant::isPrivate — Checks if class constant is private
  • ReflectionClassConstant::isProtected — Checks if class constant is protected
  • ReflectionClassConstant::isPublic — Checks if class constant is public
  • ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object


Constructs a ReflectionClassConstant

  • « ReflectionClassConstant
  • ReflectionClassConstant::export »
  • PHP Manual
  • ReflectionClassConstant
  • Constructs a ReflectionClassConstant

ReflectionClassConstant::__construct

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::__construct — Constructs a ReflectionClassConstant

Açıklama

public ReflectionClassConstant::__construct(object|string $class, string $constant)

Constructs a new ReflectionClassConstant object.

Bağımsız Değişkenler

class

Either a string containing the name of the class to reflect, or an object.

constant

The name of the class constant.

Hatalar/İstisnalar

Throws an Exception in case the given class constant does not exist.

Ayrıca Bakınız

  • Constructors


Export

  • « ReflectionClassConstant::__construct
  • ReflectionClassConstant::getAttributes »
  • PHP Manual
  • ReflectionClassConstant
  • Export

ReflectionClassConstant::export

(PHP 7 >= 7.1.0)

ReflectionClassConstant::export — Export

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionClassConstant::export(mixed $class, string $name, bool $return = ?): string

Exports a reflection.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

class

İhraç edilecek Reflection nesnesi.

name

The class constant name.

return

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

Ayrıca Bakınız

  • ReflectionClassConstant::__toString() - Returns the string representation of the ReflectionClassConstant object


Gets Attributes

  • « ReflectionClassConstant::export
  • ReflectionClassConstant::getDeclaringClass »
  • PHP Manual
  • ReflectionClassConstant
  • Gets Attributes

ReflectionClassConstant::getAttributes

(PHP 8)

ReflectionClassConstant::getAttributes — Gets Attributes

Açıklama

public ReflectionClassConstant::getAttributes(?string $name = null, int $flags = 0): array

Returns all attributes declared on this class constant as an array of ReflectionAttribute.

Bağımsız Değişkenler

name

Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

flags

Flags for determining how to filter the results, if name is provided.

Default is 0 which will only return results for attributes that are of the class name.

The only other option available, is to use ReflectionAttribute::IS_INSTANCEOF, which will instead use instanceof for filtering.

Dönen Değerler

Array of attributes, as a ReflectionAttribute object.

Örnekler

Örnek 1 Basic usage

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}

$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 2 Filtering results by class name

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}

$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
)

Örnek 3 Filtering results by class name, with inheritance

<?php
interface Color {
}

#[Attribute]
class Fruit {
}

#[Attribute]
class Red implements Color {
}

class Basket {
#[Fruit]
#[Red]
public const APPLE = 'apple';
}

$classConstant = new ReflectionClassConstant('Basket', 'APPLE');
$attributes = $classConstant->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Red
)

Ayrıca Bakınız

  • ReflectionClass::getAttributes() - Gets Attributes
  • ReflectionFunctionAbstract::getAttributes() - Gets Attributes
  • ReflectionParameter::getAttributes() - Gets Attributes
  • ReflectionProperty::getAttributes() - Gets Attributes


Gets declaring class

  • « ReflectionClassConstant::getAttributes
  • ReflectionClassConstant::getDocComment »
  • PHP Manual
  • ReflectionClassConstant
  • Gets declaring class

ReflectionClassConstant::getDeclaringClass

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::getDeclaringClass — Gets declaring class

Açıklama

public ReflectionClassConstant::getDeclaringClass(): ReflectionClass

Gets the declaring class.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A ReflectionClass object.


Gets doc comments

  • « ReflectionClassConstant::getDeclaringClass
  • ReflectionClassConstant::getModifiers »
  • PHP Manual
  • ReflectionClassConstant
  • Gets doc comments

ReflectionClassConstant::getDocComment

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::getDocComment — Gets doc comments

Açıklama

public ReflectionClassConstant::getDocComment(): string|false

Gets doc comments from a class constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The doc comment if it exists, otherwise false


Gets the class constant modifiers

  • « ReflectionClassConstant::getDocComment
  • ReflectionClassConstant::getName »
  • PHP Manual
  • ReflectionClassConstant
  • Gets the class constant modifiers

ReflectionClassConstant::getModifiers

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::getModifiers — Gets the class constant modifiers

Açıklama

public ReflectionClassConstant::getModifiers(): int

Returns a bitfield of the access modifiers for this class constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A numeric representation of the modifiers. The actual meaning of these modifiers are described under predefined constants.

Ayrıca Bakınız

  • Reflection::getModifierNames() - Değiştirici isimlerini döndürür


Get name of the constant

  • « ReflectionClassConstant::getModifiers
  • ReflectionClassConstant::getValue »
  • PHP Manual
  • ReflectionClassConstant
  • Get name of the constant

ReflectionClassConstant::getName

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::getName — Get name of the constant

Açıklama

public ReflectionClassConstant::getName(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the constant's name.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Throws an Error in case the name property has not been initialized. Previously, the method returned false on failure.


Gets value

  • « ReflectionClassConstant::getName
  • ReflectionClassConstant::isEnumCase »
  • PHP Manual
  • ReflectionClassConstant
  • Gets value

ReflectionClassConstant::getValue

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::getValue — Gets value

Açıklama

public ReflectionClassConstant::getValue(): mixed

Gets the class constant's value.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The value of the class constant.


Checks if class constant is an Enum case

  • « ReflectionClassConstant::getValue
  • ReflectionClassConstant::isFinal »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is an Enum case

ReflectionClassConstant::isEnumCase

(PHP 8 >= 8.1.0)

ReflectionClassConstant::isEnumCase — Checks if class constant is an Enum case

Açıklama

public ReflectionClassConstant::isEnumCase(): bool

Checks if the class constant is an Enum case.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the class constant is an Enum case; false otherwise.

Örnekler

Örnek 1 ReflectionClassConstant::isEnumCase() example

Distinguish between Enum cases and regular class constants.

<?php
enum Status
{
const BORING_CONSTANT = 'test';
const ENUM_VALUE = Status::PUBLISHED;

case DRAFT;
case PUBLISHED;
case ARCHIVED;
}

$reflection = new ReflectionEnum(Status::class);
foreach ($reflection->getReflectionConstants() as $constant) {
echo "{$constant->name} is ",
$constant->isEnumCase() ? "an enum case" : "a regular class constant",
PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

BORING_CONSTANT is a regular class constant
ENUM_VALUE is a regular class constant
DRAFT is an enum case
PUBLISHED is an enum case
ARCHIVED is an enum case

Ayrıca Bakınız

  • ReflectionEnum


Checks if class constant is final

  • « ReflectionClassConstant::isEnumCase
  • ReflectionClassConstant::isPrivate »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is final

ReflectionClassConstant::isFinal

(PHP 8 >= 8.1.0)

ReflectionClassConstant::isFinal — Checks if class constant is final

Açıklama

public ReflectionClassConstant::isFinal(): bool

Checks if the class constant is final.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the class constant is final, otherwise false

Ayrıca Bakınız

  • ReflectionClassConstant::isPublic() - Checks if class constant is public
  • ReflectionClassConstant::isPrivate() - Checks if class constant is private
  • ReflectionClassConstant::isProtected() - Checks if class constant is protected


Checks if class constant is private

  • « ReflectionClassConstant::isFinal
  • ReflectionClassConstant::isProtected »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is private

ReflectionClassConstant::isPrivate

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::isPrivate — Checks if class constant is private

Açıklama

public ReflectionClassConstant::isPrivate(): bool

Checks if the class constant is private.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the class constant is private, otherwise false

Ayrıca Bakınız

  • ReflectionClassConstant::isFinal() - Checks if class constant is final
  • ReflectionClassConstant::isPublic() - Checks if class constant is public
  • ReflectionClassConstant::isProtected() - Checks if class constant is protected


Checks if class constant is protected

  • « ReflectionClassConstant::isPrivate
  • ReflectionClassConstant::isPublic »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is protected

ReflectionClassConstant::isProtected

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::isProtected — Checks if class constant is protected

Açıklama

public ReflectionClassConstant::isProtected(): bool

Checks if the class constant is protected.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the class constant is protected, otherwise false

Ayrıca Bakınız

  • ReflectionClassConstant::isFinal() - Checks if class constant is final
  • ReflectionClassConstant::isPublic() - Checks if class constant is public
  • ReflectionClassConstant::isPrivate() - Checks if class constant is private


Checks if class constant is public

  • « ReflectionClassConstant::isProtected
  • ReflectionClassConstant::__toString »
  • PHP Manual
  • ReflectionClassConstant
  • Checks if class constant is public

ReflectionClassConstant::isPublic

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::isPublic — Checks if class constant is public

Açıklama

public ReflectionClassConstant::isPublic(): bool

Checks if the class constant is public.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the class constant is public, otherwise false

Ayrıca Bakınız

  • ReflectionClassConstant::isFinal() - Checks if class constant is final
  • ReflectionClassConstant::isPrivate() - Checks if class constant is private
  • ReflectionClassConstant::isProtected() - Checks if class constant is protected


Returns the string representation of the ReflectionClassConstant object

  • « ReflectionClassConstant::isPublic
  • ReflectionEnum »
  • PHP Manual
  • ReflectionClassConstant
  • Returns the string representation of the ReflectionClassConstant object

ReflectionClassConstant::__toString

(PHP 7 >= 7.1.0, PHP 8)

ReflectionClassConstant::__toString — Returns the string representation of the ReflectionClassConstant object

Açıklama

public ReflectionClassConstant::__toString(): string

Returns the string representation of the ReflectionClassConstant object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string representation of this ReflectionClassConstant instance.

Ayrıca Bakınız

  • ReflectionClassConstant::export() - Export
  • __toString()


ReflectionEnum sınıfı

(PHP 8 >= 8.1.0)

Giriş

ReflectionEnum sınıfı bir sayılama hakkında bilgi verir.

Sınıf Sözdizimi

class ReflectionEnum extends ReflectionClass {
/* Miras alınan sabitler */
public const int ReflectionClass::IS_IMPLICIT_ABSTRACT;
public const int ReflectionClass::IS_EXPLICIT_ABSTRACT;
public const int ReflectionClass::IS_FINAL;
public const int ReflectionClass::IS_READONLY;
/* Miras alınan özellikler */
public string $name;
/* Yöntemler */
public __construct(object|string $objectOrClass)
public getBackingType(): ?ReflectionNamedType
public getCase(string $name): ReflectionEnumUnitCase
public getCases(): array
public hasCase(string $name): bool
public isBacked(): bool
/* Miras alınan yöntemler */
public static ReflectionClass::export(mixed $bağımsız_değişken, bool $return = false): string
public ReflectionClass::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionClass::getConstant(string $isim): mixed
public ReflectionClass::getConstants(?int $filter = null): array
public ReflectionClass::getConstructor(): ?ReflectionMethod
public ReflectionClass::getDefaultProperties(): array
public ReflectionClass::getDocComment(): string|false
public ReflectionClass::getEndLine(): int|false
public ReflectionClass::getExtension(): ?ReflectionExtension
public ReflectionClass::getExtensionName(): string|false
public ReflectionClass::getFileName(): string|false
public ReflectionClass::getInterfaceNames(): array
public ReflectionClass::getInterfaces(): array
public ReflectionClass::getMethod(string $isim): ReflectionMethod
public ReflectionClass::getMethods(?int $süzgeç = null): array
public ReflectionClass::getModifiers(): int
public ReflectionClass::getName(): string
public ReflectionClass::getNamespaceName(): string
public ReflectionClass::getParentClass(): ReflectionClass|false
public ReflectionClass::getProperties(?int $süzgeç = null): array
public ReflectionClass::getProperty(string $isim): ReflectionProperty
public ReflectionClass::getReflectionConstant(string $name): ReflectionClassConstant|false
public ReflectionClass::getReflectionConstants(?int $filter = null): array
public ReflectionClass::getShortName(): string
public ReflectionClass::getStartLine(): int|false
public ReflectionClass::getStaticProperties(): ?array
public ReflectionClass::getStaticPropertyValue(string $isim, mixed &$öntanımlı = ?): mixed
public ReflectionClass::getTraitAliases(): array
public ReflectionClass::getTraitNames(): array
public ReflectionClass::getTraits(): array
public ReflectionClass::hasConstant(string $isim): bool
public ReflectionClass::hasMethod(string $isim): bool
public ReflectionClass::hasProperty(string $isim): bool
public ReflectionClass::implementsInterface(ReflectionClass|string $interface): bool
public ReflectionClass::inNamespace(): bool
public ReflectionClass::isAbstract(): bool
public ReflectionClass::isAnonymous(): bool
public ReflectionClass::isCloneable(): bool
public ReflectionClass::isEnum(): bool
public ReflectionClass::isFinal(): bool
public ReflectionClass::isInstance(string $nesne): bool
public ReflectionClass::isInstantiable(): bool
public ReflectionClass::isInterface(): bool
public ReflectionClass::isInternal(): bool
public ReflectionClass::isIterable(): bool
public ReflectionClass::isReadOnly(): bool
public ReflectionClass::isSubclassOf(ReflectionClass|string $class): bool
public ReflectionClass::isTrait(): bool
public ReflectionClass::isUserDefined(): bool
public ReflectionClass::newInstance(mixed $bağımsız_değişkenler): object
public ReflectionClass::newInstanceArgs(array $bağımsız_değişkenler = []): ?object
public ReflectionClass::newInstanceWithoutConstructor(): object
public ReflectionClass::setStaticPropertyValue(string $isim, mixed $değer): void
public ReflectionClass::__toString(): string
}

Ayrıca Bakınız

  • Sayılamalar

İçindekiler

  • ReflectionEnum::__construct — Instantiates a ReflectionEnum object
  • ReflectionEnum::getBackingType — Gets the backing type of an Enum, if any
  • ReflectionEnum::getCase — Returns a specific case of an Enum
  • ReflectionEnum::getCases — Returns a list of all cases on an Enum
  • ReflectionEnum::hasCase — Checks for a case on an Enum
  • ReflectionEnum::isBacked — Determines if an Enum is a Backed Enum


Instantiates a ReflectionEnum object

  • « ReflectionEnum
  • ReflectionEnum::getBackingType »
  • PHP Manual
  • ReflectionEnum
  • Instantiates a ReflectionEnum object

ReflectionEnum::__construct

(PHP 8 >= 8.1.0)

ReflectionEnum::__construct — Instantiates a ReflectionEnum object

Açıklama

public ReflectionEnum::__construct(object|string $objectOrClass)

Bağımsız Değişkenler

objectOrClass

An enum instance or a name.


Gets the backing type of an Enum, if any

  • « ReflectionEnum::__construct
  • ReflectionEnum::getCase »
  • PHP Manual
  • ReflectionEnum
  • Gets the backing type of an Enum, if any

ReflectionEnum::getBackingType

(PHP 8 >= 8.1.0)

ReflectionEnum::getBackingType — Gets the backing type of an Enum, if any

Açıklama

public ReflectionEnum::getBackingType(): ?ReflectionNamedType

If the enumeration is a Backed Enum, this method will return an instance of ReflectionType for the backing type of the Enum. If it is not a Backed Enum, it will return null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An instance of ReflectionNamedType, or null if the Enum has no backing type.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | The return type is now declared as ?ReflectionNamedType. Previously, ?ReflectionType was declared.

Örnekler

Örnek 1 ReflectionEnum::getBackingType() example

<?php
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

$rEnum = new ReflectionEnum(Suit::class);

$rBackingType = $rEnum->getBackingType();

var_dump((string)$rBackingType);
?>

Yukarıdaki örneğin çıktısı:

string(6) "string"

Ayrıca Bakınız

  • Enumerations
  • ReflectionEnum::isBacked() - Determines if an Enum is a Backed Enum


Returns a specific case of an Enum

  • « ReflectionEnum::getBackingType
  • ReflectionEnum::getCases »
  • PHP Manual
  • ReflectionEnum
  • Returns a specific case of an Enum

ReflectionEnum::getCase

(PHP 8 >= 8.1.0)

ReflectionEnum::getCase — Returns a specific case of an Enum

Açıklama

public ReflectionEnum::getCase(string $name): ReflectionEnumUnitCase

Returns the reflection object for a specific Enum case by name. If the requested case is not defined, a ReflectionException is thrown.

Bağımsız Değişkenler

name

The name of the case to retrieve.

Dönen Değerler

An instance of ReflectionEnumUnitCase or ReflectionEnumBackedCase, as appropriate.

Örnekler

Örnek 1 ReflectionEnum::getCase() example

<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

$rEnum = new ReflectionEnum(Suit::class);

$rCase = $rEnum->getCase('Clubs');

var_dump($rCase->getValue());
?>

Yukarıdaki örneğin çıktısı:

enum(Suit::Clubs)

Ayrıca Bakınız

  • Enumerations
  • ReflectionEnum::getCases() - Returns a list of all cases on an Enum
  • ReflectionEnum::hasCase() - Checks for a case on an Enum
  • ReflectionEnum::isBacked() - Determines if an Enum is a Backed Enum


Returns a list of all cases on an Enum

  • « ReflectionEnum::getCase
  • ReflectionEnum::hasCase »
  • PHP Manual
  • ReflectionEnum
  • Returns a list of all cases on an Enum

ReflectionEnum::getCases

(PHP 8 >= 8.1.0)

ReflectionEnum::getCases — Returns a list of all cases on an Enum

Açıklama

public ReflectionEnum::getCases(): array

An Enum may contain zero or more cases. This method retrieves all defined cases, in lexical order (that is, the order they appear in the source code).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Enum reflection objects, one for each case in the Enum. For a Unit Enum, they will all be instances of ReflectionEnumUnitCase. For a Backed Enum, they will all be instances of ReflectionEnumBackedCase.

Örnekler

Örnek 1 ReflectionEnum::getCases() example

<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

$rEnum = new ReflectionEnum(Suit::class);

$cases = $rEnum->getCases();

foreach ($cases as $rCase) {
var_dump($rCase->getValue());
}
?>

Yukarıdaki örneğin çıktısı:

enum(Suit::Hearts)
enum(Suit::Diamonds)
enum(Suit::Clubs)
enum(Suit::Spades)

Ayrıca Bakınız

  • Enumerations
  • ReflectionEnum::getCase() - Returns a specific case of an Enum
  • ReflectionEnum::isBacked() - Determines if an Enum is a Backed Enum


Checks for a case on an Enum

  • « ReflectionEnum::getCases
  • ReflectionEnum::isBacked »
  • PHP Manual
  • ReflectionEnum
  • Checks for a case on an Enum

ReflectionEnum::hasCase

(PHP 8 >= 8.1.0)

ReflectionEnum::hasCase — Checks for a case on an Enum

Açıklama

public ReflectionEnum::hasCase(string $name): bool

Determines if a given case is defined on an Enum.

Bağımsız Değişkenler

name

The case to check for.

Dönen Değerler

true if the case is defined, false if not.

Örnekler

Örnek 1 ReflectionEnum::hasCase() example

<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

$rEnum = new ReflectionEnum(Suit::class);

var_dump($rEnum->hasCase('Hearts'));
var_dump($rEnum->hasCase('Horseshoes'));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • Enumerations
  • ReflectionEnum::getCase() - Returns a specific case of an Enum
  • ReflectionEnum::getCases() - Returns a list of all cases on an Enum


Determines if an Enum is a Backed Enum

  • « ReflectionEnum::hasCase
  • ReflectionEnumUnitCase »
  • PHP Manual
  • ReflectionEnum
  • Determines if an Enum is a Backed Enum

ReflectionEnum::isBacked

(PHP 8 >= 8.1.0)

ReflectionEnum::isBacked — Determines if an Enum is a Backed Enum

Açıklama

public ReflectionEnum::isBacked(): bool

A Backed Enum is one that has a native backing scalar equivalent, either a string or an int. Not all Enums are backed.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the Enum has a backing scalar, false if not.

Örnekler

Örnek 1 ReflectionEnum::isBacked() example

<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

enum BackedSuit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

var_dump((new ReflectionEnum(Suit::class))->isBacked());
var_dump((new ReflectionEnum(BackedSuit::class))->isBacked());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • Enumerations
  • ReflectionEnum::getBackingType() - Gets the backing type of an Enum, if any


ReflectionEnumUnitCase sınıfı

(PHP 8 >= 8.1.0)

Giriş

The ReflectionEnumUnitCase sınıfı sayıl bir eşdeğeri olmayan desteksiz bir sayılama hakkında bilgi verir.

Sınıf Sözdizimi

class ReflectionEnumUnitCase extends ReflectionClassConstant {
/* Miras alınan sabitler */
public const int ReflectionClassConstant::IS_PUBLIC;
public const int ReflectionClassConstant::IS_PROTECTED;
public const int ReflectionClassConstant::IS_PRIVATE;
public const int ReflectionClassConstant::IS_FINAL;
/* Miras alınan özellikler */
public string $name;
public string $class;
/* Yöntemler */
public __construct(object|string $class, string $constant)
public getEnum(): ReflectionEnum
public getValue(): UnitEnum
/* Miras alınan yöntemler */
public static ReflectionClassConstant::export(mixed $class, string $name, bool $return = ?): string
public ReflectionClassConstant::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionClassConstant::getDeclaringClass(): ReflectionClass
public ReflectionClassConstant::getDocComment(): string|false
public ReflectionClassConstant::getModifiers(): int
public ReflectionClassConstant::getName(): string
public ReflectionClassConstant::getValue(): mixed
public ReflectionClassConstant::isEnumCase(): bool
public ReflectionClassConstant::isFinal(): bool
public ReflectionClassConstant::isPrivate(): bool
public ReflectionClassConstant::isProtected(): bool
public ReflectionClassConstant::isPublic(): bool
public ReflectionClassConstant::__toString(): string
}

Ayrıca Bakınız

  • Sayılamalar
  • ReflectionEnumBackedCase

İçindekiler

  • ReflectionEnumUnitCase::__construct — Instantiates a ReflectionEnumUnitCase object
  • ReflectionEnumUnitCase::getEnum — Gets the reflection of the enum of this case
  • ReflectionEnumUnitCase::getValue — Gets the enum case object described by this reflection object


Instantiates a ReflectionEnumUnitCase object

  • « ReflectionEnumUnitCase
  • ReflectionEnumUnitCase::getEnum »
  • PHP Manual
  • ReflectionEnumUnitCase
  • Instantiates a ReflectionEnumUnitCase object

ReflectionEnumUnitCase::__construct

(PHP 8 >= 8.1.0)

ReflectionEnumUnitCase::__construct — Instantiates a ReflectionEnumUnitCase object

Açıklama

public ReflectionEnumUnitCase::__construct(object|string $class, string $constant)

Bağımsız Değişkenler

class

An enum instance or a name.

constant

An enum constant name.


Gets the reflection of the enum of this case

  • « ReflectionEnumUnitCase::__construct
  • ReflectionEnumUnitCase::getValue »
  • PHP Manual
  • ReflectionEnumUnitCase
  • Gets the reflection of the enum of this case

ReflectionEnumUnitCase::getEnum

(PHP 8 >= 8.1.0)

ReflectionEnumUnitCase::getEnum — Gets the reflection of the enum of this case

Açıklama

public ReflectionEnumUnitCase::getEnum(): ReflectionEnum

Gets the reflection of the enum of this case.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A ReflectionEnum instance describing the Enum this case belongs to.

Ayrıca Bakınız

  • Enumerations


Gets the enum case object described by this reflection object

  • « ReflectionEnumUnitCase::getEnum
  • ReflectionEnumBackedCase »
  • PHP Manual
  • ReflectionEnumUnitCase
  • Gets the enum case object described by this reflection object

ReflectionEnumUnitCase::getValue

(PHP 8 >= 8.1.0)

ReflectionEnumUnitCase::getValue — Gets the enum case object described by this reflection object

Açıklama

public ReflectionEnumUnitCase::getValue(): UnitEnum

Returns the enum case object described by this reflection object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The enum case object described by this reflection object.

Örnekler

Örnek 1 ReflectionEnum::getValue() example

<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}

$rEnum = new ReflectionEnum(Suit::class);

$rCase = $rEnum->getCase('Diamonds');

var_dump($rCase->getValue());
?>

Yukarıdaki örneğin çıktısı:

enum(Suit::Diamonds)

Ayrıca Bakınız

  • Enumerations


ReflectionEnumBackedCase sınıfı

(PHP 8 >= 8.1.0)

Giriş

ReflectionEnumBackedCase sınıfı sayıl bir eşdeğeri olan destekli bir sayılama hakkında bilgi verir.

Sınıf Sözdizimi

class ReflectionEnumBackedCase extends ReflectionEnumUnitCase {
/* Miras alınan sabitler */
public const int ReflectionClassConstant::IS_PUBLIC;
public const int ReflectionClassConstant::IS_PROTECTED;
public const int ReflectionClassConstant::IS_PRIVATE;
public const int ReflectionClassConstant::IS_FINAL;
/* Miras alınan özellikler */
public string $name;
public string $class;
/* Yöntemler */
public __construct(object|string $class, string $constant)
public getBackingValue(): int|string
/* Miras alınan yöntemler */
public ReflectionEnumUnitCase::getEnum(): ReflectionEnum
public ReflectionEnumUnitCase::getValue(): UnitEnum
public static ReflectionClassConstant::export(mixed $class, string $name, bool $return = ?): string
public ReflectionClassConstant::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionClassConstant::getDeclaringClass(): ReflectionClass
public ReflectionClassConstant::getDocComment(): string|false
public ReflectionClassConstant::getModifiers(): int
public ReflectionClassConstant::getName(): string
public ReflectionClassConstant::getValue(): mixed
public ReflectionClassConstant::isEnumCase(): bool
public ReflectionClassConstant::isFinal(): bool
public ReflectionClassConstant::isPrivate(): bool
public ReflectionClassConstant::isProtected(): bool
public ReflectionClassConstant::isPublic(): bool
public ReflectionClassConstant::__toString(): string
}

Ayrıca Bakınız

  • Sayılamalar
  • ReflectionEnumUnitCase

İçindekiler

  • ReflectionEnumBackedCase::__construct — Instantiates a ReflectionEnumBackedCase object
  • ReflectionEnumBackedCase::getBackingValue — Gets the scalar value backing this Enum case


Instantiates a ReflectionEnumBackedCase object

  • « ReflectionEnumBackedCase
  • ReflectionEnumBackedCase::getBackingValue »
  • PHP Manual
  • ReflectionEnumBackedCase
  • Instantiates a ReflectionEnumBackedCase object

ReflectionEnumBackedCase::__construct

(PHP 8 >= 8.1.0)

ReflectionEnumBackedCase::__construct — Instantiates a ReflectionEnumBackedCase object

Açıklama

public ReflectionEnumBackedCase::__construct(object|string $class, string $constant)

Bağımsız Değişkenler

class

An enum instance or a name.

constant

An enum constant name.


Gets the scalar value backing this Enum case

  • « ReflectionEnumBackedCase::__construct
  • ReflectionZendExtension »
  • PHP Manual
  • ReflectionEnumBackedCase
  • Gets the scalar value backing this Enum case

ReflectionEnumBackedCase::getBackingValue

(PHP 8 >= 8.1.0)

ReflectionEnumBackedCase::getBackingValue — Gets the scalar value backing this Enum case

Açıklama

public ReflectionEnumBackedCase::getBackingValue(): int|string

Gets the scalar value backing this Enum case.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The scalar equivalent of this enum case.

Örnekler

Örnek 1 ReflectionEnum::getBackingValue() example

<?php
enum Suit: string
{
case Hearts = 'H';
case Diamonds = 'D';
case Clubs = 'C';
case Spades = 'S';
}

$rEnum = new ReflectionEnum(Suit::class);

$rCase = $rEnum->getCase('Spades');

var_dump($rCase->getBackingValue());
?>

Yukarıdaki örneğin çıktısı:

string(1) "S"

Ayrıca Bakınız

  • Enumerations


ReflectionZendExtension sınıfı

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

class ReflectionZendExtension implements Reflector {
/* Özellikler */
public string $name;
/* Yöntemler */
public __construct(string $name)
private __clone(): void
public static export(string $name, bool $return = ?): string
public getAuthor(): string
public getCopyright(): string
public getName(): string
public getURL(): string
public getVersion(): string
public __toString(): string
}

Özellikler

name

Eklenti ismi. Salt-okunur olup yazmaya çalışılırsa bir ReflectionException yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionZendExtension::export() kaldırıldı.

İçindekiler

  • ReflectionZendExtension::__clone — Clone handler
  • ReflectionZendExtension::__construct — Constructs a ReflectionZendExtension object
  • ReflectionZendExtension::export — Export
  • ReflectionZendExtension::getAuthor — Gets author
  • ReflectionZendExtension::getCopyright — Gets copyright
  • ReflectionZendExtension::getName — Gets name
  • ReflectionZendExtension::getURL — Gets URL
  • ReflectionZendExtension::getVersion — Gets version
  • ReflectionZendExtension::__toString — To string handler


Clone handler

  • « ReflectionZendExtension
  • ReflectionZendExtension::__construct »
  • PHP Manual
  • ReflectionZendExtension
  • Clone handler

ReflectionZendExtension::__clone

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::__clone — Clone handler

Açıklama

private ReflectionZendExtension::__clone(): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | This method is no longer final.


Constructs a ReflectionZendExtension object

  • « ReflectionZendExtension::__clone
  • ReflectionZendExtension::export »
  • PHP Manual
  • ReflectionZendExtension
  • Constructs a ReflectionZendExtension object

ReflectionZendExtension::__construct

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::__construct — Constructs a ReflectionZendExtension object

Açıklama

public ReflectionZendExtension::__construct(string $name)

Constructs a new ReflectionZendExtension object.

Bağımsız Değişkenler

name

The extension name.

Hatalar/İstisnalar

Throws ReflectionException if the extension to reflect does not exist.


Export

  • « ReflectionZendExtension::__construct
  • ReflectionZendExtension::getAuthor »
  • PHP Manual
  • ReflectionZendExtension
  • Export

ReflectionZendExtension::export

(PHP 5 >= 5.4.0, PHP 7)

ReflectionZendExtension::export — Export

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionZendExtension::export(string $name, bool $return = ?): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

name

return

Dönen Değerler

Ayrıca Bakınız

  • ReflectionClassConstant::__toString() - Returns the string representation of the ReflectionClassConstant object


Gets author

  • « ReflectionZendExtension::export
  • ReflectionZendExtension::getCopyright »
  • PHP Manual
  • ReflectionZendExtension
  • Gets author

ReflectionZendExtension::getAuthor

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::getAuthor — Gets author

Açıklama

public ReflectionZendExtension::getAuthor(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets copyright

  • « ReflectionZendExtension::getAuthor
  • ReflectionZendExtension::getName »
  • PHP Manual
  • ReflectionZendExtension
  • Gets copyright

ReflectionZendExtension::getCopyright

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::getCopyright — Gets copyright

Açıklama

public ReflectionZendExtension::getCopyright(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets name

  • « ReflectionZendExtension::getCopyright
  • ReflectionZendExtension::getURL »
  • PHP Manual
  • ReflectionZendExtension
  • Gets name

ReflectionZendExtension::getName

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::getName — Gets name

Açıklama

public ReflectionZendExtension::getName(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets URL

  • « ReflectionZendExtension::getName
  • ReflectionZendExtension::getVersion »
  • PHP Manual
  • ReflectionZendExtension
  • Gets URL

ReflectionZendExtension::getURL

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::getURL — Gets URL

Açıklama

public ReflectionZendExtension::getURL(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Gets version

  • « ReflectionZendExtension::getURL
  • ReflectionZendExtension::__toString »
  • PHP Manual
  • ReflectionZendExtension
  • Gets version

ReflectionZendExtension::getVersion

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::getVersion — Gets version

Açıklama

public ReflectionZendExtension::getVersion(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


To string handler

  • « ReflectionZendExtension::getVersion
  • ReflectionExtension »
  • PHP Manual
  • ReflectionZendExtension
  • To string handler

ReflectionZendExtension::__toString

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionZendExtension::__toString — To string handler

Açıklama

public ReflectionZendExtension::__toString(): string

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


ReflectionExtension Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionExtension sınıfı, bir eklenti hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionExtension implements Reflector {
/* Özellikler */
public string $name;
/* Yöntemler */
public __construct(string $name)
private __clone(): void
public static export(string $isim, string $ihracet = false): string
public getClasses(): array
public getClassNames(): array
public getConstants(): array
public getDependencies(): array
public getFunctions(): array
public getINIEntries(): array
public getName(): string
public getVersion(): ?string
public info(): void
public isPersistent(): bool
public isTemporary(): bool
public __toString(): string
}

Özellikler

name

Eklenti ismi, ReflectionExtension::getName() yöntem çağrısına eşdeğer.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionExtension::export() kaldırıldı.

İçindekiler

  • ReflectionExtension::__clone — Reflection nesneleri kopyalanamaz
  • ReflectionExtension::__construct — Bir ReflectionExtension nesnesi oluşturur
  • ReflectionExtension::export — Sınıfı ihraç eder
  • ReflectionExtension::getClasses — Eklentinin sınıflarını döndürür
  • ReflectionExtension::getClassNames — Eklentide tanımlı sınıf isimlerini döndürür
  • ReflectionExtension::getConstants — Eklentinin sabitlerini döndürür
  • ReflectionExtension::getDependencies — Bağımlılıkları döndürür
  • ReflectionExtension::getFunctions — Eklenti işlevlerini döndürür
  • ReflectionExtension::getINIEntries — Eklentinin ini girdilerini döndürür
  • ReflectionExtension::getName — Eklenti ismini döndürür
  • ReflectionExtension::getVersion — Eklentinin sürüm bilgisini döndürür
  • ReflectionExtension::info — Eklenti bilgilerini basar
  • ReflectionExtension::isPersistent — Returns whether this extension is persistent
  • ReflectionExtension::isTemporary — Returns whether this extension is temporary
  • ReflectionExtension::__toString — Dizgesel tepkiyi görselleştirir


Reflection nesneleri kopyalanamaz

  • « ReflectionExtension
  • ReflectionExtension::__construct »
  • PHP Manual
  • ReflectionExtension
  • Reflection nesneleri kopyalanamaz

ReflectionExtension::__clone

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::__clone — Reflection nesneleri kopyalanamaz

Açıklama

private ReflectionExtension::__clone(): void

Reflection nesneleri kopyalanamaz. Her çağrı ölümcül bir hata ile sonuçlanır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez. Her çağrı ölümcül bir hata ile sonuçlanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu yöntem artık final değil.

Ayrıca Bakınız

  • ReflectionExtension::__construct() - Bir ReflectionExtension nesnesi oluşturur
  • Nesne Kopyalama


Bir ReflectionExtension nesnesi oluşturur

  • « ReflectionExtension::__clone
  • ReflectionExtension::export »
  • PHP Manual
  • ReflectionExtension
  • Bir ReflectionExtension nesnesi oluşturur

ReflectionExtension::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::__construct — Bir ReflectionExtension nesnesi oluşturur

Açıklama

public ReflectionExtension::__construct(string $name)

Bir ReflectionExtension nesnesi oluşturur.

Bağımsız Değişkenler

name

Eklentini ismi.

Hatalar/İstisnalar

Yansıtılan eklenti yoksa ReflectionException istisnası oluşur.

Örnekler

Örnek 1 - ReflectionExtension örneği

<?php
$ext = new ReflectionExtension('Reflection');

printf('Eklenti: %s (sürüm: %s)', $ext->getName(), $ext->getVersion());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Eklenti: Reflection (sürüm: 8.0.0)

Ayrıca Bakınız

  • ReflectionExtension::info() - Eklenti bilgilerini basar
  • Kurucular ve Yıkıcılar


Sınıfı ihraç eder

  • « ReflectionExtension::__construct
  • ReflectionExtension::getClasses »
  • PHP Manual
  • ReflectionExtension
  • Sınıfı ihraç eder

ReflectionExtension::export

(PHP 5, PHP 7)

ReflectionExtension::export — Sınıfı ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionExtension::export(string $isim, string $ihracet = false): string

Yansıtılmış eklentiyi ihraç eder. İşlevin çıktısı, --re [extension] CLI bağımsız değişkeniyle aynıdır.

Bağımsız Değişkenler

isim

İhraç edilecek Reflection nesnesi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Ayrıca Bakınız

  • ReflectionExtension::__toString() - Dizgesel tepkiyi görselleştirir


Eklentinin sınıflarını döndürür

  • « ReflectionExtension::export
  • ReflectionExtension::getClassNames »
  • PHP Manual
  • ReflectionExtension
  • Eklentinin sınıflarını döndürür

ReflectionExtension::getClasses

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getClasses — Eklentinin sınıflarını döndürür

Açıklama

public ReflectionExtension::getClasses(): array

Eklentideki sınıfların listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionClass nesneleri dizisi. Hiç sınıf tanımlanmamışsa boş bir dizi döner.

Örnekler

Örnek 1 ReflectionExtension::getClasses() örneği

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClasses());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  ["XMLWriter"]=>
  object(ReflectionClass)#2 (1) {
    ["name"]=>
    string(9) "XMLWriter"
  }
}

Ayrıca Bakınız

  • ReflectionExtension::getClassNames() - Eklentide tanımlı sınıf isimlerini döndürür


Eklentide tanımlı sınıf isimlerini döndürür

  • « ReflectionExtension::getClasses
  • ReflectionExtension::getConstants »
  • PHP Manual
  • ReflectionExtension
  • Eklentide tanımlı sınıf isimlerini döndürür

ReflectionExtension::getClassNames

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getClassNames — Eklentide tanımlı sınıf isimlerini döndürür

Açıklama

public ReflectionExtension::getClassNames(): array

Eklentide tanımlı sınıf isimlerinin listesini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sınıf isimlerinden oluşan bir dizi. Hiç tanımlı sınıf yoksa boş bir dizi döner.

Örnekler

Örnek 1 ReflectionExtension::getClassNames() örneği

<?php
$ext = new ReflectionExtension('XMLWriter');
var_dump($ext->getClassNames());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(1) {
  [0]=>
  string(9) "XMLWriter"
}

Ayrıca Bakınız

  • ReflectionExtension::getClasses() - Eklentinin sınıflarını döndürür
  • ReflectionExtension::getName() - Eklenti ismini döndürür


Eklentinin sabitlerini döndürür

  • « ReflectionExtension::getClassNames
  • ReflectionExtension::getDependencies »
  • PHP Manual
  • ReflectionExtension
  • Eklentinin sabitlerini döndürür

ReflectionExtension::getConstants

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getConstants — Eklentinin sabitlerini döndürür

Açıklama

public ReflectionExtension::getConstants(): array

Eklentide tanımlı sabitleri listeler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sabitlerin isimleri anahtarlara yerleştirilmiş olarak bir ilişkisel dizi.

Örnekler

Örnek 1 ReflectionExtension::getConstants() örneği

<?php
$ext = new ReflectionExtension('DOM');

print_r($ext->getConstants());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [XML_ELEMENT_NODE] => 1
    [XML_ATTRIBUTE_NODE] => 2
    [XML_TEXT_NODE] => 3
    [XML_CDATA_SECTION_NODE] => 4
    [XML_ENTITY_REF_NODE] => 5
    [XML_ENTITY_NODE] => 6
    [XML_PI_NODE] => 7
    [XML_COMMENT_NODE] => 8
    [XML_DOCUMENT_NODE] => 9
    [XML_DOCUMENT_TYPE_NODE] => 10
    [XML_DOCUMENT_FRAG_NODE] => 11
    [XML_NOTATION_NODE] => 12
    [XML_HTML_DOCUMENT_NODE] => 13
    [XML_DTD_NODE] => 14
    [XML_ELEMENT_DECL_NODE] => 15
    [XML_ATTRIBUTE_DECL_NODE] => 16
    [XML_ENTITY_DECL_NODE] => 17
    [XML_NAMESPACE_DECL_NODE] => 18
    [XML_LOCAL_NAMESPACE] => 18
    [XML_ATTRIBUTE_CDATA] => 1
    [XML_ATTRIBUTE_ID] => 2
    [XML_ATTRIBUTE_IDREF] => 3
    [XML_ATTRIBUTE_IDREFS] => 4
    [XML_ATTRIBUTE_ENTITY] => 6
    [XML_ATTRIBUTE_NMTOKEN] => 7
    [XML_ATTRIBUTE_NMTOKENS] => 8
    [XML_ATTRIBUTE_ENUMERATION] => 9
    [XML_ATTRIBUTE_NOTATION] => 10
    [DOM_PHP_ERR] => 0
    [DOM_INDEX_SIZE_ERR] => 1
    [DOMSTRING_SIZE_ERR] => 2
    [DOM_HIERARCHY_REQUEST_ERR] => 3
    [DOM_WRONG_DOCUMENT_ERR] => 4
    [DOM_INVALID_CHARACTER_ERR] => 5
    [DOM_NO_DATA_ALLOWED_ERR] => 6
    [DOM_NO_MODIFICATION_ALLOWED_ERR] => 7
    [DOM_NOT_FOUND_ERR] => 8
    [DOM_NOT_SUPPORTED_ERR] => 9
    [DOM_INUSE_ATTRIBUTE_ERR] => 10
    [DOM_INVALID_STATE_ERR] => 11
    [DOM_SYNTAX_ERR] => 12
    [DOM_INVALID_MODIFICATION_ERR] => 13
    [DOM_NAMESPACE_ERR] => 14
    [DOM_INVALID_ACCESS_ERR] => 15
    [DOM_VALIDATION_ERR] => 16
)

Ayrıca Bakınız

  • ReflectionExtension::getINIEntries() - Eklentinin ini girdilerini döndürür


Bağımlılıkları döndürür

  • « ReflectionExtension::getConstants
  • ReflectionExtension::getFunctions »
  • PHP Manual
  • ReflectionExtension
  • Bağımlılıkları döndürür

ReflectionExtension::getDependencies

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionExtension::getDependencies — Bağımlılıkları döndürür

Açıklama

public ReflectionExtension::getDependencies(): array

Eklenti için gerekli ve eklentiyle çelişen bağımlılıkları birlikte listeler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımlılık isimlerinin anahtar, değerlerin ise Required (gerekli), Optional (seçimlik) ya da Conflicts (çelişen) olduğu bir ilişkisel dizi.

Örnekler

Örnek 1 ReflectionExtension::getDependencies() örneği

<?php
$dom = new ReflectionExtension('dom');

print_r($dom->getDependencies());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [libxml] => Required
    [domxml] => Conflicts
)

Ayrıca Bakınız

  • ReflectionExtension::getVersion() - Eklentinin sürüm bilgisini döndürür


Eklenti işlevlerini döndürür

  • « ReflectionExtension::getDependencies
  • ReflectionExtension::getINIEntries »
  • PHP Manual
  • ReflectionExtension
  • Eklenti işlevlerini döndürür

ReflectionExtension::getFunctions

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getFunctions — Eklenti işlevlerini döndürür

Açıklama

public ReflectionExtension::getFunctions(): array

Eklentide tanımlı işlevleri döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ReflectionFunction nesnelerinden oluşan bir ilişkisel dizi. İşlev isimleri anahtarlara yerleştirilir. Hiç işlev tanımlanmamışsa boş bir dizi döner.

Örnekler

Örnek 1 - ReflectionExtension::getFunctions() örneği

<?php
$dom = new ReflectionExtension('SimpleXML');

print_r($dom->getFunctions());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [simplexml_load_file] => ReflectionFunction Object
        (
            [name] => simplexml_load_file
        )

    [simplexml_load_string] => ReflectionFunction Object
        (
            [name] => simplexml_load_string
        )

    [simplexml_import_dom] => ReflectionFunction Object
        (
            [name] => simplexml_import_dom
        )

)

Ayrıca Bakınız

  • ReflectionExtension::getClasses() - Eklentinin sınıflarını döndürür
  • get_extension_funcs() - Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür


Eklentinin ini girdilerini döndürür

  • « ReflectionExtension::getFunctions
  • ReflectionExtension::getName »
  • PHP Manual
  • ReflectionExtension
  • Eklentinin ini girdilerini döndürür

ReflectionExtension::getINIEntries

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getINIEntries — Eklentinin ini girdilerini döndürür

Açıklama

public ReflectionExtension::getINIEntries(): array

Eklentinin ini girdilerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yönerge isimlerinin anahtar, değerlerinin değer olduğu bir ilişkisel dizi döner.

Örnekler

Örnek 1 - ReflectionExtension::getINIEntries() örneği

<?php
$ext = new ReflectionExtension('mysql');

print_r($ext->getINIEntries());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [mysql.allow_persistent] => 1
    [mysql.max_persistent] => -1
    [mysql.max_links] => -1
    [mysql.default_host] =>
    [mysql.default_user] =>
    [mysql.default_password] =>
    [mysql.default_port] =>
    [mysql.default_socket] =>
    [mysql.connect_timeout] => 60
    [mysql.trace_mode] =>
    [mysql.allow_local_infile] => 1
    [mysql.cache_size] => 2000
)

Ayrıca Bakınız

  • ini_get_all() - Tüm yapılandırma yönergelerini döndürür
  • ReflectionExtension::getConstants() - Eklentinin sabitlerini döndürür


Eklenti ismini döndürür

  • « ReflectionExtension::getINIEntries
  • ReflectionExtension::getVersion »
  • PHP Manual
  • ReflectionExtension
  • Eklenti ismini döndürür

ReflectionExtension::getName

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getName — Eklenti ismini döndürür

Açıklama

public ReflectionExtension::getName(): string

Eklenti ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Eklenti ismi.

Örnekler

Örnek 1 - ReflectionExtension::getName() örneği

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getName());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(6) "mysqli"

Ayrıca Bakınız

  • ReflectionExtension::getClassNames() - Eklentide tanımlı sınıf isimlerini döndürür


Eklentinin sürüm bilgisini döndürür

  • « ReflectionExtension::getName
  • ReflectionExtension::info »
  • PHP Manual
  • ReflectionExtension
  • Eklentinin sürüm bilgisini döndürür

ReflectionExtension::getVersion

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::getVersion — Eklentinin sürüm bilgisini döndürür

Açıklama

public ReflectionExtension::getVersion(): ?string

Eklentinin sürüm bilgisini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Eklentinin sürüm bilgisi, eklentide sürüm bilgisi yoksa null.

Örnekler

Örnek 1 - ReflectionExtension::getVersion() örneği

<?php
$ext = new ReflectionExtension('mysqli');
var_dump($ext->getVersion());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(3) "0.1"

Ayrıca Bakınız

  • ReflectionExtension::info() - Eklenti bilgilerini basar


Eklenti bilgilerini basar

  • « ReflectionExtension::getVersion
  • ReflectionExtension::isPersistent »
  • PHP Manual
  • ReflectionExtension
  • Eklenti bilgilerini basar

ReflectionExtension::info

(PHP 5 >= 5.2.4, PHP 7, PHP 8)

ReflectionExtension::info — Eklenti bilgilerini basar

Açıklama

public ReflectionExtension::info(): void

Eklenti hakkındaki bilgileri basar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Eklenti hakkındaki bilgileri basar.

Örnekler

Örnek 1 - ReflectionExtension::info() örneği

<?php
$ext = new ReflectionExtension('mysqli');
$ext->info();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

mysqli

MysqlI Support => enabled
Client API library version => mysqlnd 5.0.5-dev - 081106 - $Revision$
Active Persistent Links => 0
Inactive Persistent Links => 0
Active Links => 0
Persistent cache => enabled
put_hits => 0
put_misses => 0
get_hits => 0
get_misses => 0
size => 2000
free_items => 2000
references => 2

Directive => Local Value => Master Value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_user => no value => no value
mysqli.default_pw => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_socket => no value => no value
mysqli.reconnect => Off => Off
mysqli.allow_local_infile => On => On
mysqli.cache_size => 2000 => 2000

Ayrıca Bakınız

  • ReflectionExtension::getName() - Eklenti ismini döndürür
  • phpinfo() - PHP yapılandırması hakkında bilgi çıktılar


Returns whether this extension is persistent

  • « ReflectionExtension::info
  • ReflectionExtension::isTemporary »
  • PHP Manual
  • ReflectionExtension
  • Returns whether this extension is persistent

ReflectionExtension::isPersistent

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionExtension::isPersistent — Returns whether this extension is persistent

Açıklama

public ReflectionExtension::isPersistent(): bool

Check whether the extension is persistent.

An extension is persistent when it is loaded using php.ini. An extension is temporary, not persistent, when it is loaded with dl().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true for extensions loaded by extension, false otherwise.

Ayrıca Bakınız

  • ReflectionExtension::isTemporary() - Returns whether this extension is temporary


Returns whether this extension is temporary

  • « ReflectionExtension::isPersistent
  • ReflectionExtension::__toString »
  • PHP Manual
  • ReflectionExtension
  • Returns whether this extension is temporary

ReflectionExtension::isTemporary

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionExtension::isTemporary — Returns whether this extension is temporary

Açıklama

public ReflectionExtension::isTemporary(): bool

Check whether the extension is temporary.

An extension is temporary when it is loaded with dl().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true for extensions loaded by dl(), false otherwise.

Ayrıca Bakınız

  • ReflectionExtension::isPersistent() - Returns whether this extension is persistent


Dizgesel tepkiyi görselleştirir

  • « ReflectionExtension::isTemporary
  • ReflectionFunction »
  • PHP Manual
  • ReflectionExtension
  • Dizgesel tepkiyi görselleştirir

ReflectionExtension::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionExtension::__toString — Dizgesel tepkiyi görselleştirir

Açıklama

public ReflectionExtension::__toString(): string

Yansıtılan bir eklentiyi ihraç eder ve onu bir dizge olarak döndürür. Bu, ihracet değitirgesine true aktarılan ReflectionExtension::export() yöntemi ile aynıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ReflectionExtension::export() yönteminin yaptığı gibi ihraç edilen eklentiyi bir dizge olarak döndürür.

Ayrıca Bakınız

  • ReflectionExtension::__construct() - Bir ReflectionExtension nesnesi oluşturur
  • ReflectionExtension::export() - Sınıfı ihraç eder
  • __toString()


ReflectionFunction Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionFunction sınıfı bir işlevle ilgili bilgi verir.

Sınıf Sözdizimi

class ReflectionFunction extends ReflectionFunctionAbstract {
/* Sabitler */
public const int IS_DEPRECATED;
/* Miras alınan özellikler */
public string $name;
/* Yöntemler */
public __construct(Closure|string $function)
public static export(string $isim, string $ihracet = ?): string
public getClosure(): Closure
public invoke(mixed ...$bağımsız_değişkenler): mixed
public invokeArgs(array $bağımsız_değişkenler): mixed
public isAnonymous(): bool
public isDisabled(): bool
public __toString(): string
/* Miras alınan yöntemler */
private ReflectionFunctionAbstract::__clone(): void
public ReflectionFunctionAbstract::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionFunctionAbstract::getClosureScopeClass(): ?ReflectionClass
public ReflectionFunctionAbstract::getClosureThis(): ?object
public ReflectionFunctionAbstract::getClosureUsedVariables(): array
public ReflectionFunctionAbstract::getDocComment(): string|false
public ReflectionFunctionAbstract::getEndLine(): int|false
public ReflectionFunctionAbstract::getExtension(): ?ReflectionExtension
public ReflectionFunctionAbstract::getExtensionName(): string|false
public ReflectionFunctionAbstract::getFileName(): string|false
public ReflectionFunctionAbstract::getName(): string
public ReflectionFunctionAbstract::getNamespaceName(): string
public ReflectionFunctionAbstract::getNumberOfParameters(): int
public ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int
public ReflectionFunctionAbstract::getParameters(): array
public ReflectionFunctionAbstract::getReturnType(): ?ReflectionType
public ReflectionFunctionAbstract::getShortName(): string
public ReflectionFunctionAbstract::getStartLine(): int|false
public ReflectionFunctionAbstract::getStaticVariables(): array
public ReflectionFunctionAbstract::getTentativeReturnType(): ?ReflectionType
public ReflectionFunctionAbstract::hasReturnType(): bool
public ReflectionFunctionAbstract::hasTentativeReturnType(): bool
public ReflectionFunctionAbstract::inNamespace(): bool
public ReflectionFunctionAbstract::isClosure(): bool
public ReflectionFunctionAbstract::isDeprecated(): bool
public ReflectionFunctionAbstract::isGenerator(): bool
public ReflectionFunctionAbstract::isInternal(): bool
public ReflectionFunctionAbstract::isStatic(): bool
public ReflectionFunctionAbstract::isUserDefined(): bool
public ReflectionFunctionAbstract::isVariadic(): bool
public ReflectionFunctionAbstract::returnsReference(): bool
abstract public ReflectionFunctionAbstract::__toString(): void
}

Öntanımlı Sabitler

ReflectionFunction Değiştiricileri

ReflectionFunction::IS_DEPRECATED

İşlevin kullanımının önerilmediğini belirtir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionFunction::export() kaldırıldı.

İçindekiler

  • ReflectionFunction::__construct — Bir ReflectionFunction nesnesi oluşturur
  • ReflectionFunction::export — İşlevi ihraç eder
  • ReflectionFunction::getClosure — Returns a dynamically created closure for the function
  • ReflectionFunction::invoke — İşlevi çağırır
  • ReflectionFunction::invokeArgs — İşlev bağımsız değişkenlerini çağırır
  • ReflectionFunction::isAnonymous — Checks if a function is anonymous
  • ReflectionFunction::isDisabled — İşlevin iptal edilip edilmediğine bakar
  • ReflectionFunction::__toString — İşlevin bağımsız değişken satırını dizgeleştirerek döndürür


Bir ReflectionFunction nesnesi oluşturur

  • « ReflectionFunction
  • ReflectionFunction::export »
  • PHP Manual
  • ReflectionFunction
  • Bir ReflectionFunction nesnesi oluşturur

ReflectionFunction::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__construct — Bir ReflectionFunction nesnesi oluşturur

Açıklama

public ReflectionFunction::__construct(Closure|string $function)

Bir ReflectionFunction nesnesi oluşturur.

Bağımsız Değişkenler

function

Yansıtılılacak işlevin ismi veya bir anonim işlev

Hatalar/İstisnalar

function bağımsız değişkeni geçerli bir işlev ismi içermiyorsa bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - ReflectionFunction::__construct() örneği

<?php
/**
* Basit bir sayaç
*
* @return int
*/
function sayaç1()
{
static $c = 0;
return ++$c;
}

/**
* Başka bir basit sayaç
*
* @return int
*/
$sayaç2 = function()
{
static $d = 0;
return ++$d;
};

function dumpReflectionFunction($func)
{

// Temel bilgileri basalım
printf(
"===> %s '%s' işlevi\n".
" %s dosyasının\n".
" %d. satırından %d. satırına kadar tanımlanmış\n",
$func->isInternal() ? 'Yerleşik' : 'Kullanıcı tanımlı',
$func->getName(),
$func->getFileName(),
$func->getStartLine(),
$func->getEndline()
);

// Belgelendirici açıklamaları basalım
printf("---> Belgeleme:\n %s\n", var_export($func->getDocComment(), 1));

// Varsa statik değişkenleri basalım
if ($statics = $func->getStaticVariables())
{
printf("---> Statik değişkenler: %s\n", var_export($statics, 1));
}
}

// ReflectionFunction sınıfının bir örneğini oluşturalım
dumpReflectionFunction(new ReflectionFunction('sayaç1'));
dumpReflectionFunction(new ReflectionFunction($sayaç2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

===> Kullanıcı tanımlı 'sayaç1' işlevi
     Z:\reflectcounter.php dosyasının
     7. satırından 11. satırına kadar tanımlanmış
---> Belgeleme:
 '/**
 * Basit bir sayaç
 *
 * @return    int
 */'
---> Statik değişkenler: array (
  'c' => 0,
)
===> Kullanıcı tanımlı '{closure}' işlevi
     Z:\reflectcounter.php dosyasının
     18. satırından 22. satırına kadar tanımlanmış
---> Belgeleme:
 '/**
 * Başka bir basit sayaç
 *
 * @return    int
 */'
---> Statik değişkenler: array (
  'd' => 0,
)

Ayrıca Bakınız

  • ReflectionMethod::__construct() - Yeni bir ReflectionMethod nesnesi oluşturur
  • Kurucular


İşlevi ihraç eder

  • « ReflectionFunction::__construct
  • ReflectionFunction::getClosure »
  • PHP Manual
  • ReflectionFunction
  • İşlevi ihraç eder

ReflectionFunction::export

(PHP 5, PHP 7)

ReflectionFunction::export — İşlevi ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionFunction::export(string $isim, string $ihracet = ?): string

Yansıtılmış bir işlevi ihraç eder.

Bağımsız Değişkenler

isim

İhraç edilecek Reflection nesnesi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Ayrıca Bakınız

  • ReflectionFunction::invoke() - İşlevi çağırır
  • ReflectionFunction::__toString() - İşlevin bağımsız değişken satırını dizgeleştirerek döndürür


Returns a dynamically created closure for the function

  • « ReflectionFunction::export
  • ReflectionFunction::invoke »
  • PHP Manual
  • ReflectionFunction
  • Returns a dynamically created closure for the function

ReflectionFunction::getClosure

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionFunction::getClosure — Returns a dynamically created closure for the function

Açıklama

public ReflectionFunction::getClosure(): Closure

Get a dynamically created closure for the function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the newly created Closure.

Ayrıca Bakınız

  • First class callable syntax


İşlevi çağırır

  • « ReflectionFunction::getClosure
  • ReflectionFunction::invokeArgs »
  • PHP Manual
  • ReflectionFunction
  • İşlevi çağırır

ReflectionFunction::invoke

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::invoke — İşlevi çağırır

Açıklama

public ReflectionFunction::invoke(mixed ...$bağımsız_değişkenler): mixed

Yansıtılan işlevi çağırır.

Bağımsız Değişkenler

bağımsız_değişkenler

İşleve aktarılacak bağımsız değişken listesi. call_user_func() işlevindeki gibi yeteri sayıda bağımsız değişken aktarabilirsiniz.

Dönen Değerler

Çağrılan işlevin sonucunu döndürür.

Örnekler

Örnek 1 - ReflectionFunction::invoke() örneği

<?php
function title($title, $name)
{
return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invoke('Dr', 'Phil');
?>

Yukarıdaki örneğin çıktısı:

Dr. Phil

Notlar

Bilginize:

ReflectionFunction::invoke() değer döndürülen bağımsız değişkenler varsa kullanılamaz. Yerine ReflectionFunction::invokeArgs() kullanılmalıdır (bağımsız değişken listesinde gönderimleri aktararak).

Ayrıca Bakınız

  • ReflectionFunction::export() - İşlevi ihraç eder
  • __invoke()
  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır


İşlev bağımsız değişkenlerini çağırır

  • « ReflectionFunction::invoke
  • ReflectionFunction::isAnonymous »
  • PHP Manual
  • ReflectionFunction
  • İşlev bağımsız değişkenlerini çağırır

ReflectionFunction::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionFunction::invokeArgs — İşlev bağımsız değişkenlerini çağırır

Açıklama

public ReflectionFunction::invokeArgs(array $bağımsız_değişkenler): mixed

İşlevi bağımsız değişkenleri dizi içinde aktararak çağırır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

bağımsız_değişkenler

call_user_func_array() işlevindeki gibi işleve bağımsız değişkenleri dizi olarak aktarılır.

Dönen Değerler

Çağrılan işlevin sonucunu döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağımsız_değişkenler anahtarları artık sessizce yok sayılmıyor ve bağımsız değişken isimleri olarak yorumlanıyor.

Örnekler

Örnek 1 - ReflectionFunction::invokeArgs() örneği

<?php
function title($title, $name)
{
return sprintf("%s. %s\r\n", $title, $name);
}

$function = new ReflectionFunction('title');

echo $function->invokeArgs(array('Dr', 'Phil'));
?>

Yukarıdaki örneğin çıktısı:

Dr. Phil

Örnek 2 - Değer döndüren bağımsız değişkenli işlevle ReflectionFunction::invokeArgs() örneği

<?php
function get_false_conditions(array $conditions, array &$false_conditions)
{
foreach ($conditions as $condition) {
if (!$condition) {
$false_conditions[] = $condition;
}
}
}

$function_ref = new ReflectionFunction('get_false_conditions');

$conditions = array(true, false, -1, 0, 1);
$false_conditions = array();

$function_ref->invokeArgs(array($conditions, &$false_conditions));

var_dump($false_conditions);
?>

Yukarıdaki örneğin çıktısı:

array(2) {
  [0]=>
  bool(false)
  [1]=>
  int(0)
}

Notlar

Bilginize:

Eğer işlev değer döndürmeyi gerektiren bağımsız değişkenlere sahipse bağımsız değişken dizisinde bunların gönderimli oldukları belirtilmelidir.

Ayrıca Bakınız

  • ReflectionFunction::invoke() - İşlevi çağırır
  • ReflectionFunctionAbstract::getNumberOfParameters() - Bağımsız değişken sayısını döndürür
  • __invoke()
  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır


Checks if a function is anonymous

  • « ReflectionFunction::invokeArgs
  • ReflectionFunction::isDisabled »
  • PHP Manual
  • ReflectionFunction
  • Checks if a function is anonymous

ReflectionFunction::isAnonymous

(PHP 8 >= 8.2.0)

ReflectionFunction::isAnonymous — Checks if a function is anonymous

Açıklama

public ReflectionFunction::isAnonymous(): bool

Checks if a function is anonymous.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the function is anonymous, otherwise false.

Örnekler

Örnek 1 ReflectionFunction::isAnonymous() example

<?php

$rf = new ReflectionFunction(function() {});
var_dump($rf->isAnonymous());

$rf = new ReflectionFunction('strlen');
var_dump($rf->isAnonymous());
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • Anonymous functions


İşlevin iptal edilip edilmediğine bakar

  • « ReflectionFunction::isAnonymous
  • ReflectionFunction::__toString »
  • PHP Manual
  • ReflectionFunction
  • İşlevin iptal edilip edilmediğine bakar

ReflectionFunction::isDisabled

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunction::isDisabled — İşlevin iptal edilip edilmediğine bakar

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public ReflectionFunction::isDisabled(): bool

İşlev disable_functions yönergesiyle iptal edilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev iptal edilmişse true yoksa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::isUserDefined() - İşlev kullanıcı tanımlı bir işlev mi diye bakar
  • disable_functions yönergesi


İşlevin bağımsız değişken satırını dizgeleştirerek döndürür

  • « ReflectionFunction::isDisabled
  • ReflectionFunctionAbstract »
  • PHP Manual
  • ReflectionFunction
  • İşlevin bağımsız değişken satırını dizgeleştirerek döndürür

ReflectionFunction::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionFunction::__toString — İşlevin bağımsız değişken satırını dizgeleştirerek döndürür

Açıklama

public ReflectionFunction::__toString(): string

İşlevin bağımsız değişken satırını ve dönüş değerini dizgeleştirerek döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

ReflectionFunction::export() gibi işlevin bağımsız değişken satırını dizgeleştirerek döndürür.

Örnekler

Örnek 1 - ReflectionFunction::__toString() örneği

<?php
function title($title, $name)
{
return sprintf("%s. %s\r\n", $title, $name);
}

echo new ReflectionFunction('title');
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Function [ <user> function title ] {
  @@ Command line code 1 - 1

  - Parameters [2] {
    Parameter #0 [ <required> $title ]
    Parameter #1 [ <required> $name ]
  }
}

Ayrıca Bakınız

  • ReflectionFunction::export() - İşlevi ihraç eder
  • __toString()


ReflectionFunctionAbstract sınıfı

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

Giriş

ReflectionFunction sınıfının ebeveyni olup, ayrıntılar için onun belgesine bakın.

Sınıf Sözdizimi

abstract class ReflectionFunctionAbstract implements Reflector {
/* Özellikler */
public string $name;
/* Yöntemler */
private __clone(): void
public getAttributes(?string $name = null, int $flags = 0): array
public getClosureScopeClass(): ?ReflectionClass
public getClosureThis(): ?object
public getClosureUsedVariables(): array
public getDocComment(): string|false
public getEndLine(): int|false
public getExtension(): ?ReflectionExtension
public getExtensionName(): string|false
public getFileName(): string|false
public getName(): string
public getNamespaceName(): string
public getNumberOfParameters(): int
public getNumberOfRequiredParameters(): int
public getParameters(): array
public getReturnType(): ?ReflectionType
public getShortName(): string
public getStartLine(): int|false
public getStaticVariables(): array
public getTentativeReturnType(): ?ReflectionType
public hasReturnType(): bool
public hasTentativeReturnType(): bool
public inNamespace(): bool
public isClosure(): bool
public isDeprecated(): bool
public isGenerator(): bool
public isInternal(): bool
public isStatic(): bool
public isUserDefined(): bool
public isVariadic(): bool
public returnsReference(): bool
abstract public __toString(): void
}

Özellikler

name

İşlev ismi. Salt-okunur olup yazmaya çalışılırsa bir ReflectionException yavrulanır.

İçindekiler

  • ReflectionFunctionAbstract::__clone — İşlevi kopyalar
  • ReflectionFunctionAbstract::getAttributes — Gets Attributes
  • ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope class associated with the closure
  • ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure
  • ReflectionFunctionAbstract::getClosureUsedVariables — Returns an array of the used variables in the Closure
  • ReflectionFunctionAbstract::getDocComment — Belgelendirici açıklamaları döndürür
  • ReflectionFunctionAbstract::getEndLine — Son satır numarasını döndürür
  • ReflectionFunctionAbstract::getExtension — Eklenti bilgilerini döndürür
  • ReflectionFunctionAbstract::getExtensionName — Eklenti ismini döndürür
  • ReflectionFunctionAbstract::getFileName — İşlevin tanımladığı dosyanın ismini döndürür
  • ReflectionFunctionAbstract::getName — İşlev ismini döndürür
  • ReflectionFunctionAbstract::getNamespaceName — İsim alanı adını döndürür
  • ReflectionFunctionAbstract::getNumberOfParameters — Bağımsız değişken sayısını döndürür
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters — Zorunlu bağımsız değişken sayısını döndürür
  • ReflectionFunctionAbstract::getParameters — Bağımsız değişkenleri döndürür
  • ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function
  • ReflectionFunctionAbstract::getShortName — İşlevin kısa ismini döndürür
  • ReflectionFunctionAbstract::getStartLine — Başlangıç satır numarasını döndürür
  • ReflectionFunctionAbstract::getStaticVariables — Duruk değişkenleri döndürür
  • ReflectionFunctionAbstract::getTentativeReturnType — Returns the tentative return type associated with the function
  • ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type
  • ReflectionFunctionAbstract::hasTentativeReturnType — Returns whether the function has a tentative return type
  • ReflectionFunctionAbstract::inNamespace — İşlev isim alanına ait mi diye bakar
  • ReflectionFunctionAbstract::isClosure — Bir anonim işlev mi diye bakar
  • ReflectionFunctionAbstract::isDeprecated — Kullanımı önerilmiyor mu diye bakar
  • ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator
  • ReflectionFunctionAbstract::isInternal — İşlev yerleşik mi diye bakar
  • ReflectionFunctionAbstract::isStatic — Checks if the function is static
  • ReflectionFunctionAbstract::isUserDefined — İşlev kullanıcı tanımlı bir işlev mi diye bakar
  • ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic
  • ReflectionFunctionAbstract::returnsReference — İşlev dönüş değeri gönderimli mi diye bakar
  • ReflectionFunctionAbstract::__toString — Nesnenin dizgesel tepkisini görselleştirir


İşlevi kopyalar

  • « ReflectionFunctionAbstract
  • ReflectionFunctionAbstract::getAttributes »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlevi kopyalar

ReflectionFunctionAbstract::__clone

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::__clone — İşlevi kopyalar

Açıklama

private ReflectionFunctionAbstract::__clone(): void

İşlevi kopyalar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu yöntem artık final değil.

Ayrıca Bakınız

  • Nesne Kopyalama


Gets Attributes

  • « ReflectionFunctionAbstract::__clone
  • ReflectionFunctionAbstract::getClosureScopeClass »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets Attributes

ReflectionFunctionAbstract::getAttributes

(PHP 8)

ReflectionFunctionAbstract::getAttributes — Gets Attributes

Açıklama

public ReflectionFunctionAbstract::getAttributes(?string $name = null, int $flags = 0): array

Returns all attributes declared on this function or method as an array of ReflectionAttribute.

Bağımsız Değişkenler

name

Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

flags

Flags for determining how to filter the results, if name is provided.

Default is 0 which will only return results for attributes that are of the class name.

The only other option available, is to use ReflectionAttribute::IS_INSTANCEOF, which will instead use instanceof for filtering.

Dönen Değerler

Array of attributes, as a ReflectionAttribute object.

Örnekler

Örnek 1 Basic usage with a class method

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

class Factory {
#[Fruit]
#[Red]
public function makeApple(): string
{
return 'apple';
}
}

$method = new ReflectionMethod('Factory', 'makeApple');
$attributes = $method->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 2 Basic usage with a function

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

#[Fruit]
#[Red]
function makeApple(): string
{
return 'apple';
}

$function = new ReflectionFunction('makeApple');
$attributes = $function->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 3 Filtering results by class name

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

#[Fruit]
#[Red]
function makeApple(): string
{
return 'apple';
}

$function = new ReflectionFunction('makeApple');
$attributes = $function->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
)

Örnek 4 Filtering results by class name, with inheritance

<?php
interface Color {
}

#[Attribute]
class Fruit {
}

#[Attribute]
class Red implements Color {
}

#[Fruit]
#[Red]
function makeApple(): string
{
return 'apple';
}

$function = new ReflectionFunction('makeApple');
$attributes = $function->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Red
)

Ayrıca Bakınız

  • ReflectionClass::getAttributes() - Gets Attributes
  • ReflectionClassConstant::getAttributes() - Gets Attributes
  • ReflectionParameter::getAttributes() - Gets Attributes
  • ReflectionProperty::getAttributes() - Gets Attributes


Returns the scope class associated with the closure

  • « ReflectionFunctionAbstract::getAttributes
  • ReflectionFunctionAbstract::getClosureThis »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns the scope class associated with the closure

ReflectionFunctionAbstract::getClosureScopeClass

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getClosureScopeClass — Returns the scope class associated with the closure

Açıklama

public ReflectionFunctionAbstract::getClosureScopeClass(): ?ReflectionClass

Get the class enclosing the closure declaration.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the class, or null if the function is not a closure or if there was no enclosing class.


Returns this pointer bound to closure

  • « ReflectionFunctionAbstract::getClosureScopeClass
  • ReflectionFunctionAbstract::getClosureUsedVariables »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns this pointer bound to closure

ReflectionFunctionAbstract::getClosureThis

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getClosureThis — Returns this pointer bound to closure

Açıklama

public ReflectionFunctionAbstract::getClosureThis(): ?object

If the function is a non-static closure, get the object bound to $this inside the closure.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns $this pointer. Returns null in case of an error.


Returns an array of the used variables in the Closure

  • « ReflectionFunctionAbstract::getClosureThis
  • ReflectionFunctionAbstract::getDocComment »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns an array of the used variables in the Closure

ReflectionFunctionAbstract::getClosureUsedVariables

(PHP 8 >= 8.1.0)

ReflectionFunctionAbstract::getClosureUsedVariables — Returns an array of the used variables in the Closure

Açıklama

public ReflectionFunctionAbstract::getClosureUsedVariables(): array

Returns an array of the used variables in the Closure.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of the used variables in the Closure.

Örnekler

Örnek 1 ReflectionFunctionAbstract::getClosureUsedVariables() example

<?php

$one = 1;
$two = 2;

$function = function() use ($one, $two) {
static $three = 3;
};

$reflector = new ReflectionFunction($function);

var_dump($reflector->getClosureUsedVariables());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  ["one"]=>
  int(1)
  ["two"]=>
  int(2)
}

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getClosureScopeClass() - Returns the scope class associated with the closure
  • ReflectionFunctionAbstract::getClosureThis() - Returns this pointer bound to closure


Belgelendirici açıklamaları döndürür

  • « ReflectionFunctionAbstract::getClosureUsedVariables
  • ReflectionFunctionAbstract::getEndLine »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Belgelendirici açıklamaları döndürür

ReflectionFunctionAbstract::getDocComment

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getDocComment — Belgelendirici açıklamaları döndürür

Açıklama

public ReflectionFunctionAbstract::getDocComment(): string|false

İşlev tanımındaki belgelendirici açıklamaları döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Belgelendirici açıklamalar varsa bunları döndürür, yoksa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getStartLine() - Başlangıç satır numarasını döndürür


Son satır numarasını döndürür

  • « ReflectionFunctionAbstract::getDocComment
  • ReflectionFunctionAbstract::getExtension »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Son satır numarasını döndürür

ReflectionFunctionAbstract::getEndLine

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getEndLine — Son satır numarasını döndürür

Açıklama

public ReflectionFunctionAbstract::getEndLine(): int|false

Son satır numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı tanımlı işlevin son satır numarasını döndürür. Satır numarası bilinmiyorsa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getStartLine() - Başlangıç satır numarasını döndürür


Eklenti bilgilerini döndürür

  • « ReflectionFunctionAbstract::getEndLine
  • ReflectionFunctionAbstract::getExtensionName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Eklenti bilgilerini döndürür

ReflectionFunctionAbstract::getExtension

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getExtension — Eklenti bilgilerini döndürür

Açıklama

public ReflectionFunctionAbstract::getExtension(): ?ReflectionExtension

Bir işlev için eklenti bilgilerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionExtension nesnesi olarak eklenti bilgisi ya da kullanıcı tanımlı işlevler için null döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getExtensionName() - Eklenti ismini döndürür


Eklenti ismini döndürür

  • « ReflectionFunctionAbstract::getExtension
  • ReflectionFunctionAbstract::getFileName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Eklenti ismini döndürür

ReflectionFunctionAbstract::getExtensionName

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getExtensionName — Eklenti ismini döndürür

Açıklama

public ReflectionFunctionAbstract::getExtensionName(): string|false

Eklenti ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlevi tanımlayan eklentinin ismi, ya da kullanıcı tanımlı işlevler için false.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getExtension() - Eklenti bilgilerini döndürür


İşlevin tanımladığı dosyanın ismini döndürür

  • « ReflectionFunctionAbstract::getExtensionName
  • ReflectionFunctionAbstract::getName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlevin tanımladığı dosyanın ismini döndürür

ReflectionFunctionAbstract::getFileName

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getFileName — İşlevin tanımladığı dosyanın ismini döndürür

Açıklama

public ReflectionFunctionAbstract::getFileName(): string|false

Kullanıcı tanımlı işlevin tanımlandığı dosyanın ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Kullanıcı tanımlı işlevin tanımlandığı dosyanın ismini döndürür. İşlev PHP'nin kendisi veya bir eklenti tarafından tanımlanmışsa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNamespaceName() - İsim alanı adını döndürür


İşlev ismini döndürür

  • « ReflectionFunctionAbstract::getFileName
  • ReflectionFunctionAbstract::getNamespaceName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlev ismini döndürür

ReflectionFunctionAbstract::getName

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getName — İşlev ismini döndürür

Açıklama

public ReflectionFunctionAbstract::getName(): string

İşlev ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev ismi.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getExtensionName() - Eklenti ismini döndürür
  • ReflectionFunctionAbstract::isUserDefined() - İşlev kullanıcı tanımlı bir işlev mi diye bakar


İsim alanı adını döndürür

  • « ReflectionFunctionAbstract::getName
  • ReflectionFunctionAbstract::getNumberOfParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İsim alanı adını döndürür

ReflectionFunctionAbstract::getNamespaceName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNamespaceName — İsim alanı adını döndürür

Açıklama

public ReflectionFunctionAbstract::getNamespaceName(): string

Sınıfın tanımlandığı isim alanının adını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İsim alanı adı.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getFileName() - İşlevin tanımladığı dosyanın ismini döndürür
  • İsim Alanları


Bağımsız değişken sayısını döndürür

  • « ReflectionFunctionAbstract::getNamespaceName
  • ReflectionFunctionAbstract::getNumberOfRequiredParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Bağımsız değişken sayısını döndürür

ReflectionFunctionAbstract::getNumberOfParameters

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNumberOfParameters — Bağımsız değişken sayısını döndürür

Açıklama

public ReflectionFunctionAbstract::getNumberOfParameters(): int

İşlevin tanımladığı zorunlu ve seçimlik bağımsız değişkenlerin toplam sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişken sayısı.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNumberOfRequiredParameters() - Zorunlu bağımsız değişken sayısını döndürür
  • func_num_args() - İşleve aktarılan bağımsız değişken sayısını döndürür


Zorunlu bağımsız değişken sayısını döndürür

  • « ReflectionFunctionAbstract::getNumberOfParameters
  • ReflectionFunctionAbstract::getParameters »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Zorunlu bağımsız değişken sayısını döndürür

ReflectionFunctionAbstract::getNumberOfRequiredParameters

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getNumberOfRequiredParameters — Zorunlu bağımsız değişken sayısını döndürür

Açıklama

public ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int

Bir işlevde tanımlı zorunlu bağımsız değişken sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Zorunlu bağımsız değişken sayısı.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNumberOfParameters() - Bağımsız değişken sayısını döndürür


Bağımsız değişkenleri döndürür

  • « ReflectionFunctionAbstract::getNumberOfRequiredParameters
  • ReflectionFunctionAbstract::getReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Bağımsız değişkenleri döndürür

ReflectionFunctionAbstract::getParameters

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getParameters — Bağımsız değişkenleri döndürür

Açıklama

public ReflectionFunctionAbstract::getParameters(): array

Bağımsız değişkenleri bir ReflectionParameter dizisi olarak döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişkenler tanımlandıkları sırayla ReflectionParameter dizisi olarak döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNumberOfParameters() - Bağımsız değişken sayısını döndürür
  • func_get_args() - İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür


Gets the specified return type of a function

  • « ReflectionFunctionAbstract::getParameters
  • ReflectionFunctionAbstract::getShortName »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Gets the specified return type of a function

ReflectionFunctionAbstract::getReturnType

(PHP 7, PHP 8)

ReflectionFunctionAbstract::getReturnType — Gets the specified return type of a function

Açıklama

public ReflectionFunctionAbstract::getReturnType(): ?ReflectionType

Gets the specified return type of a reflected function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a ReflectionType object if a return type is specified, null otherwise.

Örnekler

Örnek 1 ReflectionFunctionAbstract::getReturnType() example

<?php

function to_int($param) : int {
return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
echo $reflection1->getReturnType();

Yukarıdaki örneğin çıktısı:

int

Örnek 2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->getReturnType());

Yukarıdaki örneğin çıktısı:

null

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::hasReturnType() - Checks if the function has a specified return type
  • ReflectionType::__toString() - To string


İşlevin kısa ismini döndürür

  • « ReflectionFunctionAbstract::getReturnType
  • ReflectionFunctionAbstract::getStartLine »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlevin kısa ismini döndürür

ReflectionFunctionAbstract::getShortName

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getShortName — İşlevin kısa ismini döndürür

Açıklama

public ReflectionFunctionAbstract::getShortName(): string

İşlevin kısa ismini (isim alansız ismini) döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlevin kısa ismi.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNamespaceName() - İsim alanı adını döndürür
  • İsim Alanları


Başlangıç satır numarasını döndürür

  • « ReflectionFunctionAbstract::getShortName
  • ReflectionFunctionAbstract::getStaticVariables »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Başlangıç satır numarasını döndürür

ReflectionFunctionAbstract::getStartLine

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getStartLine — Başlangıç satır numarasını döndürür

Açıklama

public ReflectionFunctionAbstract::getStartLine(): int|false

İşlev tanımının başlangıç satır numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başlangıç satır numarası, satır bilinmiyorsa false.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getEndLine() - Son satır numarasını döndürür


Duruk değişkenleri döndürür

  • « ReflectionFunctionAbstract::getStartLine
  • ReflectionFunctionAbstract::getTentativeReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Duruk değişkenleri döndürür

ReflectionFunctionAbstract::getStaticVariables

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::getStaticVariables — Duruk değişkenleri döndürür

Açıklama

public ReflectionFunctionAbstract::getStaticVariables(): array

Duruk değişkenleri döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Duruk değişken dizisi.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getParameters() - Bağımsız değişkenleri döndürür


Returns the tentative return type associated with the function

  • « ReflectionFunctionAbstract::getStaticVariables
  • ReflectionFunctionAbstract::hasReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns the tentative return type associated with the function

ReflectionFunctionAbstract::getTentativeReturnType

(PHP 8 >= 8.1.0)

ReflectionFunctionAbstract::getTentativeReturnType — Returns the tentative return type associated with the function

Açıklama

public ReflectionFunctionAbstract::getTentativeReturnType(): ?ReflectionType

Returns the tentative return type associated with the function.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a ReflectionType object if a tentative return type is specified, null otherwise.

Örnekler

Örnek 1 ReflectionFunctionAbstract::getTentativeReturnType() example

<?php

$method = new ReflectionMethod(\ArrayAccess::class, 'offsetGet');
var_dump($method->getTentativeReturnType());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(ReflectionNamedType)#2 (0) {
}

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getReturnType() - Gets the specified return type of a function
  • ReflectionFunctionAbstract::hasTentativeReturnType() - Returns whether the function has a tentative return type
  • Return Type Compatibility with Internal Classes


Checks if the function has a specified return type

  • « ReflectionFunctionAbstract::getTentativeReturnType
  • ReflectionFunctionAbstract::hasTentativeReturnType »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if the function has a specified return type

ReflectionFunctionAbstract::hasReturnType

(PHP 7, PHP 8)

ReflectionFunctionAbstract::hasReturnType — Checks if the function has a specified return type

Açıklama

public ReflectionFunctionAbstract::hasReturnType(): bool

Checks whether the reflected function has a return type specified.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the function is a specified return type, otherwise false.

Örnekler

Örnek 1 ReflectionFunctionAbstract::hasReturnType() example

<?php

function to_int($param) : int {
return (int) $param;
}

$reflection1 = new ReflectionFunction('to_int');
var_dump($reflection1->hasReturnType());

Yukarıdaki örneğin çıktısı:

bool(true)

Örnek 2 Usage on built-in functions

<?php

$reflection2 = new ReflectionFunction('array_merge');

var_dump($reflection2->hasReturnType());

Yukarıdaki örneğin çıktısı:

bool(false)

This is because many internal functions do not have types specified for their parameters or return values. It is therefore best to avoid using this method on built-in functions.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getReturnType() - Gets the specified return type of a function


Returns whether the function has a tentative return type

  • « ReflectionFunctionAbstract::hasReturnType
  • ReflectionFunctionAbstract::inNamespace »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns whether the function has a tentative return type

ReflectionFunctionAbstract::hasTentativeReturnType

(PHP 8 >= 8.1.0)

ReflectionFunctionAbstract::hasTentativeReturnType — Returns whether the function has a tentative return type

Açıklama

public ReflectionFunctionAbstract::hasTentativeReturnType(): bool

Returns whether the function has a tentative return type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the function has a tentative return type, otherwise false.

Örnekler

Örnek 1 ReflectionFunctionAbstract::hasTentativeReturnType() example

<?php

$method = new ReflectionMethod(\ArrayAccess::class, 'offsetGet');
var_dump($method->hasTentativeReturnType());

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getTentativeReturnType() - Returns the tentative return type associated with the function
  • ReflectionFunctionAbstract::hasReturnType() - Checks if the function has a specified return type
  • Return Type Compatibility with Internal Classes


İşlev isim alanına ait mi diye bakar

  • « ReflectionFunctionAbstract::hasTentativeReturnType
  • ReflectionFunctionAbstract::isClosure »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlev isim alanına ait mi diye bakar

ReflectionFunctionAbstract::inNamespace

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::inNamespace — İşlev isim alanına ait mi diye bakar

Açıklama

public ReflectionFunctionAbstract::inNamespace(): bool

İşlev isim alanında ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev isim alanında ise true değilse false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getNamespaceName() - İsim alanı adını döndürür
  • İsim Alanları


Bir anonim işlev mi diye bakar

  • « ReflectionFunctionAbstract::inNamespace
  • ReflectionFunctionAbstract::isDeprecated »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Bir anonim işlev mi diye bakar

ReflectionFunctionAbstract::isClosure

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isClosure — Bir anonim işlev mi diye bakar

Açıklama

public ReflectionFunctionAbstract::isClosure(): bool

Yansıtılan işlev bir Closure (isimsiz) ise true döner.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev bir Closure ise true yoksa false döner.

Örnekler

Örnek 1 - ReflectionFunctionAbstract::isClosure() örneği

<?php
// non-Closure - İşlev isimli
$function1 = 'str_replace';
$reflection1 = new ReflectionFunction($function1);
var_dump($reflection1->isClosure());

// Closure - işlev isimsiz
$function2 = function () {};
$reflection2 = new ReflectionFunction($function2);
var_dump($reflection2->isClosure());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionFunctionAbstract::isinternal() - İşlev yerleşik mi diye bakar
  • ReflectionFunctionAbstract::isGenerator() - Returns whether this function is a generator


Kullanımı önerilmiyor mu diye bakar

  • « ReflectionFunctionAbstract::isClosure
  • ReflectionFunctionAbstract::isGenerator »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Kullanımı önerilmiyor mu diye bakar

ReflectionFunctionAbstract::isDeprecated

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isDeprecated — Kullanımı önerilmiyor mu diye bakar

Açıklama

public ReflectionFunctionAbstract::isDeprecated(): bool

İşlevin kullanımı önerilmiyorsa true döner.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlevin kullanımı önerilmiyorsa true yoksa false döner

Örnekler

Örnek 1 - ReflectionFunctionAbstract::isDeprecated() örneği

<?php
$rf = new ReflectionFunction('ereg');
var_dump($rf->isDeprecated());
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getDocComment() - Belgelendirici açıklamaları döndürür


Returns whether this function is a generator

  • « ReflectionFunctionAbstract::isDeprecated
  • ReflectionFunctionAbstract::isInternal »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Returns whether this function is a generator

ReflectionFunctionAbstract::isGenerator

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isGenerator — Returns whether this function is a generator

Açıklama

public ReflectionFunctionAbstract::isGenerator(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the function is generator, false if it is not or null on failure.


İşlev yerleşik mi diye bakar

  • « ReflectionFunctionAbstract::isGenerator
  • ReflectionFunctionAbstract::isStatic »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlev yerleşik mi diye bakar

ReflectionFunctionAbstract::isInternal

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isInternal — İşlev yerleşik mi diye bakar

Açıklama

public ReflectionFunctionAbstract::isInternal(): bool

İşlev yerleşik ise true kullanıcı tanımlı ise false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev yerleşik ise true yoksa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::isUserDefined() - İşlev kullanıcı tanımlı bir işlev mi diye bakar


Checks if the function is static

  • « ReflectionFunctionAbstract::isInternal
  • ReflectionFunctionAbstract::isUserDefined »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if the function is static

ReflectionFunctionAbstract::isStatic

(PHP 5, PHP 7, PHP 8)

ReflectionFunctionAbstract::isStatic — Checks if the function is static

Açıklama

public ReflectionFunctionAbstract::isStatic(): bool

Checks if the function is static.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the function is static, otherwise false

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | This method has been pulled up. Previously, it was only defined in ReflectionMethod.

Ayrıca Bakınız

  • ReflectionMethod::isFinal() - Yöntem final olarak mı bildirilmiş diye bakar


İşlev kullanıcı tanımlı bir işlev mi diye bakar

  • « ReflectionFunctionAbstract::isStatic
  • ReflectionFunctionAbstract::isVariadic »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlev kullanıcı tanımlı bir işlev mi diye bakar

ReflectionFunctionAbstract::isUserDefined

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isUserDefined — İşlev kullanıcı tanımlı bir işlev mi diye bakar

Açıklama

public ReflectionFunctionAbstract::isUserDefined(): bool

İşlev kullanıcı tanımlı bir işlev ise true yerleşik bir işlevse false döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev kullanıcı tanımlı bir işlev ise true yoksa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::isInternal() - İşlev yerleşik mi diye bakar


Checks if the function is variadic

  • « ReflectionFunctionAbstract::isUserDefined
  • ReflectionFunctionAbstract::returnsReference »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Checks if the function is variadic

ReflectionFunctionAbstract::isVariadic

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::isVariadic — Checks if the function is variadic

Açıklama

public ReflectionFunctionAbstract::isVariadic(): bool

Checks if the function is variadic.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the function is variadic, otherwise false.


İşlev dönüş değeri gönderimli mi diye bakar

  • « ReflectionFunctionAbstract::isVariadic
  • ReflectionFunctionAbstract::__toString »
  • PHP Manual
  • ReflectionFunctionAbstract
  • İşlev dönüş değeri gönderimli mi diye bakar

ReflectionFunctionAbstract::returnsReference

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::returnsReference — İşlev dönüş değeri gönderimli mi diye bakar

Açıklama

public ReflectionFunctionAbstract::returnsReference(): bool

İşlev dönüş değeri gönderimli ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İşlev dönüş değeri gönderimli ise true yoksa false döner.

Ayrıca Bakınız

  • ReflectionFunctionAbstract::isClosure() - Bir anonim işlev mi diye bakar


Nesnenin dizgesel tepkisini görselleştirir

  • « ReflectionFunctionAbstract::returnsReference
  • ReflectionMethod »
  • PHP Manual
  • ReflectionFunctionAbstract
  • Nesnenin dizgesel tepkisini görselleştirir

ReflectionFunctionAbstract::__toString

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ReflectionFunctionAbstract::__toString — Nesnenin dizgesel tepkisini görselleştirir

Açıklama

abstract public ReflectionFunctionAbstract::__toString(): void

Yansıtılan nesnenin dizgesel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan nesnenin dizgesel gösterimi.

Ayrıca Bakınız

  • ReflectionFunction::__toString() - İşlevin bağımsız değişken satırını dizgeleştirerek döndürür
  • ReflectionMethod::__toString() - Yansıtılan yöntemin dizgesel gösterimini döndürür
  • __toString()


ReflectionMethod Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionMethod sınıfı bir yöntem hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionMethod extends ReflectionFunctionAbstract {
/* Sabitler */
public const int IS_STATIC;
public const int IS_PUBLIC;
public const int IS_PROTECTED;
public const int IS_PRIVATE;
public const int IS_ABSTRACT;
public const int IS_FINAL;
/* Özellikler */
public string $class;
/* Miras alınan özellikler */
public string $name;
/* Yöntemler */
public __construct(object|string $objectOrMethod, string $method)
public static createFromMethodName(string $method): static
public static export(string $sınıf, string $isim, bool $ihracet = false): string
public getClosure(?object $object = null): Closure
public getDeclaringClass(): ReflectionClass
public getModifiers(): int
public getPrototype(): void
public hasPrototype(): bool
public invoke(?object $nesne, mixed ...$bağımsız_değişkenler): mixed
public invokeArgs(?object $nesne, array $bağımsız_değişkenler): mixed
public isAbstract(): bool
public isConstructor(): bool
public isDestructor(): bool
public isFinal(): bool
public isPrivate(): bool
public isProtected(): bool
public isPublic(): bool
public setAccessible(bool $accessible): void
public __toString(): string
/* Miras alınan yöntemler */
private ReflectionFunctionAbstract::__clone(): void
public ReflectionFunctionAbstract::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionFunctionAbstract::getClosureScopeClass(): ?ReflectionClass
public ReflectionFunctionAbstract::getClosureThis(): ?object
public ReflectionFunctionAbstract::getClosureUsedVariables(): array
public ReflectionFunctionAbstract::getDocComment(): string|false
public ReflectionFunctionAbstract::getEndLine(): int|false
public ReflectionFunctionAbstract::getExtension(): ?ReflectionExtension
public ReflectionFunctionAbstract::getExtensionName(): string|false
public ReflectionFunctionAbstract::getFileName(): string|false
public ReflectionFunctionAbstract::getName(): string
public ReflectionFunctionAbstract::getNamespaceName(): string
public ReflectionFunctionAbstract::getNumberOfParameters(): int
public ReflectionFunctionAbstract::getNumberOfRequiredParameters(): int
public ReflectionFunctionAbstract::getParameters(): array
public ReflectionFunctionAbstract::getReturnType(): ?ReflectionType
public ReflectionFunctionAbstract::getShortName(): string
public ReflectionFunctionAbstract::getStartLine(): int|false
public ReflectionFunctionAbstract::getStaticVariables(): array
public ReflectionFunctionAbstract::getTentativeReturnType(): ?ReflectionType
public ReflectionFunctionAbstract::hasReturnType(): bool
public ReflectionFunctionAbstract::hasTentativeReturnType(): bool
public ReflectionFunctionAbstract::inNamespace(): bool
public ReflectionFunctionAbstract::isClosure(): bool
public ReflectionFunctionAbstract::isDeprecated(): bool
public ReflectionFunctionAbstract::isGenerator(): bool
public ReflectionFunctionAbstract::isInternal(): bool
public ReflectionFunctionAbstract::isStatic(): bool
public ReflectionFunctionAbstract::isUserDefined(): bool
public ReflectionFunctionAbstract::isVariadic(): bool
public ReflectionFunctionAbstract::returnsReference(): bool
abstract public ReflectionFunctionAbstract::__toString(): void
}

Özellikler

name

Yöntemin ismi.

class

Sınıfın ismi

Öntanımlı Sabitler

ReflectionMethod Değiştiricileri

ReflectionMethod::IS_STATIC

Yöntemin statik olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 1 idi.

ReflectionMethod::IS_PUBLIC

Yöntemin public olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 256 idi.

ReflectionMethod::IS_PROTECTED

Yöntemin protected olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 512 idi.

ReflectionMethod::IS_PRIVATE

Yöntemin private olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 1024 idi.

ReflectionMethod::IS_ABSTRACT

Yöntemin abstract olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 2 idi.

ReflectionMethod::IS_FINAL

Yöntemin bir final olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 4 idi.

Bilginize:

Sabitlerin değerleri PHP sürümleri arasında farklılık gösterebilir. Bu bakımdan sabitler değerleriyle değil isimleriyle kullanılmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionMethod::export() kaldırıldı.

İçindekiler

  • ReflectionMethod::__construct — Yeni bir ReflectionMethod nesnesi oluşturur
  • ReflectionMethod::createFromMethodName — Creates a new ReflectionMethod
  • ReflectionMethod::export — Bir yöntem ihraç eder
  • ReflectionMethod::getClosure — Returns a dynamically created closure for the method
  • ReflectionMethod::getDeclaringClass — Yansıtılan yöntemin bildirildiği sınıfı döndürür
  • ReflectionMethod::getModifiers — Erişim değiştiricileri döndürür
  • ReflectionMethod::getPrototype — Yöntem bildirimini (varsa) döndürür
  • ReflectionMethod::hasPrototype — Returns whether a method has a prototype
  • ReflectionMethod::invoke — Yöntemi çağırır
  • ReflectionMethod::invokeArgs — Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır
  • ReflectionMethod::isAbstract — Yöntem soyut mu diye bakar
  • ReflectionMethod::isConstructor — Yöntem bir kurucu mu diye bakar
  • ReflectionMethod::isDestructor — Yöntem bir yıkıcı mı diye bakar
  • ReflectionMethod::isFinal — Yöntem final olarak mı bildirilmiş diye bakar
  • ReflectionMethod::isPrivate — Yöntem private olarak mı bildirilmiş diye bakar
  • ReflectionMethod::isProtected — Yöntem protected olarak mı bildirilmiş diye bakar
  • ReflectionMethod::isPublic — Yöntem public olarak mı bildirilmiş diye bakar
  • ReflectionMethod::setAccessible — Set method accessibility
  • ReflectionMethod::__toString — Yansıtılan yöntemin dizgesel gösterimini döndürür


Yeni bir ReflectionMethod nesnesi oluşturur

  • « ReflectionMethod
  • ReflectionMethod::createFromMethodName »
  • PHP Manual
  • ReflectionMethod
  • Yeni bir ReflectionMethod nesnesi oluşturur

ReflectionMethod::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::__construct — Yeni bir ReflectionMethod nesnesi oluşturur

Açıklama

public ReflectionMethod::__construct(object|string $objectOrMethod, string $method)

Diğer sözdizimi (isimli bağımsız değişkenler desteklenmiyor):

public ReflectionMethod::__construct(string $classMethod)

Yeni bir ReflectionMethod nesnesi oluşturur.

Bağımsız Değişkenler

objectOrMethod

Yöntemi içeren nesne (sınıf örneği) veya sınıf ismi.

method

Yöntemin adı.

classMethod

Sözdizimi: SınıfAdı::yöntemAdı

Hatalar/İstisnalar

Belirtilen yöntem mevcut değilse bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - ReflectionMethod::__construct() örneği

<?php
class Sayaç
{
private static $c = 0;

/**
* Artan sayaç
*
* @final
* @static
* @access public
* @return int
*/
final public static function arttır()
{
return ++self::$c;
}
}

// ReflectionMethod sınıfının yeni bir örneğini oluşturalım
$method = new ReflectionMethod('Sayaç', 'arttır');

// Temel bilgileri basalım
printf(
"===> %s%s%s%s%s%s%s '%s' yöntemi (%s)\n" .
" %s dosyasının\n" .
" %d. satırından %d. satırına kadar\n" .
" %d[%s] değiştiriciyle tanımlanmış.\n",
$method->isInternal() ? 'Yerleşik' : 'Kullanıcı tanımlı',
$method->isAbstract() ? ' abstract' : '',
$method->isFinal() ? ' final' : '',
$method->isPublic() ? ' public' : '',
$method->isPrivate() ? ' private' : '',
$method->isProtected() ? ' protected' : '',
$method->isStatic() ? ' static' : '',
$method->getName(),
$method->isConstructor() ? 'bir kurucu' : 'sıradan bir yöntem',
$method->getFileName(),
$method->getStartLine(),
$method->getEndline(),
$method->getModifiers(),
implode(' ', Reflection::getModifierNames($method->getModifiers()))
);

// Belgelendirici açıklamaları basalım
printf("---> Belgeleme:\n %s\n", var_export($method->getDocComment(), true));

// Varsa duruk değişkenleri basalım
if ($statics= $method->getStaticVariables()) {
printf("---> Duruk değişkenler: %s\n", var_export($statics, true));
}

// Yöntemi çağıralım
printf("---> Çağrı sonuçları: ");
var_dump($method->invoke(NULL));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

===> Kullanıcı tanımlı final public static 'arttır' yöntemi (sıradan bir yöntem)
     /home/nilgun/dnm.php dosyasının
     14. satırından 17. satırına kadar
     49[final public static] değiştiriciyle tanımlanmış.
---> Belgeleme:
 '/**
     * Artan sayaç
     *
     * @final
     * @static
     * @access  public
     * @return  int
     */'
---> Çağrı sonuçları: int(1)

Ayrıca Bakınız

  • ReflectionMethod::export() - Bir yöntem ihraç eder
  • Kurucular


Creates a new ReflectionMethod

  • « ReflectionMethod::__construct
  • ReflectionMethod::export »
  • PHP Manual
  • ReflectionMethod
  • Creates a new ReflectionMethod

ReflectionMethod::createFromMethodName

(PHP 8 >= 8.3.0)

ReflectionMethod::createFromMethodName — Creates a new ReflectionMethod

Açıklama

public static ReflectionMethod::createFromMethodName(string $method): static

Creates a new ReflectionMethod.

Bağımsız Değişkenler

method

Class name and method name delimited by ::.

Dönen Değerler

Returns a new ReflectionMethod on success.

Hatalar/İstisnalar

A ReflectionException is thrown if the given method does not exist.

Örnekler

Örnek 1 ReflectionMethod::createFromMethodName() example

<?php

class Foo {
public function bar() {

}
}

$methodInfo = ReflectionMethod::createFromMethodName("Foo::bar");
var_dump($methodInfo);
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionMethod)#1 (2) {
  ["name"]=>
  string(3) "bar"
  ["class"]=>
  string(3) "Foo"
}


Bir yöntem ihraç eder

  • « ReflectionMethod::createFromMethodName
  • ReflectionMethod::getClosure »
  • PHP Manual
  • ReflectionMethod
  • Bir yöntem ihraç eder

ReflectionMethod::export

(PHP 5, PHP 7)

ReflectionMethod::export — Bir yöntem ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionMethod::export(string $sınıf, string $isim, bool $ihracet = false): string

ReflectionMethod ihraç eder.

Bağımsız Değişkenler

sınıf

Sınıf ismi.

isim

Yöntem ismi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Ayrıca Bakınız

  • ReflectionMethod::__toString() - Yansıtılan yöntemin dizgesel gösterimini döndürür


Returns a dynamically created closure for the method

  • « ReflectionMethod::export
  • ReflectionMethod::getDeclaringClass »
  • PHP Manual
  • ReflectionMethod
  • Returns a dynamically created closure for the method

ReflectionMethod::getClosure

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionMethod::getClosure — Returns a dynamically created closure for the method

Açıklama

public ReflectionMethod::getClosure(?object $object = null): Closure

Create a closure which will call the method.

Bağımsız Değişkenler

object

Forbidden for static methods, required for other methods.

Dönen Değerler

Returns the newly created Closure.

Hatalar/İstisnalar

Throws a ValueError if object is null but the method is non-static.

Throws a ReflectionException if object is not an instance of the class this method was declared in.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | object is now nullable.

Ayrıca Bakınız

  • First class callable syntax


Yansıtılan yöntemin bildirildiği sınıfı döndürür

  • « ReflectionMethod::getClosure
  • ReflectionMethod::getModifiers »
  • PHP Manual
  • ReflectionMethod
  • Yansıtılan yöntemin bildirildiği sınıfı döndürür

ReflectionMethod::getDeclaringClass

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::getDeclaringClass — Yansıtılan yöntemin bildirildiği sınıfı döndürür

Açıklama

public ReflectionMethod::getDeclaringClass(): ReflectionClass

Yansıtılan yöntemin bildirildiği sınıfı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan yöntemin parçası olduğu sınıfın ReflectionClass nesnesi.

Örnekler

Örnek 1 - ReflectionMethod::getDeclaringClass() örneği

<?php
class HelloWorld {

protected function sayHelloTo($name) {
return 'Hello ' . $name;
}

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
var_dump($reflectionMethod->getDeclaringClass());
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(10) "HelloWorld"
}

Ayrıca Bakınız

  • ReflectionMethod::isAbstract() - Yöntem soyut mu diye bakar


Erişim değiştiricileri döndürür

  • « ReflectionMethod::getDeclaringClass
  • ReflectionMethod::getPrototype »
  • PHP Manual
  • ReflectionMethod
  • Erişim değiştiricileri döndürür

ReflectionMethod::getModifiers

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::getModifiers — Erişim değiştiricileri döndürür

Açıklama

public ReflectionMethod::getModifiers(): int

Bu yöntem için erişim değiştiricilerinin bitsel toplamını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Değiştiricilerin sayısal gösterimi. Bu değiştiricilerin güncel anlamları öntanımlı sabitler bölümünde açıklanmıştır.

Örnekler

Örnek 1 - ReflectionMethod::getModifiers() örneği

<?php
class Testing
{
final public static function foo()
{
return;
}
public function bar()
{
return;
}
}

$foo = new ReflectionMethod('Testing', 'foo');

echo "foo() yönteminin değiştiricileri:\n";
echo $foo->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($foo->getModifiers())) . "\n";

$bar = new ReflectionMethod('Testing', 'bar');

echo "bar() yönteminin değiştiricileri:\n";
echo $bar->getModifiers() . "\n";
echo implode(' ', Reflection::getModifierNames($bar->getModifiers()));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

foo() yönteminin değiştiricileri:
49
final public static
bar() yönteminin değiştiricileri:
1
public

Ayrıca Bakınız

  • Reflection::getModifierNames() - Değiştirici isimlerini döndürür


Yöntem bildirimini (varsa) döndürür

  • « ReflectionMethod::getModifiers
  • ReflectionMethod::hasPrototype »
  • PHP Manual
  • ReflectionMethod
  • Yöntem bildirimini (varsa) döndürür

ReflectionMethod::getPrototype

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionMethod::getPrototype — Yöntem bildirimini (varsa) döndürür

Açıklama

public ReflectionMethod::getPrototype(): void

Yöntem bildirimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem bildiriminin ReflectionMethod örneği.

Hatalar/İstisnalar

Yöntemin bir bildirimi yoksa bir ReflectionException istisnası oluşur.

Örnekler

Örnek 1 - ReflectionMethod::getPrototype() örneği

<?php
class Hello {

public function sayHelloTo($name) {
return 'Hello ' . $name;
}

}
class HelloWorld extends Hello {

public function sayHelloTo($name) {
return 'Hello world: ' . $name;
}

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
var_dump($reflectionMethod->getPrototype());
?>

Yukarıdaki örneğin çıktısı:

object(ReflectionMethod)#2 (2) {
  ["name"]=>
  string(10) "sayHelloTo"
  ["class"]=>
  string(5) "Hello"
}

Ayrıca Bakınız

  • ReflectionMethod::getModifiers() - Erişim değiştiricileri döndürür
  • ReflectionMethod::hasPrototype() - Returns whether a method has a prototype


Returns whether a method has a prototype

  • « ReflectionMethod::getPrototype
  • ReflectionMethod::invoke »
  • PHP Manual
  • ReflectionMethod
  • Returns whether a method has a prototype

ReflectionMethod::hasPrototype

(PHP 8 >= 8.2.0)

ReflectionMethod::hasPrototype — Returns whether a method has a prototype

Açıklama

public ReflectionMethod::hasPrototype(): bool

Returns whether a method has a prototype.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the method has a prototype, otherwise false.

Örnekler

Örnek 1 ReflectionMethod::hasPrototype() example

<?php

class Hello
{
public function sayHelloTo($name)
{
return 'Hello '.$name;
}
}

class HelloWorld extends Hello
{
public function sayHelloTo($name)
{
return 'Hello world: '.$name;
}
}
$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
var_dump($reflectionMethod->hasPrototype());
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • ReflectionMethod::getPrototype() - Yöntem bildirimini (varsa) döndürür


Yöntemi çağırır

  • « ReflectionMethod::hasPrototype
  • ReflectionMethod::invokeArgs »
  • PHP Manual
  • ReflectionMethod
  • Yöntemi çağırır

ReflectionMethod::invoke

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::invoke — Yöntemi çağırır

Açıklama

public ReflectionMethod::invoke(?object $nesne, mixed ...$bağımsız_değişkenler): mixed

Yansıtılan yöntemi çağırır.

Bağımsız Değişkenler

nesne

Yöntemin çağrılacağı nesne. Statik yöntemlerde bu bağımsız değişkene null aktarılır.

bağımsız_değişkenler

Yönteme aktarılacak bağımsız değişken listesi. call_user_func() işlevindeki gibi yönteme değişken sayıda bağımsız değişken aktarılabilir.

Dönen Değerler

Yöntemin sonucu döner.

Hatalar/İstisnalar

nesne bağımsız değişkeni bu yöntemin bildirildiği sınıfın örneğini içermiyorsa bir ReflectionException yavrulanır.

Yöntem çağrısı başarısız olursa bir ReflectionException yavrulanır.

Örnekler

Örnek 1 - ReflectionMethod::invoke() örneği

<?php
class HelloWorld {

public function sayHelloTo($name) {
return 'Hello ' . $name;
}

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invoke(new HelloWorld(), 'Mike');
?>

Yukarıdaki örneğin çıktısı:

Hello Mike

Notlar

Bilginize:

Değer döndüren bağımsız değişkenlerin varlığında ReflectionMethod::invoke() kullanılamaz. Yerine ReflectionMethod::invokeArgs() kullanılmalıdır (bağımsız değişken listesinde bunları gönderimli aktararak).

Ayrıca Bakınız

  • ReflectionMethod::invokeArgs() - Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır
  • __invoke()
  • call_user_func() - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır


Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır

  • « ReflectionMethod::invoke
  • ReflectionMethod::isAbstract »
  • PHP Manual
  • ReflectionMethod
  • Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır

ReflectionMethod::invokeArgs

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionMethod::invokeArgs — Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır

Açıklama

public ReflectionMethod::invokeArgs(?object $nesne, array $bağımsız_değişkenler): mixed

Bağımsız değişkenleri dizi içinde aktararak yöntemi çağırır.

Bağımsız Değişkenler

nesne

Yöntemin çağrılacağı nesne. Statik yöntemlerde bu bağımsız değişkene null aktarılır.

bağımsız_değişkenler

Bir dizi olarak, yönteme aktarılacak bağımsız değişkenler.

Dönen Değerler

Yöntemin sonucu döner.

Hatalar/İstisnalar

nesne bağımsız değişkeni bu yöntemin bildirildiği sınıfın örneğini içermiyorsa bir ReflectionException yavrulanır.

Yöntem çağrısı başarısız olursa bir ReflectionException yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | bağımsız_değişkenler anahtarları artık sessizce yok sayılmıyor ve bağımsız değişken isimleri olarak yorumlanıyor.

Örnekler

Örnek 1 - ReflectionMethod::invokeArgs() örneği

<?php
class HelloWorld {

public function sayHelloTo($name) {
return 'Hello ' . $name;
}

}

$reflectionMethod = new ReflectionMethod('HelloWorld', 'sayHelloTo');
echo $reflectionMethod->invokeArgs(new HelloWorld(), array('Mike'));
?>

Yukarıdaki örneğin çıktısı:

Hello Mike

Notlar

Bilginize:

Eğer işlev değer döndürmeyi gerektiren bağımsız değişkenlere sahipse bağımsız değişken dizisinde bunların gönderimli oldukları belirtilmelidir.

Ayrıca Bakınız

  • ReflectionMethod::invoke() - Yöntemi çağırır
  • __invoke()
  • call_user_func_array() - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır


Yöntem soyut mu diye bakar

  • « ReflectionMethod::invokeArgs
  • ReflectionMethod::isConstructor »
  • PHP Manual
  • ReflectionMethod
  • Yöntem soyut mu diye bakar

ReflectionMethod::isAbstract

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isAbstract — Yöntem soyut mu diye bakar

Açıklama

public ReflectionMethod::isAbstract(): bool

Yöntem soyut ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem soyut ise true yoksa false döner.

Ayrıca Bakınız

  • ReflectionMethod::getDeclaringClass() - Yansıtılan yöntemin bildirildiği sınıfı döndürür


Yöntem bir kurucu mu diye bakar

  • « ReflectionMethod::isAbstract
  • ReflectionMethod::isDestructor »
  • PHP Manual
  • ReflectionMethod
  • Yöntem bir kurucu mu diye bakar

ReflectionMethod::isConstructor

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isConstructor — Yöntem bir kurucu mu diye bakar

Açıklama

public ReflectionMethod::isConstructor(): bool

Yöntem bir kurucu yöntem ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem bir kurucu yöntem ise true yoksa false.

Ayrıca Bakınız

  • ReflectionMethod::__construct() - Yeni bir ReflectionMethod nesnesi oluşturur
  • ReflectionMethod::isAbstract() - Yöntem soyut mu diye bakar
  • ReflectionMethod::isDestructor() - Yöntem bir yıkıcı mı diye bakar


Yöntem bir yıkıcı mı diye bakar

  • « ReflectionMethod::isConstructor
  • ReflectionMethod::isFinal »
  • PHP Manual
  • ReflectionMethod
  • Yöntem bir yıkıcı mı diye bakar

ReflectionMethod::isDestructor

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isDestructor — Yöntem bir yıkıcı mı diye bakar

Açıklama

public ReflectionMethod::isDestructor(): bool

Yöntem bir yıkıcı ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem bir yıkıcı ise true yoksa false.

Ayrıca Bakınız

  • ReflectionMethod::isConstructor() - Yöntem bir kurucu mu diye bakar


Yöntem final olarak mı bildirilmiş diye bakar

  • « ReflectionMethod::isDestructor
  • ReflectionMethod::isPrivate »
  • PHP Manual
  • ReflectionMethod
  • Yöntem final olarak mı bildirilmiş diye bakar

ReflectionMethod::isFinal

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isFinal — Yöntem final olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionMethod::isFinal(): bool

Yöntem final olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem final olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionMethod::isStatic()


Yöntem private olarak mı bildirilmiş diye bakar

  • « ReflectionMethod::isFinal
  • ReflectionMethod::isProtected »
  • PHP Manual
  • ReflectionMethod
  • Yöntem private olarak mı bildirilmiş diye bakar

ReflectionMethod::isPrivate

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isPrivate — Yöntem private olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionMethod::isPrivate(): bool

Yöntem private olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem private olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionMethod::isPublic() - Yöntem public olarak mı bildirilmiş diye bakar


Yöntem protected olarak mı bildirilmiş diye bakar

  • « ReflectionMethod::isPrivate
  • ReflectionMethod::isPublic »
  • PHP Manual
  • ReflectionMethod
  • Yöntem protected olarak mı bildirilmiş diye bakar

ReflectionMethod::isProtected

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isProtected — Yöntem protected olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionMethod::isProtected(): bool

Yöntem protected olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem protected olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionMethod::isPrivate() - Yöntem private olarak mı bildirilmiş diye bakar


Yöntem public olarak mı bildirilmiş diye bakar

  • « ReflectionMethod::isProtected
  • ReflectionMethod::setAccessible »
  • PHP Manual
  • ReflectionMethod
  • Yöntem public olarak mı bildirilmiş diye bakar

ReflectionMethod::isPublic

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::isPublic — Yöntem public olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionMethod::isPublic(): bool

Yöntem public olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yöntem public olarak bildirilmişse true yoksa false

Ayrıca Bakınız

  • ReflectionMethod::isPrivate() - Yöntem private olarak mı bildirilmiş diye bakar


Set method accessibility

  • « ReflectionMethod::isPublic
  • ReflectionMethod::__toString »
  • PHP Manual
  • ReflectionMethod
  • Set method accessibility

ReflectionMethod::setAccessible

(PHP 5 >= 5.3.2, PHP 7, PHP 8)

ReflectionMethod::setAccessible — Set method accessibility

Açıklama

public ReflectionMethod::setAccessible(bool $accessible): void

Enables invoking of a protected or private method via the ReflectionMethod::invoke() method.

Bilginize: As of PHP 8.1.0, calling this method has no effect; all methods are invokable by default.

Bağımsız Değişkenler

accessible

true to allow accessibility, or false.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Simple Class definition

<?php
class MyClass
{
private function foo()
{
return 'bar';
}
}

$method = new ReflectionMethod("MyClass", "foo");
$method->setAccessible(true);

$obj = new MyClass();
echo $method->invoke($obj);
echo $obj->foo();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bar
Fatal error: Uncaught Error: Call to private method MyClass::foo() from global scope in /in/qdaZS:16

Ayrıca Bakınız

  • ReflectionMethod::isPrivate() - Yöntem private olarak mı bildirilmiş diye bakar
  • ReflectionMethod::isProtected() - Yöntem protected olarak mı bildirilmiş diye bakar


Yansıtılan yöntemin dizgesel gösterimini döndürür

  • « ReflectionMethod::setAccessible
  • ReflectionNamedType »
  • PHP Manual
  • ReflectionMethod
  • Yansıtılan yöntemin dizgesel gösterimini döndürür

ReflectionMethod::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionMethod::__toString — Yansıtılan yöntemin dizgesel gösterimini döndürür

Açıklama

public ReflectionMethod::__toString(): string

Yansıtılan yöntemin dizgesel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bu ReflectionMethod örneğinin dizgesel gösterimi.

Örnekler

Örnek 1 - ReflectionMethod::__toString() örneği

<?php
class HelloWorld {

public function sayHelloTo($name) {
return 'Hello ' . $name;
}

}

$reflectionMethod = new ReflectionMethod(new HelloWorld(), 'sayHelloTo');
echo $reflectionMethod;
?>

Yukarıdaki örneğin çıktısı:

Method [ <user> public method sayHelloTo ] {
  @@ /var/www/examples/reflection.php 16 - 18

  - Parameters [1] {
    Parameter #0 [ <required> $name ]
  }
}

Ayrıca Bakınız

  • ReflectionMethod::export() - Bir yöntem ihraç eder
  • __toString()


ReflectionNamedType sınıfı

(PHP 7 >= 7.1.0, PHP 8)

Giriş

Sınıf Sözdizimi

class ReflectionNamedType extends ReflectionType {
/* Yöntemler */
public getName(): string
public isBuiltin(): bool
/* Miras alınan yöntemler */
public ReflectionType::allowsNull(): bool
public ReflectionType::__toString(): string
}

İçindekiler

  • ReflectionNamedType::getName — Get the name of the type as a string
  • ReflectionNamedType::isBuiltin — Checks if it is a built-in type


Get the name of the type as a string

  • « ReflectionNamedType
  • ReflectionNamedType::isBuiltin »
  • PHP Manual
  • ReflectionNamedType
  • Get the name of the type as a string

ReflectionNamedType::getName

(PHP 7 >= 7.1.0, PHP 8)

ReflectionNamedType::getName — Get the name of the type as a string

Açıklama

public ReflectionNamedType::getName(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the name of the type being reflected.

Ayrıca Bakınız

  • ReflectionType::__toString() - To string


Checks if it is a built-in type

  • « ReflectionNamedType::getName
  • ReflectionObject »
  • PHP Manual
  • ReflectionNamedType
  • Checks if it is a built-in type

ReflectionNamedType::isBuiltin

(PHP 7, PHP 8)

ReflectionNamedType::isBuiltin — Checks if it is a built-in type

Açıklama

public ReflectionNamedType::isBuiltin(): bool

Checks if the type is a built-in type in PHP. A built-in type is any type that is not a class, interface, or trait.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if it's a built-in type, otherwise false

Örnekler

Örnek 1 ReflectionNamedType::isBuiltin() example

<?php
class SomeClass {}

function someFunction(string $param, SomeClass $param2, stdClass $param3) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->isBuiltin());
var_dump($reflectionParams[1]->getType()->isBuiltin());
var_dump($reflectionParams[2]->getType()->isBuiltin());

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)

Note that the ReflectionNamedType::isBuiltin() method does not distinguish between internal and custom classes. To make this distinction, the ReflectionClass::isInternal() method should be used on the returned class name.

Ayrıca Bakınız

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionType::__toString() - To string
  • ReflectionClass::isInternal() - Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar
  • ReflectionParameter::getType() - Gets a parameter's type


ReflectionObject Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionObject sınıfı bir nesne (object) hakkında bigi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionObject extends ReflectionClass {
/* Miras alınan sabitler */
public const int ReflectionClass::IS_IMPLICIT_ABSTRACT;
public const int ReflectionClass::IS_EXPLICIT_ABSTRACT;
public const int ReflectionClass::IS_FINAL;
public const int ReflectionClass::IS_READONLY;
/* Miras alınan özellikler */
public string $name;
/* Yöntemler */
public __construct(object $object)
/* Miras alınan yöntemler */
public static ReflectionClass::export(mixed $bağımsız_değişken, bool $return = false): string
public ReflectionClass::getAttributes(?string $name = null, int $flags = 0): array
public ReflectionClass::getConstant(string $isim): mixed
public ReflectionClass::getConstants(?int $filter = null): array
public ReflectionClass::getConstructor(): ?ReflectionMethod
public ReflectionClass::getDefaultProperties(): array
public ReflectionClass::getDocComment(): string|false
public ReflectionClass::getEndLine(): int|false
public ReflectionClass::getExtension(): ?ReflectionExtension
public ReflectionClass::getExtensionName(): string|false
public ReflectionClass::getFileName(): string|false
public ReflectionClass::getInterfaceNames(): array
public ReflectionClass::getInterfaces(): array
public ReflectionClass::getMethod(string $isim): ReflectionMethod
public ReflectionClass::getMethods(?int $süzgeç = null): array
public ReflectionClass::getModifiers(): int
public ReflectionClass::getName(): string
public ReflectionClass::getNamespaceName(): string
public ReflectionClass::getParentClass(): ReflectionClass|false
public ReflectionClass::getProperties(?int $süzgeç = null): array
public ReflectionClass::getProperty(string $isim): ReflectionProperty
public ReflectionClass::getReflectionConstant(string $name): ReflectionClassConstant|false
public ReflectionClass::getReflectionConstants(?int $filter = null): array
public ReflectionClass::getShortName(): string
public ReflectionClass::getStartLine(): int|false
public ReflectionClass::getStaticProperties(): ?array
public ReflectionClass::getStaticPropertyValue(string $isim, mixed &$öntanımlı = ?): mixed
public ReflectionClass::getTraitAliases(): array
public ReflectionClass::getTraitNames(): array
public ReflectionClass::getTraits(): array
public ReflectionClass::hasConstant(string $isim): bool
public ReflectionClass::hasMethod(string $isim): bool
public ReflectionClass::hasProperty(string $isim): bool
public ReflectionClass::implementsInterface(ReflectionClass|string $interface): bool
public ReflectionClass::inNamespace(): bool
public ReflectionClass::isAbstract(): bool
public ReflectionClass::isAnonymous(): bool
public ReflectionClass::isCloneable(): bool
public ReflectionClass::isEnum(): bool
public ReflectionClass::isFinal(): bool
public ReflectionClass::isInstance(string $nesne): bool
public ReflectionClass::isInstantiable(): bool
public ReflectionClass::isInterface(): bool
public ReflectionClass::isInternal(): bool
public ReflectionClass::isIterable(): bool
public ReflectionClass::isReadOnly(): bool
public ReflectionClass::isSubclassOf(ReflectionClass|string $class): bool
public ReflectionClass::isTrait(): bool
public ReflectionClass::isUserDefined(): bool
public ReflectionClass::newInstance(mixed $bağımsız_değişkenler): object
public ReflectionClass::newInstanceArgs(array $bağımsız_değişkenler = []): ?object
public ReflectionClass::newInstanceWithoutConstructor(): object
public ReflectionClass::setStaticPropertyValue(string $isim, mixed $değer): void
public ReflectionClass::__toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionObject::export() kaldırıldı.

İçindekiler

  • ReflectionObject::__construct — Bir ReflectionObject nesnesi oluşturur
  • ReflectionObject::export — Sınıfı ihraç eder


Bir ReflectionObject nesnesi oluşturur

  • « ReflectionObject
  • ReflectionObject::export »
  • PHP Manual
  • ReflectionObject
  • Bir ReflectionObject nesnesi oluşturur

ReflectionObject::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionObject::__construct — Bir ReflectionObject nesnesi oluşturur

Açıklama

public ReflectionObject::__construct(object $object)

Bir ReflectionObject nesnesi oluşturur.

Bağımsız Değişkenler

object

Bir nesne örneği.

Ayrıca Bakınız

  • ReflectionObject::export() - Sınıfı ihraç eder
  • Kurucular


Sınıfı ihraç eder

  • « ReflectionObject::__construct
  • ReflectionParameter »
  • PHP Manual
  • ReflectionObject
  • Sınıfı ihraç eder

ReflectionObject::export

(PHP 5, PHP 7)

ReflectionObject::export — Sınıfı ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionObject::export(string $bağımsız_değişken, bool $ihracet = ?): string

Sınıfı ihraç eder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

bağımsız_değişken

İhraç edilecek Reflection nesnesi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

true belirtilirse bir dizge yoksa null döner.

Ayrıca Bakınız

  • ReflectionObject::__construct() - Bir ReflectionObject nesnesi oluşturur


ReflectionParameter Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionParameter sınıfı işlev veya yöntemin bağımsız değişkenleri hakkında bilgi edinilmesini sağlar.

Bir işlevin bağımsız değişkenlerini incelemek için önce ReflectionFunction veya ReflectionMethod sınıfının bir örneğini oluşturmalı, sonra da bu sınıfların ReflectionFunctionAbstract::getParameters() yöntemini kullanarak bağımsız değişken dizisini almalısınız.

Sınıf Sözdizimi

class ReflectionParameter implements Reflector {
/* Özellikler */
public string $name;
/* Yöntemler */
public __construct(string|array|object $function, int|string $param)
public allowsNull(): bool
public canBePassedByValue(): bool
private __clone(): void
public static export(string $işlev, string $bağımsız_değişken, bool $ihracet = ?): string
public getAttributes(?string $name = null, int $flags = 0): array
public getClass(): ?ReflectionClass
public getDeclaringClass(): ?ReflectionClass
public getDeclaringFunction(): ReflectionFunctionAbstract
public getDefaultValue(): mixed
public getDefaultValueConstantName(): ?string
public getName(): string
public getPosition(): int
public getType(): ?ReflectionType
public hasType(): bool
public isArray(): bool
public isCallable(): bool
public isDefaultValueAvailable(): bool
public isDefaultValueConstant(): bool
public isOptional(): bool
public isPassedByReference(): bool
public isVariadic(): bool
public __toString(): string
}

Özellikler

name

Bağımsız değişken ismi. Salt-okunur olup yazaöaya çalışılırsa bir ReflectionException yavrular.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionParameter::export() kaldırıldı.

İçindekiler

  • ReflectionParameter::allowsNull — null değere izin veriliyor mu diye bakar
  • ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value
  • ReflectionParameter::__clone — Nesneyi kopyalar
  • ReflectionParameter::__construct — Bir ReflectionParameter nesnesi oluşturur
  • ReflectionParameter::export — Sınıfı ihraç eder
  • ReflectionParameter::getAttributes — Gets Attributes
  • ReflectionParameter::getClass — Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür
  • ReflectionParameter::getDeclaringClass — Bildiren sınıfı döndürür
  • ReflectionParameter::getDeclaringFunction — Bildiren işlevi döndürür
  • ReflectionParameter::getDefaultValue — Bağımsız değişkenin öntanımlı değerini döndürür
  • ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::getName — Bağımsız değişkenin ismini döndürür
  • ReflectionParameter::getPosition — Bağımsız değişkenin konumunu döndürür
  • ReflectionParameter::getType — Gets a parameter's type
  • ReflectionParameter::hasType — Checks if parameter has a type
  • ReflectionParameter::isArray — Bağımsız değişken değeri bir dizi mi olacak diye bakar
  • ReflectionParameter::isCallable — Returns whether parameter MUST be callable
  • ReflectionParameter::isDefaultValueAvailable — Öntanımlı bir değerin kullanılabilir olup olmadığına bakar
  • ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant
  • ReflectionParameter::isOptional — Bağımsız değişken seçimlik mi diye bakar
  • ReflectionParameter::isPassedByReference — Bağımsız değişken gönderimli aktarılabilir mi diye bakar
  • ReflectionParameter::isVariadic — Checks if the parameter is variadic
  • ReflectionParameter::__toString — Dizgesel tepkiyi görselleştirir


null değere izin veriliyor mu diye bakar

  • « ReflectionParameter
  • ReflectionParameter::canBePassedByValue »
  • PHP Manual
  • ReflectionParameter
  • null değere izin veriliyor mu diye bakar

ReflectionParameter::allowsNull

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::allowsNull — null değere izin veriliyor mu diye bakar

Açıklama

public ReflectionParameter::allowsNull(): bool

null değere izin veriliyorsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

null değere izin veriliyorsa true yoksa false.

Ayrıca Bakınız

  • ReflectionParameter::isOptional() - Bağımsız değişken seçimlik mi diye bakar


Returns whether this parameter can be passed by value

  • « ReflectionParameter::allowsNull
  • ReflectionParameter::__clone »
  • PHP Manual
  • ReflectionParameter
  • Returns whether this parameter can be passed by value

ReflectionParameter::canBePassedByValue

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionParameter::canBePassedByValue — Returns whether this parameter can be passed by value

Açıklama

public ReflectionParameter::canBePassedByValue(): bool

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the parameter can be passed by value, false otherwise. Returns null in case of an error.


Nesneyi kopyalar

  • « ReflectionParameter::canBePassedByValue
  • ReflectionParameter::__construct »
  • PHP Manual
  • ReflectionParameter
  • Nesneyi kopyalar

ReflectionParameter::__clone

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__clone — Nesneyi kopyalar

Açıklama

private ReflectionParameter::__clone(): void

Nesneyi kopyalar.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu yöntem artık final değil.

Ayrıca Bakınız

  • ReflectionParameter::__toString() - Dizgesel tepkiyi görselleştirir
  • Nesne Kopyalama


Bir ReflectionParameter nesnesi oluşturur

  • « ReflectionParameter::__clone
  • ReflectionParameter::export »
  • PHP Manual
  • ReflectionParameter
  • Bir ReflectionParameter nesnesi oluşturur

ReflectionParameter::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__construct — Bir ReflectionParameter nesnesi oluşturur

Açıklama

public ReflectionParameter::__construct(string|array|object $function, int|string $param)

Bir ReflectionParameter örneği oluşturur.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

function

Bağımsız değişkenleri yansıtılacak işlev.

param

Bağımsız değişkenin (sıfırdan başlayan) konumunu belirten bir tamsayı veya bağımsız değişken ismi.

Örnekler

Örnek 1 - ReflectionParameter örneği

<?php
function foo($a, $b, $c) { }
function bar(Exception $a, &$b, $c) { }
function baz(ReflectionFunction $a, $b = 1, $c = null) { }
function abc() { }

$reflect = new ReflectionFunction('foo');

echo $reflect;

foreach ($reflect->getParameters() as $i => $param) {
printf(
"-- %d. bağımsız değişken: %s {\n".
" Sınıf: %s\n".
" NULL'a izin var mı?: %s\n".
" Gönderimli aktarılır mı?: %s\n".
" Seçimlik mi?: %s\n".
"}\n",
$i, // $param->getPosition() kullanılabilir
$param->getName(),
var_export($param->getClass(), 1),
$param->allowsNull() ? 'Evet' : 'Hayır',
$param->isPassedByReference() ? 'Evet' : 'Hayır',
$param->isOptional() ? 'Evet' : 'Hayır'
);
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Function [ <user> function foo ] {
  @@ /home/nilgun/dnm.php 2 - 2

  - Parameters [3] {
    Parameter #0 [ <required> $a ]
    Parameter #1 [ <required> $b ]
    Parameter #2 [ <required> $c ]
  }
}
-- 0. bağımsız değişken: a {
   Sınıf: NULL
   NULL'a izin var mı?: Evet
   Gönderimli aktarılır mı?: Hayır
   Seçimlik mi?: Hayır
}
-- 1. bağımsız değişken: b {
   Sınıf: NULL
   NULL'a izin var mı?: Evet
   Gönderimli aktarılır mı?: Hayır
   Seçimlik mi?: Hayır
}
-- 2. bağımsız değişken: c {
   Sınıf: NULL
   NULL'a izin var mı?: Evet
   Gönderimli aktarılır mı?: Hayır
   Seçimlik mi?: Hayır
}

Ayrıca Bakınız

  • ReflectionFunctionAbstract::getParameters() - Bağımsız değişkenleri döndürür
  • ReflectionFunction::__construct() - Bir ReflectionFunction nesnesi oluşturur
  • ReflectionMethod::__construct() - Yeni bir ReflectionMethod nesnesi oluşturur
  • Kurucular


Sınıfı ihraç eder

  • « ReflectionParameter::__construct
  • ReflectionParameter::getAttributes »
  • PHP Manual
  • ReflectionParameter
  • Sınıfı ihraç eder

ReflectionParameter::export

(PHP 5, PHP 7)

ReflectionParameter::export — Sınıfı ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionParameter::export(string $işlev, string $bağımsız_değişken, bool $ihracet = ?): string

Sınıfı ihraç eder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

işlev

İşlev ismi.

bağımsız_değişken

Bağımsız değişken ismi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

Bir dizge.

Ayrıca Bakınız

  • ReflectionParameter::__toString() - Dizgesel tepkiyi görselleştirir


Gets Attributes

  • « ReflectionParameter::export
  • ReflectionParameter::getClass »
  • PHP Manual
  • ReflectionParameter
  • Gets Attributes

ReflectionParameter::getAttributes

(PHP 8)

ReflectionParameter::getAttributes — Gets Attributes

Açıklama

public ReflectionParameter::getAttributes(?string $name = null, int $flags = 0): array

Returns all attributes declared on this parameter as an array of ReflectionAttribute.

Bağımsız Değişkenler

name

Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

flags

Flags for determining how to filter the results, if name is provided.

Default is 0 which will only return results for attributes that are of the class name.

The only other option available, is to use ReflectionAttribute::IS_INSTANCEOF, which will instead use instanceof for filtering.

Dönen Değerler

Array of attributes, as a ReflectionAttribute object.

Örnekler

Örnek 1 Basic usage

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }

$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameter('apple');
$attributes = $parameter->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 2 Filtering results by class name

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }

$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameter('apple');
$attributes = $parameter->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
)

Örnek 3 Filtering results by class name, with inheritance

<?php
interface Color {
}

#[Attribute]
class Fruit {
}

function fruitBasket(
#[Fruit]
#[Red]
string $apple
) { }

$reflection = new ReflectionFunction('fruitBasket');
$parameter = $reflection->getParameter('apple');
$attributes = $parameter->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Red
)

Ayrıca Bakınız

  • ReflectionClass::getAttributes() - Gets Attributes
  • ReflectionClassConstant::getAttributes() - Gets Attributes
  • ReflectionFunctionAbstract::getAttributes() - Gets Attributes
  • ReflectionProperty::getAttributes() - Gets Attributes


Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür

  • « ReflectionParameter::getAttributes
  • ReflectionParameter::getDeclaringClass »
  • PHP Manual
  • ReflectionParameter
  • Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür

ReflectionParameter::getClass

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::getClass — Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public ReflectionParameter::getClass(): ?ReflectionClass

Yansıtılan bağımsız değişkenin ya ReflectionClass örneğini ya da null döndürür.

PHP 8.0.0 itibariyle bu işlevin kullanımı önerilmemektedir. Bunun yerine, bağımsız değişkenin ReflectionType nesnesini almak için ReflectionParameter::getType() kullanın ve bağımsız değişken türünü saptamak için aldığınız nesneyi sorgulayın.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionClass nesnesi; tür bildirilmemişse veya bildirilen tür bir sınıf veya arayüz değilse null.

Örnekler

Örnek 1 - ReflectionParameter sınıfının kullanımı

<?php
function foo(Exception $a) { }

$functionReflection = new ReflectionFunction('foo');
$parameters = $functionReflection->getParameters();
$aParameter = $parameters[0];

echo $aParameter->getClass()->name;
?>

Ayrıca Bakınız

  • ReflectionParameter::getDeclaringClass() - Bildiren sınıfı döndürür


Bildiren sınıfı döndürür

  • « ReflectionParameter::getClass
  • ReflectionParameter::getDeclaringFunction »
  • PHP Manual
  • ReflectionParameter
  • Bildiren sınıfı döndürür

ReflectionParameter::getDeclaringClass

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionParameter::getDeclaringClass — Bildiren sınıfı döndürür

Açıklama

public ReflectionParameter::getDeclaringClass(): ?ReflectionClass

Bildiren sınıfı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionClass nesnesi; işlev için çağrılmışsa null.

Örnekler

Örnek 1 - Yöntemi bildiren sınıfı döndürmek

<?php
class Foo
{
public function bar(\DateTime $datetime)
{
}
}

class Baz extends Foo
{
}

$param = new \ReflectionParameter(['Baz', 'bar'], 0);

var_dump($param->getDeclaringClass());

Yukarıdaki örneğin çıktısı:

object(ReflectionClass)#2 (1) {
  ["name"]=>
  string(3) "Foo"
}

Ayrıca Bakınız

  • ReflectionParameter::getClass() - Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür


Bildiren işlevi döndürür

  • « ReflectionParameter::getDeclaringClass
  • ReflectionParameter::getDefaultValue »
  • PHP Manual
  • ReflectionParameter
  • Bildiren işlevi döndürür

ReflectionParameter::getDeclaringFunction

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionParameter::getDeclaringFunction — Bildiren işlevi döndürür

Açıklama

public ReflectionParameter::getDeclaringFunction(): ReflectionFunctionAbstract

Bildiren işlevi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionFunction nesnesi.

Ayrıca Bakınız

  • ReflectionParameter::getDeclaringClass() - Bildiren sınıfı döndürür


Bağımsız değişkenin öntanımlı değerini döndürür

  • « ReflectionParameter::getDeclaringFunction
  • ReflectionParameter::getDefaultValueConstantName »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişkenin öntanımlı değerini döndürür

ReflectionParameter::getDefaultValue

(PHP 5 >= 5.0.3, PHP 7, PHP 8)

ReflectionParameter::getDefaultValue — Bağımsız değişkenin öntanımlı değerini döndürür

Açıklama

public ReflectionParameter::getDefaultValue(): mixed

Kullanıcı tanımlı veya dahili işlev veya yöntem bağımsız değişkeninin öntanımlı değerini döndürür. Bağımsız değişken seçimlik ise ReflectionException yavrulanır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişkenin öntanımlı değeri.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu yöntem artık yerleşik işlev ve sınıf yöntemlerinin bağımsız değişkenlerinin de öntanımlı değerlerini döndürüyor; evvelce bu durumda bir ReflectionException yavrulanırdı.

Örnekler

Örnek 1 - İşlev bağımsız değişkenlerinin öntanımlı değerlerini döndürmek

<?php
function foo($test, $bar = 'baz')
{
echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
echo 'Bağımsız değişken Adı: ' . $param->getName() . PHP_EOL;
if ($param->isOptional()) {
echo 'Öntanımlı Değer: ' . $param->getDefaultValue() . PHP_EOL;
}
echo PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Bağımsız değişken Adı: test

Bağımsız değişken Adı: bar
Öntanımlı Değer: baz

Ayrıca Bakınız

  • ReflectionParameter::isOptional() - Bağımsız değişken seçimlik mi diye bakar
  • ReflectionParameter::isDefaultValueAvailable() - Öntanımlı bir değerin kullanılabilir olup olmadığına bakar
  • ReflectionParameter::getDefaultValueConstantName() - Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::isPassedByReference() - Bağımsız değişken gönderimli aktarılabilir mi diye bakar


Returns the default value's constant name if default value is constant or null

  • « ReflectionParameter::getDefaultValue
  • ReflectionParameter::getName »
  • PHP Manual
  • ReflectionParameter
  • Returns the default value's constant name if default value is constant or null

ReflectionParameter::getDefaultValueConstantName

(PHP 5 >= 5.4.6, PHP 7, PHP 8)

ReflectionParameter::getDefaultValueConstantName — Returns the default value's constant name if default value is constant or null

Açıklama

public ReflectionParameter::getDefaultValueConstantName(): ?string

Returns the default value's constant name of the parameter of any user-defined or internal function or method, if default value is constant or null. If the parameter is not optional a ReflectionException will be thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns string on success or null on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | This method now allows getting the default values' constant names of built-in functions and built-in class methods. Previously, a ReflectionException was thrown.

Örnekler

Örnek 1 Getting default values' constant names of function parameters

<?php
function foo($test, $bar = PHP_INT_MIN)
{
echo $test . $bar;
}

$function = new ReflectionFunction('foo');

foreach ($function->getParameters() as $param) {
echo 'Name: ' . $param->getName() . PHP_EOL;
if ($param->isOptional()) {
echo 'Default value: ' . $param->getDefaultValueConstantName() . PHP_EOL;
}
echo PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Name: test

Name: bar
Default value: PHP_INT_MIN

Ayrıca Bakınız

  • ReflectionParameter::isOptional() - Bağımsız değişken seçimlik mi diye bakar
  • ReflectionParameter::isDefaultValueConstant() - Returns whether the default value of this parameter is a constant
  • ReflectionParameter::getDefaultValue() - Bağımsız değişkenin öntanımlı değerini döndürür


Bağımsız değişkenin ismini döndürür

  • « ReflectionParameter::getDefaultValueConstantName
  • ReflectionParameter::getPosition »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişkenin ismini döndürür

ReflectionParameter::getName

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::getName — Bağımsız değişkenin ismini döndürür

Açıklama

public ReflectionParameter::getName(): string

Bağımsız değişkenin ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan bağımsız değişkenin ismi.

Ayrıca Bakınız

  • ReflectionParameter::getDefaultValue() - Bağımsız değişkenin öntanımlı değerini döndürür


Bağımsız değişkenin konumunu döndürür

  • « ReflectionParameter::getName
  • ReflectionParameter::getType »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişkenin konumunu döndürür

ReflectionParameter::getPosition

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

ReflectionParameter::getPosition — Bağımsız değişkenin konumunu döndürür

Açıklama

public ReflectionParameter::getPosition(): int

Bağımsız değişkenin konumunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişkenin konumu; soldan sağa sayılır, ilk bağımsız değişkenin konumu 0'dır.

Ayrıca Bakınız

  • ReflectionParameter::getName() - Bağımsız değişkenin ismini döndürür


Gets a parameter's type

  • « ReflectionParameter::getPosition
  • ReflectionParameter::hasType »
  • PHP Manual
  • ReflectionParameter
  • Gets a parameter's type

ReflectionParameter::getType

(PHP 7, PHP 8)

ReflectionParameter::getType — Gets a parameter's type

Açıklama

public ReflectionParameter::getType(): ?ReflectionType

Gets the associated type of a parameter.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a ReflectionType object if a parameter type is specified, null otherwise.

Örnekler

Örnek 1 ReflectionParameter::getType() Usage as of PHP 7.1.0

As of PHP 7.1.0, ReflectionType::__toString() is deprecated, and ReflectionParameter::getType() may return an instance of ReflectionNamedType. To get the name of the parameter type, ReflectionNamedType() is available in this case.

<?php
function someFunction(int $param, $param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();

assert($reflectionType1 instanceof ReflectionNamedType);
echo $reflectionType1->getName(), PHP_EOL;
var_dump($reflectionType2);
?>

Yukarıdaki örneğin çıktısı:

int
NULL

Örnek 2 ReflectionParameter::getType() Usage before PHP 7.1.0

<?php
function someFunction(int $param, $param2) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();
$reflectionType1 = $reflectionParams[0]->getType();
$reflectionType2 = $reflectionParams[1]->getType();

echo $reflectionType1, PHP_EOL;
var_dump($reflectionType2);
?>

Yukarıdaki örneğin PHP 7.0 çıktısı:

int
NULL

Örnek 3 ReflectionParameter::getType() Usage in PHP 8.0.0 and later

As of PHP 8.0.0, this method may return a ReflectionNamedType instance or a ReflectionUnionType instance. The latter is a collection of the former. To analyze a type, it is often convenient to normalize it to an array of ReflectionNamedType objects. The following function will return an array of 0 or more ReflectionNamedType instances.

<?php
function getAllTypes(ReflectionParameter $reflectionParameter): array
{
$reflectionType = $reflectionParameter->getType();

if (!$reflectionType) return [];

return $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];
}
?>

Ayrıca Bakınız

  • ReflectionParameter::hasType() - Checks if parameter has a type
  • ReflectionType::__toString() - To string


Checks if parameter has a type

  • « ReflectionParameter::getType
  • ReflectionParameter::isArray »
  • PHP Manual
  • ReflectionParameter
  • Checks if parameter has a type

ReflectionParameter::hasType

(PHP 7, PHP 8)

ReflectionParameter::hasType — Checks if parameter has a type

Açıklama

public ReflectionParameter::hasType(): bool

Checks if the parameter has a type associated with it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a type is specified, false otherwise.

Örnekler

Örnek 1 ReflectionParameter::hasType() example

<?php
function someFunction(string $param, $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->hasType());
var_dump($reflectionParams[1]->hasType());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionParameter::getType() - Gets a parameter's type


Bağımsız değişken değeri bir dizi mi olacak diye bakar

  • « ReflectionParameter::hasType
  • ReflectionParameter::isCallable »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişken değeri bir dizi mi olacak diye bakar

ReflectionParameter::isArray

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

ReflectionParameter::isArray — Bağımsız değişken değeri bir dizi mi olacak diye bakar

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Bu bilgiyi türetmenin bir diğer yolu aşağıdaki örnektedir.

Açıklama

public ReflectionParameter::isArray(): bool

Bağımsız değişken değeri bir dizi olacaksa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişken değeri bir dizi olacaksa true yoksa false.

Örnekler

Örnek 1 - PHP 8.0.0 eşdeğeri

PHP 8.0.0 itibariyle, array, union içinde bildiriliyorsa aşağıdaki kod bunu raporlar.

<?php
function declaresArray(ReflectionParameter $reflectionParameter): bool
{
$reflectionType = $reflectionParameter->getType();

if (!$reflectionType) return false;

$types = $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];

return in_array('array', array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));
}
?>

Ayrıca Bakınız

  • ReflectionParameter::isOptional() - Bağımsız değişken seçimlik mi diye bakar


Returns whether parameter MUST be callable

  • « ReflectionParameter::isArray
  • ReflectionParameter::isDefaultValueAvailable »
  • PHP Manual
  • ReflectionParameter
  • Returns whether parameter MUST be callable

ReflectionParameter::isCallable

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

ReflectionParameter::isCallable — Returns whether parameter MUST be callable

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

See the example below for an alternative way to derive this information.

Açıklama

public ReflectionParameter::isCallable(): bool

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the parameter is callable, false if it is not or null on failure.

Örnekler

Örnek 1 PHP 8.0.0 equivalent

As of PHP 8.0.0, the following code will report if a type supports callables, including as part of a union.

<?php
function declaresCallable(ReflectionParameter $reflectionParameter): bool
{
$reflectionType = $reflectionParameter->getType();

if (!$reflectionType) return false;

$types = $reflectionType instanceof ReflectionUnionType
? $reflectionType->getTypes()
: [$reflectionType];

return in_array('callable', array_map(fn(ReflectionNamedType $t) => $t->getName(), $types));
}
?>


Öntanımlı bir değerin kullanılabilir olup olmadığına bakar

  • « ReflectionParameter::isCallable
  • ReflectionParameter::isDefaultValueConstant »
  • PHP Manual
  • ReflectionParameter
  • Öntanımlı bir değerin kullanılabilir olup olmadığına bakar

ReflectionParameter::isDefaultValueAvailable

(PHP 5 >= 5.0.3, PHP 7, PHP 8)

ReflectionParameter::isDefaultValueAvailable — Öntanımlı bir değerin kullanılabilir olup olmadığına bakar

Açıklama

public ReflectionParameter::isDefaultValueAvailable(): bool

Öntanımlı bir değerin kullanılabilir olup olmadığına bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Öntanımlı değer kullanılabiliyorsa true yoksa false.

Ayrıca Bakınız

  • ReflectionParameter::getDefaultValue() - Bağımsız değişkenin öntanımlı değerini döndürür
  • ReflectionParameter::isDefaultValueConstant() - Returns whether the default value of this parameter is a constant
  • ReflectionParameter::getName() - Bağımsız değişkenin ismini döndürür


Returns whether the default value of this parameter is a constant

  • « ReflectionParameter::isDefaultValueAvailable
  • ReflectionParameter::isOptional »
  • PHP Manual
  • ReflectionParameter
  • Returns whether the default value of this parameter is a constant

ReflectionParameter::isDefaultValueConstant

(PHP 5 >= 5.4.6, PHP 7, PHP 8)

ReflectionParameter::isDefaultValueConstant — Returns whether the default value of this parameter is a constant

Açıklama

public ReflectionParameter::isDefaultValueConstant(): bool

Returns whether the default value of this parameter is a constant.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the default value is constant, and false otherwise.

Ayrıca Bakınız

  • ReflectionParameter::getDefaultValueConstantName() - Returns the default value's constant name if default value is constant or null
  • ReflectionParameter::isDefaultValueAvailable() - Öntanımlı bir değerin kullanılabilir olup olmadığına bakar


Bağımsız değişken seçimlik mi diye bakar

  • « ReflectionParameter::isDefaultValueConstant
  • ReflectionParameter::isPassedByReference »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişken seçimlik mi diye bakar

ReflectionParameter::isOptional

(PHP 5 >= 5.0.3, PHP 7, PHP 8)

ReflectionParameter::isOptional — Bağımsız değişken seçimlik mi diye bakar

Açıklama

public ReflectionParameter::isOptional(): bool

Bağımsız değişken seçimlikse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişken seçimlikse true yoksa false.

Ayrıca Bakınız

  • ReflectionParameter::getName() - Bağımsız değişkenin ismini döndürür


Bağımsız değişken gönderimli aktarılabilir mi diye bakar

  • « ReflectionParameter::isOptional
  • ReflectionParameter::isVariadic »
  • PHP Manual
  • ReflectionParameter
  • Bağımsız değişken gönderimli aktarılabilir mi diye bakar

ReflectionParameter::isPassedByReference

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::isPassedByReference — Bağımsız değişken gönderimli aktarılabilir mi diye bakar

Açıklama

public ReflectionParameter::isPassedByReference(): bool

Bağımsız değişken gönderimli aktarılabiliyorsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bağımsız değişken gönderimli aktarılabiliyorsa true yoksa false.

Ayrıca Bakınız

  • ReflectionParameter::getName() - Bağımsız değişkenin ismini döndürür


Checks if the parameter is variadic

  • « ReflectionParameter::isPassedByReference
  • ReflectionParameter::__toString »
  • PHP Manual
  • ReflectionParameter
  • Checks if the parameter is variadic

ReflectionParameter::isVariadic

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

ReflectionParameter::isVariadic — Checks if the parameter is variadic

Açıklama

public ReflectionParameter::isVariadic(): bool

Checks if the parameter was declared as a variadic parameter.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the parameter is variadic, otherwise false.


Dizgesel tepkiyi görselleştirir

  • « ReflectionParameter::isVariadic
  • ReflectionProperty »
  • PHP Manual
  • ReflectionParameter
  • Dizgesel tepkiyi görselleştirir

ReflectionParameter::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionParameter::__toString — Dizgesel tepkiyi görselleştirir

Açıklama

public ReflectionParameter::__toString(): string

Yansıtılan bağımsız değişkenin dizgesel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan bağımsız değişkenin dizgesel gösterimi.

Örnekler

Örnek 1 - ReflectionParameter::__toString örneği

<?php
echo new ReflectionParameter('substr', 0);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Parameter #0 [ <required> string $string ]

Ayrıca Bakınız

  • ReflectionFunction::__toString() - İşlevin bağımsız değişken satırını dizgeleştirerek döndürür
  • ReflectionMethod::__toString() - Yansıtılan yöntemin dizgesel gösterimini döndürür
  • __toString()


ReflectionProperty Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionProperty sınıfı sınıfın özellikleri hakkında bilgi edinilmesini sağlar.

Sınıf Sözdizimi

class ReflectionProperty implements Reflector {
/* Sabitler */
public const int IS_STATIC;
public const int IS_READONLY;
public const int IS_PUBLIC;
public const int IS_PROTECTED;
public const int IS_PRIVATE;
/* Özellikler */
public string $name;
public string $class;
/* Yöntemler */
public __construct(object|string $class, string $property)
private __clone(): void
public static export(mixed $sınıf, string $isim, bool $ihracet = ?): string
public getAttributes(?string $name = null, int $flags = 0): array
public getDeclaringClass(): ReflectionClass
public getDefaultValue(): mixed
public getDocComment(): string|false
public getModifiers(): int
public getName(): string
public getType(): ?ReflectionType
public getValue(?object $nesne = null): mixed
public hasDefaultValue(): bool
public hasType(): bool
public isDefault(): bool
public isInitialized(?object $object = null): bool
public isPrivate(): bool
public isPromoted(): bool
public isProtected(): bool
public isPublic(): bool
public isReadOnly(): bool
public isStatic(): bool
public setAccessible(bool $erişilebilir): void
public setValue(object $nesne, mixed $değer): void
public setValue(mixed $değer): void
public __toString(): string
}

Özellikler

name

Özelliğin ismi. Salt-okunur olup, bir yazma çabası ReflectionException istisnasına yol açar.

class

Özelliği tanımlayan sınıfın ismi. Salt-okunur olup, bir yazma çabası ReflectionException istisnasına yol açar.

Öntanımlı Sabitler

ReflectionProperty Değiştiricileri

ReflectionProperty::IS_STATIC

Özelliğin static olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 1 idi.

ReflectionProperty::IS_READONLY

Özelliğin salt okunur olduğunu belirtir. PHP 8.1.0 ve sonrasında kullanılabilir.

ReflectionProperty::IS_PUBLIC

Özelliğin public olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 256 idi.

ReflectionProperty::IS_PROTECTED

Özelliğin protected olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 512 idi.

ReflectionProperty::IS_PRIVATE

Özelliğin private olduğunu belirtir. PHP 7.4.0 öncesinde, bu değer 1024 idi.

Bilginize:

Sabitlerin değerleri PHP sürümleri arasında farklılık gösterebilir. Bu bakımdan sabitler değerleriyle değil isimleriyle kullanılmalıdır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionProperty::export() kaldırıldı.

İçindekiler

  • ReflectionProperty::__clone — Özelliği kopyalar
  • ReflectionProperty::__construct — Bir ReflectionProperty nesnesi oluşturur
  • ReflectionProperty::export — Özelliği ihraç eder
  • ReflectionProperty::getAttributes — Gets Attributes
  • ReflectionProperty::getDeclaringClass — Bildiren sınıfı döndürür
  • ReflectionProperty::getDefaultValue — Returns the default value declared for a property
  • ReflectionProperty::getDocComment — Özellik açıklamalarını döndürür
  • ReflectionProperty::getModifiers — Erişim değiştiricileri döndürür
  • ReflectionProperty::getName — Özelliğin ismini döndürür
  • ReflectionProperty::getType — Gets a property's type
  • ReflectionProperty::getValue — Özelliğin değerini döndürür
  • ReflectionProperty::hasDefaultValue — Checks if property has a default value declared
  • ReflectionProperty::hasType — Checks if property has a type
  • ReflectionProperty::isDefault — Özellik öntanımlı mı diye bakar
  • ReflectionProperty::isInitialized — Checks whether a property is initialized
  • ReflectionProperty::isPrivate — Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPromoted — Checks if property is promoted
  • ReflectionProperty::isProtected — Özellik protected olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPublic — Özellik public olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isReadOnly — Checks if property is readonly
  • ReflectionProperty::isStatic — Özellik duruk mu diye bakar
  • ReflectionProperty::setAccessible — Özelliği erişilebilir kılar
  • ReflectionProperty::setValue — Özelliğe değer atar
  • ReflectionProperty::__toString — Dizgesel gösterimi döndürür


Özelliği kopyalar

  • « ReflectionProperty
  • ReflectionProperty::__construct »
  • PHP Manual
  • ReflectionProperty
  • Özelliği kopyalar

ReflectionProperty::__clone

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::__clone — Özelliği kopyalar

Açıklama

private ReflectionProperty::__clone(): void

Özelliği kopyalar.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Bu yöntem artık final değil.

Ayrıca Bakınız

  • ReflectionProperty::export() - Özelliği ihraç eder
  • Nesne Kopyalama


Bir ReflectionProperty nesnesi oluşturur

  • « ReflectionProperty::__clone
  • ReflectionProperty::export »
  • PHP Manual
  • ReflectionProperty
  • Bir ReflectionProperty nesnesi oluşturur

ReflectionProperty::__construct

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::__construct — Bir ReflectionProperty nesnesi oluşturur

Açıklama

public ReflectionProperty::__construct(object|string $class, string $property)

Bir ReflectionProperty örneği oluşturur.

Bağımsız Değişkenler

class

Yansıtılacak sınıfın ismini içeren bir dizge veya bir nesne.

property

Yansıtılacak özelliğin ismi.

Hatalar/İstisnalar

Private veya protected sınıf özelliklerinin değerlerini değiştirme veya döndürme girişimleri bir istisna oluşmasına sebep olur.

Örnekler

Örnek 1 - ReflectionProperty::__construct() örneği

<?php
class Dizge
{
public $uzunluk = 5;
}

// ReflectionProperty sınıfının bir örneğini oluşturalım
$prop = new ReflectionProperty('Dizge', 'uzunluk');

// Print out basic information
printf(
"===> %s%s%s%s '%s' özelliği %s olup\n" .
" %s değiştiriciye sahiptir.\n",
$prop->isPublic() ? ' public' : '',
$prop->isPrivate() ? ' private' : '',
$prop->isProtected() ? ' protected' : '',
$prop->isStatic() ? ' static' : '',
$prop->getName(),
$prop->isDefault() ? 'derleme sırasında bildirilmiş' :
'çalışma anında oluşturulmuş',
var_export(Reflection::getModifierNames($prop->getModifiers()), 1)
);

// Dizge sınıfının bir örneğini oluşturalım
$nesne= new Dizge();

// Mevcut değeri öğrenelim
printf("---> Değeri: ");
var_dump($prop->getValue($nesne));

// Değeri değiştirelim
$prop->setValue($nesne, 10);
printf("---> Yeni değer olarak 10 atandıktan sonra yeni değer: ");
var_dump($prop->getValue($nesne));

// Nesneyi dökümü
var_dump($nesne);
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

===>  public 'uzunluk' özelliği derleme sırasında bildirilmiş olup
    array (
  0 => 'public',
) değiştiriciye sahiptir.
---> Değeri: int(5)
---> Yeni değer olarak 10 atandıktan sonra yeni değer: int(10)
object(Dizge)#2 (1) {
  ["uzunluk"]=>
  int(10)
}

Örnek 2 - ReflectionProperty sınıfından private ve protected özelliklerin değerlerini öğrenmek

<?php

class Foo {
public $x = 1;
protected $y = 2;
private $z = 3;
}

$obj = new Foo;

$prop = new ReflectionProperty('Foo', 'y');
$prop->setAccessible(true);
var_dump($prop->getValue($obj)); // int(2)

$prop = new ReflectionProperty('Foo', 'z');
$prop->setAccessible(true);
var_dump($prop->getValue($obj)); // int(2)

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(2)
int(3)

Ayrıca Bakınız

  • ReflectionProperty::getName() - Özelliğin ismini döndürür
  • Kurucular


Özelliği ihraç eder

  • « ReflectionProperty::__construct
  • ReflectionProperty::getAttributes »
  • PHP Manual
  • ReflectionProperty
  • Özelliği ihraç eder

ReflectionProperty::export

(PHP 5, PHP 7)

ReflectionProperty::export — Özelliği ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static ReflectionProperty::export(mixed $sınıf, string $isim, bool $ihracet = ?): string

Yansıtılan özelliği ihraç eder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sınıf

İhraç edilecek Reflection nesnesi.

isim

Özelliğin ismi.

ihracet

true belirtilirse yansıtmak yerine ihrac eder. false olursa (öntanımlıdır) tersini yapar.

Dönen Değerler

Ayrıca Bakınız

  • ReflectionProperty::__toString() - Dizgesel gösterimi döndürür


Gets Attributes

  • « ReflectionProperty::export
  • ReflectionProperty::getDeclaringClass »
  • PHP Manual
  • ReflectionProperty
  • Gets Attributes

ReflectionProperty::getAttributes

(PHP 8)

ReflectionProperty::getAttributes — Gets Attributes

Açıklama

public ReflectionProperty::getAttributes(?string $name = null, int $flags = 0): array

Returns all attributes declared on this class property as an array of ReflectionAttribute.

Bağımsız Değişkenler

name

Filter the results to include only ReflectionAttribute instances for attributes matching this class name.

flags

Flags for determining how to filter the results, if name is provided.

Default is 0 which will only return results for attributes that are of the class name.

The only other option available, is to use ReflectionAttribute::IS_INSTANCEOF, which will instead use instanceof for filtering.

Dönen Değerler

Array of attributes, as a ReflectionAttribute object.

Örnekler

Örnek 1 Basic usage

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

class Basket {
#[Fruit]
#[Red]
public string $apple = 'apple';
}

$property = new ReflectionProperty('Basket', 'apple');
$attributes = $property->getAttributes();
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
    [1] => Red
)

Örnek 2 Filtering results by class name

<?php
#[Attribute]
class Fruit {
}

#[Attribute]
class Red {
}

class Basket {
#[Fruit]
#[Red]
public string $apple = 'apple';
}

$property = new ReflectionProperty('Basket', 'apple');
$attributes = $property->getAttributes('Fruit');
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Fruit
)

Örnek 3 Filtering results by class name, with inheritance

<?php
interface Color {
}

#[Attribute]
class Fruit {
}

#[Attribute]
class Red implements Color {
}

class Basket {
#[Fruit]
#[Red]
public string $apple = 'apple';
}

$property = new ReflectionProperty('Basket', 'apple');
$attributes = $property->getAttributes('Color', ReflectionAttribute::IS_INSTANCEOF);
print_r(array_map(fn($attribute) => $attribute->getName(), $attributes));
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => Red
)

Ayrıca Bakınız

  • ReflectionClass::getAttributes() - Gets Attributes
  • ReflectionClassConstant::getAttributes() - Gets Attributes
  • ReflectionFunctionAbstract::getAttributes() - Gets Attributes
  • ReflectionParameter::getAttributes() - Gets Attributes


Bildiren sınıfı döndürür

  • « ReflectionProperty::getAttributes
  • ReflectionProperty::getDefaultValue »
  • PHP Manual
  • ReflectionProperty
  • Bildiren sınıfı döndürür

ReflectionProperty::getDeclaringClass

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::getDeclaringClass — Bildiren sınıfı döndürür

Açıklama

public ReflectionProperty::getDeclaringClass(): ReflectionClass

Bildiren sınıfı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Bir ReflectionClass nesnesi.

Ayrıca Bakınız

  • ReflectionProperty::getName() - Özelliğin ismini döndürür


Returns the default value declared for a property

  • « ReflectionProperty::getDeclaringClass
  • ReflectionProperty::getDocComment »
  • PHP Manual
  • ReflectionProperty
  • Returns the default value declared for a property

ReflectionProperty::getDefaultValue

(PHP 8)

ReflectionProperty::getDefaultValue — Returns the default value declared for a property

Açıklama

public ReflectionProperty::getDefaultValue(): mixed

Gets the implicit or explicitly declared default value for a property.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The default value if the property has any default value (including null). If there is no default value, then null is returned. It is not possible to differentiate between a null default value and an unitialized typed property. Use ReflectionProperty::hasDefaultValue() to detect the difference.

Örnekler

Örnek 1 ReflectionProperty::getDefaultValue() example

<?php
class Foo {
public $bar = 1;
public ?int $baz;
public int $boing = 0;
public function __construct(public string $bak = "default") { }
}

$ro = new ReflectionClass(Foo::class);
var_dump($ro->getProperty('bar')->getDefaultValue());
var_dump($ro->getProperty('baz')->getDefaultValue());
var_dump($ro->getProperty('boing')->getDefaultValue());
var_dump($ro->getProperty('bak')->getDefaultValue());
?>

Yukarıdaki örneğin çıktısı:

int(1)
NULL
int(0)
NULL

Ayrıca Bakınız

  • ReflectionProperty::hasDefaultValue() - Checks if property has a default value declared


Özellik açıklamalarını döndürür

  • « ReflectionProperty::getDefaultValue
  • ReflectionProperty::getModifiers »
  • PHP Manual
  • ReflectionProperty
  • Özellik açıklamalarını döndürür

ReflectionProperty::getDocComment

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

ReflectionProperty::getDocComment — Özellik açıklamalarını döndürür

Açıklama

public ReflectionProperty::getDocComment(): string|false

Özellik ile ilgili açıklamaları döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Varsa açıklamalar, yoksa false.

Örnekler

Örnek 1 - ReflectionProperty::getDocComment() örneği

<?php
class Str
{
/**
* @var int Dizge uzunluğu
*/
public $length = 5;
}

$prop = new ReflectionProperty('Str', 'length');

var_dump($prop->getDocComment());

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(44) "/**
     * @var int  Dizge uzunluğu
     */"

Örnek 2 - Çoklu özellik bildirimi

Aynı belgelendirme açıklaması birden fazla özellik hakkında ise açıklama sadece ilk özellik için döner.

<?php
class Foo
{
/** @var string */
public $a, $b;
}
$class = new \ReflectionClass('Foo');
foreach ($class->getProperties() as $property) {
echo $property->getName() . ': ' . var_export($property->getDocComment(), true) . PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

a: '/** @var string */'
b: false

Ayrıca Bakınız

  • ReflectionProperty::export() - Özelliği ihraç eder


Erişim değiştiricileri döndürür

  • « ReflectionProperty::getDocComment
  • ReflectionProperty::getName »
  • PHP Manual
  • ReflectionProperty
  • Erişim değiştiricileri döndürür

ReflectionProperty::getModifiers

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::getModifiers — Erişim değiştiricileri döndürür

Açıklama

public ReflectionProperty::getModifiers(): int

Erişim değiştiricilerinin bitsel toplamını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Erişim değiştiricilerinin bitsel toplamı. Bu değiştiricilerin güncel anlamları öntanımlı sabitler bölümünde açıklanmıştır.

Ayrıca Bakınız

  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • Reflection::getModifierNames() - Değiştirici isimlerini döndürür


Özelliğin ismini döndürür

  • « ReflectionProperty::getModifiers
  • ReflectionProperty::getType »
  • PHP Manual
  • ReflectionProperty
  • Özelliğin ismini döndürür

ReflectionProperty::getName

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::getName — Özelliğin ismini döndürür

Açıklama

public ReflectionProperty::getName(): string

Özelliğin ismini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan özelliğin ismi.

Ayrıca Bakınız

  • ReflectionProperty::getValue() - Özelliğin değerini döndürür


Gets a property's type

  • « ReflectionProperty::getName
  • ReflectionProperty::getValue »
  • PHP Manual
  • ReflectionProperty
  • Gets a property's type

ReflectionProperty::getType

(PHP 7 >= 7.4.0, PHP 8)

ReflectionProperty::getType — Gets a property's type

Açıklama

public ReflectionProperty::getType(): ?ReflectionType

Gets the associated type of a property.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a ReflectionType if the property has a type, and null otherwise.

Örnekler

Örnek 1 ReflectionProperty::getType() example

<?php
class User
{
public string $name;
}

$rp = new ReflectionProperty('User', 'name');
echo $rp->getType()->getName();
?>

Yukarıdaki örneğin çıktısı:

string

Ayrıca Bakınız

  • ReflectionProperty::hasType() - Checks if property has a type
  • ReflectionProperty::isInitialized() - Checks whether a property is initialized


Özelliğin değerini döndürür

  • « ReflectionProperty::getType
  • ReflectionProperty::hasDefaultValue »
  • PHP Manual
  • ReflectionProperty
  • Özelliğin değerini döndürür

ReflectionProperty::getValue

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::getValue — Özelliğin değerini döndürür

Açıklama

public ReflectionProperty::getValue(?object $nesne = null): mixed

Özelliğin değerini döndürür.

Bağımsız Değişkenler

nesne

Özellik statik olmayan bir nesne ise özelliğin ait olduğu nesne burada belirtilmelidir. Bir nesne belirtmeden öntanımlı özellik döndürülmek istenirse bu yöntem yerine ReflectionClass::getDefaultProperties() yöntemi kullanılmalıdır.

Dönen Değerler

Özelliğin değeri.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Private ve protected özellikler ReflectionProperty::getValue() tarafından hemen erişilebilir olur. Evvelce erişilebilir olmaları için ReflectionProperty::setAccessible() çağrısı yapmak gerekirdi; özellik erişilebilir değilse ReflectionException istisnası oluşurdu.
8.0.0 | nesne artık null olabiliyor.

Örnekler

Örnek 1 - ReflectionProperty::getValue() örneği

<?php
class Foo {
public static $staticProperty = 'foobar';

public $property = 'barfoo';
protected $privateProperty = 'foofoo';
}

$reflectionClass = new ReflectionClass('Foo');

var_dump($reflectionClass->getProperty('staticProperty')->getValue());
var_dump($reflectionClass->getProperty('property')->getValue(new Foo));

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true); // yalnızca PHP 8.1.0 öncesi
var_dump($reflectionProperty->getValue(new Foo));
?>

Yukarıdaki örneğin çıktısı:

string(6) "foobar"
string(6) "barfoo"
string(6) "foofoo"

Ayrıca Bakınız

  • ReflectionProperty::getName() - Özelliğin ismini döndürür
  • ReflectionProperty::setValue() - Özelliğe değer atar


Checks if property has a default value declared

  • « ReflectionProperty::getValue
  • ReflectionProperty::hasType »
  • PHP Manual
  • ReflectionProperty
  • Checks if property has a default value declared

ReflectionProperty::hasDefaultValue

(PHP 8)

ReflectionProperty::hasDefaultValue — Checks if property has a default value declared

Açıklama

public ReflectionProperty::hasDefaultValue(): bool

Checks whether the property was declared with a default value, including an implicit null default value. Only returns false for typed properties without default value (or dynamic properties).

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

If the property has any default value (including null) true is returned; if the property is typed without a default value declared or is a dynamic property, false is returned.

Örnekler

Örnek 1 ReflectionProperty::hasDefaultValue() example

<?php
class Foo {
public $bar;
public ?int $baz;
public ?int $foo = null;
public int $boing;

public function __construct()
{
$this->ping = '';
}
}

$ro = new ReflectionObject(new Foo());
var_dump($ro->getProperty('bar')->hasDefaultValue());
var_dump($ro->getProperty('baz')->hasDefaultValue());
var_dump($ro->getProperty('foo')->hasDefaultValue());
var_dump($ro->getProperty('boing')->hasDefaultValue());
var_dump($ro->getProperty('ping')->hasDefaultValue()); // Dynamic property
var_dump($ro->getProperty('pong')->hasDefaultValue()); // Not defined property
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(true)
bool(false)
bool(false)

Fatal error: Uncaught ReflectionException: Property Foo::$pong does not exist in example.php

Ayrıca Bakınız

  • ReflectionProperty::getDefaultValue() - Returns the default value declared for a property


Checks if property has a type

  • « ReflectionProperty::hasDefaultValue
  • ReflectionProperty::isDefault »
  • PHP Manual
  • ReflectionProperty
  • Checks if property has a type

ReflectionProperty::hasType

(PHP 7 >= 7.4.0, PHP 8)

ReflectionProperty::hasType — Checks if property has a type

Açıklama

public ReflectionProperty::hasType(): bool

Checks if the property has a type associated with it.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if a type is specified, false otherwise.

Örnekler

Örnek 1 ReflectionProperty::hasType() example

<?php
class User
{
public string $name;
}

$rp = new ReflectionProperty('User', 'name');
var_dump($rp->hasType());
?>

Yukarıdaki örneğin çıktısı:

bool(true)

Ayrıca Bakınız

  • ReflectionProperty::getType() - Gets a property's type
  • ReflectionProperty::isInitialized() - Checks whether a property is initialized


Özellik öntanımlı mı diye bakar

  • « ReflectionProperty::hasType
  • ReflectionProperty::isInitialized »
  • PHP Manual
  • ReflectionProperty
  • Özellik öntanımlı mı diye bakar

ReflectionProperty::isDefault

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isDefault — Özellik öntanımlı mı diye bakar

Açıklama

public ReflectionProperty::isDefault(): bool

Özellik derleme sırasında mı yoksa dinamik olarak çalışma anında mı bildirilmiş diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Özellik derleme sırasında bildirilmişse true, çalışma anında oluşturulmuşsa false döner.

Örnekler

Örnek 1 - ReflectionProperty::isDefault() örneği

<?php
class Foo {
public $bar;
}

$o = new Foo();
$o->bar = 42;
$o->baz = 42;

$ro = new ReflectionObject($o);
var_dump($ro->getProperty('bar')->isDefault());
var_dump($ro->getProperty('baz')->isDefault());
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionProperty::getValue() - Özelliğin değerini döndürür


Checks whether a property is initialized

  • « ReflectionProperty::isDefault
  • ReflectionProperty::isPrivate »
  • PHP Manual
  • ReflectionProperty
  • Checks whether a property is initialized

ReflectionProperty::isInitialized

(PHP 7 >= 7.4.0, PHP 8)

ReflectionProperty::isInitialized — Checks whether a property is initialized

Açıklama

public ReflectionProperty::isInitialized(?object $object = null): bool

Checks whether a property is initialized.

Bağımsız Değişkenler

object

If the property is non-static an object must be provided to fetch the property from.

Dönen Değerler

Returns false for typed properties prior to initialization, and for properties that have been explicitly unset(). For all other properties true will be returned.

Hatalar/İstisnalar

Throws a ReflectionException if the property is inaccessible. You can make a protected or private property accessible using ReflectionProperty::setAccessible().

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | object is nullable now.

Örnekler

Örnek 1 ReflectionProperty::isInitialized() example

<?php
class User
{
public string $name;
}

$rp = new ReflectionProperty('User', 'name');
$user = new User;
var_dump($rp->isInitialized($user));
$user->name = 'Nikita';
var_dump($rp->isInitialized($user));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionProperty::hasType() - Checks if property has a type


Özellik private olarak mı bildirilmiş diye bakar

  • « ReflectionProperty::isInitialized
  • ReflectionProperty::isPromoted »
  • PHP Manual
  • ReflectionProperty
  • Özellik private olarak mı bildirilmiş diye bakar

ReflectionProperty::isPrivate

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isPrivate — Özellik private olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionProperty::isPrivate(): bool

Özellik private olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Özellik private olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionProperty::isPublic() - Özellik public olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isProtected() - Özellik protected olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isReadOnly() - Checks if property is readonly
  • ReflectionProperty::isStatic() - Özellik duruk mu diye bakar


Checks if property is promoted

  • « ReflectionProperty::isPrivate
  • ReflectionProperty::isProtected »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is promoted

ReflectionProperty::isPromoted

(PHP 8)

ReflectionProperty::isPromoted — Checks if property is promoted

Açıklama

public ReflectionProperty::isPromoted(): bool

Checks whether the property is promoted

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the property is promoted, false otherwise.

Örnekler

Örnek 1 ReflectionProperty::isPromoted() example

<?php
class Foo {
public $baz;

public function __construct(public $bar) {}
}

$o = new Foo(42);
$o->baz = 42;

$ro = new ReflectionObject($o);
var_dump($ro->getProperty('bar')->isPromoted());
var_dump($ro->getProperty('baz')->isPromoted());
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

Ayrıca Bakınız

  • ReflectionProperty::isDefault() - Özellik öntanımlı mı diye bakar
  • ReflectionProperty::isInitialized() - Checks whether a property is initialized
  • ReflectionProperty::getValue() - Özelliğin değerini döndürür


Özellik protected olarak mı bildirilmiş diye bakar

  • « ReflectionProperty::isPromoted
  • ReflectionProperty::isPublic »
  • PHP Manual
  • ReflectionProperty
  • Özellik protected olarak mı bildirilmiş diye bakar

ReflectionProperty::isProtected

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isProtected — Özellik protected olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionProperty::isProtected(): bool

Özellik protected olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Özellik protected olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionProperty::isPublic() - Özellik public olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isReadOnly() - Checks if property is readonly
  • ReflectionProperty::isStatic() - Özellik duruk mu diye bakar


Özellik public olarak mı bildirilmiş diye bakar

  • « ReflectionProperty::isProtected
  • ReflectionProperty::isReadOnly »
  • PHP Manual
  • ReflectionProperty
  • Özellik public olarak mı bildirilmiş diye bakar

ReflectionProperty::isPublic

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isPublic — Özellik public olarak mı bildirilmiş diye bakar

Açıklama

public ReflectionProperty::isPublic(): bool

Özellik public olarak bildirilmişse true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Özellik public olarak bildirilmişse true yoksa false.

Ayrıca Bakınız

  • ReflectionProperty::isProtected() - Özellik protected olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isReadOnly() - Checks if property is readonly
  • ReflectionProperty::isStatic() - Özellik duruk mu diye bakar


Checks if property is readonly

  • « ReflectionProperty::isPublic
  • ReflectionProperty::isStatic »
  • PHP Manual
  • ReflectionProperty
  • Checks if property is readonly

ReflectionProperty::isReadOnly

(PHP 8 >= 8.1.0)

ReflectionProperty::isReadOnly — Checks if property is readonly

Açıklama

public ReflectionProperty::isReadOnly(): bool

Checks whether the property is readonly.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the property is readonly, false otherwise.

Ayrıca Bakınız

  • ReflectionProperty::isPublic() - Özellik public olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isProtected() - Özellik protected olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isStatic() - Özellik duruk mu diye bakar


Özellik duruk mu diye bakar

  • « ReflectionProperty::isReadOnly
  • ReflectionProperty::setAccessible »
  • PHP Manual
  • ReflectionProperty
  • Özellik duruk mu diye bakar

ReflectionProperty::isStatic

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::isStatic — Özellik duruk mu diye bakar

Açıklama

public ReflectionProperty::isStatic(): bool

Özellik duruk ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Özellik duruk ise true yoksa false.

Ayrıca Bakınız

  • ReflectionProperty::isPublic() - Özellik public olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isProtected() - Özellik protected olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isReadOnly() - Checks if property is readonly


Özelliği erişilebilir kılar

  • « ReflectionProperty::isStatic
  • ReflectionProperty::setValue »
  • PHP Manual
  • ReflectionProperty
  • Özelliği erişilebilir kılar

ReflectionProperty::setAccessible

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

ReflectionProperty::setAccessible — Özelliği erişilebilir kılar

Açıklama

public ReflectionProperty::setAccessible(bool $erişilebilir): void

ReflectionProperty::getValue() ve ReflectionProperty::setValue() yöntemlerinden erişilebilir kılmak için protected veya private bir özelliği erişilebilir yapar.

Bilginize: PHP 8.1.0 itibariyle, tüm özellikler öntanımlı olarak erişilebilir olduğundan bu yöntemin çağrılmasının bir etkisi yoktur.

Bağımsız Değişkenler

erişilebilir

Özellik erişilebilir olacaksa true yoksa false belirtilir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Basit bir sınıf tanımı

<?php
class MyClass
{
private $foo = 'bar';
}

$property = new ReflectionProperty("MyClass", "foo");
$property->setAccessible(true);

$obj = new MyClass();
echo $property->getValue($obj);
echo $obj->foo;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bar
Fatal error: Uncaught Error: Cannot access private property MyClass::$foo in /in/WJqTv:12

Ayrıca Bakınız

  • ReflectionProperty::isPrivate() - Özellik private olarak mı bildirilmiş diye bakar
  • ReflectionProperty::isProtected() - Özellik protected olarak mı bildirilmiş diye bakar


Özelliğe değer atar

  • « ReflectionProperty::setAccessible
  • ReflectionProperty::__toString »
  • PHP Manual
  • ReflectionProperty
  • Özelliğe değer atar

ReflectionProperty::setValue

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::setValue — Özelliğe değer atar

Açıklama

public ReflectionProperty::setValue(object $nesne, mixed $değer): void
public ReflectionProperty::setValue(mixed $değer): void

Bir özelliğe değer atar.

Bilginize: PHP 8.3.0 ve sonrasında, bu yöntemin tek bağımsız değişkenle çağrılması önerilmemektedir. Yerine ReflectionClass::setStaticPropertyValue() kullanılmalıdır.

Bağımsız Değişkenler

nesne

Özellik statik değilse özelliğin ait olduğu nesne burada belirtilmelidir. Statik ise nesne belirtmeye gerek yoktur. Sadece değer belirtmek yeterlidir.

değer

Yeni değer.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Bu yöntemin tek bağımsız değişkenle çağrılması artık önerilmiyor. Duruk özellikleri değiştirmek için bunun yerine ReflectionClass::setStaticPropertyValue() kullanılmalıdır.
8.1.0 | Private ve protected özellikler ReflectionProperty::setValue() tarafından hemen erişilebilir olur. Evvelce erişilebilir olmaları için ReflectionProperty::setAccessible() çağrısı yapmak gerekirdi; özellik erişilebilir değilse ReflectionException istisnası oluşurdu.

Örnekler

Örnek 1 - ReflectionProperty::setValue() örneği

<?php
class Foo {
public static $staticProperty;

public $property;
protected $privateProperty;
}

$reflectionClass = new ReflectionClass('Foo');

// PHP 8.3 ve sonrasında, duruk özelliklere değer atamak için
// setValue değil setStaticPropertyValue() kullanılmalıdır.
$reflectionClass->setStaticPropertyValue('staticProperty', 'foo');
var_dump(Foo::$staticProperty);

$foo = new Foo;

$reflectionClass->getProperty('property')->setValue($foo, 'bar');
var_dump($foo->property);

$reflectionProperty = $reflectionClass->getProperty('privateProperty');
$reflectionProperty->setAccessible(true); // yalnızca PHP 8.1.0 öncesi
$reflectionProperty->setValue($foo, 'foobar');
var_dump($reflectionProperty->getValue($foo));
?>

Yukarıdaki örneğin çıktısı:

string(3) "foo"
string(3) "bar"
string(6) "foobar"

Ayrıca Bakınız

  • ReflectionProperty::getValue() - Özelliğin değerini döndürür
  • ReflectionProperty::setAccessible() - Özelliği erişilebilir kılar
  • ReflectionClass::setStaticPropertyValue() - Statik özelliğe değer atar


Dizgesel gösterimi döndürür

  • « ReflectionProperty::setValue
  • ReflectionType »
  • PHP Manual
  • ReflectionProperty
  • Dizgesel gösterimi döndürür

ReflectionProperty::__toString

(PHP 5, PHP 7, PHP 8)

ReflectionProperty::__toString — Dizgesel gösterimi döndürür

Açıklama

public ReflectionProperty::__toString(): string

Yansıtılan özelliğin dizgesel gösterimini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yansıtılan özelliğin dizgesel gösterimi.

Ayrıca Bakınız

  • __toString()


ReflectionType sınıfı

(PHP 7, PHP 8)

Giriş

ReflectionType sınıfı bir işlevin bağımsız değişken/dönüş türü veya bir sınıfın özellik türü hakkında bilgi sağlar. Eklentide şu alt türler bildirilmiştir:

  • ReflectionNamedType (PHP 7.1.0 ve sonrası)
  • ReflectionUnionType (PHP 8.0.0 ve sonrası)
  • ReflectionIntersectionType (PHP 8.1.0 ve sonrası)

Sınıf Sözdizimi

abstract class ReflectionType implements Stringable {
/* Yöntemler */
public allowsNull(): bool
public __toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ReflectionType soyut duruma geldi ve ReflectionType::isBuiltin() ise ReflectionNamedType::isBuiltin() oldu.

İçindekiler

  • ReflectionType::allowsNull — Checks if null is allowed
  • ReflectionType::__toString — To string


Checks if null is allowed

  • « ReflectionType
  • ReflectionType::__toString »
  • PHP Manual
  • ReflectionType
  • Checks if null is allowed

ReflectionType::allowsNull

(PHP 7, PHP 8)

ReflectionType::allowsNull — Checks if null is allowed

Açıklama

public ReflectionType::allowsNull(): bool

Checks whether the parameter allows null.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if null is allowed, otherwise false

Örnekler

Örnek 1 ReflectionType::allowsNull() example

<?php
function someFunction(string $param, stdClass $param2 = null) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParams = $reflectionFunc->getParameters();

var_dump($reflectionParams[0]->getType()->allowsNull());
var_dump($reflectionParams[1]->getType()->allowsNull());

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)

Ayrıca Bakınız

  • ReflectionNamedType::isBuiltin() - Checks if it is a built-in type
  • ReflectionType::__toString() - To string
  • ReflectionParameter::getType() - Gets a parameter's type


To string

  • « ReflectionType::allowsNull
  • ReflectionUnionType »
  • PHP Manual
  • ReflectionType
  • To string

ReflectionType::__toString

(PHP 7, PHP 8)

ReflectionType::__toString — To string

Uyarı

Bu işlevin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public ReflectionType::__toString(): string

Gets the parameter type name.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the type of the parameter.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | ReflectionType::__toString() has been deprecated.

Örnekler

Örnek 1 ReflectionType::__toString() example

<?php
function someFunction(string $param) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

echo $reflectionParam->getType();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string

Ayrıca Bakınız

  • ReflectionNamedType::getName() - Get the name of the type as a string
  • ReflectionNamedType::isBuiltin() - Checks if it is a built-in type
  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionUnionType::getTypes() - Returns the types included in the union type
  • ReflectionParameter::getType() - Gets a parameter's type


ReflectionUnionType sınıfı

(PHP 8)

Giriş

Sınıf Sözdizimi

class ReflectionUnionType extends ReflectionType {
/* Yöntemler */
public getTypes(): array
public ReflectionType::allowsNull(): bool
public ReflectionType::__toString(): string
}

İçindekiler

  • ReflectionUnionType::getTypes — Returns the types included in the union type


Returns the types included in the union type

  • « ReflectionUnionType
  • ReflectionGenerator »
  • PHP Manual
  • ReflectionUnionType
  • Returns the types included in the union type

ReflectionUnionType::getTypes

(PHP 8)

ReflectionUnionType::getTypes — Returns the types included in the union type

Açıklama

public ReflectionUnionType::getTypes(): array

Returns the reflections of types included in the union type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of ReflectionType objects.

Örnekler

Örnek 1 ReflectionUnionType::getTypes() example

<?php
function someFunction(int|float $number) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

var_dump($reflectionParam->getType()->getTypes());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
    [0] =>
    class ReflectionNamedType#4(0) {
    }
    [1] =>
    class ReflectionNamedType#5(0) {
    }
}

Ayrıca Bakınız

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionParameter::getType() - Gets a parameter's type


ReflectionGenerator sınıfı

(PHP 7, PHP 8)

Giriş

ReflectionGenerator sınıfı bir üreteç hakkında bilgi sağlar.

Sınıf Sözdizimi

final class ReflectionGenerator {
/* Yöntemler */
public __construct(Generator $generator)
public getExecutingFile(): string
public getExecutingGenerator(): Generator
public getExecutingLine(): int
public getFunction(): ReflectionFunctionAbstract
public getThis(): ?object
public getTrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT): array
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Sınıf artık final.

İçindekiler

  • ReflectionGenerator::__construct — Constructs a ReflectionGenerator object
  • ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator
  • ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object
  • ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator
  • ReflectionGenerator::getFunction — Gets the function name of the generator
  • ReflectionGenerator::getThis — Gets the $this value of the generator
  • ReflectionGenerator::getTrace — Gets the trace of the executing generator


Constructs a ReflectionGenerator object

  • « ReflectionGenerator
  • ReflectionGenerator::getExecutingFile »
  • PHP Manual
  • ReflectionGenerator
  • Constructs a ReflectionGenerator object

ReflectionGenerator::__construct

(PHP 7, PHP 8)

ReflectionGenerator::__construct — Constructs a ReflectionGenerator object

Açıklama

public ReflectionGenerator::__construct(Generator $generator)

Constructs a ReflectionGenerator object.

Bağımsız Değişkenler

generator

A generator object.

Örnekler

Örnek 1 ReflectionGenerator::__construct() example

<?php

function gen()
{
yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

echo <<< output
{$reflectionGen->getFunction()->name}
Line: {$reflectionGen->getExecutingLine()}
File: {$reflectionGen->getExecutingFile()}
output;

Yukarıdaki örnek şuna benzer bir çıktı üretir:

gen
Line: 5
File: /path/to/file/example.php

Ayrıca Bakınız

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the file name of the currently executing generator

  • « ReflectionGenerator::__construct
  • ReflectionGenerator::getExecutingGenerator »
  • PHP Manual
  • ReflectionGenerator
  • Gets the file name of the currently executing generator

ReflectionGenerator::getExecutingFile

(PHP 7, PHP 8)

ReflectionGenerator::getExecutingFile — Gets the file name of the currently executing generator

Açıklama

public ReflectionGenerator::getExecutingFile(): string

Get the full path and file name of the currently executing generator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the full path and file name of the currently executing generator.

Örnekler

Örnek 1 ReflectionGenerator::getExecutingFile() example

<?php

class GenExample
{
public function gen()
{
yield 1;
}
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "File: {$reflectionGen->getExecutingFile()}";

Yukarıdaki örnek şuna benzer bir çıktı üretir:

File: /path/to/file/example.php

Ayrıca Bakınız

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object


Gets the executing Generator object

  • « ReflectionGenerator::getExecutingFile
  • ReflectionGenerator::getExecutingLine »
  • PHP Manual
  • ReflectionGenerator
  • Gets the executing Generator object

ReflectionGenerator::getExecutingGenerator

(PHP 7, PHP 8)

ReflectionGenerator::getExecutingGenerator — Gets the executing Generator object

Açıklama

public ReflectionGenerator::getExecutingGenerator(): Generator

Get the executing Generator object

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the currently executing Generator object.

Örnekler

Örnek 1 ReflectionGenerator::getExecutingGenerator() example

<?php

class GenExample
{
public function gen()
{
yield 1;
}
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

$gen2 = $reflectionGen->getExecutingGenerator();

var_dump($gen2 === $gen);
var_dump($gen2->current());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

bool(true)
int(1);

Ayrıca Bakınız

  • ReflectionGenerator::getExecutingLine() - Gets the currently executing line of the generator
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the currently executing line of the generator

  • « ReflectionGenerator::getExecutingGenerator
  • ReflectionGenerator::getFunction »
  • PHP Manual
  • ReflectionGenerator
  • Gets the currently executing line of the generator

ReflectionGenerator::getExecutingLine

(PHP 7, PHP 8)

ReflectionGenerator::getExecutingLine — Gets the currently executing line of the generator

Açıklama

public ReflectionGenerator::getExecutingLine(): int

Get the currently executing line number of the generator.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the line number of the currently executing statement in the generator.

Örnekler

Örnek 1 ReflectionGenerator::getExecutingLine() example

<?php

class GenExample
{
public function gen()
{
yield 1;
}
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

echo "Line: {$reflectionGen->getExecutingLine()}";

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Line: 7

Ayrıca Bakınız

  • ReflectionGenerator::getExecutingGenerator() - Gets the executing Generator object
  • ReflectionGenerator::getExecutingFile() - Gets the file name of the currently executing generator


Gets the function name of the generator

  • « ReflectionGenerator::getExecutingLine
  • ReflectionGenerator::getThis »
  • PHP Manual
  • ReflectionGenerator
  • Gets the function name of the generator

ReflectionGenerator::getFunction

(PHP 7, PHP 8)

ReflectionGenerator::getFunction — Gets the function name of the generator

Açıklama

public ReflectionGenerator::getFunction(): ReflectionFunctionAbstract

Enables the function name of the generator to be obtained by returning a class derived from ReflectionFunctionAbstract.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a ReflectionFunctionAbstract class. This will be ReflectionFunction for functions, or ReflectionMethod for methods.

Örnekler

Örnek 1 ReflectionGenerator::getFunction() example

<?php

function gen()
{
yield 1;
}

$gen = gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getFunction());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(ReflectionFunction)#3 (1) {
  ["name"]=>
  string(3) "gen"
}

Ayrıca Bakınız

  • ReflectionGenerator::getThis() - Gets the $this value of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator


Gets the $this value of the generator

  • « ReflectionGenerator::getFunction
  • ReflectionGenerator::getTrace »
  • PHP Manual
  • ReflectionGenerator
  • Gets the $this value of the generator

ReflectionGenerator::getThis

(PHP 7, PHP 8)

ReflectionGenerator::getThis — Gets the $this value of the generator

Açıklama

public ReflectionGenerator::getThis(): ?object

Get the $this value that the generator has access to.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the $this value, or null if the generator was not created in a class context.

Örnekler

Örnek 1 ReflectionGenerator::getThis() example

<?php

class GenExample
{
public function gen()
{
yield 1;
}
}

$gen = (new GenExample)->gen();

$reflectionGen = new ReflectionGenerator($gen);

var_dump($reflectionGen->getThis());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(GenExample)#3 (0) {
}

Ayrıca Bakınız

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getTrace() - Gets the trace of the executing generator


Gets the trace of the executing generator

  • « ReflectionGenerator::getThis
  • ReflectionFiber »
  • PHP Manual
  • ReflectionGenerator
  • Gets the trace of the executing generator

ReflectionGenerator::getTrace

(PHP 7, PHP 8)

ReflectionGenerator::getTrace — Gets the trace of the executing generator

Açıklama

public ReflectionGenerator::getTrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT): array

Get the trace of the currently executing generator.

Bağımsız Değişkenler

options

The value of options can be any of the following flags.

Available options
Option | Description
DEBUG_BACKTRACE_PROVIDE_OBJECT | Default.
DEBUG_BACKTRACE_IGNORE_ARGS | Don't include the argument information for functions in the stack trace.

Dönen Değerler

Returns the trace of the currently executing generator.

Örnekler

Örnek 1 ReflectionGenerator::getTrace() example

<?php
function foo() {
yield 1;
}

function bar()
{
yield from foo();
}

function baz()
{
yield from bar();
}

$gen = baz();
$gen->valid(); // start the generator

var_dump((new ReflectionGenerator($gen))->getTrace());

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
  [0]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(8)
    ["function"]=>
    string(3) "foo"
    ["args"]=>
    array(0) {
    }
  }
  [1]=>
  array(4) {
    ["file"]=>
    string(18) "example.php"
    ["line"]=>
    int(12)
    ["function"]=>
    string(3) "bar"
    ["args"]=>
    array(0) {
    }
  }
}

Ayrıca Bakınız

  • ReflectionGenerator::getFunction() - Gets the function name of the generator
  • ReflectionGenerator::getThis() - Gets the $this value of the generator


ReflectionFiber sınıfı

(PHP 8 >= 8.1.0)

Giriş

Sınıf Sözdizimi

final class ReflectionFiber {
/* Yöntemler */
public __construct(Fiber $fiber)
public getCallable(): callable
public getExecutingFile(): string
public getExecutingLine(): int
public getFiber(): Fiber
public getTrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT): array
}

İçindekiler

  • ReflectionFiber::__construct — Constructs a ReflectionFiber object
  • ReflectionFiber::getCallable — Gets the callable used to create the Fiber
  • ReflectionFiber::getExecutingFile — Get the file name of the current execution point
  • ReflectionFiber::getExecutingLine — Get the line number of the current execution point
  • ReflectionFiber::getFiber — Get the reflected Fiber instance
  • ReflectionFiber::getTrace — Get the backtrace of the current execution point


Constructs a ReflectionFiber object

  • « ReflectionFiber
  • ReflectionFiber::getCallable »
  • PHP Manual
  • ReflectionFiber
  • Constructs a ReflectionFiber object

ReflectionFiber::__construct

(PHP 8 >= 8.1.0)

ReflectionFiber::__construct — Constructs a ReflectionFiber object

Açıklama

public ReflectionFiber::__construct(Fiber $fiber)

Constructs a ReflectionFiber object.

Bağımsız Değişkenler

fiber

The Fiber to reflect.


Gets the callable used to create the Fiber

  • « ReflectionFiber::__construct
  • ReflectionFiber::getExecutingFile »
  • PHP Manual
  • ReflectionFiber
  • Gets the callable used to create the Fiber

ReflectionFiber::getCallable

(PHP 8 >= 8.1.0)

ReflectionFiber::getCallable — Gets the callable used to create the Fiber

Açıklama

public ReflectionFiber::getCallable(): callable

Returns the callable used to construct the Fiber. If the fiber has terminated, an Error is thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The callable used to create the Fiber.


Get the file name of the current execution point

  • « ReflectionFiber::getCallable
  • ReflectionFiber::getExecutingLine »
  • PHP Manual
  • ReflectionFiber
  • Get the file name of the current execution point

ReflectionFiber::getExecutingFile

(PHP 8 >= 8.1.0)

ReflectionFiber::getExecutingFile — Get the file name of the current execution point

Açıklama

public ReflectionFiber::getExecutingFile(): string

Returns the full path and file name of the current execution point in the reflected Fiber. If the fiber has not been started or has terminated, an Error is thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The full path and file name of the reflected fiber.


Get the line number of the current execution point

  • « ReflectionFiber::getExecutingFile
  • ReflectionFiber::getFiber »
  • PHP Manual
  • ReflectionFiber
  • Get the line number of the current execution point

ReflectionFiber::getExecutingLine

(PHP 8 >= 8.1.0)

ReflectionFiber::getExecutingLine — Get the line number of the current execution point

Açıklama

public ReflectionFiber::getExecutingLine(): int

Returns the line number of the current execution point in the reflected Fiber. If the fiber has not been started or has terminated, an Error is thrown.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The line number of the current execution point in the fiber.


Get the reflected Fiber instance

  • « ReflectionFiber::getExecutingLine
  • ReflectionFiber::getTrace »
  • PHP Manual
  • ReflectionFiber
  • Get the reflected Fiber instance

ReflectionFiber::getFiber

(PHP 8 >= 8.1.0)

ReflectionFiber::getFiber — Get the reflected Fiber instance

Açıklama

public ReflectionFiber::getFiber(): Fiber

Returns the Fiber instance being reflected.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The Fiber instance being reflected.


Get the backtrace of the current execution point

  • « ReflectionFiber::getFiber
  • ReflectionIntersectionType »
  • PHP Manual
  • ReflectionFiber
  • Get the backtrace of the current execution point

ReflectionFiber::getTrace

(PHP 8 >= 8.1.0)

ReflectionFiber::getTrace — Get the backtrace of the current execution point

Açıklama

public ReflectionFiber::getTrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT): array

Get the backtrace of the current execution point in the reflected Fiber.

Bağımsız Değişkenler

options

The value of options can be any of the following flags.

Available options
Option | Açıklama
DEBUG_BACKTRACE_PROVIDE_OBJECT | Default.
DEBUG_BACKTRACE_IGNORE_ARGS | Don't include the argument information for functions in the stack trace.

Dönen Değerler

The backtrace of the current execution point in the fiber.


ReflectionIntersectionType sınıfı

(PHP 8 >= 8.1.0)

Giriş

Sınıf Sözdizimi

class ReflectionIntersectionType extends ReflectionType {
/* Yöntemler */
public getTypes(): array
/* Miras alınan yöntemler */
public ReflectionType::allowsNull(): bool
public ReflectionType::__toString(): string
}

İçindekiler

  • ReflectionIntersectionType::getTypes — Returns the types included in the intersection type


Returns the types included in the intersection type

  • « ReflectionIntersectionType
  • ReflectionReference »
  • PHP Manual
  • ReflectionIntersectionType
  • Returns the types included in the intersection type

ReflectionIntersectionType::getTypes

(PHP 8 >= 8.1.0)

ReflectionIntersectionType::getTypes — Returns the types included in the intersection type

Açıklama

public ReflectionIntersectionType::getTypes(): array

Returns the reflections of types included in the intersection type.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of ReflectionType objects.

Örnekler

Örnek 1 ReflectionIntersectionType::getTypes() example

<?php

function someFunction(Iterator&Countable $value) {}

$reflectionFunc = new ReflectionFunction('someFunction');
$reflectionParam = $reflectionFunc->getParameters()[0];

var_dump($reflectionParam->getType()->getTypes());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

array(2) {
    [0] =>
    class ReflectionNamedType#4(0) {
    }
    [1] =>
    class ReflectionNamedType#5(0) {
    }
}

Ayrıca Bakınız

  • ReflectionType::allowsNull() - Checks if null is allowed
  • ReflectionParameter::getType() - Gets a parameter's type


ReflectionReference sınıfı

(PHP 7 >= 7.4.0, PHP 8)

Giriş

ReflectionReference sınıfı bir gönderim hakkında bilgi sağlar.

Sınıf Sözdizimi

final class ReflectionReference {
/* Yöntemler */
private __construct()
public static fromArrayElement(array $array, int|string $key): ?ReflectionReference
public getId(): string
}

İçindekiler

  • ReflectionReference::__construct — Private constructor to disallow direct instantiation
  • ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element
  • ReflectionReference::getId — Get unique ID of a reference


Private constructor to disallow direct instantiation

  • « ReflectionReference
  • ReflectionReference::fromArrayElement »
  • PHP Manual
  • ReflectionReference
  • Private constructor to disallow direct instantiation

ReflectionReference::__construct

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

ReflectionReference::__construct — Private constructor to disallow direct instantiation

Açıklama

private ReflectionReference::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Create a ReflectionReference from an array element

  • « ReflectionReference::__construct
  • ReflectionReference::getId »
  • PHP Manual
  • ReflectionReference
  • Create a ReflectionReference from an array element

ReflectionReference::fromArrayElement

(PHP 7 >= 7.4.0, PHP 8)

ReflectionReference::fromArrayElement — Create a ReflectionReference from an array element

Açıklama

public static ReflectionReference::fromArrayElement(array $array, int|string $key): ?ReflectionReference

Creates a ReflectionReference from an array element.

Bağımsız Değişkenler

array

The array which contains the potential reference.

key

The key; either an int or a string.

Dönen Değerler

Returns a ReflectionReference instance if $array[$key] is a reference, or null otherwise.

Hatalar/İstisnalar

If array is not an array, or key is not an int or string, a TypeError is thrown. If $array[$key] does not exist, a ReflectionException is thrown.


Get unique ID of a reference

  • « ReflectionReference::fromArrayElement
  • ReflectionAttribute »
  • PHP Manual
  • ReflectionReference
  • Get unique ID of a reference

ReflectionReference::getId

(PHP 7 >= 7.4.0, PHP 8)

ReflectionReference::getId — Get unique ID of a reference

Açıklama

public ReflectionReference::getId(): string

Returns an ID which is unique for the reference for the lifetime of that reference. This ID can be used to compare references for equality, or to maintain a map of known references.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string of unspecified format.

Örnekler

Örnek 1 Basic ReflectionReference::getId() usage

<?php
$val1 = 'foo';
$val2 = 'bar';
$arr = [&$val1, &$val2, &$val1];

$rr1 = ReflectionReference::fromArrayElement($arr, 0);
$rr2 = ReflectionReference::fromArrayElement($arr, 1);
$rr3 = ReflectionReference::fromArrayElement($arr, 2);

var_dump($rr1->getId() === $rr2->getId());
var_dump($rr1->getId() === $rr3->getId());
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)


ReflectionAttribute sınıfı

(PHP 8)

Giriş

The ReflectionAttribute sınıfı bir öznitelik hakkında bilgi verir.

Sınıf Sözdizimi

class ReflectionAttribute implements Reflector {
/* Sabitler */
public const int IS_INSTANCEOF;
/* Yöntemler */
private __construct()
public getArguments(): array
public getName(): string
public getTarget(): int
public isRepeated(): bool
public newInstance(): object
}

Öntanımlı Sabitler

ReflectionAttribute Sabitleri

ReflectionAttribute::IS_INSTANCEOF

Öznitelikleri instanceof sınamasıyla döndürür.

Bilginize:

Bu sabitlerin değerleri PHP sürümleri arasında farklılık gösterebilir. Bu sabitlerin değerleri ile değil isimleri ile kullanılması önerilir.

İçindekiler

  • ReflectionAttribute::__construct — Private constructor to disallow direct instantiation
  • ReflectionAttribute::getArguments — Gets arguments passed to attribute
  • ReflectionAttribute::getName — Gets attribute name
  • ReflectionAttribute::getTarget — Returns the target of the attribute as bitmask
  • ReflectionAttribute::isRepeated — Returns whether the attribute of this name has been repeated on a code element
  • ReflectionAttribute::newInstance — Instantiates the attribute class represented by this ReflectionAttribute class and arguments


Private constructor to disallow direct instantiation

  • « ReflectionAttribute
  • ReflectionAttribute::getArguments »
  • PHP Manual
  • ReflectionAttribute
  • Private constructor to disallow direct instantiation

ReflectionAttribute::__construct

(PHP 8)

ReflectionAttribute::__construct — Private constructor to disallow direct instantiation

Açıklama

private ReflectionAttribute::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Gets arguments passed to attribute

  • « ReflectionAttribute::__construct
  • ReflectionAttribute::getName »
  • PHP Manual
  • ReflectionAttribute
  • Gets arguments passed to attribute

ReflectionAttribute::getArguments

(PHP 8)

ReflectionAttribute::getArguments — Gets arguments passed to attribute

Açıklama

public ReflectionAttribute::getArguments(): array

Gets arguments passed to attribute.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The arguments passed to attribute.


Gets attribute name

  • « ReflectionAttribute::getArguments
  • ReflectionAttribute::getTarget »
  • PHP Manual
  • ReflectionAttribute
  • Gets attribute name

ReflectionAttribute::getName

(PHP 8)

ReflectionAttribute::getName — Gets attribute name

Açıklama

public ReflectionAttribute::getName(): string

Gets the attributes name.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The name of the attribute.


Returns the target of the attribute as bitmask

  • « ReflectionAttribute::getName
  • ReflectionAttribute::isRepeated »
  • PHP Manual
  • ReflectionAttribute
  • Returns the target of the attribute as bitmask

ReflectionAttribute::getTarget

(PHP 8)

ReflectionAttribute::getTarget — Returns the target of the attribute as bitmask

Açıklama

public ReflectionAttribute::getTarget(): int

Gets target of the attribute as bitmask.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Gets target of the attribute as bitmask.


Returns whether the attribute of this name has been repeated on a code element

  • « ReflectionAttribute::getTarget
  • ReflectionAttribute::newInstance »
  • PHP Manual
  • ReflectionAttribute
  • Returns whether the attribute of this name has been repeated on a code element

ReflectionAttribute::isRepeated

(PHP 8)

ReflectionAttribute::isRepeated — Returns whether the attribute of this name has been repeated on a code element

Açıklama

public ReflectionAttribute::isRepeated(): bool

Returns whether the attribute of this name has been repeated on a code element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true when attribute is used repeatedly, otherwise false.


Instantiates the attribute class represented by this ReflectionAttribute class and arguments

  • « ReflectionAttribute::isRepeated
  • Reflector »
  • PHP Manual
  • ReflectionAttribute
  • Instantiates the attribute class represented by this ReflectionAttribute class and arguments

ReflectionAttribute::newInstance

(PHP 8)

ReflectionAttribute::newInstance — Instantiates the attribute class represented by this ReflectionAttribute class and arguments

Açıklama

public ReflectionAttribute::newInstance(): object

Instantiates the attribute class represented by this ReflectionAttribute class and arguments.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

New instance of the attribute.


Reflector Arayüzü

(PHP 5, PHP 7, PHP 8)

Giriş

Reflector arayüzü, tüm ihraç edilebilir yansıtma sınıflarınca gerçeklenmiş bir arayüzdür.

Arayüz Sözdizimi

interface Reflector extends Stringable {
/* Miras alınan yöntemler */
public Stringable::__toString(): string
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Reflector::export() kaldırıldı.
8.0.0 | Reflector artık Stringable arayüzünü genişletiyor. Stringable::__toString() yöntemini Reflector::__toString() yönteminin yerine miras alıyor.

Ayrıca Bakınız

  • Reflector::export()

İçindekiler

  • Reflector::export — Sınıfı ihraç eder


Sınıfı ihraç eder

  • « Reflector
  • ReflectionException »
  • PHP Manual
  • Reflector
  • Sınıfı ihraç eder

Reflector::export

(PHP 5, PHP 7)

Reflector::export — Sınıfı ihraç eder

Uyarı

Bu işlevin kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

public static Reflector::export(): string

Sınıfı ihraç eder.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Ayrıca Bakınız

  • Reflector::__toString()


ReflectionException Sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

ReflectionException sınıfı, yansıtma arayüzü tarafından oluşturulmuş olup standard Exception sınıfını genişletir.

Sınıf Sözdizimi

class ReflectionException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Değişken İşlemleri

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Değişkenlerle ilgili işlevler
    • boolval — Değişkenin mantıksal değerini döndürür
    • debug_zval_dump — Dahili zval yapısının dizgesel gösterimini çıktıya dökümler
    • doubleval — floatval işlevinin takma ismidir
    • empty — Bir değişkenin boş olup olmadığını saptar
    • floatval — Bir değişkenin gerçek sayı değerini döndürür
    • get_debug_type — Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
    • get_defined_vars — Tüm tanımlı değişkenleri içeren bir dizi döndürür
    • get_resource_id — Belirtilen özkaynağın tamsayı belirteci döner
    • get_resource_type — Özkaynak türünü döndürür
    • gettype — Bir değişkenin türünü döndürür
    • intval — Bir değişkenin tamsayı değerini döndürür
    • is_array — Değişkenin bir dizi içerip içermediğine bakar
    • is_bool — Değişken boolean türünde mi diye bakar
    • is_callable — Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
    • is_countable — Değişken değerinin sayılabilirliğine bakar
    • is_double — is_float işlevinin takma adıdır
    • is_float — Değişken float türünde mi diye bakar
    • is_int — Değişken bir tamsayı mı diye bakar
    • is_integer — is_int işlevinin takma adıdır
    • is_iterable — Değişkenin değerinin yinelenebilirliğine bakar
    • is_long — is_int işlevinin takma adıdır
    • is_null — Bir değişkenin değerinin null olup olmadığına bakar
    • is_numeric — Değişken bir sayı veya bir sayısal dizge mi diye bakar
    • is_object — Değişken object türünde mi diye bakar
    • is_real — is_float işlevinin takma adıdır
    • is_resource — Değişken resource türünde mi diye bakar
    • is_scalar — Bir değişken sayıl mı diye bakar
    • is_string — Değişken string türünde mi diye bakar
    • isset — Değişken bildirilmiş ve null değil mi diye bakar
    • print_r — Bir değişkenin insanlarca okunabilecek gösterimini basar
    • serialize — Bir değerin saklanabilir bir gösterimini üretir
    • settype — Bir değişkenin türünü belirler
    • strval — Bir değişkenin dizgesel değerini döndürür
    • unserialize — Bir PHP değerini saklanmış gösteriminden oluşturur
    • unset — Belirtilen değişkeni bildirimsiz yapar
    • var_dump — Bir değişkenle ilgili bilgiyi dökümler
    • var_export — Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar


Giriş

Değişkenlerin nasıl davranışlar gösterdikleriyle ilgili bilgileri Değişkenler bölümünde bulabilirsiniz (Dil Başvuru Kılavuzunda).


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Değişkenleri Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
unserialize_callback_func | null | PHP_INI_ALL |
unserialize_max_depth | "4096" | PHP_INI_ALL | PHP 7.4.0 ve sonrasında kullanılabilir.
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

unserialize_callback_func string

unserialize() tanımsız bir sınıfı kullanmaya çalışırsa belirtilen geriçağırım işlevi çağrılır. Belirtilen işlev tanımlanmamışsa veya işlev eksik sınıfı içermiyor veya gerçeklemiyorsa bir uyarı görüntülenir.

Ayrıca bakınız: unserialize() ve Otomatik Yüklenen Sınıflar.

unserialize_max_depth int

unserialize() kulanılarak yapılan nesneleştirme sırasında izin verilen veri yapılarının azami derinliği olup yığıt taşmalarını engellemek için tasarlanmıştır. Öntanımlı derinlik sınırı 4096 olup unserialize_max_depth'e 0 atanarak devre dışı bırakılabilir.

Ayrıca bakınız: unserialize() ve Otomatik Yüklenen Sınıflar.


  • « Özkaynak Türleri
  • Değişkenlerle ilgili işlevler »
  • PHP Manual
  • Var
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Değişkenlerle ilgili işlevler

İçindekiler

  • boolval — Değişkenin mantıksal değerini döndürür
  • debug_zval_dump — Dahili zval yapısının dizgesel gösterimini çıktıya dökümler
  • doubleval — floatval işlevinin takma ismidir
  • empty — Bir değişkenin boş olup olmadığını saptar
  • floatval — Bir değişkenin gerçek sayı değerini döndürür
  • get_debug_type — Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
  • get_defined_vars — Tüm tanımlı değişkenleri içeren bir dizi döndürür
  • get_resource_id — Belirtilen özkaynağın tamsayı belirteci döner
  • get_resource_type — Özkaynak türünü döndürür
  • gettype — Bir değişkenin türünü döndürür
  • intval — Bir değişkenin tamsayı değerini döndürür
  • is_array — Değişkenin bir dizi içerip içermediğine bakar
  • is_bool — Değişken boolean türünde mi diye bakar
  • is_callable — Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
  • is_countable — Değişken değerinin sayılabilirliğine bakar
  • is_double — is_float işlevinin takma adıdır
  • is_float — Değişken float türünde mi diye bakar
  • is_int — Değişken bir tamsayı mı diye bakar
  • is_integer — is_int işlevinin takma adıdır
  • is_iterable — Değişkenin değerinin yinelenebilirliğine bakar
  • is_long — is_int işlevinin takma adıdır
  • is_null — Bir değişkenin değerinin null olup olmadığına bakar
  • is_numeric — Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_object — Değişken object türünde mi diye bakar
  • is_real — is_float işlevinin takma adıdır
  • is_resource — Değişken resource türünde mi diye bakar
  • is_scalar — Bir değişken sayıl mı diye bakar
  • is_string — Değişken string türünde mi diye bakar
  • isset — Değişken bildirilmiş ve null değil mi diye bakar
  • print_r — Bir değişkenin insanlarca okunabilecek gösterimini basar
  • serialize — Bir değerin saklanabilir bir gösterimini üretir
  • settype — Bir değişkenin türünü belirler
  • strval — Bir değişkenin dizgesel değerini döndürür
  • unserialize — Bir PHP değerini saklanmış gösteriminden oluşturur
  • unset — Belirtilen değişkeni bildirimsiz yapar
  • var_dump — Bir değişkenle ilgili bilgiyi dökümler
  • var_export — Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar


Değişkenin mantıksal değerini döndürür

  • « Değişkenlerle ilgili işlevler
  • debug_zval_dump »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişkenin mantıksal değerini döndürür

boolval

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

boolval — Değişkenin mantıksal değerini döndürür

Açıklama

boolval(mixed $değer): bool

değer ile ilgili mantıksal değeri döndürür.

Bağımsız Değişkenler

değer

bool türüne dönüştürülecek değer.

Dönen Değerler

bool türüne dönüştürülmüş değeri döndürür.

Örnekler

Örnek 1 - boolval() örnekleri

<?php
echo '0: '.(boolval(0) ? 'true' : 'false')."\n";
echo '42: '.(boolval(42) ? 'true' : 'false')."\n";
echo '0.0: '.(boolval(0.0) ? 'true' : 'false')."\n";
echo '4.2: '.(boolval(4.2) ? 'true' : 'false')."\n";
echo '"": '.(boolval("") ? 'true' : 'false')."\n";
echo '"string": '.(boolval("string") ? 'true' : 'false')."\n";
echo '"0": '.(boolval("0") ? 'true' : 'false')."\n";
echo '"1": '.(boolval("1") ? 'true' : 'false')."\n";
echo '[1, 2]: '.(boolval([1, 2]) ? 'true' : 'false')."\n";
echo '[]: '.(boolval([]) ? 'true' : 'false')."\n";
echo 'stdClass: '.(boolval(new stdClass) ? 'true' : 'false')."\n";
?>

Yukarıdaki örneğin çıktısı:

0:        false
42:       true
0.0:      false
4.2:      true
"":       false
"string": true
"0":      false
"1":      true
[1, 2]:   true
[]:       false
stdClass: true

Ayrıca Bakınız

  • floatval() - Bir değişkenin gerçek sayı değerini döndürür
  • intval() - Bir değişkenin tamsayı değerini döndürür
  • strval() - Bir değişkenin dizgesel değerini döndürür
  • settype() - Bir değişkenin türünü belirler
  • is_bool() - Değişken boolean türünde mi diye bakar
  • Tür Dönüşümü


Dahili zval yapısının dizgesel gösterimini çıktıya dökümler

  • « boolval
  • doubleval »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Dahili zval yapısının dizgesel gösterimini çıktıya dökümler

debug_zval_dump

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

debug_zval_dump — Dahili zval yapısının dizgesel gösterimini çıktıya dökümler

Açıklama

debug_zval_dump(mixed $değer, mixed ...$değerler): void

Dahili bir zval yapısının (zend değerinin) dizgesel gösterimini çıktıya dökümler. Zend motorunun veya bir PHP eklentisinin gerçeklenim ayrıntılarının hatalarını ayıklamak veya anlamak için bu yöntem oldukça kullanışlıdır.

Bağımsız Değişkenler

değer

Dökümlenecek değişken veya değer.

values

Dökümlenecek değişkenler veya değerler.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - debug_zval_dump() örneği

<?php
$var1 = 'Hello';
$var1 .= ' World';
$var2 = $var1;

debug_zval_dump($var1);
?>

Yukarıdaki örneğin çıktısı:

string(11) "Hello World" refcount(3)

Bilginize: refcount hakkında

Bu işlevden döndürülen refcount değeri, motorun gerçeklenimi ayrıntılı bir şekilde anlaşılmadan şaşırtıcı olabilir.

Zend motoru gönderim sayısını (refcount) iki farklı amaç için kullanır:

  • Aynı değeri tutan birden çok değişkenin bellekteki aynı kopyayı işaret ettiği "yazarken kopyala" adı verilen bir teknik kullanarak bellek kullanımını en iyileme. Değişkenlerden herhangi biri değiştirildiğinde, bellekte yeni bir kopyaya işaret edilir ve özgün kopya üzerindeki gönderim sayısı 1 azaltılır.
  • Gönderimle atanmış veya aktarılmış izleme değişkenleri (bkz. Gönderimlerle İlgili Herşey ). Bu gönderim sayısı, geçerli değer için zval'i işaret eden ayrı bir gönderim zval'ı üzerinde saklanır. Bu ek zval şu anda debug_zval_dump() tarafından gösterilmemektedir.

debug_zval_dump() girdisini değeriyle aktarılan normal bağımsız değişkenler olarak aldığından, bunları aktarmak için "yazarken kopyala" tekniğini kullanacaktır: verileri kopyalamak yerine, işlev çağrısının ömrü boyunca gönderim sayısını bir artıracaktır. İşlev, bağımsız değişkeni aldıktan sonra değiştirseydi, bir kopyası yapılırdı; öyle olmadığından, gösterilen gönderim sayısı çağrı etki alanındakinden bir fazla olur.

Bağımsız değişken aktarımı ayrıca, gönderimle atanan değişkenleri debug_zval_dump() işlevinin göstermesini de önler. Örneklerle açıklamak gerekirse, yukarıdaki örneğin biraz değiştirilmiş bir halini ele alalım:

<?php
$var1 = 'Hello';
$var1 .= ' World';
// Aynı değere gönderim olarak üç değişkene vurgu yapalım
$var2 =& $var1;
$var3 =& $var1;

debug_zval_dump($var1);
?>

Yukarıdaki örneğin çıktısı:

string(11) "Hello World" refcount(2)

$var1, $var2 ve $var3 gönderim olarak ilintili olsa da, debug_zval_dump() işlevine yalnızca bir değer aktarılır. Bu değer, bir kez gönderim kümesi tarafından ve bir kez de debug_zval_dump() içinde kullanılır, bu nedenle gönderim sayısı (refcount) 2 olur.

Motorda farklı veri türleri için yapılan en iyilemeler nedeniyle daha fazla karışıklık ortaya çıkar. Tamsayılar gibi bazı türler "yazarken kopyala" kullanmazlar, bu nedenle bir refcount gösterilmez. Diğer durumlarda, refcount dahili olarak kullanılan fazladan kopyaları da gösterir, örneğin bir sayıl dize veya dizinin bir göstericiyle saklanması gibi.

Ayrıca Bakınız

  • var_dump() - Bir değişkenle ilgili bilgiyi dökümler
  • debug_backtrace() - Hata izleme raporunu bir dizi olarak üretir
  • Gönderimlerle İlgili Herşey
  • » References Explained (Derick Rethans)


floatval işlevinin takma ismidir

  • « debug_zval_dump
  • empty »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • floatval işlevinin takma ismidir

doubleval

(PHP 4, PHP 5, PHP 7, PHP 8)

doubleval — floatval() işlevinin takma ismidir

Açıklama

Bu işlev, floatval() işlevinin takma ismidir.


Bir değişkenin boş olup olmadığını saptar

  • « doubleval
  • floatval »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin boş olup olmadığını saptar

empty

(PHP 4, PHP 5, PHP 7, PHP 8)

empty — Bir değişkenin boş olup olmadığını saptar

Açıklama

empty(mixed $değişken): bool

Belirtilen değişkenin boş kabul edilip edilmeyeceğine bakar. Bir değişken mevcut değilse veya değeri false ise boş kabul edilir. Değişken mevcut değilse işlev bir uyarı üretmez.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

İşlev, değişken mevcut değilse uyarı üretmez. Yani, aslında kısaca !isset($var) || $var == false ifadesine eşdeğerdir.

Dönen Değerler

Belirtilen değişken mevcut değilse veya değer boşsa ya da sıfır ise true döner (bkz: bool türüne dönüşüm). Aksi takdirde false döner.

Örnekler

Örnek 1 - Basit bir empty() / isset() karşılaştırması

<?php
$var = 0;

// $var boş olduğundan sonuç true olur
if (empty($var)) {
echo '$var ya 0, ya boş ya da tanımsızdır';
}

// $var tanımlı olduğundan sonuç true olur
if (isset($var)) {
echo '$var boş olsa da tanımlıdır';
}
?>

Örnek 2 - Dizge başlangıçlarında empty()

<?php
$expected_array_got_string = 'somestring';
var_dump(empty($expected_array_got_string['some_key']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)
bool(false)
bool(true)
bool(true)

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Bilginize:

empty() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __isset() yöntemi çağrılabilir.

Ayrıca Bakınız

  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • __isset()
  • unset() - Belirtilen değişkeni bildirimsiz yapar
  • array_key_exists() - Belirtilen anahtar veya indis dizide var mı diye bakar
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
  • strlen() - Dizge uzunluğunu döndürür
  • Tür Karşılaştırma Tabloları


Bir değişkenin gerçek sayı değerini döndürür

  • « empty
  • get_debug_type »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin gerçek sayı değerini döndürür

floatval

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

floatval — Bir değişkenin gerçek sayı değerini döndürür

Açıklama

floatval(mixed $değişken): float

Belirtilen değişkenin değerini float türünde döndürür.

Bağımsız Değişkenler

değişken

Herhangi bir sayıl değer olabilir. floatval() işlevi nesnelerle kullanılamaz, aksi takdirde E_WARNING seviyesinde bir hata çıktılanır ve işlev 1 değeriyle döner.

Dönen Değerler

Belirtilen değişkenin değerini float türünde döndürür. Boş diziler için 0, boş olmayanlar için ise 1 döner.

Dizgelerde baştaki karakter bir sayı olmadıkça çoğunlukla 0 döner. float türüne dönüşüm kuralları uygulanır. apply.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesneden dönüşümde hata düzeyi E_NOTICE iken E_WARNING oldu.

Örnekler

Örnek 1 - floatval() örneği

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?>

Örnek 2 - floatval() ve baştaki karakterin rakam olmaması durumu

<?php
$var = 'The122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 0
?>

Ayrıca Bakınız

  • boolval() - Değişkenin mantıksal değerini döndürür
  • intval() - Bir değişkenin tamsayı değerini döndürür
  • strval() - Bir değişkenin dizgesel değerini döndürür
  • settype() - Bir değişkenin türünü belirler
  • Tür Dönüşümü


Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür

  • « floatval
  • get_defined_vars »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür

get_debug_type

(PHP 8)

get_debug_type — Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür

Açıklama

get_debug_type(mixed $value): string

PHP değişken değerinin çözümlenmiş adını döndürür. Bu işlev, tür bildirimlerinde kullanılacak olan nesneleri sınıf adlarına, kaynakları kaynak türü adlarına ve sayıl değerleri bilinen adlarına çözümler.

Bu işlev, tarihsel nedenlerle mevcut olanlardan ziyade güncel kullanımla daha tutarlı olan tür adları döndürmesi bakımından gettype() işlevinden farklıdır.

Bağımsız Değişkenler

değer

Sınanacak değişken değeri.

Dönen Değerler

Dönen dizgenin olası değerleri:

Tür + Durum | Dönen Değer | Bilgi
null | "null" | -
Mantıksallar (true veya false) | "bool" | -
Tamsayılar | "int" | -
Kayan noktalılar | "float" | -
Dizgeler | "string" | -
Diziler | "array" | -
Özkaynaklar | "resource (özkaynak_adı)" | -
Özkaynaklar (Kapalı) | "resource (closed)" | Örnek: fclose ile kapandıktan sonra bir dosya akımı.
İsimli Sınıfların Nesneleri | Foo\Bar gibi bir isim alanını da içermek üzere sınıfın tam adı. | -
İsimsiz Sınıfların Nesneleri | "class@anonymous" | $x = new class { ... } sözdizimi ile oluşturulan isimsiz sınıflar.

Örnekler

Örnek 1 - get_debug_type() örneği

<?php
echo get_debug_type(null) . PHP_EOL;
echo get_debug_type(true) . PHP_EOL;
echo get_debug_type(1) . PHP_EOL;
echo get_debug_type(0.1) . PHP_EOL;
echo get_debug_type("foo") . PHP_EOL;
echo get_debug_type([]) . PHP_EOL;

$fp = fopen(__FILE__, 'rb');
echo get_debug_type($fp) . PHP_EOL;

fclose($fp);
echo get_debug_type($fp) . PHP_EOL;

echo get_debug_type(new stdClass) . PHP_EOL;
echo get_debug_type(new class {}) . PHP_EOL;
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

null
bool
int
float
string
array
resource (stream)
resource (closed)
stdClass
class@anonymous

Ayrıca Bakınız

  • gettype() - Bir değişkenin türünü döndürür
  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür


Tüm tanımlı değişkenleri içeren bir dizi döndürür

  • « get_debug_type
  • get_resource_id »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Tüm tanımlı değişkenleri içeren bir dizi döndürür

get_defined_vars

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

get_defined_vars — Tüm tanımlı değişkenleri içeren bir dizi döndürür

Açıklama

get_defined_vars(): array

get_defined_vars() işlevinin çağrıldığı etki alanında geçerli tüm değişkenleri (ortam değişkenleri, sunucu ve kullanıcı tanımlı değişkenler) içeren çok boyutlu bir dizi döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tüm tanımlı değişkenleri içeren çok boyutlu bir dizi.

Örnekler

Örnek 1 - get_defined_vars() örneği

<?php
$b = array(1, 1, 2, 3, 5, 8);

$arr = get_defined_vars();

// $b içeriğini basar
print_r($arr["b"]);

/* PHP yorumlayıcısının yolunu basar (kullanılmışsa, CGI olarak)
* örn, /usr/local/bin/php */
echo $arr["_"];

// Varsa komut satırı bağımsız değişkenlerini basar
print_r($arr["argv"]);

// tüm sunucu değişkenlerini basar
print_r($arr["_SERVER"]);

// Değişkenler dizisinin kullanılabilen tüm anahtarlarını basar
print_r(array_keys(get_defined_vars()));
?>

Ayrıca Bakınız

  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • get_defined_functions() - Tanımlanmış bütün işlevleri içeren bir dizi döndürür
  • get_defined_constants() - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür


Belirtilen özkaynağın tamsayı belirteci döner

  • « get_defined_vars
  • get_resource_type »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Belirtilen özkaynağın tamsayı belirteci döner

get_resource_id

(PHP 8)

get_resource_id — Belirtilen özkaynağın tamsayı belirteci döner

Açıklama

get_resource_id(resource $tanıtıcı): int

Bu işlev, bir özkaynak için tamsayı belirteç oluşturmak için tür açısından güvenli bir yol sağlar.

Bağımsız Değişkenler

tanıtıcı

Değerlendirilecek özkaynağın tanıtıcısı.

Dönen Değerler

Belirtilen tanıtıcı için int türünde bir belirteç döner.

Bu işlev aslında, özkaynak kimliğini almak için daha kolay bir yol olarak tanıtıcıya int tür dönüşümü uygular.

Örnekler

Örnek 1 - int dönüşümüyle aynı sonucu üreten get_resource_id() örneği

<?php
$handle = fopen("php://stdout", "w");

echo (int) $handle . "\n";

echo get_resource_id($handle);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

698

698

Ayrıca Bakınız

  • get_resource_type() - Özkaynak türünü döndürür


Özkaynak türünü döndürür

  • « get_resource_id
  • gettype »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Özkaynak türünü döndürür

get_resource_type

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

get_resource_type — Özkaynak türünü döndürür

Açıklama

get_resource_type(resource $özkaynak): string

Bu işlev belirtilen özkaynağın türünü döndürür.

Bağımsız Değişkenler

özkaynak

Sınanacak özkaynak.

Dönen Değerler

Belirtilen özkaynak bir özkaynak ise bu işlev bu özkaynağın türünü belirten bir dizge döndürür. Eğer tür, bu işlev tarafından tanınmıyorsa Unknown dizgesi döner.

özkaynak resource türünde değilse işlev null döndürür ve bir hata üretir.

Örnekler

Örnek 1 - get_resource_type() örneği

<?php
$fp = fopen("foo", "w");
echo get_resource_type($fp) . "\n";

// PHP 8.0.0 ve sonrasında çalışmaz.
// curl_init işlevi artık bir CurlHandle nesnesi döndürüyor
$c = curl_init ();
echo get_resource_type($c) . "\n"; ?>

Yukarıdaki örneğin PHP 7 çıktısı:

stream
curl

Ayrıca Bakınız

  • get_resource_id() - Belirtilen özkaynağın tamsayı belirteci döner


Bir değişkenin türünü döndürür

  • « get_resource_type
  • intval »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin türünü döndürür

gettype

(PHP 4, PHP 5, PHP 7, PHP 8)

gettype — Bir değişkenin türünü döndürür

Açıklama

gettype(mixed $değişken): string

Belirtilen değişkenin türünü döndürür. Türü sınamak için is_* işlevleri kullanılmalıdır.

Bağımsız Değişkenler

değişken

Türüne bakılacak değişken.

Dönen Değerler

Olası dönüş değerleri:

  • "boolean"
  • "integer"
  • "double" (tarihsel sebeplerle float durumunda "double" döndürülür)
  • "string"
  • "array"
  • "object"
  • "resource"
  • "resource (closed)" PHP 7.2.0 ve sonrası
  • "NULL"
  • "unknown type"

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Kapalı özkaynaklar için artık 'resource (closed)' dönüyor. Evvelce bu durumda 'unknown type' dönerdi.

Örnekler

Örnek 1 - gettype() örneği

<?php

$data = array(1, 1., NULL, new stdClass, 'foo');

foreach ($data as $value) {
echo gettype($value), "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

integer
double
NULL
object
string

Ayrıca Bakınız

  • get_debug_type() - Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
  • settype() - Bir değişkenin türünü belirler
  • get_class() - Bir nesnenin ait olduğu sınıfın ismini döndürür
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_callable() - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_null() - Bir değişkenin değerinin null olup olmadığına bakar
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_resource() - Değişken resource türünde mi diye bakar
  • is_scalar() - Bir değişken sayıl mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • method_exists() - Bir sınıf yöntemi mevcut mu diye bakar


Bir değişkenin tamsayı değerini döndürür

  • « gettype
  • is_array »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin tamsayı değerini döndürür

intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — Bir değişkenin tamsayı değerini döndürür

Açıklama

intval(mixed $değişken, int $taban = 10): int

Belirtilen değişkenin taban tabanında tamsayı değerini döndürür (10 tabanı öntanımlıdır). İşlev nesnelerle kullanılamaz, aksi takdirde E_WARNING seviyesinde bir hata çıktılanır ve işlev 1 döndürür.

Bağımsız Değişkenler

değişken

Bir tamsayıya dönüştürülecek bir sayıl değer.

taban

Dönüşülecek sayı tabanı.

Bilginize:

taban 0 ise, taban değerin biçemine göre saptanır:

  • Dizge bir "0x" (veya "0X") öneki içeriyorsa, taban 16'dır; aksi takdirde,
  • dizge "0b" (veya "0B") öneki içeriyorsa, taban 2'dir (ikli); aksi takdirde,
  • dizge "0" ile başlıyorsa, taban 8'dir; aksi takdirde,
  • taban 10 'dur.

Dönen Değerler

Başarı durumunda belirtilen değerin tamsayı değeriyle, başarısızlık durumunda 0 döner. Boş diziler ve nesneler 0 döndürür. Boş olmayan diziler ise 1 döndürür.

Azami değer sisteme bağlıdır. 32 bitlik sistemlerde işaretli tamsayılar için azami değerler -2147483648 ve 2147483647'dir. Bu bakımdan, böyle sistemlerde örneğin intval('1000000000000') değeri 2147483647 döndürür. 64 bitlik sistemlerde işaretli tamsayılar için azami değer 9223372036854775807'dir.

Dizgeler için dönecek değer genellikle en soldaki karaktere bağlıysa da çoğunlukla 0 döner. Genel kurallar için integer türüne dönüşüm bölümüne bakınız.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Nesneden dönüşümde hata düzeyi E_NOTICE iken E_WARNING oldu.

Örnekler

Örnek 1 - intval() örnekleri

Aşağıdaki örnekler 64 bitlik sistemler içindir.

<?php
echo intval(42); // 42
echo intval(4.2); // 4
echo intval('42'); // 42
echo intval('+42'); // 42
echo intval('-42'); // -42
echo intval(042); // 34
echo intval('042'); // 42
echo intval(1e10); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>

Notlar

Bilginize:

Belirtilen değişken bir dizge olmadıkça taban bağımsız değişkeninin bir etkisi yoktur.

Ayrıca Bakınız

  • boolval() - Değişkenin mantıksal değerini döndürür
  • floatval() - Bir değişkenin gerçek sayı değerini döndürür
  • strval() - Bir değişkenin dizgesel değerini döndürür
  • settype() - Bir değişkenin türünü belirler
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • Tür Dönüşümü
  • BCMath Keyfi Hassasiyetli Matematik İşlevleri


Değişkenin bir dizi içerip içermediğine bakar

  • « intval
  • is_bool »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişkenin bir dizi içerip içermediğine bakar

is_array

(PHP 4, PHP 5, PHP 7, PHP 8)

is_array — Değişkenin bir dizi içerip içermediğine bakar

Açıklama

is_array(mixed $değişken): bool

Belirtilen değişken bir dizi içeriyorsa true döner.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken bir dizi içeriyorsa true, aksi takdirde false döner.

Örnekler

Örnek 1 - Değişken içeriğinin bir dizi olup olmadığının sınanması

<?php
$yes = array('bu', 'bir', 'dizidir');

echo is_array($yes) ? 'Dizi' : 'Dizi değil';
echo "\n";

$no = 'bu bir dizgedir';

echo is_array($no) ? 'Dizi' : 'Dizi değil';
?>

Yukarıdaki örneğin çıktısı:

Dizi
Dizi değil

Ayrıca Bakınız

  • array_is_list() - Belirtilen dizi bir liste mi diye bakar
  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar


Değişken boolean türünde mi diye bakar

  • « is_array
  • is_callable »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken boolean türünde mi diye bakar

is_bool

(PHP 4, PHP 5, PHP 7, PHP 8)

is_bool — Değişken boolean türünde mi diye bakar

Açıklama

is_bool(mixed $değişken): bool

Belirtilen değişken bool türündeyse true döner.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken bool türündeyse true aksi takdirde false döner.

Örnekler

Örnek 1 - is_bool() örnekleri

<?php
$a = false;
$b = 0;

// $a mantıksal türde olduğundan true döner
if (is_bool($a) === true) {
echo "Evet, bu bir mantıksal değerdir";
}

// $b mantıksal türde olmadığından true dönmez
if (is_bool($b) === false) {
echo "Hayır, bu bir mantıksal değer değildir";
}
?>

Ayrıca Bakınız

  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular

  • « is_bool
  • is_countable »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular

is_callable

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

is_callable — Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular

Açıklama

is_callable(mixed $değer, bool $sözdizimsel = false, string &$isim = null): bool

değer callable türündeyse true döner.

Bağımsız Değişkenler

değer

Bir işlev ismi.

sözdizimsel

true atanırsa işlev bağımsız değişkeninde bir işlev veya yöntem ismi belirtildiği varsayımıyla doğrulama yapılmaya çalışılır. Sadece dizge olmayan veya bir geriçağırım işlevi olarak kullanılabilecek geçerli bir yapıya sahip olmayan bir dizi içeren basit değişkenler reddedilir. Geçerli bir dizinin 2 girdisi olacağı varsayılır; ilki bir nesne veya bir dizge, ikincisi ise bir dizge.

isim

İşlev veya yöntemin çağrılabilir ismi. Aşağıdaki örnekteki "birSınıf::birYöntem" gibi. birSınıf::birYöntem() çağrılabilir bir duruk yöntem olsa da bunun hep böyle olması gerekmez.

Dönen Değerler

Belirtilen değer bir işlev olarak çağrılabiliyorsa true, aksi takdirde false döner.

Örnekler

Örnek 1 - is_callable() örneği

<?php
// Bir değişkenin içeriğinin bir işlev olarak
// çağrılabilirliğinin sınanması.

//
// Bir işlev içeren basit bir değişken
//

function bir_işlev()
{
}

$işlevDeğişkeni = 'bir_işlev';

var_dump(is_callable($işlevDeğişkeni, false, $isim)); // bool(true)

echo $isim, "\n"; // bir_işlev

//
// Bir yöntem içeren bir dizi
//

class birSınıf {

function birYöntem()
{
}

}

$birNesne = new birSınıf();

$yöntemDeğişkeni = array($birNesne, 'birYöntem');

var_dump(is_callable($yöntemDeğişkeni, true, $isim)); // bool(true)

echo $isim, "\n"; // birSınıf::birYöntem

?>

Örnek 2 - is_callable() ve kurucular

is_callable() kurucuları çağrılabilir saymaz.

<?php

class Foo
{
public function __construct() {}
public function foo() {}
}

var_dump(
is_callable(array('Foo', '__construct')),
is_callable(array('Foo', 'foo'))
);

Yukarıdaki örneğin çıktısı:

bool(false)
bool(false)

Notlar

  • Bir nesne __invoke() örnekliyorsa nesne ismi çağrılabilirdir ve geçerli etki alanında görünür olur.
  • Bir sınıf __callStatic() örnekliyorsa sınıf ismi çağrılabilirdir.
  • Bir nesne __call() örnekliyorsa, nesne ismi çağrılabilirdir ve nesne üzerindeki her yöntem için, yöntem tanımlanmamış olsa bile true döndürür.
  • Bir çağrılabilir, sınıfın ismiyle çağrılırsa otomatik yüklemeyi tetikleyebilir.

Ayrıca Bakınız

  • function_exists() - Eğer işlev tanımlanmış ise true döndürür
  • method_exists() - Bir sınıf yöntemi mevcut mu diye bakar


Değişken değerinin sayılabilirliğine bakar

  • « is_callable
  • is_double »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken değerinin sayılabilirliğine bakar

is_countable

(PHP 7 >= 7.3.0, PHP 8)

is_countable — Değişken değerinin sayılabilirliğine bakar

Açıklama

is_countable(mixed $değer): bool

Belirtilen değişken değerinin bir array veya Countable sınıfını gerçekleyen bir nesne olup olmadığına bakar.

Bağımsız Değişkenler

değer

Sınanacak değer.

Dönen Değerler

değer sayılabilir ise true, yoksa false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.3.0 | is_countable() eklendi.

Örnekler

Örnek 1 - is_countable() örnekleri

<?php
var_dump(is_countable([1, 2, 3])); // bool(true)
var_dump(is_countable(new ArrayIterator(['foo', 'bar', 'baz']))); // bool(true)
var_dump(is_countable(new ArrayIterator())); // bool(true)
var_dump(is_countable(new stdClass())); // bool(false)

Ayrıca Bakınız

  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_iterable() - Değişkenin değerinin yinelenebilirliğine bakar
  • is_bool() - Değişken boolean türünde mi diye bakar


is_float işlevinin takma adıdır

  • « is_countable
  • is_float »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • is_float işlevinin takma adıdır

is_double

(PHP 4, PHP 5, PHP 7, PHP 8)

is_double — is_float() işlevinin takma adıdır

Açıklama

Bu işlev is_float() işlevinin takma adıdır.


Değişken float türünde mi diye bakar

  • « is_double
  • is_int »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken float türünde mi diye bakar

is_float

(PHP 4, PHP 5, PHP 7, PHP 8)

is_float — Değişken float türünde mi diye bakar

Açıklama

is_float(mixed $değişken): bool

Belirtilen değişken float türündeyse true döner.

Bilginize:

Değişkenin değerinin bir sayı veya bir sayısal dizge olup olmadığını öğrenmek istiyorsanız is_numeric() işlevini kullanın.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken float türündeyse true aksi takdirde false döner.

Örnekler

Örnek 1 - is_float() örneği

<?php
var_dump(is_float(27.25));
var_dump(is_float('abc'));
var_dump(is_float(23));
var_dump(is_float(23.5));
var_dump(is_float(1e7)); //Bilimsel gösterim
var_dump(is_float(true));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)
bool(false)
bool(true)
bool(true)
bool(false)

Ayrıca Bakınız

  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • is_object() - Değişken object türünde mi diye bakar


Değişken bir tamsayı mı diye bakar

  • « is_float
  • is_integer »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken bir tamsayı mı diye bakar

is_int

(PHP 4, PHP 5, PHP 7, PHP 8)

is_int — Değişken bir tamsayı mı diye bakar

Açıklama

is_int(mixed $değişken): bool

Belirtilen değişkenin değeri bir tamsayı ise bu işlev true döndürür.

Bilginize:

Değişkenin değerinin bir sayı veya bir sayısal dizge olup olmadığını öğrenmek istiyorsanız is_numeric() işlevini kullanın.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişkenin değeri tamsayı ise true aksi takdirde false döndürür.

Örnekler

Örnek 1 - is_int() örneği

<?php
$values = array(23, "23", 23.5, "23.5", null, true, false);
foreach ($values as $value) {
echo "is_int(";
var_export($value);
echo ") = ";
var_dump(is_int($value));
}
?>

Yukarıdaki örneğin çıktısı:

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

Ayrıca Bakınız

  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_float() - Değişken float türünde mi diye bakar
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • is_object() - Değişken object türünde mi diye bakar


is_int işlevinin takma adıdır

  • « is_int
  • is_iterable »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • is_int işlevinin takma adıdır

is_integer

(PHP 4, PHP 5, PHP 7, PHP 8)

is_integer — is_int() işlevinin takma adıdır

Açıklama

Bu işlev is_int() işlevinin takma adıdır.


Değişkenin değerinin yinelenebilirliğine bakar

  • « is_integer
  • is_long »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişkenin değerinin yinelenebilirliğine bakar

is_iterable

(PHP 7 >= 7.1.0, PHP 8)

is_iterable — Değişkenin değerinin yinelenebilirliğine bakar

Açıklama

is_iterable(mixed $değer): bool

Belirtilen değişken değerinin iterable sözde türünde, bir array veya Traversable sınıfını gerçekleyen bir nesne olup olmadığına bakar.

Bağımsız Değişkenler

değer

Sınanacak değer.

Dönen Değerler

değer yinelenebiliyorsa true, yoksa false döner.

Örnekler

Örnek 1 - is_iterable() örnekleri

<?php

var_dump(is_iterable([1, 2, 3])); // bool(true)
var_dump(is_iterable(new ArrayIterator([1, 2, 3]))); // bool(true)
var_dump(is_iterable((function () { yield 1; })())); // bool(true)
var_dump(is_iterable(1)); // bool(false)
var_dump(is_iterable(new stdClass())); // bool(false)

?>

Ayrıca Bakınız

  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


is_int işlevinin takma adıdır

  • « is_iterable
  • is_null »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • is_int işlevinin takma adıdır

is_long

(PHP 4, PHP 5, PHP 7, PHP 8)

is_long — is_int() işlevinin takma adıdır

Açıklama

Bu işlev is_int() işlevinin takma adıdır.


Bir değişkenin değerinin null olup olmadığına bakar

  • « is_long
  • is_numeric »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin değerinin null olup olmadığına bakar

is_null

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

is_null — Bir değişkenin değerinin null olup olmadığına bakar

Açıklama

is_null(mixed $değişken): bool

Belirtilen değişkenin değeri null ise bu işlev true döndürür.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişkenin değeri null ise true aksi takdirde false döndürür.

Örnekler

Örnek 1 - is_null() örneği

<?php

error_reporting(E_ALL);

$foo = NULL;
var_dump(is_null($inexistent), is_null($foo));

?>
Notice: Undefined variable: inexistent in ...
bool(true)
bool(true)

Ayrıca Bakınız

  • The null türü
  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


Değişken bir sayı veya bir sayısal dizge mi diye bakar

  • « is_null
  • is_object »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken bir sayı veya bir sayısal dizge mi diye bakar

is_numeric

(PHP 4, PHP 5, PHP 7, PHP 8)

is_numeric — Değişken bir sayı veya bir sayısal dizge mi diye bakar

Açıklama

is_numeric(mixed $değişken): bool

Belirtilen değişkenin değeri bir sayı mı yoksa bir sayısal dizge mi diye bakar.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişkenin değeri bir sayı veya sayısal dizge ise true aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Boşlukla biten sayısal dizgeler ("42 ") için artık true dönüyor. Evvelce, false dönerdi.

Örnekler

Örnek 1 - is_numeric() örnekleri

<?php
$tests = Array(
"42",
1337,
0x539,
02471,
0b10100111001,
1337e0,
"0x539",
"02471",
"0b10100111001",
"1337e0",
"sayısal değil",
array(),
9.1,
null,
'',
);

foreach($tests as $element)
{
if(is_numeric($element)) {
echo var_export($element, true), " sayısal", PHP_EOL;
} else {
echo var_export($element, true), " sayısal DEĞİL", PHP_EOL;
}
}
?>

Yukarıdaki örneğin çıktısı:

'42' sayısal
1337 sayısal
1337 sayısal
1337 sayısal
1337 sayısal
1337.0 sayısal
'0x539' sayısal DEĞİL
'02471' sayısal
'0b10100111001' sayısal DEĞİL
'1337e0' sayısal
'sayısal değil' sayısal DEĞİL
array (
) sayısal DEĞİL
9.1 sayısal
NULL sayısal DEĞİL
'' sayısal DEĞİL

Örnek 2 - Boşluk karakterli is_numeric() örneği

<?php
$tests = [
" 42",
"42 ",
"\u{A0}9001", // yapışkan boşluk
"9001\u{A0}", // yapışkan boşluk
];

foreach ($tests as $element) {
if (is_numeric($element)) {
echo var_export($element, true) . " sayısal", PHP_EOL;
} else {
echo var_export($element, true) . " sayısal DEĞİL", PHP_EOL;
}
}
?>

Yukarıdaki örneğin PHP 8 çıktısı:

' 42' sayısal
'42 ' sayısal
' 9001' sayısal DEĞİL
'9001 ' sayısal DEĞİL

Yukarıdaki örneğin PHP 7 çıktısı:

' 42' sayısal
'42 ' sayısal DEĞİL
' 9001' sayısal DEĞİL
'9001 ' sayısal DEĞİL

Ayrıca Bakınız

  • Sayısal dizgeler
  • ctype_digit() - Sınama, rakamlar için yapılır
  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_null() - Bir değişkenin değerinin null olup olmadığına bakar
  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar
  • filter_var() - Filters a variable with a specified filter


Değişken object türünde mi diye bakar

  • « is_numeric
  • is_real »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken object türünde mi diye bakar

is_object

(PHP 4, PHP 5, PHP 7, PHP 8)

is_object — Değişken object türünde mi diye bakar

Açıklama

is_object(mixed $değişken): bool

Belirtilen değişken object türündeyse true döner.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken object türündeyse true aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
7.2.0 | Bir sınıf tanımı olmaksızın (__PHP_Incomplete_Class sınıfı) nesneleştirilmiş değerler için artık true dönüyor. Evvelce falsedönerdi.

Örnekler

Örnek 1 - is_object() örneği

<?php
// Nesnemizi bir diziye dönüştürecek bir işlev tanımlayalım
function get_students($obj) {
if(!is_object($obj)) {
return(false);
}

return($obj->students);
}

// Yeni bir sınıfı örnekleyip bazı değerlerle içini dolduralım
$obj = new stdClass();
$obj->students = array('Kalle', 'Ross', 'Felipe');

var_dump(get_students(null));
var_dump(get_students($obj));
?>

Ayrıca Bakınız

  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_float() - Değişken float türünde mi diye bakar
  • is_string() - Değişken string türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


is_float işlevinin takma adıdır

  • « is_object
  • is_resource »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • is_float işlevinin takma adıdır

is_real

(PHP 4, PHP 5, PHP 7, PHP 8)

is_real — is_float() işlevinin takma adıdır

Açıklama

Bu işlev is_float() işlevinin takma adıdır.

Uyarı

Bu takma adın kullanımı PHP 7.4.0 itibariyle ÖNERİLMEMEKTE olup PHP 8.0.0'da tamamen KALDIRILMIŞTIR.


Değişken resource türünde mi diye bakar

  • « is_real
  • is_scalar »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken resource türünde mi diye bakar

is_resource

(PHP 4, PHP 5, PHP 7, PHP 8)

is_resource — Değişken resource türünde mi diye bakar

Açıklama

is_resource(mixed $değişken): bool

Belirtilen değişken resource türündeyse true döner.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken resource türündeyse true aksi takdirde false döner.

Örnekler

Örnek 1 - is_resource() örneği

<?php

$handle = fopen("php://stdout", "w");
if (is_resource($handle)) {
echo '$handle bir özkaynaktır';
}

?>

Yukarıdaki örneğin çıktısı:

$handle bir özkaynaktır

Notlar

Bilginize:

is_resource() katı bir tür sınama yöntemi değildir: değişken kapatılmış bir özkaynak değişkeni ise false döner.

Ayrıca Bakınız

  • resource
  • get_resource_type() - Özkaynak türünü döndürür


Bir değişken sayıl mı diye bakar

  • « is_resource
  • is_string »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişken sayıl mı diye bakar

is_scalar

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

is_scalar — Bir değişken sayıl mı diye bakar

Açıklama

is_scalar(mixed $değişken): bool

Belirtilen değişkenin değeri sayıl türlerden biri ise true döner.

Sayıl türler: int, float, string ve bool. Sayıl olmayan türler: array, object, resource ve null.

Bilginize:

is_scalar() işlevi resource türündeki değerleri, tamsayılara dayalı soyut veri türleri olduklarından sayıl değerler olarak ele almaz. Bu gerçeklenim ayrıntısı bir kural olarak ele alınmamalıdır, ileride değişebilir.

Bilginize:

is_scalar() NULL'u sayıl değer saymaz.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişkenin değeri sayıl türlerden biri ise true, aksi takdirde false döner.

Örnekler

Örnek 1 - is_scalar() örneği

<?php
function show_var($var)
{
if (is_scalar($var)) {
echo $var, " sayıldır\n";
} else {
var_dump($var); echo "sayıl değildir\n";
}
}
$pi = 3.1416;
$proteins = array("hemoglobin", "cytochrome c oxidase", "ferredoxin");

show_var($pi);
show_var($proteins)

?>

Yukarıdaki örneğin çıktısı:

3.1416 sayıldır
array(3) {
  [0]=>
  string(10) "hemoglobin"
  [1]=>
  string(20) "cytochrome c oxidase"
  [2]=>
  string(10) "ferredoxin"
}
sayıl değildir

Ayrıca Bakınız

  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_numeric() - Değişken bir sayı veya bir sayısal dizge mi diye bakar
  • is_real() - is_float işlevinin takma adıdır
  • is_string() - Değişken string türünde mi diye bakar
  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


Değişken string türünde mi diye bakar

  • « is_scalar
  • isset »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken string türünde mi diye bakar

is_string

(PHP 4, PHP 5, PHP 7, PHP 8)

is_string — Değişken string türünde mi diye bakar

Açıklama

is_string(mixed $değişken): bool

Belirtilen değişken string türündeyse true döner.

Bağımsız Değişkenler

değişken

Sınanacak değişken.

Dönen Değerler

Belirtilen değişken string türündeyse true aksi takdirde false döner.

Örnekler

Örnek 1 - is_string() örneği

<?php
$values = array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0);
foreach ($values as $value) {
echo "is_string(";
var_export($value);
echo ") = ";
echo var_dump(is_string($value));

}
?>

Yukarıdaki örneğin çıktısı:

is_string(false) = bool(false)
is_string(true) = bool(false)
is_string(NULL) = bool(false)
is_string('abc') = bool(true)
is_string('23') = bool(true)
is_string(23) = bool(false)
is_string('23.5') = bool(true)
is_string(23.5) = bool(false)
is_string('') = bool(true)
is_string(' ') = bool(true)
is_string('0') = bool(true)
is_string(0) = bool(false)

Ayrıca Bakınız

  • is_float() - Değişken float türünde mi diye bakar
  • is_int() - Değişken bir tamsayı mı diye bakar
  • is_bool() - Değişken boolean türünde mi diye bakar
  • is_object() - Değişken object türünde mi diye bakar
  • is_array() - Değişkenin bir dizi içerip içermediğine bakar


Değişken bildirilmiş ve null değil mi diye bakar

  • « is_string
  • print_r »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Değişken bildirilmiş ve null değil mi diye bakar

isset

(PHP 4, PHP 5, PHP 7, PHP 8)

isset — Değişken bildirilmiş ve null değil mi diye bakar

Açıklama

isset(mixed ...$değişkenler): bool

Belirtilen değişken atanmışsa, yani bildirilmişse ve null değilse true döner.

Bir değişken unset() ile yok edilmişse artık tanımlı değildir.

Değişkene null atanmışsa isset() false döndürür. Dikkat: ("\0") ile PHP null aynı değildir.

İşleve çok sayıda bağımsız değişken aktarılmışsa sadece bağımsız değişkenlerin hepsi atanmışsa işlev true döndürecektir. Değerlendirme soldan sağa ilerler ve atanmamış ilk değişkende işlem durdurulur.

Bağımsız Değişkenler

değişkenler

Sınanacak değişkenler.

Dönen Değerler

Belirtilen değişken tanımlıysa ve null'dan farklı bir değere sahipse true, aksi takdirde false döner.

Örnekler

Örnek 1 - isset() örnekleri

<?php

$var = '';

// Bu, TRUE olarak değerlendirilir, dolayısıyla metin basılır.
if (isset($var)) {
echo "This var is set so I will print.";
}

// Aşağıdaki örneklerde isset() değerini basmak
// için var_dump işlevini kullanacağız.

$a = "deneme";
$b = "başka bir deneme";

var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo)); // FALSE

?>

Bu ayrıca dizi elemanları için de çalışır:

<?php

$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));

var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['hello'])); // FALSE

// 'hello' anahtarının NULL'a eşitlenmesi elemanın tanımsız olması demektir
// NULL anahtarın durumunu öğrenmek için şunu deneyin:
var_dump(array_key_exists('hello', $a)); // TRUE

//Derin dizi değerlerini sına
var_dump(isset($a['pie']['a'])); // TRUE
var_dump(isset($a['pie']['b'])); // FALSE
var_dump(isset($a['cake']['a']['b'])); // FALSE

?>

Örnek 2 - Dizge başlangıcında isset()

<?php
$expected_array_got_string = 'somestring';
var_dump(isset($expected_array_got_string['some_key']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>

Yukarıdaki örneğin çıktısı:

bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)

Notlar

Uyarı

isset() işlevi bir çözümleme hatası oluşturmayacak her değişkenle çalışır. Sabitlerin tanımlı olup olmadığını öğrenmek için defined() işlevini kullanın.

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Bilginize:

empty() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __isset() yöntemi çağrılabilir.

Ayrıca Bakınız

  • empty() - Bir değişkenin boş olup olmadığını saptar
  • __isset()
  • unset() - Belirtilen değişkeni bildirimsiz yapar
  • defined() - Belirtilen isimli sabit tanımlı mı diye bakar
  • Tür Karşılaştırma Tabloları
  • array_key_exists() - Belirtilen anahtar veya indis dizide var mı diye bakar
  • is_null() - Bir değişkenin değerinin null olup olmadığına bakar
  • Hata Denetim İşleçleri


Bir değişkenin insanlarca okunabilecek gösterimini basar

  • « isset
  • serialize »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin insanlarca okunabilecek gösterimini basar

print_r

(PHP 4, PHP 5, PHP 7, PHP 8)

print_r — Bir değişkenin insanlarca okunabilecek gösterimini basar

Açıklama

print_r(mixed $ifade, bool $döndür = false): string|bool

print_r() işlevi, bir değişkenin insanlarca okunabilecek gösterimini basar.

print_r(), var_dump() ve var_export() işlevleri nesnelerin protected ve private özelliklerini de gösterirler. Statik sınıf üyeleri gösterilmez.

print_r() işlevinin dizi göstericisini dizinin sonuna konuşlandıracağını unutmayın; dizinin başına konuşlandırmak için reset() işlevini kullanın.

Bağımsız Değişkenler

ifade

Gösterimi basılacak ifade.

döndür

Bu bağımsız değişkene true atarsanız, print_r() çıktısını basmak yerine bir bilgi döndürür. Çıktısını basması öntanımlı davranıştır.

Dönen Değerler

Eğer belirtilen değer string, int veya float türündeyse değerin kendi basılır; array türündeyse anahtarların ve elemanların gösterileceği biçemde basılır. Diziler için kulanılan yöntemin benzeri nesneler (object) için de kullanılır.

döndür true olduğu takdirde bu işlev bir dizge döndürür, aksi takdirde dönen değer true olur.

Örnekler

Örnek 1 - print_r() örneği

<pre>
<?php
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
</pre>

Yukarıdaki örneğin çıktısı:

<pre>
Array
(
    [a] => apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)
</pre>

Örnek 2 - döndür bağımsız değişkenli örnek

<?php
$b = array ('m' => 'monkey', 'foo' => 'bar', 'x' => array ('x', 'y', 'z'));
$results = print_r($b, true); // $results print_r çıktısını içerir
?>

Notlar

Bilginize:

döndür bağımsız değişkeni kullanıldığında bu işlev PHP 7.1.0 öncesinde bu bağımsız değişken ile bir dahili çıktı tamponu kullanır, dolayısıyla ob_start() geriçağırım işlevinin içinde kullanılamaz.

Ayrıca Bakınız

  • ob_start() - Çıktı tamponlamasını başlatır
  • var_dump() - Bir değişkenle ilgili bilgiyi dökümler
  • var_export() - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar


Bir değerin saklanabilir bir gösterimini üretir

  • « print_r
  • settype »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değerin saklanabilir bir gösterimini üretir

serialize

(PHP 4, PHP 5, PHP 7, PHP 8)

serialize — Bir değerin saklanabilir bir gösterimini üretir

Açıklama

serialize(mixed $değer): string

Bir değerin saklanabilir bir gösterimini üretir.

PHP değerlerini, yapısını ve türünü kaybetmeden saklamak veya aktarmak için kullanışlıdır.

Böyle bir değerden tekrar özgün değeri elde etmek için unserialize() işlevini kullanın.

Bağımsız Değişkenler

değer

Dizgeleştirilecek değer. serialize() işlevi, resource türü ve bazı nesneler hariç her türü dizgeleştirebilir. Hatta kendine gönderimli dizileri bile dizgeleştirebilirsiniz. Dizgeleştirdiğiniz dizi veya nesnelerin içindeki döngüsel gönderimler bile saklanabilir. Bunlar dışında kalan gönderimler kaybedilir.

PHP nesneleri dizgeleştirirken önce __sleep veya __serialize() üye işlevlerini çağırmaya çalışılır. Bu işlem, nesneye dizgeleştirme öncesinde bir takım temizlikler yapabilmesi imkanını tanır. Benzer şekilde, unserialize() kullanılarak nesne özgün durumuna getirilirken __unserialize() veya __wakeup() üye işlevleri çağrılmaya çalışılır.

Bilginize:

Nesnenin özel üyelerinin isimlerinin önünde sınıf ismi, protected üyelerin isimlerinin önünde ise bir '*' bulunur. İsimlerin başına getirilen bu değerler her iki tarafta null baytlarla ifade edilirler.

Dönen Değerler

Belirtilen değerin herhangi bir yerde saklanabilecek, akımlar üzerinden aktarılabilen bir gösterimini döndürür.

Bunun ikil bir dizge oluşuna, null baytlar içerebileceğine ve ikil olarak ele alınabileceğine dikkat ediniz. Örneğin, serialize() çıktısının genelde bir veritabanının bir CHAR veya TEXT alanında değil bir BLOB alanında saklanması gerekir.

Örnekler

Örnek 1 - serialize() örneği

<?php
// $session_data, geçerli kullanıcı için oturum bilgisini
// içeren çok boyutlu bir dizi içerir. İsteğin sonunda bu diziyi bir
// veritabanında saklamak için serialize() işlevini kullanacağız.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn,
"UPDATE sessions SET data = ? WHERE id = ?");
$sqldata = array (serialize($session_data), $_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata)) {
$stmt = odbc_prepare($conn,
"INSERT INTO sessions (id, data) VALUES(?, ?)");
if (!odbc_execute($stmt, array_reverse($sqldata))) {
/* Birşeyler yanlış gitmiş.. */
}
}
?>

Notlar

Bilginize:

Yerleşik PHP nesenelerinin çoğunun dizgeleştirilemeyeceğine dikkar ediniz. Bu bakımda ya Serializable arayüzü veya sihirli __serialize()/__unserialize() veya __sleep()/__wakeup() yöntemleri kullanılarak gerçeklenir. Dahili bir sınıf bu gereksinimleri sağlamıyorsa gerektiği gibi dizgeleştirilemez.

Yukarıdaki kuralın geçmişten gelen bazı istisnaları olup bazı dahili nesneler arayüz gerçeklemeden veya malum yöntemleri kullanmadan dizgeleştirilebilir.

Uyarı

serialize() işlevi nesneleri dizgeleştirirken, azami uyumluluğu sağlamak için isimalanlı sınıfların sınıf isimlerinin sonuna tersbölü konmaz.

Ayrıca Bakınız

  • unserialize() - Bir PHP değerini saklanmış gösteriminden oluşturur
  • var_export() - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar
  • json_encode() - Değerin JSON karşılığını verir.
  • Nesneleri Dizgeleştirme
  • __sleep()
  • __wakeup()
  • __serialize()
  • __unserialize()


Bir değişkenin türünü belirler

  • « serialize
  • strval »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin türünü belirler

settype

(PHP 4, PHP 5, PHP 7, PHP 8)

settype — Bir değişkenin türünü belirler

Açıklama

settype(mixed &$değişken, string $tür): bool

Belirtilen değişkenin türünü belirler.

Bağımsız Değişkenler

değişken

Türü belirlenecek değişken.

tür

Olası tür değerleri:

  • "bool"
  • "int"
  • "float" veya "double"
  • "string"
  • "array"
  • "object"
  • "null"

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - settype() örneği

<?php
$foo = "5bar"; // string
$bar = true; // boolean

settype($foo, "integer"); // $foo is now 5 (integer)
settype($bar, "string"); // $bar is now "1" (string)
?>

Notlar

Bilginize:

"int" için azami değer PHP_INT_MAX'tır.

Ayrıca Bakınız

  • gettype() - Bir değişkenin türünü döndürür
  • Tür Çarpıtma
  • Tür Dönüşümü


Bir değişkenin dizgesel değerini döndürür

  • « settype
  • unserialize »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin dizgesel değerini döndürür

strval

(PHP 4, PHP 5, PHP 7, PHP 8)

strval — Bir değişkenin dizgesel değerini döndürür

Açıklama

strval(mixed $değişken): string

Bir değişkenin dizgesel değerini döndürür. Dizgeye dönüşümle ilgili daha fazla bilgi için string sayfasına bakınız.

Bu işlev dönen değere hiçbir biçemleme uygulamaz. Sayısal bir değeri bir dizge olarak biçemlemenin bir yolunu arıyorsanız sprintf() veya number_format() işlevi işinizi görebilir.

Bağımsız Değişkenler

değişken

Dizgeye dönüşürülecek değişken.

değişken herhangi bir sayıl türde, null veya __toString() yöntemini gerçekleyen bir nesne olabilir olabilir. strval() işlevini __toString() yöntemini gerçeklemeyen diziler ve nesneler üzerinde kullanamazsınız.

Dönen Değerler

Belirtilen değişken'in string türünde değeri.

Örnekler

Örnek 1 - Sihirli __toString() yöntemini kullanan strval() örneği

<?php
class StrValTest
{
public function __toString()
{
return __CLASS__;
}
}

// 'StrValTest' basar
echo strval(new StrValTest);
?>

Ayrıca Bakınız

  • boolval() - Değişkenin mantıksal değerini döndürür
  • floatval() - Bir değişkenin gerçek sayı değerini döndürür
  • intval() - Bir değişkenin tamsayı değerini döndürür
  • settype() - Bir değişkenin türünü belirler
  • sprintf() - Biçemli bir dizge döndürür
  • number_format() - Sayıyı binlik bölümlere ayırır
  • Tür Dönüşümü
  • __toString()


Bir PHP değerini saklanmış gösteriminden oluşturur

  • « strval
  • unset »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir PHP değerini saklanmış gösteriminden oluşturur

unserialize

(PHP 4, PHP 5, PHP 7, PHP 8)

unserialize — Bir PHP değerini saklanmış gösteriminden oluşturur

Açıklama

unserialize(string $veri, array $seçenekler = []): mixed

unserialize() işlevi tek bir dizgeleştirilmiş değişken alır ve bunu tekrar bir PHP değeri haline getirir.

Uyarı

allowed_classes seçeneğine bakmaksızın işleve güvenilmeyen kullanıcı girdisini aktarmayın. Nesneleştirme, nesne örnekleme ve otomatik yükleme nedeniyle kodun yüklenmesine ve yürütülmesine neden olabilir ve kötü niyetli bir kullanıcı bundan yararlanabilir. Kullanıcıya dizeleştirilmiş verileri iletmeniz gerekiyorsa JSON (json_decode() ve json_encode()) aracılığıyla) gibi güvenli, standart bir veri değişim biçimi kullanın.

Harici olarak depolanan dizeleştirilmiş verileri nesneleştirmek gerekirse, veri doğrulama için hash_hmac() kullanımı düşünülebilir. Verilerin sizden başka hiç kimse tarafından değiştirilmediğinden emin olun.

Bağımsız Değişkenler

veri

Dizeleştirilmiş değer.

Dizeleştirilmiş bir değişkeni bir nesne haline getirmeye çalışırsanız PHP nesneyi oluşturduktan sonra otomatik olarak __unserialize() veya __wakeup() üye işlevini (varsa) çağıracaktır.

Bilginize: unserialize_callback_func yönergesi

Nesneleştirme sırasında tanımsız bir sınıf örneklenecekse (eksikli bir "__PHP_Incomplete_Class" nesnesinin elde edilmesini engellemek için) çağrılmak üzere bir geriçağırım işlevi tanımlamak mümkündür. Böyle bir işlevi php.ini veya .htaccess dosyasında unserialize_callback_func yönergesinde veya ya da ini_set() işlevinde belirtebilirsiniz. Bu işlevin her çağrılışında tanımsız bir sınıfın örneklenmesi gerekir. Bu özelliği iptal etmek için bu ayarı boş bırakmanız yeterlidir.

seçenekler

unserialize() işlevine aktarılacacak seçenekleri içeren ilişkisel bir dizi.

Geçerli seçenekler
İsim | Tür | Açıklama
allowed_classes | mixed | Üç değerdem biri: Kabul edilmesi gereken sınıf isimleri dizisi, hiçbir sınıfı kabul etmemek için false ya da tüm sınıfları kabul etmek için true. Bu seçenek tanımlanırsa ve unserialize()), kabul edilmeyen bir sınıfla karşılaşırsa, bu sınıf yerine __PHP_Incomplete_Class örneklenecektir. Bu seçeneğin atlanması, onu true olarak tanımlamakla aynıdır: PHP, belirtilen sınıfları örneklemeye çalışır.
max_depth | int | Nesneleştirme sırasında izin verilen veri yapılarının azami derinliği olup yığıt taşmalarını engellemek için tasarlanmıştır. Öntanımlı derinlik sınırı 4096 olup max_depth'e 0 atanarak devre dışı bırakılabilir.

Dönen Değerler

Dönüştürülerek döndürülen değer bool, int, float, string, array veya object türünde olabilir.

Nesneleştirilemeyen bir dizge belirtilmesi durumunda işlev false döndürür ve bir E_NOTICE çıktılar.

Hatalar/İstisnalar

Nesneler, kendi nesneleştirme işleyicilerinde Throwable yavrulayabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
7.1.0 | allowed_classes seçeneği artık katı türde, yani array veya bool türü dışında bir değer aktarılırsa unserialize() işlevi false döndürür ve bir E_WARNING oluşturur.

Örnekler

Örnek 1 - unserialize() örneği

<?php
// Burada, oturum verisini $session_data dizisine yüklemek
// için bir veritabanından seçilmiş bir dizgeyi nesneleştireceğiz
// Bu örnek serialize() işlevi örneğinin tamamlayıcısıdır.

$conn = odbc_connect("webdb", "php", "chicken");
$stmt = odbc_prepare($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array($_SERVER['PHP_AUTH_USER']);
if (!odbc_execute($stmt, $sqldata) || !odbc_fetch_into($stmt, $tmp)) {
// çalıştırma veya alım başarısız olursa boş bir dizi ilklendireceğiz
$session_data = array();
} else {
// artık dizgeleştirilmiş veri $tmp[0] içinde.
$session_data = unserialize($tmp[0]);
if (!is_array($session_data)) {
// birşeyler yanlış gitmiş, boş bir dizi ilklendirelim
$session_data = array();
}
}
?>

Örnek 2 - unserialize_callback_func örneği

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// kendi geriçağırım işlevimizi belirtelim
ini_set('unserialize_callback_func', 'mycallback');

function mycallback($classname)
{
// Sınıf tanımınızı içeren bir dosyayı dahil etmeniz yeterlidir
// Hangi sınıf tanımının gerçekleneceğini $classname değişkenine
// bakarak saptayacaksınız
}
?>

Notlar

Uyarı

Hata durumunda veya dizgeleştirilmiş bir false değerini nesneleştirmeye çalışıyorsanız işlev false döndürür. Bu özel durumu veri bağımsız değişkenini serialize(false) ile karşılaştırarak veya E_NOTICE çıktısını inceleyerek yakalayabilirsiniz.

Ayrıca Bakınız

  • json_encode() - Değerin JSON karşılığını verir.
  • json_decode() - Bir JSON dizgesini çözümler
  • hash_hmac() - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • Otomatik Yüklenen Sınıflar
  • unserialize_callback_func
  • __wakeup()
  • __serialize()
  • __unserialize()


Belirtilen değişkeni bildirimsiz yapar

  • « unserialize
  • var_dump »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Belirtilen değişkeni bildirimsiz yapar

unset

(PHP 4, PHP 5, PHP 7, PHP 8)

unset — Belirtilen değişkeni bildirimsiz yapar

Açıklama

unset(mixed $değişken, mixed ...$değişkenler): void

unset() işlevi belirtilen değişkenleri hiç tanımlanmamış duruma getirir.

İşlevin başka bir işlev içindeki davranışı tanımsız yapılmaya çalışılan değişkenin türüne bağlıdır.

Aşağıdaki örnekte işlevin içinde yokedilmeye çalışılan değişken işlev içinde küreselleştirilmiş bir değişken olup değişkenin sadece yerel tanımı yok edilir. Değişkenin çağrı ortamındaki değeri unset() çağrılmadan önceki değerini korur.

<?php
function foo_yu_gebert()
{
global $foo;
unset($foo);
}

$foo = 'bar';
foo_yu_gebert();
echo $foo;
?>

Yukarıdaki örneğin çıktısı:

bar

Bir küresel değişkeni bir işlev içinde yoketmeniz gerekliyse $GLOBALS dizisini kullanabilirsiniz:

<?php
function foo()
{
unset($GLOBALS['bar']);
}

$bar = "something";
foo();
?>

Gönderimli aktarılan bir değişkeni bir işlev içinde yoketmeye çalışırsanız sadece yerel değişkeni yoketmiş olursunuz. Değişkenin, işlevin çağrıldıgı ortamdaki değeri unset() çağrılmadan önceki değerini korur.

<?php
function foo(&$bar)
{
unset($bar);
$bar = "başka bir şey";
}

$bar = 'bir şey';
echo "$bar\n";

foo($bar);
echo "$bar\n";
?>

Yukarıdaki örneğin çıktısı:

bir şey
bir şey

Bir duruk değişkeni bir işlev içinde yoketmeye çalışırsanız değişkeni sadece işlevin kalan bağlamı için yoketmiş olursunuz. Aşağıdaki çağrılar değişkenin önceki değerinin geçerli kaldığını gösterecektir.

<?php
function foo()
{
static $bar;
$bar++;
echo "unset öncesi: $bar, ";
unset($bar);
$bar = 23;
echo "unset sonrası: $bar\n";
}

foo();
foo();
foo();
?>

Yukarıdaki örneğin çıktısı:

unset öncesi: 1, unset sonrası: 23
unset öncesi: 2, unset sonrası: 23
unset öncesi: 3, unset sonrası: 23

Bağımsız Değişkenler

değişken

Yokedilecek değişken.

değişkenler

Yokedilecek değişkenler.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - unset() örneği

<?php
// tek bir değişkeni yokedelim
unset($foo);

// Bir dizinin tek bir elemanını yokedelim
unset($bar['quux']);

// birden fazla değiykeni yokedelim
unset($foo1, $foo2, $foo3);
?>

Örnek 2 - (unset) - null'a dönüşüm örneği

(unset) dönüşümü çoğunlukla unset() işlevi ile karıştırılır. (unset) dönüşümü bütünlük adına, sadece NULL döndürür, dönüşüm yaptığı değişkene null atamaz, yani işlev gibi değişkeni bildirimsiz yapmaz. (unset) dönüşümünün kullanımı PHP 7.2.0 ve sonrasında önerilmemekte olup 8.0.0'da kullanımdan kaldırılmıştır.

<?php
$name = 'Felipe';

var_dump((unset) $name);
var_dump($name);
?>

Yukarıdaki örneğin çıktısı:

NULL
string(6) "Felipe"

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler veya isimli bağımsız değişkenler kullanılarak çağrılamaz.

Bilginize:

Nesne özelliklerini geçerli bağlamda görünür olsalar bile yoketmek mümkündür.

Bilginize:

Bir nesne yöntemi içinde $this yokedilemez.

Bilginize:

unset() erişilir olmayan nesne özellikleri kullanıyorsa, bildirimli olduğu taktirde __unset() yöntemi çağrılabilir.

Ayrıca Bakınız

  • isset() - Değişken bildirilmiş ve null değil mi diye bakar
  • empty() - Bir değişkenin boş olup olmadığını saptar
  • __unset()
  • array_splice() - Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
  • (unset) dönüşümü


Bir değişkenle ilgili bilgiyi dökümler

  • « unset
  • var_export »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenle ilgili bilgiyi dökümler

var_dump

(PHP 4, PHP 5, PHP 7, PHP 8)

var_dump — Bir değişkenle ilgili bilgiyi dökümler

Açıklama

var_dump(mixed $ifade, mixed ...$ifadeler): void

Bu işlev bir değişkenin türü ve değeri dahil değişkenle ilgili bilgileri gösterir. Diziler ve nesneler ardışık olarak bileşenlerine ayrılarak tüm yapısı değerleriyle birlikte gösterilir.

Nesne, __debugInfo() yöntemini gerçeklemedikçe, nesnelerin tüm public, private ve protected özellikleri çıktıda döndürülür.

İpucu

Sonuçlarını doğrudan tarayıcıya çıktılayan her şey gibi, çıktı denetleme işlevleri bu işlevin de çıktısını yakalamak ve (örneğin) string türünde saklamak için kullanılabilir.

Bağımsız Değişkenler

ifade

Bilgileri dökümlenecek ifade.

ifadeler

Bilgileri dökümlenecek ifadeler.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - var_dump() örneği

<?php
$a = array(1, 2, array("a", "b", "c"));
var_dump($a);
?>

Yukarıdaki örneğin çıktısı:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}
<?php

$b = 3.1;
$c = true;
var_dump($b, $c);

?>

Yukarıdaki örneğin çıktısı:

float(3.1)
bool(true)

Ayrıca Bakınız

  • print_r() - Bir değişkenin insanlarca okunabilecek gösterimini basar
  • debug_zval_dump() - Dahili zval yapısının dizgesel gösterimini çıktıya dökümler
  • var_export() - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar
  • __debugInfo()


Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar

  • « var_dump
  • HTTP Hizmetleri »
  • PHP Manual
  • Değişkenlerle ilgili işlevler
  • Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar

var_export

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

var_export — Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar

Açıklama

var_export(mixed $ifade, bool $döndür = false): ?string

var_export() işlevi belirtilen değişken hakkında yapı bilgisi döndürür. Dönen gösterimin geçerli bir PHP kodu olması dışında var_dump() işlevine benzer.

Bağımsız Değişkenler

ifade

Bilgi edinmek istenen değişken.

döndür

true belirtilmişse, var_export() işlevi değişken gösterimini çıktılamak yerine döndürür.

Bilginize:

Bu işlev bu bağımsız değişken ile bir dahili çıktı tamponu kullanır, dolayısıyla ob_start() geriçağırım işlevinin içinde kullanılamaz.

Dönen Değerler

döndür bağımsız değişkeninde true belirtildiğinde değişkenin gösterimini döndürür. Aksi takdirde null döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.2.0 | Dışa aktarılan sınıf adları artık tamamen niteleniyor, evvelce baştaki ters eğik çizgi konulmazdı.
7.3.0 | Artık stdClass nesneleri, mevcut olmayan stdClass::__setState() yöntemini kullanmak yerine nesneye dönüştürülmüş bir dizi olarak ((object) array( ... )) dışa aktarılıyor. Bunun uygulamadaki etkisi, stdClass'ın dışa aktarılabilmesi ve ortaya çıkan kodun PHP'nin önceki sürümlerinde bile çalışabilmesidir.

Örnekler

Örnek 1 - var_export() örnekleri

<?php
$a = array (1, 2, array ("a", "b", "c"));
var_export($a);
?>

Yukarıdaki örneğin çıktısı:

array (
  0 => 1,
  1 => 2,
  2 =>
  array (
    0 => 'a',
    1 => 'b',
    2 => 'c',
  ),
)
<?php

$b = 3.1;
$v = var_export($b, true);
echo $v;

?>

Yukarıdaki örneğin çıktısı:

3.1

Örnek 2 - stdClass'ın dışa aktarılması (PHP 7.3.0'den beri)

Örnek 3 Exporting stdClass (since PHP 7.3.0)

<?php
$person = new stdClass;
$person->name = 'ElePHPant ElePHPantsdotter';
$person->website = 'https://php.net/elephpant.php';

var_export($person);

Yukarıdaki örneğin çıktısı:

(object) array(
   'name' => 'ElePHPant ElePHPantsdotter',
   'website' => 'https://php.net/elephpant.php',
)

Örnek 4 - Sınıfların dışa aktarılması

<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>

Yukarıdaki örneğin çıktısı:

A::__set_state(array(
   'var' => 5,
))

Örnek 5 - __set_state() kullanımı

<?php
class A
{
public $var1;
public $var2;

public static function __set_state($an_array)
{
$obj = new A;
$obj->var1 = $an_array['var1'];
$obj->var2 = $an_array['var2'];
return $obj;
}
}

$a = new A;
$a->var1 = 5;
$a->var2 = 'foo';

eval('$b = ' . var_export($a, true) . ';'); // $b = A::__set_state(array(
// 'var1' => 5,
// 'var2' => 'foo',
// ));
var_dump($b);
?>

Yukarıdaki örneğin çıktısı:

object(A)#2 (2) {
  ["var1"]=>
  int(5)
  ["var2"]=>
  string(3) "foo"
}

Notlar

Bilginize:

resource türündeki değişkenler bu işlev ile çıktılanamaz.

Bilginize:

var_export() işlevi, döngüsel gönderimler için PHP'nin çözümlenebilir bir kod üretmesi imkansıza yakın olduğundan bu tür döngüler işleme sokulmaz. Bir dizi veya nesnenin dizgesel gösterimi üzerinde işlemler yapmak istiyorsanız serialize() işlevini kullanın.

Uyarı

PHP 8.2.0 öncesinde, var_export() nesneleri dışa aktarırken, azami uyumluluk için, isim alanlı sınıfların sınıf ismine baştaki ters eğik çizgileri dahil etmiyordu.

Bilginize:

var_export() tarafından üretilen kodu değerlendirebilmek için, işlenen tüm nesnelerin sihirli __set_state yöntemini gerçeklemesi gerekir. Tek istisnası, nesneye dönüştürülmüş bir dizi kullanılarak dışa aktarılan stdClass'tır.

Ayrıca Bakınız

  • print_r() - Bir değişkenin insanlarca okunabilecek gösterimini basar
  • serialize() - Bir değerin saklanabilir bir gösterimini üretir
  • var_dump() - Bir değişkenle ilgili bilgiyi dökümler


HTTP Hizmetleri

  • OAuth
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • OAuth İşlevleri
    • OAuth — The OAuth class
    • OAuthProvider — The OAuthProvider class
    • OAuthException — OAuthException class
  • SOAP
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • SOAP İşlevleri
    • SoapClient — The SoapClient class
    • SoapServer — The SoapServer class
    • SoapFault — The SoapFault class
    • SoapHeader — The SoapHeader class
    • SoapParam — The SoapParam class
    • SoapVar — The SoapVar class
  • Yar — Yet Another RPC Framework
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • Yar_Server — The Yar_Server class
    • Yar_Client — The Yar_Client class
    • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Client_Exception — The Yar_Client_Exception class
  • XML-RPC
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • XML-RPC İşlevleri


OAuth

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • FireEagle
  • OAuth İşlevleri
    • oauth_get_sbs — Generate a Signature Base String
    • oauth_urlencode — Encode a URI to RFC 3986
  • OAuth — The OAuth class
    • OAuth::__construct — Create a new OAuth object
    • OAuth::__destruct — The destructor
    • OAuth::disableDebug — Turn off verbose debugging
    • OAuth::disableRedirects — Turn off redirects
    • OAuth::disableSSLChecks — Turn off SSL checks
    • OAuth::enableDebug — Turn on verbose debugging
    • OAuth::enableRedirects — Turn on redirects
    • OAuth::enableSSLChecks — Turn on SSL checks
    • OAuth::fetch — Fetch an OAuth protected resource
    • OAuth::generateSignature — Generate a signature
    • OAuth::getAccessToken — Fetch an access token
    • OAuth::getCAPath — Gets CA information
    • OAuth::getLastResponse — Get the last response
    • OAuth::getLastResponseHeaders — Get headers for last response
    • OAuth::getLastResponseInfo — Get HTTP information about the last response
    • OAuth::getRequestHeader — Generate OAuth header string signature
    • OAuth::getRequestToken — Fetch a request token
    • OAuth::setAuthType — Set authorization type
    • OAuth::setCAPath — Set CA path and info
    • OAuth::setNonce — Set the nonce for subsequent requests
    • OAuth::setRequestEngine — The setRequestEngine purpose
    • OAuth::setRSACertificate — Set the RSA certificate
    • OAuth::setSSLChecks — Tweak specific SSL checks for requests
    • OAuth::setTimestamp — Set the timestamp
    • OAuth::setToken — Sets the token and secret
    • OAuth::setVersion — Set the OAuth version
  • OAuthProvider — The OAuthProvider class
    • OAuthProvider::addRequiredParameter — Add required parameters
    • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest — Check an oauth request
    • OAuthProvider::__construct — Constructs a new OAuthProvider object
    • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
    • OAuthProvider::generateToken — Generate a random token
    • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter — Remove a required parameter
    • OAuthProvider::reportProblem — Report a problem
    • OAuthProvider::setParam — Set a parameter
    • OAuthProvider::setRequestTokenPath — Set request token path
    • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler — Set the tokenHandler handler callback
  • OAuthException — OAuthException class


Giriş

This extension provides OAuth 1.0a consumer and provider bindings. OAuth is an authorization protocol built on top of HTTP which allows applications to securely access data without having to store usernames and passwords.


Gereksinimler

PECL/oauth requires PHP 5.1 or newer, ext/hash and ext/pcre.

PECL/oauth may optionally require libcurl if selected at build time. If configured with libcurl, it must be built with HTTPS support.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pear.php.net/package/oauth


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

Most of these constants involve problems, which are also described within the official OAuth » Problem Reporting documentation. Note however, that these constant names are specific to PHP, although the naming scheme is similar.

OAUTH_SIG_METHOD_RSASHA1 (string)
OAuth RSA-SHA1 signature method.
OAUTH_SIG_METHOD_HMACSHA1 (string)

OAuth HMAC-SHA1 signature method.

OAUTH_SIG_METHOD_HMACSHA256 (string)
OAuth HMAC-SHA256 signature method.
OAUTH_AUTH_TYPE_AUTHORIZATION (string)

This constant represents putting OAuth parameters in the Authorization header.

OAUTH_AUTH_TYPE_NONE (string)

This constant indicates a NoAuth OAuth request.

OAUTH_AUTH_TYPE_URI (string)

This constant represents putting OAuth parameters in the request URI.

OAUTH_AUTH_TYPE_FORM (string)

This constant represents putting OAuth parameters as part of the HTTP POST body.

OAUTH_HTTP_METHOD_GET (string)

Use the GET method for the OAuth request.

OAUTH_HTTP_METHOD_POST (string)

Use the POST method for the OAuth request.

OAUTH_HTTP_METHOD_PUT (string)

Use the PUT method for the OAuth request.

OAUTH_HTTP_METHOD_HEAD (string)

Use the HEAD method for the OAuth request.

OAUTH_HTTP_METHOD_DELETE (string)
Use the DELETE method for the OAuth request.
OAUTH_REQENGINE_STREAMS (int)
Used by OAuth::setRequestEngine() to set the engine to PHP streams, as opposed to OAUTH_REQENGINE_CURL for Curl.
OAUTH_REQENGINE_CURL (int)
Used by OAuth::setRequestEngine() to set the engine to Curl, as opposed to OAUTH_REQENGINE_STREAMS for PHP streams.
OAUTH_OK (int)
Life is good.
OAUTH_BAD_NONCE (int)
The oauth_nonce value was used in a previous request, therefore it cannot be used now.
OAUTH_BAD_TIMESTAMP (int)
The oauth_timestamp value was not accepted by the service provider. In this case, the response should also contain the oauth_acceptable_timestamps parameter.
OAUTH_CONSUMER_KEY_UNKNOWN (int)
The oauth_consumer_key is temporarily unacceptable to the service provider. For example, the service provider may be throttling the consumer.
OAUTH_CONSUMER_KEY_REFUSED (int)
The consumer key was refused.
OAUTH_INVALID_SIGNATURE (int)
The oauth_signature is invalid, as it does not match the signature computed by the service provider.
OAUTH_TOKEN_USED (int)
The oauth_token has been consumed. It can no longer be used because it has already been used in the previous request(s).
OAUTH_TOKEN_EXPIRED (int)
The oauth_token has expired.
OAUTH_TOKEN_REVOKED (int)
The oauth_token has been revoked, and will never be accepted.
OAUTH_TOKEN_REJECTED (int)
The oauth_token was not accepted by the service provider. The reason is not known, but it might be because the token was never issued, already consumed, expired, and/or forgotten by the service provider.
OAUTH_VERIFIER_INVALID (int)
The oauth_verifier is incorrect.
OAUTH_PARAMETER_ABSENT (int)
A required parameter was not received. In this case, the response should also contain the oauth_parameters_absent parameter.
OAUTH_SIGNATURE_METHOD_REJECTED (int)
The oauth_signature_method was not accepted by service provider.


  • « Öntanımlı Sabitler
  • FireEagle »
  • PHP Manual
  • OAuth
  • Örnekler

Örnekler

İçindekiler

  • FireEagle


FireEagle

<?php
$req_url = 'https://fireeagle.yahooapis.com/oauth/request_token';
$authurl = 'https://fireeagle.yahoo.net/oauth/authorize';
$acc_url = 'https://fireeagle.yahooapis.com/oauth/access_token';
$api_url = 'https://fireeagle.yahooapis.com/api/0.1';
$conskey = 'your_consumer_key';
$conssec = 'your_consumer_secret';

session_start();

// In state=1 the next request should include an oauth_token.
// If it doesn't go back to 0
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {
$oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
$oauth->enableDebug();
if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
$request_token_info = $oauth->getRequestToken($req_url);
$_SESSION['secret'] = $request_token_info['oauth_token_secret'];
$_SESSION['state'] = 1;
header('Location: '.$authurl.'?oauth_token='.$request_token_info['oauth_token']);
exit;
} else if($_SESSION['state']==1) {
$oauth->setToken($_GET['oauth_token'],$_SESSION['secret']);
$access_token_info = $oauth->getAccessToken($acc_url);
$_SESSION['state'] = 2;
$_SESSION['token'] = $access_token_info['oauth_token'];
$_SESSION['secret'] = $access_token_info['oauth_token_secret'];
}
$oauth->setToken($_SESSION['token'],$_SESSION['secret']);
$oauth->fetch("$api_url/user.json");
$json = json_decode($oauth->getLastResponse());
print_r($json);
} catch(OAuthException $E) {
print_r($E);
}
?>


OAuth İşlevleri

İçindekiler

  • oauth_get_sbs — Generate a Signature Base String
  • oauth_urlencode — Encode a URI to RFC 3986


Generate a Signature Base String

  • « OAuth İşlevleri
  • oauth_urlencode »
  • PHP Manual
  • OAuth İşlevleri
  • Generate a Signature Base String

oauth_get_sbs

(PECL OAuth >=0.99.7)

oauth_get_sbs — Generate a Signature Base String

Açıklama

oauth_get_sbs(string $http_method, string $uri, array $request_parameters = ?): string

Generates a Signature Base String according to pecl/oauth.

Bağımsız Değişkenler

http_method

The HTTP method.

uri

URI to encode.

request_parameters

Array of request parameters.

Dönen Değerler

Returns a Signature Base String.


Encode a URI to RFC 3986

  • « oauth_get_sbs
  • OAuth »
  • PHP Manual
  • OAuth İşlevleri
  • Encode a URI to RFC 3986

oauth_urlencode

(PECL OAuth >=0.99.2)

oauth_urlencode — Encode a URI to RFC 3986

Açıklama

oauth_urlencode(string $uri): string

Encodes a URI to » RFC 3986.

Bağımsız Değişkenler

uri

URI to encode.

Dönen Değerler

Returns an » RFC 3986 encoded string.


The OAuth class

(PECL OAuth >= 0.99.1)

Giriş

The OAuth extension provides a simple interface to interact with data providers using the OAuth HTTP specification to protect private resources.

Sınıf Sözdizimi

class OAuth {
/* Özellikler */
public $debug;
public $sslChecks;
public $debugInfo;
/* Yöntemler */
public __construct(
string $consumer_key,
string $consumer_secret,
string $signature_method = OAUTH_SIG_METHOD_HMACSHA1,
int $auth_type = 0
)
public __destruct(): void
public disableDebug(): bool
public disableRedirects(): bool
public disableSSLChecks(): bool
public enableDebug(): bool
public enableRedirects(): bool
public enableSSLChecks(): bool
public fetch(
string $protected_resource_url,
array $extra_parameters = ?,
string $http_method = ?,
array $http_headers = ?
): mixed
public generateSignature(string $http_method, string $url, mixed $extra_parameters = ?): string|false
public getAccessToken(
string $access_token_url,
string $auth_session_handle = ?,
string $verifier_token = ?,
string $http_method = ?
): array
public getCAPath(): array
public getLastResponse(): string
public getLastResponseHeaders(): string|false
public getLastResponseInfo(): array
public getRequestHeader(string $http_method, string $url, mixed $extra_parameters = ?): string|false
public getRequestToken(string $request_token_url, string $callback_url = ?, string $http_method = ?): array
public setAuthType(int $auth_type): bool
public setCAPath(string $ca_path = ?, string $ca_info = ?): mixed
public setNonce(string $nonce): mixed
public setRequestEngine(int $reqengine): void
public setRSACertificate(string $cert): mixed
public setSSLChecks(int $sslcheck): bool
public setTimestamp(string $timestamp): mixed
public setToken(string $token, string $token_secret): bool
public setVersion(string $version): bool
}

Özellikler

debug

sslChecks

debugInfo

İçindekiler

  • OAuth::__construct — Create a new OAuth object
  • OAuth::__destruct — The destructor
  • OAuth::disableDebug — Turn off verbose debugging
  • OAuth::disableRedirects — Turn off redirects
  • OAuth::disableSSLChecks — Turn off SSL checks
  • OAuth::enableDebug — Turn on verbose debugging
  • OAuth::enableRedirects — Turn on redirects
  • OAuth::enableSSLChecks — Turn on SSL checks
  • OAuth::fetch — Fetch an OAuth protected resource
  • OAuth::generateSignature — Generate a signature
  • OAuth::getAccessToken — Fetch an access token
  • OAuth::getCAPath — Gets CA information
  • OAuth::getLastResponse — Get the last response
  • OAuth::getLastResponseHeaders — Get headers for last response
  • OAuth::getLastResponseInfo — Get HTTP information about the last response
  • OAuth::getRequestHeader — Generate OAuth header string signature
  • OAuth::getRequestToken — Fetch a request token
  • OAuth::setAuthType — Set authorization type
  • OAuth::setCAPath — Set CA path and info
  • OAuth::setNonce — Set the nonce for subsequent requests
  • OAuth::setRequestEngine — The setRequestEngine purpose
  • OAuth::setRSACertificate — Set the RSA certificate
  • OAuth::setSSLChecks — Tweak specific SSL checks for requests
  • OAuth::setTimestamp — Set the timestamp
  • OAuth::setToken — Sets the token and secret
  • OAuth::setVersion — Set the OAuth version


Create a new OAuth object

  • « OAuth
  • OAuth::__destruct »
  • PHP Manual
  • OAuth
  • Create a new OAuth object

OAuth::__construct

(PECL OAuth >= 0.99.1)

OAuth::__construct — Create a new OAuth object

Açıklama

public OAuth::__construct(
string $consumer_key,
string $consumer_secret,
string $signature_method = OAUTH_SIG_METHOD_HMACSHA1,
int $auth_type = 0
)

Creates a new OAuth object

Bağımsız Değişkenler

consumer_key

The consumer key provided by the service provider.

consumer_secret

The consumer secret provided by the service provider.

signature_method

This optional parameter defines which signature method to use, by default it is OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).

auth_type

This optional parameter defines how to pass the OAuth parameters to a consumer, by default it is OAUTH_AUTH_TYPE_AUTHORIZATION (in the Authorization header).


The destructor

  • « OAuth::__construct
  • OAuth::disableDebug »
  • PHP Manual
  • OAuth
  • The destructor

OAuth::__destruct

(PECL OAuth >= 0.99.9)

OAuth::__destruct — The destructor

Açıklama

public OAuth::__destruct(): void

The destructor.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • OAuth::__construct() - Create a new OAuth object


Turn off verbose debugging

  • « OAuth::__destruct
  • OAuth::disableRedirects »
  • PHP Manual
  • OAuth
  • Turn off verbose debugging

OAuth::disableDebug

(PECL OAuth >= 0.99.3)

OAuth::disableDebug — Turn off verbose debugging

Açıklama

public OAuth::disableDebug(): bool

Turns off verbose request information (off by default). Alternatively, the debug property can be set to a false value to turn debug off.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 0.99.8 | The related debug property was added.

Ayrıca Bakınız

  • OAuth::enableDebug() - Turn on verbose debugging


Turn off redirects

  • « OAuth::disableDebug
  • OAuth::disableSSLChecks »
  • PHP Manual
  • OAuth
  • Turn off redirects

OAuth::disableRedirects

(PECL OAuth >= 0.99.9)

OAuth::disableRedirects — Turn off redirects

Açıklama

public OAuth::disableRedirects(): bool

Disable redirects from being followed automatically, thus allowing the request to be manually redirected.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Ayrıca Bakınız

  • OAuth::enableRedirects() - Turn on redirects


Turn off SSL checks

  • « OAuth::disableRedirects
  • OAuth::enableDebug »
  • PHP Manual
  • OAuth
  • Turn off SSL checks

OAuth::disableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::disableSSLChecks — Turn off SSL checks

Açıklama

public OAuth::disableSSLChecks(): bool

Turns off the usual SSL peer certificate and host checks, this is not for production environments. Alternatively, the sslChecks member can be set to false to turn SSL checks off.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 0.99.8 | The sslChecks member was added

Ayrıca Bakınız

  • OAuth::enableSSLChecks() - Turn on SSL checks


Turn on verbose debugging

  • « OAuth::disableSSLChecks
  • OAuth::enableRedirects »
  • PHP Manual
  • OAuth
  • Turn on verbose debugging

OAuth::enableDebug

(PECL OAuth >= 0.99.3)

OAuth::enableDebug — Turn on verbose debugging

Açıklama

public OAuth::enableDebug(): bool

Turns on verbose request information useful for debugging, the debug information is stored in the debugInfo member. Alternatively, the debug member can be set to a non-false value to turn debug on.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 0.99.8 | The debug and debugInfo members were added

Ayrıca Bakınız

  • OAuth::disableDebug() - Turn off verbose debugging


Turn on redirects

  • « OAuth::enableDebug
  • OAuth::enableSSLChecks »
  • PHP Manual
  • OAuth
  • Turn on redirects

OAuth::enableRedirects

(PECL OAuth >= 0.99.9)

OAuth::enableRedirects — Turn on redirects

Açıklama

public OAuth::enableRedirects(): bool

Follow and sign redirects automatically, which is enabled by default.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Ayrıca Bakınız

  • OAuth::disableRedirects() - Turn off redirects


Turn on SSL checks

  • « OAuth::enableRedirects
  • OAuth::fetch »
  • PHP Manual
  • OAuth
  • Turn on SSL checks

OAuth::enableSSLChecks

(PECL OAuth >= 0.99.5)

OAuth::enableSSLChecks — Turn on SSL checks

Açıklama

public OAuth::enableSSLChecks(): bool

Turns on the usual SSL peer certificate and host checks (enabled by default). Alternatively, the sslChecks member can be set to a non-false value to turn SSL checks off.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 0.99.8 | The sslChecks member was added

Ayrıca Bakınız

  • OAuth::disableSSLChecks() - Turn off SSL checks


Fetch an OAuth protected resource

  • « OAuth::enableSSLChecks
  • OAuth::generateSignature »
  • PHP Manual
  • OAuth
  • Fetch an OAuth protected resource

OAuth::fetch

(PECL OAuth >= 0.99.1)

OAuth::fetch — Fetch an OAuth protected resource

Açıklama

public OAuth::fetch(
string $protected_resource_url,
array $extra_parameters = ?,
string $http_method = ?,
array $http_headers = ?
): mixed

Fetch a resource.

Bağımsız Değişkenler

protected_resource_url

URL to the OAuth protected resource.

extra_parameters

Extra parameters to send with the request for the resource.

http_method

One of the OAUTH_HTTP_METHOD_* OAUTH constants, which includes GET, POST, PUT, HEAD, or DELETE.

HEAD (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information prior to the request (if OAuth credentials are in the Authorization header).

http_headers

HTTP client headers (such as User-Agent, Accept, etc.)

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.
PECL oauth 0.99.5 | The http_method parameter was added
PECL oauth 0.99.8 | The http_headers parameter was added

Örnekler

Örnek 1 OAuth::fetch() example

<?php
try {
$oauth = new OAuth("consumer_key","consumer_secret",OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->setToken("access_token","access_token_secret");

$oauth->fetch("http://photos.example.net/photo?file=vacation.jpg");

$response_info = $oauth->getLastResponseInfo();
header("Content-Type: {$response_info["content_type"]}");
echo $oauth->getLastResponse();
} catch(OAuthException $E) {
echo "Exception caught!\n";
echo "Response: ". $E->lastResponse . "\n";
}
?>

Ayrıca Bakınız

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret


Generate a signature

  • « OAuth::fetch
  • OAuth::getAccessToken »
  • PHP Manual
  • OAuth
  • Generate a signature

OAuth::generateSignature

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

OAuth::generateSignature — Generate a signature

Açıklama

public OAuth::generateSignature(string $http_method, string $url, mixed $extra_parameters = ?): string|false

Generate a signature based on the final HTTP method, URL and a string/array of parameters.

Bağımsız Değişkenler

http_method

HTTP method for request

url

URL for request

extra_parameters

String or array of additional parameters.

Dönen Değerler

A string containing the generated signature başarısızlık durumunda false döner


Fetch an access token

  • « OAuth::generateSignature
  • OAuth::getCAPath »
  • PHP Manual
  • OAuth
  • Fetch an access token

OAuth::getAccessToken

(PECL OAuth >= 0.99.1)

OAuth::getAccessToken — Fetch an access token

Açıklama

public OAuth::getAccessToken(
string $access_token_url,
string $auth_session_handle = ?,
string $verifier_token = ?,
string $http_method = ?
): array

Fetch an access token, secret and any additional response parameters from the service provider.

Bağımsız Değişkenler

access_token_url

URL to the access token API.

auth_session_handle

Authorization session handle, this parameter does not have any citation in the core OAuth 1.0 specification but may be implemented by large providers. » See ScalableOAuth for more information.

verifier_token

For service providers which support 1.0a, a verifier_token must be passed while exchanging the request token for the access token. If the verifier_token is present in $_GET or $_POST it is passed automatically and the caller does not need to specify a verifier_token (usually if the access token is exchanged at the oauth_callback URL). » See ScalableOAuth for more information.

http_method

HTTP method to use, e.g. GET or POST.

Dönen Değerler

Returns an array containing the parsed OAuth response on success or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.
PECL oauth 0.99.9 | The verifier_token parameter was added

Örnekler

Örnek 1 OAuth::getAccessToken() example

<?php
try {
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken($request_token,$request_token_secret);
$access_token_info = $oauth->getAccessToken("https://example.com/oauth/access_token");
if(!empty($access_token_info)) {
print_r($access_token_info);
} else {
print "Failed fetching access token, response was: " . $oauth->getLastResponse();
}
} catch(OAuthException $E) {
echo "Response: ". $E->lastResponse . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Ayrıca Bakınız

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::setToken() - Sets the token and secret


Gets CA information

  • « OAuth::getAccessToken
  • OAuth::getLastResponse »
  • PHP Manual
  • OAuth
  • Gets CA information

OAuth::getCAPath

(PECL OAuth >= 0.99.8)

OAuth::getCAPath — Gets CA information

Açıklama

public OAuth::getCAPath(): array

Gets the Certificate Authority information, which includes the ca_path and ca_info set by OAuth::setCaPath().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of Certificate Authority information, specifically as ca_path and ca_info keys within the returned associative array.

Ayrıca Bakınız

  • OAuth::setCAPath() - Set CA path and info
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response


Get the last response

  • « OAuth::getCAPath
  • OAuth::getLastResponseHeaders »
  • PHP Manual
  • OAuth
  • Get the last response

OAuth::getLastResponse

(PECL OAuth >= 0.99.1)

OAuth::getLastResponse — Get the last response

Açıklama

public OAuth::getLastResponse(): string

Get the raw response of the most recent request.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a string containing the last response.

Ayrıca Bakınız

  • OAuth::getLastResponseInfo() - Get HTTP information about the last response
  • OAuth::fetch() - Fetch an OAuth protected resource


Get headers for last response

  • « OAuth::getLastResponse
  • OAuth::getLastResponseInfo »
  • PHP Manual
  • OAuth
  • Get headers for last response

OAuth::getLastResponseHeaders

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

OAuth::getLastResponseHeaders — Get headers for last response

Açıklama

public OAuth::getLastResponseHeaders(): string|false

Get headers for last response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string containing the last response's headers başarısızlık durumunda false döner


Get HTTP information about the last response

  • « OAuth::getLastResponseHeaders
  • OAuth::getRequestHeader »
  • PHP Manual
  • OAuth
  • Get HTTP information about the last response

OAuth::getLastResponseInfo

(PECL OAuth >= 0.99.1)

OAuth::getLastResponseInfo — Get HTTP information about the last response

Açıklama

public OAuth::getLastResponseInfo(): array

Get HTTP information about the last response.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array containing the response information for the last request. Constants from curl_getinfo() may be used.

Ayrıca Bakınız

  • OAuth::fetch() - Fetch an OAuth protected resource
  • OAuth::getLastResponse() - Get the last response


Generate OAuth header string signature

  • « OAuth::getLastResponseInfo
  • OAuth::getRequestToken »
  • PHP Manual
  • OAuth
  • Generate OAuth header string signature

OAuth::getRequestHeader

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

OAuth::getRequestHeader — Generate OAuth header string signature

Açıklama

public OAuth::getRequestHeader(string $http_method, string $url, mixed $extra_parameters = ?): string|false

Generate OAuth header string signature based on the final HTTP method, URL and a string/array of parameters

Bağımsız Değişkenler

http_method

HTTP method for request.

url

URL for request.

extra_parameters

String or array of additional parameters.

Dönen Değerler

A string containing the generated request header başarısızlık durumunda false döner


Fetch a request token

  • « OAuth::getRequestHeader
  • OAuth::setAuthType »
  • PHP Manual
  • OAuth
  • Fetch a request token

OAuth::getRequestToken

(PECL OAuth >= 0.99.1)

OAuth::getRequestToken — Fetch a request token

Açıklama

public OAuth::getRequestToken(string $request_token_url, string $callback_url = ?, string $http_method = ?): array

Fetch a request token, secret and any additional response parameters from the service provider.

Bağımsız Değişkenler

request_token_url

URL to the request token API.

callback_url

OAuth callback URL. If callback_url is passed and is an empty value, it is set to "oob" to address the OAuth 2009.1 advisory.

http_method

HTTP method to use, e.g. GET or POST.

Dönen Değerler

Returns an array containing the parsed OAuth response on success or false on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.
PECL oauth 0.99.9 | The callback_url parameter was added

Örnekler

Örnek 1 OAuth::getRequestToken() example

<?php
try {
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$request_token_info = $oauth->getRequestToken("https://example.com/oauth/request_token");
if(!empty($request_token_info)) {
print_r($request_token_info);
} else {
print "Failed fetching request token, response was: " . $oauth->getLastResponse();
}
} catch(OAuthException $E) {
echo "Response: ". $E->lastResponse . "\n";
}
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [oauth_token] => some_token
    [oauth_token_secret] => some_token_secret
)

Ayrıca Bakınız

  • OAuth::getLastResponse() - Get the last response
  • OAuth::getLastResponseInfo() - Get HTTP information about the last response


Set authorization type

  • « OAuth::getRequestToken
  • OAuth::setCAPath »
  • PHP Manual
  • OAuth
  • Set authorization type

OAuth::setAuthType

(PECL OAuth >= 0.99.1)

OAuth::setAuthType — Set authorization type

Açıklama

public OAuth::setAuthType(int $auth_type): bool

Set where the OAuth parameters should be passed.

Bağımsız Değişkenler

auth_type

auth_type can be one of the following flags (in order of decreasing preference as per OAuth 1.0 section 5.2):

OAUTH_AUTH_TYPE_AUTHORIZATION
Pass the OAuth parameters in the HTTP Authorization header.
OAUTH_AUTH_TYPE_FORM
Append the OAuth parameters to the HTTP POST request body.
OAUTH_AUTH_TYPE_URI
Append the OAuth parameters to the request URI.
OAUTH_AUTH_TYPE_NONE
None.

Dönen Değerler

Returns true if a parameter is correctly set, otherwise false (e.g., if an invalid auth_type is passed in.)

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.


Set CA path and info

  • « OAuth::setAuthType
  • OAuth::setNonce »
  • PHP Manual
  • OAuth
  • Set CA path and info

OAuth::setCAPath

(PECL OAuth >= 0.99.8)

OAuth::setCAPath — Set CA path and info

Açıklama

public OAuth::setCAPath(string $ca_path = ?, string $ca_info = ?): mixed

Sets the Certificate Authority (CA), both for path and info.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

ca_path

The CA Path being set.

ca_info

The CA Info being set.

Dönen Değerler

Returns true on success, or false if either ca_path or ca_info are considered invalid.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.

Ayrıca Bakınız

  • OAuth::getCaPath() - Gets CA information


Set the nonce for subsequent requests

  • « OAuth::setCAPath
  • OAuth::setRequestEngine »
  • PHP Manual
  • OAuth
  • Set the nonce for subsequent requests

OAuth::setNonce

(PECL OAuth >= 0.99.1)

OAuth::setNonce — Set the nonce for subsequent requests

Açıklama

public OAuth::setNonce(string $nonce): mixed

Sets the nonce for all subsequent requests.

Bağımsız Değişkenler

nonce

The value for oauth_nonce.

Dönen Değerler

Returns true on success, or false if the nonce is considered invalid.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.

Ayrıca Bakınız

  • OAuth::setToken() - Sets the token and secret
  • OAuth::setAuthType() - Set authorization type
  • OAuth::setVersion() - Set the OAuth version


The setRequestEngine purpose

  • « OAuth::setNonce
  • OAuth::setRSACertificate »
  • PHP Manual
  • OAuth
  • The setRequestEngine purpose

OAuth::setRequestEngine

(PECL OAuth >= 1.0.0)

OAuth::setRequestEngine — The setRequestEngine purpose

Açıklama

public OAuth::setRequestEngine(int $reqengine): void

Sets the Request Engine, that will be sending the HTTP requests.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

reqengine

The desired request engine. Set to OAUTH_REQENGINE_STREAMS to use PHP Streams, or OAUTH_REQENGINE_CURL to use Curl.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Emits an OAuthException exception if an invalid request engine is chosen.

Örnekler

Örnek 1 OAuth::setRequestEngine() example

<?php
$consumer = new OAuth();

$consumer->setRequestEngine(OAUTH_REQENGINE_STREAMS);
?>

Ayrıca Bakınız

  • Curl
  • PHP streams
  • OAuthException


Set the RSA certificate

  • « OAuth::setRequestEngine
  • OAuth::setSSLChecks »
  • PHP Manual
  • OAuth
  • Set the RSA certificate

OAuth::setRSACertificate

(PECL OAuth >= 1.0.0)

OAuth::setRSACertificate — Set the RSA certificate

Açıklama

public OAuth::setRSACertificate(string $cert): mixed

Sets the RSA certificate.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

cert

The RSA certificate.

Dönen Değerler

Returns true on success, or false on failure (e.g., the RSA certificate cannot be parsed.)

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.

Örnekler

Örnek 1 An OAuth::setRsaCertificate() example

<?php
$consume = new OAuth('1234', '', OAUTH_SIG_METHOD_RSASHA1);

$consume->setRSACertificate(file_get_contents('test.pem'));
?>

Ayrıca Bakınız

  • OAuth::setCaPath() - Set CA path and info


Tweak specific SSL checks for requests

  • « OAuth::setRSACertificate
  • OAuth::setTimestamp »
  • PHP Manual
  • OAuth
  • Tweak specific SSL checks for requests

OAuth::setSSLChecks

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

OAuth::setSSLChecks — Tweak specific SSL checks for requests

Açıklama

public OAuth::setSSLChecks(int $sslcheck): bool

Tweak specific SSL checks for requests.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

sslcheck

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Set the timestamp

  • « OAuth::setSSLChecks
  • OAuth::setToken »
  • PHP Manual
  • OAuth
  • Set the timestamp

OAuth::setTimestamp

(PECL OAuth >= 1.0.0)

OAuth::setTimestamp — Set the timestamp

Açıklama

public OAuth::setTimestamp(string $timestamp): mixed

Sets the OAuth timestamp for subsequent requests.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

timestamp

The timestamp.

Dönen Değerler

Returns true, unless the timestamp is invalid, in which case false is returned.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL oauth 1.0.0 | Başarısızlık durumunda false yerine evvelce null dönerdi.

Ayrıca Bakınız

  • OAuth::setNonce() - Set the nonce for subsequent requests


Sets the token and secret

  • « OAuth::setTimestamp
  • OAuth::setVersion »
  • PHP Manual
  • OAuth
  • Sets the token and secret

OAuth::setToken

(PECL OAuth >= 0.99.1)

OAuth::setToken — Sets the token and secret

Açıklama

public OAuth::setToken(string $token, string $token_secret): bool

Set the token and secret for subsequent requests.

Bağımsız Değişkenler

token

The OAuth token.

token_secret

The OAuth token secret.

Dönen Değerler

true

Örnekler

Örnek 1 OAuth::setToken() example

<?php
$oauth = new OAuth(OAUTH_CONSUMER_KEY,OAUTH_CONSUMER_SECRET);
$oauth->setToken("token","token-secret");
?>


Set the OAuth version

  • « OAuth::setToken
  • OAuthProvider »
  • PHP Manual
  • OAuth
  • Set the OAuth version

OAuth::setVersion

(PECL OAuth >= 0.99.1)

OAuth::setVersion — Set the OAuth version

Açıklama

public OAuth::setVersion(string $version): bool

Sets the OAuth version for subsequent requests

Bağımsız Değişkenler

version

OAuth version, default value is always "1.0"

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


The OAuthProvider class

(PECL OAuth >= 1.0.0)

Giriş

Manages an OAuth provider class.

See also an external in-depth tutorial titled » Writing an OAuth Provider Service, which takes a hands-on approach to providing this service. There are also » OAuth provider examples within the OAuth extensions sources.

Sınıf Sözdizimi

class OAuthProvider {
/* Yöntemler */
final public addRequiredParameter(string $req_params): bool
public callconsumerHandler(): void
public callTimestampNonceHandler(): void
public calltokenHandler(): void
public checkOAuthRequest(string $uri = ?, string $method = ?): void
public __construct(array $params_array = ?)
public consumerHandler(callable $callback_function): void
final public static generateToken(int $size, bool $strong = false): string
public is2LeggedEndpoint(mixed $params_array): void
public isRequestTokenEndpoint(bool $will_issue_request_token): void
final public removeRequiredParameter(string $req_params): bool
final public static reportProblem(string $oauthexception, bool $send_headers = true): string
final public setParam(string $param_key, mixed $param_val = ?): bool
final public setRequestTokenPath(string $path): bool
public timestampNonceHandler(callable $callback_function): void
public tokenHandler(callable $callback_function): void
}

İçindekiler

  • OAuthProvider::addRequiredParameter — Add required parameters
  • OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback
  • OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback
  • OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback
  • OAuthProvider::checkOAuthRequest — Check an oauth request
  • OAuthProvider::__construct — Constructs a new OAuthProvider object
  • OAuthProvider::consumerHandler — Set the consumerHandler handler callback
  • OAuthProvider::generateToken — Generate a random token
  • OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint
  • OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint
  • OAuthProvider::removeRequiredParameter — Remove a required parameter
  • OAuthProvider::reportProblem — Report a problem
  • OAuthProvider::setParam — Set a parameter
  • OAuthProvider::setRequestTokenPath — Set request token path
  • OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback
  • OAuthProvider::tokenHandler — Set the tokenHandler handler callback


Add required parameters

  • « OAuthProvider
  • OAuthProvider::callconsumerHandler »
  • PHP Manual
  • OAuthProvider
  • Add required parameters

OAuthProvider::addRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::addRequiredParameter — Add required parameters

Açıklama

final public OAuthProvider::addRequiredParameter(string $req_params): bool

Add required oauth provider parameters.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

req_params

The required parameters.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • OAuthProvider::removeRequiredParameter() - Remove a required parameter


Calls the consumerNonceHandler callback

  • « OAuthProvider::addRequiredParameter
  • OAuthProvider::callTimestampNonceHandler »
  • PHP Manual
  • OAuthProvider
  • Calls the consumerNonceHandler callback

OAuthProvider::callconsumerHandler

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

OAuthProvider::callconsumerHandler — Calls the consumerNonceHandler callback

Açıklama

public OAuthProvider::callconsumerHandler(): void

Calls the registered consumer handler callback function, which is set with OAuthProvider::consumerHandler().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Bir geriçağırım işlevi belirtilmemişse veya çağrılamazsa E_ERROR seviyesinden bir ileti çıktılanır.

Ayrıca Bakınız

  • OAuthProvider::consumerHandler() - Set the consumerHandler handler callback


Calls the timestampNonceHandler callback

  • « OAuthProvider::callconsumerHandler
  • OAuthProvider::calltokenHandler »
  • PHP Manual
  • OAuthProvider
  • Calls the timestampNonceHandler callback

OAuthProvider::callTimestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::callTimestampNonceHandler — Calls the timestampNonceHandler callback

Açıklama

public OAuthProvider::callTimestampNonceHandler(): void

Calls the registered timestamp handler callback function, which is set with OAuthProvider::timestampNonceHandler().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Bir geriçağırım işlevi belirtilmemişse veya çağrılamazsa E_ERROR seviyesinden bir ileti çıktılanır.

Ayrıca Bakınız

  • OAuthProvider::timestampNonceHandler() - Set the timestampNonceHandler handler callback


Calls the tokenNonceHandler callback

  • « OAuthProvider::callTimestampNonceHandler
  • OAuthProvider::checkOAuthRequest »
  • PHP Manual
  • OAuthProvider
  • Calls the tokenNonceHandler callback

OAuthProvider::calltokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::calltokenHandler — Calls the tokenNonceHandler callback

Açıklama

public OAuthProvider::calltokenHandler(): void

Calls the registered token handler callback function, which is set with OAuthProvider::tokenHandler().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Bir geriçağırım işlevi belirtilmemişse veya çağrılamazsa E_ERROR seviyesinden bir ileti çıktılanır.

Ayrıca Bakınız

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback


Check an oauth request

  • « OAuthProvider::calltokenHandler
  • OAuthProvider::__construct »
  • PHP Manual
  • OAuthProvider
  • Check an oauth request

OAuthProvider::checkOAuthRequest

(PECL OAuth >= 1.0.0)

OAuthProvider::checkOAuthRequest — Check an oauth request

Açıklama

public OAuthProvider::checkOAuthRequest(string $uri = ?, string $method = ?): void

Checks an OAuth request.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

uri

The optional URI, or endpoint.

method

The HTTP method. Optionally pass in one of the OAUTH_HTTP_METHOD_* OAuth constants.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

Emits an E_ERROR level error if the HTTP method cannot be detected.

Ayrıca Bakınız

  • OAuthProvider::reportProblem() - Report a problem


Constructs a new OAuthProvider object

  • « OAuthProvider::checkOAuthRequest
  • OAuthProvider::consumerHandler »
  • PHP Manual
  • OAuthProvider
  • Constructs a new OAuthProvider object

OAuthProvider::__construct

(PECL OAuth >= 1.0.0)

OAuthProvider::__construct — Constructs a new OAuthProvider object

Açıklama

public OAuthProvider::__construct(array $params_array = ?)

Initiates a new OAuthProvider object.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

params_array

Setting these optional parameters is limited to the CLI SAPI.

Dönen Değerler

An OAuthProvider object.

Örnekler

Örnek 1 OAuthProvider::__construct() example

<?php
try {

$op = new OAuthProvider();

// Uses user-defined callback functions
$op->consumerHandler(array($this, 'lookupConsumer'));
$op->timestampNonceHandler(array($this, 'timestampNonceChecker'));
$op->tokenHandler(array($this, 'myTokenHandler'));

// Ignore the foo_uri parameter
$op->setParam('foo_uri', NULL);

// No token needed for this end point
$op->setRequestTokenPath('/v1/oauth/request_token');

$op->checkOAuthRequest();

} catch (OAuthException $e) {

echo OAuthProvider::reportProblem($e);
}
?>

Ayrıca Bakınız

  • OAuthProvider::setParam() - Set a parameter


Set the consumerHandler handler callback

  • « OAuthProvider::__construct
  • OAuthProvider::generateToken »
  • PHP Manual
  • OAuthProvider
  • Set the consumerHandler handler callback

OAuthProvider::consumerHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::consumerHandler — Set the consumerHandler handler callback

Açıklama

public OAuthProvider::consumerHandler(callable $callback_function): void

Sets the consumer handler callback, which will later be called with OAuthProvider::callConsumerHandler().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

callback_function

The callable functions name.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Example OAuthProvider::consumerHandler() callback

<?php
function lookupConsumer($provider) {

if ($provider->consumer_key === 'unknown') {
return OAUTH_CONSUMER_KEY_UNKNOWN;
} else if($provider->consumer_key == 'blacklisted' || $provider->consumer_key === 'throttled') {
return OAUTH_CONSUMER_KEY_REFUSED;
}

$provider->consumer_secret = "the_consumers_secret";

return OAUTH_OK;
}
?>

Ayrıca Bakınız

  • OAuthProvider::callConsumerHandler() - Calls the consumerNonceHandler callback


Generate a random token

  • « OAuthProvider::consumerHandler
  • OAuthProvider::is2LeggedEndpoint »
  • PHP Manual
  • OAuthProvider
  • Generate a random token

OAuthProvider::generateToken

(PECL OAuth >= 1.0.0)

OAuthProvider::generateToken — Generate a random token

Açıklama

final public static OAuthProvider::generateToken(int $size, bool $strong = false): string

Generates a string of pseudo-random bytes.

Bağımsız Değişkenler

size

The desired token length, in terms of bytes.

strong

Setting to true means /dev/random will be used for entropy, as otherwise the non-blocking /dev/urandom is used. This parameter is ignored on Windows.

Dönen Değerler

The generated token, as a string of bytes.

Hatalar/İstisnalar

If the strong parameter is true, then an E_WARNING level error will be emitted when the fallback rand() implementation is used to fill the remaining random bytes (e.g., when not enough random data was found, initially).

Örnekler

Örnek 1 OAuthProvider::generateToken() example

<?php
$p = new OAuthProvider();

$t = $p->generateToken(4);

echo strlen($t), PHP_EOL;
echo bin2hex($t), PHP_EOL;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

4
b6a82c27

Notlar

Bilginize:

When not enough random data is available to the system, this function will fill the remaining random bytes using the internal PHP rand() implementation.

Ayrıca Bakınız

  • openssl_random_pseudo_bytes() - Yarı-rasgele bayt dizesi üretir
  • mcrypt_create_iv() - Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur


is2LeggedEndpoint

  • « OAuthProvider::generateToken
  • OAuthProvider::isRequestTokenEndpoint »
  • PHP Manual
  • OAuthProvider
  • is2LeggedEndpoint

OAuthProvider::is2LeggedEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::is2LeggedEndpoint — is2LeggedEndpoint

Açıklama

public OAuthProvider::is2LeggedEndpoint(mixed $params_array): void

The 2-legged flow, or request signing. It does not require a token.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

params_array

Dönen Değerler

An OAuthProvider object.

Örnekler

Örnek 1 OAuthProvider::is2LeggedEndpoint() example

<?php

$provider = new OAuthProvider();

$provider->is2LeggedEndpoint(true);

?>

Ayrıca Bakınız

  • OAuthProvider::__construct() - Constructs a new OAuthProvider object


Sets isRequestTokenEndpoint

  • « OAuthProvider::is2LeggedEndpoint
  • OAuthProvider::removeRequiredParameter »
  • PHP Manual
  • OAuthProvider
  • Sets isRequestTokenEndpoint

OAuthProvider::isRequestTokenEndpoint

(PECL OAuth >= 1.0.0)

OAuthProvider::isRequestTokenEndpoint — Sets isRequestTokenEndpoint

Açıklama

public OAuthProvider::isRequestTokenEndpoint(bool $will_issue_request_token): void

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

will_issue_request_token

Sets whether or not it will issue a request token, thus determining if OAuthProvider::tokenHandler() needs to be called.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • OAuthProvider::setRequestTokenPath() - Set request token path
  • OAuthProvider::reportProblem() - Report a problem


Remove a required parameter

  • « OAuthProvider::isRequestTokenEndpoint
  • OAuthProvider::reportProblem »
  • PHP Manual
  • OAuthProvider
  • Remove a required parameter

OAuthProvider::removeRequiredParameter

(PECL OAuth >= 1.0.0)

OAuthProvider::removeRequiredParameter — Remove a required parameter

Açıklama

final public OAuthProvider::removeRequiredParameter(string $req_params): bool

Removes a required parameter.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

req_params

The required parameter to be removed.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • OAuthProvider::setParam() - Set a parameter
  • OAuthProvider::addRequiredParameter() - Add required parameters


Report a problem

  • « OAuthProvider::removeRequiredParameter
  • OAuthProvider::setParam »
  • PHP Manual
  • OAuthProvider
  • Report a problem

OAuthProvider::reportProblem

(PECL OAuth >= 1.0.0)

OAuthProvider::reportProblem — Report a problem

Açıklama

final public static OAuthProvider::reportProblem(string $oauthexception, bool $send_headers = true): string

Pass in a problem as an OAuthException, with possible problems listed in the OAuth constants section.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

oauthexception

The OAuthException.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • OAuthProvider::checkOAuthRequest() - Check an oauth request
  • OAuthProvider::isRequestTokenEndpoint() - Sets isRequestTokenEndpoint


Set a parameter

  • « OAuthProvider::reportProblem
  • OAuthProvider::setRequestTokenPath »
  • PHP Manual
  • OAuthProvider
  • Set a parameter

OAuthProvider::setParam

(PECL OAuth >= 1.0.0)

OAuthProvider::setParam — Set a parameter

Açıklama

final public OAuthProvider::setParam(string $param_key, mixed $param_val = ?): bool

Sets a parameter.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

param_key

The parameter key.

param_val

The optional parameter value.

To exclude a parameter from signature verification, set its value to null.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • OAuthProvider::addRequiredParameter() - Add required parameters


Set request token path

  • « OAuthProvider::setParam
  • OAuthProvider::timestampNonceHandler »
  • PHP Manual
  • OAuthProvider
  • Set request token path

OAuthProvider::setRequestTokenPath

(PECL OAuth >= 1.0.0)

OAuthProvider::setRequestTokenPath — Set request token path

Açıklama

final public OAuthProvider::setRequestTokenPath(string $path): bool

Sets the request tokens path.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

path

The path.

Dönen Değerler

true

Ayrıca Bakınız

  • OAuthProvider::tokenHandler() - Set the tokenHandler handler callback


Set the timestampNonceHandler handler callback

  • « OAuthProvider::setRequestTokenPath
  • OAuthProvider::tokenHandler »
  • PHP Manual
  • OAuthProvider
  • Set the timestampNonceHandler handler callback

OAuthProvider::timestampNonceHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::timestampNonceHandler — Set the timestampNonceHandler handler callback

Açıklama

public OAuthProvider::timestampNonceHandler(callable $callback_function): void

Sets the timestamp nonce handler callback, which will later be called with OAuthProvider::callTimestampNonceHandler(). Errors related to timestamp/nonce are thrown to this callback.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

callback_function

The callable functions name.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Example OAuthProvider::timestampNonceHandler() callback

<?php
function timestampNonceChecker($provider) {

if ($provider->nonce === 'bad') {
return OAUTH_BAD_NONCE;
} elseif ($provider->timestamp == '0') {
return OAUTH_BAD_TIMESTAMP;
}

return OAUTH_OK;
}
?>

Ayrıca Bakınız

  • OAuthProvider::callTimestampNonceHandler() - Calls the timestampNonceHandler callback


Set the tokenHandler handler callback

  • « OAuthProvider::timestampNonceHandler
  • OAuthException »
  • PHP Manual
  • OAuthProvider
  • Set the tokenHandler handler callback

OAuthProvider::tokenHandler

(PECL OAuth >= 1.0.0)

OAuthProvider::tokenHandler — Set the tokenHandler handler callback

Açıklama

public OAuthProvider::tokenHandler(callable $callback_function): void

Sets the token handler callback, which will later be called with OAuthProvider::callTokenHandler().

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

callback_function

The callable functions name.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Example OAuthProvider::tokenHandler() callback

<?php
function tokenHandler($provider) {

if ($provider->token === 'rejected') {
return OAUTH_TOKEN_REJECTED;
} elseif ($provider->token === 'revoked') {
return OAUTH_TOKEN_REVOKED;
}

$provider->token_secret = "the_tokens_secret";
return OAUTH_OK;
}
?>

Ayrıca Bakınız

  • OAuthProvider::callTokenHandler() - Calls the tokenNonceHandler callback


OAuthException class

(PECL OAuth >= 0.99.1)

Giriş

This exception is thrown when exceptional errors occur while using the OAuth extension and contains useful debugging information.

Sınıf Sözdizimi

class OAuthException extends Exception {
/* Özellikler */
public $lastResponse;
public $debugInfo;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

lastResponse

The response of the exception which occurred, if any

debugInfo


SOAP

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • SOAP İşlevleri
    • is_soap_fault — Checks if a SOAP call has failed
    • use_soap_error_handler — Set whether to use the SOAP error handler
  • SoapClient — The SoapClient class
    • SoapClient::__call — Calls a SOAP function (deprecated)
    • SoapClient::__construct — SoapClient constructor
    • SoapClient::__doRequest — Performs a SOAP request
    • SoapClient::__getCookies — Get list of cookies
    • SoapClient::__getFunctions — Returns list of available SOAP functions
    • SoapClient::__getLastRequest — Returns last SOAP request
    • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
    • SoapClient::__getLastResponse — Returns last SOAP response
    • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
    • SoapClient::__getTypes — Returns a list of SOAP types
    • SoapClient::__setCookie — Defines a cookie for SOAP requests
    • SoapClient::__setLocation — Sets the location of the Web service to use
    • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
    • SoapClient::__soapCall — Calls a SOAP function
  • SoapServer — The SoapServer class
    • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
    • SoapServer::addSoapHeader — Add a SOAP header to the response
    • SoapServer::__construct — SoapServer constructor
    • SoapServer::fault — Issue SoapServer fault indicating an error
    • SoapServer::getFunctions — Returns list of defined functions
    • SoapServer::handle — Handles a SOAP request
    • SoapServer::setClass — Sets the class which handles SOAP requests
    • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
    • SoapServer::setPersistence — Sets SoapServer persistence mode
  • SoapFault — The SoapFault class
    • SoapFault::__construct — SoapFault constructor
    • SoapFault::__toString — Obtain a string representation of a SoapFault
  • SoapHeader — The SoapHeader class
    • SoapHeader::__construct — SoapHeader constructor
  • SoapParam — The SoapParam class
    • SoapParam::__construct — SoapParam constructor
  • SoapVar — The SoapVar class
    • SoapVar::__construct — SoapVar constructor


Giriş

The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications.


Gereksinimler

Bu eklenti PHP'nin libxml eklentsini gerektirir. Libxml öntanımlı olarak etkin olduğundan bu örtük olarak sağlansa da derleme sırasında ayrıca bir --with-libxml veya PHP 7.4 öncesinde --enable-libxml gerekir.


  • « Gereksinimler
  • Çalışma Anı Yapılandırması »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Kurulum

Kurulum

To enable SOAP support, configure PHP with --enable-soap.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

SOAP Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

soap.wsdl_cache_enabled int

Enables or disables the WSDL caching feature.

soap.wsdl_cache_dir string

Sets the directory name where the SOAP extension will put cache files.

soap.wsdl_cache_ttl int

Sets the number of seconds (time to live) that cached files will be used instead of the originals.

soap.wsdl_cache int

If soap.wsdl_cache_enabled is on, this setting determines the type of caching. It can be any of: WSDL_CACHE_NONE (0), WSDL_CACHE_DISK (1), WSDL_CACHE_MEMORY (2) or WSDL_CACHE_BOTH (3). This can also be set via the options array in the SoapClient or SoapServer constructor.

soap.wsdl_cache_limit int

Maximum number of in-memory cached WSDL files. Adding further files into a full memory cache will delete the oldest files from it.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

SOAP constants
Constant | Value | Description
SOAP_1_1 (int) | 1 | Specifies use of SOAP 1.1 when passed as soap_version option to SoapServer::__construct() or SoapClient::__construct().
SOAP_1_2 (int) | 2 | Specifies use of SOAP 1.2 when passed as soap_version option to SoapServer::__construct() or SoapClient::__construct().
SOAP_PERSISTENCE_SESSION (int) | 1 |
SOAP_PERSISTENCE_REQUEST (int) | 2 |
SOAP_FUNCTIONS_ALL (int) | 999 |
SOAP_ENCODED (int) | 1 | Specifies use of SOAP Encoding when passed as use option to SoapClient::__construct().
SOAP_LITERAL (int) | 2 | Specifies use of service-specific encoding when passed as use option to SoapClient::__construct().
SOAP_RPC (int) | 1 | Specifies use of RPC-style binding when passed as style option to SoapClient::__construct().
SOAP_DOCUMENT (int) | 2 | Specifies use of document binding when passed as style option to SoapClient::__construct().
SOAP_ACTOR_NEXT (int) | 1 |
SOAP_ACTOR_NONE (int) | 2 |
SOAP_ACTOR_UNLIMATERECEIVER (int) | 3 |
SOAP_COMPRESSION_ACCEPT (int) | 32 | Specifies use of an "Accept-Encoding" header when passed as part of the compression option to SoapClient::__construct().
SOAP_COMPRESSION_GZIP (int) | 0 | Specifies use of gzip compression when passed as part of the compression option to SoapClient::__construct().
SOAP_COMPRESSION_DEFLATE (int) | 16 | Specifies use of deflate compression when passed as part of the compression option to SoapClient::__construct().
SOAP_AUTHENTICATION_BASIC (int) | 0 | Specifies use of HTTP Basic Authentication when passed as authentication option to SoapClient::__construct().
SOAP_AUTHENTICATION_DIGEST (int) | 1 | Specifies use of HTTP Digest Authentication when passed as authentication option to SoapClient::__construct().
SOAP_SSL_METHOD_TLS (int) | 0 | Used with the deprecated ssl_method option to SoapClient::__construct().
SOAP_SSL_METHOD_SSLv2 (int) | 1 | Used with the deprecated ssl_method option to SoapClient::__construct().
SOAP_SSL_METHOD_SSLv3 (int) | 2 | Used with the deprecated ssl_method option to SoapClient::__construct().
SOAP_SSL_METHOD_SSLv23 (int) | 3 | Used with the deprecated ssl_method option to SoapClient::__construct().
UNKNOWN_TYPE (int) | 999998 |
XSD_STRING (int) | 101 |
XSD_BOOLEAN (int) | 102 |
XSD_DECIMAL (int) | 103 |
XSD_FLOAT (int) | 104 |
XSD_DOUBLE (int) | 105 |
XSD_DURATION (int) | 106 |
XSD_DATETIME (int) | 107 |
XSD_TIME (int) | 108 |
XSD_DATE (int) | 109 |
XSD_GYEARMONTH (int) | 110 |
XSD_GYEAR (int) | 111 |
XSD_GMONTHDAY (int) | 112 |
XSD_GDAY (int) | 113 |
XSD_GMONTH (int) | 114 |
XSD_HEXBINARY (int) | 115 |
XSD_BASE64BINARY (int) | 116 |
XSD_ANYURI (int) | 117 |
XSD_QNAME (int) | 118 |
XSD_NOTATION (int) | 119 |
XSD_NORMALIZEDSTRING (int) | 120 |
XSD_TOKEN (int) | 121 |
XSD_LANGUAGE (int) | 122 |
XSD_NMTOKEN (int) | 123 |
XSD_NAME (int) | 124 |
XSD_NCNAME (int) | 125 |
XSD_ID (int) | 126 |
XSD_IDREF (int) | 127 |
XSD_IDREFS (int) | 128 |
XSD_ENTITY (int) | 129 |
XSD_ENTITIES (int) | 130 |
XSD_INTEGER (int) | 131 |
XSD_NONPOSITIVEINTEGER (int) | 132 |
XSD_NEGATIVEINTEGER (int) | 133 |
XSD_LONG (int) | 134 |
XSD_INT (int) | 135 |
XSD_SHORT (int) | 136 |
XSD_BYTE (int) | 137 |
XSD_NONNEGATIVEINTEGER (int) | 138 |
XSD_UNSIGNEDLONG (int) | 139 |
XSD_UNSIGNEDINT (int) | 140 |
XSD_UNSIGNEDSHORT (int) | 141 |
XSD_UNSIGNEDBYTE (int) | 142 |
XSD_POSITIVEINTEGER (int) | 143 |
XSD_NMTOKENS (int) | 144 |
XSD_ANYTYPE (int) | 145 |
XSD_ANYXML (int) | 147 |
APACHE_MAP (int) | 200 |
SOAP_ENC_OBJECT (int) | 301 |
SOAP_ENC_ARRAY (int) | 300 |
XSD_1999_TIMEINSTANT (int) | 401 |
XSD_NAMESPACE (string) | http://www.w3.org/2001/XMLSchema |
XSD_1999_NAMESPACE (string) | http://www.w3.org/1999/XMLSchema |
SOAP_SINGLE_ELEMENT_ARRAYS (int) | 1 | Used with the features option to SoapClient::__construct().
SOAP_WAIT_ONE_WAY_CALLS (int) | 2 | Used with the features option to SoapClient::__construct().
SOAP_USE_XSI_ARRAY_TYPE (int) | 4 | Used with the features option to SoapClient::__construct().
WSDL_CACHE_NONE (int) | 0 | Disables the WSDL cache when used in the soap.wsdl_cache configuration option or the wsdl_cache option to SoapClient::__construct() and SoapServer::__construct().
WSDL_CACHE_DISK (int) | 1 | Specifies use of the on-disk WSDL cache only when used in the soap.wsdl_cache configuration option or the wsdl_cache option to SoapClient::__construct() and SoapServer::__construct().
WSDL_CACHE_MEMORY (int) | 2 | Specifies use of the in-memory WSDL cache only when used in the soap.wsdl_cache configuration option or the wsdl_cache option to SoapClient::__construct() and SoapServer::__construct().
WSDL_CACHE_BOTH (int) | 3 | Specifies use of both on-disk and in-memory WSDL caches when used in the soap.wsdl_cache configuration option or the wsdl_cache option to SoapClient::__construct() and SoapServer::__construct().


SOAP İşlevleri

İçindekiler

  • is_soap_fault — Checks if a SOAP call has failed
  • use_soap_error_handler — Set whether to use the SOAP error handler


Checks if a SOAP call has failed

  • « SOAP İşlevleri
  • use_soap_error_handler »
  • PHP Manual
  • SOAP İşlevleri
  • Checks if a SOAP call has failed

is_soap_fault

(PHP 5, PHP 7, PHP 8)

is_soap_fault — Checks if a SOAP call has failed

Açıklama

is_soap_fault(mixed $object): bool

This function is useful to check if the SOAP call failed, but without using exceptions. To use it, create a SoapClient object with the exceptions option set to zero or false. In this case, the SOAP method will return a special SoapFault object which encapsulates the fault details (faultcode, faultstring, faultactor and faultdetails).

If exceptions is not set then SOAP call will throw an exception on error. is_soap_fault() checks if the given parameter is a SoapFault object.

Bağımsız Değişkenler

object

The object to test.

Dönen Değerler

This will return true on error, and false otherwise.

Örnekler

Örnek 1 is_soap_fault() example

<?php
$client = new SoapClient("some.wsdl", array('exceptions' => 0));
$result = $client->SomeFunction();
if (is_soap_fault($result)) {
trigger_error("SOAP Fault: (faultcode: {$result->faultcode}, faultstring: {$result->faultstring})", E_USER_ERROR);
}
?>

Örnek 2 SOAP's standard method for error reporting is exceptions

<?php
try {
$client = new SoapClient("some.wsdl");
$result = $client->SomeFunction(/* ... */);
} catch (SoapFault $fault) {
trigger_error("SOAP Fault: (faultcode: {$fault->faultcode}, faultstring: {$fault->faultstring})", E_USER_ERROR);
}
?>

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor
  • SoapFault::__construct() - SoapFault constructor


Set whether to use the SOAP error handler

  • « is_soap_fault
  • SoapClient »
  • PHP Manual
  • SOAP İşlevleri
  • Set whether to use the SOAP error handler

use_soap_error_handler

(PHP 5, PHP 7, PHP 8)

use_soap_error_handler — Set whether to use the SOAP error handler

Açıklama

use_soap_error_handler(bool $enable = true): bool

This function sets whether or not to use the SOAP error handler in the SOAP server. It will return the previous value. If set to true, details of errors in a SoapServer application will be sent to the client as a SOAP fault message. If false, the standard PHP error handler is used. The default is to send error to the client as SOAP fault message.

Bağımsız Değişkenler

enable

Set to true to send error details to clients.

Dönen Değerler

Returns the original value.

Ayrıca Bakınız

  • set_error_handler() - Kullanıcı tanımlı bir hata işleyici bildirir
  • set_exception_handler() - Kullanıcı tanımlı bir istisna işleyici bildirir


The SoapClient class

(PHP 5, PHP 7, PHP 8)

Giriş

The SoapClient class provides a client for » SOAP 1.1, » SOAP 1.2 servers. It can be used in WSDL or non-WSDL mode.

Sınıf Sözdizimi

class SoapClient {
/* Özellikler */
private ?string $uri = null;
private ?int $style = null;
private ?int $use = null;
private ?string $location = null;
private bool $trace = false;
private ?int $compression = null;
private ?resource $sdl = null;
private ?resource $typemap = null;
private ?resource $httpsocket = null;
private ?resource $httpurl = null;
private ?string $_login = null;
private ?string $_password = null;
private bool $_use_digest = false;
private ?string $_digest = null;
private ?string $_proxy_host = null;
private ?int $_proxy_port = null;
private ?string $_proxy_login = null;
private ?string $_proxy_password = null;
private bool $_exceptions = true;
private ?string $_encoding = null;
private ?array $_classmap = null;
private ?int $_features = null;
private int $_connection_timeout;
private ?resource $_stream_context = null;
private ?string $_user_agent = null;
private bool $_keep_alive = true;
private ?int $_ssl_method = null;
private int $_soap_version;
private ?int $_use_proxy = null;
private array $_cookies = [];
private ?array $__default_headers = null;
private ?SoapFault $__soap_fault = null;
private ?string $__last_request = null;
private ?string $__last_response = null;
private ?string $__last_request_headers = null;
private ?string $__last_response_headers = null;
/* Yöntemler */
public __construct(?string $wsdl, array $options = [])
public __call(string $name, array $args): mixed
public __doRequest(
string $request,
string $location,
string $action,
int $version,
bool $oneWay = false
): ?string
public __getCookies(): array
public __getFunctions(): ?array
public __getLastRequest(): ?string
public __getLastRequestHeaders(): ?string
public __getLastResponse(): ?string
public __getLastResponseHeaders(): ?string
public __getTypes(): ?array
public __setCookie(string $name, ?string $value = null): void
public __setLocation(?string $location = null): ?string
public __setSoapHeaders(SoapHeader|array|null $headers = null): bool
public __soapCall(
string $name,
array $args,
?array $options = null,
SoapHeader|array|null $inputHeaders = null,
array &$outputHeaders = null
): mixed
}

Özellikler

__default_headers

__last_request

__last_request_headers

__last_response

__last_response_headers

__soap_fault

_classmap

_connection_timeout

_cookies

_digest

_encoding

_exceptions

_features

_keep_alive

_login

_password

_proxy_host

_proxy_login

_proxy_password

_proxy_port

_soap_version

_ssl_method

_stream_context

_use_digest

_use_proxy

_user_agent

compression

httpsocket

httpurl

location

sdl

style

trace

typemap

uri

use

İçindekiler

  • SoapClient::__call — Calls a SOAP function (deprecated)
  • SoapClient::__construct — SoapClient constructor
  • SoapClient::__doRequest — Performs a SOAP request
  • SoapClient::__getCookies — Get list of cookies
  • SoapClient::__getFunctions — Returns list of available SOAP functions
  • SoapClient::__getLastRequest — Returns last SOAP request
  • SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse — Returns last SOAP response
  • SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response
  • SoapClient::__getTypes — Returns a list of SOAP types
  • SoapClient::__setCookie — Defines a cookie for SOAP requests
  • SoapClient::__setLocation — Sets the location of the Web service to use
  • SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls
  • SoapClient::__soapCall — Calls a SOAP function


Calls a SOAP function (deprecated)

  • « SoapClient
  • SoapClient::__construct »
  • PHP Manual
  • SoapClient
  • Calls a SOAP function (deprecated)

SoapClient::__call

(PHP 5, PHP 7, PHP 8)

SoapClient::__call — Calls a SOAP function (deprecated)

Açıklama

public SoapClient::__call(string $name, array $args): mixed

Calling this method directly is deprecated. Usually, SOAP functions can be called as methods of the SoapClient object; in situations where this is not possible or additional options are needed, use SoapClient::__soapCall().

Bağımsız Değişkenler

name

The name of the SOAP function to call.

args

An array of the arguments to pass to the function. This can be either an ordered or an associative array. Note that most SOAP servers require parameter names to be provided, in which case this must be an associative array.

Dönen Değerler

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value will be a scalar. If multiple values are returned, an associative array of named output parameters is returned instead.

On error, if the SoapClient object was constructed with the exceptions option set to false, a SoapFault object will be returned.


SoapClient constructor

  • « SoapClient::__call
  • SoapClient::__doRequest »
  • PHP Manual
  • SoapClient
  • SoapClient constructor

SoapClient::__construct

(PHP 5, PHP 7, PHP 8)

SoapClient::__construct — SoapClient constructor

Açıklama

public SoapClient::__construct(?string $wsdl, array $options = [])

Creates a SoapClient object to connect to a SOAP service.

Bağımsız Değişkenler

wsdl

URI of a WSDL file describing the service, which is used to automatically configure the client. If not provided, the client will operate in non-WSDL mode.

Bilginize:

By default, the WSDL file will be cached for performance. To disable or configure this caching, see SOAP Yapılandırma Seçenekleri and the cache_wsdl option.

options

An associative array specifying additional options for the SOAP client. If wsdl is provided, this is optional; otherwise, at least location and url must be provided.

location string

The URL of the SOAP server to send the request to.

Required if the wsdl parameter is not provided. If both a wsdl parameter and location option are provided, the location option will over-ride any location specified in the WSDL file.

uri string

The target namespace of the SOAP service.

Required if the wsdl parameter is not provided; ignored otherwise.

style int

Specifies the binding style to use for this client, using the constants SOAP_RPC and SOAP_DOCUMENT. SOAP_RPC indicates RPC-style binding, where the SOAP request body contains a standard encoding of a function call. SOAP_DOCUMENT indicates document-style binding, where the SOAP request body contains an XML document with service-defined meaning.

If the wsdl parameter is provided, this option is ignored, and the style is read from the WSDL file.

If neither this option nor the wsdl parameter is provided, RPC-style is used.

use int

Specifies the encoding style to use for this client, using the constants SOAP_ENCODED or SOAP_LITERAL. SOAP_ENCODED indicates encoding using the types defined in the SOAP specification. SOAP_LITERAL indicates encoding using a schema defined by the service.

If the wsdl parameter is provided, this option is ignored, and the encoding is read from the WSDL file.

If neither this option nor the wsdl parameter is provided, the "encoded" style is used.

soap_version int

Specifies the version of the SOAP protocol to use: SOAP_1_1 for SOAP 1.1, or SOAP_1_2 for SOAP 1.2.

If omitted, SOAP 1.1 is used.

authentication int

Specifies the authentication method when using HTTP authentication in requests. The value may be either SOAP_AUTHENTICATION_BASIC or SOAP_AUTHENTICATION_DIGEST.

If omitted, and the login option is provided, Basic Authentication is used.

login string

Username to use with HTTP Basic or Digest Authentication.

password string

Password to use with HTTP Basic or Digest Authentication.

Not to be confused with passphrase, which is used with HTTPS Client Certificate authentication.

local_cert string

Path to a client certificate for use with HTTPS authentication. It must be a PEM encoded file which contains your certificate and private key.

The file can also include a chain of issuers, which must come after the client certificate.

Can also be set via stream_context, which also supports specifying a separate private key file.

passphrase string

Passphrase for the client certificate specified in the local_cert option.

Not to be confused with password, which is used for Basic or Digest Authentication.

Can also be set via stream_context.

proxy_host string

Hostname to use as a proxy server for HTTP requests.

The proxy_port option must also be specified.

proxy_port int

TCP port to use when connecting to the proxy server specified in proxy_host.

proxy_login string

Optional username to authenticate with the proxy server specified in proxy_host, using HTTP Basic Authentication.

proxy_password string

Optional password to authenticate with the proxy server specified in proxy_host, using HTTP Basic Authentication.

compression int

Enables compression of HTTP SOAP requests and responses.

The value should be the bitwise OR of three parts: an optional SOAP_COMPRESSION_ACCEPT, to send an "Accept-Encoding" header; either SOAP_COMPRESSION_GZIP or SOAP_COMPRESSION_DEFLATE to indicate the compression algorithm to use; and a number between 1 and 9 to indicate the level of compression to use in the request. For example, to enable two-way gzip compression with the maximum compression level, use SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9.

encoding string

Defines the internal character encoding. Requests are always sent in UTF-8, and converted to and from this encoding.

trace bool

Captures request and response information, which can then be
accessed with the methods
SoapClient::__getLastRequest(),
SoapClient::__getLastRequestHeaders(),
SoapClient::__getLastResponse(),
and SoapClient::__getLastResponseHeaders().

If omitted, defaults to false

classmap array

Used to map types defined in the WSDL to PHP classes. It should be specified as an associative array with type names from the WSDL as keys and names of PHP classes as values. Note that the type names of an element is not necessarily the same as the element (tag) name.

The provided class names should always be fully qualified with any namespaces, and never start with a leading \. The correct form can be generated by using ::class.

Note that when creating a class, the constructor will not be called, but magic __set() and __get() methods for individual properties will be.

typemap array

Used to define type mappings using user-defined callback functions. Each type mapping should be an array with keys type_name (string specifying the XML element type); type_ns (string containing namespace URI); from_xml (callable accepting one string parameter and returning an object) and to_xml (callable accepting one object parameter and returning a string).

exceptions bool

Defines whether errors throw exceptions of type SoapFault.

Defaults to true

connection_timeout int

Defines a timeout in seconds for the connection to the SOAP service. This option does not define a timeout for services with slow responses. To limit the time to wait for calls to finish the default_socket_timeout configuration option is available.

cache_wsdl int

If the wsdl parameter is provided, and the soap.wsdl_cache_enabled configuration option is on, this option determines the type of caching. One of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

Two types of cache are available: in-memory caching, which caches the WSDL in the memory of the current process; and disk caching, which caches the WSDL in a file on disk, shared between all processes. The directory to use for the disk cache is determined by the soap.wsdl_cache_dir configuration option. Both caches use the same lifetime, determined by the soap.wsdl_cache_ttl configuration option. The in-memory cache also has a maximum number of entries determined by the soap.wsdl_cache_limit configuration option.

If not specified, the soap.wsdl_cache configuration option will be used.

user_agent string

The value to use in the User-Agent HTTP header when making requests.

Can also be set via stream_context.

If not specified, the user agent will be "PHP-SOAP/" followed by the value of PHP_VERSION.

stream_context resource

A stream context created by stream_context_create(), which allows additional options to be set.

The context may include socket context options, SSL context options, plus selected HTTP context options: content_type, header, max_redirects, protocol_version, and user_agent.

Note that the following HTTP headers are generated automatically or from other options, and will be ignored if specified in the 'header' context option: host, connection, user-agent, content-length, content-type, cookie, authorization, and proxy-authorization

features int

A bitmask to enable one or more of the following features:

SOAP_SINGLE_ELEMENT_ARRAYS

When decoding a response to an array, the default behaviour is to detect whether an element name appears once or multiple times in a particular parent element. For elements which appear only once, an object property allows direct access to the content; for elements which appear more than once, the property contains an array with the content of each matching element.

If the SOAP_SINGLE_ELEMENT_ARRAYS feature is enabled, elements which appear only once are placed in a single-element array, so that access is consistent for all elements. This only has an effect when using a WSDL containing a schema for the response. See Examples section for an illustration.

SOAP_USE_XSI_ARRAY_TYPE

When the use option or WSDL property is set to encoded, force arrays to use a type of SOAP-ENC:Array, rather than a schema-specific type.

SOAP_WAIT_ONE_WAY_CALLS

Wait for a response even if the WSDL indicates a one-way request.

keep_alive bool

a boolean value defining whether to send the Connection: Keep-Alive header or Connection: close.

Defaults to true

ssl_method string

Specifies the SSL or TLS protocol version to use with secure HTTP connections, instead of the default negotiation. Specifying SOAP_SSL_METHOD_SSLv2 or SOAP_SSL_METHOD_SSLv3 will force use of SSL 2 or SSL 3, respectively. Specifying SOAP_SSL_METHOD_SSLv23 has no effect; the constant exists only for backwards compatibility. As of PHP 7.2, specifying SOAP_SSL_METHOD_TLS also has no effect; in earlier versions, it forced use of TLS 1.0.

Note that SSL versions 2 and 3 are considered insecure, and may not be supported by the installed OpenSSL library.

This option is DEPRECATED as of PHP 8.1.0. A more flexible alternative, which allows specifying individual versions of TLS, is to use the stream_context option with the 'crypto_method' context parameter.

Örnek 1 Specifying use of TLS 1.3 only

<?php
$context = stream_context_create([
'ssl' => [
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT
]
]);
$client = new SoapClient("some.wsdl", ['context' => $context]);

Hatalar/İstisnalar

SoapClient::__construct() will generate an E_ERROR error if the location and uri options aren't provided in non-WSDL mode.

A SoapFault exception will be thrown if the wsdl URI cannot be loaded.

Örnekler

Örnek 2 SoapClient::__construct() example

<?php

$client = new SoapClient("some.wsdl");

$client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2));

$client = new SoapClient("some.wsdl", array('login' => "some_name",
'password' => "some_password"));

$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080));

$client = new SoapClient("some.wsdl", array('proxy_host' => "localhost",
'proxy_port' => 8080,
'proxy_login' => "some_name",
'proxy_password' => "some_password"));

$client = new SoapClient("some.wsdl", array('local_cert' => "cert_key.pem"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/",
'style' => SOAP_DOCUMENT,
'use' => SOAP_LITERAL));

$client = new SoapClient("some.wsdl",
array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 9));

$client = new SoapClient("some.wsdl", array('encoding'=>'ISO-8859-1'));

class MyBook {
public $title;
public $author;
}

$client = new SoapClient("books.wsdl", array('classmap' => array('book' => "MyBook")));

$typemap = array(
array("type_ns" => "http://schemas.example.com",
"type_name" => "book",
"from_xml" => "unserialize_book",
"to_xml" => "serialize_book")
);
$client = new SoapClient("books.wsdl", array('typemap' => $typemap));

?>

Örnek 3 Using the SOAP_SINGLE_ELEMENT_ARRAYS feature

/* Assuming a response like this, and an appropriate WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="urn:example">
<SOAP-ENV:Body>
<response>
<collection>
<item>Single</item>
</collection>
<collection>
<item>First</item>
<item>Second</item>
</collection>
</response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
*/

echo "Default:\n";

$client = new TestSoapClient(__DIR__ . '/temp.wsdl');
$response = $client->exampleRequest();
var_dump( $response->collection[0]->item );
var_dump( $response->collection[1]->item );

echo "\nWith SOAP_SINGLE_ELEMENT_ARRAYS:\n";

$client = new TestSoapClient(__DIR__ . '/temp.wsdl', ['features' => SOAP_SINGLE_ELEMENT_ARRAYS]);
$response = $client->exampleRequest();
var_dump( $response->collection[0]->item );
var_dump( $response->collection[1]->item );

Yukarıdaki örneğin çıktısı:

Default:
string(6) "Single"
array(2) {
  [0] =>
  string(5) "First"
  [1] =>
  string(6) "Second"
}

With SOAP_SINGLE_ELEMENT_ARRAYS:
array(1) {
  [0] =>
  string(6) "Single"
}
array(2) {
  [0] =>
  string(5) "First"
  [1] =>
  string(6) "Second"
}


Performs a SOAP request

  • « SoapClient::__construct
  • SoapClient::__getCookies »
  • PHP Manual
  • SoapClient
  • Performs a SOAP request

SoapClient::__doRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__doRequest — Performs a SOAP request

Açıklama

public SoapClient::__doRequest(
string $request,
string $location,
string $action,
int $version,
bool $oneWay = false
): ?string

Performs SOAP request over HTTP.

This method can be overridden in subclasses to implement different transport layers, perform additional XML processing or other purpose.

Bağımsız Değişkenler

request

The XML SOAP request.

location

The URL to request.

action

The SOAP action.

version

The SOAP version.

oneWay

If oneWay is set to true, this method returns nothing. Use this where a response is not expected.

Dönen Değerler

The XML SOAP response.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The type of oneWay is bool now; formerly it was int.

Örnekler

Örnek 1 SoapClient::__doRequest() example

<?php
function Add($x,$y) {
return $x+$y;
}

class LocalSoapClient extends SoapClient {

function __construct($wsdl, $options) {
parent::__construct($wsdl, $options);
$this->server = new SoapServer($wsdl, $options);
$this->server->addFunction('Add');
}

function __doRequest($request, $location, $action, $version, $one_way = 0) {
ob_start();
$this->server->handle($request);
$response = ob_get_contents();
ob_end_clean();
return $response;
}

}

$x = new LocalSoapClient(NULL,array('location'=>'test://',
'uri'=>'http://testuri.org'));
var_dump($x->Add(3,4));
?>


Get list of cookies

  • « SoapClient::__doRequest
  • SoapClient::__getFunctions »
  • PHP Manual
  • SoapClient
  • Get list of cookies

SoapClient::__getCookies

(PHP 5 >= 5.4.30, PHP 7, PHP 8)

SoapClient::__getCookies — Get list of cookies

Açıklama

public SoapClient::__getCookies(): array

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Returns list of available SOAP functions

  • « SoapClient::__getCookies
  • SoapClient::__getLastRequest »
  • PHP Manual
  • SoapClient
  • Returns list of available SOAP functions

SoapClient::__getFunctions

(PHP 5, PHP 7, PHP 8)

SoapClient::__getFunctions — Returns list of available SOAP functions

Açıklama

public SoapClient::__getFunctions(): ?array

Returns an array of functions described in the WSDL for the Web service.

Bilginize:

Bu işlev sadece WSDL kipinde çalışır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The array of SOAP function prototypes, detailing the return type, the function name and parameter types.

Örnekler

Örnek 1 SoapClient::__getFunctions() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getFunctions());
?>

Yukarıdaki örneğin çıktısı:

array(26) {
  [0]=>
  string(70) "ProductInfo KeywordSearchRequest(KeywordRequest $KeywordSearchRequest)"
  [1]=>
  string(79) "ProductInfo TextStreamSearchRequest(TextStreamRequest $TextStreamSearchRequest)"
  [2]=>
  string(64) "ProductInfo PowerSearchRequest(PowerRequest $PowerSearchRequest)"
...
  [23]=>
  string(107) "ShoppingCart RemoveShoppingCartItemsRequest(RemoveShoppingCartItemsRequest $RemoveShoppingCartItemsRequest)"
  [24]=>
  string(107) "ShoppingCart ModifyShoppingCartItemsRequest(ModifyShoppingCartItemsRequest $ModifyShoppingCartItemsRequest)"
  [25]=>
  string(118) "GetTransactionDetailsResponse GetTransactionDetailsRequest(GetTransactionDetailsRequest $GetTransactionDetailsRequest)"
}

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor


Returns last SOAP request

  • « SoapClient::__getFunctions
  • SoapClient::__getLastRequestHeaders »
  • PHP Manual
  • SoapClient
  • Returns last SOAP request

SoapClient::__getLastRequest

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastRequest — Returns last SOAP request

Açıklama

public SoapClient::__getLastRequest(): ?string

Returns the XML sent in the last SOAP request.

Bilginize:

This method works only if the SoapClient object was created with the trace option set to true.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last SOAP request, as an XML string.

Örnekler

Örnek 1 SoapClient::__getLastRequest() example

<?php
$client = new SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST:\n" . $client->__getLastRequest() . "\n";
?>

Ayrıca Bakınız

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastResponse() - Returns last SOAP response
  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response


Returns the SOAP headers from the last request

  • « SoapClient::__getLastRequest
  • SoapClient::__getLastResponse »
  • PHP Manual
  • SoapClient
  • Returns the SOAP headers from the last request

SoapClient::__getLastRequestHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastRequestHeaders — Returns the SOAP headers from the last request

Açıklama

public SoapClient::__getLastRequestHeaders(): ?string

Returns the SOAP headers from the last request.

Bilginize:

This function only works if the SoapClient object was created with the trace option set to true.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last SOAP request headers.

Örnekler

Örnek 1 SoapClient::__getLastRequestHeaders() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "REQUEST HEADERS:\n" . $client->__getLastRequestHeaders() . "\n";
?>

Ayrıca Bakınız

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response


Returns last SOAP response

  • « SoapClient::__getLastRequestHeaders
  • SoapClient::__getLastResponseHeaders »
  • PHP Manual
  • SoapClient
  • Returns last SOAP response

SoapClient::__getLastResponse

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponse — Returns last SOAP response

Açıklama

public SoapClient::__getLastResponse(): ?string

Returns the XML received in the last SOAP response.

Bilginize:

This method works only if the SoapClient object was created with the trace option set to true.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last SOAP response, as an XML string.

Örnekler

Örnek 1 SoapClient::__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "Response:\n" . $client->__getLastResponse() . "\n";
?>

Ayrıca Bakınız

  • SoapClient::__getLastResponseHeaders() - Returns the SOAP headers from the last response
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request


Returns the SOAP headers from the last response

  • « SoapClient::__getLastResponse
  • SoapClient::__getTypes »
  • PHP Manual
  • SoapClient
  • Returns the SOAP headers from the last response

SoapClient::__getLastResponseHeaders

(PHP 5, PHP 7, PHP 8)

SoapClient::__getLastResponseHeaders — Returns the SOAP headers from the last response

Açıklama

public SoapClient::__getLastResponseHeaders(): ?string

Returns the SOAP headers from the last response.

Bilginize:

This function only works if the SoapClient object was created with the trace option set to true.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The last SOAP response headers.

Örnekler

Örnek 1 SoapClient::__getLastResponse() example

<?php
$client = SoapClient("some.wsdl", array('trace' => 1));
$result = $client->SomeFunction();
echo "RESPONSE HEADERS:\n" . $client->__getLastResponseHeaders() . "\n";
?>

Ayrıca Bakınız

  • SoapClient::__getLastRequestHeaders() - Returns the SOAP headers from the last request
  • SoapClient::__getLastRequest() - Returns last SOAP request
  • SoapClient::__getLastResponse() - Returns last SOAP response


Returns a list of SOAP types

  • « SoapClient::__getLastResponseHeaders
  • SoapClient::__setCookie »
  • PHP Manual
  • SoapClient
  • Returns a list of SOAP types

SoapClient::__getTypes

(PHP 5, PHP 7, PHP 8)

SoapClient::__getTypes — Returns a list of SOAP types

Açıklama

public SoapClient::__getTypes(): ?array

Returns an array of types described in the WSDL for the Web service.

Bilginize:

Bu işlev sadece WSDL kipinde çalışır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The array of SOAP types, detailing all structures and types.

Örnekler

Örnek 1 SoapClient::__getTypes() example

<?php
$client = new SoapClient('http://soap.amazon.com/schemas3/AmazonWebServices.wsdl');
var_dump($client->__getTypes());
?>

Yukarıdaki örneğin çıktısı:

array(88) {
  [0]=>
  string(30) "ProductLine ProductLineArray[]"
  [1]=>
  string(85) "struct ProductLine {
 string Mode;
 string RelevanceRank;
 ProductInfo ProductInfo;
}"
  [2]=>
  string(105) "struct ProductInfo {
 string TotalResults;
 string TotalPages;
 string ListName;
 DetailsArray Details;
}"
...
  [85]=>
  string(32) "ShortSummary ShortSummaryArray[]"
  [86]=>
  string(121) "struct GetTransactionDetailsRequest {
 string tag;
 string devtag;
 string key;
 OrderIdArray OrderIds;
 string locale;
}"
  [87]=>
  string(75) "struct GetTransactionDetailsResponse {
 ShortSummaryArray ShortSummaries;
}"
}

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor


Defines a cookie for SOAP requests

  • « SoapClient::__getTypes
  • SoapClient::__setLocation »
  • PHP Manual
  • SoapClient
  • Defines a cookie for SOAP requests

SoapClient::__setCookie

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

SoapClient::__setCookie — Defines a cookie for SOAP requests

Açıklama

public SoapClient::__setCookie(string $name, ?string $value = null): void

Defines a cookie to be sent along with the SOAP requests.

Bilginize:

Calling this method will affect all following calls to SoapClient methods.

Bağımsız Değişkenler

name

The name of the cookie.

value

The value of the cookie. If not specified, the cookie will be deleted.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | value is now nullable.


Sets the location of the Web service to use

  • « SoapClient::__setCookie
  • SoapClient::__setSoapHeaders »
  • PHP Manual
  • SoapClient
  • Sets the location of the Web service to use

SoapClient::__setLocation

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

SoapClient::__setLocation — Sets the location of the Web service to use

Açıklama

public SoapClient::__setLocation(?string $location = null): ?string

Sets the endpoint URL that will be touched by following SOAP requests. This is equivalent to specifying the location option when constructing the SoapClient.

Bilginize:

Calling this method is optional. The SoapClient uses the endpoint from the WSDL file by default.

Bağımsız Değişkenler

location

The new endpoint URL.

Dönen Değerler

The old endpoint URL.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | location is nullable now.

Örnekler

Örnek 1 SoapClient::__setLocation() example

<?php
$client = new SoapClient('http://example.com/webservice.php?wsdl');

$client->__setLocation('http://www.somethirdparty.com');

$old_location = $client->__setLocation(); // unsets the location option

echo $old_location;

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

http://www.somethirdparty.com

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor


Sets SOAP headers for subsequent calls

  • « SoapClient::__setLocation
  • SoapClient::__soapCall »
  • PHP Manual
  • SoapClient
  • Sets SOAP headers for subsequent calls

SoapClient::__setSoapHeaders

(PHP 5 >= 5.0.5, PHP 7, PHP 8)

SoapClient::__setSoapHeaders — Sets SOAP headers for subsequent calls

Açıklama

public SoapClient::__setSoapHeaders(SoapHeader|array|null $headers = null): bool

Defines headers to be sent along with the SOAP requests.

Bilginize:

Calling this method will replace any previous values.

Bağımsız Değişkenler

headers

The headers to be set. It could be SoapHeader object or array of SoapHeader objects. If not specified or set to null, the headers will be deleted.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 SoapClient::__setSoapHeaders() example

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$header = new SoapHeader('http://soapinterop.org/echoheader/',
'echoMeStringRequest',
'hello world');

$client->__setSoapHeaders($header);

$client->__soapCall("echoVoid", null);
?>

Örnek 2 Set Multiple Headers

<?php

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$headers = array();

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
'echoMeStringRequest',
'hello world');

$headers[] = new SoapHeader('http://soapinterop.org/echoheader/',
'echoMeStringRequest',
'hello world again');

$client->__setSoapHeaders($headers);

$client->__soapCall("echoVoid", null);
?>


Calls a SOAP function

  • « SoapClient::__setSoapHeaders
  • SoapServer »
  • PHP Manual
  • SoapClient
  • Calls a SOAP function

SoapClient::__soapCall

(PHP 5, PHP 7, PHP 8)

SoapClient::__soapCall — Calls a SOAP function

Açıklama

public SoapClient::__soapCall(
string $name,
array $args,
?array $options = null,
SoapHeader|array|null $inputHeaders = null,
array &$outputHeaders = null
): mixed

This is a low level API function that is used to make a SOAP call. Usually, in WSDL mode, SOAP functions can be called as methods of the SoapClient object. This method is useful in non-WSDL mode when soapaction is unknown, uri differs from the default or when sending and/or receiving SOAP Headers.

On error, a call to a SOAP function can cause PHP to throw exceptions or return a SoapFault object if exceptions are disabled. To check if the function call failed to catch the SoapFault exceptions, check the result with is_soap_fault().

Bağımsız Değişkenler

name

The name of the SOAP function to call.

args

An array of the arguments to pass to the function. This can be either an ordered or an associative array. Note that most SOAP servers require parameter names to be provided, in which case this must be an associative array.

options

An associative array of options to pass to the client.

The location option is the URL of the remote Web service.

The uri option is the target namespace of the SOAP service.

The soapaction option is the action to call.

inputHeaders

An array of headers to be sent along with the SOAP request.

outputHeaders

If supplied, this array will be filled with the headers from the SOAP response.

Dönen Değerler

SOAP functions may return one, or multiple values. If only one value is returned by the SOAP function, the return value will be a scalar. If multiple values are returned, an associative array of named output parameters is returned instead.

On error, if the SoapClient object was constructed with the exceptions option set to false, a SoapFault object will be returned.

Örnekler

Örnek 1 SoapClient::__soapCall() example

<?php

$client = new SoapClient("some.wsdl");
$client->SomeFunction($a, $b, $c);

$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c), NULL,
new SoapHeader(), $output_headers);

$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->SomeFunction($a, $b, $c);
$client->__soapCall("SomeFunction", array($a, $b, $c));
$client->__soapCall("SomeFunction", array($a, $b, $c),
array('soapaction' => 'some_action',
'uri' => 'some_uri'));
?>

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor
  • SoapParam::__construct() - SoapParam constructor
  • SoapVar::__construct() - SoapVar constructor
  • SoapHeader::__construct() - SoapHeader constructor
  • SoapFault::__construct() - SoapFault constructor
  • is_soap_fault() - Checks if a SOAP call has failed


The SoapServer class

(PHP 5, PHP 7, PHP 8)

Giriş

The SoapServer class provides a server for the » SOAP 1.1 and » SOAP 1.2 protocols. It can be used with or without a WSDL service description.

Sınıf Sözdizimi

class SoapServer {
/* Özellikler */
private ?SoapFault $__soap_fault = null;
/* Yöntemler */
public __construct(?string $wsdl, array $options = [])
public addFunction(array|string|int $functions): void
public addSoapHeader(SoapHeader $header): void
public fault(
string $code,
string $string,
string $actor = "",
mixed $details = null,
string $name = ""
): void
public getFunctions(): array
public handle(?string $request = null): void
public setClass(string $class, mixed ...$args): void
public setObject(object $object): void
public setPersistence(int $mode): void
}

Özellikler

service

__soap_fault

İçindekiler

  • SoapServer::addFunction — Adds one or more functions to handle SOAP requests
  • SoapServer::addSoapHeader — Add a SOAP header to the response
  • SoapServer::__construct — SoapServer constructor
  • SoapServer::fault — Issue SoapServer fault indicating an error
  • SoapServer::getFunctions — Returns list of defined functions
  • SoapServer::handle — Handles a SOAP request
  • SoapServer::setClass — Sets the class which handles SOAP requests
  • SoapServer::setObject — Sets the object which will be used to handle SOAP requests
  • SoapServer::setPersistence — Sets SoapServer persistence mode


Adds one or more functions to handle SOAP requests

  • « SoapServer
  • SoapServer::addSoapHeader »
  • PHP Manual
  • SoapServer
  • Adds one or more functions to handle SOAP requests

SoapServer::addFunction

(PHP 5, PHP 7, PHP 8)

SoapServer::addFunction — Adds one or more functions to handle SOAP requests

Açıklama

public SoapServer::addFunction(array|string|int $functions): void

Exports one or more functions for remote clients

Bağımsız Değişkenler

functions

To export one function, pass the function name into this parameter as a string.

To export several functions, pass an array of function names.

To export all the functions, pass a special constant SOAP_FUNCTIONS_ALL.

Bilginize:

functions must receive all input arguments in the same order as defined in the WSDL file (They should not receive any output parameters as arguments) and return one or more values. To return several values they must return an array with named output parameters.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SoapServer::addFunction() example

<?php

function echoString($inputString)
{
return $inputString;
}

$server->addFunction("echoString");

function echoTwoStrings($inputString1, $inputString2)
{
return array("outputString1" => $inputString1,
"outputString2" => $inputString2);
}
$server->addFunction(array("echoString", "echoTwoStrings"));

$server->addFunction(SOAP_FUNCTIONS_ALL);

?>

Ayrıca Bakınız

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::setClass() - Sets the class which handles SOAP requests


Add a SOAP header to the response

  • « SoapServer::addFunction
  • SoapServer::__construct »
  • PHP Manual
  • SoapServer
  • Add a SOAP header to the response

SoapServer::addSoapHeader

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SoapServer::addSoapHeader — Add a SOAP header to the response

Açıklama

public SoapServer::addSoapHeader(SoapHeader $header): void

Adds a SOAP header to be returned with the response to the current request.

Bağımsız Değişkenler

header

The header to be returned.

Dönen Değerler

Hiçbir değer dönmez.


SoapServer constructor

  • « SoapServer::addSoapHeader
  • SoapServer::fault »
  • PHP Manual
  • SoapServer
  • SoapServer constructor

SoapServer::__construct

(PHP 5, PHP 7, PHP 8)

SoapServer::__construct — SoapServer constructor

Açıklama

public SoapServer::__construct(?string $wsdl, array $options = [])

This constructor allows the creation of SoapServer objects in WSDL or non-WSDL mode.

Bağımsız Değişkenler

wsdl

To use the SoapServer in WSDL mode, pass the URI of a WSDL file. Otherwise, pass null and set the uri option to the target namespace for the server.

options

Allow setting a default SOAP version (soap_version), internal character encoding (encoding), and actor URI (actor).

The classmap option can be used to map some WSDL types to PHP classes. This option must be an array with WSDL types as keys and names of PHP classes as values.

The typemap option is an array of type mappings. Type mapping is an array with keys type_name, type_ns (namespace URI), from_xml (callback accepting one string parameter) and to_xml (callback accepting one object parameter).

The cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH.

There is also a features option which can be set to SOAP_WAIT_ONE_WAY_CALLS, SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE.

The send_errors option can be set to false to sent a generic error message ("Internal error") instead of the specific error message sent otherwise.

Örnekler

Örnek 1 SoapServer::__construct() example

<?php

$server = new SoapServer("some.wsdl");

$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));

$server = new SoapServer("some.wsdl", array('actor' => "http://example.org/ts-tests/C"));

$server = new SoapServer("some.wsdl", array('encoding'=>'ISO-8859-1'));

$server = new SoapServer(null, array('uri' => "http://test-uri/"));

class MyBook {
public $title;
public $author;
}

$server = new SoapServer("books.wsdl", array('classmap' => array('book' => "MyBook")));

?>

Ayrıca Bakınız

  • SoapClient::__construct() - SoapClient constructor


Issue SoapServer fault indicating an error

  • « SoapServer::__construct
  • SoapServer::getFunctions »
  • PHP Manual
  • SoapServer
  • Issue SoapServer fault indicating an error

SoapServer::fault

(PHP 5, PHP 7, PHP 8)

SoapServer::fault — Issue SoapServer fault indicating an error

Açıklama

public SoapServer::fault(
string $code,
string $string,
string $actor = "",
mixed $details = null,
string $name = ""
): void

Sends a response to the client of the current request indicating an error.

Bilginize:

This can only be called when handling a request.

Bağımsız Değişkenler

code

The error code to return

string

A brief description of the error

actor

A string identifying the actor that caused the fault.

details

More details of the fault

name

The name of the fault. This can be used to select a name from a WSDL file.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • SoapFault::__construct() - SoapFault constructor


Returns list of defined functions

  • « SoapServer::fault
  • SoapServer::handle »
  • PHP Manual
  • SoapServer
  • Returns list of defined functions

SoapServer::getFunctions

(PHP 5, PHP 7, PHP 8)

SoapServer::getFunctions — Returns list of defined functions

Açıklama

public SoapServer::getFunctions(): array

Returns a list of the defined functions in the SoapServer object. This method returns the list of all functions added by SoapServer::addFunction() or SoapServer::setClass().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

An array of the defined functions.

Örnekler

Örnek 1 SoapServer::getFunctions() example

<?php
$server = new SoapServer(NULL, array("uri" => "http://test-uri"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$server->handle();
} else {
echo "This SOAP server can handle following functions: ";
$functions = $server->getFunctions();
foreach($functions as $func) {
echo $func . "\n";
}
}
?>

Ayrıca Bakınız

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setClass() - Sets the class which handles SOAP requests


Handles a SOAP request

  • « SoapServer::getFunctions
  • SoapServer::setClass »
  • PHP Manual
  • SoapServer
  • Handles a SOAP request

SoapServer::handle

(PHP 5, PHP 7, PHP 8)

SoapServer::handle — Handles a SOAP request

Açıklama

public SoapServer::handle(?string $request = null): void

Processes a SOAP request, calls necessary functions, and sends a response back.

Bağımsız Değişkenler

request

The SOAP request. If this argument is omitted, the request is assumed to be in the raw POST data of the HTTP request.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | request is now nullable.

Örnekler

Örnek 1 SoapServer::handle() example

<?php
function test($x)
{
return $x;
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ayrıca Bakınız

  • SoapServer::__construct() - SoapServer constructor


Sets the class which handles SOAP requests

  • « SoapServer::handle
  • SoapServer::setObject »
  • PHP Manual
  • SoapServer
  • Sets the class which handles SOAP requests

SoapServer::setClass

(PHP 5, PHP 7, PHP 8)

SoapServer::setClass — Sets the class which handles SOAP requests

Açıklama

public SoapServer::setClass(string $class, mixed ...$args): void

Exports all methods from specified class.

The object can be made persistent across request for a given PHP session with the SoapServer::setPersistence() method.

Bağımsız Değişkenler

class

The name of the exported class.

args

These optional parameters will be passed to the default class constructor during object creation.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • SoapServer::__construct() - SoapServer constructor
  • SoapServer::addFunction() - Adds one or more functions to handle SOAP requests
  • SoapServer::setPersistence() - Sets SoapServer persistence mode


Sets the object which will be used to handle SOAP requests

  • « SoapServer::setClass
  • SoapServer::setPersistence »
  • PHP Manual
  • SoapServer
  • Sets the object which will be used to handle SOAP requests

SoapServer::setObject

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SoapServer::setObject — Sets the object which will be used to handle SOAP requests

Açıklama

public SoapServer::setObject(object $object): void

This sets a specific object as the handler for SOAP requests, rather than just a class as in SoapServer::setClass().

Bağımsız Değişkenler

object

The object to handle the requests.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • SoapServer::setClass() - Sets the class which handles SOAP requests


Sets SoapServer persistence mode

  • « SoapServer::setObject
  • SoapFault »
  • PHP Manual
  • SoapServer
  • Sets SoapServer persistence mode

SoapServer::setPersistence

(PHP 5, PHP 7, PHP 8)

SoapServer::setPersistence — Sets SoapServer persistence mode

Açıklama

public SoapServer::setPersistence(int $mode): void

This function allows changing the persistence state of a SoapServer object between requests. This function allows saving data between requests utilizing PHP sessions. This method only has an affect on a SoapServer after it has exported functions utilizing SoapServer::setClass().

Bilginize:

The persistence of SOAP_PERSISTENCE_SESSION makes only objects of the given class persistent, but not the class static data. In this case, use $this->bar instead of self::$bar.

Bilginize:

SOAP_PERSISTENCE_SESSION serializes data on the class object between requests. In order to properly utilize resources (e.g. PDO), __wakeup() and __sleep() magic methods should be utilized.

Bağımsız Değişkenler

mode

One of the SOAP_PERSISTENCE_XXX constants.

SOAP_PERSISTENCE_REQUEST - SoapServer data does not persist between requests. This is the default behavior of any SoapServer object after setClass is called.

SOAP_PERSISTENCE_SESSION - SoapServer data persists between requests. This is accomplished by serializing the SoapServer class data into $_SESSION['_bogus_session_name'], because of this session_start() must be called before this persistence mode is set.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 SoapServer::setPersistence() example

<?php
class MyFirstPersistentSoapServer {
private $resource; // (Such as PDO, mysqli, etc..)
public $myvar1;
public $myvar2;

public function __construct() {
$this->__wakeup(); // We're calling our wakeup to handle starting our resource
}

public function __wakeup() {
$this->resource = CodeToStartOurResourceUp();
}

public function __sleep() {
// We make sure to leave out $resource here, so our session data remains persistent
// Failure to do so will result in the failure during the unserialization of data
// on the next request; thus, our SoapObject would not be persistent across requests.
return array('myvar1','myvar2');
}
}

try {
session_start();
$server = new SoapServer(null, array('uri' => $_SERVER['REQUEST_URI']));
$server->setClass('MyFirstPersistentSoapServer');
// setPersistence MUST be called after setClass, because setClass's
// behavior sets SESSION_PERSISTENCE_REQUEST upon enacting the method.
$server->setPersistence(SOAP_PERSISTENCE_SESSION);
$server->handle();
} catch(SoapFault $e) {
error_log("SOAP ERROR: ". $e->getMessage());
}
?>

Ayrıca Bakınız

  • SoapServer::setClass() - Sets the class which handles SOAP requests


The SoapFault class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents a SOAP fault.

Sınıf Sözdizimi

class SoapFault extends Exception {
/* Özellikler */
public string $faultstring;
public ?string $faultcode = null;
public ?string $faultcodens = null;
public ?string $faultactor = null;
public mixed $detail = null;
public ?string $_name = null;
public mixed $headerfault = null;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Yöntemler */
public __construct(
array|string|null $code,
string $string,
?string $actor = null,
mixed $details = null,
?string $name = null,
mixed $headerFault = null
)
public __toString(): string
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

_name

detail

faultactor

faultcode

faultcodens

faultstring

headerfault

İçindekiler

  • SoapFault::__construct — SoapFault constructor
  • SoapFault::__toString — Obtain a string representation of a SoapFault


SoapFault constructor

  • « SoapFault
  • SoapFault::__toString »
  • PHP Manual
  • SoapFault
  • SoapFault constructor

SoapFault::__construct

(PHP 5, PHP 7, PHP 8)

SoapFault::__construct — SoapFault constructor

Açıklama

public SoapFault::__construct(
array|string|null $code,
string $string,
?string $actor = null,
mixed $details = null,
?string $name = null,
mixed $headerFault = null
)

This class is used to send SOAP fault responses from the PHP handler. faultcode, faultstring, faultactor and detail are standard elements of a SOAP Fault.

Bağımsız Değişkenler

faultcode

The error code of the SoapFault.

faultstring

The error message of the SoapFault.

faultactor

A string identifying the actor that caused the error.

detail

More details about the cause of the error.

faultname

Can be used to select the proper fault encoding from WSDL.

headerfault

Can be used during SOAP header handling to report an error in the response header.

Örnekler

Örnek 1 Some examples

<?php
function test($x)
{
return new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

It is possible to use PHP exception mechanism to throw SOAP Fault.

Örnek 2 Some examples

<?php
function test($x)
{
throw new SoapFault("Server", "Some error message");
}

$server = new SoapServer(null, array('uri' => "http://test-uri/"));
$server->addFunction("test");
$server->handle();
?>

Ayrıca Bakınız

  • SoapServer::fault() - Issue SoapServer fault indicating an error
  • is_soap_fault() - Checks if a SOAP call has failed


Obtain a string representation of a SoapFault

  • « SoapFault::__construct
  • SoapHeader »
  • PHP Manual
  • SoapFault
  • Obtain a string representation of a SoapFault

SoapFault::__toString

(PHP 5, PHP 7, PHP 8)

SoapFault::__toString — Obtain a string representation of a SoapFault

Açıklama

public SoapFault::__toString(): string

Returns a string representation of the SoapFault.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

A string describing the SoapFault.


The SoapHeader class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents a SOAP header.

Sınıf Sözdizimi

class SoapHeader {
/* Özellikler */
public string $namespace;
public string $name;
public mixed $data = null;
public bool $mustUnderstand;
public string|int|null $actor;
/* Yöntemler */
public __construct(
string $namespace,
string $name,
mixed $data = ?,
bool $mustunderstand = ?,
string $actor = ?
)
}

Özellikler

actor

data

mustUnderstand

name

namespace

İçindekiler

  • SoapHeader::__construct — SoapHeader constructor


SoapHeader constructor

  • « SoapHeader
  • SoapParam »
  • PHP Manual
  • SoapHeader
  • SoapHeader constructor

SoapHeader::__construct

(PHP 5, PHP 7, PHP 8)

SoapHeader::__construct — SoapHeader constructor

Açıklama

public SoapHeader::__construct(
string $namespace,
string $name,
mixed $data = ?,
bool $mustunderstand = ?,
string $actor = ?
)

Constructs a new SoapHeader object.

Bağımsız Değişkenler

namespace

The namespace of the SOAP header element.

name

The name of the SoapHeader object.

data

A SOAP header's content. It can be a PHP value or a SoapVar object.

mustUnderstand

Value of the mustUnderstand attribute of the SOAP header element.

actor

Value of the actor attribute of the SOAP header element.

Örnekler

Örnek 1 SoapHeader::__construct() example

<?php
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->__soapCall("echoVoid", null, null,
new SoapHeader('http://soapinterop.org/echoheader/',
'echoMeStringRequest',
'hello world'));
?>

Ayrıca Bakınız

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapVar::__construct() - SoapVar constructor
  • SoapParam::__construct() - SoapParam constructor
  • SoapServer::addSoapHeader() - Add a SOAP header to the response


The SoapParam class

(PHP 5, PHP 7, PHP 8)

Giriş

Represents parameter to a SOAP call.

Sınıf Sözdizimi

class SoapParam {
/* Özellikler */
public string $param_name;
public mixed $param_data;
/* Yöntemler */
public __construct(mixed $data, string $name)
}

Özellikler

param_data

param_name

İçindekiler

  • SoapParam::__construct — SoapParam constructor


SoapParam constructor

  • « SoapParam
  • SoapVar »
  • PHP Manual
  • SoapParam
  • SoapParam constructor

SoapParam::__construct

(PHP 5, PHP 7, PHP 8)

SoapParam::__construct — SoapParam constructor

Açıklama

public SoapParam::__construct(mixed $data, string $name)

Constructs a new SoapParam object.

Bağımsız Değişkenler

data

The data to pass or return. This parameter can be passed directly as PHP value, but in this case it will be named as paramN and the SOAP service may not understand it.

name

The parameter name.

Örnekler

Örnek 1 SoapParam::__construct() example

<?php
$client = new SoapClient(null,array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$client->SomeFunction(new SoapParam($a, "a"),
new SoapParam($b, "b"),
new SoapParam($c, "c"));
?>

Ayrıca Bakınız

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapVar::__construct() - SoapVar constructor


The SoapVar class

(PHP 5, PHP 7, PHP 8)

Giriş

A class representing a variable or object for use with SOAP services.

Sınıf Sözdizimi

class SoapVar {
/* Özellikler */
public int $enc_type;
public mixed $enc_value = null;
public ?string $enc_stype = null;
public ?string $enc_ns = null;
public ?string $enc_name = null;
public ?string $enc_namens = null;
/* Yöntemler */
public __construct(
mixed $data,
?int $encoding,
?string $typeName = null,
?string $typeNamespace = null,
?string $nodeName = null,
?string $nodeNamespace = null
)
}

Özellikler

enc_name

enc_namens

enc_ns

enc_type

enc_stype

enc_value

İçindekiler

  • SoapVar::__construct — SoapVar constructor


SoapVar constructor

  • « SoapVar
  • Yar »
  • PHP Manual
  • SoapVar
  • SoapVar constructor

SoapVar::__construct

(PHP 5, PHP 7, PHP 8)

SoapVar::__construct — SoapVar constructor

Açıklama

public SoapVar::__construct(
mixed $data,
?int $encoding,
?string $typeName = null,
?string $typeNamespace = null,
?string $nodeName = null,
?string $nodeNamespace = null
)

Constructs a new SoapVar object.

Bağımsız Değişkenler

data

The data to pass or return.

encoding

The encoding ID, one of the XSD_... constants.

type_name

The type name.

type_namespace

The type namespace.

node_name

The XML node name.

node_namespace

The XML node namespace.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | typeName, typeNamespace, nodeName,and nodeNamespace are nullable now.

Örnekler

Örnek 1 SoapVar::__construct() example

<?php
class SOAPStruct {
function SOAPStruct($s, $i, $f)
{
$this->varString = $s;
$this->varInt = $i;
$this->varFloat = $f;
}
}
$client = new SoapClient(null, array('location' => "http://localhost/soap.php",
'uri' => "http://test-uri/"));
$struct = new SOAPStruct('arg', 34, 325.325);
$soapstruct = new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPStruct", "http://soapinterop.org/xsd");
$client->echoStruct(new SoapParam($soapstruct, "inputStruct"));
?>

Ayrıca Bakınız

  • SoapClient::__soapCall() - Calls a SOAP function
  • SoapParam::__construct() - SoapParam constructor


Yet Another RPC Framework

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • Yar_Server — The Yar_Server class
    • Yar_Server::__construct — Register a server
    • Yar_Server::handle — Start RPC Server
  • Yar_Client — The Yar_Client class
    • Yar_Client::__call — Call service
    • Yar_Client::__construct — Create a client
    • Yar_Client::setOpt — Set calling contexts
  • Yar_Concurrent_Client — The Yar_Concurrent_Client class
    • Yar_Concurrent_Client::call — Register a concurrent call
    • Yar_Concurrent_Client::loop — Send all calls
    • Yar_Concurrent_Client::reset — Clean all registered calls
  • Yar_Server_Exception — The Yar_Server_Exception class
    • Yar_Server_Exception::getType — Retrieve exception's type
  • Yar_Client_Exception — The Yar_Client_Exception class
    • Yar_Client_Exception::getType — Retrieve exception's type


Giriş

Yar is a RPC framework which aims to provide a simple and easy way to do communication between PHP applications It has the ability to concurrently call multiple remote services.


Gereksinimler

if you want to use msgpack as packager, you need compile Yar by your self with ./configure --enable-msgpack


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/yar.

Bu PECL eklentisi için bir DLL mevcut değildir. Ayrıca, Windows üzerinde kurulum bölümüne de bakılabilir.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Yar Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
yar.packager | php | PHP_INI_SYSTEM |
yar.debug | Off | PHP_INI_ALL |
yar.connect_timeout | 1000 | PHP_INI_ALL |
yar.timeout | 5000 | PHP_INI_ALL |
yar.expose_info | On | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

yar.packager string

it could be php, json, and msgpack(require built with msgpack support)

yar.debug string

yar.connect_timeout int

timeout in ms

yar.timeout int

timeout in ms

yar.expose_info bool

whether expose the service info(when access the server via GET)


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

YAR_VERSION (string)
YAR_CLIENT_PROTOCOL_HTTP (int)
YAR_OPT_PACKAGER (int)
YAR_OPT_TIMEOUT (int)
YAR_OPT_CONNECT_TIMEOUT (int)
YAR_OPT_HEADER (array)
Since 2.0.4
YAR_PACKAGER_PHP (string)
YAR_PACKAGER_JSON (string)
YAR_ERR_OKEY (int)
YAR_ERR_OUTPUT (int)
YAR_ERR_TRANSPORT (int)
YAR_ERR_REQUEST (int)
YAR_ERR_PROTOCOL (int)
YAR_ERR_PACKAGER (int)
YAR_ERR_EXCEPTION (int)


Örnekler

Örnek 1 Yar Server Example

<?php

/* assume this page can be accessed by http://example.com/operator.php */

class Operator {

/**
* Add two operands
* @param interge
* @return interge
*/
public function add($a, $b) {
return $this->_add($a, $b);
}

/**
* Sub
*/
public function sub($a, $b) {
return $a - $b;
}

/**
* Mul
*/
public function mul($a, $b) {
return $a * $b;
}

/**
* Protected methods will not be exposed
* @param interge
* @return interge
*/
protected function _add($a, $b) {
return $a + $b;
}
}

$server = new Yar_Server(new Operator());
$server->handle();
?>

Örnek 2 Access the server in borwser(GET request)

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Yar Server Info

Örnek 3 Yar Client Example

<?php
$client = new yar_client("http://example.com/operator.php");

/* call directly */
var_dump($client->add(1, 2));

/* call via call */
var_dump($client->call("add", array(3, 2)));

/* __add can not be called */
var_dump($client->_add(1, 2));
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

int(3)
int(5)
PHP Fatal error:  Uncaught exception 'Yar_Server_Exception' with message 'call to api Operator::_add() failed' in *

Örnek 4 Yar Concurrent Client Example

<?php
function callback($ret, $callinfo) {
echo $callinfo['method'] , " result: ", $ret , "\n";
}

/* register async call to remote services */
Yar_Concurrent_Client::call("http://example.com/operator.php", "add", array(1, 2), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "sub", array(2, 1), "callback");
Yar_Concurrent_Client::call("http://example.com/operator.php", "mul", array(2, 2), "callback");

/* sent all request and wait for response */
Yar_Concurrent_Client::loop();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

mul result: 4
sub result: 1
add result: 3


The Yar_Server class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class Yar_Server {
/* Özellikler */
protected $_executor;
/* Yöntemler */
final public __construct(Object $obj)
public handle(): bool
}

Özellikler

_executor

İçindekiler

  • Yar_Server::__construct — Register a server
  • Yar_Server::handle — Start RPC Server


Register a server

  • « Yar_Server
  • Yar_Server::handle »
  • PHP Manual
  • Yar_Server
  • Register a server

Yar_Server::__construct

(PECL yar >= 1.0.0)

Yar_Server::__construct — Register a server

Açıklama

final public Yar_Server::__construct(Object $obj)

Set up a Yar HTTP RPC Server, All the public methods of $obj will be register as a RPC service.

Bağımsız Değişkenler

obj

An Object, all public methods of its will be registered as RPC services.

Dönen Değerler

An instance of Yar_Server.

Örnekler

Örnek 1 Yar_Server::__construct() example

<?php
class API {
/**
* the doc info will be generated automatically into service info page.
* @params
* @return
*/
public function some_method($parameter, $option = "foo") {
return "some_method";
}

protected function client_can_not_see() {
}
}

$service = new Yar_Server(new API());
$service->handle();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Server::handle() - Start RPC Server
    •


Start RPC Server

  • « Yar_Server::__construct
  • Yar_Client »
  • PHP Manual
  • Yar_Server
  • Start RPC Server

Yar_Server::handle

(PECL yar >= 1.0.0)

Yar_Server::handle — Start RPC Server

Açıklama

public Yar_Server::handle(): bool

Start a RPC HTTP server, and ready for accpet RPC requests.

Bilginize:

Usual RPC calls will be issued as HTTP POST requests. If a HTTP GET request is issued to the uri, the service information (commented section above) will be printed on the page

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

boolean

Örnekler

Örnek 1 Yar_Server::handle() example

<?php
class API {
/**
* the doc info will be generated automatically into service info page.
* @params
* @return
*/
public function some_method($parameter, $option = "foo") {
}

protected function client_can_not_see() {
}
}

$service = new Yar_Server(new API());
$service->handle();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Server::__construct() - Register a server
    •


The Yar_Client class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class Yar_Client {
/* Özellikler */
protected $_protocol;
protected $_uri;
protected $_options;
protected $_running;
/* Yöntemler */
public __call(string $method, array $parameters): void
final public __construct(string $url, array $options = ?)
public setOpt(int $name, mixed $value): Yar_Client|false
}

Özellikler

_protocol

_uri

_options

_running

İçindekiler

  • Yar_Client::__call — Call service
  • Yar_Client::__construct — Create a client
  • Yar_Client::setOpt — Set calling contexts


Call service

  • « Yar_Client
  • Yar_Client::__construct »
  • PHP Manual
  • Yar_Client
  • Call service

Yar_Client::__call

(PECL yar >= 1.0.0)

Yar_Client::__call — Call service

Açıklama

public Yar_Client::__call(string $method, array $parameters): void

Issue a call to remote RPC method.

Bağımsız Değişkenler

method

Remote RPC method name.

parameters

Parameters.

Dönen Değerler

Örnekler

Örnek 1 Yar_Client::__call() example

<?php

$client = new Yar_Client("http://host/api/");

/* call remote service */
$result = $client->some_method("parameter");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Client::setOpt() - Set calling contexts
    •


Create a client

  • « Yar_Client::__call
  • Yar_Client::setOpt »
  • PHP Manual
  • Yar_Client
  • Create a client

Yar_Client::__construct

(PECL yar >= 1.0.0)

Yar_Client::__construct — Create a client

Açıklama

final public Yar_Client::__construct(string $url, array $options = ?)

Create a Yar_Client to a Yar_Server.

Bağımsız Değişkenler

url

Yar Server URL.

Dönen Değerler

Yar_Client instance.

Örnekler

Örnek 1 Yar_Client::__construct() example

<?php
$client = new Yar_Client("http://host/api/");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Client::__call() - Call service
    •

  • Yar_Client::setOpt() - Set calling contexts
    •


Set calling contexts

  • « Yar_Client::__construct
  • Yar_Concurrent_Client »
  • PHP Manual
  • Yar_Client
  • Set calling contexts

Yar_Client::setOpt

(PECL yar >= 1.0.0)

Yar_Client::setOpt — Set calling contexts

Açıklama

public Yar_Client::setOpt(int $name, mixed $value): Yar_Client|false

Bağımsız Değişkenler

name

it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT (Need server support), YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT, YAR_OPT_HEADER (as of 2.0.4), YAR_OPT_PROXY (as of 2.2.0)

value

Dönen Değerler

Returns $this on success başarısızlık durumunda false döner.

Örnekler

Örnek 1 Yar_Client::setOpt() example

<?php

$cient = new Yar_Client("http://host/api/");

//Set timeout to 1s
$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);

//Set packager to JSON
$client->SetOpt(YAR_OPT_PACKAGER, "json");

//Set Custom headers
$client->SetOpt(YAR_OPT_HEADER, array("hr1: val1", "hd2: val2"));

// Set Http Proxy
$client->SetOpt(YAR_OPT_PROXY, "127.0.0.1:8888");

/* call remote service */
$result = $client->some_method("parameter");
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Client::__call() - Call service
    •


The Yar_Concurrent_Client class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class Yar_Concurrent_Client {
/* Özellikler */
static $_callstack;
static $_callback;
static $_error_callback;
/* Yöntemler */
public static call(
string $uri,
string $method,
array $parameters = ?,
callable $callback = ?,
callable $error_callback = ?,
array $options = ?
): int
public static loop(callable $callback = ?, callable $error_callback = ?): bool
public static reset(): bool
}

Özellikler

_callstack

_callback

_error_callback

İçindekiler

  • Yar_Concurrent_Client::call — Register a concurrent call
  • Yar_Concurrent_Client::loop — Send all calls
  • Yar_Concurrent_Client::reset — Clean all registered calls


Register a concurrent call

  • « Yar_Concurrent_Client
  • Yar_Concurrent_Client::loop »
  • PHP Manual
  • Yar_Concurrent_Client
  • Register a concurrent call

Yar_Concurrent_Client::call

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::call — Register a concurrent call

Açıklama

public static Yar_Concurrent_Client::call(
string $uri,
string $method,
array $parameters = ?,
callable $callback = ?,
callable $error_callback = ?,
array $options = ?
): int

Register a RPC call, but won't sent it immediately, it will be send while further call to Yar_Concurrent_Client::loop()

Bağımsız Değişkenler

uri

The RPC server URI(http, tcp)

method

Service name(aka the method name)

parameters

Parameters

callback

A function callback, which will be called while the response return.

Dönen Değerler

An unique id, can be used to identified which call it is.

Örnekler

Örnek 1 Yar_Concurrent_Client::call() example

<?php
function callback($retval, $callinfo) {
var_dump($retval);
}

function error_callback($type, $error, $callinfo) {
error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // if the callback is not specificed,
// callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
//this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//custom timeout

//The requests are not sent yet
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Concurrent_Client::reset() - Clean all registered calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •


Send all calls

  • « Yar_Concurrent_Client::call
  • Yar_Concurrent_Client::reset »
  • PHP Manual
  • Yar_Concurrent_Client
  • Send all calls

Yar_Concurrent_Client::loop

(PECL yar >= 1.0.0)

Yar_Concurrent_Client::loop — Send all calls

Açıklama

public static Yar_Concurrent_Client::loop(callable $callback = ?, callable $error_callback = ?): bool

Send all registed remote RPC calls.

Bağımsız Değişkenler

callback

If this callback is set, then Yar will call this callback after all calls are sent and before any response return, with a $callinfo NULL.

Then, if user didn't specify callback when registering concurrent call, this callback will be used to handle response, otherwise, the callback specified while registering will be used.

error_callback

If this callback is set, then Yar will call this callback while error occurred.

Dönen Değerler

Örnekler

Örnek 1 Yar_Concurrent_Client::loop() example

<?php
function callback($retval, $callinfo) {
if ($callinfo == NULL) {
echo "Now, all requests are sent, and no any response available\n";
} else {
echo "This is a remote call response, the method name is", $callinfo["method"],
". calling sequence is " , $callinfo["sequence"] , "\n";
var_dump($retval);
}
}

function error_callback($type, $error, $callinfo) {
error_log($error);
}

Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback");
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters")); // if the callback is not specificed,
// callback in loop will be used
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_PACKAGER => "json"));
//this server accept json packager
Yar_Concurrent_Client::call("http://host/api/", "some_method", array("parameters"), "callback", NULL, array(YAR_OPT_TIMEOUT=>1));
//custom timeout

Yar_Concurrent_Client::loop("callback", "error_callback"); //send the requests,
//the error_callback is optional
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Now, all requests are sent, and no any response available
This is a remote call response, the method name issome_method. calling sequence is 4
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 1
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 2
string(11) "some_method"
This is a remote call response, the method name issome_method. calling sequence is 3
string(11) "some_method"

Ayrıca Bakınız

  • Yar_Concurrent_Client::call() - Register a concurrent call
  • Yar_Concurrent_Client::reset() - Clean all registered calls
  • Yar_Server::__construct() - Register a server
  • Yar_Server::handle() - Start RPC Server


Clean all registered calls

  • « Yar_Concurrent_Client::loop
  • Yar_Server_Exception »
  • PHP Manual
  • Yar_Concurrent_Client
  • Clean all registered calls

Yar_Concurrent_Client::reset

(PECL yar >= 1.2.4)

Yar_Concurrent_Client::reset — Clean all registered calls

Açıklama

public static Yar_Concurrent_Client::reset(): bool

Clean all registered calls

Bağımsız Değişkenler

Dönen Değerler

Örnekler

Örnek 1 Yar_Concurrent_Client::reset() example

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Ayrıca Bakınız

  • Yar_Concurrent_Client::call() - Register a concurrent call
    •

  • Yar_Concurrent_Client::loop() - Send all calls
    •

  • Yar_Server::__construct() - Register a server
    •

  • Yar_Server::handle() - Start RPC Server
    •


The Yar_Server_Exception class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

If service threw exceptions, A Yar_Server_Exception will be threw in client side.

Sınıf Sözdizimi

class Yar_Server_Exception extends Exception {
/* Özellikler */
protected $_type;
/* Yöntemler */
public getType(): string
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

message

code

file

line

_type

İçindekiler

  • Yar_Server_Exception::getType — Retrieve exception's type


Retrieve exception's type

  • « Yar_Server_Exception
  • Yar_Client_Exception »
  • PHP Manual
  • Yar_Server_Exception
  • Retrieve exception's type

Yar_Server_Exception::getType

(PECL yar >= 1.0.0)

Yar_Server_Exception::getType — Retrieve exception's type

Açıklama

public Yar_Server_Exception::getType(): string

Get the exception original type threw by server

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

string

Örnekler

Örnek 1 Yar_Server_Exception::getType() example

//Server.php
<?php
class Custom_Exception extends Exception {};

class API {
public function throw_exception($name) {
throw new Custom_Exception($name);
}
}

$service = new Yar_Server(new API());
$service->handle();
?>

//Client.php
<?php
$client = new Yar_Client("http://host/api.php");

try {
$client->throw_exception("client");
} catch (Yar_Server_Exception $e) {
var_dump($e->getType());
var_dump($e->getMessage());
}

Yukarıdaki örnek şuna benzer bir çıktı üretir:

string(16) "Custom_Exception"
string(6) "client"

Ayrıca Bakınız


The Yar_Client_Exception class

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

Giriş

Sınıf Sözdizimi

class Yar_Client_Exception extends Exception {
/* Özellikler */
/* Yöntemler */
public getType(): string
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

message

code

file

line

İçindekiler

  • Yar_Client_Exception::getType — Retrieve exception's type


Retrieve exception's type

  • « Yar_Client_Exception
  • XML-RPC »
  • PHP Manual
  • Yar_Client_Exception
  • Retrieve exception's type

Yar_Client_Exception::getType

(PECL yar >= 1.0.0)

Yar_Client_Exception::getType — Retrieve exception's type

Açıklama

public Yar_Client_Exception::getType(): string

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns "Yar_Exception_Client".

Örnekler

Örnek 1 Yar_Client_Exception::getType() example

<?php

/* ... */

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

...

Ayrıca Bakınız

  • Yaf_Server_Exception::getType()


XML-RPC

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • XML-RPC İşlevleri
    • xmlrpc_decode_request — XML'i doğal PHP türlerine dönüştürür
    • xmlrpc_decode — XML'i doğal PHP türlerine dönüştürür
    • xmlrpc_encode_request — Bir yöntem çağrısı için XML üretir
    • xmlrpc_encode — Bir PHP değeri için XML üretir
    • xmlrpc_get_type — Bir PHP değerinin xmlrpc türünü döndürür
    • xmlrpc_is_fault — Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder
    • xmlrpc_parse_method_descriptions — XML'i bir yöntem açıklamaları listesine dönüştürür
    • xmlrpc_server_add_introspection_data — Kendiliğinden üretilen belgeleme ekler
    • xmlrpc_server_call_method — XML isteklerini ve yöntem çağrılarını çözümler
    • xmlrpc_server_create — Bir xmlrpc sunucusu oluşturur
    • xmlrpc_server_destroy — Sunucuya ayrılan özkaynakları serbest bırakır
    • xmlrpc_server_register_introspection_callback — Belge üretimi için bir PHP işlevi atar
    • xmlrpc_server_register_method — Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar
    • xmlrpc_set_type — Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür


Giriş

Bu işlevler XML-RPC sunucularını ve istemcilerini yazmakta kullanılabilir. » http://www.xmlrpc.com/ adresinde XML-RPC hakkında daha ayrıntılı bilgi bulabilirsiniz. Bu eklenti ve işlevleri hakkında daha fazla bilgi edinmek için » http://xmlrpc-epi.sourceforge.net/ adresine bakınız.

Uyarı

Bu eklenti DENEYSELDİR. Bu eklentinin davranışı, işlev isimleri ve tüm belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu eklenti kullanılmamalıdır.


Kurulum

PHP'de XML-RPC desteği öntanımlı olarak etkin değildir. XML-RPC desteğini etkin kılmak için PHP'yi derlerken --with-xmlrpc[=DiZiN] yapılandırma seçeneğini kullanmalısınız.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklenti xmlrpc_server_create() tarafından döndürülen bir XML-RPC sunucu özkaynağına sahiptir.


  • « Özkaynak Türleri
  • XML-RPC İşlevleri »
  • PHP Manual
  • XML-RPC
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


XML-RPC İşlevleri

İçindekiler

  • xmlrpc_decode_request — XML'i doğal PHP türlerine dönüştürür
  • xmlrpc_decode — XML'i doğal PHP türlerine dönüştürür
  • xmlrpc_encode_request — Bir yöntem çağrısı için XML üretir
  • xmlrpc_encode — Bir PHP değeri için XML üretir
  • xmlrpc_get_type — Bir PHP değerinin xmlrpc türünü döndürür
  • xmlrpc_is_fault — Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder
  • xmlrpc_parse_method_descriptions — XML'i bir yöntem açıklamaları listesine dönüştürür
  • xmlrpc_server_add_introspection_data — Kendiliğinden üretilen belgeleme ekler
  • xmlrpc_server_call_method — XML isteklerini ve yöntem çağrılarını çözümler
  • xmlrpc_server_create — Bir xmlrpc sunucusu oluşturur
  • xmlrpc_server_destroy — Sunucuya ayrılan özkaynakları serbest bırakır
  • xmlrpc_server_register_introspection_callback — Belge üretimi için bir PHP işlevi atar
  • xmlrpc_server_register_method — Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar
  • xmlrpc_set_type — Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür


XML'i doğal PHP türlerine dönüştürür

  • « XML-RPC İşlevleri
  • xmlrpc_decode »
  • PHP Manual
  • XML-RPC İşlevleri
  • XML'i doğal PHP türlerine dönüştürür

xmlrpc_decode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode_request — XML'i doğal PHP türlerine dönüştürür

Açıklama

xmlrpc_decode_request(string $xml, string &$yöntem, string $kodlama = ?): mixed
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


XML'i doğal PHP türlerine dönüştürür

  • « xmlrpc_decode_request
  • xmlrpc_encode_request »
  • PHP Manual
  • XML-RPC İşlevleri
  • XML'i doğal PHP türlerine dönüştürür

xmlrpc_decode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_decode — XML'i doğal PHP türlerine dönüştürür

Açıklama

xmlrpc_decode(string $xml, string $kodlama = "iso-8859-1"): mixed
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

xml

XMLRPC yöntemi tarafından döndürülen XML yanıtı.

kodlama

iconv tarafından desteklenen karakter kodlamalarından biri.

Dönen Değerler

XMLRPC yöntemiyle döndürülen yanıta göre bir dizi, bir tamsayı, bir dizge veya mantıksal bir değer döner.

Örnekler

xmlrpc_encode_request() işlevindeki örneğe bakınız.

Ayrıca Bakınız

  • xmlrpc_encode_request() - Bir yöntem çağrısı için XML üretir
  • xmlrpc_is_fault() - Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder


Bir yöntem çağrısı için XML üretir

  • « xmlrpc_decode
  • xmlrpc_encode »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir yöntem çağrısı için XML üretir

xmlrpc_encode_request

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode_request — Bir yöntem çağrısı için XML üretir

Açıklama

xmlrpc_encode_request(string $yöntem, mixed $bağımsız_değişkenler, array $çıktı_seçenekleri = ?): string
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

yöntem

Çağrılacak yöntemin ismi.

bağımsız_değişkenler

Yöntem bildirimiyle uyumlu yöntem bağımsız değişkenleri.

çıktı_seçenekleri

Çıktı seçenekleri bir dizi olarak belirtilir ve dizi şunları içerebilir (öntanımlı değerler vurgulanmış, Türkçe anlamları ayrıca verilmiştir):

  • output_type: php, xml (çıktı türü: php, xml)

  • verbosity: no_white_space, newlines_only, pretty (ayrıntı düzeyi: boşluksuz, sadece satırsonu karakterleri, olduğu gibi)

  • escaping: cdata, non-ascii, non-print, markup (öncelem: CDATA bölümü, ascii-dışı, basılmayan, imlenim - Değer bir dizge olabileceği gibi çok sayıda değer içeren bir dizi de olabilir.)

  • version: simple, xmlrpc, soap 1.1, auto (sürüm: basit, ...)

  • encoding: utf-8, ... (kodlama: utf-8 veya iconv tarafından desteklenen herhangi bir karakter kümesi)

Dönen Değerler

İsteğin XML gösterimini içeren bir dizge döner.

Örnekler

Örnek 1 - XMLRPC istemci işlevleri örneği

<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
print_r($response);
}
?>

Ayrıca Bakınız

  • stream_context_create() - Bir akım bağlamı oluşturur
  • file_get_contents() - Dosya içeriğinin tamamını bir dizge olarak döndürür
  • xmlrpc_decode() - XML'i doğal PHP türlerine dönüştürür


Bir PHP değeri için XML üretir

  • « xmlrpc_encode_request
  • xmlrpc_get_type »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir PHP değeri için XML üretir

xmlrpc_encode

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_encode — Bir PHP değeri için XML üretir

Açıklama

xmlrpc_encode(mixed $değer): string
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Bir PHP değerinin xmlrpc türünü döndürür

  • « xmlrpc_encode
  • xmlrpc_is_fault »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir PHP değerinin xmlrpc türünü döndürür

xmlrpc_get_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_get_type — Bir PHP değerinin xmlrpc türünü döndürür

Açıklama

xmlrpc_get_type(mixed $değer): string
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bu işlev, özellikle base64 ve datetime dizgelerinde kullanılır.

Bağımsız Değişkenler

değer

PHP değeri

Dönen Değerler

XML-RPC türünü döndürür.

Örnekler

Örnek 1 XML-RPC tür örneği

<?php
echo xmlrpc_get_type(null) . "\n"; // base64
echo xmlrpc_get_type(false) . "\n"; // boolean
echo xmlrpc_get_type(1) . "\n"; // int
echo xmlrpc_get_type(1.0) . "\n"; // double
echo xmlrpc_get_type("") . "\n"; // string
echo xmlrpc_get_type(array()) . "\n"; // array
echo xmlrpc_get_type(new stdClass) . "\n"; // array
echo xmlrpc_get_type(STDIN) . "\n"; // int
?>

Ayrıca Bakınız

  • xmlrpc_set_type() - Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür


Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder

  • « xmlrpc_get_type
  • xmlrpc_parse_method_descriptions »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder

xmlrpc_is_fault

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

xmlrpc_is_fault — Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder

Açıklama

xmlrpc_is_fault(array $dizi): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

dizi

xmlrpc_decode() ile döndürülmüş bir dizi.

Dönen Değerler

$dizi bir hata içeriyorsa true, aksi takdirde false döner. Hatanın koduna $dizi["faultCode"], açıklamasına ise $dizi["faultString"] ile erişilir.

Örnekler

xmlrpc_encode_request() işlevindeki örneğe bakınız.

Ayrıca Bakınız

  • xmlrpc_decode() - XML'i doğal PHP türlerine dönüştürür


XML'i bir yöntem açıklamaları listesine dönüştürür

  • « xmlrpc_is_fault
  • xmlrpc_server_add_introspection_data »
  • PHP Manual
  • XML-RPC İşlevleri
  • XML'i bir yöntem açıklamaları listesine dönüştürür

xmlrpc_parse_method_descriptions

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_parse_method_descriptions — XML'i bir yöntem açıklamaları listesine dönüştürür

Açıklama

xmlrpc_parse_method_descriptions(string $xml): array
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Kendiliğinden üretilen belgeleme ekler

  • « xmlrpc_parse_method_descriptions
  • xmlrpc_server_call_method »
  • PHP Manual
  • XML-RPC İşlevleri
  • Kendiliğinden üretilen belgeleme ekler

xmlrpc_server_add_introspection_data

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_add_introspection_data — Kendiliğinden üretilen belgeleme ekler

Açıklama

xmlrpc_server_add_introspection_data(resource $sunucu, array $açıklama): int
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


XML isteklerini ve yöntem çağrılarını çözümler

  • « xmlrpc_server_add_introspection_data
  • xmlrpc_server_create »
  • PHP Manual
  • XML-RPC İşlevleri
  • XML isteklerini ve yöntem çağrılarını çözümler

xmlrpc_server_call_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_call_method — XML isteklerini ve yöntem çağrılarını çözümler

Açıklama

xmlrpc_server_call_method(
resource $sunucu,
string $xml,
mixed $kullanıcı_verisi,
array $çıktı_seçenekleri = ?
): string
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Bir xmlrpc sunucusu oluşturur

  • « xmlrpc_server_call_method
  • xmlrpc_server_destroy »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir xmlrpc sunucusu oluşturur

xmlrpc_server_create

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_create — Bir xmlrpc sunucusu oluşturur

Açıklama

xmlrpc_server_create(): resource
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Sunucuya ayrılan özkaynakları serbest bırakır

  • « xmlrpc_server_create
  • xmlrpc_server_register_introspection_callback »
  • PHP Manual
  • XML-RPC İşlevleri
  • Sunucuya ayrılan özkaynakları serbest bırakır

xmlrpc_server_destroy

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_destroy — Sunucuya ayrılan özkaynakları serbest bırakır

Açıklama

xmlrpc_server_destroy(resource $sunucu): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Belge üretimi için bir PHP işlevi atar

  • « xmlrpc_server_destroy
  • xmlrpc_server_register_method »
  • PHP Manual
  • XML-RPC İşlevleri
  • Belge üretimi için bir PHP işlevi atar

xmlrpc_server_register_introspection_callback

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_introspection_callback — Belge üretimi için bir PHP işlevi atar

Açıklama

xmlrpc_server_register_introspection_callback(resource $sunucu, string $işlev): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar

  • « xmlrpc_server_register_introspection_callback
  • xmlrpc_set_type »
  • PHP Manual
  • XML-RPC İşlevleri
  • Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar

xmlrpc_server_register_method

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_server_register_method — Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar

Açıklama

xmlrpc_server_register_method(resource $sunucu, string $yöntem, string $işlev): bool
Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.


Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür

  • « xmlrpc_server_register_method
  • Windows’a Özgü Eklentiler »
  • PHP Manual
  • XML-RPC İşlevleri
  • Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür

xmlrpc_set_type

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

xmlrpc_set_type — Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür

Açıklama

xmlrpc_set_type(string &$değer, string $tür): bool

Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür.

Uyarı

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu risk göze alınamayacaksa bu işlev kullanılmamalıdır.

Bağımsız Değişkenler

değer

Türü belirlenecek değer.

tür

'base64' veya 'datetime'

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Bir hata oluşmadığı takdirde değer bir nesneye dönüştürülür.

Hatalar/İstisnalar

XMLRPC tarafından desteklenmeyen türler E_WARNING çıktılanmasına sebep olur.

Örnekler

Örnek 1 - xmlrpc_set_type() örneği

<?php

$params = date("Ymd\TH:i:s", time());
xmlrpc_set_type($params, 'datetime');
echo xmlrpc_encode($params);

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0" encoding="utf-8"?>
<params>
<param>
 <value>
  <dateTime.iso8601>20090322T23:43:03</dateTime.iso8601>
 </value>
</param>
</params>


Windows’a Özgü Eklentiler

  • « xmlrpc_set_type
  • COM »
  • PHP Manual
  • İşlev Başvuru Kılavuzu
  • Windows’a Özgü Eklentiler

Windows'a Özgü Eklentiler

  • COM — COM ve .Net (Windows)
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Hatalar ve hata yönetimi
    • Örnekler
    • com — com sınıfı
    • dotnet — dotnet sınıfı
    • variant — variant sınıfı
    • COMPersistHelper — COMPersistHelper sınıfı
    • com_exception — com_exception sınıfı
    • COM İşlevleri
  • win32service
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Win32ServiceException — The Win32ServiceException class
    • Örnekler
    • win32service İşlevleri


COM ve .Net (Windows)

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Hatalar ve hata yönetimi
  • Örnekler
    • For Each
    • Diziler ve Dizi tarzı COM özellikleri
  • com — com sınıfı
    • com::__construct — com nesnesi oluşturur
  • dotnet — dotnet sınıfı
    • dotnet::__construct — dotnet nesnesi oluşturur
  • variant — variant sınıfı
    • variant::__construct — variant nesnesi oluşturur
  • COMPersistHelper — COMPersistHelper sınıfı
    • COMPersistHelper::__construct — COMPersistHelper nesnesi oluşturur
    • COMPersistHelper::GetCurFileName — Get current filename
    • COMPersistHelper::GetMaxStreamSize — Get maximum stream size
    • COMPersistHelper::InitNew — Initialize object to default state
    • COMPersistHelper::LoadFromFile — Load object from file
    • COMPersistHelper::LoadFromStream — Load object from stream
    • COMPersistHelper::SaveToFile — Save object to file
    • COMPersistHelper::SaveToStream — Save object to stream
  • com_exception — com_exception sınıfı
  • COM İşlevleri
    • com_create_guid — Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir
    • com_event_sink — Bir COM nesnesinden, PHP nesnesine olayları bağlar
    • com_get_active_object — COM nesnesinin çalışan bir örneği için tanıtıcı döner
    • com_load_typelib — Verilen tür kütüphanesini yükler
    • com_message_pump — COM iletilerini işler, zaman_asimi süresince uykudadır
    • com_print_typeinfo — İncelenebilecek şekilde PHP sınıf tanımını yazar
    • variant_abs — Bir değerin mutlak değerini döndürür
    • variant_add — İki varyant değeri birleştirir ve sonucu geri döndürür
    • variant_and — İki varyant üzerinde ikilik VE işlemi yapar
    • variant_cast — Varyantı başka türde bir varyant nesneye dönüştürür
    • variant_cat — İki varyant değeri birleştirir ve sonucu geri döndürür
    • variant_cmp — İki varyant değerini karşılaştırır
    • variant_date_from_timestamp — Unix zaman damgasının varyant tarih gösterimini döndürür
    • variant_date_to_timestamp — Varyant tarih/zaman değerini Unix zaman damgasına çevirir
    • variant_div — İki varyant değerin bölme sonucunu döndürür
    • variant_eqv — İki varyant arasında ikilik denklik karşılaştırması yapar
    • variant_fix — Varyantın tamsayı kısmını geri döndürür
    • variant_get_type — Varyant nesnenin türünü geri döndürür
    • variant_idiv — Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür
    • variant_imp — İki varyant üzerinde ikilik çıkarım yapar
    • variant_int — Değerin tamsayı kısmını döndürür
    • variant_mod — İki varyantın bölme işleminden kalanı geri döndürür
    • variant_mul — İki varyant değerleri için çarpma işlemi yapar
    • variant_neg — Bir değer üzerinde mantıksal değil işlemi yapar
    • variant_not — Bir varyant üzerinde ikilik değil işlemi yapar
    • variant_or — İki varyant üzerinde mantıksal ayırma işlemi yapar
    • variant_pow — Üs alma işlemi yaparak sonucu döndürür
    • variant_round — Bir varyantı verilen ondalık basamağa yuvarlar
    • variant_set_type — Varyantı başka bir türe "yerinde" dönüştürür
    • variant_set — Varyant nesnesine yeni bir değer verir
    • variant_sub — Sağ varyant değerini sol varyant değerinden çıkartır
    • variant_xor — İki varyant arasında mantıksal çıkarma yapar


Giriş

COM (Component Object Model), Bileşen Nesne Modelinin kısaltmasıdır; DCE RPC (açık standart) üzerinde nesne yönelimli bir katmandır (ilişkili diğer hizmetler ile) ve bir dilde yazılmış kodun başka bir dil ile (COM destekleyen diller) yazılmış kodu çağırmasını, birlikte çalışmasını sağlayan ortak bir zemin sağlar. Sadece kodun başka bir dil ile yazılmasının değil, bileşenin nerede olduğunun da bir önemi yoktur; kod DLL'den yüklenebilir, aynı makina üzerinde çalışan başka bir süreç içerisinde veya DCOM (Dağıtık COM) ile uzaktaki makina üzerindeki süreç içerisinde de olabilir.

COM'un OLE Özdevinim olarak bilinen (COM nesnelerine geç bağlama sağlar, böylece içebakışa sahip olabilir ve çalışma zamanında nesnenin nasıl çalıştığı bilgisine ihtiyaç duyan derleme zamanı bilgisine gerek olmadan çağrılabilirler) COM arabirimlerini içeren bir alt kümesi vardır. PHP COM eklentisi, betiklerinizde uyumlu nesneleri oluşturabilmek ve çağırabilmek için OLE Özdevinim arabirimlerini kullanır. Bütün COM nesneleri OLE uyumlu olmadığı için eklenti "PHP için OLE Özdevinim Eklentisi" (OLE Automation Extension for PHP) adını alır.

Neden COM kullanılmalıdır? COM, Windows sistemleri üzerinde uygulama ve bileşenleri birlikte kullanmanın temel yollarından biridir; COM kullanarak Microsoft Word uygulaması başlatılabilir, belge şablonu doldurulabilir, sonuç Word belgesi olarak saklanabilir, ziyaretçilere gönderilebilir. COM ile yerel ağdaki yönetim görevleri yapılabilir, IIS uygulaması ayarlanabilir. Bunlar sadece yaygın olarak görülen kullanımlardır, COM ile çok daha fazlası yapılabilir.

Ek olarak, Microsoft tarafından sağlanan COM birlikte işlerlik katmanı kullanılarak .NET kütüphanelerinin başlatılması ve oluşturulmasına da destek verilmiştir.


Gereksinimler

COM işlevlerine sadece PHP'nin Windows sürümünde ulaşılabilir.

.Net desteği için .Net çalışma anı kütüphanesi gereklidir.


Kurulum

Bu eklentinin işlevlerinin kullanımı sırasında, php.ini içinde etkin olabilmesi için php_com_dotnet.dll gerekir.

Kullanmak istediğiniz çeşitli COM nesnelerini (MS Word gibi) kendi başınıza kurmak zorundasınız; Bütün bu nesneler PHP ile birlikte paketlenemez.


Çalışma Anı Yapılandırması

Bu işlevlerin davranışı php.ini içindeki ayarlardan etkilenir.

Com Yapılandırma Yönergeleri
İsim | Öntanımlı Değeri | Değişiklik Yeri | Sürüm Bilgisi
com.allow_dcom | "0" | PHP_INI_SYSTEM |
com.autoregister_typelib | "0" | PHP_INI_ALL |
com.autoregister_verbose | "0" | PHP_INI_ALL |
com.autoregister_casesensitive | "1" | PHP_INI_ALL |
com.code_page | "" | PHP_INI_ALL |
com.dotnet_version | "" | PHP_INI_SYSTEM | PHP 8.0.0 ve sonrasında kullanılabilir.
com.typelib_file | "" | PHP_INI_SYSTEM |
PHP_INI_* kiplerinin tanımları ve ayrıntılı açıklamaları Yapılandırma ayarlarının yeri bölümünde bulunabilir.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

com.allow_dcom

Etkin duruma getirildiğinde, PHP'ye D-COM (Dağıtık COM) istemcisi olarak izin verilir ve PHP betikleri uzak sunucudaki COM nesnelerini örnekleyebilir.

com.autoregister_typelib

Etkin duruma getirildiğinde, PHP örneklediği COM nesnelerinin tür kitaplığındaki sabitlerini kayıt altına almaya çalışacaktır, bu nesneler arayüzlerde kullanılacaksa bu bilgi gereklidir. Sabitlerin büyüklük duyarlılığı com.autoregister_casesensitive php.ini yönergesiyle kontrol edilir.

com.autoregister_verbose

Etkin duruma getirildiğinde, nesne örneklenirken tür kitaplığı yüklemesindeki herhangi bir hata, PHP hata yönetimi kullanılarak bildirilecektir. Öntanımlı olarak kapalıdır yani tür kitaplığının yüklemesi veya bulunmasındaki herhangi bir hata bildirilmeyecektir.

com.autoregister_casesensitive

Etkin durumda iken, öntanımlı olarak etkindir, COM nesneler örneklenirken otomatik yüklenen tür kitaplıklarındaki sabitler büyüklük duyarlı olarak kaydedilecektir. Daha fazla bilgi için com_load_typelib() işlevine bakınız.

com.code_page

COM nesnelerine gönderilen ve gelen dizgelerin öntanımlı karakter kod sayfasının ayarlanmasını sağlar. Eğer boş bir dizgeye ayarlanırsa, PHP CP_ACP sabitini alır, bu sabit öntanımlı olarak sistem ANSI kod sayfasına eşittir.

Eğer betiklerinizde öntanımlı olandan farklı bir karakter kümesi kullandıysanız, bu yönerge sizi com sınıf yapılandırıcısına, kod sayfasını bağımsız değişken olarak göndermekten kurtaracaktır. Bu yönergeyi kullanmak (diğer yapılandırma yönergelerinde olduğu gibi) PHP betiklerinizin daha az taşınabilir olmasına yol açar, eğer imkan dahilinde ise COM yapılandırma bağımsız değişkenlerini kullanmalısınız.

com.dotnet_version

dotnet nesneleri için kullanılacak .NET çerçevesinin sürümü; v harfi ile başlar, noktalarla ayrılmış çerçevenin sürüm numarasının ilk üç bölümünden oluşur; örnek: v4.0.30319.

com.typelib_file

Etkin duruma getirildiğinde, başlangıçta yüklenecek tür kitaplıklarının listesini içeren bir dosyayı göstermelidir. Dosyanın her bir satırı tür kitaplık ismi olarak com_load_typelib() işlevini çağırdığınızdaki gibi işlem görecektir. Kütüphanenin ihtiyacı olanı sadece bir kez yüklemek için sabitler kalıcı olarak kaydedilecektir. Eğer tür kitaplığı adı, #cis veya #case_insensitive dizgeleri ile bitiyorsa sabitler büyüklük duyarsız olarak kaydedilecektir.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

COM sabitleri
Sabit | Değer | Açıklama | Ek Bilgi
CLSCTX_INPROC_SERVER (int) | 1 | Bu sınıfı oluşturan ve yöneten kod; sınıf bağlamının belirtildiği işlevi çağıran süreçle aynı kimlikte çalışan bir DLL'dir. |
CLSCTX_INPROC_HANDLER (int) | 2 | Bu sınıfı oluşturan ve yöneten kod; istemcinin sürecinde çalışan bir DLL olup, sınıfın örneklerine uzaktan erişildiğinde sınıfın istemci tarafı yapılarını gerçekler. |
CLSCTX_LOCAL_SERVER (int) | 4 | Bu sınıfı oluşturan ve yöneten EXE kod; aynı makinede çalışır fakat ayrı bir süreç alanına yüklenir. |
CLSCTX_REMOTE_SERVER (int) | 16 | Uzak bir bağlam. Bu sınıfı oluşturan ve yöneten kod farklı bir bilgisayarda çalışır. |
CLSCTX_SERVER (int) | 21 | Süreç içi, yerel ya da uzaktaki sunucu kodunu belirtir. CLSCTX_INPROC_SERVER, CLSCTX_LOCAL_SERVER ve CLSCTX_REMOTE_SERVER sabitlerinin VEYAlanmasının sonucudur. |
CLSCTX_ALL (int) | 23 | Tüm sınıf bağlamlarını belirtir. CLSCTX_INPROC_HANDLER ve CLSCTX_SERVER sabitlerinin VEYAlanmasının sonucudur. |
VT_NULL (int) | 1 | NULL gösterici başvurusu. |
VT_EMPTY (int) | 0 | VT_EMPTY türünde bir özellikle ilişkili hiçbir veri yoktur, dolayısıyla değerin boyutu sıfırdır. |
VT_INT (int) | 22 | 4 baytlık işaretli tamsayı değer (VT_I4 eşdeğeri). |
VT_I1 (int) | 16 | Tek baytlık işaretli tamsayı değer. |
VT_I2 (int) | 2 | İki baytlık işaretli tamsayı değer. |
VT_I4 (int) | 3 | Dört baytlık işaretli tamsayı değer. |
VT_I8 (int) | 20 | 8 baytlık işaretli tamsayı değer | PHP 7.0.0 ve sonrasında kullanılabiliir (sadece x64).
VT_UINT (int) | 23 | 4 baytlık işaretsiz tamsayı değer (VT_UI4 eşdeğeri). |
VT_UI1 (int) | 17 | 1 baytlık işaretsiz tamsayı değer. |
VT_UI2 (int) | 18 | 2 baytlık işaretsiz tamsayı değer. |
VT_UI4 (int) | 19 | 4 baytlık işaretsiz tamsayı değer. |
VT_UI8 (int) | 21 | 8 baytlık işaretsiz tamsayı değer. | PHP 7.0.0 ve sonrasında kullanılabiliir (sadece x64).
VT_R4 (int) | 4 | 32 bitlik IEEE kayan noktalı değer. |
VT_R8 (int) | 5 | 64 bitlik IEEE kayan noktalı değer. |
VT_BOOL (int) | 11 | İkil değer. |
VT_ERROR (int) | 10 | Hata kodu olup hata ile ilgili durum kodunu içerir. |
VT_CY (int) | 6 | 8 baytlık ikinin tamamlayıcısı tamsayı (10,000'e ölçekli). |
VT_DATE (int) | 7 | 31 Aralık 1899'dan beri geçen günlerin sayısını gösteren 64 bitlik kayan noktalı bir sayı. Örneğin, 1 Ocak 1900 için 2.0, 2 Ocak 1900 için 3.0 gibi). VT_R8 ile aynı gösterimde saklanır. |
VT_BSTR (int) | 8 | NULL sonlandırmalı bir Unicode dizge için gösterici. |
VT_DECIMAL (int) | 14 | Onluk tabanda bir yapı. |
VT_UNKNOWN (int) | 13 | IUnknown arayüzünü gerçekleyen bir nesnenin göstericisi. |
VT_DISPATCH (int) | 9 | Belirtilen nesnenin götericisine gösterici. |
VT_VARIANT (int) | 12 | Tür ismi ile öncelenmiş olarak ilgili değer. VT_VARIANT sadece VT_BYREF ile kullanılabilir. |
VT_ARRAY (int) | 8192 | Tür belirteci ile VT_ARRAY VEYAlanırsa sonuç bir SAFEARRAY göstericisi olur. VT_ARRAY sadece şu veri türleri ile VEYAlanabilir: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4, VT_R8, VT_BOOL, VT_DECIMAL, VT_ERROR, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_UNKNOWN ve VT_VARIANT. |
VT_BYREF (int) | 16384 | Tür belirteci ile VT_BYREFVEYAlanırsa sonuç bir başvurudur. Başvuru türleri, C++'daki başvuru türlerine benzer şekilde veriye bir başvuru olarak yorumlanır. |
CP_ACP (int) | 0 | ANSI kod sayfasına öntanımlıdır. |
CP_MACCP (int) | 2 | Macintosh kod sayfası. |
CP_OEMCP (int) | 1 | OEM kod sayfasına öntanımlıdır. |
CP_UTF7 (int) | 65000 | Unicode (UTF-7). |
CP_UTF8 (int) | 65001 | Unicode (UTF-8). |
CP_SYMBOL (int) | 42 | SEMBOL çevirileri. |
CP_THREAD_ACP (int) | 3 | Geçerli evrenin ANSI kod sayfası. |
VARCMP_LT (int) | 0 | Sol bayt dizgesi, sağ bayt dizgesinden küçüktür. |
VARCMP_EQ (int) | 1 | İki terim eşittir. |
VARCMP_GT (int) | 2 | Sol bayt dizgesi, sağ bayt dizgesinden büyüktür. |
VARCMP_NULL (int) | 3 | Her ifade NULL'dur. |
NORM_IGNORECASE (int) | 1 | Harf büyüküğüne duyarlığı yoksay. |
NORM_IGNORENONSPACE (int) | 2 | Boşluk olmayan karakterleri yoksay. |
NORM_IGNORESYMBOLS (int) | 4 | Sembolleri yoksay. |
NORM_IGNOREWIDTH (int) | 131072 | Dizge uzunluğunu yoksay. |
NORM_IGNOREKANATYPE (int) | 65536 | Kana türünü yoksay. |
NORM_IGNOREKASHIDA (int) | 262144 | Arapça kaşida karakterleri yoksay. | Kullanılabilirliği altında çalıştığı kütüphaneye bağlıdır.
DISP_E_DIVBYZERO (int) | -2147352558 | Sıfırla bölme hatasını belirten dönen hata. | x64 üzerinde, PHP 7.0.0 itibariyle bu değer 2147614738'dir.
DISP_E_OVERFLOW (int) | -2147352566 | Bir değerin beklenen gösterimine zorlanamadığını belirten hata. | x64 üzerinde, PHP 7.0.0 itibariyle bu değer 2147614730'dur.
DISP_E_BADINDEX (int) | -2147352565 | Dizi indisinin mevcut olmadığını gösteren hata. | x64 üzerinde, PHP 7.0.0 itibariyle bu değer 2147614731'dir.
MK_E_UNAVAILABLE (int) | -2147221021 | iMoniker COM durum kodu; işlev çağrısının, kullanılamaması nedeniyle başarısız olduğu hatalarda döner. | x64 üzerinde, PHP 7.0.0 itibariyle bu değer 2147746275'tir.


Hatalar ve hata yönetimi

Eklenti, COM tarafından ölümcül bir hata rapor edildiği zaman com_exception sınıfının bir örneğini yavrular. Bütün COM istisnaları, çeşitli COM işlemlerinden dönen HRESULT geri dönüş değerine karşılık gelen, code özelliğine sahiptir. Bu özelliği, istisnaları nasıl yöneteceğinize karar vermekte kullanabilirsiniz.


  • « Hatalar ve hata yönetimi
  • For Each »
  • PHP Manual
  • COM
  • Örnekler

Örnekler

İçindekiler

  • For Each
  • Diziler ve Dizi tarzı COM özellikleri


For Each

COM/OLE IEnumVariant içeriği üzerinde foreach deyimi kullanılabilir. Bu, basit bir şekilde, VB/ASP kodunda For Each kullanılan yerlerde foreach kullanılabilir demektir.

Örnek 1 ASP'de For Each

<%
Set domainObject = GetObject("WinNT://Domain")
For Each obj in domainObject
  Response.Write obj.Name & "<br />"
Next
%>

Örnek 2 PHP'de foreach

<?php
$domainObject = new COM("WinNT://Domain");
foreach ($domainObject as $obj) {
echo $obj->Name . "<br />";
}
?>


Diziler ve Dizi tarzı COM özellikleri

Birçok COM nesnesi, özelliklerini dizi olarak gösterir veya dizi tarzı erişim ile kullanılır.

Yapılabilecekler:

  • Çok boyutlu dizilere veya PHP dizi sözdizimi ile çoklu bağımsız değişken kullanılmasına gerek olan COM özelliklerine erişim. Ayrıca bu teknik kullanılarak özellikleri yazmak veya atamak mümkündür.

  • SafeArrays ("true" dizileri) foreach deyimi ile yinelenebilir. SafeArrays kendi boyutu hakkında bilgiye sahip olduğundan bu çalışır. Eğer dizi tarzı bir özellik IEnumVariant ile gerçeklenirse foreach bu özellikle de kullanılabilir. Daha ayrıntılı bilgi için: For Each


com sınıfı

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Giriş

OLE uyumlu COM nesnelerinin örneklenerek yöntem ve özelliklerine erişilebilmesini sağlar.

Sınıf Sözdizimi

class com extends variant {
/* Yöntemler */
public __construct(
string $modül_adı,
array|string|null $sunucu_adı = null,
int $kodlama = CP_ACP,
string $kütüphane = ""
)
}

Aşırı Yüklenmiş Yöntemler

Döndürülen nesne aşırı yüklenmiş bir nesnedir, yani PHP normal sınıflarda olduğu gibi herhangi bir sabit yöntem görmez; bunun yerine, herhangi bir özellik veya yöntem erişimi COM'a iletilir.

PHP, gönderimli bağımsız değişken kabul eden yöntemleri otomatik olarak algılar ve değişkenlerini gönderimli iletilebilecek duruma kendisi getirir. Yani, yöntem normal şekilde çağırılabilir; kodun buna uygun hale getirilmesi için ek bir çabaya gerek yoktur.

com örnekleri

Örnek 1 - 1. com örneği

<?php
// word uygulamasını başlat
$word = new com("word.application") or die("Word başlatılamadı");
echo "Word yüklendi, sürümü: {$word->Version}\n";

// Öne getir
$word->Visible = 1;

// boş bir belge aç
$word->Documents->Add();

// bir şeyler yaz
$word->Selection->TypeText("Bu bir denemedir...");
$word->Documents[1]->SaveAs("Gereksiz test.doc");

// uygulamayı kapat
$word->Quit();

// nesneyi serbest bırak
$word = null;
?>

Örnek 2 - 2. com örneği

<?php

$conn = new com("ADODB.Connection") or die("ADO başlatılamadı");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM birtablo"); // Recordset

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++) {
$fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF) {
for ($i=0; $i < $num_columns; $i++) {
echo $fld[$i]->value . "\t";
}
echo "\n";
$rowcount++; // rowcount sayacı
$rs->MoveNext();
}

$rs->Close();
$conn->Close();

$rs = null;
$conn = null;

?>

İçindekiler

  • com::__construct — com nesnesi oluşturur


com nesnesi oluşturur

  • « com
  • dotnet »
  • PHP Manual
  • com
  • com nesnesi oluşturur

com::__construct

(PHP 4 > 4.1.0, PHP 5, PHP 7, PHP 8)

com::__construct — com nesnesi oluşturur

Açıklama

public com::__construct(
string $modül_adı,
array|string|null $sunucu_adı = null,
int $kodlama = CP_ACP,
string $kütüphane = ""
)

Yeni bir com nesnesi oluşturur.

Bağımsız Değişkenler

modül_adı
Yüklenecek bileşeni adlandıran bir süreç kimliği, sınıf kimliği veya bir takma ad olabilir. Süreç kimliği genelde bir uygulama veya DLL adını izleyen bir nokta ve nesne adından oluşur (Word.Application gibi). Sınıf kimliği belirtilen sınıfı eşsiz olarak betimleyen bir UUID'dir. Takma ad, URL şemasına benzer özel bir isimlendirme şeklidir. Bir özkaynağı betimler ve nasıl yükleneceğini belirtir. Örnek olarak, Word'ü yükleyebilir ve modül adı olarak word belgesinin tam yolunu belirterek bir word belgesini temsil eden bir nesne alınabilir veya ADSI arayüzünü kullanmak için LDAP: bir takma ad olarak kullanılabilir.
sunucu_adı
Bileşenin yüklenip çalıştırılacağı DCOM sunucusunun adı. null ise, nesne, uygulama öntanımlısı kullanılarak çalıştırılır. Bu öntanımlı değer genelde uygulamayı yerel makinede çalıştırmak içindir (yönetici, uygulamayı farklı bir makinede çalıştırılacak şekilde yapılandırmış olsa bile). Sunucu olarak null olmayan bir değer belirtilirse, PHP, com.allow_dcom php.ini yönergesinin değeri true olmadıkça nesneyi yüklemeyi reddedecektir.

sunucu_adı bir diziyse, aşağıdaki öğeleri içermelidir (büyük/küçük harfe duyarlı!). Hepsinin isteğe bağlı olduğu unutulmamalıdır (Kullanıcı Adı ve Parolanın birlikte belirtilmesi gerekmesine rağmen); Sunucu değerlerini atlanırsa, öntanımlı sunucu kullanılır (yukarıda belirtildiği gibi) ve nesnenin örneklenmesi com.allow_dcom php.ini yönergesinden etkilenmez.

DCOM sunucu adı
Anahtar | Tür | Açıklama
Server | string | Sunucunun adı.
Username | string | Bağlanacak kullanıcının adı.
Password | string | Username için parola.
Domain | string | server alan adı.
Flags | integer | CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER ve CLSCTX_ALL sabitlerinden biri veya bitsel VEYA'sı. Bir değer belirtilmez ve Server atlanırsa CLSCTX_SERVER öntanımlıdır; sunucu_adı belirtilmezse CLSCTX_REMOTE_SERVER öntanımlıdır. Bu sabitlerin anlamı hakkında daha fazla bilgi için CoCreateInstance ile ilgili Microsoft belgelerine bakınız; genellikle bunları kullanmak zorunda kalınmaz.

kodlama
Dizgeleri UTF-8 dizgelerine dönüştürmek veya tersini yapmak için kullanılacak karakter kodlamasıdır. Dönüşüm, nesneye bir PHP dizgesi bağımsız değişken olarak aktarıldığında veya nesnenin bir yönteminden dönen değere uygulanır. Karakter kodlaması yapışkandır, yani nesneden döndürülen nesnelere ve değişkenlere de uygulanır. Olası değerler: CP_ACP (sistem öntanımlısı ANSI kodlaması kullanılır - bu bağımsız değişken atlanırsa öntanımlıdır), CP_MACCP CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (çalışmakta olan evrenin karakter kodlaması veya yereli kullanılır), CP_UTF7 ve CP_UTF8. Ayrıca, karakter kodlamasını belirtmek için numarası da kullanılabilir, bu numaralar hakkında bilgi edinmek için Microsoft belgelerine bakılabilir.


dotnet sınıfı

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Giriş

dotnet sınıfı, bir .Net derlemesinden bir sınıfın örneklenmesini ve » COM'a görünür iseler yöntemlerinin çağrılabilmesini ve özelliklerine erişilebilmesini sağlar.

Statik sınıfların örneklenmesi veya statik yöntemlerin çağrılması desteklenmediği gibi System.Collections.Generic.List gibi soysal sınıfların örneklenmesi de desteklenmemektedir.

Bazı .Net sınıfları IDispatch'i gerçeklemediğinden örneklenebilseler bile bu sınıflardaki yöntemlerin çağrılması veya özelliklerine erişilmesi desteklenmemektedir.

Bilginize:

Bu özellikten faydalanmak için http sunucunuza .Net çalıştırılabilirini kurmanız gerekmektedir.

Bilginize:

PHP 8.0.0 öncesinde, .Net framework 4.0 ve sonraki sürümleri, dotnet sınıfı tarafından desteklenmezdi. Derlemeler regasm.exe ile kaydedilmişse, sınıflar com nesneleri olarak örneklenebiliyordu. PHP 8.0.0 itibariyle, .Net framework 4.0 ve sonraki sürümleri, com.dotnet_version php.ini yönergesi üzerinden desteklenmektedir.

Sınıf Sözdizimi

class dotnet extends variant {
/* Yöntemler */
public __construct(string $derleyici_adı, string $veri_türü, int $kodlama = CP_ACP)
}

Aşırı Yüklenmiş Yöntemler

Döndürülen nesne aşırı yüklenmiş bir nesnedir, yani PHP normal sınıflarda olduğu gibi herhangi bir sabit yöntem görmez; bunun yerine, herhangi bir özellik veya yöntem erişimi COM'a oradan da DOTNET'e iletilir. Başka bir deyişle, .Net nesnesi, .Net çalıştırılabiliri tarafından sağlanan COM birlikte çalışabilirlik katmanı aracılığıyla eşlenir.

Bir kez bir dotnet nesnesi oluşturulduğunda, PHP ona herhangi bir COM nesnesine davrandığı gibi davranır; aynı kurallar uygulanır.

dotnet örnekleri

Örnek 1 dotnet örneği

<?php
$stack = new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>

İçindekiler

  • dotnet::__construct — dotnet nesnesi oluşturur


dotnet nesnesi oluşturur

  • « dotnet
  • variant »
  • PHP Manual
  • dotnet
  • dotnet nesnesi oluşturur

dotnet::__construct

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

dotnet::__construct — dotnet nesnesi oluşturur

Açıklama

public dotnet::__construct(string $derleyici_adı, string $veri_türü, int $kodlama = CP_ACP)

Yeni bir dotnet nesnesi oluşturur.

Bağımsız Değişkenler

derleyici_adı
Yüklenecek derleyicinin adı.
veri_türü
Derleyicinin örnekleyeceği sınıf.
kodlama
UTF-8 dönüşümünde kullanılacak karakter kodlaması. Karakter kodlamaları için bkz: com


variant sınıfı

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Giriş

VARIANT, COM'un PHP zval eşdeğeridir; farklı olası türlerde değer içerebilen bir yapıdır. COM eklentisi tarafından sağlanan variant sınıfı, PHP'den COM'a ve COM'dan PHP'ye bu değerlerin aktarımında daha fazla denetim sahibi olmanızı sağlar.

Sınıf Sözdizimi

class variant {
/* Yöntemler */
public __construct(mixed $değer = null, int $veri_türü = VT_EMPTY, int $kodlama = CP_ACP)
}

variant örnekleri

Örnek 1 - variant örneği

<?php
$v = new variant(42);
print "Değişkenin türü: " . variant_get_type($v) . "<br/>";
print "Değişkenin değeri: " . $v . "<br/>";
?>

Bilginize:

Bir değer döndürülürken veya bir variant özelliği alınıp getirilirken, yalnızca dönüşüm sırasında türler arasında bilgi kaybına neden olmayacak doğrudan bir eşleme olduğunda bir PHP değerine dönüştürülür. Diğer tüm durumlarda sonuç, variant sınıfının nesnesi olarak döndürülür. PHP, tür dönüşüm işleci kullanılarak örtük vaya doğrudan bir dizge olarak basılmak üzere variant'ın bir PHP yerel türüne dönüştürülmesine veya değerlendirilmesine zorlanabilir. Bir dönüştürmeyi zorlamadan veya veri kaybı riskine girmeden variant'lar üzerinde aritmetik işlemler gerçekleştirmeyi sağlayan variant işlevleri de vardır.

Ayrıca bkz: variant_get_type().

İçindekiler

  • variant::__construct — variant nesnesi oluşturur


variant nesnesi oluşturur

  • « variant
  • COMPersistHelper »
  • PHP Manual
  • variant
  • variant nesnesi oluşturur

variant::__construct

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

variant::__construct — variant nesnesi oluşturur

Açıklama

public variant::__construct(mixed $değer = null, int $veri_türü = VT_EMPTY, int $kodlama = CP_ACP)

Yeni bir variant nesnesi oluşturur.

Bağımsız Değişkenler

değer
İlk değer. Atlanırsa veya null belirtilirse bir VT_EMPTY nesnesi oluşur.
veri_türü
Nesnenin içerik türü. Olası değerler VT_XXX Öntanımlı Sabitlerinden biridir. PHP gönderimli aktarılan değerleri, variant nesneleri olmasalar bile otomatik olarak saptayabilir. VARIANT türü hakkında bilgi için MSDN kütüphanesinde bakınız.
kodlama
UTF-8 dönüşümünde kullanılacak karakter kodlaması. Karakter kodlamaları için bkz: com


COMPersistHelper sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

COMPersistHelper sınıfı, akım özkaynakları ve open_basedir php.ini yönergesi ile ilgili olarak COM ve PHP'nin birlikte çalışabilirliğini iyileştirir.

Sınıf Sözdizimi

final class COMPersistHelper {
/* Yöntemler */
public __construct(?variant $variant = null)
public GetCurFileName(): string|false
public GetMaxStreamSize(): int
public InitNew(): bool
public LoadFromFile(string $filename, int $flags = 0): bool
public LoadFromStream(resource $stream): bool
public SaveToFile(?string $filename, bool $remember = true): bool
public SaveToStream(resource $stream): bool
}

İçindekiler

  • COMPersistHelper::__construct — COMPersistHelper nesnesi oluşturur
  • COMPersistHelper::GetCurFileName — Get current filename
  • COMPersistHelper::GetMaxStreamSize — Get maximum stream size
  • COMPersistHelper::InitNew — Initialize object to default state
  • COMPersistHelper::LoadFromFile — Load object from file
  • COMPersistHelper::LoadFromStream — Load object from stream
  • COMPersistHelper::SaveToFile — Save object to file
  • COMPersistHelper::SaveToStream — Save object to stream


COMPersistHelper nesnesi oluşturur

  • « COMPersistHelper
  • COMPersistHelper::GetCurFileName »
  • PHP Manual
  • COMPersistHelper
  • COMPersistHelper nesnesi oluşturur

COMPersistHelper::__construct

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::__construct — COMPersistHelper nesnesi oluşturur

Açıklama

public COMPersistHelper::__construct(?variant $variant = null)

Belirtilen variant ile ilişkili kalıcı bir yardımcı nesne oluşturur.

Bağımsız Değişkenler

variant
IDispatch'i gerçekleyen bir COM nesnesi. COMPersistHelper sınıfının yöntemlerinden herhangi birini başarıyla çağırabilmek için nesnenin IPersistFile, IPersistStream ve/veya IPersistStreamInit arayüzünü gerçeklemesi gerekir. variant olarak null aktarılması, yalnızca nesne COMPersistHelper::LoadFromStream() çağrılarak bir akımdan yüklenecekse yararlıdır.


Get current filename

  • « COMPersistHelper::__construct
  • COMPersistHelper::GetMaxStreamSize »
  • PHP Manual
  • COMPersistHelper
  • Get current filename

COMPersistHelper::GetCurFileName

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::GetCurFileName — Get current filename

Açıklama

public COMPersistHelper::GetCurFileName(): string|false

Retrieves the current name of the file associated with the object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current name of the file associated with the object.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::GetCurFile() method failed.


Get maximum stream size

  • « COMPersistHelper::GetCurFileName
  • COMPersistHelper::InitNew »
  • PHP Manual
  • COMPersistHelper
  • Get maximum stream size

COMPersistHelper::GetMaxStreamSize

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::GetMaxStreamSize — Get maximum stream size

Açıklama

public COMPersistHelper::GetMaxStreamSize(): int

Retrieves the size of the stream (in bytes) needed to save the object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the size of the stream (in bytes) needed to save the object.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does neither implement the COM interface IPersistStream nor IPersistStreamInit, or when calling the IPersistStream::GetSizeMax() method failed.


Initialize object to default state

  • « COMPersistHelper::GetMaxStreamSize
  • COMPersistHelper::LoadFromFile »
  • PHP Manual
  • COMPersistHelper
  • Initialize object to default state

COMPersistHelper::InitNew

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::InitNew — Initialize object to default state

Açıklama

public COMPersistHelper::InitNew(): bool

Initializes an object to a default state.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does not implement the COM interface IPersistStreamInit, or when calling its IPersistStreamInit::Init() method failed.


Load object from file

  • « COMPersistHelper::InitNew
  • COMPersistHelper::LoadFromStream »
  • PHP Manual
  • COMPersistHelper
  • Load object from file

COMPersistHelper::LoadFromFile

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::LoadFromFile — Load object from file

Açıklama

public COMPersistHelper::LoadFromFile(string $filename, int $flags = 0): bool

Opens the specified file and initializes an object from the file contents.

Bağımsız Değişkenler

filename
The name of the file from which to load the object.
flags
The access mode to be used when opening the file. Possible values are taken from the » STGM enumeration. The method can treat this value as a suggestion, adding more restrictive permissions if necessary. If flags is 0, the implementation is supposed to open the file using whatever default permissions are used when a user opens the file.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::Load() method failed.


Load object from stream

  • « COMPersistHelper::LoadFromFile
  • COMPersistHelper::SaveToFile »
  • PHP Manual
  • COMPersistHelper
  • Load object from stream

COMPersistHelper::LoadFromStream

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::LoadFromStream — Load object from stream

Açıklama

public COMPersistHelper::LoadFromStream(resource $stream): bool

Initializes an object from the stream where it was saved previously.

Bağımsız Değişkenler

stream
The stream resource from which to load the object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does not implement the COM interface IPersistStream, or when calling the IPersistStream::Load() method failed.


Save object to file

  • « COMPersistHelper::LoadFromStream
  • COMPersistHelper::SaveToStream »
  • PHP Manual
  • COMPersistHelper
  • Save object to file

COMPersistHelper::SaveToFile

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::SaveToFile — Save object to file

Açıklama

public COMPersistHelper::SaveToFile(?string $filename, bool $remember = true): bool

Saves a copy of the object to the specified file.

Bağımsız Değişkenler

filename
The name of the file to which to save the object.
remember
Indicates whether the filename parameter is to be used as the current working file. If true, filename becomes the current file and the object is supposed to clear its dirty flag after the save. If false, this save operation is a "Save A Copy As ..." operation. In this case, the current file is unchanged and the object is not supposed to clear its dirty flag.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does not implement the COM interface IPersistFile, or when calling the IPersistFile::Save() method failed.

Örnekler

Örnek 1 Basic COMPersistHelper::saveToFile() Usage

<?php
$word = new COM('Word.Application');
$doc = $word->Documents->Add();
$ph = new COMPersistHelper($doc);
$ph->SaveToFile('C:\\Users\\cmb\\Documents\\my.docx');
$word->Quit();
?>


Save object to stream

  • « COMPersistHelper::SaveToFile
  • com_exception »
  • PHP Manual
  • COMPersistHelper
  • Save object to stream

COMPersistHelper::SaveToStream

(PHP 5, PHP 7, PHP 8)

COMPersistHelper::SaveToStream — Save object to stream

Açıklama

public COMPersistHelper::SaveToStream(resource $stream): bool

Saves an object to the specified stream.

Bağımsız Değişkenler

stream
The stream resource to which to save the object.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

A com_exception is thrown if the associated object does neither implement the COM interface IPersistStream nor IPersistStreamInit, or when calling the IPersistStream::Save() method failed.


com_exception sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

final class com_exception extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


COM İşlevleri

Ayrıca Bakınız

COM hakkında daha başka bilgiler için » COM tanımları belgesine bakınız. PHP ve COM FAQ internet sayfalarında da yararlı bilgiler bulabilirsiniz. MS Office uygulamalarını sunucu tarafında kullanmayı düşünüyorsanız » Office sunucu taraflı özdevinim belgelerine bakınız.

İçindekiler

  • com_create_guid — Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir
  • com_event_sink — Bir COM nesnesinden, PHP nesnesine olayları bağlar
  • com_get_active_object — COM nesnesinin çalışan bir örneği için tanıtıcı döner
  • com_load_typelib — Verilen tür kütüphanesini yükler
  • com_message_pump — COM iletilerini işler, zaman_asimi süresince uykudadır
  • com_print_typeinfo — İncelenebilecek şekilde PHP sınıf tanımını yazar
  • variant_abs — Bir değerin mutlak değerini döndürür
  • variant_add — İki varyant değeri birleştirir ve sonucu geri döndürür
  • variant_and — İki varyant üzerinde ikilik VE işlemi yapar
  • variant_cast — Varyantı başka türde bir varyant nesneye dönüştürür
  • variant_cat — İki varyant değeri birleştirir ve sonucu geri döndürür
  • variant_cmp — İki varyant değerini karşılaştırır
  • variant_date_from_timestamp — Unix zaman damgasının varyant tarih gösterimini döndürür
  • variant_date_to_timestamp — Varyant tarih/zaman değerini Unix zaman damgasına çevirir
  • variant_div — İki varyant değerin bölme sonucunu döndürür
  • variant_eqv — İki varyant arasında ikilik denklik karşılaştırması yapar
  • variant_fix — Varyantın tamsayı kısmını geri döndürür
  • variant_get_type — Varyant nesnenin türünü geri döndürür
  • variant_idiv — Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür
  • variant_imp — İki varyant üzerinde ikilik çıkarım yapar
  • variant_int — Değerin tamsayı kısmını döndürür
  • variant_mod — İki varyantın bölme işleminden kalanı geri döndürür
  • variant_mul — İki varyant değerleri için çarpma işlemi yapar
  • variant_neg — Bir değer üzerinde mantıksal değil işlemi yapar
  • variant_not — Bir varyant üzerinde ikilik değil işlemi yapar
  • variant_or — İki varyant üzerinde mantıksal ayırma işlemi yapar
  • variant_pow — Üs alma işlemi yaparak sonucu döndürür
  • variant_round — Bir varyantı verilen ondalık basamağa yuvarlar
  • variant_set_type — Varyantı başka bir türe "yerinde" dönüştürür
  • variant_set — Varyant nesnesine yeni bir değer verir
  • variant_sub — Sağ varyant değerini sol varyant değerinden çıkartır
  • variant_xor — İki varyant arasında mantıksal çıkarma yapar


Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir

  • « COM İşlevleri
  • com_event_sink »
  • PHP Manual
  • COM İşlevleri
  • Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir

com_create_guid

(PHP 5, PHP 7, PHP 8)

com_create_guid — Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir

Açıklama

com_create_guid(): string|false

Küresel benzersiz tanımlayıcı üretir.

Bir GUID, Microsoft geleneğine göre, kaşlı ayraç ile sarmalanması dışında, DCE UUID ile benzer şekilde üretilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Dizge olarak GUID, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • PECL uuid eklentisindeki uuid_create()


Bir COM nesnesinden, PHP nesnesine olayları bağlar

  • « com_create_guid
  • com_get_active_object »
  • PHP Manual
  • COM İşlevleri
  • Bir COM nesnesinden, PHP nesnesine olayları bağlar

com_event_sink

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_event_sink — Bir COM nesnesinden, PHP nesnesine olayları bağlar

Açıklama

com_event_sink(variant $nesne, object $alici_nesne, array|string|null $alici_arayuz = null): bool

nesne ile üretilen olayların, PHP nesnesi alici_nesne içine bağlanmasını sağlar.

Bu özelliği kullanırken dikkatli olun; eğer aşağıdaki örnek benzeri bir şey yapıyorsanız bunun bir http sunucusunda çalışmasının anlamı yoktur.

Bağımsız Değişkenler

nesne

alici_nesne

alici_nesne istenen arayüzün yöntem isimlerinin olduğu sınıftan türemiş nesne olmalıdır; bu amaçla şablon bir sınıf üretmek için com_print_typeinfo() işlevinden yardım alabilirsiniz.

alici_arayuz

PHP, nesne tür kitaplığındaki öntanımlı arayüz türünü kullanmaya çalışacaktır, bu durumu kullanmak istediğiniz arayüzü alici_arayuz bağımsız değişkenine yazarak engelleyebilirsiniz.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | alici_arayuz artık null olabiliyor.

Örnekler

Örnek 1 - COM olay bağlayıcı örneği

<?php
class IEEventSinker {
var $terminated = false;

function ProgressChange($progress, $progressmax) {
echo "İndirme işlemi: $progress / $progressmax\n";
}

function DocumentComplete(&$dom, $url) {
echo "$url tamamlandı\n";
}

function OnQuit() {
echo "Çık!\n";
$this->terminated = true;
}
}
$ie = new COM("InternetExplorer.Application");
// PHP 5 ile & kullanılmasına gerek kalmadığına dikkat edin!
$sink = new IEEventSinker();
com_event_sink($ie, $sink, "DWebBrowserEvents2");
$ie->Visible = true;
$ie->Navigate("http://www.example.org");
while(!$sink->terminated) {
com_message_pump(4000);
}
$ie = null;
?>

Notlar

Dikkat

PHP 8.0.0 öncesinde, bir olay işleyicisinden exit() çağrılması desteklenmezdi ve PHP'nin çökmesine sebep olurdu. Çevresinden dolanarak bu çalışabilir: Olay işleyicisinden bir istisna yavrulanır ve ana kodda istisna yakalanıp oradan exit() çağrısı yapılabilir.

Ayrıca Bakınız

  • com_print_typeinfo() - İncelenebilecek şekilde PHP sınıf tanımını yazar
  • com_message_pump() - COM iletilerini işler, zaman_asimi süresince uykudadır


COM nesnesinin çalışan bir örneği için tanıtıcı döner

  • « com_event_sink
  • com_load_typelib »
  • PHP Manual
  • COM İşlevleri
  • COM nesnesinin çalışan bir örneği için tanıtıcı döner

com_get_active_object

(PHP 5, PHP 7, PHP 8)

com_get_active_object — COM nesnesinin çalışan bir örneği için tanıtıcı döner

Açıklama

com_get_active_object(string $prog_id, ?int $kod_sayfası = null): variant

com_get_active_object() işlevi com nesnesinden yeni bir örnek yaratma ile benzer işi yapar. Aralarındaki fark eğer nesne hali hazırda çalışıyorsa işlevden bir nesne dönecektir. OLE uygulamaları, sık kullanılan uygulamaları sadece bir kez yüklemek için Çalışan Nesne Tablosu ("Running Object Table") olarak bilinen yapıyı kullanır; bu işlev çalışan nesne tanıtıcısını almak için COM kütüphanesinden GetActiveObject() işlevini kullanır.

Bağımsız Değişkenler

prog_id

Erişmek istediğiniz nesne için (örneğin Word.Application) prog_id bağımsız değişkeni ProgID veya CLSID olmalıdır.

kod_sayfası

Tam olarak com sınıfındaki gibi rol oynar.

Dönen Değerler

İstenen nesne çalışıyorsa, betiğinizdeki herhangi bir COM nesnesi gibi döndürülecektir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | kod_sayfası artık null olabiliyor.

Hatalar/İstisnalar

İşlevin başarısız olmasının çeşitli nedenleri vardır, en sık karşılaşılan istenen nesnenin çalışmamasından kaynaklanır. Bu durumda, istisna hata kodu MK_E_UNAVAILABLE olacaktır; Hata kodunu kontrol etmek için istisna nesnesinin getCode yöntemini kullanabilirsiniz.

Notlar

Uyarı

com_get_active_object() işlevini bir html sunucuda kullanmak akıllıca bir fikir değildir. Birçok COM/OLE uygulaması eşzamanlı birden fazla istemci ile çalışacak şekilde tasarlanmamıştır, hatta (özellikle) Microsoft Office bile. Bu konuda daha fazla bilgi için » Sunucu taraflı ofis özdevinimi üzerine düşünceler adresine bakınız.


Verilen tür kütüphanesini yükler

  • « com_get_active_object
  • com_message_pump »
  • PHP Manual
  • COM İşlevleri
  • Verilen tür kütüphanesini yükler

com_load_typelib

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

com_load_typelib — Verilen tür kütüphanesini yükler

Açıklama

com_load_typelib(string $tür_kütüphanesi, bool $harf_büyüklüğüne_duyarsız = true): bool

Tür kütüphanesini yükler ve define() işlevi kullanılarak tanımlanan sabitlerini kaydeder.

Ön yükleme ve kaydetme için bu kadar esnek olmasa da com.typelib-file php.ini yönergesini kullanmak çok daha etkilidir.

com.autoregister-typelib php.ini yönergesi etkin duruma getirilirse, PHP otomatik olarak bir COM nesnesi başlattığınızda onunla ilişkili sabitleri kaydetmeye çalışır. Bu işlev COM nesnesinin kendisi tarafından sağlanan arayüze bağlıdır ve her zaman geçerli değildir.

Bağımsız Değişkenler

tür_kütüphanesi

tür_kütüphanesi aşağıdakilerden biri olabilir:

  • .tlb dosyasının veya tür kütüphanesini içeren çalıştırılabilir modülün adı.

  • Tür kütüphanesi GUID, sürüm numarası, örneğin; {00000200-0000-0010-8000-00AA006D2EA4},2,0.

  • Tür kütüphanesi adı, örneğin; Microsoft OLE DB ActiveX Data Objects 1.0 Library.

PHP tür kütüphanesini çözümlemeye çalışacaktır, süreç sıralamada aşağı doğru gidildikçe daha fazla kaynak gerektirecektir; tür kütüphanesini adı ile aramak, uygun bir eşleşme bulana kadar kayıt defterini fiziksel olarak tarayacaktır.

harf_büyüklüğüne_duyarsız

define() işlevindeki aynı isimli bağımsız değişken gibi çalışır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


COM iletilerini işler, zaman_asimi süresince uykudadır

  • « com_load_typelib
  • com_print_typeinfo »
  • PHP Manual
  • COM İşlevleri
  • COM iletilerini işler, zaman_asimi süresince uykudadır

com_message_pump

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_message_pump — COM iletilerini işler, zaman_asimi süresince uykudadır

Açıklama

com_message_pump(int $zaman_asimi = 0): bool

İşlev, zaman_asimi milisaniye süresince veya kuyruğa bir ileti gelene kadar uyuyacaktır.

İşlevin amacı, bölümler arasındaki COM çağrılarını yönlendirmek ve çeşitli eşzamanlama konularını çözmektir. Bu diğer olaylar işlenirken veya arkaplanda diğer kodlar çalışırken, olayların tetiklediği betiğinizin etkili bir şekilde beklemesini sağlayacaktır. com_event_sink() işlevi örneğinde gösterildiği gibi, olay bağlı COM nesnesi kullanımı bitene kadar bir döngü içinde kullanılmalıdır.

Bağımsız Değişkenler

zaman_asimi

Milisaniye cinsinden zaman aşımı.

zaman_asimi bağımsız değişkenini belirtmezseniz öntanımlı olarak 0 alınacaktır. 0 beklenmeyeceği anlamına gelir; bekleyen mesajlar varsa önce işlenecektir, bekleyen mesaj yoksa işlev uyumaksızın false döndürecektir.

Dönen Değerler

Eğer mesaj veya mesajlar zaman aşımından önce gelirse işlenecektir ve işlev true döndürecektir. Eğer zaman aşımı gerçekleşirse ve hiç bir mesaj işlenmediyse geri dönüş değeri false olacaktır.


İncelenebilecek şekilde PHP sınıf tanımını yazar

  • « com_message_pump
  • variant_abs »
  • PHP Manual
  • COM İşlevleri
  • İncelenebilecek şekilde PHP sınıf tanımını yazar

com_print_typeinfo

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

com_print_typeinfo — İncelenebilecek şekilde PHP sınıf tanımını yazar

Açıklama

com_print_typeinfo(variant|string $nesne, ?string $arayuz = null, bool $baglama = false): bool

İşlevin amacı olay bağlamada kullanmak için sınıf yapısının üretilmesidir. İşlev ayrıca, içbakış arayüzlerinin desteklediği kadar, herhangi bir COM nesnesinin dökümünü üretmek için kullanılabilir, görüntülenmek istenen arayüz adı bilinmelidir.

Bağımsız Değişkenler

nesne

nesne bağımsız değişkeni ya COM nesnesinin bir örneği ya da tür kütüphane adı (com_load_typelib() işlevinde gösterilen kurallara göre çözümlenir) olmalıdır.

arayuz

Gösterilecek IDispatch astsalı arayüzün adı.

baglama

true belirtilirse karşılık gelen bağlama arayüzü gösterilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • com_event_sink() - Bir COM nesnesinden, PHP nesnesine olayları bağlar
  • com_load_typelib() - Verilen tür kütüphanesini yükler


Bir değerin mutlak değerini döndürür

  • « com_print_typeinfo
  • variant_add »
  • PHP Manual
  • COM İşlevleri
  • Bir değerin mutlak değerini döndürür

variant_abs

(PHP 5, PHP 7, PHP 8)

variant_abs — Bir değerin mutlak değerini döndürür

Açıklama

variant_abs(mixed $değer): variant

değerin mutlak değerini döndürür.

Bağımsız Değişkenler

değer

Değer.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

değerin mutlak değerini döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • abs() - Absolute value


İki varyant değeri birleştirir ve sonucu geri döndürür

  • « variant_abs
  • variant_and »
  • PHP Manual
  • COM İşlevleri
  • İki varyant değeri birleştirir ve sonucu geri döndürür

variant_add

(PHP 5, PHP 7, PHP 8)

variant_add — İki varyant değeri birleştirir ve sonucu geri döndürür

Açıklama

variant_add(mixed $sol, mixed $sag): variant

Aşağıdaki kuralları (MSDN kütüphanesinden alınmıştır) kullanarak, sol bağımsız değişkeni sag bağımsız değişken ile birleştirir.

Varyant Birleştirme Kuralları
Durum | Sonuç
İki deyim dizge tipinde | Ekleme
Bir deyim dizge diğeri karakter türünde | Toplama
Bir deyim sayısal diğeri dizge türünde | Toplama
İki deyimde sayısal | Toplama
Deyimlerden biri NULL | NULL döner
Her iki deyim boş | Tamsayı döner

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

İşlem sonucunu döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_sub() - Sağ varyant değerini sol varyant değerinden çıkartır


İki varyant üzerinde ikilik VE işlemi yapar

  • « variant_add
  • variant_cast »
  • PHP Manual
  • COM İşlevleri
  • İki varyant üzerinde ikilik VE işlemi yapar

variant_and

(PHP 5, PHP 7, PHP 8)

variant_and — İki varyant üzerinde ikilik VE işlemi yapar

Açıklama

variant_and(mixed $sol, mixed $sag): variant

İkilik VE işlemi yapar. Normal VE işleminden oldukça farklı olduğunu belirtmemiz gerekir.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant VEleme Kuralları
sol | sag | Sonuç
true | true | true
true | false | false
true | null | null
false | true | false
false | false | false
false | null | false
null | true | null
null | false | false
null | null | null

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_or() - İki varyant üzerinde mantıksal ayırma işlemi yapar


Varyantı başka türde bir varyant nesneye dönüştürür

  • « variant_and
  • variant_cat »
  • PHP Manual
  • COM İşlevleri
  • Varyantı başka türde bir varyant nesneye dönüştürür

variant_cast

(PHP 5, PHP 7, PHP 8)

variant_cast — Varyantı başka türde bir varyant nesneye dönüştürür

Açıklama

variant_cast(variant $varyant, int $tür): variant

İşlev varyant bağımsız değişkeninin kopyasını oluşturur, daha sonra kopyayı türe çarpıtma işlemi yapar.

İşlev COM kütüphanesindeki VariantChangeType() işlevini sarmalar; daha fazla bilgi için MSDN'ye bakınız.

Bağımsız Değişkenler

varyant

Varyant.

tür

tur VT_XXX sabitlerinden biri olmalıdır.

Dönen Değerler

Belirtilen türde bir varyant döndürür.

Ayrıca Bakınız

  • variant_set_type() - Varyantı başka bir türe "yerinde" dönüştürür


İki varyant değeri birleştirir ve sonucu geri döndürür

  • « variant_cast
  • variant_cmp »
  • PHP Manual
  • COM İşlevleri
  • İki varyant değeri birleştirir ve sonucu geri döndürür

variant_cat

(PHP 5, PHP 7, PHP 8)

variant_cat — İki varyant değeri birleştirir ve sonucu geri döndürür

Açıklama

variant_cat(mixed $sol, mixed $sag): variant

sol ile sag birleştirmesi yapar ve sonucu döndürür.

İşlev gösterim olarak $sol . $sag yazılmasına eşittir.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Birleştirmenin sonucunu döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • Dizge birleştirme işleçleri için Dizge İşleçleri belgesine bakınız


İki varyant değerini karşılaştırır

  • « variant_cat
  • variant_date_from_timestamp »
  • PHP Manual
  • COM İşlevleri
  • İki varyant değerini karşılaştırır

variant_cmp

(PHP 5, PHP 7, PHP 8)

variant_cmp — İki varyant değerini karşılaştırır

Açıklama

variant_cmp(
mixed $sol,
mixed $sag,
int $yerel = LOCALE_SYSTEM_DEFAULT,
int $secenekler = 0
): int

sol ile sag karşılaştırması yapar.

İşlev sadece sayıl değerleri karşılaştırır, dizi veya varyant için çalışmaz.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

yerel

Dizgeleri karşılaştırırken kullanılacak geçerli bir yerel tanımlayıcı (dizge karşılaştırmayı etkiler).

secenekler

secenekler aşağıdakilerden biri veya birkaçı olabilir, OR ile birleştirilir ve dizge karşılaştırmasını etkiler:

Varyant Karşılaştırma Seçenekleri
deger | anlamı
NORM_IGNORECASE | Büyüklük duyarsız karşılaştırma
NORM_IGNORENONSPACE | Boşluksuz karakterleri dikkate alma
NORM_IGNORESYMBOLS | Sembolleri dikkate alma
NORM_IGNOREWIDTH | Dizge genişliğini dikkate alma
NORM_IGNOREKANATYPE | Kana tarzını dikkate alma
NORM_IGNOREKASHIDA | Arap keşide karakterini dikkate alma

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Aşağıdakilerden biri geri döner:

Varyant Karşılaştırma Sonuçları
değer | anlamı
VARCMP_LT | sol sag'dan küçüktür
VARCMP_EQ | sol ile sag eşittir
VARCMP_GT | sol sag'dan büyüktür
VARCMP_NULL | sol, sag veya ikisi birden null'dur.


Unix zaman damgasının varyant tarih gösterimini döndürür

  • « variant_cmp
  • variant_date_to_timestamp »
  • PHP Manual
  • COM İşlevleri
  • Unix zaman damgasının varyant tarih gösterimini döndürür

variant_date_from_timestamp

(PHP 5, PHP 7, PHP 8)

variant_date_from_timestamp — Unix zaman damgasının varyant tarih gösterimini döndürür

Açıklama

variant_date_from_timestamp(int $zamandamgasi): variant

Unix zamandamgasi değerini VT_DATE türü varyant tarihe çevirir. COM ve PHP'nin unix parçaları arasında çalışma kolaylığı sağlar.

Bağımsız Değişkenler

zamandamgasi

Unix zaman damgası.

Dönen Değerler

VT_DATE türünde varyant bir değer döndürür.

Ayrıca Bakınız

  • variant_date_to_timestamp() - Varyant tarih/zaman değerini Unix zaman damgasına çevirir
  • mktime() - Bir tarih için Unix zaman damgasını döndürür
  • time() - Geçerli Unix zaman damgasını döndürür


Varyant tarih/zaman değerini Unix zaman damgasına çevirir

  • « variant_date_from_timestamp
  • variant_div »
  • PHP Manual
  • COM İşlevleri
  • Varyant tarih/zaman değerini Unix zaman damgasına çevirir

variant_date_to_timestamp

(PHP 5, PHP 7, PHP 8)

variant_date_to_timestamp — Varyant tarih/zaman değerini Unix zaman damgasına çevirir

Açıklama

variant_date_to_timestamp(variant $değer): ?int

VT_DATE veya benzeri değer değeri Unix zaman damgasına çevirir. COM ve PHP'nin unix parçaları arasında çalışma kolaylığı sağlar.

Bağımsız Değişkenler

değer

Varyant değer.

Dönen Değerler

Başarı durumunda Unix zaman damgası, aksi takdirde null döner.

Ayrıca Bakınız

  • variant_date_from_timestamp() - Unix zaman damgasının varyant tarih gösterimini döndürür
  • date() - Unix zaman damgasını biçimlendirir
  • strftime() - Format a local time/date according to locale settings


İki varyant değerin bölme sonucunu döndürür

  • « variant_date_to_timestamp
  • variant_eqv »
  • PHP Manual
  • COM İşlevleri
  • İki varyant değerin bölme sonucunu döndürür

variant_div

(PHP 5, PHP 7, PHP 8)

variant_div — İki varyant değerin bölme sonucunu döndürür

Açıklama

variant_div(mixed $sol, mixed $sag): variant

sol ile sag bağımsız değişken arasında bölme yapar ve sonucu döndürür.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Bölme Kuralları
Durum | Sonuç
İki deyimde dizge, tarih, karakter, mantıksal ise | Çift duyarlıklı sayı döner
Bir deyim dizge diğer deyim karakter ise | Bölme ve çift duyarlıklı sayı döner
Bir deyim sayısal diğeri dizge ise | Bölme ve çift duyarlıklı sayı döner
İki deyimde sayısal ise | Bölme ve çift duyarlıklı sayı döner
Deyimlerden biri NULL ise | NULL döner
sag boş, sol boş olmayan herhangi bir şey ise | DISP_E_DIVBYZERO kodu ile bir com_exception istisnası yavrulanır
sol boş, sag boş olmayan herhangi bir şey ise | Çift duyarlıklı 0 döner
Her iki deyim boş ise | DISP_E_OVERFLOW kodu ile bir com_exception istisnası yavrulanır

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_idiv() - Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür


İki varyant arasında ikilik denklik karşılaştırması yapar

  • « variant_div
  • variant_fix »
  • PHP Manual
  • COM İşlevleri
  • İki varyant arasında ikilik denklik karşılaştırması yapar

variant_eqv

(PHP 5, PHP 7, PHP 8)

variant_eqv — İki varyant arasında ikilik denklik karşılaştırması yapar

Açıklama

variant_eqv(mixed $sol, mixed $sag): variant

İki varyant arasında ikilik denklik karşılaştırması yapar.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Dönen Değerler

sol'un her bir biti sag'ın karşılık gelen bitine eşitse true, aksi durumda false döner.


Varyantın tamsayı kısmını geri döndürür

  • « variant_eqv
  • variant_get_type »
  • PHP Manual
  • COM İşlevleri
  • Varyantın tamsayı kısmını geri döndürür

variant_fix

(PHP 5, PHP 7, PHP 8)

variant_fix — Varyantın tamsayı kısmını geri döndürür

Açıklama

variant_fix(mixed $değer): variant

Varyant bir değerin tamsayı kısmını alır.

Bağımsız Değişkenler

değer

Varyant.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

değer negatif ise eşit veya büyük olan ilk negatif tamsayı, diğer durumda değer değerinin tamsayı kısmı döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Notlar

Uyarı

Bilgiler MSDN belgelerinden alınmıştır; Bu işlev variant_int() işlevi ile aynı gözükmektedir veya MSDN belgelerinde bir hata vardır.

Ayrıca Bakınız

  • variant_int() - Değerin tamsayı kısmını döndürür
  • variant_round() - Bir varyantı verilen ondalık basamağa yuvarlar
  • floor() - Round fractions down
  • ceil() - Round fractions up
  • round() - Rounds a float


Varyant nesnenin türünü geri döndürür

  • « variant_fix
  • variant_idiv »
  • PHP Manual
  • COM İşlevleri
  • Varyant nesnenin türünü geri döndürür

variant_get_type

(PHP 5, PHP 7, PHP 8)

variant_get_type — Varyant nesnenin türünü geri döndürür

Açıklama

variant_get_type(variant $varyant): int

Varyant nesnenin türünü geri döndürür.

Bağımsız Değişkenler

varyant

Varyant nesne.

Dönen Değerler

İşlev, varyant nesnesinin com, dotnet veya variant sınıfından hangisinden türediğini gösteren bir tamsayı döndürür, geri dönüş değeri VT_XXX sabitlerinden biri ile karşılaştırılabilir.

COM ve DOTNET nesneleri için geri dönüş değeri genellikle VT_DISPATCH olur; işlevin bu sınıflar için çalışmasının tek nedeni COM ve DOTNET'in VARIANT astsalları olmasıdır.

Ayrıca Bakınız

  • variant_set_type() - Varyantı başka bir türe "yerinde" dönüştürür


Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür

  • « variant_get_type
  • variant_imp »
  • PHP Manual
  • COM İşlevleri
  • Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür

variant_idiv

(PHP 5, PHP 7, PHP 8)

variant_idiv — Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür

Açıklama

variant_idiv(mixed $sol, mixed $sag): variant

sol ve sag bağımsız değişkeni tamsayıya çevirir ve bölme işlemi yapar.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Tamsayı Bölme Kuralları
Durum | İşlem
Her iki deyim dizge, tarih, karakter, mantıksal türde ise | Bölme ve tamsayı döndürülür
Bir deyim dizge diğeri karakter ise | Bölme
Bir deyim sayısal diğeri dizge ise | Bölme
İki deyimde sayısal ise | Bölme
Deyimlerden biri NULL ise | NULL döndürülür
Her iki deyim boş ise | DISP_E_DIVBYZERO kodu ile bir com_exception istisnası yavrulanır.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_div() - İki varyant değerin bölme sonucunu döndürür


İki varyant üzerinde ikilik çıkarım yapar

  • « variant_idiv
  • variant_int »
  • PHP Manual
  • COM İşlevleri
  • İki varyant üzerinde ikilik çıkarım yapar

variant_imp

(PHP 5, PHP 7, PHP 8)

variant_imp — İki varyant üzerinde ikilik çıkarım yapar

Açıklama

variant_imp(mixed $sol, mixed $sag): variant

İkilik çıkarım işlemi yapar.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Çıkarım Tablosu
sol | sag | Sonuç
true | true | true
true | false | false
true | null | true
false | true | true
false | false | true
false | null | true
null | true | true
null | false | null
null | null | null

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.


Değerin tamsayı kısmını döndürür

  • « variant_imp
  • variant_mod »
  • PHP Manual
  • COM İşlevleri
  • Değerin tamsayı kısmını döndürür

variant_int

(PHP 5, PHP 7, PHP 8)

variant_int — Değerin tamsayı kısmını döndürür

Açıklama

variant_int(mixed $değer): variant

Değerin tamsayı kısmını döndürür.

Bağımsız Değişkenler

değer

Tamsayı kısmı döndürülecek değer.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

değer negatif ise eşit veya büyük olan ilk negatif tamsayı, diğer durumda değerin tamsayı kısmı döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_fix() - Varyantın tamsayı kısmını geri döndürür
  • variant_round() - Bir varyantı verilen ondalık basamağa yuvarlar
  • floor() - Round fractions down
  • ceil() - Round fractions up
  • round() - Rounds a float


İki varyantın bölme işleminden kalanı geri döndürür

  • « variant_int
  • variant_mul »
  • PHP Manual
  • COM İşlevleri
  • İki varyantın bölme işleminden kalanı geri döndürür

variant_mod

(PHP 5, PHP 7, PHP 8)

variant_mod — İki varyantın bölme işleminden kalanı geri döndürür

Açıklama

variant_mod(mixed $sol, mixed $sag): variant

sol ile sag bağımsız değişkeni böler ve kalanı döndürür.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Bölme işleminden kalanı geri döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_div() - İki varyant değerin bölme sonucunu döndürür
  • variant_idiv() - Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür


İki varyant değerleri için çarpma işlemi yapar

  • « variant_mod
  • variant_neg »
  • PHP Manual
  • COM İşlevleri
  • İki varyant değerleri için çarpma işlemi yapar

variant_mul

(PHP 5, PHP 7, PHP 8)

variant_mul — İki varyant değerleri için çarpma işlemi yapar

Açıklama

variant_mul(mixed $sol, mixed $sag): variant

sol ile sag bağımsız değişkeni çarpar.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Mantıksal değerler false -1, true 0 olarak dönüştürülür.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Çarpma Kuralları
Durum | İşlem
İki deyimde dizge, tarih, karakter, mantıksal türlerinden biri | Çarpma
Bir deyim dizge diğeri karakter | Çarpma
Bir deyim sayısal diğeri dizge | Çarpma
Her iki deyim sayısal | Çarpma
Biri NULL | NULL döner
Her iki deyim boş ise | Boş bir dizge döner

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrular.

Ayrıca Bakınız

  • variant_div() - İki varyant değerin bölme sonucunu döndürür
  • variant_idiv() - Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür


Bir değer üzerinde mantıksal değil işlemi yapar

  • « variant_mul
  • variant_not »
  • PHP Manual
  • COM İşlevleri
  • Bir değer üzerinde mantıksal değil işlemi yapar

variant_neg

(PHP 5, PHP 7, PHP 8)

variant_neg — Bir değer üzerinde mantıksal değil işlemi yapar

Açıklama

variant_neg(mixed $değer): variant

değer üzerinde mantıksal değil işlemi yapar.

Bağımsız Değişkenler

değer

Değer.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Mantıksal değil sonucunu döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.


Bir varyant üzerinde ikilik değil işlemi yapar

  • « variant_neg
  • variant_or »
  • PHP Manual
  • COM İşlevleri
  • Bir varyant üzerinde ikilik değil işlemi yapar

variant_not

(PHP 5, PHP 7, PHP 8)

variant_not — Bir varyant üzerinde ikilik değil işlemi yapar

Açıklama

variant_not(mixed $değer): variant

varyant üzerinde ikilik değil işlemi yapar ve sonucu geri döndürür.

Bağımsız Değişkenler

değer

Varyant.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

İkilik değil sonucunu döndürür. Eğer değer null ise null geri dönecektir.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.


İki varyant üzerinde mantıksal ayırma işlemi yapar

  • « variant_not
  • variant_pow »
  • PHP Manual
  • COM İşlevleri
  • İki varyant üzerinde mantıksal ayırma işlemi yapar

variant_or

(PHP 5, PHP 7, PHP 8)

variant_or — İki varyant üzerinde mantıksal ayırma işlemi yapar

Açıklama

variant_or(mixed $sol, mixed $sag): variant

İkilik VEYA işlemi yapar. Bunun normal VEYA işleminden farklı olduğuna dikkat ediniz.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant VEYA Kuralları
sol | sag | Sonuç
true | true | true
true | false | true
true | null | true
false | true | true
false | false | false
false | null | null
null | true | true
null | false | null
null | null | null

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_and() - İki varyant üzerinde ikilik VE işlemi yapar
  • variant_xor() - İki varyant arasında mantıksal çıkarma yapar


Üs alma işlemi yaparak sonucu döndürür

  • « variant_or
  • variant_round »
  • PHP Manual
  • COM İşlevleri
  • Üs alma işlemi yaparak sonucu döndürür

variant_pow

(PHP 5, PHP 7, PHP 8)

variant_pow — Üs alma işlemi yaparak sonucu döndürür

Açıklama

variant_pow(mixed $sol, mixed $sag): variant

sol'un sag üssünü alarak sonucu geri döndürür.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

solun sag üssünü alarak sonucu geri döndürür.

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • pow() - Exponential expression


Bir varyantı verilen ondalık basamağa yuvarlar

  • « variant_pow
  • variant_set_type »
  • PHP Manual
  • COM İşlevleri
  • Bir varyantı verilen ondalık basamağa yuvarlar

variant_round

(PHP 5, PHP 7, PHP 8)

variant_round — Bir varyantı verilen ondalık basamağa yuvarlar

Açıklama

variant_round(mixed $değer, int $ondalik): ?variant

değeri ondalik basamağına kadar yuvarlayarak sonucu döndürür.

Bağımsız Değişkenler

değer

Değer.

ondalik

Ondalık basamak sayısı.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Başarı durumunda yuvarlanmış sonucu, aksi takdirde null döndürür.

Ayrıca Bakınız

  • round() - Rounds a float


Varyantı başka bir türe "yerinde" dönüştürür

  • « variant_round
  • variant_set »
  • PHP Manual
  • COM İşlevleri
  • Varyantı başka bir türe "yerinde" dönüştürür

variant_set_type

(PHP 5, PHP 7, PHP 8)

variant_set_type — Varyantı başka bir türe "yerinde" dönüştürür

Açıklama

variant_set_type(variant $varyant, int $tur): void

İşlev, varyantı "yerinde" değiştirmesi hariç variant_cast() ile benzerdir; yeni bir varyant yaratılmaz. Bağımsız değişkenler variant_cast() ile aynı anlama sahiptir.

Bağımsız Değişkenler

varyant

Varyant.

tur

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • variant_cast() - Varyantı başka türde bir varyant nesneye dönüştürür
  • variant_get_type() - Varyant nesnenin türünü geri döndürür


Varyant nesnesine yeni bir değer verir

  • « variant_set_type
  • variant_sub »
  • PHP Manual
  • COM İşlevleri
  • Varyant nesnesine yeni bir değer verir

variant_set

(PHP 5, PHP 7, PHP 8)

variant_set — Varyant nesnesine yeni bir değer verir

Açıklama

variant_set(variant $varyant, mixed $deger): void

deger'i varyanta dönüştürür ve varyant nesnesine yükler; yeni bir varyant nesnesi oluşturulmaz, varyant eski değeri serbest bırakılır.

Bağımsız Değişkenler

varyant

Varyant.

deger

Dönen Değerler

Hiçbir değer dönmez.


Sağ varyant değerini sol varyant değerinden çıkartır

  • « variant_set
  • variant_xor »
  • PHP Manual
  • COM İşlevleri
  • Sağ varyant değerini sol varyant değerinden çıkartır

variant_sub

(PHP 5, PHP 7, PHP 8)

variant_sub — Sağ varyant değerini sol varyant değerinden çıkartır

Açıklama

variant_sub(mixed $sol, mixed $sag): variant

sag değeri sol değerden çıkartır.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Çıkartma Kuralları
Durum | İşlem
İki deyimde dizge türünde ise | Çıkartma
Bir deyim dizge diğeri karakter ise | Çıkartma
Bir deyim sayısal diğeri dizge ise | Çıkartma
İki deyimde sayısal ise | Çıkartma
İki deyimden biri NULL ise | NULL döner
İki deyimde boş ise | Boş dizge geri döner

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_add() - İki varyant değeri birleştirir ve sonucu geri döndürür


İki varyant arasında mantıksal çıkarma yapar

  • « variant_sub
  • win32service »
  • PHP Manual
  • COM İşlevleri
  • İki varyant arasında mantıksal çıkarma yapar

variant_xor

(PHP 5, PHP 7, PHP 8)

variant_xor — İki varyant arasında mantıksal çıkarma yapar

Açıklama

variant_xor(mixed $sol, mixed $sag): variant

Mantıksal çıkarma yapar.

Bağımsız Değişkenler

sol

Sol terim.

sag

Sağ terim.

Bilginize:

Tüm varyant aritmetik işlevlerinde olduğu gibi, bu işlevin bağımsız değişkenleri de bir PHP yerel türü (int, string, floating point, bool veya null) veya COM, VARIANT veya DOTNET sınıfının bir örneği olabilir. PHP yerel türleri, VARIANT sınıfı için kurucuda bulunan kurallar kullanılarak varyantlara dönüştürülür. Öntanımlı özelliklerinin değerine sahip olacak COM ve DOTNET nesneleri variant değeri olarak alınır ve kullanılır.

Varyant aritmetik işlevleri, COM kütüphanesindeki benzer şekilde adlandırılmış işlevlerin sarmalayıcılardır; bu işlevler hakkında daha fazla bilgi için MSDN kütüphanesine bakılabilir. PHP işlevleri biraz farklı adlandırılır; örneğin PHP'deki variant_add(), MSDN belgelerinde VarAdd() işlevine karşılık gelir

Dönen Değerler

Varyant Mantıksal Çıkarma Kuralları
sol | sag | Sonuç
true | true | false
true | false | true
false | true | true
false | false | false
null | null | null

Hatalar/İstisnalar

Başarısızlık durumunda bir com_exception yavrulanır.

Ayrıca Bakınız

  • variant_or() - İki varyant üzerinde mantıksal ayırma işlemi yapar
  • variant_and() - İki varyant üzerinde ikilik VE işlemi yapar


win32service

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
    • Güvenlik değerlendirmesi
  • Öntanımlı Sabitler
    • Win32Service Service Type Bitmasks
    • Win32Service Service Status Constants
    • Win32Service Service Control Message Constants
    • Win32Service Service Control Message Accepted Bitmasks
    • Win32Service Service Start Type Constants
    • Win32Service Service Error Control Constants
    • Win32Service Service Flag Constants
    • Win32 Error Codes
    • Win32 Base Priority Classes
    • Win32 Recovery action
    • Win32 Service informations
  • Win32ServiceException — The Win32ServiceException class
  • Örnekler
  • win32service İşlevleri
    • win32_continue_service — Resumes a paused service
    • win32_create_service — Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur
    • win32_delete_service — Bir hizmet girdisini Hizmet yönetim veritabanından siler
    • win32_get_last_control_message — Hizmete gönderilmiş son denetim kodunu döndürür
    • win32_pause_service — Pauses a service
    • win32_query_service_status — Bir hizmetin durumunu sorgular
    • win32_send_custom_control — Send a custom control to the service
    • win32_set_service_exit_code — Define or return the exit code for the current running service
    • win32_set_service_exit_mode — Define or return the exit mode for the current running service
    • win32_set_service_status — Hizmet durumunu günceller
    • win32_start_service_ctrl_dispatcher — Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
    • win32_start_service — Bir hizmeti başlatır
    • win32_stop_service — Bir hizmeti durdurur


Giriş

win32service eklentisi tamamen Windows'a özgü bir eklenti olup PHP'nin hizmetleri başlatmak, durdurmak ve hizmet dışı bırakmak, hatta PHP betiklerinin birer hizmet olarak çalıştırılmasını temin için hizmet denetim yöneticisi ile iletişimini sağlar.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum
  • Çalışma Anı Yapılandırması
  • Özkaynak Türleri
  • Güvenlik değerlendirmesi


Gereksinimler

Desteklenen Windows sürümleri, PHP derlemek için kullanılan Visual C++ yeniden dağıtılabilir paketiyle aynıdır.


Kurulum

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/win32service


  • « Çalışma Anı Yapılandırması
  • Güvenlik değerlendirmesi »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


Güvenlik değerlendirmesi

Bu eklentinin bazı işlemler için yönetici ayrıcalıklarına ihtiyacı vardır. create, delete, start, stop, pause ve continue bu işlemlerden bazılarıdır. Hizmet denetimi web arayüzünden veya uzaktan kumandadan kullanılabiliyorsa, bu gereksinim ayrıcalıkların yükselmesine neden olabilir.

Mevcut yönetim görevlerini yönetici olmayan bir hesaba veya hizmet hesabına devretmek için SCM'ye ekledikten sonra hizmetten ACL'yi ayarlayabilirsiniz. Daha fazla talimat için bkz: » Service Security and Access Rights.


Öntanımlı Sabitler

İçindekiler

  • Win32Service Service Type Bitmasks
  • Win32Service Service Status Constants
  • Win32Service Service Control Message Constants
  • Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Start Type Constants
  • Win32Service Service Error Control Constants
  • Win32Service Service Flag Constants
  • Win32 Error Codes
  • Win32 Base Priority Classes
  • Win32 Recovery action
  • Win32 Service informations

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.


Win32Service Service Type Bitmasks

  • « Öntanımlı Sabitler
  • Win32Service Service Status Constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Type Bitmasks
Win32Service Service Type Bitmasks
Constant | Value | Description
WIN32_SERVICE_WIN32_OWN_PROCESS | 0x00000010 | The service runs in its own process.
WIN32_SERVICE_INTERACTIVE_PROCESS | 0x00000100 | The service can interact with the desktop. This option is not available on Windows Vista or later.
WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE | 0x00000110 | The service runs in its own process and can interact with the desktop. This option is not available on Windows Vista or later.


Win32Service Service Status Constants

  • « Win32Service Service Type Bitmasks
  • Win32Service Service Control Message Constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Status Constants
Win32Service Service Status Constants
Constant | Value | Description
WIN32_SERVICE_CONTINUE_PENDING | 0x00000005 | The service continue is pending.
WIN32_SERVICE_PAUSE_PENDING | 0x00000006 | The service pause is pending.
WIN32_SERVICE_PAUSED | 0x00000007 | The service is paused.
WIN32_SERVICE_RUNNING | 0x00000004 | The service is running.
WIN32_SERVICE_START_PENDING | 0x00000002 | The service is starting.
WIN32_SERVICE_STOP_PENDING | 0x00000003 | The service is stopping.
WIN32_SERVICE_STOPPED | 0x00000001 | The service is not running.


Win32Service Service Control Message Constants

  • « Win32Service Service Status Constants
  • Win32Service Service Control Message Accepted Bitmasks »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Control Message Constants
Win32Service Service Control Message Constants
Constant | Value | Description
WIN32_SERVICE_CONTROL_CONTINUE | 0x00000003 | Notifies a paused service that it should resume.
WIN32_SERVICE_CONTROL_DEVICEEVENT | 0x0000000B |
WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE | 0x0000000C |
WIN32_SERVICE_CONTROL_INTERROGATE | 0x00000004 | Notifies a service that it should report its current status information to the service control manager.
WIN32_SERVICE_CONTROL_NETBINDADD | 0x00000007 | Notifies a network service that there is a new component for binding.
WIN32_SERVICE_CONTROL_NETBINDDISABLE | 0x0000000A | Notifies a network service that one of its bindings has been disabled.
WIN32_SERVICE_CONTROL_NETBINDENABLE | 0x00000009 | Notifies a network service that a disabled binding has been enabled.
WIN32_SERVICE_CONTROL_NETBINDREMOVE | 0x00000008 | Notifies a network service that a component for binding has been removed.
WIN32_SERVICE_CONTROL_PARAMCHANGE | 0x00000006 | Notifies a service that its startup parameters have changed.
WIN32_SERVICE_CONTROL_PAUSE | 0x00000002 | Notifies a service that it should pause.
WIN32_SERVICE_CONTROL_POWEREVENT | 0x0000000D |
WIN32_SERVICE_CONTROL_PRESHUTDOWN | 0x0000000F | Notifies a service that the system will be shutting down. A service that handles this notification blocks system shutdown until the service stops or the preshutdown time-out interval expires. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_CONTROL_SESSIONCHANGE | 0x0000000E |
WIN32_SERVICE_CONTROL_SHUTDOWN | 0x00000005 | Notifies a service that the system is shutting down so the service can perform cleanup tasks. If a service accepts this control code, it must stop after it performs its cleanup tasks. After the SCM sends this control code, it will not send other control codes to the service.
WIN32_SERVICE_CONTROL_STOP | 0x00000001 | Notifies a service that it should stop.


Win32Service Service Control Message Accepted Bitmasks

  • « Win32Service Service Control Message Constants
  • Win32Service Service Start Type Constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Control Message Accepted Bitmasks
Win32Service Service Control Message Accepted Bitmasks
Constant | Value | Description
WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE | 0x00000020 | The service is notified when the computer's hardware profile has changed. This enables the system to send WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE notifications to the service.
WIN32_SERVICE_ACCEPT_NETBINDCHANGE | 0x00000010 | The service is a network component that can accept changes in its binding without being stopped and restarted. This control code allows the service to receive WIN32_SERVICE_CONTROL_NETBINDADD, WIN32_SERVICE_CONTROL_NETBINDREMOVE, WIN32_SERVICE_CONTROL_NETBINDENABLE, and WIN32_SERVICE_CONTROL_NETBINDDISABLE notifications.
WIN32_SERVICE_ACCEPT_PARAMCHANGE | 0x00000008 | The service can reread its startup parameters without being stopped and restarted. This control code allows the service to receive WIN32_SERVICE_CONTROL_PARAMCHANGE notifications.
WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE | 0x00000002 | The service can be paused and continued. This control code allows the service to receive WIN32_SERVICE_CONTROL_PAUSE and WIN32_SERVICE_CONTROL_CONTINUE notifications.
WIN32_SERVICE_ACCEPT_POWEREVENT | 0x00000040 | The service is notified when the computer's power status has changed. This enables the system to send WIN32_SERVICE_CONTROL_POWEREVENT notifications to the service.
WIN32_SERVICE_ACCEPT_PRESHUTDOWN | 0x00000100 | The service can perform preshutdown tasks. This control code enables the service to receive WIN32_SERVICE_CONTROL_PRESHUTDOWN notifications. This value is not supported by Windows Server 2003 and Windows XP/2000.
WIN32_SERVICE_ACCEPT_SESSIONCHANGE | 0x00000080 | The service is notified when the computer's session status has changed. This enables the system to send WIN32_SERVICE_CONTROL_SESSIONCHANGE notifications to the service. Windows 2000: This value is not supported
WIN32_SERVICE_ACCEPT_SHUTDOWN | 0x00000004 | The service is notified when system shutdown occurs. This control code allows the service to receive WIN32_SERVICE_CONTROL_SHUTDOWN notifications.
WIN32_SERVICE_ACCEPT_STOP | 0x00000001 | The service can be stopped. This control code allows the service to receive WIN32_SERVICE_CONTROL_STOP notifications.
WIN32_SERVICE_ACCEPT_TIMECHANGE | 0x00000200 | The service is notified when the system time has changed. This enables the system to send WIN32_SERVICE_CONTROL_TIMECHANGE notifications to the service. Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP/2000: This control code is not supported.
WIN32_SERVICE_ACCEPT_TRIGGEREVENT | 0x00000400 | The service is notified when an event for which the service has registered occurs. This enables the system to send WIN32_SERVICE_CONTROL_TRIGGEREVENT notifications to the service. Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP/2000: This control code is not supported.


Win32Service Service Start Type Constants

  • « Win32Service Service Control Message Accepted Bitmasks
  • Win32Service Service Error Control Constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Start Type Constants
Win32Service Service Start Type Constants
Constant | Value | Description
WIN32_SERVICE_BOOT_START | 0x00000000 | A device driver started by the system loader. This value is valid only for driver services.
WIN32_SERVICE_SYSTEM_START | 0x00000001 | A device driver started by the IoInitSystem function. This value is valid only for driver services.
WIN32_SERVICE_AUTO_START | 0x00000002 | A service started automatically by the service control manager during system startup.
WIN32_SERVICE_DEMAND_START | 0x00000003 | A service started by the service control manager when a process calls the StartService function.
WIN32_SERVICE_DISABLED | 0x00000004 | A service that cannot be started. Attempts to start the service result in the error code WIN32_ERROR_SERVICE_DISABLED.


Win32Service Service Error Control Constants

  • « Win32Service Service Start Type Constants
  • Win32Service Service Flag Constants »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Error Control Constants
Win32Service Service Error Control Constants
Constant | Value | Description
WIN32_SERVICE_ERROR_IGNORE | 0x00000000 | The startup program ignores the error and continues the startup operation.
WIN32_SERVICE_ERROR_NORMAL | 0x00000001 | The startup program logs the error in the event log but continues the startup operation.
WIN32_SERVICE_ERROR_SEVERE | 0x00000002 | The startup program logs the error in the event log. If the last-known-good configuration is being started, the startup operation continues. Otherwise, the system is restarted with the last-known-good configuration.
WIN32_SERVICE_ERROR_CRITICAL | 0x00000003 | The startup program logs the error in the event log, if possible. If the last-known-good configuration is being started, the startup operation fails. Otherwise, the system is restarted with the last-known good configuration.


Win32Service Service Flag Constants

  • « Win32Service Service Error Control Constants
  • Win32 Error Codes »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32Service Service Flag Constants
Win32Service Service Flag Constants
Constant | Value | Description
WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS | 0x00000001 | The service runs in a system process that must always be running.


Win32 Error Codes

  • « Win32Service Service Flag Constants
  • Win32 Base Priority Classes »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32 Error Codes

Bilginize:

These constants are no longer in use as of Win32Service 1.0.0.

Win32 Error Codes
Constant | Value | Description
WIN32_ERROR_ACCESS_DENIED | 0x00000005 | The handle to the SCM database does not have the appropriate access rights.
WIN32_ERROR_CIRCULAR_DEPENDENCY | 0x00000423 | A circular service dependency was specified.
WIN32_ERROR_DATABASE_DOES_NOT_EXIST | 0x00000429 | The specified database does not exist.
WIN32_ERROR_DEPENDENT_SERVICES_RUNNING | 0x0000041B | The service cannot be stopped because other running services are dependent on it.
WIN32_ERROR_DUPLICATE_SERVICE_NAME | 0x00000436 | The display name already exists in the service control manager database either as a service name or as another display name.
WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT | 0x00000427 | This error is returned if the program is being run as a console application rather than as a service. If the program will be run as a console application for debugging purposes, structure it such that service-specific code is not called.
WIN32_ERROR_INSUFFICIENT_BUFFER | 0x0000007A | The buffer is too small for the service status structure. Nothing was written to the structure.
WIN32_ERROR_INVALID_DATA | 0x0000000D | The specified service status structure is invalid.
WIN32_ERROR_INVALID_HANDLE | 0x00000006 | The handle to the specified service control manager database is invalid.
WIN32_ERROR_INVALID_LEVEL | 0x0000007C | The InfoLevel parameter contains an unsupported value.
WIN32_ERROR_INVALID_NAME | 0x0000007B | The specified service name is invalid.
WIN32_ERROR_INVALID_PARAMETER | 0x00000057 | A parameter that was specified is invalid.
WIN32_ERROR_INVALID_SERVICE_ACCOUNT | 0x00000421 | The user account name specified in the user parameter does not exist. See win32_create_service().
WIN32_ERROR_INVALID_SERVICE_CONTROL | 0x0000041C | The requested control code is not valid, or it is unacceptable to the service.
WIN32_ERROR_PATH_NOT_FOUND | 0x00000003 | The service binary file could not be found.
WIN32_ERROR_SERVICE_ALREADY_RUNNING | 0x00000420 | An instance of the service is already running.
WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL | 0x00000425 | The requested control code cannot be sent to the service because the state of the service is WIN32_SERVICE_STOPPED, WIN32_SERVICE_START_PENDING, or WIN32_SERVICE_STOP_PENDING.
WIN32_ERROR_SERVICE_DATABASE_LOCKED | 0x0000041F | The database is locked.
WIN32_ERROR_SERVICE_DEPENDENCY_DELETED | 0x00000433 | The service depends on a service that does not exist or has been marked for deletion.
WIN32_ERROR_SERVICE_DEPENDENCY_FAIL | 0x0000042C | The service depends on another service that has failed to start.
WIN32_ERROR_SERVICE_DISABLED | 0x00000422 | The service has been disabled.
WIN32_ERROR_SERVICE_DOES_NOT_EXIST | 0x00000424 | The specified service does not exist as an installed service.
WIN32_ERROR_SERVICE_EXISTS | 0x00000431 | The specified service already exists in this database.
WIN32_ERROR_SERVICE_LOGON_FAILED | 0x0000042D | The service did not start due to a logon failure. This error occurs if the service is configured to run under an account that does not have the "Log on as a service" right.
WIN32_ERROR_SERVICE_MARKED_FOR_DELETE | 0x00000430 | The specified service has already been marked for deletion.
WIN32_ERROR_SERVICE_NO_THREAD | 0x0000041E | A thread could not be created for the service.
WIN32_ERROR_SERVICE_NOT_ACTIVE | 0x00000426 | The service has not been started.
WIN32_ERROR_SERVICE_REQUEST_TIMEOUT | 0x0000041D | The process for the service was started, but it did not call StartServiceCtrlDispatcher, or the thread that called StartServiceCtrlDispatcher may be blocked in a control handler function.
WIN32_ERROR_SHUTDOWN_IN_PROGRESS | 0x0000045B | The system is shutting down; this function cannot be called.
WIN32_ERROR_SERVICE_SPECIFIC_ERROR | 0x0000042A | The service has returned a service-specific error code.
WIN32_NO_ERROR | 0x00000000 | No error.


Win32 Base Priority Classes

  • « Win32 Error Codes
  • Win32 Recovery action »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32 Base Priority Classes
Win32 Base Priority Classes
Constant | Value | Description
WIN32_ABOVE_NORMAL_PRIORITY_CLASS | 0x00008000 | Process that has priority above WIN32_NORMAL_PRIORITY_CLASS but below WIN32_HIGH_PRIORITY_CLASS.
WIN32_BELOW_NORMAL_PRIORITY_CLASS | 0x00004000 | Process that has priority above WIN32_IDLE_PRIORITY_CLASS but below WIN32_NORMAL_PRIORITY_CLASS.
WIN32_HIGH_PRIORITY_CLASS | 0x00000080 | Process that performs time-critical tasks that must be executed immediately. The threads of the process preempt the threads of normal or idle priority class processes. An example is the Task List, which must respond quickly when called by the user, regardless of the load on the operating system. Use extreme care when using the high-priority class, because a high-priority class application can use nearly all available CPU time.
WIN32_IDLE_PRIORITY_CLASS | 0x00000040 | Process whose threads run only when the system is idle. The threads of the process are preempted by the threads of any process running in a higher priority class. An example is a screen saver. The idle-priority class is inherited by child processes.
WIN32_NORMAL_PRIORITY_CLASS | 0x00000020 | Process with no special scheduling needs.
WIN32_REALTIME_PRIORITY_CLASS | 0x00000100 | Process that has the highest possible priority. The threads of the process preempt the threads of all other processes, including operating system processes performing important tasks. For example, a real-time process that executes for more than a very brief interval can cause disk caches not to flush or cause the mouse to be unresponsive.


Win32 Recovery action

  • « Win32 Base Priority Classes
  • Win32 Service informations »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32 Recovery action
Win32 Recovery action
Constant | Value | Description
WIN32_SC_ACTION_NONE | 0x00000000 | No action.
WIN32_SC_ACTION_RESTART | 0x00000001 | Restart the service.
WIN32_SC_ACTION_REBOOT | 0x00000002 | Restart the server.
WIN32_SC_ACTION_RUN_COMMAND | 0x00000003 | Run a command.


Win32 Service informations

  • « Win32 Recovery action
  • Win32ServiceException »
  • PHP Manual
  • Öntanımlı Sabitler
  • Win32 Service informations
Win32 Service informations
Constant | Value | Description
WIN32_INFO_SERVICE | "service" |
WIN32_INFO_DISPLAY | "display" |
WIN32_INFO_USER | "user" |
WIN32_INFO_PASSWORD | "password" |
WIN32_INFO_PATH | "path" |
WIN32_INFO_PARAMS | "params" |
WIN32_INFO_DESCRIPTION | "description" |
WIN32_INFO_START_TYPE | "start_type" |
INFO_LOAD_ORDER | "load_order" |
INFO_SVC_TYPE | "svc_type" |
INFO_ERROR_CONTROL | "error_control" |
INFO_DELAYED_START | "delayed_start" |
INFO_BASE_PRIORITY | "base_priority" |
INFO_DEPENDENCIES | "dependencies" |
INFO_RECOVERY_DELAY | "recovery_delay" |
INFO_RECOVERY_ACTION_1 | "recovery_action_1" |
INFO_RECOVERY_ACTION_2 | "recovery_action_2" |
INFO_RECOVERY_ACTION_3 | "recovery_action_3" |
INFO_RECOVERY_RESET_PERIOD | "recovery_reset_period" |
INFO_RECOVERY_ENABLED | "recovery_enabled" |
INFO_RECOVERY_REBOOT_MSG | "recovery_reboot_msg" |
INFO_RECOVERY_COMMAND | "recovery_command" |


The Win32ServiceException class

(PECL win32service >=1.0.0)

Giriş

The exception replaces the old mechanism where the error value needed to be compared to constants to detect which error was emitted. The Exception code is equal to the value of the error value and the exception message is based on the corresponding constant name.

Sınıf Sözdizimi

class Win32ServiceException extends Exception {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Örnekler

Örnek 1 - Bir PHP betiğinin hizmet olarak çalışacağını belirtmek

<?php
win32_create_service(array(
'service' => 'dummyphp', # hizmetin ismi
'display' => 'sample dummy PHP service', # kısa açıklama
'description' => 'This is a dummy Windows service created using PHP.', # uzun açıklama
'params' => '"' . __FILE__ . '" run', # betiğin yolu ve bağımsız değişkenleri
));
?>

Örnek 2 - Bir hizmeti kullanımdan kaldırmak

<?php
win32_delete_service('dummyphp');
?>

Örnek 3 - Bir hizmet olarak çalıştırmak

<?php
if ($argv[1] == 'run') {
win32_start_service_ctrl_dispatcher('dummyphp');

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
# İşlemler burada.
# Döngüyü yinelemeden önce 30 saniyeden fazla beklememeye çalış
}
}
?>


win32service İşlevleri

İçindekiler

  • win32_continue_service — Resumes a paused service
  • win32_create_service — Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur
  • win32_delete_service — Bir hizmet girdisini Hizmet yönetim veritabanından siler
  • win32_get_last_control_message — Hizmete gönderilmiş son denetim kodunu döndürür
  • win32_pause_service — Pauses a service
  • win32_query_service_status — Bir hizmetin durumunu sorgular
  • win32_send_custom_control — Send a custom control to the service
  • win32_set_service_exit_code — Define or return the exit code for the current running service
  • win32_set_service_exit_mode — Define or return the exit mode for the current running service
  • win32_set_service_status — Hizmet durumunu günceller
  • win32_start_service_ctrl_dispatcher — Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
  • win32_start_service — Bir hizmeti başlatır
  • win32_stop_service — Bir hizmeti durdurur


Resumes a paused service

  • « win32service İşlevleri
  • win32_create_service »
  • PHP Manual
  • win32service İşlevleri
  • Resumes a paused service

win32_continue_service

(PECL win32service >=0.1.0)

win32_continue_service — Resumes a paused service

Açıklama

win32_continue_service(string $servicename, string $machine = ?): void

Resumes a paused, named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Bağımsız Değişkenler

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Dönen Değerler

Hiçbir değer dönmez.

Prior to version 1.0.0, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

A ValueError is thrown if the value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Ayrıca Bakınız

  • win32_start_service() - Bir hizmeti başlatır
  • win32_stop_service() - Bir hizmeti durdurur
  • win32_pause_service() - Pauses a service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur

  • « win32_continue_service
  • win32_delete_service »
  • PHP Manual
  • win32service İşlevleri
  • Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur

win32_create_service

(PECL win32service >=0.1.0)

win32_create_service — Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur

Açıklama

win32_create_service(array $ayrıntılar, string $makine = ?): void

Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur. Bunun için yönetici ayrıcalıkları gerekir.

Bağımsız Değişkenler

ayrıntılar

Hizmet ayrıntıları dizisi:

service

Hizmetin kısa ismi. net komutuyla hizmeti denetlemekte kullanılacak isimdir. İsim eşsiz olmalı (aynı isimde iki hizmet olmamalı) ve mümkünse boşluk karakterleri içermemelidir.

display

Hizmetin görünen ismi. Hizmetler uygulamasında göreceğiniz isimdir.

description

Hizmetin uzun açıklaması. Bu açıklama Hizmetler uygulamasında görünür.

user

Hizmetin aidiyetinde çalışacağı kullanıcı hesabı. Belirtilmediği takdirde hizmet LocalSystem hesabı altında çalışır. Bir kullanıcı ismi belirtilirse bir parola da belirtmek gerekir.

password

user anahtarında belirtilen kullanıcının parolası.

path

Hizmet başlatıldığında çalıştırılacak çalıştırılabilirin mutlak dosya yolu. Belirtilmediği takdirde geçerli PHP süreci kullanılır.

params

Hizmet başlatılırken komut satırına aktarılacak bağımsız değişkenler. Bir PHP betiğini hizmet olarak çalıştıracaksanız ilk bağımsız değişken çalıştırılacak PHP betiğinin mutlak yolu olmalıdır. Eğer betik ismi veya dosya yolu boşluk karakteri içeriyorsa PHP betiğindeki dosya yolunun tamamını çift tırnak (") karakterlerinin arasına alın.

load_order

load_order denetimi. Bu henüz tamamen desteklenmiyor.

svc_type

Hizmet türü belirtilir. Belirtilmezse öntanımlı değer: WIN32_SERVICE_WIN32_OWN_PROCESS. Ne yaptığınızdan emin değilseniz bunu değiştirmeyin.

start_type

Hizmetin nasıl başlatılması gerektiği belirtilir. Öntanımlı değer WIN32_SERVICE_AUTO_START olup hizmetin makine başlatıldığında çalıştırılacağı anlamına gelir.

error_control

Hizmet yöneticisinin hizmet ile ilgili bir sorun saptadığında ne yapacağı belirtilir. Öntanımlı değer: WIN32_SERVER_ERROR_IGNORE. Desteklenen tek değer budur.

delayed_start

delayed_start için true atanmışsa, hizmet yönetimine bu hizmetin diğer otomatik başlatma hizmetlerinden biraz daha geç başlatılması gerektiğini bildirir.

Herhangi bir hizmet, gecikmeli otomatik başlatma hizmeti olarak imlenebilir; ancak start_type değeri WIN32_SERVICE_AUTO_START olmadığı sürece bu ayarın hiçbir etkisi yoktur.

Bu ayar sadece Windows Vista ve Windows Server 2008 ve üstü içindir.

base_priority

İşlemci kullanımı üzerindeki etkiyi azaltmak için, normalden daha düşük bir temel öncelik ayarlamak gerekebilir.

base_priority bağımsız değişkenine Win32 Temel Öncelik Sınıfları altında tanımlı sabitlerden biri atanabilir.

dependencies

Hizmetinizin bağımlılıklarını tanımlamak için bu bağımsız değişkene hizmet adları listesini bir dizi olarak atamanız gerekebilir.

recovery_delay

Bu bağımsız değişken, başarısızlık ile kurtarma işleminin yürütülmesi arasındaki gecikmeyi milisaniye cinsinden tanımlar.

60000 öntanımlıdır.

recovery_action_1

İlk başarısızlıkta yürütülecek işlem. WIN32_SC_ACTION_NONE öntanımlıdır.

recovery_action_1 bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.

recovery_action_2

İkinci başarısızlıkta yürütülecek işlem. WIN32_SC_ACTION_NONE öntanımlıdır.

recovery_action_2 bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.

recovery_action_3

Sonraki başarısızlıklarda yürütülecek işlem. WIN32_SC_ACTION_NONE öntanımlıdır.

recovery_action_3 bağımsız değişkenine Win32 Kurtarma İşlemlerinden biri atanabilir.

recovery_reset_period

Arıza sayısı bağımsız değişkende tanımlanan saniyelik gecikmeden sonra sıfırlanır.

86400 öntanımlıdır.

recovery_enabled

Kurtarma işlemlerini etkinleştirmek için true yoksa false atanır.

false öntanımlıdır.

recovery_reboot_msg

Yeniden başlatmadan önce Windows Olay Günlüğüne kaydedilen iletiyi tanımlamak içindir. WIN32_SC_ACTION_REBOOT için yalnızca bir eylem tanımlanmışsa kullanılır.

recovery_command

WIN32_SC_ACTION_RUN_COMMAND için tek işlem atandığında çalıştırılacak komutun tanımlanacağı bağımsız değişken.

machine

Hizmeti oluşturmak istediğiniz makinenin ismi; belirtilmesi isteğe bağlıdır. Verilmezse yerel makine ismi kullanılır.

Dönen Değerler

Hiçbir değer dönmez.

Sürüm 1.0.0 öncesi, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

service bağımsız değişkeni boşsa ValueError yavrulanır.

path bağımsız değişkeni boşsa veya yoksa ValueError yavrulanır.

svc_type bağımsız değişkeni yanlışsa ValueError yavrulanır.

start_type bağımsız değişkeni yanlışsa ValueError yavrulanır.

error_control bağımsız değişkeni yanlışsa ValueError yavrulanır.

base_priority bağımsız değişkeni yanlışsa ValueError yavrulanır.

recovery_delay bağımsız değişkeni 0 ve PHP_INT_MAX arasında değilse ValueError yavrulanır.

recovery_action_1 bağımsız değişkeni yanlışsa ValueError yavrulanır.

recovery_action_2 bağımsız değişkeni yanlışsa ValueError yavrulanır.

recovery_action_3 bağımsız değişkeni yanlışsa ValueError yavrulanır.

recovery_reset_period bağımsız değişkeni 0 ve PHP_INT_MAX arasında değilse ValueError yavrulanır.

Bir hata durumunda Win32ServiceException yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.
PECL win32service 0.4.0 | dependencies, recovery_delay, recovery_action_1, recovery_action_2, recovery_action_3, recovery_reset_period, recovery_enabled, recovery_reboot_msg ve recovery_command bağımsız değişkenleri eklendi.

Örnekler

Örnek 1 - win32_create_service() örneği

'dummyphp' kısa isimli bir hizmet oluşturur.

<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
));
debug_zval_dump($x);
?>

Örnek 2 - Bağımlılıkları olan win32_create_service() örneği

'dummyphp' kısa isimli ve bağımlılıkları ile bir hizmet oluşturulması.

<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
'dependencies' => array("Netman"), // Bağımlılık listesi
));
debug_zval_dump($x);
?>

Örnek 3 - Kurtarmalı win32_create_service() örneği

'dummyphp' kısa isimli ve kurtarma ayarları ile bir hizmet oluşturulması.

<?php
$x = win32_create_service(array(
'service' => 'dummyphp', // hizmetin ismi
'display' => 'sample dummy PHP service', // kısa açıklaması
'description' => 'This is a dummy Windows service created using PHP.', // uzun açıklaması
'params' => '"' . __FILE__ . '" run', // betik ve bağımsız değişkenler için dosya yolu
'recovery_delay' => 120000, // 2 dakika sonra çalıştırılacak kurtarma işlemi
'recovery_action_1' => WIN32_SC_ACTION_RESTART, // İlk başarısızlıkta hizmeti yeniden başlat
'recovery_action_2' => WIN32_SC_ACTION_RUN_COMMAND, // İkinci başarısızlıkta komutu çalıştır
'recovery_action_3' => WIN32_SC_ACTION_NONE, // Diğer tüm başarısızlıkta hiçbir şey yapma
'recovery_reset_period' => 86400, // 1 gün sonra başarısızlık sayacını sıfırla
'recovery_enabled' => true, // recovery bağımsız değişkenini etkin yap
'recovery_reboot_msg' => null, //Yeniden başlat iletisini tanımlama, burada gerekmez
'recovery_command' => "c:\clean-service.bat", // İşlem WIN32_SC_ACTION_RUN_COMMAND ise, bu komutu çalıştır
));
debug_zval_dump($x);
?>

Ayrıca Bakınız

  • win32_delete_service() - Bir hizmet girdisini Hizmet yönetim veritabanından siler
  • Win32 Temel Öncelik Sınıfları
  • Win32 Kurtarma İşlemleri
  • Win32 Hata Kodları


Bir hizmet girdisini Hizmet yönetim veritabanından siler

  • « win32_create_service
  • win32_get_last_control_message »
  • PHP Manual
  • win32service İşlevleri
  • Bir hizmet girdisini Hizmet yönetim veritabanından siler

win32_delete_service

(PECL win32service >=0.1.0)

win32_delete_service — Bir hizmet girdisini Hizmet yönetim veritabanından siler

Açıklama

win32_delete_service(string $hizmet, string $makine = ?): void

Bir hizmet girdisini Hizmet yönetim veritabanından silmeye çalışır. Yönetici yetkileri gerekir.

Bu işlev süreci sadece silinmek üzere imler. Eğer başka bir süreç açıksa (Hizmetler programcığı gibi) silme işlemi uygulama kapanıncaya kadar ertelenir. Hizmet silinmek üzere imlenmişse silme çabaları bu süre zarfında başarısız olur ve bu isimle yeni bir hizmet oluşturma çabaları da başarısız olur.

Bağımsız Değişkenler

hizmet

Hizmetin kısa ismi.

makine

Belirtilmesi isteğe bağlıdır. Belirtilmezse yerel makine ismi kullanılır.

Dönen Değerler

Hiçbir değer dönmez.

1.0.0 öncesinde, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

servicename bağımsız değişkeni boşsa ValueError yavrulanır.

Hata durumunda Win32ServiceException yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.

Örnekler

Örnek 1 - win32_delete_service() örneği

dummyphp hizmetini siler.

<?php
win32_delete_service('dummyphp');
?>

Ayrıca Bakınız

  • win32_create_service() - Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur
  • Win32 Hata Kodları


Hizmete gönderilmiş son denetim kodunu döndürür

  • « win32_delete_service
  • win32_pause_service »
  • PHP Manual
  • win32service İşlevleri
  • Hizmete gönderilmiş son denetim kodunu döndürür

win32_get_last_control_message

(PECL win32service >=0.1.0)

win32_get_last_control_message — Hizmete gönderilmiş son denetim kodunu döndürür

Açıklama

win32_get_last_control_message(): int

Bu hizmet sürecine gönderilmiş son denetim kodunu döndürür. Bir hizmet olarak çalışma sırasında sürecin durup durmadığını saptamak için bu denetimi belirli aralıklarla yapmalısınız.

Dikkat

0.2.0 sürümünden beri, bu işlev sadece "cli" SAPI ile çalışır. Diğer SAPI'lerde bu işlev devre dışıdır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Win32Service Hizmet Denetim İletisi Sabitlerinden biri döner: WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_DEVICEEVENT, WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE, WIN32_SERVICE_CONTROL_INTERROGATE, WIN32_SERVICE_CONTROL_NETBINDADD, WIN32_SERVICE_CONTROL_NETBINDDISABLE, WIN32_SERVICE_CONTROL_NETBINDENABLE, WIN32_SERVICE_CONTROL_NETBINDREMOVE, WIN32_SERVICE_CONTROL_PARAMCHANGE, WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_POWEREVENT, WIN32_SERVICE_CONTROL_PRESHUTDOWN, WIN32_SERVICE_CONTROL_SESSIONCHANGE, WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.

Değer 128 ile 255 arasındaysa, denetim kodu özeldir.

Hatalar/İstisnalar

1.0.0 öncesinde, SAPI "cli" değilse, bu işlev E_ERROR seviyesinde bir hata çıktılardı.

1.0.0 ve sonrasında, SAPI "cli" değilse, bu işlev Win32ServiceException yavrular.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 0.2.0 | Bu işlev sadece "cli" SAPI ile çalışır.

Ayrıca Bakınız

  • win32_start_service_ctrl_dispatcher() - Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
  • win32_set_service_status() - Hizmet durumunu günceller
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32Service Hizmet Denetim İletisi Sabitleri


Pauses a service

  • « win32_get_last_control_message
  • win32_query_service_status »
  • PHP Manual
  • win32service İşlevleri
  • Pauses a service

win32_pause_service

(PECL win32service >=0.1.0)

win32_pause_service — Pauses a service

Açıklama

win32_pause_service(string $servicename, string $machine = ?): void

Pauses a named service. Requires administrative privileges or an account with appropriate rights set in the service's ACL.

Bağımsız Değişkenler

servicename

The short name of the service.

machine

Optional machine name. If omitted, the local machine is used.

Dönen Değerler

Hiçbir değer dönmez.

Prior to version 1.0.0, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

A ValueError is thrown if the value of servicename parameter is empty.

A Win32ServiceException is thrown on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.
PECL win32service 0.3.0 | This function does not longer require an administrator account if ACL is set for another account.

Ayrıca Bakınız

  • win32_start_service() - Bir hizmeti başlatır
  • win32_stop_service() - Bir hizmeti durdurur
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Error Codes


Bir hizmetin durumunu sorgular

  • « win32_pause_service
  • win32_send_custom_control »
  • PHP Manual
  • win32service İşlevleri
  • Bir hizmetin durumunu sorgular

win32_query_service_status

(PECL win32service >=0.1.0)

win32_query_service_status — Bir hizmetin durumunu sorgular

Açıklama

win32_query_service_status(string $hizmet, string $makine = ?): array

Bir hizmetin mevcut durumunu sorgular ve sonucu bir dizi içinde döndürür.

Bağımsız Değişkenler

hizmet

Hizmetin kısa ismi.

makine

İsteğe bağlı olarak makine ismi. Belirtilmezse yerel makine ismi kullanılır.

Dönen Değerler

Başarı durumunda aşağıdaki bilgileri içeren bir dizi döner:

1.0.0 öncesinde, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

ServiceType

dwServiceType. Bkz: Win32Service Hizmet Türü Bit Maskeleri

CurrentState

dwCurrentState. Bkz: Win32Service Hizmet Durum Sabitleri.

ControlsAccepted

Hizmet tarafından kabul edilen hizmet denetimleri. Bkz: Win32Service Kabul Edilen Hizmet Denetim İletisi Bit Maskeleri.

Win32ExitCode

Hizmet çıkmışsa sürecin çıkış kodu. Çıkış kipi zarif değilse değeri WIN32_ERROR_SERVICE_SPECIFIC_ERROR sabitidir. Bkz: win32_set_service_exit_mode() ve Win32Service Hata Kodları.

ServiceSpecificExitCode

Hizmet bir hata koduyla çıkmışsa olay günlüğündeki hizmete özgü kod. Bu değer win32_set_service_exit_code() ile tanımlanan değerle aynıdır.

CheckPoint

Hizmet sonlanmışsa geçerli sınama sayısı. Bu hizmet yöneticisi tarafından kısıtlanan bir hizmet sürecini saptamak için bir kalp atışı tarzında kullanılır. Bu değer en iyi WaitHint değeriyle birlikte değerlendirilir.

WaitHint

Hizmet sonlanmışsa geçerli sınama sayısının tamamının kullanıldığını belirtmek üzere sınama sayısı. Bir süreç göstergesi oluşturmak için kullanılabilir.

ProcessId

Windows süreç kimliği. Sıfırsa süreç çalışmıyor demektir.

ServiceFlags

dwServiceFlags. Bkz: Win32Service Hizmet Bayrak Sabitleri.

Hatalar/İstisnalar

servicename bağımsız değişkeni boşsa ValueError yavrulanır.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık array, evvelce mixed idi.

Ayrıca Bakınız

  • Win32Service Öntanımlı Sabitler


Send a custom control to the service

  • « win32_query_service_status
  • win32_set_service_exit_code »
  • PHP Manual
  • win32service İşlevleri
  • Send a custom control to the service

win32_send_custom_control

(PECL win32service >=0.4.0)

win32_send_custom_control — Send a custom control to the service

Açıklama

win32_send_custom_control(string $servicename, int $control, string $machine = ?): void

See » Microsoft ControlService function for more details

Bağımsız Değişkenler

servicename

The short name of the service.

control

The custom contole value between 128 and 255.

machine

Optional machine name. If omitted, the local machine is used.

Dönen Değerler

Hiçbir değer dönmez.

Prior to version 1.0.0, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

Prior to version 1.0.0, if the control value is not between 128 and 255, this function emits an E_ERROR level error.

A ValueError is thrown if the value of servicename parameter is empty.

A ValueError is thrown if the value of control parameter is not between 128 and 255.

A Win32ServiceException is thrown on error.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now void, previously it was mixed.

Ayrıca Bakınız

  • win32_start_service() - Bir hizmeti başlatır
  • win32_stop_service() - Bir hizmeti durdurur
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • Win32 Error Codes


Define or return the exit code for the current running service

  • « win32_send_custom_control
  • win32_set_service_exit_mode »
  • PHP Manual
  • win32service İşlevleri
  • Define or return the exit code for the current running service

win32_set_service_exit_code

(PECL win32service >=0.4.0)

win32_set_service_exit_code — Define or return the exit code for the current running service

Açıklama

win32_set_service_exit_code(int $exitCode = 1): int

Change or return the exit code. The exit code is used only if the exit mode is not graceful. If the value is not zero, the recovery configuration can be used after service fail. See » Microsoft system error codes for more details

Dikkat

This function work only in "cli" SAPI. On other SAPI this function is disabled.

Bağımsız Değişkenler

exitCode

The return code used on exit.

Dönen Değerler

Return the current or old exit code.

Hatalar/İstisnalar

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.

Ayrıca Bakınız

  • win32_start_service_ctrl_dispatcher() - Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
  • win32_set_service_status() - Hizmet durumunu günceller
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service


Define or return the exit mode for the current running service

  • « win32_set_service_exit_code
  • win32_set_service_status »
  • PHP Manual
  • win32service İşlevleri
  • Define or return the exit mode for the current running service

win32_set_service_exit_mode

(PECL win32service >=0.4.0)

win32_set_service_exit_mode — Define or return the exit mode for the current running service

Açıklama

win32_set_service_exit_mode(bool $gracefulMode = true): bool

If gracefulMode parameter is provided, the exit mode is changed. When the exit mode is not gracefuly, the exit code used can be set with the win32_set_service_exit_code() function.

Dikkat

This function work only in "cli" SAPI. On other SAPI this function is disabled.

Bağımsız Değişkenler

gracefulMode

true for exit graceful. false for exit with error.

Dönen Değerler

Return the current or old exit mode.

Hatalar/İstisnalar

Prior to version 1.0.0, if the SAPI is not "cli", this function emits an E_ERROR level error.

As of version 1.0.0, will throw a Win32ServiceException if SAPI is not "cli"

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously false was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.

Ayrıca Bakınız

  • win32_start_service_ctrl_dispatcher() - Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
  • win32_set_service_status() - Hizmet durumunu günceller
  • win32_set_service_exit_code() - Define or return the exit code for the current running service


Hizmet durumunu günceller

  • « win32_set_service_exit_mode
  • win32_start_service_ctrl_dispatcher »
  • PHP Manual
  • win32service İşlevleri
  • Hizmet durumunu günceller

win32_set_service_status

(PECL win32service >=0.1.0)

win32_set_service_status — Hizmet durumunu günceller

Açıklama

win32_set_service_status(int $durum, int $denetim_noktası = 0): bool

Hizmet yöneticisine çalışan hizmetin durumu hakkında bilgi verir. Bu çağrı sadece çalışmakta olan hizmet süreçleri için geçerlidir.

Dikkat

0.2.0 sürümünden beri, bu işlev sadece "cli" SAPI ile çalışmaktadır. Başka SAPI'lerde bu işlev devre dışıdır.

Bağımsız Değişkenler

durum

Hizmet durum kodu. Şunlardan biri olmalıdır: WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED, WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING, WIN32_SERVICE_PAUSED.

denetim_noktası

Denetim noktası değeri, hizmetin uzun bir başlatma, durdurma, duraklatma veya devam etme işlemi sırasında ilerlemesini bildirmek için düzenli aralıklarla artırdığı değerdir. Örneğin, hizmet başlatılırken başlatma işleminin her adımını tamamlandıkça bu değer artırılmalıdır.

denetim_noktası değerinin geçerli olabilmesi için durum şunlardan biri olmalıdır: WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING.

Dönen Değerler

Hiçbir değer dönmez.

1.0.0 öncesinde, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

1.0.0 öncesinde, SAPI "cli" değilse, bu işlev E_ERROR seviyesinde bir hata çıktılardı.

1.0.0 ve sonrasında, SAPI "cli" değilse, bu işlev Win32ServiceException yavruluyor.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.
PECL win32service 0.2.0 | Bu işlev sadece "cli" SAPI ile çalışır.

Ayrıca Bakınız

  • win32_start_service_ctrl_dispatcher() - Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
  • win32_get_last_control_message() - Hizmete gönderilmiş son denetim kodunu döndürür
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32Service Hizmet Durum Sabitleri


Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır

  • « win32_set_service_status
  • win32_start_service »
  • PHP Manual
  • win32service İşlevleri
  • Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır

win32_start_service_ctrl_dispatcher

(PECL win32service >=0.1.0)

win32_start_service_ctrl_dispatcher — Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır

Açıklama

win32_start_service_ctrl_dispatcher(string $isim, bool $zarafet_kipi = true): void

Bir hizmet, Hizmet yöneticisi üzerinden başlatıldığında hizmet sürecinin hizmet izleme ve iletişim oluşumlarını sağlayıp sağlamadığına bakılır. Bu işlev, hizmet yöneticisi ile düşük seviyeli iletişimi sağlamak üzere bir evre çatallayarak bu gereksinimi yerine getirir.

Hizmet başlatıldıktan sonra hizmet süreci iki şey yapmalıdır. Birincisi, Hizmet Yöneticisine hizmetin çalıştığını söylemektir. Bu, win32_set_service_status() işlevi WIN32_SERVICE_RUNNING sabiti ile çağrılarak elde edilir. Hizmet gerçekten çalışmaya başlamadan önce uzun bir işlem gerçekleştirmeniz gerekiyorsa, WIN32_SERVICE_START_PENDING sabitini kullanabilirsiniz. İkincisi, sonlandırılması gerekip gerekmediğini belirleyebilmesi için hizmet yöneticisi ile denetimlere devam etmektir. Bu, düzenli aralıklarla win32_get_last_control_message() işlevinin çağrılması ve dönüş kodunun uygun şekilde işlenmesiyle elde edilir.

Dikkat

0.2.0 sürümünden beri, bu işlev sadece "cli" SAPI ile çalışmaktadır. Başka SAPI'lerde bu işlev devre dışıdır.

Bağımsız Değişkenler

isim

Hizmetin win32_create_service() tarafından tanıtılan kısa ismi.

zarafet_kipi

Zarif bir çıkış için true. Hatalı çıkış için false. Ayrıntılar için bkz:win32_set_service_exit_mode()

Dönen Değerler

Hiçbir değer dönmez.

1.0.0 öncesinde, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

1.0.0 öncesinde, SAPI "cli" değilse, bu işlev E_ERROR seviyesinde bir hata çıktılardı.

1.0.0 ve sonrasında, SAPI "cli" değilse, bu işlev Win32ServiceException yavruluyor.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.
PECL win32service 0.4.0 | zarafet_kipi bağımsız değişkeni eklendi.
PECL win32service 0.2.0 | Bu işlev sadece "cli" SAPI ile çalışır.

Örnekler

Örnek 1 - win32_start_service_ctrl_dispatcher() örneği

Hizmetin SCM altında çalışıp çalışmadığına bakar.

<?php
if (!win32_start_service_ctrl_dispatcher('dummyphp')) {
die("Galiba hizmet yöneticisi altında çalışmıyorum");
}

win32_set_service_status(WIN32_SERVICE_START_PENDING);

while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) {
# İşlemler burada.
# Döngüyü yinelemeden önce 30 saniyeden fazla beklememeye çalış
}
?>

Ayrıca Bakınız

  • win32_set_service_status() - Hizmet durumunu günceller
  • win32_get_last_control_message() - Hizmete gönderilmiş son denetim kodunu döndürür
  • win32_set_service_exit_mode() - Define or return the exit mode for the current running service
  • win32_set_service_exit_code() - Define or return the exit code for the current running service
  • Win32 Hata Kodları


Bir hizmeti başlatır

  • « win32_start_service_ctrl_dispatcher
  • win32_stop_service »
  • PHP Manual
  • win32service İşlevleri
  • Bir hizmeti başlatır

win32_start_service

(PECL win32service >=0.1.0)

win32_start_service — Bir hizmeti başlatır

Açıklama

win32_start_service(string $hizmet, string $makine = ?): void

İsmi belirtilen hizmeti çalıştırmaya çalışır. Yönetici yetkileri veya hizmetin erişim denetim listesinden uygun izinlere sahip bir hesap gerekir. gerekir.

Bağımsız Değişkenler

hizmet

Hizmetin kısa ismi.

makine

İsteğe bağlı olarak makine ismi. Belirtilmezse yerel makine ismi kullanılır.

Dönen Değerler

Hiçbir değer dönmez.

1.0.0 öncesinde, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

1.0.0 öncesinde, SAPI "cli" değilse, bu işlev E_ERROR seviyesinde bir hata çıktılardı.

1.0.0 ve sonrasında, SAPI "cli" değilse, bu işlev Win32ServiceException yavruluyor.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.
PECL win32service 0.3.0 | Erişim Denetim Listesinde bir uygun bir hesap atanmışsa artık yönetici yetkileri gerekmiyor.

Ayrıca Bakınız

  • win32_stop_service() - Bir hizmeti durdurur
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Hata Kodları


Bir hizmeti durdurur

  • « win32_start_service
  • XML İşleme »
  • PHP Manual
  • win32service İşlevleri
  • Bir hizmeti durdurur

win32_stop_service

(PECL win32service >=0.1.0)

win32_stop_service — Bir hizmeti durdurur

Açıklama

win32_stop_service(string $hizmet, string $makine = ?): void

İsmi belirtilen hizmeti durdurur. Yönetici yetkileri veya hizmetin erişim denetim listesinden uygun izinlere sahip bir hesap gerekir.

Bağımsız Değişkenler

hizmet

Hizmetin kısa ismi.

makine

Belirtilmesi isteğe bağlıdır. Belirtilmezse yerel makine ismi kullanılır.

Dönen Değerler

Başarı durumunda WIN32_NO_ERROR, aksi takdirde bir win32 hata kodu döner.

Dönen Değerler

Hiçbir değer dönmez.

1.0.0 öncesinde, Başarı durumunda WIN32_NO_ERROR, başarısızlık durumunda bağımsız değişkenlerle ilgili bir sorun varsa veya bir Win32 Hata Kodu sözkonusuysa false döner.

Hatalar/İstisnalar

1.0.0 öncesinde, SAPI "cli" değilse, bu işlev E_ERROR seviyesinde bir hata çıktılardı.

1.0.0 ve sonrasında, SAPI "cli" değilse, bu işlev Win32ServiceException yavruluyor.

Sürüm Bilgisi

Sürüm: | Açıklama
PECL win32service 1.0.0 | Bağımsız değişkenlerdeki veri geçersiz ise artık ValueError yavrulanıyor, evvelce false dönerdi.
PECL win32service 1.0.0 | Hata durumunda artık Win32ServiceException yavrulanıyor, evvelce bir Win32 Hata Kodu dönerdi.
PECL win32service 1.0.0 | Dönüş türü artık void, evvelce mixed idi.
PECL win32service 0.3.0 | Erişim Denetim Listesinde bir uygun bir hesap atanmışsa artık yönetici yetkileri gerekmiyor.

Ayrıca Bakınız

  • win32_start_service() - Bir hizmeti başlatır
  • win32_pause_service() - Pauses a service
  • win32_continue_service() - Resumes a paused service
  • win32_send_custom_control() - Send a custom control to the service
  • Win32 Hata Kodları


XML İşleme

  • DOM — Belge Nesne Modeli
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • DOMAttr — DOMAttr sınıfı
    • DOMCdataSection — DOMCdataSection sınıfı
    • DOMCharacterData — DOMCharacterData sınıfı
    • DOMChildNode — The DOMChildNode interface
    • DOMComment — DOMComment sınıfı
    • DOMDocument — DOMDocument sınıfı
    • DOMDocumentFragment — DOMDocumentFragment sınıfı
    • DOMDocumentType — DOMDocumentType sınıfı
    • DOMElement — DOMElement sınıfı
    • DOMEntity — DOMEntity sınıfı
    • DOMEntityReference — DOMEntityReference sınıfı
    • DOMException — DOMException sınıfı
    • DOMImplementation — DOMImplementation sınıfı
    • DOMNamedNodeMap — DOMNamedNodeMap sınıfı
    • DOMNode — DOMNode sınıfı
    • DOMNodeList — DOMNodeList sınıfı
    • DOMNotation — DOMNotation sınıfı
    • DOMParentNode — The DOMParentNode interface
    • DOMProcessingInstruction — DOMProcessingInstruction sınıfı
    • DOMText — DOMText sınıfı
    • DOMXPath — DOMXPath sınıfı
    • DOM İşlevleri
  • libxml
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • libXMLError — libXMLError sınıfı
    • libxml İşlevleri
  • SimpleXML — Basit XML
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • SimpleXMLElement — SimpleXMLElement sınıfı
    • SimpleXMLIterator — The SimpleXMLIterator class
    • Basit XML İşlevleri
  • WDDX
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • WDDX İşlevleri
  • XMLDiff — XML diff and merge
    • Giriş
    • Yapılandırma/Kurulum
    • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\File — The XMLDiff\File class
  • XML Çözümleyici
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Geriçağırım İşlevleri
    • Büyük Harfe Dönüşüm
    • Hata Kodları
    • Karakter Kodlaması
    • Örnekler
    • XML Çözümleyici İşlevleri
    • XMLParser — XMLParser sınıfı
  • XMLReader
    • Giriş
    • Yapılandırma/Kurulum
    • XMLReader — XMLReader sınıfı
  • XMLWriter
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • XMLWriter — XMLWriter sınıfı
  • XSL
    • Giriş
    • Yapılandırma/Kurulum
    • Öntanımlı Sabitler
    • Örnekler
    • XSLTProcessor — XSLTProcessor sınıfı


Belge Nesne Modeli

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
  • DOMAttr — DOMAttr sınıfı
    • DOMAttr::__construct — Yeni bir DOMAttr nesnesi oluşturur
    • DOMAttr::isId — Öznitelik bir ID mi tanımlıyor diye bakar
  • DOMCdataSection — DOMCdataSection sınıfı
    • DOMCdataSection::__construct — DOMCdataSection nesnesi oluşturur
  • DOMCharacterData — DOMCharacterData sınıfı
    • DOMCharacterData::after — Adds nodes after the character data
    • DOMCharacterData::appendData — Düğümün karakter verisinin sonuna bir dizge ekler
    • DOMCharacterData::before — Adds nodes before the node
    • DOMCharacterData::deleteData — Düğümden belirtilen alt dizgeyi siler
    • DOMCharacterData::insertData — 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
    • DOMCharacterData::remove — Removes the character data
    • DOMCharacterData::replaceData — DOMCharacterData içindeki bir alt dizgeyi değiştirir
    • DOMCharacterData::replaceWith — Replaces the character data with new nodes
    • DOMCharacterData::substringData — Düğümden belli miktarda veri döndürür
  • DOMChildNode — The DOMChildNode interface
    • DOMChildNode::after — Adds nodes after the node
    • DOMChildNode::before — Adds nodes before the node
    • DOMChildNode::remove — Removes the node
    • DOMChildNode::replaceWith — Replaces the node with new nodes
  • DOMComment — DOMComment sınıfı
    • DOMComment::__construct — Yeni bir DOMComment nesnesi oluşturur
  • DOMDocument — DOMDocument sınıfı
    • DOMDocument::adoptNode — Transfer a node from another document
    • DOMDocument::append — Appends nodes after the last child node
    • DOMDocument::__construct — Yeni bir DOMDocument nesnesi oluşturur
    • DOMDocument::createAttribute — Yeni bir öznitelik düğümü oluşturur
    • DOMDocument::createAttributeNS — Yeni bir isim alanlı öznitelik düğümü oluşturur
    • DOMDocument::createCDATASection — Yeni bir CDATA düğümü oluşturur
    • DOMDocument::createComment — Yeni bir açıklama düğümü oluşturur
    • DOMDocument::createDocumentFragment — Yeni bir belge bölütü oluşturur
    • DOMDocument::createElement — Yeni bir eleman düğümü oluşturur
    • DOMDocument::createElementNS — İsim alanlı bir eleman düğümü oluşturur
    • DOMDocument::createEntityReference — Yeni bir öğe bildirimi düğümü oluşturur
    • DOMDocument::createProcessingInstruction — Yeni bir işlem komutu düğümü oluşturur
    • DOMDocument::createTextNode — Yeni bir metin düğümü oluşturur
    • DOMDocument::getElementById — ID'si belirtilen elemanı döndürür
    • DOMDocument::getElementsByTagName — Yerel etiket ismi belirtilen tüm elemanları döndürür
    • DOMDocument::getElementsByTagNameNS — İsmi ve isim alanı belirtilen tüm elemanları döndürür
    • DOMDocument::importNode — Belgeye bir düğüm dahil eder
    • DOMDocument::load — XML belgeyi bir dosyadan yükler
    • DOMDocument::loadHTML — HTML belgeyi bir dizgeden yükler
    • DOMDocument::loadHTMLFile — HTML belgeyi bir dosyadan yükler
    • DOMDocument::loadXML — XML belgeyi bir dizgeden yükler
    • DOMDocument::normalizeDocument — Belgeyi normalleştirir
    • DOMDocument::prepend — Prepends nodes before the first child node
    • DOMDocument::registerNodeClass — Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır
    • DOMDocument::relaxNGValidate — Belgeyi belirtilen RNG dosyasıyla doğrular
    • DOMDocument::relaxNGValidateSource — Belgeyi belirtilen RNG dizgesiyle doğrular
    • DOMDocument::replaceChildren — Replace children in document
    • DOMDocument::save — Dahili XML ağacını bir dizge olarak dosyaya yazar
    • DOMDocument::saveHTML — Dahili belgeyi bir HTML dizgesi olarak çıktılar
    • DOMDocument::saveHTMLFile — Dahili belgeyi bir HTML dizge olarak dosyaya yazar
    • DOMDocument::saveXML — Dahili XML ağacını bir dizge olarak çıktılar
    • DOMDocument::schemaValidate — Belgeyi bir şema dosyasına göre doğrular
    • DOMDocument::schemaValidateSource — Belgeyi bir şema dizgesine göre doğrular
    • DOMDocument::validate — Belgeyi DTD'sine göre doğrular
    • DOMDocument::xinclude — Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder
  • DOMDocumentFragment — DOMDocumentFragment sınıfı
    • DOMDocumentFragment::append — Appends nodes after the last child node
    • DOMDocumentFragment::appendXML — Ham bir XML verisi ekler
    • DOMDocumentFragment::__construct — Constructs a DOMDocumentFragment object
    • DOMDocumentFragment::prepend — Prepends nodes before the first child node
    • DOMDocumentFragment::replaceChildren — Replace children in fragment
  • DOMDocumentType — DOMDocumentType sınıfı
  • DOMElement — DOMElement sınıfı
    • DOMElement::after — Adds nodes after the element
    • DOMElement::append — Appends nodes after the last child node
    • DOMElement::before — Adds nodes before the element
    • DOMElement::__construct — Yeni bir DOMElement nesnesi oluşturur
    • DOMElement::getAttribute — İsmi belirtilen özniteliğin değerini döndürür
    • DOMElement::getAttributeNames — Get attribute names
    • DOMElement::getAttributeNode — İsmi belirtilen öznitelik düğümünü döndürür
    • DOMElement::getAttributeNodeNS — İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür
    • DOMElement::getAttributeNS — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
    • DOMElement::getElementsByTagName — İsmi belirtilen elemanları döndürür
    • DOMElement::getElementsByTagNameNS — İsmi ve isim alanı belirtilen elemanları döndürür
    • DOMElement::hasAttribute — İsmi belirtilen öznitelik mevcut mu diye bakar
    • DOMElement::hasAttributeNS — Belirtilen isim alanlı öznitelik var mı diye bakar
    • DOMElement::insertAdjacentElement — Insert adjacent element
    • DOMElement::insertAdjacentText — Insert adjacent text
    • DOMElement::prepend — Prepends nodes before the first child node
    • DOMElement::remove — Removes the element
    • DOMElement::removeAttribute — İsmi belirtilen özniteliği siler
    • DOMElement::removeAttributeNode — Belirtilen öznitelik düğümünü siler
    • DOMElement::removeAttributeNS — İsmi ve isim alanı belirtilen özniteliği siler
    • DOMElement::replaceChildren — Replace children in element
    • DOMElement::replaceWith — Replaces the element with new nodes
    • DOMElement::setAttribute — Yeni bir öznitelik ekler ya da var olanda değişiklik yapar
    • DOMElement::setAttributeNode — Elemana yeni bir öznitelik düğümü ekler
    • DOMElement::setAttributeNodeNS — Elemana isim alanlı yeni bir öznitelik düğümü ekler
    • DOMElement::setAttributeNS — İsim alanlı yeni bir öznitelik ekler
    • DOMElement::setIdAttribute — İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar
    • DOMElement::setIdAttributeNode — Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir
    • DOMElement::setIdAttributeNS — İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar
    • DOMElement::toggleAttribute — Toggle attribute
  • DOMEntity — DOMEntity sınıfı
  • DOMEntityReference — DOMEntityReference sınıfı
    • DOMEntityReference::__construct — Yeni bir DOMEntityReference nesnesi oluşturur
  • DOMException — DOMException sınıfı
  • DOMImplementation — DOMImplementation sınıfı
    • DOMImplementation::__construct — Yeni bir DOMImplementation nesnesi oluşturur
    • DOMImplementation::createDocument — Belge elemanı belirtilen DOMDocument nesnesini oluşturur
    • DOMImplementation::createDocumentType — Boş bir DOMDocumentType nesnesi oluşturur
    • DOMImplementation::hasFeature — DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar
  • DOMNamedNodeMap — DOMNamedNodeMap sınıfı
    • DOMNamedNodeMap::count — Ağaçtaki düğüm sayısını döndürür
    • DOMNamedNodeMap::getIterator — Retrieve an external iterator
    • DOMNamedNodeMap::getNamedItem — İsmi belirtilen düğümü döndürür
    • DOMNamedNodeMap::getNamedItemNS — İsmi ve isim alanı belirtilen düğümü döndürür
    • DOMNamedNodeMap::item — İndisi belirtilen düğümü döndürür
  • DOMNode — DOMNode sınıfı
    • DOMNode::appendChild — Listenin sonuna yeni bir çocuk ekler
    • DOMNode::C14N — Düğümleri belgedeki yazımını bozmadan dizgeleştirir
    • DOMNode::C14NFile — Düğümleri belgedeki yazımını bozmadan dosyaya yazar
    • DOMNode::cloneNode — Düğümün bir kopyasını yapar
    • DOMNode::contains — Checks if node contains other node
    • DOMNode::getLineNo — Düğümün tanımlandığı satır numarasını döndürür
    • DOMNode::getNodePath — Düğümün XPath yolunu döndürür
    • DOMNode::getRootNode — Get root node
    • DOMNode::hasAttributes — Düğümün öznitelikleri var mı diye bakar
    • DOMNode::hasChildNodes — Düğümün çocuk düğümleri var mı diye bakar
    • DOMNode::insertBefore — Yeni çocuğu belirtilen çocuğun öncesine yerleştirir
    • DOMNode::isDefaultNamespace — Belirtilen isim alanının öntanımlı olup olmadığına bakar
    • DOMNode::isEqualNode — Checks that both nodes are equal
    • DOMNode::isSameNode — İki düğüm aynı mı diye bakar
    • DOMNode::isSupported — Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar
    • DOMNode::lookupNamespaceURI — İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür
    • DOMNode::lookupPrefix — Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür
    • DOMNode::normalize — Düğümü normalleştirir
    • DOMNode::removeChild — Listeden belirtilen çocuğu siler
    • DOMNode::replaceChild — Bir çocuk düğümü yenisi ile değiştirir
  • DOMNodeList — DOMNodeList sınıfı
    • DOMNodeList::count — Listedeki düğüm sayısını döndürür
    • DOMNodeList::getIterator — Retrieve an external iterator
    • DOMNodelist::item — İndisi belirtilen düğümü döndürür
  • DOMNotation — DOMNotation sınıfı
  • DOMParentNode — The DOMParentNode interface
    • DOMParentNode::append — Appends nodes after the last child node
    • DOMParentNode::prepend — Prepends nodes before the first child node
    • DOMParentNode::replaceChildren — Replace children in node
  • DOMProcessingInstruction — DOMProcessingInstruction sınıfı
    • DOMProcessingInstruction::__construct — Yeni bir DOMProcessingInstruction nesnesi oluşturur
  • DOMText — DOMText sınıfı
    • DOMText::__construct — Yeni bir DOMText nesnesi oluşturur
    • DOMText::isElementContentWhitespace — Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür
    • DOMText::isWhitespaceInElementContent — Düğümün boşluk içerip içermediğini belirtir
    • DOMText::splitText — Düğümü belirtilen konumda iki düğüme böler
  • DOMXPath — DOMXPath sınıfı
    • DOMXPath::__construct — Yeni bir DOMXPath nesnesi oluşturur
    • DOMXPath::evaluate — Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir
    • DOMXPath::query — Belirtilen XPath ifadesini değerlendirir
    • DOMXPath::registerNamespace — Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir
    • DOMXPath::registerPhpFunctions — PHP işlevlerini XPath ifadelerinde kullanılabilir yapar
  • DOM İşlevleri
    • dom_import_simplexml — Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür


Giriş

DOM eklentisi, PHP ile DOM arayüzü sayesinde XML ve HTML belgeler üzerinde işlem yapmayı sağlar.

Bilginize:

DOM eklentisi UTF-8 kodlama kullanır. Diğer kodlamalarla çalışmak için mb_convert_encoding(), UConverter::transcode() veya iconv() kullanılabilir.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-dom


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XML sabitleri
Sabit | Değer | Açıklama
XML_ELEMENT_NODE (int) | 1 | Düğüm bir DOMElement nesnesidir.
XML_ATTRIBUTE_NODE (int) | 2 | Düğüm bir DOMAttr nesnesidir.
XML_TEXT_NODE (int) | 3 | Düğüm bir DOMText nesnesidir.
XML_CDATA_SECTION_NODE (int) | 4 | Düğüm bir DOMCharacterData nesnesidir.
XML_ENTITY_REF_NODE (int) | 5 | Düğüm bir DOMEntityReference nesnesidir.
XML_ENTITY_NODE (int) | 6 | Düğüm bir DOMEntity nesnesidir.
XML_PI_NODE (int) | 7 | Düğüm bir DOMProcessingInstruction nesnesidir.
XML_COMMENT_NODE (int) | 8 | Düğüm bir DOMComment nesnesidir.
XML_DOCUMENT_NODE (int) | 9 | Düğüm bir DOMDocument nesnesidir.
XML_DOCUMENT_TYPE_NODE (int) | 10 | Düğüm bir DOMDocumentType nesnesidir.
XML_DOCUMENT_FRAG_NODE (int) | 11 | Düğüm bir DOMDocumentFragment nesnesidir.
XML_NOTATION_NODE (int) | 12 | Düğüm bir DOMNotation nesnesidir.
XML_HTML_DOCUMENT_NODE (int) | 13 |
XML_DTD_NODE (int) | 14 |
XML_ELEMENT_DECL_NODE (int) | 15 |
XML_ATTRIBUTE_DECL_NODE (int) | 16 |
XML_ENTITY_DECL_NODE (int) | 17 |
XML_NAMESPACE_DECL_NODE (int) | 18 |
XML_ATTRIBUTE_CDATA (int) | 1 |
XML_ATTRIBUTE_ID (int) | 2 |
XML_ATTRIBUTE_IDREF (int) | 3 |
XML_ATTRIBUTE_IDREFS (int) | 4 |
XML_ATTRIBUTE_ENTITY (int) | 5 |
XML_ATTRIBUTE_NMTOKEN (int) | 7 |
XML_ATTRIBUTE_NMTOKENS (int) | 8 |
XML_ATTRIBUTE_ENUMERATION (int) | 9 |
XML_ATTRIBUTE_NOTATION (int) | 10 |
DOMException sabitleri
Sabit | Değer | Açıklama
DOM_PHP_ERR (int) | 0 | Hata kodu DOM belirtiminin bir parçası dağil, PHP'nin bir parçasıdır.
DOM_INDEX_SIZE_ERR (int) | 1 | İndis veya boyut ya negatiftir ya da izin verilenden büyüktür.
DOMSTRING_SIZE_ERR (int) | 2 | Belirtilen metnin boyutu DOMString nesnesine sığmıyordur.
DOM_HIERARCHY_REQUEST_ERR (int) | 3 | Yerleştirilen düğüm oraya uygun değildir.
DOM_WRONG_DOCUMENT_ERR (int) | 4 | Düğüm oluşturulduğu belgede değil başka bir belgede kullanılmıştır.
DOM_INVALID_CHARACTER_ERR (int) | 5 | İsim gibi bir yerde geçersiz veya kuraldışı bir karakter belirtilmiştir.
DOM_NO_DATA_ALLOWED_ERR (int) | 6 | Düğüm belirtilen veriyi desteklemiyordur.
DOM_NO_MODIFICATION_ALLOWED_ERR (int) | 7 | Değişikliğe izin verilmeyen bir nesnede değişiklik yapılmaya çalışılmıştır.
DOM_NOT_FOUND_ERR (int) | 8 | Bağlamda mevcut olmayan bir düğüme gönderim yapılmaya çalışılmıştır.
DOM_NOT_SUPPORTED_ERR (int) | 9 | Gerçeklenim istenen nesne türünü veya işlemi desteklemiyordur.
DOM_INUSE_ATTRIBUTE_ERR (int) | 10 | Başka bir yerde zaten kullanılmış bir öznitelik eklenmeye çalışılmıştır.
DOM_INVALID_STATE_ERR (int) | 11 | Olmayan veya artık kullanılmayan bir nesne kullanılmaya çalışılmıştır.
DOM_SYNTAX_ERR (int) | 12 | Geçersiz veya kuraldışı bir dizge belirtilmeye çalışılmıştır.
DOM_INVALID_MODIFICATION_ERR (int) | 13 | İlgili nesne türü değiştirilmeye çalışılmıştır.
DOM_NAMESPACE_ERR (int) | 14 | İsim alanına göre yanlış bir yoldan bir nesne oluşturulmaya veya değiştirilmeye çalışılmıştır.
DOM_INVALID_ACCESS_ERR (int) | 15 | Bir bağımsız değişken veya işlem ilgili nesne tarafından desteklenmiyordur.
DOM_VALIDATION_ERR (int) | 16 | insertBefore veya removeChild gibi bir çağrı ile düğüm, kısmi doğruluk bakımından geçersizleştirilmeye çalışılmıştır. Bu istisna oluştuğunda işlem yapılmaz.


Örnekler

Bu eklentideki örneklerinin çoğu bir XML dosyası gerektirir. Bunun için içeriği aşağıda verilen book.xml dosyası kullanılmıştır:

Örnek 1 book.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
]>
<book id="listing">
 <title>My lists</title>
 <chapter id="books">
  <title>My books</title>
  <para>
   <informaltable>
    <tgroup cols="4">
     <thead>
      <row>
       <entry>Title</entry>
       <entry>Author</entry>
       <entry>Language</entry>
       <entry>ISBN</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
      <row>
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
      <row>
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
      <!-- TODO: I have a lot of remaining books to add.. -->
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </chapter>
</book>


DOMAttr sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bir DOMAttr nesnesi, bir DOMElement nesnesindeki bir özniteliği temsil eder.

Sınıf Sözdizimi

class DOMAttr extends DOMNode {
/* Özellikler */
public readonly string $name;
public readonly bool $specified = true;
public string $value;
public readonly ?DOMElement $ownerElement;
public readonly mixed $schemaTypeInfo = null;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $name, string $value = "")
public isId(): bool
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

name

Özniteliğin ismi.

ownerElement

Özniteliği içeren eleman.

schemaTypeInfo

Henüz gerçeklenmemiştir, daima null'dur.

specified

Henüz gerçeklenmemiştir, daima null'dur.

value

Özniteliğin değeri.

Bilginize:

XML varlıkların değer atandıktan sonra genişletildiği unutulmamalıdır. & karakterinin özel anlamı olduğundan value & karakterini içeriyorsa, kendisine atanması başarısız olur. Atamanın varlık genişletmesine konu olmaması için atama DOMElement::setAttribute() kullanılarak yapılmalıdır.

Ayrıca Bakınız

  • » Attr arayüzünün W3C belirtimi

İçindekiler

  • DOMAttr::__construct — Yeni bir DOMAttr nesnesi oluşturur
  • DOMAttr::isId — Öznitelik bir ID mi tanımlıyor diye bakar


Yeni bir DOMAttr nesnesi oluşturur

  • « DOMAttr
  • DOMAttr::isId »
  • PHP Manual
  • DOMAttr
  • Yeni bir DOMAttr nesnesi oluşturur

DOMAttr::__construct

(PHP 5, PHP 7, PHP 8)

DOMAttr::__construct — Yeni bir DOMAttr nesnesi oluşturur

Açıklama

public DOMAttr::__construct(string $name, string $value = "")

Yeni bir DOMAttr nesnesi oluşturur. Nesne bu haliyle bir belgeye eklenebilir, fakat belge ile ilişkilendirilinceye kadar yeni bir düğüm eklenemez. Yazılabilir bir düğüm oluşturmak için DOMDocument::createAttribute() yöntemini kullanın.

Bağımsız Değişkenler

name

Özniteliğin ismi.

value

Özniteliğin değeri.

Örnekler

Örnek 1 - Yeni bir DOMAttr oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$attr = $element->setAttributeNode(new DOMAttr('attr', 'attrvalue'));
echo $dom->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="iso-8859-1"?>
<root attr="attrvalue" />

Ayrıca Bakınız

  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur


Öznitelik bir ID mi tanımlıyor diye bakar

  • « DOMAttr::__construct
  • DOMCdataSection »
  • PHP Manual
  • DOMAttr
  • Öznitelik bir ID mi tanımlıyor diye bakar

DOMAttr::isId

(PHP 5, PHP 7, PHP 8)

DOMAttr::isId — Öznitelik bir ID mi tanımlıyor diye bakar

Açıklama

public DOMAttr::isId(): bool

Öznitelik bir ID tanımlıyorsa true döner.

DOM standardı gereği, ID özniteliğini ID türünde tanımlayan bir DTD olmalıdır. Bu işlevi kullanmadan önce belgenizi DOMDocument::validate() veya DOMDocument::validateOnParse ile doğrulamanız gerekir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - DOMAttr::isId() örneği

<?php

$doc = new DomDocument;

// Belgemizi önce doğrulamalıyız
$doc->validateOnParse = true;
$doc->Load('book.xml');

// chapter elemanının id özniteliğini öğrenelim
$attr = $doc->getElementsByTagName('chapter')->item(0)->getAttributeNode('id');

var_dump($attr->isId()); // bool(true)

?>


DOMCdataSection sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

DOMCdataSection sınıfı CData oluşumlarının dizgesel gösterimleri için DOMText sınıfından miras alınır.

Sınıf Sözdizimi

class DOMCdataSection extends DOMText {
/* Miras alınan özellikler */
public readonly string $wholetext;
public string $data;
public readonly int $length;
public readonly ?DOMElement $previousElementSibling;
public readonly ?DOMElement $nextElementSibling;
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $veri)
/* Miras alınan yöntemler */
public DOMText::isElementContentWhitespace(): bool
public DOMText::isWhitespaceInElementContent(): bool
public DOMText::splitText(int $offset): DOMText|false
public DOMCharacterData::after(DOMNode|string ...$nodes): void
public DOMCharacterData::appendData(string $data): true
public DOMCharacterData::before(DOMNode|string ...$nodes): void
public DOMCharacterData::deleteData(int $offset, int $count): bool
public DOMCharacterData::insertData(int $offset, string $data): bool
public DOMCharacterData::remove(): void
public DOMCharacterData::replaceData(int $offset, int $count, string $data): bool
public DOMCharacterData::replaceWith(DOMNode|string ...$nodes): void
public DOMCharacterData::substringData(int $offset, int $count): string|false
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

İçindekiler

  • DOMCdataSection::__construct — DOMCdataSection nesnesi oluşturur


DOMCdataSection nesnesi oluşturur

  • « DOMCdataSection
  • DOMCharacterData »
  • PHP Manual
  • DOMCdataSection
  • DOMCdataSection nesnesi oluşturur

DOMCdataSection::__construct

(PHP 5, PHP 7, PHP 8)

DOMCdataSection::__construct — DOMCdataSection nesnesi oluşturur

Açıklama

public DOMCdataSection::__construct(string $veri)

Yeni bir CDATA düğümü oluşturur. DOMText sınıfı gibi çalışır.

Bağımsız Değişkenler

veri

CDATA düğümünün değeri. Belirtilmezse CDATA düğümü boş olarak oluşturulur.

Örnekler

Örnek 1 - Yeni bir DOMCdataSection örneği oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMCdataSection('root value'));
echo $dom->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<root><![CDATA[root value]]></root>

Ayrıca Bakınız

  • DOMText::__construct() - Yeni bir DOMText nesnesi oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


DOMCharacterData sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Karakter verisi içeren düğümleri temsil eder. Bu sınıfa karşılık gelen hiçbir düğüm yoktur, ancak diğer düğümlerce miras alınır.

Sınıf Sözdizimi

class DOMCharacterData extends DOMNode implements DOMChildNode {
/* Özellikler */
public string $data;
public readonly int $length;
public readonly ?DOMElement $previousElementSibling;
public readonly ?DOMElement $nextElementSibling;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public after(DOMNode|string ...$nodes): void
public appendData(string $data): true
public before(DOMNode|string ...$nodes): void
public deleteData(int $offset, int $count): bool
public insertData(int $offset, string $data): bool
public remove(): void
public replaceData(int $offset, int $count, string $data): bool
public replaceWith(DOMNode|string ...$nodes): void
public substringData(int $offset, int $count): string|false
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

data

Düğüm içeriği.

length

İçerek uzunluğu.

nextElementSibling

Sonraki kardeş eleman ya da null.

previousElementSibling

Önceki kardeş eleman ya da null.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nextElementSibling ve previousElementSibling özellikleri eklendi.
8.0.0 | DOMCharacterData artık DOMChildNode arayüzünü gerçekliyor.

Ayrıca Bakınız

  • » CharacterData arayüzünün W3C belirtimi

İçindekiler

  • DOMCharacterData::after — Adds nodes after the character data
  • DOMCharacterData::appendData — Düğümün karakter verisinin sonuna bir dizge ekler
  • DOMCharacterData::before — Adds nodes before the node
  • DOMCharacterData::deleteData — Düğümden belirtilen alt dizgeyi siler
  • DOMCharacterData::insertData — 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
  • DOMCharacterData::remove — Removes the character data
  • DOMCharacterData::replaceData — DOMCharacterData içindeki bir alt dizgeyi değiştirir
  • DOMCharacterData::replaceWith — Replaces the character data with new nodes
  • DOMCharacterData::substringData — Düğümden belli miktarda veri döndürür


Adds nodes after the character data

  • « DOMCharacterData
  • DOMCharacterData::appendData »
  • PHP Manual
  • DOMCharacterData
  • Adds nodes after the character data

DOMCharacterData::after

(PHP 8)

DOMCharacterData::after — Adds nodes after the character data

Açıklama

public DOMCharacterData::after(DOMNode|string ...$nodes): void

Adds the passed nodes after the element.

Bağımsız Değişkenler

nodes

Nodes to be added after the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMCharacterData::after() example

Adds nodes after the character data.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><![CDATA[hello]]></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->after("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><![CDATA[hello]]>beautiful<world/></container>

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMCharacterData::before() - Adds nodes before the node


Düğümün karakter verisinin sonuna bir dizge ekler

  • « DOMCharacterData::after
  • DOMCharacterData::before »
  • PHP Manual
  • DOMCharacterData
  • Düğümün karakter verisinin sonuna bir dizge ekler

DOMCharacterData::appendData

(PHP 5, PHP 7, PHP 8)

DOMCharacterData::appendData — Düğümün karakter verisinin sonuna bir dizge ekler

Açıklama

public DOMCharacterData::appendData(string $data): true

Düğümün karakter verisinin sonuna data dizgesini ekler.

Bağımsız Değişkenler

data

Eklenecek dizge.

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • DOMCharacterData::deleteData() - Düğümden belirtilen alt dizgeyi siler
  • DOMCharacterData::insertData() - 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
  • DOMCharacterData::replaceData() - DOMCharacterData içindeki bir alt dizgeyi değiştirir
  • DOMCharacterData::substringData() - Düğümden belli miktarda veri döndürür


Adds nodes before the node

  • « DOMCharacterData::appendData
  • DOMCharacterData::deleteData »
  • PHP Manual
  • DOMCharacterData
  • Adds nodes before the node

DOMCharacterData::before

(PHP 8)

DOMCharacterData::before — Adds nodes before the node

Açıklama

public DOMCharacterData::before(DOMNode|string ...$nodes): void

Adds the passed nodes before the node.

Bağımsız Değişkenler

nodes

Nodes to be added before the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMCharacterData::before() example

Adds nodes before the character data.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><![CDATA[world]]></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->before("hello", $doc->createElement("beautiful"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container>hello<beautiful/><![CDATA[world]]></container>

Ayrıca Bakınız

  • DOMChildNode::before() - Adds nodes before the node
  • DOMCharacterData::after() - Adds nodes after the character data


Düğümden belirtilen alt dizgeyi siler

  • « DOMCharacterData::before
  • DOMCharacterData::insertData »
  • PHP Manual
  • DOMCharacterData
  • Düğümden belirtilen alt dizgeyi siler

DOMCharacterData::deleteData

(PHP 5, PHP 7, PHP 8)

DOMCharacterData::deleteData — Düğümden belirtilen alt dizgeyi siler

Açıklama

public DOMCharacterData::deleteData(int $offset, int $count): bool

Düğümden offset karakterinden başlayan count karakterlik alt dizgeyi siler.

Bağımsız Değişkenler

offset

Silinecek alt dizgenin başlangıcı.

count

Silinecek karakter sayısı. offset + count toplamı dizge uzunluğunu aşarsa verinin sonundaki tüm karakterler silinir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_INDEX_SIZE_ERR

offset veya count negatifse veya offset verideki 16 bitlik birimlerin sayısından büyükse bu hata oluşur.

Ayrıca Bakınız

  • DOMCharacterData::appendData() - Düğümün karakter verisinin sonuna bir dizge ekler
  • DOMCharacterData::insertData() - 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
  • DOMCharacterData::replaceData() - DOMCharacterData içindeki bir alt dizgeyi değiştirir
  • DOMCharacterData::substringData() - Düğümden belli miktarda veri döndürür


16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir

  • « DOMCharacterData::deleteData
  • DOMCharacterData::remove »
  • PHP Manual
  • DOMCharacterData
  • 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir

DOMCharacterData::insertData

(PHP 5, PHP 7, PHP 8)

DOMCharacterData::insertData — 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir

Açıklama

public DOMCharacterData::insertData(int $offset, string $data): bool

veri alt dizgesini offset konumundan itibaren dizgeye yerleştirir.

Bağımsız Değişkenler

offset

data dizgesinin yerleştirileceği konum.

data

Yerleştirilecek alt dizge.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_INDEX_SIZE_ERR

offset negatifse veya 16 bitlik birimlerle veriden uzunsa bu hata oluşur.

Ayrıca Bakınız

  • DOMCharacterData::appendData() - Düğümün karakter verisinin sonuna bir dizge ekler
  • DOMCharacterData::deleteData() - Düğümden belirtilen alt dizgeyi siler
  • DOMCharacterData::replaceData() - DOMCharacterData içindeki bir alt dizgeyi değiştirir
  • DOMCharacterData::substringData() - Düğümden belli miktarda veri döndürür


Removes the character data

  • « DOMCharacterData::insertData
  • DOMCharacterData::replaceData »
  • PHP Manual
  • DOMCharacterData
  • Removes the character data

DOMCharacterData::remove

(PHP 8)

DOMCharacterData::remove — Removes the character data

Açıklama

public DOMCharacterData::remove(): void

Removes the character data.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DOMCharacterData::remove() example

Removes the character data.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><![CDATA[hello]]><world/></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->remove();

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><world/></container>

Ayrıca Bakınız

  • DOMChildNode::remove() - Removes the node
  • DOMCharacterData::after() - Adds nodes after the character data
  • DOMCharacterData::before() - Adds nodes before the node
  • DOMCharacterData::replaceWith() - Replaces the character data with new nodes
  • DOMNode::removeChild() - Listeden belirtilen çocuğu siler


DOMCharacterData içindeki bir alt dizgeyi değiştirir

  • « DOMCharacterData::remove
  • DOMCharacterData::replaceWith »
  • PHP Manual
  • DOMCharacterData
  • DOMCharacterData içindeki bir alt dizgeyi değiştirir

DOMCharacterData::replaceData

(PHP 5, PHP 7, PHP 8)

DOMCharacterData::replaceData — DOMCharacterData içindeki bir alt dizgeyi değiştirir

Açıklama

public DOMCharacterData::replaceData(int $offset, int $count, string $data): bool

offset konumundan itibaren count karakterlik alt dizgenin yerine data dizgesini yerleştirir.

Bağımsız Değişkenler

offset

Değiştirilecek alt dizgenin başlangıç konumu.

count

Değiştirilecek alt dizgenin karakter sayısı. offset + count toplamı dizgenin toplam uzunluğunu aşarsa verinin sonundaki tüm karakterler değiştirilir.

data

Değiştirilecek alt dizgenin yerini alacak dizge.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_INDEX_SIZE_ERR

offset veya count negatifse veya offset verideki 16 bitlik birimlerin sayısından büyükse bu hata oluşur.

Ayrıca Bakınız

  • DOMCharacterData::appendData() - Düğümün karakter verisinin sonuna bir dizge ekler
  • DOMCharacterData::deleteData() - Düğümden belirtilen alt dizgeyi siler
  • DOMCharacterData::insertData() - 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
  • DOMCharacterData::substringData() - Düğümden belli miktarda veri döndürür


Replaces the character data with new nodes

  • « DOMCharacterData::replaceData
  • DOMCharacterData::substringData »
  • PHP Manual
  • DOMCharacterData
  • Replaces the character data with new nodes

DOMCharacterData::replaceWith

(PHP 8)

DOMCharacterData::replaceWith — Replaces the character data with new nodes

Açıklama

public DOMCharacterData::replaceWith(DOMNode|string ...$nodes): void

Replaces the character data with new nodes.

Bağımsız Değişkenler

nodes

The replacement nodes. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMCharacterData::replaceWith() example

Replaces the character data with new nodes.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><![CDATA[hello]]></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container>beautiful<world/></container>

Ayrıca Bakınız

  • DOMChildNode::replaceWith() - Replaces the node with new nodes
  • DOMCharacterData::after() - Adds nodes after the character data
  • DOMCharacterData::before() - Adds nodes before the node
  • DOMCharacterData::remove() - Removes the character data


Düğümden belli miktarda veri döndürür

  • « DOMCharacterData::replaceWith
  • DOMChildNode »
  • PHP Manual
  • DOMCharacterData
  • Düğümden belli miktarda veri döndürür

DOMCharacterData::substringData

(PHP 5, PHP 7, PHP 8)

DOMCharacterData::substringData — Düğümden belli miktarda veri döndürür

Açıklama

public DOMCharacterData::substringData(int $offset, int $count): string|false

Belirtilen alt dizgeyi döndürür.

Bağımsız Değişkenler

offset

Döndürülecek alt dizgenin başlangıç konumu.

count

Döndürülecek alt dizgenin karakter sayısı.

Dönen Değerler

Belirtilen alt dizgeyi döndürür. Eğer offset + count toplamı dizge uzunluğunu aşarsa verinin sonundaki 16 bitlik birimlerin tamamı döndürülür.

Hatalar/İstisnalar

DOM_INDEX_SIZE_ERR

offset veya count negatifse veya offset verideki 16 bitlik birimlerin sayısından büyükse bu hata oluşur.

Ayrıca Bakınız

  • DOMCharacterData::appendData() - Düğümün karakter verisinin sonuna bir dizge ekler
  • DOMCharacterData::deleteData() - Düğümden belirtilen alt dizgeyi siler
  • DOMCharacterData::insertData() - 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
  • DOMCharacterData::replaceData() - DOMCharacterData içindeki bir alt dizgeyi değiştirir


The DOMChildNode interface

(PHP 8)

Arayüz Sözdizimi

interface DOMChildNode {
/* Yöntemler */
public after(DOMNode|string ...$nodes): void
public before(DOMNode|string ...$nodes): void
public remove(): void
public replaceWith(DOMNode|string ...$nodes): void
}

İçindekiler

  • DOMChildNode::after — Adds nodes after the node
  • DOMChildNode::before — Adds nodes before the node
  • DOMChildNode::remove — Removes the node
  • DOMChildNode::replaceWith — Replaces the node with new nodes


Adds nodes after the node

  • « DOMChildNode
  • DOMChildNode::before »
  • PHP Manual
  • DOMChildNode
  • Adds nodes after the node

DOMChildNode::after

(PHP 8)

DOMChildNode::after — Adds nodes after the node

Açıklama

public DOMChildNode::after(DOMNode|string ...$nodes): void

Adds the passed nodes after the node.

Bağımsız Değişkenler

nodes

Nodes to be added after the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Ayrıca Bakınız

  • DOMChildNode::before() - Adds nodes before the node
  • DOMChildNode::remove() - Removes the node
  • DOMChildNode::replaceWith() - Replaces the node with new nodes
  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler


Adds nodes before the node

  • « DOMChildNode::after
  • DOMChildNode::remove »
  • PHP Manual
  • DOMChildNode
  • Adds nodes before the node

DOMChildNode::before

(PHP 8)

DOMChildNode::before — Adds nodes before the node

Açıklama

public DOMChildNode::before(DOMNode|string ...$nodes): void

Adds the passed nodes before the node.

Bağımsız Değişkenler

nodes

Nodes to be added before the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMChildNode::remove() - Removes the node
  • DOMChildNode::replaceWith() - Replaces the node with new nodes


Removes the node

  • « DOMChildNode::before
  • DOMChildNode::replaceWith »
  • PHP Manual
  • DOMChildNode
  • Removes the node

DOMChildNode::remove

(PHP 8)

DOMChildNode::remove — Removes the node

Açıklama

public DOMChildNode::remove(): void

Removes the node.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMChildNode::before() - Adds nodes before the node
  • DOMChildNode::replaceWith() - Replaces the node with new nodes
  • DOMNode::removeChild() - Listeden belirtilen çocuğu siler


Replaces the node with new nodes

  • « DOMChildNode::remove
  • DOMComment »
  • PHP Manual
  • DOMChildNode
  • Replaces the node with new nodes

DOMChildNode::replaceWith

(PHP 8)

DOMChildNode::replaceWith — Replaces the node with new nodes

Açıklama

public DOMChildNode::replaceWith(DOMNode|string ...$nodes): void

Replaces the node with new nodes.

Bağımsız Değişkenler

nodes

The replacement nodes. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMChildNode::before() - Adds nodes before the node
  • DOMChildNode::remove() - Removes the node
  • DOMNode::replaceChild() - Bir çocuk düğümü yenisi ile değiştirir


DOMComment sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

<!-- ve --> karakterleri ile sınırlanan bölgedeki karakterlerden oluşan açıklama düğümlerini temsil eder.

Sınıf Sözdizimi

class DOMComment extends DOMCharacterData {
/* Miras alınan özellikler */
public string $data;
public readonly int $length;
public readonly ?DOMElement $previousElementSibling;
public readonly ?DOMElement $nextElementSibling;
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $data = "")
/* Miras alınan yöntemler */
public DOMCharacterData::after(DOMNode|string ...$nodes): void
public DOMCharacterData::appendData(string $data): true
public DOMCharacterData::before(DOMNode|string ...$nodes): void
public DOMCharacterData::deleteData(int $offset, int $count): bool
public DOMCharacterData::insertData(int $offset, string $data): bool
public DOMCharacterData::remove(): void
public DOMCharacterData::replaceData(int $offset, int $count, string $data): bool
public DOMCharacterData::replaceWith(DOMNode|string ...$nodes): void
public DOMCharacterData::substringData(int $offset, int $count): string|false
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Ayrıca Bakınız

  • » Comment arayüzünün W3C belirtimi

İçindekiler

  • DOMComment::__construct — Yeni bir DOMComment nesnesi oluşturur


Yeni bir DOMComment nesnesi oluşturur

  • « DOMComment
  • DOMDocument »
  • PHP Manual
  • DOMComment
  • Yeni bir DOMComment nesnesi oluşturur

DOMComment::__construct

(PHP 5, PHP 7, PHP 8)

DOMComment::__construct — Yeni bir DOMComment nesnesi oluşturur

Açıklama

public DOMComment::__construct(string $data = "")

Yeni bir DOMComment nesnesi oluşturur. Nesne bu haliyle bir belgeye eklenebilir, fakat belge ile ilişkilendirilinceye kadar yeni bir düğüm eklenemez. Yazılabilir bir düğüm oluşturmak için DOMDocument::createComment() yöntemini kullanın.

Bağımsız Değişkenler

data

Açıklama değeri.

Örnekler

Örnek 1 - Yeni bir DOMComment oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$comment = $element->appendChild(new DOMComment('bir açıklama'));
echo $dom->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="iso-8859-1"?>
<root><!-- bir açıklama --></root>

Ayrıca Bakınız

  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur


DOMDocument sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bir HTML veya XML belgeyi temsil eder ve belgeyi belge ağacının kökü olarak sunar.

Sınıf Sözdizimi

class DOMDocument extends DOMNode implements DOMParentNode {
/* Özellikler */
public readonly ?DOMDocumentType $doctype;
public readonly DOMImplementation $implementation;
public readonly ?DOMElement $documentElement;
public readonly ?string $actualEncoding;
public ?string $encoding;
public readonly ?string $xmlEncoding;
public bool $standalone;
public bool $xmlStandalone;
public ?string $version;
public ?string $xmlVersion;
public bool $strictErrorChecking;
public ?string $documentURI;
public readonly mixed $config = null;
public bool $formatOutput;
public bool $validateOnParse;
public bool $resolveExternals;
public bool $preserveWhiteSpace;
public bool $recover;
public bool $substituteEntities;
public readonly ?DOMElement $firstElementChild;
public readonly ?DOMElement $lastElementChild;
public readonly int $childElementCount;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $version = "1.0", string $encoding = "")
public adoptNode(DOMNode $node): DOMNode|false
public append(DOMNode|string ...$nodes): void
public createAttribute(string $localName): DOMAttr|false
public createAttributeNS(?string $namespace, string $qualifiedName): DOMAttr|false
public createCDATASection(string $data): DOMCdataSection|false
public createComment(string $data): DOMComment
public createDocumentFragment(): DOMDocumentFragment
public createElement(string $localName, string $value = ""): DOMElement|false
public createElementNS(?string $namespace, string $qualifiedName, string $value = ""): DOMElement|false
public createEntityReference(string $name): DOMEntityReference|false
public createProcessingInstruction(string $target, string $data = ""): DOMProcessingInstruction|false
public createTextNode(string $data): DOMText
public getElementById(string $elementId): ?DOMElement
public getElementsByTagName(string $qualifiedName): DOMNodeList
public getElementsByTagNameNS(?string $isimalanı, string $yerelAd): DOMNodeList
public importNode(DOMNode $node, bool $deep = false): DOMNode|false
public load(string $dosya, int $seçenekler = 0): bool
public loadHTML(string $source, int $options = 0): bool
public loadHTMLFile(string $dosya, int $seçenekler = 0): bool
public loadXML(string $dizge, int $seçenekler = 0): bool
public normalizeDocument(): void
public prepend(DOMNode|string ...$nodes): void
public registerNodeClass(string $temelSınıf, ?string $türetilenSınıf): bool
public relaxNGValidate(string $dosya): bool
public relaxNGValidateSource(string $rng): bool
public replaceChildren(DOMNode|string ...$nodes): void
public save(string $dosya, int $seçenekler = 0): int|false
public saveHTML(?DOMNode $düğüm = null): string|false
public saveHTMLFile(string $dosya): int|false
public saveXML(?DOMNode $düğüm = null, int $seçenekler = 0): string|false
public schemaValidate(string $dosya, int $seçenekler = 0): bool
public schemaValidateSource(string $şema, int $flags = 0): bool
public validate(): bool
public xinclude(int $seçenekler = 0): int|false
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

actualEncoding

Kullanımı önerilmiyor. encoding özelliğinin salt okunur eşdeğeri olarak belgenin asıl kodlaması.

childElementCount

Çocuk elemanların sayısı.

config

Kullanımı önerilmiyor. DOMDocument::normalizeDocument() çağrıldığında kullanılan yapılandırma.

doctype

Bu belgenin Belge Türü Bildirimi.

documentElement

İlk belge elemanı olarak DOMElement nesnesi. Böyle bir eleman yoksa değeri null olur.

documentURI

Belgenin bulunduğu yer; tanımlanmamışsa null'dur.

encoding

Belgenin XMl bildiriminde belirtilen karakter kodlaması. Bu öznitelik 3. seviye DOM belirtiminin son sürümünde yoktur, ancak bu gerçeklenimin XML belge kodlamasını bir yerde belirtmesi gerekiyordu ve tek yol buydu.

firstElementChild

İlk çocuk eleman ya da null.

formatOutput

Çıktı, girintiler ve ek boşluklarla daha hoş biçemlenir. Belge preserveWhitespace etkin olarak yüklenmişse bunun bir etkisi yoktur.

implementation

Belgenin elde edilmesinde kullanılan DOMImplementation nesnesi.

lastElementChild

Son çocuk eleman ya da null.

preserveWhiteSpace

Fazladan boşluklar silinmez. Ön tanımlı değer: true. Buna false atamakla DOMDocument::load()'a option olarak LIBXML_NOBLANKS atamak aynı etkiye sahiptir.

recover

Tescilli. Kurtarma kipini etkin kılar. Yani, iyi biçemli olmayan belgeler de çözümlenmeye çalışılır. Bu öznitelik DOM belirtiminin bir parçası değildir; libxml'e özgüdür.

resolveExternals

Bir belge türü bildirimindeki harici öğeleri yüklemek için true atayın. Karakter öğelerini XML belgeye dahil etmek için yararlıdır.

standalone

Kullanımı önerilmiyor. XML bildiriminde belirtildiği gibi, belgenin tek bir belgeden oluşup oluşmadığını belirtir. xmlStandalone özniteliğine karşılıktır.

strictErrorChecking

Hata durumunda DOMException oluşur. Ön tanımlı değer: true.

substituteEntities

Tescilli. Öğelerin ikame edilip edilmeyeceği. Bu öznitelik DOM belirtiminin bir parçası değildir; libxml'e özgüdür. Ön tanımlı değer: false.

Dikkat

Öğe ikamesi, XML Harici Öğe (XXE) saldırılarını kolaylaştırabilir.

validateOnParse

Belge DTD'ye uygun olarak doğrulanır ve yüklenir. Ön tanımlı değer: false.

Dikkat

DTD doğrulamasının etkinleştirilmesi, XML Harici Varlık (XXE) saldırılarını kolaylaştırabilir.

version

Kullanımı önerilmiyor. xmlVersion özelliğinin karşılığı olarak XML sürümü.

xmlEncoding

Belgenin karakter kodlaması olarak, XML bildiriminde belirtilen karakter kodlaması. Belgede belirtilmediğinde veya bilinmediğinde (örneğin, belge bellekte oluşturulmuşssa) değeri null'dur.

xmlStandalone

XML bildiriminde belirtildiği gibi, belgenin tek bir belgeden oluşup oluşmadığını belirtir. Belgede belirtilmemişse değeri null'dur.

xmlVersion

XML bildiriminde belirtildiği gibi, belgenin XML sürümü. Hiçbir bildirim yoksa ve belge XML'i destekliyorsa değer: "1.0".

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | DOMDocument artık DOMParentNode arayüzünü gerçekliyor.
8.0.0 | Gerçeklenmemiş olan DOMDocument::renameNode() yöntemi kaldırıldı.

Notlar

Bilginize:

DOM eklentisi UTF-8 kodlama kullanır. Diğer kodlamalarla çalışmak için mb_convert_encoding(), UConverter::transcode() veya iconv() kullanılabilir.

Bilginize:

DOMDocument nesnesi üzerinde json_encode() işlevi kullanılırsa sonuç boş bir nesnenin kodlanması olacaktır.

Ayrıca Bakınız

  • » Document arayüzünün W3C belirtimi

İçindekiler

  • DOMDocument::adoptNode — Transfer a node from another document
  • DOMDocument::append — Appends nodes after the last child node
  • DOMDocument::__construct — Yeni bir DOMDocument nesnesi oluşturur
  • DOMDocument::createAttribute — Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS — Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection — Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment — Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment — Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement — Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS — İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference — Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction — Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode — Yeni bir metin düğümü oluşturur
  • DOMDocument::getElementById — ID'si belirtilen elemanı döndürür
  • DOMDocument::getElementsByTagName — Yerel etiket ismi belirtilen tüm elemanları döndürür
  • DOMDocument::getElementsByTagNameNS — İsmi ve isim alanı belirtilen tüm elemanları döndürür
  • DOMDocument::importNode — Belgeye bir düğüm dahil eder
  • DOMDocument::load — XML belgeyi bir dosyadan yükler
  • DOMDocument::loadHTML — HTML belgeyi bir dizgeden yükler
  • DOMDocument::loadHTMLFile — HTML belgeyi bir dosyadan yükler
  • DOMDocument::loadXML — XML belgeyi bir dizgeden yükler
  • DOMDocument::normalizeDocument — Belgeyi normalleştirir
  • DOMDocument::prepend — Prepends nodes before the first child node
  • DOMDocument::registerNodeClass — Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır
  • DOMDocument::relaxNGValidate — Belgeyi belirtilen RNG dosyasıyla doğrular
  • DOMDocument::relaxNGValidateSource — Belgeyi belirtilen RNG dizgesiyle doğrular
  • DOMDocument::replaceChildren — Replace children in document
  • DOMDocument::save — Dahili XML ağacını bir dizge olarak dosyaya yazar
  • DOMDocument::saveHTML — Dahili belgeyi bir HTML dizgesi olarak çıktılar
  • DOMDocument::saveHTMLFile — Dahili belgeyi bir HTML dizge olarak dosyaya yazar
  • DOMDocument::saveXML — Dahili XML ağacını bir dizge olarak çıktılar
  • DOMDocument::schemaValidate — Belgeyi bir şema dosyasına göre doğrular
  • DOMDocument::schemaValidateSource — Belgeyi bir şema dizgesine göre doğrular
  • DOMDocument::validate — Belgeyi DTD'sine göre doğrular
  • DOMDocument::xinclude — Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder


Transfer a node from another document

  • « DOMDocument
  • DOMDocument::append »
  • PHP Manual
  • DOMDocument
  • Transfer a node from another document

DOMDocument::adoptNode

(PHP >= 8.3)

DOMDocument::adoptNode — Transfer a node from another document

Açıklama

public DOMDocument::adoptNode(DOMNode $node): DOMNode|false

Transfer a node from another document into the current document.

Bağımsız Değişkenler

node

The node to transfer.

Dönen Değerler

The node that was transfered, or false on error.

Hatalar/İstisnalar

DOM_NOT_SUPPORTED_ERR

Raised if the node type is not supported for document transfers.

Örnekler

Örnek 1 DOMDocument::adoptNode() example

Transfers the hello element from the first document to the second one.

<?php
$doc1 = new DOMDocument;
$doc1->loadXML("<container><hello><world/></hello></container>");
$hello = $doc1->documentElement->firstChild;

$doc2 = new DOMDocument;
$doc2->loadXML("<root/>");
$doc2->documentElement->appendChild($doc2->adoptNode($hello));

echo $doc1->saveXML() . PHP_EOL;
echo $doc2->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container/>

<?xml version="1.0"?>
<root><hello><world/></hello></root>

Ayrıca Bakınız

  • DOMDocument::importNode() - Belgeye bir düğüm dahil eder


Appends nodes after the last child node

  • « DOMDocument::adoptNode
  • DOMDocument::__construct »
  • PHP Manual
  • DOMDocument
  • Appends nodes after the last child node

DOMDocument::append

(PHP 8)

DOMDocument::append — Appends nodes after the last child node

Açıklama

public DOMDocument::append(DOMNode|string ...$nodes): void

Appends one or many nodes to the list of children after the last child node.

Bağımsız Değişkenler

nodes

The nodes to append. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocument::append() example

Adds nodes after the document root.

<?php
$doc = new DOMDocument;
$doc->loadXML("<hello/>");

$doc->append("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<hello/>
beautiful
<world/>

Ayrıca Bakınız

  • DOMParentNode::append() - Appends nodes after the last child node
  • DOMDocument::prepend() - Prepends nodes before the first child node


Yeni bir DOMDocument nesnesi oluşturur

  • « DOMDocument::append
  • DOMDocument::createAttribute »
  • PHP Manual
  • DOMDocument
  • Yeni bir DOMDocument nesnesi oluşturur

DOMDocument::__construct

(PHP 5, PHP 7, PHP 8)

DOMDocument::__construct — Yeni bir DOMDocument nesnesi oluşturur

Açıklama

public DOMDocument::__construct(string $version = "1.0", string $encoding = "")

Yeni bir DOMDocument nesnesi oluşturur.

Bağımsız Değişkenler

version

XML bildiriminin parçası olarak belgenin sürüm numarası.

encoding

XML bildiriminin parçası olarak belgenin karakter kodlaması.

Örnekler

Örnek 1 - Yeni bir DOMDocument oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');

echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?> */

?>

Ayrıca Bakınız

  • DOMImplementation::createDocument() - Belge elemanı belirtilen DOMDocument nesnesini oluşturur


Yeni bir öznitelik düğümü oluşturur

  • « DOMDocument::__construct
  • DOMDocument::createAttributeNS »
  • PHP Manual
  • DOMDocument
  • Yeni bir öznitelik düğümü oluşturur

DOMDocument::createAttribute

(PHP 5, PHP 7, PHP 8)

DOMDocument::createAttribute — Yeni bir öznitelik düğümü oluşturur

Açıklama

public DOMDocument::createAttribute(string $localName): DOMAttr|false

Yeni bir DOMAttr nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

localName

Özniteliğin ismi.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMAttr nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

localName geçersiz karakter içeriyorsa oluşur.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir isim alanlı öznitelik düğümü oluşturur

  • « DOMDocument::createAttribute
  • DOMDocument::createCDATASection »
  • PHP Manual
  • DOMDocument
  • Yeni bir isim alanlı öznitelik düğümü oluşturur

DOMDocument::createAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createAttributeNS — Yeni bir isim alanlı öznitelik düğümü oluşturur

Açıklama

public DOMDocument::createAttributeNS(?string $namespace, string $qualifiedName): DOMAttr|false

Yeni bir DOMAttr nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

namespace

İsim alanını betimleyen adres.

qualifiedName

önek:öznitelik biçeminde etiket ismi.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMAttr nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

qualifiedName geçersiz karakter içeriyorsa oluşur.

DOM_NAMESPACE_ERR

qualifiedName, isim alanlı bir etiket adı olarak uygun değilse oluşur.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir CDATA düğümü oluşturur

  • « DOMDocument::createAttributeNS
  • DOMDocument::createComment »
  • PHP Manual
  • DOMDocument
  • Yeni bir CDATA düğümü oluşturur

DOMDocument::createCDATASection

(PHP 5, PHP 7, PHP 8)

DOMDocument::createCDATASection — Yeni bir CDATA düğümü oluşturur

Açıklama

public DOMDocument::createCDATASection(string $data): DOMCdataSection|false

Yeni bir DOMCDATASection nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

data

CDATA içeriği.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMCDATASection nesnesi döner.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir açıklama düğümü oluşturur

  • « DOMDocument::createCDATASection
  • DOMDocument::createDocumentFragment »
  • PHP Manual
  • DOMDocument
  • Yeni bir açıklama düğümü oluşturur

DOMDocument::createComment

(PHP 5, PHP 7, PHP 8)

DOMDocument::createComment — Yeni bir açıklama düğümü oluşturur

Açıklama

public DOMDocument::createComment(string $data): DOMComment

Yeni bir DOMComment nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

data

Açıklamanın içeriği.

Dönen Değerler

Yeni bir DOMComment nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Hata durumunda artık bir DomException yavrulanıyor. Evvelce false dönerdi.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir belge bölütü oluşturur

  • « DOMDocument::createComment
  • DOMDocument::createElement »
  • PHP Manual
  • DOMDocument
  • Yeni bir belge bölütü oluşturur

DOMDocument::createDocumentFragment

(PHP 5, PHP 7, PHP 8)

DOMDocument::createDocumentFragment — Yeni bir belge bölütü oluşturur

Açıklama

public DOMDocument::createDocumentFragment(): DOMDocumentFragment

Yeni bir DOMDocumentFragment nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Yeni bir DOMDocumentFragment nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Hata durumunda artık bir DomException yavrulanıyor. Evvelce false dönerdi.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir eleman düğümü oluşturur

  • « DOMDocument::createDocumentFragment
  • DOMDocument::createElementNS »
  • PHP Manual
  • DOMDocument
  • Yeni bir eleman düğümü oluşturur

DOMDocument::createElement

(PHP 5, PHP 7, PHP 8)

DOMDocument::createElement — Yeni bir eleman düğümü oluşturur

Açıklama

public DOMDocument::createElement(string $localName, string $value = ""): DOMElement|false

Yeni bir DOMElement nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

localName

Elemanın etiket ismi.

value

Elemanın değeri. Öntanımlı olarak boş eleman oluşturulur. Değer daha sonra DOMElement::$nodeValue() ile atanabilir.

< ve > öğe başvuruları öncelenmedikçe değer birebir kulllanılır. Dikkat: & öncelenmek zorundadır, aksi takdirde öğe başvurusunun başlangıç karakteri olarak ele alınmaz. Ayrıca, " karakteri öncelenmez.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMElement nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

localName geçersiz karakter içeriyorsa oluşur.

Örnekler

Örnek 1 - Yeni bir eleman oluşturup belge elemanı yapmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('test', 'This is the root element!');

// Oluşturduğumuz elemanı belge elemanı yapalım
$element->appendChild($element_ns);

echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<test>This is the root element!</test>

Örnek 2 - value olarak öncelenmemiş & içeren metin kullanmak

<?php
$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->createElement('foo', 'sen & ben');
$dom->appendChild($element);
echo $dom->saveXML();
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Warning: DOMDocument::createElement(): unterminated entity reference             ben in /in/BjTCg on line 4
<?xml version="1.0" encoding="utf-8"?>
<foo/>

Notlar

Bilginize:

value öncelenMEyecektir. Önceleme destekli bir metin düğümü oluşturmak istiyorsanız DOMDocument::createTextNode() kullanın.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


İsim alanlı bir eleman düğümü oluşturur

  • « DOMDocument::createElement
  • DOMDocument::createEntityReference »
  • PHP Manual
  • DOMDocument
  • İsim alanlı bir eleman düğümü oluşturur

DOMDocument::createElementNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createElementNS — İsim alanlı bir eleman düğümü oluşturur

Açıklama

public DOMDocument::createElementNS(?string $namespace, string $qualifiedName, string $value = ""): DOMElement|false

İsim alanlı yeni bir eleman düğümü oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

namespace

İsim alanını betimleyen adres.

qualifiedName

önek:etiket biçeminde etiket ismi.

value

Elemanın değeri. Öntanımlı olarak boş eleman oluşturulur. Değeri daha sonra DOMElement->nodeValue() özelliğine de atayabilirsiniz.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMElement nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

qualifiedName geçersiz karakter içeriyorsa oluşur.

DOM_NAMESPACE_ERR

qualifiedName, isim alanlı bir etiket adı olarak uygun değilse oluşur.

Örnekler

Örnek 1 - Yeni bir eleman oluşturup belge elemanı yapmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');

$element = $dom->createElementNS('http://www.example.com/XFoo', 'xfoo:test',
'This is the root element!');

// Oluşturduğumuz elemanı belge elemanı yapalım
$dom->appendChild($element);

echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<xfoo:test xmlns:xfoo="http://www.example.com/XFoo">This is the root element!</xfoo:test>

Örnek 2 - İsim alanı öneki örneği

<?php
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElementNS('http://www.w3.org/2005/Atom', 'element');
$doc->appendChild($root);
$root->setAttributeNS('http://www.w3.org/2000/xmlns/' ,'xmlns:g', 'http://base.google.com/ns/1.0');
$item = $doc->createElementNS('http://base.google.com/ns/1.0', 'g:item_type', 'house');
$root->appendChild($item);

echo $doc->saveXML(), "\n";

echo $item->namespaceURI, "\n"; // Çıktısı: http://base.google.com/ns/1.0
echo $item->prefix, "\n"; // Çıktısı: g
echo $item->localName, "\n"; // Çıktısı: item_type
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<element xmlns="http://www.w3.org/2005/Atom" xmlns:g="http://base.google.com/ns/1.0">
  <g:item_type>house</g:item_type>
</element>

http://base.google.com/ns/1.0
g
item_type

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir öğe bildirimi düğümü oluşturur

  • « DOMDocument::createElementNS
  • DOMDocument::createProcessingInstruction »
  • PHP Manual
  • DOMDocument
  • Yeni bir öğe bildirimi düğümü oluşturur

DOMDocument::createEntityReference

(PHP 5, PHP 7, PHP 8)

DOMDocument::createEntityReference — Yeni bir öğe bildirimi düğümü oluşturur

Açıklama

public DOMDocument::createEntityReference(string $name): DOMEntityReference|false

Yeni bir DOMEntityReference nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

name

Öğe gönderiminin içeriği. Bir & ile başlayıp ; ile biten bir tire imi öğe bildirimine bir örnektir.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMEntityReference nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

name geçersiz karakter içeriyorsa oluşur.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir işlem komutu düğümü oluşturur

  • « DOMDocument::createEntityReference
  • DOMDocument::createTextNode »
  • PHP Manual
  • DOMDocument
  • Yeni bir işlem komutu düğümü oluşturur

DOMDocument::createProcessingInstruction

(PHP 5, PHP 7, PHP 8)

DOMDocument::createProcessingInstruction — Yeni bir işlem komutu düğümü oluşturur

Açıklama

public DOMDocument::createProcessingInstruction(string $target, string $data = ""): DOMProcessingInstruction|false

Bu işlev yeni bir DOMProcessingInstruction nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

target

İşlem komutunun hedefi.

data

İşlem komutunun içeriği.

Dönen Değerler

Bir hata oluşursa false yoksa yeni bir DOMProcessingInstruction nesnesi döner.

Hatalar/İstisnalar

DOM_INVALID_CHARACTER_ERR

target geçersiz karakter içeriyorsa oluşur.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Yeni bir metin düğümü oluşturur

  • « DOMDocument::createProcessingInstruction
  • DOMDocument::getElementById »
  • PHP Manual
  • DOMDocument
  • Yeni bir metin düğümü oluşturur

DOMDocument::createTextNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::createTextNode — Yeni bir metin düğümü oluşturur

Açıklama

public DOMDocument::createTextNode(string $data): DOMText

Belirtilen data'ten yeni bir DOMText nesnesi oluşturur. Bu düğüm, DomNode::append_child() gibi bir yöntemle belgeye yerleştirilmedikçe belgede gösterilmez.

Bağımsız Değişkenler

data

Metnin içeriği.

Dönen Değerler

Yeni bir DOMText nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | Hata durumunda artık bir DomException yavrulanıyor. Evvelce false dönerdi.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMDocument::createAttribute() - Yeni bir öznitelik düğümü oluşturur
  • DOMDocument::createAttributeNS() - Yeni bir isim alanlı öznitelik düğümü oluşturur
  • DOMDocument::createCDATASection() - Yeni bir CDATA düğümü oluşturur
  • DOMDocument::createComment() - Yeni bir açıklama düğümü oluşturur
  • DOMDocument::createDocumentFragment() - Yeni bir belge bölütü oluşturur
  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur
  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur
  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur


ID'si belirtilen elemanı döndürür

  • « DOMDocument::createTextNode
  • DOMDocument::getElementsByTagName »
  • PHP Manual
  • DOMDocument
  • ID'si belirtilen elemanı döndürür

DOMDocument::getElementById

(PHP 5, PHP 7, PHP 8)

DOMDocument::getElementById — ID'si belirtilen elemanı döndürür

Açıklama

public DOMDocument::getElementById(string $elementId): ?DOMElement

Elemanı ID özniteliğine göre araması dışında DOMDocument::getElementsByTagName() gibidir.

Bu yöntemin çalışması için DOMElement::setIdAttribute() ile elemana bir ID atanmış olması veya ID türünde bir öznitelik tanımlayan bir DTD gerekir. DTD gerektiren durumlarda bu yöntemi kullanmadan önce belgeyi ya DOMDocument::validate() ile ya da DOMDocument::$validateOnParse ile doğrulamalısınız.

Bağımsız Değişkenler

elementId

Elemanın eşsiz ID'si.

Dönen Değerler

Aranan eleman yoksa null, varsa bir DOMElement nesnesi döner.

Örnekler

Örnek 1 - DOMDocument::getElementById() örneği

<?php

$doc = new DomDocument;

// Belgeyi önce doğrulamalıyız
$doc->validateOnParse = true;
$doc->Load('book.xml');

echo "'php-basics' ID'li eleman: " . $doc->getElementById('php-basics')->tagName . "\n";

?>

Yukarıdaki örneğin çıktısı:

'php-basics' ID'li eleman: book

Ayrıca Bakınız

  • DOMDocument::getElementsByTagName() - Yerel etiket ismi belirtilen tüm elemanları döndürür


Yerel etiket ismi belirtilen tüm elemanları döndürür

  • « DOMDocument::getElementById
  • DOMDocument::getElementsByTagNameNS »
  • PHP Manual
  • DOMDocument
  • Yerel etiket ismi belirtilen tüm elemanları döndürür

DOMDocument::getElementsByTagName

(PHP 5, PHP 7, PHP 8)

DOMDocument::getElementsByTagName — Yerel etiket ismi belirtilen tüm elemanları döndürür

Açıklama

public DOMDocument::getElementsByTagName(string $qualifiedName): DOMNodeList

Yerel etiket ismi belirtilen tüm elemanları bir DOMNodeList nesnesi olarak döndürür.

Bağımsız Değişkenler

qualifiedName

Aranacak (isim alansız) yerel etiket ismi. Tüm elemanları döndürmek için * belirtilebilir.

Dönen Değerler

Eşleşen elemanları içeren yeni bir DOMNodeList nesnesi döner.

Örnekler

Örnek 1 - Temel kullanım örneği

<?php
$xml = <<< XML
<?xml version="1.0" encoding="utf-8"?>
<books>
<book>Patterns of Enterprise Application Architecture</book>
<book>Design Patterns: Elements of Reusable Software Design</book>
<book>Clean Code</book>
</books>
XML;

$dom = new DOMDocument;
$dom->loadXML($xml);
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
echo $book->nodeValue, PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

Patterns of Enterprise Application Architecture
Design Patterns: Elements of Reusable Software Design
Clean Code

Ayrıca Bakınız

  • DOMDocument::getElementsByTagNameNS() - İsmi ve isim alanı belirtilen tüm elemanları döndürür


İsmi ve isim alanı belirtilen tüm elemanları döndürür

  • « DOMDocument::getElementsByTagName
  • DOMDocument::importNode »
  • PHP Manual
  • DOMDocument
  • İsmi ve isim alanı belirtilen tüm elemanları döndürür

DOMDocument::getElementsByTagNameNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::getElementsByTagNameNS — İsmi ve isim alanı belirtilen tüm elemanları döndürür

Açıklama

public DOMDocument::getElementsByTagNameNS(?string $isimalanı, string $yerelAd): DOMNodeList

İsmi ve isim alanı belirtilen tüm elemanları bir DOMNodeList nesnesi olarak döndürür.

Bağımsız Değişkenler

isimalanı

Elemanların eşleştirileceği isim alanını betimleyen adres. Bütün isim alanları anlamında "*" belirtilebilir. Boş isim alanı ile eşleşme için null aktarılabilir.

yerelAd

Eşleştirilecek elemanın ismi. Tüm yerel adları döndürmek için "*" belirtilebilir.

Dönen Değerler

Eşleşen elemanları içeren yeni bir DOMNodeList nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | isimalanı artık null olabiliyor.

Örnekler

Örnek 1 - Tüm XInclude elemanlarını döndürmek

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Books of the other guy..</title>
<para>
<xi:include href="book.xml">
<xi:fallback>
<error>xinclude: book.xml not found</error>
</xi:fallback>
</xi:include>
<include>
This is another namespace
</include>
</para>
</chapter>
EOD;
$dom = new DOMDocument;

// Yukarıdaki XML dizgesini yükleyelim
$dom->loadXML($xml);

foreach ($dom->getElementsByTagNameNS('http://www.w3.org/2001/XInclude', '*') as $element) {
echo 'eleman: ', $element->localName, ', önek: ', $element->prefix, "\n";
}
?>

Yukarıdaki örneğin çıktısı:

eleman: include, önek: xi
eleman: fallback, önek: xi

Ayrıca Bakınız

  • DOMDocument::getElementsByTagName() - Yerel etiket ismi belirtilen tüm elemanları döndürür


Belgeye bir düğüm dahil eder

  • « DOMDocument::getElementsByTagNameNS
  • DOMDocument::load »
  • PHP Manual
  • DOMDocument
  • Belgeye bir düğüm dahil eder

DOMDocument::importNode

(PHP 5, PHP 7, PHP 8)

DOMDocument::importNode — Belgeye bir düğüm dahil eder

Açıklama

public DOMDocument::importNode(DOMNode $node, bool $deep = false): DOMNode|false

Dahil edilen düğümü belge ile ilişkilendirip düğümün bir kopyasını döndürür.

Bağımsız Değişkenler

node

Belgeye dahil edilecek düğüm.

deep

true belirtiliği takdirde node alt düğümleriyle birlikte belgeye dahil edilir.

Bilginize:

Düğümlerin özniteliklerini de kopyalamak için bu bağımsız değişkende true belirtmek gerekir.

Dönen Değerler

Düğüm kopyalanamazsa false, yoksa kopyalanan düğümü döndürür.

Hatalar/İstisnalar

Düğüm dahil edilemezse DOMException istisnası oluşur.

Örnekler

Örnek 1 - DOMDocument::importNode() örneği

Düğümlerin bir belgeden başka bir belgeye kopyalanması.

<?php

$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><eleman><çocuk>çocuk metin</çocuk></eleman></root>");

// Yeni belgeye dahil edilecek düğüm
$node = $orgdoc->getElementsByTagName("element")->item(0);

// Yeni belgeyi oluşturalım
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;

// Biraz imlenim ekleyelim
$newdoc->loadXML("<belge><bireleman>elemanın içeriği</bireleman></belge>");

echo "Düğümler kopyalanmadan 'yeni belge':\n";
echo $newdoc->saveXML();

// Düğümü alt düğümleriyle birlikte belgeye dahil edelim
$node = $newdoc->importNode($node, true);
// ve "<belge>" düğümüne ekleyelim
$newdoc->documentElement->appendChild($node);

echo "\nDüğümler kopyalandıktan sonra 'yeni belge':\n";
echo $newdoc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

Düğümler kopyalanmadan 'yeni belge':
<?xml version="1.0" encoding="utf-8"?>
<belge>
  <bireleman>elemanın içeriği</bireleman>
</belge>

Düğümler kopyalandıktan sonra 'yeni belge':
<?xml version="1.0" encoding="utf-8"?>
<belge>
  <bireleman>elemanın içeriği</bireleman>
  <eleman>
    <çocuk>çocuk metin</çocuk>
  </eleman>
</belge>


XML belgeyi bir dosyadan yükler

  • « DOMDocument::importNode
  • DOMDocument::loadHTML »
  • PHP Manual
  • DOMDocument
  • XML belgeyi bir dosyadan yükler

DOMDocument::load

(PHP 5, PHP 7, PHP 8)

DOMDocument::load — XML belgeyi bir dosyadan yükler

Açıklama

public DOMDocument::load(string $dosya, int $seçenekler = 0): bool

XML belgeyi belirtilen dosyadan yükler.

Uyarı

Unix tarzı düz bölülü dosya yolları Windows sistemlerinde önemli bir başarım kaybına yol açarlar. Böyle durumlarda realpath() kullanımı önerilir.

Bağımsız Değişkenler

dosya

XML belgenin dosya yolu.

seçenekler

Bit seviyesinde VEYAlanmış olarak libxml sabitleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

dosya olarak boş bir dizge veya boş bir dosya aktarılırsa bir uyarı üretilir. Bu uyarıyı libxml üretmez ve libxml'in hata işlevleri ile elde edilemez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Bu işlevin dönüş türü artık deneysel bool türünde.
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - Bir belge oluşturmak

<?php
$doc = new DOMDocument();
$doc->load('book.xml');
echo $doc->saveXML();
?>

Ayrıca Bakınız

  • DOMDocument::loadXML() - XML belgeyi bir dizgeden yükler
  • DOMDocument::save() - Dahili XML ağacını bir dizge olarak dosyaya yazar
  • DOMDocument::saveXML() - Dahili XML ağacını bir dizge olarak çıktılar


HTML belgeyi bir dizgeden yükler

  • « DOMDocument::load
  • DOMDocument::loadHTMLFile »
  • PHP Manual
  • DOMDocument
  • HTML belgeyi bir dizgeden yükler

DOMDocument::loadHTML

(PHP 5, PHP 7, PHP 8)

DOMDocument::loadHTML — HTML belgeyi bir dizgeden yükler

Açıklama

public DOMDocument::loadHTML(string $source, int $options = 0): bool

HTML belgeyi belirtilen dizgeden yükler. XML belge yüklemedeki gibi belgenin iyi biçemli olma gereği yoktur.

Uyarı

Bu işlev girdiyi HTML 4 ayrıştırıcı kullanarak ayrıştırır. Günümüz tarayıcılarının kullandığı HTML 5'in ayrıştırma kuralları farklıdır ve girdiye bağlı olarak farklı bir DOM yapısına neden olabilir. Bu nedenle bu işlevle HTML'yi arındırmak güvenli değildir.

Örnek olarak, bazı HTML öğeleri bir üst öğeyi örtülü olarak kapatacaktır. Ana öğelerin otomatik olarak kapatılmasına ilişkin kurallar HTML 4 ve HTML 5 arasında farklılık gösterir ve bu nedenle DOMDocument tarafından görülen sonuçtaki DOM yapısı, bir tarayıcının gördüğü DOM yapısından farklı olabilir ve muhtemelen bir saldırganın sonuçta ortaya çıkan HTML'yi bozmasına izin verebilir.

Bağımsız Değişkenler

source

HTML belgeyi içeren dizge.

options

libxml seçenek sabitlerinin bitsel VEYAsı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

source olarak boş bir dizge aktarılırsa bir uyarı üretilir. Bu uyarıyı libxml üretmez ve libxml'in hata işlevleri ile elde edilemez.

Bozuk bir HTML sayfa başarıyla yüklense bile bu işlev hatalı bir imlenim ile karşılaştığında bir E_WARNING iletisi üretebilir. Böyle bir durumu atlatabilmek için libxml'in hata işleme işlevleri kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Bu işlevin dönüş türü artık deneysel bool türünde.
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - Bir HTML belge oluşturmak

<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>

Ayrıca Bakınız

  • DOMDocument::loadHTMLFile() - HTML belgeyi bir dosyadan yükler
  • DOMDocument::saveHTML() - Dahili belgeyi bir HTML dizgesi olarak çıktılar
  • DOMDocument::saveHTMLFile() - Dahili belgeyi bir HTML dizge olarak dosyaya yazar


HTML belgeyi bir dosyadan yükler

  • « DOMDocument::loadHTML
  • DOMDocument::loadXML »
  • PHP Manual
  • DOMDocument
  • HTML belgeyi bir dosyadan yükler

DOMDocument::loadHTMLFile

(PHP 5, PHP 7, PHP 8)

DOMDocument::loadHTMLFile — HTML belgeyi bir dosyadan yükler

Açıklama

public DOMDocument::loadHTMLFile(string $dosya, int $seçenekler = 0): bool

HTML belgeyi belirtilen dosyadan yükler. XML belge yüklemedeki gibi belgenin iyi biçemli olma gereği yoktur.

Uyarı

Bu işlev girdiyi HTML 4 ayrıştırıcı kullanarak ayrıştırır. Günümüz tarayıcılarının kullandığı HTML 5'in ayrıştırma kuralları farklıdır ve girdiye bağlı olarak farklı bir DOM yapısına neden olabilir. Bu nedenle bu işlevle HTML'yi arındırmak güvenli değildir.

Örnek olarak, bazı HTML öğeleri bir üst öğeyi örtülü olarak kapatacaktır. Ana öğelerin otomatik olarak kapatılmasına ilişkin kurallar HTML 4 ve HTML 5 arasında farklılık gösterir ve bu nedenle DOMDocument tarafından görülen sonuçtaki DOM yapısı, bir tarayıcının gördüğü DOM yapısından farklı olabilir ve muhtemelen bir saldırganın sonuçta ortaya çıkan HTML'yi bozmasına izin verebilir.

Bağımsız Değişkenler

dosya

HTML belgeyi içeren dosyanın yolu.

seçenekler

libxml seçenek sabitlerinin bitsel VEYAsı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

dosya olarak boş bir dizge veya boş bir dosya aktarılırsa bir uyarı üretilir. Bu uyarıyı libxml üretmez ve libxml'in hata işlevleri ile elde edilemez.

Bozuk bir HTML sayfa başarıyla yüklense bile bu işlev hatalı bir imlenim ile karşılaştığında bir E_WARNING iletisi üretebilir. Böyle bir durumu atlatabilmek için libxml'in hata işleme işlevleri kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Bu işlevin dönüş türü artık deneysel bool türünde.
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - Bir belge oluşturmak

<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
echo $doc->saveHTML();
?>

Ayrıca Bakınız

  • DOMDocument::loadHTML() - HTML belgeyi bir dizgeden yükler
  • DOMDocument::saveHTML() - Dahili belgeyi bir HTML dizgesi olarak çıktılar
  • DOMDocument::saveHTMLFile() - Dahili belgeyi bir HTML dizge olarak dosyaya yazar


XML belgeyi bir dizgeden yükler

  • « DOMDocument::loadHTMLFile
  • DOMDocument::normalizeDocument »
  • PHP Manual
  • DOMDocument
  • XML belgeyi bir dizgeden yükler

DOMDocument::loadXML

(PHP 5, PHP 7, PHP 8)

DOMDocument::loadXML — XML belgeyi bir dizgeden yükler

Açıklama

public DOMDocument::loadXML(string $dizge, int $seçenekler = 0): bool

XML belgeyi bir dizgeden yükler.

Bağımsız Değişkenler

dizge

XML belgeyi içeren dizge.

seçenekler

Bit seviyesinde VEYAlanmış olarak libxml sabitleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

dizge olarak boş bir dizge aktarılırsa bir uyarı üretilir. Bu uyarıyı libxml üretmez ve libxml'in hata işlevleri ile elde edilemez.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Bu işlevin dönüş türü artık deneysel bool türünde.
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - Bir belge oluşturmak

<?php
$doc = new DOMDocument();
$doc->loadXML('<root><node/></root>');
echo $doc->saveXML();
?>

Ayrıca Bakınız

  • DOMDocument::load() - XML belgeyi bir dosyadan yükler
  • DOMDocument::save() - Dahili XML ağacını bir dizge olarak dosyaya yazar
  • DOMDocument::saveXML() - Dahili XML ağacını bir dizge olarak çıktılar


Belgeyi normalleştirir

  • « DOMDocument::loadXML
  • DOMDocument::prepend »
  • PHP Manual
  • DOMDocument
  • Belgeyi normalleştirir

DOMDocument::normalizeDocument

(PHP 5, PHP 7, PHP 8)

DOMDocument::normalizeDocument — Belgeyi normalleştirir

Açıklama

public DOMDocument::normalizeDocument(): void

Bu yöntem, belgeyi önce kaydedip sonra yüklemişsiniz gibi, belgeyi "normal" biçime getirir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • » DOM Belirtimi
  • DOMNode::normalize() - Düğümü normalleştirir


Prepends nodes before the first child node

  • « DOMDocument::normalizeDocument
  • DOMDocument::registerNodeClass »
  • PHP Manual
  • DOMDocument
  • Prepends nodes before the first child node

DOMDocument::prepend

(PHP 8)

DOMDocument::prepend — Prepends nodes before the first child node

Açıklama

public DOMDocument::prepend(DOMNode|string ...$nodes): void

Prepends one or many nodes to the list of children before the first child node.

Bağımsız Değişkenler

nodes

The nodes to prepend. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocument::prepend() example

Adds nodes before the document root.

<?php
$doc = new DOMDocument;
$doc->loadXML("<world/>");

$doc->prepend($doc->createElement("hello"), "beautiful");

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<hello/>
beautiful
<world/>

Ayrıca Bakınız

  • DOMParentNode::prepend() - Prepends nodes before the first child node
  • DOMDocument::append() - Appends nodes after the last child node


Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır

  • « DOMDocument::prepend
  • DOMDocument::relaxNGValidate »
  • PHP Manual
  • DOMDocument
  • Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır

DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMDocument::registerNodeClass — Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır

Açıklama

public DOMDocument::registerNodeClass(string $temelSınıf, ?string $türetilenSınıf): bool

Sonradan PHP DOM eklentisi tarafından kullanılmak üzere hazırladığınız kendi DOM sınıfınızı tanıtmanızı sağlar.

Bu yöntem DOM standardının bir parçası değildir.

Dikkat

Kayıtlı düğüm sınıflarının nesne kurucusu çağrılmaz.

Bağımsız Değişkenler

temelSınıf

Kendi sınıfınızı türetirken kullandığınız temel sınıfın ismi. Bu sınıfların listesi için bakınız: DOM.

türetilenSınıf

Türettiğiniz sınıfın ismi. null belirtilirse, temelSınıf'tan evvelce türetilen sınıf silinir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Kolaylık olsun diye DOMElement sınıfına yeni bir yöntem eklemek

<?php

class myElement extends DOMElement {
function appendElement($name) {
return $this->appendChild(new myElement($name));
}
}

class myDocument extends DOMDocument {
function setRoot($name) {
return $this->appendChild(new myElement($name));
}
}

$doc = new myDocument();
$doc->registerNodeClass('DOMElement', 'myElement');

// Artık bir elemanı diğerine eklemek için bir yöntem yetecek!
$root = $doc->setRoot('root');
$child = $root->appendElement('child');
$child->setAttribute('foo', 'bar');

echo $doc->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Örnek 2 - Elemanların özel bir sınıf olarak döndürülmesi

<?php
class myElement extends DOMElement {
public function __toString() {
return $this->nodeValue;
}
}

$doc = new DOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");
$doc->registerNodeClass("DOMElement", "myElement");

$element = $doc->getElementsByTagName("child")->item(0);
var_dump(get_class($element));

// __toString yönteminden yararlanalım
echo $element;
?>

Yukarıdaki örneğin çıktısı:

string(9) "myElement"
text in child

Örnek 3 - Asıl belgeyi döndürmek

DOMDocument sınıfına özgü olarak, sınıf örneklenirken sınıfın ownerDocument özelliği örneklenen sınıfı gösterecektir. Ancak, bu sınıfa yapılan tüm başvurular kaldırılırsa, sınıf yok edilir ve yerine yeni bir DOMDocument sınıfı oluşturulur. Bu sebeple, DOMDocument sınıfı için DOMDocument::registerNodeClass() yönteminin kullanımına aslında gerek yoktur.

<?php
class MyDOMDocument extends DOMDocument {
}

class MyOtherDOMDocument extends DOMDocument {
}

// MyDOMDocument nesnesini XML belge olarak oluşturalım
$doc = new MyDOMDocument;
$doc->loadXML("<root><element><child>text in child</child></element></root>");

$child = $doc->getElementsByTagName("child")->item(0);

// Düğümün sahibi MyDOMDocument nesnesidir
var_dump(get_class($child->ownerDocument));
// MyDOMDocument yok edildi
unset($doc);
// Ve yeni bir DOMDocument örneği oluşturuldu
var_dump(get_class($child->ownerDocument));

// MyDOMDocument nesnesinden bir düğüm alalım
$newdoc = new MyOtherDOMDocument;
$child = $newdoc->importNode($child);

// Özel DOMDocument sınıfını kayda alalım
$newdoc->registerNodeClass("DOMDocument", "MyOtherDOMDocument");

var_dump(get_class($child->ownerDocument));
unset($doc);
// Yeni MyOtherDOMDocument oluşturuldu
var_dump(get_class($child->ownerDocument));
?>

Yukarıdaki örneğin çıktısı:

string(13) "MyDOMDocument"
string(11) "DOMDocument"
string(18) "MyOtherDOMDocument"
string(18) "MyOtherDOMDocument"

Örnek 4 - Ismarlama nesneler geçicidir

Dikkat

Kayıtlı düğüm sınıflarının nesneleri geçicidir, yani artık PHP kodundan gönderim alınmadığında yok edilirler ve tekrar alındığında yeniden oluşturulurlar. Bu, ısmarlama özellik değerlerinin yeniden oluşturulduktan sonra kaybedileceği anlamına gelir.

<?php
class MyDOMElement extends DOMElement
{
public $myProp = 'öntanımlı değer';
}

$doc = new DOMDocument();
$doc->registerNodeClass('DOMElement', 'MyDOMElement');

$node = $doc->createElement('a');
$node->myProp = 'değişen değer';
$doc->appendChild($node);

echo $doc->childNodes[0]->myProp, PHP_EOL;
unset($node);
echo $doc->childNodes[0]->myProp, PHP_EOL;
?>

Yukarıdaki örneğin çıktısı:

değişen değer
öntanımlı değer


Belgeyi belirtilen RNG dosyasıyla doğrular

  • « DOMDocument::registerNodeClass
  • DOMDocument::relaxNGValidateSource »
  • PHP Manual
  • DOMDocument
  • Belgeyi belirtilen RNG dosyasıyla doğrular

DOMDocument::relaxNGValidate

(PHP 5, PHP 7, PHP 8)

DOMDocument::relaxNGValidate — Belgeyi belirtilen RNG dosyasıyla doğrular

Açıklama

public DOMDocument::relaxNGValidate(string $dosya): bool

Belirtilen RNG şemasına göre belgeye » relaxNG doğrulaması uygular.

Bağımsız Değişkenler

dosya

RNG dosyasının yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMDocument::relaxNGValidateSource() - Belgeyi belirtilen RNG dizgesiyle doğrular
  • DOMDocument::schemaValidate() - Belgeyi bir şema dosyasına göre doğrular
  • DOMDocument::schemaValidateSource() - Belgeyi bir şema dizgesine göre doğrular
  • DOMDocument::validate() - Belgeyi DTD'sine göre doğrular


Belgeyi belirtilen RNG dizgesiyle doğrular

  • « DOMDocument::relaxNGValidate
  • DOMDocument::replaceChildren »
  • PHP Manual
  • DOMDocument
  • Belgeyi belirtilen RNG dizgesiyle doğrular

DOMDocument::relaxNGValidateSource

(PHP 5, PHP 7, PHP 8)

DOMDocument::relaxNGValidateSource — Belgeyi belirtilen RNG dizgesiyle doğrular

Açıklama

public DOMDocument::relaxNGValidateSource(string $rng): bool

Belirtilen RNG şemasına göre belgeye » relaxNG doğrulaması uygular.

Bağımsız Değişkenler

rng

RNG şemasını içeren dizge.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMDocument::relaxNGValidate() - Belgeyi belirtilen RNG dosyasıyla doğrular
  • DOMDocument::schemaValidate() - Belgeyi bir şema dosyasına göre doğrular
  • DOMDocument::schemaValidateSource() - Belgeyi bir şema dizgesine göre doğrular
  • DOMDocument::validate() - Belgeyi DTD'sine göre doğrular


Replace children in document

  • « DOMDocument::relaxNGValidateSource
  • DOMDocument::save »
  • PHP Manual
  • DOMDocument
  • Replace children in document

DOMDocument::replaceChildren

(PHP 8 >= 8.3.0)

DOMDocument::replaceChildren — Replace children in document

Açıklama

public DOMDocument::replaceChildren(DOMNode|string ...$nodes): void

Replaces the children in the document with new nodes.

Bağımsız Değişkenler

nodes

The nodes replacing the children. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocument::replaceChildren() example

Replaces the children with new nodes.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/></container>");

$doc->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
beautiful
<world/>

Ayrıca Bakınız

  • DOMParentNode::replaceChildren() - Replace children in node
  • DOMDocument::append() - Appends nodes after the last child node
  • DOMDocument::prepend() - Prepends nodes before the first child node


Dahili XML ağacını bir dizge olarak dosyaya yazar

  • « DOMDocument::replaceChildren
  • DOMDocument::saveHTML »
  • PHP Manual
  • DOMDocument
  • Dahili XML ağacını bir dizge olarak dosyaya yazar

DOMDocument::save

(PHP 5, PHP 7, PHP 8)

DOMDocument::save — Dahili XML ağacını bir dizge olarak dosyaya yazar

Açıklama

public DOMDocument::save(string $dosya, int $seçenekler = 0): int|false

Belgeyi DOM gösteriminden oluşturur. Bu yöntem genellikle, aşağıdaki örnekte olduğu gibi sıfırdan bir belge oluşturulduktan sonra çağrılır.

Bağımsız Değişkenler

dosya

XML belgenin kaydedileceği dosyanın yolu.

seçenekler

Ek seçenekler. Şimdilik sadece LIBXML_NOEMPTYTAG desteklenmektedir.

Dönen Değerler

Bir hata oluşmuşsa false yoksa yazılan bayt sayısı döner.

Örnekler

Örnek 1 - Bir DOM ağacının bir dosyaya kaydedilmesi

<?php

$doc = new DOMDocument('1.0');
// Çıktı göze hoş görünsün
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->save("/tmp/test.xml") . ' bayt yazıldı'; // 72 bayt yazıldı

?>

Ayrıca Bakınız

  • DOMDocument::saveXML() - Dahili XML ağacını bir dizge olarak çıktılar
  • DOMDocument::load() - XML belgeyi bir dosyadan yükler
  • DOMDocument::loadXML() - XML belgeyi bir dizgeden yükler


Dahili belgeyi bir HTML dizgesi olarak çıktılar

  • « DOMDocument::save
  • DOMDocument::saveHTMLFile »
  • PHP Manual
  • DOMDocument
  • Dahili belgeyi bir HTML dizgesi olarak çıktılar

DOMDocument::saveHTML

(PHP 5, PHP 7, PHP 8)

DOMDocument::saveHTML — Dahili belgeyi bir HTML dizgesi olarak çıktılar

Açıklama

public DOMDocument::saveHTML(?DOMNode $düğüm = null): string|false

HTML belgeyi DOM gösteriminden oluşturur. Bu yöntem genellikle, aşağıdaki örnekte olduğu gibi sıfırdan bir belge oluşturulduktan sonra çağrılır.

Bağımsız Değişkenler

düğüm

Belgenin bir bölümünü çıktılamak için istemlik bağımsız değişken.

Dönen Değerler

Bir hata oluşursa false, yoksa HTML belge döner.

Örnekler

Örnek 1 - Bir HTML ağacının dizge olarak çıktılanması

<?php

$doc = new DOMDocument('1.0');

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTML();

?>

Ayrıca Bakınız

  • DOMDocument::saveHTMLFile() - Dahili belgeyi bir HTML dizge olarak dosyaya yazar
  • DOMDocument::loadHTML() - HTML belgeyi bir dizgeden yükler
  • DOMDocument::loadHTMLFile() - HTML belgeyi bir dosyadan yükler


Dahili belgeyi bir HTML dizge olarak dosyaya yazar

  • « DOMDocument::saveHTML
  • DOMDocument::saveXML »
  • PHP Manual
  • DOMDocument
  • Dahili belgeyi bir HTML dizge olarak dosyaya yazar

DOMDocument::saveHTMLFile

(PHP 5, PHP 7, PHP 8)

DOMDocument::saveHTMLFile — Dahili belgeyi bir HTML dizge olarak dosyaya yazar

Açıklama

public DOMDocument::saveHTMLFile(string $dosya): int|false

HTML belgeyi DOM gösteriminden oluşturur. Bu yöntem genellikle, aşağıdaki örnekte olduğu gibi sıfırdan bir belge oluşturulduktan sonra çağrılır.

Bağımsız Değişkenler

dosya

HTML belgenin kaydedileceği dosyanın yolu.

Dönen Değerler

Bir hata oluşmuşsa false yoksa yazılan bayt sayısı döner.

Örnekler

Örnek 1 - Bir HTML ağacının bir dosyaya kaydedilmesi

<?php

$doc = new DOMDocument('1.0');
// Çıktı göze hoş görünsün
$doc->formatOutput = true;

$root = $doc->createElement('html');
$root = $doc->appendChild($root);

$head = $doc->createElement('head');
$head = $root->appendChild($head);

$title = $doc->createElement('title');
$title = $head->appendChild($title);

$text = $doc->createTextNode('This is the title');
$text = $title->appendChild($text);

echo $doc->saveHTMLFile("/tmp/test.html") . ' bayt yazıldı';
// Çıktısı: 129 bayt yazıldı

?>

Ayrıca Bakınız

  • DOMDocument::saveHTML() - Dahili belgeyi bir HTML dizgesi olarak çıktılar
  • DOMDocument::loadHTML() - HTML belgeyi bir dizgeden yükler
  • DOMDocument::loadHTMLFile() - HTML belgeyi bir dosyadan yükler


Dahili XML ağacını bir dizge olarak çıktılar

  • « DOMDocument::saveHTMLFile
  • DOMDocument::schemaValidate »
  • PHP Manual
  • DOMDocument
  • Dahili XML ağacını bir dizge olarak çıktılar

DOMDocument::saveXML

(PHP 5, PHP 7, PHP 8)

DOMDocument::saveXML — Dahili XML ağacını bir dizge olarak çıktılar

Açıklama

public DOMDocument::saveXML(?DOMNode $düğüm = null, int $seçenekler = 0): string|false

Belgeyi DOM gösteriminden oluşturur. Bu yöntem genellikle, aşağıdaki örnekte olduğu gibi sıfırdan bir belge oluşturulduktan sonra çağrılır.

Bağımsız Değişkenler

düğüm

XML belgenin tamamını değil de sadece bir düğümünü (XML bildirimi olmaksızın) çıktılamak için kullanılır.

seçenekler

Ek seçenekler. LIBXML_NOEMPTYTAG ve LIBXML_NOXMLDECL desteklenmektedir. PHP 8.3.0 öncesinde yalnızca LIBXML_NOEMPTYTAG seçeneği destekleniyordu.

Dönen Değerler

Bir hata oluşursa false, yoksa XML belge döner.

Hatalar/İstisnalar

DOM_WRONG_DOCUMENT_ERR

düğüm başka bir belgeye aitse bu hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Artık LIBXML_NOXMLDECL seçeneği de destekleniyor.

Örnekler

Örnek 1 - Bir DOM ağacının dizge olarak çıktılanması

<?php

$doc = new DOMDocument('1.0');
// Çıktı göze hoş görünsün
$doc->formatOutput = true;

$root = $doc->createElement('book');
$root = $doc->appendChild($root);

$title = $doc->createElement('title');
$title = $root->appendChild($title);

$text = $doc->createTextNode('Başlık');
$text = $title->appendChild($text);

echo "Belgenin tamamı:\n";
echo $doc->saveXML() . "\n";

echo "Sadece başlığı:\n";
echo $doc->saveXML($title);

?>

Yukarıdaki örneğin çıktısı:

Belgenin tamamı:
<?xml version="1.0"?>
<book>
  <title>Başlık</title>
</book>

Sadece başlığı:
<title>Başlık</title>

Ayrıca Bakınız

  • DOMDocument::save() - Dahili XML ağacını bir dizge olarak dosyaya yazar
  • DOMDocument::load() - XML belgeyi bir dosyadan yükler
  • DOMDocument::loadXML() - XML belgeyi bir dizgeden yükler


Belgeyi bir şema dosyasına göre doğrular

  • « DOMDocument::saveXML
  • DOMDocument::schemaValidateSource »
  • PHP Manual
  • DOMDocument
  • Belgeyi bir şema dosyasına göre doğrular

DOMDocument::schemaValidate

(PHP 5, PHP 7, PHP 8)

DOMDocument::schemaValidate — Belgeyi bir şema dosyasına göre doğrular

Açıklama

public DOMDocument::schemaValidate(string $dosya, int $seçenekler = 0): bool

Belgeyi belirtilen şema dosyasına göre doğrular. Sadece XML Schema 1.0 desteklenir.

Bağımsız Değişkenler

dosya

Şema dosyasının yolu.

seçenekler

Libxml şema doğrulama seçeneklerinin bit maskesi. Şu an için desteklenen tek seçenek LIBXML_SCHEMA_CREATE'dir. Libxml 2.6.14'ten beri kullanılabilmektedir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMDocument::schemaValidateSource() - Belgeyi bir şema dizgesine göre doğrular
  • DOMDocument::relaxNGValidate() - Belgeyi belirtilen RNG dosyasıyla doğrular
  • DOMDocument::relaxNGValidateSource() - Belgeyi belirtilen RNG dizgesiyle doğrular
  • DOMDocument::validate() - Belgeyi DTD'sine göre doğrular


Belgeyi bir şema dizgesine göre doğrular

  • « DOMDocument::schemaValidate
  • DOMDocument::validate »
  • PHP Manual
  • DOMDocument
  • Belgeyi bir şema dizgesine göre doğrular

DOMDocument::schemaValidateSource

(PHP 5, PHP 7, PHP 8)

DOMDocument::schemaValidateSource — Belgeyi bir şema dizgesine göre doğrular

Açıklama

public DOMDocument::schemaValidateSource(string $şema, int $flags = 0): bool

Belgeyi belirtilen şema dizgesine göre doğrular.

Bağımsız Değişkenler

şema

Şemayı içeren dizge.

seçenekler

Libxml şema doğrulama seçeneklerinin bit maskesi. Şu an için desteklenen tek seçenek LIBXML_SCHEMA_CREATE'dir. Libxml 2.6.14'ten beri kullanılabilmektedir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMDocument::schemaValidate() - Belgeyi bir şema dosyasına göre doğrular
  • DOMDocument::relaxNGValidate() - Belgeyi belirtilen RNG dosyasıyla doğrular
  • DOMDocument::relaxNGValidateSource() - Belgeyi belirtilen RNG dizgesiyle doğrular
  • DOMDocument::validate() - Belgeyi DTD'sine göre doğrular


Belgeyi DTD'sine göre doğrular

  • « DOMDocument::schemaValidateSource
  • DOMDocument::xinclude »
  • PHP Manual
  • DOMDocument
  • Belgeyi DTD'sine göre doğrular

DOMDocument::validate

(PHP 5, PHP 7, PHP 8)

DOMDocument::validate — Belgeyi DTD'sine göre doğrular

Açıklama

public DOMDocument::validate(): bool

Belgeyi DTD'sine göre doğrular.

Bir DTD doğrulaması yapmak için DOMDocument sınıfının validateOnParse özelliği de kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Belgeye ekli bir DTD yoksa bu yöntem false döndürür.

Örnekler

Örnek 1 - DTD'ye göre doğrulama örneği

<?php
$dom = new DOMDocument;
$dom->load('book.xml');
if ($dom->validate()) {
echo "Belge geçerli!\n";
}
?>

XML dosyayı yüklerken de doğrulatmak mümkündür:

<?php
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->load('book.xml');
?>

Ayrıca Bakınız

  • DOMDocument::schemaValidate() - Belgeyi bir şema dosyasına göre doğrular
  • DOMDocument::schemaValidateSource() - Belgeyi bir şema dizgesine göre doğrular
  • DOMDocument::relaxNGValidate() - Belgeyi belirtilen RNG dosyasıyla doğrular
  • DOMDocument::relaxNGValidateSource() - Belgeyi belirtilen RNG dizgesiyle doğrular


Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder

  • « DOMDocument::validate
  • DOMDocumentFragment »
  • PHP Manual
  • DOMDocument
  • Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder

DOMDocument::xinclude

(PHP 5, PHP 7, PHP 8)

DOMDocument::xinclude — Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder

Açıklama

public DOMDocument::xinclude(int $seçenekler = 0): int|false

Bir DOMDocument nesnesinde, » XIncludes mekanizması kullanılarak belgeye dahil edilen dosyaların içeriklerini yerlerine yerleştirir.

Bilginize:

libxml2'nin öğeleri otomatik olarak çözümlemesinden dolayı, eğer dahil edilen XML dosyanın kendine ekli bir DTD'si varsa bu yöntem beklenmedik sonuçlara yol açabilir.

Dikkat

Kayıtlı düğüm sınıflarının nesne kurucusu çağrılmaz.

Bağımsız Değişkenler

seçenekler

libxml seçenek sabitlerinin bitsel VEYAsı.

Dönen Değerler

Belgeye XIncludes ile dahil edilen dosyaların sayısı. İşlem başarısız olursa -1, dahil edilecek birşey yoksa false döner.

Örnekler

Örnek 1 - DOMDocument::xinclude() örneği

<?php

$xml = <<<EOD
<?xml version="1.0" ?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Yabancı kitapları</title>
<para>
<xi:include href="kitap.xml">
<xi:fallback>
<error>xinclude: kitap.xml dosyasına rastlanmadı</error>
</xi:fallback>
</xi:include>
</para>
</chapter>
EOD;

$dom = new DOMDocument;

// çıktı göze hoş görünsün
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;

// yutarıdaki XML dizgeyi yükleyelim
$dom->loadXML($xml);

// dahil edilecek dosyaların içeriklerini alalım
$dom->xinclude();

echo $dom->saveXML();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0"?>
<chapter xmlns:xi="http://www.w3.org/2001/XInclude">
  <title>Yabancı kitaplar</title>
  <para>
    <row xml:base="/home/didou/book.xml">
       <entry>The Grapes of Wrath</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>0140186409</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>The Pearl</entry>
       <entry>John Steinbeck</entry>
       <entry>en</entry>
       <entry>014017737X</entry>
      </row>
    <row xml:base="/home/didou/book.xml">
       <entry>Samarcande</entry>
       <entry>Amine Maalouf</entry>
       <entry>fr</entry>
       <entry>2253051209</entry>
      </row>
  </para>
</chapter>


DOMDocumentFragment sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMDocumentFragment extends DOMNode implements DOMParentNode {
/* Özellikler */
public readonly ?DOMElement $firstElementChild;
public readonly ?DOMElement $lastElementChild;
public readonly int $childElementCount;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct()
public append(DOMNode|string ...$nodes): void
public appendXML(string $data): bool
public prepend(DOMNode|string ...$nodes): void
public replaceChildren(DOMNode|string ...$nodes): void
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

childElementCount

Çocuk eleman sayısı.

firstElementChild

İlk çocuk eleman ya da null.

lastElementChild

Son çocuk eleman ya da null.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | The firstElementChild, lastElementChild, ve childElementCount özellikleri eklendi.
8.0.0 | DOMDocumentFragment artık DOMParentNode arayüzünü gerçekliyor.

İçindekiler

  • DOMDocumentFragment::append — Appends nodes after the last child node
  • DOMDocumentFragment::appendXML — Ham bir XML verisi ekler
  • DOMDocumentFragment::__construct — Constructs a DOMDocumentFragment object
  • DOMDocumentFragment::prepend — Prepends nodes before the first child node
  • DOMDocumentFragment::replaceChildren — Replace children in fragment


Appends nodes after the last child node

  • « DOMDocumentFragment
  • DOMDocumentFragment::appendXML »
  • PHP Manual
  • DOMDocumentFragment
  • Appends nodes after the last child node

DOMDocumentFragment::append

(PHP 8)

DOMDocumentFragment::append — Appends nodes after the last child node

Açıklama

public DOMDocumentFragment::append(DOMNode|string ...$nodes): void

Appends one or many nodes to the list of children after the last child node.

Bağımsız Değişkenler

nodes

The nodes to append. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocumentFragment::append() example

Appends nodes in the fragment.

<?php
$doc = new DOMDocument;
$fragment = $doc->createDocumentFragment();
$fragment->appendChild($doc->createElement("hello"));

$fragment->append("beautiful", $doc->createElement("world"));

echo $doc->saveXML($fragment);
?>

Yukarıdaki örneğin çıktısı:

<hello/>beautiful<world/>

Ayrıca Bakınız

  • DOMParentNode::append() - Appends nodes after the last child node
  • DOMDocumentFragment::prepend() - Prepends nodes before the first child node


Ham bir XML verisi ekler

  • « DOMDocumentFragment::append
  • DOMDocumentFragment::__construct »
  • PHP Manual
  • DOMDocumentFragment
  • Ham bir XML verisi ekler

DOMDocumentFragment::appendXML

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

DOMDocumentFragment::appendXML — Ham bir XML verisi ekler

Açıklama

public DOMDocumentFragment::appendXML(string $data): bool

Bir DOMDocumentFragment nesnesine ham bir XML verisi ekler.

Bu yöntem DOM standardının bir parçası değildir. Bir DOMDocument nesnesine bir XML belge parçası eklemek için basit bir yaklaşım olarak gerçeklenmiştir.

Standardla tam uyum içinde olmak isterseniz, sahte bir kök elemana sahip geçici bir DOMDocument oluşturup XML verinizi ekleyeceğiniz kök elemanın çocuk düğümleriyle bir döngüye girmelisiniz.

Bağımsız Değişkenler

data

Eklenecek XML veri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Belgeye XML veri eklemek

<?php
$doc = new DOMDocument();
$doc->loadXML("<root/>");
$f = $doc->createDocumentFragment();
$f->appendXML("<foo>text</foo><bar>text2</bar>");
$doc->documentElement->appendChild($f);
echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<root><foo>text</foo><bar>text2</bar></root>


Constructs a DOMDocumentFragment object

  • « DOMDocumentFragment::appendXML
  • DOMDocumentFragment::prepend »
  • PHP Manual
  • DOMDocumentFragment
  • Constructs a DOMDocumentFragment object

DOMDocumentFragment::__construct

(PHP 5, PHP 7, PHP 8)

DOMDocumentFragment::__construct — Constructs a DOMDocumentFragment object

Açıklama

public DOMDocumentFragment::__construct()

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Prepends nodes before the first child node

  • « DOMDocumentFragment::__construct
  • DOMDocumentFragment::replaceChildren »
  • PHP Manual
  • DOMDocumentFragment
  • Prepends nodes before the first child node

DOMDocumentFragment::prepend

(PHP 8)

DOMDocumentFragment::prepend — Prepends nodes before the first child node

Açıklama

public DOMDocumentFragment::prepend(DOMNode|string ...$nodes): void

Prepends one or many nodes to the list of children before the first child node.

Bağımsız Değişkenler

nodes

The nodes to prepend. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocumentFragment::prepend() example

Prepends nodes before the fragment root.

<?php
$doc = new DOMDocument;
$fragment = $doc->createDocumentFragment();
$fragment->appendChild($doc->createElement("world"));

$fragment->prepend($doc->createElement("hello"), "beautiful");

echo $doc->saveXML($fragment);
?>

Yukarıdaki örneğin çıktısı:

<hello/>beautiful<world/>

Ayrıca Bakınız

  • DOMParentNode::prepend() - Prepends nodes before the first child node
  • DOMDocumentFragment::append() - Appends nodes after the last child node


Replace children in fragment

  • « DOMDocumentFragment::prepend
  • DOMDocumentType »
  • PHP Manual
  • DOMDocumentFragment
  • Replace children in fragment

DOMDocumentFragment::replaceChildren

(PHP 8 >= 8.3.0)

DOMDocumentFragment::replaceChildren — Replace children in fragment

Açıklama

public DOMDocumentFragment::replaceChildren(DOMNode|string ...$nodes): void

Replaces the children in the document fragment with new nodes.

Bağımsız Değişkenler

nodes

The nodes replacing the children. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMDocumentFragment::replaceChildren() example

Replaces the children with new nodes.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/></container>");
$fragment = $doc->createDocumentFragment();
$fragment->append("hello");

$fragment->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML($fragment);
?>

Yukarıdaki örneğin çıktısı:

beautiful
<world/>

Ayrıca Bakınız

  • DOMParentNode::replaceChildren() - Replace children in node
  • DOMDocumentFragment::append() - Appends nodes after the last child node
  • DOMDocumentFragment::prepend() - Prepends nodes before the first child node


DOMDocumentType sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Her DOMDocument nesnesi, değeri null veya bir DOMDocumentType nesnesi olabilen bir doctype özniteliğine sahiptir.

Sınıf Sözdizimi

class DOMDocumentType extends DOMNode {
/* Özellikler */
public readonly string $name;
public readonly DOMNamedNodeMap $entities;
public readonly DOMNamedNodeMap $notations;
public readonly string $publicId;
public readonly string $systemId;
public readonly ?string $internalSubset;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

publicId

Harici alt kümenin genel betimleyicisi.

systemId

Harici alt kümenin sistem betimleyicisi. Bu bir mutlak URI olabileceği gibi olmayabilir de.

name

DTD ismi; yani, DOCTYPE anahtar sözcüğünden sonra gelen sözcük.

entities

DTD'de bildirilmiş harici ve dahili genel öğeleri içeren bir DOMNamedNodeMap nesnesi.

notations

DTD'de bildirilmiş gösterimleri içeren bir DOMNamedNodeMap nesnesi.

internalSubset

Bir dizge olarak dahili alt küme; hiçbir şey yoksa null. Sınırlayıcı köşeli ayraçları içermez.


DOMElement sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMElement extends DOMNode implements DOMParentNode, DOMChildNode {
/* Özellikler */
public readonly string $tagName;
public readonly mixed $schemaTypeInfo = null;
public readonly ?DOMElement $firstElementChild;
public readonly ?DOMElement $lastElementChild;
public readonly int $childElementCount;
public readonly ?DOMElement $previousElementSibling;
public readonly ?DOMElement $nextElementSibling;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $qualifiedName, ?string $value = null, string $namespace = "")
public after(DOMNode|string ...$nodes): void
public append(DOMNode|string ...$nodes): void
public before(DOMNode|string ...$nodes): void
public getAttributeNode(string $isim): DOMAttr|DOMNamespaceNode|false
public getAttributeNames(): array
public getAttributeNode(string $isim): DOMAttr|DOMNameSpaceNode|false
public getAttributeNodeNS(?string $uri, string $isim): DOMAttr|DOMNameSpaceNode|null
public getAttributeNS(?string $uri, string $isim): string
public getElementsByTagName(string $isim): DOMNodeList
public getElementsByTagNameNS(?string $isimalanı, string $isim): DOMNodeList
public hasAttribute(string $isim): bool
public hasAttributeNS(?string $uri, string $isim): bool
public insertAdjacentElement(string $where, DOMElement $element): ?DOMElement
public insertAdjacentText(string $where, string $data): void
public prepend(DOMNode|string ...$nodes): void
public remove(): void
public removeAttribute(string $isim): bool
public removeAttributeNode(DOMAttr $öznitelik): DOMAttr|false
public removeAttributeNS(?string $uri, string $isim): void
public replaceChildren(DOMNode|string ...$nodes): void
public replaceWith(DOMNode|string ...$nodes): void
public setAttribute(string $isim, string $değer): DOMAttr|bool
public setAttributeNode(DOMAttr $öznitelik): DOMAttr|null|false
public setAttributeNodeNS(DOMAttr $öznitelik): DOMAttr|null|false
public setAttributeNS(?string $uri, string $isim, string $değer): void
public setIdAttribute(string $isim, bool $id_olarak): void
public setIdAttributeNode(DOMAttr $öznitelik, bool $id_olarak): void
public setIdAttributeNS(string $uri, string $isim, bool $id_olarak): void
public toggleAttribute(string $qualifiedName, ?bool $force = null): bool
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

childElementCount

Çocuk eleman sayısı.

firstElementChild

İlk çocuk eleman ya da null.

lastElementChild

Son çocuk eleman ya da null.

nextElementSibling

Sonraki kardeş eleman ya da null.

previousElementSibling

Önceki kardeş eleman ya da null.

schemaTypeInfo

Henüz gerçeklenmedi; daima null döndürür.

tagName

Elemanın ismi

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | firstElementChild, lastElementChild, childElementCount, previousElementSibling, ve nextElementSibling özellikleri eklendi.
8.0.0 | DOMElement artık DOMParentNode ve DOMChildNode arayüzünü gerçekliyor.

Notlar

Bilginize:

DOM eklentisi UTF-8 kodlama kullanır. Diğer kodlamalarla çalışmak için mb_convert_encoding(), UConverter::transcode() veya iconv() kullanılabilir.

İçindekiler

  • DOMElement::after — Adds nodes after the element
  • DOMElement::append — Appends nodes after the last child node
  • DOMElement::before — Adds nodes before the element
  • DOMElement::__construct — Yeni bir DOMElement nesnesi oluşturur
  • DOMElement::getAttribute — İsmi belirtilen özniteliğin değerini döndürür
  • DOMElement::getAttributeNames — Get attribute names
  • DOMElement::getAttributeNode — İsmi belirtilen öznitelik düğümünü döndürür
  • DOMElement::getAttributeNodeNS — İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür
  • DOMElement::getAttributeNS — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
  • DOMElement::getElementsByTagName — İsmi belirtilen elemanları döndürür
  • DOMElement::getElementsByTagNameNS — İsmi ve isim alanı belirtilen elemanları döndürür
  • DOMElement::hasAttribute — İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::hasAttributeNS — Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::insertAdjacentElement — Insert adjacent element
  • DOMElement::insertAdjacentText — Insert adjacent text
  • DOMElement::prepend — Prepends nodes before the first child node
  • DOMElement::remove — Removes the element
  • DOMElement::removeAttribute — İsmi belirtilen özniteliği siler
  • DOMElement::removeAttributeNode — Belirtilen öznitelik düğümünü siler
  • DOMElement::removeAttributeNS — İsmi ve isim alanı belirtilen özniteliği siler
  • DOMElement::replaceChildren — Replace children in element
  • DOMElement::replaceWith — Replaces the element with new nodes
  • DOMElement::setAttribute — Yeni bir öznitelik ekler ya da var olanda değişiklik yapar
  • DOMElement::setAttributeNode — Elemana yeni bir öznitelik düğümü ekler
  • DOMElement::setAttributeNodeNS — Elemana isim alanlı yeni bir öznitelik düğümü ekler
  • DOMElement::setAttributeNS — İsim alanlı yeni bir öznitelik ekler
  • DOMElement::setIdAttribute — İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar
  • DOMElement::setIdAttributeNode — Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir
  • DOMElement::setIdAttributeNS — İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar
  • DOMElement::toggleAttribute — Toggle attribute


Adds nodes after the element

  • « DOMElement
  • DOMElement::append »
  • PHP Manual
  • DOMElement
  • Adds nodes after the element

DOMElement::after

(PHP 8)

DOMElement::after — Adds nodes after the element

Açıklama

public DOMElement::after(DOMNode|string ...$nodes): void

Adds the passed nodes after the element.

Bağımsız Değişkenler

nodes

Nodes to be added after the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::after() example

Adds nodes after the hello element.

<?php
$doc = new DOMDocument;
$doc->loadXML("<hello/>");
$container = $doc->documentElement;

$container->after("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<hello/>
beautiful
<world/>

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMElement::before() - Adds nodes before the element


Appends nodes after the last child node

  • « DOMElement::after
  • DOMElement::before »
  • PHP Manual
  • DOMElement
  • Appends nodes after the last child node

DOMElement::append

(PHP 8)

DOMElement::append — Appends nodes after the last child node

Açıklama

public DOMElement::append(DOMNode|string ...$nodes): void

Appends one or many nodes to the list of children after the last child node.

Bağımsız Değişkenler

nodes

The nodes to append. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::append() example

Appends nodes in the container element.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container>hello </container>");
$world = $doc->documentElement;

$world->append("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container>hello beautiful<world/></container>

Ayrıca Bakınız

  • DOMParentNode::append() - Appends nodes after the last child node
  • DOMElement::prepend() - Prepends nodes before the first child node


Adds nodes before the element

  • « DOMElement::append
  • DOMElement::__construct »
  • PHP Manual
  • DOMElement
  • Adds nodes before the element

DOMElement::before

(PHP 8)

DOMElement::before — Adds nodes before the element

Açıklama

public DOMElement::before(DOMNode|string ...$nodes): void

Adds the passed nodes before the element.

Bağımsız Değişkenler

nodes

Nodes to be added before the node. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::before() example

Adds nodes before the hello element.

<?php
$doc = new DOMDocument;
$doc->loadXML("<world/>");
$world = $doc->documentElement;

$world->before("hello", $doc->createElement("beautiful"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

hello
<beautiful/>
<world/>

Ayrıca Bakınız

  • DOMChildNode::before() - Adds nodes before the node
  • DOMElement::after() - Adds nodes after the element


Yeni bir DOMElement nesnesi oluşturur

  • « DOMElement::before
  • DOMElement::getAttribute »
  • PHP Manual
  • DOMElement
  • Yeni bir DOMElement nesnesi oluşturur

DOMElement::__construct

(PHP 5, PHP 7, PHP 8)

DOMElement::__construct — Yeni bir DOMElement nesnesi oluşturur

Açıklama

public DOMElement::__construct(string $qualifiedName, ?string $value = null, string $namespace = "")

Yeni bir DOMElement nesnesi oluşturur. Bu nesne salt okunurdur. Nesne bu haliyle bir belgeye eklenebilir, fakat belge ile ilişkilendirilinceye kadar yeni bir düğüm eklenemez. Yazılabilir bir düğüm oluşturmak için DOMDocument::createElement() veya DOMDocument::createElementNS() yöntemlerini kullanın.

Bağımsız Değişkenler

qualifiedName

Elemanın etiket ismi. Bir isim alanı betimleyicisi belirtildiği takdirde eleman ismi bu isim alanı ile ilişkili bir önek alabilir.

value

Elemanın değeri.

namespace

Elemanın bir isim alanına ait olması halinde bu isim alanını betimleyen adres.

Örnekler

Örnek 1 - Yeni bir DOMElement oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('kök'));
$element_ns = new DOMElement('bir:düğüm1', 'birdeğer', 'http://rst');
$element->appendChild($element_ns);
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?>
<kök><bir:düğüm1 xmlns:bu="http://rst">birdeğer</bir:düğüm1></kök> */

?>

Ayrıca Bakınız

  • DOMDocument::createElement() - Yeni bir eleman düğümü oluşturur
  • DOMDocument::createElementNS() - İsim alanlı bir eleman düğümü oluşturur


İsmi belirtilen özniteliğin değerini döndürür

  • « DOMElement::__construct
  • DOMElement::getAttributeNames »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen özniteliğin değerini döndürür

DOMElement::getAttribute

(PHP 5, PHP 7, PHP 8)

DOMElement::getAttribute — İsmi belirtilen özniteliğin değerini döndürür

Açıklama

public DOMElement::getAttributeNode(string $isim): DOMAttr|DOMNamespaceNode|false

İsmi belirtilen düğüm özniteliğinin değerini döndürür.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

Dönen Değerler

isim özniteliği yoksa boş bir dizge, varsa öznitelik değerini içeren bir dizge döner. XML isim alanı bildirimleri (xmlns ve xmlns:* öznitelikleri) için bir DOMAttr örneği değil bir DOMNameSpaceNode örneği döner.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::setAttribute() - Yeni bir öznitelik ekler ya da var olanda değişiklik yapar
  • DOMElement::removeAttribute() - İsmi belirtilen özniteliği siler


Get attribute names

  • « DOMElement::getAttribute
  • DOMElement::getAttributeNode »
  • PHP Manual
  • DOMElement
  • Get attribute names

DOMElement::getAttributeNames

(PHP 8 >= 8.3.0)

DOMElement::getAttributeNames — Get attribute names

Açıklama

public DOMElement::getAttributeNames(): array

Get attribute names.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Return attribute names.

Örnekler

Örnek 1 DOMElement::getAttributeNames() example

<?php

$dom = new DOMDocument();
$dom->loadXML('<html xmlns:some="some:ns" some:test="a" test2="b"/>');
var_dump($dom->documentElement->getAttributeNames());
?>

Yukarıdaki örneğin çıktısı:

array(3) {
 [0]=>
 string(10) "xmlns:some"
 [1]=>
 string(9) "some:test"
 [2]=>
 string(5) "test2"
}


İsmi belirtilen öznitelik düğümünü döndürür

  • « DOMElement::getAttributeNames
  • DOMElement::getAttributeNodeNS »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen öznitelik düğümünü döndürür

DOMElement::getAttributeNode

(PHP 5, PHP 7, PHP 8)

DOMElement::getAttributeNode — İsmi belirtilen öznitelik düğümünü döndürür

Açıklama

public DOMElement::getAttributeNode(string $isim): DOMAttr|DOMNameSpaceNode|false

Düğümün ismi belirtilen öznitelik düğümünü döndürür.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

Dönen Değerler

Öznitelik düğümü. XML isim alanı bildirimleri (xmlns ve xmlns:* öznitelikleri) için bir DOMAttr örneği değil bir DOMNameSpaceNode örneği döner.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::setAttributeNode() - Elemana yeni bir öznitelik düğümü ekler
  • DOMElement::removeAttributeNode() - Belirtilen öznitelik düğümünü siler


İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür

  • « DOMElement::getAttributeNode
  • DOMElement::getAttributeNS »
  • PHP Manual
  • DOMElement
  • İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür

DOMElement::getAttributeNodeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::getAttributeNodeNS — İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür

Açıklama

public DOMElement::getAttributeNodeNS(?string $uri, string $isim): DOMAttr|DOMNameSpaceNode|null

Düğümün ismi ve isim alanı belirtilen özniteliği döndürür.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:öznitelik biçeminde öznitelik ismi.

Dönen Değerler

Öznitelik düğümü. XML isim alanı bildirimleri (xmlns ve xmlns:* öznitelikleri) için bir DOMAttr örneği değil bir DOMNameSpaceNode örneği döner.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::setAttributeNodeNS() - Elemana isim alanlı yeni bir öznitelik düğümü ekler
  • DOMElement::removeAttributeNode() - Belirtilen öznitelik düğümünü siler


İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

  • « DOMElement::getAttributeNodeNS
  • DOMElement::getElementsByTagName »
  • PHP Manual
  • DOMElement
  • İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

DOMElement::getAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::getAttributeNS — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

Açıklama

public DOMElement::getAttributeNS(?string $uri, string $isim): string

Düğümün ismi ve isim alanı belirtilen özniteliğinin değerini döndürür.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:öznitelik biçeminde öznitelik ismi.

Dönen Değerler

isim özniteliği yoksa boş bir dizge, varsa öznitelik değerini içeren bir dizge döner.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::setAttributeNS() - İsim alanlı yeni bir öznitelik ekler
  • DOMElement::removeAttributeNS() - İsmi ve isim alanı belirtilen özniteliği siler


İsmi belirtilen elemanları döndürür

  • « DOMElement::getAttributeNS
  • DOMElement::getElementsByTagNameNS »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen elemanları döndürür

DOMElement::getElementsByTagName

(PHP 5, PHP 7, PHP 8)

DOMElement::getElementsByTagName — İsmi belirtilen elemanları döndürür

Açıklama

public DOMElement::getElementsByTagName(string $isim): DOMNodeList

Düğümün ismi belirtilen alt düğümlerini rastlandıkları sıra ile ve alt düğümleri ile içeren yeni bir DOMNodeList nesnesi döndürür.

Bağımsız Değişkenler

isim

Etiket ismi. Tüm eleman ağacını döndürmek için * belirtin.

Dönen Değerler

Eşleşen tüm elemanları içeren yeni bir DOMNodeList nesnesi döner.

Ayrıca Bakınız

  • DOMElement::getElementsByTagNameNS() - İsmi ve isim alanı belirtilen elemanları döndürür


İsmi ve isim alanı belirtilen elemanları döndürür

  • « DOMElement::getElementsByTagName
  • DOMElement::hasAttribute »
  • PHP Manual
  • DOMElement
  • İsmi ve isim alanı belirtilen elemanları döndürür

DOMElement::getElementsByTagNameNS

(PHP 5, PHP 7, PHP 8)

DOMElement::getElementsByTagNameNS — İsmi ve isim alanı belirtilen elemanları döndürür

Açıklama

public DOMElement::getElementsByTagNameNS(?string $isimalanı, string $isim): DOMNodeList

Düğümün ismi ve isim alanına dahil alt düğümleri rastlandıkları sıra ile ve alt düğümleri ile içeren yeni bir DOMNodeList nesnesi döndürür.

Bağımsız Değişkenler

isimalanı

Elemanların eşleştirileceği isim alanını betimleyen adres. Bütün isim alanları anlamında "*" belirtilebilir. Boş isim alanı ile eşleşme için null aktarılabilir.

isim

Eşleştirilecek elemanın ismi. Tüm yerel adları döndürmek için "*" belirtilebilir.

Dönen Değerler

Eşleşen tüm elemanları içeren yeni bir DOMNodeList nesnesi döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | isimalanı artık null olabiliyor.

Ayrıca Bakınız

  • DOMElement::getElementsByTagName() - İsmi belirtilen elemanları döndürür


İsmi belirtilen öznitelik mevcut mu diye bakar

  • « DOMElement::getElementsByTagNameNS
  • DOMElement::hasAttributeNS »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen öznitelik mevcut mu diye bakar

DOMElement::hasAttribute

(PHP 5, PHP 7, PHP 8)

DOMElement::hasAttribute — İsmi belirtilen öznitelik mevcut mu diye bakar

Açıklama

public DOMElement::hasAttribute(string $isim): bool

İsmi belirtilen öznitelik mevcutsa true döndürür.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::getAttribute() - İsmi belirtilen özniteliğin değerini döndürür
  • DOMElement::setAttribute() - Yeni bir öznitelik ekler ya da var olanda değişiklik yapar
  • DOMElement::removeAttribute() - İsmi belirtilen özniteliği siler


Belirtilen isim alanlı öznitelik var mı diye bakar

  • « DOMElement::hasAttribute
  • DOMElement::insertAdjacentElement »
  • PHP Manual
  • DOMElement
  • Belirtilen isim alanlı öznitelik var mı diye bakar

DOMElement::hasAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::hasAttributeNS — Belirtilen isim alanlı öznitelik var mı diye bakar

Açıklama

public DOMElement::hasAttributeNS(?string $uri, string $isim): bool

İsmi ve isim alanı belirtilen öznitelik mevcutsa true döndürür.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:etiket biçeminde öznitelik ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::getAttributeNS() - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
  • DOMElement::setAttributeNS() - İsim alanlı yeni bir öznitelik ekler
  • DOMElement::removeAttributeNS() - İsmi ve isim alanı belirtilen özniteliği siler


Insert adjacent element

  • « DOMElement::hasAttributeNS
  • DOMElement::insertAdjacentText »
  • PHP Manual
  • DOMElement
  • Insert adjacent element

DOMElement::insertAdjacentElement

(PHP 8 >= 8.3.0)

DOMElement::insertAdjacentElement — Insert adjacent element

Açıklama

public DOMElement::insertAdjacentElement(string $where, DOMElement $element): ?DOMElement

Inserts an element at a relative position given by where.

Bağımsız Değişkenler

where

  • beforebegin - Insert before the target element.
  • afterbegin - Insert as the first child of the target element.
  • beforeend - Insert as the last child of the target element.
  • afterend - Insert after the target element.

element

The element to insert.

Dönen Değerler

Return DOMElement or null on failure.

Örnekler

Örnek 1 DOMElement::insertAdjacentElement() example

<?php

$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><container><p>foo</p></container>');
$container = $dom->documentElement;
$p = $container->firstElementChild;

$p->insertAdjacentElement('beforebegin', $dom->createElement('A'));
echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><A/><p>foo</p></container>

Ayrıca Bakınız

  • DOMElement::insertAdjacentText() - Insert adjacent text


Insert adjacent text

  • « DOMElement::insertAdjacentElement
  • DOMElement::prepend »
  • PHP Manual
  • DOMElement
  • Insert adjacent text

DOMElement::insertAdjacentText

(PHP 8 >= 8.3.0)

DOMElement::insertAdjacentText — Insert adjacent text

Açıklama

public DOMElement::insertAdjacentText(string $where, string $data): void

Inserts text at a relative position given by where.

Bağımsız Değişkenler

where

  • beforebegin - Insert before the target element.
  • afterbegin - Insert as the first child of the target element.
  • beforeend - Insert as the last child of the target element.
  • afterend - Insert after the target element.

data

The string to insert.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DOMElement::insertAdjacentText() example

<?php

$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><container><p>H</p></container>');

$container = $dom->documentElement;
$p = $container->firstElementChild;

$p->insertAdjacentText("afterbegin", "P");
$p->insertAdjacentText("beforeend", "P");

echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><p>PHP</p></container>

Ayrıca Bakınız

  • DOMElement::insertAdjacentElement() - Insert adjacent element


Prepends nodes before the first child node

  • « DOMElement::insertAdjacentText
  • DOMElement::remove »
  • PHP Manual
  • DOMElement
  • Prepends nodes before the first child node

DOMElement::prepend

(PHP 8)

DOMElement::prepend — Prepends nodes before the first child node

Açıklama

public DOMElement::prepend(DOMNode|string ...$nodes): void

Prepends one or many nodes to the list of children before the first child node.

Bağımsız Değişkenler

nodes

The nodes to prepend. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::prepend() example

Prepends nodes in the container element.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container> world</container>");
$world = $doc->documentElement;

$world->prepend($doc->createElement("hello"), "beautiful");

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><hello/>beautiful world</container>

Ayrıca Bakınız

  • DOMParentNode::prepend() - Prepends nodes before the first child node
  • DOMElement::append() - Appends nodes after the last child node


Removes the element

  • « DOMElement::prepend
  • DOMElement::removeAttribute »
  • PHP Manual
  • DOMElement
  • Removes the element

DOMElement::remove

(PHP 8)

DOMElement::remove — Removes the element

Açıklama

public DOMElement::remove(): void

Removes the element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 DOMElement::remove() example

Removes the element.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/><world/></container>");
$hello = $doc->documentElement->firstChild;

$hello->remove();

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container><world/></container>

Ayrıca Bakınız

  • DOMElement::after() - Adds nodes after the element
  • DOMElement::before() - Adds nodes before the element
  • DOMElement::replaceWith() - Replaces the element with new nodes
  • DOMNode::removeChild() - Listeden belirtilen çocuğu siler


İsmi belirtilen özniteliği siler

  • « DOMElement::remove
  • DOMElement::removeAttributeNode »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen özniteliği siler

DOMElement::removeAttribute

(PHP 5, PHP 7, PHP 8)

DOMElement::removeAttribute — İsmi belirtilen özniteliği siler

Açıklama

public DOMElement::removeAttribute(string $isim): bool

İsmi belirtilen özniteliği siler.

Bağımsız Değişkenler

isim

Silinecek özniteliğin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::getAttribute() - İsmi belirtilen özniteliğin değerini döndürür
  • DOMElement::setAttribute() - Yeni bir öznitelik ekler ya da var olanda değişiklik yapar


Belirtilen öznitelik düğümünü siler

  • « DOMElement::removeAttribute
  • DOMElement::removeAttributeNS »
  • PHP Manual
  • DOMElement
  • Belirtilen öznitelik düğümünü siler

DOMElement::removeAttributeNode

(PHP 5, PHP 7, PHP 8)

DOMElement::removeAttributeNode — Belirtilen öznitelik düğümünü siler

Açıklama

public DOMElement::removeAttributeNode(DOMAttr $öznitelik): DOMAttr|false

öznitelik düğümünü eleman düğümünden siler.

Bağımsız Değişkenler

öznitelik

Silinecek öznitelik düğümü.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

DOM_NOT_FOUND_ERROR

öznitelik, bu düğümün bir özniteliği değilse oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::getAttributeNode() - İsmi belirtilen öznitelik düğümünü döndürür
  • DOMElement::setAttributeNode() - Elemana yeni bir öznitelik düğümü ekler


İsmi ve isim alanı belirtilen özniteliği siler

  • « DOMElement::removeAttributeNode
  • DOMElement::replaceChildren »
  • PHP Manual
  • DOMElement
  • İsmi ve isim alanı belirtilen özniteliği siler

DOMElement::removeAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::removeAttributeNS — İsmi ve isim alanı belirtilen özniteliği siler

Açıklama

public DOMElement::removeAttributeNS(?string $uri, string $isim): void

Elemanın uri isim alanındaki isim özniteliğini siler.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:öznitelik biçeminde öznitelik ismi.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::getAttributeNS() - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
  • DOMElement::setAttributeNS() - İsim alanlı yeni bir öznitelik ekler


Replace children in element

  • « DOMElement::removeAttributeNS
  • DOMElement::replaceWith »
  • PHP Manual
  • DOMElement
  • Replace children in element

DOMElement::replaceChildren

(PHP 8 >= 8.3.0)

DOMElement::replaceChildren — Replace children in element

Açıklama

public DOMElement::replaceChildren(DOMNode|string ...$nodes): void

Replaces the children in the element with new nodes.

Bağımsız Değişkenler

nodes

The nodes replacing the children. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::replaceChildren() example

Replaces the children with new nodes.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/></container>");
$container = $doc->documentElement;

$container->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
beautiful
<world/>

Ayrıca Bakınız

  • DOMParentNode::replaceChildren() - Replace children in node
  • DOMElement::replaceWith() - Replaces the element with new nodes
  • DOMElement::after() - Adds nodes after the element
  • DOMElement::before() - Adds nodes before the element
  • DOMElement::remove() - Removes the element


Replaces the element with new nodes

  • « DOMElement::replaceChildren
  • DOMElement::setAttribute »
  • PHP Manual
  • DOMElement
  • Replaces the element with new nodes

DOMElement::replaceWith

(PHP 8)

DOMElement::replaceWith — Replaces the element with new nodes

Açıklama

public DOMElement::replaceWith(DOMNode|string ...$nodes): void

Replaces the element with new nodes.

Bağımsız Değişkenler

nodes

The replacement nodes. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if the parent is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without a parent is now a no-op to align the behaviour with the DOM specification. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMElement::replaceWith() example

Replaces the element with new nodes.

<?php
$doc = new DOMDocument;
$doc->loadXML("<container><hello/></container>");
$cdata = $doc->documentElement->firstChild;

$cdata->replaceWith("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<container>beautiful<world/></container>

Ayrıca Bakınız

  • DOMChildNode::replaceWith() - Replaces the node with new nodes
  • DOMElement::replaceChildren() - Replace children in element
  • DOMElement::after() - Adds nodes after the element
  • DOMElement::before() - Adds nodes before the element
  • DOMElement::remove() - Removes the element


Yeni bir öznitelik ekler ya da var olanda değişiklik yapar

  • « DOMElement::replaceWith
  • DOMElement::setAttributeNode »
  • PHP Manual
  • DOMElement
  • Yeni bir öznitelik ekler ya da var olanda değişiklik yapar

DOMElement::setAttribute

(PHP 5, PHP 7, PHP 8)

DOMElement::setAttribute — Yeni bir öznitelik ekler ya da var olanda değişiklik yapar

Açıklama

public DOMElement::setAttribute(string $isim, string $değer): DOMAttr|bool

İsmi ve değeri belirtilen özniteliği tanımlar. Öznitelik düğümde mevcut değilse oluşturulur.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

değer

Özniteliğin değeri.

Dönen Değerler

Bir hata durumunda false, aksi takdirde yeni veya değişiklik yapılmış DOMAttr nesnesi döner.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

Örnekler

Örnek 1 - Bir özniteliğin atanması

<?php
$doc = new DOMDocument("1.0");
$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);
$newnode->setAttribute("align", "left");
?>

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::getAttribute() - İsmi belirtilen özniteliğin değerini döndürür
  • DOMElement::removeAttribute() - İsmi belirtilen özniteliği siler


Elemana yeni bir öznitelik düğümü ekler

  • « DOMElement::setAttribute
  • DOMElement::setAttributeNodeNS »
  • PHP Manual
  • DOMElement
  • Elemana yeni bir öznitelik düğümü ekler

DOMElement::setAttributeNode

(PHP 5, PHP 7, PHP 8)

DOMElement::setAttributeNode — Elemana yeni bir öznitelik düğümü ekler

Açıklama

public DOMElement::setAttributeNode(DOMAttr $öznitelik): DOMAttr|null|false

Elemana öznitelik düğümünü ekler. Elemanda aynı ada sahip bir nitelik zaten varsa, bu öznitelik belirtilen öznitelik ile değiştirilir.

Bağımsız Değişkenler

öznitelik

Eklenecek öznitelik düğümü.

Dönen Değerler

Öznitelik mevcut olanla değiştirilmişse eski düğümü veya eski düğüm yoksa null döndürür. DOM_WRONG_DOCUMENT_ERR hatası oluşmuşsa ve strictErrorChecking değeri de false ise false döner.

Hatalar/İstisnalar

DOM_WRONG_DOCUMENT_ERR

öznitelik elemana değil, farklı bir belgeye aitse oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttribute() - İsmi belirtilen öznitelik mevcut mu diye bakar
  • DOMElement::getAttributeNode() - İsmi belirtilen öznitelik düğümünü döndürür
  • DOMElement::removeAttributeNode() - Belirtilen öznitelik düğümünü siler


Elemana isim alanlı yeni bir öznitelik düğümü ekler

  • « DOMElement::setAttributeNode
  • DOMElement::setAttributeNS »
  • PHP Manual
  • DOMElement
  • Elemana isim alanlı yeni bir öznitelik düğümü ekler

DOMElement::setAttributeNodeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::setAttributeNodeNS — Elemana isim alanlı yeni bir öznitelik düğümü ekler

Açıklama

public DOMElement::setAttributeNodeNS(DOMAttr $öznitelik): DOMAttr|null|false

İsim alanını hesaba katarak elemana isim alanlı öznitelik düğümünü ekler. Elemanda aynı ada sahip bir nitelik zaten varsa, bu öznitelik belirtilen öznitelik ile değiştirilir.

Bağımsız Değişkenler

öznitelik

Eklenecek öznitelik düğümü.

Dönen Değerler

Öznitelik mevcut olanla değiştirilmişse eski düğümü veya eski düğüm yoksa null döndürür. DOM_WRONG_DOCUMENT_ERR hatası oluşmuşsa ve strictErrorChecking değeri de false ise false döner.

Hatalar/İstisnalar

DOM_WRONG_DOCUMENT_ERR

öznitelik elemana değil, farklı bir belgeye aitse oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::getAttributeNodeNS() - İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür
  • DOMElement::removeAttributeNode() - Belirtilen öznitelik düğümünü siler


İsim alanlı yeni bir öznitelik ekler

  • « DOMElement::setAttributeNodeNS
  • DOMElement::setIdAttribute »
  • PHP Manual
  • DOMElement
  • İsim alanlı yeni bir öznitelik ekler

DOMElement::setAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::setAttributeNS — İsim alanlı yeni bir öznitelik ekler

Açıklama

public DOMElement::setAttributeNS(?string $uri, string $isim, string $değer): void

İsmi, değeri ve isim alanı belirtilen özniteliği tanımlar. Öznitelik düğümde mevcut değilse oluşturulur.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:öznitelik biçeminde öznitelik ismi.

değer

Özniteliğin değeri.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunur ise oluşur.

DOM_NAMESPACE_ERR

isim uygun değilse veya bir önek belirtildiği halde uri olarak null verilmişse bu hata oluşur.

Ayrıca Bakınız

  • DOMElement::hasAttributeNS() - Belirtilen isim alanlı öznitelik var mı diye bakar
  • DOMElement::getAttributeNS() - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
  • DOMElement::removeAttributeNS() - İsmi ve isim alanı belirtilen özniteliği siler


İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar

  • « DOMElement::setAttributeNS
  • DOMElement::setIdAttributeNode »
  • PHP Manual
  • DOMElement
  • İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar

DOMElement::setIdAttribute

(PHP 5, PHP 7, PHP 8)

DOMElement::setIdAttribute — İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar

Açıklama

public DOMElement::setIdAttribute(string $isim, bool $id_olarak): void

isim özniteliğini bir ID özniteliği haline getirir.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

isId

isim özniteliği bir ID özniteliği olarak bildiriliyorsa true, aksi takdirde false olmalıdır.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa oluşur.

DOM_NOT_FOUND

isim, bu düğümün bir özniteliği değilse oluşur.

Ayrıca Bakınız

  • DOMDocument::getElementById() - ID'si belirtilen elemanı döndürür
  • DOMElement::setIdAttributeNode() - Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir
  • DOMElement::setIdAttributeNS() - İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar


Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir

  • « DOMElement::setIdAttribute
  • DOMElement::setIdAttributeNS »
  • PHP Manual
  • DOMElement
  • Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir

DOMElement::setIdAttributeNode

(PHP 5, PHP 7, PHP 8)

DOMElement::setIdAttributeNode — Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir

Açıklama

public DOMElement::setIdAttributeNode(DOMAttr $öznitelik, bool $id_olarak): void

Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir.

Bağımsız Değişkenler

öznitelik

Öznitelik düğümü.

id_olarak

isim özniteliği bir ID özniteliği olarak bildiriliyorsa true, aksi takdirde false olmalıdır.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa oluşur.

DOM_NOT_FOUND

öznitelik, bu düğümün bir özniteliği değilse oluşur.

Ayrıca Bakınız

  • DOMDocument::getElementById() - ID'si belirtilen elemanı döndürür
  • DOMElement::setIdAttribute() - İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar
  • DOMElement::setIdAttributeNS() - İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar


İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar

  • « DOMElement::setIdAttributeNode
  • DOMElement::toggleAttribute »
  • PHP Manual
  • DOMElement
  • İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar

DOMElement::setIdAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMElement::setIdAttributeNS — İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar

Açıklama

public DOMElement::setIdAttributeNS(string $uri, string $isim, bool $id_olarak): void

uri ile belirtilen isim alanındaki isim özniteliğini bir ID özniteliği haline getirir.

Bağımsız Değişkenler

uri

Özniteliğin isim alanını betimleyen adres.

isim

önek:öznitelik biçeminde özniteliğin ismi.

id_olarak

isim özniteliği bir ID özniteliği olarak bildiriliyorsa true, aksi takdirde false olmalıdır.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa oluşur.

DOM_NOT_FOUND

isim, bu düğümün bir özniteliği değilse oluşur.

Ayrıca Bakınız

  • DOMDocument::getElementById() - ID'si belirtilen elemanı döndürür
  • DOMElement::setIdAttribute() - İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar
  • DOMElement::setIdAttributeNode() - Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir


Toggle attribute

  • « DOMElement::setIdAttributeNS
  • DOMEntity »
  • PHP Manual
  • DOMElement
  • Toggle attribute

DOMElement::toggleAttribute

(PHP 8 >= 8.3.0)

DOMElement::toggleAttribute — Toggle attribute

Açıklama

public DOMElement::toggleAttribute(string $qualifiedName, ?bool $force = null): bool

Toggle the attribute.

Bağımsız Değişkenler

qualifiedName

The qualified name of the attribute.

force

  • if null, the function will toggle the attribute.
  • if true, the function adds the attribute.
  • if false, the function removes the attribute.

Dönen Değerler

Returns true if the attribute is present after finishing the call, false otherwise.

Örnekler

Örnek 1 DOMElement::toggleAttribute() example

<?php

$dom = new DOMDocument();
$dom->loadXML("<?xml version='1.0'?><container selected=\"\"/>");

var_dump($dom->documentElement->toggleAttribute('selected'));
echo $dom->saveXML() . PHP_EOL;

var_dump($dom->documentElement->toggleAttribute('selected'));
echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

bool(false)
<?xml version="1.0"?>
<container/>

bool(true)
<?xml version="1.0"?>
<container selected=""/>


DOMEntity sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bu arayüz, bir XML belgede, çözümlenebilir olsun olmasın, bilinen bir öğeyi temsil eder.

Sınıf Sözdizimi

class DOMEntity extends DOMNode {
/* Özellikler */
public readonly ?string $publicId;
public readonly ?string $systemId;
public readonly ?string $notationName;
public readonly ?string $actualEncoding;
public readonly ?string $encoding = null;
public readonly ?string $version = null;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

publicId

Belirtilmişse öğe ile ilişkili genel betimleyici, yoksa null.

systemId

Belirtilmişse öğe ile ilişkili sistem betimleyici, yoksa null. Bir mutlak URI olabileceği gibi olmayabilir de.

notationName

Çözümsüz öğeler için öğenin gösterim ismi. Çözümlenebilen öğeler için null.

actualEncoding

Öğe bir harici çözümlenebilir öğe olduğu takdirde, çözümleme sırasında öğe için kullanılan kodlamayı belirten bir öznitelik. Eğer öğe bir dahili alt kümedeyse veya bilinmiyorsa null'dur.

encoding

Öğe bir harici çözümlenebilir öğe olduğu takdirde, metin bildiriminin bir parçası olarak öğenin karakter kodlamasını belirten bir özniteliktir, aksi takdirde null'dur.

version

Öğe bir harici çözümlenebilir öğe olduğu takdirde, metin bildiriminin bir parçası olarak öğenin sürüm numarasını belirten bir özniteliktir, aksi takdirde null'dur.


DOMEntityReference sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMEntityReference extends DOMNode {
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $name)
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

İçindekiler

  • DOMEntityReference::__construct — Yeni bir DOMEntityReference nesnesi oluşturur


Yeni bir DOMEntityReference nesnesi oluşturur

  • « DOMEntityReference
  • DOMException »
  • PHP Manual
  • DOMEntityReference
  • Yeni bir DOMEntityReference nesnesi oluşturur

DOMEntityReference::__construct

(PHP 5, PHP 7, PHP 8)

DOMEntityReference::__construct — Yeni bir DOMEntityReference nesnesi oluşturur

Açıklama

public DOMEntityReference::__construct(string $name)

Yeni bir DOMEntityReference nesnesi oluşturur.

Bağımsız Değişkenler

name

Öğe gönderiminin ismi.

Örnekler

Örnek 1 Yeni bir DOMEntityReference oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$entity = $element->appendChild(new DOMEntityReference('nbsp'));
echo $dom->saveXML(); /* <?xml version="1.0" encoding="utf-8"?><root>&nbsp;</root> */

?>

Ayrıca Bakınız

  • DOMDocument::createEntityReference() - Yeni bir öğe bildirimi düğümü oluşturur


DOMException sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Bir işlemin mantıksal sebeplerle yerine getirilmesinin imkansız olduğu durumlarda olduğu gibi, belli durumlarda istisnalar oluşturan DOM işlemleri.

Ayrıca bakınız: İstisnalar.

Sınıf Sözdizimi

final class DOMException extends Exception {
/* Özellikler */
public int $code;
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
public Exception::__construct(string $message = "", int $code = 0, ?Throwable $previous = null)
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}

Özellikler

code

Üretilen hatanın türünü belirten bir tamsayı.


DOMImplementation sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

İşlemleri belli bir belge nesne modeli örneğinden bağımsız olarak gerçekleştirmek için bazı yöntemler sunan bir sınıf.

Sınıf Sözdizimi

class DOMImplementation {
/* Yöntemler */
public createDocument(?string $isimalanı = null, string $önekliAd = "", ?DOMDocumentType $belgeTürü = null): DOMDocument|false
public createDocumentType(string $belgeAdı, string $publicId = "", string $systemId = ""): DOMDocumentType|false
public hasFeature(string $özellik, string $sürüm): bool
}

İçindekiler

  • DOMImplementation::__construct — Yeni bir DOMImplementation nesnesi oluşturur
  • DOMImplementation::createDocument — Belge elemanı belirtilen DOMDocument nesnesini oluşturur
  • DOMImplementation::createDocumentType — Boş bir DOMDocumentType nesnesi oluşturur
  • DOMImplementation::hasFeature — DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar


Yeni bir DOMImplementation nesnesi oluşturur

  • « DOMImplementation
  • DOMImplementation::createDocument »
  • PHP Manual
  • DOMImplementation
  • Yeni bir DOMImplementation nesnesi oluşturur

DOMImplementation::__construct

(PHP 5, PHP 7)

DOMImplementation::__construct — Yeni bir DOMImplementation nesnesi oluşturur

Açıklama

DOMImplementation::__construct()

Yeni bir DOMImplementation nesnesi oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Belge elemanı belirtilen DOMDocument nesnesini oluşturur

  • « DOMImplementation::__construct
  • DOMImplementation::createDocumentType »
  • PHP Manual
  • DOMImplementation
  • Belge elemanı belirtilen DOMDocument nesnesini oluşturur

DOMImplementation::createDocument

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocument — Belge elemanı belirtilen DOMDocument nesnesini oluşturur

Açıklama

public DOMImplementation::createDocument(?string $isimalanı = null, string $önekliAd = "", ?DOMDocumentType $belgeTürü = null): DOMDocument|false

Belge elemanı belirtilen DOMDocument nesnesini oluşturur.

Bağımsız Değişkenler

isimalanı

Oluşturulacak belge elemanının isim alanını betimleyen adres.

önekliAd

Oluşturulacak belge elemanının isim alanı önekli ismi.

belgeTürü

Oluşturulacak belgenin türü veya null.

Dönen Değerler

Yeni bir DOMDocument nesnesi veya hata durumunda false döner. uri, önekliAd ve belgeTürü olarak null belirtilirse belge elemanı olmayan boş bir DOMDocument nesnesi döner.

Hatalar/İstisnalar

DOM_WRONG_DOCUMENT_ERR

belgeTürü başka bir belgede zaten kullanılmışsa veya başka bir gerçeklenim tarafından oluşturulmuşsa bu hata oluşur.

DOM_NAMESPACE_ERR

uri ve önekliAd ile saptanan isim alanı ile ilgili bir hata durumunda bu hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.3 | isimalanı artık null olabiliyor.
8.0.0 | belgeTürü artık null olabiliyor.
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Ayrıca Bakınız

  • DOMDocument::__construct() - Yeni bir DOMDocument nesnesi oluşturur
  • DOMImplementation::createDocumentType() - Boş bir DOMDocumentType nesnesi oluşturur


Boş bir DOMDocumentType nesnesi oluşturur

  • « DOMImplementation::createDocument
  • DOMImplementation::hasFeature »
  • PHP Manual
  • DOMImplementation
  • Boş bir DOMDocumentType nesnesi oluşturur

DOMImplementation::createDocumentType

(PHP 5, PHP 7, PHP 8)

DOMImplementation::createDocumentType — Boş bir DOMDocumentType nesnesi oluşturur

Açıklama

public DOMImplementation::createDocumentType(string $belgeAdı, string $publicId = "", string $systemId = ""): DOMDocumentType|false

Boş bir DOMDocumentType nesnesi oluşturur. Öğe bildirimleri ve gösterimler kullanılabilir değildir. Öğe gönderimi dönüşümleri ve öntanımlı öznitelik eklemeleri yapılmaz.

Bağımsız Değişkenler

belgeAdı

Oluşturulacak belgenin nitelikli adı.

publicId

Harici alt kümenin genel betimleyicisi.

systemId

Harici alt kümenin sistem betimleyicisi.

Dönen Değerler

ownerDocument özelliği null olmak üzere yeni bir DOMDocumentType nesnesi döner. Başarısızlık durumunda false döner.

Hatalar/İstisnalar

DOM_NAMESPACE_ERR

belgeAdı ile belirlenen isim alanı ile ilgili bir hata varsa bu hata oluşur.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - Bir DTD ekleyerek bir belge oluşturmak

<?php

// Yeni bir DOMImplementation nesnesi oluşturalım
$imp = new DOMImplementation;

// Bir DOMDocumentType nesnesi oluşturalım
$dtd = $imp->createDocumentType('graph', '', 'graph.dtd');

// Bir DOMDocument nesnesi oluşturalım
$dom = $imp->createDocument("", "", $dtd);

// Diğer özellikleri tanımlayalım
$dom->encoding = 'UTF-8';
$dom->standalone = false;

// Boş bir eleman oluşturalım
$element = $dom->createElement('graph');

// Bir eleman ekleyelim
$dom->appendChild($element);

// Belgeyi çıktılayalım
echo $dom->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE graph SYSTEM "graph.dtd">
<graph/>

Ayrıca Bakınız

  • DOMImplementation::createDocument() - Belge elemanı belirtilen DOMDocument nesnesini oluşturur


DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar

  • « DOMImplementation::createDocumentType
  • DOMNamedNodeMap »
  • PHP Manual
  • DOMImplementation
  • DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar

DOMImplementation::hasFeature

(PHP 5, PHP 7, PHP 8)

DOMImplementation::hasFeature — DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar

Açıklama

public DOMImplementation::hasFeature(string $özellik, string $sürüm): bool

DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar.

Özelliklerin tam listesini DOM belirtiminin » Conformance bölümünde bulabilirsiniz.

Bağımsız Değişkenler

özellik

Varlığı sınanacak özellik.

sürüm

Varlığı sınanacak özelliğin sürümü. 2. seviyede bu değer 2.0 veya 1.0 olabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlevin duruk olarak çağrılması artık Error oluşturuyor. Evvelce E_DEPRECATED hatası verirdi.

Örnekler

Örnek 1 - DOM Gerçekleniminin özellikleri

<?php

$features = array(
'Core' => 'Çekirdek modülü',
'XML' => 'XML modülü',
'HTML' => 'HTML modülü',
'Views' => 'Görünüm modülü',
'Stylesheets' => 'XSLT modülü',
'CSS' => 'CSS modülü',
'CSS2' => 'CSS2 modülü',
'Events' => 'Olay modülü',
'UIEvents' => 'Kullanıcı arayüzü olay modülü',
'MouseEvents' => 'Fare olayları modülü',
'MutationEvents' => 'Başkalaşım olayları modülü',
'HTMLEvents' => 'HTML olayları modülü',
'Range' => 'Aralık modülü',
'Traversal' => 'Geçişli modül'
);

foreach ($features as $isim => $özellik) {
if (DOMImplementation::hasFeature($key, '2.0')) {
echo "$özellik var\n";
} else {
echo "$özellik yok\n";
}
}

?>

Ayrıca Bakınız

  • DOMNode::isSupported() - Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar


DOMNamedNodeMap sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMNamedNodeMap implements IteratorAggregate, Countable {
/* Özellikler */
public readonly int $length;
/* Yöntemler */
public count(): int
public getIterator(): Iterator
public getNamedItem(string $isim): ?DOMNode
public getNamedItemNS(?string $uri, string $isim): ?DOMNode
public item(int $indis): ?DOMNode
}

Özellikler

length

Ağaçtaki düğüm sayısı. Geçerli çocuk düğüm indisleri 0'dan length - 1'e (dahil) kadardır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Gerçeklenmemiş olan DOMNamedNodeMap::setNamedItem(), DOMNamedNodeMap::removeNamedItem(), DOMNamedNodeMap::setNamedItemNS() ve DOMNamedNodeMap::removeNamedItem() yöntemi kaldırıldı.
8.0.0 | DOMNamedNodeMap artık IteratorAggregate arayüzünü gerçekliyor. Evvelce, Traversable arayüzünü gerçekliyordu.

İçindekiler

  • DOMNamedNodeMap::count — Ağaçtaki düğüm sayısını döndürür
  • DOMNamedNodeMap::getIterator — Retrieve an external iterator
  • DOMNamedNodeMap::getNamedItem — İsmi belirtilen düğümü döndürür
  • DOMNamedNodeMap::getNamedItemNS — İsmi ve isim alanı belirtilen düğümü döndürür
  • DOMNamedNodeMap::item — İndisi belirtilen düğümü döndürür


Ağaçtaki düğüm sayısını döndürür

  • « DOMNamedNodeMap
  • DOMNamedNodeMap::getIterator »
  • PHP Manual
  • DOMNamedNodeMap
  • Ağaçtaki düğüm sayısını döndürür

DOMNamedNodeMap::count

(PHP 7 >= 7.2.0, PHP 8)

DOMNamedNodeMap::count — Ağaçtaki düğüm sayısını döndürür

Açıklama

public DOMNamedNodeMap::count(): int

Ağaçtaki düğüm sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

length özellliğinin de değeri olan, ağaçtaki düğüm sayısını döndürür.


Retrieve an external iterator

  • « DOMNamedNodeMap::count
  • DOMNamedNodeMap::getNamedItem »
  • PHP Manual
  • DOMNamedNodeMap
  • Retrieve an external iterator

DOMNamedNodeMap::getIterator

(PHP 8)

DOMNamedNodeMap::getIterator — Retrieve an external iterator

Açıklama

public DOMNamedNodeMap::getIterator(): Iterator

Returns an external iterator for the named node map.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Traversable veya Iterator arayüzünü gerçekleyen nesnenin bir örneğiyle döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir istisna (Exception) oluşur.

Ayrıca Bakınız

  • IteratorAggregate::getIterator() - Harici bir yineleyici ile döner


İsmi belirtilen düğümü döndürür

  • « DOMNamedNodeMap::getIterator
  • DOMNamedNodeMap::getNamedItemNS »
  • PHP Manual
  • DOMNamedNodeMap
  • İsmi belirtilen düğümü döndürür

DOMNamedNodeMap::getNamedItem

(PHP 5, PHP 7, PHP 8)

DOMNamedNodeMap::getNamedItem — İsmi belirtilen düğümü döndürür

Açıklama

public DOMNamedNodeMap::getNamedItem(string $isim): ?DOMNode

İsmi belirtilen düğümü döndürür.

Bağımsız Değişkenler

isim

Döndürülecek düğümün ismi.

Dönen Değerler

Belirtilen düğüm yoksa null varsa düğümü döndürür.

Ayrıca Bakınız

  • DOMNamedNodeMap::getNamedItemNS() - İsmi ve isim alanı belirtilen düğümü döndürür


İsmi ve isim alanı belirtilen düğümü döndürür

  • « DOMNamedNodeMap::getNamedItem
  • DOMNamedNodeMap::item »
  • PHP Manual
  • DOMNamedNodeMap
  • İsmi ve isim alanı belirtilen düğümü döndürür

DOMNamedNodeMap::getNamedItemNS

(PHP 5, PHP 7, PHP 8)

DOMNamedNodeMap::getNamedItemNS — İsmi ve isim alanı belirtilen düğümü döndürür

Açıklama

public DOMNamedNodeMap::getNamedItemNS(?string $uri, string $isim): ?DOMNode

İsmi ve isim alanı belirtilen düğümü döndürür.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

isim

önek:etiket biçeminde öznitelik ismi.

Dönen Değerler

Belirtilen düğüm yoksa null varsa düğümü döndürür.

Ayrıca Bakınız

  • DOMNamedNodeMap::getNamedItem() - İsmi belirtilen düğümü döndürür


İndisi belirtilen düğümü döndürür

  • « DOMNamedNodeMap::getNamedItemNS
  • DOMNode »
  • PHP Manual
  • DOMNamedNodeMap
  • İndisi belirtilen düğümü döndürür

DOMNamedNodeMap::item

(PHP 5, PHP 7, PHP 8)

DOMNamedNodeMap::item — İndisi belirtilen düğümü döndürür

Açıklama

public DOMNamedNodeMap::item(int $indis): ?DOMNode

DOMNamedNodeMap nesnesinin indis'inci düğümünü döndürür.

Bağımsız Değişkenler

indis

Eşlemdeki indis.

Dönen Değerler

Geçerli bir indis belirtilmemişse (indis düğüm sayısına eşit veya ondan büyükse) null, aksi takdirde listedeki indis'inci düğümü döndürür.


DOMNode sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMNode {
/* Özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public appendChild(DOMNode $yeni): DOMNode|false
public C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public cloneNode(bool $torunlar_dahil = false): DOMNode|false
public contains(DOMNode|DOMNameSpaceNode|null $other): bool
public getLineNo(): int
public getNodePath(): ?string
public getRootNode(array $options = null): DOMNode
public hasAttributes(): bool
public hasChildNodes(): bool
public insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public isDefaultNamespace(string $uri): bool
public isEqualNode(?DOMNode $otherNode): bool
public isSameNode(DOMNode $düğüm): bool
public isSupported(string $özellik, string $sürüm): bool
public lookupNamespaceURI(?string $önek): ?string
public lookupPrefix(string $uri): ?string
public normalize(): void
public removeChild(DOMNode $eski): DOMNode|false
public replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

nodeName

Geçerli düğüm türü için en doğru ismi döndürür.

nodeValue

Düğümün türüne bağlı olarak düğümün değeri.

Düğümün türüne bağlı olarak düğümün değeri. DOMElement düğümlerinin düğüm değeri null değil DOMNode::textContent'e eşittir.

nodeType

XML_xxx_NODE sabitlerinden biri olarak düğüm türü.

parentNode

Düğümün ebeveyni. Böyle bir düğüm yoksa null döner.

childNodes

Düğümün tüm çocuklarını içeren bir DOMNodeList nesnesi; düğüm çocuksuzsa boş bir DOMNodeList nesnesidir.

firstChild

Düğümün ilk çocuğu; yoksa null'dur.

lastChild

Düğümün son çocuğu; yoksa null'dur.

previousSibling

Bir önceki kardeş düğüm; yoksa null'dur.

nextSibling

Bir sonraki kardeş düğüm; yoksa null'dur.

attributes

Düğüm bir DOMElement nesnesi ise düğümün özniteliklerini içeren bir DOMNamedNodeMap nesnesi, yoksa null'dur.

ownerDocument

Düğümün ilişkili olduğu DOMDocument nesnesi. Düğümüm kendisi bir DOMDocument nesnesi ise null.

namespaceURI

Belirtilmişse düğümün isim alanını betimleyen adres; yoksa null'dur.

prefix

Düğümün isim alanı öneki.

localName

Düğümün nitelikli isminin yerel kısmı.

baseURI

Düğümün mutlak adresi; eğer gerçeklenim bir mutlak adres sağlayamıyorsa null'dur.

textContent

Düğümün kendinin, çocuk ve torunlarının metin içeriği.

Notlar

Bilginize:

DOM eklentisi UTF-8 kodlama kullanır. Diğer kodlamalarla çalışmak için mb_convert_encoding(), UConverter::transcode() veya iconv() kullanılabilir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Gerçeklenmemiş olan DOMNode::compareDocumentPosition(), DOMNode::isEqualNode(), DOMNode::getFeature(), DOMNode::setUserData() ve DOMNode::getUserData() yöntemi kaldırıldı.

Ayrıca Bakınız

  • » Node arayüzünün W3C belirtimi

İçindekiler

  • DOMNode::appendChild — Listenin sonuna yeni bir çocuk ekler
  • DOMNode::C14N — Düğümleri belgedeki yazımını bozmadan dizgeleştirir
  • DOMNode::C14NFile — Düğümleri belgedeki yazımını bozmadan dosyaya yazar
  • DOMNode::cloneNode — Düğümün bir kopyasını yapar
  • DOMNode::contains — Checks if node contains other node
  • DOMNode::getLineNo — Düğümün tanımlandığı satır numarasını döndürür
  • DOMNode::getNodePath — Düğümün XPath yolunu döndürür
  • DOMNode::getRootNode — Get root node
  • DOMNode::hasAttributes — Düğümün öznitelikleri var mı diye bakar
  • DOMNode::hasChildNodes — Düğümün çocuk düğümleri var mı diye bakar
  • DOMNode::insertBefore — Yeni çocuğu belirtilen çocuğun öncesine yerleştirir
  • DOMNode::isDefaultNamespace — Belirtilen isim alanının öntanımlı olup olmadığına bakar
  • DOMNode::isEqualNode — Checks that both nodes are equal
  • DOMNode::isSameNode — İki düğüm aynı mı diye bakar
  • DOMNode::isSupported — Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar
  • DOMNode::lookupNamespaceURI — İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür
  • DOMNode::lookupPrefix — Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür
  • DOMNode::normalize — Düğümü normalleştirir
  • DOMNode::removeChild — Listeden belirtilen çocuğu siler
  • DOMNode::replaceChild — Bir çocuk düğümü yenisi ile değiştirir


Listenin sonuna yeni bir çocuk ekler

  • « DOMNode
  • DOMNode::C14N »
  • PHP Manual
  • DOMNode
  • Listenin sonuna yeni bir çocuk ekler

DOMNode::appendChild

(PHP 5, PHP 7, PHP 8)

DOMNode::appendChild — Listenin sonuna yeni bir çocuk ekler

Açıklama

public DOMNode::appendChild(DOMNode $yeni): DOMNode|false

Listeye yeni bir çocuk ekler; liste yoksa oluşturulur. Çocuk DOMDocument::createElement(), DOMDocument::createTextNode() gibi yöntemlerle oluşturulabileceği gibi oluşturulmuş diğer düğümlerden biri de olabilir.

Mevcut bir düğüm, kullanıldığında taşınır.

Bağımsız Değişkenler

yeni

Listeye eklenecek çocuk.

Dönen Değerler

Eklenen düğüm veya hata durumunda false.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa veya düğümün önceki ebeveyni salt okunur olarak yerleştirilmişse bu hata oluşur.

DOM_HIERARCHY_REQUEST_ERR

Düğüm, yeni düğümün türündeki çocuk düğümlere izin vermeyen türde ise veya yeni düğüm, çocuğu olacağı düğümün ebeveyni veya atalarından biri ise bu hata oluşur.

DOM_WRONG_DOCUMENT_ERR

Eğer yeni düğüm, çocuğu olacağı düğümü oluşturan belgeden farklı bir belge tarafından oluşturulmuşsa bu hata oluşur.

Örnekler

Aşağıdaki örnekte yeni bir belgeye yeni bir eleman düğümü eklenmektedir.

Örnek 1 - Bir çocuk düğüm eklemek

<?php

$doc = new DOMDocument;

$node = $doc->createElement("para");
$newnode = $doc->appendChild($node);

echo $doc->saveXML();
?>

Örnek 2 - Çocuk ve torun düğümler

<?php

$doc = new DOMDocument;

$headNode = $doc->createElement("head");
$doc->appendChild($headNode);

$titleNode = $doc->createElement("title");
$headNode->appendChild($titleNode);

echo $doc->saveXML();
?>

Ayrıca Bakınız

  • DOMChildNode::after() - Adds nodes after the node
  • DOMNode::insertBefore() - Yeni çocuğu belirtilen çocuğun öncesine yerleştirir
  • DOMNode::removeChild() - Listeden belirtilen çocuğu siler
  • DOMNode::replaceChild() - Bir çocuk düğümü yenisi ile değiştirir


Düğümleri belgedeki yazımını bozmadan dizgeleştirir

  • « DOMNode::appendChild
  • DOMNode::C14NFile »
  • PHP Manual
  • DOMNode
  • Düğümleri belgedeki yazımını bozmadan dizgeleştirir

DOMNode::C14N

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMNode::C14N — Düğümleri belgedeki yazımını bozmadan dizgeleştirir

Açıklama

public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false

Düğümleri belgedeki yazımını bozmadan dizgeleştirir.

Bağımsız Değişkenler

özel

Sadece xpath ve/veya isim_alanları bağımsız değişkenleri ile belirtilen öneklerle eşleşen düğümlerin seçilmesi için true olmalıdır.

açıklamalı

true ise açıklamalar çıktıya dahil edilir.

xpath

Seçilecek düğümler için xpath önekleri dizisi.

isim_alanları

Seçilecek düğümler için isim alanları dizisi.

Dönen Değerler

Düğümleri belgedeki yazımını bozmadan dizge olarak döndürür, başarısızlık durumunda false döner

Ayrıca Bakınız

  • DOMNode::C14NFile() - Düğümleri belgedeki yazımını bozmadan dosyaya yazar


Düğümleri belgedeki yazımını bozmadan dosyaya yazar

  • « DOMNode::C14N
  • DOMNode::cloneNode »
  • PHP Manual
  • DOMNode
  • Düğümleri belgedeki yazımını bozmadan dosyaya yazar

DOMNode::C14NFile

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMNode::C14NFile — Düğümleri belgedeki yazımını bozmadan dosyaya yazar

Açıklama

public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false

Düğümleri belgedeki yazımını bozmadan dosyaya yazar.

Bağımsız Değişkenler

uri

Çıktının yazılacağı dosyanın yolu.

özel

Sadece xpath ve/veya isim_alanları bağımsız değişkenleri ile belirtilen öneklerle eşleşen düğümlerin seçilmesi için true olmalıdır.

açıklamalı

true ise açıklamalar çıktıya dahil edilir.

xpath

Seçilecek düğümler için xpath önekleri dizisi.

isim_alanları

Seçilecek düğümler için isim alanları dizisi.

Dönen Değerler

Normalde dosyaya yazılan bayt sayısı, başarısızlık durumunda false döner

Ayrıca Bakınız

  • DOMNode::C14N() - Düğümleri belgedeki yazımını bozmadan dizgeleştirir


Düğümün bir kopyasını yapar

  • « DOMNode::C14NFile
  • DOMNode::contains »
  • PHP Manual
  • DOMNode
  • Düğümün bir kopyasını yapar

DOMNode::cloneNode

(PHP 5, PHP 7, PHP 8)

DOMNode::cloneNode — Düğümün bir kopyasını yapar

Açıklama

public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false

Düğümün bir kopyasını oluşturur.

Bağımsız Değişkenler

torunlar_dahil

Tüm çocuk ve torunların da kopyalanıp kopyalanmayaçağı.

Dönen Değerler

Kopyalanan düğüm.


Checks if node contains other node

  • « DOMNode::cloneNode
  • DOMNode::getLineNo »
  • PHP Manual
  • DOMNode
  • Checks if node contains other node

DOMNode::contains

(PHP 8 >= 8.3.0)

DOMNode::contains — Checks if node contains other node

Açıklama

public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool

Checks if node contains other node.

Bağımsız Değişkenler

other

Node to be checked.

Dönen Değerler

Returns true if node contains other node, false otherwise.

Örnekler

Örnek 1 DOMNode::contains() example

<?php

$dom = new DOMDocument();
$dom->loadXML(<<<XML
<!DOCTYPE HTML>
<html>
<body>
<main>
<p>Hello, world!</p>
</main>
</body>
</html>
XML);

$xpath = new DOMXPath($dom);
$main = $xpath->query("//main")[0];

var_dump($dom->documentElement->contains($main));
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Düğümün tanımlandığı satır numarasını döndürür

  • « DOMNode::contains
  • DOMNode::getNodePath »
  • PHP Manual
  • DOMNode
  • Düğümün tanımlandığı satır numarasını döndürür

DOMNode::getLineNo

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DOMNode::getLineNo — Düğümün tanımlandığı satır numarasını döndürür

Açıklama

public DOMNode::getLineNo(): int

Düğümün tanımlandığı satırın numarasını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima düğümün tanımlandığı satırın numarası ile döner.

Örnekler

Örnek 1 - DOMNode::getLineNo() örneği

<?php
// Örnek için XML belge
$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<root>
<node />
</root>
XML;

// DOMDocument örneğini oluştur
$dom = new DOMDocument;

// XML belgeyi yükle
$dom->loadXML($xml);

// 'node' elemanını tanımlandığı satırın numarasını bas
echo '<node> elemanı ', $dom->getElementsByTagName('node')->item(0)->getLineNo()), ' numaralı satırda tanımlanmış';
?>

Yukarıdaki örneğin çıktısı:

<node> elemanı 3 numaralı satırda tanımlanmış


Düğümün XPath yolunu döndürür

  • « DOMNode::getLineNo
  • DOMNode::getRootNode »
  • PHP Manual
  • DOMNode
  • Düğümün XPath yolunu döndürür

DOMNode::getNodePath

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMNode::getNodePath — Düğümün XPath yolunu döndürür

Açıklama

public DOMNode::getNodePath(): ?string

Düğümün XPath yolunu döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Normalde düğümün XPath yolunu içeren dizge, hata durumnda null döner.

Örnekler

Örnek 1 - DOMNode::getNodePath() örneği

<?php
// DOMDocument örneğini oluştur
$dom = new DOMDocument;

// XML belgeyi yükle
$dom->loadXML('
<fruits>
<apples>
<apple>braeburn</apple>
<apple>granny smith</apple>
</apples>
<pears>
<pear>conference</pear>
</pears>
</fruits>
');

// Her eleman için XPath yolunu bas
foreach ($dom->getElementsByTagName('*') as $node) {
echo $node->getNodePath() . "\n";
}
?>

Yukarıdaki örneğin çıktısı:

/fruits
/fruits/apples
/fruits/apples/apple[1]
/fruits/apples/apple[2]
/fruits/pears
/fruits/pears/pear

Ayrıca Bakınız

  • DOMXPath


Get root node

  • « DOMNode::getNodePath
  • DOMNode::hasAttributes »
  • PHP Manual
  • DOMNode
  • Get root node

DOMNode::getRootNode

(PHP 8 >= 8.3.0)

DOMNode::getRootNode — Get root node

Açıklama

public DOMNode::getRootNode(array $options = null): DOMNode

Get root node.

Bağımsız Değişkenler

options

This parameter has no effect yet.

Dönen Değerler

Returns the root node.

Örnekler

Örnek 1 DOMNode::getRootNode() example

<?php

$dom = new DOMDocument();
$dom->loadXML('<?xml version="1.0"?><html><body/></html>');

var_dump($dom->documentElement->firstElementChild->getRootNode() === $dom);
?>

Yukarıdaki örneğin çıktısı:

bool(true)


Düğümün öznitelikleri var mı diye bakar

  • « DOMNode::getRootNode
  • DOMNode::hasChildNodes »
  • PHP Manual
  • DOMNode
  • Düğümün öznitelikleri var mı diye bakar

DOMNode::hasAttributes

(PHP 5, PHP 7, PHP 8)

DOMNode::hasAttributes — Düğümün öznitelikleri var mı diye bakar

Açıklama

public DOMNode::hasAttributes(): bool

Bakılan düğümün türü XML_ELEMENT_NODE ise ve öznitelikleri varsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMNode::hasChildNodes() - Düğümün çocuk düğümleri var mı diye bakar


Düğümün çocuk düğümleri var mı diye bakar

  • « DOMNode::hasAttributes
  • DOMNode::insertBefore »
  • PHP Manual
  • DOMNode
  • Düğümün çocuk düğümleri var mı diye bakar

DOMNode::hasChildNodes

(PHP 5, PHP 7, PHP 8)

DOMNode::hasChildNodes — Düğümün çocuk düğümleri var mı diye bakar

Açıklama

public DOMNode::hasChildNodes(): bool

Düğümün çocuk düğümleri varsa true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMNode::hasAttributes() - Düğümün öznitelikleri var mı diye bakar


Yeni çocuğu belirtilen çocuğun öncesine yerleştirir

  • « DOMNode::hasChildNodes
  • DOMNode::isDefaultNamespace »
  • PHP Manual
  • DOMNode
  • Yeni çocuğu belirtilen çocuğun öncesine yerleştirir

DOMNode::insertBefore

(PHP 5, PHP 7, PHP 8)

DOMNode::insertBefore — Yeni çocuğu belirtilen çocuğun öncesine yerleştirir

Açıklama

public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false

yeni düğümü mevcut düğümün hemen öncesine yerleştirir. Eklenen çocukta değişiklik yapmayı düşünüyorsanız dönen düğümü kullanın.

Bağımsız Değişkenler

yeni

Yeni çocuk düğüm.

mevcut

Mevcut çocuk düğüm. Belirtilmediği takdirde yeni düğüm listeye son çocuk olarak eklenir.

Dönen Değerler

Yerleştirilen düğüm veya hata durumunda false.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa veya düğümün önceki ebeveyni salt okunur olarak yerleştirilmişse bu hata oluşur.

DOM_HIERARCHY_REQUEST_ERR

Düğüm, yeni düğümün türündeki çocuk düğümlere izin vermeyen türde ise veya yeni düğüm, çocuğu olacağı düğümün ebeveyni veya atalarından biri ise bu hata oluşur.

DOM_WRONG_DOCUMENT_ERR

Eğer yeni düğüm, çocuğu olacağı düğümü oluşturan belgeden farklı bir belge tarafından oluşturulmuşsa bu hata oluşur.

DOM_NOT_FOUND

mevcut düğüm, bir çocuk düğüm değilse bu hata oluşur.

Ayrıca Bakınız

  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler


Belirtilen isim alanının öntanımlı olup olmadığına bakar

  • « DOMNode::insertBefore
  • DOMNode::isEqualNode »
  • PHP Manual
  • DOMNode
  • Belirtilen isim alanının öntanımlı olup olmadığına bakar

DOMNode::isDefaultNamespace

(PHP 5, PHP 7, PHP 8)

DOMNode::isDefaultNamespace — Belirtilen isim alanının öntanımlı olup olmadığına bakar

Açıklama

public DOMNode::isDefaultNamespace(string $uri): bool

İsim alanı betimleyicisi uri ile belirtilen isim alanının öntanımlı isim alanı olup olmadığına bakar.

Bağımsız Değişkenler

uri

Bakılacak isim alanını betimleyen adres.

Dönen Değerler

uri öntanımlı isim alanını betimliyorsa true aksi takdirde false döner.


Checks that both nodes are equal

  • « DOMNode::isDefaultNamespace
  • DOMNode::isSameNode »
  • PHP Manual
  • DOMNode
  • Checks that both nodes are equal

DOMNode::isEqualNode

(PHP 8 >= 8.3.0)

DOMNode::isEqualNode — Checks that both nodes are equal

Açıklama

public DOMNode::isEqualNode(?DOMNode $otherNode): bool

Checks that both nodes are equal.

Bağımsız Değişkenler

otherNode

The node.

Dönen Değerler

Returns true if both nodes are equal, false otherwise.

Örnekler

Örnek 1 DOMNode::isEqualNode() example

<?php

$dom1 = (new DOMDocument())->createElement('h1', 'Hello World!');
$dom2 = (new DOMDocument())->createElement('h1', 'Hello World!');

var_dump($dom1->isEqualNode($dom2));
?>

Yukarıdaki örneğin çıktısı:

bool(true)


İki düğüm aynı mı diye bakar

  • « DOMNode::isEqualNode
  • DOMNode::isSupported »
  • PHP Manual
  • DOMNode
  • İki düğüm aynı mı diye bakar

DOMNode::isSameNode

(PHP 5, PHP 7, PHP 8)

DOMNode::isSameNode — İki düğüm aynı mı diye bakar

Açıklama

public DOMNode::isSameNode(DOMNode $düğüm): bool

Düğüm, belirtilen düğümle aynı mı diye bakar. Karşılaştırma içeriği göre yapılmaz.

Bağımsız Değişkenler

düğüm

Karşılaştırılacak düğüm.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar

  • « DOMNode::isSameNode
  • DOMNode::lookupNamespaceURI »
  • PHP Manual
  • DOMNode
  • Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar

DOMNode::isSupported

(PHP 5, PHP 7, PHP 8)

DOMNode::isSupported — Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar

Açıklama

public DOMNode::isSupported(string $özellik, string $sürüm): bool

özellik özelliğinin sürüm sürümünün gerçeklenim tarafından desteklenip desteklenmediğine bakar.

Bağımsız Değişkenler

özellik

Sınanacak özellik. Özelliklerin listesi için DOMImplementation::hasFeature() yöntemine bakınız.

sürüm

Sınanacak özellik özelliğinin sürüm numarası.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • DOMImplementation::hasFeature() - DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar


İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür

  • « DOMNode::isSupported
  • DOMNode::lookupPrefix »
  • PHP Manual
  • DOMNode
  • İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür

DOMNode::lookupNamespaceURI

(PHP 5, PHP 7, PHP 8)

DOMNode::lookupNamespaceURI — İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür

Açıklama

public DOMNode::lookupNamespaceURI(?string $önek): ?string

İsim alanı öneki önek ile belirtilen düğümün isim alanı belirtecini döndürür.

Bağımsız Değişkenler

önek

Bakılan önek. null belirtilmişse yöntem öntanımlı isim alanı belirtecini döndürür (varsa).

Dönen Değerler

İsim alanı ile ilişkili belirteç ya da böyle bir şey yoksa null.

Ayrıca Bakınız

  • DOMNode::lookupPrefix() - Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür


Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür

  • « DOMNode::lookupNamespaceURI
  • DOMNode::normalize »
  • PHP Manual
  • DOMNode
  • Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür

DOMNode::lookupPrefix

(PHP 5, PHP 7, PHP 8)

DOMNode::lookupPrefix — Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür

Açıklama

public DOMNode::lookupPrefix(string $uri): ?string

İsim alanı betimleyicisi uri ile belirtilen isim alanı ile ilişkili düğümün isim alanı önekini döndürür.

Bağımsız Değişkenler

uri

İsim alanını betimleyen adres.

Dönen Değerler

İsim alanı öneki veya hata durumunda null.

Ayrıca Bakınız

  • DOMNode::lookupNamespaceUri() - İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür


Düğümü normalleştirir

  • « DOMNode::lookupPrefix
  • DOMNode::removeChild »
  • PHP Manual
  • DOMNode
  • Düğümü normalleştirir

DOMNode::normalize

(PHP 5, PHP 7, PHP 8)

DOMNode::normalize — Düğümü normalleştirir

Açıklama

public DOMNode::normalize(): void

Düğümün boş düğümleri kaldırır ve bunları komşu metin düğümlerine ve tüm çocuklarına katar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • » DOM Belirtimi
  • DOMDocument::normalizeDocument() - Belgeyi normalleştirir


Listeden belirtilen çocuğu siler

  • « DOMNode::normalize
  • DOMNode::replaceChild »
  • PHP Manual
  • DOMNode
  • Listeden belirtilen çocuğu siler

DOMNode::removeChild

(PHP 5, PHP 7, PHP 8)

DOMNode::removeChild — Listeden belirtilen çocuğu siler

Açıklama

public DOMNode::removeChild(DOMNode $eski): DOMNode|false

Çocuk listesinden belirtilen çocuğu siler.

Bağımsız Değişkenler

eski

Silinecek çocuk.

Dönen Değerler

Belirtilen çocuk silinebilmişse silinen çocuğu yoksa %false; döndürür.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa oluşur.

DOM_NOT_FOUND

eski düğüm listedeki çocuklardan biri değilse oluşur.

Örnekler

- Aşağıdaki örnekte, XML belgedeki chapter elemanı silinmektedir.

Örnek 1 Removing a child

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$kitap = $doc->documentElement;

// chapter elemanını döndürüp $kitaptan siliyoruz
$chapter = $kitap->getElementsByTagName('chapter')->item(0);
$eskisi = $kitap->removeChild($chapter);

echo $doc->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="listing">
 <title>My lists</title>

</book>

Ayrıca Bakınız

  • DOMChildNode::remove() - Removes the node
  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMNode::replaceChild() - Bir çocuk düğümü yenisi ile değiştirir


Bir çocuk düğümü yenisi ile değiştirir

  • « DOMNode::removeChild
  • DOMNodeList »
  • PHP Manual
  • DOMNode
  • Bir çocuk düğümü yenisi ile değiştirir

DOMNode::replaceChild

(PHP 5, PHP 7, PHP 8)

DOMNode::replaceChild — Bir çocuk düğümü yenisi ile değiştirir

Açıklama

public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false

Düğümün eski çocuk düğümünün yerine yeni düğümünü yerleştirir. Yeni düğüm zaten bir çocuk düğümse ikinci kez eklenmez. Yer değiştirme başarılı olursa eski düğüm döndürülür.

Bağımsız Değişkenler

yeni

Yeni düğüm. Hedef belgenin bir üyesi olmalıdır. Yani, DOMDocument->createXXX() yöntemlerinden biri ile oluşturulmuş veya DOMDocument::importNode() ile belgeye dahil edilmiş olmalıdır.

eski

Eski düğüm.

Dönen Değerler

Bir hata oluşursa false yoksa eski düğüm.

Hatalar/İstisnalar

DOM_NO_MODIFICATION_ALLOWED_ERR

Düğüm salt okunursa veya düğümün önceki ebeveyni salt okunur olarak yerleştirilmişse bu hata oluşur.

DOM_HIERARCHY_REQUEST_ERR

Düğüm, yeni düğümün türündeki çocuk düğümlere izin vermeyen türde ise veya yeni düğüm, çocuğu olacağı düğümün ebeveyni veya atalarından biri ise bu hata oluşur.

DOM_WRONG_DOCUMENT_ERR

Eğer yeni düğüm, çocuğu olacağı düğümü oluşturan belgeden farklı bir belge tarafından oluşturulmuşsa bu hata oluşur.

DOM_NOT_FOUND

eski düğüm, bir çocuk düğüm değilse bu hata oluşur.

Ayrıca Bakınız

  • DOMChildNode::replaceWith() - Replaces the node with new nodes
  • DOMNode::appendChild() - Listenin sonuna yeni bir çocuk ekler
  • DOMNode::removeChild() - Listeden belirtilen çocuğu siler


DOMNodeList sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMNodeList implements IteratorAggregate, Countable {
/* Özellikler */
public readonly int $length;
/* Yöntemler */
public count(): int
public getIterator(): Iterator
public item(int $index): DOMNode|DOMNameSpaceNode|null
}

Özellikler

length

Listedeki düğüm sayısı. Geçerli çocuk düğümlerin indisleri 0'dan başlar, length - 1'de biter.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | DOMNodeList artık IteratorAggregate arayüzünü gerçekliyor. Evvelce, Traversable arayüzünü gerçekliyordu.
7.2.0 | length özelliğinin değerini döndüren Countable arayüzü gerçeklendi.

Ayrıca Bakınız

  • » NodeList'in W3C belirtimi

İçindekiler

  • DOMNodeList::count — Listedeki düğüm sayısını döndürür
  • DOMNodeList::getIterator — Retrieve an external iterator
  • DOMNodelist::item — İndisi belirtilen düğümü döndürür


Listedeki düğüm sayısını döndürür

  • « DOMNodeList
  • DOMNodeList::getIterator »
  • PHP Manual
  • DOMNodeList
  • Listedeki düğüm sayısını döndürür

DOMNodeList::count

(PHP 7 >= 7.2.0, PHP 8)

DOMNodeList::count — Listedeki düğüm sayısını döndürür

Açıklama

public DOMNodeList::count(): int

Listedeki düğüm sayısını döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Aynı zamanda length özelliğinin de değeri olan, listedeki düğüm sayısını döndürür.


Retrieve an external iterator

  • « DOMNodeList::count
  • DOMNodelist::item »
  • PHP Manual
  • DOMNodeList
  • Retrieve an external iterator

DOMNodeList::getIterator

(PHP 8)

DOMNodeList::getIterator — Retrieve an external iterator

Açıklama

public DOMNodeList::getIterator(): Iterator

Returns an external iterator for the node list.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Traversable veya Iterator arayüzünü gerçekleyen nesnenin bir örneğiyle döner.

Hatalar/İstisnalar

Başarısızlık durumunda bir istisna (Exception) oluşur.

Ayrıca Bakınız

  • IteratorAggregate::getIterator() - Harici bir yineleyici ile döner


İndisi belirtilen düğümü döndürür

  • « DOMNodeList::getIterator
  • DOMNotation »
  • PHP Manual
  • DOMNodeList
  • İndisi belirtilen düğümü döndürür

DOMNodelist::item

(PHP 5, PHP 7, PHP 8)

DOMNodelist::item — İndisi belirtilen düğümü döndürür

Açıklama

public DOMNodeList::item(int $index): DOMNode|DOMNameSpaceNode|null

DOMNodeList nesnesi içindeki index'i belirtilen düğümü döndürür.

İpucu

Listedeki düğüm sayısını öğrenmek için DOMNodeList nesnesinin length özelliğini kullanın.

Bağımsız Değişkenler

index

İstenen düğümün düğüm listesindeki indisi.

Dönen Değerler

DOMNodeList nesnesindeki index'inci düğümü döndürür; belirtilen indis geçersizse null döner.

Örnekler

Örnek 1 - Bir tablonun tüm girdilerini çıktılamak

<?php

$doc = new DOMDocument;
$doc->load('book.xml');

$items = $doc->getElementsByTagName('entry');

for ($i = 0; $i < $items->length; $i++) {
echo $items->item($i)->nodeValue . "\n";
}

?>

for yerine foreach de kullanılabilirdi:

<?php

foreach ($items as $item) {
echo $item->nodeValue . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

Title
Author
Language
ISBN
The Grapes of Wrath
John Steinbeck
en
0140186409
The Pearl
John Steinbeck
en
014017737X
Samarcande
Amine Maalouf
fr
2253051209


DOMNotation sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMNotation extends DOMNode {
/* Özellikler */
public readonly string $publicId;
public readonly string $systemId;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

publicId

Genel betimleyici.

systemId

Sistem betimleyicisi.


The DOMParentNode interface

(PHP 8)

Arayüz Sözdizimi

interface DOMParentNode {
/* Yöntemler */
public append(DOMNode|string ...$nodes): void
public prepend(DOMNode|string ...$nodes): void
public replaceChildren(DOMNode|string ...$nodes): void
}

İçindekiler

  • DOMParentNode::append — Appends nodes after the last child node
  • DOMParentNode::prepend — Prepends nodes before the first child node
  • DOMParentNode::replaceChildren — Replace children in node


Appends nodes after the last child node

  • « DOMParentNode
  • DOMParentNode::prepend »
  • PHP Manual
  • DOMParentNode
  • Appends nodes after the last child node

DOMParentNode::append

(PHP 8)

DOMParentNode::append — Appends nodes after the last child node

Açıklama

public DOMParentNode::append(DOMNode|string ...$nodes): void

Appends one or many nodes to the list of children after the last child node.

Bağımsız Değişkenler

nodes

The nodes to append. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Ayrıca Bakınız

  • DOMParentNode::prepend() - Prepends nodes before the first child node


Prepends nodes before the first child node

  • « DOMParentNode::append
  • DOMParentNode::replaceChildren »
  • PHP Manual
  • DOMParentNode
  • Prepends nodes before the first child node

DOMParentNode::prepend

(PHP 8)

DOMParentNode::prepend — Prepends nodes before the first child node

Açıklama

public DOMParentNode::prepend(DOMNode|string ...$nodes): void

Prepends one or many nodes to the list of children before the first child node.

Bağımsız Değişkenler

nodes

The nodes to prepend. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Ayrıca Bakınız

  • DOMParentNode::append() - Appends nodes after the last child node


Replace children in node

  • « DOMParentNode::prepend
  • DOMProcessingInstruction »
  • PHP Manual
  • DOMParentNode
  • Replace children in node

DOMParentNode::replaceChildren

(PHP 8 >= 8.3.0)

DOMParentNode::replaceChildren — Replace children in node

Açıklama

public DOMParentNode::replaceChildren(DOMNode|string ...$nodes): void

Replace children in node.

Bağımsız Değişkenler

nodes

The nodes replacing the children. Strings are automatically converted to text nodes.

Dönen Değerler

Hiçbir değer dönmez.

Hatalar/İstisnalar

DOM_HIERARCHY_REQUEST_ERR

Raised if this node is of a type that does not allow children of the type of one of the passed nodes, or if the node to put in is one of this node's ancestors or this node itself.

DOM_WRONG_DOCUMENT_ERR

Raised if one of the passed nodes was created from a different document than the one that created this node.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | Calling this method on a node without an owner document now works. Previously this threw a DOMException with code DOM_HIERARCHY_REQUEST_ERR.

Örnekler

Örnek 1 DOMParentNode::replaceChildren() example

<?php

$dom = new DOMDocument();
$dom->loadHTML('<!DOCTYPE HTML><html><p>hi</p> test <p>hi2</p></html>');

$dom->documentElement->replaceChildren('foo', $dom->createElement('p'), 'bar');
echo $dom->saveXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE HTML>
<html>foo<p/>bar</html>


DOMProcessingInstruction sınıfı

(PHP 5, PHP 7, PHP 8)

Sınıf Sözdizimi

class DOMProcessingInstruction extends DOMNode {
/* Özellikler */
public readonly string $target;
public string $data;
/* Miras alınan özellikler */
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $name, string $value = "")
/* Miras alınan yöntemler */
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

target

Hedef.

data

Veri.

İçindekiler

  • DOMProcessingInstruction::__construct — Yeni bir DOMProcessingInstruction nesnesi oluşturur


Yeni bir DOMProcessingInstruction nesnesi oluşturur

  • « DOMProcessingInstruction
  • DOMText »
  • PHP Manual
  • DOMProcessingInstruction
  • Yeni bir DOMProcessingInstruction nesnesi oluşturur

DOMProcessingInstruction::__construct

(PHP 5, PHP 7, PHP 8)

DOMProcessingInstruction::__construct — Yeni bir DOMProcessingInstruction nesnesi oluşturur

Açıklama

public DOMProcessingInstruction::__construct(string $name, string $value = "")

Yeni bir DOMProcessingInstruction nesnesi oluşturur. Bu nesne salt okunurdur. Bir belgeye eklenebilir, fakat düğüm bir belge ile ilişkilendirilene kadar düğüme yeni düğümler eklenemez. Yazılabilir bir düğüm oluşturmak için DOMDocument::createProcessingInstruction() yöntemini kullanın.

Bağımsız Değişkenler

name

İşlem komutunun etiket ismi.

değer

İşlem komutunun değeri.

Örnekler

Örnek 1 - Yeni bir DOMProcessingInstruction oluşturmak

<?php

$dom = new DOMDocument('1.0', 'UTF-8');
$html = $dom->appendChild(new DOMElement('html'));
$body = $html->appendChild(new DOMElement('body'));
$pinode = new DOMProcessingInstruction('php', 'echo "Merhaba Arz"; ');
$body->appendChild($pinode);
echo $dom->saveXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="UTF-8"?>
<html><body><?php echo "Merhaba Arz"; ?></body></html>

Ayrıca Bakınız

  • DOMDocument::createProcessingInstruction() - Yeni bir işlem komutu düğümü oluşturur


DOMText sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

DOMText sınıfı DOMCharacterData sınıfından türetilir ve bir DOMElement veya DOMAttr düğümünün metin içeriğini temsil eder.

Sınıf Sözdizimi

class DOMText extends DOMCharacterData {
/* Özellikler */
public readonly string $wholetext;
/* Miras alınan özellikler */
public string $data;
public readonly int $length;
public readonly ?DOMElement $previousElementSibling;
public readonly ?DOMElement $nextElementSibling;
public readonly ?string $nodeName;
public string $nodeValue;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public ?string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
public string $textContent;
/* Yöntemler */
public __construct(string $data = "")
public isElementContentWhitespace(): bool
public isWhitespaceInElementContent(): bool
public splitText(int $offset): DOMText|false
/* Miras alınan yöntemler */
public DOMCharacterData::after(DOMNode|string ...$nodes): void
public DOMCharacterData::appendData(string $data): true
public DOMCharacterData::before(DOMNode|string ...$nodes): void
public DOMCharacterData::deleteData(int $offset, int $count): bool
public DOMCharacterData::insertData(int $offset, string $data): bool
public DOMCharacterData::remove(): void
public DOMCharacterData::replaceData(int $offset, int $count, string $data): bool
public DOMCharacterData::replaceWith(DOMNode|string ...$nodes): void
public DOMCharacterData::substringData(int $offset, int $count): string|false
public DOMNode::appendChild(DOMNode $yeni): DOMNode|false
public DOMNode::C14N(
bool $özel = false,
bool $aAçıklamalı = false,
?array $xpath = null,
?array $isim_alanları = null
): string|false
public DOMNode::C14NFile(
string $uri,
bool $exclusive = false,
bool $withComments = false,
?array $xpath = null,
?array $nsPrefixes = null
): int|false
public DOMNode::cloneNode(bool $torunlar_dahil = false): DOMNode|false
public DOMNode::contains(DOMNode|DOMNameSpaceNode|null $other): bool
public DOMNode::getLineNo(): int
public DOMNode::getNodePath(): ?string
public DOMNode::getRootNode(array $options = null): DOMNode
public DOMNode::hasAttributes(): bool
public DOMNode::hasChildNodes(): bool
public DOMNode::insertBefore(DOMNode $yeni, ?DOMNode $mevcut = null): DOMNode|false
public DOMNode::isDefaultNamespace(string $uri): bool
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $düğüm): bool
public DOMNode::isSupported(string $özellik, string $sürüm): bool
public DOMNode::lookupNamespaceURI(?string $önek): ?string
public DOMNode::lookupPrefix(string $uri): ?string
public DOMNode::normalize(): void
public DOMNode::removeChild(DOMNode $eski): DOMNode|false
public DOMNode::replaceChild(DOMNode $yeni, DOMNode $eski): DOMNode|false
}

Özellikler

wholetext

Mantıken birbirine komşu metin düğümlerinin (eleman, açıklama veya işlem komutları ile ayrılmamış) tüm metinlerini içerir.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Gerçeklenmemiş olan DOMText::replaceWholeText() yöntemi kaldırıldı.

İçindekiler

  • DOMText::__construct — Yeni bir DOMText nesnesi oluşturur
  • DOMText::isElementContentWhitespace — Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür
  • DOMText::isWhitespaceInElementContent — Düğümün boşluk içerip içermediğini belirtir
  • DOMText::splitText — Düğümü belirtilen konumda iki düğüme böler


Yeni bir DOMText nesnesi oluşturur

  • « DOMText
  • DOMText::isElementContentWhitespace »
  • PHP Manual
  • DOMText
  • Yeni bir DOMText nesnesi oluşturur

DOMText::__construct

(PHP 5, PHP 7, PHP 8)

DOMText::__construct — Yeni bir DOMText nesnesi oluşturur

Açıklama

public DOMText::__construct(string $data = "")

Yeni bir DOMText nesnesi oluşturur.

Bağımsız Değişkenler

data

Metin düğümünün değeri. Belirtilmezse boş bir metin düğümü oluşturulur.

Örnekler

Örnek 1 - Yeni bir DOMText nesnesi oluşturmak

<?php

$dom = new DOMDocument('1.0', 'utf-8');
$element = $dom->appendChild(new DOMElement('root'));
$text = $element->appendChild(new DOMText('kök değer'));
echo $dom->saveXML();
/* çıktısı:
<?xml version="1.0" encoding="utf-8"?><root>kök değer</root> */

?>

Ayrıca Bakınız

  • DOMDocument::createTextNode() - Yeni bir metin düğümü oluşturur


Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür

  • « DOMText::__construct
  • DOMText::isWhitespaceInElementContent »
  • PHP Manual
  • DOMText
  • Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür

DOMText::isElementContentWhitespace

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

DOMText::isElementContentWhitespace — Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür

Açıklama

public DOMText::isElementContentWhitespace(): bool

Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Düğümün boşluk içerip içermediğini belirtir

  • « DOMText::isElementContentWhitespace
  • DOMText::splitText »
  • PHP Manual
  • DOMText
  • Düğümün boşluk içerip içermediğini belirtir

DOMText::isWhitespaceInElementContent

(PHP 5, PHP 7, PHP 8)

DOMText::isWhitespaceInElementContent — Düğümün boşluk içerip içermediğini belirtir

Açıklama

public DOMText::isWhitespaceInElementContent(): bool

Düğümün sadece boşluk karakterlerinden oluşup oluşmadığını belirler. Metin düğümünün boşluk içerip içermediği belgenin yüklenmesi sırasında saptanır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Belge sıfır (belge boşsa) veya daha fazla boşluk karakteri içeriyor, başka bir şey içermiyorsa true aksi takdirde false döner.


Düğümü belirtilen konumda iki düğüme böler

  • « DOMText::isWhitespaceInElementContent
  • DOMXPath »
  • PHP Manual
  • DOMText
  • Düğümü belirtilen konumda iki düğüme böler

DOMText::splitText

(PHP 5, PHP 7, PHP 8)

DOMText::splitText — Düğümü belirtilen konumda iki düğüme böler

Açıklama

public DOMText::splitText(int $offset): DOMText|false

Düğümü offset ile belirtilen konuma göre iki düğüme böler ve iki düğümü kardeş düğümler haline getirir.

Bölünme sonrası, düğüm offset konumuna kadar olan parçayı içerir. Düğümün bir ebeveyni varsa yeni düğüm, sonraki kardeş düğüm olarak eklenir. Eğer offset düğümün uzunluğuna eşitse kardeş düğüm boş olur.

Bağımsız Değişkenler

offset

Bölme yeri. İlk konum 0'dır.

Dönen Değerler

offset konumundan sonraki parçayı içeren yeni bir düğüm döner.


DOMXPath sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

XPath 1.0 desteklenir.

Sınıf Sözdizimi

class DOMXPath {
/* Özellikler */
public readonly DOMDocument $document;
public bool $registerNodeNamespaces;
/* Yöntemler */
public __construct(DOMDocument $document, bool $registerNodeNS = true)
public evaluate(string $ifade, ?DOMNode $bağlamsal_düğüm = null, bool $kaydet = true): mixed
public query(string $ifade, ?DOMNode $bağlamsal_düğüm = null, bool $kaydet = true): DOMNodeList
public registerNamespace(string $prefix, string $namespace): bool
public registerPhpFunctions(string|array|null $sınırla = null): void
}

Özellikler

document

Belge.

registerNodeNamespaces

true atandığında, düğümdeki isim alanları kayıt altına alınır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | registerNodeNamespaces özelliği eklendi.

İçindekiler

  • DOMXPath::__construct — Yeni bir DOMXPath nesnesi oluşturur
  • DOMXPath::evaluate — Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir
  • DOMXPath::query — Belirtilen XPath ifadesini değerlendirir
  • DOMXPath::registerNamespace — Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir
  • DOMXPath::registerPhpFunctions — PHP işlevlerini XPath ifadelerinde kullanılabilir yapar


Yeni bir DOMXPath nesnesi oluşturur

  • « DOMXPath
  • DOMXPath::evaluate »
  • PHP Manual
  • DOMXPath
  • Yeni bir DOMXPath nesnesi oluşturur

DOMXPath::__construct

(PHP 5, PHP 7, PHP 8)

DOMXPath::__construct — Yeni bir DOMXPath nesnesi oluşturur

Açıklama

public DOMXPath::__construct(DOMDocument $document, bool $registerNodeNS = true)

Yeni bir DOMXPath nesnesi oluşturur.

Bağımsız Değişkenler

document

DOMXPath ile ilişkili DOMDocument nesnesi.

registerNodeNS


Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir

  • « DOMXPath::__construct
  • DOMXPath::query »
  • PHP Manual
  • DOMXPath
  • Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir

DOMXPath::evaluate

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

DOMXPath::evaluate — Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir

Açıklama

public DOMXPath::evaluate(string $ifade, ?DOMNode $bağlamsal_düğüm = null, bool $kaydet = true): mixed

ifade ile belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir.

Bağımsız Değişkenler

ifade

Değerlenderelecek XPath ifadesi.

bağlamsal_düğüm

Seçimlik olarak, göreli XPath sorguları yapmak içindir. Öntanımlı olarak sorgular kök elemana göre çözümlenir.

kaydet

Seçimlik kaydet bağlamsal düğümün otomatik kütük kaydını önlemek için kullanılabilir.

Dönen Değerler

Mümkünse sonucu bir dizge orarak döndürür, değilse belirtilen XPath ifadesi ile eşleşen tüm düğümleri içeren bir DOMNodeList nesnesi döner.

ifade bozuksa ya da bağlamsal_düğüm geçersizse, DOMXPath::evaluate() false döndürür.

Örnekler

Örnek 1 - Tüm İngilizce kitapların sayısını döndürmek

<?php

$doc = new DOMDocument;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// sorgumuzu tbody düğümüne göre yapalım
$query = 'count(row/entry[. = "en"])';

$entries = $xpath->evaluate($query, $tbody);
echo "$entries İngilizce kitap var.\n";

?>

Yukarıdaki örneğin çıktısı:

2 İngilizce kitap var.

Ayrıca Bakınız

  • DOMXPath::query() - Belirtilen XPath ifadesini değerlendirir


Belirtilen XPath ifadesini değerlendirir

  • « DOMXPath::evaluate
  • DOMXPath::registerNamespace »
  • PHP Manual
  • DOMXPath
  • Belirtilen XPath ifadesini değerlendirir

DOMXPath::query

(PHP 5, PHP 7, PHP 8)

DOMXPath::query — Belirtilen XPath ifadesini değerlendirir

Açıklama

public DOMXPath::query(string $ifade, ?DOMNode $bağlamsal_düğüm = null, bool $kaydet = true): DOMNodeList

Belirtilen XPath ifade'sini çözümler.

Bağımsız Değişkenler

ifade

Değerlendirilecek XPath ifadesi.

bağlamsal_düğüm

Seçimlik olarak, göreli XPath sorguları yapmak içindir. Öntanımlı olarak sorgular kök elemana göre çözümlenir.

kaydet

Seçimlik kaydet bağlamsal düğümün otomatik kütük kaydını önlemek için kullanılabilir.

Dönen Değerler

Belirtilen XPath ifade'si ile eşleşen tüm düğümleri içeren bir DOMNodeList nesnesi döner. Hiçbir eşleşme olmamışsa boş bir DOMNodeList nesnesi döner.

ifade bozuksa ya da bağlamsal_düğüm geçersizse, DOMXPath::evaluate() false döndürür.

Örnekler

Örnek 1 - Tüm İngilizce kitapları listelemek

<?php

$doc = new DOMDocument;

// Fazladan boşlukları korumak istemiyoruz
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// Sorguyu kök elemandan başlatıyoruz
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';

$entries = $xpath->query($query);

foreach ($entries as $entry) {
echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
" by {$entry->previousSibling->nodeValue}\n";
}
?>

Yukarıdaki örneğin çıktısı:

Found The Grapes of Wrath, by John Steinbeck
Found The Pearl, by John Steinbeck

İfademizi kısaltmak için bağlamsal_düğüm bağımsız değişkenini kullanabilirdik:

<?php

$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;

$doc->load('book.xml');

$xpath = new DOMXPath($doc);

$tbody = $doc->getElementsByTagName('tbody')->item(0);

// Sorguyu tbody düğümüne göre yapalım
$query = 'row/entry[. = "en"]';

$entries = $xpath->query($query, $tbody);

foreach ($entries as $entry) {
echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
" by {$entry->previousSibling->nodeValue}\n";
}
?>

Ayrıca Bakınız

  • DOMXPath::evaluate() - Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir


Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir

  • « DOMXPath::query
  • DOMXPath::registerPhpFunctions »
  • PHP Manual
  • DOMXPath
  • Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir

DOMXPath::registerNamespace

(PHP 5, PHP 7, PHP 8)

DOMXPath::registerNamespace — Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir

Açıklama

public DOMXPath::registerNamespace(string $prefix, string $namespace): bool

prefix ve namespace ile belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir.

Bağımsız Değişkenler

prefix

İsim alanı öneki.

namespace

İsim alanını betimleyen adres.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


PHP işlevlerini XPath ifadelerinde kullanılabilir yapar

  • « DOMXPath::registerNamespace
  • DOM İşlevleri »
  • PHP Manual
  • DOMXPath
  • PHP işlevlerini XPath ifadelerinde kullanılabilir yapar

DOMXPath::registerPhpFunctions

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

DOMXPath::registerPhpFunctions — PHP işlevlerini XPath ifadelerinde kullanılabilir yapar

Açıklama

public DOMXPath::registerPhpFunctions(string|array|null $sınırla = null): void

Bu yöntem PHP işlevlerinin XPath ifadelerinde kullanılabilme yeteneğini etkinleştirir.

Bağımsız Değişkenler

sınırla

XPath ifadelerinde kullanmak üzere sadece belli işlevlere izin vermek için kullanılır.

Ya bir dizge (işlev ismi) ya da işlev isimlerini içeren bir dizi olabilir.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Bu örneklerde aşağıda içeriği verlen book.xml dosyası kullanılmıştır:

Örnek 1 book.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <title>PHP Basics</title>
  <author>Jim Smith</author>
  <author>Jane Smith</author>
 </book>
 <book>
  <title>PHP Secrets</title>
  <author>Jenny Smythe</author>
 </book>
 <book>
  <title>XML basics</title>
  <author>Joe Black</author>
 </book>
</books>

Örnek 2 - DOMXPath::registerPHPFunctions() ve php:functionString kullanımı

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// php: isim alanını tanıt (gerekli)
$xpath->registerNamespace("php", "http://php.net/xpath");

// PHP işlevlerini tanıt (sınırlama yok)
$xpath->registerPHPFunctions();

// substr işlevini book/title üzerinde kullan
$nodes = $xpath->query('//book[php:functionString("substr", title, 0, 3) = "PHP"]');

echo "'PHP' ile başlayan {$nodes->length} kitap bulundu:\n";
foreach ($nodes as $node) {
$title = $node->getElementsByTagName("title")->item(0)->nodeValue;
$author = $node->getElementsByTagName("author")->item(0)->nodeValue;
echo "$author tarafından yazılan '$title'\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

'PHP' ile başlayan 2 kitap bulundu:
Jim Smith tarafından yazılan 'PHP Basics'
Jenny Smythe tarafından yazılan 'PHP Secrets'

Örnek 3 - DOMXPath::registerPHPFunctions() ve php:function kullanımı

<?php
$doc = new DOMDocument;
$doc->load('book.xml');

$xpath = new DOMXPath($doc);

// php: isim alanını tanıt (gerekli)
$xpath->registerNamespace("php", "http://php.net/xpath");

// PHP işlevlerini tanıt (sadece birden_fazla işlevi)
$xpath->registerPHPFunctions("birden_fazla");

function birden_fazla($nodes) {
// Bir yazardan fazla varsa true dönsün
return count($nodes) > 1;
}
// Birden fazla yazarlı kitapları ayır
$books = $xpath->query('//book[php:function("birden_fazla", author)]');

echo "Birden fazla yazarlı kitaplar:\n";
foreach ($books as $book) {
echo $book->getElementsByTagName("title")->item(0)->nodeValue . "\n";
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Birden fazla yazarlı kitaplar:
PHP Basics

Ayrıca Bakınız

  • DOMXPath::registerNamespace() - Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir
  • DOMXPath::query() - Belirtilen XPath ifadesini değerlendirir
  • DOMXPath::evaluate() - Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir


DOM İşlevleri

İçindekiler

  • dom_import_simplexml — Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür


Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür

  • « DOM İşlevleri
  • libxml »
  • PHP Manual
  • DOM İşlevleri
  • Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür

dom_import_simplexml

(PHP 5, PHP 7, PHP 8)

dom_import_simplexml — Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür

Açıklama

dom_import_simplexml(object $node): ?DOMElement

Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür. Bu yeni nesne doğal bir DOMElement düğümü olarak kullanılabilir.

Bağımsız Değişkenler

node

Bir SimpleXMLElement düğümü.

Dönen Değerler

DOMElement düğümünü ekler.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev başarısızlık durumunda artık null döndürmüyor.

Örnekler

Örnek 1 - dom_import_simplexml() ile DOM'a SimpleXML ithali

<?php

$sxe = simplexml_load_string('<books><book><title>blah</title></book></books>');

if ($sxe === false) {
echo 'Belge çözümlenirken hata oluştu ';
exit;
}

$dom_sxe = dom_import_simplexml($sxe);
if (!$dom_sxe) {
echo 'XML dönüşümünde hata oluştu ';
exit;
}

$dom = new DOMDocument('1.0');
$dom_sxe = $dom->importNode($dom_sxe, true);
$dom_sxe = $dom->appendChild($dom_sxe);

echo $dom->saveXML();

?>

Ayrıca Bakınız

  • simplexml_import_dom() - Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür


libxml

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • PHP >= 7.4 sürümleri için kurulum
    • PHP < 7.4 sürümleri için kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • libXMLError — libXMLError sınıfı
  • libxml İşlevleri
    • libxml_clear_errors — libxml hata tamponunu temizler
    • libxml_disable_entity_loader — Harici öğeleri yükleme yeteneğini iptal eder
    • libxml_get_errors — Hataları içeren bir dizi döndürür
    • libxml_get_external_entity_loader — Get the current external entity loader
    • libxml_get_last_error — libxml'den son hatayı döndürür
    • libxml_set_external_entity_loader — Öntanımlı harici öğe yükleyiciyi değiştirir
    • libxml_set_streams_context — Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler
    • libxml_use_internal_errors — libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar


Giriş

Bu işlevler ve sabitler PHP 5.1.0'dan beri kullanılabilmekte olup, bu eklenti ile ilgili yerleşik eklentiler şunlardır: SimpleXML, SOAP, WDDX, XSL, XML, XMLReader, XMLRPC ve XMLWriter.


Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • PHP >= 7.4 sürümleri için kurulum
  • PHP < 7.4 sürümleri için kurulum
  • Çalışma Anı Yapılandırması
  • Özkaynak Türleri


  • « Yapılandırma/Kurulum
  • PHP >= 7.4 sürümleri için kurulum »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Gereksinimler

Gereksinimler

Bu eklenti PHP 8.0 ve sonrasında » libxml >= 2.9.0, PHP 8.0 öncesinde ise libxml >= 2.6.0 gerektirir.


PHP >= 7.4 sürümleri için kurulum

libxml eklentisi ön tanımlı olarak etkindir, ancak --without-libxml seçeneği ile iptal edilebilir.

libxml2 için kullanılacak doğru kütüphane dosyası, başlık dosyaları ve derleme seçeneklerini belirlemek için PHP, pkg-config kullanır. Doğru libxml2 sürümünün seçildiğinden emin olmak için yapılandırma betiği (configure) çalıştırılmadan önce PKG_CONFIG_PATH ortam değişkeninde istenen sürümün bulunacağı yer

PKG_CONFIG_PATH="/önek/libxml2/diğerönek/lib/pkgconfig:/lib/pkgconfig"
şeklinde belirtilebilir.


PHP < 7.4 sürümleri için kurulum

Libxml eklentisi öntanımlı olarak etkin olup iptal edilmek istenirse --disable-libxml derleme seçeneği kullanılabilir.

Seçimlik olan --with-libxml-dir seçeneği belirtildiği takdirde PHP belirtilen yerdeki libxml kütüphanesiyle derlenir, aksi takdirde kütüphane standart yerlerde aranır. Configure işlemi libxml kütüphanesini (özellikle xml2-config) bulmak için şu yolu izler:

  1. --with-libxml-dir seçeneğinde belirtilen DiZiN ([DiZiN]/bin/xml2-config)

  2. /usr/local/bin/xml2-config

  3. /usr/bin/xml2-config

Configure betiği xml2-config dosyasını --with-libxml-dir ile belirttiğiniz yerde bulamazsa standart yerlere bakar.


  • « PHP < 7.4 sürümleri için kurulum
  • Özkaynak Türleri »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Çalışma Anı Yapılandırması

Çalışma Anı Yapılandırması

Bu eklentinin php.ini'de tanımlı yapılandırma yönergesi yoktur.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

LIBXML_BIGLINES (int)
65535'ten büyük satır numaralarının doğru şekilde raporlanmasına izin verir.

Bilginize:

Sadece PHP 7.0.0 ve sonrası ile Libxml >= 2.9.0 için kullanılabilir.

LIBXML_COMPACT (int)
Küçük düğüm ayırma en iyilemesini etkinleştirir. Kodda değişiklik yapmaksızın uygulamanızın hızlanmasını sağlar.

Bilginize:

Sadece Libxml >= 2.6.21 sürümlerinde kullanılabilmektedir.

LIBXML_DTDATTR (int)
Öntanımlı DTD öznitelikleri.
LIBXML_DTDLOAD (int)
Harici alt kümeyi yükler.
LIBXML_DTDVALID (int)
DTD ile doğrulama yapar.
Dikkat

DTD doğrulamasının etkinleştirilmesi, XML Harici Varlık (XXE) saldırılarını kolaylaştırabilir.

LIBXML_HTML_NOIMPLIED (int)
Örtülü html/body... öğelerinin otomatik olarak eklenmesini kapatan HTML_PARSE_NOIMPLIED seçeneğini ayarlar.

Bilginize:

Sadece Libxml >= 2.7.7 ile PHP 5.4.0 ve sonrasında kullanılabilir.

LIBXML_HTML_NODEFDTD (int)
Bulunmadığında doctype eklenmesini engelleyen HTML_PARSE_NODEFDTD seçeneğini ayarlar.

Bilginize:

Sadece Libxml >= 2.7.8 ile PHP 5.4.0 ve sonrasında kullanılabilir.

LIBXML_NOBLANKS (int)
Boş düğümleri siler.
LIBXML_NOCDATA (int)
CDATA bölümleri metin düğümü olarak ele alınır.
LIBXML_NOEMPTYTAG (int)
Boş etiketleri genişletir (örneğin, <br/> etiketi <br></br> haline getirilir).

Bilginize:

Bu seçenek şimdilik sadece DOMDocument::save() ve DOMDocument::saveXML() yönteminde kullanılabilmektedir.

LIBXML_NOENT (int)
Öğe ikameleri yapılır.
Dikkat

Öğe ikamesinin etkinleştirilmesi, XML Harici Öğe (XXE) saldırılarını kolaylaştırabilir.

LIBXML_NOERROR (int)
Hata raporlama kapatılır.
LIBXML_NONET (int)
Belgeler yüklenirken ağ erişimi iptal edilir.
LIBXML_NOWARNING (int)
Uyarı raporlama kapatılır.
LIBXML_NOXMLDECL (int)
Bir belgeyi kaydederken XML bildirimi atlanır.

Bilginize:

Sadece Libxml >= 2.6.21 sürümlerinde kullanılabilmektedir.

LIBXML_NSCLEAN (int)
Gereksiz isim alanı bildirimleri silinir.
LIBXML_PARSEHUGE (int)
Ayrıştırıcıdaki herhangi bir sabit kodlanmış sınırı gevşeten XML_PARSE_HUGE bayrağını ayarlar. Bu, bir belgenin azami derinliği veya öğe özyinelemesi gibi sınırları ve ayrıca metin düğümlerinin boyut sınırlarını etkiler.

Bilginize:

Sadece Libxml >= 2.7.0 (PHP >= 5.3.2 ve PHP >= 5.2.12) ile kullanılabilir.

LIBXML_PEDANTIC (int)
Bilgiçlik hatası raporlamayı etkinleştiren XML_PARSE_PEDANTIC bayrağını ayarlar.

Bilginize:

PHP >= 5.4.0 ile kullanılabilir.

LIBXML_XINCLUDE (int)
XInclude ikamesi gerçeklenir.
LIBXML_ERR_ERROR (int)
Kurtarılabilir hata.
LIBXML_ERR_FATAL (int)
Ölümcül hata.
LIBXML_ERR_NONE (int)
Hata yok.
LIBXML_ERR_WARNING (int)
Basit uyarı.
LIBXML_VERSION (int)
20605 veya 20617 biçiminde libxml sürümü.
LIBXML_DOTTED_VERSION (string)
2.6.5 veya 2.6.17 biçiminde libxml sürümü.
LIBXML_SCHEMA_CREATE (int)
XSD şema doğrulaması sırasında öntanımlı/sabit değer düğümleri oluşturur.

Bilginize:

Sadece Libxml >= 2.6.14 (PHP >= 5.5.2) ile kullanılabilir.


libXMLError sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

Libxml tarafından oluşturulan hatalar hakkında çeşitli bilgiler içerir. Hata kodları, resmi » xmlError API belgelerinde açıklanmıştır.

Sınıf Sözdizimi

class libXMLError {
/* >Özellikler */
public int $level;
public int $code;
public int $column;
public string $message;
public string $file;
public int $line;
}

Özellikler

level

Hatanın önem derecesi. Şu sabitlerden biri olmalıdır: LIBXML_ERR_WARNING, LIBXML_ERR_ERROR veya LIBXML_ERR_FATAL.

code

Hatanın kodu.

column

Hatanın oluştuğu sütun.

Bilginize:

Bu özellik libxml'de tamamen gerçeklenmediğinden çoğunlukla 0 döner.

message

Varsa hatanın iletisi.

file

Dosya ismi. XML belge bir dizge olarak yüklenmişse boştur.

line

Hatanın oluştuğu satır.


libxml İşlevleri

İçindekiler

  • libxml_clear_errors — libxml hata tamponunu temizler
  • libxml_disable_entity_loader — Harici öğeleri yükleme yeteneğini iptal eder
  • libxml_get_errors — Hataları içeren bir dizi döndürür
  • libxml_get_external_entity_loader — Get the current external entity loader
  • libxml_get_last_error — libxml'den son hatayı döndürür
  • libxml_set_external_entity_loader — Öntanımlı harici öğe yükleyiciyi değiştirir
  • libxml_set_streams_context — Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler
  • libxml_use_internal_errors — libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar


libxml hata tamponunu temizler

  • « libxml İşlevleri
  • libxml_disable_entity_loader »
  • PHP Manual
  • libxml İşlevleri
  • libxml hata tamponunu temizler

libxml_clear_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_clear_errors — libxml hata tamponunu temizler

Açıklama

libxml_clear_errors(): void

libxml hata tamponunu temizler.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Ayrıca Bakınız

  • libxml_get_errors() - Hataları içeren bir dizi döndürür
  • libxml_get_last_error() - libxml'den son hatayı döndürür


Harici öğeleri yükleme yeteneğini iptal eder

  • « libxml_clear_errors
  • libxml_get_errors »
  • PHP Manual
  • libxml İşlevleri
  • Harici öğeleri yükleme yeteneğini iptal eder

libxml_disable_entity_loader

(PHP 5 >= 5.2.11, PHP 7, PHP 8)

libxml_disable_entity_loader — Harici öğeleri yükleme yeteneğini iptal eder

Uyarı

Bu işlevin kullanımı PHP 8.0.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

Açıklama

libxml_disable_entity_loader(bool $iptal = true): bool

Harici öğeleri yükleme yeteneğini iptal eder/etkinleştirir. Harici öğelerin yüklenmesini devre dışı bırakmak, XML belgelerinin yüklenmesiyle ilgili genel sorunlara neden olabilir. Ancak, libxml 2.9.0'dan itibaren öğe ikamesi öntanımlı olarak devre dışıdır, bu nedenle dahili öğe gönderimlerini LIBXML_NOENT ile çözümlemeye gerek olmadığı sürece harici öğelerin yüklenmesini devre dışı bırakmaya gerek yoktur. Genel olarak, harici öğelerin yüklenmesini engellemek için libxml_set_external_entity_loader() kullanılması tercih edilir.

Bağımsız Değişkenler

iptal

DOM, XMLWriter ve XMLReader gibi libxml eklentilerinin harici öğeleri yüklemesini iptal etmek (true) veya etkinleştirmek (false) için kullanılır.

Dönen Değerler

Önceki değeri döndürür.

Ayrıca Bakınız

  • libxml_use_internal_errors() - libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar
  • libxml_set_external_entity_loader() - Öntanımlı harici öğe yükleyiciyi değiştirir
  • LIBXML_NOENT sabiti


Hataları içeren bir dizi döndürür

  • « libxml_disable_entity_loader
  • libxml_get_external_entity_loader »
  • PHP Manual
  • libxml İşlevleri
  • Hataları içeren bir dizi döndürür

libxml_get_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_get_errors — Hataları içeren bir dizi döndürür

Açıklama

libxml_get_errors(): array

Hataları içeren bir dizi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tamponda bir hata oluşmuşsa LibXMLError nesnelerinden oluşan bir dizi, yoksa boş bir dizi döner.

Örnekler

Örnek 1 - libxml_get_errors() örneği

Örnekte basit bir libxml hata eylemcisinin gerçeklenişi gösterilmiştir.

<?php

libxml_use_internal_errors(true);

$xmlstr = <<< XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<titles>PHP: Behind the Parser</title>
</movie>
</movies>
XML;

$doc = simplexml_load_string($xmlstr);
$xml = explode("\n", $xmlstr);

if ($doc === false) {
$errors = libxml_get_errors();

foreach ($errors as $error) {
echo display_xml_error($error, $xml);
}

libxml_clear_errors();
}

function display_xml_error($error, $xml)
{
$return = $xml[$error->line - 1] . "\n";
$return .= str_repeat('-', $error->column) . "^\n";

switch ($error->level) {
case LIBXML_ERR_WARNING:
$return .= "Uyarı $error->code: ";
break;
case LIBXML_ERR_ERROR:
$return .= "Hata $error->code: ";
break;
case LIBXML_ERR_FATAL:
$return .= "Ölümcül hata $error->code: ";
break;
}

$return .= trim($error->message) .
"\n Satır: $error->line" .
"\n Sütun: $error->column";

if ($error->file) {
$return .= "\n Dosya: $error->file";
}

return "$return\n\n--------------------------------------------\n\n";
}

?>

Yukarıdaki örneğin çıktısı:

  <titles>PHP: Behind the Parser</title>
----------------------------------------------^
Ölümcül hata 76: Opening and ending tag mismatch: titles line 4 and title
  Satır: 4
  Sütun: 46

--------------------------------------------

Ayrıca Bakınız

  • libxml_get_last_error() - libxml'den son hatayı döndürür
  • libxml_clear_errors() - libxml hata tamponunu temizler


Get the current external entity loader

  • « libxml_get_errors
  • libxml_get_last_error »
  • PHP Manual
  • libxml İşlevleri
  • Get the current external entity loader

libxml_get_external_entity_loader

(PHP 8 >= 8.2.0)

libxml_get_external_entity_loader — Get the current external entity loader

Açıklama

libxml_get_external_entity_loader(): ?callable

Get external entity loader previously installed by libxml_set_external_entity_loader().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The external entity loader previously installed by libxml_set_external_entity_loader(). If that function was never called, or if it was called with null, null will be returned.

Ayrıca Bakınız

  • libxml_set_external_entity_loader() - Öntanımlı harici öğe yükleyiciyi değiştirir


libxml'den son hatayı döndürür

  • « libxml_get_external_entity_loader
  • libxml_set_external_entity_loader »
  • PHP Manual
  • libxml İşlevleri
  • libxml'den son hatayı döndürür

libxml_get_last_error

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_get_last_error — libxml'den son hatayı döndürür

Açıklama

libxml_get_last_error(): LibXMLError|false

libxml'den son hatayı döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Tamponda bir hata oluşmuşsa bir LibXMLError nesnesi, yoksa false döner.

Ayrıca Bakınız

  • libxml_get_errors() - Hataları içeren bir dizi döndürür
  • libxml_clear_errors() - libxml hata tamponunu temizler


Öntanımlı harici öğe yükleyiciyi değiştirir

  • « libxml_get_last_error
  • libxml_set_streams_context »
  • PHP Manual
  • libxml İşlevleri
  • Öntanımlı harici öğe yükleyiciyi değiştirir

libxml_set_external_entity_loader

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

libxml_set_external_entity_loader — Öntanımlı harici öğe yükleyiciyi değiştirir

Açıklama

libxml_set_external_entity_loader(?callable $geri_çağırım): bool

Öntanımlı harici öğe yükleyiciyi değiştirir. İlgili işlem için LIBXML_NOENT atanmış olsa bile, XXE saldırılarını önlemek için isteğe bağlı harici öğe yüklenmesini engellemekte kullanılabilir ve genellikle libxml_disable_entity_loader() çağrısına tercih edilir.

Bağımsız Değişkenler

geri_çağırım

Aşağıdaki sözdizimine sahip bir işlev olmalıdır:

çözümleyici(?string $genel, string $sistem, array $bağlam): resource|string|null
genel
DOCTYPE genel kimliği.
sistem
DOCTYPE sistem kimliği.
bağlam
"directory", "intSubName", "extSubURI" ve "extSubSystem" anahtarlı ilişkisel bir dizi.
Bu çağrılabilir, bir özkaynağın açılabileceği bir dize veya özkaynak döndürmelidir. null döndürülürse, öğe gönderim çözümlemesi başarısız olmuş demektir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - libxml_set_external_entity_loader() örneği

<?php
$xml = <<<XML
<!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar">
<foo>bar</foo>
XML;

$dtd = <<<DTD
<!ELEMENT foo (#PCDATA)>
DTD;

libxml_set_external_entity_loader(
function ($public, $system, $context) use($dtd) {
var_dump($public);
var_dump($system);
var_dump($context);
$f = fopen("php://temp", "r+");
fwrite($f, $dtd);
rewind($f);
return $f;
}
);

$dd = new DOMDocument;
$r = $dd->loadXML($xml);

var_dump($dd->validate());
?>

Yukarıdaki örneğin çıktısı:

string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
    ["directory"]    => NULL
    ["intSubName"]   => NULL
    ["extSubURI"]    => NULL
    ["extSubSystem"] => NULL
}
bool(true)

Ayrıca Bakınız

  • libxml_disable_entity_loader() - Harici öğeleri yükleme yeteneğini iptal eder
  • libxml_get_external_entity_loader() - Get the current external entity loader


Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler

  • « libxml_set_external_entity_loader
  • libxml_use_internal_errors »
  • PHP Manual
  • libxml İşlevleri
  • Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler

libxml_set_streams_context

(PHP 5, PHP 7, PHP 8)

libxml_set_streams_context — Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler

Açıklama

libxml_set_streams_context(resource $bağlam): void

Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler.

Bağımsız Değişkenler

bağlam

stream_context_create() ile oluşturulan bir akım bağlamı özkaynağı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - libxml_set_streams_context() örneği

<?php

$opts = array(
'http' => array(
'user_agent' => 'PHP libxml agent',
)
);

$context = stream_context_create($opts);
libxml_set_streams_context($context);

// Dosyayı HTTP üzerinden isteyelim
$doc = DOMDocument::load('http://www.example.com/file.xml');

?>

Ayrıca Bakınız

  • stream_context_create() - Bir akım bağlamı oluşturur


libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar

  • « libxml_set_streams_context
  • SimpleXML »
  • PHP Manual
  • libxml İşlevleri
  • libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar

libxml_use_internal_errors

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

libxml_use_internal_errors — libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar

Açıklama

libxml_use_internal_errors(?bool $hatalar_etkin = null): bool

Standart libxml hatalarını iptal edip kullanıcı tanımlı hataları etkin kılar.

Bağımsız Değişkenler

hatalar_etkin

true atanırsa kullanıcı hataları etkin olur. false atanırsa iptal olur. İptal edilmesi ayrıca mevcut libxml hatalarını da temizleyecektir.

Dönen Değerler

hatalar_etkin bağımsız değişkeninin önceki değerini döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | hatalar_etkin artık null olabiliyor. Evvelce, false öntanımlıydı.

Örnekler

Örnek 1 - libxml_use_internal_errors() örneği

Aşağıdaki örnekte işlevin döndürdüğü değer ve libxml hatalarının temel kullanımı gösterilmiştir.

<?php

// Kullanıcı tanımlı hataları etkin kılalım
var_dump(libxml_use_internal_errors(true));

// Belgeyi yükleyelim
$doc = new DOMDocument;

if (!$doc->load('file.xml')) {
foreach (libxml_get_errors() as $error) {
// Hataları burada ele alıyoruz
}

libxml_clear_errors();
}

?>

Yukarıdaki örneğin çıktısı:

bool(false)

Ayrıca Bakınız

  • libxml_clear_errors() - libxml hata tamponunu temizler
  • libxml_get_errors() - Hataları içeren bir dizi döndürür


Basit XML

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Temel SimpleXML kullanımı
    • XML hatalarıya ilgilenmek
  • SimpleXMLElement — SimpleXMLElement sınıfı
    • SimpleXMLElement::addAttribute — XML elemanına bir öznitelik ekler
    • SimpleXMLElement::addChild — XML düğümüne bir çocuk düğüm ekler
    • SimpleXMLElement::asXML — Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür
    • SimpleXMLElement::attributes — Bir elemanın özniteliklerine erişim sağlar
    • SimpleXMLElement::children — Belirtilen düğümün çocuklarını bulur
    • SimpleXMLElement::__construct — Yeni bir SimpleXMLElement nesnesi oluşturur
    • SimpleXMLElement::count — Counts the children of an element
    • SimpleXMLElement::current — Returns the current element
    • SimpleXMLElement::getDocNamespaces — Belgede bildirilmiş isim alanlarını döndürür
    • SimpleXMLElement::getName — XML eleman ismi döndürür
    • SimpleXMLElement::getNamespaces — Belgede kullanılan isim alanlarını döndürür
    • SimpleXMLElement::getChildren — Returns the sub-elements of the current element
    • SimpleXMLElement::hasChildren — Checks whether the current element has sub elements
    • SimpleXMLElement::key — Return current key
    • SimpleXMLElement::next — Move to next element
    • SimpleXMLElement::registerXPathNamespace — Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur
    • SimpleXMLElement::rewind — Rewind to the first element
    • SimpleXMLElement::saveXML — Takma Adı: SimpleXMLElement::asXML
    • SimpleXMLElement::__toString — Returns the string content
    • SimpleXMLElement::valid — Check whether the current element is valid
    • SimpleXMLElement::xpath — Bir XML veri üzerinde bir XPath sorgusu çalıştırır
  • SimpleXMLIterator — The SimpleXMLIterator class
  • Basit XML İşlevleri
    • simplexml_import_dom — Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür
    • simplexml_load_file — Bir XML dosyasının içeriğini bir nesne haline getirir
    • simplexml_load_string — Bir XML dizgesini bir nesne haline getirir


Giriş

Basit XML eklentisi, XML belgeleri, normal özellik seçicileri ve dizi yineleyicileri ile işleyebilen bir nesneye dönüştürmeyi kolaylaştıran araçları içerir.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-simplexml


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • SimpleXML
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • Temel SimpleXML kullanımı »
  • PHP Manual
  • SimpleXML
  • Örnekler

Örnekler

İçindekiler

  • Temel SimpleXML kullanımı
  • XML hatalarıya ilgilenmek


Temel SimpleXML kullanımı

Bu eklentideki bir çok örnek bir XML dizge gerektirir. Her örnekte bu dizgeyi tekrar tekrar yazmak yerine her örnekte içerilmek üzere bir dosyaya koyduk. Bu dosyanın içeriği aşağıda verilmiştir. İsterseniz kendi XML belgenizi oluşturup simplexml_load_file() işleviyle de okutabilirsiniz.

Örnek 1 - XML dizge olarak içerilecek example.php dosyası

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<title>PHP: Behind the Parser</title>
<characters>
<character>
<name>Ms. Coder</name>
<actor>Onlivia Actora</actor>
</character>
<character>
<name>Mr. Coder</name>
<actor>El Act&#211;r</actor>
</character>
</characters>
<plot>
So, this language. It's like, a programming language. Or is it a
scripting language? All is revealed in this thrilling horror spoof
of a documentary.
</plot>
<great-lines>
<line>PHP solves all my web problems</line>
</great-lines>
<rating type="thumbs">7</rating>
<rating type="stars">5</rating>
</movie>
</movies>
XML;
?>

Basit XML eklentisinin basitleştiriciliği, en açık haliyle basit bir XML belgeden bir sayı veya dizgeyi çıkarırken görülür.

Örnek 2 - <plot> içeriğinin eldesi

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie[0]->plot;
?>

Yukarıdaki örneğin çıktısı:

   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.

Bir XML belgedeki elemanlara erişirken, PHP isimlendirme kurallarına uymayan (örneğin, tire içeren) eleman isimleri tek tırnak ve kaşlı ayraçlarla sarmalanarak belirtilebilir.

Örnek 3 - <line> içeriğinin eldesi

<?php
include 'example.php';

$xml = new SimpleXMLElement($xmlstr);

echo $movies->movie->{'great-lines'}->line;
?>

Yukarıdaki örneğin çıktısı:

PHP solves all my web problems

Örnek 4 - Bir elemanın birden fazla örneğine erişim

Bir ebeveyn elemanın aynı isimdeki birden fazla çocuğunun içeriğini elde etmek için normal yineleme teknikleri kullanılır.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* Her <character> düğümündeki <name> içeriğini çıkaralım */
foreach ($movies->movie->characters->character as $character) {
echo $character->name, ' played by ', $character->actor, PHP_EOL;
}

?>

Yukarıdaki örneğin çıktısı:

Ms. Coder played by Onlivia Actora
Mr. Coder played by El ActÓr

Bilginize:

Özellikler (önceki örnekteki $movies->movie) dizi değildir. Yinelenebilir ve erişilebilir nesnelerdir.

Örnek 5 - Özniteliklerin kullanımı

Şimdiye kadar hep eleman isimleri ve içerikleri ile çalıştık. Basit XML eklentisi eleman özniteliklerine de erişir. Eleman özniteliklerine, eleman ismini taşıyan dizinin anahtarları olarak erişebilirsiniz.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

/* İlk <movie> içindeki <rating> düğümlerine erişelim.
* İstatistiksel sonuçları çıktılayalım. */
foreach ($movies->movie[0]->rating as $rating) {
switch((string) $rating['type']) { // Öznitelikler birer anahtardır
case 'thumbs':
echo $rating, ' onaylı';
break;
case 'stars':
echo $rating, ' yıldızlı';
break;
}
}
?>

Yukarıdaki örneğin çıktısı:

7 thumbs up5 stars

Örnek 6 - Elemanları ve öznitelikleri karşılaştırmak

Bir elemanı veya özniteliği bir dizge ile karşılaştırmak veya bir dizge gerektiren bir işleve aktarmak için nesnenin önüne (string) getirerek tür dönüşümü yapmalısınız. Aksi takdirde PHP, elemanı bir nesne olarak ele alır.

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

if ((string) $movies->movie->title == 'PHP: Behind the Parser') {
print 'My favorite movie.';
}

echo htmlentities((string) $movies->movie->title);
?>

Yukarıdaki örneğin çıktısı:

My favorite movie.PHP: Behind the Parser

Örnek 7 - İki elemanı karşılaştırmak

İki SimpleXMLElement nesnesi, aynı elemana ait olsalar bile, farklı nesneler olarak ele alınır.

<?php
include 'example.php';

$movies1 = new SimpleXMLElement($xmlstr);
$movies2 = new SimpleXMLElement($xmlstr);
var_dump($movies1 == $movies2);
?>

Yukarıdaki örneğin çıktısı:

bool(false)

Örnek 8 - XPath kullanımı

Basit XML eklentisinin yerleşik XPath desteği vardar. Tüm <character> elemanlarını bulmak isteyelim:

<?php
include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

foreach ($movies->xpath('//character') as $character) {
echo $character->name, ' played by ', $character->actor, PHP_EOL;
}
?>

'//character' ifadesindeki '//' bir kısaltma olup, belgedeki tüm character elemanları anlamına gelir (Bakınız: » XML Adresleme Dili (XPath) 1.0 belirtimi).

Yukarıdaki örneğin çıktısı:

Ms. Coder played by Onlivia Actora
Mr. Coder played by El ActÓr

Örnek 9 - Değer atamak

SimpleXMLElement nesnesinin verileri birer sabit değildir. Nesnenin tüm elemanlarında değişiklik yapılabilir.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$movies->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $movies->asXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Miss Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>

Örnek 10 - Eleman ve öznitelik eklemek

SimpleXMLElement nesnesine çocuk elemanlar ve öznitelikler kolayca eklenebilmektedir.

<?php
include 'example.php';
$movies = new SimpleXMLElement($xmlstr);

$character = $movies->movie[0]->characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movies->movie[0]->addChild('rating', 'PG');
$rating->addAttribute('type', 'mpaa');

echo $movies->asXML();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  <character><name>Mr. Parser</name><actor>John Doe</actor></character></characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 <rating type="mpaa">PG</rating></movie>
</movies>

Örnek 11 - DOM ile çalışabilirlik

PHP, XML düğümlerin Basit XML ve DOM biçemleri arasında dönüşüm yapılabilmeyi sağlayan bir mekanizmaya sahiptir. Bu örnekte bir DOM elemanının bir SimpleXMLElement nesnesine dönüştürülmesi gösterilmiştir.

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
echo 'Belge çözümlenirken hata oluştu';
exit;
}

$books = simplexml_import_dom($dom);

echo $books->book[0]->title;
?>

Yukarıdaki örneğin çıktısı:

blah


XML hatalarıya ilgilenmek

Belgeleri yüklerken XML hatalarını ele almak basit bir işlemdir. Belgeyi yüklerken XML hatalarını libxml işlevselliğini kullanarak bastırdıktan sonra hatalar tek tek ele alınabilir.

libxml_get_errors() işlevi tarafından döndürülen libXMLError nesnesi, hata ile ilgili ileti, satır ve sütun gibi özellikler içerir.

Örnek 1 - Hatalı bir XML dizgesinin yüklenmesi

<?php
libxml_use_internal_errors(true);
$sxe = simplexml_load_string("<?xml version='1.0'><broken><xml></broken>");
if ($sxe === false) {
echo "XML yüklemesi başarısız oldu\n";
foreach(libxml_get_errors() as $error) {
echo "\t", $error->message;
}
}

Yukarıdaki örneğin çıktısı:

XML yüklemesi başarısız oldu
    Blank needed here
    parsing XML declaration: '?>' expected
    Opening and ending tag mismatch: xml line 1 and broken
    Premature end of data in tag broken line 1

Ayrıca Bakınız

  • libxml_use_internal_errors()
  • libxml_get_errors()
  • libXMLError


SimpleXMLElement sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

XML belgesindeki bir elemanı temsil eder.

Sınıf Sözdizimi

class SimpleXMLElement implements Stringable, Countable, RecursiveIterator {
/* Yöntemler */
public __construct(
string $veri,
int $seçenekler = 0,
bool $veri_bir_url = false,
string $isimalanı_veya_önek = "",
bool $önek_var = false
)
public addAttribute(string $isim, string $değer, ?string $isimalanı = null): void
public addChild(string $isim, ?string $değer = null, ?string $isimalanı = null): ?SimpleXMLElement
public asXML(?string $dosya = null): string|bool
public attributes(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement
public children(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement
public count(): int
public current(): SimpleXMLElement
public getDocNamespaces(bool $ardışık = false, bool $kökten = true): array|false
public getName(): string
public getNamespaces(bool $ardışık = false): array
public getChildren(): ?SimpleXMLElement
public hasChildren(): bool
public key(): string
public next(): void
public registerXPathNamespace(string $önek, string $isimalanı): bool
public rewind(): void
public __toString(): string
public valid(): bool
public xpath(string $ifade): array|null|false
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | SimpleXMLElement artık Stringable, Countable ve RecursiveIterator arayüzünü gerçekliyor.

İçindekiler

  • SimpleXMLElement::addAttribute — XML elemanına bir öznitelik ekler
  • SimpleXMLElement::addChild — XML düğümüne bir çocuk düğüm ekler
  • SimpleXMLElement::asXML — Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür
  • SimpleXMLElement::attributes — Bir elemanın özniteliklerine erişim sağlar
  • SimpleXMLElement::children — Belirtilen düğümün çocuklarını bulur
  • SimpleXMLElement::__construct — Yeni bir SimpleXMLElement nesnesi oluşturur
  • SimpleXMLElement::count — Counts the children of an element
  • SimpleXMLElement::current — Returns the current element
  • SimpleXMLElement::getDocNamespaces — Belgede bildirilmiş isim alanlarını döndürür
  • SimpleXMLElement::getName — XML eleman ismi döndürür
  • SimpleXMLElement::getNamespaces — Belgede kullanılan isim alanlarını döndürür
  • SimpleXMLElement::getChildren — Returns the sub-elements of the current element
  • SimpleXMLElement::hasChildren — Checks whether the current element has sub elements
  • SimpleXMLElement::key — Return current key
  • SimpleXMLElement::next — Move to next element
  • SimpleXMLElement::registerXPathNamespace — Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur
  • SimpleXMLElement::rewind — Rewind to the first element
  • SimpleXMLElement::saveXML — Takma Adı: SimpleXMLElement::asXML
  • SimpleXMLElement::__toString — Returns the string content
  • SimpleXMLElement::valid — Check whether the current element is valid
  • SimpleXMLElement::xpath — Bir XML veri üzerinde bir XPath sorgusu çalıştırır


XML elemanına bir öznitelik ekler

  • « SimpleXMLElement
  • SimpleXMLElement::addChild »
  • PHP Manual
  • SimpleXMLElement
  • XML elemanına bir öznitelik ekler

SimpleXMLElement::addAttribute

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::addAttribute — XML elemanına bir öznitelik ekler

Açıklama

public SimpleXMLElement::addAttribute(string $isim, string $değer, ?string $isimalanı = null): void

SimpleXMLElement düğümüne bir öznitelik ekler.

Bağımsız Değişkenler

isim

Eklenecek özniteliğin ismi.

değer

Özniteliğin değeri.

isimalanı

Belirtilmişse, özniteliğin ait olduğu isim alanı.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Bilginize:

Aşağıdaki örnekler, temel kullanım kılavuzunun ilk örneğinde bulunan XML dizesine atıfta bulunan example.php betiğini içerebilir.

Örnek 1 - Bir SimpleXMLElement nesnesine öznitelikler ve çocuk elemanlar eklemek

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: More Parser Stories</title>
  <plot>This is all about the people who make it work.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Ayrıca Bakınız

  • SimpleXMLElement::addChild() - XML düğümüne bir çocuk düğüm ekler
  • Temel SimpleXML kullanımı


XML düğümüne bir çocuk düğüm ekler

  • « SimpleXMLElement::addAttribute
  • SimpleXMLElement::asXML »
  • PHP Manual
  • SimpleXMLElement
  • XML düğümüne bir çocuk düğüm ekler

SimpleXMLElement::addChild

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::addChild — XML düğümüne bir çocuk düğüm ekler

Açıklama

public SimpleXMLElement::addChild(string $isim, ?string $değer = null, ?string $isimalanı = null): ?SimpleXMLElement

XML düğümüne bir çocuk düğüm ekleyip çocuk elemanı bir SimpleXMLElement nesnesi olarak döndürür.

Bağımsız Değişkenler

isim

Eklenecek çocuk elemanın ismi.

değer

Belirtilmişse, çocuk elemanın değeri.

isimalanı

Belirtilmişse çocuk elemanın ait olduğu isim alanı.

Dönen Değerler

Eklenen çocuk elemanı bir SimpleXMLElement nesnesi olarak döndürür. Başarısızlık durumunda null döner.

Örnekler

Bilginize:

Aşağıdaki örnekler, temel kullanım kılavuzunun ilk örneğinde bulunan XML dizesine atıfta bulunan example.php betiğini içerebilir.

Örnek 1 - Bir SimpleXMLElement nesnesine öznitelikleriyle çocuk elemanlar eklemek

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type', 'documentary');

$movie = $sxe->addChild('movie');
$movie->addChild('title', 'PHP2: More Parser Stories');
$movie->addChild('plot', 'This is all about the people who make it work.');

$characters = $movie->addChild('characters');
$character = $characters->addChild('character');
$character->addChild('name', 'Mr. Parser');
$character->addChild('actor', 'John Doe');

$rating = $movie->addChild('rating', '5');
$rating->addAttribute('type', 'stars');

echo $sxe->asXML();

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0" standalone="yes"?>
<movies type="documentary">
 <movie>
  <title>PHP: Behind the Parser</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   So, this language. It's like, a programming language. Or is it a
   scripting language? All is revealed in this thrilling horror spoof
   of a documentary.
  </plot>
  <great-lines>
   <line>PHP solves all my web problems</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
 <movie>
  <title>PHP2: More Parser Stories</title>
  <plot>This is all about the people who make it work.</plot>
  <characters>
   <character>
    <name>Mr. Parser</name>
    <actor>John Doe</actor>
   </character>
  </characters>
  <rating type="stars">5</rating>
 </movie>
</movies>

Ayrıca Bakınız

  • SimpleXMLElement::addAttribute() - XML elemanına bir öznitelik ekler
  • Temel SimpleXML kullanımı


Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür

  • « SimpleXMLElement::addChild
  • SimpleXMLElement::attributes »
  • PHP Manual
  • SimpleXMLElement
  • Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür

SimpleXMLElement::asXML

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::asXML — Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür

Açıklama

public SimpleXMLElement::asXML(?string $dosya = null): string|bool

Nesnenin içerdiği belgeyi iyi biçemli bir XML 1.0 dizgesi olarak döndürür.

Bağımsız Değişkenler

dosya

Dizge değer belirtildiği takdirde, sonuç döndürülmeyip bu dosyaya yazılır.

Dönen Değerler

Eğer dosya belirtilmezse fakat bir hata oluşursa false aksi takdirde bir dizge döner. Eğer dosya belirtilir ve dosyaya başarıyla yazılırsa true aksi takdirde false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | dosya artık null olabiliyor.

Örnekler

Örnek 1 - XML belgenin döndürülmesi

<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<d>
<c>code</c>
</d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML();

?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>

asXML Xpath sonuçları üzerinde de çalışır:

Örnek 2 - SimpleXMLElement::xpath() sonucundan bir XML belge döndürmek

<?php
// Yukarıdaki örneğin devamıdır.

/* <a><b><c>'yi arayalım */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
echo $node->asXML();
}
?>

Yukarıdaki örneğin çıktısı:

<c>text</c><c>stuff</c>

Ayrıca Bakınız

  • SimpleXMLElement::__toString() - Returns the string content
  • Temel SimpleXML kullanımı


Bir elemanın özniteliklerine erişim sağlar

  • « SimpleXMLElement::asXML
  • SimpleXMLElement::children »
  • PHP Manual
  • SimpleXMLElement
  • Bir elemanın özniteliklerine erişim sağlar

SimpleXMLElement::attributes

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::attributes — Bir elemanın özniteliklerine erişim sağlar

Açıklama

public SimpleXMLElement::attributes(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement

Bir XML etiketinin içerdiği özniteliklere ve değerlerine erişim sağlar.

Bilginize: SimpleXML iç içe nesnelerden (XML düğümlerinden) oluşur. Bu nedenle nesne içeriğini görmek için var_dump() ve benzerleri kullanılamaz.

Bağımsız Değişkenler

isimalanı_veya_önek

Özniteliklerin alınabilmesi için gerekebilecek isim alanı.

önek_var

false öntanımlıdır.

Dönen Değerler

Etiketteki öznitelikler arasında dolaşmak için yinelenebilen SimpleXMLElement nesnesi döndürür.

Etiket değil de öznitelik temsil eden SimpleXMLElement nesnesinde çağrılırsa null döndürür.

Örnekler

Örnek 1 - Bir XML dizgenin yorumlanması

<?php
$string = <<<XML
<a>
<foo name="one" game="lonely">1</foo>
</a>
XML;

$xml = simplexml_load_string($string);
foreach($xml->foo[0]->attributes() as $a => $b) {
echo $a,'="',$b,"\"\n";
}
?>

Yukarıdaki örneğin çıktısı:

name="one"
game="lonely"

Ayrıca Bakınız

  • Temel SimpleXML kullanımı


Belirtilen düğümün çocuklarını bulur

  • « SimpleXMLElement::attributes
  • SimpleXMLElement::__construct »
  • PHP Manual
  • SimpleXMLElement
  • Belirtilen düğümün çocuklarını bulur

SimpleXMLElement::children

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::children — Belirtilen düğümün çocuklarını bulur

Açıklama

public SimpleXMLElement::children(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement

Bu yöntem nesnenin içerdiği alt düğümleri bulur. Sonuçlara foreach döngüleri üzerinden erişilebilir.

Bilginize: SimpleXML iç içe nesnelerden (XML düğümlerinden) oluşur. Bu nedenle nesne içeriğini görmek için var_dump() ve benzerleri kullanılamaz.

Bağımsız Değişkenler

isimalanı_veya_önek

Bir XML isimalanı.

önek_var

true ise isimalanı_veya_önek bağımsız değişkeninin bir önek, false ise bir isimalanı içerdiği kabul edilir.

Dönen Değerler

Düğüm bir öznitelik için ise null, aksi takdirde SimpleXMLElement nesnesi döner.

Örnekler

Örnek 1 - children() dizimsisi

<?php
$xml = new SimpleXMLElement(
'<person>
<child role="son">
<child role="daughter"/>
</child>
<child role="daughter">
<child role="son">
<child role="son"/>
</child>
</child>
</person>');

foreach ($xml->children() as $second_gen) {
echo ' The person begot a ' . $second_gen['role'];

foreach ($second_gen->children() as $third_gen) {
echo ' who begot a ' . $third_gen['role'] . ';';

foreach ($third_gen->children() as $fourth_gen) {
echo ' and that ' . $third_gen['role'] .
' begot a ' . $fourth_gen['role'];
}
}
}
?>

Yukarıdaki örneğin çıktısı:

The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son

Örnek 2 - İsimalanlarının kullanımı

<?php
$xml = '<example xmlns:foo="my.foo.urn">
<foo:a>Apple</foo:a>
<foo:b>Banana</foo:b>
<c>Cherry</c>
</example>';

$sxe = new SimpleXMLElement($xml);

$kids = $sxe->children('foo');
var_dump(count($kids));

$kids = $sxe->children('foo', TRUE);
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn');
var_dump(count($kids));

$kids = $sxe->children('my.foo.urn', TRUE);
var_dump(count($kids));

$kids = $sxe->children();
var_dump(count($kids));
?>
int(0)
int(2)
int(2)
int(0)
int(1)

Ayrıca Bakınız

  • SimpleXMLElement::count() - Counts the children of an element
  • count() - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür


Yeni bir SimpleXMLElement nesnesi oluşturur

  • « SimpleXMLElement::children
  • SimpleXMLElement::count »
  • PHP Manual
  • SimpleXMLElement
  • Yeni bir SimpleXMLElement nesnesi oluşturur

SimpleXMLElement::__construct

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::__construct — Yeni bir SimpleXMLElement nesnesi oluşturur

Açıklama

public SimpleXMLElement::__construct(
string $veri,
int $seçenekler = 0,
bool $veri_bir_url = false,
string $isimalanı_veya_önek = "",
bool $önek_var = false
)

Yeni bir SimpleXMLElement nesnesi oluşturur

Bağımsız Değişkenler

veri

İyi biçemli bir XML dizgesi veya veri_bir_url ile true belirtilmişse bir XML belge adresi ya da dosya yolu.

seçenekler

XML belgelerin okunmasını etkileyen Ek Libxml bağımsız değişkenlerini belirtmek için isteğe bağlı bir bağımsız değişken. XML belgelerin çıktısını etkileyen seçenekler (örneğin, LIBXML_NOEMPTYTAG) sessizce yok sayılır.

Bilginize:

Derince iç içe çok büyük metin düğümlerini içeren XML belgeleri işleyebilmek için LIBXML_PARSEHUGE sabitini aktarmak gerekebilir.

veri_bir_url

Öntanımlı olarak değeri false'tır. veri bağımsız değişkeninde dizge veri değil de XML belge adresi ya da dosya yolu belirtilecekse true olmalıdır.

isimalanı_veya_önek

İsim alanı öneki veya URI.

önek_var

true ise isimalanı_veya_önek bağımsız değişkeninin bir önek, false ise bir isim alanı içerdiği varsayılır.

İpucu

Tüm XML hatalarını bastırmak için libxml_use_internal_errors() kullanıp daha sonra bu hataları libxml_get_errors() ile tek tek ele alabilirsiniz.

Hatalar/İstisnalar

XML veride saptanan her hata için bir E_WARNING üretilir ve ek olarak XML veri çözümlenemezse bir Exception yavrulanır.

Örnekler

Bilginize:

Aşağıdaki örnekler, temel kullanım kılavuzunun ilk örneğinde bulunan XML dizesine atıfta bulunan example.php betiğini içerebilir.

Örnek 1 - Bir dizgeden bir SimpleXMLElement nesnesi oluşturmak

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
echo $sxe->movie[0]->title;

?>

Yukarıdaki örneğin çıktısı:

PHP: Behind the Parser

Örnek 2 - Bir dosyadan bir SimpleXMLElement nesnesi oluşturmak

<?php

$sxe = new SimpleXMLElement('http://example.org/document.xml', NULL, TRUE);
echo $sxe->asXML();

?>

Ayrıca Bakınız

  • Temel SimpleXML kullanımı
  • simplexml_load_string() - Bir XML dizgesini bir nesne haline getirir
  • simplexml_load_file() - Bir XML dosyasının içeriğini bir nesne haline getirir
  • XML hatalarıya ilgilenmek
  • libxml_use_internal_errors() - libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar
  • libxml_set_streams_context() - Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler


Counts the children of an element

  • « SimpleXMLElement::__construct
  • SimpleXMLElement::current »
  • PHP Manual
  • SimpleXMLElement
  • Counts the children of an element

SimpleXMLElement::count

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SimpleXMLElement::count — Counts the children of an element

Açıklama

public SimpleXMLElement::count(): int

This method counts the number of children of an element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the number of elements of an element.

Örnekler

Örnek 1 Counting the number of children

<?php
$xml = <<<EOF
<people>
<person name="Person 1">
<child/>
<child/>
<child/>
</person>
<person name="Person 2">
<child/>
<child/>
<child/>
<child/>
<child/>
</person>
</people>
EOF;

$elem = new SimpleXMLElement($xml);

foreach ($elem as $person) {
printf("%s has got %d children.\n", $person['name'], $person->count());
}
?>

Yukarıdaki örneğin çıktısı:

Person 1 has got 3 children.
Person 2 has got 5 children.

Ayrıca Bakınız

  • SimpleXMLElement::children() - Belirtilen düğümün çocuklarını bulur


Returns the current element

  • « SimpleXMLElement::count
  • SimpleXMLElement::getDocNamespaces »
  • PHP Manual
  • SimpleXMLElement
  • Returns the current element

SimpleXMLElement::current

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::current — Returns the current element

Açıklama

public SimpleXMLElement::current(): SimpleXMLElement
Uyarı

Prior to PHP 8.0, SimpleXMLElement::current() was only declared on the subclass SimpleXMLIterator.

This method returns the current element as a SimpleXMLElement object.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the current element as a SimpleXMLElement object.

Hatalar/İstisnalar

Throws an Error on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | An Error is now thrown if SimpleXMLElement::current() is called on an invalid iterator. Previously, null was returned.

Örnekler

Örnek 1 Return the current element

<?php
$xmlElement = new SimpleXMLElement('<books><book>PHP basics</book><book>XML basics</book></books>');

$xmlElement->rewind(); // rewind to first element, otherwise current() won't work
var_dump($xmlElement->current());
?>

Yukarıdaki örneğin çıktısı:

object(SimpleXMLElement)#2 (1) {
  [0]=>
  string(10) "PHP basics"
}

Ayrıca Bakınız

  • SimpleXMLElement::key() - Return current key
  • SimpleXMLElement::next() - Move to next element
  • SimpleXMLElement::rewind() - Rewind to the first element
  • SimpleXMLElement::valid() - Check whether the current element is valid
  • SimpleXMLElement


Belgede bildirilmiş isim alanlarını döndürür

  • « SimpleXMLElement::current
  • SimpleXMLElement::getName »
  • PHP Manual
  • SimpleXMLElement
  • Belgede bildirilmiş isim alanlarını döndürür

SimpleXMLElement::getDocNamespaces

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SimpleXMLElement::getDocNamespaces — Belgede bildirilmiş isim alanlarını döndürür

Açıklama

public SimpleXMLElement::getDocNamespaces(bool $ardışık = false, bool $kökten = true): array|false

Belgede bildirilmiş isim alanlarını döndürür.

Bağımsız Değişkenler

ardışık

true belirtilirse kök düğüm ve tüm çocuk ve torun düğümlerin isim alanlarını, aksi takdirde sadece kök düğümde kullanılan isim alanlarını döndürür.

kökten

XML belgesinin kökü yerine bir çocuk düğüm altındaki isim alanlarını yinelemeli olarak sınamanızı sağlar.

Dönen Değerler

İsim alanlarını ve betimleyicilerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - Belge isim alanlarının döndürülmesi

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns">
<p:person id="1">John Doe</p:person>
<p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces();
var_dump($namespaces);

?>

Yukarıdaki örneğin çıktısı:

array(1) {
   ["p"]=>
   string(21) "http://example.org/ns"
}

Örnek 2 - Çok sayıda isim alanı ile çalışma

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:person t:id="1">John Doe</p:person>
<p:person t:id="2" a:addr="123 Street" xmlns:a="http://example.org/addr">
Susie Q. Public
</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);

?>

Yukarıdaki örneğin çıktısı:

array(3) {
  ["p"]=>
  string(21) "http://example.org/ns"
  ["t"]=>
  string(23) "http://example.org/test"
  ["a"]=>
  string(23) "http://example.org/addr"
}

Ayrıca Bakınız

  • SimpleXMLElement::getNamespaces() - Belgede kullanılan isim alanlarını döndürür
  • SimpleXMLElement::registerXPathNamespace() - Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur


XML eleman ismi döndürür

  • « SimpleXMLElement::getDocNamespaces
  • SimpleXMLElement::getNamespaces »
  • PHP Manual
  • SimpleXMLElement
  • XML eleman ismi döndürür

SimpleXMLElement::getName

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::getName — XML eleman ismi döndürür

Açıklama

public SimpleXMLElement::getName(): string

XML eleman ismi döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

SimpleXMLElement nesnesindeki bir XML etiketinin ismini bir dizge olarak döndürür.

Örnekler

Bilginize:

Aşağıdaki örnekler, temel kullanım kılavuzunun ilk örneğinde bulunan XML dizesine atıfta bulunan example.php betiğini içerebilir.

Örnek 1 - XML eleman isimlerinin döndürülmesi

<?php

include 'example.php';
$sxe = new SimpleXMLElement($xmlstr);

echo $sxe->getName() . "\n";

foreach ($sxe->children() as $child)
{
echo $child->getName() . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

movies
movie


Belgede kullanılan isim alanlarını döndürür

  • « SimpleXMLElement::getName
  • SimpleXMLElement::getChildren »
  • PHP Manual
  • SimpleXMLElement
  • Belgede kullanılan isim alanlarını döndürür

SimpleXMLElement::getNamespaces

(PHP 5 >= 5.1.2, PHP 7, PHP 8)

SimpleXMLElement::getNamespaces — Belgede kullanılan isim alanlarını döndürür

Açıklama

public SimpleXMLElement::getNamespaces(bool $ardışık = false): array

Belgede kullanılan isim alanlarını döndürür.

Bağımsız Değişkenler

ardışık

true belirtilirse kök düğüm ve tüm çocuk ve torun düğümlerin isim alanlarını, aksi takdirde sadece kök düğümde kullanılan isim alanlarını döndürür.

Dönen Değerler

İsim alanlarını ve betimleyicilerini içeren bir dizi döndürür.

Örnekler

Örnek 1 - Kullanılan belge isim alanlarının döndürülmesi

<?php

$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<people xmlns:p="http://example.org/ns" xmlns:t="http://example.org/test">
<p:person id="1">John Doe</p:person>
<p:person id="2">Susie Q. Public</p:person>
</people>
XML;

$sxe = new SimpleXMLElement($xml);

$namespaces = $sxe->getNamespaces(true);
var_dump($namespaces);

?>

Yukarıdaki örneğin çıktısı:

array(1) {
  ["p"]=>
  string(21) "http://example.org/ns"
}

Ayrıca Bakınız

  • SimpleXMLElement::getDocNamespaces() - Belgede bildirilmiş isim alanlarını döndürür
  • SimpleXMLElement::registerXPathNamespace() - Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur


Returns the sub-elements of the current element

  • « SimpleXMLElement::getNamespaces
  • SimpleXMLElement::hasChildren »
  • PHP Manual
  • SimpleXMLElement
  • Returns the sub-elements of the current element

SimpleXMLElement::getChildren

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::getChildren — Returns the sub-elements of the current element

Açıklama

public SimpleXMLElement::getChildren(): ?SimpleXMLElement
Uyarı

Prior to PHP 8.0, SimpleXMLElement::getChildren() was only declared on the subclass SimpleXMLIterator.

This method returns a SimpleXMLElement object containing sub-elements of the current SimpleXMLElement element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns a SimpleXMLElement object containing the sub-elements of the current element.

Örnekler

Örnek 1 Return the sub-elements of the current element

<?php
$xml = <<<XML
<books>
<book>
<title>PHP Basics</title>
<author>Jim Smith</author>
</book>
<book>XML basics</book>
</books>
XML;

$xmlElement = new SimpleXMLElement($xml);
for ($xmlElement->rewind(); $xmlElement->valid(); $xmlElement->next()) {
foreach($xmlElement->getChildren() as $name => $data) {
echo "The $name is '$data' from the class " . get_class($data) . "\n";
}
}
?>

Yukarıdaki örneğin çıktısı:

The title is 'PHP Basics' from the class SimpleXMLElement
The author is 'Jim Smith' from the class SimpleXMLElement


Checks whether the current element has sub elements

  • « SimpleXMLElement::getChildren
  • SimpleXMLElement::key »
  • PHP Manual
  • SimpleXMLElement
  • Checks whether the current element has sub elements

SimpleXMLElement::hasChildren

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::hasChildren — Checks whether the current element has sub elements

Açıklama

public SimpleXMLElement::hasChildren(): bool
Uyarı

Prior to PHP 8.0, SimpleXMLElement::hasChildren() was only declared on the subclass SimpleXMLIterator.

This method checks whether the current SimpleXMLElement element has sub-elements.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

true if the current element has sub-elements, otherwise false

Örnekler

Örnek 1 Check whether the current element has sub-elements

<?php
$xml = <<<XML
<books>
<book>
<title>PHP Basics</title>
<author>Jim Smith</author>
</book>
<book>XML basics</book>
</books>
XML;

$xmlElement = new SimpleXMLElement($xml);
for ($xmlElement->rewind(); $xmlElement->valid(); $xmlElement->next()) {
if ($xmlElement->hasChildren()) {
var_dump($xmlElement->current());
}
}
?>

Yukarıdaki örneğin çıktısı:

object(SimpleXMLElement)#2 (2) {
  ["title"]=>
  string(10) "PHP Basics"
  ["author"]=>
  string(9) "Jim Smith"
}


Return current key

  • « SimpleXMLElement::hasChildren
  • SimpleXMLElement::next »
  • PHP Manual
  • SimpleXMLElement
  • Return current key

SimpleXMLElement::key

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::key — Return current key

Açıklama

public SimpleXMLElement::key(): string
Uyarı

Prior to PHP 8.0, SimpleXMLElement::key() was only declared on the subclass SimpleXMLIterator.

This method gets the XML tag name of the current element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the XML tag name of the element referenced by the current SimpleXMLElement object.

Hatalar/İstisnalar

Throws an Error on failure.

Sürüm Bilgisi

Sürüm: | Açıklama
8.1.0 | An Error is now thrown if SimpleXMLElement::key() is called on an invalid iterator. Previously, false was returned.

Örnekler

Örnek 1 Get the current XML tag key

<?php
$xmlElement = new SimpleXMLElement('<books><book>PHP basics</book><book>XML basics</book></books>');

echo var_dump($xmlElement->key());
$xmlElement->rewind(); // rewind to the first element
echo var_dump($xmlElement->key());

?>

Yukarıdaki örneğin çıktısı:

bool(false)
string(4) "book"


Move to next element

  • « SimpleXMLElement::key
  • SimpleXMLElement::registerXPathNamespace »
  • PHP Manual
  • SimpleXMLElement
  • Move to next element

SimpleXMLElement::next

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::next — Move to next element

Açıklama

public SimpleXMLElement::next(): void
Uyarı

Prior to PHP 8.0, SimpleXMLElement::next() was only declared on the subclass SimpleXMLIterator.

This method moves the SimpleXMLElement to the next element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Move to the next element

<?php
$xmlElement = new SimpleXMLElement('<books><book>PHP Basics</book><book>XML basics</book></books>');
$xmlElement->rewind(); // rewind to the first element
$xmlElement->next();

var_dump($xmlElement->current());
?>

Yukarıdaki örneğin çıktısı:

object(SimpleXMLElement)#2 (1) {
  [0]=>
  string(10) "XML basics"
}


Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur

  • « SimpleXMLElement::next
  • SimpleXMLElement::rewind »
  • PHP Manual
  • SimpleXMLElement
  • Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur

SimpleXMLElement::registerXPathNamespace

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

SimpleXMLElement::registerXPathNamespace — Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur

Açıklama

public SimpleXMLElement::registerXPathNamespace(string $önek, string $isimalanı): bool

Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur. Özellikle, XML belgenin, isim alanı öneklerinin değiştirilmesi durumunda kullanışlıdır. Bu yöntem, isim alanındaki düğümlere kodda değişiklik yapmadan erişmek amacıyla ilişkili isim alanı için bir önek oluşturur.

Bağımsız Değişkenler

önek

isimalanı ile belirtilen isim alanı için Xpath ifadesinde kullanılacak isim alanı öneki.

isimalanı

Xpath ifadesi için kullanılacak isim alanı. Belirtilen önek'in kullanıldığı XPath ifadeleri veya XML belgelerinin bir sonuç üretmesi için kullanılacak isim alanı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Bir XPath ifadesinde kullanılacak isim alanı önekinin belirtilmesi

<?php

$xml = <<<EOD
<book xmlns:chap="http://example.org/chapter-title">
<title>XPath Kitabı</title>
<chapter id="1">
<chap:title>1. Fasıl</chap:title>
<para>Önemli ifade çeşitlerinden biri konumsal yoldur. Bir konumsal
yol bağlamsal düğüme göreli olarak bir düğüm kümesini seçer. İfadenin
konumsal yol olduğu durumda değerlendirme sonucu, konumsal yol
tarafından seçilen düğümleri içeren düğüm kümesidir. Konumsal yollar
düğüm kümelerini süzmekte kullanılan ifadeleri dönüşümlü olarak
içerebilir. İki çeşit konumsal yol vardır: Göreli konumsal yollar ve
mutlak konumsal yollar.</para>
</chapter>
<chapter id="2">
<chap:title>2. Fasıl</chap:title>
<para>Bir göreli konumsal yol, / imleriyle birbirlerinden ayrılmış bir
veya daha fazla konumdan oluşur. Göreli konumsal yoldaki bu konumlar
soldan sağa birlikte bir bütün oluştururlar. Her konumda bağlamsal
düğüme göreli bir düğüm kümesi seçilir ve kümedeki her düğüm sonraki
konumun bağlamsal düğümü olur. Bir mutlak konumsal yol / iminden sonra
gelen bir göreli konumsal yoldan oluşur. Tek başına / imi, bağlamsal
düğümü içeren belgenin kök düğümünü seçer. Kök düğüm, bu imden sonra
gelen göreli konumsal yolun ilk konumunun bağlamsal düğümü olur.</para>
</chapter>
</book>
EOD;

$sxe = new SimpleXMLElement($xml);

$sxe->registerXPathNamespace('c', 'http://example.org/chapter-title');
$result = $sxe->xpath('//c:title');

foreach ($result as $title) {
echo $title . "\n";
}

?>

Yukarıdaki örneğin çıktısı:

Chapter 1
Chapter 2

Örnekte, bir isim alanının chap önekiyle bir XML belgede nasıl gösterildiğine dikkat edin. Bu belgenin (veya bir benzerinin) geçmişte, aynı isim alanı için c önekini kullanmış olduğunu varsayalım. Önek değiştiğinden XPath ifadesi beklenen sonucu vermeyecek ve ifadenin değiştirilmesi gerekecektir. İşte bu noktada registerXPathNamespace ile bu gibi önek değişikliklerinde ifadenin değiştirilmesi gereğini ortadan kaldırmak mümkün olur.

Ayrıca Bakınız

  • SimpleXMLElement::xpath() - Bir XML veri üzerinde bir XPath sorgusu çalıştırır
  • SimpleXMLElement::getDocNamespaces() - Belgede bildirilmiş isim alanlarını döndürür
  • SimpleXMLElement::getNamespaces() - Belgede kullanılan isim alanlarını döndürür


Rewind to the first element

  • « SimpleXMLElement::registerXPathNamespace
  • SimpleXMLElement::saveXML »
  • PHP Manual
  • SimpleXMLElement
  • Rewind to the first element

SimpleXMLElement::rewind

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::rewind — Rewind to the first element

Açıklama

public SimpleXMLElement::rewind(): void
Uyarı

Prior to PHP 8.0, SimpleXMLElement::rewind() was only declared on the subclass SimpleXMLIterator.

This method rewinds the SimpleXMLElement to the first element.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 Rewind to the first element

<?php
$xmlElement = new SimpleXMLElement('<books><book>PHP Basics</book><book>XML Basics</book></books>');
$xmlElement->rewind();

var_dump($xmlElement->current());
?>

Yukarıdaki örneğin çıktısı:

object(SimpleXMLElement)#2 (1) {
  [0]=>
  string(10) "PHP Basics"
}


Takma Adı: SimpleXMLElement::asXML

  • « SimpleXMLElement::rewind
  • SimpleXMLElement::__toString »
  • PHP Manual
  • SimpleXMLElement
  • Takma Adı: SimpleXMLElement::asXML

SimpleXMLElement::saveXML

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

SimpleXMLElement::saveXML — Takma Adı: SimpleXMLElement::asXML()

Açıklama

Bu yöntem şu yöntemin takma adıdır: SimpleXMLElement::asXML()


Returns the string content

  • « SimpleXMLElement::saveXML
  • SimpleXMLElement::valid »
  • PHP Manual
  • SimpleXMLElement
  • Returns the string content

SimpleXMLElement::__toString

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SimpleXMLElement::__toString — Returns the string content

Açıklama

public SimpleXMLElement::__toString(): string

Returns text content that is directly in this element. Does not return text content that is inside this element's children.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the string content on success or an empty string on failure.

Örnekler

Örnek 1 Get string content

<?php
$xml = new SimpleXMLElement('<a>1 <b>2 </b>3</a>');
echo $xml;
?>

Yukarıdaki örneğin çıktısı:

1 3

Ayrıca Bakınız

  • SimpleXMLElement::asXML() - Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür


Check whether the current element is valid

  • « SimpleXMLElement::__toString
  • SimpleXMLElement::xpath »
  • PHP Manual
  • SimpleXMLElement
  • Check whether the current element is valid

SimpleXMLElement::valid

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

SimpleXMLElement::valid — Check whether the current element is valid

Açıklama

public SimpleXMLElement::valid(): bool
Uyarı

Prior to PHP 8.0, SimpleXMLElement::valid() was only declared on the subclass SimpleXMLIterator.

This method checks if the current element is valid after calls to SimpleXMLElement::rewind() or SimpleXMLElement::next().

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns true if the current element is valid, otherwise false

Örnekler

Örnek 1 Check whether the current element is valid

<?php
$xmlElement = new SimpleXMLElement('<books><book>SQL Basics</book></books>');

$xmlElement->rewind(); // rewind to the first element
echo var_dump($xmlElement->valid()); // bool(true)

$xmlElement->next(); // advance to the next element
echo var_dump($xmlElement->valid()); // bool(false) because there is only one element
?>


Bir XML veri üzerinde bir XPath sorgusu çalıştırır

  • « SimpleXMLElement::valid
  • SimpleXMLIterator »
  • PHP Manual
  • SimpleXMLElement
  • Bir XML veri üzerinde bir XPath sorgusu çalıştırır

SimpleXMLElement::xpath

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::xpath — Bir XML veri üzerinde bir XPath sorgusu çalıştırır

Açıklama

public SimpleXMLElement::xpath(string $ifade): array|null|false

ifade ile belirtilen XPath yoluyla eşleşen SimpleXMLElement düğümlerini döndürür.

Bağımsız Değişkenler

ifade

Bir XPath yolu.

Dönen Değerler

Başarısız olursa false yoksa SimpleXMLElement nesnelerinden oluşan bir dizi veya null döndürür.

Örnekler

Örnek 1 - Xpath örneği

<?php
$string = <<<XML
<a>
<b>
<c>text</c>
<c>stuff</c>
</b>
<d>
<c>code</c>
</d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* Search for <a><b><c> */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
echo '/a/b/c: ',$node,"\n";
}

/* Göreli yollar da çalışır... */
$result = $xml->xpath('b/c');

foreach ($result as $node) {
echo 'b/c: ',$node,"\n";
}
?>

Yukarıdaki örneğin çıktısı:

/a/b/c: text
/a/b/c: stuff
b/c: text
b/c: stuff

İki sonucun da aynı oluşuna dikkat edin.

Ayrıca Bakınız

  • SimpleXMLElement::registerXPathNamespace() - Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur
  • SimpleXMLElement::getDocNamespaces() - Belgede bildirilmiş isim alanlarını döndürür
  • SimpleXMLElement::getNamespaces() - Belgede kullanılan isim alanlarını döndürür
  • Temel SimpleXML kullanımı


The SimpleXMLIterator class

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

Giriş

The SimpleXMLIterator provides recursive iteration over all nodes of a SimpleXMLElement object.

Sınıf Sözdizimi

class SimpleXMLIterator extends SimpleXMLElement {
/* Miras alınan yöntemler */
public SimpleXMLElement::__construct(
string $veri,
int $seçenekler = 0,
bool $veri_bir_url = false,
string $isimalanı_veya_önek = "",
bool $önek_var = false
)
public SimpleXMLElement::addAttribute(string $isim, string $değer, ?string $isimalanı = null): void
public SimpleXMLElement::addChild(string $isim, ?string $değer = null, ?string $isimalanı = null): ?SimpleXMLElement
public SimpleXMLElement::asXML(?string $dosya = null): string|bool
public SimpleXMLElement::attributes(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement
public SimpleXMLElement::children(?string $isimalanı_veya_önek = null, bool $önek_var = false): ?SimpleXMLElement
public SimpleXMLElement::count(): int
public SimpleXMLElement::current(): SimpleXMLElement
public SimpleXMLElement::getDocNamespaces(bool $ardışık = false, bool $kökten = true): array|false
public SimpleXMLElement::getName(): string
public SimpleXMLElement::getNamespaces(bool $ardışık = false): array
public SimpleXMLElement::getChildren(): ?SimpleXMLElement
public SimpleXMLElement::hasChildren(): bool
public SimpleXMLElement::key(): string
public SimpleXMLElement::next(): void
public SimpleXMLElement::registerXPathNamespace(string $önek, string $isimalanı): bool
public SimpleXMLElement::rewind(): void
public SimpleXMLElement::__toString(): string
public SimpleXMLElement::valid(): bool
public SimpleXMLElement::xpath(string $ifade): array|null|false
}

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Iterator methods (SimpleXMLIterator::hasChildren(), SimpleXMLIterator::getChildren(), SimpleXMLIterator::current(), SimpleXMLIterator::key(), SimpleXMLIterator::next(),SimpleXMLIterator::rewind(), SimpleXMLIterator::valid()) were moved to SimpleXMLElement.
8.0.0 | SimpleXMLIterator implements Stringable now.


Basit XML İşlevleri

İçindekiler

  • simplexml_import_dom — Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür
  • simplexml_load_file — Bir XML dosyasının içeriğini bir nesne haline getirir
  • simplexml_load_string — Bir XML dizgesini bir nesne haline getirir


Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür

  • « Basit XML İşlevleri
  • simplexml_load_file »
  • PHP Manual
  • Basit XML İşlevleri
  • Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür

simplexml_import_dom

(PHP 5, PHP 7, PHP 8)

simplexml_import_dom — Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür

Açıklama

simplexml_import_dom(SimpleXMLElement|DOMNode $düğüm, ?string $sınıfAdı = SimpleXMLElement::class): ?SimpleXMLElement

Bir DOM düğümü alıp bir SimpleXMLElement düğümü oluşturur. Bu yeni nesne yeni bir Basit XML elemanı olarak kullanılabilir.

Bağımsız Değişkenler

düğüm

Bir DOM Eleman düğümü

sınıfAdı

İsteğe bağlı bu bağımsız değişken ile bir nesne döndürmek üzere SimpleXMLElement sınıfından türetilmiş bir sınıf ismi belirtilebilir.

Dönen Değerler

Başarısız olursa null yoksa bir SimpleXMLElement nesnesi döndürür.

Örnekler

Örnek 1 - DOM ithali

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
echo 'Belge çözümlenemedi';
exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

Yukarıdaki örneğin çıktısı:

blah

Ayrıca Bakınız

  • dom_import_simplexml() - Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür
  • Temel SimpleXML kullanımı


Bir XML dosyasının içeriğini bir nesne haline getirir

  • « simplexml_import_dom
  • simplexml_load_string »
  • PHP Manual
  • Basit XML İşlevleri
  • Bir XML dosyasının içeriğini bir nesne haline getirir

simplexml_load_file

(PHP 5, PHP 7, PHP 8)

simplexml_load_file — Bir XML dosyasının içeriğini bir nesne haline getirir

Açıklama

simplexml_load_file(
string $dosya,
?string $sınıfAdı = SimpleXMLElement::class,
int $seçenekler = 0,
string $isimalanı_veya_önek = "",
bool $önek_var = false
): SimpleXMLElement|false

Dosya ismi belirtilen iyi biçemli bir XML belgeyi bir nesneye dönüştürür.

Bağımsız Değişkenler

dosya

XML dosyanın yolu.

sınıfAdı

İsteğe bağlı bu bağımsız değişken ile bir nesne döndürmek üzere SimpleXMLElement sınıfından türetilmiş bir sınıf ismi belirtilebilir.

seçenekler

libxml seçenek sabitlerinin bitsel VEYAsı.

isimalanı_veya_önek

İsimalanı öneki veya URI.

önek_var

isimalanı_veya_önek bir önek ise true, bir URI ise false öntanımlıdır.

Dönen Değerler

XML belgedeki veriyi içeren, SimpleXMLElement sınıfından türetilmiş bir nesne döndürür, başarısızlık durumunda false döner.

Uyarı

Bu işlev mantıksal false değeriyle dönebileceği gibi false olarak değerlendirilebilecek mantıksal olmayan bir değerle de dönebilir. Bu konuda daha fazla bilgi Mantıksal Değerler bölümünde bulunabilir. Bu işlevden dönen değeri sınamak için === işleci kullanılabilir.

Hatalar/İstisnalar

XML verisinde bulunan her hata için bir E_WARNING hatası üretilir.

İpucu

Tüm XML hatalarını bastırmak için libxml_use_internal_errors() kullanıp daha sonra bu hataları libxml_get_errors() ile tek tek ele alabilirsiniz.

Örnekler

Örnek 1 - Bir XML belgenin yorumlanması

<?php
// test.xml dosyası en azından bir <title> elemanına
// sahip bir XML belge içermektedir.

if (file_exists('test.xml')) {
$xml = simplexml_load_file('test.xml');

print_r($xml);
} else {
exit('test.xml açılamadı.');
}
?>

Betik sorunsuz çalışırsa şunu çıktılar:

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

Ayrıca, echo $xml->title gibi çıktılamalar da yapabilirdiniz.

Ayrıca Bakınız

  • simplexml_load_string() - Bir XML dizgesini bir nesne haline getirir
  • SimpleXMLElement::__construct() - Yeni bir SimpleXMLElement nesnesi oluşturur
  • XML hatalarıya ilgilenmek
  • libxml_use_internal_errors() - libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar
  • Temel SimpleXML kullanımı
  • libxml_set_streams_context() - Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler


Bir XML dizgesini bir nesne haline getirir

  • « simplexml_load_file
  • WDDX »
  • PHP Manual
  • Basit XML İşlevleri
  • Bir XML dizgesini bir nesne haline getirir

simplexml_load_string

(PHP 5, PHP 7, PHP 8)

simplexml_load_string — Bir XML dizgesini bir nesne haline getirir

Açıklama

simplexml_load_string(
string $veri,
?string $sınıfAdı = SimpleXMLElement::class,
int $seçenekler = 0,
string $isimalanı_veya_önek = "",
bool $önek_var = false
): SimpleXMLElement|false

İyi biçemli bir XML dizgesi alır ve bir nesne olarak döndürür.

Bağımsız Değişkenler

veri

İyi biçemli bir XML dizgesi.

sınıfAdı

İsteğe bağlı bu bağımsız değişken ile bir nesne döndürmek üzere SimpleXMLElement sınıfından türetilmiş bir sınıf ismi belirtilebilir.

seçenekler

libxml seçenek sabitlerinin bitsel VEYAsı.

isimalanı_veya_önek

İsimalanı öneki veya URI.

önek_var

isimalanı_veya_önek bir önek ise true, bir URI ise false öntanımlıdır.

Dönen Değerler

XML belgedeki veriyi içeren, SimpleXMLElement sınıfından türetilmiş bir nesne döndürür, başarısızlık durumunda false döner.

Hatalar/İstisnalar

XML verisinde bulunan her hata için bir E_WARNING hatası üretilir.

İpucu

Tüm XML hatalarını bastırmak için libxml_use_internal_errors() kullanıp daha sonra bu hataları libxml_get_errors() ile tek tek ele alabilirsiniz.

Örnekler

Örnek 1 - Bir XML belgenin yorumlanması

<?php
$string = <<<XML
<?xml version='1.0'?>
<document>
<title>Soru Ne?</title>
<from>Can</from>
<to>Canan</to>
<body>
Cevabı anladık da sonu neydi?
</body>
</document>
XML;

$xml = simplexml_load_string($string);

var_dump($xml);
?>

Yukarıdaki örneğin çıktısı:

SimpleXMLElement Object
(
  [title] => Soru Ne?
  [from] => Can
  [to] => Canan
  [body] =>
   Cevabı anladık da sonu neydi?
)

Ayrıca, echo $xml->body gibi çıktılamalar da yapabilirdiniz.

Ayrıca Bakınız

  • simplexml_load_file() - Bir XML dosyasının içeriğini bir nesne haline getirir
  • SimpleXMLElement::__construct() - Yeni bir SimpleXMLElement nesnesi oluşturur
  • XML hatalarıya ilgilenmek
  • libxml_use_internal_errors() - libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar
  • Temel SimpleXML kullanımı


WDDX

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • WDDX örnekleri
  • WDDX İşlevleri
    • wddx_add_vars — Tanıtıcısı belirtilen WDDX paketine değişken ekler
    • wddx_deserialize — WDDX paketini nesneleştirir
    • wddx_packet_end — Tanıtıcısı belirtilen WDDX paketini kapatır
    • wddx_packet_start — Bir veri yapısı içeren yeni bir WDDX paketi başlatır
    • wddx_serialize_value — Tek bir değeri bir WDDX paketi içinde dizgeleştirir
    • wddx_serialize_vars — Değişkenleri bir WDDX paketi olarak dizgeleştirir


Giriş

Uyarı

Bu eklentinin KULLANIMI ÖNERİLMEMEKTEDİR ve PHP 7.4.0 itibariyle PHP paketinde dağıtılmamaktadır.

Bu işlevler » WDDX ile çalışmak üzere tasarlanmıştır.

Uyarı

Güvenilmeyen kullanıcı girdisini wddx_deserialize() işlevine aktarmayın. Nesneleştirme, nesnenin ilklendirmesi ve otomatik yüklenmesi nedeniyle kodun yüklenmesine ve çalıştırılmasına sebep olabilir ve kötü niyetli bir kullanıcı bundan yararlanabilir. Dizeleştirilmiş verileri kullanıcıya iletmeniz gerekiyorsa, JSON gibi güvenli, standart bir veri değişim biçemi (json_decode() ve json_encode() aracılığıyla) kullanın.


Gereksinimler

Bu eklenti PHP'nin libxml eklentsini gerektirir. Libxml öntanımlı olarak etkin olduğundan bu örtük olarak sağlansa da derleme sırasında ayrıca bir --with-libxml veya PHP 7.4 öncesinde --enable-libxml gerekir.

WDDX eklentisini kullanmak için sisteminizde expat kütüphanesinin kurulu olması gerekir. Expat kütüphanesi Apache 1.3.7 ve üstü sürümlerle gelir.


Kurulum

PHP 7.4

itibariyle, bu eklenti » PECL deposuna taşınmış olup artık PHP kaynak paketinde dağıtılmamaktatır.7.4.0

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/wddx.

PHP < 7.4

Gerekli expat kütüphanesi kurulduktan sonra, PHP --enable-wddx ve --with-libexpat-dir seçenekleri ile derlenmelidir.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


  • « Çalışma Anı Yapılandırması
  • Öntanımlı Sabitler »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklenti, wddx_packet_start() işlevi tarafından döndürülen bir WDDX paket tanıtıcısına sahiptir.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • WDDX
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


  • « Öntanımlı Sabitler
  • WDDX örnekleri »
  • PHP Manual
  • WDDX
  • Örnekler

Örnekler

İçindekiler

  • WDDX örnekleri


WDDX örnekleri

Değişkenleri dizgeleştiren tüm işlevler, dizinin bir dizi olarak mı yoksa bir yapı olarak mı dizgeleştirileceğini saptamak için bir dizinin ilk elemanını kullanır. Eğer ilk eleman dizgesel bir anahtara sahipse bir yapı olarak aksi takdirde bir dizi olarak dizgeleştirilir.

Örnek 1 - WDDX ile tek bir değerin dizgeleştirilmesi

<?php
echo wddx_serialize_value("PHP'den WDDX paketi elde etme örneği", "PHP paketi");
?>

Bu örnek şunu üretir:

<wddxPacket version='1.0'><header comment='PHP paketi'/><data>
<string>PHP'den WDDX paketi elde etme örneği</string></data></wddxPacket>

Örnek 2 - WDDX ile artırımsal paketlerin kullanımı

<?php
$pi = 3.1415926;
$packet_id = wddx_packet_start("PHP");
wddx_add_vars($packet_id, "pi");

/* $cities veritabanından geliyor olsun */
$cities = array("Austin", "Novato", "Seattle");
wddx_add_vars($packet_id, "cities");

$packet = wddx_packet_end($packet_id);
echo $packet;
?>

Bu örnek şunu üretir:

<wddxPacket version='1.0'><header comment='PHP'/><data><struct>
<var name='pi'><number>3.1415926</number></var><var name='cities'>
<array length='3'><string>Austin</string><string>Novato</string>
<string>Seattle</string></array></var></struct></data></wddxPacket>

Bilginize:

Dizgelerin kodlaması UTF-8 olmalıdır. Diğer kodlamalar mb_convert_encoding(), iconv() veya UConverter::transcode() kullanılarak önce UTF-8'e dönüştürülmelidir.


WDDX İşlevleri

İçindekiler

  • wddx_add_vars — Tanıtıcısı belirtilen WDDX paketine değişken ekler
  • wddx_deserialize — WDDX paketini nesneleştirir
  • wddx_packet_end — Tanıtıcısı belirtilen WDDX paketini kapatır
  • wddx_packet_start — Bir veri yapısı içeren yeni bir WDDX paketi başlatır
  • wddx_serialize_value — Tek bir değeri bir WDDX paketi içinde dizgeleştirir
  • wddx_serialize_vars — Değişkenleri bir WDDX paketi olarak dizgeleştirir


Tanıtıcısı belirtilen WDDX paketine değişken ekler

  • « WDDX İşlevleri
  • wddx_deserialize »
  • PHP Manual
  • WDDX İşlevleri
  • Tanıtıcısı belirtilen WDDX paketine değişken ekler

wddx_add_vars

(PHP 4, PHP 5, PHP 7)

wddx_add_vars — Tanıtıcısı belirtilen WDDX paketine değişken ekler

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_add_vars(resource $pt, mixed $isim, mixed ...$isimler): bool

İsimleri aktarılan değişkenleri dizgeleştirip tanıtıcısı belirtilen WDDX paketine ekler.

Bağımsız Değişkenler

Bu işlevin alabileceği bağımsız değişken sayısı değişkendir.

pt

wddx_packet_start() tarafından döndürülmüş bir WDDX paket tanıtıcısı.

isim

Bir değişken ismi veya değişken isimlerini veya diğer dizileri ve benzerlerini içeren bir dizi olabilir.

isimler

Değişken isimleri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


WDDX paketini nesneleştirir

  • « wddx_add_vars
  • wddx_packet_end »
  • PHP Manual
  • WDDX İşlevleri
  • WDDX paketini nesneleştirir

wddx_deserialize

(PHP 4, PHP 5, PHP 7)

wddx_deserialize — WDDX paketini nesneleştirir

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_deserialize(string $paket): mixed

Belirtilen WDDX paketini nesneleştirir.

Uyarı

Güvenilmeyen kullanıcı girdisini wddx_deserialize() işlevine aktarmayın. Nesneleştirme, nesnenin ilklendirmesi ve otomatik yüklenmesi nedeniyle kodun yüklenmesine ve çalıştırılmasına sebep olabilir ve kötü niyetli bir kullanıcı bundan yararlanabilir. Dizeleştirilmiş verileri kullanıcıya iletmeniz gerekiyorsa, JSON gibi güvenli, standart bir veri değişim biçemi (json_decode() ve json_encode() aracılığıyla) kullanın.

Bağımsız Değişkenler

paket

Dizge veya akım olarak bir WDDX paketi.

Dönen Değerler

Bir dizge, sayı veya dizi olabilen dizgeleşmiş durumdan çıkarılan değeri döndürür. Yapıların ilişkisel diziler halinde dizgeleştirildikleri unutulmamalıdır.


Tanıtıcısı belirtilen WDDX paketini kapatır

  • « wddx_deserialize
  • wddx_packet_start »
  • PHP Manual
  • WDDX İşlevleri
  • Tanıtıcısı belirtilen WDDX paketini kapatır

wddx_packet_end

(PHP 4, PHP 5, PHP 7)

wddx_packet_end — Tanıtıcısı belirtilen WDDX paketini kapatır

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_packet_end(resource $pt): string

Tanıtıcısı belirtilen WDDX paketini kapatır ve döndürür.

Bağımsız Değişkenler

pt

wddx_packet_start() tarafından döndürülmüş bir WDDX paket tanıtıcısı.

Dönen Değerler

WDDX paketini içeren bir dizge döner.


Bir veri yapısı içeren yeni bir WDDX paketi başlatır

  • « wddx_packet_end
  • wddx_serialize_value »
  • PHP Manual
  • WDDX İşlevleri
  • Bir veri yapısı içeren yeni bir WDDX paketi başlatır

wddx_packet_start

(PHP 4, PHP 5, PHP 7)

wddx_packet_start — Bir veri yapısı içeren yeni bir WDDX paketi başlatır

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_packet_start(string $azıklama = ?): resource

Değişken eklemek üzere yeni bir WDDX paketi başlatır. Otomatik olarak paket içinde değişkenleri içerecek bir veri yapısı oluşturulur.

Bağımsız Değişkenler

açıklama

Belirtilmesi isteğe bağlı bir açıklama dizgesi.

Dönen Değerler

Bir hata oluşursa false yoksa daha sonra işlevlerde kullanılmak üzere bir paket tanıtıcısı döner.


Tek bir değeri bir WDDX paketi içinde dizgeleştirir

  • « wddx_packet_start
  • wddx_serialize_vars »
  • PHP Manual
  • WDDX İşlevleri
  • Tek bir değeri bir WDDX paketi içinde dizgeleştirir

wddx_serialize_value

(PHP 4, PHP 5, PHP 7)

wddx_serialize_value — Tek bir değeri bir WDDX paketi içinde dizgeleştirir

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_serialize_value(mixed $değer, string $açıkama = ?): string

Belirtilen değerden bir WDDX paketi oluşturur.

Bağımsız Değişkenler

değer

Dizgeleştirilecek değer.

açıkama

Paket başlığında görünmek üzere belirtilmesi isteğe bağlı açıklama dizgesi.

Dönen Değerler

Bir hata oluşursa false yoksa bir WDDX paketi döner.


Değişkenleri bir WDDX paketi olarak dizgeleştirir

  • « wddx_serialize_value
  • XMLDiff »
  • PHP Manual
  • WDDX İşlevleri
  • Değişkenleri bir WDDX paketi olarak dizgeleştirir

wddx_serialize_vars

(PHP 4, PHP 5, PHP 7)

wddx_serialize_vars — Değişkenleri bir WDDX paketi olarak dizgeleştirir

Uyarı

Bu işlev PHP 7.4.0'da tamamen KALDIRILMIŞTIR.

Açıklama

wddx_serialize_vars(mixed $isim, mixed ...$isimler): string

İsimleri aktarılan değişkenlerin dizgeleştirilmiş gösterimlerini içeren bir yapı olarak bir WDDX paketi oluşturur.

Bağımsız Değişkenler

Bu işlevin alabileceği bağımsız değişken sayısı değişkendir.

isim

Bir değişken ismi veya değişken isimlerini veya diğer dizileri ve benzerlerini içeren bir dizi olabilir.

isimler

Değişken isimleri.

Dönen Değerler

Bir hata oluşursa false yoksa bir WDDX paketi döner.

Örnekler

Örnek 1 - wddx_serialize_vars() örneği

<?php
$a = 1;
$b = 5.5;
$c = array("blue", "orange", "violet");
$d = "colors";

$clvars = array("c", "d");
echo wddx_serialize_vars("a", "b", $clvars);
?>

Yukarıdaki örneğin çıktısı:

<wddxPacket version='1.0'><header/><data><struct><var name='a'><number>1</number></var>
<var name='b'><number>5.5</number></var><var name='c'><array length='3'>
<string>blue</string><string>orange</string><string>violet</string></array></var>
<var name='d'><string>colors</string></var></struct></data></wddxPacket>


XML diff and merge

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • XMLDiff\Base — The XMLDiff\Base class
    • XMLDiff\Base::__construct — Constructor
    • XMLDiff\Base::diff — Produce diff of two XML documents
    • XMLDiff\Base::merge — Produce new XML document based on diff
  • XMLDiff\DOM — The XMLDiff\DOM class
    • XMLDiff\DOM::diff — Diff two DOMDocument objects
    • XMLDiff\DOM::merge — Produce merged DOMDocument
  • XMLDiff\Memory — The XMLDiff\Memory class
    • XMLDiff\Memory::diff — Diff two XML documents
    • XMLDiff\Memory::merge — Produce merged XML document
  • XMLDiff\File — The XMLDiff\File class
    • XMLDiff\File::diff — Diff two XML files
    • XMLDiff\File::merge — Produce merged XML document


Giriş

The extension is able to produce diffs of two XML documents and then to apply the difference to the source document. The diff is a XML document containing copy/insert/delete instruction nodes in human readable format. DOMDocument objects, local files and strings in memory can be processed.


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • XMLDiff
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


Gereksinimler

libdiffmark - version 0.10 is bundled with the extension. If diffmark is available from your system packages, its usage is strongly encouraged.

libxml extension

DOM extension


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/xmldiff.

A DLL for this PECL extension is available under » http://windows.php.net/downloads/pecl/releases/xmldiff/.


The XMLDiff\Base class

(PECL xmldiff >= 0.8.0)

Giriş

Base abstract class for all the comparsion classes in the extension.

Sınıf Sözdizimi

class XMLDiff\Base {
/* Yöntemler */
public __construct(string $nsname)
abstract public diff(mixed $from, mixed $to): mixed
abstract public merge(mixed $src, mixed $diff): mixed
}

İçindekiler

  • XMLDiff\Base::__construct — Constructor
  • XMLDiff\Base::diff — Produce diff of two XML documents
  • XMLDiff\Base::merge — Produce new XML document based on diff


Constructor

  • « XMLDiff\Base
  • XMLDiff\Base::diff »
  • PHP Manual
  • XMLDiff\Base
  • Constructor

XMLDiff\Base::__construct

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::__construct — Constructor

Açıklama

public XMLDiff\Base::__construct(string $nsname)

Base constructor for all the worker classes in the xmldiff extension.

Bağımsız Değişkenler

nsname

Custom namespace name for the diff document. The default namespace is http://www.locus.cz/diffmark and that's enough to avoid namespace conflicts. Use this parameter if you want to change it for some reason.


Produce diff of two XML documents

  • « XMLDiff\Base::__construct
  • XMLDiff\Base::merge »
  • PHP Manual
  • XMLDiff\Base
  • Produce diff of two XML documents

XMLDiff\Base::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::diff — Produce diff of two XML documents

Açıklama

abstract public XMLDiff\Base::diff(mixed $from, mixed $to): mixed

Abstract diff method to be implemented by inheriting classes.

The basic purpose of this method is to produce diff of the two documents. The param order matters and will produce different output.

Bağımsız Değişkenler

from

Source XML document.

to

Target XML document.

Dönen Değerler

Implementation dependent.


Produce new XML document based on diff

  • « XMLDiff\Base::diff
  • XMLDiff\DOM »
  • PHP Manual
  • XMLDiff\Base
  • Produce new XML document based on diff

XMLDiff\Base::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Base::merge — Produce new XML document based on diff

Açıklama

abstract public XMLDiff\Base::merge(mixed $src, mixed $diff): mixed

Abstract merge method to be implemented by inheriting classes.

Basically the method purpose is to produce a new XML document based on the diff information.

Bağımsız Değişkenler

src

Source XML document.

diff

Document produced by the diff method.

Dönen Değerler

Implementation dependent.


The XMLDiff\DOM class

(PECL xmldiff >= 0.8.0)

Giriş

Sınıf Sözdizimi

class XMLDiff\DOM extends XMLDiff\Base {
/* Yöntemler */
public diff(DOMDocument $from, DOMDocument $to): DOMDocument
public merge(DOMDocument $src, DOMDocument $diff): DOMDocument
/* Miras alınan yöntemler */
abstract public XMLDiff\Base::diff(mixed $from, mixed $to): mixed
abstract public XMLDiff\Base::merge(mixed $src, mixed $diff): mixed
}

İçindekiler

  • XMLDiff\DOM::diff — Diff two DOMDocument objects
  • XMLDiff\DOM::merge — Produce merged DOMDocument


Diff two DOMDocument objects

  • « XMLDiff\DOM
  • XMLDiff\DOM::merge »
  • PHP Manual
  • XMLDiff\DOM
  • Diff two DOMDocument objects

XMLDiff\DOM::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::diff — Diff two DOMDocument objects

Açıklama

public XMLDiff\DOM::diff(DOMDocument $from, DOMDocument $to): DOMDocument

Diff two DOMDocument instances and produce the new one containing the diff information.

Bağımsız Değişkenler

from

Source DOMDocument object.

to

Target DOMDocument object.

Dönen Değerler

DOMDocument with the diff information or NULL.


Produce merged DOMDocument

  • « XMLDiff\DOM::diff
  • XMLDiff\Memory »
  • PHP Manual
  • XMLDiff\DOM
  • Produce merged DOMDocument

XMLDiff\DOM::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\DOM::merge — Produce merged DOMDocument

Açıklama

public XMLDiff\DOM::merge(DOMDocument $src, DOMDocument $diff): DOMDocument

Create new DOMDocument based on the diff.

Bağımsız Değişkenler

src

Source DOMDocument object.

diff

DOMDocument object containing the diff information.

Dönen Değerler

Merged DOMDocument or NULL.


The XMLDiff\Memory class

(PECL xmldiff >= 0.8.0)

Giriş

Sınıf Sözdizimi

class XMLDiff\Memory extends XMLDiff\Base {
/* Yöntemler */
public diff(string $from, string $to): string
public merge(string $src, string $diff): string
/* Miras alınan yöntemler */
abstract public XMLDiff\Base::diff(mixed $from, mixed $to): mixed
abstract public XMLDiff\Base::merge(mixed $src, mixed $diff): mixed
}

İçindekiler

  • XMLDiff\Memory::diff — Diff two XML documents
  • XMLDiff\Memory::merge — Produce merged XML document


Diff two XML documents

  • « XMLDiff\Memory
  • XMLDiff\Memory::merge »
  • PHP Manual
  • XMLDiff\Memory
  • Diff two XML documents

XMLDiff\Memory::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::diff — Diff two XML documents

Açıklama

public XMLDiff\Memory::diff(string $from, string $to): string

Diff two strings containing XML documents and produce the diff information.

Bağımsız Değişkenler

from

Source XML document.

to

Target XML document.

Dönen Değerler

String with the XML document containing the diff information or NULL.


Produce merged XML document

  • « XMLDiff\Memory::diff
  • XMLDiff\File »
  • PHP Manual
  • XMLDiff\Memory
  • Produce merged XML document

XMLDiff\Memory::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\Memory::merge — Produce merged XML document

Açıklama

public XMLDiff\Memory::merge(string $src, string $diff): string

Create new XML document based on diffs and source document.

Bağımsız Değişkenler

src

Source XML document.

diff

XML document containing diff information.

Dönen Değerler

String with the new XML document or NULL.


The XMLDiff\File class

(PECL xmldiff >= 0.8.0)

Giriş

Sınıf Sözdizimi

class XMLDiff\File extends XMLDiff\Base {
/* Yöntemler */
public diff(string $from, string $to): string
public merge(string $src, string $diff): string
/* Miras alınan yöntemler */
abstract public XMLDiff\Base::diff(mixed $from, mixed $to): mixed
abstract public XMLDiff\Base::merge(mixed $src, mixed $diff): mixed
}

İçindekiler

  • XMLDiff\File::diff — Diff two XML files
  • XMLDiff\File::merge — Produce merged XML document


Diff two XML files

  • « XMLDiff\File
  • XMLDiff\File::merge »
  • PHP Manual
  • XMLDiff\File
  • Diff two XML files

XMLDiff\File::diff

(PECL xmldiff >= 0.8.0)

XMLDiff\File::diff — Diff two XML files

Açıklama

public XMLDiff\File::diff(string $from, string $to): string

Diff two local XML files and produce string with the diff information.

Bağımsız Değişkenler

from

Path to the source document.

to

Path to the target document.

Dönen Değerler

String with the XML document containing the diff information or NULL.


Produce merged XML document

  • « XMLDiff\File::diff
  • XML Çözümleyici »
  • PHP Manual
  • XMLDiff\File
  • Produce merged XML document

XMLDiff\File::merge

(PECL xmldiff >= 0.8.0)

XMLDiff\File::merge — Produce merged XML document

Açıklama

public XMLDiff\File::merge(string $src, string $diff): string

Create new XML document based on diffs and source document.

Bağımsız Değişkenler

src

Path to the source XML document.

diff

Path to the XML document with the diff information.

Dönen Değerler

String with the new XML document or NULL.


XML Çözümleyici

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Geriçağırım İşlevleri
  • Büyük Harfe Dönüşüm
  • Hata Kodları
  • Karakter Kodlaması
  • Örnekler
    • XML Eleman Yapısı Örneği
    • XML Etiket Eşleme Örneği
    • XML Harici Öğe Örneği
  • XML Çözümleyici İşlevleri
    • xml_error_string — XML çözümleyici hata iletisini döndürür
    • xml_get_current_byte_index — XML çözümleyicinin geçerli bayt indisini döndürür
    • xml_get_current_column_number — XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür
    • xml_get_current_line_number — XML çözümleyicide hatanın oluştuğu satırı döndürür
    • xml_get_error_code — XML çözümleyici hata kodunu döndürür
    • xml_parse_into_struct — XML veriyi çözümleyip sonucu bir dizi içinde döndürür
    • xml_parse — Bir XML belgeyi çözümler
    • xml_parser_create_ns — İsim alanı destekli bir XML çözümleyici oluşturur
    • xml_parser_create — Bir XML çözümleyici oluşturur
    • xml_parser_free — XML çözümleyiciyi serbest bırakır
    • xml_parser_get_option — XML ayrıştırıcı seçeneklerini döndürür
    • xml_parser_set_option — XML ayrıştırıcı seçeneklerini belirler
    • xml_set_character_data_handler — Karakter verisi işleyiciyi belirler
    • xml_set_default_handler — Öntanımlı işleyiciyi belirler
    • xml_set_element_handler — Açılış ve kapanış etiketi işleyicileri belirler
    • xml_set_end_namespace_decl_handler — İsim alanı bildirimi sonlandırma işleyiciyi belirler
    • xml_set_external_entity_ref_handler — Harici öğe gönderimi işleyiciyi belirler
    • xml_set_notation_decl_handler — Gösterim bildirimi işleyiciyi belirler
    • xml_set_object — XML ayrıştırıcı, nesne içinde kullanılır
    • xml_set_processing_instruction_handler — İşlem komutu (PI) işleyicisini belirler
    • xml_set_start_namespace_decl_handler — İsim alanı bildirimi başlatma işleyicisini belirler
    • xml_set_unparsed_entity_decl_handler — Ayrıştırılmayan öğe bildirimi işleyicisini belirler
  • XMLParser — XMLParser sınıfı


Giriş

XML, Genişletilebilir İmlenim Dili, XML belgeleri denen veri nesneleri sınıfını ve kısmen de bunlar üzerinde işlem yapacak bilgisayar programlarının davranışını açıklar. W3C tarafından bir standart olarak yayınlanmıştır. » http://www.w3.org/XML/ adresinde XML ve ilgili teknolojiler hakkında bilgi edinebilirsiniz. Standardın » Türkçe çevirisi mevcuttur.

Bu eklenti James Clark'ın expat kütüphanesini gerektirir. Bu işlevlerle bir XML belgeyi çözümleyebilirsiniz ancak belgenin geçerliliğini doğrulatamazsınız. Eklenti, üç karakter kodlamasını destekler: US-ASCII, ISO-8859-1 ve UTF-8. UTF-16 desteklenmemektedir.

Bu eklentiyle XML çözümleyiciler oluşturabilir ve farklı XML olayları için eylemciler tanımlayabilirsiniz. Ayrıca, her XML çözümleyicinin ayarlanabilen bir kaç bağımsız değişkeni de vardır.


Gereksinimler

Bu eklenti PHP'nin libxml eklentsini gerektirir. Libxml öntanımlı olarak etkin olduğundan bu örtük olarak sağlansa da derleme sırasında ayrıca bir --with-libxml veya PHP 7.4 öncesinde --enable-libxml gerekir.

Bu eklenti öntanımlı olarak expat uyumlu bir katman kullanır. Ayrıca, » http://www.jclark.com/xml/expat.html adresinde bulunan expat da kullanılabilir. expat ile gelen Makefile, öntanımlı olarak kütüphaneyi derlemez. Kütüphanenin derlenmesi için Makefile dosyanızda şu kuralı kullanın:

libexpat.a: $(OBJS)
    ar -rc $@ $(OBJS)
    ranlib $@
expat kaynak RPM paketi » http://sourceforge.net/projects/expat/ adresinden edinilebilir.


Kurulum

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-xml

Kaynak paketiyle birlikte gelen expat kütüphanesi kullanılarak bu eklenti öntanımlı olarak etkin kılınmıştır. XML desteğini PHP'yi derlerken --disable-xml seçeneğini kullanarak iptal edebilirsiniz. PHP'yi Apache 1.3.9 ve sonrası için bir modül olarak derliyorsanız, PHP öntanımlı olarak Apache'nin kullandığı expat kütüphanesini kullanır. PHP ile gelen kütüphaneyi kullanmak istemiyorsanız bunu derleme sırasında --with-expat-dir=DiZiN seçeneğiyle belirtebilirsiniz. Burada DiZiN expat kütüphanesinin kurulu olduğu temel dizindir.

PHP'nin Windows sürümünde bu eklenti yerleşik olarak gelmektedir. Bu işlevleri Windows'ta kullanmak için herhangi bir eklenti kurulmasına gerek yoktur.


Özkaynak Türleri

PHP 8.0.0 öncesinde xml_parser_create() ve xml_parser_create_ns() işlevleri tarafından döndürülen xml özkaynağı, bu eklentinin işlevleri tarafından bir XML çözümleyici nesnesinin tanıtıcısı olarak kullanılırdı.


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XML_ERROR_NONE (int)
XML_ERROR_NO_MEMORY (int)
XML_ERROR_SYNTAX (int)
XML_ERROR_NO_ELEMENTS (int)
XML_ERROR_INVALID_TOKEN (int)
XML_ERROR_UNCLOSED_TOKEN (int)
XML_ERROR_PARTIAL_CHAR (int)
XML_ERROR_TAG_MISMATCH (int)
XML_ERROR_DUPLICATE_ATTRIBUTE (int)
XML_ERROR_JUNK_AFTER_DOC_ELEMENT (int)
XML_ERROR_PARAM_ENTITY_REF (int)
XML_ERROR_UNDEFINED_ENTITY (int)
XML_ERROR_RECURSIVE_ENTITY_REF (int)
XML_ERROR_ASYNC_ENTITY (int)
XML_ERROR_BAD_CHAR_REF (int)
XML_ERROR_BINARY_ENTITY_REF (int)
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF (int)
XML_ERROR_MISPLACED_XML_PI (int)
XML_ERROR_UNKNOWN_ENCODING (int)
XML_ERROR_INCORRECT_ENCODING (int)
XML_ERROR_UNCLOSED_CDATA_SECTION (int)
XML_ERROR_EXTERNAL_ENTITY_HANDLING (int)
XML_OPTION_CASE_FOLDING (int)
XML_OPTION_TARGET_ENCODING (int)
XML_OPTION_SKIP_TAGSTART (int)
XML_OPTION_SKIP_WHITE (int)
XML_SAX_IMPL (string)
Yöntemin SAX gerçeklenimi. libxml veya expat olabilir.


Geriçağırım İşlevleri

XML geriçağırım işlevlerinin tanımlayan işlevler:

Desteklenen XML eylemcileri
Eylemciyi belirleyen PHP işlevi | Olay açıklaması
xml_set_element_handler() | XML çözümleyicinin her başlangıç veya bitiş etiketine rastlayışında oluşan eleman olayları. Başlangıç ve bitiş etiketlerinin eylemcileri ayrı ayrıdır.
xml_set_character_data_handler() | Kabaca, etiketler arasındaki boşluklar dahil, XML belgelerin imlenim dışında kalan tüm içeriği karakter verisini oluşturur. XML çözümleyicinin boşluk eklemeye ve kaldırmaya karar veremeyeceğine dikkat ediniz. Boşlukların önem derecelerine karar vermek uygulamaya (yani, size) bırakılmıştır.
xml_set_processing_instruction_handler() | PHP ile yazılım geliştirenlerin işlem komutları (PI - processing instruction) hakkında bilgi sahibi oldukları varsayılır. <?php ?> bir işlem komutu olup php dizgesine PI hedefi adı verilir. "XML" ile başlayan PI hedefleri hariç, tüm PI hedefleri uygulamaya özgü ele alınır.
xml_set_default_handler() | Diğer eylemciler tarafından ele alınmayan herşey öntanımlı eylemci tarafından ele alınır. XML ve belge türü bildirimleri gibi şeyleri öntanımlı eylemcilere bırakabilirsiniz.
xml_set_unparsed_entity_decl_handler() | Çözümlenmeyen öğe bildirimleri (NDATA) için bu eylemci çağrılır.
xml_set_notation_decl_handler() | Gösterim bildirimleri için bu eylemci çağrılır.
xml_set_external_entity_ref_handler() | XML çözümleyici, harici olarak çözümlenecek bir genel öğeye bir gönderim bulduğunda bu eylemci çağrılır. Bu örneğin, bir dosyaya veya bir URL'ye bir atıf olabilir. Gerçekleme örneği olarak harici öğe örneğine bakınız.
xml_set_start_namespace_decl_handler() | Bu işleyici, bir isimalanı bildiriminin başlangıcı için çağrılır.
xml_set_end_namespace_decl_handler() | Bu işleyici, bir isimalanı bildiriminin sonu için çağrılır. Bu olay libXML tarafından tetiklenmez.


Büyük Harfe Dönüşüm

Elemanları işlemekte kullanılan işlevler eleman isimlerini büyük harfe dönüştürerek ele alabilir. Büyük harfe dönüştürme işlemi eleman isminde bulunan küçük harflerin yerine büyük harfli eşdeğerlerini koymaktan ibarettir. Ancak, XML dilinin harf büyüklüğüne duyarlı bir dil olduğunu unutmayın.

Öntanımlı olarak, bu işlevlere aktarılan eleman isimleri tamamen büyük harfe dönüşürülür. Bu davranış xml_parser_get_option() işleviyle sorgulanıp xml_parser_set_option() işleviyle değiştirilebilir. (Ç.N.: Türkçe yerelinde i ve ı harfleriyle ilgili dönüşümlerde dikkatli olun. Bu dönüşümün yapılmasına izin vermemek daha iyi olabilir.)


Hata Kodları

Aşağıdaki sabitler XML hata kodları olarak tanımlanmıştır. (xml_parse() tarafından döndürülürler):

  • XML_ERROR_NONE
  • XML_ERROR_NO_MEMORY
  • XML_ERROR_SYNTAX
  • XML_ERROR_NO_ELEMENTS
  • XML_ERROR_INVALID_TOKEN
  • XML_ERROR_UNCLOSED_TOKEN
  • XML_ERROR_PARTIAL_CHAR
  • XML_ERROR_TAG_MISMATCH
  • XML_ERROR_DUPLICATE_ATTRIBUTE
  • XML_ERROR_JUNK_AFTER_DOC_ELEMENT
  • XML_ERROR_PARAM_ENTITY_REF
  • XML_ERROR_UNDEFINED_ENTITY
  • XML_ERROR_RECURSIVE_ENTITY_REF
  • XML_ERROR_ASYNC_ENTITY
  • XML_ERROR_BAD_CHAR_REF
  • XML_ERROR_BINARY_ENTITY_REF
  • XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF
  • XML_ERROR_MISPLACED_XML_PI
  • XML_ERROR_UNKNOWN_ENCODING
  • XML_ERROR_INCORRECT_ENCODING
  • XML_ERROR_UNCLOSED_CDATA_SECTION
  • XML_ERROR_EXTERNAL_ENTITY_HANDLING


Karakter Kodlaması

PHP'nin XML eklentisi karakter kodlamaları arasında dönüşüm için » Evrenkod karakterlerini kullanır. İki tür karakter kodlaması vardır: kaynak kodlaması ve hedef kodlaması. PHP'nin dahili belge gösterimi daima UTF-8 ile kodlanır.

Kaynak kodlaması XML belge çözümlenirken yapılır. Kaynak kodlaması XML çözümleyici oluşturulurken belirtilebilir (bu kodlama XML çözümleyici işleme başladıktan sonra bir daha değiştirilemez). Desteklenen kaynak kodlamaları ISO-8859-1, US-ASCII ve UTF-8'dir. İlk ikisinde karakterler tek baytlıktır. UTF-8 karakterleri bir bayttan dört bayta kadar farklı sayıda bayttan oluşabilir. PHP'de kullanılan öntanımlı kaynak karakter kodlaması ISO-8859-1'dir.

Kaynak kodlaması, PHP veriyi XML eylemci işlevlerine aktarırken kullanılır. Bir XML çözümleyici oluşturulduğunda hedef kodlaması kaynak kodlaması ile aynı yapılır, fakat istenirse her an değiştirilebilir. Hedef kodlaması karakter verisinin yanında etiket isimleri ile işlem komutlarının hedeflerini de etkiler.

Eğer XML çözümleyici, kaynak karakter kodlamasında gösterimi mümkün olmayan karakterlere rastlarsa hata verir.

Eğer PHP, çözümlenen XML belgede seçilen hedef kodlamasıyla gösterilemeyen karakterler bulunduğunu saptarsa sorunlu karakterler "indirgenir". Şimdilik bunu gerçeklemek için bu karaterlerin yerine soru imleri konmaktadır.


Örnekler

İçindekiler

  • XML Eleman Yapısı Örneği
  • XML Etiket Eşleme Örneği
  • XML Harici Öğe Örneği


XML Eleman Yapısı Örneği

İlk örnekte, bir belgedeki girintili başlangıç elemanlarının yapısı gösterilmiştir.

Örnek 1 - XML Eleman yapısının gösterimi

<?php
$file = "data.xml";
$depth = 0;

function startElement($parser, $name, $attrs)
{
global $depth;

for ($i = 0; $i < $depth; $i++) {
echo " ";
}
echo "$name\n";
$depth++;
}

function endElement($parser, $name)
{
global $depth;
$depth--;
}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
if (!($fp = fopen($file, "r"))) {
die("XML belge açılamadı");
}

while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML hatası: %d. satırda %s",
xml_get_current_line_number($xml_parser)),
xml_error_string(xml_get_error_code($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>


XML Etiket Eşleme Örneği

Örnek 1 - XML etiketlerini HTML etiketlerine eşleme

Bu örnekte bir XML belgedeki etiketler doğrudan HTML etiketlerine eşlenmektedir. $map_array içinde bulunmayan etiketler yok sayılmaktadır. Elbette, bu örnek belli bir XML belgeye özgüdür.

<?php
$file = "data.xml";
$map_array = array(
"BOLD" => "B",
"EMPHASIS" => "I",
"LITERAL" => "TT"
);

function startElement($parser, $name, $attrs)
{
global $map_array;
if (isset($map_array[$name])) {
echo "<$map_array[$name]>";
}
}

function endElement($parser, $name)
{
global $map_array;
if (isset($map_array[$name])) {
echo "</$map_array[$name]>";
}
}

function characterData($parser, $data)
{
echo $data;
}

$xml_parser = xml_parser_create();
// Etiketin $map_array içinde bulunduğundan emin olmak için
// büyük harfe dönüşüm uyguluyoruz
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("XML belge açılamadı");
}

while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML hatası: %d. satırda %s",
xml_get_current_line_number($xml_parser)),
xml_error_string(xml_get_error_code($xml_parser)));
}
}
xml_parser_free($xml_parser);
?>


XML Harici Öğe Örneği

Bu örnekte XML kodu renklendirilmektedir. Bir harici öğe gönderimi eylemcisinin diğer belgeleri içermek ve çözümlemek amacıyla nasıl kullanıldığı gösterilmiştir. Bunun yanında, PI hedeflerinin ve bunları içeren kodun nasıl ele alınacağı da gösterilmiştir.

Bu örnek için kullanılan XML belgeler:

Örnek 1 - Harici Öğe Örneği

<?php
$file = "xmltest.xml";

function trustedFile($file)
{
// sadece sahibi olduğumuz yerel dosyalara güveniyoruz
if (!preg_match("@^([a-z][a-z0-9+.-]*)\:\/\/@i", $file)
&& fileowner($file) == getmyuid()) {
return true;
}
return false;
}

function startElement($parser, $name, $attribs)
{
echo "&lt;<font color=\"#0000cc\">$name</font>";
if (count($attribs)) {
foreach ($attribs as $k => $v) {
echo " <font color=\"#009900\">$k</font>=\"<font
color=\"#990000\">$v</font>\"";
}
}
echo "&gt;";
}

function endElement($parser, $name)
{
echo "&lt;/<font color=\"#0000cc\">$name</font>&gt;";
}

function characterData($parser, $data)
{
echo "<b>$data</b>";
}

function PIHandler($parser, $target, $data)
{
switch (strtolower($target)) {
case "php":
global $parser_file;
// Çözümlenen belge "güvenilir" ise içerdiği PHP kodu da
// güvenilirdir diyebiliriz. Değilse, kodu göstermekle
// yetineceğiz.
if (trustedFile($parser_file[$parser])) {
eval($data);
} else {
printf("Güvenilmez PHP kodu: <i>%s</i>",
htmlspecialchars($data));
}
break;
}
}

function defaultHandler($parser, $data)
{
if (substr($data, 0, 1) == "&" && substr($data, -1, 1) == ";") {
printf('<font color="#aa00aa">%s</font>',
htmlspecialchars($data));
} else {
printf('<font size="-1">%s</font>',
htmlspecialchars($data));
}
}

function externalEntityRefHandler($parser, $openEntityNames, $base, $systemId,
$publicId) {
if ($systemId) {
if (!list($parser, $fp) = new_xml_parser($systemId)) {
printf("%s dosyasındaki %s öğesi açılamadı\n", $systemId,
$openEntityNames);
return false;
}
while ($data = fread($fp, 4096)) {
if (!xml_parse($parser, $data, feof($fp))) {
printf("XML hatası: %s öğesi çözümlenirken %d. satırda %s\n",
$openEntityNames,
xml_get_current_line_number($parser),
xml_error_string(xml_get_error_code($parser));
xml_parser_free($parser);
return false;
}
}
xml_parser_free($parser);
return true;
}
return false;
}

function new_xml_parser($file)
{
global $parser_file;

$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, 1);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_set_processing_instruction_handler($xml_parser, "PIHandler");
xml_set_default_handler($xml_parser, "defaultHandler");
xml_set_external_entity_ref_handler($xml_parser,
"externalEntityRefHandler");

if (!($fp = @fopen($file, "r"))) {
return false;
}
if (!is_array($parser_file)) {
settype($parser_file, "array");
}
$parser_file[$xml_parser] = $file;
return array($xml_parser, $fp);
}

if (!(list($xml_parser, $fp) = new_xml_parser($file))) {
die("XML girdi açılamadı");
}

echo "<pre>";
while ($data = fread($fp, 4096)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
die(sprintf("XML hatası: %d. satırda %s",
xml_get_current_line_number($xml_parser)),
xml_error_string(xml_get_error_code($xml_parser)));
}
}
echo "</pre>";
echo "Çözümleme bitti\n";
xml_parser_free($xml_parser);

?>

Örnek 2 xmltest.xml

<?xml version='1.0'?>
<!DOCTYPE chapter SYSTEM "/sadece/bir/test.dtd" [
<!ENTITY plainEntity "DNM öğesi">
<!ENTITY systemEntity SYSTEM "xmltest2.xml">
]>
<chapter>
 <TITLE>&plainEntity; başlığı</TITLE>
 <para>
  <informaltable>
   <tgroup cols="3">
    <tbody>
     <row><entry>a1</entry><entry morerows="1">b1</entry><entry>c1</entry></row>
     <row><entry>a2</entry><entry>c2</entry></row>
     <row><entry>a3</entry><entry>b3</entry><entry>c3</entry></row>
    </tbody>
   </tgroup>
  </informaltable>
 </para>
 &systemEntity;
 <section id="about">
  <title>Belge hakkında/title>
  <para>
   <!-- Bu bir açıklama -->
   <?php echo 'Merhaba!  PHP sürümü: ' . phpversion(); ?>
  </para>
 </section>
</chapter>

xmltest.xml dosyasında içerilen dosya:

Örnek 3 xmltest2.xml

<?xml version="1.0"?>
<!DOCTYPE foo [
<!ENTITY testEnt "deneme öğesi">
]>
<foo>
   <element attrib="value"/>
   &testEnt;
   <?php echo "Burada çalıştırılacak bir PHP kodu var."; ?>
</foo>


XML Çözümleyici İşlevleri

İçindekiler

  • xml_error_string — XML çözümleyici hata iletisini döndürür
  • xml_get_current_byte_index — XML çözümleyicinin geçerli bayt indisini döndürür
  • xml_get_current_column_number — XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür
  • xml_get_current_line_number — XML çözümleyicide hatanın oluştuğu satırı döndürür
  • xml_get_error_code — XML çözümleyici hata kodunu döndürür
  • xml_parse_into_struct — XML veriyi çözümleyip sonucu bir dizi içinde döndürür
  • xml_parse — Bir XML belgeyi çözümler
  • xml_parser_create_ns — İsim alanı destekli bir XML çözümleyici oluşturur
  • xml_parser_create — Bir XML çözümleyici oluşturur
  • xml_parser_free — XML çözümleyiciyi serbest bırakır
  • xml_parser_get_option — XML ayrıştırıcı seçeneklerini döndürür
  • xml_parser_set_option — XML ayrıştırıcı seçeneklerini belirler
  • xml_set_character_data_handler — Karakter verisi işleyiciyi belirler
  • xml_set_default_handler — Öntanımlı işleyiciyi belirler
  • xml_set_element_handler — Açılış ve kapanış etiketi işleyicileri belirler
  • xml_set_end_namespace_decl_handler — İsim alanı bildirimi sonlandırma işleyiciyi belirler
  • xml_set_external_entity_ref_handler — Harici öğe gönderimi işleyiciyi belirler
  • xml_set_notation_decl_handler — Gösterim bildirimi işleyiciyi belirler
  • xml_set_object — XML ayrıştırıcı, nesne içinde kullanılır
  • xml_set_processing_instruction_handler — İşlem komutu (PI) işleyicisini belirler
  • xml_set_start_namespace_decl_handler — İsim alanı bildirimi başlatma işleyicisini belirler
  • xml_set_unparsed_entity_decl_handler — Ayrıştırılmayan öğe bildirimi işleyicisini belirler


XML çözümleyici hata iletisini döndürür

  • « XML Çözümleyici İşlevleri
  • xml_get_current_byte_index »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyici hata iletisini döndürür

xml_error_string

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_error_string — XML çözümleyici hata iletisini döndürür

Açıklama

xml_error_string(int $hata_kodu): ?string

Belirtilen hata_kodu ile ilgili hatanın açıklamasını döndürür.

Bağımsız Değişkenler

hata_kodu

xml_get_error_code() işlevinden dönen hata kodu.

Dönen Değerler

Belirtilen hata_kodu ile ilgili bir açıklama yoksa null, aksi takdirde açıklama dizgesini döndürür.

Ayrıca Bakınız

  • xml_get_error_code() - XML çözümleyici hata kodunu döndürür


XML çözümleyicinin geçerli bayt indisini döndürür

  • « xml_error_string
  • xml_get_current_column_number »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyicinin geçerli bayt indisini döndürür

xml_get_current_byte_index

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_byte_index — XML çözümleyicinin geçerli bayt indisini döndürür

Açıklama

xml_get_current_byte_index(XMLParser $çözümleyici): int

Belirtilen XML çözümleyicinin geçerli bayt indisini döndürür.

Bağımsız Değişkenler

çözümleyici

xml_parser_create() ve xml_parser_create_ns() işlevleri tarafından döndürülen bir XML özkaynağı.

Dönen Değerler

çözümleyici veri tamponundaki geçerli baytın indisini döndürür (ilk baytın indisi 0'dır).

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Notlar

Uyarı

İşlev, karakter kodlamasından bağımsız olarak metnin UTF-8 kodlamasına göre bayt indisini döndürür.

Ayrıca Bakınız

  • xml_get_current_column_number() - XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür
  • xml_get_current_line_number() - XML çözümleyicide hatanın oluştuğu satırı döndürür


XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür

  • « xml_get_current_byte_index
  • xml_get_current_line_number »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür

xml_get_current_column_number

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_column_number — XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür

Açıklama

xml_get_current_column_number(XMLParser $parser): int

Belirtilen XML çözümleyicinin veri tamponunda hatanın oluştuğu satırdaki sütun numarasını döndürür.

Bağımsız Değişkenler

çözümleyici

xml_parser_create() ve xml_parser_create_ns() işlevleri tarafından döndürülen bir XML özkaynağı.

Dönen Değerler

çözümleyici veri tamponunda hatanın oluştuğu (xml_get_current_line_number() ile döndürülen) satırdaki hatalı yerin sütun numarasını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Ayrıca Bakınız

  • xml_get_current_byte_index() - XML çözümleyicinin geçerli bayt indisini döndürür
  • xml_get_current_line_number() - XML çözümleyicide hatanın oluştuğu satırı döndürür


XML çözümleyicide hatanın oluştuğu satırı döndürür

  • « xml_get_current_column_number
  • xml_get_error_code »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyicide hatanın oluştuğu satırı döndürür

xml_get_current_line_number

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_current_line_number — XML çözümleyicide hatanın oluştuğu satırı döndürür

Açıklama

xml_get_current_line_number(XMLParser $parser): int

Belirtilen XML çözümleyicinin veri tamponunda hatanın oluştuğu satırın numarasını döndürür.

Bağımsız Değişkenler

çözümleyici

xml_parser_create() ve xml_parser_create_ns() işlevleri tarafından döndürülen bir XML özkaynağı.

Dönen Değerler

çözümleyici veri tamponunda hatanın oluştuğu satırın numarasını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Ayrıca Bakınız

  • xml_get_current_column_number() - XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür
  • xml_get_current_byte_index() - XML çözümleyicinin geçerli bayt indisini döndürür


XML çözümleyici hata kodunu döndürür

  • « xml_get_current_line_number
  • xml_parse_into_struct »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyici hata kodunu döndürür

xml_get_error_code

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_get_error_code — XML çözümleyici hata kodunu döndürür

Açıklama

xml_get_error_code(XMLParser $çözümleyici): int

XML çözümleyici hata kodunu döndürür.

Bağımsız Değişkenler

çözümleyici

xml_parser_create() ve xml_parser_create_ns() işlevleri tarafından döndürülen bir XML özkaynağı.

Dönen Değerler

Hata Kodları sayfasında listelenen hata kodlarından biri döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Ayrıca Bakınız

  • xml_error_string() - XML çözümleyici hata iletisini döndürür


XML veriyi çözümleyip sonucu bir dizi içinde döndürür

  • « xml_get_error_code
  • xml_parse »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML veriyi çözümleyip sonucu bir dizi içinde döndürür

xml_parse_into_struct

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parse_into_struct — XML veriyi çözümleyip sonucu bir dizi içinde döndürür

Açıklama

xml_parse_into_struct(
XMLParser $çözümleyici,
string $veri,
array &$değerler,
array &$indis = null
): int

Bu işlev bir XML belgeyi iki diziye çözümler. indis dizisi, değerler dizisindeki değerlerin konumlarına birer gösterici içerir. Bu dizilerin işleve gönderimli aktarılmaları gerekir.

Bağımsız Değişkenler

çözümleyici

XMLParser nesnesi.

veri

XML veriyi içeren dizi.

değerler

XML verinin değerlerini içeren dizi.

indis

$değerler içindeki uygun değerlerin konumlarına göstericiler içeren bir dizi.

Dönen Değerler

Başarısızlık durumunda 0, başarı durumunda 1 döner. Bu, false ve true olarak ele alınmamalıdır. Dönen değeri === işleci ile karşılaştırın.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Örnekler

Aşağıdaki örnekte dönen dizilerin iç yapısı gösterilmiştir. Basit olarak, para etiketi içine note etiketini gömüp, bunu çözümledikten sonra üretilen dizileri dökümlüyoruz.

Örnek 1 - xml_parse_into_struct() örneği

<?php
$simple = "<para><note>basit örnek</note></para>";
$p = xml_parser_create();
xml_parse_into_struct($p, $simple, $vals, $index);
xml_parser_free($p);
echo "İndis dizisi\n";
print_r($index);
echo "\nDeğerler dizisi\n";
print_r($vals);
?>

Çıktı şöyle olur:

İndis dizisi
Array
(
    [PARA] => Array
        (
            [0] => 0
            [1] => 2
        )

    [NOTE] => Array
        (
            [0] => 1
        )

)

Değerler dizisi
Array
(
    [0] => Array
        (
            [tag] => PARA
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => NOTE
            [type] => complete
            [level] => 2
            [value] => basit örnek
        )

    [2] => Array
        (
            [tag] => PARA
            [type] => close
            [level] => 1
        )

)

Olaylarla tetiklenen çözümleme (expat kütüphanesine dayalı olarak) XML belgenin karmaşıklığına bağlı olarak karmaşıklaşabilir. Bu işlev DOM tarzı bir nesne üretmez fakat bir ağaç halinde uygun bir yapı üretir. Bu bakımdan, XML belge içindeki veriyi gösteren nesneler kolayca oluşturulabilir. Amino asitlerden oluşan küçük bir veritabanı olarak aşağıdaki XML belgeyi ele alalım:

Örnek 2 - moldb.xml - küçük bir moleküler bilgi veritabanı

<?xml version="1.0"?>
<moldb>

  <molecule>
      <name>Alanine</name>
      <symbol>ala</symbol>
      <code>A</code>
      <type>hydrophobic</type>
  </molecule>

  <molecule>
      <name>Lysine</name>
      <symbol>lys</symbol>
      <code>K</code>
      <type>charged</type>
  </molecule>

</moldb>
Bu belgeyi çözümleyip uygun nesneleri üretecek kod:

Örnek 3 - parsemoldb.php - moldb.xml dosyasını bir moleküler nesne dizisine çözümler

<?php

class AminoAcid {
var $name; // amino asidin ismi
var $symbol; // üç harfli simge
var $code; // tek harflik kod
var $type; // hydrophobic, charged veya neutral

function __construct ($aa)
{
foreach ($aa as $k=>$v)
$this->$k = $aa[$k];
}
}

function readDatabase($filename)
{
// amino asit veritabanını okuyalım
$data = file_get_contents($filename);
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, $data, $values, $tags);
xml_parser_free($parser);

// dizileri açalım
foreach ($tags as $key=>$val) {
if ($key == "molecule") {
$molranges = $val;
// Dizi girdilerindeki her devamlı dizi çifti
// bir molekülün alt ve üst aralıklarını tanımlar
for ($i=0; $i < count($molranges); $i+=2) {
$offset = $molranges[$i] + 1;
$len = $molranges[$i + 1] - $offset;
$tdb[] = parseMol(array_slice($values, $offset, $len));
}
} else {
continue;
}
}
return $tdb;
}

function parseMol($mvalues)
{
for ($i=0; $i < count($mvalues); $i++) {
$mol[$mvalues[$i]["tag"]] = $mvalues[$i]["value"];
}
return new AminoAcid($mol);
}

$db = readDatabase("moldb.xml");
echo "** Amino Asit Nesneleri Veritabanı:\n";
print_r($db);

?>
parsemoldb.php betiği çalıştırılınca, $db dizisi Amino asit nesnelerinden oluşturulmuş olur. Betiğin çıktısı şöyle olur:
** Amino Asit Nesneleri Veritabanı:
Array
(
    [0] => aminoacid Object
        (
            [name] => Alanine
            [symbol] => ala
            [code] => A
            [type] => hydrophobic
        )

    [1] => aminoacid Object
        (
            [name] => Lysine
            [symbol] => lys
            [code] => K
            [type] => charged
        )

)


Bir XML belgeyi çözümler

  • « xml_parse_into_struct
  • xml_parser_create_ns »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Bir XML belgeyi çözümler

xml_parse

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parse — Bir XML belgeyi çözümler

Açıklama

xml_parse(XMLParser $çözümleyici, string $veri, bool $son = false): int

xml_parse() işlevi bir XML belgeyi çözümler. Yapılandırılmış olaylar için tanımlanmış eylemci işlevler gerektiği yerlerde defalarca çağrılabilir.

Bağımsız Değişkenler

çözümleyici

XMLParser nesnesi.

veri

Çözümlenecek veri parçası. Bir belge, çeşitli parçalara bölünerek bu parçalar xml_parse() işleviyle işlenerek çok sayıda adımda çözümlenebilir. Son parça çözümleneceği zaman son bağımsız değişkenine true atanmalıdır.

son

true belirtilirse, çözümleyiciye aktarılan veri son veri olarak ele alınır.

Dönen Değerler

Başarı durumunda 1, aksi takdirde 0 döndürür.

Başarısız bir çözümlemede hata bilgisi
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(),
xml_get_current_column_number() ve
xml_get_current_byte_index() işlevleri ile alınabilir.

Bilginize:

Öğe hataları gibi bazı hatalar sadece son bağımsız değişkenine true atandığı takdirde veri sonunda raporlanır.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Örnekler

Örnek 1 - Büyük bir XML belgenin bölümlerine çözümlenmesi

Bu örnekte, tüm belgenin bellekte tutulmasına gerek kalmaması için büyük XML belgelerin bölümler halinde nasıl okunabileceği ve çözümlenebileceği gösterilmiştir. Kısa olması için hata işleme atlanmıştır.

<?php
$stream = fopen('large.xml', 'r');
$parser = xml_parser_create();
// işleyici burada
while (($data = fread($stream, 16384))) {
xml_parse($parser, $data); // geçerli bölümü çözümle
}
xml_parse($parser, '', true); // çözümlemeyi bitir
xml_parser_free($parser);
fclose($stream);


İsim alanı destekli bir XML çözümleyici oluşturur

  • « xml_parse
  • xml_parser_create »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • İsim alanı destekli bir XML çözümleyici oluşturur

xml_parser_create_ns

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_parser_create_ns — İsim alanı destekli bir XML çözümleyici oluşturur

Açıklama

xml_parser_create_ns(?string $kodlama = null, string $ayraç = ":"): XMLParser

xml_parser_create_ns() işlevi, isim alanı destekli yeni bir XML çözümleyici oluşturup diğer XML işlevleri tarafından kullanılmak üzere bir XMLParser örneği döndürür.

Bağımsız Değişkenler

kodlama

Girdi kodlaması otomatik olarak algılanmakta olduğundan bu bağımsız değişken ile sadece çıktı karakter kodlaması belirtilebilmektedir. Öntanımlı karakter kümesi UTF-8'dir. Desteklenen karakter kodlamaları: ISO-8859-1, UTF-8 ve US-ASCII.

ayraç

İsim alanı içeren etiket ve öznitelik isimlerinde isim alanı önekinden sonra kullanılacak ayraç.

Dönen Değerler

Yeni bir XMLParser örneği ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık bir XMLParser örneği döndürüyor; evvelce, resource türünde bir değer dönerdi, başarısızlık durumunda false döner.
8.0.0 | kodlama artık boş olabiliyor.

Ayrıca Bakınız

  • xml_parser_create() - Bir XML çözümleyici oluşturur
  • xml_parser_free() - XML çözümleyiciyi serbest bırakır


Bir XML çözümleyici oluşturur

  • « xml_parser_create_ns
  • xml_parser_free »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Bir XML çözümleyici oluşturur

xml_parser_create

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_create — Bir XML çözümleyici oluşturur

Açıklama

xml_parser_create(?string $kodlama = null): XMLParser

xml_parser_create() işlevi, yeni bir XML çözümleyici oluşturup diğer XML işlevleri tarafından kullanılmak üzere bir XMLParser örneği döndürür.

Bağımsız Değişkenler

kodlama

İsteğe bağlı kodlama bağımsız değişkeni ile PHP4'te girdi/çıktı için karakter kodlaması belirtilir. Girdi kodlaması otomatik olarak algılanmakta olduğundan bu bağımsız değişken ile sadece çıktı karakter kodlaması belirtilebilmektedir. Bağımsız değişkene boş bir dizge atanmışsa çözümleyici belgenin ilk 3 veya 4 baytına bakarak kodlamayı belirlemeye çalışır. Öntanımlı çıktı karakter kodlaması UTF-8'dir. Desteklenen karakter kodlamaları: ISO-8859-1, UTF-8 ve US-ASCII.

Dönen Değerler

Yeni bir XMLParser örneği ile döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık bir XMLParser örneği döndürüyor; evvelce, resource türünde bir değer dönerdi, başarısızlık durumunda false döner.
8.0.0 | kodlama artık boş olabiliyor.

Ayrıca Bakınız

  • xml_parser_create_ns() - İsim alanı destekli bir XML çözümleyici oluşturur
  • xml_parser_free() - XML çözümleyiciyi serbest bırakır


XML çözümleyiciyi serbest bırakır

  • « xml_parser_create
  • xml_parser_get_option »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML çözümleyiciyi serbest bırakır

xml_parser_free

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_free — XML çözümleyiciyi serbest bırakır

Açıklama

xml_parser_free(XMLParser $çözümleyici): bool

Bilginize:

Bu işlevin bir etkisi yoktur. PHP 8.0.0 öncesinde, bu işev özkaynağı kapatmak için kullanılırdı.

Belirtilen XML çözümleyici için ayrılan kaynakları serbest bırakır.

Dikkat

PHP 8.0.0'dan önce, ayrıştırma bittiğinde xml_parser_free() çağrısına ek olarak, çözümleyici kaynağına bir nesneden başvuruluyorsa bellek sızıntılarını önlemek için ayrıştırıcı başvurusunu açıkça kaldırmak gerekiyordu.

Bağımsız Değişkenler

çözümleyici

XMLParser nesnesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


XML ayrıştırıcı seçeneklerini döndürür

  • « xml_parser_free
  • xml_parser_set_option »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML ayrıştırıcı seçeneklerini döndürür

xml_parser_get_option

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_get_option — XML ayrıştırıcı seçeneklerini döndürür

Açıklama

xml_parser_get_option(XMLParser $ayrıştırıcı, int $seçenek): string|int|bool

Belirtilen XML ayrıştırıcı seçeneğinin değerini döndürür.

Bağımsız Değişkenler

ayrıştırıcı

XMLParser nesnesi.

seçenek
Değeri öğrenilecek seçenek. XML_OPTION_CASE_FOLDING XML_OPTION_SKIP_TAGSTART, XML_OPTION_SKIP_WHITE veya XML_OPTION_TARGET_ENCODING belirtilebilir. Bu seçeneklerin açıklamaları için xml_parser_set_option() işlevine bakınız.

Dönen Değerler

Seçeneğin değeri döner.

Hatalar/İstisnalar

seçenek ile geçersiz bir değer aktarıldığında ValueError istisnası oluşur.

PHP 8.0.0 öncesinde, böyle bir durumda işlev false döndürürken bir E_WARNING üretilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | İşlev ikilik seçenekler için artık ikilik sonuç döndürüyor.
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.
8.0.0 | seçenek ile geçersiz bir değer aktarıldığında artık ValueError istisnası oluşuyor.
7.1.24, 7.2.12, 7.3.0 | seçenek artık XML_OPTION_SKIP_TAGSTART ve XML_OPTION_SKIP_WHITE sabitini de destekliyor.


XML ayrıştırıcı seçeneklerini belirler

  • « xml_parser_get_option
  • xml_set_character_data_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML ayrıştırıcı seçeneklerini belirler

xml_parser_set_option

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_set_option — XML ayrıştırıcı seçeneklerini belirler

Açıklama

xml_parser_set_option(XMLParser $ayrıştırıcı, int $seçenek, string|int $değer): bool

XML ayrıştırıcı seçeneklerinden birine değer atar.

Bağımsız Değişkenler

ayrıştırıcı

XMLParser nesnesi.

seçenek

Değer atanacak seçenek.

Kullanılabilecek seçenekler:

XML ayrıştırıcı seçenekleri
Seçenek sabiti | Veri türü | Açıklama
XML_OPTION_CASE_FOLDING | bool | Büyük harfe dönüşüm yapılıp yapılmayacağını belirler. Öntanımlı olarak büyük harfe dönüşüm yapılır.
XML_OPTION_SKIP_TAGSTART | integer | Bir etiket isminin başlangıcından itibaren kaç karakter atlanacağını belirler.
XML_OPTION_SKIP_WHITE | bool | Boşluk karakterlerinden oluşan değerlerin atlanıp atlanmayacağı belirtilir.
XML_OPTION_TARGET_ENCODING | string | XML ayrıştırıcı tarafından kullanılacak hedef kodlamayı belirler. Öntanımlı olarak, xml_parser_create() tarafından kullanılan kaynak kodlamasıyla aynıdır. Desteklenen hedef kodlamalar: ISO-8859-1, US-ASCII ve UTF-8.

değer

Seçeneğin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

seçenek ile geçersiz bir değer aktarıldığında ValueError istisnası oluşur.

PHP 8.0.0 öncesinde, böyle bir durumda işlev false döndürürken bir E_WARNING üretilirdi.

Sürüm Bilgisi

Sürüm: | Açıklama
8.3.0 | değer bağımsız değişkeni artık ikilik değerleri de kabul ediyor. XML_OPTION_CASE_FOLDING ve XML_OPTION_SKIP_WHITE seçenekleri artık ikil seçeneklerdir.
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


Karakter verisi işleyiciyi belirler

  • « xml_parser_set_option
  • xml_set_default_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Karakter verisi işleyiciyi belirler

xml_set_character_data_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_character_data_handler — Karakter verisi işleyiciyi belirler

Açıklama

xml_set_character_data_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için karakter verisi işleyici belirler.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İsmi işleyici ile belirtilen işlev şuna benzemelidir:

işleyici(XMLParser $ayrıştırıcı, string $veri): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
veri
Karakter verisini dizge olarak içerir.

Karakter verisi işleyici, XML belgedeki her metin parçası için ayrı ayrı çağrılır. Her bölümde defalarca çağrılabilir (örneğin, ascii olmayan dizgelerde).

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


Öntanımlı işleyiciyi belirler

  • « xml_set_character_data_handler
  • xml_set_element_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Öntanımlı işleyiciyi belirler

xml_set_default_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_default_handler — Öntanımlı işleyiciyi belirler

Açıklama

xml_set_default_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için öntanımlı işleyici belirler.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İsmi işleyici ile belirtilen işlevin şuna benzemesi gerekir:

işleyici(XMLParser $ayrıştırıcı, string $veri): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
veri
veri, karakter verisini içerir. Dizge, XML bildirimi, belge türü bildirimi veya diğer işleyiciler tarafından ele alınmayan başka bir verileri içerebilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


Açılış ve kapanış etiketi işleyicileri belirler

  • « xml_set_default_handler
  • xml_set_end_namespace_decl_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Açılış ve kapanış etiketi işleyicileri belirler

xml_set_element_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_element_handler — Açılış ve kapanış etiketi işleyicileri belirler

Açıklama

xml_set_element_handler(XMLParser $ayrıştırıcı, callable $açılış_işleyici, callable $kapanış_işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için açılış ve kapanış etiketi işleyicileri belirler.

açılış_işleyici XML elemanı açılırken, kapanış_işleyici ise kapanırken çağrılır.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

açılış_işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlevin şuna benzemesi gerekir:

açılış_işleyici(XMLParser $ayrıştırıcı, string $isim, array $öznitelikler)
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
isim
İşleyicinin çağrılacağı elemanın ismidir. Eğer ayrıştırıcıda büyük harfe dönüşüm etkinse eleman isminin harfleri büyük harfe dönüştürülür.
öznitelikler
Eleman özniteliklerini içeren ilişkisel bir dizidir. Elemanın öznitelikleri yoksa dizi boştur. Dizi elemanlarının anahtarları özniteliklerin isimleri, değerleri ise özniteliklerin değerleridir. Eğer ayrıştırıcıda büyük harfe dönüşüm etkinse eleman isimlerine uygulanan işlem öznitelik isimlerine de uygulanır. Değerlere ise bu işlem uygulanmaz. öznitelikler, özniteliklerin belirtildiği sırada olmalıdır.

kapanış_işleyici

İşlevin şuna benzemesi gerekir:

kapanış_işleyici(XMLParser $ayrıştırıcı, string $isim): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
isim
İşleyicinin çağrılacağı elemanın ismidir. Eğer ayrıştırıcıda büyük harfe dönüşüm etkinse eleman isminin harfleri büyük harfe dönüştürülür.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


İsim alanı bildirimi sonlandırma işleyiciyi belirler

  • « xml_set_element_handler
  • xml_set_external_entity_ref_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • İsim alanı bildirimi sonlandırma işleyiciyi belirler

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_end_namespace_decl_handler — İsim alanı bildirimi sonlandırma işleyiciyi belirler

Açıklama

xml_set_end_namespace_decl_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

İsim alanı bildirimi etki alanından çıkılırken çağrılacak işleyici işlevi belirler. İsim alanı bildirimi sonlandırma işleyicisi, her isim alanlı başlangıç etiketinin karşılığı olan kapama etiketinin işleyicisinden sonra çağrılır.

Dikkat

Bu yöntem libXML tarafından desteklenmemektedir, bu bakımdan kayıtlı işleyici çağrılamaz.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(XMLParser $ayrıştırıcı, string|false $önek)
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
önek
Önek yoksa false.

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • xml_set_start_namespace_decl_handler() - İsim alanı bildirimi başlatma işleyicisini belirler

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


Harici öğe gönderimi işleyiciyi belirler

  • « xml_set_end_namespace_decl_handler
  • xml_set_notation_decl_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Harici öğe gönderimi işleyiciyi belirler

xml_set_external_entity_ref_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_external_entity_ref_handler — Harici öğe gönderimi işleyiciyi belirler

Açıklama

xml_set_external_entity_ref_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için harici öğe gönderimi işleyiciyi belirler.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(
XMLParser $ayrıştırıcı,
string $açık_öğe_isimleri,
string|false $taban,
string $sistem_id,
string|false $genel_id
): bool
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
açık_öğe_isimleri
Öğenin ayrıştırılması için açılan öğe isimlerinin boşluk ayraçlı listesidir (belirtilen öğenin ismi dahil).
taban
Harici öğenin sistem betimleyicisini (sistem_id) ayrıştırmak için kullanılacak dizge.
system_id
Öğe bildiriminde belirtilen sistem betimleyicisi.
public_id
Öğe bildiriminde belirtilen genel betimleyicisi. Belirtilmediği takdirde boş dizgedir. Betimleyici içindeki boşluklar XML belirtiminde belirtildiği gibi normalleştirilir.

İşleyici, öğe işlenmişse true yoksa false döndürmelidir. false döndüğü durumda, XML ayrıştırıcı ayrıştırmayı durdurur ve xml_get_error_code() işlevinin XML_ERROR_EXTERNAL_ENTITY_HANDLING döndürmesini sağlar.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.
7.3.0 | Eklenti libxml'e dayalı oluşturulmuşsa işleyici dönüş değeri artık yoksayılmıyor. Evvelce dönüş değeri yoksayılır ve ayrıştırma hiç bitmezdi.


Gösterim bildirimi işleyiciyi belirler

  • « xml_set_external_entity_ref_handler
  • xml_set_object »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Gösterim bildirimi işleyiciyi belirler

xml_set_notation_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_notation_decl_handler — Gösterim bildirimi işleyiciyi belirler

Açıklama

xml_set_notation_decl_handler(XMLParser $ayrıştırıcı, callable $eylemci): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için gösterim bildirimi işleyiciyi belirler.

Bir gösterim bildirimi belge DTD'sinin bir parçası olup sözdizimi şöyledir:

<!NOTATION isim
{
sistem_id
|
genel_id
?>
Gösterim bildirimi tanımı için » XML 1.0 belirtiminin ilgili bölümüne bakınız.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(
XMLParser $ayrıştırıcı,
string $gösterim_adı,
string|false $taban,
string $sistem_id,
string|false $genel_id
): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
gösterim_adı
Yukarıdaki gösterim bildirimi sözdiziminde isim bağımsız değişkeninin değeri.
taban
Harici öğenin sistem betimleyicisini (sistem_id) ayrıştırmak için kullanılacak dizge.
system_id
Öğe bildiriminde belirtilen sistem betimleyicisi.
public_id
Öğe bildiriminde belirtilen genel betimleyicisi. Belirtilmediği takdirde boş dizgedir. Betimleyici içindeki boşluklar XML belirtiminde belirtildiği gibi normalleştirilir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


XML ayrıştırıcı, nesne içinde kullanılır

  • « xml_set_notation_decl_handler
  • xml_set_processing_instruction_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • XML ayrıştırıcı, nesne içinde kullanılır

xml_set_object

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_object — XML ayrıştırıcı, nesne içinde kullanılır

Açıklama

xml_set_object(XMLParser $ayrıştırıcı, object $nesne): true

Bu işlev, ayrıştırıcı ile belirtilen XML ayrıştırıcının belirtilen nesne nesnesi içinde kullanılmasını mümkün kılar. Bu durumda, xml_set_element_handler() benzeri işlevlerle belirtilen eylemci işlevlerin nesne nesnesinin yöntemleri olarak belirtilmesi gerekir.

Bağımsız Değişkenler

ayrıştırıcı

nesne içinde kullanılacak XML ayrıştırıcı nesnesi.

nesne

XML ayrıştırıcının içinde kullanılacağı nesne.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Örnekler

Örnek 1 - xml_set_object() örneği

<?php
class CustomXMLParser
{
private $parser;

function __construct()
{
$this->ayrıştırıcı = xml_parser_create();

xml_set_object($this->ayrıştırıcı, $this);
xml_set_element_handler($this->ayrıştırıcı, "etiketAç", "etiketKapa");
xml_set_character_data_handler($this->ayrıştırıcı, "cdata");
}

function ayrıştır($veri)
{
xml_parse($this->ayrıştırıcı, $veri);
}

function etiketAç(ayrıştırıcı, $etiket, $bağımsız değişkenler)
{
var_dump($etiket, $bağımsız değişkenler);
}

function cdata(ayrıştırıcı, $cdata)
{
var_dump($cdata);
}

function etiketKapa(ayrıştırıcı, $etiket)
{
var_dump($etiket);
}

}

ayrıştırıcı = new CustomXMLParser();
$xml_ayrıştırıcı->ayrıştır("<A ID='alo'>PHP</A>");
?>

Yukarıdaki örneğin çıktısı:

string(1) "A"
array(1) {
  ["ID"]=>
  string(5) "hallo"
}
string(3) "PHP"
string(1) "A"


İşlem komutu (PI) işleyicisini belirler

  • « xml_set_object
  • xml_set_start_namespace_decl_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • İşlem komutu (PI) işleyicisini belirler

xml_set_processing_instruction_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_processing_instruction_handler — İşlem komutu (PI) işleyicisini belirler

Açıklama

xml_set_processing_instruction_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için işlem komutu (PI) işleyicisini belirler.

Bir işlem komutunun biçemi şöyledir:

<?hedef
veri
?>

Dikkat

PHP kodu <?php işlem komutu içine konabilir. Böylece bir XML belgesisi PHP kodu içerebilir. Ancak, XML işlem komutunda kapama etiketi (?>) verinin bir parçası olmamalıdır. İşlem komutunun kapama etiketi gömülü PHP kodunun içinde yer alırsa, PHP kodu ve işlem komutunun "asıl" kapama etiketi karakter verisi olarak ele alınır.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(XMLParser $ayrıştırıcı, string $hedef, string $veri): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
hedef
İşlem komutu hedefini içermelidir.
veri
İşlem komutu verisini içermelidir.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


İsim alanı bildirimi başlatma işleyicisini belirler

  • « xml_set_processing_instruction_handler
  • xml_set_unparsed_entity_decl_handler »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • İsim alanı bildirimi başlatma işleyicisini belirler

xml_set_start_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_start_namespace_decl_handler — İsim alanı bildirimi başlatma işleyicisini belirler

Açıklama

xml_set_start_namespace_decl_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

İsim alanı bildirimi yapıldığında bu işlev çağrılır. İsim alanı bildirimleri başlangıç etiketinde bulunur. Fakat, isim alanı bildirim işleyici, her isim alanlı etiket için başlangıç etiketi işleyiciden önce çağrılır.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(resource $ayrıştırıcı, string|false $önek, string $uri): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
önek
Önek yoksa false
uri
İsimalanı için URI.

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.

Ayrıca Bakınız

  • xml_set_end_namespace_decl_handler() - İsim alanı bildirimi sonlandırma işleyiciyi belirler


Ayrıştırılmayan öğe bildirimi işleyicisini belirler

  • « xml_set_start_namespace_decl_handler
  • XMLParser »
  • PHP Manual
  • XML Çözümleyici İşlevleri
  • Ayrıştırılmayan öğe bildirimi işleyicisini belirler

xml_set_unparsed_entity_decl_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_unparsed_entity_decl_handler — Ayrıştırılmayan öğe bildirimi işleyicisini belirler

Açıklama

xml_set_unparsed_entity_decl_handler(XMLParser $ayrıştırıcı, callable $işleyici): true

ayrıştırıcı ile belirtilen XML ayrıştırıcı için ayrıştırılmayan öğe bildirimi (NDATA) işleyicisini belirler.

XML ayrıştırıcı, aşağıdaki gibi bir NDATA bildirimli bir harici öğe bildirimi saptarsa ismi işleyici bağımsız değişkeninde belirtilen işlev çağrılır:

<!ENTITY <parameter>isim</parameter> {<parameter>genel_id</parameter> | <parameter>sistem_id</parameter>}
        NDATA <parameter>notationName</parameter>

<!ENTITY isim {genel_id | sistem_id}

        NDATA gösterim_adı

Harici öğe olarak bildirilen gösterim tanımı için » XML 1.0 belirtiminin ilgili bölümüne bakınız.

Bağımsız Değişkenler

ayrıştırıcı

XML ayrıştırıcı.

işleyici

null veya boş dizge belirtilirse işleyici bunu varsayılan duruma getirir.

işleyici callable türündeyse, işleyici işlev olarak kullanılır.

işleyici string türündeyse, xml_set_object() ile atanmış bir nesnenin yöntem ismi olabilir.

İşleyici işlev sözdizimi:

işleyici(
resource $ayrıştırıcı,
string $öğe_adı,
string|false $taban,
string $sistem_id,
string|false $genel_id,
string|false $gösterim_adı
): void
ayrıştırıcı
İşleyiciyi çağıran XML ayrıştırıcı.
öğe_adı
Tanımlanmaya hazırlanılan öğenin ismi.
taban
Harici öğenin sistem betimleyicisini (sistem_id) ayrıştırmak için kullanılacak dizge. Şimdilik bu bağımsız değişken daima boş bir dizgedir.
sistem_id
Öğe bildiriminde belirtilen sistem betimleyicisi.
genel_id
Öğe bildiriminde belirtilen genel betimleyicisi. Belirtilmediği takdirde boş dizgedir. Betimleyici içindeki boşluklar XML belirtiminde belirtildiği gibi normalleştirilir.
gösterim_adı
Bu öğenin gösterim ismi; (xml_set_notation_decl_handler() işlevine bakınız).

Dönen Değerler

Daima true döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | ayrıştırıcı artık bir XMLParser örneği olabiliyor; evvelce resource türünde geçerli bir xml değeri kabul ederdi.


XMLParser sınıfı

(PHP 8)

Giriş

PHP 8.0.0 ve sonrasında xml özkaynaklarının yerini alan etkileşimsiz sınıf.

Sınıf Sözdizimi

final class XmlParser {
}


XMLReader

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • XMLReader — XMLReader sınıfı
    • XMLReader::close — XMLReader girdisini kapatır
    • XMLReader::expand — Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür
    • XMLReader::getAttribute — İsmi belirtilen özniteliğin değerini döndürür
    • XMLReader::getAttributeNo — İndisi belirtilen özniteliğin değerini döndürür
    • XMLReader::getAttributeNs — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
    • XMLReader::getParserProperty — Belirtilen özelliğin tanımlı olup olmadığına bakar
    • XMLReader::isValid — Çözümlenen düğümün geçerliliğini sınar
    • XMLReader::lookupNamespace — Bir önek için isim alanına bakar
    • XMLReader::moveToAttribute — İmleci ismi belirtilen özniteliğe konumlar
    • XMLReader::moveToAttributeNo — İmleci indisi belirtilen özniteliğe götürür
    • XMLReader::moveToAttributeNs — İmleci isimli özniteliğe götürür
    • XMLReader::moveToElement — İmleci geçerli özniteliğin ebeveyn elemanına konumlar
    • XMLReader::moveToFirstAttribute — İmleci ilk özniteliğe konumlar
    • XMLReader::moveToNextAttribute — İmleci sonraki özniteliğe konumlar
    • XMLReader::next — Alt ağaçların tümünü atlayıp sonraki düğüme gider
    • XMLReader::open — Çözemlenecek XML belgeyi içeren adresi belirler
    • XMLReader::read — Belgedeki sonraki düğüme gidilir
    • XMLReader::readInnerXml — Geçerli düğümün içeriğini okur
    • XMLReader::readOuterXml — Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur
    • XMLReader::readString — Geçerli düğümün içeriğini bir dizge olarak okur
    • XMLReader::setParserProperty — Çözümleyici seçeneklerini tanımlar
    • XMLReader::setRelaxNGSchema — Belgeyi RelaxNG şemasına göre doğrular
    • XMLReader::setRelaxNGSchemaSource — Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
    • XMLReader::setSchema — Belgeyi XSD şemasına göre doğrular
    • XMLReader::XML — Çözümlenecek XML belge içeriği belirtilir


Giriş

XMLReader eklentisi bir XML çözümleyicisidir. Belge akımı üzerinde her düğümde durarak bir imleç gibi hareket eder.

Kodlama

libxml dahili olarak UTF-8 kullandığından alınan içeriğin daima UTF-8 kodlanmış olması gerekir.


Kurulum

XMLReader eklentisi PHP paketinde gelir ve öntanımlı olarak etkindir. Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-xmlreader


  • « Çalışma Anı Yapılandırması
  • XMLReader »
  • PHP Manual
  • Yapılandırma/Kurulum
  • Özkaynak Türleri

Özkaynak Türleri

Bu eklentinin tanımlı hiçbir özkaynak türü yoktur.


XMLReader sınıfı

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

Giriş

XMLReader eklentisi bir XML çözümleyicisidir. Belge akımı üzerinde her düğümde durarak bir imleç gibi hareket eder.

Sınıf Sözdizimi

class XMLReader {
/* Sabitler */
public const int NONE;
public const int ELEMENT;
public const int ATTRIBUTE;
public const int TEXT;
public const int CDATA;
public const int ENTITY_REF;
public const int ENTITY;
public const int PI;
public const int COMMENT;
public const int DOC;
public const int DOC_TYPE;
public const int DOC_FRAGMENT;
public const int NOTATION;
public const int WHITESPACE;
public const int SIGNIFICANT_WHITESPACE;
public const int END_ELEMENT;
public const int END_ENTITY;
public const int XML_DECLARATION;
public const int LOADDTD;
public const int DEFAULTATTRS;
public const int VALIDATE;
public const int SUBST_ENTITIES;
/* Özellikler */
public int $attributeCount;
public string $baseURI;
public int $depth;
public bool $hasAttributes;
public bool $hasValue;
public bool $isDefault;
public bool $isEmptyElement;
public string $localName;
public string $name;
public string $namespaceURI;
public int $nodeType;
public string $prefix;
public string $value;
public string $xmlLang;
/* Yöntemler */
public close(): true
public expand(?DOMNode $düğüm = null): DOMNode|false
public getAttribute(string $isim): ?string
public getAttributeNo(int $indis): ?string
public getAttributeNs(string $isim, string $isimalanı): ?string
public getParserProperty(int $özellik): bool
public isValid(): bool
public lookupNamespace(string $önek): ?string
public moveToAttribute(string $isim): bool
public moveToAttributeNo(int $indis): bool
public moveToAttributeNs(string $isim, string $isim_alanı): bool
public moveToElement(): bool
public moveToFirstAttribute(): bool
public moveToNextAttribute(): bool
public next(?string $isim = null): bool
public static open(string $uri, ?string $kodlama = null, int $seçenekler = 0): bool|XMLReader
public read(): bool
public readInnerXml(): string
public readOuterXml(): string
public readString(): string
public setParserProperty(int $seçenek, bool $etkin): bool
public setRelaxNGSchema(?string $dosya): bool
public setRelaxNGSchemaSource(?string $kaynak): bool
public setSchema(?string $dosya): bool
public static XML(string $kaynak, ?string $kodlama = null, int $seçenekler = 0): bool|XMLReader
}

Özellikler

attributeCount

Düğümdeki özniteliklerin sayısı.

baseURI

Düğümün taban adresi.

depth

Düğümün ağaçtaki derinliği; 0'dan başlar.

hasAttributes

Düğümün öznitelikleri varsa true.

hasValue

Düğüm bir metin değerine sahipse true.

isDefault

Özniteliğin DTD'de öntanımlısı varsa true.

isEmptyElement

Düğüm boş bir elemansa true

localName

Düğümün yerel ismi.

name

Düğümün nitelenmiş ismi.

namespaceURI

Düğüm ile ilişkili isim alanını betimleyen adres.

nodeType

Düğümün düğüm türü.

önek

Düğüm ile ilişkili isim alanı öneki.

value

Düğümün metin değeri.

xmlLang

Düğümün ait olduğu xml:lang etki alanı

Öntanımlı Sabitler

XMLReader Düğüm Türleri

XMLReader::NONE

Düğüm türü yok

XMLReader::ELEMENT

Eleman başlatır

XMLReader::ATTRIBUTE

Öznitelik düğümü

XMLReader::TEXT

Metin düğümü

XMLReader::CDATA

CDATA düğümü

XMLReader::ENTITY_REF

Öğe gönderimi düğümü

XMLReader::ENTITY

Öğe bildirimi düğümü

XMLReader::PI

İşlem komutu düğümü

XMLReader::COMMENT

Açıklama düğümü

XMLReader::DOC

Belge düğümü

XMLReader::DOC_TYPE

Belge türü düğümü

XMLReader::DOC_FRAGMENT

Belge bölümü düğümü

XMLReader::NOTATION

Gösterim düğümü

XMLReader::WHITESPACE

Boşluk düğümü

XMLReader::SIGNIFICANT_WHITESPACE

Anlamlı boşluk düğümü

XMLReader::END_ELEMENT

Elemanı kapatır

XMLReader::END_ENTITY

Öğeyi kapatır

XMLReader::XML_DECLARATION

XML Bildirimi düğümü

XMLReader Çözümleyici Seçenekleri

XMLReader::LOADDTD

DTD'yi yükler fakat doğrulama yapmaz.

XMLReader::DEFAULTATTRS

DTD'yi ve öntanımlı öznitelikleri yükler fakat doğrulama yapmaz.

XMLReader::VALIDATE

DTD'yi yükler ve çözümleme sırasında doğrulama yapar.

XMLReader::SUBST_ENTITIES

Öğe ikamelelerini yapar ve gönderimleri genişletir.

İçindekiler

  • XMLReader::close — XMLReader girdisini kapatır
  • XMLReader::expand — Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür
  • XMLReader::getAttribute — İsmi belirtilen özniteliğin değerini döndürür
  • XMLReader::getAttributeNo — İndisi belirtilen özniteliğin değerini döndürür
  • XMLReader::getAttributeNs — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
  • XMLReader::getParserProperty — Belirtilen özelliğin tanımlı olup olmadığına bakar
  • XMLReader::isValid — Çözümlenen düğümün geçerliliğini sınar
  • XMLReader::lookupNamespace — Bir önek için isim alanına bakar
  • XMLReader::moveToAttribute — İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNo — İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToAttributeNs — İmleci isimli özniteliğe götürür
  • XMLReader::moveToElement — İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToFirstAttribute — İmleci ilk özniteliğe konumlar
  • XMLReader::moveToNextAttribute — İmleci sonraki özniteliğe konumlar
  • XMLReader::next — Alt ağaçların tümünü atlayıp sonraki düğüme gider
  • XMLReader::open — Çözemlenecek XML belgeyi içeren adresi belirler
  • XMLReader::read — Belgedeki sonraki düğüme gidilir
  • XMLReader::readInnerXml — Geçerli düğümün içeriğini okur
  • XMLReader::readOuterXml — Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur
  • XMLReader::readString — Geçerli düğümün içeriğini bir dizge olarak okur
  • XMLReader::setParserProperty — Çözümleyici seçeneklerini tanımlar
  • XMLReader::setRelaxNGSchema — Belgeyi RelaxNG şemasına göre doğrular
  • XMLReader::setRelaxNGSchemaSource — Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
  • XMLReader::setSchema — Belgeyi XSD şemasına göre doğrular
  • XMLReader::XML — Çözümlenecek XML belge içeriği belirtilir


XMLReader girdisini kapatır

  • « XMLReader
  • XMLReader::expand »
  • PHP Manual
  • XMLReader
  • XMLReader girdisini kapatır

XMLReader::close

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::close — XMLReader girdisini kapatır

Açıklama

public XMLReader::close(): true

Çözümlenmekte olan XMLReader nesnesini kapatır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Daima true döndürür.

Ayrıca Bakınız

  • XMLReader::open() - Çözemlenecek XML belgeyi içeren adresi belirler
  • XMLReader::xml() - Çözümlenecek XML belge içeriği belirtilir


Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür

  • « XMLReader::close
  • XMLReader::getAttribute »
  • PHP Manual
  • XMLReader
  • Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür

XMLReader::expand

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::expand — Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür

Açıklama

public XMLReader::expand(?DOMNode $düğüm = null): DOMNode|false

Geçerli düğümü kopyalar ve kopyayı bir DOM nesnesi olarak döndürür.

Bağımsız Değişkenler

düğüm

Oluşturulan DOM nesnesi için hedef DOMDocument nesnesini tanımlayan DOMNode nesnesi.

Dönen Değerler

Hata durumunda false, aksi takdirde elde edilen DOMNode nesnesi döner.


İsmi belirtilen özniteliğin değerini döndürür

  • « XMLReader::expand
  • XMLReader::getAttributeNo »
  • PHP Manual
  • XMLReader
  • İsmi belirtilen özniteliğin değerini döndürür

XMLReader::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttribute — İsmi belirtilen özniteliğin değerini döndürür

Açıklama

public XMLReader::getAttribute(string $isim): ?string

İsmi belirtilen özniteliğin değerini döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

Dönen Değerler

İsmi belirtilen özniteliğin değerini bir dizge olarak döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık false döndürmüyor.

Ayrıca Bakınız

  • XMLReader::getAttributeNo() - İndisi belirtilen özniteliğin değerini döndürür
  • XMLReader::getAttributeNs() - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür


İndisi belirtilen özniteliğin değerini döndürür

  • « XMLReader::getAttribute
  • XMLReader::getAttributeNs »
  • PHP Manual
  • XMLReader
  • İndisi belirtilen özniteliğin değerini döndürür

XMLReader::getAttributeNo

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttributeNo — İndisi belirtilen özniteliğin değerini döndürür

Açıklama

public XMLReader::getAttributeNo(int $indis): ?string

İndisi belirtilen özniteliğin değerini döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Bağımsız Değişkenler

indis

Özniteliğin konumu.

Dönen Değerler

İndisi belirtilen özniteliğin değerini bir dizge olarak döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Ayrıca Bakınız

  • XMLReader::getAttribute() - İsmi belirtilen özniteliğin değerini döndürür
  • XMLReader::getAttributeNs() - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür


İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

  • « XMLReader::getAttributeNo
  • XMLReader::getParserProperty »
  • PHP Manual
  • XMLReader
  • İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

XMLReader::getAttributeNs

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getAttributeNs — İsmi ve isim alanı belirtilen özniteliğin değerini döndürür

Açıklama

public XMLReader::getAttributeNs(string $isim, string $isimalanı): ?string

İsmi ve isim alanı belirtilen özniteliğin değerini döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Bağımsız Değişkenler

isim

Özniteliğin yerel ismi.

isimalanı

İsim alanını betimleyen adres.

Dönen Değerler

İsmi ve isim alanı belirtilen özniteliğin değerini bir dizge olarak döndürür. Öznitelik yoksa veya eleman düğümünde özniteliğe konumlanamıyorsa null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık false döndürmüyor.

Ayrıca Bakınız

  • XMLReader::getAttribute() - İsmi belirtilen özniteliğin değerini döndürür
  • XMLReader::getAttributeNo() - İndisi belirtilen özniteliğin değerini döndürür


Belirtilen özelliğin tanımlı olup olmadığına bakar

  • « XMLReader::getAttributeNs
  • XMLReader::isValid »
  • PHP Manual
  • XMLReader
  • Belirtilen özelliğin tanımlı olup olmadığına bakar

XMLReader::getParserProperty

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::getParserProperty — Belirtilen özelliğin tanımlı olup olmadığına bakar

Açıklama

public XMLReader::getParserProperty(int $özellik): bool

Belirtilen özelliğin tanımlı olup olmadığına bakar.

Bağımsız Değişkenler

özellik

Çözümleyici seçeneği sabitlerinden biri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::setParserProperty() - Çözümleyici seçeneklerini tanımlar


Çözümlenen düğümün geçerliliğini sınar

  • « XMLReader::getParserProperty
  • XMLReader::lookupNamespace »
  • PHP Manual
  • XMLReader
  • Çözümlenen düğümün geçerliliğini sınar

XMLReader::isValid

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::isValid — Çözümlenen düğümün geçerliliğini sınar

Açıklama

public XMLReader::isValid(): bool

Çözümlenen düğüm geçerli ise true döner.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - XML belgenin doğrulanması

<?php
$xml = XMLReader::open('test.xml');

// Doğrulamanın gerekliliğini belirt
$xml->setParserProperty(XMLReader::VALIDATE, true);

var_dump($xml->isValid());
?>

Notlar

Bilginize: Belgenin tamamını değil, sadece geçerli düğümü sınar.

Ayrıca Bakınız

  • XMLReader::setParserProperty() - Çözümleyici seçeneklerini tanımlar
  • XMLReader::setRelaxNGSchema() - Belgeyi RelaxNG şemasına göre doğrular
  • XMLReader::setRelaxNGSchemaSource() - Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
  • XMLReader::setSchema() - Belgeyi XSD şemasına göre doğrular


Bir önek için isim alanına bakar

  • « XMLReader::isValid
  • XMLReader::moveToAttribute »
  • PHP Manual
  • XMLReader
  • Bir önek için isim alanına bakar

XMLReader::lookupNamespace

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::lookupNamespace — Bir önek için isim alanına bakar

Açıklama

public XMLReader::lookupNamespace(string $önek): ?string

Belirtilen önek için isim alanına bakar.

Bağımsız Değişkenler

önek

Önek olarak kullanılan dizge.

Dönen Değerler

İsimalanının değerini döndürür, böyle bir isimalanı yoksa null döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | Bu işlev artık false döndürmüyor.


İmleci ismi belirtilen özniteliğe konumlar

  • « XMLReader::lookupNamespace
  • XMLReader::moveToAttributeNo »
  • PHP Manual
  • XMLReader
  • İmleci ismi belirtilen özniteliğe konumlar

XMLReader::moveToAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttribute — İmleci ismi belirtilen özniteliğe konumlar

Açıklama

public XMLReader::moveToAttribute(string $isim): bool

İmleci ismi belirtilen özniteliğe konumlar.

Bağımsız Değişkenler

isim

Özniteliğin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttributeNo() - İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToAttributeNs() - İmleci isimli özniteliğe götürür
  • XMLReader::moveToFirstAttribute() - İmleci ilk özniteliğe konumlar


İmleci indisi belirtilen özniteliğe götürür

  • « XMLReader::moveToAttribute
  • XMLReader::moveToAttributeNs »
  • PHP Manual
  • XMLReader
  • İmleci indisi belirtilen özniteliğe götürür

XMLReader::moveToAttributeNo

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttributeNo — İmleci indisi belirtilen özniteliğe götürür

Açıklama

public XMLReader::moveToAttributeNo(int $indis): bool

İmleci, konumuna göre öznitelik üzerine konumlandırır.

Bağımsız Değişkenler

indis

Özniteliğin konumu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNs() - İmleci isimli özniteliğe götürür
  • XMLReader::moveToFirstAttribute() - İmleci ilk özniteliğe konumlar


İmleci isimli özniteliğe götürür

  • « XMLReader::moveToAttributeNo
  • XMLReader::moveToElement »
  • PHP Manual
  • XMLReader
  • İmleci isimli özniteliğe götürür

XMLReader::moveToAttributeNs

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToAttributeNs — İmleci isimli özniteliğe götürür

Açıklama

public XMLReader::moveToAttributeNs(string $isim, string $isim_alanı): bool

Positions cursor on the named attribute in specified namespace.

Bağımsız Değişkenler

isim

Yerel ad.

isim_alanı

İsim alanı için URI.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNo() - İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToFirstAttribute() - İmleci ilk özniteliğe konumlar


İmleci geçerli özniteliğin ebeveyn elemanına konumlar

  • « XMLReader::moveToAttributeNs
  • XMLReader::moveToFirstAttribute »
  • PHP Manual
  • XMLReader
  • İmleci geçerli özniteliğin ebeveyn elemanına konumlar

XMLReader::moveToElement

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToElement — İmleci geçerli özniteliğin ebeveyn elemanına konumlar

Açıklama

public XMLReader::moveToElement(): bool

İmleci geçerli özniteliğin ebeveyn elemanına konumlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

İmleç bir özniteliğin üzerinde değilse veya işlem başarısız olursa false, yoksa true döner.

Ayrıca Bakınız

  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNo() - İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToAttributeNs() - İmleci isimli özniteliğe götürür
  • XMLReader::moveToFirstAttribute() - İmleci ilk özniteliğe konumlar


İmleci ilk özniteliğe konumlar

  • « XMLReader::moveToElement
  • XMLReader::moveToNextAttribute »
  • PHP Manual
  • XMLReader
  • İmleci ilk özniteliğe konumlar

XMLReader::moveToFirstAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToFirstAttribute — İmleci ilk özniteliğe konumlar

Açıklama

public XMLReader::moveToFirstAttribute(): bool

İmleci ilk özniteliğe konumlar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNo() - İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToAttributeNs() - İmleci isimli özniteliğe götürür
  • XMLReader::moveToNextAttribute() - İmleci sonraki özniteliğe konumlar


İmleci sonraki özniteliğe konumlar

  • « XMLReader::moveToFirstAttribute
  • XMLReader::next »
  • PHP Manual
  • XMLReader
  • İmleci sonraki özniteliğe konumlar

XMLReader::moveToNextAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::moveToNextAttribute — İmleci sonraki özniteliğe konumlar

Açıklama

public XMLReader::moveToNextAttribute(): bool

İmleç bir özniteliğin üzerindeyse bir sonraki özniteliğe geçer, elemanın üzerindeyse elemanın ilk özniteliğine gider.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToAttributeNo() - İmleci indisi belirtilen özniteliğe götürür
  • XMLReader::moveToAttributeNs() - İmleci isimli özniteliğe götürür
  • XMLReader::moveToFirstAttribute() - İmleci ilk özniteliğe konumlar


Alt ağaçların tümünü atlayıp sonraki düğüme gider

  • « XMLReader::moveToNextAttribute
  • XMLReader::open »
  • PHP Manual
  • XMLReader
  • Alt ağaçların tümünü atlayıp sonraki düğüme gider

XMLReader::next

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::next — Alt ağaçların tümünü atlayıp sonraki düğüme gider

Açıklama

public XMLReader::next(?string $isim = null): bool

Alt ağaçların tümünü atlayıp imleci sonraki düğüme konumlandırır. Böyle bir düğüm yoksa imleç belge sonuna gider.

Bağımsız Değişkenler

isim

Gidilecek sonraki düğümün yerel ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | isim artık null olabiliyor.

Ayrıca Bakınız

  • XMLReader::moveToNextAttribute() - İmleci sonraki özniteliğe konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar


Çözemlenecek XML belgeyi içeren adresi belirler

  • « XMLReader::next
  • XMLReader::read »
  • PHP Manual
  • XMLReader
  • Çözemlenecek XML belgeyi içeren adresi belirler

XMLReader::open

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::open — Çözemlenecek XML belgeyi içeren adresi belirler

Açıklama

public static XMLReader::open(string $uri, ?string $kodlama = null, int $seçenekler = 0): bool|XMLReader

Çözemlenecek XML belgeyi içeren adresi belirler.

Bağımsız Değişkenler

uri

Belgenin adresi.

kodlama

Belgenin karakter kodlaması veya null.

seçenekler

LIBXML_* sabitlerinden oluşan bir bit maskesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Statik olarak çağrılmışsa XMLReader, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem statik olarak çağrılabilir, fakat PHP 8.0.0 öncesinde, böyle bir durumda bir E_DEPRECATED hatası çıktılıyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | XMLReader::open() statik yöntem olarak bildirildi, fakat hala XMLReader örneği olarak çağrılabiliyor.

Ayrıca Bakınız

  • XMLReader::xml() - Çözümlenecek XML belge içeriği belirtilir
  • XMLReader::close() - XMLReader girdisini kapatır


Belgedeki sonraki düğüme gidilir

  • « XMLReader::open
  • XMLReader::readInnerXml »
  • PHP Manual
  • XMLReader
  • Belgedeki sonraki düğüme gidilir

XMLReader::read

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::read — Belgedeki sonraki düğüme gidilir

Açıklama

public XMLReader::read(): bool

İmleci belgede sonraki düğüme konumlandırır.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::moveToElement() - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
  • XMLReader::moveToAttribute() - İmleci ismi belirtilen özniteliğe konumlar
  • XMLReader::next() - Alt ağaçların tümünü atlayıp sonraki düğüme gider


Geçerli düğümün içeriğini okur

  • « XMLReader::read
  • XMLReader::readOuterXml »
  • PHP Manual
  • XMLReader
  • Geçerli düğümün içeriğini okur

XMLReader::readInnerXml

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readInnerXml — Geçerli düğümün içeriğini okur

Açıklama

public XMLReader::readInnerXml(): string

Geçerli düğümün içeriğini, çocuk düğümler ve imlenimle birlikte okur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli düğümün içeriğini bir dizge olarak döndürür. Başarısızlık durumunda boş dizge döner.

Notlar

Dikkat

Bu işlev sadece PHP, libxml 20620 veya sonraki bir sürüm kullanılarak derlendiği takdirde kullanılabilir.

Ayrıca Bakınız

  • XMLReader::readString() - Geçerli düğümün içeriğini bir dizge olarak okur
  • XMLReader::readOuterXml() - Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur
  • XMLReader::expand() - Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür


Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur

  • « XMLReader::readInnerXml
  • XMLReader::readString »
  • PHP Manual
  • XMLReader
  • Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur

XMLReader::readOuterXml

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readOuterXml — Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur

Açıklama

public XMLReader::readOuterXml(): string

Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli düğümün içeriğini düğümün kendisiyle birlikte bir dizge olarak döndürür. Başarısızlık durumunda boş dizge döner.

Notlar

Dikkat

Bu işlev sadece PHP, libxml 20620 veya sonraki bir sürüm kullanılarak derlendiği takdirde kullanılabilir.

Ayrıca Bakınız

  • XMLReader::readString() - Geçerli düğümün içeriğini bir dizge olarak okur
  • XMLReader::readInnerXml() - Geçerli düğümün içeriğini okur
  • XMLReader::expand() - Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür


Geçerli düğümün içeriğini bir dizge olarak okur

  • « XMLReader::readOuterXml
  • XMLReader::setParserProperty »
  • PHP Manual
  • XMLReader
  • Geçerli düğümün içeriğini bir dizge olarak okur

XMLReader::readString

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::readString — Geçerli düğümün içeriğini bir dizge olarak okur

Açıklama

public XMLReader::readString(): string

Geçerli düğümün içeriğini bir dizge olarak okur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Geçerli düğümün içeriğini bir dizge olarak döndürür. Başarısızlık durumunda boş dizge döner.

Notlar

Dikkat

Bu işlev sadece PHP, libxml 20620 veya sonraki bir sürüm kullanılarak derlendiği takdirde kullanılabilir.

Ayrıca Bakınız

  • XMLReader::readOuterXml() - Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur
  • XMLReader::readInnerXml() - Geçerli düğümün içeriğini okur
  • XMLReader::expand() - Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür


Çözümleyici seçeneklerini tanımlar

  • « XMLReader::readString
  • XMLReader::setRelaxNGSchema »
  • PHP Manual
  • XMLReader
  • Çözümleyici seçeneklerini tanımlar

XMLReader::setParserProperty

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setParserProperty — Çözümleyici seçeneklerini tanımlar

Açıklama

public XMLReader::setParserProperty(int $seçenek, bool $etkin): bool

Çözümleyici seçeneklerini etkin veya etkisiz kılar. Seçeneklerin
XMLReader-open() veya
XMLReader-xml() çağrıldıktan sonra
XMLReader-read() çağrılmadan önce belirlenmesi gerekir.

Bağımsız Değişkenler

seçenek

Çözümleyici seçeneği sabitlerinden biri.

etkin

true atanırsa seçenek etkin olur, aksi takdirde seçenek etkisiz olur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


Belgeyi RelaxNG şemasına göre doğrular

  • « XMLReader::setParserProperty
  • XMLReader::setRelaxNGSchemaSource »
  • PHP Manual
  • XMLReader
  • Belgeyi RelaxNG şemasına göre doğrular

XMLReader::setRelaxNGSchema

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setRelaxNGSchema — Belgeyi RelaxNG şemasına göre doğrular

Açıklama

public XMLReader::setRelaxNGSchema(?string $dosya): bool

XML belgeyi doğrulamak için dosya ile belirtilen RelaxNG şeması kullanılır.

Bağımsız Değişkenler

dosya

RelaxNG şemasının dosya yolu veya adresi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::setRelaxNGSchemaSource() - Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
  • XMLReader::setSchema() - Belgeyi XSD şemasına göre doğrular
  • XMLReader::isValid() - Çözümlenen düğümün geçerliliğini sınar


Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular

  • « XMLReader::setRelaxNGSchema
  • XMLReader::setSchema »
  • PHP Manual
  • XMLReader
  • Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular

XMLReader::setRelaxNGSchemaSource

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::setRelaxNGSchemaSource — Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular

Açıklama

public XMLReader::setRelaxNGSchemaSource(?string $kaynak): bool

XML belgeyi doğrulamak için kaynak dizgesi ile belirtilen RelaxNG şeması kullanılır.

Bağımsız Değişkenler

kaynak

RelaxNG şemasını içeren dizge.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XMLReader::setRelaxNGSchema() - Belgeyi RelaxNG şemasına göre doğrular
  • XMLReader::setSchema() - Belgeyi XSD şemasına göre doğrular
  • XMLReader::isValid() - Çözümlenen düğümün geçerliliğini sınar


Belgeyi XSD şemasına göre doğrular

  • « XMLReader::setRelaxNGSchemaSource
  • XMLReader::XML »
  • PHP Manual
  • XMLReader
  • Belgeyi XSD şemasına göre doğrular

XMLReader::setSchema

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

XMLReader::setSchema — Belgeyi XSD şemasına göre doğrular

Açıklama

public XMLReader::setSchema(?string $dosya): bool

XML belgeyi doğrulamak için dosya ile belirtilen W3C XSD şeması kullanılır. Etkinleştirme sadece ilk XMLReader::read() öncesi mümkündür.

Bağımsız Değişkenler

dosya

XSD şemasının dosya yolu.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Hatalar/İstisnalar

libxml şema desteği olmaksızın derlenmişse, şema hatalıysa veya daha önce bir XMLReader::read() çağrısı yapılmışsa bir E_WARNING çıktılanır.

Notlar

Dikkat

Bu işlev sadece PHP, libxml 20620 veya sonraki bir sürüm kullanılarak derlendiği takdirde kullanılabilir.

Ayrıca Bakınız

  • XMLReader::setRelaxNGSchema() - Belgeyi RelaxNG şemasına göre doğrular
  • XMLReader::setRelaxNGSchemaSource() - Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
  • XMLReader::isValid() - Çözümlenen düğümün geçerliliğini sınar


Çözümlenecek XML belge içeriği belirtilir

  • « XMLReader::setSchema
  • XMLWriter »
  • PHP Manual
  • XMLReader
  • Çözümlenecek XML belge içeriği belirtilir

XMLReader::XML

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

XMLReader::XML — Çözümlenecek XML belge içeriği belirtilir

Açıklama

public static XMLReader::XML(string $kaynak, ?string $kodlama = null, int $seçenekler = 0): bool|XMLReader

Çözümlenecek XML belge içeriğini belirtmek için kullanılır.

Bağımsız Değişkenler

kaynak

Çözümlenecek XML belgeyi içeren dizge.

kodlama

Belgenin karakter kodlaması veya null.

seçenekler

LIBXML_* sabitlerinden oluşan bir bit maskesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner. Statik olarak çağrılmışsa XMLReader, başarısızlık durumunda false döner.

Hatalar/İstisnalar

Bu yöntem statik olarak çağrılabilir, fakat PHP 8.0.0 öncesinde, böyle bir durumda bir E_DEPRECATED hatası çıktılıyordu.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | XMLReader::XML() statik yöntem olarak bildirildi, fakat hala XMLReader örneği olarak çağrılabiliyor.

Ayrıca Bakınız

  • XMLReader::open() - Çözemlenecek XML belgeyi içeren adresi belirler
  • XMLReader::close() - XMLReader girdisini kapatır


XMLWriter

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Basit bir XML Belgenin Oluşturulması
    • XML isim alanları ile çalışma
    • Nesne yönelimli arayüz ile çalışma
  • XMLWriter — XMLWriter sınıfı
    • XMLWriter::endAttribute — Geçerli özniteliği sonlandırır
    • XMLWriter::endCdata — Geçerli CDATA bölümünü kapatır
    • XMLWriter::endComment — Geçerli açıklamayı kapatır
    • XMLWriter::endDocument — Geçerli belgeyi sonlandırır
    • XMLWriter::endDtd — Geçerli DTD'yi kapatır
    • XMLWriter::endDtdAttlist — Geçerli DTD öznitelik listesi bildirimini kapatır
    • XMLWriter::endDtdElement — Geçerli DTD eleman bildirimini kapatır
    • XMLWriter::endDtdEntity — Geçerli DTD öğe bildirimini kapatır
    • XMLWriter::endElement — Geçerli elemanı kapatır
    • XMLWriter::endPi — Geçerli işlem komutunu kapatır
    • XMLWriter::flush — Geçerli tamponu boşaltır
    • XMLWriter::fullEndElement — Geçerli elemanı kapatır
    • XMLWriter::openMemory — Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur
    • XMLWriter::openUri — Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur
    • XMLWriter::outputMemory — Geçerli tamponu döndürür
    • XMLWriter::setIndent — Girintilemeyi açıp kapar
    • XMLWriter::setIndentString — Girintileme için kullanılacak dizgeyi belirler
    • XMLWriter::startAttribute — Bir öznitelik başlatır
    • XMLWriter::startAttributeNs — İsim alanlı bir öznitelik başlatır
    • XMLWriter::startCdata — Bir CDATA bölümü başlatır
    • XMLWriter::startComment — Bir açıklama başlatır
    • XMLWriter::startDocument — Belgenin XML bildirimini yazar
    • XMLWriter::startDtd — Bir DTD başlangıç etiketi oluşturur
    • XMLWriter::startDtdAttlist — Bir DTD öznitelik listesi bildirimini başlatır
    • XMLWriter::startDtdElement — Bir DTD eleman bildirimini başlatır
    • XMLWriter::startDtdEntity — Bir DTD öğe bildirimini başlatır
    • XMLWriter::startElement — Bir eleman başlangıç etiketi oluşturur
    • XMLWriter::startElementNs — Bir isim alanlı eleman başlangıç etiketi oluşturur
    • XMLWriter::startPi — Bir işlem komutu başlangıç etiketi oluşturur
    • XMLWriter::text — Bir metni yazar
    • XMLWriter::writeAttribute — Öznitelik yazar
    • XMLWriter::writeAttributeNs — İsim alanlı öznitelik yazar
    • XMLWriter::writeCdata — CDATA yazar
    • XMLWriter::writeComment — Açıklama yazar
    • XMLWriter::writeDtd — DTD'yi' yazar
    • XMLWriter::writeDtdAttlist — DTD öznitelik listesi yazar
    • XMLWriter::writeDtdElement — DTD elemanını yazar
    • XMLWriter::writeDtdEntity — DTD öğesini yazar
    • XMLWriter::writeElement — Elemanı içeriğiyle birlikte yazar
    • XMLWriter::writeElementNs — İsim alanlı elemanı içeriğiyle birlikte yazar
    • XMLWriter::writePi — Bir işlem komutu (PI) yazar
    • XMLWriter::writeRaw — Ham XML metni yazar


Giriş

Bu eklenti, libxml kütüphanesinin xmlWriter arayüzünün sarmalayıcısıdır.

Bu eklenti, XML veri içeren dosyalar veya akımlar üretmek anlamında tek yönlü ve önbelleklemesiz olarak bir XML yazıcı gerçekler.

Eklenti, nesne yönelimli kullanılabileceği gibi yordamsal olarak da kullanılabilir, Her yöntemin belgesinde yordamsal kullanım da açıklanmıştır.


Kurulum

XMLWriter eklentisi PHP paketinde gelir.

Bu eklenti öntanımlı olarak etkindir. Derleme sırasında bu seçenekle iptal edilebilir: --disable-xmlwriter


Özkaynak Türleri

PHP 8.0.0 öncesinde XMLWriter eklentisinin yordamsal sürümü tarafından kullanılan tek bir özkaynağı vardı ve bu özkaynak xmlwriter_open_memory() veya xmlwriter_open_uri() işlevi tarafından döndürülürdü.


  • « Özkaynak Türleri
  • Örnekler »
  • PHP Manual
  • XMLWriter
  • Öntanımlı Sabitler

Öntanımlı Sabitler

Bu eklentinin tanımlanmış sabitleri yoktur.


Örnekler

İçindekiler

  • Basit bir XML Belgenin Oluşturulması
  • XML isim alanları ile çalışma
  • Nesne yönelimli arayüz ile çalışma


Basit bir XML Belgenin Oluşturulması

Bu örnekte bir XML belgenin XMLWriter kullanılarak bellekte nasıl oluşturulacağı gösterilmiştir.

Örnek 1 - Basit bir XML Belgenin Oluşturulması

<?php

$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');

xmlwriter_start_document($xw, '1.0', 'UTF-8');

// İlk eleman
xmlwriter_start_element($xw, 'tag1');

// 'tag1' elemanının 'att1' özniterliği
xmlwriter_start_attribute($xw, 'att1');
xmlwriter_text($xw, 'valueofatt1');
xmlwriter_end_attribute($xw);

xmlwriter_write_comment($xw, 'Bu bir açıklamadır.');

// Çocuk eleman
xmlwriter_start_element($xw, 'tag11');
xmlwriter_text($xw, 'Bu örnek bir metindir, ğ');
xmlwriter_end_element($xw); // tag11

xmlwriter_end_element($xw); // tag1

// CDATA
xmlwriter_start_element($xw, 'testc');
xmlwriter_write_cdata($xw, "cdata içeriği burada");
xmlwriter_end_element($xw); // testc

xmlwriter_start_element($xw, 'testc');
xmlwriter_start_cdata($xw);
xmlwriter_text($xw, "cdata2 denemesi");
xmlwriter_end_cdata($xw);
xmlwriter_end_element($xw); // testc

// İşlem komutu
xmlwriter_start_pi($xw, 'php');
xmlwriter_text($xw, '$foo=2;echo $foo;');
xmlwriter_end_pi($xw);

xmlwriter_end_document($xw);

echo xmlwriter_output_memory($xw);

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="UTF-8"?>
<tag1 att1="valueofatt1">
 <!--Bu bir açıklamadır.-->
 <tag11>Bu örnek bir metindir, ğ</tag11>
</tag1>
<testc><![CDATA[cdata içeriği burada]]></testc>
<testc><![CDATA[cdata2 denemesi]]></testc>
<?php $foo=2;echo $foo;?>


XML isim alanları ile çalışma

Bu örnekte isim alanlı XML elemanlarının nasıl oluşturulacağı gösterilmiştir.

Örnek 1 - XML isim alanları ile çalışma

<?php

$xw = xmlwriter_open_memory();
xmlwriter_set_indent($xw, 1);
$res = xmlwriter_set_indent_string($xw, ' ');

xmlwriter_start_document($xw, '1.0', 'UTF-8');
// A first element
xmlwriter_start_element_ns($xw,'prefix', 'books', 'uri');
xmlwriter_start_attribute($xw, 'isbn');

xmlwriter_start_attribute_ns($xw, 'prefix', 'isbn', 'uri');
xmlwriter_end_attribute($xw);

xmlwriter_end_attribute($xw);

xmlwriter_text($xw, 'book1');
xmlwriter_end_element($xw);

xmlwriter_end_document($xw);

echo xmlwriter_output_memory($xw);

Yukarıdaki örneğin çıktısı:

<?xml version="1.0" encoding="UTF-8"?>
<prefix:books isbn="" prefix:isbn="" xmlns:prefix="uri">book1</prefix:books>


Nesne yönelimli arayüz ile çalışma

Bu örnekte XMLWriter'ın nesne yönelimli arayüzü ile nasıl çalışılacağı gösterilmiştir.

Örnek 1 - Nesne yönelimli arayüz ile çalışma

<?php

$xw = new XMLWriter();
$xw->openMemory();
$xw->startDocument("1.0");
$xw->startElement("kitap");
$xw->text("örnek");
$xw->endElement();
$xw->endDocument();
echo $xw->outputMemory();

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<kitap>örnek</kitap>


XMLWriter sınıfı

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

Giriş

Sınıf Sözdizimi

class XMLWriter {
/* Yöntemler */
public endAttribute(): bool
public endCdata(): bool
public endComment(): bool
public endDocument(): bool
public endDtd(): bool
public endDtdAttlist(): bool
public endDtdElement(): bool
public endDtdEntity(): bool
public endElement(): bool
public endPi(): bool
public flush(bool $empty = true): string|int
public fullEndElement(): bool
public openMemory(): bool
public openUri(string $uri): bool
public outputMemory(bool $boşalt = true): string
public setIndent(bool $girintile): bool
public setIndentString(string $girinti): bool
public startAttribute(string $isim): bool
public startAttributeNs(?string $önek, string $isim, ?string $uri): bool
public startCdata(): bool
public startComment(): bool
public startDocument(?string $version = "1.0", ?string $encoding = null, ?string $standalone = null): bool
public startDtd(string $kök_eleman, ?string $publicId = null, ?string $systemId = null): bool
public startDtdAttlist(string $isim): bool
public startDtdElement(string $isim): bool
public startDtdEntity(string $isim, bool $değiştige_var): bool
public startElement(string $isim): bool
public startElementNs(?string $önek, string $isim, ?string $uri): bool
public startPi(string $hedef): bool
public text(string $içerik): bool
public writeAttribute(string $isim, string $değer): bool
public writeAttributeNs(
?string $önek,
string $isim,
?string $uri,
string $değer
): bool
public writeCdata(string $içerik): bool
public writeComment(string $içerik): bool
public writeDtd(
string $isim,
?string $publicId = null,
?string $systemId = null,
?string $altküme = null
): bool
public writeDtdAttlist(string $isim, string $içerik): bool
public writeDtdElement(string $name, string $içerik): bool
public writeDtdEntity(
string $isim,
string $içerik,
bool $isParam = false,
?string $publicId = null,
?string $systemId = null,
?string $notationData = null
): bool
public writeElement(string $etiket, ?string $içerik = null): bool
public writeElementNs(
?string $önek,
string $eleman,
?string $uri,
?string $içerik = null
): bool
public writePi(string $hedef, string $içerik): bool
public writeRaw(string $içerik): bool
}

İçindekiler

  • XMLWriter::endAttribute — Geçerli özniteliği sonlandırır
  • XMLWriter::endCdata — Geçerli CDATA bölümünü kapatır
  • XMLWriter::endComment — Geçerli açıklamayı kapatır
  • XMLWriter::endDocument — Geçerli belgeyi sonlandırır
  • XMLWriter::endDtd — Geçerli DTD'yi kapatır
  • XMLWriter::endDtdAttlist — Geçerli DTD öznitelik listesi bildirimini kapatır
  • XMLWriter::endDtdElement — Geçerli DTD eleman bildirimini kapatır
  • XMLWriter::endDtdEntity — Geçerli DTD öğe bildirimini kapatır
  • XMLWriter::endElement — Geçerli elemanı kapatır
  • XMLWriter::endPi — Geçerli işlem komutunu kapatır
  • XMLWriter::flush — Geçerli tamponu boşaltır
  • XMLWriter::fullEndElement — Geçerli elemanı kapatır
  • XMLWriter::openMemory — Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur
  • XMLWriter::openUri — Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur
  • XMLWriter::outputMemory — Geçerli tamponu döndürür
  • XMLWriter::setIndent — Girintilemeyi açıp kapar
  • XMLWriter::setIndentString — Girintileme için kullanılacak dizgeyi belirler
  • XMLWriter::startAttribute — Bir öznitelik başlatır
  • XMLWriter::startAttributeNs — İsim alanlı bir öznitelik başlatır
  • XMLWriter::startCdata — Bir CDATA bölümü başlatır
  • XMLWriter::startComment — Bir açıklama başlatır
  • XMLWriter::startDocument — Belgenin XML bildirimini yazar
  • XMLWriter::startDtd — Bir DTD başlangıç etiketi oluşturur
  • XMLWriter::startDtdAttlist — Bir DTD öznitelik listesi bildirimini başlatır
  • XMLWriter::startDtdElement — Bir DTD eleman bildirimini başlatır
  • XMLWriter::startDtdEntity — Bir DTD öğe bildirimini başlatır
  • XMLWriter::startElement — Bir eleman başlangıç etiketi oluşturur
  • XMLWriter::startElementNs — Bir isim alanlı eleman başlangıç etiketi oluşturur
  • XMLWriter::startPi — Bir işlem komutu başlangıç etiketi oluşturur
  • XMLWriter::text — Bir metni yazar
  • XMLWriter::writeAttribute — Öznitelik yazar
  • XMLWriter::writeAttributeNs — İsim alanlı öznitelik yazar
  • XMLWriter::writeCdata — CDATA yazar
  • XMLWriter::writeComment — Açıklama yazar
  • XMLWriter::writeDtd — DTD'yi' yazar
  • XMLWriter::writeDtdAttlist — DTD öznitelik listesi yazar
  • XMLWriter::writeDtdElement — DTD elemanını yazar
  • XMLWriter::writeDtdEntity — DTD öğesini yazar
  • XMLWriter::writeElement — Elemanı içeriğiyle birlikte yazar
  • XMLWriter::writeElementNs — İsim alanlı elemanı içeriğiyle birlikte yazar
  • XMLWriter::writePi — Bir işlem komutu (PI) yazar
  • XMLWriter::writeRaw — Ham XML metni yazar


Geçerli özniteliği sonlandırır

  • « XMLWriter
  • XMLWriter::endCdata »
  • PHP Manual
  • XMLWriter
  • Geçerli özniteliği sonlandırır

XMLWriter::endAttribute

xmlwriter_end_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endAttribute -- xmlwriter_end_attribute — Geçerli özniteliği sonlandırır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endAttribute(): bool

Yordamsal kullanım

xmlwriter_end_attribute(XMLWriter $nesne): bool

Geçerli özniteliği sonlandırır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startAttribute() - Bir öznitelik başlatır
  • XMLWriter::startAttributeNS() - İsim alanlı bir öznitelik başlatır
  • XMLWriter::writeAttribute() - Öznitelik yazar
  • XMLWriter::writeAttributeNS() - İsim alanlı öznitelik yazar


Geçerli CDATA bölümünü kapatır

  • « XMLWriter::endAttribute
  • XMLWriter::endComment »
  • PHP Manual
  • XMLWriter
  • Geçerli CDATA bölümünü kapatır

XMLWriter::endCdata

xmlwriter_end_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endCdata -- xmlwriter_end_cdata — Geçerli CDATA bölümünü kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endCdata(): bool

Yordamsal kullanım

xmlwriter_end_cdata(XMLWriter $nesne): bool

Geçerli CDATA bölümünü kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startCData() - Bir CDATA bölümü başlatır
  • XMLWriter::writeCData() - CDATA yazar


Geçerli açıklamayı kapatır

  • « XMLWriter::endCdata
  • XMLWriter::endDocument »
  • PHP Manual
  • XMLWriter
  • Geçerli açıklamayı kapatır

XMLWriter::endComment

xmlwriter_end_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::endComment -- xmlwriter_end_comment — Geçerli açıklamayı kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endComment(): bool

Yordamsal kullanım

xmlwriter_end_comment(XMLWriter $nesne): bool

Geçerli açıklamayı kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startComment() - Bir açıklama başlatır
  • XMLWriter::writeComment() - Açıklama yazar


Geçerli belgeyi sonlandırır

  • « XMLWriter::endComment
  • XMLWriter::endDtd »
  • PHP Manual
  • XMLWriter
  • Geçerli belgeyi sonlandırır

XMLWriter::endDocument

xmlwriter_end_document

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDocument -- xmlwriter_end_document — Geçerli belgeyi sonlandırır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endDocument(): bool

Yordamsal kullanım

xmlwriter_end_document(XMLWriter $nesne): bool

Geçerli belgeyi sonlandırır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDocument() - Belgenin XML bildirimini yazar


Geçerli DTD'yi kapatır

  • « XMLWriter::endDocument
  • XMLWriter::endDtdAttlist »
  • PHP Manual
  • XMLWriter
  • Geçerli DTD'yi kapatır

XMLWriter::endDtd

xmlwriter_end_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtd -- xmlwriter_end_dtd — Geçerli DTD'yi kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endDtd(): bool

Yordamsal kullanım

xmlwriter_end_dtd(XMLWriter $nesne): bool

Belgenin DTD bölümünü kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTD() - Bir DTD başlangıç etiketi oluşturur
  • XMLWriter::writeDTD() - DTD'yi' yazar


Geçerli DTD öznitelik listesi bildirimini kapatır

  • « XMLWriter::endDtd
  • XMLWriter::endDtdElement »
  • PHP Manual
  • XMLWriter
  • Geçerli DTD öznitelik listesi bildirimini kapatır

XMLWriter::endDtdAttlist

xmlwriter_end_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdAttlist -- xmlwriter_end_dtd_attlist — Geçerli DTD öznitelik listesi bildirimini kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endDtdAttlist(): bool

Yordamsal kullanım

xmlwriter_end_dtd_attlist(XMLWriter $nesne): bool

Geçerli DTD öznitelik listesi bildirimini kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTDAttlist() - Bir DTD öznitelik listesi bildirimini başlatır
  • XMLWriter::writeDTDAttlist() - DTD öznitelik listesi yazar


Geçerli DTD eleman bildirimini kapatır

  • « XMLWriter::endDtdAttlist
  • XMLWriter::endDtdEntity »
  • PHP Manual
  • XMLWriter
  • Geçerli DTD eleman bildirimini kapatır

XMLWriter::endDtdElement

xmlwriter_end_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdElement -- xmlwriter_end_dtd_element — Geçerli DTD eleman bildirimini kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endDtdElement(): bool

Yordamsal kullanım

xmlwriter_end_dtd_element(XMLWriter $nesne): bool

Geçerli DTD eleman bildirimini kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTDElement() - Bir DTD eleman bildirimini başlatır
  • XMLWriter::writeDTDElement() - DTD elemanını yazar


Geçerli DTD öğe bildirimini kapatır

  • « XMLWriter::endDtdElement
  • XMLWriter::endElement »
  • PHP Manual
  • XMLWriter
  • Geçerli DTD öğe bildirimini kapatır

XMLWriter::endDtdEntity

xmlwriter_end_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endDtdEntity -- xmlwriter_end_dtd_entity — Geçerli DTD öğe bildirimini kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endDtdEntity(): bool

Yordamsal kullanım

xmlwriter_end_dtd_entity(XMLWriter $writer): bool

Geçerli DTD öğe bildirimini kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTDEntity() - Bir DTD öğe bildirimini başlatır
  • XMLWriter::writeDTDEntity() - DTD öğesini yazar


Geçerli elemanı kapatır

  • « XMLWriter::endDtdEntity
  • XMLWriter::endPi »
  • PHP Manual
  • XMLWriter
  • Geçerli elemanı kapatır

XMLWriter::endElement

xmlwriter_end_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endElement -- xmlwriter_end_element — Geçerli elemanı kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endElement(): bool

Yordamsal kullanım

xmlwriter_end_element(XMLWriter $nesne): bool

Geçerli elemanı kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startElement() - Bir eleman başlangıç etiketi oluşturur
  • XMLWriter::writeElement() - Elemanı içeriğiyle birlikte yazar


Geçerli işlem komutunu kapatır

  • « XMLWriter::endElement
  • XMLWriter::flush »
  • PHP Manual
  • XMLWriter
  • Geçerli işlem komutunu kapatır

XMLWriter::endPi

xmlwriter_end_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::endPi -- xmlwriter_end_pi — Geçerli işlem komutunu kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::endPi(): bool

Yordamsal kullanım

xmlwriter_end_pi(XMLWriter $nesne): bool

Geçerli işlem komutunu kapatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startPI() - Bir işlem komutu başlangıç etiketi oluşturur
  • XMLWriter::writePI() - Bir işlem komutu (PI) yazar


Geçerli tamponu boşaltır

  • « XMLWriter::endPi
  • XMLWriter::fullEndElement »
  • PHP Manual
  • XMLWriter
  • Geçerli tamponu boşaltır

XMLWriter::flush

xmlwriter_flush

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::flush -- xmlwriter_flush — Geçerli tamponu boşaltır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::flush(bool $empty = true): string|int

Yordamsal kullanım

xmlwriter_flush(XMLWriter $nesne, bool $boşalt = true): string|int

Geçerli tamponu boşaltır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

boşalt

Tamponun içeriği boşaltılmayacaksa false belirtilir. true öntanımlıdır.

Dönen Değerler

Nesneyi bellekte oluşturmuşsanız bu işlev üretilen XML tamponunu döndürür. Çıktı için bir adres kullanıyorsanız bu işlev tampona yazar ve yazılan baytların sayısını döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.
8.0.0 | Bu işlev artık false döndürmüyor.


Geçerli elemanı kapatır

  • « XMLWriter::flush
  • XMLWriter::openMemory »
  • PHP Manual
  • XMLWriter
  • Geçerli elemanı kapatır

XMLWriter::fullEndElement

xmlwriter_full_end_element

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL xmlwriter >= 2.0.4)

XMLWriter::fullEndElement -- xmlwriter_full_end_element — Geçerli elemanı kapatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::fullEndElement(): bool

Yordamsal kullanım

xmlwriter_full_end_element(XMLWriter $nesne): bool

Geçerli elemanı kapatır. Eleman boş olsa bile kapama etiketini yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endElement() - Geçerli elemanı kapatır


Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur

  • « XMLWriter::fullEndElement
  • XMLWriter::openUri »
  • PHP Manual
  • XMLWriter
  • Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur

XMLWriter::openMemory

xmlwriter_open_memory

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::openMemory -- xmlwriter_open_memory — Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::openMemory(): bool

Yordamsal kullanım

xmlwriter_open_memory(): XMLWriter|false

Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur.

Bağımsız Değişkenler

Dönen Değerler

Nesne yönelimli kullanım: Başarı durumunda true, başarısızlık durumunda false döner.

Yordamsal kullanım: Başarı durumunda XMLWriter işlevleri ile kullanılmak üzere yeni bir XMLWriter özkaynağı, aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev artık başarı durumunda yeni bir XMLWriter örneği döndürüyor, evvelce resource türünde bir değer dönerdi.

Ayrıca Bakınız

  • XMLWriter::openURI() - Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur


Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur

  • « XMLWriter::openMemory
  • XMLWriter::outputMemory »
  • PHP Manual
  • XMLWriter
  • Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur

XMLWriter::openUri

xmlwriter_open_uri

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::openUri -- xmlwriter_open_uri — Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::openUri(string $uri): bool

Yordamsal kullanım

xmlwriter_open_uri(string $uri): XMLWriter|false

Çıktı için uri ile belirtilen kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur.

Bağımsız Değişkenler

uri

Çıktı için özkaynak adresi.

Dönen Değerler

Nesne yönelimli kullanım: Başarı durumunda true, başarısızlık durumunda false döner.

Yordamsal kullanım: Başarı durumunda XMLWriter işlevleri ile kullanılmak üzere yeni bir XMLWriter özkaynağı, aksi takdirde false döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | İşlev artık başarı durumunda yeni bir XMLWriter örneği döndürüyor, evvelce resource türünde bir değer dönerdi.

Örnekler

Örnek 1 - Doğrudan XML çıktılamak

php://output sarmalayıcı kullanarak doğrudan XML çıktılamak mümkündür.

<?php
$out =new XMLWriter();
$out->openURI('php://output');
?>

Notlar

Bilginize:

Windows üzerinde, bu işlevle açılmış dosyalar nesne serbest bırakılıncaya kadar kilitlenir.

Ayrıca Bakınız

  • XMLWriter::openMemory() - Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur


Geçerli tamponu döndürür

  • « XMLWriter::openUri
  • XMLWriter::setIndent »
  • PHP Manual
  • XMLWriter
  • Geçerli tamponu döndürür

XMLWriter::outputMemory

xmlwriter_output_memory

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::outputMemory -- xmlwriter_output_memory — Geçerli tamponu döndürür

Açıklama

Nesne yönelimli kullanım

public XMLWriter::outputMemory(bool $boşalt = true): string

Yordamsal kullanım

xmlwriter_output_memory(XMLWriter $nesne, bool $boşalt = true): string

Geçerli tamponu döndürür.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

boşalt

Çıktı tamponu boşaltılmayacaksa false belirtilir. true öntanımlıdır.

Dönen Değerler

Geçerli tamponun içeriğini bir dizge olarak döndürür.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::flush() - Geçerli tamponu boşaltır


Girintilemeyi açıp kapar

  • « XMLWriter::outputMemory
  • XMLWriter::setIndentString »
  • PHP Manual
  • XMLWriter
  • Girintilemeyi açıp kapar

XMLWriter::setIndent

xmlwriter_set_indent

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndent -- xmlwriter_set_indent — Girintilemeyi açıp kapar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::setIndent(bool $girintile): bool

Yordamsal kullanım

xmlwriter_set_indent(XMLWriter $nesne, bool $girintile): bool

Girintilemeyi açıp kapar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

girintile

Girintileme etkin olacaksa true belirtilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Örnekler

Örnek 1 - XMLWriter::setIndent() ve karışık içerik

İçerik karışık olduğunda girintilemeyi etkinleştirmek uygun olmaz. Çünkü girinti dizesi satır içi elemanlara da uygulanır.

<?php
$writer = new XMLWriter();
$writer->openMemory();
$writer->setIndent(2);
$writer->startDocument();
$writer->startElement('p');
$writer->text('before');
$writer->writeElement('a', 'element');
$writer->text('after');
$writer->endElement();
$writer->endDocument();
echo $writer->outputMemory();
?>

Yukarıdaki örneğin çıktısı:

<?xml version="1.0"?>
<p>before <a>element</a>
after</p>

Notlar

Bilginize:

Bir xmlwriter açılınca girinti sıfırlanır.

Ayrıca Bakınız

  • XMLWriter::setIndentString() - Girintileme için kullanılacak dizgeyi belirler


Girintileme için kullanılacak dizgeyi belirler

  • « XMLWriter::setIndent
  • XMLWriter::startAttribute »
  • PHP Manual
  • XMLWriter
  • Girintileme için kullanılacak dizgeyi belirler

XMLWriter::setIndentString

xmlwriter_set_indent_string

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::setIndentString -- xmlwriter_set_indent_string — Girintileme için kullanılacak dizgeyi belirler

Açıklama

Nesne yönelimli kullanım

public XMLWriter::setIndentString(string $girinti): bool

Yordamsal kullanım

xmlwriter_set_indent_string(XMLWriter $nesne, string $girinti): bool

XML belgedeki her elemanı girintilemekte kullanılacak dizgeyi belirler.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

girinti

Girintileme dizgesi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Notlar

Bilginize:

Bir xmlwriter açılınca girinti sıfırlanır.

Ayrıca Bakınız

  • XMLWriter::setIndent() - Girintilemeyi açıp kapar


Bir öznitelik başlatır

  • « XMLWriter::setIndentString
  • XMLWriter::startAttributeNs »
  • PHP Manual
  • XMLWriter
  • Bir öznitelik başlatır

XMLWriter::startAttribute

xmlwriter_start_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttribute -- xmlwriter_start_attribute — Bir öznitelik başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startAttribute(string $isim): bool

Yordamsal kullanım

xmlwriter_start_attribute(XMLWriter $nesne, string $isim): bool

Bir öznitelik başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Özniteliğin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Örnekler

Örnek 1 - XMLWriter::startAttribute() temel kullanım örneği

<?php
$writer = new XMLWriter;
$writer->openURI('php://output');
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('eleman');
$writer->startAttribute('öznitelik');
$writer->text('değer');
$writer->endAttribute();
$writer->endElement();
$writer->endDocument();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

<?xml version="1.0" encoding="UTF-8"?>
<eleman öznitelik="değer"/>

Ayrıca Bakınız

  • XMLWriter::startAttributeNS() - İsim alanlı bir öznitelik başlatır
  • XMLWriter::endAttribute() - Geçerli özniteliği sonlandırır
  • XMLWriter::writeAttribute() - Öznitelik yazar
  • XMLWriter::writeAttributeNS() - İsim alanlı öznitelik yazar


İsim alanlı bir öznitelik başlatır

  • « XMLWriter::startAttribute
  • XMLWriter::startCdata »
  • PHP Manual
  • XMLWriter
  • İsim alanlı bir öznitelik başlatır

XMLWriter::startAttributeNs

xmlwriter_start_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startAttributeNs -- xmlwriter_start_attribute_ns — İsim alanlı bir öznitelik başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startAttributeNs(?string $önek, string $isim, ?string $uri): bool

Yordamsal kullanım

xmlwriter_start_attribute_ns(
XMLWriter $writer,
?string $önek,
string $isim,
?string $uri
): bool

İsim alanlı bir öznitelik başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

önek

İsim alanı öneki.

isim

Özniteliğin ismi.

uri

İsim alanını betimleyen adres; null ise isim alanı bildirimi atlanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.
8.0.0 | önek artık null olabiliyor.

Ayrıca Bakınız

  • XMLWriter::startAttribute() - Bir öznitelik başlatır
  • XMLWriter::endAttribute() - Geçerli özniteliği sonlandırır
  • XMLWriter::writeAttribute() - Öznitelik yazar
  • XMLWriter::writeAttributeNS() - İsim alanlı öznitelik yazar


Bir CDATA bölümü başlatır

  • « XMLWriter::startAttributeNs
  • XMLWriter::startComment »
  • PHP Manual
  • XMLWriter
  • Bir CDATA bölümü başlatır

XMLWriter::startCdata

xmlwriter_start_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startCdata -- xmlwriter_start_cdata — Bir CDATA bölümü başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startCdata(): bool

Yordamsal kullanım

xmlwriter_start_cdata(XMLWriter $nesne): bool

Bir CDATA bölümü başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endCData() - Geçerli CDATA bölümünü kapatır
  • XMLWriter::writeCData() - CDATA yazar


Bir açıklama başlatır

  • « XMLWriter::startCdata
  • XMLWriter::startDocument »
  • PHP Manual
  • XMLWriter
  • Bir açıklama başlatır

XMLWriter::startComment

xmlwriter_start_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 1.0.0)

XMLWriter::startComment -- xmlwriter_start_comment — Bir açıklama başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startComment(): bool

Yordamsal kullanım

xmlwriter_start_comment(XMLWriter $nesne): bool

Bir açıklama başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endComment() - Geçerli açıklamayı kapatır
  • XMLWriter::writeComment() - Açıklama yazar


Belgenin XML bildirimini yazar

  • « XMLWriter::startComment
  • XMLWriter::startDtd »
  • PHP Manual
  • XMLWriter
  • Belgenin XML bildirimini yazar

XMLWriter::startDocument

xmlwriter_start_document

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDocument -- xmlwriter_start_document — Belgenin XML bildirimini yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startDocument(?string $version = "1.0", ?string $encoding = null, ?string $standalone = null): bool

Yordamsal kullanım

xmlwriter_start_document(
XMLWriter $writer,
?string $version = "1.0",
?string $encoding = null,
?string $standalone = null
): bool

Belgenin XML bildirimini yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

version

XML bildirimindeki version özniteliğinin değeri. 1.0 öntanımlıdır.

encoding

XML bildirimindeki encoding özniteliğinin değeri.

standalone

XML bildirimindeki standalone özniteliğinin değeri. yes veya no olabilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endDocument() - Geçerli belgeyi sonlandırır


Bir DTD başlangıç etiketi oluşturur

  • « XMLWriter::startDocument
  • XMLWriter::startDtdAttlist »
  • PHP Manual
  • XMLWriter
  • Bir DTD başlangıç etiketi oluşturur

XMLWriter::startDtd

xmlwriter_start_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtd -- xmlwriter_start_dtd — Bir DTD başlangıç etiketi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startDtd(string $kök_eleman, ?string $publicId = null, ?string $systemId = null): bool

Yordamsal kullanım

xmlwriter_start_dtd(
XMLWriter $writer,
string $kök_eleman,
?string $publicId = null,
?string $systemId = null
): bool

Bir DTD bölümünü başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

kök_eleman

Oluşturulacak belgenin kök elemanının nitelikli ismi.

publicId

Harici alt kümenin genel betimleyicisi.

systemId

Harici alt kümenin sistem betimleyicisi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endDTD() - Geçerli DTD'yi kapatır
  • XMLWriter::writeDTD() - DTD'yi' yazar


Bir DTD öznitelik listesi bildirimini başlatır

  • « XMLWriter::startDtd
  • XMLWriter::startDtdElement »
  • PHP Manual
  • XMLWriter
  • Bir DTD öznitelik listesi bildirimini başlatır

XMLWriter::startDtdAttlist

xmlwriter_start_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdAttlist -- xmlwriter_start_dtd_attlist — Bir DTD öznitelik listesi bildirimini başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startDtdAttlist(string $isim): bool

Yordamsal kullanım

xmlwriter_start_dtd_attlist(XMLWriter $nesne, string $isim): bool

Bir DTD öznitelik listesi bildirimini başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Öznitelik listesinin ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endDTDAttlist() - Geçerli DTD öznitelik listesi bildirimini kapatır
  • XMLWriter::writeDTDAttlist() - DTD öznitelik listesi yazar


Bir DTD eleman bildirimini başlatır

  • « XMLWriter::startDtdAttlist
  • XMLWriter::startDtdEntity »
  • PHP Manual
  • XMLWriter
  • Bir DTD eleman bildirimini başlatır

XMLWriter::startDtdElement

xmlwriter_start_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdElement -- xmlwriter_start_dtd_element — Bir DTD eleman bildirimini başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startDtdElement(string $isim): bool

Yordamsal kullanım

xmlwriter_start_dtd_element(XMLWriter $nesne, string $isim): bool

Bir DTD eleman bildirimini başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Oluşturulacak belge türünün nitelikli ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endDTDElement() - Geçerli DTD eleman bildirimini kapatır
  • XMLWriter::writeDTDElement() - DTD elemanını yazar


Bir DTD öğe bildirimini başlatır

  • « XMLWriter::startDtdElement
  • XMLWriter::startElement »
  • PHP Manual
  • XMLWriter
  • Bir DTD öğe bildirimini başlatır

XMLWriter::startDtdEntity

xmlwriter_start_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startDtdEntity -- xmlwriter_start_dtd_entity — Bir DTD öğe bildirimini başlatır

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startDtdEntity(string $isim, bool $değiştige_var): bool

Yordamsal kullanım

xmlwriter_start_dtd_entity(XMLWriter $nesne, string $isim, bool $değiştige_var): bool

Bir DTD öğe bildirimini başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Öğe ismi.

değiştige_var

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endDTDEntity() - Geçerli DTD öğe bildirimini kapatır
  • XMLWriter::writeDTDEntity() - DTD öğesini yazar


Bir eleman başlangıç etiketi oluşturur

  • « XMLWriter::startDtdEntity
  • XMLWriter::startElementNs »
  • PHP Manual
  • XMLWriter
  • Bir eleman başlangıç etiketi oluşturur

XMLWriter::startElement

xmlwriter_start_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startElement -- xmlwriter_start_element — Bir eleman başlangıç etiketi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startElement(string $isim): bool

Yordamsal kullanım

xmlwriter_start_element(XMLWriter $nesne, string $isim): bool

Bir elemanı başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Elemanın ismi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endElement() - Geçerli elemanı kapatır
  • XMLWriter::writeElement() - Elemanı içeriğiyle birlikte yazar


Bir isim alanlı eleman başlangıç etiketi oluşturur

  • « XMLWriter::startElement
  • XMLWriter::startPi »
  • PHP Manual
  • XMLWriter
  • Bir isim alanlı eleman başlangıç etiketi oluşturur

XMLWriter::startElementNs

xmlwriter_start_element_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startElementNs -- xmlwriter_start_element_ns — Bir isim alanlı eleman başlangıç etiketi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startElementNs(?string $önek, string $isim, ?string $uri): bool

Yordamsal kullanım

xmlwriter_start_element_ns(
XMLWriter $nesne,
?string $önek,
string $isim,
?string $uri
): bool

İsim alanlı bir etiket başlatır.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

önek

İsim alanı öneki; null ise isim alanı atlanır.

isim

Elemanın ismi.

uri

İsim alanını betimleyen adres; null ise isim alanı bildirimi atlanır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endElement() - Geçerli elemanı kapatır
  • XMLWriter::writeElementNS() - İsim alanlı elemanı içeriğiyle birlikte yazar


Bir işlem komutu başlangıç etiketi oluşturur

  • « XMLWriter::startElementNs
  • XMLWriter::text »
  • PHP Manual
  • XMLWriter
  • Bir işlem komutu başlangıç etiketi oluşturur

XMLWriter::startPi

xmlwriter_start_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::startPi -- xmlwriter_start_pi — Bir işlem komutu başlangıç etiketi oluşturur

Açıklama

Nesne yönelimli kullanım

public XMLWriter::startPi(string $hedef): bool

Yordamsal kullanım

xmlwriter_start_pi(XMLWriter $nesne, string $hedef): bool

Bir işlem komutu başlangıç etiketi oluşturur.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

hedef

İşlem komutunun hedefi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::endPI() - Geçerli işlem komutunu kapatır
  • XMLWriter::writePI() - Bir işlem komutu (PI) yazar


Bir metni yazar

  • « XMLWriter::startPi
  • XMLWriter::writeAttribute »
  • PHP Manual
  • XMLWriter
  • Bir metni yazar

XMLWriter::text

xmlwriter_text

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::text -- xmlwriter_text — Bir metni yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::text(string $içerik): bool

Yordamsal kullanım

xmlwriter_text(XMLWriter $nesne, string $içerik): bool

Bir metni yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

içerik

Metnin içeriği. <, >, & ve " karakterleri öğe gönderimleri olarak yazılır (yani sırasıyla, &lt;, &gt;, &amp; ve &quot;). ' dahil diğer tüm karakterler harfi harfine yazılır. Özel XML karakterlerini harfi harfine yazmak için veya değişmez öğe gönderimlerini yazmak için, xmlwriter_write_raw() kullanılmalıdır.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.


Öznitelik yazar

  • « XMLWriter::text
  • XMLWriter::writeAttributeNs »
  • PHP Manual
  • XMLWriter
  • Öznitelik yazar

XMLWriter::writeAttribute

xmlwriter_write_attribute

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttribute -- xmlwriter_write_attribute — Öznitelik yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeAttribute(string $isim, string $değer): bool

Yordamsal kullanım

xmlwriter_write_attribute(XMLWriter $writer, string $isim, string $değer): bool

Bir özniteliği değeriyle birlikte yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Özniteliğin ismi.

değer

Özniteliğin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Örnekler

Örnek 1 - Alt Öğeleri ve Öznitelikleri Karıştırmak

Alt öğeler ve özniteliklerin yazılması karıştırılırsa, ilk alt öğeden sonraki öznitelik yazma girişimleri başarısız olur ve false döndürür.

<?php
$xml = new XMLWriter();
$xml->openMemory();

$xml->startElement('element');
$xml->writeAttribute('attr1', '0');
$xml->writeElement('subelem', '0');
var_dump($xml->writeAttribute('attr2', '0'));
$xml->endElement();

echo $xml->flush();
?>

Yukarıdaki örneğin çıktısı:

bool(false)
<element attr1="0"><subelem>0</subelem></element>

Ayrıca Bakınız

  • XMLWriter::writeAttributeNS() - İsim alanlı öznitelik yazar
  • XMLWriter::startAttribute() - Bir öznitelik başlatır
  • XMLWriter::startAttributeNS() - İsim alanlı bir öznitelik başlatır
  • XMLWriter::endAttribute() - Geçerli özniteliği sonlandırır


İsim alanlı öznitelik yazar

  • « XMLWriter::writeAttribute
  • XMLWriter::writeCdata »
  • PHP Manual
  • XMLWriter
  • İsim alanlı öznitelik yazar

XMLWriter::writeAttributeNs

xmlwriter_write_attribute_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeAttributeNs -- xmlwriter_write_attribute_ns — İsim alanlı öznitelik yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeAttributeNs(
?string $önek,
string $isim,
?string $uri,
string $değer
): bool

Yordamsal kullanım

xmlwriter_write_attribute_ns(
XMLWriter $writer,
?string $önek,
string $isim,
?string $uri,
string $değer
): bool

Bir isim alanlı özniteliği değeriyle birlikte yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

önek

İsim alanı öneki; null ise isim alanı atlanır.

isim

Özniteliğin ismi.

uri

İsim alanını betimleyen adres; null ise isim alanı bildirimi atlanır.

değer

Özniteliğin değeri.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::writeAttribute() - Öznitelik yazar
  • XMLWriter::startAttribute() - Bir öznitelik başlatır
  • XMLWriter::startAttributeNS() - İsim alanlı bir öznitelik başlatır
  • XMLWriter::endAttribute() - Geçerli özniteliği sonlandırır


CDATA yazar

  • « XMLWriter::writeAttributeNs
  • XMLWriter::writeComment »
  • PHP Manual
  • XMLWriter
  • CDATA yazar

XMLWriter::writeCdata

xmlwriter_write_cdata

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeCdata -- xmlwriter_write_cdata — CDATA yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeCdata(string $içerik): bool

Yordamsal kullanım

xmlwriter_write_cdata(XMLWriter $nesne, string $içerik): bool

İçeriğiyle birlikte CDATA yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

içerik

CDATA içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Örnekler

Örnek 1 - xmlwriter_write_cdata() temel kullanım örneği

<?php
// Belgeyi başlatalım
$xml = new XmlWriter();
$xml->openMemory();
$xml->setIndent(true);
$xml->startDocument('1.0', 'UTF-8');
$xml->startElement('belgem');
$xml->startElement('elemanım');

// CData çıktıla
$xml->startElement('cdataelemanım');
$xml->writeCData("text for inclusion as CData");
$xml->endElement();

// Belgeyi sonlandır ve çıktıla
$xml->endElement();
$xml->endElement();
echo $xml->outputMemory(true);
?>

Yukarıdaki örneğin çıktısı:

<belgem>
 <elemanım>
  <cdataelemanım><![CDATA[text for inclusion as CData]?]></cdataelemanım>
 </elemanım>
</belgem>

Ayrıca Bakınız

  • XMLWriter::startCData() - Bir CDATA bölümü başlatır
  • XMLWriter::endCData() - Geçerli CDATA bölümünü kapatır


Açıklama yazar

  • « XMLWriter::writeCdata
  • XMLWriter::writeDtd »
  • PHP Manual
  • XMLWriter
  • Açıklama yazar

XMLWriter::writeComment

xmlwriter_write_comment

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeComment -- xmlwriter_write_comment — Açıklama yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeComment(string $içerik): bool

Yordamsal kullanım

xmlwriter_write_comment(XMLWriter $nesne, string $içerik): bool

Açıklama yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

içerik

Açıklama içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startComment() - Bir açıklama başlatır
  • XMLWriter::endComment() - Geçerli açıklamayı kapatır


DTD'yi' yazar

  • « XMLWriter::writeComment
  • XMLWriter::writeDtdAttlist »
  • PHP Manual
  • XMLWriter
  • DTD'yi' yazar

XMLWriter::writeDtd

xmlwriter_write_dtd

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtd -- xmlwriter_write_dtd — DTD'yi' yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeDtd(
string $isim,
?string $publicId = null,
?string $systemId = null,
?string $altküme = null
): bool

Yordamsal kullanım

xmlwriter_write_dtd(
XMLWriter $writer,
string $isim,
?string $publicId = null,
?string $systemId = null,
?string $altküme = null
): bool

DTD'yi yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

DTD ismi.

publicId

Harici alt kümenin genel betimleyicisi.

systemId

Harici alt kümenin sistem betimleyicisi.

altküme

DTD içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTD() - Bir DTD başlangıç etiketi oluşturur
  • XMLWriter::endDTD() - Geçerli DTD'yi kapatır


DTD öznitelik listesi yazar

  • « XMLWriter::writeDtd
  • XMLWriter::writeDtdElement »
  • PHP Manual
  • XMLWriter
  • DTD öznitelik listesi yazar

XMLWriter::writeDtdAttlist

xmlwriter_write_dtd_attlist

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdAttlist -- xmlwriter_write_dtd_attlist — DTD öznitelik listesi yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeDtdAttlist(string $isim, string $içerik): bool

Yordamsal kullanım

xmlwriter_write_dtd_attlist(XMLWriter $nesne, string $isim, string $içerik): bool

Bir DTD öznitelik listesini yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

DTD öznitelik listesinin ismi.

içerik

DTD öznitelik listesinin içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTDAttlist() - Bir DTD öznitelik listesi bildirimini başlatır
  • XMLWriter::endDTDAttlist() - Geçerli DTD öznitelik listesi bildirimini kapatır


DTD elemanını yazar

  • « XMLWriter::writeDtdAttlist
  • XMLWriter::writeDtdEntity »
  • PHP Manual
  • XMLWriter
  • DTD elemanını yazar

XMLWriter::writeDtdElement

xmlwriter_write_dtd_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdElement -- xmlwriter_write_dtd_element — DTD elemanını yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeDtdElement(string $name, string $içerik): bool

Yordamsal kullanım

xmlwriter_write_dtd_element(XMLWriter $nesne, string $isim, string $içerik): bool

Bir DTD elemanını yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

DTD elemanının ismi.

içerik

Elemanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startDTDElement() - Bir DTD eleman bildirimini başlatır
  • XMLWriter::endDTDElement() - Geçerli DTD eleman bildirimini kapatır


DTD öğesini yazar

  • « XMLWriter::writeDtdElement
  • XMLWriter::writeElement »
  • PHP Manual
  • XMLWriter
  • DTD öğesini yazar

XMLWriter::writeDtdEntity

xmlwriter_write_dtd_entity

(PHP 5 >= 5.2.1, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeDtdEntity -- xmlwriter_write_dtd_entity — DTD öğesini yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeDtdEntity(
string $isim,
string $içerik,
bool $isParam = false,
?string $publicId = null,
?string $systemId = null,
?string $notationData = null
): bool

Yordamsal kullanım

xmlwriter_write_dtd_entity(
XMLWriter $nesne,
string $isim,
string $içerik,
bool $isParam = false,
?string $publicId = null,
?string $systemId = null,
?string $notationData = null
): bool

Bir DTD öğesini yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

isim

Öğe ismi.

içerik

Öğe içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.
8.0.0 | publicId, systemId vr notationData artık null olabiliyor.

Ayrıca Bakınız

  • XMLWriter::startDTDEntity() - Bir DTD öğe bildirimini başlatır
  • XMLWriter::endDTDEntity() - Geçerli DTD öğe bildirimini kapatır


Elemanı içeriğiyle birlikte yazar

  • « XMLWriter::writeDtdEntity
  • XMLWriter::writeElementNs »
  • PHP Manual
  • XMLWriter
  • Elemanı içeriğiyle birlikte yazar

XMLWriter::writeElement

xmlwriter_write_element

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElement -- xmlwriter_write_element — Elemanı içeriğiyle birlikte yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeElement(string $etiket, ?string $içerik = null): bool

Yordamsal kullanım

xmlwriter_write_element(XMLWriter $nesne, string $etiket, ?string $içerik = null): bool

Elemanı içeriğiyle birlikte yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

etiket

Elemanın ismi.

içerik

Elemanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startElement() - Bir eleman başlangıç etiketi oluşturur
  • XMLWriter::endElement() - Geçerli elemanı kapatır
  • XMLWriter::writeElementNS() - İsim alanlı elemanı içeriğiyle birlikte yazar


İsim alanlı elemanı içeriğiyle birlikte yazar

  • « XMLWriter::writeElement
  • XMLWriter::writePi »
  • PHP Manual
  • XMLWriter
  • İsim alanlı elemanı içeriğiyle birlikte yazar

XMLWriter::writeElementNs

xmlwriter_write_element_ns

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writeElementNs -- xmlwriter_write_element_ns — İsim alanlı elemanı içeriğiyle birlikte yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeElementNs(
?string $önek,
string $eleman,
?string $uri,
?string $içerik = null
): bool

Yordamsal kullanım

xmlwriter_write_element_ns(
XMLWriter $nesne,
?string $önek,
string $eleman,
?string $uri,
?string $içerik = null
): bool

İsim alanlı elemanı içeriğiyle birlikte yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

önek

İsim alanı öneki; null ise isim alanı atlanır.

eleman

Elemanın ismi.

uri

İsim alanını betimleyen adres; null ise isim alanı bildirimi atlanır.

içerik

Elemanın içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startElementNS() - Bir isim alanlı eleman başlangıç etiketi oluşturur
  • XMLWriter::endElement() - Geçerli elemanı kapatır
  • XMLWriter::writeElement() - Elemanı içeriğiyle birlikte yazar


Bir işlem komutu (PI) yazar

  • « XMLWriter::writeElementNs
  • XMLWriter::writeRaw »
  • PHP Manual
  • XMLWriter
  • Bir işlem komutu (PI) yazar

XMLWriter::writePi

xmlwriter_write_pi

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL xmlwriter >= 0.1.0)

XMLWriter::writePi -- xmlwriter_write_pi — Bir işlem komutu (PI) yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writePi(string $hedef, string $içerik): bool

Yordamsal kullanım

xmlwriter_write_pi(XMLWriter $nesne, string $hedef, string $içerik): bool

Bir işlem komutu (PI) yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

hedef

İşlem komutunun hedefi.

içerik

İşlem komutunun içeriği.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::startPI() - Bir işlem komutu başlangıç etiketi oluşturur
  • XMLWriter::endPI() - Geçerli işlem komutunu kapatır


Ham XML metni yazar

  • « XMLWriter::writePi
  • XSL »
  • PHP Manual
  • XMLWriter
  • Ham XML metni yazar

XMLWriter::writeRaw

xmlwriter_write_raw

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL xmlwriter >= 2.0.4)

XMLWriter::writeRaw -- xmlwriter_write_raw — Ham XML metni yazar

Açıklama

Nesne yönelimli kullanım

public XMLWriter::writeRaw(string $içerik): bool

Yordamsal kullanım

xmlwriter_write_raw(XMLWriter $nesne, string $içerik): bool

Ham XML metni yazar.

Bağımsız Değişkenler

nesne

Sadece yordamsal çağrılar için. Değiştirilecek XMLWriter örneği. Nesne xmlwriter_open_uri() veya xmlwriter_open_memory() işlevinden döndürülür.

içerik

Yazılacak metin.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Sürüm Bilgisi

Sürüm: | Açıklama
8.0.0 | nesne için artık XMLWriter örneği gerekiyor, evvelce resource türünde bir değer gerekirdi.

Ayrıca Bakınız

  • XMLWriter::text() - Bir metni yazar


XSL

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
    • Çalışma Anı Yapılandırması
    • Özkaynak Türleri
  • Öntanımlı Sabitler
  • Örnekler
    • Örnek collection.xml ve collection.xsl dosyaları
    • libxml hata işleme işlevleri ile hataların işlenmesi
  • XSLTProcessor — XSLTProcessor sınıfı
    • XSLTProcessor::__construct — Yeni bir XSLTProcessor nesnesi oluşturur
    • XSLTProcessor::getParameter — Bir bağımsız değişkenin değerini döndürür
    • XSLTProcessor::getSecurityPrefs — Güvenlik tercihlerini döndürür
    • XSLTProcessor::hasExsltSupport — PHP, EXSLT desteğine sahip mi diye bakar
    • XSLTProcessor::importStylesheet — Biçembent ithal eder
    • XSLTProcessor::registerPHPFunctions — XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar
    • XSLTProcessor::removeParameter — Bağımsız değişken siler
    • XSLTProcessor::setParameter — Bir bağımsız değişkene bir değer atar
    • XSLTProcessor::setProfiling — Profil çıktı dosyasını belirler
    • XSLTProcessor::setSecurityPrefs — Güvenlik tercihlerini tanımlar
    • XSLTProcessor::transformToDoc — Belgeyi dönüştürür
    • XSLTProcessor::transformToUri — Dönüşüm sonucunu bir dosyaya yazar
    • XSLTProcessor::transformToXML — Dönüşümü bir dizge olarak döndürür


Giriş

XSL eklentisi, » XSLT dönüşümleri yapmak için » libxslt kütüphanesini kullanarak XSL standardını gerçekler.


Gereksinimler

Bu eklenti PHP'nin libxml eklentsini gerektirir. Libxml öntanımlı olarak etkin olduğundan bu örtük olarak sağlansa da derleme sırasında ayrıca bir --with-libxml veya PHP 7.4 öncesinde --enable-libxml gerekir.

Bu eklenti, libxslt kütüphanesinin 1.1.0 veya üstü sürümlerini kullanır. Kütüphane » http://xmlsoft.org/XSLT/ adresinden edinilebilir.


Kurulum

PHP XSL eklentisini öntanımlı olarak içerir ve derleme sırasında --with-xsl[=DiZiN] seçeneği ile destek etkin kılınabilir (Buradaki DiZiN libxslt kütüphanesinin kurulu olduğu dizindir).


Öntanımlı Sabitler

Buradaki sabitler bu eklenti için tanımlanmış olup, sadece eklentinin PHP içinde derlenmiş olması veya çalışma anında dinamik olarak yüklenmesi halinde kullanılabilir.

XSL_CLONE_AUTO (int)
XSL_CLONE_NEVER (int)
XSL_CLONE_ALWAYS (int)
LIBXSLT_VERSION (int)
10117 gibi bir libxslt sürümü.
LIBXSLT_DOTTED_VERSION (string)
1.1.17 gibi bir libxslt sürümü.
LIBEXSLT_VERSION (int)
813 gibi bir libexslt sürümü.
LIBEXSLT_DOTTED_VERSION (string)
1.1.17 gibi bir libexslt sürümü.
XSL_SECPREF_NONE (int)
Tüm güvenlik kısıtlamalarını devre dışı bırakır.
XSL_SECPREF_READ_FILE (int)
Dosyaları okumaya izin vermez.
XSL_SECPREF_WRITE_FILE (int)
Dosyalara yazmaya izin vermez
XSL_SECPREF_CREATE_DIRECTORY (int)
Dizin oluşturmaya izin vermez.
XSL_SECPREF_READ_NETWORK (int)
Ağ dosyalarının okunmasına izin vermez.
XSL_SECPREF_WRITE_NETWORK (int)
Ağ dosyalarına yazılmasına izin vermez.
XSL_SECPREF_DEFAULT (int)
Hiçbir yazma erişimine izin vermez. Yani, XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_CREATE_DIRECTORY | XSL_SECPREF_WRITE_FILE sabitlerinin bit maskesidir.


Örnekler

İçindekiler

  • Örnek collection.xml ve collection.xsl dosyaları
  • libxml hata işleme işlevleri ile hataların işlenmesi


Örnek collection.xml ve collection.xsl dosyaları

Bu eklentideki örneklerin çoğu hem bir XML hem de bir XSL dosyası gerektirir. Örneklerde kullanacağımız collection.xml ve collection.xsl dosyalarının içerikleri:

Örnek 1 - collection.xml

<collection>
 <cd>
  <title>Fight for your mind</title>
  <artist>Ben Harper</artist>
  <year>1995</year>
 </cd>
 <cd>
  <title>Electric Ladyland</title>
  <artist>Jimi Hendrix</artist>
  <year>1997</year>
 </cd>
</collection>

Örnek 2 - collection.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:param name="owner" select="'Nicolas Eliaszewicz'"/>
 <xsl:output method="html" encoding="utf-8" indent="no"/>
 <xsl:template match="collection">
  Hey! Welcome to <xsl:value-of select="$owner"/>'s sweet CD collection!
  <xsl:apply-templates/>
 </xsl:template>
 <xsl:template match="cd">
  <h1><xsl:value-of select="title"/></h1>
  <h2>by <xsl:value-of select="artist"/> - <xsl:value-of select="year"/></h2>
  <hr />
 </xsl:template>
</xsl:stylesheet>


libxml hata işleme işlevleri ile hataların işlenmesi

libxml, hataları işlemek için XSLT işlemedeki hataları yakalamak ve bunlarla başa çıkmak için kullanılabilecek bir dizi işlev sunar.

Örnek 1 fruits.xml

Geçerli bir XML dosyası.

<fruits>
 <fruit>Apple</fruit>
 <fruit>Banana</fruit>
 <fruit>Cherry</fruit>
</fruits>

Örnek 2 fruits.xsl

Geçersiz bir seçim ifadesi içeriyor.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" encoding="utf-8" indent="no"/>
 <xsl:template match="fruits">
  <ul>
   <xsl:apply-templates/>
  </ul>
 </xsl:template>
 <xsl:template match="fruit">
  <li><xsl:value-of select="BU KASITLI BİR HATADIR!"/></li>
 </xsl:template>
</xsl:stylesheet>

Örnek 3 Hataları karşılaştırma ve çıktılama

Aşağıdaki örnek, XSLTProcessor::importStyleSheet() hata içeren bir XSLT betiğiyle çağrılırken ortaya çıkan libxml hatalarını yakalar ve görüntüler.

<?php

$xmldoc = new DOMDocument();
$xsldoc = new DOMDocument();
$xsl = new XSLTProcessor();

$xmldoc->loadXML('fruits.xml');
$xsldoc->loadXML('fruits.xsl');

libxml_use_internal_errors(true);
$result = $xsl->importStyleSheet($xsldoc);
if (!$result) {
foreach (libxml_get_errors() as $error) {
echo "Libxml error: {$error->message}\n";
}
}
libxml_use_internal_errors(false);

if ($result) {
echo $xsl->transformToXML($xmldoc);
}

?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Libxml error: Invalid expression

Libxml error: compilation error: file fruits.xsl line 9 element value-of
Libxml error: xsl:value-of : could not compile select expression 'BU KASITLI BİR HATADIR!'


XSLTProcessor sınıfı

(PHP 5, PHP 7, PHP 8)

Giriş

Sınıf Sözdizimi

class XSLTProcessor {
/* Yöntemler */
public getParameter(string $isimalanı, string $isim): string|false
public getSecurityPrefs(): int
public hasExsltSupport(): bool
public importStylesheet(object $biçembent): bool
public registerPHPFunctions(array|string|null $işlevler = null): void
public removeParameter(string $isimalanı, string $isim): bool
public setParameter(string $isimalanı, string $isim, string $değer): bool
public setParameter(string $isimalanı, array $seçenekler): bool
public setProfiling(?string $dosya): true
public setSecurityPrefs(int $tercihler): int
public transformToDoc(object $belge, ?string $dönenSınıf = null): object|false
public transformToUri(object $belge, string $dosya): int
public transformToXml(object $belge): string|null|false
}

İçindekiler

  • XSLTProcessor::__construct — Yeni bir XSLTProcessor nesnesi oluşturur
  • XSLTProcessor::getParameter — Bir bağımsız değişkenin değerini döndürür
  • XSLTProcessor::getSecurityPrefs — Güvenlik tercihlerini döndürür
  • XSLTProcessor::hasExsltSupport — PHP, EXSLT desteğine sahip mi diye bakar
  • XSLTProcessor::importStylesheet — Biçembent ithal eder
  • XSLTProcessor::registerPHPFunctions — XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar
  • XSLTProcessor::removeParameter — Bağımsız değişken siler
  • XSLTProcessor::setParameter — Bir bağımsız değişkene bir değer atar
  • XSLTProcessor::setProfiling — Profil çıktı dosyasını belirler
  • XSLTProcessor::setSecurityPrefs — Güvenlik tercihlerini tanımlar
  • XSLTProcessor::transformToDoc — Belgeyi dönüştürür
  • XSLTProcessor::transformToUri — Dönüşüm sonucunu bir dosyaya yazar
  • XSLTProcessor::transformToXML — Dönüşümü bir dizge olarak döndürür


Yeni bir XSLTProcessor nesnesi oluşturur

  • « XSLTProcessor
  • XSLTProcessor::getParameter »
  • PHP Manual
  • XSLTProcessor
  • Yeni bir XSLTProcessor nesnesi oluşturur

XSLTProcessor::__construct

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::__construct — Yeni bir XSLTProcessor nesnesi oluşturur

Açıklama

XSLTProcessor::__construct()

Yeni bir XSLTProcessor nesnesi oluşturur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Örnekler

Örnek 1 - Bir XSLTProcessor oluşturmak

<?php

$xsldoc = new DOMDocument();
$xsldoc->load($xsl_filename);

$xmldoc = new DOMDocument();
$xmldoc->load($xml_filename);

$xsl = new XSLTProcessor();
$xsl->importStyleSheet($xsldoc);
echo $xsl->transformToXML($xmldoc);

?>


Bir bağımsız değişkenin değerini döndürür

  • « XSLTProcessor::__construct
  • XSLTProcessor::getSecurityPrefs »
  • PHP Manual
  • XSLTProcessor
  • Bir bağımsız değişkenin değerini döndürür

XSLTProcessor::getParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::getParameter — Bir bağımsız değişkenin değerini döndürür

Açıklama

public XSLTProcessor::getParameter(string $isimalanı, string $isim): string|false

Evvelce XSLTProcessor::setParameter() tarafından atanmış bir bağımsız değişkenin değerini döndürür.

Bağımsız Değişkenler

isimalanı

XSLT bağımsız değişkeninin ait olduğu isim alanının adresi.

isim

XSLT bağımsız değişkeninin yerel adı.

Dönen Değerler

Bağımsız değişkene değer atanmamışsa false yoksa değeri döndürür.

Ayrıca Bakınız

  • XSLTProcessor::setParameter() - Bir bağımsız değişkene bir değer atar
  • XSLTProcessor::removeParameter() - Bağımsız değişken siler


Güvenlik tercihlerini döndürür

  • « XSLTProcessor::getParameter
  • XSLTProcessor::hasExsltSupport »
  • PHP Manual
  • XSLTProcessor
  • Güvenlik tercihlerini döndürür

XSLTProcessor::getSecurityPrefs

(PHP >= 5.4.0, PHP 7, PHP 8)

XSLTProcessor::getSecurityPrefs — Güvenlik tercihlerini döndürür

Açıklama

public XSLTProcessor::getSecurityPrefs(): int

Güvenlik tercihlerini döndürür.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK sabitlerinin bit maskesi.


PHP, EXSLT desteğine sahip mi diye bakar

  • « XSLTProcessor::getSecurityPrefs
  • XSLTProcessor::importStylesheet »
  • PHP Manual
  • XSLTProcessor
  • PHP, EXSLT desteğine sahip mi diye bakar

XSLTProcessor::hasExsltSupport

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

XSLTProcessor::hasExsltSupport — PHP, EXSLT desteğine sahip mi diye bakar

Açıklama

public XSLTProcessor::hasExsltSupport(): bool

PHP, yerleşik » EXSLT kütüphanesi ile derlenmiş mi diye bakar.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - EXSLT desteğinin sınanması

<?php

$proc = new XSLTProcessor;
if (!$proc->hasExsltSupport()) {
die('EXSLT desteği yok');
}

// EXSLT işlemleri yapabiliriz ..

?>


Biçembent ithal eder

  • « XSLTProcessor::hasExsltSupport
  • XSLTProcessor::registerPHPFunctions »
  • PHP Manual
  • XSLTProcessor
  • Biçembent ithal eder

XSLTProcessor::importStylesheet

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::importStylesheet — Biçembent ithal eder

Açıklama

public XSLTProcessor::importStylesheet(object $biçembent): bool

Dönüşüm için kullanılmak üzere XSLTProcessor nesnesine biçembent dahil eder.

Bağımsız Değişkenler

biçembent

Bir DOMDocument veya bir SimpleXMLElement nesnesi olarak dahil edilecek biçembent.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.


XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar

  • « XSLTProcessor::importStylesheet
  • XSLTProcessor::removeParameter »
  • PHP Manual
  • XSLTProcessor
  • XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar

XSLTProcessor::registerPHPFunctions

(PHP 5 >= 5.0.4, PHP 7, PHP 8)

XSLTProcessor::registerPHPFunctions — XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar

Açıklama

public XSLTProcessor::registerPHPFunctions(array|string|null $işlevler = null): void

XSL biçembentlerinde XSLT işlevleri olarak PHP işlevlerinin kullanılabilmesini etkin kılar.

Bağımsız Değişkenler

işlevler

XSLT'den çağrılacak işlevleri belli işlev isimleriyle sınırlamak için kullanılır.

Dizge olarak tek bir işlevin ismi veya dizi olarak işlev isimleri.

Dönen Değerler

Hiçbir değer dönmez.

Örnekler

Örnek 1 - Bir biçembentten bir PHP işlevinin çağrılması

<?php

$xml = <<<EOB
<allusers>
<user>
<uid>bob</uid>
</user>
<user>
<uid>joe</uid>
</user>
</allusers>
EOB;
$xsl = <<<EOB
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
<xsl:template match="allusers">
<html><body>
<h2>Users</h2>
<table>
<xsl:for-each select="user">
<tr><td>
<xsl:value-of
select="php:function('ucfirst',string(uid))"/>
</td></tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>
EOB;
$xmldoc = new DOMDocument();
$xmldoc->loadXML($xml);
$xsldoc = new DOMDocument();
$xsldoc->loadXML($xsl);

$proc = new XSLTProcessor();
$proc->registerPHPFunctions();
$proc->importStyleSheet($xsldoc);
echo $proc->transformToXML($xmldoc);
?>


Bağımsız değişken siler

  • « XSLTProcessor::registerPHPFunctions
  • XSLTProcessor::setParameter »
  • PHP Manual
  • XSLTProcessor
  • Bağımsız değişken siler

XSLTProcessor::removeParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::removeParameter — Bağımsız değişken siler

Açıklama

public XSLTProcessor::removeParameter(string $isimalanı, string $isim): bool

Atanmış bir bağımsız değişkeni siler. Böylece bağımsız değişkenin biçembentteki öntanımlı değerinin kullanılması sağlanır.

Bağımsız Değişkenler

isimalanı

XSLT bağımsız değişkeninin ait olduğu isim alanının adresi.

isim

XSLT bağımsız değişkeninin yerel adı.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Ayrıca Bakınız

  • XSLTProcessor::setParameter() - Bir bağımsız değişkene bir değer atar
  • XSLTProcessor::getParameter() - Bir bağımsız değişkenin değerini döndürür


Bir bağımsız değişkene bir değer atar

  • « XSLTProcessor::removeParameter
  • XSLTProcessor::setProfiling »
  • PHP Manual
  • XSLTProcessor
  • Bir bağımsız değişkene bir değer atar

XSLTProcessor::setParameter

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::setParameter — Bir bağımsız değişkene bir değer atar

Açıklama

public XSLTProcessor::setParameter(string $isimalanı, string $isim, string $değer): bool
public XSLTProcessor::setParameter(string $isimalanı, array $seçenekler): bool

XSLTProcessor tarafından dönüşüm sırasında kullanılmak üzere bir veya daha fazla bağımsız değişkene değer atar. Biçembentte mevcut olmayan bağımsız değişkenler yok sayılır.

Bağımsız Değişkenler

isimalanı

XSLT bağımsız değişkeninin ait olduğu isim alanının adresi.

isim

XSLT bağımsız değişkeninin yerel adı.

değer

XSLT bağımsız değişkeninin değeri.

seçenekler

isim => değer çiftlerinden oluşan bir dizi.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - Dönüşüm öncesi sahip değişimi

<?php

$collections = array(
'Marc Rutkowski' => 'marc',
'Olivier Parmentier' => 'olivier'
);

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Dönüştürücüyü yapılandıralım
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL kuralları

foreach ($collections as $name => $file) {
// XML belgeyi yükleyelim
$xml = new DOMDocument;
$xml->load('collection_' . $file . '.xml');

$proc->setParameter('', 'owner', $name);
$proc->transformToURI($xml, 'file:///tmp/' . $file . '.html');
}

?>

Ayrıca Bakınız

  • XSLTProcessor::getParameter() - Bir bağımsız değişkenin değerini döndürür
  • XSLTProcessor::removeParameter() - Bağımsız değişken siler


Profil çıktı dosyasını belirler

  • « XSLTProcessor::setParameter
  • XSLTProcessor::setSecurityPrefs »
  • PHP Manual
  • XSLTProcessor
  • Profil çıktı dosyasını belirler

XSLTProcessor::setProfiling

(PHP >= 5.3.0, PHP 7, PHP 8)

XSLTProcessor::setProfiling — Profil çıktı dosyasını belirler

Açıklama

public XSLTProcessor::setProfiling(?string $dosya): true

Bir biçembent uygulanırken oluşan profil bilgisini belirtilen dosyaya çıktılar.

Bağımsız Değişkenler

dosya

Profil bilgisinin döküleceği dosyanın yolu.

Dönen Değerler

Daima true döndürür.

Örnekler

Örnek 1 - Profil bilgisi çıktılama örneği

<?php
// XML belgeyi yükleyelim
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Dönüştürücüyü yapılandıralım
$proc = new XSLTProcessor;
$proc->setProfiling('profiling.txt');
$proc->importStyleSheet($xsl); // XSL kuralları

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
?>

Üretilen profil bilgisi:

number               match                name      mode  Calls Tot 100us Avg

    0                   cd                                    2      3      1
    1           collection                                    1      1      1

                         Total                                3      4


Güvenlik tercihlerini tanımlar

  • « XSLTProcessor::setProfiling
  • XSLTProcessor::transformToDoc »
  • PHP Manual
  • XSLTProcessor
  • Güvenlik tercihlerini tanımlar

XSLTProcessor::setSecurityPrefs

(PHP >= 5.4.0, PHP 7, PHP 8)

XSLTProcessor::setSecurityPrefs — Güvenlik tercihlerini tanımlar

Açıklama

public XSLTProcessor::setSecurityPrefs(int $tercihler): int

Güvenlik tercihlerini tanımlar.

Bağımsız Değişkenler

tercihler

Yeni güvenlik tercihleri. Aşağıdaki sabitler VEYAlanabilir: XSL_SECPREF_READ_FILE, XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY, XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK. Bunların yerine XSL_SECPREF_NONE veya XSL_SECPREF_DEFAULT aktarılabilir.

Dönen Değerler

Evvelki güvenlik tercihlerini döndürür.


Belgeyi dönüştürür

  • « XSLTProcessor::setSecurityPrefs
  • XSLTProcessor::transformToUri »
  • PHP Manual
  • XSLTProcessor
  • Belgeyi dönüştürür

XSLTProcessor::transformToDoc

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToDoc — Belgeyi dönüştürür

Açıklama

public XSLTProcessor::transformToDoc(object $belge, ?string $dönenSınıf = null): object|false

xsltprocessor::importStylesheet() yöntemi ile belirtilen biçembendi belirtilen belgeye uygulayarak kaynak düğümünü bir belgeye (örn, DOMDocument nesnesine) dönüştürür.

Bağımsız Değişkenler

belge

Dönüştürülecek DOMDocument veya SimpleXMLElement nesnesi ya da libxml uyumlu nesne.

dönenSınıf

Bu isteğe bağlı bağımsız değişken XSLTProcessor::transformToDoc() işlevinin belirtilen sınıfın nesnesini döndürmekte kullanılabilir. Bu sınıf ya belge sınıfı ile aynı olmalı ya da belge sınıfına bir genişletme olmalıdır.

Dönen Değerler

Bir hata oluşursa false aksi takdirde sonuçlanan belge döner.

Örnekler

Örnek 1 - Bir DOMDocument nesnesine dönüşüm

<?php

// XML belgeyi yükleyelim
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Dönüştürücüyü yapılandıralım
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL kuralları

echo trim($proc->transformToDoc($xml)->firstChild->wholeText);

?>

Yukarıdaki örneğin çıktısı:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

Ayrıca Bakınız

  • XSLTProcessor::transformToUri() - Dönüşüm sonucunu bir dosyaya yazar
  • XSLTProcessor::transformToXml() - Dönüşümü bir dizge olarak döndürür


Dönüşüm sonucunu bir dosyaya yazar

  • « XSLTProcessor::transformToDoc
  • XSLTProcessor::transformToXML »
  • PHP Manual
  • XSLTProcessor
  • Dönüşüm sonucunu bir dosyaya yazar

XSLTProcessor::transformToUri

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToUri — Dönüşüm sonucunu bir dosyaya yazar

Açıklama

public XSLTProcessor::transformToUri(object $belge, string $dosya): int

xsltprocessor::importStylesheet() yöntemi ile belirtilen biçembendi belirtilen belgeye uygulayarak kaynak düğümünü bir dizgeye dönüştürüp belirtilen dosyaya yazar.

Bağımsız Değişkenler

belge

Dönüştürülecek DOMDocument veya SimpleXMLElement nesnesi.

dosya

Dönüşüm sonucunun yazılacağı dosyanın yolu.

Dönen Değerler

Bir hata oluşmuşsa false aksi takdirde yazılan bayt sayısı döner.

Örnekler

Örnek 1 - Bir HTML dosyaya dönüşüm

<?php

// XML belgeyi yükleyelim
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Dönüştürücüyü yapılandıralım
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL kodları

$proc->transformToURI($xml, 'file:///tmp/out.html');

?>

Ayrıca Bakınız

  • XSLTProcessor::transformToDoc() - Belgeyi dönüştürür
  • XSLTProcessor::transformToXml() - Dönüşümü bir dizge olarak döndürür


Dönüşümü bir dizge olarak döndürür

  • « XSLTProcessor::transformToUri
  • GUI Eklentileri »
  • PHP Manual
  • XSLTProcessor
  • Dönüşümü bir dizge olarak döndürür

XSLTProcessor::transformToXML

(PHP 5, PHP 7, PHP 8)

XSLTProcessor::transformToXML — Dönüşümü bir dizge olarak döndürür

Açıklama

public XSLTProcessor::transformToXml(object $belge): string|null|false

xsltprocessor::importStylesheet() yöntemi ile belirtilen biçembendi belirtilen belgeye uygulayarak kaynak düğümünü bir dizgeye dönüştürüp döndürür.

Bağımsız Değişkenler

belge

Dönüştürülecek DOMDocument veya SimpleXMLElement nesnesi.

Dönen Değerler

Hata durumunda false, aksi takdirde dönüşüm sonucunu bir dizge olarak döndürür.

Örnekler

Örnek 1 - Bir dizgeye dönüşüm

<?php

// XML belgeyi yükleyelim
$xml = new DOMDocument;
$xml->load('collection.xml');

$xsl = new DOMDocument;
$xsl->load('collection.xsl');

// Dönüştürücüyü yapılandıralım
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL kurallarını ekliyoruz

echo $proc->transformToXML($xml);

?>

Yukarıdaki örneğin çıktısı:

Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!

<h1>Fight for your mind</h1><h2>by Ben Harper - 1995</h2><hr>
<h1>Electric Ladyland</h1><h2>by Jimi Hendrix - 1997</h2><hr>

Ayrıca Bakınız

  • XSLTProcessor::transformToDoc() - Belgeyi dönüştürür
  • XSLTProcessor::transformToUri() - Dönüşüm sonucunu bir dosyaya yazar


GUI Eklentileri

  • UI
    • Giriş
    • Yapılandırma/Kurulum
    • UI\Point — Represents a position (x,y)
    • UI\Size — Represents dimensions (width, height)
    • UI\Window — Window
    • UI\Control — Control
    • UI\Menu — Menu
    • UI\MenuItem — Menu Item
    • UI\Area — Area
    • UI\Executor — Execution Scheduler
    • UI\Controls\Tab — Tab Control
    • UI\Controls\Check — Check Control
    • UI\Controls\Button — Button Control
    • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\Label — Label Control
    • UI\Controls\Entry — Entry Control
    • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\Spin — Spin Control
    • UI\Controls\Slider — Slider Control
    • UI\Controls\Progress — Progress Control
    • UI\Controls\Separator — Control Separator
    • UI\Controls\Combo — Combo Control
    • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\Radio — Radio Control
    • UI\Controls\Picker — Picker Control
    • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Box — Control Box (Arrangement)
    • UI\Draw\Pen — Draw Pen
    • UI\Draw\Path — Draw Path
    • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Color — Color Representation
    • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Brush — Brushes
    • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI İşlevleri
    • UI\Draw\Text\Font\Weight — Font Weight Settings
    • UI\Draw\Text\Font\Italic — Italic Font Settings
    • UI\Draw\Text\Font\Stretch — Font Stretch Settings
    • UI\Draw\Line\Cap — Line Cap Settings
    • UI\Draw\Line\Join — Line Join Settings
    • UI\Key — Key Identifiers
    • UI\Exception\InvalidArgumentException — InvalidArgumentException
    • UI\Exception\RuntimeException — RuntimeException


UI

  • Giriş
  • Yapılandırma/Kurulum
    • Gereksinimler
    • Kurulum
  • UI\Point — Represents a position (x,y)
    • UI\Point::at — Size Coercion
    • UI\Point::__construct — Construct a new Point
    • UI\Point::getX — Retrieves X
    • UI\Point::getY — Retrieves Y
    • UI\Point::setX — Set X
    • UI\Point::setY — Set Y
  • UI\Size — Represents dimensions (width, height)
    • UI\Size::__construct — Construct a new Size
    • UI\Size::getHeight — Retrieves Height
    • UI\Size::getWidth — Retrives Width
    • UI\Size::of — Point Coercion
    • UI\Size::setHeight — Set Height
    • UI\Size::setWidth — Set Width
  • UI\Window — Window
    • UI\Window::add — Add a Control
    • UI\Window::__construct — Construct a new Window
    • UI\Window::error — Show Error Box
    • UI\Window::getSize — Get Window Size
    • UI\Window::getTitle — Get Title
    • UI\Window::hasBorders — Border Detection
    • UI\Window::hasMargin — Margin Detection
    • UI\Window::isFullScreen — Full Screen Detection
    • UI\Window::msg — Show Message Box
    • UI\Window::onClosing — Closing Callback
    • UI\Window::open — Open Dialog
    • UI\Window::save — Save Dialog
    • UI\Window::setBorders — Border Use
    • UI\Window::setFullScreen — Full Screen Use
    • UI\Window::setMargin — Margin Use
    • UI\Window::setSize — Set Size
    • UI\Window::setTitle — Window Title
  • UI\Control — Control
    • UI\Control::destroy — Destroy Control
    • UI\Control::disable — Disable Control
    • UI\Control::enable — Enable Control
    • UI\Control::getParent — Get Parent Control
    • UI\Control::getTopLevel — Get Top Level
    • UI\Control::hide — Hide Control
    • UI\Control::isEnabled — Determine if Control is enabled
    • UI\Control::isVisible — Determine if Control is visible
    • UI\Control::setParent — Set Parent Control
    • UI\Control::show — Control Show
  • UI\Menu — Menu
    • UI\Menu::append — Append Menu Item
    • UI\Menu::appendAbout — Append About Menu Item
    • UI\Menu::appendCheck — Append Checkable Menu Item
    • UI\Menu::appendPreferences — Append Preferences Menu Item
    • UI\Menu::appendQuit — Append Quit Menu Item
    • UI\Menu::appendSeparator — Append Menu Item Separator
    • UI\Menu::__construct — Construct a new Menu
  • UI\MenuItem — Menu Item
    • UI\MenuItem::disable — Disable Menu Item
    • UI\MenuItem::enable — Enable Menu Item
    • UI\MenuItem::isChecked — Detect Checked
    • UI\MenuItem::onClick — On Click Callback
    • UI\MenuItem::setChecked — Set Checked
  • UI\Area — Area
    • UI\Area::onDraw — Draw Callback
    • UI\Area::onKey — Key Callback
    • UI\Area::onMouse — Mouse Callback
    • UI\Area::redraw — Redraw Area
    • UI\Area::scrollTo — Area Scroll
    • UI\Area::setSize — Set Size
  • UI\Executor — Execution Scheduler
    • UI\Executor::__construct — Construct a new Executor
    • UI\Executor::kill — Stop Executor
    • UI\Executor::onExecute — Execution Callback
    • UI\Executor::setInterval — Interval Manipulation
  • UI\Controls\Tab — Tab Control
    • UI\Controls\Tab::append — Append Page
    • UI\Controls\Tab::delete — Delete Page
    • UI\Controls\Tab::hasMargin — Margin Detection
    • UI\Controls\Tab::insertAt — Insert Page
    • UI\Controls\Tab::pages — Page Count
    • UI\Controls\Tab::setMargin — Set Margin
  • UI\Controls\Check — Check Control
    • UI\Controls\Check::__construct — Construct a new Check
    • UI\Controls\Check::getText — Get Text
    • UI\Controls\Check::isChecked — Checked Detection
    • UI\Controls\Check::onToggle — Toggle Callback
    • UI\Controls\Check::setChecked — Set Checked
    • UI\Controls\Check::setText — Set Text
  • UI\Controls\Button — Button Control
    • UI\Controls\Button::__construct — Construct a new Button
    • UI\Controls\Button::getText — Get Text
    • UI\Controls\Button::onClick — Click Handler
    • UI\Controls\Button::setText — Set Text
  • UI\Controls\ColorButton — ColorButton Control
    • UI\Controls\ColorButton::getColor — Get Color
    • UI\Controls\ColorButton::onChange — Change Handler
    • UI\Controls\ColorButton::setColor — Set Color
  • UI\Controls\Label — Label Control
    • UI\Controls\Label::__construct — Construct a new Label
    • UI\Controls\Label::getText — Get Text
    • UI\Controls\Label::setText — Set Text
  • UI\Controls\Entry — Entry Control
    • UI\Controls\Entry::__construct — Construct a new Entry
    • UI\Controls\Entry::getText — Get Text
    • UI\Controls\Entry::isReadOnly — Detect Read Only
    • UI\Controls\Entry::onChange — Change Handler
    • UI\Controls\Entry::setReadOnly — Set Read Only
    • UI\Controls\Entry::setText — Set Text
  • UI\Controls\MultilineEntry — MultilineEntry Control
    • UI\Controls\MultilineEntry::append — Append Text
    • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
    • UI\Controls\MultilineEntry::getText — Get Text
    • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
    • UI\Controls\MultilineEntry::onChange — Change Handler
    • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
    • UI\Controls\MultilineEntry::setText — Set Text
  • UI\Controls\Spin — Spin Control
    • UI\Controls\Spin::__construct — Construct a new Spin
    • UI\Controls\Spin::getValue — Get Value
    • UI\Controls\Spin::onChange — Change Handler
    • UI\Controls\Spin::setValue — Set Value
  • UI\Controls\Slider — Slider Control
    • UI\Controls\Slider::__construct — Construct a new Slider
    • UI\Controls\Slider::getValue — Get Value
    • UI\Controls\Slider::onChange — Change Handler
    • UI\Controls\Slider::setValue — Set Value
  • UI\Controls\Progress — Progress Control
    • UI\Controls\Progress::getValue — Get Value
    • UI\Controls\Progress::setValue — Set Value
  • UI\Controls\Separator — Control Separator
    • UI\Controls\Separator::__construct — Construct a new Separator
  • UI\Controls\Combo — Combo Control
    • UI\Controls\Combo::append — Append Option
    • UI\Controls\Combo::getSelected — Get Selected Option
    • UI\Controls\Combo::onSelected — Selected Handler
    • UI\Controls\Combo::setSelected — Set Selected Option
  • UI\Controls\EditableCombo — EdiableCombo Control
    • UI\Controls\EditableCombo::append — Append Option
    • UI\Controls\EditableCombo::getText — Get Text
    • UI\Controls\EditableCombo::onChange — Change Handler
    • UI\Controls\EditableCombo::setText — Set Text
  • UI\Controls\Radio — Radio Control
    • UI\Controls\Radio::append — Append Option
    • UI\Controls\Radio::getSelected — Get Selected Option
    • UI\Controls\Radio::onSelected — Selected Handler
    • UI\Controls\Radio::setSelected — Set Selected Option
  • UI\Controls\Picker — Picker Control
    • UI\Controls\Picker::__construct — Construct a new Picker
  • UI\Controls\Form — Control Form (Arrangement)
    • UI\Controls\Form::append — Append Control
    • UI\Controls\Form::delete — Delete Control
    • UI\Controls\Form::isPadded — Padding Detection
    • UI\Controls\Form::setPadded — Set Padding
  • UI\Controls\Grid — Control Grid (Arrangement)
    • UI\Controls\Grid::append — Append Control
    • UI\Controls\Grid::isPadded — Padding Detection
    • UI\Controls\Grid::setPadded — Set Padding
  • UI\Controls\Group — Control Group (Arrangement)
    • UI\Controls\Group::append — Append Control
    • UI\Controls\Group::__construct — Construct a new Group
    • UI\Controls\Group::getTitle — Get Title
    • UI\Controls\Group::hasMargin — Margin Detection
    • UI\Controls\Group::setMargin — Set Margin
    • UI\Controls\Group::setTitle — Set Title
  • UI\Controls\Box — Control Box (Arrangement)
    • UI\Controls\Box::append — Append Control
    • UI\Controls\Box::__construct — Construct a new Box
    • UI\Controls\Box::delete — Delete Control
    • UI\Controls\Box::getOrientation — Get Orientation
    • UI\Controls\Box::isPadded — Padding Detection
    • UI\Controls\Box::setPadded — Set Padding
  • UI\Draw\Pen — Draw Pen
    • UI\Draw\Pen::clip — Clip a Path
    • UI\Draw\Pen::fill — Fill a Path
    • UI\Draw\Pen::restore — Restore
    • UI\Draw\Pen::save — Save
    • UI\Draw\Pen::stroke — Stroke a Path
    • UI\Draw\Pen::transform — Matrix Transform
    • UI\Draw\Pen::write — Draw Text at Point
  • UI\Draw\Path — Draw Path
    • UI\Draw\Path::addRectangle — Draw a Rectangle
    • UI\Draw\Path::arcTo — Draw an Arc
    • UI\Draw\Path::bezierTo — Draw Bezier Curve
    • UI\Draw\Path::closeFigure — Close Figure
    • UI\Draw\Path::__construct — Construct a new Path
    • UI\Draw\Path::end — Finalize Path
    • UI\Draw\Path::lineTo — Draw a Line
    • UI\Draw\Path::newFigure — Draw Figure
    • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc
  • UI\Draw\Matrix — Draw Matrix
    • UI\Draw\Matrix::invert — Invert Matrix
    • UI\Draw\Matrix::isInvertible — Invertible Detection
    • UI\Draw\Matrix::multiply — Multiply Matrix
    • UI\Draw\Matrix::rotate — Rotate Matrix
    • UI\Draw\Matrix::scale — Scale Matrix
    • UI\Draw\Matrix::skew — Skew Matrix
    • UI\Draw\Matrix::translate — Translate Matrix
  • UI\Draw\Color — Color Representation
    • UI\Draw\Color::__construct — Construct new Color
    • UI\Draw\Color::getChannel — Color Manipulation
    • UI\Draw\Color::setChannel — Color Manipulation
  • UI\Draw\Stroke — Draw Stroke
    • UI\Draw\Stroke::__construct — Construct a new Stroke
    • UI\Draw\Stroke::getCap — Get Line Cap
    • UI\Draw\Stroke::getJoin — Get Line Join
    • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
    • UI\Draw\Stroke::getThickness — Get Thickness
    • UI\Draw\Stroke::setCap — Set Line Cap
    • UI\Draw\Stroke::setJoin — Set Line Join
    • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
    • UI\Draw\Stroke::setThickness — Set Thickness
  • UI\Draw\Brush — Brushes
    • UI\Draw\Brush::__construct — Construct a new Brush
    • UI\Draw\Brush::getColor — Get Color
    • UI\Draw\Brush::setColor — Set Color
  • UI\Draw\Brush\Gradient — Gradient Brushes
    • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop — Stop Manipulation
  • UI\Draw\Brush\LinearGradient — Linear Gradient
    • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient
  • UI\Draw\Brush\RadialGradient — Radial Gradient
    • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient
  • UI\Draw\Text\Layout — Represents Text Layout
    • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
    • UI\Draw\Text\Layout::setColor — Set Color
    • UI\Draw\Text\Layout::setWidth — Set Width
  • UI\Draw\Text\Font — Represents a Font
    • UI\Draw\Text\Font::__construct — Construct a new Font
    • UI\Draw\Text\Font::getAscent — Font Metrics
    • UI\Draw\Text\Font::getDescent — Font Metrics
    • UI\Draw\Text\Font::getLeading — Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics
  • UI\Draw\Text\Font\Descriptor — Font Descriptor
    • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
    • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection
  • UI İşlevleri
    • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
    • UI\quit — Quit UI Loop
    • UI\run — Enter UI Loop
  • UI\Draw\Text\Font\Weight — Font Weight Settings
  • UI\Draw\Text\Font\Italic — Italic Font Settings
  • UI\Draw\Text\Font\Stretch — Font Stretch Settings
  • UI\Draw\Line\Cap — Line Cap Settings
  • UI\Draw\Line\Join — Line Join Settings
  • UI\Key — Key Identifiers
  • UI\Exception\InvalidArgumentException — InvalidArgumentException
  • UI\Exception\RuntimeException — RuntimeException


Giriş

This extension wraps libui to provide an OO API for the cross platform development of native look-and-feel user interfaces .


  • « Giriş
  • Gereksinimler »
  • PHP Manual
  • UI
  • Yapılandırma/Kurulum

Yapılandırma/Kurulum

İçindekiler

  • Gereksinimler
  • Kurulum


Gereksinimler

Installation requires the libui library, and PHP 7 or newer.

This extension requires the » libui library version 0.1.0 or higher to be installed. See the libui documentation for a list of prerequisites.


Kurulum

Bu » PECL eklentisi PHP ile gelmez.

Bu PECL eklentisini kurma bilgisi kılavuzun PECL eklentisinin kurulması başlıklı faslında bulunabilir. Yeni dağıtımlar, indirmeler, kaynak dosyaları, sürdürücü bilgileri ve CHANGELOG gibi ek bilgiler şu adreste bulunabilir: » https://pecl.php.net/package/ui.

Bu PECL eklentisi için Windows kütüphaneleri (DLL dosyaları) PECL sitesinde mevcuttur.


Represents a position (x,y)

(UI 0.9.9)

Giriş

Points are used throughout UI to represent co-ordinates on a screen, control, or area.

Sınıf Sözdizimi

final class UI\Point {
/* Özellikler */
public $x;
public $y;
/* Constructor */
public __construct(float $x, float $y)
/* Yöntemler */
public static at(float $point): UI\Point
public static at(UI\Size $size): UI\Point
public getX(): float
public getY(): float
public setX(float $point)
public setY(float $point)
}

Özellikler

x

Holds the X co-ordinate, can be read/written directly

y

Holds the Y co-ordinate, can be read/written directly

İçindekiler

  • UI\Point::at — Size Coercion
  • UI\Point::__construct — Construct a new Point
  • UI\Point::getX — Retrieves X
  • UI\Point::getY — Retrieves Y
  • UI\Point::setX — Set X
  • UI\Point::setY — Set Y


Size Coercion

  • « UI\Point
  • UI\Point::__construct »
  • PHP Manual
  • UI\Point
  • Size Coercion

UI\Point::at

(UI 1.0.2)

UI\Point::at — Size Coercion

Açıklama

public static UI\Point::at(float $point): UI\Point
public static UI\Point::at(UI\Size $size): UI\Point

Shall return a UI\Point object where x and y are equal to those supplied, either in float or UI\Size form

Bağımsız Değişkenler

point

The value for x and y

size

The Size to convert

Dönen Değerler

The resulting Point


Construct a new Point

  • « UI\Point::at
  • UI\Point::getX »
  • PHP Manual
  • UI\Point
  • Construct a new Point

UI\Point::__construct

(UI 0.9.9)

UI\Point::__construct — Construct a new Point

Açıklama

public UI\Point::__construct(float $x, float $y)

Construct a new Point using new co-ordinates

Bağımsız Değişkenler

x

The new X co-ordinate

y

The new Y co-ordinate


Retrieves X

  • « UI\Point::__construct
  • UI\Point::getY »
  • PHP Manual
  • UI\Point
  • Retrieves X

UI\Point::getX

(UI 0.9.9)

UI\Point::getX — Retrieves X

Açıklama

public UI\Point::getX(): float

Retrieves the X co-ordinate

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current X co-ordinate


Retrieves Y

  • « UI\Point::getX
  • UI\Point::setX »
  • PHP Manual
  • UI\Point
  • Retrieves Y

UI\Point::getY

(UI 0.9.9)

UI\Point::getY — Retrieves Y

Açıklama

public UI\Point::getY(): float

Retrieves the Y co-ordinate

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current Y co-ordinate


Set X

  • « UI\Point::getY
  • UI\Point::setY »
  • PHP Manual
  • UI\Point
  • Set X

UI\Point::setX

(UI 0.9.9)

UI\Point::setX — Set X

Açıklama

public UI\Point::setX(float $point)

Set the X co-ordinate

Bağımsız Değişkenler

point

The new X co-ordinate

Dönen Değerler


Set Y

  • « UI\Point::setX
  • UI\Size »
  • PHP Manual
  • UI\Point
  • Set Y

UI\Point::setY

(UI 0.9.9)

UI\Point::setY — Set Y

Açıklama

public UI\Point::setY(float $point)

Set the Y co-ordinate

Bağımsız Değişkenler

point

The new Y co-ordinate

Dönen Değerler


Represents dimensions (width, height)

(UI 0.9.9)

Giriş

Sizes are used throughout UI to represent the size of a screen, control, or area.

Sınıf Sözdizimi

final class UI\Size {
/* Özellikler */
public $width;
public $height;
/* Constructor */
public __construct(float $width, float $height)
/* Yöntemler */
public getHeight(): float
public getWidth(): float
public static of(float $size): UI\Size
public static of(UI\Point $point): UI\Size
public setHeight(float $size)
public setWidth(float $size)
}

Özellikler

width

Holds the width, can be read/written directly

height

Holds the height, can be read/written directly

İçindekiler

  • UI\Size::__construct — Construct a new Size
  • UI\Size::getHeight — Retrieves Height
  • UI\Size::getWidth — Retrives Width
  • UI\Size::of — Point Coercion
  • UI\Size::setHeight — Set Height
  • UI\Size::setWidth — Set Width


Construct a new Size

  • « UI\Size
  • UI\Size::getHeight »
  • PHP Manual
  • UI\Size
  • Construct a new Size

UI\Size::__construct

(UI 0.9.9)

UI\Size::__construct — Construct a new Size

Açıklama

public UI\Size::__construct(float $width, float $height)

Construct a new Size using new width and height

Bağımsız Değişkenler

width

The new width

height

The new height


Retrieves Height

  • « UI\Size::__construct
  • UI\Size::getWidth »
  • PHP Manual
  • UI\Size
  • Retrieves Height

UI\Size::getHeight

(UI 0.9.9)

UI\Size::getHeight — Retrieves Height

Açıklama

public UI\Size::getHeight(): float

Retrieves the Height

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current Height


Retrives Width

  • « UI\Size::getHeight
  • UI\Size::of »
  • PHP Manual
  • UI\Size
  • Retrives Width

UI\Size::getWidth

(UI 0.9.9)

UI\Size::getWidth — Retrives Width

Açıklama

public UI\Size::getWidth(): float

Retrieves the Width

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current Width


Point Coercion

  • « UI\Size::getWidth
  • UI\Size::setHeight »
  • PHP Manual
  • UI\Size
  • Point Coercion

UI\Size::of

(UI 1.0.2)

UI\Size::of — Point Coercion

Açıklama

public static UI\Size::of(float $size): UI\Size
public static UI\Size::of(UI\Point $point): UI\Size

Shall return a UI\Size object where width and height are equal to those supplied, either in float or UI\Point form

Bağımsız Değişkenler

size

The value for width and height

point

The Point to convert

Dönen Değerler

The resulting Size


Set Height

  • « UI\Size::of
  • UI\Size::setWidth »
  • PHP Manual
  • UI\Size
  • Set Height

UI\Size::setHeight

(UI 0.9.9)

UI\Size::setHeight — Set Height

Açıklama

public UI\Size::setHeight(float $size)

Set new Height

Bağımsız Değişkenler

size

The new Height

Dönen Değerler


Set Width

  • « UI\Size::setHeight
  • UI\Window »
  • PHP Manual
  • UI\Size
  • Set Width

UI\Size::setWidth

(UI 0.9.9)

UI\Size::setWidth — Set Width

Açıklama

public UI\Size::setWidth(float $size)

Set new Width

Bağımsız Değişkenler

size

The new Width

Dönen Değerler


Window

(UI 0.9.9)

Giriş

Represents a UI Window

Sınıf Sözdizimi

class UI\Window extends UI\Control {
/* Özellikler */
protected $controls;
/* Constructor */
public __construct(string $title, Size $size, bool $menu = false)
/* Yöntemler */
public add(UI\Control $control)
public error(string $title, string $msg)
public getSize(): UI\Size
public getTitle(): string
public hasBorders(): bool
public hasMargin(): bool
public isFullScreen(): bool
public msg(string $title, string $msg)
protected onClosing(): int
public open(): string
public save(): string
public setBorders(bool $borders)
public setFullScreen(bool $full)
public setMargin(bool $margin)
public setSize(UI\Size $size)
public setTitle(string $title)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Özellikler

controls

Contains controls, should not be manipulated directly

İçindekiler

  • UI\Window::add — Add a Control
  • UI\Window::__construct — Construct a new Window
  • UI\Window::error — Show Error Box
  • UI\Window::getSize — Get Window Size
  • UI\Window::getTitle — Get Title
  • UI\Window::hasBorders — Border Detection
  • UI\Window::hasMargin — Margin Detection
  • UI\Window::isFullScreen — Full Screen Detection
  • UI\Window::msg — Show Message Box
  • UI\Window::onClosing — Closing Callback
  • UI\Window::open — Open Dialog
  • UI\Window::save — Save Dialog
  • UI\Window::setBorders — Border Use
  • UI\Window::setFullScreen — Full Screen Use
  • UI\Window::setMargin — Margin Use
  • UI\Window::setSize — Set Size
  • UI\Window::setTitle — Window Title


Add a Control

  • « UI\Window
  • UI\Window::__construct »
  • PHP Manual
  • UI\Window
  • Add a Control

UI\Window::add

(UI 0.9.9)

UI\Window::add — Add a Control

Açıklama

public UI\Window::add(UI\Control $control)

Shall add a Control to this Window

Bağımsız Değişkenler

control

The Control to add

Dönen Değerler


Construct a new Window

  • « UI\Window::add
  • UI\Window::error »
  • PHP Manual
  • UI\Window
  • Construct a new Window

UI\Window::__construct

(UI 0.9.9)

UI\Window::__construct — Construct a new Window

Açıklama

public UI\Window::__construct(string $title, Size $size, bool $menu = false)

Shall construct a new Window

Bağımsız Değişkenler

title

The title of the Window

size

The size of the Window

menu

Menu switch


Show Error Box

  • « UI\Window::__construct
  • UI\Window::getSize »
  • PHP Manual
  • UI\Window
  • Show Error Box

UI\Window::error

(UI 0.9.9)

UI\Window::error — Show Error Box

Açıklama

public UI\Window::error(string $title, string $msg)

Shall show an error box

Bağımsız Değişkenler

title

The title of the error box

msg

The message for the error box


Get Window Size

  • « UI\Window::error
  • UI\Window::getTitle »
  • PHP Manual
  • UI\Window
  • Get Window Size

UI\Window::getSize

(UI 0.9.9)

UI\Window::getSize — Get Window Size

Açıklama

public UI\Window::getSize(): UI\Size

Shall return the size of this Window

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get Title

  • « UI\Window::getSize
  • UI\Window::hasBorders »
  • PHP Manual
  • UI\Window
  • Get Title

UI\Window::getTitle

(UI 0.9.9)

UI\Window::getTitle — Get Title

Açıklama

public UI\Window::getTitle(): string

Shall retrieve the title of this Window

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Border Detection

  • « UI\Window::getTitle
  • UI\Window::hasMargin »
  • PHP Manual
  • UI\Window
  • Border Detection

UI\Window::hasBorders

(UI 0.9.9)

UI\Window::hasBorders — Border Detection

Açıklama

public UI\Window::hasBorders(): bool

Shall detect if borders are used on this Window

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Margin Detection

  • « UI\Window::hasBorders
  • UI\Window::isFullScreen »
  • PHP Manual
  • UI\Window
  • Margin Detection

UI\Window::hasMargin

(UI 0.9.9)

UI\Window::hasMargin — Margin Detection

Açıklama

public UI\Window::hasMargin(): bool

Shall detect if margins are used on this Window

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Full Screen Detection

  • « UI\Window::hasMargin
  • UI\Window::msg »
  • PHP Manual
  • UI\Window
  • Full Screen Detection

UI\Window::isFullScreen

(UI 0.9.9)

UI\Window::isFullScreen — Full Screen Detection

Açıklama

public UI\Window::isFullScreen(): bool

Shall detect if this Window us using the whole screen

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Show Message Box

  • « UI\Window::isFullScreen
  • UI\Window::onClosing »
  • PHP Manual
  • UI\Window
  • Show Message Box

UI\Window::msg

(UI 0.9.9)

UI\Window::msg — Show Message Box

Açıklama

public UI\Window::msg(string $title, string $msg)

Shall show a message box

Bağımsız Değişkenler

title

The title of the message box

msg

The message


Closing Callback

  • « UI\Window::msg
  • UI\Window::open »
  • PHP Manual
  • UI\Window
  • Closing Callback

UI\Window::onClosing

(UI 0.9.9)

UI\Window::onClosing — Closing Callback

Açıklama

protected UI\Window::onClosing(): int

Should gracefully destroy this Window

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Open Dialog

  • « UI\Window::onClosing
  • UI\Window::save »
  • PHP Manual
  • UI\Window
  • Open Dialog

UI\Window::open

(UI 0.9.9)

UI\Window::open — Open Dialog

Açıklama

public UI\Window::open(): string

Shall show an open file dialog

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the name of the file selected for opening


Save Dialog

  • « UI\Window::open
  • UI\Window::setBorders »
  • PHP Manual
  • UI\Window
  • Save Dialog

UI\Window::save

(UI 0.9.9)

UI\Window::save — Save Dialog

Açıklama

public UI\Window::save(): string

Shall show a save dialog

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns the file name selecting for saving


Border Use

  • « UI\Window::save
  • UI\Window::setFullScreen »
  • PHP Manual
  • UI\Window
  • Border Use

UI\Window::setBorders

(UI 0.9.9)

UI\Window::setBorders — Border Use

Açıklama

public UI\Window::setBorders(bool $borders)

Shall enable or disable the use of borders on this Window

Bağımsız Değişkenler

borders


Full Screen Use

  • « UI\Window::setBorders
  • UI\Window::setMargin »
  • PHP Manual
  • UI\Window
  • Full Screen Use

UI\Window::setFullScreen

(UI 0.9.9)

UI\Window::setFullScreen — Full Screen Use

Açıklama

public UI\Window::setFullScreen(bool $full)

Shall enable or disable the use of the full screen for this Window

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

full


Margin Use

  • « UI\Window::setFullScreen
  • UI\Window::setSize »
  • PHP Manual
  • UI\Window
  • Margin Use

UI\Window::setMargin

(UI 0.9.9)

UI\Window::setMargin — Margin Use

Açıklama

public UI\Window::setMargin(bool $margin)

Shall enable or disable the use of margins for this Window

Bağımsız Değişkenler

margin


Set Size

  • « UI\Window::setMargin
  • UI\Window::setTitle »
  • PHP Manual
  • UI\Window
  • Set Size

UI\Window::setSize

(UI 0.9.9)

UI\Window::setSize — Set Size

Açıklama

public UI\Window::setSize(UI\Size $size)

Shall set the size of this Window

Bağımsız Değişkenler

size

Dönen Değerler


Window Title

  • « UI\Window::setSize
  • UI\Control »
  • PHP Manual
  • UI\Window
  • Window Title

UI\Window::setTitle

(UI 0.9.9)

UI\Window::setTitle — Window Title

Açıklama

public UI\Window::setTitle(string $title)

Shall set the title for this Window

Bağımsız Değişkenler

title

The new title


Control

(UI 0.9.9)

Giriş

This is the closed base class for all UI Controls.

Sınıf Sözdizimi

final class UI\Control {
/* Yöntemler */
public destroy()
public disable()
public enable()
public getParent(): UI\Control
public getTopLevel(): int
public hide()
public isEnabled(): bool
public isVisible(): bool
public setParent(UI\Control $parent)
public show()
}

İçindekiler

  • UI\Control::destroy — Destroy Control
  • UI\Control::disable — Disable Control
  • UI\Control::enable — Enable Control
  • UI\Control::getParent — Get Parent Control
  • UI\Control::getTopLevel — Get Top Level
  • UI\Control::hide — Hide Control
  • UI\Control::isEnabled — Determine if Control is enabled
  • UI\Control::isVisible — Determine if Control is visible
  • UI\Control::setParent — Set Parent Control
  • UI\Control::show — Control Show


Destroy Control

  • « UI\Control
  • UI\Control::disable »
  • PHP Manual
  • UI\Control
  • Destroy Control

UI\Control::destroy

(UI 0.9.9)

UI\Control::destroy — Destroy Control

Açıklama

public UI\Control::destroy()

Shall destroy this Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Disable Control

  • « UI\Control::destroy
  • UI\Control::enable »
  • PHP Manual
  • UI\Control
  • Disable Control

UI\Control::disable

(UI 0.9.9)

UI\Control::disable — Disable Control

Açıklama

public UI\Control::disable()

Shall disable this Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Enable Control

  • « UI\Control::disable
  • UI\Control::getParent »
  • PHP Manual
  • UI\Control
  • Enable Control

UI\Control::enable

(UI 0.9.9)

UI\Control::enable — Enable Control

Açıklama

public UI\Control::enable()

Shall enable this Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get Parent Control

  • « UI\Control::enable
  • UI\Control::getTopLevel »
  • PHP Manual
  • UI\Control
  • Get Parent Control

UI\Control::getParent

(UI 0.9.9)

UI\Control::getParent — Get Parent Control

Açıklama

public UI\Control::getParent(): UI\Control

Shall return the parent Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Get Top Level

  • « UI\Control::getParent
  • UI\Control::hide »
  • PHP Manual
  • UI\Control
  • Get Top Level

UI\Control::getTopLevel

(UI 0.9.9)

UI\Control::getTopLevel — Get Top Level

Açıklama

public UI\Control::getTopLevel(): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Hide Control

  • « UI\Control::getTopLevel
  • UI\Control::isEnabled »
  • PHP Manual
  • UI\Control
  • Hide Control

UI\Control::hide

(UI 0.9.9)

UI\Control::hide — Hide Control

Açıklama

public UI\Control::hide()

Shall hide this Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Determine if Control is enabled

  • « UI\Control::hide
  • UI\Control::isVisible »
  • PHP Manual
  • UI\Control
  • Determine if Control is enabled

UI\Control::isEnabled

(UI 0.9.9)

UI\Control::isEnabled — Determine if Control is enabled

Açıklama

public UI\Control::isEnabled(): bool

Shall detect if this Control is enabled

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Determine if Control is visible

  • « UI\Control::isEnabled
  • UI\Control::setParent »
  • PHP Manual
  • UI\Control
  • Determine if Control is visible

UI\Control::isVisible

(UI 0.9.9)

UI\Control::isVisible — Determine if Control is visible

Açıklama

public UI\Control::isVisible(): bool

Shall detect if this Control is visible

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set Parent Control

  • « UI\Control::isVisible
  • UI\Control::show »
  • PHP Manual
  • UI\Control
  • Set Parent Control

UI\Control::setParent

(UI 0.9.9)

UI\Control::setParent — Set Parent Control

Açıklama

public UI\Control::setParent(UI\Control $parent)

Shall set the parent Control of this Control

Bağımsız Değişkenler

parent

The parent Control

Dönen Değerler


Control Show

  • « UI\Control::setParent
  • UI\Menu »
  • PHP Manual
  • UI\Control
  • Control Show

UI\Control::show

(UI 0.9.9)

UI\Control::show — Control Show

Açıklama

public UI\Control::show()

Shall show this Control

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Menu

(UI 0.9.9)

Giriş

Menus must be constructed before the first Window, and can be shown on any Window

Sınıf Sözdizimi

class UI\Menu {
/* Constructor */
public __construct(string $name)
/* Yöntemler */
public append(string $name, string $type = UI\MenuItem::class): UI\MenuItem
public appendAbout(string $type = UI\MenuItem::class): UI\MenuItem
public appendCheck(string $name, string $type = UI\MenuItem::class): UI\MenuItem
public appendPreferences(string $type = UI\MenuItem::class): UI\MenuItem
public appendQuit(string $type = UI\MenuItem::class): UI\MenuItem
public appendSeparator()
}

İçindekiler

  • UI\Menu::append — Append Menu Item
  • UI\Menu::appendAbout — Append About Menu Item
  • UI\Menu::appendCheck — Append Checkable Menu Item
  • UI\Menu::appendPreferences — Append Preferences Menu Item
  • UI\Menu::appendQuit — Append Quit Menu Item
  • UI\Menu::appendSeparator — Append Menu Item Separator
  • UI\Menu::__construct — Construct a new Menu


Append Menu Item

  • « UI\Menu
  • UI\Menu::appendAbout »
  • PHP Manual
  • UI\Menu
  • Append Menu Item

UI\Menu::append

(UI 0.9.9)

UI\Menu::append — Append Menu Item

Açıklama

public UI\Menu::append(string $name, string $type = UI\MenuItem::class): UI\MenuItem

Shall append a new Menu Item

Bağımsız Değişkenler

name

The name (text) for the new item

type

The type for the new item

Dönen Değerler

A constructed object of the given type


Append About Menu Item

  • « UI\Menu::append
  • UI\Menu::appendCheck »
  • PHP Manual
  • UI\Menu
  • Append About Menu Item

UI\Menu::appendAbout

(UI 0.9.9)

UI\Menu::appendAbout — Append About Menu Item

Açıklama

public UI\Menu::appendAbout(string $type = UI\MenuItem::class): UI\MenuItem

Shall append an About menu item

Bağımsız Değişkenler

type

The type for the new item

Dönen Değerler

A constructed About menu item of the given type


Append Checkable Menu Item

  • « UI\Menu::appendAbout
  • UI\Menu::appendPreferences »
  • PHP Manual
  • UI\Menu
  • Append Checkable Menu Item

UI\Menu::appendCheck

(UI 0.9.9)

UI\Menu::appendCheck — Append Checkable Menu Item

Açıklama

public UI\Menu::appendCheck(string $name, string $type = UI\MenuItem::class): UI\MenuItem

Shall append a checkable menu item

Bağımsız Değişkenler

name

The name (text) for the new item

type

The type for the new item

Dönen Değerler

A constructed checkable menu item of the given type


Append Preferences Menu Item

  • « UI\Menu::appendCheck
  • UI\Menu::appendQuit »
  • PHP Manual
  • UI\Menu
  • Append Preferences Menu Item

UI\Menu::appendPreferences

(UI 0.9.9)

UI\Menu::appendPreferences — Append Preferences Menu Item

Açıklama

public UI\Menu::appendPreferences(string $type = UI\MenuItem::class): UI\MenuItem

Shall append a Preferences menu item

Bağımsız Değişkenler

type

The type for the new item

Dönen Değerler

A constructed Preferences menu item of the given type


Append Quit Menu Item

  • « UI\Menu::appendPreferences
  • UI\Menu::appendSeparator »
  • PHP Manual
  • UI\Menu
  • Append Quit Menu Item

UI\Menu::appendQuit

(UI 0.9.9)

UI\Menu::appendQuit — Append Quit Menu Item

Açıklama

public UI\Menu::appendQuit(string $type = UI\MenuItem::class): UI\MenuItem

Shall append a Quit menu item

Bağımsız Değişkenler

type

The type for the new item

Dönen Değerler

A constructed Quit menu item of the given type


Append Menu Item Separator

  • « UI\Menu::appendQuit
  • UI\Menu::__construct »
  • PHP Manual
  • UI\Menu
  • Append Menu Item Separator

UI\Menu::appendSeparator

(UI 0.9.9)

UI\Menu::appendSeparator — Append Menu Item Separator

Açıklama

public UI\Menu::appendSeparator()

Shall append a separator

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Construct a new Menu

  • « UI\Menu::appendSeparator
  • UI\MenuItem »
  • PHP Manual
  • UI\Menu
  • Construct a new Menu

UI\Menu::__construct

(UI 0.9.9)

UI\Menu::__construct — Construct a new Menu

Açıklama

public UI\Menu::__construct(string $name)

Shall construct a new Menu

Bağımsız Değişkenler

name

The name (text) for the menu


Menu Item

(UI 0.9.9)

Giriş

Menu Items should only be created by the Menu

Sınıf Sözdizimi

class UI\MenuItem {
/* Yöntemler */
public disable()
public enable()
public isChecked(): bool
protected onClick()
public setChecked(bool $checked)
}

İçindekiler

  • UI\MenuItem::disable — Disable Menu Item
  • UI\MenuItem::enable — Enable Menu Item
  • UI\MenuItem::isChecked — Detect Checked
  • UI\MenuItem::onClick — On Click Callback
  • UI\MenuItem::setChecked — Set Checked


Disable Menu Item

  • « UI\MenuItem
  • UI\MenuItem::enable »
  • PHP Manual
  • UI\MenuItem
  • Disable Menu Item

UI\MenuItem::disable

(UI 0.9.9)

UI\MenuItem::disable — Disable Menu Item

Açıklama

public UI\MenuItem::disable()

Shall disable this Menu Item

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Enable Menu Item

  • « UI\MenuItem::disable
  • UI\MenuItem::isChecked »
  • PHP Manual
  • UI\MenuItem
  • Enable Menu Item

UI\MenuItem::enable

(UI 0.9.9)

UI\MenuItem::enable — Enable Menu Item

Açıklama

public UI\MenuItem::enable()

Shall enable this Menu Item

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Detect Checked

  • « UI\MenuItem::enable
  • UI\MenuItem::onClick »
  • PHP Manual
  • UI\MenuItem
  • Detect Checked

UI\MenuItem::isChecked

(UI 0.9.9)

UI\MenuItem::isChecked — Detect Checked

Açıklama

public UI\MenuItem::isChecked(): bool

Shall detect if this Menu Item is checked

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


On Click Callback

  • « UI\MenuItem::isChecked
  • UI\MenuItem::setChecked »
  • PHP Manual
  • UI\MenuItem
  • On Click Callback

UI\MenuItem::onClick

(UI 0.9.9)

UI\MenuItem::onClick — On Click Callback

Açıklama

protected UI\MenuItem::onClick()

Shall be executed when this Menu Item is clicked

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Checked

  • « UI\MenuItem::onClick
  • UI\Area »
  • PHP Manual
  • UI\MenuItem
  • Set Checked

UI\MenuItem::setChecked

(UI 0.9.9)

UI\MenuItem::setChecked — Set Checked

Açıklama

public UI\MenuItem::setChecked(bool $checked)

Shall set the checked status of this Menu Item

Bağımsız Değişkenler

checked

The new status


Area

(UI 0.9.9)

Giriş

An Area represents a canvas which can be used to draw, and respond to mouse and key events.

Sınıf Sözdizimi

class UI\Area extends UI\Control {
/* Sabitler */
const int Ctrl;
const int Alt;
const int Shift;
const int Super;
const int Down;
const int Up;
/* Yöntemler */
protected onDraw(
UI\Draw\Pen $pen,
UI\Size $areaSize,
UI\Point $clipPoint,
UI\Size $clipSize
)
protected onKey(string $key, int $ext, int $flags)
protected onMouse(UI\Point $areaPoint, UI\Size $areaSize, int $flags)
public redraw()
public scrollTo(UI\Point $point, UI\Size $size)
public setSize(UI\Size $size)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Area::Ctrl

Shall be set in the modifiers passed to key and mouse events when the CTRL key is active

UI\Area::Alt

Shall be set in the modifiers passed to key and mouse events when the ALT key is active

UI\Area::Shift

Shall be set in the modifiers passed to key and mouse events when the SHIFT key is active

UI\Area::Super

UI\Area::Down

Shall be set in the modifiers passed to key and mouse events

UI\Area::Up

Shall be set in the modifiers passed to key and mouse events

İçindekiler

  • UI\Area::onDraw — Draw Callback
  • UI\Area::onKey — Key Callback
  • UI\Area::onMouse — Mouse Callback
  • UI\Area::redraw — Redraw Area
  • UI\Area::scrollTo — Area Scroll
  • UI\Area::setSize — Set Size


Draw Callback

  • « UI\Area
  • UI\Area::onKey »
  • PHP Manual
  • UI\Area
  • Draw Callback

UI\Area::onDraw

(UI 0.9.9)

UI\Area::onDraw — Draw Callback

Açıklama

protected UI\Area::onDraw(
UI\Draw\Pen $pen,
UI\Size $areaSize,
UI\Point $clipPoint,
UI\Size $clipSize
)

Shall be invoked when this Area requires redrawing

Bağımsız Değişkenler

pen

A Pen suitable for drawing in this Area

areaSize

The size of the Area

clipPoint

The clip point of the Area

clipSize

The clip size of the Area


Key Callback

  • « UI\Area::onDraw
  • UI\Area::onMouse »
  • PHP Manual
  • UI\Area
  • Key Callback

UI\Area::onKey

(UI 0.9.9)

UI\Area::onKey — Key Callback

Açıklama

protected UI\Area::onKey(string $key, int $ext, int $flags)

Shall be executed on key events

Bağımsız Değişkenler

key

The key pressed

ext

The extended key pressed

flags

Event modifiers

Dönen Değerler


Mouse Callback

  • « UI\Area::onKey
  • UI\Area::redraw »
  • PHP Manual
  • UI\Area
  • Mouse Callback

UI\Area::onMouse

(UI 0.9.9)

UI\Area::onMouse — Mouse Callback

Açıklama

protected UI\Area::onMouse(UI\Point $areaPoint, UI\Size $areaSize, int $flags)

Shall be executed on mouse events

Bağımsız Değişkenler

areaPoint

The co-ordinates of the event

areaSize

The size of the area of the event

flags

Event modifiers


Redraw Area

  • « UI\Area::onMouse
  • UI\Area::scrollTo »
  • PHP Manual
  • UI\Area
  • Redraw Area

UI\Area::redraw

(UI 0.9.9)

UI\Area::redraw — Redraw Area

Açıklama

public UI\Area::redraw()

Requests that this Area is redrawn

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Area Scroll

  • « UI\Area::redraw
  • UI\Area::setSize »
  • PHP Manual
  • UI\Area
  • Area Scroll

UI\Area::scrollTo

(UI 0.9.9)

UI\Area::scrollTo — Area Scroll

Açıklama

public UI\Area::scrollTo(UI\Point $point, UI\Size $size)

Scroll this Area

Bağımsız Değişkenler

point

The point to scroll to

size

The size of the scroll pane


Set Size

  • « UI\Area::scrollTo
  • UI\Executor »
  • PHP Manual
  • UI\Area
  • Set Size

UI\Area::setSize

(UI 0.9.9)

UI\Area::setSize — Set Size

Açıklama

public UI\Area::setSize(UI\Size $size)

Sets the size of this Area

Bağımsız Değişkenler

size

The new size


Execution Scheduler

(UI 2.0.0)

Giriş

This facility schedules repetitive execution of a callback, useful for animations and other such activities.

Sınıf Sözdizimi

abstract class UI\Executor {
/* Constructor */
public __construct()
public __construct(int $microseconds)
public __construct(int $seconds, int $microseconds)
/* Yöntemler */
public kill(): void
abstract protected onExecute(): void
public setInterval(int $microseconds): bool
public setInterval(int $seconds, int $microseconds): bool
}

İçindekiler

  • UI\Executor::__construct — Construct a new Executor
  • UI\Executor::kill — Stop Executor
  • UI\Executor::onExecute — Execution Callback
  • UI\Executor::setInterval — Interval Manipulation


Construct a new Executor

  • « UI\Executor
  • UI\Executor::kill »
  • PHP Manual
  • UI\Executor
  • Construct a new Executor

UI\Executor::__construct

(UI 2.0.0)

UI\Executor::__construct — Construct a new Executor

Açıklama

public UI\Executor::__construct()
public UI\Executor::__construct(int $microseconds)
public UI\Executor::__construct(int $seconds, int $microseconds)

Shall construct an executor with the given interval, will not start executing until main loop is entered

Bağımsız Değişkenler

seconds

Seconds between executions

microseconds

Microseconds between executions


Stop Executor

  • « UI\Executor::__construct
  • UI\Executor::onExecute »
  • PHP Manual
  • UI\Executor
  • Stop Executor

UI\Executor::kill

(UI 2.0.0)

UI\Executor::kill — Stop Executor

Açıklama

public UI\Executor::kill(): void

Shall stop an executor, the executor cannot be restarted

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Execution Callback

  • « UI\Executor::kill
  • UI\Executor::setInterval »
  • PHP Manual
  • UI\Executor
  • Execution Callback

UI\Executor::onExecute

(UI 2.0.0)

UI\Executor::onExecute — Execution Callback

Açıklama

abstract protected UI\Executor::onExecute(): void

Shall be repetitively queued for execution in the main thread

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Interval Manipulation

  • « UI\Executor::onExecute
  • UI\Controls\Tab »
  • PHP Manual
  • UI\Executor
  • Interval Manipulation

UI\Executor::setInterval

(UI 2.0.0)

UI\Executor::setInterval — Interval Manipulation

Açıklama

public UI\Executor::setInterval(int $microseconds): bool
public UI\Executor::setInterval(int $seconds, int $microseconds): bool

Shall set the new interval. An interval of 0 will pause the executor until a new interval has been set

Bağımsız Değişkenler

seconds

microseconds

Dönen Değerler

Indication of success


Tab Control

(UI 0.9.9)

Giriş

A Tab can contain many pages of Controls, each with a title, each selectable by the user.

Sınıf Sözdizimi

class UI\Controls\Tab extends UI\Control {
/* Özellikler */
protected $controls;
/* Yöntemler */
public append(string $name, UI\Control $control): int
public delete(int $index): bool
public hasMargin(int $page): bool
public insertAt(string $name, int $page, UI\Control $control)
public pages(): int
public setMargin(int $page, bool $margin)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Özellikler

controls

Contains controls, should not be manipulated directly

İçindekiler

  • UI\Controls\Tab::append — Append Page
  • UI\Controls\Tab::delete — Delete Page
  • UI\Controls\Tab::hasMargin — Margin Detection
  • UI\Controls\Tab::insertAt — Insert Page
  • UI\Controls\Tab::pages — Page Count
  • UI\Controls\Tab::setMargin — Set Margin


Append Page

  • « UI\Controls\Tab
  • UI\Controls\Tab::delete »
  • PHP Manual
  • UI\Controls\Tab
  • Append Page

UI\Controls\Tab::append

(UI 0.9.9)

UI\Controls\Tab::append — Append Page

Açıklama

public UI\Controls\Tab::append(string $name, UI\Control $control): int

Append a new page to this Tab

Bağımsız Değişkenler

name

The name for the new page

control

The control for the new page

Dönen Değerler

Shall return the index of the appended control, may be 0


Delete Page

  • « UI\Controls\Tab::append
  • UI\Controls\Tab::hasMargin »
  • PHP Manual
  • UI\Controls\Tab
  • Delete Page

UI\Controls\Tab::delete

(UI 0.9.9)

UI\Controls\Tab::delete — Delete Page

Açıklama

public UI\Controls\Tab::delete(int $index): bool

Shall remove the selected page from this Tab

Bağımsız Değişkenler

index

The index of the page to remove

Dönen Değerler

Indication of success


Margin Detection

  • « UI\Controls\Tab::delete
  • UI\Controls\Tab::insertAt »
  • PHP Manual
  • UI\Controls\Tab
  • Margin Detection

UI\Controls\Tab::hasMargin

(UI 0.9.9)

UI\Controls\Tab::hasMargin — Margin Detection

Açıklama

public UI\Controls\Tab::hasMargin(int $page): bool

Shall detect if the given page has a margin.

Bağımsız Değişkenler

page

The index of the page

Dönen Değerler


Insert Page

  • « UI\Controls\Tab::hasMargin
  • UI\Controls\Tab::pages »
  • PHP Manual
  • UI\Controls\Tab
  • Insert Page

UI\Controls\Tab::insertAt

(UI 0.9.9)

UI\Controls\Tab::insertAt — Insert Page

Açıklama

public UI\Controls\Tab::insertAt(string $name, int $page, UI\Control $control)

Shall insert a new page into this Tab

Bağımsız Değişkenler

name

The name for the new page

page

The index to perform the insertion before

control

The control for the new page


Page Count

  • « UI\Controls\Tab::insertAt
  • UI\Controls\Tab::setMargin »
  • PHP Manual
  • UI\Controls\Tab
  • Page Count

UI\Controls\Tab::pages

(UI 0.9.9)

UI\Controls\Tab::pages — Page Count

Açıklama

public UI\Controls\Tab::pages(): int

Shall return the number of pages in this Tab

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The number of pages in this Tab


Set Margin

  • « UI\Controls\Tab::pages
  • UI\Controls\Check »
  • PHP Manual
  • UI\Controls\Tab
  • Set Margin

UI\Controls\Tab::setMargin

(UI 0.9.9)

UI\Controls\Tab::setMargin — Set Margin

Açıklama

public UI\Controls\Tab::setMargin(int $page, bool $margin)

Shall enable or disable margins on the selected page

Bağımsız Değişkenler

page

The page to select

margin

Margin switch


Check Control

(UI 0.9.9)

Giriş

A Check is a labelled checkable box

Sınıf Sözdizimi

class UI\Controls\Check extends UI\Control {
/* Constructor */
public __construct(string $text)
/* Yöntemler */
public getText(): string
public isChecked(): bool
protected onToggle()
public setChecked(bool $checked)
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Check::__construct — Construct a new Check
  • UI\Controls\Check::getText — Get Text
  • UI\Controls\Check::isChecked — Checked Detection
  • UI\Controls\Check::onToggle — Toggle Callback
  • UI\Controls\Check::setChecked — Set Checked
  • UI\Controls\Check::setText — Set Text


Construct a new Check

  • « UI\Controls\Check
  • UI\Controls\Check::getText »
  • PHP Manual
  • UI\Controls\Check
  • Construct a new Check

UI\Controls\Check::__construct

(UI 0.9.9)

UI\Controls\Check::__construct — Construct a new Check

Açıklama

public UI\Controls\Check::__construct(string $text)

Shall construct a new Check

Bağımsız Değişkenler

text

The text (label) for the Check box


Get Text

  • « UI\Controls\Check::__construct
  • UI\Controls\Check::isChecked »
  • PHP Manual
  • UI\Controls\Check
  • Get Text

UI\Controls\Check::getText

(UI 0.9.9)

UI\Controls\Check::getText — Get Text

Açıklama

public UI\Controls\Check::getText(): string

Shall return the text (label) for this Check

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current text (label)


Checked Detection

  • « UI\Controls\Check::getText
  • UI\Controls\Check::onToggle »
  • PHP Manual
  • UI\Controls\Check
  • Checked Detection

UI\Controls\Check::isChecked

(UI 0.9.9)

UI\Controls\Check::isChecked — Checked Detection

Açıklama

public UI\Controls\Check::isChecked(): bool

Shall detect the status of this Check

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Toggle Callback

  • « UI\Controls\Check::isChecked
  • UI\Controls\Check::setChecked »
  • PHP Manual
  • UI\Controls\Check
  • Toggle Callback

UI\Controls\Check::onToggle

(UI 0.9.9)

UI\Controls\Check::onToggle — Toggle Callback

Açıklama

protected UI\Controls\Check::onToggle()

Shall be executed when the status of this Check is changed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Checked

  • « UI\Controls\Check::onToggle
  • UI\Controls\Check::setText »
  • PHP Manual
  • UI\Controls\Check
  • Set Checked

UI\Controls\Check::setChecked

(UI 0.9.9)

UI\Controls\Check::setChecked — Set Checked

Açıklama

public UI\Controls\Check::setChecked(bool $checked)

Shall change the status of this Check

Bağımsız Değişkenler

checked

The new status


Set Text

  • « UI\Controls\Check::setChecked
  • UI\Controls\Button »
  • PHP Manual
  • UI\Controls\Check
  • Set Text

UI\Controls\Check::setText

(UI 0.9.9)

UI\Controls\Check::setText — Set Text

Açıklama

public UI\Controls\Check::setText(string $text)

Shall set the text (label) for this Check

Bağımsız Değişkenler

text

The new text (label)


Button Control

(UI 0.9.9)

Giriş

Represents a labelled clickable button

Sınıf Sözdizimi

class UI\Controls\Button extends UI\Control {
/* Constructor */
public __construct(string $text)
/* Yöntemler */
public getText(): string
protected onClick()
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Button::__construct — Construct a new Button
  • UI\Controls\Button::getText — Get Text
  • UI\Controls\Button::onClick — Click Handler
  • UI\Controls\Button::setText — Set Text


Construct a new Button

  • « UI\Controls\Button
  • UI\Controls\Button::getText »
  • PHP Manual
  • UI\Controls\Button
  • Construct a new Button

UI\Controls\Button::__construct

(UI 0.9.9)

UI\Controls\Button::__construct — Construct a new Button

Açıklama

public UI\Controls\Button::__construct(string $text)

Shall construct a new Button

Bağımsız Değişkenler

text

The text (label) for this Button


Get Text

  • « UI\Controls\Button::__construct
  • UI\Controls\Button::onClick »
  • PHP Manual
  • UI\Controls\Button
  • Get Text

UI\Controls\Button::getText

(UI 0.9.9)

UI\Controls\Button::getText — Get Text

Açıklama

public UI\Controls\Button::getText(): string

Shall retrieve the text (label) for this Button

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current text (label)


Click Handler

  • « UI\Controls\Button::getText
  • UI\Controls\Button::setText »
  • PHP Manual
  • UI\Controls\Button
  • Click Handler

UI\Controls\Button::onClick

(UI 0.9.9)

UI\Controls\Button::onClick — Click Handler

Açıklama

protected UI\Controls\Button::onClick()

Shall be executed when this Button is clicked

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Text

  • « UI\Controls\Button::onClick
  • UI\Controls\ColorButton »
  • PHP Manual
  • UI\Controls\Button
  • Set Text

UI\Controls\Button::setText

(UI 0.9.9)

UI\Controls\Button::setText — Set Text

Açıklama

public UI\Controls\Button::setText(string $text)

Shall set the text (label) for this Button

Bağımsız Değişkenler

text

The new text (label)


ColorButton Control

(UI 0.9.9)

Giriş

A Color Button is a button which displays a color picker when clicked

Sınıf Sözdizimi

class UI\Controls\ColorButton extends UI\Control {
/* Yöntemler */
public getColor(): UI\Color
protected onChange()
public setColor(UI\Draw\Color $color)
public setColor(int $color)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\ColorButton::getColor — Get Color
  • UI\Controls\ColorButton::onChange — Change Handler
  • UI\Controls\ColorButton::setColor — Set Color


Get Color

  • « UI\Controls\ColorButton
  • UI\Controls\ColorButton::onChange »
  • PHP Manual
  • UI\Controls\ColorButton
  • Get Color

UI\Controls\ColorButton::getColor

(UI 0.9.9)

UI\Controls\ColorButton::getColor — Get Color

Açıklama

public UI\Controls\ColorButton::getColor(): UI\Color

Shall retrieve the currently selected Color

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Change Handler

  • « UI\Controls\ColorButton::getColor
  • UI\Controls\ColorButton::setColor »
  • PHP Manual
  • UI\Controls\ColorButton
  • Change Handler

UI\Controls\ColorButton::onChange

(UI 0.9.9)

UI\Controls\ColorButton::onChange — Change Handler

Açıklama

protected UI\Controls\ColorButton::onChange()

Shall be executed when the selected Color is changed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Color

  • « UI\Controls\ColorButton::onChange
  • UI\Controls\Label »
  • PHP Manual
  • UI\Controls\ColorButton
  • Set Color

UI\Controls\ColorButton::setColor

(UI 0.9.9)

UI\Controls\ColorButton::setColor — Set Color

Açıklama

public UI\Controls\ColorButton::setColor(UI\Draw\Color $color)
public UI\Controls\ColorButton::setColor(int $color)

Shall set the currently selected Color

Bağımsız Değişkenler

color

The new color


Label Control

(UI 0.9.9)

Giriş

A Label is a single line of text, meant to identify, for the user, some element of the interface.

Sınıf Sözdizimi

class UI\Controls\Label extends UI\Control {
/* Constructor */
public __construct(string $text)
/* Yöntemler */
public getText(): string
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Label::__construct — Construct a new Label
  • UI\Controls\Label::getText — Get Text
  • UI\Controls\Label::setText — Set Text


Construct a new Label

  • « UI\Controls\Label
  • UI\Controls\Label::getText »
  • PHP Manual
  • UI\Controls\Label
  • Construct a new Label

UI\Controls\Label::__construct

(UI 0.9.9)

UI\Controls\Label::__construct — Construct a new Label

Açıklama

public UI\Controls\Label::__construct(string $text)

Shall construct a new Label

Bağımsız Değişkenler

text

The text for this label


Get Text

  • « UI\Controls\Label::__construct
  • UI\Controls\Label::setText »
  • PHP Manual
  • UI\Controls\Label
  • Get Text

UI\Controls\Label::getText

(UI 0.9.9)

UI\Controls\Label::getText — Get Text

Açıklama

public UI\Controls\Label::getText(): string

Shall return the current text for this Label

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Set Text

  • « UI\Controls\Label::getText
  • UI\Controls\Entry »
  • PHP Manual
  • UI\Controls\Label
  • Set Text

UI\Controls\Label::setText

(UI 0.9.9)

UI\Controls\Label::setText — Set Text

Açıklama

public UI\Controls\Label::setText(string $text)

Shall set the text for this Label

Bağımsız Değişkenler

text

The new text


Entry Control

(UI 0.9.9)

Giriş

An Entry is a text entry control, suitable for entering plain text, passwords, or search terms.

Sınıf Sözdizimi

class UI\Controls\Entry extends UI\Control {
/* Sabitler */
const int Normal;
const int Password;
const int Search;
/* Constructor */
public __construct(int $type = UI\Controls\Entry::Normal)
/* Yöntemler */
public getText(): string
public isReadOnly(): bool
protected onChange()
public setReadOnly(bool $readOnly)
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Controls\Entry::Normal

A normal single line entry

UI\Controls\Entry::Password

A password entry

UI\Controls\Entry::Search

A search entry

İçindekiler

  • UI\Controls\Entry::__construct — Construct a new Entry
  • UI\Controls\Entry::getText — Get Text
  • UI\Controls\Entry::isReadOnly — Detect Read Only
  • UI\Controls\Entry::onChange — Change Handler
  • UI\Controls\Entry::setReadOnly — Set Read Only
  • UI\Controls\Entry::setText — Set Text


Construct a new Entry

  • « UI\Controls\Entry
  • UI\Controls\Entry::getText »
  • PHP Manual
  • UI\Controls\Entry
  • Construct a new Entry

UI\Controls\Entry::__construct

(UI 0.9.9)

UI\Controls\Entry::__construct — Construct a new Entry

Açıklama

public UI\Controls\Entry::__construct(int $type = UI\Controls\Entry::Normal)

Construct a new entry of the given type

Bağımsız Değişkenler

type

Entry::Normal, Entry::Password, or Entry::Search


Get Text

  • « UI\Controls\Entry::__construct
  • UI\Controls\Entry::isReadOnly »
  • PHP Manual
  • UI\Controls\Entry
  • Get Text

UI\Controls\Entry::getText

(UI 0.9.9)

UI\Controls\Entry::getText — Get Text

Açıklama

public UI\Controls\Entry::getText(): string

Shall return the current text from this Entry

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current text


Detect Read Only

  • « UI\Controls\Entry::getText
  • UI\Controls\Entry::onChange »
  • PHP Manual
  • UI\Controls\Entry
  • Detect Read Only

UI\Controls\Entry::isReadOnly

(UI 0.9.9)

UI\Controls\Entry::isReadOnly — Detect Read Only

Açıklama

public UI\Controls\Entry::isReadOnly(): bool

Shall detect if this Entry is read only

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Change Handler

  • « UI\Controls\Entry::isReadOnly
  • UI\Controls\Entry::setReadOnly »
  • PHP Manual
  • UI\Controls\Entry
  • Change Handler

UI\Controls\Entry::onChange

(UI 0.9.9)

UI\Controls\Entry::onChange — Change Handler

Açıklama

protected UI\Controls\Entry::onChange()

Shall be executed when the text in this Entry changes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Read Only

  • « UI\Controls\Entry::onChange
  • UI\Controls\Entry::setText »
  • PHP Manual
  • UI\Controls\Entry
  • Set Read Only

UI\Controls\Entry::setReadOnly

(UI 0.9.9)

UI\Controls\Entry::setReadOnly — Set Read Only

Açıklama

public UI\Controls\Entry::setReadOnly(bool $readOnly)

Shall enable or disable read only for this Entry

Bağımsız Değişkenler

readOnly


Set Text

  • « UI\Controls\Entry::setReadOnly
  • UI\Controls\MultilineEntry »
  • PHP Manual
  • UI\Controls\Entry
  • Set Text

UI\Controls\Entry::setText

(UI 0.9.9)

UI\Controls\Entry::setText — Set Text

Açıklama

public UI\Controls\Entry::setText(string $text)

Shall set the text for this Entry

Bağımsız Değişkenler

text

The new text


MultilineEntry Control

(UI 0.9.9)

Giriş

A Multiline Entry is a text entry control able to hold multiple lines of text, with or without wrapping.

Sınıf Sözdizimi

class UI\Controls\MultilineEntry extends UI\Control {
/* Sabitler */
const int Wrap;
const int NoWrap;
/* Constructor */
public __construct(int $type = ?)
/* Yöntemler */
public append(string $text)
public getText(): string
public isReadOnly(): bool
protected onChange()
public setReadOnly(bool $readOnly)
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Controls\MultilineEntry::Wrap

Allow lines to wrap

UI\Controls\MultilineEntry::NoWrap

Do not allow lines to wrap

İçindekiler

  • UI\Controls\MultilineEntry::append — Append Text
  • UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry
  • UI\Controls\MultilineEntry::getText — Get Text
  • UI\Controls\MultilineEntry::isReadOnly — Read Only Detection
  • UI\Controls\MultilineEntry::onChange — Change Handler
  • UI\Controls\MultilineEntry::setReadOnly — Set Read Only
  • UI\Controls\MultilineEntry::setText — Set Text


Append Text

  • « UI\Controls\MultilineEntry
  • UI\Controls\MultilineEntry::__construct »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Append Text

UI\Controls\MultilineEntry::append

(UI 0.9.9)

UI\Controls\MultilineEntry::append — Append Text

Açıklama

public UI\Controls\MultilineEntry::append(string $text)

Shall append the given text to the text in this Multiline Entry

Bağımsız Değişkenler

text

The text to append


Construct a new Multiline Entry

  • « UI\Controls\MultilineEntry::append
  • UI\Controls\MultilineEntry::getText »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Construct a new Multiline Entry

UI\Controls\MultilineEntry::__construct

(UI 0.9.9)

UI\Controls\MultilineEntry::__construct — Construct a new Multiline Entry

Açıklama

public UI\Controls\MultilineEntry::__construct(int $type = ?)

Shall construct a new Multiline Entry of the given type

Bağımsız Değişkenler

type

MultilineEntry::Wrap or MultilineEntry::NoWrap


Get Text

  • « UI\Controls\MultilineEntry::__construct
  • UI\Controls\MultilineEntry::isReadOnly »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Get Text

UI\Controls\MultilineEntry::getText

(UI 0.9.9)

UI\Controls\MultilineEntry::getText — Get Text

Açıklama

public UI\Controls\MultilineEntry::getText(): string

Shall return the text in this Multiline Entry

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Read Only Detection

  • « UI\Controls\MultilineEntry::getText
  • UI\Controls\MultilineEntry::onChange »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Read Only Detection

UI\Controls\MultilineEntry::isReadOnly

(UI 0.9.9)

UI\Controls\MultilineEntry::isReadOnly — Read Only Detection

Açıklama

public UI\Controls\MultilineEntry::isReadOnly(): bool

Shall detect if this Multiline Entry is read only

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Change Handler

  • « UI\Controls\MultilineEntry::isReadOnly
  • UI\Controls\MultilineEntry::setReadOnly »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Change Handler

UI\Controls\MultilineEntry::onChange

(UI 0.9.9)

UI\Controls\MultilineEntry::onChange — Change Handler

Açıklama

protected UI\Controls\MultilineEntry::onChange()

Shall be executed when the text in this Multiline Entry is changed

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Read Only

  • « UI\Controls\MultilineEntry::onChange
  • UI\Controls\MultilineEntry::setText »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Set Read Only

UI\Controls\MultilineEntry::setReadOnly

(UI 0.9.9)

UI\Controls\MultilineEntry::setReadOnly — Set Read Only

Açıklama

public UI\Controls\MultilineEntry::setReadOnly(bool $readOnly)

Shall enable or disable read only on this Multiline Entry

Bağımsız Değişkenler

readOnly


Set Text

  • « UI\Controls\MultilineEntry::setReadOnly
  • UI\Controls\Spin »
  • PHP Manual
  • UI\Controls\MultilineEntry
  • Set Text

UI\Controls\MultilineEntry::setText

(UI 0.9.9)

UI\Controls\MultilineEntry::setText — Set Text

Açıklama

public UI\Controls\MultilineEntry::setText(string $text)

Shall set the text in this Multiline Entry

Bağımsız Değişkenler

text

The new text


Spin Control

(UI 0.9.9)

Giriş

A Spin box is a text box with an up-down control which changes the integer value in the box, within a defined range

Sınıf Sözdizimi

class UI\Controls\Spin extends UI\Control {
/* Constructor */
public __construct(int $min, int $max)
/* Yöntemler */
public getValue(): int
protected onChange()
public setValue(int $value)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Spin::__construct — Construct a new Spin
  • UI\Controls\Spin::getValue — Get Value
  • UI\Controls\Spin::onChange — Change Handler
  • UI\Controls\Spin::setValue — Set Value


Construct a new Spin

  • « UI\Controls\Spin
  • UI\Controls\Spin::getValue »
  • PHP Manual
  • UI\Controls\Spin
  • Construct a new Spin

UI\Controls\Spin::__construct

(UI 0.9.9)

UI\Controls\Spin::__construct — Construct a new Spin

Açıklama

public UI\Controls\Spin::__construct(int $min, int $max)

Constructs a new Spin with the given range

Bağımsız Değişkenler

min

The minimum value allowed

max

The maximum value allowed


Get Value

  • « UI\Controls\Spin::__construct
  • UI\Controls\Spin::onChange »
  • PHP Manual
  • UI\Controls\Spin
  • Get Value

UI\Controls\Spin::getValue

(UI 0.9.9)

UI\Controls\Spin::getValue — Get Value

Açıklama

public UI\Controls\Spin::getValue(): int

Get the value in this Spin

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Change Handler

  • « UI\Controls\Spin::getValue
  • UI\Controls\Spin::setValue »
  • PHP Manual
  • UI\Controls\Spin
  • Change Handler

UI\Controls\Spin::onChange

(UI 0.9.9)

UI\Controls\Spin::onChange — Change Handler

Açıklama

protected UI\Controls\Spin::onChange()

Shall be executed when the value in this Spin changes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Value

  • « UI\Controls\Spin::onChange
  • UI\Controls\Slider »
  • PHP Manual
  • UI\Controls\Spin
  • Set Value

UI\Controls\Spin::setValue

(UI 0.9.9)

UI\Controls\Spin::setValue — Set Value

Açıklama

public UI\Controls\Spin::setValue(int $value)

Set the value in this Spin

Bağımsız Değişkenler

value

The new value


Slider Control

(UI 0.9.9)

Giriş

A Slider is a control which represents a range, and a current value in the range. The sliding element of the control (sometimes called the "thumb") reflects the value, and can be adjusted within the range.

Sınıf Sözdizimi

class UI\Controls\Slider extends UI\Control {
/* Constructor */
public __construct(int $min, int $max)
/* Yöntemler */
public getValue(): int
protected onChange()
public setValue(int $value)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Slider::__construct — Construct a new Slider
  • UI\Controls\Slider::getValue — Get Value
  • UI\Controls\Slider::onChange — Change Handler
  • UI\Controls\Slider::setValue — Set Value


Construct a new Slider

  • « UI\Controls\Slider
  • UI\Controls\Slider::getValue »
  • PHP Manual
  • UI\Controls\Slider
  • Construct a new Slider

UI\Controls\Slider::__construct

(UI 0.9.9)

UI\Controls\Slider::__construct — Construct a new Slider

Açıklama

public UI\Controls\Slider::__construct(int $min, int $max)

Construct a new Slider with the given range

Bağımsız Değişkenler

min

The minimum allowed value

max

The maximum allowed value


Get Value

  • « UI\Controls\Slider::__construct
  • UI\Controls\Slider::onChange »
  • PHP Manual
  • UI\Controls\Slider
  • Get Value

UI\Controls\Slider::getValue

(UI 0.9.9)

UI\Controls\Slider::getValue — Get Value

Açıklama

public UI\Controls\Slider::getValue(): int

Get the value from this Slider

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Change Handler

  • « UI\Controls\Slider::getValue
  • UI\Controls\Slider::setValue »
  • PHP Manual
  • UI\Controls\Slider
  • Change Handler

UI\Controls\Slider::onChange

(UI 0.9.9)

UI\Controls\Slider::onChange — Change Handler

Açıklama

protected UI\Controls\Slider::onChange()

Shall be executed when the value of this Slider changes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Value

  • « UI\Controls\Slider::onChange
  • UI\Controls\Progress »
  • PHP Manual
  • UI\Controls\Slider
  • Set Value

UI\Controls\Slider::setValue

(UI 0.9.9)

UI\Controls\Slider::setValue — Set Value

Açıklama

public UI\Controls\Slider::setValue(int $value)

Shall set the value for this Slider

Bağımsız Değişkenler

value

The new value


Progress Control

(UI 0.9.9)

Giriş

A Progress control is a familiar Progress bar: It represents progress as a percentage, with a possible range of 0 to 100 (inclusive).

Sınıf Sözdizimi

class UI\Controls\Progress extends UI\Control {
/* Yöntemler */
public getValue(): int
public setValue(int $value)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Progress::getValue — Get Value
  • UI\Controls\Progress::setValue — Set Value


Get Value

  • « UI\Controls\Progress
  • UI\Controls\Progress::setValue »
  • PHP Manual
  • UI\Controls\Progress
  • Get Value

UI\Controls\Progress::getValue

(UI 0.9.9)

UI\Controls\Progress::getValue — Get Value

Açıklama

public UI\Controls\Progress::getValue(): int

Shall retrieve the current value of this Progress bar

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Value

  • « UI\Controls\Progress::getValue
  • UI\Controls\Separator »
  • PHP Manual
  • UI\Controls\Progress
  • Set Value

UI\Controls\Progress::setValue

(UI 0.9.9)

UI\Controls\Progress::setValue — Set Value

Açıklama

public UI\Controls\Progress::setValue(int $value)

Shall set the value for this Progress bar

Bağımsız Değişkenler

value

An integer between 0 and 100 (inclusive)


Control Separator

(UI 0.9.9)

Giriş

A Separator represents a control separator, it has no other function.

Sınıf Sözdizimi

class UI\Controls\Separator extends UI\Control {
/* Sabitler */
const int Horizontal;
const int Vertical;
/* Constructor */
public __construct(int $type = UI\Controls\Separator::Horizontal)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Controls\Separator::Horizontal

A Horizontal Separator

UI\Controls\Separator::Vertical

A Vertical Separator

İçindekiler

  • UI\Controls\Separator::__construct — Construct a new Separator


Construct a new Separator

  • « UI\Controls\Separator
  • UI\Controls\Combo »
  • PHP Manual
  • UI\Controls\Separator
  • Construct a new Separator

UI\Controls\Separator::__construct

(UI 0.9.9)

UI\Controls\Separator::__construct — Construct a new Separator

Açıklama

public UI\Controls\Separator::__construct(int $type = UI\Controls\Separator::Horizontal)

Shall construct a new Separator of the given type

Bağımsız Değişkenler

type

Separator::Horizonal or Separator::Vertical


Combo Control

(UI 0.9.9)

Giriş

A Combo control represents a list of options, like the familiar select HTML element.

Sınıf Sözdizimi

class UI\Controls\Combo extends UI\Control {
/* Yöntemler */
public append(string $text)
public getSelected(): int
protected onSelected()
public setSelected(int $index)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Combo::append — Append Option
  • UI\Controls\Combo::getSelected — Get Selected Option
  • UI\Controls\Combo::onSelected — Selected Handler
  • UI\Controls\Combo::setSelected — Set Selected Option


Append Option

  • « UI\Controls\Combo
  • UI\Controls\Combo::getSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Append Option

UI\Controls\Combo::append

(UI 0.9.9)

UI\Controls\Combo::append — Append Option

Açıklama

public UI\Controls\Combo::append(string $text)

Append an option to this Combo

Bağımsız Değişkenler

text

The text for the new option


Get Selected Option

  • « UI\Controls\Combo::append
  • UI\Controls\Combo::onSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Get Selected Option

UI\Controls\Combo::getSelected

(UI 0.9.9)

UI\Controls\Combo::getSelected — Get Selected Option

Açıklama

public UI\Controls\Combo::getSelected(): int

Shall retrieve the index of the option selected in this Combo

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Selected Handler

  • « UI\Controls\Combo::getSelected
  • UI\Controls\Combo::setSelected »
  • PHP Manual
  • UI\Controls\Combo
  • Selected Handler

UI\Controls\Combo::onSelected

(UI 0.9.9)

UI\Controls\Combo::onSelected — Selected Handler

Açıklama

protected UI\Controls\Combo::onSelected()

Shall be executed when an option is selected in this Combo

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Selected Option

  • « UI\Controls\Combo::onSelected
  • UI\Controls\EditableCombo »
  • PHP Manual
  • UI\Controls\Combo
  • Set Selected Option

UI\Controls\Combo::setSelected

(UI 0.9.9)

UI\Controls\Combo::setSelected — Set Selected Option

Açıklama

public UI\Controls\Combo::setSelected(int $index)

Shall set the currently selected option in this Combo

Bağımsız Değişkenler

index

The index of the option to select


EdiableCombo Control

(UI 0.9.9)

Giriş

An Editable Combo is a Combo which allows the user to enter custom options

Sınıf Sözdizimi

class UI\Controls\EditableCombo extends UI\Control {
/* Yöntemler */
public append(string $text)
public getText(): string
protected onChange()
public setText(string $text)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\EditableCombo::append — Append Option
  • UI\Controls\EditableCombo::getText — Get Text
  • UI\Controls\EditableCombo::onChange — Change Handler
  • UI\Controls\EditableCombo::setText — Set Text


Append Option

  • « UI\Controls\EditableCombo
  • UI\Controls\EditableCombo::getText »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Append Option

UI\Controls\EditableCombo::append

(UI 0.9.9)

UI\Controls\EditableCombo::append — Append Option

Açıklama

public UI\Controls\EditableCombo::append(string $text)

Shall append a new option to this Editable Combo

Bağımsız Değişkenler

text

The text for the new option


Get Text

  • « UI\Controls\EditableCombo::append
  • UI\Controls\EditableCombo::onChange »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Get Text

UI\Controls\EditableCombo::getText

(UI 0.9.9)

UI\Controls\EditableCombo::getText — Get Text

Açıklama

public UI\Controls\EditableCombo::getText(): string

Get the value of the currently selected option in this Editable Combo

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Change Handler

  • « UI\Controls\EditableCombo::getText
  • UI\Controls\EditableCombo::setText »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Change Handler

UI\Controls\EditableCombo::onChange

(UI 0.9.9)

UI\Controls\EditableCombo::onChange — Change Handler

Açıklama

protected UI\Controls\EditableCombo::onChange()

Shall be executed when the value of this Editable Combobox changes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Text

  • « UI\Controls\EditableCombo::onChange
  • UI\Controls\Radio »
  • PHP Manual
  • UI\Controls\EditableCombo
  • Set Text

UI\Controls\EditableCombo::setText

(UI 0.9.9)

UI\Controls\EditableCombo::setText — Set Text

Açıklama

public UI\Controls\EditableCombo::setText(string $text)

Shall set the text of the currently selected option in this Editable Combo

Bağımsız Değişkenler

text

The new text


Radio Control

(UI 0.9.9)

Giriş

A Radio is similar to the radio input type familiar from HTML

Sınıf Sözdizimi

class UI\Controls\Radio extends UI\Control {
/* Yöntemler */
public append(string $text)
public getSelected(): int
protected onSelected()
public setSelected(int $index)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

İçindekiler

  • UI\Controls\Radio::append — Append Option
  • UI\Controls\Radio::getSelected — Get Selected Option
  • UI\Controls\Radio::onSelected — Selected Handler
  • UI\Controls\Radio::setSelected — Set Selected Option


Append Option

  • « UI\Controls\Radio
  • UI\Controls\Radio::getSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Append Option

UI\Controls\Radio::append

(UI 0.9.9)

UI\Controls\Radio::append — Append Option

Açıklama

public UI\Controls\Radio::append(string $text)

Shall append a new option to this Radio

Bağımsız Değişkenler

text

The text (label) for the option


Get Selected Option

  • « UI\Controls\Radio::append
  • UI\Controls\Radio::onSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Get Selected Option

UI\Controls\Radio::getSelected

(UI 0.9.9)

UI\Controls\Radio::getSelected — Get Selected Option

Açıklama

public UI\Controls\Radio::getSelected(): int

Shall retrieve the index of the currently selected option in this Radio

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Selected Handler

  • « UI\Controls\Radio::getSelected
  • UI\Controls\Radio::setSelected »
  • PHP Manual
  • UI\Controls\Radio
  • Selected Handler

UI\Controls\Radio::onSelected

(UI 0.9.9)

UI\Controls\Radio::onSelected — Selected Handler

Açıklama

protected UI\Controls\Radio::onSelected()

Shall be executed when the option selected in this Radio changes

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Selected Option

  • « UI\Controls\Radio::onSelected
  • UI\Controls\Picker »
  • PHP Manual
  • UI\Controls\Radio
  • Set Selected Option

UI\Controls\Radio::setSelected

(UI 0.9.9)

UI\Controls\Radio::setSelected — Set Selected Option

Açıklama

public UI\Controls\Radio::setSelected(int $index)

Shall set the currently selected option in this Radio

Bağımsız Değişkenler

index

The index of the option to select


Picker Control

(UI 0.9.9)

Giriş

A Picker represents a button which when clicked presents a native Date/Time/DateTime Picker interface to the user.

Sınıf Sözdizimi

class UI\Controls\Picker extends UI\Control {
/* Sabitler */
const int Date;
const int Time;
const int DateTime;
/* Constructor */
public __construct(int $type = UI\Controls\Picker::Date)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Controls\Picker::Date

A Date Picker

UI\Controls\Picker::Time

A Time Picker

UI\Controls\Picker::DateTime

A Date and Time Picker

İçindekiler

  • UI\Controls\Picker::__construct — Construct a new Picker


Construct a new Picker

  • « UI\Controls\Picker
  • UI\Controls\Form »
  • PHP Manual
  • UI\Controls\Picker
  • Construct a new Picker

UI\Controls\Picker::__construct

(UI 0.9.9)

UI\Controls\Picker::__construct — Construct a new Picker

Açıklama

public UI\Controls\Picker::__construct(int $type = UI\Controls\Picker::Date)

Construct a new Picker of the given type

Bağımsız Değişkenler

type

Picker::Date, Picker::Time, or Picker::DateTime


Control Form (Arrangement)

(UI 0.9.9)

Giriş

A Form is a control which allows the arrangement of other controls into a familiar layout (the form).

Sınıf Sözdizimi

class UI\Controls\Form extends UI\Control {
/* Özellikler */
protected $controls;
/* Yöntemler */
public append(string $label, UI\Control $control, bool $stretchy = false): int
public delete(int $index): bool
public isPadded(): bool
public setPadded(bool $padded)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Özellikler

controls

Contains controls, should not be manipulated directly

İçindekiler

  • UI\Controls\Form::append — Append Control
  • UI\Controls\Form::delete — Delete Control
  • UI\Controls\Form::isPadded — Padding Detection
  • UI\Controls\Form::setPadded — Set Padding


Append Control

  • « UI\Controls\Form
  • UI\Controls\Form::delete »
  • PHP Manual
  • UI\Controls\Form
  • Append Control

UI\Controls\Form::append

(UI 0.9.9)

UI\Controls\Form::append — Append Control

Açıklama

public UI\Controls\Form::append(string $label, UI\Control $control, bool $stretchy = false): int

Shall append the control to the form, and set the label

Bağımsız Değişkenler

label

The text for the label

control

A control

stretchy

Should be set true to stretch the control

Dönen Değerler

Shall return the index of the appended control, may be 0


Delete Control

  • « UI\Controls\Form::append
  • UI\Controls\Form::isPadded »
  • PHP Manual
  • UI\Controls\Form
  • Delete Control

UI\Controls\Form::delete

(UI 0.9.9)

UI\Controls\Form::delete — Delete Control

Açıklama

public UI\Controls\Form::delete(int $index): bool

Shall delete the control at the given index in this Form

Bağımsız Değişkenler

index

The index of the control to remove

Dönen Değerler

Indication of succcess


Padding Detection

  • « UI\Controls\Form::delete
  • UI\Controls\Form::setPadded »
  • PHP Manual
  • UI\Controls\Form
  • Padding Detection

UI\Controls\Form::isPadded

(UI 0.9.9)

UI\Controls\Form::isPadded — Padding Detection

Açıklama

public UI\Controls\Form::isPadded(): bool

Shall detect if padding is enabled on this Form

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Padding

  • « UI\Controls\Form::isPadded
  • UI\Controls\Grid »
  • PHP Manual
  • UI\Controls\Form
  • Set Padding

UI\Controls\Form::setPadded

(UI 0.9.9)

UI\Controls\Form::setPadded — Set Padding

Açıklama

public UI\Controls\Form::setPadded(bool $padded)

Shall enable or disable padding on this Form

Bağımsız Değişkenler

padded


Control Grid (Arrangement)

(UI 0.9.9)

Giriş

A Grid is a control which is allows the arrangement of children into a grid

Sınıf Sözdizimi

class UI\Controls\Grid extends UI\Control {
/* Sabitler */
const int Fill;
const int Start;
const int Center;
const int End;
const int Leading;
const int Top;
const int Trailing;
const int Bottom;
/* Özellikler */
protected $controls;
/* Yöntemler */
public append(
UI\Control $control,
int $left,
int $top,
int $xspan,
int $yspan,
bool $hexpand,
int $halign,
bool $vexpand,
int $valign
)
public isPadded(): bool
public setPadded(bool $padding)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Öntanımlı Sabitler

UI\Controls\Grid::Fill

UI\Controls\Grid::Start

UI\Controls\Grid::Center

UI\Controls\Grid::End

UI\Controls\Grid::Leading

UI\Controls\Grid::Top

UI\Controls\Grid::Trailing

UI\Controls\Grid::Bottom

Özellikler

controls

Contains controls, should not be manipulated directly

İçindekiler

  • UI\Controls\Grid::append — Append Control
  • UI\Controls\Grid::isPadded — Padding Detection
  • UI\Controls\Grid::setPadded — Set Padding


Append Control

  • « UI\Controls\Grid
  • UI\Controls\Grid::isPadded »
  • PHP Manual
  • UI\Controls\Grid
  • Append Control

UI\Controls\Grid::append

(UI 0.9.9)

UI\Controls\Grid::append — Append Control

Açıklama

public UI\Controls\Grid::append(
UI\Control $control,
int $left,
int $top,
int $xspan,
int $yspan,
bool $hexpand,
int $halign,
bool $vexpand,
int $valign
)

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

control

The Control to append

left

top

xspan

yspan

hexpand

halign

vexpand

valign

Dönen Değerler


Padding Detection

  • « UI\Controls\Grid::append
  • UI\Controls\Grid::setPadded »
  • PHP Manual
  • UI\Controls\Grid
  • Padding Detection

UI\Controls\Grid::isPadded

(UI 0.9.9)

UI\Controls\Grid::isPadded — Padding Detection

Açıklama

public UI\Controls\Grid::isPadded(): bool

Shall detect if padding is enabled on this Grid

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Padding

  • « UI\Controls\Grid::isPadded
  • UI\Controls\Group »
  • PHP Manual
  • UI\Controls\Grid
  • Set Padding

UI\Controls\Grid::setPadded

(UI 0.9.9)

UI\Controls\Grid::setPadded — Set Padding

Açıklama

public UI\Controls\Grid::setPadded(bool $padding)

Shall enable or disable padding for this Grid

Bağımsız Değişkenler

padding


Control Group (Arrangement)

(UI 0.9.9)

Giriş

A Group is a titled container for child controls

Sınıf Sözdizimi

class UI\Controls\Group extends UI\Control {
/* Özellikler */
protected $controls;
/* Constructor */
public __construct(string $title)
/* Yöntemler */
public append(UI\Control $control)
public getTitle(): string
public hasMargin(): bool
public setMargin(bool $margin)
public setTitle(string $title)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Özellikler

controls

Contains controls, should not be manipulated directly

İçindekiler

  • UI\Controls\Group::append — Append Control
  • UI\Controls\Group::__construct — Construct a new Group
  • UI\Controls\Group::getTitle — Get Title
  • UI\Controls\Group::hasMargin — Margin Detection
  • UI\Controls\Group::setMargin — Set Margin
  • UI\Controls\Group::setTitle — Set Title


Append Control

  • « UI\Controls\Group
  • UI\Controls\Group::__construct »
  • PHP Manual
  • UI\Controls\Group
  • Append Control

UI\Controls\Group::append

(Bir sürüm bilgisi bulunamadı; sadece Git'te olabilir.)

UI\Controls\Group::append — Append Control

Açıklama

public UI\Controls\Group::append(UI\Control $control)

Shall append a control to this Group

Bağımsız Değişkenler

control

The control to append


Construct a new Group

  • « UI\Controls\Group::append
  • UI\Controls\Group::getTitle »
  • PHP Manual
  • UI\Controls\Group
  • Construct a new Group

UI\Controls\Group::__construct

(UI 0.9.9)

UI\Controls\Group::__construct — Construct a new Group

Açıklama

public UI\Controls\Group::__construct(string $title)

Shall construct a new Group with the given title

Bağımsız Değişkenler

title

The text for the title label


Get Title

  • « UI\Controls\Group::__construct
  • UI\Controls\Group::hasMargin »
  • PHP Manual
  • UI\Controls\Group
  • Get Title

UI\Controls\Group::getTitle

(UI 0.9.9)

UI\Controls\Group::getTitle — Get Title

Açıklama

public UI\Controls\Group::getTitle(): string

Shall return the current title for this Group

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current title


Margin Detection

  • « UI\Controls\Group::getTitle
  • UI\Controls\Group::setMargin »
  • PHP Manual
  • UI\Controls\Group
  • Margin Detection

UI\Controls\Group::hasMargin

(UI 0.9.9)

UI\Controls\Group::hasMargin — Margin Detection

Açıklama

public UI\Controls\Group::hasMargin(): bool

Shall detect if this Group has a margin

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Margin

  • « UI\Controls\Group::hasMargin
  • UI\Controls\Group::setTitle »
  • PHP Manual
  • UI\Controls\Group
  • Set Margin

UI\Controls\Group::setMargin

(UI 0.9.9)

UI\Controls\Group::setMargin — Set Margin

Açıklama

public UI\Controls\Group::setMargin(bool $margin)

Shall enable or disable margins for this Group

Bağımsız Değişkenler

margin


Set Title

  • « UI\Controls\Group::setMargin
  • UI\Controls\Box »
  • PHP Manual
  • UI\Controls\Group
  • Set Title

UI\Controls\Group::setTitle

(UI 0.9.9)

UI\Controls\Group::setTitle — Set Title

Açıklama

public UI\Controls\Group::setTitle(string $title)

Shall set the title for this Group

Bağımsız Değişkenler

title

The text for the new title


Control Box (Arrangement)

(UI 0.9.9)

Giriş

A Box allows the arrangement of other controls

Sınıf Sözdizimi

class UI\Controls\Box extends UI\Control {
/* Sabitler */
const int Vertical;
const int Horizontal;
/* Özellikler */
protected $controls;
/* Constructor */
public __construct(int $orientation = UI\Controls\Box::Horizontal)
/* Yöntemler */
public append(Control $control, bool $stretchy = false): int
public delete(int $index): bool
public getOrientation(): int
public isPadded(): bool
public setPadded(bool $padded)
/* Miras alınan yöntemler */
public UI\Control::destroy()
public UI\Control::disable()
public UI\Control::enable()
public UI\Control::getParent(): UI\Control
public UI\Control::getTopLevel(): int
public UI\Control::hide()
public UI\Control::isEnabled(): bool
public UI\Control::isVisible(): bool
public UI\Control::setParent(UI\Control $parent)
public UI\Control::show()
}

Özellikler

controls

Contains controls, should not be manipulated directly

Öntanımlı Sabitler

UI\Controls\Box::Vertical

UI\Controls\Box::Horizontal

İçindekiler

  • UI\Controls\Box::append — Append Control
  • UI\Controls\Box::__construct — Construct a new Box
  • UI\Controls\Box::delete — Delete Control
  • UI\Controls\Box::getOrientation — Get Orientation
  • UI\Controls\Box::isPadded — Padding Detection
  • UI\Controls\Box::setPadded — Set Padding


Append Control

  • « UI\Controls\Box
  • UI\Controls\Box::__construct »
  • PHP Manual
  • UI\Controls\Box
  • Append Control

UI\Controls\Box::append

(UI 0.9.9)

UI\Controls\Box::append — Append Control

Açıklama

public UI\Controls\Box::append(Control $control, bool $stretchy = false): int

Shall append the given control to this Box

Bağımsız Değişkenler

control

The control to append

stretchy

Set true to stretch the control

Dönen Değerler

Shall return the index of the appended control, may be 0


Construct a new Box

  • « UI\Controls\Box::append
  • UI\Controls\Box::delete »
  • PHP Manual
  • UI\Controls\Box
  • Construct a new Box

UI\Controls\Box::__construct

(UI 0.9.9)

UI\Controls\Box::__construct — Construct a new Box

Açıklama

public UI\Controls\Box::__construct(int $orientation = UI\Controls\Box::Horizontal)

Shall construct a new box

Bağımsız Değişkenler

orientation

Box::Horizontal or Box::Vertical


Delete Control

  • « UI\Controls\Box::__construct
  • UI\Controls\Box::getOrientation »
  • PHP Manual
  • UI\Controls\Box
  • Delete Control

UI\Controls\Box::delete

(UI 0.9.9)

UI\Controls\Box::delete — Delete Control

Açıklama

public UI\Controls\Box::delete(int $index): bool

Shall delete the control at the given index from this Box

Bağımsız Değişkenler

index

The index of the control to delete

Dönen Değerler

Indication of success


Get Orientation

  • « UI\Controls\Box::delete
  • UI\Controls\Box::isPadded »
  • PHP Manual
  • UI\Controls\Box
  • Get Orientation

UI\Controls\Box::getOrientation

(UI 0.9.9)

UI\Controls\Box::getOrientation — Get Orientation

Açıklama

public UI\Controls\Box::getOrientation(): int

Shall retrieve the orientation of this Box

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Padding Detection

  • « UI\Controls\Box::getOrientation
  • UI\Controls\Box::setPadded »
  • PHP Manual
  • UI\Controls\Box
  • Padding Detection

UI\Controls\Box::isPadded

(UI 0.9.9)

UI\Controls\Box::isPadded — Padding Detection

Açıklama

public UI\Controls\Box::isPadded(): bool

Shall detect if padding is enabled on this Box

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Set Padding

  • « UI\Controls\Box::isPadded
  • UI\Draw\Pen »
  • PHP Manual
  • UI\Controls\Box
  • Set Padding

UI\Controls\Box::setPadded

(UI 0.9.9)

UI\Controls\Box::setPadded — Set Padding

Açıklama

public UI\Controls\Box::setPadded(bool $padded)

Shall enable or disable padding on this Box

Bağımsız Değişkenler

padded


Draw Pen

(UI 0.9.9)

Giriş

The Pen is passed to the Area Draw event handler, it is used for clipping, filling, stroking, and writing to Draw Paths.

Sınıf Sözdizimi

final class UI\Draw\Pen {
/* Yöntemler */
public clip(UI\Draw\Path $path)
public fill(UI\Draw\Path $path, UI\Draw\Brush $with)
public fill(UI\Draw\Path $path, UI\Draw\Color $with)
public fill(UI\Draw\Path $path, int $with)
public restore()
public save()
public stroke(UI\Draw\Path $path, UI\Draw\Brush $with, UI\Draw\Stroke $stroke)
public stroke(UI\Draw\Path $path, UI\Draw\Color $with, UI\Draw\Stroke $stroke)
public stroke(UI\Draw\Path $path, int $with, UI\Draw\Stroke $stroke)
public transform(UI\Draw\Matrix $matrix)
public write(UI\Point $point, UI\Draw\Text\Layout $layout)
}

İçindekiler

  • UI\Draw\Pen::clip — Clip a Path
  • UI\Draw\Pen::fill — Fill a Path
  • UI\Draw\Pen::restore — Restore
  • UI\Draw\Pen::save — Save
  • UI\Draw\Pen::stroke — Stroke a Path
  • UI\Draw\Pen::transform — Matrix Transform
  • UI\Draw\Pen::write — Draw Text at Point


Clip a Path

  • « UI\Draw\Pen
  • UI\Draw\Pen::fill »
  • PHP Manual
  • UI\Draw\Pen
  • Clip a Path

UI\Draw\Pen::clip

(UI 0.9.9)

UI\Draw\Pen::clip — Clip a Path

Açıklama

public UI\Draw\Pen::clip(UI\Draw\Path $path)

Shall clip the given Path

Bağımsız Değişkenler

path

The path to clip


Fill a Path

  • « UI\Draw\Pen::clip
  • UI\Draw\Pen::restore »
  • PHP Manual
  • UI\Draw\Pen
  • Fill a Path

UI\Draw\Pen::fill

(UI 0.9.9)

UI\Draw\Pen::fill — Fill a Path

Açıklama

public UI\Draw\Pen::fill(UI\Draw\Path $path, UI\Draw\Brush $with)
public UI\Draw\Pen::fill(UI\Draw\Path $path, UI\Draw\Color $with)
public UI\Draw\Pen::fill(UI\Draw\Path $path, int $with)

Shall fill the given path

Bağımsız Değişkenler

path

The path to fill

with

The color or brush to fill with


Restore

  • « UI\Draw\Pen::fill
  • UI\Draw\Pen::save »
  • PHP Manual
  • UI\Draw\Pen
  • Restore

UI\Draw\Pen::restore

(UI 0.9.9)

UI\Draw\Pen::restore — Restore

Açıklama

public UI\Draw\Pen::restore()

Shall restore a previously saved Pen

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Save

  • « UI\Draw\Pen::restore
  • UI\Draw\Pen::stroke »
  • PHP Manual
  • UI\Draw\Pen
  • Save

UI\Draw\Pen::save

(UI 0.9.9)

UI\Draw\Pen::save — Save

Açıklama

public UI\Draw\Pen::save()

Shall save the Pen

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Stroke a Path

  • « UI\Draw\Pen::save
  • UI\Draw\Pen::transform »
  • PHP Manual
  • UI\Draw\Pen
  • Stroke a Path

UI\Draw\Pen::stroke

(UI 0.9.9)

UI\Draw\Pen::stroke — Stroke a Path

Açıklama

public UI\Draw\Pen::stroke(UI\Draw\Path $path, UI\Draw\Brush $with, UI\Draw\Stroke $stroke)
public UI\Draw\Pen::stroke(UI\Draw\Path $path, UI\Draw\Color $with, UI\Draw\Stroke $stroke)
public UI\Draw\Pen::stroke(UI\Draw\Path $path, int $with, UI\Draw\Stroke $stroke)

Shall stroke the given path

Bağımsız Değişkenler

path

The path to stroke

with

The color or brush to stroke with

stroke

The configuration of the stroke


Matrix Transform

  • « UI\Draw\Pen::stroke
  • UI\Draw\Pen::write »
  • PHP Manual
  • UI\Draw\Pen
  • Matrix Transform

UI\Draw\Pen::transform

(UI 0.9.9)

UI\Draw\Pen::transform — Matrix Transform

Açıklama

public UI\Draw\Pen::transform(UI\Draw\Matrix $matrix)

Shall perform matrix transformation

Bağımsız Değişkenler

matrix

The matrix to use


Draw Text at Point

  • « UI\Draw\Pen::transform
  • UI\Draw\Path »
  • PHP Manual
  • UI\Draw\Pen
  • Draw Text at Point

UI\Draw\Pen::write

(UI 0.9.9)

UI\Draw\Pen::write — Draw Text at Point

Açıklama

public UI\Draw\Pen::write(UI\Point $point, UI\Draw\Text\Layout $layout)

Shall draw the given text layout at the given point

Bağımsız Değişkenler

point

The point to perform the drawing

layout

The layout of the text to draw


Draw Path

(UI 0.9.9)

Giriş

A Draw Path guides a Draw Pen, telling the Pen where to draw on an Area.

Sınıf Sözdizimi

class UI\Draw\Path {
/* Sabitler */
const int Winding;
const int Alternate;
/* Constructor */
public __construct(int $mode = UI\Draw\Path::Winding)
/* Yöntemler */
public addRectangle(UI\Point $point, UI\Size $size)
public arcTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)
public bezierTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)
public closeFigure()
public end()
public lineTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)
public newFigure(UI\Point $point)
public newFigureWithArc(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)
}

Öntanımlı Sabitler

UI\Draw\Path::Winding

This is the default draw path mode

UI\Draw\Path::Alternate

This is the alternate draw path mode

İçindekiler

  • UI\Draw\Path::addRectangle — Draw a Rectangle
  • UI\Draw\Path::arcTo — Draw an Arc
  • UI\Draw\Path::bezierTo — Draw Bezier Curve
  • UI\Draw\Path::closeFigure — Close Figure
  • UI\Draw\Path::__construct — Construct a new Path
  • UI\Draw\Path::end — Finalize Path
  • UI\Draw\Path::lineTo — Draw a Line
  • UI\Draw\Path::newFigure — Draw Figure
  • UI\Draw\Path::newFigureWithArc — Draw Figure with Arc


Draw a Rectangle

  • « UI\Draw\Path
  • UI\Draw\Path::arcTo »
  • PHP Manual
  • UI\Draw\Path
  • Draw a Rectangle

UI\Draw\Path::addRectangle

(UI 0.9.9)

UI\Draw\Path::addRectangle — Draw a Rectangle

Açıklama

public UI\Draw\Path::addRectangle(UI\Point $point, UI\Size $size)

Shall map the path of a rectangle of the given size, at the given point

Bağımsız Değişkenler

point

The point to begin the shape

size

The size of the rectangle


Draw an Arc

  • « UI\Draw\Path::addRectangle
  • UI\Draw\Path::bezierTo »
  • PHP Manual
  • UI\Draw\Path
  • Draw an Arc

UI\Draw\Path::arcTo

(UI 0.9.9)

UI\Draw\Path::arcTo — Draw an Arc

Açıklama

public UI\Draw\Path::arcTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)

Shall map the path for an arc

Bağımsız Değişkenler

point

The point to begin mapping

radius

The radius of the arc

angle

The angle of the arc

sweep

The sweep of the arc

negative

Dönen Değerler


Draw Bezier Curve

  • « UI\Draw\Path::arcTo
  • UI\Draw\Path::closeFigure »
  • PHP Manual
  • UI\Draw\Path
  • Draw Bezier Curve

UI\Draw\Path::bezierTo

(UI 0.9.9)

UI\Draw\Path::bezierTo — Draw Bezier Curve

Açıklama

public UI\Draw\Path::bezierTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)

Shall draw a bezier curve

Bağımsız Değişkenler

point

The point at which to begin mapping

radius

The radius of the curve

angle

The angle of the curve

sweep

The sweep of the curve

negative


Close Figure

  • « UI\Draw\Path::bezierTo
  • UI\Draw\Path::__construct »
  • PHP Manual
  • UI\Draw\Path
  • Close Figure

UI\Draw\Path::closeFigure

(UI 0.9.9)

UI\Draw\Path::closeFigure — Close Figure

Açıklama

public UI\Draw\Path::closeFigure()

Shall close the current figure

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Construct a new Path

  • « UI\Draw\Path::closeFigure
  • UI\Draw\Path::end »
  • PHP Manual
  • UI\Draw\Path
  • Construct a new Path

UI\Draw\Path::__construct

(UI 0.9.9)

UI\Draw\Path::__construct — Construct a new Path

Açıklama

public UI\Draw\Path::__construct(int $mode = UI\Draw\Path::Winding)

Shall construct a new path in the given mode

Bağımsız Değişkenler

mode

Path::Winding or Path::Alternate


Finalize Path

  • « UI\Draw\Path::__construct
  • UI\Draw\Path::lineTo »
  • PHP Manual
  • UI\Draw\Path
  • Finalize Path

UI\Draw\Path::end

(UI 0.9.9)

UI\Draw\Path::end — Finalize Path

Açıklama

public UI\Draw\Path::end()

Shall finalize this Path

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Draw a Line

  • « UI\Draw\Path::end
  • UI\Draw\Path::newFigure »
  • PHP Manual
  • UI\Draw\Path
  • Draw a Line

UI\Draw\Path::lineTo

(UI 0.9.9)

UI\Draw\Path::lineTo — Draw a Line

Açıklama

public UI\Draw\Path::lineTo(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)

Shall map the path for a line

Bağımsız Değişkenler

point

The point to begin mapping

radius

angle

sweep

negative

Dönen Değerler


Draw Figure

  • « UI\Draw\Path::lineTo
  • UI\Draw\Path::newFigureWithArc »
  • PHP Manual
  • UI\Draw\Path
  • Draw Figure

UI\Draw\Path::newFigure

(UI 0.9.9)

UI\Draw\Path::newFigure — Draw Figure

Açıklama

public UI\Draw\Path::newFigure(UI\Point $point)

Shall map a new figure at the given point

Bağımsız Değişkenler

point

The point to begin mapping


Draw Figure with Arc

  • « UI\Draw\Path::newFigure
  • UI\Draw\Matrix »
  • PHP Manual
  • UI\Draw\Path
  • Draw Figure with Arc

UI\Draw\Path::newFigureWithArc

(UI 0.9.9)

UI\Draw\Path::newFigureWithArc — Draw Figure with Arc

Açıklama

public UI\Draw\Path::newFigureWithArc(
UI\Point $point,
float $radius,
float $angle,
float $sweep,
float $negative
)

Bağımsız Değişkenler

point

radius

angle

sweep

negative

Dönen Değerler


Draw Matrix

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

class UI\Draw\Matrix {
/* Yöntemler */
public invert()
public isInvertible(): bool
public multiply(UI\Draw\Matrix $matrix): UI\Draw\Matrix
public rotate(UI\Point $point, float $amount)
public scale(UI\Point $center, UI\Point $point)
public skew(UI\Point $point, UI\Point $amount)
public translate(UI\Point $point)
}

İçindekiler

  • UI\Draw\Matrix::invert — Invert Matrix
  • UI\Draw\Matrix::isInvertible — Invertible Detection
  • UI\Draw\Matrix::multiply — Multiply Matrix
  • UI\Draw\Matrix::rotate — Rotate Matrix
  • UI\Draw\Matrix::scale — Scale Matrix
  • UI\Draw\Matrix::skew — Skew Matrix
  • UI\Draw\Matrix::translate — Translate Matrix


Invert Matrix

  • « UI\Draw\Matrix
  • UI\Draw\Matrix::isInvertible »
  • PHP Manual
  • UI\Draw\Matrix
  • Invert Matrix

UI\Draw\Matrix::invert

(UI 0.9.9)

UI\Draw\Matrix::invert — Invert Matrix

Açıklama

public UI\Draw\Matrix::invert()

Shall invert this matrix

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Invertible Detection

  • « UI\Draw\Matrix::invert
  • UI\Draw\Matrix::multiply »
  • PHP Manual
  • UI\Draw\Matrix
  • Invertible Detection

UI\Draw\Matrix::isInvertible

(UI 0.9.9)

UI\Draw\Matrix::isInvertible — Invertible Detection

Açıklama

public UI\Draw\Matrix::isInvertible(): bool

Shall detect if this Matrix may be inverted

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.


Multiply Matrix

  • « UI\Draw\Matrix::isInvertible
  • UI\Draw\Matrix::rotate »
  • PHP Manual
  • UI\Draw\Matrix
  • Multiply Matrix

UI\Draw\Matrix::multiply

(UI 0.9.9)

UI\Draw\Matrix::multiply — Multiply Matrix

Açıklama

public UI\Draw\Matrix::multiply(UI\Draw\Matrix $matrix): UI\Draw\Matrix

Shall multiply this matrix with the given matrix

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The new Matrix


Rotate Matrix

  • « UI\Draw\Matrix::multiply
  • UI\Draw\Matrix::scale »
  • PHP Manual
  • UI\Draw\Matrix
  • Rotate Matrix

UI\Draw\Matrix::rotate

(UI 0.9.9)

UI\Draw\Matrix::rotate — Rotate Matrix

Açıklama

public UI\Draw\Matrix::rotate(UI\Point $point, float $amount)

Shall rotate this Matrix

Bağımsız Değişkenler

point

amount


Scale Matrix

  • « UI\Draw\Matrix::rotate
  • UI\Draw\Matrix::skew »
  • PHP Manual
  • UI\Draw\Matrix
  • Scale Matrix

UI\Draw\Matrix::scale

(UI 0.9.9)

UI\Draw\Matrix::scale — Scale Matrix

Açıklama

public UI\Draw\Matrix::scale(UI\Point $center, UI\Point $point)

Shall scale this Matrix

Bağımsız Değişkenler

center

point


Skew Matrix

  • « UI\Draw\Matrix::scale
  • UI\Draw\Matrix::translate »
  • PHP Manual
  • UI\Draw\Matrix
  • Skew Matrix

UI\Draw\Matrix::skew

(UI 0.9.9)

UI\Draw\Matrix::skew — Skew Matrix

Açıklama

public UI\Draw\Matrix::skew(UI\Point $point, UI\Point $amount)

Shall skew this Matrix

Bağımsız Değişkenler

point

amount


Translate Matrix

  • « UI\Draw\Matrix::skew
  • UI\Draw\Color »
  • PHP Manual
  • UI\Draw\Matrix
  • Translate Matrix

UI\Draw\Matrix::translate

(UI 0.9.9)

UI\Draw\Matrix::translate — Translate Matrix

Açıklama

public UI\Draw\Matrix::translate(UI\Point $point)

Shall translate this Matrix

Bağımsız Değişkenler

point


Color Representation

(UI 0.9.9)

Giriş

Represents RGBA colours, individual channels are accessible via public properties.

Sınıf Sözdizimi

class UI\Draw\Color {
/* Sabitler */
const int Red;
const int Green;
const int Blue;
const int Alpha;
/* Özellikler */
public $r;
public $g;
public $b;
public $a;
/* Constructor */
public __construct(UI\Draw\Color $color = ?)
public __construct(int $color = ?)
/* Yöntemler */
public getChannel(int $channel): float
public setChannel(int $channel, float $value): void
}

Özellikler

r

Provides access to the red channel

g

Provides access to the green channel

b

Provides access to the blue channel

a

Provides access to the alpha channel

Öntanımlı Sabitler

UI\Draw\Color::Red

Identifies the red channel

UI\Draw\Color::Green

Identifies the green channel

UI\Draw\Color::Blue

Identifies the blue channel

UI\Draw\Color::Alpha

Identifies the alpha channel

İçindekiler

  • UI\Draw\Color::__construct — Construct new Color
  • UI\Draw\Color::getChannel — Color Manipulation
  • UI\Draw\Color::setChannel — Color Manipulation


Construct new Color

  • « UI\Draw\Color
  • UI\Draw\Color::getChannel »
  • PHP Manual
  • UI\Draw\Color
  • Construct new Color

UI\Draw\Color::__construct

(UI 0.9.9)

UI\Draw\Color::__construct — Construct new Color

Açıklama

public UI\Draw\Color::__construct(UI\Draw\Color $color = ?)
public UI\Draw\Color::__construct(int $color = ?)

Shall construct a new color

Bağımsız Değişkenler

color

May be UI\Draw\Color or RRGGBBAA


Color Manipulation

  • « UI\Draw\Color::__construct
  • UI\Draw\Color::setChannel »
  • PHP Manual
  • UI\Draw\Color
  • Color Manipulation

UI\Draw\Color::getChannel

(UI 0.9.9)

UI\Draw\Color::getChannel — Color Manipulation

Açıklama

public UI\Draw\Color::getChannel(int $channel): float

Shall retrieve the value for a channel

Bağımsız Değişkenler

channel

Constant channel identity

Dönen Değerler

The current value of the requested channel


Color Manipulation

  • « UI\Draw\Color::getChannel
  • UI\Draw\Stroke »
  • PHP Manual
  • UI\Draw\Color
  • Color Manipulation

UI\Draw\Color::setChannel

(UI 0.9.9)

UI\Draw\Color::setChannel — Color Manipulation

Açıklama

public UI\Draw\Color::setChannel(int $channel, float $value): void

Shall set the selected channel to the given value

Bağımsız Değişkenler

channel

Constant channel identity

value

The new value for the selected channel

Dönen Değerler


Draw Stroke

(UI 0.9.9)

Giriş

Holds the configuration for the Pen to perform a stroke

Sınıf Sözdizimi

class UI\Draw\Stroke {
/* Constructor */
public __construct(
int $cap = UI\Draw\Line\Cap::Flat,
int $join = UI\Draw\Line\Join::Miter,
float $thickness = 1,
float $miterLimit = 10
)
/* Yöntemler */
public getCap(): int
public getJoin(): int
public getMiterLimit(): float
public getThickness(): float
public setCap(int $cap)
public setJoin(int $join)
public setMiterLimit(float $limit)
public setThickness(float $thickness)
}

İçindekiler

  • UI\Draw\Stroke::__construct — Construct a new Stroke
  • UI\Draw\Stroke::getCap — Get Line Cap
  • UI\Draw\Stroke::getJoin — Get Line Join
  • UI\Draw\Stroke::getMiterLimit — Get Miter Limit
  • UI\Draw\Stroke::getThickness — Get Thickness
  • UI\Draw\Stroke::setCap — Set Line Cap
  • UI\Draw\Stroke::setJoin — Set Line Join
  • UI\Draw\Stroke::setMiterLimit — Set Miter Limit
  • UI\Draw\Stroke::setThickness — Set Thickness


Construct a new Stroke

  • « UI\Draw\Stroke
  • UI\Draw\Stroke::getCap »
  • PHP Manual
  • UI\Draw\Stroke
  • Construct a new Stroke

UI\Draw\Stroke::__construct

(UI 0.9.9)

UI\Draw\Stroke::__construct — Construct a new Stroke

Açıklama

public UI\Draw\Stroke::__construct(
int $cap = UI\Draw\Line\Cap::Flat,
int $join = UI\Draw\Line\Join::Miter,
float $thickness = 1,
float $miterLimit = 10
)

Shall construct a new Stroke

Bağımsız Değişkenler

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

thickness

The thickness of the stroke

miterLimit

Miter limit (default is sensible for all supported platforms)


Get Line Cap

  • « UI\Draw\Stroke::__construct
  • UI\Draw\Stroke::getJoin »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Line Cap

UI\Draw\Stroke::getCap

(UI 0.9.9)

UI\Draw\Stroke::getCap — Get Line Cap

Açıklama

public UI\Draw\Stroke::getCap(): int

Shall retrieve the line cap setting of this Stroke

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square


Get Line Join

  • « UI\Draw\Stroke::getCap
  • UI\Draw\Stroke::getMiterLimit »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Line Join

UI\Draw\Stroke::getJoin

(UI 0.9.9)

UI\Draw\Stroke::getJoin — Get Line Join

Açıklama

public UI\Draw\Stroke::getJoin(): int

Shall retrieve the line join setting of this Stroke

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel


Get Miter Limit

  • « UI\Draw\Stroke::getJoin
  • UI\Draw\Stroke::getThickness »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Miter Limit

UI\Draw\Stroke::getMiterLimit

(UI 0.9.9)

UI\Draw\Stroke::getMiterLimit — Get Miter Limit

Açıklama

public UI\Draw\Stroke::getMiterLimit(): float

Shall retrieve the miter limit of this Stroke

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current miter limit


Get Thickness

  • « UI\Draw\Stroke::getMiterLimit
  • UI\Draw\Stroke::setCap »
  • PHP Manual
  • UI\Draw\Stroke
  • Get Thickness

UI\Draw\Stroke::getThickness

(UI 0.9.9)

UI\Draw\Stroke::getThickness — Get Thickness

Açıklama

public UI\Draw\Stroke::getThickness(): float

Shall retrieve the thickness of this Stroke

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current thickness


Set Line Cap

  • « UI\Draw\Stroke::getThickness
  • UI\Draw\Stroke::setJoin »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Line Cap

UI\Draw\Stroke::setCap

(UI 0.9.9)

UI\Draw\Stroke::setCap — Set Line Cap

Açıklama

public UI\Draw\Stroke::setCap(int $cap)

Shall set the line cap setting for this Stroke

Bağımsız Değişkenler

cap

UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or UI\Draw\Line\Cap::Square


Set Line Join

  • « UI\Draw\Stroke::setCap
  • UI\Draw\Stroke::setMiterLimit »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Line Join

UI\Draw\Stroke::setJoin

(UI 0.9.9)

UI\Draw\Stroke::setJoin — Set Line Join

Açıklama

public UI\Draw\Stroke::setJoin(int $join)

Shall set the line join setting for this Stroke

Bağımsız Değişkenler

join

UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or UI\Draw\Line\Join::Bevel

Dönen Değerler


Set Miter Limit

  • « UI\Draw\Stroke::setJoin
  • UI\Draw\Stroke::setThickness »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Miter Limit

UI\Draw\Stroke::setMiterLimit

(UI 0.9.9)

UI\Draw\Stroke::setMiterLimit — Set Miter Limit

Açıklama

public UI\Draw\Stroke::setMiterLimit(float $limit)

Set the miter limit for this Stroke

Bağımsız Değişkenler

limit

The new limit


Set Thickness

  • « UI\Draw\Stroke::setMiterLimit
  • UI\Draw\Brush »
  • PHP Manual
  • UI\Draw\Stroke
  • Set Thickness

UI\Draw\Stroke::setThickness

(UI 0.9.9)

UI\Draw\Stroke::setThickness — Set Thickness

Açıklama

public UI\Draw\Stroke::setThickness(float $thickness)

Shall set the thickness for this Stroke

Bağımsız Değişkenler

thickness

The new thickness


Brushes

(UI 0.9.9)

Giriş

Represents a solid color brush

Sınıf Sözdizimi

class UI\Draw\Brush {
/* Constructor */
public __construct(UI\Draw\Color $color)
public __construct(int $color)
/* Yöntemler */
public getColor(): UI\Draw\Color
public setColor(UI\Draw\Color $color): void
public setColor(int $color): void
}

İçindekiler

  • UI\Draw\Brush::__construct — Construct a new Brush
  • UI\Draw\Brush::getColor — Get Color
  • UI\Draw\Brush::setColor — Set Color


Construct a new Brush

  • « UI\Draw\Brush
  • UI\Draw\Brush::getColor »
  • PHP Manual
  • UI\Draw\Brush
  • Construct a new Brush

UI\Draw\Brush::__construct

(UI 0.9.9)

UI\Draw\Brush::__construct — Construct a new Brush

Açıklama

public UI\Draw\Brush::__construct(UI\Draw\Color $color)
public UI\Draw\Brush::__construct(int $color)

Shall construct a solid brush using the given color

Bağımsız Değişkenler

color

Can be a UI\Draw\Color or RRGGBBAA


Get Color

  • « UI\Draw\Brush::__construct
  • UI\Draw\Brush::setColor »
  • PHP Manual
  • UI\Draw\Brush
  • Get Color

UI\Draw\Brush::getColor

(UI 0.9.9)

UI\Draw\Brush::getColor — Get Color

Açıklama

public UI\Draw\Brush::getColor(): UI\Draw\Color

Shall return a UI\Draw\Color for this brush

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

The current color of the brush


Set Color

  • « UI\Draw\Brush::getColor
  • UI\Draw\Brush\Gradient »
  • PHP Manual
  • UI\Draw\Brush
  • Set Color

UI\Draw\Brush::setColor

(UI 0.9.9)

UI\Draw\Brush::setColor — Set Color

Açıklama

public UI\Draw\Brush::setColor(UI\Draw\Color $color): void
public UI\Draw\Brush::setColor(int $color): void

Shall set the color of this brush to the color provided

Bağımsız Değişkenler

color

Can be a UI\Draw\Color or RRGGBBAA

Dönen Değerler


Gradient Brushes

(UI 2.0.0)

Giriş

Abstract for gradient brushes

Sınıf Sözdizimi

abstract class UI\Draw\Brush\Gradient extends UI\Draw\Brush {
/* Yöntemler */
public addStop(float $position, UI\Draw\Color $color): int
public addStop(float $position, int $color): int
public delStop(int $index): int
public setStop(int $index, float $position, UI\Draw\Color $color): bool
public setStop(int $index, float $position, int $color): bool
/* Miras alınan yöntemler */
public UI\Draw\Brush::getColor(): UI\Draw\Color
public UI\Draw\Brush::setColor(UI\Draw\Color $color): void
public UI\Draw\Brush::setColor(int $color): void
}

İçindekiler

  • UI\Draw\Brush\Gradient::addStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::delStop — Stop Manipulation
  • UI\Draw\Brush\Gradient::setStop — Stop Manipulation


Stop Manipulation

  • « UI\Draw\Brush\Gradient
  • UI\Draw\Brush\Gradient::delStop »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::addStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::addStop — Stop Manipulation

Açıklama

public UI\Draw\Brush\Gradient::addStop(float $position, UI\Draw\Color $color): int
public UI\Draw\Brush\Gradient::addStop(float $position, int $color): int

Shall at a stop of the given color at the given position

Bağımsız Değişkenler

position

The position for the new stop

color

The color for the new stop, may be UI\Draw\Color or RRGGBBAA

Dönen Değerler

Total number of stops


Stop Manipulation

  • « UI\Draw\Brush\Gradient::addStop
  • UI\Draw\Brush\Gradient::setStop »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::delStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::delStop — Stop Manipulation

Açıklama

public UI\Draw\Brush\Gradient::delStop(int $index): int

Uyarı

Bu işlev hala belgelendirilmemiştir; sadece bağımsız değişken listesi mevcuttur.

Bağımsız Değişkenler

index

Dönen Değerler

Total number of stops


Stop Manipulation

  • « UI\Draw\Brush\Gradient::delStop
  • UI\Draw\Brush\LinearGradient »
  • PHP Manual
  • UI\Draw\Brush\Gradient
  • Stop Manipulation

UI\Draw\Brush\Gradient::setStop

(UI 2.0.0)

UI\Draw\Brush\Gradient::setStop — Stop Manipulation

Açıklama

public UI\Draw\Brush\Gradient::setStop(int $index, float $position, UI\Draw\Color $color): bool
public UI\Draw\Brush\Gradient::setStop(int $index, float $position, int $color): bool

Bağımsız Değişkenler

index

The index of the stop to set

position

The position for the stop

color

The color for the stop, may be UI\Draw\Color or RRGGBBAA

Dönen Değerler

Indication of success


Linear Gradient

(UI 2.0.0)

Giriş

Sınıf Sözdizimi

class UI\Draw\Brush\LinearGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct(UI\Point $start, UI\Point $end)
/* Miras alınan yöntemler */
public UI\Draw\Brush\Gradient::addStop(float $position, UI\Draw\Color $color): int
public UI\Draw\Brush\Gradient::addStop(float $position, int $color): int
public UI\Draw\Brush\Gradient::delStop(int $index): int
public UI\Draw\Brush\Gradient::setStop(int $index, float $position, UI\Draw\Color $color): bool
public UI\Draw\Brush\Gradient::setStop(int $index, float $position, int $color): bool
}

İçindekiler

  • UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient


Construct a Linear Gradient

  • « UI\Draw\Brush\LinearGradient
  • UI\Draw\Brush\RadialGradient »
  • PHP Manual
  • UI\Draw\Brush\LinearGradient
  • Construct a Linear Gradient

UI\Draw\Brush\LinearGradient::__construct

(UI 2.0.0)

UI\Draw\Brush\LinearGradient::__construct — Construct a Linear Gradient

Açıklama

public UI\Draw\Brush\LinearGradient::__construct(UI\Point $start, UI\Point $end)

Shall construct a new linear gradient

Bağımsız Değişkenler

start

end


Radial Gradient

(UI 2.0.0)

Giriş

Sınıf Sözdizimi

class UI\Draw\Brush\RadialGradient extends UI\Draw\Brush\Gradient {
/* Constructor */
public __construct(UI\Point $start, UI\Point $outer, float $radius)
/* Miras alınan yöntemler */
public UI\Draw\Brush\Gradient::addStop(float $position, UI\Draw\Color $color): int
public UI\Draw\Brush\Gradient::addStop(float $position, int $color): int
public UI\Draw\Brush\Gradient::delStop(int $index): int
public UI\Draw\Brush\Gradient::setStop(int $index, float $position, UI\Draw\Color $color): bool
public UI\Draw\Brush\Gradient::setStop(int $index, float $position, int $color): bool
}

İçindekiler

  • UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient


Construct a new Radial Gradient

  • « UI\Draw\Brush\RadialGradient
  • UI\Draw\Text\Layout »
  • PHP Manual
  • UI\Draw\Brush\RadialGradient
  • Construct a new Radial Gradient

UI\Draw\Brush\RadialGradient::__construct

(UI 2.0.0)

UI\Draw\Brush\RadialGradient::__construct — Construct a new Radial Gradient

Açıklama

public UI\Draw\Brush\RadialGradient::__construct(UI\Point $start, UI\Point $outer, float $radius)

Shall construct a new radial gradient

Bağımsız Değişkenler

start

outer

radius


Represents Text Layout

(UI 0.9.9)

Giriş

A Text Layout represents the layout of text which will be drawn by the Pen

Sınıf Sözdizimi

class UI\Draw\Text\Layout {
/* Constructor */
public __construct(string $text, UI\Draw\Text\Font $font, float $width)
/* Yöntemler */
public setColor(UI\Draw\Color $color, int $start = 0, int $end = ?)
public setColor(int $color, int $start = 0, int $end = ?)
public setWidth(float $width)
}

İçindekiler

  • UI\Draw\Text\Layout::__construct — Construct a new Text Layout
  • UI\Draw\Text\Layout::setColor — Set Color
  • UI\Draw\Text\Layout::setWidth — Set Width


Construct a new Text Layout

  • « UI\Draw\Text\Layout
  • UI\Draw\Text\Layout::setColor »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Construct a new Text Layout

UI\Draw\Text\Layout::__construct

(UI 0.9.9)

UI\Draw\Text\Layout::__construct — Construct a new Text Layout

Açıklama

public UI\Draw\Text\Layout::__construct(string $text, UI\Draw\Text\Font $font, float $width)

Shall construct a new Text Layout

Bağımsız Değişkenler

text

The text for the layout

font

The font to use for writing

width

The width of the layout


Set Color

  • « UI\Draw\Text\Layout::__construct
  • UI\Draw\Text\Layout::setWidth »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Set Color

UI\Draw\Text\Layout::setColor

(UI 0.9.9)

UI\Draw\Text\Layout::setColor — Set Color

Açıklama

public UI\Draw\Text\Layout::setColor(UI\Draw\Color $color, int $start = 0, int $end = ?)
public UI\Draw\Text\Layout::setColor(int $color, int $start = 0, int $end = ?)

Shall set the Color for all of, or a range of the text in the Layout

Bağımsız Değişkenler

color

The color to use

start

The starting character

end

The ending character, by default the end of the string


Set Width

  • « UI\Draw\Text\Layout::setColor
  • UI\Draw\Text\Font »
  • PHP Manual
  • UI\Draw\Text\Layout
  • Set Width

UI\Draw\Text\Layout::setWidth

(UI 0.9.9)

UI\Draw\Text\Layout::setWidth — Set Width

Açıklama

public UI\Draw\Text\Layout::setWidth(float $width)

Shall set the width of this Text Layout

Bağımsız Değişkenler

width

The new width


Represents a Font

(UI 0.9.9)

Giriş

Loads a described font

Sınıf Sözdizimi

class UI\Draw\Text\Font {
/* Constructor */
public __construct(UI\Draw\Text\Font\Descriptor $descriptor)
/* Yöntemler */
public getAscent(): float
public getDescent(): float
public getLeading(): float
public getUnderlinePosition(): float
public getUnderlineThickness(): float
}

İçindekiler

  • UI\Draw\Text\Font::__construct — Construct a new Font
  • UI\Draw\Text\Font::getAscent — Font Metrics
  • UI\Draw\Text\Font::getDescent — Font Metrics
  • UI\Draw\Text\Font::getLeading — Font Metrics
  • UI\Draw\Text\Font::getUnderlinePosition — Font Metrics
  • UI\Draw\Text\Font::getUnderlineThickness — Font Metrics


Construct a new Font

  • « UI\Draw\Text\Font
  • UI\Draw\Text\Font::getAscent »
  • PHP Manual
  • UI\Draw\Text\Font
  • Construct a new Font

UI\Draw\Text\Font::__construct

(UI 0.9.9)

UI\Draw\Text\Font::__construct — Construct a new Font

Açıklama

public UI\Draw\Text\Font::__construct(UI\Draw\Text\Font\Descriptor $descriptor)

Shall construct a new Font using the given descriptor

Bağımsız Değişkenler

descriptor

The descriptor for the Font


Font Metrics

  • « UI\Draw\Text\Font::__construct
  • UI\Draw\Text\Font::getDescent »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getAscent

(UI 1.0.3)

UI\Draw\Text\Font::getAscent — Font Metrics

Açıklama

public UI\Draw\Text\Font::getAscent(): float

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Font Metrics

  • « UI\Draw\Text\Font::getAscent
  • UI\Draw\Text\Font::getLeading »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getDescent

(UI 1.0.3)

UI\Draw\Text\Font::getDescent — Font Metrics

Açıklama

public UI\Draw\Text\Font::getDescent(): float

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Font Metrics

  • « UI\Draw\Text\Font::getDescent
  • UI\Draw\Text\Font::getUnderlinePosition »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getLeading

(UI 1.0.3)

UI\Draw\Text\Font::getLeading — Font Metrics

Açıklama

public UI\Draw\Text\Font::getLeading(): float

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Font Metrics

  • « UI\Draw\Text\Font::getLeading
  • UI\Draw\Text\Font::getUnderlineThickness »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getUnderlinePosition

(UI 1.0.3)

UI\Draw\Text\Font::getUnderlinePosition — Font Metrics

Açıklama

public UI\Draw\Text\Font::getUnderlinePosition(): float

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Font Metrics

  • « UI\Draw\Text\Font::getUnderlinePosition
  • UI\Draw\Text\Font\Descriptor »
  • PHP Manual
  • UI\Draw\Text\Font
  • Font Metrics

UI\Draw\Text\Font::getUnderlineThickness

(UI 1.0.3)

UI\Draw\Text\Font::getUnderlineThickness — Font Metrics

Açıklama

public UI\Draw\Text\Font::getUnderlineThickness(): float

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Font Descriptor

(UI 0.9.9)

Giriş

Describes a font

Sınıf Sözdizimi

class UI\Draw\Text\Font\Descriptor {
/* Constructor */
public __construct(
string $family,
float $size,
int $weight = UI\Draw\Text\Font\Weight::Normal,
int $italic = UI\Draw\Text\Font\Italic::Normal,
int $stretch = UI\Draw\Text\Font\Stretch::Normal
)
/* Yöntemler */
public getFamily(): string
public getItalic(): int
public getSize(): float
public getStretch(): int
public getWeight(): int
}

İçindekiler

  • UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor
  • UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family
  • UI\Draw\Text\Font\Descriptor::getItalic — Style Detection
  • UI\Draw\Text\Font\Descriptor::getSize — Size Detection
  • UI\Draw\Text\Font\Descriptor::getStretch — Style Detection
  • UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection


Construct a new Font Descriptor

  • « UI\Draw\Text\Font\Descriptor
  • UI\Draw\Text\Font\Descriptor::getFamily »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Construct a new Font Descriptor

UI\Draw\Text\Font\Descriptor::__construct

(UI 0.9.9)

UI\Draw\Text\Font\Descriptor::__construct — Construct a new Font Descriptor

Açıklama

public UI\Draw\Text\Font\Descriptor::__construct(
string $family,
float $size,
int $weight = UI\Draw\Text\Font\Weight::Normal,
int $italic = UI\Draw\Text\Font\Italic::Normal,
int $stretch = UI\Draw\Text\Font\Stretch::Normal
)

Shall construct a new Font Descriptor

Bağımsız Değişkenler

family

The name of a valid family of fonts

size

The preferred size

weight

UI\Draw\Text\Font\Weight constant

italic

UI\Draw\Text\Font\Italic constant

stretch

UI\Draw\Text\Font\Stretch constant


Get Font Family

  • « UI\Draw\Text\Font\Descriptor::__construct
  • UI\Draw\Text\Font\Descriptor::getItalic »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Get Font Family

UI\Draw\Text\Font\Descriptor::getFamily

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getFamily — Get Font Family

Açıklama

public UI\Draw\Text\Font\Descriptor::getFamily(): string

Shall return the requested font family

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Style Detection

  • « UI\Draw\Text\Font\Descriptor::getFamily
  • UI\Draw\Text\Font\Descriptor::getSize »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Style Detection

UI\Draw\Text\Font\Descriptor::getItalic

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getItalic — Style Detection

Açıklama

public UI\Draw\Text\Font\Descriptor::getItalic(): int

Shall return constant setting

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Size Detection

  • « UI\Draw\Text\Font\Descriptor::getItalic
  • UI\Draw\Text\Font\Descriptor::getStretch »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Size Detection

UI\Draw\Text\Font\Descriptor::getSize

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getSize — Size Detection

Açıklama

public UI\Draw\Text\Font\Descriptor::getSize(): float

Shall return the requested size

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Style Detection

  • « UI\Draw\Text\Font\Descriptor::getSize
  • UI\Draw\Text\Font\Descriptor::getWeight »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Style Detection

UI\Draw\Text\Font\Descriptor::getStretch

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getStretch — Style Detection

Açıklama

public UI\Draw\Text\Font\Descriptor::getStretch(): int

Shall return requested stretch

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Weight Detection

  • « UI\Draw\Text\Font\Descriptor::getStretch
  • UI İşlevleri »
  • PHP Manual
  • UI\Draw\Text\Font\Descriptor
  • Weight Detection

UI\Draw\Text\Font\Descriptor::getWeight

(UI 1.0.3)

UI\Draw\Text\Font\Descriptor::getWeight — Weight Detection

Açıklama

public UI\Draw\Text\Font\Descriptor::getWeight(): int

Shall return requested weight

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


UI İşlevleri

İçindekiler

  • UI\Draw\Text\Font\fontFamilies — Retrieve Font Families
  • UI\quit — Quit UI Loop
  • UI\run — Enter UI Loop


Retrieve Font Families

  • « UI İşlevleri
  • UI\quit »
  • PHP Manual
  • UI İşlevleri
  • Retrieve Font Families

UI\Draw\Text\Font\fontFamilies

(UI 0.9.9)

UI\Draw\Text\Font\fontFamilies — Retrieve Font Families

Açıklama

UI\Draw\Text\Font\fontFamilies(): array

Returns an array of valid font families for the current system

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

Returns an array of valid font families for the current system.


Quit UI Loop

  • « UI\Draw\Text\Font\fontFamilies
  • UI\run »
  • PHP Manual
  • UI İşlevleri
  • Quit UI Loop

UI\quit

(UI 2.0.0)

UI\quit — Quit UI Loop

Açıklama

UI\quit(): void

Shall cause the main loop to be exited

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler


Enter UI Loop

  • « UI\quit
  • UI\Draw\Text\Font\Weight »
  • PHP Manual
  • UI İşlevleri
  • Enter UI Loop

UI\run

(UI 2.0.0)

UI\run — Enter UI Loop

Açıklama

UI\run(int $flags = ?): void

Shall cause PHP to enter into the main loop, by default control will not be returned to the caller

Bağımsız Değişkenler

flags

Set UI\Loop to return control, and UI\Wait to return control after waiting

Dönen Değerler


Font Weight Settings

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

final class UI\Draw\Text\Font\Weight {
/* Sabitler */
const int Thin;
const int UltraLight;
const int Light;
const int Book;
const int Normal;
const int Medium;
const int SemiBold;
const int Bold;
const int UltraBold;
const int Heavy;
const int UltraHeavy;
}


Italic Font Settings

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

final class UI\Draw\Text\Font\Italic {
/* Sabitler */
const int Normal = 0;
const int Oblique = 1;
const int Italic = 2;
}


Font Stretch Settings

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

final class UI\Draw\Text\Font\Stretch {
/* Sabitler */
const int UltraCondensed = 0;
const int ExtraCondensed = 1;
const int Condensed = 2;
const int SemiCondensed = 3;
const int Normal = 4;
const int SemiExpanded = 5;
const int Expanded = 6;
const int ExtraExpanded = 7;
const int UltraExpanded = 8;
}


Line Cap Settings

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

final class UI\Draw\Line\Cap {
/* Sabitler */
const int Flat;
const int Round;
const int Square;
}


Line Join Settings

(UI 0.9.9)

Giriş

Sınıf Sözdizimi

final class UI\Draw\Line\Join {
/* Sabitler */
const int Miter;
const int Round;
const int Bevel;
}


Key Identifiers

(UI 1.0.0)

Giriş

Sınıf Sözdizimi

final class UI\Key {
/* Sabitler */
const int Escape;
const int Insert;
const int Delete;
const int Home;
const int End;
const int PageUp;
const int PageDown;
const int Up;
const int Down;
const int Left;
const int Right;
const int F1;
const int F2;
const int F3;
const int F4;
const int F5;
const int F6;
const int F7;
const int F8;
const int F9;
const int F10;
const int F11;
const int F12;
const int N0;
const int N1;
const int N2;
const int N3;
const int N4;
const int N5;
const int N6;
const int N7;
const int N8;
const int N9;
const int NDot;
const int NEnter;
const int NAdd;
const int NSubtract;
const int NMultiply;
const int NDivide;
}


InvalidArgumentException

(UI 1.0.3)

Giriş

Sınıf Sözdizimi

class UI\Exception\InvalidArgumentException extends InvalidArgumentException implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


RuntimeException

(UI 1.0.3)

Giriş

Sınıf Sözdizimi

class UI\Exception\RuntimeException extends RuntimeException implements Throwable {
/* Miras alınan özellikler */
protected string $message = "";
private string $string = "";
protected int $code;
protected string $file = "";
protected int $line;
private array $trace = [];
private ?Throwable $previous = null;
/* Miras alınan yöntemler */
final public Exception::getMessage(): string
final public Exception::getPrevious(): ?Throwable
final public Exception::getCode(): int
final public Exception::getFile(): string
final public Exception::getLine(): int
final public Exception::getTrace(): array
final public Exception::getTraceAsString(): string
public Exception::__toString(): string
private Exception::__clone(): void
}


Sıkça Sorulan Sorular

  • Genel Bilgi
  • Eposta listeleri — Posta Listeleri
  • PHP'nin Temini
  • Veritabanı Sorunları
  • Kurulum
  • Derleme Sorunları
  • PHP Kullanımı
  • Parola aşlama — Güvenli Parola aşlama
  • PHP ve HTML
  • PHP ve COM
  • Çeşitli Sorular


Genel Bilgi

Bu bölümde PHP ile ilgili en genel sorulara yer verilmiştir: Nedir ve ne yapar?

  1. PHP nedir?
  2. PHP'nin açılımı nedir?
  3. Sürümler arasındaki ilişki nedir?
  4. PHP'nin farklı sürümlerini aynı anda çalıştırabilir miyim?
  5. Bir hata buldum! Kime söylemeliyim?
PHP nedir?

Kılavuzun önsözünden bir alıntı:

PHP, HTML içine gömülebilen bir betik dilidir. Sözdiziminin çoğunu C, Java ve Perl'den almış ve bunun üzerine PHP'ye özgü bir sürü eşsiz özellik eklenmiştir. Dilin amacı site geliştirenlere dinamik olarak hızla üretilen sayfalar yazabilme imkanı vermektir.

PHP'nin açılımı nedir?

PHP kısaltmasının açılımı PHP: Hypertext Preprocessor olup anlamı PHP: Hiper Metin Önişlemcisi'dir. Kısaltmanın ilk harfinin kısaltmanın kısaltması olması çoğu kişiyi şaşırtmaktadır. Bu tür kısaltmalara iç içe kısaltmalar adı verilmektedir. Meraklılar, daha ayrıntılı bilgi edinmek için » FOLDOC veya » Wikipedia'ya bakabilirler.

Sürümler arasındaki ilişki nedir?

PHP/FI 2.0 bir erken dönem ve artık desteklenmeyen bir PHP sürümüdür. PHP 3, PHP/FI 2.0'ın ardılı olup, çok daha gelişmişidir. PHP 8, PHP'nin şimdiki nesli olup, Zend motoru 4 kullanır ve bir çok yeniliğin yanında Nesne Yönelimli Programlama özelliğine de sahiptir.

PHP'nin farklı sürümlerini aynı anda çalıştırabilir miyim?

Evet. PHP kaynak paketinin kök dizininde bulunan INSTALL dosyasını okuyunuz.

Bir hata buldum! Kime söylemeliyim?

PHP Hataları Veritabanına gitmeniz ve bulduğunuz hatanın bilinen hatalardan biri olmadığından emin olmanız gerekir. Hatayı veritabanında göremezseniz hatayı bildirmek için hata raporlama formunu kullanınız. Hatayı bir eposta listesine değil, hata veritabanına bildirmek önemlidir. Çünkü bu suretle hataya bir numara atanır ve hatanın durumunu izlemek kolaylaşır. Hata veritabanını » https://github.com/php/php-src/issues adresinde bulabilirsiniz.


Posta Listeleri

Bu bölümdeki sorular PHP topluluğu ile nasıl iletişime geçileceği ile ilgilidir. Bunun en iyi yolu posta listeleridir.

  1. PHP'nin eposta listeleri var mı?
  2. Başka topluluklar var mı?
  3. Kendi PHP eposta listemi açabilir miyim?
  4. İmdat! Nasıl posta listesi üyesi olacağımı (veya üyeliğinden ayrılacağımı) bulamadım!
  5. Posta listelerinin bir yerlerde arşivi var mı?
  6. Bir posta listesine ne sorabilirim?
  7. Bir posta listesine soru sorarken hangi bilgileri vermeliyim?
PHP'nin eposta listeleri var mı?

Elbette! Çeşitli konularda pek çok eposta listesi var. En bilinen topluluk eposta listelerini » Destek sayfamızda bulabilirsiniz.

En genel posta listemiz php-general olup üye olmak için » php-general-subscribe@lists.php.net adresine, üyelikten ayrılmak için ise » php-general-unsubscribe@lists.php.net adresine bir eposta gönderin.

Ayrıca, » Destek sayfamızdan erişeceğiniz arayüzü kullanarak da üye olabilir veya eposta listelerinden gönderilen iletilerin sonundaki bilgilerden yararlanarak üyelikten ayrılabilirsiniz.

Başka topluluklar var mı?

Dünyanın dört bir yanında sayısız PHP merkezli topluluk var. » Destek sayfamızda bu toplulukların bazılarına ilişkin bilgiler ve bazı bağlantılar bulabilirsiniz.

Kendi PHP eposta listemi açabilir miyim?

Elbette! Aslında buna izin vermekle kalmıyor bunu teşvik de ediyoruz. PHP ile ilgili deneyimlerinizi ve bilgilerinizi başkalarıyla paylaşarak küresel PHP topluluğunun büyümesine ve dilin kendisinin geliştirilmesine bu yolla da yardım edebilirsiniz.

İmdat! Nasıl posta listesi üyesi olacağımı (veya üyeliğinden ayrılacağımı) bulamadım!

Bir posta listesine üye olurken veya üyelikten ayrılırken sorunlar yaşıyorsanız posta listesi yazılımına doğru adresle başvurmamış olabilirsiniz. Eğer eposta adresiniz joeblow@example.com ise php-general listesine üyelik isteğinizi php-general-subscribe-joeblow=example.com@lists.php.net adresine, üyelikten ayrılma isteğinizi ise php-general-unsubscribe-joeblow=example.com@lists.php.net adresine eposta göndererek belirtebilirsiniz. Diğer posta listeleri de benzer adresleri kabul edecektir.

Eposta listelerimizden üyeliklerini sonlandırmak isteyenlerin bunu başaramamalarının başlıca sebebi eposta yönlendiricileri kullanmalarıdır. Örneğin, eposta adresiniz danbrown@example.com ise, fakat eposta listesine yönlendirilmiş php-lists@example.com adresinizle üye olmuşsanız danbrown@example.com adresinizi üyelikten çıkarmaya çalışmanız bu adres sistemlerimiz tarafından bilinmediğinden başarısızlıkla sonuçlanacaktır. Eğer bu adres yerine php-lists@example.com eposta adresinizi üyelikten çıkarmak isteseydiniz bu çaba boşa gitmeyecekti.

Posta listelerinin bir yerlerde arşivi var mı?

Evet. Arşiv sitelerinin adres listesini » mailing list sayfamızda bulabilirsiniz. Ayrıca, eposta listelerimizi arşivleyen düzinelerce site bulunmaktadır. Ara motorlarında "php mailing list archives" dizgesiyle arama yaparak bunlara ulaşabilirsiniz.

Posta listesi iletileri » news://news.php.net/ haber sunucusunda da arşivlenmektedir. Ayrıca, haber sunucumuzun deneysel bir HTML arayüzü de mevcuttur: » http://news.php.net/

Bir posta listesine ne sorabilirim?

PHP'nin bilinirliğinin giderek artışına paralel olarak php-general posta listesinin de trafiği artmaktadır. Ortalama günlük trafik 75-200 posta civarındadır. Bundan dolayı başka yerleri de araştırdıktan sonra posta listeleri en son çare olarak kullanılmalıdır.

Listeye bir ileti göndermeden önce, yardım bulmak için lütfen bu SSS'ye ve kılavuza bakınız. Hiçbir şey bulamazsanız posta listesi arşivlerini deneyiniz (yukarı bakınız). PHP'yi kurmak veya yapılandırmak konusunda sorun yaşıyorsanız lütfen konu ile ilgili tüm belgeleri ve README dosyalarını okuyunuz. Hala derdinize deva olacak bilgilere erişememişseniz posta listelerini gönül rahatlığıyla kullanabilirsiniz.

En iyi yanıtları alabilmeniz için, lütfen sorunuzu doğru eposta listesine gönderdiğiniz emin olun. Örneğin PHP kurulumunuzda yaşadığınız sorunları php-install eposta listesine göndermelisiniz. Bir yetersizlik: Bazı listeler farklı kullanım amaçlarına sahip oldukları halde benzer isimlere sahip olabilirler. Windows üzerinde PHP betiğiniz ile ilgili sorunları "Windows PHP users" listesine göndermelisiniz, "Windows Internals" listesine değil.

Soru sormadan önce lütfen » Doğru Düzgün Soru Sormanın Yolları belgesini okuyunuz.

Bir posta listesine soru sorarken hangi bilgileri vermeliyim?

"PHP'yi çalıştıramıyorum! Bana yardım edin! Neyi yanlış yapıyorum?" gibi postaları kimse dikkate almaz. PHP'yi çalıştıramıyorsanız, PHP'yi hangi işletim sisteminde kullandığınızı, PHP'nin sürümünü, nasıl temin ettiğinizi (derlenmiş paket, Git, RPM ve benzeri), çalıştırmak için neler yaptığınızı ve aldığınız hata iletilerini tam olarak belirtmelisiniz.

Aynı şeyleri başka sorunlar için de yapmalısınız. Neler yaptığınızı, nerede saplanıp kaldığınızı, bu durumdan çıkmak için neler denediğinizi varsa aldığınız hata iletilerini iletinize dahil etmelisiniz. Eğer sorun kendi yazdığınız kodlarla ilgiliyse çalışmayan kod parçasını da iletinize dahil ediniz. Gerekli olmayan kodları dahil etmeyiniz! Bu iletinizin okunmasını zorlaştıracağı için çoğu kişi iletinizi hiç okumadan geçecektir. Postanızda ne kadar bilgi vereceğinizden emin olamıyorsanız, az da olsa bilgi vermek hiç vermemekten iyidir.

Diğer önemli şey de konu başlığında sorunun özetlenmesidir. "İMDAAAT" veya "Buradaki sorun ne?" diye bir konu başlığını okuyucuların büyük çoğunluğu yok sayacaktır.

Ve son olarak, hemen herkese büyük faydası olan » Doğru Düzgün Soru Sormanın Yolları belgesini mutlaka okuyunuz.


PHP'nin Temini

Bu bölümde PHP'nin indirilebileceği yerler ve işletmi sistemleri hakkında sorulara yer verilmiştir.

  1. PHP'yi nereden edinebilirim?
  2. Derlenmiş paketler var mı?
  3. Bazı seçimlik PHP eklentilerini derlemek için gerekli kütüphaneleri nereden temin edebilirim?
  4. PHP'nin bu kütüphanelerle çalışmasını nasıl sağlarım?
  5. Windows makinem için PHP'nin kaynak kodunun en son sürümünü Git'ten aldım; derlemek için neye ihtiyacım var?
  6. Tarayıcı Yetenekleri Dosyasını nereden bulabilirim?
  7. PHP karşıdan indirme yaparken güvenli evreleme ne yapar?
PHP'yi nereden edinebilirim?

PHP'yi PHP ağına üye sitelerden indirebilirsiniz. Bunları » https://www.php.net/ adresinde bulabilirsiniz. Ayrıca, kaynak kodların en son halini anonim Git kullanarak alabilirsiniz; daha fazla bilgi için » https://www.php.net/git.php adresine bakınız.

Derlenmiş paketler var mı?

Derlenmiş çalıştırılabilirleri sadece Windows sistemler için dağıtıyoruz. Her Linux/Unix platformu için eklentileriyle birlikte PHP derlememiz mümkün değil. Ayrıca, bugünlerde çoğu Linux dağıtımı derlenmiş PHP paketleriyle gelmektedir. Windows çalıştırılabilir paketleri » İndirme sayfamızdan indirilebilir. Derlenmiş Linux paketleri için dağıtımınızın sitesine bakınız.

Bazı seçimlik PHP eklentilerini derlemek için gerekli kütüphaneleri nereden temin edebilirim?

Bilginize: Aşağıdakilerden * imli olanlar çok evreli kütüphaneler değildir ve çok evreli ortamlarda bir sunucu modülü olarak kullanımı önerilmemektedir.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK
  • » özgür LDAP sunucusu.
  • » Berkeley DB2 (Unix/Win) : http://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Available locally.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML çözümleyici (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

PHP'nin bu kütüphanelerle çalışmasını nasıl sağlarım?

Kütüphane ile sağlanmış talimatları izlemeniz gerekir. Bu kütüphanelerin bazıları PHP'nin 'configure' betiği çalıştırıldığı zaman otomatik olarak algılanır (örneğin GD kütüphanesi), bazıları da 'configure' betiğine '--with-EKLENTİ seçeneği ile belirtilir. Bunların tam listesini almak için 'configure --help' komutunu verin.

Windows makinem için PHP'nin kaynak kodunun en son sürümünü Git'ten aldım; derlemek için neye ihtiyacım var?

En son derleme adımları için PHP Wikisine bakınız: » Adım adım derleme

Tarayıcı Yetenekleri Dosyasını nereden bulabilirim?

browscap.ini dosyasını » http://browscap.org/ adresinde bulabilirsiniz.

PHP karşıdan indirme yaparken güvenli evreleme ne yapar?

Güvenli Evreleme (Thread Safety), o çalıştırılabilirin bir çok evreli HTTP sunucusunda çalışabileceği anlamına gelir, mesela Windows üzerinde Apache 2 gibi. Güvenli Evreleme her evrenin bir yerel kopyasını oluşturarak çalışır, yani veri başka bir evrenin verisine karışmaz.

O halde seçiminiz ne olmalı? Eğer PHP'yi bir CGI çalıştırılabiliri olarak çalıştırırsanız güvenli evrelemeye ihtiyacınız olmaz, çünkü her istekte başka bir çalıştırılabilir kullanılır. IIS5, IIS6 gibi çok evreli HTTP sunucularında PHP'nin evreli sürümünü kullanmalısınız.


Veritabanı Sorunları

Bu bölümde PHP ile veritabanları arasındaki ilişkiye yönelik sıkça sorulan sorulara yer verilmiştir. Evet, PHP, günümüzde kullanılabilen her veritabanına sanal olarak erişebilmektedir.

  1. PHP'den Microsoft SQL Sunucusuna erişimin mümkün olduğunu duydum. Nasıl?
  2. Microsoft Access veritabanlarına erişebilir miyim?
PHP'den Microsoft SQL Sunucusuna erişimin mümkün olduğunu duydum. Nasıl?

Unix makinelerde PDO_ODBC veya Unified ODBC API. kullanabilirsiniz.

Windows makinelerde, ayrıca PDO_SQLSRV veya SQLSRV de kullanabilirsiniz.

Ayrıca bir sonraki sorunun cevabına da bakınız.

Microsoft Access veritabanlarına erişebilir miyim?

Bir Unix üzerindeyseniz ve bir Windows makinedeki bir Microsoft Access veritabanına erişmek istiyorsanız Unix ODBC sürücüleri kullanmanız gerekir. » OpenLink Software, bunu yapabilen Unix temelli ODBC sürücülerine sahiptir.

Diğer bir seçenek, Windows ODBC sürücülerine sahip bir SQL sunucusu kullanmaktır. Böylece Microsoft Access (ODBC kullanarak) ve PHP'ye (yerleşik sürücüleri kullanarak) erişebilirsiniz. Başka bir seçenek ise, Microsoft Access ve PHP'nin her ikisinin de anlayabileceği düz dosyalar veya dBase veritabanları gibi bir aracı dosya biçimlerini kullanmaktır. Bu noktada OpenLink yazılımdan Tim Hayes'in yazdıklarını okuyalım:

Veritabanınıza PHP'den ODBC'yle (yani, OpenLink'in sürücüleriyle) doğrudan erişmek varken aracı dosya olarak başka bir veritabanını kullanmak hiç iyi bir fikir değildir. Mutlaka bir aracı dosya kullanmanız gerekmiyorsa, OpenLink'in NT, Linux ve diğer Unix platformları için dağıttığı Virtuoso'yu (sanal veritabanı motoru) kullanabilirsiniz. Yazılımı özgürce indirmek için » OpenLink'i ziyaret ediniz.

Başarısı kanıtlanmış tek seçenek Windows üzerinde MySQL ile MyODBC sürücülerini kullanmak ve veritabanlarını eşzamanlamaktır. Steve Lawrence şunları yazmıştır:

  • MySQL'i platformunuza talimatlara uygun olarak kurun. En son sürümü » http://www.mysql.com/ adresinden edinebilirsiniz. Bir veritabanı oluşturmak dışında özel bir yapılandırma gerekli değildir. Kullanıcı hesabını yapılandırdıktan sonra host alanına bir % imi veya MySQL ile erişmek istediğiniz Windows makinenizin konak adını yazın. Sunucu ismini, kullanıcı ismi ve parolanızı bir kenara yazmayı unutmayın.
  • Windows için MyODBC sürücüsünü MySQL sitesinden indirin ve Windows makinenize kurun. İşlemi bu programla gelen araçlarla deneyebilirsiniz.
  • Denetim Masası'ndan (veya Yönetimsel Araçlar'dan) ODBC Yöneticisini açıp bir kullanıcı veya bir sistem dsn oluşturun. MySQL veritabanını 1. adımda oluştururken kullandığınız dsn adını, konak adını, kullanıcı adı ve parolasını yazın.
  • Install Access'i tam kurulum seçeneği ile kurun. Bu, doğru eklentilerin kurulduğundan emin olmanızı sağlar; en azından ODBC desteğine ve ilintili tablo yöneticisine ihtiyacınız olacak.
  • En eğlenceli kısma geldik! Yeni bir Access veritabanı oluşturun. Tablo penceresine sağ tıklayıp Link Tables seçeneğini veya dosya menüsü seçeneği altından Get External Data ve ardından Link Tables seçeneğini seçin. Dosya tarayıcı penceresi geldiğinde ODBC türündeki dosyaları seçin. Sistem dsn'sini ve 3. adımda oluşturduğunuz kendi dsn isminizi seçin. İlintilenecek tabloyu seçtikten sonra Tamam'a tıklayın. Hepsi bu kadar! Artık, MySQL sunucunuzdan tabloyu açabilir ve veri ekleme, silme ve düzenleme işlemlerini yapabilirsiniz. Ayrıca sorgular oluşturabilir, MySQL'le tablo ithalatı ve ihracatı yapabilir, formlar ve raporlar, vs. oluşturabilirsiniz.

İpuçları:

  • Tablolarınızı Access'te oluşturabilir, bunları MySQL'e ihraç edebilir ve onları gerisin geriye ilintileyebilirsiniz. Bu işlem, tablo oluşturmayı hızlandırır.
  • Tablolarınızı Access'te oluştururken, yazma erişimine sahip olmak için bir birincil anahtar oluşturmalısınız. Tabloyu ilintilemeden önce MySQL'de de bir birincil anahtar oluşturmayı unutmayın.
  • MySQL'deki bir tabloda değişiklik yaparsanız, Access'teki ile yeniden ilintilemelisiniz. Araçlar>eklenti>ilintili tablo yöneticisi'ne gidin, ODBC DSN'nize geçin ve tabloyu seçip yeniden ilintileyin. İsterseniz, dsn kaynağınızı oradan taşıyabilirsiniz, yapacağınız tek şey Tamam'a tıklamadan önce yeni konum için daima istek yap onay kutusunu işaretlemek olacaktır.


Kurulum

Bu bölüm, kurulum sırasında sık rastlanan sorunlarla ilgili sorular ve çözümlerden derlenmiştir. PHP hemen hemen tüm işletim sistemlerine kurulabilmekte ve hemen her HTTP sunucusu ile çalışabilmektedir.

PHP'yi kurmak için Yapılandırma ve Kurulum bölümündeki talimatları izleyin.

  1. Apache 2'yi çok evreli bir MPM ile üretim ortamında neden kullanmamalıyım?
  2. Unix/Windows: php.ini dosyamın yerini bulamıyorum!
  3. Unix: PHP'yi kurdum, fakat her belge yükleyişimde 'Document Contains No Data'! (Belge hiç veri içermiyor!) şeklinde bir ileti alıyorum. Ne yapmalıyım?
  4. Unix: PHP'yi RPM'leri kullanarak kurdum, fakat Apache, PHP sayfalarını işlemiyor! Ne yapmalıyım?
  5. Unix: Apache'yi FrontPage eklenti yamasıyla yamadım ve hemen ardından PHP çalışmaz hale geldi. PHP, Apache FrontPage eklentileriyle uyumlu değil mi?
  6. Unix/Windows: PHP'yi kurdum, fakat PHP betiğine tarayıcımla erişmeye çalıştığımda boş bir sayfa alıyorum.
  7. Unix/Windows: PHP'yi kurdum, fakat PHP betiğine tarayıcımla erişmeye çalıştığımda sunucudan 500 hatası alıyorum.
  8. Bazı işletim sistemleri: PHP'yi hatasız kurdum fakat Apache'yi başlatmak istediğimde tanımsız simge hataları aldım: [mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
  9. Windows: PHP'yi kurdum fakat tarayıcımla bir PHP betiğine erişmek istediğimde şöyle bir hata alıyorum: cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
  10. Windows: Tüm talimatları izlememe rağmen PHP ile IIS'yi birlikte çalıştıramadım!
  11. PHP'yi IIS, PWS, OmniHTTPD veya Xitami ile CGI olarak çalıştırırken şu hatayı alıyorum: Security Alert! PHP CGI cannot be accessed directly..
  12. Hangi php.ini dosyasının okunduğunu nasıl anlayacağım? Yaptığım değişikliklerin bir etkisi olmuyor gibi gözüküyor.
  13. PHP dizinimi Windows'ta PATH değişkenine nasıl eklerim?
  14. Windows üzerinde PHP'nin php.ini dosyasını kullanabilmesini nasıl sağlarım?
  15. PHP ile Apache içerik dili uzlaşımını kullanmak (MultiViews seçeneği) mümkün mü?
  16. PHP'nin GET ve POST istekleri dışında istekleri işleme sokmaması sağlanabilir mi?
Apache 2'yi çok evreli bir MPM ile üretim ortamında neden kullanmamalıyım?

PHP üçüncü parti kütüphaneler kullanılarak muhtelif HTTP uygulamaları geliştirmeyi sağlayan bir yapıştırıcıdır. PHP'nin esnekliği ve gücü üzerinde çalıştığı platformun gücü ve kararlılığı ile sınırlıdır. Çalışmak için bir işletim sistemine, HTTP sunucusuna ve 3. parti modüllere ihtiyaç duyar ve bunlar arasında bir yapıştırıcı gibi davranır. Bunlardan biri çalışmasını durdurursa sorunu saptayıp çabucak çözümlemeniz gerekir. PHP'nin üzerinde çalıştığı ortamı, birbirlerinden bağımsız çalışma evreleri, tamamen ayrı bellek bölümleri ve her istek için ayrı bir çalışma alanı ile daha da karmaşıklaştırırsanız, PHP'nin hamuru bir bulamaca dönüşebilir.

Çok evreli bir MPM kullanmak isterseniz, PHP'nin kendi bellek uzayında çalışmasını sağlayan FastCGI yapılandırması bir çözüm olabilir.

Unix/Windows: php.ini dosyamın yerini bulamıyorum!

Öntanımlı olarak Unix üzerindeki yeri /usr/local/lib dizinidir. Çoğu kişi bu dosyanın yerini derleme sırasında --with-config-file-path seçeneğini kullanarak değiştirmektedir. Siz de isterseniz dosyanın yerini şöyle değiştirebilirsiniz:

--with-config-file-path=/etc
Böylece kaynak paketindeki php.ini-development dosyası /etc/php.ini olarak kurulur ve üzerinde istediğiniz değişiklikleri yapabilirsiniz.

--with-config-file-scan-dir=YOL

Windows'ta php.ini dosyasının öntanımlı yeri Windows dizinidir. Apache HTTP sunucusu kullanıyorsanız php.ini önce Apache'nin kurulum dizininde aranır (örn, c:\program files\apache group\apache). Bu yer aynı makinede çalışan farklı Apache sürümleri için farklı yerlerde olabilir.

Ayrıca bakınız: Yapılandırma Dosyası.

Unix: PHP'yi kurdum, fakat her belge yükleyişimde 'Document Contains No Data'! (Belge hiç veri içermiyor!) şeklinde bir ileti alıyorum. Ne yapmalıyım?

Muhtemelen PHP'nin bazı sorunları var ve core dosyası dökümlüyor olmalı. Bu durumda, sunucunuzun günlük kayıt dosyalarına bakıp sorunu küçük bir deney ortamında üretmeye çalışın. 'gdb' kullanmayı biliyorsanız, hata raporunuzda sorun hakkında geliştiricilere çok yardımcı olacak bir hata izleme çıktısı sağlayabilirsiniz. PHP'yi bir Apache modülü olarak kullanıyorsanız şunları yapmayı deneyin:

  • httpd sürecini durdurun

  • gdb httpd

  • httpd süreçlerini durdurun

  • > run -X -f /bir/yol/httpd.conf

  • Ardından soruna sebep olan adresi tarayıcınızla açın.

  • > run -X -f /bir/yol/httpd.conf

  • Bir core dosyası dökümleniyorsa gdb size bunun sebebini söyleyecektir.

  • Şunu yazın: bt

  • Hata raporunuza bu geriye doğru hata izleme bilgisini eklemeli ve raporu » https://github.com/php/php-src/issues adresinden göndermelisiniz.

Eğer betiğinizde düzenli ifade işlevlerini (preg_match() ve benzerleri) kullanıyorsanız, PHP'yi ve Apache'yi aynı düzenli ifade paketiyle derlediğinizden emin olmalısınız. PHP ve Apache 1.3.x için bu otomatik olarak gerçekleşir.

Unix: PHP'yi RPM'leri kullanarak kurdum, fakat Apache, PHP sayfalarını işlemiyor! Ne yapmalıyım?

Hem Apache hem de PHP'yi RPM paketlerinden kurduğunuz varsayımıyla httpd.conf dosyanıza aşağıdaki satırların tamamını veya bir kısmını ekleyin veya başlarındaki # imlerini silip o satırları etkin kılın:

# Ek Modüller
AddModule mod_php.c
AddModule mod_perl.c

# Ek Modüller
LoadModule php_module         modules/mod_php.so
LoadModule php5_module        modules/libphp5.so
LoadModule perl_module        modules/libperl.so
Ve sunucu genelinde geçerli olacak şekilde veya PHP'nin etkin olacağı sanal konak bölümünde şu satırı ekleyin:
AddType application/x-httpd-php .php

Unix: Apache'yi FrontPage eklenti yamasıyla yamadım ve hemen ardından PHP çalışmaz hale geldi. PHP, Apache FrontPage eklentileriyle uyumlu değil mi?

PHP, FrontPage eklentileriyle gayet güzel çalışır. Sorun, FrontPage yamasının PHP'nin de çalıştığı veri yapılarını değiştirmesidir. FP yamasını uyguladıktan sonra PHP'yi yeniden derleyerek (make clean; make) sorunu çözebilirsiniz.

Unix/Windows: PHP'yi kurdum, fakat PHP betiğine tarayıcımla erişmeye çalıştığımda boş bir sayfa alıyorum.

Tarayıcınıza 'Sayfa kaynağını göster' derseniz PHP betiğinizin kaynak koduna bakarak sorunun kaynağını bulabilirsiniz. Yani, HTTP sunucusu betiği yorumlasın diye PHP'ye göndermemiştir. Sunucu yapılandırmasında birşeyler yanlış gitmiş olabilir. PHP kurulum talimatlarını tekrar uygulayarak sunucu kurulumunuzu tekrar gözden geçirin.

Unix/Windows: PHP'yi kurdum, fakat PHP betiğine tarayıcımla erişmeye çalıştığımda sunucudan 500 hatası alıyorum.

Sunucu PHP'yi çalıştırmaya uğraşırken birşeyler yanlış gitmiş. Hataları görmek için komut satırından PHP çalıştırılabilirinin (Windows'ta php.exe) bulunduğu dizine geçip php -i komutunu verin. Eğer PHP çalışırken bir sorun ortaya çıkıyorsa ne yapılması gerektiği ile ilgili ipuçları içeren bir hata iletisi gösterilir. Eğer ekranı dolduran bir dolu HTML kodu alıyorsanız (bu, phpinfo() işlevinin çıktısıdır) PHP düzgün çalışıyor demektir. Bu durumda sunucu yapılandırmanızı tekrar gözden geçirmeniz gerekir.

Bazı işletim sistemleri: PHP'yi hatasız kurdum fakat Apache'yi başlatmak istediğimde tanımsız simge hataları aldım:
[mybox:user /src/php5] root# apachectl configtest
 apachectl: /usr/local/apache/bin/httpd Undefined symbols:
  _compress
  _uncompress

Bu sorun PHP'nin kendisi ile değil, MySQL istemci kütüphanesi ile ilgilidir. Derleme sırasında --with-zlib seçeneğini kullansaydınız bu sorun çıkmayacaktı. Bu konudan MySQL SSS'sinde de bahsedilmiştir.

Windows: PHP'yi kurdum fakat tarayıcımla bir PHP betiğine erişmek istediğimde şöyle bir hata alıyorum:
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:

Hata iletisi PHP'nin hiçbir şey çıktılamadan başarısız olduğu anlamına gelmektedir. Hataları görmek için komut satırından PHP çalıştırılabilirinin (Windows'ta php.exe) bulunduğu dizine geçip php -i komutunu verin. Eğer PHP çalışırken bir sorun ortaya çıkıyorsa ne yapılması gerektiği ile ilgili ipuçları içeren bir hata iletisi gösterilir. Eğer ekranı dolduran bir dolu HTML kodu alıyorsanız (bu, phpinfo() işlevinin çıktısıdır) PHP düzgün çalışıyor demektir.

PHP komut satırından düzgün çalışıyorsa betiğe tarayıcınızla tekrar erişmeyi deneyin. Yine aynı hatayı alıyorsanız sorun şunlardan biri olabilir:

  • Yüklemeye çalıştığınız PHP betiği, php.exe, php5ts.dll, php.ini veya PHP eklentileri gibi bazı dosyaların izinleri anonim internet kullanıcısının ISUR_<makineadı> bunlara erişebilmesine izin vermiyordur.
  • Betik dosyası mevcut değildir (veya belge kök dizinine göre sizin düşündüğünüz yerde değildir). IIS kullanıyorsanız, İnternet Hizmetleri Yöneticisinde betik eşlemlerini ayarlarken 'dosya mevcut mu diye bir bakıver' kutusunu işaretlemek suretiyle bu hatayı yakalayabilirsiniz. Betik dosyasının mevcut olmaması durumunda sunucu bu hata yerine bir 404 hatası döndürecektir. IIS kullanmanın size ek bir yararı daha olacak: Betik dosyanız üzerinde NTLanMan izinlerine dayalı olarak gerekli kimlik doğrulaması da yapılacaktır.
Windows: Tüm talimatları izlememe rağmen PHP ile IIS'yi birlikte çalıştıramadım!

PHP betiğini çalıştıracak kullanıcıların php.exe'yi çalıştırabilecek izinlere sahip olup olmadığına bakın! IIS bunun için kurulumda eklenen bir anonim kullanıcı kullanır. Bu kullanıcının php.exe'yi çalıştıracak izne sahip olması gerekir. Ayrıca, kimlik doğrulaması gerektiren kullanıcıların da php.exe'yi çalıştıracak izne sahip olması gerekir. Ve IIS4'e PHP'nin bir betik yorumlayıcı olduğunu da belirtmeniz gerekir. Ek olarak, bu SSS'yi de okumanızı öneririz.

PHP'yi IIS, PWS, OmniHTTPD veya Xitami ile CGI olarak çalıştırırken şu hatayı alıyorum: Security Alert! PHP CGI cannot be accessed directly..

cgi.force_redirect yönergesine 0 atamalısınız. Öntanımlı değeri 1 olup, php.ini dosyasında bulunduğu satırın başında bir ; varsa o noktalı virgülü silmeniz gerekir.

Öntanımlı değer 1 olduğundan değişikliği doğru php.ini dosyasında yaptığınızdan %100 emin olmalısınız. Daha ayrıntılı bilgi için bu SSS'ye bakınız.

Hangi php.ini dosyasının okunduğunu nasıl anlayacağım? Yaptığım değişikliklerin bir etkisi olmuyor gibi gözüküyor.

php.ini dosyanızın PHP tarafından okunduğundan emin olmak için phpinfo() çağrısı yapmanız gerekir. Sayfanın başına yakın bir yerlerde hangi dosyanın okunduğu bilgisini Configuration File (php.ini) altında görebilirsiniz. Böylece dosyayı nereye koyacağınızı bilirsiniz. Eğer listede sadece bir dizin varsa php.ini dosyanızı bu dizine koymalısınız. php.ini dosyanız listede gösterilen dizinlerden birindeyse okunacak demektir.

Eğer php.ini okunuyor ve siz PHP'yi bir modül olarak çalıştırıyorsanız php.ini dosyanızda değişiklik yaptıktan sonra HTTP sunucunuzu yeniden başlatmayı unutmayınız.

Ayrıca bakınız: php_ini_loaded_file().

PHP dizinimi Windows'ta PATH değişkenine nasıl eklerim?

Windows:

  • Denetim Masasına gidip Sistem simgesini açın (Başlat › Denetim Masası › Sistem).

  • Gelişmiş sekmesine gidin.

  • 'Ortam Değişkenleri' düğmesine tıklayın.

  • 'Sistem Değişkenleri' panosuna bakın.

  • Path girdisini bulun (bulmak için listeyi kaydırmanız gerekebilir)

  • Path girdisine çift tıklayın.

  • Satırın sonuna bir ';' koyup PHP dizini ekleyin (örnek: ;C:\php).

  • Tamam düğmesine tıklayın.

Bilginize: PATH değişkeninde yaptığınız değişikliklerin uygulanmasını istiyorsanız yukarıdaki işlemleri yaptıktan sonra bilgisayarınızı yeniden başlatmayı unutmayınız.

Windows üzerinde PHP'nin php.ini dosyasını kullanabilmesini nasıl sağlarım?

Bunu yapmanın çeşitli yolları vardır. Apache kullanıyorsanız Apache belgelerine bakın, aksi takdirde PHPRC ortam değişkenini kullanmalısınız.

PHP ile Apache içerik dili uzlaşımını kullanmak (MultiViews seçeneği) mümkün mü?

PHP'yi dosya uzantıları ile ilişkilendirirseniz herşey düzgün çalışır. Bu SSS'de PHP dosyalarını uzantısız ilişkilendirdiğinizi ve içerik uzlaşımında PHP dosyalarının uzantılarına bakılmaksızın seçilmesini istediğinizi varsayacağız. Bu durumda, AddType application/x-httpd-php .php yerine şunları yazın:

AddHandler php5-script php
AddType text/html php
Bu çözüm PHP'nin bir modül olarak çalıştığı Apache 1'de php-script yakalanmayacağından çalışmayacaktır.

PHP'nin GET ve POST istekleri dışında istekleri işleme sokmaması sağlanabilir mi?

Hayır. PHP, CONNECT gibi her istek yöntemiyle çalışabilir. Doğru yanıt durumu header() ile gönderilebilir. Eğer sadece GET ve POST yöntemlerinin işleme sokulmasını istiyorsanız bunu Apache yapılandırmanızda şöyle sağlayabilirsiniz:

<LimitExcept GET POST>
Deny from all
</LimitExcept>


Derleme Sorunları

Bu bölüm, derleme sırasında oluşan hatalardan sık rastlananlarla ilgili sorular ve çözümlerden derlenmiştir.

  1. PHP'nin en son sürümünü anonim Git'ten aldım, fakat configure betiği yok!
  2. PHP'yi Apache ile çalışmak üzere yapılandırırken sorun çıktı. httpd.h dosyasını bulamadığını söylüyor, fakat burası bunu sorabileceğim doğru yer mi bilmiyorum!
  3. PHP'yi yapılandırırken (./configure), şöyle bir hata alıyorum: checking lex output file root... ./configure: lex: command not found configure: error: cannot find output from lex; giving up
  4. Apache'yi başlatmaya çalışırken şöyle bir hata alıyorum: fatal: relocation error: file /bir/yol/libphp4.so: symbol ap_block_alarms: referenced symbol not found
  5. configure betiğini çalıştırdığımda başlık dosyalarını veya GD, gdbm veya başka bir paketin kütüphanelerini bulamadığını söylüyor!
  6. language-parser.tab.c dosyasını derlerken yytname undeclared diye bir takım hatalar veriyor
  7. make komutunu verdiğim zaman başta herşey iyi gidiyor, fakat son ilintileme işlemlerini yaparken bazı dosyaları bulamıyor.
  8. PHP ilintilenirken bazı tanımsız gönderimler olduğundan şikayet ediyor.
  9. Unix üzerinde PHP'yi Apache modülü olarak derleme adımlarını izleyerek PHP'yi kurdum. Tarayıcımla PHP dosyalarını görmek istediğim zaman tarayıcım dosyayı kaydedeceği yeri soruyor.
  10. --activate-module=src/modules/php4/libphp4.a yapılandırmasını kullandığını söylüyor ama bu dosya yok. Yapılandırmayı --activate-module=src/modules/php4/libmodphp4.a olarak değiştirdiğimde ise çalışmıyor!? Ne yapmalıyım?
  11. Apache'yi PHP'yi bir statik modül olarak kullanacak şekilde --activate-module=src/modules/php4/libphp4.a ile yapılandırırken derleyicimin ANSI uyumlu olmadığı hatasını alıyorum.
  12. PHP'yi --with-apxs yapılandırması ile derlerken tuhaf hata iletileri alıyorum.
  13. Microtime'da make sırasında RUSAGE_'li iletiler ve bazı hatalar alıyorum.
  14. PHP'yi MySQL destekli derlerken, make işlemi sırasında şuna benzer bir hata iletisi alıyorum: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp'. Neyi yanlış yapıyorum?
  15. PHP sürümümü yükseltmek istiyorum. Mevcut PHP kurulumumun için kullanılan ./configure satırını nerede bulabilirim?
  16. PHP'yi GD kütüphanesi ile derlerken ya tuhaf derleme hataları ya da çalışma sırasında parçalama arızası alıyorum.
  17. PHP'yi derlerken rasgele hatalar alıyorum ve derleme işlemi duruyor. Bu arada, Solaris kullandığımı belirtmeliyim.
PHP'nin en son sürümünü anonim Git'ten aldım, fakat configure betiği yok!

Sisteminizde GNU autoconf paketi kuruluysa configure betiğini configure.in dosyasından üretebilirsiniz. Tek yapacağınız Git sunucusundan aldığınız kaynak kök dizininde ./buildconf komutunu vermek olacak. (Ayrıca, configure betiğini --enable-maintainer-mode seçeneğiyle çalıştırmadıkça configure.in güncellendiğinde configure betiği yeniden oluşturulmaz, bu bakımdan configure.in değiştiğine dair uyarı alırsanız ne yapılacağı konusunda emin olmalısınız.) Bunun tek belirtisi configure veya config.status çalıştırıldıktan sonra Makefile dosyanızda @VARIABLE@ gibi şeyler bulunmasıdır.)

PHP'yi Apache ile çalışmak üzere yapılandırırken sorun çıktı. httpd.h dosyasını bulamadığını söylüyor, fakat burası bunu sorabileceğim doğru yer mi bilmiyorum!

configure/setup betiğine Apache kaynak ağacınınızın en üst seviye dizininin yerini belirtmeniz lazım. Yani, seçenekte yolu --with-apache=/bir/yol/apache biçiminde belirteceksiniz, --with-apache=/bir/yol/apache/src biçiminde değil.

PHP'yi yapılandırırken (./configure), şöyle bir hata alıyorum:

checking lex output file root... ./configure: lex: command not found
configure: error: cannot find output from lex; giving up

Kurulum talimatlarını dikkatle okuyun ve PHP'yi derlemeden önce kurulması gereken bison ve flex sürümlerine dikkat edin. Dağıtımınıza ve yapılandırmanıza bağlı olarak bison ve flex'i kaynak kodlarından kendiniz derleyebileceğiniz gibi RPM gibi bir paketten de kurabilirsiniz.

Apache'yi başlatmaya çalışırken şöyle bir hata alıyorum:

fatal: relocation error: file /bir/yol/libphp4.so:
symbol ap_block_alarms: referenced symbol not found

Apache programı paylaşımlı kullanım için bir DSO kütüphanesi olarak derlendiği takdirde genelde böyle bir hata alınır. Apache'yi en azından aşağıdaki seçeneklerin bulunduğundan emin olarak yeniden yapılandırıp kurmalısınız:

--enable-shared=max --enable-rule=SHARED_CORE

Apache kaynak ağacının kök dizininde bulunan INSTALL dosyasından veya Apache » DSO kılavuz sayfasından daha ayrıntılı bilgi alabilirsiniz.

configure betiğini çalıştırdığımda başlık dosyalarını veya GD, gdbm veya başka bir paketin kütüphanelerini bulamadığını söylüyor!

configure betiğine, standart yerlerinde bulunmayan başlık dosyalarının ve kütüphanelerin yerlerini ek seçeneklerle belirterek bunların C önişlemcisine ve ilintileyiciye aktarılmasını sağlamalısınız. Örnek:

    CPPFLAGS=-I/bir/yol/include LDFLAGS=-L/bir/yol/lib ./configure
Oturum kabuğu olarak bir csh kabuğu kullanıyorsanız (nedense?), aynı şeyi şöyle yapabilirsiniz:
    env CPPFLAGS=-I/bir/yol/include LDFLAGS=-L/bir/yol/lib ./configure

language-parser.tab.c dosyasını derlerken yytname undeclared diye bir takım hatalar veriyor

Bison sürümünüzü güncellemeniz gerekiyor. En son sürümü » http://www.gnu.org/software/bison/bison.html adresinde bulabilirsiniz.

make komutunu verdiğim zaman başta herşey iyi gidiyor, fakat son ilintileme işlemlerini yaparken bazı dosyaları bulamıyor.

Eski make sürümleri functions dizinindeki dosyaların derlenmiş sürümlerini aynı dizine koymuyor. cp *.o functions komutunu verdikten sonra tekrar make komutunu çalıştırıp bunun yararı olup olmadığına bakın. Eğer işe yarıyorsa GNU make'i en son sürümüne yükseltmeniz gerekiyor demektir.

PHP ilintilenirken bazı tanımsız gönderimler olduğundan şikayet ediyor.

İlintileme satırında ilgili kütüphanelerin hepsi var mı diye bir bakın. Örneğin, '-ldl' veya bulunmasını istediğiniz veritabanı desteği için gereken kütüphaneler satırda eksik olabilir.

Bazı kişiler Apache ile ilintileme sırasında '-ldl'nın hemen ardına libphp4.a eklemek zorunda kaldıklarını bildirdiler.

Unix üzerinde PHP'yi Apache modülü olarak derleme adımlarını izleyerek PHP'yi kurdum. Tarayıcımla PHP dosyalarını görmek istediğim zaman tarayıcım dosyayı kaydedeceği yeri soruyor.

PHP modülünün bir şekilde PHP dosyalarını yorumlamak üzere devreye girmediği anlaşılıyor. Öncelikle şu üç şeyi yerine getirin:

  • httpd çalıştırılabilirinin sizin derlediğiniz çalıştırılabilir olduğundan emin olun. Bunun için /bir/yol/bin/httpd -l komutunu deneyin. Komutun çıktısında mod_php4.c yer almıyorsa doğru çalıştırılabiliri kullanmıyorsunuz demektir. Doğru çalıştırılabiliri bulup onu kurun.
  • Apache .conf dosyalarınızdan ilgili olanına PHP için doğru MIME türünü eklediğinizden emin olun. Gerekli satır: AddType application/x-httpd-php .php Ayrıca, bu AddType satırının bir <Virtualhost> veya <Directory> bloğunun içinde kalıp, betiğinizin çalıştığı konumda etkisiz olmadığından da emin olmalısınız.
  • Son olarak, Apache yapılandırma dosyalarının yerleri Apache 1.2 ve Apache 1.3 için farklıdır. Bu bakımdan AddType satırını doğru dosyaya yazdığınızdan da emin olmalısınız. httpd.conf dosyanızda, Apache başlatılırkan hata vermesine yol açacak bir söz dizimi hatası yapmanız doğru dosyayı tespit etmek için yeterli olacaktır.

--activate-module=src/modules/php4/libphp4.a yapılandırmasını kullandığını söylüyor ama bu dosya yok. Yapılandırmayı --activate-module=src/modules/php4/libmodphp4.a olarak değiştirdiğimde ise çalışmıyor!? Ne yapmalıyım?

libphp4.a dosyasının mevcut olduğunun "varsayıldığına" dikkat etmemişsiniz. Apache ikinci kez derlenirken o dosyayı kendisi üretecek!

Apache'yi PHP'yi bir statik modül olarak kullanacak şekilde --activate-module=src/modules/php4/libphp4.a ile yapılandırırken derleyicimin ANSI uyumlu olmadığı hatasını alıyorum.

Bu Apache'nin sonraki sürümlerinde düzeltilen gözden kaçmış bir hatadır.

PHP'yi --with-apxs yapılandırması ile derlerken tuhaf hata iletileri alıyorum.

Burada bakacağınız üç şey var. Birincisi, bir sebeple Apache derlenirken apxs Perl betiği bazen hatalı derleyici ve ortam değişkenleri ile derleme yapmaya çalışabiliyor. apxs betiğini bulup (which apxs komutu yardımcı olabilir, genellikle yeri /usr/local/apache/bin/apxs veya /usr/sbin/apxs'tir) açın ve aşağıdaki satırların benzerleri var mı diye bir bakın:

my $CFG_CFLAGS_SHLIB  = ' ';          # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = ' ';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = ' ';          # substituted via Makefile.tmpl
Gördüğünüz bunun gibiyse sorunu buldunuz demektir. Sadece boşluklar veya 'q()' gibi hatalı değerler içerebilirler. Bu satırları aşağıdaki gibi değiştirin:
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE'; # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';                   # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);              # substituted via Makefile.tmpl
İkinci olası sorun kaynağı Red Hat 6.1 veya 6.2 kullanıyor olmaktır. Red Hat'ın derlediği apxs betiği hatalıdır. Şu satırı bulun:
my $CFG_LIBEXECDIR    = 'modules';         # substituted via APACI install
Ve şu satırla değiştirin:
my $CFG_LIBEXECDIR    = '/usr/lib/apache'; # substituted via APACI install
Sonuncusu, eğer Apache'yi yeniden yapılandırıp kuruyorsanız ./configure betiğini çalıştırdıktan sonra make komutunu vermeden bir make clean yapmalısınız.

Microtime'da make sırasında RUSAGE_'li iletiler ve bazı hatalar alıyorum.

Kurulumun make kısmında sorun şuna benzer bir çıktıyla kendini gösteriyorsa:

microtime.c: In function `php_if_getrusage':
microtime.c:94: storage size of `usg' isn't known
microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
microtime.c:97: (Each undeclared identifier is reported only once
microtime.c:97: for each function it appears in.)
microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
make[3]: *** [microtime.lo] Error 1
make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/master/php-4.0.1/ext'
make: *** [all-recursive] Error 1

Sorun sisteminizde demektir. Kullandığınız glibc'nin glibc-devel paketini kurup /usr/include dosyalarınızı tamamlayın. Bunun PHP ile hiçbir alakası yoktur. Sorunu kendiniz çözmelisiniz. Basit bir deneme yapın:

$ cat >test.c <<X
#include <sys/resource.h>
X
$ gcc -E test.c >/dev/null
Sonuçta hata alıyorsanız, glibc başlık dosyaları sisteminizde kurulu değil demektir.

PHP'yi MySQL destekli derlerken, make işlemi sırasında şuna benzer bir hata iletisi alıyorum: ext/mysql/libmysqlclient/my_tempnam.o(.text+0x46): In function my_tempnam': /php4/ext/mysql/libmysqlclient/my_tempnam.c:103: the use of tempnam' is dangerous, better use mkstemp'. Neyi yanlış yapıyorum?

Önce dikkat etmeniz gereken şey bunun ölümcül bir hata değil bir uyarı (Warning) olduğudur. Bu genellikle make işleminin son çıktısı olduğundan bir ölümcül hata gibi görünür ama değildir. Eğer derleyicinizi uyarıları vermeyecek şekilde ayarlarsanız bu iletiyi bir daha almazsınız. Ayrıca, PHP 4'te MySQL desteğinin öntanımlı olarak etkin olduğunu unutmayın.

Bilginize:

PHP 4.3.2 ve sonrasında, derleme (make) işleminin bitiminde şöyle bir çıktı göreceksiniz:

Build complete.
(It is safe to ignore warnings about tempnam and tmpnam).
Türkçesi: Derleme tamamlandı. (tempnam ve tmpnam ile ilgili uyarıları rahatça gözardı edebilirsiniz).

PHP sürümümü yükseltmek istiyorum. Mevcut PHP kurulumumun için kullanılan ./configure satırını nerede bulabilirim?

PHP'yi derlediğiniz kaynak dizininzdeki config.nice dosyasında bulabilirsiniz. Bu yoksa, aşağıdaki betiği çalıştırın:

<?php phpinfo(); ?>
Çıktının başlarında PHP kurulumu için kullanılan ./configure satırını göreceksiniz.

PHP'yi GD kütüphanesi ile derlerken ya tuhaf derleme hataları ya da çalışma sırasında parçalama arızası alıyorum.

GD kütüphanesinin PHP'nin bağımlı olduğu kütüphanelerle (libpng gibi) ilintilenerek derlenmiş olduğundan emin olun.

PHP'yi derlerken rasgele hatalar alıyorum ve derleme işlemi duruyor. Bu arada, Solaris kullandığımı belirtmeliyim.

PHP'yi GNU araçları dışında araçlarla derlemek bazı sorunlara sebep olabilir. PHP'yi GNU araçlarıyla derlemeye çalışın. Örneğin, Solaris'te SunOS BSD uyumlu veya Solaris sürümü sed çalışmayacak fakat GNU veya Sun POSIX (xpg4) sürümleri çalışacaktır. Derleme için gerekli araçlar: » GNU sed, » GNU flex ve » GNU bison.


PHP Kullanımı

Bu bölüm, PHP betiklerini yazarken karşılaşabileceğiniz hatalarla ilgili sıkça sorulan sorulardan oluşturulmuştur.

  1. PHP'deki bağımsız değişkenlerin sırasını hatırlayamadım, rasgele midir?
  2. Bir formdan gelen veriyi işleyebileceğim genel amaçlı bir PHP betiği yazmak istiyorum. Hangi POST değişkenlerinin kullanılabilir olduğunu nasıl bileceğim?
  3. Benim bütün tek tırnakları bir tersbölü ile öncelemem lazım. Bunu bir düzenli ifade ile nasıl yapabilirim? Ayrıca, " imlerini \" ve \ imlerini de \\ biçimine çevirmek istiyorum.
  4.       Aşağıdakini gerçeklerken çıktı yanlış sırada basılıyor:

<?php
function işlevim($bağımsız_değişken)
{
    echo $bağımsız_değişken + 10;
}
$değişken = 10;
echo "işlevim($değişken) = " . işlevim($değişken);
?>

     Neyi yanlış yapıyorum?
  5. Hey, satırsonu karakterleri nereye gitti? <pre> <?php echo "Bu ilk satır olmalı."; ?> <?php echo "Bu da ilk satırın altındaki satır olmalı."; ?> </pre>
  6. Şöyle bir ileti alıyorum: 'Warning: Cannot send session cookie - headers already sent...' veya 'Cannot add header information - headers already sent...'. (Tercümesi: 'Uyarı: Oturum çerezleri gönderilemiyor - başlıklar zaten gönderilmişti...' veya 'Başlık bilgisi eklenemiyor - başlıklar zaten gönderilmişti...')
  7. İstek başlığındaki bilgiye doğrudan erişmem gerekiyor. Bunu nasıl yapabilirim?
  8. IIS ile kimlik doğrulaması yapmaya çalışırken şunu alıyorum: 'No Input file specified' (Türkçesi: 'Girdi dosyası belirtilmemiş').
  9. Windows: IIS kullanarak diğer bilgisayardaki paylaşımlı dosyalara erişemiyorum.
  10. PHP betiklerinde nasıl XML kullanabilirim? <?xml etiketlerinde sorun çıkarıyor!
  11. PHP'de kullanabileceğim değişkenlerin tam listesini nerede bulabilirim?
  12. PDFLib gibi ticari ve özgür olmayan kütüphaneleri kullanmaksızın PDF dosyaları nasıl üretebilirim?
  13. Bazı PHP yönergeleri büyük bayt değerleri için Kilobayt, Megabayt birimlerin kısaltmalarını kabul edebiliyor. Bu birimlerin tam listesini nerede bulabilirim?
PHP'deki bağımsız değişkenlerin sırasını hatırlayamadım, rasgele midir?

PHP yüzlerce harici kütüphaneyi bir araya getiren bir yapıştırıcıdır, dolayısıyla bu bazı düzensizliklere yol açar. Böyle düzensizlikler için basit bir kural uygulanır:

Dizi işlevlerinin bağımsız değişkenleri "iğne, samanlık" diye dizilirken dizge işlevlerinin bağımsız değişkenleri tersine "samanlık, iğne" diye dizilir.

Bir formdan gelen veriyi işleyebileceğim genel amaçlı bir PHP betiği yazmak istiyorum. Hangi POST değişkenlerinin kullanılabilir olduğunu nasıl bileceğim?

PHP, $_POST süper küreseli gibi bir çok öntanımlı değişkene sahiptir. POST yöntemi ile gönderilmiş değerleri bir ilişkisel dizi olarak $_POST üzerinden döngüye sokabilirsiniz. Örnek olarak, foreach ile basit bir döngü oluşturup boş değerleri empty() ile tespit edip bütün değerleri basalım:

<?php
$empty = $post = array();
foreach ($_POST as $varname => $varvalue) {
if (empty($varvalue)) {
$empty[$varname] = $varvalue;
} else {
$post[$varname] = $varvalue;
}
}

print "<pre>";
if (empty($empty)) {
print "POST ile gönderilen boş değer yok; değerler:\n";
var_dump($post);
} else {
print count($empty) . " boş değer var.\n";
print "Boş olmayanlar:\n"; var_dump($post);
print "Boş olanlar:\n"; var_dump($empty);
exit;
}
?>

Benim bütün tek tırnakları bir tersbölü ile öncelemem lazım. Bunu bir düzenli ifade ile nasıl yapabilirim? Ayrıca, " imlerini \" ve \ imlerini de \\ biçimine çevirmek istiyorum.

Bunun bir veritabanı için yapıldığını varsayarak, veritabanı ile gelen önceleme mekanizması kullanılabilir. Örneğin, MySQL ile mysql_real_escape_string(), PostgreSQL ile pg_escape_string() işlevi kullanılır. Ayrıca, PHP kodu için daha genel amaçlı olarak addslashes() ve stripslashes() işlevleri de vardır.

Aşağıdakini gerçeklerken çıktı yanlış sırada basılıyor:
<?php
function işlevim($bağımsız_değişken)
{
echo $bağımsız_değişken + 10;
}
$değişken = 10;
echo "işlevim($değişken) = " . işlevim($değişken);
?>
Neyi yanlış yapıyorum?

İşlevinizin sonucunu bir ifadede kullanmak istiyorsanız (yukarıdaki örnekte yapıldığı gibi dizgeleri ardarda eklemek gibi), işlevinizin sonucu return ile döndürmesi echo ile çıktılamaması gerekir.

Hey, satırsonu karakterleri nereye gitti?
<pre>
<?php echo "Bu ilk satır olmalı."; ?>
<?php echo "Bu da ilk satırın altındaki satır olmalı."; ?>
</pre>

PHP'de, bir kod bloğu ya "?>" ya da "?>\n" (burada \n satırsonu karakteridir) ile biter. PHP blokların sonundaki satırsonu karakterlerini yoksaydığından yukarıdaki örnekte çıktılanan iki satır aynı satıra basılacaktır. Yani, her bloktan sonra bir satırsonu karakteri basılmasını istiyorsanız fazladan bir satırsonu karakteri yerleştirmeniz (bloklar arasına boş bir satır girmek) gerekir.

PHP bunu neden yapıyor? Normal HTML biçemlerken bloklardan sonra satırsonu karakterlerinin bulunması genelde istenmeyen bir durumdur ve PHP buna göre davranır. Bu böyle yapılmasaydı gereğinden fazla uzun satırlardan oluşan kodlar yazmak zorunda kalırdınız ve bu da kodlarınızın okunaklılığını azaltırdı.

Şöyle bir ileti alıyorum: 'Warning: Cannot send session cookie - headers already sent...' veya 'Cannot add header information - headers already sent...'. (Tercümesi: 'Uyarı: Oturum çerezleri gönderilemiyor - başlıklar zaten gönderilmişti...' veya 'Başlık bilgisi eklenemiyor - başlıklar zaten gönderilmişti...')

Başlıkları çıktı akımına eklemek için header(), setcookie() ve oturum işlevleri kullanmak gerekir. Bu işlevleri kullanmadan önce hiçbir çıktılama (HTML gibi) yapılmamış olması gerekir. headers_sent() işlevi betiğinizin evvelce başlıkları gönderip göndermediğinize bakacaktır. Ayrıca, Çıktı Denetim İşlevleri'ne de bakınız.

İstek başlığındaki bilgiye doğrudan erişmem gerekiyor. Bunu nasıl yapabilirim?

PHP'yi bir Apache modülü olarak çalıştırıyorsanız getallheaders() işlevi istediğiniz şeyi yapacaktır. Aşağıdaki küçük kod tüm istek başlıklarını gösterecektir:

<?php
$başlıklar = getallheaders();
foreach ($başlıklar as $isim => $içerik) {
echo "başlıklar[$isim] = $içerik<br />\n";
}
?>

Ayrıca bakınız:
apache_lookup_uri(),
apache_response_headers() ve
fsockopen()

IIS ile kimlik doğrulaması yapmaya çalışırken şunu alıyorum: 'No Input file specified' (Türkçesi: 'Girdi dosyası belirtilmemiş').

IIS'nin güvenlik modeli bu noktada hata verecektir. Bu, IIS altında çalışan bütün CGI programlarının ortak sorunudur. Bu sorundan kurtulmanın tek yolu erişim için kimlik doğrulaması yapılacak dizinde girdi sayfası olarak (PHP ile çözümlenmeyecek) düz bir HTML sayfası oluşturmaktır. Ya bir META etiketi ile PHP dosyaya yönlendirme yaparsınız ya da sayfaya PHP dosya için bir bağlantı koyarsınız. Böylelikle PHP kimlik doğrulamasını doğru olarak yapacaktır. Bunun diğer NT HTTP sunucularını etkilememesi gerekir. Daha fazla bilgi için » http://support.microsoft.com/kb/q160422/ adresine ve bu kılavuzun HTTP Kimlik Doğrulaması bölümüne bakınız.

Windows: IIS kullanarak diğer bilgisayardaki paylaşımlı dosyalara erişemiyorum.

Internet Information Services Yöneticisini açın. PHP dosyanızı bulup özelliklerine gidin. Dosya Güvenliği sekmesine geçip, Anonim erişim ve kimlik doğrulama denetimi bölümlerini düzenleyin.

Anonim Erişim'i işaretsiz, Tümleşik Windows Kimlik Doğrulaması'nı işaretli bırakarak veya Anonim Erişim'i işaretleyip erişim izni vermek istediğiniz kullanıcıyı düzenleyerek sorunu çözümleyebilirsiniz.

PHP betiklerinde nasıl XML kullanabilirim? <?xml etiketlerinde sorun çıkarıyor!

<?xml etiketlerini PHP kodu içinde doğrudan kullanmak isterseniz, PHP'nin kısa etiketlerini, short_open_tags yönergesine 0 değerini atamak suretiyle devre dışı bırakmanız gerekir. Bu yönergeye ini_set() işleviyle değer atayamazsınız. short_open_tags yönergesinin değerinin ne olduğuna bakmaksızın bu etiketi şöyle de kullanabilirsiniz: <?php echo '<?xml'; ?>. Bu yönergenin öntanımlı değeri On'dur.

PHP'de kullanabileceğim değişkenlerin tam listesini nerede bulabilirim?

Betiğinizde kullanılabilecek öntanımlı değişkenlerin bir kısmını içeren Öntanımlı Değişkenler bölümünü okuyunuz. Kullanılabilecek değişkenlerin ve daha pek çok şeyin tam bir listesini elde etmek için phpinfo() işlevini kullanabilirsiniz. HTML formları, çerezler ve URL'ler gibi kaynaklardan elde edilen harici değişkenlerle ilgili senaryoların açıklandığı Dış Kaynaklı Değişkenler bölümünü de okumayı unutmayın.

PDFLib gibi ticari ve özgür olmayan kütüphaneleri kullanmaksızın PDF dosyaları nasıl üretebilirim?

PHP ile yazılmış bir kaç seçenek var: » FPDF ve » TCPDF.

Bazı PHP yönergeleri büyük bayt değerleri için Kilobayt, Megabayt birimlerin kısaltmalarını kabul edebiliyor. Bu birimlerin tam listesini nerede bulabilirim?

Kilobaytlar için K, Megabaytlar için M ve Gigabaytlar için G kullanılabilmektedir. Bunlar harf büyüklüğüne duyarlıdır. Belirtilmedikleri takdirde değerin bayt sayısını gösterdiği varsayılır. 1K bir Kilobayta veya 1024 bayta, 1M ise bir Megabayta veya 1048576 bayta eşittir. Bu birimlerin kısa gösterimlerini php.ini dışında ve ini_set() işlevinde kullanabilirsiniz. Sayısal değerler int türüne dönüştürülür. Örneğin, 0.5M değeri 0 olur.

Bilginize: kilobayt mı, kibibayt mı?

PHP gösteriminde bir kilobayt 1024 bayta eşittir. IEC standardı bunu kibibayt olarak adlandırır. Özetle: k veya K = 1024 bayt.


Güvenli Parola aşlama

Bu bölümde, parolaları güvenlik altına alma da kullanılan aşlama (hashing) işlevinin arka planını ve etkin bir şekilde nasıl uygulayabileceğimizi ele alacağız.

  1. Kullanıcıların girmiş olduğu parolaları neden aşlamalıyım?
  2. MD5 ve SHA1 gibi genel aşlama işlevlerini parolalar için kullanmak neden uygun değildir?
  3. Genel aşlama teknikleri kullanışlı olmadıklarına göre, parolalarımı nasıl aşlamalıyım?
  4. Tuzlama nedir?
  5. Tuzlarımı nasıl saklarım?
Kullanıcıların girmiş olduğu parolaları neden aşlamalıyım?

Parola aşlama, kullanıcıların parola girerek kullandıkları bir uygulamanın tasarımında, mutlaka göz önüne alınması gereken en temel güvenlik faktörlerinden birisidir. Parola aşlama tekniği kullanılmadığı takdirde, uygulamanızın veri tabanında saklanan her türlü parola veritabanınızı ele geçirenler tarafından çalınabilir ve ardından sadece uygulamanız değil uygulamanızı kullanan kullanıcılar aynı parolayı başka servisler için de kullanıyorlarsa risk altında kalırlar.

Kullanıcılarınızın parolalarını veri tabanına kaydetmeden önce, uygulayacağınız aşlama algoritması ile saldırganın özgün parolayı tahminini imkansız kılarken, ilerleyen süreçte de özgün parolayı bulma çabalarını da (kaba kuvvet saldırısı tekniğiyle) zorlaştırmış olursunuz.

Ancak, dikkat edilmesi gereken önemli nokta, parola aşlama sadece veri kaynağınızın ele geçirilmesine karşı koruma sağlarken, uygulamanıza isteminiz dışında yerleştirilmiş zararlı kodlar aracılığıyla şifreleri ele geçirmede koruma sağlamaz.

MD5() ve SHA1() gibi genel aşlama işlevlerini parolalar için kullanmak neden uygun değildir?

MD5, SHA1 ve SHA256 gibi aşlama algoritmaları verimli ve çok hızlı olmaları için tasarlanmıştır. Modern teknikler ve bilgisayar ekipmanları ile, Kaba kuvvet (brute force) atak tekniği kullanarak özgün değere ulaşma sıradan bir hale gelmiştir.

Çünkü, modern bir bilgisayar, oldukça hızlı olarak bu aşlama tekniklerini tersine çevirir, çoğu güvenlik uzmanı da bunların parola aşlama da kullanımına karşı aleyhte tavsiye de bulunur.

Genel aşlama teknikleri kullanışlı olmadıklarına göre, parolalarımı nasıl aşlamalıyım?

Parolaları aşlamada, dikkate alınması gereken iki husus vardır; hesaplamanın maliyeti ve tuzlama. aşlama algoritmasında daha fazla hesaplama maliyeti demek kaba kuvvet ataklarının daha fazla zaman gerektirmesi demektir.

PHP, güvenli bir şekilde aşlama ve parola doğrulamayı birlikte güvenle sağlayan bir yerel parola aşlama APIsi sağlamaktadır. Ayrıca PHP 5.3.7 sürümünden itibaren kullanılabilen » saf bir PHP uyumluluk kütüphanesi de vardır.

Diğer bir seçenek çeşitli aşlama algoritmalarını destekleyen crypt() işlevidir. Bu işlevi kullanırken, PHP, desteklenen her bir algoritmayı kendi bünyesinde barındırdığı için, algoritmalardan bir veya bir kaçı sisteminizde bulunmasa da seçtiğiniz algoritmanın varlığını ve kullanımını garanti eder.

Parola aşlama de tavsiyemiz Blowfish algoritmasını kullanmanızdır, parola aşlama APIsi tarafından da öntanımlı olarak kullanılan bu algoritma MD5 veya SHA1 den daha fazla hesaplama gerektirmesine rağmen hala ölçeklenebilir durumdadır.

Bir parolayı doğrulamak için crypt() kullanıyorsanız, bir sabit zaman dizgesi karşılaştırması kullanarak zamanlama saldılarını engellemeyi düşünmeniz gerekir. Ne PHP'nin == ve === işleçleri ne de strcmp() işlevi sabit zaman dizgesi karşılaştırması yapar. password_verify() bunu sizin için yapacak gibi görünse de mümkün olduğunca yerel parola aşlama APIsini kullanmanızı şiddetle öneririz.

Tuzlama nedir?

Bir şifreleme tuzu, gökkuşağı tablosu olarak bilinen, daha önceden hesaplanarak oluşturulmuş aşlama listesinden karşılaştırma yaparak eşleştirme ihtimalini ortadan kaldırmak için, aşlama işlemi esnasında uygulanan bir değerdir.

Basit anlamda tuz, haşlanmış değerinizi kırma teşebbüslerini zorlaştırmada kullanılan ek bir veridir. İnternet üzerinde, daha önceden hesaplanmış kapsamlı aşlama değerlerinin yanı sıra özgün değerleri de barındıran bir dizi liste hizmeti vardır. Tuz kullanmak bu listelerden aşlama değerini bulmayı mantıksız veya imkansız kılar.

Bir tane sağlanmamışsa password_hash() rasgele bir tuz oluşturacaktır ve bu genelde en kolay ve en güvenilir yaklaşımdır.

Tuzlarımı nasıl saklarım?

password_hash() veya crypt() işlevini kullanırken, dönen değer üretilen aşlanmış parola olup tuzu da içerir. Parolaları doğrularken password_verify() veya crypt() işlevine doğrudan verilebilecek şekilde aşlama bilgisini içeren bu değer veritabanınızda hiç değiştirilmeden harfi harfine saklanmalıdır.

Aşağıdaki şekil, crypt() veya password_hash() işlevinden dönen değerin biçimini gösterir. Görebileceğiniz gibi, ileriki bir parola doğrulaması için gereken tuzu ve algoritma ile ilgili tüm bilgiyi içinde barındırmaktadır.

password_hash veya crypt işlevinden dönen değerin bileşenleri: sırasıyla, seçilen algoritma, algoritmanın seçenekleri, kullanılan tuz ve aşlanmış parola.


PHP ve HTML

PHP ve HTML etkileşir: PHP, HTML üretir; HTML, PHP'ye bilgi aktarır. Bu SSS'yi okumaya başlamadan önce değişkenlerin dış kaynaklardan nasıl elde edildiğini öğrenmiş olmanız önemlidir. Bu konu ile igili kılavuz sayfası ayrıca örnekler de içerir.

  1. Bir değeri bir form veya URL üzerinden aktarırken nasıl kodlamak gerekir?
  2. Bir <input type="image"> etiketi kullanmayı deniyorum, ama $foo.x ve $foo.y değişkenlerini bulamıyorum. $_GET['foo.x'] mevcut değil mi? Bunlar neredeler?
  3. Bir HTML <form>'unda dizileri nasıl oluşturabilirim?
  4. Çok HTML etiketli bir select etiketinden tüm sonuçları nasıl alırım?
  5. Bir değişkeni Javascript'ten PHP'ye nasıl aktarabilirim?
Bir değeri bir form veya URL üzerinden aktarırken nasıl kodlamak gerekir?

Hangi kodlamanın hangi aşamada kullanılacağı önemlidir. İçeriğini kodlamaksızın aktarmak istediğiniz string türünde $data diye bir değişkeniniz olduğunu varsayalım. Aşamalar şunlardır:

  • HTML yorumlaması. Rasgele bir dizgeyi belirtirken dizgeyi çift tırnak içine almanız ve değerin tamamına htmlspecialchars() uygulamanız gerekir.

  • URL: Bir URL çeşitli parçalardan oluşur. Verinizin tek bir öğe olarak yorumlanmasını isterseniz, veriyi urlencode() ile kodlamanız gerekir.

Örnek 1 - Gizli bir HTML form elemanı

<?php
echo '<input type="hidden" value="' . htmlspecialchars($data) . '" />'."\n";
?>

Bilginize: $data için urlencode() kullanmak yanlıştır, çünkü veriyi urlencode() türünde kodlamak tarayıcının sorumluluğundadır. Bunun yöntemden (yani GET veya POST) bağımsız oluşuna dikkat ediniz. Bunu sadece GET isteklerinde farkedersiniz, çünkü POST istekleri normalde gizlidir.

Örnek 2 - Kullanıcı tarafından düzenlenen veri

<?php
echo "<textarea name='mydata'>\n";
echo htmlspecialchars($data)."\n";
echo "</textarea>";
?>

Bilginize: Umulduğu gibi veri tarayıcıda gösterilir, çünkü HTML öncelemeli simgeleri tarayıcının yorumlaması gerekir. Verinin GET veya POST üzerinden gönderiminde veri aktarılırken tarayıcı tarafından kodlanır (urlencode) ve bu kodlama PHP tarafından çözülür (urldecode). Böylece, sizin kodlamayla ilgili birşeyler yapmanız gerekmez, herşey otomatik olarak gerçekleşir.

Örnek 3 - Bir URL içinde

<?php
echo '<a href="' . htmlspecialchars("/nextpage.php?stage=23&data=" .
urlencode($data)) . '">'."\n";
?>

Bilginize: Aslında bir HTML GET isteğini taklit ettiğinizden veriye urlencode() uygulamanız gerekmez.

Bilginize: URL, bir HTML özniteliğinin değeri olduğundan URL'nin tümüne htmlspecialchars() kodlaması uygulamanız gerekir. Bu durumda, tarayıcı değere htmlspecialchars() çözümlemesi uyguladıktan sonra URL olarak aktarır. PHP, URL'yi doğru olarak algılayacaktır, çünkü veriye urlencode() uygulamışsınızdır. URL'deki & yerine &amp; yazıldığını farkedeceksiniz. Çoğu tarayıcı bunu sizin yerinize yaptığından bunu yapmayı unutsanız da o kadar önemli değildir. Ancak, URL'niz dinamik olmasa bile, URL'ye htmlspecialchars() uygulamanız gerekir.

Bir <input type="image"> etiketi kullanmayı deniyorum, ama $foo.x ve $foo.y değişkenlerini bulamıyorum. $_GET['foo.x'] mevcut değil mi? Bunlar neredeler?

Bir formu göndermek için bir gönderi düğmesi yerine aşağıdaki gibi bir görüntü kullanmak da mümkündür:

<input type="image" src="dugme.gif" name="foo" />
Kullanıcı bu görüntünün herhangi bir yerine tıkladığında sunucuya formla birlikte ek olarak foo.x ve foo.y diye iki değişken aktarılır.

foo.x ve foo.y PHP'de geçersiz değişken isimleri olduklarından sihirli bir şekilde bunlar foo_x ve foo_y değişkenlerine dönüşürler. Yani, nokta imi yerine altçizgi imi yerleştirilir. Dolayısıyla, bu değişkenlere dış kaynaklı değişkenler bölümünde açıkladığı gibi erişebilirsiniz. Örnek: $_GET['foo_x'].

Bilginize:

İstekle aktarılan değişken isimlerindeki boşluklar da alçizgi imleri ile değiştirilir.

Bir HTML <form>'unda dizileri nasıl oluşturabilirim?

<form> sonucunu bir dizi olarak göndermek için PHP betğinizde <input>, <select> veya <textarea> elemanlarını şöyle isimlendirmeniz gerekir:

<input name="Dizim[]" />
<input name="Dizim[]" />
<input name="Dizim[]" />
<input name="Dizim[]" />
Değişken isimlerinden sonra gelen köşeli ayraçları farketmişsinizdir. Bunlar değişkeni bir dizi haline getirirler. Farklı elemanlara aynı dizi isimlerini atamak suretiyle elemanları farklı diziler içinde gruplayabilirsiniz:
<input name="Dizim[]" />
<input name="Dizim[]" />
<input name="ÖbürDizim[]" />
<input name="ÖbürDizim[]" />
Bu örnekte PHP betiğine gönderilmek üzere iki dizi üretilmektedir: Dizim ve ÖbürDizim. Dizilerinize ayrıca özel anahtarlar atamanız da mümkündür:
<input name="DiğerDizim[]" />
<input name="DiğerDizim[]" />
<input name="DiğerDizim[eposta]" />
<input name="DiğerDizim[telefon]" />
Burada, DiğerDizim dizisi 0, 1, eposta ve telefon anahtarlarını içerecektir.

Bilginize:

HTML'de dizi anahtarlarını belirtmek isteğe bağlıdır. Anahtar belirtmezseniz, dizi elemanları formda yer alış sırasına göre numaralanır. Örneğimizde anahtarlar 0, 1, 2 ve 3 olacaktır.

Ayrıca bakınız: Dizi İşlevleri ve Dış Kaynaklı Değişkenler .

Çok HTML etiketli bir select etiketinden tüm sonuçları nasıl alırım?

Bir HTML'deki çok seçenekli bir select oluşumu kullanıcıların bir listeden çok sayıda öğe seçebilmesini mümkün kılar. Seçilen öğeler form için atanmış bir eylemciye aktarılırlar. Burada sorun, hepsinin aynı değişken ismiyle aktarılmasıdır. Örnek:

<select name="var" multiple="yes">
Seçilen her seçenek eylemciye şöyle aktarılacaktır:
var=seçim1
var=seçim2
var=seçim3
Her seçenek bir önceki $var değişkeninin içeriğinin üzerine yazacaktır. Çözüm, değişken ismi olarak dizi kullanmaktır:
<select name="var[]" multiple="yes">
Bu satır PHP'ye $var değişkenini bir dizi olarak ele almasını ve her seçeneğin içeriği için bir dizi elemanı eklemesini söyler. İlk seçim $var[0], ikincisi $var[1], vs. olur. Kaç seçeneğin seçilmiş olduğunu count() işlevi ile öğrenebilir veya gerekirse sort() işleviyle seçenek dizisini sıraya sokabilirsiniz.

JavaScript kullanıyorsanız eleman ismindeki [] ayraçları, elemanlara isimleriyle başvururken sorun çıkarabilir. Ya eleman anahtarı yerine sayısal biçimi kullanın ya da değişken isimlerini tek tırnak içine alıp bunları dizi elemanlarını indislemekte kullanın. Örnek:

variable = document.forms[0].elements['var[]'];

Bir değişkeni Javascript'ten PHP'ye nasıl aktarabilirim?

Javascript'in (normal olarak) istemci taraflı, PHP'nin sunucu taraflı olması ve HTTP'nin de 'durumsuz' bir protokol olması nedeniyle iki dil değişkenleri doğrudan paylaşamazlar.

Bununla birlikte, ikisi arasında değişken alışverişi mümkündür. Bunu sağlamanın tek yolu Javascript kodunu PHP ile üretmek ve tarayıcıya tazeletip özel değişkenleri gerisin geriye PHP'ye aktarmaktır. Aşağıdaki örnekte bunun nasıl yapıldığı ayrıntılı olarak gösterilmiştir. Normalde sadece istemci tarafında mümkün olan ekran yüksekliği ve genişliğinin elde edilmesi PHP kodunda gerçeklenmektedir.

Örnek 4 - PHP ile Javascript üretimi

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
// Boyut değişkenlerini çıktılayalım
echo "Ekran genişliği: ". $_GET['width'] ."<br />\n";
echo "Ekran yüksekliği: ". $_GET['height'] ."<br />\n";
} else {
// Boyut değişkenlerini aktaralım
// (özgün sorgu dizgesini koruyalım
// -- post değişkenleri farklı şekilde elde edilecek)

echo "<script language='javascript'>\n";
echo " location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
. "&width=\" + screen.width + \"&height=\" + screen.height;\n";
echo "</script>\n";
exit();
}
?>


PHP ve COM

PHP, Win32 platformlarında COM ve DCOM nesnelere erişim için kullanılabilir.

  1. Bazı hesaplamalar için bir DLL derledim. Bu DLL'li PHP altında çalıştırmanın bir yolu var mı?
  2. 'Unsupported variant type: xxxx (0xxxxx)' iletisinin anlamı nedir?
  3. PHP'de görsel nesnelerle çalışmak mümkün müdür?
  4. Bir COM nesnesini bir oturumda saklayabilir miyim?
  5. COM hatalarını yakalayabilir miyim?
  6. Perl'de olduğu gibi PHP betiklerinden DLL dosyaları üretebilir miyim?
  7. 'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' iletisininin anlamı nedir?
  8. Bir COM nesnesini bir uzak sunucudan nasıl çalıştırabilirim?
  9. 'DCOM is disabled in C:\path...\scriptname.php on line 6' iletisini alıyorum. Ne yapabilirim?
  10. Bir ActiveX nesnesini PHP ile bir sayfaya yüklemek ve kullanmak mümkün müdür?
  11. Bir bileşenin çalışan bir örneğini almak mümkün müdür?
  12. COM nesnesinden gönderilen bir olayı işleme sokmanın bir yolu var mıdır?
  13. Birden fazla arayüz içeren bir COM nesnesinin bir yöntemini çağırmaya çalışırken sorunlarla karşılaşıyorum. Ne yapabilirim?
  14. PHP, COM ile çalıştığına göre COM+ ile de çalışır, değil mi?
  15. PHP, COM nesnelerle çalıştığına göre, özkaynakları yönetmek üzere MTS'yi PHP ile birlikte kullanmayı düşünebilir miyiz?
Bazı hesaplamalar için bir DLL derledim. Bu DLL'li PHP altında çalıştırmanın bir yolu var mı?

Bu basit bir DLL ise bunu PHP altında çalıştırmanın bir yolu yoktur. Eğer DLL bir COM sunucusu içeriyor ve IDispatch arayüzünü gerçekliyorsa bu DLL'e erişebilirsiniz.

'Unsupported variant type: xxxx (0xxxxx)' iletisinin anlamı nedir?

Düzinelerce VARIANT türü ve bunların birleşimleri vardır. Bunların çoğu desteklenmekteyse de bir kısmı halen gerçeklenme aşamasındadır. Diziler tamamen desteklenmemektedir. PHP ve COM arasında sadece tek boyutlu diziler aktarılabilmektedir. Lütfen bunu bir hata olarak raporlayın (hala raporlanmamışsa) ve bunu yaparken mümkün olduğunca fazla bilgi verin.

PHP'de görsel nesnelerle çalışmak mümkün müdür?

Genelde mümkündür, fakat PHP'deki gibi çoğunlukla HTTP sunucusu bağlamında işlem yapan bir betik dili olarak kullanılırlar. Bu bakımdan görsel nesneler hiçbir zaman sunucunun masaüstünde görünmezler. PHP'yi uygulama yazmak için kullanacaksanız (PHP-GTK örneğinde olduğu gibi), görsel nesnelerle COM üzerinden çalışmak için herhangi bir sınırlama yoktur.

Bir COM nesnesini bir oturumda saklayabilir miyim?

Hayır, saklayamazsınız. COM nesne örnekleri birer özkaynak olarak ele alınır. Bu bakımdan sadece tek betiklik bir bağlamda kullanılabilirler.

COM hatalarını yakalayabilir miyim?

COM eklentisi sizin de yakalayabileceğiniz com_exception istisnalarını yakalar. Bundan sonra ne yapılacağını belirlemek için code üyesini inceleyebilirsiniz.

COM hatalarını PHP tarafından sağlanan yollarla (@, track_errors, ...) yakalamak mümkün değildir.

Perl'de olduğu gibi PHP betiklerinden DLL dosyaları üretebilir miyim?

Hayır, maalesef PHP'de böyle bir araç yoktur.

'Unable to obtain IDispatch interface for CLSID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' iletisininin anlamı nedir?

Bu hata pek çok sebepten ortaya çıkabilir:

  • CLSID yanlıştır.
  • İstenen DLL yoktur.
  • İstenen bileşen IDispatch arayüzünü gerçeklemiyordur.

Bir COM nesnesini bir uzak sunucudan nasıl çalıştırabilirim?

Tıpkı bir yerel nesne gibi çalıştırabilirsiniz. Tek yapacağınız, COM kurucusuna ikinci bağımsız değişken olarak uzak makinenin IP adresini aktarmaktır.

php.ini dosyanızda com.allow_dcom =true atamasını yapmış olmalısınız.

'DCOM is disabled in C:\path...\scriptname.php on line 6' iletisini alıyorum. Ne yapabilirim?

php.ini dosyanızı düzenlemek için açıp com.allow_dcom =true atamasını yapın.

Bir ActiveX nesnesini PHP ile bir sayfaya yüklemek ve kullanmak mümkün müdür?

Bunun için PHP ile bir şey yapılamaz. HTML belge tarafından istendikleri takdirde ActiveX nesneler istemci tarafında yüklenirler. PHP betiğiyle bir ilgileri olmadığından sunucu taraflı doğrudan etkileşim mümkün değildir.

Bir bileşenin çalışan bir örneğini almak mümkün müdür?

Bu, takma adların yardımı ile mümkündür. Aynı yazı örneği için çok sayıda başvuru edinmek için örneği şöyle oluşturabilirsiniz:I

<?php
$yazı = new COM("C:\docs\yazı.doc");
?>

Çalışan bir örnek olmadığı takdirde bu yeni bir örnek oluşturur, aksi takdirde çalışan örnek için bir başvuru döndürür.

COM nesnesinden gönderilen bir olayı işleme sokmanın bir yolu var mıdır?

Bir olay alıcıyı tanımlayabilir ve bunu com_event_sink() kullanarak bağlayabilirsiniz. PHP'nin olay alıcı sınıfının bir iskeletini üretmesi için com_print_typeinfo() işlevini kullanabilirsiniz.

Birden fazla arayüz içeren bir COM nesnesinin bir yöntemini çağırmaya çalışırken sorunlarla karşılaşıyorum. Ne yapabilirim?

Yanıt pek tatmin edici değil biliyorum. Aslında tam olarak ne yapılacağını bilmiyorum ama yapılabilecek bir şeyler olmalı. Bu konuda bilgisi olar biri varsa lütfen » bana bildirsin. :)

PHP, COM ile çalıştığına göre COM+ ile de çalışır, değil mi?

COM+, COM'un bileşenlerini MTS ve MSMQ üzerinden yönetmek için bir arayüz ile genişletir. PHP'nin bu tarz nesneleri desteklemesi için yapacağı özel bir şey yoktur.

PHP, COM nesnelerle çalıştığına göre, özkaynakları yönetmek üzere MTS'yi PHP ile birlikte kullanmayı düşünebilir miyiz?

PHP henüz MTS hareketlerini işleme sokamamaktadır. Bu bakımdan, bir hata oluşursa hareketi başa sarmak mümkün değildir. MTS hareketlerini destekleyen bileşenleri kullanmak niyetindeyseniz hareket yönetimini kendiniz gerçeklemek zorundasınız.


Çeşitli Sorular

Burada, belli bir sınıfa dahil edilemeyen sorulara yer verilmiştir.

  1. .bz2 uzantılı kılavuzları Windows üzerinde nasıl açabilirim?
.bz2 uzantılı kılavuzları Windows üzerinde nasıl açabilirim?

bz2 dosyalarla çalışabilen bir arşivleme aracına sahip değilseniz komut satırı araçlarını » indirebilirsiniz (ayrıntılar için aşağıya bakınız).

Bir komut satırı aracı kullanmak istemezseniz, » Stuffit Expander, » UltimateZip, » 7-Zip, » Quick Zip gibi özgür araçları deneyebilirsiniz. » WinRAR veya » Power Archiver gibi araçlara sahipseniz onlar da bz2 dosyaları açabilmektedir. Total Commander (eskisi: Windows Commander) kullanıyorsanız, bz2 eklentisini » Total Commander sitesinden ücretsiz edinebilirsiniz.

Red Hat'in bzip2 komut satırı aracı:

Win2k Sp2 kullanıcıları için en son sürüm 1.0.2, tüm diğer Windows kullanıcıları için 1.00'dır. İndirdikten sonra çalıştırılabilirin ismini bzip2.exe yapın ve C harfi Windows'un kurulu olduğu sürücüyü belirtmek üzere C:\Windows dizinine koyun.

php_manual_dil.x.bz2 (dil: sizin diliniz, x: istenen biçim, chm gibi) arşiv dosyasının sıkıştırmasını açmak için şu talimatları izleyin:

  • Bir komut istemi penceresi açın.
  • İndirdiğiniz php_manual_dil.x.bz2 dosyasının bulunduğu dizine geçin.
  • php_manual_dil.x.bz2 arşiv dosyasının içeriğini genişletmek için şu komutu verin: bzip2 -d php_manual_dil.x.bz2

İndirdiğiniz php_manual_dil.x.bz2 dosyasının çok sayıda HTML sayfası içermesi durumunda bu işlem sonucunda php_manual_dil.tar adında bir dosya elde edeceksiniz. Tar biçemi » WinZip gibi pek çok Windows arşivleme aracı tarafından bilinmektedir.


Ekler

  • History of PHP and Related Projects
    • History of PHP
    • History of PHP related projects
    • Books about PHP
    • Publications about PHP
  • Migrating from PHP 8.2.x to PHP 8.3.x
    • New Features
    • New Classes and Interfaces
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
    • Windows Support
  • Migrating from PHP 8.1.x to PHP 8.2.x
    • New Features
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
    • Windows Support
  • Migrating from PHP 8.0.x to PHP 8.1.x
    • New Features
    • New Classes and Interfaces
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
  • Migrating from PHP 7.4.x to PHP 8.0.x
    • New Features
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
  • Migrating from PHP 7.3.x to PHP 7.4.x
    • New Features
    • New Classes and Interfaces
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Removed Extensions
    • Other Changes
    • Windows Support
  • Migrating from PHP 7.2.x to PHP 7.3.x
    • New Features
    • New Functions
    • New Global Constants
    • Backward Incompatible Changes
    • Deprecated Features
    • Other Changes
    • Windows Support
  • Migrating from PHP 7.1.x to PHP 7.2.x
    • New features
    • New functions
    • New global constants
    • Backward incompatible changes
    • Deprecated features in PHP 7.2.x
    • Other changes
  • Migrating from PHP 7.0.x to PHP 7.1.x
    • New features
    • New functions
    • New global constants
    • Backward incompatible changes
    • Deprecated features in PHP 7.1.x
    • Changed functions
    • Other changes
    • Windows Support
  • Migrating from PHP 5.6.x to PHP 7.0.x
    • Backward incompatible changes
    • New features
    • Deprecated features in PHP 7.0.x
    • Changed functions
    • New functions
    • New Classes and Interfaces
    • New Global Constants
    • Changes in SAPI Modules
    • Removed Extensions and SAPIs
    • Other Changes
  • Migrating from PHP 5.5.x to PHP 5.6.x
    • Backward incompatible changes
    • New features
    • Deprecated features in PHP 5.6.x
    • Changed functions
    • New functions
    • OpenSSL changes in PHP 5.6.x
    • Other changes to extensions
    • New global constants
  • PHP'de Hata Ayıklama
    • PHP'de hata ayıklama hakkında
  • Yapılandırma Seçenekleri
    • Temel yapılandırma seçeneklerinin listesi
  • php.ini Yönergeleri
    • php.ini yönergelerinin listesi
    • php.ini bölümlerinin listesi
    • Temel php.ini yönergelerinin tanımları
  • Eklenti Grupları/Listesi
    • Abecesel
    • Üyeler
    • Durumu Belirsizler
  • İşlev Takma Adlarının Listesi
  • Yerleşik Sözcüklerin Listesi
    • Anahtar Sözcüklerin Listesi
    • Öntanımlı Sınıflar
    • Yerleşik Sabitler
    • Diğer yerleşik sözcüklerin listesi
  • Özkaynak Türlerinin Listesi
  • Kullanılabilir Süzgeçlerin Listesi
    • Dizge Süzgeçleri
    • Dönüşüm Süzgeçleri
    • Sıkıştırma Süzgeçleri
    • Şifreleme Süzgeçleri
  • Desteklenen Soket Aktarımlarının Listesi
    • Genel Ağ Alanı: TCP, UDP, SSL ve TLS
    • Unix Alanı: Unix ve UDG
  • PHP Tür Karşılaştırma Tabloları
  • Çözümleyici Dizgeciklerinin Listesi
  • Kullanıcı Alanı İsimlendirme Kılavuzu
    • Küresel İsim alanı
    • Kurallar
    • İpuçları
  • About the manual
    • Formats
    • About user notes
    • How to read a function definition (prototype)
    • PHP versions documented in this manual
    • How to find more information about PHP
    • How to help improve the documentation
    • How we generate the formats
    • Translations
  • Creative Commons Attribution 3.0
  • Genel Dizin
    • İşlevler ve Yöntemler Dizini
    • Örnekler Dizini
  • Sürüm Bilgisi


History of PHP and Related Projects

İçindekiler

  • History of PHP
  • History of PHP related projects
  • Books about PHP
  • Publications about PHP

PHP has come a long way since its birth in the mid-1990's. From humble beginnings to becoming one of the most prominent languages powering the web, the evolution of PHP is a geek's fairy tale. Mind you, such explosive growth was no easy task. Those of you interested in briefly seeing how PHP grew to become what it is today, read on. If you'd like to touch a piece of Internet history, you can find old releases of PHP in the » PHP Museum.


History of PHP

PHP Tools, FI, Construction Kit, and PHP/FI

PHP as it's known today is actually the successor to a product named PHP/FI. Created in 1994 by Rasmus Lerdorf, the very first incarnation of PHP was a simple set of Common Gateway Interface (CGI) binaries written in the C programming language. Originally used for tracking visits to his online resume, he named the suite of scripts "Personal Home Page Tools," more frequently referenced as "PHP Tools." Over time, more functionality was desired, and Rasmus rewrote PHP Tools, producing a much larger and richer implementation. This new model was capable of database interaction and more, providing a framework upon which users could develop simple dynamic web applications such as guestbooks. In June of 1995, Rasmus » released the source code for PHP Tools to the public, which allowed developers to use it as they saw fit. This also permitted - and encouraged - users to provide fixes for bugs in the code, and to generally improve upon it.

In September of that year, Rasmus expanded upon PHP and - for a short time - actually dropped the PHP name. Now referring to the tools as FI (short for "Forms Interpreter"), the new implementation included some of the basic functionality of PHP as we know it today. It had Perl-like variables, automatic interpretation of form variables, and HTML embedded syntax. The syntax itself was similar to that of Perl, albeit much more limited, simple, and somewhat inconsistent. In fact, to embed the code into an HTML file, developers had to use HTML comments. Though this method was not entirely well-received, FI continued to enjoy growth and acceptance as a CGI tool --- but still not quite as a language. However, this began to change the following month; in October, 1995, Rasmus released a complete rewrite of the code. Bringing back the PHP name, it was now (briefly) named "Personal Home Page Construction Kit," and was the first release to boast what was, at the time, considered an advanced scripting interface. The language was deliberately designed to resemble C in structure, making it an easy adoption for developers familiar with C, Perl, and similar languages. Having been thus far limited to UNIX and POSIX-compliant systems, the potential for a Windows NT implementation was being explored.

The code got another complete makeover, and in April of 1996, combining the names of past releases, Rasmus introduced PHP/FI. This second-generation implementation began to truly evolve PHP from a suite of tools into a programming language in its own right. It included built-in support for DBM, mSQL, and Postgres95 databases, cookies, user-defined function support, and much more. That June, PHP/FI was given a version 2.0 status. An interesting fact about this, however, is that there was only one single full version of PHP 2.0. When it finally graduated from beta status in November, 1997, the underlying parsing engine was already being entirely rewritten.

Though it lived a short development life, it continued to enjoy a growing popularity in still-young world of web development. In 1997 and 1998, PHP/FI had a cult of several thousand users around the world. A Netcraft survey as of May, 1998, indicated that nearly 60,000 domains reported having headers containing "PHP", indicating that the host server did indeed have it installed. This number equated to approximately 1% of all domains on the Internet at the time. Despite these impressive figures, the maturation of PHP/FI was doomed to limitations; while there were several minor contributors, it was still primarily developed by an individual.

Örnek 1 Example PHP/FI Code

<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Sorry, that record does not exist<p>
<!--endif exit-->
  Welcome <!--$user-->!<p>
  You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->

PHP 3

PHP 3.0 was the first version that closely resembles PHP as it exists today. Finding PHP/FI 2.0 still inefficient and lacking features they needed to power an eCommerce application they were developing for a university project, Andi Gutmans and Zeev Suraski of Tel Aviv, Israel, began yet another complete rewrite of the underlying parser in 1997. Approaching Rasmus online, they discussed various aspects of the current implementation and their redevelopment of PHP. In an effort to improve the engine and start building upon PHP/FI's existing user base, Andi, Rasmus, and Zeev decided to collaborate in the development of a new, independent programming language. This entirely new language was released under a new name, that removed the implication of limited personal use that the PHP/FI 2.0 name held. It was renamed simply 'PHP', with the meaning becoming a recursive acronym - PHP: Hypertext Preprocessor.

One of the biggest strengths of PHP 3.0 was its strong extensibility features. In addition to providing end users with a mature interface for multiple databases, protocols, and APIs, the ease of extending the language itself attracted dozens of developers who submitted a variety of modules. Arguably, this was the key to PHP 3.0's tremendous success. Other key features introduced in PHP 3.0 included object-oriented programming support and a far more powerful and consistent language syntax.

In June, 1998, with many new developers from around the world joining the effort, PHP 3.0 was announced by the new PHP Development Team as the official successor to PHP/FI 2.0. Active development of PHP/FI 2.0, which had all-but ceased as of November of the previous year, was now officially ended. After roughly nine months of open public testing, when the announcement of the official release of PHP 3.0 came, it was already installed on over 70,000 domains around the world, and was no longer limited to POSIX-compliant operating systems. A relatively small share of the domains reporting PHP as installed were hosted on servers running Windows 95, 98, and NT, and Macintosh. At its peak, PHP 3.0 was installed on approximately 10% of the web servers on the Internet.

PHP 4

By the winter of 1998, shortly after PHP 3.0 was officially released, Andi Gutmans and Zeev Suraski had begun working on a rewrite of PHP's core. The design goals were to improve performance of complex applications, and improve the modularity of PHP's code base. Such applications were made possible by PHP 3.0's new features and support for a wide variety of third party databases and APIs, but PHP 3.0 was not designed to handle such complex applications efficiently.

The new engine, dubbed 'Zend Engine' (comprised of their first names, Zeev and Andi), met these design goals successfully, and was first introduced in mid 1999. PHP 4.0, based on this engine, and coupled with a wide range of additional new features, was officially released in May 2000, almost two years after its predecessor. In addition to the highly improved performance of this version, PHP 4.0 included other key features such as support for many more web servers, HTTP sessions, output buffering, more secure ways of handling user input and several new language constructs.

PHP 5

PHP 5 was released in July 2004 after long development and several pre-releases. It is mainly driven by its core, the Zend Engine 2.0 with a new object model and dozens of other new features.

PHP's development team includes dozens of developers, as well as dozens others working on PHP-related and supporting projects, such as PEAR, PECL, and documentation, and an underlying network infrastructure of well over one-hundred individual web servers on six of the seven continents of the world. Though only an estimate based upon statistics from previous years, it is safe to presume PHP is now installed on tens or even perhaps hundreds of millions of domains around the world.


History of PHP related projects

PEAR

» PEAR, the PHP Extension and Application Repository (originally, PHP Extension and Add-on Repository) is PHP's version of foundation classes, and may grow in the future to be one of the key ways to distribute PHP extensions among developers.

PEAR was born in discussions held in the PHP Developers' Meeting (PDM) held in January 2000 in Tel Aviv. It was created by Stig S. Bakken, and is dedicated to his first-born daughter, Malin Bakken.

Since early 2000, PEAR has grown to be a big, significant project with a large number of developers working on implementing common, reusable functionality for the benefit of the entire PHP community. PEAR today includes a wide variety of infrastructure foundation classes for database access, content caching, mathematical calculations, eCommerce and much more.

More information about PEAR can be found in » the manual.

PHP Quality Assurance Initiative

The » PHP Quality Assurance Initiative was set up in the summer of 2000 in response to criticism that PHP releases were not being tested well enough for production environments. The team now consists of a core group of developers with a good understanding of the PHP code base. These developers spend a lot of their time localizing and fixing bugs within PHP. In addition there are many other team members who test and provide feedback on these fixes using a wide variety of platforms.

PHP-GTK

» PHP-GTK is the PHP solution for writing client side GUI applications. Andrei Zmievski remembers the planing and creation process of PHP-GTK:

GUI programming has always been of my interests, and I found that Gtk+ is a very nice toolkit, except that programming with it in C is somewhat tedious. After witnessing PyGtk and GTK-Perl implementations, I decided to see if PHP could be made to interface with Gtk+, even minimally. Starting in August of 2000, I began to have a bit more free time so that is when I started experimenting. My main guideline was the PyGtk implementation as it was fairly feature complete and had a nice object-oriented interface. James Henstridge, the author of PyGtk, provided very helpful advice during those initial stages.

Hand-writing the interfaces to all the Gtk+ functions was out of the question, so I seized upon the idea of code-generator, similar to how PyGtk did it. The code generator is a PHP program that reads a set of .defs file containing the Gtk+ classes, constants, and methods information and generates C code that interfaces PHP with them. What cannot be generated automatically can be written by hand in .overrides file.

Working on the code generator and the infrastructure took some time, because I could spend little time on PHP-GTK during the fall of 2000. After I showed PHP-GTK to Frank Kromann, he got interested and started helping me out with code generator work and Win32 implementation. When we wrote the first Hello World program and fired it up, it was extremely exciting. It took a couple more months to get the project to a presentable condition and the initial version was released on March 1, 2001. The story promptly hit SlashDot.

Sensing that PHP-GTK might be extensive, I set up separate mailing lists and CVS repositories for it, as well as the gtk.php.net website with the help of Colin Viebrock. The documentation would also need to be done and James Moore came in to help with that.

Since its release PHP-GTK has been gaining popularity. We have our own documentation team, the manual keeps improving, people start writing extensions for PHP-GTK, and more and more exciting applications with it.


Books about PHP

As PHP grew, it began to be recognized as a world-wide popular development platform. One of the most interesting ways of seeing this trend was by observing the books about PHP that came out throughout the years.

To the best of our knowledge, the first book dedicated to PHP was 'PHP - tvorba interaktivních internetovych aplikací' (PHP - Creating Interactive Internet Applications) - a Czech book published in April 1999, authored by Jirka Kosek. Next month followed a German book authored by Egon Schmid, Christian Cartus and Richard Blume. The first book in English about PHP was published shortly afterwards, and was 'Core PHP Programming' by Leon Atkinson. These books covered PHP 3.0.

While these books were the first of their kind - they were followed by a large number of books from a host of authors and publishers. There are over 400 books in English, over 100 books in German, and over 50 books in French or Spanish! In addition, you can find books about PHP in many other languages, including Korean, Japanese and Hebrew.

Clearly, this large number of books, written by different authors, published by many publishers, and their availability in so many languages - are a strong testimony for PHP's world-wide success.


Publications about PHP

To the best of our knowledge, the first article about PHP in a hard-copy magazine was published in the Czech mutation of Computerworld in the spring of 1998, and covered PHP 3.0. As with books, this was the first in a series of many articles published about PHP in various prominent magazines.

Articles about PHP appeared in Dr. Dobbs, Linux Enterprise, Linux Magazine and many more. Articles about migrating ASP-based applications to PHP under Windows even appear on Microsoft's very own MSDN!


Migrating from PHP 8.2.x to PHP 8.3.x

İçindekiler

  • New Features
  • New Classes and Interfaces
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.1.x, 7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x, 8.2.x.


New Features

PHP Core

Readonly Amendments

Anonymous classes may now be marked as readonly.

Readonly properties can now be reinitialized during cloning.

Typed Class Constants

Class, interface, trait, and enum constants now support type declarations.

Closures created from magic methods

Closures created from magic methods can now accept named arguments.

The final modifier with a method from a trait

The final modifier may now be used when using a method from a trait.

Override Attribute

Added the #[\Override] attribute to check that a method exists in a parent class or implemented interface.

Fetch class constant dynamically syntax

Class constants can now be accessed dynamically using the C::{$name} syntax.

Static variable Initializers

Static variable initializers can now contain arbitrary expressions.

Fallback value syntax for ini variables

php.ini now supports fallback/default value syntax.

<?php
/*
On /path/to/user.ini contains the following settings:

listen = localhost:${DRUPAL_FPM_PORT:-9000}
*/

$user_ini = parse_ini_file('/path/to/user.ini');
echo $user_ini['listen']; // localhost:9000

CLI

It is now possible to lint multiple files.

DOM

Added properties DOMElement::$className and DOMElement::$id. These are not binary-safe at the moment because of underlying limitations of libxml2. This means that the property values will be cut off at a NUL byte.

Added properties DOMNode::$isConnected and DOMNameSpaceNode::$isConnected.

Added properties DOMNode::$parentElement and DOMNameSpaceNode::$parentElement.

FFI

It is now possible to assign FFI\CData to other FFI\CData. Meaning CData can now be assigned to structs and fields.

Opcache

opcache_get_status()['scripts'][n]['revalidate'] now contains a Unix timestamp of when the next revalidation of the scripts timestamp is due, dictated by the opcache.revalidate_freq INI directive.

POSIX

posix_getrlimit() now takes an optional $res parameter to allow fetching a single resource limit.

posix_isatty() now raises type warnings for integers following the usual ZPP semantics.

posix_ttyname() now raises type warnings for integers following the usual ZPP semantics and value warnings for invalid file descriptor integers.

Streams

Streams can now emit the STREAM_NOTIFY_COMPLETED notification. This was previously not implemented.


New Classes and Interfaces

Date

  • DateError
  • DateObjectError
  • DateRangeError
  • DateException
  • DateInvalidOperationException
  • DateInvalidTimeZoneException
  • DateMalformedIntervalStringException
  • DateMalformedPeriodStringException
  • DateMalformedStringException

Random

  • Random\IntervalBoundary


New Functions

Date

  • DatePeriod::createFromISO8601String()

DOM

  • DOMElement::getAttributeNames()
  • DOMElement::insertAdjacentElement()
  • DOMElement::insertAdjacentText()
  • DOMElement::toggleAttribute()
  • DOMNode::contains()
  • DOMNode::getRootNode()
  • DOMNode::isEqualNode()
  • DOMNameSpaceNode::contains()
  • DOMParentNode::replaceChildren()

Intl

  • IntlCalendar::setDate()
  • IntlCalendar::setDateTime()
  • IntlGregorianCalendar::createFromDate()
  • IntlGregorianCalendar::createFromDateTime()

JSON

  • json_validate()

LDAP

  • ldap_connect_wallet()
  • ldap_exop_sync()

MBString

  • mb_str_pad()

Posix

  • posix_sysconf()
  • posix_pathconf()
  • posix_fpathconf()
  • posix_eaccess()

PostgreSQL

  • pg_set_error_context_visibility() (libpq >= 9.6)

Random

  • Random\Randomizer::getBytesFromString()
  • Random\Randomizer::nextFloat()
  • Random\Randomizer::getFloat()

Reflection

  • ReflectionMethod::createFromMethodName()

Sockets

  • socket_atmark()

Standard

  • str_increment()
  • str_decrement()
  • stream_context_set_options()

Zip

  • ZipArchive::getArchiveFlag()


New Global Constants

cURL

  • CURLINFO_CAPATH (libcurl >= 7.84.0)
  • CURLINFO_CAINFO (libcurl >= 7.84.0)
  • CURLOPT_MIME_OPTIONS (libcurl >= 7.81.0)
  • CURLMIMEOPT_FORMESCAPE (libcurl >= 7.81.0)
  • CURLOPT_WS_OPTIONS (libcurl >= 7.86.0)
  • CURLWS_RAW_MODE (libcurl >= 7.86.0)
  • CURLOPT_SSH_HOSTKEYFUNCTION (libcurl >= 7.84.0)
  • CURLOPT_PROTOCOLS_STR (libcurl >= 7.85.0)
  • CURLOPT_REDIR_PROTOCOLS_STR (libcurl >= 7.85.0)
  • CURLOPT_CA_CACHE_TIMEOUT (libcurl >= 7.87.0)
  • CURLOPT_QUICK_EXIT (libcurl >= 7.87.0)
  • CURLKHMATCH_OK (libcurl >= 7.19.6)
  • CURLKHMATCH_MISMATCH (libcurl >= 7.19.6)
  • CURLKHMATCH_MISSING (libcurl >= 7.19.6)
  • CURLKHMATCH_LAST (libcurl >= 7.19.6)

Intl

  • MIXED_NUMBERS (Spoofchecker)
  • HIDDEN_OVERLAY (Spoofchecker)

OpenSSL

  • OPENSSL_CMS_OLDMIMETYPE
  • PKCS7_NOOLDMIMETYPE

PCNTL

  • SIGINFO

PDO_ODBC

  • PDO_ODBC_TYPE

Posix

  • POSIX_SC_ARG_MAX
  • POSIX_SC_PAGESIZE
  • POSIX_SC_NPROCESSORS_CONF
  • POSIX_SC_NPROCESSORS_ONLN
  • POSIX_PC_LINK_MAX
  • POSIX_PC_MAX_CANON
  • POSIX_PC_MAX_INPUT
  • POSIX_PC_NAME_MAX
  • POSIX_PC_PATH_MAX
  • POSIX_PC_PIPE_BUF
  • POSIX_PC_CHOWN_RESTRICTED
  • POSIX_PC_NO_TRUNC
  • POSIX_PC_ALLOC_SIZE_MIN
  • POSIX_PC_SYMLINK_MAX

Sockets

The following socket options are now defined if they are supported:

  • SO_ATTACH_REUSEPORT_CBPF (Linux)
  • SO_DETACH_BPF (Linux)
  • SO_DETACH_FILTER (Linux)
  • TCP_QUICKACK (Linux)
  • IP_DONTFRAG (FreeBSD)
  • IP_MTU_DISCOVER (Linux)
  • IP_PMTUDISC_DO (Linux)
  • IP_PMTUDISC_DONT (Linux)
  • IP_PMTUDISC_WANT (Linux)
  • IP_PMTUDISC_PROBE (Linux)
  • IP_PMTUDISC_INTERFACE (Linux)
  • IP_PMTUDISC_OMIT (Linux)
  • AF_DIVERT (FreeBSD)
  • SOL_UDPLITE
  • UDPLITE_RECV_CSCOV
  • UDPLITE_SEND_CSCOV
  • SO_RERROR (NetBSD)
  • SO_ZEROIZE (OpenBSD)
  • SO_SPLICE (OpenBSD)
  • TCP_REPAIR (Linux)
  • SO_REUSEPORT_LB (FreeBSD)
  • IP_BIND_ADDRESS_NO_PORT (Linux)

Zip

  • ZipArchive::ER_DATA_LENGTH (libzip >= 1.10)
  • ZipArchive::ER_NOT_ALLOWED (libzip >= 1.10)
  • ZipArchive::AFL_RDONLY (libzip >= 1.10)
  • ZipArchive::AFL_IS_TORRENTZIP (libzip >= 1.10)
  • ZipArchive::AFL_WANT_TORRENTZIP (libzip >= 1.10)
  • ZipArchive::AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE (libzip >= 1.10)
  • ZipArchive::FL_OPEN_FILE_NOW
  • ZipArchive::LENGTH_TO_END as default value for
ZipArchive::addFile() and
ZipArchive::replaceFile()
  • ZipArchive::LENGTH_UNCHECKED (libzip >= 1.10)


Backward Incompatible Changes

PHP Core

Programs that were very close to overflowing the call stack

Programs that were very close to overflowing the call stack may now throw an Error when using more than zend.max_allowed_stack_size-zend.reserved_stack_size bytes of stack (fiber.stack_size-zend.reserved_stack_size for fibers).

Executing proc_get_status() multiple times

Executing proc_get_status() multiple times will now always return the right value on POSIX systems. Previously, only the first call of the function returned the right value. Executing proc_close() after proc_get_status() will now also return the right exit code. Previously this would return -1. Internally, this works by caching the result on POSIX systems. If the previous behaviour is required, it is possible to check the "cached" key in the array returned by proc_get_status() to check whether the result was cached.

Zend Max Execution Timers

Zend Max Execution Timers is now enabled by default for ZTS builds on Linux.

Uses of traits with static properties

Uses of traits with static properties will now redeclare static properties inherited from the parent class. This will create a separate static property storage for the current class. This is analogous to adding the static property to the class directly without traits.

Assigning a negative index to an empty array

Assigning a negative index $n to an empty array will now make sure that the next index is $n+1 instead of 0.

Class constant visibility variance check

Class constant visibility variance is now correctly checked when inherited from interfaces.

WeakMap entries whose key maps to itself

WeakMap entries whose key maps to itself (possibly transitively) may now be removed during cycle collection if the key is not reachable except by iterating over the WeakMap (reachability via iteration is considered weak). Previously, such entries would never be automatically removed.

Date

The DateTime extension has introduced Date extension specific exceptions and errors under the DateError and DateException hierarchies, instead of warnings and generic exceptions. This improves error handling, at the expense of having to check for errors and exceptions.

DOM

Calling DOMChildNode::after(),
DOMChildNode::before(),
DOMChildNode::replaceWith()
on a node that has no parent is now a no-op instead of a hierarchy
exception, which is the behaviour demanded by the DOM specification.

Using the DOMParentNode and DOMChildNode methods without a document now works instead of throwing a DOM_HIERARCHY_REQUEST_ERR DOMException. This is in line with the behaviour demanded by the DOM specification.

Calling DOMDocument::createAttributeNS() without specifying a prefix would incorrectly create a default namespace, placing the element inside the namespace instead of the attribute. This bug is now fixed.

DOMDocument::createAttributeNS() would previously incorrectly throw a DOM_NAMESPACE_ERRNAMESPACE_ERR DOMException when the prefix was already used for a different URI. It now correctly chooses a different prefix when there's a prefix name conflict.

New methods and properties were added to some DOM classes. If a userland class inherits from these classes and declare a method or property with the same name, the declarations must be compatible. Otherwise, a typical compile error about incompatible declarations will be thrown. See the list of new features and new functions for a list of the newly implemented methods and properties.

FFI

C functions that have a return type of void now return null instead of returning the following object object(FFI\CData:void) { }

Opcache

The opcache.consistency_checks INI directive was removed. This feature was broken with the tracing JIT, as well as with inheritance cache, and has been disabled without a way to enable it since PHP 8.1.18 and PHP 8.2.5. Both the tracing JIT and inheritance cache may modify shm after the script has been persisted by invalidating its checksum. The attempted fix skipped over the modifiable pointers but was rejected due to complexity. For this reason, it was decided to remove the feature instead.

Phar

The type of Phar class constants are now declared.

Standard

The range() function has had various changes:

  • A TypeError is now thrown when passing objects, resources, or arrays as the boundary inputs.
  • A more descriptive ValueError is thrown when passing 0 for $step.
  • A ValueError is now thrown when using a negative $step for increasing ranges.
  • If $step is a float that can be interpreted as an int, it is now done so.
  • A ValueError is now thrown if any argument is infinity or NAN.
  • An E_WARNING is now emitted if $start or $end is the empty string. The value continues to be cast to the value 0.
  • An E_WARNING is now emitted if $start or $end has more than one byte, only if it is a non-numeric string.
  • An E_WARNING is now emitted if $start or $end is cast to an integer because the other boundary input is a number. (e.g. range(5, 'z');).
  • An E_WARNING is now emitted if $step is a float when trying to generate a range of characters, except if both boundary inputs are numeric strings (e.g. range('5', '9', 0.5); does not produce a warning).
  • range() now produce a list of characters if one of the boundary inputs is a string digit instead of casting the other input to int (e.g. range('9', 'A');).
<?php
range('9', 'A'); // ["9", ":", ";", "<", "=", ">", "?", "@", "A"], as of PHP 8.3.0
range('9', 'A'); // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0], prior to PHP 8.3.0
?>

The file() flags error check now catches all invalid flags. Notably FILE_APPEND was previously silently accepted.

SNMP

The type of SNMP class constants are now declared.


Deprecated Features

PHP Core

Saner Increment/Decrement operators

Using the increment operator (++) on empty, non-numeric, or non-alphanumeric strings is now deprecated. Moreover, incrementing non-numeric strings is soft deprecated. That means no E_DEPRECATED diagnostic is emitted, but this feature should not be used when producing new code. The new str_increment() function should be used instead.

Using the decrement operator (--) on empty or non-numeric strings is now deprecated.

get_class()/get_parent_class() call without arguments

Calling get_class() and get_parent_class() without arguments is now deprecated.

DBA

Calling dba_fetch() with $dba as the 3rd argument is now deprecated.

FFI

Calling FFI::cast(), FFI::new(), and FFI::type() statically is now deprecated.

Intl

The U_MULTIPLE_DECIMAL_SEP*E*RATORS constant had been deprecated, using the U_MULTIPLE_DECIMAL_SEP*A*RATORS constant instead is recommended.

The NumberFormatter::TYPE_CURRENCY constant has been deprecated.

LDAP

Calling ldap_connect() with separate $hostname and $port is deprecated.

MBString

Passing a negative $width to mb_strimwidth() is now deprecated.

Phar

Calling Phar::setStub() with a resource and a $length is now deprecated. Such calls should be replaced by: $phar->setStub(stream_get_contents($resource));

Random

The MT_RAND_PHP Mt19937 variant is deprecated.

Reflection

Calling ReflectionProperty::setValue() with only one parameter is deprecated. To set static properties, pass null as the first parameter.

Standard

The assert_options() function is now deprecated.

The ASSERT_ACTIVE, ASSERT_BAIL, ASSERT_CALLBACK, ASSERT_EXCEPTION, and ASSERT_WARNING constants have been deprecated.

The assert.* INI settings have been deprecated. See the Changes to INI File Handling page for further details.

SQLite3

Using exceptions is now preferred, warnings will be removed in the future. Calling SQLite3::enableExceptions(false) will trigger a deprecation warning in this version.

Zip

The ZipArchive::FL_RECOMPRESS constant is deprecated and will be removed in a future version of libzip.


Other Changes

Core changes

FFI

FFI::load() is now allowed during preloading when opcache.preload_user is the current system user. Previously, calling FFI::load() was not possible during preloading if the opcache.preload_user directive was set.

FPM

FPM CLI test now fails if the socket path is longer than supported by OS.

Opcache

In the CLI and phpdbg SAPIs, preloading does not require the opcache.preload_user directive to be set anymore when running as root. In other SAPIs, this directive is required when running as root because preloading is done before the SAPI switches to an unprivileged user.

Streams

Blocking fread() on socket connection returns immediately if there are any buffered data instead of waiting for more data.

Memory stream no longer fails if seek offset is past the end. Instead the memory is increase on the next write and date between the old end and offset is filled with zero bytes in the same way how it works for files.

stat() access operations like file_exists() and similar will now use real path instead of the actual stream path. This is consistent with stream opening.

Changes in SAPI Modules

CLI

The STDOUT, STDERR and STDIN streams are no longer closed on resource destruction which is mostly when the CLI finishes. It is however still possible to explicitly close those streams using fclose() and similar.

Changed Functions

Core

gc_status() has added the following 8 fields:

  • "running" => bool
  • "protected" => bool
  • "full" => bool
  • "buffer_size" => int
  • "application_time" => float: Total application time, in seconds (including collector_time)
  • "collector_time" => float: Time spent collecting cycles, in seconds (including destructor_time and free_time)
  • "destructor_time" => float: Time spent executing destructors during cycle collection, in seconds
  • "free_time" => float: Time spent freeing values during cycle collection, in seconds

class_alias() now supports creating an alias of an internal class.

Setting open_basedir at runtime using ini_set('open_basedir', ...); no longer accepts paths containing the parent directory (..). Previously, only paths starting with .. were disallowed. This could easily be circumvented by prepending ./ to the path.

User exception handlers now catch exceptions during shutdown.

The resultant HTML of highlight_string() and highlight_file() has changed. Whitespace between outer HTML tags is removed. Newlines and spaces are no longer converted to HTML entities. The whole HTML is now wrapped in a <pre> tag. The outer <span> tag has been merged with the <code> tag.

Calendar

easter_date() now supports years from 1970 to 2,000,000,000 on 64-bit systems, previously it only supported years in the range from 1970 to 2037.

Curl

curl_getinfo() now supports two new constants: CURLINFO_CAPATH and CURLINFO_CAINFO. If option is null, the following two additional keys are present: "capath" and "cainfo".

DOM

Changed DOMCharacterData::appendData() tentative return type to true.

DOMDocument::loadHTML(), DOMDocument::loadHTMLFile(), and DOMDocument::loadXML() now have a tentative return type of bool. Previously, this was documented as having a return type of DOMDocument|bool, but, as of PHP 8.0.0, DOMDocument cannot be returned as it is no longer statically callable.

Gd

The signature of imagerotate() has changed. The $ignore_transparent parameter has been removed, as it was ignored since PHP 5.5.0.

Intl

datefmt_set_timezone() (and its alias IntlDateformatter::setTimeZone()) now returns true on success, previously null was returned.

IntlBreakiterator::setText() now returns false on failure, previously null was returned. It now returns true on success, previously null was returned.

IntlChar::enumCharNames() is now returning a boolean. Previously it returned null on success and false on failure.

IntlDateFormatter::__construct() throws an U_ILLEGAL_ARGUMENT_ERROR exception when an invalid locale had been set.

MBString

mb_strtolower() and mb_convert_case() implement conditional casing rules for the Greek letter sigma. For mb_convert_case(), conditional casing only applies to MB_CASE_LOWER and MB_CASE_TITLE modes, not to MB_CASE_LOWER_SIMPLE and MB_CASE_TITLE_SIMPLE.

mb_decode_mimeheader() interprets underscores in QPrint-encoded MIME encoded words as required by RFC 2047; they are converted to spaces. Underscores must be encoded as "=5F" in such MIME encoded words.

In rare cases, mb_encode_mimeheader() will transfer-encode its input string where it would pass it through as raw ASCII in PHP 8.2.

mb_encode_mimeheader() no longer drops NUL (zero) bytes when QPrint-encoding the input string. This previously caused strings in certain text encodings, especially UTF-16 and UTF-32, to be corrupted by mb_encode_mimeheader.

mb_detect_encoding()'s "non-strict" mode now behaves as described in the documentation. Previously, it would return false if the same byte (for example, the first byte) of the input string was invalid in all candidate encodings. More generally, it would eliminate candidate encodings from consideration when an invalid byte was seen, and if the same input byte eliminated all remaining encodings still under consideration, it would return false. On the other hand, if all candidate encodings but one were eliminated from consideration, it would return the last remaining one without regard for how many encoding errors might be encountered later in the string. This is different from the behavior described in the documentation, which says: "If strict is set to false, the closest matching encoding will be returned."

mysqli

mysqli_fetch_object() now raises a ValueError instead of an Exception when the $constructor_args argument is non empty with the class not having constructor.

mysqli_poll() now raises a ValueError when neither the $read nor the $error arguments are passed.

mysqli_field_seek() and mysqli_result::field_seek() now specify the return type as true instead of bool.

ODBC

odbc_autocommit() now accepts null for the $enable parameter. Passing null has the same behaviour as passing only 1 parameter, namely indicating if the autocommit feature is enabled or not.

PGSQL

pg_fetch_object() now raises a ValueError instead of an Exception when the $constructor_args argument is non empty with the class not having constructor.

pg_insert() now raises a ValueError instead of a E_WARNING when the table specified is invalid.

pg_insert() and pg_convert() raises a ValueError or a TypeError instead of a E_WARNING when the value/type of a field does not match properly with a PostgreSQL's type.

The $row parameter of
pg_fetch_result(),
pg_field_prtlen(), and
pg_field_is_null() is now nullable.

Random

Changed mt_srand() and srand() to not check the number of arguments to determine whether a random seed should be used. Passing null will generate a random seed, 0 will use zero as the seed. The functions are now consistent with Random\Engine\Mt19937::__construct().

Reflection

Return type of ReflectionClass::getStaticProperties() is no longer nullable.

Standard

E_NOTICEs emitted by unserialize() have been promoted to E_WARNING.

unserialize() now emits a new E_WARNING if the input contains unconsumed bytes.

array_pad() is now only limited by the maximum number of elements an array can have. Before, it was only possible to add at most 1048576 elements at a time.

strtok() raises an E_WARNING in the case token is not provided when starting tokenization.

password_hash() will now chain the underlying Random\RandomException as the ValueError's $previous Exception when salt generation fails.

If using an array as the $command for proc_open(), it must now have at least one non empty element. Otherwise a ValueError is thrown.

proc_open() returns false if $command array is invalid command instead of resource object that produces warning later. This was already the case for Windows but it is now also the case if posix_spawn implementation is in use (most Linux, BSD and MacOS platforms). There are still some old platforms where this behavior is not changed as posix_spawn is not supported there.

array_sum() and array_product() now warn when values in the array cannot be converted to int/float. Previously arrays and objects where ignored whilst every other value was cast to int. Moreover, objects that define a numeric cast (e.g. GMP) are now casted instead of ignored.

The $decimal of number_format() now properly handles negative integers. Rounding with a negative value for $decimal means that $num is rounded to $decimals significant digits before the decimal point. Previously negative $decimals were silently ignored and the number got rounded to zero decimal places.

A new $before_needle argument has been added to strrchr(). It behaves like its counterpart in the strstr() or stristr() functions.

str_getcsv() and fgetcsv() now return an empty string instead of a string with a single null byte for the last field which only contains an unterminated enclosure.

Other Changes to Extensions

Core

Using the increment/decrement operators (++/--) on values of type bool now emit warnings. This is because it currently has no effect, but will behave like $bool += 1 in the future.

Using the decrement operator (--) on values of type null now emit warnings. This is because it currently has no effect, but will behave like $null -= 1 in the future.

Internal objects that implement an _IS_NUMBER cast but not a do_operator handler that overrides addition and subtraction now can be incremented and decrement as if one would do $o += 1 or $o -= 1

DOM

The DOM lifetime mechanism has been reworked such that implicitly removed nodes can still be fetched. Previously this resulted in an exception.

SQLite3

The SQLite3 class now throws SQLite3Exception (extends Exception) instead of Exception.

The SQLite error code is now passed in the exception error code instead of being included in the error message.

Changes to INI File Handling

  • The assert.* INI settings have been deprecated. This comprises the following INI settings:

    • assert.active
    • assert.bail
    • assert.callback
    • assert.exception
    • assert.warning
    If the value of the setting is equal to the default value, no deprecation notice is emitted. The zend.assertions INI setting should be used instead.

  • zend.max_allowed_stack_size is a new INI directive to set the maximum allowed stack size. Possible values are 0 (detect the process or thread maximum stack size), -1 (no limit), or a positive number of bytes. The default is 0. When it is not possible to detect the process or thread maximum stack size, a known system default is used. Setting this value too high has the same effect as disabling the stack size limit. Fibers use fiber.stack_size as maximum allowed stack size. An Error is thrown when the process call stack exceeds zend.max_allowed_stack_size-zend.reserved_stack_size bytes, to prevent stack-overflow-induced segmentation faults, with the goal of making debugging easier. The stack size increases during uncontrolled recursions involving internal functions or the magic methods __toString(), __clone(), __sleep(), __destruct(). This is not related to stack buffer overflows, and is not a security feature.

  • zend.reserved_stack_size is a new INI directive to set the reserved stack size, in bytes. This is subtracted from the max allowed stack size, as a buffer, when checking the stack size.

Performance

DOM

Looping over a DOMNodeList now uses caching. Therefore requesting items no longer takes quadratic time by default.

Getting text content from nodes now avoids an allocation, resulting in a performance gain.

DOMChildNode::remove() now runs in O(1) performance.

Standard

The file() flags error check is now about 7% faster.

SPL

RecursiveDirectoryIterator now performs less I/O when looping over a directory.


  • « Other Changes
  • Migrating from PHP 8.1.x to PHP 8.2.x »
  • PHP Manual
  • Migrating from PHP 8.2.x to PHP 8.3.x
  • Windows Support

Windows Support

Core

Minimum supported Windows version has been bumped to Windows 8 or Windows Server 2012.


Migrating from PHP 8.1.x to PHP 8.2.x

İçindekiler

  • New Features
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.1.x, 7.2.x, 7.3.x, 7.4.x, 8.0.x, 8.1.x.


New Features

PHP Core

SensitiveParameter Attribute

Added the #[\SensitiveParameter] attribute to redact sensitive data in backtraces.

error_log_mode INI directive

The error_log_mode INI directive has been added which allows setting the permissions for the error log file.

Enumerations properties in constant expressions

It is now possible to fetch properties of Enumerations in constant expressions.

Type System Improvements

It is now possible to use null and false as stand-alone types.

The true type has been added.

It is now possible to combine intersection and union types. The type needs to be written in DNF.

Constants in Traits

It is now possible to define constants in traits.

Readonly Classes

Support for readonly on classes has been added.

cURL

Added the CURLINFO_EFFECTIVE_METHOD option, which returns the effective HTTP method in the return value of curl_getinfo().

Exposed multiple new constants from libcurl 7.62 to 7.80.

Added the curl_upkeep() function to perform any connection upkeep checks.

DBA

The LMDB Driver now accepts the DBA_LMDB_USE_SUB_DIR or DBA_LMDB_NO_SUB_DIR flags to determine if it should create a subdirectory or not when creating a database file.

OCI8

Added the oci8.prefetch_lob_size INI directive and oci_set_prefetch_lob() function to tune LOB query performance by reducing the number of round-trips between PHP and Oracle Databases when fetching LOBS. This is usable with Oracle Database 12.2 or later.

OpenSSL

Added AEAD support for the chacha20-poly1305 algorithm.

ODBC

Added the odbc_connection_string_is_quoted(), odbc_connection_string_should_quote(), and odbc_connection_string_quote() functions. These are primarily used behind the scenes in the ODBC and PDO_ODBC extensions, but are exposed to userland for easier unit testing, and for user applications and libraries to perform quoting themselves.

PCRE

Added support for the n (NO_AUTO_CAPTURE) modifier, which makes simple (xyz) groups non-capturing. Only named groups like (?<name>xyz) are capturing. This only affects which groups are capturing, it is still possible to use numbered subpattern references, and the matches array will still contain numbered results.

Random

This is a new extension which organises and consolidates existing implementations related to random number generators. New and better RNGs are available with scope issues eliminated.


New Functions

cURL

  • curl_upkeep()

IMAP

  • imap_is_open() (as of PHP 8.2.1)

MySQLi

  • mysqli_execute_query()

ODBC

  • odbc_connection_string_is_quoted()
  • odbc_connection_string_should_quote()
  • odbc_connection_string_quote()

OpenSSL

  • openssl_cipher_key_length()

Reflection

  • ReflectionFunction::isAnonymous()
  • ReflectionMethod::hasPrototype()

Sodium

XChaCha20

  • sodium_crypto_stream_xchacha20_xor_ic()

Standard

  • memory_reset_peak_usage()
  • ini_parse_quantity()

XML

  • libxml_get_external_entity_loader()


New Global Constants

COM

  • DISP_E_PARAMNOTFOUND
  • LOCALE_NEUTRAL

cURL

  • CURLALTSVC_H1 (libcurl >= 7.64.1)
  • CURLALTSVC_H2 (libcurl >= 7.64.1)
  • CURLALTSVC_H3 (libcurl >= 7.64.1)
  • CURLALTSVC_READONLYFILE (libcurl >= 7.64.1)
  • CURLAUTH_AWS_SIGV4 (libcurl >= 7.75.0)
  • CURLE_PROXY (libcurl >= 7.73.0)
  • CURLFTPMETHOD_DEFAULT
  • CURLHSTS_ENABLE (libcurl >= 7.74.0)
  • CURLHSTS_READONLYFILE (libcurl >= 7.74.0)
  • CURLINFO_PROXY_ERROR (libcurl >= 7.73.0)
  • CURLINFO_REFERER (libcurl >= 7.76.0)
  • CURLINFO_RETRY_AFTER (libcurl >= 7.66.0)
  • CURLMOPT_MAX_CONCURRENT_STREAMS (libcurl >= 7.67.0)
  • CURLOPT_ALTSVC_CTRL (libcurl >= 7.64.1)
  • CURLOPT_ALTSVC (libcurl >= 7.64.1)
  • CURLOPT_AWS_SIGV4 (libcurl >= 7.75.0)
  • CURLOPT_CAINFO_BLOB (libcurl >= 7.77.0)
  • CURLOPT_DOH_SSL_VERIFYHOST (libcurl >= 7.76.0)
  • CURLOPT_DOH_SSL_VERIFYPEER (libcurl >= 7.76.0)
  • CURLOPT_DOH_SSL_VERIFYSTATUS (libcurl >= 7.76.0)
  • CURLOPT_HSTS_CTRL (libcurl >= 7.74.0)
  • CURLOPT_HSTS (libcurl >= 7.74.0)
  • CURLOPT_MAIL_RCPT_ALLLOWFAILS (libcurl >= 7.69.0)
  • CURLOPT_MAXAGE_CONN (libcurl >= 7.65.0)
  • CURLOPT_MAXFILESIZE_LARGE
  • CURLOPT_MAXLIFETIME_CONN (libcurl >= 7.80.0)
  • CURLOPT_PROXY_CAINFO_BLOB (libcurl >= 7.77.0)
  • CURLOPT_SASL_AUTHZID (libcurl >= 7.66.0)
  • CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256 (libcurl >= 7.80.0)
  • CURLOPT_SSL_EC_CURVES (libcurl >= 7.73.0)
  • CURLOPT_UPKEEP_INTERVAL_MS (libcurl >= 7.62.0)
  • CURLOPT_UPLOAD_BUFFERSIZE (libcurl >= 7.62.0)
  • CURLOPT_XFERINFOFUNCTION (libcurl >= 7.32.0)
  • CURLPROTO_MQTT (libcurl >= 7.71.0)
  • CURLPX_BAD_ADDRESS_TYPE (libcurl >= 7.73.0)
  • CURLPX_BAD_VERSION (libcurl >= 7.73.0)
  • CURLPX_CLOSED (libcurl >= 7.73.0)
  • CURLPX_GSSAPI (libcurl >= 7.73.0)
  • CURLPX_GSSAPI_PERMSG (libcurl >= 7.73.0)
  • CURLPX_GSSAPI_PROTECTION (libcurl >= 7.73.0)
  • CURLPX_IDENTD_DIFFER (libcurl >= 7.73.0)
  • CURLPX_IDENTD (libcurl >= 7.73.0)
  • CURLPX_LONG_HOSTNAME (libcurl >= 7.73.0)
  • CURLPX_LONG_PASSWD (libcurl >= 7.73.0)
  • CURLPX_LONG_USER (libcurl >= 7.73.0)
  • CURLPX_NO_AUTH (libcurl >= 7.73.0)
  • CURLPX_OK (libcurl >= 7.73.0)
  • CURLPX_RECV_ADDRESS (libcurl >= 7.73.0)
  • CURLPX_RECV_AUTH (libcurl >= 7.73.0)
  • CURLPX_RECV_CONNECT (libcurl >= 7.73.0)
  • CURLPX_RECV_REQACK (libcurl >= 7.73.0)
  • CURLPX_REPLY_ADDRESS_TYPE_NOT_SUPPORTED (libcurl >= 7.73.0)
  • CURLPX_REPLY_COMMAND_NOT_SUPPORTED (libcurl >= 7.73.0)
  • CURLPX_REPLY_CONNECTION_REFUSED (libcurl >= 7.73.0)
  • CURLPX_REPLY_GENERAL_SERVER_FAILURE (libcurl >= 7.73.0)
  • CURLPX_REPLY_HOST_UNREACHABLE (libcurl >= 7.73.0)
  • CURLPX_REPLY_NETWORK_UNREACHABLE (libcurl >= 7.73.0)
  • CURLPX_REPLY_NOT_ALLOWED (libcurl >= 7.73.0)
  • CURLPX_REPLY_TTL_EXPIRED (libcurl >= 7.73.0)
  • CURLPX_REPLY_UNASSIGNED (libcurl >= 7.73.0)
  • CURLPX_REQUEST_FAILED (libcurl >= 7.73.0)
  • CURLPX_RESOLVE_HOST (libcurl >= 7.73.0)
  • CURLPX_SEND_AUTH (libcurl >= 7.73.0)
  • CURLPX_SEND_CONNECT (libcurl >= 7.73.0)
  • CURLPX_SEND_REQUEST (libcurl >= 7.73.0)
  • CURLPX_UNKNOWN_FAIL (libcurl >= 7.73.0)
  • CURLPX_UNKNOWN_MODE (libcurl >= 7.73.0)
  • CURLPX_USER_REJECTED (libcurl >= 7.73.0)
  • CURLSSLOPT_AUTO_CLIENT_CERT (libcurl >= 7.77.0)
  • CURLSSLOPT_NATIVE_CA (libcurl >= 7.71.0)
  • CURLSSLOPT_NO_PARTIALCHAIN (libcurl >= 7.68.0)
  • CURLSSLOPT_REVOKE_BEST_EFFORT (libcurl >= 7.70.0)
  • CURL_VERSION_GSASL (libcurl >= 7.76.0)
  • CURL_VERSION_HSTS (libcurl >= 7.74.0)
  • CURL_VERSION_HTTP3 (libcurl >= 7.66.0)
  • CURL_VERSION_UNICODE (libcurl >= 7.72.0)
  • CURL_VERSION_ZSTD (libcurl >= 7.72.0)

DBA

  • DBA_LMDB_USE_SUB_DIR
  • DBA_LMDB_NO_SUB_DIR

Filter

  • FILTER_FLAG_GLOBAL_RANGE

Sockets

The following socket options are now defined if they are supported:

  • SO_INCOMING_CPU
  • SO_MEMINFO
  • SO_RTABLE (OpenBSD)
  • TCP_KEEPALIVE (MacOS)
  • TCP_KEEPCNT (Linux, others)
  • TCP_KEEPIDLE (Linux, others)
  • TCP_KEEPINTVL (Linux, others)
  • TCP_NOTSENT_LOWAT
  • LOCAL_CREDS_PERSISTENT (FreeBSD)
  • SCM_CREDS2 (FreeBSD)
  • LOCAL_CREDS (NetBSD)
  • SO_BPF_EXTENSIONS
  • SO_SETFIB
  • TCP_CONGESTION (Linux, FreeBSD)
  • SO_ZEROCOPY (Linux)
  • MSG_ZEROCOPY (Linux)


Backward Incompatible Changes

Date

DateTime::createFromImmutable() now has a tentative return type of static, previously it was DateTime.

DateTimeImmutable::createFromMutable() now has a tentative return type of static, previously it was DateTimeImmutable.

number symbols in relative formats no longer accept multiple signs, e.g. +-2.

ODBC

The ODBC extension now escapes the username and password for the case when both a connection string and username/password are passed, and the string must be appended to. Before, user values containing values needing escaping could have created a malformed connection string, or injected values from user-provided data. The escaping rules should be identical to the .NET BCL DbConnectionOptions behaviour.

PDO_ODBC

The PDO_ODBC extension also escapes the username and password when a connection string is passed. See the change to the ODBC extension for further details.

Standard

glob() now returns an empty array if all paths are restricted by open_basedir. Previously it returned false. Moreover, a warning is now emitted even if only some paths are restricted by open_basedir.

FilesystemIterator::__construct(): prior to PHP 8.2.0, FilesystemIterator::SKIP_DOTS constant was always set and couldn't be disabled. In order to maintain the previous behaviour the constant must be explicitly set when using the flags parameter. The default value from flags parameter has not been modified.

strtolower(),
strtoupper(),
stristr(),
stripos(),
strripos(),
lcfirst(),
ucfirst(),
ucwords(),
and str_ireplace() are no longer locale-sensitive.
They now perform ASCII case conversion, as if the locale were "C".
Localized versions of these functions are available in the MBString extension.
Moreover, array_change_key_case(), and sorting with
SORT_FLAG_CASE now also use ASCII case conversion.

str_split() returns an empty array for an empty string now. Previously it returned an array with a single empty string entry. mb_str_split() is not affected by this change as it was already behaving like that.

ksort() and krsort() now do numeric string comparison under SORT_REGULAR using the standard PHP 8 rules now.

var_export() no longer omits the leading backslash for exported classes, i.e. these are now fully qualified.

Standard PHP Library (SPL)

The following methods now enforce their signature:

  • SplFileInfo::_bad_state_ex()
  • SplFileObject::getCsvControl()
  • SplFileObject::fflush()
  • SplFileObject::ftell()
  • SplFileObject::fgetc()
  • SplFileObject::fpassthru()

SplFileObject::hasChildren() now has a tentative return type of false, previously it was bool.

SplFileObject::getChildren() now has a tentative return type of null, previously it was ?RecursiveIterator.

GlobIterator now returns an empty array if all paths are restricted by open_basedir. Previously it returned false. Moreover, a warning is now emitted even if only some paths are restricted by open_basedir.


Deprecated Features

PHP Core

Usage of dynamic properties

The creation of dynamic properties is deprecated, unless the class opts in by using the #[\AllowDynamicProperties] attribute. stdClass allows dynamic properties. Usage of the __get()/__set() magic methods is not affected by this change. A dynamic properties deprecation warning can be addressed by:

  • Declaring the property (preferred).
  • Adding the #[\AllowDynamicProperties] attribute to the class (which also applies to all child classes).
  • Using a WeakMap if additional data needs to be associated with an object which one does not own.

Relative callables

Callables that are not accepted by the $callable() syntax (but are accepted by call_user_func()) are deprecated. In particular:

  • "self::method"
  • "parent::method"
  • "static::method"
  • ["self", "method"]
  • ["parent", "method"]
  • ["static", "method"]
  • ["Foo", "Bar::method"]
  • [new Foo, "Bar::method"]
This does not affect normal method callables such as "A::method" or ["A", "method"].

"${var}" and "${expr}" style interpolation

The "${var}" and "${expr}" style of string interpolation is deprecated. Use "$var"/"{$var}" and "{${expr}}", respectively.

MBString

Usage of the QPrint, Base64, Uuencode, and HTML-ENTITIES 'text encodings' is deprecated for all MBString functions. Unlike all the other text encodings supported by MBString, these do not encode a sequence of Unicode codepoints, but rather a sequence of raw bytes. It is not clear what the correct return values for most MBString functions should be when one of these non-encodings is specified. Moreover, PHP has separate, built-in implementations of all of them; for example, UUencoded data can be handled using convert_uuencode()/convert_uudecode().

SPL

The internal SplFileInfo::_bad_state_ex() method has been deprecated.

Standard

utf8_encode() and utf8_decode() have been deprecated.


Other Changes

Core changes

The iterable type is now a built-in compile time alias for array|Traversable. Error messages relating to iterable will therefore now use array|Traversable. Type Reflection is preserved for single iterable (and ?iterable) to produce a ReflectionNamedType with name iterable, however usage of iterable in union types will be converted to array|Traversable.

The date format of sent cookies is now 'D, d M Y H:i:s \G\M\T'; previously it was 'D, d-M-Y H:i:s T'.

Changes in SAPI Modules

CLI

The STDOUT, STDERR and STDIN streams are no longer closed on resource destruction which is mostly when the CLI finishes. It is however still possible to explicitly close those streams using fclose() and similar.

Changed Functions

Core

The strcmp(), strcasecmp(),
strncmp(), strncasecmp(), and
substr_compare() functions, using binary safe string
comparison now return -1, 0 and 1.

DBA

dba_open() and dba_popen() now have the following enforced signature:

dba_open(
string $path,
string $mode,
?string $handler = null,
int $permission = 0644,
int $map_size = 0,
?int $flags = null
): resource|false

dba_fetch()'s optional skip argument is now at the end in line with PHP userland semantics. Its signature is now:

dba_fetch(string|array $key, resource $handle, int $skip): string|false
The overloaded signature:
dba_fetch(string|array $key, int $skip, resource $handle): string|false
is still accepted, but it is recommended to use the new standard variant.

Random

random_bytes() and random_int() now throw a \Random\RandomException on CSPRNG failures. Previously a plain \Exception was thrown instead.

SPL

The iterator parameter of iterator_to_array() and iterator_count() is widened to iterable from Iterator, allowing arrays to be passed.

Other Changes to Extensions

Date

The properties of DatePeriod are now properly declared.

Intl

Instances of IntlBreakIterator, IntlRuleBasedBreakIterator, IntlCodePointBreakIterator, IntlPartsIterator, IntlCalendar, Collator, IntlIterator, UConverter, IntlDateFormatter, IntlDatePatternGenerator, MessageFormatter, ResourceBundle, Spoofchecker, IntlTimeZone, and Transliterator are no longer serializable. Previously, they could be serialized, but unserialization yielded unusable objects or failed.

MySQLi

The support for libmysql has been removed and it is no longer possible to compile mysqli with libmysql. From now on, the mysqli extension can be compiled only with mysqlnd. All libmysql features unavailable in mysqlnd have been removed:

  • The reconnect property of mysqli_driver
  • The mysqli.reconnect INI directive
  • The MYSQLI_IS_MARIADB constant has been deprecated

OCI8

The minimum Oracle Client library version required is now 11.2.

PCRE

NUL characters (\0) in pattern strings are now supported.

Session

Trying to change the session.cookie_samesite INI directive while the session is active or output has already been sent will now fail and emit a warning. This aligns the behaviour with all other session INI settings.

SQLite3

sqlite3.defensive is now PHP_INI_USER.

Standard

getimagesize() now reports the actual image dimensions, bits and channels of AVIF images. Previously, the dimensions have been reported as 0x0, and bits and channels have not been reported at all.

Tidy

The properties of the tidy class are now properly declared. And those of the tidyNode class are now properly declared as readonly.

Zip

The Zip extension has been updated to version 1.20.0, which adds the following methods:

  • ZipArchive::clearError()
  • ZipArchive::getStreamName()
  • ZipArchive::getStreamIndex()

Changes to INI File Handling

Support for binary (0b/0B) and octal (0o/0O) prefixes has been added to integer INI settings. Integer INI settings that start with a zero (0) continue to be interpreted as an octal integer.

Parsing of some ill-formatted values will now trigger a warning when this was silently ignored before. For backwards compatibility, interpretation of these values has not changed. This affects the following settings:

  • bcmath.scale
  • com.code_page
  • default_socket_timeout
  • fiber.stack_size
  • hard_timeout
  • intl.error_level
  • ldap.max_links
  • max_input_nesting_level
  • max_input_vars
  • mbstring.regex_retry_limit
  • mbstring.regex_stack_limit
  • mysqli.allow_local_infile
  • mysqli.allow_persistent
  • mysqli.default_port
  • mysqli.max_links
  • mysqli.max_persistent
  • mysqli.rollback_on_cached_plink
  • mysqlnd.log_mask
  • mysqlnd.mempool_default_size
  • mysqlnd.net_read_buffer_size
  • mysqlnd.net_read_timeout
  • oci8.default_prefetch
  • oci8.max_persistent
  • oci8.persistent_timeout
  • oci8.ping_interval
  • oci8.prefetch_lob_size
  • oci8.privileged_connect
  • oci8.statement_cache_size
  • odbc.allow_persistent
  • odbc.check_persistent
  • odbc.max_persistent
  • odbc.max_links
  • odbc.defaultbinmode
  • odbc.default_cursortype
  • odbc.defaultlrl
  • opcache.consistency_checks
  • opcache.file_update_protection
  • opcache.force_restart_timeout
  • opcache.interned_strings_buffer
  • opcache.jit_bisect_limit
  • opcache.jit_blacklist_root_trace
  • opcache.jit_blacklist_side_trace
  • opcache.jit_debug
  • opcache.jit_hot_func
  • opcache.jit_hot_loop
  • opcache.jit_hot_return
  • opcache.jit_hot_side_exit
  • opcache.jit_max_exit_counters
  • opcache.jit_max_loop_unrolls
  • opcache.jit_max_polymorphic_calls
  • opcache.jit_max_recursive_calls
  • opcache.jit_max_recursive_returns
  • opcache.jit_max_root_traces
  • opcache.jit_max_side_traces
  • opcache.log_verbosity_level
  • opcache.max_file_size
  • opcache.opt_debug_level
  • opcache.optimization_level
  • opcache.revalidate_freq
  • output_buffering
  • pcre.backtrack_limit
  • pcre.recursion_limit
  • pgsql.max_links
  • pgsql.max_persistent
  • post_max_size
  • realpath_cache_size
  • realpath_cache_ttl
  • session.cache_expire
  • session.cookie_lifetime
  • session.gc_divisor
  • session.gc_maxlifetime
  • session.gc_probability
  • soap.wsdl_cache_limit
  • soap.wsdl_cache_ttl
  • unserialize_max_depth
  • upload_max_filesize
  • user_ini.cache_ttl
  • xmlrpc_error_number
  • zend.assertions
  • zlib.output_compression_level


Windows Support

Core

Windows specific error messages are no longer localized, but instead always displayed in English to better match PHP error messages.

Preliminary and highly experimental support for building on ARM64 has been added.

OCI8

Because building against Oracle Client 10g is no longer supported anyway, the configuration option --with-oci8 has been dropped. The --with-oci8-11g, --with-oci8-12c and --with-oci8-19 configuration options are still supported.

Zip

The Zip extension is upgraded to version 1.21.0, and is now built as shared library (DLL) by default.


Migrating from PHP 8.0.x to PHP 8.1.x

İçindekiler

  • New Features
  • New Classes and Interfaces
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.1.x, 7.2.x, 7.3.x, 7.4.x, 8.0.x.


New Features

PHP Core

Integer Octal Literal Prefix

Octal integers can now use an explicit 0o/0O prefix in integer literals, similarly to binary and hexadecimal integer literals.

<?php
014; // Non-prefix octal literal
0o14; // Prefixed octal literal
?>

Array Unpacking with String Keys

Added support for array unpacking with strings keys.

<?php
$arr1 = [1, 'a' => 'b'];
$arr2 = [...$arr1, 'c' => 'd']; //[1, 'a' => 'b', 'c' => 'd']
?>

Named Argument After Argument Unpacking

It is now possible to specify named arguments after an argument unpack. e.g. foo(...$args, named: $arg).

full-path Key for File Uploads

File uploads now provide an additional full_path key, which contains the full path (rather than just the basename) of the uploaded file. This is intended for use in conjunction with "upload webkitdirectory".

Enumerations

Support for Enumerations has been added.

Fibers

Support for Fibers has been added.

First Class Callable Syntax

Closures for callables can now be created using the syntax myFunc(...), which is identical to Closure::fromCallable('myFunc').

Bilginize: The ... is part of the syntax, and not an omission.

Intersection Types

Support for intersection types has been added.

Dikkat

Intersection types cannot be used together with union types

Never type

A new return only type never has been added. This indicates that a function either exit(), throws an exception, or doesn't terminate.

new in Initializers

It is now possible to use new ClassName() expressions as the default value of a parameter, static variable, global constant initializers, and as attribute arguments. Objects can also be passed to define() now.

Readonly properties

Support for readonly has been added.

Final class constants

Added support for the final modifier for class constants. Also, interface constants become overridable by default.

CURL

Added the CURLOPT_DOH_URL option.

Added options for blob certificate when libcurl >= 7.71.0:

  • CURLOPT_ISSUERCERT_BLOB
  • CURLOPT_PROXY_ISSUERCERT
  • CURLOPT_PROXY_ISSUERCERT_BLOB
  • CURLOPT_PROXY_SSLCERT_BLOB
  • CURLOPT_PROXY_SSLKEY_BLOB
  • CURLOPT_SSLCERT_BLOB
  • CURLOPT_SSLKEY_BLOB

Added CURLStringFile, which can be used to post a file from a string rather than a file:

<?php
$file = new CURLStringFile($data, 'filename.txt', 'text/plain');
curl_setopt($curl, CURLOPT_POSTFIELDS, ['file' => $file]);
?>

FPM

Added openmetrics status format. It can be used by Prometheus to fetch FPM metrics.

Added new pool option for the dynamic process manager called pm.max_spawn_rate. It allows to start a number of children at a faster rate when dynamic pm is selected. The default value is 32 which was the previous hard coded value.

GD

Avif support is now available through imagecreatefromavif() and imageavif(), if libgd has been built with Avif support.

Hash

The following functions hash(), hash_file(), and hash_init() now support an additional optional options argument, which can be used to pass algorithm specific data.

MurmurHash3

Added support for MurmurHash3 with streaming support. The following variants are implemented:

  • murmur3a, 32-bit hash
  • murmur3c, 128-bit hash for x86
  • murmur3f, 128-bit hash for x64

The initial hash state can be passed through the seed key in the options array, for example:

<?php
$h = hash("murmur3f", $data, options: ["seed" => 42]);
echo $h, "\n";
?>
A valid seed value is within the range from 0 to the platform defined UINT_MAX, usually 4294967295.

xxHash

Added support for xxHash. The following variants are implemented:

  • xxh32, 32-bit hash
  • xxh64, 64-bit hash
  • xxh3, 64-bit hash
  • xxh128, 128-bit hash

The initial hash state can be passed through the seed key in the options array, for example:

<?php
$h = hash("xxh3", $data, options: ["seed" => 42]);
echo $h, "\n";
?>
Secret usage is supported through passing the secret key in the options array, too:
<?php
$h = hash("xxh3", $data, options: ["secret" => "at least 136 bytes long secret here"]);
echo $h, "\n";
?>
The quality of the custom secret is crucial for the quality of the resulting hash. It is highly recommended for the secret to use the best possible entropy.

MySQLi

New INI directive mysqli.local_infile_directory

The mysqli.local_infile_directory INI directive has been added, which can be used to specify a directory from which files are allowed to be loaded. It is only meaningful if mysqli.allow_local_infile is not enabled, as all directories are allowed in that case.

Binding parameters in execute

It is now possible to bind parameters by passing them as an array to mysqli_stmt::execute(). All values will be bound as strings. Only list arrays are allowed. This new feature is not available when MySQLi is compiled with libmysqlclient.

<?php
$stmt = $mysqli->prepare('INSERT INTO users(id, name) VALUES(?,?)');
$stmt->execute([1, $username]);
?>

New method mysqli_result::fetch_column()

mysqli_result::fetch_column() has been added to allow fetching a single scalar value from the result set. The new method accepts an optional 0-based column parameter of type int specifying which column to fetch from.

<?php
$result = $mysqli->query('SELECT username FROM users WHERE id = 123');
echo $result->fetch_column();
?>

PDO

The PDO::MYSQL_ATTR_LOCAL_INFILE_DIRECTORY attribute has been added, which can be used to specify a directory from which files are allowed to be loaded. It is only meaningful if PDO::MYSQL_ATTR_LOCAL_INFILE is not enabled, as all directories are allowed in that case.

PDO_SQLite

SQLite's "file:" DSN syntax is now supported, which allows specifying additional flags. This feature is not available if open_basedir is set.

<?php
new PDO('sqlite:file:path/to/sqlite.db?mode=ro')
?>

POSIX

Added POSIX_RLIMIT_KQUEUES and POSIX_RLIMIT_NPTS. These rlimits are only available on FreeBSD.

Standard

fputcsv() now accepts a new eol argument which allows to define a custom End of Line sequence, the default remains the same and is "\n".

SPL

SplFileObject::fputcsv() now accepts a new eol argument which allows to define a custom End of Line sequence, the default remains the same and is "\n".


  • « New Features
  • New Functions »
  • PHP Manual
  • Migrating from PHP 8.0.x to PHP 8.1.x
  • New Classes and Interfaces

New Classes and Interfaces

cURL

  • CURLStringFile

Intl

  • IntlDatePatternGenerator

Reflection

  • ReflectionFiber


New Functions

PHP Core

  • array_is_list()

GD

  • imagecreatefromavif()
  • imageavif()

MySQLi

  • mysqli_result::fetch_column()
  • mysqli_fetch_column()

Process Control

  • pcntl_rfork()

Reflection

  • ReflectionFunctionAbstract::getClosureUsedVariables()

Standard

  • fsync()
  • fdatasync()

Sodium

XChaCha20

  • sodium_crypto_stream_xchacha20()
  • sodium_crypto_stream_xchacha20_keygen()
  • sodium_crypto_stream_xchacha20_xor()

Ristretto255

Ristretto255 functions are available as of libsodium 1.0.18.

  • sodium_crypto_core_ristretto255_add()
  • sodium_crypto_core_ristretto255_from_hash()
  • sodium_crypto_core_ristretto255_is_valid_point()
  • sodium_crypto_core_ristretto255_random()
  • sodium_crypto_core_ristretto255_scalar_add()
  • sodium_crypto_core_ristretto255_scalar_complement()
  • sodium_crypto_core_ristretto255_scalar_invert()
  • sodium_crypto_core_ristretto255_scalar_mul()
  • sodium_crypto_core_ristretto255_scalar_negate()
  • sodium_crypto_core_ristretto255_scalar_random()
  • sodium_crypto_core_ristretto255_scalar_reduce()
  • sodium_crypto_core_ristretto255_scalar_sub()
  • sodium_crypto_core_ristretto255_sub()
  • sodium_crypto_scalarmult_ristretto255()
  • sodium_crypto_scalarmult_ristretto255_base()


New Global Constants

cURL

  • CURLOPT_DOH_URL
  • CURLOPT_ISSUERCERT_BLOB
  • CURLOPT_PROXY_ISSUERCERT
  • CURLOPT_PROXY_ISSUERCERT_BLOB
  • CURLOPT_PROXY_SSLCERT_BLOB
  • CURLOPT_PROXY_SSLKEY_BLOB
  • CURLOPT_SSLCERT_BLOB
  • CURLOPT_SSLKEY_BLOB

GD

  • IMG_AVIF
  • IMG_WEBP_LOSSLESS

MySQLi

  • MYSQLI_REFRESH_REPLICA

    This constant has been added as a replacement for MYSQLI_REFRESH_SLAVE, in line with an upstream change in MySQL. The old constant is still available for backwards-compatibility reasons, but may be deprecated/removed in the future.

PCNTL

  • PRIO_DARWIN_BG
  • PRIO_DARWIN_THREAD

POSIX

  • POSIX_RLIMIT_KQUEUES
  • POSIX_RLIMIT_NPTS

Sockets

The following socket options are now defined if they are supported:

  • SO_ACCEPTFILTER
  • SO_DONTTRUNC
  • SO_WANTMORE
  • SO_MARK
  • TCP_DEFER_ACCEPT

Sodium

  • SODIUM_CRYPTO_STREAM_XCHACHA20_NONCEBYTES
  • SODIUM_CRYPTO_STREAM_XCHACHA20_KEYBYTES
  • SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_BYTES
  • SODIUM_CRYPTO_SCALARMULT_RISTRETTO255_SCALARBYTES
  • SODIUM_CRYPTO_CORE_RISTRETTO255_BYTES
  • SODIUM_CRYPTO_CORE_RISTRETTO255_HASHBYTES
  • SODIUM_CRYPTO_CORE_RISTRETTO255_SCALARBYTES
  • SODIUM_CRYPTO_CORE_RISTRETTO255_NONREDUCEDSCALARBYTES

Tokenizer

  • T_READONLY


Backward Incompatible Changes

PHP Core

$GLOBALS Access Restrictions

Access to the $GLOBALS array is now subject to a number of restrictions. Read and write access to individual array elements like $GLOBALS['var'] continues to work as-is. Read-only access to the entire $GLOBALS array also continues to be supported. However, write access to the entire $GLOBALS array is no longer supported. For example, array_pop($GLOBALS) will result in an error.

Usage of static Variables in Inherited Methods

When a method using static variables is inherited (but not overridden), the inherited method will now share static variables with the parent method.

<?php
class A {
public static function counter() {
static $counter = 0;
$counter++;
return $counter;
}
}
class B extends A {}
var_dump(A::counter()); // int(1)
var_dump(A::counter()); // int(2)
var_dump(B::counter()); // int(3), previously int(1)
var_dump(B::counter()); // int(4), previously int(2)
?>
This means that static variables in methods now behave the same way as static properties.

Optional parameters specified before required parameters

An optional parameter specified before required parameters is now always treated as required, even when called using named arguments. As of PHP 8.0.0, but prior to PHP 8.1.0, the below emits a deprecation notice on the definition, but runs successfully when called. As of PHP 8.1.0, an error of class ArgumentCountError is thrown, as it would be when called with positional arguments.

<?php
function makeyogurt($container = "bowl", $flavour)
{
return "Making a $container of $flavour yogurt.\n";
}
try
{
echo makeyogurt(flavour: "raspberry");
}
catch (Error $e)
{
echo get_class($e), ' - ', $e->getMessage(), "\n";
}
?>

Yukarıdaki örneğin PHP 8.0 çıktısı:

Deprecated: Required parameter $flavour follows optional parameter $container
 in example.php on line 3
Making a bowl of raspberry yogurt.

Yukarıdaki örneğin PHP 8.1 çıktısı:

Deprecated: Optional parameter $container declared before required parameter
 $flavour is implicitly treated as a required parameter in example.php on line 3
ArgumentCountError - makeyogurt(): Argument #1 ($container) not passed

Note that a default value of null can be used before required parameters to specify a nullable type, but the parameter will still be required.

Return Type Compatibility with Internal Classes

Most non-final internal methods now require overriding methods to declare a compatible return type, otherwise a deprecated notice is emitted during inheritance validation. In case the return type cannot be declared for an overriding method due to PHP cross-version compatibility concerns, a ReturnTypeWillChange attribute can be added to silence the deprecation notice.

New Keywords

readonly is a keyword now. However, it still may be used as function name.

never is now a reserved word, so it cannot be used to name a class, interface or trait, and is also prohibited from being used in namespaces.

Resource to Object Migration

Several resources have been migrated to objects. Return value checks using is_resource() should be replaced with checks for false.

  • The FileInfo functions now accept and return finfo objects instead of fileinfo resources.

  • The FTP functions now accept and return FTP\Connection objects instead of ftp resources.

  • The IMAP functions now accept and return IMAP\Connection objects instead of imap resources.

  • The LDAP functions now accept and return LDAP\Connection objects instead of ldap link resources.

  • The LDAP functions now accept and return LDAP\Result objects instead of ldap result resources.

  • The LDAP functions now accept and return LDAP\ResultEntry objects instead of ldap result entry resources.

  • The PgSQL functions now accept and return PgSql\Connection objects instead of pgsql link resources.

  • The PgSQL functions now accept and return PgSql\Result objects instead of pgsql result resources.

  • The PgSQL functions now accept and return PgSql\Lob objects instead of pgsql large object resources.

  • The PSpell functions now accept and return PSpell\Dictionary objects instead of pspell resources.

  • The PSpell functions now accept and return PSpell\Config objects instead of pspell config resources.

MySQLi

mysqli_fetch_fields(), and mysqli_fetch_field_direct() will now always return 0 for the max_length. This information can be computed by iterating over the result set, and taking the maximum length. This is what PHP was doing internally previously.

The MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH option no longer has any effect.

The MYSQLI_STORE_RESULT_COPY_DATA option no longer has any effect. Passing any value to the mode parameter of mysqli::store_result() no longer has any effect.

mysqli::connect() now returns true instead of null on success.

The default error handling mode has been changed from "silent" to "exceptions" See the MySQLi reporting mode page for more details on what this entails, and how to explicitly set this attribute. To restore the previous behaviour use: mysqli_report(MYSQLI_REPORT_OFF);

Classes extending mysqli_stmt::execute() are now required to specify the additional optional parameter.

MySQLnd

The mysqlnd.fetch_data_copy INI directive has been removed. This should not result in user-visible behavior changes.

OpenSSL

EC private keys will now be exported in PKCS#8 format rather than traditional format, just like all other keys.

openssl_pkcs7_encrypt() and openssl_cms_encrypt() will now to default using AES-128-CBC rather than RC2-40. The RC2-40 cipher is considered insecure and not enabled by default by OpenSSL 3.

PHP Data Objects

PDO::ATTR_STRINGIFY_FETCHES now stringifies values of type bool to "0" or "1". Previously bools were not stringified.

Calling PDOStatement::bindColumn() with PDO::PARAM_LOB will now constantly bind a stream result when PDO::ATTR_STRINGIFY_FETCHES is not enabled. Previously, the result would either be a stream or a string depending on the used database driver and the time the binding is performed.

MySQL Driver

Integers and floats in result sets will now be returned using native PHP types instead of strings when using emulated prepared statements. This matches the behavior of native prepared statements. The previous behaviour can be restored by enabling the PDO::ATTR_STRINGIFY_FETCHES option.

SQLite Driver

Integers and floats in results sets will now be returned using native PHP types. The previous behaviour can be restored by enabling the PDO::ATTR_STRINGIFY_FETCHES option.

Phar

To comply with the ArrayAccess interface, Phar::offsetUnset() and PharData::offsetUnset() no longer return a bool.

Standard

version_compare() no longer accepts undocumented operator abbreviations.

htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode(), and get_html_translation_table() now use ENT_QUOTES | ENT_SUBSTITUTE rather than ENT_COMPAT by default. This means that ' is escaped to &#039; while previously nothing was done. Additionally, malformed UTF-8 will be replaced by a Unicode substitution character, instead of resulting in an empty string.

debug_zval_dump() now prints the refcount of a reference wrappers with their refcount, instead of only prepending & to the value. This more accurately models reference representation since PHP 7.0.

debug_zval_dump() now prints interned instead of a dummy refcount for interned strings and immutable arrays.

Standard PHP Library (SPL)

SplFixedArray, will now be JSON encoded like an array


Deprecated Features

PHP Core

Implementing Serializable without __serialize() and __unserialize()

Either only the new methods should be implemented, if no support for PHP prior to version 7.4 is provided, or both should be implemented.

Passing null to non-nullable parameters of built-in functions

Scalar types for built-in functions are nullable by default. This behaviour is deprecated to align with the behaviour of user-defined functions, where scalar types need to be marked as nullable explicitly.

<?php
var_dump(str_contains("foobar", null));
// Deprecated: Passing null to parameter #2 ($needle) of type string
// is deprecated
?>

Implicit incompatible float to int conversions

The implicit conversion of float to int which leads to a loss in precision is now deprecated. This affects array keys, int type declarations in coercive mode, and operators working on ints.

<?php
$a = [];
$a[15.5]; // deprecated, as key value loses the 0.5 component
$a[15.0]; // ok, as 15.0 == 15
?>

Calling a static element on a trait

Calling a static method, or accessing a static property directly on a trait is deprecated. Static methods and properties should only be accessed on a class using the trait.

Returning a non-array from __sleep()

Returning a value which is not an array from __sleep() now generates a diagnostic.

Returning by reference from a void function

<?php
function &test(): void {}
?>
Such a function is contradictory, and already emits the following E_NOTICE when called: Only variable references should be returned by reference.

Autovivification from false

Autovivification is the process of creating a new array when appending to a value. Autovivification is prohibited from scalar values, false however was an exception. This is now deprecated.

<?php
$arr = false;
$arr[] = 2; // deprecated
?>

Bilginize:

Autovivification from null and undefined values is still allowed:

<?php
// From undefined
$arr[] = 'some value';
$arr['doesNotExist'][] = 2;
// From null
$arr = null;
$arr[] = 2;
?>

ctype

Verifying non-string arguments

Passing a non-string argument is deprecated. In the future, the argument will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, the argument should either be cast to string or an explicit call to chr() should be made. All ctype_*() functions are affected.

Date

date_sunrise() and date_sunset() have been deprecated in favor of date_sun_info().

strptime() has been deprecated.
Use date_parse_from_format() instead (for locale-independent parsing),
or IntlDateFormatter::parse() (for locale-dependent parsing).

strftime() and gmstrftime() have been deprecated.
Use date() instead (for locale-independent formatting),
or IntlDateFormatter::format() (for locale-dependent formatting).

Filter

The FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED filters are deprecated.

The filter.default INI directive is deprecated.

GD

The num_points of imagepolygon(), imageopenpolygon() and imagefilledpolygon() has been deprecated.

Hash

The mhash(),
mhash_keygen_s2k(),
mhash_count(),
mhash_get_block_size(),
and mhash_get_hash_name() have been deprecated.
Use the hash_*() functions instead.

IMAP

The NIL constant has been deprecated. Use 0 instead.

Intl

Calling IntlCalendar::roll() with a bool argument is deprecated. Use 1 and -1 instead of true and false respectively.

Multibyte String

Calling mb_check_encoding() without any arguments is deprecated.

MySQLi

The mysqli_driver::$driver_version property has been deprecated. It was meaningless and outdated, use PHP_VERSION_ID instead.

Calling mysqli::get_client_info() or mysqli_get_client_info() with the mysqli argument has been deprecated. Call mysqli_get_client_info() without any arguments to obtain the version information of the client library.

The mysqli::init() method has been deprecated.
Replace calls to parent::init() with
parent::__construct().

OCI8

The oci8.old_oci_close_semantics INI directive is deprecated.

ODBC

odbc_result_all() has been deprecated.

PDO

The PDO::FETCH_SERIALIZE fetch mode has been deprecated.

PgSQL

Not passing the connection argument to all pgsql_*() functions has been deprecated.

SOAP

The ssl_method option of SoapClient::__construct() has been deprecated in favor of SSL stream context options.

Standard

Calling key(), current(), next(), prev(), reset(), or end() on objects is deprecated. Either convert the object to an array using get_mangled_object_vars() first, or use the methods provided by a class that implements Iterator, such as ArrayIterator, instead.

The auto_detect_line_endings INI directive is deprecated. If necessary, handle "\r" line breaks manually instead.

The FILE_BINARY and FILE_TEXT constants have been deprecated. They never had any effect.


Other Changes

Changes in SAPI Modules

CLI

Using -a without the readline extension will now result in an error. Previously, -a without readline had the same behavior as calling php without any arguments, apart from printing an additional "Interactive mode enabled" message. This mode was not interactive.

PHPDBG

Remote functionality from phpdbg has been removed.

Changed Functions

Core

The order of properties used in foreach, var_dump(), serialize(), object comparison, etc. was changed. Properties are now ordered naturally according to their declaration and inheritance. Properties declared in a base class are going to be before the child properties.

This order is consistent with internal layout of properties in zend_object structure and repeats the order in default_properties_table[] and properties_info_table[]. The old order was not documented and was caused by class inheritance implementation details.

Filter

The FILTER_FLAG_ALLOW_OCTAL flag of the FILTER_VALIDATE_INT filter now accept octal string with the leading octal prefix ("0o"/"0O").

GMP

All GMP functions now accept octal string with the leading octal prefix ("0o"/"0O").

PDO ODBC

PDO::getAttribute() with
PDO::ATTR_SERVER_INFO and
PDO::ATTR_SERVER_VERSION
now return values instead of throwing PDOException.

Reflection

ReflectionProperty::setAccessible() and ReflectionMethod::setAccessible() no longer have an effect. Properties and methods are now always considered accessible via Reflection.

Standard

syslog() is now binary safe.

Other Changes to Extensions

GD

imagewebp() can now do lossless WebP encoding by passing IMG_WEBP_LOSSLESS as the quality.

This constant is only defined, if the used libgd supports lossless WebP encoding.

MySQLi

mysqli_stmt::next_result() and mysqli::fetch_all() are now available when linking against libmysqlclient.

OpenSSL

  • The OpenSSL extension now requires at least OpenSSL version 1.0.2.

  • OpenSSL 3.0 is now supported. Be aware that many ciphers are no longer enabled by default (part of the legacy provider), and that parameter validation (e.g. minimum key sizes) is stricter now.

Phar

  • SHA256 is now used by default for signatures.

  • Added support for OpenSSL_SHA256 and OpenSSL_SHA512 signatures.

SNMP

  • Added support for SHA256 and SHA512 for the security protocol.

Standard

--with-password-argon2 now uses pkg-config to detect libargon2. As such, an alternative libargon2 location should now be specified using PKG_CONFIG_PATH.

Changes to INI File Handling

  • The log_errors_max_len INI directive has been removed. It no longer had an effect since PHP 8.0.0.

  • A leading dollar in a quoted string can now be escaped: "\${" will now be interpreted as a string with contents ${.

  • Backslashes in double quoted strings are now more consistently treated as escape characters. Previously, "foo\\" followed by something other than a newline was not considered as a terminated string. It is now interpreted as a string with contents foo\. However, as an exception, the string "foo\" followed by a newline will continue to be treated as a valid string with contents foo\ rather than an unterminated string. This exception exists to support naive uses of Windows file paths such as "C:\foo\".


Migrating from PHP 7.4.x to PHP 8.0.x

İçindekiler

  • New Features
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes

This new major version brings with it a number of new features and some incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.0.x, 7.1.x, 7.2.x, 7.3.x. 7.4.x.


New Features

PHP Core

Named Arguments

Support for Named Arguments has been added.

Attributes

Support for Attributes has been added.

Constructor Property Promotion

Support for constructor property promotion (declaring properties in the constructor signature) has been added.

Union Types

Support for union types has been added.

Match Expression

Support for match expressions has been added.

Nullsafe Operator

Support for the nullsafe operator (?->) has been added.

Other new Features

  • The WeakMap class has been added.

  • The ValueError class has been added.

  • Any number of function parameters may now be replaced by a variadic argument, as long as the types are compatible. For example, the following code is now allowed:

    <?php
    class A {
    public function     method(int $many, string $parameters, $here) {}
    }
    class     B extends A {
    public function     method(...$everything) {}
    }
    ?>

  • static (as in "late static binding") can now be used as a return type:

    <?php
    class Test {
    public function     create(): static {
    return new static();
    }
    }
    ?>

  • It is now possible to fetch the class name of an object using $object::class. The result is the same as get_class($object).

  • new and instanceof can now be used with arbitrary expressions, using new (expression)(...$args) and $obj instanceof (expression).

  • Some consistency fixes to variable syntax have been applied, for example writing Foo::BAR::$baz is now allowed.

  • Added Stringable interface, which is automatically implemented if a class defines a __toString() method.

  • Traits can now define abstract private methods. Such methods must be implemented by the class using the trait.

  • throw can now be used as an expression. That allows usages like:

    <?php
    $fn     = fn() => throw new Exception('Exception in arrow function');
    $user = $session->user ?? throw new Exception('Must have user');

  • An optional trailing comma is now allowed in parameter lists.

    <?php
    function functionWithLongSignature(
    Type1 $parameter1,
    Type2 $parameter2, // <-- This comma is now allowed.
    ) {
    }

  • It is now possible to write catch (Exception) to catch an exception without storing it in a variable.

  • Support for mixed type has been added.

  • Private methods declared on a parent class no longer enforce any inheritance rules on the methods of a child class (with the exception of final private constructors). The following example illustrates which restrictions have been removed:

    <?php
    class ParentClass {
    private function     method1() {}
    private function     method2() {}
    private static function     method3() {}
    // Throws a warning, as "final" no longer has an effect:
    private final function method4() {}
    }
    class     ChildClass extends ParentClass {
    // All of the following are now allowed, even though the modifiers aren't
    // the same as for the private methods in the parent class.
    public abstract function method1() {}
    public static function     method2() {}
    public function     method3() {}
    public function     method4() {}
    }
    ?>

  • get_resource_id() has been added, which returns the same value as (int) $resource. It provides the same functionality under a clearer API.

  • The InternalIterator has been added.

Date and Time

  • DateTime::createFromInterface() and DateTimeImmutable::createFromInterface() have been added.

  • The DateTime format specifier p has been added, which is the same as P but returns Z rather than +00:00 for UTC.

DOM

DOMParentNode and DOMChildNode with new traversal and manipulation APIs have been added.

Filter

FILTER_VALIDATE_BOOL has been added as an alias for FILTER_VALIDATE_BOOLEAN. The new name is preferred, as it uses the canonical type name.

Enchant

enchant_dict_add(), enchant_dict_is_added(), and LIBENCHANT_VERSION have been added.

FPM

Added a new option pm.status_listen that allows getting the status from different endpoint (e.g. port or UDS file) which is useful for getting the status when all children are busy with serving long running requests.

Hash

HashContext objects can now be serialized.

Internationalization Functions

The IntlDateFormatter::RELATIVE_FULL,
IntlDateFormatter::RELATIVE_LONG,
IntlDateFormatter::RELATIVE_MEDIUM, and
IntlDateFormatter::RELATIVE_SHORT
constants have been added.

LDAP

ldap_count_references() has been added, which returns the number of reference messages in a search result.

OPcache

If the opcache.record_warnings ini setting is enabled, OPcache will record compile-time warnings and replay them on the next include, even if it is served from cache.

OpenSSL

Added Cryptographic Message Syntax (CMS) (» RFC 5652) support composed of functions for encryption, decryption, signing, verifying and reading. The API is similar to the API for PKCS #7 functions with an addition of new encoding constants: OPENSSL_ENCODING_DER, OPENSSL_ENCODING_SMIME and OPENSSL_ENCODING_PEM:

  • openssl_cms_encrypt() encrypts the message in the file with the certificates and outputs the result to the supplied file.
  • openssl_cms_decrypt() that decrypts the S/MIME message in the file and outputs the results to the supplied file.
  • openssl_cms_read() that exports the CMS file to an array of PEM certificates.
  • openssl_cms_sign() that signs the MIME message in the file with a cert and key and output the result to the supplied file.
  • openssl_cms_verify() that verifies that the data block is intact, the signer is who they say they are, and returns the certs of the signers.

Regular Expressions (Perl-Compatible)

preg_last_error_msg() has been added, which returns a human-readable message for the last PCRE error. It complements preg_last_error(), which returns an integer enum value instead.

Reflection

  • The following methods can now return information about default values of parameters of internal functions:

    • ReflectionParameter::isDefaultValueAvailable()
    • ReflectionParameter::getDefaultValue()
    • ReflectionParameter::isDefaultValueConstant()
    • ReflectionParameter::getDefaultValueConstantName()

SQLite3

SQLite3::setAuthorizer() and respective class constants have been added to set a userland callback that will be used to authorize or not an action on the database.

Standard Library

  • str_contains(), str_starts_with() and str_ends_with() have been added, which check whether haystack contains, starts with or ends with needle, respectively.

  • fdiv() has been added, which performs a floating-point division under IEEE 754 semantics. Division by zero is considered well-defined and will return one of Inf, -Inf or NaN.

  • get_debug_type() has been added, which returns a type useful for error messages. Unlike gettype(), it uses canonical type names, returns class names for objects, and indicates the resource type for resources.

  • printf() and friends now support the %h and %H format specifiers. These are the same as %g and %G, but always use "." as the decimal separator, rather than determining it through the LC_NUMERIC locale.

  • printf() and friends now support using "*" as width or precision, in which case the width/precision is passed as an argument to printf. This also allows using precision -1 with %g, %G, %h and %H. For example, the following code can be used to reproduce PHP's default floating point formatting:

    <?php
    printf    ("%.*H", (int) ini_get("precision"), $float);
    printf("%.*H", (int) ini_get("serialize_precision"), $float);
    ?>

  • proc_open() now supports pseudo-terminal (PTY) descriptors. The following attaches stdin, stdout and stderr to the same PTY:

    <?php
    $proc     = proc_open($command, [['pty'], ['pty'], ['pty']], $pipes);
    ?>

  • proc_open() now supports socket pair descriptors. The following attaches a distinct socket pair to stdin, stdout and stderr:

    <?php
    $proc     = proc_open($command, [['socket'], ['socket'], ['socket']], $pipes);
    ?>

    Unlike pipes, sockets do not suffer from blocking I/O issues on Windows. However, not all programs may work correctly with stdio sockets.

  • Sorting functions are now stable, which means that equal-comparing elements will retain their original order.

  • array_diff(), array_intersect() and their variations can now be used with a single array as argument. This means that usages like the following are now possible:

    <?php
    // OK even if $excludes is empty:
    array_diff($array, ...$excludes);
    // OK even if $arrays only contains a single array:
    array_intersect(...$arrays);
    ?>

  • The flag parameter of ob_implicit_flush() was changed to accept a bool rather than an int.

Tokenizer

PhpToken adds an object-based interface to the tokenizer. It provides a more uniform and ergonomic representation, while being more memory efficient and faster.

Zip

  • The Zip extension has been updated to version 1.19.1.

  • New ZipArchive::setMtimeName() and ZipArchive::setMtimeIndex() to set the modification time of an entry.

  • New ZipArchive::registerProgressCallback() to provide updates during archive close.

  • New ZipArchive::registerCancelCallback() to allow cancellation during archive close.

  • New ZipArchive::replaceFile() to replace an entry content.

  • New ZipArchive::isCompressionMethodSupported() to check optional compression features.

  • New ZipArchive::isEncryptionMethodSupported() to check optional encryption features.

  • The ZipArchive::lastId property to get the index value of the last added entry has been added.

  • Errors can now be checked after an archive has been closed using the
ZipArchive::status and
ZipArchive::statusSys properties, or the
ZipArchive::getStatusString() method.

  • The 'remove_path' option of ZipArchive::addGlob() and ZipArchive::addPattern() is now treated as an arbitrary string prefix (for consistency with the 'add_path' option), whereas formerly it was treated as a directory name.

  • Optional compression / encryption features are now listed in phpinfo.


Backward Incompatible Changes

PHP Core

String to Number Comparison

Non-strict comparisons between numbers and non-numeric strings now work by casting the number to string and comparing the strings. Comparisons between numbers and numeric strings continue to work as before. Notably, this means that 0 == "not-a-number" is considered false now.

Comparison | Before | After
0 == "0" | true | true
0 == "0.0" | true | true
0 == "foo" | true | false
0 == "" | true | false
42 == " 42" | true | true
42 == "42foo" | true | false

Other incompatible Changes

  • match is now a reserved keyword.

  • mixed is now a reserved word, so it cannot be used to name a class, interface or trait, and is also prohibited from being used in namespaces.

  • Assertion failures now throw by default. If the old behavior is desired, assert.exception=0 can be set in the INI settings.

  • Methods with the same name as the class are no longer interpreted as constructors. The __construct() method should be used instead.

  • The ability to call non-static methods statically has been removed. Thus is_callable() will fail when checking for a non-static method with a classname (must check with an object instance).

  • The (real) and (unset) casts have been removed.

  • The track_errors ini directive has been removed. This means that php_errormsg is no longer available. The error_get_last() function may be used instead.

  • The ability to define case-insensitive constants has been removed. The third argument to define() may no longer be true.

  • The ability to specify an autoloader using an __autoload() function has been removed. spl_autoload_register() should be used instead.

  • The errcontext argument will no longer be passed to custom error handlers set with set_error_handler().

  • create_function() has been removed. Anonymous functions may be used instead.

  • each() has been removed. foreach or ArrayIterator should be used instead.

  • The ability to unbind this from closures that were created from a method, using Closure::fromCallable() or ReflectionMethod::getClosure(), has been removed.

  • The ability to unbind this from proper closures that contain uses of this has also been removed.

  • The ability to use array_key_exists() with objects has been removed. isset() or property_exists() may be used instead.

  • The behavior of array_key_exists() regarding the type of the key parameter has been made consistent with isset() and normal array access. All key types now use the usual coercions and array/object keys throw a TypeError.

  • Any array that has a number n as its first numeric key will use n+1 for its next implicit key, even if n is negative.

  • The default error_reporting level is now E_ALL. Previously it excluded E_NOTICE and E_DEPRECATED.

  • display_startup_errors is now enabled by default.

  • Using parent inside a class that has no parent will now result in a fatal compile-time error.

  • The @ operator will no longer silence fatal errors (E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_USER_ERROR, E_RECOVERABLE_ERROR, E_PARSE). Error handlers that expect error_reporting to be 0 when @ is used, should be adjusted to use a mask check instead:

    <?php
    // Replace
    function my_error_handler($err_no, $err_msg, $filename, $linenum) {
    if (    error_reporting() == 0) {
    return     false;
    }
    // ...
    }

    // With
    function my_error_handler($err_no, $err_msg, $filename, $linenum) {
    if (!(    error_reporting() & $err_no)) {
    return     false;
    }
    // ...
    }
    ?>

    Additionally, care should be taken that error messages are not displayed in production environments, which can result in information leaks. Please ensure that display_errors=Off is used in conjunction with error logging.

  • #[ is no longer interpreted as the start of a comment, as this syntax is now used for attributes.

  • Inheritance errors due to incompatible method signatures (LSP violations) will now always generate a fatal error. Previously a warning was generated in some cases.

  • The precedence of the concatenation operator has changed relative to bitshifts and addition as well as subtraction.

    <?php
    echo "Sum: " . $a + $b;
    // was previously interpreted as:
    echo ("Sum: " . $a) + $b;
    // is now interpreted as:
    echo "Sum:" . ($a + $b);
    ?>

  • Arguments with a default value that resolves to null at runtime will no longer implicitly mark the argument type as nullable. Either an explicit nullable type, or an explicit null default value has to be used instead.

    <?php
    // Replace
    function test(int $arg = CONST_RESOLVING_TO_NULL) {}
    // With
    function test(?int $arg = CONST_RESOLVING_TO_NULL) {}
    // Or
    function test(int $arg = null) {}
    ?>

  • A number of warnings have been converted into Error exceptions:

    • Attempting to write to a property of a non-object. Previously this implicitly created an stdClass object for null, false and empty strings.
    • Attempting to append an element to an array for which the PHP_INT_MAX key is already used.
    • Attempting to use an invalid type (array or object) as an array key or string offset.
    • Attempting to write to an array index of a scalar value.
    • Attempting to unpack a non-array/Traversable.
    • Attempting to access unqualified constants which are undefined. Previously, unqualified constant accesses resulted in a warning and were interpreted as strings.
    • Passing the wrong number of arguments to a non-variadic built-in function will throw an ArgumentCountError.

    A number of notices have been converted into warnings:

    • Attempting to read an undefined variable.
    • Attempting to read an undefined property.
    • Attempting to read an undefined array key.
    • Attempting to read a property of a non-object.
    • Attempting to access an array index of a non-array.
    • Attempting to convert an array to string.
    • Attempting to use a resource as an array key.
    • Attempting to use null, a boolean, or a float as a string offset.
    • Attempting to read an out-of-bounds string offset.
    • Attempting to assign an empty string to a string offset.

  • Attempting to assign multiple bytes to a string offset will now emit a warning.

  • Unexpected characters in source files (such as NUL bytes outside of strings) will now result in a ParseError exception instead of a compile warning.

  • Uncaught exceptions now go through "clean shutdown", which means that destructors will be called after an uncaught exception.

  • The compile time fatal error "Only variables can be passed by reference" has been delayed until runtime, and converted into an "Argument cannot be passed by reference" Error exception.

  • Some "Only variables should be passed by reference" notices have been converted to "Argument cannot be passed by reference" exception.

  • The generated name for anonymous classes has changed. It will now include the name of the first parent or interface:

    <?php
    new class extends ParentClass {};
    // -> ParentClass@anonymous
    new class implements FirstInterface, SecondInterface {};
    // -> FirstInterface@anonymous
    new class {};
    // -> class@anonymous
    ?>

    The name shown above is still followed by a NUL byte and a unique suffix.

  • Non-absolute trait method references in trait alias adaptations are now required to be unambiguous:

    <?php
    class X {
    use     T1, T2 {
    func as otherFunc;
    }
    function     func() {}
    }
    ?>

    If both T1::func() and T2::func() exist, this code was previously silently accepted, and func was assumed to refer to T1::func. Now it will generate a fatal error instead, and either T1::func or T2::func needs to be written explicitly.

  • The signature of abstract methods defined in traits is now checked against the implementing class method:

    <?php
    trait MyTrait {
    abstract private function     neededByTrait(): string;
    }

    class     MyClass {
    use     MyTrait;

    // Error, because of return type mismatch.
    private function neededByTrait(): int { return 42; }
    }
    ?>

  • Disabled functions are now treated exactly like non-existent functions. Calling a disabled function will report it as unknown, and redefining a disabled function is now possible.

  • data:// stream wrappers are no longer writable, which matches the documented behavior.

  • The arithmetic and bitwise operators +, -, *, /, **, %, <<, >>, &, |, ^, ~, ++, -- will now consistently throw a TypeError when one of the operands is an array, resource or non-overloaded object. The only exception to this is the array + array merge operation, which remains supported.

  • Float to string casting will now always behave locale-independently.

    <?php
    setlocale    (LC_ALL, "de_DE");
    $f = 3.14;
    echo     $f, "\n";
    // Previously: 3,14
    // Now: 3.14
    ?>

    See printf(), number_format() and NumberFormatter() for ways to customize number formatting.

  • Support for deprecated curly braces for offset access has been removed.

    <?php
    // Instead of:
    $array{0};
    $array{"key"};
    // Write:
    $array[0];
    $array["key"];
    ?>

  • Applying the final modifier on a private method will now produce a warning unless that method is the constructor.

  • If an object constructor exit()s, the object destructor will no longer be called. This matches the behavior when the constructor throws.

  • Namespaced names can no longer contain whitespace: While Foo\Bar will be recognized as a namespaced name, Foo \ Bar will not. Conversely, reserved keywords are now permitted as namespace segments, which may also change the interpretation of code: new\x is now the same as constant('new\x'), not new \x().

  • Nested ternaries now require explicit parentheses.

  • debug_backtrace() and Exception::getTrace() will no longer provide references to arguments. It will not be possible to change function arguments through the backtrace.

  • Numeric string handling has been altered to be more intuitive and less error-prone. Trailing whitespace is now allowed in numeric strings for consistency with how leading whitespace is treated. This mostly affects:

    • The is_numeric() function
    • String-to-string comparisons
    • Type declarations
    • Increment and decrement operations

    The concept of a "leading-numeric string" has been mostly dropped; the cases where this remains exist in order to ease migration. Strings which emitted an E_NOTICE "A non well-formed numeric value encountered" will now emit an E_WARNING "A non-numeric value encountered" and all strings which emitted an E_WARNING "A non-numeric value encountered" will now throw a TypeError. This mostly affects:

    • Arithmetic operations
    • Bitwise operations

    This E_WARNING to TypeError change also affects the E_WARNING "Illegal string offset 'string'" for illegal string offsets. The behavior of explicit casts to int/float from strings has not been changed.

  • Magic Methods will now have their arguments and return types checked if they have them declared. The signatures should match the following list:

    • __call(string $name, array $arguments): mixed
    • __callStatic(string $name, array $arguments): mixed
    • __clone(): void
    • __debugInfo(): ?array
    • __get(string $name): mixed
    • __invoke(mixed $arguments): mixed
    • __isset(string $name): bool
    • __serialize(): array
    • __set(string $name, mixed $value): void
    • __set_state(array $properties): object
    • __sleep(): array
    • __unserialize(array $data): void
    • __unset(string $name): void
    • __wakeup(): void

  • call_user_func_array() array keys will now be interpreted as parameter names, instead of being silently ignored.

  • Declaring a function called assert() inside a namespace is no longer allowed, and issues E_COMPILE_ERROR. The assert() function is subject to special handling by the engine, which may lead to inconsistent behavior when defining a namespaced function with the same name.

Resource to Object Migration

Several resources have been migrated to objects. Return value checks using is_resource() should be replaced with checks for false.

  • curl_init() will now return a CurlHandle object rather than a resource. The curl_close() function no longer has an effect, instead the CurlHandle instance is automatically destroyed if it is no longer referenced.

  • curl_multi_init() will now return a CurlMultiHandle object rather than a resource. The curl_multi_close() function no longer has an effect, instead the CurlMultiHandle instance is automatically destroyed if it is no longer referenced.

  • curl_share_init() will now return a CurlShareHandle object rather than a resource. The curl_share_close() function no longer has an effect, instead the CurlShareHandle instance is automatically destroyed if it is no longer referenced.

  • enchant_broker_init() will now return an EnchantBroker object rather than a resource.

  • enchant_broker_request_dict() and enchant_broker_request_pwl_dict() will now return an EnchantDictionary object rather than a resource.

  • The GD extension now uses GdImage objects as the underlying data structure for images, rather than resources. The imagedestroy() function no longer has an effect; instead the GdImage instance is automatically destroyed if it is no longer referenced.

  • openssl_x509_read() and openssl_csr_sign() will now return an OpenSSLCertificate object rather than a resource. The openssl_x509_free() function is deprecated and no longer has an effect, instead the OpenSSLCertificate instance is automatically destroyed if it is no longer referenced.

  • openssl_csr_new() will now return an OpenSSLCertificateSigningRequest object rather than a resource.

  • openssl_pkey_new() will now return an OpenSSLAsymmetricKey object rather than a resource. The openssl_pkey_free() function is deprecated and no longer has an effect, instead the OpenSSLAsymmetricKey instance is automatically destroyed if it is no longer referenced.

  • shmop_open() will now return a Shmop object rather than a resource. The shmop_close() function no longer has an effect, and is deprecated; instead the Shmop instance is automatically destroyed if it is no longer referenced.

  • socket_create(), socket_create_listen(), socket_accept(), socket_import_stream(), socket_addrinfo_connect(), socket_addrinfo_bind(), and socket_wsaprotocol_info_import() will now return a Socket object rather than a resource. socket_addrinfo_lookup() will now return an array of AddressInfo objects rather than resources.

  • msg_get_queue() will now return an SysvMessageQueue object rather than a resource.

  • sem_get() will now return an SysvSemaphore object rather than a resource.

  • shm_attach() will now return an SysvSharedMemory object rather than a resource.

  • xml_parser_create() and xml_parser_create_ns() will now return an XMLParser object rather than a resource. The xml_parser_free() function no longer has an effect, instead the XMLParser instance is automatically destroyed if it is no longer referenced.

  • The XMLWriter functions now accept and return, respectively, XMLWriter objects instead of resources.

  • inflate_init() will now return an InflateContext object rather than a resource.

  • deflate_init() will now return a DeflateContext object rather than a resource.

COM and .Net (Windows)

The ability to import case-insensitive constants from type libraries has been removed. The second argument to com_load_typelib() may no longer be false; com.autoregister_casesensitive may no longer be disabled; case-insensitive markers in com.typelib_file are ignored.

CURL

CURLOPT_POSTFIELDS no longer accepts objects as arrays. To interpret an object as an array, perform an explicit (array) cast. The same applies to other options accepting arrays as well.

Date and Time

mktime() and gmmktime() now require at least one argument. time() can be used to get the current timestamp.

DOM

Unimplemented classes from the DOM extension that had no behavior and contained test data have been removed. These classes have also been removed in the latest version of the DOM standard:

  • DOMNameList
  • DomImplementationList
  • DOMConfiguration
  • DomError
  • DomErrorHandler
  • DOMImplementationSource
  • DOMLocator
  • DOMUserDataHandler
  • DOMTypeInfo
  • DOMStringExtend

Unimplemented methods from the DOM extension that had no behavior have been removed:

  • DOMNamedNodeMap::setNamedItem()
  • DOMNamedNodeMap::removeNamedItem()
  • DOMNamedNodeMap::setNamedItemNS()
  • DOMNamedNodeMap::removeNamedItemNS()
  • DOMText::replaceWholeText()
  • DOMNode::compareDocumentPosition()
  • DOMNode::isEqualNode()
  • DOMNode::getFeature()
  • DOMNode::setUserData()
  • DOMNode::getUserData()
  • DOMDocument::renameNode()

Enchant

  • enchant_broker_list_dicts(), enchant_broker_describe() and enchant_dict_suggest() will now return an empty array instead of null.

Exif

read_exif_data() has been removed; exif_read_data() should be used instead.

Filter

  • The FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED flags for the FILTER_VALIDATE_URL filter have been removed. The scheme and host are (and have been) always required.

  • The INPUT_REQUEST and INPUT_SESSION source for filter_input() etc. have been removed. These were never implemented and their use always generated a warning.

GD

  • The deprecated function image2wbmp() has been removed.

  • The deprecated functions png2wbmp() and jpeg2wbmp() have been removed.

  • The default mode parameter of imagecropauto() no longer accepts -1. IMG_CROP_DEFAULT should be used instead.

  • On Windows, php_gd2.dll has been renamed to php_gd.dll.

GMP

gmp_random() has been removed. One of gmp_random_range() or gmp_random_bits() should be used instead.

Iconv

iconv implementations which do not properly set errno in case of errors are no longer supported.

IMAP

  • The unused default_host argument of imap_headerinfo() has been removed.

  • The imap_header() function which is an alias of imap_headerinfo() has been removed.

Internationalization Functions

  • The deprecated constant INTL_IDNA_VARIANT_2003 has been removed.

  • The deprecated Normalizer::NONE constant has been removed.

LDAP

  • The deprecated functions ldap_sort(),
ldap_control_paged_result() and
ldap_control_paged_result_response() have been removed.

  • The interface of ldap_set_rebind_proc() has changed; the callback parameter does not accept empty strings anymore; null should be used instead.

MBString

  • The mbstring.func_overload directive has been removed. The related MB_OVERLOAD_MAIL, MB_OVERLOAD_STRING, and MB_OVERLOAD_REGEX constants have also been removed. Finally, the "func_overload" and "func_overload_list" entries in mb_get_info() have been removed.

  • mb_parse_str() can no longer be used without specifying a result array.

  • A number of deprecated mbregex aliases have been removed. See the following list for which functions should be used instead:

    • mbregex_encoding() › mb_regex_encoding()
    • mbereg() › mb_ereg()
    • mberegi() › mb_eregi()
    • mbereg_replace() › mb_ereg_replace()
    • mberegi_replace() › mb_eregi_replace()
    • mbsplit() › mb_split()
    • mbereg_match() › mb_ereg_match()
    • mbereg_search() › mb_ereg_search()
    • mbereg_search_pos() › mb_ereg_search_pos()
    • mbereg_search_regs() › mb_ereg_search_regs()
    • mbereg_search_init() › mb_ereg_search_init()
    • mbereg_search_getregs() › mb_ereg_search_getregs()
    • mbereg_search_getpos() › mb_ereg_search_getpos()
    • mbereg_search_setpos() › mb_ereg_search_setpos()

  • The e modifier for mb_ereg_replace() has been removed. mb_ereg_replace_callback() should be used instead.

  • A non-string pattern argument to mb_ereg_replace() will now be interpreted as a string instead of an ASCII codepoint. The previous behavior may be restored with an explicit call to chr().

  • The needle argument for mb_strpos(),
mb_strrpos(), mb_stripos(),
mb_strripos(), mb_strstr(),
mb_stristr(), mb_strrchr() and
mb_strrichr() can now be empty.

  • The is_hex parameter, which was not used internally, has been removed from mb_decode_numericentity().

  • The legacy behavior of passing the encoding as the third argument instead of an offset for the mb_strrpos() function has been removed; an explicit 0 offset with the encoding should be provided as the fourth argument instead.

  • The ISO_8859-* character encoding aliases have been replaced by ISO8859-* aliases for better interoperability with the iconv extension. The mbregex ISO 8859 aliases with underscores (ISO_8859_* and ISO8859_*) have also been removed.

  • mb_ereg() and mb_eregi() will now return boolean true on a successful match. Previously they returned integer 1 if matches was not passed, or max(1, strlen($matches[0])) if matches was passed.

OCI8

  • The OCI-Lob class is now called OCILob, and the OCI-Collection class is now called OCICollection for name compliance enforced by PHP 8 arginfo type annotation tooling.

  • Several alias functions have been marked as deprecated.

  • oci_internal_debug() and its alias ociinternaldebug() have been removed.

ODBC

  • odbc_connect() no longer reuses connections.

  • The unused flags parameter of odbc_exec() has been removed.

OpenSSL

  • openssl_seal() and openssl_open() now require method to be passed, as the previous default of "RC4" is considered insecure.

Regular Expressions (Perl-Compatible)

When passing invalid escape sequences they are no longer interpreted as literals. This behavior previously required the X modifier - which is now ignored.

PHP Data Objects

  • The default error handling mode has been changed from "silent" to "exceptions". See Errors and error handling for details.

  • The signatures of some PDO methods have changed:

    • PDO::query(string $query, ?int $fetchMode = null, mixed ...$fetchModeArgs)
    • PDOStatement::setFetchMode(int $mode, mixed ...$args)

PDO ODBC

The php.ini directive pdo_odbc.db2_instance_name has been removed.

PDO MySQL

PDO::inTransaction() now reports the actual transaction state of the connection, rather than an approximation maintained by PDO. If a query that is subject to "implicit commit" is executed, PDO::inTransaction() will subsequently return false, as a transaction is no longer active.

PostgreSQL

  • The deprecated pg_connect() syntax using multiple parameters instead of a connection string is no longer supported.

  • The deprecated pg_lo_import() and pg_lo_export() signature that passes the connection as the last argument is no longer supported. The connection should be passed as first argument instead.

  • pg_fetch_all() will now return an empty array instead of false for result sets with zero rows.

Phar

Metadata associated with a phar will no longer be automatically unserialized, to fix potential security vulnerabilities due to object instantiation, autoloading, etc.

Reflection

  • The method signatures

    • ReflectionClass::newInstance($args)
    • ReflectionFunction::invoke($args)
    • ReflectionMethod::invoke($object, $args)

    have been changed to:

    • ReflectionClass::newInstance(...$args)
    • ReflectionFunction::invoke(...$args)
    • ReflectionMethod::invoke($object, ...$args)

    Code that must be compatible with both PHP 7 and PHP 8 can use the following signatures to be compatible with both versions:

    • ReflectionClass::newInstance($arg = null, ...$args)
    • ReflectionFunction::invoke($arg = null, ...$args)
    • ReflectionMethod::invoke($object, $arg = null, ...$args)

  • The ReflectionType::__toString() method will now return a complete debug representation of the type, and is no longer deprecated. In particular the result will include a nullability indicator for nullable types. The format of the return value is not stable and may change between PHP versions.

  • Reflection export() methods have been removed. Instead reflection objects can be cast to string.

  • ReflectionMethod::isConstructor() and
ReflectionMethod::isDestructor() now also return true for
__construct() and
__destruct() methods of interfaces.
Previously, this would only be true for methods of classes and traits.

  • ReflectionType::isBuiltin() method has been moved to ReflectionNamedType. ReflectionUnionType does not have it.

Sockets

  • The deprecated AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES flags for socket_addrinfo_lookup() have been removed.

Standard PHP Library (SPL)

  • SplFileObject::fgetss() has been removed.

  • SplFileObject::seek() now always seeks to the beginning of the line. Previously, positions >=1 sought to the beginning of the next line.

  • SplHeap::compare() now specifies a method signature. Inheriting classes implementing this method will now have to use a compatible method signature.

  • SplDoublyLinkedList::push(), SplDoublyLinkedList::unshift() and SplQueue::enqueue() now return void instead of true.

  • spl_autoload_register() will now always throw a TypeError on invalid arguments, therefore the second argument do_throw is ignored and a notice will be emitted if it is set to false.

  • SplFixedArray is now an IteratorAggregate and not an Iterator. SplFixedArray::rewind(), SplFixedArray::current(), SplFixedArray::key(), SplFixedArray::next(), and SplFixedArray::valid() have been removed. In their place, SplFixedArray::getIterator() has been added. Any code which uses explicit iteration over SplFixedArray must now obtain an Iterator through SplFixedArray::getIterator(). This means that SplFixedArray is now safe to use in nested loops.

Standard Library

  • assert() will no longer evaluate string arguments, instead they will be treated like any other argument. assert($a == $b) should be used instead of assert('$a == $b'). The assert.quiet_eval ini directive and the ASSERT_QUIET_EVAL constant have also been removed, as they would no longer have any effect.

  • parse_str() can no longer be used without specifying a result array.

  • The string.strip_tags filter has been removed.

  • The needle argument of strpos(), strrpos(), stripos(), strripos(), strstr(), strchr(), strrchr(), and stristr() will now always be interpreted as a string. Previously non-string needles were interpreted as an ASCII code point. An explicit call to chr() can be used to restore the previous behavior.

  • The needle argument for strpos(),
strrpos(), stripos(), strripos(),
strstr(), stristr() and strrchr() can
now be empty.

  • The length argument for substr(), substr_count(), substr_compare(), and iconv_substr() can now be null. null values will behave as if no length argument was provided and will therefore return the remainder of the string instead of an empty string.

  • The length argument for array_splice() can now be null. null values will behave identically to omitting the argument, thus removing everything from the offset to the end of the array.

  • The args argument of vsprintf(), vfprintf(), and vprintf() must now be an array. Previously any type was accepted.

  • The 'salt' option of password_hash() is no longer supported. If the 'salt' option is used a warning is generated, the provided salt is ignored, and a generated salt is used instead.

  • The quotemeta() function will now return an empty string if an empty string was passed. Previously false was returned.

  • The following functions have been removed:

    • hebrevc()
    • convert_cyr_string()
    • money_format()
    • ezmlm_hash()
    • restore_include_path()
    • get_magic_quotes_gpc()
    • get_magic_quotes_runtime()
    • fgetss()

  • FILTER_SANITIZE_MAGIC_QUOTES has been removed.

  • Calling implode() with parameters in a reverse order ($pieces, $glue) is no longer supported.

  • parse_url() will now distinguish absent and empty queries and fragments:

    • http://example.com/foo › query = null, fragment = null
    • http://example.com/foo? › query = "", fragment = null
    • http://example.com/foo# › query = null, fragment = ""
    • http://example.com/foo?# › query = "", fragment = ""
    Previously all cases resulted in query and fragment being null.

  • var_dump() and debug_zval_dump() will now print floating-point numbers using serialize_precision rather than precision. In a default configuration, this means that floating-point numbers are now printed with full accuracy by these debugging functions.

  • If the array returned by __sleep() contains non-existing properties, these are now silently ignored. Previously, such properties would have been serialized as if they had the value null.

  • The default locale on startup is now always "C". No locales are inherited from the environment by default. Previously, LC_ALL was set to "C", while LC_CTYPE was inherited from the environment. However, some functions did not respect the inherited locale without an explicit setlocale() call. An explicit setlocale() call is now always required if a locale component should be changed from the default.

  • The deprecated DES fallback in crypt() has been removed. If an unknown salt format is passed to crypt(), the function will fail with *0 instead of falling back to a weak DES hash now.

  • Specifying out of range rounds for SHA256/SHA512 crypt() will now fail with *0 instead of clamping to the closest limit. This matches glibc behavior.

  • The result of sorting functions may have changed, if the array contains elements that compare as equal.

  • Any functions accepting callbacks that are not explicitly specified to accept parameters by reference will now warn if a callback with reference parameters is used. Examples include array_filter() and array_reduce(). This was already the case for most, but not all, functions previously.

  • The HTTP stream wrapper as used by functions like file_get_contents() now advertises HTTP/1.1 rather than HTTP/1.0 by default. This does not change the behavior of the client, but may cause servers to respond differently. To retain the old behavior, set the 'protocol_version' stream context option, e.g.

    <?php
    $ctx     = stream_context_create(['http' => ['protocol_version' => '1.0']]);
    echo     file_get_contents('http://example.org', false, $ctx);
    ?>

  • Calling crypt() without an explicit salt is no longer supported. If you would like to produce a strong hash with an auto-generated salt, use password_hash() instead.

  • substr(), mb_substr(), iconv_substr() and grapheme_substr() now consistently clamp out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases.

  • On Windows, the program execution functions (proc_open(), exec(), popen() etc.) using the shell, now consistently execute %comspec% /s /c "$commandline", which has the same effect as executing $commandline (without additional quotes).

Sysvsem

  • The auto_release parameter of sem_get() was changed to accept bool values rather than int.

Tidy

  • The use_include_path parameter, which was not used internally, has been removed from tidy_repair_string().

  • tidy::repairString() and tidy::repairFile() became static methods.

Tokenizer

  • T_COMMENT tokens will no longer include a trailing newline. The newline will instead be part of a following T_WHITESPACE token. It should be noted that T_COMMENT is not always followed by whitespace, it may also be followed by T_CLOSE_TAG or end-of-file.

  • Namespaced names are now represented using the T_NAME_QUALIFIED (Foo\Bar), T_NAME_FULLY_QUALIFIED (\Foo\Bar) and T_NAME_RELATIVE (namespace\Foo\Bar) tokens. T_NS_SEPARATOR is only used for standalone namespace separators, and only syntactially valid in conjunction with group use declarations.

XMLReader

XMLReader::open() and XMLReader::xml() are now static methods. They can still be called as instance methods, but inheriting classes need to declare them as static if they override these methods.

XML-RPC

The XML-RPC extension has been moved to PECL and is no longer part of the PHP distribution.

Zip

ZipArchive::OPSYS_Z_CPM has been removed (this name was a typo). Use ZipArchive::OPSYS_CPM instead.

Zlib

  • gzgetss() has been removed.

  • zlib.output_compression is no longer automatically disabled for Content-Type: image/*.

Windows PHP Test Packs

The test runner has been renamed from run-test.php to run-tests.php, to match its name in php-src.


Deprecated Features

PHP Core

  • If a parameter with a default value is followed by a required parameter, the default value has no effect. This is deprecated as of PHP 8.0.0 and can generally be resolved by dropping the default value, without a change in functionality:

    <?php
    function test($a = [], $b) {} // Before
    function test($a, $b) {} // After
    ?>

    One exception to this rule are parameters of the form Type $param = null, where the null default makes the type implicitly nullable. This usage remains allowed, but it is recommended to use an explicit nullable type instead:

    <?php
    function test(A $a = null, $b) {} // Still allowed
    function test(?A $a, $b) {} // Recommended
    ?>

  • Calling get_defined_functions() with exclude_disabled explicitly set to false is deprecated and no longer has an effect. get_defined_functions() will never include disabled functions.

Enchant

  • enchant_broker_set_dict_path() and enchant_broker_get_dict_path() are deprecated, because that functionality is neither available in libenchant < 1.5 nor in libenchant-2.

  • enchant_dict_add_to_personal() is deprecated; use enchant_dict_add() instead.

  • enchant_dict_is_in_session() is deprecated; use enchant_dict_is_added() instead.

  • enchant_broker_free() and enchant_broker_free_dict() are deprecated; unset the object instead.

  • The ENCHANT_MYSPELL and ENCHANT_ISPELL constants are deprecated.

LibXML

libxml_disable_entity_loader() has been deprecated. As libxml 2.9.0 is now required, external entity loading is guaranteed to be disabled by default, and this function is no longer needed to protect against XXE attacks, unless the (still vulnerable) LIBXML_NOENT is used. In that case, it is recommended to refactor the code using libxml_set_external_entity_loader() to suppress loading of external entities.

PGSQL / PDO PGSQL

  • The constant PGSQL_LIBPQ_VERSION_STR now has the same value as PGSQL_LIBPQ_VERSION, and thus is deprecated.

  • Function aliases in the pgsql extension have been deprecated. See the following list for which functions should be used instead:

    • pg_errormessage() › pg_last_error()
    • pg_numrows() › pg_num_rows()
    • pg_numfields() › pg_num_fields()
    • pg_cmdtuples() › pg_affected_rows()
    • pg_fieldname() › pg_field_name()
    • pg_fieldsize() › pg_field_size()
    • pg_fieldtype() › pg_field_type()
    • pg_fieldnum() › pg_field_num()
    • pg_result() › pg_fetch_result()
    • pg_fieldprtlen() › pg_field_prtlen()
    • pg_fieldisnull() › pg_field_is_null()
    • pg_freeresult() › pg_free_result()
    • pg_getlastoid() › pg_last_oid()
    • pg_locreate() › pg_lo_create()
    • pg_lounlink() › pg_lo_unlink()
    • pg_loopen() › pg_lo_open()
    • pg_loclose() › pg_lo_close()
    • pg_loread() › pg_lo_read()
    • pg_lowrite() › pg_lo_write()
    • pg_loreadall() › pg_lo_read_all()
    • pg_loimport() › pg_lo_import()
    • pg_loexport() › pg_lo_export()
    • pg_setclientencoding() › pg_set_client_encoding()
    • pg_clientencoding() -> pg_client_encoding()

Standard Library

  • Sort comparison functions that return true or false will now throw a deprecation warning, and should be replaced with an implementation that returns an integer less than, equal to, or greater than zero.

    <?php
    // Replace
    usort($array, fn($a, $b) => $a > $b);
    // With
    usort($array, fn($a, $b) => $a <=> $b);
    ?>

Zip

  • Using an empty file as ZipArchive is deprecated. Libzip 1.6.0 does not accept empty files as valid zip archives any longer. The existing workaround will be removed in the next version.

  • The procedural API of Zip is deprecated. Use ZipArchive instead. Iteration over all entries can be accomplished using ZipArchive::statIndex() and a for loop:

    <?php
    // iterate using the procedural API
    assert(is_resource($zip));
    while (    $entry = zip_read($zip)) {
    echo     zip_entry_name($entry);
    }

    // iterate using the object-oriented API
    assert($zip instanceof ZipArchive);
    for (    $i = 0; $entry = $zip->statIndex($i); $i++) {
    echo     $entry['name'];
    }
    ?>

Reflection

  • ReflectionFunction::isDisabled() is deprecated, as it is no longer possible to create a ReflectionFunction for a disabled function. This method now always returns false.

  • ReflectionParameter::getClass(),
ReflectionParameter::isArray(), and
ReflectionParameter::isCallable() are deprecated.
ReflectionParameter::getType() and the
ReflectionType APIs should be used instead.


Other Changes

Changes in SAPI Modules

Apache2Handler

The PHP module has been renamed from php7_module to php_module.

Changed Functions

Reflection

ReflectionClass::getConstants() and ReflectionClass::getReflectionConstants() results can be now filtered via a new parameter filter. Three new constants were added to be used with it:

  • ReflectionClassConstant::IS_PUBLIC
  • ReflectionClassConstant::IS_PROTECTED
  • ReflectionClassConstant::IS_PRIVATE

Standard

The math functions abs(), ceil(), floor() and round() now properly heed the strict_types directive. Previously, they coerced the first argument even in strict type mode.

Zip

  • The ZipArchive::addGlob() and ZipArchive::addPattern() methods accept more values in the options array argument:

    • flags
    • comp_method
    • comp_flags
    • env_method
    • enc_password

  • ZipArchive::addEmptyDir(), ZipArchive::addFile() and ZipArchive::addFromString() methods have a new flags argument. This allows managing name encoding (ZipArchive::FL_ENC_*) and entry replacement (ZipArchive::FL_OVERWRITE).

  • ZipArchive::extractTo() now restores the file modification time.

Other Changes to Extensions

CURL

  • The CURL extension now requires at least libcurl 7.29.0.

  • The deprecated parameter version of curl_version() has been removed.

Date and Time

DatePeriod now implements IteratorAggregate (instead of Traversable).

DOM

DOMNamedNodeMap and DOMNodeList now implement IteratorAggregate (instead of Traversable).

Intl

IntlBreakIterator and ResourceBundle now implement IteratorAggregate (instead of Traversable).

Enchant

The enchant extension now uses libenchant-2 by default when available. libenchant version 1 is still supported but is deprecated and could be removed in the future.

GD

  • The num_points parameter of imagepolygon(), imageopenpolygon() and imagefilledpolygon() is now optional, i.e. these functions may be called with either 3 or 4 arguments. If the argument is omitted, it is calculated as count($points)/2.

  • The function imagegetinterpolation() to get the current interpolation method has been added.

JSON

The JSON extension cannot be disabled anymore and is always an integral part of any PHP build, similar to the date extension.

MBString

The Unicode data tables have been updated to version 13.0.0.

PDO

PDOStatement now implements IteratorAggregate (instead of Traversable).

LibXML

The minimum required libxml version is now 2.9.0. This means that external entity loading is now guaranteed to be disabled by default, and no extra steps need to be taken to protect against XXE attacks.

MySQLi / PDO MySQL

  • When mysqlnd is not used (which is the default and recommended option), the minimum supported libmysqlclient version is now 5.5.

  • mysqli_result now implements IteratorAggregate (instead of Traversable).

PGSQL / PDO PGSQL

The PGSQL and PDO PGSQL extensions now require at least libpq 9.1.

Readline

Calling readline_completion_function() before the interactive prompt starts (e.g. in auto_prepend_file) will now override the default interactive prompt completion function. Previously, readline_completion_function() only worked when called after starting the interactive prompt.

SimpleXML

SimpleXMLElement now implements RecursiveIterator and absorbed the functionality of SimpleXMLIterator. SimpleXMLIterator is an empty extension of SimpleXMLElement.

Changes to INI File Handling

  • com.dotnet_version is a new INI directive to choose the version of the .NET framework to use for dotnet objects.

  • zend.exception_string_param_max_len is a new INI directive to set the maximum string length in an argument of a stringified stack strace.

EBCDIC

EBCDIC targets are no longer supported, though it's unlikely that they were still working in the first place.

Performance

  • A Just-In-Time (JIT) compiler has been added to the opcache extension.

  • array_slice() on an array without gaps will no longer scan the whole array to find the start offset. This may significantly reduce the runtime of the function with large offsets and small lengths.

  • strtolower() now uses a SIMD implementation when using the "C" LC_CTYPE locale (which is the default).


Migrating from PHP 7.3.x to PHP 7.4.x

İçindekiler

  • New Features
  • New Classes and Interfaces
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Removed Extensions
  • Other Changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.0.x, 7.1.x, 7.2.x and 7.3.x.


New Features

PHP Core

Typed properties

Class properties now support type declarations.

<?php
class User {
public int $id;
public string $name;
}
?>
The above example will enforce that $user->id can only be assigned int values and $user->name can only be assigned string values.

Arrow functions

Arrow functions provide a shorthand syntax for defining functions with implicit by-value scope binding.

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>

Limited return type covariance and argument type contravariance

The following code will now work:

<?php
class A {}
class B extends A {}

class Producer {
public function method(): A {}
}
class ChildProducer extends Producer {
public function method(): B {}
}
?>
Full variance support is only available if autoloading is used. Inside a single file only non-cyclic type references are possible, because all classes need to be available before they are referenced.

Null coalescing assignment operator

<?php
$array['key'] ??= computeDefault();
// is roughly equivalent to
if (!isset($array['key'])) {
$array['key'] = computeDefault();
}
?>

Unpacking inside arrays

<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];
// ['banana', 'orange', 'apple', 'pear', 'watermelon'];
?>

Numeric literal separator

Numeric literals can contain underscores between digits.

<?php
6.674_083e-11; // float
299_792_458; // decimal
0xCAFE_F00D; // hexadecimal
0b0101_1111; // binary
?>

Weak references

Weak references allow the programmer to retain a reference to an object that does not prevent the object from being destroyed.

Allow exceptions from __toString()

Throwing exceptions from __toString() is now permitted. Previously this resulted in a fatal error. Existing recoverable fatal errors in string conversions have been converted to Error exceptions.

CURL

CURLFile now supports stream wrappers in addition to plain file names, if the extension has been built against libcurl >= 7.56.0.

Filter

The FILTER_VALIDATE_FLOAT filter now supports the min_range and max_range options, with the same semantics as FILTER_VALIDATE_INT.

FFI

FFI is a new extension, which provides a simple way to call native functions, access native variables, and create/access data structures defined in C libraries.

GD

Added the IMG_FILTER_SCATTER image filter to apply a scatter filter to images.

Hash

Added crc32c hash using Castagnoli's polynomial. This CRC32 variant is used by storage systems, such as iSCSI, SCTP, Btrfs and ext4.

Multibyte String

Added the mb_str_split() function, which provides the same functionality as str_split(), but operating on code points rather than bytes.

OPcache

Support for preloading code has been added.

Regular Expressions (Perl-Compatible)

The preg_replace_callback() and preg_replace_callback_array() functions now accept an additional flags argument, with support for the PREG_OFFSET_CAPTURE and PREG_UNMATCHED_AS_NULL flags. This influences the format of the matches array passed to the callback function.

PDO

The username and password can now be specified as part of the PDO DSN for the mysql, mssql, sybase, dblib, firebird and oci drivers. Previously this was only supported by the pgsql driver. If a username/password is specified both in the constructor and the DSN, the constructor takes precedence.

It is now possible to escape question marks in SQL queries to avoid them being interpreted as parameter placeholders. Writing ?? allows sending a single question mark to the database and e.g. use the PostgreSQL JSON key exists (?) operator.

PDO_OCI

PDOStatement::getColumnMeta() is now available.

PDO_SQLite

PDOStatement::getAttribute(PDO::SQLITE_ATTR_READONLY_STATEMENT) allows checking whether the statement is read-only, i.e. if it doesn't modify the database.

PDO::setAttribute(PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES, true) enables the use of SQLite3 extended result codes in PDO::errorInfo() and PDOStatement::errorInfo().

SQLite3

Added SQLite3::lastExtendedErrorCode() to fetch the last extended result code.

Added SQLite3::enableExtendedResultCodes($enable = true), which will make SQLite3::lastErrorCode() return extended result codes.

Standard

strip_tags() with array of tag names

strip_tags() now also accepts an array of allowed tags: instead of strip_tags($str, '<a><p>') you can now write strip_tags($str, ['a', 'p']).

Custom object serialization

A new mechanism for custom object serialization has been added, which uses two new magic methods: __serialize and __unserialize.

<?php
// Returns array containing all the necessary state of the object.
public function __serialize(): array;

// Restores the object state from the given data array.
public function __unserialize(array $data): void;
?>
The new serialization mechanism supersedes the Serializable interface, which will be deprecated in the future.

Array merge functions without arguments

array_merge() and array_merge_recursive() may now be called without any arguments, in which case they will return an empty array. This is useful in conjunction with the spread operator, e.g. array_merge(...$arrays).

proc_open() function

proc_open() now accepts an array instead of a string for the command. In this case the process will be opened directly (without going through a shell) and PHP will take care of any necessary argument escaping.

<?php
proc_open(['php', '-r', 'echo "Hello World\n";'], $descriptors, $pipes);
?>

proc_open() now supports redirect and null descriptors.

<?php
// Like 2>&1 on the shell
proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['redirect', 1]], $pipes);
// Like 2>/dev/null or 2>nul on the shell
proc_open($cmd, [1 => ['pipe', 'w'], 2 => ['null']], $pipes);
?>

argon2i(d) without libargon

password_hash() now has the argon2i and argon2id implementations from the sodium extension when PHP is built without libargon.


  • « New Features
  • New Functions »
  • PHP Manual
  • Migrating from PHP 7.3.x to PHP 7.4.x
  • New Classes and Interfaces

New Classes and Interfaces

Reflection

  • ReflectionReference


New Functions

PHP Core

  • get_mangled_object_vars()
  • password_algos()
  • sapi_windows_set_ctrl_handler()

GD

  • imagecreatefromtga()

Multibyte String

  • mb_str_split()

OpenSSL

  • openssl_x509_verify()

Process Control

  • pcntl_unshare()

SQLite3

  • SQLite3::backup()
  • SQLite3Stmt::getSQL()


New Global Constants

PHP Core

  • PHP_WINDOWS_EVENT_CTRL_C
  • PHP_WINDOWS_EVENT_CTRL_BREAK

Multibyte String

  • MB_ONIGURUMA_VERSION

Sockets

Added the following FreeBSD-specific socket options:

  • SO_LABEL
  • SO_PEERLABEL
  • SO_LISTENQLIMIT
  • SO_LISTENQLEN
  • SO_USER_COOKIE

Tidy

  • TIDY_TAG_ARTICLE
  • TIDY_TAG_ASIDE
  • TIDY_TAG_AUDIO
  • TIDY_TAG_BDI
  • TIDY_TAG_CANVAS
  • TIDY_TAG_COMMAND
  • TIDY_TAG_DATALIST
  • TIDY_TAG_DETAILS
  • TIDY_TAG_DIALOG
  • TIDY_TAG_FIGCAPTION
  • TIDY_TAG_FIGURE
  • TIDY_TAG_FOOTER
  • TIDY_TAG_HEADER
  • TIDY_TAG_HGROUP
  • TIDY_TAG_MAIN
  • TIDY_TAG_MARK
  • TIDY_TAG_MENUITEM
  • TIDY_TAG_METER
  • TIDY_TAG_NAV
  • TIDY_TAG_OUTPUT
  • TIDY_TAG_PROGRESS
  • TIDY_TAG_SECTION
  • TIDY_TAG_SOURCE
  • TIDY_TAG_SUMMARY
  • TIDY_TAG_TEMPLATE
  • TIDY_TAG_TIME
  • TIDY_TAG_TRACK
  • TIDY_TAG_VIDEO


Backward Incompatible Changes

PHP Core

Array-style access of non-arrays

Trying to use values of type null, bool, int, float or resource as an array (such as $null["key"]) will now generate a notice.

get_declared_classes() function

The get_declared_classes() function no longer returns anonymous classes that have not been instantiated yet.

fn keyword

fn is now a reserved keyword. In particular, it can no longer be used as a function or class name. It can still be used as a method or class constant name.

<?php tag at end of file

<?php at the end of the file (without trailing newline) will now be interpreted as an opening PHP tag. Previously it was interpreted either as a short opening tag followed by literal php and resulted in a syntax error (with short_open_tag=1) or was interpreted as a literal <?php string (with short_open_tag=0).

Stream wrappers

When using include/require on a stream, streamWrapper::stream_set_option() will be invoked with the STREAM_OPTION_READ_BUFFER option. Custom stream wrapper implementations may need to implement the streamWrapper::stream_set_option() method to avoid a warning (always returning false is a sufficient implementation).

Serialization

The o serialization format has been removed. As it is never produced by PHP, this may only break unserialization of manually crafted strings.

Password algorithm constants

Password hashing algorithm identifiers are now nullable strings rather than integers.

  • PASSWORD_DEFAULT was int 1; now is string '2y' (in PHP 7.4.0, 7.4.1, and 7.4.2 it was null)
  • PASSWORD_BCRYPT was int 1; now is string '2y'
  • PASSWORD_ARGON2I was int 2; now is string 'argon2i'
  • PASSWORD_ARGON2ID was int 3; now is string 'argon2id'

Applications correctly using the constants PASSWORD_DEFAULT, PASSWORD_BCRYPT, PASSWORD_ARGON2I, and PASSWORD_ARGON2ID will continue to function correctly.

htmlentities() function

htmlentities() will now raise a notice (instead of a strict standards warning) if it is used with an encoding for which only basic entity substitution is supported, in which case it is equivalent to htmlspecialchars().

fread() and fwrite() function

fread() and fwrite() will now return false if the operation failed. Previously an empty string or 0 was returned. EAGAIN/EWOULDBLOCK are not considered failures.

These functions now also raise a notice on failure, such as when trying to write to a read-only file resource.

BCMath Arbitrary Precision Mathematics

BCMath functions will now warn if a non well-formed number is passed, such as "32foo". The argument will be interpreted as zero, as before.

CURL

Attempting to serialize a CURLFile class will now generate an exception. Previously the exception was only thrown on unserialization.

Using CURLPIPE_HTTP1 is deprecated, and is no longer supported as of cURL 7.62.0.

The $version parameter of curl_version() is deprecated. If any value not equal to the default CURLVERSION_NOW is passed, a warning is raised and the parameter is ignored.

Date and Time

Calling var_dump() or similar on a DateTime or DateTimeImmutable instance will no longer leave behind accessible properties on the object.

Comparison of DateInterval objects (using ==, <, and so on) will now generate a warning and always return false. Previously all DateInterval objects were considered equal, unless they had properties.

Intl

The default parameter value of idn_to_ascii() and idn_to_utf8() is now INTL_IDNA_VARIANT_UTS46 instead of the deprecated INTL_IDNA_VARIANT_2003.

MySQLi

The embedded server functionality has been removed. It was broken since at least PHP 7.0.

The undocumented mysqli::$stat property has been removed in favor of mysqli::stat().

OpenSSL

The openssl_random_pseudo_bytes() function will now throw an exception in error situations, similar to random_bytes(). In particular, an Error is thrown if the number of requested bytes is less than or equal to zero, and an Exception is thrown if sufficient randomness cannot be gathered. The $crypto_strong output argument is guaranteed to always be true if the function does not throw, so explicitly checking it is not necessary.

Regular Expressions (Perl-Compatible)

When PREG_UNMATCHED_AS_NULL mode is used, trailing unmatched capturing groups will now also be set to null (or [null, -1] if offset capture is enabled). This means that the size of the $matches will always be the same.

PHP Data Objects

Attempting to serialize a PDO or PDOStatement instance will now generate an Exception rather than a PDOException, consistent with other internal classes which do not support serialization.

Reflection

Reflection objects will now generate an exception if an attempt is made to serialize them. Serialization for reflection objects was never supported and resulted in corrupted reflection objects. It has been explicitly prohibited now.

The values of the class constant of ReflectionClassConstant, ReflectionMethod and ReflectionProperty have changed.

Standard PHP Library (SPL)

Calling get_object_vars() on an ArrayObject instance will now always return the properties of the ArrayObject itself (or a subclass). Previously it returned the values of the wrapped array/object unless the ArrayObject::STD_PROP_LIST flag was specified.

Other affected operations are:

  • ReflectionObject::getProperties()
  • reset(), current(), etc. Use Iterator methods instead.
  • Potentially others working on object properties as a list, e.g. array_walk().

(array) casts are not affected. They will continue to return either the wrapped array, or the ArrayObject properties, depending on whether the ArrayObject::STD_PROP_LIST flag is used.

SplPriorityQueue::setExtractFlags() will throw an exception if zero is passed. Previously this would generate a recoverable fatal error on the next extraction operation.

ArrayObject, ArrayIterator, SplDoublyLinkedList and SplObjectStorage now support the __serialize() and __unserialize() mechanism in addition to the Serializable interface. This means that serialization payloads created on older PHP versions can still be unserialized, but new payloads created by PHP 7.4 will not be understood by older versions.

Tokenizer

token_get_all() will now emit a T_BAD_CHARACTER token for unexpected characters instead of leaving behind holes in the token stream.

Incoming Cookies

As of PHP 7.4.11, the names of incoming cookies are no longer url-decoded for security reasons.


Deprecated Features

PHP Core

Nested ternary operators without explicit parentheses

Nested ternary operations must explicitly use parentheses to dictate the order of the operations. Previously, when used without parentheses, the left-associativity would not result in the expected behaviour in most cases.

<?php
1 ? 2 : 3 ? 4 : 5; // deprecated
(1 ? 2 : 3) ? 4 : 5; // ok
1 ? 2 : (3 ? 4 : 5); // ok
?>

Parentheses are not required when nesting into the middle operand, as this is always unambiguous and not affected by associativity:

1 ? 2 ? 3 : 4 : 5 // ok

Array and string offset access using curly braces

The array and string offset access syntax using curly braces is deprecated. Use $var[$idx] instead of $var{$idx}.

(real) cast and is_real() function

The (real) cast is deprecated, use (float) instead.

The is_real() function is also deprecated, use is_float() instead.

Unbinding $this when $this is used

Unbinding $this of a non-static closure that uses $this is deprecated.

parent keyword without parent class

Using parent inside a class without a parent is deprecated, and will throw a compile-time error in the future. Currently an error will only be generated if/when the parent is accessed at run-time.

allow_url_include INI option

The allow_url_include ini directive is deprecated. Enabling it will generate a deprecation notice at startup.

Invalid characters in base conversion functions

Passing invalid characters to base_convert(), bindec(), octdec() and hexdec() will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist. Leading and trailing whitespace, as well as prefixes of type 0x (depending on base) continue to be allowed.

Using array_key_exists() on objects

Using array_key_exists() on objects is deprecated. Instead either isset() or property_exists() should be used.

Magic quotes functions

The get_magic_quotes_gpc() and get_magic_quotes_runtime() functions are deprecated. They always return false.

hebrevc() function

The hebrevc() function is deprecated. It can be replaced with nl2br(hebrev($str)) or, preferably, the use of Unicode RTL support.

convert_cyr_string() function

The convert_cyr_string() function is deprecated. It can be replaced by one of mb_convert_string(), iconv() or UConverter.

money_format() function

The money_format() function is deprecated. It can be replaced by the intl NumberFormatter functionality.

ezmlm_hash() function

The ezmlm_hash() function is deprecated.

restore_include_path() function

The restore_include_path() function is deprecated. It can be replaced by ini_restore('include_path').

Implode with historical parameter order

Passing parameters to implode() in reverse order is deprecated, use implode($glue, $parts) instead of implode($parts, $glue).

COM

Importing type libraries with case-insensitive constant registering has been deprecated.

Filter

FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead.

Multibyte String

Passing a non-string pattern to mb_ereg_replace() is deprecated. Currently, non-string patterns are interpreted as ASCII codepoints. In PHP 8, the pattern will be interpreted as a string instead.

Passing the encoding as 3rd parameter to mb_strrpos() is deprecated. Instead pass a 0 offset, and encoding as 4th parameter.

Lightweight Directory Access Protocol

ldap_control_paged_result_response() and ldap_control_paged_result() are deprecated. Pagination controls can be sent along with ldap_search() instead.

Reflection

Calls to ReflectionType::__toString() now generate a deprecation notice. This method has been deprecated in favor of ReflectionNamedType::getName() in the documentation since PHP 7.1, but did not throw a deprecation notice for technical reasons.

The export() methods on all Reflection classes are deprecated. Construct a Reflection object and convert it to string instead:

<?php
// ReflectionClass::export(Foo::class, false) is:
echo new ReflectionClass(Foo::class), "\n";

// $str = ReflectionClass::export(Foo::class, true) is:
$str = (string) new ReflectionClass(Foo::class);
?>

Socket

The AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES flags for socket_addrinfo_lookup() are deprecated, due to an upstream deprecation in glibc.


Removed Extensions

These extensions have been moved to PECL and are no longer part of the PHP distribution. The PECL package versions of these extensions will be created according to user demand.

  • Firebird/Interbase - access to an InterBase and/or Firebird based database is still available with the PDO Firebird driver.
  • Recode
  • WDDX


Other Changes

Performance Improvements

PHP Core

A specialized VM opcode for the array_key_exists() function has been added, which improves performance of this function if it can be statically resolved. In namespaced code, this may require writing \array_key_exists() or explicitly importing the function.

Regular Expressions (Perl-Compatible)

When preg_match() in UTF-8 mode ("u" modifier) is repeatedly called on the same string (but possibly different offsets), it will only be checked for UTF-8 validity once.

Changes to INI File Handling

zend.exception_ignore_args is a new INI directive for including or excluding arguments from stack traces generated from exceptions.

opcache.preload_user is a new INI directive for specifying the user account under which preloading code is execute if it would otherwise be run as root (which is not allowed for security reasons).

Migration to pkg-config

A number of extensions have been migrated to exclusively use pkg-config for the detection of library dependencies. Generally, this means that instead of using --with-foo-dir=DIR or similar only --with-foo is used. Custom library paths can be specified either by adding additional directories to PKG_CONFIG_PATH or by explicitly specifying compilation options through FOO_CFLAGS and FOO_LIBS.

The following extensions and SAPIs are affected:

  • CURL:
    • --with-curl no longer accepts a directory.
  • Enchant:
    • --with-enchant no longer accepts a directory.
  • FPM:
    • --with-fpm-systemd now uses only pkg-config for libsystem checks. The libsystemd minimum required version is 209.
  • GD:
    • --with-gd becomes --enable-gd (whether to enable the extension at all) and --with-external-gd (to opt into using an external libgd, rather than the bundled one).
    • --with-png-dir has been removed. libpng is required.
    • --with-zlib-dir has been removed. zlib is required.
    • --with-freetype-dir becomes --with-freetype
    • --with-jpeg-dir becomes --with-jpeg
    • --with-webp-dir becomes --with-webp
    • --with-xpm-dir becomes --with-xpm
  • IMAP:
    • --with-kerberos-systemd no longer accepts a directory.
  • Intl:
    • --with-icu-dir has been removed. If --enable-intl is passed, then libicu is always required.
  • LDAP:
    • --with-ldap-sasl no longer accepts a directory.
  • Libxml:
    • --with-libxml-dir has been removed.
    • --enable-libxml becomes --with-libxml.
    • --with-libexpat-dir has been renamed to --with-expat and no longer accepts a directory.
  • Litespeed:
    • --with-litespeed becomes --enable-litespeed.
  • Mbstring:
    • --with-onig has been removed. Unless --disable-mbregex has been passed, libonig is required.
  • ODBC:
    • --with-iodbc no longer accepts a directory.
    • --with-unixODBC without a directory now uses pkg-config (preferred). Directory is still accepted for old versions without libodbc.pc.
  • OpenSSL:
    • --with-openssl no longer accepts a directory.
  • PCRE:
    • --with-pcre-regex has been removed. Instead --with-external-pcre is provided to opt into using an external PCRE library, rather than the bundled one.
  • PDO_SQLite:
    • --with-pdo-sqlite no longer accepts a directory.
  • Readline:
    • --with-libedit no longer accepts a directory.
  • Sodium:
    • --with-sodium no longer accepts a directory.
  • SQLite3:
    • --with-sqlite3 no longer accepts a directory.
  • XSL:
    • --with-xsl no longer accepts a directory.
  • Zip:
    • --with-libzip has been removed.
    • --enable-zip becomes --with-zip.

CSV escaping

fputcsv(),
fgetcsv(),
SplFileObject::fputcsv(),
SplFileObject::fgetcsv(), and
SplFileObject::setCsvControl()
now accept an empty string as $escape argument,
which disables the proprietary PHP escaping mechanism.

The behavior of str_getcsv() has been adjusted accordingly (formerly, an empty string was identical to using the default).

SplFileObject::getCsvControl() now may also return an empty string for the third array element, accordingly.

Data Filtering

The filter extension no longer exposes --with-pcre-dir for Unix builds and can now reliably be built as shared when using ./configure

GD

The behavior of imagecropauto() in the bundled libgd has been synced with that of system libgd:

  • IMG_CROP_DEFAULT is no longer falling back to IMG_CROP_SIDES
  • Threshold-cropping now uses the algorithm of system libgd

The default $mode parameter of imagecropauto() has been changed to IMG_CROP_DEFAULT; passing -1 is now deprecated.

imagescale() now supports aspect ratio preserving scaling to a fixed height by passing -1 as $new_width.

HASH Message Digest Framework

The hash extension cannot be disabled anymore and is always an integral part of any PHP build, similar to the date extension.

Intl

The intl extension now requires at least ICU 50.1.

ResourceBundle now implements Countable.

Lightweight Directory Access Protocol

Support for nsldap and umich_ldap has been removed.

Libxml

All libxml-based extensions now require libxml 2.7.6 or newer.

Multibyte String

The oniguruma library is no longer bundled with PHP, instead libonig needs to be available on the system. Alternatively --disable-mbregex can be used to disable the mbregex component.

OPcache

The --disable-opcache-file and --enable-opcache-file configure options have been removed in favor of the opcache.file_cache INI directive.

Password Hashing

The password_hash() and password_needs_rehash() functions now accept nullable string and int for $algo argument.

PEAR

Installation of PEAR (including PECL) is no longer enabled by default. It can be explicitly enabled using --with-pear. This option is deprecated and may be removed in the future.

Reflection

The numeric values of the modifier constants (IS_ABSTRACT, IS_DEPRECATED, IS_EXPLICIT_ABSTRACT, IS_FINAL, IS_IMPLICIT_ABSTRACT, IS_PRIVATE, IS_PROTECTED, IS_PUBLIC, and IS_STATIC) on the ReflectionClass, ReflectionFunction, ReflectionMethod, ReflectionObject, and ReflectionProperty classes have changed.

SimpleXML

SimpleXMLElement now implements Countable.

SQLite3

The bundled libsqlite has been removed. To build the SQLite3 extension a system libsqlite3 ? 3.7.4 is now required. To build the PDO_SQLite extension a system libsqlite3 ? 3.5.0 is now required.

Serialization and unserialization of SQLite3, SQLite3Stmt and SQLite3Result is now explicitly forbidden. Formerly, serialization of instances of these classes was possible, but unserialization yielded unusable objects.

The @param notation can now also be used to denote SQL query parameters.

Zip

The bundled libzip library has been removed. A system libzip >= 0.11 is now necessary to build the zip extension.


Windows Support

configure flags

configure now regards additional CFLAGS and LDFLAGS set as environment variables.

CTRL handling

CTRL+C and CTRL+BREAK on console can be caught by setting a handler function with sapi_windows_set_ctrl_handler().

proc_open() on Windows can be passed a "create_process_group" option. It is required if the child process is supposed to handle CTRL events.

OPcache

OPcache now supports an arbitrary number of separate caches per user via the INI directive opcache.cache_id. All processes with the same cache ID and user share an OPcache instance.

stat

The stat implementation has been refactored.

  • An inode number is delivered and is based on the NTFS file index.
  • The device number is now based on the volume serial number.

Note that both values are derived from the system and provided as-is on 64-bit systems. On 32-bit systems, these values might overflow the 32-bit integer in PHP, so they're fake.

libsqlite3

libsqlite3 is no longer compiled statically into php_sqlite3.dll and php_pdo_sqlite.dll, but rather available as libsqlite3.dll. Refer to the installation instructions for SQLite3 and PDO_SQLITE, respectively.


Migrating from PHP 7.2.x to PHP 7.3.x

İçindekiler

  • New Features
  • New Functions
  • New Global Constants
  • Backward Incompatible Changes
  • Deprecated Features
  • Other Changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.0.x, 7.1.x and 7.2.x.


New Features

PHP Core

More Flexible Heredoc and Nowdoc Syntax

The closing marker for doc strings is no longer required to be followed by a semicolon or newline. Additionally the closing marker may be indented, in which case the indentation will be stripped from all lines in the doc string.

Array Destructuring supports Reference Assignments

Array destructuring now supports reference assignments using the syntax [&$a, [$b, &$c]] = $d. The same is also supported for list().

Instanceof Operator accepts Literals

instanceof now allows literals as the first operand, in which case the result is always false.

CompileError Exception instead of some Compilation Errors

A new CompileError exception has been added, from which ParseError inherits. A small number of compilation errors will now throw a CompileError instead of generating a fatal error. Currently this only affects compilation errors that may be thrown by token_get_all() in TOKEN_PARSE mode, but more errors may be converted in the future.

Trailing Commas are allowed in Calls

Trailing commas in function and method calls are now allowed.

Argon2id Support

The --with-password-argon2[=dir] configure argument now provides support for both Argon2i and Argon2id hashes in the password_hash(), password_verify(), password_get_info(), and password_needs_rehash() functions. Passwords may be hashed and verified using the PASSWORD_ARGON2ID constant. Support for both Argon2i and Argon2id in the password_*() functions now requires PHP be linked against libargon2 reference library ? 20161029.

FastCGI Process Manager

New options have been added to customize the FPM logging:

log_limit
This global option can be used for setting the log limit for the logged line which allows to log messages longer than 1024 characters without wrapping. It also fixes various wrapping issues.
log_buffering
This global option allows an experimental logging without extra buffering.
decorate_workers_output
This pool option allows to disable the output decoration for workers output when catch_workers_output is enabled.

BC Math Functions

bcscale() can now also be used as getter to retrieve the current scale in use.

Lightweight Directory Access Protocol

Full support for LDAP Controls has been added to the LDAP querying functions and ldap_parse_result():

  • A $serverctrls parameter to send controls to the
server in ldap_add(),
ldap_mod_replace(), ldap_mod_add(),
ldap_mod_del(), ldap_rename(),
ldap_compare(), ldap_delete(),
ldap_modify_batch(),
ldap_search(), ldap_list() and
ldap_read() has been added.
  • The out parameter $serverctrls to get controls from the server in ldap_parse_result() has been added.
  • Support for LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS in ldap_get_option() and ldap_set_option() has been fixed.

Multibyte String Functions

Full Case-Mapping and Case-Folding Support

Support for full case-mapping and case-folding has been added. Unlike simple case-mapping, full case-mapping may change the length of the string. For example:

<?php
mb_strtoupper("Straße");
// Produces STRAßE on PHP 7.2
// Produces STRASSE on PHP 7.3
?>
The different casing mapping and folding modes are available through mb_convert_case():
  • MB_CASE_LOWER (used by mb_strtolower())
  • MB_CASE_UPPER (used by mb_strtoupper())
  • MB_CASE_TITLE
  • MB_CASE_FOLD
  • MB_CASE_LOWER_SIMPLE
  • MB_CASE_UPPER_SIMPLE
  • MB_CASE_TITLE_SIMPLE
  • MB_CASE_FOLD_SIMPLE (used by case-insensitive operations)
Only unconditional, language agnostic full case-mapping is performed.

Case-Insensitive String Operations use Case-Folding

Case-insensitive string operations now use case-folding instead of case- mapping during comparisons. This means that more characters will be considered (case insensitively) equal now.

MB_CASE_TITLE performs Title-Case Conversion

mb_convert_case() with MB_CASE_TITLE now performs title-case conversion based on the Cased and CaseIgnorable derived Unicode properties. In particular this also improves handling of quotes and apostrophes.

Unicode 11 Support

The Multibyte String data tables have been updated for Unicode 11.

Long String Support

The Multibyte String Functions now correctly support strings larger than 2GB.

Performance Improvements

Performance of the Multibyte String extension has been significantly improved across the board. The largest improvements are in case conversion functions.

Named Captures Support

The mb_ereg_* functions now support named captures. Matching functions like mb_ereg() will now return named captures both using their group number and their name, similar to PCRE:

<?php
mb_ereg('(?<word>\w+)', '?', $matches);
// => [0 => "?", 1 => "?", "word" => "?"];
?>
Additionally, mb_ereg_replace() now supports the \k<> and \k'' notations to reference named captures in the replacement string:
<?php
mb_ereg_replace('\s*(?<word>\w+)\s*', "_\k<word>_\k'word'_", ' foo ');
// => "_foo_foo_"
?>
\k<> and \k'' can also be used for numbered references, which also works with group numbers greater than 9.

Readline

Support for the completion_append_character and completion_suppress_append options has been added to readline_info(). These options are only available if PHP is linked against libreadline (rather than libedit).


New Functions

PHP Core

  • array_key_first()
  • array_key_last()
  • gc_status()
  • hrtime()
  • is_countable()
  • net_get_interfaces()

FastCGI Process Manager

  • fpm_get_status()

Date and Time

  • DateTime::createFromImmutable()

GNU Multiple Precision

  • gmp_binomial()
  • gmp_kronecker()
  • gmp_lcm()
  • gmp_perfect_power()

Internationalization Functions

  • Normalizer::getRawDecomposition()
  • normalizer_get_raw_decomposition()
  • Spoofchecker::setRestrictionLevel()

Lightweight Directory Access Protocol

  • ldap_add_ext()
  • ldap_bind_ext()
  • ldap_delete_ext()
  • ldap_exop_refresh()
  • ldap_mod_add_ext()
  • ldap_mod_replace_ext()
  • ldap_mod_del_ext()
  • ldap_rename_ext()

OpenSSL

  • openssl_pkey_derive()

Sockets

  • socket_wsaprotocol_info_export()
  • socket_wsaprotocol_info_import()
  • socket_wsaprotocol_info_release()


New Global Constants

PHP Core

  • PASSWORD_ARGON2ID

Client URL Library

  • CURLAUTH_BEARER
  • CURLAUTH_GSSAPI
  • CURLE_WEIRD_SERVER_REPLY
  • CURLINFO_APPCONNECT_TIME_T
  • CURLINFO_CONNECT_TIME_T
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
  • CURLINFO_CONTENT_LENGTH_UPLOAD_T
  • CURLINFO_FILETIME_T
  • CURLINFO_HTTP_VERSION
  • CURLINFO_NAMELOOKUP_TIME_T
  • CURLINFO_PRETRANSFER_TIME_T
  • CURLINFO_PROTOCOL
  • CURLINFO_PROXY_SSL_VERIFYRESULT
  • CURLINFO_REDIRECT_TIME_T
  • CURLINFO_SCHEME
  • CURLINFO_SIZE_DOWNLOAD_T
  • CURLINFO_SIZE_UPLOAD_T
  • CURLINFO_SPEED_DOWNLOAD_T
  • CURLINFO_SPEED_UPLOAD_T
  • CURLINFO_STARTTRANSFER_TIME_T
  • CURLINFO_TOTAL_TIME_T
  • CURL_LOCK_DATA_CONNECT
  • CURL_LOCK_DATA_PSL
  • CURL_MAX_READ_SIZE
  • CURLOPT_ABSTRACT_UNIX_SOCKET
  • CURLOPT_DISALLOW_USERNAME_IN_URL
  • CURLOPT_DNS_SHUFFLE_ADDRESSES
  • CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
  • CURLOPT_HAPROXYPROTOCOL
  • CURLOPT_KEEP_SENDING_ON_ERROR
  • CURLOPT_PRE_PROXY
  • CURLOPT_PROXY_CAINFO
  • CURLOPT_PROXY_CAPATH
  • CURLOPT_PROXY_CRLFILE
  • CURLOPT_PROXY_KEYPASSWD
  • CURLOPT_PROXY_PINNEDPUBLICKEY
  • CURLOPT_PROXY_SSLCERT
  • CURLOPT_PROXY_SSLCERTTYPE
  • CURLOPT_PROXY_SSL_CIPHER_LIST
  • CURLOPT_PROXY_SSLKEY
  • CURLOPT_PROXY_SSLKEYTYPE
  • CURLOPT_PROXY_SSL_OPTIONS
  • CURLOPT_PROXY_SSL_VERIFYHOST
  • CURLOPT_PROXY_SSL_VERIFYPEER
  • CURLOPT_PROXY_SSLVERSION
  • CURLOPT_PROXY_TLS13_CIPHERS
  • CURLOPT_PROXY_TLSAUTH_PASSWORD
  • CURLOPT_PROXY_TLSAUTH_TYPE
  • CURLOPT_PROXY_TLSAUTH_USERNAME
  • CURLOPT_REQUEST_TARGET
  • CURLOPT_SOCKS5_AUTH
  • CURLOPT_SSH_COMPRESSION
  • CURLOPT_SUPPRESS_CONNECT_HEADERS
  • CURLOPT_TIMEVALUE_LARGE
  • CURLOPT_TLS13_CIPHERS
  • CURLPROXY_HTTPS
  • CURLSSH_AUTH_GSSAPI
  • CURL_SSLVERSION_MAX_DEFAULT
  • CURL_SSLVERSION_MAX_NONE
  • CURL_SSLVERSION_MAX_TLSv1_0
  • CURL_SSLVERSION_MAX_TLSv1_1
  • CURL_SSLVERSION_MAX_TLSv1_2
  • CURL_SSLVERSION_MAX_TLSv1_3
  • CURL_SSLVERSION_TLSv1_3
  • CURL_VERSION_ALTSVC (as of PHP 7.3.6)
  • CURL_VERSION_ASYNCHDNS
  • CURL_VERSION_BROTLI
  • CURL_VERSION_CONV
  • CURL_VERSION_CURLDEBUG (as of PHP 7.3.6)
  • CURL_VERSION_DEBUG
  • CURL_VERSION_GSSAPI
  • CURL_VERSION_GSSNEGOTIATE
  • CURL_VERSION_HTTPS_PROXY
  • CURL_VERSION_IDN
  • CURL_VERSION_LARGEFILE
  • CURL_VERSION_MULTI_SSL
  • CURL_VERSION_NTLM
  • CURL_VERSION_NTLM_WB
  • CURL_VERSION_PSL (as of PHP 7.3.6)
  • CURL_VERSION_SPNEGO
  • CURL_VERSION_SSPI
  • CURL_VERSION_TLSAUTH_SRP

Data Filtering

  • FILTER_SANITIZE_ADD_SLASHES

JavaScript Object Notation

  • JSON_THROW_ON_ERROR

Lightweight Directory Access Protocol

  • LDAP_CONTROL_ASSERT
  • LDAP_CONTROL_MANAGEDSAIT
  • LDAP_CONTROL_PROXY_AUTHZ
  • LDAP_CONTROL_SUBENTRIES
  • LDAP_CONTROL_VALUESRETURNFILTER
  • LDAP_CONTROL_PRE_READ
  • LDAP_CONTROL_POST_READ
  • LDAP_CONTROL_SORTREQUEST
  • LDAP_CONTROL_SORTRESPONSE
  • LDAP_CONTROL_PAGEDRESULTS
  • LDAP_CONTROL_AUTHZID_REQUEST
  • LDAP_CONTROL_AUTHZID_RESPONSE
  • LDAP_CONTROL_SYNC
  • LDAP_CONTROL_SYNC_STATE
  • LDAP_CONTROL_SYNC_DONE
  • LDAP_CONTROL_DONTUSECOPY
  • LDAP_CONTROL_PASSWORDPOLICYREQUEST
  • LDAP_CONTROL_PASSWORDPOLICYRESPONSE
  • LDAP_CONTROL_X_INCREMENTAL_VALUES
  • LDAP_CONTROL_X_DOMAIN_SCOPE
  • LDAP_CONTROL_X_PERMISSIVE_MODIFY
  • LDAP_CONTROL_X_SEARCH_OPTIONS
  • LDAP_CONTROL_X_TREE_DELETE
  • LDAP_CONTROL_X_EXTENDED_DN
  • LDAP_CONTROL_VLVREQUEST
  • LDAP_CONTROL_VLVRESPONSE

Multibyte String

  • MB_CASE_FOLD
  • MB_CASE_LOWER_SIMPLE
  • MB_CASE_UPPER_SIMPLE
  • MB_CASE_TITLE_SIMPLE
  • MB_CASE_FOLD_SIMPLE

OpenSSL

  • STREAM_CRYPTO_PROTO_SSLv3
  • STREAM_CRYPTO_PROTO_TLSv1_0
  • STREAM_CRYPTO_PROTO_TLSv1_1
  • STREAM_CRYPTO_PROTO_TLSv1_2

PostgreSQL

  • PGSQL_DIAG_SCHEMA_NAME
  • PGSQL_DIAG_TABLE_NAME
  • PGSQL_DIAG_COLUMN_NAME
  • PGSQL_DIAG_DATATYPE_NAME
  • PGSQL_DIAG_CONSTRAINT_NAME
  • PGSQL_DIAG_SEVERITY_NONLOCALIZED


Backward Incompatible Changes

PHP Core

Heredoc/Nowdoc Ending Label Interpretation

Due to the introduction of flexible heredoc/nowdoc syntax, doc strings that contain the ending label inside their body may cause syntax errors or change in interpretation. For example in:

<?php
$str = <<<FOO
abcdefg
 FOO
FOO;
?>
the indented occurrence of FOO did not previously have any special meaning. Now it will be interpreted as the end of the heredoc string and the following FOO; will cause a syntax error. This issue can always be resolved by choosing an ending label that does not occur within the contents of the string.

Continue Targeting Switch issues Warning

continue statements targeting switch control flow structures will now generate a warning. In PHP such continue statements are equivalent to break, while they behave as continue 2 in other languages.

<?php
while ($foo) {
switch ($bar) {
case "baz":
continue;
// Warning: "continue" targeting switch is equivalent to
// "break". Did you mean to use "continue 2"?
}
}
?>

Strict Interpretation of Integer String Keys on ArrayAccess

Array accesses of type $obj["123"], where $obj implements ArrayAccess and "123" is an integer string literal will no longer result in an implicit conversion to integer, i.e., $obj->offsetGet("123") will be called instead of $obj->offsetGet(123). This matches existing behavior for non-literals. The behavior of arrays is not affected in any way, they continue to implicitly convert integral string keys to integers.

Static Properties no longer separated by Reference Assignment

In PHP, static properties are shared between inheriting classes, unless the static property is explicitly overridden in a child class. However, due to an implementation artifact it was possible to separate the static properties by assigning a reference. This loophole has been fixed.

<?php
class Test {
public static $x = 0;
}
class Test2 extends Test { }

Test2::$x = &$x;
$x = 1;

var_dump(Test::$x, Test2::$x);
// Previously: int(0), int(1)
// Now: int(1), int(1)
?>

References returned by Array and Property Accesses are immediately unwrapped

References returned by array and property accesses are now unwrapped as part of the access. This means that it is no longer possible to modify the reference between the access and the use of the accessed value:

<?php
$arr = [1];
$ref =& $arr[0];
var_dump($arr[0] + ($arr[0] = 2));
// Previously: int(4), Now: int(3)
?>
This makes the behavior of references and non-references consistent. Please note that reading and writing a value inside a single expression remains undefined behavior and may change again in the future.

Argument Unpacking of Traversables with non-Integer Keys no longer supported

Argument unpacking stopped working with Traversables with non-integer keys. The following code worked in PHP 5.6-7.2 by accident.

<?php
function foo(...$args) {
var_dump($args);
}
function gen() {
yield 1.23 => 123;
}
foo(...gen());
?>

Miscellaneous

The ext_skel utility has been completely redesigned with new options and some old options removed. This is now written in PHP and has no external dependencies.

Support for BeOS has been dropped.

Exceptions thrown due to automatic conversion of warnings into exceptions in EH_THROW mode (e.g. some DateTime exceptions) no longer populate error_get_last() state. As such, they now work the same way as manually thrown exceptions.

TypeError now reports wrong types as int and bool instead of integer and boolean, respectively.

Undefined variables passed to compact() will now be reported as a notice.

getimagesize() and related functions now report the mime type of BMP images as image/bmp instead of image/x-ms-bmp, since the former has been registered with the IANA (see » RFC 7903).

stream_socket_get_name() will now return IPv6 addresses wrapped in brackets. For example "[::1]:1337" will be returned instead of "::1:1337".

BCMath Arbitrary Precision Mathematics

All warnings thrown by BCMath functions are now using PHP's error handling. Formerly some warnings have directly been written to stderr.

bcmul() and bcpow() now return numbers with the requested scale. Formerly, the returned numbers may have omitted trailing decimal zeroes.

IMAP, POP3 and NNTP

rsh/ssh logins are disabled by default. Use imap.enable_insecure_rsh if you want to enable them. Note that the IMAP library does not filter mailbox names before passing them to the rsh/ssh command, thus passing untrusted data to this function with rsh/ssh enabled is insecure.

Multibyte String

Due to added support for named captures, mb_ereg_*() patterns using named captures will behave differently. In particular named captures will be part of matches and mb_ereg_replace() will interpret additional syntax. See Named Captures for more information.

MySQL Improved Extension

Prepared statements now properly report the fractional seconds for DATETIME, TIME and TIMESTAMP columns with decimals specifier (e.g. TIMESTAMP(6) when using microseconds). Formerly, the fractional seconds part was simply omitted from the returned values.

MySQL Functions (PDO_MYSQL)

Prepared statements now properly report the fractional seconds for DATETIME, TIME and TIMESTAMP columns with decimals specifier (e.g. TIMESTAMP(6) when using microseconds). Formerly, the fractional seconds part was simply omitted from the returned values. Please note that this only affects the usage of PDO_MYSQL with emulated prepares turned off (e.g. using the native preparation functionality). Statements using connections having PDO::ATTR_EMULATE_PREPARES=true (which is the default) were not affected by the bug fixed and have already been getting the proper fractional seconds values from the engine.

Reflection

Reflection export to string now uses int and bool instead of integer and boolean, respectively.

Standard PHP Library (SPL)

If an SPL autoloader throws an exception, following autoloaders will not be executed. Previously all autoloaders were executed and exceptions were chained.

SimpleXML

Mathematic operations involving SimpleXML objects will now treat the text as an int or float, whichever is more appropriate. Previously values were treated as ints unconditionally.

Incoming Cookies

As of PHP 7.3.23, the names of incoming cookies are no longer url-decoded for security reasons.


Deprecated Features

PHP Core

Case-Insensitive Constants

The declaration of case-insensitive constants has been deprecated. Passing true as the third argument to define() will now generate a deprecation warning. The use of case-insensitive constants with a case that differs from the declaration is also deprecated.

Namespaced assert()

Declaring a function called assert() inside a namespace is deprecated. The assert() function is subject to special handling by the engine, which may lead to inconsistent behavior when defining a namespaced function with the same name.

Searching Strings for non-string Needle

Passing a non-string needle to string search functions is deprecated. In the future the needle will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, you should either explicitly cast the needle to string or perform an explicit call to chr(). The following functions are affected:

  • strpos()
  • strrpos()
  • stripos()
  • strripos()
  • strstr()
  • strchr()
  • strrchr()
  • stristr()

Strip-Tags Streaming

The fgetss() function and the string.strip_tags stream filter have been deprecated. This also affects the SplFileObject::fgetss() method and gzgetss() function.

Data Filtering

The explicit usage of the constants FILTER_FLAG_SCHEME_REQUIRED and FILTER_FLAG_HOST_REQUIRED is now deprecated; both are implied for FILTER_VALIDATE_URL anyway.

Image Processing and GD

image2wbmp() has been deprecated.

Internationalization Functions

Usage of the Normalizer::NONE form throws a deprecation warning, if PHP is linked with ICU ? 56.

Multibyte String

The following undocumented mbereg_*() aliases have been deprecated. Use the corresponding mb_ereg_*() variants instead.

  • mbregex_encoding()
  • mbereg()
  • mberegi()
  • mbereg_replace()
  • mberegi_replace()
  • mbsplit()
  • mbereg_match()
  • mbereg_search()
  • mbereg_search_pos()
  • mbereg_search_regs()
  • mbereg_search_init()
  • mbereg_search_getregs()
  • mbereg_search_getpos()
  • mbereg_search_setpos()

ODBC and DB2 Functions (PDO_ODBC)

The pdo_odbc.db2_instance_name ini setting has been formally deprecated. It is deprecated in the documentation as of PHP 5.1.1.


Other Changes

PHP Core

Set(raw)cookie accepts $option Argument

setcookie() and setrawcookie() now also support the following signature:

setcookie(string $name, string $value = "", array $options = []): bool
where $options is an associative array which may have any of the keys "expires", "path", "domain", "secure", "httponly" and "samesite".

New Syslog ini Directives

The following ini Directives have been added to customize logging, if error_log is set to syslog:

syslog.facility
Specifies what type of program is logging the message.
syslog.filter
Specifies the filter type to filter the logged messages, with the supported filter types - all, no-ctrl and ascii. Starting with PHP 7.3.8, raw is also available, restoring the way syslog behaved in previous PHP versions. This filter will also affect calls to syslog().
syslog.ident
Specifies the ident string which is prepended to every message.

Garbage Collection

The cyclic GC has been enhanced, which may result in considerable performance improvements.

Miscellaneous

var_export() now exports stdClass objects as an array cast to an object ((object) array( ... )), rather than using the nonexistent method stdClass::__setState().

debug_zval_dump() was changed to display recursive arrays and objects in the same way as var_dump(). Now, it doesn't display them twice.

array_push() and array_unshift() can now also be called with a single argument, which is particularly convenient wrt. the spread operator.

Interactive PHP Debugger

The unused constants PHPDBG_FILE, PHPDBG_METHOD, PHPDBG_LINENO and PHPDBG_FUNC have been removed.

FastCGI Process Manager

The getallheaders() function is now also available.

Client URL Library

libcurl ? 7.15.5 is now required.

Data Filtering

FILTER_VALIDATE_FLOAT now also supports a thousand option, which defines the set of allowed thousand separator chars. The default ("',.") is fully backward compatible with former PHP versions.

FILTER_SANITIZE_ADD_SLASHES has been added as an alias of the magic_quotes filter (FILTER_SANITIZE_MAGIC_QUOTES). The magic_quotes filter is subject to removal in future versions of PHP.

FTP

The default transfer mode has been changed to binary.

Internationalization Functions

Normalizer::NONE is deprecated, when PHP is linked with ICU ? 56.

Introduced Normalizer::FORM_KC_CF as Normalizer::normalize() argument for NFKC_Casefold normalization; available when linked with ICU ? 56.

JavaScript Object Notation

A new flag has been added, JSON_THROW_ON_ERROR, which can be used with json_decode() or json_encode() and causes these functions to throw the new JsonException upon an error, instead of setting the global error state that is retrieved with json_last_error() and json_last_error_msg(). JSON_PARTIAL_OUTPUT_ON_ERROR takes precedence over JSON_THROW_ON_ERROR.

Multibyte String

The configuration option --with-libmbfl is no longer available.

ODBC (Unified)

Support for ODBCRouter and Birdstep including the birdstep.max_links ini directive has been removed.

OPcache

The opcache.inherited_hack ini directive has been removed. The value has already been ignored since PHP 5.3.0.

OpenSSL

The min_proto_version and max_proto_version ssl stream options as well as related constants for possible TLS protocol values have been added.

Regular Expressions (Perl-Compatible)

The PCRE extension has been upgraded to PCRE2, which may cause minor behavioral changes (for instance, character ranges in classes are now more strictly interpreted), and augments the existing regular expression syntax.

preg_quote() now also escapes the '#' character.

Microsoft SQL Server and Sybase Functions (PDO_DBLIB)

The attribute PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS to enable automatic skipping of empty rowsets has been added.

The PDO::DBLIB_ATTR_TDS_VERSION attribute which exposes the TDS version has been added.

DATETIME2 columns are now treated like DATETIME columns.

SQLite Functions (PDO_SQLITE)

SQLite3 databases can now be opened in read-only mode by setting the new PDO::SQLITE_ATTR_OPEN_FLAGS attribute to PDO::SQLITE_OPEN_READONLY.

Session Handling

session_set_cookie_params() now also supports the following signature:

session_set_cookie_params(array $options): bool
where $options is an associative array which may have any of the keys "lifetime", "path", "domain", "secure", "httponly" and "samesite". Accordingly, the return value of session_get_cookie_params() now also has an element with the key "samesite". Furthermore, the new session.cookie_samesite ini option to set the default of the SameSite directive for cookies has been added. It defaults to "" (empty string), so no SameSite directive is set. Can be set to "Lax" or "Strict", which sets the respective SameSite directive.

Tidy

Building against » tidyp is now also supported transparently. Since tidyp offers no API to get the release date, tidy_get_release() and tidy::getRelease() return 'unknown' in this case.

XML Parser

The return value of the xml_set_external_entity_ref_handler() callback is no longer ignored if the extension has been built against libxml. Formerly, the return value has been ignored, and parsing did never stop.

Zip

Building against the bundled libzip is discouraged, but still possible by adding --without-libzip to the configuration.

Zlib Compression

The zlib/level context option for the compress.zlib wrapper to facilitate setting the desired compression level has been added.


Windows Support

PHP Core

More POSIX Conforming File Deletion

File descriptors are opened in shared read/write/delete mode by default. This effectively maps the POSIX semantics and allows to delete files with handles in use. It is not 100% same, some platform differences still persist. After the deletion, the filename entry is blocked, until all the opened handles to it are closed.


Migrating from PHP 7.1.x to PHP 7.2.x

İçindekiler

  • New features
  • New functions
  • New global constants
  • Backward incompatible changes
  • Deprecated features in PHP 7.2.x
  • Other changes

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.0.x and 7.1.x.


New features

New object type

A new type, object, has been introduced that can be used for (contravariant) parameter typing and (covariant) return typing of any objects.

<?php

function test(object $obj) : object
{
return new SplQueue();
}

test(new stdClass());

Extension loading by name

Shared extensions no longer require their file extension (.so for Unix or .dll for Windows) to be specified. This is enabled in the php.ini file, as well as in the dl() function.

Abstract method overriding

Abstract methods can now be overridden when an abstract class extends another abstract class.

<?php

abstract class A
{
abstract function test(string $s);
}
abstract class B extends A
{
// overridden - still maintaining contravariance for parameters and covariance for return
abstract function test($s) : int;
}

Sodium is now a core extension

The modern Sodium cryptography library has now become a core extension in PHP.

For a complete function reference, see the Sodium chapter.

Password hashing with Argon2

Argon2 has been added to the password hashing API, where the following constants have been exposed:

  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST
  • PASSWORD_ARGON2_DEFAULT_TIME_COST
  • PASSWORD_ARGON2_DEFAULT_THREADS

Extended string types for PDO

PDO's string type has been extended to support the national character type when emulating prepares. This has been done with the following constants:

  • PDO::PARAM_STR_NATL
  • PDO::PARAM_STR_CHAR
  • PDO::ATTR_DEFAULT_STR_PARAM

These constants are utilised by bitwise OR'ing them with PDO::PARAM_STR:

<?php

$db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL);

Additional emulated prepares debugging information for PDO

The PDOStatement::debugDumpParams() method has been updated to include the SQL being sent to the DB, where the full, raw query (including the replaced placeholders with their bounded values) will be shown. This has been added to aid with debugging emulated prepares (and so it will only be available when emulated prepares are turned on).

Support for extended operations in LDAP

Support for EXOP has been added to the LDAP extension. This has been done by exposing the following functions and constants:

  • ldap_parse_exop()
  • ldap_exop()
  • ldap_exop_passwd()
  • ldap_exop_whoami()
  • LDAP_EXOP_START_TLS
  • LDAP_EXOP_MODIFY_PASSWD
  • LDAP_EXOP_REFRESH
  • LDAP_EXOP_WHO_AM_I
  • LDAP_EXOP_TURN

Address Information additions to the Sockets extension

The sockets extension now has the ability to lookup address information, as well as connect to it, bind to it, and explain it. The following four functions have been added for this:

  • socket_addrinfo_lookup()
  • socket_addrinfo_connect()
  • socket_addrinfo_bind()
  • socket_addrinfo_explain()

Parameter type widening

Parameter types from overridden methods and from interface implementations may now be omitted. This is still in compliance with LSP, since parameters types are contravariant.

<?php

interface A
{
public function Test(array $input);
}

class B implements A
{
public function Test($input){} // type omitted for $input
}

Allow a trailing comma for grouped namespaces

A trailing comma can now be added to the group-use syntax introduced in PHP 7.0.

<?php

use Foo\Bar\{
Foo,
Bar,
Baz,
};

proc_nice() support on Windows

The proc_nice() function is now supported on Windows.

pack() and unpack() endian support

The pack() and unpack() functions now support float and double in both little and big endian.

Enhancements to the EXIF extension

The EXIF extension has been updated to support a much larger range of formats. This means that their format specific tags are now properly translated when parsing images with the exif_read_data() function. The following new formats are now supported:

  • Samsung
  • DJI
  • Panasonic
  • Sony
  • Pentax
  • Minolta
  • Sigma/Foveon
  • AGFA
  • Kyocera
  • Ricoh
  • Epson

The EXIF functions exif_read_data() and exif_thumbnail() now support passing streams as their first argument.

New features in PCRE

  • The J modifier for setting PCRE_DUPNAMES has been added.

SQLite3 allows writing BLOBs

SQLite3::openBlob() now allows to open BLOB fields in write mode; formerly only read mode was supported.

Oracle OCI8 Transparent Application Failover Callbacks

Support for Oracle Database Transparent Application Failover (TAF) callbacks has been added. TAF allows PHP OCI8 applications to automatically reconnect to a preconfigured database when a connection is broken. The new TAF callback support allows PHP applications to monitor and control reconnection during failover.

Enhancements to the ZIP extension

Read and write support for encrypted archives has been added (requires libzip 1.2.0).

The ZipArchive class now implements the Countable interface.

The zip:// stream now accepts a 'password' context option.


New functions

PHP Core

  • stream_isatty()
  • sapi_windows_vt100_support()

SPL

  • spl_object_id()

DOM

  • DomNodeList::count()
  • DOMNamedNodeMap::count()

FTP

  • ftp_append()

GD

  • imagesetclip()
  • imagegetclip()
  • imageopenpolygon()
  • imageresolution()
  • imagecreatefrombmp()
  • imagebmp()

Hash

  • hash_hmac_algos()

LDAP

  • ldap_parse_exop()
  • ldap_exop()
  • ldap_exop_passwd()
  • ldap_exop_whoami()

Multibyte String

  • mb_chr()
  • mb_ord()
  • mb_scrub()

Oracle OCI8

  • oci_register_taf_callback()
  • oci_unregister_taf_callback()

Sockets

  • socket_addrinfo_lookup()
  • socket_addrinfo_connect()
  • socket_addrinfo_bind()
  • socket_addrinfo_explain()

Sodium

  • sodium_add()
  • sodium_bin2hex()
  • sodium_compare()
  • sodium_crypto_aead_aes256gcm_decrypt()
  • sodium_crypto_aead_aes256gcm_encrypt()
  • sodium_crypto_aead_aes256gcm_is_available()
  • sodium_crypto_aead_aes256gcm_keygen()
  • sodium_crypto_aead_chacha20poly1305_decrypt()
  • sodium_crypto_aead_chacha20poly1305_encrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_decrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_encrypt()
  • sodium_crypto_aead_chacha20poly1305_ietf_keygen()
  • sodium_crypto_aead_chacha20poly1305_keygen()
  • sodium_crypto_auth_keygen()
  • sodium_crypto_auth_verify()
  • sodium_crypto_auth()
  • sodium_crypto_box_keypair_from_secretkey_and_publickey()
  • sodium_crypto_box_keypair()
  • sodium_crypto_box_open()
  • sodium_crypto_box_publickey_from_secretkey()
  • sodium_crypto_box_publickey()
  • sodium_crypto_box_seal_open()
  • sodium_crypto_box_seal()
  • sodium_crypto_box_secretkey()
  • sodium_crypto_box_seed_keypair()
  • sodium_crypto_box()
  • sodium_crypto_generichash_final()
  • sodium_crypto_generichash_init()
  • sodium_crypto_generichash_keygen()
  • sodium_crypto_generichash_update()
  • sodium_crypto_generichash()
  • sodium_crypto_kdf_derive_from_key()
  • sodium_crypto_kdf_keygen()
  • sodium_crypto_kx_client_session_keys()
  • sodium_crypto_kx_keypair()
  • sodium_crypto_kx_publickey()
  • sodium_crypto_kx_secretkey()
  • sodium_crypto_kx_seed_keypair()
  • sodium_crypto_kx_server_session_keys()
  • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify()
  • sodium_crypto_pwhash_scryptsalsa208sha256_str()
  • sodium_crypto_pwhash_scryptsalsa208sha256()
  • sodium_crypto_pwhash_str_verify()
  • sodium_crypto_pwhash_str()
  • sodium_crypto_pwhash()
  • sodium_crypto_scalarmult_base()
  • sodium_crypto_scalarmult()
  • sodium_crypto_secretbox_keygen()
  • sodium_crypto_secretbox_open()
  • sodium_crypto_secretbox()
  • sodium_crypto_shorthash_keygen()
  • sodium_crypto_shorthash()
  • sodium_crypto_sign_detached()
  • sodium_crypto_sign_ed25519_pk_to_curve25519()
  • sodium_crypto_sign_ed25519_sk_to_curve25519()
  • sodium_crypto_sign_keypair_from_secretkey_and_publickey()
  • sodium_crypto_sign_keypair()
  • sodium_crypto_sign_open()
  • sodium_crypto_sign_publickey_from_secretkey()
  • sodium_crypto_sign_publickey()
  • sodium_crypto_sign_secretkey()
  • sodium_crypto_sign_seed_keypair()
  • sodium_crypto_sign_verify_detached()
  • sodium_crypto_sign()
  • sodium_crypto_stream_keygen()
  • sodium_crypto_stream_xor()
  • sodium_crypto_stream()
  • sodium_hex2bin()
  • sodium_increment()
  • sodium_memcmp()
  • sodium_memzero()
  • sodium_pad()
  • sodium_unpad()

ZIP

  • ZipArchive::count()
  • ZipArchive::setEncryptionName()
  • ZipArchive::setEncryptionIndex()


New global constants

PHP Core

  • PHP_FLOAT_DIG
  • PHP_FLOAT_EPSILON
  • PHP_FLOAT_MIN
  • PHP_FLOAT_MAX
  • PHP_OS_FAMILY

File Information

  • FILEINFO_EXTENSION

JSON

  • JSON_INVALID_UTF8_IGNORE
  • JSON_INVALID_UTF8_SUBSTITUTE

GD

  • IMG_EFFECT_MULTIPLY
  • IMG_BMP

LDAP

  • LDAP_EXOP_START_TLS
  • LDAP_EXOP_MODIFY_PASSWD
  • LDAP_EXOP_REFRESH
  • LDAP_EXOP_WHO_AM_I
  • LDAP_EXOP_TURN

Password Hashing

  • PASSWORD_ARGON2I
  • PASSWORD_ARGON2_DEFAULT_MEMORY_COST
  • PASSWORD_ARGON2_DEFAULT_TIME_COST
  • PASSWORD_ARGON2_DEFAULT_THREADS

PCRE

  • PREG_UNMATCHED_AS_NULL

PDO

  • PDO::PARAM_STR_NATL
  • PDO::PARAM_STR_CHAR
  • PDO::ATTR_DEFAULT_STR_PARAM

Sodium

  • SODIUM_LIBRARY_VERSION
  • SODIUM_LIBRARY_MAJOR_VERSION
  • SODIUM_LIBRARY_MINOR_VERSION
  • SODIUM_CRYPTO_AEAD_AES256GCM_KEYBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_NSECBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_AES256GCM_ABYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_KEYBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NSECBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_ABYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_KEYBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NSECBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_NPUBBYTES
  • SODIUM_CRYPTO_AEAD_CHACHA20POLY1305_IETF_ABYTES
  • SODIUM_CRYPTO_AUTH_BYTES
  • SODIUM_CRYPTO_AUTH_KEYBYTES
  • SODIUM_CRYPTO_BOX_SEALBYTES
  • SODIUM_CRYPTO_BOX_SECRETKEYBYTES
  • SODIUM_CRYPTO_BOX_PUBLICKEYBYTES
  • SODIUM_CRYPTO_BOX_KEYPAIRBYTES
  • SODIUM_CRYPTO_BOX_MACBYTES
  • SODIUM_CRYPTO_BOX_NONCEBYTES
  • SODIUM_CRYPTO_BOX_SEEDBYTES
  • SODIUM_CRYPTO_KDF_BYTES_MIN
  • SODIUM_CRYPTO_KDF_BYTES_MAX
  • SODIUM_CRYPTO_KDF_CONTEXTBYTES
  • SODIUM_CRYPTO_KDF_KEYBYTES
  • SODIUM_CRYPTO_KX_SEEDBYTES
  • SODIUM_CRYPTO_KX_SESSIONKEYBYTES
  • SODIUM_CRYPTO_KX_PUBLICKEYBYTES
  • SODIUM_CRYPTO_KX_SECRETKEYBYTES
  • SODIUM_CRYPTO_KX_KEYPAIRBYTES
  • SODIUM_CRYPTO_GENERICHASH_BYTES
  • SODIUM_CRYPTO_GENERICHASH_BYTES_MIN
  • SODIUM_CRYPTO_GENERICHASH_BYTES_MAX
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MIN
  • SODIUM_CRYPTO_GENERICHASH_KEYBYTES_MAX
  • SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13
  • SODIUM_CRYPTO_PWHASH_ALG_DEFAULT
  • SODIUM_CRYPTO_PWHASH_SALTBYTES
  • SODIUM_CRYPTO_PWHASH_STRPREFIX
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE
  • SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_STRPREFIX
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE
  • SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE
  • SODIUM_CRYPTO_SCALARMULT_BYTES
  • SODIUM_CRYPTO_SCALARMULT_SCALARBYTES
  • SODIUM_CRYPTO_SHORTHASH_BYTES
  • SODIUM_CRYPTO_SHORTHASH_KEYBYTES
  • SODIUM_CRYPTO_SECRETBOX_KEYBYTES
  • SODIUM_CRYPTO_SECRETBOX_MACBYTES
  • SODIUM_CRYPTO_SECRETBOX_NONCEBYTES
  • SODIUM_CRYPTO_SIGN_BYTES
  • SODIUM_CRYPTO_SIGN_SEEDBYTES
  • SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES
  • SODIUM_CRYPTO_SIGN_SECRETKEYBYTES
  • SODIUM_CRYPTO_SIGN_KEYPAIRBYTES
  • SODIUM_CRYPTO_STREAM_NONCEBYTES
  • SODIUM_CRYPTO_STREAM_KEYBYTES

Zip

  • ZipArchive::EM_NONE
  • ZipArchive::EM_AES_128
  • ZipArchive::EM_AES_192
  • ZipArchive::EM_AES_256


Backward incompatible changes

Prevent number_format() from returning negative zero

Previously, it was possible for the number_format() function to return -0. Whilst this is perfectly valid according to the IEEE 754 floating point specification, this oddity was not desirable for displaying formatted numbers in a human-readable form.

<?php

var_dump(number_format(-0.01)); // now outputs string(1) "0" instead of string(2) "-0"

Convert numeric keys in object and array casts

Numeric keys are now better handled when casting arrays to objects and objects to arrays (either from explicit casting or by settype()).

This means that integer (or stringy integer) keys from arrays being casted to objects are now accessible:

<?php

// array to object
$arr = [0 => 1];
$obj = (object)$arr;
var_dump(
$obj,
$obj->{'0'}, // now accessible
$obj->{0} // now accessible
);

Yukarıdaki örneğin çıktısı:

object(stdClass)#1 (1) {
  ["0"]=>    // string key now, rather than integer key
  int(1)
}
int(1)
int(1)

And integer (or stringy integer) keys from objects being casted to arrays are now accessible:

<?php

// object to array
$obj = new class {
public function __construct()
{
$this->{0} = 1;
}
};
$arr = (array)$obj;
var_dump(
$arr,
$arr[0], // now accessible
$arr['0'] // now accessible
);

Yukarıdaki örneğin çıktısı:

array(1) {
  [0]=>    // integer key now, rather than string key
  int(1)
}
int(1)
int(1)

Disallow passing null to get_class()

Previously, passing null to the get_class() function would output the name of the enclosing class. This behaviour has now been removed, where an E_WARNING will be output instead. To achieve the same behaviour as before, the argument should simply be omitted.

Warn when counting non-countable types

An E_WARNING will now be emitted when attempting to count() non-countable types (this includes the sizeof() alias function).

<?php

var_dump(
count(null), // NULL is not countable
count(1), // integers are not countable
count('abc'), // strings are not countable
count(new stdClass), // objects not implementing the Countable interface are not countable
count([1,2]) // arrays are countable
);

Yukarıdaki örneğin çıktısı:

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d

Warning: count(): Parameter must be an array or an object that implements Countable in %s on line %d
int(0)
int(1)
int(1)
int(1)
int(2)

Move ext/hash from resources to objects

As part of the long-term migration away from resources, the Hash extension has been updated to use objects instead of resources. The change should be seamless for PHP developers, except for where is_resource() checks have been made (which will need updating to is_object() instead).

Improve SSL/TLS defaults

The following changes to the defaults have been made:

  • tls:// now defaults to TLSv1.0 or TLSv1.1 or TLSv1.2
  • ssl:// an alias of tls://
  • STREAM_CRYPTO_METHOD_TLS_* constants default to TLSv1.0 or TLSv1.1 + TLSv1.2, instead of TLSv1.0 only

gettype() return value on closed resources

Previously, using gettype() on a closed resource would return a string of "unknown type". Now, a string of "resource (closed)" will be returned.

is_object() and __PHP_Incomplete_Class

Previously, using is_object() on the __PHP_Incomplete_Class class would return false. Now, true will be returned.

Promote the error level of undefined constants

Unqualified references to undefined constants will now generate an E_WARNING (instead of an E_NOTICE). In the next major version of PHP, they will generate Error exceptions.

Windows support

The officially supported, minimum Windows versions are now Windows 7/Server 2008 R2.

Checks on default property values of traits

Compatibility checks upon default trait property values will no longer perform casting.

object for class names

The object name was previously soft-reserved in PHP 7.0. This is now hard-reserved, prohibiting it from being used as a class, trait, or interface name.

NetWare support

Support for NetWare has now been removed.

array_unique() with SORT_STRING

While array_unique() with SORT_STRING formerly copied the array and removed non-unique elements (without packing the array afterwards), now a new array is built by adding the unique elements. This can result in different numeric indexes.

bcmod() changes with floats

The bcmod() function no longer truncates fractional numbers to integers. As such, its behavior now follows fmod(), rather than the % operator. For example bcmod('4', '3.5') now returns 0.5 instead of 1.

Hashing functions and non-cryptographic hashes

The hash_hmac(), hash_hmac_file(), hash_pbkdf2(), and hash_init() (with HASH_HMAC) functions no longer accept non-cryptographic hashes.

json_decode() function options

The json_decode() function option, JSON_OBJECT_AS_ARRAY, is now used if the second parameter (assoc) is null. Previously, JSON_OBJECT_AS_ARRAY was always ignored.

rand() and mt_rand() output

Sequences generated by rand() and mt_rand() for a specific seed may differ from PHP 7.1 on 64-bit machines (due to the fixing of a modulo bias bug in the implementation).

Removal of sql.safe_mode ini setting

The sql.safe_mode ini setting has now been removed.

Changes to date_parse() and date_parse_from_format()

The zone element of the array returned by date_parse() and date_parse_from_format() represents seconds instead of minutes now, and its sign is inverted. For instance -120 is now 7200.

Incoming Cookies

As of PHP 7.2.34, the names of incoming cookies are no longer url-decoded for security reasons.


Deprecated features in PHP 7.2.x

Unquoted strings

Unquoted strings that are non-existent global constants are taken to be strings of themselves. This behaviour used to emit an E_NOTICE, but will now emit an E_WARNING. In the next major version of PHP, an Error exception will be thrown instead.

<?php

var_dump(NONEXISTENT);

/* Output:
Warning: Use of undefined constant NONEXISTENT - assumed 'NONEXISTENT' (this will throw an Error in a future version of PHP) in %s on line %d
string(11) "NONEXISTENT"
*/

png2wbmp() and jpeg2wbmp()

The png2wbmp() and jpeg2wbmp() functions from the GD extension have now been deprecated and will be removed in the next major version of PHP.

INTL_IDNA_VARIANT_2003 variant

The Intl extension has deprecated the INTL_IDNA_VARIANT_2003 variant, which is currently being used as the default for idn_to_ascii() and idn_to_utf8(). PHP 7.4 will see these defaults changed to INTL_IDNA_VARIANT_UTS46, and the next major version of PHP will remove INTL_IDNA_VARIANT_2003 altogether.

__autoload() method

The __autoload() method has been deprecated because it is inferior to spl_autoload_register() (due to it not being able to chain autoloaders), and there is no interoperability between the two autoloading styles.

track_errors ini setting and $php_errormsg variable

When the track_errors ini setting is enabled, a $php_errormsg variable is created in the local scope when a non-fatal error occurs. Given that the preferred way of retrieving such error information is by using error_get_last(), this feature has been deprecated.

create_function() function

Given the security issues of this function (being a thin wrapper around eval()), this dated function has now been deprecated. The preferred alternative is to use anonymous functions.

mbstring.func_overload ini setting

Given the interoperability problems of string-based functions being used in environments with this setting enabled, it has now been deprecated.

(unset) cast

Casting any expression to this type will always result in null, and so this superfluous casting type has now been deprecated.

parse_str() without a second argument

Without the second argument to parse_str(), the query string parameters would populate the local symbol table. Given the security implications of this, using parse_str() without a second argument has now been deprecated. The function should always be used with two arguments, as the second argument causes the query string to be parsed into an array.

gmp_random() function

This function generates a random number based upon a range that is calculated by an unexposed, platform-specific limb size. Because of this, the function has now been deprecated. The preferred way of generating a random number using the GMP extension is by gmp_random_bits() and gmp_random_range().

each() function

This function is far slower at iteration than a normal foreach, and causes implementation issues for some language changes. It has therefore been deprecated.

assert() with a string argument

Using assert() with a string argument required the string to be eval()'ed. Given the potential for remote code execution, using assert() with a string argument has now been deprecated in favour of using boolean expressions.

$errcontext argument of error handlers

The $errcontext argument contains all local variables of the error site. Given its rare usage, and the problems it causes with internal optimisations, it has now been deprecated. Instead, a debugger should be used to retrieve information on local variables at the error site.

read_exif_data() function

The read_exif_data() alias has been deprecated. The exif_read_data() function should be used instead.


Other changes

Moving of utf8_encode() and utf8_decode()

The utf8_encode() and utf8_decode() functions have now been moved to the standard extension as string functions, whereas before the XML extension was required for them to be available.

Changes to mail() and mb_send_mail()

The $additional_headers parameter of mail() and mb_send_mail() now also accepts an array instead of a string.

LMDB support

The DBA extension now has support for LMDB.

Changes to the PHP build system

  • Unix: Autoconf 2.64 or greater is now required to build PHP.
  • Unix: --with-pdo-oci configure argument no longer needs the version number of the Oracle Instant Client.
  • Unix: --enable-gd-native-ttf configure argument has been removed. This was not used since PHP 5.5.0.
  • Windows: --with-config-profile configure argument has been added. This can be used to save specific configures, much like the magical config.nice.bat file.

Changes to GD

  • imageantialias() is now also available if compiled with a system libgd.
  • imagegd() stores truecolor images as real truecolor images. Formerly, they have been converted to palette.

Moving MCrypt to PECL

The MCrypt extension has now been moved out of the core to PECL. Given the mcrypt library has not seen any updates since 2007, its usage is highly discouraged. Instead, either the OpenSSL or Sodium extension should be used.

session_module_name()

Passing "user" to session_module_name() now raises an error of level E_RECOVERABLE_ERROR. Formerly, this has been silently ignored.


Migrating from PHP 7.0.x to PHP 7.1.x

İçindekiler

  • New features
  • New functions
  • New global constants
  • Backward incompatible changes
  • Deprecated features in PHP 7.1.x
  • Changed functions
  • Other changes
  • Windows Support

This new minor version brings with it a number of new features and a few incompatibilities that should be tested for before switching PHP versions in production environments.

Ayrıca, şu PHP sürümleri arasında geçiş kılavuzlarına da bakınız: 7.0.x.


New features

Nullable types

Type declarations for parameters and return values can now be marked as nullable by prefixing the type name with a question mark. This signifies that as well as the specified type, null can be passed as an argument, or returned as a value, respectively.

<?php

function testReturn(): ?string
{
return 'elePHPant';
}

var_dump(testReturn());

function testReturn(): ?string
{
return null;
}

var_dump(testReturn());

function test(?string $name)
{
var_dump($name);
}

test('elePHPant');
test(null);
test();

Yukarıdaki örneğin çıktısı:

string(10) "elePHPant"
NULL
string(10) "elePHPant"
NULL
Uncaught Error: Too few arguments to function test(), 0 passed in...

Void functions

A void return type has been introduced. Functions declared with void as their return type must either omit their return statement altogether, or use an empty return statement. null is not a valid return value for a void function.

<?php
function swap(&$left, &$right): void
{
if ($left === $right) {
return;
}

$tmp = $left;
$left = $right;
$right = $tmp;
}

$a = 1;
$b = 2;
var_dump(swap($a, $b), $a, $b);

Yukarıdaki örneğin çıktısı:

null
int(2)
int(1)

Attempting to use a void function's return value simply evaluates to null, with no warnings emitted. The reason for this is because warnings would implicate the use of generic higher order functions.

Symmetric array destructuring

The shorthand array syntax ([]) may now be used to destructure arrays for assignments (including within foreach), as an alternative to the existing list() syntax, which is still supported.

<?php
$data = [
[1, 'Tom'],
[2, 'Fred'],
];

// list() style
list($id1, $name1) = $data[0];

// [] style
[$id1, $name1] = $data[0];

// list() style
foreach ($data as list($id, $name)) {
// logic here with $id and $name
}

// [] style
foreach ($data as [$id, $name]) {
// logic here with $id and $name
}

Class constant visibility

Support for specifying the visibility of class constants has been added.

<?php
class ConstDemo
{
const PUBLIC_CONST_A = 1;
public const PUBLIC_CONST_B = 2;
protected const PROTECTED_CONST = 3;
private const PRIVATE_CONST = 4;
}

iterable pseudo-type

A new pseudo-type (similar to callable) called iterable has been introduced. It may be used in parameter and return types, where it accepts either arrays or objects that implement the Traversable interface. With respect to subtyping, parameter types of child classes may broaden a parent's declaration of array or Traversable to iterable. With return types, child classes may narrow a parent's return type of iterable to array or an object that implements Traversable.

<?php
function iterator(iterable $iter)
{
foreach ($iter as $val) {
//
}
}

Multi catch exception handling

Multiple exceptions per catch block may now be specified using the pipe character (|). This is useful for when different exceptions from different class hierarchies are handled the same.

<?php
try {
// some code
} catch (FirstException | SecondException $e) {
// handle first and second exceptions
}

Support for keys in list()

You can now specify keys in list(), or its new shorthand [] syntax. This enables destructuring of arrays with non-integer or non-sequential keys.

<?php
$data = [
["id" => 1, "name" => 'Tom'],
["id" => 2, "name" => 'Fred'],
];

// list() style
list("id" => $id1, "name" => $name1) = $data[0];

// [] style
["id" => $id1, "name" => $name1] = $data[0];

// list() style
foreach ($data as list("id" => $id, "name" => $name)) {
// logic here with $id and $name
}

// [] style
foreach ($data as ["id" => $id, "name" => $name]) {
// logic here with $id and $name
}

Support for negative string offsets

Support for negative string offsets has been added to the string manipulation functions accepting offsets, as well as to string indexing with [] or {}. In such cases, a negative offset is interpreted as being an offset from the end of the string.

<?php
var_dump("abcdef"[-2]);
var_dump(strpos("aabbcc", "b", -3));

Yukarıdaki örneğin çıktısı:

string (1) "e"
int(3)

Negative string and array offsets are now also supported in the simple variable parsing syntax inside of strings.

<?php
$string = 'bar';
echo "The last character of '$string' is '$string[-1]'.\n";
?>

Yukarıdaki örneğin çıktısı:

The last character of 'bar' is 'r'.

Support for AEAD in ext/openssl

Support for AEAD (modes GCM and CCM) have been added by extending the openssl_encrypt() and openssl_decrypt() functions with additional parameters.

Convert callables to Closures with Closure::fromCallable()

A new static method has been introduced to the Closure class to allow for callables to be easily converted into Closure objects.

<?php
class Test
{
public function exposeFunction()
{
return Closure::fromCallable([$this, 'privateFunction']);
}

private function privateFunction($param)
{
var_dump($param);
}
}

$privFunc = (new Test)->exposeFunction();
$privFunc('some value');

Yukarıdaki örneğin çıktısı:

string(10) "some value"

Asynchronous signal handling

A new function called pcntl_async_signals() has been introduced to enable asynchronous signal handling without using ticks (which introduce a lot of overhead).

<?php
pcntl_async_signals(true); // turn on async signals

pcntl_signal(SIGHUP, function($sig) {
echo "SIGHUP\n";
});

posix_kill(posix_getpid(), SIGHUP);

Yukarıdaki örneğin çıktısı:

SIGHUP

HTTP/2 server push support in ext/curl

Support for server push has been added to the CURL extension (requires version 7.46 and above). This can be leveraged through the curl_multi_setopt() function with the new CURLMOPT_PUSHFUNCTION constant. The constants CURL_PUSH_OK and CURL_PUSH_DENY have also been added so that the execution of the server push callback can either be approved or denied.

Stream Context Options

The tcp_nodelay stream context option has been added.


New functions

PHP Core

  • sapi_windows_cp_get()
  • sapi_windows_cp_set()
  • sapi_windows_cp_conv()
  • sapi_windows_cp_is_utf8()

Closure

  • Closure::fromCallable()

CURL

  • curl_multi_errno()
  • curl_share_errno()
  • curl_share_strerror()

OpenSSL

  • openssl_get_curve_names()

Session

  • session_create_id()
  • session_gc()

SPL

  • is_iterable()

PCNTL

  • pcntl_async_signals()
  • pcntl_signal_get_handler()


New global constants

Core Predefined Constants

  • PHP_FD_SETSIZE

CURL

  • CURLMOPT_PUSHFUNCTION
  • CURL_PUSH_OK
  • CURL_PUSH_DENY

Data Filtering

  • FILTER_FLAG_EMAIL_UNICODE

Image Processing and GD

  • IMAGETYPE_WEBP

JSON

  • JSON_UNESCAPED_LINE_TERMINATORS

LDAP

  • LDAP_OPT_X_SASL_NOCANON
  • LDAP_OPT_X_SASL_USERNAME
  • LDAP_OPT_X_TLS_CACERTDIR
  • LDAP_OPT_X_TLS_CACERTFILE
  • LDAP_OPT_X_TLS_CERTFILE
  • LDAP_OPT_X_TLS_CIPHER_SUITE
  • LDAP_OPT_X_TLS_KEYFILE
  • LDAP_OPT_X_TLS_RANDOM_FILE
  • LDAP_OPT_X_TLS_CRLCHECK
  • LDAP_OPT_X_TLS_CRL_NONE
  • LDAP_OPT_X_TLS_CRL_PEER
  • LDAP_OPT_X_TLS_CRL_ALL
  • LDAP_OPT_X_TLS_DHFILE
  • LDAP_OPT_X_TLS_CRLFILE
  • LDAP_OPT_X_TLS_PROTOCOL_MIN
  • LDAP_OPT_X_TLS_PROTOCOL_SSL2
  • LDAP_OPT_X_TLS_PROTOCOL_SSL3
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_0
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_1
  • LDAP_OPT_X_TLS_PROTOCOL_TLS1_2
  • LDAP_OPT_X_TLS_PACKAGE
  • LDAP_OPT_X_KEEPALIVE_IDLE
  • LDAP_OPT_X_KEEPALIVE_PROBES
  • LDAP_OPT_X_KEEPALIVE_INTERVAL

PostgreSQL

  • PGSQL_NOTICE_LAST
  • PGSQL_NOTICE_ALL
  • PGSQL_NOTICE_CLEAR

SPL

  • MT_RAND_PHP


Backward incompatible changes

Throw on passing too few function arguments

Previously, a warning would be emitted for invoking user-defined functions with too few arguments. Now, this warning has been promoted to an Error exception. This change only applies to user-defined functions, not internal functions. For example:

<?php
function test($param){}
test();

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Fatal error: Uncaught ArgumentCountError: Too few arguments to function test(), 0 passed in %s on line %d and exactly 1 expected in %s:%d

Forbid dynamic calls to scope introspection functions

Dynamic calls for certain functions have been forbidden (in the form of $func() or array_map('extract', ...), etc). These functions either inspect or modify another scope, and present with them ambiguous and unreliable behavior. The functions are as follows:

  • assert() - with a string as the first argument
  • compact()
  • extract()
  • func_get_args()
  • func_get_arg()
  • func_num_args()
  • get_defined_vars()
  • mb_parse_str() - with one arg
  • parse_str() - with one arg
<?php
(function () {
$func = 'func_num_args';
$func();
})();

Yukarıdaki örneğin çıktısı:

Warning: Cannot call func_num_args() dynamically in %s on line %d

Invalid class, interface, and trait names

The following names cannot be used to name classes, interfaces, or traits:

  • void
  • iterable

Numerical string conversions now respect scientific notation

Integer operations and conversions on numerical strings now respect scientific notation. This also includes the (int) cast operation, and the following functions: intval() (where the base is 10), settype(), decbin(), decoct(), and dechex().

Fixes to mt_rand() algorithm

mt_rand() will now default to using the fixed version of the Mersenne Twister algorithm. If deterministic output from mt_rand() was relied upon, then MT_RAND_PHP can be used as optional second parameter to mt_srand() to preserve the old (incorrect) implementation.

rand() aliased to mt_rand() and srand() aliased to mt_srand()

rand() and srand() have now been made aliases to mt_rand() and mt_srand(), respectively. This means that the output for the following functions have changed: rand(), shuffle(), str_shuffle(), and array_rand().

Disallow the ASCII delete control character in identifiers

The ASCII delete control character (0x7F) can no longer be used in identifiers that are not quoted.

error_log changes with syslog value

If the error_log ini setting is set to syslog, the PHP error levels are mapped to the syslog error levels. This brings finer differentiation in the error logs in contrary to the previous approach where all the errors are logged with the notice level only.

Do not call destructors on incomplete objects

Destructors are now never called for objects that throw an exception during the execution of their constructor. In previous versions this behavior depended on whether the object was referenced outside the constructor (e.g. by an exception backtrace).

call_user_func() handling of reference arguments

call_user_func() will now always generate a warning upon calls to functions that expect references as arguments. Previously this depended on whether the call was fully qualified.

Additionally, call_user_func() and call_user_func_array() will no longer abort the function call in this case. The "expected reference" warning will be emitted, but the call will proceed as usual.

The empty index operator is not supported for strings anymore

Applying the empty index operator to a string (e.g. $str[] = $x) throws a fatal error instead of converting silently to array.

Assignment via string index access on an empty string

String modification by character on an empty string now works like for non-empty strings, i.e. writing to an out of range offset pads the string with spaces, where non-integer types are converted to integer, and only the first character of the assigned string is used. Formerly, empty strings where silently treated like an empty array.

<?php
$a = '';
$a[10] = 'foo';
var_dump($a);
?>

Yukarıdaki örneğin PHP 7.0 çıktısı:

array(1) {
  [10]=>
  string(3) "foo"
}

Yukarıdaki örneğin PHP 7.1 çıktısı:

string(11) "          f"

Removed ini directives

The following ini directives have been removed:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

Array ordering when elements are automatically created during by reference assignments has changed

The order of the elements in an array has changed when those elements have been automatically created by referencing them in a by reference assignment. For example:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

Yukarıdaki örneğin PHP 7.0 çıktısı:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

Yukarıdaki örneğin PHP 7.1 çıktısı:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

Sort order of equal elements

The internal sorting algorithm has been improved, what may result in different sort order of elements, which compare as equal, than before.

Bilginize:

Don't rely on the order of elements which compare as equal; it might change anytime.

Error message for E_RECOVERABLE errors

The error message for E_RECOVERABLE errors has been changed from "Catchable fatal error" to "Recoverable fatal error".

$options parameter of unserialize()

The allowed_classes element of the $options parameter of unserialize() is now strictly typed, i.e. if anything other than an array or a bool is given, unserialize() returns false and issues an E_WARNING.

DateTime constructor incorporates microseconds

DateTime and DateTimeImmutable now properly incorporate microseconds when constructed from the current time, either explicitly or with a relative string (e.g. "first day of next month"). This means that naive comparisons of two newly created instances will now more likely return false instead of true:

<?php
new DateTime() == new DateTime();
?>

Fatal errors to Error exceptions conversions

In the Date extension, invalid serialization data for DateTime or DatePeriod classes, or timezone initialization failure from serialized data, will now throw an Error exception from the __wakeup() or __set_state() methods, instead of resulting in a fatal error.

In the DBA extension, data modification functions (such as dba_insert()) will now throw an Error exception instead of triggering a catchable fatal error if the key does not contain exactly two elements.

In the DOM extension, invalid schema or RelaxNG validation contexts will now throw an Error exception instead of resulting in a fatal error. Similarly, attempting to register a node class that does not extend the appropriate base class, or attempting to read an invalid property or write to a readonly property, will also now throw an Error exception.

In the IMAP extension, email addresses longer than 16385 bytes will throw an Error exception instead of resulting in a fatal error.

In the Intl extension, failing to call the parent constructor in a class extending Collator before invoking the parent methods will now throw an Error instead of resulting in a recoverable fatal error. Also, cloning a Transliterator object will now throw an Error exception on failure to clone the internal transliterator instead of resulting in a fatal error.

In the LDAP extension, providing an unknown modification type to ldap_batch_modify() will now throw an Error exception instead of resulting in a fatal error.

In the mbstring extension, the mb_ereg() and mb_eregi() functions will now throw a ParseError exception if an invalid PHP expression is provided and the 'e' option is used.

In the Mcrypt extension, the mcrypt_encrypt() and mcrypt_decrypt() will now throw an Error exception instead of resulting in a fatal error if mcrypt cannot be initialized.

In the mysqli extension, attempting to read an invalid property or write to a readonly property will now throw an Error exception instead of resulting in a fatal error.

In the Reflection extension, failing to retrieve a reflection object or retrieve an object property will now throw an Error exception instead of resulting in a fatal error.

In the Session extension, custom session handlers that do not return strings for session IDs will now throw an Error exception instead of resulting in a fatal error when a function is called that must generate a session ID.

In the SimpleXML extension, creating an unnamed or duplicate attribute will now throw an Error exception instead of resulting in a fatal error.

In the SPL extension, attempting to clone an SplDirectory object will now throw an Error exception instead of resulting in a fatal error. Similarly, calling ArrayIterator::append() when iterating over an object will also now throw an Error exception.

In the standard extension, the assert() function, when provided with a string argument as its first parameter, will now throw a ParseError exception instead of resulting in a catchable fatal error if the PHP code is invalid. Similarly, calling forward_static_call() outside of a class scope will now throw an Error exception.

In the Tidy extension, creating a tidyNode manually will now throw an Error exception instead of resulting in a fatal error.

In the WDDX extension, a circular reference when serializing will now throw an Error exception instead of resulting in a fatal error.

In the XML-RPC extension, a circular reference when serializing will now throw an instance of Error exception instead of resulting in a fatal error.

In the Zip extension, the ZipArchive::addGlob() method will now throw an Error exception instead of resulting in a fatal error if glob support is not available.

Lexically bound variables cannot reuse names

Variables bound to a closure via the use construct cannot use the same name as any süper küreseller, $this, or any parameter. For example, all of these function definition will result in a fatal error:

<?php
$f = function () use ($_SERVER) {};
$f = function () use ($this) {};
$f = function ($param) use ($param) {};

long2ip() parameter type change

long2ip() now expects an int instead of a string.

JSON encoding and decoding

The serialize_precision ini setting now controls the serialization precision when encoding floats.

Decoding an empty key now results in an empty property name, rather than _empty_ as a property name.

<?php
var_dump(json_decode(json_encode(['' => 1])));

Yukarıdaki örnek şuna benzer bir çıktı üretir:

object(stdClass)#1 (1) {
  [""]=>
  int(1)
}

When supplying the JSON_UNESCAPED_UNICODE flag to json_encode(), the sequences U+2028 and U+2029 are now escaped.

Changes to mb_ereg() and mb_eregi() parameter semantics

The third parameter to the mb_ereg() and mb_eregi() functions (regs) will now be set to an empty array if nothing was matched. Formerly, the parameter would not have been modified.

Drop support for the sslv2 stream

The sslv2 stream has now been dropped in OpenSSL.

Forbid "return;" for typed returns already at compile-time

Return statements without argument in functions which declare a return type now trigger E_COMPILE_ERROR (unless the return type is declared as void), even if the return statement would never be reached.


Deprecated features in PHP 7.1.x

ext/mcrypt

The mcrypt extension has been abandonware for nearly a decade now, and was also fairly complex to use. It has therefore been deprecated in favour of OpenSSL, where it will be removed from the core and into PECL in PHP 7.2.

Eval option for mb_ereg_replace() and mb_eregi_replace()

The e pattern modifier has been deprecated for the mb_ereg_replace() and mb_eregi_replace() functions.


Changed functions

PHP Core

  • getopt() has an optional third parameter that exposes the index of the next element in the argument vector list to be processed. This is done via a by-ref parameter.
  • getenv() no longer requires its parameter. If the parameter is omitted, then the current environment variables will be returned as an associative array.
  • get_headers() now has an additional parameter to enable for the passing of custom stream contexts.
  • output_reset_rewrite_vars() no longer resets session URL rewrite variables.
  • parse_url() is now more restrictive and supports RFC3986.
  • unpack() now accepts an optional third parameter to specify the offset to begin unpacking from.

File System

  • file_get_contents() now accepts a negative seek offset if the stream is seekable.
  • tempnam() now emits a notice when falling back to the system's temp directory.

JSON

  • json_encode() now accepts a new option, JSON_UNESCAPED_LINE_TERMINATORS, to disable the escaping of U+2028 and U+2029 characters when JSON_UNESCAPED_UNICODE is supplied.

Multibyte String

  • mb_ereg() now rejects illegal byte sequences.
  • mb_ereg_replace() now rejects illegal byte sequences.

PDO

  • PDO::lastInsertId() for PostgreSQL will now trigger an error when nextval has not been called for the current session (the postgres connection).

PostgreSQL

  • pg_last_notice() now accepts an optional parameter to specify an operation. This can be done with one of the following new constants: PGSQL_NOTICE_LAST, PGSQL_NOTICE_ALL, or PGSQL_NOTICE_CLEAR.
  • pg_fetch_all() now accepts an optional second parameter to specify the result type (similar to the third parameter of pg_fetch_array()).
  • pg_select() now accepts an optional fourth parameter to specify the result type (similar to the third parameter of pg_fetch_array()).

Session

  • session_start() now returns false and no longer initializes $_SESSION when it failed to start the session.


Other changes

Notices and warnings on arithmetic with invalid strings

New E_WARNING and E_NOTICE errors have been introduced when invalid strings are coerced using operators expecting numbers (+ - * / ** % << >> | & ^) or their assignment equivalents. An E_NOTICE is emitted when the string begins with a numeric value but contains trailing non-numeric characters, and an E_WARNING is emitted when the string does not contain a numeric value.

<?php
'1b' + 'something';

Yukarıdaki örneğin çıktısı:

Notice: A non well formed numeric value encountered in %s on line %d
Warning: A non-numeric value encountered in %s on line %d

Warn on octal escape sequence overflow

Previously, 3-octet octal string escape sequences would overflow silently. Now, they will still overflow, but E_WARNING will be emitted.

<?php
var_dump("\500");

Yukarıdaki örneğin çıktısı:

Warning: Octal escape sequence overflow \500 is greater than \377 in %s on line %d
string(1) "@"

Inconsistency fixes to $this

Whilst $this is considered a special variable in PHP, it lacked proper checks to ensure it wasn't used as a variable name or reassigned. This has now been rectified to ensure that $this cannot be a user-defined variable, reassigned to a different value, or be globalised.

Session ID generation without hashing

Session IDs will no longer be hashed upon generation. With this change brings about the removal of the following four ini settings:

  • session.entropy_file
  • session.entropy_length
  • session.hash_function
  • session.hash_bits_per_character

And the addition of the following two ini settings:

  • session.sid_length - defines the length of the session ID, defaulting to 32 characters for backwards compatibility)
  • session.sid_bits_per_character - defines the number of bits to be stored per character (i.e. increases the range of characters that can be used in the session ID), defaulting to 4 for backwards compatibility

Changes to INI file handling

precision

If the value is set to -1, then the dtoa mode 0 is used. The default value is still 14.

serialize_precision

If the value is set to -1, then the dtoa mode 0 is used. The value -1 is now used by default.

gd.jpeg_ignore_warning

The default of this php.ini setting has been changed to 1, so by default libjpeg warnings are ignored.

opcache.enable_cli

The default of this php.ini setting has been changed to 1 (enabled) in PHP 7.1.2, and back to 0 (disabled) in PHP 7.1.7.

Session ID generation with a CSPRNG only

Session IDs will now only be generated with a CSPRNG.

More informative TypeError messages when null is allowed

TypeError exceptions for arg_info type checks will now provide more informative error messages. If the parameter type or return type accepts null (by either having a default value of null or being a nullable type), then the error message will now mention this with a message of "must be ... or null" or "must ... or be null."


Windows Support

Support for long and UTF-8 path

If a web application is UTF-8 conform, no further action is required. For applications depending on paths in non UTF-8 encodings for I/O, an explicit INI directive has to be set. The encoding INI settings check relies on the order in the core:

  • internal_encoding
  • default_charset
  • zend.multibyte

Several functions for codepage handling were introduced:

  • sapi_windows_cp_set() to set the default codepage
  • sapi_windows_cp_get() to retrieve the current codepage
  • sapi_windows_cp_is_utf8()
  • sapi_windows_cp_conv() to convert between codepages, using iconv() compatible signature

These functions are thread safe.

The console output codepage is adjusted depending on the encoding used in PHP. Depending on the concrete system OEM codepage, the visible output might or might be not correct. For example, in the default cmd.exe and on a system with the OEM codepage 437, outputs in codepages 1251, 1252, 1253 and some others can be shown correctly when using UTF-8. On the same system, chars in codepage like 20932 probably won't be shown correctly. This refers to the particular system rules for codepage, font compatibility and the particular console program used. PHP automatically sets the console codepage according to the encoding rules from php.ini. Using alternative consoles instead of cmd.exe directly might bring better experience in some cases.

Nevertheless be aware, runtime codepage switch after the request start might bring unexpected side effects on CLI. The preferable way is php.ini, When PHP CLI is used in a console emulator, that doesn't support Unicode, it might possibly be required, to avoid changing the console codepage. The best way to achieve it is by setting the default or internal encoding to correspond the ANSI codepage. Another method is to set the INI directives output_encoding and input_encoding to the required codepage, in which case however the difference between internal and I/O codepage is likely to cause mojibake. In rare cases, if PHP happens to crash gracefully, the original console codepage might be not restored. In this case, the chcp command can be used, to restore it manually.

Special awareness for the DBCS systems - the codepage switch on runtime using ini_set() is likely to cause display issues. The difference to the non DBCS systems is, that the extended characters require two console cells to be displayed. In certain case, only the mapping of the characters into the glyph set of the font could happen, no actual font change. This is the nature of DBCS systems, the most simple way to prevent display issues is to avoid usage of ini_set() for the codepage change.

As a result of UTF-8 support in the streams, PHP scripts are not limited to ASCII or ANSI filenames anymore. This is supported out of the box on CLI. For other SAPI, the documentation for the corresponding server is useful.

Long paths support is transparent. Paths longer than 260 bytes get automatically prefixed with \\?\. The max path length is limited to 2048 bytes. Be aware, that the path segment limit (basename length) still persists.

For the best portability, it is strongely recommended to handle filenames, I/O and other related topics UTF-8. Additionally, for the console applications, the usage of a TrueType font is preferable and the usage of ini_set() for the codepage change is discouraged.

readline

The readline extension is supported through the » WinEditLine library. Thereby, the interactive CLI shell is supported as well (php.exe -a).

PHP_FCGI_CHILDREN

PHP_FCGI_CHILDREN is now respected. If this environment variable is defined, the first php-cgi.exe process will exec the specified number of children. These will share the same TCP socket.

ftok()

Added support for ftok()


Migrating from PHP 5.6.x to PHP 7.0.x

İçindekiler

  • Backward incompatible changes
  • New features
  • Deprecated features in PHP 7.0.x
  • Changed functions
  • New functions
  • New Classes and Interfaces
  • New Global Constants
  • Changes in SAPI Modules
  • Removed Extensions and SAPIs
  • Other Changes

Despite the fact that PHP 7.0 is a new major version, efforts have been made to make migration as painless as possible. This release focuses mainly on removing functionality deprecated in previous versions and improving language consistency.

There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.


Backward incompatible changes

Changes to error and exception handling

Many fatal and recoverable fatal errors have been converted to exceptions in PHP 7. These error exceptions inherit from the Error class, which itself implements the Throwable interface (the new base interface all exceptions inherit).

This means that custom error handlers may no longer be triggered because exceptions may be thrown instead (causing new fatal errors for uncaught Error exceptions).

A fuller description of how errors operate in PHP 7 can be found on the PHP 7 errors page. This migration guide will merely enumerate the changes that affect backward compatibility.

set_exception_handler() is no longer guaranteed to receive Exception objects

Code that implements an exception handler registered with set_exception_handler() using a type declaration of Exception will cause a fatal error when an Error object is thrown.

If the handler needs to work on both PHP 5 and 7, you should remove the type declaration from the handler, while code that is being migrated to work on PHP 7 exclusively can simply replace the Exception type declaration with Throwable instead.

<?php
// PHP 5 era code that will break.
function handler(Exception $e) { ... }
set_exception_handler('handler');

// PHP 5 and 7 compatible.
function handler($e) { ... }

// PHP 7 only.
function handler(Throwable $e) { ... }
?>

Internal constructors always throw exceptions on failure

Previously, some internal classes would return null or an unusable object when the constructor failed. All internal classes will now throw an Exception in this case in the same way that user classes already had to.

Parse errors throw ParseError

Parser errors now throw a ParseError object. Error handling for eval() should now include a catch block that can handle this error.

E_STRICT notices severity changes

All of the E_STRICT notices have been reclassified to other levels. E_STRICT constant is retained, so calls like error_reporting(E_ALL|E_STRICT) will not cause an error.

E_STRICT notices severity changes
Situation | New level/behaviour
Indexing by a resource | E_NOTICE
Abstract static methods | Notice removed, triggers no error
"Redefining" a constructor | Notice removed, triggers no error
Signature mismatch during inheritance | E_WARNING
Same (compatible) property in two used traits | Notice removed, triggers no error
Accessing static property non-statically | E_NOTICE
Only variables should be assigned by reference | E_NOTICE
Only variables should be passed by reference | E_NOTICE
Calling non-static methods statically | E_DEPRECATED

Changes to variable handling

PHP 7 now uses an abstract syntax tree when parsing source files. This has permitted many improvements to the language which were previously impossible due to limitations in the parser used in earlier versions of PHP, but has resulted in the removal of a few special cases for consistency reasons, which has resulted in backward compatibility breaks. These cases are detailed in this section.

Changes to the handling of indirect variables, properties, and methods

Indirect access to variables, properties, and methods will now be evaluated strictly in left-to-right order, as opposed to the previous mix of special cases. The table below shows how the order of evaluation has changed.

Old and new evaluation of indirect expressions
Expression | PHP 5 interpretation | PHP 7 interpretation
$$foo['bar']['baz'] | ${$foo['bar']['baz']} | ($$foo)['bar']['baz']
$foo->$bar['baz'] | $foo->{$bar['baz']} | ($foo->$bar)['baz']
$foo->$bar['baz']() | $foo->{$bar['baz']}() | ($foo->$bar)['baz']()
Foo::$bar['baz']() | Foo::{$bar['baz']}() | (Foo::$bar)['baz']()

Code that used the old right-to-left evaluation order must be rewritten to explicitly use that evaluation order with curly braces (see the above middle column). This will make the code both forwards compatible with PHP 7.x and backwards compatible with PHP 5.x.

This also affects the global keyword. The curly brace syntax can be used to emulate the previous behaviour if required:

<?php
function f() {
// Valid in PHP 5 only.
global $$foo->bar;

// Valid in PHP 5 and 7.
global ${$foo->bar};
}
?>

Changes to list() handling

list() no longer assigns variables in reverse order

list() will now assign values to variables in the order they are defined, rather than reverse order. In general, this only affects the case where list() is being used in conjunction with the array [] operator, as shown below:

<?php
list($a[], $a[], $a[]) = [1, 2, 3];
var_dump($a);
?>

Yukarıdaki örneğin PHP 5 çıktısı:

array(3) {
  [0]=>
  int(3)
  [1]=>
  int(2)
  [2]=>
  int(1)
}

Yukarıdaki örneğin PHP 7 çıktısı:

array(3) {
  [0]=>
  int(1)
  [1]=>
  int(2)
  [2]=>
  int(3)
}

In general, it is recommended not to rely on the order in which list() assignments occur, as this is an implementation detail that may change again in the future.

Empty list() assignments have been removed

list() constructs can no longer be empty. The following are no longer allowed:

<?php
list() = $a;
list(,,) = $a;
list($x, list(), $y) = $a;
?>
list() cannot unpack strings

list() can no longer unpack string variables. str_split() should be used instead.

Array ordering when elements are automatically created during by reference assignments has changed

The order of the elements in an array has changed when those elements have been automatically created by referencing them in a by reference assignment. For example:

<?php
$array = [];
$array["a"] =& $array["b"];
$array["b"] = 1;
var_dump($array);
?>

Yukarıdaki örneğin PHP 5 çıktısı:

array(2) {
  ["b"]=>
  &int(1)
  ["a"]=>
  &int(1)
}

Yukarıdaki örneğin PHP 7 çıktısı:

array(2) {
  ["a"]=>
  &int(1)
  ["b"]=>
  &int(1)
}

Parentheses around function arguments no longer affect behaviour

In PHP 5, using redundant parentheses around a function argument could quiet strict standards warnings when the function argument was passed by reference. The warning will now always be issued.

<?php
function getArray() {
return [1, 2, 3];
}

function squareArray(array &$a) {
foreach ($a as &$v) {
$v **= 2;
}
}

// Generates a warning in PHP 7.
squareArray((getArray()));
?>

Yukarıdaki örneğin çıktısı:

Notice: Only variables should be passed by reference in /tmp/test.php on line 13

Changes to foreach

Minor changes have been made to the behaviour of the foreach control structure, primarily around the handling of the internal array pointer and modification of the array being iterated over.

foreach no longer changes the internal array pointer

Prior to PHP 7, the internal array pointer was modified while an array was being iterated over with foreach. This is no longer the case, as shown in the following example:

<?php
$array = [0, 1, 2];
foreach ($array as &$val) {
var_dump(current($array));
}
?>

Yukarıdaki örneğin PHP 5 çıktısı:

int(1)
int(2)
bool(false)

Yukarıdaki örneğin PHP 7 çıktısı:

int(0)
int(0)
int(0)

foreach by-value operates on a copy of the array

When used in the default by-value mode, foreach will now operate on a copy of the array being iterated rather than the array itself. This means that changes to the array made during iteration will not affect the values that are iterated.

foreach by-reference has improved iteration behaviour

When iterating by-reference, foreach will now do a better job of tracking changes to the array made during iteration. For example, appending to an array while iterating will now result in the appended values being iterated over as well:

<?php
$array = [0];
foreach ($array as &$val) {
var_dump($val);
$array[1] = 1;
}
?>

Yukarıdaki örneğin PHP 5 çıktısı:

int(0)

Yukarıdaki örneğin PHP 7 çıktısı:

int(0)
int(1)

Iteration of non-Traversable objects

Iterating over a non-Traversable object will now have the same behaviour as iterating over by-reference arrays. This results in the improved behaviour when modifying an array during iteration also being applied when properties are added to or removed from the object.

Changes to int handling

Invalid octal literals

Previously, octal literals that contained invalid numbers were silently truncated (0128 was taken as 012). Now, an invalid octal literal will cause a parse error.

Negative bitshifts

Bitwise shifts by negative numbers will now throw an ArithmeticError:

<?php
var_dump(1 >> -1);
?>

Yukarıdaki örneğin PHP 5 çıktısı:

int(0)

Yukarıdaki örneğin PHP 7 çıktısı:

Fatal error: Uncaught ArithmeticError: Bit shift by negative number in /tmp/test.php:2
Stack trace:
#0 {main}
  thrown in /tmp/test.php on line 2

Out of range bitshifts

Bitwise shifts (in either direction) beyond the bit width of an int will always result in 0. Previously, the behaviour of such shifts was architecture dependent.

Changes to Division By Zero

Previously, when 0 was used as the divisor for either the divide (/) or modulus (%) operators, an E_WARNING would be emitted and false would be returned. Now, the divide operator returns a float as either +INF, -INF, or NAN, as specified by IEEE 754. The modulus operator E_WARNING has been removed and will throw a DivisionByZeroError exception.

<?php
var_dump(3/0);
var_dump(0/0);
var_dump(0%0);
?>

Yukarıdaki örneğin PHP 5 çıktısı:

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

Warning: Division by zero in %s on line %d
bool(false)

Yukarıdaki örneğin PHP 7 çıktısı:

Warning: Division by zero in %s on line %d
float(INF)

Warning: Division by zero in %s on line %d
float(NAN)

PHP Fatal error:  Uncaught DivisionByZeroError: Modulo by zero in %s line %d

Changes to string handling

Hexadecimal strings are no longer considered numeric

Strings containing hexadecimal numbers are no longer considered to be numeric. For example:

<?php
var_dump("0x123" == "291");
var_dump(is_numeric("0x123"));
var_dump("0xe" + "0x1");
var_dump(substr("foo", "0x1"));
?>

Yukarıdaki örneğin PHP 5 çıktısı:

bool(true)
bool(true)
int(15)
string(2) "oo"

Yukarıdaki örneğin PHP 7 çıktısı:

bool(false)
bool(false)
int(0)

Notice: A non well formed numeric value encountered in /tmp/test.php on line 5
string(3) "foo"

filter_var() can be used to check if a string contains a hexadecimal number, and also to convert a string of that type to an int:

<?php
$str = "0xffff";
$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);
if (false === $int) {
throw new Exception("Invalid integer!");
}
var_dump($int); // int(65535)
?>

\u{ may cause errors

Due to the addition of the new Unicode codepoint escape syntax, strings containing a literal \u{ followed by an invalid sequence will cause a fatal error. To avoid this, the leading backslash should be escaped.

Removed functions

call_user_method() and call_user_method_array()

These functions were deprecated in PHP 4.1.0 in favour of call_user_func() and call_user_func_array(). You may also want to consider using variable functions and/or the ... operator.

All ereg* functions

All ereg functions were removed. PCRE is a recommended alternative.

mcrypt aliases

The deprecated mcrypt_generic_end() function has been removed in favour of mcrypt_generic_deinit().

Additionally, the deprecated mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() and mcrypt_ofb() functions have been removed in favour of using mcrypt_decrypt() with the appropriate MCRYPT_MODE_* constant.

All ext/mysql functions

All ext/mysql functions were removed. For details about choosing a different MySQL API, see Choosing a MySQL API.

All ext/mssql functions

All ext/mssql functions were removed.

  • PDO_SQLSRV
  • PDO_ODBC
  • SQLSRV
  • Unified ODBC API

intl aliases

The deprecated datefmt_set_timezone_id() and
IntlDateFormatter::setTimeZoneID() aliases have been
removed in favour of datefmt_set_timezone() and
IntlDateFormatter::setTimeZone(), respectively.

set_magic_quotes_runtime()

set_magic_quotes_runtime(), along with its alias magic_quotes_runtime(), have been removed. They were deprecated in PHP 5.3.0, and became effectively non-functional with the removal of magic quotes in PHP 5.4.0.

set_socket_blocking()

The deprecated set_socket_blocking() alias has been removed in favour of stream_set_blocking().

dl() in PHP-FPM

dl() can no longer be used in PHP-FPM. It remains functional in the CLI and embed SAPIs.

GD Type1 functions

Support for PostScript Type1 fonts has been removed from the GD extension, resulting in the removal of the following functions:

  • imagepsbbox()
  • imagepsencodefont()
  • imagepsextendfont()
  • imagepsfreefont()
  • imagepsloadfont()
  • imagepsslantfont()
  • imagepstext()

Using TrueType fonts and their associated functions is recommended instead.

Removed INI directives

Removed features

The following INI directives have been removed as their associated features have also been removed:

  • always_populate_raw_post_data
  • asp_tags

xsl.security_prefs

The xsl.security_prefs directive has been removed. Instead, the XsltProcessor::setSecurityPrefs() method should be called to control the security preferences on a per-processor basis.

Other backward incompatible changes

New objects cannot be assigned by reference

The result of the new statement can no longer be assigned to a variable by reference:

<?php
class C {}
$c =& new C;
?>

Yukarıdaki örneğin PHP 5 çıktısı:

Deprecated: Assigning the return value of new by reference is deprecated in /tmp/test.php on line 3

Yukarıdaki örneğin PHP 7 çıktısı:

Parse error: syntax error, unexpected 'new' (T_NEW) in /tmp/test.php on line 3

Invalid class, interface and trait names

The following names cannot be used to name classes, interfaces or traits:

  • bool
  • int
  • float
  • string
  • null
  • true
  • false

Furthermore, the following names should not be used. Although they will not generate an error in PHP 7.0, they are reserved for future use and should be considered deprecated.

  • resource
  • object
  • mixed
  • numeric

ASP and script PHP tags removed

Support for using ASP and script tags to delimit PHP code has been removed. The affected tags are:

Removed ASP and script tags
Opening tag | Closing tag
<% | %>
<%= | %>
<script language="php"> | </script>

Calls from incompatible context removed

Previously deprecated in PHP 5.6, static calls made to a non-static method with an incompatible context will now result in the called method having an undefined $this variable and a deprecation warning being issued.

<?php
class A {
public function test() { var_dump($this); }
}

// Note: Does NOT extend A
class B {
public function callNonStaticMethodOfA() { A::test(); }
}

(new B)->callNonStaticMethodOfA();
?>

Yukarıdaki örneğin PHP 5.6 çıktısı:

Deprecated: Non-static method A::test() should not be called statically, assuming $this from incompatible context in /tmp/test.php on line 8
object(B)#1 (0) {
}

Yukarıdaki örneğin PHP 7 çıktısı:

Deprecated: Non-static method A::test() should not be called statically in /tmp/test.php on line 8

Notice: Undefined variable: this in /tmp/test.php on line 3
NULL

yield is now a right associative operator

The yield construct no longer requires parentheses, and has been changed to a right associative operator with precedence between print and =>. This can result in changed behaviour:

<?php
echo yield -1;
// Was previously interpreted as
echo (yield) - 1;
// And is now interpreted as
echo yield (-1);

yield $foo or die;
// Was previously interpreted as
yield ($foo or die);
// And is now interpreted as
(yield $foo) or die;
?>

Parentheses can be used to disambiguate those cases.

Functions cannot have multiple parameters with the same name

It is no longer possible to define two or more function parameters with the same name. For example, the following function will trigger an E_COMPILE_ERROR:

<?php
function foo($a, $b, $unused, $unused) {
//
}
?>

Functions inspecting arguments report the current parameter value

func_get_arg(), func_get_args(), debug_backtrace() and exception backtraces will no longer report the original value that was passed to a parameter, but will instead provide the current value (which might have been modified).

<?php
function foo($x) {
$x++;
var_dump(func_get_arg(0));
}
foo(1);?>

Yukarıdaki örneğin PHP 5 çıktısı:

1

Yukarıdaki örneğin PHP 7 çıktısı:

2

Switch statements cannot have multiple default blocks

It is no longer possible to define two or more default blocks in a switch statement. For example, the following switch statement will trigger an E_COMPILE_ERROR:

<?php
switch (1) {
default:
break;
default:
break;
}
?>

$HTTP_RAW_POST_DATA removed

$HTTP_RAW_POST_DATA is no longer available. The php://input stream should be used instead.

# comments in INI files removed

Support for prefixing comments with # in INI files has been removed. ; (semi-colon) should be used instead. This change applies to php.ini, as well as files handled by parse_ini_file() and parse_ini_string().

JSON extension replaced with JSOND

The JSON extension has been replaced with JSOND, causing three minor BC breaks. Firstly, a number must not end in a decimal point (i.e. 34. must be changed to either 34.0 or 34). Secondly, when using scientific notation, the e exponent must not immediately follow a decimal point (i.e. 3.e3 must be changed to either 3.0e3 or 3e3). Finally, an empty string is no longer considered valid JSON.

Internal function failure on overflow

Previously, internal functions would silently truncate numbers produced from float-to-integer coercions when the float was too large to represent as an integer. Now, an E_WARNING will be emitted and null will be returned.

Fixes to custom session handler return values

Any predicate functions implemented by custom session handlers that return either false or -1 will be fatal errors. If any value from these functions other than a boolean, -1, or 0 is returned, then it will fail and an E_WARNING will be emitted.

Sort order of equal elements

The internal sorting algorithm has been improved, what may result in different sort order of elements, which compare as equal, than before.

Bilginize:

Don't rely on the order of elements which compare as equal; it might change anytime.

Misplaced break and continue statements

break and continue statements outside of a loop or switch control structure are now detected at compile-time instead of run-time as before, and trigger an E_COMPILE_ERROR.

Mhash is not an extension anymore

The Mhash extension has been fully integrated into the Hash extension. Therefore, it is no longer possible to detect Mhash support with extension_loaded(); use function_exists() instead. Furthermore, Mhash is no longer reported by get_loaded_extensions() and related features.

declare(ticks)

The declare(ticks) directive does no longer leak into different compilation units.


New features

Scalar type declarations

Scalar type declarations come in two flavours: coercive (default) and strict. The following types for parameters can now be enforced (either coercively or strictly): strings (string), integers (int), floating-point numbers (float), and booleans (bool). They augment the other types introduced in PHP 5: class names, interfaces, array and callable.

<?php
// Coercive mode
function sumOfInts(int ...$ints)
{
return array_sum($ints);
}

var_dump(sumOfInts(2, '3', 4.1));

Yukarıdaki örneğin çıktısı:

int(9)

To enable strict mode, a single declare directive must be placed at the top of the file. This means that the strictness of typing for scalars is configured on a per-file basis. This directive not only affects the type declarations of parameters, but also a function's return type (see return type declarations, built-in PHP functions, and functions from loaded extensions.

Full documentation and examples of scalar type declarations can be found in the type declaration reference.

Return type declarations

PHP 7 adds support for return type declarations. Similarly to argument type declarations, return type declarations specify the type of the value that will be returned from a function. The same types are available for return type declarations as are available for argument type declarations.

<?php

function arraysSum(array ...$arrays): array
{
return array_map(function(array $array): int {
return array_sum($array);
}, $arrays);
}

print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));

Yukarıdaki örneğin çıktısı:

Array
(
    [0] => 6
    [1] => 15
    [2] => 24
)

Full documentation and examples of return type declarations can be found in the return type declarations. reference.

Null coalescing operator

The null coalescing operator (??) has been added as syntactic sugar for the common case of needing to use a ternary in conjunction with isset(). It returns its first operand if it exists and is not null; otherwise it returns its second operand.

<?php
// Fetches the value of $_GET['user'] and returns 'nobody'
// if it does not exist.
$username = $_GET['user'] ?? 'nobody';
// This is equivalent to:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// Coalescing can be chained: this will return the first
// defined value out of $_GET['user'], $_POST['user'], and
// 'nobody'.
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';
?>

Spaceship operator

The spaceship operator is used for comparing two expressions. It returns -1, 0 or 1 when $a is respectively less than, equal to, or greater than $b. Comparisons are performed according to PHP's usual type comparison rules.

<?php
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1

// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1
?>

Constant arrays using define()

Array constants can now be defined with define(). In PHP 5.6, they could only be defined with const.

<?php
define('ANIMALS', [
'dog',
'cat',
'bird'
]);

echo ANIMALS[1]; // outputs "cat"
?>

Anonymous classes

Support for anonymous classes has been added via new class. These can be used in place of full class definitions for throwaway objects:

<?php
interface Logger {
public function log(string $msg);
}

class Application {
private $logger;

public function getLogger(): Logger {
return $this->logger;
}

public function setLogger(Logger $logger) {
$this->logger = $logger;
}
}

$app = new Application;
$app->setLogger(new class implements Logger {
public function log(string $msg) {
echo $msg;
}
});

var_dump($app->getLogger());
?>

Yukarıdaki örneğin çıktısı:

object(class@anonymous)#2 (0) {
}

Full documentation can be found in the anonymous class reference.

Unicode codepoint escape syntax

This takes a Unicode codepoint in hexadecimal form, and outputs that codepoint in UTF-8 to a double-quoted string or a heredoc. Any valid codepoint is accepted, with leading 0's being optional.

echo "\u{aa}";
echo "\u{0000aa}";
echo "\u{9999}";

Yukarıdaki örneğin çıktısı:

ª
ª (same as before but with optional leading 0's)
?

Closure::call()

Closure::call() is a more performant, shorthand way of temporarily binding an object scope to a closure and invoking it.

<?php
class A {private $x = 1;}

// Pre PHP 7 code
$getX = function() {return $this->x;};
$getXCB = $getX->bindTo(new A, 'A'); // intermediate closure
echo $getXCB();

// PHP 7+ code
$getX = function() {return $this->x;};
echo $getX->call(new A);

Yukarıdaki örneğin çıktısı:

1
1

Filtered unserialize()

This feature seeks to provide better security when unserializing objects on untrusted data. It prevents possible code injections by enabling the developer to whitelist classes that can be unserialized.

<?php

// converts all objects into __PHP_Incomplete_Class object
$data = unserialize($foo, ["allowed_classes" => false]);

// converts all objects into __PHP_Incomplete_Class object except those of MyClass and MyClass2
$data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]]);

// default behaviour (same as omitting the second argument) that accepts all classes
$data = unserialize($foo, ["allowed_classes" => true]);

IntlChar

The new IntlChar class seeks to expose additional ICU functionality. The class itself defines a number of static methods and constants that can be used to manipulate unicode characters.

<?php

printf('%x', IntlChar::CODEPOINT_MAX);
echo IntlChar::charName('@');
var_dump(IntlChar::ispunct('!'));

Yukarıdaki örneğin çıktısı:

10ffff
COMMERCIAL AT
bool(true)

In order to use this class, the Intl extension must be installed.

Expectations

Expectations are a backwards compatible enhancement to the older assert() function. They allow for zero-cost assertions in production code, and provide the ability to throw custom exceptions when the assertion fails.

While the old API continues to be maintained for compatibility, assert() is now a language construct, allowing the first parameter to be an expression rather than just a string to be evaluated or a bool value to be tested.

<?php
ini_set('assert.exception', 1);

class CustomError extends AssertionError {}

assert(false, new CustomError('Some error message'));
?>

Yukarıdaki örneğin çıktısı:

Fatal error: Uncaught CustomError: Some error message

Full details on this feature, including how to configure it in both development and production environments, can be found on the manual page of the assert() language construct.

Group use declarations

Classes, functions and constants being imported from the same namespace can now be grouped together in a single use statement.

<?php
// Pre PHP 7 code
use some\namespace\ClassA;
use some\namespace\ClassB;
use some\namespace\ClassC as C;

use function some\namespace\fn_a;
use function some\namespace\fn_b;
use function some\namespace\fn_c;

use const some\namespace\ConstA;
use const some\namespace\ConstB;
use const some\namespace\ConstC;

// PHP 7+ code
use some\namespace\{ClassA, ClassB, ClassC as C};
use function some\namespace\{fn_a, fn_b, fn_c};
use const some\namespace\{ConstA, ConstB, ConstC};
?>

Generator Return Expressions

This feature builds upon the generator functionality introduced into PHP 5.5. It enables for a return statement to be used within a generator to enable for a final expression to be returned (return by reference is not allowed). This value can be fetched using the new Generator::getReturn() method, which may only be used once the generator has finished yielding values.

<?php

$gen = (function() {
yield 1;
yield 2;

return 3;
})();

foreach ($gen as $val) {
echo $val, PHP_EOL;
}

echo $gen->getReturn(), PHP_EOL;

Yukarıdaki örneğin çıktısı:

1
2
3

Being able to explicitly return a final value from a generator is a handy ability to have. This is because it enables for a final value to be returned by a generator (from perhaps some form of coroutine computation) that can be specifically handled by the client code executing the generator. This is far simpler than forcing the client code to firstly check whether the final value has been yielded, and then if so, to handle that value specifically.

Generator delegation

Generators can now delegate to another generator, Traversable object or array automatically, without needing to write boilerplate in the outermost generator by using the yield from construct.

<?php
function gen()
{
yield 1;
yield 2;
yield from gen2();
}

function gen2()
{
yield 3;
yield 4;
}

foreach (gen() as $val)
{
echo $val, PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

1
2
3
4

Integer division with intdiv()

The new intdiv() function performs an integer division of its operands and returns it.

<?php
var_dump(intdiv(10, 3));
?>

Yukarıdaki örneğin çıktısı:

int(3)

Session options

session_start() now accepts an array of options that override the session configuration directives normally set in php.ini.

These options have also been expanded to support session.lazy_write, which is on by default and causes PHP to only overwrite any session file if the session data has changed, and read_and_close, which is an option that can only be passed to session_start() to indicate that the session data should be read and then the session should immediately be closed unchanged.

For example, to set session.cache_limiter to private and immediately close the session after reading it:

<?php
session_start([
'cache_limiter' => 'private',
'read_and_close' => true,
]);
?>

preg_replace_callback_array()

The new preg_replace_callback_array() function enables code to be written more cleanly when using the preg_replace_callback() function. Prior to PHP 7, callbacks that needed to be executed per regular expression required the callback function to be polluted with lots of branching.

Now, callbacks can be registered to each regular expression using an associative array, where the key is a regular expression and the value is a callback.

CSPRNG Functions

Two new functions have been added to generate cryptographically secure integers and strings in a cross platform way: random_bytes() and random_int().

list() can always unpack objects implementing ArrayAccess

Previously, list() was not guaranteed to operate correctly with objects implementing ArrayAccess. This has been fixed.

Other Features

  • Class member access on cloning has been added, e.g. (clone $foo)->bar().


Deprecated features in PHP 7.0.x

PHP 4 style constructors

PHP 4 style constructors (methods that have the same name as the class they are defined in) are deprecated, and will be removed in the future. PHP 7 will emit E_DEPRECATED if a PHP 4 constructor is the only constructor defined within a class. Classes that implement a __construct() method are unaffected.

<?php
class foo {
function foo() {
echo 'I am the constructor';
}
}
?>

Yukarıdaki örneğin çıktısı:

Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; foo has a deprecated constructor in example.php on line 3

Static calls to non-static methods

Static calls to methods that are not declared static are deprecated, and may be removed in the future.

<?php
class foo {
function bar() {
echo 'I am not static!';
}
}

foo::bar();
?>

Yukarıdaki örneğin çıktısı:

Deprecated: Non-static method foo::bar() should not be called statically in - on line 8
I am not static!

password_hash() salt option

The salt option for the password_hash() function has been deprecated to prevent developers from generating their own (usually insecure) salts. The function itself generates a cryptographically secure salt when no salt is provided by the developer - therefore custom salt generation should not be needed.

capture_session_meta SSL context option

The capture_session_meta SSL context option has been deprecated. SSL metadata is now available through the stream_get_meta_data() function.

LDAP deprecations

The following function has been deprecated:

  • ldap_sort()


Changed functions

PHP Core

  • debug_zval_dump() now prints "int" instead of "long", and "float" instead of "double"
  • dirname() now optionally takes a second parameter, depth, to get the name of the directory depth levels up from the current directory.
  • getrusage() is now supported on Windows.
  • mktime() and gmmktime() functions no longer accept is_dst parameter.
  • preg_replace() function no longer supports "\e" (PREG_REPLACE_EVAL). preg_replace_callback() should be used instead.
  • setlocale() function no longer accepts category passed as string. LC_* constants must be used instead.
  • exec(), system() and passthru() functions have NULL byte protection now.
  • shmop_open() now returns a resource instead of an int, which has to be passed to shmop_size(), shmop_write(), shmop_read(), shmop_close() and shmop_delete().
  • substr() and iconv_substr() now return an empty string, if string is equal to start characters long.
  • xml_parser_free() is no longer sufficient to free the parser resource, if it references an object and this object references that parser resource. In this case it is necessary to additionally unset the $parser.


New functions

Closure

  • Closure::call()

CSPRNG

  • random_bytes()
  • random_int()

Error Handling and Logging

  • error_clear_last()

Generator

  • Generator::getReturn()

GNU Multiple Precision

  • gmp_random_seed()

Math

  • intdiv()

PCRE

  • preg_replace_callback_array()

PHP Options/Info

  • gc_mem_caches()
  • get_resources()

POSIX

  • posix_setrlimit()

Reflection

  • ReflectionParameter::getType()
  • ReflectionParameter::hasType()
  • ReflectionFunctionAbstract::getReturnType()
  • ReflectionFunctionAbstract::hasReturnType()

Zip

  • ZipArchive::setCompressionIndex()
  • ZipArchive::setCompressionName()

Zlib Compression

  • inflate_add()
  • deflate_add()
  • inflate_init()
  • deflate_init()


New Classes and Interfaces

Intl

  • IntlChar

Reflection

  • ReflectionGenerator
  • ReflectionType

Session Handling

  • SessionUpdateTimestampHandlerInterface

Exception Hierarchy

  • Throwable
  • Error
  • TypeError
  • ParseError
  • AssertionError
  • ArithmeticError
  • DivisionByZeroError


New Global Constants

Core Predefined Constants

  • PHP_INT_MIN

GD

  • IMG_WEBP (as of PHP 7.0.10)

JSON

  • JSON_ERROR_INVALID_PROPERTY_NAME
  • JSON_ERROR_UTF16

LibXML

  • LIBXML_BIGLINES

PCRE

  • PREG_JIT_STACKLIMIT_ERROR

POSIX

  • POSIX_RLIMIT_AS
  • POSIX_RLIMIT_CORE
  • POSIX_RLIMIT_CPU
  • POSIX_RLIMIT_DATA
  • POSIX_RLIMIT_FSIZE
  • POSIX_RLIMIT_LOCKS
  • POSIX_RLIMIT_MEMLOCK
  • POSIX_RLIMIT_MSGQUEUE
  • POSIX_RLIMIT_NICE
  • POSIX_RLIMIT_NOFILE
  • POSIX_RLIMIT_NPROC
  • POSIX_RLIMIT_RSS
  • POSIX_RLIMIT_RTPRIO
  • POSIX_RLIMIT_RTTIME
  • POSIX_RLIMIT_SIGPENDING
  • POSIX_RLIMIT_STACK
  • POSIX_RLIMIT_INFINITY

Zlib

  • ZLIB_ENCODING_RAW
  • ZLIB_ENCODING_DEFLATE
  • ZLIB_ENCODING_GZIP
  • ZLIB_FILTERED
  • ZLIB_HUFFMAN_ONLY
  • ZLIB_FIXED
  • ZLIB_RLE
  • ZLIB_DEFAULT_STRATEGY
  • ZLIB_BLOCK
  • ZLIB_FINISH
  • ZLIB_FULL_FLUSH
  • ZLIB_NO_FLUSH
  • ZLIB_PARTIAL_FLUSH
  • ZLIB_SYNC_FLUSH


Changes in SAPI Modules

FPM

Unqualified listen ports now listen on both IPv4 and IPv6

In PHP 5, a listen directive with only a port number would listen on all interfaces, but only on IPv4. PHP 7 will now accept requests made via both IPv4 and IPv6.

This does not affect directives which include specific IP addresses; these will continue to only listen on that address and protocol.


Removed Extensions and SAPIs

Removed Extensions

  • ereg
  • mssql
  • mysql
  • sybase_ct

Removed SAPIs

  • aolserver
  • apache
  • apache_hooks
  • apache2filter
  • caudium
  • continuity
  • isapi
  • milter
  • nsapi
  • phttpd
  • pi3web
  • roxen
  • thttpd
  • tux
  • webjames


Other Changes

Loosening Reserved Word Restrictions

Globally reserved words as property, constant, and method names within classes, interfaces, and traits are now allowed. This reduces the surface of BC breaks when new keywords are introduced and avoids naming restrictions on APIs.

This is particularly useful when creating internal DSLs with fluent interfaces:

<?php
// 'new', 'private', and 'for' were previously unusable
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

The only limitation is that the class keyword still cannot be used as a constant name, otherwise it would conflict with the class name resolution syntax (ClassName::class).

Removal of date.timezone Warning

Previously, a warning was emitted if the date.timezone INI setting had not been set prior to using any date- or time-based functions. Now, this warning has been removed (with date.timezone still defaulting to UTC).


Migrating from PHP 5.5.x to PHP 5.6.x

İçindekiler

  • Backward incompatible changes
  • New features
  • Deprecated features in PHP 5.6.x
  • Changed functions
  • New functions
  • OpenSSL changes in PHP 5.6.x
  • Other changes to extensions
  • New global constants

Most improvements in PHP 5.6.x have no impact on existing code. There are a few incompatibilities and new features that should be considered, and code should be tested before switching PHP versions in production environments.


Backward incompatible changes

Although most existing PHP 5 code should work without changes, please take note of some backward incompatible changes:

Array keys won't be overwritten when defining an array as a property of a class via an array literal

Previously, arrays declared as class properties which mixed explicit and implicit keys could have array elements silently overwritten if an explicit key was the same as a sequential implicit key. For example:

<?php
class C {
const ONE = 1;
public $array = [
self::ONE => 'foo',
'bar',
'quux',
];
}

var_dump((new C)->array);
?>

Yukarıdaki örneğin PHP 5.5 çıktısı:

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

Yukarıdaki örneğin PHP 5.6 çıktısı:

array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}

json_decode() strictness

json_decode() now rejects non-lowercase variants of the JSON literals true, false and null at all times, as per the JSON specification, and sets json_last_error() accordingly. Previously, inputs to json_decode() that consisted solely of one of these values in upper or mixed case were accepted.

This change will only affect cases where invalid JSON was being passed to json_decode(): valid JSON input is unaffected and will continue to be parsed normally.

Stream wrappers now verify peer certificates and host names by default when using SSL/TLS

All encrypted client streams now enable peer verification by default. By default, this will use OpenSSL's default CA bundle to verify the peer certificate. In most cases, no changes will need to be made to communicate with servers with valid SSL certificates, as distributors generally configure OpenSSL to use known good CA bundles.

The default CA bundle may be overridden on a global basis by setting either the openssl.cafile or openssl.capath configuration setting, or on a per request basis by using the cafile or capath context options.

While not recommended in general, it is possible to disable peer certificate verification for a request by setting the verify_peer context option to false, and to disable peer name validation by setting the verify_peer_name context option to false.

GMP resources are now objects

GMP resources are now objects. The functional API implemented in the GMP extension has not changed, and code should run unmodified unless it checks explicitly for a resource using is_resource() or similar.

Mcrypt functions now require valid keys and IVs

mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_generic() and mcrypt_ofb() will no longer accept keys or IVs with incorrect sizes, and block cipher modes that require IVs will now fail if an IV isn't provided.

cURL file uploads

Uploads using the @file syntax now require CURLOPT_SAFE_UPLOAD to be set to false. CURLFile should be used instead.


New features

Constant expressions

It is now possible to provide a scalar expression involving numeric and string literals and/or constants in contexts where PHP previously expected a static value, such as constant and property declarations and default function arguments.

<?php
const ONE = 1;
const TWO = ONE * 2;

class C {
const THREE = TWO + 1;
const ONE_THIRD = ONE / self::THREE;
const SENTENCE = 'The value of THREE is '.self::THREE;

public function f($a = ONE + self::THREE) {
return $a;
}
}

echo (new C)->f()."\n";
echo C::SENTENCE;
?>

Yukarıdaki örneğin çıktısı:

4
The value of THREE is 3

It is also now possible to define a constant array using the const keyword:

<?php
const ARR = ['a', 'b'];

echo ARR[0];
?>

Yukarıdaki örneğin çıktısı:

a

Variadic functions via ...

Variadic functions can now be implemented using the ... operator, instead of relying on func_get_args().

<?php
function f($req, $opt = null, ...$params) {
// $params is an array containing the remaining arguments.
printf('$req: %d; $opt: %d; number of params: %d'."\n",
$req, $opt, count($params));
}

f(1);
f(1, 2);
f(1, 2, 3);
f(1, 2, 3, 4);
f(1, 2, 3, 4, 5);
?>

Yukarıdaki örneğin çıktısı:

$req: 1; $opt: 0; number of params: 0
$req: 1; $opt: 2; number of params: 0
$req: 1; $opt: 2; number of params: 1
$req: 1; $opt: 2; number of params: 2
$req: 1; $opt: 2; number of params: 3

Argument unpacking via ...

Arrays and Traversable objects can be unpacked into argument lists when calling functions by using the ... operator. This is also known as the splat operator in other languages, including Ruby.

<?php
function add($a, $b, $c) {
return $a + $b + $c;
}

$operators = [2, 3];
echo add(1, ...$operators);
?>

Yukarıdaki örneğin çıktısı:

6

Exponentiation via **

A right associative ** operator has been added to support exponentiation, along with a **= shorthand assignment operator.

<?php
printf("2 ** 3 == %d\n", 2 ** 3);
printf("2 ** 3 ** 2 == %d\n", 2 ** 3 ** 2);

$a = 2;
$a **= 3;
printf("a == %d\n", $a);
?>

Yukarıdaki örneğin çıktısı:

2 ** 3 ==      8
2 ** 3 ** 2 == 512
a ==           8

use function and use const

The use operator has been extended to support importing functions and constants in addition to classes. This is achieved via the use function and use const constructs, respectively.

<?php
namespace Name\Space {
const FOO = 42;
function f() { echo __FUNCTION__."\n"; }
}

namespace {
use const Name\Space\FOO;
use function Name\Space\f;

echo FOO."\n";
f();
}
?>

Yukarıdaki örneğin çıktısı:

42
Name\Space\f

phpdbg

PHP now includes an interactive debugger called phpdbg implemented as a SAPI module. For more information, please visit the phpdbg documentation.

Default character encoding

default_charset is now used as the default character set for the htmlentities(), html_entity_decode() and htmlspecialchars() functions. Note that if the (now deprecated) iconv and mbstring encoding settings are set, they will take precedence over default_charset for iconv and mbstring functions, respectively.

The default value for this setting is UTF-8.

php://input is reusable

php://input may now be reopened and read as many times as required. This work has also resulted in a major reduction in the amount of memory required to deal with POST data.

Large file uploads

Files larger than 2 gigabytes in size are now accepted.

GMP supports operator overloading

GMP objects now support operator overloading and casting to scalar types. This allows for more expressive code using GMP:

<?php
$a = gmp_init(42);
$b = gmp_init(17);

if (version_compare(PHP_VERSION, '5.6', '<')) {
echo gmp_intval(gmp_add($a, $b)), PHP_EOL;
echo gmp_intval(gmp_add($a, 17)), PHP_EOL;
echo gmp_intval(gmp_add(42, $b)), PHP_EOL;
} else {
echo $a + $b, PHP_EOL;
echo $a + 17, PHP_EOL;
echo 42 + $b, PHP_EOL;
}
?>

Yukarıdaki örneğin çıktısı:

59
59
59

hash_equals() for timing attack safe string comparison

The hash_equals() function has been added to compare two strings in constant time. This should be used to mitigate timing attacks; for instance, when testing crypt() password hashes (assuming that you are unable to use password_hash() and password_verify(), which aren't susceptible to timing attacks).

<?php
$expected = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$correct = crypt('12345', '$2a$07$usesomesillystringforsalt$');
$incorrect = crypt('1234', '$2a$07$usesomesillystringforsalt$');

var_dump(hash_equals($expected, $correct));
var_dump(hash_equals($expected, $incorrect));
?>

Yukarıdaki örneğin çıktısı:

bool(true)
bool(false)

__debugInfo()

The __debugInfo() magic method has been added to allow objects to change the properties and values that are shown when the object is output using var_dump().

<?php
class C {
private $prop;

public function __construct($val) {
$this->prop = $val;
}

public function __debugInfo() {
return [
'propSquared' => $this->prop ** 2,
];
}
}

var_dump(new C(42));
?>

Yukarıdaki örneğin çıktısı:

object(C)#1 (1) {
  ["propSquared"]=>
  int(1764)
}

gost-crypto hash algorithm

The gost-crypto hash algorithm has been added. This implements the GOST hash function using the CryptoPro S-box tables as specified by » RFC 4357, section 11.2.

SSL/TLS improvements

A wide range of improvements have been made to the SSL/TLS support in PHP 5.6. These include enabling peer verification by default, supporting certificate fingerprint matching, mitigating against TLS renegotiation attacks, and many new SSL context options to allow more fine grained control over protocol and verification settings when using encrypted streams.

These changes are described in more detail in the OpenSSL changes in PHP 5.6.x section of this migration guide.

pgsql async support

The pgsql extension now supports asynchronous connections and queries, thereby enabling non-blocking behaviour when interacting with PostgreSQL databases. Asynchronous connections may be established via the PGSQL_CONNECT_ASYNC constant, and the new pg_connect_poll(), pg_socket(), pg_consume_input() and pg_flush() functions may be used to handle asynchronous connections and queries.


Deprecated features in PHP 5.6.x

Calls from incompatible context

Methods called from an incompatible context are now deprecated, and will generate E_DEPRECATED errors when invoked instead of E_STRICT. Support for these calls will be removed in a future version of PHP.

An example of such a call is:

<?php
class A {
function f() { echo get_class($this); }
}

class B {
function f() { A::f(); }
}

(new B)->f();
?>

Yukarıdaki örneğin çıktısı:

Deprecated: Non-static method A::f() should not be called statically, assuming $this from incompatible context in - on line 7
B

$HTTP_RAW_POST_DATA and always_populate_raw_post_data

always_populate_raw_post_data will now generate an E_DEPRECATED error when $HTTP_RAW_POST_DATA is populated. New code should use php://input instead of $HTTP_RAW_POST_DATA, which will be removed in a future release. You can opt in for the new behaviour (in which $HTTP_RAW_POST_DATA is never defined hence no E_DEPRECATED error will be generated) by setting always_populate_raw_post_data to -1.

iconv and mbstring encoding settings

The iconv and mbstring configuration options related to encoding have been deprecated in favour of default_charset. The deprecated options are:

  • iconv.input_encoding
  • iconv.output_encoding
  • iconv.internal_encoding
  • mbstring.http_input
  • mbstring.http_output
  • mbstring.internal_encoding


Changed functions

PHP Core

  • crypt() will now raise an E_NOTICE error if the salt parameter is omitted.
  • substr_compare() will now accept 0 for its length parameter.
  • unserialize() will now fail if passed serialised data that has been manipulated to attempt to instantiate an object without calling its constructor.

cURL

  • Uploads using the @file syntax are now only supported if the CURLOPT_SAFE_UPLOAD option is set to false. CURLFile should be used instead.

Mcrypt

  • The source parameter of mcrypt_create_iv() now defaults to MCRYPT_DEV_URANDOM instead of MCRYPT_DEV_RANDOM.

OpenSSL

  • stream_socket_enable_crypto() now allows the crypto_type parameter to be optional if the stream's SSL context includes the new crypto_type option.

PostgreSQL

  • pg_insert(), pg_select(), pg_update() and pg_delete() are no longer experimental.
  • pg_send_execute(), pg_send_prepare(), pg_send_query() and pg_send_query_params() will no longer block until query write completion if the underlying socket stream for the database connection is set to non-blocking mode.

Reflection

  • ReflectionClass::newInstanceWithoutConstructor() now allows non-final internal classes to be instantiated.

XMLReader

  • XMLReader::getAttributeNs() and XMLReader::getAttributeNo() now return null if the attribute could not be found, like XMLReader::getAttribute().


New functions

Date and Time

  • DateTimeImmutable::createFromMutable()

GMP

  • gmp_root()
  • gmp_rootrem()

Hash

  • hash_equals()

LDAP

  • ldap_escape()
  • ldap_modify_batch()

MySQLi

  • mysqli_get_links_stats()

OCI8

  • oci_get_implicit_resultset()

OpenSSL

  • openssl_get_cert_locations()
  • openssl_x509_fingerprint()
  • openssl_spki_new()
  • openssl_spki_verify()
  • openssl_spki_export_challenge()
  • openssl_spki_export()

PostgreSQL

  • pg_connect_poll()
  • pg_consume_input()
  • pg_flush()
  • pg_socket()

PDO_PGSQL

  • PDO::pgsqlGetNotify()
  • PDO::pgsqlGetPid()

Session

  • session_abort()
  • session_reset()

Zip

  • ZipArchive::setPassword()


OpenSSL changes in PHP 5.6.x

Stream wrappers now verify peer certificates and host names by default when using SSL/TLS

All encrypted client streams now enable peer verification by default. By default, this will use OpenSSL's default CA bundle to verify the peer certificate. In most cases, no changes will need to be made to communicate with servers with valid SSL certificates, as distributors generally configure OpenSSL to use known good CA bundles.

The default CA bundle may be overridden on a global basis by setting either the openssl.cafile or openssl.capath configuration setting, or on a per request basis by using the cafile or capath context options.

While not recommended in general, it is possible to disable peer certificate verification for a request by setting the verify_peer context option to false, and to disable peer name validation by setting the verify_peer_name context option to false.

Certificate fingerprints

Support has been added for extracting and verifying certificate fingerprints. openssl_x509_fingerprint() has been added to extract a fingerprint from an X.509 certificate, and two SSL stream context options have been added: capture_peer_cert to capture the peer's X.509 certificate, and peer_fingerprint to assert that the peer's certificate should match the given fingerprint.

Default ciphers updated

The default ciphers used by PHP have been updated to a more secure list based on the » Mozilla cipher recommendations, with two additional exclusions: anonymous Diffie-Hellman ciphers, and RC4.

This list can be accessed via the new OPENSSL_DEFAULT_STREAM_CIPHERS constant, and can be overridden (as in previous PHP versions) by setting the ciphers context option.

Compression disabled by default

SSL/TLS compression has been disabled by default to mitigate the CRIME attack. PHP 5.4.13 added a disable_compression context option to allow compression to be disabled: this is now set to true (that is, compression is disabled) by default.

Allow servers to prefer their cipher order

The honor_cipher_order SSL context option has been added to allow encrypted stream servers to mitigate BEAST vulnerabilities by preferring the server's ciphers to the client's.

Access the negotiated protocol and cipher

The protocol and cipher that were negotiated for an encrypted stream can now be accessed via stream_get_meta_data() or stream_context_get_options() when the capture_session_meta SSL context option is set to true.

<?php
$ctx = stream_context_create(['ssl' => [
'capture_session_meta' => TRUE
]]);

$html = file_get_contents('https://google.com/', FALSE, $ctx);
$meta = stream_context_get_options($ctx)['ssl']['session_meta'];
var_dump($meta);
?>

Yukarıdaki örneğin çıktısı:

array(4) {
  ["protocol"]=>
  string(5) "TLSv1"
  ["cipher_name"]=>
  string(20) "ECDHE-RSA-AES128-SHA"
  ["cipher_bits"]=>
  int(128)
  ["cipher_version"]=>
  string(11) "TLSv1/SSLv3"
}

New options for perfect forward secrecy in encrypted stream servers

Encrypted client streams already support perfect forward secrecy, as it is generally controlled by the server. PHP encrypted server streams using certificates capable of perfect forward secrecy do not need to take any additional action to enable PFS; however a number of new SSL context options have been added to allow more control over PFS and deal with any compatibility issues that may arise.

ecdh_curve

This option allows the selection of a specific curve for use with ECDH ciphers. If not specified, prime256v1 will be used.

dh_param

A path to a file containing parametrs for Diffie-Hellman key exchange, such as that created by the following command:

openssl dhparam -out /path/to/my/certs/dh-2048.pem 2048
single_dh_use

If set to true, a new key pair will be created when using Diffie-Hellman parameters, thereby improving forward secrecy.

single_ecdh_use

If set to true, a new key pair will always be generated when ECDH cipher suites are negotiated. This improves forward secrecy.

SSL/TLS version selection

It is now possible to select specific versions of SSL and TLS via the crypto_method SSL context option or by specifying a specific transport when creating a stream wrapper (for example, by calling stream_socket_client() or stream_socket_server()).

The crypto_method SSL context option accepts a bitmask enumerating the protocols that are permitted, as does the crypto_type of stream_socket_enable_crypto().

Selected protocol versions and corresponding options
Protocol(s) | Client flag | Server flag | Transport
Any TLS or SSL version | STREAM_CRYPTO_METHOD_ANY_CLIENT | STREAM_CRYPTO_METHOD_ANY_SERVER | ssl://
Any TLS version | STREAM_CRYPTO_METHOD_TLS_CLIENT | STREAM_CRYPTO_METHOD_TLS_SERVER | tls://
TLS 1.0 | STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_0_SERVER | tlsv1.0://
TLS 1.1 | STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_1_SERVER | tlsv1.1://
TLS 1.2 | STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT | STREAM_CRYPTO_METHOD_TLSv1_2_SERVER | tlsv1.2://
SSL 3 | STREAM_CRYPTO_METHOD_SSLv3_CLIENT | STREAM_CRYPTO_METHOD_SSLv3_SERVER | sslv3://
<?php

// Requiring TLS 1.0 or better when using file_get_contents():
$ctx = stream_context_create([
'ssl' => [
'crypto_method' => STREAM_CRYPTO_METHOD_TLS_CLIENT,
],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// Requiring TLS 1.1 or 1.2:
$ctx = stream_context_create([
'ssl' => [
'crypto_method' => STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT |
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
],
]);
$html = file_get_contents('https://google.com/', false, $ctx);

// Connecting using the tlsv1.2:// stream socket transport.
$sock = stream_socket_client('tlsv1.2://google.com:443/');

?>

openssl_get_cert_locations() added

The openssl_get_cert_locations() function has been added: it returns the default locations PHP will search when looking for CA bundles.

<?php
var_dump(openssl_get_cert_locations());
?>

Yukarıdaki örneğin çıktısı:

array(8) {
  ["default_cert_file"]=>
  string(21) "/etc/pki/tls/cert.pem"
  ["default_cert_file_env"]=>
  string(13) "SSL_CERT_FILE"
  ["default_cert_dir"]=>
  string(18) "/etc/pki/tls/certs"
  ["default_cert_dir_env"]=>
  string(12) "SSL_CERT_DIR"
  ["default_private_dir"]=>
  string(20) "/etc/pki/tls/private"
  ["default_default_cert_area"]=>
  string(12) "/etc/pki/tls"
  ["ini_cafile"]=>
  string(0) ""
  ["ini_capath"]=>
  string(0) ""
}

SPKI support

Support has been added for generating, extracting and verifying signed public key and challenges (SPKAC). openssl_spki_new(), openssl_spki_verify(), openssl_spki_export_challenge(), and openssl_spki_export() have been added to create, verify export PEM public key and associated challenge from SPKAC's generated from a KeyGen HTML5 element.

openssl_spki_new

Generates a new SPKAC using private key, challenge string and hashing algorithm.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
?>

Yukarıdaki örneğin çıktısı:

SPKAC=MIIBXjCByDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3L0IfUijj7+A8CPC8EmhcdNoe5fUAog7OrBdhn7EkxFButUp40P7+LiYiygYG1TmoI/a5EgsLU3s9twEz3hmgY9mYIqb/rb+SF8qlD/K6KVyUORC7Wlz1Df4L8O3DuRGzx6/+3jIW6cPBpfgH1sVuYS1vDBsP/gMMIxwTsKJ4P0CAwEAARYkYjViMzYxMTktNjY5YS00ZDljLWEyYzctMGZjNGFhMjVlMmE2MA0GCSqGSIb3DQEBAwUAA4GBAF7hu0ifzmjonhAak2FhhBRsKFDzXdKIkrWxVNe8e0bZzMrWOxFM/rqBgeH3/gtOUDRS5Fnzyq425UsTYbjfiKzxGeCYCQJb1KJ2V5Ij/mIJHZr53WYEXHQTNMGR8RPm7IxwVXVSHIgAfXsXZ9IXNbFbcaLRiSTr9/N4U+MXUWL7
openssl_spki_verify

Verifies provided SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
var_dump(openssl_spki_verify($spkac));
?>
openssl_spki_export_challenge

Exports associated challenge from provided SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
$challenge = openssl_spki_export_challenge($spkac);
echo $challenge;
?>

Yukarıdaki örneğin çıktısı:

challenge string
openssl_spki_export

Exports the PEM formatted RSA public key from SPKAC.

<?php
$pkey = openssl_pkey_new();
openssl_pkey_export($pkey, 'secret passphrase');

$spkac = openssl_spki_new($pkey, 'challenge string');
echo openssl_spki_export($spkac);
?>

Yukarıdaki örneğin çıktısı:

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcvQh9SKOPv4DwI8LwSaFx02h7
l9QCiDs6sF2GfsSTEUG61SnjQ/v4uJiLKBgbVOagj9rkSCwtTez23ATPeGaBj2Zg
ipv+tv5IXyqUP8ropXJQ5ELtbXPUN/gvw7cO5EbPHr/7eMhbpw8Gl+AfWxW5hLW8
MGw/+AwwjHBOwong/QIDAQAB
-----END PUBLIC KEY-----


Other changes to extensions

cURL

A number of constants marked obsolete in the cURL library have now been removed:

  • CURLOPT_CLOSEPOLICY
  • CURLCLOSEPOLICY_CALLBACK
  • CURLCLOSEPOLICY_LEAST_RECENTLY_USED
  • CURLCLOSEPOLICY_LEAST_TRAFFIC
  • CURLCLOSEPOLICY_OLDEST
  • CURLCLOSEPOLICY_SLOWEST

OCI8

  • Support for implicit result sets for Oracle Database 12c has been added via the new oci_get_implicit_resultset() function.
  • Using oci_execute($s, OCI_NO_AUTO_COMMIT) for a SELECT no longer unnecessarily initiates an internal ROLLBACK during connection close.
  • Added DTrace probes controlled by the --enable-dtrace configure option.
  • oci_internal_debug() is now a no-op.
  • The phpinfo() output format for OCI8 has changed.

Zip

A --with-libzip configure option has been added to use a system libzip installation. libzip version 0.11 is required, with 0.11.2 or later recommended.

MySQLi

A new mysqli.rollback_on_cached_plink option was added, which controls the rollback behavior of persistent connections.


New global constants

GD

  • IMG_WEBP (as of PHP 5.6.25)

LDAP

  • LDAP_ESCAPE_DN
  • LDAP_ESCAPE_FILTER

OpenSSL

  • OPENSSL_DEFAULT_STREAM_CIPHERS
  • STREAM_CRYPTO_METHOD_ANY_CLIENT
  • STREAM_CRYPTO_METHOD_ANY_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
  • STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
  • STREAM_CRYPTO_METHOD_TLSv1_2_SERVER

PostgreSQL

  • PGSQL_CONNECT_ASYNC
  • PGSQL_CONNECTION_AUTH_OK
  • PGSQL_CONNECTION_AWAITING_RESPONSE
  • PGSQL_CONNECTION_MADE
  • PGSQL_CONNECTION_SETENV
  • PGSQL_CONNECTION_SSL_STARTUP
  • PGSQL_CONNECTION_STARTED
  • PGSQL_DML_ESCAPE
  • PGSQL_POLLING_ACTIVE
  • PGSQL_POLLING_FAILED
  • PGSQL_POLLING_OK
  • PGSQL_POLLING_READING
  • PGSQL_POLLING_WRITING


  • « New global constants
  • PHP'de hata ayıklama hakkında »
  • PHP Manual
  • Ekler
  • PHP'de Hata Ayıklama

PHP'de Hata Ayıklama

İçindekiler

  • PHP'de hata ayıklama hakkında


PHP'de hata ayıklama hakkında

PHP komut satırında çalışan etkileşimli bir hata ayıklayıcı olan phpdbg ile birlikte dağıtılır.

Çoğu IDE, PHP uygulamalarında tek adımda hata ayıklama yapılabilen, özgür bir hata ayıklama aracı olan » Xdebug desteğine sahiptir.


  • « PHP'de hata ayıklama hakkında
  • Temel yapılandırma seçeneklerinin listesi »
  • PHP Manual
  • Ekler
  • Yapılandırma Seçenekleri

Yapılandırma Seçenekleri

İçindekiler

  • Temel yapılandırma seçeneklerinin listesi


Temel yapılandırma seçeneklerinin listesi

PHP'yi Unix ve benzeri sistemlerde derlerken kullanılan PHP configure betiğinin yapılandırma seçeneklerinden bir kısmı aşağıda listelenmiştir. Burada bulunmayan yapılandırma seçeneklerinin çoğu eklenti başvuru sayfalarında ilgili oldukları yerlerde listelenmiştir. Yapılandırma seçeneklerinin güncel ve tam listesini almak için PHP kaynak dizininizde autoconf'u çalıştırdıktan sonra ./configure --help komutunu kullanabilirsiniz (ayrıca, Kurulum ve Yapılandırma bölümüne de bakınız). Ayrıca, --prefix=PREFIX gibi ek configure seçenekleri hakkında bilgi almak için » GNU configure belgelerini de okuyabilirsiniz.

Bilginize:

Bunlar sadece derleme sırasında kullanılırlar. PHP'nin çalışma anı yapılandırmasını değiştirmek isiyorsanız Çalışma anı Yapılandırması bölümüne bakınız.

  • Çeşitli
  • PHP Davranışı
  • Sunucu

PHP Yapılandırma Seçenekleri

Çeşitli Seçenekler

--enable-debug

Hata ayıklama etkinleştirilerek derlenir.

--with-layout=TÜR

Kurulacak dosyaların neye göre yerleştirileceği belirtilir. TÜR olarak PHP (öntanımlı) veya GNU belirtilebilir. Kılavuz sayfaları PREFIX altına kuruluyorsa manpath aracıya bulunabilmesi için TÜR olarak GNU seçilmelidir.

--with-pear=DiZiN

PEAR, DiZiN'e kurulur (öntanımlı: PREFIX/lib/php).

--without-pear

PEAR kurulmaz.

--enable-sigchild

PHP'nin kendi SIGCHLD eylemcisi etkin olur.

--disable-rpath

Çalışma anı ek kütüphane arama yollarının aktarımı iptal edilir.

--enable-libgcc

libgcc'ye doğrudan ilintileme etkin olur.

--enable-php-streams

Deneysel PHP akımları içerilir. Kodu denemeden kullanmayın.

--with-zlib-dir[=DiZiN]

zlib kurulum dizininin yeri tanımlanır.

--with-tsrm-pthreads

POSIX evreleri kullanılır (öntanımlıdır).

--enable-shared[=PKGS]

Paylaşımlı kütüphaneler derlenir [öntanımlı=evet].

--enable-static[=PKGS]

Statik kütüphaneler derlenir [öntanımlı=evet].

--enable-fast-install[=PKGS]

Hızlı kurulum için en iyileme yapılır [öntanımlı=evet].

--with-gnu-ld

C derleyicinin GNU ld kullanacağı varsayılır [öntanımlı=hayır].

--disable-libtool-lock

Kilitlemeden kaçınılır (paralel derlemeleri bozabilir).

--with-pic

Sadece PIC/non-PIC nesneler kullanılmaya çalışılır [öntanımlı=ikisi de].

--enable-versioning

Sadece gerekli simgeler ihraç edilir. Daha fazla bilgi için INSTALL dosyasına bakınız.

PHP seçenekleri

--enable-maintainer-mode

Make kurallarının ve bağımlılıklarının dikkatsiz kurucuya elverişsizliği etkin kılınır.

--with-config-file-path=YOL

php.ini dosyasının aranacağı yollar atanır; PREFIX/lib öntanımlıdır.

--disable-short-tags

Öntanımlı olarak başlatma etiketinin <? kısa biçemi iptal edilir.

--with-libdir

PHP derlenirken kullanılacak kütüphanelerin Unix sistemindeki yerini belirmek için kullanılır. 64 bitlik sistemlerde bu dizini lib64 olarak belirmek gerekir: --with-libdir=lib64.

--enable-zts

Mekik güvenliğini etkinleştirir. Windows'tan farklı sistemlerde PHP 8.0.0 öncesinde bu seçenek --enable-maintainer-zts idi.

SAPI seçenekleri

Aşağıda PHP için kullanılabilen SAPI'ler (Server Application Programming Interface kısaltması; Sunucu Uygulama Programlama Arayüzü) listelenmiştir.

--with-apxs[=DOSYA]

PHP bir paylaşımlı Apache modülü olarak derlenir. DOSYAnın belirtilmesi isteğe bağlı olup Apache apxs aracının ismini belirtmek için kullanılır; apxs öntanımlıdır. Apxs'in sisteminizde kurulu sürümünü belirtmelisiniz, Apache kaynak paketindekini değil.

--with-apache[=DiZiN]

PHP bir statik Apache modülü olarak derlenir. DiZiN, Apache'nin kurulu olduğu dizin olup /usr/local/apache öntanımlıdır.

--with-mod_charset

mod_charset (Rusça Apache) için aktarım tablolarını etkinleştirir.

--with-apxs2[=DOSYA]

PHP bir paylaşımlı Apache 2.0 modülü olarak derlenir. DOSYAnın belirtilmesi isteğe bağlı olup Apache apxs aracının ismini belirtmek için kullanılır; apxs öntanımlıdır.

--disable-cli

PHP'nin CLI sürümünün derlenmemesini sağlar (bu, --without-pear seçeneğinin kullanımına sebep olur). Daha fazla bilgi PHP'nin komut satırından kullanımı bölümünde bulunabilir.

--enable-phpdbg

phpdbg etkileşimli hata ayıklayıcının SAPI modül desteğini etkin kılar.

--enable-embed[=TÜR]

Gömülü SAPI kütüphanesinin kurulmasını sağlar. TÜR olarak shared veya static belirtilebilir (paylaşımlı veya statik); shared öntanımlıdır.

--with-servlet[=DiZiN]

Servlet desteği etkinleştirilir. DiZiN, JSDK'nın ana kurulum dizinidir. Bu SAPI, bir paylaşımlı geliştirme dili olarak derlenmiş java eklentisi gerektirir.

--disable-cgi

PHP'nin CGI sürümü derlenmez.

Bu seçenek ile FastCGI'yi etkin kılmak da mümkündür.


php.ini Yönergeleri

İçindekiler

  • php.ini yönergelerinin listesi
  • php.ini bölümlerinin listesi
  • Temel php.ini yönergelerinin tanımları


php.ini yönergelerinin listesi

Bu liste, PHP kurulumunuzu yapılandırmak için kullanabileceğiniz php.ini yönergelerini içerir.

"Değişlik Yeri" sütununda yönergenin nerede, ne zaman atanabileceğini belirleyen kipler gösterilmiştir. Bu kiplerin tanımları için Değişlik Yeri kip değerleri bölümüne bakılabilir.

Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
allow_url_fopen | "1" | PHP_INI_SYSTEM |
allow_url_include | "0" | >PHP_INI_SYSTEM | PHP 7.4.0 ve sonrasında kullanımı önerilmemektedir.
arg_separator.input | "&" | PHP_INI_PERDIR |
arg_separator.output | "&" | PHP_INI_ALL |
assert.active | "1" | PHP_INI_ALL |
assert.bail | "0" | PHP_INI_ALL |
assert.callback | NULL | PHP_INI_ALL |
assert.exception | "0" | PHP_INI_ALL | PHP 7.0.0 ve sonrasında kullanılabilir.
assert.quiet_eval | "0" | PHP_INI_ALL | PHP 8.0.0 itibariyle kaldırıldı.
assert.warning | "1" | PHP_INI_ALL |
auto_append_file | NULL | PHP_INI_PERDIR |
auto_detect_line_endings | "0" | PHP_INI_ALL |
auto_globals_jit | "1" | PHP_INI_PERDIR |
auto_prepend_file | NULL | PHP_INI_PERDIR |
bcmath.scale | "0" | PHP_INI_ALL |
browscap | NULL | PHP_INI_SYSTEM |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM |
cgi.discard_path | "0" | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.nph | "0" | PHP_INI_ALL |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_ALL |
child_terminate | "0" | PHP_INI_ALL |
cli.pager | "" | PHP_INI_ALL |
cli.prompt | "\\b \\> " | PHP_INI_ALL |
cli_server.color | "0" | PHP_INI_ALL |
com.allow_dcom | "0" | PHP_INI_SYSTEM |
com.autoregister_typelib | "0" | PHP_INI_ALL |
com.autoregister_verbose | "0" | PHP_INI_ALL |
com.autoregister_casesensitive | "1" | PHP_INI_ALL |
com.code_page | "" | PHP_INI_ALL |
com.dotnet_version | "" | PHP_INI_SYSTEM | PHP 8.0.0 ve sonrasında kullanılabilir.
com.typelib_file | "" | PHP_INI_SYSTEM |
curl.cainfo | NULL | PHP_INI_SYSTEM |
date.default_latitude | "31.7667" | PHP_INI_ALL |
date.default_longitude | "35.2333" | PHP_INI_ALL |
date.sunrise_zenith | "90.833333" | PHP_INI_ALL | PHP 8.0.0 öncesinde, "90.583333" öntanımlıydı.
date.sunset_zenith | "90.833333" | PHP_INI_ALL | PHP 8.0.0 öncesinde, "90.583333" öntanımlıydı.
date.timezone | "UTC" | PHP_INI_ALL | PHP 8.2 ve sonrasında, geçersiz bir değer veya boş dizge atanması bir uyarı ile sonuçlanmaktadır.
dba.default_handler | DBA_DEFAULT | PHP_INI_ALL |
default_charset | "UTF-8" | PHP_INI_ALL | "UTF-8" öntanımlıdır.
input_encoding | "" | PHP_INI_ALL |
output_encoding | "" | PHP_INI_ALL |
internal_encoding | "" | PHP_INI_ALL |
default_mimetype | "text/html" | PHP_INI_ALL |
default_socket_timeout | "60" | PHP_INI_ALL |
disable_classes | "" | sadece php.ini |
disable_functions | "" | sadece php.ini |
display_errors | "1" | PHP_INI_ALL | PHP 8.0.0 öncesinde, öntanımlı değer "0" idi.
display_startup_errors | "1" | PHP_INI_ALL |
docref_ext | "" | PHP_INI_ALL |
docref_root | "" | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
enable_dl | "1" | PHP_INI_SYSTEM | Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.
enable_post_data_reading | On | PHP_INI_PERDIR |
engine | "1" | PHP_INI_ALL |
error_append_string | NULL | PHP_INI_ALL |
error_log | NULL | PHP_INI_ALL |
error_log_mode | 0o644 | PHP_INI_ALL | PHP 8.2.0 ve sonrasında kullanılabilir.
error_prepend_string | NULL | PHP_INI_ALL |
error_reporting | NULL | PHP_INI_ALL |
exif.encode_unicode | "ISO-8859-15" | PHP_INI_ALL |
exif.decode_unicode_motorola | "UCS-2BE" | PHP_INI_ALL |
exif.decode_unicode_intel | "UCS-2LE" | PHP_INI_ALL |
exif.encode_jis | "" | PHP_INI_ALL |
exif.decode_jis_motorola | "JIS" | PHP_INI_ALL |
exif.decode_jis_intel | "JIS" | PHP_INI_ALL |
exit_on_timeout | "" | PHP_INI_ALL |
expect.timeout | "10" | PHP_INI_ALL |
expect.loguser | "1" | PHP_INI_ALL |
expect.logfile | "" | PHP_INI_ALL |
expect.match_max | "" | PHP_INI_ALL |
expose_php | "1" | sadece php.ini |
extension | NULL | sadece php.ini |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
fastcgi.logging | "1" | PHP_INI_SYSTEM |
file_uploads | "1" | PHP_INI_SYSTEM |
filter.default | "unsafe_raw" | PHP_INI_PERDIR | Deprecated as of PHP 8.1.0.
filter.default_flags | NULL | PHP_INI_PERDIR |
from | "" | PHP_INI_ALL |
gd.jpeg_ignore_warning | "1" | PHP_INI_ALL |
geoip.custom_directory | "" | PHP_INI_ALL |
hard_timeout | "2" | PHP_INI_SYSTEM | PHP 7.1.0 ve sonrasında mevcuttur.
highlight.comment | "#FF8000" | PHP_INI_ALL |
highlight.default | "#0000BB" | PHP_INI_ALL |
highlight.html | "#000000" | PHP_INI_ALL |
.keyword | "#007700" | PHP_INI_ALL |
highlight.string | "#DD0000" | PHP_INI_ALL |
html_errors | "1" | PHP_INI_ALL |
ibase.allow_persistent | "1" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_INI_ALL |
ibase.timestampformat | "%Y-%m-%d %H:%M:%S" | PHP_INI_ALL |
ibase.dateformat | "%Y-%m-%d" | PHP_INI_ALL |
ibase.timeformat | "%H:%M:%S" | PHP_INI_ALL |
ibm_db2.binmode | "1" | PHP_INI_ALL |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5.
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9.
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0.
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2.
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0.
iconv.input_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.
iconv.output_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.
iconv.internal_encoding | "ISO-8859-1" | PHP_INI_ALL | PHP 5.6.0 itibariyle kullanımı önerilmiyor.
ignore_repeated_errors | "0" | PHP_INI_ALL |
ignore_repeated_source | "0" | PHP_INI_ALL |
ignore_user_abort | "0" | PHP_INI_ALL |
implicit_flush | "0" | PHP_INI_ALL |
include_path | ".:/path/to/php/pear" | PHP_INI_ALL |
intl.default_locale |  | PHP_INI_ALL |
intl.error_level | 0 | PHP_INI_ALL |
intl.use_exceptions | 0 | PHP_INI_ALL | PECL 3.0.0a1 ve sonrasında kullanılabilir.
last_modified | "0" | PHP_INI_ALL |
ldap.max_links | "-1" | PHP_INI_SYSTEM |
log_errors | "0" | PHP_INI_ALL |
log_errors_max_len | "1024" | PHP_INI_ALL |
mail.add_x_header | "0" | PHP_INI_PERDIR |
mail.force_extra_parameters | NULL | php.ini only |
mail.log | "" | PHP_INI_PERDIR |
max_execution_time | "30" | PHP_INI_ALL |
max_input_nesting_level | "64" | PHP_INI_PERDIR |
max_input_vars | 1000 | PHP_INI_PERDIR |
max_input_time | "-1" | PHP_INI_PERDIR |
mbstring.language | "neutral" | PHP_INI_ALL |
mbstring.detect_order | NULL | PHP_INI_ALL |
mbstring.http_input | "pass" | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.http_output | "pass" | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.internal_encoding | NULL | PHP_INI_ALL | Kullanımı önerilmemektedir.
mbstring.script_encoding | NULL | PHP_INI_ALL | PHP 5.0.0'da kaldırıldı. Yarine zend.script_encoding kullanın.
mbstring.substitute_character | NULL | PHP_INI_ALL |
mbstring.func_overload | "0" | PHP_INI_SYSTEM | PHP <= 5.2.6'da PHP_INI_PERDIR. PHP 7.2.0 itibariyle kullanımı önerilmemektedir.PHP 8.0.0'da kaldırıldı.
mbstring.encoding_translation | "0" | PHP_INI_PERDIR |
mbstring.http_output_conv_mimetypes | "^(text/|application/xhtml\+xml)" | PHP_INI_ALL |
mbstring.strict_detection | "0" | PHP_INI_ALL |
mbstring.regex_retry_limit | "1000000" | PHP_INI_ALL | PHP 7.4.0 ve sonrasında kullanılabilir.
mbstring.regex_stack_limit | "100000" | PHP_INI_ALL | PHP 7.3.5 ve sonrasında kullanılabilir.
mcrypt.algorithms_dir | null | PHP_INI_ALL | PHP 4.0.2'den beri kullanılabilmektedir.
mcrypt.modes_dir | null | PHP_INI_ALL | PHP 4.0.2'den beri kullanılabilmektedir.
memcache.allow_failover | "1" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.max_failover_attempts | "20" | PHP_INI_ALL | Available since memcache 2.1.0.
memcache.chunk_size | "8192" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.default_port | "11211" | PHP_INI_ALL | Available since memcache 2.0.2.
memcache.hash_strategy | "standard" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.hash_function | "crc32" | PHP_INI_ALL | Available since memcache 2.2.0.
memcache.protocol | ascii | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.redundancy | 1 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.session_redundancy | 2 | >PHP_INI_ALL | Supported since memcache 3.0.0
memcache.compress_threshold | 20000 | >PHP_INI_ALL | Supported since memcache 3.0.3
memcache.lock_timeout | 15 | >PHP_INI_ALL | Supported since memcache 3.0.4
memory_limit | "128M" | PHP_INI_ALL |
mysql.allow_local_infile | "1" | PHP_INI_SYSTEM |
mysql.allow_persistent | "1" | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | PHP_INI_SYSTEM |
mysql.max_links | "-1" | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | PHP_INI_ALL |
mysql.default_port | NULL | PHP_INI_ALL |
mysql.default_socket | NULL | PHP_INI_ALL |
mysql.default_host | NULL | PHP_INI_ALL |
mysql.default_user | NULL | PHP_INI_ALL |
mysql.default_password | NULL | PHP_INI_ALL |
mysql.connect_timeout | "60" | PHP_INI_ALL |
mysqli.allow_local_infile | "0" | PHP_INI_SYSTEM | Before PHP 7.2.16 and 7.3.3 the default was "1".
mysqli.local_infile_directory |  | PHP_INI_SYSTEM | Available as of PHP 8.1.0.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM |
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM |
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | "3306" | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Removed as of PHP 8.2.0
mysqli.rollback_on_cached_plink | "0" | PHP_INI_SYSTEM |
mysqlnd.collect_statistics | "1" | PHP_INI_SYSTEM |
mysqlnd.collect_memory_statistics | "0" | PHP_INI_SYSTEM |
mysqlnd.debug | "" | PHP_INI_SYSTEM |
mysqlnd.log_mask | 0 | PHP_INI_ALL |
mysqlnd.mempool_default_size | 16000 | PHP_INI_ALL |
mysqlnd.net_read_timeout | "86400" | PHP_INI_ALL | Before PHP 7.2.0 the default value was "31536000" and the changeability was PHP_INI_SYSTEM
mysqlnd.net_cmd_buffer_size | "4096" | PHP_INI_SYSTEM |
mysqlnd.net_read_buffer_size | "32768" | PHP_INI_SYSTEM |
mysqlnd.sha256_server_public_key | "" | PHP_INI_PERDIR |
mysqlnd.trace_alloc | "" | PHP_INI_SYSTEM |
mysqlnd.fetch_data_copy | 0 | PHP_INI_ALL | Removed as of PHP 8.1.0
oci8.connection_class | "" | PHP_INI_ALL |
oci8.default_prefetch | "100" | PHP_INI_SYSTEM |
oci8.events | Off | PHP_INI_SYSTEM |
oci8.max_persistent | "-1" | PHP_INI_SYSTEM |
oci8.old_oci_close_semantics | Off | PHP_INI_SYSTEM | Deprecated as of PHP 8.1.0.
oci8.persistent_timeout | "-1" | PHP_INI_SYSTEM |
oci8.ping_interval | "60" | PHP_INI_SYSTEM |
oci8.prefetch_lob_size | "0" | PHP_INI_SYSTEM | Available since PECL OCI8 3.2.
oci8.privileged_connect | Off | PHP_INI_SYSTEM |
oci8.statement_cache_size | "20" | PHP_INI_SYSTEM |
odbc.default_db * | NULL | PHP_INI_ALL |
odbc.default_user * | NULL | PHP_INI_ALL |
odbc.default_pw * | NULL | PHP_INI_ALL |
odbc.allow_persistent | "1" | PHP_INI_SYSTEM |
odbc.check_persistent | "1" | PHP_INI_SYSTEM |
odbc.max_persistent | "-1" | PHP_INI_SYSTEM |
odbc.max_links | "-1" | PHP_INI_SYSTEM |
odbc.defaultlrl | "4096" | PHP_INI_ALL |
odbc.defaultbinmode | "1" | PHP_INI_ALL |
odbc.default_cursortype | "3" | PHP_INI_ALL |
opcache.enable | "1" | PHP_INI_ALL |
opcache.enable_cli | "0" | PHP_INI_SYSTEM | Between PHP 7.1.2 and 7.1.6 inclusive, the default was "1"
opcache.memory_consumption | "128" | PHP_INI_SYSTEM |
opcache.interned_strings_buffer | "8" | PHP_INI_SYSTEM |
opcache.max_accelerated_files | "10000" | PHP_INI_SYSTEM |
opcache.max_wasted_percentage | "5" | PHP_INI_SYSTEM |
opcache.use_cwd | "1" | PHP_INI_SYSTEM |
opcache.validate_timestamps | "1" | PHP_INI_ALL |
opcache.revalidate_freq | "2" | PHP_INI_ALL |
opcache.revalidate_path | "0" | PHP_INI_ALL |
opcache.save_comments | "1" | PHP_INI_SYSTEM |
opcache.fast_shutdown | "0" | PHP_INI_SYSTEM | Removed in PHP 7.2.0
opcache.enable_file_override | "0" | PHP_INI_SYSTEM |
opcache.optimization_level | "0x7FFEBFFF" | PHP_INI_SYSTEM | Changed from 0x7FFFBFFF in PHP 7.3.0
opcache.inherited_hack | "1" | PHP_INI_SYSTEM | Removed in PHP 7.3.0
opcache.dups_fix | "0" | PHP_INI_ALL |
opcache.blacklist_filename | "" | PHP_INI_SYSTEM |
opcache.max_file_size | "0" | PHP_INI_SYSTEM |
opcache.consistency_checks | "0" | PHP_INI_ALL | Disabled as of 8.1.18 and 8.2.5. Removed as of PHP 8.3.0.
opcache.force_restart_timeout | "180" | PHP_INI_SYSTEM |
opcache.error_log | "" | PHP_INI_SYSTEM |
opcache.log_verbosity_level | "1" | PHP_INI_SYSTEM |
opcache.record_warnings | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.preferred_memory_model | "" | PHP_INI_SYSTEM |
opcache.protect_memory | "0" | PHP_INI_SYSTEM |
opcache.mmap_base | null | PHP_INI_SYSTEM |
opcache.restrict_api | "" | PHP_INI_SYSTEM |
opcache.file_update_protection | "2" | PHP_INI_ALL |
opcache.huge_code_pages | "0" | PHP_INI_SYSTEM |
opcache.lockfile_path | "/tmp" | PHP_INI_SYSTEM |
opcache.opt_debug_level | "0" | PHP_INI_SYSTEM | Available as of PHP 7.1.0
opcache.file_cache | NULL | PHP_INI_SYSTEM |
opcache.file_cache_only | "0" | PHP_INI_SYSTEM |
opcache.file_cache_consistency_checks | "1" | PHP_INI_SYSTEM |
opcache.file_cache_fallback | "1" | PHP_INI_SYSTEM | Windows only.
opcache.validate_permission | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.validate_root | "0" | PHP_INI_SYSTEM | Available as of PHP 7.0.14
opcache.preload | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.preload_user | "" | PHP_INI_SYSTEM | Available as of PHP 7.4.0
opcache.cache_id | "" | PHP_INI_SYSTEM | Windows only. Available as of PHP 7.4.0
opcache.jit | "tracing" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_buffer_size | "0" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_debug | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_bisect_limit | "0" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_prof_threshold | "0.005" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_root_traces | "1024" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_side_traces | "128" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_max_exit_counters | "8192" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_loop | "64" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_func | "127" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_return | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_hot_side_exit | "8" | PHP_INI_SYSTEM | Available as of PHP 8.0.0
opcache.jit_blacklist_root_trace | "16" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_blacklist_side_trace | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_loop_unrolls | "8" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_recursive_returns | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
opcache.jit_max_polymorphic_calls | "2" | PHP_INI_ALL | Available as of PHP 8.0.0
open_basedir | NULL | PHP_INI_ALL |
output_buffering | "0" | PHP_INI_PERDIR |
output_handler | NULL | PHP_INI_PERDIR |
pcre.backtrack_limit | "1000000" | PHP_INI_ALL |
pcre.recursion_limit | "100000" | PHP_INI_ALL |
pcre.jit | "1" | PHP_INI_ALL |
pdo.dsn.* |  | sadece php.ini dosyasında |
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL |
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Bu kullanımı önerilmeyen özellik gelecekte kesinlikle KALDIRILACAKTIR.
pgsql.allow_persistent | "1" | PHP_INI_SYSTEM |
pgsql.max_persistent | "-1" | PHP_INI_SYSTEM |
pgsql.max_links | "-1" | PHP_INI_SYSTEM |
pgsql.auto_reset_persistent | "0" | PHP_INI_SYSTEM |
pgsql.ignore_notice | "0" | PHP_INI_ALL |
pgsql.log_notice | "0" | PHP_INI_ALL |
phar.readonly | "1" | PHP_INI_ALL |
phar.require_hash | "1" | PHP_INI_ALL |
phar.cache_list | "" | PHP_INI_SYSTEM |
post_max_size | "8M" | PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
realpath_cache_size | "16K" | PHP_INI_SYSTEM |
realpath_cache_ttl | "120" | PHP_INI_SYSTEM |
register_argc_argv | "1" | PHP_INI_PERDIR |
report_memleaks | "1" | PHP_INI_ALL |
report_zend_debug | "1" | PHP_INI_ALL |
request_order | "" | PHP_INI_PERDIR |
runkit.superglobal | "" | PHP_INI_PERDIR |
runkit.internal_override | "0" | PHP_INI_SYSTEM |
sendmail_from | NULL | PHP_INI_ALL |
sendmail_path | "/usr/sbin/sendmail -t -i" | PHP_INI_SYSTEM |
serialize_precision | "-1" | PHP_INI_ALL | PHP 7.1.0'a kadar öntanımlı değer 17 idi.
session.save_path | "" | PHP_INI_ALL |
session.name | "PHPSESSID" | PHP_INI_ALL |
session.save_handler | "files" | PHP_INI_ALL |
session.auto_start | "0" | PHP_INI_PERDIR |
session.gc_probability | "1" | PHP_INI_ALL |
session.gc_divisor | "100" | PHP_INI_ALL |
session.gc_maxlifetime | "1440" | PHP_INI_ALL |
session.serialize_handler | "php" | PHP_INI_ALL |
session.cookie_lifetime | "0" | PHP_INI_ALL |
session.cookie_path | "/" | PHP_INI_ALL |
session.cookie_domain | "" | PHP_INI_ALL |
session.cookie_secure | "0" | PHP_INI_ALL | PHP 7.2.0 öncesinde "" öntanımlıydı.
session.cookie_httponly | "0" | PHP_INI_ALL | PHP 7.2.0 öncesinde "" öntanımlıydı.
session.cookie_samesite | "" | PHP_INI_ALL | PHP 7.3.0'dan beri kullanılabilmektedir.
session.use_strict_mode | "0" | PHP_INI_ALL |
session.use_cookies | "1" | PHP_INI_ALL |
session.use_only_cookies | "1" | PHP_INI_ALL |
session.referer_check | "" | PHP_INI_ALL |
session.cache_limiter | "nocache" | PHP_INI_ALL |
session.cache_expire | "180" | PHP_INI_ALL |
session.use_trans_sid | "0" | PHP_INI_ALL |
session.trans_sid_tags | "a=href,area=href,frame=src,form=" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.trans_sid_hosts | $_SERVER['HTTP_HOST'] | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.sid_length | "32" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.sid_bits_per_character | "4" | PHP_INI_ALL | PHP 7.1.0'dan beri kullanılabilmektedir.
session.upload_progress.enabled | "1" | PHP_INI_PERDIR |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR |
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR |
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR |
session.upload_progress.freq | "1%" | PHP_INI_PERDIR |
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR |
session.lazy_write | "1" | PHP_INI_ALL |
session.hash_function | "0" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.hash_bits_per_character | "4" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.entropy_file | "" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
session.entropy_length | "0" | PHP_INI_ALL | PHP 7.1.0'da kaldırıldı.
short_open_tag | "1" | PHP_INI_PERDIR |
SMTP | "localhost" | PHP_INI_ALL |
smtp_port | "25" | PHP_INI_ALL |
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL |
soap.wsdl_cache | 1 | PHP_INI_ALL |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |
sql.safe_mode | "0" | PHP_INI_SYSTEM |
sqlite3.extension_dir | "" | PHP_INI_SYSTEM |
sqlite3.defensive | 1 | PHP_INI_USER | libsqlite ? 3.26.0 için PHP 7.2.17 ve PHP 7.3.4 ve sonrasında kullanılabilir. PHP 8.2.0'dan önce bu atama yalnızca PHP_INI_SYSTEM olarak değiştirilebilirdi.
sqlite3.extension_dir | "" | PHP_INI_SYSTEM | PHP 5.4.11 ve sonrasında mevcuttur.
syslog.facility | "LOG_USER" | PHP_INI_SYSTEM | PHP 7.3.0 ve sonrasında mevcuttur.
syslog.filter | "no-ctrl" | PHP_INI_ALL | PHP 7.3.0 ve sonrasında mevcuttur.
syslog.ident | "php" | PHP_INI_SYSTEM | PHP 7.3.0 ve sonrasında mevcuttur.
sys_temp_dir | "" | PHP_INI_SYSTEM |
sysvshm.init_mem | 10000 | PHP_INI_SYSTEM |
tidy.default_config | "" | PHP_INI_SYSTEM |
tidy.clean_output | "0" | PHP_INI_USER |
track_errors | "0" | PHP_INI_ALL | PHP 7.2.0 ve sonrasında kullanımı önerilmemekte olup, PHP 8.0.0'da kullanımdan kaldırılmıştır.
unserialize_callback_func | null | PHP_INI_ALL |
unserialize_max_depth | "4096" | PHP_INI_ALL | PHP 7.4.0 ve sonrasında kullanılabilir.
uploadprogress.file.filename_template | "/tmp/upt_%s.txt" | PHP_INI_ALL |
upload_max_filesize | "2M" | PHP_INI_PERDIR |
max_file_uploads | 20 | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL |
user_agent | NULL | PHP_INI_ALL |
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM |
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM |
uopz.disable | "0" | PHP_INI_SYSTEM | Available as of uopz 5.0.2
uopz.exit | "0" | PHP_INI_SYSTEM | Available as of uopz 6.0.1
uopz.overloads | "1" | PHP_INI_SYSTEM | Available as of uopz 2.0.2. Removed as of uopz 5.0.0.
variables_order | "EGPCS" | PHP_INI_PERDIR |
windows.show_crt_warning | "0" | PHP_INI_ALL |
xbithack | "0" | PHP_INI_ALL |
xmlrpc_errors | "0" | PHP_INI_SYSTEM |
xmlrpc_error_number | "0" | PHP_INI_ALL |
yaz.keepalive | "120" | PHP_INI_ALL |
yaz.log_mask | NULL | PHP_INI_ALL | yaz 1.0.3 ve sonrasında mevcuttur.
zend.assertions | "1" | PHP_INI_ALL |
zend.detect_unicode | "1" | PHP_INI_ALL |
zend.enable_gc | "1" | PHP_INI_ALL |
zend.multibyte | "0" | PHP_INI_PERDIR |
zend.script_encoding | NULL | PHP_INI_ALL |
zend.signal_check | "0" | PHP_INI_SYSTEM |
zend_extension | NULL | sadece php.ini |
zlib.output_compression | "0" | PHP_INI_ALL |
zlib.output_compression_level | "-1" | PHP_INI_ALL |
zlib.output_handler | "" | PHP_INI_ALL |


php.ini bölümlerinin listesi

Bu liste, PHP kurulumunuzu her konak (HOST) veya dosya yolu (PATH) için yapılandırmakta kullanacağınız php.ini bölümlerini içerir. Bu bölümler isteğe bağlıdır.

Bu bölümler PHP'yi doğrudan etkilemez. php.ini yönergelerini aralarında ve belli bir konak veya yol için gruplamakta kullanılırlar.

Bu bölümler sadece CGI/FastCGI kipinde kullanılır; extension ve zend_extension yönergelerini tanımlamakta kullanılamaz.

Bölümler
İsim | Değişlik Yeri | Sürüm Bilgisi
[HOST=] | PHP_INI_SYSTEM |
[PATH=] | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

[HOST=<site.adı>]

Sadece ismi belirtilen konak üzerinde etkili olacak php.ini yönergelerini gruplamak için kullanılır.

Örnek 1 - dev.site.dom alan adı için ekranda hata raporlamayı etkin kılmak

[HOST=dev.site.dom]
error_reporting = E_ALL
display_errors = On

[PATH=<dosya/yolu>]

Sadece yolu belirtilen betikler üzerinde etkili olacak php.ini yönergelerini gruplamak için kullanılır.

Örnek 2 - Korunmuş alanlar için güvenlik betikleri eklemek

[PATH=/home/site/public/secure]
auto_prepend_file=security.php


Temel php.ini yönergelerinin tanımları

Bu liste PHP kurulumunu yapılandırmakta kullanılan yerleşik php.ini yönergelerini içerir. Eklentilerle ilgili yönergeler eklentinin kendi belgelerinde listelenmiş ve açıklanmıştır. Örneğin, oturum yönergeleri ile ilgili bilgiler oturumlar sayfasında bulunabilir.

Bilginize:

Burada listelenen öntanımlılar php.ini yüklenirken kullanılır; değerler kullanıcı içindir ve geliştirilmekte olan php.ini farklı olabilir.

Dil Seçenekleri

Dil ve Çeşitli Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
short_open_tag | "1" | PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
serialize_precision | "-1" | PHP_INI_ALL | PHP 7.1.0 öncesinde öntanımlı değer 17 idi.
disable_functions | "" | sadece >PHP_INI_SYSTEM |
disable_classes | "" | sadece php.ini |
exit_on_timeout | "" | PHP_INI_ALL |
expose_php | "1" | sadece php.ini |
hard_timeout | "2" | PHP_INI_SYSTEM | PHP 7.1.0 ve sonrasında mevcuttur.
zend.exception_ignore_args | "0" | PHP_INI_ALL | PHP 7.4.0 ve sonrasında mevcuttur.
zend.multibyte | "0" | PHP_INI_ALL |
zend.script_encoding | NULL | PHP_INI_ALL |
zend.detect_unicode | NULL | PHP_INI_ALL |
zend.signal_check | "0" | PHP_INI_SYSTEM |
zend.assertions | "1" | Kısıtlamalarla PHP_INI_ALL |
zend.exception_string_param_max_len | "15" | PHP_INI_ALL | PHP 8.0.0 ve sonrasında mevcuttur.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

short_open_tag bool

PHP'nin başlangıç etiketinin kısa gösteriminin kullanımına izin verilip verilmediğini söyler. PHP'yi XML içinde kullanmak isterseniz <?xml ?> satırını kullanmak için bu kısa etiket kullanımını iptal edip uzun etiket (<?php ?>) kullanabilirsiniz. Aksi takdirde satırı <?php echo '<?xml version="1.0"?>';?> şeklinde PHP'ye yazdırabilirsiniz.

Bilginize:

Bu yönerge, sürekli kullanılan <?= kısaltmasını etkilemez.

precision int
Gerçek sayılarda ondalık noktadan sonraki anlamlı hane sayısı. -1 böyle sayıların yuvarlatılmasında geliştirilmiş bir algoritmanın kulllanılacağı anlamına gelir.
serialize_precision int
Gerçek sayılar dizgileştirilirken saklanan ondalık noktadan sonraki anlamlı hane sayısı. -1 böyle sayıların yuvarlatılmasında geliştirilmiş bir algoritmanın kulllanılacağı anlamına gelir.
expose_php bool

PHP'nin kurulu olduğu sunucuda sürüm bilgisini HTTP başlığına eklemek suretiyle (örn: X-Powered-By: PHP/5.3.7) kendini karşıya gösterip göstermeyeceğini belirler.

disable_functions string
Bu yönerge belli işlevleri iptal etmeye yarar. İşlev isimleri aralarına virgül konarak belirtilir.

Bu yönerge ile sadece dahili işlevler iptal edilebilir. Kullanıcı tarafından tanımlanmış işlevler etkilenmez.

Bu yönerge sadece php.ini içinde atanabilir. Örneğin httpd.conf dosyasında tanımlayamazsınız.
disable_classes string
Bu yönerge belli sınıfları iptal etmeye yarar. Sınıf isimleri aralarına virgül konarak belirtilir. Bu yönerge sadece php.ini içinde atanabilir. Örneğin httpd.conf dosyasında tanımlayamazsınız.
zend.exception_string_param_max_len int
Dizgelenmiş yığıt izlemelerinde dizge işlevi bağımsız değişkenlerinin azami uzunluğu. "0" ile "1000000" arasında olmalıdır.
hard_timeout int

max_execution_time yönergesinde atanan zaman aşımına ulaşıldığında PHP özkaynaklarından nazikçe kurtulacaktır. Bu olurken bir şey takılırsa, katı zaman aşımı ayarlanan saniye miktarı kadar ilerleyecektir. Katı zaman aşımına ulaşıldığında PHP hoyratça çıkış yapar. Bu yönergeye 0 atanırsa katı zaman aşımı asla devreye girmez.

PHP katı zaman aşımında durursa ölümcül hata çıktılanır:

Fatal error: Maximum execution time of 30+2 seconds exceeded (terminated) in Unknown on line 0

zend.assertions int
1 atandığında, Kararlılık denetimleri kodu üretilir ve çalıştırılır (geliştirme kipi). 0 atandığında kod yine üretilir fakat çalıştırılmaz. -1 atandığında ise kod üretilmez ve bu atama kararlılık denetimlerinin maliyetini sıfırlar (üretim kipi).

Bilginize:

Bir süreç üretim kipinde başlatılmışsa, kararlılık denetimleri kodu üretilmediğinden zend.assertions çalışma anında değiştirilemez.

Bir süreç geliştirme kipinde başlatılmışsa, zend.assertions'a çalışma anında -1 atanamaz.

zend.exception_ignore_args bool

İstisnalardan oluşturulan yığın izlerindeki bağımsız değişkenleri hariç tutar.

zend.multibyte bool

Çokbaytlı kodlanmış kaynak dosyalarının çözümlenmesini etkin kılar. Çokbaytlı dizge verisi içinde özel karakterler içeren SJIS, BIG5, vs. gibi karakter kodlamalarını kullanmak için zend.multibyte etkin olmalıdır. UTF-8, EUC gibi ISO-8859-1 uyumlu kodlamalar bu seçeneğin etkinleştirilmesini gerektirmez.

zend.multibyte seçeneğinin etkin olabilmesi için mbstring eklentisi kullanımda (kurulu) olmalıdır.

zend.script_encoding string

Betiğin tepesinde declare(encoding=...) yönergesi görünmediği takdirde bu değer kullanılır. ISO-8859-1 ve UTF-8 ile uyumlu olmayan kodlamalar için zend.multibyte ve zend.script_encoding seçeneklerinin ikisi de etkin olmalıdır.

Kod dizgeleri, mb_convert_encoding() çağrılmış gibi zend.script_enconding'den mbstring.internal_encoding'e çevrilir.

zend.detect_unicode bool

BOM'a (Bayt sıralama imi) ve dosyanın çokbaytlı karakterler içerip içermediğine bakılır. Bu saptama __halt_compiler() çalıştırılmadan önce yapılır. Sadece Zend Multibyte kipinde kullanılabilir.

zend.signal_check bool

Sistemin kapanması sırasında sinyal eylemcilerinin yerleştirilip yerleştirilmediğini sınamak için.

detect_unicode bool

Bayt sırası imine ve dosyanın geçerli çok baytlı karakterleri içerip içermediğine bakar. Bu işlem __halt_compiler() işleme sokulmadan önce yapılır. Sadece Çokbaytlı Zend kipinde kullanılabilir.

exit_on_timeout bool

Bu Apache1 mod_php modülüne özgü bir yönergedir ve PHP icrası sırasında bir zaman aşımı oluştığu takdirde PHP'yi çalıştıran Apache lat sürecinin çıkmasını sağlar. Böyle bir zaman aşımı Apache1 içinde bazı eklentileri kararsız durumda bırakabilen dahili bir longjmp() çağrısına sebep olur. Süreci sonlandırmak suretiyle takılı kalmış kilitler ve bellek temizlenebilir.

Özkaynak Sınırları

Özkaynak Sınırları
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
memory_limit | "128M" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

memory_limit int

Bir betiğin ayırmasına izin verilebilecek belleğin azami miktarını belirler. Bu yönerge, yetersiz betiklerin bir sunucu üzerinde mevcut belleğin tamamını tüketmesini önlemeye yardımcı olur. Belleği sınırlamak istemiyorsanız yönergeye -1 değeri atayın.

int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.

Ayrıca bakınız: max_execution_time.

Başarım Arttırma

Başarım Arttırma
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
realpath_cache_size | "4M" | PHP_INI_SYSTEM | PHP 7.0.16 ve 7.1.2 öncesinde öntanımlı değer "16K" idi.
realpath_cache_ttl | "120" | PHP_INI_SYSTEM |

Bilginize:

open_basedir kullanımı realpath önbelleğini iptal eder.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

realpath_cache_size int

PHP tarafından kullanılan realpath önbelleğinin boyunu belirler. PHP'nin çok sayıda dosya açtığı sistemlerde gerçekleştirilen dosya işlemlerinin miktarına bağlı olarak bu değerin arttırılması gerekir.

Boyut saklanan dosyanın yol dizgesinin bayt olarak uzunluğunu artı, arabellek girdisiyle ilişkili verinin miktarını gösterir. Yani, arabellekte daha uzun dosya yolu saklamak için arabellek boyutunu arttırmanız gerekir. Bu değer arabelleklenebilen farklı yolların sayısını doğrudan saptayabilmeyi sağlamaz.

Arabellek girdisi için gereken boyut sistemden sisteme değişir.

realpath_cache_ttl int

Belli bir dosya veya dizin için realpath bilgisini önbellekte tutma süresi (saniye cinsinden). Dosyaların nadiren değiştiği sistemlerde bu değer arttırılabilir.

Veri İşleme

Veri İşleme Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
arg_separator.output | "&" | PHP_INI_ALL |
arg_separator.input | "&" | PHP_INI_PERDIR |
variables_order | "EGPCS" | PHP_INI_PERDIR |
request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
auto_globals_jit | "1" | PHP_INI_PERDIR |
register_argc_argv | "1" | PHP_INI_PERDIR |
enable_post_data_reading | "1" | PHP_INI_PERDIR |
post_max_size | "8M" | PHP_INI_PERDIR |
auto_prepend_file | NULL | PHP_INI_PERDIR |
auto_append_file | NULL | PHP_INI_PERDIR |
default_mimetype | "text/html" | PHP_INI_ALL |
default_charset | "" | PHP_INI_ALL |
input_encoding | "" | PHP_INI_ALL |
output_encoding | "" | PHP_INI_ALL |
internal_encoding | "" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

arg_separator.output string

PHP'de üretilen URL'leri bağımsız değişkenlerine ayırmak için kullanılan ayraç.

arg_separator.input string

Girdi olarak verilen URL'leri değişkenlere çözümlemek için PHP tarafından kullanılan ayraçların listesi.

Bilginize:

Bu yönergede belirtilen her karakter bir ayraç olarak ele alınır!

variables_order string

EGPCS (Environment, Get, Post, Cookie ve Server) değişken çözümleme sırası belirtilir. Örneğin, değer olarak "SP" belirtilirse, PHP, $_SERVER ve $_POST süper küresellerini oluşturacak ama $_ENV, $_GET ve $_COOKIE süper küresellerini oluşturmayacaktır. Değer olarak "" atanırsa hiçbir süper küresel atanmayacaktır.

Uyarı

CGI ve FastCGI SAPI'lerinin her ikisi için de $_SERVER dizisi ortamdaki değerlerle oluşturulur; S, E'nin yönergedeki yerinden bağımsız olarak daima ES'e eşdeğerdir.

Bilginize:

Ayrıca, $_REQUEST dizisinin içeriği ve sırası da bu yönergeden etkilenir.

request_order string

GET, POST ve Cookie değişkenlerinin $_REQUEST dizisinin içindeki sırasını belirler. Yazma işlemi soldan sağa doğru ilerleyerek yeni değerler eskileri geçersiz kılar.

Bu yönerge atanmazsa $_REQUEST dizisinin içeriği variables_order yönergesiyle belirlenir.

Güvenlik kaygılarından dolayı dağıtımla gelen öntanımlı php.ini dosyaları çerezler için 'C' içermez.

auto_globals_jit bool

Etkinleştirildiğinde, SERVER REQUEST ve ENV değişkenleri betik çalıştırıldığı zaman değil, değişkenler kullanıldığı anda (tam zamanında) oluşturulur. Bu değişkenler bir betik içinde kullanılmamışlarsa bu yönergenin varlığı bir başarım kazancıyla sonuçlanacaktır.

Uyarı

SERVER REQUEST ve ENV değişkenlerinin kullanımı derleme sırasında sınanır, dolayısıyla örneğin değişken değişkenler üzerinden kullanılmaları ilklendirilmelerine sebep olmayacaktır.

register_argc_argv bool
PHP'nin, (GET bilgisini içeren) argv ve argc değişkenlerini bildirip bildirmeyeceğini belirler. Komut satırı bölümüne de bakınız. Bu yönerge PHP 4.0.0'dan itibaren kullanılabilir hale geldi ve daha önce değeri daima "on" idi.
enable_post_data_reading bool
Bu seçeneğin iptali $_POST ve $_FILES verilerinin toplanmamasına sebep olur. Post verisini okumanın tek yolu php://input akım sarmalayıcısı kullanmak olacaktır. POST verisini işlerken bellek tasarrufu yapmak veya isteklere vekalet etmek için kullanışlıdır.
post_max_size int
POST verisinin azami boyutunu belirler. Bu ayar ayrıca karşıya dosya yükleme işlemlerini de etkiler. Büyük dosyaları karşıya yüklemek için bu değerin upload_max_filesize değerinden büyük olması gerekir. Genelde, memory_limit değerinin post_max_size değerinden büyük olması gerekir. int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz. Eğer POST verisinin boyu post_max_size değerinden büyükse $_POST ve $_FILES süper küreselleri boş olur. Bu, çeşitli yollarla izlenebilir; örneğin, veriyi işleyen betiğe $_GET değişkenini <form action="edit.php?processed=1"> ile aktararak ve ardından $_GET['processed'] atanmış mı diye sınanarak bu yapılabilir.

Bilginize:

PHP bayt değerleri için K (kilo), M (mega) ve G (giga) birim kısaltmalarını kabul eder. Bunları kullanırsanız PHP dönüşümü otomatik olarak yapacaktır. 32 bitlik sürümleri kullanıyorsanız, 32 bitlik işaretli tamsayı sınırını aşmamaya dikkat edin, aksi takdirde betiğiniz başarısız olacaktır.

post_max_size ile ilgili değişiklikler
Sürüm: Açıklama
5.3.4 | İçerik türü PHP'de tanımlı değilse veya içerik türü application/x-www-form-urlencoded ise post_max_size = 0 ataması sınırlamayı iptal etmez.
5.3.2 , 5.2.12 | post_max_size = 0 ataması POST boyutunu sınırsız yapar.
auto_prepend_file string

Otomatik olarak ana betikten önce çözümlenecek dosyanın ismi belirtilir. Dosya require ile belirtilmiş gibi ana dosyanın başına eklenir; dolayısıyla dosyayı bulmak için include_path kullanılır.

none özel değeri başa dosya eklemeyi iptal eder.

auto_append_file string

Otomatik olarak ana betikten sonra çözümlenecek dosyanın ismi belirtilir. Dosya require ile belirtilmiş gibi ana dosyanın sonuna eklenir; dolayısıyla dosyayı bulmak için include_path kullanılır.

none özel değeri sona dosya eklemeyi iptal eder.

Bilginize: Eğer betik exit() ile sonlanırsa otomatik ekleme gerçekleşmez.

default_mimetype string

Öntanımlı MIME türü. Öntanımlı olarak PHP ortam türünü Content-Type başlığını kullanarak gönderir. Ortam türünün gönderilmesini engellemek için değişkene hiçbir şey atanmamalıdır.

PHP'nin yerleşik öntanımlı ortam türü text/html olarak atanmıştır.

default_charset string

"UTF-8" öntanımlı değerdir ve eğer encoding kullanılmamışsa bu değer htmlentities(), html_entity_decode() ve htmlspecialchars() için öntanımlı karakter kodlaması olarak kullanılır. Ayrıca: iconv.input_encoding, iconv.output_encoding ve iconv.internal_encoding yapılandırma seçeneklerine değer atanmamışsa default_charset iconv işlevleri için de öntanımlı karakter kümesi olur. mbstring.http_input, mbstring.http_output ve mbstring.internal_encoding yapılandırma seçeneklerine değer atanmamışsa default_charset mbstring işlevleri için de öntanımlı karakter kümesi olur.

PHP tarafından gönderilen Content-Type başlığı header() çağrısı ile değiştirilmedikçe PHP'nin tüm sürümlerinde başlıktaki karakter kümesi değeri bu değer olacaktır.

default_charset seçeneğine boş değer atanması önerilmez.

input_encoding string

Bu değer mbstring ve iconv gibi çokbayt modülleri için kullanılır. Öntanımlı değer boş dizgedir.

output_encoding string

Bu değer mbstring ve iconv gibi çokbayt modülleri için kullanılır. Öntanımlı değer boş dizgedir.

internal_encoding string

Bu değer mbstring ve iconv gibi çokbayt modülleri için kullanılır. Öntanımlı değer boş dizgedir ve böyle bir durumda default_charset kullanılır.

Dosya Yolları ve Dizinler

Dosya Yolları ve Dizinler için Yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
include_path | ".;/path/to/php/pear" | PHP_INI_ALL |
open_basedir | NULL | PHP_INI_ALL |
doc_root | NULL | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
user_ini.cache_ttl | "300" | PHP_INI_SYSTEM |
user_ini.filename | ".user.ini" | PHP_INI_SYSTEM |
extension_dir | "/path/to/php" | PHP_INI_SYSTEM |
extension | NULL | sadece php.ini |
zend_extension | NULL | sadece php.ini |
cgi.check_shebang_line | "1" | PHP_INI_SYSTEM |
cgi.discard_path | "0" | PHP_INI_SYSTEM |
cgi.fix_pathinfo | "1" | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.nph | "0" | PHP_INI_SYSTEM |
cgi.redirect_status_env | NULL | PHP_INI_SYSTEM |
cgi.rfc2616_headers | "0" | PHP_INI_ALL |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
fastcgi.logging | "1" | PHP_INI_SYSTEM |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

include_path string

require, include, fopen(), file(), readfile() ve file_get_contents() işlevleri için dosyaların aranacağı dizinler belirtilir. Dizgenin biçemi sistemin PATH ortam değişkenindeki gibidir: Dizinler Unix'te iki nokta imleriyle, Windows'ta ise noktalı virgüllerle ayrılır.

PHP, dahil edilecek dosyaları include_path içindeki yollarda her dosya için tek tek sırayla arar. Önce ilk yola bakar, sonra diğerine, böyle gider. Ya dosyayı bulur ya da bir E_WARNING veya bir E_ERROR ile döner. Bu yönergenin değerini betiğinizin çalışması sırasında set_include_path() işleviyle değiştirebilirsiniz.

Örnek 1 - Unix include_path

include_path=".:/php/includes"

Örnek 2 - Windows include_path

include_path=".;c:\php\includes"

Dosya yolu olarak . belirtilmesi çalışılan dizinin arama yollarına dahil edilmesini sağlar. Ancak, dahil edilen her dosyayı PHP'nin daima denetlemesini isterseniz include './dosya' biçemini kullanmak daha iyidir.

Bilginize:

ENV değişkenlerine .ini dosyalarında daima erişilebilmektedir. Dolayısıyla, ${LOGIN} ve ${USER}.kullanarak home dizinine erişmek mümkündür.

Ortam değişkenleri sunucunun çalıştığı sisteme bağlı olarak değişiklik gösterebilir.

Örnek 3 - include_path değişkeninde Unix ${USER} ortam değişkeni kullanımı

include_path = ".:${USER}/pear/php"

open_basedir string

PHP tarafından açılmış dosyaları, dosyanın kendisi de dahil olmak üzere belirtilen dizin ağacı ile sınırlar.

Örneğin bir betik dosya sistemine erişmeye çalışırsa, örneğin fopen() veya gzopen() ile bir dosya açmaya çalışırsa dosyanın yerine bakılır. Dosya belirtilen dizin ağacının dışındaysa PHP bu dosyayı açmayı reddeder. Tüm sembolik bağlar çözümlenir, dolayısıyla bir sembolik bağ kullanarak bu kısıtlamayı aşmak mümkün değildir. Eğer dosya mevcut değilse sembolik bağ çözümlenemeyeceğinden dosyanın kendisi open_basedir ile karşılaştırılır.

open_basedir dosya sistemi işlevlerinden daha fazlasını etkileyebilir; örneğin, MySQL mysqlnd sürücülerini kullanacak şekilde yapılandırılmışsa LOAD DATA INFILE bu seçenekten etkilenir. PHP'nin gelişkin işlevselliğinin çoğu open_basedir'ı böyle kullanır.

Betiğin çalışma dizinini belirten nokta (.) özel değeri temel dizini belirtmek için kullanılabilir. Bunula birlikte, çalışma dizini chdir() ile kolayca değiştirilebilceğinden bunu yapmak biraz tehlikelidir.

httpd.conf içinde (örneğin bazı sanal konaklarda), open_basedir yönergesi diğer "php_admin_value open_basedir none" gibi yapılandırma yönergelerinde yapıldığı gibi kapatılabilir.

Windows altında, dizinleri aralarına noktalı virgül konarak belirtilir. Diğer tüm sistemlerde ikinokta imi kullanılır. PHP'nin Apache modülü olarak kullanıldığı durumlarda open_basedir ile belirtilen yollar artık üst dizinlerinden otomatik olarak miras alınmaktadır.

open_basedir ile belirtilen kısıt bir önek değil bir dizin ismidir.

Öntanımlı olarak bütün dosyaların açılmasına izin verilir.

Bilginize:

open_basedir çalışma anında daha da kısıtlayıcı hale getirilebilmektedir. Örneğin, php.ini içinde open_basedir yönergesinde /siteler/ dizini belirtilmişse çalışma anında ini_set() işlevi kullanılarak kısıtlama /siteler/tmp/ ile daha da daraltılabilir. Çeşitli dizinleri listelerken, işletim sisteminin kısıtlarına aldırmaksızın bir ayraç olarak PATH_SEPARATOR sabiti kullanılabilir.

Bilginize:

open_basedir kullanımırealpath_cache_size seçeneğine 0 atar, dolayısıyla realpath önbelleği iptal olur.

Dikkat

open_basedir sadece ek bir güvenlik ağıdır, hiçbir şekilde kapsamlı değildir ve bu nedenle güvenlik gerektiğinde güvenilemez.

doc_root string

PHP'nin sunucu üzerindeki kök dizini. Sadece boş olmadığı takdirde kullanılır. PHP, FORCE_REDIRECT ile derlenmişse, PHP'yi HTTP sunucusu altında bir CGI olarak çalıştırıyorsanız doc_root yönergesini atamanız gerekir (IIS hariç). Bunun yerine aşağıdaki cgi.force_redirect yapılandırması da kullanılabilir.

user_ini.cache_ttl int

user_ini.filename string

user_dir string

Kullanıcının ev dizininde PHP dosyalarının bulunduğu ana dizin. Örnek: public_html.

extension_dir string

PHP'nin dinamik olarak yüklenebilen eklentileri arayacağı dizin. Dizinin mutlak yolunun belirtilmesi önerilir. Ayrıca bakınız: enable_dl ve dl().

extension string

PHP başlatılırken dinamik olarak yüklenecek eklentiler.

zend_extension string

PHP başlatılırken yüklenecek dinamik olarak yüklenebilen Zend eklentisinin ismi (örneğin XDebug).

cgi.check_shebang_line bool

CGI PHP'nin betiklerin başında #! ile başlayan satırın varlığına bakıp bakmayacağını belirler. Betik hem PHP CGI hem de tek başına bir betik olarak çalışabiliyorsa bu satır gerekebilir. PHP, CGI kipinde çalışırken bu satırı atlar, bu yönerge "1" olsa bile satırın içeriği yok sayılır.

cgi.discard_path bool

Etkinse, the PHP CGI ikili site ağacının dışına güvenle yerleştirilebilir ve .htaccess güvenliğini kimse atlatamaz.

cgi.fix_pathinfo bool

CGI için gerçek PATH_INFO/PATH_TRANSLATED desteği sağlar. PHP'nin önceki davranışı SCRIPT_FILENAME'e PATH_TRANSLATED atamak ve PATH_INFO'yu kaale almamaktı. PATH_INFO hakkında daha ayrıntılı bilgi edinmek için CGI belirtimine bakınız. Bu yönergeye 1 atamakla PHP CGI'nin CGICGI belirtimine uygun olarak dosya arama yollarını düzeltmesi sağlanmış olur. Sıfır atandığında ise PHP'nin önceki davranışı etkin olur. Öntanımlı değer sıfırdır. Betiklerinizi PATH_TRANSLATED değil SCRIPT_FILENAME kullanması için düzeltmelisiniz.

cgi.force_redirect bool

PHP'nin çoğu HTTP sunucusunda bir CGI olarak çalışmasının güvenli olmasını sağlamak için bu yönerge gereklidir. Tanımsız bırakılmışsa PHP öntanımlı olarak yönergeyi etkin kılar. Bu yönergeyi etkisiz bırakmakla kendinizi riske atmış olursunuz.

Bilginize:

Windows Kullanıcılarına: IIS kullanıyorsanız buna rahatça sıfır atayabilirsiniz ve hatta bunu yapmalısınız. Bu, OmniHTTPD veya Xitami'nin çalışması için de yapılmalıdır.

cgi.nph bool

Etkinse, cgi'nin her isteğe mutlaka Status: 200 göndermesini sağlar.

cgi.redirect_status_env string

cgi.force_redirect yönergesine 1 atanmışsa ve Apache veya Netscape (iPlanet) HTTP sunucularını kullanmıyorsanız, PHP'nin çalışmaya devam edebileceği bilgisini almak için bakacağı bir ortam değişkeni ismini bu yönergeye atamanız gerekebilir.

Bilginize:

Ne yaptığınız konusunda bir fikriniz yoksa bu yönergeye bir isim atamak güvenlikle ilgili sorunlara yol açabilir.

cgi.rfc2616_headers int

HTTP yanıt kodu gönderilirken hangi başlık türlerinin kullanılacağını belirler. 0 atanırsa PHP, Apache ve diğer HTTP sunucuları tarafından desteklenen bir » RFC 3875 Status: başlığı gönderir. 1 atanırsa PHP, » RFC 2616 uyumlu başlıklar gönderir.

Bu seçenek etkinse ve PHP'yi bir CGI ortamında kullanıyorsanız (PHP-FPM gibi), standard RFC 2616 tarzı HTTP durum yanıt başlıklarını değil, onların RFC 3875 eşdeğerlerini kullanmalısınız. Örneğin header("HTTP/1.0 404 Not found"); değil, header("Status: 404 Not Found"); kullanmalısınız.

Ne yapıldığı hakkında bir fikriniz yoksa bu yönergeyi 0 değeriyle bırakın.

fastcgi.impersonate string

IIS (WINNT temelli sistemlerde) altında FastCGI, çağrı yapan istemcinin güvenlik dizgeciklerinin taklit edilmesi yeteneğini destekler. Bu, IIS'ye isteğin altında çalıştığı güvenlik bağlamını tanımlama izni verir. Apache'nin mod_fastcgi modülü bu özelliği desteklemez (17-03-2002). IIS altında çalışılıyorsa yönergeye 1 atayın. Öntanımlı değer sıfırdır.

fastcgi.logging bool

Turns on SAPI logging when using FastCGI kullanırken SAPI oturum açma etkin olur ve bu öntanımlı durumdur.

Karşıya Dosya Yükleme

Karşıya Dosya Yükleme Yapılandırma seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
file_uploads | "1" | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
max_input_nesting_level | 64 | PHP_INI_PERDIR |
max_input_vars | 1000 | PHP_INI_PERDIR |
upload_max_filesize | "2M" | PHP_INI_PERDIR |
max_file_uploads | 20 | PHP_INI_PERDIR |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

file_uploads bool

HTTP üzerinden karşıya dosya yüklemeye izin verilip verilmeyeceğini belirler. Ayrıca, upload_max_filesize, upload_tmp_dir ve post_max_size yönergelerine de bakınız.

upload_tmp_dir string

Karşıya dosya yüklenirken dosyaların geçici olarak saklanacağı dizin. Dizinin, PHP'yi çalıştıran kullanıcı tarafından yazılabilir olması gerekir. Bir dizin belirtilmezse PHP sistem öntanımlısını kullanır.

upload_max_filesize int

Karşıya yüklenecek dosyalar için azami boyut.

post_max_size bu değerden büyük olmalıdır.

int türünde bir değer kullanıldığında değer baytların sayısıdır. Büyük bayt değerleri için kullanılabilecek birimlerin gösterimleri hakkında bilgiyi bu SSS altında bulabilirsiniz.
max_file_uploads int

Aynı anda karşıya yüklenebilecek azami dosya sayısı. Gönderim sırasında boş bırakılan yükleme alanları bu sınıra dahil değildir.

Genel SQL

Genel SQL Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
sql.safe_mode | "0" | PHP_INI_SYSTEM | PHP 7.2.0'da kaldırıldı.

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

sql.safe_mode bool

On değeri atandığında, öntanımlı değerler belirtilmiş veritabanı bağlantı işlevleri kullanıcı tarafından sağlanan bağımsız değişkenlerin yerine bu değerleri kullanacaktır. Öntanımlı değerlerin neler olduğunu görmek için ilgili veritabanının bağlantı işlevleri belgelerine bakınız.

Windows'a Özel

Windows'a Özel Yapılandırma Seçenekleri
İsim | Öntanımlı | Değişlik Yeri | Sürüm Bilgisi
windows.show_crt_warning | "0" | PHP_INI_ALL |

Yapılandırma yönergelerinin kısa açıklamalarını aşağıda bulabilirsiniz.

windows.show_crt_warning bool

Etkin olduğunda Windows CRT uyarılarını gösterir.

Uyarı

Bu özellik PHP 7.2.0'da KALDIRILDI.


Eklenti Grupları/Listesi

İçindekiler

  • Abecesel
  • Üyeler
  • Durumu Belirsizler

Bu bölümde PHP kılavuzunda çeşitli kurallara göre gruplanmış 150'den fazla eklenti listelenmiştir.


Abecesel

  • Apache
  • APCu
  • Array
  • BC
  • Bzip2
  • Calendar
  • Classobj
  • CommonMark
  • COM
  • Componere
  • Ctype
  • CUBRID
  • cURL
  • Date/Time
  • DBA
  • dBase
  • Dio
  • Dir
  • DOM
  • Data Structures
  • Eio
  • Enchant
  • Errorfunc
  • Ev
  • Event
  • Exec
  • Exif
  • Expect
  • FANN
  • FDF
  • FFI
  • Fileinfo
  • Filesystem
  • Filter
  • FastCGI Process Manager
  • FTP
  • Funchand
  • Gearman
  • Gender
  • GeoIP
  • Gettext
  • Gmagick
  • GMP
  • GnuPG
  • Hash
  • HRTime
  • Firebird/InterBase
  • IBM DB2
  • iconv
  • Igbinary
  • GD
  • ImageMagick
  • IMAP
  • Info
  • Inotify
  • Intl
  • JSON
  • LDAP
  • libxml
  • Lua
  • LuaSandbox
  • LZF
  • Mail
  • Mailparse
  • Math
  • Mbstring
  • Mcrypt
  • Memcache
  • Memcached
  • Mhash
  • Misc
  • mqseries
  • MySQL (Özgün)
  • Mysql_xdevapi
  • MySQLi
  • Mysqlnd
  • Network
  • OAuth
  • OCI8
  • OPcache
  • OpenAL
  • OpenSSL
  • Outcontrol
  • parallel
  • Parle
  • Password
  • PCNTL
  • PCRE
  • PDO
  • CUBRID (PDO)
  • MS SQL Sunucusu (PDO)
  • Firebird (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • Oracle (PDO)
  • ODBC ve DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • MS SQL Server (PDO)
  • PostgreSQL
  • Phar
  • phpdbg
  • POSIX
  • PS
  • Pspell
  • pthreads
  • Quickhash
  • Radius
  • Random
  • Rar
  • Readline
  • Recode
  • Reflection
  • Rnp
  • RpmInfo
  • RRD
  • runkit7
  • ScoutAPM
  • Seaslog
  • Semaphore
  • Sessions
  • Shared Memory
  • Simdjson
  • SimpleXML
  • SNMP
  • SOAP
  • Sockets
  • Sodium
  • Solr
  • SPL
  • SQLite3
  • SQLSRV
  • ssdeep
  • SSH2
  • Statistics
  • Stomp
  • Stream
  • Strings
  • SVM
  • SVN
  • Swoole
  • Sync
  • Taint
  • TCP
  • Tidy
  • Tokenizer
  • Trader
  • UI
  • ODBC
  • uopz
  • URL'ler
  • V8js
  • Var
  • var_representation
  • Varnish
  • WDDX
  • win32service
  • WinCache
  • wkhtmltox
  • xattr
  • xdiff
  • Xhprof
  • XLSWriter
  • XML Çözümleyici
  • XMLDiff
  • XMLReader
  • XML-RPC
  • XMLWriter
  • XSL
  • Yac
  • Yaconf
  • Yaf
  • Yaml
  • Yar
  • YAZ
  • Zip
  • Zlib
  • 0MQ messaging
  • ZooKeeper


Üyeler

Çekirdek Eklentiler

Bunlar aslında eklenti değildir. PHP çekirdeğinin parçaları olup derleme seçenekleriyle PHP çalıştırılabilirinin dışına çıkarılamazlar.

  • Array

  • Classobj

  • Date/Time

  • Dir

  • Errorfunc

  • Exec

  • Filesystem

  • FastCGI Process Manager

  • Funchand

  • Hash

  • Info

  • JSON

  • Mail

  • Math

  • Misc

  • Network

  • OPcache

  • Outcontrol

  • Password

  • PCRE

  • Random

  • Reflection

  • SPL

  • Stream

  • Strings

  • URL'ler

  • Var

Dahili Eklentiler

Bunlar PHP kaynak paketinin içinde dağıtılan eklentilerdir.

  • Apache

  • BC

  • Calendar

  • COM

  • Ctype

  • DBA

  • Exif

  • FFI

  • Fileinfo

  • Filter

  • FTP

  • HRTime

  • iconv

  • GD

  • Intl

  • Mbstring

  • Mhash

  • PCNTL

  • PDO

  • Phar

  • phpdbg

  • POSIX

  • Semaphore

  • Sessions

  • Shared Memory

  • Sockets

  • SQLite3

  • Tokenizer

  • Zlib

Harici Eklentiler

Bu eklentiler PHP ile birlikte dağıtılırsa da derlenmesi sırasında harici kütüphanelere ihtiyaç duyulur.

  • Bzip2

  • cURL

  • DOM

  • Enchant

  • Gettext

  • GMP

  • IMAP

  • LDAP

  • libxml

  • MySQLi

  • Mysqlnd

  • OCI8

  • OpenSSL

  • MS SQL Sunucusu (PDO)

  • Firebird (PDO)

  • MySQL (PDO)

  • Oracle (PDO)

  • ODBC ve DB2 (PDO)

  • PostgreSQL (PDO)

  • SQLite (PDO)

  • PostgreSQL

  • Pspell

  • Readline

  • SimpleXML

  • SNMP

  • SOAP

  • Sodium

  • Tidy

  • ODBC

  • XML Çözümleyici

  • XMLReader

  • XMLWriter

  • XSL

  • Zip

PECL Eklentileri

Bunlar » PECL deposundan temin edilebilen eklentilerdir. Derleme sırasında harici kütüphanelere ihtiyaç duyulur. Çok sayıda PECL eklentisi mevcut olmasına rağmen PHP Kılavuzunda tamamı hala belgelenememiştir.

  • APCu

  • CommonMark

  • Componere

  • CUBRID

  • dBase

  • Dio

  • Data Structures

  • Eio

  • Ev

  • Event

  • Expect

  • FANN

  • FDF

  • Gearman

  • Gender

  • GeoIP

  • Gmagick

  • GnuPG

  • Firebird/InterBase

  • IBM DB2

  • Igbinary

  • ImageMagick

  • Inotify

  • Lua

  • LuaSandbox

  • LZF

  • Mailparse

  • Mcrypt

  • Memcache

  • Memcached

  • mqseries

  • MySQL (Özgün)

  • Mysql_xdevapi

  • OAuth

  • OpenAL

  • parallel

  • Parle

  • CUBRID (PDO)

  • IBM (PDO)

  • Informix (PDO)

  • MS SQL Server (PDO)

  • PS

  • pthreads

  • Quickhash

  • Radius

  • Rar

  • Recode

  • Rnp

  • RpmInfo

  • RRD

  • runkit7

  • ScoutAPM

  • Seaslog

  • Simdjson

  • Solr

  • SQLSRV

  • ssdeep

  • SSH2

  • Statistics

  • Stomp

  • SVM

  • SVN

  • Swoole

  • Sync

  • Taint

  • TCP

  • Trader

  • UI

  • uopz

  • V8js

  • var_representation

  • Varnish

  • WDDX

  • win32service

  • WinCache

  • wkhtmltox

  • xattr

  • xdiff

  • Xhprof

  • XLSWriter

  • XMLDiff

  • XML-RPC

  • Yac

  • Yaconf

  • Yaf

  • Yaml

  • Yar

  • YAZ

  • 0MQ messaging

  • ZooKeeper


Durumu Belirsizler

Burada üretim amaçlı kullanılmayan eklentiler listelenmiştir; bunlar ya çok "eski" (önerilmez) ya da "yeni" (deneysel) eklentilerdir.

Kullanımı Önerilmeyen Eklentiler

Bunlar, daha kullanışlı başka eklentilerin varlığı nedeniyle artık kullanımı önerilmeyen eklentilerdir.

Deneysel Eklentiler

Bu eklentilerin davranışları PHP'nin sonraki sürümlerinde bilgi verilmeksizin değiştirilebilir; buna işlevlerin isimleri ve eklentiyle ilgili her türlü belge dahildir. Bu eklentileri kullanıp kullanmama kararı size kalmıştır.

  • ImageMagick

  • MS SQL Sunucusu (PDO)

  • Firebird (PDO)

  • Oracle (PDO)

  • PS

  • Rnp

  • XML-RPC


İşlev Takma Adlarının Listesi

PHP'de birden fazla isimle çağırabileceğiniz pek az işlev vardır. Bazı durumlarda çok sayıda ismin arasından birinin özellikle tercih edilmediği bazı durumlar vardır; is_int() ve is_integer() işlevleri aynı oranda tercih edilmeleriyle bunlara iyi birer örnektir. Bununla birlikte, API değişmesi veya başka bir sebeple isimleri değişen işlevler vardır. Bunların eski isimleri birer takma ad olarak geriye uyumluluk için tutulmaktadır. Bu çeşit takma adları kullanmamanız gerekir, çünkü bunlar bir zaman gelir desteklenmekten vaz geçilebilir veya isimleri değiştirilebilir ve dolayısıyla betiğiniz taşınabilirlik özelliğini kaybedebilir. Bu liste eski betiklerini yeni sözdizimine güncellemek isteyenlere yardımcı olmak amacıyla oluşturulmuştur.

Takma Adlar
Takma Ad | Asıl İşlev | Bulunduğu Eklenti
_ | gettext() | Gettext
chop | rtrim() | Temel sözdizimi
close | closedir() | Temel sözdizimi
com_get | com_propget() | COM
com_propset | com_propput() | COM
com_set | com_propput() | COM
die | exit() | Çeşitli İşlevler
diskfreespace | disk_free_space() | Dosya Sistemi
doubleval | floatval() | Temel sözdizimi
fputs | fwrite() | Temel sözdizimi
gzputs | gzwrite() | Zlib
i18n_convert | mb_convert_encoding() | Çok baytlı dizgeler
i18n_discover_encoding | mb_detect_encoding() | Çok baytlı dizgeler
i18n_http_input | mb_http_input() | Çok baytlı dizgeler
i18n_http_output | mb_http_output() | Çok baytlı dizgeler
i18n_internal_encoding | mb_internal_encoding() | Çok baytlı dizgeler
i18n_ja_jp_hantozen | mb_convert_kana() | Çok baytlı dizgeler
i18n_mime_header_decode | mb_decode_mimeheader() | Çok baytlı dizgeler
i18n_mime_header_encode | mb_encode_mimeheader() | Çok baytlı dizgeler
imap_create | imap_createmailbox() | IMAP
imap_fetchtext | imap_body() | IMAP
imap_getmailboxes | imap_list_full() | IMAP
imap_getsubscribed | imap_lsub_full() | IMAP
imap_header | imap_headerinfo() | IMAP
imap_listmailbox | imap_list() | IMAP
imap_listsubscribed | imap_lsub() | IMAP
imap_rename | imap_renamemailbox() | IMAP
imap_scan | imap_listscan() | IMAP
imap_scanmailbox | imap_listscan() | IMAP
ini_alter | ini_set() | Temel sözdizimi
is_double | is_float() | Temel sözdizimi
is_integer | is_int() | Temel sözdizimi
is_long | is_int() | Temel sözdizimi
is_real | is_float() | Temel sözdizimi
is_writeable | is_writable() | Temel sözdizimi
join | implode() | Temel sözdizimi
key_exists | array_key_exists() | Temel sözdizimi
mbstrcut | mb_strcut() | Çok baytlı dizgeler
mbstrlen | mb_strlen() | Çok baytlı dizgeler
mbstrpos | mb_strpos() | Çok baytlı dizgeler
mbstrrpos | mb_strrpos() | Çok baytlı dizgeler
mbsubstr | mb_substr() | Çok baytlı dizgeler
mysql | mysql_db_query() | MySQL
mysql_createdb | mysql_create_db() | MySQL
mysql_db_name | mysql_result() | MySQL
mysql_dbname | mysql_result() | MySQL
mysql_dropdb | mysql_drop_db() | MySQL
mysql_fieldflags | mysql_field_flags() | MySQL
mysql_fieldlen | mysql_field_len() | MySQL
mysql_fieldname | mysql_field_name() | MySQL
mysql_fieldtable | mysql_field_table() | MySQL
mysql_fieldtype | mysql_field_type() | MySQL
mysql_freeresult | mysql_free_result() | MySQL
mysql_listdbs | mysql_list_dbs() | MySQL
mysql_listfields | mysql_list_fields() | MySQL
mysql_listtables | mysql_list_tables() | MySQL
mysql_numfields | mysql_num_fields() | MySQL
mysql_numrows | mysql_num_rows() | MySQL
mysql_selectdb | mysql_select_db() | MySQL
mysql_tablename | mysql_result() | MySQL
ociassignelem | OCICollection::assignElem | OCI8
ocibindbyname | oci_bind_by_name() | OCI8
ocicancel | oci_cancel() | OCI8
ocicloselob | OCILob::close | OCI8
ocicollappend | OCICollection::append | OCI8
ocicollassign | OCICollection::assign | OCI8
ocicollmax | OCICollection::max | OCI8
ocicollsize | OCICollection::size | OCI8
ocicolltrim | OCICollection::trim | OCI8
ocicolumnisnull | oci_field_is_null() | OCI8
ocicolumnname | oci_field_name() | OCI8
ocicolumnprecision | oci_field_precision() | OCI8
ocicolumnscale | oci_field_scale() | OCI8
ocicolumnsize | oci_field_size() | OCI8
ocicolumntype | oci_field_type() | OCI8
ocicolumntyperaw | oci_field_type_raw() | OCI8
ocicommit | oci_commit() | OCI8
ocidefinebyname | oci_define_by_name() | OCI8
ocierror | oci_error() | OCI8
ociexecute | oci_execute() | OCI8
ocifetch | oci_fetch() | OCI8
ocifetchinto | oci_fetch_array(), oci_fetch_row(), oci_fetch_assoc(), oci_fetch_object() | OCI8
ocifetchstatement | oci_fetch_all() | OCI8
ocifreecollection | OCICollection::free | OCI8
ocifreecursor | oci_free_statement() | OCI8
ocifreedesc | oci_free_descriptor() | OCI8
ocifreestatement | oci_free_statement() | OCI8
ocigetelem | OCICollection::getElem | OCI8
ociinternaldebug | oci_internal_debug() | OCI8
ociloadlob | OCILob::load | OCI8
ocilogon | oci_connect() | OCI8
ocinewcollection | oci_new_collection() | OCI8
ocinewcursor | oci_new_cursor() | OCI8
ocinewdescriptor | oci_new_descriptor() | OCI8
ocinlogon | oci_new_connect() | OCI8
ocinumcols | oci_num_fields() | OCI8
ociparse | oci_parse() | OCI8
ocipasswordchange | oci_password_change() | OCI8
ociplogon | oci_pconnect() | OCI8
ociresult | oci_result() | OCI8
ocirollback | oci_rollback() | OCI8
ocisavelob | OCILob::save | OCI8
ocisavelobfile | OCILob::import | OCI8
ociserverversion | oci_server_version() | OCI8
ocisetprefetch | oci_set_prefetch() | OCI8
ocistatementtype | oci_statement_type() | OCI8
ociwritelobtofile | OCILob::export | OCI8
ociwritetemporarylob | OCILob::writeTemporary | OCI8
odbc_do | odbc_exec() | ODBC
odbc_field_precision | odbc_field_len() | ODBC
pg_clientencoding | pg_client_encoding() | PostgreSQL
pg_setclientencoding | pg_set_client_encoding() | PostgreSQL
pos | current() | Temel sözdizimi
recode | recode_string() | Recode
show_source | highlight_file() | Temel sözdizimi
sizeof | count() | Temel sözdizimi
strchr | strstr() | Temel sözdizimi
xptr_new_context | xpath_new_context() |


Yerleşik Sözcüklerin Listesi

İçindekiler

  • Anahtar Sözcüklerin Listesi
  • Öntanımlı Sınıflar
  • Yerleşik Sabitler
  • Diğer yerleşik sözcüklerin listesi

Bu bölümde PHP'de öntanımlı betimleyiciler listelenmiştir. Burada listelenmiş betimleyicilerin hiçbirini aksi açıkça belirtilmedikçe betiklerinizde betimleyici olarak kullanmamalısınız. Bu listeler, anahtar sözcükler, önceden tanımlanmış değişkenler, sabitler ve sınıf isimlerini içerir. Bu listelerde ayrıntılara yer verilmediği gibi listeler tamamlanmış da değildir.


Anahtar Sözcüklerin Listesi

PHP'de bazı sözcükler özel anlama sahiptirler. Bazıları işlev gibi görünen şeyleri temsil eder, bazıları sabit gibi görünür, vb - ama aslında değiller: Bunlar aslında dil oluşumlarıdır. Aşağıdaki sözcükler sabit, sınıf veya işlev ismi olarak kullanılamaz. Bununla birlikte, sınıfların, arabirimlerin ve niteliklerin özellik, sabit ve yöntemlerinin adları olarak kullanılabilmesine izin verilmiştir, bir şey hariç: class sabit ismi olarak kullanılamaz.

PHP Anahtar Sözcükler
__halt_compiler() | abstract | and | array() | as
break | callable | case | catch | class
clone | const | continue | declare | default
die() | do | echo | else | elseif
empty() | enddeclare | endfor | endforeach | endif
endswitch | endwhile | eval() | exit() | extends
final | finally | fn (PHP 7.4 itibariyle) | for | foreach
function | global | goto | if | implements
include | include_once | instanceof | insteadof | interface
isset() | list() | match (PHP 8.0'dan beri) | namespace | new
or | print | private | protected | public
readonly (PHP 8.1.0 ve sonrası) * | require | require_once | return | static
switch | throw | trait | try | unset()
use | var | while | xor | yield
yield from |  |  |  |

* readonly işlev ismi olarak kullanılabilir.

Derleme sabitleri


Öntanımlı Sınıflar

Bu bölümde öntanımlı standart sınıflar listelenmiştir. Diğer sınıflar çeşitli eklentilerde tanımlanmış olup bunlar dil başvuru kılavuzunda açıklanmışlardır.

Standart Tanımlı Sınıflar

Bu sınıflar PHP'ye derleme sırasında dahil edilen standart işlevlerle tanımlanır.

Directory
dir() işlevi ile oluşturuldu.
stdClass
nesneye yapılan tür zorlamalarının sonucu olarak veya çeşitli standart işlevler tarafından soysal boş bir sınıf olarak ile oluşturulmuştur.
__PHP_Incomplete_Class
unserialize() işlevi ile oluşturulması muhtemeldir.
Exception
ErrorException
php_user_filter
Closure
Öntanımlı final sınıf Closure ile anonim işlevleri temsil edilir.
Generator
Öntanımlı final sınıf Generator ile üreteçleri temsil edilir.
ArithmeticError
AssertionError
DivisionByZeroError
Error
Throwable
ParseError
TypeError

Özel sınıflar

Aşağıdaki betimleyiciler özel amaçlı olup bır sınıf ismi olarak kullanılamazlar.

self
Etkin sınıf.
static
Çalışma zamanındaki etkin sınıf.
parent
Ebeveyn sınıf.


Yerleşik Sabitler

Çekirdekte Öntanımlı Sabitler

Bu sabitler PHP çekirdeğinde tanımlanmıştır. PHP çekirdeği, PHP'nin kendisi, Zend motoru ve SAPI modüllerinden oluşur.

PHP_VERSION (string)
Şu anki PHP sürüm numarası "ana.alt.dağıtım[ek]" gösterimine sahiptir.
PHP_MAJOR_VERSION (integer)
Şu anki ana sürüm bir numara ile gösterilmektedir (örneğin, "5.2.7-extra" için ana sürüm int(5)'tir).
PHP_MINOR_VERSION (integer)
Şu anki alt sürüm bir numara ile gösterilmektedir (örneğin, "5.2.7-extra" için alt sürüm int(2)'dir).
PHP_RELEASE_VERSION (integer)
Şu anki dağıtım sürümü bir numara ile gösterilmektedir (örneğin, "5.2.7-extra" için dağıtım sürüm int(7)'dir).
PHP_VERSION_ID (integer)
Bir tamsayı olarak geçerli PHP sürümü ( örneğin, "5.2.7-extra" için int(50207)'dir. ). Sürüm karşılaştırması için faydalıdır.
PHP_EXTRA_VERSION (string)
Bir dizge olarak geçerli PHP ek sürümü ( örneğin, "5.2.7-extra" için '-extra'dır. ). Çoğunlukla paket dağıtımlarında paket sürümünü belirtmek için kullanılır.
PHP_ZTS (integer)
PHP_DEBUG (integer)
PHP_MAXPATHLEN (integer)
PHP derlenirken desteklenen en uzun dosya isminin (dosya yolu dahil) boyu.
PHP_OS (string)
PHP'nin kullanıldığı işletim sistemi.
PHP_OS_FAMILY (string)
PHP ailesinin kullanıldığı işletim sistemi. 'Windows', 'BSD', 'Darwin', 'Solaris', 'Linux' veya 'Unknown' olabilir. PHP 7.2.0 ve sonrasinda kullanılabilir.
PHP_SAPI (string)
PHP derlenirken kullanılan sunucu API'si. Ayrıca bakınız: php_sapi_name().
PHP_EOL (string)
Satır sonu ('End Of Line') sembolü.
PHP_INT_MAX (integer)
PHP derlenirken desteklenen en büyük tamsayı. Normalde int(2147483647).
PHP_INT_MIN (integer)
PHP derlenirken desteklenen en küçük tamsayı. Normalde 32 bitlik sistemlerde int(-2147483647), 64 bitlik sistemlerde int(-9223372036854775808)'dir (PHP_INT_MIN === ~PHP_INT_MAX). PHP 7.0.0'dan beri mevcuttur.
PHP_INT_SIZE (integer)
PHP derlenirken bir tamsayının bayt cinsinden uzunluğu.
PHP_FLOAT_DIG (integer)
Yuvarlama kaybı olmaksızın gerçek ve tam sayıya ileri-geri dönüştürülebilen ondalık hane sayısı. PHP 7.2.0'dan beri mevcuttur.
PHP_FLOAT_EPSILON (float)
Gösterilebilen en küçük pozitif sayı. Bu x ise: x + 1.0 != 1.0. PHP 7.2.0'dan beri mevcuttur.
PHP_FLOAT_MIN (float)
Gösterilebilen en küçük pozitif gerçek sayı. Gösterilebilen en küçük negatif gerçek sayıya ihtiyacınız varsa - PHP_FLOAT_MAX kullanın. PHP 7.2.0'dan beri mevcuttur.
PHP_FLOAT_MAX (float)
Gösterilebilen en büyük pozitif gerçek sayı. PHP 7.2.0'dan beri mevcuttur.
DEFAULT_INCLUDE_PATH (string)
PEAR_INSTALL_DIR (string)
PEAR_EXTENSION_DIR (string)
PHP_EXTENSION_DIR (string)
Yüklenebilir eklentilerin aranacağı öntanımlı dizin (extension_dir) ile geçersiz kılınmadığı takdirde). PHP_PREFIX (veya Windows üzerinde PHP_PREFIX . "\\ext") öntanımlıdır.
PHP_PREFIX (string)
Yapılandırma sırasında atanan --prefix değeri. Windows'ta bu değer yapılandırma sırasında --with-prefix ile atanır.
PHP_BINDIR (string)
Yapılandırma sırasında atanan --bindir değeri. Windows'ta bu değer yapılandırma sırasında --with-prefix ile atanır.
PHP_BINARY (string)
Betiklerin icrası için kullanılan çalıştılabilirin bulunduğu yer.
PHP_MANDIR (string)
Man sayfalarının nerede kurulu olduğu belirtilir.
PHP_LIBDIR (string)
PHP_DATADIR (string)
PHP_SYSCONFDIR (string)
PHP_LOCALSTATEDIR (string)
PHP_CONFIG_FILE_PATH (string)
PHP_CONFIG_FILE_SCAN_DIR (string)
PHP_SHLIB_SUFFIX (string)
Derleme platformunun paylaşımlı kütüphane soneki. Normalde Unix'ler için "so", Windows için "dll"dir.
PHP_FD_SETSIZE (int)
Sistem çağrıları dosyatanıtıcılarının azami sayısı. PHP 7.1.0'dan beri mevcuttur.
E_ERROR (integer)
Hata raporlama sabitleri
E_WARNING (integer)
Hata raporlama sabitleri
E_PARSE (integer)
Hata raporlama sabitleri
E_NOTICE (integer)
Hata raporlama sabitleri
E_CORE_ERROR (integer)
Hata raporlama sabitleri
E_CORE_WARNING (integer)
Hata raporlama sabitleri
E_COMPILE_ERROR (integer)
Hata raporlama sabitleri
E_COMPILE_WARNING (integer)
Hata raporlama sabitleri
E_USER_ERROR (integer)
Hata raporlama sabitleri
E_USER_WARNING (integer)
Hata raporlama sabitleri
E_USER_NOTICE (integer)
Hata raporlama sabitleri
E_RECOVERABLE_ERROR (integer)
Hata raporlama sabitleri
E_DEPRECATED (integer)
Hata raporlama sabitleri
E_USER_DEPRECATED (integer)
Hata raporlama sabitleri
E_ALL (integer)
Hata raporlama sabitleri
E_STRICT (integer)
Hata raporlama sabitleri
__COMPILER_HALT_OFFSET__ (integer)
true (boolean)
Ayrıca bakınız: Mantıksal veri türü.
false (boolean)
Ayrıca bakınız: Mantıksal veri türü.
null (null)
Ayrıca bakınız: NULL veri türü.
PHP_WINDOWS_EVENT_CTRL_C (int)
Windows CTRL+C olayı. PHP 7.4.0'dan itibaren kullanılabilir (sadece Windows).
PHP_WINDOWS_EVENT_CTRL_BREAK (int)
Windows CTRL+BREAK olayı. PHP 7.4.0'dan itibaren kullanılabilir (sadece Windows).

Ayrıca bakınız: Sihirli Sabitler.

Standart Öntanımlı Sabitler

Temel eklentilerdeki tüm sabitler PHP'de öntanımlı olarak tanımlıdır.


Diğer yerleşik sözcüklerin listesi

Aşağıdaki sözcükler bir sınıfın, arayüzün veya niteliğin ismi olarak kullanılamaz. PHP 8.0 öncesinde, isim alanlarında kullanılmaları da yasaktı.

Yerleşik sözcükler
int | float | bool | string
true | false | null | void (PHP 7.1 itibariyle)
iterable (PHP 7.1 itibariyle) | object (PHP 7.2 itibariyle) | mixed (PHP 8.0 itibariyle) | never (PHP 8.1 itibariyle)

Aşağıdaki sözcükler sınıf, arayüz, ve nitelik isimleri olarak kullanılabilirlerse de, PHP'nin ileri sürümlerinde kullanılabilecekleri hesaba katılarak kullanılmamaya çalışılması daha uygun olacaktır.

Yerleşikliği olası sözcükler
enum resource numeric


Özkaynak Türlerinin Listesi

Bu bölümde PHP özkaynaklarını oluşturmak, kullanmak ve yok etmekte kullanılan işlevler listelenmiştir. is_resource() işlevi bir değişkenin bir özkaynak olup olmadığını saptamakta kullanılır. get_resource_type() işlevi ise özkaynağın türünü döndürür.

Özkaynak Türleri
Özkaynak Türünün Adı | Oluşturmak için | Kullanmak için | Yok etmek için | Tanımı
AddressInfo | socket_addrinfo_lookup() | socket_addrinfo_bind(), socket_addrinfo_connect(), socket_addrinfo_explain(), | Yok | AddressInfo (soket eklentisi)
bzip2 | bzopen() | bzerrno(), bzerror(), bzerrstr(), bzflush(), bzread(), bzwrite() | bzclose() | Bzip2 dosyası
cubrid bağlantısı | cubrid_connect() cubrid_connect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() | cubrid_close() cubrid_disconnect() | CUBRID veritabanına bağlantı
kalıcı cubrid bağlantısı | cubrid_pconnect() cubrid_pconnect_with_url() | cubrid_col_get() cubrid_col_size() cubrid_commit() cubrid_drop() cubrid_execute() cubrid_get_autocommit() cubrid_get_charset() cubrid_get_class_name() cubrid_get_db_parameter() cubrid_get_server_info() cubrid_get() cubrid_insert_id() cubrid_is_instance() cubrid_lob_export() cubrid_lob_get() cubrid_lob_send() cubrid_lock_read() cubrid_lock_write() cubrid_prepare() cubrid_put() cubrid_rollback() cubrid_schema() cubrid_seq_drop() cubrid_seq_insert() cubrid_seq_put() cubrid_set_add() cubrid_set_autocommit() cubrid_set_db_parameter() cubrid_set_drop() cubrid_affected_rows() cubrid_client_encoding() cubrid_errno() cubrid_error() cubrid_list_dbs() cubrid_ping() cubrid_query() cubrid_real_escape_string() cubrid_lob2_new() | CUBRID veritabanına kalıcı bağlantı
cubrid isteği | cubrid_prepare() cubrid_execute() cubrid_query() cubrid_unbuffered_query() | cubrid_bind() cubrid_column_names() cubrid_column_types() cubrid_current_oid() cubrid_execute() cubrid_free_result() cubrid_get_query_timeout() cubrid_move_cursor() cubrid_next_result() cubrid_num_cols() cubrid_num_rows() cubrid_set_query_timeout() cubrid_data_seek() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_field() cubrid_fetch_lengths() cubrid_fetch_object() cubrid_fetch_row() cubrid_field_flags() cubrid_field_len() cubrid_field_name() cubrid_field_seek() cubrid_field_table() cubrid_field_type() cubrid_num_fields() cubrid_result() cubrid_lob2_bind() | cubrid_close_prepare() cubrid_close_request() | CUBRID isteği
cubrid lob | cubrid_lob_get() | cubrid_lob_export() cubrid_lob_send() cubrid_lob_size() | cubrid_lob_close() | None
cubrid lob2 | cubrid_lob2_new() cubrid_fetch() cubrid_fetch_row() cubrid_fetch_array() cubrid_fetch_assoc() cubrid_fetch_object() | cubrid_lob2_export() cubrid_lob2_import() cubrid_lob2_read() cubrid_lob2_write() cubrid_lob2_tell() cubrid_lob2_tell64() cubrid_lob2_seek() cubrid_lob2_seek64() cubrid_lob2_size() cubrid_lob2_size64() | cubrid_lob2_close() | None
curl | curl_copy_handle(), curl_init() | curl_copy_handle(), curl_errno(), curl_error(), curl_exec(), curl_getinfo(), curl_setopt() | curl_close() | cURL tanıtıcısı
curl_multi | curl_multi_init() | curl_multi_errno(), curl_multi_exec(), curl_multi_info_read(), curl_multi_remove_handle(), curl_multi_select(), curl_multi_setopt() | curl_multi_close() | cURL çoklu tanıtıcı
curl_share | curl_share_init() | curl_share_errno(), curl_share_setopt() | curl_share_close() | cURL paylaşım tanıtıcı
dba | dba_open() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | dba_close() | DBA veritabanına bağlantı
dba persistent | dba_popen() | dba_delete(), dba_exists(), dba_fetch(), dba_firstkey(), dba_insert(), dba_nextkey(), dba_optimize(), dba_replace(), dba_sync() | Yok | DBA veritabanına kalıcı bağlantı
dbase | dbase_open() | dbase_pack(), dbase_add_record(), dbase_replace_record(), dbase_delete_record(), dbase_get_record(), dbase_get_record_with_names(), dbase_numfields(), dbase_numrecords() | dbase_close() | Dbase veritabanına bağlantı
enchant_broker | enchant_broker_init() | enchant_broker_describe(), enchant_broker_dict_exists(), enchant_broker_get_dict_path(), enchant_broker_get_error(), enchant_broker_list_dicts(), enchant_broker_set_dict_path(), enchant_broker_set_ordering() | enchant_broker_free() | Enchant aracısı (PHP 8.0.0 öncesi)
enchant_dict | enchant_broker_request_dict() enchant_broker_request_pwl_dict() | enchant_dict_add_to_personal(), enchant_dict_add_to_session(), enchant_dict_check(), enchant_dict_describe(), enchant_dict_get_error(), enchant_dict_is_in_session(), enchant_dict_store_replacement(), enchant_dict_suggest() | enchant_broker_free_dict() | Enchant sözlüğü (PHP 8.0.0 öncesi)
fdf | fdf_open() | fdf_create(), fdf_save(), fdf_get_value(), fdf_set_value(), fdf_next_field_name(), fdf_set_ap(), fdf_set_status(), fdf_get_status(), fdf_set_file(), fdf_get_file(), fdf_set_flags(), fdf_set_opt(), fdf_set_submit_form_action(), fdf_set_javascript_action() | fdf_close() | FDF Dosyası
ftp | ftp_connect(), ftp_ssl_connect() | ftp_login(), ftp_pwd(), ftp_cdup(), ftp_chdir(), ftp_mkdir(), ftp_rmdir(), ftp_nlist(), ftp_rawlist(), ftp_systype(), ftp_pasv(), ftp_get(), ftp_fget(), ftp_put(), ftp_fput(), ftp_size(), ftp_mdtm(), ftp_rename(), ftp_delete(), ftp_site(), ftp_alloc(), ftp_chmod(), ftp_exec(), ftp_get_option(), ftp_nb_continue(), ftp_nb_fget(), ftp_nb_fput(), ftp_nb_get(), ftp_nb_put(), ftp_raw(), ftp_set_option() | ftp_close() | FTP bağlantısı (PHP 8.1.0 öncesi)
gd | imagecreate(), imagecreatefromgd(), imagecreatefromgd2(), imagecreatefromgd2part(), imagecreatefromgif(), imagecreatefromjpeg(), imagecreatefrompng(), imagecreatefromwbmp(), imagecreatefromstring(), imagecreatefromxbm(), imagecreatefromxpm(), imagecreatetruecolor(), imagerotate() | imagearc(), imagechar(), imagecharup(), imagecolorallocate(), imagecolorat(), imagecolorclosest(), imagecolorexact(), imagecolorresolve(), imagegammacorrect(), imagegammacorrect(), imagecolorset(), imagecolorsforindex(), imagecolorstotal(), imagecolortransparent(), imagecopy(), imagecopyresized(), imagedashedline(), imagefill(), imagefilledpolygon(), imagefilledrectangle(), imagefilltoborder(), imagegif(), imagepng(), imagejpeg(), imagewbmp(), imageinterlace(), imageline(), imagepolygon(), imagerectangle(), imagerotate(), imagesetpixel(), imagestring(), imagestringup(), imagesx(), imagesy(), imagettftext(), imagefilledarc(), imageellipse(), imagefilledellipse(), imagecolorclosestalpha(), imagecolorexactalpha(), imagecolorresolvealpha(), imagecopymerge(), imagecopymergegray(), imagecopyresampled(), imagetruecolortopalette(), imagesetbrush(), imagesettile(), imagesetthickness(), image2wbmp(), imagealphablending(), imageantialias(), imagecolorallocatealpha(), imagecolorclosesthwb(), imagecolordeallocate(), imagecolormatch(), imagefilter(), imagefttext(), imagegd(), imagegd2(), imageistruecolor(), imagelayereffect(), imagepalettecopy(), imagesavealpha(), imagesetstyle(), imagexbm() | imagedestroy() | GD Görüntüsü (PHP 8.0.0 öncesi)
gd yazı tipi | imageloadfont() | imagechar(), imagecharup(), imagefontheight() | Yok | GD için yazı tipi (PHP 8.1.0 öncesi)
imap | imap_open() | imap_append(), imap_body(), imap_check(), imap_createmailbox(), imap_delete(), imap_deletemailbox(), imap_expunge(), imap_fetchbody(), imap_fetchstructure(), imap_headerinfo(), imap_header(), imap_headers(), imap_listmailbox(), imap_getmailboxes(), imap_get_quota(), imap_status(), imap_listsubscribed(), imap_set_quota(), imap_set_quota(), imap_getsubscribed(), imap_mail_copy(), imap_mail_move(), imap_num_msg(), imap_num_recent(), imap_ping(), imap_renamemailbox(), imap_reopen(), imap_subscribe(), imap_undelete(), imap_unsubscribe(), imap_scanmailbox(), imap_mailboxmsginfo(), imap_fetchheader(), imap_uid(), imap_msgno(), imap_search(), imap_fetch_overview() | imap_close() | IMAP, POP3 sunucusuna bağlantı (PHP 8.1.0 öncesi)
interbase blob | ibase_blob_create(), ibase_blob_import(), ibase_blob_open() | ibase_blob_add(), ibase_blob_cancel(), ibase_blob_echo(), ibase_blob_get(), ibase_blob_info() | ibase_blob_close()
interbase bağlantısı | ibase_connect() | ibase_query(), ibase_prepare(), ibase_trans() | ibase_close() | Interbase veritabanına bağlantı
interbase veritabanına kalıcı bağlantı | ibase_pconnect() | ibase_query(), ibase_prepare(), ibase_trans() | Yok | Interbase veritabanına kalıcı bağlantı
interbase songusu | ibase_prepare() | ibase_execute() | ibase_free_query() | Interbase query
interbase result | ibase_query() | ibase_fetch_row(), ibase_fetch_object(), ibase_field_info(), ibase_num_fields() | ibase_free_result() | Interbase Result
interbase transaction | ibase_trans() | ibase_commit() | ibase_rollback() | Interbase işlemi
ldap bağlantısı | ldap_connect(), ldap_search() | ldap_count_entries(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_next_attribute(), ldap_next_entry() | ldap_close() | ldap bağlantısı (PHP 8.1.0 öncesi)
ldap sonucu | ldap_read() | ldap_add(), ldap_compare(), ldap_bind(), ldap_count_entries(), ldap_delete(), ldap_errno(), ldap_error(), ldap_first_attribute(), ldap_first_entry(), ldap_get_attributes(), ldap_get_dn(), ldap_get_entries(), ldap_get_values(), ldap_get_values_len(), ldap_get_option(), ldap_list(), ldap_modify(), ldap_mod_add(), ldap_mod_replace(), ldap_next_attribute(), ldap_next_entry(), ldap_mod_del(), ldap_set_option(), ldap_unbind() | ldap_free_result() | ldap arama sonucu (PHP 8.1.0 öncesi)
ldap sonuç girdisi | ldap sonuç girdisi (PHP 8.1.0 öncesi)
mailparse_mail_structure | mailparse_msg_create() mailparse_msg_parse_file() | mailparse_msg_extract_part_file() mailparse_msg_extract_part() mailparse_msg_extract_whole_part_file() mailparse_msg_get_part_data() mailparse_msg_get_part() mailparse_msg_get_structure() mailparse_msg_parse() | mailparse_msg_free()
mysql link | mysql_connect() | mysql_affected_rows(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | mysql_close() | MySQL veritabanına bağlantı
mysql veritabanına kalıcı bağlantı | mysql_pconnect() | mysql_affected_rows(), mysql_create_db(), mysql_data_seek(), mysql_db_name(), mysql_db_query(), mysql_drop_db(), mysql_errno(), mysql_error(), mysql_insert_id(), mysql_list_dbs(), mysql_list_fields(), mysql_list_tables(), mysql_query(), mysql_result(), mysql_select_db(), mysql_tablename(), mysql_get_host_info(), mysql_get_proto_info(), mysql_get_server_info() | Yok | MySQL veritabanına kalıcı bağlantı
mysql sonucu | mysql_db_query(), mysql_list_dbs(), mysql_list_fields(), mysql_list_processes(), mysql_list_tables(), mysql_query(), mysql_unbuffered_query() | mysql_data_seek(), mysql_db_name(), mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_field(), mysql_fetch_lengths(), mysql_fetch_object(), mysql_fetch_row(), mysql_fetch_row(), mysql_field_flags(), mysql_field_name(), mysql_field_len(), mysql_field_seek(), mysql_field_table(), mysql_field_type(), mysql_num_fields(), mysql_num_rows(), mysql_result(), mysql_tablename() | mysql_free_result() | MySQL sonucu
oci8 demeti | oci_new_collection() | OCICollection::append(), OCICollection::assign(), OCICollection::assignElem(), OCICollection::getElem(), OCICollection::max(), OCICollection::size(), OCICollection::trim() | OCICollection::free() | Oracle Koleksiyonu
oci8 bağlantısı | oci_connect(), oci_pconnect(), oci_new_connect() | oci_commit(), oci_error(), oci_new_cursor(), oci_parse(), oci_password_change(), oci_rollback(), oci_server_version(), oci_set_action(), oci_set_client_identifier(), oci_set_client_info(), oci_set_module_name() | oci_close() | Oracle veritabanına bağlantı
oci8 lob | oci_new_descriptor() | OCILob::append(), OCILob::close(), OCILob::eof(), OCILob::erase(), OCILob::export(), OCILob::flush(), OCILob::getBuffering(), OCILob::import(), OCILob::load(), OCILob::read(), OCILob::rewind(), OCILob::save(), OCILob::saveFile(), OCILob::seek(), OCILob::setBuffering(), OCILob::size(), OCILob::tell(), OCILob::truncate(), OCILob::write(), OCILob::writeTemporary(), OCILob::writeToFile(), oci_lob_copy(), oci_lob_is_equal() | OCILob::free() | Oracle büyük nesneler
oci8 deyimi | oci_parse(), oci_new_cursor() | oci_bind_array_by_name(), oci_bind_by_name(), oci_cancel(), oci_define_by_name(), oci_error() oci_execute(), oci_fetch_all(), oci_fetch_array(), oci_fetch_assoc(), oci_fetch_object(), oci_fetch_row(), oci_fetch(), oci_field_is_null(), oci_field_name(), oci_field_precision(), oci_field_scale(), oci_field_size(), oci_field_type_raw(), oci_field_type(), oci_num_fields(), oci_num_rows(), oci_result(), oci_set_prefetch(), oci_statement_type() | oci_free_statement() | Oracle cursor
odbc link | odbc_connect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | odbc_close() | ODBC veritabanına bağlantı
odbc veritabanına kalıcı bağlantıt | odbc_pconnect() | odbc_autocommit(), odbc_commit(), odbc_error(), odbc_errormsg(), odbc_exec(), odbc_tables(), odbc_tableprivileges(), odbc_do(), odbc_prepare(), odbc_columns(), odbc_columnprivileges(), odbc_procedurecolumns(), odbc_specialcolumns(), odbc_rollback(), odbc_setoption(), odbc_gettypeinfo(), odbc_primarykeys(), odbc_foreignkeys(), odbc_procedures(), odbc_statistics() | Yok | ODBC veritabanına kalıcı bağlantı
odbc sonucu | odbc_prepare() | odbc_binmode(), odbc_cursor(), odbc_execute(), odbc_fetch_into(), odbc_fetch_row(), odbc_field_name(), odbc_field_num(), odbc_field_type(), odbc_field_len(), odbc_field_precision(), odbc_field_scale(), odbc_longreadlen(), odbc_num_fields(), odbc_num_rows(), odbc_result(), odbc_result_all(), odbc_setoption() | odbc_free_result() | ODBC sonucu
birdstep bağlantısı | Birdstep veritabanına bağlantı (PHP 7.3.0 öncesi)
birdstep sonucu | Birdstep sonucu ((PHP 7.3.0 öncesi)
OpenSSL anahtarı | openssl_get_privatekey(), openssl_get_publickey() | openssl_sign(), openssl_seal(), openssl_open(), openssl_verify() | openssl_free_key() | OpenSSL anahtarı
OpenSSL X.509 | openssl_x509_read() | openssl_x509_parse(), openssl_x509_checkpurpose() | openssl_x509_free() | Genel Anahtar
pgsql dev nesnesi | pg_lo_open() | pg_lo_open(), pg_lo_create(), pg_lo_read(), pg_lo_read_all(), pg_lo_seek(), pg_lo_tell(), pg_lo_unlink(), pg_lo_write() | pg_lo_close() | PostgreSQL Dev nesnesi (PHP 8.1.0 öncesi)
pgsql bağlantısı | pg_connect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_meta_data(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | pg_close() | PostgreSQL veritabanına bağlantı (PHP 8.1.0 öncesi)
pgsql veritabanına kalıcı bağlantı | pg_pconnect() | pg_affected_rows(), pg_query(), pg_send_query(), pg_get_result(), pg_connection_busy(), pg_connection_reset(), pg_connection_status(), pg_last_error(), pg_last_notice(), pg_lo_create(), pg_lo_export(), pg_lo_import(), pg_lo_open(), pg_lo_unlink(), pg_host(), pg_port(), pg_dbname(), pg_options(), pg_copy_from(), pg_copy_to(), pg_end_copy(), pg_put_line(), pg_tty(), pg_trace(), pg_untrace(), pg_set_client_encoding(), pg_client_encoding(), pg_meta_data(), pg_convert(), pg_insert(), pg_select(), pg_delete(), pg_update() | Yok | PostgreSQL veritabanına kalıcı bağlantı
pgsql sonucu | pg_execute(), pg_query(), pg_query_params(), pg_get_result() | pg_fetch_array(), pg_fetch_object(), pg_fetch_result(), pg_fetch_row(), pg_field_is_null(), pg_field_name(), pg_field_num(), pg_field_prtlen(), pg_field_size(), pg_field_type(), pg_last_oid(), pg_num_fields(), pg_num_rows(), pg_result_error(), pg_result_status() | pg_free_result() | PostgreSQL sonucu (PHP 8.1.0 öncesi)
pgsql dizgesi
pspell | pspell_new(), pspell_new_config(), pspell_new_personal() | pspell_add_to_personal(), pspell_add_to_session(), pspell_check(), pspell_clear_session(), pspell_config_ignore(), pspell_config_mode(), pspell_config_personal(), pspell_config_repl(), pspell_config_runtogether(), pspell_config_save_repl(), pspell_save_wordlist(), pspell_store_replacement(), pspell_suggest() | Yok | pspell sözlüğü (PHP 8.1.0 öncesi)
pspell yapılandırması | pspell_config_create() | pspell_new_config() | Yok | pspell yapılandırması (PHP 8.1.0 öncesi)
shmop | shmop_open() | shmop_read(), shmop_write(), shmop_size(), shmop_delete() | shmop_close() | Paylaşımlı bellek kümesi tanıtıcısı (PHP 8.0.0 öncesi)
Socket | socket_accept(), socket_addrinfo_bind(), socket_addrinfo_connect(), socket_create(), socket_create_listen(), socket_import_stream(), socket_wsaprotocol_info_import() | socket_accept(), socket_bind(), socket_clear_error(), socket_connect(), socket_get_option(), socket_getpeername(), socket_getsockname(), socket_last_error(), socket_listen(), socket_read(), socket_recv(), socket_recvfrom(), socket_recvmsg(), socket_select(), socket_send(), socket_sendmsg(), socket_sendto(), socket_set_block(), socket_set_nonblock(), socket_set_option(), socket_shutdown(), socket_write(), socket_wsaprotocol_info_export(), socket_wsaprotocol_info_release() | socket_close() | Socket (sockets eklentisi)
akım | opendir() | readdir(), rewinddir() | closedir() | Dizin tanıtıcı
akım | fopen(), tmpfile() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), flock(), fpassthru(), fputs(), fwrite(), fread(), fseek(), ftell(), fstat(), ftruncate(), set_file_buffer(), rewind() | fclose() | Dosya tanıtıcı
akım | popen(), fsockopen(), pfsockopen() | feof(), fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | pclose() | Süreç kimliği
soket | fflush(), fgetc(), fgetcsv(), fgets(), fgetss(), fpassthru(), fputs(), fwrite(), fread() | fclose() | Soket tanıtıcı
SSH2 Oturumu | ssh2_connect() | ssh2_disconnect()
SSH2 Dinleyici | ssh2_forward_listen()
SSH2 SFTP | ssh2_sftp()
SSH2 Genel Anahtar Alt Sistemi | ssh2_publickey_init()
sysvmsg kuyruğu | msg_get_queue() | msg_queue_exists(), msg_receive(), msg_send(), msg_set_queue(), msg_stat_queue() | msg_remove_queue() | System V İleti Kuyruğu (PHP 8.0.0 öncesi)
sysvsem | sem_get() | sem_acquire() | sem_release() | System V Semaforu (PHP 8.0.0 öncesi)
sysvshm | shm_attach() | shm_remove(), shm_put_var(), shm_get_var(), shm_remove_var() | shm_detach() | System V Paylaşımlı Belleği (PHP 8.0.0 öncesi)
wddx | wddx_packet_start() | wddx_add_vars() | wddx_packet_end() | WDDX paketi
xml | xml_parser_create(), xml_parser_create_ns() | xml_set_object(), xml_set_element_handler(), xml_set_character_data_handler(), xml_set_processing_instruction_handler(), xml_set_default_handler(), xml_set_unparsed_entity_decl_handler(), xml_set_notation_decl_handler(), xml_set_external_entity_ref_handler(), xml_parse(), xml_get_error_code(), xml_error_string(), xml_get_current_line_number(), xml_get_current_column_number(), xml_get_current_byte_index(), xml_parse_into_struct(), xml_parser_set_option(), xml_parser_get_option() | xml_parser_free() | XML çözümleyici (PHP 8.0.0 öncesi)
zlib | gzopen() | gzeof(), gzgetc(), gzgets(), gzgetss(), gzpassthru(), gzputs(), gzread(), gzrewind(), gzseek(), gztell(), gzwrite() | gzclose() | gz-sıkıştırmalı dosya
zlib.deflate | deflate_init() | deflate_add() | None | arttırımlı deflate bağlamı PHP 8.0.0 öncesi)
zlib.inflate | inflate_init() | inflate_add(), inflate_get_read_len(), inflate_get_status() | None | arttırımlı inflate bağlamı PHP 8.0.0 öncesi)


Kullanılabilir Süzgeçlerin Listesi

İçindekiler

  • Dizge Süzgeçleri
  • Dönüşüm Süzgeçleri
  • Sıkıştırma Süzgeçleri
  • Şifreleme Süzgeçleri

Burada, stream_filter_append() işlevi ile kullanmak için birkaç yerleşik akım süzgecinden oluşan bir liste yer almaktadır. Kurulu PHP sürümünüz burada yer alan süzgeçlerden daha fazla (veya daha az) süzgece sahip olabilir.

stream_filter_append() ve stream_filter_prepend() işlevleri arasındaki hafif bakışımsızlık oluşu dikkat çekicidir. Her PHP akımı, veriyi daha verimli bir şekilde işlemek amacıyla dosya sisteminden veya başka kaynaklardan aldığı veri bloklarını saklamak için küçük bir okuma tamponu içerir. Veri, kaynağından akımın dahili tamponuna çekilir çekilmez PHP uygulamasının veriyi okuyup okumayacağına bağlı olarak ekli süzgeçler üzerinden işleme sokulur. Veri okuma tamponundayken bir süzgeç verinin ardına eklendiği anda, veri sanki doğrudan tampondan çekiliyormuş gibi gösterilerek bu süzgeç tarafından işlenmeye başlanır. Bununla birlikte, eğer süzgeç tampondaki verinin ardına değil de önüne eklenirse tampondaki veri süzgeç tarafından işlenmez. Bunun yerine kaynaktan verinin sonraki bloğunun gelmesini bekler.

Kurulu PHP sürümünüzde bulunan süzgeçlerin bir listesini stream_get_filters() işlevi ile alabilirsiniz.


Dizge Süzgeçleri

Bu süzgeçlerin her biri tam olarak isminde yazan işlemi yaparlar ve karşılığı olan yerleşik PHP dizge işleme işlevinin davranışını sergilerler. Belli bir süzgeçle ilgili ayrıntılı bilgi edinmek için ilgili işlevin kılavuz sayfasına bakınız.

string.rot13

Bu süzgecin kullanımı, tüm akım verisinin str_rot13() işlevi ile işlenmesine eşdeğerdir.

Örnek 1 - string.rot13 örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.rot13');
fwrite($fp, "Bu bir denemedir.\n");
/* Çıktısı: Oh ove qrarzrqve. */
?>

string.toupper

Bu süzgecin kullanımı, tüm akım verisinin strtoupper() işlevi ile işlenmesine eşdeğerdir.

Örnek 2 - string.toupper örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.toupper');
fwrite($fp, "Bu küçük bir denemedir.\n");
/* Çıktısı: BU KüçüK BIR DENEMEDIR. */
?>

string.tolower

Bu süzgecin kullanımı, tüm akım verisinin strtolower() işlevi ile işlenmesine eşdeğerdir.

Örnek 3 - string.tolower örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.tolower');
fwrite($fp, "Bu küçük bir denemedir.\n");
/* Çıktısı: bu küçük bir denemedir.. */
?>

string.strip_tags

(PHP 5.0.0 ve sonrası). Bu süzgecin kullanımı, tüm akım verisinin strip_tags() işlevi ile işlenmesine eşdeğerdir. Bağımsız değişken olarak şu iki biçimden birini kabul eder: Ya strip_tags() işlevinin ikinci bağımsız değişkenindeki gibi bir etiket listesi içeren bir dizi ya da etiket isimlerinden oluşan bir dizi.

Uyarı

Bu özelliğin kullanımı PHP 7.3.0 itibariyle ÖNERİLMEMEKTEDİR. Bu özelliğe kesinlikle güvenilmemelidir.

Örnek 4 - string.strip_tags örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>kalın metin</b> <h1>1. seviyeden bir başlık</h1> haline getirilir\n");
fclose($fp);
/* Çıktısı: kalın metin 1. seviyeden bir başlık haline getirilir */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, array('b','i','u'));
fwrite($fp, "<b>kalın metin</b> <h1>1. seviyeden bir başlık</h1> haline getirilir\n");
fclose($fp);
/* Çıktısı: kalın metin 1. seviyeden bir başlık haline getirilir */
?>


Dönüşüm Süzgeçleri

string.* süzgeçleri gibi, the convert.* süzgeçleri de isimlerinde yazan eylemleri gerçekleştirirler. Belli bir süzgeçle ilgili ayrıntılı bilgi edinmek için ilgili işlevin kılavuz sayfasına bakınız.

convert.base64-encode ve convert.base64-decode

Bu süzgeçlerin kullanımı, tüm akım verisinin sırasıyla base64_encode() veya base64_decode() işlevi ile işlenmesine eşdeğerdir. convert.base64-encode süzgeci bağımsız değişkenlerin bir ilişkisel dizi olarak belirtilmesini destekler. Eğer line-length bağımsız değişkeni verilmişse base64 çıktı, her biri line-length baytlık parçalara bölünür. Eğer line-break-chars bağımsız değişkeni verilmişse çıktının her parçası belirtilen karakterle sınırlanır. Bu bağımsız değişkenler base64_encode() işlevinin chunk_split() ile birlikte kullanımına eşdeğer bir etkiye sebep olur.

Örnek 1 - convert.base64-encode ve convert.base64-decode örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "Bu bir denemedir.\n");
echo "\n";
fclose($fp);
/* Çıktısı: QnUgYmlyIGRlbmVtZWRpci4K */

$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "Bu bir denemedir.\n");
echo "\n";
fclose($fp);
/* Çıktısı: QnUgYmly
: IGRlbmVt
: ZWRpci4K */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "QnUgYmlyIGRlbmVtZWRpci4K");
echo "\n";
fclose($fp);
/* Çıktısı: Bu bir denemedir. */
?>

convert.quoted-printable-encode ve convert.quoted-printable-decode

Bu süzgeçlerden kod çözme (decode) ile ilgili olanın kullanımı, tüm akım verisinin quoted_printable_decode() işlevi ile işlenmesine eşdeğerdir. convert.quoted-printable-encode işlevine eşdeğer bir süzgeç yoktur. convert.quoted-printable-encode süzgeci bağımsız değişkenlerinin bir ilişkisel dizi olarak verilmesini destekler. convert.base64-encode süzgecinin bağımsız değişkenlerine ek olarak, binary ve force-encode-first bağımsız değişkenlerini de destekler. convert.quoted-printable-encode süzgeci, kodlanmış veriden yararlı yükü ayırmak için bir ipucu olarak sadece line-break-chars bağımsız değişkenini destekler.

Örnek 2 - convert.quoted-printable-encode ve convert.quoted-printable-decode örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "Bu küçük bir denemedir.\n");
/* Çıktısı: Bu k=C3=BC=C3=A7=C3=BCk bir denemedir.=0A */

$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-decode');
fwrite($fp, "Bu k=C3=BC=C3=A7=C3=BCk bir denemedir.=0A");
/* Çıktısı: Bu küçük bir denemedir.
*/
?>

convert.iconv.*

convert.iconv.* süzgeçleri iconv desteği etkinse kullanılabilir olup tüm akım verisinin iconv() ile işlenmesine eşdeğerdir. Bu süzgeçler bağımsız değişkenleri desteklememekle beraber girdi ve çıktı kodlamaları süzgeç isminin parçası olarak verilebilir. Örneğin, convert.iconv.<input-encoding>.<output-encoding> veya convert.iconv.<input-encoding>/<output-encoding> (her iki gösterim anlamsal olarak eşdeğerdir).

Örnek 3 - convert.iconv.* örneği

<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.iconv.utf-16le.utf-8');
fwrite($fp, "T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
fclose($fp);
/* Çıktısı: This is a test. */
?>


Sıkıştırma Süzgeçleri

Sıkıştırma Sarmalayıcıları yerel dosya sisteminde gzip ve bz2 uyumlu dosyalar oluşturabilmelerine rağmen ne ağ akımlarına sıkıştırma uygulayabilir ne de sıkıştırılmış ağ akımlarının sıkıştırmasını açabilirler. Bunu sağlamak için, akım kaynaklarına herhangi bir anda bir sıkıştırma süzgeci uygulanabilir.

Bilginize: Sıkıştırma süzgeçleri gzip gibi komut satırı uygulamaları tarafından kullanılan dosya baş uç ve ayak uçlarını üretmezler. Sadece sıkıştırılmış veri akımlarının yararlı yükünü sıkıştırıp açarlar.

zlib.deflate and zlib.inflate

» RFC 1951'de tanımlanan sıkıştırma yöntemlerini gerçekler. deflate (sıkıştırma) süzgeci, aktarılan üç bağımsız değişkeni bir ilişkisel dizi olarak kabul eder. level bağımsız değişkeni sıkıştırmanın derecesini (1-9) belirler. Büyük numaralar, küçüklerine göre genelde daha küçük yararlı yük oluşturmasına rağmen daha uzun işlem zamanına gerektirirler. Ayrıca iki özel sıkıştırma seviyesi daha mevcuttur: 0 (hiç sıkıştırma yapılmaz) ve -1 (zlib yerleşik öntanımlısı; şimdilik 6). window bağımsız değişkeninin değeri, sıkıştırma döngüsü pencere genişliğinin 2 tabanına göre logaritmasıdır. Yüksek değerler (yukarda 15'e -- 32768 bayta kadar) daha büyük bellek tüketimi karşılığında daha çok sıkıştırma sağlarken, düşük değerler (aşağıda 9'a -- 512 bayta kadar) daha az bellek tüketimi karşılığında daha az sıkıştırma sağlar. Öntanımlı window genişliği şimdilik 15'tir. memory bağımsız değişkeninin değeri ne kadar bellek ayrılacağını belirleyen bir katsayıdır. Geçerli değerler 1'den (en az bellek ayırma) 9'a (en çok bellek ayırma) kadardır. Bu bellek ayırma işlemi sadece hızı etkiler, üretilen yararlı yükün boyutuna etkisi yoktur.

Bilginize: Sıkıştırma seviyesi en çok kullanılan bağımsız değişken olduğundan bir dizi elemanı olarak belirtilebildiği gibi tek başına basit bir bağımsız değişken olarak da belirtilebilmektedir.

zlib.* sıkıştırma süzgeçleri, zlib desteği etkin olduğu takdirde kullanılabilmektedir.

Örnek 1 - zlib.deflate ve zlib.inflate örneği

<?php
$params = array('level' => 6, 'window' => 15, 'memory' => 9);

$özgün_metin = "Bu bir denemedir.\nBu sadece bir denemedir.\nBu önemli bir dizge değildir.\n";
echo "Özgün metin " . strlen($özgün_metin) . " karakter uzunluktadır.\n";

$fp = fopen('test.deflated', 'w');
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, $params);
fwrite($fp, $özgün_metin);
fclose($fp);

echo "Sıkıştırılmış dosya ".filesize('test.deflated')." bayt uzunluktadır.\n";
echo "Özgün metin:\n";
/* veriyi bir yere aktarmadan sıkıştırmayı açmak için
readfile ve zlib.inflate kullanalım */
readfile('php://filter/zlib.inflate/resource=test.deflated');

/* Üretilen çıktı:

Özgün metin 75 karakter uzunluktadır.
Sıkıştırılmış dosya 57 bayt uzunluktadır.
Özgün metin:
Bu bir denemedir.
Bu sadece bir denemedir.
Bu önemli bir dizge değildir.
*/

?>

Örnek 2 - Basit bir zlib.deflate örneği

<?php
$özgün_metin = "Bu bir denemedir.\nBu sadece bir denemedir.\nBu önemsiz bir dizgedir.\n";
echo "Özgün metin ".strlen($özgün_metin)." karakter uzunluktadır.\n";

$fp = fopen('test.deflated', 'w');
/* Buradaki "6" sıkıştırma seviyesinin 6 olduğunu göstermektedir */
stream_filter_append($fp, 'zlib.deflate', STREAM_FILTER_WRITE, 6);
fwrite($fp, $özgün_metin);
fclose($fp);

echo "Sıkıştırılmış dosya ".filesize('test.deflated')." bayt uzunluktadır.\n";

/* Üretilen çıktı:

Özgün metin 69 karakter uzunluktadır.
Sıkıştırılmış dosya 45 bayt uzunluktadır.

*/
?>

bzip2.compress and bzip2.decompress

bzip2.compress ve bzip2.decompress süzgeçleri yukarıda açıklanan zlib süzgeçleriyle aynı anlamda çalışırlar. bzip2.compress süzgeci bir ilişkisel dizinin elemanları olarak iki bağımsız değişken kabul eder: blocks bağımsız değişkeni, çalışma alanı için ayrılacak belleğin 100 kbaytlık katları olarak 1'den 9'a kadar bir tamsayıdır. work bağımsız değişkeni de bir tamsayı olup, son çare olarak daha yavaş fakat daha güvenilir bir yönteme başvurmadan önce normal bir sıkıştırma yöntemine ne kadar çaba harcanacağını belirten 0'dan 250'ye kadar bir değerdir. Bu bağımsız değişken sadece hız üzerinde etkilidir. Bu ayardan ne sıkıştırılmış çıktının boyu ne de bellek kullanımı etkilenir. 0 değeri bzip kütüphanesinin yerleşik öntanımlısının kullanılacağı anlamına gelir. bzip2.decompress süzgeci tek bir bağımsız değişken kabul eder. Ya sıradan bir mantıksal değer ya da small anahtarlı tek elemanı olan bir ilişkisel dizidir. small bağımsız değişkenine true değerinin atanması, bzip2 kütüphanesinin sıkıştırmayı açmak için hız pahasına en az belleği ayıracağı anlamına gelir.

bzip2.* sıkıştırma süzgeçleri, bz2 desteği etkin olduğu takdirde kullanılabilmektedir.

Örnek 3 - bzip2.compress ve bzip2.decompress örneği

<?php
$param = array('blocks' => 9, 'work' => 0);

echo "Özgün dosya " . filesize('LICENSE') . " bayt uzunluktadır.\n";

$fp = fopen('LICENSE.compressed', 'w');
stream_filter_append($fp, 'bzip2.compress', STREAM_FILTER_WRITE, $param);
fwrite($fp, file_get_contents('LICENSE'));
fclose($fp);

echo "Sıkıştırılmış dosya " . filesize('LICENSE.compressed') . " bayt uzunluktadır.\n";

/* Üretilen çıktı:

Özgün dosya 3288 bayt uzunluktadır.
Sıkıştırılmış dosya 1488 bayt uzunluktadır.

*/
?>


Şifreleme Süzgeçleri

Şifreleme süzgeçleri öxellikle dosya/akım şifrelemesinde kullanışlıdır.

mcrypt.* ve mdecrypt.*

Uyarı

Bu özelliğin kullanımı PHP 7.1.0 itibariyle ÖNERİLMEMEKTEDİR. Bu işleve kesinlikle güvenilmemelidir.

mcrypt.* ve mdecrypt.* süzgeçleri libmcrypt kullanarak bakışımlı şifreleme ve şifre çözme yaparlar. Her iki süzgeç ailesi de mcrypt.şifreismi biçeminde mcrypt eklentisinde kullanılan algoritmaları desteklerler; buradaki şifreismi mcrypt_module_open() işlevine aktarıldığı şekliyle şifrenin ismidir. Ayrıca, aşağıdaki beş süzgeç bağımsız değişkeni de kullanılabilmektedir:

mcrypt süzgeç bağımsız değişkenleri
Bağımsız değişken | Gereklilik | Öntanımlı | Örnek değerler
mode | seçimlik | cbc | cbc, cfb, ecb, nofb, ofb, stream
algorithms_dir | seçimlik | ini_get('mcrypt.algorithms_dir') | Algoritma modüllerinin yeri
modes_dir | seçimlik | ini_get('mcrypt.modes_dir') | Kip modüllerinin yeri
iv | gerekli | yok | Genelde 8, 16 veya 32 baytlık ikil veri. Şifreye bağlı.
key | gerekli | yok | Genelde 8, 16 veya 32 baytlık ikil veri. Şifreye bağlı.

Örnek 1 - 3DES kullanarak şifreli dosya çıktılama

<?php
//$key evvelce üretilmiş varsayılıyor
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC);
$iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM);
$fp = fopen('encrypted-file.enc', 'wb');
fwrite($fp, $iv);
$opts = array('mode'=>'cbc','iv'=>$iv, 'key'=>$key);
stream_filter_append($fp, 'mcrypt.blowfish', STREAM_FILTER_WRITE, $opts);
fwrite($fp, 'message to encrypt');
fclose($fp);

//decrypt...
$fp = fopen('encrypted-file.enc', 'rb');
$iv = fread($fp, $iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_CBC));
$opts = array('mode'=>'cbc','iv'=>$iv, 'key'=>$key)
stream_filter_append($fp, 'mdecrypt.blowfish', STREAM_FILTER_READ, $opts);
$data = rtrim(stream_get_contents($fp));//null dizesi temizleniyor
fclose($fp);
echo $data;
?>

Örnek 2 - SHA256 HMAC ile AES-128 CBC kullanarak dosya şifreleme

<?php
AES_CBC::encryptFile($password, "plaintext.txt", "encrypted.enc");
AES_CBC::decryptFile($password, "encrypted.enc", "decrypted.txt");

class AES_CBC
{
protected static $KEY_SIZES = array('AES-128'=>16,'AES-192'=>24,'AES-256'=>32);
protected static function key_size() { return self::$KEY_SIZES['AES-128']; } //default AES-128
public static function encryptFile($password, $input_stream, $aes_filename){
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$fin = fopen($input_stream, "rb");
$fc = fopen($aes_filename, "wb+");
if (!empty($fin) && !empty($fc)) {
fwrite($fc, str_repeat("_", 32) );//placeholder, SHA256 HMAC will go here later
fwrite($fc, $hmac_salt = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
fwrite($fc, $esalt = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
fwrite($fc, $iv = mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM));
$ekey = hash_pbkdf2("sha256", $password, $esalt, $it=1000, self::key_size(), $raw=true);
$opts = array('mode'=>'cbc', 'iv'=>$iv, 'key'=>$ekey);
stream_filter_append($fc, 'mcrypt.rijndael-128', STREAM_FILTER_WRITE, $opts);
$infilesize = 0;
while (!feof($fin)) {
$block = fread($fin, 8192);
$infilesize+=strlen($block);
fwrite($fc, $block);
}
$block_size = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$padding = $block_size - ($infilesize % $block_size);//$padding is a number from 1-16
fwrite($fc, str_repeat(chr($padding), $padding) );//perform PKCS7 padding
fclose($fin);
fclose($fc);
$hmac_raw = self::calculate_hmac_after_32bytes($password, $hmac_salt, $aes_filename);
$fc = fopen($aes_filename, "rb+");
fwrite($fc, $hmac_raw);//overwrite placeholder
fclose($fc);
}
}
public static function decryptFile($password, $aes_filename, $out_stream) {
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);
$hmac_raw = file_get_contents($aes_filename, false, NULL, 0, 32);
$hmac_salt = file_get_contents($aes_filename, false, NULL, 32, $iv_size);
$hmac_calc = self::calculate_hmac_after_32bytes($password, $hmac_salt, $aes_filename);
$fc = fopen($aes_filename, "rb");
$fout = fopen($out_stream, 'wb');
if (!empty($fout) && !empty($fc) && self::hash_equals($hmac_raw,$hmac_calc)) {
fread($fc, 32+$iv_size);//skip sha256 hmac and salt
$esalt = fread($fc, $iv_size);
$iv = fread($fc, $iv_size);
$ekey = hash_pbkdf2("sha256", $password, $esalt, $it=1000, self::key_size(), $raw=true);
$opts = array('mode'=>'cbc', 'iv'=>$iv, 'key'=>$ekey);
stream_filter_append($fc, 'mdecrypt.rijndael-128', STREAM_FILTER_READ, $opts);
while (!feof($fc)) {
$block = fread($fc, 8192);
if (feof($fc)) {
$padding = ord($block[strlen($block) - 1]);//assume PKCS7 padding
$block = substr($block, 0, 0-$padding);
}
fwrite($fout, $block);
}
fclose($fout);
fclose($fc);
}
}
private static function hash_equals($str1, $str2) {
if(strlen($str1) == strlen($str2)) {
$res = $str1 ^ $str2;
for($ret=0,$i = strlen($res) - 1; $i >= 0; $i--) $ret |= ord($res[$i]);
return !$ret;
}
return false;
}
private static function calculate_hmac_after_32bytes($password, $hsalt, $filename) {
static $init=0;
$init or $init = stream_filter_register("user-filter.skipfirst32bytes", "FileSkip32Bytes");
$stream = 'php://filter/read=user-filter.skipfirst32bytes/resource=' . $filename;
$hkey = hash_pbkdf2("sha256", $password, $hsalt, $iterations=1000, 24, $raw=true);
return hash_hmac_file('sha256', $stream, $hkey, $raw=true);
}
}
class FileSkip32Bytes extends php_user_filter
{
private $skipped=0;
function filter($in, $out, &$consumed, $closing) {
while ($bucket = stream_bucket_make_writeable($in)) {
$outlen = $bucket->datalen;
if ($this->skipped<32){
$outlen = min($bucket->datalen,32-$this->skipped);
$bucket->data = substr($bucket->data, $outlen);
$bucket->datalen = $bucket->datalen-$outlen;
$this->skipped+=$outlen;
}
$consumed += $outlen;
stream_bucket_append($out, $bucket);
}
return PSFS_PASS_ON;
}
}
class AES_128_CBC extends AES_CBC {
protected static function key_size() { return self::$KEY_SIZES['AES-128']; }
}
class AES_192_CBC extends AES_CBC {
protected static function key_size() { return self::$KEY_SIZES['AES-192']; }
}
class AES_256_CBC extends AES_CBC {
protected static function key_size() { return self::$KEY_SIZES['AES-256']; }
}


Desteklenen Soket Aktarımlarının Listesi

İçindekiler

  • Genel Ağ Alanı: TCP, UDP, SSL ve TLS
  • Unix Alanı: Unix ve UDG

fsockopen() ve stream_socket_client() gibi akım temelli soket işlevlerini kullanmak için PHP'nin yerleşik olarak sahip olduğu URL tarzı soket aktarımları aşağıda liste halinde verilmiştir. Bu aktarımlar Soket Eklentisine uygulanmaz.

Kurulu PHP sürümünüzün desteklediği aktarımları listelemek için stream_get_transports() işlevini kullanabilirsiniz.


Genel Ağ Alanı: TCP, UDP, SSL ve TLS

ssl://, tls://, sslv2:// ve sslv3:// desteklenmektedir.

Bilginize: Hiçbir aktarım belirtilmezse tcp:// öntanımlıdır.

  • 127.0.0.1
  • fe80::1
  • mesela.dom
  • tcp://127.0.0.1
  • tcp://fe80::1
  • tcp://mesela.dom
  • udp://mesela.dom
  • ssl://mesela.dom
  • sslv2://mesela.dom
  • sslv3://mesela.dom
  • tls://mesela.dom

Genel Ağ Alanının soketleri bir hedef adrese ek olara bir port numarası gerektirirler. fsockopen() işlevi için bu ikinci bir bağımsız değişken ile belirtilir, dolayısıyla port numarasının IP adresiyle birlikte bir aktarım URLsi olarak biçimlenmesine gerek kalmaz. stream_socket_client() ve ilgili diğer işlevler için ise geleneksel URL gösterimi kullanılır, yani port numarası aktarım URL'sinin sonuna iki nokta imi ile eklemlenir.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://mesela.dom:80

Bilginize: Port numaralı IPv6 adresleri
Dikkat ederseniz, yukarıdaki örneklerden ikincisinde IPv6 adresi köşeli ayraçlarını arasına alınmıştır ([fe80::1]). Bunun sebebi IPv6 adresin iki noktalı ayraçlarının, port numarasını eklemleyen iki nokta iminden ayırd edilmesini sağlamaktır.

ssl:// ve tls:// aktarımları (sadece PHP openssl desteği ile derlenmişse vardırlar) tcp:// aktarımının SSL şifrelemeli uzantılarıdır.

ssl:// aktarımı, uzak konağın yetenek ve tercihlerine bağlı olarak SSL V2 veya SSL V3 bağlantısı kurmaya çalışacaktır. SSL V2 veya SSL V3 bağlantı istekleri sslv2:// ve sslv3:// biçeminde açıkça belirtilebilir.


Unix Alanı: Unix ve UDG

unix:// ve udg://.

  • unix:///tmp/mysock
  • udg:///tmp/mysock

unix:// aktarımı Unix alanında bir soket akımı bağlantısına erişim sağlar. udg:// ise aynı sokete UDP protokolü kullanılarak erişim sağlar.

Unix alanı soketleri, Genel Ağ soketlerinin tersine bir port numarası gerektirmezler. Bu durumda fsockopen() işlevinin portnum bağımsız değişkenine 0 atanmalıdır.

Bilginize: Unix alanı soketleri Windows'da desteklenmez.


PHP Tür Karşılaştırma Tabloları

Aşağıdaki tablolarda PHP türlerinin ve karşılaştırma işleçlerinin gevşek ve titiz karşılaştırmalarda davranışları gösterilmiştir. Bu ek bölüm ayrıca Tür Dönüşümü bölümü ile de ilgilidir. Bu tablolar çeşitli kullanıcı yorumlarından ve » BlueShoes sitesindeki çalışmadan esinlenerek oluşturulmuştur.

Bu tabloları kullanmadan önce türleri ve anlamlarını anlamış olmak önemlidir. Örneğin, "42" değeri string türünde iken 42 değeri int türündedir. false değeri bool türünde olduğu halde "false" değeri string türündedir.

Bilginize:

HTML Formları tamsayı, gerçek sayı ve mantıksal değerleri aktarmaz; sadece dizgeleri aktarır. Bir dizgenin sayısal olup olmadığını öğrenmek için is_numeric() işlevini kullanabilirsiniz.

Bilginize:

$x tanımsızken if ($x) yazılırsa E_NOTICE seviyesinde bir hata üretilir. Bunun olmaması için empty() veya isset() işlevlerini kullanmanız ve/veya değişkenlerinizi ilklendirmeniz gerekir.

Bilginize:

Bazı sayısal işlemler NAN sabiti ile belirtilen bir değer üretebilir. Bu değerin diğer bir değerle (kendisi dahil, true hariç) sıkı veya gevşek karşılaştırmaları false sonucunu verir. (örneğin, NAN != NAN ve NAN !== NAN) NAN üreten işlemlere örnek olarak sqrt(-1), asin(2) ve asinh(0) verilebilir.

$x ile PHP işlevlerinin karşılaştırmaları
İfade | gettype() | empty() | is_null() | isset() | bool : if($x)
$x = ""; | string | true | false | true | false
$x = null; | NULL | true | true | false | false
var $x; | NULL | true | true | false | false
$x tanımsız | NULL | true | true | false | false
$x = []; | array | true | false | true | false
$x = ['a', 'b']; | array | false | false | true | true
$x = false; | bool | true | false | true | false
$x = true; | bool | false | false | true | true
$x = 1; | int | false | false | true | true
$x = 42; | int | false | false | true | true
$x = 0; | int | true | false | true | false
$x = -1; | int | false | false | true | true
$x = "1"; | string | false | false | true | true
$x = "0"; | string | true | false | true | false
$x = "-1"; | string | false | false | true | true
$x = "php"; | string | false | false | true | true
$x = "true"; | string | false | false | true | true
$x = "false"; | string | false | false | true | true

== ile gevşek karşılaştırmalar
 | true | false | 1 | 0 | -1 | "1" | "0" | "-1" | null | [] | "php" | ""
true | true | false | true | false | true | true | false | true | false | false | true | false
false | false | true | false | true | false | false | true | false | true | true | false | true
1 | true | false | true | false | false | true | false | false | false | false | false | false
0 | false | true | false | true | false | false | true | false | true | false | false* | false*
-1 | true | false | false | false | true | false | false | true | false | false | false | false
"1" | true | false | true | false | false | true | false | false | false | false | false | false
"0" | false | true | false | true | false | false | true | false | false | false | false | false
"-1" | true | false | false | false | true | false | false | true | false | false | false | false
null | false | true | false | true | false | false | false | false | true | true | false | true
[] | false | true | false | false | false | false | false | false | true | true | false | false
"php" | true | false | false | false* | false | false | false | false | false | false | true | false
"" | false | true | false | false* | false | false | false | false | true | false | false | true
* PHP 8.0.0 öncesinde true idi.

=== ile titiz karşılaştırmalar
 | true | false | 1 | 0 | -1 | "1" | "0" | "-1" | null | [] | "php" | ""
true | true | false | false | false | false | false | false | false | false | false | false | false
false | false | true | false | false | false | false | false | false | false | false | false | false
1 | false | false | true | false | false | false | false | false | false | false | false | false
0 | false | false | false | true | false | false | false | false | false | false | false | false
-1 | false | false | false | false | true | false | false | false | false | false | false | false
"1" | false | false | false | false | false | true | false | false | false | false | false | false
"0" | false | false | false | false | false | false | true | false | false | false | false | false
"-1" | false | false | false | false | false | false | false | true | false | false | false | false
null | false | false | false | false | false | false | false | false | true | false | false | false
[] | false | false | false | false | false | false | false | false | false | true | false | false
"php" | false | false | false | false | false | false | false | false | false | false | true | false
"" | false | false | false | false | false | false | false | false | false | false | false | true


Çözümleyici Dizgeciklerinin Listesi

PHP dilinin çeşitli parçaları dahili olarak dizgeciklerle ifade edilir. Geçersiz bir dizgecikler içeren bir kod parçacığı, şuna benzer hatalara neden olabilir: "Parse error: syntax error, unexpected token "==", expecting "(" in script.php on line 10.". Buradaki == dizgeciği dahili olarak T_IS_EQUAL sabiti ile ifade edilir.

Aşağıdaki tabloda tüm dizgecikler listelenmiştir. Bunlar aynı zamanda PHP sabiti olarak da kullanılabilir.

Bilginize: T_* sabitlerinin kullanımı

T_* sabitlerinin değerleri, PHP'nin temel çözümleyici alt yapısına dayalı olarak otomatik üretilir. Yani bir dizgeciğin somut değeri iki PHP sürümü arasında değişebilir. Yani kodunuz PHP sürümleri arasında uyumluluk sağlamak için PHP'nin X.Y.Z sürümünden alınmış özgün T_* değerlerine güvenmemelidir.

T_* sabitlerini çok sayıda PHP sürümü arasında kullanılabilir yapmak için, tanımsız sabitler kullanıcı tarafından uygun bir strateji seçilerek tanımlanabilir: T_* değerlerinden ve özel değerlerden (10000 gibi büyük bir değer kullanmak) yararlanılabilir.

<?php
// PHP 7.4.0 öncesinde, T_FN tanımlı değildi.
defined('T_FN') || define('T_FN', 10001);

Dizgecikler
Dizgecik | Söz dizimi | Gönderim
T_ABSTRACT | abstract | Sınıf Soyutlama
T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG | & | Tür bildirimleri (PHP 8.1.0 ve sonrasında kullanılabilir)
T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG | & | Tür bildirimleri (PHP 8.1.0 ve sonrasında kullanılabilir)
T_AND_EQUAL | &= | atama işleçleri
T_ARRAY | array() | array(), dizi sözdizimi
T_ARRAY_CAST | (array) | tür çarpıtma
T_AS | as | foreach
T_ATTRIBUTE | #[ | Öznitelikler (PHP 8.0.0 ve sonrasında kullanılabilir)
T_BAD_CHARACTER |  | \t (0x09), \n (0x0a) ve \r (0x0d) hariç, ASCII 32'den küçük herşey (PHP 7.4.0 itibariyle kullanılabilir)
T_BOOLEAN_AND | && | mantıksal işleçler
T_BOOLEAN_OR | || | mantıksal işleçler
T_BOOL_CAST | (bool) veya (boolean) | tür çarpıtma
T_BREAK | break | break
T_CALLABLE | callable | callable
T_CASE | case | switch
T_CATCH | catch | İstisnalar
T_CLASS | class | sınıflar ve nesneler
T_CLASS_C | __CLASS__ | sihirli sabitler
T_CLONE | clone | sınıflar ve nesneler
T_CLOSE_TAG | ?> veya %> | HTML'den Kaçmak
T_COALESCE | ?? | karşılaştırma işleçleri
T_COALESCE_EQUAL | ??= | atama işleçleri (PHP 7.4.0 itibariyle kullanılabilir.)
T_COMMENT | // veya # ve /* */ | açıklamalar
T_CONCAT_EQUAL | .= | atama işleçleri
T_CONST | const | sınıf sabitleri
T_CONSTANT_ENCAPSED_STRING | "foo" veya 'bar' | dizge söz dizimi
T_CONTINUE | continue | continue deyimi
T_CURLY_OPEN | {$ | karmaşık değişken çözümlemeli sözdizimi
T_DEC | -- | Arttırım ve Eksiltim İşleçleri
T_DECLARE | declare | declare
T_DEFAULT | default | switch
T_DIR | __DIR__ | sihirli sabitler
T_DIV_EQUAL | /= | atama işleçleri
T_DNUMBER | 0.12, vs. | gerçek sayılar
T_DO | do | do..while
T_DOC_COMMENT | /** */ | PHPDoc tarzı açıklamalar.
T_DOLLAR_OPEN_CURLY_BRACES | ${ | Karmaşık (kaşlı ayraçlı) sözdizimi
T_DOUBLE_ARROW | => | dizi söz dizimi
T_DOUBLE_CAST | (real), (double) veya (float) | tür çarpıtma
T_DOUBLE_COLON | :: | Bakınız: T_PAAMAYIM_NEKUDOTAYIM
T_ECHO | echo | echo
T_ELLIPSIS | ... | işlev bağımsız değişkenleri
T_ELSE | else | else
T_ELSEIF | elseif | elseif
T_EMPTY | empty | empty()
T_ENCAPSED_AND_WHITESPACE | " $a" | dizge değişkenlerinde sabit kısım
T_ENDDECLARE | enddeclare | declare, denetim yapıları için diğer sözdizimi
T_ENDFOR | endfor | for, denetim yapıları için diğer sözdizimi
T_ENDFOREACH | endforeach | foreach, denetim yapıları için diğer sözdizimi
T_ENDIF | endif | if, denetim yapıları için diğer sözdizimi
T_ENDSWITCH | endswitch | switch, denetim yapıları için diğer sözdizimi
T_ENDWHILE | endwhile | while, denetim yapıları için diğer sözdizimi
T_ENUM | enum | Enumerations (PHP 8.1.0 ve sonrasında kullanılabilir)
T_END_HEREDOC |  | yorumlu metinler
T_EVAL | eval() | eval()
T_EXIT | exit veya die | exit(), die()
T_EXTENDS | extends | extends, sınıflar ve nesneler
T_FILE | __FILE__ | sihirli sabitler
T_FINAL | final | final Anahtar Sözcüğü
T_FINALLY | finally | İstisnalar
T_FN | fn | ok işlevleri (PHP 7.4.0 itibariyle kullanılabilir.)
T_FOR | for | for
T_FOREACH | foreach | foreach
T_FUNCTION | function | işlevler
T_FUNC_C | __FUNCTION__ | sihirli sabitler
T_GLOBAL | global | değişken etki alanı
T_GOTO | goto | goto deyimi
T_HALT_COMPILER | __halt_compiler() | __halt_compiler
T_IF | if | if
T_IMPLEMENTS | implements | Nesne Arayüzleri
T_INC | ++ | arttırım ve eksiltim işleçleri
T_INCLUDE | include() | include
T_INCLUDE_ONCE | include_once() | include_once
T_INLINE_HTML |  | PHP dışı metin
T_INSTANCEOF | instanceof | tür işleçleri
T_INSTEADOF | insteadof | Nitelikler
T_INTERFACE | interface | Nesne Arayüzleri
T_INT_CAST | (int) or (integer) | tür çarpıtma
T_ISSET | isset() | isset()
T_IS_EQUAL | == | karşılaştırma işleçleri
T_IS_GREATER_OR_EQUAL | >= | karşılaştırma işleçleri
T_IS_IDENTICAL | === | karşılaştırma işleçleri
T_IS_NOT_EQUAL | != or <> | karşılaştırma işleçleri
T_IS_NOT_IDENTICAL | !== | karşılaştırma işleçleri
T_IS_SMALLER_OR_EQUAL | <= | karşılaştırma işleçleri
T_LINE | __LINE__ | sihirli sabitler
T_LIST | list() | list()
T_LNUMBER | 123, 012, 0x1ac, vs. | tamsayılar
T_LOGICAL_AND | and | mantıksal işleçler
T_LOGICAL_OR | or | mantıksal işleçler
T_LOGICAL_XOR | xor | mantıksal işleçler
T_MATCH | match | match (PHP 8.0.0 ve sonrasında kullanılabilir)
T_METHOD_C | __METHOD__ | sihirli sabitler
T_MINUS_EQUAL | -= | atama işleçleri
T_MOD_EQUAL | %= | atama işleçleri
T_MUL_EQUAL | *= | atama işleçleri
T_NAMESPACE | namespace | isim alanları
T_NAME_FULLY_QUALIFIED | \App\Namespace | namespaces (PHP 8.0.0 ve sonrasında kullanılabilir)
T_NAME_QUALIFIED | App\Namespace | namespaces (PHP 8.0.0 ve sonrasında kullanılabilir)
T_NAME_RELATIVE | namespace\Namespace | namespaces (PHP 8.0.0 ve sonrasında kullanılabilir)
T_NEW | new | sınıflar ve nesneler
T_NS_C | >__NAMESPACE__ | isim alanları.
T_NS_SEPARATOR | \ | isim alanları (PHP 5.3.0 ve sonrasında mevcuttur.)
T_NUM_STRING | "$a[0]" | dizge içinde sayısal dizi indisi
T_NULLSAFE_OBJECT_OPERATOR | ?-> | sınıflar ve nesneler
T_OPEN_TAG | <?php, <? veya <% | HTML'den Kaçmak
T_OPEN_TAG_WITH_ECHO | <?= veya <%= | HTML'den Kaçmak
T_OR_EQUAL | |= | atama işleçleri
T_PAAMAYIM_NEKUDOTAYIM | :: | ::. Ayrıca, T_DOUBLE_COLON olarak tanımlıdır.
T_PLUS_EQUAL | += | atama işleçleri
T_POW | ** | aritmetik işleçleri
T_POW_EQUAL | **= | atama işleçleri
T_PRINT | print() | print
T_PRIVATE | private | sınıflar ve nesneler
T_PROTECTED | protected | sınıflar ve nesneler
T_PUBLIC | public | sınıflar ve nesneler
T_READONLY | readonly | classes and objects (PHP 8.1.0 ve sonrasında kullanılabilir.)
T_REQUIRE | require() | require
T_REQUIRE_ONCE | require_once() | require_once
T_RETURN | return | dönüş değerleri
T_SL | << | bitsel işleçler
T_SL_EQUAL | <<= | atama işleçleri
T_SPACESHIP | <=> | karşılaştırma işleçleri
T_SR | >> | bitsel işleçler
T_SR_EQUAL | >>= | atama işleçleri
T_START_HEREDOC | <<< | yorumlu metinler
T_STATIC | static | değişken etki alanı
T_STRING | parent, self, vs. | parent ve self gibi anahtar sözcükler, işlev isimleri ve sınıf isimleri gibi belirteçlerle eşleşir. Ayrıca bakınız: T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST | (string) | tür çarpıtma
T_STRING_VARNAME | "${a | karmaşık değişken çözümlemeli sözdizimi
T_SWITCH | switch | switch
T_THROW | Throw | İstisnalar
T_TRAIT | trait | Nitelikler
T_TRAIT_C | __TRAIT__ | __TRAIT__
T_TRY | Try | İstisnalar
T_UNSET | unset() | unset()
T_UNSET_CAST | (unset) | tür çarpıtma
T_USE | use | isim alanları
T_VAR | var | sınıflar ve nesneler
T_VARIABLE | $foo | değişkenler
T_WHILE | while | while, do..while
T_WHITESPACE | \t \r\n |
T_XOR_EQUAL | ^= | atama işleçleri
T_YIELD | yield | üreteçler
T_YIELD_FROM | yield from | üreteçler

Ayrıca bakınız: token_name().


Kullanıcı Alanı İsimlendirme Kılavuzu

İçindekiler

  • Küresel İsim alanı
  • Kurallar
  • İpuçları

Bu belge, PHP kullanıcısı tarafından betimleyicilerin en iyi nasıl seçilebileceğini açıklayan bir kılavuzdur. Bir kodun küresel isim alanını oluşturan isimler seçilirken, bunların gelecekteki PHP sürümlerinde kullanılması olası isimlerle çakışmayacak şekilde seçilmesi için aşağıdaki açıklamaları hesaba katmak önem kazanmaktadır.


Küresel İsim alanı

Küresel isim alanında kullanılabilecek oluşumlar:

  • işlevler

  • sınıflar

  • arayüzler

  • sabitler (sınıf sabitleri hariç)

  • işlev/yöntemlerin dışında tanımlanmış değişkenler


Kurallar

Aşağıdaki listede, PHP'nin yeni yerleşik betimleyicileri için isim seçerken projeye tanıdığı haklar belirtilmiştir. Bu liste resmi kodlama standartlarından (» CODING STANDARDS) alıntıdır:

  • PHP tepe seviye isim alanını kendine ayırmış olsa da açıkça uyumsuz olmaktan kaçınılmaya ve titiz bir şekilde daha açıklayıcı isimler bulunmaya çalışılır.

  • İşlev isimlerinde sözcükler arasında altçizgi imleri kullanılırken sınıf isimlerinde hörgüçlü ve Pascal yazım tarzlarının ikisi de kullanılır.

  • PHP, eklentilerin küresel betimleyicilerinin önüne eklenti isimlerini getirir (geçmişten kalma bazı istisnalar vardır). Örnekler:

    • curl_close()

    • mysql_query()

    • PREG_SPLIT_DELIM_CAPTURE

    • new DOMDocument()

    • strpos() (geçmişte yapılan bir yanlışlık)

    • new SplFileObject()

  • Yineleyicilerin ve istisnaların betimleyicilerinin ardına "Iterator" ve "Exception" getirilir. Örnekler:

    • ArrayIterator

    • LogicException

  • PHP, __ ile başlayan tüm betimleyicileri kendine ayırmıştır. Belgelenmiş sihirli işlevselliği kullanmak dışında __ ile başlayan betimleyiciler kullanmamanızı öneririz. Örnekler:

    • __get()

    • __autoload()


İpuçları

Geleceğe yönelik kod yazmak için, genel isim alanına çok sayıda değişken, işlev veya sınıf yerleştirmemeniz önerilir. Bu, 3. taraf koduyla adlandırma çakışmalarının yanı sıra gelecekte dile yapılacak olası eklemeleri de önleyecektir.

İşlevlerin ve sınıfların adlandırma çakışmalarını önlemenin yaygın bir yolu, bunları kendi isim alanlarına eklemektir.

<?php
namespace Projem;

function işlevim() {
return true;
}

\Projem\işlevim();

Bu, halihazırda kullanılan isim alanlarını takip etmenizi gerektiriyor, ancak bir isim alanına karar verdiğinizde, tekrar çatışmaları düşünmek zorunda kalmadan tüm işlevleri ve sınıfları ona ekleyebilirsiniz.

Üçüncü taraf koduyla adlandırma çakışmalarını önlemek için genel kapsama eklenen değişkenlerin sayısını sınırlamak en iyi uygulama olarak kabul edilir.

Bilginize: Değişken etki alanı

PHP'nin etki alanı belirleme kuralları nedeniyle, işlev ve yöntemlerin içinde tanımlanan değişkenler genel kapsamda olmadığından küresel etki alanında tanımlanan diğer değişkenlerle çakışamaz.


About the manual

İçindekiler

  • Formats
  • About user notes
  • How to read a function definition (prototype)
  • PHP versions documented in this manual
  • How to find more information about PHP
  • How to help improve the documentation
  • How we generate the formats
  • Translations


Formats

The PHP manual is provided in several formats. These formats can be divided into two groups: online readable formats, and downloadable packages.

Bilginize:

Some publishers have made available printed versions of this manual. We cannot recommend any of those, as they tend to become out-of-date very quickly.

The manual can be read online at the » PHP.net website. The online version of the PHP manual has currently two CSS stylesheets, web friendly and a printer-friendly stylesheet.

Two notable advantages of the online manual over most of the offline formats is the integration of user-contributed notes and the » URL shortcuts that may be used to get to the desired manual parts quickly. An obvious disadvantage is the requirement to be online to view this edition of the manual.

There are several offline formats of the manual, and the most appropriate format for depends on the operating system, and personal reading style. For information on how the manual is generated in so many formats, read the 'How we generate the formats' section of this appendix.

The most cross-platform format of the manual is the HTML version. This is provided both as a single HTML file and as a package of individual files for each section (which results in a collection of several thousand files). We provide these versions compressed, so a decompression utility is required to retrieve the files contained within the archives.

For Windows platforms, the Windows HTML Help version of the manual enhances the HTML format for use with the Windows HTML Help application. This version provides full-text search, a full index, and bookmarking. Many popular Windows PHP development environments also integrate with this version of the documentation to provide easy access. CHM viewers for Linux desktops are also available. Check out » xCHM or » GnoCHM.

There is also an » extended CHM version available, which is updated less frequently, but provides many additional features. It will only work on Microsoft Windows though, because of the technologies used to build the help pages.


About user notes

The user-contributed notes play an important role in the development of this manual. By allowing readers of the manual to contribute examples, caveats, and further clarifications from their browser, we are able to incorporate that feedback into the main text of the manual. And until the notes have been incorporated, they may be viewed in their submitted form online, and in some of the offline formats.

Bilginize:

The user-contributed notes are not moderated before they appear online, so the quality of the writing or code examples, and even the veracity of the contribution, cannot be guaranteed. (Not that there is any guarantee of the quality or accuracy of the manual text itself.)

Bilginize:

For the purposes of license coverage the user-contributed notes are considered part of the PHP manual, and are therefore covered by the same license that covers this documentation (Creative Commons Attribution at the moment). For more details see the Manual's Copyright page.


How to read a function definition (prototype)

Each function in the manual is documented for quick reference. Knowing how to read and understand the text will make learning PHP much easier. Rather than relying on examples or cut/paste, everyone should know how to read function definitions (prototypes). Let's begin:

Bilginize: Prerequisite: Basic understanding of types

Although PHP is a loosely typed language, it's important to have a basic understanding of types as they have important meaning.

Function definitions tell us what type of value is returned. Let's use the definition for strlen() as our first example:

strlen

(PHP 4, PHP 5, PHP 7)
strlen -- Get string length

Description
strlen ( string $string ) : int

Returns the length of given string.

Explanation of a function definition
Part | Description
strlen | The function name.
(PHP 4, PHP 5, PHP 7) | strlen() has been around in all versions of PHP 4, 5 and 7
( string $string ) | The first (and in this case the only) parameter/argument for this function is named string, and it's a string.
int | Type of value this function returns, which is an int (i.e. the length of a string is measured in numbers).

We could rewrite the above function definition in a generic way:

      function name    ( parameter type   parameter name ) : returned type

Many functions take on multiple parameters, such as in_array(). Its prototype is as follows:

      in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool

What does this mean? in_array() returns a boolean value, true on success (if the needle was found in the haystack) başarısızlık durumunda false döner (if the needle was not found in the haystack). The first parameter is named needle and it can be of many different types, so we call it "mixed". This mixed needle (what we're looking for) can be either a scalar value (string, integer, or float), or an array. haystack (the array we're searching in) is the second parameter. The third optional parameter is named strict. All optional parameters have default values; if the default value is unknown, it is shown as ?. The manual states that the strict parameter defaults to boolean false. See the manual page on each function for details on how they work.

In addition the & (ampersand) symbol prepended to a function parameter allows the parameter to be passed by reference, as seen below:

       preg_match ( string $pattern , string $subject , array &$matches = null,
       int $flags = 0 , int $offset = 0 ) : int|false

In this example, we can see the third optional parameter &$matches will be passed as reference.

There are also functions with more complex PHP version information. Take html_entity_decode() as an example:

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

This means that this function has only been available in a released version since PHP 4.3.0.


PHP versions documented in this manual

The manual contains information about past, current, and future versions of PHP. Changes in behaviour are documented as notes, changelogs, and inline text within the manual pages. The earliest documented version is PHP 7.0.0.

When documentation exists for the latest (unreleased) developmental versions of PHP, it will be labeled as either "available in Git" or "development version." And while these changes should be planned for, in rare cases they may change.

All development takes place in Git and may be checked out as described within the » anonymous Git access page.

And to clarify, the manual will refer to major, minor and point PHP releases. Using PHP 7.3.1 as an example, the 7 refers to the major version, 3 to minor, and 1 is the point release. Typically PHP only adds new features to major and minor releases, and fixes bugs in point releases. However, this convention is not always true.

Also note that the PHP manual is written in present tense, not future tense, even for documented features that are not yet available. The reason for this is so the manual can stand the test of time, thus not require tedious grammar updates with every PHP release.

Many times the PHP manual lists "Default Values" for PHP directives. These values are based on how PHP behaves without a php.ini configuration file, so this may differ from values found in the distributed php.ini-development and php.ini-production files. They also refer to the latest version of PHP, although changelog entries do mention past values. See the PHP directive appendix for details regarding these values and changes.


How to find more information about PHP

This manual does not attempt to provide instruction about general programming practices. First-time - or even just beginning - programmers may find it difficult to learn how to program in PHP using this manual exclusively. Instead, seek out a text more oriented towards beginners.

There are a number of active mailing lists for discussion on all aspects of programming with PHP. If stuck with a problem, consider using these lists. For support options, including mailing lists, view » the PHP.net support page.


How to help improve the documentation

There are several ways everyone can help improve this documentation.

If an error is found in this manual, in any language, please report them using the issue tracker of the respective language repository at » https://github.com/php; for instance, errors in the English manual should be reported at » https://github.com/php/doc-en/issues. All documentation related problems, including those about manual formats, should be submitted as bug reports.

Bilginize:

Please don't abuse the issue trackers by submitting requests for help. Instead, use one of the many » support options.

By contributing notes, users may provide additional examples, caveats, and clarifications for other readers. But please do not submit bug reports using the annotation system. For details, see the section titled 'About user notes'.

It is also possible to submit pull requests to the » Github mirror of the documentation repository.

The PHP manual is translated into many languages. Knowing English and a foreign language allows for another way to help improve the PHP manual by working with a translation team. For information about starting a new translation, or helping a currently translated version, please read » http://doc.php.net/tutorial/.

The PHP Documentation Project also has an IRC channel where many manual authors hang out. Stop by #php.doc on irc.efnet.org and discuss ways to improve the PHP documentation.


How we generate the formats

This manual is written in XML using the » DocBook XML DTD, using » PhD (The [PH]P based [D]ocBook renderer) for maintenance and formatting.

Using XML as a source format gives the ability to generate many output formats from the source files, while only maintaining one source document for all formats. The tool used for formatting the online manual is » PhD. We use » Microsoft HTML Help Workshop to generate the Windows HTML Help format of the manual, and of course PHP itself to do some additional conversions and formatting.

The PHP manual is generated in various languages and formats, see » https://www.php.net/docs.php for additional details. The XML source code may be downloaded from git and viewed at » https://github.com/php/doc-en.


Translations

The PHP manual is available not only in various formats, but also in various languages. The text of the manual is first written in English, then teams of people across the world take care of translating it to their native languages. If a translation for a specified function or chapter has not yet been made, the manual's build system falls back to the English version of it.

People involved in the translations start from the XML source code available from » https://github.com/php/doc-en and from it they translate to their mother language. They do not use the generated versions (like HTML or plain text) as it's the build system that takes care of the conversions from XML to human readable formats.

Bilginize:

To help translate the documentation, please get in touch with the translation/documentation team by subscribing to the phpdoc mailing list: send an empty mail to » phpdoc-subscribe@lists.php.net. The mailing list address is phpdoc@lists.php.net. State in the message an interest in translating the manual and someone will reply with feedback on moving forward by helping start a new language translation, or by contacting the existing team for the desired language.

At the moment the manual is available, partly or not, in over 10 languages.

They may all be downloaded here: » https://www.php.net/docs.php.


Creative Commons Attribution 3.0

THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.

BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.

1. Definitions

  1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
  2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
  3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
  4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
  5. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
  6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
  7. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
  8. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.

2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.

3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:

  1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
  2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
  3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
  4. to Distribute and Publicly Perform Adaptations.

  5. For the avoidance of doubt:

    1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
    2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
    3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.

The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.

4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

  1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested.
  2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
  3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.

5. Representations, Warranties and Disclaimer

UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.

6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

7. Termination.

  1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
  2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.

8. Miscellaneous

  1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
  2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
  3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
  4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent
  5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
  6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.


  • « Creative Commons Attribution 3.0
  • İşlevler ve Yöntemler Dizini »
  • PHP Manual
  • Ekler
  • Genel Dizin

Genel Dizin

İçindekiler

  • İşlevler ve Yöntemler Dizini
  • Örnekler Dizini


İşlevler ve Yöntemler Dizini

Kılavuzdaki tüm işlevler ve yöntemlerin bir listesi

a b c d e f g h i j k l m n o p q r s t u v w x y z _

  • a
    • abs - Absolute value
    • acos - Arc cosine
    • acosh - Inverse hyperbolic cosine
    • addcslashes - Dizgeye C tarzı öncelem uygular
    • addslashes - Özel karakterlerin önüne tersbölü yerleştirir
    • AllowDynamicProperties::__construct - AllowDynamicProperties özniteliğinin yeni bir örneğini oluşturur
    • apache_child_terminate - Bu istekten sonra Apache sürecini sonlandırır
    • apache_getenv - Bir Apache ortam değişkeninin değerini döndürür
    • apache_get_modules - Yüklü Apache modüllerinin listesini verir
    • apache_get_version - Apache sürümünü getirir
    • apache_lookup_uri - Verilen URI için kısmi bir istekte bulunur ve hakkındaki tüm bilgileri döndürür
    • apache_note - Apache istek notlarını alır veya atar
    • apache_request_headers - Tüm HTTP istek başlıklarını alır
    • apache_response_headers - Tüm HTTP yanıt başlıklarını alır
    • apache_setenv - Bir Apache ortam değişkeni atar
    • APCUIterator::current - Get current item
    • APCUIterator::getTotalCount - Get total count
    • APCUIterator::getTotalHits - Get total cache hits
    • APCUIterator::getTotalSize - Get total cache size
    • APCUIterator::key - Get iterator key
    • APCUIterator::next - Move pointer to next item
    • APCUIterator::rewind - Rewinds iterator
    • APCUIterator::valid - Checks if current position is valid
    • APCUIterator::__construct - Constructs an APCUIterator iterator object
    • apcu_add - Cache a new variable in the data store
    • apcu_cache_info - Retrieves cached information from APCu's data store
    • apcu_cas - Updates an old value with a new value
    • apcu_clear_cache - Clears the APCu cache
    • apcu_dec - Decrease a stored number
    • apcu_delete - Removes a stored variable from the cache
    • apcu_enabled - Whether APCu is usable in the current environment
    • apcu_entry - Atomically fetch or generate a cache entry
    • apcu_exists - Checks if entry exists
    • apcu_fetch - Fetch a stored variable from the cache
    • apcu_inc - Increase a stored number
    • apcu_key_info - Get detailed information about the cache key
    • apcu_sma_info - Retrieves APCu Shared Memory Allocation information
    • apcu_store - Cache a variable in the data store
    • AppendIterator::append - Appends an iterator
    • AppendIterator::current - Gets the current value
    • AppendIterator::getArrayIterator - Gets the ArrayIterator
    • AppendIterator::getIteratorIndex - Gets an index of iterators
    • AppendIterator::key - Gets the current key
    • AppendIterator::next - Moves to the next element
    • AppendIterator::rewind - Rewinds the Iterator
    • AppendIterator::valid - Checks validity of the current element
    • AppendIterator::__construct - Constructs an AppendIterator
    • array - Bir dizi oluşturur
    • ArrayAccess::offsetExists - Bir konumun mevcut olup olmadığına bakar
    • ArrayAccess::offsetGet - Konumdaki değeri döndürür
    • ArrayAccess::offsetSet - Belirtilen konuma bir değer atar
    • ArrayAccess::offsetUnset - Belirtilen konum boşaltılır
    • ArrayIterator::append - Append an element
    • ArrayIterator::asort - Sort entries by values
    • ArrayIterator::count - Count elements
    • ArrayIterator::current - Return current array entry
    • ArrayIterator::getArrayCopy - Get array copy
    • ArrayIterator::getFlags - Get behavior flags
    • ArrayIterator::key - Return current array key
    • ArrayIterator::ksort - Sort entries by keys
    • ArrayIterator::natcasesort - Sort entries naturally, case insensitive
    • ArrayIterator::natsort - Sort entries naturally
    • ArrayIterator::next - Move to next entry
    • ArrayIterator::offsetExists - Check if offset exists
    • ArrayIterator::offsetGet - Get value for an offset
    • ArrayIterator::offsetSet - Set value for an offset
    • ArrayIterator::offsetUnset - Unset value for an offset
    • ArrayIterator::rewind - Rewind array back to the start
    • ArrayIterator::seek - Seek to position
    • ArrayIterator::serialize - Serialize
    • ArrayIterator::setFlags - Set behaviour flags
    • ArrayIterator::uasort - Sort with a user-defined comparison function and maintain index association
    • ArrayIterator::uksort - Sort by keys using a user-defined comparison function
    • ArrayIterator::unserialize - Unserialize
    • ArrayIterator::valid - Check whether array contains more entries
    • ArrayIterator::__construct - Construct an ArrayIterator
    • ArrayObject::append - Appends the value
    • ArrayObject::asort - Sort the entries by value
    • ArrayObject::count - Get the number of public properties in the ArrayObject
    • ArrayObject::exchangeArray - Exchange the array for another one
    • ArrayObject::getArrayCopy - Creates a copy of the ArrayObject
    • ArrayObject::getFlags - Gets the behavior flags
    • ArrayObject::getIterator - Create a new iterator from an ArrayObject instance
    • ArrayObject::getIteratorClass - Gets the iterator classname for the ArrayObject
    • ArrayObject::ksort - Sort the entries by key
    • ArrayObject::natcasesort - Sort an array using a case insensitive "natural order" algorithm
    • ArrayObject::natsort - Sort entries using a "natural order" algorithm
    • ArrayObject::offsetExists - Returns whether the requested index exists
    • ArrayObject::offsetGet - Returns the value at the specified index
    • ArrayObject::offsetSet - Sets the value at the specified index to newval
    • ArrayObject::offsetUnset - Unsets the value at the specified index
    • ArrayObject::serialize - Serialize an ArrayObject
    • ArrayObject::setFlags - Sets the behavior flags
    • ArrayObject::setIteratorClass - Sets the iterator classname for the ArrayObject
    • ArrayObject::uasort - Sort the entries with a user-defined comparison function and maintain key association
    • ArrayObject::uksort - Sort the entries by keys using a user-defined comparison function
    • ArrayObject::unserialize - Unserialize an ArrayObject
    • ArrayObject::__construct - Construct a new array object
    • array_change_key_case - Bir dizideki tüm anahtarların harf büyüklüğünü değiştirir
    • array_chunk - Bir diziyi belli uzunlukta bölümlere ayırır
    • array_column - Dizinin bir sütunundaki değerlerle döner
    • array_combine - Anahtarlar için bir dizi, değerler için ise başka bir dizi kullanarak bir ilişkisel dizi oluşturur
    • array_count_values - Bir dizideki her farklı değerlerle ilgili oluşumları sayar
    • array_diff - Dizilerin farkını hesaplar
    • array_diff_assoc - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
    • array_diff_key - Dizilerin farkını hesaplarken indisleri karşılaştırır
    • array_diff_uassoc - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_diff_ukey - Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
    • array_fill - Bir diziyi değerlerle doldurur
    • array_fill_keys - Anahtarları belirtilen diziyi değerlerle doldurur
    • array_filter - Bir dizinin elemanlarını bir geriçağırım işleviyle süzgeçten geçirir
    • array_flip - Bir dizideki anahtarlarla değerleri yer değiştirir
    • array_intersect - Dizilerin kesişimini hesaplar
    • array_intersect_assoc - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
    • array_intersect_key - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
    • array_intersect_uassoc - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
    • array_intersect_ukey - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
    • array_is_list - Belirtilen dizi bir liste mi diye bakar
    • array_keys - Bir dizideki tüm anahtarları veya bir anahtar altkümesini döndürür
    • array_key_exists - Belirtilen anahtar veya indis dizide var mı diye bakar
    • array_key_first - Dizinin ilk anahtarı ile döner
    • array_key_last - Dizinin son anahtarı ile döner
    • array_map - Belirtilen dizilerin elemanlarına geriçağırım işlevini uygular
    • array_merge - Belirtilen dizileri ardarda ekleyerek yeni bir dizi oluşturur
    • array_merge_recursive - Bir veya daha fazla sayıda diziyi ardarda ekleyerek yeni bir dizi oluşturur
    • array_multisort - Çok sayıda diziyi veya çok boyutlu dizileri sıralar
    • array_pad - Dizi boyutunu belirtilen boyuta çıkarırken, yeni elemanlara belirtilen değeri yerleştirir
    • array_pop - Dizinin sonundaki elemanı diziden çıkartır
    • array_product - Bir dizideki değerlerin çarpımını bulur
    • array_push - Belli sayıda elemanı dizinin sonuna ekler
    • array_rand - Bir diziden belli sayıda rasgele anahtar döndürür
    • array_reduce - Bir geriçağırım işlevini dizinin bütün elemanlarına tek tek uygulayıp sonucu döndürür
    • array_replace - İlk dizinin elemanlarını aktarılan dizilerden günceller
    • array_replace_recursive - İlk dizinin elemanlarını aktarılan dizilerden ardışık olarak günceller
    • array_reverse - Diziyi tersine sıralayıp döndürür
    • array_search - Bir dizide belirtilen değeri arar ve bulursa ilgili ilk anahtarı döndürür
    • array_shift - Dizini başlangıcından bir eleman çeker
    • array_slice - Bir dizinin belli bir bölümünü döndürür
    • array_splice - Bir dizinin belli bir bölümünü silip yerine başka şeyler koyar
    • array_sum - Bir dizideki değerlerin toplamını hesaplar
    • array_udiff - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
    • array_udiff_assoc - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_udiff_uassoc - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
    • array_uintersect - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
    • array_uintersect_assoc - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_uintersect_uassoc - Değerleri ve indisleri farklı geriçağırım işlevleriyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
    • array_unique - Diziden yinelenen değerleri siler
    • array_unshift - Bir dizinin başlangıcına bir veya daha fazla eleman ekler
    • array_values - Bir dizinin tüm değerlerini döndürür
    • array_walk - Bir dizinin her üyesine kullanıcı tanımlı bir işlevi uygular
    • array_walk_recursive - Bir dizinin ardışık olarak her üyesine kullanıcı tanımlı bir işlevi uygular
    • arsort - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan büyükten küçüğe doğru sıralar
    • asin - Arc sine
    • asinh - Inverse hyperbolic sine
    • asort - Bir dizinin değerlerini anahtarlarıyla ilişkilerini bozmadan küçükten büyüğe doğru sıralar
    • assert - Savın doğruluğuna bakar
    • assert_options - Çeşitli kararlılık denetim seçeneklerini açar/kapar
    • atan - Arc tangent
    • atan2 - Arc tangent of two variables
    • atanh - Inverse hyperbolic tangent
    • Attribute::__construct - Yeni bir öznitelik (Attribute nesnesi) örnekler
  • b
    • BackedEnum::from - Belirtilen değeri sayılama nesnesine eşler
    • BackedEnum::tryFrom - Belirtilen değeri sayılama nesnesine eşler, yoksa null döner
    • base64_decode - MIME base64 ile kodlanmış verinin kodunu açar
    • base64_encode - Veriye MIME base64 kodlaması uygular
    • basename - Dosya yolunun ucundaki dosya ismi bileşenini döndürür
    • BaseResult::getWarnings - Fetch warnings from last operation
    • BaseResult::getWarningsCount - Fetch warning count from last operation
    • base_convert - Convert a number between arbitrary bases
    • Bağlam bağımsız değişkenleri - Bağlam bağımsız değişkeni listeleme
    • bcadd - İki keyfi duyarlıklı sayıyı toplar
    • bccomp - İki keyfi duyarlıklı sayıyı karşılaştırır
    • bcdiv - İki keyfi duyarlıklı sayıyı böler
    • bcmod - Keyfi duyarlıklı sayılarda bölme işleminden kalanı bulur
    • bcmul - İki keyfi duyarlıklı sayıyı çarpar
    • bcpow - Keyfi duyarlıklı sayılar için üs alma işlemi yapar
    • bcpowmod - Önce bir keyfi duyarlıklı sayının diğerine göre üs alma işlemini yapar, sonra sonucun modüle göre kalanını bulur
    • bcscale - Bütün bc matematik işlevleri için öntanımlı basamak bağımsız değişkenini tanımlar
    • bcsqrt - Keyfi duyarlıklı bir sayının karekök alma işlemini yapar
    • bcsub - Keyfi duyarlıklı sayılar arasında çıkartma işlemi yapar
    • bin2hex - Bir ikil verinin onaltılık gösterimini elde eder
    • bindec - Binary to decimal
    • bindtextdomain - Uygulama adı için bir yol tanımlar
    • bind_textdomain_codeset - Belli bir uygulamanın iletileri için karakter kodlaması tanımlar
    • boolval - Değişkenin mantıksal değerini döndürür
    • bzclose - Bzip2 dosyasını kapatır
    • bzcompress - Verilen dizgiyi bzip2 kodlamalı olarak sıkıştırır
    • bzdecompress - Bzip2 ile sıkıştırılmış veriyi açar
    • bzerrno - Bzip2 hata numarası ile döner
    • bzerror - Bzip2 hata numarasını ve hata iletisini bir dizi içerisinde döndürür
    • bzerrstr - Bzip2 hata iletisini döndürür
    • bzflush - Hiçbir şey yapmaz
    • bzopen - Bzip2 sıkıştırmalı bir dosyayı açar
    • bzread - Bzip2 dosyasını ikil olarak okur
    • bzwrite - Bzip2 dosyasını ikil olarak yazar
  • c
    • CachingIterator::count - The number of elements in the iterator
    • CachingIterator::current - Return the current element
    • CachingIterator::getCache - Retrieve the contents of the cache
    • CachingIterator::getFlags - Get flags used
    • CachingIterator::hasNext - Check whether the inner iterator has a valid next element
    • CachingIterator::key - Return the key for the current element
    • CachingIterator::next - Move the iterator forward
    • CachingIterator::offsetExists - The offsetExists purpose
    • CachingIterator::offsetGet - The offsetGet purpose
    • CachingIterator::offsetSet - The offsetSet purpose
    • CachingIterator::offsetUnset - The offsetUnset purpose
    • CachingIterator::rewind - Rewind the iterator
    • CachingIterator::setFlags - The setFlags purpose
    • CachingIterator::valid - Check whether the current element is valid
    • CachingIterator::__construct - Construct a new CachingIterator object for the iterator
    • CachingIterator::__toString - Return the string representation of the current element
    • CallbackFilterIterator::accept - Calls the callback with the current value, the current key and the inner iterator as arguments
    • CallbackFilterIterator::__construct - Create a filtered iterator from another iterator
    • call_user_func - İlk bağımsız değişkende belirtilen kullanıcı işlevini çağırır
    • call_user_func_array - Bağımsız değişkenlerin bir dizi olarak verildiği geriçağırım işlevini çağırır
    • cal_days_in_month - Seçilen takvime ve yıla göre istenen aydaki gün sayısını geri döndürür
    • cal_from_jd - Jülyen Gün Sayısını, istenen takvim biçimine çevirir
    • cal_info - Bağımsız değişken olarak verilen takvim hakkında bilgi döner
    • cal_to_jd - Desteklenen bir takvimden Jülyen Gün Sayısına dönüşüm yapar
    • ceil - Round fractions up
    • chdir - Dizin değiştirir
    • checkdate - Miladi tarihi doğrular
    • checkdnsrr - Belirtilen bir konak adı veya IP adresi için DNS sorgusu yapar
    • chgrp - Dosya grubunu değiştirir
    • chmod - Dosya kipini değiştirir
    • chop - rtrim işlevinin takma adıdır
    • chown - Dosyanın sahibini değiştirir
    • chr - Bir sayıdan tek baytlık dizge üretir
    • chroot - Kök dizini değiştirir
    • chunk_split - Bir dizgeyi daha küçük parçalara ayırır
    • class_alias - Sınıfa bir takma ad oluşturur
    • class_exists - Sınıf tanımlı mı diye bakar
    • class_implements - Return the interfaces which are implemented by the given class or interface
    • class_parents - Return the parent classes of the given class
    • class_uses - Return the traits used by the given class
    • clearstatcache - Dosya durum önbelleğini temizler
    • Client::getClient - Get client session
    • Client::__construct - Client constructor
    • cli_get_process_title - Geçerli sürecin başlığını döndürür
    • cli_set_process_title - Geçerli sürece başlık tanımlar
    • closedir - Dizin tanıtıcısını kapatır
    • closelog - Sistem günlükçüsü bağlantısını kapatır
    • Closure::bind - Belli bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar.
    • Closure::bindTo - Yeni bir bağlı nesne ve sınıf bağlamıyla bir closure nesnesini kopyalar
    • Closure::call - Bir closure nesnesini bağlar ve çağırır
    • Closure::fromCallable - Bir işlevi bir closure yöntemine dönüştürür
    • Closure::__construct - Örneklemeye izin vermeyen kurucu
    • Collator::asort - Diziyi indislerin arasındaki ilişkilere göre sıralar
    • Collator::compare - İki Evrenkodlu dizgeyi karşılaştırır
    • Collator::create - Bir karşılaştırıcı oluşturur
    • Collator::getAttribute - Karşılaştırma özniteliğinin değerini döndürür
    • Collator::getErrorCode - Karşılaştırıcının son hata kodunu döndürür
    • Collator::getErrorMessage - Karşılaştırıcının son hata iletisini döndürür
    • Collator::getLocale - Karşılaştırıcının yerel ismini döndürür
    • Collator::getSortKey - Get sorting key for a string
    • Collator::getStrength - Geçerli karşılaştırma seviyesini döndürür
    • Collator::setAttribute - Karşılaştırma özniteliği tanımlar
    • Collator::setStrength - Sıralamanın seviyesini ayarlar
    • Collator::sort - Belirtilen karşılaştırıcıyı kullanarak diziyi sıralar
    • Collator::sortWithSortKeys - Bir diziyi belirtilen karşılaştırıcıyı ve sıralama anahtarlarını kullanarak sıralar
    • Collator::__construct - Bir karşılaştırıcı oluşturur
    • Collectable::isGarbage - Determine whether an object has been marked as garbage
    • Collection::add - Add collection document
    • Collection::addOrReplaceOne - Add or replace collection document
    • Collection::count - Get document count
    • Collection::createIndex - Create collection index
    • Collection::dropIndex - Drop collection index
    • Collection::existsInDatabase - Check if collection exists in database
    • Collection::find - Search for document
    • Collection::getName - Get collection name
    • Collection::getOne - Get one document
    • Collection::getSchema - Get schema object
    • Collection::getSession - Get session object
    • Collection::modify - Modify collection documents
    • Collection::remove - Remove collection documents
    • Collection::removeOne - Remove one collection document
    • Collection::replaceOne - Replace one collection document
    • Collection::__construct - Collection constructor
    • CollectionAdd::execute - Execute the statement
    • CollectionAdd::__construct - CollectionAdd constructor
    • CollectionFind::bind - Bind value to query placeholder
    • CollectionFind::execute - Execute the statement
    • CollectionFind::fields - Set document field filter
    • CollectionFind::groupBy - Set grouping criteria
    • CollectionFind::having - Set condition for aggregate functions
    • CollectionFind::limit - Limit number of returned documents
    • CollectionFind::lockExclusive - Execute operation with EXCLUSIVE LOCK
    • CollectionFind::lockShared - Execute operation with SHARED LOCK
    • CollectionFind::offset - Skip given number of elements to be returned
    • CollectionFind::sort - Set the sorting criteria
    • CollectionFind::__construct - CollectionFind constructor
    • CollectionModify::arrayAppend - Append element to an array field
    • CollectionModify::arrayInsert - Insert element into an array field
    • CollectionModify::bind - Bind value to query placeholder
    • CollectionModify::execute - Execute modify operation
    • CollectionModify::limit - Limit number of modified documents
    • CollectionModify::patch - Patch document
    • CollectionModify::replace - Replace document field
    • CollectionModify::set - Set document attribute
    • CollectionModify::skip - Skip elements
    • CollectionModify::sort - Set the sorting criteria
    • CollectionModify::unset - Unset the value of document fields
    • CollectionModify::__construct - CollectionModify constructor
    • CollectionRemove::bind - Bind value to placeholder
    • CollectionRemove::execute - Execute remove operation
    • CollectionRemove::limit - Limit number of documents to remove
    • CollectionRemove::sort - Set the sorting criteria
    • CollectionRemove::__construct - CollectionRemove constructor
    • ColumnResult::getCharacterSetName - Get character set
    • ColumnResult::getCollationName - Get collation name
    • ColumnResult::getColumnLabel - Get column label
    • ColumnResult::getColumnName - Get column name
    • ColumnResult::getFractionalDigits - Get fractional digit length
    • ColumnResult::getLength - Get column field length
    • ColumnResult::getSchemaName - Get schema name
    • ColumnResult::getTableLabel - Get table label
    • ColumnResult::getTableName - Get table name
    • ColumnResult::getType - Get column type
    • ColumnResult::isNumberSigned - Check if signed type
    • ColumnResult::isPadded - Check if padded
    • ColumnResult::__construct - ColumnResult constructor
    • com::__construct - com nesnesi oluşturur
    • CommonMark\CQL::__construct - CQL Construction
    • CommonMark\CQL::__invoke - CQL Execution
    • CommonMark\Interfaces\IVisitable::accept - Visitation
    • CommonMark\Interfaces\IVisitor::enter - Visitation
    • CommonMark\Interfaces\IVisitor::leave - Visitation
    • CommonMark\Node::accept - Visitation
    • CommonMark\Node::appendChild - AST Manipulation
    • CommonMark\Node::insertAfter - AST Manipulation
    • CommonMark\Node::insertBefore - AST Manipulation
    • CommonMark\Node::prependChild - AST Manipulation
    • CommonMark\Node::replace - AST Manipulation
    • CommonMark\Node::unlink - AST Manipulation
    • CommonMark\Node\BulletList::__construct - BulletList Construction
    • CommonMark\Node\CodeBlock::__construct - CodeBlock Construction
    • CommonMark\Node\Heading::__construct - Heading Construction
    • CommonMark\Node\Image::__construct - Image Construction
    • CommonMark\Node\Link::__construct - Link Construction
    • CommonMark\Node\OrderedList::__construct - OrderedList Construction
    • CommonMark\Node\Text::__construct - Text Construction
    • CommonMark\Parse - Parsing
    • CommonMark\Parser::finish - Parsing
    • CommonMark\Parser::parse - Parsing
    • CommonMark\Parser::__construct - Parsing
    • CommonMark\Render - Rendering
    • CommonMark\Render\HTML - Rendering
    • CommonMark\Render\Latex - Rendering
    • CommonMark\Render\Man - Rendering
    • CommonMark\Render\XML - Rendering
    • compact - Değişkenlerle değerlerinden bir dizi oluşturur
    • COMPersistHelper::GetCurFileName - Get current filename
    • COMPersistHelper::GetMaxStreamSize - Get maximum stream size
    • COMPersistHelper::InitNew - Initialize object to default state
    • COMPersistHelper::LoadFromFile - Load object from file
    • COMPersistHelper::LoadFromStream - Load object from stream
    • COMPersistHelper::SaveToFile - Save object to file
    • COMPersistHelper::SaveToStream - Save object to stream
    • COMPersistHelper::__construct - COMPersistHelper nesnesi oluşturur
    • Componere\Abstract\Definition::addInterface - Add Interface
    • Componere\Abstract\Definition::addMethod - Add Method
    • Componere\Abstract\Definition::addTrait - Add Trait
    • Componere\Abstract\Definition::getReflector - Reflection
    • Componere\cast - Casting
    • Componere\cast_by_ref - Casting
    • Componere\Definition::addConstant - Add Constant
    • Componere\Definition::addProperty - Add Property
    • Componere\Definition::getClosure - Get Closure
    • Componere\Definition::getClosures - Get Closures
    • Componere\Definition::isRegistered - State Detection
    • Componere\Definition::register - Registration
    • Componere\Definition::__construct - Definition Construction
    • Componere\Method::getReflector - Reflection
    • Componere\Method::setPrivate - Accessibility Modification
    • Componere\Method::setProtected - Accessibility Modification
    • Componere\Method::setStatic - Accessibility Modification
    • Componere\Method::__construct - Method Construction
    • Componere\Patch::apply - Application
    • Componere\Patch::derive - Patch Derivation
    • Componere\Patch::getClosure - Get Closure
    • Componere\Patch::getClosures - Get Closures
    • Componere\Patch::isApplied - State Detection
    • Componere\Patch::revert - Reversal
    • Componere\Patch::__construct - Patch Construction
    • Componere\Value::hasDefault - Value Interaction
    • Componere\Value::isPrivate - Accessibility Detection
    • Componere\Value::isProtected - Accessibility Detection
    • Componere\Value::isStatic - Accessibility Detection
    • Componere\Value::setPrivate - Accessibility Modification
    • Componere\Value::setProtected - Accessibility Modification
    • Componere\Value::setStatic - Accessibility Modification
    • Componere\Value::__construct - Value Construction
    • com_create_guid - Küresel benzersiz tanımlayıcı (Globally Unique Identifier) üretir
    • com_event_sink - Bir COM nesnesinden, PHP nesnesine olayları bağlar
    • com_get_active_object - COM nesnesinin çalışan bir örneği için tanıtıcı döner
    • com_load_typelib - Verilen tür kütüphanesini yükler
    • com_message_pump - COM iletilerini işler, zaman_asimi süresince uykudadır
    • com_print_typeinfo - İncelenebilecek şekilde PHP sınıf tanımını yazar
    • connection_aborted - İstemcinin bağlantıyı terkedip terketmediğine bakar
    • connection_status - Bağlantı durumu bit maskesini döndürür
    • constant - Bir sabitin değerini döndürür
    • convert_cyr_string - Bir Kril karakter kümesini bir diğerine çevirir
    • convert_uudecode - Uuencoded ile kodlanmış bir dizgeyi eski haline getirir
    • convert_uuencode - Bir dizgeyi uuencode algoritmasıyla kodlar
    • copy - Dosya kopyalar
    • cos - Cosine
    • cosh - Hyperbolic cosine
    • count - Bir dizideki veya bir Countable nesnesindeki eleman sayısını döndürür
    • Countable::count - Count elements of an object
    • count_chars - Bir dizgedeki karakterler hakkında bilgi döndürür
    • crc32 - Bir dizgenin crc32 çok terimlisini hesaplar
    • create_function - Kod dizgesini değerlendirerek dinamik olarak bir işlev oluşturur
    • CrudOperationBindable::bind - Bind value to placeholder
    • CrudOperationLimitable::limit - Set result limit
    • CrudOperationSkippable::skip - Number of operations to skip
    • CrudOperationSortable::sort - Sort results
    • crypt - Tek yönlü dizge aşlama
    • ctype_alnum - Sınama, abecesayısal karakterler için yapılır
    • ctype_alpha - Sınama, abecesel karakterler için yapılır
    • ctype_cntrl - Sınama, denetim karakterleri için yapılır
    • ctype_digit - Sınama, rakamlar için yapılır
    • ctype_graph - Sınama, boşluk karakterleri hariç basılabilir karakterler için yapılır
    • ctype_lower - Sınama, küçük harfler için yapılır
    • ctype_print - Sınama, basılabilir karakterler için yapılır
    • ctype_punct - Sınama, birer alfasayısal veya boşluk karakteri olmayan basılabilir karakterler için yapılır
    • ctype_space - Sınama, boşluk karakterleri için yapılır
    • ctype_upper - Sınama, büyük harfler için yapılır
    • ctype_xdigit - Sınama, onaltılık rakamlar için yapılır
    • cubrid_affected_rows - Return the number of rows affected by the last SQL statement
    • cubrid_bind - Bind variables to a prepared statement as parameters
    • cubrid_client_encoding - Return the current CUBRID connection charset
    • cubrid_close - Close CUBRID connection
    • cubrid_close_prepare - Close the request handle
    • cubrid_close_request - Close the request handle
    • cubrid_column_names - Get the column names in result
    • cubrid_column_types - Get column types in result
    • cubrid_col_get - Get contents of collection type column using OID
    • cubrid_col_size - Get the number of elements in collection type column using OID
    • cubrid_commit - Commit a transaction
    • cubrid_connect - Open a connection to a CUBRID Server
    • cubrid_connect_with_url - Establish the environment for connecting to CUBRID server
    • cubrid_current_oid - Get OID of the current cursor location
    • cubrid_data_seek - Move the internal row pointer of the CUBRID result
    • cubrid_db_name - Get db name from results of cubrid_list_dbs
    • cubrid_disconnect - Close a database connection
    • cubrid_drop - Delete an instance using OID
    • cubrid_errno - Return the numerical value of the error message from previous CUBRID operation
    • cubrid_error - Get the error message
    • cubrid_error_code - Get error code for the most recent function call
    • cubrid_error_code_facility - Get the facility code of error
    • cubrid_error_msg - Get last error message for the most recent function call
    • cubrid_execute - Execute a prepared SQL statement
    • cubrid_fetch - Fetch the next row from a result set
    • cubrid_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • cubrid_fetch_assoc - Return the associative array that corresponds to the fetched row
    • cubrid_fetch_field - Get column information from a result and return as an object
    • cubrid_fetch_lengths - Return an array with the lengths of the values of each field from the current row
    • cubrid_fetch_object - Fetch the next row and return it as an object
    • cubrid_fetch_row - Return a numerical array with the values of the current row
    • cubrid_field_flags - Return a string with the flags of the given field offset
    • cubrid_field_len - Get the maximum length of the specified field
    • cubrid_field_name - Return the name of the specified field index
    • cubrid_field_seek - Move the result set cursor to the specified field offset
    • cubrid_field_table - Return the name of the table of the specified field
    • cubrid_field_type - Return the type of the column corresponding to the given field offset
    • cubrid_free_result - Free the memory occupied by the result data
    • cubrid_get - Get a column using OID
    • cubrid_get_autocommit - Get auto-commit mode of the connection
    • cubrid_get_charset - Return the current CUBRID connection charset
    • cubrid_get_class_name - Get the class name using OID
    • cubrid_get_client_info - Return the client library version
    • cubrid_get_db_parameter - Returns the CUBRID database parameters
    • cubrid_get_query_timeout - Get the query timeout value of the request
    • cubrid_get_server_info - Return the CUBRID server version
    • cubrid_insert_id - Return the ID generated for the last updated AUTO_INCREMENT column
    • cubrid_is_instance - Check whether the instance pointed by OID exists
    • cubrid_list_dbs - Return an array with the list of all existing CUBRID databases
    • cubrid_load_from_glo - Read data from a GLO instance and save it in a file
    • cubrid_lob2_bind - Bind a lob object or a string as a lob object to a prepared statement as parameters
    • cubrid_lob2_close - Close LOB object
    • cubrid_lob2_export - Export the lob object to a file
    • cubrid_lob2_import - Import BLOB/CLOB data from a file
    • cubrid_lob2_new - Create a lob object
    • cubrid_lob2_read - Read from BLOB/CLOB data
    • cubrid_lob2_seek - Move the cursor of a lob object
    • cubrid_lob2_seek64 - Move the cursor of a lob object
    • cubrid_lob2_size - Get a lob object's size
    • cubrid_lob2_size64 - Get a lob object's size
    • cubrid_lob2_tell - Tell the cursor position of the LOB object
    • cubrid_lob2_tell64 - Tell the cursor position of the LOB object
    • cubrid_lob2_write - Write to a lob object
    • cubrid_lob_close - Close BLOB/CLOB data
    • cubrid_lob_export - Export BLOB/CLOB data to file
    • cubrid_lob_get - Get BLOB/CLOB data
    • cubrid_lob_send - Read BLOB/CLOB data and send straight to browser
    • cubrid_lob_size - Get BLOB/CLOB data size
    • cubrid_lock_read - Set a read lock on the given OID
    • cubrid_lock_write - Set a write lock on the given OID
    • cubrid_move_cursor - Move the cursor in the result
    • cubrid_new_glo - Create a glo instance
    • cubrid_next_result - Get result of next query when executing multiple SQL statements
    • cubrid_num_cols - Return the number of columns in the result set
    • cubrid_num_fields - Return the number of columns in the result set
    • cubrid_num_rows - Get the number of rows in the result set
    • cubrid_pconnect - Open a persistent connection to a CUBRID server
    • cubrid_pconnect_with_url - Open a persistent connection to CUBRID server
    • cubrid_ping - Ping a server connection or reconnect if there is no connection
    • cubrid_prepare - Prepare a SQL statement for execution
    • cubrid_put - Update a column using OID
    • cubrid_query - Send a CUBRID query
    • cubrid_real_escape_string - Escape special characters in a string for use in an SQL statement
    • cubrid_result - Return the value of a specific field in a specific row
    • cubrid_rollback - Roll back a transaction
    • cubrid_save_to_glo - Save requested file in a GLO instance
    • cubrid_schema - Get the requested schema information
    • cubrid_send_glo - Read data from glo and send it to std output
    • cubrid_seq_drop - Delete an element from sequence type column using OID
    • cubrid_seq_insert - Insert an element to a sequence type column using OID
    • cubrid_seq_put - Update the element value of sequence type column using OID
    • cubrid_set_add - Insert a single element to set type column using OID
    • cubrid_set_autocommit - Set autocommit mode of the connection
    • cubrid_set_db_parameter - Sets the CUBRID database parameters
    • cubrid_set_drop - Delete an element from set type column using OID
    • cubrid_set_query_timeout - Set the timeout time of query execution
    • cubrid_unbuffered_query - Perform a query without fetching the results into memory
    • cubrid_version - Get the CUBRID PHP module's version
    • CURLFile::getFilename - Dosya ismi döndürür
    • CURLFile::getMimeType - MIME türünü döndürür
    • CURLFile::getPostFilename - POST için dosya ismi döndürür
    • CURLFile::setMimeType - MIME türü tanımlar
    • CURLFile::setPostFilename - POST için dosya ismi tanımlar
    • CURLFile::__construct - Bir CURLFile nesnesi oluşturur
    • CURLStringFile::__construct - Create a CURLStringFile object
    • curl_close - cURL oturumunu sonlandırır
    • curl_copy_handle - Bir cURL tanıtıcısını tüm tercihleriyle kopyalar
    • curl_errno - Belirtilen oturumdaki son hatanın kodunu döndürür
    • curl_error - Belirtilen oturumdaki son hatayı içeren bir dizge döndürür
    • curl_escape - Dizgeyi URL'de kullanım için kodlar
    • curl_exec - Bir cURL oturumunu işleme sokar
    • curl_getinfo - Belli bir oturum ile ilgili bilgi döndürür
    • curl_init - Bir cURL oturumunu ilklendirir
    • curl_multi_add_handle - Tekil cURL tanıtıcısını çoklu cURL tanıtıcısına ekler
    • curl_multi_close - Çoklu tanıtıcıyı kapatır
    • curl_multi_errno - Sonuncu çoklu curl hata numarasını döndürür
    • curl_multi_exec - Geçerli cURL tanıtıcısının alt bağlantılarını çalıştırır
    • curl_multi_getcontent - CURLOPT_RETURNTRANSFER etkinse bir cURL tanıtıcısının içeriği döner
    • curl_multi_info_read - Geçerli oturum hakkında bilgi döndürür
    • curl_multi_init - Yeni bir çoklu cURL tanıtıcısı döndürür
    • curl_multi_remove_handle - Bir tekil tanıtıcıyı bir çoklu tanıtıcıdan siler
    • curl_multi_select - Çoklu cURL bağlantısında bir etkinlik olsun diye bekler
    • curl_multi_setopt - cURL çoklu seçeneği tanımlar
    • curl_multi_strerror - Hata kodunun açıklamasını döndürür
    • curl_pause - Bağlantının bekleme durumunu değiştirir
    • curl_reset - libcurl oturum tanıtıcısının tüm seçeneklerini sıfırlar
    • curl_setopt - Bir cURL aktarım seçeneği tanımlar
    • curl_setopt_array - Belirtilen cURL oturumuna çok sayıda seçenek atar
    • curl_share_close - cURL paylaşımlı tanıtıcısını kapatır
    • curl_share_errno - Sonuncu paylaşımlı curl hata numarasını döndürür
    • curl_share_init - cURL paylaşımlı tanıtıcısını ilklendirir
    • curl_share_setopt - cURL paylaşımlı tanıtıcısı için bir seçenek tanımlar
    • curl_share_strerror - Hata kodunun açıklamasını döndürür
    • curl_strerror - Hata kodunun açıklamasını döndürür
    • curl_unescape - URL kodlu dizgeyi çözümler
    • curl_upkeep - Performs any connection upkeep checks
    • curl_version - cURL sürüm bilgilerini döndürür
    • current - Bir diziden gösterici konumundaki elemanı döndürür
  • d
    • data:// - Data (RFC 2397)
    • DatabaseObject::existsInDatabase - Check if object exists in database
    • DatabaseObject::getName - Get object name
    • DatabaseObject::getSession - Get session name
    • date - Unix zaman damgasını biçimlendirir
    • DateInterval::createFromDateString - Dizgenin göreli kısımlarından bir DateInterval nesnesi döndürür
    • DateInterval::format - Zaman aralığını biçimler
    • DateInterval::__construct - Yeni bir DateInterval nesnesi oluşturur
    • DatePeriod::createFromISO8601String - Creates a new DatePeriod object from an ISO8601 string
    • DatePeriod::getDateInterval - Gets the interval
    • DatePeriod::getEndDate - Gets the end date
    • DatePeriod::getRecurrences - Gets the number of recurrences
    • DatePeriod::getStartDate - Gets the start date
    • DatePeriod::__construct - Yeni bir DatePeriod nesnesi oluşturur
    • DateTime::add - Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
    • DateTime::createFromFormat - Parses a time string according to a specified format
    • DateTime::createFromImmutable - Returns new DateTime instance encapsulating the given DateTimeImmutable object
    • DateTime::createFromInterface - Returns new DateTime object encapsulating the given DateTimeInterface object
    • DateTime::getLastErrors - Takma Adı: DateTimeImmutable::getLastErrors
    • DateTime::modify - Alters the timestamp
    • DateTime::setDate - Sets the date
    • DateTime::setISODate - Sets the ISO date
    • DateTime::setTime - Sets the time
    • DateTime::setTimestamp - Sets the date and time based on an Unix timestamp
    • DateTime::setTimezone - Sets the time zone for the DateTime object
    • DateTime::sub - Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object
    • DateTime::__construct - Returns new DateTime object
    • DateTime::__set_state - The __set_state handler
    • DateTime::__wakeup - The __wakeup handler
    • DateTimeImmutable::add - Returns a new object, with added amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::createFromFormat - Parses a time string according to a specified format
    • DateTimeImmutable::createFromInterface - Returns new DateTimeImmutable object encapsulating the given DateTimeInterface object
    • DateTimeImmutable::createFromMutable - Returns new DateTimeImmutable instance encapsulating the given DateTime object
    • DateTimeImmutable::getLastErrors - Returns the warnings and errors
    • DateTimeImmutable::modify - Creates a new object with modified timestamp
    • DateTimeImmutable::setDate - Sets the date
    • DateTimeImmutable::setISODate - Sets the ISO date
    • DateTimeImmutable::setTime - Sets the time
    • DateTimeImmutable::setTimestamp - Sets the date and time based on a Unix timestamp
    • DateTimeImmutable::setTimezone - Sets the time zone
    • DateTimeImmutable::sub - Subtracts an amount of days, months, years, hours, minutes and seconds
    • DateTimeImmutable::__construct - Returns new DateTimeImmutable object
    • DateTimeImmutable::__set_state - The __set_state handler
    • DateTimeInterface::diff - Returns the difference between two DateTime objects
    • DateTimeInterface::format - Returns date formatted according to given format
    • DateTimeInterface::getOffset - Returns the timezone offset
    • DateTimeInterface::getTimestamp - Gets the Unix timestamp
    • DateTimeInterface::getTimezone - Return time zone relative to given DateTime
    • DateTimeZone::getLocation - Zaman dilimi konum bilgisini döndürür
    • DateTimeZone::getName - Zaman diliminin adını döndürür
    • DateTimeZone::getOffset - Returns the timezone offset from GMT
    • DateTimeZone::getTransitions - Returns all transitions for the timezone
    • DateTimeZone::listAbbreviations - Returns associative array containing dst, offset and the timezone name
    • DateTimeZone::listIdentifiers - Returns a numerically indexed array containing all defined timezone identifiers
    • DateTimeZone::__construct - Yeni bir DateTimeZone nesnesi oluşturur
    • date_add - DateTime::add işlevinin takma adıdır
    • date_create - Yeni bir DateTime nesnesi oluşturur
    • date_create_from_format - DateTime::createFromFormat işlevinin takma adıdır
    • date_create_immutable - Yeni bir DateTimeImmutable nesnesi oluşturur
    • date_create_immutable_from_format - DateTimeImmutable::createFromFormat işlevinin takma adı
    • date_date_set - DateTime::setDate işlevinin takma adıdır
    • date_default_timezone_get - Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini getirir
    • date_default_timezone_set - Betik içerisindeki tüm tarih/zaman işlevleri tarafından kullanılan öntanımlı zaman dilimini ayarlar
    • date_diff - DateTime::diff işlevinin takma adıdır
    • date_format - DateTime::format işlevinin takma adıdır
    • date_get_last_errors - DateTimeImmutable::getLastErrors işlevinin takma adıdır
    • date_interval_create_from_date_string - DateInterval::createFromDateString işlevinin takma adıdır
    • date_interval_format - DateInterval::format işlevinin takma adıdır
    • date_isodate_set - DateTime::setISODate işlevinin takma adıdır
    • date_modify - DateTime::modify işlevinin takma adıdır
    • date_offset_get - DateTime::getOffset işlevinin takma adıdır
    • date_parse - Verilen tarih/zaman hakkındaki ayrıntılı bilgiyi ilişkisel dizi olarak döndürür
    • date_parse_from_format - Belirtildiği gibi biçimlendirilmiş olarak tarih hakkında bilgi verir
    • date_sub - DateTime::sub işlevinin takma adıdır
    • date_sunrise - Belirtilen gün ve konum için şafak zamanını döndürür
    • date_sunset - Verilen gün ve konum için günbatımı zamanını döndürür
    • date_sun_info - Güneşin doğuşu/batışı ve alacakaranlık başlangıcı/sonu hakkında bilgi içeren bir dizi döndürür
    • date_timestamp_get - DateTime::getTimestamp işlevinin takma adıdır
    • date_timestamp_set - DateTime::setTimestamp işlevinin takma adıdır
    • date_timezone_get - DateTime::getTimezone işlevinin takma adıdır
    • date_timezone_set - DateTime::setTimezone işlevinin takma adıdır
    • date_time_set - DateTime::setTime işlevinin takma adıdır
    • db2_autocommit - Returns or sets the AUTOCOMMIT state for a database connection
    • db2_bind_param - Binds a PHP variable to an SQL statement parameter
    • db2_client_info - Returns an object with properties that describe the DB2 database client
    • db2_close - Closes a database connection
    • db2_columns - Returns a result set listing the columns and associated metadata for a table
    • db2_column_privileges - Returns a result set listing the columns and associated privileges for a table
    • db2_commit - Commits a transaction
    • db2_connect - Returns a connection to a database
    • db2_conn_error - Returns a string containing the SQLSTATE returned by the last connection attempt
    • db2_conn_errormsg - Returns the last connection error message and SQLCODE value
    • db2_cursor_type - Returns the cursor type used by a statement resource
    • db2_escape_string - Used to escape certain characters
    • db2_exec - Executes an SQL statement directly
    • db2_execute - Executes a prepared SQL statement
    • db2_fetch_array - Returns an array, indexed by column position, representing a row in a result set
    • db2_fetch_assoc - Returns an array, indexed by column name, representing a row in a result set
    • db2_fetch_both - Returns an array, indexed by both column name and position, representing a row in a result set
    • db2_fetch_object - Returns an object with properties representing columns in the fetched row
    • db2_fetch_row - Sets the result set pointer to the next row or requested row
    • db2_field_display_size - Returns the maximum number of bytes required to display a column
    • db2_field_name - Returns the name of the column in the result set
    • db2_field_num - Returns the position of the named column in a result set
    • db2_field_precision - Returns the precision of the indicated column in a result set
    • db2_field_scale - Returns the scale of the indicated column in a result set
    • db2_field_type - Returns the data type of the indicated column in a result set
    • db2_field_width - Returns the width of the current value of the indicated column in a result set
    • db2_foreign_keys - Returns a result set listing the foreign keys for a table
    • db2_free_result - Frees resources associated with a result set
    • db2_free_stmt - Frees resources associated with the indicated statement resource
    • db2_get_option - Retrieves an option value for a statement resource or a connection resource
    • db2_last_insert_id - Returns the auto generated ID of the last insert query that successfully executed on this connection
    • db2_lob_read - Gets a user defined size of LOB files with each invocation
    • db2_next_result - Requests the next result set from a stored procedure
    • db2_num_fields - Returns the number of fields contained in a result set
    • db2_num_rows - Returns the number of rows affected by an SQL statement
    • db2_pclose - Closes a persistent database connection
    • db2_pconnect - Returns a persistent connection to a database
    • db2_prepare - Prepares an SQL statement to be executed
    • db2_primary_keys - Returns a result set listing primary keys for a table
    • db2_procedures - Returns a result set listing the stored procedures registered in a database
    • db2_procedure_columns - Returns a result set listing stored procedure parameters
    • db2_result - Returns a single column from a row in the result set
    • db2_rollback - Rolls back a transaction
    • db2_server_info - Returns an object with properties that describe the DB2 database server
    • db2_set_option - Set options for connection or statement resources
    • db2_special_columns - Returns a result set listing the unique row identifier columns for a table
    • db2_statistics - Returns a result set listing the index and statistics for a table
    • db2_stmt_error - Returns a string containing the SQLSTATE returned by an SQL statement
    • db2_stmt_errormsg - Returns a string containing the last SQL statement error message
    • db2_tables - Returns a result set listing the tables and associated metadata in a database
    • db2_table_privileges - Returns a result set listing the tables and associated privileges in a database
    • dbase_add_record - Adds a record to a database
    • dbase_close - Closes a database
    • dbase_create - Creates a database
    • dbase_delete_record - Deletes a record from a database
    • dbase_get_header_info - Gets the header info of a database
    • dbase_get_record - Gets a record from a database as an indexed array
    • dbase_get_record_with_names - Gets a record from a database as an associative array
    • dbase_numfields - Gets the number of fields of a database
    • dbase_numrecords - Gets the number of records in a database
    • dbase_open - Opens a database
    • dbase_pack - Packs a database
    • dbase_replace_record - Replaces a record in a database
    • dba_close - Close a DBA database
    • dba_delete - Delete DBA entry specified by key
    • dba_exists - Check whether key exists
    • dba_fetch - Fetch data specified by key
    • dba_firstkey - Fetch first key
    • dba_handlers - List all the handlers available
    • dba_insert - Insert entry
    • dba_key_split - Splits a key in string representation into array representation
    • dba_list - List all open database files
    • dba_nextkey - Fetch next key
    • dba_open - Open database
    • dba_optimize - Optimize database
    • dba_popen - Open database persistently
    • dba_replace - Replace or insert entry
    • dba_sync - Synchronize database
    • dcgettext - Belirtilen arama için geçerli uygulama adını değiştirir
    • dcngettext - dcgettext işlevinin çoğul biçemli sürümü
    • debug_backtrace - Hata izleme raporunu bir dizi olarak üretir
    • debug_print_backtrace - Bir hata izleme raporu basar
    • debug_zval_dump - Dahili zval yapısının dizgesel gösterimini çıktıya dökümler
    • decbin - Decimal to binary
    • dechex - Decimal to hexadecimal
    • decoct - Decimal to octal
    • define - Bir isimli sabit tanımlar
    • defined - Belirtilen isimli sabit tanımlı mı diye bakar
    • deflate_add - Incrementally deflate data
    • deflate_init - Initialize an incremental deflate context
    • deg2rad - Converts the number in degrees to the radian equivalent
    • delete - unlink veya unset işlevine bakınız
    • dgettext - Geçerli uygulama adını değiştirir
    • die - exit işlevinin eşdeğeri
    • dio_close - Belirtilen dosya tanıtıcısını kapatır
    • dio_fcntl - Belirtilen dosya tanıtıcısı üzerinde komut çalıştırır
    • dio_open - Belirtilen dosyayı açar ve bu dosya için bir dosya tanıtıcısı döndürür
    • dio_read - Bir dosya tanıtıcısından baytları okur
    • dio_seek - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
    • dio_stat - Belirtilen dosya tanıtıcısı hakkında durum bilgisi döndürür
    • dio_tcsetattr - Bir seri portun veri hızını ve uçbirim özniteliklerini tanımlar
    • dio_truncate - Dosya tanıtıcısındaki bayt sayısını sınırlar
    • dio_write - Veriyi (uzunluğunu isteğe bağlı olarak kırparak) dosya tanıtıcısına yazar
    • dir - Directory sınıfının örneğini döndürür
    • Directory::close - Dizin tanıtıcısını kapatır
    • Directory::read - Dizin tanıtıcısından girdi okur
    • Directory::rewind - Dizin tanıtıcısını başa sarar
    • DirectoryIterator::current - Return the current DirectoryIterator item
    • DirectoryIterator::getBasename - Get base name of current DirectoryIterator item
    • DirectoryIterator::getExtension - Gets the file extension
    • DirectoryIterator::getFilename - Return file name of current DirectoryIterator item
    • DirectoryIterator::isDot - Determine if current DirectoryIterator item is '.' or '..'
    • DirectoryIterator::key - Return the key for the current DirectoryIterator item
    • DirectoryIterator::next - Move forward to next DirectoryIterator item
    • DirectoryIterator::rewind - Rewind the DirectoryIterator back to the start
    • DirectoryIterator::seek - Seek to a DirectoryIterator item
    • DirectoryIterator::valid - Check whether current DirectoryIterator position is a valid file
    • DirectoryIterator::__construct - Constructs a new directory iterator from a path
    • DirectoryIterator::__toString - Get file name as a string
    • dirname - Üst dizinin yolunu döndürür
    • diskfreespace - disk_free_space işlevinin takma adıdır
    • disk_free_space - Disk bölümü veya dosya sistemindeki kullanılabilir alanı döndürür
    • disk_total_space - Bir disk bölümünün veya dosya sisteminin toplam boyutunu döndürür
    • dl - Belirtilen PHP eklentisini çalışma anında yükler
    • dngettext - dgettext işlevinin çoğul biçemli sürümü
    • dns_check_record - checkdnsrr işlevinin takma adıdır
    • dns_get_mx - getmxrr işlevinin takma adıdır
    • dns_get_record - Belirtilen konak adı ile ilgili DNS Özkaynak Kayıtlarını getirir
    • DocResult::fetchAll - Get all rows
    • DocResult::fetchOne - Get one row
    • DocResult::getWarnings - Get warnings from last operation
    • DocResult::getWarningsCount - Get warning count from last operation
    • DocResult::__construct - DocResult constructor
    • DOMAttr::isId - Öznitelik bir ID mi tanımlıyor diye bakar
    • DOMAttr::__construct - Yeni bir DOMAttr nesnesi oluşturur
    • DOMCdataSection::__construct - DOMCdataSection nesnesi oluşturur
    • DOMCharacterData::after - Adds nodes after the character data
    • DOMCharacterData::appendData - Düğümün karakter verisinin sonuna bir dizge ekler
    • DOMCharacterData::before - Adds nodes before the node
    • DOMCharacterData::deleteData - Düğümden belirtilen alt dizgeyi siler
    • DOMCharacterData::insertData - 16 bitlik birimlerle belirtilen konuma bir dizge yerleştirir
    • DOMCharacterData::remove - Removes the character data
    • DOMCharacterData::replaceData - DOMCharacterData içindeki bir alt dizgeyi değiştirir
    • DOMCharacterData::replaceWith - Replaces the character data with new nodes
    • DOMCharacterData::substringData - Düğümden belli miktarda veri döndürür
    • DOMChildNode::after - Adds nodes after the node
    • DOMChildNode::before - Adds nodes before the node
    • DOMChildNode::remove - Removes the node
    • DOMChildNode::replaceWith - Replaces the node with new nodes
    • DOMComment::__construct - Yeni bir DOMComment nesnesi oluşturur
    • DOMDocument::adoptNode - Transfer a node from another document
    • DOMDocument::append - Appends nodes after the last child node
    • DOMDocument::createAttribute - Yeni bir öznitelik düğümü oluşturur
    • DOMDocument::createAttributeNS - Yeni bir isim alanlı öznitelik düğümü oluşturur
    • DOMDocument::createCDATASection - Yeni bir CDATA düğümü oluşturur
    • DOMDocument::createComment - Yeni bir açıklama düğümü oluşturur
    • DOMDocument::createDocumentFragment - Yeni bir belge bölütü oluşturur
    • DOMDocument::createElement - Yeni bir eleman düğümü oluşturur
    • DOMDocument::createElementNS - İsim alanlı bir eleman düğümü oluşturur
    • DOMDocument::createEntityReference - Yeni bir öğe bildirimi düğümü oluşturur
    • DOMDocument::createProcessingInstruction - Yeni bir işlem komutu düğümü oluşturur
    • DOMDocument::createTextNode - Yeni bir metin düğümü oluşturur
    • DOMDocument::getElementById - ID'si belirtilen elemanı döndürür
    • DOMDocument::getElementsByTagName - Yerel etiket ismi belirtilen tüm elemanları döndürür
    • DOMDocument::getElementsByTagNameNS - İsmi ve isim alanı belirtilen tüm elemanları döndürür
    • DOMDocument::importNode - Belgeye bir düğüm dahil eder
    • DOMDocument::load - XML belgeyi bir dosyadan yükler
    • DOMDocument::loadHTML - HTML belgeyi bir dizgeden yükler
    • DOMDocument::loadHTMLFile - HTML belgeyi bir dosyadan yükler
    • DOMDocument::loadXML - XML belgeyi bir dizgeden yükler
    • DOMDocument::normalizeDocument - Belgeyi normalleştirir
    • DOMDocument::prepend - Prepends nodes before the first child node
    • DOMDocument::registerNodeClass - Temel düğüm türünü oluşturmakta kullanılacak türetilmiş sınıfı belirtmek için kullanılır
    • DOMDocument::relaxNGValidate - Belgeyi belirtilen RNG dosyasıyla doğrular
    • DOMDocument::relaxNGValidateSource - Belgeyi belirtilen RNG dizgesiyle doğrular
    • DOMDocument::replaceChildren - Replace children in document
    • DOMDocument::save - Dahili XML ağacını bir dizge olarak dosyaya yazar
    • DOMDocument::saveHTML - Dahili belgeyi bir HTML dizgesi olarak çıktılar
    • DOMDocument::saveHTMLFile - Dahili belgeyi bir HTML dizge olarak dosyaya yazar
    • DOMDocument::saveXML - Dahili XML ağacını bir dizge olarak çıktılar
    • DOMDocument::schemaValidate - Belgeyi bir şema dosyasına göre doğrular
    • DOMDocument::schemaValidateSource - Belgeyi bir şema dizgesine göre doğrular
    • DOMDocument::validate - Belgeyi DTD'sine göre doğrular
    • DOMDocument::xinclude - Bir DOMDocument nesnesindeki XInclude dosyalarını belgeye dahil eder
    • DOMDocument::__construct - Yeni bir DOMDocument nesnesi oluşturur
    • DOMDocumentFragment::append - Appends nodes after the last child node
    • DOMDocumentFragment::appendXML - Ham bir XML verisi ekler
    • DOMDocumentFragment::prepend - Prepends nodes before the first child node
    • DOMDocumentFragment::replaceChildren - Replace children in fragment
    • DOMDocumentFragment::__construct - Constructs a DOMDocumentFragment object
    • DOMElement::after - Adds nodes after the element
    • DOMElement::append - Appends nodes after the last child node
    • DOMElement::before - Adds nodes before the element
    • DOMElement::getAttribute - İsmi belirtilen özniteliğin değerini döndürür
    • DOMElement::getAttributeNames - Get attribute names
    • DOMElement::getAttributeNode - İsmi belirtilen öznitelik düğümünü döndürür
    • DOMElement::getAttributeNodeNS - İsmi ve isim alanı belirtilen öznitelik düğümünü döndürür
    • DOMElement::getAttributeNS - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
    • DOMElement::getElementsByTagName - İsmi belirtilen elemanları döndürür
    • DOMElement::getElementsByTagNameNS - İsmi ve isim alanı belirtilen elemanları döndürür
    • DOMElement::hasAttribute - İsmi belirtilen öznitelik mevcut mu diye bakar
    • DOMElement::hasAttributeNS - Belirtilen isim alanlı öznitelik var mı diye bakar
    • DOMElement::insertAdjacentElement - Insert adjacent element
    • DOMElement::insertAdjacentText - Insert adjacent text
    • DOMElement::prepend - Prepends nodes before the first child node
    • DOMElement::remove - Removes the element
    • DOMElement::removeAttribute - İsmi belirtilen özniteliği siler
    • DOMElement::removeAttributeNode - Belirtilen öznitelik düğümünü siler
    • DOMElement::removeAttributeNS - İsmi ve isim alanı belirtilen özniteliği siler
    • DOMElement::replaceChildren - Replace children in element
    • DOMElement::replaceWith - Replaces the element with new nodes
    • DOMElement::setAttribute - Yeni bir öznitelik ekler ya da var olanda değişiklik yapar
    • DOMElement::setAttributeNode - Elemana yeni bir öznitelik düğümü ekler
    • DOMElement::setAttributeNodeNS - Elemana isim alanlı yeni bir öznitelik düğümü ekler
    • DOMElement::setAttributeNS - İsim alanlı yeni bir öznitelik ekler
    • DOMElement::setIdAttribute - İsmi belirtilen özniteliği bir ID özniteliği olarak tanımlar
    • DOMElement::setIdAttributeNode - Belirtilen öznitelik düğümünü ID türünde bir öznitelik düğümü haline getirir
    • DOMElement::setIdAttributeNS - İsmi ve isim alanı belirtilen özniteliği bir ID özniteliği olarak tanımlar
    • DOMElement::toggleAttribute - Toggle attribute
    • DOMElement::__construct - Yeni bir DOMElement nesnesi oluşturur
    • DOMEntityReference::__construct - Yeni bir DOMEntityReference nesnesi oluşturur
    • DOMImplementation::createDocument - Belge elemanı belirtilen DOMDocument nesnesini oluşturur
    • DOMImplementation::createDocumentType - Boş bir DOMDocumentType nesnesi oluşturur
    • DOMImplementation::hasFeature - DOM gerçeklenimi belirtilen özelliğe sahip mi diye bakar
    • DOMImplementation::__construct - Yeni bir DOMImplementation nesnesi oluşturur
    • DOMNamedNodeMap::count - Ağaçtaki düğüm sayısını döndürür
    • DOMNamedNodeMap::getIterator - Retrieve an external iterator
    • DOMNamedNodeMap::getNamedItem - İsmi belirtilen düğümü döndürür
    • DOMNamedNodeMap::getNamedItemNS - İsmi ve isim alanı belirtilen düğümü döndürür
    • DOMNamedNodeMap::item - İndisi belirtilen düğümü döndürür
    • DOMNode::appendChild - Listenin sonuna yeni bir çocuk ekler
    • DOMNode::C14N - Düğümleri belgedeki yazımını bozmadan dizgeleştirir
    • DOMNode::C14NFile - Düğümleri belgedeki yazımını bozmadan dosyaya yazar
    • DOMNode::cloneNode - Düğümün bir kopyasını yapar
    • DOMNode::contains - Checks if node contains other node
    • DOMNode::getLineNo - Düğümün tanımlandığı satır numarasını döndürür
    • DOMNode::getNodePath - Düğümün XPath yolunu döndürür
    • DOMNode::getRootNode - Get root node
    • DOMNode::hasAttributes - Düğümün öznitelikleri var mı diye bakar
    • DOMNode::hasChildNodes - Düğümün çocuk düğümleri var mı diye bakar
    • DOMNode::insertBefore - Yeni çocuğu belirtilen çocuğun öncesine yerleştirir
    • DOMNode::isDefaultNamespace - Belirtilen isim alanının öntanımlı olup olmadığına bakar
    • DOMNode::isEqualNode - Checks that both nodes are equal
    • DOMNode::isSameNode - İki düğüm aynı mı diye bakar
    • DOMNode::isSupported - Özelliğin belirtilen sürümünün desteklenip desteklenmediğine bakar
    • DOMNode::lookupNamespaceURI - İsim alanı öneki belirtilen düğümün isim alanı betimleyicisini döndürür
    • DOMNode::lookupPrefix - Belirtilen isim alanıyla ilişkili düğümün isim alanı önekini döndürür
    • DOMNode::normalize - Düğümü normalleştirir
    • DOMNode::removeChild - Listeden belirtilen çocuğu siler
    • DOMNode::replaceChild - Bir çocuk düğümü yenisi ile değiştirir
    • DOMNodeList::count - Listedeki düğüm sayısını döndürür
    • DOMNodeList::getIterator - Retrieve an external iterator
    • DOMNodelist::item - İndisi belirtilen düğümü döndürür
    • DOMParentNode::append - Appends nodes after the last child node
    • DOMParentNode::prepend - Prepends nodes before the first child node
    • DOMParentNode::replaceChildren - Replace children in node
    • DOMProcessingInstruction::__construct - Yeni bir DOMProcessingInstruction nesnesi oluşturur
    • DOMText::isElementContentWhitespace - Metin düğümünün eleman içeriğinde boşluk karakterleri varsa true döndürür
    • DOMText::isWhitespaceInElementContent - Düğümün boşluk içerip içermediğini belirtir
    • DOMText::splitText - Düğümü belirtilen konumda iki düğüme böler
    • DOMText::__construct - Yeni bir DOMText nesnesi oluşturur
    • DOMXPath::evaluate - Belirtilen XPath ifadesini çözümler ve mümkünse yazılı bir sonuç verir
    • DOMXPath::query - Belirtilen XPath ifadesini değerlendirir
    • DOMXPath::registerNamespace - Belirtilen isim alanını DOMXPath nesnesi ile ilişkilendirir
    • DOMXPath::registerPhpFunctions - PHP işlevlerini XPath ifadelerinde kullanılabilir yapar
    • DOMXPath::__construct - Yeni bir DOMXPath nesnesi oluşturur
    • dom_import_simplexml - Bir SimpleXMLElement düğümü alıp bir DOMElement düğümü döndürür
    • dotnet::__construct - dotnet nesnesi oluşturur
    • doubleval - floatval işlevinin takma ismidir
    • Ds\Collection::clear - Removes all values
    • Ds\Collection::copy - Returns a shallow copy of the collection
    • Ds\Collection::isEmpty - Returns whether the collection is empty
    • Ds\Collection::toArray - Converts the collection to an array
    • Ds\Deque::allocate - Allocates enough memory for a required capacity
    • Ds\Deque::apply - Updates all values by applying a callback function to each value
    • Ds\Deque::capacity - Returns the current capacity
    • Ds\Deque::clear - Removes all values from the deque
    • Ds\Deque::contains - Determines if the deque contains given values
    • Ds\Deque::copy - Returns a shallow copy of the deque
    • Ds\Deque::count - Returns the number of values in the collection
    • Ds\Deque::filter - Creates a new deque using a callable to determine which values to include
    • Ds\Deque::find - Attempts to find a value's index
    • Ds\Deque::first - Returns the first value in the deque
    • Ds\Deque::get - Returns the value at a given index
    • Ds\Deque::insert - Inserts values at a given index
    • Ds\Deque::isEmpty - Returns whether the deque is empty
    • Ds\Deque::join - Joins all values together as a string
    • Ds\Deque::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Deque::last - Returns the last value
    • Ds\Deque::map - Returns the result of applying a callback to each value
    • Ds\Deque::merge - Returns the result of adding all given values to the deque
    • Ds\Deque::pop - Removes and returns the last value
    • Ds\Deque::push - Adds values to the end of the deque
    • Ds\Deque::reduce - Reduces the deque to a single value using a callback function
    • Ds\Deque::remove - Removes and returns a value by index
    • Ds\Deque::reverse - Reverses the deque in-place
    • Ds\Deque::reversed - Returns a reversed copy
    • Ds\Deque::rotate - Rotates the deque by a given number of rotations
    • Ds\Deque::set - Updates a value at a given index
    • Ds\Deque::shift - Removes and returns the first value
    • Ds\Deque::slice - Returns a sub-deque of a given range
    • Ds\Deque::sort - Sorts the deque in-place
    • Ds\Deque::sorted - Returns a sorted copy
    • Ds\Deque::sum - Returns the sum of all values in the deque
    • Ds\Deque::toArray - Converts the deque to an array
    • Ds\Deque::unshift - Adds values to the front of the deque
    • Ds\Deque::__construct - Creates a new instance
    • Ds\Hashable::equals - Determines whether an object is equal to the current instance
    • Ds\Hashable::hash - Returns a scalar value to be used as a hash value
    • Ds\Map::allocate - Allocates enough memory for a required capacity
    • Ds\Map::apply - Updates all values by applying a callback function to each value
    • Ds\Map::capacity - Returns the current capacity
    • Ds\Map::clear - Removes all values
    • Ds\Map::copy - Returns a shallow copy of the map
    • Ds\Map::count - Returns the number of values in the map
    • Ds\Map::diff - Creates a new map using keys that aren't in another map
    • Ds\Map::filter - Creates a new map using a callable to determine which pairs to include
    • Ds\Map::first - Returns the first pair in the map
    • Ds\Map::get - Returns the value for a given key
    • Ds\Map::hasKey - Determines whether the map contains a given key
    • Ds\Map::hasValue - Determines whether the map contains a given value
    • Ds\Map::intersect - Creates a new map by intersecting keys with another map
    • Ds\Map::isEmpty - Returns whether the map is empty
    • Ds\Map::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Map::keys - Returns a set of the map's keys
    • Ds\Map::ksort - Sorts the map in-place by key
    • Ds\Map::ksorted - Returns a copy, sorted by key
    • Ds\Map::last - Returns the last pair of the map
    • Ds\Map::map - Returns the result of applying a callback to each value
    • Ds\Map::merge - Returns the result of adding all given associations
    • Ds\Map::pairs - Returns a sequence containing all the pairs of the map
    • Ds\Map::put - Associates a key with a value
    • Ds\Map::putAll - Associates all key-value pairs of a traversable object or array
    • Ds\Map::reduce - Reduces the map to a single value using a callback function
    • Ds\Map::remove - Removes and returns a value by key
    • Ds\Map::reverse - Reverses the map in-place
    • Ds\Map::reversed - Returns a reversed copy
    • Ds\Map::skip - Returns the pair at a given positional index
    • Ds\Map::slice - Returns a subset of the map defined by a starting index and length
    • Ds\Map::sort - Sorts the map in-place by value
    • Ds\Map::sorted - Returns a copy, sorted by value
    • Ds\Map::sum - Returns the sum of all values in the map
    • Ds\Map::toArray - Converts the map to an array
    • Ds\Map::union - Creates a new map using values from the current instance and another map
    • Ds\Map::values - Returns a sequence of the map's values
    • Ds\Map::xor - Creates a new map using keys of either the current instance or of another map, but not of both
    • Ds\Map::__construct - Creates a new instance
    • Ds\Pair::clear - Removes all values
    • Ds\Pair::copy - Returns a shallow copy of the pair
    • Ds\Pair::isEmpty - Returns whether the pair is empty
    • Ds\Pair::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Pair::toArray - Converts the pair to an array
    • Ds\Pair::__construct - Creates a new instance
    • Ds\PriorityQueue::allocate - Allocates enough memory for a required capacity
    • Ds\PriorityQueue::capacity - Returns the current capacity
    • Ds\PriorityQueue::clear - Removes all values
    • Ds\PriorityQueue::copy - Returns a shallow copy of the queue
    • Ds\PriorityQueue::count - Returns the number of values in the queue
    • Ds\PriorityQueue::isEmpty - Returns whether the queue is empty
    • Ds\PriorityQueue::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\PriorityQueue::peek - Returns the value at the front of the queue
    • Ds\PriorityQueue::pop - Removes and returns the value with the highest priority
    • Ds\PriorityQueue::push - Pushes values into the queue
    • Ds\PriorityQueue::toArray - Converts the queue to an array
    • Ds\PriorityQueue::__construct - Creates a new instance
    • Ds\Queue::allocate - Allocates enough memory for a required capacity
    • Ds\Queue::capacity - Returns the current capacity
    • Ds\Queue::clear - Removes all values
    • Ds\Queue::copy - Returns a shallow copy of the queue
    • Ds\Queue::count - Returns the number of values in the queue
    • Ds\Queue::isEmpty - Returns whether the queue is empty
    • Ds\Queue::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Queue::peek - Returns the value at the front of the queue
    • Ds\Queue::pop - Removes and returns the value at the front of the queue
    • Ds\Queue::push - Pushes values into the queue
    • Ds\Queue::toArray - Converts the queue to an array
    • Ds\Queue::__construct - Creates a new instance
    • Ds\Sequence::allocate - Allocates enough memory for a required capacity
    • Ds\Sequence::apply - Updates all values by applying a callback function to each value
    • Ds\Sequence::capacity - Returns the current capacity
    • Ds\Sequence::contains - Determines if the sequence contains given values
    • Ds\Sequence::filter - Creates a new sequence using a callable to determine which values to include
    • Ds\Sequence::find - Attempts to find a value's index
    • Ds\Sequence::first - Returns the first value in the sequence
    • Ds\Sequence::get - Returns the value at a given index
    • Ds\Sequence::insert - Inserts values at a given index
    • Ds\Sequence::join - Joins all values together as a string
    • Ds\Sequence::last - Returns the last value
    • Ds\Sequence::map - Returns the result of applying a callback to each value
    • Ds\Sequence::merge - Returns the result of adding all given values to the sequence
    • Ds\Sequence::pop - Removes and returns the last value
    • Ds\Sequence::push - Adds values to the end of the sequence
    • Ds\Sequence::reduce - Reduces the sequence to a single value using a callback function
    • Ds\Sequence::remove - Removes and returns a value by index
    • Ds\Sequence::reverse - Reverses the sequence in-place
    • Ds\Sequence::reversed - Returns a reversed copy
    • Ds\Sequence::rotate - Rotates the sequence by a given number of rotations
    • Ds\Sequence::set - Updates a value at a given index
    • Ds\Sequence::shift - Removes and returns the first value
    • Ds\Sequence::slice - Returns a sub-sequence of a given range
    • Ds\Sequence::sort - Sorts the sequence in-place
    • Ds\Sequence::sorted - Returns a sorted copy
    • Ds\Sequence::sum - Returns the sum of all values in the sequence
    • Ds\Sequence::unshift - Adds values to the front of the sequence
    • Ds\Set::add - Adds values to the set
    • Ds\Set::allocate - Allocates enough memory for a required capacity
    • Ds\Set::capacity - Returns the current capacity
    • Ds\Set::clear - Removes all values
    • Ds\Set::contains - Determines if the set contains all values
    • Ds\Set::copy - Returns a shallow copy of the set
    • Ds\Set::count - Returns the number of values in the set
    • Ds\Set::diff - Creates a new set using values that aren't in another set
    • Ds\Set::filter - Creates a new set using a callable to determine which values to include
    • Ds\Set::first - Returns the first value in the set
    • Ds\Set::get - Returns the value at a given index
    • Ds\Set::intersect - Creates a new set by intersecting values with another set
    • Ds\Set::isEmpty - Returns whether the set is empty
    • Ds\Set::join - Joins all values together as a string
    • Ds\Set::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Set::last - Returns the last value in the set
    • Ds\Set::merge - Returns the result of adding all given values to the set
    • Ds\Set::reduce - Reduces the set to a single value using a callback function
    • Ds\Set::remove - Removes all given values from the set
    • Ds\Set::reverse - Reverses the set in-place
    • Ds\Set::reversed - Returns a reversed copy
    • Ds\Set::slice - Returns a sub-set of a given range
    • Ds\Set::sort - Sorts the set in-place
    • Ds\Set::sorted - Returns a sorted copy
    • Ds\Set::sum - Returns the sum of all values in the set
    • Ds\Set::toArray - Converts the set to an array
    • Ds\Set::union - Creates a new set using values from the current instance and another set
    • Ds\Set::xor - Creates a new set using values in either the current instance or in another set, but not in both
    • Ds\Set::__construct - Creates a new instance
    • Ds\Stack::allocate - Allocates enough memory for a required capacity
    • Ds\Stack::capacity - Returns the current capacity
    • Ds\Stack::clear - Removes all values
    • Ds\Stack::copy - Returns a shallow copy of the stack
    • Ds\Stack::count - Returns the number of values in the stack
    • Ds\Stack::isEmpty - Returns whether the stack is empty
    • Ds\Stack::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Stack::peek - Returns the value at the top of the stack
    • Ds\Stack::pop - Removes and returns the value at the top of the stack
    • Ds\Stack::push - Pushes values onto the stack
    • Ds\Stack::toArray - Converts the stack to an array
    • Ds\Stack::__construct - Creates a new instance
    • Ds\Vector::allocate - Allocates enough memory for a required capacity
    • Ds\Vector::apply - Updates all values by applying a callback function to each value
    • Ds\Vector::capacity - Returns the current capacity
    • Ds\Vector::clear - Removes all values
    • Ds\Vector::contains - Determines if the vector contains given values
    • Ds\Vector::copy - Returns a shallow copy of the vector
    • Ds\Vector::count - Returns the number of values in the collection
    • Ds\Vector::filter - Creates a new vector using a callable to determine which values to include
    • Ds\Vector::find - Attempts to find a value's index
    • Ds\Vector::first - Returns the first value in the vector
    • Ds\Vector::get - Returns the value at a given index
    • Ds\Vector::insert - Inserts values at a given index
    • Ds\Vector::isEmpty - Returns whether the vector is empty
    • Ds\Vector::join - Joins all values together as a string
    • Ds\Vector::jsonSerialize - Returns a representation that can be converted to JSON
    • Ds\Vector::last - Returns the last value
    • Ds\Vector::map - Returns the result of applying a callback to each value
    • Ds\Vector::merge - Returns the result of adding all given values to the vector
    • Ds\Vector::pop - Removes and returns the last value
    • Ds\Vector::push - Adds values to the end of the vector
    • Ds\Vector::reduce - Reduces the vector to a single value using a callback function
    • Ds\Vector::remove - Removes and returns a value by index
    • Ds\Vector::reverse - Reverses the vector in-place
    • Ds\Vector::reversed - Returns a reversed copy
    • Ds\Vector::rotate - Rotates the vector by a given number of rotations
    • Ds\Vector::set - Updates a value at a given index
    • Ds\Vector::shift - Removes and returns the first value
    • Ds\Vector::slice - Returns a sub-vector of a given range
    • Ds\Vector::sort - Sorts the vector in-place
    • Ds\Vector::sorted - Returns a sorted copy
    • Ds\Vector::sum - Returns the sum of all values in the vector
    • Ds\Vector::toArray - Converts the vector to an array
    • Ds\Vector::unshift - Adds values to the front of the vector
    • Ds\Vector::__construct - Creates a new instance
  • e
    • each - Bir diziden, gösterici konumundaki anahtar değer çiftini döndürdükten sonra göstericiyi bir ilerletir
    • easter_date - Verilen yıl için paskalya gece yarısının unix zaman damgasını döner
    • easter_days - Verilen yıl için Paskalya zamanına, 21 Marttan sonraki kalan gün sayısını verir.
    • echo - Bir veya daha fazla dizgeyi çıktılar
    • eio_busy - Artificially increase load. Could be useful in tests, benchmarking
    • eio_cancel - Cancels a request
    • eio_chmod - Change file/directory permissions
    • eio_chown - Change file/directory permissions
    • eio_close - Close file
    • eio_custom - Execute custom request like any other eio_* call
    • eio_dup2 - Duplicate a file descriptor
    • eio_event_loop - Polls libeio until all requests proceeded
    • eio_fallocate - Allows the caller to directly manipulate the allocated disk space for a file
    • eio_fchmod - Change file permissions
    • eio_fchown - Change file ownership
    • eio_fdatasync - Synchronize a file's in-core state with storage device
    • eio_fstat - Get file status
    • eio_fstatvfs - Get file system statistics
    • eio_fsync - Synchronize a file's in-core state with storage device
    • eio_ftruncate - Truncate a file
    • eio_futime - Change file last access and modification times
    • eio_get_event_stream - Get stream representing a variable used in internal communications with libeio
    • eio_get_last_error - Returns string describing the last error associated with a request resource
    • eio_grp - Creates a request group
    • eio_grp_add - Adds a request to the request group
    • eio_grp_cancel - Cancels a request group
    • eio_grp_limit - Set group limit
    • eio_init - (Re-)initialize Eio
    • eio_link - Create a hardlink for file
    • eio_lstat - Get file status
    • eio_mkdir - Create directory
    • eio_mknod - Create a special or ordinary file
    • eio_nop - Does nothing, except go through the whole request cycle
    • eio_npending - Returns number of finished, but unhandled requests
    • eio_nready - Returns number of not-yet handled requests
    • eio_nreqs - Returns number of requests to be processed
    • eio_nthreads - Returns number of threads currently in use
    • eio_open - Opens a file
    • eio_poll - Can be to be called whenever there are pending requests that need finishing
    • eio_read - Read from a file descriptor at given offset
    • eio_readahead - Perform file readahead into page cache
    • eio_readdir - Reads through a whole directory
    • eio_readlink - Read value of a symbolic link
    • eio_realpath - Get the canonicalized absolute pathname
    • eio_rename - Change the name or location of a file
    • eio_rmdir - Remove a directory
    • eio_seek - Repositions the offset of the open file associated with the fd argument to the argument offset according to the directive whence
    • eio_sendfile - Transfer data between file descriptors
    • eio_set_max_idle - Set maximum number of idle threads
    • eio_set_max_parallel - Set maximum parallel threads
    • eio_set_max_poll_reqs - Set maximum number of requests processed in a poll
    • eio_set_max_poll_time - Set maximum poll time
    • eio_set_min_parallel - Set minimum parallel thread number
    • eio_stat - Get file status
    • eio_statvfs - Get file system statistics
    • eio_symlink - Create a symbolic link
    • eio_sync - Commit buffer cache to disk
    • eio_syncfs - Calls Linux' syncfs syscall, if available
    • eio_sync_file_range - Sync a file segment with disk
    • eio_truncate - Truncate a file
    • eio_unlink - Delete a name and possibly the file it refers to
    • eio_utime - Change file last access and modification times
    • eio_write - Write to file
    • empty - Bir değişkenin boş olup olmadığını saptar
    • EmptyIterator::current - The current() method
    • EmptyIterator::key - The key() method
    • EmptyIterator::next - The next() method
    • EmptyIterator::rewind - The rewind() method
    • EmptyIterator::valid - The valid() method
    • enchant_broker_describe - Enumerates the Enchant providers
    • enchant_broker_dict_exists - Whether a dictionary exists or not. Using non-empty tag
    • enchant_broker_free - Free the broker resource and its dictionaries
    • enchant_broker_free_dict - Free a dictionary resource
    • enchant_broker_get_dict_path - Get the directory path for a given backend
    • enchant_broker_get_error - Returns the last error of the broker
    • enchant_broker_init - Create a new broker object capable of requesting
    • enchant_broker_list_dicts - Returns a list of available dictionaries
    • enchant_broker_request_dict - Create a new dictionary using a tag
    • enchant_broker_request_pwl_dict - Creates a dictionary using a PWL file
    • enchant_broker_set_dict_path - Set the directory path for a given backend
    • enchant_broker_set_ordering - Declares a preference of dictionaries to use for the language
    • enchant_dict_add - Add a word to personal word list
    • enchant_dict_add_to_personal - Takma Adı: enchant_dict_add
    • enchant_dict_add_to_session - Add 'word' to this spell-checking session
    • enchant_dict_check - Check whether a word is correctly spelled or not
    • enchant_dict_describe - Describes an individual dictionary
    • enchant_dict_get_error - Returns the last error of the current spelling-session
    • enchant_dict_is_added - Whether or not 'word' exists in this spelling-session
    • enchant_dict_is_in_session - Takma Adı: enchant_dict_is_added
    • enchant_dict_quick_check - Check the word is correctly spelled and provide suggestions
    • enchant_dict_store_replacement - Add a correction for a word
    • enchant_dict_suggest - Will return a list of values if any of those pre-conditions are not met
    • end - Bir dizinin dahili göstericisini sonuncu elemana konumlandırır
    • enum_exists - Sayılamanın tanımlı olup olmadığını sınar
    • Error::getCode - Hata koduyla döner
    • Error::getFile - Hatanın oluştuğu dosyanın ismini döndürür
    • Error::getLine - Hatanı oluştuğu satırın numarasını döndürür
    • Error::getMessage - Hata iletisini döndürür
    • Error::getPrevious - Önceki hata nesnesini döndürür
    • Error::getTrace - Yığıt dökümünü dizi olarak döndürür
    • Error::getTraceAsString - Yığıt dökümünü dize olarak döndürür
    • Error::__clone - Hatayı kopyalayamaz
    • Error::__construct - Bir hata nesnesi oluşturur
    • Error::__toString - Hatanın dizesel görünümü
    • ErrorException::getSeverity - İstisnanın önem derecesi ile döner
    • ErrorException::__construct - İstisna oluşturur
    • error_clear_last - Sonuncu hatayı temizler
    • error_get_last - Son oluşan hata hakkında bilgi verir
    • error_log - Tanımlı hata işleme yordamlarına bir hata iletisi gönderir
    • error_reporting - Hangi PHP hatalarının raporlanacağını tanımlar
    • escapeshellarg - Bir komutun bağımsız değişken dizgesini önceler
    • escapeshellcmd - Kabuk özel karakterlerini önceler
    • Ev::backend - Returns an integer describing the backend used by libev
    • Ev::depth - Returns recursion depth
    • Ev::embeddableBackends - Returns the set of backends that are embeddable in other event loops
    • Ev::feedSignal - Feed a signal event info Ev
    • Ev::feedSignalEvent - Feed signal event into the default loop
    • Ev::iteration - Return the number of times the default event loop has polled for new events
    • Ev::now - Returns the time when the last iteration of the default event loop has started
    • Ev::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by Ev::now in the progress
    • Ev::recommendedBackends - Returns a bit mask of recommended backends for current platform
    • Ev::resume - Resume previously suspended default event loop
    • Ev::run - Begin checking for events and calling callbacks for the default loop
    • Ev::sleep - Block the process for the given number of seconds
    • Ev::stop - Stops the default event loop
    • Ev::supportedBackends - Returns the set of backends supported by current libev configuration
    • Ev::suspend - Suspend the default event loop
    • Ev::time - Returns the current time in fractional seconds since the epoch
    • Ev::verify - Performs internal consistency checks(for debugging)
    • eval - Bir dizgeyi bir PHP kodu olarak yorumlar
    • EvCheck::createStopped - Create instance of a stopped EvCheck watcher
    • EvCheck::__construct - Constructs the EvCheck watcher object
    • EvChild::createStopped - Create instance of a stopped EvCheck watcher
    • EvChild::set - Configures the watcher
    • EvChild::__construct - Constructs the EvChild watcher object
    • EvEmbed::createStopped - Create stopped EvEmbed watcher object
    • EvEmbed::set - Configures the watcher
    • EvEmbed::sweep - Make a single, non-blocking sweep over the embedded loop
    • EvEmbed::__construct - Constructs the EvEmbed object
    • Event::add - Makes event pending
    • Event::addSignal - Takma Adı: Event::add
    • Event::addTimer - Takma Adı: Event::add
    • Event::del - Makes event non-pending
    • Event::delSignal - Takma Adı: Event::del
    • Event::delTimer - Takma Adı: Event::del
    • Event::free - Make event non-pending and free resources allocated for this event
    • Event::getSupportedMethods - Returns array with of the names of the methods supported in this version of Libevent
    • Event::pending - Detects whether event is pending or scheduled
    • Event::set - Re-configures event
    • Event::setPriority - Set event priority
    • Event::setTimer - Re-configures timer event
    • Event::signal - Constructs signal event object
    • Event::timer - Constructs timer event object
    • Event::__construct - Constructs Event object
    • EventBase::dispatch - Dispatch pending events
    • EventBase::exit - Stop dispatching events
    • EventBase::free - Free resources allocated for this event base
    • EventBase::getFeatures - Returns bitmask of features supported
    • EventBase::getMethod - Returns event method in use
    • EventBase::getTimeOfDayCached - Returns the current event base time
    • EventBase::gotExit - Checks if the event loop was told to exit
    • EventBase::gotStop - Checks if the event loop was told to exit
    • EventBase::loop - Dispatch pending events
    • EventBase::priorityInit - Sets number of priorities per event base
    • EventBase::reInit - Re-initialize event base(after a fork)
    • EventBase::stop - Tells event_base to stop dispatching events
    • EventBase::__construct - Constructs EventBase object
    • EventBuffer::add - Append data to the end of an event buffer
    • EventBuffer::addBuffer - Move all data from a buffer provided to the current instance of EventBuffer
    • EventBuffer::appendFrom - Moves the specified number of bytes from a source buffer to the end of the current buffer
    • EventBuffer::copyout - Copies out specified number of bytes from the front of the buffer
    • EventBuffer::drain - Removes specified number of bytes from the front of the buffer without copying it anywhere
    • EventBuffer::enableLocking - Açıklama
    • EventBuffer::expand - Reserves space in buffer
    • EventBuffer::freeze - Prevent calls that modify an event buffer from succeeding
    • EventBuffer::lock - Acquires a lock on buffer
    • EventBuffer::prepend - Prepend data to the front of the buffer
    • EventBuffer::prependBuffer - Moves all data from source buffer to the front of current buffer
    • EventBuffer::pullup - Linearizes data within buffer and returns it's contents as a string
    • EventBuffer::read - Read data from an evbuffer and drain the bytes read
    • EventBuffer::readFrom - Read data from a file onto the end of the buffer
    • EventBuffer::readLine - Extracts a line from the front of the buffer
    • EventBuffer::search - Scans the buffer for an occurrence of a string
    • EventBuffer::searchEol - Scans the buffer for an occurrence of an end of line
    • EventBuffer::substr - Substracts a portion of the buffer data
    • EventBuffer::unfreeze - Re-enable calls that modify an event buffer
    • EventBuffer::unlock - Releases lock acquired by EventBuffer::lock
    • EventBuffer::write - Write contents of the buffer to a file or socket
    • EventBuffer::__construct - Constructs EventBuffer object
    • EventBufferEvent::close - Closes file descriptor associated with the current buffer event
    • EventBufferEvent::connect - Connect buffer event's file descriptor to given address or UNIX socket
    • EventBufferEvent::connectHost - Connects to a hostname with optionally asyncronous DNS resolving
    • EventBufferEvent::createPair - Creates two buffer events connected to each other
    • EventBufferEvent::disable - Disable events read, write, or both on a buffer event
    • EventBufferEvent::enable - Enable events read, write, or both on a buffer event
    • EventBufferEvent::free - Free a buffer event
    • EventBufferEvent::getDnsErrorString - Returns string describing the last failed DNS lookup attempt
    • EventBufferEvent::getEnabled - Returns bitmask of events currently enabled on the buffer event
    • EventBufferEvent::getInput - Returns underlying input buffer associated with current buffer event
    • EventBufferEvent::getOutput - Returns underlying output buffer associated with current buffer event
    • EventBufferEvent::read - Read buffer's data
    • EventBufferEvent::readBuffer - Drains the entire contents of the input buffer and places them into buf
    • EventBufferEvent::setCallbacks - Assigns read, write and event(status) callbacks
    • EventBufferEvent::setPriority - Assign a priority to a bufferevent
    • EventBufferEvent::setTimeouts - Set the read and write timeout for a buffer event
    • EventBufferEvent::setWatermark - Adjusts read and/or write watermarks
    • EventBufferEvent::sslError - Returns most recent OpenSSL error reported on the buffer event
    • EventBufferEvent::sslFilter - Create a new SSL buffer event to send its data over another buffer event
    • EventBufferEvent::sslGetCipherInfo - Returns a textual description of the cipher
    • EventBufferEvent::sslGetCipherName - Returns the current cipher name of the SSL connection
    • EventBufferEvent::sslGetCipherVersion - Returns version of cipher used by current SSL connection
    • EventBufferEvent::sslGetProtocol - Returns the name of the protocol used for current SSL connection
    • EventBufferEvent::sslRenegotiate - Tells a bufferevent to begin SSL renegotiation
    • EventBufferEvent::sslSocket - Creates a new SSL buffer event to send its data over an SSL on a socket
    • EventBufferEvent::write - Adds data to a buffer event's output buffer
    • EventBufferEvent::writeBuffer - Adds contents of the entire buffer to a buffer event's output buffer
    • EventBufferEvent::__construct - Constructs EventBufferEvent object
    • EventConfig::avoidMethod - Tells libevent to avoid specific event method
    • EventConfig::requireFeatures - Enters a required event method feature that the application demands
    • EventConfig::setFlags - Sets one or more flags to configure the eventual EventBase will be initialized
    • EventConfig::setMaxDispatchInterval - Prevents priority inversion
    • EventConfig::__construct - Constructs EventConfig object
    • EventDnsBase::addNameserverIp - Adds a nameserver to the DNS base
    • EventDnsBase::addSearch - Adds a domain to the list of search domains
    • EventDnsBase::clearSearch - Removes all current search suffixes
    • EventDnsBase::countNameservers - Gets the number of configured nameservers
    • EventDnsBase::loadHosts - Loads a hosts file (in the same format as /etc/hosts) from hosts file
    • EventDnsBase::parseResolvConf - Scans the resolv.conf-formatted file
    • EventDnsBase::setOption - Set the value of a configuration option
    • EventDnsBase::setSearchNdots - Set the 'ndots' parameter for searches
    • EventDnsBase::__construct - Constructs EventDnsBase object
    • EventHttp::accept - Makes an HTTP server accept connections on the specified socket stream or resource
    • EventHttp::addServerAlias - Adds a server alias to the HTTP server object
    • EventHttp::bind - Binds an HTTP server on the specified address and port
    • EventHttp::removeServerAlias - Removes server alias
    • EventHttp::setAllowedMethods - Sets the what HTTP methods are supported in requests accepted by this server, and passed to user callbacks
    • EventHttp::setCallback - Sets a callback for specified URI
    • EventHttp::setDefaultCallback - Sets default callback to handle requests that are not caught by specific callbacks
    • EventHttp::setMaxBodySize - Sets maximum request body size
    • EventHttp::setMaxHeadersSize - Sets maximum HTTP header size
    • EventHttp::setTimeout - Sets the timeout for an HTTP request
    • EventHttp::__construct - Constructs EventHttp object(the HTTP server)
    • EventHttpConnection::getBase - Returns event base associated with the connection
    • EventHttpConnection::getPeer - Gets the remote address and port associated with the connection
    • EventHttpConnection::makeRequest - Makes an HTTP request over the specified connection
    • EventHttpConnection::setCloseCallback - Set callback for connection close
    • EventHttpConnection::setLocalAddress - Sets the IP address from which HTTP connections are made
    • EventHttpConnection::setLocalPort - Sets the local port from which connections are made
    • EventHttpConnection::setMaxBodySize - Sets maximum body size for the connection
    • EventHttpConnection::setMaxHeadersSize - Sets maximum header size
    • EventHttpConnection::setRetries - Sets the retry limit for the connection
    • EventHttpConnection::setTimeout - Sets the timeout for the connection
    • EventHttpConnection::__construct - Constructs EventHttpConnection object
    • EventHttpRequest::addHeader - Adds an HTTP header to the headers of the request
    • EventHttpRequest::cancel - Cancels a pending HTTP request
    • EventHttpRequest::clearHeaders - Removes all output headers from the header list of the request
    • EventHttpRequest::closeConnection - Closes associated HTTP connection
    • EventHttpRequest::findHeader - Finds the value belonging a header
    • EventHttpRequest::free - Frees the object and removes associated events
    • EventHttpRequest::getBufferEvent - Returns EventBufferEvent object
    • EventHttpRequest::getCommand - Returns the request command(method)
    • EventHttpRequest::getConnection - Returns EventHttpConnection object
    • EventHttpRequest::getHost - Returns the request host
    • EventHttpRequest::getInputBuffer - Returns the input buffer
    • EventHttpRequest::getInputHeaders - Returns associative array of the input headers
    • EventHttpRequest::getOutputBuffer - Returns the output buffer of the request
    • EventHttpRequest::getOutputHeaders - Returns associative array of the output headers
    • EventHttpRequest::getResponseCode - Returns the response code
    • EventHttpRequest::getUri - Returns the request URI
    • EventHttpRequest::removeHeader - Removes an HTTP header from the headers of the request
    • EventHttpRequest::sendError - Send an HTML error message to the client
    • EventHttpRequest::sendReply - Send an HTML reply to the client
    • EventHttpRequest::sendReplyChunk - Send another data chunk as part of an ongoing chunked reply
    • EventHttpRequest::sendReplyEnd - Complete a chunked reply, freeing the request as appropriate
    • EventHttpRequest::sendReplyStart - Initiate a chunked reply
    • EventHttpRequest::__construct - Constructs EventHttpRequest object
    • EventListener::disable - Disables an event connect listener object
    • EventListener::enable - Enables an event connect listener object
    • EventListener::getBase - Returns event base associated with the event listener
    • EventListener::getSocketName - Retreives the current address to which the listener's socket is bound
    • EventListener::setCallback - The setCallback purpose
    • EventListener::setErrorCallback - Set event listener's error callback
    • EventListener::__construct - Creates new connection listener associated with an event base
    • EventSslContext::__construct - Constructs an OpenSSL context for use with Event classes
    • EventUtil::getLastSocketErrno - Returns the most recent socket error number
    • EventUtil::getLastSocketError - Returns the most recent socket error
    • EventUtil::getSocketFd - Returns numeric file descriptor of a socket, or stream
    • EventUtil::getSocketName - Retreives the current address to which the socket is bound
    • EventUtil::setSocketOption - Sets socket options
    • EventUtil::sslRandPoll - Generates entropy by means of OpenSSL's RAND_poll()
    • EventUtil::__construct - The abstract constructor
    • EvFork::createStopped - Creates a stopped instance of EvFork watcher class
    • EvFork::__construct - Constructs the EvFork watcher object
    • EvIdle::createStopped - Creates instance of a stopped EvIdle watcher object
    • EvIdle::__construct - Constructs the EvIdle watcher object
    • EvIo::createStopped - Create stopped EvIo watcher object
    • EvIo::set - Configures the watcher
    • EvIo::__construct - Constructs EvIo watcher object
    • EvLoop::backend - Returns an integer describing the backend used by libev
    • EvLoop::check - Creates EvCheck object associated with the current event loop instance
    • EvLoop::child - Creates EvChild object associated with the current event loop
    • EvLoop::defaultLoop - Returns or creates the default event loop
    • EvLoop::embed - Creates an instance of EvEmbed watcher associated with the current EvLoop object
    • EvLoop::fork - Creates EvFork watcher object associated with the current event loop instance
    • EvLoop::idle - Creates EvIdle watcher object associated with the current event loop instance
    • EvLoop::invokePending - Invoke all pending watchers while resetting their pending state
    • EvLoop::io - Create EvIo watcher object associated with the current event loop instance
    • EvLoop::loopFork - Must be called after a fork
    • EvLoop::now - Returns the current "event loop time"
    • EvLoop::nowUpdate - Establishes the current time by querying the kernel, updating the time returned by EvLoop::now in the progress
    • EvLoop::periodic - Creates EvPeriodic watcher object associated with the current event loop instance
    • EvLoop::prepare - Creates EvPrepare watcher object associated with the current event loop instance
    • EvLoop::resume - Resume previously suspended default event loop
    • EvLoop::run - Begin checking for events and calling callbacks for the loop
    • EvLoop::signal - Creates EvSignal watcher object associated with the current event loop instance
    • EvLoop::stat - Creates EvStat watcher object associated with the current event loop instance
    • EvLoop::stop - Stops the event loop
    • EvLoop::suspend - Suspend the loop
    • EvLoop::timer - Creates EvTimer watcher object associated with the current event loop instance
    • EvLoop::verify - Performs internal consistency checks(for debugging)
    • EvLoop::__construct - Constructs the event loop object
    • EvPeriodic::again - Simply stops and restarts the periodic watcher again
    • EvPeriodic::at - Returns the absolute time that this watcher is supposed to trigger next
    • EvPeriodic::createStopped - Create a stopped EvPeriodic watcher
    • EvPeriodic::set - Configures the watcher
    • EvPeriodic::__construct - Constructs EvPeriodic watcher object
    • EvPrepare::createStopped - Creates a stopped instance of EvPrepare watcher
    • EvPrepare::__construct - Constructs EvPrepare watcher object
    • EvSignal::createStopped - Create stopped EvSignal watcher object
    • EvSignal::set - Configures the watcher
    • EvSignal::__construct - Constructs EvSignal watcher object
    • EvStat::attr - Returns the values most recently detected by Ev
    • EvStat::createStopped - Create a stopped EvStat watcher object
    • EvStat::prev - Returns the previous set of values returned by EvStat::attr
    • EvStat::set - Configures the watcher
    • EvStat::stat - Initiates the stat call
    • EvStat::__construct - Constructs EvStat watcher object
    • EvTimer::again - Restarts the timer watcher
    • EvTimer::createStopped - Creates EvTimer stopped watcher object
    • EvTimer::set - Configures the watcher
    • EvTimer::__construct - Constructs an EvTimer watcher object
    • EvWatcher::clear - Clear watcher pending status
    • EvWatcher::feed - Feeds the given revents set into the event loop
    • EvWatcher::getLoop - Returns the loop responsible for the watcher
    • EvWatcher::invoke - Invokes the watcher callback with the given received events bit mask
    • EvWatcher::keepalive - Configures whether to keep the loop from returning
    • EvWatcher::setCallback - Sets new callback for the watcher
    • EvWatcher::start - Starts the watcher
    • EvWatcher::stop - Stops the watcher
    • EvWatcher::__construct - Abstract constructor of a watcher object
    • Exception::getCode - İstisnanın numarası ile döner
    • Exception::getFile - İstisnanın oluştuğu dosyanın adı ile döner
    • Exception::getLine - İstisnanın oluştuğu satırın numarası ile döner
    • Exception::getMessage - İstisna iletisi ile döner
    • Exception::getPrevious - Önceki Throwable nesnesini döndürür
    • Exception::getTrace - Yığıt iziyle döner
    • Exception::getTraceAsString - Yığıt izini bir dizge olarak döndürür
    • Exception::__clone - İstisna kopyası
    • Exception::__construct - İstisna oluşturur
    • Exception::__toString - İstisnanın dizgesel gösterimiyle döner
    • exec - Bir komut çalıştırır
    • Executable::execute - Execute statement
    • ExecutionStatus::__construct - ExecutionStatus constructor
    • exif_imagetype - Bir görüntünün türünü saptar
    • exif_read_data - Bir görüntü dosyasından EXIF başlıklarını okur
    • exif_tagname - Bir indis için başlık ismini döndürür
    • exif_thumbnail - Bir TIFF veya JPEG görüntüsünü içinde gömülü küçük örneği döndürür
    • exit - Bir ileti çıktılayıp çalışmakta olan betiği sonlandırır
    • exp - Calculates the exponent of e
    • expect:// - Süreçlerle Etkileşim Akımları
    • expect_expectl - Waits until the output from a process matches one of the patterns, a specified time period has passed, or an EOF is seen
    • expect_popen - Execute command via Bourne shell, and open the PTY stream to the process
    • explode - Bir dizgeyi bir ayraca göre bölüp bir dizi haline getirir
    • expm1 - Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero
    • expression - Bind prepared statement variables as parameters
    • Expression::__construct - Expression constructor
    • extension_loaded - Belirtilen eklenti yüklü mü diye bakar
    • extract - Bir dizideki değişkenleri simge tablosuna dahil eder
    • ezmlm_hash - EZMLM için gereken ileti özetini hesaplar
  • f
    • FANNConnection::getFromNeuron - Returns the postions of starting neuron
    • FANNConnection::getToNeuron - Returns the postions of terminating neuron
    • FANNConnection::getWeight - Returns the connection weight
    • FANNConnection::setWeight - Sets the connections weight
    • FANNConnection::__construct - The connection constructor
    • fann_cascadetrain_on_data - Trains on an entire dataset, for a period of time using the Cascade2 training algorithm
    • fann_cascadetrain_on_file - Trains on an entire dataset read from file, for a period of time using the Cascade2 training algorithm
    • fann_clear_scaling_params - Clears scaling parameters
    • fann_copy - Creates a copy of a fann structure
    • fann_create_from_file - Constructs a backpropagation neural network from a configuration file
    • fann_create_shortcut - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_shortcut_array - Creates a standard backpropagation neural network which is not fully connectected and has shortcut connections
    • fann_create_sparse - Creates a standard backpropagation neural network, which is not fully connected
    • fann_create_sparse_array - Creates a standard backpropagation neural network, which is not fully connected using an array of layer sizes
    • fann_create_standard - Creates a standard fully connected backpropagation neural network
    • fann_create_standard_array - Creates a standard fully connected backpropagation neural network using an array of layer sizes
    • fann_create_train - Creates an empty training data struct
    • fann_create_train_from_callback - Creates the training data struct from a user supplied function
    • fann_descale_input - Scale data in input vector after get it from ann based on previously calculated parameters
    • fann_descale_output - Scale data in output vector after get it from ann based on previously calculated parameters
    • fann_descale_train - Descale input and output data based on previously calculated parameters
    • fann_destroy - Destroys the entire network and properly freeing all the associated memory
    • fann_destroy_train - Destructs the training data
    • fann_duplicate_train_data - Returns an exact copy of a fann train data
    • fann_get_activation_function - Returns the activation function
    • fann_get_activation_steepness - Returns the activation steepness for supplied neuron and layer number
    • fann_get_bias_array - Get the number of bias in each layer in the network
    • fann_get_bit_fail - The number of fail bits
    • fann_get_bit_fail_limit - Returns the bit fail limit used during training
    • fann_get_cascade_activation_functions - Returns the cascade activation functions
    • fann_get_cascade_activation_functions_count - Returns the number of cascade activation functions
    • fann_get_cascade_activation_steepnesses - Returns the cascade activation steepnesses
    • fann_get_cascade_activation_steepnesses_count - The number of activation steepnesses
    • fann_get_cascade_candidate_change_fraction - Returns the cascade candidate change fraction
    • fann_get_cascade_candidate_limit - Return the candidate limit
    • fann_get_cascade_candidate_stagnation_epochs - Returns the number of cascade candidate stagnation epochs
    • fann_get_cascade_max_cand_epochs - Returns the maximum candidate epochs
    • fann_get_cascade_max_out_epochs - Returns the maximum out epochs
    • fann_get_cascade_min_cand_epochs - Returns the minimum candidate epochs
    • fann_get_cascade_min_out_epochs - Returns the minimum out epochs
    • fann_get_cascade_num_candidates - Returns the number of candidates used during training
    • fann_get_cascade_num_candidate_groups - Returns the number of candidate groups
    • fann_get_cascade_output_change_fraction - Returns the cascade output change fraction
    • fann_get_cascade_output_stagnation_epochs - Returns the number of cascade output stagnation epochs
    • fann_get_cascade_weight_multiplier - Returns the weight multiplier
    • fann_get_connection_array - Get connections in the network
    • fann_get_connection_rate - Get the connection rate used when the network was created
    • fann_get_errno - Returns the last error number
    • fann_get_errstr - Returns the last errstr
    • fann_get_layer_array - Get the number of neurons in each layer in the network
    • fann_get_learning_momentum - Returns the learning momentum
    • fann_get_learning_rate - Returns the learning rate
    • fann_get_MSE - Reads the mean square error from the network
    • fann_get_network_type - Get the type of neural network it was created as
    • fann_get_num_input - Get the number of input neurons
    • fann_get_num_layers - Get the number of layers in the neural network
    • fann_get_num_output - Get the number of output neurons
    • fann_get_quickprop_decay - Returns the decay which is a factor that weights should decrease in each iteration during quickprop training
    • fann_get_quickprop_mu - Returns the mu factor
    • fann_get_rprop_decrease_factor - Returns the increase factor used during RPROP training
    • fann_get_rprop_delta_max - Returns the maximum step-size
    • fann_get_rprop_delta_min - Returns the minimum step-size
    • fann_get_rprop_delta_zero - Returns the initial step-size
    • fann_get_rprop_increase_factor - Returns the increase factor used during RPROP training
    • fann_get_sarprop_step_error_shift - Returns the sarprop step error shift
    • fann_get_sarprop_step_error_threshold_factor - Returns the sarprop step error threshold factor
    • fann_get_sarprop_temperature - Returns the sarprop temperature
    • fann_get_sarprop_weight_decay_shift - Returns the sarprop weight decay shift
    • fann_get_total_connections - Get the total number of connections in the entire network
    • fann_get_total_neurons - Get the total number of neurons in the entire network
    • fann_get_training_algorithm - Returns the training algorithm
    • fann_get_train_error_function - Returns the error function used during training
    • fann_get_train_stop_function - Returns the stop function used during training
    • fann_init_weights - Initialize the weights using Widrow + Nguyen’s algorithm
    • fann_length_train_data - Returns the number of training patterns in the train data
    • fann_merge_train_data - Merges the train data
    • fann_num_input_train_data - Returns the number of inputs in each of the training patterns in the train data
    • fann_num_output_train_data - Returns the number of outputs in each of the training patterns in the train data
    • fann_print_error - Prints the error string
    • fann_randomize_weights - Give each connection a random weight between min_weight and max_weight
    • fann_read_train_from_file - Reads a file that stores training data
    • fann_reset_errno - Resets the last error number
    • fann_reset_errstr - Resets the last error string
    • fann_reset_MSE - Resets the mean square error from the network
    • fann_run - Will run input through the neural network
    • fann_save - Saves the entire network to a configuration file
    • fann_save_train - Save the training structure to a file
    • fann_scale_input - Scale data in input vector before feed it to ann based on previously calculated parameters
    • fann_scale_input_train_data - Scales the inputs in the training data to the specified range
    • fann_scale_output - Scale data in output vector before feed it to ann based on previously calculated parameters
    • fann_scale_output_train_data - Scales the outputs in the training data to the specified range
    • fann_scale_train - Scale input and output data based on previously calculated parameters
    • fann_scale_train_data - Scales the inputs and outputs in the training data to the specified range
    • fann_set_activation_function - Sets the activation function for supplied neuron and layer
    • fann_set_activation_function_hidden - Sets the activation function for all of the hidden layers
    • fann_set_activation_function_layer - Sets the activation function for all the neurons in the supplied layer
    • fann_set_activation_function_output - Sets the activation function for the output layer
    • fann_set_activation_steepness - Sets the activation steepness for supplied neuron and layer number
    • fann_set_activation_steepness_hidden - Sets the steepness of the activation steepness for all neurons in the all hidden layers
    • fann_set_activation_steepness_layer - Sets the activation steepness for all of the neurons in the supplied layer number
    • fann_set_activation_steepness_output - Sets the steepness of the activation steepness in the output layer
    • fann_set_bit_fail_limit - Set the bit fail limit used during training
    • fann_set_callback - Sets the callback function for use during training
    • fann_set_cascade_activation_functions - Sets the array of cascade candidate activation functions
    • fann_set_cascade_activation_steepnesses - Sets the array of cascade candidate activation steepnesses
    • fann_set_cascade_candidate_change_fraction - Sets the cascade candidate change fraction
    • fann_set_cascade_candidate_limit - Sets the candidate limit
    • fann_set_cascade_candidate_stagnation_epochs - Sets the number of cascade candidate stagnation epochs
    • fann_set_cascade_max_cand_epochs - Sets the max candidate epochs
    • fann_set_cascade_max_out_epochs - Sets the maximum out epochs
    • fann_set_cascade_min_cand_epochs - Sets the min candidate epochs
    • fann_set_cascade_min_out_epochs - Sets the minimum out epochs
    • fann_set_cascade_num_candidate_groups - Sets the number of candidate groups
    • fann_set_cascade_output_change_fraction - Sets the cascade output change fraction
    • fann_set_cascade_output_stagnation_epochs - Sets the number of cascade output stagnation epochs
    • fann_set_cascade_weight_multiplier - Sets the weight multiplier
    • fann_set_error_log - Sets where the errors are logged to
    • fann_set_input_scaling_params - Calculate input scaling parameters for future use based on training data
    • fann_set_learning_momentum - Sets the learning momentum
    • fann_set_learning_rate - Sets the learning rate
    • fann_set_output_scaling_params - Calculate output scaling parameters for future use based on training data
    • fann_set_quickprop_decay - Sets the quickprop decay factor
    • fann_set_quickprop_mu - Sets the quickprop mu factor
    • fann_set_rprop_decrease_factor - Sets the decrease factor used during RPROP training
    • fann_set_rprop_delta_max - Sets the maximum step-size
    • fann_set_rprop_delta_min - Sets the minimum step-size
    • fann_set_rprop_delta_zero - Sets the initial step-size
    • fann_set_rprop_increase_factor - Sets the increase factor used during RPROP training
    • fann_set_sarprop_step_error_shift - Sets the sarprop step error shift
    • fann_set_sarprop_step_error_threshold_factor - Sets the sarprop step error threshold factor
    • fann_set_sarprop_temperature - Sets the sarprop temperature
    • fann_set_sarprop_weight_decay_shift - Sets the sarprop weight decay shift
    • fann_set_scaling_params - Calculate input and output scaling parameters for future use based on training data
    • fann_set_training_algorithm - Sets the training algorithm
    • fann_set_train_error_function - Sets the error function used during training
    • fann_set_train_stop_function - Sets the stop function used during training
    • fann_set_weight - Set a connection in the network
    • fann_set_weight_array - Set connections in the network
    • fann_shuffle_train_data - Shuffles training data, randomizing the order
    • fann_subset_train_data - Returns an copy of a subset of the train data
    • fann_test - Test with a set of inputs, and a set of desired outputs
    • fann_test_data - Test a set of training data and calculates the MSE for the training data
    • fann_train - Train one iteration with a set of inputs, and a set of desired outputs
    • fann_train_epoch - Train one epoch with a set of training data
    • fann_train_on_data - Trains on an entire dataset for a period of time
    • fann_train_on_file - Trains on an entire dataset, which is read from file, for a period of time
    • fastcgi_finish_request - Flushes all response data to the client
    • fbird_add_user - Takma Adı: ibase_add_user
    • fbird_affected_rows - Takma Adı: ibase_affected_rows
    • fbird_backup - Takma Adı: ibase_backup
    • fbird_blob_add - Takma Adı: ibase_blob_add
    • fbird_blob_cancel - Cancel creating blob
    • fbird_blob_close - Takma Adı: ibase_blob_close
    • fbird_blob_create - Takma Adı: ibase_blob_create
    • fbird_blob_echo - Takma Adı: ibase_blob_echo
    • fbird_blob_get - Takma Adı: ibase_blob_get
    • fbird_blob_import - Takma Adı: ibase_blob_import
    • fbird_blob_info - Takma Adı: ibase_blob_info
    • fbird_blob_open - Takma Adı: ibase_blob_open
    • fbird_close - Takma Adı: ibase_close
    • fbird_commit - Takma Adı: ibase_commit
    • fbird_commit_ret - Takma Adı: ibase_commit_ret
    • fbird_connect - Takma Adı: ibase_connect
    • fbird_db_info - Takma Adı: ibase_db_info
    • fbird_delete_user - Takma Adı: ibase_delete_user
    • fbird_drop_db - Takma Adı: ibase_drop_db
    • fbird_errcode - Takma Adı: ibase_errcode
    • fbird_errmsg - Takma Adı: ibase_errmsg
    • fbird_execute - Takma Adı: ibase_execute
    • fbird_fetch_assoc - Takma Adı: ibase_fetch_assoc
    • fbird_fetch_object - Takma Adı: ibase_fetch_object
    • fbird_fetch_row - Takma Adı: ibase_fetch_row
    • fbird_field_info - Takma Adı: ibase_field_info
    • fbird_free_event_handler - Takma Adı: ibase_free_event_handler
    • fbird_free_query - Takma Adı: ibase_free_query
    • fbird_free_result - Takma Adı: ibase_free_result
    • fbird_gen_id - Takma Adı: ibase_gen_id
    • fbird_maintain_db - Takma Adı: ibase_maintain_db
    • fbird_modify_user - Takma Adı: ibase_modify_user
    • fbird_name_result - Takma Adı: ibase_name_result
    • fbird_num_fields - Takma Adı: ibase_num_fields
    • fbird_num_params - Takma Adı: ibase_num_params
    • fbird_param_info - Takma Adı: ibase_param_info
    • fbird_pconnect - Takma Adı: ibase_pconnect
    • fbird_prepare - Takma Adı: ibase_prepare
    • fbird_query - Takma Adı: ibase_query
    • fbird_restore - Takma Adı: ibase_restore
    • fbird_rollback - Takma Adı: ibase_rollback
    • fbird_rollback_ret - Takma Adı: ibase_rollback_ret
    • fbird_server_info - Takma Adı: ibase_server_info
    • fbird_service_attach - Takma Adı: ibase_service_attach
    • fbird_service_detach - Takma Adı: ibase_service_detach
    • fbird_set_event_handler - Takma Adı: ibase_set_event_handler
    • fbird_trans - Takma Adı: ibase_trans
    • fbird_wait_event - Takma Adı: ibase_wait_event
    • fclose - Açık bir dosya tanıtıcısını kapatır
    • fdatasync - Synchronizes data (but not meta-data) to the file
    • fdf_add_doc_javascript - Adds javascript code to the FDF document
    • fdf_add_template - Adds a template into the FDF document
    • fdf_close - Close an FDF document
    • fdf_create - Create a new FDF document
    • fdf_enum_values - Call a user defined function for each document value
    • fdf_errno - Return error code for last fdf operation
    • fdf_error - Return error description for FDF error code
    • fdf_get_ap - Get the appearance of a field
    • fdf_get_attachment - Extracts uploaded file embedded in the FDF
    • fdf_get_encoding - Get the value of the /Encoding key
    • fdf_get_file - Get the value of the /F key
    • fdf_get_flags - Gets the flags of a field
    • fdf_get_opt - Gets a value from the opt array of a field
    • fdf_get_status - Get the value of the /STATUS key
    • fdf_get_value - Get the value of a field
    • fdf_get_version - Gets version number for FDF API or file
    • fdf_header - Sets FDF-specific output headers
    • fdf_next_field_name - Get the next field name
    • fdf_open - Open a FDF document
    • fdf_open_string - Read a FDF document from a string
    • fdf_remove_item - Sets target frame for form
    • fdf_save - Save a FDF document
    • fdf_save_string - Returns the FDF document as a string
    • fdf_set_ap - Set the appearance of a field
    • fdf_set_encoding - Sets FDF character encoding
    • fdf_set_file - Set PDF document to display FDF data in
    • fdf_set_flags - Sets a flag of a field
    • fdf_set_javascript_action - Sets an javascript action of a field
    • fdf_set_on_import_javascript - Adds javascript code to be executed when Acrobat opens the FDF
    • fdf_set_opt - Sets an option of a field
    • fdf_set_status - Set the value of the /STATUS key
    • fdf_set_submit_form_action - Sets a submit form action of a field
    • fdf_set_target_frame - Set target frame for form display
    • fdf_set_value - Set the value of a field
    • fdf_set_version - Sets version number for a FDF file
    • fdiv - Divides two numbers, according to IEEE 754
    • feof - Bir dosya tanıtıcısı üzerinde konum dosya sonunda mı diye bakar
    • FFI::addr - Creates an unmanaged pointer to C data
    • FFI::alignof - Gets the alignment
    • FFI::arrayType - Dynamically constructs a new C array type
    • FFI::cast - Performs a C type cast
    • FFI::cdef - Creates a new FFI object
    • FFI::free - Releases an unmanaged data structure
    • FFI::isNull - Checks whether a FFI\CData is a null pointer
    • FFI::load - Loads C declarations from a C header file
    • FFI::memcmp - Compares memory areas
    • FFI::memcpy - Copies one memory area to another
    • FFI::memset - Fills a memory area
    • FFI::new - Creates a C data structure
    • FFI::scope - Instantiates an FFI object with C declarations parsed during preloading
    • FFI::sizeof - Gets the size of C data or types
    • FFI::string - Creates a PHP string from a memory area
    • FFI::type - Creates an FFI\CType object from a C declaration
    • FFI::typeof - Gets the FFI\CType of FFI\CData
    • FFI\CType::getAlignment - Description
    • FFI\CType::getArrayElementType - Description
    • FFI\CType::getArrayLength - Description
    • FFI\CType::getAttributes - Description
    • FFI\CType::getEnumKind - Description
    • FFI\CType::getFuncABI - Description
    • FFI\CType::getFuncParameterCount - Description
    • FFI\CType::getFuncParameterType - Description
    • FFI\CType::getFuncReturnType - Description
    • FFI\CType::getKind - Description
    • FFI\CType::getName - Description
    • FFI\CType::getPointerType - Description
    • FFI\CType::getSize - Description
    • FFI\CType::getStructFieldNames - Description
    • FFI\CType::getStructFieldOffset - Description
    • FFI\CType::getStructFieldType - Description
    • fflush - Çıktıyı bir dosyaya boşaltır
    • fgetc - Dosya tanıtıcısından bir karakter döndürür
    • fgetcsv - Dosya tanıtıcısından CSV alanlarını çözümleyerek bir satır döndürür
    • fgets - Dosya tanıtıcısından bir satır döndürür
    • fgetss - Dosya tanıtıcısından bir satırı HTML etiketlerinden arındırarak döndürür
    • Fiber::getCurrent - Çalışmakta olan Fiber örneğini döndürür
    • Fiber::getReturn - Fiber tarafından döndürülen değeri döndürür
    • Fiber::isRunning - Fiber çalışıyor mu diye bakar
    • Fiber::isStarted - Fiber başlatılmış mı diye bakar
    • Fiber::isSuspended - Fiber askıda mı diye bakar
    • Fiber::isTerminated - Fiber sonlanmış mı diye bakar
    • Fiber::resume - Fiberin bir değerle çalışmasını sürdürmesini sağlar
    • Fiber::start - Fiberin çalışmasını başlatır
    • Fiber::suspend - Çalışmakta olan fiberi askıya alır
    • Fiber::throw - Fiberin çalışmasını bir istisna ile devam ettirir
    • Fiber::__construct - Yeni bir Fiber örneği oluşturur
    • FiberError::__construct - Doğrudan örneklemeye izin vermemek için kurucu
    • file - Dosya içeriğinin tamamını bir diziye okur
    • file:// - Yerel dosya sistemine erişim
    • fileatime - Dosyaya son erişim zamanını döndürür
    • filectime - Dosyanın dosya düğümü değişiklik zamanını döndürür
    • filegroup - Dosyanın sahibi olan grubu döndürür
    • fileinode - Dosyanın düğüm numarasını döndürür
    • filemtime - Dosyanın değişiklik zamanını döndürür
    • fileowner - Dosya sahibini döndürür
    • fileperms - Dosya izinlerini döndürür
    • filesize - Dosya uzunluğunu döndürür
    • FilesystemIterator::current - The current file
    • FilesystemIterator::getFlags - Get the handling flags
    • FilesystemIterator::key - Retrieve the key for the current file
    • FilesystemIterator::next - Move to the next file
    • FilesystemIterator::rewind - Rewinds back to the beginning
    • FilesystemIterator::setFlags - Sets handling flags
    • FilesystemIterator::__construct - Constructs a new filesystem iterator
    • filetype - Dosya türünü döndürür
    • file_exists - Bir dosya veya dizinin mevcut olup olmadığına bakar
    • file_get_contents - Dosya içeriğinin tamamını bir dizge olarak döndürür
    • file_put_contents - Veriyi bir dosyaya yazar
    • FilterIterator::accept - Check whether the current element of the iterator is acceptable
    • FilterIterator::current - Get the current element value
    • FilterIterator::key - Get the current key
    • FilterIterator::next - Move the iterator forward
    • FilterIterator::rewind - Rewind the iterator
    • FilterIterator::valid - Check whether the current element is valid
    • FilterIterator::__construct - Construct a filterIterator
    • filter_has_var - Checks if variable of specified type exists
    • filter_id - Returns the filter ID belonging to a named filter
    • filter_input - Gets a specific external variable by name and optionally filters it
    • filter_input_array - Gets external variables and optionally filters them
    • filter_list - Returns a list of all supported filters
    • filter_var - Filters a variable with a specified filter
    • filter_var_array - Gets multiple variables and optionally filters them
    • finfo::buffer - finfo_buffer() işlevinin takma adıdır
    • finfo::file - finfo_file() işlevinin takma adıdır
    • finfo::set_flags - finfo_set_flags() işlevinin takma adıdır
    • finfo::__construct - finfo_open işlevinin takma adıdır
    • finfo_close - Fileinfo özkaynağını kapatır
    • finfo_open - Yeni bir fileinfo özkaynağı oluşturur
    • floatval - Bir değişkenin gerçek sayı değerini döndürür
    • flock - Öneri niteliğinde taşınabilir dosya kilitleme
    • floor - Round fractions down
    • flush - Sistem çıktı tamponunu boşaltır
    • fmod - Returns the floating point remainder (modulo) of the division of the arguments
    • fnmatch - Dosya ismi belirtilen kalıpla eşleşiyor mu diye bakar
    • fopen - Bir dosya veya URL'yi açar
    • forward_static_call - Statik yöntem çağrısı yapar
    • forward_static_call_array - Bağımsız değişkenleri dizi olarak iletilen statik yöntemi çağırır
    • fpassthru - Bir dosya tanıtıcısında kalan verinin tamamını çıktılar
    • fpm_get_status - Returns the current FPM pool status
    • fprintf - Biçemli dizgeyi bir akıma yazar
    • fputcsv - Satırı CSV olarak biçemler ve dosya tanıtıcısına yazar
    • fputs - fwrite işlevinin takma adıdır
    • fread - Dosyayı ikil kipte okur
    • frenchtojd - Fransız İhtilali takvim tarihini, Jülyen Gün Sayısına çevirir
    • fscanf - Bir dosyadaki girdiyi belli bir biçeme göre çözümler
    • fseek - Dosya tanıtıcısında konumu bir yerden başka bir yere taşır
    • fsockopen - Bir internet veya Unix alan soketi bağlantısı açar
    • fstat - Bir açık dosya tanıtıcısı kullanarak bir dosya hakkında bilgi döndürür
    • fsync - Synchronizes changes to the file (including meta-data)
    • ftell - Dosya okuma/yazma konumlayıcının mevcut konumu ile döner
    • ftok - Convert a pathname and a project identifier to a System V IPC key
    • ftp:// - FTP'lere Erişim
    • FTP bağlamı seçenekleri - FTP bağlamı seçeneklerinin listesi
    • ftp_alloc - Karşıya dosya yüklemek için bir FTP sunucusuna yer ayırma isteği yapar
    • ftp_append - Bir dosyanın içeriğini FTP sunucusundaki başka bir dosyaya ekler
    • ftp_cdup - Üst dizine geçer
    • ftp_chdir - FTP sunucusundaki çalışma dizinini değiştirir
    • ftp_chmod - FTP üzerinden bir dosyanın erişim izinlerini değiştirir
    • ftp_close - Bir FTP bağlantısını kapatır
    • ftp_connect - Bir FTP bağlantısı açar
    • ftp_delete - Belirtilen dosyayı FTP sunucusundan siler
    • ftp_exec - FTP sunucusunda bir komut çalıştırma isteği yapar
    • ftp_fget - FTP sunucusundan dosyayı indirip bir dosya tanıtıcısına yazar
    • ftp_fput - FTP sunucusuna dosya tanıtıcısı belirtilen dosyayı yükler
    • ftp_get - FTP sunucusundan bir dosya indirir
    • ftp_get_option - Bir çalışma anı seçeneğinin değerini döndürür
    • ftp_login - FTP bağlantısında kullanıcı oturumu açar
    • ftp_mdtm - Belirtilen dosyanın son değişiklik zamanını döndürür
    • ftp_mkdir - FTP sunucusunda bir dizin oluşturur
    • ftp_mlsd - Belirtilen dizindeki dosyaların bir listesini döndürür
    • ftp_nb_continue - Dosya alımını/gönderimini (engellenmeyen kipte) kaldığı yerden devam ettirir
    • ftp_nb_fget - FTP sunucusundan dosyayı (engellenmeyen kipte) indirip bir dosya tanıtıcısına yazar
    • ftp_nb_fput - FTP sunucusuna (engellenmeyen kipte) dosya yüklemek için bir dosya tanıtıcısı kullanır
    • ftp_nb_get - FTP sunucusundan (engellenmeyen kipte) bir dosya indirir
    • ftp_nb_put - Bir dosyayı FTP sunucusuna (eşzamansız kipte) yükler
    • ftp_nlist - Belirtilen dizindeki dosyaların listesini döndürür
    • ftp_pasv - Edilgen kipi açıp kapar
    • ftp_put - FTP sunucusuna bir dosya yükler
    • ftp_pwd - Çalışılan dizinin ismini döndürür
    • ftp_quit - ftp_close işlevinin takma adıdır
    • ftp_raw - Bir FTP sunucusuna bir komut gönderir
    • ftp_rawlist - Belirtilen dizindeki dosyaların ayrıntılı bir listesini döndürür
    • ftp_rename - FTP sunucusundaki bir dosya veya dizinin adını değiştirir
    • ftp_rmdir - Bir dizini siler
    • ftp_set_option - Çalışma anı seçeneklerini belirler
    • ftp_site - Sunucuya bir SITE komutu gönderir
    • ftp_size - FTP sunucusundaki bir dosyanın boyunu döndürür
    • ftp_ssl_connect - Güvenli bir SSL-FTP bağlantısı açar
    • ftp_systype - Uzak FTP sunucusunun sistem türü tanıtıcısını döndürür
    • ftruncate - Bir dosyayı belli bir uzunlukta budar
    • function_exists - Eğer işlev tanımlanmış ise true döndürür
    • func_get_arg - Bağımsız değişken listesinden bir üyeyi döndürür
    • func_get_args - İşleve aktarılan bağımsız değişkenlerin listesini dizi olarak döndürür
    • func_num_args - İşleve aktarılan bağımsız değişken sayısını döndürür
    • fwrite - Dosyaya ikil kipte yazar
  • g
    • gc_collect_cycles - Çöp döngülerin toplanması için zorlar
    • gc_disable - Döngüsel gönderim toplayıcısını etkisiz kılar
    • gc_enable - Döngüsel gönderim toplayıcısını etkin kılar
    • gc_enabled - Döngüsel gönderim toplayıcısının durumunu döndürür
    • gc_mem_caches - Zend Motoru bellek yöneticisi tarafından kullanılan belleği geri kazanır
    • gc_status - Çöp toplayıcı hakkında bilgi döndürür
    • gd_info - Kurulu GD kütüphanesi hakkında bilgi verir
    • GearmanClient::addOptions - Add client options
    • GearmanClient::addServer - Add a job server to the client
    • GearmanClient::addServers - Add a list of job servers to the client
    • GearmanClient::addTask - Add a task to be run in parallel
    • GearmanClient::addTaskBackground - Add a background task to be run in parallel
    • GearmanClient::addTaskHigh - Add a high priority task to run in parallel
    • GearmanClient::addTaskHighBackground - Add a high priority background task to be run in parallel
    • GearmanClient::addTaskLow - Add a low priority task to run in parallel
    • GearmanClient::addTaskLowBackground - Add a low priority background task to be run in parallel
    • GearmanClient::addTaskStatus - Add a task to get status
    • GearmanClient::clearCallbacks - Clear all task callback functions
    • GearmanClient::clone - Create a copy of a GearmanClient object
    • GearmanClient::context - Get the application context
    • GearmanClient::data - Get the application data (deprecated)
    • GearmanClient::do - Run a single task and return a result [deprecated]
    • GearmanClient::doBackground - Run a task in the background
    • GearmanClient::doHigh - Run a single high priority task
    • GearmanClient::doHighBackground - Run a high priority task in the background
    • GearmanClient::doJobHandle - Get the job handle for the running task
    • GearmanClient::doLow - Run a single low priority task
    • GearmanClient::doLowBackground - Run a low priority task in the background
    • GearmanClient::doNormal - Run a single task and return a result
    • GearmanClient::doStatus - Get the status for the running task
    • GearmanClient::echo - Send data to all job servers to see if they echo it back [deprecated]
    • GearmanClient::error - Returns an error string for the last error encountered
    • GearmanClient::getErrno - Get an errno value
    • GearmanClient::jobStatus - Get the status of a background job
    • GearmanClient::ping - Send data to all job servers to see if they echo it back
    • GearmanClient::removeOptions - Remove client options
    • GearmanClient::returnCode - Get the last Gearman return code
    • GearmanClient::runTasks - Run a list of tasks in parallel
    • GearmanClient::setClientCallback - Callback function when there is a data packet for a task (deprecated)
    • GearmanClient::setCompleteCallback - Set a function to be called on task completion
    • GearmanClient::setContext - Set application context
    • GearmanClient::setCreatedCallback - Set a callback for when a task is queued
    • GearmanClient::setData - Set application data (deprecated)
    • GearmanClient::setDataCallback - Callback function when there is a data packet for a task
    • GearmanClient::setExceptionCallback - Set a callback for worker exceptions
    • GearmanClient::setFailCallback - Set callback for job failure
    • GearmanClient::setOptions - Set client options
    • GearmanClient::setStatusCallback - Set a callback for collecting task status
    • GearmanClient::setTimeout - Set socket I/O activity timeout
    • GearmanClient::setWarningCallback - Set a callback for worker warnings
    • GearmanClient::setWorkloadCallback - Set a callback for accepting incremental data updates
    • GearmanClient::timeout - Get current socket I/O activity timeout value
    • GearmanClient::wait - Wait for I/O activity on all connections in a client
    • GearmanClient::__construct - Create a GearmanClient instance
    • GearmanJob::complete - Send the result and complete status (deprecated)
    • GearmanJob::data - Send data for a running job (deprecated)
    • GearmanJob::exception - Send exception for running job (deprecated)
    • GearmanJob::fail - Send fail status (deprecated)
    • GearmanJob::functionName - Get function name
    • GearmanJob::handle - Get the job handle
    • GearmanJob::returnCode - Get last return code
    • GearmanJob::sendComplete - Send the result and complete status
    • GearmanJob::sendData - Send data for a running job
    • GearmanJob::sendException - Send exception for running job (exception)
    • GearmanJob::sendFail - Send fail status
    • GearmanJob::sendStatus - Send status
    • GearmanJob::sendWarning - Send a warning
    • GearmanJob::setReturn - Set a return value
    • GearmanJob::status - Send status (deprecated)
    • GearmanJob::unique - Get the unique identifier
    • GearmanJob::warning - Send a warning (deprecated)
    • GearmanJob::workload - Get workload
    • GearmanJob::workloadSize - Get size of work load
    • GearmanJob::__construct - Create a GearmanJob instance
    • GearmanTask::create - Create a task (deprecated)
    • GearmanTask::data - Get data returned for a task
    • GearmanTask::dataSize - Get the size of returned data
    • GearmanTask::function - Get associated function name (deprecated)
    • GearmanTask::functionName - Get associated function name
    • GearmanTask::isKnown - Determine if task is known
    • GearmanTask::isRunning - Test whether the task is currently running
    • GearmanTask::jobHandle - Get the job handle
    • GearmanTask::recvData - Read work or result data into a buffer for a task
    • GearmanTask::returnCode - Get the last return code
    • GearmanTask::sendData - Send data for a task (deprecated)
    • GearmanTask::sendWorkload - Send data for a task
    • GearmanTask::taskDenominator - Get completion percentage denominator
    • GearmanTask::taskNumerator - Get completion percentage numerator
    • GearmanTask::unique - Get the unique identifier for a task
    • GearmanTask::uuid - Get the unique identifier for a task (deprecated)
    • GearmanTask::__construct - Create a GearmanTask instance
    • GearmanWorker::addFunction - Register and add callback function
    • GearmanWorker::addOptions - Add worker options
    • GearmanWorker::addServer - Add a job server
    • GearmanWorker::addServers - Add job servers
    • GearmanWorker::clone - Create a copy of the worker
    • GearmanWorker::echo - Test job server response
    • GearmanWorker::error - Get the last error encountered
    • GearmanWorker::getErrno - Get errno
    • GearmanWorker::options - Get worker options
    • GearmanWorker::register - Register a function with the job server
    • GearmanWorker::removeOptions - Remove worker options
    • GearmanWorker::returnCode - Get last Gearman return code
    • GearmanWorker::setId - Give the worker an identifier so it can be tracked when asking gearmand for the list of available workers
    • GearmanWorker::setOptions - Set worker options
    • GearmanWorker::setTimeout - Set socket I/O activity timeout
    • GearmanWorker::timeout - Get socket I/O activity timeout
    • GearmanWorker::unregister - Unregister a function name with the job servers
    • GearmanWorker::unregisterAll - Unregister all function names with the job servers
    • GearmanWorker::wait - Wait for activity from one of the job servers
    • GearmanWorker::work - Wait for and perform jobs
    • GearmanWorker::__construct - Create a GearmanWorker instance
    • Gender\Gender::connect - Connect to an external name dictionary
    • Gender\Gender::country - Get textual country representation
    • Gender\Gender::get - Get gender of a name
    • Gender\Gender::isNick - Check if the name0 is an alias of the name1
    • Gender\Gender::similarNames - Get similar names
    • Gender\Gender::__construct - Construct the Gender object
    • Generator::current - Getirilen değeri döndürür
    • Generator::getReturn - Üretecin dönüş değerini döndürür
    • Generator::key - Getirilen anahtarı döndürür
    • Generator::next - Üretecin çalışmasını kaldığı yerden sürdürür
    • Generator::rewind - Yineleyiciyi başa sarar
    • Generator::send - Üretece bir değer gönderir
    • Generator::throw - Üreteç için bir istisna oluşturur
    • Generator::valid - Yineleyici kapanmış mı diye bakar
    • Generator::__wakeup - Dizeleştirememe istisnası
    • geoip_asnum_by_name - Get the Autonomous System Numbers (ASN)
    • geoip_continent_code_by_name - Get the two letter continent code
    • geoip_country_code3_by_name - Get the three letter country code
    • geoip_country_code_by_name - Get the two letter country code
    • geoip_country_name_by_name - Get the full country name
    • geoip_database_info - Get GeoIP Database information
    • geoip_db_avail - Determine if GeoIP Database is available
    • geoip_db_filename - Returns the filename of the corresponding GeoIP Database
    • geoip_db_get_all_info - Returns detailed information about all GeoIP database types
    • geoip_domain_by_name - Get the second level domain name
    • geoip_id_by_name - Get the Internet connection type
    • geoip_isp_by_name - Get the Internet Service Provider (ISP) name
    • geoip_netspeedcell_by_name - Get the Internet connection speed
    • geoip_org_by_name - Get the organization name
    • geoip_record_by_name - Returns the detailed City information found in the GeoIP Database
    • geoip_region_by_name - Get the country code and region
    • geoip_region_name_by_code - Returns the region name for some country and region code combo
    • geoip_setup_custom_directory - Set a custom directory for the GeoIP database
    • geoip_time_zone_by_country_and_region - Returns the time zone for some country and region code combo
    • getallheaders - Tüm HTTP istek başlıklarını getirir
    • getcwd - Geçerli çalışma dizinini döndürür
    • getdate - Tarih/zaman bilgisi getirir
    • getenv - Ortam değişkenlerinden birinin veya tümünün değerini döndürür
    • gethostbyaddr - Belirtilen IP adresine çözümlenen konak ismini döndürür
    • gethostbyname - Belirtilen konak adına ait IPv4 adresini döndürür
    • gethostbynamel - Belirtilen konak adına ait IPv4 adreslerini döndürür
    • gethostname - Konak ismini döndürür
    • getimagesize - Bir görüntünün boyutlarını döndürür
    • getimagesizefromstring - Dizgedeki görüntünün boyutunu döndürür
    • getlastmod - Çalışan betiğin son değişiklik zamanını döndürür
    • getmxrr - Belirtilen konak adı ile ilgili MX kaydını döndürür
    • getmygid - PHP betiğinin sahibinin grup kimliğini döndürür
    • getmyinode - Çalışan betiğin dosya düğümü numarasını döndürür
    • getmypid - PHP'nin süreç kimliğini (PID) döndürür
    • getmyuid - PHP betiğinin sahibinin kullanıcı kimliğini döndürür
    • getopt - Komut satırı bağımsız değişkenleri listesinden seçenekleri döndürür
    • getprotobyname - Protokol ismine karşılık düşen protokol numarasını verir
    • getprotobynumber - Protokol numarasına karşılık düşen protokol ismini verir
    • getrandmax - Show largest possible random value
    • getrusage - Geçerli özkaynak kullanımlarını döndürür
    • getservbyname - Belirtilen ağ hizmeti ve protokolle ilişkili port numarası ile döner
    • getservbyport - Belirtilen port ve protokolle ilgili ağ hizmeti ile döner
    • getSession - Connect to a MySQL server
    • gettext - Geçerli uygulama alanında bir iletiyi arar
    • gettimeofday - Geçerli zamanı getirir
    • gettype - Bir değişkenin türünü döndürür
    • get_browser - Kullanıcının tarayıcısının neler yapabildiğini söyler
    • get_called_class - Çağrıldığı duruk yöntemin sınıf ismini döndürür
    • get_cfg_var - Belirtilen PHP yönergesinin değerini döndürür
    • get_class - Bir nesnenin ait olduğu sınıfın ismini döndürür
    • get_class_methods - Sınıf yöntemlerinin isimlerini döndürür
    • get_class_vars - Sınıfın öntanımlı özelliklerini döndürür
    • get_current_user - PHP betiğinin sahibininin kullanıcı ismini döndürür
    • get_debug_type - Hata ayıklamaya uygun şekilde değişkenin tür adını döndürür
    • get_declared_classes - Tanımlı sınıfların isimlerini bir dizi olarak döndürür
    • get_declared_interfaces - Bildirilmiş tüm arayüzleri bir dizi olarak döndürür
    • get_declared_traits - Bildirilmiş tüm nitelikleri dizi olarak döndürür
    • get_defined_constants - Tüm sabitlerin isimlerini ve değerlerini içeren bir ilişkisel dizi döndürür
    • get_defined_functions - Tanımlanmış bütün işlevleri içeren bir dizi döndürür
    • get_defined_vars - Tüm tanımlı değişkenleri içeren bir dizi döndürür
    • get_extension_funcs - Bir eklentinin tüm işlevlerinin isimlerini içeren bir dizi döndürür
    • get_headers - Bir HTTP isteğine sunucunun verdiği yanıtta gönderilen tüm başlıkları döndürür
    • get_html_translation_table - htmlspecialchars ve htmlentities tarafından kullanılan dönüşüm tablosunu döndürür
    • get_included_files - Betiğe dahil edilen dosyaların isimlerini içeren bir dizi döndürür
    • get_include_path - include_path yönergesinin değerini döndürür
    • get_loaded_extensions - Derlenmiş ve yüklenmiş tüm modüllerin isimlerini içeren bir dizi döndürür
    • get_magic_quotes_gpc - magic_quotes_gpc yönergesinin değerini döndürür
    • get_magic_quotes_runtime - magic_quotes_runtime yönergesinin çalışma anı değerini döndürür
    • get_mangled_object_vars - Karışık nesne özelliği dizisi döndürür
    • get_meta_tags - Bir HTML dosyanın meta etiketlerindeki öznitelikleri çıkarıp bir dizi olarak döndürür
    • get_object_vars - Belirtilen nesnenin özelliklerini döndürür
    • get_parent_class - Nesne veya sınıfın ebeveyn sınıfının ismini döndürür
    • get_required_files - get_included_files işlevinin takma adıdır
    • get_resources - Etkin özkaynakları döndürür
    • get_resource_id - Belirtilen özkaynağın tamsayı belirteci döner
    • get_resource_type - Özkaynak türünü döndürür
    • glob - Bir kalıpla eşleşen dosya yollarını bulur
    • glob:// - Kalıpla eşleşen dosya yollarını bulur
    • GlobIterator::count - Get the number of directories and files
    • GlobIterator::__construct - Construct a directory using glob
    • Gmagick::addimage - Adds new image to Gmagick object image list
    • Gmagick::addnoiseimage - Adds random noise to the image
    • Gmagick::annotateimage - Annotates an image with text
    • Gmagick::blurimage - Adds blur filter to image
    • Gmagick::borderimage - Surrounds the image with a border
    • Gmagick::charcoalimage - Simulates a charcoal drawing
    • Gmagick::chopimage - Removes a region of an image and trims
    • Gmagick::clear - Clears all resources associated to Gmagick object
    • Gmagick::commentimage - Adds a comment to your image
    • Gmagick::compositeimage - Composite one image onto another
    • Gmagick::cropimage - Extracts a region of the image
    • Gmagick::cropthumbnailimage - Creates a crop thumbnail
    • Gmagick::current - The current purpose
    • Gmagick::cyclecolormapimage - Displaces an image's colormap
    • Gmagick::deconstructimages - Returns certain pixel differences between images
    • Gmagick::despeckleimage - The despeckleimage purpose
    • Gmagick::destroy - The destroy purpose
    • Gmagick::drawimage - Renders the GmagickDraw object on the current image
    • Gmagick::edgeimage - Enhance edges within the image
    • Gmagick::embossimage - Returns a grayscale image with a three-dimensional effect
    • Gmagick::enhanceimage - Improves the quality of a noisy image
    • Gmagick::equalizeimage - Equalizes the image histogram
    • Gmagick::flipimage - Creates a vertical mirror image
    • Gmagick::flopimage - Creates a horizontal mirror image
    • Gmagick::frameimage - Adds a simulated three-dimensional border
    • Gmagick::gammaimage - Gamma-corrects an image
    • Gmagick::getcopyright - Returns the GraphicsMagick API copyright as a string
    • Gmagick::getfilename - The filename associated with an image sequence
    • Gmagick::getimagebackgroundcolor - Returns the image background color
    • Gmagick::getimageblueprimary - Returns the chromaticy blue primary point
    • Gmagick::getimagebordercolor - Returns the image border color
    • Gmagick::getimagechanneldepth - Gets the depth for a particular image channel
    • Gmagick::getimagecolors - Returns the color of the specified colormap index
    • Gmagick::getimagecolorspace - Gets the image colorspace
    • Gmagick::getimagecompose - Returns the composite operator associated with the image
    • Gmagick::getimagedelay - Gets the image delay
    • Gmagick::getimagedepth - Gets the depth of the image
    • Gmagick::getimagedispose - Gets the image disposal method
    • Gmagick::getimageextrema - Gets the extrema for the image
    • Gmagick::getimagefilename - Returns the filename of a particular image in a sequence
    • Gmagick::getimageformat - Returns the format of a particular image in a sequence
    • Gmagick::getimagegamma - Gets the image gamma
    • Gmagick::getimagegreenprimary - Returns the chromaticy green primary point
    • Gmagick::getimageheight - Returns the image height
    • Gmagick::getimagehistogram - Gets the image histogram
    • Gmagick::getimageindex - Gets the index of the current active image
    • Gmagick::getimageinterlacescheme - Gets the image interlace scheme
    • Gmagick::getimageiterations - Gets the image iterations
    • Gmagick::getimagematte - Check if the image has a matte channel
    • Gmagick::getimagemattecolor - Returns the image matte color
    • Gmagick::getimageprofile - Returns the named image profile
    • Gmagick::getimageredprimary - Returns the chromaticity red primary point
    • Gmagick::getimagerenderingintent - Gets the image rendering intent
    • Gmagick::getimageresolution - Gets the image X and Y resolution
    • Gmagick::getimagescene - Gets the image scene
    • Gmagick::getimagesignature - Generates an SHA-256 message digest
    • Gmagick::getimagetype - Gets the potential image type
    • Gmagick::getimageunits - Gets the image units of resolution
    • Gmagick::getimagewhitepoint - Returns the chromaticity white point
    • Gmagick::getimagewidth - Returns the width of the image
    • Gmagick::getpackagename - Returns the GraphicsMagick package name
    • Gmagick::getquantumdepth - Returns the Gmagick quantum depth as a string
    • Gmagick::getreleasedate - Returns the GraphicsMagick release date as a string
    • Gmagick::getsamplingfactors - Gets the horizontal and vertical sampling factor
    • Gmagick::getsize - Returns the size associated with the Gmagick object
    • Gmagick::getversion - Returns the GraphicsMagick API version
    • Gmagick::hasnextimage - Checks if the object has more images
    • Gmagick::haspreviousimage - Checks if the object has a previous image
    • Gmagick::implodeimage - Creates a new image as a copy
    • Gmagick::labelimage - Adds a label to an image
    • Gmagick::levelimage - Adjusts the levels of an image
    • Gmagick::magnifyimage - Scales an image proportionally 2x
    • Gmagick::mapimage - Replaces the colors of an image with the closest color from a reference image
    • Gmagick::medianfilterimage - Applies a digital filter
    • Gmagick::minifyimage - Scales an image proportionally to half its size
    • Gmagick::modulateimage - Control the brightness, saturation, and hue
    • Gmagick::motionblurimage - Simulates motion blur
    • Gmagick::newimage - Creates a new image
    • Gmagick::nextimage - Moves to the next image
    • Gmagick::normalizeimage - Enhances the contrast of a color image
    • Gmagick::oilpaintimage - Simulates an oil painting
    • Gmagick::previousimage - Move to the previous image in the object
    • Gmagick::profileimage - Adds or removes a profile from an image
    • Gmagick::quantizeimage - Analyzes the colors within a reference image
    • Gmagick::quantizeimages - The quantizeimages purpose
    • Gmagick::queryfontmetrics - Returns an array representing the font metrics
    • Gmagick::queryfonts - Returns the configured fonts
    • Gmagick::queryformats - Returns formats supported by Gmagick
    • Gmagick::radialblurimage - Radial blurs an image
    • Gmagick::raiseimage - Creates a simulated 3d button-like effect
    • Gmagick::read - Reads image from filename
    • Gmagick::readimage - Reads image from filename
    • Gmagick::readimageblob - Reads image from a binary string
    • Gmagick::readimagefile - The readimagefile purpose
    • Gmagick::reducenoiseimage - Smooths the contours of an image
    • Gmagick::removeimage - Removes an image from the image list
    • Gmagick::removeimageprofile - Removes the named image profile and returns it
    • Gmagick::resampleimage - Resample image to desired resolution
    • Gmagick::resizeimage - Scales an image
    • Gmagick::rollimage - Offsets an image
    • Gmagick::rotateimage - Rotates an image
    • Gmagick::scaleimage - Scales the size of an image
    • Gmagick::separateimagechannel - Separates a channel from the image
    • Gmagick::setCompressionQuality - Sets the object's default compression quality
    • Gmagick::setfilename - Sets the filename before you read or write the image
    • Gmagick::setimagebackgroundcolor - Sets the image background color
    • Gmagick::setimageblueprimary - Sets the image chromaticity blue primary point
    • Gmagick::setimagebordercolor - Sets the image border color
    • Gmagick::setimagechanneldepth - Sets the depth of a particular image channel
    • Gmagick::setimagecolorspace - Sets the image colorspace
    • Gmagick::setimagecompose - Sets the image composite operator
    • Gmagick::setimagedelay - Sets the image delay
    • Gmagick::setimagedepth - Sets the image depth
    • Gmagick::setimagedispose - Sets the image disposal method
    • Gmagick::setimagefilename - Sets the filename of a particular image in a sequence
    • Gmagick::setimageformat - Sets the format of a particular image
    • Gmagick::setimagegamma - Sets the image gamma
    • Gmagick::setimagegreenprimary - Sets the image chromaticity green primary point
    • Gmagick::setimageindex - Set the iterator to the position in the image list specified with the index parameter
    • Gmagick::setimageinterlacescheme - Sets the interlace scheme of the image
    • Gmagick::setimageiterations - Sets the image iterations
    • Gmagick::setimageprofile - Adds a named profile to the Gmagick object
    • Gmagick::setimageredprimary - Sets the image chromaticity red primary point
    • Gmagick::setimagerenderingintent - Sets the image rendering intent
    • Gmagick::setimageresolution - Sets the image resolution
    • Gmagick::setimagescene - Sets the image scene
    • Gmagick::setimagetype - Sets the image type
    • Gmagick::setimageunits - Sets the image units of resolution
    • Gmagick::setimagewhitepoint - Sets the image chromaticity white point
    • Gmagick::setsamplingfactors - Sets the image sampling factors
    • Gmagick::setsize - Sets the size of the Gmagick object
    • Gmagick::shearimage - Creating a parallelogram
    • Gmagick::solarizeimage - Applies a solarizing effect to the image
    • Gmagick::spreadimage - Randomly displaces each pixel in a block
    • Gmagick::stripimage - Strips an image of all profiles and comments
    • Gmagick::swirlimage - Swirls the pixels about the center of the image
    • Gmagick::thumbnailimage - Changes the size of an image
    • Gmagick::trimimage - Remove edges from the image
    • Gmagick::write - Takma Adı: Gmagick::writeimage
    • Gmagick::writeimage - Writes an image to the specified filename
    • Gmagick::__construct - The Gmagick constructor
    • GmagickDraw::annotate - Draws text on the image
    • GmagickDraw::arc - Draws an arc
    • GmagickDraw::bezier - Draws a bezier curve
    • GmagickDraw::ellipse - Draws an ellipse on the image
    • GmagickDraw::getfillcolor - Returns the fill color
    • GmagickDraw::getfillopacity - Returns the opacity used when drawing
    • GmagickDraw::getfont - Returns the font
    • GmagickDraw::getfontsize - Returns the font pointsize
    • GmagickDraw::getfontstyle - Returns the font style
    • GmagickDraw::getfontweight - Returns the font weight
    • GmagickDraw::getstrokecolor - Returns the color used for stroking object outlines
    • GmagickDraw::getstrokeopacity - Returns the opacity of stroked object outlines
    • GmagickDraw::getstrokewidth - Returns the width of the stroke used to draw object outlines
    • GmagickDraw::gettextdecoration - Returns the text decoration
    • GmagickDraw::gettextencoding - Returns the code set used for text annotations
    • GmagickDraw::line - Draws a line
    • GmagickDraw::point - Draws a point
    • GmagickDraw::polygon - Draws a polygon
    • GmagickDraw::polyline - Draws a polyline
    • GmagickDraw::rectangle - Draws a rectangle
    • GmagickDraw::rotate - Applies the specified rotation to the current coordinate space
    • GmagickDraw::roundrectangle - Draws a rounded rectangle
    • GmagickDraw::scale - Adjusts the scaling factor
    • GmagickDraw::setfillcolor - Sets the fill color to be used for drawing filled objects
    • GmagickDraw::setfillopacity - The setfillopacity purpose
    • GmagickDraw::setfont - Sets the fully-specified font to use when annotating with text
    • GmagickDraw::setfontsize - Sets the font pointsize to use when annotating with text
    • GmagickDraw::setfontstyle - Sets the font style to use when annotating with text
    • GmagickDraw::setfontweight - Sets the font weight
    • GmagickDraw::setstrokecolor - Sets the color used for stroking object outlines
    • GmagickDraw::setstrokeopacity - Specifies the opacity of stroked object outlines
    • GmagickDraw::setstrokewidth - Sets the width of the stroke used to draw object outlines
    • GmagickDraw::settextdecoration - Specifies a decoration
    • GmagickDraw::settextencoding - Specifies the text code set
    • GmagickPixel::getcolor - Returns the color
    • GmagickPixel::getcolorcount - Returns the color count associated with this color
    • GmagickPixel::getcolorvalue - Gets the normalized value of the provided color channel
    • GmagickPixel::setcolor - Sets the color
    • GmagickPixel::setcolorvalue - Sets the normalized value of one of the channels
    • GmagickPixel::__construct - The GmagickPixel constructor
    • gmdate - Bir tarih/saati GMT/UTC tarih/saati olarak biçemler
    • gmmktime - Bir GMT tarihi için Unix zaman damgasını döndürür
    • GMP::__construct - Create GMP number
    • GMP::__serialize - Serializes the GMP object
    • GMP::__unserialize - Deserializes the data parameter into a GMP object
    • gmp_abs - Absolute value
    • gmp_add - Add numbers
    • gmp_and - Bitwise AND
    • gmp_binomial - Calculates binomial coefficient
    • gmp_clrbit - Clear bit
    • gmp_cmp - Compare numbers
    • gmp_com - Calculates one's complement
    • gmp_div - Takma Adı: gmp_div_q
    • gmp_divexact - Exact division of numbers
    • gmp_div_q - Divide numbers
    • gmp_div_qr - Divide numbers and get quotient and remainder
    • gmp_div_r - Remainder of the division of numbers
    • gmp_export - Export to a binary string
    • gmp_fact - Factorial
    • gmp_gcd - Calculate GCD
    • gmp_gcdext - Calculate GCD and multipliers
    • gmp_hamdist - Hamming distance
    • gmp_import - Import from a binary string
    • gmp_init - Create GMP number
    • gmp_intval - Convert GMP number to integer
    • gmp_invert - Inverse by modulo
    • gmp_jacobi - Jacobi symbol
    • gmp_kronecker - Kronecker symbol
    • gmp_lcm - Calculate LCM
    • gmp_legendre - Legendre symbol
    • gmp_mod - Modulo operation
    • gmp_mul - Multiply numbers
    • gmp_neg - Negate number
    • gmp_nextprime - Find next prime number
    • gmp_or - Bitwise OR
    • gmp_perfect_power - Perfect power check
    • gmp_perfect_square - Perfect square check
    • gmp_popcount - Population count
    • gmp_pow - Raise number into power
    • gmp_powm - Raise number into power with modulo
    • gmp_prob_prime - Check if number is "probably prime"
    • gmp_random - Random number
    • gmp_random_bits - Random number
    • gmp_random_range - Get a uniformly selected integer
    • gmp_random_seed - Sets the RNG seed
    • gmp_root - Take the integer part of nth root
    • gmp_rootrem - Take the integer part and remainder of nth root
    • gmp_scan0 - Scan for 0
    • gmp_scan1 - Scan for 1
    • gmp_setbit - Set bit
    • gmp_sign - Sign of number
    • gmp_sqrt - Calculate square root
    • gmp_sqrtrem - Square root with remainder
    • gmp_strval - Convert GMP number to string
    • gmp_sub - Subtract numbers
    • gmp_testbit - Tests if a bit is set
    • gmp_xor - Bitwise XOR
    • gmstrftime - Yerel ayarlara göre tarih ve saati, UTC türüne çevirir
    • gnupg_adddecryptkey - Add a key for decryption
    • gnupg_addencryptkey - Add a key for encryption
    • gnupg_addsignkey - Add a key for signing
    • gnupg_cleardecryptkeys - Removes all keys which were set for decryption before
    • gnupg_clearencryptkeys - Removes all keys which were set for encryption before
    • gnupg_clearsignkeys - Removes all keys which were set for signing before
    • gnupg_decrypt - Decrypts a given text
    • gnupg_decryptverify - Decrypts and verifies a given text
    • gnupg_deletekey - Delete a key from the keyring
    • gnupg_encrypt - Encrypts a given text
    • gnupg_encryptsign - Encrypts and signs a given text
    • gnupg_export - Exports a key
    • gnupg_getengineinfo - Returns the engine info
    • gnupg_geterror - Returns the errortext, if a function fails
    • gnupg_geterrorinfo - Returns the error info
    • gnupg_getprotocol - Returns the currently active protocol for all operations
    • gnupg_gettrustlist - Search the trust items
    • gnupg_import - Imports a key
    • gnupg_init - Initialize a connection
    • gnupg_keyinfo - Returns an array with information about all keys that matches the given pattern
    • gnupg_listsignatures - List key signatures
    • gnupg_setarmor - Toggle armored output
    • gnupg_seterrormode - Sets the mode for error_reporting
    • gnupg_setsignmode - Sets the mode for signing
    • gnupg_sign - Signs a given text
    • gnupg_verify - Verifies a signed text
    • grapheme_extract - UTF-8 kodlanmış bir metin tamponundan öntanımlı sesletim kümelerinden oluşan bir dizilimi döndürür
    • grapheme_stripos - Harf büyüklüğüne duyarsız olarak bir dizgede ilk sesletim biriminin yerini bulur
    • grapheme_stristr - Harf büyüklüğüne duyarsız olarak bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
    • grapheme_strlen - Dizgenin sesletim birimi cinsinden uzunluğunu döndürür
    • grapheme_strpos - Bir dizgede ilk sesletim biriminin yerini bulur
    • grapheme_strripos - Harf büyüklüğüne duyarsız olarak bir dizgedeki sonuncu sesletim biriminin yerini bulur
    • grapheme_strrpos - Bir dizgedeki sonuncu sesletim biriminin yerini bulur
    • grapheme_strstr - Bir dizgedeki ilk sesletim birimine göre ilk veya ikinci parça ile döner
    • grapheme_substr - Bir alt dizge döndürür
    • gregoriantojd - Gregoryen tarihini, Jülyen Gün Sayısına çevirir
    • gzclose - Bir açık gzipli dosya tanıtıcısını kapar
    • gzcompress - Bir dizgeyi sıkıştırır
    • gzdecode - Gzipli bir dizgenin sıkıştırmasını açar
    • gzdeflate - Bir dizgeyi deflate biçeminde sıkıştırır
    • gzencode - Gzipli bir dizge oluşturur
    • gzeof - Gzipli dosya tanıtıcında dosya sonunu sınar
    • gzfile - Gzipli dosyayı bir dizi içinde döndürür
    • gzgetc - Gzipli dosya göstericisindeki karakteri döndürür
    • gzgets - Gzipli dosya tanıtıcısından bir satır döndürür
    • gzgetss - Gzipli dosya tanıtıcısından bir satır okuyup HTML etiketlerinden arındırır
    • gzinflate - Deflate sıkıştırmalı bir verinin sıkıştırmasını açar
    • gzopen - Bir gzipli dosya açar
    • gzpassthru - Gzipli dosya tanıtıcısında kalan verinin tamamını çıktılar
    • gzputs - gzwrite işlevinin takma adıdır
    • gzread - Gzipli dosyayı ikil kipte okur
    • gzrewind - Gzipli dosya göstericisini dosya başlangıcına taşır
    • gzseek - Gzipli dosya göstericisini konumlar
    • gztell - Gzipli dosya tanıtıcısının okuma/yazma konumunu döndürür
    • gzuncompress - Sıkıştırılmış bir dizgenin sıkıştırmasını açar
    • gzwrite - Bir dizgeyi bir gzipli dosyaya ikil kipte yazar
  • h
    • hash - Bir ileti aşı üretir
    • HashContext::__construct - Doğrudan örneklemeye izin vermemek için özel kurucu
    • HashContext::__serialize - Serializes the HashContext object
    • HashContext::__unserialize - Deserializes the data parameter into a HashContext object
    • hash_algos - Kayıtlı aşlama algoritmalarının bir listesini döndürür
    • hash_copy - Aşlama bağlamını kopyalar
    • hash_equals - Zamanlama saldırısı güvenli dize karşılaştırması
    • hash_file - Belirtilen dosyanın içeriğinden bir ileti aşı üretir
    • hash_final - Bir ardışık aşlama işlemini bitirip üretilen aşı döndürür
    • hash_hkdf - Sağlanan anahtar girdisinden HKDF anahtar türevi oluşturur
    • hash_hmac - HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
    • hash_hmac_algos - hash_hmac için uygun kayıtlı aşlama algoritmalarının listesini döndürür
    • hash_hmac_file - Bir dosyanın içeriğinden HMAC yöntemini kullanarak bir anahtarlı ileti aşı üretir
    • hash_init - Ardışık aşlama bağlamını ilklendirir
    • hash_pbkdf2 - Belirtilen bir parolanın PBKDF2 anahtar türevini döndürür
    • hash_update - Veriyi etkin bir aşlama bağlamına dahil eder
    • hash_update_file - Veriyi bir dosyadan etkin bir aşlama bağlamına dahil eder
    • hash_update_stream - Veriyi açık bir akımdan etkin bir aşlama bağlamına dahil eder
    • header - Ham bir HTTP başlığı gönderir
    • headers_list - Gönderilmiş (veya gönderilmeye hazır) yanıt başlıklarının listesiyle döner
    • headers_sent - Başlıklar gönderilmiş mi, gönderilmişse nerede gönderilmiş diye bakar
    • header_register_callback - Bir başlık işlevi çağırır
    • header_remove - Evvelce tanımlanmış başlıkları siler
    • hebrev - Mantıksal İbranice metni görsel metne dönüştürür
    • hebrevc - Mantıksal İbranice metni satırsonlarıyla birlikte görsel metne dönüştürür
    • hex2bin - Onaltılık bir dizgeyi ikil dizgeye dönüştürür
    • hexdec - Hexadecimal to decimal
    • highlight_file - Bir dosyadaki sözdizimini vurgular
    • highlight_string - Bir dizgedeki söz dizimini vurgular
    • hrtime - Yüksek çözünürlüklü sistem zamanını döndürür
    • HRTime\PerformanceCounter::getFrequency - Timer frequency in ticks per second
    • HRTime\PerformanceCounter::getTicks - Current ticks from the system
    • HRTime\PerformanceCounter::getTicksSince - Ticks elapsed since the given value
    • HRTime\StopWatch::getElapsedTicks - Get elapsed ticks for all intervals
    • HRTime\StopWatch::getElapsedTime - Get elapsed time for all intervals
    • HRTime\StopWatch::getLastElapsedTicks - Get elapsed ticks for the last interval
    • HRTime\StopWatch::getLastElapsedTime - Get elapsed time for the last interval
    • HRTime\StopWatch::isRunning - Whether the measurement is running
    • HRTime\StopWatch::start - Start time measurement
    • HRTime\StopWatch::stop - Stop time measurement
    • htmlentities - Dönüştürülebilecek tüm karakterleri HTML öğeleri haline getirir
    • htmlspecialchars - Özel karakterleri HTML öğeleri haline getirir
    • htmlspecialchars_decode - Özel HTML öğelerini gerisin geriye karakterlere dönüştürür
    • html_entity_decode - HTML öğelerini karşılığı olan karakterlere dönüştürür
    • http:// - HTTP'lere erişim
    • HTTP bağlamı seçenekleri - HTTP bağlamı seçeneklerinin listesi
    • http_build_query - URL kodlamalı sorgu dizgesi üretir
    • http_response_code - HTTP yanıt kodunu tanımlar veya siler
    • hypot - Calculate the length of the hypotenuse of a right-angle triangle
  • i
    • ibase_add_user - Add a user to a security database
    • ibase_affected_rows - Return the number of rows that were affected by the previous query
    • ibase_backup - Initiates a backup task in the service manager and returns immediately
    • ibase_blob_add - Add data into a newly created blob
    • ibase_blob_cancel - Cancel creating blob
    • ibase_blob_close - Close blob
    • ibase_blob_create - Create a new blob for adding data
    • ibase_blob_echo - Output blob contents to browser
    • ibase_blob_get - Get len bytes data from open blob
    • ibase_blob_import - Create blob, copy file in it, and close it
    • ibase_blob_info - Return blob length and other useful info
    • ibase_blob_open - Open blob for retrieving data parts
    • ibase_close - Close a connection to an InterBase database
    • ibase_commit - Commit a transaction
    • ibase_commit_ret - Commit a transaction without closing it
    • ibase_connect - Open a connection to a database
    • ibase_db_info - Request statistics about a database
    • ibase_delete_user - Delete a user from a security database
    • ibase_drop_db - Drops a database
    • ibase_errcode - Return an error code
    • ibase_errmsg - Return error messages
    • ibase_execute - Execute a previously prepared query
    • ibase_fetch_assoc - Fetch a result row from a query as an associative array
    • ibase_fetch_object - Get an object from a InterBase database
    • ibase_fetch_row - Fetch a row from an InterBase database
    • ibase_field_info - Get information about a field
    • ibase_free_event_handler - Cancels a registered event handler
    • ibase_free_query - Free memory allocated by a prepared query
    • ibase_free_result - Free a result set
    • ibase_gen_id - Increments the named generator and returns its new value
    • ibase_maintain_db - Execute a maintenance command on the database server
    • ibase_modify_user - Modify a user to a security database
    • ibase_name_result - Assigns a name to a result set
    • ibase_num_fields - Get the number of fields in a result set
    • ibase_num_params - Return the number of parameters in a prepared query
    • ibase_param_info - Return information about a parameter in a prepared query
    • ibase_pconnect - Open a persistent connection to an InterBase database
    • ibase_prepare - Prepare a query for later binding of parameter placeholders and execution
    • ibase_query - Execute a query on an InterBase database
    • ibase_restore - Initiates a restore task in the service manager and returns immediately
    • ibase_rollback - Roll back a transaction
    • ibase_rollback_ret - Roll back a transaction without closing it
    • ibase_server_info - Request information about a database server
    • ibase_service_attach - Connect to the service manager
    • ibase_service_detach - Disconnect from the service manager
    • ibase_set_event_handler - Register a callback function to be called when events are posted
    • ibase_trans - Begin a transaction
    • ibase_wait_event - Wait for an event to be posted by the database
    • iconv - Dizgenin karakter kodlamasını dönüştürür
    • iconv_get_encoding - iconv eklentisinin dahili yapılandırma değişkenlerini döndürür
    • iconv_mime_decode - Bir MIME başlık alanının kodunu çözer
    • iconv_mime_decode_headers - Bir defada birden fazla MIME başlık alanını çözümler
    • iconv_mime_encode - Bir MIME başlık alanını tertipler
    • iconv_set_encoding - Karakter kodlaması dönüşümü için geçerli karakter kümesini tanımlar
    • iconv_strlen - Dizgenin karakter sayısı ile döner
    • iconv_strpos - Samanlıktaki ilk iğneyi bulur
    • iconv_strrpos - Samanlıktakı son iğneyi bulur
    • iconv_substr - Bir dizgenin bir alt dizgesini döndürür
    • idate - Yerel zaman/tarih kısmını tamsayı olarak biçimlendirir
    • idn_to_ascii - Alan adını IDNA ASCII biçimine dönüştürür
    • idn_to_utf8 - Alan adı kodlamasını IDNA ASCII'den UTF-8'e dönüştürür
    • igbinary_serialize - Generates a compact, storable binary representation of a value
    • igbinary_unserialize - Creates a PHP value from a stored representation from igbinary_serialize
    • ignore_user_abort - Bir istemci bağlantıyı terkettiğinde betiğin sonlandırılıp sonlandırılmayacağını belirler
    • image2wbmp - Görüntüyü tarayıcıya veya dosyaya yazar.
    • imageaffine - İsteğe bağlı bir kırpma alanı kullanarak, belirtilen görüntüye ilgin dönüşümü uygulayıp sonucu döndürür
    • imageaffinematrixconcat - İki ilgin dönüşüm matrisini birleştirir
    • imageaffinematrixget - İlgin dönüşüm matrisini döndürür
    • imagealphablending - Bir görüntü için harmanlama kipini etkinleştirir
    • imageantialias - Kenar yumuşatma işlevlerini uygulatır
    • imagearc - Bir yay çizer
    • imageavif - Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagebmp - BMP görüntüyü tarayıcıya veya dosyaya çıktılar
    • imagechar - Yatay olarak bir karakter çizer
    • imagecharup - Düşey olarak bir karakter çizer
    • imagecolorallocate - Bir görüntü için bir renk ayırır
    • imagecolorallocatealpha - Bir görüntü için alfa kanallı bir renk ayırır
    • imagecolorat - Bir pikselin renk indisini döndürür
    • imagecolorclosest - Belirtilen rengin en yakın benzerinin indisini döndürür
    • imagecolorclosestalpha - Alfası ile birlikte belirtilen rengin en yakın benzerinin renk indisini verir
    • imagecolorclosesthwb - En yakın renk sıcaklığına, beyaz ve siyahlığa sahip renk indisini verir
    • imagecolordeallocate - Bir rengi tanımsız yapar
    • imagecolorexact - Belirtilen rengin indisini döndürür
    • imagecolorexactalpha - Alfası ile birlikte belirtilen rengin indisini verir
    • imagecolormatch - Bir görüntünün paletli sürümünün renklerini gerçek renkli sürümünün renkleriyle aynı yapar
    • imagecolorresolve - Belirtilen rengin veya en yakın benzerinin indisini döndürür
    • imagecolorresolvealpha - Alfası ile birlikte belirtilen rengin veya en yakın benzerinin renk indisini verir
    • imagecolorset - Bir palet indisi için renk tanımlar
    • imagecolorsforindex - Bir renk indisinin renk bilgisini döndürür
    • imagecolorstotal - Bir görüntü paletindeki renk sayısını döndürür
    • imagecolortransparent - Bir rengi şeffaflaştırır
    • imageconvolution - Bir konum ve katsayı ile 3x3'lük bir evrişim matrisini uygular
    • imagecopy - Bir resim parçasını kopyalar
    • imagecopymerge - Bir görüntüyü kopyalar ve karıştırır
    • imagecopymergegray - Bir görüntüyü kopyalar ve gri tonlama ile karıştırır
    • imagecopyresampled - Görüntünün bir parçasını örnekleyerek kopyalar ve boyutlandırır
    • imagecopyresized - Görüntünün bir parçasını kopyalar ve boyutlandırır
    • imagecreate - Yeni bir paletli görüntü oluşturur
    • imagecreatefromavif - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefrombmp - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromgd - Bir GD dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgd2 - Bir GD2 dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgd2part - Bir GD2 parça dosyasından veya URL'sinden yeni bir görüntü oluşturur
    • imagecreatefromgif - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromjpeg - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefrompng - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromstring - Belirtilen dizgeden yeni bir görüntü oluşturur
    • imagecreatefromtga - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromwbmp - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromwebp - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromxbm - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatefromxpm - Bir dosya veya URL'den yeni bir görüntü oluşturur.
    • imagecreatetruecolor - Yeni bir gerçek renkli görüntü oluşturur
    • imagecrop - Görüntüyü belirtilen dikdörtgen ile kırpar
    • imagecropauto - Mevcut kiplerden birini kullanarak görüntüyü otomatik olarak kırpar
    • imagedashedline - Kesikli çizgi çizer
    • imagedestroy - Bir görüntüyü bellekten siler
    • imageellipse - Bir elips çizer
    • imagefill - Görüntüyü boyar
    • imagefilledarc - Bir yay çizer ve içini doldurur
    • imagefilledellipse - İçi dolu bir elips çizer
    • imagefilledpolygon - İçi dolu bir çokgen çizer
    • imagefilledrectangle - İçi dolu bir dikdörtgen çizer
    • imagefilltoborder - Belli bir bölgeyi belli bir renge boyar
    • imagefilter - Bir görüntüye bir süzgeç uygular
    • imageflip - Belirtilen kipi kullanarak görüntüyü ters çevirir
    • imagefontheight - Yazı tipi piksel yüksekliğini döndürür
    • imagefontwidth - Yazı tipi piksel genişliğini döndürür
    • imageftbbox - Bir FreeType2 yazı tipi ile yazılacak bir metnin çerçevesini hesaplar
    • imagefttext - Bir metni bir görüntüye bir FreeType 2 yazı tipini kullanarak yazar
    • imagegammacorrect - Bir GD görüntüye gamma düzeltmesi uygular
    • imagegd - Tarayıcıya veya bir dosyaya bir GD görüntü çıktılar
    • imagegd2 - Tarayıcıya veya bir dosyaya bir GD2 görüntü çıktılar
    • imagegetclip - Kırpma dikdörtgenini döndürür
    • imagegetinterpolation - Ara değerleme yöntemini döndürür
    • imagegif - Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagegrabscreen - Ekran görüntüsünü yakalar
    • imagegrabwindow - Bir pencereyi yakalar
    • imageinterlace - Geçişimliliği açıp kapar
    • imageistruecolor - Bir görüntünün gerçek renkli olup olmadığını bulur
    • imagejpeg - Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagelayereffect - Katmanlama etkisini kullanmak için alfa harmanlama seçeneğini ayarlar
    • imageline - Bir çizgi çizer
    • imageloadfont - Yeni bir bit eşlemli yazı tipi yükler
    • imageopenpolygon - Açık çokgen çizer
    • imagepalettecopy - Paleti bir görüntüden diğerine kopyalar
    • imagepalettetotruecolor - Palet tabanlı bir görüntüyü gerçek renge dönüştürür
    • imagepng - Tarayıcıya veya bir dosyaya bir PNG görüntü çıktılar
    • imagepolygon - Çokgen çizer
    • imagerectangle - Bir dikdörtgen çizer
    • imageresolution - Görüntünün çözünürlüğünü tanımlar veya döndürür
    • imagerotate - Bir görüntüyü belirtilen açıya göre döndürür
    • imagesavealpha - Görüntüleri kaydederken alfa kanalı bilgisinin saklanıp saklanmayacağını belirtir
    • imagescale - Görüntüyü belirtilen genişlik ve yüksekliği kullanarak oranlar
    • imagesetbrush - Çizgi çizmek için fırça görüntüsü oluşturur
    • imagesetclip - Kırpma dikdörtgenini tanımlar
    • imagesetinterpolation - Ara değerleme yöntemini tanımlar
    • imagesetpixel - Bir pikselin rengini değiştirir
    • imagesetstyle - Çizgi tarzını ayarlar
    • imagesetthickness - Çizgi kalınlığını ayarlar
    • imagesettile - Görüntüyü doldurmak için döşemeyi etkin kılar
    • imagestring - Bir dizgeyi yatay olarak yazar
    • imagestringup - Bir dizgeyi 90 derece döndürülmüş olarak yazar
    • imagesx - Görüntünün genişliğini döndürür
    • imagesy - Görüntünün yüksekliğini döndürür
    • imagetruecolortopalette - Gerçek renkli görüntüyü paletli görüntüye dönüştürür
    • imagettfbbox - TrueType yazıtipi kullanılan bir metnin çerçevesini döndürür
    • imagettftext - Metni görüntüye TrueType yazı tipi ile yazar
    • imagetypes - Kurulu PHP'nin desteklediği görüntü türlerini döndürür
    • imagewbmp - Görüntüyü tarayıcıya veya dosyaya yazar.
    • imagewebp - WebP görüntüyü tarayıcıya veya dosyaya çıktılar
    • imagexbm - Bir XBM görüntüyü tarayıcıya veya dosyaya çıktılar
    • image_type_to_extension - Resim türü ile ilgili dosya uzantısını döndürür
    • image_type_to_mime_type - getimagesize, exif_read_data, exif_thumbnail, exif_imagetype ile döndürülen resim türü ile ilgili MIME türünü döndürür
    • Imagick::adaptiveBlurImage - Görüntüyü uyarlamalı olarak bulanıklaştırır
    • Imagick::adaptiveResizeImage - Nirengi noktasına göre uyarlamalı olarak görüntüyü boyutlandırır
    • Imagick::adaptiveSharpenImage - Uyarlamalı olarak görüntüyü keskinleştirir
    • Imagick::adaptiveThresholdImage - Bir yoğunluk aralığına göre her piksel için bir eşik seçer
    • Imagick::addImage - Imagick görüntü listesine yeni bir görüntü ekler
    • Imagick::addNoiseImage - Görüntüye rasgele gürültü ekler
    • Imagick::affineTransformImage - Görüntüyü dönüştürür
    • Imagick::animateImages - Bir görüntüyü veya görüntüleri canlandırır
    • Imagick::annotateImage - Görüntüye bir metin çizer
    • Imagick::appendImages - Bir görüntü kümesini ekler
    • Imagick::autoLevelImage - Adjusts the levels of a particular image channel
    • Imagick::averageImages - Bir görüntü kümesinin ortalamasını alır
    • Imagick::blackThresholdImage - Eşiğin altında kalan tüm renkleri siyaha çevirir
    • Imagick::blueShiftImage - Mutes the colors of the image
    • Imagick::blurImage - Görüntüye bir bulanıklık süzgeci ekler
    • Imagick::borderImage - Görüntüye bir çerçeve çizer
    • Imagick::brightnessContrastImage - Change the brightness and/or contrast of an image
    • Imagick::charcoalImage - Kara kalem çizimi taklit eder
    • Imagick::chopImage - Bir görüntünün bir bölgesini silerek kırpar
    • Imagick::clampImage - Restricts the color range from 0 to the quantum depth.
    • Imagick::clear - Imagick nesnesi ile ilgili tüm özkaynakları temizler
    • Imagick::clipImage - 8BIM profilindeki ilk yol boyunca görüntüyü kırpar
    • Imagick::clipImagePath - Clips along the named paths from the 8BIM profile, if present
    • Imagick::clipPathImage - 8BIM profili boyunca isimli yolları kırpar
    • Imagick::clone - Imagick nesnesinin tam bir kopyasını yapar
    • Imagick::clutImage - Görüntünün renklerini değiştirir
    • Imagick::coalesceImages - Bir görüntü kümesini tek bir görüntü olarak birleştirir
    • Imagick::colorFloodfillImage - Hedefle eşleşen her pikselin rengini değiştirir
    • Imagick::colorizeImage - Görüntünün her pikseline dolgu rengini karıştırır
    • Imagick::colorMatrixImage - Apply color transformation to an image
    • Imagick::combineImages - Bir veya daha fazla görüntüyü tek bir resim halinde birleştirir
    • Imagick::commentImage - Görüntüye bir açıklama ekler
    • Imagick::compareImageChannels - Bir veya daha fazla görüntünün farkını döndürür
    • Imagick::compareImageLayers - Görüntü katmanlarını karşılaştırıp en iyilenmiş görüntüyü döndürür
    • Imagick::compareImages - Görüntüyü yeniden oluşturulan görüntü ile karşılaştırır
    • Imagick::compositeImage - Bir görüntüyü diğeriyle birleştirir
    • Imagick::contrastImage - Görüntünün zıtlığını değiştirir
    • Imagick::contrastStretchImage - Renkli bir görüntünün zıtlığını ayarlar
    • Imagick::convolveImage - Görüntüye bir evrişim çekirdeği uygular
    • Imagick::count - Get the number of images
    • Imagick::cropImage - Görüntünün bir bölgesini çıkarır
    • Imagick::cropThumbnailImage - Görüntünün kırpık bir örneğini oluşturur
    • Imagick::current - Geçerli Imagick nesnesini döndürür
    • Imagick::cycleColormapImage - Bir görüntünün renk eşleminin bir kısmını değiştirir
    • Imagick::decipherImage - Şifreli bir görüntünün şifresini çözer
    • Imagick::deconstructImages - Görüntüler arasındaki farklı piksellerin kapladığı en büyük alanı döndürür
    • Imagick::deleteImageArtifact - Delete image artifact
    • Imagick::deleteImageProperty - Deletes an image property
    • Imagick::deskewImage - Removes skew from the image
    • Imagick::despeckleImage - Görüntünün benekli görünümünü düzeltir
    • Imagick::destroy - Imagick nesnesini siler
    • Imagick::displayImage - Bir görüntüyü gösterir
    • Imagick::displayImages - Bir görüntü dizisini gösterir
    • Imagick::distortImage - Çeşitli yöntemlerle görüntüyü bozunuma uğratır
    • Imagick::drawImage - Belirtilen ImagickDraw nesnesini görüntüye uygular
    • Imagick::edgeImage - Görüntünün kenarlarını yuvarlatır
    • Imagick::embossImage - Üç boyutluluk etkisi vermek için görüntüyü gri tonlamaya dönüştürür
    • Imagick::encipherImage - Bir görüntüyü şifreler
    • Imagick::enhanceImage - Görüntü kalitesini arttırır
    • Imagick::equalizeImage - Görüntünün renk dağılımını dengeler
    • Imagick::evaluateImage - Görüntüye bir ifade uygular
    • Imagick::exportImagePixels - Exports raw image pixels
    • Imagick::extentImage - Görüntü boyutlarını belirler
    • Imagick::filter - Applies a custom convolution kernel to the image
    • Imagick::flattenImages - Bir görüntü dizisini tek bir görüntü halinde üstüste bindirir
    • Imagick::flipImage - Görüntünün düşeydeki yansımasını oluşturur
    • Imagick::floodFillPaintImage - Hedefle eşleşen piksellerin renklerini değiştirir
    • Imagick::flopImage - Görüntünün yataydaki yansımasını oluşturur
    • Imagick::forwardFourierTransformImage - Implements the discrete Fourier transform (DFT)
    • Imagick::frameImage - Üç boyutluluğu taklit ederek bir çerçeve ekler
    • Imagick::functionImage - Applies a function on the image
    • Imagick::fxImage - Bir ifadeyi görüntüdeki her piksele uygular
    • Imagick::gammaImage - Görüntünün gammasını düzeltir
    • Imagick::gaussianBlurImage - Görüntüyü bulanıklaştırır
    • Imagick::getColorspace - Gets the colorspace
    • Imagick::getCompression - Nesnenin sıkıştırma türünü döndürür
    • Imagick::getCompressionQuality - Nesnenin sıkıştırma seviyesini döndürür
    • Imagick::getCopyright - ImageMagick telif hakkı bilgisini döndürür
    • Imagick::getFilename - Görüntü dizisi ile ilişkili dosya ismini döndürür
    • Imagick::getFont - Yazıtipini döndürür
    • Imagick::getFormat - Imagick nesnesinin biçemini döndürür
    • Imagick::getGravity - Gets the gravity
    • Imagick::getHomeURL - ImageMagick sitesinin adresini döndürür
    • Imagick::getImage - Yeni bir Imagick nesnesi döndürür
    • Imagick::getImageAlphaChannel - Checks if the image has an alpha channel
    • Imagick::getImageArtifact - Get image artifact
    • Imagick::getImageAttribute - Returns a named attribute
    • Imagick::getImageBackgroundColor - Resmin artalan rengini döndürür
    • Imagick::getImageBlob - Görüntü dizisini ikil dizge olarak döndürür
    • Imagick::getImageBluePrimary - Görüntünün renk bileşenlerinden birincil mavi noktayı döndürür
    • Imagick::getImageBorderColor - Görüntünün çerçeve rengini döndürür
    • Imagick::getImageChannelDepth - Belirtilen kanalın derinliğini döndürür
    • Imagick::getImageChannelDistortion - Görüntünün kanallarını yeniden oluşturulan görüntüyle karşılaştırır
    • Imagick::getImageChannelDistortions - Gets channel distortions
    • Imagick::getImageChannelExtrema - Belirtilen kanalların uç değerlerini döndürür
    • Imagick::getImageChannelKurtosis - The getImageChannelKurtosis purpose
    • Imagick::getImageChannelMean - Kanal ortalama ve standart sapmasını döndürür
    • Imagick::getImageChannelRange - Gets channel range
    • Imagick::getImageChannelStatistics - Görüntüdeki her kanalın istatistiklerini döndürür
    • Imagick::getImageClipMask - Resim kırpma maskesini döndürür
    • Imagick::getImageColormapColor - Renk eşlemi indisi belirtilen rengi döndürür
    • Imagick::getImageColors - Görüntüdeki eşsiz renklerin sayısını döndürür
    • Imagick::getImageColorspace - Resmin renk uzayını döndürür
    • Imagick::getImageCompose - Görüntü ile ilgili birleştirme işlecini döndürür
    • Imagick::getImageCompression - Görüntünün sıkıştırma türünü döndürür
    • Imagick::getImageCompressionQuality - Görüntünün sıkıştırma seviyesini döndürür
    • Imagick::getImageDelay - Görüntü gecikmesini döndürür
    • Imagick::getImageDepth - Görüntü derinliğini döndürür
    • Imagick::getImageDispose - Görüntünün elden çıkarma yöntemini döndürür
    • Imagick::getImageDistortion - Görüntüyü yeniden oluşturulmuş bir görüntü ile karşılaştırır
    • Imagick::getImageExtrema - Görüntü ile ilgili uç değerleri döndürür
    • Imagick::getImageFilename - Bir görüntü dizisindeki belli bir görüntünün dosya ismini döndürür
    • Imagick::getImageFormat - Bir görüntü dizisindeki belli bir görüntünün biçemini döndürür
    • Imagick::getImageGamma - Görüntünün gammasını döndürür
    • Imagick::getImageGeometry - Görüntünün genişliğini ve yüksekliğini bir ilişkisel dizi olarak döndürür
    • Imagick::getImageGravity - Gets the image gravity
    • Imagick::getImageGreenPrimary - Görüntünün renk bileşenlerinden birincil yeşil noktayı döndürür
    • Imagick::getImageHeight - Görüntünün yüksekliğini döndürür
    • Imagick::getImageHistogram - Görüntünün renk dağılımını döndürür
    • Imagick::getImageIndex - Geçerli etkin görüntünün indisini döndürür
    • Imagick::getImageInterlaceScheme - Görüntünün geçişim şemasını döndürür
    • Imagick::getImageInterpolateMethod - Aradeğerleme yöntemini döndürür
    • Imagick::getImageIterations - Görüntü yineleme sayısını döndürür
    • Imagick::getImageLength - Görüntü uzunluğunu döndürür
    • Imagick::getImageMatte - Görüntünün bir matlık kanalı varsa true döndürür
    • Imagick::getImageMatteColor - Görüntünün matlık rengini döndürür
    • Imagick::getImageMimeType - Returns the image mime-type
    • Imagick::getImageOrientation - Görüntü baskı yönünü döndürür
    • Imagick::getImagePage - Sayfa geometrisini döndürür
    • Imagick::getImagePixelColor - Belirtilen pikselin rengini döndürür
    • Imagick::getImageProfile - İsimli görüntü profilini döndürür
    • Imagick::getImageProfiles - Görüntü profillerini döndürür
    • Imagick::getImageProperties - Görüntü özelliklerini döndürür
    • Imagick::getImageProperty - İsimli görüntü özelliğini döndürür
    • Imagick::getImageRedPrimary - Görüntünün renk bileşenlerinden birincil kırmızı noktasını döndürür
    • Imagick::getImageRegion - Görüntünün bir bölgesini çıkarır
    • Imagick::getImageRenderingIntent - Görüntüye komutların uygulanış tarzını döndürür
    • Imagick::getImageResolution - Görüntünün X ve Y çözünürlüklerini döndürür
    • Imagick::getImagesBlob - Tüm görüntü dizilerini bir ikil dizge olarak döndürür
    • Imagick::getImageScene - Görüntünün artalan dekorunu döndürür
    • Imagick::getImageSignature - Görüntünün SHA-256 aşını üretir
    • Imagick::getImageSize - Görüntü uzunluğunu bayt cinsinden döndürür
    • Imagick::getImageTicksPerSecond - Görüntünün saniyedeki tik sayısını döndürür
    • Imagick::getImageTotalInkDensity - Görüntünün belli bir renginin toplam yoğunluğunu döndürür
    • Imagick::getImageType - Olası görüntü türünü döndürür
    • Imagick::getImageUnits - Görüntü çözünürlük birimlerini döndürür
    • Imagick::getImageVirtualPixelMethod - Sanal piksel yöntemini döndürür
    • Imagick::getImageWhitePoint - Görüntünün renk bileşenlerinden beyaz noktayı döndürür
    • Imagick::getImageWidth - Görüntü genişliğini döndürür
    • Imagick::getInterlaceScheme - Nesne geçişim şemasını döndürür
    • Imagick::getIteratorIndex - Geçerli etkin görüntünün indisini döndürür
    • Imagick::getNumberImages - Nesnedeki görüntü sayısını döndürür
    • Imagick::getOption - Belirtilen anahtarla ilgili değeri döndürür
    • Imagick::getPackageName - ImageMagick paket ismini döndürür
    • Imagick::getPage - Sayfa geometrisini döndürür
    • Imagick::getPixelIterator - Bir MagickPixelIterator nesnesi döndürür
    • Imagick::getPixelRegionIterator - Bir görüntü bölümü için bir ImagickPixelIterator nesnesi döndürür
    • Imagick::getPointSize - Punto değerini döndürür
    • Imagick::getQuantum - Returns the ImageMagick quantum range
    • Imagick::getQuantumDepth - Parçacık derinliğini döndürür
    • Imagick::getQuantumRange - Imagick parçacık aralığını döndürür
    • Imagick::getRegistry - Get a StringRegistry entry
    • Imagick::getReleaseDate - ImageMagick dağıtım tarihini döndürür
    • Imagick::getResource - Belirtilen özkaynağın bellek kullanımını döndürür
    • Imagick::getResourceLimit - Belirtilen özkaynağın bellek kullanım sınırını döndürür
    • Imagick::getSamplingFactors - Yatay ve düşey örnekleme katsayısını döndürür
    • Imagick::getSize - Imagick nesnesi ile ilgili boyutları döndürür
    • Imagick::getSizeOffset - Boyut başlangıç noktasını döndürür
    • Imagick::getVersion - ImageMagick API sürümünü döndürür
    • Imagick::haldClutImage - Replaces colors in the image
    • Imagick::hasNextImage - Görüntünün sonrasında bir görüntü daha var mı diye bakar
    • Imagick::hasPreviousImage - Görüntünün öncesinde bir görüntü daha var mı diye bakar
    • Imagick::identifyFormat - Formats a string with image details
    • Imagick::identifyImage - Görüntünün özniteliklerini döndürerek görüntüyü tanımlar
    • Imagick::implodeImage - Görüntüyü kopyalamak suretiyle yeni bir görüntü oluşturur
    • Imagick::importImagePixels - Imports image pixels
    • Imagick::inverseFourierTransformImage - Implements the inverse discrete Fourier transform (DFT)
    • Imagick::labelImage - Görüntüye bir yafta ekler
    • Imagick::levelImage - Bir görüntünün seviyelerini ayarlar
    • Imagick::linearStretchImage - Görüntünün koyuluğunu doygunluk ile abartır
    • Imagick::liquidRescaleImage - Bir görüntüyü veya görüntüleri canlandırır
    • Imagick::listRegistry - List all the registry settings
    • Imagick::magnifyImage - En boy oranını koruyarak görüntüyü iki katına büyütür
    • Imagick::mapImage - Görüntünün renklerini belirtilen görüntüdeki en yakın renklerle değiştirir
    • Imagick::matteFloodfillImage - Bir rengin şeffaflık değerini değiştirir
    • Imagick::medianFilterImage - Görüntüye bir sayısal süzgeç uygular
    • Imagick::mergeImageLayers - Görüntü katmanlarını katıştırır
    • Imagick::minifyImage - En boy oranını koruyarak görüntüyü yarı boyutuna indirir
    • Imagick::modulateImage - Görüntünün parlaklık, doygunluk ve renk sıcaklığını denetler
    • Imagick::montageImage - Birleşik bir görüntü oluşturur
    • Imagick::morphImages - Bir görüntü dizisini başkalaşıma uğratır
    • Imagick::morphology - Applies a user supplied kernel to the image according to the given morphology method.
    • Imagick::mosaicImages - Görüntülerden bir mozaik oluşturur
    • Imagick::motionBlurImage - Hareket bulanıklığını taklit eder
    • Imagick::negateImage - Görüntünün renklerini negatiflerine dönüştürür
    • Imagick::newImage - Yeni bir görüntü oluşturur
    • Imagick::newPseudoImage - Yeni bir görüntü oluşturur
    • Imagick::nextImage - Bir sonraki görüntüye gider
    • Imagick::normalizeImage - Renkli bir görüntünün zıtlığını arttırır
    • Imagick::oilPaintImage - Yağlı boya resmi taklit eder
    • Imagick::opaquePaintImage - Hedef ile eşleşen piksellerin rengini değiştirir
    • Imagick::optimizeImageLayers - En iyilemek amacıyla görüntülerin tekrarlanan bölümlerini siler
    • Imagick::orderedPosterizeImage - Görüntüye kurallı titreklik uygular
    • Imagick::paintFloodfillImage - Belirtilen renkle eşleşen piksellerin rengini değiştirir
    • Imagick::paintOpaqueImage - Bir rengi bir başka renkle değiştirir
    • Imagick::paintTransparentImage - Görüntüdeki belli bir rengi dolgu rengiyle değiştirir
    • Imagick::pingImage - Temel görüntü özniteliklerini bir dosyadan okur
    • Imagick::pingImageBlob - Temel görüntü özniteliklerini bir dizgeden okur
    • Imagick::pingImageFile - Temel görüntü özniteliklerini bir akımdan okur
    • Imagick::polaroidImage - Polaroid resmi taklit eder
    • Imagick::posterizeImage - Görüntüdeki renkleri belli bir sayıya düşürür
    • Imagick::previewImages - Görüntü üzerinde yapılacak bir işlem için en uygun bağımsız değişkenin tespitini hızlandırır
    • Imagick::previousImage - Bir önceki görüntüye gider
    • Imagick::profileImage - Bir görüntüye profil ekler veya çıkarır
    • Imagick::quantizeImage - Belli bir görüntü içindeki renk miktarını bulur
    • Imagick::quantizeImages - Bir görüntü kümesi içindeki renk miktarını bulur
    • Imagick::queryFontMetrics - Yazı tipinin özelliklerini içeren bir dizi döndürür
    • Imagick::queryFonts - Yapılandırımış yazı tiplerini döndürür
    • Imagick::queryFormats - Imagick tarafından desteklenen biçemleri döndürür
    • Imagick::radialBlurImage - Görüntüye dairesel bulanıklık uygular
    • Imagick::raiseImage - 3 boyutlu düğme benzeri bir etki oluşturur
    • Imagick::randomThresholdImage - Yüksek zıtlığa sahip iki renkli görüntü oluşturur
    • Imagick::readImage - Görüntüyü dosyadar okur
    • Imagick::readImageBlob - Görüntüyü ikil bir dizgeden okur
    • Imagick::readImageFile - Görüntüyü akımdan okur
    • Imagick::readimages - Reads image from an array of filenames
    • Imagick::recolorImage - Görüntüyü yeniden renklendirir
    • Imagick::reduceNoiseImage - Görüntünün dış hatlarını yumuşatır
    • Imagick::remapImage - Remaps image colors
    • Imagick::removeImage - Görüntü kümesinden görüntü siler
    • Imagick::removeImageProfile - İsimli görüntü profilini silip döndürür
    • Imagick::render - Evvelce verilmiş tüm çizim komutlarını uygular
    • Imagick::resampleImage - Belirtilen çözünürlüğe göre görüntüyü yeniden örnekler
    • Imagick::resetImagePage - Görüntü sayfasını sıfırlar
    • Imagick::resizeImage - Görüntüyü boyutlandırır
    • Imagick::rollImage - Görüntünün başlangıç noktasını tanımlar
    • Imagick::rotateImage - Görüntüyü döndürür
    • Imagick::rotationalBlurImage - Rotational blurs an image
    • Imagick::roundCorners - Görüntünün köşelerini yuvarlatır
    • Imagick::sampleImage - Görüntüyü piksel örneklemeyle oranlar
    • Imagick::scaleImage - Görüntünün enboy oranını ayarlar
    • Imagick::segmentImage - Segments an image
    • Imagick::selectiveBlurImage - Selectively blur an image within a contrast threshold
    • Imagick::separateImageChannel - Görüntüden bir kanalı ayırır
    • Imagick::sepiaToneImage - Görüntüye kızıl kahverengi tonlama uygular
    • Imagick::setBackgroundColor - Nesnenin öntanımlı artalan rengini tanımlar
    • Imagick::setColorspace - Set colorspace
    • Imagick::setCompression - Nesnenin öntanımlı sıkıştırma türünü tanımlar
    • Imagick::setCompressionQuality - Nesnenin öntanımlı sıkıştırma seviyesini tanımlar
    • Imagick::setFilename - Görüntüye dosya ismi tanımlar
    • Imagick::setFirstIterator - Imagick yineleyiciyi ilk görüntüye konumlar
    • Imagick::setFont - Imagick nesnesinin yazı tipini tanımlar
    • Imagick::setFormat - Imagick nesnesinin biçemini tanımlar
    • Imagick::setGravity - Sets the gravity
    • Imagick::setImage - Nesnedeki görüntüyü değiştirir
    • Imagick::setImageAlphaChannel - Görüntünün şeffaflık kanalını tanımlar
    • Imagick::setImageArtifact - Set image artifact
    • Imagick::setImageAttribute - Sets an image attribute
    • Imagick::setImageBackgroundColor - Görüntünün artalan rengini tanımlar
    • Imagick::setImageBias - Görüntüyü evriştirmekte kullanılan yöntem için görüntü sapmasını tanımlar
    • Imagick::setImageBiasQuantum - Sets the image bias
    • Imagick::setImageBluePrimary - Görüntünün renk bileşenlerinden birincil mavi noktasını tanımlar
    • Imagick::setImageBorderColor - Görüntünün çerçeve rengini tanımlar
    • Imagick::setImageChannelDepth - Belli bir görüntü kanalının derinliğini tanımlar
    • Imagick::setImageClipMask - Görüntü kırpma maskesini tanımlar
    • Imagick::setImageColormapColor - Renk eşlemi indisi belirtilen rengi tanımlar
    • Imagick::setImageColorspace - Görüntünün renk uzayını tanımlar
    • Imagick::setImageCompose - Görüntü birleştirme işlecini tanımlar
    • Imagick::setImageCompression - Görüntü sıkıştırma seviyesini tanımlar
    • Imagick::setImageCompressionQuality - Görüntü sıkıştırma seviyesini belirler
    • Imagick::setImageDelay - Görüntü gecikmesini tanımlar
    • Imagick::setImageDepth - Görüntü derinliğini tanımlar
    • Imagick::setImageDispose - Görüntünün elden çıkarma yöntemini tanımlar
    • Imagick::setImageExtent - Görüntünün boyutlarını tanımlar
    • Imagick::setImageFilename - Belli bir görüntünün dosya ismini tanımlar
    • Imagick::setImageFormat - Belli bir görüntünün biçemini tanımlar
    • Imagick::setImageGamma - Görüntünün gammasını tanımlar
    • Imagick::setImageGravity - Sets the image gravity
    • Imagick::setImageGreenPrimary - Görüntünün renk bileşenlerinden birincil yeşil noktayı tanımlar
    • Imagick::setImageIndex - Yineleyici konumunu tanımlar
    • Imagick::setImageInterlaceScheme - Görüntü geçişim şemasını tanımlar
    • Imagick::setImageInterpolateMethod - Görüntünün aradeğer pikseli yöntemini tanımlar
    • Imagick::setImageIterations - Görüntü yineleme sayısını tanımlar
    • Imagick::setImageMatte - Görüntünün matlık kanalını ayarlar
    • Imagick::setImageMatteColor - Görüntünün şeffaf rengini tanımlar
    • Imagick::setImageOpacity - Görüntünün matlık seviyesini tanımlar
    • Imagick::setImageOrientation - Görüntünün baskı yönünü tanımlar
    • Imagick::setImagePage - Görüntünün sayfa geometrisini tanımlar
    • Imagick::setImageProfile - Imagick nesnesine isimli bir profil ekler
    • Imagick::setImageProperty - Bir görüntü özelliğini tanımlar
    • Imagick::setImageRedPrimary - Görüntünün renk bileşenlerinden birincil kırmızı noktayı tanımlar
    • Imagick::setImageRenderingIntent - Görüntüye komutların uygulanış tarzını belirler
    • Imagick::setImageResolution - Görüntünün çözünürlüğünü ayarlar
    • Imagick::setImageScene - Görüntünün dekorunu tanımlar
    • Imagick::setImageTicksPerSecond - Canlandırma hızını değiştirir
    • Imagick::setImageType - Görüntü türünü tanımlar
    • Imagick::setImageUnits - Görüntünün çözünürlük birimlerini tanımlar
    • Imagick::setImageVirtualPixelMethod - Görüntünün sanal piksel yöntemini tanımlar
    • Imagick::setImageWhitePoint - Renk berraklığının beyaz noktasını tanımlar
    • Imagick::setInterlaceScheme - Görüntü geçişim şemasını tanımlar
    • Imagick::setIteratorIndex - Yineleyici konumunu belirler
    • Imagick::setLastIterator - Son görüntüye bir Imagick yineleyicisi atar
    • Imagick::setOption - Bir seçenek tanımlar
    • Imagick::setPage - Imagick nesnesinin sayfa geometrisini tanımlar
    • Imagick::setPointSize - Yazı puntosunu belirler
    • Imagick::setProgressMonitor - Set a callback to be called during processing
    • Imagick::setRegistry - Sets the ImageMagick registry entry named key to value
    • Imagick::setResolution - Görüntü çözünürlüğünü tanımlar
    • Imagick::setResourceLimit - Belli bir özkaynağa sınır tanımlar
    • Imagick::setSamplingFactors - Görüntü örnekleme çarpanlarını ayarlar
    • Imagick::setSize - Imagick nesnesinin boyutlarını ayarlar
    • Imagick::setSizeOffset - Imagick nesnesinin başlangıcını ve boyutlarını ayarlar
    • Imagick::setType - Görüntünün tür özniteliğini tanımlar
    • Imagick::shadeImage - Üç boyutluluk etkisi oluşturur
    • Imagick::shadowImage - Görüntüde gölgeleri taklit eder
    • Imagick::sharpenImage - Görüntüyü netleştirir
    • Imagick::shaveImage - Görüntünün kenarındaki pikselleri rendeler
    • Imagick::shearImage - Bir paralalkenar oluşturur
    • Imagick::sigmoidalContrastImage - Bir resmin zıtlığını ayarlar
    • Imagick::sketchImage - Kara kalem çalışmasını taklit eder
    • Imagick::smushImages - Takes all images from the current image pointer to the end of the image list and smushs them
    • Imagick::solarizeImage - Görüntüye uzun pozlama etkisi uygular
    • Imagick::sparseColorImage - Interpolates colors
    • Imagick::spliceImage - Görüntüye düz bir renk ekler
    • Imagick::spreadImage - Bir kümedeki her pikseli rasgele gösterir
    • Imagick::statisticImage - Modifies image using a statistics function
    • Imagick::steganoImage - Görüntünün içine sayısal bir filigran gizler
    • Imagick::stereoImage - İki görüntüyü birleştirir
    • Imagick::stripImage - Görüntüden tüm profilleri ve açıklamaları ayıklar
    • Imagick::subImageMatch - Searches for a subimage in the current image and returns a similarity image
    • Imagick::swirlImage - Görüntünün merkezine yakın pikselleri girdap gibi döndürür
    • Imagick::textureImage - Doku görüntüsünü yatay ve düşeyde yineler
    • Imagick::thresholdImage - Bazı pikselleri belli bir eşiğe göre değiştir
    • Imagick::thumbnailImage - Görüntünün boyutlarını değiştirir
    • Imagick::tintImage - Görüntüdeki her piksele bir renk yöneyi uygular
    • Imagick::transformImage - Budama miktarını ve görüntü geometrisini ayarlamanın uygun yolu
    • Imagick::transformImageColorspace - Transforms an image to a new colorspace
    • Imagick::transparentPaintImage - Pikselleri şeffaflaştırır
    • Imagick::transposeImage - Görüntünün düşeydeki yansımasını oluşturur
    • Imagick::transverseImage - Görüntünün yataydaki yansımasını oluşturur
    • Imagick::trimImage - Görüntünün kenarlarını siler
    • Imagick::uniqueImageColors - Biri dışında tüm piksel renklerini iptal eder
    • Imagick::unsharpMaskImage - Görüntüyü netleştirir
    • Imagick::valid - Imagick nesnesinin geçerli olup olmadığını sınar
    • Imagick::vignetteImage - Görüntüye bir nakış süzgeci uygular
    • Imagick::waveImage - Görüntüye bir dalga süzgeci uygular
    • Imagick::whiteThresholdImage - Eşiğin üstündeki tüm piksellerin rengini beyaza zorlar
    • Imagick::writeImage - Görüntüyü belirtilen dosyaya yazar
    • Imagick::writeImageFile - Bir görüntüyü belirtilen dosya tanıtıcısına yazar
    • Imagick::writeImages - Bir görüntüyü veya görüntü kümesini dosyaya yazar
    • Imagick::writeImagesFile - Görüntü karelerini bir dosya tanıtıcısına yazar
    • Imagick::__construct - Imagick kurucusu
    • Imagick::__toString - Returns the image as a string
    • ImagickDraw::affine - Geçerli homojen koordinatlar matrisini ayarlar
    • ImagickDraw::annotation - Görüntünün üzerine bir metin çizer
    • ImagickDraw::arc - Bir yay çizer
    • ImagickDraw::bezier - Bir Bezier eğrisi çizer
    • ImagickDraw::circle - Bir daire çizer
    • ImagickDraw::clear - ImagickDraw nesnesini temizler
    • ImagickDraw::clone - Belirtilen ImagickDraw nesnesinin tam bir kopyasını yapar
    • ImagickDraw::color - Bir görüntüyü boyar
    • ImagickDraw::comment - Bir yöney çıktı akımına bir açıklama ekler
    • ImagickDraw::composite - Bir görüntüyü geçerli görüntüyle bileştirir
    • ImagickDraw::destroy - ImagickDraw yıkıcısı
    • ImagickDraw::ellipse - Görüntünün üzerine bir elips çizer
    • ImagickDraw::getClipPath - Geçerli yalıtım maskesi kimliğini döndürür
    • ImagickDraw::getClipRule - Yalıtım maskesi tarafından kullanılan çokgen dolgu kuralını döndürür
    • ImagickDraw::getClipUnits - Yalıtım maskesi birimlerinin yorumunu döndürür
    • ImagickDraw::getFillColor - Dolgu rengini döndürür
    • ImagickDraw::getFillOpacity - Çizimde kullanılan matlık değerini döndürür
    • ImagickDraw::getFillRule - Geçerli dolgu kuralını döndürür
    • ImagickDraw::getFont - Geçerli yazı tipini döndürür
    • ImagickDraw::getFontFamily - Yazı tipi ailesini döndürür
    • ImagickDraw::getFontSize - Yazı tipi yüksekliğini döndürür
    • ImagickDraw::getFontStretch - Gets the font stretch to use when annotating with text
    • ImagickDraw::getFontStyle - Yazı tipi tarzını döndürür
    • ImagickDraw::getFontWeight - Yazı tipi kalınlığını döndürür
    • ImagickDraw::getGravity - Metnin çekim yönünü döndürür
    • ImagickDraw::getStrokeAntialias - Nesne dış hatlarını çizmekte kullanılan vurgu yumuşatması ayarını döndürür
    • ImagickDraw::getStrokeColor - Nesne dış hatlarını çizmekte kullanılan vurgunun rengini döndürür
    • ImagickDraw::getStrokeDashArray - Kesikli çizgi örüntüsünü oluşturmakta kullanılan tireleri ve boşlukları içeren bir dizi döndürür
    • ImagickDraw::getStrokeDashOffset - Kesikli çizgi örüntüsünde tire başlangıcını döndürür
    • ImagickDraw::getStrokeLineCap - Kalın çizgilerdeki çizgi uçlarının şeklini döndürür
    • ImagickDraw::getStrokeLineJoin - Kalın çizgi ekleminin şeklini döndürür
    • ImagickDraw::getStrokeMiterLimit - Gönyenin kesildiği sınırı döndürür
    • ImagickDraw::getStrokeOpacity - Nesne dış hatlarını çizmekte kullanılan vurgunun matlığını döndürür
    • ImagickDraw::getStrokeWidth - Nesne dış hatlarını çizmekte kullanılan vurgu genişliğini döndürür
    • ImagickDraw::getTextAlignment - Metin hizalamasını döndürür
    • ImagickDraw::getTextAntialias - Geçerli metin yumuşatma ayarını döndürür
    • ImagickDraw::getTextDecoration - Metin süslemesi türünü döndürür
    • ImagickDraw::getTextEncoding - Metin çizerken kullanılan karakter kümesi ismini döndürür
    • ImagickDraw::getTextInterlineSpacing - Gets the text interword spacing
    • ImagickDraw::getTextInterwordSpacing - Gets the text interword spacing
    • ImagickDraw::getTextKerning - Gets the text kerning
    • ImagickDraw::getTextUnderColor - Metin artalanındaki rengi döndürür
    • ImagickDraw::getVectorGraphics - Yöney çizgesini içeren bir dizge döner
    • ImagickDraw::line - Bir çizgi çizer
    • ImagickDraw::matte - Görüntünün matlık kanalını boyar
    • ImagickDraw::pathClose - Geçerli hatta son elemanı ekler
    • ImagickDraw::pathCurveToAbsolute - Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierAbsolute - İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierRelative - İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute - İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToQuadraticBezierSmoothRelative - İkinci dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToRelative - Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToSmoothAbsolute - Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathCurveToSmoothRelative - Üçüncü dereceden bir Bezier eğrisi çizer
    • ImagickDraw::pathEllipticArcAbsolute - Eliptik bir yay çizer
    • ImagickDraw::pathEllipticArcRelative - Bir eliptik yay çizer
    • ImagickDraw::pathFinish - Geçerli hattı sonlandırır
    • ImagickDraw::pathLineToAbsolute - Bir hat elemanı çizer
    • ImagickDraw::pathLineToHorizontalAbsolute - Yatay bir hat elemanı çizer
    • ImagickDraw::pathLineToHorizontalRelative - Yatay bir hat elemanı çizer
    • ImagickDraw::pathLineToRelative - Bir hat elemanı çizer
    • ImagickDraw::pathLineToVerticalAbsolute - Düşey bir hat elemanı çizer
    • ImagickDraw::pathLineToVerticalRelative - Bir düşey hat elemanı çizer
    • ImagickDraw::pathMoveToAbsolute - Yeni bir hat elemanı başlatır
    • ImagickDraw::pathMoveToRelative - Yeni bir hat elemanı başlatır
    • ImagickDraw::pathStart - Bir hat çizim listesinin başlangıcını bildirir
    • ImagickDraw::point - Bir nokta çizer
    • ImagickDraw::polygon - Bir çokgen çizer
    • ImagickDraw::polyline - Bir çoklu çizgi çizer
    • ImagickDraw::pop - Yığıttaki geçerli ImagickDraw nesnesini silip sonraki nesneyi döndürür
    • ImagickDraw::popClipPath - Bir yalıtım maskesi tanımını sonlandırır
    • ImagickDraw::popDefs - Bir tanım listesini sonlandırır
    • ImagickDraw::popPattern - Bir örüntü tanımını sonlandırır
    • ImagickDraw::push - Geçerli ImagickDraw nesnesini kopyalar ve yığıta basar
    • ImagickDraw::pushClipPath - Bir yalıtım maskesi tanımı başlatır
    • ImagickDraw::pushDefs - Bundan sonra çağrılacak yöntemlerin ImagickDraw::popDefs yöntemi çağrılıncaya kadar isimli elemanları tanımlayacağını belirtir
    • ImagickDraw::pushPattern - Bundan sonra çağrılacak yöntemlerin ImagickDraw::popPattern yöntemi çağrılıncaya kadar bir isimli örüntüyü tanımlayacağını belirtir
    • ImagickDraw::rectangle - Bir dikdörtgen çizer
    • ImagickDraw::render - Evvelce verilmiş tüm çizim komutlarını resme uygular
    • ImagickDraw::resetVectorGraphics - Resets the vector graphics
    • ImagickDraw::rotate - Geçerli koordinat sistemini belirtilen açıda döndürür
    • ImagickDraw::roundRectangle - Köşeleri yuvarlatılmış bir dikdörtgen çizer
    • ImagickDraw::scale - Enboy oranını ayarlar
    • ImagickDraw::setClipPath - Bir isimli yalıtım maskesini resimle ilişkilendirir
    • ImagickDraw::setClipRule - Yalıtım maskesi tarafından kullanılacak çokgen dolgu kuralını belirler
    • ImagickDraw::setClipUnits - Yalıtım maskesi birimlerinin yorumunu belirler
    • ImagickDraw::setFillAlpha - Dolgu dokusu veya dolgu rengi için kullanılacak şeffaflığı belirler
    • ImagickDraw::setFillColor - Dolgulu nesnelerin çiziminde kullanılacak dolgu rengini belirler
    • ImagickDraw::setFillOpacity - Dolgu dokusu veya dolgu rengi için kullanılacak matlığı belirler
    • ImagickDraw::setFillPatternURL - Nesne dolgu örüntüsü için kullanılacak adresi belirler
    • ImagickDraw::setFillRule - Çokgen çizerken kullanılacak dolgu kuralını belirler
    • ImagickDraw::setFont - Metni çizerken kullanılacak yazı tipini tam belirtimiyle belirler
    • ImagickDraw::setFontFamily - Yazı tipi ailesini belirler
    • ImagickDraw::setFontSize - Yazı tipi yüksekliğini belirler
    • ImagickDraw::setFontStretch - Yazı tipinin karakter genişliğini belirler
    • ImagickDraw::setFontStyle - Yazı tipi tarzını belirler
    • ImagickDraw::setFontWeight - Yazı tipi kalınlığını belirler
    • ImagickDraw::setGravity - Metnin çekim yönünü belirler
    • ImagickDraw::setResolution - Sets the resolution
    • ImagickDraw::setStrokeAlpha - Vurgulu nesne dış hatlarının şeffaflığını tanımlar
    • ImagickDraw::setStrokeAntialias - Vurgulu dış hatlara kenar yumuşatma uygulanıp uygulanmayacağını denetler
    • ImagickDraw::setStrokeColor - Nesne dış hatlarını vurgulamakta kullanılacak rengi tanımlar
    • ImagickDraw::setStrokeDashArray - Kesikli çizgi örüntüsünde tireleri ve boşlukları belirler
    • ImagickDraw::setStrokeDashOffset - Kesikli çizgi örüntüsünde tire başlangıcını belirler
    • ImagickDraw::setStrokeLineCap - Kalın çizgilerde çizgi uçlarının şeklini belirler
    • ImagickDraw::setStrokeLineJoin - Kalın çizgi ekleminin şeklini belirler
    • ImagickDraw::setStrokeMiterLimit - Gönyenin kesildiği sınırı tanımlar
    • ImagickDraw::setStrokeOpacity - Vurgulanmış nesne dış hatlarının matlığını tanımlar
    • ImagickDraw::setStrokePatternURL - Nesne dış hatlarının çiziminde kullanılacak örüntüyü tanımlar
    • ImagickDraw::setStrokeWidth - Nesne dış hatlarının çiziminde kullanılacak çizgi genişliğini tanımlar
    • ImagickDraw::setTextAlignment - Metni hizalar
    • ImagickDraw::setTextAntialias - Metne kenar yumuşatma uygulanıp uygulanmayacağını denetler
    • ImagickDraw::setTextDecoration - Bir karakter süslemesi tanımlar
    • ImagickDraw::setTextEncoding - Metin karakter kümesini tanımlar
    • ImagickDraw::setTextInterlineSpacing - Sets the text interline spacing
    • ImagickDraw::setTextInterwordSpacing - Sets the text interword spacing
    • ImagickDraw::setTextKerning - Sets the text kerning
    • ImagickDraw::setTextUnderColor - Metin çerçevesinin artalan rengini tanımlar
    • ImagickDraw::setVectorGraphics - Yöney çizgesini tanımlar
    • ImagickDraw::setViewbox - Tuval boyutunu uçtan uca tanımlar
    • ImagickDraw::skewX - Geçerli koordinat sistemini yatayda belirtilen açıda eğer
    • ImagickDraw::skewY - Geçerli koordinat sistemini düşeyde belirtilen açıda eğer
    • ImagickDraw::translate - Geçerli koordinat sisteminin başnoktasını değiştirir
    • ImagickDraw::__construct - ImagickDraw kurucusu
    • ImagickKernel::addKernel - Attach another kernel to a kernel list
    • ImagickKernel::addUnityKernel - Adds a Unity Kernel to the kernel list
    • ImagickKernel::fromBuiltIn - Create a kernel from a builtin in kernel
    • ImagickKernel::fromMatrix - Create a kernel from a 2d matrix of values
    • ImagickKernel::getMatrix - Get the 2d matrix of values used in this kernel
    • ImagickKernel::scale - Scales a kernel list by the given amount
    • ImagickKernel::separate - Separates a linked set of kernels and returns an array of ImagickKernels
    • ImagickPixel::clear - Nesne ile ilişkili özkaynakları temizler
    • ImagickPixel::destroy - Nesne ile ilgili özkaynakları serbest bırakır
    • ImagickPixel::getColor - Bir renk döndürür
    • ImagickPixel::getColorAsString - Rengi bir dizge olarak döndürür
    • ImagickPixel::getColorCount - Nesnenin renk sayısını döndürür
    • ImagickPixel::getColorQuantum - Returns the color of the pixel in an array as Quantum values
    • ImagickPixel::getColorValue - Belirtilen renk kanalının normalleştirilmiş değerini döndürür
    • ImagickPixel::getColorValueQuantum - Gets the quantum value of a color in the ImagickPixel
    • ImagickPixel::getHSL - ImagickPixel nesnesinin normalleştirilmiş HSL rengini döndürür
    • ImagickPixel::getIndex - Gets the colormap index of the pixel wand
    • ImagickPixel::isPixelSimilar - Check the distance between this color and another
    • ImagickPixel::isPixelSimilarQuantum - Returns whether two colors differ by less than the specified distance
    • ImagickPixel::isSimilar - İki renk arasındaki benzerliği hesaplar
    • ImagickPixel::setColor - Renk tanımlar
    • ImagickPixel::setColorCount - Sets the color count associated with this color
    • ImagickPixel::setColorValue - Renk kanallarından birinin normalleştirilmiş değerini belirler
    • ImagickPixel::setColorValueQuantum - Sets the quantum value of a color element of the ImagickPixel
    • ImagickPixel::setHSL - Normalleştirilmiş HSL rengini ayarlar
    • ImagickPixel::setIndex - Sets the colormap index of the pixel wand
    • ImagickPixel::__construct - ImagickPixel nesnesini oluşturur
    • ImagickPixelIterator::clear - Piksel yineleyici ile ilişkili özkaynakları temizler
    • ImagickPixelIterator::destroy - Piksel yineleyici ile ilişkili özkaynakları serbest bırakır
    • ImagickPixelIterator::getCurrentIteratorRow - Piksel yineleyicinin üzerinde bulunduğu ImagickPixel nesneleri satırını döndürür
    • ImagickPixelIterator::getIteratorRow - Piksel yineleyicinin üzerinde bulunduğu satırın numarasını döndürür
    • ImagickPixelIterator::getNextIteratorRow - Piksel yineleyicinin sonraki satırını döndürür
    • ImagickPixelIterator::getPreviousIteratorRow - Önceki satırı döndürür
    • ImagickPixelIterator::newPixelIterator - Yeni bir piksel yineleyici döndürür
    • ImagickPixelIterator::newPixelRegionIterator - Yeni bir bölgesel piksel yineleyicisi döndürür
    • ImagickPixelIterator::resetIterator - Piksel yineleyiciyi sıfırlar
    • ImagickPixelIterator::setIteratorFirstRow - Piksel yineleyiciyi ilk piksel satırına hizalar
    • ImagickPixelIterator::setIteratorLastRow - Piksel yineleyiciyi son piksel satırına hizalar
    • ImagickPixelIterator::setIteratorRow - Piksel yineleyiciyi satırını tanımlar
    • ImagickPixelIterator::syncIterator - Piksel yineleyiciyi eşzamanlar
    • ImagickPixelIterator::__construct - Bir ImagickPixelIterator nesnesi oluşturur
    • imap_8bit - 8 bitlik bir dizgeyi 7 bitlik (quoted-printable) bir dizgeye dönüştürür
    • imap_alerts - Oluşan tüm IMAP uyarı iletilerini döndürür
    • imap_append - Belirtilen posta kutusuna bir ileti ekler
    • imap_base64 - Base64 kodlu dizgeyi 8 bitlik dizgeye dönüştürür
    • imap_binary - 8 bitlik bir dizgeyi bir base64 dizgesine dönüştürür
    • imap_body - İleti gövdesini okur
    • imap_bodystruct - Belirtilen iletinin bir gövde bölümünün yapısını okur
    • imap_check - Posta kutusu bilgilerini döndürür
    • imap_clearflag_full - İletilerdeki imleri temizler
    • imap_close - IMAP akımını kapatır
    • imap_create - imap_createmailbox işlevinin takma adıdır
    • imap_createmailbox - Yeni bir posta kutusu oluşturur
    • imap_delete - Belirtilen iletiyi silindi olarak imler
    • imap_deletemailbox - Bir posta kutusunu siler
    • imap_errors - Oluşan tüm IMAP hatalarının iletilerini döndürür
    • imap_expunge - Silindi imli tüm iletileri gerçekten siler
    • imap_fetchbody - Belirtilen iletinin belli bir gövde bölümünü döndürür
    • imap_fetchheader - Bir iletinin başlığını döndürür
    • imap_fetchmime - İletinin belirli bir bölümü için MIME başlıklarını getirir
    • imap_fetchstructure - Belli bir iletinin yapısını okur
    • imap_fetchtext - imap_body işlevinin takma adıdır
    • imap_fetch_overview - Belirtilen iletinin başlıklarından belli bilgileri toplar
    • imap_gc - IMAP önbelleğini temizler
    • imap_getacl - Belirtilen posta kutusunun erişim izinlerini döndürür
    • imap_getmailboxes - Posta kutuları hakkında ayrıntılı bilgi döndürür
    • imap_getsubscribed - Üyesi olunan tüm posta kutularını listeler
    • imap_get_quota - Belirtilen kullanıcının kota ayarlarını döndürür
    • imap_get_quotaroot - Kullanıcının kendi kota ayarlarını döndürür
    • imap_header - imap_headerinfo işlevinin takma adıdır
    • imap_headerinfo - Belirtilen iletinin başlığını okur
    • imap_headers - Bir posta kutusu içindeki tüm iletilerin başlıklarını döndürür
    • imap_is_open - Check if the IMAP stream is still valid
    • imap_last_error - Geçerli sayfa isteği sırasında oluşan son IMAP hatasının açıklamasını döndürür
    • imap_list - Posta kutularını listeler
    • imap_listmailbox - imap_list işlevinin takma adıdır
    • imap_listscan - Belirtilen metin ile eşleşen posta kutularını listeler
    • imap_listsubscribed - imap_lsub işlevinin takma adıdır
    • imap_lsub - Üyesi olunan tüm posta kutularını listeler
    • imap_mail - Bir eposta iletisi gönderir
    • imap_mailboxmsginfo - Posta kutusu hakkında bilgi döndürür
    • imap_mail_compose - Zarfı ve gövdesi belirtilen MIME iletisini oluşturur
    • imap_mail_copy - Belirtilen iletileri bir posta kutusuna kopyalar
    • imap_mail_move - Belirtilen iletiyi bir posta kutusuna taşır
    • imap_mime_header_decode - MIME başlık elemanlarının kodlamasını açar
    • imap_msgno - Belirtilen eşsiz kimlik için ileti numarasını döndürür
    • imap_mutf7_to_utf8 - Değiştirilmiş bir UTF-7 dizgesini UTF-8 olarak kodlar
    • imap_num_msg - Posta kutusundaki ileti sayısını döndürür
    • imap_num_recent - Posta kutusuna en son gelen ileti sayısını döndürür
    • imap_open - Belirtilen posta kutusuna yeni bir IMAP akımı açar
    • imap_ping - Belirtilen IMAP akımı hala etkin mi diye bakar
    • imap_qprint - Bir 7 bitlik dizgeyi 8 bitlik dizgeye dönüştürür
    • imap_rename - imap_renamemailbox işlevinin takma adıdır
    • imap_renamemailbox - Posta kutusunun ismini değiştirir
    • imap_reopen - IMAP akımını yeni posta kutusunda yeniden açar
    • imap_rfc822_parse_adrlist - Bir adres dizgesini çözümler
    • imap_rfc822_parse_headers - Bir dizgedeki eposta başlıklarını çözümler
    • imap_rfc822_write_address - Posta kutusu, alan adı ve kişisel bilgi ile gerektiği gibi biçemlenmiş bir eposta adresi dönürür
    • imap_savebody - Belirtilen iletinin gövdesini bir dosyaya kaydeder
    • imap_scan - imap_listscan işlevinin takma adıdır
    • imap_scanmailbox - imap_listscan işlevinin takma adıdır
    • imap_search - Belirtilen kurala uyan iletileri bir dizi içinde döndürür
    • imap_setacl - Belirtilen posta kutusu ile ilgili erişim izinlerini tanımlar
    • imap_setflag_full - İletileri imler
    • imap_set_quota - Belirtilen posta kutusu için bir kota tanımlar
    • imap_sort - İletileri sıralar ve döndürür
    • imap_status - Bir posta kutusunun durum bilgisini döndürür
    • imap_subscribe - Bir posta kutusuna üyeliği başlatır
    • imap_thread - Bir iletinin konu ağacını döndürür
    • imap_timeout - IMAP zaman aşımını tanımlar veya döndürür
    • imap_uid - Numarası belirtilen iletiyle ilgili eşsiz kimliği döndürür
    • imap_undelete - Silindi diye imlenmiş bir iletinin imini kaldırır
    • imap_unsubscribe - Bir posta kutusundan üyeliği sonlandırır
    • imap_utf7_decode - Bir dizgenin karakter kodlamasını takviyeli UTF-7'den ISO-8859-1'e dönüştürür
    • imap_utf7_encode - ISO-8859-1 kodlu bir dizgenin kodlamasını takviyeli UTF-7'ye dönüştürür
    • imap_utf8 - MIME kodlu metni UTF-8'e dönüştürür
    • imap_utf8_to_mutf7 - UTF-8 dizgeyi değiştirilmiş UTF-7 olarak kodlar
    • implode - Dizi elemanlarını birleştirip bir dizge elde eder
    • inet_ntop - Bir IP adresinin in_addr gösterimini insan okuyabilir gösterime dönüştürür
    • inet_pton - İnsan okuyabilir bir IP adresini in_addr gösterimine dönüştürür
    • InfiniteIterator::next - Moves the inner Iterator forward or rewinds it
    • InfiniteIterator::__construct - Constructs an InfiniteIterator
    • inflate_add - Incrementally inflate encoded data
    • inflate_get_read_len - Get number of bytes read so far
    • inflate_get_status - Get decompression status
    • inflate_init - Initialize an incremental inflate context
    • ini_alter - ini_set işlevinin takma adıdır
    • ini_get - Bir yapılandırma yönergesinin değerini döndürür
    • ini_get_all - Tüm yapılandırma yönergelerini döndürür
    • ini_parse_quantity - Get interpreted size from ini shorthand syntax
    • ini_restore - Bir yapılandırma yönergesine eski değerini atar
    • ini_set - Bir yapılandırma yönergesine değer atar
    • inotify_add_watch - Add a watch to an initialized inotify instance
    • inotify_init - Initialize an inotify instance
    • inotify_queue_len - Return a number upper than zero if there are pending events
    • inotify_read - Read events from an inotify instance
    • inotify_rm_watch - Remove an existing watch from an inotify instance
    • intdiv - Integer division
    • interface_exists - Arayüz tanımlı mı diye bakar
    • InternalIterator::current - Geçerli öğeyi döndürür
    • InternalIterator::key - Geçerli öğenin anahtarını döndürür
    • InternalIterator::next - Sonraki öğeye ilerler
    • InternalIterator::rewind - Yineleyicinin ilk öğesine geri gider
    • InternalIterator::valid - Konumu doğrular
    • InternalIterator::__construct - Doğrudan örneklemeye izin vermemek için özel kurucu
    • IntlBreakIterator::createCharacterInstance - Create break iterator for boundaries of combining character sequences
    • IntlBreakIterator::createCodePointInstance - Create break iterator for boundaries of code points
    • IntlBreakIterator::createLineInstance - Create break iterator for logically possible line breaks
    • IntlBreakIterator::createSentenceInstance - Create break iterator for sentence breaks
    • IntlBreakIterator::createTitleInstance - Create break iterator for title-casing breaks
    • IntlBreakIterator::createWordInstance - Create break iterator for word breaks
    • IntlBreakIterator::current - Get index of current position
    • IntlBreakIterator::first - Set position to the first character in the text
    • IntlBreakIterator::following - Advance the iterator to the first boundary following specified offset
    • IntlBreakIterator::getErrorCode - Get last error code on the object
    • IntlBreakIterator::getErrorMessage - Get last error message on the object
    • IntlBreakIterator::getLocale - Get the locale associated with the object
    • IntlBreakIterator::getPartsIterator - Create iterator for navigating fragments between boundaries
    • IntlBreakIterator::getText - Get the text being scanned
    • IntlBreakIterator::isBoundary - Tell whether an offset is a boundary's offset
    • IntlBreakIterator::last - Set the iterator position to index beyond the last character
    • IntlBreakIterator::next - Advance the iterator the next boundary
    • IntlBreakIterator::preceding - Set the iterator position to the first boundary before an offset
    • IntlBreakIterator::previous - Set the iterator position to the boundary immediately before the current
    • IntlBreakIterator::setText - Set the text being scanned
    • IntlBreakIterator::__construct - Private constructor for disallowing instantiation
    • IntlCalendar::add - Add a (signed) amount of time to a field
    • IntlCalendar::after - Whether this object's time is after that of the passed object
    • IntlCalendar::before - Whether this object's time is before that of the passed object
    • IntlCalendar::clear - Clear a field or all fields
    • IntlCalendar::createInstance - Create a new IntlCalendar
    • IntlCalendar::equals - Compare time of two IntlCalendar objects for equality
    • IntlCalendar::fieldDifference - Calculate difference between given time and this object's time
    • IntlCalendar::fromDateTime - Create an IntlCalendar from a DateTime object or string
    • IntlCalendar::get - Get the value for a field
    • IntlCalendar::getActualMaximum - The maximum value for a field, considering the object's current time
    • IntlCalendar::getActualMinimum - The minimum value for a field, considering the object's current time
    • IntlCalendar::getAvailableLocales - Get array of locales for which there is data
    • IntlCalendar::getDayOfWeekType - Tell whether a day is a weekday, weekend or a day that has a transition between the two
    • IntlCalendar::getErrorCode - Get last error code on the object
    • IntlCalendar::getErrorMessage - Get last error message on the object
    • IntlCalendar::getFirstDayOfWeek - Get the first day of the week for the calendar's locale
    • IntlCalendar::getGreatestMinimum - Get the largest local minimum value for a field
    • IntlCalendar::getKeywordValuesForLocale - Get set of locale keyword values
    • IntlCalendar::getLeastMaximum - Get the smallest local maximum for a field
    • IntlCalendar::getLocale - Get the locale associated with the object
    • IntlCalendar::getMaximum - Get the global maximum value for a field
    • IntlCalendar::getMinimalDaysInFirstWeek - Get minimal number of days the first week in a year or month can have
    • IntlCalendar::getMinimum - Get the global minimum value for a field
    • IntlCalendar::getNow - Get number representing the current time
    • IntlCalendar::getRepeatedWallTimeOption - Get behavior for handling repeating wall time
    • IntlCalendar::getSkippedWallTimeOption - Get behavior for handling skipped wall time
    • IntlCalendar::getTime - Get time currently represented by the object
    • IntlCalendar::getTimeZone - Get the object's timezone
    • IntlCalendar::getType - Get the calendar type
    • IntlCalendar::getWeekendTransition - Get time of the day at which weekend begins or ends
    • IntlCalendar::inDaylightTime - Whether the object's time is in Daylight Savings Time
    • IntlCalendar::isEquivalentTo - Whether another calendar is equal but for a different time
    • IntlCalendar::isLenient - Whether date/time interpretation is in lenient mode
    • IntlCalendar::isSet - Whether a field is set
    • IntlCalendar::isWeekend - Whether a certain date/time is in the weekend
    • IntlCalendar::roll - Add value to field without carrying into more significant fields
    • IntlCalendar::set - Set a time field or several common fields at once
    • IntlCalendar::setDate - Set a date fields
    • IntlCalendar::setDateTime - Set a date and time fields
    • IntlCalendar::setFirstDayOfWeek - Set the day on which the week is deemed to start
    • IntlCalendar::setLenient - Set whether date/time interpretation is to be lenient
    • IntlCalendar::setMinimalDaysInFirstWeek - Set minimal number of days the first week in a year or month can have
    • IntlCalendar::setRepeatedWallTimeOption - Set behavior for handling repeating wall times at negative timezone offset transitions
    • IntlCalendar::setSkippedWallTimeOption - Set behavior for handling skipped wall times at positive timezone offset transitions
    • IntlCalendar::setTime - Set the calendar time in milliseconds since the epoch
    • IntlCalendar::setTimeZone - Set the timezone used by this calendar
    • IntlCalendar::toDateTime - Convert an IntlCalendar into a DateTime object
    • IntlCalendar::__construct - Private constructor for disallowing instantiation
    • IntlChar::charAge - Get the "age" of the code point
    • IntlChar::charDigitValue - Get the decimal digit value of a decimal digit character
    • IntlChar::charDirection - Get bidirectional category value for a code point
    • IntlChar::charFromName - Find Unicode character by name and return its code point value
    • IntlChar::charMirror - Get the "mirror-image" character for a code point
    • IntlChar::charName - Retrieve the name of a Unicode character
    • IntlChar::charType - Get the general category value for a code point
    • IntlChar::chr - Return Unicode character by code point value
    • IntlChar::digit - Get the decimal digit value of a code point for a given radix
    • IntlChar::enumCharNames - Enumerate all assigned Unicode characters within a range
    • IntlChar::enumCharTypes - Enumerate all code points with their Unicode general categories
    • IntlChar::foldCase - Perform case folding on a code point
    • IntlChar::forDigit - Get character representation for a given digit and radix
    • IntlChar::getBidiPairedBracket - Get the paired bracket character for a code point
    • IntlChar::getBlockCode - Get the Unicode allocation block containing a code point
    • IntlChar::getCombiningClass - Get the combining class of a code point
    • IntlChar::getFC_NFKC_Closure - Get the FC_NFKC_Closure property for a code point
    • IntlChar::getIntPropertyMaxValue - Get the max value for a Unicode property
    • IntlChar::getIntPropertyMinValue - Get the min value for a Unicode property
    • IntlChar::getIntPropertyValue - Get the value for a Unicode property for a code point
    • IntlChar::getNumericValue - Get the numeric value for a Unicode code point
    • IntlChar::getPropertyEnum - Get the property constant value for a given property name
    • IntlChar::getPropertyName - Get the Unicode name for a property
    • IntlChar::getPropertyValueEnum - Get the property value for a given value name
    • IntlChar::getPropertyValueName - Get the Unicode name for a property value
    • IntlChar::getUnicodeVersion - Get the Unicode version
    • IntlChar::hasBinaryProperty - Check a binary Unicode property for a code point
    • IntlChar::isalnum - Check if code point is an alphanumeric character
    • IntlChar::isalpha - Check if code point is a letter character
    • IntlChar::isbase - Check if code point is a base character
    • IntlChar::isblank - Check if code point is a "blank" or "horizontal space" character
    • IntlChar::iscntrl - Check if code point is a control character
    • IntlChar::isdefined - Check whether the code point is defined
    • IntlChar::isdigit - Check if code point is a digit character
    • IntlChar::isgraph - Check if code point is a graphic character
    • IntlChar::isIDIgnorable - Check if code point is an ignorable character
    • IntlChar::isIDPart - Check if code point is permissible in an identifier
    • IntlChar::isIDStart - Check if code point is permissible as the first character in an identifier
    • IntlChar::isISOControl - Check if code point is an ISO control code
    • IntlChar::isJavaIDPart - Check if code point is permissible in a Java identifier
    • IntlChar::isJavaIDStart - Check if code point is permissible as the first character in a Java identifier
    • IntlChar::isJavaSpaceChar - Check if code point is a space character according to Java
    • IntlChar::islower - Check if code point is a lowercase letter
    • IntlChar::isMirrored - Check if code point has the Bidi_Mirrored property
    • IntlChar::isprint - Check if code point is a printable character
    • IntlChar::ispunct - Check if code point is punctuation character
    • IntlChar::isspace - Check if code point is a space character
    • IntlChar::istitle - Check if code point is a titlecase letter
    • IntlChar::isUAlphabetic - Check if code point has the Alphabetic Unicode property
    • IntlChar::isULowercase - Check if code point has the Lowercase Unicode property
    • IntlChar::isupper - Check if code point has the general category "Lu" (uppercase letter)
    • IntlChar::isUUppercase - Check if code point has the Uppercase Unicode property
    • IntlChar::isUWhiteSpace - Check if code point has the White_Space Unicode property
    • IntlChar::isWhitespace - Check if code point is a whitespace character according to ICU
    • IntlChar::isxdigit - Check if code point is a hexadecimal digit
    • IntlChar::ord - Return Unicode code point value of character
    • IntlChar::tolower - Make Unicode character lowercase
    • IntlChar::totitle - Make Unicode character titlecase
    • IntlChar::toupper - Make Unicode character uppercase
    • IntlCodePointBreakIterator::getLastCodePoint - Get last code point passed over after advancing or receding the iterator
    • IntlDateFormatter::create - Bir tarih biçemleyici oluşturur
    • IntlDateFormatter::format - Tarih/saat değerini bir dizge olarak biçemler
    • IntlDateFormatter::formatObject - Formats an object
    • IntlDateFormatter::getCalendar - IntlDateFormatter tarafından kullanılan takvim türünü döndürür
    • IntlDateFormatter::getCalendarObject - Get copy of formatter's calendar object
    • IntlDateFormatter::getDateType - IntlDateFormatter tarafından kullanılan tarih gösterim türünü döndürür
    • IntlDateFormatter::getErrorCode - Son işlemin hata kodunu döndürür
    • IntlDateFormatter::getErrorMessage - Son işlemin hata iletisini döndürür
    • IntlDateFormatter::getLocale - Biçemleyicinin kullandığı yereli döndürür
    • IntlDateFormatter::getPattern - IntlDateFormatter tarafından kullanılan kalıbı döndürür
    • IntlDateFormatter::getTimeType - IntlDateFormatter tarafından kullanılan zaman gösterim türünü döndürür
    • IntlDateFormatter::getTimeZone - Get formatter's timezone
    • IntlDateFormatter::getTimeZoneId - IntlDateFormatter tarafından kullanılan zaman dilimi tantıcısını döndürür
    • IntlDateFormatter::isLenient - IntlDateFormatter esnek çözümleme mi yapıyor diye bakar
    • IntlDateFormatter::localtime - Tarih dizgesini alanlarına çözümler
    • IntlDateFormatter::parse - Dizgeyi bir zaman damgası değerine dönüştürür
    • IntlDateFormatter::setCalendar - Kullanılacak takvimi tanımlar
    • IntlDateFormatter::setLenient - Çözümleyiciye esneklik verir
    • IntlDateFormatter::setPattern - IntlDateFormatter tarafından kullanılan kalıbı tanımlar
    • IntlDateFormatter::setTimeZone - Sets formatter's timezone
    • IntlDatePatternGenerator::create - Creates a new IntlDatePatternGenerator instance
    • IntlDatePatternGenerator::getBestPattern - Determines the most suitable date/time format
    • IntlGregorianCalendar::createFromDate - Create a new IntlGregorianCalendar instance from date
    • IntlGregorianCalendar::createFromDateTime - Create a new IntlGregorianCalendar instance from date and time
    • IntlGregorianCalendar::getGregorianChange - Get the Gregorian Calendar change date
    • IntlGregorianCalendar::isLeapYear - Determine if the given year is a leap year
    • IntlGregorianCalendar::setGregorianChange - Set the Gregorian Calendar the change date
    • IntlGregorianCalendar::__construct - Create the Gregorian Calendar class
    • IntlIterator::current - Get the current element
    • IntlIterator::key - Get the current key
    • IntlIterator::next - Move forward to the next element
    • IntlIterator::rewind - Rewind the iterator to the first element
    • IntlIterator::valid - Check if current position is valid
    • IntlPartsIterator::getBreakIterator - Get IntlBreakIterator backing this parts iterator
    • IntlRuleBasedBreakIterator::getBinaryRules - Get the binary form of compiled rules
    • IntlRuleBasedBreakIterator::getRules - Get the rule set used to create this object
    • IntlRuleBasedBreakIterator::getRuleStatus - Get the largest status value from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::getRuleStatusVec - Get the status values from the break rules that determined the current break position
    • IntlRuleBasedBreakIterator::__construct - Create iterator from ruleset
    • IntlTimeZone::countEquivalentIDs - Get the number of IDs in the equivalency group that includes the given ID
    • IntlTimeZone::createDefault - Create a new copy of the default timezone for this host
    • IntlTimeZone::createEnumeration - Get an enumeration over time zone IDs associated with the given country or offset
    • IntlTimeZone::createTimeZone - Create a timezone object for the given ID
    • IntlTimeZone::createTimeZoneIDEnumeration - Get an enumeration over system time zone IDs with the given filter conditions
    • IntlTimeZone::fromDateTimeZone - Create a timezone object from DateTimeZone
    • IntlTimeZone::getCanonicalID - Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone ID
    • IntlTimeZone::getDisplayName - Get a name of this time zone suitable for presentation to the user
    • IntlTimeZone::getDSTSavings - Get the amount of time to be added to local standard time to get local wall clock time
    • IntlTimeZone::getEquivalentID - Get an ID in the equivalency group that includes the given ID
    • IntlTimeZone::getErrorCode - Get last error code on the object
    • IntlTimeZone::getErrorMessage - Get last error message on the object
    • IntlTimeZone::getGMT - Create GMT (UTC) timezone
    • IntlTimeZone::getID - Get timezone ID
    • IntlTimeZone::getIDForWindowsID - Translate a Windows timezone into a system timezone
    • IntlTimeZone::getOffset - Get the time zone raw and GMT offset for the given moment in time
    • IntlTimeZone::getRawOffset - Get the raw GMT offset (before taking daylight savings time into account
    • IntlTimeZone::getRegion - Get the region code associated with the given system time zone ID
    • IntlTimeZone::getTZDataVersion - Get the timezone data version currently used by ICU
    • IntlTimeZone::getUnknown - Get the "unknown" time zone
    • IntlTimeZone::getWindowsID - Translate a system timezone into a Windows timezone
    • IntlTimeZone::hasSameRules - Check if this zone has the same rules and offset as another zone
    • IntlTimeZone::toDateTimeZone - Convert to DateTimeZone object
    • IntlTimeZone::useDaylightTime - Check if this time zone uses daylight savings time
    • IntlTimeZone::__construct - Private constructor to disallow direct instantiation
    • intl_error_name - Belirtilen hata kodunun simgesel ismini döndürür
    • intl_get_error_code - Son hatanın kodunu döndürür
    • intl_get_error_message - Son hatayı açıklayan bir dizge ile döner
    • intl_is_failure - Belirtilen hata kodunun bir başarısızlık göstergesi olup olmadığına bakar
    • intval - Bir değişkenin tamsayı değerini döndürür
    • in_array - Bir dizide bir değerin varlığını araştırır
    • ip2long - Noktalı IP adresi gösterimini içeren bir dizgeyi uzun tamsayıya dönüştürür
    • iptcembed - İkil IPTC verisini bir JPEG görüntünün içine gömer
    • iptcparse - Bir ikil IPTC bloğunu tekil etiketlere böler
    • isset - Değişken bildirilmiş ve null değil mi diye bakar
    • is_a - Nesne sınıfın mı yoksa üst sınıflarından birinin örneği mi diye bakar
    • is_array - Değişkenin bir dizi içerip içermediğine bakar
    • is_bool - Değişken boolean türünde mi diye bakar
    • is_callable - Bir değişkenin değerinin bir işlev olarak çağrılabilirliğini doğrular
    • is_countable - Değişken değerinin sayılabilirliğine bakar
    • is_dir - Bir dosyanın bir dizin olup olmadığını söyler
    • is_double - is_float işlevinin takma adıdır
    • is_executable - Bir dosyanın çalıştırılabilir bir dosya olup olmadığını söyler
    • is_file - Bir dosyanın sıradan bir dosya olup olmadığını söyler
    • is_finite - Checks whether a float is finite
    • is_float - Değişken float türünde mi diye bakar
    • is_infinite - Checks whether a float is infinite
    • is_int - Değişken bir tamsayı mı diye bakar
    • is_integer - is_int işlevinin takma adıdır
    • is_iterable - Değişkenin değerinin yinelenebilirliğine bakar
    • is_link - Dosya sembolik bağ ise bunu doğrular
    • is_long - is_int işlevinin takma adıdır
    • is_nan - Checks whether a float is NAN
    • is_null - Bir değişkenin değerinin null olup olmadığına bakar
    • is_numeric - Değişken bir sayı veya bir sayısal dizge mi diye bakar
    • is_object - Değişken object türünde mi diye bakar
    • is_readable - Bir dosyanın mevcut ve okunabilir olup olmadığını söyler
    • is_real - is_float işlevinin takma adıdır
    • is_resource - Değişken resource türünde mi diye bakar
    • is_scalar - Bir değişken sayıl mı diye bakar
    • is_soap_fault - Checks if a SOAP call has failed
    • is_string - Değişken string türünde mi diye bakar
    • is_subclass_of - Belirtilen sınıfın belirtilen nesnenin ebeveynlerinden biri mi yoksa onu gerçekleyen mi diye bakar
    • is_tainted - Checks whether a string is tainted
    • is_uploaded_file - Bir dosya HTTP POST üzerinden karşıya yüklenebilecekse bunu söyler
    • is_writable - Dosyanın yazılabilir kipte ise bunu doğrular
    • is_writeable - Dosya yazılabilir kipteyse bunu doğrular
    • Iterator::current - O anki elemanı döndürür
    • Iterator::key - O anki elemanın anahtarını döndürür
    • Iterator::next - Konumu sonraki elemana ilerletir
    • Iterator::rewind - Yineleyiciyi ilk elemana konumlandırır
    • Iterator::valid - O anki konum geçerli mi diye bakar
    • IteratorAggregate::getIterator - Harici bir yineleyici ile döner
    • IteratorIterator::current - Get the current value
    • IteratorIterator::getInnerIterator - Get the inner iterator
    • IteratorIterator::key - Get the key of the current element
    • IteratorIterator::next - Forward to the next element
    • IteratorIterator::rewind - Rewind to the first element
    • IteratorIterator::valid - Checks if the iterator is valid
    • IteratorIterator::__construct - Create an iterator from anything that is traversable
    • iterator_apply - Call a function for every element in an iterator
    • iterator_count - Count the elements in an iterator
    • iterator_to_array - Copy the iterator into an array
  • j
    • JDDayOfWeek - Haftanın gününü verir
    • jdmonthname - Ay adını döndürür
    • jdtofrench - Jülyen gün sayısını, Fransız İhtilali takvimine çevirir
    • jdtogregorian - Jülyen Gün Sayısını, Gregoryen tarihine çevirir
    • jdtojewish - Jülyen Gün Sayısını, Yahudi takvimine çevirir
    • jdtojulian - Jülyen Gün Sayısını, Jülyen takvim tarihine çevirir
    • jdtounix - Jülyen Gün Sayısını, Unix zaman damgasına çevirir
    • jewishtojd - Yahudi takvimindeki bir tarihi, Jülyen Gün Sayısına çevirir
    • join - implode işlevinin takma adıdır
    • jpeg2wbmp - Bir JPEG dosyasını WBMP dosyasına dönüştürür
    • JsonSerializable::jsonSerialize - JSON için dizeleştirilecek veriyi belirtmek için
    • json_decode - Bir JSON dizgesini çözümler
    • json_encode - Değerin JSON karşılığını verir.
    • json_last_error - Oluşan son hatayı döndürür.
    • json_last_error_msg - Son json_encode() veya json_decode() çağrısının hata dizgesini döndürür
    • json_validate - Checks if a string contains valid JSON
    • juliantojd - Jülyen takvimindeki tarihi, Jülyen Gün Sayısına çevirir
  • k
    • key - Bir diziden gösterici konumundaki anahtarı döndürür
    • key_exists - array_key_exists işlevini takma adıdır
    • krsort - Bir diziyi anahtarlarına göre büyükten küçüğe doğru sıralar
    • ksort - Bir diziyi anahtarlarına göre küçükten büyüğe doğru sıralar
  • l
    • lcfirst - Bir dizgenin ilk karakterini küçük harf yapar
    • lcg_value - Combined linear congruential generator
    • lchgrp - Bir sembolik bağın grubunu değiştirir
    • lchown - Bir sembolik bağın sahibini değiştirir
    • ldap_8859_to_t61 - Translate 8859 characters to t61 characters
    • ldap_add - Add entries to LDAP directory
    • ldap_add_ext - Add entries to LDAP directory
    • ldap_bind - Bind to LDAP directory
    • ldap_bind_ext - Bind to LDAP directory
    • ldap_close - Takma Adı: ldap_unbind
    • ldap_compare - Compare value of attribute found in entry specified with DN
    • ldap_connect - Connect to an LDAP server
    • ldap_connect_wallet - Connect to an LDAP server
    • ldap_control_paged_result - Send LDAP pagination control
    • ldap_control_paged_result_response - Retrieve the LDAP pagination cookie
    • ldap_count_entries - Count the number of entries in a search
    • ldap_count_references - Counts the number of references in a search result
    • ldap_delete - Delete an entry from a directory
    • ldap_delete_ext - Delete an entry from a directory
    • ldap_dn2ufn - Convert DN to User Friendly Naming format
    • ldap_err2str - Convert LDAP error number into string error message
    • ldap_errno - Return the LDAP error number of the last LDAP command
    • ldap_error - Return the LDAP error message of the last LDAP command
    • ldap_escape - Escape a string for use in an LDAP filter or DN
    • ldap_exop - Performs an extended operation
    • ldap_exop_passwd - PASSWD extended operation helper
    • ldap_exop_refresh - Refresh extended operation helper
    • ldap_exop_sync - Performs an extended operation
    • ldap_exop_whoami - WHOAMI extended operation helper
    • ldap_explode_dn - Splits DN into its component parts
    • ldap_first_attribute - Return first attribute
    • ldap_first_entry - Return first result id
    • ldap_first_reference - Return first reference
    • ldap_free_result - Free result memory
    • ldap_get_attributes - Get attributes from a search result entry
    • ldap_get_dn - Get the DN of a result entry
    • ldap_get_entries - Get all result entries
    • ldap_get_option - Get the current value for given option
    • ldap_get_values - Get all values from a result entry
    • ldap_get_values_len - Get all binary values from a result entry
    • ldap_list - Single-level search
    • ldap_modify - Takma Adı: ldap_mod_replace
    • ldap_modify_batch - Batch and execute modifications on an LDAP entry
    • ldap_mod_add - Add attribute values to current attributes
    • ldap_mod_add_ext - Add attribute values to current attributes
    • ldap_mod_del - Delete attribute values from current attributes
    • ldap_mod_del_ext - Delete attribute values from current attributes
    • ldap_mod_replace - Replace attribute values with new ones
    • ldap_mod_replace_ext - Replace attribute values with new ones
    • ldap_next_attribute - Get the next attribute in result
    • ldap_next_entry - Get next result entry
    • ldap_next_reference - Get next reference
    • ldap_parse_exop - Parse result object from an LDAP extended operation
    • ldap_parse_reference - Extract information from reference entry
    • ldap_parse_result - Extract information from result
    • ldap_read - Read an entry
    • ldap_rename - Modify the name of an entry
    • ldap_rename_ext - Modify the name of an entry
    • ldap_sasl_bind - Bind to LDAP directory using SASL
    • ldap_search - Search LDAP tree
    • ldap_set_option - Set the value of the given option
    • ldap_set_rebind_proc - Set a callback function to do re-binds on referral chasing
    • ldap_sort - Sort LDAP result entries on the client side
    • ldap_start_tls - Start TLS
    • ldap_t61_to_8859 - Translate t61 characters to 8859 characters
    • ldap_unbind - Unbind from LDAP directory
    • levenshtein - İki dizge arasındaki Levenştayn mesafesini hesaplar
    • libxml_clear_errors - libxml hata tamponunu temizler
    • libxml_disable_entity_loader - Harici öğeleri yükleme yeteneğini iptal eder
    • libxml_get_errors - Hataları içeren bir dizi döndürür
    • libxml_get_external_entity_loader - Get the current external entity loader
    • libxml_get_last_error - libxml'den son hatayı döndürür
    • libxml_set_external_entity_loader - Öntanımlı harici öğe yükleyiciyi değiştirir
    • libxml_set_streams_context - Yüklenecek veya yazılacak sonraki libxml belgesinin akım bağlamını belirler
    • libxml_use_internal_errors - libxml hatalarını kapatarak kullanıcı tanımlı hataları mümkün kılar
    • LimitIterator::current - Get current element
    • LimitIterator::getPosition - Return the current position
    • LimitIterator::key - Get current key
    • LimitIterator::next - Move the iterator forward
    • LimitIterator::rewind - Rewind the iterator to the specified starting offset
    • LimitIterator::seek - Seek to the given position
    • LimitIterator::valid - Check whether the current element is valid
    • LimitIterator::__construct - Construct a LimitIterator
    • link - Sabit bir bağ oluşturur
    • linkinfo - Bir bağ hakkında bilgi verir
    • list - Değişkenlere bir dizi gibi atama yapar
    • Locale::acceptFromHttp - HTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır
    • Locale::canonicalize - Canonicalize the locale string
    • Locale::composeLocale - Doğru sıralanmış yerel ile döner
    • Locale::filterMatches - Bir dil yaftasının bir yerelle eşleşip eşleşmediğine bakar
    • Locale::getAllVariants - Girdi yerelindeki tüm lehçeleri döndürür
    • Locale::getDefault - Öntanımlı yerel değerini döndürür
    • Locale::getDisplayLanguage - Girdi yerelindeki anadil kodunun yerelleştirilmiş ismini döndürür
    • Locale::getDisplayName - Girdi yerelinin yerelleştirilmiş ismini döndürür
    • Locale::getDisplayRegion - Girdi yereli için yerelleştirilmiş ülke ismini döndürür
    • Locale::getDisplayScript - Girdi yereli yazı türünün yerelleştirilmiş ismini döndürür
    • Locale::getDisplayVariant - Girdi yereli lehçesinin yerelleştirilmiş ismini döndürür
    • Locale::getKeywords - Girdi yerelindeki anahtar sözcükleri döndürür
    • Locale::getPrimaryLanguage - Girdi yerelinden anadil kodunu döndürür
    • Locale::getRegion - Girdi yerelinden ülke kodunu döndürür
    • Locale::getScript - Girdi yereli için yazı yaftasını döndürür
    • Locale::lookup - En iyi eşleşen dili bulmak için dil yaftası listesini araştırır
    • Locale::parseLocale - Yerel yaftasını oluşturan alt yaftaları içeren bir dizi döndürür
    • Locale::setDefault - Öntanımlı çalışma anı yerelini tanımlar
    • localeconv - Sayısal biçemleme bilgisini döndürür
    • localtime - Yerel zamanı getirir
    • log - Natural logarithm
    • log1p - Returns log(1 + number), computed in a way that is accurate even when the value of number is close to zero
    • log10 - Base-10 logarithm
    • long2ip - Bir (IPv4) uzun tamsayılı ağ adresini noktalı gösterimi içeren bir dizgeye dönüştürür
    • lstat - Bir dosya veya sembolik bağ hakkında bilgi verir
    • ltrim - Dizgenin başındaki boşlukları (veya diğer karakterleri) budar
    • Lua::assign - Assign a PHP variable to Lua
    • Lua::call - Call Lua functions
    • Lua::eval - Evaluate a string as Lua code
    • Lua::getVersion - The getversion purpose
    • Lua::include - Parse a Lua script file
    • Lua::registerCallback - Register a PHP function to Lua
    • Lua::__construct - Lua constructor
    • LuaClosure::__invoke - Invoke luaclosure
    • LuaSandbox::callFunction - Call a function in a Lua global variable
    • LuaSandbox::disableProfiler - Disable the profiler
    • LuaSandbox::enableProfiler - Enable the profiler.
    • LuaSandbox::getCPUUsage - Fetch the current CPU time usage of the Lua environment
    • LuaSandbox::getMemoryUsage - Fetch the current memory usage of the Lua environment
    • LuaSandbox::getPeakMemoryUsage - Fetch the peak memory usage of the Lua environment
    • LuaSandbox::getProfilerFunctionReport - Fetch profiler data
    • LuaSandbox::getVersionInfo - Return the versions of LuaSandbox and Lua
    • LuaSandbox::loadBinary - Load a precompiled binary chunk into the Lua environment
    • LuaSandbox::loadString - Load Lua code into the Lua environment
    • LuaSandbox::pauseUsageTimer - Pause the CPU usage timer
    • LuaSandbox::registerLibrary - Register a set of PHP functions as a Lua library
    • LuaSandbox::setCPULimit - Set the CPU time limit for the Lua environment
    • LuaSandbox::setMemoryLimit - Set the memory limit for the Lua environment
    • LuaSandbox::unpauseUsageTimer - Unpause the timer paused by LuaSandbox::pauseUsageTimer
    • LuaSandbox::wrapPhpFunction - Wrap a PHP callable in a LuaSandboxFunction
    • LuaSandboxFunction::call - Call a Lua function
    • LuaSandboxFunction::dump - Dump the function as a binary blob
    • LuaSandboxFunction::__construct - Unused
    • lzf_compress - LZF sıkıştırma işlemi
    • lzf_decompress - LZF sıkıştırmasını açma işlemi
    • lzf_optimized_for - LZF eklentisinin neye göre en iyilendirildiğini bildirir
  • m
    • mail - Eposta gönderir
    • mailparse_determine_best_xfer_encoding - Gets the best way of encoding
    • mailparse_msg_create - Create a mime mail resource
    • mailparse_msg_extract_part - Extracts/decodes a message section
    • mailparse_msg_extract_part_file - Extracts/decodes a message section
    • mailparse_msg_extract_whole_part_file - Extracts a message section including headers without decoding the transfer encoding
    • mailparse_msg_free - Frees a MIME resource
    • mailparse_msg_get_part - Returns a handle on a given section in a mimemessage
    • mailparse_msg_get_part_data - Returns an associative array of info about the message
    • mailparse_msg_get_structure - Returns an array of mime section names in the supplied message
    • mailparse_msg_parse - Incrementally parse data into buffer
    • mailparse_msg_parse_file - Parses a file
    • mailparse_rfc822_parse_addresses - Parse RFC 822 compliant addresses
    • mailparse_stream_encode - Streams data from source file pointer, apply encoding and write to destfp
    • mailparse_uudecode_all - Scans the data from fp and extract each embedded uuencoded file
    • max - Find highest value
    • mb_check_encoding - Dizgelerin belirtilen kodlama için geçerli olup olmadığını sınar
    • mb_chr - Unicode karakter koduna göre karakteri döndürür
    • mb_convert_case - Bir dizgeye büyük-küçük harf dönüşümü uygular
    • mb_convert_encoding - Karakter kodlaması dönüşümü yapar
    • mb_convert_kana - Bir "kana" dizgeyi diğerine ("zen-kaku", "han-kaku" vs.) dönüştürür
    • mb_convert_variables - Değişken içeriğinin karakter kodlamasını dönüştürür
    • mb_decode_mimeheader - MIME başlık alanındaki dizgeyi dönüştürür
    • mb_decode_numericentity - HTML sayısal karakter gösterimini karaktere dönüştürür
    • mb_detect_encoding - Karakter kodlamasını algılar
    • mb_detect_order - Karakter kodlaması algılama sırasını tanımlar/döndürür
    • mb_encode_mimeheader - Dizgeyi MIME başlığı için kodlar
    • mb_encode_numericentity - Karakter kodlarını HTML sayısal karakter gösterimlerine dönüştürür
    • mb_encoding_aliases - Bilinen bir kodlama türünün takma adını döndürür
    • mb_ereg - Düzenli ifadeyi çok baytlı karakter desteğiyle eşleştirir
    • mb_eregi - Harf büyüklüğüne duyarsız çok baytlı düzenli ifade eşleştirmesi uygular
    • mb_eregi_replace - Harf büyüklüğüne duyarsız çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
    • mb_ereg_match - Çok baytlı dizge için düzenli ifadeyi eşleştirir
    • mb_ereg_replace - Çok baytlı karakter destekli düzenli ifade yer değiştirmesi yapar
    • mb_ereg_replace_callback - Bir düzenli ifade araması yapıp bir geriçağırım kullanarak çok baytlı yer değiştirme uygular
    • mb_ereg_search - Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifade eşleştirmesi yapar
    • mb_ereg_search_getpos - Sonraki düzenli ifade eşleşmesi için başlangıç konumunu döndürür
    • mb_ereg_search_getregs - Sonuncu çok baytlı düzenli ifade eşleşmesinin sonucunu döndürür
    • mb_ereg_search_init - Çok baytlı düzenli ifade eşleşmesi için kullanılacak dizge ve düzenli ifadeyi tanımlar
    • mb_ereg_search_pos - Evvelce tanımlanmış çok baytlı dizge için çok baytlı düzenli ifadenin eşleşen parçasının uzunluğunu ve konumunu döndürür
    • mb_ereg_search_regs - Çok baytlı düzenli ifadenin eşleşen parçası ile döner
    • mb_ereg_search_setpos - Sonraki düzenli ifade eşleşmesinin başlangıç noktasını tanımlar
    • mb_get_info - Mbstring bağımsız değişkenlerinin dahili ayarlarını döndürür
    • mb_http_input - HTTP girdi karakter kodlamasını algılar
    • mb_http_output - HTTP çıktı karakter kodlamasını tanımlar/döndürür
    • mb_internal_encoding - Dahili karakter kodlamasını tanımlar/döndürür
    • mb_language - Geçerli dili tanımlar/döndürür
    • mb_list_encodings - Desteklenen kodlamaların tamamını bir dizi olarak döndürür
    • mb_ord - Karakterin Unicode karakter kodunu döndürür
    • mb_output_handler - Çıktı tamporundaki karakter kodlamasını dönüştüren geriçağırım işlevi
    • mb_parse_str - GET/POST/COOKIE verisini çözümler ve küresel değişkenleri tanımlar
    • mb_preferred_mime_name - MIME karakter kümesi dizgesini döndürür
    • mb_regex_encoding - Çok baytlı düzenli ifade işlevleri için geçerli kodlamayı dizge olarak atar/döndürür
    • mb_regex_set_options - mbregex işlevleri için öntanımlı seçenekleri tanımlar/döndürür
    • mb_scrub - Bozuk bayt dizilerini yedek karakterle değiştirir
    • mb_send_mail - Kodlanmış olarak posta gönderir
    • mb_split - Çok baytlı bir dizgeyi düzenli ifade ile parçalara ayırır
    • mb_strcut - Dizgenin başlangıcı ve uzunluğu belirtilen parçası ile döner
    • mb_strimwidth - Dizgeyi belirtilen genişlikte kırpar
    • mb_stripos - Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
    • mb_stristr - Harf büyüklüğüne duyarsız olarak, bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
    • mb_strlen - Dizge uzunluğu ile döner
    • mb_strpos - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktanın indisini döndürür
    • mb_strrchr - Bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
    • mb_strrichr - Harf büyüklüğüne duyarsız olarak bir dizgenin içinde bulunan bir karaktere göre dizgenin ilk veya son bölümü ile döner
    • mb_strripos - Bir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür
    • mb_strrpos - Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür
    • mb_strstr - Bir dizgenin içinde başka bir dizgeye ilk rastlanılan noktaya göre dizgenin ilk veya son bölümü ile döner
    • mb_strtolower - Dizgeyi küçük harfli yapar
    • mb_strtoupper - Dizgeyi büyük harfli yapar
    • mb_strwidth - Dizge genişliğini döndürür
    • mb_str_pad - Pad a multibyte string to a certain length with another multibyte string
    • mb_str_split - Belirtilen çok baytlı dizgenin karakterlerini içeren bir dizi döndürür
    • mb_substitute_character - İkame karakteri atar/döndürür
    • mb_substr - Dizgenin bir alt dizgesini alır
    • mb_substr_count - Mevcut alt dizgelerin sayısı ile döner
    • mcrypt_create_iv - Rasgele bir kaynaktan bir ilklendirme vektörü (IV) oluşturur
    • mcrypt_decrypt - Belirtilen bağımsız değişkenlerle şifreli bir metnin şifresini çözer
    • mcrypt_encrypt - Salt metin veriyi belirtilen bağımsız değişkenlerle şifreler
    • mcrypt_enc_get_algorithms_name - Açık algoritmanın adını döndürür
    • mcrypt_enc_get_block_size - Açık algoritmanın küme boyunu döndürür
    • mcrypt_enc_get_iv_size - Açık algoritmanın ilklendirme vektörü uzunluğunu döndürür
    • mcrypt_enc_get_key_size - Açık kipin desteklediği azami anahtar uzunluğunu döndürür
    • mcrypt_enc_get_modes_name - Açık kipin ismini döndürür
    • mcrypt_enc_get_supported_key_sizes - Açık algoritmanın desteklediği anahtar boylarını listeler
    • mcrypt_enc_is_block_algorithm - Açık kipin algoritması bir küme algoritması mı diye bakar
    • mcrypt_enc_is_block_algorithm_mode - Açık kipte şifreleme kümeler halinde mi yapılıyor diye bakar
    • mcrypt_enc_is_block_mode - Açık kip küme çıktılayan türde mi diye bakar
    • mcrypt_enc_self_test - Şifreleme tanıtıcısı ile belirtilen modülün kendi kendini sınamasını sağlar
    • mcrypt_generic - Veriyi şifreler
    • mcrypt_generic_deinit - Bir şifreleme tanıtıcısını yeniden ilklendirir
    • mcrypt_generic_init - Şifreleme için gerekli tüm tamponları ilklendirir
    • mcrypt_get_block_size - Belirtilen şifrenin küme uzunluğunu döndürür
    • mcrypt_get_cipher_name - Belirtilen şifrenin ismini döndürür
    • mcrypt_get_iv_size - Belirtilen şifre ve kipe özgü IV uzunluğunu döndürür
    • mcrypt_get_key_size - Belirtilen şifrenin anahtar uzunluğunu döndürür
    • mcrypt_list_algorithms - Desteklenen şifreleri listeler
    • mcrypt_list_modes - Desteklenen kiplerin listesini döndürür
    • mcrypt_module_close - Şifreleme tanıtıcısını kapatır
    • mcrypt_module_get_algo_block_size - Belirtilen algoritmanın küme boyunu döndürür
    • mcrypt_module_get_algo_key_size - Belirtilen algoritmanın desteklediği azami anahtar uzunluğunu döndürür
    • mcrypt_module_get_supported_key_sizes - Belirtilen algoritmanın desteklediği anahtar boyutlarını listeler
    • mcrypt_module_is_block_algorithm - Belirtilen algoritma bir küme algoritması mı diye bakar
    • mcrypt_module_is_block_algorithm_mode - Belirtilen kip, küme algoritmaları ile kullanılabiliryor mu diye bakar
    • mcrypt_module_is_block_mode - Belirtilen kip bir küme kipi mi diye bakar
    • mcrypt_module_open - Kullanılacak kipi ve algoritma modülünü açar
    • mcrypt_module_self_test - Belirtilen modülün kendini kendini sınamasını sağlar
    • md5 - Bir dizgenin md5 özetini hesaplar
    • md5_file - Belirtilen dosyanın md5 özetini hesaplar
    • mdecrypt_generic - Verinin şifresini çözer
    • Memcache::add - Add an item to the server
    • Memcache::addServer - Add a memcached server to connection pool
    • Memcache::close - Close memcached server connection
    • Memcache::connect - Open memcached server connection
    • Memcache::decrement - Decrement item's value
    • Memcache::delete - Delete item from the server
    • Memcache::flush - Flush all existing items at the server
    • Memcache::get - Retrieve item from the server
    • Memcache::getExtendedStats - Get statistics from all servers in pool
    • Memcache::getServerStatus - Returns server status
    • Memcache::getStats - Get statistics of the server
    • Memcache::getVersion - Return version of the server
    • Memcache::increment - Increment item's value
    • Memcache::pconnect - Open memcached server persistent connection
    • Memcache::replace - Replace value of the existing item
    • Memcache::set - Store data at the server
    • Memcache::setCompressThreshold - Enable automatic compression of large values
    • Memcache::setServerParams - Changes server parameters and status at runtime
    • Memcached::add - Add an item under a new key
    • Memcached::addByKey - Add an item under a new key on a specific server
    • Memcached::addServer - Add a server to the server pool
    • Memcached::addServers - Add multiple servers to the server pool
    • Memcached::append - Append data to an existing item
    • Memcached::appendByKey - Append data to an existing item on a specific server
    • Memcached::cas - Compare and swap an item
    • Memcached::casByKey - Compare and swap an item on a specific server
    • Memcached::decrement - Decrement numeric item's value
    • Memcached::decrementByKey - Decrement numeric item's value, stored on a specific server
    • Memcached::delete - Delete an item
    • Memcached::deleteByKey - Delete an item from a specific server
    • Memcached::deleteMulti - Delete multiple items
    • Memcached::deleteMultiByKey - Delete multiple items from a specific server
    • Memcached::fetch - Fetch the next result
    • Memcached::fetchAll - Fetch all the remaining results
    • Memcached::flush - Invalidate all items in the cache
    • Memcached::get - Retrieve an item
    • Memcached::getAllKeys - Gets the keys stored on all the servers
    • Memcached::getByKey - Retrieve an item from a specific server
    • Memcached::getDelayed - Request multiple items
    • Memcached::getDelayedByKey - Request multiple items from a specific server
    • Memcached::getMulti - Retrieve multiple items
    • Memcached::getMultiByKey - Retrieve multiple items from a specific server
    • Memcached::getOption - Retrieve a Memcached option value
    • Memcached::getResultCode - Return the result code of the last operation
    • Memcached::getResultMessage - Return the message describing the result of the last operation
    • Memcached::getServerByKey - Map a key to a server
    • Memcached::getServerList - Get the list of the servers in the pool
    • Memcached::getStats - Get server pool statistics
    • Memcached::getVersion - Get server pool version info
    • Memcached::increment - Increment numeric item's value
    • Memcached::incrementByKey - Increment numeric item's value, stored on a specific server
    • Memcached::isPersistent - Check if a persitent connection to memcache is being used
    • Memcached::isPristine - Check if the instance was recently created
    • Memcached::prepend - Prepend data to an existing item
    • Memcached::prependByKey - Prepend data to an existing item on a specific server
    • Memcached::quit - Close any open connections
    • Memcached::replace - Replace the item under an existing key
    • Memcached::replaceByKey - Replace the item under an existing key on a specific server
    • Memcached::resetServerList - Clears all servers from the server list
    • Memcached::set - Store an item
    • Memcached::setByKey - Store an item on a specific server
    • Memcached::setMulti - Store multiple items
    • Memcached::setMultiByKey - Store multiple items on a specific server
    • Memcached::setOption - Set a Memcached option
    • Memcached::setOptions - Set Memcached options
    • Memcached::setSaslAuthData - Set the credentials to use for authentication
    • Memcached::touch - Set a new expiration on an item
    • Memcached::touchByKey - Set a new expiration on an item on a specific server
    • Memcached::__construct - Create a Memcached instance
    • memcache_debug - Turn debug output on/off
    • memory_get_peak_usage - PHP'ye ayrılan belleğin azami miktarını döndürür
    • memory_get_usage - PHP'ye ayrılan belleğin miktarını döndürür
    • memory_reset_peak_usage - Reset the peak memory usage
    • MessageFormatter::create - Yeni bir ileti biçemleyici nesne oluşturur
    • MessageFormatter::format - İleti biçemler
    • MessageFormatter::formatMessage - İletiyi çabuk biçemler
    • MessageFormatter::getErrorCode - Son işlemin hata kodunu döndürür
    • MessageFormatter::getErrorMessage - Son işlemin hata iletisini döndürür
    • MessageFormatter::getLocale - Biçemleyicinin oluşturulduğu yereli döndürür
    • MessageFormatter::getPattern - Biçemleyici tarafından kullanılan kalıbı döndürür
    • MessageFormatter::parse - Girdi dizgesini kalıba uygun olarak çözümler
    • MessageFormatter::parseMessage - Girdi dizgesini hızla çözümler
    • MessageFormatter::setPattern - Biçemleyici tarafından kullanılacak kalıbı tanımlar
    • metaphone - Bir dizgenin metafon anahtarını hesaplar
    • method_exists - Bir sınıf yöntemi mevcut mu diye bakar
    • mhash - İleti aşını hesaplar
    • mhash_count - Kullanılabilecek en yüksek algoritmanın kimliğini döndürür
    • mhash_get_block_size - Belirtilen algoritmanın küme boyunu döndürür
    • mhash_get_hash_name - Belirtilen algoritmanın ismini döndürür
    • mhash_keygen_s2k - Bir anahtar üretir
    • microtime - Geçerli Unix zaman damgasını mikrosaniye olarak döndürür
    • mime_content_type - Bir dosya için MIME içerik türünü saptar
    • min - Find lowest value
    • mkdir - Dizin oluşturur
    • mktime - Bir tarih için Unix zaman damgasını döndürür
    • money_format - Bir sayıyı para olarak biçemler
    • MongoDB\BSON\Binary::getData - Returns the Binary's data
    • MongoDB\BSON\Binary::getType - Returns the Binary's type
    • MongoDB\BSON\Binary::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Binary::serialize - Serialize a Binary
    • MongoDB\BSON\Binary::unserialize - Unserialize a Binary
    • MongoDB\BSON\Binary::__construct - Construct a new Binary
    • MongoDB\BSON\Binary::__toString - Returns the Binary's data
    • MongoDB\BSON\BinaryInterface::getData - Returns the BinaryInterface's data
    • MongoDB\BSON\BinaryInterface::getType - Returns the BinaryInterface's type
    • MongoDB\BSON\BinaryInterface::__toString - Returns the BinaryInterface's data
    • MongoDB\BSON\DBPointer::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\DBPointer::serialize - Serialize a DBPointer
    • MongoDB\BSON\DBPointer::unserialize - Unserialize a DBPointer
    • MongoDB\BSON\DBPointer::__construct - Construct a new DBPointer (unused)
    • MongoDB\BSON\DBPointer::__toString - Returns an empty string
    • MongoDB\BSON\Decimal128::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Decimal128::serialize - Serialize a Decimal128
    • MongoDB\BSON\Decimal128::unserialize - Unserialize a Decimal128
    • MongoDB\BSON\Decimal128::__construct - Construct a new Decimal128
    • MongoDB\BSON\Decimal128::__toString - Returns the string representation of this Decimal128
    • MongoDB\BSON\Decimal128Interface::__toString - Returns the string representation of this Decimal128Interface
    • MongoDB\BSON\Document::fromBSON - Construct a new document instance from a BSON string
    • MongoDB\BSON\Document::fromJSON - Construct a new document instance from a JSON string
    • MongoDB\BSON\Document::fromPHP - Construct a new document instance from PHP data
    • MongoDB\BSON\Document::get - Returns the value of a key in the document
    • MongoDB\BSON\Document::getIterator - Returns an iterator for the BSON document
    • MongoDB\BSON\Document::has - Returns whether a key is present in the document
    • MongoDB\BSON\Document::serialize - Serialize a Document
    • MongoDB\BSON\Document::toCanonicalExtendedJSON - Returns the Canonical Extended JSON representation of the BSON document
    • MongoDB\BSON\Document::toPHP - Returns the PHP representation of the BSON document
    • MongoDB\BSON\Document::toRelaxedExtendedJSON - Returns the Relaxed Extended JSON representation of the BSON document
    • MongoDB\BSON\Document::unserialize - Unserialize a BSON document
    • MongoDB\BSON\Document::__construct - Construct a new BSON document (unused)
    • MongoDB\BSON\Document::__toString - Returns the string representation of this BSON Document
    • MongoDB\BSON\fromJSON - Returns the BSON representation of a JSON value
    • MongoDB\BSON\fromPHP - Returns the BSON representation of a PHP value
    • MongoDB\BSON\Int64::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Int64::serialize - Serialize an Int64
    • MongoDB\BSON\Int64::unserialize - Unserialize an Int64
    • MongoDB\BSON\Int64::__construct - Construct a new Int64
    • MongoDB\BSON\Int64::__toString - Returns the string representation of this Int64
    • MongoDB\BSON\Iterator::current - Returns the current element
    • MongoDB\BSON\Iterator::key - Returns the key of the current element
    • MongoDB\BSON\Iterator::next - Advances the iterator to next element
    • MongoDB\BSON\Iterator::rewind - Rewinds the Iterator to the first element
    • MongoDB\BSON\Iterator::valid - Checks if current position is valid
    • MongoDB\BSON\Iterator::__construct - Construct a new BSON iterator (unused)
    • MongoDB\BSON\Javascript::getCode - Returns the Javascript's code
    • MongoDB\BSON\Javascript::getScope - Returns the Javascript's scope document
    • MongoDB\BSON\Javascript::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Javascript::serialize - Serialize a Javascript
    • MongoDB\BSON\Javascript::unserialize - Unserialize a Javascript
    • MongoDB\BSON\Javascript::__construct - Construct a new Javascript
    • MongoDB\BSON\Javascript::__toString - Returns the Javascript's code
    • MongoDB\BSON\JavascriptInterface::getCode - Returns the JavascriptInterface's code
    • MongoDB\BSON\JavascriptInterface::getScope - Returns the JavascriptInterface's scope document
    • MongoDB\BSON\JavascriptInterface::__toString - Returns the JavascriptInterface's code
    • MongoDB\BSON\MaxKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MaxKey::serialize - Serialize a MaxKey
    • MongoDB\BSON\MaxKey::unserialize - Unserialize a MaxKey
    • MongoDB\BSON\MaxKey::__construct - Construct a new MaxKey
    • MongoDB\BSON\MinKey::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\MinKey::serialize - Serialize a MinKey
    • MongoDB\BSON\MinKey::unserialize - Unserialize a MinKey
    • MongoDB\BSON\MinKey::__construct - Construct a new MinKey
    • MongoDB\BSON\ObjectId::getTimestamp - Returns the timestamp component of this ObjectId
    • MongoDB\BSON\ObjectId::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\ObjectId::serialize - Serialize an ObjectId
    • MongoDB\BSON\ObjectId::unserialize - Unserialize an ObjectId
    • MongoDB\BSON\ObjectId::__construct - Construct a new ObjectId
    • MongoDB\BSON\ObjectId::__toString - Returns the hexidecimal representation of this ObjectId
    • MongoDB\BSON\ObjectIdInterface::getTimestamp - Returns the timestamp component of this ObjectIdInterface
    • MongoDB\BSON\ObjectIdInterface::__toString - Returns the hexidecimal representation of this ObjectIdInterface
    • MongoDB\BSON\PackedArray::fromPHP - Construct a new BSON array instance from PHP data
    • MongoDB\BSON\PackedArray::get - Returns the value of an index in the array
    • MongoDB\BSON\PackedArray::getIterator - Returns an iterator for the BSON array
    • MongoDB\BSON\PackedArray::has - Returns whether a index is present in the array
    • MongoDB\BSON\PackedArray::serialize - Serialize a BSON array
    • MongoDB\BSON\PackedArray::toPHP - Returns the PHP representation of the BSON array
    • MongoDB\BSON\PackedArray::unserialize - Unserialize a BSON array
    • MongoDB\BSON\PackedArray::__construct - Construct a new BSON array (unused)
    • MongoDB\BSON\PackedArray::__toString - Returns the string representation of this BSON array
    • MongoDB\BSON\Persistable::bsonSerialize - Provides an array or document to serialize as BSON
    • MongoDB\BSON\Regex::getFlags - Returns the Regex's flags
    • MongoDB\BSON\Regex::getPattern - Returns the Regex's pattern
    • MongoDB\BSON\Regex::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Regex::serialize - Serialize a Regex
    • MongoDB\BSON\Regex::unserialize - Unserialize a Regex
    • MongoDB\BSON\Regex::__construct - Construct a new Regex
    • MongoDB\BSON\Regex::__toString - Returns the string representation of this Regex
    • MongoDB\BSON\RegexInterface::getFlags - Returns the RegexInterface's flags
    • MongoDB\BSON\RegexInterface::getPattern - Returns the RegexInterface's pattern
    • MongoDB\BSON\RegexInterface::__toString - Returns the string representation of this RegexInterface
    • MongoDB\BSON\Serializable::bsonSerialize - Provides an array or document to serialize as BSON
    • MongoDB\BSON\Symbol::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Symbol::serialize - Serialize a Symbol
    • MongoDB\BSON\Symbol::unserialize - Unserialize a Symbol
    • MongoDB\BSON\Symbol::__construct - Construct a new Symbol (unused)
    • MongoDB\BSON\Symbol::__toString - Returns the Symbol as a string
    • MongoDB\BSON\Timestamp::getIncrement - Returns the increment component of this Timestamp
    • MongoDB\BSON\Timestamp::getTimestamp - Returns the timestamp component of this Timestamp
    • MongoDB\BSON\Timestamp::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Timestamp::serialize - Serialize a Timestamp
    • MongoDB\BSON\Timestamp::unserialize - Unserialize a Timestamp
    • MongoDB\BSON\Timestamp::__construct - Construct a new Timestamp
    • MongoDB\BSON\Timestamp::__toString - Returns the string representation of this Timestamp
    • MongoDB\BSON\TimestampInterface::getIncrement - Returns the increment component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::getTimestamp - Returns the timestamp component of this TimestampInterface
    • MongoDB\BSON\TimestampInterface::__toString - Returns the string representation of this TimestampInterface
    • MongoDB\BSON\toCanonicalExtendedJSON - Returns the Canonical Extended JSON representation of a BSON value
    • MongoDB\BSON\toJSON - Returns the Legacy Extended JSON representation of a BSON value
    • MongoDB\BSON\toPHP - Returns the PHP representation of a BSON value
    • MongoDB\BSON\toRelaxedExtendedJSON - Returns the Relaxed Extended JSON representation of a BSON value
    • MongoDB\BSON\Undefined::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\Undefined::serialize - Serialize a Undefined
    • MongoDB\BSON\Undefined::unserialize - Unserialize a Undefined
    • MongoDB\BSON\Undefined::__construct - Construct a new Undefined (unused)
    • MongoDB\BSON\Undefined::__toString - Returns an empty string
    • MongoDB\BSON\Unserializable::bsonUnserialize - Constructs the object from a BSON array or document
    • MongoDB\BSON\UTCDateTime::jsonSerialize - Returns a representation that can be converted to JSON
    • MongoDB\BSON\UTCDateTime::serialize - Serialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::toDateTime - Returns the DateTime representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTime::unserialize - Unserialize a UTCDateTime
    • MongoDB\BSON\UTCDateTime::__construct - Construct a new UTCDateTime
    • MongoDB\BSON\UTCDateTime::__toString - Returns the string representation of this UTCDateTime
    • MongoDB\BSON\UTCDateTimeInterface::toDateTime - Returns the DateTime representation of this UTCDateTimeInterface
    • MongoDB\BSON\UTCDateTimeInterface::__toString - Returns the string representation of this UTCDateTimeInterface
    • MongoDB\Driver\BulkWrite::count - Count number of write operations in the bulk
    • MongoDB\Driver\BulkWrite::delete - Add a delete operation to the bulk
    • MongoDB\Driver\BulkWrite::insert - Add an insert operation to the bulk
    • MongoDB\Driver\BulkWrite::update - Add an update operation to the bulk
    • MongoDB\Driver\BulkWrite::__construct - Create a new BulkWrite
    • MongoDB\Driver\ClientEncryption::addKeyAltName - Adds an alternate name to a key document
    • MongoDB\Driver\ClientEncryption::createDataKey - Creates a key document
    • MongoDB\Driver\ClientEncryption::decrypt - Decrypt a value
    • MongoDB\Driver\ClientEncryption::deleteKey - Deletes a key document
    • MongoDB\Driver\ClientEncryption::encrypt - Encrypt a value
    • MongoDB\Driver\ClientEncryption::encryptExpression - Encrypts a match or aggregate expression
    • MongoDB\Driver\ClientEncryption::getKey - Gets a key document
    • MongoDB\Driver\ClientEncryption::getKeyByAltName - Gets a key document by an alternate name
    • MongoDB\Driver\ClientEncryption::getKeys - Gets all key documents
    • MongoDB\Driver\ClientEncryption::removeKeyAltName - Removes an alternate name from a key document
    • MongoDB\Driver\ClientEncryption::rewrapManyDataKey - Rewraps data keys
    • MongoDB\Driver\ClientEncryption::__construct - Create a new ClientEncryption object
    • MongoDB\Driver\Command::__construct - Create a new Command
    • MongoDB\Driver\Cursor::current - Returns the current element
    • MongoDB\Driver\Cursor::getId - Returns the ID for this cursor
    • MongoDB\Driver\Cursor::getServer - Returns the server associated with this cursor
    • MongoDB\Driver\Cursor::isDead - Checks if the cursor is exhausted or may have additional results
    • MongoDB\Driver\Cursor::key - Returns the current result's index within the cursor
    • MongoDB\Driver\Cursor::next - Advances the cursor to the next result
    • MongoDB\Driver\Cursor::rewind - Rewind the cursor to the first result
    • MongoDB\Driver\Cursor::setTypeMap - Sets a type map to use for BSON unserialization
    • MongoDB\Driver\Cursor::toArray - Returns an array containing all results for this cursor
    • MongoDB\Driver\Cursor::valid - Checks if the current position in the cursor is valid
    • MongoDB\Driver\Cursor::__construct - Create a new Cursor (not used)
    • MongoDB\Driver\CursorId::serialize - Serialize a CursorId
    • MongoDB\Driver\CursorId::unserialize - Unserialize a CursorId
    • MongoDB\Driver\CursorId::__construct - Create a new CursorId (not used)
    • MongoDB\Driver\CursorId::__toString - String representation of the cursor ID
    • MongoDB\Driver\CursorInterface::getId - Returns the ID for this cursor
    • MongoDB\Driver\CursorInterface::getServer - Returns the server associated with this cursor
    • MongoDB\Driver\CursorInterface::isDead - Checks if the cursor may have additional results
    • MongoDB\Driver\CursorInterface::setTypeMap - Sets a type map to use for BSON unserialization
    • MongoDB\Driver\CursorInterface::toArray - Returns an array containing all results for this cursor
    • MongoDB\Driver\Exception\CommandException::getResultDocument - Returns the result document for the failed command
    • MongoDB\Driver\Exception\RuntimeException::hasErrorLabel - Returns whether an error label is associated with an exception
    • MongoDB\Driver\Exception\WriteException::getWriteResult - Returns the WriteResult for the failed write operation
    • MongoDB\Driver\Manager::addSubscriber - Registers a monitoring event subscriber with this Manager
    • MongoDB\Driver\Manager::createClientEncryption - Create a new ClientEncryption object
    • MongoDB\Driver\Manager::executeBulkWrite - Execute one or more write operations
    • MongoDB\Driver\Manager::executeCommand - Execute a database command
    • MongoDB\Driver\Manager::executeQuery - Execute a database query
    • MongoDB\Driver\Manager::executeReadCommand - Execute a database command that reads
    • MongoDB\Driver\Manager::executeReadWriteCommand - Execute a database command that reads and writes
    • MongoDB\Driver\Manager::executeWriteCommand - Execute a database command that writes
    • MongoDB\Driver\Manager::getEncryptedFieldsMap - Return the encryptedFieldsMap auto encryption option for the Manager
    • MongoDB\Driver\Manager::getReadConcern - Return the ReadConcern for the Manager
    • MongoDB\Driver\Manager::getReadPreference - Return the ReadPreference for the Manager
    • MongoDB\Driver\Manager::getServers - Return the servers to which this manager is connected
    • MongoDB\Driver\Manager::getWriteConcern - Return the WriteConcern for the Manager
    • MongoDB\Driver\Manager::removeSubscriber - Unregisters a monitoring event subscriber with this Manager
    • MongoDB\Driver\Manager::selectServer - Select a server matching a read preference
    • MongoDB\Driver\Manager::startSession - Start a new client session for use with this client
    • MongoDB\Driver\Manager::__construct - Create new MongoDB Manager
    • MongoDB\Driver\Monitoring\addSubscriber - Registers a monitoring event subscriber globally
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros - Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getError - Returns the Exception associated with the failed command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getReply - Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId - Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId - Returns the load balancer service ID for the command
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand - Returns the command document
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName - Returns the database on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId - Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId - Returns the load balancer service ID for the command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed - Notification method for a failed command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted - Notification method for a started command
    • MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded - Notification method for a successful command
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName - Returns the command name
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros - Returns the command's duration in microseconds
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId - Returns the command's operation ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply - Returns the command reply document
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId - Returns the command's request ID
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer - Returns the Server on which the command was executed
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId - Returns the server connection ID for the command
    • MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId - Returns the load balancer service ID for the command
    • MongoDB\Driver\Monitoring\LogSubscriber::log - Notification method for a log message
    • MongoDB\Driver\Monitoring\removeSubscriber - Unregisters a monitoring event subscriber globally
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged - Notification method for a server description change
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed - Notification method for closing a server
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed - Notification method for a failed server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted - Notification method for a started server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded - Notification method for a successful server heartbeat
    • MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening - Notification method for opening a server
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged - Notification method for a topology description change
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed - Notification method for closing the topology
    • MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening - Notification method for opening the topology
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription - Returns the new description for the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription - Returns the previous description for the server
    • MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId - Returns the topology ID associated with this server
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId - Returns the topology ID associated with this server
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros - Returns the heartbeat's duration in microseconds
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError - Returns the Exception associated with the failed heartbeat
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited - Returns whether the heartbeat used a streaming protocol
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited - Returns whether the heartbeat used a streaming protocol
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros - Returns the heartbeat's duration in microseconds
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply - Returns the heartbeat reply document
    • MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited - Returns whether the heartbeat used a streaming protocol
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost - Returns the hostname of the server
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId - Returns the topology ID associated with this server
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription - Returns the new description for the topology
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription - Returns the previous description for the topology
    • MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId - Returns the topology ID
    • MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId - Returns the topology ID
    • MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId - Returns the topology ID
    • MongoDB\Driver\Query::__construct - Create a new Query
    • MongoDB\Driver\ReadConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadConcern::getLevel - Returns the ReadConcern's "level" option
    • MongoDB\Driver\ReadConcern::isDefault - Checks if this is the default read concern
    • MongoDB\Driver\ReadConcern::serialize - Serialize a ReadConcern
    • MongoDB\Driver\ReadConcern::unserialize - Unserialize a ReadConcern
    • MongoDB\Driver\ReadConcern::__construct - Create a new ReadConcern
    • MongoDB\Driver\ReadPreference::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ReadPreference::getHedge - Returns the ReadPreference's "hedge" option
    • MongoDB\Driver\ReadPreference::getMaxStalenessSeconds - Returns the ReadPreference's "maxStalenessSeconds" option
    • MongoDB\Driver\ReadPreference::getMode - Returns the ReadPreference's "mode" option
    • MongoDB\Driver\ReadPreference::getModeString - Returns the ReadPreference's "mode" option as a string
    • MongoDB\Driver\ReadPreference::getTagSets - Returns the ReadPreference's "tagSets" option
    • MongoDB\Driver\ReadPreference::serialize - Serialize a ReadPreference
    • MongoDB\Driver\ReadPreference::unserialize - Unserialize a ReadPreference
    • MongoDB\Driver\ReadPreference::__construct - Create a new ReadPreference
    • MongoDB\Driver\Server::executeBulkWrite - Execute one or more write operations on this server
    • MongoDB\Driver\Server::executeCommand - Execute a database command on this server
    • MongoDB\Driver\Server::executeQuery - Execute a database query on this server
    • MongoDB\Driver\Server::executeReadCommand - Execute a database command that reads on this server
    • MongoDB\Driver\Server::executeReadWriteCommand - Execute a database command that reads and writes on this server
    • MongoDB\Driver\Server::executeWriteCommand - Execute a database command that writes on this server
    • MongoDB\Driver\Server::getHost - Returns the hostname of this server
    • MongoDB\Driver\Server::getInfo - Returns an array of information describing this server
    • MongoDB\Driver\Server::getLatency - Returns the latency of this server in milliseconds
    • MongoDB\Driver\Server::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\Server::getServerDescription - Returns a ServerDescription for this server
    • MongoDB\Driver\Server::getTags - Returns an array of tags describing this server in a replica set
    • MongoDB\Driver\Server::getType - Returns an integer denoting the type of this server
    • MongoDB\Driver\Server::isArbiter - Checks if this server is an arbiter member of a replica set
    • MongoDB\Driver\Server::isHidden - Checks if this server is a hidden member of a replica set
    • MongoDB\Driver\Server::isPassive - Checks if this server is a passive member of a replica set
    • MongoDB\Driver\Server::isPrimary - Checks if this server is a primary member of a replica set
    • MongoDB\Driver\Server::isSecondary - Checks if this server is a secondary member of a replica set
    • MongoDB\Driver\Server::__construct - Create a new Server (not used)
    • MongoDB\Driver\ServerApi::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\ServerApi::serialize - Serialize a ServerApi
    • MongoDB\Driver\ServerApi::unserialize - Unserialize a ServerApi
    • MongoDB\Driver\ServerApi::__construct - Create a new ServerApi instance
    • MongoDB\Driver\ServerDescription::getHelloResponse - Returns the server's most recent "hello" response
    • MongoDB\Driver\ServerDescription::getHost - Returns the hostname of this server
    • MongoDB\Driver\ServerDescription::getLastUpdateTime - Returns the server's last update time in microseconds
    • MongoDB\Driver\ServerDescription::getPort - Returns the port on which this server is listening
    • MongoDB\Driver\ServerDescription::getRoundTripTime - Returns the server's round trip time in milliseconds
    • MongoDB\Driver\ServerDescription::getType - Returns a string denoting the type of this server
    • MongoDB\Driver\Session::abortTransaction - Aborts a transaction
    • MongoDB\Driver\Session::advanceClusterTime - Advances the cluster time for this session
    • MongoDB\Driver\Session::advanceOperationTime - Advances the operation time for this session
    • MongoDB\Driver\Session::commitTransaction - Commits a transaction
    • MongoDB\Driver\Session::endSession - Terminates a session
    • MongoDB\Driver\Session::getClusterTime - Returns the cluster time for this session
    • MongoDB\Driver\Session::getLogicalSessionId - Returns the logical session ID for this session
    • MongoDB\Driver\Session::getOperationTime - Returns the operation time for this session
    • MongoDB\Driver\Session::getServer - Returns the server to which this session is pinned
    • MongoDB\Driver\Session::getTransactionOptions - Returns options for the currently running transaction
    • MongoDB\Driver\Session::getTransactionState - Returns the current transaction state for this session
    • MongoDB\Driver\Session::isDirty - Returns whether the session has been marked as dirty
    • MongoDB\Driver\Session::isInTransaction - Returns whether a multi-document transaction is in progress
    • MongoDB\Driver\Session::startTransaction - Starts a transaction
    • MongoDB\Driver\Session::__construct - Create a new Session (not used)
    • MongoDB\Driver\TopologyDescription::getServers - Returns the servers in the topology
    • MongoDB\Driver\TopologyDescription::getType - Returns a string denoting the type of this topology
    • MongoDB\Driver\TopologyDescription::hasReadableServer - Returns whether the topology has a readable server
    • MongoDB\Driver\TopologyDescription::hasWritableServer - Returns whether the topology has a writable server
    • MongoDB\Driver\WriteConcern::bsonSerialize - Returns an object for BSON serialization
    • MongoDB\Driver\WriteConcern::getJournal - Returns the WriteConcern's "journal" option
    • MongoDB\Driver\WriteConcern::getW - Returns the WriteConcern's "w" option
    • MongoDB\Driver\WriteConcern::getWtimeout - Returns the WriteConcern's "wtimeout" option
    • MongoDB\Driver\WriteConcern::isDefault - Checks if this is the default write concern
    • MongoDB\Driver\WriteConcern::serialize - Serialize a WriteConcern
    • MongoDB\Driver\WriteConcern::unserialize - Unserialize a WriteConcern
    • MongoDB\Driver\WriteConcern::__construct - Create a new WriteConcern
    • MongoDB\Driver\WriteConcernError::getCode - Returns the WriteConcernError's error code
    • MongoDB\Driver\WriteConcernError::getInfo - Returns metadata document for the WriteConcernError
    • MongoDB\Driver\WriteConcernError::getMessage - Returns the WriteConcernError's error message
    • MongoDB\Driver\WriteError::getCode - Returns the WriteError's error code
    • MongoDB\Driver\WriteError::getIndex - Returns the index of the write operation corresponding to this WriteError
    • MongoDB\Driver\WriteError::getInfo - Returns metadata document for the WriteError
    • MongoDB\Driver\WriteError::getMessage - Returns the WriteError's error message
    • MongoDB\Driver\WriteResult::getDeletedCount - Returns the number of documents deleted
    • MongoDB\Driver\WriteResult::getInsertedCount - Returns the number of documents inserted (excluding upserts)
    • MongoDB\Driver\WriteResult::getMatchedCount - Returns the number of documents selected for update
    • MongoDB\Driver\WriteResult::getModifiedCount - Returns the number of existing documents updated
    • MongoDB\Driver\WriteResult::getServer - Returns the server associated with this write result
    • MongoDB\Driver\WriteResult::getUpsertedCount - Returns the number of documents inserted by an upsert
    • MongoDB\Driver\WriteResult::getUpsertedIds - Returns an array of identifiers for upserted documents
    • MongoDB\Driver\WriteResult::getWriteConcernError - Returns any write concern error that occurred
    • MongoDB\Driver\WriteResult::getWriteErrors - Returns any write errors that occurred
    • MongoDB\Driver\WriteResult::isAcknowledged - Returns whether the write was acknowledged
    • move_uploaded_file - Karşıya yüklenen bir dosyayı yeni bir yere taşır
    • mqseries_back - MQSeries MQBACK
    • mqseries_begin - MQseries MQBEGIN
    • mqseries_close - MQSeries MQCLOSE
    • mqseries_cmit - MQSeries MQCMIT
    • mqseries_conn - MQSeries MQCONN
    • mqseries_connx - MQSeries MQCONNX
    • mqseries_disc - MQSeries MQDISC
    • mqseries_get - MQSeries MQGET
    • mqseries_inq - MQSeries MQINQ
    • mqseries_open - MQSeries MQOPEN
    • mqseries_put - MQSeries MQPUT
    • mqseries_put1 - MQSeries MQPUT1
    • mqseries_set - MQSeries MQSET
    • mqseries_strerror - Returns the error message corresponding to a result code (MQRC)
    • msg_get_queue - Create or attach to a message queue
    • msg_queue_exists - Check whether a message queue exists
    • msg_receive - Receive a message from a message queue
    • msg_remove_queue - Destroy a message queue
    • msg_send - Send a message to a message queue
    • msg_set_queue - Set information in the message queue data structure
    • msg_stat_queue - Returns information from the message queue data structure
    • mt_getrandmax - Show largest possible random value
    • mt_rand - Generate a random value via the Mersenne Twister Random Number Generator
    • mt_srand - Seeds the Mersenne Twister Random Number Generator
    • MultipleIterator::attachIterator - Attaches iterator information
    • MultipleIterator::containsIterator - Checks if an iterator is attached
    • MultipleIterator::countIterators - Gets the number of attached iterator instances
    • MultipleIterator::current - Gets the registered iterator instances
    • MultipleIterator::detachIterator - Detaches an iterator
    • MultipleIterator::getFlags - Gets the flag information
    • MultipleIterator::key - Gets the registered iterator instances
    • MultipleIterator::next - Moves all attached iterator instances forward
    • MultipleIterator::rewind - Rewinds all attached iterator instances
    • MultipleIterator::setFlags - Sets flags
    • MultipleIterator::valid - Checks the validity of sub iterators
    • MultipleIterator::__construct - Constructs a new MultipleIterator
    • mysqli::$affected_rows - Gets the number of affected rows in a previous MySQL operation
    • mysqli::$client_info - Get MySQL client info
    • mysqli::$client_version - Returns the MySQL client version as an integer
    • mysqli::$connect_errno - Returns the error code from last connect call
    • mysqli::$connect_error - Returns a description of the last connection error
    • mysqli::$errno - Returns the error code for the most recent function call
    • mysqli::$error - Returns a string description of the last error
    • mysqli::$error_list - Returns a list of errors from the last command executed
    • mysqli::$field_count - Returns the number of columns for the most recent query
    • mysqli::$host_info - Returns a string representing the type of connection used
    • mysqli::$info - Retrieves information about the most recently executed query
    • mysqli::$insert_id - Returns the value generated for an AUTO_INCREMENT column by the last query
    • mysqli::$protocol_version - Returns the version of the MySQL protocol used
    • mysqli::$server_info - Returns the version of the MySQL server
    • mysqli::$server_version - Returns the version of the MySQL server as an integer
    • mysqli::$sqlstate - Returns the SQLSTATE error from previous MySQL operation
    • mysqli::$thread_id - Returns the thread ID for the current connection
    • mysqli::$warning_count - Returns the number of warnings from the last query for the given link
    • mysqli::autocommit - Turns on or off auto-committing database modifications
    • mysqli::begin_transaction - Starts a transaction
    • mysqli::change_user - Changes the user of the specified database connection
    • mysqli::character_set_name - Returns the current character set of the database connection
    • mysqli::close - Closes a previously opened database connection
    • mysqli::commit - Commits the current transaction
    • mysqli::debug - Performs debugging operations
    • mysqli::dump_debug_info - Dump debugging information into the log
    • mysqli::escape_string - Takma Adı: mysqli_real_escape_string
    • mysqli::execute_query - Prepares, binds parameters, and executes SQL statement
    • mysqli::get_charset - Returns a character set object
    • mysqli::get_connection_stats - Returns statistics about the client connection
    • mysqli::get_warnings - Get result of SHOW WARNINGS
    • mysqli::init - Initializes MySQLi and returns an object for use with mysqli_real_connect()
    • mysqli::kill - Asks the server to kill a MySQL thread
    • mysqli::more_results - Check if there are any more query results from a multi query
    • mysqli::multi_query - Performs one or more queries on the database
    • mysqli::next_result - Prepare next result from multi_query
    • mysqli::options - Set options
    • mysqli::ping - Pings a server connection, or tries to reconnect if the connection has gone down
    • mysqli::poll - Poll connections
    • mysqli::prepare - Prepares an SQL statement for execution
    • mysqli::query - Performs a query on the database
    • mysqli::real_connect - Opens a connection to a mysql server
    • mysqli::real_escape_string - Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
    • mysqli::real_query - Execute an SQL query
    • mysqli::reap_async_query - Get result from async query
    • mysqli::refresh - Refreshes
    • mysqli::release_savepoint - Removes the named savepoint from the set of savepoints of the current transaction
    • mysqli::rollback - Rolls back current transaction
    • mysqli::savepoint - Set a named transaction savepoint
    • mysqli::select_db - Selects the default database for database queries
    • mysqli::set_charset - Sets the client character set
    • mysqli::set_opt - Takma Adı: mysqli_options
    • mysqli::ssl_set - Used for establishing secure connections using SSL
    • mysqli::stat - Gets the current system status
    • mysqli::stmt_init - Initializes a statement and returns an object for use with mysqli_stmt_prepare
    • mysqli::store_result - Transfers a result set from the last query
    • mysqli::thread_safe - Returns whether thread safety is given or not
    • mysqli::use_result - Initiate a result set retrieval
    • mysqli::__construct - Open a new connection to the MySQL server
    • mysqli_connect - Takma Adı: mysqli::__construct
    • mysqli_driver::$report_mode - Sets mysqli error reporting mode
    • mysqli_driver::embedded_server_end - Stop embedded server
    • mysqli_driver::embedded_server_start - Initialize and start embedded server
    • mysqli_execute - Takma Adı: mysqli_stmt_execute
    • mysqli_get_client_stats - Returns client per-process statistics
    • mysqli_get_links_stats - Return information about open and cached links
    • mysqli_report - Takma Adı: mysqli_driver->report_mode
    • mysqli_result::$current_field - Get current field offset of a result pointer
    • mysqli_result::$field_count - Gets the number of fields in the result set
    • mysqli_result::$lengths - Returns the lengths of the columns of the current row in the result set
    • mysqli_result::$num_rows - Gets the number of rows in the result set
    • mysqli_result::data_seek - Adjusts the result pointer to an arbitrary row in the result
    • mysqli_result::fetch_all - Fetch all result rows as an associative array, a numeric array, or both
    • mysqli_result::fetch_array - Fetch the next row of a result set as an associative, a numeric array, or both
    • mysqli_result::fetch_assoc - Fetch the next row of a result set as an associative array
    • mysqli_result::fetch_column - Fetch a single column from the next row of a result set
    • mysqli_result::fetch_field - Returns the next field in the result set
    • mysqli_result::fetch_fields - Returns an array of objects representing the fields in a result set
    • mysqli_result::fetch_field_direct - Fetch meta-data for a single field
    • mysqli_result::fetch_object - Fetch the next row of a result set as an object
    • mysqli_result::fetch_row - Fetch the next row of a result set as an enumerated array
    • mysqli_result::field_seek - Set result pointer to a specified field offset
    • mysqli_result::free - Frees the memory associated with a result
    • mysqli_result::getIterator - Retrieve an external iterator
    • mysqli_result::__construct - Constructs a mysqli_result object
    • mysqli_sql_exception::getSqlState - Returns the SQLSTATE error code
    • mysqli_stmt::$affected_rows - Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed
    • mysqli_stmt::$errno - Returns the error code for the most recent statement call
    • mysqli_stmt::$error - Returns a string description for last statement error
    • mysqli_stmt::$error_list - Returns a list of errors from the last statement executed
    • mysqli_stmt::$field_count - Returns the number of columns in the given statement
    • mysqli_stmt::$insert_id - Get the ID generated from the previous INSERT operation
    • mysqli_stmt::$num_rows - Returns the number of rows fetched from the server
    • mysqli_stmt::$param_count - Returns the number of parameters for the given statement
    • mysqli_stmt::$sqlstate - Returns SQLSTATE error from previous statement operation
    • mysqli_stmt::attr_get - Used to get the current value of a statement attribute
    • mysqli_stmt::attr_set - Used to modify the behavior of a prepared statement
    • mysqli_stmt::bind_param - Binds variables to a prepared statement as parameters
    • mysqli_stmt::bind_result - Binds variables to a prepared statement for result storage
    • mysqli_stmt::close - Closes a prepared statement
    • mysqli_stmt::data_seek - Adjusts the result pointer to an arbitrary row in the buffered result
    • mysqli_stmt::execute - Executes a prepared statement
    • mysqli_stmt::fetch - Fetch results from a prepared statement into the bound variables
    • mysqli_stmt::free_result - Frees stored result memory for the given statement handle
    • mysqli_stmt::get_result - Gets a result set from a prepared statement as a mysqli_result object
    • mysqli_stmt::get_warnings - Get result of SHOW WARNINGS
    • mysqli_stmt::more_results - Check if there are more query results from a multiple query
    • mysqli_stmt::next_result - Reads the next result from a multiple query
    • mysqli_stmt::prepare - Prepares an SQL statement for execution
    • mysqli_stmt::reset - Resets a prepared statement
    • mysqli_stmt::result_metadata - Returns result set metadata from a prepared statement
    • mysqli_stmt::send_long_data - Send data in blocks
    • mysqli_stmt::store_result - Stores a result set in an internal buffer
    • mysqli_stmt::__construct - Constructs a new mysqli_stmt object
    • mysqli_warning::next - Fetch next warning
    • mysqli_warning::__construct - Private constructor to disallow direct instantiation
    • mysql_affected_rows - Önceki MySQL işleminde etkilenen satırların sayısını al
    • mysql_client_encoding - Karakter kümesinin adını döndürür
    • mysql_close - MySQL bağlantısını kapatır
    • mysql_connect - MySQL Sunucusuna bir bağlantı açar
    • mysql_create_db - Bir MySQL veritabanı oluşturur
    • mysql_data_seek - Move internal result pointer
    • mysql_db_name - mysql_list_dbs çağrısından veritabanı adını alır
    • mysql_db_query - Veritabanını seçer ve bir sorgu çalıştırır
    • mysql_drop_db - Drop (delete) a MySQL database
    • mysql_errno - Returns the numerical value of the error message from previous MySQL operation
    • mysql_error - Returns the text of the error message from previous MySQL operation
    • mysql_escape_string - Escapes a string for use in a mysql_query
    • mysql_fetch_array - Fetch a result row as an associative array, a numeric array, or both
    • mysql_fetch_assoc - Fetch a result row as an associative array
    • mysql_fetch_field - Get column information from a result and return as an object
    • mysql_fetch_lengths - Bir sonuçtaki her bir çıktının uzunluğunu al
    • mysql_fetch_object - Fetch a result row as an object
    • mysql_fetch_row - Get a result row as an enumerated array
    • mysql_field_flags - Get the flags associated with the specified field in a result
    • mysql_field_len - Belirtilen alanın uzunluğunu döndürür
    • mysql_field_name - Get the name of the specified field in a result
    • mysql_field_seek - Sonuç göstericisini belirtilen alan konumuna ayarla
    • mysql_field_table - Belirtilen alanı içeren tablonun adını al
    • mysql_field_type - Get the type of the specified field in a result
    • mysql_free_result - Sonuç belleğini serbest bırakır
    • mysql_get_client_info - MySQL istemci sürüm bilgisini al
    • mysql_get_host_info - MySQL konak bilgisini al
    • mysql_get_proto_info - MySQL protokol sürüm bilgisini al
    • mysql_get_server_info - MySQL sunucu bilgisini al
    • mysql_info - En son sorgu hakkında bilgi al
    • mysql_insert_id - Get the ID generated in the last query
    • mysql_list_dbs - Bir MySQL sunucusundaki kullanılabilir veritabanlarını listeler
    • mysql_list_fields - MySQL tablosunun alanlarını listeler
    • mysql_list_processes - MySQL süreçlerini listeler
    • mysql_list_tables - Bir MySQL veritabanındaki tabloları listele
    • mysql_num_fields - Sonuçtaki alan sayısını al
    • mysql_num_rows - Sonuçtaki satır sayısını al
    • mysql_pconnect - Open a persistent connection to a MySQL server
    • mysql_ping - Bir sunucu bağlantısına ping at, bağlantı yoksa tekrar bağlan
    • mysql_query - Send a MySQL query
    • mysql_real_escape_string - Escapes special characters in a string for use in an SQL statement
    • mysql_result - Get result data
    • mysql_select_db - Bir MySQL veritabanı seçer
    • mysql_set_charset - Sets the client character set
    • mysql_stat - Geçerli sunucu durumunu döndürür
    • mysql_tablename - Alanın tablo adını al
    • mysql_thread_id - Geçerli evre numarasını döndür
    • mysql_unbuffered_query - Sonuç kümesi tamponlanmayan ve alınmayan bir SQL sorgusu gönderir
    • mysql_xdevapi\Client::close - Close client
  • n
    • natcasesort - Bir diziyi harf büyüklüğüne duyarsız "doğal sıralama" algoritmasıyla sıralar
    • natsort - Bir diziyi "doğal sıralama" algoritmasıyla sıralar
    • net_get_interfaces - Get network interfaces
    • next - Dahili dizi göstericisini bir ilerletir
    • ngettext - gettext işlevinin çoğul biçemli sürümü
    • nl2br - Dizgedeki tüm satırsonlarının yerine HTML satır katlayıcıları yerleştirilir
    • nl_langinfo - Dili ve yerel bilgisini sorgular
    • NoRewindIterator::current - Get the current value
    • NoRewindIterator::key - Get the current key
    • NoRewindIterator::next - Forward to the next element
    • NoRewindIterator::rewind - Prevents the rewind operation on the inner iterator
    • NoRewindIterator::valid - Validates the iterator
    • NoRewindIterator::__construct - Construct a NoRewindIterator
    • Normalizer::getRawDecomposition - Gets the Decomposition_Mapping property for the given UTF-8 encoded code point
    • Normalizer::isNormalized - Belirtilen dizge normalleştirilmiş mi diye bakar
    • Normalizer::normalize - Belirtilen girdiyi normalleştirir ve dizge olarak döndürür
    • NumberFormatter::create - Bir sayı biçemleyici oluşturur
    • NumberFormatter::format - Bir sayıyı biçemler
    • NumberFormatter::formatCurrency - Bir para değerini biçemler
    • NumberFormatter::getAttribute - Bir sayısal öznitelikle döner
    • NumberFormatter::getErrorCode - Biçemleyicinin son hata numarası ile döner
    • NumberFormatter::getErrorMessage - Biçemleyicinin son hata iletisini döndürür
    • NumberFormatter::getLocale - Biçemleyici yerelin ismi ile döner
    • NumberFormatter::getPattern - Biçemleyici tarafından kullanılan kalıp dizgesi ile döner
    • NumberFormatter::getSymbol - Simge değeri ile döner
    • NumberFormatter::getTextAttribute - Bir metin öznitelik ile döner
    • NumberFormatter::parse - Bir sayı dizgesini sayıya dönüştürür
    • NumberFormatter::parseCurrency - Bir para gösteriminin sayısal değeri ile döner
    • NumberFormatter::setAttribute - Bir öznitelik tanımlar
    • NumberFormatter::setPattern - Biçemleyici kalıbı tanımlar
    • NumberFormatter::setSymbol - Bir simge değeri tanımlar
    • NumberFormatter::setTextAttribute - Bir metin öznitelik tanımlar
    • number_format - Sayıyı binlik bölümlere ayırır
  • o
    • OAuth::disableDebug - Turn off verbose debugging
    • OAuth::disableRedirects - Turn off redirects
    • OAuth::disableSSLChecks - Turn off SSL checks
    • OAuth::enableDebug - Turn on verbose debugging
    • OAuth::enableRedirects - Turn on redirects
    • OAuth::enableSSLChecks - Turn on SSL checks
    • OAuth::fetch - Fetch an OAuth protected resource
    • OAuth::generateSignature - Generate a signature
    • OAuth::getAccessToken - Fetch an access token
    • OAuth::getCAPath - Gets CA information
    • OAuth::getLastResponse - Get the last response
    • OAuth::getLastResponseHeaders - Get headers for last response
    • OAuth::getLastResponseInfo - Get HTTP information about the last response
    • OAuth::getRequestHeader - Generate OAuth header string signature
    • OAuth::getRequestToken - Fetch a request token
    • OAuth::setAuthType - Set authorization type
    • OAuth::setCAPath - Set CA path and info
    • OAuth::setNonce - Set the nonce for subsequent requests
    • OAuth::setRequestEngine - The setRequestEngine purpose
    • OAuth::setRSACertificate - Set the RSA certificate
    • OAuth::setSSLChecks - Tweak specific SSL checks for requests
    • OAuth::setTimestamp - Set the timestamp
    • OAuth::setToken - Sets the token and secret
    • OAuth::setVersion - Set the OAuth version
    • OAuth::__construct - Create a new OAuth object
    • OAuth::__destruct - The destructor
    • OAuthProvider::addRequiredParameter - Add required parameters
    • OAuthProvider::callconsumerHandler - Calls the consumerNonceHandler callback
    • OAuthProvider::callTimestampNonceHandler - Calls the timestampNonceHandler callback
    • OAuthProvider::calltokenHandler - Calls the tokenNonceHandler callback
    • OAuthProvider::checkOAuthRequest - Check an oauth request
    • OAuthProvider::consumerHandler - Set the consumerHandler handler callback
    • OAuthProvider::generateToken - Generate a random token
    • OAuthProvider::is2LeggedEndpoint - is2LeggedEndpoint
    • OAuthProvider::isRequestTokenEndpoint - Sets isRequestTokenEndpoint
    • OAuthProvider::removeRequiredParameter - Remove a required parameter
    • OAuthProvider::reportProblem - Report a problem
    • OAuthProvider::setParam - Set a parameter
    • OAuthProvider::setRequestTokenPath - Set request token path
    • OAuthProvider::timestampNonceHandler - Set the timestampNonceHandler handler callback
    • OAuthProvider::tokenHandler - Set the tokenHandler handler callback
    • OAuthProvider::__construct - Constructs a new OAuthProvider object
    • oauth_get_sbs - Generate a Signature Base String
    • oauth_urlencode - Encode a URI to RFC 3986
    • ob_clean - Çıktı tamponunu temizler (siler)
    • ob_end_clean - Çıktı tamponunu temizler (siler) ve tamponu kapatır
    • ob_end_flush - Çıktı tamponunu boşaltır (gönderir) ve tamponu kapatır
    • ob_flush - Çıktı tamponunu boşaltır (gönderir)
    • ob_get_clean - Geçerli çıktı tamponun içeriğini döndürüp tamponu siler
    • ob_get_contents - Çıktı tamponunun içeriği ile döner
    • ob_get_flush - Çıktı tamponunu boşaltır, içeriğini bir dizge olarak döndürür ve çıktı tamponlamasını kapatır
    • ob_get_length - Çıktı tamponunundaki içeriğin uzunluğunu döndürür
    • ob_get_level - Çıktı tamponlama mekanizmasının iç içelik seviyesini döndürür
    • ob_get_status - Çıktı tamponlarının durumu ile döner
    • ob_gzhandler - Çıktı tamponunu gziplemek için ob_start geriçağırım işlevi
    • ob_iconv_handler - Çıktı tamponu eylemcisi olarak karakter kodlaması dönüşümü yapar
    • ob_implicit_flush - Örtük boşaltmayı açar/kapar
    • ob_list_handlers - Kullanımdaki çıktı eylemcileri listeler
    • ob_start - Çıktı tamponlamasını başlatır
    • ob_tidyhandler - Tampon onarımı için ob_start geriçağırım işlevi
    • ocibindbyname - Takma Adı: oci_bind_by_name
    • ocicancel - Takma Adı: oci_cancel
    • ocicloselob - Takma Adı: OCILob::close
    • ocicollappend - Takma Adı: OCICollection::append
    • ocicollassign - Takma Adı: OCICollection::assign
    • ocicollassignelem - Takma Adı: OCICollection::assignElem
    • OCICollection::append - Appends element to the collection
    • OCICollection::assign - Assigns a value to the collection from another existing collection
    • OCICollection::assignElem - Assigns a value to the element of the collection
    • OCICollection::free - Frees the resources associated with the collection object
    • OCICollection::getElem - Returns value of the element
    • OCICollection::max - Returns the maximum number of elements in the collection
    • OCICollection::size - Returns size of the collection
    • OCICollection::trim - Trims elements from the end of the collection
    • ocicollgetelem - Takma Adı: OCICollection::getElem
    • ocicollmax - Takma Adı: OCICollection::max
    • ocicollsize - Takma Adı: OCICollection::size
    • ocicolltrim - Takma Adı: OCICollection::trim
    • ocicolumnisnull - Takma Adı: oci_field_is_null
    • ocicolumnname - Takma Adı: oci_field_name
    • ocicolumnprecision - Takma Adı: oci_field_precision
    • ocicolumnscale - Takma Adı: oci_field_scale
    • ocicolumnsize - Takma Adı: oci_field_size
    • ocicolumntype - Takma Adı: oci_field_type
    • ocicolumntyperaw - Takma Adı: oci_field_type_raw
    • ocicommit - Takma Adı: oci_commit
    • ocidefinebyname - Takma Adı: oci_define_by_name
    • ocierror - Takma Adı: oci_error
    • ociexecute - Takma Adı: oci_execute
    • ocifetch - Takma Adı: oci_fetch
    • ocifetchinto - Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row
    • ocifetchstatement - Takma Adı: oci_fetch_all
    • ocifreecollection - Takma Adı: OCICollection::free
    • ocifreecursor - Takma Adı: oci_free_statement
    • ocifreedesc - Takma Adı: OCILob::free
    • ocifreestatement - Takma Adı: oci_free_statement
    • ociinternaldebug - Takma Adı: oci_internal_debug
    • ociloadlob - Takma Adı: OCILob::load
    • OCILob::append - Appends data from the large object to another large object
    • OCILob::close - Closes LOB descriptor
    • OCILob::eof - Tests for end-of-file on a large object's descriptor
    • OCILob::erase - Erases a specified portion of the internal LOB data
    • OCILob::export - Exports LOB's contents to a file
    • OCILob::flush - Flushes/writes buffer of the LOB to the server
    • OCILob::free - Frees resources associated with the LOB descriptor
    • OCILob::getBuffering - Returns current state of buffering for the large object
    • OCILob::import - Imports file data to the LOB
    • OCILob::load - Returns large object's contents
    • OCILob::read - Reads part of the large object
    • OCILob::rewind - Moves the internal pointer to the beginning of the large object
    • OCILob::save - Saves data to the large object
    • OCILob::saveFile - Takma Adı: OCILob::import
    • OCILob::seek - Sets the internal pointer of the large object
    • OCILob::setBuffering - Changes current state of buffering for the large object
    • OCILob::size - Returns size of large object
    • OCILob::tell - Returns the current position of internal pointer of large object
    • OCILob::truncate - Truncates large object
    • OCILob::write - Writes data to the large object
    • OCILob::writeTemporary - Writes a temporary large object
    • OCILob::writeToFile - Takma Adı: OCILob::export
    • ocilogoff - Takma Adı: oci_close
    • ocilogon - Takma Adı: oci_connect
    • ocinewcollection - Takma Adı: oci_new_collection
    • ocinewcursor - Takma Adı: oci_new_cursor
    • ocinewdescriptor - Takma Adı: oci_new_descriptor
    • ocinlogon - Takma Adı: oci_new_connect
    • ocinumcols - Takma Adı: oci_num_fields
    • ociparse - Takma Adı: oci_parse
    • ociplogon - Takma Adı: oci_pconnect
    • ociresult - Takma Adı: oci_result
    • ocirollback - Takma Adı: oci_rollback
    • ocirowcount - Takma Adı: oci_num_rows
    • ocisavelob - Takma Adı: OCILob::save
    • ocisavelobfile - Takma Adı: OCILob::import
    • ociserverversion - Takma Adı: oci_server_version
    • ocisetprefetch - Takma Adı: oci_set_prefetch
    • ocistatementtype - Takma Adı: oci_statement_type
    • ociwritelobtofile - Takma Adı: OCILob::export
    • ociwritetemporarylob - Takma Adı: OCILob::writeTemporary
    • oci_bind_array_by_name - Binds a PHP array to an Oracle PL/SQL array parameter
    • oci_bind_by_name - Binds a PHP variable to an Oracle placeholder
    • oci_cancel - Cancels reading from cursor
    • oci_client_version - Returns the Oracle client library version
    • oci_close - Closes an Oracle connection
    • oci_commit - Commits the outstanding database transaction
    • oci_connect - Connect to an Oracle database
    • oci_define_by_name - Associates a PHP variable with a column for query fetches
    • oci_error - Returns the last error found
    • oci_execute - Executes a statement
    • oci_fetch - Fetches the next row from a query into internal buffers
    • oci_fetch_all - Fetches multiple rows from a query into a two-dimensional array
    • oci_fetch_array - Returns the next row from a query as an associative or numeric array
    • oci_fetch_assoc - Returns the next row from a query as an associative array
    • oci_fetch_object - Returns the next row from a query as an object
    • oci_fetch_row - Returns the next row from a query as a numeric array
    • oci_field_is_null - Checks if a field in the currently fetched row is null
    • oci_field_name - Returns the name of a field from the statement
    • oci_field_precision - Tell the precision of a field
    • oci_field_scale - Tell the scale of the field
    • oci_field_size - Returns field's size
    • oci_field_type - Returns a field's data type name
    • oci_field_type_raw - Tell the raw Oracle data type of the field
    • oci_free_descriptor - Frees a descriptor
    • oci_free_statement - Frees all resources associated with statement or cursor
    • oci_get_implicit_resultset - Returns the next child statement resource from a parent statement resource that has Oracle Database Implicit Result Sets
    • oci_internal_debug - Enables or disables internal debug output
    • oci_lob_copy - Copies large object
    • oci_lob_is_equal - Compares two LOB/FILE locators for equality
    • oci_new_collection - Allocates new collection object
    • oci_new_connect - Connect to the Oracle server using a unique connection
    • oci_new_cursor - Allocates and returns a new cursor (statement handle)
    • oci_new_descriptor - Initializes a new empty LOB or FILE descriptor
    • oci_num_fields - Returns the number of result columns in a statement
    • oci_num_rows - Returns number of rows affected during statement execution
    • oci_parse - Prepares an Oracle statement for execution
    • oci_password_change - Changes password of Oracle's user
    • oci_pconnect - Connect to an Oracle database using a persistent connection
    • oci_register_taf_callback - Register a user-defined callback function for Oracle Database TAF
    • oci_result - Returns field's value from the fetched row
    • oci_rollback - Rolls back the outstanding database transaction
    • oci_server_version - Returns the Oracle Database version
    • oci_set_action - Sets the action name
    • oci_set_call_timeout - Sets a millisecond timeout for database calls
    • oci_set_client_identifier - Sets the client identifier
    • oci_set_client_info - Sets the client information
    • oci_set_db_operation - Sets the database operation
    • oci_set_edition - Sets the database edition
    • oci_set_module_name - Sets the module name
    • oci_set_prefetch - Sets number of rows to be prefetched by queries
    • oci_set_prefetch_lob - Sets the amount of data prefetched for each CLOB or BLOB.
    • oci_statement_type - Returns the type of a statement
    • oci_unregister_taf_callback - Unregister a user-defined callback function for Oracle Database TAF
    • octdec - Octal to decimal
    • odbc_alan_adı - Sütun ismini döndürür
    • odbc_autocommit - Ototeslim kipini açıp kapar
    • odbc_binmode - İkil sütun verileri ile çalışmayı etkin kılar
    • odbc_close - Bir ODBC bağlantısını kapatır
    • odbc_close_all - Tüm ODBC bağlantılarını kapatır
    • odbc_columnprivileges - Belirtilen tablo ile ilgili izinleri ve sütunları listeler
    • odbc_columns - Belirtilen tablolardaki sütun isimlerini listeler
    • odbc_commit - Bir ODBC hareket listesi gönderir
    • odbc_connect - Bir veri kaynağına bağlanır
    • odbc_connection_string_is_quoted - Determines if an ODBC connection string value is quoted
    • odbc_connection_string_quote - Quotes an ODBC connection string value
    • odbc_connection_string_should_quote - Determines if an ODBC connection string value should be quoted
    • odbc_cursor - İmleç ismini döndürür
    • odbc_data_source - Kullanılabilir DSN'ler hakkında bilgi döndürür
    • odbc_do - odbc_exec işlevinin takma adıdır
    • odbc_error - Son hata kodunu döndürür
    • odbc_errormsg - Son hata iletisini döndürür
    • odbc_exec - SQL deyimini doğrudan çalıştırır
    • odbc_execute - Bir hazır deyimi çalıştırır
    • odbc_fetch_array - Sonuç satırını bir ilişkisel dizi olarak döndürür
    • odbc_fetch_into - Sonuç satırını bir dizi olarak döndürür
    • odbc_fetch_object - Sonuç satırını bir nesne olarak döndürür
    • odbc_fetch_row - Bir satır döndürür
    • odbc_field_len - Bir alanın uzunluğunu (hassasiyetini) döndürür
    • odbc_field_num - Sütun numarasını döndürür
    • odbc_field_precision - odbc_field_len işlevinin takma adıdır
    • odbc_field_scale - Bir alanın skalasını döndürür
    • odbc_field_type - Bir alanın veri türünü döndürür
    • odbc_foreignkeys - Bir tablonun yabancı anahtarlarını listeler
    • odbc_free_result - Bir sonuç ile ilgili özkaynakları serbest bırakır
    • odbc_gettypeinfo - Veri kaynağınca desteklenen veri türleri hakkında bilgi döndürür
    • odbc_longreadlen - LONG sütunlarla çalışmayı etkin kılar
    • odbc_next_result - Kullanılabilecek çok sayıda sonuç var mı diye bakar
    • odbc_num_fields - Bir sonuçtaki sütun sayısını döndürür
    • odbc_num_rows - Bir sonuçtaki satır sayısını döndürür
    • odbc_pconnect - Bir kalıcı veritabanı bağlantısı açar
    • odbc_prepare - Çalıştırılmak üzere bir deyim hazırlar
    • odbc_primarykeys - Bir tablonun birincil anahtarlarını döndürür
    • odbc_procedurecolumns - Yordamların bağımsız değişkenleri hakkında bilgi döndürür
    • odbc_procedures - Belirtilen veri kaynağında saklı yordamların listesini döndürür
    • odbc_result - Sonuçtan veri döndürür
    • odbc_result_all - Sonucu bir HTML tablosu olarak basar
    • odbc_rollback - Bir hareketi başa döndürür
    • odbc_setoption - ODBC ayarlarını yapar
    • odbc_specialcolumns - Özel sütunları döndürür
    • odbc_statistics - Bir tablo hakkındaki istatistikleri döndürür
    • odbc_tableprivileges - Tabloları izinleriyle birlikte listeler
    • odbc_tables - Belli bir veri kaynağında bulunan tablo isimlerini döndürür
    • ogg:// - Ses akımları
    • opcache_compile_file - Compiles and caches a PHP script without executing it
    • opcache_get_configuration - Get configuration information about the cache
    • opcache_get_status - Get status information about the cache
    • opcache_invalidate - Invalidates a cached script
    • opcache_is_script_cached - Tells whether a script is cached in OPCache
    • opcache_reset - Resets the contents of the opcode cache
    • openal_buffer_create - Generate OpenAL buffer
    • openal_buffer_data - Load a buffer with data
    • openal_buffer_destroy - Destroys an OpenAL buffer
    • openal_buffer_get - Retrieve an OpenAL buffer property
    • openal_buffer_loadwav - Load a .wav file into a buffer
    • openal_context_create - Create an audio processing context
    • openal_context_current - Make the specified context current
    • openal_context_destroy - Destroys a context
    • openal_context_process - Process the specified context
    • openal_context_suspend - Suspend the specified context
    • openal_device_close - Close an OpenAL device
    • openal_device_open - Initialize the OpenAL audio layer
    • openal_listener_get - Retrieve a listener property
    • openal_listener_set - Set a listener property
    • openal_source_create - Generate a source resource
    • openal_source_destroy - Destroy a source resource
    • openal_source_get - Retrieve an OpenAL source property
    • openal_source_pause - Pause the source
    • openal_source_play - Start playing the source
    • openal_source_rewind - Rewind the source
    • openal_source_set - Set source property
    • openal_source_stop - Stop playing the source
    • openal_stream - Begin streaming on a source
    • opendir - Belirtilen dizin için bir tanıtıcı döndürür
    • openlog - Sistem günlükçüsüne erişim için bağlantı açar
    • openssl_cipher_iv_length - Gets the cipher iv length
    • openssl_cipher_key_length - Gets the cipher key length
    • openssl_cms_decrypt - Decrypt a CMS message
    • openssl_cms_encrypt - Encrypt a CMS message
    • openssl_cms_read - Export the CMS file to an array of PEM certificates
    • openssl_cms_sign - Bir dosyayı imzalar
    • openssl_cms_verify - Belirtilen CMS imzasını doğrular
    • openssl_csr_export - Belirtilen CSR'yi bir dizge olarak döndürür
    • openssl_csr_export_to_file - Belirtilen CSR'yi bir dosyaya kaydeder
    • openssl_csr_get_public_key - Bir CSR'nin açık anahtarını döndürür
    • openssl_csr_get_subject - Bir CSR'nin öznesini döndürür
    • openssl_csr_new - Bir sertifika imzalama isteği (CSR) üretir
    • openssl_csr_sign - Bir CSR'yi başka bir sertifika (veya kendisi) ile imzalayıp bir sertifika üretir
    • openssl_decrypt - Verinin şifresini çözer
    • openssl_dh_compute_key - Uzak DH genel anahtarının ve yerel DH anahtarının genel değeri için paylaşılan gizi hesaplar
    • openssl_digest - Bir özet hesaplar
    • openssl_encrypt - Veriyi şifreler
    • openssl_error_string - OpenSSL hata iletisini döndürür
    • openssl_free_key - Anahtar özkaynağını serbest bırakır
    • openssl_get_cert_locations - Retrieve the available certificate locations
    • openssl_get_cipher_methods - Kullanılabilecek şifreleme yöntemlerini döndürür
    • openssl_get_curve_names - Gets list of available curve names for ECC
    • openssl_get_md_methods - Kullanılabilecek özet yöntemlerini döndürür
    • openssl_get_privatekey - openssl_pkey_get_private işlevinin takma adıdır
    • openssl_get_publickey - openssl_pkey_get_public işlevinin takma adıdır
    • openssl_open - Mühürlü veriyi açar
    • openssl_pbkdf2 - Generates a PKCS5 v2 PBKDF2 string
    • openssl_pkcs7_decrypt - S/MIME şifreli bir iletinin şifresini çözer
    • openssl_pkcs7_encrypt - Bir S/MIME iletiyi şifreler
    • openssl_pkcs7_read - Export the PKCS7 file to an array of PEM certificates
    • openssl_pkcs7_sign - Bir S/MIME iletiyi imzalar
    • openssl_pkcs7_verify - S/MIME imzalı bir iletinin imzasını doğrular
    • openssl_pkcs12_export - PKCS#12 uyumlu sertifika deposu dosyasını bir değişkene yerleştirir
    • openssl_pkcs12_export_to_file - Bir PKCS#12 uyumlu sertifika deposunu bir dosyaya kaydeder
    • openssl_pkcs12_read - Bir PKCS#12 Sertifika Deposunu bir diziye çözümler
    • openssl_pkey_derive - Computes shared secret for public value of remote and local DH or ECDH key
    • openssl_pkey_export - Bir anahtarın ihraç edilebilir gösterimini bir dizge olarak döndürür
    • openssl_pkey_export_to_file - Bir anahtarın ihraç edilebilir gösterimini bir dosyaya kaydeder
    • openssl_pkey_free - Bir gizli anahtarı serbest bırakır
    • openssl_pkey_get_details - Anahtarla ilgili ayrıntıları bir dizi içinde döndürür
    • openssl_pkey_get_private - Gizli anahtarı döndürür
    • openssl_pkey_get_public - Genel anahtarı sertifikadan elde edip kullanıma hazırlar
    • openssl_pkey_new - Yeni bir gizli anahtar üretir
    • openssl_private_decrypt - Genel anahtarla şifrelenmiş verinin şifresini gizli anahtarla çözer
    • openssl_private_encrypt - Veriyi gizli anahtarla şifreler
    • openssl_public_decrypt - Gizli anahtarla şifrelenmiş verinin şifresini genel anahtarla çözer
    • openssl_public_encrypt - Veriyi genel anahtarla şifreler
    • openssl_random_pseudo_bytes - Yarı-rasgele bayt dizesi üretir
    • openssl_seal - Veriyi mühürler (şifreler)
    • openssl_sign - İmza üretir
    • openssl_spki_export - Exports a valid PEM formatted public key signed public key and challenge
    • openssl_spki_export_challenge - Exports the challenge associated with a signed public key and challenge
    • openssl_spki_new - Generate a new signed public key and challenge
    • openssl_spki_verify - Verifies a signed public key and challenge
    • openssl_verify - İmzayı doğrular
    • openssl_x509_checkpurpose - Sertifikanın belli bir amaçla kulanılıp kullanılmayacağına bakar
    • openssl_x509_check_private_key - Bir gizli anahtarın bir sertifikaya karşılık olup olmadığına bakar
    • openssl_x509_export - Belirtilen sertifikayı dizge olarak döndürür
    • openssl_x509_export_to_file - Belirtilen sertifikayı bir dosyaya kaydeder
    • openssl_x509_fingerprint - Calculates the fingerprint, or digest, of a given X.509 certificate
    • openssl_x509_free - Sertifika özkaynağını serbest bırakır
    • openssl_x509_parse - Bir X509 sertifikasını çözümleyip bilgileri bir dizi içinde döndürür
    • openssl_x509_read - X.509 sertifikasını çözümleyip sertifika için nesne döndürür
    • openssl_x509_verify - Verifies digital signature of x509 certificate against a public key
    • ord - Dizgenin ilk baytını 0-255 arasında bir değere dönüştürür
    • OuterIterator::getInnerIterator - Returns the inner iterator for the current entry
    • output_add_rewrite_var - URL yeniden yazım değerlerini ekler
    • output_reset_rewrite_vars - URL yeniden yazma değerlerini sıfırlar
  • p
    • pack - Veriyi ikil bir dizge halinde paketler
    • parallel\bootstrap - Bootstrapping
    • parallel\Channel::close - Closing
    • parallel\Channel::make - Access
    • parallel\Channel::open - Access
    • parallel\Channel::recv - Sharing
    • parallel\Channel::send - Sharing
    • parallel\Channel::__construct - Channel Construction
    • parallel\Events::addChannel - Targets
    • parallel\Events::addFuture - Targets
    • parallel\Events::poll - Polling
    • parallel\Events::remove - Targets
    • parallel\Events::setBlocking - Behaviour
    • parallel\Events::setInput - Input
    • parallel\Events::setTimeout - Behaviour
    • parallel\Events\Input::add - Inputs
    • parallel\Events\Input::clear - Inputs
    • parallel\Events\Input::remove - Inputs
    • parallel\Future::cancel - Cancellation
    • parallel\Future::cancelled - State Detection
    • parallel\Future::done - State Detection
    • parallel\Future::value - Resolution
    • parallel\run - Execution
    • parallel\Runtime::close - Runtime Graceful Join
    • parallel\Runtime::kill - Runtime Join
    • parallel\Runtime::run - Execution
    • parallel\Runtime::__construct - Runtime Construction
    • parallel\Sync::get - Access
    • parallel\Sync::notify - Synchronization
    • parallel\Sync::set - Access
    • parallel\Sync::wait - Synchronization
    • parallel\Sync::__construct - Construction
    • parallel\Sync::__invoke - Synchronization
    • ParentIterator::accept - Determines acceptability
    • ParentIterator::getChildren - Return the inner iterator's children contained in a ParentIterator
    • ParentIterator::hasChildren - Check whether the inner iterator's current element has children
    • ParentIterator::next - Move the iterator forward
    • ParentIterator::rewind - Rewind the iterator
    • ParentIterator::__construct - Constructs a ParentIterator
    • Parle\Lexer::advance - Process next lexer rule
    • Parle\Lexer::build - Finalize the lexer rule set
    • Parle\Lexer::callout - Define token callback
    • Parle\Lexer::consume - Pass the data for processing
    • Parle\Lexer::dump - Dump the state machine
    • Parle\Lexer::getToken - Retrieve the current token
    • Parle\Lexer::insertMacro - Insert regex macro
    • Parle\Lexer::push - Add a lexer rule
    • Parle\Lexer::reset - Reset lexer
    • Parle\Parser::advance - Process next parser rule
    • Parle\Parser::build - Finalize the grammar rules
    • Parle\Parser::consume - Consume the data for processing
    • Parle\Parser::dump - Dump the grammar
    • Parle\Parser::errorInfo - Retrieve the error information
    • Parle\Parser::left - Declare a token with left-associativity
    • Parle\Parser::nonassoc - Declare a token with no associativity
    • Parle\Parser::precedence - Declare a precedence rule
    • Parle\Parser::push - Add a grammar rule
    • Parle\Parser::reset - Reset parser state
    • Parle\Parser::right - Declare a token with right-associativity
    • Parle\Parser::sigil - Retrieve a matching part of a rule
    • Parle\Parser::sigilCount - Number of elements in matched rule
    • Parle\Parser::sigilName - Retrieve a rule or token name
    • Parle\Parser::token - Declare a token
    • Parle\Parser::tokenId - Get token id
    • Parle\Parser::trace - Trace the parser operation
    • Parle\Parser::validate - Validate input
    • Parle\RLexer::advance - Process next lexer rule
    • Parle\RLexer::build - Finalize the lexer rule set
    • Parle\RLexer::callout - Define token callback
    • Parle\RLexer::consume - Pass the data for processing
    • Parle\RLexer::dump - Dump the state machine
    • Parle\RLexer::getToken - Retrieve the current token
    • Parle\RLexer::insertMacro - Insert regex macro
    • Parle\RLexer::push - Add a lexer rule
    • Parle\RLexer::pushState - Push a new start state
    • Parle\RLexer::reset - Reset lexer
    • Parle\RParser::advance - Process next parser rule
    • Parle\RParser::build - Finalize the grammar rules
    • Parle\RParser::consume - Consume the data for processing
    • Parle\RParser::dump - Dump the grammar
    • Parle\RParser::errorInfo - Retrieve the error information
    • Parle\RParser::left - Declare a token with left-associativity
    • Parle\RParser::nonassoc - Declare a token with no associativity
    • Parle\RParser::precedence - Declare a precedence rule
    • Parle\RParser::push - Add a grammar rule
    • Parle\RParser::reset - Reset parser state
    • Parle\RParser::right - Declare a token with right-associativity
    • Parle\RParser::sigil - Retrieve a matching part of a rule
    • Parle\RParser::sigilCount - Number of elements in matched rule
    • Parle\RParser::sigilName - Retrieve a rule or token name
    • Parle\RParser::token - Declare a token
    • Parle\RParser::tokenId - Get token id
    • Parle\RParser::trace - Trace the parser operation
    • Parle\RParser::validate - Validate input
    • Parle\Stack::pop - Pop an item from the stack
    • Parle\Stack::push - Push an item into the stack
    • parse_ini_file - Bir yapılandırma dosyasını çözümler
    • parse_ini_string - Bir yapılandırma dizgesini çözümler
    • parse_str - Dizge içindeki değişkenleri çözümler
    • parse_url - Bir URL'yi bileşenlerine ayırır
    • passthru - Harici bir programı çalıştırır ve çıktısını ham olarak gösterir
    • password_algos - Kullanılabilen parola aşlama algortimalarının kimliklerini döndürür
    • password_get_info - Belirtilen aş hakkında bilgi döndürür
    • password_hash - Parola aşı oluşturur
    • password_needs_rehash - Belirtilen aş ile belirtilen seçeneklerin eşleşmesini doğrular
    • password_verify - Parola ile aş eşleşmesini doğrular
    • pathinfo - Bir dosya yolu hakkında bilgi döndürür
    • pclose - Bir süreç tanıtıcısını kapatır
    • pcntl_alarm - Belli bir süre sonra SIGALRM sinyali gönderir
    • pcntl_async_signals - Eşzamansız sinyal işlemeyi devreye sokar/iptal eder veya eski durumu döndürür
    • pcntl_errno - pcntl_get_last_error işlevinin takma adıdır
    • pcntl_exec - Belirtilen programı geçerli süreç ortamında çalıştırır
    • pcntl_fork - Çalışan süreci çatallar
    • pcntl_getpriority - Bir sürecin önceliğini döndürür
    • pcntl_get_last_error - Başarısız olan son pcntl işlevi için atanan hata numarasını döndürür
    • pcntl_rfork - Manipulates process resources
    • pcntl_setpriority - Sürecin önceliğini değiştirir
    • pcntl_signal - Bir sinyal eylemci belirtir
    • pcntl_signal_dispatch - Askıdaki sinyaller için sinyal eylemciyi çağırır
    • pcntl_signal_get_handler - Belirtilen sinyal için geçerli işleyiciyi döndürür
    • pcntl_sigprocmask - Sinyalleri ekler, siler veya engeller
    • pcntl_sigtimedwait - Sinyalleri zaman aşımı dolana kadar bekler
    • pcntl_sigwaitinfo - Belirtilen sinyalleri bekler
    • pcntl_strerror - Belirtilen hata kodu ile ilişkili sistem hata iletisini döndürür
    • pcntl_unshare - Dissociates parts of the process execution context
    • pcntl_wait - Çatallanmış bir çocuğun durum kodu için bekler
    • pcntl_waitpid - Bir çocuk sürecin çıkmasını bekler ve durum kodunu döndürür
    • pcntl_wexitstatus - Sonlanmış çocuk sürecin dönüş kodunu döndürür
    • pcntl_wifexited - Durum kodunun normal bir çıkışı mı işaret ettiğine bakar
    • pcntl_wifsignaled - Durum kodunun bir sinyal sebebiyle bir sonlanmayı mı işaret ettiğine bakar
    • pcntl_wifstopped - Çocuk sürecin durmuş olup olmadığına bakar
    • pcntl_wstopsig - Çocuk sürecin durmasına sebep olan sinyali döndürür
    • pcntl_wtermsig - Çocuk sürecin sonlanmasına sebep olan sinyali döndürür
    • PDO::beginTransaction - Bir toplu hareketi ilklendirir
    • PDO::commit - Bir toplu hareketi veritabanına gönderir
    • PDO::cubrid_schema - Get the requested schema information
    • PDO::errorCode - Veritabanındaki son işlemle ilgili SQLSTATE kodunu döndürür
    • PDO::errorInfo - Veritabanındaki son işlemle ilgili hata bilgisini döndürür
    • PDO::exec - Belirtilen SQL deyimini çalıştırır ve etkilenen satır sayısını döndürür
    • PDO::getAttribute - Bir veritabanı bağlantı özniteliğinin değerini döndürür
    • PDO::getAvailableDrivers - Kullanılabilen PDO sürücülerini içeren bir dizi döndürür
    • PDO::inTransaction - Checks if inside a transaction
    • PDO::lastInsertId - Son yerleştirilen satırın veya sıradaki değerin kimliğini döndürür
    • PDO::pgsqlCopyFromArray - Copy data from PHP array into table
    • PDO::pgsqlCopyFromFile - Copy data from file into table
    • PDO::pgsqlCopyToArray - Copy data from database table into PHP array
    • PDO::pgsqlCopyToFile - Copy data from table into file
    • PDO::pgsqlGetNotify - Get asynchronous notification
    • PDO::pgsqlGetPid - Get the server PID
    • PDO::pgsqlLOBCreate - Creates a new large object
    • PDO::pgsqlLOBOpen - Opens an existing large object stream
    • PDO::pgsqlLOBUnlink - Deletes the large object
    • PDO::prepare - Çalıştırılmak üzere bir deyimi hazırlar ve bir deyim nesnesi olarak döndürür
    • PDO::query - Bir SQL deyimini yer tutucular olmaksızın hazırlar ve çalıştırır
    • PDO::quote - Bir sorguda kullanılmak üzere bir dizgeyi önceler
    • PDO::rollBack - Bir toplu hareketi geri alır
    • PDO::setAttribute - Bir öznitelik tanımlar
    • PDO::sqliteCreateAggregate - Registers an aggregating User Defined Function for use in SQL statements
    • PDO::sqliteCreateCollation - Registers a User Defined Function for use as a collating function in SQL statements
    • PDO::sqliteCreateFunction - Registers a User Defined Function for use in SQL statements
    • PDO::__construct - Bir veritabanı bağlantısını temsil eden bir PDO nesnesi oluşturur
    • PDOStatement::bindColumn - Bir sütunu bir PHP değişkeni ile ilişkilendirir
    • PDOStatement::bindParam - Bir bağımsız değişkeni belirtilen değişkenle ilişkilendirir
    • PDOStatement::bindValue - Bir değeri bir bağımsız değişken ile ilişkilendirir
    • PDOStatement::closeCursor - Göstericiyi kapatarak deyimin tekrar çalıştırılabilmesini sağlar
    • PDOStatement::columnCount - Sonuç kümesindeki sütun sayısını döndürür
    • PDOStatement::debugDumpParams - Bir SQL hazır komutunu dökümler
    • PDOStatement::errorCode - Deyim üzerindeki son işlemle ilgili SQLSTATE hata kodunu döndürür
    • PDOStatement::errorInfo - Deyim üzerindeki son işlemle ilgili hata bilgisini döndürür
    • PDOStatement::execute - Bir hazır deyimi çalıştırır
    • PDOStatement::fetch - Sonuç kümesindeki sonraki satırı döndürür
    • PDOStatement::fetchAll - Sonuç kümesinde kalan satırları döndürür
    • PDOStatement::fetchColumn - Sonuç kümesindeki sonraki satırdan tek bir sütun döndürür
    • PDOStatement::fetchObject - Sonraki satırı alır ve bir nesne olarak döndürür
    • PDOStatement::getAttribute - Bir deyim özniteliğini döndürür
    • PDOStatement::getColumnMeta - Sonuç kümesindeki bir sütunla ilgili temel veriyi döndürür
    • PDOStatement::getIterator - Gets result set iterator
    • PDOStatement::nextRowset - Çok satır kümeli bir sonuçtaki sonraki satır kümesini geçerli satır kümesi yapar
    • PDOStatement::rowCount - Son SQL deyiminden etkilenen satır sayısını döndürür
    • PDOStatement::setAttribute - Bir deyim özniteliğini tanımlar
    • PDOStatement::setFetchMode - Deyim için öntanımlı veri alım kipini belirler
    • PDO_CUBRID DSN - Connecting to CUBRID databases
    • PDO_DBLIB DSN - Microsoft SQL Sunucusu ve Sybase veritabanlarına bağlantı
    • PDO_FIREBIRD DSN - Firebird veritabanı bağlantısı
    • PDO_IBM DSN - IBM veritabanı bağlantısı
    • PDO_INFORMIX DSN - Informix veritabanı bağlantısı
    • PDO_MYSQL DSN - MySQL veritabanı bağlantısı
    • PDO_OCI DSN - Oracle veritabanlarına bağlantı
    • PDO_ODBC DSN - ODBC veya DB2 veritabanlarına bağlantı
    • PDO_PGSQL DSN - PostgreSQL veritabanı bağlantısı
    • PDO_SQLITE DSN - SQLite veritabanı bağlantısı
    • PDO_SQLSRV DSN - Connecting to MS SQL Server and SQL Azure databases
    • pfsockopen - Kalıcı bir internet veya Unix alan soketi bağlantısı açar
    • pg_affected_rows - Returns number of affected records (tuples)
    • pg_cancel_query - Cancel an asynchronous query
    • pg_client_encoding - Gets the client encoding
    • pg_close - Closes a PostgreSQL connection
    • pg_connect - Open a PostgreSQL connection
    • pg_connection_busy - Get connection is busy or not
    • pg_connection_reset - Reset connection (reconnect)
    • pg_connection_status - Get connection status
    • pg_connect_poll - Poll the status of an in-progress asynchronous PostgreSQL connection attempt
    • pg_consume_input - Reads input on the connection
    • pg_convert - Convert associative array values into forms suitable for SQL statements
    • pg_copy_from - Insert records into a table from an array
    • pg_copy_to - Copy a table to an array
    • pg_dbname - Get the database name
    • pg_delete - Deletes records
    • pg_end_copy - Sync with PostgreSQL backend
    • pg_escape_bytea - Escape a string for insertion into a bytea field
    • pg_escape_identifier - Escape a identifier for insertion into a text field
    • pg_escape_literal - Escape a literal for insertion into a text field
    • pg_escape_string - Escape a string for query
    • pg_execute - Sends a request to execute a prepared statement with given parameters, and waits for the result
    • pg_fetch_all - Fetches all rows from a result as an array
    • pg_fetch_all_columns - Fetches all rows in a particular result column as an array
    • pg_fetch_array - Fetch a row as an array
    • pg_fetch_assoc - Fetch a row as an associative array
    • pg_fetch_object - Fetch a row as an object
    • pg_fetch_result - Returns values from a result instance
    • pg_fetch_row - Get a row as an enumerated array
    • pg_field_is_null - Test if a field is SQL NULL
    • pg_field_name - Returns the name of a field
    • pg_field_num - Returns the field number of the named field
    • pg_field_prtlen - Returns the printed length
    • pg_field_size - Returns the internal storage size of the named field
    • pg_field_table - Returns the name or oid of the tables field
    • pg_field_type - Returns the type name for the corresponding field number
    • pg_field_type_oid - Returns the type ID (OID) for the corresponding field number
    • pg_flush - Flush outbound query data on the connection
    • pg_free_result - Free result memory
    • pg_get_notify - Gets SQL NOTIFY message
    • pg_get_pid - Gets the backend's process ID
    • pg_get_result - Get asynchronous query result
    • pg_host - Returns the host name associated with the connection
    • pg_insert - Insert array into table
    • pg_last_error - Get the last error message string of a connection
    • pg_last_notice - Returns the last notice message from PostgreSQL server
    • pg_last_oid - Returns the last row's OID
    • pg_lo_close - Close a large object
    • pg_lo_create - Create a large object
    • pg_lo_export - Export a large object to file
    • pg_lo_import - Import a large object from file
    • pg_lo_open - Open a large object
    • pg_lo_read - Read a large object
    • pg_lo_read_all - Reads an entire large object and send straight to browser
    • pg_lo_seek - Seeks position within a large object
    • pg_lo_tell - Returns current seek position a of large object
    • pg_lo_truncate - Truncates a large object
    • pg_lo_unlink - Delete a large object
    • pg_lo_write - Write to a large object
    • pg_meta_data - Get meta data for table
    • pg_num_fields - Returns the number of fields in a result
    • pg_num_rows - Returns the number of rows in a result
    • pg_options - Get the options associated with the connection
    • pg_parameter_status - Looks up a current parameter setting of the server
    • pg_pconnect - Open a persistent PostgreSQL connection
    • pg_ping - Ping database connection
    • pg_port - Return the port number associated with the connection
    • pg_prepare - Submits a request to create a prepared statement with the given parameters, and waits for completion
    • pg_put_line - Send a NULL-terminated string to PostgreSQL backend
    • pg_query - Execute a query
    • pg_query_params - Submits a command to the server and waits for the result, with the ability to pass parameters separately from the SQL command text
    • pg_result_error - Get error message associated with result
    • pg_result_error_field - Returns an individual field of an error report
    • pg_result_seek - Set internal row offset in result instance
    • pg_result_status - Get status of query result
    • pg_select - Select records
    • pg_send_execute - Sends a request to execute a prepared statement with given parameters, without waiting for the result(s)
    • pg_send_prepare - Sends a request to create a prepared statement with the given parameters, without waiting for completion
    • pg_send_query - Sends asynchronous query
    • pg_send_query_params - Submits a command and separate parameters to the server without waiting for the result(s)
    • pg_set_client_encoding - Set the client encoding
    • pg_set_error_context_visibility - Determines the visibility of the context's error messages returned by pg_last_error and pg_result_error
    • pg_set_error_verbosity - Determines the verbosity of messages returned by pg_last_error and pg_result_error
    • pg_socket - Get a read only handle to the socket underlying a PostgreSQL connection
    • pg_trace - Enable tracing a PostgreSQL connection
    • pg_transaction_status - Returns the current in-transaction status of the server
    • pg_tty - Return the TTY name associated with the connection
    • pg_unescape_bytea - Unescape binary for bytea type
    • pg_untrace - Disable tracing of a PostgreSQL connection
    • pg_update - Update table
    • pg_version - Returns an array with client, protocol and server version (when available)
    • phar:// - PHP Arşivi
    • Phar::addEmptyDir - Add an empty directory to the phar archive
    • Phar::addFile - Add a file from the filesystem to the phar archive
    • Phar::addFromString - Add a file from a string to the phar archive
    • Phar::apiVersion - Returns the api version
    • Phar::buildFromDirectory - Construct a phar archive from the files within a directory
    • Phar::buildFromIterator - Construct a phar archive from an iterator
    • Phar::canCompress - Returns whether phar extension supports compression using either zlib or bzip2
    • Phar::canWrite - Returns whether phar extension supports writing and creating phars
    • Phar::compress - Compresses the entire Phar archive using Gzip or Bzip2 compression
    • Phar::compressFiles - Compresses all files in the current Phar archive
    • Phar::convertToData - Convert a phar archive to a non-executable tar or zip file
    • Phar::convertToExecutable - Convert a phar archive to another executable phar archive file format
    • Phar::copy - Copy a file internal to the phar archive to another new file within the phar
    • Phar::count - Returns the number of entries (files) in the Phar archive
    • Phar::createDefaultStub - Create a phar-file format specific stub
    • Phar::decompress - Decompresses the entire Phar archive
    • Phar::decompressFiles - Decompresses all files in the current Phar archive
    • Phar::delete - Delete a file within a phar archive
    • Phar::delMetadata - Deletes the global metadata of the phar
    • Phar::extractTo - Extract the contents of a phar archive to a directory
    • Phar::getAlias - Get the alias for Phar
    • Phar::getMetadata - Returns phar archive meta-data
    • Phar::getModified - Return whether phar was modified
    • Phar::getPath - Get the real path to the Phar archive on disk
    • Phar::getSignature - Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
    • Phar::getStub - Return the PHP loader or bootstrap stub of a Phar archive
    • Phar::getSupportedCompression - Return array of supported compression algorithms
    • Phar::getSupportedSignatures - Return array of supported signature types
    • Phar::getVersion - Return version info of Phar archive
    • Phar::hasMetadata - Returns whether phar has global meta-data
    • Phar::interceptFileFuncs - Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions
    • Phar::isBuffering - Used to determine whether Phar write operations are being buffered, or are flushing directly to disk
    • Phar::isCompressed - Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
    • Phar::isFileFormat - Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter
    • Phar::isValidPharFilename - Returns whether the given filename is a valid phar filename
    • Phar::isWritable - Returns true if the phar archive can be modified
    • Phar::loadPhar - Loads any phar archive with an alias
    • Phar::mapPhar - Reads the currently executed file (a phar) and registers its manifest
    • Phar::mount - Mount an external path or file to a virtual location within the phar archive
    • Phar::mungServer - Defines a list of up to 4 $_SERVER variables that should be modified for execution
    • Phar::offsetExists - Determines whether a file exists in the phar
    • Phar::offsetGet - Gets a PharFileInfo object for a specific file
    • Phar::offsetSet - Set the contents of an internal file to those of an external file
    • Phar::offsetUnset - Remove a file from a phar
    • Phar::running - Returns the full path on disk or full phar URL to the currently executing Phar archive
    • Phar::setAlias - Set the alias for the Phar archive
    • Phar::setDefaultStub - Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
    • Phar::setMetadata - Sets phar archive meta-data
    • Phar::setSignatureAlgorithm - Set the signature algorithm for a phar and apply it
    • Phar::setStub - Used to set the PHP loader or bootstrap stub of a Phar archive
    • Phar::startBuffering - Start buffering Phar write operations, do not modify the Phar object on disk
    • Phar::stopBuffering - Stop buffering write requests to the Phar archive, and save changes to disk
    • Phar::unlinkArchive - Completely remove a phar archive from disk and from memory
    • Phar::webPhar - Routes a request from a web browser to an internal file within the phar archive
    • Phar::__construct - Construct a Phar archive object
    • Phar::__destruct - Destructs a Phar archive object
    • Phar bağlam seçenekleri - Phar bağlamı seçeneklerinin listesi
    • PharData::addEmptyDir - Add an empty directory to the tar/zip archive
    • PharData::addFile - Add a file from the filesystem to the tar/zip archive
    • PharData::addFromString - Add a file from a string to the tar/zip archive
    • PharData::buildFromDirectory - Construct a tar/zip archive from the files within a directory
    • PharData::buildFromIterator - Construct a tar or zip archive from an iterator
    • PharData::compress - Compresses the entire tar/zip archive using Gzip or Bzip2 compression
    • PharData::compressFiles - Compresses all files in the current tar/zip archive
    • PharData::convertToData - Convert a phar archive to a non-executable tar or zip file
    • PharData::convertToExecutable - Convert a non-executable tar/zip archive to an executable phar archive
    • PharData::copy - Copy a file internal to the phar archive to another new file within the phar
    • PharData::decompress - Decompresses the entire Phar archive
    • PharData::decompressFiles - Decompresses all files in the current zip archive
    • PharData::delete - Delete a file within a tar/zip archive
    • PharData::delMetadata - Deletes the global metadata of a zip archive
    • PharData::extractTo - Extract the contents of a tar/zip archive to a directory
    • PharData::isWritable - Returns true if the tar/zip archive can be modified
    • PharData::offsetSet - Set the contents of a file within the tar/zip to those of an external file or string
    • PharData::offsetUnset - Remove a file from a tar/zip archive
    • PharData::setAlias - Dummy function (Phar::setAlias is not valid for PharData)
    • PharData::setDefaultStub - Dummy function (Phar::setDefaultStub is not valid for PharData)
    • PharData::setMetadata - Sets phar archive meta-data
    • PharData::setSignatureAlgorithm - Set the signature algorithm for a phar and apply it
    • PharData::setStub - Dummy function (Phar::setStub is not valid for PharData)
    • PharData::__construct - Construct a non-executable tar or zip archive object
    • PharData::__destruct - Destructs a non-executable tar or zip archive object
    • PharFileInfo::chmod - Sets file-specific permission bits
    • PharFileInfo::compress - Compresses the current Phar entry with either zlib or bzip2 compression
    • PharFileInfo::decompress - Decompresses the current Phar entry within the phar
    • PharFileInfo::delMetadata - Deletes the metadata of the entry
    • PharFileInfo::getCompressedSize - Returns the actual size of the file (with compression) inside the Phar archive
    • PharFileInfo::getContent - Get the complete file contents of the entry
    • PharFileInfo::getCRC32 - Returns CRC32 code or throws an exception if CRC has not been verified
    • PharFileInfo::getMetadata - Returns file-specific meta-data saved with a file
    • PharFileInfo::getPharFlags - Returns the Phar file entry flags
    • PharFileInfo::hasMetadata - Returns the metadata of the entry
    • PharFileInfo::isCompressed - Returns whether the entry is compressed
    • PharFileInfo::isCRCChecked - Returns whether file entry has had its CRC verified
    • PharFileInfo::setMetadata - Sets file-specific meta-data saved with a file
    • PharFileInfo::__construct - Construct a Phar entry object
    • PharFileInfo::__destruct - Destructs a Phar entry object
    • php:// - Çeşitli G/Ç akımlarına erişim
    • phpcredits - PHP'ya katkıda bulunanları gösterir
    • phpdbg_break_file - Inserts a breakpoint at a line in a file
    • phpdbg_break_function - Inserts a breakpoint at entry to a function
    • phpdbg_break_method - Inserts a breakpoint at entry to a method
    • phpdbg_break_next - Inserts a breakpoint at the next opcode
    • phpdbg_clear - Clears all breakpoints
    • phpdbg_color - Sets the color of certain elements
    • phpdbg_end_oplog - Açıklama
    • phpdbg_exec - Attempts to set the execution context
    • phpdbg_get_executable - Açıklama
    • phpdbg_prompt - Sets the command prompt
    • phpdbg_start_oplog - Açıklama
    • phpinfo - PHP yapılandırması hakkında bilgi çıktılar
    • PhpToken::getTokenName - Dizgeciğin ismini döndürür
    • PhpToken::is - Dizgecik belirtilen çeşit mi diye bakar
    • PhpToken::isIgnorable - Dizgeciğin PHP çözümleyicisi tarafından yoksayılabilir olup olmadığına bakar
    • PhpToken::tokenize - Belirtilen kaynağı PhpToken nesneleri tarafından temsil edilen PHP dizgeciklerine böler
    • PhpToken::__construct - Yeni bir PhpToken nesnesi döndürür
    • PhpToken::__toString - Dizgeciğin metinsel gösterimini döndürür
    • phpversion - Çalışan PHP'nin sürümünü döndürür
    • php_ini_loaded_file - Yüklü php.ini dosyasının dosya yolunu döndürür
    • php_ini_scanned_files - Ek ini dizininden ayrıştırılan dosyaların listesi ile döner
    • php_sapi_name - HTTP sunucusu ile PHP arasındaki arayüzün türünü döndürür
    • php_strip_whitespace - Boşlukları ve açıklamaları ayıklanmış kaynak kodla döner
    • php_uname - PHP'nin çalıştığı işletim sistemi hakkında bilgi döndürür
    • php_user_filter::filter - Süzgeç uygulanırken çağrılır
    • php_user_filter::onClose - Süzgeç kapanışında çağrılır
    • php_user_filter::onCreate - Süzgeç oluşturulurken çağrılır
    • pi - Get value of pi
    • png2wbmp - Bir PNG dosyasını WBMP dosyasına dönüştürür
    • Pool::collect - Collect references to completed tasks
    • Pool::resize - Resize the Pool
    • Pool::shutdown - Shutdown all workers
    • Pool::submit - Submits an object for execution
    • Pool::submitTo - Submits a task to a specific worker for execution
    • Pool::__construct - Creates a new Pool of Workers
    • popen - Bir süreç tanıtıcısı açar
    • pos - current işlevinin takma adıdır
    • posix_access - Bir dosyanın izinlerine bakar
    • posix_ctermid - Denetim uçbiriminin dosya yolunu döndürür
    • posix_eaccess - Determine accessibility of a file
    • posix_errno - posix_get_last_error işlevinin takma adıdır
    • posix_fpathconf - Returns the value of a configurable limit
    • posix_getcwd - Çalışılan dizinin tam yolunu döndürür
    • posix_getegid - Çalışan sürecin etkin grup kimliğini döndürür
    • posix_geteuid - Çalışan sürecin etkin kullanıcı kimliğini döndürür
    • posix_getgid - Çalışan sürecin gerçek grup kimliğini döndürür
    • posix_getgrgid - Grup kimliği belirtilen grup hakkında bilgi verir
    • posix_getgrnam - İsmi belirtilen grup hakkında bilgi verir
    • posix_getgroups - Çalışan sürecin üyesi olduğu grupları döndürür
    • posix_getlogin - Oturumu açan kullanıcının ismini döndürür
    • posix_getpgid - Süreç kimliği belirtilen sürecin süreç grup kimliğini döndürür
    • posix_getpgrp - Çalışan sürecin süreç grup kimliğini döndürür
    • posix_getpid - Çalışan sürecin süreç kimliğini döndürür
    • posix_getppid - Üst süreç kimliğini döndürür
    • posix_getpwnam - Kullanıcı adı belirtilen kullanıcı hakkında bilgi döndürür
    • posix_getpwuid - Kullanıcı kimliği belirtilen kullanıcı hakkında bilgi döndürür
    • posix_getrlimit - Sistem özkaynak sınırları hakkında bilgi verir
    • posix_getsid - Geçerli sürecin oturum kimliğini döndürür
    • posix_getuid - Geçerli sürecin gerçek kullanıcı kimliğini döndürür
    • posix_get_last_error - Başarısız olan son POSIX işlevinden atanan hata numarasını döndürür
    • posix_initgroups - Grup erişim listesini hesaplar
    • posix_isatty - Dosya tanıtıcısı bir etkileşimli uçbirimle ilişkili mi diye bakar
    • posix_kill - Bir sürece bir sinyal gönderir
    • posix_mkfifo - Bir isimli boru dosyası (FIFO) oluşturur
    • posix_mknod - Özel veya sıralı (POSIX.1) bir dosya oluşturur
    • posix_pathconf - Returns the value of a configurable limit
    • posix_setegid - Geçerli sürecin etkin grup kimliğini belirler
    • posix_seteuid - Geçerli sürecin etkin kullanıcı kimliğini belirler
    • posix_setgid - Geçerli sürecin grup kimliğini tanımlar
    • posix_setpgid - İş denetimi için süreç grup kimliğini tanımlar
    • posix_setrlimit - Sistem özkaynak sınırlarını tanımlar
    • posix_setsid - Geçerli süreci bir oturumun lider süreci haline getirir
    • posix_setuid - Geçerli sürecin kullanıcı kimliğini tanımlar
    • posix_strerror - Belirtilen hata kodu ile ilgili sistem hata iletisini döndürür
    • posix_sysconf - Returns system runtime information
    • posix_times - Süreçle ilgili işlemci zamanlarını döndürür
    • posix_ttyname - Uçbirim aygıt ismini belirler
    • posix_uname - Sistem hakkında bilgi verir
    • pow - Exponential expression
    • preg_filter - Bir düzenli ifade arama ve değiştirmesi yapar
    • preg_grep - Düzenli ifadeyle eşleşenleri içeren bir dizi döndürür
    • preg_last_error - Son PCRE düzenli ifade aramasından dönen hatayı döndürür
    • preg_last_error_msg - Son PCRE düzenli ifade işleminin hata iletisini döndürür
    • preg_match - Bir düzenli ifadeyi eşleştirmeye çalışır
    • preg_match_all - Kapsamlı bir düzenli ifade eşleştirmesi yapar
    • preg_quote - Düzenli ifadelerin özel karakterlerini önceler
    • preg_replace - Düzenli ifadeye göre dizgede değişiklik yapar
    • preg_replace_callback - Geriçağırım işlevi kullanarak düzenli ifadeye göre dizgede değişiklik yapar
    • preg_replace_callback_array - Geriçağırım kullanarak düzenli ifade arama ve değiştirmesi yapar
    • preg_split - Dizgeyi düzenli ifadeye göre böler
    • prev - Dahili dizi göstericisini bir geriletir
    • print - Bir dizge çıktılar
    • printf - Biçemli bir dizge çıktılar
    • print_r - Bir değişkenin insanlarca okunabilecek gösterimini basar
    • proc_close - proc_open tarafından açılmış bir süreci kapatır ve sürecin çıkış kodunu döndürür
    • proc_get_status - proc_open tarafından açılmış bir süreç hakkında bilgi döndürür
    • proc_nice - Çalışan sürecin önceliğini değiştirir
    • proc_open - Bir komutu çalıştırır ve G/Ç için bir dosya tanıtıcı açar
    • proc_terminate - proc_open ile açılmış bir süreci öldürür
    • property_exists - Bir nesne veya sınıfın belirtilen özelliğe sahip olup olmadığına bakar
    • pspell_add_to_personal - Add the word to a personal wordlist
    • pspell_add_to_session - Add the word to the wordlist in the current session
    • pspell_check - Check a word
    • pspell_clear_session - Clear the current session
    • pspell_config_create - Create a config used to open a dictionary
    • pspell_config_data_dir - Location of language data files
    • pspell_config_dict_dir - Location of the main word list
    • pspell_config_ignore - Ignore words less than N characters long
    • pspell_config_mode - Change the mode number of suggestions returned
    • pspell_config_personal - Set a file that contains personal wordlist
    • pspell_config_repl - Set a file that contains replacement pairs
    • pspell_config_runtogether - Consider run-together words as valid compounds
    • pspell_config_save_repl - Determine whether to save a replacement pairs list along with the wordlist
    • pspell_new - Load a new dictionary
    • pspell_new_config - Load a new dictionary with settings based on a given config
    • pspell_new_personal - Load a new dictionary with personal wordlist
    • pspell_save_wordlist - Save the personal wordlist to a file
    • pspell_store_replacement - Store a replacement pair for a word
    • pspell_suggest - Suggest spellings of a word
    • ps_add_bookmark - Add bookmark to current page
    • ps_add_launchlink - Adds link which launches file
    • ps_add_locallink - Adds link to a page in the same document
    • ps_add_note - Adds note to current page
    • ps_add_pdflink - Adds link to a page in a second pdf document
    • ps_add_weblink - Adds link to a web location
    • ps_arc - Draws an arc counterclockwise
    • ps_arcn - Draws an arc clockwise
    • ps_begin_page - Start a new page
    • ps_begin_pattern - Start a new pattern
    • ps_begin_template - Start a new template
    • ps_circle - Draws a circle
    • ps_clip - Clips drawing to current path
    • ps_close - Closes a PostScript document
    • ps_closepath - Closes path
    • ps_closepath_stroke - Closes and strokes path
    • ps_close_image - Closes image and frees memory
    • ps_continue_text - Continue text in next line
    • ps_curveto - Draws a curve
    • ps_delete - Deletes all resources of a PostScript document
    • ps_end_page - End a page
    • ps_end_pattern - End a pattern
    • ps_end_template - End a template
    • ps_fill - Fills the current path
    • ps_fill_stroke - Fills and strokes the current path
    • ps_findfont - Loads a font
    • ps_get_buffer - Fetches the full buffer containig the generated PS data
    • ps_get_parameter - Gets certain parameters
    • ps_get_value - Gets certain values
    • ps_hyphenate - Hyphenates a word
    • ps_include_file - Reads an external file with raw PostScript code
    • ps_lineto - Draws a line
    • ps_makespotcolor - Create spot color
    • ps_moveto - Sets current point
    • ps_new - Creates a new PostScript document object
    • ps_open_file - Opens a file for output
    • ps_open_image - Reads an image for later placement
    • ps_open_image_file - Opens image from file
    • ps_open_memory_image - Takes an GD image and returns an image for placement in a PS document
    • ps_place_image - Places image on the page
    • ps_rect - Draws a rectangle
    • ps_restore - Restore previously save context
    • ps_rotate - Sets rotation factor
    • ps_save - Save current context
    • ps_scale - Sets scaling factor
    • ps_setcolor - Sets current color
    • ps_setdash - Sets appearance of a dashed line
    • ps_setflat - Sets flatness
    • ps_setfont - Sets font to use for following output
    • ps_setgray - Sets gray value
    • ps_setlinecap - Sets appearance of line ends
    • ps_setlinejoin - Sets how contected lines are joined
    • ps_setlinewidth - Sets width of a line
    • ps_setmiterlimit - Sets the miter limit
    • ps_setoverprintmode - Sets overprint mode
    • ps_setpolydash - Sets appearance of a dashed line
    • ps_set_border_color - Sets color of border for annotations
    • ps_set_border_dash - Sets length of dashes for border of annotations
    • ps_set_border_style - Sets border style of annotations
    • ps_set_info - Sets information fields of document
    • ps_set_parameter - Sets certain parameters
    • ps_set_text_pos - Sets position for text output
    • ps_set_value - Sets certain values
    • ps_shading - Creates a shading for later use
    • ps_shading_pattern - Creates a pattern based on a shading
    • ps_shfill - Fills an area with a shading
    • ps_show - Output text
    • ps_show2 - Output a text at current position
    • ps_show_boxed - Output text in a box
    • ps_show_xy - Output text at given position
    • ps_show_xy2 - Output text at position
    • ps_stringwidth - Gets width of a string
    • ps_string_geometry - Gets geometry of a string
    • ps_stroke - Draws the current path
    • ps_symbol - Output a glyph
    • ps_symbol_name - Gets name of a glyph
    • ps_symbol_width - Gets width of a glyph
    • ps_translate - Sets translation
    • putenv - Bir ortam değişkenine değer atar
  • q
    • QuickHashIntHash::add - This method adds a new entry to the hash
    • QuickHashIntHash::delete - This method deletes an entry from the hash
    • QuickHashIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntHash::getSize - Returns the number of elements in the hash
    • QuickHashIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntHash::__construct - Creates a new QuickHashIntHash object
    • QuickHashIntSet::add - This method adds a new entry to the set
    • QuickHashIntSet::delete - This method deletes an entry from the set
    • QuickHashIntSet::exists - This method checks whether a key is part of the set
    • QuickHashIntSet::getSize - Returns the number of elements in the set
    • QuickHashIntSet::loadFromFile - This factory method creates a set from a file
    • QuickHashIntSet::loadFromString - This factory method creates a set from a string
    • QuickHashIntSet::saveToFile - This method stores an in-memory set to disk
    • QuickHashIntSet::saveToString - This method returns a serialized version of the set
    • QuickHashIntSet::__construct - Creates a new QuickHashIntSet object
    • QuickHashIntStringHash::add - This method adds a new entry to the hash
    • QuickHashIntStringHash::delete - This method deletes an entry from the hash
    • QuickHashIntStringHash::exists - This method checks whether a key is part of the hash
    • QuickHashIntStringHash::get - This method retrieves a value from the hash by its key
    • QuickHashIntStringHash::getSize - Returns the number of elements in the hash
    • QuickHashIntStringHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashIntStringHash::loadFromString - This factory method creates a hash from a string
    • QuickHashIntStringHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashIntStringHash::saveToString - This method returns a serialized version of the hash
    • QuickHashIntStringHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashIntStringHash::update - This method updates an entry in the hash with a new value
    • QuickHashIntStringHash::__construct - Creates a new QuickHashIntStringHash object
    • QuickHashStringIntHash::add - This method adds a new entry to the hash
    • QuickHashStringIntHash::delete - This method deletes an entry from the hash
    • QuickHashStringIntHash::exists - This method checks whether a key is part of the hash
    • QuickHashStringIntHash::get - This method retrieves a value from the hash by its key
    • QuickHashStringIntHash::getSize - Returns the number of elements in the hash
    • QuickHashStringIntHash::loadFromFile - This factory method creates a hash from a file
    • QuickHashStringIntHash::loadFromString - This factory method creates a hash from a string
    • QuickHashStringIntHash::saveToFile - This method stores an in-memory hash to disk
    • QuickHashStringIntHash::saveToString - This method returns a serialized version of the hash
    • QuickHashStringIntHash::set - This method updates an entry in the hash with a new value, or adds a new one if the entry doesn't exist
    • QuickHashStringIntHash::update - This method updates an entry in the hash with a new value
    • QuickHashStringIntHash::__construct - Creates a new QuickHashStringIntHash object
    • quoted_printable_decode - ASCII olarak basılabilir (quoted-printable) bir dizgenin 8 bitlik sürümünü döndürür
    • quoted_printable_encode - 8 bitlik bir dizgenin ASCII olarak basılabilir (quoted-printable) sürümünü döndürür
    • quotemeta - Özel anlamı olan karakterleri tersbölü ile önceler
  • r
    • rad2deg - Converts the radian number to the equivalent number in degrees
    • radius_acct_open - Creates a Radius handle for accounting
    • radius_add_server - Adds a server
    • radius_auth_open - Creates a Radius handle for authentication
    • radius_close - Frees all ressources
    • radius_config - Causes the library to read the given configuration file
    • radius_create_request - Create accounting or authentication request
    • radius_cvt_addr - Converts raw data to IP-Address
    • radius_cvt_int - Converts raw data to integer
    • radius_cvt_string - Converts raw data to string
    • radius_demangle - Demangles data
    • radius_demangle_mppe_key - Derives mppe-keys from mangled data
    • radius_get_attr - Extracts an attribute
    • radius_get_tagged_attr_data - Extracts the data from a tagged attribute
    • radius_get_tagged_attr_tag - Extracts the tag from a tagged attribute
    • radius_get_vendor_attr - Extracts a vendor specific attribute
    • radius_put_addr - Attaches an IP address attribute
    • radius_put_attr - Attaches a binary attribute
    • radius_put_int - Attaches an integer attribute
    • radius_put_string - Attaches a string attribute
    • radius_put_vendor_addr - Attaches a vendor specific IP address attribute
    • radius_put_vendor_attr - Attaches a vendor specific binary attribute
    • radius_put_vendor_int - Attaches a vendor specific integer attribute
    • radius_put_vendor_string - Attaches a vendor specific string attribute
    • radius_request_authenticator - Returns the request authenticator
    • radius_salt_encrypt_attr - Salt-encrypts a value
    • radius_send_request - Sends the request and waits for a reply
    • radius_server_secret - Returns the shared secret
    • radius_strerror - Returns an error message
    • rand - Generate a random integer
    • Random\Engine::generate - Generates randomness
    • Random\Engine\Mt19937::generate - Generate 32 bits of randomness
    • Random\Engine\Mt19937::__construct - Constructs a new Mt19937 engine
    • Random\Engine\Mt19937::__debugInfo - Returns the internal state of the engine
    • Random\Engine\Mt19937::__serialize - Serializes the Mt19937 object
    • Random\Engine\Mt19937::__unserialize - Deserializes the data parameter into a Mt19937 object
    • Random\Engine\PcgOneseq128XslRr64::generate - Generate 64 bits of randomness
    • Random\Engine\PcgOneseq128XslRr64::jump - Efficiently move the engine ahead multiple steps
    • Random\Engine\PcgOneseq128XslRr64::__construct - Constructs a new PCG Oneseq 128 XSL RR 64 engine
    • Random\Engine\PcgOneseq128XslRr64::__debugInfo - Returns the internal state of the engine
    • Random\Engine\PcgOneseq128XslRr64::__serialize - Serializes the PcgOneseq128XslRr64 object
    • Random\Engine\PcgOneseq128XslRr64::__unserialize - Deserializes the data parameter into a PcgOneseq128XslRr64 object
    • Random\Engine\Secure::generate - Generate cryptographically secure randomness
    • Random\Engine\Xoshiro256StarStar::generate - Generate 64 bits of randomness
    • Random\Engine\Xoshiro256StarStar::jump - Efficiently move the engine ahead by 2^128 steps
    • Random\Engine\Xoshiro256StarStar::jumpLong - Efficiently move the engine ahead by 2^192 steps
    • Random\Engine\Xoshiro256StarStar::__construct - Constructs a new xoshiro256** engine
    • Random\Engine\Xoshiro256StarStar::__debugInfo - Returns the internal state of the engine
    • Random\Engine\Xoshiro256StarStar::__serialize - Serializes the Xoshiro256StarStar object
    • Random\Engine\Xoshiro256StarStar::__unserialize - Deserializes the data parameter into a Xoshiro256StarStar object
    • Random\Randomizer::getBytes - Get random bytes
    • Random\Randomizer::getBytesFromString - Get random bytes from a source string
    • Random\Randomizer::getFloat - Get a uniformly selected float
    • Random\Randomizer::getInt - Get a uniformly selected integer
    • Random\Randomizer::nextFloat - Get a float from the right-open interval [0.0, 1.0)
    • Random\Randomizer::nextInt - Get a positive integer
    • Random\Randomizer::pickArrayKeys - Select random array keys
    • Random\Randomizer::shuffleArray - Get a permutation of an array
    • Random\Randomizer::shuffleBytes - Get a byte-wise permutation of a string
    • Random\Randomizer::__construct - Constructs a new Randomizer
    • Random\Randomizer::__serialize - Serializes the Randomizer object
    • Random\Randomizer::__unserialize - Deserializes the data parameter into a Randomizer object
    • random_bytes - Get cryptographically secure random bytes
    • random_int - Get a cryptographically secure, uniformly selected integer
    • range - Belli bir eleman aralığını içeren bir dizi oluşturur
    • rar:// - RAR
    • RarArchive::close - Close RAR archive and free all resources
    • RarArchive::getComment - Get comment text from the RAR archive
    • RarArchive::getEntries - Get full list of entries from the RAR archive
    • RarArchive::getEntry - Get entry object from the RAR archive
    • RarArchive::isBroken - Test whether an archive is broken (incomplete)
    • RarArchive::isSolid - Check whether the RAR archive is solid
    • RarArchive::open - Open RAR archive
    • RarArchive::setAllowBroken - Whether opening broken archives is allowed
    • RarArchive::__toString - Get text representation
    • RarEntry::extract - Extract entry from the archive
    • RarEntry::getAttr - Get attributes of the entry
    • RarEntry::getCrc - Get CRC of the entry
    • RarEntry::getFileTime - Get entry last modification time
    • RarEntry::getHostOs - Get entry host OS
    • RarEntry::getMethod - Get pack method of the entry
    • RarEntry::getName - Get name of the entry
    • RarEntry::getPackedSize - Get packed size of the entry
    • RarEntry::getStream - Get file handler for entry
    • RarEntry::getUnpackedSize - Get unpacked size of the entry
    • RarEntry::getVersion - Get minimum version of RAR program required to unpack the entry
    • RarEntry::isDirectory - Test whether an entry represents a directory
    • RarEntry::isEncrypted - Test whether an entry is encrypted
    • RarEntry::__toString - Get text representation of entry
    • RarException::isUsingExceptions - Check whether error handling with exceptions is in use
    • RarException::setUsingExceptions - Activate and deactivate error handling with exceptions
    • rar_wrapper_cache_stats - Cache hits and misses for the URL wrapper
    • rawurldecode - URL kodlamalı dizgenin kodlamasını kaldırır
    • rawurlencode - RFC 3986'ya uygun URL kodlaması yapar
    • readdir - Dizinden bir girdinin ismini okur
    • readfile - Bir dosyayı çıktılar
    • readgzfile - Bir .gz dosyası çıktılar
    • readline - Reads a line
    • readline_add_history - Adds a line to the history
    • readline_callback_handler_install - Initializes the readline callback interface and terminal, prints the prompt and returns immediately
    • readline_callback_handler_remove - Removes a previously installed callback handler and restores terminal settings
    • readline_callback_read_char - Reads a character and informs the readline callback interface when a line is received
    • readline_clear_history - Clears the history
    • readline_completion_function - Registers a completion function
    • readline_info - Gets/sets various internal readline variables
    • readline_list_history - Lists the history
    • readline_on_new_line - Inform readline that the cursor has moved to a new line
    • readline_read_history - Reads the history
    • readline_redisplay - Redraws the display
    • readline_write_history - Writes the history
    • readlink - Bir sembolik bağın hedefi ile döner
    • read_exif_data - exif_read_data işlevinin takma adıdır
    • realpath - Normalleştirilmiş mutlak dosya yolunu döndürür
    • realpath_cache_get - Mutlak dosya yolu önbellek girdilerini döndürür
    • realpath_cache_size - Mutlak dosya yolu önbellek boyunu döndürür
    • recode - recode_string işlevinin takma adıdır
    • recode_file - Dosyadan dosyaya karakter kodlaması dönüşümü yapar
    • recode_string - Yapılan isteğe bağlı olarak bir dizgeyi yeniden kodlar
    • RecursiveArrayIterator::getChildren - Returns an iterator for the current entry if it is an array or an object
    • RecursiveArrayIterator::hasChildren - Returns whether current entry is an array or an object
    • RecursiveCachingIterator::getChildren - Return the inner iterator's children as a RecursiveCachingIterator
    • RecursiveCachingIterator::hasChildren - Check whether the current element of the inner iterator has children
    • RecursiveCachingIterator::__construct - Construct
    • RecursiveCallbackFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveCallbackFilterIterator
    • RecursiveCallbackFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveCallbackFilterIterator::__construct - Create a RecursiveCallbackFilterIterator from a RecursiveIterator
    • RecursiveDirectoryIterator::getChildren - Returns an iterator for the current entry if it is a directory
    • RecursiveDirectoryIterator::getSubPath - Get sub path
    • RecursiveDirectoryIterator::getSubPathname - Get sub path and name
    • RecursiveDirectoryIterator::hasChildren - Returns whether current entry is a directory and not '.' or '..'
    • RecursiveDirectoryIterator::key - Return path and filename of current dir entry
    • RecursiveDirectoryIterator::next - Move to next entry
    • RecursiveDirectoryIterator::rewind - Rewind dir back to the start
    • RecursiveDirectoryIterator::__construct - Constructs a RecursiveDirectoryIterator
    • RecursiveFilterIterator::getChildren - Return the inner iterator's children contained in a RecursiveFilterIterator
    • RecursiveFilterIterator::hasChildren - Check whether the inner iterator's current element has children
    • RecursiveFilterIterator::__construct - Create a RecursiveFilterIterator from a RecursiveIterator
    • RecursiveIterator::getChildren - Returns an iterator for the current entry
    • RecursiveIterator::hasChildren - Returns if an iterator can be created for the current entry
    • RecursiveIteratorIterator::beginChildren - Begin children
    • RecursiveIteratorIterator::beginIteration - Begin Iteration
    • RecursiveIteratorIterator::callGetChildren - Get children
    • RecursiveIteratorIterator::callHasChildren - Has children
    • RecursiveIteratorIterator::current - Access the current element value
    • RecursiveIteratorIterator::endChildren - End children
    • RecursiveIteratorIterator::endIteration - End Iteration
    • RecursiveIteratorIterator::getDepth - Get the current depth of the recursive iteration
    • RecursiveIteratorIterator::getInnerIterator - Get inner iterator
    • RecursiveIteratorIterator::getMaxDepth - Get max depth
    • RecursiveIteratorIterator::getSubIterator - The current active sub iterator
    • RecursiveIteratorIterator::key - Access the current key
    • RecursiveIteratorIterator::next - Move forward to the next element
    • RecursiveIteratorIterator::nextElement - Next element
    • RecursiveIteratorIterator::rewind - Rewind the iterator to the first element of the top level inner iterator
    • RecursiveIteratorIterator::setMaxDepth - Set max depth
    • RecursiveIteratorIterator::valid - Check whether the current position is valid
    • RecursiveIteratorIterator::__construct - Construct a RecursiveIteratorIterator
    • RecursiveRegexIterator::getChildren - Returns an iterator for the current entry
    • RecursiveRegexIterator::hasChildren - Returns whether an iterator can be obtained for the current entry
    • RecursiveRegexIterator::__construct - Creates a new RecursiveRegexIterator
    • RecursiveTreeIterator::beginChildren - Begin children
    • RecursiveTreeIterator::beginIteration - Begin iteration
    • RecursiveTreeIterator::callGetChildren - Get children
    • RecursiveTreeIterator::callHasChildren - Has children
    • RecursiveTreeIterator::current - Get current element
    • RecursiveTreeIterator::endChildren - End children
    • RecursiveTreeIterator::endIteration - End iteration
    • RecursiveTreeIterator::getEntry - Get current entry
    • RecursiveTreeIterator::getPostfix - Get the postfix
    • RecursiveTreeIterator::getPrefix - Get the prefix
    • RecursiveTreeIterator::key - Get the key of the current element
    • RecursiveTreeIterator::next - Move to next element
    • RecursiveTreeIterator::nextElement - Next element
    • RecursiveTreeIterator::rewind - Rewind iterator
    • RecursiveTreeIterator::setPostfix - Set postfix
    • RecursiveTreeIterator::setPrefixPart - Set a part of the prefix
    • RecursiveTreeIterator::valid - Check validity
    • RecursiveTreeIterator::__construct - Construct a RecursiveTreeIterator
    • Reflection::export - Sınıfı ihraç eder
    • Reflection::getModifierNames - Değiştirici isimlerini döndürür
    • ReflectionAttribute::getArguments - Gets arguments passed to attribute
    • ReflectionAttribute::getName - Gets attribute name
    • ReflectionAttribute::getTarget - Returns the target of the attribute as bitmask
    • ReflectionAttribute::isRepeated - Returns whether the attribute of this name has been repeated on a code element
    • ReflectionAttribute::newInstance - Instantiates the attribute class represented by this ReflectionAttribute class and arguments
    • ReflectionAttribute::__construct - Private constructor to disallow direct instantiation
    • ReflectionClass::export - Bir sınıf ihraç eder
    • ReflectionClass::getAttributes - Gets Attributes
    • ReflectionClass::getConstant - Tanımlı sabiti döndürür
    • ReflectionClass::getConstants - Sabitleri döndürür
    • ReflectionClass::getConstructor - Sınıfın kurucusunu döndürür
    • ReflectionClass::getDefaultProperties - Sınıftaki öntanımlı özellikleri (miras alınanlar dahil) döndürür
    • ReflectionClass::getDocComment - Belgelendirici açıklamaları döndürür
    • ReflectionClass::getEndLine - Son satırın numarasını döndürür
    • ReflectionClass::getExtension - Sınıfı tanımlayan eklenti için bir ReflectionExtension örneği döndürür
    • ReflectionClass::getExtensionName - Sınıfı tanımlayan eklentinin ismini döndürür
    • ReflectionClass::getFileName - Sınıfın tanımlandığı dosyanın adını döndürür
    • ReflectionClass::getInterfaceNames - Arayüz isimlerini döndürür
    • ReflectionClass::getInterfaces - Arayüzleri döndürür
    • ReflectionClass::getMethod - Bir sınıf yöntemi için bir ReflectionMethod nesnesi döndürür
    • ReflectionClass::getMethods - Yöntemleri dizi olarak döndürür
    • ReflectionClass::getModifiers - Sınıf değiştiricilerini döndürür
    • ReflectionClass::getName - Sınıf ismini döndürür
    • ReflectionClass::getNamespaceName - İsim alanı ismini döndürür
    • ReflectionClass::getParentClass - Ebeveyn sınıfı döndürür
    • ReflectionClass::getProperties - Özellikleri döndürür
    • ReflectionClass::getProperty - Bir sınıf özelliği için bir ReflectionProperty döndürür
    • ReflectionClass::getReflectionConstant - Bir sınıfın sabiti için ReflectionClassConstant sınıfı
    • ReflectionClass::getReflectionConstants - Sınıf sabitlerini döndürür
    • ReflectionClass::getShortName - Kısa adı döndürür
    • ReflectionClass::getStartLine - Başlangıç satır numarasını döndürür
    • ReflectionClass::getStaticProperties - Duruk özellikleri döndürür
    • ReflectionClass::getStaticPropertyValue - Duruk özelliğin değerini döndürür
    • ReflectionClass::getTraitAliases - Returns an array of trait aliases
    • ReflectionClass::getTraitNames - Returns an array of names of traits used by this class
    • ReflectionClass::getTraits - Returns an array of traits used by this class
    • ReflectionClass::hasConstant - Sabit tanımlı mı diye bakar
    • ReflectionClass::hasMethod - Yöntem tanımlı mı diye bakar
    • ReflectionClass::hasProperty - Özellik tanımlı mı diye bakar
    • ReflectionClass::implementsInterface - Arayüz gerçeklenmiş mi diye bakar
    • ReflectionClass::inNamespace - Sınıf isim alanında mı diye bakar
    • ReflectionClass::isAbstract - Sınıf soyut mu diye bakar
    • ReflectionClass::isAnonymous - Checks if class is anonymous
    • ReflectionClass::isCloneable - Returns whether this class is cloneable
    • ReflectionClass::isEnum - Returns whether this is an enum
    • ReflectionClass::isFinal - Sınıf bir final sınıf mı diye bakar
    • ReflectionClass::isInstance - Sınıf bir nesne örneği mi diye bakar
    • ReflectionClass::isInstantiable - Sınıf örneklenebilir mi diye bakar
    • ReflectionClass::isInterface - Nesne bir arayüz mü diye bakar
    • ReflectionClass::isInternal - Sınıf yerleşik mi yoksa kullanıcı tanımlı mı diye bakar
    • ReflectionClass::isIterable - Sınıf yinelenebilir mi diye bakar
    • ReflectionClass::isIterateable - ReflectionClass::isIterable için takma ada
    • ReflectionClass::isReadOnly - Checks if class is readonly
    • ReflectionClass::isSubclassOf - Sınıf bir alt sınıf mı diye bakar
    • ReflectionClass::isTrait - Returns whether this is a trait
    • ReflectionClass::isUserDefined - Sınıf bir kullanıcı tanımlı sınıf mı diye bakar
    • ReflectionClass::newInstance - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
    • ReflectionClass::newInstanceArgs - Belirtilen bağımsız değişkenlerden yeni bir sınıf örneği oluşturur
    • ReflectionClass::newInstanceWithoutConstructor - Creates a new class instance without invoking the constructor
    • ReflectionClass::setStaticPropertyValue - Statik özelliğe değer atar
    • ReflectionClass::__construct - Bir ReflectionClass nesnesi oluşturur
    • ReflectionClass::__toString - ReflectionClass nesnesinin dizgesel gösterimini döndürür
    • ReflectionClassConstant::export - Export
    • ReflectionClassConstant::getAttributes - Gets Attributes
    • ReflectionClassConstant::getDeclaringClass - Gets declaring class
    • ReflectionClassConstant::getDocComment - Gets doc comments
    • ReflectionClassConstant::getModifiers - Gets the class constant modifiers
    • ReflectionClassConstant::getName - Get name of the constant
    • ReflectionClassConstant::getValue - Gets value
    • ReflectionClassConstant::isEnumCase - Checks if class constant is an Enum case
    • ReflectionClassConstant::isFinal - Checks if class constant is final
    • ReflectionClassConstant::isPrivate - Checks if class constant is private
    • ReflectionClassConstant::isProtected - Checks if class constant is protected
    • ReflectionClassConstant::isPublic - Checks if class constant is public
    • ReflectionClassConstant::__construct - Constructs a ReflectionClassConstant
    • ReflectionClassConstant::__toString - Returns the string representation of the ReflectionClassConstant object
    • ReflectionEnum::getBackingType - Gets the backing type of an Enum, if any
    • ReflectionEnum::getCase - Returns a specific case of an Enum
    • ReflectionEnum::getCases - Returns a list of all cases on an Enum
    • ReflectionEnum::hasCase - Checks for a case on an Enum
    • ReflectionEnum::isBacked - Determines if an Enum is a Backed Enum
    • ReflectionEnum::__construct - Instantiates a ReflectionEnum object
    • ReflectionEnumBackedCase::getBackingValue - Gets the scalar value backing this Enum case
    • ReflectionEnumBackedCase::__construct - Instantiates a ReflectionEnumBackedCase object
    • ReflectionEnumUnitCase::getEnum - Gets the reflection of the enum of this case
    • ReflectionEnumUnitCase::getValue - Gets the enum case object described by this reflection object
    • ReflectionEnumUnitCase::__construct - Instantiates a ReflectionEnumUnitCase object
    • ReflectionExtension::export - Sınıfı ihraç eder
    • ReflectionExtension::getClasses - Eklentinin sınıflarını döndürür
    • ReflectionExtension::getClassNames - Eklentide tanımlı sınıf isimlerini döndürür
    • ReflectionExtension::getConstants - Eklentinin sabitlerini döndürür
    • ReflectionExtension::getDependencies - Bağımlılıkları döndürür
    • ReflectionExtension::getFunctions - Eklenti işlevlerini döndürür
    • ReflectionExtension::getINIEntries - Eklentinin ini girdilerini döndürür
    • ReflectionExtension::getName - Eklenti ismini döndürür
    • ReflectionExtension::getVersion - Eklentinin sürüm bilgisini döndürür
    • ReflectionExtension::info - Eklenti bilgilerini basar
    • ReflectionExtension::isPersistent - Returns whether this extension is persistent
    • ReflectionExtension::isTemporary - Returns whether this extension is temporary
    • ReflectionExtension::__clone - Reflection nesneleri kopyalanamaz
    • ReflectionExtension::__construct - Bir ReflectionExtension nesnesi oluşturur
    • ReflectionExtension::__toString - Dizgesel tepkiyi görselleştirir
    • ReflectionFiber::getCallable - Gets the callable used to create the Fiber
    • ReflectionFiber::getExecutingFile - Get the file name of the current execution point
    • ReflectionFiber::getExecutingLine - Get the line number of the current execution point
    • ReflectionFiber::getFiber - Get the reflected Fiber instance
    • ReflectionFiber::getTrace - Get the backtrace of the current execution point
    • ReflectionFiber::__construct - Constructs a ReflectionFiber object
    • ReflectionFunction::export - İşlevi ihraç eder
    • ReflectionFunction::getClosure - Returns a dynamically created closure for the function
    • ReflectionFunction::invoke - İşlevi çağırır
    • ReflectionFunction::invokeArgs - İşlev bağımsız değişkenlerini çağırır
    • ReflectionFunction::isAnonymous - Checks if a function is anonymous
    • ReflectionFunction::isDisabled - İşlevin iptal edilip edilmediğine bakar
    • ReflectionFunction::__construct - Bir ReflectionFunction nesnesi oluşturur
    • ReflectionFunction::__toString - İşlevin bağımsız değişken satırını dizgeleştirerek döndürür
    • ReflectionFunctionAbstract::getAttributes - Gets Attributes
    • ReflectionFunctionAbstract::getClosureScopeClass - Returns the scope class associated with the closure
    • ReflectionFunctionAbstract::getClosureThis - Returns this pointer bound to closure
    • ReflectionFunctionAbstract::getClosureUsedVariables - Returns an array of the used variables in the Closure
    • ReflectionFunctionAbstract::getDocComment - Belgelendirici açıklamaları döndürür
    • ReflectionFunctionAbstract::getEndLine - Son satır numarasını döndürür
    • ReflectionFunctionAbstract::getExtension - Eklenti bilgilerini döndürür
    • ReflectionFunctionAbstract::getExtensionName - Eklenti ismini döndürür
    • ReflectionFunctionAbstract::getFileName - İşlevin tanımladığı dosyanın ismini döndürür
    • ReflectionFunctionAbstract::getName - İşlev ismini döndürür
    • ReflectionFunctionAbstract::getNamespaceName - İsim alanı adını döndürür
    • ReflectionFunctionAbstract::getNumberOfParameters - Bağımsız değişken sayısını döndürür
    • ReflectionFunctionAbstract::getNumberOfRequiredParameters - Zorunlu bağımsız değişken sayısını döndürür
    • ReflectionFunctionAbstract::getParameters - Bağımsız değişkenleri döndürür
    • ReflectionFunctionAbstract::getReturnType - Gets the specified return type of a function
    • ReflectionFunctionAbstract::getShortName - İşlevin kısa ismini döndürür
    • ReflectionFunctionAbstract::getStartLine - Başlangıç satır numarasını döndürür
    • ReflectionFunctionAbstract::getStaticVariables - Duruk değişkenleri döndürür
    • ReflectionFunctionAbstract::getTentativeReturnType - Returns the tentative return type associated with the function
    • ReflectionFunctionAbstract::hasReturnType - Checks if the function has a specified return type
    • ReflectionFunctionAbstract::hasTentativeReturnType - Returns whether the function has a tentative return type
    • ReflectionFunctionAbstract::inNamespace - İşlev isim alanına ait mi diye bakar
    • ReflectionFunctionAbstract::isClosure - Bir anonim işlev mi diye bakar
    • ReflectionFunctionAbstract::isDeprecated - Kullanımı önerilmiyor mu diye bakar
    • ReflectionFunctionAbstract::isGenerator - Returns whether this function is a generator
    • ReflectionFunctionAbstract::isInternal - İşlev yerleşik mi diye bakar
    • ReflectionFunctionAbstract::isStatic - Checks if the function is static
    • ReflectionFunctionAbstract::isUserDefined - İşlev kullanıcı tanımlı bir işlev mi diye bakar
    • ReflectionFunctionAbstract::isVariadic - Checks if the function is variadic
    • ReflectionFunctionAbstract::returnsReference - İşlev dönüş değeri gönderimli mi diye bakar
    • ReflectionFunctionAbstract::__clone - İşlevi kopyalar
    • ReflectionFunctionAbstract::__toString - Nesnenin dizgesel tepkisini görselleştirir
    • ReflectionGenerator::getExecutingFile - Gets the file name of the currently executing generator
    • ReflectionGenerator::getExecutingGenerator - Gets the executing Generator object
    • ReflectionGenerator::getExecutingLine - Gets the currently executing line of the generator
    • ReflectionGenerator::getFunction - Gets the function name of the generator
    • ReflectionGenerator::getThis - Gets the $this value of the generator
    • ReflectionGenerator::getTrace - Gets the trace of the executing generator
    • ReflectionGenerator::__construct - Constructs a ReflectionGenerator object
    • ReflectionIntersectionType::getTypes - Returns the types included in the intersection type
    • ReflectionMethod::createFromMethodName - Creates a new ReflectionMethod
    • ReflectionMethod::export - Bir yöntem ihraç eder
    • ReflectionMethod::getClosure - Returns a dynamically created closure for the method
    • ReflectionMethod::getDeclaringClass - Yansıtılan yöntemin bildirildiği sınıfı döndürür
    • ReflectionMethod::getModifiers - Erişim değiştiricileri döndürür
    • ReflectionMethod::getPrototype - Yöntem bildirimini (varsa) döndürür
    • ReflectionMethod::hasPrototype - Returns whether a method has a prototype
    • ReflectionMethod::invoke - Yöntemi çağırır
    • ReflectionMethod::invokeArgs - Bağımsız değişkenlerini dizi içinde aktararak yöntemi çağırır
    • ReflectionMethod::isAbstract - Yöntem soyut mu diye bakar
    • ReflectionMethod::isConstructor - Yöntem bir kurucu mu diye bakar
    • ReflectionMethod::isDestructor - Yöntem bir yıkıcı mı diye bakar
    • ReflectionMethod::isFinal - Yöntem final olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isPrivate - Yöntem private olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isProtected - Yöntem protected olarak mı bildirilmiş diye bakar
    • ReflectionMethod::isPublic - Yöntem public olarak mı bildirilmiş diye bakar
    • ReflectionMethod::setAccessible - Set method accessibility
    • ReflectionMethod::__construct - Yeni bir ReflectionMethod nesnesi oluşturur
    • ReflectionMethod::__toString - Yansıtılan yöntemin dizgesel gösterimini döndürür
    • ReflectionNamedType::getName - Get the name of the type as a string
    • ReflectionNamedType::isBuiltin - Checks if it is a built-in type
    • ReflectionObject::export - Sınıfı ihraç eder
    • ReflectionObject::__construct - Bir ReflectionObject nesnesi oluşturur
    • ReflectionParameter::allowsNull - null değere izin veriliyor mu diye bakar
    • ReflectionParameter::canBePassedByValue - Returns whether this parameter can be passed by value
    • ReflectionParameter::export - Sınıfı ihraç eder
    • ReflectionParameter::getAttributes - Gets Attributes
    • ReflectionParameter::getClass - Yansıtılan bağımsız değişkenin ReflectionClass örneğini döndürür
    • ReflectionParameter::getDeclaringClass - Bildiren sınıfı döndürür
    • ReflectionParameter::getDeclaringFunction - Bildiren işlevi döndürür
    • ReflectionParameter::getDefaultValue - Bağımsız değişkenin öntanımlı değerini döndürür
    • ReflectionParameter::getDefaultValueConstantName - Returns the default value's constant name if default value is constant or null
    • ReflectionParameter::getName - Bağımsız değişkenin ismini döndürür
    • ReflectionParameter::getPosition - Bağımsız değişkenin konumunu döndürür
    • ReflectionParameter::getType - Gets a parameter's type
    • ReflectionParameter::hasType - Checks if parameter has a type
    • ReflectionParameter::isArray - Bağımsız değişken değeri bir dizi mi olacak diye bakar
    • ReflectionParameter::isCallable - Returns whether parameter MUST be callable
    • ReflectionParameter::isDefaultValueAvailable - Öntanımlı bir değerin kullanılabilir olup olmadığına bakar
    • ReflectionParameter::isDefaultValueConstant - Returns whether the default value of this parameter is a constant
    • ReflectionParameter::isOptional - Bağımsız değişken seçimlik mi diye bakar
    • ReflectionParameter::isPassedByReference - Bağımsız değişken gönderimli aktarılabilir mi diye bakar
    • ReflectionParameter::isVariadic - Checks if the parameter is variadic
    • ReflectionParameter::__clone - Nesneyi kopyalar
    • ReflectionParameter::__construct - Bir ReflectionParameter nesnesi oluşturur
    • ReflectionParameter::__toString - Dizgesel tepkiyi görselleştirir
    • ReflectionProperty::export - Özelliği ihraç eder
    • ReflectionProperty::getAttributes - Gets Attributes
    • ReflectionProperty::getDeclaringClass - Bildiren sınıfı döndürür
    • ReflectionProperty::getDefaultValue - Returns the default value declared for a property
    • ReflectionProperty::getDocComment - Özellik açıklamalarını döndürür
    • ReflectionProperty::getModifiers - Erişim değiştiricileri döndürür
    • ReflectionProperty::getName - Özelliğin ismini döndürür
    • ReflectionProperty::getType - Gets a property's type
    • ReflectionProperty::getValue - Özelliğin değerini döndürür
    • ReflectionProperty::hasDefaultValue - Checks if property has a default value declared
    • ReflectionProperty::hasType - Checks if property has a type
    • ReflectionProperty::isDefault - Özellik öntanımlı mı diye bakar
    • ReflectionProperty::isInitialized - Checks whether a property is initialized
    • ReflectionProperty::isPrivate - Özellik private olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isPromoted - Checks if property is promoted
    • ReflectionProperty::isProtected - Özellik protected olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isPublic - Özellik public olarak mı bildirilmiş diye bakar
    • ReflectionProperty::isReadOnly - Checks if property is readonly
    • ReflectionProperty::isStatic - Özellik duruk mu diye bakar
    • ReflectionProperty::setAccessible - Özelliği erişilebilir kılar
    • ReflectionProperty::setValue - Özelliğe değer atar
    • ReflectionProperty::__clone - Özelliği kopyalar
    • ReflectionProperty::__construct - Bir ReflectionProperty nesnesi oluşturur
    • ReflectionProperty::__toString - Dizgesel gösterimi döndürür
    • ReflectionReference::fromArrayElement - Create a ReflectionReference from an array element
    • ReflectionReference::getId - Get unique ID of a reference
    • ReflectionReference::__construct - Private constructor to disallow direct instantiation
    • ReflectionType::allowsNull - Checks if null is allowed
    • ReflectionType::__toString - To string
    • ReflectionUnionType::getTypes - Returns the types included in the union type
    • ReflectionZendExtension::export - Export
    • ReflectionZendExtension::getAuthor - Gets author
    • ReflectionZendExtension::getCopyright - Gets copyright
    • ReflectionZendExtension::getName - Gets name
    • ReflectionZendExtension::getURL - Gets URL
    • ReflectionZendExtension::getVersion - Gets version
    • ReflectionZendExtension::__clone - Clone handler
    • ReflectionZendExtension::__construct - Constructs a ReflectionZendExtension object
    • ReflectionZendExtension::__toString - To string handler
    • Reflector::export - Sınıfı ihraç eder
    • RegexIterator::accept - Get accept status
    • RegexIterator::getFlags - Get flags
    • RegexIterator::getMode - Returns operation mode
    • RegexIterator::getPregFlags - Returns the regular expression flags
    • RegexIterator::getRegex - Returns current regular expression
    • RegexIterator::setFlags - Sets the flags
    • RegexIterator::setMode - Sets the operation mode
    • RegexIterator::setPregFlags - Sets the regular expression flags
    • RegexIterator::__construct - Create a new RegexIterator
    • register_shutdown_function - Betiğin işi bittiğinde çalıştırılacak işlevi tanımlar
    • register_tick_function - Her tikte çalıştırılacak işlevi tanımlar
    • rename - Bir dosya veya dizinin ismini değiştirir
    • reset - Bir dizinin dahili göstericisini ilk elemana konumlar
    • ResourceBundle::count - Get number of elements in the bundle
    • ResourceBundle::create - Create a resource bundle
    • ResourceBundle::get - Get data from the bundle
    • ResourceBundle::getErrorCode - Get bundle's last error code
    • ResourceBundle::getErrorMessage - Get bundle's last error message
    • ResourceBundle::getLocales - Get supported locales
    • restore_error_handler - Bir önceki hata eylemcisini devreye sokar
    • restore_exception_handler - Bir önceki istisna eylemcisini devreye sokar
    • restore_include_path - include_path yönergesini eski değerine ayarlar
    • Result::getAffectedItemsCount - Get affected row count
    • Result::getAutoIncrementValue - Get autoincremented value
    • Result::getGeneratedIds - Get generated ids
    • Result::getWarnings - Get warnings from last operation
    • Result::getWarningsCount - Get warning count from last operation
    • Result::__construct - Result constructor
    • ReturnTypeWillChange::__construct - Yeni bir ReturnTypeWillChange özniteliği örneği oluşturur
    • rewind - Bir dosya tanıtıcısında konumu başa taşır
    • rewinddir - Dizin tanıtıcısını dizin başlangıcına konumlar
    • rmdir - Dizin siler
    • rnp_backend_string - Return cryptographic backend library name
    • rnp_backend_version - Return cryptographic backend library version
    • rnp_decrypt - Decrypt PGP message
    • rnp_dump_packets - Dump OpenPGP packets stream information in humand-readable format
    • rnp_dump_packets_to_json - Dump OpenPGP packets stream information to the JSON string
    • rnp_ffi_create - Create the top-level object used for interacting with the library
    • rnp_ffi_destroy - Destroy the top-level object used for interacting with the library
    • rnp_ffi_set_pass_provider - Set password provider callback function
    • rnp_import_keys - Import keys from PHP string to the keyring and receive JSON describing new/updated keys
    • rnp_import_signatures - Import standalone signatures to the keyring and receive JSON describing updated keys
    • rnp_key_export - Export a key
    • rnp_key_export_autocrypt - Export minimal key for autocrypt feature (just 5 packets: key, uid, signature, encryption subkey, signature)
    • rnp_key_export_revocation - Generate and export primary key revocation signature
    • rnp_key_get_info - Get information about the key
    • rnp_key_remove - Remove a key from keyring(s)
    • rnp_key_revoke - Revoke a key or subkey by generating and adding revocation signature
    • rnp_list_keys - Enumerate all keys present in a keyring by specified identifer type
    • rnp_load_keys - Load keys from PHP string
    • rnp_load_keys_from_path - Load keys from specified path
    • rnp_locate_key - Search for the key
    • rnp_op_encrypt - Encrypt message
    • rnp_op_generate_key - Generate key
    • rnp_op_sign - Perform signing operation on a binary data, return embedded signature(s)
    • rnp_op_sign_cleartext - Perform signing operation on a textual data, return cleartext signed message
    • rnp_op_sign_detached - Perform signing operation, return detached signature(s)
    • rnp_op_verify - Verify embedded or cleartext signatures
    • rnp_op_verify_detached - Verify detached signatures
    • rnp_save_keys - Save keys to PHP string
    • rnp_save_keys_to_path - Save keys to specified path
    • rnp_supported_features - Get supported features in JSON format
    • rnp_version_string - RNP library version
    • rnp_version_string_full - Full version string of RNP library
    • round - Rounds a float
    • RowResult::fetchAll - Get all rows from result
    • RowResult::fetchOne - Get row from result
    • RowResult::getColumnNames - Get all column names
    • RowResult::getColumns - Get column metadata
    • RowResult::getColumnsCount - Get column count
    • RowResult::getWarnings - Get warnings from last operation
    • RowResult::getWarningsCount - Get warning count from last operation
    • RowResult::__construct - RowResult constructor
    • rpmaddtag - Add tag retrieved in query
    • rpmdbinfo - Get information from installed RPM
    • rpmdbsearch - Search RPM packages
    • rpmgetsymlink - Get target of a symlink
    • rpminfo - Get information from a RPM file
    • rpmvercmp - RPM version comparison
    • RRDCreator::addArchive - Adds RRA - archive of data values for each data source
    • RRDCreator::addDataSource - Adds data source definition for RRD database
    • RRDCreator::save - Saves the RRD database to a file
    • RRDCreator::__construct - Creates new RRDCreator instance
    • rrdc_disconnect - Close any outstanding connection to rrd caching daemon
    • RRDGraph::save - Saves the result of query into image
    • RRDGraph::saveVerbose - Saves the RRD database query into image and returns the verbose information about generated graph
    • RRDGraph::setOptions - Sets the options for rrd graph export
    • RRDGraph::__construct - Creates new RRDGraph instance
    • RRDUpdater::update - Update the RRD database file
    • RRDUpdater::__construct - Creates new RRDUpdater instance
    • rrd_create - Creates rrd database file
    • rrd_error - Gets latest error message
    • rrd_fetch - Fetch the data for graph as array
    • rrd_first - Gets the timestamp of the first sample from rrd file
    • rrd_graph - Creates image from a data
    • rrd_info - Gets information about rrd file
    • rrd_last - Gets unix timestamp of the last sample
    • rrd_lastupdate - Gets information about last updated data
    • rrd_restore - Restores the RRD file from XML dump
    • rrd_tune - Tunes some RRD database file header options
    • rrd_update - Updates the RRD database
    • rrd_version - Gets information about underlying rrdtool library
    • rrd_xport - Exports the information about RRD database
    • rsort - Bir diziyi büyükten küçüğe doğru sıralar
    • rtrim - Dizgenin sonundaki boşlukları (veya diğer karakterleri) budar
    • runkit7_constant_add - Similar to define(), but allows defining in class definitions as well
    • runkit7_constant_redefine - Redefine an already defined constant
    • runkit7_constant_remove - Remove/Delete an already defined constant
    • runkit7_function_add - Add a new function, similar to create_function
    • runkit7_function_copy - Copy a function to a new function name
    • runkit7_function_redefine - Replace a function definition with a new implementation
    • runkit7_function_remove - Remove a function definition
    • runkit7_function_rename - Change a function's name
    • runkit7_import - Process a PHP file importing function and class definitions, overwriting where appropriate
    • runkit7_method_add - Dynamically adds a new method to a given class
    • runkit7_method_copy - Copies a method from class to another
    • runkit7_method_redefine - Dynamically changes the code of the given method
    • runkit7_method_remove - Dynamically removes the given method
    • runkit7_method_rename - Dynamically changes the name of the given method
    • runkit7_object_id - Return the integer object handle for given object
    • runkit7_superglobals - Return numerically indexed array of registered superglobals
    • runkit7_zval_inspect - Returns information about the passed in value with data types, reference counts, etc
  • s
    • sapi_windows_cp_conv - Dizgenin karakter kümesini değiştirir
    • sapi_windows_cp_get - Geçerli karakter kümesini döndürür
    • sapi_windows_cp_is_utf8 - Karakter kümesinin UTF-8 uyumluluğuna bakar
    • sapi_windows_cp_set - Sürece karakter kümesi tanımlar
    • sapi_windows_generate_ctrl_event - Belirtilen sürece bir CTRL olayı gönderir
    • sapi_windows_set_ctrl_handler - CTRL olayı işleyiciyi tanımlar veya kaldırır
    • sapi_windows_vt100_support - Windows konsolunun çıktı tamponu ile ilişkili belirtilen akım için VT100 desteği atar veya döndürür
    • scandir - Belirtilen dizindeki alt dizinleri ve dosyaları listeler
    • Schema::createCollection - Add collection to schema
    • Schema::dropCollection - Drop collection from schema
    • Schema::existsInDatabase - Check if exists in database
    • Schema::getCollection - Get collection from schema
    • Schema::getCollectionAsTable - Get collection table object
    • Schema::getCollections - Get all schema collections
    • Schema::getName - Get schema name
    • Schema::getSession - Get schema session
    • Schema::getTable - Get schema table
    • Schema::getTables - Get schema tables
    • Schema::__construct - constructor
    • SchemaObject::getSchema - Get schema object
    • scoutapm_get_calls - Returns a list of instrumented calls that have occurred
    • scoutapm_list_instrumented_functions - List functions scoutapm will instrument.
    • SeasLog::alert - Record alert log information
    • SeasLog::analyzerCount - Get log count by level, log_path and key_word
    • SeasLog::analyzerDetail - Get log detail by level, log_path, key_word, start, limit, order
    • SeasLog::closeLoggerStream - Manually release stream flow from logger
    • SeasLog::critical - Record critical log information
    • SeasLog::debug - Record debug log information
    • SeasLog::emergency - Record emergency log information
    • SeasLog::error - Record error log information
    • SeasLog::flushBuffer - Flush logs buffer, dump to appender file, or send to remote api with tcp/udp
    • SeasLog::getBasePath - Get SeasLog base path.
    • SeasLog::getBuffer - Get the logs buffer in memory as array
    • SeasLog::getBufferEnabled - Determin if buffer enabled
    • SeasLog::getDatetimeFormat - Get SeasLog datetime format style
    • SeasLog::getLastLogger - Get SeasLog last logger path
    • SeasLog::getRequestID - Get SeasLog request_id differentiated requests
    • SeasLog::getRequestVariable - Get SeasLog request variable
    • SeasLog::info - Record info log information
    • SeasLog::log - The Common Record Log Function
    • SeasLog::notice - Record notice log information
    • SeasLog::setBasePath - Set SeasLog base path
    • SeasLog::setDatetimeFormat - Set SeasLog datetime format style
    • SeasLog::setLogger - Set SeasLog logger name
    • SeasLog::setRequestID - Set SeasLog request_id differentiated requests
    • SeasLog::setRequestVariable - Manually set SeasLog request variable
    • SeasLog::warning - Record warning log information
    • SeasLog::__construct - Description
    • SeasLog::__destruct - Description
    • seaslog_get_author - Get SeasLog author.
    • seaslog_get_version - Get SeasLog version.
    • SeekableIterator::seek - Seeks to a position
    • sem_acquire - Acquire a semaphore
    • sem_get - Get a semaphore id
    • sem_release - Release a semaphore
    • sem_remove - Remove a semaphore
    • SensitiveParameter::__construct - Yeni bir SensitiveParameter özniteliği örneği oluşturur
    • SensitiveParameterValue::getValue - Hassas değeri döndürür
    • SensitiveParameterValue::__construct - Yeni bir SensitiveParameterValue nesnesi oluşturur
    • SensitiveParameterValue::__debugInfo - Hassas değeri yanlışlıkla açığa çıkmaya karşı korur
    • Serializable::serialize - Nesnenin dizgesel gösterimiyle döner
    • Serializable::unserialize - Dizgeleştirilmiş nesneyi yeniden oluşturur
    • serialize - Bir değerin saklanabilir bir gösterimini üretir
    • Session::close - Close session
    • Session::createSchema - Create new schema
    • Session::dropSchema - Drop a schema
    • Session::generateUUID - Get new UUID
    • Session::getDefaultSchema - Get default schema name
    • Session::getSchema - Get a new schema object
    • Session::getSchemas - Get the schemas
    • Session::getServerVersion - Get server version
    • Session::listClients - Get client list
    • Session::quoteName - Add quotes
    • Session::releaseSavepoint - Release set savepoint
    • Session::rollback - Rollback transaction
    • Session::rollbackTo - Rollback transaction to savepoint
    • Session::setSavepoint - Create savepoint
    • Session::sql - Execute SQL query
    • Session::startTransaction - Start transaction
    • Session::__construct - Description constructor
    • SessionHandler::close - Oturumu kapatır
    • SessionHandler::create_sid - Yeni oturum kimliğini döndürür
    • SessionHandler::destroy - Oturumu siler
    • SessionHandler::gc - Eski oturumu çöpe atar
    • SessionHandler::open - Oturumu ilklendirir
    • SessionHandler::read - Oturum verisini okur
    • SessionHandler::write - Oturum verisini yazar
    • SessionHandlerInterface::close - Oturumu kapatır
    • SessionHandlerInterface::destroy - Oturumu siler
    • SessionHandlerInterface::gc - Eski oturumları çöpe atar
    • SessionHandlerInterface::open - Oturumu ilklendirir
    • SessionHandlerInterface::read - Oturum verisini okur
    • SessionHandlerInterface::write - Oturum verisini yazar
    • SessionIdInterface::create_sid - Oturum kimliğini oluşturur
    • SessionUpdateTimestampHandlerInterface::updateTimestamp - Zaman damgasını günceller
    • SessionUpdateTimestampHandlerInterface::validateId - Oturum kimliğinin geçerliliğini saptar
    • session_abort - Oturum dizisi değişikliklerini atıp oturumu bitirir
    • session_cache_expire - Önbelleğe alınan oturumun ömrünü tanımlar veya döndürür
    • session_cache_limiter - Geçerli önbellek sınırlayıcısını döndürür ve/veya tanımlar
    • session_commit - session_write_close işlevinin takma adıdır
    • session_create_id - Yeni bir oturum kimliği oluşturur
    • session_decode - Oturum verisini kodlanmış oturum dizgesinden elde eder
    • session_destroy - Bir oturumla ilişkilendirilmiş tüm veriyi yokeder
    • session_encode - Geçerli oturum verisini dizgeleştirerek döndürür
    • session_gc - Oturum verisi çöpünü toplar
    • session_get_cookie_params - Oturum çerezi bağımsız değişkenlerini döndürür
    • session_id - Geçerli oturum kimliğini döndürür ve/veya tanımlar
    • session_module_name - Geçerli oturum modülünü döndürür ve/veya tanımlar
    • session_name - Geçerli oturum ismini döndürür ve/veya tanımlar
    • session_regenerate_id - Geçerli oturum kimliğini yenisiyle değiştirir
    • session_register_shutdown - Oturum kapanma işlevini kaydeder
    • session_reset - Oturum dizisini özgün değerlerle yeniden ilklendirir
    • session_save_path - Geçerli oturum kayıt yolunu tanımlar ve/veya döndürür
    • session_set_cookie_params - Oturum çerezi bağımsız değişkenlerini tanımlar
    • session_set_save_handler - Kullanıcı seviyesi oturum saklama işlevlerini bildirir
    • session_start - Yeni bir oturum başlatır veya eskisini yeniden devreye sokar
    • session_status - Geçerli oturum durumunu döndürür
    • session_unset - Free all session variables
    • session_write_close - Oturum verisini yazıp oturumu kapatır
    • setcookie - Bir çerez gönderir
    • setlocale - Yereli ayarlar
    • setrawcookie - Bir çerezi değerini URL kodlamasından geçirmeden gönderir
    • settype - Bir değişkenin türünü belirler
    • set_error_handler - Kullanıcı tanımlı bir hata işleyici bildirir
    • set_exception_handler - Kullanıcı tanımlı bir istisna işleyici bildirir
    • set_file_buffer - stream_set_write_buffer işlevinin takma adıdır
    • set_include_path - include_path yönergesinin çalışma anı değerini belirler
    • set_time_limit - Azami çalıştırma süresini sınırlar
    • sha1 - Bir dizgenin sha1 aşını hesaplar
    • sha1_file - Bir dosyanın sha1 aşını hesaplar
    • shell_exec - Komutu kabukta çalıştırır ve çıktısının tamamını bir dizge olarak döndürür
    • shmop_close - Close shared memory block
    • shmop_delete - Delete shared memory block
    • shmop_open - Create or open shared memory block
    • shmop_read - Read data from shared memory block
    • shmop_size - Get size of shared memory block
    • shmop_write - Write data into shared memory block
    • shm_attach - Creates or open a shared memory segment
    • shm_detach - Disconnects from shared memory segment
    • shm_get_var - Returns a variable from shared memory
    • shm_has_var - Check whether a specific entry exists
    • shm_put_var - Inserts or updates a variable in shared memory
    • shm_remove - Removes shared memory from Unix systems
    • shm_remove_var - Removes a variable from shared memory
    • show_source - highlight_file işlevinin takma adıdır
    • shuffle - Bir diziyi karar
    • simdjson_decode - Decodes a JSON string
    • simdjson_is_valid - Check if a JSON string is valid
    • simdjson_key_count - Returns the value at a JSON pointer.
    • simdjson_key_exists - Check if the JSON contains the value referred to by a JSON pointer.
    • simdjson_key_value - Decodes the value of a JSON string located at the requested JSON pointer.
    • similar_text - İki dizge arasındaki benzerliği hesaplar
    • SimpleXMLElement::addAttribute - XML elemanına bir öznitelik ekler
    • SimpleXMLElement::addChild - XML düğümüne bir çocuk düğüm ekler
    • SimpleXMLElement::asXML - Nesnenin içerdiği belgeyi iyi biçemli bir XML dizge olarak döndürür
    • SimpleXMLElement::attributes - Bir elemanın özniteliklerine erişim sağlar
    • SimpleXMLElement::children - Belirtilen düğümün çocuklarını bulur
    • SimpleXMLElement::count - Counts the children of an element
    • SimpleXMLElement::current - Returns the current element
    • SimpleXMLElement::getChildren - Returns the sub-elements of the current element
    • SimpleXMLElement::getDocNamespaces - Belgede bildirilmiş isim alanlarını döndürür
    • SimpleXMLElement::getName - XML eleman ismi döndürür
    • SimpleXMLElement::getNamespaces - Belgede kullanılan isim alanlarını döndürür
    • SimpleXMLElement::hasChildren - Checks whether the current element has sub elements
    • SimpleXMLElement::key - Return current key
    • SimpleXMLElement::next - Move to next element
    • SimpleXMLElement::registerXPathNamespace - Sonraki XPath ifadesi için bir önek/isim alanı bağlamı oluşturur
    • SimpleXMLElement::rewind - Rewind to the first element
    • SimpleXMLElement::saveXML - Takma Adı: SimpleXMLElement::asXML
    • SimpleXMLElement::valid - Check whether the current element is valid
    • SimpleXMLElement::xpath - Bir XML veri üzerinde bir XPath sorgusu çalıştırır
    • SimpleXMLElement::__construct - Yeni bir SimpleXMLElement nesnesi oluşturur
    • SimpleXMLElement::__toString - Returns the string content
    • simplexml_import_dom - Bir DOM düğümü alıp bir SimpleXMLElement nesnesi döndürür
    • simplexml_load_file - Bir XML dosyasının içeriğini bir nesne haline getirir
    • simplexml_load_string - Bir XML dizgesini bir nesne haline getirir
    • sin - Sine
    • sinh - Hyperbolic sine
    • sizeof - count işlevinin takma adıdır
    • sleep - Çalışmayı geciktirir
    • snmp2_get - Fetch an SNMP object
    • snmp2_getnext - Fetch the SNMP object which follows the given object id
    • snmp2_real_walk - Return all objects including their respective object ID within the specified one
    • snmp2_set - Set the value of an SNMP object
    • snmp2_walk - Fetch all the SNMP objects from an agent
    • snmp3_get - Fetch an SNMP object
    • snmp3_getnext - Fetch the SNMP object which follows the given object id
    • snmp3_real_walk - Return all objects including their respective object ID within the specified one
    • snmp3_set - Set the value of an SNMP object
    • snmp3_walk - Fetch all the SNMP objects from an agent
    • SNMP::close - Close SNMP session
    • SNMP::get - Fetch an SNMP object
    • SNMP::getErrno - Get last error code
    • SNMP::getError - Get last error message
    • SNMP::getnext - Fetch an SNMP object which follows the given object id
    • SNMP::set - Set the value of an SNMP object
    • SNMP::setSecurity - Configures security-related SNMPv3 session parameters
    • SNMP::walk - Fetch SNMP object subtree
    • SNMP::__construct - Creates SNMP instance representing session to remote SNMP agent
    • snmpget - Fetch an SNMP object
    • snmpgetnext - Fetch the SNMP object which follows the given object id
    • snmprealwalk - Return all objects including their respective object ID within the specified one
    • snmpset - Set the value of an SNMP object
    • snmpwalk - Fetch all the SNMP objects from an agent
    • snmpwalkoid - Query for a tree of information about a network entity
    • snmp_get_quick_print - Fetches the current value of the NET-SNMP library's quick_print setting
    • snmp_get_valueretrieval - Return the method how the SNMP values will be returned
    • snmp_read_mib - Reads and parses a MIB file into the active MIB tree
    • snmp_set_enum_print - Return all values that are enums with their enum value instead of the raw integer
    • snmp_set_oid_numeric_print - Takma Adı: snmp_set_oid_output_format
    • snmp_set_oid_output_format - Set the OID output format
    • snmp_set_quick_print - Set the value of enable within the NET-SNMP library
    • snmp_set_valueretrieval - Specify the method how the SNMP values will be returned
    • SoapClient::__call - Calls a SOAP function (deprecated)
    • SoapClient::__construct - SoapClient constructor
    • SoapClient::__doRequest - Performs a SOAP request
    • SoapClient::__getCookies - Get list of cookies
    • SoapClient::__getFunctions - Returns list of available SOAP functions
    • SoapClient::__getLastRequest - Returns last SOAP request
    • SoapClient::__getLastRequestHeaders - Returns the SOAP headers from the last request
    • SoapClient::__getLastResponse - Returns last SOAP response
    • SoapClient::__getLastResponseHeaders - Returns the SOAP headers from the last response
    • SoapClient::__getTypes - Returns a list of SOAP types
    • SoapClient::__setCookie - Defines a cookie for SOAP requests
    • SoapClient::__setLocation - Sets the location of the Web service to use
    • SoapClient::__setSoapHeaders - Sets SOAP headers for subsequent calls
    • SoapClient::__soapCall - Calls a SOAP function
    • SoapFault::__construct - SoapFault constructor
    • SoapFault::__toString - Obtain a string representation of a SoapFault
    • SoapHeader::__construct - SoapHeader constructor
    • SoapParam::__construct - SoapParam constructor
    • SoapServer::addFunction - Adds one or more functions to handle SOAP requests
    • SoapServer::addSoapHeader - Add a SOAP header to the response
    • SoapServer::fault - Issue SoapServer fault indicating an error
    • SoapServer::getFunctions - Returns list of defined functions
    • SoapServer::handle - Handles a SOAP request
    • SoapServer::setClass - Sets the class which handles SOAP requests
    • SoapServer::setObject - Sets the object which will be used to handle SOAP requests
    • SoapServer::setPersistence - Sets SoapServer persistence mode
    • SoapServer::__construct - SoapServer constructor
    • SoapVar::__construct - SoapVar constructor
    • socket_accept - Soket üzerinden bağlantı kabul eder
    • socket_addrinfo_bind - Create and bind to a socket from a given addrinfo
    • socket_addrinfo_connect - Create and connect to a socket from a given addrinfo
    • socket_addrinfo_explain - Get information about addrinfo
    • socket_addrinfo_lookup - Get array with contents of getaddrinfo about the given hostname
    • socket_atmark - Determines whether socket is at out-of-band mark
    • socket_bind - Soketi bir isimle ilişkilendirir
    • socket_clear_error - Soket üzerindeki hatayı veya son hata kodunu siler
    • socket_close - Socket nesnesini kapatır
    • socket_cmsg_space - Calculate message buffer size
    • socket_connect - Soket üzerinde bir bağlantıyı ilklendirir
    • socket_create - Bir soket oluşturur (iletişim için bir uç)
    • socket_create_listen - Bağlantı kabul etmek için port üzerinde bir soket açar
    • socket_create_pair - Ayrılması olanaksız bir soket çifti oluşturur ve bunları bir dizide saklar
    • socket_export_stream - Export a socket into a stream that encapsulates a socket
    • socket_getopt - Takma Adı: socket_get_option
    • socket_getpeername - Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
    • socket_getsockname - Belirtilen soketin yerel tarafını sorgulayıp soket türüne göre ya bir konak/port çifti ya da bir Unix dosya yolu döndürür
    • socket_get_option - Soketle ilgili bir seçeneğin değerini döndürür
    • socket_get_status - Takma Adı: stream_get_meta_data
    • socket_import_stream - Import a stream
    • socket_last_error - Soket üzerindeki son hatanın kodunu döndürür
    • socket_listen - Bir soketi bağlantı kabul etmek için dinler
    • socket_read - Bir soketten belli sayıda bayta kadar okuma yapar
    • socket_recv - Bağlı bir soketten veri alır
    • socket_recvfrom - Bağlantılı olsun olmasın bir soketten veri alır
    • socket_recvmsg - Read a message
    • socket_select - Belirtilen soket dizileri üzerinde belirtilen zaman aşımı ile select() sistem çağrısını çalıştırır
    • socket_send - Bağlı bir sokete veri gönderir
    • socket_sendmsg - Send a message
    • socket_sendto - Bağlı olsun olmasın bir sokete ileti gönderir
    • socket_setopt - Takma Adı: socket_set_option
    • socket_set_block - Soketi engelleme kipine sokar
    • socket_set_blocking - Takma Adı: stream_set_blocking
    • socket_set_nonblock - Belirtilen dosya tanıtıcısı için beklememe kipini etkinleştirir
    • socket_set_option - Soketle ilgili seçenekleri belirler
    • socket_set_timeout - Takma Adı: stream_set_timeout
    • socket_shutdown - Bir soketi almaya, göndermeye veya her ikisine kapatır
    • socket_strerror - Bir soket hatasıyla ilgili açıklamayı döndürür
    • socket_write - Bir sokete yazar
    • socket_wsaprotocol_info_export - Exports the WSAPROTOCOL_INFO Structure
    • socket_wsaprotocol_info_import - Imports a Socket from another Process
    • socket_wsaprotocol_info_release - Releases an exported WSAPROTOCOL_INFO Structure
    • sodium_add - Add large numbers
    • sodium_base642bin - Decodes a base64-encoded string into raw binary.
    • sodium_bin2base64 - Encodes a raw binary string with base64.
    • sodium_bin2hex - Encode to hexadecimal
    • sodium_compare - Compare large numbers
    • sodium_crypto_aead_aes256gcm_decrypt - Verify then decrypt a message with AES-256-GCM
    • sodium_crypto_aead_aes256gcm_encrypt - Encrypt then authenticate with AES-256-GCM
    • sodium_crypto_aead_aes256gcm_is_available - Check if hardware supports AES256-GCM
    • sodium_crypto_aead_aes256gcm_keygen - Generate a random AES-256-GCM key
    • sodium_crypto_aead_chacha20poly1305_decrypt - Verify then decrypt with ChaCha20-Poly1305
    • sodium_crypto_aead_chacha20poly1305_encrypt - Encrypt then authenticate with ChaCha20-Poly1305
    • sodium_crypto_aead_chacha20poly1305_ietf_decrypt - Verify that the ciphertext includes a valid tag
    • sodium_crypto_aead_chacha20poly1305_ietf_encrypt - Encrypt a message
    • sodium_crypto_aead_chacha20poly1305_ietf_keygen - Generate a random ChaCha20-Poly1305 (IETF) key.
    • sodium_crypto_aead_chacha20poly1305_keygen - Generate a random ChaCha20-Poly1305 key.
    • sodium_crypto_aead_xchacha20poly1305_ietf_decrypt - (Preferred) Verify then decrypt with XChaCha20-Poly1305
    • sodium_crypto_aead_xchacha20poly1305_ietf_encrypt - (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
    • sodium_crypto_aead_xchacha20poly1305_ietf_keygen - Generate a random XChaCha20-Poly1305 key.
    • sodium_crypto_auth - Compute a tag for the message
    • sodium_crypto_auth_keygen - Generate a random key for sodium_crypto_auth
    • sodium_crypto_auth_verify - Verifies that the tag is valid for the message
    • sodium_crypto_box - Authenticated public-key encryption
    • sodium_crypto_box_keypair - Randomly generate a secret key and a corresponding public key
    • sodium_crypto_box_keypair_from_secretkey_and_publickey - Create a unified keypair string from a secret key and public key
    • sodium_crypto_box_open - Authenticated public-key decryption
    • sodium_crypto_box_publickey - Extract the public key from a crypto_box keypair
    • sodium_crypto_box_publickey_from_secretkey - Calculate the public key from a secret key
    • sodium_crypto_box_seal - Anonymous public-key encryption
    • sodium_crypto_box_seal_open - Anonymous public-key decryption
    • sodium_crypto_box_secretkey - Extracts the secret key from a crypto_box keypair
    • sodium_crypto_box_seed_keypair - Deterministically derive the key pair from a single key
    • sodium_crypto_core_ristretto255_add - Adds an element
    • sodium_crypto_core_ristretto255_from_hash - Maps a vector
    • sodium_crypto_core_ristretto255_is_valid_point - Determines if a point on the ristretto255 curve
    • sodium_crypto_core_ristretto255_random - Generates a random key
    • sodium_crypto_core_ristretto255_scalar_add - Adds a scalar value
    • sodium_crypto_core_ristretto255_scalar_complement - The sodium_crypto_core_ristretto255_scalar_complement purpose
    • sodium_crypto_core_ristretto255_scalar_invert - Inverts a scalar value
    • sodium_crypto_core_ristretto255_scalar_mul - Multiplies a scalar value
    • sodium_crypto_core_ristretto255_scalar_negate - Negates a scalar value
    • sodium_crypto_core_ristretto255_scalar_random - Generates a random key
    • sodium_crypto_core_ristretto255_scalar_reduce - Reduces a scalar value
    • sodium_crypto_core_ristretto255_scalar_sub - Subtracts a scalar value
    • sodium_crypto_core_ristretto255_sub - Subtracts an element
    • sodium_crypto_generichash - Get a hash of the message
    • sodium_crypto_generichash_final - Complete the hash
    • sodium_crypto_generichash_init - Initialize a hash for streaming
    • sodium_crypto_generichash_keygen - Generate a random generichash key
    • sodium_crypto_generichash_update - Add message to a hash
    • sodium_crypto_kdf_derive_from_key - Derive a subkey
    • sodium_crypto_kdf_keygen - Generate a random root key for the KDF interface
    • sodium_crypto_kx_client_session_keys - Calculate the client-side session keys.
    • sodium_crypto_kx_keypair - Creates a new sodium keypair
    • sodium_crypto_kx_publickey - Extract the public key from a crypto_kx keypair
    • sodium_crypto_kx_secretkey - Extract the secret key from a crypto_kx keypair.
    • sodium_crypto_kx_seed_keypair - Description
    • sodium_crypto_kx_server_session_keys - Calculate the server-side session keys.
    • sodium_crypto_pwhash - Derive a key from a password, using Argon2
    • sodium_crypto_pwhash_scryptsalsa208sha256 - Derives a key from a password, using scrypt
    • sodium_crypto_pwhash_scryptsalsa208sha256_str - Get an ASCII encoded hash
    • sodium_crypto_pwhash_scryptsalsa208sha256_str_verify - Verify that the password is a valid password verification string
    • sodium_crypto_pwhash_str - Get an ASCII-encoded hash
    • sodium_crypto_pwhash_str_needs_rehash - Determine whether or not to rehash a password
    • sodium_crypto_pwhash_str_verify - Verifies that a password matches a hash
    • sodium_crypto_scalarmult - Compute a shared secret given a user's secret key and another user's public key
    • sodium_crypto_scalarmult_base - Takma Adı: sodium_crypto_box_publickey_from_secretkey
    • sodium_crypto_scalarmult_ristretto255 - Computes a shared secret
    • sodium_crypto_scalarmult_ristretto255_base - Calculates the public key from a secret key
    • sodium_crypto_secretbox - Authenticated shared-key encryption
    • sodium_crypto_secretbox_keygen - Generate random key for sodium_crypto_secretbox
    • sodium_crypto_secretbox_open - Authenticated shared-key decryption
    • sodium_crypto_secretstream_xchacha20poly1305_init_pull - Initialize a secretstream context for decryption
    • sodium_crypto_secretstream_xchacha20poly1305_init_push - Initialize a secretstream context for encryption
    • sodium_crypto_secretstream_xchacha20poly1305_keygen - Generate a random secretstream key.
    • sodium_crypto_secretstream_xchacha20poly1305_pull - Decrypt a chunk of data from an encrypted stream
    • sodium_crypto_secretstream_xchacha20poly1305_push - Encrypt a chunk of data so that it can safely be decrypted in a streaming API
    • sodium_crypto_secretstream_xchacha20poly1305_rekey - Explicitly rotate the key in the secretstream state
    • sodium_crypto_shorthash - Compute a short hash of a message and key
    • sodium_crypto_shorthash_keygen - Get random bytes for key
    • sodium_crypto_sign - Sign a message
    • sodium_crypto_sign_detached - Sign the message
    • sodium_crypto_sign_ed25519_pk_to_curve25519 - Convert an Ed25519 public key to a Curve25519 public key
    • sodium_crypto_sign_ed25519_sk_to_curve25519 - Convert an Ed25519 secret key to a Curve25519 secret key
    • sodium_crypto_sign_keypair - Randomly generate a secret key and a corresponding public key
    • sodium_crypto_sign_keypair_from_secretkey_and_publickey - Join a secret key and public key together
    • sodium_crypto_sign_open - Check that the signed message has a valid signature
    • sodium_crypto_sign_publickey - Extract the Ed25519 public key from a keypair
    • sodium_crypto_sign_publickey_from_secretkey - Extract the Ed25519 public key from the secret key
    • sodium_crypto_sign_secretkey - Extract the Ed25519 secret key from a keypair
    • sodium_crypto_sign_seed_keypair - Deterministically derive the key pair from a single key
    • sodium_crypto_sign_verify_detached - Verify signature for the message
    • sodium_crypto_stream - Generate a deterministic sequence of bytes from a seed
    • sodium_crypto_stream_keygen - Generate a random sodium_crypto_stream key.
    • sodium_crypto_stream_xchacha20 - Expands the key and nonce into a keystream of pseudorandom bytes
    • sodium_crypto_stream_xchacha20_keygen - Returns a secure random key
    • sodium_crypto_stream_xchacha20_xor - Encrypts a message using a nonce and a secret key (no authentication)
    • sodium_crypto_stream_xchacha20_xor_ic - Encrypts a message using a nonce and a secret key (no authentication)
    • sodium_crypto_stream_xor - Encrypt a message without authentication
    • sodium_hex2bin - Decodes a hexadecimally encoded binary string
    • sodium_increment - Increment large number
    • sodium_memcmp - Test for equality in constant-time
    • sodium_memzero - Overwrite a string with NUL characters
    • sodium_pad - Add padding data
    • sodium_unpad - Remove padding data
    • Soket bağlamı seçenekleri - Soket bağlamı seçeneklerinin listesi
    • SolrClient::addDocument - Adds a document to the index
    • SolrClient::addDocuments - Adds a collection of SolrInputDocument instances to the index
    • SolrClient::commit - Finalizes all add/deletes made to the index
    • SolrClient::deleteById - Delete by Id
    • SolrClient::deleteByIds - Deletes by Ids
    • SolrClient::deleteByQueries - Removes all documents matching any of the queries
    • SolrClient::deleteByQuery - Deletes all documents matching the given query
    • SolrClient::getById - Get Document By Id. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getByIds - Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
    • SolrClient::getDebug - Returns the debug data for the last connection attempt
    • SolrClient::getOptions - Returns the client options set internally
    • SolrClient::optimize - Defragments the index
    • SolrClient::ping - Checks if Solr server is still up
    • SolrClient::query - Sends a query to the server
    • SolrClient::request - Sends a raw update request
    • SolrClient::rollback - Rollbacks all add/deletes made to the index since the last commit
    • SolrClient::setResponseWriter - Sets the response writer used to prepare the response from Solr
    • SolrClient::setServlet - Changes the specified servlet type to a new value
    • SolrClient::system - Retrieve Solr Server information
    • SolrClient::threads - Checks the threads status
    • SolrClient::__construct - Constructor for the SolrClient object
    • SolrClient::__destruct - Destructor for SolrClient
    • SolrClientException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrCollapseFunction::getField - Returns the field that is being collapsed on
    • SolrCollapseFunction::getHint - Returns collapse hint
    • SolrCollapseFunction::getMax - Returns max parameter
    • SolrCollapseFunction::getMin - Returns min parameter
    • SolrCollapseFunction::getNullPolicy - Returns null policy
    • SolrCollapseFunction::getSize - Returns size parameter
    • SolrCollapseFunction::setField - Sets the field to collapse on
    • SolrCollapseFunction::setHint - Sets collapse hint
    • SolrCollapseFunction::setMax - Selects the group heads by the max value of a numeric field or function query
    • SolrCollapseFunction::setMin - Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::setNullPolicy - Sets the NULL Policy
    • SolrCollapseFunction::setSize - Sets the initial size of the collapse data structures when collapsing on a numeric field only
    • SolrCollapseFunction::__construct - Constructor
    • SolrCollapseFunction::__toString - Returns a string representing the constructed collapse function
    • SolrDisMaxQuery::addBigramPhraseField - Adds a Phrase Bigram Field (pf2 parameter)
    • SolrDisMaxQuery::addBoostQuery - Adds a boost query field with value and optional boost (bq parameter)
    • SolrDisMaxQuery::addPhraseField - Adds a Phrase Field (pf parameter)
    • SolrDisMaxQuery::addQueryField - Add a query field with optional boost (qf parameter)
    • SolrDisMaxQuery::addTrigramPhraseField - Adds a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::addUserField - Adds a field to User Fields Parameter (uf)
    • SolrDisMaxQuery::removeBigramPhraseField - Removes phrase bigram field (pf2 parameter)
    • SolrDisMaxQuery::removeBoostQuery - Removes a boost query partial by field name (bq)
    • SolrDisMaxQuery::removePhraseField - Removes a Phrase Field (pf parameter)
    • SolrDisMaxQuery::removeQueryField - Removes a Query Field (qf parameter)
    • SolrDisMaxQuery::removeTrigramPhraseField - Removes a Trigram Phrase Field (pf3 parameter)
    • SolrDisMaxQuery::removeUserField - Removes a field from The User Fields Parameter (uf)
    • SolrDisMaxQuery::setBigramPhraseFields - Sets Bigram Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setBigramPhraseSlop - Sets Bigram Phrase Slop (ps2 parameter)
    • SolrDisMaxQuery::setBoostFunction - Sets a Boost Function (bf parameter)
    • SolrDisMaxQuery::setBoostQuery - Directly Sets Boost Query Parameter (bq)
    • SolrDisMaxQuery::setMinimumMatch - Set Minimum "Should" Match (mm)
    • SolrDisMaxQuery::setPhraseFields - Sets Phrase Fields and their boosts (and slops) using pf2 parameter
    • SolrDisMaxQuery::setPhraseSlop - Sets the default slop on phrase queries (ps parameter)
    • SolrDisMaxQuery::setQueryAlt - Set Query Alternate (q.alt parameter)
    • SolrDisMaxQuery::setQueryPhraseSlop - Specifies the amount of slop permitted on phrase queries explicitly included in the user's query string (qf parameter)
    • SolrDisMaxQuery::setTieBreaker - Sets Tie Breaker parameter (tie parameter)
    • SolrDisMaxQuery::setTrigramPhraseFields - Directly Sets Trigram Phrase Fields (pf3 parameter)
    • SolrDisMaxQuery::setTrigramPhraseSlop - Sets Trigram Phrase Slop (ps3 parameter)
    • SolrDisMaxQuery::setUserFields - Sets User Fields parameter (uf)
    • SolrDisMaxQuery::useDisMaxQueryParser - Switch QueryParser to be DisMax Query Parser
    • SolrDisMaxQuery::useEDisMaxQueryParser - Switch QueryParser to be EDisMax
    • SolrDisMaxQuery::__construct - Class Constructor
    • SolrDocument::addField - Adds a field to the document
    • SolrDocument::clear - Drops all the fields in the document
    • SolrDocument::current - Retrieves the current field
    • SolrDocument::deleteField - Removes a field from the document
    • SolrDocument::fieldExists - Checks if a field exists in the document
    • SolrDocument::getChildDocuments - Returns an array of child documents (SolrDocument)
    • SolrDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrDocument::getField - Retrieves a field by name
    • SolrDocument::getFieldCount - Returns the number of fields in this document
    • SolrDocument::getFieldNames - Returns an array of fields names in the document
    • SolrDocument::getInputDocument - Returns a SolrInputDocument equivalent of the object
    • SolrDocument::hasChildDocuments - Checks whether the document has any child documents
    • SolrDocument::key - Retrieves the current key
    • SolrDocument::merge - Merges source to the current SolrDocument
    • SolrDocument::next - Moves the internal pointer to the next field
    • SolrDocument::offsetExists - Checks if a particular field exists
    • SolrDocument::offsetGet - Retrieves a field
    • SolrDocument::offsetSet - Adds a field to the document
    • SolrDocument::offsetUnset - Removes a field
    • SolrDocument::reset - Takma Adı: SolrDocument::clear
    • SolrDocument::rewind - Resets the internal pointer to the beginning
    • SolrDocument::serialize - Used for custom serialization
    • SolrDocument::sort - Sorts the fields in the document
    • SolrDocument::toArray - Returns an array representation of the document
    • SolrDocument::unserialize - Custom serialization of SolrDocument objects
    • SolrDocument::valid - Checks if the current position internally is still valid
    • SolrDocument::__clone - Creates a copy of a SolrDocument object
    • SolrDocument::__construct - Constructor
    • SolrDocument::__destruct - Destructor
    • SolrDocument::__get - Access the field as a property
    • SolrDocument::__isset - Checks if a field exists
    • SolrDocument::__set - Adds another field to the document
    • SolrDocument::__unset - Removes a field from the document
    • SolrDocumentField::__construct - Constructor
    • SolrDocumentField::__destruct - Destructor
    • SolrException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrGenericResponse::__construct - Constructor
    • SolrGenericResponse::__destruct - Destructor
    • SolrIllegalArgumentException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrIllegalOperationException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrInputDocument::addChildDocument - Adds a child document for block indexing
    • SolrInputDocument::addChildDocuments - Adds an array of child documents
    • SolrInputDocument::addField - Adds a field to the document
    • SolrInputDocument::clear - Resets the input document
    • SolrInputDocument::deleteField - Removes a field from the document
    • SolrInputDocument::fieldExists - Checks if a field exists
    • SolrInputDocument::getBoost - Retrieves the current boost value for the document
    • SolrInputDocument::getChildDocuments - Returns an array of child documents (SolrInputDocument)
    • SolrInputDocument::getChildDocumentsCount - Returns the number of child documents
    • SolrInputDocument::getField - Retrieves a field by name
    • SolrInputDocument::getFieldBoost - Retrieves the boost value for a particular field
    • SolrInputDocument::getFieldCount - Returns the number of fields in the document
    • SolrInputDocument::getFieldNames - Returns an array containing all the fields in the document
    • SolrInputDocument::hasChildDocuments - Returns true if the document has any child documents
    • SolrInputDocument::merge - Merges one input document into another
    • SolrInputDocument::reset - Takma Adı: SolrInputDocument::clear
    • SolrInputDocument::setBoost - Sets the boost value for this document
    • SolrInputDocument::setFieldBoost - Sets the index-time boost value for a field
    • SolrInputDocument::sort - Sorts the fields within the document
    • SolrInputDocument::toArray - Returns an array representation of the input document
    • SolrInputDocument::__clone - Creates a copy of a SolrDocument
    • SolrInputDocument::__construct - Constructor
    • SolrInputDocument::__destruct - Destructor
    • SolrModifiableParams::__construct - Constructor
    • SolrModifiableParams::__destruct - Destructor
    • SolrObject::getPropertyNames - Returns an array of all the names of the properties
    • SolrObject::offsetExists - Checks if the property exists
    • SolrObject::offsetGet - Used to retrieve a property
    • SolrObject::offsetSet - Sets the value for a property
    • SolrObject::offsetUnset - Unsets the value for the property
    • SolrObject::__construct - Creates Solr object
    • SolrObject::__destruct - Destructor
    • SolrParams::add - Takma Adı: SolrParams::addParam
    • SolrParams::addParam - Adds a parameter to the object
    • SolrParams::get - Takma Adı: SolrParams::getParam
    • SolrParams::getParam - Returns a parameter value
    • SolrParams::getParams - Returns an array of non URL-encoded parameters
    • SolrParams::getPreparedParams - Returns an array of URL-encoded parameters
    • SolrParams::serialize - Used for custom serialization
    • SolrParams::set - Takma Adı: SolrParams::setParam
    • SolrParams::setParam - Sets the parameter to the specified value
    • SolrParams::toString - Returns all the name-value pair parameters in the object
    • SolrParams::unserialize - Used for custom serialization
    • SolrPingResponse::getResponse - Returns the response from the server
    • SolrPingResponse::__construct - Constructor
    • SolrPingResponse::__destruct - Destructor
    • SolrQuery::addExpandFilterQuery - Overrides main filter query, determines which documents to include in the main group
    • SolrQuery::addExpandSortField - Orders the documents within the expanded groups (expand.sort parameter)
    • SolrQuery::addFacetDateField - Maps to facet.date
    • SolrQuery::addFacetDateOther - Adds another facet.date.other parameter
    • SolrQuery::addFacetField - Adds another field to the facet
    • SolrQuery::addFacetQuery - Adds a facet query
    • SolrQuery::addField - Specifies which fields to return in the result
    • SolrQuery::addFilterQuery - Specifies a filter query
    • SolrQuery::addGroupField - Add a field to be used to group results
    • SolrQuery::addGroupFunction - Allows grouping results based on the unique values of a function query (group.func parameter)
    • SolrQuery::addGroupQuery - Allows grouping of documents that match the given query
    • SolrQuery::addGroupSortField - Add a group sort field (group.sort parameter)
    • SolrQuery::addHighlightField - Maps to hl.fl
    • SolrQuery::addMltField - Sets a field to use for similarity
    • SolrQuery::addMltQueryField - Maps to mlt.qf
    • SolrQuery::addSortField - Used to control how the results should be sorted
    • SolrQuery::addStatsFacet - Requests a return of sub results for values within the given facet
    • SolrQuery::addStatsField - Maps to stats.field parameter
    • SolrQuery::collapse - Collapses the result set to a single document per group
    • SolrQuery::getExpand - Returns true if group expanding is enabled
    • SolrQuery::getExpandFilterQueries - Returns the expand filter queries
    • SolrQuery::getExpandQuery - Returns the expand query expand.q parameter
    • SolrQuery::getExpandRows - Returns The number of rows to display in each group (expand.rows)
    • SolrQuery::getExpandSortFields - Returns an array of fields
    • SolrQuery::getFacet - Returns the value of the facet parameter
    • SolrQuery::getFacetDateEnd - Returns the value for the facet.date.end parameter
    • SolrQuery::getFacetDateFields - Returns all the facet.date fields
    • SolrQuery::getFacetDateGap - Returns the value of the facet.date.gap parameter
    • SolrQuery::getFacetDateHardEnd - Returns the value of the facet.date.hardend parameter
    • SolrQuery::getFacetDateOther - Returns the value for the facet.date.other parameter
    • SolrQuery::getFacetDateStart - Returns the lower bound for the first date range for all date faceting on this field
    • SolrQuery::getFacetFields - Returns all the facet fields
    • SolrQuery::getFacetLimit - Returns the maximum number of constraint counts that should be returned for the facet fields
    • SolrQuery::getFacetMethod - Returns the value of the facet.method parameter
    • SolrQuery::getFacetMinCount - Returns the minimum counts for facet fields should be included in the response
    • SolrQuery::getFacetMissing - Returns the current state of the facet.missing parameter
    • SolrQuery::getFacetOffset - Returns an offset into the list of constraints to be used for pagination
    • SolrQuery::getFacetPrefix - Returns the facet prefix
    • SolrQuery::getFacetQueries - Returns all the facet queries
    • SolrQuery::getFacetSort - Returns the facet sort type
    • SolrQuery::getFields - Returns the list of fields that will be returned in the response
    • SolrQuery::getFilterQueries - Returns an array of filter queries
    • SolrQuery::getGroup - Returns true if grouping is enabled
    • SolrQuery::getGroupCachePercent - Returns group cache percent value
    • SolrQuery::getGroupFacet - Returns the group.facet parameter value
    • SolrQuery::getGroupFields - Returns group fields (group.field parameter values)
    • SolrQuery::getGroupFormat - Returns the group.format value
    • SolrQuery::getGroupFunctions - Returns group functions (group.func parameter values)
    • SolrQuery::getGroupLimit - Returns the group.limit value
    • SolrQuery::getGroupMain - Returns the group.main value
    • SolrQuery::getGroupNGroups - Returns the group.ngroups value
    • SolrQuery::getGroupOffset - Returns the group.offset value
    • SolrQuery::getGroupQueries - Returns all the group.query parameter values
    • SolrQuery::getGroupSortFields - Returns the group.sort value
    • SolrQuery::getGroupTruncate - Returns the group.truncate value
    • SolrQuery::getHighlight - Returns the state of the hl parameter
    • SolrQuery::getHighlightAlternateField - Returns the highlight field to use as backup or default
    • SolrQuery::getHighlightFields - Returns all the fields that Solr should generate highlighted snippets for
    • SolrQuery::getHighlightFormatter - Returns the formatter for the highlighted output
    • SolrQuery::getHighlightFragmenter - Returns the text snippet generator for highlighted text
    • SolrQuery::getHighlightFragsize - Returns the number of characters of fragments to consider for highlighting
    • SolrQuery::getHighlightHighlightMultiTerm - Returns whether or not to enable highlighting for range/wildcard/fuzzy/prefix queries
    • SolrQuery::getHighlightMaxAlternateFieldLength - Returns the maximum number of characters of the field to return
    • SolrQuery::getHighlightMaxAnalyzedChars - Returns the maximum number of characters into a document to look for suitable snippets
    • SolrQuery::getHighlightMergeContiguous - Returns whether or not the collapse contiguous fragments into a single fragment
    • SolrQuery::getHighlightRegexMaxAnalyzedChars - Returns the maximum number of characters from a field when using the regex fragmenter
    • SolrQuery::getHighlightRegexPattern - Returns the regular expression for fragmenting
    • SolrQuery::getHighlightRegexSlop - Returns the deviation factor from the ideal fragment size
    • SolrQuery::getHighlightRequireFieldMatch - Returns if a field will only be highlighted if the query matched in this particular field
    • SolrQuery::getHighlightSimplePost - Returns the text which appears after a highlighted term
    • SolrQuery::getHighlightSimplePre - Returns the text which appears before a highlighted term
    • SolrQuery::getHighlightSnippets - Returns the maximum number of highlighted snippets to generate per field
    • SolrQuery::getHighlightUsePhraseHighlighter - Returns the state of the hl.usePhraseHighlighter parameter
    • SolrQuery::getMlt - Returns whether or not MoreLikeThis results should be enabled
    • SolrQuery::getMltBoost - Returns whether or not the query will be boosted by the interesting term relevance
    • SolrQuery::getMltCount - Returns the number of similar documents to return for each result
    • SolrQuery::getMltFields - Returns all the fields to use for similarity
    • SolrQuery::getMltMaxNumQueryTerms - Returns the maximum number of query terms that will be included in any generated query
    • SolrQuery::getMltMaxNumTokens - Returns the maximum number of tokens to parse in each document field that is not stored with TermVector support
    • SolrQuery::getMltMaxWordLength - Returns the maximum word length above which words will be ignored
    • SolrQuery::getMltMinDocFrequency - Returns the treshold frequency at which words will be ignored which do not occur in at least this many docs
    • SolrQuery::getMltMinTermFrequency - Returns the frequency below which terms will be ignored in the source document
    • SolrQuery::getMltMinWordLength - Returns the minimum word length below which words will be ignored
    • SolrQuery::getMltQueryFields - Returns the query fields and their boosts
    • SolrQuery::getQuery - Returns the main query
    • SolrQuery::getRows - Returns the maximum number of documents
    • SolrQuery::getSortFields - Returns all the sort fields
    • SolrQuery::getStart - Returns the offset in the complete result set
    • SolrQuery::getStats - Returns whether or not stats is enabled
    • SolrQuery::getStatsFacets - Returns all the stats facets that were set
    • SolrQuery::getStatsFields - Returns all the statistics fields
    • SolrQuery::getTerms - Returns whether or not the TermsComponent is enabled
    • SolrQuery::getTermsField - Returns the field from which the terms are retrieved
    • SolrQuery::getTermsIncludeLowerBound - Returns whether or not to include the lower bound in the result set
    • SolrQuery::getTermsIncludeUpperBound - Returns whether or not to include the upper bound term in the result set
    • SolrQuery::getTermsLimit - Returns the maximum number of terms Solr should return
    • SolrQuery::getTermsLowerBound - Returns the term to start at
    • SolrQuery::getTermsMaxCount - Returns the maximum document frequency
    • SolrQuery::getTermsMinCount - Returns the minimum document frequency to return in order to be included
    • SolrQuery::getTermsPrefix - Returns the term prefix
    • SolrQuery::getTermsReturnRaw - Whether or not to return raw characters
    • SolrQuery::getTermsSort - Returns an integer indicating how terms are sorted
    • SolrQuery::getTermsUpperBound - Returns the term to stop at
    • SolrQuery::getTimeAllowed - Returns the time in milliseconds allowed for the query to finish
    • SolrQuery::removeExpandFilterQuery - Removes an expand filter query
    • SolrQuery::removeExpandSortField - Removes an expand sort field from the expand.sort parameter
    • SolrQuery::removeFacetDateField - Removes one of the facet date fields
    • SolrQuery::removeFacetDateOther - Removes one of the facet.date.other parameters
    • SolrQuery::removeFacetField - Removes one of the facet.date parameters
    • SolrQuery::removeFacetQuery - Removes one of the facet.query parameters
    • SolrQuery::removeField - Removes a field from the list of fields
    • SolrQuery::removeFilterQuery - Removes a filter query
    • SolrQuery::removeHighlightField - Removes one of the fields used for highlighting
    • SolrQuery::removeMltField - Removes one of the moreLikeThis fields
    • SolrQuery::removeMltQueryField - Removes one of the moreLikeThis query fields
    • SolrQuery::removeSortField - Removes one of the sort fields
    • SolrQuery::removeStatsFacet - Removes one of the stats.facet parameters
    • SolrQuery::removeStatsField - Removes one of the stats.field parameters
    • SolrQuery::setEchoHandler - Toggles the echoHandler parameter
    • SolrQuery::setEchoParams - Determines what kind of parameters to include in the response
    • SolrQuery::setExpand - Enables/Disables the Expand Component
    • SolrQuery::setExpandQuery - Sets the expand.q parameter
    • SolrQuery::setExpandRows - Sets the number of rows to display in each group (expand.rows). Server Default 5
    • SolrQuery::setExplainOther - Sets the explainOther common query parameter
    • SolrQuery::setFacet - Maps to the facet parameter. Enables or disables facetting
    • SolrQuery::setFacetDateEnd - Maps to facet.date.end
    • SolrQuery::setFacetDateGap - Maps to facet.date.gap
    • SolrQuery::setFacetDateHardEnd - Maps to facet.date.hardend
    • SolrQuery::setFacetDateStart - Maps to facet.date.start
    • SolrQuery::setFacetEnumCacheMinDefaultFrequency - Sets the minimum document frequency used for determining term count
    • SolrQuery::setFacetLimit - Maps to facet.limit
    • SolrQuery::setFacetMethod - Specifies the type of algorithm to use when faceting a field
    • SolrQuery::setFacetMinCount - Maps to facet.mincount
    • SolrQuery::setFacetMissing - Maps to facet.missing
    • SolrQuery::setFacetOffset - Sets the offset into the list of constraints to allow for pagination
    • SolrQuery::setFacetPrefix - Specifies a string prefix with which to limits the terms on which to facet
    • SolrQuery::setFacetSort - Determines the ordering of the facet field constraints
    • SolrQuery::setGroup - Enable/Disable result grouping (group parameter)
    • SolrQuery::setGroupCachePercent - Enables caching for result grouping
    • SolrQuery::setGroupFacet - Sets group.facet parameter
    • SolrQuery::setGroupFormat - Sets the group format, result structure (group.format parameter)
    • SolrQuery::setGroupLimit - Specifies the number of results to return for each group. The server default value is 1
    • SolrQuery::setGroupMain - If true, the result of the first field grouping command is used as the main result list in the response, using group.format=simple
    • SolrQuery::setGroupNGroups - If true, Solr includes the number of groups that have matched the query in the results
    • SolrQuery::setGroupOffset - Sets the group.offset parameter
    • SolrQuery::setGroupTruncate - If true, facet counts are based on the most relevant document of each group matching the query
    • SolrQuery::setHighlight - Enables or disables highlighting
    • SolrQuery::setHighlightAlternateField - Specifies the backup field to use
    • SolrQuery::setHighlightFormatter - Specify a formatter for the highlight output
    • SolrQuery::setHighlightFragmenter - Sets a text snippet generator for highlighted text
    • SolrQuery::setHighlightFragsize - The size of fragments to consider for highlighting
    • SolrQuery::setHighlightHighlightMultiTerm - Use SpanScorer to highlight phrase terms
    • SolrQuery::setHighlightMaxAlternateFieldLength - Sets the maximum number of characters of the field to return
    • SolrQuery::setHighlightMaxAnalyzedChars - Specifies the number of characters into a document to look for suitable snippets
    • SolrQuery::setHighlightMergeContiguous - Whether or not to collapse contiguous fragments into a single fragment
    • SolrQuery::setHighlightRegexMaxAnalyzedChars - Specify the maximum number of characters to analyze
    • SolrQuery::setHighlightRegexPattern - Specify the regular expression for fragmenting
    • SolrQuery::setHighlightRegexSlop - Sets the factor by which the regex fragmenter can stray from the ideal fragment size
    • SolrQuery::setHighlightRequireFieldMatch - Require field matching during highlighting
    • SolrQuery::setHighlightSimplePost - Sets the text which appears after a highlighted term
    • SolrQuery::setHighlightSimplePre - Sets the text which appears before a highlighted term
    • SolrQuery::setHighlightSnippets - Sets the maximum number of highlighted snippets to generate per field
    • SolrQuery::setHighlightUsePhraseHighlighter - Whether to highlight phrase terms only when they appear within the query phrase
    • SolrQuery::setMlt - Enables or disables moreLikeThis
    • SolrQuery::setMltBoost - Set if the query will be boosted by the interesting term relevance
    • SolrQuery::setMltCount - Set the number of similar documents to return for each result
    • SolrQuery::setMltMaxNumQueryTerms - Sets the maximum number of query terms included
    • SolrQuery::setMltMaxNumTokens - Specifies the maximum number of tokens to parse
    • SolrQuery::setMltMaxWordLength - Sets the maximum word length
    • SolrQuery::setMltMinDocFrequency - Sets the mltMinDoc frequency
    • SolrQuery::setMltMinTermFrequency - Sets the frequency below which terms will be ignored in the source docs
    • SolrQuery::setMltMinWordLength - Sets the minimum word length
    • SolrQuery::setOmitHeader - Exclude the header from the returned results
    • SolrQuery::setQuery - Sets the search query
    • SolrQuery::setRows - Specifies the maximum number of rows to return in the result
    • SolrQuery::setShowDebugInfo - Flag to show debug information
    • SolrQuery::setStart - Specifies the number of rows to skip
    • SolrQuery::setStats - Enables or disables the Stats component
    • SolrQuery::setTerms - Enables or disables the TermsComponent
    • SolrQuery::setTermsField - Sets the name of the field to get the Terms from
    • SolrQuery::setTermsIncludeLowerBound - Include the lower bound term in the result set
    • SolrQuery::setTermsIncludeUpperBound - Include the upper bound term in the result set
    • SolrQuery::setTermsLimit - Sets the maximum number of terms to return
    • SolrQuery::setTermsLowerBound - Specifies the Term to start from
    • SolrQuery::setTermsMaxCount - Sets the maximum document frequency
    • SolrQuery::setTermsMinCount - Sets the minimum document frequency
    • SolrQuery::setTermsPrefix - Restrict matches to terms that start with the prefix
    • SolrQuery::setTermsReturnRaw - Return the raw characters of the indexed term
    • SolrQuery::setTermsSort - Specifies how to sort the returned terms
    • SolrQuery::setTermsUpperBound - Sets the term to stop at
    • SolrQuery::setTimeAllowed - The time allowed for search to finish
    • SolrQuery::__construct - Constructor
    • SolrQuery::__destruct - Destructor
    • SolrQueryResponse::__construct - Constructor
    • SolrQueryResponse::__destruct - Destructor
    • SolrResponse::getDigestedResponse - Returns the XML response as serialized PHP data
    • SolrResponse::getHttpStatus - Returns the HTTP status of the response
    • SolrResponse::getHttpStatusMessage - Returns more details on the HTTP status
    • SolrResponse::getRawRequest - Returns the raw request sent to the Solr server
    • SolrResponse::getRawRequestHeaders - Returns the raw request headers sent to the Solr server
    • SolrResponse::getRawResponse - Returns the raw response from the server
    • SolrResponse::getRawResponseHeaders - Returns the raw response headers from the server
    • SolrResponse::getRequestUrl - Returns the full URL the request was sent to
    • SolrResponse::getResponse - Returns a SolrObject representing the XML response from the server
    • SolrResponse::setParseMode - Sets the parse mode
    • SolrResponse::success - Was the request a success
    • SolrServerException::getInternalInfo - Returns internal information where the Exception was thrown
    • SolrUpdateResponse::__construct - Constructor
    • SolrUpdateResponse::__destruct - Destructor
    • SolrUtils::digestXmlResponse - Parses an response XML string into a SolrObject
    • SolrUtils::escapeQueryChars - Escapes a lucene query string
    • SolrUtils::getSolrVersion - Returns the current version of the Solr extension
    • SolrUtils::queryPhrase - Prepares a phrase from an unescaped lucene string
    • solr_get_version - Returns the current version of the Apache Solr extension
    • sort - Bir diziyi küçükten büyüğe doğru sıralar
    • soundex - Bir dizgenin sestek anahtarını hesaplar
    • SplDoublyLinkedList::add - Add/insert a new value at the specified index
    • SplDoublyLinkedList::bottom - Peeks at the node from the beginning of the doubly linked list
    • SplDoublyLinkedList::count - Counts the number of elements in the doubly linked list
    • SplDoublyLinkedList::current - Return current array entry
    • SplDoublyLinkedList::getIteratorMode - Returns the mode of iteration
    • SplDoublyLinkedList::isEmpty - Checks whether the doubly linked list is empty
    • SplDoublyLinkedList::key - Return current node index
    • SplDoublyLinkedList::next - Move to next entry
    • SplDoublyLinkedList::offsetExists - Returns whether the requested $index exists
    • SplDoublyLinkedList::offsetGet - Returns the value at the specified $index
    • SplDoublyLinkedList::offsetSet - Sets the value at the specified $index to $value
    • SplDoublyLinkedList::offsetUnset - Unsets the value at the specified $index
    • SplDoublyLinkedList::pop - Pops a node from the end of the doubly linked list
    • SplDoublyLinkedList::prev - Move to previous entry
    • SplDoublyLinkedList::push - Pushes an element at the end of the doubly linked list
    • SplDoublyLinkedList::rewind - Rewind iterator back to the start
    • SplDoublyLinkedList::serialize - Serializes the storage
    • SplDoublyLinkedList::setIteratorMode - Sets the mode of iteration
    • SplDoublyLinkedList::shift - Shifts a node from the beginning of the doubly linked list
    • SplDoublyLinkedList::top - Peeks at the node from the end of the doubly linked list
    • SplDoublyLinkedList::unserialize - Unserializes the storage
    • SplDoublyLinkedList::unshift - Prepends the doubly linked list with an element
    • SplDoublyLinkedList::valid - Check whether the doubly linked list contains more nodes
    • SplFileInfo::getATime - Gets last access time of the file
    • SplFileInfo::getBasename - Gets the base name of the file
    • SplFileInfo::getCTime - Gets the inode change time
    • SplFileInfo::getExtension - Gets the file extension
    • SplFileInfo::getFileInfo - Gets an SplFileInfo object for the file
    • SplFileInfo::getFilename - Gets the filename
    • SplFileInfo::getGroup - Gets the file group
    • SplFileInfo::getInode - Gets the inode for the file
    • SplFileInfo::getLinkTarget - Gets the target of a link
    • SplFileInfo::getMTime - Gets the last modified time
    • SplFileInfo::getOwner - Gets the owner of the file
    • SplFileInfo::getPath - Gets the path without filename
    • SplFileInfo::getPathInfo - Gets an SplFileInfo object for the path
    • SplFileInfo::getPathname - Gets the path to the file
    • SplFileInfo::getPerms - Gets file permissions
    • SplFileInfo::getRealPath - Gets absolute path to file
    • SplFileInfo::getSize - Gets file size
    • SplFileInfo::getType - Gets file type
    • SplFileInfo::isDir - Tells if the file is a directory
    • SplFileInfo::isExecutable - Tells if the file is executable
    • SplFileInfo::isFile - Tells if the object references a regular file
    • SplFileInfo::isLink - Tells if the file is a link
    • SplFileInfo::isReadable - Tells if file is readable
    • SplFileInfo::isWritable - Tells if the entry is writable
    • SplFileInfo::openFile - Gets an SplFileObject object for the file
    • SplFileInfo::setFileClass - Sets the class used with SplFileInfo::openFile
    • SplFileInfo::setInfoClass - Sets the class used with SplFileInfo::getFileInfo and SplFileInfo::getPathInfo
    • SplFileInfo::__construct - Construct a new SplFileInfo object
    • SplFileInfo::__toString - Returns the path to the file as a string
    • SplFileObject::current - Retrieve current line of file
    • SplFileObject::eof - Reached end of file
    • SplFileObject::fflush - Flushes the output to the file
    • SplFileObject::fgetc - Gets character from file
    • SplFileObject::fgetcsv - Gets line from file and parse as CSV fields
    • SplFileObject::fgets - Gets line from file
    • SplFileObject::fgetss - Gets line from file and strip HTML tags
    • SplFileObject::flock - Portable file locking
    • SplFileObject::fpassthru - Output all remaining data on a file pointer
    • SplFileObject::fputcsv - Write a field array as a CSV line
    • SplFileObject::fread - Read from file
    • SplFileObject::fscanf - Parses input from file according to a format
    • SplFileObject::fseek - Seek to a position
    • SplFileObject::fstat - Gets information about the file
    • SplFileObject::ftell - Return current file position
    • SplFileObject::ftruncate - Truncates the file to a given length
    • SplFileObject::fwrite - Write to file
    • SplFileObject::getChildren - No purpose
    • SplFileObject::getCsvControl - Get the delimiter, enclosure and escape character for CSV
    • SplFileObject::getCurrentLine - Takma Adı: SplFileObject::fgets
    • SplFileObject::getFlags - Gets flags for the SplFileObject
    • SplFileObject::getMaxLineLen - Get maximum line length
    • SplFileObject::hasChildren - SplFileObject does not have children
    • SplFileObject::key - Get line number
    • SplFileObject::next - Read next line
    • SplFileObject::rewind - Rewind the file to the first line
    • SplFileObject::seek - Seek to specified line
    • SplFileObject::setCsvControl - Set the delimiter, enclosure and escape character for CSV
    • SplFileObject::setFlags - Sets flags for the SplFileObject
    • SplFileObject::setMaxLineLen - Set maximum line length
    • SplFileObject::valid - Not at EOF
    • SplFileObject::__construct - Construct a new file object
    • SplFileObject::__toString - Returns the current line as a string
    • SplFixedArray::count - Returns the size of the array
    • SplFixedArray::current - Return current array entry
    • SplFixedArray::fromArray - Import a PHP array in a SplFixedArray instance
    • SplFixedArray::getIterator - Retrieve the iterator to go through the array
    • SplFixedArray::getSize - Gets the size of the array
    • SplFixedArray::jsonSerialize - Returns a representation that can be converted to JSON
    • SplFixedArray::key - Return current array index
    • SplFixedArray::next - Move to next entry
    • SplFixedArray::offsetExists - Returns whether the requested index exists
    • SplFixedArray::offsetGet - Returns the value at the specified index
    • SplFixedArray::offsetSet - Sets a new value at a specified index
    • SplFixedArray::offsetUnset - Unsets the value at the specified $index
    • SplFixedArray::rewind - Rewind iterator back to the start
    • SplFixedArray::setSize - Change the size of an array
    • SplFixedArray::toArray - Returns a PHP array from the fixed array
    • SplFixedArray::valid - Check whether the array contains more elements
    • SplFixedArray::__construct - Constructs a new fixed array
    • SplFixedArray::__serialize - Serializes the SplFixedArray object
    • SplFixedArray::__unserialize - Deserializes the data parameter into an SplFixedArray object
    • SplFixedArray::__wakeup - Reinitialises the array after being unserialised
    • SplHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplHeap::count - Counts the number of elements in the heap
    • SplHeap::current - Return current node pointed by the iterator
    • SplHeap::extract - Extracts a node from top of the heap and sift up
    • SplHeap::insert - Inserts an element in the heap by sifting it up
    • SplHeap::isCorrupted - Tells if the heap is in a corrupted state
    • SplHeap::isEmpty - Checks whether the heap is empty
    • SplHeap::key - Return current node index
    • SplHeap::next - Move to the next node
    • SplHeap::recoverFromCorruption - Recover from the corrupted state and allow further actions on the heap
    • SplHeap::rewind - Rewind iterator back to the start (no-op)
    • SplHeap::top - Peeks at the node from the top of the heap
    • SplHeap::valid - Check whether the heap contains more nodes
    • SplMaxHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplMinHeap::compare - Compare elements in order to place them correctly in the heap while sifting up
    • SplObjectStorage::addAll - Adds all objects from another storage
    • SplObjectStorage::attach - Adds an object in the storage
    • SplObjectStorage::contains - Checks if the storage contains a specific object
    • SplObjectStorage::count - Returns the number of objects in the storage
    • SplObjectStorage::current - Returns the current storage entry
    • SplObjectStorage::detach - Removes an object from the storage
    • SplObjectStorage::getHash - Calculate a unique identifier for the contained objects
    • SplObjectStorage::getInfo - Returns the data associated with the current iterator entry
    • SplObjectStorage::key - Returns the index at which the iterator currently is
    • SplObjectStorage::next - Move to the next entry
    • SplObjectStorage::offsetExists - Checks whether an object exists in the storage
    • SplObjectStorage::offsetGet - Returns the data associated with an object
    • SplObjectStorage::offsetSet - Associates data to an object in the storage
    • SplObjectStorage::offsetUnset - Removes an object from the storage
    • SplObjectStorage::removeAll - Removes objects contained in another storage from the current storage
    • SplObjectStorage::removeAllExcept - Removes all objects except for those contained in another storage from the current storage
    • SplObjectStorage::rewind - Rewind the iterator to the first storage element
    • SplObjectStorage::serialize - Serializes the storage
    • SplObjectStorage::setInfo - Sets the data associated with the current iterator entry
    • SplObjectStorage::unserialize - Unserializes a storage from its string representation
    • SplObjectStorage::valid - Returns if the current iterator entry is valid
    • SplObserver::update - Receive update from subject
    • SplPriorityQueue::compare - Compare priorities in order to place elements correctly in the heap while sifting up
    • SplPriorityQueue::count - Counts the number of elements in the queue
    • SplPriorityQueue::current - Return current node pointed by the iterator
    • SplPriorityQueue::extract - Extracts a node from top of the heap and sift up
    • SplPriorityQueue::getExtractFlags - Get the flags of extraction
    • SplPriorityQueue::insert - Inserts an element in the queue by sifting it up
    • SplPriorityQueue::isCorrupted - Tells if the priority queue is in a corrupted state
    • SplPriorityQueue::isEmpty - Checks whether the queue is empty
    • SplPriorityQueue::key - Return current node index
    • SplPriorityQueue::next - Move to the next node
    • SplPriorityQueue::recoverFromCorruption - Recover from the corrupted state and allow further actions on the queue
    • SplPriorityQueue::rewind - Rewind iterator back to the start (no-op)
    • SplPriorityQueue::setExtractFlags - Sets the mode of extraction
    • SplPriorityQueue::top - Peeks at the node from the top of the queue
    • SplPriorityQueue::valid - Check whether the queue contains more nodes
    • SplQueue::dequeue - Dequeues a node from the queue
    • SplQueue::enqueue - Adds an element to the queue
    • SplSubject::attach - Attach an SplObserver
    • SplSubject::detach - Detach an observer
    • SplSubject::notify - Notify an observer
    • SplTempFileObject::__construct - Construct a new temporary file object
    • spl_autoload - Default implementation for __autoload()
    • spl_autoload_call - Try all registered __autoload() functions to load the requested class
    • spl_autoload_extensions - Register and return default file extensions for spl_autoload
    • spl_autoload_functions - Return all registered __autoload() functions
    • spl_autoload_register - Register given function as __autoload() implementation
    • spl_autoload_unregister - Unregister given function as __autoload() implementation
    • spl_classes - Return available SPL classes
    • spl_object_hash - Return hash id for given object
    • spl_object_id - Return the integer object handle for given object
    • Spoofchecker::areConfusable - Checks if given strings can be confused
    • Spoofchecker::isSuspicious - Checks if a given text contains any suspicious characters
    • Spoofchecker::setAllowedLocales - Locales to use when running checks
    • Spoofchecker::setChecks - Set the checks to run
    • Spoofchecker::setRestrictionLevel - Set the restriction level
    • Spoofchecker::__construct - Constructor
    • sprintf - Biçemli bir dizge döndürür
    • SQLite3::backup - Backup one database to another database
    • SQLite3::busyTimeout - Sets the busy connection handler
    • SQLite3::changes - Veritabanında son SQL deyimi ile işlem gören satır sayısını döndürür
    • SQLite3::close - Veritabanı bağlantısını kapatır
    • SQLite3::createAggregate - Toparlayıcı bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
    • SQLite3::createCollation - Registers a PHP function for use as an SQL collating function
    • SQLite3::createFunction - Sayıl bir SQL işlevi olarak kullanılmak üzere bir PHP işlevini kayda geçirir
    • SQLite3::enableExceptions - Enable throwing exceptions
    • SQLite3::escapeString - Gerektiği gibi öncelenmiş bir dizge döndürür
    • SQLite3::exec - Sonuç döndürmeyen bir SQL sorgusu çalıştırır
    • SQLite3::lastErrorCode - Başarısız olan son SQLite isteğinin sayısal sonuç kodunu döndürür
    • SQLite3::lastErrorMsg - Başarısız olan son SQLite isteği ile ilgili İngilizce iletiyi döndürür
    • SQLite3::lastInsertRowID - Veritabanına en son yerleştirilen satırın kimliğini döndürür
    • SQLite3::loadExtension - Belirtilen SQLite eklenti kütüphanesini yüklemeye çalışır
    • SQLite3::open - Bir SQLite veritabanını açar
    • SQLite3::openBlob - Opens a stream resource to read a BLOB
    • SQLite3::prepare - Çalıştırılmak üzere bir SQL sorgusu hazırlar
    • SQLite3::query - Bir SQL sorgusu çalıştırır
    • SQLite3::querySingle - Bir sorgu çalıştırıp tek bir sonuç döndürür
    • SQLite3::setAuthorizer - Configures a callback to be used as an authorizer to limit what a statement can do
    • SQLite3::version - SQLite3 kütüphanesinin sürüm numarasını dizge ve sayı olarak döndürür
    • SQLite3::__construct - Yeni bir SQLite3 nesnesini ilklendirdikten sonra bir SQLite veritabanını açar
    • SQLite3Result::close - Hazır deyimi kapatır
    • SQLite3Result::columnName - Numarası belirtilen sütunun ismini döndürür
    • SQLite3Result::columnType - Numarası belirtilen sütunun türünü döndürür
    • SQLite3Result::fetchArray - Sonuç satırını bir dizi olarak döndürür
    • SQLite3Result::finalize - Sonuç kümesini kapatır
    • SQLite3Result::numColumns - Sonuç kümesindeki sütun sayısını döndürür
    • SQLite3Result::reset - Sonuç kümesindeki geçerli satırı ilk satır yapar
    • SQLite3Result::__construct - Constructs an SQLite3Result
    • SQLite3Stmt::bindParam - Bir PHP değişkenini bir SQL değişkeni ile ilişkilendirir
    • SQLite3Stmt::bindValue - Bir bağımsız değişkenin değerini bir deyim değişkeni ile ilişkilendirir
    • SQLite3Stmt::clear - Tüm bağımsız değişken ilişkilendirmelerini temizler
    • SQLite3Stmt::execute - Hazır deyimi çalıştırır ve sonuç kümesini bir nesne olarak döndürür
    • SQLite3Stmt::getSQL - Get the SQL of the statement
    • SQLite3Stmt::paramCount - Hazır deyimdeki değişken sayısını döndürür
    • SQLite3Stmt::readOnly - Returns whether a statement is definitely read only
    • SQLite3Stmt::reset - Hazır deyimi sıfırlar
    • SQLite3Stmt::__construct - Constructs an SQLite3Stmt object
    • sqlsrv_begin_transaction - Begins a database transaction
    • sqlsrv_cancel - Cancels a statement
    • sqlsrv_client_info - Returns information about the client and specified connection
    • sqlsrv_close - Closes an open connection and releases resourses associated with the connection
    • sqlsrv_commit - Commits a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_configure - Changes the driver error handling and logging configurations
    • sqlsrv_connect - Opens a connection to a Microsoft SQL Server database
    • sqlsrv_errors - Returns error and warning information about the last SQLSRV operation performed
    • sqlsrv_execute - Executes a statement prepared with sqlsrv_prepare
    • sqlsrv_fetch - Makes the next row in a result set available for reading
    • sqlsrv_fetch_array - Returns a row as an array
    • sqlsrv_fetch_object - Retrieves the next row of data in a result set as an object
    • sqlsrv_field_metadata - Retrieves metadata for the fields of a statement prepared by sqlsrv_prepare or sqlsrv_query
    • sqlsrv_free_stmt - Frees all resources for the specified statement
    • sqlsrv_get_config - Returns the value of the specified configuration setting
    • sqlsrv_get_field - Gets field data from the currently selected row
    • sqlsrv_has_rows - Indicates whether the specified statement has rows
    • sqlsrv_next_result - Makes the next result of the specified statement active
    • sqlsrv_num_fields - Retrieves the number of fields (columns) on a statement
    • sqlsrv_num_rows - Retrieves the number of rows in a result set
    • sqlsrv_prepare - Prepares a query for execution
    • sqlsrv_query - Prepares and executes a query
    • sqlsrv_rollback - Rolls back a transaction that was begun with sqlsrv_begin_transaction
    • sqlsrv_rows_affected - Returns the number of rows modified by the last INSERT, UPDATE, or DELETE query executed
    • sqlsrv_send_stream_data - Sends data from parameter streams to the server
    • sqlsrv_server_info - Returns information about the server
    • SqlStatement::bind - Bind statement parameters
    • SqlStatement::execute - Execute the operation
    • SqlStatement::getNextResult - Get next result
    • SqlStatement::getResult - Get result
    • SqlStatement::hasMoreResults - Check for more results
    • SqlStatement::__construct - Description constructor
    • SqlStatementResult::fetchAll - Get all rows from result
    • SqlStatementResult::fetchOne - Get single row
    • SqlStatementResult::getAffectedItemsCount - Get affected row count
    • SqlStatementResult::getColumnNames - Get column names
    • SqlStatementResult::getColumns - Get columns
    • SqlStatementResult::getColumnsCount - Get column count
    • SqlStatementResult::getGeneratedIds - Get generated ids
    • SqlStatementResult::getLastInsertId - Get last insert id
    • SqlStatementResult::getWarnings - Get warnings from last operation
    • SqlStatementResult::getWarningsCount - Get warning count from last operation
    • SqlStatementResult::hasData - Check if result has data
    • SqlStatementResult::nextResult - Get next result
    • SqlStatementResult::__construct - Description constructor
    • sqrt - Square root
    • srand - Seed the random number generator
    • sscanf - Girdi dizgesini belli bir biçeme göre yorumlar
    • ssdeep_fuzzy_compare - Calculates the match score between two fuzzy hash signatures
    • ssdeep_fuzzy_hash - Create a fuzzy hash from a string
    • ssdeep_fuzzy_hash_filename - Create a fuzzy hash from a file
    • ssh2:// - Güvenli Kabuk 2
    • ssh2_auth_agent - Authenticate over SSH using the ssh agent
    • ssh2_auth_hostbased_file - Bir genel konak anahtarı kullanarak kimlik doğrulaması yapar
    • ssh2_auth_none - "none" kimlik doğrulaması yapar
    • ssh2_auth_password - Parola kullanarak kimlik doğrulaması yapar
    • ssh2_auth_pubkey_file - Bir genel anahtar kullanarak kimlik doğrulaması yapar
    • ssh2_connect - Bir SSH sunucusuna bağlanır
    • ssh2_disconnect - Close a connection to a remote SSH server
    • ssh2_exec - Uzak sunucu üzerinde bir komut çalıştırır
    • ssh2_fetch_stream - Başka bir veri akımı döndürür
    • ssh2_fingerprint - Uzak sunucunu parmakizini döndürür
    • ssh2_forward_accept - Accept a connection created by a listener
    • ssh2_forward_listen - Bind a port on the remote server and listen for connections
    • ssh2_methods_negotiated - Müzakere yöntemlerini listeler
    • ssh2_poll - Poll the channels/listeners/streams for events
    • ssh2_publickey_add - Yetkili bir genel anahtar ekler
    • ssh2_publickey_init - Genel anahtar alt sistemini ilklendirir
    • ssh2_publickey_list - Yetkili genel anahtarları listeler
    • ssh2_publickey_remove - Bir genel anahtarı siler
    • ssh2_scp_recv - SCP üzerinden bir dosya alır
    • ssh2_scp_send - SCP üzerinden bir dosya gönderir
    • ssh2_send_eof - Send EOF to stream
    • ssh2_sftp - SFTP alt sistemini ilklendirir
    • ssh2_sftp_chmod - Changes file mode
    • ssh2_sftp_lstat - Uzak sunucudaki bir sembolik bağın durum bilgisini döndürür
    • ssh2_sftp_mkdir - Uzak konakta bir dizin oluşturur
    • ssh2_sftp_readlink - Bir sembolik bağın hedefini döndürür
    • ssh2_sftp_realpath - Belirtilen dosya yolu dizgesinden gerçek yolu elde eder
    • ssh2_sftp_rename - Bir uzak dosyanın ismini değiştirir
    • ssh2_sftp_rmdir - Karşıdan bir dizin siler
    • ssh2_sftp_stat - Uzak dosya sistemindeki bir dosyanın durum bilgisini döndürür
    • ssh2_sftp_symlink - Karşıda bir sembolik bağ oluşturur
    • ssh2_sftp_unlink - Bir dosyayı siler
    • ssh2_shell - Bir etkileşimli kabuk isteği yapar
    • ssh2_tunnel - Uzak bir sunucuya doğru bir tünel açar
    • SSL bağlamı seçenekleri - SSL bağlamı seçeneklerinin listesi
    • stat - Bir dosya hakkında bilgi döndürür
    • Statement::getNextResult - Get next result
    • Statement::getResult - Get result
    • Statement::hasMoreResults - Check if more results
    • Statement::__construct - Description constructor
    • stats_absolute_deviation - Returns the absolute deviation of an array of values
    • stats_cdf_beta - Calculates any one parameter of the beta distribution given values for the others
    • stats_cdf_binomial - Calculates any one parameter of the binomial distribution given values for the others
    • stats_cdf_cauchy - Calculates any one parameter of the Cauchy distribution given values for the others
    • stats_cdf_chisquare - Calculates any one parameter of the chi-square distribution given values for the others
    • stats_cdf_exponential - Calculates any one parameter of the exponential distribution given values for the others
    • stats_cdf_f - Calculates any one parameter of the F distribution given values for the others
    • stats_cdf_gamma - Calculates any one parameter of the gamma distribution given values for the others
    • stats_cdf_laplace - Calculates any one parameter of the Laplace distribution given values for the others
    • stats_cdf_logistic - Calculates any one parameter of the logistic distribution given values for the others
    • stats_cdf_negative_binomial - Calculates any one parameter of the negative binomial distribution given values for the others
    • stats_cdf_noncentral_chisquare - Calculates any one parameter of the non-central chi-square distribution given values for the others
    • stats_cdf_noncentral_f - Calculates any one parameter of the non-central F distribution given values for the others
    • stats_cdf_noncentral_t - Calculates any one parameter of the non-central t-distribution give values for the others
    • stats_cdf_normal - Calculates any one parameter of the normal distribution given values for the others
    • stats_cdf_poisson - Calculates any one parameter of the Poisson distribution given values for the others
    • stats_cdf_t - Calculates any one parameter of the t-distribution given values for the others
    • stats_cdf_uniform - Calculates any one parameter of the uniform distribution given values for the others
    • stats_cdf_weibull - Calculates any one parameter of the Weibull distribution given values for the others
    • stats_covariance - Computes the covariance of two data sets
    • stats_dens_beta - Probability density function of the beta distribution
    • stats_dens_cauchy - Probability density function of the Cauchy distribution
    • stats_dens_chisquare - Probability density function of the chi-square distribution
    • stats_dens_exponential - Probability density function of the exponential distribution
    • stats_dens_f - Probability density function of the F distribution
    • stats_dens_gamma - Probability density function of the gamma distribution
    • stats_dens_laplace - Probability density function of the Laplace distribution
    • stats_dens_logistic - Probability density function of the logistic distribution
    • stats_dens_normal - Probability density function of the normal distribution
    • stats_dens_pmf_binomial - Probability mass function of the binomial distribution
    • stats_dens_pmf_hypergeometric - Probability mass function of the hypergeometric distribution
    • stats_dens_pmf_negative_binomial - Probability mass function of the negative binomial distribution
    • stats_dens_pmf_poisson - Probability mass function of the Poisson distribution
    • stats_dens_t - Probability density function of the t-distribution
    • stats_dens_uniform - Probability density function of the uniform distribution
    • stats_dens_weibull - Probability density function of the Weibull distribution
    • stats_harmonic_mean - Returns the harmonic mean of an array of values
    • stats_kurtosis - Computes the kurtosis of the data in the array
    • stats_rand_gen_beta - Generates a random deviate from the beta distribution
    • stats_rand_gen_chisquare - Generates a random deviate from the chi-square distribution
    • stats_rand_gen_exponential - Generates a random deviate from the exponential distribution
    • stats_rand_gen_f - Generates a random deviate from the F distribution
    • stats_rand_gen_funiform - Generates uniform float between low (exclusive) and high (exclusive)
    • stats_rand_gen_gamma - Generates a random deviate from the gamma distribution
    • stats_rand_gen_ibinomial - Generates a random deviate from the binomial distribution
    • stats_rand_gen_ibinomial_negative - Generates a random deviate from the negative binomial distribution
    • stats_rand_gen_int - Generates random integer between 1 and 2147483562
    • stats_rand_gen_ipoisson - Generates a single random deviate from a Poisson distribution
    • stats_rand_gen_iuniform - Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
    • stats_rand_gen_noncentral_chisquare - Generates a random deviate from the non-central chi-square distribution
    • stats_rand_gen_noncentral_f - Generates a random deviate from the noncentral F distribution
    • stats_rand_gen_noncentral_t - Generates a single random deviate from a non-central t-distribution
    • stats_rand_gen_normal - Generates a single random deviate from a normal distribution
    • stats_rand_gen_t - Generates a single random deviate from a t-distribution
    • stats_rand_get_seeds - Get the seed values of the random number generator
    • stats_rand_phrase_to_seeds - Generate two seeds for the RGN random number generator
    • stats_rand_ranf - Generates a random floating point number between 0 and 1
    • stats_rand_setall - Set seed values to the random generator
    • stats_skew - Computes the skewness of the data in the array
    • stats_standard_deviation - Returns the standard deviation
    • stats_stat_binomial_coef - Returns a binomial coefficient
    • stats_stat_correlation - Returns the Pearson correlation coefficient of two data sets
    • stats_stat_factorial - Returns the factorial of an integer
    • stats_stat_independent_t - Returns the t-value from the independent two-sample t-test
    • stats_stat_innerproduct - Returns the inner product of two vectors
    • stats_stat_paired_t - Returns the t-value of the dependent t-test for paired samples
    • stats_stat_percentile - Returns the percentile value
    • stats_stat_powersum - Returns the power sum of a vector
    • stats_variance - Returns the variance
    • Stomp::abort - Rolls back a transaction in progress
    • Stomp::ack - Acknowledges consumption of a message
    • Stomp::begin - Starts a transaction
    • Stomp::commit - Commits a transaction in progress
    • Stomp::error - Gets the last stomp error
    • Stomp::getReadTimeout - Gets read timeout
    • Stomp::getSessionId - Gets the current stomp session ID
    • Stomp::hasFrame - Indicates whether or not there is a frame ready to read
    • Stomp::readFrame - Reads the next frame
    • Stomp::send - Sends a message
    • Stomp::setReadTimeout - Sets read timeout
    • Stomp::subscribe - Registers to listen to a given destination
    • Stomp::unsubscribe - Removes an existing subscription
    • Stomp::__construct - Opens a connection
    • Stomp::__destruct - Closes stomp connection
    • StompException::getDetails - Get exception details
    • StompFrame::__construct - Constructor
    • stomp_connect_error - Returns a string description of the last connect error
    • stomp_version - Gets the current stomp extension version
    • strcasecmp - İkil olarak güvenilir ve harf büyüklüğüne duyarsız dizge karşılaştırması yapar
    • strchr - strstr işlevinin takma adıdır
    • strcmp - İkil olarak güvenilir dizge karşılaştırması yapar
    • strcoll - Yerele göre dizge karşılaştırma
    • strcspn - Maske ile eşleşMEyen ilk parçanın uzunluğunu bulur
    • streamWrapper::dir_closedir - Dizin tanıtıcısını kapatır
    • streamWrapper::dir_opendir - Dizin tanıtıcısı açar
    • streamWrapper::dir_readdir - Dizinden bir girdi okur
    • streamWrapper::dir_rewinddir - Dizin tanıtıcısını dizin başlangıcına konumlar
    • streamWrapper::mkdir - Bir dizin oluşturur
    • streamWrapper::rename - Bir dosya veya dizinin ismini değiştirir
    • streamWrapper::rmdir - Bir dizini siler
    • streamWrapper::stream_cast - Temel özkaynağı döndürür
    • streamWrapper::stream_close - Bir özkaynağı kapatır
    • streamWrapper::stream_eof - Dosya göstericisinin dosya sonunda olup olmadığına bakar
    • streamWrapper::stream_flush - Çıktıyı boşaltır
    • streamWrapper::stream_lock - Tavsiye niteliğinde dosya kilitleme
    • streamWrapper::stream_metadata - Akım meta verilerini değiştir
    • streamWrapper::stream_open - Bir dosya veya URL açar
    • streamWrapper::stream_read - Akımdan veri okur
    • streamWrapper::stream_seek - Akım üzerinde belli bir konuma gidilir
    • streamWrapper::stream_set_option - Akım seçeneklerini değiştirir
    • streamWrapper::stream_stat - Bir dosya özkaynağı hakkında bilgi döndürür
    • streamWrapper::stream_tell - Bir akımdan geçerli konumu döndürür
    • streamWrapper::stream_truncate - Akımı sondan kırpar
    • streamWrapper::stream_write - Akıma yazar
    • streamWrapper::unlink - Bir dosyayı siler
    • streamWrapper::url_stat - Bir dosya hakkında bilgi döndürür
    • streamWrapper::__construct - Yeni bir akım sarmalayıcı oluşturur
    • streamWrapper::__destruct - Mevcut bir akım sarmalayıcısını yok eder
    • stream_bucket_append - Zincirin sonuna bir bakla ekler
    • stream_bucket_make_writeable - Üzerinde işlem yapmak için zincirden bir bakla nesnesi döndürür
    • stream_bucket_new - Geçerli akımda kullanmak için yeni bir bakla oluşturur
    • stream_bucket_prepend - Zincirin başına bir bakla ekler
    • stream_context_create - Bir akım bağlamı oluşturur
    • stream_context_get_default - Öntanımlı akım bağlamını döndürür
    • stream_context_get_options - Bir akım/sarmalayıcı/bağlam için atanmış seçenekleri döndürür
    • stream_context_get_params - Bir bağlamın bağımsız değişkenlerini döndürür
    • stream_context_set_default - Akımları içeren öntanımlı bağlamı tanımlar
    • stream_context_set_option - Bir akım/sarmalayıcı/bağlam için bir seçenek tanımlar
    • stream_context_set_options - Sets options on the specified context
    • stream_context_set_params - Bir akım/sarmalayıcı/bağlam için bağımsız değişkenleri tanımlar
    • stream_copy_to_stream - Veriyi bir akımdan diğerine kopyalar
    • stream_filter_append - Süzgeç zincirinin sonuna bir süzgeç ekler
    • stream_filter_prepend - Süzgeç zincirinin başına bir süzgeç ekler
    • stream_filter_register - Kullanıcı tanımlı bir akım süzgecini etkin kılar
    • stream_filter_remove - Akımdan bir süzgeci kaldırır
    • stream_get_contents - Akımdan kalanı bir dizgeye okur
    • stream_get_filters - Etkin süzgeçlerin listesini döndürür
    • stream_get_line - Akımdan belirtilen ayraca kadar bir satır döndürür
    • stream_get_meta_data - Akımdan başlıkları/meta verileri döndürür
    • stream_get_transports - Etkin soket aktarımlarının listesini döndürür
    • stream_get_wrappers - Etkin akımların listesini döndürür
    • stream_isatty - Akımın bir TTY olup olmadığına bakar
    • stream_is_local - Akım, bir yerel akımsa true döner
    • stream_notification_callback - notification bağlam bağımsız değişkeni için bir geri çağırım işlevi
    • stream_register_wrapper - stream_wrapper_register işlevinin takma adıdır
    • stream_resolve_include_path - Göreli dosya adını mutlak yoluna çözümler
    • stream_select - Belirtilen akım dizisi üzerinde saniye ve mikrosaniye ile belirtilen zaman aşımıyla select() sistem çağrısının eşdeğeri olarak çalışır
    • stream_set_blocking - Akımın engelleme kipini ayarlar
    • stream_set_chunk_size - Akım blok boyutunu tanımlar
    • stream_set_read_buffer - Akıma dosya okuma tamponu tanımlar
    • stream_set_timeout - Akımın zaman aşımı süresini ayarlar
    • stream_set_write_buffer - Belirtilen akımda dosya yazma tamponunu ayarlar
    • stream_socket_accept - stream_socket_server ile oluşturulmuş bir soketten bağlantı kabul eder
    • stream_socket_client - Bir Genel Ağ veya Unix alan soketi bağlantısı açar
    • stream_socket_enable_crypto - Bağlı bir soket üzerinde şifrelemeyi açıp kapatır
    • stream_socket_get_name - Yerel veya uzak soketin ismini döndürür
    • stream_socket_pair - Soket akımlarınca ayırt edilebilen bir bağlantı çifti oluşturur
    • stream_socket_recvfrom - Bağlı olsun ya da olmasın bir soketten veri alır
    • stream_socket_sendto - Bir sokete bağlı olsun ya da olmasın, bir ileti gönderir
    • stream_socket_server - Bir Genel Ağ veya Unix alan sunucusu soketi oluşturur
    • stream_socket_shutdown - Çift yönlü bağlantıyı kapatır
    • stream_supports_lock - Akımın kilitlemeyi destekleyip desteklemediğine bakar
    • stream_wrapper_register - Bir PHP sınıfı olarak gerçeklenmiş bir URL sarmalayıcısını etkin kılar
    • stream_wrapper_restore - İptal edilmiş yerleşik bir sarmalayıcıyı tekrar etkin kılar
    • stream_wrapper_unregister - Bir URL sarmalayıcısını iptal eder
    • strftime - Format a local time/date according to locale settings
    • Stringable::__toString - Nesnenin dizgesel gösterimini döndürür
    • stripcslashes - addcslashes ile öncelenmiş dizgeyi eski haline getirir
    • stripos - Harf büyüklüğüne duyarsız olarak bir alt dizgenin ilkinin konumunu bulur
    • stripslashes - Bir dizgeden tersbölüleri ayıklar
    • strip_tags - Bir dizgeden HTML ve PHP etiketlerini ayıklar
    • stristr - Harf büyüklüğüne duyarsız olarak ilk alt dizgeyi bulur
    • strlen - Dizge uzunluğunu döndürür
    • strnatcasecmp - "Doğal sıralama" algoritmasını kullanarak dizgeleri harf büyüklüğüne duyarsız olarak karşılaştırır
    • strnatcmp - "Doğal sıralama" algoritmasını kullanarak dizgeleri karşılaştırır
    • strncasecmp - İlk n karakteri ikil ve harf büyüklüğüne duyarsız olarak karşılaştırır
    • strncmp - İlk n karakteri ikil olarak karşılaştırır
    • strpbrk - Belirtilen karakterleri bir dizge içinde arar
    • strpos - Bir alt dizgenin ilkinin konumunu bulur
    • strptime - strftime işleviyle üretilen zaman ve tarihleri çözümler
    • strrchr - Bir dizgede belli bir karakterin sonuncusuna göre dizgenin bir parçasıyla döner
    • strrev - Bir dizgeyi ters çevirir
    • strripos - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
    • strrpos - Bir dizgede bir karakterin sonuncusunu bulur
    • strspn - Dizgenin, maskenin tüm karakterleri ile eşleşen ilk parçasının uzunluğunu bulur
    • strstr - İlk alt dizgeyi bulur
    • strtok - Dizgeyi bir dizgeciğe göre böler
    • strtolower - Bir dizgenin harflerini küçük harfe çevirir
    • strtotime - Parse about any English textual datetime description into a Unix timestamp
    • strtoupper - Bir dizgenin harflerini büyük harfe çevirir
    • strtr - Belli karakterleri veya alt dizgeleri değiştirir
    • strval - Bir değişkenin dizgesel değerini döndürür
    • str_contains - Bir dizge içinde belirtilen alt dizgeyi arar
    • str_decrement - Decrement an alphanumeric string
    • str_ends_with - Bir dizge belirtilen alt dizge ile bitiyor mu diye bakar
    • str_getcsv - Bir CSV dizgesinin girdilerini bir dizinin elemanlarına paylaştırır
    • str_increment - Increment an alphanumeric string
    • str_ireplace - Bir alt dizgenin bütün örneklerini yenisiyle değiştirirken harf büyüklüklerini dikkate almaz
    • str_pad - Bir dizgeyi belli bir uzunlukta diğer dizgeyle doldurur
    • str_repeat - Bir dizgeyi yineler
    • str_replace - Bir alt dizgenin bütün örneklerini yenisiyle değiştirir
    • str_rot13 - Bir dizgeye rot13 dönüşümü uygular
    • str_shuffle - Bir dizgenin karakterlerini devşirir
    • str_split - Bir dizgeyi bir diziye dönüştürür
    • str_starts_with - Bir dizge belirtilen alt dizge ile başlıyor mu diye bakar
    • str_word_count - Bir dizgedeki sözcükler hakkında bilgi verir
    • substr - Dizgenin bir kısmını döndürür
    • substr_compare - İki dizgenin belli bir konumdan itibaren belli uzunluktaki parçalarını bayt bayt karşılaştırır
    • substr_count - Bir dizge içinde belli bir alt dizgeden kaç tane bulunduğunu bulur
    • substr_replace - Bir dizgenin belli bir bölümünü değiştirir
    • SVM::crossvalidate - Test training params on subsets of the training data
    • SVM::getOptions - Return the current training parameters
    • SVM::setOptions - Set training parameters
    • SVM::train - Create a SVMModel based on training data
    • SVM::__construct - Construct a new SVM object
    • SVMModel::checkProbabilityModel - Returns true if the model has probability information
    • SVMModel::getLabels - Get the labels the model was trained on
    • SVMModel::getNrClass - Returns the number of classes the model was trained with
    • SVMModel::getSvmType - Get the SVM type the model was trained with
    • SVMModel::getSvrProbability - Get the sigma value for regression types
    • SVMModel::load - Load a saved SVM Model
    • SVMModel::predict - Predict a value for previously unseen data
    • SVMModel::predict_probability - Return class probabilities for previous unseen data
    • SVMModel::save - Save a model to a file
    • SVMModel::__construct - Construct a new SVMModel
    • svn_add - Schedules the addition of an item in a working directory
    • svn_auth_get_parameter - Retrieves authentication parameter
    • svn_auth_set_parameter - Sets an authentication parameter
    • svn_blame - Get the SVN blame for a file
    • svn_cat - Returns the contents of a file in a repository
    • svn_checkout - Checks out a working copy from the repository
    • svn_cleanup - Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
    • svn_client_version - Returns the version of the SVN client libraries
    • svn_commit - Sends changes from the local working copy to the repository
    • svn_delete - Delete items from a working copy or repository
    • svn_diff - Recursively diffs two paths
    • svn_export - Export the contents of a SVN directory
    • svn_fs_abort_txn - Aborts a transaction
    • svn_fs_apply_text - Creates and returns a stream that will be used to replace
    • svn_fs_begin_txn2 - Create a new transaction
    • svn_fs_change_node_prop - Return true if everything is ok, false otherwise
    • svn_fs_check_path - Determines what kind of item lives at path in a given repository fsroot
    • svn_fs_contents_changed - Return true if content is different, false otherwise
    • svn_fs_copy - Copies a file or a directory
    • svn_fs_delete - Deletes a file or a directory
    • svn_fs_dir_entries - Enumerates the directory entries under path; returns a hash of dir names to file type
    • svn_fs_file_contents - Returns a stream to access the contents of a file from a given version of the fs
    • svn_fs_file_length - Returns the length of a file from a given version of the fs
    • svn_fs_is_dir - Determines if a path points to a directory
    • svn_fs_is_file - Determines if a path points to a file
    • svn_fs_make_dir - Creates a new empty directory
    • svn_fs_make_file - Creates a new empty file
    • svn_fs_node_created_rev - Returns the revision in which path under fsroot was created
    • svn_fs_node_prop - Returns the value of a property for a node
    • svn_fs_props_changed - Return true if props are different, false otherwise
    • svn_fs_revision_prop - Fetches the value of a named property
    • svn_fs_revision_root - Get a handle on a specific version of the repository root
    • svn_fs_txn_root - Creates and returns a transaction root
    • svn_fs_youngest_rev - Returns the number of the youngest revision in the filesystem
    • svn_import - Imports an unversioned path into a repository
    • svn_log - Returns the commit log messages of a repository URL
    • svn_ls - Returns list of directory contents in repository URL, optionally at revision number
    • svn_mkdir - Creates a directory in a working copy or repository
    • svn_repos_create - Create a new subversion repository at path
    • svn_repos_fs - Gets a handle on the filesystem for a repository
    • svn_repos_fs_begin_txn_for_commit - Create a new transaction
    • svn_repos_fs_commit_txn - Commits a transaction and returns the new revision
    • svn_repos_hotcopy - Make a hot-copy of the repos at repospath; copy it to destpath
    • svn_repos_open - Open a shared lock on a repository
    • svn_repos_recover - Run recovery procedures on the repository located at path
    • svn_revert - Revert changes to the working copy
    • svn_status - Returns the status of working copy files and directories
    • svn_update - Update working copy
    • Swoole\Async::dnsLookup - Async and non-blocking hostname to IP lookup.
    • Swoole\Async::read - Read file stream asynchronously.
    • Swoole\Async::readFile - Read a file asynchronously.
    • Swoole\Async::set - Update the async I/O options.
    • Swoole\Async::write - Write data to a file stream asynchronously.
    • Swoole\Async::writeFile - Description
    • Swoole\Atomic::add - Add a number to the value to the atomic object.
    • Swoole\Atomic::cmpset - Compare and set the value of the atomic object.
    • Swoole\Atomic::get - Get the current value of the atomic object.
    • Swoole\Atomic::set - Set a new value to the atomic object.
    • Swoole\Atomic::sub - Subtract a number to the value of the atomic object.
    • Swoole\Atomic::__construct - Construct a swoole atomic object.
    • Swoole\Buffer::append - Append the string or binary data at the end of the memory buffer and return the new size of memory allocated.
    • Swoole\Buffer::clear - Reset the memory buffer.
    • Swoole\Buffer::expand - Expand the size of memory buffer.
    • Swoole\Buffer::read - Read data from the memory buffer based on offset and length.
    • Swoole\Buffer::recycle - Release the memory to OS which is not used by the memory buffer.
    • Swoole\Buffer::substr - Read data from the memory buffer based on offset and length. Or remove data from the memory buffer.
    • Swoole\Buffer::write - Write data to the memory buffer. The memory allocated for the buffer will not be changed.
    • Swoole\Buffer::__construct - Fixed size memory blocks allocation.
    • Swoole\Buffer::__destruct - Destruct the Swoole memory buffer.
    • Swoole\Buffer::__toString - Get the string value of the memory buffer.
    • Swoole\Channel::pop - Read and pop data from swoole channel.
    • Swoole\Channel::push - Write and push data into Swoole channel.
    • Swoole\Channel::stats - Get stats of swoole channel.
    • Swoole\Channel::__construct - Construct a Swoole Channel
    • Swoole\Channel::__destruct - Destruct a Swoole channel.
    • Swoole\Client::close - Close the connection established.
    • Swoole\Client::connect - Connect to the remote TCP or UDP port.
    • Swoole\Client::getpeername - Get the remote socket name of the connection.
    • Swoole\Client::getsockname - Get the local socket name of the connection.
    • Swoole\Client::isConnected - Check if the connection is established.
    • Swoole\Client::on - Add callback functions triggered by events.
    • Swoole\Client::pause - Pause receiving data.
    • Swoole\Client::pipe - Redirect the data to another file descriptor.
    • Swoole\Client::recv - Receive data from the remote socket.
    • Swoole\Client::resume - Resume receiving data.
    • Swoole\Client::send - Send data to the remote TCP socket.
    • Swoole\Client::sendfile - Send file to the remote TCP socket.
    • Swoole\Client::sendto - Send data to the remote UDP address.
    • Swoole\Client::set - Set the Swoole client parameters before the connection is established.
    • Swoole\Client::sleep - Remove the TCP client from system event loop.
    • Swoole\Client::wakeup - Add the TCP client back into the system event loop.
    • Swoole\Client::__construct - Create Swoole sync or async TCP/UDP client, with or without SSL.
    • Swoole\Client::__destruct - Destruct the Swoole client.
    • Swoole\Connection\Iterator::count - Count connections.
    • Swoole\Connection\Iterator::current - Return current connection entry.
    • Swoole\Connection\Iterator::key - Return key of the current connection.
    • Swoole\Connection\Iterator::next - Move to the next connection.
    • Swoole\Connection\Iterator::offsetExists - Check if offet exists.
    • Swoole\Connection\Iterator::offsetGet - Offset to retrieve.
    • Swoole\Connection\Iterator::offsetSet - Assign a Connection to the specified offset.
    • Swoole\Connection\Iterator::offsetUnset - Unset an offset.
    • Swoole\Connection\Iterator::rewind - Rewinds iterator
    • Swoole\Connection\Iterator::valid - Check if current position is valid.
    • Swoole\Coroutine::call_user_func - Call a callback given by the first parameter
    • Swoole\Coroutine::call_user_func_array - Call a callback with an array of parameters
    • Swoole\Coroutine::cli_wait - Description
    • Swoole\Coroutine::create - Description
    • Swoole\Coroutine::getuid - Description
    • Swoole\Coroutine::resume - Description
    • Swoole\Coroutine::suspend - Description
    • Swoole\Coroutine\Client::close - Description
    • Swoole\Coroutine\Client::connect - Description
    • Swoole\Coroutine\Client::getpeername - Description
    • Swoole\Coroutine\Client::getsockname - Description
    • Swoole\Coroutine\Client::isConnected - Description
    • Swoole\Coroutine\Client::recv - Description
    • Swoole\Coroutine\Client::send - Description
    • Swoole\Coroutine\Client::sendfile - Description
    • Swoole\Coroutine\Client::sendto - Description
    • Swoole\Coroutine\Client::set - Description
    • Swoole\Coroutine\Client::__construct - Description
    • Swoole\Coroutine\Client::__destruct - Description
    • Swoole\Coroutine\Http\Client::addFile - Description
    • Swoole\Coroutine\Http\Client::close - Description
    • Swoole\Coroutine\Http\Client::execute - Description
    • Swoole\Coroutine\Http\Client::get - Description
    • Swoole\Coroutine\Http\Client::getDefer - Description
    • Swoole\Coroutine\Http\Client::isConnected - Description
    • Swoole\Coroutine\Http\Client::post - Description
    • Swoole\Coroutine\Http\Client::recv - Description
    • Swoole\Coroutine\Http\Client::set - Description
    • Swoole\Coroutine\Http\Client::setCookies - Description
    • Swoole\Coroutine\Http\Client::setData - Description
    • Swoole\Coroutine\Http\Client::setDefer - Description
    • Swoole\Coroutine\Http\Client::setHeaders - Description
    • Swoole\Coroutine\Http\Client::setMethod - Description
    • Swoole\Coroutine\Http\Client::__construct - Description
    • Swoole\Coroutine\Http\Client::__destruct - Description
    • Swoole\Coroutine\MySQL::close - Description
    • Swoole\Coroutine\MySQL::connect - Description
    • Swoole\Coroutine\MySQL::getDefer - Description
    • Swoole\Coroutine\MySQL::query - Description
    • Swoole\Coroutine\MySQL::recv - Description
    • Swoole\Coroutine\MySQL::setDefer - Description
    • Swoole\Coroutine\MySQL::__construct - Description
    • Swoole\Coroutine\MySQL::__destruct - Description
    • Swoole\Event::add - Add new callback functions of a socket into the EventLoop.
    • Swoole\Event::defer - Add a callback function to the next event loop.
    • Swoole\Event::del - Remove all event callback functions of a socket.
    • Swoole\Event::exit - Exit the eventloop, only available at client side.
    • Swoole\Event::set - Update the event callback functions of a socket.
    • Swoole\Event::wait - Description
    • Swoole\Event::write - Write data to the socket.
    • Swoole\Http\Client::addFile - Add a file to the post form.
    • Swoole\Http\Client::close - Close the http connection.
    • Swoole\Http\Client::download - Download a file from the remote server.
    • Swoole\Http\Client::execute - Send the HTTP request after setting the parameters.
    • Swoole\Http\Client::get - Send GET http request to the remote server.
    • Swoole\Http\Client::isConnected - Check if the HTTP connection is connected.
    • Swoole\Http\Client::on - Register callback function by event name.
    • Swoole\Http\Client::post - Send POST http request to the remote server.
    • Swoole\Http\Client::push - Push data to websocket client.
    • Swoole\Http\Client::set - Update the HTTP client paramters.
    • Swoole\Http\Client::setCookies - Set the http request cookies.
    • Swoole\Http\Client::setData - Set the HTTP request body data.
    • Swoole\Http\Client::setHeaders - Set the HTTP request headers.
    • Swoole\Http\Client::setMethod - Set the HTTP request method.
    • Swoole\Http\Client::upgrade - Upgrade to websocket protocol.
    • Swoole\Http\Client::__construct - Construct the async HTTP client.
    • Swoole\Http\Client::__destruct - Destruct the HTTP client.
    • Swoole\Http\Request::rawcontent - Get the raw HTTP POST body.
    • Swoole\Http\Request::__destruct - Destruct the HTTP request.
    • Swoole\Http\Response::cookie - Set the cookies of the HTTP response.
    • Swoole\Http\Response::end - Send data for the HTTP request and finish the response.
    • Swoole\Http\Response::gzip - Enable the gzip of response content.
    • Swoole\Http\Response::header - Set the HTTP response headers.
    • Swoole\Http\Response::initHeader - Init the HTTP response header.
    • Swoole\Http\Response::rawcookie - Set the raw cookies to the HTTP response.
    • Swoole\Http\Response::sendfile - Send file through the HTTP response.
    • Swoole\Http\Response::status - Set the status code of the HTTP response.
    • Swoole\Http\Response::write - Append HTTP body content to the HTTP response.
    • Swoole\Http\Response::__destruct - Destruct the HTTP response.
    • Swoole\Http\Server::on - Bind callback function to HTTP server by event name.
    • Swoole\Http\Server::start - Start the swoole http server.
    • Swoole\Lock::lock - Try to acquire the lock. It will block if the lock is not available.
    • Swoole\Lock::lock_read - Lock a read-write lock for reading.
    • Swoole\Lock::trylock - Try to acquire the lock and return straight away even the lock is not available.
    • Swoole\Lock::trylock_read - Try to lock a read-write lock for reading and return straight away even the lock is not available.
    • Swoole\Lock::unlock - Release the lock.
    • Swoole\Lock::__construct - Construct a memory lock.
    • Swoole\Lock::__destruct - Destory a Swoole memory lock.
    • Swoole\Mmap::open - Map a file into memory and return the stream resource which can be used by PHP stream operations.
    • Swoole\MySQL::close - Close the async MySQL connection.
    • Swoole\MySQL::connect - Connect to the remote MySQL server.
    • Swoole\MySQL::getBuffer - Description
    • Swoole\MySQL::on - Register callback function based on event name.
    • Swoole\MySQL::query - Run the SQL query.
    • Swoole\MySQL::__construct - Construct an async MySQL client.
    • Swoole\MySQL::__destruct - Destory the async MySQL client.
    • Swoole\Process::alarm - High precision timer which triggers signal with fixed interval.
    • Swoole\Process::close - Close the pipe to the child process.
    • Swoole\Process::daemon - Change the process to be a daemon process.
    • Swoole\Process::exec - Execute system commands.
    • Swoole\Process::exit - Stop the child processes.
    • Swoole\Process::freeQueue - Destroy the message queue created by swoole_process::useQueue.
    • Swoole\Process::kill - Send signal to the child process.
    • Swoole\Process::name - Set name of the process.
    • Swoole\Process::pop - Read and pop data from the message queue.
    • Swoole\Process::push - Write and push data into the message queue.
    • Swoole\Process::read - Read data sending to the process.
    • Swoole\Process::signal - Send signal to the child processes.
    • Swoole\Process::start - Start the process.
    • Swoole\Process::statQueue - Get the stats of the message queue used as the communication method between processes.
    • Swoole\Process::useQueue - Create a message queue as the communication method between the parent process and child processes.
    • Swoole\Process::wait - Wait for the events of child processes.
    • Swoole\Process::write - Write data into the pipe and communicate with the parent process or child processes.
    • Swoole\Process::__construct - Construct a process.
    • Swoole\Process::__destruct - Destory the process.
    • Swoole\Redis\Server::format - Description
    • Swoole\Redis\Server::setHandler - Description
    • Swoole\Redis\Server::start - Description
    • Swoole\Serialize::pack - Serialize the data.
    • Swoole\Serialize::unpack - Unserialize the data.
    • Swoole\Server::addlistener - Add a new listener to the server.
    • Swoole\Server::addProcess - Add a user defined swoole_process to the server.
    • Swoole\Server::after - Trigger a callback function after a period of time.
    • Swoole\Server::bind - Bind the connection to a user defined user ID.
    • Swoole\Server::clearTimer - Stop and destory a timer.
    • Swoole\Server::close - Close a connection to the client.
    • Swoole\Server::confirm - Check status of the connection.
    • Swoole\Server::connection_info - Get the connection info by file description.
    • Swoole\Server::connection_list - Get all of the established connections.
    • Swoole\Server::defer - Delay execution of the callback function at the end of current EventLoop.
    • Swoole\Server::exist - Check if the connection is existed.
    • Swoole\Server::finish - Used in task process for sending result to the worker process when the task is finished.
    • Swoole\Server::getClientInfo - Get the connection info by file description.
    • Swoole\Server::getClientList - Get all of the established connections.
    • Swoole\Server::getLastError - Get the error code of the most recent error.
    • Swoole\Server::heartbeat - Check all the connections on the server.
    • Swoole\Server::listen - Listen on the given IP and port, socket type.
    • Swoole\Server::on - Register a callback function by event name.
    • Swoole\Server::pause - Stop receiving data from the connection.
    • Swoole\Server::protect - Set the connection to be protected mode.
    • Swoole\Server::reload - Restart all the worker process.
    • Swoole\Server::resume - Start receving data from the connection.
    • Swoole\Server::send - Send data to the client.
    • Swoole\Server::sendfile - Send file to the connection.
    • Swoole\Server::sendMessage - Send message to worker processes by ID.
    • Swoole\Server::sendto - Send data to the remote UDP address.
    • Swoole\Server::sendwait - Send data to the remote socket in the blocking way.
    • Swoole\Server::set - Set the runtime settings of the swoole server.
    • Swoole\Server::shutdown - Shutdown the master server process, this function can be called in worker processes.
    • Swoole\Server::start - Start the Swoole server.
    • Swoole\Server::stats - Get the stats of the Swoole server.
    • Swoole\Server::stop - Stop the Swoole server.
    • Swoole\Server::task - Send data to the task worker processes.
    • Swoole\Server::taskwait - Send data to the task worker processes in blocking way.
    • Swoole\Server::taskWaitMulti - Execute multiple tasks concurrently.
    • Swoole\Server::tick - Repeats a given function at every given time-interval.
    • Swoole\Server::__construct - Construct a Swoole server.
    • Swoole\Server\Port::on - Register callback functions by event.
    • Swoole\Server\Port::set - Set protocol of the server port.
    • Swoole\Server\Port::__construct - Construct a server port
    • Swoole\Server\Port::__destruct - Destory server port
    • Swoole\Table::column - Set the data type and size of the columns.
    • Swoole\Table::count - Count the rows in the table, or count all the elements in the table if $mode = 1.
    • Swoole\Table::create - Create the swoole memory table.
    • Swoole\Table::current - Get the current row.
    • Swoole\Table::decr - Decrement the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::del - Delete a row in the Swoole table by $row_key.
    • Swoole\Table::destroy - Destroy the Swoole table.
    • Swoole\Table::exist - Check if a row is existed by $row_key.
    • Swoole\Table::get - Get the value in the Swoole table by $row_key and $column_key.
    • Swoole\Table::incr - Increment the value by $row_key and $column_key.
    • Swoole\Table::key - Get the key of current row.
    • Swoole\Table::next - Iterator the next row.
    • Swoole\Table::rewind - Rewind the iterator.
    • Swoole\Table::set - Update a row of the table by $row_key.
    • Swoole\Table::valid - Check current if the current row is valid.
    • Swoole\Table::__construct - Construct a Swoole memory table with fixed size.
    • Swoole\Timer::after - Trigger a callback function after a period of time.
    • Swoole\Timer::clear - Delete a timer by timer ID.
    • Swoole\Timer::exists - Check if a timer is existed.
    • Swoole\Timer::tick - Repeats a given function at every given time-interval.
    • Swoole\WebSocket\Server::exist - Check if the file descriptor exists.
    • Swoole\WebSocket\Server::on - Register event callback function
    • Swoole\WebSocket\Server::pack - Get a pack of binary data to send in a single frame.
    • Swoole\WebSocket\Server::push - Push data to the remote client.
    • Swoole\WebSocket\Server::unpack - Unpack the binary data received from the client.
    • swoole_async_dns_lookup - Async and non-blocking hostname to IP lookup
    • swoole_async_read - Read file stream asynchronously
    • swoole_async_readfile - Read a file asynchronously
    • swoole_async_set - Update the async I/O options
    • swoole_async_write - Write data to a file stream asynchronously
    • swoole_async_writefile - Write data to a file asynchronously
    • swoole_clear_error - Clear errors in the socket or on the last error code
    • swoole_client_select - Get the file description which are ready to read/write or error
    • swoole_cpu_num - Get the number of CPU
    • swoole_errno - Get the error code of the latest system call
    • swoole_error_log - Output error messages to the log
    • swoole_event_add - Add new callback functions of a socket into the EventLoop
    • swoole_event_defer - Add callback function to the next event loop
    • swoole_event_del - Remove all event callback functions of a socket
    • swoole_event_exit - Exit the eventloop, only available at the client side
    • swoole_event_set - Update the event callback functions of a socket
    • swoole_event_wait - Start the event loop
    • swoole_event_write - Write data to a socket
    • swoole_get_local_ip - Get the IPv4 IP addresses of each NIC on the machine
    • swoole_last_error - Get the lastest error message
    • swoole_load_module - Load a swoole extension
    • swoole_select - Select the file descriptions which are ready to read/write or error in the eventloop
    • swoole_set_process_name - Set the process name
    • swoole_strerror - Convert the Errno into error messages
    • swoole_timer_after - Trigger a one time callback function in the future
    • swoole_timer_exists - Check if a timer callback function is existed
    • swoole_timer_tick - Trigger a timer tick callback function by time interval
    • swoole_version - Get the version of Swoole
    • symlink - Bir sembolik bağ oluşturur
    • SyncEvent::fire - Fires/sets the event
    • SyncEvent::reset - Resets a manual event
    • SyncEvent::wait - Waits for the event to be fired/set
    • SyncEvent::__construct - Constructs a new SyncEvent object
    • SyncMutex::lock - Waits for an exclusive lock
    • SyncMutex::unlock - Unlocks the mutex
    • SyncMutex::__construct - Constructs a new SyncMutex object
    • SyncReaderWriter::readlock - Waits for a read lock
    • SyncReaderWriter::readunlock - Releases a read lock
    • SyncReaderWriter::writelock - Waits for an exclusive write lock
    • SyncReaderWriter::writeunlock - Releases a write lock
    • SyncReaderWriter::__construct - Constructs a new SyncReaderWriter object
    • SyncSemaphore::lock - Decreases the count of the semaphore or waits
    • SyncSemaphore::unlock - Increases the count of the semaphore
    • SyncSemaphore::__construct - Constructs a new SyncSemaphore object
    • SyncSharedMemory::first - Check to see if the object is the first instance system-wide of named shared memory
    • SyncSharedMemory::read - Copy data from named shared memory
    • SyncSharedMemory::size - Returns the size of the named shared memory
    • SyncSharedMemory::write - Copy data to named shared memory
    • SyncSharedMemory::__construct - Constructs a new SyncSharedMemory object
    • syslog - Bir sistem günlüğü iletisi üretir
    • system - Belirtilen harici komutu çalıştırır ve çıktısını gösterir
    • sys_getloadavg - Ortalama sistem yükünü döndürür
    • sys_get_temp_dir - Geçici dosyalar için kullanılan dizini döndürür
  • t
    • Table::count - Get row count
    • Table::delete - Delete rows from table
    • Table::existsInDatabase - Check if table exists in database
    • Table::getName - Get table name
    • Table::getSchema - Get table schema
    • Table::getSession - Get table session
    • Table::insert - Insert table rows
    • Table::isView - Check if table is view
    • Table::select - Select rows from table
    • Table::update - Update rows in table
    • Table::__construct - Table constructor
    • TableDelete::bind - Bind delete query parameters
    • TableDelete::execute - Execute delete query
    • TableDelete::limit - Limit deleted rows
    • TableDelete::orderby - Set delete sort criteria
    • TableDelete::where - Set delete search condition
    • TableDelete::__construct - TableDelete constructor
    • TableInsert::execute - Execute insert query
    • TableInsert::values - Add insert row values
    • TableInsert::__construct - TableInsert constructor
    • TableSelect::bind - Bind select query parameters
    • TableSelect::execute - Execute select statement
    • TableSelect::groupBy - Set select grouping criteria
    • TableSelect::having - Set select having condition
    • TableSelect::limit - Limit selected rows
    • TableSelect::lockExclusive - Execute EXCLUSIVE LOCK
    • TableSelect::lockShared - Execute SHARED LOCK
    • TableSelect::offset - Set limit offset
    • TableSelect::orderby - Set select sort criteria
    • TableSelect::where - Set select search condition
    • TableSelect::__construct - TableSelect constructor
    • TableUpdate::bind - Bind update query parameters
    • TableUpdate::execute - Execute update query
    • TableUpdate::limit - Limit update row count
    • TableUpdate::orderby - Set sorting criteria
    • TableUpdate::set - Add field to be updated
    • TableUpdate::where - Set search filter
    • TableUpdate::__construct - TableUpdate constructor
    • taint - Taint a string
    • tan - Tangent
    • tanh - Hyperbolic tangent
    • tcpwrap_check - Bir tcpwrap sınaması yapar
    • tempnam - Eşsiz bir isimle dosya oluşturur
    • textdomain - Öntanımlı uygulama adını tanımlar
    • Thread::getCreatorId - Identification
    • Thread::getCurrentThread - Identification
    • Thread::getCurrentThreadId - Identification
    • Thread::getThreadId - Identification
    • Thread::isJoined - State Detection
    • Thread::isStarted - State Detection
    • Thread::join - Synchronization
    • Thread::start - Execution
    • Threaded::chunk - Manipulation
    • Threaded::count - Manipulation
    • Threaded::extend - Runtime Manipulation
    • Threaded::isRunning - State Detection
    • Threaded::isTerminated - State Detection
    • Threaded::merge - Manipulation
    • Threaded::notify - Synchronization
    • Threaded::notifyOne - Synchronization
    • Threaded::pop - Manipulation
    • Threaded::run - Execution
    • Threaded::shift - Manipulation
    • Threaded::synchronized - Synchronization
    • Threaded::wait - Synchronization
    • Throwable::getCode - İstisna numarasını döndürür
    • Throwable::getFile - Nesnenin oluşturulduğu dosyanın ismini döndürür
    • Throwable::getLine - Nesnenin örneklendiği satır numarasını döndürür
    • Throwable::getMessage - İleti döndürür
    • Throwable::getPrevious - Önceki Throwable sınıfıyla döner
    • Throwable::getTrace - Yığıt izini döndürür
    • Throwable::getTraceAsString - Yığıt izini bir dize olarak döndürür
    • Throwable::__toString - Yavrulanan nesnenin dize gösterimini döndürür
    • tidy::$errorBuffer - Belge çözümlenirken oluşan uyarıları ve hataları döndür
    • tidy::body - Çözümleme ağacının <body> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::cleanRepair - Çözümlenen imlenim üzerinde bakım ve onarım yapar
    • tidy::diagnose - Çözümlenen veya onarılan imlenim üzerinde tanılama yapar
    • tidy::getConfig - Geçerli Tidy yapılandırmasını döndürür
    • tidy::getHtmlVer - Belgenin algılanan HTML sürümünü döndürür
    • tidy::getOpt - Belirtilen yapılandırma seçeneğinin değerini döndürür
    • tidy::getOptDoc - Belirtilen seçenekle ilgili belgeyi döndürür
    • tidy::getRelease - Tidy kütüphanesinin dağıtım tarihini döndürür
    • tidy::getStatus - Belgenin durumunu döndürür
    • tidy::head - Çözümleme ağacının <head> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::html - Çözümleme ağacının <html> etiketiyle başlayan tidyNode nesnesini döndürür
    • tidy::isXhtml - Belge bir XHTML belge mi diye bakar
    • tidy::isXml - Belge salt bir XML (HTML/XHTML değil) belge mi diye bakar
    • tidy::parseFile - Belirtilen URI veya dosyadaki imlenimi çözümler
    • tidy::parseString - Bir dizge olarak belirtilen bir belgeyi çözümler
    • tidy::repairFile - Bir dosyayı onarıp bir dizge olarak döndürür
    • tidy::repairString - Seçimlik bir yapılandırma dosyasını kullanarak bir dizgeyi onarır
    • tidy::root - Çözümleme ağacının kökünü temsil eden bir tidyNode nesnesi döndürür
    • tidy::__construct - Yeni bir tidy nesnesi oluşturur
    • tidyNode::getParent - Geçerli düğümün ebeveynini döndürür
    • tidyNode::hasChildren - Düğümün çocukları olup olmadığına bakar
    • tidyNode::hasSiblings - Düğümün kardeşleri olup olmadığına bakar
    • tidyNode::isAsp - Düğümün bir ASP düğümü olup olmadığına bakar
    • tidyNode::isComment - Düğüm bir açıklama düğümü mü diye bakar
    • tidyNode::isHtml - Düğümün bir eleman düğümü olup olmadığına bakar
    • tidyNode::isJste - Düğümün bir JSTE düğümü olup olmadığına bakar
    • tidyNode::isPhp - Düğümün bir PHP düğümü olup olmadığına bakar
    • tidyNode::isText - Düğümün bir metin düğümü olup olmadığına bakar
    • tidyNode::__construct - Doğrudan örneklemeyi engellemek için özel kurucu
    • tidy_access_count - Belgede saptanan Tidy erişilebilirlik uyarılarının sayısını döndürür
    • tidy_config_count - Belgede saptanan Tidy yapılandırma hatalarının sayısını döndürür
    • tidy_error_count - Belgede saptanan Tidy hatalarının sayısını döndürür
    • tidy_get_output - Çözümlenen Tidy imlenimini bir dizge olarak döndürür
    • tidy_warning_count - Belgede saptanan Tidy uyarılarının sayısını döndürür
    • time - Geçerli Unix zaman damgasını döndürür
    • timezone_abbreviations_list - DateTimeZone::listAbbreviations işlevinin takma adıdır
    • timezone_identifiers_list - DateTimeZone::listIdentifiers işlevinin takma adıdır
    • timezone_location_get - DateTimeZone::getLocation işlevinin takma adıdır
    • timezone_name_from_abbr - Kısaltmasından ve UTC farkından tahminen zaman diliminin adını döndürür
    • timezone_name_get - DateTimeZone::getName işlevinin takma adıdır
    • timezone_offset_get - DateTimeZone::getOffset işlevinin takma adıdır
    • timezone_open - DateTimeZone::__construct için takma ad
    • timezone_transitions_get - DateTimeZone::getTransitions işlevinin takma adıdır
    • timezone_version_get - timezonedb sürümünü döndürür
    • time_nanosleep - Çalışmayı saniye ve nanosaniye cinsinden geciktirir
    • time_sleep_until - Belirtilen zamana kadar betiği uyutur
    • tmpfile - Geçici bir dosya oluşturur
    • token_get_all - Belirtilen kaynağı PHP dizgeciklerine ayırır
    • token_name - Belirtilen PHP dizgeciğinin simgesel ismini döndürür
    • touch - Dosyanın erişim ve değişiklik zamanını ayarlar
    • trader_acos - Vector Trigonometric ACos
    • trader_ad - Chaikin A/D Line
    • trader_add - Vector Arithmetic Add
    • trader_adosc - Chaikin A/D Oscillator
    • trader_adx - Average Directional Movement Index
    • trader_adxr - Average Directional Movement Index Rating
    • trader_apo - Absolute Price Oscillator
    • trader_aroon - Aroon
    • trader_aroonosc - Aroon Oscillator
    • trader_asin - Vector Trigonometric ASin
    • trader_atan - Vector Trigonometric ATan
    • trader_atr - Average True Range
    • trader_avgprice - Average Price
    • trader_bbands - Bollinger Bands
    • trader_beta - Beta
    • trader_bop - Balance Of Power
    • trader_cci - Commodity Channel Index
    • trader_cdl2crows - Two Crows
    • trader_cdl3blackcrows - Three Black Crows
    • trader_cdl3inside - Three Inside Up/Down
    • trader_cdl3linestrike - Three-Line Strike
    • trader_cdl3outside - Three Outside Up/Down
    • trader_cdl3starsinsouth - Three Stars In The South
    • trader_cdl3whitesoldiers - Three Advancing White Soldiers
    • trader_cdlabandonedbaby - Abandoned Baby
    • trader_cdladvanceblock - Advance Block
    • trader_cdlbelthold - Belt-hold
    • trader_cdlbreakaway - Breakaway
    • trader_cdlclosingmarubozu - Closing Marubozu
    • trader_cdlconcealbabyswall - Concealing Baby Swallow
    • trader_cdlcounterattack - Counterattack
    • trader_cdldarkcloudcover - Dark Cloud Cover
    • trader_cdldoji - Doji
    • trader_cdldojistar - Doji Star
    • trader_cdldragonflydoji - Dragonfly Doji
    • trader_cdlengulfing - Engulfing Pattern
    • trader_cdleveningdojistar - Evening Doji Star
    • trader_cdleveningstar - Evening Star
    • trader_cdlgapsidesidewhite - Up/Down-gap side-by-side white lines
    • trader_cdlgravestonedoji - Gravestone Doji
    • trader_cdlhammer - Hammer
    • trader_cdlhangingman - Hanging Man
    • trader_cdlharami - Harami Pattern
    • trader_cdlharamicross - Harami Cross Pattern
    • trader_cdlhighwave - High-Wave Candle
    • trader_cdlhikkake - Hikkake Pattern
    • trader_cdlhikkakemod - Modified Hikkake Pattern
    • trader_cdlhomingpigeon - Homing Pigeon
    • trader_cdlidentical3crows - Identical Three Crows
    • trader_cdlinneck - In-Neck Pattern
    • trader_cdlinvertedhammer - Inverted Hammer
    • trader_cdlkicking - Kicking
    • trader_cdlkickingbylength - Kicking - bull/bear determined by the longer marubozu
    • trader_cdlladderbottom - Ladder Bottom
    • trader_cdllongleggeddoji - Long Legged Doji
    • trader_cdllongline - Long Line Candle
    • trader_cdlmarubozu - Marubozu
    • trader_cdlmatchinglow - Matching Low
    • trader_cdlmathold - Mat Hold
    • trader_cdlmorningdojistar - Morning Doji Star
    • trader_cdlmorningstar - Morning Star
    • trader_cdlonneck - On-Neck Pattern
    • trader_cdlpiercing - Piercing Pattern
    • trader_cdlrickshawman - Rickshaw Man
    • trader_cdlrisefall3methods - Rising/Falling Three Methods
    • trader_cdlseparatinglines - Separating Lines
    • trader_cdlshootingstar - Shooting Star
    • trader_cdlshortline - Short Line Candle
    • trader_cdlspinningtop - Spinning Top
    • trader_cdlstalledpattern - Stalled Pattern
    • trader_cdlsticksandwich - Stick Sandwich
    • trader_cdltakuri - Takuri (Dragonfly Doji with very long lower shadow)
    • trader_cdltasukigap - Tasuki Gap
    • trader_cdlthrusting - Thrusting Pattern
    • trader_cdltristar - Tristar Pattern
    • trader_cdlunique3river - Unique 3 River
    • trader_cdlupsidegap2crows - Upside Gap Two Crows
    • trader_cdlxsidegap3methods - Upside/Downside Gap Three Methods
    • trader_ceil - Vector Ceil
    • trader_cmo - Chande Momentum Oscillator
    • trader_correl - Pearson's Correlation Coefficient (r)
    • trader_cos - Vector Trigonometric Cos
    • trader_cosh - Vector Trigonometric Cosh
    • trader_dema - Double Exponential Moving Average
    • trader_div - Vector Arithmetic Div
    • trader_dx - Directional Movement Index
    • trader_ema - Exponential Moving Average
    • trader_errno - Get error code
    • trader_exp - Vector Arithmetic Exp
    • trader_floor - Vector Floor
    • trader_get_compat - Get compatibility mode
    • trader_get_unstable_period - Get unstable period
    • trader_ht_dcperiod - Hilbert Transform - Dominant Cycle Period
    • trader_ht_dcphase - Hilbert Transform - Dominant Cycle Phase
    • trader_ht_phasor - Hilbert Transform - Phasor Components
    • trader_ht_sine - Hilbert Transform - SineWave
    • trader_ht_trendline - Hilbert Transform - Instantaneous Trendline
    • trader_ht_trendmode - Hilbert Transform - Trend vs Cycle Mode
    • trader_kama - Kaufman Adaptive Moving Average
    • trader_linearreg - Linear Regression
    • trader_linearreg_angle - Linear Regression Angle
    • trader_linearreg_intercept - Linear Regression Intercept
    • trader_linearreg_slope - Linear Regression Slope
    • trader_ln - Vector Log Natural
    • trader_log10 - Vector Log10
    • trader_ma - Moving average
    • trader_macd - Moving Average Convergence/Divergence
    • trader_macdext - MACD with controllable MA type
    • trader_macdfix - Moving Average Convergence/Divergence Fix 12/26
    • trader_mama - MESA Adaptive Moving Average
    • trader_mavp - Moving average with variable period
    • trader_max - Highest value over a specified period
    • trader_maxindex - Index of highest value over a specified period
    • trader_medprice - Median Price
    • trader_mfi - Money Flow Index
    • trader_midpoint - MidPoint over period
    • trader_midprice - Midpoint Price over period
    • trader_min - Lowest value over a specified period
    • trader_minindex - Index of lowest value over a specified period
    • trader_minmax - Lowest and highest values over a specified period
    • trader_minmaxindex - Indexes of lowest and highest values over a specified period
    • trader_minus_di - Minus Directional Indicator
    • trader_minus_dm - Minus Directional Movement
    • trader_mom - Momentum
    • trader_mult - Vector Arithmetic Mult
    • trader_natr - Normalized Average True Range
    • trader_obv - On Balance Volume
    • trader_plus_di - Plus Directional Indicator
    • trader_plus_dm - Plus Directional Movement
    • trader_ppo - Percentage Price Oscillator
    • trader_roc - Rate of change : ((price/prevPrice)-1)*100
    • trader_rocp - Rate of change Percentage: (price-prevPrice)/prevPrice
    • trader_rocr - Rate of change ratio: (price/prevPrice)
    • trader_rocr100 - Rate of change ratio 100 scale: (price/prevPrice)*100
    • trader_rsi - Relative Strength Index
    • trader_sar - Parabolic SAR
    • trader_sarext - Parabolic SAR - Extended
    • trader_set_compat - Set compatibility mode
    • trader_set_unstable_period - Set unstable period
    • trader_sin - Vector Trigonometric Sin
    • trader_sinh - Vector Trigonometric Sinh
    • trader_sma - Simple Moving Average
    • trader_sqrt - Vector Square Root
    • trader_stddev - Standard Deviation
    • trader_stoch - Stochastic
    • trader_stochf - Stochastic Fast
    • trader_stochrsi - Stochastic Relative Strength Index
    • trader_sub - Vector Arithmetic Subtraction
    • trader_sum - Summation
    • trader_t3 - Triple Exponential Moving Average (T3)
    • trader_tan - Vector Trigonometric Tan
    • trader_tanh - Vector Trigonometric Tanh
    • trader_tema - Triple Exponential Moving Average
    • trader_trange - True Range
    • trader_trima - Triangular Moving Average
    • trader_trix - 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
    • trader_tsf - Time Series Forecast
    • trader_typprice - Typical Price
    • trader_ultosc - Ultimate Oscillator
    • trader_var - Variance
    • trader_wclprice - Weighted Close Price
    • trader_willr - Williams' %R
    • trader_wma - Weighted Moving Average
    • trait_exists - Niteliğin mevcudiyetine bakar
    • Transliterator::create - Create a transliterator
    • Transliterator::createFromRules - Create transliterator from rules
    • Transliterator::createInverse - Create an inverse transliterator
    • Transliterator::getErrorCode - Get last error code
    • Transliterator::getErrorMessage - Get last error message
    • Transliterator::listIDs - Get transliterator IDs
    • Transliterator::transliterate - Transliterate a string
    • Transliterator::__construct - Private constructor to deny instantiation
    • trigger_error - Kullanıcı seviyesinde bir hata/uyarı/bilgi iletisi üretir
    • trim - Dizgenin başındaki ve sonundaki boşlukları (veya diğer karakterleri) budar
  • u
    • uasort - Bir diziyi kullanıcı tanımlı bir işlev kullanarak indislerine göre sıralarken anahtar/değer ilişkisini korur
    • ucfirst - Dizgenin ilk karakterini büyük harfe çevirir
    • UConverter::convert - Convert string from one charset to another
    • UConverter::fromUCallback - Default "from" callback function
    • UConverter::getAliases - Get the aliases of the given name
    • UConverter::getAvailable - Get the available canonical converter names
    • UConverter::getDestinationEncoding - Get the destination encoding
    • UConverter::getDestinationType - Get the destination converter type
    • UConverter::getErrorCode - Get last error code on the object
    • UConverter::getErrorMessage - Get last error message on the object
    • UConverter::getSourceEncoding - Get the source encoding
    • UConverter::getSourceType - Get the source converter type
    • UConverter::getStandards - Get standards associated to converter names
    • UConverter::getSubstChars - Get substitution chars
    • UConverter::reasonText - Get string representation of the callback reason
    • UConverter::setDestinationEncoding - Set the destination encoding
    • UConverter::setSourceEncoding - Set the source encoding
    • UConverter::setSubstChars - Set the substitution chars
    • UConverter::toUCallback - Default "to" callback function
    • UConverter::transcode - Convert a string from one character encoding to another
    • UConverter::__construct - Create UConverter object
    • ucwords - Dizgedeki her sözcüğün ilk harfini büyük harf yapar
    • UI\Area::onDraw - Draw Callback
    • UI\Area::onKey - Key Callback
    • UI\Area::onMouse - Mouse Callback
    • UI\Area::redraw - Redraw Area
    • UI\Area::scrollTo - Area Scroll
    • UI\Area::setSize - Set Size
    • UI\Control::destroy - Destroy Control
    • UI\Control::disable - Disable Control
    • UI\Control::enable - Enable Control
    • UI\Control::getParent - Get Parent Control
    • UI\Control::getTopLevel - Get Top Level
    • UI\Control::hide - Hide Control
    • UI\Control::isEnabled - Determine if Control is enabled
    • UI\Control::isVisible - Determine if Control is visible
    • UI\Control::setParent - Set Parent Control
    • UI\Control::show - Control Show
    • UI\Controls\Box::append - Append Control
    • UI\Controls\Box::delete - Delete Control
    • UI\Controls\Box::getOrientation - Get Orientation
    • UI\Controls\Box::isPadded - Padding Detection
    • UI\Controls\Box::setPadded - Set Padding
    • UI\Controls\Box::__construct - Construct a new Box
    • UI\Controls\Button::getText - Get Text
    • UI\Controls\Button::onClick - Click Handler
    • UI\Controls\Button::setText - Set Text
    • UI\Controls\Button::__construct - Construct a new Button
    • UI\Controls\Check::getText - Get Text
    • UI\Controls\Check::isChecked - Checked Detection
    • UI\Controls\Check::onToggle - Toggle Callback
    • UI\Controls\Check::setChecked - Set Checked
    • UI\Controls\Check::setText - Set Text
    • UI\Controls\Check::__construct - Construct a new Check
    • UI\Controls\ColorButton::getColor - Get Color
    • UI\Controls\ColorButton::onChange - Change Handler
    • UI\Controls\ColorButton::setColor - Set Color
    • UI\Controls\Combo::append - Append Option
    • UI\Controls\Combo::getSelected - Get Selected Option
    • UI\Controls\Combo::onSelected - Selected Handler
    • UI\Controls\Combo::setSelected - Set Selected Option
    • UI\Controls\EditableCombo::append - Append Option
    • UI\Controls\EditableCombo::getText - Get Text
    • UI\Controls\EditableCombo::onChange - Change Handler
    • UI\Controls\EditableCombo::setText - Set Text
    • UI\Controls\Entry::getText - Get Text
    • UI\Controls\Entry::isReadOnly - Detect Read Only
    • UI\Controls\Entry::onChange - Change Handler
    • UI\Controls\Entry::setReadOnly - Set Read Only
    • UI\Controls\Entry::setText - Set Text
    • UI\Controls\Entry::__construct - Construct a new Entry
    • UI\Controls\Form::append - Append Control
    • UI\Controls\Form::delete - Delete Control
    • UI\Controls\Form::isPadded - Padding Detection
    • UI\Controls\Form::setPadded - Set Padding
    • UI\Controls\Grid::append - Append Control
    • UI\Controls\Grid::isPadded - Padding Detection
    • UI\Controls\Grid::setPadded - Set Padding
    • UI\Controls\Group::append - Append Control
    • UI\Controls\Group::getTitle - Get Title
    • UI\Controls\Group::hasMargin - Margin Detection
    • UI\Controls\Group::setMargin - Set Margin
    • UI\Controls\Group::setTitle - Set Title
    • UI\Controls\Group::__construct - Construct a new Group
    • UI\Controls\Label::getText - Get Text
    • UI\Controls\Label::setText - Set Text
    • UI\Controls\Label::__construct - Construct a new Label
    • UI\Controls\MultilineEntry::append - Append Text
    • UI\Controls\MultilineEntry::getText - Get Text
    • UI\Controls\MultilineEntry::isReadOnly - Read Only Detection
    • UI\Controls\MultilineEntry::onChange - Change Handler
    • UI\Controls\MultilineEntry::setReadOnly - Set Read Only
    • UI\Controls\MultilineEntry::setText - Set Text
    • UI\Controls\MultilineEntry::__construct - Construct a new Multiline Entry
    • UI\Controls\Picker::__construct - Construct a new Picker
    • UI\Controls\Progress::getValue - Get Value
    • UI\Controls\Progress::setValue - Set Value
    • UI\Controls\Radio::append - Append Option
    • UI\Controls\Radio::getSelected - Get Selected Option
    • UI\Controls\Radio::onSelected - Selected Handler
    • UI\Controls\Radio::setSelected - Set Selected Option
    • UI\Controls\Separator::__construct - Construct a new Separator
    • UI\Controls\Slider::getValue - Get Value
    • UI\Controls\Slider::onChange - Change Handler
    • UI\Controls\Slider::setValue - Set Value
    • UI\Controls\Slider::__construct - Construct a new Slider
    • UI\Controls\Spin::getValue - Get Value
    • UI\Controls\Spin::onChange - Change Handler
    • UI\Controls\Spin::setValue - Set Value
    • UI\Controls\Spin::__construct - Construct a new Spin
    • UI\Controls\Tab::append - Append Page
    • UI\Controls\Tab::delete - Delete Page
    • UI\Controls\Tab::hasMargin - Margin Detection
    • UI\Controls\Tab::insertAt - Insert Page
    • UI\Controls\Tab::pages - Page Count
    • UI\Controls\Tab::setMargin - Set Margin
    • UI\Draw\Brush::getColor - Get Color
    • UI\Draw\Brush::setColor - Set Color
    • UI\Draw\Brush::__construct - Construct a new Brush
    • UI\Draw\Brush\Gradient::addStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::delStop - Stop Manipulation
    • UI\Draw\Brush\Gradient::setStop - Stop Manipulation
    • UI\Draw\Brush\LinearGradient::__construct - Construct a Linear Gradient
    • UI\Draw\Brush\RadialGradient::__construct - Construct a new Radial Gradient
    • UI\Draw\Color::getChannel - Color Manipulation
    • UI\Draw\Color::setChannel - Color Manipulation
    • UI\Draw\Color::__construct - Construct new Color
    • UI\Draw\Matrix::invert - Invert Matrix
    • UI\Draw\Matrix::isInvertible - Invertible Detection
    • UI\Draw\Matrix::multiply - Multiply Matrix
    • UI\Draw\Matrix::rotate - Rotate Matrix
    • UI\Draw\Matrix::scale - Scale Matrix
    • UI\Draw\Matrix::skew - Skew Matrix
    • UI\Draw\Matrix::translate - Translate Matrix
    • UI\Draw\Path::addRectangle - Draw a Rectangle
    • UI\Draw\Path::arcTo - Draw an Arc
    • UI\Draw\Path::bezierTo - Draw Bezier Curve
    • UI\Draw\Path::closeFigure - Close Figure
    • UI\Draw\Path::end - Finalize Path
    • UI\Draw\Path::lineTo - Draw a Line
    • UI\Draw\Path::newFigure - Draw Figure
    • UI\Draw\Path::newFigureWithArc - Draw Figure with Arc
    • UI\Draw\Path::__construct - Construct a new Path
    • UI\Draw\Pen::clip - Clip a Path
    • UI\Draw\Pen::fill - Fill a Path
    • UI\Draw\Pen::restore - Restore
    • UI\Draw\Pen::save - Save
    • UI\Draw\Pen::stroke - Stroke a Path
    • UI\Draw\Pen::transform - Matrix Transform
    • UI\Draw\Pen::write - Draw Text at Point
    • UI\Draw\Stroke::getCap - Get Line Cap
    • UI\Draw\Stroke::getJoin - Get Line Join
    • UI\Draw\Stroke::getMiterLimit - Get Miter Limit
    • UI\Draw\Stroke::getThickness - Get Thickness
    • UI\Draw\Stroke::setCap - Set Line Cap
    • UI\Draw\Stroke::setJoin - Set Line Join
    • UI\Draw\Stroke::setMiterLimit - Set Miter Limit
    • UI\Draw\Stroke::setThickness - Set Thickness
    • UI\Draw\Stroke::__construct - Construct a new Stroke
    • UI\Draw\Text\Font::getAscent - Font Metrics
    • UI\Draw\Text\Font::getDescent - Font Metrics
    • UI\Draw\Text\Font::getLeading - Font Metrics
    • UI\Draw\Text\Font::getUnderlinePosition - Font Metrics
    • UI\Draw\Text\Font::getUnderlineThickness - Font Metrics
    • UI\Draw\Text\Font::__construct - Construct a new Font
    • UI\Draw\Text\Font\Descriptor::getFamily - Get Font Family
    • UI\Draw\Text\Font\Descriptor::getItalic - Style Detection
    • UI\Draw\Text\Font\Descriptor::getSize - Size Detection
    • UI\Draw\Text\Font\Descriptor::getStretch - Style Detection
    • UI\Draw\Text\Font\Descriptor::getWeight - Weight Detection
    • UI\Draw\Text\Font\Descriptor::__construct - Construct a new Font Descriptor
    • UI\Draw\Text\Font\fontFamilies - Retrieve Font Families
    • UI\Draw\Text\Layout::setColor - Set Color
    • UI\Draw\Text\Layout::setWidth - Set Width
    • UI\Draw\Text\Layout::__construct - Construct a new Text Layout
    • UI\Executor::kill - Stop Executor
    • UI\Executor::onExecute - Execution Callback
    • UI\Executor::setInterval - Interval Manipulation
    • UI\Executor::__construct - Construct a new Executor
    • UI\Menu::append - Append Menu Item
    • UI\Menu::appendAbout - Append About Menu Item
    • UI\Menu::appendCheck - Append Checkable Menu Item
    • UI\Menu::appendPreferences - Append Preferences Menu Item
    • UI\Menu::appendQuit - Append Quit Menu Item
    • UI\Menu::appendSeparator - Append Menu Item Separator
    • UI\Menu::__construct - Construct a new Menu
    • UI\MenuItem::disable - Disable Menu Item
    • UI\MenuItem::enable - Enable Menu Item
    • UI\MenuItem::isChecked - Detect Checked
    • UI\MenuItem::onClick - On Click Callback
    • UI\MenuItem::setChecked - Set Checked
    • UI\Point::at - Size Coercion
    • UI\Point::getX - Retrieves X
    • UI\Point::getY - Retrieves Y
    • UI\Point::setX - Set X
    • UI\Point::setY - Set Y
    • UI\Point::__construct - Construct a new Point
    • UI\quit - Quit UI Loop
    • UI\run - Enter UI Loop
    • UI\Size::getHeight - Retrieves Height
    • UI\Size::getWidth - Retrives Width
    • UI\Size::of - Point Coercion
    • UI\Size::setHeight - Set Height
    • UI\Size::setWidth - Set Width
    • UI\Size::__construct - Construct a new Size
    • UI\Window::add - Add a Control
    • UI\Window::error - Show Error Box
    • UI\Window::getSize - Get Window Size
    • UI\Window::getTitle - Get Title
    • UI\Window::hasBorders - Border Detection
    • UI\Window::hasMargin - Margin Detection
    • UI\Window::isFullScreen - Full Screen Detection
    • UI\Window::msg - Show Message Box
    • UI\Window::onClosing - Closing Callback
    • UI\Window::open - Open Dialog
    • UI\Window::save - Save Dialog
    • UI\Window::setBorders - Border Use
    • UI\Window::setFullScreen - Full Screen Use
    • UI\Window::setMargin - Margin Use
    • UI\Window::setSize - Set Size
    • UI\Window::setTitle - Window Title
    • UI\Window::__construct - Construct a new Window
    • uksort - Bir diziyi kullanıcı tanımlı bir işlev kullanarak anahtarlarına göre sıralar
    • umask - Geçerli izin maskesini değiştirir
    • uniqid - Eşsiz bir kimlik dizgesi üretir
    • UnitEnum::cases - Bir sayılamadan kılıf listesi oluşturur
    • unixtojd - Unix zaman damgasını, Jülyen Gün Sayısına çevirir
    • unlink - Bir dosyayı siler
    • unpack - Paketlenmiş bir ikil dizgeden verileri ayrıştırır
    • unregister_tick_function - Her tikte çalıştırılacak işlevi tanımsız yapar
    • unserialize - Bir PHP değerini saklanmış gösteriminden oluşturur
    • unset - Belirtilen değişkeni bildirimsiz yapar
    • untaint - Untaint strings
    • uopz_add_function - Adds non-existent function or method
    • uopz_allow_exit - Allows control over disabled exit opcode
    • uopz_backup - Backup a function
    • uopz_compose - Compose a class
    • uopz_copy - Copy a function
    • uopz_delete - Delete a function
    • uopz_del_function - Deletes previously added function or method
    • uopz_extend - Extend a class at runtime
    • uopz_flags - Get or set flags on function or class
    • uopz_function - Creates a function at runtime
    • uopz_get_exit_status - Retrieve the last set exit status
    • uopz_get_hook - Gets previously set hook on function or method
    • uopz_get_mock - Get the current mock for a class
    • uopz_get_property - Gets value of class or instance property
    • uopz_get_return - Gets a previous set return value for a function
    • uopz_get_static - Gets the static variables from function or method scope
    • uopz_implement - Implements an interface at runtime
    • uopz_overload - Overload a VM opcode
    • uopz_redefine - Redefine a constant
    • uopz_rename - Rename a function at runtime
    • uopz_restore - Restore a previously backed up function
    • uopz_set_hook - Sets hook to execute when entering a function or method
    • uopz_set_mock - Use mock instead of class for new objects
    • uopz_set_property - Sets value of existing class or instance property
    • uopz_set_return - Provide a return value for an existing function
    • uopz_set_static - Sets the static variables in function or method scope
    • uopz_undefine - Undefine a constant
    • uopz_unset_hook - Removes previously set hook on function or method
    • uopz_unset_mock - Unset previously set mock
    • uopz_unset_return - Unsets a previously set return value for a function
    • urldecode - URL kodlamalı dizgenin kodlamasını çözer
    • urlencode - Dizgeye URL kodlaması uygular
    • user_error - trigger_error işlevinin takma adıdır
    • use_soap_error_handler - Set whether to use the SOAP error handler
    • usleep - Çalışmayı mikrosaniye cinsinden geciktirir
    • usort - Bir diziyi kullanıcı tanımlı bir işlev kullanarak değerlerine göre sıralar
    • utf8_decode - Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür
    • utf8_encode - ISO-8859-1 dizgeyi UTF-8'e dönüştürür
  • v
    • V8Js::executeString - Execute a string as Javascript code
    • V8Js::getExtensions - Return an array of registered extensions
    • V8Js::getPendingException - Return pending uncaught Javascript exception
    • V8Js::registerExtension - Register Javascript extensions for V8Js
    • V8Js::__construct - Construct a new V8Js object
    • V8JsException::getJsFileName - The getJsFileName purpose
    • V8JsException::getJsLineNumber - The getJsLineNumber purpose
    • V8JsException::getJsSourceLine - The getJsSourceLine purpose
    • V8JsException::getJsTrace - The getJsTrace purpose
    • variant::__construct - variant nesnesi oluşturur
    • variant_abs - Bir değerin mutlak değerini döndürür
    • variant_add - İki varyant değeri birleştirir ve sonucu geri döndürür
    • variant_and - İki varyant üzerinde ikilik VE işlemi yapar
    • variant_cast - Varyantı başka türde bir varyant nesneye dönüştürür
    • variant_cat - İki varyant değeri birleştirir ve sonucu geri döndürür
    • variant_cmp - İki varyant değerini karşılaştırır
    • variant_date_from_timestamp - Unix zaman damgasının varyant tarih gösterimini döndürür
    • variant_date_to_timestamp - Varyant tarih/zaman değerini Unix zaman damgasına çevirir
    • variant_div - İki varyant değerin bölme sonucunu döndürür
    • variant_eqv - İki varyant arasında ikilik denklik karşılaştırması yapar
    • variant_fix - Varyantın tamsayı kısmını geri döndürür
    • variant_get_type - Varyant nesnenin türünü geri döndürür
    • variant_idiv - Varyant değerleri tamsayıya çevirir ve bölme yaparak sonucu döndürür
    • variant_imp - İki varyant üzerinde ikilik çıkarım yapar
    • variant_int - Değerin tamsayı kısmını döndürür
    • variant_mod - İki varyantın bölme işleminden kalanı geri döndürür
    • variant_mul - İki varyant değerleri için çarpma işlemi yapar
    • variant_neg - Bir değer üzerinde mantıksal değil işlemi yapar
    • variant_not - Bir varyant üzerinde ikilik değil işlemi yapar
    • variant_or - İki varyant üzerinde mantıksal ayırma işlemi yapar
    • variant_pow - Üs alma işlemi yaparak sonucu döndürür
    • variant_round - Bir varyantı verilen ondalık basamağa yuvarlar
    • variant_set - Varyant nesnesine yeni bir değer verir
    • variant_set_type - Varyantı başka bir türe "yerinde" dönüştürür
    • variant_sub - Sağ varyant değerini sol varyant değerinden çıkartır
    • variant_xor - İki varyant arasında mantıksal çıkarma yapar
    • VarnishAdmin::auth - Authenticate on a varnish instance
    • VarnishAdmin::ban - Ban URLs using a VCL expression
    • VarnishAdmin::banUrl - Ban an URL using a VCL expression
    • VarnishAdmin::clearPanic - Clear varnish instance panic messages
    • VarnishAdmin::connect - Connect to a varnish instance administration interface
    • VarnishAdmin::disconnect - Disconnect from a varnish instance administration interface
    • VarnishAdmin::getPanic - Get the last panic message on a varnish instance
    • VarnishAdmin::getParams - Fetch current varnish instance configuration parameters
    • VarnishAdmin::isRunning - Check if the varnish slave process is currently running
    • VarnishAdmin::setCompat - Set the class compat configuration param
    • VarnishAdmin::setHost - Set the class host configuration param
    • VarnishAdmin::setIdent - Set the class ident configuration param
    • VarnishAdmin::setParam - Set configuration param on the current varnish instance
    • VarnishAdmin::setPort - Set the class port configuration param
    • VarnishAdmin::setSecret - Set the class secret configuration param
    • VarnishAdmin::setTimeout - Set the class timeout configuration param
    • VarnishAdmin::start - Start varnish worker process
    • VarnishAdmin::stop - Stop varnish worker process
    • VarnishAdmin::__construct - VarnishAdmin constructor
    • VarnishLog::getLine - Get next log line
    • VarnishLog::getTagName - Get the log tag string representation by its index
    • VarnishLog::__construct - Varnishlog constructor
    • VarnishStat::getSnapshot - Get the current varnish instance statistics snapshot
    • VarnishStat::__construct - VarnishStat constructor
    • var_dump - Bir değişkenle ilgili bilgiyi dökümler
    • var_export - Bir değişkenin çözümlenebilir dizge gösterimini döndürür veya çıktılar
    • var_representation - Returns a short, readable, parsable string representation of a variable
    • version_compare - PHP standardına uygun hale getirilmiş iki sürüm numarası dizgesini karşılaştırır
    • vfprintf - Biçemli dizgeyi bir akıma yazar
    • virtual - Bir Apache alt isteği gerçekleştirir
    • vprintf - Biçemli bir dizge çıktılar
    • vsprintf - Biçemli bir dizge döndürür
    • Vtiful\Kernel\Excel::addSheet - Vtiful\Kernel\Excel addSheet
    • Vtiful\Kernel\Excel::autoFilter - Vtiful\Kernel\Excel autoFilter
    • Vtiful\Kernel\Excel::constMemory - Vtiful\Kernel\Excel constMemory
    • Vtiful\Kernel\Excel::data - Vtiful\Kernel\Excel data
    • Vtiful\Kernel\Excel::fileName - Vtiful\Kernel\Excel fileName
    • Vtiful\Kernel\Excel::getHandle - Vtiful\Kernel\Excel getHandle
    • Vtiful\Kernel\Excel::header - Vtiful\Kernel\Excel header
    • Vtiful\Kernel\Excel::insertFormula - Vtiful\Kernel\Excel insertFormula
    • Vtiful\Kernel\Excel::insertImage - Vtiful\Kernel\Excel insertImage
    • Vtiful\Kernel\Excel::insertText - Vtiful\Kernel\Excel insertText
    • Vtiful\Kernel\Excel::mergeCells - Vtiful\Kernel\Excel mergeCells
    • Vtiful\Kernel\Excel::output - Vtiful\Kernel\Excel output
    • Vtiful\Kernel\Excel::setColumn - Vtiful\Kernel\Excel setColumn
    • Vtiful\Kernel\Excel::setRow - Vtiful\Kernel\Excel setRow
    • Vtiful\Kernel\Excel::__construct - Vtiful\Kernel\Excel constructor
    • Vtiful\Kernel\Format::align - Vtiful\Kernel\Format align
    • Vtiful\Kernel\Format::bold - Vtiful\Kernel\Format bold
    • Vtiful\Kernel\Format::italic - Vtiful\Kernel\Format italic
    • Vtiful\Kernel\Format::underline - Vtiful\Kernel\Format underline
  • w
    • Warning::__construct - Warning constructor
    • wddx_add_vars - Tanıtıcısı belirtilen WDDX paketine değişken ekler
    • wddx_deserialize - WDDX paketini nesneleştirir
    • wddx_packet_end - Tanıtıcısı belirtilen WDDX paketini kapatır
    • wddx_packet_start - Bir veri yapısı içeren yeni bir WDDX paketi başlatır
    • wddx_serialize_value - Tek bir değeri bir WDDX paketi içinde dizgeleştirir
    • wddx_serialize_vars - Değişkenleri bir WDDX paketi olarak dizgeleştirir
    • WeakMap::count - Haritadaki canlı girdileri sayar
    • WeakMap::getIterator - Harici bir yineleyici ile döner
    • WeakMap::offsetExists - Haritada belli bir nesnenin varlığına bakar
    • WeakMap::offsetGet - Belirli bir nesnenin işaret ettiği değeri verir
    • WeakMap::offsetSet - Yeni bir anahtar-değer çiftiyle haritayı günceller
    • WeakMap::offsetUnset - Haritadan bir girdiyi siler
    • WeakReference::create - Yeni bir zayıf gönderim oluşturur
    • WeakReference::get - Zayıf gönderimli bir nesne döndürür
    • WeakReference::__construct - Örneklemeye izin vermeyen kurucu
    • win32_continue_service - Resumes a paused service
    • win32_create_service - Hizmet yönetim veritabanında yeni bir hizmet girdisi oluşturur
    • win32_delete_service - Bir hizmet girdisini Hizmet yönetim veritabanından siler
    • win32_get_last_control_message - Hizmete gönderilmiş son denetim kodunu döndürür
    • win32_pause_service - Pauses a service
    • win32_query_service_status - Bir hizmetin durumunu sorgular
    • win32_send_custom_control - Send a custom control to the service
    • win32_set_service_exit_code - Define or return the exit code for the current running service
    • win32_set_service_exit_mode - Define or return the exit mode for the current running service
    • win32_set_service_status - Hizmet durumunu günceller
    • win32_start_service - Bir hizmeti başlatır
    • win32_start_service_ctrl_dispatcher - Hizmet yöneticisine ismi belirtilen hizmet gibi davranacak bir betik tanıtır
    • win32_stop_service - Bir hizmeti durdurur
    • wincache_fcache_fileinfo - Retrieves information about files cached in the file cache
    • wincache_fcache_meminfo - Retrieves information about file cache memory usage
    • wincache_lock - Acquires an exclusive lock on a given key
    • wincache_ocache_fileinfo - Retrieves information about files cached in the opcode cache
    • wincache_ocache_meminfo - Retrieves information about opcode cache memory usage
    • wincache_refresh_if_changed - Refreshes the cache entries for the cached files
    • wincache_rplist_fileinfo - Retrieves information about resolve file path cache
    • wincache_rplist_meminfo - Retrieves information about memory usage by the resolve file path cache
    • wincache_scache_info - Retrieves information about files cached in the session cache
    • wincache_scache_meminfo - Retrieves information about session cache memory usage
    • wincache_ucache_add - Adds a variable in user cache only if variable does not already exist in the cache
    • wincache_ucache_cas - Compares the variable with old value and assigns new value to it
    • wincache_ucache_clear - Deletes entire content of the user cache
    • wincache_ucache_dec - Decrements the value associated with the key
    • wincache_ucache_delete - Deletes variables from the user cache
    • wincache_ucache_exists - Checks if a variable exists in the user cache
    • wincache_ucache_get - Gets a variable stored in the user cache
    • wincache_ucache_inc - Increments the value associated with the key
    • wincache_ucache_info - Retrieves information about data stored in the user cache
    • wincache_ucache_meminfo - Retrieves information about user cache memory usage
    • wincache_ucache_set - Adds a variable in user cache and overwrites a variable if it already exists in the cache
    • wincache_unlock - Releases an exclusive lock on a given key
    • wkhtmltox\Image\Converter::convert - Perform Image conversion
    • wkhtmltox\Image\Converter::getVersion - Determine version of Converter
    • wkhtmltox\Image\Converter::__construct - Create a new Image converter
    • wkhtmltox\PDF\Converter::add - Add an object for conversion
    • wkhtmltox\PDF\Converter::convert - Perform PDF conversion
    • wkhtmltox\PDF\Converter::getVersion - Determine version of Converter
    • wkhtmltox\PDF\Converter::__construct - Create a new PDF converter
    • wkhtmltox\PDF\Object::__construct - Create a new PDF Object
    • wordwrap - Bir dizgeyi belli bir uzunlukta katlar
    • Worker::collect - Collect references to completed tasks
    • Worker::getStacked - Gets the remaining stack size
    • Worker::isShutdown - State Detection
    • Worker::shutdown - Shutdown the worker
    • Worker::stack - Stacking work
    • Worker::unstack - Unstacking work
  • x
    • xattr_get - Bir özniteliğin değerini döndürür
    • xattr_list - Ek özniteliklerin listesini döndürür
    • xattr_remove - Bir ek özniteliği siler
    • xattr_set - Bir ek özniteliği tanımlar
    • xattr_supported - Dosya sistemi ek öznitelikleri destekliyor mu diye bakar
    • xdiff_file_bdiff - İki dosyanın ikil farkını alır
    • xdiff_file_bdiff_size - Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
    • xdiff_file_bpatch - Bir dosyaya bir ikil yama uygular
    • xdiff_file_diff - İki dosyanın tekil farkını alır
    • xdiff_file_diff_binary - xdiff_file_bdiff işlevinin takma adıdır
    • xdiff_file_merge3 - Üç dosyayı tek dosya haline getirir
    • xdiff_file_patch - Bir dosyaya bir tekil yama uygular
    • xdiff_file_patch_binary - xdiff_file_bpatch işlevinin takma adıdır
    • xdiff_file_rabdiff - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
    • xdiff_string_bdiff - İki dizgenin ikil farkını alır
    • xdiff_string_bdiff_size - Belirtilen ikil yama uygulanarak oluşturulacak dosyanın boyutunu döndürür
    • xdiff_string_bpatch - Bir dizgeyi bir ikil fark dizgesiyle yamar
    • xdiff_string_diff - İki dizgenin tekil farkını alır
    • xdiff_string_diff_binary - xdiff_string_bdiff işlevinin takma adıdır
    • xdiff_string_merge3 - Üç dizgeyi tek bir dizge haline getirir
    • xdiff_string_patch - Bir dizgeyi bir tekil fark dizgesi ile yamar
    • xdiff_string_patch_binary - xdiff_string_bpatch işlevinin takma adıdır
    • xdiff_string_rabdiff - Rabin'in çok terimli parmakizi algoritmasını kullanarak iki dizgenin ikil olarak farkını alır
    • xhprof_disable - Stops xhprof profiler
    • xhprof_enable - Start xhprof profiler
    • xhprof_sample_disable - Stops xhprof sample profiler
    • xhprof_sample_enable - Start XHProf profiling in sampling mode
    • XMLDiff\Base::diff - Produce diff of two XML documents
    • XMLDiff\Base::merge - Produce new XML document based on diff
    • XMLDiff\Base::__construct - Constructor
    • XMLDiff\DOM::diff - Diff two DOMDocument objects
    • XMLDiff\DOM::merge - Produce merged DOMDocument
    • XMLDiff\File::diff - Diff two XML files
    • XMLDiff\File::merge - Produce merged XML document
    • XMLDiff\Memory::diff - Diff two XML documents
    • XMLDiff\Memory::merge - Produce merged XML document
    • XMLReader::close - XMLReader girdisini kapatır
    • XMLReader::expand - Geçerli düğümün bir kopyasını bir DOM nesnesi olarak döndürür
    • XMLReader::getAttribute - İsmi belirtilen özniteliğin değerini döndürür
    • XMLReader::getAttributeNo - İndisi belirtilen özniteliğin değerini döndürür
    • XMLReader::getAttributeNs - İsmi ve isim alanı belirtilen özniteliğin değerini döndürür
    • XMLReader::getParserProperty - Belirtilen özelliğin tanımlı olup olmadığına bakar
    • XMLReader::isValid - Çözümlenen düğümün geçerliliğini sınar
    • XMLReader::lookupNamespace - Bir önek için isim alanına bakar
    • XMLReader::moveToAttribute - İmleci ismi belirtilen özniteliğe konumlar
    • XMLReader::moveToAttributeNo - İmleci indisi belirtilen özniteliğe götürür
    • XMLReader::moveToAttributeNs - İmleci isimli özniteliğe götürür
    • XMLReader::moveToElement - İmleci geçerli özniteliğin ebeveyn elemanına konumlar
    • XMLReader::moveToFirstAttribute - İmleci ilk özniteliğe konumlar
    • XMLReader::moveToNextAttribute - İmleci sonraki özniteliğe konumlar
    • XMLReader::next - Alt ağaçların tümünü atlayıp sonraki düğüme gider
    • XMLReader::open - Çözemlenecek XML belgeyi içeren adresi belirler
    • XMLReader::read - Belgedeki sonraki düğüme gidilir
    • XMLReader::readInnerXml - Geçerli düğümün içeriğini okur
    • XMLReader::readOuterXml - Geçerli düğümün içeriğini düğümün kendisiyle birlikte okur
    • XMLReader::readString - Geçerli düğümün içeriğini bir dizge olarak okur
    • XMLReader::setParserProperty - Çözümleyici seçeneklerini tanımlar
    • XMLReader::setRelaxNGSchema - Belgeyi RelaxNG şemasına göre doğrular
    • XMLReader::setRelaxNGSchemaSource - Belgeyi dizge olarak belirtilen RelaxNG şemasına göre doğrular
    • XMLReader::setSchema - Belgeyi XSD şemasına göre doğrular
    • XMLReader::XML - Çözümlenecek XML belge içeriği belirtilir
    • xmlrpc_decode - XML'i doğal PHP türlerine dönüştürür
    • xmlrpc_decode_request - XML'i doğal PHP türlerine dönüştürür
    • xmlrpc_encode - Bir PHP değeri için XML üretir
    • xmlrpc_encode_request - Bir yöntem çağrısı için XML üretir
    • xmlrpc_get_type - Bir PHP değerinin xmlrpc türünü döndürür
    • xmlrpc_is_fault - Bir dizinin bir XMLRPC hatasını gösterip göstermediğini tespit eder
    • xmlrpc_parse_method_descriptions - XML'i bir yöntem açıklamaları listesine dönüştürür
    • xmlrpc_server_add_introspection_data - Kendiliğinden üretilen belgeleme ekler
    • xmlrpc_server_call_method - XML isteklerini ve yöntem çağrılarını çözümler
    • xmlrpc_server_create - Bir xmlrpc sunucusu oluşturur
    • xmlrpc_server_destroy - Sunucuya ayrılan özkaynakları serbest bırakır
    • xmlrpc_server_register_introspection_callback - Belge üretimi için bir PHP işlevi atar
    • xmlrpc_server_register_method - Belirtilen yöntemle eşleşen özkaynak için bir PHP işlevi atar
    • xmlrpc_set_type - Bir PHP dizge değeri için xmlrpc türünü base64 veya datetime türüne dönüştürür
    • XMLWriter::endAttribute - Geçerli özniteliği sonlandırır
    • XMLWriter::endCdata - Geçerli CDATA bölümünü kapatır
    • XMLWriter::endComment - Geçerli açıklamayı kapatır
    • XMLWriter::endDocument - Geçerli belgeyi sonlandırır
    • XMLWriter::endDtd - Geçerli DTD'yi kapatır
    • XMLWriter::endDtdAttlist - Geçerli DTD öznitelik listesi bildirimini kapatır
    • XMLWriter::endDtdElement - Geçerli DTD eleman bildirimini kapatır
    • XMLWriter::endDtdEntity - Geçerli DTD öğe bildirimini kapatır
    • XMLWriter::endElement - Geçerli elemanı kapatır
    • XMLWriter::endPi - Geçerli işlem komutunu kapatır
    • XMLWriter::flush - Geçerli tamponu boşaltır
    • XMLWriter::fullEndElement - Geçerli elemanı kapatır
    • XMLWriter::openMemory - Dizge çıktılamak için belleği kullanmak üzere yeni bir XMLWriter nesnesi oluşturur
    • XMLWriter::openUri - Çıktı için kaynak adresini kullanarak yeni bir XMLWriter nesnesi oluşturur
    • XMLWriter::outputMemory - Geçerli tamponu döndürür
    • XMLWriter::setIndent - Girintilemeyi açıp kapar
    • XMLWriter::setIndentString - Girintileme için kullanılacak dizgeyi belirler
    • XMLWriter::startAttribute - Bir öznitelik başlatır
    • XMLWriter::startAttributeNs - İsim alanlı bir öznitelik başlatır
    • XMLWriter::startCdata - Bir CDATA bölümü başlatır
    • XMLWriter::startComment - Bir açıklama başlatır
    • XMLWriter::startDocument - Belgenin XML bildirimini yazar
    • XMLWriter::startDtd - Bir DTD başlangıç etiketi oluşturur
    • XMLWriter::startDtdAttlist - Bir DTD öznitelik listesi bildirimini başlatır
    • XMLWriter::startDtdElement - Bir DTD eleman bildirimini başlatır
    • XMLWriter::startDtdEntity - Bir DTD öğe bildirimini başlatır
    • XMLWriter::startElement - Bir eleman başlangıç etiketi oluşturur
    • XMLWriter::startElementNs - Bir isim alanlı eleman başlangıç etiketi oluşturur
    • XMLWriter::startPi - Bir işlem komutu başlangıç etiketi oluşturur
    • XMLWriter::text - Bir metni yazar
    • XMLWriter::writeAttribute - Öznitelik yazar
    • XMLWriter::writeAttributeNs - İsim alanlı öznitelik yazar
    • XMLWriter::writeCdata - CDATA yazar
    • XMLWriter::writeComment - Açıklama yazar
    • XMLWriter::writeDtd - DTD'yi' yazar
    • XMLWriter::writeDtdAttlist - DTD öznitelik listesi yazar
    • XMLWriter::writeDtdElement - DTD elemanını yazar
    • XMLWriter::writeDtdEntity - DTD öğesini yazar
    • XMLWriter::writeElement - Elemanı içeriğiyle birlikte yazar
    • XMLWriter::writeElementNs - İsim alanlı elemanı içeriğiyle birlikte yazar
    • XMLWriter::writePi - Bir işlem komutu (PI) yazar
    • XMLWriter::writeRaw - Ham XML metni yazar
    • xml_error_string - XML çözümleyici hata iletisini döndürür
    • xml_get_current_byte_index - XML çözümleyicinin geçerli bayt indisini döndürür
    • xml_get_current_column_number - XML çözümleyicide hatanın oluştuğu satırdaki sütun numarasını döndürür
    • xml_get_current_line_number - XML çözümleyicide hatanın oluştuğu satırı döndürür
    • xml_get_error_code - XML çözümleyici hata kodunu döndürür
    • xml_parse - Bir XML belgeyi çözümler
    • xml_parser_create - Bir XML çözümleyici oluşturur
    • xml_parser_create_ns - İsim alanı destekli bir XML çözümleyici oluşturur
    • xml_parser_free - XML çözümleyiciyi serbest bırakır
    • xml_parser_get_option - XML ayrıştırıcı seçeneklerini döndürür
    • xml_parser_set_option - XML ayrıştırıcı seçeneklerini belirler
    • xml_parse_into_struct - XML veriyi çözümleyip sonucu bir dizi içinde döndürür
    • xml_set_character_data_handler - Karakter verisi işleyiciyi belirler
    • xml_set_default_handler - Öntanımlı işleyiciyi belirler
    • xml_set_element_handler - Açılış ve kapanış etiketi işleyicileri belirler
    • xml_set_end_namespace_decl_handler - İsim alanı bildirimi sonlandırma işleyiciyi belirler
    • xml_set_external_entity_ref_handler - Harici öğe gönderimi işleyiciyi belirler
    • xml_set_notation_decl_handler - Gösterim bildirimi işleyiciyi belirler
    • xml_set_object - XML ayrıştırıcı, nesne içinde kullanılır
    • xml_set_processing_instruction_handler - İşlem komutu (PI) işleyicisini belirler
    • xml_set_start_namespace_decl_handler - İsim alanı bildirimi başlatma işleyicisini belirler
    • xml_set_unparsed_entity_decl_handler - Ayrıştırılmayan öğe bildirimi işleyicisini belirler
    • XSLTProcessor::getParameter - Bir bağımsız değişkenin değerini döndürür
    • XSLTProcessor::getSecurityPrefs - Güvenlik tercihlerini döndürür
    • XSLTProcessor::hasExsltSupport - PHP, EXSLT desteğine sahip mi diye bakar
    • XSLTProcessor::importStylesheet - Biçembent ithal eder
    • XSLTProcessor::registerPHPFunctions - XSLT işlevleri olarak PHP işlevlerinin kullanılması yeteneğini etkin kılar
    • XSLTProcessor::removeParameter - Bağımsız değişken siler
    • XSLTProcessor::setParameter - Bir bağımsız değişkene bir değer atar
    • XSLTProcessor::setProfiling - Profil çıktı dosyasını belirler
    • XSLTProcessor::setSecurityPrefs - Güvenlik tercihlerini tanımlar
    • XSLTProcessor::transformToDoc - Belgeyi dönüştürür
    • XSLTProcessor::transformToUri - Dönüşüm sonucunu bir dosyaya yazar
    • XSLTProcessor::transformToXML - Dönüşümü bir dizge olarak döndürür
    • XSLTProcessor::__construct - Yeni bir XSLTProcessor nesnesi oluşturur
  • y
    • Yac::add - Store into cache
    • Yac::delete - Remove items from cache
    • Yac::dump - Dump cache
    • Yac::flush - Flush the cache
    • Yac::get - Retrieve values from cache
    • Yac::info - Status of cache
    • Yac::set - Store into cache
    • Yac::__construct - Constructor
    • Yac::__get - Getter
    • Yac::__set - Setter
    • Yaconf::get - Retrieve a item
    • Yaconf::has - Determine if a item exists
    • Yaf_Action_Abstract::execute - Action entry point
    • Yaf_Action_Abstract::getController - Retrieve controller object
    • Yaf_Action_Abstract::getControllerName - Get controller name
    • Yaf_Application::app - Retrieve an Application instance
    • Yaf_Application::bootstrap - Call bootstrap
    • Yaf_Application::clearLastError - Clear the last error info
    • Yaf_Application::environ - Retrive environ
    • Yaf_Application::execute - Execute a callback
    • Yaf_Application::getAppDirectory - Get the application directory
    • Yaf_Application::getConfig - Retrive the config instance
    • Yaf_Application::getDispatcher - Get Yaf_Dispatcher instance
    • Yaf_Application::getLastErrorMsg - Get message of the last occurred error
    • Yaf_Application::getLastErrorNo - Get code of last occurred error
    • Yaf_Application::getModules - Get defined module names
    • Yaf_Application::run - Start Yaf_Application
    • Yaf_Application::setAppDirectory - Change the application directory
    • Yaf_Application::__construct - Yaf_Application constructor
    • Yaf_Application::__destruct - The __destruct purpose
    • Yaf_Config_Abstract::get - Getter
    • Yaf_Config_Abstract::readonly - Find a config whether readonly
    • Yaf_Config_Abstract::set - Setter
    • Yaf_Config_Abstract::toArray - Cast to array
    • Yaf_Config_Ini::count - Count all elements in Yaf_Config.ini
    • Yaf_Config_Ini::current - Retrieve the current value
    • Yaf_Config_Ini::key - Fetch current element's key
    • Yaf_Config_Ini::next - Advance the internal pointer
    • Yaf_Config_Ini::offsetExists - The offsetExists purpose
    • Yaf_Config_Ini::offsetGet - The offsetGet purpose
    • Yaf_Config_Ini::offsetSet - The offsetSet purpose
    • Yaf_Config_Ini::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Ini::readonly - The readonly purpose
    • Yaf_Config_Ini::rewind - The rewind purpose
    • Yaf_Config_Ini::toArray - Return config as a PHP array
    • Yaf_Config_Ini::valid - The valid purpose
    • Yaf_Config_Ini::__construct - Yaf_Config_Ini constructor
    • Yaf_Config_Ini::__get - Retrieve a element
    • Yaf_Config_Ini::__isset - Determine if a key is exists
    • Yaf_Config_Ini::__set - The __set purpose
    • Yaf_Config_Simple::count - The count purpose
    • Yaf_Config_Simple::current - The current purpose
    • Yaf_Config_Simple::key - The key purpose
    • Yaf_Config_Simple::next - The next purpose
    • Yaf_Config_Simple::offsetExists - The offsetExists purpose
    • Yaf_Config_Simple::offsetGet - The offsetGet purpose
    • Yaf_Config_Simple::offsetSet - The offsetSet purpose
    • Yaf_Config_Simple::offsetUnset - The offsetUnset purpose
    • Yaf_Config_Simple::readonly - The readonly purpose
    • Yaf_Config_Simple::rewind - The rewind purpose
    • Yaf_Config_Simple::toArray - Returns a PHP array
    • Yaf_Config_Simple::valid - The valid purpose
    • Yaf_Config_Simple::__construct - The __construct purpose
    • Yaf_Config_Simple::__get - The __get purpose
    • Yaf_Config_Simple::__isset - The __isset purpose
    • Yaf_Config_Simple::__set - The __set purpose
    • Yaf_Controller_Abstract::display - The display purpose
    • Yaf_Controller_Abstract::forward - Forward to another action
    • Yaf_Controller_Abstract::getInvokeArg - The getInvokeArg purpose
    • Yaf_Controller_Abstract::getInvokeArgs - The getInvokeArgs purpose
    • Yaf_Controller_Abstract::getModuleName - Get module name
    • Yaf_Controller_Abstract::getName - Get self name
    • Yaf_Controller_Abstract::getRequest - Retrieve current request object
    • Yaf_Controller_Abstract::getResponse - Retrieve current response object
    • Yaf_Controller_Abstract::getView - Retrieve the view engine
    • Yaf_Controller_Abstract::getViewpath - The getViewpath purpose
    • Yaf_Controller_Abstract::init - Controller initializer
    • Yaf_Controller_Abstract::initView - The initView purpose
    • Yaf_Controller_Abstract::redirect - Redirect to a URL
    • Yaf_Controller_Abstract::render - Render view template
    • Yaf_Controller_Abstract::setViewpath - The setViewpath purpose
    • Yaf_Controller_Abstract::__construct - Yaf_Controller_Abstract constructor
    • Yaf_Dispatcher::autoRender - Switch on/off autorendering
    • Yaf_Dispatcher::catchException - Switch on/off exception catching
    • Yaf_Dispatcher::disableView - Disable view rendering
    • Yaf_Dispatcher::dispatch - Dispatch a request
    • Yaf_Dispatcher::enableView - Enable view rendering
    • Yaf_Dispatcher::flushInstantly - Switch on/off the instant flushing
    • Yaf_Dispatcher::getApplication - Retrieve the application
    • Yaf_Dispatcher::getDefaultAction - Retrive the default action name
    • Yaf_Dispatcher::getDefaultController - Retrive the default controller name
    • Yaf_Dispatcher::getDefaultModule - Retrive the default module name
    • Yaf_Dispatcher::getInstance - Retrive the dispatcher instance
    • Yaf_Dispatcher::getRequest - Retrive the request instance
    • Yaf_Dispatcher::getRouter - Retrive router instance
    • Yaf_Dispatcher::initView - Initialize view and return it
    • Yaf_Dispatcher::registerPlugin - Register a plugin
    • Yaf_Dispatcher::returnResponse - The returnResponse purpose
    • Yaf_Dispatcher::setDefaultAction - Change default action name
    • Yaf_Dispatcher::setDefaultController - Change default controller name
    • Yaf_Dispatcher::setDefaultModule - Change default module name
    • Yaf_Dispatcher::setErrorHandler - Set error handler
    • Yaf_Dispatcher::setRequest - The setRequest purpose
    • Yaf_Dispatcher::setView - Set a custom view engine
    • Yaf_Dispatcher::throwException - Switch on/off exception throwing
    • Yaf_Dispatcher::__construct - Yaf_Dispatcher constructor
    • Yaf_Exception::getPrevious - The getPrevious purpose
    • Yaf_Exception::__construct - The __construct purpose
    • Yaf_Loader::autoload - The autoload purpose
    • Yaf_Loader::clearLocalNamespace - The clearLocalNamespace purpose
    • Yaf_Loader::getInstance - The getInstance purpose
    • Yaf_Loader::getLibraryPath - Get the library path
    • Yaf_Loader::getLocalNamespace - Retrive all register namespaces info
    • Yaf_Loader::getNamespacePath - Retieve path of a registered namespace
    • Yaf_Loader::import - The import purpose
    • Yaf_Loader::isLocalName - The isLocalName purpose
    • Yaf_Loader::registerLocalNamespace - Register local class prefix
    • Yaf_Loader::registerNamespace - Register namespace with searching path
    • Yaf_Loader::setLibraryPath - Change the library path
    • Yaf_Loader::__construct - The __construct purpose
    • Yaf_Plugin_Abstract::dispatchLoopShutdown - The dispatchLoopShutdown purpose
    • Yaf_Plugin_Abstract::dispatchLoopStartup - Hook before dispatch loop
    • Yaf_Plugin_Abstract::postDispatch - The postDispatch purpose
    • Yaf_Plugin_Abstract::preDispatch - The preDispatch purpose
    • Yaf_Plugin_Abstract::preResponse - The preResponse purpose
    • Yaf_Plugin_Abstract::routerShutdown - The routerShutdown purpose
    • Yaf_Plugin_Abstract::routerStartup - RouterStartup hook
    • Yaf_Registry::del - Remove an item from registry
    • Yaf_Registry::get - Retrieve an item from registry
    • Yaf_Registry::has - Check whether an item exists
    • Yaf_Registry::set - Add an item into registry
    • Yaf_Registry::__construct - Yaf_Registry implements singleton
    • Yaf_Request_Abstract::clearParams - Remove all params
    • Yaf_Request_Abstract::getActionName - The getActionName purpose
    • Yaf_Request_Abstract::getBaseUri - The getBaseUri purpose
    • Yaf_Request_Abstract::getControllerName - The getControllerName purpose
    • Yaf_Request_Abstract::getEnv - Retrieve ENV varialbe
    • Yaf_Request_Abstract::getException - The getException purpose
    • Yaf_Request_Abstract::getLanguage - Retrieve client's preferred language
    • Yaf_Request_Abstract::getMethod - Retrieve the request method
    • Yaf_Request_Abstract::getModuleName - The getModuleName purpose
    • Yaf_Request_Abstract::getParam - Retrieve calling parameter
    • Yaf_Request_Abstract::getParams - Retrieve all calling parameters
    • Yaf_Request_Abstract::getRequestUri - The getRequestUri purpose
    • Yaf_Request_Abstract::getServer - Retrieve SERVER variable
    • Yaf_Request_Abstract::isCli - Determine if request is CLI request
    • Yaf_Request_Abstract::isDispatched - Determin if the request is dispatched
    • Yaf_Request_Abstract::isGet - Determine if request is GET request
    • Yaf_Request_Abstract::isHead - Determine if request is HEAD request
    • Yaf_Request_Abstract::isOptions - Determine if request is OPTIONS request
    • Yaf_Request_Abstract::isPost - Determine if request is POST request
    • Yaf_Request_Abstract::isPut - Determine if request is PUT request
    • Yaf_Request_Abstract::isRouted - Determin if request has been routed
    • Yaf_Request_Abstract::isXmlHttpRequest - Determine if request is AJAX request
    • Yaf_Request_Abstract::setActionName - Set action name
    • Yaf_Request_Abstract::setBaseUri - Set base URI
    • Yaf_Request_Abstract::setControllerName - Set controller name
    • Yaf_Request_Abstract::setDispatched - The setDispatched purpose
    • Yaf_Request_Abstract::setModuleName - Set module name
    • Yaf_Request_Abstract::setParam - Set a calling parameter to a request
    • Yaf_Request_Abstract::setRequestUri - The setRequestUri purpose
    • Yaf_Request_Abstract::setRouted - The setRouted purpose
    • Yaf_Request_Http::get - Retrieve variable from client
    • Yaf_Request_Http::getCookie - Retrieve Cookie variable
    • Yaf_Request_Http::getFiles - The getFiles purpose
    • Yaf_Request_Http::getPost - Retrieve POST variable
    • Yaf_Request_Http::getQuery - Fetch a query parameter
    • Yaf_Request_Http::getRaw - Retrieve Raw request body
    • Yaf_Request_Http::getRequest - The getRequest purpose
    • Yaf_Request_Http::isXmlHttpRequest - Determin if request is Ajax Request
    • Yaf_Request_Http::__construct - Constructor of Yaf_Request_Http
    • Yaf_Request_Simple::get - The get purpose
    • Yaf_Request_Simple::getCookie - The getCookie purpose
    • Yaf_Request_Simple::getFiles - The getFiles purpose
    • Yaf_Request_Simple::getPost - The getPost purpose
    • Yaf_Request_Simple::getQuery - The getQuery purpose
    • Yaf_Request_Simple::getRequest - The getRequest purpose
    • Yaf_Request_Simple::isXmlHttpRequest - Determin if request is AJAX request
    • Yaf_Request_Simple::__construct - Constructor of Yaf_Request_Simple
    • Yaf_Response_Abstract::appendBody - Append to response body
    • Yaf_Response_Abstract::clearBody - Discard all exists response body
    • Yaf_Response_Abstract::clearHeaders - Discard all set headers
    • Yaf_Response_Abstract::getBody - Retrieve a exists content
    • Yaf_Response_Abstract::getHeader - The getHeader purpose
    • Yaf_Response_Abstract::prependBody - The prependBody purpose
    • Yaf_Response_Abstract::response - Send response
    • Yaf_Response_Abstract::setAllHeaders - The setAllHeaders purpose
    • Yaf_Response_Abstract::setBody - Set content to response
    • Yaf_Response_Abstract::setHeader - Set reponse header
    • Yaf_Response_Abstract::setRedirect - The setRedirect purpose
    • Yaf_Response_Abstract::__construct - The __construct purpose
    • Yaf_Response_Abstract::__destruct - The __destruct purpose
    • Yaf_Response_Abstract::__toString - Retrieve all bodys as string
    • Yaf_Router::addConfig - Add config-defined routes into Router
    • Yaf_Router::addRoute - Add new Route into Router
    • Yaf_Router::getCurrentRoute - Get the effective route name
    • Yaf_Router::getRoute - Retrieve a route by name
    • Yaf_Router::getRoutes - Retrieve registered routes
    • Yaf_Router::route - The route purpose
    • Yaf_Router::__construct - Yaf_Router constructor
    • Yaf_Route_Interface::assemble - Assemble a request
    • Yaf_Route_Interface::route - Route a request
    • Yaf_Route_Map::assemble - Assemble a url
    • Yaf_Route_Map::route - The route purpose
    • Yaf_Route_Map::__construct - The __construct purpose
    • Yaf_Route_Regex::assemble - Assemble a url
    • Yaf_Route_Regex::route - The route purpose
    • Yaf_Route_Regex::__construct - Yaf_Route_Regex constructor
    • Yaf_Route_Rewrite::assemble - Assemble a url
    • Yaf_Route_Rewrite::route - The route purpose
    • Yaf_Route_Rewrite::__construct - Yaf_Route_Rewrite constructor
    • Yaf_Route_Simple::assemble - Assemble a url
    • Yaf_Route_Simple::route - Route a request
    • Yaf_Route_Simple::__construct - Yaf_Route_Simple constructor
    • Yaf_Route_Static::assemble - Assemble a url
    • Yaf_Route_Static::match - The match purpose
    • Yaf_Route_Static::route - Route a request
    • Yaf_Route_Supervar::assemble - Assemble a url
    • Yaf_Route_Supervar::route - The route purpose
    • Yaf_Route_Supervar::__construct - The __construct purpose
    • Yaf_Session::count - The count purpose
    • Yaf_Session::current - The current purpose
    • Yaf_Session::del - The del purpose
    • Yaf_Session::getInstance - The getInstance purpose
    • Yaf_Session::has - The has purpose
    • Yaf_Session::key - The key purpose
    • Yaf_Session::next - The next purpose
    • Yaf_Session::offsetExists - The offsetExists purpose
    • Yaf_Session::offsetGet - The offsetGet purpose
    • Yaf_Session::offsetSet - The offsetSet purpose
    • Yaf_Session::offsetUnset - The offsetUnset purpose
    • Yaf_Session::rewind - The rewind purpose
    • Yaf_Session::start - The start purpose
    • Yaf_Session::valid - The valid purpose
    • Yaf_Session::__construct - Constructor of Yaf_Session
    • Yaf_Session::__get - The __get purpose
    • Yaf_Session::__isset - The __isset purpose
    • Yaf_Session::__set - The __set purpose
    • Yaf_Session::__unset - The __unset purpose
    • Yaf_View_Interface::assign - Assign value to View engine
    • Yaf_View_Interface::display - Render and output a template
    • Yaf_View_Interface::getScriptPath - The getScriptPath purpose
    • Yaf_View_Interface::render - Render a template
    • Yaf_View_Interface::setScriptPath - The setScriptPath purpose
    • Yaf_View_Simple::assign - Assign values
    • Yaf_View_Simple::assignRef - The assignRef purpose
    • Yaf_View_Simple::clear - Clear Assigned values
    • Yaf_View_Simple::display - Render and display
    • Yaf_View_Simple::eval - Render template
    • Yaf_View_Simple::getScriptPath - Get templates directory
    • Yaf_View_Simple::render - Render template
    • Yaf_View_Simple::setScriptPath - Set tempaltes directory
    • Yaf_View_Simple::__construct - Constructor of Yaf_View_Simple
    • Yaf_View_Simple::__get - Retrieve assigned variable
    • Yaf_View_Simple::__isset - The __isset purpose
    • Yaf_View_Simple::__set - Set value to engine
    • yaml_emit - Returns the YAML representation of a value
    • yaml_emit_file - Send the YAML representation of a value to a file
    • yaml_parse - Parse a YAML stream
    • yaml_parse_file - Parse a YAML stream from a file
    • yaml_parse_url - Parse a Yaml stream from a URL
    • Yar_Client::setOpt - Set calling contexts
    • Yar_Client::__call - Call service
    • Yar_Client::__construct - Create a client
    • Yar_Client_Exception::getType - Retrieve exception's type
    • Yar_Concurrent_Client::call - Register a concurrent call
    • Yar_Concurrent_Client::loop - Send all calls
    • Yar_Concurrent_Client::reset - Clean all registered calls
    • Yar_Server::handle - Start RPC Server
    • Yar_Server::__construct - Register a server
    • Yar_Server_Exception::getType - Retrieve exception's type
    • yaz_addinfo - Ek hata bilgisi döndürür
    • yaz_ccl_conf - CCL çözümleyecisini yapılandırır
    • yaz_ccl_parse - CCL çözümleyiciyi devreye sokar
    • yaz_close - YAZ bağlantısını kapatır
    • yaz_connect - Bir Z39.50 sunucusuna bir bağlantı düzenler
    • yaz_database - Bir oturum içindeki veritabanlarını belirler
    • yaz_element - Alım için eleman kümesi ismi tanımlar
    • yaz_errno - Hata numarasını döndürür
    • yaz_error - Hatanın açıklaması döner
    • yaz_es - Bir ek hizmet isteği (Extended Service Request) düzenler
    • yaz_es_result - Ek hizmetlerin sonucunu döndürür
    • yaz_get_option - Bir bağlantı seçeneğinin değerini döndürür
    • yaz_hits - Son arama ile eşleşenlerin sayısını döndürür
    • yaz_itemorder - Bir ILL-Request paketli Z39.50 Item Order için hazırlık yapar
    • yaz_present - Bir alım (Z39.50 present) düzenler
    • yaz_range - Edinilecek kayıtlar için bir aralık belirler
    • yaz_record - Bir kayıt döndürür
    • yaz_scan - Bir tarama düzenler
    • yaz_scan_result - Tarama sonucunu döndürür
    • yaz_schema - Alım için şema belirtir
    • yaz_search - Bir arama düzenler
    • yaz_set_option - Bağlantı ile ilgili seçenekleri belirler
    • yaz_sort - Sıralama kuralını belirler
    • yaz_syntax - Alım için tercih edilen kayıt sözdizimini belirler
    • yaz_wait - Z39.50 isteklerinin tamamlanmasını bekler
  • z
    • zend_thread_id - Geçerli evre için eşsiz bir betimleyici döndürür
    • zend_version - Zend motorunun sürümünü döndürür
    • ZipArchive::addEmptyDir - Yeni bir dizin ekler
    • ZipArchive::addFile - Yolu belirtilen dosyayı arşive ekler
    • ZipArchive::addFromString - İsmi ve içeriği belirtilen dosyayı arşive ekler
    • ZipArchive::addGlob - Add files from a directory by glob pattern
    • ZipArchive::addPattern - Add files from a directory by PCRE pattern
    • ZipArchive::clearError - Clear the status error message, system and/or zip messages
    • ZipArchive::close - Etkin (açık veya oluşturulmuş) arşivi kapatır
    • ZipArchive::count - Counts the number of files in the archive
    • ZipArchive::deleteIndex - İndisi belirtilen girdiyi arşivden siler
    • ZipArchive::deleteName - İsmi belirtilen girdiyi siler
    • ZipArchive::extractTo - Arşiv içeriğini çıkarır
    • ZipArchive::getArchiveComment - Zip arşivinin açıklamasını döndürür
    • ZipArchive::getArchiveFlag - Returns the value of a Zip archive global flag
    • ZipArchive::getCommentIndex - İndisi belirtilen girdinin açıklamasını döndürür
    • ZipArchive::getCommentName - İsmi belirtilen girdinin açıklamasını döndürür
    • ZipArchive::getExternalAttributesIndex - Retrieve the external attributes of an entry defined by its index
    • ZipArchive::getExternalAttributesName - Retrieve the external attributes of an entry defined by its name
    • ZipArchive::getFromIndex - İndisi belirtilen girdinin içeriğini döndürür
    • ZipArchive::getFromName - İsmi belirtilen girdinin içeriğini döndürür
    • ZipArchive::getNameIndex - İndisi belirtilen girdinin ismini döndürür
    • ZipArchive::GetStatusString - Durum hata iletilerini, sistem ve/veya zip iletilerini döndürür
    • ZipArchive::getStream - İsmi belirtilen girdi için dosya tanıtıcısı (salt okunur) döndürür
    • ZipArchive::getStreamIndex - Get a file handler to the entry defined by its index (read only)
    • ZipArchive::getStreamName - Get a file handler to the entry defined by its name (read only)
    • ZipArchive::isCompressionMethodSupported - Check if a compression method is supported by libzip
    • ZipArchive::isEncryptionMethodSupported - Check if a encryption method is supported by libzip
    • ZipArchive::locateName - İsmi belirtilen girdinin indisini döndürür
    • ZipArchive::open - Bir ZIP dosya arşivi açar
    • ZipArchive::registerCancelCallback - Register a callback to allow cancellation during archive close.
    • ZipArchive::registerProgressCallback - Register a callback to provide updates during archive close.
    • ZipArchive::renameIndex - İndisi belirtilen girdinin ismini değiştirir
    • ZipArchive::renameName - İsmi belirtilen girdinin ismini değiştirir
    • ZipArchive::replaceFile - Replace file in ZIP archive with a given path
    • ZipArchive::setArchiveComment - Bir ZIP arşivine açıklama ekler
    • ZipArchive::setArchiveFlag - Set a global flag of a ZIP archive
    • ZipArchive::setCommentIndex - İndisi belirtilen girdiye bir açıklama ekler
    • ZipArchive::setCommentName - İsmi belirtilen girdiye bir açıklama ekler
    • ZipArchive::setCompressionIndex - Set the compression method of an entry defined by its index
    • ZipArchive::setCompressionName - Set the compression method of an entry defined by its name
    • ZipArchive::setEncryptionIndex - Set the encryption method of an entry defined by its index
    • ZipArchive::setEncryptionName - Set the encryption method of an entry defined by its name
    • ZipArchive::setExternalAttributesIndex - Set the external attributes of an entry defined by its index
    • ZipArchive::setExternalAttributesName - Set the external attributes of an entry defined by its name
    • ZipArchive::setMtimeIndex - Set the modification time of an entry defined by its index
    • ZipArchive::setMtimeName - Set the modification time of an entry defined by its name
    • ZipArchive::setPassword - Set the password for the active archive
    • ZipArchive::statIndex - İndisi belirtilen girdiyle ilgili bilgileri döndürür
    • ZipArchive::statName - İsmi belirtilen girdiyle ilgili bilgileri döndürür
    • ZipArchive::unchangeAll - Arşivde yapılmış değişikliklerin tamamını geri alır
    • ZipArchive::unchangeArchive - Arşiv bilgilerinde yapılmış değişiklikleri geri alır
    • ZipArchive::unchangeIndex - İndisi belirtilen girdideki değişiklikleri geri alır
    • ZipArchive::unchangeName - İsmi belirtilen girdideki değişiklikleri geri alır
    • Zip bağlamı seçenekleri - Zip bağlamı seçeneklerinin listesi
    • zip_close - Bir ZIP dosya arşivini kapatır
    • zip_entry_close - Bir dizin girdisini kapatır
    • zip_entry_compressedsize - Dizin girdisinin sıkıştırılmış uzunluğunu döndürür
    • zip_entry_compressionmethod - Dizin girdisinin sıkıştırma yöntemini döndürür
    • zip_entry_filesize - Bir dizin girdisinin uzunluğunu döndürür
    • zip_entry_name - Bir dizin girdisinin ismini döndürür
    • zip_entry_open - Okumak için bir dizin girdisi açar
    • zip_entry_read - Bir açık dizin girdisini okur
    • zip_open - Bir ZIP dosya arşivi açar
    • zip_read - Bir ZIP dosya arşivindeki bir sonraki girdiyi okur
    • zlib:// - Sıkıştırma Akımları
    • Zlib bağlam seçenekleri - Zlib bağlam seçeneklerinin listesi
    • zlib_decode - Uncompress any raw/gzip/zlib encoded data
    • zlib_encode - Compress data with the specified encoding
    • zlib_get_coding_type - Çıktı sıkıştırması için kullanılan kodlama türünü döndürür
    • ZMQ::__construct - ZMQ constructor
    • ZMQContext::getOpt - Get context option
    • ZMQContext::getSocket - Create a new socket
    • ZMQContext::isPersistent - Whether the context is persistent
    • ZMQContext::setOpt - Set a socket option
    • ZMQContext::__construct - Construct a new ZMQContext object
    • ZMQDevice::getIdleTimeout - Get the idle timeout
    • ZMQDevice::getTimerTimeout - Get the timer timeout
    • ZMQDevice::run - Run the new device
    • ZMQDevice::setIdleCallback - Set the idle callback function
    • ZMQDevice::setIdleTimeout - Set the idle timeout
    • ZMQDevice::setTimerCallback - Set the timer callback function
    • ZMQDevice::setTimerTimeout - Set the timer timeout
    • ZMQDevice::__construct - Construct a new device
    • ZMQPoll::add - Add item to the poll set
    • ZMQPoll::clear - Clear the poll set
    • ZMQPoll::count - Count items in the poll set
    • ZMQPoll::getLastErrors - Get poll errors
    • ZMQPoll::poll - Poll the items
    • ZMQPoll::remove - Remove item from poll set
    • ZMQSocket::bind - Bind the socket
    • ZMQSocket::connect - Connect the socket
    • ZMQSocket::disconnect - Disconnect a socket
    • ZMQSocket::getEndpoints - Get list of endpoints
    • ZMQSocket::getPersistentId - Get the persistent id
    • ZMQSocket::getSocketType - Get the socket type
    • ZMQSocket::getSockOpt - Get socket option
    • ZMQSocket::isPersistent - Whether the socket is persistent
    • ZMQSocket::recv - Receives a message
    • ZMQSocket::recvMulti - Receives a multipart message
    • ZMQSocket::send - Sends a message
    • ZMQSocket::sendmulti - Sends a multipart message
    • ZMQSocket::setSockOpt - Set a socket option
    • ZMQSocket::unbind - Unbind the socket
    • ZMQSocket::__construct - Construct a new ZMQSocket
    • Zookeeper::addAuth - Specify application credentials
    • Zookeeper::close - Close the zookeeper handle and free up any resources
    • Zookeeper::connect - Create a handle to used communicate with zookeeper
    • Zookeeper::create - Create a node synchronously
    • Zookeeper::delete - Delete a node in zookeeper synchronously
    • Zookeeper::exists - Checks the existence of a node in zookeeper synchronously
    • Zookeeper::get - Gets the data associated with a node synchronously
    • Zookeeper::getAcl - Gets the acl associated with a node synchronously
    • Zookeeper::getChildren - Lists the children of a node synchronously
    • Zookeeper::getClientId - Return the client session id, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
    • Zookeeper::getConfig - Get instance of ZookeeperConfig
    • Zookeeper::getRecvTimeout - Return the timeout for this session, only valid if the connections is currently connected (ie. last watcher state is ZOO_CONNECTED_STATE). This value may change after a server re-connect
    • Zookeeper::getState - Get the state of the zookeeper connection
    • Zookeeper::isRecoverable - Checks if the current zookeeper connection state can be recovered
    • Zookeeper::set - Sets the data associated with a node
    • Zookeeper::setAcl - Sets the acl associated with a node synchronously
    • Zookeeper::setDebugLevel - Sets the debugging level for the library
    • Zookeeper::setDeterministicConnOrder - Enable/disable quorum endpoint order randomization
    • Zookeeper::setLogStream - Sets the stream to be used by the library for logging
    • Zookeeper::setWatcher - Set a watcher function
    • Zookeeper::__construct - Create a handle to used communicate with zookeeper
    • ZookeeperConfig::add - Add servers to the ensemble
    • ZookeeperConfig::get - Gets the last committed configuration of the ZooKeeper cluster as it is known to the server to which the client is connected, synchronously
    • ZookeeperConfig::remove - Remove servers from the ensemble
    • ZookeeperConfig::set - Change ZK cluster ensemble membership and roles of ensemble peers
    • zookeeper_dispatch - Calls callbacks for pending operations
  • _
    • __autoload - Tanımsız sınıfı yüklemeye çalışır
    • __halt_compiler - Derleyicinin çalışmasını durdurur


Örnekler Dizini

Kılavuzdaki tüm örneklerin bir listesi

  • Example#0 - - Başlangıç olarak bir örnek
  • Example#1 - - İlk PHP betiği: merhaba.php
  • Example#2 - - PHP ile sistem bilgisine ulaşmak
  • Example#3 - - Bir değişkeni (dizi öğesini) yazdırmak
  • Example#4 - - Denetim yapılarının ve işlevlerin kullanım örneği
  • Example#5 - - HTML ve PHP kiplerini karıştırmak
  • Example#6 - - Örnek HTML formu
  • Example#7 - - Formdan veri yazdırmak
  • Example#8 - - lighttpd.conf'tan bir bölüm
  • Example#9 - - FastCGI Yanıtçılarının Çatallanması
  • Example#10 - - Uzak FCGI örneklerine bağlanmak
  • Example#11 - - OpenBSD Paket Kurulum Örneği
  • Example#12 - - Apache2 ile kurulum örneği
  • Example#13 - - PHP kurulduktan sonra Apache2'nin dirdirilip yeniden başlatılması
  • Example#14 - - Ek PHP paketleri listesinin alınma yöntemleri
  • Example#15 - - MySQL ve cURL PHP modüllerinin kurulumu
  • Example#16 - Önerilen OpCache Yapılandırması
  • Example#17 - Önerilen WinCache Yapılandırması
  • Example#18 - IIS ve PHP'yi yapılandırmak için komut satırı kullanımı
  • Example#19 - Kayıt Defteri değişiklikleri
  • Example#20 - Apache 2.x işleyicisi olarak PHP
  • Example#21 - CGI olarak PHP ve Apache 2.x
  • Example#22 - PHP'yi FastCGI altında çalıştırmak için Apache yapılandırması
  • Example#23 - Passing environment variables and PHP settings to a pool
  • Example#24 - set PHP settings in nginx.conf
  • Example#25 - - phpinfo kullanımı
  • Example#26 - - php.ini Ortam Değişkenleri
  • Example#27 - - php.ini örneği
  • Example#28 - - Apache yapılandırma örneği
  • Example#29 - - PHP Açılış ve Kapanış Etiketleri
  • Example#30 - - Koşul kullanan gelişmiş önceleme
  • Example#31 - - Sondaki satırsonu karakterini kapsayan kapanış etiketini gösteren örnek
  • Example#32 - - Tamsayı değişmezler
  • Example#33 - - 32 bitlik sistemlerde tamsayı taşması
  • Example#34 - 64 bitlik sistemlerde tamsayı taşması
  • Example#35 - - PHP 7.3.0 ve sonrası için Yorumlu Metin örneği
  • Example#36 - - Kapanış betimleyicisi, dizedeki tüm satırlardan daha uzun girintilenmemeli
  • Example#37 - - Kapanış betimleyicisin girintilenirken sekmeler ve boşluklar birlikte kullanılmamalı
  • Example#38 - - Kapanış betimleyicisinden sonra devam eden ifade
  • Example#39 - - Metin içindeki kapanış betimleyici dizesi ParseError yavrulatır
  • Example#40 - - PHP 7.3.0 öncesi için geçersiz örnek
  • Example#41 - - PHP 7.3.0 öncesi için bile geçerli örnek
  • Example#42 - - Yorumlu metin örneği
  • Example#43 - - Bağımsız değişkenlerde yorumlu metin kullanımı
  • Example#44 - - Statik değer olarak yorumlu metin kullanımı
  • Example#45 - - Yorumlu metin bildiriminde çift tırnak kullanımı
  • Example#46 - - Yorumsuz metin örneği
  • Example#47 - - Değişkenli yorumsuz metin örneği
  • Example#48 - - Statik veri örneği
  • Example#49 - - Basit sözdizimi örneği
  • Example#50 - - Negatif sayısal indisler
  • Example#51 - - Bazı dize örnekleri
  • Example#52 - - Geçersiz dize başlangıçları örneği
  • Example#53 - - Basit bir dizi
  • Example#54 - - Tür Çarpıtma ve Üzerine Yazma örneği
  • Example#55 - - Karışık int ve string anahtarlar
  • Example#56 - - Anahtarsız indisli diziler
  • Example#57 - - Tüm elemanlar için birer anahtar belirtilmeyebilir
  • Example#58 - - Karmaşık Tür Çarpıtma ve Geçersizleştirme örneği
  • Example#59 - - Dizi elemenlarına erişim
  • Example#60 - - Dizi başvurusu
  • Example#61 - - Basit dizi genişletmesi
  • Example#62 - - Yinelenen anahtarlarla dizi genişletme
  • Example#63 - - array kullanımı
  • Example#64 - - Döngü içinde elemen değiştirme
  • Example#65 - - Derlem
  • Example#66 - - İndisi 1'den başlatmak
  • Example#67 - - Diziyi doldurmak
  • Example#68 - - Dizi elemanlarının sıraya sokulması
  • Example#69 - - İç içe ve çok boyutlu diziler
  • Example#70 - - Geriçağırım işlev örnekleri
  • Example#71 - - Örtme kullanan Geriçağırım örneği
  • Example#72 - - Yinelenebilir üreteç dönüş türü örneği
  • Example#73 -
  • Example#74 - - Atıf olarak aktarılan tür bildirimli bağımsız değişkenler
  • Example#75 - - Bağımsız değişkenlerin null olabilmesinin eski yolu
  • Example#76 - - Temel sınıf türü bildirimi
  • Example#77 - - Temel arayüz türü bildirimi
  • Example#78 - - Temel dönüş türü bildirimi
  • Example#79 - - Bir nesne döndürmek
  • Example#80 - - Null olabilen bağımsız değişken bildirimi
  • Example#81 - - Null olabilen dönüş türü bildirimi
  • Example#82 - - Bağımsız değişken değerlerinde katı kodlama
  • Example#83 - - Bağımsız değişken değerlerinde zorlayıcı kodlama
  • Example#84 - - Dönüş değerlerinde katı kodlama
  • Example#85 - - Sınıf özellik türü bildirimi
  • Example#86 - - Birleşimin türlerinden birine zorlama örneği
  • Example#87 - - İlklendirilmemiş değişkenlerin öntanımlı değerleri
  • Example#88 - - global kullanımı
  • Example#89 - - global yerine $GLOBALS kullanımı
  • Example#90 - - Süper küreselleri ve etki alanlarını gösteren örnek
  • Example#91 - - Statik değişkenlere ihtiyacı gösteren örnek
  • Example#92 - - Statik değişkenlerin kullanım örneği
  • Example#93 - - Kendini çağıran işlevlerle statik değişkenler
  • Example#94 - - Statik değişkenlerin bildirimi
  • Example#95 - - Miras alınan yöntemlerde statik değişken kullanımı
  • Example#96 - - Değişken özellik örneği
  • Example#97 - - Basit bir HTML formu
  • Example#98 - - Basit bir POST HTML formundan bilgiye erişim
  • Example#99 - - Daha karmaşık form değişkenleri
  • Example#100 - - setcookie örneği
  • Example#101 - - Geçerli ve geçersiz sabit isimleri
  • Example#102 - - Sabitlerin Tanımlanması
  • Example#103 - - Sabitlerin const ile tanımlanması
  • Example#104 - - Öncelik yönü
  • Example#105 - - Tanımsız değerlendirme sırası
  • Example#106 - +, - ve . aynı önceliğe sahiptir (PHP 8.0.0 öncesi)
  • Example#107 - - PERL dizge artırım örneği
  • Example#108 - - float türüne dönüştürülen abecesayısal dizge
  • Example#109 - - Gönderimli atama
  • Example#110 - - Tamsayılar üzerinde bitsel işlemler
  • Example#111 - - Dizgeler üzerinde bitsel işlemler
  • Example#112 - - Tamsayılarda bit kaydırma
  • Example#113 - - Bool/null karşılaştırması
  • Example#114 - - Özetle Standard Dizi Karşılaştırması
  • Example#115 - - Öntanımlı bir değer atama
  • Example#116 - - İç içe üç terimli davranışı
  • Example#117 - - Kısa üç terimli zinciri
  • Example#118 - - Öntanımlı değer atama
  • Example#119 - - İçiçe null kaynaşma işleci
  • Example#120 - - Örneklerle mantıksal işleçler
  • Example#121 - - Dizilerin karşılaştırılması
  • Example#122 - - instanceof ve sınıflar
  • Example#123 - - Miras alınan sınıflar ve instanceof kullanımı
  • Example#124 - - Bir sınıfın örneği olmayan bir sınıfın instanceof ile sınanması
  • Example#125 - - Arayüzler için instanceof kullanımı
  • Example#126 - - Başka değişkenlerle instanceof kullanımı
  • Example#127 - - Değişkenleri sınamak için instanceof kullanımı
  • Example#128 - - Sabit kullanımını sınamak için instanceof kullanımı
  • Example#129 - - Keyfi ifadelerde instanceof kullanımı
  • Example#130 - - switch yapısı
  • Example#131 - match temel kullanım örneği
  • Example#132 - match ifadesinin yapısı
  • Example#133 - - Başarısız eşleşme hatası örneği
  • Example#134 - - Tamsayı aralıklarında dallanmak için genelleştirilmiş eşleşme ifadelerinin kullanılması
  • Example#135 - - Dize içeriklerde dallanmak için genelleştirilmiş eşleşme ifadelerinin kullanılması
  • Example#136 - - Tik kullanım örneği
  • Example#137 - - Betik için kodlama belirtmek
  • Example#138 - - Basit bir include örneği
  • Example#139 - - İşlev içi include kullanımı
  • Example#140 - - HTTP üzerinden include
  • Example#141 - - include dönüş değerinin karşılaştırılması
  • Example#142 - - include ve return deyimleri
  • Example#143 - - Bir PHP dosyasını bir dizgeye dahil etmek için tampon kullanımı
  • Example#144 - - goto örneği
  • Example#145 - - Döngüden goto ile çıkma örneği
  • Example#146 - - Bu çalışmaz
  • Example#147 - - İşlev kullanımını gösteren sözde kod
  • Example#148 - - Koşula bağlı işlevler
  • Example#149 - - İşlev içinde işlev
  • Example#150 - - Kendini çağıran işlev
  • Example#151 - - İşlevlere dizi aktarımı
  • Example#152 - - Virgül ile sonlanan işlev bağımsız değişkenleri örneği
  • Example#153 - - Gönderimli işlev bağımsız değişkenlerinin aktarımı
  • Example#154 - - İşlev içinde öntanımlı bağımsız değişken kullanımı
  • Example#155 - - Sayıl olmayan türlerin öntanımlı değer olarak kullanımı
  • Example#156 - - Öntanımlı değer olarak nesne kullanımı (PHP 8.1.0 ve sonrası)
  • Example#157 - - Öntanımlı bağımsız değişkenlerin hatalı kullanımı
  • Example#158 - - Öntanımlı bağımsız değişkenlerin doğru kullanımı
  • Example#159 - - Öntanımlı işlev bağımsız değişkenlerinin doğru kullanımı
  • Example#160 - - Seçimliklerin zorunlu bağımsız değişkenlerden sonra bildirimi
  • Example#161 - - Değişken uzunlukta bağımsız değişkenler için ... kullanımı
  • Example#162 - -Bağımsız değişkenlere erişmek için ... kullanımı
  • Example#163 - Değişken bağımsız değişkenlerde tür bildirimi
  • Example#164 - - İsimli bağımsız değişken sözdizimi
  • Example#165 - - Konumsal ve isimli bağımsız değişkenler
  • Example#166 - - Farklı bağımsız değişken sırasıyla yukarıdaki örnek
  • Example#167 - - İsimli bağımsız değişkenlerle konumsal bağımsız değişkenleri birleştirmek
  • Example#168 - - Aynı bağımsız değişkenin birden fazla kullanımında Error yavrulanması
  • Example#169 - - Genişletme sonrası isimli bağımsız değişken kullanımı
  • Example#170 - - return kullanımı
  • Example#171 - - Çok sayıda değeri bir diziyle döndürmek
  • Example#172 - - Bir işlevden gönderim döndürmek
  • Example#173 - - Değişken işlev örneği
  • Example#174 - - Değişken yöntem örneği
  • Example#175 - Statik özellikli yöntem çağrısı örneği
  • Example#176 - Karmaşık çağrılar
  • Example#177 -
  • Example#178 - - Anonim işlev örneği
  • Example#179 - - Değişkene anonim işlev atama örneği
  • Example#180 - Değikenleri üst etki alanından miras almak
  • Example#181 - - Anonim işlevler ve etki alanı
  • Example#182 - $this'in otomatik bağlanması
  • Example#183 - - Statik anonim bir işlevin içinde $this kullanmaya çalışmak
  • Example#184 - - Statik anonim bir işleve bir nesne bağlamaya çalışmak
  • Example#185 - - Ok işlevleri otomatik olarak değişkenleri üst etki alanından daima değerleriyle alır
  • Example#186 - - Ok işlevleri otomatik olarak değişkenleri iç içe olsalar bile üst etki alanından daima değerleriyle alır
  • Example#187 - - Ok işlevi örnekleri
  • Example#188 - - Dış etki alanındaki değerler ok işlevleri kullanılarak değiştirilemez
  • Example#189 - - Basit birinci sınıf çağrılabilir sözdizimi
  • Example#190 - - Geleneksel çağrılabilir ile CallableExpr(...) karşılaştırması
  • Example#191 -
  • Example#192 - - Basit bir sınıf tanımı
  • Example#193 - - $this sözde değişkeninin kullanımı
  • Example#194 -
  • Example#195 -
  • Example#196 - - Bir sınıf örneğinin oluşturulması
  • Example#197 - - Keyfi ifadelerle örnekleme
  • Example#198 - - Nesne Atama
  • Example#199 - - Yeni nesneler oluşturmak
  • Example#200 - - Yeni oluşturulmuş bir nesnenin üyesine erişim
  • Example#201 - - Özelliğe erişim ya da yöntem çağrısı
  • Example#202 - - Bir özelliğe atanmış bir anonim işlevi çağırmak
  • Example#203 - - Basit bir sınıfın miras alınması
  • Example#204 - - Uyumlu çocuk yöntemler
  • Example#205 - - Bir çocuk yöntem bir bağımsız değişkeni kaldırdığında ölümcül hata oluşur
  • Example#206 - - Bir çocuk yöntem isteğe bağlı bir bağımsız değişkeni zorunlu kıldığında ölümcül hata oluşur
  • Example#207 - - Bir çocuk sınıfta isimli bağımsız değişkenler yeniden adlandırıldığında hata oluşur
  • Example#208 - - Sınıf adı çözünürlüğü
  • Example#209 - - Eksik sınıf adı çözümlemesi
  • Example#210 - - Nesne adı çözümlemesi
  • Example#211 - - Güvenli Null İşleci
  • Example#212 - - Özellik bildirimi
  • Example#213 - - Tür ile özellik bildirimi
  • Example#214 - - Özelliklere erişim
  • Example#215 - - Salt-okunur özellik örneği
  • Example#216 - - Salt-okunur özelliklerde hatalı ilklendirme örneği
  • Example#217 -
  • Example#218 -
  • Example#219 -
  • Example#220 - - Bir sabitin tanımlanması ve kullanımı
  • Example#221 - - İsim alanlı ::class örneği
  • Example#222 - - Sınıf sabitinde ifade kullanımı
  • Example#223 - - Sınıf sabiti görünürlük değiştiricileri (PHP 7.1.0 ve sonrası)
  • Example#224 - - Otomatik yükleme örneği
  • Example#225 - - Başka bir otomatik yükleme örneği
  • Example#226 - - Miras almada kurucuların kullanımı
  • Example#227 - - Kurucu bağımsız değişkenlerinin kullanımı
  • Example#228 - - Kurucu özelliği tanıtımının kullanımı
  • Example#229 - Using new in initializers
  • Example#230 - - Statik kurucu yöntemlerinin kullanımı
  • Example#231 - - Yıkıcı Örneği
  • Example#232 - - Özellik bildirimi
  • Example#233 - - Yöntem bildirimi
  • Example#234 - - PHP 7.1.0 ve sonrasında sabit bildirimleri
  • Example#235 - - Aynı nesne türündeki özel üyelere erişim
  • Example#236 -
  • Example#237 - Kalıtım Örneği
  • Example#238 - - Dönüş türünü bildirmeyen geçersiz kılma yöntemi
  • Example#239 - - Yanlış dönüş türü bildiren geçersiz kılma yöntemi
  • Example#240 - - Yanlış dönüş türü bildiren ama kullanımı önerilmiyor uyarısı vermeyen geçersiz kılma yöntemi
  • Example#241 - - Sınıf tanımı dışında ::
  • Example#242 - - Sınıf tanımı içinde ::
  • Example#243 - - Ebeveynin yöntemini çağırmak
  • Example#244 - - Statik yöntem örneği
  • Example#245 - - Statik özellik örneği
  • Example#246 - - Soyut sınıf örneği
  • Example#247 - -Soyut sınıf örneği
  • Example#248 - - Arayüz örneği
  • Example#249 - - Genişletilebilir Arayüzler
  • Example#250 - - Çoklu arayüzlerle özgüllük uyumluluğu
  • Example#251 - - Çok sayıda arayüz oluşturma
  • Example#252 - - Arayüzler ve sabitleri
  • Example#253 - - Soyut sınıflı arayüzler
  • Example#254 - - Aynı anda genişletme ve gerçekleme
  • Example#255 - - Nitelik örneği
  • Example#256 - - Öncelik sırası örneği
  • Example#257 - - Bir diğer öncelik sırası örneği
  • Example#258 - - Çok sayıda niteliğin kullanımı
  • Example#259 - - Çelişki çözümleme örneği
  • Example#260 - - Yöntem görünürlüğünü değiştirme örneği
  • Example#261 - - Niteliklerden nitelik oluşturma örneği
  • Example#262 - - Gereksinimlerin soyut yöntemlerle ifadesi
  • Example#263 - - Statik Değişkenler
  • Example#264 - - Statik Yöntemler
  • Example#265 - - Statik Özellikler
  • Example#266 - - Özellik tanımlama örneği
  • Example#267 - - Çelişki yaratma örneği
  • Example#268 - - Sabitlerin Tanımlanması
  • Example#269 - - Çelişki Çözümleme
  • Example#270 - - __get(),
    __set(),
    __isset() ve
    __unset() ile
    aşırı yükleme örneği
  • Example#271 - - __call() ve __callStatic() ile aşırı yüklü örneklenmiş yöntemler
  • Example#272 - - Basit Nesne Yineleme
  • Example#273 - - Uyutma ve uyandırma
  • Example#274 - - Dizileştirme ve Nesneleştirme
  • Example#275 - - Basit bir örnek
  • Example#276 - - __invoke() kullanımı
  • Example#277 - - __invoke() kullanımı
  • Example#278 - - __set_state() kullanımı
  • Example#279 - - __debugInfo() kullanımı
  • Example#280 - - final yöntem örneği
  • Example#281 - - final sınıf örneği
  • Example#282 - - PHP 8.1.0 ve sonrasında Final sabit örneği
  • Example#283 - - Bir nesnenin kopyalanması
  • Example#284 - - Yeni kopyalanmış nesnenin üyesine erişim
  • Example#285 - - Nesne karşılaştırma örneği
  • Example#286 - - self:: kullanımı
  • Example#287 - - static:: kullanımı
  • Example#288 - - Statik olmayan bağlamda static:: kullanımı
  • Example#289 - - Ötelenen ve ötelenmeyen çağrılar
  • Example#290 - - Gönderimler ve Nesneler
  • Example#291 - - İsim alanı söz dizimi örneği
  • Example#292 - - Tek bir isim alanı bildirimi
  • Example#293 - - Tek bir isim alanı bildirimi
  • Example#294 - - Tek bir isim alanının hiyerarşik bildirimi
  • Example#295 - - Birden fazla isim alanın ayrımsız ardarda bildirilmesi
  • Example#296 - - Birden fazla isim alanın ayraçlı olarak bildirilmesi
  • Example#297 - - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi
  • Example#298 - - Birden fazla isim alanın isim alansız kodla birlikte bildirilmesi
  • Example#299 - - Küresel sınıf, işlev ve sabitlere bir isim alanı içinden erişim
  • Example#300 - - Dinamik olarak erişilen elemanlar
  • Example#301 - - Dinamik olarak erişilen isim alanlı elemanlar
  • Example#302 - - İsim alanlı kod, __NAMESPACE__ örneği
  • Example#303 - - Küresel kod, __NAMESPACE__ örneği
  • Example#304 - - Dinamik isim oluşturmak için __NAMESPACE__ kullanımı
  • Example#305 - - Bir isim alanı içinde namespace işleci
  • Example#306 - - Küresel kod içinde namespace işleci
  • Example#307 - - use işleci ile ithal/takma ad kullanımı
  • Example#308 - - use işleci ile rumuz/ithal, çoklu use kullanımı
  • Example#309 - - İthal işlemi ve dinamik isimler
  • Example#310 - - İthal işlemi ve tamamen nitelenmiş isimler
  • Example#311 - - Usülsüz ithal kuralı
  • Example#312 - - Küresel alan belirtiminin kullanımı
  • Example#313 - - Küresel sınıflara bir isim alanı içinde erişim
  • Example#314 - - Bir isim alanı içinde son çare olarak küresel işlev ve sabitlerin kullanımı
  • Example#315 - - Örneklerle İsim Çözünürlüğü
  • Example#316 - - Küresel sınıflara bir isim alanı dışından erişim
  • Example#317 - - Küresel sınıflara bir isim alanı dışından erişim
  • Example#318 - - İsim alanı içinden yerleşik sınıflara erişim
  • Example#319 - - İsim alanındaki dahili sınıf, işlev ve sabitlere erişim
  • Example#320 - - Tamamen nitelenmiş isimler
  • Example#321 - - Nitelenmiş isimler
  • Example#322 - - Nitelenmemiş sınıf isimleri
  • Example#323 - - Nitelenmemiş işlev veya sabit isimleri
  • Example#324 - - İsim alanlı isimleri çift tırnaklar arasında kullanmak tehlikelidir
  • Example#325 - - Tanımsız sabitler
  • Example#326 - - Tanımsız sabitler
  • Example#327 - - Basit sınırlı değerler
  • Example#328 - - Daha ileri özel değerler
  • Example#329 - - Hata raporlamayı istisnalara dönüştürme örneği
  • Example#330 - - Bir İstisna Oluşturmak
  • Example#331 - - Bir finally bloğu ile istisnanın işleme sokulması
  • Example#332 - - finally bloğu ile return arasındaki etkileşim örneği
  • Example#333 - - İç içe istisnalar
  • Example#334 - Çoklu catch istisna eldesi
  • Example#335 - - Yakalama değişkeninin olmayışı
  • Example#336 - - Bir ifade olarak throw
  • Example#337 - - Yerleşik Exception sınıfı
  • Example#338 - - Exception sınıfının genişletilmesi
  • Example#339 - - Temel kullanım örneği
  • Example#340 - - range işlevini bir üreteç olarak gerçeklemek
  • Example#341 - - Basit bir yield örneği
  • Example#342 - - Bir anahtar/değer çifti üretimi
  • Example#343 - - null üretmek
  • Example#344 - - Değerleri başvuruya göre üretmek
  • Example#345 - - iterator_to_array ile yield from
  • Example#346 - - yield from için temel kullanım
  • Example#347 - - yield from ve dönen değerler
  • Example#348 - - Bir arayüzün isteğe bağlı yöntemlerini özniteliklerle gerçeklemek
  • Example#349 - - Öznitelik Sözdizimi
  • Example#350 - - Özniteliklerin Yansıtma Arayüzü kullanılarak Okunması
  • Example#351 - - Yansıtma Arayüzünü kullanarak istenen özniteliklerin okunması
  • Example#352 - - Basit Öznitelik sınıfı
  • Example#353 - - Özniteliklerin kullanılabileceği yerleri kısıtlamak için hedef belirtiminin kullanımı
  • Example#354 - - Özniteliğin bir bildirimle defalarca kullanılabilmesi için IS_REPEATABLE kullanımı
  • Example#355 - - Gönderimlerin tanımlanmamış değişkenlerle kullanımı
  • Example#356 - - İşlev içinde küresel değişkenlere gönderim
  • Example#357 - - foreach döngüsü içinde gönderim
  • Example#358 - - $GLOBALS örneği
  • Example#359 - - $GLOBALS dizisini yeniden yazmak hataya yol açar.
  • Example#360 - - $_SERVER örneği
  • Example#361 - - $_GET örneği
  • Example#362 - - $_POST örneği
  • Example#363 - - $_ENV örneği
  • Example#364 - $_COOKIE örneği
  • Example#365 - - $php_errormsg örneği
  • Example#366 - - $http_response_header örneği
  • Example#367 - - $argc örneği
  • Example#368 - - $argv örneği
  • Example#369 - - Exception::getMessage örneği
  • Example#370 - - Exception::getPrevious örneği
  • Example#371 - - Exception::getCode örneği
  • Example#372 - - Exception::getFile örneği
  • Example#373 - - Exception::getLine örneği
  • Example#374 - - Exception::getTrace örneği
  • Example#375 - - Exception::getTraceAsString örneği
  • Example#376 - - Exception::__toString örneği
  • Example#377 - - Hata iletilerinin set_error_handler ile ErrorException içinde döndürülmesi
  • Example#378 - - ErrorException::getSeverity örneği
  • Example#379 - - Error::getMessage örneği
  • Example#380 - - Error::getPrevious örneği
  • Example#381 - - Error::getCode örneği
  • Example#382 - - Error::getFile örneği
  • Example#383 - - Error::getLine örneği
  • Example#384 - - Error::getTrace örneği
  • Example#385 - - Error::getTraceAsString örneği
  • Example#386 - - Error::__toString örneği
  • Example#387 - Temel Kullanımı
  • Example#388 - - Temel kullanımı
  • Example#389 - Temel kullanım
  • Example#390 - - ArrayAccess::offsetExists örneği
  • Example#391 - - Temel kullanım
  • Example#392 - - Closure::bind örneği
  • Example#393 - - Closure::bindTo örneği
  • Example#394 - - Closure::call örneği
  • Example#395 - - Tür dönüşümüyle nesneye dönüştürerek örnekleme
  • Example#396 - - json_decode ile örnekleme
  • Example#397 - - Dinamik özelliklerin bildirilmesi
  • Example#398 - - Generator::getReturn örneği
  • Example#399 - - Generator::key örneği
  • Example#400 - - Değer yerleştirmek içinGenerator::send kullanımı
  • Example#401 - - Bir üreteçte istisna yavrulama
  • Example#402 - - Temel WeakReference Kullanımı
  • Example#403 - - Weakmap kullanım örneği
  • Example#404 - - Stringable Temel Kullanımı
  • Example#405 - - Temel kullanım örneği
  • Example#406 - - Temel kullanım örneği
  • Example#407 - - Temel kullanım örneği
  • Example#408 - - var_dump işlevine SensitiveParameterValue nesnesinin aktarılması
  • Example#409 - - SensitiveParameterValue::getValue örneği
  • Example#410 -
  • Example#411 -
  • Example#412 - - Temel bindto kullanım örneği
  • Example#413 - - Bir sayfayı çekip veriyi POST ile göndermek
  • Example#414 - - Başlıklar ve içerik alınırken yönlendirmeleri yoksaymak
  • Example#415 - - Basit password kullanım örneği
  • Example#416 - - Yönlendirmelerin ardından nereye geldiğimizi saptamak
  • Example#417 - - php://temp/maxmemory
  • Example#418 - - php://filter/resource=<süzülecek akım>
  • Example#419 - - php://filter/read=<okuma zincirine uygulanacak süzgeç listesi>
  • Example#420 - - php://filter/write=<yazma zincirine uygulanacak süzgeç listesi>
  • Example#421 - - php://memory ve php://temp yeniden kullanılamaz
  • Example#422 - - data:// içeriğini basmak
  • Example#423 - - Ortam türünü alıp getirmek
  • Example#424 - - Temel kullanım
  • Example#425 - - Etkin bir bağlantıda bir akım açmak
  • Example#426 - - Bu $session değişkeni hazır tutulmalıdır!
  • Example#427 - - Bir RAR arşinde gezinmek
  • Example#428 - - Şifreli bir dosyanın açılması (başlık şifreleme)
  • Example#429 - - Değişkenler başınıza iş açabilir...
  • Example#430 - ... Bir dosya sistemi saldırısı
  • Example#431 - - Daha güvenilir bir dosya silme betiği
  • Example#432 - - Daha da güvenilir bir dosya silme betiği
  • Example#433 - - Boş baytlardan olumsuz etkilenen bir betik
  • Example#434 - - Girdiyi doğru şekilde ele almak
  • Example#435 - Hashing password field
  • Example#436 - Splitting the result set into pages ... and making superusers (PostgreSQL)
  • Example#437 - Listing out articles ... and some passwords (any database server)
  • Example#438 - From resetting a password ... to gaining more privileges (any database server)
  • Example#439 - Attacking the database host operating system (MSSQL Server)
  • Example#440 - Avoiding SQL injection by using PDO prepared statements
  • Example#441 - Attacking Variables with a custom HTML page
  • Example#442 - Exploiting common debugging variables
  • Example#443 - Finding dangerous variables with E_ALL
  • Example#444 - - Tehlikeli Değişken Kullanımı
  • Example#445 - - PHP'yi başka bir dil olarak göstermek
  • Example#446 - - PHP uzantısı olarak bilinmeyen bir uzantı kullanmak
  • Example#447 - - PHP uzantısı olarak HTML uzantılarını kullanmak
  • Example#448 - - Temel HTTP Kimlik Doğrulaması örneği
  • Example#449 - - Özet HTTP Kimlik Doğrulaması örneği
  • Example#450 - - Yeni kullanıcı adı va parolası girmeye zorlayan bir HTTP kimlik doğrulama örneği
  • Example#451 - - Basit bir XForms arama formu
  • Example#452 - - $_POST elde etmek için bir XFrom kullanımı
  • Example#453 - - Karşıya Dosya Yükleme Formu
  • Example#454 - - Dosya yüklemelerinin doğrulanması
  • Example#455 - - Dosya dizisi yükleme
  • Example#456 - - Çoklu dosya yükleme
  • Example#457 - - Dizinin tamamen karşıya yüklenmesi
  • Example#458 - - HTTP PUT dosyalarının kaydedilmesi
  • Example#459 - - Uzak sayfanın başlığını elde etmek
  • Example#460 - - Veriyi uzak sunucuda saklamak
  • Example#461 - - CLI SAPI farkını gösteren örnek:
  • Example#462 -
  • Example#463 - - Yerleşik (ve yüklü) PHP ve Zend modüllerinin listelenmesi
  • Example#464 - - Çift tırnak kullanımında bir çözümleme hatasının gösterilmesi
  • Example#465 - - Kabuğun değişken dönüşümü yapmasını engellemek için tek tırnakların kullanımı
  • Example#466 - - Bir projedeki satır sayısını saymak için -B, -R ve -E seçeneklerinin kullanımı
  • Example#467 - - PHP ve Zend sürümleri ile SAPI ismini çıktılamak için -v kullanımı
  • Example#468 - - --ini örneği
  • Example#469 - - Temel --rf kullanımı
  • Example#470 - - --rc örneği
  • Example#471 - - --re örneği
  • Example#472 - - --ri örneği
  • Example#473 - - PHP betiğini kabuk betiği olarak çalıştırmak
  • Example#474 - - Komut satırından çalıştırılması planlanan betik (betik.php)
  • Example#475 - - Bir komut satırı PHP betiği çalıştırmak için yığın dosyası (betik.bat)
  • Example#476 - - Etkileşimli kabuk kullanarak kod çalıştırmak
  • Example#477 - - Kod tamamlama
  • Example#478 - - Etkileşimli kabukta php.ini ayarlarını değiştirmek
  • Example#479 - - HTTP sunucusunun başlatılması
  • Example#480 - - Belge kök dizini belirterek başlatma
  • Example#481 - - Yönlendirici betik belirtmek
  • Example#482 - - CLI Sunucusunda kullanmadan önce betiği sınamak
  • Example#483 - - Desteklenmeyen Dosya Türlerinin İşlenmesi
  • Example#484 - - CLI sunucusuna uzak makinelerden erişim
  • Example#485 - Creating a new zval container
  • Example#486 - Displaying zval information
  • Example#487 - Increasing refcount of a zval
  • Example#488 - Decreasing zval refcount
  • Example#489 - Creating a array zval
  • Example#490 - Adding already existing element to an array
  • Example#491 - Removing an element from an array
  • Example#492 - Adding the array itself as an element of it self
  • Example#493 - Unsetting $a
  • Example#494 - Memory usage example
  • Example#495 - GC performance influences
  • Example#496 - Running the above script
  • Example#497 - Recompiling PHP to enable GC benchmarking
  • Example#498 - GC statistics
  • Example#499 - all_probes.d for tracing all PHP Static Probes with DTrace
  • Example#500 - all_probes.stp for tracing all PHP Static Probes with SystemTap
  • Example#501 - A apcu_add example
  • Example#502 - A apcu_cache_info example
  • Example#503 - apcu_cas example
  • Example#504 - apcu_dec example
  • Example#505 - A apcu_delete example
  • Example#506 - An apcu_entry example
  • Example#507 - apcu_exists example
  • Example#508 - A apcu_fetch example
  • Example#509 - apcu_inc example
  • Example#510 - A apcu_key_info example
  • Example#511 - A apcu_sma_info example
  • Example#512 - A apcu_store example
  • Example#513 - A APCUIterator::__construct example
  • Example#514 - Bir betikte hataların yakalanıp işleme sokulması
  • Example#515 - - debug_backtrace örneği
  • Example#516 - - debug_print_backtrace örneği
  • Example#517 - - error_clear_last örneği
  • Example#518 - - error_get_last örneği
  • Example#519 - - error_log örnekleri
  • Example#520 - - error_reporting örnekleri
  • Example#521 - - restore_error_handler örneği
  • Example#522 - - restore_exception_handler örneği
  • Example#523 - - set_error_handler ve trigger_error ile hataların ele alınması
  • Example#524 - - set_exception_handler örneği
  • Example#525 - - trigger_error örneği
  • Example#526 - Calling a function from shared library
  • Example#527 - Calling a function, returning a structure through an argument
  • Example#528 - Accessing existing C variables
  • Example#529 - Creating and Modifying C variables
  • Example#530 - Working with C arrays
  • Example#531 - Working with C enums
  • Example#532 -
  • Example#533 -
  • Example#534 - - Çıktı Denetimi örneği
  • Example#535 - - Çıktının yeniden yazılması örneği
  • Example#536 - - ob_end_clean örneği
  • Example#537 - - ob_end_flush örneği
  • Example#538 - - Basit bir ob_get_clean örneği
  • Example#539 - - ob_get_contents örneği
  • Example#540 - - ob_get_flush örneği
  • Example#541 - - ob_get_length örneği
  • Example#542 - - ob_gzhandler örneği
  • Example#543 - - ob_list_handlers işlevi
  • Example#544 - - Kullanıcı tanımlı geriçağırım işlevi örneği
  • Example#545 - - Çıktı tamponunun silinmesini önleyen kod örneği
  • Example#546 - - output_add_rewrite_var örneği
  • Example#547 - - output_reset_rewrite_vars örneği
  • Example#548 - - assert_options örneği
  • Example#549 - - Özel bir sav olmaksızın beklentiler
  • Example#550 - - Özel bir sav varken beklentiler
  • Example#551 - - Başarısız bir savın özel bir işleyici ile işlenmesi
  • Example#552 - - Açıklama basmak için özel işleyici kullanımı
  • Example#553 - - cli_get_process_title örneği
  • Example#554 - - cli_set_process_title örneği
  • Example#555 - - dl örnekleri
  • Example#556 - - extension_loaded örneği
  • Example#557 - - gc_enabled örneği
  • Example#558 - - gc_status örneği
  • Example#559 - - get_current_user örneği
  • Example#560 - - get_defined_constants örneği
  • Example#561 - - XML işlevlerinin listesi
  • Example#562 - - get_include_path örneği
  • Example#563 - - get_included_files örneği
  • Example#564 - - get_loaded_extensions örneği
  • Example#565 - - Tür'süz get_resources örneği
  • Example#566 - - Tür'lüget_resources örneği
  • Example#567 - - getenv örneği
  • Example#568 - - getlastmod örneği
  • Example#569 - - getopt örneği - temeller
  • Example#570 - - getopt ve uzun seçenekler
  • Example#571 - - getopt ve çoklu-tek seçenek
  • Example#572 - getopt ve kalan_indisi kullanımı
  • Example#573 - - getrusage örneği
  • Example#574 - - ini_get_all örnekleri
  • Example#575 - - Ayrıntısız listeleme
  • Example#576 - - ini_get örnekleri
  • Example#577 - A few ini_parse_quantity examples
  • Example#578 - - ini_restore örneği
  • Example#579 - - Bir INI yönergesine değer atamak
  • Example#580 - - memory_get_usage örneği
  • Example#581 - memory_reset_peak_usage example
  • Example#582 - - php_ini_loaded_file örneği
  • Example#583 - - Dönen ini dosyalarının listelenmesi
  • Example#584 - - php_sapi_name örneği
  • Example#585 - - php_uname örnekleri
  • Example#586 - - İşletim sistemine göre bazı sabit örnekleri
  • Example#587 - - Genel katkıcıların listelenmesi
  • Example#588 - - Çekirdek geliştiricilerin ve belgelendirme ekibinin listelenmesi
  • Example#589 - - Tüm katkıcıların listelenmesi
  • Example#590 - - phpinfo örneği
  • Example#591 - - phpversion örneği
  • Example#592 - - PHP_VERSION_ID örneği
  • Example#593 - - Bir ortam değişkeninin atanması
  • Example#594 - - restore_include_path örneği
  • Example#595 - - set_include_path örneği
  • Example#596 - - İçerilecek dosyaların aranacağı yollara bir yenisini eklemek
  • Example#597 - - sys_get_temp_dir örneği
  • Example#598 - - version_compare örnekleri
  • Example#599 - - zend_thread_id örneği
  • Example#600 - - zend_version örneği
  • Example#601 - Custom Superglobals with runkit.superglobal=_FOO,_BAR in php.ini
  • Example#602 - A runkit7_function_add example
  • Example#603 - A runkit7_function_copy example
  • Example#604 - A runkit7_function_redefine example
  • Example#605 - runkit7_method_add example
  • Example#606 - runkit7_method_copy example
  • Example#607 - runkit7_method_redefine example
  • Example#608 - runkit7_method_remove example
  • Example#609 - runkit7_method_rename example
  • Example#610 - runkit7_zval_inspect example
  • Example#611 - Basic uopz_add_function Usage
  • Example#612 - uopz_allow_exit example
  • Example#613 - uopz_backup example
  • Example#614 - uopz_compose example
  • Example#615 - uopz_copy example
  • Example#616 - Basic uopz_del_function Usage
  • Example#617 - uopz_delete example
  • Example#618 - uopz_delete class example
  • Example#619 - uopz_extend example
  • Example#620 - uopz_flags example
  • Example#621 - "Unfinalize" a Class
  • Example#622 - uopz_function example
  • Example#623 - uopz_function class example
  • Example#624 - uopz_get_exit_status example
  • Example#625 - Basic uopz_get_hook Usage
  • Example#626 - uopz_get_mock example
  • Example#627 - Basic uopz_get_property Usage
  • Example#628 - uopz_get_return example
  • Example#629 - Basic uopz_get_static Usage
  • Example#630 - uopz_implement example
  • Example#631 - uopz_overload example
  • Example#632 - uopz_redefine example
  • Example#633 - uopz_rename example
  • Example#634 - uopz_rename class example
  • Example#635 - uopz_restore example
  • Example#636 - Basic uopz_set_hook Usage
  • Example#637 - uopz_set_mock example
  • Example#638 - uopz_set_mock example
  • Example#639 - uopz_set_mock and static members
  • Example#640 - Basic uopz_set_property Usage
  • Example#641 - uopz_set_return example
  • Example#642 - uopz_set_return example
  • Example#643 - uopz_set_return class example
  • Example#644 - Basic uopz_set_static Usage
  • Example#645 - uopz_undefine example
  • Example#646 - Basic uopz_unset_hook Usage
  • Example#647 - uopz_unset_mock example
  • Example#648 - uopz_unset_return example
  • Example#649 - wincache.ignorelist example
  • Example#650 - Authentication configuration for wincache.php
  • Example#651 - Enabling WinCache session handler
  • Example#652 - Enabling WinCache functions reroutes
  • Example#653 - Reroute.ini file content
  • Example#654 - A wincache_fcache_fileinfo example
  • Example#655 - A wincache_fcache_meminfo example
  • Example#656 - Using wincache_lock
  • Example#657 - A wincache_ocache_fileinfo example
  • Example#658 - A wincache_ocache_meminfo example
  • Example#659 - A wincache_refresh_if_changed example
  • Example#660 - A wincache_rplist_fileinfo example
  • Example#661 - A wincache_rplist_meminfo example
  • Example#662 - A wincache_scache_info example
  • Example#663 - A wincache_scache_meminfo example
  • Example#664 - wincache_ucache_add with key as a string
  • Example#665 - wincache_ucache_add with key as an array
  • Example#666 - Using wincache_ucache_cas
  • Example#667 - using wincache_ucache_clear
  • Example#668 - Using wincache_ucache_dec
  • Example#669 - Using wincache_ucache_delete with key as a string
  • Example#670 - Usingwincache_ucache_delete with key as an array
  • Example#671 - Using wincache_ucache_delete with key as an array where some elements cannot be deleted
  • Example#672 - Using wincache_ucache_exists
  • Example#673 - wincache_ucache_get with key as a string
  • Example#674 - wincache_ucache_get with key as an array
  • Example#675 - Using wincache_ucache_inc
  • Example#676 - Using wincache_ucache_info
  • Example#677 - A wincache_ucache_meminfo example
  • Example#678 - wincache_ucache_set with key as a string
  • Example#679 - wincache_ucache_set with key as an array
  • Example#680 - Using wincache_unlock
  • Example#681 - Xhprof example with the optional GUI
  • Example#682 - xhprof_disable example
  • Example#683 - xhprof_enable examples
  • Example#684 - xhprof_sample_disable example
  • Example#685 - Make sure the item is stored
  • Example#686 - Using CHAP passwords
  • Example#687 - radius_acct_open example
  • Example#688 - radius_add_server example
  • Example#689 - radius_auth_open example
  • Example#690 - radius_create_request example
  • Example#691 - radius_cvt_addr example
  • Example#692 - radius_cvt_int example
  • Example#693 - radius_cvt_string example
  • Example#694 - radius_get_attr example
  • Example#695 - radius_get_tagged_attr_data example
  • Example#696 - radius_get_tagged_attr_tag example
  • Example#697 - radius_get_vendor_attr example
  • Example#698 - radius_put_attr example
  • Example#699 - radius_put_int example
  • Example#700 - radius_put_string example
  • Example#701 - radius_put_vendor_attr example
  • Example#702 - Readline Callback Interface Example
  • Example#703 - readline Example
  • Example#704 - - Basit bzip2 örneği
  • Example#705 - - Veri sıkıştırma
  • Example#706 - - Bir dizgenin sıkıştırmasının açılması
  • Example#707 - - bzerror örneği
  • Example#708 - - bzopen örneği
  • Example#709 - - bzread örneği
  • Example#710 - - bzwrite örneği
  • Example#711 - Using an external file
  • Example#712 - Using a file within a phar archive
  • Example#713 - Converting a phar archive from phar to tar file format
  • Example#714 - phar.cache_list usage example
  • Example#715 - A Phar::addEmptyDir example
  • Example#716 - A Phar::addFile example
  • Example#717 - A Phar::addFromString example
  • Example#718 - A Phar::apiVersion example
  • Example#719 - A Phar::buildFromDirectory example
  • Example#720 - A Phar::buildFromIterator with SplFileInfo
  • Example#721 - A Phar::buildFromIterator with other iterators
  • Example#722 - A Phar::canCompress example
  • Example#723 - A Phar::canWrite example
  • Example#724 - A Phar::compress example
  • Example#725 - A Phar::compressFiles example
  • Example#726 - A Phar::__construct example
  • Example#727 - A Phar::convertToData example
  • Example#728 - A Phar::convertToExecutable example
  • Example#729 - A Phar::copy example
  • Example#730 - A Phar::count example
  • Example#731 - A Phar::createDefaultStub example
  • Example#732 - A Phar::decompress example
  • Example#733 - A Phar::decompressFiles example
  • Example#734 - A Phar::delMetaData example
  • Example#735 - A Phar::delete example
  • Example#736 - A Phar::extractTo example
  • Example#737 - A Phar::getMetadata example
  • Example#738 - A Phar::getStub example
  • Example#739 - A Phar::hasMetadata example
  • Example#740 - A Phar::interceptFileFuncs example
  • Example#741 - A Phar::interceptFileFuncs example
  • Example#742 - A Phar::isBuffering example
  • Example#743 - A Phar::isCompressed example
  • Example#744 - A Phar::loadPhar example
  • Example#745 - A Phar::mapPhar example
  • Example#746 - A Phar::mount example
  • Example#747 - A Phar::mungServer example
  • Example#748 - A Phar::offsetExists example
  • Example#749 - Phar::offsetGet example
  • Example#750 - A Phar::offsetSet example
  • Example#751 - A Phar::offsetUnset example
  • Example#752 - A Phar::running example
  • Example#753 - A Phar::setAlias example
  • Example#754 - A Phar::setDefaultStub example
  • Example#755 - A Phar::setMetadata example
  • Example#756 - A Phar::setStub example
  • Example#757 - A Phar::startBuffering example
  • Example#758 - A Phar::stopBuffering example
  • Example#759 - A Phar::unlinkArchive example
  • Example#760 - A Phar::webPhar example
  • Example#761 - A PharData::addEmptyDir example
  • Example#762 - A PharData::addFile example
  • Example#763 - A PharData::addFromString example
  • Example#764 - A PharData::buildFromDirectory example
  • Example#765 - A PharData::buildFromIterator with SplFileInfo
  • Example#766 - A PharData::buildFromIterator with other iterators
  • Example#767 - A PharData::compress example
  • Example#768 - A PharData::compressFiles example
  • Example#769 - A PharData::__construct example
  • Example#770 - A PharData::convertToData example
  • Example#771 - A PharData::convertToExecutable example
  • Example#772 - A PharData::copy example
  • Example#773 - A PharData::decompress example
  • Example#774 - A PharData::decompressFiles example
  • Example#775 - A PharData::delMetaData example
  • Example#776 - A PharData::delete example
  • Example#777 - A PharData::extractTo example
  • Example#778 - A PharData::offsetSet example
  • Example#779 - A PharData::offsetUnset example
  • Example#780 - A Phar::setMetadata example
  • Example#781 - A PharFileInfo::chmod example
  • Example#782 - A PharFileInfo::compress example
  • Example#783 - A PharFileInfo::__construct example
  • Example#784 - A PharFileInfo::decompress example
  • Example#785 - A PharFileInfo::delMetaData example
  • Example#786 - A PharFileInfo::getCRC32 example
  • Example#787 - A PharFileInfo::getCompressedSize example
  • Example#788 - A PharFileInfo::getMetadata example
  • Example#789 - A PharFileInfo::getPharFlags example
  • Example#790 - A PharFileInfo::isCRCChecked example
  • Example#791 - A PharFileInfo::isCompressed example
  • Example#792 - A PharFileInfo::setMetadata example
  • Example#793 - Rar installation
  • Example#794 - On-the-fly decompression
  • Example#795 - RAR extension filesystem extraction example
  • Example#796 - Nesne yönelimli kullanım
  • Example#797 - Yordamsal kullanım
  • Example#798 - Nesne yönelimli kullanım
  • Example#799 - Yordamsal kullanım
  • Example#800 - Nesne yönelimli kullanım
  • Example#801 - Yordamsal kullanım
  • Example#802 - Nesne yönelimli kullanım
  • Example#803 - Yordamsal kullanım
  • Example#804 - Nesne yönelimli kullanım
  • Example#805 - Yordamsal kullanım
  • Example#806 - Nesne yönelimli kullanım
  • Example#807 - Yordamsal kullanım
  • Example#808 - Nesne yönelimli kullanım
  • Example#809 - Yordamsal kullanım
  • Example#810 - Volume Callback
  • Example#811 - Nesne yönelimli kullanım
  • Example#812 - Yordamsal kullanım
  • Example#813 - RarArchive::__toString example
  • Example#814 - RarEntry::extract example
  • Example#815 - How to extract all files in archive:
  • Example#816 - RarEntry::getAttr example
  • Example#817 - RarEntry::getHostOs example (version >= 2.0.0)
  • Example#818 - RarEntry::getHostOs example (version <= 1.0.0)
  • Example#819 - RarEntry::getMethod example
  • Example#820 - RarEntry::getName example
  • Example#821 - RarEntry::getPackedSize example
  • Example#822 - RarEntry::getStream example
  • Example#823 - RarEntry::getUnpackedSize example
  • Example#824 - RarEntry::getVersion example
  • Example#825 - RarException::isUsingExceptions example
  • Example#826 - RarException::setUsingExceptions example
  • Example#827 - - Bir Zip arşivi oluşturmak
  • Example#828 - - Arşiv bilgilerinin dökümü ve listelenmesi
  • Example#829 - - Zip akım sarmalayıcı; bir OpenOffice meta bilgisini okur
  • Example#830 - - Zip kullanım örneği (PHP 4)
  • Example#831 - - Bir arşivde boş bir dizin oluşturmak
  • Example#832 - - Aç ve ekle
  • Example#833 - - Arşive yeni bir girdi eklemek
  • Example#834 - - Bir dosyayı arşivdeki bir dizine eklemek
  • Example#835 - ZipArchive::addGlob example
  • Example#836 - ZipArchive::addPattern example
  • Example#837 - - İndisini kullanarak arşivden bir dosya silmek
  • Example#838 - - İsmini kullanarak arşivden bir dosya silmek
  • Example#839 - - Tüm girdileri çıkarmak
  • Example#840 - - İki girdi çıkarmak
  • Example#841 - - Bir arşiv açıklamasını basmak
  • Example#842 - Test if archive is a torrentzip format
  • Example#843 - - Bir girdinin açıklamasını basmak
  • Example#844 - - Bir girdinin açıklamasını basmak
  • Example#845 - Extract all entries with Unix rights
  • Example#846 - - Dosya içeriğini basmak
  • Example#847 - - Dosya içeriğinin basılması
  • Example#848 - - Bir zip girdisindeki resimde dönüşüm
  • Example#849 - - ZipArchive::getNameIndex örneği
  • Example#850 - - Girdi içeriğini fread ile alıp saklamak
  • Example#851 - - fopen ve zip akım sarmalayıcı kullanmak dışında yukarıdaki ile aynı
  • Example#852 - - Akım sarmalayıcı ve resim, XML işleviyle de kullanılabilir
  • Example#853 - Get the entry contents with fread and store it
  • Example#854 - Get the entry contents with fread and store it
  • Example#855 - - Bir arşiv oluşturup üzerinde ZipArchive::locateName kullanmak
  • Example#856 - - Bir arşivi açıp içeriğini dökmek
  • Example#857 - - Bir arşiv oluşturmak
  • Example#858 - - Geçici bir arşiv oluşturma
  • Example#859 - Archive a file
  • Example#860 - Archive a file
  • Example#861 - - Bir girdinin ismini değiştirmek
  • Example#862 - - Bir girdinin ismini değiştirmek
  • Example#863 - Open and replace
  • Example#864 - - Bir arşiv oluşturup bir açıklama eklemek
  • Example#865 - Create a torrentzip archive
  • Example#866 - - Bir arşiv açıp bir girdiye açıklama eklemek
  • Example#867 - - Bir arşiv açıp bir girdiye açıklama eklemek
  • Example#868 - Add files with different compression methods to an archive
  • Example#869 - Add files with different compression methods to an archive
  • Example#870 - Add file and set compression method
  • Example#871 - Archive and encrypt a file
  • Example#872 - Archive a file, with its Unix rights
  • Example#873 - Archive a file
  • Example#874 - Archive a file
  • Example#875 - - Bir girdiyle ilgili bilgilerin dökümü
  • Example#876 - - Bir girdiyle ilgili bilgilerin dökümü
  • Example#877 - - Küçük bir Zlib örneği
  • Example#878 - - Ardışık sıkıştırma ve açma arayüzü örneği
  • Example#879 - - gzclose örneği
  • Example#880 - - gzcompress örneği
  • Example#881 - - gzdeflate örneği
  • Example#882 - - Bir gzip dosyası oluşturmak
  • Example#883 - - gzeof örneği
  • Example#884 - - gzfile örneği
  • Example#885 - - gzgetc örneği
  • Example#886 - - gzgets örneği
  • Example#887 - - gzgetss örneği
  • Example#888 - - gzinflate örneği
  • Example#889 - - gzopen örneği
  • Example#890 - - gzpassthru örneği
  • Example#891 - - gzread örneği
  • Example#892 - - gzseek örneği
  • Example#893 - - gzuncompress örneği
  • Example#894 - - gzwrite örneği
  • Example#895 - zlib_encode example
  • Example#896 - - hash_algos örneği
  • Example#897 - - hash_copy örneği
  • Example#898 - - hash_equals örneği
  • Example#899 - - hash_file örneği
  • Example#900 - - hash_hkdf örneği
  • Example#901 - - hash_hmac_algos örneği
  • Example#902 - - hash_hmac_file örneği
  • Example#903 - - hash_hmac örneği
  • Example#904 - - Ardışık aşlama örneği
  • Example#905 - - hash_pbkdf2 genel kullanım örneği
  • Example#906 - - hash_update_stream örneği
  • Example#907 - - hash örneği
  • Example#908 - - mcrypt_create_iv örneği
  • Example#909 - - mcrypt_enc_get_algorithms_name örneği
  • Example#910 - - mcrypt_enc_get_modes_name örneği
  • Example#911 - - mcrypt_enc_get_supported_key_sizes örneği
  • Example#912 - - mcrypt_encrypt örneği
  • Example#913 - - mcrypt_get_block_size örneği
  • Example#914 - - mcrypt_get_cipher_name örneği
  • Example#915 - - mcrypt_get_iv_size örneği
  • Example#916 - - mcrypt_get_key_size örneği
  • Example#917 - - mcrypt_list_algorithms örneği
  • Example#918 - - mcrypt_list_modes örneği
  • Example#919 - - mcrypt_module_open örnekleri
  • Example#920 - - Şifreleme için mcrypt_module_open kullanımı
  • Example#921 - - mcrypt_module_self_test örneği
  • Example#922 - - mdecrypt_generic örneği
  • Example#923 - - Bir dizgenin MD5 ve HMAC aşlarını hesaplayıp sonuçları birer onaltılık dizge olarak çıktılar
  • Example#924 - - Tüm algoritmaları sıradan geçmek
  • Example#925 - - mhash_get_block_size örneği
  • Example#926 - - mhash_get_hash_name örneği
  • Example#927 - openssl_cipher_iv_length example
  • Example#928 - openssl_cipher_key_length example
  • Example#929 - - openssl_cms_sign örneği
  • Example#930 - - openssl_csr_export_to_file() örneği
  • Example#931 - - openssl_csr_export() örneği
  • Example#932 - - openssl_csr_get_public_key() örneği
  • Example#933 - - openssl_csr_get_subject() örneği
  • Example#934 - - Öz-imzalı sertifika üretimi
  • Example#935 - - Öz-imzalı ECC sertifikası oluşrurmak (PHP 7.1.0 ve üstü)
  • Example#936 - - openssl_csr_sign örneği - PEM imzalama (Kendi Sertifika Yetkilinizi nasıl oluşturursunuz?)
  • Example#937 - - Paylaşımlı gizi hesaplamak
  • Example#938 - - DH genel/gizli anahtar çiftinin PHP ile üretilmesi
  • Example#939 - - PHP 7.1+ için GCM kipinde AES Kimlik Kanıtlamalı Şifreleme örneği
  • Example#940 - - PHP 7.1 öncesi için GCM kipinde AES Kimlik Kanıtlamalı Şifreleme örneği
  • Example#941 - - openssl_error_string örneği
  • Example#942 - openssl_get_cert_locations example
  • Example#943 - - openssl_get_cipher_methods örneği
  • Example#944 - openssl_get_curve_names example
  • Example#945 - - openssl_get_md_methods örneği
  • Example#946 - - openssl_open örneği
  • Example#947 - openssl_pbkdf2() example
  • Example#948 - - openssl_pkcs12_read örneği
  • Example#949 - - openssl_pkcs7_decrypt örneği
  • Example#950 - - openssl_pkcs7_encrypt örneği
  • Example#951 - Get a PEM array from a P7B file
  • Example#952 - - openssl_pkcs7_sign örneği
  • Example#953 - openssl_pkey_derive example
  • Example#954 - - Genel anahtarın gizli anahtardan elde edilmesi
  • Example#955 - - openssl_random_pseudo_bytes örneği
  • Example#956 - - openssl_seal örneği
  • Example#957 - - openssl_sign örneği
  • Example#958 - - openssl_sign örneği
  • Example#959 - openssl_spki_export_challenge example
  • Example#960 - openssl_spki_export_challenge example from <keygen>
  • Example#961 - openssl_spki_export example
  • Example#962 - openssl_spki_export example from <keygen>
  • Example#963 - openssl_spki_new example
  • Example#964 - openssl_spki_verify example
  • Example#965 - openssl_spki_verify example from <keygen>
  • Example#966 - - openssl_verify örneği
  • Example#967 - - openssl_verify örneği
  • Example#968 - openssl_x509_verify example
  • Example#969 - - password temel kullanım örneği
  • Example#970 - - password_hash örneği
  • Example#971 - - Maliyet belirtilen password_hash örneği
  • Example#972 - - password_hash iyi bir maliyet bulma örneği
  • Example#973 - - Argon2i kullanılan password_hash örneği
  • Example#974 - - password_needs_rehash kullanımı
  • Example#975 - - password_verify örneği
  • Example#976 - RNP clearsign example
  • Example#977 - simple callback function example
  • Example#978 - sodium_crypto_box_seal_open example
  • Example#979 - sodium_crypto_box_seal example
  • Example#980 - sodium_crypto_core_ristretto255_add example
  • Example#981 - sodium_crypto_core_ristretto255_from_hash example
  • Example#982 - sodium_crypto_core_ristretto255_is_valid_point example
  • Example#983 - sodium_crypto_core_ristretto255_random example
  • Example#984 - sodium_crypto_core_ristretto255_scalar_add example
  • Example#985 - sodium_crypto_core_ristretto255_scalar_invert example
  • Example#986 - sodium_crypto_core_ristretto255_scalar_negate example
  • Example#987 - sodium_crypto_core_ristretto255_scalar_random example
  • Example#988 - sodium_crypto_core_ristretto255_scalar_sub example
  • Example#989 - sodium_crypto_core_ristretto255_sub example
  • Example#990 - sodium_crypto_generichash_final example
  • Example#991 - sodium_crypto_generichash_init example
  • Example#992 - sodium_crypto_generichash_update example
  • Example#993 - sodium_crypto_kx_keypair usage
  • Example#994 - sodium_crypto_pwhash_str example
  • Example#995 - sodium_crypto_pwhash example
  • Example#996 - sodium_crypto_secretbox_keygen example
  • Example#997 - Comparing sodium_crypto_secretbox_keygen with random_bytes
  • Example#998 - sodium_crypto_secretbox_open example
  • Example#999 - sodium_crypto_secretbox example
  • Example#1000 - sodium_crypto_secretstream_xchacha20poly1305_init_pull example
  • Example#1001 - sodium_crypto_secretstream_xchacha20poly1305_init_push example
  • Example#1002 - sodium_crypto_stream_xchacha20_xor_ic example
  • Example#1003 - DBA example
  • Example#1004 - Traversing a database
  • Example#1005 - dba_handlers Example
  • Example#1006 - - Sütunlar için Liste Ayrıcalıkları
  • Example#1007 - - Tablo sütunlarının listesi
  • Example#1008 - DSN'siz bağlantı
  • Example#1009 - odbc_connection_string_quote example
  • Example#1010 - - Kulanılabilir DSN'lerin listesi'
  • Example#1011 - - odbc_execute ve odbc_prepare örneği
  • Example#1012 - - odbc_fetch_into örnekleri
  • Example#1013 - - odbc_next_result örneği
  • Example#1014 - - odbc_execute ve odbc_prepare örneği
  • Example#1015 - - Sütundaki birincil anahtarların listesi
  • Example#1016 - - Saklı bir yordamın sütun listesi
  • Example#1017 - - Veritabanındaki saklı yordamların listesi
  • Example#1018 - - odbc_result örnekleri
  • Example#1019 - - odbc_setoption örnekleri
  • Example#1020 - - Tablo istatistikleri listesi
  • Example#1021 - Tablo ayrıcalıkları listesi
  • Example#1022 - - Katalogdaki tabloların listesi
  • Example#1023 - - PDO::ATTR_DRIVER_NAME kullanımı
  • Example#1024 - - MySQL'e bağlanma
  • Example#1025 - - Bağlantı hatalarının ele alınışı
  • Example#1026 - - Bir bağlantının kapatılışı
  • Example#1027 - - Kalıcı bağlantılar
  • Example#1028 - - Bir toplu hareket betiğinin çalıştırılması
  • Example#1029 - - Hazır deyimlerle bağımsız değişken ismine göre veri girişi
  • Example#1030 - - Hazır deyimlerle bağımsız değişken indisine göre veri girişi
  • Example#1031 - - Hazır deyimle veri almak
  • Example#1032 - - Bir saklı yordamın çıktı bağımsız değişkeni ile kullanımı
  • Example#1033 - - Bir saklı yordamın girdi/çıktı bağımsız değişkeni ile kullanımı
  • Example#1034 - - Geçersiz bağımsız değişken kullanımı
  • Example#1035 - - PDO örneği oluşturup hata kipini atamak
  • Example#1036 - - PDO örneği oluşturup kurucudaki hata kipini atamak
  • Example#1037 - - Veritabanındaki bir resmin gösterilmesi
  • Example#1038 - - Bir resmin veritabanına yerleştirilmesi
  • Example#1039 - - Oracle'da bir resmi veritabanına yerleştirmek
  • Example#1040 - - Bir toplu hareketi geri almak
  • Example#1041 - - Temel bir hareket teslimatı
  • Example#1042 - - Bir toplu hareketin teslim edilmesi
  • Example#1043 - - Sürücü isteğiyle PDO örneğinin oluşturulması
  • Example#1044 - - URI isteğiyle PDO örneğinin oluşturulması
  • Example#1045 - - Bir takma ad kullanarak PDO örneğinin oluşturulması
  • Example#1046 - - Bir SQLSTATE kodunun döndürülmesi
  • Example#1047 - - Bir DB2 veiitabanına kurulan bir PDO_ODBC bağlantısıyla ilgili hata bilgisinin gösterilmesi
  • Example#1048 - - Bir DELETE deyiminin çalıştırılması
  • Example#1049 - - Veritabanı bağlantı özniteliklerinin öğrenilmesi
  • Example#1050 - - PDO::getAvailableDrivers örneği
  • Example#1051 - - İsimli bağımsız değişkenli SQL deyim şablonu
  • Example#1052 - - Soru imli SQL deyim şablonu
  • Example#1053 - - Soru imi öncelemeli SQL deyim şablonu
  • Example#1054 - - Yer tutucu içermeyen SQL deyimi kullanılan PDO::query örneği
  • Example#1055 - - Normal bir dizgeyi öncelemek
  • Example#1056 - - Tehlikeli bir dizgeyi öncelemek
  • Example#1057 - - Karmaşık bir dizgeyi öncelemek
  • Example#1058 - - Bir toplu hareketin geri alınması
  • Example#1059 - - Sonuç kümesi çıktısının PHP değişkenleri ile ilişkilendirilmesi
  • Example#1060 - - İsimli bağımsız değişkenlerle PDOStatement::bindParam örneği
  • Example#1061 - - Soru imli bağımsız değişkenlerle PDOStatement::bindParam örneği
  • Example#1062 - - Girdi/Çıktı bağımsız değişkeni kullanımı
  • Example#1063 - - İsimli bağımsız değişkenlerle PDOStatement::bindValue örneği
  • Example#1064 - - Soru imli bağımsız değişkenlerle PDOStatement::bindValue örneği
  • Example#1065 - - PDOStatement::closeCursor örneği
  • Example#1066 - - Sütunları saymak
  • Example#1067 - - İsimli bağımsız değişkenlerle PDOStatement::debugDumpParams örneği
  • Example#1068 - - İsimsiz bağımsız değişkenlerle PDOStatement::debugDumpParams örneği
  • Example#1069 - - SQLSTATE kodunun döndürülmesi
  • Example#1070 - - Bir DB2 veritabanına açılan bir ODBC bağlantısından hata bilgisinin alınması
  • Example#1071 - - İlişkili değişken ve değerlerle bir hazır deyimin çalıştırılması
  • Example#1072 - - İsimli değerler dizisi ile hazır bir deyimin çalıştırılması
  • Example#1073 - - - Konumlu değerler dizisi ile bir hazır deyimin çalıştırılması
  • Example#1074 - Soru imli bir hazır deyimin çalıştırılması
  • Example#1075 - - IN yan tümcesi için dizi kullanarak bir hazır deyimin çalıştırılması
  • Example#1076 - - Farklı kiplerle satırların döndürülmesi
  • Example#1077 - - Satırları bir kaydırılabilir gösterici ile döndürmek
  • Example#1078 - - Oluşturma sırası
  • Example#1079 - - Bir sonuç kümesinde kalan tüm satırları almak
  • Example#1080 - - Sonuç kümesinden tek bir sütunun tüm değerlerini almak
  • Example#1081 - - Tüm değerleri tek bir sütuna göre gruplamak
  • Example#1082 - - Her sonuç için bir sınıf örneklemek
  • Example#1083 - - Her sonuç için bir işlev çağırmak
  • Example#1084 - - Sonraki satırın ilk sütununu döndürmek
  • Example#1085 - - Sütun temel verilerinin alınması
  • Example#1086 - - Bir kayıtlı yordamdan dönen çok sayıda satır kümesine erişim
  • Example#1087 - - Silinen satır sayısının döndürülmesi
  • Example#1088 - - Bir SELECT deyiminden etkilenen satırların sayılması
  • Example#1089 - - Veri alım kipinin belirlenmesi
  • Example#1090 - Insert LOBs in CUBRID PDO
  • Example#1091 - Fetch LOBs in CUBRID PDO
  • Example#1092 - Insert set in CUBRID PDO with default data type.
  • Example#1093 - Specify data type when insert set in CUBRID PDO
  • Example#1094 - PDO_CUBRID DSN examples
  • Example#1095 - A PDO::cubrid_schema example
  • Example#1096 - - PDO_DBLIB DSN örnekleri
  • Example#1097 - - Yol belirtilen PDO_FIREBIRD DSN örneği
  • Example#1098 - - Port ve yol belirtilen PDO_FIREBIRD DSN örneği
  • Example#1099 - - Debian üzerinde localhost ve employee.fdb yolu belirtilen PDO_FIREBIRD DSN örneği
  • Example#1100 - - dialect=1 veritabanına bağlanan PDO_FIREBIRD DSN örneği
  • Example#1101 - - db2cli.ini kullanarak PDO_IBM DSN örneği
  • Example#1102 - - Bağlantı dizgeli PDO_IBM DSN'si örneği
  • Example#1103 - - odbc.ini kullanan PDO_INFORMIX DSN örneği
  • Example#1104 - - Bağlantı dizgeli PDO_INFORMIX DSN örneği
  • Example#1105 - - MySQL sürücüsünde tamponlu kipi zorlamak
  • Example#1106 - - PDO_MYSQL DSN örnekleri
  • Example#1107 - PDO_SQLSRV DSN examples
  • Example#1108 - - PDO_OCI DSN örnekleri
  • Example#1109 - - PDO_ODBC DSN örneği (ODBC sürücüsünün yöneticisi)
  • Example#1110 - - PDO_ODBC DSN örneği (IBM DB2 katalogsuz bağlantısı)
  • Example#1111 - - PDO_ODBC DSN örneği (Microsoft Access katalogsuz bağlantısı)
  • Example#1112 - - PDO_PGSQL DSN örneği
  • Example#1113 - A PDO::pgsqlLOBCreate example
  • Example#1114 - A PDO::pgsqlLOBOpen example
  • Example#1115 - A PDO::pgsqlLOBUnlink example
  • Example#1116 - - PDO_SQLITE DSN örnekleri
  • Example#1117 - max_length aggregation function example
  • Example#1118 - PDO::sqliteCreateCollation example
  • Example#1119 - PDO::sqliteCreateFunction example
  • Example#1120 - Example of Data Retrieval
  • Example#1121 - Example of Data Insertion
  • Example#1122 - cubrid_bind example
  • Example#1123 - cubrid_bind BLOB/CLOB example
  • Example#1124 - cubrid_bind BLOB/CLOB example
  • Example#1125 - cubrid_close_prepare example
  • Example#1126 - cubrid_close_request example
  • Example#1127 - cubrid_col_get example
  • Example#1128 - cubrid_col_size example
  • Example#1129 - cubrid_column_names example
  • Example#1130 - cubrid_column_types example
  • Example#1131 - cubrid_commit example
  • Example#1132 - cubrid_connect_with_url url without properties example
  • Example#1133 - cubrid_connect_with_url url with properties example
  • Example#1134 - cubrid_connect example
  • Example#1135 - cubrid_current_oid example
  • Example#1136 - cubrid_disconnect example
  • Example#1137 - cubrid_drop example
  • Example#1138 - cubrid_error_code_facility example
  • Example#1139 - cubrid_error_code example
  • Example#1140 - cubrid_error_msg example
  • Example#1141 - cubrid_execute example
  • Example#1142 - cubrid_fetch example
  • Example#1143 - cubrid_free_result example
  • Example#1144 - cubrid_get_charset example
  • Example#1145 - cubrid_get_class_name example
  • Example#1146 - cubrid_get_client_info example
  • Example#1147 - cubrid_get_db_parameter example
  • Example#1148 - cubrid_get_query_timeout example
  • Example#1149 - cubrid_get_server_info example
  • Example#1150 - cubrid_get example
  • Example#1151 - cubrid_insert_id example
  • Example#1152 - cubrid_is_instance example
  • Example#1153 - cubrid_lob_close example
  • Example#1154 - cubrid_lob_export example
  • Example#1155 - cubrid_lob_get example
  • Example#1156 - cubrid_lob_send example
  • Example#1157 - cubrid_lob_size example
  • Example#1158 - cubrid_lob2_bind example
  • Example#1159 - cubrid_lob2_export example
  • Example#1160 - cubrid_lob2_export example
  • Example#1161 - cubrid_lob2_read example 1
  • Example#1162 - cubrid_lob2_read example 2
  • Example#1163 - cubrid_lob2_seek64 example
  • Example#1164 - cubrid_lob2_seek example
  • Example#1165 - cubrid_lob2_write example 1
  • Example#1166 - cubrid_lob2_write example 2
  • Example#1167 - cubrid_lock_read example
  • Example#1168 - cubrid_lock_write example
  • Example#1169 - cubrid_move_cursor example
  • Example#1170 - cubrid_next_result example
  • Example#1171 - cubrid_num_cols example
  • Example#1172 - cubrid_num_rows example
  • Example#1173 - cubrid_pconnect_with_url url without properties example
  • Example#1174 - cubrid_pconnect_with_url url with properties example
  • Example#1175 - cubrid_connect example
  • Example#1176 - cubrid_prepare example
  • Example#1177 - cubrid_put example
  • Example#1178 - cubrid_rollback example
  • Example#1179 - cubrid_schema example
  • Example#1180 - cubrid_seq_drop example
  • Example#1181 - cubrid_seq_insert example
  • Example#1182 - cubrid_seq_put example
  • Example#1183 - cubrid_set_add example
  • Example#1184 - cubrid_get_db_parameter example
  • Example#1185 - cubrid_set_drop example
  • Example#1186 - cubrid_version example
  • Example#1187 - cubrid_affected_rows example
  • Example#1188 - cubrid_client_encoding example
  • Example#1189 - cubrid_close example
  • Example#1190 - cubrid_data_seek example
  • Example#1191 - cubrid_db_name example
  • Example#1192 - cubrid_errno example
  • Example#1193 - cubrid_error example
  • Example#1194 - cubrid_fetch_array example
  • Example#1195 - cubrid_fetch_assoc example
  • Example#1196 - cubrid_fetch_field example
  • Example#1197 - cubrid_fetch_lengths example
  • Example#1198 - cubrid_fetch_object example
  • Example#1199 - cubrid_fetch_row example
  • Example#1200 - cubrid_field_flags example
  • Example#1201 - cubrid_field_len example
  • Example#1202 - cubrid_field_name example
  • Example#1203 - cubrid_field_seek example
  • Example#1204 - cubrid_field_table example
  • Example#1205 - cubrid_field_type example
  • Example#1206 - cubrid_list_dbs example
  • Example#1207 - cubrid_num_fields example
  • Example#1208 - cubrid_ping example
  • Example#1209 - Invalid Query
  • Example#1210 - Valid Query
  • Example#1211 - cubrid_real_escape_string example
  • Example#1212 - cubrid_result example
  • Example#1213 - cubrid_unbuffered_query example
  • Example#1214 - cubrid_load_from_glo example
  • Example#1215 - cubrid_new_glo example
  • Example#1216 - cubrid_save_to_glo example
  • Example#1217 - cubrid_send_glo example
  • Example#1218 - Inserting a record in a dBase database
  • Example#1219 - Closing a dBase database file
  • Example#1220 - Creating a dBase database file
  • Example#1221 - Showing header information for a dBase database file
  • Example#1222 - Listing all the registered members in the database
  • Example#1223 - dbase_numfields Example
  • Example#1224 - Looping over all the records of the database
  • Example#1225 - Opening a dBase database file
  • Example#1226 - Emptying a dBase database
  • Example#1227 - Updating a record in the database
  • Example#1228 - ibase_backup example
  • Example#1229 - ibase_backup example with arguments
  • Example#1230 - ibase_blob_get example
  • Example#1231 - ibase_blob_import example
  • Example#1232 - ibase_connect example
  • Example#1233 - ibase_execute example
  • Example#1234 - ibase_fetch_object example
  • Example#1235 - ibase_field_info example
  • Example#1236 - ibase_name_result example
  • Example#1237 - ibase_num_fields example
  • Example#1238 - ibase_query example
  • Example#1239 - ibase_restore example
  • Example#1240 - ibase_restore example with arguments
  • Example#1241 - ibase_service_attach example
  • Example#1242 - ibase_service_attach example
  • Example#1243 - ibase_service_attach example using hostname/port syntax
  • Example#1244 - ibase_service_detach example
  • Example#1245 - ibase_set_event_handler example
  • Example#1246 - Retrieving the AUTOCOMMIT value for a connection
  • Example#1247 - Setting the AUTOCOMMIT value for a connection
  • Example#1248 - Binding PHP variables to a prepared statement
  • Example#1249 - Calling stored procedures with IN and OUT parameters
  • Example#1250 - Inserting a binary large object (BLOB) directly from a file
  • Example#1251 - A db2_client_info example
  • Example#1252 - Closing a connection
  • Example#1253 - Retrieving an SQLSTATE value for a failed connection attempt
  • Example#1254 - Retrieving the error message returned by a failed connection attempt
  • Example#1255 - Creating a cataloged connection
  • Example#1256 - Creating an uncataloged connection
  • Example#1257 - Creating a connection with autocommit off by default
  • Example#1258 - i5/OS best performance
  • Example#1259 - Using trusted context
  • Example#1260 - A db2_escape_string example
  • Example#1261 - Creating a table with db2_exec
  • Example#1262 - Executing a SELECT statement with a scrollable cursor
  • Example#1263 - Returning XML data as an SQL ResultSet
  • Example#1264 - Performing a "JOIN" with XML data
  • Example#1265 - Returning SQL data as part of a larger XML document
  • Example#1266 - Preparing and executing an SQL statement with parameter markers
  • Example#1267 - Calling a stored procedure with an OUT parameter
  • Example#1268 - Returning XML data as an SQL ResultSet
  • Example#1269 - Performing a "JOIN" with XML data
  • Example#1270 - Returning SQL data as part of a larger XML document
  • Example#1271 - Iterating through a forward-only cursor
  • Example#1272 - Retrieving specific rows with db2_fetch_array from a scrollable cursor
  • Example#1273 - Iterating through a forward-only cursor
  • Example#1274 - Retrieving specific rows with db2_fetch_assoc from a scrollable cursor
  • Example#1275 - Iterating through a forward-only cursor
  • Example#1276 - Retrieving specific rows with db2_fetch_both from a scrollable cursor
  • Example#1277 - A db2_fetch_object example
  • Example#1278 - Iterating through a result set
  • Example#1279 - i5/OS recommended alternatives to db2_fetch_row/db2_result
  • Example#1280 - Setting and retrieving parameters through a connection resource
  • Example#1281 - A db2_last_insert_id example
  • Example#1282 - Iterating through different types of data
  • Example#1283 - Calling a stored procedure that returns multiple result sets
  • Example#1284 - Retrieving the number of fields in a result set
  • Example#1285 - Closing a persistent connection
  • Example#1286 - A db2_pconnect example
  • Example#1287 - Using trusted context
  • Example#1288 - Preparing and executing an SQL statement with parameter markers
  • Example#1289 - A db2_result example
  • Example#1290 - Rolling back a DELETE statement
  • Example#1291 - A db2_server_info example
  • Example#1292 - Setting one parameter with a connection resource
  • Example#1293 - Setting multiple parameters with a connection resource
  • Example#1294 - Setting multiple parameters with an invalid key
  • Example#1295 - Setting multiple parameters with an invalid value
  • Example#1296 - Setting multiple parameters with a connection resource and the wrong type
  • Example#1297 - Setting multiple parameters with the wrong resource
  • Example#1298 - Putting it all together
  • Example#1299 - i5/OS cursors are read-only
  • Example#1300 - MongoDB\Driver\Manager::__construct basic example
  • Example#1301 - MongoDB\Driver\Manager::__construct basic examples
  • Example#1302 - MongoDB\Driver\Manager::executeBulkWrite example
  • Example#1303 - MongoDB\Driver\Manager::executeCommand with a command returning a single result document
  • Example#1304 - MongoDB\Driver\Manager::executeCommand with a command returning a cursor
  • Example#1305 - Limiting execution time for a command
  • Example#1306 - MongoDB\Driver\Manager::executeQuery example
  • Example#1307 - Limiting execution time for a query
  • Example#1308 - MongoDB\Driver\Manager::getReadConcern example
  • Example#1309 - MongoDB\Driver\Manager::getReadPreference example
  • Example#1310 - MongoDB\Driver\Manager::getServers example
  • Example#1311 - MongoDB\Driver\Manager::getWriteConcern example
  • Example#1312 - Composing MongoDB\Driver\Command to provide a helper to create collections
  • Example#1313 - MongoDB\Driver\Command::__construct example
  • Example#1314 - MongoDB\Driver\Command::__construct example
  • Example#1315 - MongoDB\Driver\Query::__construct example
  • Example#1316 - Mixed write operations are grouped by type
  • Example#1317 - Ordered write operations causing an error
  • Example#1318 - MongoDB\Driver\BulkWrite::__construct example
  • Example#1319 - MongoDB\Driver\BulkWrite::count example
  • Example#1320 - MongoDB\Driver\BulkWrite::delete example
  • Example#1321 - MongoDB\Driver\BulkWrite::insert example
  • Example#1322 - MongoDB\Driver\BulkWrite::update example
  • Example#1323 - Declare an API version on a manager
  • Example#1324 - Declare a strict API version on a manager
  • Example#1325 - MongoDB\Driver\WriteConcern::bsonSerialize with majority write concern
  • Example#1326 - MongoDB\Driver\WriteConcern::bsonSerialize with wtimeout and journal
  • Example#1327 - MongoDB\Driver\WriteConcern::__construct example
  • Example#1328 - MongoDB\Driver\WriteConcern::getJournal example
  • Example#1329 - MongoDB\Driver\WriteConcern::getW example
  • Example#1330 - MongoDB\Driver\WriteConcern::getWtimeout example
  • Example#1331 - MongoDB\Driver\WriteConcern::isDefault example
  • Example#1332 - MongoDB\Driver\ReadPreference::bsonSerialize with primary read preference
  • Example#1333 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and tag sets
  • Example#1334 - MongoDB\Driver\ReadPreference::bsonSerialize with secondary read preference and max staleness
  • Example#1335 - MongoDB\Driver\ReadPreference::__construct example
  • Example#1336 - MongoDB\Driver\ReadPreference::getMaxStalenessSeconds example
  • Example#1337 - MongoDB\Driver\ReadPreference::getMode example
  • Example#1338 - MongoDB\Driver\ReadPreference::getModeString example
  • Example#1339 - MongoDB\Driver\ReadPreference::getTagSets example
  • Example#1340 - MongoDB\Driver\ReadConcern::bsonSerialize with empty read concern
  • Example#1341 - MongoDB\Driver\ReadConcern::bsonSerialize with local read concern
  • Example#1342 - MongoDB\Driver\ReadConcern::__construct example
  • Example#1343 - MongoDB\Driver\ReadConcern::getLevel example
  • Example#1344 - MongoDB\Driver\ReadConcern::isDefault example
  • Example#1345 - Reading a result set
  • Example#1346 - Reading a result set for a tailable cursor
  • Example#1347 - MongoDB\Driver\Cursor::getId example
  • Example#1348 - MongoDB\Driver\Cursor::getServer example
  • Example#1349 - MongoDB\Driver\Cursor::isDead example
  • Example#1350 - MongoDB\Driver\Cursor::setTypeMap example
  • Example#1351 - MongoDB\Driver\Cursor::toArray example
  • Example#1352 - MongoDB\Driver\CursorId::__toString example
  • Example#1353 - MongoDB\Driver\Server::getHost example
  • Example#1354 - MongoDB\Driver\Server::getInfo example
  • Example#1355 - MongoDB\Driver\Server::getLatency example
  • Example#1356 - MongoDB\Driver\Server::getPort example
  • Example#1357 - MongoDB\Driver\WriteConcernError::getCode example
  • Example#1358 - MongoDB\Driver\WriteConcernError::getInfo example
  • Example#1359 - MongoDB\Driver\WriteConcernError::getMessage example
  • Example#1360 - MongoDB\Driver\WriteError::getCode example
  • Example#1361 - MongoDB\Driver\WriteError::getIndex example
  • Example#1362 - MongoDB\Driver\WriteError::getMessage example
  • Example#1363 - MongoDB\Driver\WriteResult::getDeletedCount example
  • Example#1364 - MongoDB\Driver\WriteResult::getInsertedCount example
  • Example#1365 - MongoDB\Driver\WriteResult::getMatchedCount example
  • Example#1366 - MongoDB\Driver\WriteResult::getModifiedCount example
  • Example#1367 - MongoDB\Driver\WriteResult::getServer example
  • Example#1368 - MongoDB\Driver\WriteResult::getUpsertedCount example
  • Example#1369 - MongoDB\Driver\WriteResult::getUpsertedIds example
  • Example#1370 - MongoDB\Driver\WriteResult::getWriteConcernError example
  • Example#1371 - MongoDB\Driver\WriteResult::getWriteErrors with a single error
  • Example#1372 - MongoDB\Driver\WriteResult::getWriteErrors with multiple errors
  • Example#1373 - MongoDB\Driver\WriteResult::isAcknowledged with acknowledged write concern
  • Example#1374 - MongoDB\Driver\WriteResult::isAcknowledged with unacknowledged write concern
  • Example#1375 - MongoDB\BSON\fromJSON example
  • Example#1376 - MongoDB\BSON\fromPHP example
  • Example#1377 - MongoDB\BSON\toCanonicalExtendedJSON example
  • Example#1378 - MongoDB\BSON\toJSON example
  • Example#1379 - MongoDB\BSON\toPHP example
  • Example#1380 - MongoDB\BSON\toRelaxedExtendedJSON example
  • Example#1381 - MongoDB\BSON\Document::toCanonicalExtendedJSON example
  • Example#1382 - MongoDB\BSON\Document::toRelaxedExtendedJSON example
  • Example#1383 - MongoDB\BSON\Binary::__construct example
  • Example#1384 - MongoDB\BSON\Binary::getData example
  • Example#1385 - MongoDB\BSON\Binary::getType example
  • Example#1386 - MongoDB\BSON\Binary::__toString example
  • Example#1387 - MongoDB\BSON\Decimal128::__construct example
  • Example#1388 - MongoDB\BSON\Decimal128::__toString example
  • Example#1389 - MongoDB\BSON\Javascript::__construct example
  • Example#1390 - MongoDB\BSON\Javascript::getCode example
  • Example#1391 - MongoDB\BSON\Javascript::getScope example
  • Example#1392 - MongoDB\BSON\Javascript::__toString example
  • Example#1393 - MongoDB\BSON\MaxKey::__construct example
  • Example#1394 - MongoDB\BSON\MinKey::__construct example
  • Example#1395 - MongoDB\BSON\ObjectId::__construct example
  • Example#1396 - MongoDB\BSON\ObjectId::getTimestamp example
  • Example#1397 - MongoDB\BSON\ObjectId::__toString example
  • Example#1398 - MongoDB\BSON\Regex::__construct example
  • Example#1399 - MongoDB\BSON\Regex::getFlags example
  • Example#1400 - MongoDB\BSON\Regex::getPattern example
  • Example#1401 - MongoDB\BSON\Regex::__toString example
  • Example#1402 - MongoDB\BSON\Timestamp::__construct example
  • Example#1403 - MongoDB\BSON\Timestamp::__toString example
  • Example#1404 - MongoDB\BSON\UTCDateTime::__construct example
  • Example#1405 - MongoDB\BSON\UTCDatetime::toDateTime example
  • Example#1406 - MongoDB\BSON\UTCDateTime::__toString example
  • Example#1407 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for root document
  • Example#1408 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for root document
  • Example#1409 - MongoDB\BSON\Serializable::bsonSerialize returning an associative array for document field
  • Example#1410 - MongoDB\BSON\Serializable::bsonSerialize returning a sequential array for document field
  • Example#1411 - MongoDB\BSON\Unserializable::bsonUnserialize example
  • Example#1412 - MongoDB\BSON\Int64::__toString example
  • Example#1413 - MongoDB\Driver\Exception\WriteException::getWriteResult example
  • Example#1414 - Comparing the MySQL APIs
  • Example#1415 - Comparing prepared statements
  • Example#1416 - Configure commands for using mysqlnd or libmysqlclient
  • Example#1417 - Unbuffered query example: mysqli
  • Example#1418 - Unbuffered query example: pdo_mysql
  • Example#1419 - Problems with setting the character set with SQL
  • Example#1420 - Setting the character set example: mysqli
  • Example#1421 - Setting the character set example: pdo_mysql
  • Example#1422 - Easy migration from the old mysql extension
  • Example#1423 - Object-oriented and procedural interface
  • Example#1424 - Bad coding style
  • Example#1425 - Special meaning of localhost
  • Example#1426 - Setting defaults
  • Example#1427 - Executing queries
  • Example#1428 - Navigation through buffered results
  • Example#1429 - Navigation through unbuffered results
  • Example#1430 - Text protocol returns strings by default
  • Example#1431 - Native data types with mysqlnd and connection option
  • Example#1432 - Prepared statement
  • Example#1433 - INSERT prepared once, executed multiple times
  • Example#1434 - Less round trips using multi-INSERT SQL
  • Example#1435 - Native datatypes
  • Example#1436 - Output variable binding
  • Example#1437 - Using mysqli_result to fetch results
  • Example#1438 - Buffered result set for flexible read out
  • Example#1439 - Calling a stored procedure
  • Example#1440 - Using session variables
  • Example#1441 - Fetching results from stored procedures
  • Example#1442 - Stored Procedures and Prepared Statements
  • Example#1443 - Stored Procedures and Prepared Statements using bind API
  • Example#1444 - Multiple Statements
  • Example#1445 - SQL Injection
  • Example#1446 - Setting autocommit mode with SQL and through the API
  • Example#1447 - Commit and rollback
  • Example#1448 - Accessing result set meta data
  • Example#1449 - Prepared statements metadata
  • Example#1450 - $mysqli->affected_rows example
  • Example#1451 - mysqli::autocommit example
  • Example#1452 - mysqli::begin_transaction example
  • Example#1453 - mysqli::change_user example
  • Example#1454 - mysqli::character_set_name example
  • Example#1455 - mysqli::close example
  • Example#1456 - $mysqli->connect_errno example
  • Example#1457 - $mysqli->connect_error example
  • Example#1458 - mysqli::__construct example
  • Example#1459 - Extending mysqli class
  • Example#1460 - Manual error handling
  • Example#1461 - Generating a Trace File
  • Example#1462 - $mysqli->errno example
  • Example#1463 - $mysqli->error_list example
  • Example#1464 - $mysqli->error example
  • Example#1465 - mysqli::execute_query example
  • Example#1466 - $mysqli->field_count example
  • Example#1467 - mysqli::get_charset example
  • Example#1468 - mysqli_get_client_info
  • Example#1469 - mysqli_get_client_version
  • Example#1470 - A mysqli_get_connection_stats example
  • Example#1471 - $mysqli->host_info example
  • Example#1472 - $mysqli->protocol_version example
  • Example#1473 - $mysqli->server_info example
  • Example#1474 - $mysqli->server_version example
  • Example#1475 - $mysqli->info example
  • Example#1476 - $mysqli->insert_id example
  • Example#1477 - mysqli::kill example
  • Example#1478 - mysqli::multi_query example
  • Example#1479 - mysqli::ping example
  • Example#1480 - A mysqli_poll example
  • Example#1481 - mysqli::prepare example
  • Example#1482 - mysqli::query example
  • Example#1483 - mysqli::real_connect example
  • Example#1484 - mysqli::real_escape_string example
  • Example#1485 - mysqli::select_db example
  • Example#1486 - mysqli::set_charset example
  • Example#1487 - $mysqli->sqlstate example
  • Example#1488 - mysqli::stat example
  • Example#1489 - $mysqli->thread_id example
  • Example#1490 - mysqli::use_result example
  • Example#1491 - $mysqli->warning_count example
  • Example#1492 - mysqli_stmt_affected_rows example
  • Example#1493 - mysqli_stmt::bind_param example
  • Example#1494 - Using ... to provide arguments
  • Example#1495 - Nesne yönelimli kullanım
  • Example#1496 - Yordamsal kullanım
  • Example#1497 - Nesne yönelimli kullanım
  • Example#1498 - Yordamsal kullanım
  • Example#1499 - Nesne yönelimli kullanım
  • Example#1500 - Yordamsal kullanım
  • Example#1501 - Nesne yönelimli kullanım
  • Example#1502 - Yordamsal kullanım
  • Example#1503 - Nesne yönelimli kullanım
  • Example#1504 - Yordamsal kullanım
  • Example#1505 - Execute a prepared statement with bound variables
  • Example#1506 - Execute a prepared statement with an array of values
  • Example#1507 - Nesne yönelimli kullanım
  • Example#1508 - Yordamsal kullanım
  • Example#1509 - Nesne yönelimli kullanım
  • Example#1510 - Yordamsal kullanım
  • Example#1511 - Nesne yönelimli kullanım
  • Example#1512 - Yordamsal kullanım
  • Example#1513 - Nesne yönelimli kullanım
  • Example#1514 - Yordamsal kullanım
  • Example#1515 - Nesne yönelimli kullanım
  • Example#1516 - Yordamsal kullanım
  • Example#1517 - mysqli_stmt::prepare example
  • Example#1518 - Nesne yönelimli kullanım
  • Example#1519 - Yordamsal kullanım
  • Example#1520 - Nesne yönelimli kullanım
  • Example#1521 - Nesne yönelimli kullanım
  • Example#1522 - Yordamsal kullanım
  • Example#1523 - Nesne yönelimli kullanım
  • Example#1524 - Yordamsal kullanım
  • Example#1525 - Creation of a mysqli_result object
  • Example#1526 - Nesne yönelimli kullanım
  • Example#1527 - Yordamsal kullanım
  • Example#1528 - mysqli::data_seek example
  • Example#1529 - Adjusting the result pointer when iterating
  • Example#1530 - mysqli_result::fetch_all example
  • Example#1531 - mysqli_result::fetch_array example
  • Example#1532 - mysqli_result::fetch_assoc example
  • Example#1533 - Comparison of mysqli_result iterator and mysqli_result::fetch_assoc usage
  • Example#1534 - mysqli_result::fetch_column example
  • Example#1535 - Nesne yönelimli kullanım
  • Example#1536 - Yordamsal kullanım
  • Example#1537 - Nesne yönelimli kullanım
  • Example#1538 - Yordamsal kullanım
  • Example#1539 - Nesne yönelimli kullanım
  • Example#1540 - Yordamsal kullanım
  • Example#1541 - mysqli_result::fetch_object example
  • Example#1542 - mysqli_result::fetch_row example
  • Example#1543 - Nesne yönelimli kullanım
  • Example#1544 - Yordamsal kullanım
  • Example#1545 - Nesne yönelimli kullanım
  • Example#1546 - Yordamsal kullanım
  • Example#1547 - Nesne yönelimli kullanım
  • Example#1548 - Yordamsal kullanım
  • Example#1549 - Nesne yönelimli kullanım
  • Example#1550 - Yordamsal kullanım
  • Example#1551 - Nesne yönelimli kullanım
  • Example#1552 - Yordamsal kullanım
  • Example#1553 - Error reporting except bad index errors
  • Example#1554 - A mysqli_get_client_stats example
  • Example#1555 - Connecting to a MySQL Server
  • Example#1556 - Creating a Schema and Collection on the MySQL Server
  • Example#1557 - Storing and Retrieving Data
  • Example#1558 - Fetching and Iterating Multiple Documents
  • Example#1559 - mysql_xdevapi\Expression example
  • Example#1560 - URI examples
  • Example#1561 - mysql_xdevapi\getSession example
  • Example#1562 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1563 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1564 - mysql_xdevapi\Client::__construct example
  • Example#1565 - mysql_xdevapi\Collection::add example
  • Example#1566 - mysql_xdevapi\Collection::addOrReplaceOne example
  • Example#1567 - mysql_xdevapi\Collection::getOne example
  • Example#1568 - mysql_xdevapi\Collection::count example
  • Example#1569 - mysql_xdevapi\Collection::createIndex example
  • Example#1570 - mysql_xdevapi\Collection::dropIndex example
  • Example#1571 - mysql_xdevapi\Collection::existsInDatabase example
  • Example#1572 - mysql_xdevapi\Collection::find example
  • Example#1573 - mysql_xdevapi\Collection::getName example
  • Example#1574 - mysql_xdevapi\Collection::getOne example
  • Example#1575 - mysql_xdevapi\Collection::getSchema example
  • Example#1576 - mysql_xdevapi\Collection::getSession example
  • Example#1577 - mysql_xdevapi\Collection::modify example
  • Example#1578 - mysql_xdevapi\Collection::remove example
  • Example#1579 - mysql_xdevapi\Collection::removeOne example
  • Example#1580 - mysql_xdevapi\Collection::replaceOne example
  • Example#1581 - mysql_xdevapi\CollectionAdd::__construct example
  • Example#1582 - mysql_xdevapi\CollectionAdd::execute example
  • Example#1583 - mysql_xdevapi\CollectionFind::bind example
  • Example#1584 - CollectionFind example
  • Example#1585 - CollectionFind example
  • Example#1586 - mysql_xdevapi\CollectionFind::fields example
  • Example#1587 - mysql_xdevapi\CollectionFind::groupBy example
  • Example#1588 - mysql_xdevapi\CollectionFind::having example
  • Example#1589 - mysql_xdevapi\CollectionFind::limit example
  • Example#1590 - mysql_xdevapi\CollectionFind::lockExclusive example
  • Example#1591 - mysql_xdevapi\CollectionFind::lockShared example
  • Example#1592 - mysql_xdevapi\CollectionFind::offset example
  • Example#1593 - mysql_xdevapi\CollectionFind::sort example
  • Example#1594 - mysql_xdevapi\CollectionModify::arrayAppend example
  • Example#1595 - mysql_xdevapi\CollectionModify::arrayInsert example
  • Example#1596 - mysql_xdevapi\CollectionModify::bind example
  • Example#1597 - mysql_xdevapi\CollectionModify::__construct example
  • Example#1598 - mysql_xdevapi\CollectionModify::execute example
  • Example#1599 - mysql_xdevapi\CollectionModify::limit example
  • Example#1600 - mysql_xdevapi\CollectionModify::patch example
  • Example#1601 - mysql_xdevapi\CollectionModify::replace example
  • Example#1602 - mysql_xdevapi\CollectionModify::set example
  • Example#1603 - mysql_xdevapi\CollectionModify::skip example
  • Example#1604 - mysql_xdevapi\CollectionModify::sort example
  • Example#1605 - mysql_xdevapi\CollectionModify::unset example
  • Example#1606 - mysql_xdevapi\CollectionRemove::bind example
  • Example#1607 - mysql_xdevapi\Collection::remove example
  • Example#1608 - mysql_xdevapi\CollectionRemove::execute example
  • Example#1609 - mysql_xdevapi\CollectionRemove::limit example
  • Example#1610 - mysql_xdevapi\CollectionRemove::sort example
  • Example#1611 - mysql_xdevapi\ColumnResult::__construct example
  • Example#1612 - mysql_xdevapi\ColumnResult::getCharacterSetName example
  • Example#1613 - mysql_xdevapi\ColumnResult::getCollationName example
  • Example#1614 - mysql_xdevapi\ColumnResult::getColumnLabel example
  • Example#1615 - mysql_xdevapi\ColumnResult::getColumnName example
  • Example#1616 - mysql_xdevapi\ColumnResult::getFractionalDigits example
  • Example#1617 - mysql_xdevapi\ColumnResult::getLength example
  • Example#1618 - mysql_xdevapi\ColumnResult::getSchemaName example
  • Example#1619 - mysql_xdevapi\ColumnResult::getTableLabel example
  • Example#1620 - mysql_xdevapi\ColumnResult::getTableName example
  • Example#1621 - mysql_xdevapi\ColumnResult::getType example
  • Example#1622 - mysql_xdevapi\ColumnResult::isNumberSigned example
  • Example#1623 - mysql_xdevapi\ColumnResult::isPadded example
  • Example#1624 - mysql_xdevapi\CrudOperationBindable::bind example
  • Example#1625 - mysql_xdevapi\CrudOperationLimitable::limit example
  • Example#1626 - mysql_xdevapi\CrudOperationSkippable::skip example
  • Example#1627 - mysql_xdevapi\CrudOperationSortable::sort example
  • Example#1628 - mysql_xdevapi\DatabaseObject::existsInDatabase example
  • Example#1629 - mysql_xdevapi\DatabaseObject::getName example
  • Example#1630 - mysql_xdevapi\DatabaseObject::getSession example
  • Example#1631 - A DocResult example
  • Example#1632 - mysql_xdevapi\DocResult::fetchAll example
  • Example#1633 - mysql_xdevapi\DocResult::fetchOne example
  • Example#1634 - mysql_xdevapi\DocResult::getWarnings example
  • Example#1635 - mysql_xdevapi\DocResult::getWarningsCount example
  • Example#1636 - execute() examples
  • Example#1637 - mysql_xdevapi\ExecutionStatus::__construct example
  • Example#1638 - mysql_xdevapi\Expression::__construct example
  • Example#1639 - mysql_xdevapi\Result::__construct example
  • Example#1640 - mysql_xdevapi\Result::getAffectedItemsCount example
  • Example#1641 - mysql_xdevapi\Result::getAutoIncrementValue example
  • Example#1642 - mysql_xdevapi\Result::getGeneratedIds example
  • Example#1643 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1644 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1645 - mysql_xdevapi\RowResult::__construct example
  • Example#1646 - mysql_xdevapi\RowResult::fetchAll example
  • Example#1647 - mysql_xdevapi\RowResult::fetchOne example
  • Example#1648 - mysql_xdevapi\RowResult::getColumnsCount example
  • Example#1649 - mysql_xdevapi\RowResult::getColumnNames example
  • Example#1650 - mysql_xdevapi\RowResult::getColumns example
  • Example#1651 - mysql_xdevapi\RowResult::getWarnings example
  • Example#1652 - mysql_xdevapi\RowResult::getWarningsCount example
  • Example#1653 - Schema::__construct example
  • Example#1654 - Schema::createCollection example
  • Example#1655 - Schema::createCollection validate parameter example
  • Example#1656 - Schema::dropCollection example
  • Example#1657 - Schema::existsInDatabase example
  • Example#1658 - Schema::getCollection example
  • Example#1659 - Schema::getCollectionAsTable example
  • Example#1660 - mysql_xdevapi\Schema::getCollections example
  • Example#1661 - mysql_xdevapi\Schema::getName example
  • Example#1662 - mysql_xdevapi\Schema::getSession example
  • Example#1663 - mysql_xdevapi\Schema::getTable example
  • Example#1664 - mysql_xdevapi\Schema::getTables example
  • Example#1665 - mysql_xdevapi\Session::getSchema example
  • Example#1666 - mysql_xdevapi\Session::close example
  • Example#1667 - mysql_xdevapi\Session::commit example
  • Example#1668 - mysql_xdevapi\Session::__construct example
  • Example#1669 - mysql_xdevapi\Session::createSchema example
  • Example#1670 - mysql_xdevapi\Session::dropSchema example
  • Example#1671 - mysql_xdevapi\Session::generateUuid example
  • Example#1672 - mysql_xdevapi\Session::getSchema example
  • Example#1673 - mysql_xdevapi\Session::getSchema example
  • Example#1674 - mysql_xdevapi\Session::getSchemas example
  • Example#1675 - mysql_xdevapi\Session::getServerVersion example
  • Example#1676 - mysql_xdevapi\Session::listClients example
  • Example#1677 - mysql_xdevapi\Session::quoteName example
  • Example#1678 - mysql_xdevapi\Session::releaseSavepoint example
  • Example#1679 - mysql_xdevapi\Session::rollback example
  • Example#1680 - mysql_xdevapi\Session::rollbackTo example
  • Example#1681 - mysql_xdevapi\Session::setSavepoint example
  • Example#1682 - mysql_xdevapi\Session::sql example
  • Example#1683 - mysql_xdevapi\Session::startTransaction example
  • Example#1684 - mysql_xdevapi\SqlStatement::bind example
  • Example#1685 - mysql_xdevapi\SqlStatement::__construct example
  • Example#1686 - mysql_xdevapi\SqlStatement::execute example
  • Example#1687 - mysql_xdevapi\SqlStatement::getNextResult example
  • Example#1688 - mysql_xdevapi\SqlStatement::getResult example
  • Example#1689 - mysql_xdevapi\SqlStatement::hasMoreResults example
  • Example#1690 - mysql_xdevapi\SqlStatementResult::__construct example
  • Example#1691 - mysql_xdevapi\SqlStatementResult::fetchAll example
  • Example#1692 - mysql_xdevapi\SqlStatementResult::fetchOne example
  • Example#1693 - mysql_xdevapi\SqlStatementResult::getAffectedItemsCount example
  • Example#1694 - mysql_xdevapi\SqlStatementResult::getColumnsCount example
  • Example#1695 - mysql_xdevapi\SqlStatementResult::getColumnNames example
  • Example#1696 - mysql_xdevapi\SqlStatementResult::getColumns example
  • Example#1697 - mysql_xdevapi\SqlStatementResult::getGeneratedIds example
  • Example#1698 - mysql_xdevapi\SqlStatementResult::getLastInsertId example
  • Example#1699 - mysql_xdevapi\SqlStatementResult::getWarnings example
  • Example#1700 - mysql_xdevapi\SqlStatementResult::getWarningsCount example
  • Example#1701 - mysql_xdevapi\SqlStatementResult::hasData example
  • Example#1702 - mysql_xdevapi\SqlStatementResult::nextResult example
  • Example#1703 - mysql_xdevapi\Statement::__construct example
  • Example#1704 - mysql_xdevapi\Statement::getNextResult example
  • Example#1705 - mysql_xdevapi\Statement::getResult example
  • Example#1706 - mysql_xdevapi\Statement::hasMoreResults example
  • Example#1707 - mysql_xdevapi\Table::__construct example
  • Example#1708 - mysql_xdevapi\Table::count example
  • Example#1709 - mysql_xdevapi\Table::delete example
  • Example#1710 - mysql_xdevapi\Table::existsInDatabase example
  • Example#1711 - mysql_xdevapi\Table::getName example
  • Example#1712 - mysql_xdevapi\Table::getSchema example
  • Example#1713 - mysql_xdevapi\Table::getSession example
  • Example#1714 - mysql_xdevapi\Table::insert example
  • Example#1715 - mysql_xdevapi\Table::isView example
  • Example#1716 - mysql_xdevapi\Table::count example
  • Example#1717 - mysql_xdevapi\Table::update example
  • Example#1718 - mysql_xdevapi\TableDelete::bind example
  • Example#1719 - mysql_xdevapi\TableDelete::__construct example
  • Example#1720 - mysql_xdevapi\TableDelete::execute example
  • Example#1721 - mysql_xdevapi\TableDelete::limit example
  • Example#1722 - mysql_xdevapi\TableDelete::orderBy example
  • Example#1723 - mysql_xdevapi\TableDelete::where example
  • Example#1724 - mysql_xdevapi\TableInsert::__construct example
  • Example#1725 - mysql_xdevapi\TableInsert::execute example
  • Example#1726 - mysql_xdevapi\TableInsert::values example
  • Example#1727 - mysql_xdevapi\TableSelect::bind example
  • Example#1728 - mysql_xdevapi\TableSelect::__construct example
  • Example#1729 - mysql_xdevapi\TableSelect::execute example
  • Example#1730 - mysql_xdevapi\TableSelect::groupBy example
  • Example#1731 - mysql_xdevapi\TableSelect::having example
  • Example#1732 - mysql_xdevapi\TableSelect::limit example
  • Example#1733 - mysql_xdevapi\TableSelect::lockExclusive example
  • Example#1734 - mysql_xdevapi\TableSelect::lockShared example
  • Example#1735 - mysql_xdevapi\TableSelect::offset example
  • Example#1736 - mysql_xdevapi\TableSelect::orderBy example
  • Example#1737 - mysql_xdevapi\TableSelect::where example
  • Example#1738 - mysql_xdevapi\TableUpdate::bind example
  • Example#1739 - mysql_xdevapi\TableUpdate::__construct example
  • Example#1740 - mysql_xdevapi\TableUpdate::execute example
  • Example#1741 - mysql_xdevapi\TableUpdate::limit example
  • Example#1742 - mysql_xdevapi\TableUpdate::orderby example
  • Example#1743 - mysql_xdevapi\TableUpdate::set example
  • Example#1744 - mysql_xdevapi\TableUpdate::where example
  • Example#1745 - mysql_xdevapi\Warning::__construct example
  • Example#1746 - - MySQL eklentisi örneği
  • Example#1747 - - mysql_affected_rows örneği
  • Example#1748 - - Hareket kullananılan mysql_affected_rows örneği
  • Example#1749 - - mysql_client_encoding örneği
  • Example#1750 - - mysql_close örneği
  • Example#1751 - - mysql_connect örneği
  • Example#1752 - - konak_adı:port sözdizimini kullanan mysql_connect örneği
  • Example#1753 - - ":/bir/yol/soket" sözdizimini kullanan mysql_connect örneği
  • Example#1754 - - mysql_create_db yerine kullanılacak kod örneği
  • Example#1755 - mysql_data_seek example
  • Example#1756 - - mysql_db_name örneği
  • Example#1757 - - mysql_db_query yerine kullanılabilecek kod örneği
  • Example#1758 - mysql_drop_db alternative example
  • Example#1759 - mysql_errno example
  • Example#1760 - mysql_error example
  • Example#1761 - mysql_escape_string example
  • Example#1762 - Query with aliased duplicate field names
  • Example#1763 - mysql_fetch_array with MYSQL_NUM
  • Example#1764 - mysql_fetch_array with MYSQL_ASSOC
  • Example#1765 - mysql_fetch_array with MYSQL_BOTH
  • Example#1766 - An expanded mysql_fetch_assoc example
  • Example#1767 - mysql_fetch_field example
  • Example#1768 - - mysql_fetch_lengths örneği
  • Example#1769 - mysql_fetch_object example
  • Example#1770 - mysql_fetch_object example
  • Example#1771 - Fetching one row with mysql_fetch_row
  • Example#1772 - A mysql_field_flags example
  • Example#1773 - - mysql_field_len örneği
  • Example#1774 - mysql_field_name example
  • Example#1775 - - mysql_field_table örneği
  • Example#1776 - mysql_field_type example
  • Example#1777 - - mysql_free_result örneği
  • Example#1778 - - mysql_get_client_info örneği
  • Example#1779 - - mysql_get_host_info örneği
  • Example#1780 - - mysql_get_proto_info örneği
  • Example#1781 - - mysql_get_server_info örneği
  • Example#1782 - - İlgili MySQL Deyimleri
  • Example#1783 - mysql_insert_id example
  • Example#1784 - - mysql_list_dbs kullanmama örneği
  • Example#1785 - - mysql_list_fields yerine kullanılabilecek kod örneği
  • Example#1786 - - mysql_list_processes örneği
  • Example#1787 - - mysql_list_tables yerine kullanılabilecek kod örneği
  • Example#1788 - - mysql_num_fields örneği
  • Example#1789 - - mysql_num_rows örneği
  • Example#1790 - - mysql_ping örneği
  • Example#1791 - Invalid Query
  • Example#1792 - Valid Query
  • Example#1793 - Simple mysql_real_escape_string example
  • Example#1794 - mysql_real_escape_string requires a connection example
  • Example#1795 - An example SQL Injection Attack
  • Example#1796 - mysql_result example
  • Example#1797 - - mysql_select_db örneği
  • Example#1798 - - mysql_stat örneği
  • Example#1799 - - Bir başka mysql_stat örneği
  • Example#1800 - - mysql_tablename örneği
  • Example#1801 - - mysql_thread_id örneği
  • Example#1802 - Basic query
  • Example#1803 - Inserting with bind variables
  • Example#1804 - Binding in the WHERE clause of a query
  • Example#1805 - Inserting and fetching a CLOB
  • Example#1806 - Using a PL/SQL stored function
  • Example#1807 - Using a PL/SQL stored procedure
  • Example#1808 - Calling a PL/SQL function that returns a REF CURSOR
  • Example#1809 -
  • Example#1810 - user_oci8_probes.d for tracing all user-level PHP OCI8 Static Probes with DTrace
  • Example#1811 - oci_bind_array_by_name example
  • Example#1812 - Inserting data with oci_bind_by_name
  • Example#1813 - Binding once for multiple executions
  • Example#1814 - Binding with a foreach loop
  • Example#1815 - Binding in a WHERE clause
  • Example#1816 - Binding with a LIKE clause
  • Example#1817 - Binding with REGEXP_LIKE
  • Example#1818 - Binding Multiple Values in an IN Clause
  • Example#1819 - Binding a ROWID returned by a query
  • Example#1820 - Binding a ROWID on INSERT
  • Example#1821 - Binding for a PL/SQL stored function
  • Example#1822 - Binding parameters for a PL/SQL stored procedure
  • Example#1823 - Binding a CLOB column
  • Example#1824 - Binding a PL/SQL BOOLEAN
  • Example#1825 - oci_client_version example
  • Example#1826 - Closing a connection
  • Example#1827 - Database connections are not closed until all references are closed
  • Example#1828 - Closing a connection opened more than once
  • Example#1829 - Connections are closed when variables go out of scope
  • Example#1830 - oci_commit example
  • Example#1831 - Basic oci_connect using Easy Connect syntax
  • Example#1832 - Basic oci_connect using a Network Connect name
  • Example#1833 - oci_connect with an explicit character set
  • Example#1834 - Using multiple calls to oci_connect
  • Example#1835 - oci_define_by_name example
  • Example#1836 - oci_define_by_name with case sensitive column names
  • Example#1837 - oci_define_by_name with LOB columns
  • Example#1838 - oci_define_by_name with an explicit type
  • Example#1839 - Displaying the Oracle error message after a connection error
  • Example#1840 - Displaying the Oracle error message after a parsing error
  • Example#1841 - Displaying the Oracle error message, the problematic statement, and the position of the problem of an execution error
  • Example#1842 - oci_execute for queries
  • Example#1843 - oci_execute without specifying a mode example
  • Example#1844 - oci_execute with OCI_NO_AUTO_COMMIT example
  • Example#1845 - oci_execute with different commit modes example
  • Example#1846 - oci_execute with OCI_DESCRIBE_ONLY example
  • Example#1847 - oci_fetch_all example
  • Example#1848 - oci_fetch_all example with OCI_FETCHSTATEMENT_BY_ROW
  • Example#1849 - oci_fetch_all with OCI_NUM
  • Example#1850 - oci_fetch_array with OCI_BOTH
  • Example#1851 - oci_fetch_array with OCI_NUM
  • Example#1852 - oci_fetch_array with OCI_ASSOC
  • Example#1853 - oci_fetch_array with OCI_RETURN_NULLS
  • Example#1854 - oci_fetch_array with OCI_RETURN_LOBS
  • Example#1855 - oci_fetch_array with case sensitive column names
  • Example#1856 - oci_fetch_array with columns having duplicate names
  • Example#1857 - oci_fetch_array with DATE columns
  • Example#1858 - oci_fetch_array with REF CURSOR
  • Example#1859 - Pagination with oci_fetch_array using a LIMIT-like query
  • Example#1860 - oci_fetch_array with Oracle Database Implicit Result Sets
  • Example#1861 - oci_fetch_assoc Example
  • Example#1862 - oci_fetch_object example
  • Example#1863 - oci_fetch_object with case sensitive column names
  • Example#1864 - oci_fetch_object with LOBs
  • Example#1865 - oci_fetch_row Example
  • Example#1866 - oci_fetch with defined variables
  • Example#1867 - oci_fetch with oci_result
  • Example#1868 - oci_field_name example
  • Example#1869 - oci_field_name example
  • Example#1870 - oci_field_precision Example
  • Example#1871 - oci_field_scale Example
  • Example#1872 - oci_field_size example
  • Example#1873 - oci_field_type_raw Example
  • Example#1874 - oci_field_type example
  • Example#1875 - Fetching Implicit Result Sets in a loop
  • Example#1876 - Getting child statement handles individually
  • Example#1877 - Explicitly setting the Prefetch Count
  • Example#1878 - Implicit Result Set example without using oci_get_implicit_resultset
  • Example#1879 - oci_new_connect example
  • Example#1880 - Binding a REF CURSOR in an Oracle stored procedure call
  • Example#1881 - oci_new_descriptor example
  • Example#1882 - oci_new_descriptor example
  • Example#1883 - oci_num_fields example
  • Example#1884 - oci_num_rows example
  • Example#1885 - oci_parse example for SQL statements
  • Example#1886 - oci_parse example for PL/SQL statements
  • Example#1887 - oci_password_change example changing the password of an already connected user
  • Example#1888 - oci_password_change example of connecting and changing the password in one step
  • Example#1889 - Basic oci_pconnect Example using Easy Connect syntax
  • Example#1890 - oci_fetch with oci_result
  • Example#1891 - oci_rollback example
  • Example#1892 - Rolling back to a SAVEPOINT example
  • Example#1893 - oci_server_version example
  • Example#1894 - Setting the action
  • Example#1895 - Setting the timeout
  • Example#1896 - Setting the client identifier to the application user
  • Example#1897 - Setting the client information
  • Example#1898 - Setting the DBOP
  • Example#1899 - Two scripts can use different versions of myfunc() at the same time
  • Example#1900 - Setting the module name
  • Example#1901 - Changing the LOB prefetch value for a query
  • Example#1902 - Changing the default prefetch value for a query
  • Example#1903 - Changing the default prefetch for a REF CURSOR fetch
  • Example#1904 - Setting the prefetch value when passing a REF CURSOR back to Oracle
  • Example#1905 - oci_statement_type example
  • Example#1906 - PostgreSQL extension overview example
  • Example#1907 - PostgreSQL user defined functions example
  • Example#1908 - pg_affected_rows example
  • Example#1909 - pg_cancel_query example
  • Example#1910 - pg_client_encoding example
  • Example#1911 - pg_close example
  • Example#1912 - Using pg_connect
  • Example#1913 - pg_connection_busy example
  • Example#1914 - pg_connection_reset example
  • Example#1915 - pg_connection_status example
  • Example#1916 - pg_convert example
  • Example#1917 - pg_copy_from example
  • Example#1918 - pg_copy_to example
  • Example#1919 - pg_dbname example
  • Example#1920 - pg_delete example
  • Example#1921 - pg_end_copy example
  • Example#1922 - pg_escape_bytea example
  • Example#1923 - pg_escape_identifier example
  • Example#1924 - pg_escape_literal example
  • Example#1925 - pg_escape_string example
  • Example#1926 - Using pg_execute
  • Example#1927 - pg_fetch_all_columns example
  • Example#1928 - PostgreSQL fetch all
  • Example#1929 - pg_fetch_array example
  • Example#1930 - pg_fetch_assoc example
  • Example#1931 - pg_fetch_object example
  • Example#1932 - pg_fetch_result example
  • Example#1933 - pg_fetch_row example
  • Example#1934 - pg_field_is_null example
  • Example#1935 - Getting information about fields
  • Example#1936 - Getting information about fields
  • Example#1937 - Getting information about fields
  • Example#1938 - Getting information about fields
  • Example#1939 - Getting table information about a field
  • Example#1940 - Getting information about fields
  • Example#1941 - Getting information about fields
  • Example#1942 - pg_free_result example
  • Example#1943 - PostgreSQL NOTIFY message
  • Example#1944 - PostgreSQL backend PID
  • Example#1945 - pg_get_result example
  • Example#1946 - pg_host example
  • Example#1947 - pg_insert example
  • Example#1948 - pg_last_error example
  • Example#1949 - pg_last_notice example
  • Example#1950 - pg_last_oid example
  • Example#1951 - pg_lo_close example
  • Example#1952 - pg_lo_create example
  • Example#1953 - pg_lo_export example
  • Example#1954 - pg_lo_import example
  • Example#1955 - pg_lo_open example
  • Example#1956 - pg_lo_read_all example
  • Example#1957 - pg_lo_read example
  • Example#1958 - pg_lo_seek example
  • Example#1959 - pg_lo_tell example
  • Example#1960 - pg_lo_truncate example
  • Example#1961 - pg_lo_unlink example
  • Example#1962 - pg_lo_write example
  • Example#1963 - Getting table metadata
  • Example#1964 - pg_num_fields example
  • Example#1965 - pg_num_rows example
  • Example#1966 - pg_options example
  • Example#1967 - pg_parameter_status example
  • Example#1968 - Using pg_pconnect
  • Example#1969 - pg_ping example
  • Example#1970 - pg_port example
  • Example#1971 - Using pg_prepare
  • Example#1972 - pg_put_line example
  • Example#1973 - Using pg_query_params
  • Example#1974 - pg_query example
  • Example#1975 - Using pg_query with multiple statements
  • Example#1976 - pg_result_error_field example
  • Example#1977 - pg_result_error example
  • Example#1978 - pg_result_seek example
  • Example#1979 - pg_result_status example
  • Example#1980 - pg_select example
  • Example#1981 - Using pg_send_execute
  • Example#1982 - Using pg_send_prepare
  • Example#1983 - Using pg_send_query_params
  • Example#1984 - pg_send_query example
  • Example#1985 - pg_set_client_encoding example
  • Example#1986 - pg_set_error_context_visibility example
  • Example#1987 - pg_set_error_verbosity example
  • Example#1988 - pg_trace example
  • Example#1989 - pg_transaction_status example
  • Example#1990 - pg_tty example
  • Example#1991 - pg_unescape_bytea example
  • Example#1992 - pg_untrace example
  • Example#1993 - pg_update example
  • Example#1994 - pg_version example
  • Example#1995 - Backup an existing database
  • Example#1996 - - SQLite3::changes örneği
  • Example#1997 - - SQLite3::close örneği
  • Example#1998 - - SQLite3::__construct örneği
  • Example#1999 - - en_uzun toparlayıcı işlev örneği
  • Example#2000 - SQLite3::createCollation example
  • Example#2001 - - SQLite3::createFunction örneği
  • Example#2002 - SQLite3::enableExceptions example
  • Example#2003 - - SQLite3::exec örneği
  • Example#2004 - - SQLite3::loadExtension örneği
  • Example#2005 - - SQLite3::open örneği
  • Example#2006 - SQLite3::openBlob example
  • Example#2007 - Incrementally writing a BLOB
  • Example#2008 - - SQLite3::prepare örneği
  • Example#2009 - - SQLite3::query örneği
  • Example#2010 - - SQLite3::querySingle örneği
  • Example#2011 - SQLite3::setAuthorizer example
  • Example#2012 - - SQLite3::version örneği
  • Example#2013 - - SQLite3Stmt::bindParam kullanımı
  • Example#2014 - - SQLite3Stmt::bindValue örneği
  • Example#2015 - Inspecting the expanded SQL
  • Example#2016 - sqlsrv_begin_transaction example
  • Example#2017 - sqlsrv_cancel example
  • Example#2018 - sqlsrv_client_info example
  • Example#2019 - sqlsrv_close example
  • Example#2020 - sqlsrv_commit example
  • Example#2021 - Connect using Windows Authentication.
  • Example#2022 - Connect by specifying a user name and password.
  • Example#2023 - Connect on a specified port.
  • Example#2024 - functionname example
  • Example#2025 - sqlsrv_execute example
  • Example#2026 - Retrieving an associative array.
  • Example#2027 - Retrieving a numeric array.
  • Example#2028 - sqlsrv_fetch_object example
  • Example#2029 - sqlsrv_fetch example
  • Example#2030 - sqlsrv_field_metadata example
  • Example#2031 - sqlsrv_free_stmt example
  • Example#2032 - sqlsrv_get_field example
  • Example#2033 - sqlsrv_has_rows example
  • Example#2034 - sqlsrv_next_result example
  • Example#2035 - sqlsrv_num_fields example
  • Example#2036 - sqlsrv_num_rows example
  • Example#2037 - sqlsrv_prepare example
  • Example#2038 - sqlsrv_query example
  • Example#2039 - sqlsrv_rollback example
  • Example#2040 - sqlsrv_rows_affected example
  • Example#2041 - sqlsrv_send_stream_data example
  • Example#2042 - sqlsrv_server_info example
  • Example#2043 - cal_days_in_month örneği
  • Example#2044 - cal_from_jd örneği
  • Example#2045 - cal_info örneği
  • Example#2046 - easter_date örneği
  • Example#2047 - - easter_date ile DateTime kullanımı
  • Example#2048 - easter_days örneği
  • Example#2049 - Takvim işlevleri örneği
  • Example#2050 - - Taşma durumu
  • Example#2051 - jdtojewish örneği
  • Example#2052 - DateTimeImmutable::add/sub add intervals which cover elapsed time
  • Example#2053 - DateTimeImmutable::modify and strtotime increment or decrement individual component values
  • Example#2054 - Adding or subtracting times can over- or underflow dates
  • Example#2055 - Creating a mutable date time object
  • Example#2056 - Creating a mutable date time object
  • Example#2057 - DateTime::modify example
  • Example#2058 - Beware when adding or subtracting months
  • Example#2059 - All formats of Date and Time are supported
  • Example#2060 - DateTime::setTimeZone example
  • Example#2061 - DateTimeImmutable::add example
  • Example#2062 - Further DateTimeImmutable::add examples
  • Example#2063 - Beware when adding months
  • Example#2064 - DateTimeImmutable::__construct example
  • Example#2065 - Intricacies of DateTimeImmutable::__construct
  • Example#2066 - Changing the associated timezone
  • Example#2067 - Using a relative date/time string
  • Example#2068 - DateTimeImmutable::createFromFormat example
  • Example#2069 - Using predefined format constants with DateTimeImmutable::createFromFormat
  • Example#2070 - Intricacies of DateTimeImmutable::createFromFormat
  • Example#2071 - Format string with literal characters
  • Example#2072 - Overflow behaviour
  • Example#2073 - Overflowing day name behaviour
  • Example#2074 - Detecting overflown dates
  • Example#2075 - Greedy parsing behaviour
  • Example#2076 - Creating an immutable date time object
  • Example#2077 - Creating an immutable date time object
  • Example#2078 - DateTimeImmutable::getLastErrors example
  • Example#2079 - DateTimeImmutable::modify example
  • Example#2080 - Beware when adding or subtracting months
  • Example#2081 - DateTimeImmutable::setDate example
  • Example#2082 - Values exceeding ranges are added to their parent values
  • Example#2083 - DateTimeImmutable::setISODate example
  • Example#2084 - Values exceeding ranges are added to their parent values
  • Example#2085 - Finding the month a week is in
  • Example#2086 - DateTimeImmutable::setTime example
  • Example#2087 - Values exceeding ranges are added to their parent values
  • Example#2088 - DateTimeImmutable::setTimestamp example
  • Example#2089 - DateTimeImmutable::setTimeZone example
  • Example#2090 - DateTimeImmutable::sub example
  • Example#2091 - Further DateTimeImmutable::sub examples
  • Example#2092 - Beware when subtracting months
  • Example#2093 - DateTimeImmutable::diff example
  • Example#2094 - DateTimeInterface::diff during DST changeover
  • Example#2095 - DateTimeInterface::diff range
  • Example#2096 - DateTime object comparison
  • Example#2097 - DateTimeInterface::format example
  • Example#2098 - More examples
  • Example#2099 - Escaping characters while formatting
  • Example#2100 - DateTime::getOffset example
  • Example#2101 - DateTime::getTimestamp example
  • Example#2102 - Retrieving timestamp with milli and microsecond resolution
  • Example#2103 - DateTime::getTimezone example
  • Example#2104 - - DateTimeZone oluşturmak ve DateTimeImmutable nesnesine eklemek
  • Example#2105 - - DateTimeZone örneklenirken hataların yakalanması
  • Example#2106 - - DateTimeZone::getLocation örneği
  • Example#2107 - DateTimeZone::getOffset examples
  • Example#2108 - A timezone_transitions_get example
  • Example#2109 - A timezone_transitions_get example with timestampBegin set
  • Example#2110 - A timezone_abbreviations_list example
  • Example#2111 - A DateTimeZone::listIdentifiers example
  • Example#2112 - Listing identifiers for a specific region
  • Example#2113 - Listing identifiers for multiple regions
  • Example#2114 - Listing identifiers for a single country
  • Example#2115 - - DateInterval nesnelerinin oluşturulması ve kullanılması
  • Example#2116 - - DateInterval örneği
  • Example#2117 - - Geçerli tarih aralıklarının çözümlenmesi
  • Example#2118 - - Birleşik ve negatif tarih aralıklarının çözümlenmesi
  • Example#2119 - - Özel göreli tarih aralıklarının çözümlenmesi
  • Example#2120 - - DateInterval örneği
  • Example#2121 - - DateInterval ve büyük değerler
  • Example#2122 - - DateInterval ve DateTime::diff ile %a ve %d değiştiricileri
  • Example#2123 -
  • Example#2124 - - DatePeriod örneği
  • Example#2125 - - DatePeriod::EXCLUDE_START_DATE ile DatePeriod örneği
  • Example#2126 - - Bir yıldaki tüm son Perşembeleri gösteren DatePeriod örneği
  • Example#2127 - DatePeriod::createFromISO8601String example
  • Example#2128 - DatePeriod::getDateInterval example
  • Example#2129 - DatePeriod::getEndDate example
  • Example#2130 - DatePeriod::getEndDate without an end date
  • Example#2131 - Different values for DatePeriod::getRecurrences
  • Example#2132 - DatePeriod::getStartDate example
  • Example#2133 - - checkdate örneği
  • Example#2134 - - Öntanımlı zaman diliminin getirilmesi
  • Example#2135 - - Zaman diliminin kısaltmasının getirilmesi
  • Example#2136 - - Öntanımlı zaman dilimini almak
  • Example#2137 - - date_parse_from_format örneği
  • Example#2138 - - Uyarılı date_parse_from_format örneği
  • Example#2139 - - Hatalı date_parse_from_format örneği
  • Example#2140 - - Kapsamlı bir tarihzaman dizgesi ile date_parse örneği
  • Example#2141 - - Zaman dilimi kısaltması içeren date_parse örneği
  • Example#2142 - - Zaman dilimi belirteci ile date_parse örneği
  • Example#2143 - - Kısa bir dizge ile date_parse örneği
  • Example#2144 - - Göreli biçimlerle date_parse örneği
  • Example#2145 - - Yan etkili date_parse örneği
  • Example#2146 - - date_sun_info örneği
  • Example#2147 - - Biraz işlemle Kutup gecesi
  • Example#2148 - - Gece yarısı güneşi (Tromsø, Norveç)
  • Example#2149 - - Gün uzunluğunun hesaplanması (Alanya)
  • Example#2150 - - date_sunrise örneği
  • Example#2151 - - Güneşin doğmaması
  • Example#2152 - - date_sunset örneği
  • Example#2153 - - Güneşin doğmaması
  • Example#2154 - - date örnekleri
  • Example#2155 - - date işlevinde önceleme karakterleri
  • Example#2156 - - date ve mktime örneği
  • Example#2157 - - date Biçemlemesi
  • Example#2158 - - getdate örneği
  • Example#2159 - - gettimeofday örneği
  • Example#2160 - - gmdate örneği
  • Example#2161 - - gmmktime temel örneği
  • Example#2162 - - gmstrftime örneği
  • Example#2163 - - idate örneği
  • Example#2164 - - localtime örneği
  • Example#2165 - - Zamanlama betiği
  • Example#2166 - microtime and REQUEST_TIME_FLOAT
  • Example#2167 - - Basit bir mktime örneği
  • Example#2168 - - mktime örneği
  • Example#2169 - - Ayın son günü
  • Example#2170 - strftime locale examples
  • Example#2171 - ISO 8601:1988 week number example
  • Example#2172 - Cross platform compatible example using the %e modifier
  • Example#2173 - Display all known and unknown formats.
  • Example#2174 - - strptime örneği
  • Example#2175 - A strtotime example
  • Example#2176 - Checking for failure
  • Example#2177 - - time örneği
  • Example#2178 - - timezone_name_from_abbr örneği
  • Example#2179 - - timezonedb sürümünün öğrenilmesi
  • Example#2180 -
  • Example#2181 -
  • Example#2182 - Measure several code blocks execution and get the total
  • Example#2183 - - Açık bir dosya tanıtıcısının kapatılması
  • Example#2184 - - Bir kilidin atanması ve silinmesi
  • Example#2185 - - Bir dosya tanıtıcısının açılması
  • Example#2186 - - Bir dosyada belli bir konuma gitmek
  • Example#2187 - - Bir seri portun hızının ayarlanması
  • Example#2188 - - chdir örneği
  • Example#2189 - - chroot örneği
  • Example#2190 - - closedir örneği
  • Example#2191 - - dir örneği
  • Example#2192 - - getcwd örneği
  • Example#2193 - - opendir örneği
  • Example#2194 - - Bir dizin içeriğinin listelenmesi
  • Example#2195 - - . ve .. girdileri ayıklanarak dizin içeriğinin listelenmesi
  • Example#2196 - - Basit bir scandir örneği
  • Example#2197 - - finfo_buffer örneği
  • Example#2198 - - finfo_file örneği
  • Example#2199 - - Nesne yönelimli kullanım örneği
  • Example#2200 - - Yordamsal kullanım örneği
  • Example#2201 - - mime_content_type örneği
  • Example#2202 - - basename örneği
  • Example#2203 - - Bir dosyanın grubunun değiştirilmesi
  • Example#2204 - - chown örneği
  • Example#2205 - - clearstatcache örneği
  • Example#2206 - - copy örneği
  • Example#2207 - - dirname örneği
  • Example#2208 - - disk_free_space örneği
  • Example#2209 - - disk_total_space örneği
  • Example#2210 - - Basit bir fclose örneği
  • Example#2211 - fdatasync example
  • Example#2212 - - Geçersiz dosya tanıtıcılı feof örneği
  • Example#2213 - - fflush kullanarak dosyaya yazma örneği
  • Example#2214 - - fgetc örneği
  • Example#2215 - - Bir CSV dosyasının okunup basılması
  • Example#2216 - - Bir dosyanın satır satır okunması
  • Example#2217 - - Bir PHP dosyasının satır satır okunması
  • Example#2218 - - Bir dosyanın varlığının sınanması
  • Example#2219 - - Site başsayfasının kaynak kodunun çıktılanması
  • Example#2220 - - include_path içinde arama
  • Example#2221 - - Bir dosyanın belli bir bölümünün okunması
  • Example#2222 - - Akım bağlamı kullanımı
  • Example#2223 - - Basit kullanım örneği
  • Example#2224 - - Seçenek kullanımı
  • Example#2225 - - file örneği
  • Example#2226 - - fileatime örneği
  • Example#2227 - - filectime örneği
  • Example#2228 - - Bir dosyanın grubunun bulunması
  • Example#2229 - - Bir dosyanın düğüm numarasının geçerli dosya ile karşılaştırılması
  • Example#2230 - - filemtime örneği
  • Example#2231 - - Bir dosyanın sahibinin bulunması
  • Example#2232 - - İzinlerin sekizlik değer olarak gösterilmesi
  • Example#2233 - - Tüm izinlerin gösterilmesi
  • Example#2234 - - filesize örneği
  • Example#2235 - - filetype örneği
  • Example#2236 - - flock örneği
  • Example#2237 - - LOCK_NB kullanarak flock
  • Example#2238 - - Bir renk isminin bir kabuk dosya kalıbıyla eşleştirilmesi
  • Example#2239 - - fopen örnekleri
  • Example#2240 - - İkil dosyalarla fpassthru kullanımı
  • Example#2241 - - fputcsv örneği
  • Example#2242 - - Basit bir fread örneği
  • Example#2243 - -İkil fread örneği
  • Example#2244 - - Uzak fread örnekleri
  • Example#2245 - - fscanf örneği
  • Example#2246 - - kişiler.txt içeriği
  • Example#2247 - - fseek örneği
  • Example#2248 - - fstat örneği
  • Example#2249 - fsync example
  • Example#2250 - - ftell örneği
  • Example#2251 - - Dosya boyutunu sınırlama örneği
  • Example#2252 - - Basit bir fwrite örneği
  • Example#2253 - glob işlevini opendir ve arkadaşları ile değiştirmenin uygun yolu
  • Example#2254 - - is_dir örneği
  • Example#2255 - - is_executable örneği
  • Example#2256 - - is_file örneği
  • Example#2257 - - Sembolik bağ oluşturulup sınamak
  • Example#2258 - - is_readable örneği
  • Example#2259 - - is_uploaded_file örneği
  • Example#2260 - - is_writable örneği
  • Example#2261 - - is_writable örneği
  • Example#2262 - - Bir sembolik bağın grubunun değiştirilmesi
  • Example#2263 - - Bir sembolik bağın sahibinin değiştirilmesi
  • Example#2264 - - Basit bir sabit bağ oluşturma örneği
  • Example#2265 - - linkinfo örneği
  • Example#2266 - - stat ve lstat karşılaştırması
  • Example#2267 - - mkdir örneği
  • Example#2268 - mkdir işlevinin ardışık bağımsız değişkeni ile kullanımı
  • Example#2269 - - Çok sayıda dosyanın karşıya yüklenmesi
  • Example#2270 - - misal.ini içeriği
  • Example#2271 - - parse_ini_file örneği
  • Example#2272 - - Bir php.ini dosyasının parse_ini_file ile çözümlenmesi
  • Example#2273 - Ara Değerler
  • Example#2274 - Öncelleme Karakterleri
  • Example#2275 - - pathinfo örneği
  • Example#2276 - - Uzantısız ve boş uzantılı farkını gösteren pathinfo örneği
  • Example#2277 - - pathinfo ve uzantı-dosya
  • Example#2278 - - pathinfo dizi başvurusunu kaldırma örneği
  • Example#2279 - - pclose örneği
  • Example#2280 - - popen örneği
  • Example#2281 - - Hata döndüren popen örneği
  • Example#2282 - - readfile kullanarak dosya indirmeyi zorlamak
  • Example#2283 - - readlink örneği
  • Example#2284 - - realpath_cache_get örneği
  • Example#2285 - - realpath_cache_size örneği
  • Example#2286 - - realpath örneği
  • Example#2287 - - Windows'ta realpath
  • Example#2288 - - renameörneği
  • Example#2289 - - rewind üste yazma örneği
  • Example#2290 - - rmdir örneği
  • Example#2291 - - stat örneği
  • Example#2292 - - stat bilgisinin touch ile birlikte kullanımı
  • Example#2293 - - Bir sembolik bağ oluşturmak
  • Example#2294 - - tempnam örneği
  • Example#2295 - - tmpfile örneği
  • Example#2296 - - touch örneği
  • Example#2297 - -touch ve zaman kullanımı
  • Example#2298 - - umask örneği
  • Example#2299 - - Basit unlink kullanımı
  • Example#2300 - Example usage of inotify
  • Example#2301 - - Yönetici dosyayı imzalamış mı diye bakmak
  • Example#2302 - - Bir dosyanın tüm özniteliklerini listelemek
  • Example#2303 - - Bir dosyanın ek özniteliklerinin tamamını silmek
  • Example#2304 - - Bir .wav dosyasında ek öznitelik tanımlamak
  • Example#2305 - - xattr_supported örneği
  • Example#2306 - - xdiff_file_bdiff_size örneği
  • Example#2307 - - xdiff_file_bdiff örneği
  • Example#2308 - - xdiff_file_bpatch örneği
  • Example#2309 - - xdiff_file_diff_binary örneği
  • Example#2310 - - xdiff_file_diff örneği
  • Example#2311 - - xdiff_file_merge3 örneği
  • Example#2312 - - xdiff_file_patch_binary örneği
  • Example#2313 - - xdiff_file_patch örneği
  • Example#2314 - - Yamayı geri alma örneği
  • Example#2315 - - xdiff_file_rabdiff örneği
  • Example#2316 - - xdiff_string_bdiff_size örneği
  • Example#2317 - - xdiff_string_diff örneği
  • Example#2318 - - xdiff_string_patch örneği
  • Example#2319 - Enchant Usage Example
  • Example#2320 - List the backends provided by the given broker
  • Example#2321 - A enchant_broker_dict_exists example
  • Example#2322 - List all available dictionaries for one broker
  • Example#2323 - A enchant_broker_request_dict example
  • Example#2324 - Adding a word to a PWL
  • Example#2325 - A enchant_dict_describe example
  • Example#2326 - A enchant_dict_quick_check example
  • Example#2327 - A enchant_dict_suggest example
  • Example#2328 - Usage example.
  • Example#2329 - Using Gender\Gender::country
  • Example#2330 - - bindtextdomain örneği
  • Example#2331 - - gettext örneği
  • Example#2332 - ngettext örneği
  • Example#2333 - - iconv_get_encoding örneği
  • Example#2334 - - iconv_mime_decode_headers örneği
  • Example#2335 - - iconv_mime_decode örneği
  • Example#2336 - - iconv_mime_encode örneği
  • Example#2337 - - iconv_set_encoding örneği
  • Example#2338 - - iconv örneği
  • Example#2339 - - ob_iconv_handler örneği
  • Example#2340 - - Yordamsal API kullanım örneği
  • Example#2341 - - Nesne yönelimli API kullanım örneği
  • Example#2342 - - FRENCH_COLLATION kuralları
  • Example#2343 - - ALTERNATE_HANDLING kuralları
  • Example#2344 - - CASE_FIRST kuralları
  • Example#2345 - - CASE_LEVEL kuralları
  • Example#2346 - - collator_asort örneği
  • Example#2347 - - collator_compare örneği
  • Example#2348 - - Aksansız veya büyük/küçük harfe duyarlı olmayan dizeleri karşılaştırma
  • Example#2349 - - Collator::__construct örneği
  • Example#2350 - - collator_create örneği
  • Example#2351 - - collator_get_attribute örneği
  • Example#2352 - - collator_get_error_code örneği
  • Example#2353 - - collator_get_error_message örneği
  • Example#2354 - - collator_get_locale örneği
  • Example#2355 - collator_get_sort_keyexample
  • Example#2356 - - collator_get_strength örneği
  • Example#2357 - - collator_set_attribute örneği
  • Example#2358 - - collator_set_strength örneği
  • Example#2359 - - collator_sort_with_sort_keys örneği
  • Example#2360 - - collator_sort örneği
  • Example#2361 - - numfmt_create örneği
  • Example#2362 - - Nesne yönelimli kullanım örneği
  • Example#2363 - - numfmt_format_currency örneği
  • Example#2364 - - Nesne yönelimli kullanım örneği
  • Example#2365 - - numfmt_format örneği
  • Example#2366 - - Nesne yönelimli kullanım örneği
  • Example#2367 - - numfmt_get_attribute örneği
  • Example#2368 - - Nesne yönelimli kullanım örneği
  • Example#2369 - - numfmt_get_error_code örneği
  • Example#2370 - - Nesne yönelimli kullanım örneği
  • Example#2371 - - numfmt_get_error_message örneği
  • Example#2372 - - Nesne yönelimli kullanım örneği
  • Example#2373 - - numfmt_get_locale örneği
  • Example#2374 - - numfmt_get_pattern örneği
  • Example#2375 - - Nesne yönelimli kullanım örneği
  • Example#2376 - - numfmt_get_symbol örneği
  • Example#2377 - - Nesne yönelimli kullanım örneği
  • Example#2378 - - numfmt_get_text_attribute örneği
  • Example#2379 - - Nesne yönelimli kullanım örneği
  • Example#2380 - - numfmt_parse_currency örneği
  • Example#2381 - - Nesne yönelimli kullanım örneği
  • Example#2382 - - numfmt_parse örneği
  • Example#2383 - - Nesne yönelimli kullanım örneği
  • Example#2384 - - numfmt_set_attribute örneği
  • Example#2385 - - Nesne yönelimli kullanım örneği
  • Example#2386 - numfmt_set_pattern örneği
  • Example#2387 - - Nesne yönelimli kullanım örneği
  • Example#2388 - - numfmt_set_symbol örneği
  • Example#2389 - - Nesne yönelimli kullanım örneği
  • Example#2390 - - Yordamsal kullanım örneği
  • Example#2391 - - Nesne yönelimli kullanım örneği
  • Example#2392 - - locale_accept_from_http örneği
  • Example#2393 - - Nesne yönelimli kullanım örneği
  • Example#2394 - - locale_compose örneği
  • Example#2395 - - Nesne yönelimli kullanım örneği
  • Example#2396 - - Alt yafta sınırlaması
  • Example#2397 - - locale_filter_matches örneği
  • Example#2398 - - Nesne yönelimli kullanım örneği
  • Example#2399 - - locale_get_all_variants örneği
  • Example#2400 - - Nesne yönelimli kullanım örneği
  • Example#2401 - - locale_get_default örneği
  • Example#2402 - - Nesne yönelimli kullanım örneği
  • Example#2403 - - locale_get_display_language örneği
  • Example#2404 - - Nesne yönelimli kullanım örneği
  • Example#2405 - - locale_get_display_name örneği
  • Example#2406 - - Nesne yönelimli kullanım örneği
  • Example#2407 - - locale_get_display_region örneği
  • Example#2408 - - Nesne yönelimli kullanım örneği
  • Example#2409 - - locale_get_display_script örneği
  • Example#2410 - - Nesne yönelimli kullanım örneği
  • Example#2411 - - locale_get_display_variant örneği
  • Example#2412 - - Nesne yönelimli kullanım örneği
  • Example#2413 - - locale_get_keywords örneği
  • Example#2414 - - Nesne yönelimli kullanım örneği
  • Example#2415 - - locale_get_primary_language örneği
  • Example#2416 - - Nesne yönelimli kullanım örneği
  • Example#2417 - - locale_get_region örneği
  • Example#2418 - - Nesne yönelimli kullanım örneği
  • Example#2419 - locale_get_script örneği
  • Example#2420 - - Nesne yönelimli kullanım örneği
  • Example#2421 - - locale_lookup örneği
  • Example#2422 - - Nesne yönelimli kullanım örneği
  • Example#2423 - - locale_parse örneği
  • Example#2424 - - Nesne yönelimli kullanım örneği
  • Example#2425 - - locale_set_default örneği
  • Example#2426 - - Nesne yönelimli kullanım örneği
  • Example#2427 - Normalizer::getRawDecomposition example
  • Example#2428 - - normalizer_is_normalized örneği
  • Example#2429 - - Nesne yönelimli örnek
  • Example#2430 - - normalizer_normalize örneği
  • Example#2431 - - Nesne yönelimli örnek
  • Example#2432 - - msgfmt_create örneği
  • Example#2433 - - Nesne yönelimli örnek
  • Example#2434 - - msgfmt_format_message örneği
  • Example#2435 - - Nesne yönelimli örnek
  • Example#2436 - - ICU'ya para birimini ortak ve dar para birimi simgesiyle biçimlendirme talimatı vermek
  • Example#2437 - - msgfmt_format örneği
  • Example#2438 - - Nesne yönelimli örnek
  • Example#2439 - - msgfmt_get_error_message örneği
  • Example#2440 - - Nesne yönelimli örnek
  • Example#2441 - - msgfmt_get_locale örneği
  • Example#2442 - - Nesne yönelimli örnek
  • Example#2443 - - msgfmt_get_pattern örneği
  • Example#2444 - - Nesne yönelimli örnek
  • Example#2445 - - msgfmt_parse_message örneği
  • Example#2446 - - Nesne yönelimli örnek
  • Example#2447 - - msgfmt_parse örneği
  • Example#2448 - - Nesne yönelimli örnek
  • Example#2449 - - msgfmt_set_pattern örneği
  • Example#2450 - - Nesne yönelimli örnek
  • Example#2451 - IntlCalendar::add
  • Example#2452 - IntlCalendar::after
  • Example#2453 - IntlCalendar::clear examples
  • Example#2454 - IntlCalendar::createInstance
  • Example#2455 - IntlCalendar::equals
  • Example#2456 - IntlCalendar::fieldDifference
  • Example#2457 - IntlCalendar::fromDateTime
  • Example#2458 - IntlCalendar::get
  • Example#2459 - IntlCalendar::getActualMaximum
  • Example#2460 - IntlCalendar::getAvailableLocales
  • Example#2461 - IntlCalendar::getDayOfWeekType
  • Example#2462 - IntlCalendar::getErrorCode and IntlCalendar::getErrorMessage
  • Example#2463 - IntlCalendar::getErrorMessage
  • Example#2464 - IntlCalendar::getFirstDayOfWeek
  • Example#2465 - IntlCalendar::getKeyworkValuesForLocale
  • Example#2466 - Maxima examples
  • Example#2467 - IntlCalendar::getLocale
  • Example#2468 - IntlCalendar::getMinimalDaysInFirstWeek
  • Example#2469 - IntlCalendar::getNow
  • Example#2470 - IntlCalendar::getRepeatedWallTimeOption
  • Example#2471 - IntlCalendar::getSkippedWallTimeOption
  • Example#2472 - IntlCalendar::getTime
  • Example#2473 - IntlCalendar::getTimeZone
  • Example#2474 - IntlCalendar::getType
  • Example#2475 - IntlCalendar::inDaylightTime
  • Example#2476 - IntlCalendar::isEquivalentTo
  • Example#2477 - IntlCalendar::isLenient
  • Example#2478 - IntlCalendar::isWeekend
  • Example#2479 - IntlCalendar::roll
  • Example#2480 - IntlCalendar::set
  • Example#2481 - IntlCalendar::setDate example
  • Example#2482 - IntlCalendar::setDateTime example
  • Example#2483 - IntlCalendar::setFirstDayOfWeek
  • Example#2484 - IntlCalendar::setTime
  • Example#2485 - IntlCalendar::setTimeZone
  • Example#2486 - IntlCalendar::toDateTime
  • Example#2487 - IntlGregorianCalendar::createFromDate example
  • Example#2488 - IntlCalendar::setDateTime example
  • Example#2489 - - datefmt_create örneği
  • Example#2490 - - Nesne yönelimli kullanım örneği
  • Example#2491 - - datefmt_format örneği
  • Example#2492 - - Nesne yönelimli kullanım örneği
  • Example#2493 - - IntlCalendar nesnesi ile
  • Example#2494 - IntlDateFormatter::formatObject examples
  • Example#2495 - - datefmt_get_calendar örneği
  • Example#2496 - - Nesne yönelimli kullanım örneği
  • Example#2497 - - datefmt_get_datetype örneği
  • Example#2498 - - Nesne yönelimli kullanım örneği
  • Example#2499 - - datefmt_get_error_code örneği
  • Example#2500 - - Nesne yönelimli kullanım örneği
  • Example#2501 - - datefmt_get_error_message örneği
  • Example#2502 - - Nesne yönelimli kullanım örneği
  • Example#2503 - - datefmt_get_locale örneği
  • Example#2504 - - Nesne yönelimli kullanım örneği
  • Example#2505 - - datefmt_get_pattern örneği
  • Example#2506 - - Nesne yönelimli kullanım örneği
  • Example#2507 - - datefmt_get_timetype örneği
  • Example#2508 - - Nesne yönelimli kullanım örneği
  • Example#2509 - - datefmt_get_timezone_id örneği
  • Example#2510 - - Nesne yönelimli kullanım örneği
  • Example#2511 - IntlDateFormatter::getCalendarObject example
  • Example#2512 - IntlDateFormatter::getTimeZone examples
  • Example#2513 - - datefmt_is_lenient örneği
  • Example#2514 - - Nesne yönelimli kullanım örneği
  • Example#2515 - - datefmt_localtime örneği
  • Example#2516 - - Nesne yönelimli kullanım örneği
  • Example#2517 - - Nesne yönelimli kullanım örneği
  • Example#2518 - - datefmt_parse örneği
  • Example#2519 - - datefmt_set_calendar örneği
  • Example#2520 - - Nesne yönelimli kullanım örneği
  • Example#2521 - - IntlCalendar nesneli örnek
  • Example#2522 - - datefmt_set_lenient örneği
  • Example#2523 - - Nesne yönelimli kullanım örneği
  • Example#2524 - - datefmt_set_pattern örneği
  • Example#2525 - - Nesne yönelimli kullanım örneği
  • Example#2526 - IntlDateFormatter::setTimeZone examples
  • Example#2527 - resourcebundle_count example
  • Example#2528 - OO example
  • Example#2529 - resourcebundle_create example
  • Example#2530 - ResourceBundle::create example
  • Example#2531 - resourcebundle_get_error_code example
  • Example#2532 - OO example
  • Example#2533 - resourcebundle_get_error_message example
  • Example#2534 - OO example
  • Example#2535 - resourcebundle_get example
  • Example#2536 - OO example
  • Example#2537 - resourcebundle_locales example
  • Example#2538 - OO example
  • Example#2539 - Spoofchecker::areConfusable example
  • Example#2540 - Spoofchecker::isSuspicious example
  • Example#2541 - Retrieving the registered transliterator IDs
  • Example#2542 - Converting escaped UTF-16 code units
  • Example#2543 - IntlDatePatternGenerator::getBestPattern example
  • Example#2544 - Converting from UTF-8 to UTF-16 and back
  • Example#2545 - Invalid characters in input
  • Example#2546 - Characters which cannot be encoded
  • Example#2547 - - grapheme_extract örneği
  • Example#2548 - - grapheme_stripos örneği
  • Example#2549 - - grapheme_stristr örneği
  • Example#2550 - - grapheme_strlen örneği
  • Example#2551 - - grapheme_strpos örneği
  • Example#2552 - - grapheme_strripos örneği
  • Example#2553 - - grapheme_strrpos örneği
  • Example#2554 - - grapheme_strstr örneği
  • Example#2555 - - grapheme_substr örneği
  • Example#2556 - - idn_to_ascii örneği
  • Example#2557 - - idn_to_utf8 örneği
  • Example#2558 - Farklı karakter kodlarının denenmesi
  • Example#2559 - Farklı karakter kodlarının denenmesi
  • Example#2560 - Farklı karakter kodlarının denenmesi
  • Example#2561 - Farklı karakter kodlarının denenmesi
  • Example#2562 - Farklı karakter kodlarının denenmesi
  • Example#2563 - Farklı karakter kodlarının denenmesi
  • Example#2564 - Farklı karakter kodlarının denenmesi
  • Example#2565 - Farklı karakter kodlarının denenmesi
  • Example#2566 - Farklı karakter kodlarının denenmesi
  • Example#2567 - Enumerating over a sample range of code points
  • Example#2568 - Enumerating over a sample range of code points
  • Example#2569 - Farklı karakter kodlarının denenmesi
  • Example#2570 - Farklı karakter kodlarının denenmesi
  • Example#2571 - Farklı karakter kodlarının denenmesi
  • Example#2572 - Farklı karakter kodlarının denenmesi
  • Example#2573 - Farklı karakter kodlarının denenmesi
  • Example#2574 - Farklı özelliklerin denenmesi
  • Example#2575 - Farklı özelliklerin denenmesi
  • Example#2576 - Farklı özelliklerin denenmesi
  • Example#2577 - Farklı karakter kodlarının denenmesi
  • Example#2578 - Farklı özelliklerin denenmesi
  • Example#2579 - Farklı özelliklerin denenmesi
  • Example#2580 - Farklı özelliklerin denenmesi
  • Example#2581 - Farklı özelliklerin denenmesi
  • Example#2582 - Farklı özelliklerin denenmesi
  • Example#2583 - Farklı özelliklerin denenmesi
  • Example#2584 - Farklı karakter kodlarının denenmesi
  • Example#2585 - Farklı karakter kodlarının denenmesi
  • Example#2586 - Farklı karakter kodlarının denenmesi
  • Example#2587 - Farklı karakter kodlarının denenmesi
  • Example#2588 - Farklı karakter kodlarının denenmesi
  • Example#2589 - Farklı karakter kodlarının denenmesi
  • Example#2590 - Farklı karakter kodlarının denenmesi
  • Example#2591 - Farklı karakter kodlarının denenmesi
  • Example#2592 - Farklı karakter kodlarının denenmesi
  • Example#2593 - Farklı karakter kodlarının denenmesi
  • Example#2594 - Farklı karakter kodlarının denenmesi
  • Example#2595 - Farklı karakter kodlarının denenmesi
  • Example#2596 - Farklı karakter kodlarının denenmesi
  • Example#2597 - Farklı karakter kodlarının denenmesi
  • Example#2598 - Farklı karakter kodlarının denenmesi
  • Example#2599 - Farklı karakter kodlarının denenmesi
  • Example#2600 - Farklı karakter kodlarının denenmesi
  • Example#2601 - Farklı karakter kodlarının denenmesi
  • Example#2602 - Farklı karakter kodlarının denenmesi
  • Example#2603 - Farklı karakter kodlarının denenmesi
  • Example#2604 - Farklı karakter kodlarının denenmesi
  • Example#2605 - Farklı karakter kodlarının denenmesi
  • Example#2606 - Farklı karakter kodlarının denenmesi
  • Example#2607 - Farklı karakter kodlarının denenmesi
  • Example#2608 - Farklı karakter kodlarının denenmesi
  • Example#2609 - Farklı karakter kodlarının denenmesi
  • Example#2610 - Farklı karakter kodlarının denenmesi
  • Example#2611 - Farklı karakter kodlarının denenmesi
  • Example#2612 - Farklı karakter kodlarının denenmesi
  • Example#2613 - Farklı karakter kodlarının denenmesi
  • Example#2614 - Farklı karakter kodlarının denenmesi
  • Example#2615 - Farklı karakter kodlarının denenmesi
  • Example#2616 - - intl_error_name örneği
  • Example#2617 - - intl_get_error_code örneği
  • Example#2618 - - intl_get_error_message örneği
  • Example#2619 - - intl_is_failure örneği
  • Example#2620 - - php.ini ayar örnekleri
  • Example#2621 - - EUC-JP kullanıcıları için php.ini ayarları
  • Example#2622 - - SJIS kullanıcıları için php.ini ayarları
  • Example#2623 - - HTTP girdi dönüşümünün php.ini'de kapatılması
  • Example#2624 - - php.ini ayarları örneği
  • Example#2625 - - Betik örneği
  • Example#2626 - - Farklı karakter kodlarının denenmesi
  • Example#2627 - - mb_convert_case yerel ayarlara bakmaz
  • Example#2628 - - Latin harfleri kullanılmayan mb_convert_case örneği
  • Example#2629 - - mb_convert_encoding örneği
  • Example#2630 - - mb_convert_kana örneği
  • Example#2631 - - mb_convert_variables örneği
  • Example#2632 - - bölge örneği
  • Example#2633 - - JavaScript dizgeyi önceleyen map örneği
  • Example#2634 - - mb_detect_encoding örneği
  • Example#2635 - - katı bağımsız değişkeninin etkisi
  • Example#2636 - - Çok sayıda kodlama eşleştiğinde sıralamanın etkisi
  • Example#2637 - - mb_detect_order örnekleri
  • Example#2638 - - Yararsız algılama sırası
  • Example#2639 - - mb_encode_mimeheader örneği
  • Example#2640 - - bölge örneği
  • Example#2641 - - mb_encode_numericentity örneği
  • Example#2642 - - mb_encoding_aliases örneği
  • Example#2643 - - mb_ereg_replace_callback örneği
  • Example#2644 - - Anonim işlev kullanan mb_ereg_replace_callback örneği
  • Example#2645 - - mb_internal_encoding örneği
  • Example#2646 - - mb_list_encodings örneği
  • Example#2647 -
  • Example#2648 - - mb_output_handler örneği
  • Example#2649 - - mb_preferred_mime_name örneği
  • Example#2650 - mb_str_pad example
  • Example#2651 - - mb_strimwidth örneği
  • Example#2652 - - mb_strtolower yerele duyarsızlık örneği
  • Example#2653 - - Latin olmayan karakterlerle mb_strtolower örneği
  • Example#2654 - - mb_strtoupper yerele duyarsızlık örneği
  • Example#2655 - - Latin olmayan karakterlerle mb_strtoupper örneği
  • Example#2656 - - mb_strwidth örneği
  • Example#2657 - - mb_substitute_character örneği
  • Example#2658 - - mb_substr_count örneği
  • Example#2659 - pspell_add_to_personal
  • Example#2660 - pspell_check Example
  • Example#2661 - pspell_add_to_personal Example
  • Example#2662 - pspell_config_create
  • Example#2663 - pspell_config_ignore
  • Example#2664 - pspell_config_mode Example
  • Example#2665 - pspell_config_personal
  • Example#2666 - pspell_config_repl
  • Example#2667 - pspell_config_runtogether
  • Example#2668 - pspell_new_config
  • Example#2669 - pspell_new_personal
  • Example#2670 - pspell_new
  • Example#2671 - pspell_add_to_personal
  • Example#2672 - pspell_store_replacement
  • Example#2673 - pspell_suggest example
  • Example#2674 - - Basit bir recode_file örneği
  • Example#2675 - - Basit bir recode_string örneği
  • Example#2676 - - exif_imagetype örneği
  • Example#2677 - - exif_read_data örneği
  • Example#2678 - - PHP 7.2.0 itibariyle exif_read_data akımları destekliyor
  • Example#2679 - - exif_tagname örneği
  • Example#2680 - - exif_thumbnail örneği
  • Example#2681 - - PHP ile PNG oluşturma örneği
  • Example#2682 - - Alfa kanallarını kullanarak resme damga basma örneği
  • Example#2683 - imagecopymerge kullanarak yarı geçirgen filigran oluşturma örneği
  • Example#2684 - gd_info kullanımı
  • Example#2685 - - getimagesize ve MIME türleri
  • Example#2686 - - getimagesize dosya örneği
  • Example#2687 - - getimagesize (URL)
  • Example#2688 - - IPTC döndüren getimagesize() örneği
  • Example#2689 - - getimagesizefromstring örneği
  • Example#2690 - - image_type_to_extension örneği
  • Example#2691 - - image_type_to_mime_type örneği
  • Example#2692 - - image2wbmp örneği
  • Example#2693 - - imageaffinematrixconcat örneği
  • Example#2694 - - imageaffinematrixget örneği
  • Example#2695 - - imagealphablending örneği
  • Example#2696 - - Kenar yumuşatmalı çizginin normal çizgiyle karşılaştırılması
  • Example#2697 - - imagearc ile çember çizmek
  • Example#2698 - - BMP dosyası kaydı
  • Example#2699 - - imagechar örneği
  • Example#2700 - - imagecharup örneği
  • Example#2701 - - imagecolorallocate örneği
  • Example#2702 - - imagecolorallocatealpha örneği
  • Example#2703 - - imagecolorallocatealpha ile kullanmak için alfa değerlerini dönüştürmek
  • Example#2704 - - Hesapla RGB değeri bileşenlerine ayırmak
  • Example#2705 - - imagecolorsforindex ile RGB değeri bileşenlerine ayırmak
  • Example#2706 - - Bir görüntüde renk aramak
  • Example#2707 - - Bir görüntüde renk aramak
  • Example#2708 - - imagecolorclosesthwb örneği
  • Example#2709 - - imagecolordeallocate örneği
  • Example#2710 - - GD logosunun renklerini öğrenelim
  • Example#2711 - - GD logosunun renklerini öğrenelim
  • Example#2712 - - imagecolormatch örneği
  • Example#2713 - - Bir görüntüdeki renkleri öğrenmek için imagecoloresolve kullanımı
  • Example#2714 - - Bir görüntüdeki renkleri öğrenmek için imagecolorresolvealpha kullanımı
  • Example#2715 - - imagecolorset örneği
  • Example#2716 - - imagecolorsforindex örneği
  • Example#2717 - - imagecolorstotal örneği
  • Example#2718 - - imagecolortransparent örneği
  • Example#2719 - - PHP.net logosuna kabartma etkisi vermek
  • Example#2720 - - Gauss bulanıklığı
  • Example#2721 - - PHP.net logosunun kırpılması
  • Example#2722 - - PHP.net logo'sunun iki kopyasının %75 şeffaflıkla karıştırılması
  • Example#2723 - - imagecopymergegray örneği
  • Example#2724 - - Basit örnek
  • Example#2725 - - Bir görüntünün orantılı olarak örneklenmesi
  • Example#2726 - - Bir görüntünün boyutlandırılması
  • Example#2727 - - Yeni bir GD görüntü akımı oluşturup bir görüntü çıktılamak
  • Example#2728 - - imagecreatefrombmp ile BMP -> PNG dönüşümü
  • Example#2729 - - imagecreatefromgd2 örneği
  • Example#2730 - - imagecreatefromgd2part örneği
  • Example#2731 - - imagecreatefromgd örneği
  • Example#2732 - - Bir GIF yüklerken oluşan bir hatanın ele alınması
  • Example#2733 - - Bir JPEG yüklerken oluşan bir hatanın ele alınması
  • Example#2734 - - Bir PNG yüklerken oluşan bir hatanın ele alınması
  • Example#2735 - - imagecreatefromstring örneği
  • Example#2736 - - Bir WBMP yüklerken oluşan bir hatanın ele alınması
  • Example#2737 - - imagecreatefromwebp ile WebP -> JPEG dönüşümü
  • Example#2738 - - imagecreatefromxbm örneği
  • Example#2739 - - imagecreatefromxpm örneği
  • Example#2740 - Yeni bir GD2 görüntü akımı oluşturup bir görüntü çıktılamak
  • Example#2741 - - imagecrop örneği
  • Example#2742 - - Otomatik kırpmanın doğru kullanımı
  • Example#2743 - - imagedashedline örneği
  • Example#2744 - - Başka bir imagedashedline örneği
  • Example#2745 - - PHP 8.0.0 öncesinde imagedestroy örneği
  • Example#2746 - - imageellipse örneği
  • Example#2747 - - imagefill örneği
  • Example#2748 - - 3 boyutlu bir pasta oluşturmak
  • Example#2749 - - imagefilledellipse örneği
  • Example#2750 - - imagefilledpolygon örneği
  • Example#2751 - - imagefilledrectangle örneği
  • Example#2752 - - Bir elipsi belli bir renge boyamak
  • Example#2753 - - imagefilter gri tonlama örneği
  • Example#2754 - - imagefilter parlaklık örneği
  • Example#2755 - - imagefilter renklendirme örneği
  • Example#2756 - imagefilter negatiflik örneği
  • Example#2757 - imagefilter mozaikleştirme örneği
  • Example#2758 - - imagefilter saçılma örneği
  • Example#2759 - - Görüntüyü dikey olarak ters çevirmek
  • Example#2760 - - Görüntüyü yatay olarak ters çevirmek
  • Example#2761 - - Yerleşik yazı tipleri üzerinde imagefontheight
  • Example#2762 - - imagefontheight ile imageloadfont işlevinin birlikte kullanımı
  • Example#2763 - - Yerleşik yazı tipleri üzerinde imagefontwidth
  • Example#2764 - - imagefontwidth ile imageloadfont işlevinin birlikte kullanımı
  • Example#2765 - - imageftbbox örneği
  • Example#2766 - - imagefttext örneği
  • Example#2767 - - imagegammacorrect örneği
  • Example#2768 - - Bir GD2 görüntünün çıktılanması
  • Example#2769 - - Bir GD2 görüntünün kaydedilmesi
  • Example#2770 - - Bir GD görüntünün çıktılanması
  • Example#2771 - - Bir GD görüntünün kaydedilmesi
  • Example#2772 - - imagegetclip örneği
  • Example#2773 - - imagegif ile bir görüntüyü çıktılamak
  • Example#2774 - - Bir PNG görüntüyü imagegif ile bir GIF görüntüye dönüştürmek
  • Example#2775 - - imagegrabscreen örneği
  • Example#2776 - - imagegrabwindow örneği
  • Example#2777 - - imageinterlace ile geçişimi etkin kılmak
  • Example#2778 - - imageistruecolor ile görüntünün gerçek renkli olup olmadığının saptanması
  • Example#2779 - - Bir JPEG görüntüyü tarayıcıya çıktılamak
  • Example#2780 - - Bir JPEG görüntüyü bir dosyaya kaydetmek
  • Example#2781 - - Görüntüyü %75 kaliteyle tarayıcıya çıktılamak
  • Example#2782 - - imagelayereffect örneği
  • Example#2783 - - Kalın bir çizgi çizelim
  • Example#2784 - - imageloadfont örneği
  • Example#2785 - - imageopenpolygon örneği
  • Example#2786 - - imagepalettecopy örneği
  • Example#2787 - Görüntü nesnesini gerçek renkliye dönüştürmek
  • Example#2788 - - imagepolygon örneği
  • Example#2789 - - imagerectangle örneği
  • Example#2790 - - Bir görüntünün çözünürlüğünü tanımlamak ve döndürmek
  • Example#2791 - - Bir remin 180° döndürülmesi
  • Example#2792 - - Temel imagesavealpha kullanımı
  • Example#2793 - - imagesetbrush örneği
  • Example#2794 - - imagesetinterpolation örneği
  • Example#2795 - - imagesetpixel örneği
  • Example#2796 - - imagesetstyle örneği
  • Example#2797 - - imagesetthickness örneği
  • Example#2798 - - imagesettile örneği
  • Example#2799 - - imagestring örneği
  • Example#2800 - - imagestringup örneği
  • Example#2801 - - imagesx örneği
  • Example#2802 - - imagesy örneği
  • Example#2803 - - Gerçek renkli görüntüyü paletli görüntüye dönüştürmek
  • Example#2804 - - imagettfbbox örneği
  • Example#2805 - - imagettftext örneği
  • Example#2806 - - PNG desteğinin sınanması
  • Example#2807 - - Bir WBMP görüntüyü çıktılamak
  • Example#2808 - - Bir WBMP görüntünün kaydedilmesi
  • Example#2809 - - Görüntüyü farklı bir artalan rengi ile çıktılamak
  • Example#2810 - - WebP görüntünün dosyaya kaydedilmesi
  • Example#2811 - - Bir XBM dosyasının kaydedilmesi
  • Example#2812 - - XBM dosyasını farklı bir artalan rengi ile çıktılamak
  • Example#2813 - - IPTC verisinin bir JPEG içine gömülmesi
  • Example#2814 - - getimagesize ile iptcparse kullanımı
  • Example#2815 - - jpeg2wbmp örneği
  • Example#2816 - - png2wbmp örneği
  • Example#2817 - Gmagick Example
  • Example#2818 - Gmagick::despeckleimage example
  • Example#2819 - Gmagick::setCompressionQuality
  • Example#2820 - - Imagick ile görüntü örneği (thumbnail) oluşturmak
  • Example#2821 - - Bir dizindeki tüm JPG dosyalarının küçük örneklerinin elde edilmesi
  • Example#2822 - - Bir görüntünün yansımasının oluşturulması
  • Example#2823 - - Metni bir örüntü ile kaplamak
  • Example#2824 - - GIF görüntüyü okumak ve tüm kareleri boyutlandırmak
  • Example#2825 - - PHP logosu yapımı
  • Example#2826 - - Imagick::adaptiveBlurImage örneği
  • Example#2827 - - Imagick::adaptiveResizeImageörneği
  • Example#2828 - - Imagick::adaptiveSharpenImage örneği
  • Example#2829 - - Imagick::adaptiveThresholdImage
  • Example#2830 - - Imagick::addNoiseImage
  • Example#2831 - - Imagick::affineTransformImage
  • Example#2832 - - Imagick::annotateImage örneği
  • Example#2833 - - Imagick::appendImages örneği
  • Example#2834 - Imagick::autoLevelImage
  • Example#2835 - - Imagick::blackThresholdImage
  • Example#2836 - Imagick::blueShiftImage
  • Example#2837 - - Imagick::blurImage örneği
  • Example#2838 - - Imagick::borderImage
  • Example#2839 - Imagick::brightnessContrastImage
  • Example#2840 - - Imagick::charcoalImage
  • Example#2841 - - Imagick::chopImage örneği
  • Example#2842 - - Farklı imagick sürümlerinde Imagick nesnesinin kopyalanması
  • Example#2843 - - Imagick::clutImage örneği
  • Example#2844 - - Imagick::colorizeImage
  • Example#2845 - Imagick::colorMatrixImage
  • Example#2846 - - Imagick::commentImage kullanımı
  • Example#2847 - - Imagick::compareImageLayers örneği
  • Example#2848 - - Imagick::compareImages örneği
  • Example#2849 - - Imagick::compositeImage kullanımı:
  • Example#2850 - - Imagick::contrastImage örneği
  • Example#2851 - - Imagick::convolveImage örneği
  • Example#2852 - Imagick::deskewImage
  • Example#2853 - - Imagick::despeckleImage örneği
  • Example#2854 - - Imagick::distortImage örneği
  • Example#2855 - - Imagick::edgeImage kullanımı
  • Example#2856 - - Imagick::embossImage kullanımı
  • Example#2857 - - Imagick::enhanceImage kullanımı
  • Example#2858 - - Imagick::equalizeImage
  • Example#2859 - - Imagick::evaluateImage kullanımı
  • Example#2860 - Using Imagick::exportImagePixels
  • Example#2861 - Imagick::filter
  • Example#2862 - - Imagick::flipImage kullanımı
  • Example#2863 - - Imagick::floodfillPaintImage örneği
  • Example#2864 - - Imagick::flopImage
  • Example#2865 - Imagick::forwardFourierTransformImage
  • Example#2866 - - Imagick::frameImage kullanımı
  • Example#2867 - Create a sinusoidal gradient
  • Example#2868 - Create a gradient from the polynomial (4x^2 - 4x + 1)
  • Example#2869 - Create a complex gradient from the polynomial (4x^2 - 4x^2 + 1) modulated by a sinusoidal gradient
  • Example#2870 - - Imagick::fxImage kullanımı
  • Example#2871 - - Imagick::gammaImage kullanımı
  • Example#2872 - - Imagick::gaussianBlurImage kullanımı
  • Example#2873 - - Imagick::getImageGeometry kullanımı
  • Example#2874 - - Imagick::getImageHistogram kullanımı
  • Example#2875 - - Imagick::getImageLength örneği
  • Example#2876 - - Imagick::getImageProperties örneği
  • Example#2877 - - Imagick::getImageProperty örneği
  • Example#2878 - - Imagick::getIteratorIndex örneği
  • Example#2879 - - Imagick::getPixelIterator kullanımı
  • Example#2880 - - Imagick::getPixelRegionIterator kullanımı
  • Example#2881 - - 200x400 boyutlarındaki ham RGB görüntüyü 400x800 boyutlarına büyüttükten sonra boyutlarını döndürmek
  • Example#2882 - Imagick::haldClutImage
  • Example#2883 - Imagick::identifyFormat
  • Example#2884 - - Dönen değer örneği
  • Example#2885 - - Imagick::implodeImage örneği
  • Example#2886 - Imagick::importImagePixels example
  • Example#2887 - - Imagick::levelImage örneği
  • Example#2888 - - Imagick::linearStretchImage örneği
  • Example#2889 - - Imagick::magnifyImage örneği
  • Example#2890 - - Imagick::medianFilterImage örneği
  • Example#2891 - - Imagick::mergeImageLayers örneği
  • Example#2892 - - Imagick::modulateImage
  • Example#2893 - Convolve Imagick::morphology
  • Example#2894 - Correlate Imagick::morphology
  • Example#2895 - Erode Imagick::morphology
  • Example#2896 - Erode Intensity Imagick::morphology
  • Example#2897 - Dilate Imagick::morphology
  • Example#2898 - Dilate intensity Imagick::morphology
  • Example#2899 - Distance with Chebyshev kernel Imagick::morphology
  • Example#2900 - Distance with Manhattan kernel Imagick::morphology
  • Example#2901 - Distance with ocatagonal kernel Imagick::morphology
  • Example#2902 - Distance with Euclidean kernel Imagick::morphology
  • Example#2903 - Edge Imagick::morphology
  • Example#2904 - Open Imagick::morphology
  • Example#2905 - Open intensity Imagick::morphology
  • Example#2906 - Close Imagick::morphology
  • Example#2907 - Close Intensity Imagick::morphology
  • Example#2908 - Smooth Imagick::morphology
  • Example#2909 - Edge in Imagick::morphology
  • Example#2910 - Edge out Imagick::morphology
  • Example#2911 - The 'TopHat' method, or more specifically 'White Top Hat', returns the pixels that were removed by a Opening of the shape, that is the pixels that were removed to round off the points, and the connecting bridged between shapes. Imagick::morphology
  • Example#2912 - The 'BottomHat' method, also known as 'Black TopHat' is the pixels that a Closing of the shape adds to the image. That is the pixels that were used to fill in the 'holes', 'gaps', and 'bridges'. Imagick::morphology
  • Example#2913 - Hit and Miss Imagick::morphology
  • Example#2914 - Thinning Imagick::morphology
  • Example#2915 - Thicken Imagick::morphology
  • Example#2916 - Thick to generate a convex hull Imagick::morphology
  • Example#2917 - Iterative morphology Imagick::morphology
  • Example#2918 - Helper function to get an image silhouette Imagick::morphology
  • Example#2919 - - Imagick::motionBlurImage örneği
  • Example#2920 - Imagick::negateImage
  • Example#2921 - - Imagick::newImage örneği
  • Example#2922 - - Imagick::newPseudoImage örneği
  • Example#2923 - - Imagick::normalizeImage örneği
  • Example#2924 - - Imagick::oilPaintImage örneği
  • Example#2925 - - Imagick::optimizeImageLayers örneği
  • Example#2926 - - Imagick::orderedPosterizeImage örneği
  • Example#2927 - - Imagick::pingImageBlob örneği
  • Example#2928 - - Imagick::pingImageFile örneği
  • Example#2929 - - Imagick::polaroidImage örneği
  • Example#2930 - - Imagick::posterizeImage
  • Example#2931 - - Imagick::quantizeImage
  • Example#2932 - - Imagick::queryFontMetrics örneği
  • Example#2933 - - Imagick::queryFonts örneği
  • Example#2934 - - Imagick::queryFormats örneği
  • Example#2935 - - Imagick::radialBlurImage
  • Example#2936 - - Imagick::raiseImage örneği
  • Example#2937 - - Imagick::randomThresholdImage örneği
  • Example#2938 - - Imagick::readImageBlob örneği
  • Example#2939 - - Imagick::recolorImage örneği
  • Example#2940 - - Imagick::reduceNoiseImage örneği
  • Example#2941 - - Imagick::resampleImage örneği
  • Example#2942 - - Imagick::rollImage örneği
  • Example#2943 - - Imagick::rotateImage örneği
  • Example#2944 - Imagick::rotationalBlurImage
  • Example#2945 - - Imagick::roundCorners örneği
  • Example#2946 - - Imagick::scaleImage örneği
  • Example#2947 - Imagick::segmentImage
  • Example#2948 - Imagick::selectiveBlurImage
  • Example#2949 - - Imagick::separateImageChannel örneği
  • Example#2950 - - Imagick::sepiaToneImage örneği
  • Example#2951 - - Imagick::setCompressionQuality örneği
  • Example#2952 - - Imagick::setFont örneği
  • Example#2953 - - Imagick::setImage örneği
  • Example#2954 - Imagick::setImageArtifact
  • Example#2955 - - Imagick::setImageBias örneği
  • Example#2956 - - Imagick::setImageClipMask örneği
  • Example#2957 - - Imagick::setImageCompressionQuality örneği
  • Example#2958 - - Imagick::setImageDelay ile canlandırmalı GIF'te değişiklik yapmak
  • Example#2959 - - Imagick::setImageIterations örneği
  • Example#2960 - - Imagick::setImageOpacity örneği
  • Example#2961 - Imagick::setImageOrientation
  • Example#2962 - - Imagick::setImageProperty örneği
  • Example#2963 - - Imagick::setImageResolution örneği
  • Example#2964 - - Canlandırmalı GIF'in oynatma hızını Imagick::setImageTicksPerSecond ile ayarlamak
  • Example#2965 - - Imagick::setIteratorIndex örneği
  • Example#2966 - - Imagick::setOption ile '$extent' boyuta ulaşmak
  • Example#2967 - - Imagick::setOption genel kullanımı
  • Example#2968 - - Imagick::setOption örneği
  • Example#2969 - - Imagick::setPointSize örneği
  • Example#2970 - Imagick::setProgressMonitor
  • Example#2971 - - Imagick::setSamplingFactors örneği
  • Example#2972 - - Imagick::shadeImage örneği
  • Example#2973 - - Imagick::shadowImage örneği
  • Example#2974 - - Imagick::sharpenImage örneği
  • Example#2975 - - Imagick::shaveImage örneği
  • Example#2976 - - Imagick::shearImage örneği
  • Example#2977 - Imagick::sigmoidalContrastImage kullanarak, $contrast ve $midpoint değişkenleriyle tanımlanan karıştırma ile iki görüntüyü sorunsuz bir şekilde karıştırmak için geçişimli görüntü oluşturmak
  • Example#2978 - - Imagick::sketchImage örneği
  • Example#2979 - Imagick::smushImages
  • Example#2980 - - Imagick::solarizeImage
  • Example#2981 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#2982 - SPARSECOLORMETHOD_BILINEAR Imagick::sparseColorImage
  • Example#2983 - SPARSECOLORMETHOD_SPEPARDS Imagick::sparseColorImage
  • Example#2984 - SPARSECOLORMETHOD_VORONOI Imagick::sparseColorImage
  • Example#2985 - SPARSECOLORMETHOD_BARYCENTRIC Imagick::sparseColorImage
  • Example#2986 - createGradientImage is used by other examples. Imagick::sparseColorImage
  • Example#2987 - - Imagick::spliceImage örneği
  • Example#2988 - - Imagick::spreadImage örneği
  • Example#2989 - Imagick::statisticImage
  • Example#2990 - Imagick::subImageMatch
  • Example#2991 - - Imagick::swirlImage örneği
  • Example#2992 - - Imagick::textureImage örneği
  • Example#2993 - - Imagick::thresholdImage örneği
  • Example#2994 - - Imagick::thumbnailImage örneği
  • Example#2995 - - Imagick::tintImage örneği
  • Example#2996 - Imagick::transformImage örneği
  • Example#2997 - Imagick::transformImageColorspace example
  • Example#2998 - - Imagick::transparentPaintImage örneği
  • Example#2999 - - Imagick::transposeImage örneği
  • Example#3000 - - Imagick::transverseImage örneği
  • Example#3001 - - Imagick::trimImage örneği
  • Example#3002 - - Imagick::uniqueImageColors örneği
  • Example#3003 - - Imagick::unsharpMaskImage örneği
  • Example#3004 - - Imagick::vignetteImage örneği
  • Example#3005 - - Imagick::waveImage biraz yavaş olabilir
  • Example#3006 - * Imagick::whiteThresholdImage örneği
  • Example#3007 - - ImagickDraw::affine örneği
  • Example#3008 - - ImagickDraw::arc örneği
  • Example#3009 - - ImagickDraw::bezier örneği
  • Example#3010 - - ImagickDraw::circle örneği
  • Example#3011 - ImagickDraw::composite örneği
  • Example#3012 - - ImagickDraw::ellipse örneği
  • Example#3013 - - ImagickDraw::line örneği
  • Example#3014 - - ImagickDraw::matte örneği
  • Example#3015 - - ImagickDraw::pathCurveToQuadraticBezierAbsolute örneği
  • Example#3016 - - ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute örneği
  • Example#3017 - - ImagickDraw::pathCurveToQuadraticBezierSmoothRelative örneği
  • Example#3018 - - ImagickDraw::pathStart örneği
  • Example#3019 - - ImagickDraw::point örneği
  • Example#3020 - - ImagickDraw::polygon örneği
  • Example#3021 - - ImagickDraw::polyline örneği
  • Example#3022 - - ImagickDraw::popDefs örneği
  • Example#3023 - - ImagickDraw::push örneği
  • Example#3024 - - ImagickDraw::popDefs örneği
  • Example#3025 - - ImagickDraw::pushPattern örneği
  • Example#3026 - - ImagickDraw::rectangle örneği
  • Example#3027 - - ImagickDraw::rotate örneği
  • Example#3028 - - ImagickDraw::roundRectangle örneği
  • Example#3029 - - ImagickDraw::scale örneği
  • Example#3030 - - ImagickDraw::setClipPath örneği
  • Example#3031 - - ImagickDraw::setClipRule örneği
  • Example#3032 - - ImagickDraw::setClipUnits örneği
  • Example#3033 - - ImagickDraw::setFillAlpha örneği
  • Example#3034 - - ImagickDraw::setFillColor örneği
  • Example#3035 - - ImagickDraw::setFillOpacity örneği
  • Example#3036 - - ImagickDraw::setFillRule örneği
  • Example#3037 - - ImagickDraw::setFont örneği
  • Example#3038 - - ImagickDraw::setFontFamily örneği
  • Example#3039 - - ImagickDraw::setFontSize örneği
  • Example#3040 - - ImagickDraw::setFontStretch örneği
  • Example#3041 - - ImagickDraw::setFontStyle örneği
  • Example#3042 - - ImagickDraw::setFontWeight örneği
  • Example#3043 - - ImagickDraw::setGravity örneği
  • Example#3044 - - ImagickDraw::setStrokeAlpha örneği
  • Example#3045 - - ImagickDraw::setStrokeAntialias örneği
  • Example#3046 - - ImagickDraw::setStrokeColor örneği
  • Example#3047 - - ImagickDraw::setStrokeDashArray örneği
  • Example#3048 - - ImagickDraw::setStrokeDashOffset örneği
  • Example#3049 - - ImagickDraw::setStrokeLineCap örneği
  • Example#3050 - - ImagickDraw::setStrokeLineJoin örneği
  • Example#3051 - - ImagickDraw::setStrokeMiterLimit örneği
  • Example#3052 - - ImagickDraw::setStrokeOpacity örneği
  • Example#3053 - - ImagickDraw::setStrokeWidth örneği
  • Example#3054 - - ImagickDraw::setTextAlignment örneği
  • Example#3055 - - ImagickDraw::setTextAntialias örneği
  • Example#3056 - - ImagickDraw::setTextDecoration örneği
  • Example#3057 - - ImagickDraw::setTextUnderColor örneği
  • Example#3058 - - ImagickDraw::setVectorGraphics örneği
  • Example#3059 - - ImagickDraw::setViewBox örneği
  • Example#3060 - - ImagickDraw::skewX örneği
  • Example#3061 - - ImagickDraw::skewY örneği
  • Example#3062 - - ImagickDraw::translate örneği
  • Example#3063 - - ImagickPixel::construct örneği
  • Example#3064 - - Imagick::getColor temel kullanım örneği
  • Example#3065 - -Imagick::getColorAsString temel kullanım örneği
  • Example#3066 - - ImagickPixel::getColorCount örneği
  • Example#3067 - - Imagick::getColorValue temel kullanım örneği
  • Example#3068 - ImagickPixel::getColorValueQuantum
  • Example#3069 - - Imagick::getHSL örneği
  • Example#3070 - - ImagickPixel::isSimilar örneği
  • Example#3071 - - ImagickPixel::setColor örneği
  • Example#3072 - - Imagick::setColorValue örneği
  • Example#3073 - ImagickPixel::setColorValueQuantum
  • Example#3074 - - Bir rengi değiştirmek için ImagickPixel::setHSL kullanımı
  • Example#3075 - - ImagickPixelIterator::clear örneği
  • Example#3076 - - ImagickPixelIterator::construct örneği
  • Example#3077 - - ImagickPixelIterator::getNextIteratorRow örneği
  • Example#3078 - - ImagickPixelIterator::resetIterator örneği
  • Example#3079 - - ImagickPixelIterator::setIteratorRow örneği
  • Example#3080 - ImagickKernel::addKernel
  • Example#3081 - ImagickKernel::addUnityKernel
  • Example#3082 - ImagickKernel::addUnityKernel
  • Example#3083 - ImagickKernel::fromBuiltin
  • Example#3084 - ImagickKernel::fromMatrix
  • Example#3085 - ImagickKernel::getMatrix
  • Example#3086 - ImagickKernel::scale
  • Example#3087 - ImagickKernel::separate
  • Example#3088 - - imap_append örneği
  • Example#3089 - - imap_check örneği
  • Example#3090 - - imap_createmailbox örneği
  • Example#3091 - - imap_delete örneği
  • Example#3092 - - imap_fetch_overview örneği
  • Example#3093 - - imap_gc örneği
  • Example#3094 - - imap_get_quota örneği
  • Example#3095 - - imap_get_quota 4.3 ve üstü örneği
  • Example#3096 - - imap_get_quotaroot örneği
  • Example#3097 - - imap_getacl örneği
  • Example#3098 - - imap_getmailboxes örneği
  • Example#3099 - imap_is_open example
  • Example#3100 - - imap_list örneği
  • Example#3101 - - imap_mail_compose örneği
  • Example#3102 - - imap_mailboxmsginfo örneği
  • Example#3103 - - imap_mime_header_decode örneği
  • Example#3104 - - imap_open işlevinin farklı kullanımları
  • Example#3105 - - imap_open örneği
  • Example#3106 - - imap_ping örneği
  • Example#3107 - - imap_reopen örneği
  • Example#3108 - - imap_rfc822_parse_adrlist örneği
  • Example#3109 - - imap_rfc822_write_address örneği
  • Example#3110 - - imap_search örneği
  • Example#3111 - - imap_set_quota örneği
  • Example#3112 - - imap_setflag_full örneği
  • Example#3113 - - imap_status örneği
  • Example#3114 - - imap_thread örneği
  • Example#3115 - - imap_timeout örneği
  • Example#3116 - - imap_utf8 örneği
  • Example#3117 - - Adres özetinin hesaplanıp bir kullanıcının üye yapılması
  • Example#3118 - - Eposta gönderimi
  • Example#3119 - - Ek başlıklarla eposta gönderimi
  • Example#3120 - - array türünde ek başlıklarla eposta gönderimi
  • Example#3121 - - Ek komut satırı seçenekleriyle eposta gönderimi
  • Example#3122 - - HTML eposta gönderimi
  • Example#3123 - mailparse_determine_best_xfer_encoding example
  • Example#3124 - mailparse_rfc822_parse_addresses example
  • Example#3125 - mailparse_stream_encode example
  • Example#3126 - mailparse_uudecode_all example
  • Example#3127 - - bcadd örneği
  • Example#3128 - bccomp örneği
  • Example#3129 - - bcdiv örneği
  • Example#3130 - - bcmod örneği
  • Example#3131 - - Ondalık basamaklarla bcmod
  • Example#3132 - - bcmul örneği
  • Example#3133 - - bcmul basamak örneği
  • Example#3134 - bcpow örneği
  • Example#3135 - bcpow basamak örneği
  • Example#3136 - - bcscale örneği
  • Example#3137 - bcsqrt örneği
  • Example#3138 - bcsub örneği
  • Example#3139 - Factorial function using GMP
  • Example#3140 - gmp_abs example
  • Example#3141 - gmp_add example
  • Example#3142 - gmp_and example
  • Example#3143 - gmp_clrbit example
  • Example#3144 - gmp_cmp example
  • Example#3145 - gmp_com example
  • Example#3146 - gmp_div_q example
  • Example#3147 - Division of GMP numbers
  • Example#3148 - gmp_div_r example
  • Example#3149 - gmp_divexact example
  • Example#3150 - gmp_export example
  • Example#3151 - gmp_fact example
  • Example#3152 - gmp_gcd example
  • Example#3153 - Solving a linear Diophantine equation
  • Example#3154 - gmp_hamdist example
  • Example#3155 - gmp_import example
  • Example#3156 - Creating GMP number
  • Example#3157 - gmp_intval example
  • Example#3158 - gmp_invert example
  • Example#3159 - gmp_jacobi example
  • Example#3160 - gmp_legendre example
  • Example#3161 - gmp_mod example
  • Example#3162 - gmp_mul example
  • Example#3163 - gmp_neg example
  • Example#3164 - gmp_nextprime example
  • Example#3165 - gmp_or example
  • Example#3166 - gmp_perfect_square example
  • Example#3167 - gmp_popcount example
  • Example#3168 - gmp_pow example
  • Example#3169 - gmp_powm example
  • Example#3170 - gmp_prob_prime example
  • Example#3171 - gmp_random_bits example
  • Example#3172 - gmp_random_range example
  • Example#3173 - gmp_random_seed example
  • Example#3174 - gmp_random example
  • Example#3175 - gmp_scan0 example
  • Example#3176 - gmp_scan1 example
  • Example#3177 - gmp_setbit example - 0 index
  • Example#3178 - gmp_setbit example - 1 index
  • Example#3179 - gmp_setbit example - clearing a bit
  • Example#3180 - gmp_sign example
  • Example#3181 - gmp_sqrt example
  • Example#3182 - gmp_sqrtrem example
  • Example#3183 - Converting a GMP number to a string
  • Example#3184 - gmp_sub example
  • Example#3185 - gmp_testbit example
  • Example#3186 - gmp_xor example
  • Example#3187 - abs example
  • Example#3188 - base_convert example
  • Example#3189 - bindec example
  • Example#3190 - bindec interprets input as unsigned integers
  • Example#3191 - ceil example
  • Example#3192 - cos example
  • Example#3193 - decbin example
  • Example#3194 - dechex example
  • Example#3195 - dechex example with large integers
  • Example#3196 - decoct example
  • Example#3197 - deg2rad example
  • Example#3198 - exp example
  • Example#3199 - Using fdiv
  • Example#3200 - floor example
  • Example#3201 - Using fmod
  • Example#3202 - hexdec example
  • Example#3203 - intdiv example
  • Example#3204 - is_finite example
  • Example#3205 - is_infinite example
  • Example#3206 - is_nan example
  • Example#3207 - Example uses of max
  • Example#3208 - Example uses of min
  • Example#3209 - octdec example
  • Example#3210 - pi example
  • Example#3211 - Some examples of pow
  • Example#3212 - rad2deg example
  • Example#3213 - round examples
  • Example#3214 - How precision affects a float
  • Example#3215 - mode examples
  • Example#3216 - mode with precision examples
  • Example#3217 - sin example
  • Example#3218 - sqrt example
  • Example#3219 - tan example
  • Example#3220 - Evaluating a FDF document
  • Example#3221 - Adding JavaScript code to a FDF
  • Example#3222 - Populating a PDF document
  • Example#3223 - Storing an uploaded file
  • Example#3224 - Detecting all fieldnames in a FDF
  • Example#3225 - Accessing the form data
  • Example#3226 - Accessing the form data
  • Example#3227 - Retrieving FDF as a string
  • Example#3228 - Passing FDF data to a second form
  • Example#3229 - gnupg clearsign example (procedural)
  • Example#3230 - gnupg clearsign example (OO)
  • Example#3231 - keylistiterator
  • Example#3232 - Procedural gnupg_adddecryptkey example
  • Example#3233 - OO gnupg_adddecryptkey example
  • Example#3234 - Procedural gnupg_addencryptkey example
  • Example#3235 - OO gnupg_addencryptkey example
  • Example#3236 - Procedural gnupg_addsignkey example
  • Example#3237 - OO gnupg_addsignkey example
  • Example#3238 - Procedural gnupg_cleardecryptkeys example
  • Example#3239 - OO gnupg_cleardecryptkeys example
  • Example#3240 - Procedural gnupg_clearencryptkeys example
  • Example#3241 - OO gnupg_clearencryptkeys example
  • Example#3242 - Procedural gnupg_clearsignkeys example
  • Example#3243 - OO gnupg_clearsignkeys example
  • Example#3244 - Procedural gnupg_decrypt example
  • Example#3245 - OO gnupg_decrypt example
  • Example#3246 - Procedural gnupg_decryptverify example
  • Example#3247 - OO gnupg_decryptverify example
  • Example#3248 - Procedural gnupg_deletekey example
  • Example#3249 - OO gnupg_deletekey example
  • Example#3250 - Procedural gnupg_encrypt example
  • Example#3251 - OO gnupg_encrypt example
  • Example#3252 - Procedural gnupg_encryptsign example
  • Example#3253 - OO gnupg_encryptsign example
  • Example#3254 - Procedural gnupg_export example
  • Example#3255 - OO gnupg_export example
  • Example#3256 - Procedural gnupg_getengineinfo example
  • Example#3257 - OO gnupg_getengineinfo example
  • Example#3258 - Procedural gnupg_geterror example
  • Example#3259 - OO gnupg_geterror example
  • Example#3260 - Procedural gnupg_geterrorinfo example
  • Example#3261 - OO gnupg_geterrorinfo example
  • Example#3262 - Procedural gnupg_getprotocol example
  • Example#3263 - OO gnupg_getprotocol example
  • Example#3264 - Procedural gnupg_gettrustlist example
  • Example#3265 - OO gnupg_gettrustlist example
  • Example#3266 - Procedural gnupg_import example
  • Example#3267 - OO gnupg_import example
  • Example#3268 - Procedural gnupg_init example with default setting
  • Example#3269 - Procedural gnupg_init example with overriden file name and home dir
  • Example#3270 - OO gnupg initializer example with default setting
  • Example#3271 - OO gnupg initializer example with overriden file name and home dir
  • Example#3272 - Procedural gnupg_keyinfo example
  • Example#3273 - OO gnupg_keyinfo example
  • Example#3274 - Procedural gnupg_listsignatures example
  • Example#3275 - OO gnupg_listsignatures example
  • Example#3276 - Procedural gnupg_setarmor example
  • Example#3277 - OO gnupg_setarmor example
  • Example#3278 - Procedural gnupg_seterrormode example
  • Example#3279 - OO gnupg_seterrormode example
  • Example#3280 - Procedural gnupg_setsignmode example
  • Example#3281 - OO gnupg_setsignmode example
  • Example#3282 - Procedural gnupg_sign example
  • Example#3283 - OO gnupg_sign example
  • Example#3284 - Procedural gnupg_verify example
  • Example#3285 - OO gnupg_verify example
  • Example#3286 - Creating and using a pattern
  • Example#3287 - Creating and using a template
  • Example#3288 - Hyphennate a text
  • Example#3289 - Drawing a rectangle
  • Example#3290 - Creating and using a spot color
  • Example#3291 - Rotation of the coordinate system
  • Example#3292 - Placing text at a given position
  • Example#3293 - Drawing a dashed line
  • Example#3294 - Translation of the coordinate system
  • Example#3295 - A rpmdbinfo example
  • Example#3296 - Searching for the package owning a file
  • Example#3297 - A rpminfo example
  • Example#3298 - example
  • Example#3299 - example
  • Example#3300 - example
  • Example#3301 - example
  • Example#3302 - example
  • Example#3303 - example
  • Example#3304 - example
  • Example#3305 - example
  • Example#3306 - example
  • Example#3307 - example
  • Example#3308 - example
  • Example#3309 - example
  • Example#3310 - example
  • Example#3311 - example
  • Example#3312 - example
  • Example#3313 - example
  • Example#3314 - example
  • Example#3315 - example
  • Example#3316 - example
  • Example#3317 - Incorrect requests
  • Example#3318 - Calling request from a request callback
  • Example#3319 - Calling request from a request callback
  • Example#3320 - Using eio with libevent
  • Example#3321 - Cancelling a request
  • Example#3322 - Calling eio_chmod
  • Example#3323 - Making a custom request
  • Example#3324 - Grouping requests
  • Example#3325 - Using eio with libevent extension
  • Example#3326 - Using eio with event extension
  • Example#3327 - eio_cancel example
  • Example#3328 - eio_custom example
  • Example#3329 - eio_event_loop example
  • Example#3330 - eio_lstat example
  • Example#3331 - Using eio with libevent
  • Example#3332 - Grouping requests
  • Example#3333 - eio_grp example
  • Example#3334 - eio_link example
  • Example#3335 - eio_lstat example
  • Example#3336 - eio_mkdir example
  • Example#3337 - eio_mknod example
  • Example#3338 - eio_nreqs example
  • Example#3339 - eio_open example
  • Example#3340 - eio_poll example
  • Example#3341 - eio_read example
  • Example#3342 - eio_readdir example
  • Example#3343 - eio_readlink example
  • Example#3344 - eio_realpath example
  • Example#3345 - eio_rename example
  • Example#3346 - eio_rmdir example
  • Example#3347 - eio_stat example
  • Example#3348 - eio_statvfs example
  • Example#3349 - eio_symlink example
  • Example#3350 - Simple timers
  • Example#3351 - Periodic timer. Tick each 10.5 seconds
  • Example#3352 - Periodic timer. Use reschedule callback
  • Example#3353 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3354 - Wait until STDIN is readable
  • Example#3355 - Use some async I/O to access a socket
  • Example#3356 - Embedding one loop into another
  • Example#3357 - Embedding loop created with kqueue backend into the default loop
  • Example#3358 - Handle SIGTERM signal
  • Example#3359 - Monitor changes of /var/log/messages
  • Example#3360 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3361 - Process status changes
  • Example#3362 - Using reschedule callback
  • Example#3363 - Embedding loop created with kqueue backend into the default loop
  • Example#3364 - Embedding one loop into another
  • Example#3365 - Embedding loop created with kqueue backend into the default loop
  • Example#3366 - Embedding loop created with kqueue backend into the default loop
  • Example#3367 - Periodic timer. Use reschedule callback
  • Example#3368 - Periodic timer. Tick every 10.5 seconds starting at now
  • Example#3369 - Hourly watcher
  • Example#3370 - Handle SIGTERM signal
  • Example#3371 - Monitor changes of /var/log/messages
  • Example#3372 - Monitor changes of /var/log/messages
  • Example#3373 - Simple timers
  • Example#3374 - Monotor changes of /var/log/messages. Avoid missing updates by means of one second delay
  • Example#3375 - Register an I/O watcher for some UDP socket but do not keep the event loop from running just because of that watcher.
  • Example#3376 - Expect Usage Example
  • Example#3377 - Another Expect Usage Example
  • Example#3378 - expect_expectl example
  • Example#3379 - expect_popen example
  • Example#3380 - - Süreç Denetimi örneği
  • Example#3381 - - pcntl_fork örneği
  • Example#3382 - pcntl_rfork example
  • Example#3383 - - pcntl_signal_dispatch örneği
  • Example#3384 - - pcntl_signal_get_handler örneği
  • Example#3385 - - pcntl_signal örneği
  • Example#3386 - - pcntl_sigprocmask örneği
  • Example#3387 - - pcntl_sigwaitinfo örneği
  • Example#3388 - - posix_access örneği
  • Example#3389 - - posix_ctermid örneği
  • Example#3390 - posix_eaccess example
  • Example#3391 - posix_fpathconf example
  • Example#3392 - - posix_get_last_error örneği
  • Example#3393 - - posix_getcwd örneği
  • Example#3394 - - posix_getegid örneği
  • Example#3395 - - posix_geteuid örneği
  • Example#3396 - - posix_getgid örneği
  • Example#3397 - - posix_getgrgid örneği
  • Example#3398 - - posix_getgrnam örneği
  • Example#3399 - - posix_getgroups örneği
  • Example#3400 - - posix_getlogin örneği
  • Example#3401 - - posix_getpgid örneği
  • Example#3402 - - posix_getpid örneği
  • Example#3403 - - posix_getppid örneği
  • Example#3404 - - posix_getpwnam örneği
  • Example#3405 - - posix_getpwuid örneği
  • Example#3406 - - posix_getrlimit örneği
  • Example#3407 - - posix_getsid örneği
  • Example#3408 - - posix_getuid örneği
  • Example#3409 - - posix_mknod örneği
  • Example#3410 - posix_pathconf example
  • Example#3411 - - posix_setegid örneği
  • Example#3412 - - posix_setgid örneği
  • Example#3413 - - posix_setuid örneği
  • Example#3414 - - posix_strerror örneği
  • Example#3415 - posix_sysconf example
  • Example#3416 - - posix_times örneği
  • Example#3417 - - posix_uname örneği
  • Example#3418 - - escapeshellarg örneği
  • Example#3419 - - escapeshellcmd örneği
  • Example#3420 - - exec örneği
  • Example#3421 - - Önceliği yükseltmek için proc_nice kullanımı
  • Example#3422 - - proc_open örneği
  • Example#3423 - - Windows üzerinde proc_open tuhaflığı
  • Example#3424 - - shell_exec örneği
  • Example#3425 - - system örneği
  • Example#3426 - Example showing Future as return value
  • Example#3427 - Example showing Future as synchronization point
  • Example#3428 - Fetch a chunk of the property table
  • Example#3429 - Counting the properties of an object
  • Example#3430 - Runtime inheritance
  • Example#3431 - Detect the state of the referenced object
  • Example#3432 - Detect the state of the referenced object
  • Example#3433 - Merging into the property table of a threaded object
  • Example#3434 - Notifications and Waiting
  • Example#3435 - Notifications and Waiting
  • Example#3436 - Popping the last item from the property table of a threaded object
  • Example#3437 - Shifting the first item from the property table of a threaded object
  • Example#3438 - Synchronizing
  • Example#3439 - Notifications and Waiting
  • Example#3440 - Return the identity of the Thread or Process that created the referenced Thread
  • Example#3441 - Return the currently executing Thread
  • Example#3442 - Return the identity of the currently executing Thread
  • Example#3443 - Return the identity of the referenced Thread
  • Example#3444 - Detect the state of the referenced Thread
  • Example#3445 - Tell if the referenced Thread was started
  • Example#3446 - Join with the referenced Thread
  • Example#3447 - Starting Threads
  • Example#3448 - A basic example of Worker::collect
  • Example#3449 - A basic example of Worker::getStacked
  • Example#3450 - Detect the state of a worker
  • Example#3451 - Shutdown the referenced worker
  • Example#3452 - Stacking a task for execution onto a worker
  • Example#3453 - Removing objects from the stack of Workers
  • Example#3454 - A basic example of Pool::collect
  • Example#3455 - Creating Pools
  • Example#3456 - Shutting down a pool
  • Example#3457 - Submitting Tasks
  • Example#3458 - Submitting tasks to a specific worker
  • Example#3459 - New immutability semantics of Threaded
  • Example#3460 - Volatile use-case
  • Example#3461 - Shared Memory Operations Overview
  • Example#3462 - Closing shared memory block
  • Example#3463 - Deleting shared memory block
  • Example#3464 - Create a new shared memory block
  • Example#3465 - Reading shared memory block
  • Example#3466 - Getting the size of the shared memory block
  • Example#3467 - Writing to shared memory block
  • Example#3468 - SyncMutex::__construct named mutex with lock timeout example
  • Example#3469 - SyncMutex::__construct unnamed mutex example
  • Example#3470 - SyncMutex::lock example
  • Example#3471 - SyncMutex::unlock example
  • Example#3472 - SyncSemaphore::__construct example
  • Example#3473 - SyncSemaphore::lock example
  • Example#3474 - SyncSemaphore::unlock example
  • Example#3475 - SyncEvent::__construct example
  • Example#3476 - SyncEvent::fire example
  • Example#3477 - SyncEvent::reset example
  • Example#3478 - SyncEvent::wait example
  • Example#3479 - SyncReaderWriter::__construct example
  • Example#3480 - SyncReaderWriter::readlock example
  • Example#3481 - SyncReaderWriter::readunlock example
  • Example#3482 - SyncReaderWriter::writelock example
  • Example#3483 - SyncReaderWriter::writeunlock example
  • Example#3484 - SyncSharedMemory::__construct example
  • Example#3485 - SyncSharedMemory::first example
  • Example#3486 - SyncSharedMemory::__construct example
  • Example#3487 - SyncSharedMemory::size example
  • Example#3488 - SyncSharedMemory::write example
  • Example#3489 - A geoip_asnum_by_name example
  • Example#3490 - A geoip_continent_code_by_name example
  • Example#3491 - A geoip_country_code_by_name example
  • Example#3492 - A geoip_country_code3_by_name example
  • Example#3493 - A geoip_country_name_by_name example
  • Example#3494 - A geoip_database_info example
  • Example#3495 - A geoip_db_avail example
  • Example#3496 - A geoip_db_filename example
  • Example#3497 - A geoip_db_get_all_info example
  • Example#3498 - A geoip_db_get_all_info example
  • Example#3499 - A geoip_domain_by_name example
  • Example#3500 - A geoip_id_by_name example
  • Example#3501 - A geoip_isp_by_name example
  • Example#3502 - A geoip_netspeedcell_by_name example
  • Example#3503 - A geoip_org_by_name example
  • Example#3504 - A geoip_record_by_name example
  • Example#3505 - A geoip_region_by_name example
  • Example#3506 - A geoip_region_name_by_code example using region code for US/Canada
  • Example#3507 - A geoip_region_name_by_code example using FIPS codes
  • Example#3508 - A geoip_setup_custom_directory example
  • Example#3509 - A geoip_time_zone_by_country_and_region example using region code for US/Canada
  • Example#3510 - A geoip_time_zone_by_country_and_region example using FIPS codes
  • Example#3511 - xor.data file
  • Example#3512 - Simple train
  • Example#3513 - Simple test
  • Example#3514 - fann_create_train_from_callback example
  • Example#3515 - fann_read_train_from_file example
  • Example#3516 - igbinary_serialize example
  • Example#3517 - - Bir dizi döndüren JsonSerializable::jsonSerialize örneği
  • Example#3518 - - Bir ilişkisel dizi döndüren JsonSerializable::jsonSerialize örneği
  • Example#3519 - - Bir tamsayı döndüren JsonSerializable::jsonSerialize örneği
  • Example#3520 - - Bir dize döndüren JsonSerializable::jsonSerialize örneği
  • Example#3521 - - json_decode örnekleri
  • Example#3522 - - Geçersiz nesne özelliklerine erişim
  • Example#3523 - - json_decode kullanırken yapılan genel bir hata.
  • Example#3524 - - depth hataları
  • Example#3525 - - Büyük tamsayılarla json_decode
  • Example#3526 - - json_encode örneği
  • Example#3527 - - Bazı seçeneklerin kullanımını gösteren json_encode örneği
  • Example#3528 - - JSON_NUMERIC_CHECK seçeneği örneği
  • Example#3529 - - Sıralı ve sırasız dizi örneği
  • Example#3530 - - JSON_PRESERVE_ZERO_FRACTION seçeneği örneği
  • Example#3531 - json_last_error örneği
  • Example#3532 - - json_last_error ile json_encode
  • Example#3533 - - json_last_error ve JSON_THROW_ON_ERROR
  • Example#3534 - json_validate examples
  • Example#3535 - simdjson_decode examples
  • Example#3536 - Accessing invalid object properties
  • Example#3537 - common mistakes using simdjson_decode
  • Example#3538 - depth errors
  • Example#3539 - simdjson_decode of large integers
  • Example#3540 - simdjson_decode examples
  • Example#3541 - depth errors
  • Example#3542 - Lua::assignexample
  • Example#3543 - Lua::callexample
  • Example#3544 - Lua::evalexample
  • Example#3545 - Lua::registerCallbackexample
  • Example#3546 - LuaClosure::__invokeexample
  • Example#3547 - Execute some Lua code
  • Example#3548 - Calling a Lua function
  • Example#3549 - Profiling Lua code
  • Example#3550 - Loading code into Lua
  • Example#3551 - Manipulating the usage timer
  • Example#3552 - Registering PHP functions to call from Lua
  • Example#3553 - Calling a Lua function
  • Example#3554 - Calling a Lua function
  • Example#3555 - - constant işlevinin sabitlerle kullanımı
  • Example#3556 - - constant işlevinin sayılama kılıfları ile kullanımı ( PHP 8.1.0 ve üstü)
  • Example#3557 - - Sabit tanımlamak
  • Example#3558 - - Ayrılmış isimli sabitler
  • Example#3559 - - Sabitlerin tanımlılığını sınamak
  • Example#3560 - - sayılama kılıflarının Sınanması (PHP 8.1.0 ve üstü)
  • Example#3561 - - eval örneği
  • Example#3562 - - exit örneği
  • Example#3563 - - exit durum örneği
  • Example#3564 - - Kapanma işlevleri ve yıkıcıların koşulsuz çalışması
  • Example#3565 - Kullanıcının tarayıcısı ile ilgili tüm bilginin listelenmesi
  • Example#3566 - - __halt_compiler örneği
  • Example#3567 - - highlight_string örneği
  • Example#3568 - - hrtime örneği
  • Example#3569 - - ignore_user_abort örneği
  • Example#3570 - - pack örneği
  • Example#3571 - - php_strip_whitespace örneği
  • Example#3572 - - sapi_windows_generate_ctrl_event örneği
  • Example#3573 - - sapi_windows_set_ctrl_handler örneği
  • Example#3574 - - sapi_windows_vt100_support öntanımlı durum örneği
  • Example#3575 - - sapi_windows_vt100_support ile durum değişikliği
  • Example#3576 - - VT100 desteğini etkin kılma örneği
  • Example#3577 - - sleep örneği
  • Example#3578 - - sys_getloadavg örneği
  • Example#3579 - - time_nanosleep örneği
  • Example#3580 - - time_sleep_until örneği
  • Example#3581 - - uniqid örneği
  • Example#3582 - - unpack örneği
  • Example#3583 - - unpack ve bir yineleyici
  • Example#3584 - - unpack ve isimsiz anahtarlar
  • Example#3585 - - usleep örneği
  • Example#3586 - Random Example
  • Example#3587 - mt_rand example
  • Example#3588 - rand example
  • Example#3589 - random_bytes example
  • Example#3590 - random_int example
  • Example#3591 - Random\Randomizer::__construct example
  • Example#3592 - Random\Randomizer::getBytes example
  • Example#3593 - Random\Randomizer::getBytesFromString example
  • Example#3594 - Generate a random code for multi-factor authentication
  • Example#3595 - Select from a string with a non-uniform distribution
  • Example#3596 - Random\Randomizer::getFloat example
  • Example#3597 - Random\Randomizer::getInt example
  • Example#3598 - Random\Randomizer::nextFloat example
  • Example#3599 - Incorrect scaling using an affine transformation
  • Example#3600 - Random\Randomizer::nextInt example
  • Example#3601 - Random\Randomizer::pickArrayKeys example
  • Example#3602 - Picking random values
  • Example#3603 - Random\Randomizer::__serialize example
  • Example#3604 - Random\Randomizer::shuffleArray example
  • Example#3605 - Random\Randomizer::shuffleBytes example
  • Example#3606 - Byte-wise shuffling breaks Unicode characters
  • Example#3607 - Random\Randomizer::__unserialize example
  • Example#3608 - Random\Engine::generate example
  • Example#3609 - Random\Engine\Mt19937::__construct example
  • Example#3610 - Random\Engine\Mt19937::__debugInfo example
  • Example#3611 - Random\Engine\Mt19937::__serialize example
  • Example#3612 - Random\Engine\Mt19937::__unserialize example
  • Example#3613 - Random\Engine\PcgOneseq128XslRr64::__construct example
  • Example#3614 - Deriving a seed from a string
  • Example#3615 - Random\Engine\PcgOneseq128XslRr64::__debugInfo example
  • Example#3616 - Random\Engine\PcgOneseq128XslRr64::jump example
  • Example#3617 - Randomizer methods may call the engine more than once
  • Example#3618 - Random\Engine\PcgOneseq128XslRr64::__serialize example
  • Example#3619 - Random\Engine\PcgOneseq128XslRr64::__unserialize example
  • Example#3620 - Random\Engine\Xoshiro256StarStar::__construct example
  • Example#3621 - Deriving a seed from a string
  • Example#3622 - Random\Engine\Xoshiro256StarStar::__debugInfo example
  • Example#3623 - Random\Engine\Xoshiro256StarStar::jump example
  • Example#3624 - Random\Engine\Xoshiro256StarStar::jumpLong example
  • Example#3625 - Random\Engine\Xoshiro256StarStar::__serialize example
  • Example#3626 - Random\Engine\Xoshiro256StarStar::__unserialize example
  • Example#3627 - Get and set base path
  • Example#3628 - Get and set logger
  • Example#3629 - Fast write log
  • Example#3630 - Fast count some type of log count value
  • Example#3631 - Acquisit some type of log list
  • Example#3632 - seaslog_get_author example
  • Example#3633 - seaslog_get_version example
  • Example#3634 - SeasLog::alert example
  • Example#3635 - SeasLog::analyzerCount example
  • Example#3636 - SeasLog::analyzerDetail example
  • Example#3637 - SeasLog::closeLoggerStream example
  • Example#3638 - SeasLog::__construct example
  • Example#3639 - SeasLog::critical example
  • Example#3640 - SeasLog::debug example
  • Example#3641 - SeasLog::__destruct example
  • Example#3642 - SeasLog::emergency example
  • Example#3643 - SeasLog::error example
  • Example#3644 - SeasLog::flushBuffer example
  • Example#3645 - SeasLog::getBasePath example
  • Example#3646 - SeasLog::getBuffer example
  • Example#3647 - SeasLog::getBufferEnabled example
  • Example#3648 - SeasLog::getDatetimeFormat example
  • Example#3649 - SeasLog::getLastLogger example
  • Example#3650 - SeasLog::getRequestID example
  • Example#3651 - SeasLog::getRequestVariable example
  • Example#3652 - SeasLog::info example
  • Example#3653 - SeasLog::log example
  • Example#3654 - SeasLog::notice example
  • Example#3655 - SeasLog::setBasePath example
  • Example#3656 - SeasLog::setDatetimeFormat example
  • Example#3657 - SeasLog::setLogger example
  • Example#3658 - SeasLog::setRequestID example
  • Example#3659 - SeasLog::setRequestVariable example
  • Example#3660 - SeasLog::warning example
  • Example#3661 - SplStack example
  • Example#3662 - SplQueue example
  • Example#3663 - Efficiently handling tasks with SplQueue
  • Example#3664 - SplFixedArray usage example
  • Example#3665 - SplFixedArray::__construct example
  • Example#3666 - SplFixedArray::count example
  • Example#3667 - SplFixedArray::fromArray example
  • Example#3668 - SplFixedArray::getSize example
  • Example#3669 - SplFixedArray::setSize example
  • Example#3670 - SplFixedArray::toArray example
  • Example#3671 - SplObjectStorage as a set
  • Example#3672 - SplObjectStorage as a map
  • Example#3673 - SplObjectStorage::addAll example
  • Example#3674 - SplObjectStorage::attach example
  • Example#3675 - SplObjectStorage::contains example
  • Example#3676 - SplObjectStorage::count example
  • Example#3677 - SplObjectStorage::current example
  • Example#3678 - SplObjectStorage::detach example
  • Example#3679 - SplObjectStorage::getHash example
  • Example#3680 - SplObjectStorage::getInfo example
  • Example#3681 - SplObjectStorage::key example
  • Example#3682 - SplObjectStorage::next example
  • Example#3683 - SplObjectStorage::offsetExists example
  • Example#3684 - SplObjectStorage::offsetGet example
  • Example#3685 - SplObjectStorage::offsetSet example
  • Example#3686 - SplObjectStorage::offsetUnset example
  • Example#3687 - SplObjectStorage::removeAll example
  • Example#3688 - SplObjectStorage::removeAllExcept example
  • Example#3689 - SplObjectStorage::rewind example
  • Example#3690 - SplObjectStorage::serialize example
  • Example#3691 - SplObjectStorage::setInfo example
  • Example#3692 - SplObjectStorage::unserialize example
  • Example#3693 - SplObjectStorage::valid example
  • Example#3694 - AppendIterator::append example
  • Example#3695 - Iterating AppendIterator with foreach
  • Example#3696 - Iterating AppendIterator with the AppendIterator API
  • Example#3697 - AppendIterator.getIteratorIndex basic example
  • Example#3698 - AppendIterator::key basic example
  • Example#3699 - ArrayIterator::current example
  • Example#3700 - ArrayIterator::key example
  • Example#3701 - ArrayIterator::next example
  • Example#3702 - ArrayIterator::rewind example
  • Example#3703 - ArrayIterator::valid example
  • Example#3704 - CachingIterator::getCache example
  • Example#3705 - Available callback arguments
  • Example#3706 - Callback basic examples
  • Example#3707 - A DirectoryIterator::__construct example
  • Example#3708 - A DirectoryIterator::current example
  • Example#3709 - A DirectoryIterator::getBasename example
  • Example#3710 - DirectoryIterator::getExtension example
  • Example#3711 -
  • Example#3712 - A DirectoryIterator::getFilename example
  • Example#3713 - A DirectoryIterator::isDot example
  • Example#3714 - A DirectoryIterator::key example
  • Example#3715 - DirectoryIterator::next example
  • Example#3716 - DirectoryIterator::rewind example
  • Example#3717 - DirectoryIterator::seek example
  • Example#3718 - A DirectoryIterator::__toString example
  • Example#3719 - A DirectoryIterator::valid example
  • Example#3720 - FilesystemIterator::__construct example
  • Example#3721 - FilesystemIterator::current example
  • Example#3722 - FilesystemIterator::key example
  • Example#3723 - FilesystemIterator::next example
  • Example#3724 - FilesystemIterator::rewind example
  • Example#3725 - FilesystemIterator::key example
  • Example#3726 - FilterIterator::accept example
  • Example#3727 - GlobIterator example
  • Example#3728 - GlobIterator::count example
  • Example#3729 - InfiniteIterator::__construct example
  • Example#3730 - LimitIterator usage example
  • Example#3731 - LimitIterator::__construct example
  • Example#3732 - LimitIterator::getPosition example
  • Example#3733 - Iterating a MultipleIterator
  • Example#3734 - NoRewindIterator::__construct example
  • Example#3735 - NoRewindIterator::rewind example
  • Example#3736 - RecursiveArrayIterator::getChildren example
  • Example#3737 - RecursiveArrayIterator::hasChildren example
  • Example#3738 - Available callback arguments
  • Example#3739 - Recursive callback basic example
  • Example#3740 - RecursiveCallbackFilterIterator::hasChildren basic usage
  • Example#3741 - RecursiveDirectoryIterator example
  • Example#3742 - getSubPath example
  • Example#3743 - getSubPathname example
  • Example#3744 - Basic RecursiveFilterIterator example
  • Example#3745 - RecursiveFilterIterator example
  • Example#3746 - Iterating a RecursiveIteratorIterator
  • Example#3747 - RecursiveRegexIterator::__construct example
  • Example#3748 - RecursiveRegexIterator::getChildren example
  • Example#3749 - RecursiveRegexIterator::hasChildren example
  • Example#3750 - RegexIterator::accept example
  • Example#3751 - RegexIterator::__construct example
  • Example#3752 - RegexIterator::getFlags example
  • Example#3753 - RegexIterator::getMode example
  • Example#3754 - RegexIterator::getPregFlags example
  • Example#3755 - RegexIterator::setFlags example
  • Example#3756 - RegexIterator::setMode example
  • Example#3757 - RegexIterator::setPregFlags example
  • Example#3758 - Countable::count example
  • Example#3759 - Basic usage
  • Example#3760 - SeekableIterator::seek example
  • Example#3761 - class_implements example
  • Example#3762 - class_parents example
  • Example#3763 - class_uses example
  • Example#3764 - iterator_apply example
  • Example#3765 - iterator_count example
  • Example#3766 - iterator_count modifies position
  • Example#3767 - iterator_count in foreach loops
  • Example#3768 - iterator_to_array example
  • Example#3769 - spl_autoload_extensions example
  • Example#3770 - spl_autoload_register as a replacement for an __autoload function
  • Example#3771 - spl_autoload_register example where the class is not loaded
  • Example#3772 - The identifier will be provided without the leading backslash
  • Example#3773 - spl_classes example
  • Example#3774 - A spl_object_hash example
  • Example#3775 - A spl_object_id example
  • Example#3776 - SplFileInfo::__construct example
  • Example#3777 - SplFileInfo::getATime example
  • Example#3778 - SplFileInfo::getBasename example
  • Example#3779 - SplFileInfo::getCTime example
  • Example#3780 - SplFileInfo::getExtension example
  • Example#3781 -
  • Example#3782 - SplFileInfo::getFilename example
  • Example#3783 - SplFileInfo::getGroup example
  • Example#3784 - SplFileInfo::getLinkTarget example
  • Example#3785 - SplFileInfo::getMTime example
  • Example#3786 - SplFileInfo::getOwner example
  • Example#3787 - SplFileInfo::getPath example
  • Example#3788 - SplFileInfo::getPathInfo example
  • Example#3789 - SplFileInfo::getPathname example
  • Example#3790 - SplFileInfo::getPerms example
  • Example#3791 - SplFileInfo::getRealPath example
  • Example#3792 - SplFileInfo::getSize example
  • Example#3793 - SplFileInfo::getType example
  • Example#3794 - SplFileInfo::isDir example
  • Example#3795 - SplFileInfo::isExecutable example
  • Example#3796 - SplFileInfo::isFile example
  • Example#3797 - SplFileInfo::isLink example
  • Example#3798 - SplFileInfo::isReadable example
  • Example#3799 - SplFileInfo::isWriteable example
  • Example#3800 - SplFileInfo::openFile example
  • Example#3801 - SplFileInfo::setFileClass example
  • Example#3802 - SplFileInfo::setFileClass example
  • Example#3803 - SplFileInfo::__toString example
  • Example#3804 - SplFileObject::__construct example
  • Example#3805 - SplFileObject::current example
  • Example#3806 - SplFileObject::eof example
  • Example#3807 - SplFileObject::fflush example
  • Example#3808 - SplFileObject::fgetc example
  • Example#3809 - SplFileObject::fgetcsv example
  • Example#3810 - SplFileObject::READ_CSV example
  • Example#3811 - SplFileObject::fgets example
  • Example#3812 - SplFileObject::fgetss example
  • Example#3813 - SplFileObject::flock example
  • Example#3814 - SplFileObject::fpassthru example
  • Example#3815 - SplFileObject::fputcsv example
  • Example#3816 - SplFileObject::fread example
  • Example#3817 - SplFileObject::fscanf example
  • Example#3818 - SplFileObject::fseek example
  • Example#3819 - SplFileObject::fstat example
  • Example#3820 - SplFileObject::ftell example
  • Example#3821 - SplFileObject::ftruncate example
  • Example#3822 - SplFileObject::fwrite example
  • Example#3823 - SplFileObject::getCsvControl example
  • Example#3824 - SplFileObject::getFlags example
  • Example#3825 - SplFileObject::getMaxLineLen example
  • Example#3826 - SplFileObject::key example
  • Example#3827 - SplFileObject::key example with SplFileObject::setMaxLineLen
  • Example#3828 - SplFileObject::next example
  • Example#3829 - SplFileObject::rewind example
  • Example#3830 - SplFileObject::seek example
  • Example#3831 - SplFileObject::setCsvControl example
  • Example#3832 - SplFileObject::setFlags example
  • Example#3833 - SplFileObject::setMaxLineLen example
  • Example#3834 - SplFileObject::valid example
  • Example#3835 - SplTempFileObject example
  • Example#3836 - ArrayObject::append example
  • Example#3837 - ArrayObject::asort example
  • Example#3838 - ArrayObject::__construct example
  • Example#3839 - ArrayObject::count example
  • Example#3840 - ArrayObject::exchangeArray example
  • Example#3841 - ArrayObject::getArrayCopy example
  • Example#3842 - ArrayObject::getFlags example
  • Example#3843 - ArrayObject::getIterator example
  • Example#3844 - ArrayObject::getIteratorClass example
  • Example#3845 - ArrayObject::ksort example
  • Example#3846 - ArrayObject::natcasesort example
  • Example#3847 - ArrayObject::natsort example
  • Example#3848 - ArrayObject::offsetExists example
  • Example#3849 - ArrayObject::offsetGet example
  • Example#3850 - ArrayObject::offsetSet example
  • Example#3851 - ArrayObject::offsetUnset example
  • Example#3852 - ArrayObject::serialize example
  • Example#3853 - ArrayObject::setFlags example
  • Example#3854 - ArrayObject::setIteratorClass example
  • Example#3855 - ArrayObject::uasort example
  • Example#3856 - ArrayObject::uksort example
  • Example#3857 - - Çok sayıda kaynaktan veri almak için file_get_contents kullanımı
  • Example#3858 - - Bir HTTPS sunucusundan bir POST isteği yapmak
  • Example#3859 - - Sıkıştırılmış bir dosyaya veri yazmak
  • Example#3860 - - Küresel değişkenlere veri okuyup yazan bir akım
  • Example#3861 - - Tar arşivindeki dosyaları listelemek
  • Example#3862 - - stream_bucket_prepend örnekleri
  • Example#3863 - - stream_context_create örneği
  • Example#3864 - - stream_context_get_default örneği
  • Example#3865 - - stream_context_get_options örneği
  • Example#3866 - - stream_context_get_params örneği
  • Example#3867 - - stream_context_set_default örneği
  • Example#3868 - stream_context_set_options example
  • Example#3869 - - stream_copy_to_stream örneği
  • Example#3870 - - Süzgeçlerin uygulanacağı yerin belirlenmesi
  • Example#3871 - - foo-bar.txt akımında büyük harfe dönüşüm süzgeci
  • Example#3872 - - Çok sayıda süzgeç ismiyle eşleşen soysal bir süzgeç sınıfının tanıtımı
  • Example#3873 - - Bir akımın dinamik olarak süzülmesi
  • Example#3874 - - stream_get_contents örneği
  • Example#3875 - - stream_get_filters örneği
  • Example#3876 - - http'li fopen kullanılan stream_get_meta_data örneği
  • Example#3877 - - https'li stream_socket_client kullanılan stream_get_meta_data örneği
  • Example#3878 - - stream_get_transports örneği
  • Example#3879 - - stream_get_wrappers örneği
  • Example#3880 - - Bir akım sarmalayıcının varlığının sınanması
  • Example#3881 - - stream_is_local örneği
  • Example#3882 - - stream_isatty örneği
  • Example#3883 - - stream_notification_callback örneği
  • Example#3884 - - Komut satırı istemcisi için basit bir ilerleme çubuğu
  • Example#3885 - - stream_resolve_include_path örneği
  • Example#3886 - - stream_select örneği
  • Example#3887 - - stream_set_timeout örneği
  • Example#3888 - - stream_set_write_buffer örneği
  • Example#3889 - - stream_socket_client örneği
  • Example#3890 - - UDP bağlantı kullanımı
  • Example#3891 - - stream_socket_enable_crypto örneği
  • Example#3892 - - stream_socket_pair örneği
  • Example#3893 - - stream_socket_recvfrom örneği
  • Example#3894 - - stream_socket_sendto örneği
  • Example#3895 - - TCP sunucu soketlerinin kullanımı
  • Example#3896 - - UDP sunucu soketlerinin kullanımı
  • Example#3897 - - stream_socket_shutdown örneği
  • Example#3898 - - Bir akım sarmalayıcının etkin kılınması
  • Example#3899 - - Temel Tidy Kullanımı
  • Example#3900 - - tidy::getBody örneği
  • Example#3901 - - tidy::cleanrepair örneği
  • Example#3902 - - tidy::__construct örneği
  • Example#3903 - - tidy::diagnose örneği
  • Example#3904 - - tidy_get_error_buffer örneği
  • Example#3905 - - tidy::getConfig örneği
  • Example#3906 - - tidy_getopt örneği
  • Example#3907 - - Tüm seçeneklerin belgelerini ve öntanımlı değerlerini almak
  • Example#3908 - - tidy::getStatus örneği
  • Example#3909 - - tidy::head örneği
  • Example#3910 - - tidy::html örneği
  • Example#3911 - - tidy::parseFile örneği
  • Example#3912 - - tidy::parseString örneği
  • Example#3913 - - tidy::repairFile örneği
  • Example#3914 - - tidy::repairString örneği
  • Example#3915 - - tidy::root örneği
  • Example#3916 - - tidyNode::getParent örneği
  • Example#3917 - - tidyNode::hasChildren örneği
  • Example#3918 - - tidyNode::hasSiblings örneği
  • Example#3919 - - Karışık bir HTML belgeden ASP kodunu çıkarmak
  • Example#3920 - - Karışık bir HTML belgeden açıklamaları çıkarmak
  • Example#3921 - - Karışık bir HTML belgeden HTML kodunu çıkarmak
  • Example#3922 - - Karışık bir HTML belgeden JSTE kodunu çıkarmak
  • Example#3923 - - Karışık bir HTML belgeden PHP kodunu çıkarmak
  • Example#3924 - - Karışık bir HTML belgeden metni çıkarmak
  • Example#3925 - - ob_tidyhandler örneği
  • Example#3926 - - tidy_access_count örneği
  • Example#3927 - - tidy_config_count örneği
  • Example#3928 - - tidy_error_count örneği
  • Example#3929 - - tidy_get_output örneği
  • Example#3930 - - tidy_warning_count örneği
  • Example#3931 - - Açıklamaları simgeleştirici ile ayıklamak
  • Example#3932 - - token_get_all örneği
  • Example#3933 - - token_get_all yanlış kullanım örneği
  • Example#3934 - - Dahili kullanıma ayrılmış sözcük kullanan sınıf üzerinde token_get_all
  • Example#3935 - - token_name örneği
  • Example#3936 - - PhpToken::getTokenName örneği
  • Example#3937 - - PhpToken::is örneği
  • Example#3938 - - Dizi kullanımı
  • Example#3939 - - PhpToken::isIgnorable örneği
  • Example#3940 - - PhpToken::__toString örneği
  • Example#3941 - - PhpToken::tokenize örneği
  • Example#3942 - - PhpToken genişletmesi
  • Example#3943 - - base64_decode örneği
  • Example#3944 - - base64_encode örneği
  • Example#3945 - - get_headers örneği
  • Example#3946 - - HEAD kullanılan get_headers örneği
  • Example#3947 - - get_meta_tags bunları çözümler
  • Example#3948 - - get_meta_tags örneği
  • Example#3949 - - http_build_query basit kullanımı
  • Example#3950 - - Sayısal indisli elemanlarla http_build_query
  • Example#3951 - - http_build_query ve çok boyutlu diziler
  • Example#3952 - - http_build_query ve bir nesne
  • Example#3953 - - parse_url örneği
  • Example#3954 - - Eksik şemalı parse_url örneği
  • Example#3955 - - rawurldecode örneği
  • Example#3956 - - Bir FTP URL'sinde parola belirtmek
  • Example#3957 - - Başka bir rawurlencode örneği
  • Example#3958 - - urldecode örneği
  • Example#3959 - - urlencode örneği
  • Example#3960 - - urlencode ve htmlentities örneği
  • Example#3961 - Basic Javascript execution
  • Example#3962 - Yaml Example
  • Example#3963 - Parse callback example
  • Example#3964 - Emit callback example
  • Example#3965 - yaml_emit example
  • Example#3966 - yaml_parse example
  • Example#3967 - A classic Application directory layout
  • Example#3968 - Entry
  • Example#3969 - Rewrite rule
  • Example#3970 - Application config
  • Example#3971 - Default controller
  • Example#3972 - Default view template
  • Example#3973 - Run the Application
  • Example#3974 - An PHP array example
  • Example#3975 - An ini file example
  • Example#3976 - A Bootstrapexample
  • Example#3977 - Yaf_Application::bootstrapexample
  • Example#3978 - Yaf_Application::clearLastErrorexample
  • Example#3979 - A ini config file example
  • Example#3980 - Yaf_Application::__constructexample
  • Example#3981 - Yaf_Application::__constructexample
  • Example#3982 - Yaf_Application::environexample
  • Example#3983 - Yaf_Application::executeexample
  • Example#3984 - Yaf_Application::getConfigexample
  • Example#3985 - Yaf_Application::getDispatcherexample
  • Example#3986 - Yaf_Application::getLastErrorMsgexample
  • Example#3987 - Yaf_Application::getLastErrorNoexample
  • Example#3988 - Yaf_Application::getModulesexample
  • Example#3989 - Bootstrap example
  • Example#3990 - Yaf_Dispatcher::autoRender example
  • Example#3991 - Yaf_Dispatcher::catchException example
  • Example#3992 - Yaf_Dispatcher::registerPlugin example
  • Example#3993 - A custom View engine example
  • Example#3994 - Yaf_Dispatcher::setView example
  • Example#3995 - Yaf_Dispatcher::throwexception example
  • Example#3996 - Yaf_Dispatcher::throwexceptionexample
  • Example#3997 - Yaf_Config_Iniexample
  • Example#3998 - define action in a separate file
  • Example#3999 - Dummy_action.php
  • Example#4000 - Yaf_Controller_Abstract::forwardexample
  • Example#4001 - Yaf_Action_Abstract::executeexample
  • Example#4002 - Yaf_Action_Abstract::executeexample
  • Example#4003 - Yaf_View_Simple::assignexample
  • Example#4004 - templateexample
  • Example#4005 - Yaf_View_Simple::assignRefexample
  • Example#4006 - templateexample
  • Example#4007 - Yaf_View_Simple::clearexample
  • Example#4008 - Yaf_View_Simple::__constructorexample
  • Example#4009 - Yaf_View_Simple::__setexample
  • Example#4010 - Config example
  • Example#4011 - Register localnamespace
  • Example#4012 - Load class example
  • Example#4013 - Load namespace class example
  • Example#4014 - MVC class loading example
  • Example#4015 - MVC class distinctions
  • Example#4016 - MVC loading example
  • Example#4017 - Yaf_Loader::registerNamespaceexample
  • Example#4018 - Yaf_Loader::registerLocalNamespaceexample
  • Example#4019 - Yaf_Loader::registerNamespaceexample
  • Example#4020 - Plugin example
  • Example#4021 - Yaf_Plugin_Abstract::routerShutdownexample
  • Example#4022 - Yaf_Response_Abstract::appendBodyexample
  • Example#4023 - Yaf_Response_Abstract::getBodyexample
  • Example#4024 - Yaf_Response_Abstract::prependBodyexample
  • Example#4025 - Yaf_Response_Abstract::responseexample
  • Example#4026 - Yaf_Response_Abstract::setBodyexample
  • Example#4027 - Yaf_Route_Map::assembleexample
  • Example#4028 - Yaf_Route_Mapexample
  • Example#4029 - Yaf_Route_Mapexample
  • Example#4030 - Yaf_Route_Mapexample
  • Example#4031 - Yaf_Route_Regex::assembleexample
  • Example#4032 - Yaf_Route_Regexexample
  • Example#4033 - Yaf_Route_Regex(as of 2.3.0)example
  • Example#4034 - Yaf_Route_Regex and named capture ground(as of 2.3.0)example
  • Example#4035 - Yaf_Route_Regexexample
  • Example#4036 - Yaf_Route_Rewrite::assembleexample
  • Example#4037 - Yaf_Route_Rewriteexample
  • Example#4038 - Yaf_Route_Rewriteexample
  • Example#4039 - Yaf_Route_Rewrite(as of 2.3.0)example
  • Example#4040 - Rewrite rule for Apache
  • Example#4041 - Rewrite rule for Apache
  • Example#4042 - Rewrite rule for Lighttpd
  • Example#4043 - Rewrite rule for Nginx
  • Example#4044 - Yaf_Route_Static(default route)example
  • Example#4045 - application.iniexample
  • Example#4046 - Yaf_Dispatcher::autoConfigexample
  • Example#4047 - Yaf_Dispatcher::autoRenderexample
  • Example#4048 - Register some routes in Bootstrap
  • Example#4049 - plugin Dummy.php (under application.directory/plugins)
  • Example#4050 - Yaf_Route_Simple::assembleexample
  • Example#4051 - Yaf_Route_Simple::routeexample
  • Example#4052 - Yaf_Route_Simple::routeexample
  • Example#4053 - Yaf_Route_Static::assembleexample
  • Example#4054 - Yaf_Route_Static::routeexample
  • Example#4055 - Yaf_Route_Supervar::assemble example
  • Example#4056 - Yaf_Route_Supervarexample
  • Example#4057 - INI example
  • Example#4058 - INI sections example
  • Example#4059 - INIexample
  • Example#4060 - Taintexample
  • Example#4061 - Vector
  • Example#4062 - Map
  • Example#4063 - Ds\Collection::clear example
  • Example#4064 - Ds\Collection::copy example
  • Example#4065 - Ds\Collection::isEmpty example
  • Example#4066 - Ds\Collection::toArray example
  • Example#4067 - Ds\Hashable::hash example
  • Example#4068 - Ds\Sequence::allocate example
  • Example#4069 - Ds\Sequence::apply example
  • Example#4070 - Ds\Sequence::capacity example
  • Example#4071 - Ds\Sequence::contains example
  • Example#4072 - Ds\Sequence::filter example using callback function
  • Example#4073 - Ds\Sequence::filter example without a callback function
  • Example#4074 - Ds\Sequence::find example
  • Example#4075 - Ds\Sequence::first example
  • Example#4076 - Ds\Sequence::get example
  • Example#4077 - Ds\Sequence::get example using array syntax
  • Example#4078 - Ds\Sequence::insert example
  • Example#4079 - Ds\Sequence::join example using a separator string
  • Example#4080 - Ds\Sequence::join example without a separator string
  • Example#4081 - Ds\Sequence::last example
  • Example#4082 - Ds\Sequence::map example
  • Example#4083 - Ds\Sequence::merge example
  • Example#4084 - Ds\Sequence::pop example
  • Example#4085 - Ds\Sequence::push example
  • Example#4086 - Ds\Sequence::reduce with initial value example
  • Example#4087 - Ds\Sequence::reduce without an initial value example
  • Example#4088 - Ds\Sequence::remove example
  • Example#4089 - Ds\Sequence::reverse example
  • Example#4090 - Ds\Sequence::reversed example
  • Example#4091 - Ds\Sequence::rotate example
  • Example#4092 - Ds\Sequence::set example
  • Example#4093 - Ds\Sequence::set example using array syntax
  • Example#4094 - Ds\Sequence::shift example
  • Example#4095 - Ds\Sequence::slice example
  • Example#4096 - Ds\Sequence::sort example
  • Example#4097 - Ds\Sequence::sort example using a comparator
  • Example#4098 - Ds\Sequence::sorted example
  • Example#4099 - Ds\Sequence::sorted example using a comparator
  • Example#4100 - Ds\Sequence::sum integer example
  • Example#4101 - Ds\Sequence::sum float example
  • Example#4102 - Ds\Sequence::unshift example
  • Example#4103 - Ds\Vector::allocate example
  • Example#4104 - Ds\Vector::apply example
  • Example#4105 - Ds\Vector::capacity example
  • Example#4106 - Ds\Vector::clear example
  • Example#4107 - Ds\Vector::__construct example
  • Example#4108 - Ds\Vector::contains example
  • Example#4109 - Ds\Vector::copy example
  • Example#4110 - Ds\Vector::filter example using callback function
  • Example#4111 - Ds\Vector::filter example without a callback function
  • Example#4112 - Ds\Vector::find example
  • Example#4113 - Ds\Vector::first example
  • Example#4114 - Ds\Vector::get example
  • Example#4115 - Ds\Vector::get example using array syntax
  • Example#4116 - Ds\Vector::insert example
  • Example#4117 - Ds\Vector::isEmpty example
  • Example#4118 - Ds\Vector::join example using a separator string
  • Example#4119 - Ds\Vector::join example without a separator string
  • Example#4120 - Ds\Vector::last example
  • Example#4121 - Ds\Vector::map example
  • Example#4122 - Ds\Vector::merge example
  • Example#4123 - Ds\Vector::pop example
  • Example#4124 - Ds\Vector::push example
  • Example#4125 - Ds\Vector::reduce with initial value example
  • Example#4126 - Ds\Vector::reduce without an initial value example
  • Example#4127 - Ds\Vector::remove example
  • Example#4128 - Ds\Vector::reverse example
  • Example#4129 - Ds\Vector::reversed example
  • Example#4130 - Ds\Vector::rotate example
  • Example#4131 - Ds\Vector::set example
  • Example#4132 - Ds\Vector::set example using array syntax
  • Example#4133 - Ds\Vector::shift example
  • Example#4134 - Ds\Vector::slice example
  • Example#4135 - Ds\Vector::sort example
  • Example#4136 - Ds\Vector::sort example using a comparator
  • Example#4137 - Ds\Vector::sorted example
  • Example#4138 - Ds\Vector::sorted example using a comparator
  • Example#4139 - Ds\Vector::sum integer example
  • Example#4140 - Ds\Vector::sum float example
  • Example#4141 - Ds\Vector::toArray example
  • Example#4142 - Ds\Vector::unshift example
  • Example#4143 - Ds\Deque::allocate example
  • Example#4144 - Ds\Deque::apply example
  • Example#4145 - Ds\Deque::capacity example
  • Example#4146 - Ds\Deque::clear example
  • Example#4147 - Ds\Deque::__construct example
  • Example#4148 - Ds\Deque::contains example
  • Example#4149 - Ds\Deque::copy example
  • Example#4150 - Ds\Deque::filter example using callback function
  • Example#4151 - Ds\Deque::filter example without a callback function
  • Example#4152 - Ds\Deque::find example
  • Example#4153 - Ds\Deque::first example
  • Example#4154 - Ds\Deque::get example
  • Example#4155 - Ds\Deque::get example using array syntax
  • Example#4156 - Ds\Deque::insert example
  • Example#4157 - Ds\Deque::isEmpty example
  • Example#4158 - Ds\Deque::join example using a separator string
  • Example#4159 - Ds\Deque::join example without a separator string
  • Example#4160 - Ds\Deque::last example
  • Example#4161 - Ds\Deque::map example
  • Example#4162 - Ds\Deque::merge example
  • Example#4163 - Ds\Deque::pop example
  • Example#4164 - Ds\Deque::push example
  • Example#4165 - Ds\Deque::reduce with initial value example
  • Example#4166 - Ds\Deque::reduce without an initial value example
  • Example#4167 - Ds\Deque::remove example
  • Example#4168 - Ds\Deque::reverse example
  • Example#4169 - Ds\Deque::reversed example
  • Example#4170 - Ds\Deque::rotate example
  • Example#4171 - Ds\Deque::set example
  • Example#4172 - Ds\Deque::set example using array syntax
  • Example#4173 - Ds\Deque::shift example
  • Example#4174 - Ds\Deque::slice example
  • Example#4175 - Ds\Deque::sort example
  • Example#4176 - Ds\Deque::sort example using a comparator
  • Example#4177 - Ds\Deque::sorted example
  • Example#4178 - Ds\Deque::sorted example using a comparator
  • Example#4179 - Ds\Deque::sum integer example
  • Example#4180 - Ds\Deque::sum float example
  • Example#4181 - Ds\Deque::toArray example
  • Example#4182 - Ds\Deque::unshift example
  • Example#4183 - Ds\Map::allocate example
  • Example#4184 - Ds\Map::apply example
  • Example#4185 - Ds\Map::capacity example
  • Example#4186 - Ds\Map::clear example
  • Example#4187 - Ds\Map::__construct example
  • Example#4188 - Ds\Map::copy example
  • Example#4189 - Ds\Map::diff example
  • Example#4190 - Ds\Map::filter example using callback function
  • Example#4191 - Ds\Map::filter example without a callback function
  • Example#4192 - Ds\Map::first example
  • Example#4193 - Ds\Map::get example
  • Example#4194 - Ds\Map::get example using array syntax
  • Example#4195 - Ds\Map::hasKey example
  • Example#4196 - Ds\Map::hasValue example
  • Example#4197 - Ds\Map::intersect example
  • Example#4198 - Ds\Map::isEmpty example
  • Example#4199 - Ds\Map::keys example
  • Example#4200 - Ds\Map::ksort example
  • Example#4201 - Ds\Map::ksort example using a comparator
  • Example#4202 - Ds\Map::ksorted example
  • Example#4203 - Ds\Map::ksorted example using a comparator
  • Example#4204 - Ds\Map::last example
  • Example#4205 - Ds\Map::map example
  • Example#4206 - Ds\Map::merge example
  • Example#4207 - Ds\Map::pairs example
  • Example#4208 - Ds\Map::put example
  • Example#4209 - Ds\Map::put example using objects as keys
  • Example#4210 - Ds\Map::putAll example
  • Example#4211 - Ds\Map::reduce with initial value example
  • Example#4212 - Ds\Map::reduce without an initial value example
  • Example#4213 - Ds\Map::remove example
  • Example#4214 - Ds\Map::reverse example
  • Example#4215 - Ds\Map::reversed example
  • Example#4216 - Ds\Map::skip example
  • Example#4217 - Ds\Map::slice example
  • Example#4218 - Ds\Map::sort example
  • Example#4219 - Ds\Map::sort example using a comparator
  • Example#4220 - Ds\Map::sort example
  • Example#4221 - Ds\Map::sort example using a comparator
  • Example#4222 - Ds\Map::sum integer example
  • Example#4223 - Ds\Map::sum float example
  • Example#4224 - Ds\Map::toArray example
  • Example#4225 - Ds\Map::union example
  • Example#4226 - Ds\Map::values example
  • Example#4227 - Ds\Map::xor example
  • Example#4228 - Ds\Pair::clear example
  • Example#4229 - Ds\Pair::copy example
  • Example#4230 - Ds\Pair::isEmpty example
  • Example#4231 - Ds\Pair::toArray example
  • Example#4232 - Ds\Set::add example using integers
  • Example#4233 - Ds\Set::add example using objects
  • Example#4234 - Ds\Set::allocate example
  • Example#4235 - Ds\Set::capacity example
  • Example#4236 - Ds\Set::clear example
  • Example#4237 - Ds\Set::__construct example
  • Example#4238 - Ds\Set::contains example
  • Example#4239 - Ds\Set::copy example
  • Example#4240 - Ds\Set::diff example
  • Example#4241 - Ds\Set::filter example using callback function
  • Example#4242 - Ds\Set::filter example without a callback function
  • Example#4243 - Ds\Set::first example
  • Example#4244 - Ds\Set::get example
  • Example#4245 - Ds\Set::get example using array syntax
  • Example#4246 - Ds\Set::intersect example
  • Example#4247 - Ds\Set::isEmpty example
  • Example#4248 - Ds\Set::join example using a separator string
  • Example#4249 - Ds\Set::join example without a separator string
  • Example#4250 - Ds\Set::last example
  • Example#4251 - Ds\Set::merge example
  • Example#4252 - Ds\Set::reduce with initial value example
  • Example#4253 - Ds\Set::reduce without an initial value example
  • Example#4254 - Ds\Set::remove example
  • Example#4255 - Ds\Set::reverse example
  • Example#4256 - Ds\Set::reversed example
  • Example#4257 - Ds\Set::slice example
  • Example#4258 - Ds\Set::sort example
  • Example#4259 - Ds\Set::sort example using a comparator
  • Example#4260 - Ds\Set::sorted example
  • Example#4261 - Ds\Set::sorted example using a comparator
  • Example#4262 - Ds\Set::sum integer example
  • Example#4263 - Ds\Set::sum float example
  • Example#4264 - Ds\Set::toArray example
  • Example#4265 - Ds\Set::union example
  • Example#4266 - Ds\Set::xor example
  • Example#4267 - Ds\Stack::clear example
  • Example#4268 - Ds\Stack::__construct example
  • Example#4269 - Ds\Stack::copy example
  • Example#4270 - Ds\Stack::isEmpty example
  • Example#4271 - Ds\Stack::peek example
  • Example#4272 - Ds\Stack::pop example
  • Example#4273 - Ds\Stack::push example
  • Example#4274 - Ds\Stack::toArray example
  • Example#4275 - Ds\Queue::allocate example
  • Example#4276 - Ds\Queue::capacity example
  • Example#4277 - Ds\Queue::clear example
  • Example#4278 - Ds\Queue::__construct example
  • Example#4279 - Ds\Queue::copy example
  • Example#4280 - Ds\Queue::isEmpty example
  • Example#4281 - Ds\Queue::peek example
  • Example#4282 - Ds\Queue::pop example
  • Example#4283 - Ds\Queue::push example
  • Example#4284 - Ds\Queue::toArray example
  • Example#4285 - Ds\PriorityQueue::allocate example
  • Example#4286 - Ds\PriorityQueue::capacity example
  • Example#4287 - Ds\PriorityQueue::clear example
  • Example#4288 - Ds\PriorityQueue::__construct example
  • Example#4289 - Ds\PriorityQueue::copy example
  • Example#4290 - Ds\PriorityQueue::isEmpty example
  • Example#4291 - Ds\PriorityQueue::peek example
  • Example#4292 - Ds\PriorityQueue::pop example
  • Example#4293 - Ds\PriorityQueue::push example
  • Example#4294 - Ds\PriorityQueue::toArray example
  • Example#4295 - var_representation Examples
  • Example#4296 - Escaping control characters
  • Example#4297 - Exporting stdClass
  • Example#4298 - Exporting classes
  • Example#4299 - Using __set_state()
  • Example#4300 - - example.com ana sayfasını bir dosyaya aktarmak amacıyla cURL işlevlerinin kullanımı
  • Example#4301 - - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması
  • Example#4302 - - Bir cURL tanıtıcısının kopyalanması
  • Example#4303 - - curl_errno örneği
  • Example#4304 - - curl_error örneği
  • Example#4305 - - curl_escape örneği
  • Example#4306 - - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması
  • Example#4307 - - curl_getinfo örneği
  • Example#4308 - - seçenek bağımsız değişkenli curl_getinfo örneği
  • Example#4309 - - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması
  • Example#4310 - - curl_multi_add_handle örneği
  • Example#4311 - - curl_multi_close örneği
  • Example#4312 - - curl_multi_exec örneği
  • Example#4313 - - curl_multi_info_read örneği
  • Example#4314 - - curl_multi_init örneği
  • Example#4315 - - curl_multi_strerror örneği
  • Example#4316 - - curl_reset örneği
  • Example#4317 - - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması
  • Example#4318 - - Yeni bir cURL oturumunun ilklendirilmesi ve bir HTML sayfasının alınması
  • Example#4319 - - curl_share_setopt örneği
  • Example#4320 - - curl_share_init örneği
  • Example#4321 - - curl_share_setopt örneği
  • Example#4322 - - curl_errno örneği
  • Example#4323 - - curl_escape örneği
  • Example#4324 - curl_upkeep example
  • Example#4325 - - curl_version örneği
  • Example#4326 - - CURLFile::__construct örneği
  • Example#4327 - -CURLFile::__construct çok sayıda dosya yükleme örneği
  • Example#4328 - CURLStringFile::__construct example
  • Example#4329 - Simple HTTP client
  • Example#4330 - HTTP client using asynchronous DNS resolver
  • Example#4331 - Echo server
  • Example#4332 - SSL echo server
  • Example#4333 - Signal handler
  • Example#4334 - Use libevent's loop to process requests of `eio' extension
  • Example#4335 - Miscellaneous
  • Example#4336 - Simple HTTP server
  • Example#4337 - Simple HTTPS server
  • Example#4338 - OpenSSL connection
  • Example#4339 - EventHttpConnection::makeRequest example
  • Example#4340 - Connection listener based on a UNIX domain socket
  • Example#4341 - Simple SMTP server
  • Example#4342 - Handling SIGTERM signal
  • Example#4343 - Adding a custom signal
  • Example#4344 - Adding a timer
  • Example#4345 - EventBase::getFeatures example
  • Example#4346 - EventBase::getMethod example
  • Example#4347 - EventBuffer::search example
  • Example#4348 - EventBufferEvent::connect example
  • Example#4349 - Connect to UNIX domain socket which presumably is served by a server, read response from the server and output it to the console
  • Example#4350 - EventBufferEvent::connectHost example
  • Example#4351 - Buffer event's read callback
  • Example#4352 - EventBufferEvent::getOutput example
  • Example#4353 - EventBufferEvent::sslError example
  • Example#4354 - Simple SMTP server
  • Example#4355 - EventConfig::avoidMethod example
  • Example#4356 - EventConfig::__construct example
  • Example#4357 - EventConfig::requireFeatures example
  • Example#4358 - EventHttp::accept example
  • Example#4359 - EventHttp::addServerAlias example
  • Example#4360 - EventHttp::bind example
  • Example#4361 - Simple HTTP server
  • Example#4362 - EventHttp::setCallback example
  • Example#4363 - EventHttp::setDefaultCallback example
  • Example#4364 - EventHttpConnection::makeRequest example
  • Example#4365 - EventHttpConnection::setCloseCallback example
  • Example#4366 - EventHttpRequest::__construct example
  • Example#4367 - EventHttpRequest::sendError example
  • Example#4368 - EventListener::__construct example
  • Example#4369 - EventSslContext::__construct example
  • Example#4370 - - FTP örneği
  • Example#4371 - - ftp_alloc örneği
  • Example#4372 - - ftp_cdup örneği
  • Example#4373 - - ftp_chdir örneği
  • Example#4374 - - ftp_chmod örneği
  • Example#4375 - - ftp_close örneği
  • Example#4376 - - ftp_connect örneği
  • Example#4377 - - ftp_delete örneği
  • Example#4378 - - ftp_exec örneği
  • Example#4379 - - ftp_fget örneği
  • Example#4380 - - ftp_fput örneği
  • Example#4381 - - ftp_get_option örneği
  • Example#4382 - - ftp_get örneği
  • Example#4383 - - ftp_login örneği
  • Example#4384 - - ftp_mdtm örneği
  • Example#4385 - - ftp_mkdir örneği
  • Example#4386 - - ftp_mlsd örneği
  • Example#4387 - - ftp_nb_continue örneği
  • Example#4388 - - ftp_nb_fget örneği
  • Example#4389 - - ftp_nb_fput örneği
  • Example#4390 - - ftp_nb_get örneği
  • Example#4391 - - ftp_nb_get ile indirmeyi devam ettirmek
  • Example#4392 - - ftp_nb_get ile indirmeyi yeni bir dosyanın 100. baytından sürdürmek
  • Example#4393 - - ftp_nb_put örneği
  • Example#4394 - - ftp_nb_put ile yüklemeyi devam ettirmek
  • Example#4395 - - ftp_nlist örneği
  • Example#4396 - - ftp_pasv örneği
  • Example#4397 - - ftp_put örneği
  • Example#4398 - - ftp_pwd örneği
  • Example#4399 - - Bir FTP sunucusuna ftp_raw kullanarak el yordamıyla oturum açmak
  • Example#4400 - - ftp_rawlist örneği
  • Example#4401 - - ftp_rename örneği
  • Example#4402 - - ftp_rmdir örneği
  • Example#4403 - - ftp_set_option örneği
  • Example#4404 - - Bir FTP sunucusuna bir SITE komutu göndermek
  • Example#4405 - - ftp_size örneği
  • Example#4406 - - ftp_ssl_connect örneği
  • Example#4407 - - ftp_systype örneği
  • Example#4408 - Basic Gearman client and worker
  • Example#4409 - Basic Gearman client and worker, background
  • Example#4410 - Basic Gearman client and worker, submitting tasks
  • Example#4411 - Adding two job servers
  • Example#4412 - Add two job servers
  • Example#4413 - Basic submission of two tasks
  • Example#4414 - Basic submission of two tasks with passing application context
  • Example#4415 - Two tasks, one background and one not
  • Example#4416 - A high priority task along with two normal tasks
  • Example#4417 - A low priority task along with two normal tasks
  • Example#4418 - Monitor completion of multiple background tasks
  • Example#4419 - Simple job submission with immediate return
  • Example#4420 - Submitting a job and retrieving incremental status
  • Example#4421 - Submit and monitor a background job
  • Example#4422 - Simple job submission with immediate return
  • Example#4423 - Submitting a job and retrieving incremental status
  • Example#4424 - Get the status of a long running job
  • Example#4425 - Monitor the status of a long running background job
  • Example#4426 - Simple worker making use of extra application context data
  • Example#4427 - Add alternate Gearman servers
  • Example#4428 - Add two job servers
  • Example#4429 - GearmanWorker::setId example
  • Example#4430 - A simple worker with a 5 second timeout
  • Example#4431 - Running worker in non-blocking mode
  • Example#4432 - GearmanWorker::work example
  • Example#4433 - Testing support for paged result control
  • Example#4434 - LDAP search example
  • Example#4435 - Bind with policy information
  • Example#4436 - Modify description only if it's not empty
  • Example#4437 - Read some values before deletion
  • Example#4438 - Delete a reference
  • Example#4439 - Use pagination for a search
  • Example#4440 - Complete example with authenticated bind
  • Example#4441 - Using LDAP Bind
  • Example#4442 - Using LDAP Bind Anonymously
  • Example#4443 - Complete example of password check
  • Example#4444 - Example of connecting to LDAP server.
  • Example#4445 - Example of connecting securely to LDAP server.
  • Example#4446 - LDAP pagination
  • Example#4447 - LDAP pagination
  • Example#4448 - ldap_count_entries example
  • Example#4449 - Enumerating all LDAP error messages
  • Example#4450 - Generating and catching an error
  • Example#4451 - Searching for an email address
  • Example#4452 - PASSWD extended operation
  • Example#4453 - Whoami extended operation
  • Example#4454 - Show the list of attributes held for a particular directory entry
  • Example#4455 - Check protocol version
  • Example#4456 - List all values of the "mail" attribute for a directory entry
  • Example#4457 - Produce a list of all organizational units of an organization
  • Example#4458 - Add a telephone number to a contact
  • Example#4459 - Rename a user
  • Example#4460 - Add two e-mail addresses to a user
  • Example#4461 - Change a user's password
  • Example#4462 - Change a user's password (Active Directory)
  • Example#4463 - ldap_parse_result example
  • Example#4464 - LDAP search
  • Example#4465 - Set protocol version
  • Example#4466 - Set server controls
  • Example#4467 - LDAP sort
  • Example#4468 - memcache extension overview example
  • Example#4469 - Using memcache session handler
  • Example#4470 - Memcache::add example
  • Example#4471 - Memcache::addServer example
  • Example#4472 - Memcache::close example
  • Example#4473 - Memcache::connect example
  • Example#4474 - Memcache::decrement example
  • Example#4475 - Memcache::delete example
  • Example#4476 - Memcache::flush example
  • Example#4477 - Memcache::get example
  • Example#4478 - Memcache::getExtendedStats example
  • Example#4479 - Memcache::getServerStatus example
  • Example#4480 - Memcache::getVersion example
  • Example#4481 - Memcache::increment example
  • Example#4482 - Memcache::pconnect example
  • Example#4483 - Memcache::replace example
  • Example#4484 - Memcache::set example
  • Example#4485 - Memcache::set example
  • Example#4486 - Memcache::setCompressThreshold example
  • Example#4487 - Memcache::setServerParams example
  • Example#4488 - Result callback example
  • Example#4489 - Read-through callback example
  • Example#4490 - Memcached::addServer example
  • Example#4491 - Memcached::addServers example
  • Example#4492 - Memcached::append example
  • Example#4493 - Memcached::cas example
  • Example#4494 - Creating a Memcached object
  • Example#4495 - Memcached::decrement example
  • Example#4496 - Memcached::delete example
  • Example#4497 - Memcached::fetch example
  • Example#4498 - Memcached::getDelayed example
  • Example#4499 - Memcached::flush example
  • Example#4500 - Memcached::get example #1
  • Example#4501 - Memcached::get example #2
  • Example#4502 - Memcached::getDelayed example
  • Example#4503 - Memcached::getMulti example for Memcached v3
  • Example#4504 - Memcached::getMulti example for Memcached v1 and v2
  • Example#4505 - Memcached::GET_PRESERVE_ORDER example for Memcached v3
  • Example#4506 - Memcached::GET_PRESERVE_ORDER example for Memcached v1 and v2
  • Example#4507 - Retrieving Memcached options
  • Example#4508 - Memcached::getResultCode example
  • Example#4509 - Memcached::getResultMessage example
  • Example#4510 - Memcached::getServerByKey example
  • Example#4511 - Memcached::getServerList example
  • Example#4512 - Memcached::getStats example
  • Example#4513 - Memcached::getVersion example
  • Example#4514 - Memcached::increment example
  • Example#4515 - Memcached::prepend example
  • Example#4516 - Memcached::set example
  • Example#4517 - Memcached::setByKey example
  • Example#4518 - Memcached::setMulti example
  • Example#4519 - Setting a Memcached option
  • Example#4520 - Setting Memcached options
  • Example#4521 - mqseries_back example
  • Example#4522 - mqseries_begin example
  • Example#4523 - mqseries_close example
  • Example#4524 - mqseries_cmit example
  • Example#4525 - mqseries_conn example
  • Example#4526 - mqseries_connx example
  • Example#4527 - mqseries_connx example using SSL connection & OCSP Responder URL
  • Example#4528 - mqseries_disc example
  • Example#4529 - mqseries_get example
  • Example#4530 - mqseries_inq example
  • Example#4531 - mqseries_open example
  • Example#4532 - mqseries_put example
  • Example#4533 - mqseries_strerror example
  • Example#4534 - - dns_get_record kullanımı
  • Example#4535 - - dns_get_record ve DNS_ANY kullanımı
  • Example#4536 - - fsockopen örneği
  • Example#4537 - - UDP bağlantısı kullanımı
  • Example#4538 - - gethostbyaddr örnek
  • Example#4539 - - gethostbyname örneği
  • Example#4540 - - gethostbynamel örneği
  • Example#4541 - - gethostname örneği
  • Example#4542 - - getprotobyname örneği
  • Example#4543 - - getservbyname örneği
  • Example#4544 - - header_register_callback örneği
  • Example#4545 - - Belli bir başlığı silmek
  • Example#4546 - - Atanmış tüm başlıkları silmek
  • Example#4547 - - İndirme söyleşisi
  • Example#4548 - - Yönergelerin önbelleklenmesi
  • Example#4549 - - headers_list kullanım örneği
  • Example#4550 - - headers_sent kullanım örnekleri
  • Example#4551 - - Sunucu ortamında http_response_code kullanımı
  • Example#4552 - - CLI ortamında http_response_code kullanımı
  • Example#4553 - - inet_ntop örneği
  • Example#4554 - - inet_pton örneği
  • Example#4555 - - ip2long Örneği
  • Example#4556 - - Bir IP adresinin gösterilmesi
  • Example#4557 - - setcookie gönderim örneği
  • Example#4558 - - setcookie silme örneği
  • Example#4559 - - setcookie ve diziler
  • Example#4560 - - syslog kullanımı
  • Example#4561 - Procedural usage of rrd
  • Example#4562 - OO usage of rrd
  • Example#4563 - RRDGraph::setOptions example
  • Example#4564 - Set multiple color options
  • Example#4565 - RRDUpdater::update examples
  • Example#4566 - Fetch instrumented calls
  • Example#4567 - Fetch the list of functions scoutapm will instrument
  • Example#4568 - snmp_get_quick_print example
  • Example#4569 - Using snmp_get_valueretrieval
  • Example#4570 - Using snmp_read_mib
  • Example#4571 - Using snmp_set_enum_print
  • Example#4572 - Using snmprealwalk
  • Example#4573 - Using snmp_set_quick_print
  • Example#4574 - Using snmp_set_valueretrieval
  • Example#4575 - Using snmp2_get
  • Example#4576 - Using snmp2_get_next
  • Example#4577 - Using snmp2_real_walk
  • Example#4578 - Using snmp2_set
  • Example#4579 - Using snmp2_set for setting BITS SNMP object id
  • Example#4580 - snmp2_walk Example
  • Example#4581 - Using snmp3_get
  • Example#4582 - Using snmp3_getnext
  • Example#4583 - Using snmp3_real_walk
  • Example#4584 - Using snmp3_set
  • Example#4585 - Using snmp3_set for setting BITS SNMP object id
  • Example#4586 - snmp3_walk Example
  • Example#4587 - Using snmpget
  • Example#4588 - Using snmpgetnext
  • Example#4589 - Using snmprealwalk
  • Example#4590 - Using snmpset
  • Example#4591 - Using snmpset for setting BITS SNMP object id
  • Example#4592 - snmpwalk Example
  • Example#4593 - snmpwalkoid Example
  • Example#4594 - SNMP::close example
  • Example#4595 - Fetching sysLocation
  • Example#4596 - Single SNMP object
  • Example#4597 - Multiple SNMP objects
  • Example#4598 - SNMP::getErrno example
  • Example#4599 - SNMP::getError example
  • Example#4600 - Single SNMP object
  • Example#4601 - Miltiple SNMP objects
  • Example#4602 - Set single SNMP object id
  • Example#4603 - Set multiple values using single SNMP::set call
  • Example#4604 - Using SNMP::set for setting BITS SNMP object id
  • Example#4605 - SNMP::setSecurity example
  • Example#4606 - SNMP::walk example
  • Example#4607 - suffixAsKey example
  • Example#4608 - - Soket örneği: Basit bir TCP/IP sunucu
  • Example#4609 - - Soket örneği: Basit TCP/IP istemci
  • Example#4610 - Using socket_atmark to set the source address
  • Example#4611 - - Kaynak adresini belirtmek için socket_bind kullanımı
  • Example#4612 - - socket_create_pair örneği
  • Example#4613 - -socket_create_pair IPC örneği
  • Example#4614 - - socket_get_option örneği
  • Example#4615 - socket_import_stream example
  • Example#4616 - - socket_last_error örneği
  • Example#4617 - - socket_recv örneği
  • Example#4618 - - socket_recvfrom örneği
  • Example#4619 - - socket_select ile null kullanımı
  • Example#4620 - - socket_select sonucunu anlamak
  • Example#4621 - - socket_select örneği
  • Example#4622 - - socket_sendto örneği
  • Example#4623 - - socket_set_block örneği
  • Example#4624 - - socket_set_nonblock örneği
  • Example#4625 - - socket_set_option örneği
  • Example#4626 - - socket_strerror örneği
  • Example#4627 - Authenticating with a ssh agent
  • Example#4628 - - Genel konak anahtarlı kimlik doğrulama
  • Example#4629 - - Kimlik doğrulama yöntemlerinin öğrenilmesi
  • Example#4630 - - Parolalı kimlik doğrulama
  • Example#4631 - - Genel anahtarlı kimlik doğrulama
  • Example#4632 - - ssh2_connect örneği
  • Example#4633 - - Karşıda bir komut çalıştırmak
  • Example#4634 - - Bir kabuk açıp kabukla ilgili standart hataya erişmek
  • Example#4635 - - Parmakizini karşılaştırmak
  • Example#4636 - - Müzakere yöntemlerini öğrenmek
  • Example#4637 - - ssh2_publickey_add örneği
  • Example#4638 - - ssh2_publickey_list örneği
  • Example#4639 - - SCP üzerinden dosya indirmek
  • Example#4640 - - SCP üzerinden karşıya dosya yükleme
  • Example#4641 - Changing the mode of a file on a remote server
  • Example#4642 - - SFTP üzerinden bir sembolik bağın durum bilgisini almak
  • Example#4643 - - Karşıda bir dizin oluşturmak
  • Example#4644 - - Bir sembolik bağı okumak
  • Example#4645 - - Bir dosya yolunun çözümlenmesi
  • Example#4646 - - SFTP üzerinden bır dosyanın ismini değiştirmek
  • Example#4647 - - Uzak sunucudan bir dizini silmek
  • Example#4648 - - SFTP üzerinden bir dosyanın durum bilgisini almak
  • Example#4649 - - Karşıya bir sembolik bağ oluşturmak
  • Example#4650 - - Karşıdan bir dosya silmek
  • Example#4651 - - SFTP üzerinden bir dosya açmak
  • Example#4652 - - Etkileşimli kabuk isteği
  • Example#4653 - - Belli bir konağa bir tünel açmak
  • Example#4654 - Nesne yönelimli kullanım
  • Example#4655 - Yordamsal kullanım
  • Example#4656 - stomp_connect_error example
  • Example#4657 - stomp_version example
  • Example#4658 - Nesne yönelimli kullanım
  • Example#4659 - Yordamsal kullanım
  • Example#4660 - Nesne yönelimli kullanım
  • Example#4661 - Yordamsal kullanım
  • Example#4662 - Nesne yönelimli kullanım
  • Example#4663 - Yordamsal kullanım
  • Example#4664 - Nesne yönelimli kullanım
  • Example#4665 - Yordamsal kullanım
  • Example#4666 - Nesne yönelimli kullanım
  • Example#4667 - Yordamsal kullanım
  • Example#4668 - Nesne yönelimli kullanım
  • Example#4669 - Yordamsal kullanım
  • Example#4670 - Nesne yönelimli kullanım
  • Example#4671 - Yordamsal kullanım
  • Example#4672 - Nesne yönelimli kullanım
  • Example#4673 - Yordamsal kullanım
  • Example#4674 - Nesne yönelimli kullanım
  • Example#4675 - Yordamsal kullanım
  • Example#4676 - Train from array
  • Example#4677 - Train from a file
  • Example#4678 - svn_add example
  • Example#4679 - Default authentication example
  • Example#4680 - svn_blame example
  • Example#4681 - Basic example
  • Example#4682 - Basic example
  • Example#4683 - Basic example
  • Example#4684 - Basic example
  • Example#4685 - Basic example
  • Example#4686 - Basic example
  • Example#4687 - Diffing two revisions of a repository path
  • Example#4688 - Portably diffing two local files
  • Example#4689 - svn_export example
  • Example#4690 - Basic example
  • Example#4691 - svn_log example
  • Example#4692 - svn_ls example
  • Example#4693 - Basic example
  • Example#4694 - Basic example
  • Example#4695 - - localhost'tan tüm bağlantıları yasaklamak
  • Example#4696 - Ban an URL
  • Example#4697 - Get statistic snapshot
  • Example#4698 - Read varnish shared memory log
  • Example#4699 - VarnishAdmin::__construct example
  • Example#4700 - YAZ kullanarak paralel arama
  • Example#4701 - - CCL yapılandırması
  • Example#4702 - - CCL çözümlemesi
  • Example#4703 - - Kayıt Güncelleme
  • Example#4704 - - GRS-1 kaydı için bir dizi
  • Example#4705 - - MARCXML ile çalışma
  • Example#4706 - - Başlıkları tarayan PHP işlevi
  • Example#4707 - - Sorgu örnekleri - Aşağıdaki gibi basit ifadeleri aratabilirsiniz
  • Example#4708 - - Sıralama kuralları
  • Example#4709 - A ZMQContext example
  • Example#4710 - A ZMQContext example
  • Example#4711 - A ZMQContext example
  • Example#4712 - A ZMQSocket example
  • Example#4713 - A send/recv example
  • Example#4714 - A ZMQPoll example
  • Example#4715 - zookeeper_dispatch example #1
  • Example#4716 - zookeeper_dispatch example #2
  • Example#4717 - Zookeeper::addAuth example
  • Example#4718 - Zookeeper::create example
  • Example#4719 - Zookeeper::delete example
  • Example#4720 - Zookeeper::exists example
  • Example#4721 - Zookeeper::get example
  • Example#4722 - Zookeeper::get stat example
  • Example#4723 - Zookeeper::getAcl example
  • Example#4724 - Zookeeper::getChildren example
  • Example#4725 - Zookeeper::set example
  • Example#4726 - Zookeeper::setAcl example
  • Example#4727 - Zookeeper::setDebugLevel example
  • Example#4728 - ZookeeperConfig::add example
  • Example#4729 - ZookeeperConfig::get example
  • Example#4730 - ZookeeperConfig::remove example
  • Example#4731 - ZookeeperConfig::set example
  • Example#4732 - solr_get_version example
  • Example#4733 - Contents of the BootStrap file
  • Example#4734 - Adding a document to the index
  • Example#4735 - Merging one document into another document
  • Example#4736 - Searching for documents - SolrObject responses
  • Example#4737 - Searching for documents - SolrDocument responses
  • Example#4738 - Simple TermsComponent example - basic
  • Example#4739 - Simple TermsComponent example - using a prefix
  • Example#4740 - Simple TermsComponent example - specifying a minimum frequency
  • Example#4741 - Simple Facet Example
  • Example#4742 - Simple Facet Example - with optional field override for mincount
  • Example#4743 - Facet Date Example
  • Example#4744 - Connecting to SSL-Enabled Server
  • Example#4745 - Collapsing a SolrQuery
  • Example#4746 - Solr Real Time Get (RTG) example SolrClient::getById
  • Example#4747 - SolrInputDocument::addChildDocument example
  • Example#4748 - SolrInputDocument::addChildDocuments example
  • Example#4749 - SolrDocument::toArray example
  • Example#4750 - SolrObject::__construct example
  • Example#4751 - SolrObject::offsetUnset example
  • Example#4752 - SolrClient::addDocument example
  • Example#4753 - SolrClient::addDocument example 2
  • Example#4754 - SolrClient::addDocuments example
  • Example#4755 - SolrClient::__construct example
  • Example#4756 - SolrQuery::deleteByQuery example
  • Example#4757 - SolrClient::getById example
  • Example#4758 - SolrClient::getByIds example
  • Example#4759 - SolrClient::ping example
  • Example#4760 - SolrClient::query example
  • Example#4761 - SolrClient::request example
  • Example#4762 - SolrClient::setResponseWriter example
  • Example#4763 - SolrParams::setParam example
  • Example#4764 - SolrQuery::addFacetField example
  • Example#4765 - SolrQuery::addFacetField example
  • Example#4766 - SolrQuery::addFilterQuery example
  • Example#4767 - SolrQuery::addGroupSortField example
  • Example#4768 - SolrQuery::collapse example
  • Example#4769 - SolrQuery::setExpand example
  • Example#4770 - SolrDisMaxQuery::addBigramPhraseField example
  • Example#4771 - SolrDisMaxQuery::addBoostQuery example
  • Example#4772 - SolrDisMaxQuery::addPhraseField example
  • Example#4773 - SolrDisMaxQuery::addQueryField example
  • Example#4774 - SolrDisMaxQuery::addTrigramPhraseField example
  • Example#4775 - SolrDisMaxQuery::addUserField example
  • Example#4776 - SolrDisMaxQuery::__construct example
  • Example#4777 - SolrDisMaxQuery::removeBigramPhraseField example
  • Example#4778 - SolrDisMaxQuery::removeBoostQuery example
  • Example#4779 - SolrDisMaxQuery::removePhraseField example
  • Example#4780 - SolrDisMaxQuery::removeQueryField example
  • Example#4781 - SolrDisMaxQuery::removeTrigramPhraseField example
  • Example#4782 - SolrDisMaxQuery::removeUserField example
  • Example#4783 - SolrDisMaxQuery::setBigramPhraseFields example
  • Example#4784 - SolrDisMaxQuery::setBigramPhraseSlop example
  • Example#4785 - SolrDisMaxQuery::setBoostFunction example
  • Example#4786 - SolrDisMaxQuery::setBoostQuery example
  • Example#4787 - SolrDisMaxQuery::setMinimumMatch example
  • Example#4788 - SolrDisMaxQuery::setPhraseFields example
  • Example#4789 - SolrDisMaxQuery::setPhraseSlop example
  • Example#4790 - SolrDisMaxQuery::setQueryAlt example
  • Example#4791 - SolrDisMaxQuery::setQueryPhraseSlop example
  • Example#4792 - SolrDisMaxQuery::setTieBreaker example
  • Example#4793 - SolrDisMaxQuery::setTrigramPhraseFields example
  • Example#4794 - SolrDisMaxQuery::setTrigramPhraseSlop example
  • Example#4795 - SolrDisMaxQuery::setUserFields example
  • Example#4796 - SolrDisMaxQuery::useDisMaxQueryParser example
  • Example#4797 - SolrDisMaxQuery::useEDisMaxQueryParser example
  • Example#4798 - SolrCollapseFunction::__construct example
  • Example#4799 - SolrCollapseFunction::setHint example
  • Example#4800 - SolrCollapseFunction::setMax example
  • Example#4801 - - .htaccess kullanarak PHP yorumlamasının bir dizinde kapatılması
  • Example#4802 - - apache_get_modules örneği
  • Example#4803 - - apache_get_version örneği
  • Example#4804 - - apache_getenv örneği
  • Example#4805 - - apache_lookup_uri örneği
  • Example#4806 - PHP ve Perl arasında bilgi aktarımı
  • Example#4807 - - access.log dosyasındaki oturum değerleri
  • Example#4808 - - apache_request_headers örneği
  • Example#4809 - - apache_response_headers örneği
  • Example#4810 - - apache_setenv ile bir Apache ortam değişkenini atamak
  • Example#4811 - - getallheaders örneği
  • Example#4812 - - Bir değişkeni $_SESSION ile kayıt altına almak
  • Example#4813 - - $_SESSION ile bir değişkeni tanımsız yapmak
  • Example#4814 - - Tek bir kullanıcının sayfa erişimlerinin sayılması
  • Example#4815 - - Örnek bilgi
  • Example#4816 - - session_cache_expire örneği
  • Example#4817 - - session_cache_limiter örneği
  • Example#4818 - - session_create_id ile session_regenerate_id örneği
  • Example#4819 - - Bir oturumun $_SESSION ile yokedilmesi
  • Example#4820 - - cron gibi bir görev yöneticisi ile session_gc kullanımı
  • Example#4821 - - Kullanıcı erişimli betik ile session_gc kullanımı
  • Example#4822 - - session_name örneği
  • Example#4823 - - session_regenerate_id örneği
  • Example#4824 - - session_regenerate_id ile oturum kaybını önlemek
  • Example#4825 - - Özel oturum işleyici
  • Example#4826 - - sayfa1.php
  • Example#4827 - - sayfa2.php
  • Example#4828 - - Çerez ömrünü değiştirmek
  • Example#4829 - - Oturumu okuyup kapatmak
  • Example#4830 - - Dahili PHP oturum kaydetme işleyicilere şifreleme eklemek için SessionHandler kullanımı
  • Example#4831 - - SessionHandlerInterface kullanım örneği
  • Example#4832 - Tokenize comma separated integer list
  • Example#4833 - Tokenize assign statement
  • Example#4834 - Simple calculator
  • Example#4835 - Parse words out from a sentence
  • Example#4836 - - Geçerli şablon örnekleri
  • Example#4837 - - Geçersiz şablon örnekleri
  • Example#4838 - PCRE şablonunda açıklama kullanımı
  • Example#4839 - - preg_filter ile preg_replace işlevini karşılaştırma örneği
  • Example#4840 - - preg_grep örneği
  • Example#4841 - - preg_last_error_msg örneği
  • Example#4842 - - preg_last_error örneği
  • Example#4843 - - Bir metinden telefon numaralarının toplanması
  • Example#4844 - - HTML etiketlerini bulmak (tamahkarca)
  • Example#4845 - İsimli alt şablon kullanımı
  • Example#4846 - - Metin içinde "php" dizgesini bulmak
  • Example#4847 - - "cebir" sözcüğünü bulmak
  • Example#4848 - - Bir adresten alan ismini çekip almak
  • Example#4849 - - İsimli alt şablon kullanımı
  • Example#4850 - - preg_quote örneği
  • Example#4851 - - Bir metnin içindeki bir kelimeyi vurgulamak
  • Example#4852 - - preg_replace_callback_array örneği
  • Example#4853 - - preg_replace_callback ve anonim işlev
  • Example#4854 - - 1. preg_replace_callback örneği
  • Example#4855 - - 2. preg_replace_callback örneği
  • Example#4856 - - Ardından bir sayı gelen geriye gönderim kullanımı
  • Example#4857 - - preg_replace ile indisli dizi kullanımı
  • Example#4858 - - Çeşitli değerlerin değiştirilmesi
  • Example#4859 - - Boşluk ayıklama
  • Example#4860 - - değişiklik_sayısı bağımsız değişkeninin kullanımı
  • Example#4861 -
  • Example#4862 - - preg_split örneği
  • Example#4863 - - Bir dizgeyi karakterlerine bölmek
  • Example#4864 - - Bir dizgeyi sözcüklerine ayırıp başlangıçlarıyla döndürmek
  • Example#4865 - - addcslashes örneği
  • Example#4866 - - addslashes örneği
  • Example#4867 - - bin2hex örneği
  • Example#4868 - - chr örneği
  • Example#4869 - - Taşma davranışı
  • Example#4870 - - Bir UTF-8 dizgeyi bayt bayt oluşturmak
  • Example#4871 - - chunk_split örneği
  • Example#4872 - - convert_uudecode örneği
  • Example#4873 - - convert_uuencode örneği
  • Example#4874 - - count_chars örneği
  • Example#4875 - - Bir crc32 sağlamasının gösterilmesi
  • Example#4876 - - crypt örnekleri
  • Example#4877 - - echo örnekleri
  • Example#4878 -
  • Example#4879 - - explode örneği
  • Example#4880 - explode return examples
  • Example#4881 - - sınır bağımsız değişkeni örnekleri
  • Example#4882 - - fprintf: Sıfır dolgulu tamsayılar
  • Example#4883 - - fprintf: para biçemleme
  • Example#4884 - - Dönüşüm tablosu örneği
  • Example#4885 - - hex2bin örneği
  • Example#4886 - - HTML öğelerinin karakterlere dönüştürülmesi
  • Example#4887 - - htmlentities örneği
  • Example#4888 - - ENT_IGNORE kullanımı
  • Example#4889 - - htmlspecialchars_decode örneği
  • Example#4890 - - htmlspecialchars örneği
  • Example#4891 - - implode örneği
  • Example#4892 - - lcfirst örneği
  • Example#4893 - - levenshtein örneği
  • Example#4894 - - localeconv örneği
  • Example#4895 - - ltrim örneği
  • Example#4896 - - md5_fileörneği
  • Example#4897 - - md5 örneği
  • Example#4898 - - metaphone örneği
  • Example#4899 - - azami_ses_karakteri_sayısı kullanımı
  • Example#4900 - - azami_ses_karakteri_sayısı kullanımı örneği
  • Example#4901 - - money_format örneği
  • Example#4902 - - nl_langinfo örneği
  • Example#4903 - - nl2br örneği
  • Example#4904 - - xhtml bağımsız değişkeni kullanımı
  • Example#4905 - - Çeşitli satırsonu ayraçları
  • Example#4906 - - number_format örneği
  • Example#4907 - - ord örneği
  • Example#4908 - - Bir UTF-8 dizgenin baytlarının tek tek incelenmesi
  • Example#4909 - - parse_str kullanımı
  • Example#4910 - - parse_str ve isim uyarlama
  • Example#4911 - - print örnekleri
  • Example#4912 -
  • Example#4913 -
  • Example#4914 - - printf: çeşitli örnekler
  • Example#4915 - - printf: dizge belirteçleri
  • Example#4916 - - quoted_printable_decode örneği
  • Example#4917 - - quoted_printable_encode örneği
  • Example#4918 - - quotemeta örneği
  • Example#4919 - - rtrim örneği
  • Example#4920 - - setlocale örnekleri
  • Example#4921 - - Windows için setlocale örnekleri
  • Example#4922 - - sha1_file örneği
  • Example#4923 - - sha1 örneği
  • Example#4924 - - similar_text bağımsız değişken takaslama örneği
  • Example#4925 - - soundex örnekleri
  • Example#4926 - - Bağımsız değişken takaslama
  • Example#4927 - - Dolgu karakteri belirtmek
  • Example#4928 - - Konum belirteçlerini diğer belirteçlerle birlikte kullanmak
  • Example#4929 - - sprintf ve sıfır dolgulu tamsayılar
  • Example#4930 - - sprintf ve para biçemleme
  • Example#4931 - - sprintf ve bilimsel gösterim
  • Example#4932 - - sscanf örneği
  • Example#4933 - - Seçimlik bağımsız değişkenlerle sscanf kullanımı
  • Example#4934 - - Boş dizge '' kullanımı
  • Example#4935 - - Harf büyüklüğüne duyarlılık
  • Example#4936 - Basic str_decrement example
  • Example#4937 - str_decrement example with a carry
  • Example#4938 - - Boş dizge '' kullanımı
  • Example#4939 - - Harf büyüklüğüne duyarlılık
  • Example#4940 - - str_getcsv örneği
  • Example#4941 - - Boş dizgeli str_getcsv örneği
  • Example#4942 - Basic str_increment example
  • Example#4943 - str_increment example with a carry
  • Example#4944 - - str_ireplace örneği
  • Example#4945 - - str_pad örneği
  • Example#4946 - - str_repeat örneği
  • Example#4947 - - Basit str_replace örnekleri
  • Example#4948 - - str_replace olası sorunsal örnekleri
  • Example#4949 - - str_rot13 örneği
  • Example#4950 - - str_shuffle örneği
  • Example#4951 - - str_split örneği
  • Example#4952 - - Boş dizge '' kullanımı
  • Example#4953 - - Harf büyüklüğüne duyarlılık
  • Example#4954 - - str_word_count örneği
  • Example#4955 - - strcasecmp örneği
  • Example#4956 - - strcmp örneği
  • Example#4957 - - strcspn örneği
  • Example#4958 - - strip_tags örneği
  • Example#4959 - - stripcslashes örneği
  • Example#4960 - - stripos örnekleri
  • Example#4961 - - stripslashes örneği
  • Example#4962 - - Dizi üzerinde stripslashes kullanımı
  • Example#4963 - - stristr örneği
  • Example#4964 - Bir dizgenin varlığına bakmak
  • Example#4965 - - Dizge olmayan iğne kullanımı
  • Example#4966 - - strlen örneği
  • Example#4967 - - strnatcasecmp örneği
  • Example#4968 - - strncasecmp örneği
  • Example#4969 - - strncmp örneği
  • Example#4970 - - strpbrk örneği
  • Example#4971 - - Aynılık işlecinin (===) kullanımı
  • Example#4972 - - Farklılık işlecinin (!==) kullanımı
  • Example#4973 - - Bir başlangıç kullanımı
  • Example#4974 - - strrchr örneği
  • Example#4975 - - strrev örneği
  • Example#4976 - - strripos örneği
  • Example#4977 - - Samanlıkta iğne aramak
  • Example#4978 - - Başlangıç belirtmek
  • Example#4979 - - strspn örneği
  • Example#4980 - - strstr örneği
  • Example#4981 - - strtok örneği
  • Example#4982 - - Ayraçlar tükendiğinde strtok davranışı
  • Example#4983 - - strtok ile explode arasındaki fark
  • Example#4984 - - strtolower örneği
  • Example#4985 - - strtoupper örneği
  • Example#4986 - - strtr örneği
  • Example#4987 - - İki bağımsız değişkenli strtr örneği
  • Example#4988 - - strtr davranış karşılaştırması
  • Example#4989 - - substr_compare örneği
  • Example#4990 - - substr_count örneği
  • Example#4991 - - substr_replace örnekleri
  • Example#4992 - - Çok sayıda dizgeyi bir kerede değiştirmek için substr_replace kullanımı
  • Example#4993 - - Negatif başlangıç kullanımı
  • Example#4994 - - Negatif uzunluk kullanımı
  • Example#4995 - - Basit substr kullanımı
  • Example#4996 - - substr tür dönüşüm davranışı
  • Example#4997 -
  • Example#4998 - - Geçersiz karakter aralığı
  • Example#4999 - - trim işlevinin kullanımı
  • Example#5000 - - trim işlevini dizi değerlerine uygulama
  • Example#5001 - - ucfirst örneği
  • Example#5002 - - ucwords örneği
  • Example#5003 - - Özel ayraçlı ucwords örneği
  • Example#5004 - - Ek ayraçlı ucwords örneği
  • Example#5005 - - Temel örnekler
  • Example#5006 - - Temel örnek
  • Example#5007 - vfprintf: sıfır dolgulu tamsayılar
  • Example#5008 - - vprintf: sıfır dolgulu tamsayılar
  • Example#5009 - - vsprintf ve sıfır dolgulu tamsayılar
  • Example#5010 - - wordwrap örneği
  • Example#5011 - - Kesmeli wordwrap örneği
  • Example#5012 - - wordwrap örneği
  • Example#5013 - - array_change_key_case örneği
  • Example#5014 - - array_chunk örneği
  • Example#5015 - - Bir ad/soyad kümesinden adları içeren sütunu döndürmek
  • Example#5016 - - Bir ad/soyad kümesinden soyadları içeren sütunu "id" sütunu ile indisleyerek döndürmek
  • Example#5017 - - Bir nesnenin public "username" özelliğinden username'leri içeren sütunu döndürmek
  • Example#5018 - - Sihirli __get yöntemini kullanarak bir nesnenin private "isim" özelliğindeki isimleri içeren sütunu döndürmek
  • Example#5019 - - array_combine örneği
  • Example#5020 - - array_count_values örneği
  • Example#5021 - - array_diff_assoc örneği - 1
  • Example#5022 - - array_diff_assoc örneği - 2
  • Example#5023 - - array_diff_key örneği
  • Example#5024 - - array_diff_uassoc örneği
  • Example#5025 - - array_diff_ukey örneği
  • Example#5026 - - array_diff örneği
  • Example#5027 - - Eşleşmeyen türler ile array_diff
  • Example#5028 - - array_fill_keys örneği
  • Example#5029 - - array_fill örneği
  • Example#5030 - - Negatif başlangıç indisli array_fill örneği
  • Example#5031 - - array_filter örneği
  • Example#5032 - - işlevsiz array_filter örneği
  • Example#5033 - - array_filter ile kip kullanımı
  • Example#5034 - - array_flip örneği
  • Example#5035 - - Kayıplı array_flip örneği
  • Example#5036 - - array_intersect_assoc örneği
  • Example#5037 - - array_intersect_key örneği
  • Example#5038 - - array_intersect_uassoc örneği
  • Example#5039 - - array_intersect_ukey örneği
  • Example#5040 - - array_intersect örneği
  • Example#5041 - - array_is_list örneği
  • Example#5042 - - array_key_exists örneği
  • Example#5043 - - array_key_exists işlevine karşı isset
  • Example#5044 - - array_key_first Temel Kullanım Örneği
  • Example#5045 - - array_keys örneği
  • Example#5046 - - array_map örneği
  • Example#5047 - - Lamda işlevi kullanan array_map örneği
  • Example#5048 - - Birden fazla diziyle array_map örneği
  • Example#5049 - - Dizileri ziplemek
  • Example#5050 - - Tek dizi ile null işlev
  • Example#5051 - - Dizgesel anahtarlarla array_map örneği
  • Example#5052 - - array_map ve ilişkisel diziler
  • Example#5053 - - array_merge_recursive örneği
  • Example#5054 - - array_merge örneği
  • Example#5055 - - Basit array_merge örneği
  • Example#5056 - - array türünde olmayan dizilerle array_merge
  • Example#5057 - - Çok sayıda diziyi sıralamak
  • Example#5058 - - Çok boyutlu diziyi sıralamak
  • Example#5059 - - Veritabanı sonuçlarının sıralanması
  • Example#5060 - - Harf büyüklüğüne duyarsız sıralama
  • Example#5061 - - array_pad örneği
  • Example#5062 - - array_pop örneği
  • Example#5063 - - array_product örneği
  • Example#5064 - - array_push örneği
  • Example#5065 - - array_rand örneği
  • Example#5066 - - array_reduce örneği
  • Example#5067 - - array_replace_recursive örneği
  • Example#5068 - - array_replace_recursiveve ardışık işlem
  • Example#5069 - - array_replace örneği
  • Example#5070 - - array_reverse örneği
  • Example#5071 - - array_search örneği
  • Example#5072 - - array_shift örneği
  • Example#5073 - - array_slice örnekleri
  • Example#5074 - - 1 indisiyle başlayan dizi
  • Example#5075 - - Karışık anahtarlı dizi
  • Example#5076 - - array_splice örnekleri
  • Example#5077 - - array_splice ve eşdeğerlerine örnekler
  • Example#5078 - - array_sum örnekleri
  • Example#5079 - - array_udiff_assoc örneği
  • Example#5080 - - array_udiff_uassoc örneği
  • Example#5081 - - stdClass nesneleri kullanılan array_udiff örneği
  • Example#5082 - - DateTime nesneleri kullanılan array_udiff örneği
  • Example#5083 - - array_uintersect_assoc örneği
  • Example#5084 - - array_uintersect_uassoc örneği
  • Example#5085 - - array_uintersect örneği
  • Example#5086 - - array_unique örneği
  • Example#5087 - - array_unique ve türler
  • Example#5088 - - array_unshift örneği
  • Example#5089 - - İlişkisel dizilerle kullanım
  • Example#5090 - - array_values örneği
  • Example#5091 - - array_walk_recursive örneği
  • Example#5092 - - array_walk örneği
  • Example#5093 - - İsimsiz işlev kullanılan array_walk örneği
  • Example#5094 - - array örneği
  • Example#5095 - array ile otomatik indis üretimi
  • Example#5096 - - İlk indisi 1 olan dizi üretimi
  • Example#5097 - - Çift tırnak içine alınmış bir diziye erişim
  • Example#5098 - - arsort örneği
  • Example#5099 - - asort örneği
  • Example#5100 - - compact örneği
  • Example#5101 - - count örneği
  • Example#5102 - - count geçersiz Countable|array örneği (kötü örnek - yapmaktan sakının)
  • Example#5103 - - Ardışık count örneği
  • Example#5104 - - Countable nesnesi
  • Example#5105 - - current örneği
  • Example#5106 - - each örnekleri
  • Example#5107 - - each ile bir dizinin taranması
  • Example#5108 - - end örneği
  • Example#5109 - - extract örneği
  • Example#5110 - - in_array örneği
  • Example#5111 - - Türe de bakan in_array örneği
  • Example#5112 - - iğnenin bir dizi olduğu in_array örneği
  • Example#5113 - - key örneği
  • Example#5114 - - krsort örneği
  • Example#5115 - - ksort örneği
  • Example#5116 - - ksort ile int anahtarlar
  • Example#5117 - - list örnekleri
  • Example#5118 - - list kullanım örneği
  • Example#5119 - - İç içe list kullanımı
  • Example#5120 - - list ve indis tanımlarının sırası
  • Example#5121 - - Anahtarlar ve list
  • Example#5122 - - natcasesort örneği
  • Example#5123 - - natsort genel kullanım örnekleri
  • Example#5124 - - Olası sorunları gösteren natsort örnekleri
  • Example#5125 - - next ve şürekası
  • Example#5126 - - prev ve şürekası
  • Example#5127 - - range örnekleri
  • Example#5128 - - reset örneği
  • Example#5129 - - rsort örneği
  • Example#5130 - - shuffle örneği
  • Example#5131 - - sort örneği
  • Example#5132 - - Harf büyüklüğüne duyarsız doğal sıralama kullanılan sort örneği
  • Example#5133 - - uasort örneği
  • Example#5134 - - uksort örneği
  • Example#5135 - - usort örneği
  • Example#5136 - - usort ve çok boyutlu dizi
  • Example#5137 - - Bir nesnenin üye yöntemini kullanan usort örneği
  • Example#5138 - - Çok boyutlu bir diziyi sıralamak için anonim işlevler kullanılan usort örneği
  • Example#5139 - - Mekik işleci kullanılan usort örneği
  • Example#5140 - - Sınıf Tanımları
  • Example#5141 - dnm.php
  • Example#5142 - - class_alias örneği
  • Example#5143 - - class_exists örneği
  • Example#5144 - - autoload bağımsız değişken örneği
  • Example#5145 - - enum_exists örneği
  • Example#5146 - - get_called_class örneği
  • Example#5147 - - get_class_methods örneği
  • Example#5148 - - get_class_vars örneği
  • Example#5149 - - get_class_vars ve etki alanı
  • Example#5150 - - get_class örneği
  • Example#5151 - - Alt sınıftan get_class çağrısı
  • Example#5152 - - İsim alanlı sınıflarla get_class kullanımı
  • Example#5153 - - get_declared_classes örneği
  • Example#5154 - - get_declared_interfaces örneği
  • Example#5155 - - get_mangled_object_vars örneği
  • Example#5156 - - get_object_vars örneği
  • Example#5157 - - get_parent_class örneği
  • Example#5158 - - interface_exists örneği
  • Example#5159 - - is_a örneği
  • Example#5160 - - instanceof işlecinin kullanımı
  • Example#5161 - - is_subclass_of örneği
  • Example#5162 - - Arayüz kullanılan is_subclass_of örneği
  • Example#5163 - - method_exists örneği
  • Example#5164 - - Duruk method_exists örneği
  • Example#5165 - - property_exists örneği
  • Example#5166 - - ctype_alnum örneği (öntanımlı yerel kullanılarak)
  • Example#5167 - - ctype_alpha örneği (öntanımlı yerel kullanılarak)
  • Example#5168 - - ctype_cntrl örneği
  • Example#5169 - - ctype_digit örneği
  • Example#5170 - - ctype_digit (dizgelerle tamsayıları karşılaştırma) örneği
  • Example#5171 - - ctype_graph örneği
  • Example#5172 - - ctype_lower örneği (öntanımlı yerel kullanılarak)
  • Example#5173 - - ctype_print örneği
  • Example#5174 - - ctype_punct örneği
  • Example#5175 - - ctype_space örneği
  • Example#5176 - - ctype_upper örneği (öntanımlı yereli kullanarak)
  • Example#5177 - - ctype_xdigit örneği
  • Example#5178 - Configuring the default filter to act like htmlspecialchars
  • Example#5179 - Configuring the default filter to act like htmlspecialchars
  • Example#5180 - Validating email addresses with filter_var
  • Example#5181 - Validating IP addresses with filter_var
  • Example#5182 - Passing options to filter_var
  • Example#5183 - Sanitizing and validating email addresses
  • Example#5184 - Configuring a default filter
  • Example#5185 - A filter_input_array example
  • Example#5186 - A filter_input example
  • Example#5187 - A filter_list example
  • Example#5188 - A filter_var_array example
  • Example#5189 - A filter_var example
  • Example#5190 - Filter an array example
  • Example#5191 - - call_user_func_array örneği
  • Example#5192 - - İsim alanı ismi kullanarak call_user_func_array
  • Example#5193 - - Lamda işlevi kullanımı
  • Example#5194 - - Değerlerin gönderimli aktarılması
  • Example#5195 - - İsimli bağımsız değişkenli call_user_func_array kullanımı
  • Example#5196 - - call_user_func örneği ve gönderimler
  • Example#5197 - - call_user_func örneği
  • Example#5198 - - İsim alanı ismi kullanarak call_user_func
  • Example#5199 - - Sınıf yöntemi kullanarak call_user_func
  • Example#5200 - - Lamda işlevi kullanarak call_user_func
  • Example#5201 - - create_function veya isimsiz işlevlerle ile bir işlevin dinamik olarak oluşturulması
  • Example#5202 - - create_function işlevi veya isimsiz işlevlerle bir genel işlem işlevi oluşturmak
  • Example#5203 - - Dinamik işlevlerin geriçağırım işlevlerinde kullanımı
  • Example#5204 - - forward_static_call_array örneği
  • Example#5205 - - forward_static_call örneği
  • Example#5206 - - func_get_arg örneği
  • Example#5207 - - byref ve byval bağımsız değişkenli func_get_arg
  • Example#5208 - - func_get_args örneği
  • Example#5209 - - byref ve byval bağımsız değişkenli func_get_args
  • Example#5210 - - func_num_args örneği
  • Example#5211 - - function_exists örneği
  • Example#5212 - - get_defined_functions örneği
  • Example#5213 - - register_shutdown_function örneği
  • Example#5214 - - register_tick_function örneği
  • Example#5215 - Quickhash Example
  • Example#5216 - Quickhash ArrayAccess Example
  • Example#5217 - Quickhash Iterator Example
  • Example#5218 - Quickhash String Values Example
  • Example#5219 - QuickHashIntSet::add example
  • Example#5220 - QuickHashIntSet::__construct example
  • Example#5221 - QuickHashIntSet::delete example
  • Example#5222 - QuickHashIntSet::exists example
  • Example#5223 - QuickHashIntSet::getSize example
  • Example#5224 - QuickHashIntSet::loadFromFile example
  • Example#5225 - QuickHashIntSet::loadFromString example
  • Example#5226 - QuickHashIntSet::saveToFile example
  • Example#5227 - QuickHashIntSet::saveToString example
  • Example#5228 - QuickHashIntHash::add example
  • Example#5229 - QuickHashIntHash::__construct example
  • Example#5230 - QuickHashIntHash::delete example
  • Example#5231 - QuickHashIntHash::exists example
  • Example#5232 - QuickHashIntHash::get example
  • Example#5233 - QuickHashIntHash::getSize example
  • Example#5234 - QuickHash IntHash file format
  • Example#5235 - QuickHash IntHash file format
  • Example#5236 - QuickHashIntHash::loadFromFile example
  • Example#5237 - QuickHashIntHash::loadFromString example
  • Example#5238 - QuickHashIntHash::saveToFile example
  • Example#5239 - QuickHashIntHash::saveToString example
  • Example#5240 - QuickHashIntHash::set example
  • Example#5241 - QuickHashIntHash::update example
  • Example#5242 - QuickHashStringIntHash::add example
  • Example#5243 - QuickHashStringIntHash::__construct example
  • Example#5244 - QuickHashStringIntHash::delete example
  • Example#5245 - QuickHashStringIntHash::get example
  • Example#5246 - QuickHashStringIntHash::getSize example
  • Example#5247 - QuickHash StringIntHash file format
  • Example#5248 - QuickHash IntHash file format
  • Example#5249 - QuickHashStringIntHash::loadFromFile example
  • Example#5250 - QuickHashStringIntHash::loadFromString example
  • Example#5251 - QuickHashStringIntHash::saveToFile example
  • Example#5252 - QuickHashStringIntHash::saveToString example
  • Example#5253 - QuickHashStringIntHash::set example
  • Example#5254 - QuickHashStringIntHash::update example
  • Example#5255 - QuickHashIntStringHash::add example
  • Example#5256 - QuickHashIntStringHash::__construct example
  • Example#5257 - QuickHashIntStringHash::delete example
  • Example#5258 - QuickHashIntStringHash::get example
  • Example#5259 - QuickHashIntStringHash::getSize example
  • Example#5260 - QuickHash IntString file format
  • Example#5261 - QuickHash IntString file format
  • Example#5262 - QuickHashIntStringHash::loadFromFile example
  • Example#5263 - QuickHashIntStringHash::loadFromString example
  • Example#5264 - QuickHashIntStringHash::saveToFile example
  • Example#5265 - QuickHashIntStringHash::saveToString example
  • Example#5266 - QuickHashIntStringHash::set example
  • Example#5267 - QuickHashIntStringHash::update example
  • Example#5268 - - Reflection eklentisinin kabuktan kullanımı
  • Example#5269 - - Yerleşik sınıfların genişletilmesi
  • Example#5270 - - Reflection::getModifierNames örneği
  • Example#5271 - - Temel kullanım örneği
  • Example#5272 - - ReflectionClass::export temel kullanım örneği
  • Example#5273 - Basic usage
  • Example#5274 - Filtering results by class name
  • Example#5275 - Filtering results by class name, with inheritance
  • Example#5276 - - ReflectionClass::getConstant kullanımı
  • Example#5277 - - ReflectionClass::getConstructor kullanımı
  • Example#5278 - - ReflectionClass::getDefaultProperties örneği
  • Example#5279 - - ReflectionClass::getDocComment örneği
  • Example#5280 - - ReflectionClass::getEndLine örneği
  • Example#5281 - - ReflectionClass::getExtension örneği
  • Example#5282 - - ReflectionClass::getExtensionName örneği
  • Example#5283 - - ReflectionClass::getInterfaceNames örneği
  • Example#5284 - - ReflectionClass::getInterfaces örneği
  • Example#5285 - - ReflectionClass::getMethod örneği
  • Example#5286 - - ReflectionClass::getMethods temel kullanım örneği
  • Example#5287 - - ReflectionClass::getMethods ve sonuçların süzülmesi
  • Example#5288 - - ReflectionClass::getName örneği
  • Example#5289 - - ReflectionClass::getNamespaceName örneği
  • Example#5290 - - ReflectionClass::getProperties süzgeç örneği
  • Example#5291 - - ReflectionClass::getProperty örneği
  • Example#5292 - - Temel ReflectionClass::getReflectionConstants örneği
  • Example#5293 - - ReflectionClass::getShortName örneği
  • Example#5294 - - ReflectionClass::getStaticPropertyValue temel kullanım örneği
  • Example#5295 - - ReflectionClass::hasConstant örneği
  • Example#5296 - - ReflectionClass::hasMethod örneği
  • Example#5297 - - ReflectionClass::hasProperty örneği
  • Example#5298 - - ReflectionClass::inNamespace örneği
  • Example#5299 - - ReflectionClass::isAbstract örneği
  • Example#5300 - ReflectionClass::isAnonymous example
  • Example#5301 - Basic usage of ReflectionClass::isCloneable
  • Example#5302 - - ReflectionClass::isFinal örneği
  • Example#5303 - - ReflectionClass::isInstance örneği
  • Example#5304 - - ReflectionClass::isInstantiable örneği
  • Example#5305 - - ReflectionClass::isInterface temel kullanım örneği
  • Example#5306 - - ReflectionClass::isInternal temel kullanım örneği
  • Example#5307 - - ReflectionClass::isIterable temel kullanım örneği
  • Example#5308 - ReflectionClass::isReadOnly example
  • Example#5309 - - ReflectionClass::newInstanceArgs temel kullanım örneği
  • Example#5310 - - ReflectionClass::__toString örneği
  • Example#5311 - Basic usage
  • Example#5312 - Filtering results by class name
  • Example#5313 - Filtering results by class name, with inheritance
  • Example#5314 - ReflectionClassConstant::isEnumCase example
  • Example#5315 - ReflectionEnum::getBackingType example
  • Example#5316 - ReflectionEnum::getCase example
  • Example#5317 - ReflectionEnum::getCases example
  • Example#5318 - ReflectionEnum::hasCase example
  • Example#5319 - ReflectionEnum::isBacked example
  • Example#5320 - ReflectionEnum::getValue example
  • Example#5321 - ReflectionEnum::getBackingValue example
  • Example#5322 - - ReflectionExtension örneği
  • Example#5323 - ReflectionExtension::getClasses örneği
  • Example#5324 - ReflectionExtension::getClassNames örneği
  • Example#5325 - ReflectionExtension::getConstants örneği
  • Example#5326 - ReflectionExtension::getDependencies örneği
  • Example#5327 - - ReflectionExtension::getFunctions örneği
  • Example#5328 - - ReflectionExtension::getINIEntries örneği
  • Example#5329 - - ReflectionExtension::getName örneği
  • Example#5330 - - ReflectionExtension::getVersion örneği
  • Example#5331 - - ReflectionExtension::info örneği
  • Example#5332 - - ReflectionFunction::__construct örneği
  • Example#5333 - - ReflectionFunction::invoke örneği
  • Example#5334 - - ReflectionFunction::invokeArgs örneği
  • Example#5335 - - Değer döndüren bağımsız değişkenli işlevle ReflectionFunction::invokeArgs örneği
  • Example#5336 - ReflectionFunction::isAnonymous example
  • Example#5337 - - ReflectionFunction::__toString örneği
  • Example#5338 - Basic usage with a class method
  • Example#5339 - Basic usage with a function
  • Example#5340 - Filtering results by class name
  • Example#5341 - Filtering results by class name, with inheritance
  • Example#5342 - ReflectionFunctionAbstract::getClosureUsedVariables example
  • Example#5343 - ReflectionFunctionAbstract::getReturnType example
  • Example#5344 - Usage on built-in functions
  • Example#5345 - ReflectionFunctionAbstract::getTentativeReturnType example
  • Example#5346 - ReflectionFunctionAbstract::hasReturnType example
  • Example#5347 - Usage on built-in functions
  • Example#5348 - ReflectionFunctionAbstract::hasTentativeReturnType example
  • Example#5349 - - ReflectionFunctionAbstract::isClosure örneği
  • Example#5350 - - ReflectionFunctionAbstract::isDeprecated örneği
  • Example#5351 - - ReflectionMethod::__construct örneği
  • Example#5352 - ReflectionMethod::createFromMethodName example
  • Example#5353 - - ReflectionMethod::getDeclaringClass örneği
  • Example#5354 - - ReflectionMethod::getModifiers örneği
  • Example#5355 - - ReflectionMethod::getPrototype örneği
  • Example#5356 - ReflectionMethod::hasPrototype example
  • Example#5357 - - ReflectionMethod::invoke örneği
  • Example#5358 - - ReflectionMethod::invokeArgs örneği
  • Example#5359 - Simple Class definition
  • Example#5360 - - ReflectionMethod::__toString örneği
  • Example#5361 - ReflectionNamedType::isBuiltin example
  • Example#5362 - - ReflectionParameter örneği
  • Example#5363 - Basic usage
  • Example#5364 - Filtering results by class name
  • Example#5365 - Filtering results by class name, with inheritance
  • Example#5366 - - ReflectionParameter sınıfının kullanımı
  • Example#5367 - - Yöntemi bildiren sınıfı döndürmek
  • Example#5368 - - İşlev bağımsız değişkenlerinin öntanımlı değerlerini döndürmek
  • Example#5369 - Getting default values' constant names of function parameters
  • Example#5370 - ReflectionParameter::getType Usage as of PHP 7.1.0
  • Example#5371 - ReflectionParameter::getType Usage before PHP 7.1.0
  • Example#5372 - ReflectionParameter::getType Usage in PHP 8.0.0 and later
  • Example#5373 - ReflectionParameter::hasType example
  • Example#5374 - - PHP 8.0.0 eşdeğeri
  • Example#5375 - PHP 8.0.0 equivalent
  • Example#5376 - - ReflectionParameter::__toString örneği
  • Example#5377 - - ReflectionProperty::__construct örneği
  • Example#5378 - - ReflectionProperty sınıfından private ve protected özelliklerin değerlerini öğrenmek
  • Example#5379 - Basic usage
  • Example#5380 - Filtering results by class name
  • Example#5381 - Filtering results by class name, with inheritance
  • Example#5382 - ReflectionProperty::getDefaultValue example
  • Example#5383 - - ReflectionProperty::getDocComment örneği
  • Example#5384 - - Çoklu özellik bildirimi
  • Example#5385 - ReflectionProperty::getType example
  • Example#5386 - - ReflectionProperty::getValue örneği
  • Example#5387 - ReflectionProperty::hasDefaultValue example
  • Example#5388 - ReflectionProperty::hasType example
  • Example#5389 - - ReflectionProperty::isDefault örneği
  • Example#5390 - ReflectionProperty::isInitialized example
  • Example#5391 - ReflectionProperty::isPromoted example
  • Example#5392 - - Basit bir sınıf tanımı
  • Example#5393 - - ReflectionProperty::setValue örneği
  • Example#5394 - ReflectionType::allowsNull example
  • Example#5395 - ReflectionType::__toString example
  • Example#5396 - ReflectionUnionType::getTypes example
  • Example#5397 - ReflectionGenerator::__construct example
  • Example#5398 - ReflectionGenerator::getExecutingFile example
  • Example#5399 - ReflectionGenerator::getExecutingGenerator example
  • Example#5400 - ReflectionGenerator::getExecutingLine example
  • Example#5401 - ReflectionGenerator::getFunction example
  • Example#5402 - ReflectionGenerator::getThis example
  • Example#5403 - ReflectionGenerator::getTrace example
  • Example#5404 - ReflectionIntersectionType::getTypes example
  • Example#5405 - Basic ReflectionReference::getId usage
  • Example#5406 - - boolval örnekleri
  • Example#5407 - - debug_zval_dump örneği
  • Example#5408 -
  • Example#5409 - - Basit bir empty / isset karşılaştırması
  • Example#5410 - - Dizge başlangıçlarında empty
  • Example#5411 - - floatval örneği
  • Example#5412 - - floatval ve baştaki karakterin rakam olmaması durumu
  • Example#5413 - - get_debug_type örneği
  • Example#5414 - - get_defined_vars örneği
  • Example#5415 - - int dönüşümüyle aynı sonucu üreten get_resource_id örneği
  • Example#5416 - - get_resource_type örneği
  • Example#5417 - - gettype örneği
  • Example#5418 - - intval örnekleri
  • Example#5419 - - Değişken içeriğinin bir dizi olup olmadığının sınanması
  • Example#5420 - - is_bool örnekleri
  • Example#5421 - - is_callable örneği
  • Example#5422 - - is_callable ve kurucular
  • Example#5423 - - is_countable örnekleri
  • Example#5424 - - is_float örneği
  • Example#5425 - - is_int örneği
  • Example#5426 - - is_iterable örnekleri
  • Example#5427 - - is_null örneği
  • Example#5428 - - is_numeric örnekleri
  • Example#5429 - - Boşluk karakterli is_numeric örneği
  • Example#5430 - - is_object örneği
  • Example#5431 - - is_resource örneği
  • Example#5432 - - is_scalar örneği
  • Example#5433 - - is_string örneği
  • Example#5434 - - isset örnekleri
  • Example#5435 - - Dizge başlangıcında isset
  • Example#5436 - - print_r örneği
  • Example#5437 - - döndür bağımsız değişkenli örnek
  • Example#5438 - - serialize örneği
  • Example#5439 - - settype örneği
  • Example#5440 - - Sihirli __toString() yöntemini kullanan strval örneği
  • Example#5441 - - unserialize örneği
  • Example#5442 - - unserialize_callback_func örneği
  • Example#5443 - - unset örneği
  • Example#5444 - - (unset) - null'a dönüşüm örneği
  • Example#5445 - - var_dump örneği
  • Example#5446 - - var_export örnekleri
  • Example#5447 - - stdClass'ın dışa aktarılması (PHP 7.3.0'den beri)
  • Example#5448 - - Sınıfların dışa aktarılması
  • Example#5449 - - __set_state() kullanımı
  • Example#5450 -
  • Example#5451 - OAuth::fetch example
  • Example#5452 - OAuth::getAccessToken example
  • Example#5453 - OAuth::getRequestToken example
  • Example#5454 - OAuth::setRequestEngine example
  • Example#5455 - An OAuth::setRsaCertificate example
  • Example#5456 - OAuth::setToken example
  • Example#5457 - OAuthProvider::__construct example
  • Example#5458 - Example OAuthProvider::consumerHandler callback
  • Example#5459 - OAuthProvider::generateToken example
  • Example#5460 - OAuthProvider::is2LeggedEndpoint example
  • Example#5461 - Example OAuthProvider::timestampNonceHandler callback
  • Example#5462 - Example OAuthProvider::tokenHandler callback
  • Example#5463 - is_soap_fault example
  • Example#5464 - SOAP's standard method for error reporting is exceptions
  • Example#5465 - Specifying use of TLS 1.3 only
  • Example#5466 - SoapClient::__construct example
  • Example#5467 - Using the SOAP_SINGLE_ELEMENT_ARRAYS feature
  • Example#5468 - SoapClient::__doRequest example
  • Example#5469 - SoapClient::__getFunctions example
  • Example#5470 - SoapClient::__getLastRequest() example
  • Example#5471 - SoapClient::__getLastRequestHeaders() example
  • Example#5472 - SoapClient::__getLastResponse() example
  • Example#5473 - SoapClient::__getLastResponse() example
  • Example#5474 - SoapClient::__getTypes example
  • Example#5475 - SoapClient::__setLocation example
  • Example#5476 - SoapClient::__setSoapHeaders example
  • Example#5477 - Set Multiple Headers
  • Example#5478 - SoapClient::__soapCall example
  • Example#5479 - SoapServer::addFunction example
  • Example#5480 - SoapServer::__construct example
  • Example#5481 - SoapServer::getFunctions example
  • Example#5482 - SoapServer::handle example
  • Example#5483 - SoapServer::setPersistence example
  • Example#5484 - Some examples
  • Example#5485 - Some examples
  • Example#5486 - SoapHeader::__construct example
  • Example#5487 - SoapParam::__construct example
  • Example#5488 - SoapVar::__construct example
  • Example#5489 - Yar Server Example
  • Example#5490 - Access the server in borwser(GET request)
  • Example#5491 - Yar Client Example
  • Example#5492 - Yar Concurrent Client Example
  • Example#5493 - Yar_Server::__construct example
  • Example#5494 - Yar_Server::handle example
  • Example#5495 - Yar_Client::__call example
  • Example#5496 - Yar_Client::__construct example
  • Example#5497 - Yar_Client::setOpt example
  • Example#5498 - Yar_Concurrent_Client::call example
  • Example#5499 - Yar_Concurrent_Client::loop example
  • Example#5500 - Yar_Concurrent_Client::reset example
  • Example#5501 - Yar_Server_Exception::getType example
  • Example#5502 - Yar_Client_Exception::getType example
  • Example#5503 - - XMLRPC istemci işlevleri örneği
  • Example#5504 - XML-RPC tür örneği
  • Example#5505 - - xmlrpc_set_type örneği
  • Example#5506 - ASP'de For Each
  • Example#5507 - PHP'de foreach
  • Example#5508 - - 1. com örneği
  • Example#5509 - - 2. com örneği
  • Example#5510 - dotnet örneği
  • Example#5511 - - variant örneği
  • Example#5512 - Basic COMPersistHelper::saveToFile Usage
  • Example#5513 - - COM olay bağlayıcı örneği
  • Example#5514 - - Bir PHP betiğinin hizmet olarak çalışacağını belirtmek
  • Example#5515 - - Bir hizmeti kullanımdan kaldırmak
  • Example#5516 - - Bir hizmet olarak çalıştırmak
  • Example#5517 - - win32_create_service örneği
  • Example#5518 - - Bağımlılıkları olan win32_create_service örneği
  • Example#5519 - - Kurtarmalı win32_create_service örneği
  • Example#5520 - - win32_delete_service örneği
  • Example#5521 - - win32_start_service_ctrl_dispatcher örneği
  • Example#5522 - book.xml
  • Example#5523 - - Yeni bir DOMAttr oluşturmak
  • Example#5524 - - DOMAttr::isId örneği
  • Example#5525 - - Yeni bir DOMCdataSection örneği oluşturmak
  • Example#5526 - DOMCharacterData::after example
  • Example#5527 - DOMCharacterData::before example
  • Example#5528 - DOMCharacterData::remove example
  • Example#5529 - DOMCharacterData::replaceWith example
  • Example#5530 - - Yeni bir DOMComment oluşturmak
  • Example#5531 - DOMDocument::adoptNode example
  • Example#5532 - DOMDocument::append example
  • Example#5533 - - Yeni bir DOMDocument oluşturmak
  • Example#5534 - - Yeni bir eleman oluşturup belge elemanı yapmak
  • Example#5535 - - value olarak öncelenmemiş & içeren metin kullanmak
  • Example#5536 - - Yeni bir eleman oluşturup belge elemanı yapmak
  • Example#5537 - - İsim alanı öneki örneği
  • Example#5538 - - DOMDocument::getElementById örneği
  • Example#5539 - - Temel kullanım örneği
  • Example#5540 - - Tüm XInclude elemanlarını döndürmek
  • Example#5541 - - DOMDocument::importNode örneği
  • Example#5542 - - Bir belge oluşturmak
  • Example#5543 - - Bir HTML belge oluşturmak
  • Example#5544 - - Bir belge oluşturmak
  • Example#5545 - - Bir belge oluşturmak
  • Example#5546 - DOMDocument::prepend example
  • Example#5547 - - Kolaylık olsun diye DOMElement sınıfına yeni bir yöntem eklemek
  • Example#5548 - - Elemanların özel bir sınıf olarak döndürülmesi
  • Example#5549 - - Asıl belgeyi döndürmek
  • Example#5550 - - Ismarlama nesneler geçicidir
  • Example#5551 - DOMDocument::replaceChildren example
  • Example#5552 - - Bir DOM ağacının bir dosyaya kaydedilmesi
  • Example#5553 - - Bir HTML ağacının dizge olarak çıktılanması
  • Example#5554 - - Bir HTML ağacının bir dosyaya kaydedilmesi
  • Example#5555 - - Bir DOM ağacının dizge olarak çıktılanması
  • Example#5556 - - DTD'ye göre doğrulama örneği
  • Example#5557 - - DOMDocument::xinclude örneği
  • Example#5558 - DOMDocumentFragment::append example
  • Example#5559 - - Belgeye XML veri eklemek
  • Example#5560 - DOMDocumentFragment::prepend example
  • Example#5561 - DOMDocumentFragment::replaceChildren example
  • Example#5562 - DOMElement::after example
  • Example#5563 - DOMElement::append example
  • Example#5564 - DOMElement::before example
  • Example#5565 - - Yeni bir DOMElement oluşturmak
  • Example#5566 - DOMElement::getAttributeNames example
  • Example#5567 - DOMElement::insertAdjacentElement example
  • Example#5568 - DOMElement::insertAdjacentText example
  • Example#5569 - DOMElement::prepend example
  • Example#5570 - DOMElement::remove example
  • Example#5571 - DOMElement::replaceChildren example
  • Example#5572 - DOMElement::replaceWith example
  • Example#5573 - - Bir özniteliğin atanması
  • Example#5574 - DOMElement::toggleAttribute example
  • Example#5575 - Yeni bir DOMEntityReference oluşturmak
  • Example#5576 - - Bir DTD ekleyerek bir belge oluşturmak
  • Example#5577 - - DOM Gerçekleniminin özellikleri
  • Example#5578 - - Bir çocuk düğüm eklemek
  • Example#5579 - - Çocuk ve torun düğümler
  • Example#5580 - DOMNode::contains example
  • Example#5581 - - DOMNode::getLineNo örneği
  • Example#5582 - - DOMNode::getNodePath örneği
  • Example#5583 - DOMNode::getRootNode example
  • Example#5584 - DOMNode::isEqualNode example
  • Example#5585 - Removing a child
  • Example#5586 - - Bir tablonun tüm girdilerini çıktılamak
  • Example#5587 - DOMParentNode::replaceChildren example
  • Example#5588 - - Yeni bir DOMProcessingInstruction oluşturmak
  • Example#5589 - - Yeni bir DOMText nesnesi oluşturmak
  • Example#5590 - - Tüm İngilizce kitapların sayısını döndürmek
  • Example#5591 - - Tüm İngilizce kitapları listelemek
  • Example#5592 - book.xml
  • Example#5593 - - DOMXPath::registerPHPFunctions ve php:functionString kullanımı
  • Example#5594 - - DOMXPath::registerPHPFunctions ve php:function kullanımı
  • Example#5595 - - dom_import_simplexml ile DOM'a SimpleXML ithali
  • Example#5596 - - libxml_get_errors örneği
  • Example#5597 - - libxml_set_external_entity_loader örneği
  • Example#5598 - - libxml_set_streams_context örneği
  • Example#5599 - - libxml_use_internal_errors örneği
  • Example#5600 - - XML dizge olarak içerilecek example.php dosyası
  • Example#5601 - - <plot> içeriğinin eldesi
  • Example#5602 - - <line> içeriğinin eldesi
  • Example#5603 - - Bir elemanın birden fazla örneğine erişim
  • Example#5604 - - Özniteliklerin kullanımı
  • Example#5605 - - Elemanları ve öznitelikleri karşılaştırmak
  • Example#5606 - - İki elemanı karşılaştırmak
  • Example#5607 - - XPath kullanımı
  • Example#5608 - - Değer atamak
  • Example#5609 - - Eleman ve öznitelik eklemek
  • Example#5610 - - DOM ile çalışabilirlik
  • Example#5611 - - Hatalı bir XML dizgesinin yüklenmesi
  • Example#5612 - - Bir SimpleXMLElement nesnesine öznitelikler ve çocuk elemanlar eklemek
  • Example#5613 - - Bir SimpleXMLElement nesnesine öznitelikleriyle çocuk elemanlar eklemek
  • Example#5614 - - XML belgenin döndürülmesi
  • Example#5615 - - SimpleXMLElement::xpath sonucundan bir XML belge döndürmek
  • Example#5616 - - Bir XML dizgenin yorumlanması
  • Example#5617 - - children() dizimsisi
  • Example#5618 - - İsimalanlarının kullanımı
  • Example#5619 - - Bir dizgeden bir SimpleXMLElement nesnesi oluşturmak
  • Example#5620 - - Bir dosyadan bir SimpleXMLElement nesnesi oluşturmak
  • Example#5621 - Counting the number of children
  • Example#5622 - Return the current element
  • Example#5623 - - Belge isim alanlarının döndürülmesi
  • Example#5624 - - Çok sayıda isim alanı ile çalışma
  • Example#5625 - - XML eleman isimlerinin döndürülmesi
  • Example#5626 - - Kullanılan belge isim alanlarının döndürülmesi
  • Example#5627 - Return the sub-elements of the current element
  • Example#5628 - Check whether the current element has sub-elements
  • Example#5629 - Get the current XML tag key
  • Example#5630 - Move to the next element
  • Example#5631 - - Bir XPath ifadesinde kullanılacak isim alanı önekinin belirtilmesi
  • Example#5632 - Rewind to the first element
  • Example#5633 - Get string content
  • Example#5634 - Check whether the current element is valid
  • Example#5635 - - Xpath örneği
  • Example#5636 - - DOM ithali
  • Example#5637 - - Bir XML belgenin yorumlanması
  • Example#5638 - - Bir XML belgenin yorumlanması
  • Example#5639 - - WDDX ile tek bir değerin dizgeleştirilmesi
  • Example#5640 - - WDDX ile artırımsal paketlerin kullanımı
  • Example#5641 - - wddx_serialize_vars örneği
  • Example#5642 - - XML Eleman yapısının gösterimi
  • Example#5643 - - XML etiketlerini HTML etiketlerine eşleme
  • Example#5644 - - Harici Öğe Örneği
  • Example#5645 - xmltest.xml
  • Example#5646 - xmltest2.xml
  • Example#5647 - - xml_parse_into_struct örneği
  • Example#5648 - - moldb.xml - küçük bir moleküler bilgi veritabanı
  • Example#5649 - - parsemoldb.php - moldb.xml dosyasını bir moleküler nesne dizisine çözümler
  • Example#5650 - - Büyük bir XML belgenin bölümlerine çözümlenmesi
  • Example#5651 - - xml_set_object örneği
  • Example#5652 - - XML belgenin doğrulanması
  • Example#5653 - - Basit bir XML Belgenin Oluşturulması
  • Example#5654 - - XML isim alanları ile çalışma
  • Example#5655 - - Nesne yönelimli arayüz ile çalışma
  • Example#5656 - - Doğrudan XML çıktılamak
  • Example#5657 - - XMLWriter::setIndent ve karışık içerik
  • Example#5658 - - XMLWriter::startAttribute temel kullanım örneği
  • Example#5659 - - Alt Öğeleri ve Öznitelikleri Karıştırmak
  • Example#5660 - - xmlwriter_write_cdata temel kullanım örneği
  • Example#5661 - - collection.xml
  • Example#5662 - - collection.xsl
  • Example#5663 - fruits.xml
  • Example#5664 - fruits.xsl
  • Example#5665 - Hataları karşılaştırma ve çıktılama
  • Example#5666 - - Bir XSLTProcessor oluşturmak
  • Example#5667 - - EXSLT desteğinin sınanması
  • Example#5668 - - Bir biçembentten bir PHP işlevinin çağrılması
  • Example#5669 - - Dönüşüm öncesi sahip değişimi
  • Example#5670 - - Profil bilgisi çıktılama örneği
  • Example#5671 - - Bir DOMDocument nesnesine dönüşüm
  • Example#5672 - - Bir HTML dosyaya dönüşüm
  • Example#5673 - - Bir dizgeye dönüşüm
  • Example#5674 -
  • Example#5675 -
  • Example#5676 -
  • Example#5677 -
  • Example#5678 - - Gizli bir HTML form elemanı
  • Example#5679 - - Kullanıcı tarafından düzenlenen veri
  • Example#5680 - - Bir URL içinde
  • Example#5681 - - PHP ile Javascript üretimi
  • Example#5682 -
  • Example#5683 - Example PHP/FI Code
  • Example#5684 - - dev.site.dom alan adı için ekranda hata raporlamayı etkin kılmak
  • Example#5685 - - Korunmuş alanlar için güvenlik betikleri eklemek
  • Example#5686 - - Unix include_path
  • Example#5687 - - Windows include_path
  • Example#5688 - - include_path değişkeninde Unix ${USER} ortam değişkeni kullanımı
  • Example#5689 - - string.rot13 örneği
  • Example#5690 - - string.toupper örneği
  • Example#5691 - - string.tolower örneği
  • Example#5692 - - string.strip_tags örneği
  • Example#5693 - - convert.base64-encode ve convert.base64-decode örneği
  • Example#5694 - - convert.quoted-printable-encode ve convert.quoted-printable-decode örneği
  • Example#5695 - - convert.iconv.* örneği
  • Example#5696 - - zlib.deflate ve zlib.inflate örneği
  • Example#5697 - - Basit bir zlib.deflate örneği
  • Example#5698 - - bzip2.compress ve bzip2.decompress örneği
  • Example#5699 - - 3DES kullanarak şifreli dosya çıktılama
  • Example#5700 - - SHA256 HMAC ile AES-128 CBC kullanarak dosya şifreleme


Sürüm Bilgisi

PHP paketinde gelen eklentilerin işlevlerinde aşağıdaki değişiklikler yapıldı.

Sürüm İşlev Açıklama


HTML Yardım Dosyası (.chm) Sürümü

  • About This Edition
  • Using PHP Manual CHM Edition
    • The HTML Help Toolbar
    • The Navigation Pane
    • Keyboard Shortcuts
  • The Full Text Search
    • General searching rules
    • Searching for words or phrases
    • Defining search terms
    • Using nested expressions when searching
  • Integrating the PHP Manual


About This Edition

The Windows HTML Help Edition of the PHP Manual is aimed at developers, who want the manual at hand every time, and would like to read manual pages and user notes without waiting for a remote web page to download. This edition gives you the full content of the manual plus the user notes, with some great features provided by the viewer application by the scripts we use to generate this format and by other contributors in the form of skins.

This distribution of the PHP Manual contains many files, including the main manual file php_manual_en.chm. You can view the manual by double clicking on this file (as you already guessed). You may also see a php_manual_en.chw file in the directory, it's generated the first time you use the index tab, and it contains an index with the manual's pages.

For those interested in technical details about Microsoft HTML Help, » http://www.helpware.net/ is a great resource. For more information and positioning of Windows HTML Help in the Microsoft help formats and services history, see this » WinWriters article.


Using PHP Manual CHM Edition

İçindekiler

  • The HTML Help Toolbar
  • The Navigation Pane
  • Keyboard Shortcuts

When you double click on a CHM, a HTML Help Viewer window opens with three panes. On the left side of the window is the Navigation pane. It contains four navigational tabs: the Contents, Index, Search and Favorites tabs. On the right side of the window is the Topic pane. It displays the selected help topic, or the default help topic on startup. The help pages are all separate HTML files, your Internet Explorer displays the pages in the Topic pane. The third pane is the toolbar, which is located below the help window title bar. You can adjust the horizontal layout with dragging the vertical border between the Navigation pane and the Topic pane.

Note, that when you open the CHM the first time, it may appear in a strange position and size. From then, Windows remembers the window position, size and the last opened tab. All these including your favorites are stored in a file named hh.dat. If you move your file to another directory, all these remembered settings will be lost (including your favorites listing!). If you replace your CHM file with a new one, with the same name, this is not a problem though. The file names and path values are stored in hh.dat.


The HTML Help Toolbar

The HTML Help Toolbar contains the following icons, when you view the PHP Manual:

  • Hide/Show - Hides/shows the navigation pane.
  • Locate - Locates a topic in the contents tab (in case you reached a topic with search, index or favorites, and would like to see where it is in the table of contents tree view).
  • Back - Goes back in the history.
  • Forward - Goes forward in the history.
  • Refresh - Reloads the current page.
  • Home - Opens the startup page of the CHM.
  • Print - Opens the print dialog box.
  • Options - Provides a dropdown with more options.
Using this toolbar is really easy, many of the toolbar icons are strongly related to their Internet Explorer equivalents.


The Navigation Pane

The Navigation Pane contains four navigational tabs: the Contents, Index, Search and Favorites tabs. These all provide different methods to access a topic in the help file.

  • The contents tab reveals a tree like table of contents, where you can navigate to the desired topic by opening and closing parts of the tree. You can even access the deepest sections using this TOC. If you right click on an item here and choose "Print...", you'll have the option to print the selected topic or the selected topic and all subtopics. However printing is not the initial goal of this representation of the manual (the PDF version is suitable for printing).
  • The index tab lists a huge number of "keywords" (actually manual page titles). You can pick one, or start to type a keyword, see the list adjusting to your input, and then click on a topic, or press enter if the selected topic is the one you would like to see.
  • The search tab shows one of the most powerful features of the HTML Help Viewer, the full text search (also known as FTS). Here you can type in your search expression, optionally connecting words with AND/OR/NEAR/NOT. Before you click 'List topics', you can also set some options at the bottom. After the search results are displayed, you'll realize that manual text and user note results are separated. To sort out the two types, click on the 'Location' column header. Now from the search results list, you can pick a topic, and see it's page. The keywords you searched for are highlighted on the page.
  • The favorites tab enables you to store your most used topics in a list, easily accessible. Here you can see the list, add the current topic to it, remove one, or display a selected item. You can also specify your own title for the favorite, by typing it into the 'Current topic:' box. The user note page titles are prepended with a 'N:' string so you can distinguish them from normal manual pages in the favorites listing.


Keyboard Shortcuts

There are many keyboard shortcuts you can use to increase your productivity. Many users find it more appropriate to use these keyboard shortcuts to access topics, instead of clicking.

General Help Viewer Shortcuts
To | Press
Close the Help Viewer | ALT+F4
Display the Options menu | ALT+O
Hide or show the Navigation pane | ALT+O, and then T
Print a topic | ALT+O, and then P
Move back to the previous topic | ALT+LEFT ARROW
Move forward to the next topic (provided you have viewed it just previously) | ALT+RIGHT ARROW
Turn on or off search highlighting. | ALT+O, and then O
Return to the help file home page | ALT+O, and then H
Switch between the Navigation pane and the Topic pane | F6
Scroll through all the links in a topic or through all the options on a Navigation pane tab | TAB
Display context (right click) menu | SHIFT+F10
Contents Tab Shortcuts
To | Press
Display the Contents tab | ALT+C
Open and close a book or folder | PLUS SIGN and MINUS SIGN, or LEFT ARROW and RIGHT ARROW
Select a topic | DOWN ARROW and UP ARROW
Display the selected topic | ENTER
Index Tab Shortcuts
To | Press
Display the Index tab | ALT+N
Type a keyword to search for | ALT+W, and then type the word
Select a keyword in the list | UP ARROW and DOWN ARROW
Display the associated topic | ENTER or ALT+D
Search Tab shortcuts
To | Press
Display the Search tab | ALT+S
Type a keyword to search for | ALT+W, and then type the word
Start a search | ALT+L
Select a topic in the results list | ALT+T, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Search for a keyword in the result list of a prior search | ALT+U
Search for words similar to the keyword. For example, to find words like "running" and "runs" for the keyword "run" | ALT+M
Only search through topic titles | ALT+R
Favorites Tab Shortcuts
To | Press
Display the Favorites tab | ALT+I
Add the currently displayed topic to the Favorites list | ALT+A
Select a topic in the Favorites list | ALT+P, and then UP ARROW and DOWN ARROW
Display the selected topic | ENTER or ALT+D
Remove the selected topic from the list | ALT+R
Topic Pane Shortcuts
To | Press
Index Lookup | Select the words you would like to look up and press F1
Find on page | CTRL+F, and then adjust options
Refresh page | F5


The Full Text Search

İçindekiler

  • General searching rules
  • Searching for words or phrases
  • Defining search terms
  • Using nested expressions when searching

This edition of the PHP Manual includes an advanced full text search possibility provided by the viewer application. This enables users to search through every word in the help file to find a match. For example, if a user does a full-text search on the word "Apache", every topic that contains the word "Apache" will be listed. Advanced full-text search allows a user to search using boolean, wildcard, and nested expressions. A user can also limit the search to previous results, match similar words, or search topic titles only.

The usage of the search feature is fairly straightforward. Click on the search tab, type in the desired words and press ENTER (or click on "List Topics"). Then you'll receive a list of matches from the PHP Manual (and the notes). You can use the button with a right arrow on it to add boolean operators to your search (or you can type them in). As you see the results, you can use the column headings (Title, Location and Rank) to sort the topic list. The default order is by Rank. You can also adjust some parameters at the bottom of this tab.

The words found are highlighted on the current page in the Topic pane by default. You can turn off this feature by choosing the "Search Highlight Off" menu item in the Options menu. To can get this feature back similarly. If you are viewing a long topic, only the first 500 instances of a search word or phrase will be highlighted, due to a limitation of the viewer.


General searching rules

A basic search consists of the word or phrase you want to find. You can use wildcard expressions, nested expressions, boolean operators, similar word matches, a previous results list, or topic titles to further define your search.

The basic rules for formulating queries are as follows:

  • Searches are not case-sensitive, so you can type your search in uppercase or lowercase characters.
  • You may search for any combination of letters (a-z) and numbers (0-9). You cannot search for single letters (a, b, c, etc.) and common words, like: an, and, as, at, be, but, by, do, for, from, have, he, in, it, not, of, on, or, she, that, the, there, they, this, to, we, which, with, you.
  • Punctuation marks such as the period (.), colon (:), semicolon (;), comma (,), and hyphen (-) are ignored during a search.
  • Group the elements of your search using double quotes or parentheses to set apart each element. You cannot search for quotation marks.

Bilginize:

If you are searching for a file name with an extension, you should group the entire string in double quotes, ("filename.ext"). Otherwise, the period will break the file name into two separate terms. The default operation between terms is AND, so you will create the logical equivalent to "filename AND ext."


Searching for words or phrases

You can search for words or phrases and use wildcard expressions. Wildcard expressions allow you to search for one or more characters using a question mark or asterisk. The table below describes the results of these different kinds of searches.

Word and phrase searches
Search for | Example | Results
A single word | select | Topics that contain the word "select". (You will also find its grammatical variations, such as "selector" and "selection".)
A phrase | "new operator" or new operator | Topics that contain the literal phrase "new operator" and all its grammatical variations. Without the quotation marks, the query is equivalent to specifying "new AND operator," which will find topics containing both of the individual words, instead of the phrase.
Wildcard expressions | esc* or HT?? | Results for the first example include topics that contain the terms "ESC", "escape", "escalation", and so on. The asterisk cannot be the only character in the term. Results for the second example include topics that contain the terms "HTTP", "HTML" and so on. The question mark cannot be the only character in the term.

Bilginize:

Select the Match similar words check box to include minor grammatical variations for the phrase you search. This feature only locates variations of the word with common suffixes. For example, a search on the word "add" will find "added," but it will not find "additive". This option is independent of other options or syntax. If you do a titles-only search, variations in titles will be matched. If you use quotes (or any other query operator) any variation of the word can appear; for example, "stemmed search" will also match "stemming search".


Defining search terms

The AND, OR, NOT, and NEAR operators enable you to precisely define your search by creating a relationship between search terms. The following table shows how you can use each of these operators. If no operator is specified, AND is used. For example, the query "server cgi security" is equivalent to "server AND cgi AND security".

Search operators
Search for | Example | Results
Both terms in the same topic | http AND apache | Topics containing both the words "http" and "apache".
Either term in a topic | ming OR swflib | Topics containing either the word "ming" or the word "swflib" or both.
The first term without the second term | xml NOT expat | Topics containing the word "xml" but not the word "expat".
Both terms in the same topic, close together | database NEAR security | Topics containing the word "database" within eight words of the word "security".

Bilginize:

The |, &, and ! characters can also be used in place of OR AND and NOT respectively. This may not work if you use a very old version of the viewer.


Using nested expressions when searching

Nested expressions allow you to create complex searches for information. For example, "html AND ((smtp OR pop3) NEAR mail)" finds topics containing the word "html" along with the words "smtp" and "mail" close together, or containing "html" along with the words "pop3" and "mail" close together.

The basic rules for searching help topics using nested expressions are as follows:

  • You can use parentheses to nest expressions within a query. The expressions in parentheses are evaluated before the rest of the query.
  • If a query does not contain a nested expression, it is evaluated from left to right. For example: "mail NOT pop3 OR smtp" finds topics containing the word "mail" without the word "pop3" or topics containing the word "smtp". On the other hand, "mail NOT (pop3 OR smtp)" finds topics containing the word "mail" without either of the words "pop3" or "smtp".
  • You cannot nest expressions more than five levels deep.


Integrating the PHP Manual

Bilginize:

The information provided here is mainly aimed at IDE authors, or advanced users who would like to integrate this CHM file to their favorite IDEs or other production environment components.

There are several editors out there with support for CHM integration, but you may need to know a few things about what the CHM contains to successfully integrate the manual into your environment.

The CHM is built using XSL style sheets from XML sources. This is unique currently in the PHP Manual family, as all other versions are generated using DSSSL style sheets. This also means, that non-intentional rendering differences may come up. A special conversion script is run on the XSLT output, adding several cute features, and packing up the manual with the preferences files and skin examples.

If you never worked with CHMs, you can think of them as compressed files with OS supported access for files inside and some added search and index support. However CHMs can only be viewed using the HTML Help Viewer, you can directly access files inside them using a special URL prefix, the CHM file name and the file you request from inside. As all the help content is stored in HTML files, you can show pages of the CHM in Internet Explorer.

Assume that you placed your php_manual_en.chm to c:\phpmanual the index file in the manual (which you see the first time) can be accessed with the following URL: mk:@MSITStore:C:\phpmanual\php_manual_en.chm::/_index.html. Here mk:@MSITStore: is the special "protocol", C:\phpmanual\php_manual_en.chm is the CHM with it's full path. The /_index.html part is the path to the index file inside the CHM and :: is just what you need to put between the CHM path and this file path.

Bilginize:

All files are in the root directory of the CHM, unlike the previous CHM versions which included a language directory. Images, style sheets and other supplemental files have names starting with an underscore (like the main index shown above), to avoid name collisions.

The names of generated files follow the same rules as the online manual, except that the extension is .html and not .php. The most important is that function documentation files are named function.FUNCNAME.html where FUNCNAME is the function name, with all underscores converted to hyphens. Some examples are function.echo.html, function.mysql-close.html, function.imagecopy.html.

Using all this information, you can show a manual page for a function requested by a user. A simple example is included in the distribution, named php_quickref.hta. This is a » HTML Application to demonstrate the simple process of showing a manual page for a function. The quickRef() function defined therein does the job.

If you would like to integrate the manual into an IDE without direct support for the PHP manual (actually the underscore to hyphen conversion), you can use the included _function.html file to access a function page. This file is simply a redirector, and can be parameterized via the URL, as _function.html#mysql_close. This page will redirect you to the mysql_close function page (function.mysql-close.html) automatically. You can provide the full path of this file if your IDE supports context sensitive help, and provide the IDE specified string as the parameter. An example for this is the UltraEdit 9 intergation (see the edition's website).

The index of the manual (accessible via the index tab on the navigation pane) can also be used for integrational purposes. All the HTML pages are included in the index with their titles as index terms (including function description pages).

If you are a desktop application developer and would like to tightly integrate the CHM into your program (such as displaying the TOC tree in your IDE's help box), you can find more information at » http://www.helpware.net/, as well as links to other useful resources. The official site for HTML Help is at » http://www.microsoft.com/download/en/details.aspx?id=21138.